@aws-cdk/aws-bedrock-agentcore-alpha 2.253.0-alpha.0 → 2.254.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 (78) hide show
  1. package/.jsii +17116 -11830
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/README.md +140 -10
  4. package/lib/evaluation/custom-evaluator.d.ts +9 -0
  5. package/lib/evaluation/custom-evaluator.js +8 -2
  6. package/lib/evaluation/data-source.js +1 -1
  7. package/lib/evaluation/evaluator-base.js +1 -1
  8. package/lib/evaluation/evaluator-config.js +2 -2
  9. package/lib/evaluation/evaluator.js +1 -1
  10. package/lib/evaluation/online-evaluation-base.js +1 -1
  11. package/lib/evaluation/online-evaluation.d.ts +9 -0
  12. package/lib/evaluation/online-evaluation.js +8 -2
  13. package/lib/evaluation/types.js +5 -5
  14. package/lib/evaluation/validation-helpers.d.ts +8 -0
  15. package/lib/evaluation/validation-helpers.js +62 -1
  16. package/lib/gateway/gateway-base.js +1 -1
  17. package/lib/gateway/gateway.d.ts +3 -2
  18. package/lib/gateway/gateway.js +3 -3
  19. package/lib/gateway/inbound-auth/authorizer.js +4 -4
  20. package/lib/gateway/inbound-auth/custom-claim.js +1 -1
  21. package/lib/gateway/interceptor.js +1 -1
  22. package/lib/gateway/outbound-auth/api-key.d.ts +13 -4
  23. package/lib/gateway/outbound-auth/api-key.js +63 -21
  24. package/lib/gateway/outbound-auth/credential-provider.d.ts +48 -4
  25. package/lib/gateway/outbound-auth/credential-provider.js +49 -2
  26. package/lib/gateway/outbound-auth/iam-role.d.ts +4 -3
  27. package/lib/gateway/outbound-auth/iam-role.js +3 -5
  28. package/lib/gateway/outbound-auth/oauth.d.ts +11 -3
  29. package/lib/gateway/outbound-auth/oauth.js +70 -20
  30. package/lib/gateway/perms.d.ts +15 -3
  31. package/lib/gateway/perms.js +24 -9
  32. package/lib/gateway/protocol.js +2 -2
  33. package/lib/gateway/targets/schema/api-schema.js +4 -4
  34. package/lib/gateway/targets/schema/tool-schema.js +4 -4
  35. package/lib/gateway/targets/target-base.js +1 -1
  36. package/lib/gateway/targets/target-configuration.js +6 -6
  37. package/lib/gateway/targets/target.js +3 -3
  38. package/lib/identity/api-key-credential-provider.d.ts +217 -0
  39. package/lib/identity/api-key-credential-provider.js +249 -0
  40. package/lib/identity/grant-helpers.d.ts +74 -0
  41. package/lib/identity/grant-helpers.js +132 -0
  42. package/lib/identity/oauth2-credential-provider.d.ts +679 -0
  43. package/lib/identity/oauth2-credential-provider.js +863 -0
  44. package/lib/identity/perms.d.ts +119 -0
  45. package/lib/identity/perms.js +178 -0
  46. package/lib/identity/validation-helpers.d.ts +61 -0
  47. package/lib/identity/validation-helpers.js +156 -0
  48. package/lib/identity/workload-identity.d.ts +186 -0
  49. package/lib/identity/workload-identity.js +212 -0
  50. package/lib/index.d.ts +4 -0
  51. package/lib/index.js +8 -1
  52. package/lib/memory/memory-strategy.js +1 -1
  53. package/lib/memory/memory.js +2 -2
  54. package/lib/memory/strategies/managed-strategy.js +1 -1
  55. package/lib/memory/strategies/self-managed-strategy.js +1 -1
  56. package/lib/memory/validation-helpers.js +2 -2
  57. package/lib/network/network-configuration.js +4 -4
  58. package/lib/policy/policy-base.js +1 -1
  59. package/lib/policy/policy-engine-base.js +1 -1
  60. package/lib/policy/policy-engine.js +1 -1
  61. package/lib/policy/policy-statement.d.ts +2 -1
  62. package/lib/policy/policy-statement.js +14 -12
  63. package/lib/policy/policy-types.js +1 -1
  64. package/lib/policy/policy.js +1 -1
  65. package/lib/runtime/inbound-auth/custom-claim.js +1 -1
  66. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +1 -1
  67. package/lib/runtime/observability.js +2 -2
  68. package/lib/runtime/runtime-artifact.d.ts +11 -3
  69. package/lib/runtime/runtime-artifact.js +12 -4
  70. package/lib/runtime/runtime-base.js +1 -1
  71. package/lib/runtime/runtime-endpoint-base.js +1 -1
  72. package/lib/runtime/runtime-endpoint.js +1 -1
  73. package/lib/runtime/runtime.js +1 -1
  74. package/lib/runtime/types.d.ts +7 -1
  75. package/lib/runtime/types.js +7 -1
  76. package/lib/tools/browser.js +2 -2
  77. package/lib/tools/code-interpreter.js +2 -2
  78. package/package.json +18 -10
@@ -23,7 +23,7 @@ const errors_1 = require("aws-cdk-lib/core/lib/errors");
23
23
  const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
24
24
  /**
25
25
  * Bedrock AgentCore runtime environment for code execution
26
- * Allowed values: PYTHON_3_10 | PYTHON_3_11 | PYTHON_3_12 | PYTHON_3_13
26
+ * Allowed values: PYTHON_3_10 | PYTHON_3_11 | PYTHON_3_12 | PYTHON_3_13 | PYTHON_3_14 | NODE_22
27
27
  */
28
28
  var AgentCoreRuntime;
29
29
  (function (AgentCoreRuntime) {
@@ -43,13 +43,21 @@ var AgentCoreRuntime;
43
43
  * Python 3.13 runtime
44
44
  */
45
45
  AgentCoreRuntime["PYTHON_3_13"] = "PYTHON_3_13";
46
+ /**
47
+ * Python 3.14 runtime
48
+ */
49
+ AgentCoreRuntime["PYTHON_3_14"] = "PYTHON_3_14";
50
+ /**
51
+ * Node.js 22 runtime
52
+ */
53
+ AgentCoreRuntime["NODE_22"] = "NODE_22";
46
54
  })(AgentCoreRuntime || (exports.AgentCoreRuntime = AgentCoreRuntime = {}));
47
55
  /**
48
56
  * Abstract base class for agent runtime artifacts.
49
57
  * Provides methods to reference container images from ECR repositories or local assets.
50
58
  */
51
59
  class AgentRuntimeArtifact {
52
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AgentRuntimeArtifact", version: "2.253.0-alpha.0" };
60
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AgentRuntimeArtifact", version: "2.254.0-alpha.0" };
53
61
  /**
54
62
  * Reference an image in an ECR repository
55
63
  */
@@ -67,7 +75,7 @@ class AgentRuntimeArtifact {
67
75
  /**
68
76
  * Reference an agent runtime artifact that's constructed directly from an S3 object
69
77
  * @param s3Location The source code location and configuration details.
70
- * @param runtime The runtime environment for executing the code. Allowed values: PYTHON_3_10 | PYTHON_3_11 | PYTHON_3_12 | PYTHON_3_13
78
+ * @param runtime The runtime environment for executing the code. Allowed values: PYTHON_3_10 | PYTHON_3_11 | PYTHON_3_12 | PYTHON_3_13 | PYTHON_3_14 | NODE_22
71
79
  * @param entrypoint The entry point for the code execution, specifying the function or method that should be invoked when the code runs.
72
80
  */
73
81
  static fromS3(s3Location, runtime, entrypoint) {
@@ -279,4 +287,4 @@ class ImageUriArtifact extends AgentRuntimeArtifact {
279
287
  };
280
288
  }
281
289
  }
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bnRpbWUtYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUEyQztBQUczQyxxREFBcUQ7QUFDckQseUNBQXlDO0FBQ3pDLHVEQUF1RDtBQUN2RCx3REFBc0U7QUFDdEUsNEVBQTREO0FBSTVEOzs7R0FHRztBQUNILElBQVksZ0JBaUJYO0FBakJELFdBQVksZ0JBQWdCO0lBQzFCOztPQUVHO0lBQ0gsK0NBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsK0NBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQWpCVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQWlCM0I7QUFzQkQ7OztHQUdHO0FBQ0gsTUFBc0Isb0JBQW9COztJQUN4Qzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUEyQixFQUFFLE1BQWMsUUFBUTtRQUNqRixPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUN0QztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQWlCLEVBQUUsVUFBMEMsRUFBRTtRQUNyRixPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUMzQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUF1QixFQUFFLE9BQXlCLEVBQUUsVUFBb0I7Ozs7Ozs7Ozs7UUFDM0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQ3JEO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUF5Qjs7Ozs7Ozs7OztRQUNuRCxPQUFPLElB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SUFBQSxzQkFBRyxFQUFBLHFCQUFxQixFQUFFLHFEQUFxRCxDQUFDLENBQUM7UUFDckgsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFRO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQ3BDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7U0FDL0IsQ0FBQztRQUVGLE9BQU87WUFDTCxJQUFJLEVBQUU7Z0JBQ0osRUFBRSxFQUFFLFFBQVE7YUFDYjtZQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDckIsQ0FBQztLQUNWO0NBQ0Y7QUFFRCxNQUFNLGdCQUFpQixTQUFRLG9CQUFvQjtJQUNwQjtJQUE3QixZQUE2QixZQUFvQjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQURtQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUcvQyxvRUFBb0U7UUFDcEUsTUFBTSxVQUFVLEdBQUcsOEhBQThILENBQUM7UUFDbEosSUFBSSxDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE1BQU0sSUFBSSxnQ0FBdUIsQ0FDL0IsSUFBQSxzQkFBRyxFQUFBLHdCQUF3QixFQUMzQixxQ0FBcUMsWUFBWSxtRkFBbUYsQ0FDckksQ0FBQztRQUNKLENBQUM7S0FDRjtJQUVNLElBQUksQ0FBQyxNQUFpQixFQUFFLFFBQWlCO0tBRy9DO0lBRU0sT0FBTztRQUNaLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDekIsQ0FBQztLQUNWO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTdGFjaywgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IENmblJ1bnRpbWUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZSc7XG5pbXBvcnQgdHlwZSAqIGFzIGVjciBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNyJztcbmltcG9ydCAqIGFzIGFzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNyLWFzc2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgczNfYXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9lcnJvcnMnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBSdW50aW1lIH0gZnJvbSAnLi9ydW50aW1lJztcblxuLyoqXG4gKiBCZWRyb2NrIEFnZW50Q29yZSBydW50aW1lIGVudmlyb25tZW50IGZvciBjb2RlIGV4ZWN1dGlvblxuICogQWxsb3dlZCB2YWx1ZXM6IFBZVEhPTl8zXzEwIHwgUFlUSE9OXzNfMTEgfCBQWVRIT05fM18xMiB8IFBZVEhPTl8zXzEzXG4gKi9cbmV4cG9ydCBlbnVtIEFnZW50Q29yZVJ1bnRpbWUge1xuICAvKipcbiAgICogUHl0aG9uIDMuMTAgcnVudGltZVxuICAgKi9cbiAgUFlUSE9OXzNfMTAgPSAnUFlUSE9OXzNfMTAnLFxuICAvKipcbiAgICogUHl0aG9uIDMuMTEgcnVudGltZVxuICAgKi9cbiAgUFlUSE9OXzNfMTEgPSAnUFlUSE9OXzNfMTEnLFxuICAvKipcbiAgICogUHl0aG9uIDMuMTIgcnVudGltZVxuICAgKi9cbiAgUFlUSE9OXzNfMTIgPSAnUFlUSE9OXzNfMTInLFxuICAvKipcbiAgICogUHl0aG9uIDMuMTMgcnVudGltZVxuICAgKi9cbiAgUFlUSE9OXzNfMTMgPSAnUFlUSE9OXzNfMTMnLFxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIGFuIFMzIGNvZGUgYXNzZXQgZnJvbSBsb2NhbCBmaWxlcyBmb3IgYWdlbnQgcnVudGltZSBhcnRpZmFjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVBc3NldE9wdGlvbnMgZXh0ZW5kcyBzM19hc3NldHMuQXNzZXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGggdG8gdGhlIGNvZGUgYXNzZXRcbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJ1bnRpbWUgZW52aXJvbm1lbnQgZm9yIGV4ZWN1dGluZyB0aGUgY29kZVxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZTogQWdlbnRDb3JlUnVudGltZTtcblxuICAvKipcbiAgICogVGhlIGVudHJ5IHBvaW50IGZvciB0aGUgY29kZSBleGVjdXRpb24sIHNwZWNpZnlpbmcgdGhlIGZ1bmN0aW9uIG9yIG1ldGhvZCB0aGF0IHNob3VsZCBiZSBpbnZva2VkIHdoZW4gdGhlIGNvZGUgcnVuc1xuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nW107XG59XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgYWdlbnQgcnVudGltZSBhcnRpZmFjdHMuXG4gKiBQcm92aWRlcyBtZXRob2RzIHRvIHJlZmVyZW5jZSBjb250YWluZXIgaW1hZ2VzIGZyb20gRUNSIHJlcG9zaXRvcmllcyBvciBsb2NhbCBhc3NldHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gaW1hZ2UgaW4gYW4gRUNSIHJlcG9zaXRvcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUVjclJlcG9zaXRvcnkocmVwb3NpdG9yeTogZWNyLklSZXBvc2l0b3J5LCB0YWc6IHN0cmluZyA9ICdsYXRlc3QnKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgRWNySW1hZ2UocmVwb3NpdG9yeSwgdGFnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gYWdlbnQgcnVudGltZSBhcnRpZmFjdCB0aGF0J3MgY29uc3RydWN0ZWQgZGlyZWN0bHkgZnJvbSBzb3VyY2VzIG9uIGRpc2tcbiAgICogQHBhcmFtIGRpcmVjdG9yeSBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBEb2NrZXJmaWxlIGlzIHN0b3JlZFxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBmdXJ0aGVyIGNvbmZpZ3VyZSB0aGUgc2VsZWN0ZWQgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFzc2V0KGRpcmVjdG9yeTogc3RyaW5nLCBvcHRpb25zOiBhc3NldHMuRG9ja2VySW1hZ2VBc3NldE9wdGlvbnMgPSB7fSk6IEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgICByZXR1cm4gbmV3IEFzc2V0SW1hZ2UoZGlyZWN0b3J5LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gYWdlbnQgcnVudGltZSBhcnRpZmFjdCB0aGF0J3MgY29uc3RydWN0ZWQgZGlyZWN0bHkgZnJvbSBhbiBTMyBvYmplY3RcbiAgICogQHBhcmFtIHMzTG9jYXRpb24gVGhlIHNvdXJjZSBjb2RlIGxvY2F0aW9uIGFuZCBjb25maWd1cmF0aW9uIGRldGFpbHMuXG4gICAqIEBwYXJhbSBydW50aW1lIFRoZSBydW50aW1lIGVudmlyb25tZW50IGZvciBleGVjdXRpbmcgdGhlIGNvZGUuIEFsbG93ZWQgdmFsdWVzOiBQWVRIT05fM18xMCB8IFBZVEhPTl8zXzExIHwgUFlUSE9OXzNfMTIgfCBQWVRIT05fM18xM1xuICAgKiBAcGFyYW0gZW50cnlwb2ludCBUaGUgZW50cnkgcG9pbnQgZm9yIHRoZSBjb2RlIGV4ZWN1dGlvbiwgc3BlY2lmeWluZyB0aGUgZnVuY3Rpb24gb3IgbWV0aG9kIHRoYXQgc2hvdWxkIGJlIGludm9rZWQgd2hlbiB0aGUgY29kZSBydW5zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUzMoczNMb2NhdGlvbjogczMuTG9jYXRpb24sIHJ1bnRpbWU6IEFnZW50Q29yZVJ1bnRpbWUsIGVudHJ5cG9pbnQ6IHN0cmluZ1tdKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgUzNJbWFnZShzM0xvY2F0aW9uLCBydW50aW1lLCBlbnRyeXBvaW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gYWdlbnQgcnVudGltZSBhcnRpZmFjdCB0aGF0J3MgY29uc3RydWN0ZWQgZnJvbSBsb2NhbCBjb2RlIGFzc2V0cyB1cGxvYWRlZCB0byBhIENESy1tYW5hZ2VkIFMzIGJ1Y2tldFxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgY29uZmlndXJpbmcgdGhlIGNvZGUgYXNzZXRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvZGVBc3NldChvcHRpb25zOiBDb2RlQXNzZXRPcHRpb25zKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgQ29kZUFzc2V0KG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBpbWFnZSB1c2luZyBhbiBFQ1IgY29udGFpbmVyIFVSSVxuICAgKlxuICAgKiBVc2UgdGhpcyB3aGVuIHJlZmVyZW5jaW5nIEVDUiBpbWFnZXMgZnJvbSBDbG91ZEZvcm1hdGlvbiBwYXJhbWV0ZXJzIG9yIGNyb3NzLXN0YWNrIHJlZmVyZW5jZXMuXG4gICAqXG4gICAqICoqTm90ZToqKiBObyBJQU0gcGVybWlzc2lvbnMgYXJlIGF1dG9tYXRpY2FsbHkgZ3JhbnRlZC4gWW91IG11c3QgZW5zdXJlIHRoZSBydW50aW1lIGhhc1xuICAgKiBFQ1IgcHVsbCBwZXJtaXNzaW9ucyBmb3IgdGhlIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJVcmkgVGhlIEVDUiBjb250YWluZXIgaW1hZ2UgVVJJIChmb3JtYXQ6IHthY2NvdW50fS5ka3IuZWNyLntyZWdpb259LmFtYXpvbmF3cy5jb20ve3JlcG9zaXRvcnl9Ont0YWd9KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tSW1hZ2VVcmkoY29udGFpbmVyVXJpOiBzdHJpbmcpOiBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gICAgcmV0dXJuIG5ldyBJbWFnZVVyaUFydGlmYWN0KGNvbnRhaW5lclVyaSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGltYWdlIGlzIHVzZWQgYnkgYSBSdW50aW1lIHRvIGhhbmRsZSBzaWRlIGVmZmVjdHMgbGlrZSBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGJpbmQoc2NvcGU6IENvbnN0cnVjdCwgcnVudGltZTogUnVudGltZSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgYXJ0aWZhY3QgY29uZmlndXJhdGlvbiBmb3IgQ2xvdWRGb3JtYXRpb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHk7XG59XG5cbmNsYXNzIEVjckltYWdlIGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZXBvc2l0b3J5OiBlY3IuSVJlcG9zaXRvcnksIHByaXZhdGUgcmVhZG9ubHkgdGFnOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGJpbmQoX3Njb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBIYW5kbGUgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQgJiYgcnVudGltZS5yb2xlKSB7XG4gICAgICB0aGlzLnJlcG9zaXRvcnkuZ3JhbnRQdWxsKHJ1bnRpbWUucm9sZSk7XG4gICAgICB0aGlzLmJvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIC8vIFJldHVybiBjb250YWluZXIgY29uZmlndXJhdGlvbiBkaXJlY3RseSBhcyBleHBlY3RlZCBieSB0aGUgcnVudGltZVxuICAgIC8vIFRoZSBydW50aW1lIHdyYXBzIHRoaXMgaW4gY29udGFpbmVyQ29uZmlndXJhdGlvblxuICAgIHJldHVybiB7XG4gICAgICBjb250YWluZXJVcmk6IHRoaXMucmVwb3NpdG9yeS5yZXBvc2l0b3J5VXJpRm9yVGFnKHRoaXMudGFnKSxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBBc3NldEltYWdlIGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGFzc2V0PzogYXNzZXRzLkRvY2tlckltYWdlQXNzZXQ7XG4gIHByaXZhdGUgYm91bmQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0T3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBDcmVhdGUgdGhlIGFzc2V0IGlmIG5vdCBhbHJlYWR5IGNyZWF0ZWRcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSBuZXcgYXNzZXRzLkRvY2tlckltYWdlQXNzZXQoc2NvcGUsICdBZ2VudFJ1bnRpbWVBcnRpZmFjdCcsIHtcbiAgICAgICAgZGlyZWN0b3J5OiB0aGlzLmRpcmVjdG9yeSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gR3JhbnQgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQpIHtcbiAgICAgIHRoaXMuYXNzZXQucmVwb3NpdG9yeS5ncmFudFB1bGwocnVudGltZS5yb2xlKTtcbiAgICAgIHRoaXMuYm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eSB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEFzc2V0Tm90SW5pdGlhbGl6ZWRgLCAnQXNzZXQgbm90IGluaXRpYWxpemVkLiBDYWxsIGJpbmQoKSBiZWZvcmUgX3JlbmRlcigpJyk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIGNvbnRhaW5lciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IGFzIGV4cGVjdGVkIGJ5IHRoZSBydW50aW1lXG4gICAgLy8gVGhlIHJ1bnRpbWUgd3JhcHMgdGhpcyBpbiBjb250YWluZXJDb25maWd1cmF0aW9uXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRhaW5lclVyaTogdGhpcy5hc3NldC5pbWFnZVVyaSxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBTM0ltYWdlIGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzM0xvY2F0aW9uOiBzMy5Mb2NhdGlvbiwgcHJpdmF0ZSByZWFkb25seSBydW50aW1lOiBBZ2VudENvcmVSdW50aW1lLCBwcml2YXRlIHJlYWRvbmx5IGVudHJ5cG9pbnQ6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBIYW5kbGUgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQgJiYgcnVudGltZS5yb2xlKSB7XG4gICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZCh0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSkpIHtcbiAgICAgICAgU3RhY2sub2Yoc2NvcGUpLnJlc29sdmUodGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUpO1xuICAgICAgfVxuICAgICAgY29uc3QgYnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXROYW1lKFxuICAgICAgICBzY29wZSxcbiAgICAgICAgYCR7dGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWV9Q29kZUFyY2hpdmVgLFxuICAgICAgICB0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgICk7XG4gICAgICAvLyBFbnN1cmUgdGhlIHBvbGljeSBpcyBhcHBsaWVkIGJlZm9yZSB0aGUgYnJvd3NlciByZXNvdXJjZSBpcyBjcmVhdGVkXG4gICAgICBidWNrZXQuZ3JhbnRSZWFkKHJ1bnRpbWUucm9sZSk7XG4gICAgICB0aGlzLmJvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIGNvbnN0IHMzQ29uZmlnOiBhbnkgPSB7XG4gICAgICBidWNrZXQ6IHRoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lLFxuICAgICAgcHJlZml4OiB0aGlzLnMzTG9jYXRpb24ub2JqZWN0S2V5LFxuICAgIH07XG4gICAgaWYgKHRoaXMuczNMb2NhdGlvbi5vYmplY3RWZXJzaW9uKSB7XG4gICAgICBzM0NvbmZpZy52ZXJzaW9uSWQgPSB0aGlzLnMzTG9jYXRpb24ub2JqZWN0VmVyc2lvbjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHtcbiAgICAgICAgczM6IHMzQ29uZmlnLFxuICAgICAgfSxcbiAgICAgIHJ1bnRpbWU6IHRoaXMucnVudGltZSxcbiAgICAgIGVudHJ5UG9pbnQ6IHRoaXMuZW50cnlwb2ludCxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBDb2RlQXNzZXQgZXh0ZW5kcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIHByaXZhdGUgYXNzZXQ/OiBzM19hc3NldHMuQXNzZXQ7XG4gIHByaXZhdGUgYm91bmQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcnVudGltZTogQWdlbnRDb3JlUnVudGltZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRyeXBvaW50OiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBzM19hc3NldHMuQXNzZXRPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDb2RlQXNzZXRPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IHBhdGgsIHJ1bnRpbWUsIGVudHJ5cG9pbnQsIC4uLm9wdGlvbnMgfSA9IHByb3BzO1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgdGhpcy5ydW50aW1lID0gcnVudGltZTtcbiAgICB0aGlzLmVudHJ5cG9pbnQgPSBlbnRyeXBvaW50O1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gQ3JlYXRlIHRoZSBhc3NldCBpZiBub3QgYWxyZWFkeSBjcmVhdGVkXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IHMzX2Fzc2V0cy5Bc3NldChzY29wZSwgJ0FnZW50UnVudGltZUFydGlmYWN0Jywge1xuICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBwZXJtaXNzaW9ucyAob25seSBvbmNlKVxuICAgIGlmICghdGhpcy5ib3VuZCAmJiBydW50aW1lLnJvbGUpIHtcbiAgICAgIGNvbnN0IGJ1Y2tldCA9IHRoaXMuYXNzZXQuYnVja2V0O1xuICAgICAgLy8gRW5zdXJlIHRoZSBwb2xpY3kgaXMgYXBwbGllZCBiZWZvcmUgdGhlIHJ1bnRpbWUgcmVzb3VyY2UgaXMgY3JlYXRlZFxuICAgICAgYnVja2V0LmdyYW50UmVhZChydW50aW1lLnJvbGUpO1xuICAgICAgdGhpcy5ib3VuZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5IHtcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihsaXRgQXNzZXROb3RJbml0aWFsaXplZGAsICdBc3NldCBub3QgaW5pdGlhbGl6ZWQuIENhbGwgYmluZCgpIGJlZm9yZSBfcmVuZGVyKCknKTtcbiAgICB9XG5cbiAgICBjb25zdCBzM0NvbmZpZzogYW55ID0ge1xuICAgICAgYnVja2V0OiB0aGlzLmFzc2V0LmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgcHJlZml4OiB0aGlzLmFzc2V0LnMzT2JqZWN0S2V5LFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29kZToge1xuICAgICAgICBzMzogczNDb25maWcsXG4gICAgICB9LFxuICAgICAgcnVudGltZTogdGhpcy5ydW50aW1lLFxuICAgICAgZW50cnlQb2ludDogdGhpcy5lbnRyeXBvaW50LFxuICAgIH0gYXMgYW55O1xuICB9XG59XG5cbmNsYXNzIEltYWdlVXJpQXJ0aWZhY3QgZXh0ZW5kcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyVXJpOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gVmFsaWRhdGUgRUNSIGNvbnRhaW5lciBVUkkgZm9ybWF0IHBlciBDbG91ZEZvcm1hdGlvbiByZXF1aXJlbWVudHNcbiAgICBjb25zdCBlY3JQYXR0ZXJuID0gL15cXGR7MTJ9XFwuZGtyXFwuZWNyXFwuKFthLXowLTktXSspXFwuYW1hem9uYXdzXFwuY29tXFwvKCg/OlthLXowLTldKyg/OlsuXy1dW2EtejAtOV0rKSpcXC8pKlthLXowLTldKyg/OlsuXy1dW2EtejAtOV0rKSopKFs6QF1cXFMrKSQvO1xuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNvbnRhaW5lclVyaSkgJiYgIWVjclBhdHRlcm4udGVzdChjb250YWluZXJVcmkpKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBJbnZhbGlkRWNyQ29udGFpbmVyVXJpYCxcbiAgICAgICAgYEludmFsaWQgRUNSIGNvbnRhaW5lciBVUkkgZm9ybWF0OiAke2NvbnRhaW5lclVyaX0uIE11c3QgYmUgYW4gRUNSIFVSSToge2FjY291bnR9LmRrci5lY3Iue3JlZ2lvbn0uYW1hem9uYXdzLmNvbS97cmVwb3NpdG9yeX06e3RhZ31gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCwgX3J1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBObyBwZXJtaXNzaW9ucyBhcmUgZ3JhbnRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdXNpbmcgYSBkaXJlY3QgVVJJLlxuICAgIC8vIFVzZXJzIG11c3QgbWFuYWdlIEVDUiBwdWxsIHBlcm1pc3Npb25zIHNlcGFyYXRlbHkuXG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250YWluZXJVcmk6IHRoaXMuY29udGFpbmVyVXJpLFxuICAgIH0gYXMgYW55O1xuICB9XG59XG4iXX0=
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bnRpbWUtYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUEyQztBQUczQyxxREFBcUQ7QUFDckQseUNBQXlDO0FBQ3pDLHVEQUF1RDtBQUN2RCx3REFBc0U7QUFDdEUsNEVBQTREO0FBSTVEOzs7R0FHRztBQUNILElBQVksZ0JBeUJYO0FBekJELFdBQVksZ0JBQWdCO0lBQzFCOztPQUVHO0lBQ0gsK0NBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsK0NBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILHVDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUF6QlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUF5QjNCO0FBc0JEOzs7R0FHRztBQUNILE1BQXNCLG9CQUFvQjs7SUFDeEM7O09BRUc7SUFDSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsVUFBMkIsRUFBRSxNQUFjLFFBQVE7UUFDakYsT0FBTyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDdEM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFpQixFQUFFLFVBQTBDLEVBQUU7UUFDckYsT0FBTyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDM0M7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBdUIsRUFBRSxPQUF5QixFQUFFLFVBQW9COzs7Ozs7Ozs7O1FBQzNGLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztLQUNyRDtJQUVEOzs7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Q0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLGdDQUF1QixDQUFDLElBQUEsc0JBQUcsRUFBQSxxQkFBcUIsRUFBRSxxREFBcUQsQ0FBQyxDQUFDO1FBQ3JILENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBUTtZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1NBQy9CLENBQUM7UUFFRixPQUFPO1lBQ0wsSUFBSSxFQUFFO2dCQUNKLEVBQUUsRUFBRSxRQUFRO2FBQ2I7WUFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQ3JCLENBQUM7S0FDVjtDQUNGO0FBRUQsTUFBTSxnQkFBaUIsU0FBUSxvQkFBb0I7SUFDcEI7SUFBN0IsWUFBNkIsWUFBb0I7UUFDL0MsS0FBSyxFQUFFLENBQUM7UUFEbUIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFHL0Msb0VBQW9FO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLDhIQUE4SCxDQUFDO1FBQ2xKLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN4RSxNQUFNLElBQUksZ0NBQXVCLENBQy9CLElBQUEsc0JBQUcsRUFBQSx3QkFBd0IsRUFDM0IscUNBQXFDLFlBQVksbUZBQW1GLENBQ3JJLENBQUM7UUFDSixDQUFDO0tBQ0Y7SUFFTSxJQUFJLENBQUMsTUFBaUIsRUFBRSxRQUFpQjtLQUcvQztJQUVNLE9BQU87UUFDWixPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ3pCLENBQUM7S0FDVjtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU3RhY2ssIFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBDZm5SdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0IHR5cGUgKiBhcyBlY3IgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcic7XG5pbXBvcnQgKiBhcyBhc3NldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHMzX2Fzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvZXJyb3JzJztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgUnVudGltZSB9IGZyb20gJy4vcnVudGltZSc7XG5cbi8qKlxuICogQmVkcm9jayBBZ2VudENvcmUgcnVudGltZSBlbnZpcm9ubWVudCBmb3IgY29kZSBleGVjdXRpb25cbiAqIEFsbG93ZWQgdmFsdWVzOiBQWVRIT05fM18xMCB8IFBZVEhPTl8zXzExIHwgUFlUSE9OXzNfMTIgfCBQWVRIT05fM18xMyB8IFBZVEhPTl8zXzE0IHwgTk9ERV8yMlxuICovXG5leHBvcnQgZW51bSBBZ2VudENvcmVSdW50aW1lIHtcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjEwIHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzEwID0gJ1BZVEhPTl8zXzEwJyxcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjExIHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzExID0gJ1BZVEhPTl8zXzExJyxcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjEyIHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzEyID0gJ1BZVEhPTl8zXzEyJyxcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjEzIHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzEzID0gJ1BZVEhPTl8zXzEzJyxcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjE0IHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzE0ID0gJ1BZVEhPTl8zXzE0JyxcbiAgLyoqXG4gICAqIE5vZGUuanMgMjIgcnVudGltZVxuICAgKi9cbiAgTk9ERV8yMiA9ICdOT0RFXzIyJyxcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBhbiBTMyBjb2RlIGFzc2V0IGZyb20gbG9jYWwgZmlsZXMgZm9yIGFnZW50IHJ1bnRpbWUgYXJ0aWZhY3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQXNzZXRPcHRpb25zIGV4dGVuZHMgczNfYXNzZXRzLkFzc2V0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBwYXRoIHRvIHRoZSBjb2RlIGFzc2V0XG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBydW50aW1lIGVudmlyb25tZW50IGZvciBleGVjdXRpbmcgdGhlIGNvZGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU6IEFnZW50Q29yZVJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIGNvZGUgZXhlY3V0aW9uLCBzcGVjaWZ5aW5nIHRoZSBmdW5jdGlvbiBvciBtZXRob2QgdGhhdCBzaG91bGQgYmUgaW52b2tlZCB3aGVuIHRoZSBjb2RlIHJ1bnNcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnQ6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFic3RyYWN0IGJhc2UgY2xhc3MgZm9yIGFnZW50IHJ1bnRpbWUgYXJ0aWZhY3RzLlxuICogUHJvdmlkZXMgbWV0aG9kcyB0byByZWZlcmVuY2UgY29udGFpbmVyIGltYWdlcyBmcm9tIEVDUiByZXBvc2l0b3JpZXMgb3IgbG9jYWwgYXNzZXRzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAvKipcbiAgICogUmVmZXJlbmNlIGFuIGltYWdlIGluIGFuIEVDUiByZXBvc2l0b3J5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21FY3JSZXBvc2l0b3J5KHJlcG9zaXRvcnk6IGVjci5JUmVwb3NpdG9yeSwgdGFnOiBzdHJpbmcgPSAnbGF0ZXN0Jyk6IEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgICByZXR1cm4gbmV3IEVjckltYWdlKHJlcG9zaXRvcnksIHRhZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVmZXJlbmNlIGFuIGFnZW50IHJ1bnRpbWUgYXJ0aWZhY3QgdGhhdCdzIGNvbnN0cnVjdGVkIGRpcmVjdGx5IGZyb20gc291cmNlcyBvbiBkaXNrXG4gICAqIEBwYXJhbSBkaXJlY3RvcnkgVGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgRG9ja2VyZmlsZSBpcyBzdG9yZWRcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdG8gZnVydGhlciBjb25maWd1cmUgdGhlIHNlbGVjdGVkIGltYWdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Bc3NldChkaXJlY3Rvcnk6IHN0cmluZywgb3B0aW9uczogYXNzZXRzLkRvY2tlckltYWdlQXNzZXRPcHRpb25zID0ge30pOiBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gICAgcmV0dXJuIG5ldyBBc3NldEltYWdlKGRpcmVjdG9yeSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmVmZXJlbmNlIGFuIGFnZW50IHJ1bnRpbWUgYXJ0aWZhY3QgdGhhdCdzIGNvbnN0cnVjdGVkIGRpcmVjdGx5IGZyb20gYW4gUzMgb2JqZWN0XG4gICAqIEBwYXJhbSBzM0xvY2F0aW9uIFRoZSBzb3VyY2UgY29kZSBsb2NhdGlvbiBhbmQgY29uZmlndXJhdGlvbiBkZXRhaWxzLlxuICAgKiBAcGFyYW0gcnVudGltZSBUaGUgcnVudGltZSBlbnZpcm9ubWVudCBmb3IgZXhlY3V0aW5nIHRoZSBjb2RlLiBBbGxvd2VkIHZhbHVlczogUFlUSE9OXzNfMTAgfCBQWVRIT05fM18xMSB8IFBZVEhPTl8zXzEyIHwgUFlUSE9OXzNfMTMgfCBQWVRIT05fM18xNCB8IE5PREVfMjJcbiAgICogQHBhcmFtIGVudHJ5cG9pbnQgVGhlIGVudHJ5IHBvaW50IGZvciB0aGUgY29kZSBleGVjdXRpb24sIHNwZWNpZnlpbmcgdGhlIGZ1bmN0aW9uIG9yIG1ldGhvZCB0aGF0IHNob3VsZCBiZSBpbnZva2VkIHdoZW4gdGhlIGNvZGUgcnVucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVMzKHMzTG9jYXRpb246IHMzLkxvY2F0aW9uLCBydW50aW1lOiBBZ2VudENvcmVSdW50aW1lLCBlbnRyeXBvaW50OiBzdHJpbmdbXSk6IEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgICByZXR1cm4gbmV3IFMzSW1hZ2UoczNMb2NhdGlvbiwgcnVudGltZSwgZW50cnlwb2ludCk7XG4gIH1cblxuICAvKipcbiAgICogUmVmZXJlbmNlIGFuIGFnZW50IHJ1bnRpbWUgYXJ0aWZhY3QgdGhhdCdzIGNvbnN0cnVjdGVkIGZyb20gbG9jYWwgY29kZSBhc3NldHMgdXBsb2FkZWQgdG8gYSBDREstbWFuYWdlZCBTMyBidWNrZXRcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBjb2RlIGFzc2V0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Db2RlQXNzZXQob3B0aW9uczogQ29kZUFzc2V0T3B0aW9ucyk6IEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgICByZXR1cm4gbmV3IENvZGVBc3NldChvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gaW1hZ2UgdXNpbmcgYW4gRUNSIGNvbnRhaW5lciBVUklcbiAgICpcbiAgICogVXNlIHRoaXMgd2hlbiByZWZlcmVuY2luZyBFQ1IgaW1hZ2VzIGZyb20gQ2xvdWRGb3JtYXRpb24gcGFyYW1ldGVycyBvciBjcm9zcy1zdGFjayByZWZlcmVuY2VzLlxuICAgKlxuICAgKiAqKk5vdGU6KiogTm8gSUFNIHBlcm1pc3Npb25zIGFyZSBhdXRvbWF0aWNhbGx5IGdyYW50ZWQuIFlvdSBtdXN0IGVuc3VyZSB0aGUgcnVudGltZSBoYXNcbiAgICogRUNSIHB1bGwgcGVybWlzc2lvbnMgZm9yIHRoZSByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyVXJpIFRoZSBFQ1IgY29udGFpbmVyIGltYWdlIFVSSSAoZm9ybWF0OiB7YWNjb3VudH0uZGtyLmVjci57cmVnaW9ufS5hbWF6b25hd3MuY29tL3tyZXBvc2l0b3J5fTp7dGFnfSlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUltYWdlVXJpKGNvbnRhaW5lclVyaTogc3RyaW5nKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgSW1hZ2VVcmlBcnRpZmFjdChjb250YWluZXJVcmkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBpbWFnZSBpcyB1c2VkIGJ5IGEgUnVudGltZSB0byBoYW5kbGUgc2lkZSBlZmZlY3RzIGxpa2UgcGVybWlzc2lvbnNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGFydGlmYWN0IGNvbmZpZ3VyYXRpb24gZm9yIENsb3VkRm9ybWF0aW9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5O1xufVxuXG5jbGFzcyBFY3JJbWFnZSBleHRlbmRzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgcHJpdmF0ZSBib3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeTogZWNyLklSZXBvc2l0b3J5LCBwcml2YXRlIHJlYWRvbmx5IHRhZzogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gSGFuZGxlIHBlcm1pc3Npb25zIChvbmx5IG9uY2UpXG4gICAgaWYgKCF0aGlzLmJvdW5kICYmIHJ1bnRpbWUucm9sZSkge1xuICAgICAgdGhpcy5yZXBvc2l0b3J5LmdyYW50UHVsbChydW50aW1lLnJvbGUpO1xuICAgICAgdGhpcy5ib3VuZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5IHtcbiAgICAvLyBSZXR1cm4gY29udGFpbmVyIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgYXMgZXhwZWN0ZWQgYnkgdGhlIHJ1bnRpbWVcbiAgICAvLyBUaGUgcnVudGltZSB3cmFwcyB0aGlzIGluIGNvbnRhaW5lckNvbmZpZ3VyYXRpb25cbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyVXJpOiB0aGlzLnJlcG9zaXRvcnkucmVwb3NpdG9yeVVyaUZvclRhZyh0aGlzLnRhZyksXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cblxuY2xhc3MgQXNzZXRJbWFnZSBleHRlbmRzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgcHJpdmF0ZSBhc3NldD86IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0O1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBhc3NldHMuRG9ja2VySW1hZ2VBc3NldE9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gQ3JlYXRlIHRoZSBhc3NldCBpZiBub3QgYWxyZWFkeSBjcmVhdGVkXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0KHNjb3BlLCAnQWdlbnRSdW50aW1lQXJ0aWZhY3QnLCB7XG4gICAgICAgIGRpcmVjdG9yeTogdGhpcy5kaXJlY3RvcnksXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEdyYW50IHBlcm1pc3Npb25zIChvbmx5IG9uY2UpXG4gICAgaWYgKCF0aGlzLmJvdW5kKSB7XG4gICAgICB0aGlzLmFzc2V0LnJlcG9zaXRvcnkuZ3JhbnRQdWxsKHJ1bnRpbWUucm9sZSk7XG4gICAgICB0aGlzLmJvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGxpdGBBc3NldE5vdEluaXRpYWxpemVkYCwgJ0Fzc2V0IG5vdCBpbml0aWFsaXplZC4gQ2FsbCBiaW5kKCkgYmVmb3JlIF9yZW5kZXIoKScpO1xuICAgIH1cblxuICAgIC8vIFJldHVybiBjb250YWluZXIgY29uZmlndXJhdGlvbiBkaXJlY3RseSBhcyBleHBlY3RlZCBieSB0aGUgcnVudGltZVxuICAgIC8vIFRoZSBydW50aW1lIHdyYXBzIHRoaXMgaW4gY29udGFpbmVyQ29uZmlndXJhdGlvblxuICAgIHJldHVybiB7XG4gICAgICBjb250YWluZXJVcmk6IHRoaXMuYXNzZXQuaW1hZ2VVcmksXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cblxuY2xhc3MgUzNJbWFnZSBleHRlbmRzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgcHJpdmF0ZSBib3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgczNMb2NhdGlvbjogczMuTG9jYXRpb24sIHByaXZhdGUgcmVhZG9ubHkgcnVudGltZTogQWdlbnRDb3JlUnVudGltZSwgcHJpdmF0ZSByZWFkb25seSBlbnRyeXBvaW50OiBzdHJpbmdbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gSGFuZGxlIHBlcm1pc3Npb25zIChvbmx5IG9uY2UpXG4gICAgaWYgKCF0aGlzLmJvdW5kICYmIHJ1bnRpbWUucm9sZSkge1xuICAgICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQodGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUpKSB7XG4gICAgICAgIFN0YWNrLm9mKHNjb3BlKS5yZXNvbHZlKHRoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJ1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0TmFtZShcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIGAke3RoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lfUNvZGVBcmNoaXZlYCxcbiAgICAgICAgdGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUsXG4gICAgICApO1xuICAgICAgLy8gRW5zdXJlIHRoZSBwb2xpY3kgaXMgYXBwbGllZCBiZWZvcmUgdGhlIGJyb3dzZXIgcmVzb3VyY2UgaXMgY3JlYXRlZFxuICAgICAgYnVja2V0LmdyYW50UmVhZChydW50aW1lLnJvbGUpO1xuICAgICAgdGhpcy5ib3VuZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5IHtcbiAgICBjb25zdCBzM0NvbmZpZzogYW55ID0ge1xuICAgICAgYnVja2V0OiB0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgIHByZWZpeDogdGhpcy5zM0xvY2F0aW9uLm9iamVjdEtleSxcbiAgICB9O1xuICAgIGlmICh0aGlzLnMzTG9jYXRpb24ub2JqZWN0VmVyc2lvbikge1xuICAgICAgczNDb25maWcudmVyc2lvbklkID0gdGhpcy5zM0xvY2F0aW9uLm9iamVjdFZlcnNpb247XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiB7XG4gICAgICAgIHMzOiBzM0NvbmZpZyxcbiAgICAgIH0sXG4gICAgICBydW50aW1lOiB0aGlzLnJ1bnRpbWUsXG4gICAgICBlbnRyeVBvaW50OiB0aGlzLmVudHJ5cG9pbnQsXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cblxuY2xhc3MgQ29kZUFzc2V0IGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGFzc2V0PzogczNfYXNzZXRzLkFzc2V0O1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHJ1bnRpbWU6IEFnZW50Q29yZVJ1bnRpbWU7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nW107XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogczNfYXNzZXRzLkFzc2V0T3B0aW9ucztcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQ29kZUFzc2V0T3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBwYXRoLCBydW50aW1lLCBlbnRyeXBvaW50LCAuLi5vcHRpb25zIH0gPSBwcm9wcztcbiAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgIHRoaXMucnVudGltZSA9IHJ1bnRpbWU7XG4gICAgdGhpcy5lbnRyeXBvaW50ID0gZW50cnlwb2ludDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCwgcnVudGltZTogUnVudGltZSk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSB0aGUgYXNzZXQgaWYgbm90IGFscmVhZHkgY3JlYXRlZFxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldCA9IG5ldyBzM19hc3NldHMuQXNzZXQoc2NvcGUsICdBZ2VudFJ1bnRpbWVBcnRpZmFjdCcsIHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQgJiYgcnVudGltZS5yb2xlKSB7XG4gICAgICBjb25zdCBidWNrZXQgPSB0aGlzLmFzc2V0LmJ1Y2tldDtcbiAgICAgIC8vIEVuc3VyZSB0aGUgcG9saWN5IGlzIGFwcGxpZWQgYmVmb3JlIHRoZSBydW50aW1lIHJlc291cmNlIGlzIGNyZWF0ZWRcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQocnVudGltZS5yb2xlKTtcbiAgICAgIHRoaXMuYm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eSB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEFzc2V0Tm90SW5pdGlhbGl6ZWRgLCAnQXNzZXQgbm90IGluaXRpYWxpemVkLiBDYWxsIGJpbmQoKSBiZWZvcmUgX3JlbmRlcigpJyk7XG4gICAgfVxuXG4gICAgY29uc3QgczNDb25maWc6IGFueSA9IHtcbiAgICAgIGJ1Y2tldDogdGhpcy5hc3NldC5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIHByZWZpeDogdGhpcy5hc3NldC5zM09iamVjdEtleSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHtcbiAgICAgICAgczM6IHMzQ29uZmlnLFxuICAgICAgfSxcbiAgICAgIHJ1bnRpbWU6IHRoaXMucnVudGltZSxcbiAgICAgIGVudHJ5UG9pbnQ6IHRoaXMuZW50cnlwb2ludCxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBJbWFnZVVyaUFydGlmYWN0IGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lclVyaTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIFZhbGlkYXRlIEVDUiBjb250YWluZXIgVVJJIGZvcm1hdCBwZXIgQ2xvdWRGb3JtYXRpb24gcmVxdWlyZW1lbnRzXG4gICAgY29uc3QgZWNyUGF0dGVybiA9IC9eXFxkezEyfVxcLmRrclxcLmVjclxcLihbYS16MC05LV0rKVxcLmFtYXpvbmF3c1xcLmNvbVxcLygoPzpbYS16MC05XSsoPzpbLl8tXVthLXowLTldKykqXFwvKSpbYS16MC05XSsoPzpbLl8tXVthLXowLTldKykqKShbOkBdXFxTKykkLztcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChjb250YWluZXJVcmkpICYmICFlY3JQYXR0ZXJuLnRlc3QoY29udGFpbmVyVXJpKSkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgSW52YWxpZEVjckNvbnRhaW5lclVyaWAsXG4gICAgICAgIGBJbnZhbGlkIEVDUiBjb250YWluZXIgVVJJIGZvcm1hdDogJHtjb250YWluZXJVcml9LiBNdXN0IGJlIGFuIEVDUiBVUkk6IHthY2NvdW50fS5ka3IuZWNyLntyZWdpb259LmFtYXpvbmF3cy5jb20ve3JlcG9zaXRvcnl9Ont0YWd9YCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJpbmQoX3Njb3BlOiBDb25zdHJ1Y3QsIF9ydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gTm8gcGVybWlzc2lvbnMgYXJlIGdyYW50ZWQgYXV0b21hdGljYWxseSB3aGVuIHVzaW5nIGEgZGlyZWN0IFVSSS5cbiAgICAvLyBVc2VycyBtdXN0IG1hbmFnZSBFQ1IgcHVsbCBwZXJtaXNzaW9ucyBzZXBhcmF0ZWx5LlxuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyVXJpOiB0aGlzLmNvbnRhaW5lclVyaSxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuIl19
@@ -15,7 +15,7 @@ const perms_1 = require("./perms");
15
15
  * Base class for Agent Runtime
16
16
  */
17
17
  class RuntimeBase extends aws_cdk_lib_1.Resource {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeBase", version: "2.253.0-alpha.0" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeBase", version: "2.254.0-alpha.0" };
19
19
  /**
20
20
  * A reference to a Runtime resource.
21
21
  */
@@ -10,7 +10,7 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
10
10
  * Base class for Runtime Endpoint
11
11
  */
12
12
  class RuntimeEndpointBase extends aws_cdk_lib_1.Resource {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpointBase", version: "2.253.0-alpha.0" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpointBase", version: "2.254.0-alpha.0" };
14
14
  /**
15
15
  * A reference to a RuntimeEndpoint resource.
16
16
  */
@@ -69,7 +69,7 @@ let RuntimeEndpoint = (() => {
69
69
  RuntimeEndpoint = _classThis = _classDescriptor.value;
70
70
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
71
71
  }
72
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpoint", version: "2.253.0-alpha.0" };
72
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpoint", version: "2.254.0-alpha.0" };
73
73
  /** Uniquely identifies this class. */
74
74
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.RuntimeEndpoint';
75
75
  /**
@@ -94,7 +94,7 @@ let Runtime = (() => {
94
94
  Runtime = _classThis = _classDescriptor.value;
95
95
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
96
96
  }
97
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Runtime", version: "2.253.0-alpha.0" };
97
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Runtime", version: "2.254.0-alpha.0" };
98
98
  /** Uniquely identifies this class. */
99
99
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.Runtime';
100
100
  /**
@@ -4,6 +4,8 @@
4
4
  import type { Duration } from 'aws-cdk-lib';
5
5
  /**
6
6
  * Protocol configuration for Agent Runtime
7
+ *
8
+ * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-protocolconfiguration
7
9
  */
8
10
  export declare enum ProtocolType {
9
11
  /**
@@ -17,7 +19,11 @@ export declare enum ProtocolType {
17
19
  /**
18
20
  * A2A protocol
19
21
  */
20
- A2A = "A2A"
22
+ A2A = "A2A",
23
+ /**
24
+ * Agent User Interaction (AGUI) protocol
25
+ */
26
+ AGUI = "AGUI"
21
27
  }
22
28
  /**
23
29
  * Configuration for HTTP request headers that will be passed through to the runtime.
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProtocolType = void 0;
7
7
  /**
8
8
  * Protocol configuration for Agent Runtime
9
+ *
10
+ * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-bedrockagentcore-runtime.html#cfn-bedrockagentcore-runtime-protocolconfiguration
9
11
  */
10
12
  var ProtocolType;
11
13
  (function (ProtocolType) {
@@ -21,5 +23,9 @@ var ProtocolType;
21
23
  * A2A protocol
22
24
  */
23
25
  ProtocolType["A2A"] = "A2A";
26
+ /**
27
+ * Agent User Interaction (AGUI) protocol
28
+ */
29
+ ProtocolType["AGUI"] = "AGUI";
24
30
  })(ProtocolType || (exports.ProtocolType = ProtocolType = {}));
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7OytFQUUrRTs7O0FBSS9FOztHQUVHO0FBQ0gsSUFBWSxZQWVYO0FBZkQsV0FBWSxZQUFZO0lBQ3RCOztPQUVHO0lBQ0gsMkJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsNkJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsMkJBQVcsQ0FBQTtBQUNiLENBQUMsRUFmVyxZQUFZLDRCQUFaLFlBQVksUUFldkIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuLyoqXG4gKiBQcm90b2NvbCBjb25maWd1cmF0aW9uIGZvciBBZ2VudCBSdW50aW1lXG4gKi9cbmV4cG9ydCBlbnVtIFByb3RvY29sVHlwZSB7XG4gIC8qKlxuICAgKiBNb2RlbCBDb250ZXh0IFByb3RvY29sXG4gICAqL1xuICBNQ1AgPSAnTUNQJyxcblxuICAvKipcbiAgICogSFRUUCBwcm90b2NvbFxuICAgKi9cbiAgSFRUUCA9ICdIVFRQJyxcblxuICAvKipcbiAgICogQTJBIHByb3RvY29sXG4gICAqL1xuICBBMkEgPSAnQTJBJyxcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBIVFRQIHJlcXVlc3QgaGVhZGVycyB0aGF0IHdpbGwgYmUgcGFzc2VkIHRocm91Z2ggdG8gdGhlIHJ1bnRpbWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEhlYWRlckNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQSBsaXN0IG9mIEhUVFAgcmVxdWVzdCBoZWFkZXJzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgcGFzc2VkIHRocm91Z2ggdG8gdGhlIHJ1bnRpbWUuXG4gICAqIEBkZWZhdWx0IC0gTm8gcmVxdWVzdCBoZWFkZXJzIGFsbG93ZWRcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93bGlzdGVkSGVhZGVycz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIExpZmVjeWNsZUNvbmZpZ3VyYXRpb24gbGV0cyB5b3UgbWFuYWdlIHRoZSBsaWZlY3ljbGUgb2YgcnVudGltZSBzZXNzaW9ucyBhbmQgcmVzb3VyY2VzIGluIEFnZW50Q29yZSBSdW50aW1lLlxuICogVGhpcyBjb25maWd1cmF0aW9uIGhlbHBzIG9wdGltaXplIHJlc291cmNlIHV0aWxpemF0aW9uIGJ5IGF1dG9tYXRpY2FsbHkgY2xlYW5pbmcgdXAgaWRsZSBzZXNzaW9ucyBhbmQgcHJldmVudGluZ1xuICogbG9uZy1ydW5uaW5nIGluc3RhbmNlcyBmcm9tIGNvbnN1bWluZyByZXNvdXJjZXMgaW5kZWZpbml0ZWx5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZmVjeWNsZUNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogVGltZW91dCBpbiBzZWNvbmRzIGZvciBpZGxlIHJ1bnRpbWUgc2Vzc2lvbnMuIFdoZW4gYSBzZXNzaW9uIHJlbWFpbnMgaWRsZSBmb3IgdGhpcyBkdXJhdGlvbixcbiAgICogaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZWQuXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZCAtIHNlcnZpY2UgZGVmYXVsdCBzZXR0aW5nIGlzIDkwMCBzZWNvbmRzICgxNSBtaW51dGVzKVxuICAgKi9cbiAgcmVhZG9ubHkgaWRsZVJ1bnRpbWVTZXNzaW9uVGltZW91dD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGxpZmV0aW1lIGZvciB0aGUgaW5zdGFuY2UgaW4gc2Vjb25kcy4gT25jZSByZWFjaGVkLCBpbnN0YW5jZXMgd2lsbCBiZSBhdXRvbWF0aWNhbGx5XG4gICAqIHRlcm1pbmF0ZWQgYW5kIHJlcGxhY2VkLlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQgLSBzZXJ2aWNlIGRlZmF1bHQgc2V0dGluZyBpcyAyODgwMCBzZWNvbmRzICg4IGhvdXJzKVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4TGlmZXRpbWU/OiBEdXJhdGlvbjtcbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7OytFQUUrRTs7O0FBSS9FOzs7O0dBSUc7QUFDSCxJQUFZLFlBb0JYO0FBcEJELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILDJCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDZCQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILDJCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDZCQUFhLENBQUE7QUFDZixDQUFDLEVBcEJXLFlBQVksNEJBQVosWUFBWSxRQW9CdkIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuLyoqXG4gKiBQcm90b2NvbCBjb25maWd1cmF0aW9uIGZvciBBZ2VudCBSdW50aW1lXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1RlbXBsYXRlUmVmZXJlbmNlL2F3cy1yZXNvdXJjZS1iZWRyb2NrYWdlbnRjb3JlLXJ1bnRpbWUuaHRtbCNjZm4tYmVkcm9ja2FnZW50Y29yZS1ydW50aW1lLXByb3RvY29sY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZW51bSBQcm90b2NvbFR5cGUge1xuICAvKipcbiAgICogTW9kZWwgQ29udGV4dCBQcm90b2NvbFxuICAgKi9cbiAgTUNQID0gJ01DUCcsXG5cbiAgLyoqXG4gICAqIEhUVFAgcHJvdG9jb2xcbiAgICovXG4gIEhUVFAgPSAnSFRUUCcsXG5cbiAgLyoqXG4gICAqIEEyQSBwcm90b2NvbFxuICAgKi9cbiAgQTJBID0gJ0EyQScsXG5cbiAgLyoqXG4gICAqIEFnZW50IFVzZXIgSW50ZXJhY3Rpb24gKEFHVUkpIHByb3RvY29sXG4gICAqL1xuICBBR1VJID0gJ0FHVUknLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEhUVFAgcmVxdWVzdCBoZWFkZXJzIHRoYXQgd2lsbCBiZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgcnVudGltZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0SGVhZGVyQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgSFRUUCByZXF1ZXN0IGhlYWRlcnMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgcnVudGltZS5cbiAgICogQGRlZmF1bHQgLSBObyByZXF1ZXN0IGhlYWRlcnMgYWxsb3dlZFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dsaXN0ZWRIZWFkZXJzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogTGlmZWN5Y2xlQ29uZmlndXJhdGlvbiBsZXRzIHlvdSBtYW5hZ2UgdGhlIGxpZmVjeWNsZSBvZiBydW50aW1lIHNlc3Npb25zIGFuZCByZXNvdXJjZXMgaW4gQWdlbnRDb3JlIFJ1bnRpbWUuXG4gKiBUaGlzIGNvbmZpZ3VyYXRpb24gaGVscHMgb3B0aW1pemUgcmVzb3VyY2UgdXRpbGl6YXRpb24gYnkgYXV0b21hdGljYWxseSBjbGVhbmluZyB1cCBpZGxlIHNlc3Npb25zIGFuZCBwcmV2ZW50aW5nXG4gKiBsb25nLXJ1bm5pbmcgaW5zdGFuY2VzIGZyb20gY29uc3VtaW5nIHJlc291cmNlcyBpbmRlZmluaXRlbHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlmZWN5Y2xlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaW1lb3V0IGluIHNlY29uZHMgZm9yIGlkbGUgcnVudGltZSBzZXNzaW9ucy4gV2hlbiBhIHNlc3Npb24gcmVtYWlucyBpZGxlIGZvciB0aGlzIGR1cmF0aW9uLFxuICAgKiBpdCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlZC5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkIC0gc2VydmljZSBkZWZhdWx0IHNldHRpbmcgaXMgOTAwIHNlY29uZHMgKDE1IG1pbnV0ZXMpXG4gICAqL1xuICByZWFkb25seSBpZGxlUnVudGltZVNlc3Npb25UaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbGlmZXRpbWUgZm9yIHRoZSBpbnN0YW5jZSBpbiBzZWNvbmRzLiBPbmNlIHJlYWNoZWQsIGluc3RhbmNlcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHlcbiAgICogdGVybWluYXRlZCBhbmQgcmVwbGFjZWQuXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZCAtIHNlcnZpY2UgZGVmYXVsdCBzZXR0aW5nIGlzIDI4ODAwIHNlY29uZHMgKDggaG91cnMpXG4gICAqL1xuICByZWFkb25seSBtYXhMaWZldGltZT86IER1cmF0aW9uO1xufVxuIl19
@@ -100,7 +100,7 @@ var BrowserSigning;
100
100
  * Contains methods and attributes valid for Browsers either created with CDK or imported.
101
101
  */
102
102
  class BrowserCustomBase extends aws_cdk_lib_1.Resource {
103
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserCustomBase", version: "2.253.0-alpha.0" };
103
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserCustomBase", version: "2.254.0-alpha.0" };
104
104
  /**
105
105
  * A reference to a BrowserCustom resource.
106
106
  */
@@ -374,7 +374,7 @@ let BrowserCustom = (() => {
374
374
  BrowserCustom = _classThis = _classDescriptor.value;
375
375
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
376
376
  }
377
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserCustom", version: "2.253.0-alpha.0" };
377
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserCustom", version: "2.254.0-alpha.0" };
378
378
  /** Uniquely identifies this class. */
379
379
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.BrowserCustom';
380
380
  /**
@@ -80,7 +80,7 @@ const CODE_INTERPRETER_TAG_MAX_LENGTH = 256;
80
80
  * Contains methods and attributes valid for Code Interpreters either created with CDK or imported.
81
81
  */
82
82
  class CodeInterpreterCustomBase extends aws_cdk_lib_1.Resource {
83
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterCustomBase", version: "2.253.0-alpha.0" };
83
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterCustomBase", version: "2.254.0-alpha.0" };
84
84
  /**
85
85
  * A reference to a CodeInterpreterCustom resource.
86
86
  */
@@ -332,7 +332,7 @@ let CodeInterpreterCustom = (() => {
332
332
  CodeInterpreterCustom = _classThis = _classDescriptor.value;
333
333
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
334
334
  }
335
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterCustom", version: "2.253.0-alpha.0" };
335
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterCustom", version: "2.254.0-alpha.0" };
336
336
  /** Uniquely identifies this class. */
337
337
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.CodeInterpreterCustom';
338
338
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-bedrock-agentcore-alpha",
3
- "version": "2.253.0-alpha.0",
3
+ "version": "2.254.0-alpha.0",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for Amazon Bedrock",
6
6
  "main": "lib/index.js",
@@ -78,21 +78,21 @@
78
78
  },
79
79
  "license": "Apache-2.0",
80
80
  "devDependencies": {
81
- "aws-cdk-lib": "2.253.0",
82
- "@aws-cdk/aws-bedrock-alpha": "2.253.0-alpha.0",
83
- "@aws-cdk/cdk-build-tools": "2.253.0-alpha.0",
81
+ "aws-cdk-lib": "2.254.0",
82
+ "@aws-cdk/aws-bedrock-alpha": "2.254.0-alpha.0",
83
+ "@aws-cdk/cdk-build-tools": "2.254.0-alpha.0",
84
84
  "@aws-cdk/integ-runner": "^2.197.1",
85
- "@aws-cdk/pkglint": "2.253.0-alpha.0",
86
- "@aws-cdk/integ-tests-alpha": "2.253.0-alpha.0",
85
+ "@aws-cdk/pkglint": "2.254.0-alpha.0",
86
+ "@aws-cdk/integ-tests-alpha": "2.254.0-alpha.0",
87
87
  "@types/jest": "^29.5.14",
88
88
  "constructs": "^10.5.0",
89
89
  "jest": "^29.7.0"
90
90
  },
91
91
  "homepage": "https://github.com/aws/aws-cdk",
92
92
  "peerDependencies": {
93
- "aws-cdk-lib": "^2.253.0",
93
+ "aws-cdk-lib": "^2.254.0",
94
94
  "constructs": "^10.5.0",
95
- "@aws-cdk/aws-bedrock-alpha": "2.253.0-alpha.0"
95
+ "@aws-cdk/aws-bedrock-alpha": "2.254.0-alpha.0"
96
96
  },
97
97
  "engines": {
98
98
  "node": ">= 20.0.0"
@@ -135,7 +135,7 @@
135
135
  "prefer-ref-interface:aws-cdk-lib.aws_lambda.IFunction.grantInvokeVersion.version",
136
136
  "prefer-ref-interface:aws-cdk-lib.aws_lambda.IVersion.grantInvokeVersion.version",
137
137
  "prefer-ref-interface:aws-cdk-lib.aws_lambda.VersionWeight.version",
138
- "prefer-ref-interface:@aws-cdk/aws-bedrock-agentcore-alpha.ICredentialProviderConfig.grantNeededPermissionsToRole.role",
138
+ "prefer-ref-interface:@aws-cdk/aws-bedrock-agentcore-alpha.ICredentialProviderConfig.grantNeededPermissionsToRole.gateway",
139
139
  "prefer-ref-interface:@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProps.kmsKey",
140
140
  "prefer-ref-interface:@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProps.role",
141
141
  "prefer-ref-interface:@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetLambdaProps.gateway",
@@ -158,12 +158,20 @@
158
158
  "interface-extends-ref:@aws-cdk/aws-bedrock-agentcore-alpha.IGatewayTarget",
159
159
  "interface-extends-ref:@aws-cdk/aws-bedrock-agentcore-alpha.IMcpGatewayTarget",
160
160
  "interface-extends-ref:@aws-cdk/aws-bedrock-agentcore-alpha.IMemory",
161
+ "interface-extends-ref:@aws-cdk/aws-bedrock-agentcore-alpha.IApiKeyCredentialProvider",
162
+ "interface-extends-ref:@aws-cdk/aws-bedrock-agentcore-alpha.IOAuth2CredentialProvider",
163
+ "construct-ctor-props-type:@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialProvider",
164
+ "props-no-arn-refs:@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialProviderProps.providerArn",
165
+ "props-no-arn-refs:@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialProviderProps.secretArn",
166
+ "props-physical-name:@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialProviderProps",
167
+ "props-struct-name:@aws-cdk/aws-bedrock-agentcore-alpha.IOAuth2CredentialProvider",
168
+ "no-unused-type:@aws-cdk/aws-bedrock-agentcore-alpha.OAuth2CredentialProviderVendor",
161
169
  "interface-extends-ref:@aws-cdk/aws-bedrock-agentcore-alpha.IRuntimeEndpoint"
162
170
  ]
163
171
  },
164
172
  "jsiiRosetta": {
165
173
  "exampleDependencies": {
166
- "@aws-cdk/aws-bedrock-alpha": "^2.253.0-alpha.0"
174
+ "@aws-cdk/aws-bedrock-alpha": "^2.254.0-alpha.0"
167
175
  }
168
176
  }
169
177
  }