@aws-cdk/aws-bedrock-agentcore-alpha 2.222.0-alpha.0 → 2.223.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.
@@ -23,21 +23,18 @@ import { IMemoryStrategy, MemoryStrategyCommonProps, MemoryStrategyType } from '
23
23
  export interface TriggerConditions {
24
24
  /**
25
25
  * Triggers memory processing when specified number of new messages is reached
26
- * @default - 1
27
- * @required - No
26
+ * @default 1
28
27
  */
29
28
  readonly messageBasedTrigger?: number;
30
29
  /**
31
30
  * Triggers memory processing when the session has been idle for the specified duration.
32
31
  * Value in seconds.
33
- * @default - 10
34
- * @required - No
32
+ * @default - 10 seconds
35
33
  */
36
34
  readonly timeBasedTrigger?: cdk.Duration;
37
35
  /**
38
36
  * Triggers memory processing when the token size reaches the specified threshold.
39
- * @default - 100
40
- * @required - No
37
+ * @default 100
41
38
  */
42
39
  readonly tokenBasedTrigger?: number;
43
40
  }
@@ -47,12 +44,10 @@ export interface TriggerConditions {
47
44
  export interface InvocationConfiguration {
48
45
  /**
49
46
  * SNS Topic Configuration
50
- * @required - Yes
51
47
  */
52
48
  readonly topic: sns.ITopic;
53
49
  /**
54
50
  * S3 Location Configuration
55
- * @required - Yes
56
51
  */
57
52
  readonly s3Location: Location;
58
53
  }
@@ -63,19 +58,16 @@ export interface InvocationConfiguration {
63
58
  export interface SelfManagedStrategyProps extends MemoryStrategyCommonProps {
64
59
  /**
65
60
  * Define the number of previous events to be included when processing memory. A larger history window provides more context from past conversations.
66
- * @default - 4
67
- * @required - No
61
+ * @default 4
68
62
  */
69
63
  readonly historicalContextWindowSize?: number;
70
64
  /**
71
65
  * Invocation configuration for self managed memory strategy
72
- * @required - Yes
73
66
  */
74
67
  readonly invocationConfiguration: InvocationConfiguration;
75
68
  /**
76
69
  * Trigger conditions for self managed memory strategy
77
70
  * @default - undefined
78
- * @required - No
79
71
  */
80
72
  readonly triggerConditions?: TriggerConditions;
81
73
  }
@@ -74,7 +74,7 @@ const DEFAULT_TOKEN_BASED_TRIGGER = 100;
74
74
  * Use AgentCore memory for event storage with custom triggers. Define memory processing logic in your own environment.
75
75
  */
76
76
  class SelfManagedMemoryStrategy {
77
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedMemoryStrategy", version: "2.222.0-alpha.0" };
77
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedMemoryStrategy", version: "2.223.0-alpha.0" };
78
78
  name;
79
79
  description;
80
80
  strategyType;
@@ -251,4 +251,4 @@ class SelfManagedMemoryStrategy {
251
251
  };
252
252
  }
253
253
  exports.SelfManagedMemoryStrategy = SelfManagedMemoryStrategy;
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZi1tYW5hZ2VkLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VsZi1tYW5hZ2VkLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBY0EsbUNBQW1DO0FBR25DLDJDQUEyQztBQUUzQyx3REFBb0o7QUFDcEosOERBQXdHO0FBRXhHOzsrRUFFK0U7QUFDL0U7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFDbEM7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7QUFDcEM7OztHQUdHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUM7QUFDcEM7OztHQUdHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUM7QUFDdkM7OztHQUdHO0FBQ0gsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFDcEM7OztHQUdHO0FBQ0gsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLENBQUM7QUFDckM7OztHQUdHO0FBQ0gsTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7QUFDN0M7OztHQUdHO0FBQ0gsTUFBTSxrQ0FBa0MsR0FBRyxFQUFFLENBQUM7QUFDOUM7OztHQUdHO0FBQ0gsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLENBQUM7QUFDakQ7OztHQUdHO0FBQ0gsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLENBQUM7QUFDeEM7OztHQUdHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM1RDs7O0dBR0c7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsQ0FBQztBQW9FeEM7O0dBRUc7QUFDSCxNQUFhLHlCQUF5Qjs7SUFDcEIsSUFBSSxDQUFTO0lBQ2IsV0FBVyxDQUFVO0lBQ3JCLFlBQVksQ0FBcUI7SUFDakQ7O09BRUc7SUFDYSx1QkFBdUIsQ0FBMEI7SUFDakU7O09BRUc7SUFDYSxpQkFB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UUFBUSxzQkFBc0IsaUJBQWlCLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDcEksQ0FBQztRQUNILENBQUM7UUFFRCwrQkFBK0I7UUFDL0IsSUFBSSxpQkFBaUIsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0RCxJQUFJLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixJQUFJLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixFQUFFLENBQUM7Z0JBQ25JLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUNBQXVDLHVCQUF1QixRQUFRLHVCQUF1QixTQUFTLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztZQUMzSixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQzs7QUF2TEosOERBd0xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGJlZHJvY2thZ2VudGNvcmUgZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0IHsgSU1lbW9yeVN0cmF0ZWd5LCBNZW1vcnlTdHJhdGVneUNvbW1vblByb3BzLCBNZW1vcnlTdHJhdGVneVR5cGUsIE1FTU9SWV9OQU1FX01JTl9MRU5HVEgsIE1FTU9SWV9OQU1FX01BWF9MRU5HVEggfSBmcm9tICcuLi9tZW1vcnktc3RyYXRlZ3knO1xuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCwgdGhyb3dJZkludmFsaWQsIHZhbGlkYXRlRmllbGRQYXR0ZXJuIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1oZWxwZXJzJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT05TVEFOVFNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxuICogTWluaW11bSB2YWx1ZSBmb3IgdGltZS1iYXNlZCB0cmlnZ2VyIGluIHNlY29uZHNcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBUSU1FX0JBU0VEX1RSSUdHRVJfTUlOID0gMTA7XG4vKipcbiAqIE1heGltdW0gdmFsdWUgZm9yIHRpbWUtYmFzZWQgdHJpZ2dlciBpbiBzZWNvbmRzXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgVElNRV9CQVNFRF9UUklHR0VSX01BWCA9IDMwMDA7XG4vKipcbiAqIE1pbmltdW0gdmFsdWUgZm9yIHRva2VuLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBUT0tFTl9CQVNFRF9UUklHR0VSX01JTiA9IDEwMDtcbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgdG9rZW4tYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IFRPS0VOX0JBU0VEX1RSSUdHRVJfTUFYID0gNTAwMDAwO1xuLyoqXG4gKiBNaW5pbXVtIHZhbHVlIGZvciBtZXNzYWdlLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUlOID0gMTtcbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgbWVzc2FnZS1iYXNlZCB0cmlnZ2VyXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgTUVTU0FHRV9CQVNFRF9UUklHR0VSX01BWCA9IDUwO1xuLyoqXG4gKiBNaW5pbXVtIHZhbHVlIGZvciBoaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemVcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkVfTUlOID0gMDtcbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgaGlzdG9yaWNhbCBjb250ZXh0IHdpbmRvdyBzaXplXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgSElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01BWCA9IDUwO1xuLyoqXG4gKiBEZWZhdWx0IHZhbHVlIGZvciBoaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemVcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBERUZBVUxUX0hJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRSA9IDQ7XG4vKipcbiAqIERlZmF1bHQgdmFsdWUgZm9yIG1lc3NhZ2UtYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IERFRkFVTFRfTUVTU0FHRV9CQVNFRF9UUklHR0VSID0gMTtcbi8qKlxuICogRGVmYXVsdCB2YWx1ZSBmb3IgdGltZS1iYXNlZCB0cmlnZ2VyXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgREVGQVVMVF9USU1FX0JBU0VEX1RSSUdHRVIgPSBjZGsuRHVyYXRpb24uc2Vjb25kcygxMCk7XG4vKipcbiAqIERlZmF1bHQgdmFsdWUgZm9yIHRva2VuLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBERUZBVUxUX1RPS0VOX0JBU0VEX1RSSUdHRVIgPSAxMDA7XG5cbi8qKlxuICogVHJpZ2dlciBjb25kaXRpb25zIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gKiBXaGVuIGZpcnN0IGNvbmRpdGlvbiBpcyBtZXQsIGJhdGNoZWQgcGF5bG9hZHMgYXJlIHNlbnQgdG8gc3BlY2lmaWVkIFMzIGJ1Y2tldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmlnZ2VyQ29uZGl0aW9ucyB7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyBtZW1vcnkgcHJvY2Vzc2luZyB3aGVuIHNwZWNpZmllZCBudW1iZXIgb2YgbmV3IG1lc3NhZ2VzIGlzIHJlYWNoZWRcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqIEByZXF1aXJlZCAtIE5vXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlQmFzZWRUcmlnZ2VyPzogbnVtYmVyO1xuICAvKipcbiAgICogVHJpZ2dlcnMgbWVtb3J5IHByb2Nlc3Npbmcgd2hlbiB0aGUgc2Vzc2lvbiBoYXMgYmVlbiBpZGxlIGZvciB0aGUgc3BlY2lmaWVkIGR1cmF0aW9uLlxuICAgKiBWYWx1ZSBpbiBzZWNvbmRzLlxuICAgKiBAZGVmYXVsdCAtIDEwXG4gICAqIEByZXF1aXJlZCAtIE5vXG4gICAqL1xuICByZWFkb25seSB0aW1lQmFzZWRUcmlnZ2VyPzogY2RrLkR1cmF0aW9uO1xuICAvKipcbiAgICogVHJpZ2dlcnMgbWVtb3J5IHByb2Nlc3Npbmcgd2hlbiB0aGUgdG9rZW4gc2l6ZSByZWFjaGVzIHRoZSBzcGVjaWZpZWQgdGhyZXNob2xkLlxuICAgKiBAZGVmYXVsdCAtIDEwMFxuICAgKiBAcmVxdWlyZWQgLSBOb1xuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5CYXNlZFRyaWdnZXI/OiBudW1iZXI7XG59XG5cbi8qKlxuICogSW52b2NhdGlvbiBjb25maWd1cmF0aW9uIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2NhdGlvbkNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogU05TIFRvcGljIENvbmZpZ3VyYXRpb25cbiAgICogQHJlcXVpcmVkIC0gWWVzXG4gICAqL1xuICByZWFkb25seSB0b3BpYzogc25zLklUb3BpYztcbiAgLyoqXG4gICAqIFMzIExvY2F0aW9uIENvbmZpZ3VyYXRpb25cbiAgICogQHJlcXVpcmVkIC0gWWVzXG4gICAqL1xuICByZWFkb25seSBzM0xvY2F0aW9uOiBMb2NhdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgZm9yIGEgc2VsZiBtYW5hZ2VkIG1lbW9yeSBzdHJhdGVneVxuICogZXhpc3RpbmcgYnVpbHQtaW4gZGVmYXVsdCBwcm9tcHRzL21vZGVsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGZNYW5hZ2VkU3RyYXRlZ3lQcm9wcyBleHRlbmRzIE1lbW9yeVN0cmF0ZWd5Q29tbW9uUHJvcHMge1xuICAvKipcbiAgICogRGVmaW5lIHRoZSBudW1iZXIgb2YgcHJldmlvdXMgZXZlbnRzIHRvIGJlIGluY2x1ZGVkIHdoZW4gcHJvY2Vzc2luZyBtZW1vcnkuIEEgbGFyZ2VyIGhpc3Rvcnkgd2luZG93IHByb3ZpZGVzIG1vcmUgY29udGV4dCBmcm9tIHBhc3QgY29udmVyc2F0aW9ucy5cbiAgICogQGRlZmF1bHQgLSA0XG4gICAqIEByZXF1aXJlZCAtIE5vXG4gICAqL1xuICByZWFkb25seSBoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBJbnZvY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICogQHJlcXVpcmVkIC0gWWVzXG4gICAqL1xuICByZWFkb25seSBpbnZvY2F0aW9uQ29uZmlndXJhdGlvbjogSW52b2NhdGlvbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUcmlnZ2VyIGNvbmRpdGlvbnMgZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICogQHJlcXVpcmVkIC0gTm9cbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJDb25kaXRpb25zPzogVHJpZ2dlckNvbmRpdGlvbnM7XG59XG5cbi8qKlxuICogVXNlIEFnZW50Q29yZSBtZW1vcnkgZm9yIGV2ZW50IHN0b3JhZ2Ugd2l0aCBjdXN0b20gdHJpZ2dlcnMuIERlZmluZSBtZW1vcnkgcHJvY2Vzc2luZyBsb2dpYyBpbiB5b3VyIG93biBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlbGZNYW5hZ2VkTWVtb3J5U3RyYXRlZ3kgaW1wbGVtZW50cyBJTWVtb3J5U3RyYXRlZ3kge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBzdHJhdGVneVR5cGU6IE1lbW9yeVN0cmF0ZWd5VHlwZTtcbiAgLyoqXG4gICAqIEludm9jYXRpb24gY29uZmlndXJhdGlvbiBmb3Igc2VsZiBtYW5hZ2VkIG1lbW9yeSBzdHJhdGVneVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGludm9jYXRpb25Db25maWd1cmF0aW9uOiBJbnZvY2F0aW9uQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRyaWdnZXIgY29uZGl0aW9ucyBmb3Igc2VsZiBtYW5hZ2VkIG1lbW9yeSBzdHJhdGVneVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRyaWdnZXJDb25kaXRpb25zOiBUcmlnZ2VyQ29uZGl0aW9ucztcbiAgLyoqXG4gICAqIEhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZSBmb3Igc2VsZiBtYW5hZ2VkIG1lbW9yeSBzdHJhdGVneVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHN0cmF0ZWd5VHlwZTogTWVtb3J5U3RyYXRlZ3lUeXBlLCBwcm9wczogU2VsZk1hbmFnZWRTdHJhdGVneVByb3BzKSB7XG4gICAgdGhpcy5uYW1lID0gcHJvcHMubmFtZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gcHJvcHMuZGVzY3JpcHRpb247XG4gICAgdGhpcy5zdHJhdGVneVR5cGUgPSBzdHJhdGVneVR5cGU7XG4gICAgdGhpcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbiA9IHByb3BzLmludm9jYXRpb25Db25maWd1cmF0aW9uO1xuICAgIHRoaXMudHJpZ2dlckNvbmRpdGlvbnMgPSB7XG4gICAgICBtZXNzYWdlQmFzZWRUcmlnZ2VyOiBwcm9wcy50cmlnZ2VyQ29uZGl0aW9ucz8ubWVzc2FnZUJhc2VkVHJpZ2dlciA/PyBERUZBVUxUX01FU1NBR0VfQkFTRURfVFJJR0dFUixcbiAgICAgIHRpbWVCYXNlZFRyaWdnZXI6IHByb3BzLnRyaWdnZXJDb25kaXRpb25zPy50aW1lQmFzZWRUcmlnZ2VyID8/IERFRkFVTFRfVElNRV9CQVNFRF9UUklHR0VSLFxuICAgICAgdG9rZW5CYXNlZFRyaWdnZXI6IHByb3BzLnRyaWdnZXJDb25kaXRpb25zPy50b2tlbkJhc2VkVHJpZ2dlciA/PyBERUZBVUxUX1RPS0VOX0JBU0VEX1RSSUdHRVIsXG4gICAgfTtcbiAgICB0aGlzLmhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSA9IHByb3BzLmhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSA/PyBERUZBVUxUX0hJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFZhbGlkYXRpb25zXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgdGhyb3dJZkludmFsaWQodGhpcy5fdmFsaWRhdGVNZW1vcnlTdHJhdGVneU5hbWUsIHRoaXMubmFtZSk7XG4gICAgdGhyb3dJZkludmFsaWQodGhpcy5fdmFsaWRhdGVIaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUsIHRoaXMuaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplKTtcbiAgICB0aHJvd0lmSW52YWxpZCh0aGlzLl92YWxpZGF0ZVRyaWdnZXJDb25kaXRpb25zLCB0aGlzLnRyaWdnZXJDb25kaXRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyByZW5kZXIoKTogYmVkcm9ja2FnZW50Y29yZS5DZm5NZW1vcnkuTWVtb3J5U3RyYXRlZ3lQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGN1c3RvbU1lbW9yeVN0cmF0ZWd5OiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgIHR5cGU6IHRoaXMuc3RyYXRlZ3lUeXBlLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgc2VsZk1hbmFnZWRDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICBoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemU6IHRoaXMuaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplLFxuICAgICAgICAgICAgaW52b2NhdGlvbkNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgdG9waWNBcm46IHRoaXMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb24udG9waWMudG9waWNBcm4sXG4gICAgICAgICAgICAgIHBheWxvYWREZWxpdmVyeUJ1Y2tldE5hbWU6IHRoaXMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb24uczNMb2NhdGlvbi5idWNrZXROYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRyaWdnZXJDb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlQmFzZWRUcmlnZ2VyOiB7XG4gICAgICAgICAgICAgICAgICBtZXNzYWdlQ291bnQ6IHRoaXMudHJpZ2dlckNvbmRpdGlvbnMubWVzc2FnZUJhc2VkVHJpZ2dlcixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGltZUJhc2VkVHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgICAgaWRsZVNlc3Npb25UaW1lb3V0OiB0aGlzLnRyaWdnZXJDb25kaXRpb25zLnRpbWVCYXNlZFRyaWdnZXI/LnRvU2Vjb25kcygpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0b2tlbkJhc2VkVHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgICAgdG9rZW5Db3VudDogdGhpcy50cmlnZ2VyQ29uZGl0aW9ucy50b2tlbkJhc2VkVHJpZ2dlcixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9IGFzIGFueTsgLy8gVHlwZSBhc3NlcnRpb24gdG8gd29yayBhcm91bmQgQ2xvdWRGb3JtYXRpb24gdHlwZSBsaW1pdGF0aW9uc1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyB0aGUgbmVjZXNzYXJ5IHBlcm1pc3Npb25zIHRvIHRoZSByb2xlXG4gICAqIEBwYXJhbSBncmFudGVlIC0gVGhlIGdyYW50ZWUgdG8gZ3JhbnQgcGVybWlzc2lvbnMgdG9cbiAgICogQHJldHVybnMgVGhlIEdyYW50IG9iamVjdCBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB8IHVuZGVmaW5lZCB7XG4gICAgLy8gbm8gZXhpc3RpbmcgZ3JhbnQgbWV0aG9kIHRoYXQgcHJvdmlkZXMgYm90aCByZXF1aXJlZCBzbnMgYWN0aW9uc1xuICAgIGNvbnN0IGdyYW50MSA9IGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiBncmFudGVlLFxuICAgICAgYWN0aW9uczogWydzbnM6R2V0VG9waWNBdHRyaWJ1dGVzJywgJ3NuczpQdWJsaXNoJ10sXG4gICAgICByZXNvdXJjZUFybnM6IFtcbiAgICAgICAgdGhpcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbi50b3BpYy50b3BpY0FybixcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBsZXQgZ3JhbnQyOiBpYW0uR3JhbnQgfCB1bmRlZmluZWQ7XG5cbiAgICAvLyB3ZSBkb24ndCBoYXZlIHRoZSBzY29wZSBoZXJlLCBzbyB3ZSBhZGQgbWFudWFsbHkgdGhlIHBlcm1pc3Npb25zIHRvIHRoZSByb2xlIHBvbGljeVxuICAgIGlmICh0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uPy5zM0xvY2F0aW9uKSB7XG4gICAgICAvLyBHcmFudCBTMyBwZXJtaXNzaW9ucyBmb3IgdGhlIHNwZWNpZmllZCBsb2NhdGlvblxuICAgICAgZ3JhbnQyID0gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgICAgZ3JhbnRlZTogZ3JhbnRlZSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdzMzpHZXRCdWNrZXRMb2NhdGlvbicsXG4gICAgICAgICAgJ3MzOlB1dE9iamVjdCcsXG4gICAgICAgIF0sXG4gICAgICAgIHJlc291cmNlQXJuczogW1xuICAgICAgICAgIGBhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06czM6Ojoke3RoaXMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb24uczNMb2NhdGlvbi5idWNrZXROYW1lfWAsXG4gICAgICAgICAgYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbi5zM0xvY2F0aW9uLmJ1Y2tldE5hbWV9LypgLFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyYW50MSAmJiBncmFudDIgPyBncmFudDEuY29tYmluZShncmFudDIpIDogZ3JhbnQxIHx8IGdyYW50MjtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBWQUxJREFUT1JTXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBtZW1vcnkgc3RyYXRlZ3kgbmFtZVxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gICAqL1xuICBwcml2YXRlIF92YWxpZGF0ZU1lbW9yeVN0cmF0ZWd5TmFtZSA9IChuYW1lOiBzdHJpbmcsIHNjb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdID0+IHtcbiAgICBsZXQgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCh7XG4gICAgICB2YWx1ZTogbmFtZSxcbiAgICAgIGZpZWxkTmFtZTogJ01lbW9yeSBuYW1lJyxcbiAgICAgIG1pbkxlbmd0aDogTUVNT1JZX05BTUVfTUlOX0xFTkdUSCxcbiAgICAgIG1heExlbmd0aDogTUVNT1JZX05BTUVfTUFYX0xFTkdUSCxcbiAgICB9LCBzY29wZSkpO1xuXG4gICAgLy8gQ2hlY2sgaWYgbmFtZSBtYXRjaGVzIHRoZSBBV1MgQVBJIHBhdHRlcm46IFthLXpBLVpdW2EtekEtWjAtOV9dezAsNDd9XG4gICAgLy8gTXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyLCBmb2xsb3dlZCBieSB1cCB0byA0NyBsZXR0ZXJzLCBudW1iZXJzLCBvciB1bmRlcnNjb3Jlc1xuICAgIGNvbnN0IHZhbGlkTmFtZVBhdHRlcm4gPSAvXlthLXpBLVpdW2EtekEtWjAtOV9dezAsNDd9JC87XG4gICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVGaWVsZFBhdHRlcm4obmFtZSwgJ01lbW9yeSBuYW1lJywgdmFsaWROYW1lUGF0dGVybiwgdW5kZWZpbmVkLCBzY29wZSkpO1xuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfTtcblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBoaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemVcbiAgICogQHBhcmFtIGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSAtIFRoZSBoaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemUgdG8gdmFsaWRhdGVcbiAgICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAgICovXG4gIHByaXZhdGUgX3ZhbGlkYXRlSGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplID0gKGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZTogbnVtYmVyKTogc3RyaW5nW10gPT4ge1xuICAgIGxldCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplIDwgSElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01JTlxuICAgICAgICB8fCBoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPiBISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkVfTUFYKSB7XG4gICAgICBlcnJvcnMucHVzaChgSGlzdG9yaWNhbCBjb250ZXh0IHdpbmRvdyBzaXplIG11c3QgYmUgYmV0d2VlbiAke0hJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRV9NSU59IGFuZCAke0hJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRV9NQVh9LCBnb3QgJHtoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfTtcblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSB0cmlnZ2VyIGNvbmRpdGlvbnNcbiAgICogQHBhcmFtIHRyaWdnZXJDb25kaXRpb25zIC0gVGhlIHRyaWdnZXIgY29uZGl0aW9ucyB0byB2YWxpZGF0ZVxuICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVUcmlnZ2VyQ29uZGl0aW9ucyA9ICh0cmlnZ2VyQ29uZGl0aW9uczogVHJpZ2dlckNvbmRpdGlvbnMpOiBzdHJpbmdbXSA9PiB7XG4gICAgbGV0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIFZhbGlkYXRlIG1lc3NhZ2UtYmFzZWQgdHJpZ2dlclxuICAgIGlmICh0cmlnZ2VyQ29uZGl0aW9ucy5tZXNzYWdlQmFzZWRUcmlnZ2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0cmlnZ2VyQ29uZGl0aW9ucy5tZXNzYWdlQmFzZWRUcmlnZ2VyIDwgTUVTU0FHRV9CQVNFRF9UUklHR0VSX01JTlxuICAgICAgICB8fCB0cmlnZ2VyQ29uZGl0aW9ucy5tZXNzYWdlQmFzZWRUcmlnZ2VyID4gTUVTU0FHRV9CQVNFRF9UUklHR0VSX01BWCkge1xuICAgICAgICBlcnJvcnMucHVzaChgTWVzc2FnZS1iYXNlZCB0cmlnZ2VyIG11c3QgYmUgYmV0d2VlbiAke01FU1NBR0VfQkFTRURfVFJJR0dFUl9NSU59IGFuZCAke01FU1NBR0VfQkFTRURfVFJJR0dFUl9NQVh9LCBnb3QgJHt0cmlnZ2VyQ29uZGl0aW9ucy5tZXNzYWdlQmFzZWRUcmlnZ2VyfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHRpbWUtYmFzZWQgdHJpZ2dlclxuICAgIGlmICh0cmlnZ2VyQ29uZGl0aW9ucy50aW1lQmFzZWRUcmlnZ2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHNlY29uZHMgPSB0cmlnZ2VyQ29uZGl0aW9ucy50aW1lQmFzZWRUcmlnZ2VyLnRvU2Vjb25kcygpO1xuICAgICAgaWYgKHNlY29uZHMgPCBUSU1FX0JBU0VEX1RSSUdHRVJfTUlOIHx8IHNlY29uZHMgPiBUSU1FX0JBU0VEX1RSSUdHRVJfTUFYKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGBUaW1lLWJhc2VkIHRyaWdnZXIgbXVzdCBiZSBiZXR3ZWVuICR7VElNRV9CQVNFRF9UUklHR0VSX01JTn0gYW5kICR7VElNRV9CQVNFRF9UUklHR0VSX01BWH0gc2Vjb25kcywgZ290ICR7c2Vjb25kc31gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0b2tlbi1iYXNlZCB0cmlnZ2VyXG4gICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLnRva2VuQmFzZWRUcmlnZ2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0cmlnZ2VyQ29uZGl0aW9ucy50b2tlbkJhc2VkVHJpZ2dlciA8IFRPS0VOX0JBU0VEX1RSSUdHRVJfTUlOIHx8IHRyaWdnZXJDb25kaXRpb25zLnRva2VuQmFzZWRUcmlnZ2VyID4gVE9LRU5fQkFTRURfVFJJR0dFUl9NQVgpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goYFRva2VuLWJhc2VkIHRyaWdnZXIgbXVzdCBiZSBiZXR3ZWVuICR7VE9LRU5fQkFTRURfVFJJR0dFUl9NSU59IGFuZCAke1RPS0VOX0JBU0VEX1RSSUdHRVJfTUFYfSwgZ290ICR7dHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXJ9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfTtcbn1cbiJdfQ==
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZi1tYW5hZ2VkLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VsZi1tYW5hZ2VkLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBY0EsbUNBQW1DO0FBR25DLDJDQUEyQztBQUUzQyx3REFBb0o7QUFDcEosOERBQXdHO0FBRXhHOzsrRUFFK0U7QUFDL0U7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFDbEM7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7QUFDcEM7OztHQUdHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUM7QUFDcEM7OztHQUdHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUM7QUFDdkM7OztHQUdHO0FBQ0gsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFDcEM7OztHQUdHO0FBQ0gsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLENBQUM7QUFDckM7OztHQUdHO0FBQ0gsTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7QUFDN0M7OztHQUdHO0FBQ0gsTUFBTSxrQ0FBa0MsR0FBRyxFQUFFLENBQUM7QUFDOUM7OztHQUdHO0FBQ0gsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLENBQUM7QUFDakQ7OztHQUdHO0FBQ0gsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLENBQUM7QUFDeEM7OztHQUdHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM1RDs7O0dBR0c7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsQ0FBQztBQTREeEM7O0dBRUc7QUFDSCxNQUFhLHlCQUF5Qjs7SUFDcEIsSUFBSSxDQUFTO0lBQ2IsV0FBVyxDQUFVO0lBQ3JCLFlBQVksQ0FBcUI7SUFDakQ7O09BRUc7SUFDYSx1QkFBdUIsQ0FBMEI7SUFDakU7O09BRUc7SUFDYSxpQkFB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UUFBUSxzQkFBc0IsaUJBQWlCLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDcEksQ0FBQztRQUNILENBQUM7UUFFRCwrQkFBK0I7UUFDL0IsSUFBSSxpQkFBaUIsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0RCxJQUFJLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixJQUFJLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixFQUFFLENBQUM7Z0JBQ25JLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUNBQXVDLHVCQUF1QixRQUFRLHVCQUF1QixTQUFTLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztZQUMzSixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQzs7QUF2TEosOERBd0xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGJlZHJvY2thZ2VudGNvcmUgZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0IHsgSU1lbW9yeVN0cmF0ZWd5LCBNZW1vcnlTdHJhdGVneUNvbW1vblByb3BzLCBNZW1vcnlTdHJhdGVneVR5cGUsIE1FTU9SWV9OQU1FX01JTl9MRU5HVEgsIE1FTU9SWV9OQU1FX01BWF9MRU5HVEggfSBmcm9tICcuLi9tZW1vcnktc3RyYXRlZ3knO1xuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCwgdGhyb3dJZkludmFsaWQsIHZhbGlkYXRlRmllbGRQYXR0ZXJuIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1oZWxwZXJzJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT05TVEFOVFNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxuICogTWluaW11bSB2YWx1ZSBmb3IgdGltZS1iYXNlZCB0cmlnZ2VyIGluIHNlY29uZHNcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBUSU1FX0JBU0VEX1RSSUdHRVJfTUlOID0gMTA7XG4vKipcbiAqIE1heGltdW0gdmFsdWUgZm9yIHRpbWUtYmFzZWQgdHJpZ2dlciBpbiBzZWNvbmRzXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgVElNRV9CQVNFRF9UUklHR0VSX01BWCA9IDMwMDA7XG4vKipcbiAqIE1pbmltdW0gdmFsdWUgZm9yIHRva2VuLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBUT0tFTl9CQVNFRF9UUklHR0VSX01JTiA9IDEwMDtcbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgdG9rZW4tYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IFRPS0VOX0JBU0VEX1RSSUdHRVJfTUFYID0gNTAwMDAwO1xuLyoqXG4gKiBNaW5pbXVtIHZhbHVlIGZvciBtZXNzYWdlLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUlOID0gMTtcbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgbWVzc2FnZS1iYXNlZCB0cmlnZ2VyXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgTUVTU0FHRV9CQVNFRF9UUklHR0VSX01BWCA9IDUwO1xuLyoqXG4gKiBNaW5pbXVtIHZhbHVlIGZvciBoaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemVcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkVfTUlOID0gMDtcbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgaGlzdG9yaWNhbCBjb250ZXh0IHdpbmRvdyBzaXplXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgSElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01BWCA9IDUwO1xuLyoqXG4gKiBEZWZhdWx0IHZhbHVlIGZvciBoaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemVcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBERUZBVUxUX0hJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRSA9IDQ7XG4vKipcbiAqIERlZmF1bHQgdmFsdWUgZm9yIG1lc3NhZ2UtYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IERFRkFVTFRfTUVTU0FHRV9CQVNFRF9UUklHR0VSID0gMTtcbi8qKlxuICogRGVmYXVsdCB2YWx1ZSBmb3IgdGltZS1iYXNlZCB0cmlnZ2VyXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgREVGQVVMVF9USU1FX0JBU0VEX1RSSUdHRVIgPSBjZGsuRHVyYXRpb24uc2Vjb25kcygxMCk7XG4vKipcbiAqIERlZmF1bHQgdmFsdWUgZm9yIHRva2VuLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBERUZBVUxUX1RPS0VOX0JBU0VEX1RSSUdHRVIgPSAxMDA7XG5cbi8qKlxuICogVHJpZ2dlciBjb25kaXRpb25zIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gKiBXaGVuIGZpcnN0IGNvbmRpdGlvbiBpcyBtZXQsIGJhdGNoZWQgcGF5bG9hZHMgYXJlIHNlbnQgdG8gc3BlY2lmaWVkIFMzIGJ1Y2tldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmlnZ2VyQ29uZGl0aW9ucyB7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyBtZW1vcnkgcHJvY2Vzc2luZyB3aGVuIHNwZWNpZmllZCBudW1iZXIgb2YgbmV3IG1lc3NhZ2VzIGlzIHJlYWNoZWRcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZUJhc2VkVHJpZ2dlcj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIG1lbW9yeSBwcm9jZXNzaW5nIHdoZW4gdGhlIHNlc3Npb24gaGFzIGJlZW4gaWRsZSBmb3IgdGhlIHNwZWNpZmllZCBkdXJhdGlvbi5cbiAgICogVmFsdWUgaW4gc2Vjb25kcy5cbiAgICogQGRlZmF1bHQgLSAxMCBzZWNvbmRzXG4gICAqL1xuICByZWFkb25seSB0aW1lQmFzZWRUcmlnZ2VyPzogY2RrLkR1cmF0aW9uO1xuICAvKipcbiAgICogVHJpZ2dlcnMgbWVtb3J5IHByb2Nlc3Npbmcgd2hlbiB0aGUgdG9rZW4gc2l6ZSByZWFjaGVzIHRoZSBzcGVjaWZpZWQgdGhyZXNob2xkLlxuICAgKiBAZGVmYXVsdCAxMDBcbiAgICovXG4gIHJlYWRvbmx5IHRva2VuQmFzZWRUcmlnZ2VyPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEludm9jYXRpb24gY29uZmlndXJhdGlvbiBmb3Igc2VsZiBtYW5hZ2VkIG1lbW9yeSBzdHJhdGVneVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludm9jYXRpb25Db25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFNOUyBUb3BpYyBDb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSB0b3BpYzogc25zLklUb3BpYztcbiAgLyoqXG4gICAqIFMzIExvY2F0aW9uIENvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHMzTG9jYXRpb246IExvY2F0aW9uO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBmb3IgYSBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gKiBleGlzdGluZyBidWlsdC1pbiBkZWZhdWx0IHByb21wdHMvbW9kZWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZk1hbmFnZWRTdHJhdGVneVByb3BzIGV4dGVuZHMgTWVtb3J5U3RyYXRlZ3lDb21tb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG51bWJlciBvZiBwcmV2aW91cyBldmVudHMgdG8gYmUgaW5jbHVkZWQgd2hlbiBwcm9jZXNzaW5nIG1lbW9yeS4gQSBsYXJnZXIgaGlzdG9yeSB3aW5kb3cgcHJvdmlkZXMgbW9yZSBjb250ZXh0IGZyb20gcGFzdCBjb252ZXJzYXRpb25zLlxuICAgKiBAZGVmYXVsdCA0XG4gICAqL1xuICByZWFkb25seSBoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBJbnZvY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICovXG4gIHJlYWRvbmx5IGludm9jYXRpb25Db25maWd1cmF0aW9uOiBJbnZvY2F0aW9uQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRyaWdnZXIgY29uZGl0aW9ucyBmb3Igc2VsZiBtYW5hZ2VkIG1lbW9yeSBzdHJhdGVneVxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlckNvbmRpdGlvbnM/OiBUcmlnZ2VyQ29uZGl0aW9ucztcbn1cblxuLyoqXG4gKiBVc2UgQWdlbnRDb3JlIG1lbW9yeSBmb3IgZXZlbnQgc3RvcmFnZSB3aXRoIGN1c3RvbSB0cmlnZ2Vycy4gRGVmaW5lIG1lbW9yeSBwcm9jZXNzaW5nIGxvZ2ljIGluIHlvdXIgb3duIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2VsZk1hbmFnZWRNZW1vcnlTdHJhdGVneSBpbXBsZW1lbnRzIElNZW1vcnlTdHJhdGVneSB7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHN0cmF0ZWd5VHlwZTogTWVtb3J5U3RyYXRlZ3lUeXBlO1xuICAvKipcbiAgICogSW52b2NhdGlvbiBjb25maWd1cmF0aW9uIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW52b2NhdGlvbkNvbmZpZ3VyYXRpb246IEludm9jYXRpb25Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVHJpZ2dlciBjb25kaXRpb25zIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHJpZ2dlckNvbmRpdGlvbnM6IFRyaWdnZXJDb25kaXRpb25zO1xuICAvKipcbiAgICogSGlzdG9yaWNhbCBjb250ZXh0IHdpbmRvdyBzaXplIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3Ioc3RyYXRlZ3lUeXBlOiBNZW1vcnlTdHJhdGVneVR5cGUsIHByb3BzOiBTZWxmTWFuYWdlZFN0cmF0ZWd5UHJvcHMpIHtcbiAgICB0aGlzLm5hbWUgPSBwcm9wcy5uYW1lO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBwcm9wcy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLnN0cmF0ZWd5VHlwZSA9IHN0cmF0ZWd5VHlwZTtcbiAgICB0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uID0gcHJvcHMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy50cmlnZ2VyQ29uZGl0aW9ucyA9IHtcbiAgICAgIG1lc3NhZ2VCYXNlZFRyaWdnZXI6IHByb3BzLnRyaWdnZXJDb25kaXRpb25zPy5tZXNzYWdlQmFzZWRUcmlnZ2VyID8/IERFRkFVTFRfTUVTU0FHRV9CQVNFRF9UUklHR0VSLFxuICAgICAgdGltZUJhc2VkVHJpZ2dlcjogcHJvcHMudHJpZ2dlckNvbmRpdGlvbnM/LnRpbWVCYXNlZFRyaWdnZXIgPz8gREVGQVVMVF9USU1FX0JBU0VEX1RSSUdHRVIsXG4gICAgICB0b2tlbkJhc2VkVHJpZ2dlcjogcHJvcHMudHJpZ2dlckNvbmRpdGlvbnM/LnRva2VuQmFzZWRUcmlnZ2VyID8/IERFRkFVTFRfVE9LRU5fQkFTRURfVFJJR0dFUixcbiAgICB9O1xuICAgIHRoaXMuaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplID0gcHJvcHMuaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplID8/IERFRkFVTFRfSElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gVmFsaWRhdGlvbnNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICB0aHJvd0lmSW52YWxpZCh0aGlzLl92YWxpZGF0ZU1lbW9yeVN0cmF0ZWd5TmFtZSwgdGhpcy5uYW1lKTtcbiAgICB0aHJvd0lmSW52YWxpZCh0aGlzLl92YWxpZGF0ZUhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSwgdGhpcy5oaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUpO1xuICAgIHRocm93SWZJbnZhbGlkKHRoaXMuX3ZhbGlkYXRlVHJpZ2dlckNvbmRpdGlvbnMsIHRoaXMudHJpZ2dlckNvbmRpdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIHJlbmRlcigpOiBiZWRyb2NrYWdlbnRjb3JlLkNmbk1lbW9yeS5NZW1vcnlTdHJhdGVneVByb3BlcnR5IHtcbiAgICByZXR1cm4ge1xuICAgICAgY3VzdG9tTWVtb3J5U3RyYXRlZ3k6IHtcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgdHlwZTogdGhpcy5zdHJhdGVneVR5cGUsXG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICBzZWxmTWFuYWdlZENvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgIGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZTogdGhpcy5oaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUsXG4gICAgICAgICAgICBpbnZvY2F0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICB0b3BpY0FybjogdGhpcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbi50b3BpYy50b3BpY0FybixcbiAgICAgICAgICAgICAgcGF5bG9hZERlbGl2ZXJ5QnVja2V0TmFtZTogdGhpcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbi5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJpZ2dlckNvbmRpdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VCYXNlZFRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2VDb3VudDogdGhpcy50cmlnZ2VyQ29uZGl0aW9ucy5tZXNzYWdlQmFzZWRUcmlnZ2VyLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aW1lQmFzZWRUcmlnZ2VyOiB7XG4gICAgICAgICAgICAgICAgICBpZGxlU2Vzc2lvblRpbWVvdXQ6IHRoaXMudHJpZ2dlckNvbmRpdGlvbnMudGltZUJhc2VkVHJpZ2dlcj8udG9TZWNvbmRzKCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRva2VuQmFzZWRUcmlnZ2VyOiB7XG4gICAgICAgICAgICAgICAgICB0b2tlbkNvdW50OiB0aGlzLnRyaWdnZXJDb25kaXRpb25zLnRva2VuQmFzZWRUcmlnZ2VyLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gYXMgYW55OyAvLyBUeXBlIGFzc2VydGlvbiB0byB3b3JrIGFyb3VuZCBDbG91ZEZvcm1hdGlvbiB0eXBlIGxpbWl0YXRpb25zXG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHRoZSBuZWNlc3NhcnkgcGVybWlzc2lvbnMgdG8gdGhlIHJvbGVcbiAgICogQHBhcmFtIGdyYW50ZWUgLSBUaGUgZ3JhbnRlZSB0byBncmFudCBwZXJtaXNzaW9ucyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHwgdW5kZWZpbmVkIHtcbiAgICAvLyBubyBleGlzdGluZyBncmFudCBtZXRob2QgdGhhdCBwcm92aWRlcyBib3RoIHJlcXVpcmVkIHNucyBhY3Rpb25zXG4gICAgY29uc3QgZ3JhbnQxID0gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbJ3NuczpHZXRUb3BpY0F0dHJpYnV0ZXMnLCAnc25zOlB1Ymxpc2gnXSxcbiAgICAgIHJlc291cmNlQXJuczogW1xuICAgICAgICB0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnRvcGljLnRvcGljQXJuLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGxldCBncmFudDI6IGlhbS5HcmFudCB8IHVuZGVmaW5lZDtcblxuICAgIC8vIHdlIGRvbid0IGhhdmUgdGhlIHNjb3BlIGhlcmUsIHNvIHdlIGFkZCBtYW51YWxseSB0aGUgcGVybWlzc2lvbnMgdG8gdGhlIHJvbGUgcG9saWN5XG4gICAgaWYgKHRoaXMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb24/LnMzTG9jYXRpb24pIHtcbiAgICAgIC8vIEdyYW50IFMzIHBlcm1pc3Npb25zIGZvciB0aGUgc3BlY2lmaWVkIGxvY2F0aW9uXG4gICAgICBncmFudDIgPSBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgICBncmFudGVlOiBncmFudGVlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ3MzOkdldEJ1Y2tldExvY2F0aW9uJyxcbiAgICAgICAgICAnczM6UHV0T2JqZWN0JyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VBcm5zOiBbXG4gICAgICAgICAgYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbi5zM0xvY2F0aW9uLmJ1Y2tldE5hbWV9YCxcbiAgICAgICAgICBgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OnMzOjo6JHt0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnMzTG9jYXRpb24uYnVja2V0TmFtZX0vKmAsXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ3JhbnQxICYmIGdyYW50MiA/IGdyYW50MS5jb21iaW5lKGdyYW50MikgOiBncmFudDEgfHwgZ3JhbnQyO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFZBTElEQVRPUlNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIG1lbW9yeSBzdHJhdGVneSBuYW1lXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgdG8gdmFsaWRhdGVcbiAgICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAgICovXG4gIHByaXZhdGUgX3ZhbGlkYXRlTWVtb3J5U3RyYXRlZ3lOYW1lID0gKG5hbWU6IHN0cmluZywgc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10gPT4ge1xuICAgIGxldCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZVN0cmluZ0ZpZWxkTGVuZ3RoKHtcbiAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgZmllbGROYW1lOiAnTWVtb3J5IG5hbWUnLFxuICAgICAgbWluTGVuZ3RoOiBNRU1PUllfTkFNRV9NSU5fTEVOR1RILFxuICAgICAgbWF4TGVuZ3RoOiBNRU1PUllfTkFNRV9NQVhfTEVOR1RILFxuICAgIH0sIHNjb3BlKSk7XG5cbiAgICAvLyBDaGVjayBpZiBuYW1lIG1hdGNoZXMgdGhlIEFXUyBBUEkgcGF0dGVybjogW2EtekEtWl1bYS16QS1aMC05X117MCw0N31cbiAgICAvLyBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIGJ5IHVwIHRvIDQ3IGxldHRlcnMsIG51bWJlcnMsIG9yIHVuZGVyc2NvcmVzXG4gICAgY29uc3QgdmFsaWROYW1lUGF0dGVybiA9IC9eW2EtekEtWl1bYS16QS1aMC05X117MCw0N30kLztcbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUZpZWxkUGF0dGVybihuYW1lLCAnTWVtb3J5IG5hbWUnLCB2YWxpZE5hbWVQYXR0ZXJuLCB1bmRlZmluZWQsIHNjb3BlKSk7XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZVxuICAgKiBAcGFyYW0gaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplIC0gVGhlIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZSB0byB2YWxpZGF0ZVxuICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVIaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPSAoaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplOiBudW1iZXIpOiBzdHJpbmdbXSA9PiB7XG4gICAgbGV0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPCBISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkVfTUlOXG4gICAgICAgIHx8IGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSA+IEhJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRV9NQVgpIHtcbiAgICAgIGVycm9ycy5wdXNoKGBIaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemUgbXVzdCBiZSBiZXR3ZWVuICR7SElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01JTn0gYW5kICR7SElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01BWH0sIGdvdCAke2hpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIHRyaWdnZXIgY29uZGl0aW9uc1xuICAgKiBAcGFyYW0gdHJpZ2dlckNvbmRpdGlvbnMgLSBUaGUgdHJpZ2dlciBjb25kaXRpb25zIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gICAqL1xuICBwcml2YXRlIF92YWxpZGF0ZVRyaWdnZXJDb25kaXRpb25zID0gKHRyaWdnZXJDb25kaXRpb25zOiBUcmlnZ2VyQ29uZGl0aW9ucyk6IHN0cmluZ1tdID0+IHtcbiAgICBsZXQgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLy8gVmFsaWRhdGUgbWVzc2FnZS1iYXNlZCB0cmlnZ2VyXG4gICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgPCBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUlOXG4gICAgICAgIHx8IHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgPiBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUFYKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGBNZXNzYWdlLWJhc2VkIHRyaWdnZXIgbXVzdCBiZSBiZXR3ZWVuICR7TUVTU0FHRV9CQVNFRF9UUklHR0VSX01JTn0gYW5kICR7TUVTU0FHRV9CQVNFRF9UUklHR0VSX01BWH0sIGdvdCAke3RyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXJ9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGltZS1iYXNlZCB0cmlnZ2VyXG4gICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLnRpbWVCYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2Vjb25kcyA9IHRyaWdnZXJDb25kaXRpb25zLnRpbWVCYXNlZFRyaWdnZXIudG9TZWNvbmRzKCk7XG4gICAgICBpZiAoc2Vjb25kcyA8IFRJTUVfQkFTRURfVFJJR0dFUl9NSU4gfHwgc2Vjb25kcyA+IFRJTUVfQkFTRURfVFJJR0dFUl9NQVgpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goYFRpbWUtYmFzZWQgdHJpZ2dlciBtdXN0IGJlIGJldHdlZW4gJHtUSU1FX0JBU0VEX1RSSUdHRVJfTUlOfSBhbmQgJHtUSU1FX0JBU0VEX1RSSUdHRVJfTUFYfSBzZWNvbmRzLCBnb3QgJHtzZWNvbmRzfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHRva2VuLWJhc2VkIHRyaWdnZXJcbiAgICBpZiAodHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLnRva2VuQmFzZWRUcmlnZ2VyIDwgVE9LRU5fQkFTRURfVFJJR0dFUl9NSU4gfHwgdHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXIgPiBUT0tFTl9CQVNFRF9UUklHR0VSX01BWCkge1xuICAgICAgICBlcnJvcnMucHVzaChgVG9rZW4tYmFzZWQgdHJpZ2dlciBtdXN0IGJlIGJldHdlZW4gJHtUT0tFTl9CQVNFRF9UUklHR0VSX01JTn0gYW5kICR7VE9LRU5fQkFTRURfVFJJR0dFUl9NQVh9LCBnb3QgJHt0cmlnZ2VyQ29uZGl0aW9ucy50b2tlbkJhc2VkVHJpZ2dlcn1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xufVxuIl19
@@ -9,7 +9,7 @@ const ec2 = require("aws-cdk-lib/aws-ec2");
9
9
  * Abstract base class for network configuration.
10
10
  */
11
11
  class NetworkConfiguration {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.NetworkConfiguration", version: "2.222.0-alpha.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.NetworkConfiguration", version: "2.223.0-alpha.0" };
13
13
  /**
14
14
  * The network mode to use.
15
15
  * Configure the security level for agent
@@ -88,7 +88,7 @@ exports.NetworkConfiguration = NetworkConfiguration;
88
88
  * Network configuration for the Browser tool.
89
89
  */
90
90
  class BrowserNetworkConfiguration extends NetworkConfiguration {
91
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserNetworkConfiguration", version: "2.222.0-alpha.0" };
91
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserNetworkConfiguration", version: "2.223.0-alpha.0" };
92
92
  /**
93
93
  * Creates a public network configuration. PUBLIC is the default network mode.
94
94
  * @returns A BrowserNetworkConfiguration.
@@ -134,7 +134,7 @@ exports.BrowserNetworkConfiguration = BrowserNetworkConfiguration;
134
134
  * Network configuration for the Code Interpreter tool.
135
135
  */
136
136
  class CodeInterpreterNetworkConfiguration extends NetworkConfiguration {
137
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterNetworkConfiguration", version: "2.222.0-alpha.0" };
137
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterNetworkConfiguration", version: "2.223.0-alpha.0" };
138
138
  /**
139
139
  * Creates a public network configuration.
140
140
  * @returns A CodeInterpreterNetworkConfiguration.
@@ -188,7 +188,7 @@ exports.CodeInterpreterNetworkConfiguration = CodeInterpreterNetworkConfiguratio
188
188
  * Network configuration for the Runtime.
189
189
  */
190
190
  class RuntimeNetworkConfiguration extends NetworkConfiguration {
191
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeNetworkConfiguration", version: "2.222.0-alpha.0" };
191
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeNetworkConfiguration", version: "2.223.0-alpha.0" };
192
192
  /**
193
193
  * Creates a public network configuration. PUBLIC is the default network mode.
194
194
  * @returns A RuntimeNetworkConfiguration.
@@ -10,7 +10,7 @@ const validation_helpers_1 = require("./validation-helpers");
10
10
  * Provides methods to reference container images from ECR repositories or local assets.
11
11
  */
12
12
  class AgentRuntimeArtifact {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AgentRuntimeArtifact", version: "2.222.0-alpha.0" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AgentRuntimeArtifact", version: "2.223.0-alpha.0" };
14
14
  /**
15
15
  * Reference an image in an ECR repository
16
16
  */
@@ -8,7 +8,7 @@ const validation_helpers_1 = require("./validation-helpers");
8
8
  * Provides static factory methods to create different authentication types.
9
9
  */
10
10
  class RuntimeAuthorizerConfiguration {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeAuthorizerConfiguration", version: "2.222.0-alpha.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeAuthorizerConfiguration", version: "2.223.0-alpha.0" };
12
12
  /**
13
13
  * Use IAM authentication (default).
14
14
  * Requires AWS credentials to sign requests using SigV4.
@@ -26,7 +26,7 @@ const validation_helpers_1 = require("./validation-helpers");
26
26
  * Base class for Agent Runtime
27
27
  */
28
28
  class RuntimeBase extends aws_cdk_lib_1.Resource {
29
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeBase", version: "2.222.0-alpha.0" };
29
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeBase", version: "2.223.0-alpha.0" };
30
30
  /**
31
31
  * An accessor for the Connections object that will fail if this Runtime does not have a VPC
32
32
  * configured.
@@ -22,7 +22,7 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
22
22
  * Base class for Runtime Endpoint
23
23
  */
24
24
  class RuntimeEndpointBase extends aws_cdk_lib_1.Resource {
25
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpointBase", version: "2.222.0-alpha.0" };
25
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpointBase", version: "2.223.0-alpha.0" };
26
26
  constructor(scope, id) {
27
27
  super(scope, id);
28
28
  }
@@ -67,7 +67,7 @@ let RuntimeEndpoint = (() => {
67
67
  RuntimeEndpoint = _classThis = _classDescriptor.value;
68
68
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
69
69
  }
70
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpoint", version: "2.222.0-alpha.0" };
70
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpoint", version: "2.223.0-alpha.0" };
71
71
  /** Uniquely identifies this class. */
72
72
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.RuntimeEndpoint';
73
73
  /**
@@ -78,7 +78,7 @@ let Runtime = (() => {
78
78
  Runtime = _classThis = _classDescriptor.value;
79
79
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
80
80
  }
81
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Runtime", version: "2.222.0-alpha.0" };
81
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Runtime", version: "2.223.0-alpha.0" };
82
82
  /** Uniquely identifies this class. */
83
83
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.Runtime';
84
84
  /**
@@ -80,7 +80,7 @@ const BROWSER_TAG_MAX_LENGTH = 256;
80
80
  * Contains methods and attributes valid for Browsers either created with CDK or imported.
81
81
  */
82
82
  class BrowserCustomBase extends aws_cdk_lib_1.Resource {
83
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserCustomBase", version: "2.222.0-alpha.0" };
83
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserCustomBase", version: "2.223.0-alpha.0" };
84
84
  /**
85
85
  * An accessor for the Connections object that will fail if this Browser does not have a VPC
86
86
  * configured.
@@ -338,7 +338,7 @@ let BrowserCustom = (() => {
338
338
  BrowserCustom = _classThis = _classDescriptor.value;
339
339
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
340
340
  }
341
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserCustom", version: "2.222.0-alpha.0" };
341
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserCustom", version: "2.223.0-alpha.0" };
342
342
  /** Uniquely identifies this class. */
343
343
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.BrowserCustom';
344
344
  /**
@@ -79,7 +79,7 @@ const CODE_INTERPRETER_TAG_MAX_LENGTH = 256;
79
79
  * Contains methods and attributes valid for Code Interpreters either created with CDK or imported.
80
80
  */
81
81
  class CodeInterpreterCustomBase extends aws_cdk_lib_1.Resource {
82
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterCustomBase", version: "2.222.0-alpha.0" };
82
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterCustomBase", version: "2.223.0-alpha.0" };
83
83
  /**
84
84
  * An accessor for the Connections object that will fail if this Browser does not have a VPC
85
85
  * configured.
@@ -313,7 +313,7 @@ let CodeInterpreterCustom = (() => {
313
313
  CodeInterpreterCustom = _classThis = _classDescriptor.value;
314
314
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
315
315
  }
316
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterCustom", version: "2.222.0-alpha.0" };
316
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterCustom", version: "2.223.0-alpha.0" };
317
317
  /** Uniquely identifies this class. */
318
318
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.CodeInterpreterCustom';
319
319
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-bedrock-agentcore-alpha",
3
- "version": "2.222.0-alpha.0",
3
+ "version": "2.223.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.222.0",
82
- "@aws-cdk/aws-bedrock-alpha": "2.222.0-alpha.0",
83
- "@aws-cdk/cdk-build-tools": "2.222.0-alpha.0",
81
+ "aws-cdk-lib": "2.223.0",
82
+ "@aws-cdk/aws-bedrock-alpha": "2.223.0-alpha.0",
83
+ "@aws-cdk/cdk-build-tools": "2.223.0-alpha.0",
84
84
  "@aws-cdk/integ-runner": "^2.190.2",
85
- "@aws-cdk/pkglint": "2.222.0-alpha.0",
86
- "@aws-cdk/integ-tests-alpha": "2.222.0-alpha.0",
85
+ "@aws-cdk/pkglint": "2.223.0-alpha.0",
86
+ "@aws-cdk/integ-tests-alpha": "2.223.0-alpha.0",
87
87
  "@types/jest": "^29.5.14",
88
88
  "constructs": "^10.0.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.222.0",
93
+ "aws-cdk-lib": "^2.223.0",
94
94
  "constructs": "^10.0.0",
95
- "@aws-cdk/aws-bedrock-alpha": "2.222.0-alpha.0"
95
+ "@aws-cdk/aws-bedrock-alpha": "2.223.0-alpha.0"
96
96
  },
97
97
  "engines": {
98
98
  "node": ">= 18.0.0"
@@ -123,7 +123,7 @@
123
123
  },
124
124
  "jsiiRosetta": {
125
125
  "exampleDependencies": {
126
- "@aws-cdk/aws-bedrock-alpha": "^2.222.0-alpha.0"
126
+ "@aws-cdk/aws-bedrock-alpha": "^2.223.0-alpha.0"
127
127
  }
128
128
  }
129
129
  }