@aws-cdk/aws-bedrock-agentcore-alpha 2.237.1-alpha.0 → 2.239.0-alpha.0

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 (70) hide show
  1. package/.jsii +2128 -856
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +119 -1
  4. package/README.md +109 -47
  5. package/lib/gateway/gateway-base.d.ts +14 -7
  6. package/lib/gateway/gateway-base.js +13 -4
  7. package/lib/gateway/gateway.d.ts +66 -10
  8. package/lib/gateway/gateway.js +38 -3
  9. package/lib/gateway/inbound-auth/authorizer.d.ts +2 -2
  10. package/lib/gateway/inbound-auth/authorizer.js +4 -4
  11. package/lib/gateway/inbound-auth/custom-claim.d.ts +1 -1
  12. package/lib/gateway/inbound-auth/custom-claim.js +2 -2
  13. package/lib/gateway/interceptor.d.ts +3 -3
  14. package/lib/gateway/interceptor.js +2 -2
  15. package/lib/gateway/outbound-auth/api-key.d.ts +4 -2
  16. package/lib/gateway/outbound-auth/api-key.js +2 -2
  17. package/lib/gateway/outbound-auth/credential-provider.d.ts +5 -5
  18. package/lib/gateway/outbound-auth/credential-provider.js +2 -2
  19. package/lib/gateway/outbound-auth/iam-role.d.ts +3 -2
  20. package/lib/gateway/outbound-auth/iam-role.js +1 -1
  21. package/lib/gateway/outbound-auth/oauth.d.ts +4 -2
  22. package/lib/gateway/outbound-auth/oauth.js +1 -1
  23. package/lib/gateway/protocol.d.ts +1 -1
  24. package/lib/gateway/protocol.js +3 -3
  25. package/lib/gateway/targets/schema/api-schema.d.ts +3 -3
  26. package/lib/gateway/targets/schema/api-schema.js +5 -5
  27. package/lib/gateway/targets/schema/base-schema.d.ts +2 -2
  28. package/lib/gateway/targets/schema/base-schema.js +1 -1
  29. package/lib/gateway/targets/schema/tool-schema.d.ts +3 -3
  30. package/lib/gateway/targets/schema/tool-schema.js +5 -5
  31. package/lib/gateway/targets/target-base.d.ts +13 -5
  32. package/lib/gateway/targets/target-base.js +13 -2
  33. package/lib/gateway/targets/target-configuration.d.ts +251 -5
  34. package/lib/gateway/targets/target-configuration.js +344 -8
  35. package/lib/gateway/targets/target.d.ts +59 -9
  36. package/lib/gateway/targets/target.js +46 -3
  37. package/lib/memory/memory-strategy.d.ts +6 -4
  38. package/lib/memory/memory-strategy.js +2 -3
  39. package/lib/memory/memory.d.ts +12 -5
  40. package/lib/memory/memory.js +13 -17
  41. package/lib/memory/strategies/managed-strategy.d.ts +5 -4
  42. package/lib/memory/strategies/managed-strategy.js +2 -2
  43. package/lib/memory/strategies/self-managed-strategy.d.ts +4 -4
  44. package/lib/memory/strategies/self-managed-strategy.js +2 -2
  45. package/lib/memory/validation-helpers.d.ts +1 -1
  46. package/lib/memory/validation-helpers.js +1 -1
  47. package/lib/network/network-configuration.d.ts +2 -2
  48. package/lib/network/network-configuration.js +5 -5
  49. package/lib/runtime/inbound-auth/custom-claim.d.ts +1 -1
  50. package/lib/runtime/inbound-auth/custom-claim.js +2 -2
  51. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.d.ts +3 -3
  52. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +2 -2
  53. package/lib/runtime/runtime-artifact.d.ts +27 -4
  54. package/lib/runtime/runtime-artifact.js +67 -2
  55. package/lib/runtime/runtime-base.d.ts +12 -5
  56. package/lib/runtime/runtime-base.js +15 -18
  57. package/lib/runtime/runtime-endpoint-base.d.ts +9 -3
  58. package/lib/runtime/runtime-endpoint-base.js +10 -14
  59. package/lib/runtime/runtime-endpoint.d.ts +3 -2
  60. package/lib/runtime/runtime-endpoint.js +2 -2
  61. package/lib/runtime/runtime.d.ts +7 -5
  62. package/lib/runtime/runtime.js +2 -2
  63. package/lib/runtime/types.d.ts +1 -1
  64. package/lib/runtime/types.js +1 -1
  65. package/lib/tools/browser.d.ts +12 -5
  66. package/lib/tools/browser.js +14 -5
  67. package/lib/tools/code-interpreter.d.ts +11 -4
  68. package/lib/tools/code-interpreter.js +14 -5
  69. package/package.json +12 -12
  70. package/rosetta/default.ts-fixture +1 -0
@@ -18,6 +18,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
18
18
  const aws_cdk_lib_1 = require("aws-cdk-lib");
19
19
  const assets = require("aws-cdk-lib/aws-ecr-assets");
20
20
  const s3 = require("aws-cdk-lib/aws-s3");
21
+ const s3_assets = require("aws-cdk-lib/aws-s3-assets");
21
22
  const validation_helpers_1 = require("./validation-helpers");
22
23
  /**
23
24
  * Bedrock AgentCore runtime environment for code execution
@@ -47,7 +48,7 @@ var AgentCoreRuntime;
47
48
  * Provides methods to reference container images from ECR repositories or local assets.
48
49
  */
49
50
  class AgentRuntimeArtifact {
50
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AgentRuntimeArtifact", version: "2.237.1-alpha.0" };
51
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AgentRuntimeArtifact", version: "2.239.0-alpha.0" };
51
52
  /**
52
53
  * Reference an image in an ECR repository
53
54
  */
@@ -80,6 +81,22 @@ class AgentRuntimeArtifact {
80
81
  }
81
82
  return new S3Image(s3Location, runtime, entrypoint);
82
83
  }
84
+ /**
85
+ * Reference an agent runtime artifact that's constructed from local code assets uploaded to a CDK-managed S3 bucket
86
+ * @param options The options for configuring the code asset
87
+ */
88
+ static fromCodeAsset(options) {
89
+ try {
90
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_CodeAssetOptions(options);
91
+ }
92
+ catch (error) {
93
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
94
+ Error.captureStackTrace(error, this.fromCodeAsset);
95
+ }
96
+ throw error;
97
+ }
98
+ return new CodeAsset(options);
99
+ }
83
100
  /**
84
101
  * Reference an image using an ECR container URI
85
102
  *
@@ -194,6 +211,54 @@ class S3Image extends AgentRuntimeArtifact {
194
211
  };
195
212
  }
196
213
  }
214
+ class CodeAsset extends AgentRuntimeArtifact {
215
+ asset;
216
+ bound = false;
217
+ path;
218
+ runtime;
219
+ entrypoint;
220
+ options;
221
+ constructor(props) {
222
+ super();
223
+ const { path, runtime, entrypoint, ...options } = props;
224
+ this.path = path;
225
+ this.runtime = runtime;
226
+ this.entrypoint = entrypoint;
227
+ this.options = options;
228
+ }
229
+ bind(scope, runtime) {
230
+ // Create the asset if not already created
231
+ if (!this.asset) {
232
+ this.asset = new s3_assets.Asset(scope, 'AgentRuntimeArtifact', {
233
+ path: this.path,
234
+ ...this.options,
235
+ });
236
+ }
237
+ // Handle permissions (only once)
238
+ if (!this.bound && runtime.role) {
239
+ const bucket = this.asset.bucket;
240
+ // Ensure the policy is applied before the runtime resource is created
241
+ bucket.grantRead(runtime.role);
242
+ this.bound = true;
243
+ }
244
+ }
245
+ _render() {
246
+ if (!this.asset) {
247
+ throw new validation_helpers_1.ValidationError('Asset not initialized. Call bind() before _render()');
248
+ }
249
+ const s3Config = {
250
+ bucket: this.asset.bucket.bucketName,
251
+ prefix: this.asset.s3ObjectKey,
252
+ };
253
+ return {
254
+ code: {
255
+ s3: s3Config,
256
+ },
257
+ runtime: this.runtime,
258
+ entryPoint: this.entrypoint,
259
+ };
260
+ }
261
+ }
197
262
  class ImageUriArtifact extends AgentRuntimeArtifact {
198
263
  containerUri;
199
264
  constructor(containerUri) {
@@ -213,4 +278,4 @@ class ImageUriArtifact extends AgentRuntimeArtifact {
213
278
  };
214
279
  }
215
280
  }
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bnRpbWUtYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUEyQztBQUczQyxxREFBcUQ7QUFDckQseUNBQXlDO0FBR3pDLDZEQUF1RDtBQUV2RDs7O0dBR0c7QUFDSCxJQUFZLGdCQWlCWDtBQWpCRCxXQUFZLGdCQUFnQjtJQUMxQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsK0NBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFqQlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFpQjNCO0FBRUQ7OztHQUdHO0FBQ0gsTUFBc0Isb0JBQW9COztJQUN4Qzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUEyQixFQUFFLE1BQWMsUUFBUTtRQUNqRixPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUN0QztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQWlCLEVBQUUsVUFBMEMsRUFBRTtRQUNyRixPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUMzQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUF1QixFQUFFLE9BQXlCLEVBQUUsVUFBb0I7Ozs7Ozs7Ozs7UUFDM0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQ3JEO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFvQjtRQUM3QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDM0M7O0FBdkNILG9EQW1EQztBQUVELE1BQU0sUUFBUyxTQUFRLG9CQUFvQjtJQUdaO0lBQThDO0lBRm5FLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFdEIsWUFBNkIsVUFBMkIsRUFBbUIsR0FBVztRQUNwRixLQUFLLEVBQUUsQ0FBQztRQURtQixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUFtQixRQUFHLEdBQUgsR0FBRyxDQUFRO0tBRXJGO0lBRU0sSUFBSSxDQUFDLE1BQWlCLEVBQUUsT0FBZ0I7UUFDN0MsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQztLQUNGO0lBRU0sT0FBTztRQUNaLHFFQUFxRTtRQUNyRSxtREFBbUQ7UUFDbkQsT0FBTztZQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDckQsQ0FBQztLQUNWO0NBQ0Y7QUFFRCxNQUFNLFVBQVcsU0FBUSxvQkFBb0I7SUFJZDtJQUFvQztJQUh6RCxLQUFLLENBQTJCO0lBQ2hDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFdEIsWUFBNkIsU0FBaUIsRUFBbUIsVUFBMEMsRUFBRTtRQUMzRyxLQUFLLEVBQUUsQ0FBQztRQURtQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQW1CLFlBQU8sR0FBUCxPQUFPLENBQXFDO0tBRTVHO0lBRU0sSUFBSSxDQUFDLEtBQWdCLEVBQUUsT0FBZ0I7UUFDNUMsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsc0JBQXNCLEVBQUU7Z0JBQ3RFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO0tBQ0Y7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksb0NBQWUsQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFFRCxxRUFBcUU7UUFDckUsbURBQW1EO1FBQ25ELE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1NBQzNCLENBQUM7S0FDVjtDQUNGO0FBRUQsTUFBTSxPQUFRLFNBQVEsb0JBQW9CO0lBR1g7SUFBMEM7SUFBNEM7SUFGM0csS0FBSyxHQUFHLEtBQUssQ0FBQztJQUV0QixZQUE2QixVQUF1QixFQUFtQixPQUF5QixFQUFtQixVQUFvQjtRQUNySSxLQUFLLEVBQUUsQ0FBQztRQURtQixlQUFVLEdBQVYsVUFBVSxDQUFhO1FBQW1CLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQVU7S0FFdEk7SUFFTSxJQUFJLENBQUMsS0FBZ0IsRUFBRSxPQUFnQjtRQUM1QyxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFDRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FDckMsS0FBSyxFQUNMLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLGFBQWEsRUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQzNCLENBQUM7WUFDRixzRUFBc0U7WUFDdEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQztLQUNGO0lBRU0sT0FBTztRQUNaLE1BQU0sUUFBUSxHQUFRO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7WUFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztTQUNsQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2xDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLEVBQUU7Z0JBQ0osRUFBRSxFQUFFLFFBQVE7YUFDYjtZQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDckIsQ0FBQztLQUNWO0NBQ0Y7QUFFRCxNQUFNLGdCQUFpQixTQUFRLG9CQUFvQjtJQUNwQjtJQUE3QixZQUE2QixZQUFvQjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQURtQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUcvQyxvRUFBb0U7UUFDcEUsTUFBTSxVQUFVLEdBQUcsOEhBQThILENBQUM7UUFDbEosSUFBSSxDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE1BQU0sSUFBSSxvQ0FBZSxDQUN2QixxQ0FBcUMsWUFBWSxtRkFBbUYsQ0FDckksQ0FBQztRQUNKLENBQUM7S0FDRjtJQUVNLElBQUksQ0FBQyxNQUFpQixFQUFFLFFBQWlCO0tBRy9DO0lBRU0sT0FBTztRQUNaLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDekIsQ0FBQztLQUNWO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTdGFjaywgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5SdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0ICogYXMgZWNyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3InO1xuaW1wb3J0ICogYXMgYXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3ItYXNzZXRzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFJ1bnRpbWUgfSBmcm9tICcuL3J1bnRpbWUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKipcbiAqIEJlZHJvY2sgQWdlbnRDb3JlIHJ1bnRpbWUgZW52aXJvbm1lbnQgZm9yIGNvZGUgZXhlY3V0aW9uXG4gKiBBbGxvd2VkIHZhbHVlczogUFlUSE9OXzNfMTAgfCBQWVRIT05fM18xMSB8IFBZVEhPTl8zXzEyIHwgUFlUSE9OXzNfMTNcbiAqL1xuZXhwb3J0IGVudW0gQWdlbnRDb3JlUnVudGltZSB7XG4gIC8qKlxuICAgKiBQeXRob24gMy4xMCBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMCA9ICdQWVRIT05fM18xMCcsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMSBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMSA9ICdQWVRIT05fM18xMScsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMiBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMiA9ICdQWVRIT05fM18xMicsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMyBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMyA9ICdQWVRIT05fM18xMycsXG59XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgYWdlbnQgcnVudGltZSBhcnRpZmFjdHMuXG4gKiBQcm92aWRlcyBtZXRob2RzIHRvIHJlZmVyZW5jZSBjb250YWluZXIgaW1hZ2VzIGZyb20gRUNSIHJlcG9zaXRvcmllcyBvciBsb2NhbCBhc3NldHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gaW1hZ2UgaW4gYW4gRUNSIHJlcG9zaXRvcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUVjclJlcG9zaXRvcnkocmVwb3NpdG9yeTogZWNyLklSZXBvc2l0b3J5LCB0YWc6IHN0cmluZyA9ICdsYXRlc3QnKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgRWNySW1hZ2UocmVwb3NpdG9yeSwgdGFnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gYWdlbnQgcnVudGltZSBhcnRpZmFjdCB0aGF0J3MgY29uc3RydWN0ZWQgZGlyZWN0bHkgZnJvbSBzb3VyY2VzIG9uIGRpc2tcbiAgICogQHBhcmFtIGRpcmVjdG9yeSBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBEb2NrZXJmaWxlIGlzIHN0b3JlZFxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBmdXJ0aGVyIGNvbmZpZ3VyZSB0aGUgc2VsZWN0ZWQgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFzc2V0KGRpcmVjdG9yeTogc3RyaW5nLCBvcHRpb25zOiBhc3NldHMuRG9ja2VySW1hZ2VBc3NldE9wdGlvbnMgPSB7fSk6IEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgICByZXR1cm4gbmV3IEFzc2V0SW1hZ2UoZGlyZWN0b3J5LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gYWdlbnQgcnVudGltZSBhcnRpZmFjdCB0aGF0J3MgY29uc3RydWN0ZWQgZGlyZWN0bHkgZnJvbSBhbiBTMyBvYmplY3RcbiAgICogQHBhcmFtIHMzTG9jYXRpb24gVGhlIHNvdXJjZSBjb2RlIGxvY2F0aW9uIGFuZCBjb25maWd1cmF0aW9uIGRldGFpbHMuXG4gICAqIEBwYXJhbSBydW50aW1lIFRoZSBydW50aW1lIGVudmlyb25tZW50IGZvciBleGVjdXRpbmcgdGhlIGNvZGUuIEFsbG93ZWQgdmFsdWVzOiBQWVRIT05fM18xMCB8IFBZVEhPTl8zXzExIHwgUFlUSE9OXzNfMTIgfCBQWVRIT05fM18xM1xuICAgKiBAcGFyYW0gZW50cnlwb2ludCBUaGUgZW50cnkgcG9pbnQgZm9yIHRoZSBjb2RlIGV4ZWN1dGlvbiwgc3BlY2lmeWluZyB0aGUgZnVuY3Rpb24gb3IgbWV0aG9kIHRoYXQgc2hvdWxkIGJlIGludm9rZWQgd2hlbiB0aGUgY29kZSBydW5zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUzMoczNMb2NhdGlvbjogczMuTG9jYXRpb24sIHJ1bnRpbWU6IEFnZW50Q29yZVJ1bnRpbWUsIGVudHJ5cG9pbnQ6IHN0cmluZ1tdKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgUzNJbWFnZShzM0xvY2F0aW9uLCBydW50aW1lLCBlbnRyeXBvaW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gaW1hZ2UgdXNpbmcgYW4gRUNSIGNvbnRhaW5lciBVUklcbiAgICpcbiAgICogVXNlIHRoaXMgd2hlbiByZWZlcmVuY2luZyBFQ1IgaW1hZ2VzIGZyb20gQ2xvdWRGb3JtYXRpb24gcGFyYW1ldGVycyBvciBjcm9zcy1zdGFjayByZWZlcmVuY2VzLlxuICAgKlxuICAgKiAqKk5vdGU6KiogTm8gSUFNIHBlcm1pc3Npb25zIGFyZSBhdXRvbWF0aWNhbGx5IGdyYW50ZWQuIFlvdSBtdXN0IGVuc3VyZSB0aGUgcnVudGltZSBoYXNcbiAgICogRUNSIHB1bGwgcGVybWlzc2lvbnMgZm9yIHRoZSByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyVXJpIFRoZSBFQ1IgY29udGFpbmVyIGltYWdlIFVSSSAoZm9ybWF0OiB7YWNjb3VudH0uZGtyLmVjci57cmVnaW9ufS5hbWF6b25hd3MuY29tL3tyZXBvc2l0b3J5fTp7dGFnfSlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUltYWdlVXJpKGNvbnRhaW5lclVyaTogc3RyaW5nKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgSW1hZ2VVcmlBcnRpZmFjdChjb250YWluZXJVcmkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBpbWFnZSBpcyB1c2VkIGJ5IGEgUnVudGltZSB0byBoYW5kbGUgc2lkZSBlZmZlY3RzIGxpa2UgcGVybWlzc2lvbnNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGFydGlmYWN0IGNvbmZpZ3VyYXRpb24gZm9yIENsb3VkRm9ybWF0aW9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5O1xufVxuXG5jbGFzcyBFY3JJbWFnZSBleHRlbmRzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgcHJpdmF0ZSBib3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeTogZWNyLklSZXBvc2l0b3J5LCBwcml2YXRlIHJlYWRvbmx5IHRhZzogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gSGFuZGxlIHBlcm1pc3Npb25zIChvbmx5IG9uY2UpXG4gICAgaWYgKCF0aGlzLmJvdW5kICYmIHJ1bnRpbWUucm9sZSkge1xuICAgICAgdGhpcy5yZXBvc2l0b3J5LmdyYW50UHVsbChydW50aW1lLnJvbGUpO1xuICAgICAgdGhpcy5ib3VuZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5IHtcbiAgICAvLyBSZXR1cm4gY29udGFpbmVyIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgYXMgZXhwZWN0ZWQgYnkgdGhlIHJ1bnRpbWVcbiAgICAvLyBUaGUgcnVudGltZSB3cmFwcyB0aGlzIGluIGNvbnRhaW5lckNvbmZpZ3VyYXRpb25cbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyVXJpOiB0aGlzLnJlcG9zaXRvcnkucmVwb3NpdG9yeVVyaUZvclRhZyh0aGlzLnRhZyksXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cblxuY2xhc3MgQXNzZXRJbWFnZSBleHRlbmRzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgcHJpdmF0ZSBhc3NldD86IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0O1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBhc3NldHMuRG9ja2VySW1hZ2VBc3NldE9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gQ3JlYXRlIHRoZSBhc3NldCBpZiBub3QgYWxyZWFkeSBjcmVhdGVkXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0KHNjb3BlLCAnQWdlbnRSdW50aW1lQXJ0aWZhY3QnLCB7XG4gICAgICAgIGRpcmVjdG9yeTogdGhpcy5kaXJlY3RvcnksXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEdyYW50IHBlcm1pc3Npb25zIChvbmx5IG9uY2UpXG4gICAgaWYgKCF0aGlzLmJvdW5kKSB7XG4gICAgICB0aGlzLmFzc2V0LnJlcG9zaXRvcnkuZ3JhbnRQdWxsKHJ1bnRpbWUucm9sZSk7XG4gICAgICB0aGlzLmJvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignQXNzZXQgbm90IGluaXRpYWxpemVkLiBDYWxsIGJpbmQoKSBiZWZvcmUgX3JlbmRlcigpJyk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIGNvbnRhaW5lciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IGFzIGV4cGVjdGVkIGJ5IHRoZSBydW50aW1lXG4gICAgLy8gVGhlIHJ1bnRpbWUgd3JhcHMgdGhpcyBpbiBjb250YWluZXJDb25maWd1cmF0aW9uXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRhaW5lclVyaTogdGhpcy5hc3NldC5pbWFnZVVyaSxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBTM0ltYWdlIGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzM0xvY2F0aW9uOiBzMy5Mb2NhdGlvbiwgcHJpdmF0ZSByZWFkb25seSBydW50aW1lOiBBZ2VudENvcmVSdW50aW1lLCBwcml2YXRlIHJlYWRvbmx5IGVudHJ5cG9pbnQ6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBIYW5kbGUgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQgJiYgcnVudGltZS5yb2xlKSB7XG4gICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZCh0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSkpIHtcbiAgICAgICAgU3RhY2sub2Yoc2NvcGUpLnJlc29sdmUodGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUpO1xuICAgICAgfVxuICAgICAgY29uc3QgYnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXROYW1lKFxuICAgICAgICBzY29wZSxcbiAgICAgICAgYCR7dGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWV9Q29kZUFyY2hpdmVgLFxuICAgICAgICB0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgICk7XG4gICAgICAvLyBFbnN1cmUgdGhlIHBvbGljeSBpcyBhcHBsaWVkIGJlZm9yZSB0aGUgYnJvd3NlciByZXNvdXJjZSBpcyBjcmVhdGVkXG4gICAgICBidWNrZXQuZ3JhbnRSZWFkKHJ1bnRpbWUucm9sZSk7XG4gICAgICB0aGlzLmJvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIGNvbnN0IHMzQ29uZmlnOiBhbnkgPSB7XG4gICAgICBidWNrZXQ6IHRoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lLFxuICAgICAgcHJlZml4OiB0aGlzLnMzTG9jYXRpb24ub2JqZWN0S2V5LFxuICAgIH07XG4gICAgaWYgKHRoaXMuczNMb2NhdGlvbi5vYmplY3RWZXJzaW9uKSB7XG4gICAgICBzM0NvbmZpZy52ZXJzaW9uSWQgPSB0aGlzLnMzTG9jYXRpb24ub2JqZWN0VmVyc2lvbjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHtcbiAgICAgICAgczM6IHMzQ29uZmlnLFxuICAgICAgfSxcbiAgICAgIHJ1bnRpbWU6IHRoaXMucnVudGltZSxcbiAgICAgIGVudHJ5UG9pbnQ6IHRoaXMuZW50cnlwb2ludCxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBJbWFnZVVyaUFydGlmYWN0IGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lclVyaTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIFZhbGlkYXRlIEVDUiBjb250YWluZXIgVVJJIGZvcm1hdCBwZXIgQ2xvdWRGb3JtYXRpb24gcmVxdWlyZW1lbnRzXG4gICAgY29uc3QgZWNyUGF0dGVybiA9IC9eXFxkezEyfVxcLmRrclxcLmVjclxcLihbYS16MC05LV0rKVxcLmFtYXpvbmF3c1xcLmNvbVxcLygoPzpbYS16MC05XSsoPzpbLl8tXVthLXowLTldKykqXFwvKSpbYS16MC05XSsoPzpbLl8tXVthLXowLTldKykqKShbOkBdXFxTKykkLztcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChjb250YWluZXJVcmkpICYmICFlY3JQYXR0ZXJuLnRlc3QoY29udGFpbmVyVXJpKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgRUNSIGNvbnRhaW5lciBVUkkgZm9ybWF0OiAke2NvbnRhaW5lclVyaX0uIE11c3QgYmUgYW4gRUNSIFVSSToge2FjY291bnR9LmRrci5lY3Iue3JlZ2lvbn0uYW1hem9uYXdzLmNvbS97cmVwb3NpdG9yeX06e3RhZ31gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCwgX3J1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBObyBwZXJtaXNzaW9ucyBhcmUgZ3JhbnRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdXNpbmcgYSBkaXJlY3QgVVJJLlxuICAgIC8vIFVzZXJzIG11c3QgbWFuYWdlIEVDUiBwdWxsIHBlcm1pc3Npb25zIHNlcGFyYXRlbHkuXG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250YWluZXJVcmk6IHRoaXMuY29udGFpbmVyVXJpLFxuICAgIH0gYXMgYW55O1xuICB9XG59XG4iXX0=
281
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bnRpbWUtYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUEyQztBQUczQyxxREFBcUQ7QUFDckQseUNBQXlDO0FBQ3pDLHVEQUF1RDtBQUd2RCw2REFBdUQ7QUFFdkQ7OztHQUdHO0FBQ0gsSUFBWSxnQkFpQlg7QUFqQkQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsK0NBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBakJXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBaUIzQjtBQXNCRDs7O0dBR0c7QUFDSCxNQUFzQixvQkFBb0I7O0lBQ3hDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQTJCLEVBQUUsTUFBYyxRQUFRO1FBQ2pGLE9BQU8sSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3RDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBaUIsRUFBRSxVQUEwQyxFQUFFO1FBQ3JGLE9BQU8sSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQzNDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQXVCLEVBQUUsT0FBeUIsRUFBRSxVQUFvQjs7Ozs7Ozs7OztRQUMzRixPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDckQ7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQXlCOzs7Ozs7Ozs7O1FBQ25ELE9BQU8sSUFBSSxTQUFTLENBQUMs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R0FBUTtZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1NBQy9CLENBQUM7UUFFRixPQUFPO1lBQ0wsSUFBSSxFQUFFO2dCQUNKLEVBQUUsRUFBRSxRQUFRO2FBQ2I7WUFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQ3JCLENBQUM7S0FDVjtDQUNGO0FBRUQsTUFBTSxnQkFBaUIsU0FBUSxvQkFBb0I7SUFDcEI7SUFBN0IsWUFBNkIsWUFBb0I7UUFDL0MsS0FBSyxFQUFFLENBQUM7UUFEbUIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFHL0Msb0VBQW9FO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLDhIQUE4SCxDQUFDO1FBQ2xKLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN4RSxNQUFNLElBQUksb0NBQWUsQ0FDdkIscUNBQXFDLFlBQVksbUZBQW1GLENBQ3JJLENBQUM7UUFDSixDQUFDO0tBQ0Y7SUFFTSxJQUFJLENBQUMsTUFBaUIsRUFBRSxRQUFpQjtLQUcvQztJQUVNLE9BQU87UUFDWixPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ3pCLENBQUM7S0FDVjtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU3RhY2ssIFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBDZm5SdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0IHR5cGUgKiBhcyBlY3IgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcic7XG5pbXBvcnQgKiBhcyBhc3NldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHMzX2Fzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IFJ1bnRpbWUgfSBmcm9tICcuL3J1bnRpbWUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKipcbiAqIEJlZHJvY2sgQWdlbnRDb3JlIHJ1bnRpbWUgZW52aXJvbm1lbnQgZm9yIGNvZGUgZXhlY3V0aW9uXG4gKiBBbGxvd2VkIHZhbHVlczogUFlUSE9OXzNfMTAgfCBQWVRIT05fM18xMSB8IFBZVEhPTl8zXzEyIHwgUFlUSE9OXzNfMTNcbiAqL1xuZXhwb3J0IGVudW0gQWdlbnRDb3JlUnVudGltZSB7XG4gIC8qKlxuICAgKiBQeXRob24gMy4xMCBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMCA9ICdQWVRIT05fM18xMCcsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMSBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMSA9ICdQWVRIT05fM18xMScsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMiBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMiA9ICdQWVRIT05fM18xMicsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMyBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMyA9ICdQWVRIT05fM18xMycsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYW4gUzMgY29kZSBhc3NldCBmcm9tIGxvY2FsIGZpbGVzIGZvciBhZ2VudCBydW50aW1lIGFydGlmYWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUFzc2V0T3B0aW9ucyBleHRlbmRzIHMzX2Fzc2V0cy5Bc3NldE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGZpbGUgcGF0aCB0byB0aGUgY29kZSBhc3NldFxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcnVudGltZSBlbnZpcm9ubWVudCBmb3IgZXhlY3V0aW5nIHRoZSBjb2RlXG4gICAqL1xuICByZWFkb25seSBydW50aW1lOiBBZ2VudENvcmVSdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgZW50cnkgcG9pbnQgZm9yIHRoZSBjb2RlIGV4ZWN1dGlvbiwgc3BlY2lmeWluZyB0aGUgZnVuY3Rpb24gb3IgbWV0aG9kIHRoYXQgc2hvdWxkIGJlIGludm9rZWQgd2hlbiB0aGUgY29kZSBydW5zXG4gICAqL1xuICByZWFkb25seSBlbnRyeXBvaW50OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBiYXNlIGNsYXNzIGZvciBhZ2VudCBydW50aW1lIGFydGlmYWN0cy5cbiAqIFByb3ZpZGVzIG1ldGhvZHMgdG8gcmVmZXJlbmNlIGNvbnRhaW5lciBpbWFnZXMgZnJvbSBFQ1IgcmVwb3NpdG9yaWVzIG9yIGxvY2FsIGFzc2V0cy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBpbWFnZSBpbiBhbiBFQ1IgcmVwb3NpdG9yeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRWNyUmVwb3NpdG9yeShyZXBvc2l0b3J5OiBlY3IuSVJlcG9zaXRvcnksIHRhZzogc3RyaW5nID0gJ2xhdGVzdCcpOiBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gICAgcmV0dXJuIG5ldyBFY3JJbWFnZShyZXBvc2l0b3J5LCB0YWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBhZ2VudCBydW50aW1lIGFydGlmYWN0IHRoYXQncyBjb25zdHJ1Y3RlZCBkaXJlY3RseSBmcm9tIHNvdXJjZXMgb24gZGlza1xuICAgKiBAcGFyYW0gZGlyZWN0b3J5IFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIERvY2tlcmZpbGUgaXMgc3RvcmVkXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHRvIGZ1cnRoZXIgY29uZmlndXJlIHRoZSBzZWxlY3RlZCBpbWFnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQXNzZXQoZGlyZWN0b3J5OiBzdHJpbmcsIG9wdGlvbnM6IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0T3B0aW9ucyA9IHt9KTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgQXNzZXRJbWFnZShkaXJlY3RvcnksIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBhZ2VudCBydW50aW1lIGFydGlmYWN0IHRoYXQncyBjb25zdHJ1Y3RlZCBkaXJlY3RseSBmcm9tIGFuIFMzIG9iamVjdFxuICAgKiBAcGFyYW0gczNMb2NhdGlvbiBUaGUgc291cmNlIGNvZGUgbG9jYXRpb24gYW5kIGNvbmZpZ3VyYXRpb24gZGV0YWlscy5cbiAgICogQHBhcmFtIHJ1bnRpbWUgVGhlIHJ1bnRpbWUgZW52aXJvbm1lbnQgZm9yIGV4ZWN1dGluZyB0aGUgY29kZS4gQWxsb3dlZCB2YWx1ZXM6IFBZVEhPTl8zXzEwIHwgUFlUSE9OXzNfMTEgfCBQWVRIT05fM18xMiB8IFBZVEhPTl8zXzEzXG4gICAqIEBwYXJhbSBlbnRyeXBvaW50IFRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIGNvZGUgZXhlY3V0aW9uLCBzcGVjaWZ5aW5nIHRoZSBmdW5jdGlvbiBvciBtZXRob2QgdGhhdCBzaG91bGQgYmUgaW52b2tlZCB3aGVuIHRoZSBjb2RlIHJ1bnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TMyhzM0xvY2F0aW9uOiBzMy5Mb2NhdGlvbiwgcnVudGltZTogQWdlbnRDb3JlUnVudGltZSwgZW50cnlwb2ludDogc3RyaW5nW10pOiBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gICAgcmV0dXJuIG5ldyBTM0ltYWdlKHMzTG9jYXRpb24sIHJ1bnRpbWUsIGVudHJ5cG9pbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBhZ2VudCBydW50aW1lIGFydGlmYWN0IHRoYXQncyBjb25zdHJ1Y3RlZCBmcm9tIGxvY2FsIGNvZGUgYXNzZXRzIHVwbG9hZGVkIHRvIGEgQ0RLLW1hbmFnZWQgUzMgYnVja2V0XG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgY29kZSBhc3NldFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29kZUFzc2V0KG9wdGlvbnM6IENvZGVBc3NldE9wdGlvbnMpOiBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gICAgcmV0dXJuIG5ldyBDb2RlQXNzZXQob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmVmZXJlbmNlIGFuIGltYWdlIHVzaW5nIGFuIEVDUiBjb250YWluZXIgVVJJXG4gICAqXG4gICAqIFVzZSB0aGlzIHdoZW4gcmVmZXJlbmNpbmcgRUNSIGltYWdlcyBmcm9tIENsb3VkRm9ybWF0aW9uIHBhcmFtZXRlcnMgb3IgY3Jvc3Mtc3RhY2sgcmVmZXJlbmNlcy5cbiAgICpcbiAgICogKipOb3RlOioqIE5vIElBTSBwZXJtaXNzaW9ucyBhcmUgYXV0b21hdGljYWxseSBncmFudGVkLiBZb3UgbXVzdCBlbnN1cmUgdGhlIHJ1bnRpbWUgaGFzXG4gICAqIEVDUiBwdWxsIHBlcm1pc3Npb25zIGZvciB0aGUgcmVwb3NpdG9yeS5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRhaW5lclVyaSBUaGUgRUNSIGNvbnRhaW5lciBpbWFnZSBVUkkgKGZvcm1hdDoge2FjY291bnR9LmRrci5lY3Iue3JlZ2lvbn0uYW1hem9uYXdzLmNvbS97cmVwb3NpdG9yeX06e3RhZ30pXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbWFnZVVyaShjb250YWluZXJVcmk6IHN0cmluZyk6IEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgICByZXR1cm4gbmV3IEltYWdlVXJpQXJ0aWZhY3QoY29udGFpbmVyVXJpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgaW1hZ2UgaXMgdXNlZCBieSBhIFJ1bnRpbWUgdG8gaGFuZGxlIHNpZGUgZWZmZWN0cyBsaWtlIHBlcm1pc3Npb25zXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYmluZChzY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZDtcblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBhcnRpZmFjdCBjb25maWd1cmF0aW9uIGZvciBDbG91ZEZvcm1hdGlvblxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eTtcbn1cblxuY2xhc3MgRWNySW1hZ2UgZXh0ZW5kcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIHByaXZhdGUgYm91bmQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlcG9zaXRvcnk6IGVjci5JUmVwb3NpdG9yeSwgcHJpdmF0ZSByZWFkb25seSB0YWc6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCwgcnVudGltZTogUnVudGltZSk6IHZvaWQge1xuICAgIC8vIEhhbmRsZSBwZXJtaXNzaW9ucyAob25seSBvbmNlKVxuICAgIGlmICghdGhpcy5ib3VuZCAmJiBydW50aW1lLnJvbGUpIHtcbiAgICAgIHRoaXMucmVwb3NpdG9yeS5ncmFudFB1bGwocnVudGltZS5yb2xlKTtcbiAgICAgIHRoaXMuYm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eSB7XG4gICAgLy8gUmV0dXJuIGNvbnRhaW5lciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IGFzIGV4cGVjdGVkIGJ5IHRoZSBydW50aW1lXG4gICAgLy8gVGhlIHJ1bnRpbWUgd3JhcHMgdGhpcyBpbiBjb250YWluZXJDb25maWd1cmF0aW9uXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRhaW5lclVyaTogdGhpcy5yZXBvc2l0b3J5LnJlcG9zaXRvcnlVcmlGb3JUYWcodGhpcy50YWcpLFxuICAgIH0gYXMgYW55O1xuICB9XG59XG5cbmNsYXNzIEFzc2V0SW1hZ2UgZXh0ZW5kcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIHByaXZhdGUgYXNzZXQ/OiBhc3NldHMuRG9ja2VySW1hZ2VBc3NldDtcbiAgcHJpdmF0ZSBib3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0b3J5OiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogYXNzZXRzLkRvY2tlckltYWdlQXNzZXRPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCwgcnVudGltZTogUnVudGltZSk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSB0aGUgYXNzZXQgaWYgbm90IGFscmVhZHkgY3JlYXRlZFxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldCA9IG5ldyBhc3NldHMuRG9ja2VySW1hZ2VBc3NldChzY29wZSwgJ0FnZW50UnVudGltZUFydGlmYWN0Jywge1xuICAgICAgICBkaXJlY3Rvcnk6IHRoaXMuZGlyZWN0b3J5LFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBHcmFudCBwZXJtaXNzaW9ucyAob25seSBvbmNlKVxuICAgIGlmICghdGhpcy5ib3VuZCkge1xuICAgICAgdGhpcy5hc3NldC5yZXBvc2l0b3J5LmdyYW50UHVsbChydW50aW1lLnJvbGUpO1xuICAgICAgdGhpcy5ib3VuZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5IHtcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ0Fzc2V0IG5vdCBpbml0aWFsaXplZC4gQ2FsbCBiaW5kKCkgYmVmb3JlIF9yZW5kZXIoKScpO1xuICAgIH1cblxuICAgIC8vIFJldHVybiBjb250YWluZXIgY29uZmlndXJhdGlvbiBkaXJlY3RseSBhcyBleHBlY3RlZCBieSB0aGUgcnVudGltZVxuICAgIC8vIFRoZSBydW50aW1lIHdyYXBzIHRoaXMgaW4gY29udGFpbmVyQ29uZmlndXJhdGlvblxuICAgIHJldHVybiB7XG4gICAgICBjb250YWluZXJVcmk6IHRoaXMuYXNzZXQuaW1hZ2VVcmksXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cblxuY2xhc3MgUzNJbWFnZSBleHRlbmRzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgcHJpdmF0ZSBib3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgczNMb2NhdGlvbjogczMuTG9jYXRpb24sIHByaXZhdGUgcmVhZG9ubHkgcnVudGltZTogQWdlbnRDb3JlUnVudGltZSwgcHJpdmF0ZSByZWFkb25seSBlbnRyeXBvaW50OiBzdHJpbmdbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gSGFuZGxlIHBlcm1pc3Npb25zIChvbmx5IG9uY2UpXG4gICAgaWYgKCF0aGlzLmJvdW5kICYmIHJ1bnRpbWUucm9sZSkge1xuICAgICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQodGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUpKSB7XG4gICAgICAgIFN0YWNrLm9mKHNjb3BlKS5yZXNvbHZlKHRoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJ1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0TmFtZShcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIGAke3RoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lfUNvZGVBcmNoaXZlYCxcbiAgICAgICAgdGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUsXG4gICAgICApO1xuICAgICAgLy8gRW5zdXJlIHRoZSBwb2xpY3kgaXMgYXBwbGllZCBiZWZvcmUgdGhlIGJyb3dzZXIgcmVzb3VyY2UgaXMgY3JlYXRlZFxuICAgICAgYnVja2V0LmdyYW50UmVhZChydW50aW1lLnJvbGUpO1xuICAgICAgdGhpcy5ib3VuZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5IHtcbiAgICBjb25zdCBzM0NvbmZpZzogYW55ID0ge1xuICAgICAgYnVja2V0OiB0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgIHByZWZpeDogdGhpcy5zM0xvY2F0aW9uLm9iamVjdEtleSxcbiAgICB9O1xuICAgIGlmICh0aGlzLnMzTG9jYXRpb24ub2JqZWN0VmVyc2lvbikge1xuICAgICAgczNDb25maWcudmVyc2lvbklkID0gdGhpcy5zM0xvY2F0aW9uLm9iamVjdFZlcnNpb247XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiB7XG4gICAgICAgIHMzOiBzM0NvbmZpZyxcbiAgICAgIH0sXG4gICAgICBydW50aW1lOiB0aGlzLnJ1bnRpbWUsXG4gICAgICBlbnRyeVBvaW50OiB0aGlzLmVudHJ5cG9pbnQsXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cblxuY2xhc3MgQ29kZUFzc2V0IGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGFzc2V0PzogczNfYXNzZXRzLkFzc2V0O1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHJ1bnRpbWU6IEFnZW50Q29yZVJ1bnRpbWU7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nW107XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogczNfYXNzZXRzLkFzc2V0T3B0aW9ucztcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQ29kZUFzc2V0T3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBwYXRoLCBydW50aW1lLCBlbnRyeXBvaW50LCAuLi5vcHRpb25zIH0gPSBwcm9wcztcbiAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgIHRoaXMucnVudGltZSA9IHJ1bnRpbWU7XG4gICAgdGhpcy5lbnRyeXBvaW50ID0gZW50cnlwb2ludDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCwgcnVudGltZTogUnVudGltZSk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSB0aGUgYXNzZXQgaWYgbm90IGFscmVhZHkgY3JlYXRlZFxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldCA9IG5ldyBzM19hc3NldHMuQXNzZXQoc2NvcGUsICdBZ2VudFJ1bnRpbWVBcnRpZmFjdCcsIHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQgJiYgcnVudGltZS5yb2xlKSB7XG4gICAgICBjb25zdCBidWNrZXQgPSB0aGlzLmFzc2V0LmJ1Y2tldDtcbiAgICAgIC8vIEVuc3VyZSB0aGUgcG9saWN5IGlzIGFwcGxpZWQgYmVmb3JlIHRoZSBydW50aW1lIHJlc291cmNlIGlzIGNyZWF0ZWRcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQocnVudGltZS5yb2xlKTtcbiAgICAgIHRoaXMuYm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eSB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdBc3NldCBub3QgaW5pdGlhbGl6ZWQuIENhbGwgYmluZCgpIGJlZm9yZSBfcmVuZGVyKCknKTtcbiAgICB9XG5cbiAgICBjb25zdCBzM0NvbmZpZzogYW55ID0ge1xuICAgICAgYnVja2V0OiB0aGlzLmFzc2V0LmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgcHJlZml4OiB0aGlzLmFzc2V0LnMzT2JqZWN0S2V5LFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29kZToge1xuICAgICAgICBzMzogczNDb25maWcsXG4gICAgICB9LFxuICAgICAgcnVudGltZTogdGhpcy5ydW50aW1lLFxuICAgICAgZW50cnlQb2ludDogdGhpcy5lbnRyeXBvaW50LFxuICAgIH0gYXMgYW55O1xuICB9XG59XG5cbmNsYXNzIEltYWdlVXJpQXJ0aWZhY3QgZXh0ZW5kcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyVXJpOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gVmFsaWRhdGUgRUNSIGNvbnRhaW5lciBVUkkgZm9ybWF0IHBlciBDbG91ZEZvcm1hdGlvbiByZXF1aXJlbWVudHNcbiAgICBjb25zdCBlY3JQYXR0ZXJuID0gL15cXGR7MTJ9XFwuZGtyXFwuZWNyXFwuKFthLXowLTktXSspXFwuYW1hem9uYXdzXFwuY29tXFwvKCg/OlthLXowLTldKyg/OlsuXy1dW2EtejAtOV0rKSpcXC8pKlthLXowLTldKyg/OlsuXy1dW2EtejAtOV0rKSopKFs6QF1cXFMrKSQvO1xuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNvbnRhaW5lclVyaSkgJiYgIWVjclBhdHRlcm4udGVzdChjb250YWluZXJVcmkpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgSW52YWxpZCBFQ1IgY29udGFpbmVyIFVSSSBmb3JtYXQ6ICR7Y29udGFpbmVyVXJpfS4gTXVzdCBiZSBhbiBFQ1IgVVJJOiB7YWNjb3VudH0uZGtyLmVjci57cmVnaW9ufS5hbWF6b25hd3MuY29tL3tyZXBvc2l0b3J5fTp7dGFnfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogQ29uc3RydWN0LCBfcnVudGltZTogUnVudGltZSk6IHZvaWQge1xuICAgIC8vIE5vIHBlcm1pc3Npb25zIGFyZSBncmFudGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB1c2luZyBhIGRpcmVjdCBVUkkuXG4gICAgLy8gVXNlcnMgbXVzdCBtYW5hZ2UgRUNSIHB1bGwgcGVybWlzc2lvbnMgc2VwYXJhdGVseS5cbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRhaW5lclVyaTogdGhpcy5jb250YWluZXJVcmksXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cbiJdfQ==
@@ -10,18 +10,21 @@
10
10
  * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
11
  * and limitations under the License.
12
12
  */
13
- import { IResource, Resource, ResourceProps } from 'aws-cdk-lib';
14
- import { DimensionsMap, Metric, MetricOptions } from 'aws-cdk-lib/aws-cloudwatch';
15
- import * as ec2 from 'aws-cdk-lib/aws-ec2';
13
+ import type { IResource, ResourceProps } from 'aws-cdk-lib';
14
+ import { Resource } from 'aws-cdk-lib';
15
+ import type { IRuntimeRef, RuntimeReference } from 'aws-cdk-lib/aws-bedrockagentcore';
16
+ import type { DimensionsMap, MetricOptions } from 'aws-cdk-lib/aws-cloudwatch';
17
+ import { Metric } from 'aws-cdk-lib/aws-cloudwatch';
18
+ import type * as ec2 from 'aws-cdk-lib/aws-ec2';
16
19
  import * as iam from 'aws-cdk-lib/aws-iam';
17
- import { Construct } from 'constructs';
20
+ import type { Construct } from 'constructs';
18
21
  /******************************************************************************
19
22
  * Interface
20
23
  *****************************************************************************/
21
24
  /**
22
25
  * Interface for Agent Runtime resources
23
26
  */
24
- export interface IBedrockAgentRuntime extends IResource, iam.IGrantable, ec2.IConnectable {
27
+ export interface IBedrockAgentRuntime extends IResource, iam.IGrantable, ec2.IConnectable, IRuntimeRef {
25
28
  /**
26
29
  * The ARN of the agent runtime resource
27
30
  * - Format `arn:${Partition}:bedrock-agentcore:${Region}:${Account}:runtime/${RuntimeId}`
@@ -157,6 +160,10 @@ export declare abstract class RuntimeBase extends Resource implements IBedrockAg
157
160
  abstract readonly createdAt?: string;
158
161
  abstract readonly lastUpdatedAt?: string;
159
162
  abstract readonly grantPrincipal: iam.IPrincipal;
163
+ /**
164
+ * A reference to a Runtime resource.
165
+ */
166
+ get runtimeRef(): RuntimeReference;
160
167
  /**
161
168
  * An accessor for the Connections object that will fail if this Runtime does not have a VPC
162
169
  * configured.
@@ -2,18 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RuntimeBase = void 0;
4
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
- /**
6
- * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
9
- * with the License. A copy of the License is located at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
14
- * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
15
- * and limitations under the License.
16
- */
17
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
18
6
  const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
19
7
  const iam = require("aws-cdk-lib/aws-iam");
@@ -26,7 +14,16 @@ const validation_helpers_1 = require("./validation-helpers");
26
14
  * Base class for Agent Runtime
27
15
  */
28
16
  class RuntimeBase extends aws_cdk_lib_1.Resource {
29
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeBase", version: "2.237.1-alpha.0" };
17
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeBase", version: "2.239.0-alpha.0" };
18
+ /**
19
+ * A reference to a Runtime resource.
20
+ */
21
+ get runtimeRef() {
22
+ return {
23
+ agentRuntimeId: this.agentRuntimeId,
24
+ agentRuntimeArn: this.agentRuntimeArn,
25
+ };
26
+ }
30
27
  /**
31
28
  * An accessor for the Connections object that will fail if this Runtime does not have a VPC
32
29
  * configured.
@@ -84,7 +81,7 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
84
81
  return iam.Grant.addToPrincipal({
85
82
  grantee,
86
83
  actions: perms_1.RUNTIME_INVOKE_PERMS,
87
- resourceArns: [this.agentRuntimeArn, `${this.agentRuntimeArn}/*`], // * is needed because it invoke the endpoint as subresource
84
+ resourceArns: [this.runtimeRef.agentRuntimeArn, `${this.runtimeRef.agentRuntimeArn}/*`], // * is needed because it invoke the endpoint as subresource
88
85
  });
89
86
  }
90
87
  /**
@@ -100,7 +97,7 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
100
97
  return iam.Grant.addToPrincipal({
101
98
  grantee,
102
99
  actions: perms_1.RUNTIME_INVOKE_USER_PERMS,
103
- resourceArns: [this.agentRuntimeArn, `${this.agentRuntimeArn}/*`],
100
+ resourceArns: [this.runtimeRef.agentRuntimeArn, `${this.runtimeRef.agentRuntimeArn}/*`],
104
101
  });
105
102
  }
106
103
  /**
@@ -115,7 +112,7 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
115
112
  return iam.Grant.addToPrincipal({
116
113
  grantee,
117
114
  actions: [...perms_1.RUNTIME_INVOKE_PERMS, ...perms_1.RUNTIME_INVOKE_USER_PERMS],
118
- resourceArns: [this.agentRuntimeArn, `${this.agentRuntimeArn}/*`],
115
+ resourceArns: [this.runtimeRef.agentRuntimeArn, `${this.runtimeRef.agentRuntimeArn}/*`],
119
116
  });
120
117
  }
121
118
  // ------------------------------------------------------
@@ -131,7 +128,7 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
131
128
  const metricProps = {
132
129
  namespace: 'AWS/Bedrock-AgentCore',
133
130
  metricName,
134
- dimensionsMap: { ...dimensions, Resource: this.agentRuntimeArn },
131
+ dimensionsMap: { ...dimensions, Resource: this.runtimeRef.agentRuntimeArn },
135
132
  ...props,
136
133
  };
137
134
  return this.configureMetric(metricProps);
@@ -205,4 +202,4 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
205
202
  }
206
203
  }
207
204
  exports.RuntimeBase = RuntimeBase;
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVudGltZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUFpRTtBQUNqRSwrREFNb0M7QUFFcEMsMkNBQTJDO0FBRTNDLG1DQUEwRTtBQUMxRSw2REFBdUQ7QUErSnZEOzsrRUFFK0U7QUFFL0U7O0dBRUc7QUFDSCxNQUFzQixXQUFZLFNBQVEsc0JBQVE7O0lBWWhEOzs7T0FHRztJQUNILElBQVcsV0FBVztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztLQUMxQjtJQUVEOzs7O09BSUc7SUFDTyxZQUFZLENBQThCO0lBRXBELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBdUIsRUFBRTtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN6QjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLE9BQWlCLEVBQUUsU0FBbUI7UUFDakQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbEIsT0FBTztZQUNQLFlBQVksRUFBRSxTQUFTO1NBQ3hCLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7O09BS0c7SUFDSSxlQUFlLENBQUMsU0FBOEI7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLE9BQXVCO1FBQy9DLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTztZQUNQLE9BQU8sRUFBRSw0QkFBb0I7WUFDN0IsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxFQUFFLDREQUE0RDtTQUNoSSxDQUFDLENBQUM7S0FDSjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0kseUJBQXlCLENBQUMsT0FBdUI7UUFDdEQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUM5QixPQUFPO1lBQ1AsT0FBTyxFQUFFLGlDQUF5QjtZQUNsQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDO1NBQ2xFLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFdBQVcsQ0FBQyxPQUF1QjtRQUN4QyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzlCLE9BQU87WUFDUCxPQUFPLEVBQUUsQ0FBQyxHQUFHLDRCQUFvQixFQUFFLEdBQUcsaUNBQXlCLENBQUM7WUFDaEUsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQztTQUNsRSxDQUFDLENBQUM7S0FDSjtJQUVELHlEQUF5RDtJQUN6RCxVQUFVO0lBQ1YseURBQXlEO0lBQ3pEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFVBQWtCLEVBQUUsVUFBeUIsRUFBRSxLQUFxQjtRQUNoRixNQUFNLFdBQVcsR0FBZ0I7WUFDL0IsU0FBUyxFQUFFLHVCQUF1QjtZQUNsQyxVQUFVO1lBQ1YsYUFBYSxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDaEUsR0FBRyxLQUFLO1NBQ1QsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCLENBQUMsS0FBcUI7UUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQzNFO0lBRUQ7O09BRUc7SUFDSSwyQkFBMkIsQ0FBQyxLQUFxQjtRQUN0RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHNCQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUM1RjtJQUVEOztPQUVHO0lBQ0ksZUFBZSxDQUFDLEtBQXFCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHNCQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN6RTtJQUVEOztPQUVHO0lBQ0ksa0JBQWtCLENBQUMsS0FBcUI7UUFDN0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQzVFO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxLQUFxQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxzQkFBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDMUU7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxLQUFxQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxzQkFBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDM0U7SUFFRDs7T0FFRztJQUNJLGlCQUFpQixDQUFDLEtBQXFCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHNCQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUMzRTtJQUVEOztPQUVHO0lBQ0ksa0JBQWtCLENBQUMsS0FBcUI7UUFDN0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQzVFO0lBRUQ7O09BRUc7SUFDSSx3QkFBd0IsQ0FBQyxLQUFxQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHNCQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN6RjtJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLEtBQWtCO1FBQ3hDLE9BQU8sSUFBSSx1QkFBTSxDQUFDO1lBQ2hCLEdBQUcsS0FBSztZQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87U0FDOUMsQ0FBQyxDQUFDO0tBQ0o7O0FBN01ILGtDQThNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IElSZXNvdXJjZSwgUmVzb3VyY2UsIFJlc291cmNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBEaW1lbnNpb25zTWFwLFxuICBNZXRyaWMsXG4gIE1ldHJpY09wdGlvbnMsXG4gIE1ldHJpY1Byb3BzLFxuICBTdGF0cyxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSVU5USU1FX0lOVk9LRV9QRVJNUywgUlVOVElNRV9JTlZPS0VfVVNFUl9QRVJNUyB9IGZyb20gJy4vcGVybXMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBBZ2VudCBSdW50aW1lIHJlc291cmNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElCZWRyb2NrQWdlbnRSdW50aW1lIGV4dGVuZHMgSVJlc291cmNlLCBpYW0uSUdyYW50YWJsZSwgZWMyLklDb25uZWN0YWJsZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhZ2VudCBydW50aW1lIHJlc291cmNlXG4gICAqIC0gRm9ybWF0IGBhcm46JHtQYXJ0aXRpb259OmJlZHJvY2stYWdlbnRjb3JlOiR7UmVnaW9ufToke0FjY291bnR9OnJ1bnRpbWUvJHtSdW50aW1lSWR9YFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqIEBleGFtcGxlIFwiYXJuOmF3czpiZWRyb2NrLWFnZW50Y29yZTp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOnJ1bnRpbWUvcnVudGltZS1hYmMxMjNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKiBAYXR0cmlidXRlXG4gICAqIEBleGFtcGxlIFwicnVudGltZS1hYmMxMjNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIHRoYXQgcHJvdmlkZXMgcGVybWlzc2lvbnMgZm9yIHRoZSBhZ2VudCBydW50aW1lXG4gICAqXG4gICAqL1xuICByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBhZ2VudCBydW50aW1lXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRTdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBydW50aW1lIHdhcyBjcmVhdGVkXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGV4YW1wbGUgXCIyMDI0LTAxLTE1VDEwOjMwOjAwWlwiXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBydW50aW1lIHdhcyBsYXN0IHVwZGF0ZWRcbiAgICogQGF0dHJpYnV0ZVxuICAgKiBAZXhhbXBsZSBcIjIwMjQtMDEtMTVUMTQ6NDU6MDBaXCJcbiAgICovXG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1ldHJpY3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGdpdmVuIG5hbWVkIG1ldHJpYyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljKG1ldHJpY05hbWU6IHN0cmluZywgZGltZW5zaW9uczogRGltZW5zaW9uc01hcCwgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGludm9jYXRpb25zIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBtZXRyaWNJbnZvY2F0aW9ucyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgaW52b2NhdGlvbnMgYWNyb3NzIGFsbCByZXNvdXJjZXMuXG4gICAqL1xuICBtZXRyaWNJbnZvY2F0aW9uc0FnZ3JlZ2F0ZWQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHRocm90dGxlZCByZXF1ZXN0cyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljVGhyb3R0bGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBzeXN0ZW0gZXJyb3JzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBtZXRyaWNTeXN0ZW1FcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHVzZXIgZXJyb3JzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBtZXRyaWNVc2VyRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgbGF0ZW5jeSBvZiByZXF1ZXN0cyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljTGF0ZW5jeShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgZXJyb3JzIChzeXN0ZW0gKyB1c2VyKSBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljVG90YWxFcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGFnZW50IHNlc3Npb25zIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBtZXRyaWNTZXNzaW9uQ291bnQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIHNlc3Npb25zIGFjcm9zcyBhbGwgcmVzb3VyY2VzLlxuICAgKi9cbiAgbWV0cmljU2Vzc2lvbnNBZ2dyZWdhdGVkKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3JhbnQgTWV0aG9kc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIHJ1bnRpbWUgc3BlY2lmaWMgYWN0aW9ucyBvbiBBV1MgcmVzb3VyY2VzXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb25zIFRoZSBhY3Rpb25zIHRvIGdyYW50XG4gICAqIEBwYXJhbSByZXNvdXJjZXMgVGhlIHJlc291cmNlIEFSTnMgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqIEByZXR1cm5zIFRoZSBHcmFudCBvYmplY3QgZm9yIGNoYWluaW5nXG4gICAqL1xuICBncmFudChhY3Rpb25zOiBzdHJpbmdbXSwgcmVzb3VyY2VzOiBzdHJpbmdbXSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogQWRkcyBhIHBvbGljeSBzdGF0ZW1lbnQgdG8gdGhlIHJ1bnRpbWUncyBleGVjdXRpb24gcm9sZVxuICAgKlxuICAgKiBAcGFyYW0gc3RhdGVtZW50IFRoZSBJQU0gcG9saWN5IHN0YXRlbWVudCB0byBhZGRcbiAgICogQHJldHVybnMgVGhlIHJ1bnRpbWUgaW5zdGFuY2UgZm9yIGNoYWluaW5nXG4gICAqL1xuICBhZGRUb1JvbGVQb2xpY3koc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50KTogSUJlZHJvY2tBZ2VudFJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lXG4gICAqIEdyYW50cyB0aGUgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lIHBlcm1pc3Npb25cbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIGdyYW50SW52b2tlUnVudGltZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogUGVybWl0cyBhbiBJQU0gcHJpbmNpcGFsIHRvIGludm9rZSB0aGlzIHJ1bnRpbWUgb24gYmVoYWxmIG9mIGEgdXNlclxuICAgKiBHcmFudHMgdGhlIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXIgcGVybWlzc2lvblxuICAgKiBSZXF1aXJlZCB3aGVuIHVzaW5nIHRoZSBYLUFtem4tQmVkcm9jay1BZ2VudENvcmUtUnVudGltZS1Vc2VyLUlkIGhlYWRlclxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgZ3JhbnRJbnZva2VSdW50aW1lRm9yVXNlcihncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogUGVybWl0cyBhbiBJQU0gcHJpbmNpcGFsIHRvIGludm9rZSB0aGlzIHJ1bnRpbWUgYm90aCBkaXJlY3RseSBhbmQgb24gYmVoYWxmIG9mIHVzZXJzXG4gICAqIEdyYW50cyBib3RoIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZSBhbmQgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lRm9yVXNlciBwZXJtaXNzaW9uc1xuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgZ3JhbnRJbnZva2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlIENsYXNzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgQWdlbnQgUnVudGltZVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUnVudGltZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElCZWRyb2NrQWdlbnRSdW50aW1lIHtcbiAgLy8gQWJzdHJhY3QgcHJvcGVydGllc1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWdlbnRSdW50aW1lQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFJ1bnRpbWVJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWdlbnRSdW50aW1lTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWdlbnRSdW50aW1lVmVyc2lvbj86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFnZW50U3RhdHVzPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbGFzdFVwZGF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbDtcblxuICAvKipcbiAgICogQW4gYWNjZXNzb3IgZm9yIHRoZSBDb25uZWN0aW9ucyBvYmplY3QgdGhhdCB3aWxsIGZhaWwgaWYgdGhpcyBSdW50aW1lIGRvZXMgbm90IGhhdmUgYSBWUENcbiAgICogY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY29ubmVjdGlvbnMoKTogZWMyLkNvbm5lY3Rpb25zIHtcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3Rpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdDYW5ub3QgbWFuYWdlIG5ldHdvcmsgYWNjZXNzIHdpdGhvdXQgY29uZmlndXJpbmcgYSBWUEMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgQ29ubmVjdGlvbnMgb2JqZWN0IGZvciB0aGlzIFJ1bnRpbWUuIFRoaXMgbWF5IGJlIHVuc2V0IGluIHRoZSBldmVudCB0aGF0IGEgVlBDIGhhcyBub3RcbiAgICogYmVlbiBjb25maWd1cmVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmVzb3VyY2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIHJ1bnRpbWUgc3BlY2lmaWMgYWN0aW9ucyBvbiBBV1MgcmVzb3VyY2VzXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgYWN0aW9ucyB0byBncmFudFxuICAgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSByZXNvdXJjZSBBUk5zIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIGdyYW50KGFjdGlvbnM6IHN0cmluZ1tdLCByZXNvdXJjZXM6IHN0cmluZ1tdKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IHRoaXMucm9sZSxcbiAgICAgIGFjdGlvbnMsXG4gICAgICByZXNvdXJjZUFybnM6IHJlc291cmNlcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcG9saWN5IHN0YXRlbWVudCB0byB0aGUgcnVudGltZSdzIGV4ZWN1dGlvbiByb2xlXG4gICAqXG4gICAqIEBwYXJhbSBzdGF0ZW1lbnQgVGhlIElBTSBwb2xpY3kgc3RhdGVtZW50IHRvIGFkZFxuICAgKiBAcmV0dXJucyBUaGUgcnVudGltZSBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBhZGRUb1JvbGVQb2xpY3koc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50KTogSUJlZHJvY2tBZ2VudFJ1bnRpbWUge1xuICAgIHRoaXMucm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lXG4gICAqIEdyYW50cyB0aGUgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lIHBlcm1pc3Npb25cbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRJbnZva2VSdW50aW1lKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBSVU5USU1FX0lOVk9LRV9QRVJNUyxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMuYWdlbnRSdW50aW1lQXJuLCBgJHt0aGlzLmFnZW50UnVudGltZUFybn0vKmBdLCAvLyAqIGlzIG5lZWRlZCBiZWNhdXNlIGl0IGludm9rZSB0aGUgZW5kcG9pbnQgYXMgc3VicmVzb3VyY2VcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJtaXRzIGFuIElBTSBwcmluY2lwYWwgdG8gaW52b2tlIHRoaXMgcnVudGltZSBvbiBiZWhhbGYgb2YgYSB1c2VyXG4gICAqIEdyYW50cyB0aGUgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lRm9yVXNlciBwZXJtaXNzaW9uXG4gICAqIFJlcXVpcmVkIHdoZW4gdXNpbmcgdGhlIFgtQW16bi1CZWRyb2NrLUFnZW50Q29yZS1SdW50aW1lLVVzZXItSWQgaGVhZGVyXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50SW52b2tlUnVudGltZUZvclVzZXIoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnM6IFJVTlRJTUVfSU5WT0tFX1VTRVJfUEVSTVMsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmFnZW50UnVudGltZUFybiwgYCR7dGhpcy5hZ2VudFJ1bnRpbWVBcm59LypgXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJtaXRzIGFuIElBTSBwcmluY2lwYWwgdG8gaW52b2tlIHRoaXMgcnVudGltZSBib3RoIGRpcmVjdGx5IGFuZCBvbiBiZWhhbGYgb2YgdXNlcnNcbiAgICogR3JhbnRzIGJvdGggYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lIGFuZCBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVGb3JVc2VyIHBlcm1pc3Npb25zXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50SW52b2tlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbLi4uUlVOVElNRV9JTlZPS0VfUEVSTVMsIC4uLlJVTlRJTUVfSU5WT0tFX1VTRVJfUEVSTVNdLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5hZ2VudFJ1bnRpbWVBcm4sIGAke3RoaXMuYWdlbnRSdW50aW1lQXJufS8qYF0sXG4gICAgfSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWV0cmljc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBtZXRyaWMgd2lsbCBiZSBjYWxjdWxhdGVkIGFzIGEgc3VtIG92ZXIgYSBwZXJpb2Qgb2YgNSBtaW51dGVzLlxuICAgKiBZb3UgY2FuIGN1c3RvbWl6ZSB0aGlzIGJ5IHVzaW5nIHRoZSBgc3RhdGlzdGljYCBhbmQgYHBlcmlvZGAgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBkaW1lbnNpb25zOiBEaW1lbnNpb25zTWFwLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIGNvbnN0IG1ldHJpY1Byb3BzOiBNZXRyaWNQcm9wcyA9IHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9CZWRyb2NrLUFnZW50Q29yZScsXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgZGltZW5zaW9uc01hcDogeyAuLi5kaW1lbnNpb25zLCBSZXNvdXJjZTogdGhpcy5hZ2VudFJ1bnRpbWVBcm4gfSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlTWV0cmljKG1ldHJpY1Byb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGludm9jYXRpb25zIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljSW52b2NhdGlvbnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0ludm9jYXRpb25zJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgaW52b2NhdGlvbnMgYWNyb3NzIGFsbCByZXNvdXJjZXMuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljSW52b2NhdGlvbnNBZ2dyZWdhdGVkKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdJbnZvY2F0aW9ucycsIHsgUmVzb3VyY2U6ICdBbGwnIH0sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgdGhyb3R0bGVkIHJlcXVlc3RzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVGhyb3R0bGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdUaHJvdHRsZXMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBzeXN0ZW0gZXJyb3JzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljU3lzdGVtRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdTeXN0ZW1FcnJvcnMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB1c2VyIGVycm9ycyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1VzZXJFcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1VzZXJFcnJvcnMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgbGF0ZW5jeSBvZiByZXF1ZXN0cyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKlxuICAgKiBUaGUgbGF0ZW5jeSBtZXRyaWMgcmVwcmVzZW50cyB0aGUgdG90YWwgdGltZSBlbGFwc2VkIGJldHdlZW4gcmVjZWl2aW5nIHRoZSByZXF1ZXN0XG4gICAqIGFuZCBzZW5kaW5nIHRoZSBmaW5hbCByZXNwb25zZSB0b2tlbiwgcmVwcmVzZW50aW5nIGNvbXBsZXRlIGVuZC10by1lbmQgcHJvY2Vzc2luZyB0aW1lLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY0xhdGVuY3kocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0xhdGVuY3knLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLkFWRVJBR0UsIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgZXJyb3JzIChzeXN0ZW0gKyB1c2VyKSBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1RvdGFsRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdUb3RhbEVycm9ycycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGFnZW50IHNlc3Npb25zIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljU2Vzc2lvbkNvdW50KHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdTZXNzaW9uQ291bnQnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBzZXNzaW9ucyBhY3Jvc3MgYWxsIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNTZXNzaW9uc0FnZ3JlZ2F0ZWQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1Nlc3Npb25zJywgeyBSZXNvdXJjZTogJ0FsbCcgfSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJuYWwgbWV0aG9kIHRvIGNyZWF0ZSBhIG1ldHJpYy5cbiAgICovXG4gIHByaXZhdGUgY29uZmlndXJlTWV0cmljKHByb3BzOiBNZXRyaWNQcm9wcykge1xuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcmVnaW9uOiBwcm9wcz8ucmVnaW9uID8/IHRoaXMuc3RhY2sucmVnaW9uLFxuICAgICAgYWNjb3VudDogcHJvcHM/LmFjY291bnQgPz8gdGhpcy5zdGFjay5hY2NvdW50LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBmb3IgaW1wb3J0aW5nIGFuIGV4aXN0aW5nIEFnZW50IFJ1bnRpbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZ2VudFJ1bnRpbWVBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhZ2VudCBydW50aW1lXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBBUk5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICogV2hlbiBpbXBvcnRpbmcgYSBydW50aW1lIGFuZCB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgb3IgdW5kZWZpbmVkLCBlbmRwb2ludHMgY3JlYXRlZCBvbiB0aGlzIHJ1bnRpbWVcbiAgICogd2lsbCBwb2ludCB0byB2ZXJzaW9uIFwiMVwiIHVubGVzcyBleHBsaWNpdGx5IG92ZXJyaWRkZW4uXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBncm91cHMgZm9yIHRoaXMgcnVudGltZSwgaWYgaW4gYSBWUEMuXG4gICAqIEBkZWZhdWx0IC0gQnkgZGVmYXVsdCwgdGhlIHJ1bnRpbWUgaXMgbm90IGluIGEgVlBDLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM/OiBlYzIuSVNlY3VyaXR5R3JvdXBbXTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBhZ2VudCBydW50aW1lXG4gICAqIEBkZWZhdWx0IC0gU3RhdHVzIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50U3RhdHVzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgcnVudGltZSB3YXMgY3JlYXRlZFxuICAgKiBAZGVmYXVsdCAtIENyZWF0aW9uIHRpbWUgbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgcnVudGltZSB3YXMgbGFzdCB1cGRhdGVkXG4gICAqIEBkZWZhdWx0IC0gTGFzdCB1cGRhdGUgdGltZSBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBsYXN0VXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVudGltZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFjQSw2Q0FBdUM7QUFPdkMsK0RBR29DO0FBRXBDLDJDQUEyQztBQUUzQyxtQ0FBMEU7QUFDMUUsNkRBQXVEO0FBK0p2RDs7K0VBRStFO0FBRS9FOztHQUVHO0FBQ0gsTUFBc0IsV0FBWSxTQUFRLHNCQUFROztJQVloRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPO1lBQ0wsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUN0QyxDQUFDO0tBQ0g7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksb0NBQWUsQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7S0FDMUI7SUFFRDs7OztPQUlHO0lBQ08sWUFBWSxDQUE4QjtJQUVwRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDekI7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxPQUFpQixFQUFFLFNBQW1CO1FBQ2pELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2xCLE9BQU87WUFDUCxZQUFZLEVBQUUsU0FBUztTQUN4QixDQUFDLENBQUM7S0FDSjtJQUVEOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUFDLFNBQThCO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMs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XG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UsIFJlc291cmNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlIHsgSVJ1bnRpbWVSZWYsIFJ1bnRpbWVSZWZlcmVuY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIERpbWVuc2lvbnNNYXAsXG4gIE1ldHJpY09wdGlvbnMsXG4gIE1ldHJpY1Byb3BzLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQge1xuICBNZXRyaWMsXG4gIFN0YXRzLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgdHlwZSAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSVU5USU1FX0lOVk9LRV9QRVJNUywgUlVOVElNRV9JTlZPS0VfVVNFUl9QRVJNUyB9IGZyb20gJy4vcGVybXMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBBZ2VudCBSdW50aW1lIHJlc291cmNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElCZWRyb2NrQWdlbnRSdW50aW1lIGV4dGVuZHMgSVJlc291cmNlLCBpYW0uSUdyYW50YWJsZSwgZWMyLklDb25uZWN0YWJsZSwgSVJ1bnRpbWVSZWYge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWdlbnQgcnVudGltZSByZXNvdXJjZVxuICAgKiAtIEZvcm1hdCBgYXJuOiR7UGFydGl0aW9ufTpiZWRyb2NrLWFnZW50Y29yZToke1JlZ2lvbn06JHtBY2NvdW50fTpydW50aW1lLyR7UnVudGltZUlkfWBcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKiBAZXhhbXBsZSBcImFybjphd3M6YmVkcm9jay1hZ2VudGNvcmU6dXMtd2VzdC0yOjEyMzQ1Njc4OTAxMjpydW50aW1lL3J1bnRpbWUtYWJjMTIzXCJcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICogQGF0dHJpYnV0ZVxuICAgKiBAZXhhbXBsZSBcInJ1bnRpbWUtYWJjMTIzXCJcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhZ2VudCBydW50aW1lXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSB0aGF0IHByb3ZpZGVzIHBlcm1pc3Npb25zIGZvciB0aGUgYWdlbnQgcnVudGltZVxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50U3RhdHVzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgcnVudGltZSB3YXMgY3JlYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqIEBleGFtcGxlIFwiMjAyNC0wMS0xNVQxMDozMDowMFpcIlxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgcnVudGltZSB3YXMgbGFzdCB1cGRhdGVkXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGV4YW1wbGUgXCIyMDI0LTAxLTE1VDE0OjQ1OjAwWlwiXG4gICAqL1xuICByZWFkb25seSBsYXN0VXBkYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZXRyaWNzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvKipcbiAgICogUmV0dXJuIHRoZSBnaXZlbiBuYW1lZCBtZXRyaWMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIGRpbWVuc2lvbnM6IERpbWVuc2lvbnNNYXAsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBpbnZvY2F0aW9ucyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljSW52b2NhdGlvbnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGludm9jYXRpb25zIGFjcm9zcyBhbGwgcmVzb3VyY2VzLlxuICAgKi9cbiAgbWV0cmljSW52b2NhdGlvbnNBZ2dyZWdhdGVkKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB0aHJvdHRsZWQgcmVxdWVzdHMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIG1ldHJpY1Rocm90dGxlcyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2Ygc3lzdGVtIGVycm9ycyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljU3lzdGVtRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB1c2VyIGVycm9ycyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljVXNlckVycm9ycyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBtZWFzdXJpbmcgdGhlIGxhdGVuY3kgb2YgcmVxdWVzdHMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIG1ldHJpY0xhdGVuY3kocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGVycm9ycyAoc3lzdGVtICsgdXNlcikgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIG1ldHJpY1RvdGFsRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBhZ2VudCBzZXNzaW9ucyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljU2Vzc2lvbkNvdW50KHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBzZXNzaW9ucyBhY3Jvc3MgYWxsIHJlc291cmNlcy5cbiAgICovXG4gIG1ldHJpY1Nlc3Npb25zQWdncmVnYXRlZChwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEdyYW50IE1ldGhvZHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBydW50aW1lIHNwZWNpZmljIGFjdGlvbnMgb24gQVdTIHJlc291cmNlc1xuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgYWN0aW9ucyB0byBncmFudFxuICAgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSByZXNvdXJjZSBBUk5zIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZ3JhbnQoYWN0aW9uczogc3RyaW5nW10sIHJlc291cmNlczogc3RyaW5nW10pOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb2xpY3kgc3RhdGVtZW50IHRvIHRoZSBydW50aW1lJ3MgZXhlY3V0aW9uIHJvbGVcbiAgICpcbiAgICogQHBhcmFtIHN0YXRlbWVudCBUaGUgSUFNIHBvbGljeSBzdGF0ZW1lbnQgdG8gYWRkXG4gICAqIEByZXR1cm5zIFRoZSBydW50aW1lIGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgYWRkVG9Sb2xlUG9saWN5KHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCk6IElCZWRyb2NrQWdlbnRSdW50aW1lO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRzIGFuIElBTSBwcmluY2lwYWwgdG8gaW52b2tlIHRoaXMgcnVudGltZVxuICAgKiBHcmFudHMgdGhlIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZSBwZXJtaXNzaW9uXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBncmFudEludm9rZVJ1bnRpbWUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lIG9uIGJlaGFsZiBvZiBhIHVzZXJcbiAgICogR3JhbnRzIHRoZSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVGb3JVc2VyIHBlcm1pc3Npb25cbiAgICogUmVxdWlyZWQgd2hlbiB1c2luZyB0aGUgWC1BbXpuLUJlZHJvY2stQWdlbnRDb3JlLVJ1bnRpbWUtVXNlci1JZCBoZWFkZXJcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIGdyYW50SW52b2tlUnVudGltZUZvclVzZXIoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lIGJvdGggZGlyZWN0bHkgYW5kIG9uIGJlaGFsZiBvZiB1c2Vyc1xuICAgKiBHcmFudHMgYm90aCBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWUgYW5kIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXIgcGVybWlzc2lvbnNcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIGdyYW50SW52b2tlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZSBDbGFzc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIEFnZW50IFJ1bnRpbWVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJ1bnRpbWVCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQmVkcm9ja0FnZW50UnVudGltZSB7XG4gIC8vIEFic3RyYWN0IHByb3BlcnRpZXNcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFnZW50UnVudGltZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWdlbnRSdW50aW1lSWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFnZW50UnVudGltZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFnZW50UnVudGltZVZlcnNpb24/OiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFN0YXR1cz86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxhc3RVcGRhdGVkQXQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG5cbiAgLyoqXG4gICAqIEEgcmVmZXJlbmNlIHRvIGEgUnVudGltZSByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgcnVudGltZVJlZigpOiBSdW50aW1lUmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWdlbnRSdW50aW1lSWQ6IHRoaXMuYWdlbnRSdW50aW1lSWQsXG4gICAgICBhZ2VudFJ1bnRpbWVBcm46IHRoaXMuYWdlbnRSdW50aW1lQXJuLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQW4gYWNjZXNzb3IgZm9yIHRoZSBDb25uZWN0aW9ucyBvYmplY3QgdGhhdCB3aWxsIGZhaWwgaWYgdGhpcyBSdW50aW1lIGRvZXMgbm90IGhhdmUgYSBWUENcbiAgICogY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY29ubmVjdGlvbnMoKTogZWMyLkNvbm5lY3Rpb25zIHtcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3Rpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdDYW5ub3QgbWFuYWdlIG5ldHdvcmsgYWNjZXNzIHdpdGhvdXQgY29uZmlndXJpbmcgYSBWUEMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgQ29ubmVjdGlvbnMgb2JqZWN0IGZvciB0aGlzIFJ1bnRpbWUuIFRoaXMgbWF5IGJlIHVuc2V0IGluIHRoZSBldmVudCB0aGF0IGEgVlBDIGhhcyBub3RcbiAgICogYmVlbiBjb25maWd1cmVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmVzb3VyY2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIHJ1bnRpbWUgc3BlY2lmaWMgYWN0aW9ucyBvbiBBV1MgcmVzb3VyY2VzXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgYWN0aW9ucyB0byBncmFudFxuICAgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSByZXNvdXJjZSBBUk5zIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIGdyYW50KGFjdGlvbnM6IHN0cmluZ1tdLCByZXNvdXJjZXM6IHN0cmluZ1tdKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IHRoaXMucm9sZSxcbiAgICAgIGFjdGlvbnMsXG4gICAgICByZXNvdXJjZUFybnM6IHJlc291cmNlcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcG9saWN5IHN0YXRlbWVudCB0byB0aGUgcnVudGltZSdzIGV4ZWN1dGlvbiByb2xlXG4gICAqXG4gICAqIEBwYXJhbSBzdGF0ZW1lbnQgVGhlIElBTSBwb2xpY3kgc3RhdGVtZW50IHRvIGFkZFxuICAgKiBAcmV0dXJucyBUaGUgcnVudGltZSBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBhZGRUb1JvbGVQb2xpY3koc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50KTogSUJlZHJvY2tBZ2VudFJ1bnRpbWUge1xuICAgIHRoaXMucm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lXG4gICAqIEdyYW50cyB0aGUgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lIHBlcm1pc3Npb25cbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRJbnZva2VSdW50aW1lKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBSVU5USU1FX0lOVk9LRV9QRVJNUyxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMucnVudGltZVJlZi5hZ2VudFJ1bnRpbWVBcm4sIGAke3RoaXMucnVudGltZVJlZi5hZ2VudFJ1bnRpbWVBcm59LypgXSwgLy8gKiBpcyBuZWVkZWQgYmVjYXVzZSBpdCBpbnZva2UgdGhlIGVuZHBvaW50IGFzIHN1YnJlc291cmNlXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVybWl0cyBhbiBJQU0gcHJpbmNpcGFsIHRvIGludm9rZSB0aGlzIHJ1bnRpbWUgb24gYmVoYWxmIG9mIGEgdXNlclxuICAgKiBHcmFudHMgdGhlIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXIgcGVybWlzc2lvblxuICAgKiBSZXF1aXJlZCB3aGVuIHVzaW5nIHRoZSBYLUFtem4tQmVkcm9jay1BZ2VudENvcmUtUnVudGltZS1Vc2VyLUlkIGhlYWRlclxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIHB1YmxpYyBncmFudEludm9rZVJ1bnRpbWVGb3JVc2VyKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBSVU5USU1FX0lOVk9LRV9VU0VSX1BFUk1TLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5ydW50aW1lUmVmLmFnZW50UnVudGltZUFybiwgYCR7dGhpcy5ydW50aW1lUmVmLmFnZW50UnVudGltZUFybn0vKmBdLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lIGJvdGggZGlyZWN0bHkgYW5kIG9uIGJlaGFsZiBvZiB1c2Vyc1xuICAgKiBHcmFudHMgYm90aCBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWUgYW5kIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXIgcGVybWlzc2lvbnNcbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRJbnZva2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnM6IFsuLi5SVU5USU1FX0lOVk9LRV9QRVJNUywgLi4uUlVOVElNRV9JTlZPS0VfVVNFUl9QRVJNU10sXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLnJ1bnRpbWVSZWYuYWdlbnRSdW50aW1lQXJuLCBgJHt0aGlzLnJ1bnRpbWVSZWYuYWdlbnRSdW50aW1lQXJufS8qYF0sXG4gICAgfSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWV0cmljc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBtZXRyaWMgd2lsbCBiZSBjYWxjdWxhdGVkIGFzIGEgc3VtIG92ZXIgYSBwZXJpb2Qgb2YgNSBtaW51dGVzLlxuICAgKiBZb3UgY2FuIGN1c3RvbWl6ZSB0aGlzIGJ5IHVzaW5nIHRoZSBgc3RhdGlzdGljYCBhbmQgYHBlcmlvZGAgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBkaW1lbnNpb25zOiBEaW1lbnNpb25zTWFwLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIGNvbnN0IG1ldHJpY1Byb3BzOiBNZXRyaWNQcm9wcyA9IHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9CZWRyb2NrLUFnZW50Q29yZScsXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgZGltZW5zaW9uc01hcDogeyAuLi5kaW1lbnNpb25zLCBSZXNvdXJjZTogdGhpcy5ydW50aW1lUmVmLmFnZW50UnVudGltZUFybiB9LFxuICAgICAgLi4ucHJvcHMsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmVNZXRyaWMobWV0cmljUHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgaW52b2NhdGlvbnMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbnZvY2F0aW9ucyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnSW52b2NhdGlvbnMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBpbnZvY2F0aW9ucyBhY3Jvc3MgYWxsIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbnZvY2F0aW9uc0FnZ3JlZ2F0ZWQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0ludm9jYXRpb25zJywgeyBSZXNvdXJjZTogJ0FsbCcgfSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB0aHJvdHRsZWQgcmVxdWVzdHMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNUaHJvdHRsZXMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1Rocm90dGxlcycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHN5c3RlbSBlcnJvcnMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNTeXN0ZW1FcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1N5c3RlbUVycm9ycycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHVzZXIgZXJyb3JzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVXNlckVycm9ycyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnVXNlckVycm9ycycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgbWVhc3VyaW5nIHRoZSBsYXRlbmN5IG9mIHJlcXVlc3RzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqXG4gICAqIFRoZSBsYXRlbmN5IG1ldHJpYyByZXByZXNlbnRzIHRoZSB0b3RhbCB0aW1lIGVsYXBzZWQgYmV0d2VlbiByZWNlaXZpbmcgdGhlIHJlcXVlc3RcbiAgICogYW5kIHNlbmRpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIHRva2VuLCByZXByZXNlbnRpbmcgY29tcGxldGUgZW5kLXRvLWVuZCBwcm9jZXNzaW5nIHRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljTGF0ZW5jeShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnTGF0ZW5jeScsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuQVZFUkFHRSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBlcnJvcnMgKHN5c3RlbSArIHVzZXIpIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVG90YWxFcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1RvdGFsRXJyb3JzJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgYWdlbnQgc2Vzc2lvbnMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNTZXNzaW9uQ291bnQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1Nlc3Npb25Db3VudCcsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIHNlc3Npb25zIGFjcm9zcyBhbGwgcmVzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1Nlc3Npb25zQWdncmVnYXRlZChwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnU2Vzc2lvbnMnLCB7IFJlc291cmNlOiAnQWxsJyB9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCBtZXRob2QgdG8gY3JlYXRlIGEgbWV0cmljLlxuICAgKi9cbiAgcHJpdmF0ZSBjb25maWd1cmVNZXRyaWMocHJvcHM6IE1ldHJpY1Byb3BzKSB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICByZWdpb246IHByb3BzPy5yZWdpb24gPz8gdGhpcy5zdGFjay5yZWdpb24sXG4gICAgICBhY2NvdW50OiBwcm9wcz8uYWNjb3VudCA/PyB0aGlzLnN0YWNrLmFjY291bnQsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgQWdlbnQgUnVudGltZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50UnVudGltZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIEFSTlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKiBXaGVuIGltcG9ydGluZyBhIHJ1bnRpbWUgYW5kIHRoaXMgaXMgbm90IHNwZWNpZmllZCBvciB1bmRlZmluZWQsIGVuZHBvaW50cyBjcmVhdGVkIG9uIHRoaXMgcnVudGltZVxuICAgKiB3aWxsIHBvaW50IHRvIHZlcnNpb24gXCIxXCIgdW5sZXNzIGV4cGxpY2l0bHkgb3ZlcnJpZGRlbi5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNlY3VyaXR5IGdyb3VwcyBmb3IgdGhpcyBydW50aW1lLCBpZiBpbiBhIFZQQy5cbiAgICogQGRlZmF1bHQgLSBCeSBkZWZhdWx0LCB0aGUgcnVudGltZSBpcyBub3QgaW4gYSBWUEMuXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3Vwcz86IGVjMi5JU2VjdXJpdHlHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICogQGRlZmF1bHQgLSBTdGF0dXMgbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRTdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBydW50aW1lIHdhcyBjcmVhdGVkXG4gICAqIEBkZWZhdWx0IC0gQ3JlYXRpb24gdGltZSBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBydW50aW1lIHdhcyBsYXN0IHVwZGF0ZWRcbiAgICogQGRlZmF1bHQgLSBMYXN0IHVwZGF0ZSB0aW1lIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVkQXQ/OiBzdHJpbmc7XG59XG4iXX0=
@@ -10,15 +10,17 @@
10
10
  * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
11
  * and limitations under the License.
12
12
  */
13
- import { IResource, Resource, ResourceProps } from 'aws-cdk-lib';
14
- import { Construct } from 'constructs';
13
+ import type { IResource, ResourceProps } from 'aws-cdk-lib';
14
+ import { Resource } from 'aws-cdk-lib';
15
+ import type { IRuntimeEndpointRef, RuntimeEndpointReference } from 'aws-cdk-lib/aws-bedrockagentcore';
16
+ import type { Construct } from 'constructs';
15
17
  /******************************************************************************
16
18
  * Interface
17
19
  *****************************************************************************/
18
20
  /**
19
21
  * Interface for Runtime Endpoint resources
20
22
  */
21
- export interface IRuntimeEndpoint extends IResource {
23
+ export interface IRuntimeEndpoint extends IResource, IRuntimeEndpointRef {
22
24
  /**
23
25
  * The ARN of the runtime endpoint resource
24
26
  * @attribute
@@ -74,6 +76,10 @@ export declare abstract class RuntimeEndpointBase extends Resource implements IR
74
76
  abstract readonly targetVersion?: string;
75
77
  abstract readonly createdAt?: string;
76
78
  abstract readonly description?: string;
79
+ /**
80
+ * A reference to a RuntimeEndpoint resource.
81
+ */
82
+ get runtimeEndpointRef(): RuntimeEndpointReference;
77
83
  constructor(scope: Construct, id: string, props?: ResourceProps);
78
84
  }
79
85
  /**
@@ -2,18 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RuntimeEndpointBase = void 0;
4
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
- /**
6
- * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
9
- * with the License. A copy of the License is located at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
14
- * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
15
- * and limitations under the License.
16
- */
17
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
18
6
  /******************************************************************************
19
7
  * Base Class
@@ -22,10 +10,18 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
22
10
  * Base class for Runtime Endpoint
23
11
  */
24
12
  class RuntimeEndpointBase extends aws_cdk_lib_1.Resource {
25
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpointBase", version: "2.237.1-alpha.0" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpointBase", version: "2.239.0-alpha.0" };
14
+ /**
15
+ * A reference to a RuntimeEndpoint resource.
16
+ */
17
+ get runtimeEndpointRef() {
18
+ return {
19
+ agentRuntimeEndpointArn: this.agentRuntimeEndpointArn,
20
+ };
21
+ }
26
22
  constructor(scope, id, props = {}) {
27
23
  super(scope, id, props);
28
24
  }
29
25
  }
30
26
  exports.RuntimeEndpointBase = RuntimeEndpointBase;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1lbmRwb2ludC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVudGltZS1lbmRwb2ludC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUFpRTtBQTJEakU7OytFQUUrRTtBQUUvRTs7R0FFRztBQUNILE1BQXNCLG1CQUFvQixTQUFRLHNCQUFROztJQVV4RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDekI7O0FBWkgsa0RBYUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJUmVzb3VyY2UsIFJlc291cmNlLCBSZXNvdXJjZVByb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmZhY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFJ1bnRpbWUgRW5kcG9pbnQgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bnRpbWVFbmRwb2ludCBleHRlbmRzIElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBydW50aW1lIGVuZHBvaW50IHJlc291cmNlXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGV4YW1wbGUgXCJhcm46YXdzOmJlZHJvY2stYWdlbnRjb3JlOnVzLXdlc3QtMjoxMjM0NTY3ODkwMTI6YWdlbnQtcnVudGltZS1lbmRwb2ludC9lbmRwb2ludC1hYmMxMjNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lRW5kcG9pbnRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bnRpbWUgZW5kcG9pbnRcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBwYXJlbnQgYWdlbnQgcnVudGltZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBydW50aW1lIGVuZHBvaW50XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpdmUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZSB0aGF0IGlzIGN1cnJlbnRseSBzZXJ2aW5nIHJlcXVlc3RzXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZlcnNpb24gdGhlIGVuZHBvaW50IGlzIHRyYW5zaXRpb25pbmcgdG8gKGR1cmluZyB1cGRhdGVzKVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSBlbmRwb2ludCB3YXMgY3JlYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlIENsYXNzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgUnVudGltZSBFbmRwb2ludFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUnVudGltZUVuZHBvaW50QmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVJ1bnRpbWVFbmRwb2ludCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFJ1bnRpbWVFbmRwb2ludEFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZW5kcG9pbnROYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFJ1bnRpbWVBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxpdmVWZXJzaW9uPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdGFyZ2V0VmVyc2lvbj86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZXNvdXJjZVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgfVxufVxuXG4vKipcbiAqIEF0dHJpYnV0ZXMgZm9yIGltcG9ydGluZyBhbiBleGlzdGluZyBSdW50aW1lIEVuZHBvaW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZUVuZHBvaW50QXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBydW50aW1lIGVuZHBvaW50XG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVFbmRwb2ludEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKi9cbiAgcmVhZG9ubHkgZW5kcG9pbnROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHBhcmVudCBhZ2VudCBydW50aW1lXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBydW50aW1lIGVuZHBvaW50XG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHJ1bnRpbWUgZW5kcG9pbnRcbiAgICogQGRlZmF1bHQgLSBTdGF0dXMgbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGl2ZSB2ZXJzaW9uIG9mIHRoZSBhZ2VudCBydW50aW1lIHRoYXQgaXMgY3VycmVudGx5IHNlcnZpbmcgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgLSBMaXZlIHZlcnNpb24gbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbGl2ZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgdmVyc2lvbiB0aGUgZW5kcG9pbnQgaXMgdHJhbnNpdGlvbmluZyB0byAoZHVyaW5nIHVwZGF0ZXMpXG4gICAqIEBkZWZhdWx0IC0gVGFyZ2V0IHZlcnNpb24gbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0VmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogV2hlbiB0aGUgZW5kcG9pbnQgd2FzIGNyZWF0ZWRcbiAgICogQGRlZmF1bHQgLSBDcmVhdGlvbiB0aW1lIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hlbiB0aGUgZW5kcG9pbnQgd2FzIGxhc3QgdXBkYXRlZFxuICAgKiBAZGVmYXVsdCAtIExhc3QgdXBkYXRlIHRpbWUgbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbGFzdFVwZGF0ZWRBdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBydW50aW1lIGVuZHBvaW50XG4gICAqIEBkZWZhdWx0IC0gRW5kcG9pbnQgSUQgbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5kcG9pbnRJZD86IHN0cmluZztcbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1lbmRwb2ludC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVudGltZS1lbmRwb2ludC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFjQSw2Q0FBdUM7QUE0RHZDOzsrRUFFK0U7QUFFL0U7O0dBRUc7QUFDSCxNQUFzQixtQkFBb0IsU0FBUSxzQkFBUTs7SUFVeEQ7O09BRUc7SUFDSCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPO1lBQ0wsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtTQUN0RCxDQUFDO0tBQ0g7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDekI7O0FBckJILGtEQXNCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgSVJlc291cmNlLCBSZXNvdXJjZVByb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElSdW50aW1lRW5kcG9pbnRSZWYsIFJ1bnRpbWVFbmRwb2ludFJlZmVyZW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmZhY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFJ1bnRpbWUgRW5kcG9pbnQgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bnRpbWVFbmRwb2ludCBleHRlbmRzIElSZXNvdXJjZSwgSVJ1bnRpbWVFbmRwb2ludFJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBydW50aW1lIGVuZHBvaW50IHJlc291cmNlXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGV4YW1wbGUgXCJhcm46YXdzOmJlZHJvY2stYWdlbnRjb3JlOnVzLXdlc3QtMjoxMjM0NTY3ODkwMTI6YWdlbnQtcnVudGltZS1lbmRwb2ludC9lbmRwb2ludC1hYmMxMjNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lRW5kcG9pbnRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bnRpbWUgZW5kcG9pbnRcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBwYXJlbnQgYWdlbnQgcnVudGltZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBydW50aW1lIGVuZHBvaW50XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpdmUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZSB0aGF0IGlzIGN1cnJlbnRseSBzZXJ2aW5nIHJlcXVlc3RzXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZlcnNpb24gdGhlIGVuZHBvaW50IGlzIHRyYW5zaXRpb25pbmcgdG8gKGR1cmluZyB1cGRhdGVzKVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSBlbmRwb2ludCB3YXMgY3JlYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlIENsYXNzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgUnVudGltZSBFbmRwb2ludFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUnVudGltZUVuZHBvaW50QmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVJ1bnRpbWVFbmRwb2ludCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFJ1bnRpbWVFbmRwb2ludEFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZW5kcG9pbnROYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFJ1bnRpbWVBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxpdmVWZXJzaW9uPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdGFyZ2V0VmVyc2lvbj86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHJlZmVyZW5jZSB0byBhIFJ1bnRpbWVFbmRwb2ludCByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgcnVudGltZUVuZHBvaW50UmVmKCk6IFJ1bnRpbWVFbmRwb2ludFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFnZW50UnVudGltZUVuZHBvaW50QXJuOiB0aGlzLmFnZW50UnVudGltZUVuZHBvaW50QXJuLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmVzb3VyY2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgUnVudGltZSBFbmRwb2ludFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVFbmRwb2ludEF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lRW5kcG9pbnRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bnRpbWUgZW5kcG9pbnRcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBwYXJlbnQgYWdlbnQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBydW50aW1lIGVuZHBvaW50XG4gICAqIEBkZWZhdWx0IC0gU3RhdHVzIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpdmUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZSB0aGF0IGlzIGN1cnJlbnRseSBzZXJ2aW5nIHJlcXVlc3RzXG4gICAqIEBkZWZhdWx0IC0gTGl2ZSB2ZXJzaW9uIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZlcnNpb24gdGhlIGVuZHBvaW50IGlzIHRyYW5zaXRpb25pbmcgdG8gKGR1cmluZyB1cGRhdGVzKVxuICAgKiBAZGVmYXVsdCAtIFRhcmdldCB2ZXJzaW9uIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGVuZHBvaW50IHdhcyBjcmVhdGVkXG4gICAqIEBkZWZhdWx0IC0gQ3JlYXRpb24gdGltZSBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGVuZHBvaW50IHdhcyBsYXN0IHVwZGF0ZWRcbiAgICogQGRlZmF1bHQgLSBMYXN0IHVwZGF0ZSB0aW1lIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKiBAZGVmYXVsdCAtIEVuZHBvaW50IElEIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50SWQ/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
- import { Construct } from 'constructs';
2
- import { RuntimeEndpointBase, IRuntimeEndpoint, RuntimeEndpointAttributes } from './runtime-endpoint-base';
1
+ import type { Construct } from 'constructs';
2
+ import type { IRuntimeEndpoint, RuntimeEndpointAttributes } from './runtime-endpoint-base';
3
+ import { RuntimeEndpointBase } from './runtime-endpoint-base';
3
4
  /******************************************************************************
4
5
  * Props
5
6
  *****************************************************************************/