@aws-cdk/aws-bedrock-agentcore-alpha 2.235.0-alpha.0 → 2.236.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.
- package/.jsii +1114 -520
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +19 -1
- package/README.md +146 -10
- package/lib/gateway/gateway-base.d.ts +2 -2
- package/lib/gateway/gateway-base.js +4 -4
- package/lib/gateway/gateway.d.ts +59 -7
- package/lib/gateway/gateway.js +103 -7
- package/lib/gateway/inbound-auth/authorizer.js +3 -3
- package/lib/gateway/interceptor.d.ts +137 -0
- package/lib/gateway/interceptor.js +143 -0
- package/lib/gateway/outbound-auth/api-key.js +1 -1
- package/lib/gateway/outbound-auth/credential-provider.js +1 -1
- package/lib/gateway/protocol.js +2 -2
- package/lib/gateway/targets/schema/api-schema.js +4 -4
- package/lib/gateway/targets/schema/tool-schema.js +4 -4
- package/lib/gateway/targets/target-base.js +1 -1
- package/lib/gateway/targets/target-configuration.js +5 -5
- package/lib/gateway/targets/target.d.ts +2 -1
- package/lib/gateway/targets/target.js +11 -4
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/memory/memory-strategy.d.ts +19 -0
- package/lib/memory/memory-strategy.js +41 -2
- package/lib/memory/memory.d.ts +5 -4
- package/lib/memory/memory.js +16 -9
- package/lib/memory/strategies/managed-strategy.d.ts +26 -0
- package/lib/memory/strategies/managed-strategy.js +46 -4
- package/lib/memory/strategies/self-managed-strategy.js +1 -1
- package/lib/network/network-configuration.js +4 -4
- package/lib/runtime/runtime-artifact.js +1 -1
- package/lib/runtime/runtime-authorizer-configuration.js +1 -1
- package/lib/runtime/runtime-base.d.ts +2 -2
- package/lib/runtime/runtime-base.js +4 -4
- package/lib/runtime/runtime-endpoint-base.d.ts +2 -2
- package/lib/runtime/runtime-endpoint-base.js +4 -4
- package/lib/runtime/runtime-endpoint.d.ts +2 -1
- package/lib/runtime/runtime-endpoint.js +11 -4
- package/lib/runtime/runtime.d.ts +2 -1
- package/lib/runtime/runtime.js +11 -4
- package/lib/tools/browser.d.ts +5 -5
- package/lib/tools/browser.js +22 -14
- package/lib/tools/code-interpreter.d.ts +5 -5
- package/lib/tools/code-interpreter.js +16 -8
- package/package.json +19 -11
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LambdaInterceptor = exports.InterceptionPoint = void 0;
|
|
4
|
+
const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
/******************************************************************************
|
|
7
|
+
* Enums
|
|
8
|
+
*****************************************************************************/
|
|
9
|
+
/**
|
|
10
|
+
* The interception point where the interceptor will be invoked
|
|
11
|
+
*/
|
|
12
|
+
var InterceptionPoint;
|
|
13
|
+
(function (InterceptionPoint) {
|
|
14
|
+
/**
|
|
15
|
+
* Execute before the gateway makes a call to the target
|
|
16
|
+
* Useful for request validation, transformation, or custom authorization
|
|
17
|
+
*/
|
|
18
|
+
InterceptionPoint["REQUEST"] = "REQUEST";
|
|
19
|
+
/**
|
|
20
|
+
* Execute after the target responds but before the gateway sends the response back
|
|
21
|
+
* Useful for response transformation, filtering, or adding custom headers
|
|
22
|
+
*/
|
|
23
|
+
InterceptionPoint["RESPONSE"] = "RESPONSE";
|
|
24
|
+
})(InterceptionPoint || (exports.InterceptionPoint = InterceptionPoint = {}));
|
|
25
|
+
/******************************************************************************
|
|
26
|
+
* Classes
|
|
27
|
+
*****************************************************************************/
|
|
28
|
+
/**
|
|
29
|
+
* A Lambda-based interceptor for Gateway
|
|
30
|
+
*
|
|
31
|
+
* Interceptors allow you to run custom code during each invocation of your gateway:
|
|
32
|
+
* - REQUEST interceptors execute before calling the target
|
|
33
|
+
* - RESPONSE interceptors execute after the target responds
|
|
34
|
+
* @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-interceptors.html
|
|
35
|
+
*/
|
|
36
|
+
class LambdaInterceptor {
|
|
37
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaInterceptor", version: "2.236.0-alpha.0" };
|
|
38
|
+
/**
|
|
39
|
+
* Create a REQUEST interceptor that executes before the gateway calls the target
|
|
40
|
+
*
|
|
41
|
+
* **Important:** When this interceptor is added to a gateway, the gateway's IAM role
|
|
42
|
+
* will automatically be granted `lambda:InvokeFunction` permission on the specified
|
|
43
|
+
* Lambda function.
|
|
44
|
+
*
|
|
45
|
+
* @param lambdaFunction The Lambda function to invoke
|
|
46
|
+
* @param options Optional configuration for the interceptor
|
|
47
|
+
* @returns A configured LambdaInterceptor for request interception
|
|
48
|
+
*/
|
|
49
|
+
static forRequest(lambdaFunction, options) {
|
|
50
|
+
try {
|
|
51
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_InterceptorOptions(options);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
55
|
+
Error.captureStackTrace(error, this.forRequest);
|
|
56
|
+
}
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
return new LambdaInterceptor(InterceptionPoint.REQUEST, lambdaFunction, options);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create a RESPONSE interceptor that executes after the target responds
|
|
63
|
+
*
|
|
64
|
+
* **Important:** When this interceptor is added to a gateway, the gateway's IAM role
|
|
65
|
+
* will automatically be granted `lambda:InvokeFunction` permission on the specified
|
|
66
|
+
* Lambda function.
|
|
67
|
+
*
|
|
68
|
+
* @param lambdaFunction The Lambda function to invoke
|
|
69
|
+
* @param options Optional configuration for the interceptor
|
|
70
|
+
* @returns A configured LambdaInterceptor for response interception
|
|
71
|
+
*/
|
|
72
|
+
static forResponse(lambdaFunction, options) {
|
|
73
|
+
try {
|
|
74
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_InterceptorOptions(options);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
78
|
+
Error.captureStackTrace(error, this.forResponse);
|
|
79
|
+
}
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
return new LambdaInterceptor(InterceptionPoint.RESPONSE, lambdaFunction, options);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The interception point (REQUEST or RESPONSE)
|
|
86
|
+
*/
|
|
87
|
+
interceptionPoint;
|
|
88
|
+
/**
|
|
89
|
+
* The Lambda function to invoke for this interceptor
|
|
90
|
+
*/
|
|
91
|
+
lambdaFunction;
|
|
92
|
+
/**
|
|
93
|
+
* Whether to pass request headers to the interceptor
|
|
94
|
+
*
|
|
95
|
+
* @default false - Headers are not passed for security
|
|
96
|
+
*/
|
|
97
|
+
passRequestHeaders;
|
|
98
|
+
constructor(interceptionPoint, lambdaFunction, options) {
|
|
99
|
+
this.interceptionPoint = interceptionPoint;
|
|
100
|
+
this.lambdaFunction = lambdaFunction;
|
|
101
|
+
this.passRequestHeaders = options?.passRequestHeaders ?? false;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Binds this Lambda interceptor to a Gateway
|
|
105
|
+
*
|
|
106
|
+
* This method:
|
|
107
|
+
* 1. Grants the Gateway's IAM role permission to invoke the Lambda function
|
|
108
|
+
* 2. Returns the CloudFormation configuration for this interceptor
|
|
109
|
+
*
|
|
110
|
+
* @param _scope The construct scope (currently unused, reserved for future extensions)
|
|
111
|
+
* @param gateway The gateway this interceptor is being bound to
|
|
112
|
+
* @returns Configuration for CloudFormation rendering
|
|
113
|
+
*/
|
|
114
|
+
bind(_scope, gateway) {
|
|
115
|
+
try {
|
|
116
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_IGateway(gateway);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
120
|
+
Error.captureStackTrace(error, this.bind);
|
|
121
|
+
}
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
// Grant Lambda invoke permission to the Gateway's role
|
|
125
|
+
this.lambdaFunction.grantInvoke(gateway.role);
|
|
126
|
+
// Return CloudFormation configuration
|
|
127
|
+
return {
|
|
128
|
+
configuration: {
|
|
129
|
+
interceptionPoints: [this.interceptionPoint],
|
|
130
|
+
interceptor: {
|
|
131
|
+
lambda: {
|
|
132
|
+
arn: this.lambdaFunction.functionArn,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
inputConfiguration: {
|
|
136
|
+
passRequestHeaders: this.passRequestHeaders,
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.LambdaInterceptor = LambdaInterceptor;
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBOzsrRUFFK0U7QUFFL0U7O0dBRUc7QUFDSCxJQUFZLGlCQVlYO0FBWkQsV0FBWSxpQkFBaUI7SUFDM0I7OztPQUdHO0lBQ0gsd0NBQW1CLENBQUE7SUFFbkI7OztPQUdHO0lBQ0gsMENBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVpXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBWTVCO0FBMkREOzsrRUFFK0U7QUFFL0U7Ozs7Ozs7R0FPRztBQUNILE1BQWEsaUJBQWlCOztJQUM1Qjs7Ozs7Ozs7OztPQVVHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FDdEIsY0FBeUIsRUFDekIsT0FBNEI7Ozs7Ozs7Ozs7UUFFNUIsT0FBTyxJQUFJLGlCQUFpQixDQUMxQixpQkFBaUIsQ0FBQyxPQUFPLEVBQ3pCLGNBQWMsRUFDZCxPQUFPLENBQ1IsQ0FBQztLQUNIO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLGNBQXlCLEVBQ3pCLE9BQTRCOzs7Ozs7Ozs7O1FBRTVCLE9BQU8sSUFBSSxpQkFBaUIsQ0FDMUIsaUJBQWlCLENBQUMsUUFBUSxFQUMxQixjQUFjLEVBQ2QsT0FBTyxDQUNSLENBQUM7S0FDSDtJQUVEOztPQUVHO0lBQ2EsaUJBQWlCLENBQW9CO0lBRXJEOztPQUVHO0lBQ2MsY0FBYyxDQUFZO0lBRTNDOzs7O09BSUc7SUFDYyxrQkFBa0IsQ0FBVTtJQUU3QyxZQUNFLGlCQUFvQyxFQUNwQyxjQUF5QixFQUN6QixPQUE0QjtRQUU1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxLQUFLLENBQUM7S0FDaEU7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksSUFBSSxDQUFDLE1BQWlCLEVBQUUsT0FBaUI7Ozs7Ozs7Ozs7UUFDOUMsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxzQ0FBc0M7UUFDdEMsT0FBTztZQUNMLGFBQWEsRUFBRTtnQkFDYixrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUMsV0FBVyxFQUFFO29CQUNYLE1BQU0sRUFBRTt3QkFDTixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXO3FCQUNyQztpQkFDRjtnQkFDRCxrQkFBa0IsRUFBRTtvQkFDbEIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtpQkFDNUM7YUFDRjtTQUNGLENBQUM7S0FDSDs7QUFyR0gsOENBc0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUZ1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElHYXRld2F5IH0gZnJvbSAnLi9nYXRld2F5LWJhc2UnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBUaGUgaW50ZXJjZXB0aW9uIHBvaW50IHdoZXJlIHRoZSBpbnRlcmNlcHRvciB3aWxsIGJlIGludm9rZWRcbiAqL1xuZXhwb3J0IGVudW0gSW50ZXJjZXB0aW9uUG9pbnQge1xuICAvKipcbiAgICogRXhlY3V0ZSBiZWZvcmUgdGhlIGdhdGV3YXkgbWFrZXMgYSBjYWxsIHRvIHRoZSB0YXJnZXRcbiAgICogVXNlZnVsIGZvciByZXF1ZXN0IHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBvciBjdXN0b20gYXV0aG9yaXphdGlvblxuICAgKi9cbiAgUkVRVUVTVCA9ICdSRVFVRVNUJyxcblxuICAvKipcbiAgICogRXhlY3V0ZSBhZnRlciB0aGUgdGFyZ2V0IHJlc3BvbmRzIGJ1dCBiZWZvcmUgdGhlIGdhdGV3YXkgc2VuZHMgdGhlIHJlc3BvbnNlIGJhY2tcbiAgICogVXNlZnVsIGZvciByZXNwb25zZSB0cmFuc2Zvcm1hdGlvbiwgZmlsdGVyaW5nLCBvciBhZGRpbmcgY3VzdG9tIGhlYWRlcnNcbiAgICovXG4gIFJFU1BPTlNFID0gJ1JFU1BPTlNFJyxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVyZmFjZXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBhbiBpbnRlcmNlcHRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVyY2VwdG9yT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBhc3MgcmVxdWVzdCBoZWFkZXJzIHRvIHRoZSBpbnRlcmNlcHRvciBMYW1iZGEgZnVuY3Rpb25cbiAgICpcbiAgICogKipTZWN1cml0eSBXYXJuaW5nKio6IFJlcXVlc3QgaGVhZGVycyBjYW4gY29udGFpbiBzZW5zaXRpdmUgaW5mb3JtYXRpb24gc3VjaCBhc1xuICAgKiBhdXRoZW50aWNhdGlvbiB0b2tlbnMgYW5kIGNyZWRlbnRpYWxzLiBPbmx5IGVuYWJsZSB0aGlzIGlmIHlvdXIgaW50ZXJjZXB0b3IgbmVlZHNcbiAgICogYWNjZXNzIHRvIGhlYWRlcnMgYW5kIHlvdSBoYXZlIHZlcmlmaWVkIHRoYXQgc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGlzIG5vdCBsb2dnZWRcbiAgICogb3IgZXhwb3NlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgLSBIZWFkZXJzIGFyZSBub3QgcGFzc2VkIHRvIGludGVyY2VwdG9yIGZvciBzZWN1cml0eVxuICAgKi9cbiAgcmVhZG9ubHkgcGFzc1JlcXVlc3RIZWFkZXJzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGludGVyY2VwdG9yIHRoYXQgY2FuIGJlIGJvdW5kIHRvIGEgR2F0ZXdheVxuICpcbiAqIEludGVyY2VwdG9ycyBhbGxvdyBjdXN0b20gY29kZSBleGVjdXRpb24gYXQgc3BlY2lmaWMgcG9pbnRzIGluIHRoZSBnYXRld2F5IHJlcXVlc3QvcmVzcG9uc2UgZmxvdy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJjZXB0b3Ige1xuICAvKipcbiAgICogVGhlIGludGVyY2VwdGlvbiBwb2ludCB3aGVyZSB0aGlzIGludGVyY2VwdG9yIHdpbGwgYmUgaW52b2tlZFxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJjZXB0aW9uUG9pbnQ6IEludGVyY2VwdGlvblBvaW50O1xuXG4gIC8qKlxuICAgKiBCaW5kcyB0aGlzIGludGVyY2VwdG9yIHRvIGEgR2F0ZXdheVxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgaW50ZXJjZXB0b3IgaXMgYWRkZWQgdG8gYSBnYXRld2F5LiBJdCBzaG91bGQ6XG4gICAqIDEuIEdyYW50IGFueSBuZWNlc3NhcnkgcGVybWlzc2lvbnMgKGUuZy4sIExhbWJkYSBpbnZva2UgcGVybWlzc2lvbnMpXG4gICAqIDIuIFBlcmZvcm0gYW55IHJlcXVpcmVkIHNldHVwXG4gICAqIDMuIFJldHVybiB0aGUgQ2xvdWRGb3JtYXRpb24gY29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZSBmb3IgY3JlYXRpbmcgYW55IHJlcXVpcmVkIHJlc291cmNlc1xuICAgKiBAcGFyYW0gZ2F0ZXdheSBUaGUgZ2F0ZXdheSB0aGlzIGludGVyY2VwdG9yIGlzIGJlaW5nIGJvdW5kIHRvIFtkaXNhYmxlLWF3c2xpbnQ6cHJlZmVyLXJlZi1pbnRlcmZhY2VdXG4gICAqIEByZXR1cm5zIENvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIHJlbmRlcmVkIHRvIENsb3VkRm9ybWF0aW9uXG4gICAqL1xuICBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIGdhdGV3YXk6IElHYXRld2F5KTogSW50ZXJjZXB0b3JCaW5kQ29uZmlnO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcmV0dXJuZWQgZnJvbSBiaW5kaW5nIGFuIGludGVyY2VwdG9yIHRvIGEgR2F0ZXdheVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVyY2VwdG9yQmluZENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gY29uZmlndXJhdGlvbiBmb3IgdGhpcyBpbnRlcmNlcHRvclxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvbjogYW55O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3Nlc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEEgTGFtYmRhLWJhc2VkIGludGVyY2VwdG9yIGZvciBHYXRld2F5XG4gKlxuICogSW50ZXJjZXB0b3JzIGFsbG93IHlvdSB0byBydW4gY3VzdG9tIGNvZGUgZHVyaW5nIGVhY2ggaW52b2NhdGlvbiBvZiB5b3VyIGdhdGV3YXk6XG4gKiAtIFJFUVVFU1QgaW50ZXJjZXB0b3JzIGV4ZWN1dGUgYmVmb3JlIGNhbGxpbmcgdGhlIHRhcmdldFxuICogLSBSRVNQT05TRSBpbnRlcmNlcHRvcnMgZXhlY3V0ZSBhZnRlciB0aGUgdGFyZ2V0IHJlc3BvbmRzXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrLWFnZW50Y29yZS9sYXRlc3QvZGV2Z3VpZGUvZ2F0ZXdheS1pbnRlcmNlcHRvcnMuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBJSW50ZXJjZXB0b3Ige1xuICAvKipcbiAgICogQ3JlYXRlIGEgUkVRVUVTVCBpbnRlcmNlcHRvciB0aGF0IGV4ZWN1dGVzIGJlZm9yZSB0aGUgZ2F0ZXdheSBjYWxscyB0aGUgdGFyZ2V0XG4gICAqXG4gICAqICoqSW1wb3J0YW50OioqIFdoZW4gdGhpcyBpbnRlcmNlcHRvciBpcyBhZGRlZCB0byBhIGdhdGV3YXksIHRoZSBnYXRld2F5J3MgSUFNIHJvbGVcbiAgICogd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGdyYW50ZWQgYGxhbWJkYTpJbnZva2VGdW5jdGlvbmAgcGVybWlzc2lvbiBvbiB0aGUgc3BlY2lmaWVkXG4gICAqIExhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGxhbWJkYUZ1bmN0aW9uIFRoZSBMYW1iZGEgZnVuY3Rpb24gdG8gaW52b2tlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBpbnRlcmNlcHRvclxuICAgKiBAcmV0dXJucyBBIGNvbmZpZ3VyZWQgTGFtYmRhSW50ZXJjZXB0b3IgZm9yIHJlcXVlc3QgaW50ZXJjZXB0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvclJlcXVlc3QoXG4gICAgbGFtYmRhRnVuY3Rpb246IElGdW5jdGlvbixcbiAgICBvcHRpb25zPzogSW50ZXJjZXB0b3JPcHRpb25zLFxuICApOiBMYW1iZGFJbnRlcmNlcHRvciB7XG4gICAgcmV0dXJuIG5ldyBMYW1iZGFJbnRlcmNlcHRvcihcbiAgICAgIEludGVyY2VwdGlvblBvaW50LlJFUVVFU1QsXG4gICAgICBsYW1iZGFGdW5jdGlvbixcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBSRVNQT05TRSBpbnRlcmNlcHRvciB0aGF0IGV4ZWN1dGVzIGFmdGVyIHRoZSB0YXJnZXQgcmVzcG9uZHNcbiAgICpcbiAgICogKipJbXBvcnRhbnQ6KiogV2hlbiB0aGlzIGludGVyY2VwdG9yIGlzIGFkZGVkIHRvIGEgZ2F0ZXdheSwgdGhlIGdhdGV3YXkncyBJQU0gcm9sZVxuICAgKiB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZ3JhbnRlZCBgbGFtYmRhOkludm9rZUZ1bmN0aW9uYCBwZXJtaXNzaW9uIG9uIHRoZSBzcGVjaWZpZWRcbiAgICogTGFtYmRhIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gbGFtYmRhRnVuY3Rpb24gVGhlIExhbWJkYSBmdW5jdGlvbiB0byBpbnZva2VcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhlIGludGVyY2VwdG9yXG4gICAqIEByZXR1cm5zIEEgY29uZmlndXJlZCBMYW1iZGFJbnRlcmNlcHRvciBmb3IgcmVzcG9uc2UgaW50ZXJjZXB0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvclJlc3BvbnNlKFxuICAgIGxhbWJkYUZ1bmN0aW9uOiBJRnVuY3Rpb24sXG4gICAgb3B0aW9ucz86IEludGVyY2VwdG9yT3B0aW9ucyxcbiAgKTogTGFtYmRhSW50ZXJjZXB0b3Ige1xuICAgIHJldHVybiBuZXcgTGFtYmRhSW50ZXJjZXB0b3IoXG4gICAgICBJbnRlcmNlcHRpb25Qb2ludC5SRVNQT05TRSxcbiAgICAgIGxhbWJkYUZ1bmN0aW9uLFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlcmNlcHRpb24gcG9pbnQgKFJFUVVFU1Qgb3IgUkVTUE9OU0UpXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW50ZXJjZXB0aW9uUG9pbnQ6IEludGVyY2VwdGlvblBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRvIGludm9rZSBmb3IgdGhpcyBpbnRlcmNlcHRvclxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBhc3MgcmVxdWVzdCBoZWFkZXJzIHRvIHRoZSBpbnRlcmNlcHRvclxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIEhlYWRlcnMgYXJlIG5vdCBwYXNzZWQgZm9yIHNlY3VyaXR5XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHBhc3NSZXF1ZXN0SGVhZGVyczogYm9vbGVhbjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGludGVyY2VwdGlvblBvaW50OiBJbnRlcmNlcHRpb25Qb2ludCxcbiAgICBsYW1iZGFGdW5jdGlvbjogSUZ1bmN0aW9uLFxuICAgIG9wdGlvbnM/OiBJbnRlcmNlcHRvck9wdGlvbnMsXG4gICkge1xuICAgIHRoaXMuaW50ZXJjZXB0aW9uUG9pbnQgPSBpbnRlcmNlcHRpb25Qb2ludDtcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbGFtYmRhRnVuY3Rpb247XG4gICAgdGhpcy5wYXNzUmVxdWVzdEhlYWRlcnMgPSBvcHRpb25zPy5wYXNzUmVxdWVzdEhlYWRlcnMgPz8gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdGhpcyBMYW1iZGEgaW50ZXJjZXB0b3IgdG8gYSBHYXRld2F5XG4gICAqXG4gICAqIFRoaXMgbWV0aG9kOlxuICAgKiAxLiBHcmFudHMgdGhlIEdhdGV3YXkncyBJQU0gcm9sZSBwZXJtaXNzaW9uIHRvIGludm9rZSB0aGUgTGFtYmRhIGZ1bmN0aW9uXG4gICAqIDIuIFJldHVybnMgdGhlIENsb3VkRm9ybWF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgaW50ZXJjZXB0b3JcbiAgICpcbiAgICogQHBhcmFtIF9zY29wZSBUaGUgY29uc3RydWN0IHNjb3BlIChjdXJyZW50bHkgdW51c2VkLCByZXNlcnZlZCBmb3IgZnV0dXJlIGV4dGVuc2lvbnMpXG4gICAqIEBwYXJhbSBnYXRld2F5IFRoZSBnYXRld2F5IHRoaXMgaW50ZXJjZXB0b3IgaXMgYmVpbmcgYm91bmQgdG9cbiAgICogQHJldHVybnMgQ29uZmlndXJhdGlvbiBmb3IgQ2xvdWRGb3JtYXRpb24gcmVuZGVyaW5nXG4gICAqL1xuICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCwgZ2F0ZXdheTogSUdhdGV3YXkpOiBJbnRlcmNlcHRvckJpbmRDb25maWcge1xuICAgIC8vIEdyYW50IExhbWJkYSBpbnZva2UgcGVybWlzc2lvbiB0byB0aGUgR2F0ZXdheSdzIHJvbGVcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmdyYW50SW52b2tlKGdhdGV3YXkucm9sZSk7XG5cbiAgICAvLyBSZXR1cm4gQ2xvdWRGb3JtYXRpb24gY29uZmlndXJhdGlvblxuICAgIHJldHVybiB7XG4gICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGludGVyY2VwdGlvblBvaW50czogW3RoaXMuaW50ZXJjZXB0aW9uUG9pbnRdLFxuICAgICAgICBpbnRlcmNlcHRvcjoge1xuICAgICAgICAgIGxhbWJkYToge1xuICAgICAgICAgICAgYXJuOiB0aGlzLmxhbWJkYUZ1bmN0aW9uLmZ1bmN0aW9uQXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0Q29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIHBhc3NSZXF1ZXN0SGVhZGVyczogdGhpcy5wYXNzUmVxdWVzdEhlYWRlcnMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -19,7 +19,7 @@ var ApiKeyCredentialLocationType;
|
|
|
19
19
|
* API Key location within the request
|
|
20
20
|
*/
|
|
21
21
|
class ApiKeyCredentialLocation {
|
|
22
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialLocation", version: "2.
|
|
22
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialLocation", version: "2.236.0-alpha.0" };
|
|
23
23
|
/**
|
|
24
24
|
* Create a header-based API key credential location
|
|
25
25
|
* @param config - Optional configuration for the credential location
|
|
@@ -31,7 +31,7 @@ var CredentialProviderType;
|
|
|
31
31
|
* Factory class for creating different Gateway Credential Providers
|
|
32
32
|
*/
|
|
33
33
|
class GatewayCredentialProvider {
|
|
34
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCredentialProvider", version: "2.
|
|
34
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCredentialProvider", version: "2.236.0-alpha.0" };
|
|
35
35
|
/**
|
|
36
36
|
* Create an API key credential provider from Identity ARN
|
|
37
37
|
* Use this method when you have the Identity ARN as a string
|
package/lib/gateway/protocol.js
CHANGED
|
@@ -21,7 +21,7 @@ var GatewayProtocolType;
|
|
|
21
21
|
* Factory class for instantiating Gateway Protocols
|
|
22
22
|
*/
|
|
23
23
|
class GatewayProtocol {
|
|
24
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProtocol", version: "2.
|
|
24
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProtocol", version: "2.236.0-alpha.0" };
|
|
25
25
|
/**
|
|
26
26
|
* Create an MCP protocol configuration
|
|
27
27
|
* @param props - Optional MCP configuration properties
|
|
@@ -75,7 +75,7 @@ var McpGatewaySearchType;
|
|
|
75
75
|
* MCP (Model Context Protocol) configuration implementation
|
|
76
76
|
*/
|
|
77
77
|
class McpProtocolConfiguration {
|
|
78
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpProtocolConfiguration", version: "2.
|
|
78
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpProtocolConfiguration", version: "2.236.0-alpha.0" };
|
|
79
79
|
protocolType;
|
|
80
80
|
/**
|
|
81
81
|
* The supported MCP protocol versions
|
|
@@ -24,7 +24,7 @@ class ApiSchemaError extends Error {
|
|
|
24
24
|
* Represents the concept of an API Schema for a Gateway Target.
|
|
25
25
|
*/
|
|
26
26
|
class ApiSchema extends base_schema_1.TargetSchema {
|
|
27
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiSchema", version: "2.
|
|
27
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiSchema", version: "2.236.0-alpha.0" };
|
|
28
28
|
/**
|
|
29
29
|
* Creates an API Schema from a local file.
|
|
30
30
|
* @param path - the path to the local file containing the OpenAPI schema for the action group
|
|
@@ -82,7 +82,7 @@ exports.ApiSchema = ApiSchema;
|
|
|
82
82
|
class AssetApiSchema extends ApiSchema {
|
|
83
83
|
path;
|
|
84
84
|
options;
|
|
85
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetApiSchema", version: "2.
|
|
85
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetApiSchema", version: "2.236.0-alpha.0" };
|
|
86
86
|
asset;
|
|
87
87
|
constructor(path, options = {}) {
|
|
88
88
|
super();
|
|
@@ -144,7 +144,7 @@ exports.AssetApiSchema = AssetApiSchema;
|
|
|
144
144
|
*/
|
|
145
145
|
class InlineApiSchema extends ApiSchema {
|
|
146
146
|
schema;
|
|
147
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineApiSchema", version: "2.
|
|
147
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineApiSchema", version: "2.236.0-alpha.0" };
|
|
148
148
|
constructor(schema) {
|
|
149
149
|
super(undefined, undefined, schema);
|
|
150
150
|
this.schema = schema;
|
|
@@ -174,7 +174,7 @@ exports.InlineApiSchema = InlineApiSchema;
|
|
|
174
174
|
class S3ApiSchema extends ApiSchema {
|
|
175
175
|
location;
|
|
176
176
|
bucketOwnerAccountId;
|
|
177
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ApiSchema", version: "2.
|
|
177
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ApiSchema", version: "2.236.0-alpha.0" };
|
|
178
178
|
constructor(location, bucketOwnerAccountId) {
|
|
179
179
|
super(location, bucketOwnerAccountId, undefined);
|
|
180
180
|
this.location = location;
|
|
@@ -39,7 +39,7 @@ class ToolSchemaError extends Error {
|
|
|
39
39
|
* TOOL SCHEMA CLASS
|
|
40
40
|
*****************************************************************************/
|
|
41
41
|
class ToolSchema extends base_schema_1.TargetSchema {
|
|
42
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", version: "2.
|
|
42
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", version: "2.236.0-alpha.0" };
|
|
43
43
|
/**
|
|
44
44
|
* Creates a tool Schema from a local file.
|
|
45
45
|
* @param path - the path to the local file containing the function schema for the tool
|
|
@@ -97,7 +97,7 @@ exports.ToolSchema = ToolSchema;
|
|
|
97
97
|
class AssetToolSchema extends ToolSchema {
|
|
98
98
|
path;
|
|
99
99
|
options;
|
|
100
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", version: "2.
|
|
100
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", version: "2.236.0-alpha.0" };
|
|
101
101
|
asset;
|
|
102
102
|
constructor(path, options = {}) {
|
|
103
103
|
super();
|
|
@@ -150,7 +150,7 @@ exports.AssetToolSchema = AssetToolSchema;
|
|
|
150
150
|
*/
|
|
151
151
|
class InlineToolSchema extends ToolSchema {
|
|
152
152
|
schema;
|
|
153
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", version: "2.
|
|
153
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", version: "2.236.0-alpha.0" };
|
|
154
154
|
constructor(schema) {
|
|
155
155
|
super(undefined, undefined, schema);
|
|
156
156
|
this.schema = schema;
|
|
@@ -180,7 +180,7 @@ exports.InlineToolSchema = InlineToolSchema;
|
|
|
180
180
|
class S3ToolSchema extends ToolSchema {
|
|
181
181
|
location;
|
|
182
182
|
bucketOwnerAccountId;
|
|
183
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", version: "2.
|
|
183
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", version: "2.236.0-alpha.0" };
|
|
184
184
|
constructor(location, bucketOwnerAccountId) {
|
|
185
185
|
super(location, bucketOwnerAccountId, undefined);
|
|
186
186
|
this.location = location;
|
|
@@ -39,7 +39,7 @@ var McpTargetType;
|
|
|
39
39
|
* permission management and property definitions.
|
|
40
40
|
*/
|
|
41
41
|
class GatewayTargetBase extends aws_cdk_lib_1.Resource {
|
|
42
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase", version: "2.
|
|
42
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase", version: "2.236.0-alpha.0" };
|
|
43
43
|
/**
|
|
44
44
|
* Grants IAM actions to the IAM Principal
|
|
45
45
|
*
|
|
@@ -16,7 +16,7 @@ const validation_helpers_1 = require("../validation-helpers");
|
|
|
16
16
|
* Provides common functionality for all MCP target types
|
|
17
17
|
*/
|
|
18
18
|
class McpTargetConfiguration {
|
|
19
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpTargetConfiguration", version: "2.
|
|
19
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpTargetConfiguration", version: "2.236.0-alpha.0" };
|
|
20
20
|
/**
|
|
21
21
|
* Renders the configuration as CloudFormation properties
|
|
22
22
|
* @internal
|
|
@@ -38,7 +38,7 @@ exports.McpTargetConfiguration = McpTargetConfiguration;
|
|
|
38
38
|
* allowing the gateway to invoke the function to provide tool capabilities.
|
|
39
39
|
*/
|
|
40
40
|
class LambdaTargetConfiguration extends McpTargetConfiguration {
|
|
41
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaTargetConfiguration", version: "2.
|
|
41
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaTargetConfiguration", version: "2.236.0-alpha.0" };
|
|
42
42
|
/**
|
|
43
43
|
* Create a Lambda target configuration
|
|
44
44
|
*
|
|
@@ -128,7 +128,7 @@ exports.LambdaTargetConfiguration = LambdaTargetConfiguration;
|
|
|
128
128
|
* allowing the gateway to transform API operations into tool calls.
|
|
129
129
|
*/
|
|
130
130
|
class OpenApiTargetConfiguration extends McpTargetConfiguration {
|
|
131
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.OpenApiTargetConfiguration", version: "2.
|
|
131
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.OpenApiTargetConfiguration", version: "2.236.0-alpha.0" };
|
|
132
132
|
/**
|
|
133
133
|
* Create an OpenAPI target configuration
|
|
134
134
|
*
|
|
@@ -246,7 +246,7 @@ exports.OpenApiTargetConfiguration = OpenApiTargetConfiguration;
|
|
|
246
246
|
* allowing the gateway to transform Smithy operations into tool calls.
|
|
247
247
|
*/
|
|
248
248
|
class SmithyTargetConfiguration extends McpTargetConfiguration {
|
|
249
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.SmithyTargetConfiguration", version: "2.
|
|
249
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.SmithyTargetConfiguration", version: "2.236.0-alpha.0" };
|
|
250
250
|
/**
|
|
251
251
|
* Create a Smithy target configuration
|
|
252
252
|
*
|
|
@@ -328,7 +328,7 @@ exports.SmithyTargetConfiguration = SmithyTargetConfiguration;
|
|
|
328
328
|
* synchronization.
|
|
329
329
|
*/
|
|
330
330
|
class McpServerTargetConfiguration extends McpTargetConfiguration {
|
|
331
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpServerTargetConfiguration", version: "2.
|
|
331
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpServerTargetConfiguration", version: "2.236.0-alpha.0" };
|
|
332
332
|
/**
|
|
333
333
|
* Create an MCP server target configuration
|
|
334
334
|
*
|
|
@@ -18,8 +18,9 @@ export interface GatewayTargetCommonProps {
|
|
|
18
18
|
* The name of the gateway target
|
|
19
19
|
* The name must be unique within the gateway
|
|
20
20
|
* Pattern: ^([0-9a-zA-Z][-]?){1,100}$
|
|
21
|
+
* @default - auto generate
|
|
21
22
|
*/
|
|
22
|
-
readonly gatewayTargetName
|
|
23
|
+
readonly gatewayTargetName?: string;
|
|
23
24
|
/**
|
|
24
25
|
* Optional description for the gateway target
|
|
25
26
|
* The description can have up to 200 characters
|
|
@@ -78,7 +78,7 @@ let GatewayTarget = (() => {
|
|
|
78
78
|
GatewayTarget = _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.GatewayTarget", version: "2.
|
|
81
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTarget", version: "2.236.0-alpha.0" };
|
|
82
82
|
/** Uniquely identifies this class. */
|
|
83
83
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.GatewayTarget';
|
|
84
84
|
/**
|
|
@@ -285,7 +285,14 @@ let GatewayTarget = (() => {
|
|
|
285
285
|
targetResource;
|
|
286
286
|
targetConfiguration;
|
|
287
287
|
constructor(scope, id, props) {
|
|
288
|
-
super(scope, id
|
|
288
|
+
super(scope, id, {
|
|
289
|
+
// Maximum name length of 100 characters
|
|
290
|
+
// @see https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-bedrockagentcore-gatewaytarget.html#cfn-bedrockagentcore-gatewaytarget-name
|
|
291
|
+
physicalName: props.gatewayTargetName ??
|
|
292
|
+
aws_cdk_lib_1.Lazy.string({
|
|
293
|
+
produce: () => aws_cdk_lib_1.Names.uniqueResourceName(this, { maxLength: 100 }),
|
|
294
|
+
}),
|
|
295
|
+
});
|
|
289
296
|
try {
|
|
290
297
|
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProps(props);
|
|
291
298
|
}
|
|
@@ -298,7 +305,7 @@ let GatewayTarget = (() => {
|
|
|
298
305
|
// Enhanced CDK Analytics Telemetry
|
|
299
306
|
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
300
307
|
// Validate and assign properties
|
|
301
|
-
this.name =
|
|
308
|
+
this.name = this.physicalName;
|
|
302
309
|
this.validateGatewayTargetName(this.name);
|
|
303
310
|
this.description = props.description;
|
|
304
311
|
if (this.description) {
|
|
@@ -443,4 +450,4 @@ let GatewayTarget = (() => {
|
|
|
443
450
|
return GatewayTarget = _classThis;
|
|
444
451
|
})();
|
|
445
452
|
exports.GatewayTarget = GatewayTarget;
|
|
446
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGFyZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEwQztBQUMxQyxxRUFBcUU7QUFDckUsMkNBQTJDO0FBRTNDLDhFQUE4RjtBQUM5RiwwRUFBMEU7QUFHMUUsb0NBQThDO0FBRzlDLCtDQUErSDtBQUMvSCxpRUFBOEs7QUFDOUssOEVBQTRHO0FBQzVHLDhEQUFtRztBQXNNbkc7OytFQUUrRTtBQUUvRTs7Ozs7Ozs7O0dBU0c7SUFFVSxhQUFhOzRCQUR6QixvQ0FBa0I7Ozs7c0JBQ2dCLCtCQUFpQjs7OzZCQUF6QixTQUFRLFdBQWlCOzs7O3FDQW1SakQsSUFBQSxrQ0FBYyxHQUFFO1lBQ2pCLDhLQUFPLFNBQVMsNkRBTWY7WUExUkgsNktBK1hDOzs7OztRQTlYQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLG9EQUFvRCxDQUFDO1FBQzVHOzs7Ozs7OztXQVFHO1FBQ0ksTUFBTSxDQUFDLDJCQUEyQixDQUN2QyxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBOEI7Ozs7Ozs7Ozs7WUFFOUIsTUFBTSxxQkFBc0IsU0FBUSwrQkFBaUI7Z0JBQ25DLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFDMUIsSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0IsV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQzNCLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUN4QixnQ0FBZ0MsR0FBRyxFQUFFLENBQUM7Z0JBQ3RDLGtCQUFrQixHQUFHLHVDQUF5QixDQUFDLEdBQUcsQ0FBQztnQkFDbkQsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3RCLGFBQWEsR0FB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QjtnQkFDdkMsU0FBUyxFQUFFLENBQUM7Z0JBQ1osU0FBUyxFQUFFLEdBQUc7YUFDZixDQUFDLENBQUM7WUFFSCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDO1NBQ0Y7O1lBOVhVLHVEQUFhOzs7OztBQUFiLHNDQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF6eSwgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBiZWRyb2NrYWdlbnRjb3JlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEsIE1ldGhvZE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUdhdGV3YXkgfSBmcm9tICcuLi9nYXRld2F5LWJhc2UnO1xuaW1wb3J0IHsgR0FURVdBWV9TWU5DX1BFUk1TIH0gZnJvbSAnLi4vcGVybXMnO1xuaW1wb3J0IHsgQXBpU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEvYXBpLXNjaGVtYSc7XG5pbXBvcnQgeyBUb29sU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEvdG9vbC1zY2hlbWEnO1xuaW1wb3J0IHsgR2F0ZXdheVRhcmdldEJhc2UsIEdhdGV3YXlUYXJnZXRQcm90b2NvbFR5cGUsIElHYXRld2F5VGFyZ2V0LCBJTWNwR2F0ZXdheVRhcmdldCwgTWNwVGFyZ2V0VHlwZSB9IGZyb20gJy4vdGFyZ2V0LWJhc2UnO1xuaW1wb3J0IHsgSVRhcmdldENvbmZpZ3VyYXRpb24sIExhbWJkYVRhcmdldENvbmZpZ3VyYXRpb24sIE1jcFNlcnZlclRhcmdldENvbmZpZ3VyYXRpb24sIE9wZW5BcGlUYXJnZXRDb25maWd1cmF0aW9uLCBTbWl0aHlUYXJnZXRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi90YXJnZXQtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBHYXRld2F5Q3JlZGVudGlhbFByb3ZpZGVyLCBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi4vb3V0Ym91bmQtYXV0aC9jcmVkZW50aWFsLXByb3ZpZGVyJztcbmltcG9ydCB7IHZhbGlkYXRlU3RyaW5nRmllbGQsIHZhbGlkYXRlRmllbGRQYXR0ZXJuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvcHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIEdhdGV3YXkgVGFyZ2V0IHR5cGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2F0ZXdheVRhcmdldENvbW1vblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGdhdGV3YXlcbiAgICogUGF0dGVybjogXihbMC05YS16QS1aXVstXT8pezEsMTAwfSRcbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXlUYXJnZXROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICogVGhlIGRlc2NyaXB0aW9uIGNhbiBoYXZlIHVwIHRvIDIwMCBjaGFyYWN0ZXJzXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgR2F0ZXdheSBUYXJnZXQgcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5VGFyZ2V0UHJvcHMgZXh0ZW5kcyBHYXRld2F5VGFyZ2V0Q29tbW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhpcyB0YXJnZXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheTogSUdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgY29uZmlndXJhdGlvbiAoTGFtYmRhLCBPcGVuQVBJLCBvciBTbWl0aHkpXG4gICAqIFVzZSBvbmUgb2YgdGhlIGNvbmZpZ3VyYXRpb24gaGVscGVyIGNsYXNzZXM6XG4gICAqIC0gTGFtYmRhVGFyZ2V0Q29uZmlndXJhdGlvbi5jcmVhdGUoKVxuICAgKiAtIE9wZW5BcGlUYXJnZXRDb25maWd1cmF0aW9uLmNyZWF0ZSgpXG4gICAqIC0gU21pdGh5VGFyZ2V0Q29uZmlndXJhdGlvbi5jcmVhdGUoKVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0Q29uZmlndXJhdGlvbjogSVRhcmdldENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIENyZWRlbnRpYWwgcHJvdmlkZXJzIGZvciBhdXRoZW50aWNhdGlvblxuICAgKiBAZGVmYXVsdCAtIFtHYXRld2F5Q3JlZGVudGlhbFByb3ZpZGVyLmZyb21JYW1Sb2xlKCldXG4gICAqL1xuICByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucz86IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIExhbWJkYS1iYXNlZCBHYXRld2F5IFRhcmdldFxuICogQ29udmVuaWVuY2UgaW50ZXJmYWNlIGZvciB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5VGFyZ2V0TGFtYmRhUHJvcHMgZXh0ZW5kcyBHYXRld2F5VGFyZ2V0Q29tbW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhpcyB0YXJnZXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheTogSUdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIFRoZSBMYW1iZGEgZnVuY3Rpb24gdG8gYXNzb2NpYXRlIHdpdGggdGhpcyB0YXJnZXRcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBJRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0b29sIHNjaGVtYSBkZWZpbmluZyB0aGUgYXZhaWxhYmxlIHRvb2xzXG4gICAqL1xuICByZWFkb25seSB0b29sU2NoZW1hOiBUb29sU2NoZW1hO1xuXG4gIC8qKlxuICAgKiBDcmVkZW50aWFsIHByb3ZpZGVycyBmb3IgYXV0aGVudGljYXRpb25cbiAgICogTGFtYmRhIHRhcmdldHMgb25seSBzdXBwb3J0IElBTSByb2xlIGF1dGhlbnRpY2F0aW9uXG4gICAqIEBkZWZhdWx0IC0gW0dhdGV3YXlDcmVkZW50aWFsUHJvdmlkZXIuZnJvbUlhbVJvbGUoKV1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zPzogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGFuIE9wZW5BUEktYmFzZWQgR2F0ZXdheSBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5VGFyZ2V0T3BlbkFwaVByb3BzIGV4dGVuZHMgR2F0ZXdheVRhcmdldENvbW1vblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBnYXRld2F5IHRoaXMgdGFyZ2V0IGJlbG9uZ3MgdG9cbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXk6IElHYXRld2F5O1xuXG4gIC8qKlxuICAgKiBUaGUgT3BlbkFQSSBzY2hlbWEgZGVmaW5pbmcgdGhlIEFQSVxuICAgKi9cbiAgcmVhZG9ubHkgYXBpU2NoZW1hOiBBcGlTY2hlbWE7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdmFsaWRhdGUgdGhlIE9wZW5BUEkgc2NoZW1hIChvbmx5IGFwcGxpZXMgdG8gaW5saW5lIHNjaGVtYXMpXG4gICAqIE5vdGU6IFZhbGlkYXRpb24gaXMgb25seSBwZXJmb3JtZWQgZm9yIGlubGluZSBzY2hlbWFzIGR1cmluZyBDREsgc3ludGhlc2lzLlxuICAgKiBTMyBhbmQgYXNzZXQtYmFzZWQgc2NoZW1hcyBjYW5ub3QgYmUgdmFsaWRhdGVkIGF0IHN5bnRoZXNpcyB0aW1lLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0ZU9wZW5BcGlTY2hlbWE/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDcmVkZW50aWFsIHByb3ZpZGVycyBmb3IgYXV0aGVudGljYXRpb25cbiAgICogT3BlbkFQSSB0YXJnZXRzIHN1cHBvcnQgQVBJIGtleSBhbmQgT0F1dGggYXV0aGVudGljYXRpb24gKG5vdCBJQU0pXG4gICAqIEBkZWZhdWx0IC0gSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0cyB0byBJQU0gcm9sZSB3aGljaCB3aWxsIGZhaWwgYXQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM/OiBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnW107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBTbWl0aHktYmFzZWQgR2F0ZXdheSBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5VGFyZ2V0U21pdGh5UHJvcHMgZXh0ZW5kcyBHYXRld2F5VGFyZ2V0Q29tbW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhpcyB0YXJnZXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheTogSUdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIFRoZSBTbWl0aHkgbW9kZWwgZGVmaW5pbmcgdGhlIEFQSVxuICAgKi9cbiAgcmVhZG9ubHkgc21pdGh5TW9kZWw6IEFwaVNjaGVtYTtcblxuICAvKipcbiAgICogQ3JlZGVudGlhbCBwcm92aWRlcnMgZm9yIGF1dGhlbnRpY2F0aW9uXG4gICAqIFNtaXRoeSB0YXJnZXRzIG9ubHkgc3VwcG9ydCBJQU0gcm9sZSBhdXRoZW50aWNhdGlvblxuICAgKiBAZGVmYXVsdCAtIFtHYXRld2F5Q3JlZGVudGlhbFByb3ZpZGVyLmZyb21JYW1Sb2xlKCldXG4gICAqL1xuICByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucz86IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBNQ1AgU2VydmVyLWJhc2VkIEdhdGV3YXkgVGFyZ2V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2F0ZXdheVRhcmdldE1jcFNlcnZlclByb3BzIGV4dGVuZHMgR2F0ZXdheVRhcmdldENvbW1vblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBnYXRld2F5IHRoaXMgdGFyZ2V0IGJlbG9uZ3MgdG9cbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXk6IElHYXRld2F5O1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUFMgZW5kcG9pbnQgVVJMIG9mIHRoZSBNQ1Agc2VydmVyXG4gICAqXG4gICAqIFRoZSBlbmRwb2ludCBtdXN0OlxuICAgKiAtIFVzZSBIVFRQUyBwcm90b2NvbFxuICAgKiAtIEJlIHByb3Blcmx5IFVSTC1lbmNvZGVkXG4gICAqIC0gUG9pbnQgdG8gYW4gTUNQIHNlcnZlciB0aGF0IGltcGxlbWVudHMgdG9vbCBjYXBhYmlsaXRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWRlbnRpYWwgcHJvdmlkZXJzIGZvciBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXTtcbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgR2F0ZXdheSBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5VGFyZ2V0QXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheVRhcmdldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhpcyB0YXJnZXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheTogSUdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0YXR1cyBvZiB0aGUgdGFyZ2V0XG4gICAqIEBkZWZhdWx0IC0gTm8gc3RhdHVzXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNyZWF0aW9uIHRpbWVzdGFtcFxuICAgKiBAZGVmYXVsdCAtIE5vIGNyZWF0aW9uIHRpbWVzdGFtcFxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBsYXN0IHVwZGF0ZSB0aW1lc3RhbXBcbiAgICogQGRlZmF1bHQgLSBObyB1cGRhdGUgdGltZXN0YW1wXG4gICAqL1xuICByZWFkb25seSB1cGRhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGFzc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqXG4gKiBEZWZpbmVzIHRvb2xzIHRoYXQgeW91ciBnYXRld2F5IHdpbGwgaG9zdC4gU3VwcG9ydHMgbXVsdGlwbGUgdGFyZ2V0IHR5cGVzOlxuICogLSBMYW1iZGE6IFdyYXBzIGEgTGFtYmRhIGZ1bmN0aW9uIGFzIE1DUCB0b29sc1xuICogLSBPcGVuQVBJOiBFeHBvc2VzIGFuIE9wZW5BUEkvUkVTVCBBUEkgYXMgTUNQIHRvb2xzXG4gKiAtIFNtaXRoeTogRXhwb3NlcyBhIFNtaXRoeS1tb2RlbGVkIEFQSSBhcyBNQ1AgdG9vbHNcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpCZWRyb2NrQWdlbnRDb3JlOjpHYXRld2F5VGFyZ2V0XG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrLWFnZW50Y29yZS9sYXRlc3QvZGV2Z3VpZGUvZ2F0ZXdheS1idWlsZGluZy1hZGRpbmctdGFyZ2V0cy5odG1sXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBHYXRld2F5VGFyZ2V0IGV4dGVuZHMgR2F0ZXdheVRhcmdldEJhc2UgaW1wbGVtZW50cyBJTWNwR2F0ZXdheVRhcmdldCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWJlZHJvY2stYWdlbnRjb3JlLWFscGhhLkdhdGV3YXlUYXJnZXQnO1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIEdhdGV3YXkgVGFyZ2V0IHVzaW5nIGl0cyBhdHRyaWJ1dGVzXG4gICAqIFRoaXMgYWxsb3dzIHlvdSB0byByZWZlcmVuY2UgYSBHYXRld2F5IFRhcmdldCB0aGF0IHdhcyBjcmVhdGVkIG91dHNpZGUgb2YgQ0RLXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IGlkXG4gICAqIEBwYXJhbSBhdHRycyBUaGUgYXR0cmlidXRlcyBvZiB0aGUgZXhpc3RpbmcgR2F0ZXdheSBUYXJnZXRcbiAgICogQHJldHVybnMgQW4gSUdhdGV3YXlUYXJnZXQgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZSBpbXBvcnRlZCB0YXJnZXRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUdhdGV3YXlUYXJnZXRBdHRyaWJ1dGVzKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogR2F0ZXdheVRhcmdldEF0dHJpYnV0ZXMsXG4gICk6IElHYXRld2F5VGFyZ2V0IHtcbiAgICBjbGFzcyBJbXBvcnRlZEdhdGV3YXlUYXJnZXQgZXh0ZW5kcyBHYXRld2F5VGFyZ2V0QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0QXJuID0gYXR0cnMudGFyZ2V0QXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHRhcmdldElkID0gYXR0cnMudGFyZ2V0SWQ7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbmFtZSA9IGF0dHJzLmdhdGV3YXlUYXJnZXROYW1lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gYXR0cnMuc3RhdHVzO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGdhdGV3YXkgPSBhdHRycy5nYXRld2F5O1xuICAgICAgcHVibGljIHJlYWRvbmx5IGNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zID0gW107XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0UHJvdG9jb2xUeXBlID0gR2F0ZXdheVRhcmdldFByb3RvY29sVHlwZS5NQ1A7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzID0gYXR0cnMuc3RhdHVzO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHN0YXR1c1JlYXNvbnMgPSB1bmRlZmluZWQ7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRlZEF0ID0gYXR0cnMuY3JlYXRlZEF0O1xuICAgICAgcHVibGljIHJlYWRvbmx5IHVwZGF0ZWRBdCA9IGF0dHJzLnVwZGF0ZWRBdDtcblxuICAgICAgY29uc3RydWN0b3IoczogQ29uc3RydWN0LCBpOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocywgaSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0ZWRHYXRld2F5VGFyZ2V0KHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgTGFtYmRhLWJhc2VkIE1DUCB0YXJnZXRcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhIHRhcmdldCB0aGF0IHdyYXBzIGEgTGFtYmRhIGZ1bmN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IGlkXG4gICAqIEBwYXJhbSBwcm9wcyBUaGUgcHJvcGVydGllcyBmb3IgdGhlIExhbWJkYSB0YXJnZXRcbiAgICogQHJldHVybnMgQSBuZXcgR2F0ZXdheVRhcmdldCBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JMYW1iZGEoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBHYXRld2F5VGFyZ2V0TGFtYmRhUHJvcHMsXG4gICk6IEdhdGV3YXlUYXJnZXQge1xuICAgIHJldHVybiBuZXcgR2F0ZXdheVRhcmdldChzY29wZSwgaWQsIHtcbiAgICAgIGdhdGV3YXk6IHByb3BzLmdhdGV3YXksXG4gICAgICBnYXRld2F5VGFyZ2V0TmFtZTogcHJvcHMuZ2F0ZXdheVRhcmdldE5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uczogcHJvcHMuY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnMsXG4gICAgICB0YXJnZXRDb25maWd1cmF0aW9uOiBMYW1iZGFUYXJnZXRDb25maWd1cmF0aW9uLmNyZWF0ZShcbiAgICAgICAgcHJvcHMubGFtYmRhRnVuY3Rpb24sXG4gICAgICAgIHByb3BzLnRvb2xTY2hlbWEsXG4gICAgICApLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBPcGVuQVBJLWJhc2VkIE1DUCB0YXJnZXRcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhIHRhcmdldCB0aGF0IGV4cG9zZXMgYW4gT3BlbkFQSS9SRVNUIEFQSVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBpZFxuICAgKiBAcGFyYW0gcHJvcHMgVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBPcGVuQVBJIHRhcmdldFxuICAgKiBAcmV0dXJucyBBIG5ldyBHYXRld2F5VGFyZ2V0IGluc3RhbmNlXG4gICAqXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvck9wZW5BcGkoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBHYXRld2F5VGFyZ2V0T3BlbkFwaVByb3BzLFxuICApOiBHYXRld2F5VGFyZ2V0IHtcbiAgICByZXR1cm4gbmV3IEdhdGV3YXlUYXJnZXQoc2NvcGUsIGlkLCB7XG4gICAgICBnYXRld2F5OiBwcm9wcy5nYXRld2F5LFxuICAgICAgZ2F0ZXdheVRhcmdldE5hbWU6IHByb3BzLmdhdGV3YXlUYXJnZXROYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM6IHByb3BzLmNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zLFxuICAgICAgdGFyZ2V0Q29uZmlndXJhdGlvbjogT3BlbkFwaVRhcmdldENvbmZpZ3VyYXRpb24uY3JlYXRlKHByb3BzLmFwaVNjaGVtYSwgcHJvcHMudmFsaWRhdGVPcGVuQXBpU2NoZW1hKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBTbWl0aHktYmFzZWQgTUNQIHRhcmdldFxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgdGFyZ2V0IHRoYXQgZXhwb3NlcyBhIFNtaXRoeS1tb2RlbGVkIEFQSVxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBpZFxuICAgKiBAcGFyYW0gcHJvcHMgVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBTbWl0aHkgdGFyZ2V0XG4gICAqIEByZXR1cm5zIEEgbmV3IEdhdGV3YXlUYXJnZXQgaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZm9yU21pdGh5KFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogR2F0ZXdheVRhcmdldFNtaXRoeVByb3BzLFxuICApOiBHYXRld2F5VGFyZ2V0IHtcbiAgICByZXR1cm4gbmV3IEdhdGV3YXlUYXJnZXQoc2NvcGUsIGlkLCB7XG4gICAgICBnYXRld2F5OiBwcm9wcy5nYXRld2F5LFxuICAgICAgZ2F0ZXdheVRhcmdldE5hbWU6IHByb3BzLmdhdGV3YXlUYXJnZXROYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM6IHByb3BzLmNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zLFxuICAgICAgdGFyZ2V0Q29uZmlndXJhdGlvbjogU21pdGh5VGFyZ2V0Q29uZmlndXJhdGlvbi5jcmVhdGUocHJvcHMuc21pdGh5TW9kZWwpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBNQ1AgU2VydmVyLWJhc2VkIHRhcmdldFxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgdGFyZ2V0IHRoYXQgY29ubmVjdHMgdG8gYW4gZXh0ZXJuYWwgTUNQIHNlcnZlclxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBpZFxuICAgKiBAcGFyYW0gcHJvcHMgVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBNQ1Agc2VydmVyIHRhcmdldFxuICAgKiBAcmV0dXJucyBBIG5ldyBHYXRld2F5VGFyZ2V0IGluc3RhbmNlXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2JlZHJvY2stYWdlbnRjb3JlL2xhdGVzdC9kZXZndWlkZS9nYXRld2F5LXRhcmdldC1NQ1BzZXJ2ZXJzLmh0bWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZm9yTWNwU2VydmVyKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogR2F0ZXdheVRhcmdldE1jcFNlcnZlclByb3BzLFxuICApOiBHYXRld2F5VGFyZ2V0IHtcbiAgICByZXR1cm4gbmV3IEdhdGV3YXlUYXJnZXQoc2NvcGUsIGlkLCB7XG4gICAgICBnYXRld2F5OiBwcm9wcy5nYXRld2F5LFxuICAgICAgZ2F0ZXdheVRhcmdldE5hbWU6IHByb3BzLmdhdGV3YXlUYXJnZXROYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM6IHByb3BzLmNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zLFxuICAgICAgdGFyZ2V0Q29uZmlndXJhdGlvbjogTWNwU2VydmVyVGFyZ2V0Q29uZmlndXJhdGlvbi5jcmVhdGUocHJvcHMuZW5kcG9pbnQpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGdhdGV3YXkgdGFyZ2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRBcm47XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldElkO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkZXNjcmlwdGlvbiBmb3IgdGhlIGdhdGV3YXkgdGFyZ2V0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBnYXRld2F5IHRoaXMgdGFyZ2V0IGJlbG9uZ3MgdG9cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBnYXRld2F5O1xuXG4gIC8qKlxuICAgKiBUaGUgY3JlZGVudGlhbCBwcm92aWRlcnMgZm9yIHRoaXMgdGFyZ2V0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHByb3RvY29sIHR5cGUgKGFsd2F5cyBNQ1AgZm9yIG5vdylcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRQcm90b2NvbFR5cGUgPSBHYXRld2F5VGFyZ2V0UHJvdG9jb2xUeXBlLk1DUDtcblxuICAvKipcbiAgICogVGhlIHNwZWNpZmljIE1DUCB0YXJnZXQgdHlwZSAoTGFtYmRhLCBPcGVuQVBJLCBTbWl0aHksIG9yIE1DUCBTZXJ2ZXIpXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0VHlwZTogTWNwVGFyZ2V0VHlwZTtcblxuICAvKipcbiAgICogVGhlIHN0YXR1cyBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN0YXR1cz87XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgcmVhc29ucyBmb3IgdGhlIGdhdGV3YXkgdGFyZ2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzdGF0dXNSZWFzb25zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCB3aGVuIHRoZSBnYXRld2F5IHRhcmdldCB3YXMgY3JlYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRlZEF0PztcblxuICAvKipcbiAgICogVGltZXN0YW1wIHdoZW4gdGhlIGdhdGV3YXkgdGFyZ2V0IHdhcyBsYXN0IHVwZGF0ZWRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0ZWRBdD87XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRSZXNvdXJjZTogYmVkcm9ja2FnZW50Y29yZS5DZm5HYXRld2F5VGFyZ2V0O1xuICBwcml2YXRlIHJlYWRvbmx5IHRhcmdldENvbmZpZ3VyYXRpb246IElUYXJnZXRDb25maWd1cmF0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBHYXRld2F5VGFyZ2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgLy8gVmFsaWRhdGUgYW5kIGFzc2lnbiBwcm9wZXJ0aWVzXG4gICAgdGhpcy5uYW1lID0gcHJvcHMuZ2F0ZXdheVRhcmdldE5hbWU7XG4gICAgdGhpcy52YWxpZGF0ZUdhdGV3YXlUYXJnZXROYW1lKHRoaXMubmFtZSk7XG5cbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gcHJvcHMuZGVzY3JpcHRpb247XG4gICAgaWYgKHRoaXMuZGVzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMudmFsaWRhdGVEZXNjcmlwdGlvbih0aGlzLmRlc2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLmdhdGV3YXkgPSBwcm9wcy5nYXRld2F5O1xuICAgIHRoaXMudGFyZ2V0Q29uZmlndXJhdGlvbiA9IHByb3BzLnRhcmdldENvbmZpZ3VyYXRpb247XG4gICAgdGhpcy50YXJnZXRUeXBlID0gdGhpcy50YXJnZXRDb25maWd1cmF0aW9uLnRhcmdldFR5cGU7XG5cbiAgICAvLyBHZXQgdGFyZ2V0LXNwZWNpZmljIGNyZWRlbnRpYWwgY29uZmlndXJhdGlvbnNcbiAgICB0aGlzLmNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zID0gdGhpcy5fZ2V0VGFyZ2V0U3BlY2lmaWNDcmVkZW50aWFscyhcbiAgICAgIHByb3BzLmNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zLFxuICAgICk7XG5cbiAgICAvLyBCaW5kIHRoZSB0YXJnZXQgY29uZmlndXJhdGlvblxuICAgIC8vIFRoaXMgc2V0cyB1cCBwZXJtaXNzaW9ucyBhbmQgZGVwZW5kZW5jaWVzXG4gICAgdGhpcy50YXJnZXRDb25maWd1cmF0aW9uLmJpbmQodGhpcywgdGhpcy5nYXRld2F5KTtcblxuICAgIC8vIENyZWF0ZSB0aGUgTDEgY29uc3RydWN0XG4gICAgY29uc3QgY2ZuUHJvcHM6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuR2F0ZXdheVRhcmdldFByb3BzID0ge1xuICAgICAgZ2F0ZXdheUlkZW50aWZpZXI6IHRoaXMuZ2F0ZXdheS5nYXRld2F5SWQsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIGNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zOiBMYXp5LmFueSh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+IHRoaXMuX3JlbmRlckNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zKCksXG4gICAgICB9KSxcblxuICAgICAgdGFyZ2V0Q29uZmlndXJhdGlvbjogTGF6eS5hbnkoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiB0aGlzLnRhcmdldENvbmZpZ3VyYXRpb24uX3JlbmRlcigpLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIHRoaXMudGFyZ2V0UmVzb3VyY2UgPSBuZXcgYmVkcm9ja2FnZW50Y29yZS5DZm5HYXRld2F5VGFyZ2V0KFxuICAgICAgdGhpcyxcbiAgICAgICdSZXNvdXJjZScsXG4gICAgICBjZm5Qcm9wcyxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgdGhpcy5jcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucykge1xuICAgICAgICBwcm92aWRlclxuICAgICAgICAgIC5ncmFudE5lZWRlZFBlcm1pc3Npb25zVG9Sb2xlKHRoaXMuZ2F0ZXdheS5yb2xlKVxuICAgICAgICAgID8uYXBwbHlCZWZvcmUodGhpcy50YXJnZXRSZXNvdXJjZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50YXJnZXRJZCA9IHRoaXMudGFyZ2V0UmVzb3VyY2UuYXR0clRhcmdldElkO1xuICAgIHRoaXMudGFyZ2V0QXJuID0gdGhpcy50YXJnZXRSZXNvdXJjZS5yZWY7XG4gICAgdGhpcy5zdGF0dXMgPSB0aGlzLnRhcmdldFJlc291cmNlLmF0dHJTdGF0dXM7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25zID0gdGhpcy50YXJnZXRSZXNvdXJjZS5hdHRyU3RhdHVzUmVhc29ucztcbiAgICB0aGlzLmNyZWF0ZWRBdCA9IHRoaXMudGFyZ2V0UmVzb3VyY2UuYXR0ckNyZWF0ZWRBdDtcbiAgICB0aGlzLnVwZGF0ZWRBdCA9IHRoaXMudGFyZ2V0UmVzb3VyY2UuYXR0clVwZGF0ZWRBdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzeW5jaHJvbml6ZSB0aGlzIGdhdGV3YXkncyB0YXJnZXRzXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGdyYW50cyB0aGUgYFN5bmNocm9uaXplR2F0ZXdheVRhcmdldHNgIHBlcm1pc3Npb24sIHdoaWNoIGlzIHByaW1hcmlseVxuICAgKiBuZWVkZWQgZm9yIE1DUCBTZXJ2ZXIgdGFyZ2V0cyB3aGVuIHlvdSBuZWVkIHRvIHJlZnJlc2ggdGhlIHRvb2wgY2F0YWxvZyBhZnRlciB0aGVcbiAgICogTUNQIHNlcnZlcidzIHRvb2xzIGhhdmUgY2hhbmdlZC5cbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgZ3JhbnRTeW5jKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBHQVRFV0FZX1NZTkNfUEVSTVMsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmdhdGV3YXkuZ2F0ZXdheUFybl0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgY3JlZGVudGlhbCBwcm92aWRlciBjb25maWd1cmF0aW9ucyBiYXNlZCBvbiB0YXJnZXQgdHlwZVxuICAgKlxuICAgKiAtIExhbWJkYSAmIFNtaXRoeTogRGVmYXVsdCB0byBJQU0gcm9sZSBpZiBub3QgcHJvdmlkZWRcbiAgICogLSBNQ1AgU2VydmVyOiBSZXR1cm4gdW5kZWZpbmVkIGlmIG5vdCBwcm92aWRlZCAoc2VydmljZSBoYW5kbGVzIE5vQXV0aClcbiAgICogLSBPcGVuQVBJOiBSZXR1cm4gYXMtaXMgKG11c3QgYmUgZXhwbGljaXRseSBwcm92aWRlZClcbiAgICpcbiAgICogQHBhcmFtIHByb3ZpZGVkQ3JlZGVudGlhbHMgVGhlIGNyZWRlbnRpYWxzIGZyb20gcHJvcHNcbiAgICogQHJldHVybnMgVGhlIGNyZWRlbnRpYWwgY29uZmlndXJhdGlvbnMgdG8gdXNlLCBvciB1bmRlZmluZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIF9nZXRUYXJnZXRTcGVjaWZpY0NyZWRlbnRpYWxzKFxuICAgIHByb3ZpZGVkQ3JlZGVudGlhbHM6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXSB8IHVuZGVmaW5lZCxcbiAgKTogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvdmlkZWRDcmVkZW50aWFscyAmJiBwcm92aWRlZENyZWRlbnRpYWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBwcm92aWRlZENyZWRlbnRpYWxzO1xuICAgIH1cbiAgICAvLyBBcHBseSB0YXJnZXQtc3BlY2lmaWMgZGVmYXVsdHMgd2hlbiBub3QgcHJvdmlkZWRcbiAgICBzd2l0Y2ggKHRoaXMudGFyZ2V0VHlwZSkge1xuICAgICAgY2FzZSBNY3BUYXJnZXRUeXBlLkxBTUJEQTpcbiAgICAgIGNhc2UgTWNwVGFyZ2V0VHlwZS5TTUlUSFlfTU9ERUw6XG4gICAgICAgIHJldHVybiBbR2F0ZXdheUNyZWRlbnRpYWxQcm92aWRlci5mcm9tSWFtUm9sZSgpXTtcblxuICAgICAgY2FzZSBNY3BUYXJnZXRUeXBlLk1DUF9TRVJWRVI6XG4gICAgICAgIC8vIFJldHVybiBlbXB0eSBhcnJheSwgLSBzZXJ2aWNlIGhhbmRsZXMgTm9BdXRoIGF1dG9tYXRpY2FsbHlcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgICAgY2FzZSBNY3BUYXJnZXRUeXBlLk9QRU5BUElfU0NIRU1BOlxuICAgICAgICAvLyBObyBkZWZhdWx0IC0gbXVzdCBiZSBleHBsaWNpdGx5IHByb3ZpZGVkLCBzZXJ2aWNlIGhhbmRsZXMgYXV0b21hdGljYWxseVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gW0dhdGV3YXlDcmVkZW50aWFsUHJvdmlkZXIuZnJvbUlhbVJvbGUoKV07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgY3JlZGVudGlhbCBwcm92aWRlciBjb25maWd1cmF0aW9ucyBmb3IgQ2xvdWRGb3JtYXRpb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIF9yZW5kZXJDcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zPy5tYXAocHJvdmlkZXIgPT4gcHJvdmlkZXIuX3JlbmRlcigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGdhdGV3YXkgdGFyZ2V0IG5hbWUgZm9ybWF0XG4gICAqIFBhdHRlcm46IF4oWzAtOWEtekEtWl1bLV0/KXsxLDEwMH0kXG4gICAqIE1heCBsZW5ndGg6IDEwMCBjaGFyYWN0ZXJzXG4gICAqIEBwYXJhbSBnYXRld2F5VGFyZ2V0TmFtZSBUaGUgZ2F0ZXdheSB0YXJnZXQgbmFtZSB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBuYW1lIGlzIGludmFsaWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlR2F0ZXdheVRhcmdldE5hbWUoZ2F0ZXdheVRhcmdldE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoZ2F0ZXdheVRhcmdldE5hbWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGVuZ3RoRXJyb3JzID0gdmFsaWRhdGVTdHJpbmdGaWVsZCh7XG4gICAgICB2YWx1ZTogZ2F0ZXdheVRhcmdldE5hbWUsXG4gICAgICBmaWVsZE5hbWU6ICdHYXRld2F5IHRhcmdldCBuYW1lJyxcbiAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgIG1heExlbmd0aDogMTAwLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGF0dGVybkVycm9ycyA9IHZhbGlkYXRlRmllbGRQYXR0ZXJuKFxuICAgICAgZ2F0ZXdheVRhcmdldE5hbWUsXG4gICAgICAnR2F0ZXdheSB0YXJnZXQgbmFtZScsXG4gICAgICAvXihbMC05YS16QS1aXVstXT8pezEsMTAwfSQvLFxuICAgICAgJ0dhdGV3YXkgdGFyZ2V0IG5hbWUgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIGh5cGhlbnMsIHdpdGggaHlwaGVucyBvbmx5IGJldHdlZW4gY2hhcmFjdGVycycsXG4gICAgKTtcblxuICAgIGNvbnN0IGFsbEVycm9ycyA9IFsuLi5sZW5ndGhFcnJvcnMsIC4uLnBhdHRlcm5FcnJvcnNdO1xuICAgIGlmIChhbGxFcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihhbGxFcnJvcnMuam9pbignXFxuJykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGRlc2NyaXB0aW9uIGZvcm1hdFxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMjAwIGNoYXJhY3RlcnNcbiAgICogQHRocm93cyBFcnJvciBpZiB2YWxpZGF0aW9uIGZhaWxzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGRlc2NyaXB0aW9uKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlU3RyaW5nRmllbGQoe1xuICAgICAgdmFsdWU6IGRlc2NyaXB0aW9uLFxuICAgICAgZmllbGROYW1lOiAnR2F0ZXdheSB0YXJnZXQgZGVzY3JpcHRpb24nLFxuICAgICAgbWluTGVuZ3RoOiAxLFxuICAgICAgbWF4TGVuZ3RoOiAyMDAsXG4gICAgfSk7XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJyb3JzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
453
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGFyZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUFpRDtBQUNqRCxxRUFBcUU7QUFDckUsMkNBQTJDO0FBRTNDLDhFQUE4RjtBQUM5RiwwRUFBMEU7QUFHMUUsb0NBQThDO0FBRzlDLCtDQUErSDtBQUMvSCxpRUFBOEs7QUFDOUssOEVBQTRHO0FBQzVHLDhEQUFtRztBQXVNbkc7OytFQUUrRTtBQUUvRTs7Ozs7Ozs7O0dBU0c7SUFFVSxhQUFhOzRCQUR6QixvQ0FBa0I7Ozs7c0JBQ2dCLCtCQUFpQjs7OzZCQUF6QixTQUFRLFdBQWlCOzs7O3FDQTBSakQsSUFBQSxrQ0FBYyxHQUFFO1lBQ2pCLDhLQUFPLFNBQVMsNkRBTWY7WUFqU0gsNktBc1lDOzs7OztRQXJZQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLG9EQUFvRCxDQUFDO1FBQzVHOzs7Ozs7OztXQVFHO1FBQ0ksTUFBTSxDQUFDLDJCQUEyQixDQUN2QyxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBOEI7Ozs7Ozs7Ozs7WUFFOUIsTUFBTSxxQkFBc0IsU0FBUSwrQkFBaUI7Z0JBQ25DLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFDMUIsSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0IsV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQzNCLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUN4QixnQ0FBZ0MsR0FBRyxFQUFFLENBQUM7Z0JBQ3RDLGtCQUFrQixHQUFHLHVDQUF5QixDQUFDLEdBQUcsQ0FBQztnQkFDbkQsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3RCLGFBQWEsR0FBRyxTQUFTLENBQUM7Z0JBQzFCLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUM1QixTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztnQkFFNUMsWUFBWSxDQUFZLEVBQUUsQ0FBUztvQkFDakMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDZCxDQUFDO2FBQ0Y7WUFDRCxPQUFPLElBQUkscUJBQXFCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzdDO1FBRUQ7Ozs7Ozs7O1dBUUc7UUFDSSxNQUFNLENBQUMsU0FBUyxDQUNyQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBK0I7Ozs7Ozs7Ozs7WUFFL0IsT0FBTyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7Z0JBQzFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLGdDQUFnQztnQkFDeEUsbUJBQW1CLEVBQUUsZ0RBQXlCLENBQUMsTUFBTSxDQUNuRCxLQUFLLENBQUMsY0FBYyxFQUNwQixLQUFLLENBQUMsVUFBVSxDQUNqQjthQUNGLENBQUMsQ0FBQztTQUNKO1FBRUQ7Ozs7Ozs7OztXQVNHO1FBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FDdEIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQWdDOzs7Ozs7Ozs7O1lBRWhDLE9BQU8sSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDbEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO2dCQUMxQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7Z0JBQ3hFLG1CQUFtQixFQUFFLGlEQUEwQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQzthQUNyRyxDQUFDLENBQUM7U0FDSjtRQUVEOzs7Ozs7OztXQVFHO1FBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FDckIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQStCOzs7Ozs7Ozs7O1lBRS9CLE9BQU8sSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDbEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO2dCQUMxQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7Z0JBQ3hFLG1CQUFtQixFQUFFLGdEQUF5QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ3pFLENBQUMsQ0FBQztTQUNKO1FBRUQ7Ozs7Ozs7OztXQVNHO1FBQ0ksTUFBTSxDQUFDLFlBQVksQ0FDeEIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQWtDOzs7Ozs7Ozs7O1lBRWxDLE9BQU8sSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDbEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO2dCQUMxQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7Z0JBQ3hFLG1CQUFtQixFQUFFLG1EQUE0QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQ3pFLENBQUMsQ0FBQztTQUNKO1FBRUQ7OztXQUdHO1FBQ2EsU0FBUyxHQTFJZCxtREFBYSxDQTBJRTtRQUUxQjs7O1dBR0c7UUFDYSxRQUFRLENBQUM7UUFFekI7O1dBRUc7UUFDYSxJQUFJLENBQUM7UUFFckI7O1dBRUc7UUFDYSxXQUFXLENBQUM7UUFFNUI7O1dBRUc7UUFDYSxPQUFPLENBQUM7UUFFeEI7O1dBRUc7UUFDYSxnQ0FBZ0MsQ0FBMEM7UUFFMUY7O1dBRUc7UUFDYSxrQkFBa0IsR0FBRyx1Q0FBeUIsQ0FBQyxHQUFHLENBQUM7UUFFbkU7O1dBRUc7UUFDYSxVQUFVLENBQWdCO1FBRTFDOzs7V0FHRztRQUNhLE1BQU0sQ0FBRTtRQUV4Qjs7O1dBR0c7UUFDYSxhQUFhLENBQVk7UUFFekM7OztXQUdHO1FBQ2EsU0FBUyxDQUFFO1FBRTNCOzs7V0FHRztRQUNhLFNBQVMsQ0FBRTtRQUVWLGNBQWMsQ0FBb0M7UUFDbEQsbUJBQW1CLENBQXVCO1FBRTNELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7WUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7Z0JBQ2Ysd0NBQXdDO2dCQUN4Qyx1S0FBdUs7Z0JBQ3ZLLFlBQVksRUFBRSxLQUFLLENBQUMsaUJBQWlCO29CQUNuQyxrQkFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFDVixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsbUJBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUM7cUJBQ2xFLENBQUM7YUFDTCxDQUFDLENBQUM7Ozs7OzttREFuTk0sYUFBYTs7OztZQW9OdEIsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLGlDQUFpQztZQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDOUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUxQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDO1lBQ3JELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztZQUV0RCxnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FDeEUsS0FBSyxDQUFDLGdDQUFnQyxDQUN2QyxDQUFDO1lBRUYsZ0NBQWdDO1lBQ2hDLDRDQUE0QztZQUM1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbEQsMEJBQTBCO1lBQzFCLE1BQU0sUUFBUSxHQUEyQztnQkFDdkQsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO2dCQUN6QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixnQ0FBZ0MsRUFBRSxrQkFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsRUFBRTtpQkFDOUQsQ0FBQztnQkFFRixtQkFBbUIsRUFBRSxrQkFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUU7aUJBQ2xELENBQUM7YUFDSCxDQUFDO1lBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLGdCQUFnQixDQUN6RCxJQUFJLEVBQ0osVUFBVSxFQUNWLFFBQVEsQ0FDVCxDQUFDO1lBRUYsSUFBSSxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztnQkFDMUMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztvQkFDN0QsUUFBUTt5QkFDTCw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzt3QkFDaEQsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUN2QyxDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztZQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztZQUMzRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7U0FDcEQ7UUFFRDs7Ozs7Ozs7V0FRRztRQUVJLFNBQVMsQ0FBQyxPQUF1QjtZQUN0QyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO2dCQUM5QixPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLDBCQUFrQjtnQkFDM0IsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7YUFDeEMsQ0FBQyxDQUFDO1NBQ0o7UUFFRDs7Ozs7Ozs7OztXQVVHO1FBQ0ssNkJBQTZCLENBQ25DLG1CQUE0RDtZQUU1RCxJQUFJLG1CQUFtQixJQUFJLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUQsT0FBTyxtQkFBbUIsQ0FBQztZQUM3QixDQUFDO1lBQ0QsbURBQW1EO1lBQ25ELFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLDJCQUFhLENBQUMsTUFBTSxDQUFDO2dCQUMxQixLQUFLLDJCQUFhLENBQUMsWUFBWTtvQkFDN0IsT0FBTyxDQUFDLCtDQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBRW5ELEtBQUssMkJBQWEsQ0FBQyxVQUFVO29CQUMzQiw2REFBNkQ7b0JBQzdELE9BQU8sU0FBUyxDQUFDO2dCQUVuQixLQUFLLDJCQUFhLENBQUMsY0FBYztvQkFDL0IsMEVBQTBFO29CQUMxRSxPQUFPLFNBQVMsQ0FBQztnQkFFbkI7b0JBQ0UsT0FBTyxDQUFDLCtDQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDckQsQ0FBQztTQUNGO1FBRUQ7OztXQUdHO1FBQ0ssdUNBQXVDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ25GO1FBRUQ7Ozs7Ozs7V0FPRztRQUNLLHlCQUF5QixDQUFDLGlCQUF5QjtZQUN6RCxJQUFJLG1CQUFLLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDMUMsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLHdDQUFtQixFQUFDO2dCQUN2QyxLQUFLLEVBQUUsaUJBQWlCO2dCQUN4QixTQUFTLEVBQUUscUJBQXFCO2dCQUNoQyxTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsR0FBRzthQUNmLENBQUMsQ0FBQztZQUVILE1BQU0sYUFBYSxHQUFHLElBQUEseUNBQW9CLEVBQ3hDLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLGlIQUFpSCxDQUNsSCxDQUFDO1lBRUYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1lBQ3RELElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxJQUFJLG9DQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUM7U0FDRjtRQUVEOzs7OztXQUtHO1FBQ0ssbUJBQW1CLENBQUMsV0FBbUI7WUFDN0MsSUFBSSxtQkFBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLElBQUEsd0NBQW1CLEVBQUM7Z0JBQ2pDLEtBQUssRUFBRSxXQUFXO2dCQUNsQixTQUFTLEVBQUUsNEJBQTRCO2dCQUN2QyxTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsR0FBRzthQUNmLENBQUMsQ0FBQztZQUVILElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLG9DQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQy9DLENBQUM7U0FDRjs7WUFyWVUsdURBQWE7Ozs7O0FBQWIsc0NBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXp5LCBUb2tlbiwgTmFtZXMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBiZWRyb2NrYWdlbnRjb3JlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEsIE1ldGhvZE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUdhdGV3YXkgfSBmcm9tICcuLi9nYXRld2F5LWJhc2UnO1xuaW1wb3J0IHsgR0FURVdBWV9TWU5DX1BFUk1TIH0gZnJvbSAnLi4vcGVybXMnO1xuaW1wb3J0IHsgQXBpU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEvYXBpLXNjaGVtYSc7XG5pbXBvcnQgeyBUb29sU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEvdG9vbC1zY2hlbWEnO1xuaW1wb3J0IHsgR2F0ZXdheVRhcmdldEJhc2UsIEdhdGV3YXlUYXJnZXRQcm90b2NvbFR5cGUsIElHYXRld2F5VGFyZ2V0LCBJTWNwR2F0ZXdheVRhcmdldCwgTWNwVGFyZ2V0VHlwZSB9IGZyb20gJy4vdGFyZ2V0LWJhc2UnO1xuaW1wb3J0IHsgSVRhcmdldENvbmZpZ3VyYXRpb24sIExhbWJkYVRhcmdldENvbmZpZ3VyYXRpb24sIE1jcFNlcnZlclRhcmdldENvbmZpZ3VyYXRpb24sIE9wZW5BcGlUYXJnZXRDb25maWd1cmF0aW9uLCBTbWl0aHlUYXJnZXRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi90YXJnZXQtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBHYXRld2F5Q3JlZGVudGlhbFByb3ZpZGVyLCBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi4vb3V0Ym91bmQtYXV0aC9jcmVkZW50aWFsLXByb3ZpZGVyJztcbmltcG9ydCB7IHZhbGlkYXRlU3RyaW5nRmllbGQsIHZhbGlkYXRlRmllbGRQYXR0ZXJuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvcHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIEdhdGV3YXkgVGFyZ2V0IHR5cGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2F0ZXdheVRhcmdldENvbW1vblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGdhdGV3YXlcbiAgICogUGF0dGVybjogXihbMC05YS16QS1aXVstXT8pezEsMTAwfSRcbiAgICogQGRlZmF1bHQgLSBhdXRvIGdlbmVyYXRlXG4gICAqL1xuICByZWFkb25seSBnYXRld2F5VGFyZ2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGVzY3JpcHRpb24gZm9yIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKiBUaGUgZGVzY3JpcHRpb24gY2FuIGhhdmUgdXAgdG8gMjAwIGNoYXJhY3RlcnNcbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBHYXRld2F5IFRhcmdldCByZXNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdhdGV3YXlUYXJnZXRQcm9wcyBleHRlbmRzIEdhdGV3YXlUYXJnZXRDb21tb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZ2F0ZXdheSB0aGlzIHRhcmdldCBiZWxvbmdzIHRvXG4gICAqL1xuICByZWFkb25seSBnYXRld2F5OiBJR2F0ZXdheTtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCBjb25maWd1cmF0aW9uIChMYW1iZGEsIE9wZW5BUEksIG9yIFNtaXRoeSlcbiAgICogVXNlIG9uZSBvZiB0aGUgY29uZmlndXJhdGlvbiBoZWxwZXIgY2xhc3NlczpcbiAgICogLSBMYW1iZGFUYXJnZXRDb25maWd1cmF0aW9uLmNyZWF0ZSgpXG4gICAqIC0gT3BlbkFwaVRhcmdldENvbmZpZ3VyYXRpb24uY3JlYXRlKClcbiAgICogLSBTbWl0aHlUYXJnZXRDb25maWd1cmF0aW9uLmNyZWF0ZSgpXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRDb25maWd1cmF0aW9uOiBJVGFyZ2V0Q29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogQ3JlZGVudGlhbCBwcm92aWRlcnMgZm9yIGF1dGhlbnRpY2F0aW9uXG4gICAqIEBkZWZhdWx0IC0gW0dhdGV3YXlDcmVkZW50aWFsUHJvdmlkZXIuZnJvbUlhbVJvbGUoKV1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zPzogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgTGFtYmRhLWJhc2VkIEdhdGV3YXkgVGFyZ2V0XG4gKiBDb252ZW5pZW5jZSBpbnRlcmZhY2UgZm9yIHRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdhdGV3YXlUYXJnZXRMYW1iZGFQcm9wcyBleHRlbmRzIEdhdGV3YXlUYXJnZXRDb21tb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZ2F0ZXdheSB0aGlzIHRhcmdldCBiZWxvbmdzIHRvXG4gICAqL1xuICByZWFkb25seSBnYXRld2F5OiBJR2F0ZXdheTtcblxuICAvKipcbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiB0byBhc3NvY2lhdGUgd2l0aCB0aGlzIHRhcmdldFxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb246IElGdW5jdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRvb2wgc2NoZW1hIGRlZmluaW5nIHRoZSBhdmFpbGFibGUgdG9vbHNcbiAgICovXG4gIHJlYWRvbmx5IHRvb2xTY2hlbWE6IFRvb2xTY2hlbWE7XG5cbiAgLyoqXG4gICAqIENyZWRlbnRpYWwgcHJvdmlkZXJzIGZvciBhdXRoZW50aWNhdGlvblxuICAgKiBMYW1iZGEgdGFyZ2V0cyBvbmx5IHN1cHBvcnQgSUFNIHJvbGUgYXV0aGVudGljYXRpb25cbiAgICogQGRlZmF1bHQgLSBbR2F0ZXdheUNyZWRlbnRpYWxQcm92aWRlci5mcm9tSWFtUm9sZSgpXVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnM/OiBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnW107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYW4gT3BlbkFQSS1iYXNlZCBHYXRld2F5IFRhcmdldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdhdGV3YXlUYXJnZXRPcGVuQXBpUHJvcHMgZXh0ZW5kcyBHYXRld2F5VGFyZ2V0Q29tbW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhpcyB0YXJnZXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheTogSUdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIFRoZSBPcGVuQVBJIHNjaGVtYSBkZWZpbmluZyB0aGUgQVBJXG4gICAqL1xuICByZWFkb25seSBhcGlTY2hlbWE6IEFwaVNjaGVtYTtcblxuICAvKipcbiAgICogV2hldGhlciB0byB2YWxpZGF0ZSB0aGUgT3BlbkFQSSBzY2hlbWEgKG9ubHkgYXBwbGllcyB0byBpbmxpbmUgc2NoZW1hcylcbiAgICogTm90ZTogVmFsaWRhdGlvbiBpcyBvbmx5IHBlcmZvcm1lZCBmb3IgaW5saW5lIHNjaGVtYXMgZHVyaW5nIENESyBzeW50aGVzaXMuXG4gICAqIFMzIGFuZCBhc3NldC1iYXNlZCBzY2hlbWFzIGNhbm5vdCBiZSB2YWxpZGF0ZWQgYXQgc3ludGhlc2lzIHRpbWUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRlT3BlbkFwaVNjaGVtYT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENyZWRlbnRpYWwgcHJvdmlkZXJzIGZvciBhdXRoZW50aWNhdGlvblxuICAgKiBPcGVuQVBJIHRhcmdldHMgc3VwcG9ydCBBUEkga2V5IGFuZCBPQXV0aCBhdXRoZW50aWNhdGlvbiAobm90IElBTSlcbiAgICogQGRlZmF1bHQgLSBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIElBTSByb2xlIHdoaWNoIHdpbGwgZmFpbCBhdCBydW50aW1lXG4gICAqL1xuICByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucz86IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIFNtaXRoeS1iYXNlZCBHYXRld2F5IFRhcmdldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdhdGV3YXlUYXJnZXRTbWl0aHlQcm9wcyBleHRlbmRzIEdhdGV3YXlUYXJnZXRDb21tb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZ2F0ZXdheSB0aGlzIHRhcmdldCBiZWxvbmdzIHRvXG4gICAqL1xuICByZWFkb25seSBnYXRld2F5OiBJR2F0ZXdheTtcblxuICAvKipcbiAgICogVGhlIFNtaXRoeSBtb2RlbCBkZWZpbmluZyB0aGUgQVBJXG4gICAqL1xuICByZWFkb25seSBzbWl0aHlNb2RlbDogQXBpU2NoZW1hO1xuXG4gIC8qKlxuICAgKiBDcmVkZW50aWFsIHByb3ZpZGVycyBmb3IgYXV0aGVudGljYXRpb25cbiAgICogU21pdGh5IHRhcmdldHMgb25seSBzdXBwb3J0IElBTSByb2xlIGF1dGhlbnRpY2F0aW9uXG4gICAqIEBkZWZhdWx0IC0gW0dhdGV3YXlDcmVkZW50aWFsUHJvdmlkZXIuZnJvbUlhbVJvbGUoKV1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zPzogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGFuIE1DUCBTZXJ2ZXItYmFzZWQgR2F0ZXdheSBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5VGFyZ2V0TWNwU2VydmVyUHJvcHMgZXh0ZW5kcyBHYXRld2F5VGFyZ2V0Q29tbW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhpcyB0YXJnZXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheTogSUdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQUyBlbmRwb2ludCBVUkwgb2YgdGhlIE1DUCBzZXJ2ZXJcbiAgICpcbiAgICogVGhlIGVuZHBvaW50IG11c3Q6XG4gICAqIC0gVXNlIEhUVFBTIHByb3RvY29sXG4gICAqIC0gQmUgcHJvcGVybHkgVVJMLWVuY29kZWRcbiAgICogLSBQb2ludCB0byBhbiBNQ1Agc2VydmVyIHRoYXQgaW1wbGVtZW50cyB0b29sIGNhcGFiaWxpdGllc1xuICAgKi9cbiAgcmVhZG9ubHkgZW5kcG9pbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlZGVudGlhbCBwcm92aWRlcnMgZm9yIGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uczogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ1tdO1xufVxuXG4vKipcbiAqIEF0dHJpYnV0ZXMgZm9yIGltcG9ydGluZyBhbiBleGlzdGluZyBHYXRld2F5IFRhcmdldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdhdGV3YXlUYXJnZXRBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGdhdGV3YXkgdGFyZ2V0XG4gICAqL1xuICByZWFkb25seSB0YXJnZXRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGdhdGV3YXkgdGFyZ2V0XG4gICAqL1xuICByZWFkb25seSBnYXRld2F5VGFyZ2V0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZ2F0ZXdheSB0aGlzIHRhcmdldCBiZWxvbmdzIHRvXG4gICAqL1xuICByZWFkb25seSBnYXRld2F5OiBJR2F0ZXdheTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgc3RhdHVzIG9mIHRoZSB0YXJnZXRcbiAgICogQGRlZmF1bHQgLSBObyBzdGF0dXNcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgY3JlYXRpb24gdGltZXN0YW1wXG4gICAqIEBkZWZhdWx0IC0gTm8gY3JlYXRpb24gdGltZXN0YW1wXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGxhc3QgdXBkYXRlIHRpbWVzdGFtcFxuICAgKiBAZGVmYXVsdCAtIE5vIHVwZGF0ZSB0aW1lc3RhbXBcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsYXNzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICpcbiAqIERlZmluZXMgdG9vbHMgdGhhdCB5b3VyIGdhdGV3YXkgd2lsbCBob3N0LiBTdXBwb3J0cyBtdWx0aXBsZSB0YXJnZXQgdHlwZXM6XG4gKiAtIExhbWJkYTogV3JhcHMgYSBMYW1iZGEgZnVuY3Rpb24gYXMgTUNQIHRvb2xzXG4gKiAtIE9wZW5BUEk6IEV4cG9zZXMgYW4gT3BlbkFQSS9SRVNUIEFQSSBhcyBNQ1AgdG9vbHNcbiAqIC0gU21pdGh5OiBFeHBvc2VzIGEgU21pdGh5LW1vZGVsZWQgQVBJIGFzIE1DUCB0b29sc1xuICpcbiAqIEByZXNvdXJjZSBBV1M6OkJlZHJvY2tBZ2VudENvcmU6OkdhdGV3YXlUYXJnZXRcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2JlZHJvY2stYWdlbnRjb3JlL2xhdGVzdC9kZXZndWlkZS9nYXRld2F5LWJ1aWxkaW5nLWFkZGluZy10YXJnZXRzLmh0bWxcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIEdhdGV3YXlUYXJnZXQgZXh0ZW5kcyBHYXRld2F5VGFyZ2V0QmFzZSBpbXBsZW1lbnRzIElNY3BHYXRld2F5VGFyZ2V0IHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtYmVkcm9jay1hZ2VudGNvcmUtYWxwaGEuR2F0ZXdheVRhcmdldCc7XG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgR2F0ZXdheSBUYXJnZXQgdXNpbmcgaXRzIGF0dHJpYnV0ZXNcbiAgICogVGhpcyBhbGxvd3MgeW91IHRvIHJlZmVyZW5jZSBhIEdhdGV3YXkgVGFyZ2V0IHRoYXQgd2FzIGNyZWF0ZWQgb3V0c2lkZSBvZiBDREtcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QgaWRcbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIG9mIHRoZSBleGlzdGluZyBHYXRld2F5IFRhcmdldFxuICAgKiBAcmV0dXJucyBBbiBJR2F0ZXdheVRhcmdldCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIGltcG9ydGVkIHRhcmdldFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tR2F0ZXdheVRhcmdldEF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBHYXRld2F5VGFyZ2V0QXR0cmlidXRlcyxcbiAgKTogSUdhdGV3YXlUYXJnZXQge1xuICAgIGNsYXNzIEltcG9ydGVkR2F0ZXdheVRhcmdldCBleHRlbmRzIEdhdGV3YXlUYXJnZXRCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0YXJnZXRBcm4gPSBhdHRycy50YXJnZXRBcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0SWQgPSBhdHRycy50YXJnZXRJZDtcbiAgICAgIHB1YmxpYyByZWFkb25seSBuYW1lID0gYXR0cnMuZ2F0ZXdheVRhcmdldE5hbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb24gPSBhdHRycy5zdGF0dXM7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZ2F0ZXdheSA9IGF0dHJzLmdhdGV3YXk7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnMgPSBbXTtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0YXJnZXRQcm90b2NvbFR5cGUgPSBHYXRld2F5VGFyZ2V0UHJvdG9jb2xUeXBlLk1DUDtcbiAgICAgIHB1YmxpYyByZWFkb25seSBzdGF0dXMgPSBhdHRycy5zdGF0dXM7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzUmVhc29ucyA9IHVuZGVmaW5lZDtcbiAgICAgIHB1YmxpYyByZWFkb25seSBjcmVhdGVkQXQgPSBhdHRycy5jcmVhdGVkQXQ7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRlZEF0ID0gYXR0cnMudXBkYXRlZEF0O1xuXG4gICAgICBjb25zdHJ1Y3RvcihzOiBDb25zdHJ1Y3QsIGk6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzLCBpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZEdhdGV3YXlUYXJnZXQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBMYW1iZGEtYmFzZWQgTUNQIHRhcmdldFxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgdGFyZ2V0IHRoYXQgd3JhcHMgYSBMYW1iZGEgZnVuY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QgaWRcbiAgICogQHBhcmFtIHByb3BzIFRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgTGFtYmRhIHRhcmdldFxuICAgKiBAcmV0dXJucyBBIG5ldyBHYXRld2F5VGFyZ2V0IGluc3RhbmNlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvckxhbWJkYShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEdhdGV3YXlUYXJnZXRMYW1iZGFQcm9wcyxcbiAgKTogR2F0ZXdheVRhcmdldCB7XG4gICAgcmV0dXJuIG5ldyBHYXRld2F5VGFyZ2V0KHNjb3BlLCBpZCwge1xuICAgICAgZ2F0ZXdheTogcHJvcHMuZ2F0ZXdheSxcbiAgICAgIGdhdGV3YXlUYXJnZXROYW1lOiBwcm9wcy5nYXRld2F5VGFyZ2V0TmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIGNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zOiBwcm9wcy5jcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucyxcbiAgICAgIHRhcmdldENvbmZpZ3VyYXRpb246IExhbWJkYVRhcmdldENvbmZpZ3VyYXRpb24uY3JlYXRlKFxuICAgICAgICBwcm9wcy5sYW1iZGFGdW5jdGlvbixcbiAgICAgICAgcHJvcHMudG9vbFNjaGVtYSxcbiAgICAgICksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIE9wZW5BUEktYmFzZWQgTUNQIHRhcmdldFxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgdGFyZ2V0IHRoYXQgZXhwb3NlcyBhbiBPcGVuQVBJL1JFU1QgQVBJXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IGlkXG4gICAqIEBwYXJhbSBwcm9wcyBUaGUgcHJvcGVydGllcyBmb3IgdGhlIE9wZW5BUEkgdGFyZ2V0XG4gICAqIEByZXR1cm5zIEEgbmV3IEdhdGV3YXlUYXJnZXQgaW5zdGFuY2VcbiAgICpcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZm9yT3BlbkFwaShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEdhdGV3YXlUYXJnZXRPcGVuQXBpUHJvcHMsXG4gICk6IEdhdGV3YXlUYXJnZXQge1xuICAgIHJldHVybiBuZXcgR2F0ZXdheVRhcmdldChzY29wZSwgaWQsIHtcbiAgICAgIGdhdGV3YXk6IHByb3BzLmdhdGV3YXksXG4gICAgICBnYXRld2F5VGFyZ2V0TmFtZTogcHJvcHMuZ2F0ZXdheVRhcmdldE5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uczogcHJvcHMuY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnMsXG4gICAgICB0YXJnZXRDb25maWd1cmF0aW9uOiBPcGVuQXBpVGFyZ2V0Q29uZmlndXJhdGlvbi5jcmVhdGUocHJvcHMuYXBpU2NoZW1hLCBwcm9wcy52YWxpZGF0ZU9wZW5BcGlTY2hlbWEpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFNtaXRoeS1iYXNlZCBNQ1AgdGFyZ2V0XG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSB0YXJnZXQgdGhhdCBleHBvc2VzIGEgU21pdGh5LW1vZGVsZWQgQVBJXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IGlkXG4gICAqIEBwYXJhbSBwcm9wcyBUaGUgcHJvcGVydGllcyBmb3IgdGhlIFNtaXRoeSB0YXJnZXRcbiAgICogQHJldHVybnMgQSBuZXcgR2F0ZXdheVRhcmdldCBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JTbWl0aHkoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBHYXRld2F5VGFyZ2V0U21pdGh5UHJvcHMsXG4gICk6IEdhdGV3YXlUYXJnZXQge1xuICAgIHJldHVybiBuZXcgR2F0ZXdheVRhcmdldChzY29wZSwgaWQsIHtcbiAgICAgIGdhdGV3YXk6IHByb3BzLmdhdGV3YXksXG4gICAgICBnYXRld2F5VGFyZ2V0TmFtZTogcHJvcHMuZ2F0ZXdheVRhcmdldE5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uczogcHJvcHMuY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnMsXG4gICAgICB0YXJnZXRDb25maWd1cmF0aW9uOiBTbWl0aHlUYXJnZXRDb25maWd1cmF0aW9uLmNyZWF0ZShwcm9wcy5zbWl0aHlNb2RlbCksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIE1DUCBTZXJ2ZXItYmFzZWQgdGFyZ2V0XG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSB0YXJnZXQgdGhhdCBjb25uZWN0cyB0byBhbiBleHRlcm5hbCBNQ1Agc2VydmVyXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IGlkXG4gICAqIEBwYXJhbSBwcm9wcyBUaGUgcHJvcGVydGllcyBmb3IgdGhlIE1DUCBzZXJ2ZXIgdGFyZ2V0XG4gICAqIEByZXR1cm5zIEEgbmV3IEdhdGV3YXlUYXJnZXQgaW5zdGFuY2VcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYmVkcm9jay1hZ2VudGNvcmUvbGF0ZXN0L2Rldmd1aWRlL2dhdGV3YXktdGFyZ2V0LU1DUHNlcnZlcnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JNY3BTZXJ2ZXIoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBHYXRld2F5VGFyZ2V0TWNwU2VydmVyUHJvcHMsXG4gICk6IEdhdGV3YXlUYXJnZXQge1xuICAgIHJldHVybiBuZXcgR2F0ZXdheVRhcmdldChzY29wZSwgaWQsIHtcbiAgICAgIGdhdGV3YXk6IHByb3BzLmdhdGV3YXksXG4gICAgICBnYXRld2F5VGFyZ2V0TmFtZTogcHJvcHMuZ2F0ZXdheVRhcmdldE5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uczogcHJvcHMuY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnMsXG4gICAgICB0YXJnZXRDb25maWd1cmF0aW9uOiBNY3BTZXJ2ZXJUYXJnZXRDb25maWd1cmF0aW9uLmNyZWF0ZShwcm9wcy5lbmRwb2ludCksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldEFybjtcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0SWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWU7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZXNjcmlwdGlvbjtcblxuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhpcyB0YXJnZXQgYmVsb25ncyB0b1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFsIHByb3ZpZGVycyBmb3IgdGhpcyB0YXJnZXRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uczogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ1tdIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvdG9jb2wgdHlwZSAoYWx3YXlzIE1DUCBmb3Igbm93KVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldFByb3RvY29sVHlwZSA9IEdhdGV3YXlUYXJnZXRQcm90b2NvbFR5cGUuTUNQO1xuXG4gIC8qKlxuICAgKiBUaGUgc3BlY2lmaWMgTUNQIHRhcmdldCB0eXBlIChMYW1iZGEsIE9wZW5BUEksIFNtaXRoeSwgb3IgTUNQIFNlcnZlcilcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRUeXBlOiBNY3BUYXJnZXRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdHVzIG9mIHRoZSBnYXRld2F5IHRhcmdldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzPztcblxuICAvKipcbiAgICogVGhlIHN0YXR1cyByZWFzb25zIGZvciB0aGUgZ2F0ZXdheSB0YXJnZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN0YXR1c1JlYXNvbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGltZXN0YW1wIHdoZW4gdGhlIGdhdGV3YXkgdGFyZ2V0IHdhcyBjcmVhdGVkXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVkQXQ/O1xuXG4gIC8qKlxuICAgKiBUaW1lc3RhbXAgd2hlbiB0aGUgZ2F0ZXdheSB0YXJnZXQgd2FzIGxhc3QgdXBkYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRlZEF0PztcblxuICBwcml2YXRlIHJlYWRvbmx5IHRhcmdldFJlc291cmNlOiBiZWRyb2NrYWdlbnRjb3JlLkNmbkdhdGV3YXlUYXJnZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0Q29uZmlndXJhdGlvbjogSVRhcmdldENvbmZpZ3VyYXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEdhdGV3YXlUYXJnZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLy8gTWF4aW11bSBuYW1lIGxlbmd0aCBvZiAxMDAgY2hhcmFjdGVyc1xuICAgICAgLy8gQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1RlbXBsYXRlUmVmZXJlbmNlL2F3cy1yZXNvdXJjZS1iZWRyb2NrYWdlbnRjb3JlLWdhdGV3YXl0YXJnZXQuaHRtbCNjZm4tYmVkcm9ja2FnZW50Y29yZS1nYXRld2F5dGFyZ2V0LW5hbWVcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuZ2F0ZXdheVRhcmdldE5hbWUgPz9cbiAgICAgICAgTGF6eS5zdHJpbmcoe1xuICAgICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTAwIH0pLFxuICAgICAgICB9KSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIC8vIFZhbGlkYXRlIGFuZCBhc3NpZ24gcHJvcGVydGllc1xuICAgIHRoaXMubmFtZSA9IHRoaXMucGh5c2ljYWxOYW1lO1xuICAgIHRoaXMudmFsaWRhdGVHYXRld2F5VGFyZ2V0TmFtZSh0aGlzLm5hbWUpO1xuXG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IHByb3BzLmRlc2NyaXB0aW9uO1xuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlRGVzY3JpcHRpb24odGhpcy5kZXNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgdGhpcy5nYXRld2F5ID0gcHJvcHMuZ2F0ZXdheTtcbiAgICB0aGlzLnRhcmdldENvbmZpZ3VyYXRpb24gPSBwcm9wcy50YXJnZXRDb25maWd1cmF0aW9uO1xuICAgIHRoaXMudGFyZ2V0VHlwZSA9IHRoaXMudGFyZ2V0Q29uZmlndXJhdGlvbi50YXJnZXRUeXBlO1xuXG4gICAgLy8gR2V0IHRhcmdldC1zcGVjaWZpYyBjcmVkZW50aWFsIGNvbmZpZ3VyYXRpb25zXG4gICAgdGhpcy5jcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucyA9IHRoaXMuX2dldFRhcmdldFNwZWNpZmljQ3JlZGVudGlhbHMoXG4gICAgICBwcm9wcy5jcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucyxcbiAgICApO1xuXG4gICAgLy8gQmluZCB0aGUgdGFyZ2V0IGNvbmZpZ3VyYXRpb25cbiAgICAvLyBUaGlzIHNldHMgdXAgcGVybWlzc2lvbnMgYW5kIGRlcGVuZGVuY2llc1xuICAgIHRoaXMudGFyZ2V0Q29uZmlndXJhdGlvbi5iaW5kKHRoaXMsIHRoaXMuZ2F0ZXdheSk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIEwxIGNvbnN0cnVjdFxuICAgIGNvbnN0IGNmblByb3BzOiBiZWRyb2NrYWdlbnRjb3JlLkNmbkdhdGV3YXlUYXJnZXRQcm9wcyA9IHtcbiAgICAgIGdhdGV3YXlJZGVudGlmaWVyOiB0aGlzLmdhdGV3YXkuZ2F0ZXdheUlkLFxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICBjcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uczogTGF6eS5hbnkoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiB0aGlzLl9yZW5kZXJDcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucygpLFxuICAgICAgfSksXG5cbiAgICAgIHRhcmdldENvbmZpZ3VyYXRpb246IExhenkuYW55KHtcbiAgICAgICAgcHJvZHVjZTogKCkgPT4gdGhpcy50YXJnZXRDb25maWd1cmF0aW9uLl9yZW5kZXIoKSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICB0aGlzLnRhcmdldFJlc291cmNlID0gbmV3IGJlZHJvY2thZ2VudGNvcmUuQ2ZuR2F0ZXdheVRhcmdldChcbiAgICAgIHRoaXMsXG4gICAgICAnUmVzb3VyY2UnLFxuICAgICAgY2ZuUHJvcHMsXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25zKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMuY3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnMpIHtcbiAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAuZ3JhbnROZWVkZWRQZXJtaXNzaW9uc1RvUm9sZSh0aGlzLmdhdGV3YXkucm9sZSlcbiAgICAgICAgICA/LmFwcGx5QmVmb3JlKHRoaXMudGFyZ2V0UmVzb3VyY2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0SWQgPSB0aGlzLnRhcmdldFJlc291cmNlLmF0dHJUYXJnZXRJZDtcbiAgICB0aGlzLnRhcmdldEFybiA9IHRoaXMudGFyZ2V0UmVzb3VyY2UucmVmO1xuICAgIHRoaXMuc3RhdHVzID0gdGhpcy50YXJnZXRSZXNvdXJjZS5hdHRyU3RhdHVzO1xuICAgIHRoaXMuc3RhdHVzUmVhc29ucyA9IHRoaXMudGFyZ2V0UmVzb3VyY2UuYXR0clN0YXR1c1JlYXNvbnM7XG4gICAgdGhpcy5jcmVhdGVkQXQgPSB0aGlzLnRhcmdldFJlc291cmNlLmF0dHJDcmVhdGVkQXQ7XG4gICAgdGhpcy51cGRhdGVkQXQgPSB0aGlzLnRhcmdldFJlc291cmNlLmF0dHJVcGRhdGVkQXQ7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gc3luY2hyb25pemUgdGhpcyBnYXRld2F5J3MgdGFyZ2V0c1xuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBncmFudHMgdGhlIGBTeW5jaHJvbml6ZUdhdGV3YXlUYXJnZXRzYCBwZXJtaXNzaW9uLCB3aGljaCBpcyBwcmltYXJpbHlcbiAgICogbmVlZGVkIGZvciBNQ1AgU2VydmVyIHRhcmdldHMgd2hlbiB5b3UgbmVlZCB0byByZWZyZXNoIHRoZSB0b29sIGNhdGFsb2cgYWZ0ZXIgdGhlXG4gICAqIE1DUCBzZXJ2ZXIncyB0b29scyBoYXZlIGNoYW5nZWQuXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGdyYW50U3luYyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiBncmFudGVlLFxuICAgICAgYWN0aW9uczogR0FURVdBWV9TWU5DX1BFUk1TLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5nYXRld2F5LmdhdGV3YXlBcm5dLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIGNyZWRlbnRpYWwgcHJvdmlkZXIgY29uZmlndXJhdGlvbnMgYmFzZWQgb24gdGFyZ2V0IHR5cGVcbiAgICpcbiAgICogLSBMYW1iZGEgJiBTbWl0aHk6IERlZmF1bHQgdG8gSUFNIHJvbGUgaWYgbm90IHByb3ZpZGVkXG4gICAqIC0gTUNQIFNlcnZlcjogUmV0dXJuIHVuZGVmaW5lZCBpZiBub3QgcHJvdmlkZWQgKHNlcnZpY2UgaGFuZGxlcyBOb0F1dGgpXG4gICAqIC0gT3BlbkFQSTogUmV0dXJuIGFzLWlzIChtdXN0IGJlIGV4cGxpY2l0bHkgcHJvdmlkZWQpXG4gICAqXG4gICAqIEBwYXJhbSBwcm92aWRlZENyZWRlbnRpYWxzIFRoZSBjcmVkZW50aWFscyBmcm9tIHByb3BzXG4gICAqIEByZXR1cm5zIFRoZSBjcmVkZW50aWFsIGNvbmZpZ3VyYXRpb25zIHRvIHVzZSwgb3IgdW5kZWZpbmVkXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0VGFyZ2V0U3BlY2lmaWNDcmVkZW50aWFscyhcbiAgICBwcm92aWRlZENyZWRlbnRpYWxzOiBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnW10gfCB1bmRlZmluZWQsXG4gICk6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWdbXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByb3ZpZGVkQ3JlZGVudGlhbHMgJiYgcHJvdmlkZWRDcmVkZW50aWFscy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gcHJvdmlkZWRDcmVkZW50aWFscztcbiAgICB9XG4gICAgLy8gQXBwbHkgdGFyZ2V0LXNwZWNpZmljIGRlZmF1bHRzIHdoZW4gbm90IHByb3ZpZGVkXG4gICAgc3dpdGNoICh0aGlzLnRhcmdldFR5cGUpIHtcbiAgICAgIGNhc2UgTWNwVGFyZ2V0VHlwZS5MQU1CREE6XG4gICAgICBjYXNlIE1jcFRhcmdldFR5cGUuU01JVEhZX01PREVMOlxuICAgICAgICByZXR1cm4gW0dhdGV3YXlDcmVkZW50aWFsUHJvdmlkZXIuZnJvbUlhbVJvbGUoKV07XG5cbiAgICAgIGNhc2UgTWNwVGFyZ2V0VHlwZS5NQ1BfU0VSVkVSOlxuICAgICAgICAvLyBSZXR1cm4gZW1wdHkgYXJyYXksIC0gc2VydmljZSBoYW5kbGVzIE5vQXV0aCBhdXRvbWF0aWNhbGx5XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgIGNhc2UgTWNwVGFyZ2V0VHlwZS5PUEVOQVBJX1NDSEVNQTpcbiAgICAgICAgLy8gTm8gZGVmYXVsdCAtIG11c3QgYmUgZXhwbGljaXRseSBwcm92aWRlZCwgc2VydmljZSBoYW5kbGVzIGF1dG9tYXRpY2FsbHlcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIFtHYXRld2F5Q3JlZGVudGlhbFByb3ZpZGVyLmZyb21JYW1Sb2xlKCldO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGNyZWRlbnRpYWwgcHJvdmlkZXIgY29uZmlndXJhdGlvbnMgZm9yIENsb3VkRm9ybWF0aW9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBfcmVuZGVyQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5jcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9ucz8ubWFwKHByb3ZpZGVyID0+IHByb3ZpZGVyLl9yZW5kZXIoKSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBnYXRld2F5IHRhcmdldCBuYW1lIGZvcm1hdFxuICAgKiBQYXR0ZXJuOiBeKFswLTlhLXpBLVpdWy1dPyl7MSwxMDB9JFxuICAgKiBNYXggbGVuZ3RoOiAxMDAgY2hhcmFjdGVyc1xuICAgKiBAcGFyYW0gZ2F0ZXdheVRhcmdldE5hbWUgVGhlIGdhdGV3YXkgdGFyZ2V0IG5hbWUgdG8gdmFsaWRhdGVcbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgbmFtZSBpcyBpbnZhbGlkXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUdhdGV3YXlUYXJnZXROYW1lKGdhdGV3YXlUYXJnZXROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGdhdGV3YXlUYXJnZXROYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxlbmd0aEVycm9ycyA9IHZhbGlkYXRlU3RyaW5nRmllbGQoe1xuICAgICAgdmFsdWU6IGdhdGV3YXlUYXJnZXROYW1lLFxuICAgICAgZmllbGROYW1lOiAnR2F0ZXdheSB0YXJnZXQgbmFtZScsXG4gICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICBtYXhMZW5ndGg6IDEwMCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhdHRlcm5FcnJvcnMgPSB2YWxpZGF0ZUZpZWxkUGF0dGVybihcbiAgICAgIGdhdGV3YXlUYXJnZXROYW1lLFxuICAgICAgJ0dhdGV3YXkgdGFyZ2V0IG5hbWUnLFxuICAgICAgL14oWzAtOWEtekEtWl1bLV0/KXsxLDEwMH0kLyxcbiAgICAgICdHYXRld2F5IHRhcmdldCBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBoeXBoZW5zLCB3aXRoIGh5cGhlbnMgb25seSBiZXR3ZWVuIGNoYXJhY3RlcnMnLFxuICAgICk7XG5cbiAgICBjb25zdCBhbGxFcnJvcnMgPSBbLi4ubGVuZ3RoRXJyb3JzLCAuLi5wYXR0ZXJuRXJyb3JzXTtcbiAgICBpZiAoYWxsRXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYWxsRXJyb3JzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBkZXNjcmlwdGlvbiBmb3JtYXRcbiAgICogTXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDIwMCBjaGFyYWN0ZXJzXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdmFsaWRhdGlvbiBmYWlsc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVEZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChkZXNjcmlwdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnMgPSB2YWxpZGF0ZVN0cmluZ0ZpZWxkKHtcbiAgICAgIHZhbHVlOiBkZXNjcmlwdGlvbixcbiAgICAgIGZpZWxkTmFtZTogJ0dhdGV3YXkgdGFyZ2V0IGRlc2NyaXB0aW9uJyxcbiAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgIG1heExlbmd0aDogMjAwLFxuICAgIH0pO1xuXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGVycm9ycy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/lib/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from './tools/code-interpreter';
|
|
|
15
15
|
export * from './tools/browser';
|
|
16
16
|
export * from './gateway/gateway-base';
|
|
17
17
|
export * from './gateway/gateway';
|
|
18
|
+
export * from './gateway/interceptor';
|
|
18
19
|
export * from './gateway/perms';
|
|
19
20
|
export * from './gateway/protocol';
|
|
20
21
|
export * from './gateway/inbound-auth/authorizer';
|
package/lib/index.js
CHANGED
|
@@ -42,6 +42,7 @@ __exportStar(require("./tools/browser"), exports);
|
|
|
42
42
|
// ===================================
|
|
43
43
|
__exportStar(require("./gateway/gateway-base"), exports);
|
|
44
44
|
__exportStar(require("./gateway/gateway"), exports);
|
|
45
|
+
__exportStar(require("./gateway/interceptor"), exports);
|
|
45
46
|
__exportStar(require("./gateway/perms"), exports);
|
|
46
47
|
__exportStar(require("./gateway/protocol"), exports);
|
|
47
48
|
// validation-helpers contains internal utilities and should not be exported
|
|
@@ -68,4 +69,4 @@ __exportStar(require("./gateway/targets/target-configuration"), exports);
|
|
|
68
69
|
__exportStar(require("./gateway/targets/schema/base-schema"), exports);
|
|
69
70
|
__exportStar(require("./gateway/targets/schema/api-schema"), exports);
|
|
70
71
|
__exportStar(require("./gateway/targets/schema/tool-schema"), exports);
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLHVFQUFxRDtBQUNyRCw0RUFBMEQ7QUFDMUQsMkRBQXlDO0FBQ3pDLHNDQUFzQztBQUN0Qyx3QkFBd0I7QUFDeEIsc0NBQXNDO0FBQ3RDLGtFQUFnRDtBQUVoRCxzQ0FBc0M7QUFDdEMsVUFBVTtBQUNWLHNDQUFzQztBQUN0QyxrREFBZ0M7QUFDaEMsa0RBQWdDO0FBQ2hDLHlEQUF1QztBQUN2Qyw2REFBMkM7QUFDM0MsNkVBQTJEO0FBQzNELGtFQUFnRDtBQUNoRCw2REFBMkM7QUFDM0Msb0RBQWtDO0FBQ2xDLFFBQVE7QUFDUixzQ0FBc0M7QUFDdEMsMkRBQXlDO0FBQ3pDLGtEQUFnQztBQUVoQyxzQ0FBc0M7QUFDdEMsVUFBVTtBQUNWLHNDQUFzQztBQUN0Qyx5REFBdUM7QUFDdkMsb0RBQWtDO0FBQ2xDLHdEQUFzQztBQUN0QyxrREFBZ0M7QUFDaEMscURBQW1DO0FBQ25DLDRFQUE0RTtBQUU1RSxzQ0FBc0M7QUFDdEMseUJBQXlCO0FBQ3pCLHNDQUFzQztBQUN0QyxvRUFBa0Q7QUFFbEQsc0NBQXNDO0FBQ3RDLDBCQUEwQjtBQUMxQixzQ0FBc0M7QUFDdEMsOEVBQTREO0FBQzVELGtFQUFnRDtBQUNoRCxtRUFBaUQ7QUFDakQsZ0VBQThDO0FBRTlDLHNDQUFzQztBQUN0QyxvQkFBb0I7QUFDcEIsc0NBQXNDO0FBQ3RDLGdFQUE4QztBQUM5QywyREFBeUM7QUFDekMseUVBQXVEO0FBRXZELHNDQUFzQztBQUN0QyxvQkFBb0I7QUFDcEIsc0NBQXNDO0FBQ3RDLHVFQUFxRDtBQUNyRCxzRUFBb0Q7QUFDcEQsdUVBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZW1vcnkvbWVtb3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtb3J5L3N0cmF0ZWdpZXMvbWFuYWdlZC1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL21lbW9yeS9zdHJhdGVnaWVzL3NlbGYtbWFuYWdlZC1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL21lbW9yeS9tZW1vcnktc3RyYXRlZ3knO1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5ldHdvcmsgQ29uZmlndXJhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yay9uZXR3b3JrLWNvbmZpZ3VyYXRpb24nO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUnVudGltZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vcnVudGltZS9wZXJtcyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ydW50aW1lL3J1bnRpbWUtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZS1hcnRpZmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZS1hdXRob3JpemVyLWNvbmZpZ3VyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9ydW50aW1lL3J1bnRpbWUtZW5kcG9pbnQtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZS1lbmRwb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUvcnVudGltZSc7XG4vLyBUb29sc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vdG9vbHMvY29kZS1pbnRlcnByZXRlcic7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xzL2Jyb3dzZXInO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZXdheVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9nYXRld2F5LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L2dhdGV3YXknO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L2ludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9wZXJtcyc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvcHJvdG9jb2wnO1xuLy8gdmFsaWRhdGlvbi1oZWxwZXJzIGNvbnRhaW5zIGludGVybmFsIHV0aWxpdGllcyBhbmQgc2hvdWxkIG5vdCBiZSBleHBvcnRlZFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZXdheSAtIEluYm91bmQgQXV0aFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9pbmJvdW5kLWF1dGgvYXV0aG9yaXplcic7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHYXRld2F5IC0gT3V0Ym91bmQgQXV0aFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS9vdXRib3VuZC1hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5L291dGJvdW5kLWF1dGgvYXBpLWtleSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvb3V0Ym91bmQtYXV0aC9pYW0tcm9sZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvb3V0Ym91bmQtYXV0aC9vYXV0aCc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHYXRld2F5IC0gVGFyZ2V0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS90YXJnZXRzL3RhcmdldC1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS90YXJnZXRzL3RhcmdldCc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy90YXJnZXQtY29uZmlndXJhdGlvbic7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHYXRld2F5IC0gU2NoZW1hc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCAqIGZyb20gJy4vZ2F0ZXdheS90YXJnZXRzL3NjaGVtYS9iYXNlLXNjaGVtYSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy9zY2hlbWEvYXBpLXNjaGVtYSc7XG5leHBvcnQgKiBmcm9tICcuL2dhdGV3YXkvdGFyZ2V0cy9zY2hlbWEvdG9vbC1zY2hlbWEnO1xuIl19
|
|
@@ -44,6 +44,10 @@ export declare enum MemoryStrategyType {
|
|
|
44
44
|
* User preferences strategy - extracts user behavior patterns from raw conversations.
|
|
45
45
|
*/
|
|
46
46
|
USER_PREFERENCE = "USER_PREFERENCE",
|
|
47
|
+
/**
|
|
48
|
+
* Episodic memory strategy - captures meaningful slices of user and system interactions
|
|
49
|
+
*/
|
|
50
|
+
EPISODIC = "EPISODIC",
|
|
47
51
|
/**
|
|
48
52
|
* Customize memory processing through custom foundation model and prompt templates.
|
|
49
53
|
*/
|
|
@@ -128,6 +132,13 @@ export declare class MemoryStrategy {
|
|
|
128
132
|
* @returns A ManagedMemoryStrategy.
|
|
129
133
|
*/
|
|
130
134
|
static usingBuiltInUserPreference(): ManagedMemoryStrategy;
|
|
135
|
+
/**
|
|
136
|
+
* Default strategies for organizing and extracting memory data, each optimized for specific use cases.
|
|
137
|
+
* Captures meaningful slices of user and system interactions, preserve them into compact records after summarizing.
|
|
138
|
+
* Extracted memory example: User first asked about pricing on Monday, then requested feature comparison on Tuesday, finally made purchase decision on Wednesday.
|
|
139
|
+
* @returns A ManagedMemoryStrategy.
|
|
140
|
+
*/
|
|
141
|
+
static usingBuiltInEpisodic(): ManagedMemoryStrategy;
|
|
131
142
|
/**
|
|
132
143
|
* Creates a semantic memory strategy with custom configuration.
|
|
133
144
|
* Distills general facts, concepts, and underlying meanings from raw conversational data, presenting the information in a context-independent format.
|
|
@@ -152,6 +163,14 @@ export declare class MemoryStrategy {
|
|
|
152
163
|
* @returns A ManagedMemoryStrategy.
|
|
153
164
|
*/
|
|
154
165
|
static usingSummarization(config: ManagedStrategyProps): ManagedMemoryStrategy;
|
|
166
|
+
/**
|
|
167
|
+
* Creates an episodic memory strategy with custom configuration.
|
|
168
|
+
* Captures meaningful slices of user and system interactions, preserve them into compact records after summarizing.
|
|
169
|
+
* Extracted memory example: User first asked about pricing on Monday, then requested feature comparison on Tuesday, finally made purchase decision on Wednesday.
|
|
170
|
+
* @param config - The configuration for the episodic memory strategy.
|
|
171
|
+
* @returns A ManagedMemoryStrategy.
|
|
172
|
+
*/
|
|
173
|
+
static usingEpisodic(config: ManagedStrategyProps): ManagedMemoryStrategy;
|
|
155
174
|
/**
|
|
156
175
|
* Creates a self-managed memory strategy.
|
|
157
176
|
* A self-managed strategy gives you complete control over your memory extraction and consolidation pipelines.
|