@aws-cdk/aws-bedrock-agentcore-alpha 2.256.1-alpha.0 → 2.258.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 (122) hide show
  1. package/.jsii +2806 -2580
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +2135 -59
  4. package/lib/common/types.d.ts +2 -0
  5. package/lib/common/types.js +3 -1
  6. package/lib/evaluation/custom-evaluator.d.ts +1 -0
  7. package/lib/evaluation/custom-evaluator.js +37 -4
  8. package/lib/evaluation/data-source.d.ts +1 -0
  9. package/lib/evaluation/data-source.js +15 -2
  10. package/lib/evaluation/evaluator-base.d.ts +2 -0
  11. package/lib/evaluation/evaluator-base.js +65 -3
  12. package/lib/evaluation/evaluator-config.d.ts +4 -0
  13. package/lib/evaluation/evaluator-config.js +25 -3
  14. package/lib/evaluation/evaluator.d.ts +1 -0
  15. package/lib/evaluation/evaluator.js +14 -2
  16. package/lib/evaluation/online-evaluation-base.d.ts +2 -0
  17. package/lib/evaluation/online-evaluation-base.js +65 -3
  18. package/lib/evaluation/online-evaluation.d.ts +1 -0
  19. package/lib/evaluation/online-evaluation.js +37 -4
  20. package/lib/evaluation/perms.d.ts +5 -0
  21. package/lib/evaluation/perms.js +6 -1
  22. package/lib/evaluation/types.d.ts +15 -0
  23. package/lib/evaluation/types.js +75 -6
  24. package/lib/evaluation/validation-helpers.d.ts +22 -0
  25. package/lib/evaluation/validation-helpers.js +23 -1
  26. package/lib/gateway/gateway-base.d.ts +7 -0
  27. package/lib/gateway/gateway-base.js +178 -3
  28. package/lib/gateway/gateway.d.ts +9 -0
  29. package/lib/gateway/gateway.js +49 -6
  30. package/lib/gateway/inbound-auth/authorizer.d.ts +12 -0
  31. package/lib/gateway/inbound-auth/authorizer.js +31 -5
  32. package/lib/gateway/inbound-auth/custom-claim.d.ts +1 -0
  33. package/lib/gateway/inbound-auth/custom-claim.js +13 -2
  34. package/lib/gateway/interceptor.d.ts +5 -0
  35. package/lib/gateway/interceptor.js +7 -2
  36. package/lib/gateway/outbound-auth/api-key.d.ts +5 -0
  37. package/lib/gateway/outbound-auth/api-key.js +7 -2
  38. package/lib/gateway/outbound-auth/credential-provider.d.ts +5 -0
  39. package/lib/gateway/outbound-auth/credential-provider.js +17 -2
  40. package/lib/gateway/outbound-auth/iam-role.d.ts +1 -0
  41. package/lib/gateway/outbound-auth/iam-role.js +2 -1
  42. package/lib/gateway/outbound-auth/oauth.d.ts +2 -0
  43. package/lib/gateway/outbound-auth/oauth.js +2 -1
  44. package/lib/gateway/perms.d.ts +16 -0
  45. package/lib/gateway/perms.js +17 -1
  46. package/lib/gateway/protocol.d.ts +7 -0
  47. package/lib/gateway/protocol.js +10 -3
  48. package/lib/gateway/targets/schema/api-schema.d.ts +4 -0
  49. package/lib/gateway/targets/schema/api-schema.js +161 -6
  50. package/lib/gateway/targets/schema/base-schema.d.ts +1 -0
  51. package/lib/gateway/targets/schema/base-schema.js +2 -1
  52. package/lib/gateway/targets/schema/tool-schema.d.ts +12 -0
  53. package/lib/gateway/targets/schema/tool-schema.js +166 -6
  54. package/lib/gateway/targets/target-base.d.ts +5 -0
  55. package/lib/gateway/targets/target-base.js +76 -3
  56. package/lib/gateway/targets/target-configuration.d.ts +14 -0
  57. package/lib/gateway/targets/target-configuration.js +125 -9
  58. package/lib/gateway/targets/target.d.ts +8 -0
  59. package/lib/gateway/targets/target.js +37 -4
  60. package/lib/gateway/validation-helpers.d.ts +4 -0
  61. package/lib/gateway/validation-helpers.js +4 -1
  62. package/lib/identity/api-key-credential-provider.d.ts +4 -0
  63. package/lib/identity/api-key-credential-provider.js +36 -3
  64. package/lib/identity/grant-helpers.d.ts +7 -0
  65. package/lib/identity/grant-helpers.js +42 -2
  66. package/lib/identity/oauth2-credential-provider.d.ts +29 -0
  67. package/lib/identity/oauth2-credential-provider.js +37 -3
  68. package/lib/identity/perms.d.ts +5 -0
  69. package/lib/identity/perms.js +9 -4
  70. package/lib/identity/validation-helpers.d.ts +53 -0
  71. package/lib/identity/validation-helpers.js +54 -1
  72. package/lib/identity/workload-identity.d.ts +3 -0
  73. package/lib/identity/workload-identity.js +36 -3
  74. package/lib/memory/memory-strategy.d.ts +6 -0
  75. package/lib/memory/memory-strategy.js +47 -2
  76. package/lib/memory/memory.d.ts +4 -0
  77. package/lib/memory/memory.js +210 -5
  78. package/lib/memory/strategies/managed-strategy.d.ts +4 -0
  79. package/lib/memory/strategies/managed-strategy.js +22 -2
  80. package/lib/memory/strategies/self-managed-strategy.d.ts +4 -0
  81. package/lib/memory/strategies/self-managed-strategy.js +57 -4
  82. package/lib/memory/validation-helpers.d.ts +6 -0
  83. package/lib/memory/validation-helpers.js +7 -1
  84. package/lib/network/network-configuration.d.ts +5 -0
  85. package/lib/network/network-configuration.js +83 -6
  86. package/lib/policy/policy-base.js +36 -3
  87. package/lib/policy/policy-engine-base.js +36 -3
  88. package/lib/policy/policy-engine.js +37 -4
  89. package/lib/policy/policy-statement.js +5 -5
  90. package/lib/policy/policy-types.js +1 -1
  91. package/lib/policy/policy.js +36 -3
  92. package/lib/runtime/inbound-auth/custom-claim.d.ts +1 -0
  93. package/lib/runtime/inbound-auth/custom-claim.js +13 -2
  94. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.d.ts +1 -0
  95. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +40 -2
  96. package/lib/runtime/observability.d.ts +5 -0
  97. package/lib/runtime/observability.js +79 -5
  98. package/lib/runtime/perms.d.ts +12 -0
  99. package/lib/runtime/perms.js +13 -1
  100. package/lib/runtime/runtime-artifact.d.ts +3 -0
  101. package/lib/runtime/runtime-artifact.js +69 -5
  102. package/lib/runtime/runtime-base.d.ts +3 -0
  103. package/lib/runtime/runtime-base.js +200 -3
  104. package/lib/runtime/runtime-endpoint-base.d.ts +3 -0
  105. package/lib/runtime/runtime-endpoint-base.js +22 -2
  106. package/lib/runtime/runtime-endpoint.d.ts +1 -0
  107. package/lib/runtime/runtime-endpoint.js +36 -3
  108. package/lib/runtime/runtime.d.ts +2 -0
  109. package/lib/runtime/runtime.js +38 -5
  110. package/lib/runtime/types.d.ts +3 -0
  111. package/lib/runtime/types.js +2 -1
  112. package/lib/runtime/validation-helpers.d.ts +6 -0
  113. package/lib/runtime/validation-helpers.js +7 -1
  114. package/lib/tools/browser.d.ts +6 -0
  115. package/lib/tools/browser.js +205 -8
  116. package/lib/tools/code-interpreter.d.ts +4 -0
  117. package/lib/tools/code-interpreter.js +185 -7
  118. package/lib/tools/perms.d.ts +12 -0
  119. package/lib/tools/perms.js +13 -1
  120. package/lib/tools/validation-helpers.d.ts +6 -0
  121. package/lib/tools/validation-helpers.js +7 -1
  122. package/package.json +10 -10
@@ -1,15 +1,50 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.S3ToolSchema = exports.InlineToolSchema = exports.AssetToolSchema = exports.ToolSchema = exports.SchemaDefinitionType = void 0;
37
+ const jsiiDeprecationWarnings = require("../../../../.warnings.jsii.js");
4
38
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
39
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
40
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
7
- const s3_assets = require("aws-cdk-lib/aws-s3-assets");
41
+ const s3_assets = __importStar(require("aws-cdk-lib/aws-s3-assets"));
8
42
  const errors_1 = require("aws-cdk-lib/core/lib/errors");
9
43
  const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
10
44
  const base_schema_1 = require("./base-schema");
11
45
  /**
12
46
  * Schema definition types
47
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
13
48
  */
14
49
  var SchemaDefinitionType;
15
50
  (function (SchemaDefinitionType) {
@@ -29,13 +64,27 @@ var SchemaDefinitionType;
29
64
  /******************************************************************************
30
65
  * TOOL SCHEMA CLASS
31
66
  *****************************************************************************/
67
+ /**
68
+ * Defines the schema for tools available to a gateway target.
69
+ *
70
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
71
+ */
32
72
  class ToolSchema extends base_schema_1.TargetSchema {
33
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", version: "2.256.1-alpha.0" };
73
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", version: "2.258.0-alpha.0" };
34
74
  /**
35
75
  * Creates a tool Schema from a local file.
36
76
  * @param path - the path to the local file containing the function schema for the tool
37
77
  */
38
78
  static fromLocalAsset(path) {
79
+ try {
80
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema#fromLocalAsset", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
81
+ }
82
+ catch (error) {
83
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
84
+ Error.captureStackTrace(error, this.fromLocalAsset);
85
+ }
86
+ throw error;
87
+ }
39
88
  return new AssetToolSchema(path);
40
89
  }
41
90
  /**
@@ -43,6 +92,15 @@ class ToolSchema extends base_schema_1.TargetSchema {
43
92
  * @param schema - the JSON or YAML payload defining the OpenAPI schema for the action group
44
93
  */
45
94
  static fromInline(schema) {
95
+ try {
96
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema#fromInline", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
97
+ }
98
+ catch (error) {
99
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
100
+ Error.captureStackTrace(error, this.fromInline);
101
+ }
102
+ throw error;
103
+ }
46
104
  return new InlineToolSchema(schema);
47
105
  }
48
106
  /**
@@ -52,6 +110,15 @@ class ToolSchema extends base_schema_1.TargetSchema {
52
110
  * @param bucketOwnerAccountId - optional The account ID of the Amazon S3 bucket owner. This ID is used for cross-account access to the bucket.
53
111
  */
54
112
  static fromS3File(bucket, objectKey, bucketOwnerAccountId) {
113
+ try {
114
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema#fromS3File", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
115
+ }
116
+ catch (error) {
117
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
118
+ Error.captureStackTrace(error, this.fromS3File);
119
+ }
120
+ throw error;
121
+ }
55
122
  return new S3ToolSchema({
56
123
  bucketName: bucket.bucketName,
57
124
  objectKey: objectKey,
@@ -73,6 +140,15 @@ class ToolSchema extends base_schema_1.TargetSchema {
73
140
  bucketOwnerAccountId;
74
141
  constructor(s3File, bucketOwnerAccountId, inlineSchema) {
75
142
  super();
143
+ try {
144
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
145
+ }
146
+ catch (error) {
147
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
148
+ Error.captureStackTrace(error, ToolSchema);
149
+ }
150
+ throw error;
151
+ }
76
152
  this.s3File = s3File;
77
153
  this.inlineSchema = inlineSchema;
78
154
  this.bucketOwnerAccountId = bucketOwnerAccountId;
@@ -84,16 +160,26 @@ exports.ToolSchema = ToolSchema;
84
160
  *
85
161
  * The asset is uploaded to an S3 staging bucket, then moved to its final location
86
162
  * by CloudFormation during deployment.
163
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
87
164
  */
88
165
  class AssetToolSchema extends ToolSchema {
89
166
  path;
90
167
  options;
91
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", version: "2.256.1-alpha.0" };
168
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", version: "2.258.0-alpha.0" };
92
169
  asset;
93
170
  constructor(path, options = {}) {
94
171
  super();
95
172
  this.path = path;
96
173
  this.options = options;
174
+ try {
175
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
176
+ }
177
+ catch (error) {
178
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
179
+ Error.captureStackTrace(error, AssetToolSchema);
180
+ }
181
+ throw error;
182
+ }
97
183
  }
98
184
  /**
99
185
  * Binds this tool schema to a construct scope.
@@ -103,6 +189,15 @@ class AssetToolSchema extends ToolSchema {
103
189
  * @param scope - The construct scope to bind to
104
190
  */
105
191
  bind(scope) {
192
+ try {
193
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema#bind", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
194
+ }
195
+ catch (error) {
196
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
197
+ Error.captureStackTrace(error, this.bind);
198
+ }
199
+ throw error;
200
+ }
106
201
  // If the same AssetToolSchema is used multiple times, retain only the first instantiation
107
202
  if (!this.asset) {
108
203
  this.asset = new s3_assets.Asset(scope, `Schema${(0, helpers_internal_1.md5hash)(this.path)}`, {
@@ -127,6 +222,15 @@ class AssetToolSchema extends ToolSchema {
127
222
  };
128
223
  }
129
224
  grantPermissionsToRole(role) {
225
+ try {
226
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema#grantPermissionsToRole", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
227
+ }
228
+ catch (error) {
229
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
230
+ Error.captureStackTrace(error, this.grantPermissionsToRole);
231
+ }
232
+ throw error;
233
+ }
130
234
  if (!this.asset) {
131
235
  throw new errors_1.UnscopedValidationError((0, helpers_internal_1.lit) `ToolSchemaNotBound`, 'ToolSchema must be bound to a scope before rendering. Call bind() first.');
132
236
  }
@@ -138,13 +242,23 @@ exports.AssetToolSchema = AssetToolSchema;
138
242
  /**
139
243
  * Class to define a Tool Schema from an inline string.
140
244
  * The schema can be provided directly as a string in either JSON or YAML format.
245
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
141
246
  */
142
247
  class InlineToolSchema extends ToolSchema {
143
248
  schema;
144
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", version: "2.256.1-alpha.0" };
249
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", version: "2.258.0-alpha.0" };
145
250
  constructor(schema) {
146
251
  super(undefined, undefined, schema);
147
252
  this.schema = schema;
253
+ try {
254
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
255
+ }
256
+ catch (error) {
257
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
258
+ Error.captureStackTrace(error, InlineToolSchema);
259
+ }
260
+ throw error;
261
+ }
148
262
  }
149
263
  /**
150
264
  * @internal This is an internal core function and should not be called directly.
@@ -155,10 +269,28 @@ class InlineToolSchema extends ToolSchema {
155
269
  };
156
270
  }
157
271
  bind(scope) {
272
+ try {
273
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema#bind", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
274
+ }
275
+ catch (error) {
276
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
277
+ Error.captureStackTrace(error, this.bind);
278
+ }
279
+ throw error;
280
+ }
158
281
  if (scope) {
159
282
  }
160
283
  }
161
284
  grantPermissionsToRole(_role) {
285
+ try {
286
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema#grantPermissionsToRole", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
287
+ }
288
+ catch (error) {
289
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
290
+ Error.captureStackTrace(error, this.grantPermissionsToRole);
291
+ }
292
+ throw error;
293
+ }
162
294
  }
163
295
  }
164
296
  exports.InlineToolSchema = InlineToolSchema;
@@ -167,15 +299,25 @@ exports.InlineToolSchema = InlineToolSchema;
167
299
  // ------------------------------------------------------
168
300
  /**
169
301
  * Class to define a Tool Schema from an S3 object.
302
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
170
303
  */
171
304
  class S3ToolSchema extends ToolSchema {
172
305
  location;
173
306
  bucketOwnerAccountId;
174
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", version: "2.256.1-alpha.0" };
307
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", version: "2.258.0-alpha.0" };
175
308
  constructor(location, bucketOwnerAccountId) {
176
309
  super(location, bucketOwnerAccountId, undefined);
177
310
  this.location = location;
178
311
  this.bucketOwnerAccountId = bucketOwnerAccountId;
312
+ try {
313
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
314
+ }
315
+ catch (error) {
316
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
317
+ Error.captureStackTrace(error, S3ToolSchema);
318
+ }
319
+ throw error;
320
+ }
179
321
  }
180
322
  /**
181
323
  * @internal This is an internal core function and should not be called directly.
@@ -189,10 +331,28 @@ class S3ToolSchema extends ToolSchema {
189
331
  };
190
332
  }
191
333
  bind(scope) {
334
+ try {
335
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema#bind", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
336
+ }
337
+ catch (error) {
338
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
339
+ Error.captureStackTrace(error, this.bind);
340
+ }
341
+ throw error;
342
+ }
192
343
  if (scope) {
193
344
  }
194
345
  }
195
346
  grantPermissionsToRole(role) {
347
+ try {
348
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema#grantPermissionsToRole", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
349
+ }
350
+ catch (error) {
351
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
352
+ Error.captureStackTrace(error, this.grantPermissionsToRole);
353
+ }
354
+ throw error;
355
+ }
196
356
  aws_iam_1.Grant.addToPrincipal({
197
357
  grantee: role,
198
358
  actions: ['s3:GetObject'],
@@ -201,4 +361,4 @@ class S3ToolSchema extends ToolSchema {
201
361
  }
202
362
  }
203
363
  exports.S3ToolSchema = S3ToolSchema;
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b29sLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNkNBQWtDO0FBRWxDLGlEQUE0QztBQUU1Qyx1REFBdUQ7QUFDdkQsd0RBQXNFO0FBQ3RFLDRFQUFxRTtBQUVyRSwrQ0FBNkM7QUFzQjdDOztHQUVHO0FBQ0gsSUFBWSxvQkFhWDtBQWJELFdBQVksb0JBQW9CO0lBQzlCLGtCQUFrQjtJQUNsQix5Q0FBaUIsQ0FBQTtJQUNqQixrQkFBa0I7SUFDbEIseUNBQWlCLENBQUE7SUFDakIsa0JBQWtCO0lBQ2xCLHlDQUFpQixDQUFBO0lBQ2pCLGlCQUFpQjtJQUNqQix1Q0FBZSxDQUFBO0lBQ2YsbUJBQW1CO0lBQ25CLDJDQUFtQixDQUFBO0lBQ25CLG1CQUFtQjtJQUNuQiwyQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBYlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFhL0I7QUEwRUQ7OytFQUUrRTtBQUMvRSxNQUFzQixVQUFXLFNBQVEsMEJBQVk7O0lBQ25EOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUN2QyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUF3QjtRQUMvQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDckM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBZSxFQUFFLFNBQWlCLEVBQUUsb0JBQTZCO1FBQ3hGLE9BQU8sSUFBSSxZQUFZLENBQ3JCO1lBQ0UsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLEVBQ0Qsb0JBQW9CLENBQ3JCLENBQUM7S0FDSDtJQUVEOzs7T0FHRztJQUNhLE1BQU0sQ0FBWTtJQUVsQzs7O09B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O09BRUc7SUFDSSxPQUFPO1FBQ1osT0FBTztZQUNMLEVBQUUsRUFBRTtnQkFDRixHQUFHLEVBQUUsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtnQkFDbEUsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ3RGO1NBQ0YsQ0FBQztLQUNIO0lBRU0sSUFBSSxDQUFDLEtBQWdCO1FBQzFCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO0tBRUY7SUFFTSxzQkFBc0IsQ0FBQyxJQUFXO1FBQ3ZDLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDbkIsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDekIsWUFBWSxFQUFFLENBQUMsT0FBTyxpQkFBRyxDQUFDLFNBQVMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ25HLENBQUMsQ0FBQztLQUNKOztBQTVCSCxvQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBHcmFudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHR5cGUgeyBJQnVja2V0LCBMb2NhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBzM19hc3NldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgeyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2Vycm9ycyc7XG5pbXBvcnQgeyBtZDVoYXNoLCBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBUYXJnZXRTY2hlbWEgfSBmcm9tICcuL2Jhc2Utc2NoZW1hJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvb2wgU2NoZW1hIENvbmZpZ3VyYXRpb25cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBBYnN0cmFjdCBpbnRlcmZhY2UgZm9yIHRvb2wgc2NoZW1hIGNvbmZpZ3VyYXRpb25cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUb29sU2NoZW1hQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgdG9vbCBzY2hlbWEgY29uZmlndXJhdGlvbiB0eXBlXG4gICAqL1xuICByZWFkb25seSB0b29sU2NoZW1hVHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdG9vbCBzY2hlbWEgY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICovXG4gIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb246IGFueTtcbn1cblxuLyoqXG4gKiBTY2hlbWEgZGVmaW5pdGlvbiB0eXBlc1xuICovXG5leHBvcnQgZW51bSBTY2hlbWFEZWZpbml0aW9uVHlwZSB7XG4gIC8qKiBTdHJpbmcgdHlwZSAqL1xuICBTVFJJTkcgPSAnc3RyaW5nJyxcbiAgLyoqIE51bWJlciB0eXBlICovXG4gIE5VTUJFUiA9ICdudW1iZXInLFxuICAvKiogT2JqZWN0IHR5cGUgKi9cbiAgT0JKRUNUID0gJ29iamVjdCcsXG4gIC8qKiBBcnJheSB0eXBlICovXG4gIEFSUkFZID0gJ2FycmF5JyxcbiAgLyoqIEJvb2xlYW4gdHlwZSAqL1xuICBCT09MRUFOID0gJ2Jvb2xlYW4nLFxuICAvKiogSW50ZWdlciB0eXBlICovXG4gIElOVEVHRVIgPSAnaW50ZWdlcicsXG59XG5cbi8qKlxuICogU2NoZW1hIGRlZmluaXRpb24gZm9yIHRvb2wgaW5wdXQvb3V0cHV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgZmllbGQgc3BlY2lmaWVzIHRoZSBkYXRhIHR5cGUgb2YgdGhlIHNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFNjaGVtYURlZmluaXRpb25UeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGRlc2NyaXB0aW9uIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwdXJwb3NlIGFuZCB1c2FnZSBvZiB0aGUgc2NoZW1hLlxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgZGVzY3JpcHRpb24gcHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHB1cnBvc2UgYW5kIHVzYWdlIG9mIHRoZSBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaXRlbXMgaW4gdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGZpZWxkIGlzIHVzZWQgZm9yIGFycmF5IHR5cGVzIHRvIGRlZmluZSB0aGUgc3RydWN0dXJlIG9mIHRoZSBhcnJheSBlbGVtZW50cy5cbiAgICovXG4gIC8qKlxuICAgKiBUaGUgaXRlbXMgaW4gdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGZpZWxkIGlzIHVzZWQgZm9yIGFycmF5IHR5cGVzIHRvIGRlZmluZSB0aGUgc3RydWN0dXJlIG9mIHRoZSBhcnJheSBlbGVtZW50cy5cbiAgICogQGRlZmF1bHQgLSBObyBpdGVtcyBkZWZpbml0aW9uXG4gICAqL1xuICByZWFkb25seSBpdGVtcz86IFNjaGVtYURlZmluaXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhlc2UgcHJvcGVydGllcyBkZWZpbmUgdGhlIGZpZWxkcyBpbiB0aGUgc2NoZW1hLlxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhlc2UgcHJvcGVydGllcyBkZWZpbmUgdGhlIGZpZWxkcyBpbiB0aGUgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCAtIE5vIHByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnRpZXM/OiBSZWNvcmQ8c3RyaW5nLCBTY2hlbWFEZWZpbml0aW9uPjtcblxuICAvKipcbiAgICogVGhlIHJlcXVpcmVkIGZpZWxkcyBpbiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoZXNlIGZpZWxkcyBtdXN0IGJlIHByb3ZpZGVkIHdoZW4gdXNpbmcgdGhlIHNjaGVtYS5cbiAgICogQGRlZmF1bHQgLSBObyByZXF1aXJlZCBmaWVsZHNcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVkPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogVG9vbCBkZWZpbml0aW9uIGZvciBpbmxpbmUgcGF5bG9hZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0b29sLiBUaGlzIG5hbWUgaWRlbnRpZmllcyB0aGUgdG9vbCBpbiB0aGUgTW9kZWwgQ29udGV4dCBQcm90b2NvbC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSB0b29sLiBUaGlzIGRlc2NyaXB0aW9uIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwdXJwb3NlIGFuZCB1c2FnZSBvZiB0aGUgdG9vbC5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBzY2hlbWEgZm9yIHRoZSB0b29sLiBUaGlzIHNjaGVtYSBkZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGlucHV0IHRoYXQgdGhlIHRvb2wgYWNjZXB0cy5cbiAgICovXG4gIHJlYWRvbmx5IGlucHV0U2NoZW1hOiBTY2hlbWFEZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgb3V0cHV0IHNjaGVtYSBmb3IgdGhlIHRvb2wuIFRoaXMgc2NoZW1hIGRlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiB0aGUgb3V0cHV0IHRoYXQgdGhlIHRvb2wgcHJvZHVjZXMuXG4gICAqL1xuICAvKipcbiAgICogVGhlIG91dHB1dCBzY2hlbWEgZm9yIHRoZSB0b29sLiBUaGlzIHNjaGVtYSBkZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIG91dHB1dCB0aGF0IHRoZSB0b29sIHByb2R1Y2VzLlxuICAgKiBAZGVmYXVsdCAtIE5vIG91dHB1dCBzY2hlbWFcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dFNjaGVtYT86IFNjaGVtYURlZmluaXRpb247XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICBUT09MIFNDSEVNQSBDTEFTU1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRvb2xTY2hlbWEgZXh0ZW5kcyBUYXJnZXRTY2hlbWEge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIHRvb2wgU2NoZW1hIGZyb20gYSBsb2NhbCBmaWxlLlxuICAgKiBAcGFyYW0gcGF0aCAtIHRoZSBwYXRoIHRvIHRoZSBsb2NhbCBmaWxlIGNvbnRhaW5pbmcgdGhlIGZ1bmN0aW9uIHNjaGVtYSBmb3IgdGhlIHRvb2xcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUxvY2FsQXNzZXQocGF0aDogc3RyaW5nKTogVG9vbFNjaGVtYSB7XG4gICAgcmV0dXJuIG5ldyBBc3NldFRvb2xTY2hlbWEocGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFRvb2wgU2NoZW1hIGZyb20gYW4gaW5saW5lIHN0cmluZy5cbiAgICogQHBhcmFtIHNjaGVtYSAtIHRoZSBKU09OIG9yIFlBTUwgcGF5bG9hZCBkZWZpbmluZyB0aGUgT3BlbkFQSSBzY2hlbWEgZm9yIHRoZSBhY3Rpb24gZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUlubGluZShzY2hlbWE6IFRvb2xEZWZpbml0aW9uW10pOiBJbmxpbmVUb29sU2NoZW1hIHtcbiAgICByZXR1cm4gbmV3IElubGluZVRvb2xTY2hlbWEoc2NoZW1hKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgVG9vbCBTY2hlbWEgZnJvbSBhbiBTMyBGaWxlXG4gICAqIEBwYXJhbSBidWNrZXQgLSB0aGUgYnVja2V0IGNvbnRhaW5pbmcgdGhlIGxvY2FsIGZpbGUgY29udGFpbmluZyB0aGUgT3BlbkFQSSBzY2hlbWEgZm9yIHRoZSBhY3Rpb24gZ3JvdXBcbiAgICogQHBhcmFtIG9iamVjdEtleSAtIG9iamVjdCBrZXkgaW4gdGhlIGJ1Y2tldFxuICAgKiBAcGFyYW0gYnVja2V0T3duZXJBY2NvdW50SWQgLSBvcHRpb25hbCBUaGUgYWNjb3VudCBJRCBvZiB0aGUgQW1hem9uIFMzIGJ1Y2tldCBvd25lci4gVGhpcyBJRCBpcyB1c2VkIGZvciBjcm9zcy1hY2NvdW50IGFjY2VzcyB0byB0aGUgYnVja2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUzNGaWxlKGJ1Y2tldDogSUJ1Y2tldCwgb2JqZWN0S2V5OiBzdHJpbmcsIGJ1Y2tldE93bmVyQWNjb3VudElkPzogc3RyaW5nKTogUzNUb29sU2NoZW1hIHtcbiAgICByZXR1cm4gbmV3IFMzVG9vbFNjaGVtYShcbiAgICAgIHtcbiAgICAgICAgYnVja2V0TmFtZTogYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogb2JqZWN0S2V5LFxuICAgICAgfSxcbiAgICAgIGJ1Y2tldE93bmVyQWNjb3VudElkLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIFMzIGxvY2F0aW9uIG9mIHRoZSB0b29sIHNjaGVtYSBmaWxlLCBpZiB1c2luZyBhbiBTMy1iYXNlZCBzY2hlbWEuXG4gICAqIENvbnRhaW5zIHRoZSBidWNrZXQgbmFtZSBhbmQgb2JqZWN0IGtleSBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM0ZpbGU/OiBMb2NhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGlubGluZSB0b29sIHNjaGVtYSBkZWZpbml0aW9uIGFzIGEgc3RyaW5nLCBpZiB1c2luZyBhbiBpbmxpbmUgc2NoZW1hLlxuICAgKiBDYW4gYmUgaW4gSlNPTiBvciBZQU1MIGZvcm1hdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbmxpbmVTY2hlbWE/OiBUb29sRGVmaW5pdGlvbltdO1xuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBJRCBvZiB0aGUgUzMgYnVja2V0IG93bmVyIGZvciBjcm9zcy1hY2NvdW50IGFjY2Vzc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldE93bmVyQWNjb3VudElkPzogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihzM0ZpbGU/OiBMb2NhdGlvbiwgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcsIGlubGluZVNjaGVtYT86IFRvb2xEZWZpbml0aW9uW10pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuczNGaWxlID0gczNGaWxlO1xuICAgIHRoaXMuaW5saW5lU2NoZW1hID0gaW5saW5lU2NoZW1hO1xuICAgIHRoaXMuYnVja2V0T3duZXJBY2NvdW50SWQgPSBidWNrZXRPd25lckFjY291bnRJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgYXMgQ0ZOIHByb3BlcnRpZXNcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgX3JlbmRlcigpOiBhbnk7XG59XG5cbi8qKlxuICogVG9vbCBTY2hlbWEgZnJvbSBhIGxvY2FsIGFzc2V0LlxuICpcbiAqIFRoZSBhc3NldCBpcyB1cGxvYWRlZCB0byBhbiBTMyBzdGFnaW5nIGJ1Y2tldCwgdGhlbiBtb3ZlZCB0byBpdHMgZmluYWwgbG9jYXRpb25cbiAqIGJ5IENsb3VkRm9ybWF0aW9uIGR1cmluZyBkZXBsb3ltZW50LlxuICovXG5leHBvcnQgY2xhc3MgQXNzZXRUb29sU2NoZW1hIGV4dGVuZHMgVG9vbFNjaGVtYSB7XG4gIHByaXZhdGUgYXNzZXQ/OiBzM19hc3NldHMuQXNzZXQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYXRoOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogczNfYXNzZXRzLkFzc2V0T3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kcyB0aGlzIHRvb2wgc2NoZW1hIHRvIGEgY29uc3RydWN0IHNjb3BlLlxuICAgKiBUaGlzIG1ldGhvZCBpbml0aWFsaXplcyB0aGUgUzMgYXNzZXQgaWYgaXQgaGFzbid0IGJlZW4gaW5pdGlhbGl6ZWQgeWV0LlxuICAgKiBNdXN0IGJlIGNhbGxlZCBiZWZvcmUgcmVuZGVyaW5nIHRoZSBzY2hlbWEgYXMgQ0ZOIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgdG8gYmluZCB0b1xuICAgKi9cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0VG9vbFNjaGVtYSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvblxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldCA9IG5ldyBzM19hc3NldHMuQXNzZXQoc2NvcGUsIGBTY2hlbWEke21kNWhhc2godGhpcy5wYXRoKX1gLCB7XG4gICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgfSk7XG4gICAgICAvLyBOb3RlOiBQZXJtaXNzaW9ucyB3aWxsIGJlIGdyYW50ZWQgYnkgdGhlIEdhdGV3YXkgdGFyZ2V0IGNvbnN0cnVjdCB3aGVuIGFkZGluZyB0aGUgdGFyZ2V0XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBhcyBDRk4gcHJvcGVydGllc1xuICAgKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS5cbiAgICovXG4gIHB1YmxpYyBfcmVuZGVyKCk6IGFueSB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBUb29sU2NoZW1hTm90Qm91bmRgLFxuICAgICAgICAnVG9vbFNjaGVtYSBtdXN0IGJlIGJvdW5kIHRvIGEgc2NvcGUgYmVmb3JlIHJlbmRlcmluZy4gQ2FsbCBiaW5kKCkgZmlyc3QuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHMzOiB7XG4gICAgICAgIHVyaTogYHMzOi8vJHt0aGlzLmFzc2V0LnMzQnVja2V0TmFtZX0vJHt0aGlzLmFzc2V0LnMzT2JqZWN0S2V5fWAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRQZXJtaXNzaW9uc1RvUm9sZShyb2xlOiBJUm9sZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgVG9vbFNjaGVtYU5vdEJvdW5kYCxcbiAgICAgICAgJ1Rvb2xTY2hlbWEgbXVzdCBiZSBib3VuZCB0byBhIHNjb3BlIGJlZm9yZSByZW5kZXJpbmcuIENhbGwgYmluZCgpIGZpcnN0LicsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmFzc2V0LmdyYW50UmVhZChyb2xlKTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogQ2xhc3MgdG8gZGVmaW5lIGEgVG9vbCBTY2hlbWEgZnJvbSBhbiBpbmxpbmUgc3RyaW5nLlxuICogVGhlIHNjaGVtYSBjYW4gYmUgcHJvdmlkZWQgZGlyZWN0bHkgYXMgYSBzdHJpbmcgaW4gZWl0aGVyIEpTT04gb3IgWUFNTCBmb3JtYXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVUb29sU2NoZW1hIGV4dGVuZHMgVG9vbFNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2NoZW1hOiBUb29sRGVmaW5pdGlvbltdKSB7XG4gICAgc3VwZXIodW5kZWZpbmVkLCB1bmRlZmluZWQsIHNjaGVtYSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmxpbmVQYXlsb2FkOiB0aGlzLnNjaGVtYSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChzY29wZSkge1xuICAgIH1cbiAgICAvLyBOby1vcFxuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUoX3JvbGU6IElSb2xlKTogdm9pZCB7XG4gICAgLy8gTm8tb3AgLSBJbmxpbmVUb29sU2NoZW1hIGRvZXNuJ3QgbmVlZCBwZXJtaXNzaW9uc1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUzMgRmlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIENsYXNzIHRvIGRlZmluZSBhIFRvb2wgU2NoZW1hIGZyb20gYW4gUzMgb2JqZWN0LlxuICovXG5leHBvcnQgY2xhc3MgUzNUb29sU2NoZW1hIGV4dGVuZHMgVG9vbFNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLCBwdWJsaWMgcmVhZG9ubHkgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihsb2NhdGlvbiwgYnVja2V0T3duZXJBY2NvdW50SWQsIHVuZGVmaW5lZCk7XG4gIH1cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgczM6IHtcbiAgICAgICAgdXJpOiBgczM6Ly8ke3RoaXMubG9jYXRpb24uYnVja2V0TmFtZX0vJHt0aGlzLmxvY2F0aW9uLm9iamVjdEtleX1gLFxuICAgICAgICAuLi4odGhpcy5idWNrZXRPd25lckFjY291bnRJZCAmJiB7IGJ1Y2tldE93bmVyQWNjb3VudElkOiB0aGlzLmJ1Y2tldE93bmVyQWNjb3VudElkIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChzY29wZSkge1xuICAgIH1cbiAgICAvLyBOby1vcFxuICB9XG5cbiAgcHVibGljIGdyYW50UGVybWlzc2lvbnNUb1JvbGUocm9sZTogSVJvbGUpOiB2b2lkIHtcbiAgICBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiByb2xlLFxuICAgICAgYWN0aW9uczogWydzMzpHZXRPYmplY3QnXSxcbiAgICAgIHJlc291cmNlQXJuczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5sb2NhdGlvbi5idWNrZXROYW1lfS8ke3RoaXMubG9jYXRpb24ub2JqZWN0S2V5fWBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b29sLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUFrQztBQUVsQyxpREFBNEM7QUFFNUMscUVBQXVEO0FBQ3ZELHdEQUFzRTtBQUN0RSw0RUFBcUU7QUFFckUsK0NBQTZDO0FBdUI3Qzs7O0dBR0c7QUFDSCxJQUFZLG9CQWFYO0FBYkQsV0FBWSxvQkFBb0I7SUFDOUIsa0JBQWtCO0lBQ2xCLHlDQUFpQixDQUFBO0lBQ2pCLGtCQUFrQjtJQUNsQix5Q0FBaUIsQ0FBQTtJQUNqQixrQkFBa0I7SUFDbEIseUNBQWlCLENBQUE7SUFDakIsaUJBQWlCO0lBQ2pCLHVDQUFlLENBQUE7SUFDZixtQkFBbUI7SUFDbkIsMkNBQW1CLENBQUE7SUFDbkIsbUJBQW1CO0lBQ25CLDJDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFiVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQWEvQjtBQTRFRDs7K0VBRStFO0FBQy9FOzs7O0dBSUc7QUFDSCxNQUFzQixVQUFXLFNBQVEsMEJBQVk7O0lBQ25EOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTs7Ozs7Ozs7OztRQUN2QyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUF3Qjs7Ozs7Ozs7OztRQUMvQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDckM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBZSxFQUFFLFNBQWlCLEVBQUUsb0JBQTZCOzs7Ozs7Ozs7O1FBQ3hGLE9BQU8sSUFBSSxZQUFZLENBQ3JCO1lBQ0UsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLFNBQVMsRUFBRSxT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QUFhLFNBQVEsVUFBVTtJQUNiO0lBQW9DOztJQUFqRSxZQUE2QixRQUFrQixFQUFrQixvQkFBNkI7UUFDNUYsS0FBSyxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUR0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQWtCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBUzs7Ozs7OytDQURuRixZQUFZOzs7O0tBR3RCO0lBQ0Q7O09BRUc7SUFDSSxPQUFPO1FBQ1osT0FBTztZQUNMLEVBQUUsRUFBRTtnQkFDRixHQUFHLEVBQUUsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtnQkFDbEUsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ3RGO1NBQ0YsQ0FBQztLQUNIO0lBRU0sSUFBSSxDQUFDLEtBQWdCOzs7Ozs7Ozs7O1FBQzFCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO0tBRUY7SUFFTSxzQkFBc0IsQ0FBQyxJQUFXOzs7Ozs7Ozs7O1FBQ3ZDLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDbkIsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDekIsWUFBWSxFQUFFLENBQUMsT0FBTyxpQkFBRyxDQUFDLFNBQVMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ25HLENBQUMsQ0FBQztLQUNKOztBQTVCSCxvQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBHcmFudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHR5cGUgeyBJQnVja2V0LCBMb2NhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBzM19hc3NldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgeyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2Vycm9ycyc7XG5pbXBvcnQgeyBtZDVoYXNoLCBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBUYXJnZXRTY2hlbWEgfSBmcm9tICcuL2Jhc2Utc2NoZW1hJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvb2wgU2NoZW1hIENvbmZpZ3VyYXRpb25cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBBYnN0cmFjdCBpbnRlcmZhY2UgZm9yIHRvb2wgc2NoZW1hIGNvbmZpZ3VyYXRpb25cbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBlcXVpdmFsZW50IGNvbnN0cnVjdCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVG9vbFNjaGVtYUNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogVGhlIHRvb2wgc2NoZW1hIGNvbmZpZ3VyYXRpb24gdHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9vbFNjaGVtYVR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRvb2wgc2NoZW1hIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqL1xuICByZWFkb25seSBjb25maWd1cmF0aW9uOiBhbnk7XG59XG5cbi8qKlxuICogU2NoZW1hIGRlZmluaXRpb24gdHlwZXNcbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBlbnVtIFNjaGVtYURlZmluaXRpb25UeXBlIHtcbiAgLyoqIFN0cmluZyB0eXBlICovXG4gIFNUUklORyA9ICdzdHJpbmcnLFxuICAvKiogTnVtYmVyIHR5cGUgKi9cbiAgTlVNQkVSID0gJ251bWJlcicsXG4gIC8qKiBPYmplY3QgdHlwZSAqL1xuICBPQkpFQ1QgPSAnb2JqZWN0JyxcbiAgLyoqIEFycmF5IHR5cGUgKi9cbiAgQVJSQVkgPSAnYXJyYXknLFxuICAvKiogQm9vbGVhbiB0eXBlICovXG4gIEJPT0xFQU4gPSAnYm9vbGVhbicsXG4gIC8qKiBJbnRlZ2VyIHR5cGUgKi9cbiAgSU5URUdFUiA9ICdpbnRlZ2VyJyxcbn1cblxuLyoqXG4gKiBTY2hlbWEgZGVmaW5pdGlvbiBmb3IgdG9vbCBpbnB1dC9vdXRwdXRcbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgZmllbGQgc3BlY2lmaWVzIHRoZSBkYXRhIHR5cGUgb2YgdGhlIHNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFNjaGVtYURlZmluaXRpb25UeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGRlc2NyaXB0aW9uIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwdXJwb3NlIGFuZCB1c2FnZSBvZiB0aGUgc2NoZW1hLlxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgZGVzY3JpcHRpb24gcHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHB1cnBvc2UgYW5kIHVzYWdlIG9mIHRoZSBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaXRlbXMgaW4gdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGZpZWxkIGlzIHVzZWQgZm9yIGFycmF5IHR5cGVzIHRvIGRlZmluZSB0aGUgc3RydWN0dXJlIG9mIHRoZSBhcnJheSBlbGVtZW50cy5cbiAgICovXG4gIC8qKlxuICAgKiBUaGUgaXRlbXMgaW4gdGhlIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIGZpZWxkIGlzIHVzZWQgZm9yIGFycmF5IHR5cGVzIHRvIGRlZmluZSB0aGUgc3RydWN0dXJlIG9mIHRoZSBhcnJheSBlbGVtZW50cy5cbiAgICogQGRlZmF1bHQgLSBObyBpdGVtcyBkZWZpbml0aW9uXG4gICAqL1xuICByZWFkb25seSBpdGVtcz86IFNjaGVtYURlZmluaXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhlc2UgcHJvcGVydGllcyBkZWZpbmUgdGhlIGZpZWxkcyBpbiB0aGUgc2NoZW1hLlxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhlc2UgcHJvcGVydGllcyBkZWZpbmUgdGhlIGZpZWxkcyBpbiB0aGUgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCAtIE5vIHByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnRpZXM/OiBSZWNvcmQ8c3RyaW5nLCBTY2hlbWFEZWZpbml0aW9uPjtcblxuICAvKipcbiAgICogVGhlIHJlcXVpcmVkIGZpZWxkcyBpbiB0aGUgc2NoZW1hIGRlZmluaXRpb24uIFRoZXNlIGZpZWxkcyBtdXN0IGJlIHByb3ZpZGVkIHdoZW4gdXNpbmcgdGhlIHNjaGVtYS5cbiAgICogQGRlZmF1bHQgLSBObyByZXF1aXJlZCBmaWVsZHNcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVkPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogVG9vbCBkZWZpbml0aW9uIGZvciBpbmxpbmUgcGF5bG9hZFxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBlcXVpdmFsZW50IGNvbnN0cnVjdCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb29sRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdG9vbC4gVGhpcyBuYW1lIGlkZW50aWZpZXMgdGhlIHRvb2wgaW4gdGhlIE1vZGVsIENvbnRleHQgUHJvdG9jb2wuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgdG9vbC4gVGhpcyBkZXNjcmlwdGlvbiBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHVycG9zZSBhbmQgdXNhZ2Ugb2YgdGhlIHRvb2wuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgc2NoZW1hIGZvciB0aGUgdG9vbC4gVGhpcyBzY2hlbWEgZGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBpbnB1dCB0aGF0IHRoZSB0b29sIGFjY2VwdHMuXG4gICAqL1xuICByZWFkb25seSBpbnB1dFNjaGVtYTogU2NoZW1hRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogVGhlIG91dHB1dCBzY2hlbWEgZm9yIHRoZSB0b29sLiBUaGlzIHNjaGVtYSBkZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIG91dHB1dCB0aGF0IHRoZSB0b29sIHByb2R1Y2VzLlxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBvdXRwdXQgc2NoZW1hIGZvciB0aGUgdG9vbC4gVGhpcyBzY2hlbWEgZGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBvdXRwdXQgdGhhdCB0aGUgdG9vbCBwcm9kdWNlcy5cbiAgICogQGRlZmF1bHQgLSBObyBvdXRwdXQgc2NoZW1hXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRTY2hlbWE/OiBTY2hlbWFEZWZpbml0aW9uO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgVE9PTCBTQ0hFTUEgQ0xBU1NcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxuICogRGVmaW5lcyB0aGUgc2NoZW1hIGZvciB0b29scyBhdmFpbGFibGUgdG8gYSBnYXRld2F5IHRhcmdldC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVG9vbFNjaGVtYSBleHRlbmRzIFRhcmdldFNjaGVtYSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdG9vbCBTY2hlbWEgZnJvbSBhIGxvY2FsIGZpbGUuXG4gICAqIEBwYXJhbSBwYXRoIC0gdGhlIHBhdGggdG8gdGhlIGxvY2FsIGZpbGUgY29udGFpbmluZyB0aGUgZnVuY3Rpb24gc2NoZW1hIGZvciB0aGUgdG9vbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tTG9jYWxBc3NldChwYXRoOiBzdHJpbmcpOiBUb29sU2NoZW1hIHtcbiAgICByZXR1cm4gbmV3IEFzc2V0VG9vbFNjaGVtYShwYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgVG9vbCBTY2hlbWEgZnJvbSBhbiBpbmxpbmUgc3RyaW5nLlxuICAgKiBAcGFyYW0gc2NoZW1hIC0gdGhlIEpTT04gb3IgWUFNTCBwYXlsb2FkIGRlZmluaW5nIHRoZSBPcGVuQVBJIHNjaGVtYSBmb3IgdGhlIGFjdGlvbiBncm91cFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tSW5saW5lKHNjaGVtYTogVG9vbERlZmluaXRpb25bXSk6IElubGluZVRvb2xTY2hlbWEge1xuICAgIHJldHVybiBuZXcgSW5saW5lVG9vbFNjaGVtYShzY2hlbWEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBUb29sIFNjaGVtYSBmcm9tIGFuIFMzIEZpbGVcbiAgICogQHBhcmFtIGJ1Y2tldCAtIHRoZSBidWNrZXQgY29udGFpbmluZyB0aGUgbG9jYWwgZmlsZSBjb250YWluaW5nIHRoZSBPcGVuQVBJIHNjaGVtYSBmb3IgdGhlIGFjdGlvbiBncm91cFxuICAgKiBAcGFyYW0gb2JqZWN0S2V5IC0gb2JqZWN0IGtleSBpbiB0aGUgYnVja2V0XG4gICAqIEBwYXJhbSBidWNrZXRPd25lckFjY291bnRJZCAtIG9wdGlvbmFsIFRoZSBhY2NvdW50IElEIG9mIHRoZSBBbWF6b24gUzMgYnVja2V0IG93bmVyLiBUaGlzIElEIGlzIHVzZWQgZm9yIGNyb3NzLWFjY291bnQgYWNjZXNzIHRvIHRoZSBidWNrZXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TM0ZpbGUoYnVja2V0OiBJQnVja2V0LCBvYmplY3RLZXk6IHN0cmluZywgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmcpOiBTM1Rvb2xTY2hlbWEge1xuICAgIHJldHVybiBuZXcgUzNUb29sU2NoZW1hKFxuICAgICAge1xuICAgICAgICBidWNrZXROYW1lOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgb2JqZWN0S2V5OiBvYmplY3RLZXksXG4gICAgICB9LFxuICAgICAgYnVja2V0T3duZXJBY2NvdW50SWQsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgUzMgbG9jYXRpb24gb2YgdGhlIHRvb2wgc2NoZW1hIGZpbGUsIGlmIHVzaW5nIGFuIFMzLWJhc2VkIHNjaGVtYS5cbiAgICogQ29udGFpbnMgdGhlIGJ1Y2tldCBuYW1lIGFuZCBvYmplY3Qga2V5IGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHMzRmlsZT86IExvY2F0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5saW5lIHRvb2wgc2NoZW1hIGRlZmluaXRpb24gYXMgYSBzdHJpbmcsIGlmIHVzaW5nIGFuIGlubGluZSBzY2hlbWEuXG4gICAqIENhbiBiZSBpbiBKU09OIG9yIFlBTUwgZm9ybWF0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlubGluZVNjaGVtYT86IFRvb2xEZWZpbml0aW9uW107XG5cbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IElEIG9mIHRoZSBTMyBidWNrZXQgb3duZXIgZm9yIGNyb3NzLWFjY291bnQgYWNjZXNzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0T3duZXJBY2NvdW50SWQ/OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHMzRmlsZT86IExvY2F0aW9uLCBidWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZywgaW5saW5lU2NoZW1hPzogVG9vbERlZmluaXRpb25bXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zM0ZpbGUgPSBzM0ZpbGU7XG4gICAgdGhpcy5pbmxpbmVTY2hlbWEgPSBpbmxpbmVTY2hlbWE7XG4gICAgdGhpcy5idWNrZXRPd25lckFjY291bnRJZCA9IGJ1Y2tldE93bmVyQWNjb3VudElkO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBhcyBDRk4gcHJvcGVydGllc1xuICAgKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBfcmVuZGVyKCk6IGFueTtcbn1cblxuLyoqXG4gKiBUb29sIFNjaGVtYSBmcm9tIGEgbG9jYWwgYXNzZXQuXG4gKlxuICogVGhlIGFzc2V0IGlzIHVwbG9hZGVkIHRvIGFuIFMzIHN0YWdpbmcgYnVja2V0LCB0aGVuIG1vdmVkIHRvIGl0cyBmaW5hbCBsb2NhdGlvblxuICogYnkgQ2xvdWRGb3JtYXRpb24gZHVyaW5nIGRlcGxveW1lbnQuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgQXNzZXRUb29sU2NoZW1hIGV4dGVuZHMgVG9vbFNjaGVtYSB7XG4gIHByaXZhdGUgYXNzZXQ/OiBzM19hc3NldHMuQXNzZXQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYXRoOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogczNfYXNzZXRzLkFzc2V0T3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kcyB0aGlzIHRvb2wgc2NoZW1hIHRvIGEgY29uc3RydWN0IHNjb3BlLlxuICAgKiBUaGlzIG1ldGhvZCBpbml0aWFsaXplcyB0aGUgUzMgYXNzZXQgaWYgaXQgaGFzbid0IGJlZW4gaW5pdGlhbGl6ZWQgeWV0LlxuICAgKiBNdXN0IGJlIGNhbGxlZCBiZWZvcmUgcmVuZGVyaW5nIHRoZSBzY2hlbWEgYXMgQ0ZOIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgdG8gYmluZCB0b1xuICAgKi9cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0VG9vbFNjaGVtYSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvblxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldCA9IG5ldyBzM19hc3NldHMuQXNzZXQoc2NvcGUsIGBTY2hlbWEke21kNWhhc2godGhpcy5wYXRoKX1gLCB7XG4gICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgfSk7XG4gICAgICAvLyBOb3RlOiBQZXJtaXNzaW9ucyB3aWxsIGJlIGdyYW50ZWQgYnkgdGhlIEdhdGV3YXkgdGFyZ2V0IGNvbnN0cnVjdCB3aGVuIGFkZGluZyB0aGUgdGFyZ2V0XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBhcyBDRk4gcHJvcGVydGllc1xuICAgKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS5cbiAgICovXG4gIHB1YmxpYyBfcmVuZGVyKCk6IGFueSB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBUb29sU2NoZW1hTm90Qm91bmRgLFxuICAgICAgICAnVG9vbFNjaGVtYSBtdXN0IGJlIGJvdW5kIHRvIGEgc2NvcGUgYmVmb3JlIHJlbmRlcmluZy4gQ2FsbCBiaW5kKCkgZmlyc3QuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHMzOiB7XG4gICAgICAgIHVyaTogYHMzOi8vJHt0aGlzLmFzc2V0LnMzQnVja2V0TmFtZX0vJHt0aGlzLmFzc2V0LnMzT2JqZWN0S2V5fWAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRQZXJtaXNzaW9uc1RvUm9sZShyb2xlOiBJUm9sZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgVG9vbFNjaGVtYU5vdEJvdW5kYCxcbiAgICAgICAgJ1Rvb2xTY2hlbWEgbXVzdCBiZSBib3VuZCB0byBhIHNjb3BlIGJlZm9yZSByZW5kZXJpbmcuIENhbGwgYmluZCgpIGZpcnN0LicsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmFzc2V0LmdyYW50UmVhZChyb2xlKTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogQ2xhc3MgdG8gZGVmaW5lIGEgVG9vbCBTY2hlbWEgZnJvbSBhbiBpbmxpbmUgc3RyaW5nLlxuICogVGhlIHNjaGVtYSBjYW4gYmUgcHJvdmlkZWQgZGlyZWN0bHkgYXMgYSBzdHJpbmcgaW4gZWl0aGVyIEpTT04gb3IgWUFNTCBmb3JtYXQuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgSW5saW5lVG9vbFNjaGVtYSBleHRlbmRzIFRvb2xTY2hlbWEge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNjaGVtYTogVG9vbERlZmluaXRpb25bXSkge1xuICAgIHN1cGVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBzY2hlbWEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5saW5lUGF5bG9hZDogdGhpcy5zY2hlbWEsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBpZiAoc2NvcGUpIHtcbiAgICB9XG4gICAgLy8gTm8tb3BcbiAgfVxuXG4gIHB1YmxpYyBncmFudFBlcm1pc3Npb25zVG9Sb2xlKF9yb2xlOiBJUm9sZSk6IHZvaWQge1xuICAgIC8vIE5vLW9wIC0gSW5saW5lVG9vbFNjaGVtYSBkb2Vzbid0IG5lZWQgcGVybWlzc2lvbnNcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFMzIEZpbGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyoqXG4gKiBDbGFzcyB0byBkZWZpbmUgYSBUb29sIFNjaGVtYSBmcm9tIGFuIFMzIG9iamVjdC5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM1Rvb2xTY2hlbWEgZXh0ZW5kcyBUb29sU2NoZW1hIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sIHB1YmxpYyByZWFkb25seSBidWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZykge1xuICAgIHN1cGVyKGxvY2F0aW9uLCBidWNrZXRPd25lckFjY291bnRJZCwgdW5kZWZpbmVkKTtcbiAgfVxuICAvKipcbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBzMzoge1xuICAgICAgICB1cmk6IGBzMzovLyR7dGhpcy5sb2NhdGlvbi5idWNrZXROYW1lfS8ke3RoaXMubG9jYXRpb24ub2JqZWN0S2V5fWAsXG4gICAgICAgIC4uLih0aGlzLmJ1Y2tldE93bmVyQWNjb3VudElkICYmIHsgYnVja2V0T3duZXJBY2NvdW50SWQ6IHRoaXMuYnVja2V0T3duZXJBY2NvdW50SWQgfSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKHNjb3BlKSB7XG4gICAgfVxuICAgIC8vIE5vLW9wXG4gIH1cblxuICBwdWJsaWMgZ3JhbnRQZXJtaXNzaW9uc1RvUm9sZShyb2xlOiBJUm9sZSk6IHZvaWQge1xuICAgIEdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IHJvbGUsXG4gICAgICBhY3Rpb25zOiBbJ3MzOkdldE9iamVjdCddLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbYGFybjoke0F3cy5QQVJUSVRJT059OnMzOjo6JHt0aGlzLmxvY2F0aW9uLmJ1Y2tldE5hbWV9LyR7dGhpcy5sb2NhdGlvbi5vYmplY3RLZXl9YF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -9,6 +9,7 @@ import type { ICredentialProviderConfig } from '../outbound-auth/credential-prov
9
9
  *****************************************************************************/
10
10
  /**
11
11
  * Protocol types supported by gateway targets
12
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
12
13
  */
13
14
  export declare enum GatewayTargetProtocolType {
14
15
  /** Model Context Protocol type */
@@ -16,6 +17,7 @@ export declare enum GatewayTargetProtocolType {
16
17
  }
17
18
  /**
18
19
  * MCP target types
20
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
19
21
  */
20
22
  export declare enum McpTargetType {
21
23
  /** OpenAPI schema target type */
@@ -37,6 +39,7 @@ export declare enum McpTargetType {
37
39
  *
38
40
  * Represents a target that hosts tools for the gateway.
39
41
  * Targets can be Lambda functions, OpenAPI schemas, or Smithy models.
42
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
40
43
  */
41
44
  export interface IGatewayTarget extends IResource, IGatewayTargetRef {
42
45
  /**
@@ -107,6 +110,7 @@ export interface IGatewayTarget extends IResource, IGatewayTargetRef {
107
110
  *
108
111
  * Extends the base gateway target interface with MCP-specific properties.
109
112
  * MCP targets expose tools using the Model Context Protocol.
113
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
110
114
  */
111
115
  export interface IMcpGatewayTarget extends IGatewayTarget {
112
116
  /**
@@ -122,6 +126,7 @@ export interface IMcpGatewayTarget extends IGatewayTarget {
122
126
  *
123
127
  * Provides common functionality for all gateway target types including
124
128
  * permission management and property definitions.
129
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
125
130
  */
126
131
  export declare abstract class GatewayTargetBase extends Resource implements IGatewayTarget {
127
132
  abstract readonly targetArn: string;
@@ -1,14 +1,49 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.GatewayTargetBase = exports.McpTargetType = exports.GatewayTargetProtocolType = void 0;
37
+ const jsiiDeprecationWarnings = require("../../../.warnings.jsii.js");
4
38
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
39
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
- const iam = require("aws-cdk-lib/aws-iam");
40
+ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
7
41
  /******************************************************************************
8
42
  * ENUM
9
43
  *****************************************************************************/
10
44
  /**
11
45
  * Protocol types supported by gateway targets
46
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
12
47
  */
13
48
  var GatewayTargetProtocolType;
14
49
  (function (GatewayTargetProtocolType) {
@@ -17,6 +52,7 @@ var GatewayTargetProtocolType;
17
52
  })(GatewayTargetProtocolType || (exports.GatewayTargetProtocolType = GatewayTargetProtocolType = {}));
18
53
  /**
19
54
  * MCP target types
55
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
20
56
  */
21
57
  var McpTargetType;
22
58
  (function (McpTargetType) {
@@ -39,13 +75,23 @@ var McpTargetType;
39
75
  *
40
76
  * Provides common functionality for all gateway target types including
41
77
  * permission management and property definitions.
78
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
42
79
  */
43
80
  class GatewayTargetBase extends aws_cdk_lib_1.Resource {
44
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase", version: "2.256.1-alpha.0" };
81
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase", version: "2.258.0-alpha.0" };
45
82
  /**
46
83
  * A reference to a GatewayTarget resource.
47
84
  */
48
85
  get gatewayTargetRef() {
86
+ try {
87
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase#gatewayTargetRef", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
88
+ }
89
+ catch (error) {
90
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
91
+ Error.captureStackTrace(error, jsiiDeprecationWarnings.getPropertyDescriptor(this, "gatewayTargetRef").get);
92
+ }
93
+ throw error;
94
+ }
49
95
  return {
50
96
  gatewayIdentifier: this.gateway.gatewayRef.gatewayIdentifier,
51
97
  targetId: this.targetId,
@@ -60,6 +106,15 @@ class GatewayTargetBase extends aws_cdk_lib_1.Resource {
60
106
  * @param actions The IAM actions to grant
61
107
  */
62
108
  grant(grantee, ...actions) {
109
+ try {
110
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase#grant", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
111
+ }
112
+ catch (error) {
113
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
114
+ Error.captureStackTrace(error, this.grant);
115
+ }
116
+ throw error;
117
+ }
63
118
  return iam.Grant.addToPrincipal({
64
119
  grantee: grantee,
65
120
  resourceArns: [this.targetArn],
@@ -74,6 +129,15 @@ class GatewayTargetBase extends aws_cdk_lib_1.Resource {
74
129
  * @param grantee The principal to grant read permissions to
75
130
  */
76
131
  grantRead(grantee) {
132
+ try {
133
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase#grantRead", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
134
+ }
135
+ catch (error) {
136
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
137
+ Error.captureStackTrace(error, this.grantRead);
138
+ }
139
+ throw error;
140
+ }
77
141
  const resourceSpecificGrant = this.grant(grantee, 'bedrock-agentcore:GetGatewayTarget');
78
142
  const allResourceGrant = iam.Grant.addToPrincipal({
79
143
  grantee: grantee,
@@ -91,8 +155,17 @@ class GatewayTargetBase extends aws_cdk_lib_1.Resource {
91
155
  * @param grantee The principal to grant manage permissions to
92
156
  */
93
157
  grantManage(grantee) {
158
+ try {
159
+ jsiiDeprecationWarnings.print("@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase#grantManage", "Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.");
160
+ }
161
+ catch (error) {
162
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
163
+ Error.captureStackTrace(error, this.grantManage);
164
+ }
165
+ throw error;
166
+ }
94
167
  return this.grant(grantee, 'bedrock-agentcore:CreateGatewayTarget', 'bedrock-agentcore:UpdateGatewayTarget', 'bedrock-agentcore:DeleteGatewayTarget');
95
168
  }
96
169
  }
97
170
  exports.GatewayTargetBase = GatewayTargetBase;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0YXJnZXQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsNkNBQXVDO0FBRXZDLDJDQUEyQztBQUkzQzs7K0VBRStFO0FBQy9FOztHQUVHO0FBQ0gsSUFBWSx5QkFHWDtBQUhELFdBQVkseUJBQXlCO0lBQ25DLGtDQUFrQztJQUNsQyx3Q0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLHlCQUF5Qix5Q0FBekIseUJBQXlCLFFBR3BDO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGFBV1g7QUFYRCxXQUFZLGFBQWE7SUFDdkIsaUNBQWlDO0lBQ2pDLGtEQUFpQyxDQUFBO0lBQ2pDLCtCQUErQjtJQUMvQiw4Q0FBNkIsQ0FBQTtJQUM3QixrQ0FBa0M7SUFDbEMsa0NBQWlCLENBQUE7SUFDakIsNkJBQTZCO0lBQzdCLDBDQUF5QixDQUFBO0lBQ3pCLDhCQUE4QjtJQUM5Qiw0Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBWFcsYUFBYSw2QkFBYixhQUFhLFFBV3hCO0FBdUdEOzsrRUFFK0U7QUFDL0U7Ozs7O0dBS0c7QUFDSCxNQUFzQixpQkFBa0IsU0FBUSxzQkFBUTs7SUFhdEQ7O09BRUc7SUFDSCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsaUJBQWlCO1lBQzVELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO0tBQ0g7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksS0FBSyxDQUFDLE9BQXVCLEVBQUUsR0FBRyxPQUFpQjtRQUN4RCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDOUIsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsT0FBdUI7UUFDdEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO1FBRXhGLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDaEQsT0FBTyxFQUFFLE9BQU87WUFDaEIsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ25CLE9BQU8sRUFBRSxDQUFDLHNDQUFzQyxDQUFDO1NBQ2xELENBQUMsQ0FBQztRQUNILHdCQUF3QjtRQUN4QixPQUFPLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3hEO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksV0FBVyxDQUFDLE9BQXVCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixPQUFPLEVBQ1AsdUNBQXVDLEVBQ3ZDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsQ0FDeEMsQ0FBQztLQUNIOztBQXhFSCw4Q0F5RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBHYXRld2F5VGFyZ2V0UmVmZXJlbmNlLCBJR2F0ZXdheVRhcmdldFJlZiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlIHsgSUdhdGV3YXkgfSBmcm9tICcuLi9nYXRld2F5LWJhc2UnO1xuaW1wb3J0IHR5cGUgeyBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi4vb3V0Ym91bmQtYXV0aC9jcmVkZW50aWFsLXByb3ZpZGVyJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTlVNXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKipcbiAqIFByb3RvY29sIHR5cGVzIHN1cHBvcnRlZCBieSBnYXRld2F5IHRhcmdldHNcbiAqL1xuZXhwb3J0IGVudW0gR2F0ZXdheVRhcmdldFByb3RvY29sVHlwZSB7XG4gIC8qKiBNb2RlbCBDb250ZXh0IFByb3RvY29sIHR5cGUgKi9cbiAgTUNQID0gJ01DUCcsXG59XG5cbi8qKlxuICogTUNQIHRhcmdldCB0eXBlc1xuICovXG5leHBvcnQgZW51bSBNY3BUYXJnZXRUeXBlIHtcbiAgLyoqIE9wZW5BUEkgc2NoZW1hIHRhcmdldCB0eXBlICovXG4gIE9QRU5BUElfU0NIRU1BID0gJ09QRU5BUElfU0NIRU1BJyxcbiAgLyoqIFNtaXRoeSBtb2RlbCB0YXJnZXQgdHlwZSAqL1xuICBTTUlUSFlfTU9ERUwgPSAnU01JVEhZX01PREVMJyxcbiAgLyoqIExhbWJkYSBmdW5jdGlvbiB0YXJnZXQgdHlwZSAqL1xuICBMQU1CREEgPSAnTEFNQkRBJyxcbiAgLyoqIE1DUCBzZXJ2ZXIgdGFyZ2V0IHR5cGUgKi9cbiAgTUNQX1NFUlZFUiA9ICdNQ1BfU0VSVkVSJyxcbiAgLyoqIEFQSSBHYXRld2F5IHRhcmdldCB0eXBlICovXG4gIEFQSV9HQVRFV0FZID0gJ0FQSV9HQVRFV0FZJyxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVyZmFjZVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgR2F0ZXdheVRhcmdldCByZXNvdXJjZXNcbiAqXG4gKiBSZXByZXNlbnRzIGEgdGFyZ2V0IHRoYXQgaG9zdHMgdG9vbHMgZm9yIHRoZSBnYXRld2F5LlxuICogVGFyZ2V0cyBjYW4gYmUgTGFtYmRhIGZ1bmN0aW9ucywgT3BlbkFQSSBzY2hlbWFzLCBvciBTbWl0aHkgbW9kZWxzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHYXRld2F5VGFyZ2V0IGV4dGVuZHMgSVJlc291cmNlLCBJR2F0ZXdheVRhcmdldFJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBnYXRld2F5IHRhcmdldCByZXNvdXJjZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBnYXRld2F5IHRoYXQgdGhpcyB0YXJnZXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheTogSUdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgcHJvdG9jb2xcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFByb3RvY29sVHlwZTogR2F0ZXdheVRhcmdldFByb3RvY29sVHlwZTtcblxuICAvKipcbiAgICogVGhlIGNyZWRlbnRpYWwgcHJvdmlkZXIgY29uZmlndXJhdGlvbiBmb3IgdGhlIHRhcmdldFxuICAgKi9cbiAgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHN0YXR1cyBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdHVzIHJlYXNvbnMgZm9yIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBzdGF0dXNSZWFzb25zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCB3aGVuIHRoZSBnYXRld2F5IHRhcmdldCB3YXMgY3JlYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCB3aGVuIHRoZSBnYXRld2F5IHRhcmdldCB3YXMgbGFzdCB1cGRhdGVkXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZWRBdD86IHN0cmluZztcblxuICAvKipcbiAgICogR3JhbnRzIElBTSBhY3Rpb25zIHRvIHRoZSBJQU0gUHJpbmNpcGFsXG4gICAqL1xuICBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgR2V0YCBhbmQgYExpc3RgIGFjdGlvbnMgb24gdGhlIEdhdGV3YXkgVGFyZ2V0XG4gICAqL1xuICBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgQ3JlYXRlYCwgYFVwZGF0ZWAsIGFuZCBgRGVsZXRlYCBhY3Rpb25zIG9uIHRoZSBHYXRld2F5IFRhcmdldFxuICAgKi9cbiAgZ3JhbnRNYW5hZ2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBNQ1AgZ2F0ZXdheSB0YXJnZXRzXG4gKlxuICogRXh0ZW5kcyB0aGUgYmFzZSBnYXRld2F5IHRhcmdldCBpbnRlcmZhY2Ugd2l0aCBNQ1Atc3BlY2lmaWMgcHJvcGVydGllcy5cbiAqIE1DUCB0YXJnZXRzIGV4cG9zZSB0b29scyB1c2luZyB0aGUgTW9kZWwgQ29udGV4dCBQcm90b2NvbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTWNwR2F0ZXdheVRhcmdldCBleHRlbmRzIElHYXRld2F5VGFyZ2V0IHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRhcmdldCAoTGFtYmRhLCBPcGVuQVBJLCBvciBTbWl0aHkpXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRUeXBlOiBNY3BUYXJnZXRUeXBlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZSBDbGFzc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBnYXRld2F5IHRhcmdldCBpbXBsZW1lbnRhdGlvbnNcbiAqXG4gKiBQcm92aWRlcyBjb21tb24gZnVuY3Rpb25hbGl0eSBmb3IgYWxsIGdhdGV3YXkgdGFyZ2V0IHR5cGVzIGluY2x1ZGluZ1xuICogcGVybWlzc2lvbiBtYW5hZ2VtZW50IGFuZCBwcm9wZXJ0eSBkZWZpbml0aW9ucy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdhdGV3YXlUYXJnZXRCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJR2F0ZXdheVRhcmdldCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0YXJnZXRBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGdhdGV3YXk6IElHYXRld2F5O1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1c1JlYXNvbnM/OiBzdHJpbmdbXTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHVwZGF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRhcmdldFByb3RvY29sVHlwZTogR2F0ZXdheVRhcmdldFByb3RvY29sVHlwZTtcblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gYSBHYXRld2F5VGFyZ2V0IHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGdldCBnYXRld2F5VGFyZ2V0UmVmKCk6IEdhdGV3YXlUYXJnZXRSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7XG4gICAgICBnYXRld2F5SWRlbnRpZmllcjogdGhpcy5nYXRld2F5LmdhdGV3YXlSZWYuZ2F0ZXdheUlkZW50aWZpZXIsXG4gICAgICB0YXJnZXRJZDogdGhpcy50YXJnZXRJZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBJQU0gYWN0aW9ucyB0byB0aGUgSUFNIFByaW5jaXBhbFxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBwZXJtaXNzaW9ucyB0b1xuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgSUFNIGFjdGlvbnMgdG8gZ3JhbnRcbiAgICovXG4gIHB1YmxpYyBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZTogZ3JhbnRlZSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMudGFyZ2V0QXJuXSxcbiAgICAgIGFjdGlvbnM6IGFjdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIGBHZXRgIGFuZCBgTGlzdGAgYWN0aW9ucyBvbiB0aGUgR2F0ZXdheSBUYXJnZXRcbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgcmVhZCBwZXJtaXNzaW9ucyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50UmVhZChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmVzb3VyY2VTcGVjaWZpY0dyYW50ID0gdGhpcy5ncmFudChncmFudGVlLCAnYmVkcm9jay1hZ2VudGNvcmU6R2V0R2F0ZXdheVRhcmdldCcpO1xuXG4gICAgY29uc3QgYWxsUmVzb3VyY2VHcmFudCA9IGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiBncmFudGVlLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbJyonXSxcbiAgICAgIGFjdGlvbnM6IFsnYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlUYXJnZXRzJ10sXG4gICAgfSk7XG4gICAgLy8gUmV0dXJuIGNvbWJpbmVkIGdyYW50XG4gICAgcmV0dXJuIHJlc291cmNlU3BlY2lmaWNHcmFudC5jb21iaW5lKGFsbFJlc291cmNlR3JhbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgQ3JlYXRlYCwgYFVwZGF0ZWAsIGFuZCBgRGVsZXRlYCBhY3Rpb25zIG9uIHRoZSBHYXRld2F5IFRhcmdldFxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBtYW5hZ2UgcGVybWlzc2lvbnMgdG9cbiAgICovXG4gIHB1YmxpYyBncmFudE1hbmFnZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhbnQoXG4gICAgICBncmFudGVlLFxuICAgICAgJ2JlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUdhdGV3YXlUYXJnZXQnLFxuICAgICAgJ2JlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlUYXJnZXQnLFxuICAgICAgJ2JlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlUYXJnZXQnLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0YXJnZXQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZDQUF1QztBQUV2Qyx5REFBMkM7QUFJM0M7OytFQUUrRTtBQUMvRTs7O0dBR0c7QUFDSCxJQUFZLHlCQUdYO0FBSEQsV0FBWSx5QkFBeUI7SUFDbkMsa0NBQWtDO0lBQ2xDLHdDQUFXLENBQUE7QUFDYixDQUFDLEVBSFcseUJBQXlCLHlDQUF6Qix5QkFBeUIsUUFHcEM7QUFFRDs7O0dBR0c7QUFDSCxJQUFZLGFBV1g7QUFYRCxXQUFZLGFBQWE7SUFDdkIsaUNBQWlDO0lBQ2pDLGtEQUFpQyxDQUFBO0lBQ2pDLCtCQUErQjtJQUMvQiw4Q0FBNkIsQ0FBQTtJQUM3QixrQ0FBa0M7SUFDbEMsa0NBQWlCLENBQUE7SUFDakIsNkJBQTZCO0lBQzdCLDBDQUF5QixDQUFBO0lBQ3pCLDhCQUE4QjtJQUM5Qiw0Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBWFcsYUFBYSw2QkFBYixhQUFhLFFBV3hCO0FBeUdEOzsrRUFFK0U7QUFDL0U7Ozs7OztHQU1HO0FBQ0gsTUFBc0IsaUJBQWtCLFNBQVEsc0JBQVE7O0lBYXREOztPQUVHO0lBQ0gsSUFBVyxnQkFBZ0I7Ozs7Ozs7Ozs7UUFDekIsT0FBTztZQUNMLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGlCQUFpQjtZQUM1RCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztLQUNIO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FBQyxPQUF1QixFQUFFLEdBQUcsT0FBaUI7Ozs7Ozs7Ozs7UUFDeEQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUM5QixPQUFPLEVBQUUsT0FBTztZQUNoQixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksU0FBUyxDQUFDLE9BQXVCOzs7Ozs7Ozs7O1FBQ3RDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsb0NBQW9DLENBQUMsQ0FBQztRQUV4RixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQ2hELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQztTQUNsRCxDQUFDLENBQUM7UUFDSCx3QkFBd0I7UUFDeEIsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUN4RDtJQUVEOzs7Ozs7T0FNRztJQUNJLFdBQVcsQ0FBQyxPQUF1Qjs7Ozs7Ozs7OztRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2YsT0FBTyxFQUNQLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsdUNBQXVDLENBQ3hDLENBQUM7S0FDSDs7QUF4RUgsOENBeUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlIHsgR2F0ZXdheVRhcmdldFJlZmVyZW5jZSwgSUdhdGV3YXlUYXJnZXRSZWYgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZSc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgdHlwZSB7IElHYXRld2F5IH0gZnJvbSAnLi4vZ2F0ZXdheS1iYXNlJztcbmltcG9ydCB0eXBlIHsgSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyB9IGZyb20gJy4uL291dGJvdW5kLWF1dGgvY3JlZGVudGlhbC1wcm92aWRlcic7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5VTVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqXG4gKiBQcm90b2NvbCB0eXBlcyBzdXBwb3J0ZWQgYnkgZ2F0ZXdheSB0YXJnZXRzXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZW51bSBHYXRld2F5VGFyZ2V0UHJvdG9jb2xUeXBlIHtcbiAgLyoqIE1vZGVsIENvbnRleHQgUHJvdG9jb2wgdHlwZSAqL1xuICBNQ1AgPSAnTUNQJyxcbn1cblxuLyoqXG4gKiBNQ1AgdGFyZ2V0IHR5cGVzXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZW51bSBNY3BUYXJnZXRUeXBlIHtcbiAgLyoqIE9wZW5BUEkgc2NoZW1hIHRhcmdldCB0eXBlICovXG4gIE9QRU5BUElfU0NIRU1BID0gJ09QRU5BUElfU0NIRU1BJyxcbiAgLyoqIFNtaXRoeSBtb2RlbCB0YXJnZXQgdHlwZSAqL1xuICBTTUlUSFlfTU9ERUwgPSAnU01JVEhZX01PREVMJyxcbiAgLyoqIExhbWJkYSBmdW5jdGlvbiB0YXJnZXQgdHlwZSAqL1xuICBMQU1CREEgPSAnTEFNQkRBJyxcbiAgLyoqIE1DUCBzZXJ2ZXIgdGFyZ2V0IHR5cGUgKi9cbiAgTUNQX1NFUlZFUiA9ICdNQ1BfU0VSVkVSJyxcbiAgLyoqIEFQSSBHYXRld2F5IHRhcmdldCB0eXBlICovXG4gIEFQSV9HQVRFV0FZID0gJ0FQSV9HQVRFV0FZJyxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVyZmFjZVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgR2F0ZXdheVRhcmdldCByZXNvdXJjZXNcbiAqXG4gKiBSZXByZXNlbnRzIGEgdGFyZ2V0IHRoYXQgaG9zdHMgdG9vbHMgZm9yIHRoZSBnYXRld2F5LlxuICogVGFyZ2V0cyBjYW4gYmUgTGFtYmRhIGZ1bmN0aW9ucywgT3BlbkFQSSBzY2hlbWFzLCBvciBTbWl0aHkgbW9kZWxzLlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBlcXVpdmFsZW50IGNvbnN0cnVjdCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR2F0ZXdheVRhcmdldCBleHRlbmRzIElSZXNvdXJjZSwgSUdhdGV3YXlUYXJnZXRSZWYge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZ2F0ZXdheSB0YXJnZXQgcmVzb3VyY2VcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGdhdGV3YXkgdGFyZ2V0XG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZ2F0ZXdheSB0aGF0IHRoaXMgdGFyZ2V0IGJlbG9uZ3MgdG9cbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXk6IElHYXRld2F5O1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHByb3RvY29sXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRQcm90b2NvbFR5cGU6IEdhdGV3YXlUYXJnZXRQcm90b2NvbFR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFsIHByb3ZpZGVyIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0YXJnZXRcbiAgICovXG4gIHJlYWRvbmx5IGNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zOiBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnW10gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIGdhdGV3YXkgdGFyZ2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXR1cyByZWFzb25zIGZvciB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzUmVhc29ucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaW1lc3RhbXAgd2hlbiB0aGUgZ2F0ZXdheSB0YXJnZXQgd2FzIGNyZWF0ZWRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaW1lc3RhbXAgd2hlbiB0aGUgZ2F0ZXdheSB0YXJnZXQgd2FzIGxhc3QgdXBkYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB1cGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBJQU0gYWN0aW9ucyB0byB0aGUgSUFNIFByaW5jaXBhbFxuICAgKi9cbiAgZ3JhbnQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIC4uLmFjdGlvbnM6IHN0cmluZ1tdKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudHMgYEdldGAgYW5kIGBMaXN0YCBhY3Rpb25zIG9uIHRoZSBHYXRld2F5IFRhcmdldFxuICAgKi9cbiAgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudHMgYENyZWF0ZWAsIGBVcGRhdGVgLCBhbmQgYERlbGV0ZWAgYWN0aW9ucyBvbiB0aGUgR2F0ZXdheSBUYXJnZXRcbiAgICovXG4gIGdyYW50TWFuYWdlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgTUNQIGdhdGV3YXkgdGFyZ2V0c1xuICpcbiAqIEV4dGVuZHMgdGhlIGJhc2UgZ2F0ZXdheSB0YXJnZXQgaW50ZXJmYWNlIHdpdGggTUNQLXNwZWNpZmljIHByb3BlcnRpZXMuXG4gKiBNQ1AgdGFyZ2V0cyBleHBvc2UgdG9vbHMgdXNpbmcgdGhlIE1vZGVsIENvbnRleHQgUHJvdG9jb2wuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElNY3BHYXRld2F5VGFyZ2V0IGV4dGVuZHMgSUdhdGV3YXlUYXJnZXQge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGFyZ2V0IChMYW1iZGEsIE9wZW5BUEksIG9yIFNtaXRoeSlcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFR5cGU6IE1jcFRhcmdldFR5cGU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlIENsYXNzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGdhdGV3YXkgdGFyZ2V0IGltcGxlbWVudGF0aW9uc1xuICpcbiAqIFByb3ZpZGVzIGNvbW1vbiBmdW5jdGlvbmFsaXR5IGZvciBhbGwgZ2F0ZXdheSB0YXJnZXQgdHlwZXMgaW5jbHVkaW5nXG4gKiBwZXJtaXNzaW9uIG1hbmFnZW1lbnQgYW5kIHByb3BlcnR5IGRlZmluaXRpb25zLlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBlcXVpdmFsZW50IGNvbnN0cnVjdCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdhdGV3YXlUYXJnZXRCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJR2F0ZXdheVRhcmdldCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0YXJnZXRBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGdhdGV3YXk6IElHYXRld2F5O1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1c1JlYXNvbnM/OiBzdHJpbmdbXTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHVwZGF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRhcmdldFByb3RvY29sVHlwZTogR2F0ZXdheVRhcmdldFByb3RvY29sVHlwZTtcblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gYSBHYXRld2F5VGFyZ2V0IHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGdldCBnYXRld2F5VGFyZ2V0UmVmKCk6IEdhdGV3YXlUYXJnZXRSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7XG4gICAgICBnYXRld2F5SWRlbnRpZmllcjogdGhpcy5nYXRld2F5LmdhdGV3YXlSZWYuZ2F0ZXdheUlkZW50aWZpZXIsXG4gICAgICB0YXJnZXRJZDogdGhpcy50YXJnZXRJZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBJQU0gYWN0aW9ucyB0byB0aGUgSUFNIFByaW5jaXBhbFxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBwZXJtaXNzaW9ucyB0b1xuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgSUFNIGFjdGlvbnMgdG8gZ3JhbnRcbiAgICovXG4gIHB1YmxpYyBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZTogZ3JhbnRlZSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMudGFyZ2V0QXJuXSxcbiAgICAgIGFjdGlvbnM6IGFjdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIGBHZXRgIGFuZCBgTGlzdGAgYWN0aW9ucyBvbiB0aGUgR2F0ZXdheSBUYXJnZXRcbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgcmVhZCBwZXJtaXNzaW9ucyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50UmVhZChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmVzb3VyY2VTcGVjaWZpY0dyYW50ID0gdGhpcy5ncmFudChncmFudGVlLCAnYmVkcm9jay1hZ2VudGNvcmU6R2V0R2F0ZXdheVRhcmdldCcpO1xuXG4gICAgY29uc3QgYWxsUmVzb3VyY2VHcmFudCA9IGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiBncmFudGVlLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbJyonXSxcbiAgICAgIGFjdGlvbnM6IFsnYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlUYXJnZXRzJ10sXG4gICAgfSk7XG4gICAgLy8gUmV0dXJuIGNvbWJpbmVkIGdyYW50XG4gICAgcmV0dXJuIHJlc291cmNlU3BlY2lmaWNHcmFudC5jb21iaW5lKGFsbFJlc291cmNlR3JhbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgQ3JlYXRlYCwgYFVwZGF0ZWAsIGFuZCBgRGVsZXRlYCBhY3Rpb25zIG9uIHRoZSBHYXRld2F5IFRhcmdldFxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBtYW5hZ2UgcGVybWlzc2lvbnMgdG9cbiAgICovXG4gIHB1YmxpYyBncmFudE1hbmFnZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhbnQoXG4gICAgICBncmFudGVlLFxuICAgICAgJ2JlZHJvY2stYWdlbnRjb3JlOkNyZWF0ZUdhdGV3YXlUYXJnZXQnLFxuICAgICAgJ2JlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlUYXJnZXQnLFxuICAgICAgJ2JlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXlUYXJnZXQnLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==