@alicloud/ros-cdk-computenest 1.4.0 → 1.5.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/lib/datasource/computenest.generated.d.ts +150 -0
- package/lib/datasource/computenest.generated.js +101 -2
- package/lib/datasource/index.d.ts +1 -0
- package/lib/datasource/index.js +2 -1
- package/lib/datasource/serviceinstance.d.ts +133 -0
- package/lib/datasource/serviceinstance.js +56 -0
- package/package.json +1 -1
|
@@ -1,4 +1,154 @@
|
|
|
1
1
|
import * as ros from '@alicloud/ros-cdk-core';
|
|
2
|
+
/**
|
|
3
|
+
* Properties for defining a `RosServiceInstance`.
|
|
4
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-computenest-serviceinstance
|
|
5
|
+
*/
|
|
6
|
+
export interface RosServiceInstanceProps {
|
|
7
|
+
/**
|
|
8
|
+
* @Property serviceInstanceId: The ID of the service instance.
|
|
9
|
+
*/
|
|
10
|
+
readonly serviceInstanceId: string | ros.IResolvable;
|
|
11
|
+
/**
|
|
12
|
+
* @Property refreshOptions: The refresh strategy for the datasource resource when the stack is updated. Valid values:
|
|
13
|
+
* - Never: Never refresh the datasource resource when the stack is updated.
|
|
14
|
+
* - Always: Always refresh the datasource resource when the stack is updated.
|
|
15
|
+
* Default is Never.
|
|
16
|
+
*/
|
|
17
|
+
readonly refreshOptions?: string | ros.IResolvable;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* This class is a base encapsulation around the ROS resource type `DATASOURCE::ComputeNest::ServiceInstance`.
|
|
21
|
+
* @Note This class does not contain additional functions, so it is recommended to use the `ServiceInstance` class instead of this class for a more convenient development experience.
|
|
22
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-computenest-serviceinstance
|
|
23
|
+
*/
|
|
24
|
+
export declare class RosServiceInstance extends ros.RosResource {
|
|
25
|
+
/**
|
|
26
|
+
* The resource type name for this resource class.
|
|
27
|
+
*/
|
|
28
|
+
static readonly ROS_RESOURCE_TYPE_NAME = "DATASOURCE::ComputeNest::ServiceInstance";
|
|
29
|
+
/**
|
|
30
|
+
* @Attribute Components: Cloud Marketplace additional billing items.
|
|
31
|
+
*/
|
|
32
|
+
readonly attrComponents: ros.IResolvable;
|
|
33
|
+
/**
|
|
34
|
+
* @Attribute CreateTime: The time when the serviceInstance was created.
|
|
35
|
+
*/
|
|
36
|
+
readonly attrCreateTime: ros.IResolvable;
|
|
37
|
+
/**
|
|
38
|
+
* @Attribute EnableInstanceOps: Indicates whether the service instance supports the operation feature.
|
|
39
|
+
*/
|
|
40
|
+
readonly attrEnableInstanceOps: ros.IResolvable;
|
|
41
|
+
/**
|
|
42
|
+
* @Attribute EnableUserPrometheus: Whether to enable Prometheus monitoring.
|
|
43
|
+
*/
|
|
44
|
+
readonly attrEnableUserPrometheus: ros.IResolvable;
|
|
45
|
+
/**
|
|
46
|
+
* @Attribute IsOperated: Indicates whether the hosted O&M feature is enabled for the service instance.
|
|
47
|
+
*/
|
|
48
|
+
readonly attrIsOperated: ros.IResolvable;
|
|
49
|
+
/**
|
|
50
|
+
* @Attribute LicenseEndTime: The expiration time of licence.
|
|
51
|
+
*/
|
|
52
|
+
readonly attrLicenseEndTime: ros.IResolvable;
|
|
53
|
+
/**
|
|
54
|
+
* @Attribute MarketInstanceId: The ID of the cloud marketplace instance.
|
|
55
|
+
*/
|
|
56
|
+
readonly attrMarketInstanceId: ros.IResolvable;
|
|
57
|
+
/**
|
|
58
|
+
* @Attribute NetworkConfig: The network configurations.
|
|
59
|
+
*/
|
|
60
|
+
readonly attrNetworkConfig: ros.IResolvable;
|
|
61
|
+
/**
|
|
62
|
+
* @Attribute Outputs: The outputs returned from creating the service instance.
|
|
63
|
+
*/
|
|
64
|
+
readonly attrOutputs: ros.IResolvable;
|
|
65
|
+
/**
|
|
66
|
+
* @Attribute Parameters: The parameters configured for the service instance.
|
|
67
|
+
*/
|
|
68
|
+
readonly attrParameters: ros.IResolvable;
|
|
69
|
+
/**
|
|
70
|
+
* @Attribute PredefinedParameterName: The name of the package .
|
|
71
|
+
*/
|
|
72
|
+
readonly attrPredefinedParameterName: ros.IResolvable;
|
|
73
|
+
/**
|
|
74
|
+
* @Attribute Progress: The deployment progress of the service instance. Unit: percentage.
|
|
75
|
+
*/
|
|
76
|
+
readonly attrProgress: ros.IResolvable;
|
|
77
|
+
/**
|
|
78
|
+
* @Attribute ResourceGroupId: The resource group ID.
|
|
79
|
+
*/
|
|
80
|
+
readonly attrResourceGroupId: ros.IResolvable;
|
|
81
|
+
/**
|
|
82
|
+
* @Attribute Service: The information about the service to which the service instance belongs.
|
|
83
|
+
*/
|
|
84
|
+
readonly attrService: ros.IResolvable;
|
|
85
|
+
/**
|
|
86
|
+
* @Attribute ServiceInstanceId: The ID of the service instance.
|
|
87
|
+
*/
|
|
88
|
+
readonly attrServiceInstanceId: ros.IResolvable;
|
|
89
|
+
/**
|
|
90
|
+
* @Attribute ServiceInstanceName: The name of the resource.
|
|
91
|
+
*/
|
|
92
|
+
readonly attrServiceInstanceName: ros.IResolvable;
|
|
93
|
+
/**
|
|
94
|
+
* @Attribute ServiceType: The type of the service.
|
|
95
|
+
*/
|
|
96
|
+
readonly attrServiceType: ros.IResolvable;
|
|
97
|
+
/**
|
|
98
|
+
* @Attribute Source: The source of the service instance.
|
|
99
|
+
*/
|
|
100
|
+
readonly attrSource: ros.IResolvable;
|
|
101
|
+
/**
|
|
102
|
+
* @Attribute StatusDetail: The description of the deployment state of the service instance.
|
|
103
|
+
*/
|
|
104
|
+
readonly attrStatusDetail: ros.IResolvable;
|
|
105
|
+
/**
|
|
106
|
+
* @Attribute SupplierUid: The Alibaba Cloud account ID of the service provider.
|
|
107
|
+
*/
|
|
108
|
+
readonly attrSupplierUid: ros.IResolvable;
|
|
109
|
+
/**
|
|
110
|
+
* @Attribute Tags: The tags of the service instance.
|
|
111
|
+
*/
|
|
112
|
+
readonly attrTags: ros.IResolvable;
|
|
113
|
+
/**
|
|
114
|
+
* @Attribute TemplateName: The name of the template.
|
|
115
|
+
*/
|
|
116
|
+
readonly attrTemplateName: ros.IResolvable;
|
|
117
|
+
/**
|
|
118
|
+
* @Attribute UpdateTime: The time when the serviceInstance was last updated.
|
|
119
|
+
*/
|
|
120
|
+
readonly attrUpdateTime: ros.IResolvable;
|
|
121
|
+
/**
|
|
122
|
+
* @Attribute UserId: The AliUid of the user.
|
|
123
|
+
*/
|
|
124
|
+
readonly attrUserId: ros.IResolvable;
|
|
125
|
+
enableResourcePropertyConstraint: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* @Property serviceInstanceId: The ID of the service instance.
|
|
128
|
+
*/
|
|
129
|
+
serviceInstanceId: string | ros.IResolvable;
|
|
130
|
+
/**
|
|
131
|
+
* @Property refreshOptions: The refresh strategy for the datasource resource when the stack is updated. Valid values:
|
|
132
|
+
* - Never: Never refresh the datasource resource when the stack is updated.
|
|
133
|
+
* - Always: Always refresh the datasource resource when the stack is updated.
|
|
134
|
+
* Default is Never.
|
|
135
|
+
*/
|
|
136
|
+
refreshOptions: string | ros.IResolvable | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* @param scope - scope in which this resource is defined
|
|
139
|
+
* @param id - scoped id of the resource
|
|
140
|
+
* @param props - resource properties
|
|
141
|
+
*/
|
|
142
|
+
constructor(scope: ros.Construct, id: string, props: RosServiceInstanceProps, enableResourcePropertyConstraint: boolean);
|
|
143
|
+
protected get rosProperties(): {
|
|
144
|
+
[key: string]: any;
|
|
145
|
+
};
|
|
146
|
+
protected renderProperties(props: {
|
|
147
|
+
[key: string]: any;
|
|
148
|
+
}): {
|
|
149
|
+
[key: string]: any;
|
|
150
|
+
};
|
|
151
|
+
}
|
|
2
152
|
/**
|
|
3
153
|
* Properties for defining a `RosServiceInstances`.
|
|
4
154
|
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-computenest-serviceinstances
|
|
@@ -1,8 +1,107 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Generated from the AliCloud ROS Resource Specification
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.RosServiceInstances = void 0;
|
|
4
|
+
exports.RosServiceInstances = exports.RosServiceInstance = void 0;
|
|
5
5
|
const ros = require("@alicloud/ros-cdk-core");
|
|
6
|
+
/**
|
|
7
|
+
* Determine whether the given properties match those of a `RosServiceInstanceProps`
|
|
8
|
+
*
|
|
9
|
+
* @param properties - the TypeScript properties of a `RosServiceInstanceProps`
|
|
10
|
+
*
|
|
11
|
+
* @returns the result of the validation.
|
|
12
|
+
*/
|
|
13
|
+
function RosServiceInstancePropsValidator(properties) {
|
|
14
|
+
if (!ros.canInspect(properties)) {
|
|
15
|
+
return ros.VALIDATION_SUCCESS;
|
|
16
|
+
}
|
|
17
|
+
const errors = new ros.ValidationResults();
|
|
18
|
+
errors.collect(ros.propertyValidator('serviceInstanceId', ros.requiredValidator)(properties.serviceInstanceId));
|
|
19
|
+
errors.collect(ros.propertyValidator('serviceInstanceId', ros.validateString)(properties.serviceInstanceId));
|
|
20
|
+
if (properties.refreshOptions && (typeof properties.refreshOptions) !== 'object') {
|
|
21
|
+
errors.collect(ros.propertyValidator('refreshOptions', ros.validateAllowedValues)({
|
|
22
|
+
data: properties.refreshOptions,
|
|
23
|
+
allowedValues: ["Always", "Never"],
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
errors.collect(ros.propertyValidator('refreshOptions', ros.validateString)(properties.refreshOptions));
|
|
27
|
+
return errors.wrap('supplied properties not correct for "RosServiceInstanceProps"');
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Renders the AliCloud ROS Resource properties of an `DATASOURCE::ComputeNest::ServiceInstance` resource
|
|
31
|
+
*
|
|
32
|
+
* @param properties - the TypeScript properties of a `RosServiceInstanceProps`
|
|
33
|
+
*
|
|
34
|
+
* @returns the AliCloud ROS Resource properties of an `DATASOURCE::ComputeNest::ServiceInstance` resource.
|
|
35
|
+
*/
|
|
36
|
+
// @ts-ignore TS6133
|
|
37
|
+
function rosServiceInstancePropsToRosTemplate(properties, enableResourcePropertyConstraint) {
|
|
38
|
+
if (!ros.canInspect(properties)) {
|
|
39
|
+
return properties;
|
|
40
|
+
}
|
|
41
|
+
if (enableResourcePropertyConstraint) {
|
|
42
|
+
RosServiceInstancePropsValidator(properties).assertSuccess();
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
'ServiceInstanceId': ros.stringToRosTemplate(properties.serviceInstanceId),
|
|
46
|
+
'RefreshOptions': ros.stringToRosTemplate(properties.refreshOptions),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* This class is a base encapsulation around the ROS resource type `DATASOURCE::ComputeNest::ServiceInstance`.
|
|
51
|
+
* @Note This class does not contain additional functions, so it is recommended to use the `ServiceInstance` class instead of this class for a more convenient development experience.
|
|
52
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-computenest-serviceinstance
|
|
53
|
+
*/
|
|
54
|
+
class RosServiceInstance extends ros.RosResource {
|
|
55
|
+
/**
|
|
56
|
+
* @param scope - scope in which this resource is defined
|
|
57
|
+
* @param id - scoped id of the resource
|
|
58
|
+
* @param props - resource properties
|
|
59
|
+
*/
|
|
60
|
+
constructor(scope, id, props, enableResourcePropertyConstraint) {
|
|
61
|
+
super(scope, id, { type: RosServiceInstance.ROS_RESOURCE_TYPE_NAME, properties: props });
|
|
62
|
+
this.attrComponents = this.getAtt('Components');
|
|
63
|
+
this.attrCreateTime = this.getAtt('CreateTime');
|
|
64
|
+
this.attrEnableInstanceOps = this.getAtt('EnableInstanceOps');
|
|
65
|
+
this.attrEnableUserPrometheus = this.getAtt('EnableUserPrometheus');
|
|
66
|
+
this.attrIsOperated = this.getAtt('IsOperated');
|
|
67
|
+
this.attrLicenseEndTime = this.getAtt('LicenseEndTime');
|
|
68
|
+
this.attrMarketInstanceId = this.getAtt('MarketInstanceId');
|
|
69
|
+
this.attrNetworkConfig = this.getAtt('NetworkConfig');
|
|
70
|
+
this.attrOutputs = this.getAtt('Outputs');
|
|
71
|
+
this.attrParameters = this.getAtt('Parameters');
|
|
72
|
+
this.attrPredefinedParameterName = this.getAtt('PredefinedParameterName');
|
|
73
|
+
this.attrProgress = this.getAtt('Progress');
|
|
74
|
+
this.attrResourceGroupId = this.getAtt('ResourceGroupId');
|
|
75
|
+
this.attrService = this.getAtt('Service');
|
|
76
|
+
this.attrServiceInstanceId = this.getAtt('ServiceInstanceId');
|
|
77
|
+
this.attrServiceInstanceName = this.getAtt('ServiceInstanceName');
|
|
78
|
+
this.attrServiceType = this.getAtt('ServiceType');
|
|
79
|
+
this.attrSource = this.getAtt('Source');
|
|
80
|
+
this.attrStatusDetail = this.getAtt('StatusDetail');
|
|
81
|
+
this.attrSupplierUid = this.getAtt('SupplierUid');
|
|
82
|
+
this.attrTags = this.getAtt('Tags');
|
|
83
|
+
this.attrTemplateName = this.getAtt('TemplateName');
|
|
84
|
+
this.attrUpdateTime = this.getAtt('UpdateTime');
|
|
85
|
+
this.attrUserId = this.getAtt('UserId');
|
|
86
|
+
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
|
|
87
|
+
this.serviceInstanceId = props.serviceInstanceId;
|
|
88
|
+
this.refreshOptions = props.refreshOptions;
|
|
89
|
+
}
|
|
90
|
+
get rosProperties() {
|
|
91
|
+
return {
|
|
92
|
+
serviceInstanceId: this.serviceInstanceId,
|
|
93
|
+
refreshOptions: this.refreshOptions,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
renderProperties(props) {
|
|
97
|
+
return rosServiceInstancePropsToRosTemplate(props, this.enableResourcePropertyConstraint);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.RosServiceInstance = RosServiceInstance;
|
|
101
|
+
/**
|
|
102
|
+
* The resource type name for this resource class.
|
|
103
|
+
*/
|
|
104
|
+
RosServiceInstance.ROS_RESOURCE_TYPE_NAME = "DATASOURCE::ComputeNest::ServiceInstance";
|
|
6
105
|
/**
|
|
7
106
|
* Determine whether the given properties match those of a `RosServiceInstancesProps`
|
|
8
107
|
*
|
|
@@ -79,4 +178,4 @@ exports.RosServiceInstances = RosServiceInstances;
|
|
|
79
178
|
* The resource type name for this resource class.
|
|
80
179
|
*/
|
|
81
180
|
RosServiceInstances.ROS_RESOURCE_TYPE_NAME = "DATASOURCE::ComputeNest::ServiceInstances";
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZW5lc3QuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tcHV0ZW5lc3QuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5REFBeUQ7OztBQUV6RCw4Q0FBOEM7QUFzQjlDOzs7Ozs7R0FNRztBQUNILFNBQVMsaUNBQWlDLENBQUMsVUFBZTtJQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUFFLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQUU7SUFDbkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDekcsSUFBRyxVQUFVLENBQUMsY0FBYyxJQUFJLENBQUMsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssUUFBUSxFQUFFO1FBQzdFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ2hGLElBQUksRUFBRSxVQUFVLENBQUMsY0FBYztZQUMvQixhQUFhLEVBQUUsQ0FBQyxRQUFRLEVBQUMsT0FBTyxDQUFDO1NBQ2xDLENBQUMsQ0FBQyxDQUFDO0tBQ1A7SUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGdFQUFnRSxDQUFDLENBQUM7QUFDekYsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILG9CQUFvQjtBQUNwQixTQUFTLHFDQUFxQyxDQUFDLFVBQWUsRUFBRSxnQ0FBeUM7SUFDckcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFBRSxPQUFPLFVBQVUsQ0FBQztLQUFFO0lBQ3ZELElBQUcsZ0NBQWdDLEVBQUU7UUFDakMsaUNBQWlDLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7S0FDakU7SUFDRCxPQUFPO1FBQ0wsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7UUFDcEUsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7S0FDdkUsQ0FBQztBQUNOLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsV0FBVztJQWdDcEQ7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBK0IsRUFBRSxnQ0FBeUM7UUFDcEgsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ2pELENBQUM7SUFHRCxJQUFjLGFBQWE7UUFDdkIsT0FBTztZQUNILGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDeEMsQ0FBQztJQUNOLENBQUM7SUFDUyxnQkFBZ0IsQ0FBQyxLQUEyQjtRQUNsRCxPQUFPLHFDQUFxQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMvRixDQUFDOztBQXhETCxrREF5REM7QUF4REc7O0dBRUc7QUFDb0IsMENBQXNCLEdBQUcsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZWQgZnJvbSB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIFNwZWNpZmljYXRpb25cblxuaW1wb3J0ICogYXMgcm9zIGZyb20gJ0BhbGljbG91ZC9yb3MtY2RrLWNvcmUnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgYFJvc1NlcnZpY2VJbnN0YW5jZXNgLlxuICogU2VlIGh0dHBzOi8vd3d3LmFsaWJhYmFjbG91ZC5jb20vaGVscC9yb3MvZGV2ZWxvcGVyLXJlZmVyZW5jZS9kYXRhc291cmNlLWNvbXB1dGVuZXN0LXNlcnZpY2VpbnN0YW5jZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3NTZXJ2aWNlSW5zdGFuY2VzUHJvcHMge1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IHJlZnJlc2hPcHRpb25zOiBUaGUgcmVmcmVzaCBzdHJhdGVneSBmb3IgdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC4gVmFsaWQgdmFsdWVzOlxuICAgICAqIC0gTmV2ZXI6IE5ldmVyIHJlZnJlc2ggdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC5cbiAgICAgKiAtIEFsd2F5czogQWx3YXlzIHJlZnJlc2ggdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC5cbiAgICAgKiBEZWZhdWx0IGlzIE5ldmVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlZnJlc2hPcHRpb25zPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IHJlc291cmNlR3JvdXBJZDogVGhlIElEIG9mIHRoZSByZXNvdXJjZSBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSByZXNvdXJjZUdyb3VwSWQ/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGdpdmVuIHByb3BlcnRpZXMgbWF0Y2ggdGhvc2Ugb2YgYSBgUm9zU2VydmljZUluc3RhbmNlc1Byb3BzYFxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIC0gdGhlIFR5cGVTY3JpcHQgcHJvcGVydGllcyBvZiBhIGBSb3NTZXJ2aWNlSW5zdGFuY2VzUHJvcHNgXG4gKlxuICogQHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgdmFsaWRhdGlvbi5cbiAqL1xuZnVuY3Rpb24gUm9zU2VydmljZUluc3RhbmNlc1Byb3BzVmFsaWRhdG9yKHByb3BlcnRpZXM6IGFueSk6IHJvcy5WYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBpZiAoIXJvcy5jYW5JbnNwZWN0KHByb3BlcnRpZXMpKSB7IHJldHVybiByb3MuVkFMSURBVElPTl9TVUNDRVNTOyB9XG4gICAgY29uc3QgZXJyb3JzID0gbmV3IHJvcy5WYWxpZGF0aW9uUmVzdWx0cygpO1xuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcigncmVzb3VyY2VHcm91cElkJywgcm9zLnZhbGlkYXRlU3RyaW5nKShwcm9wZXJ0aWVzLnJlc291cmNlR3JvdXBJZCkpO1xuICAgIGlmKHByb3BlcnRpZXMucmVmcmVzaE9wdGlvbnMgJiYgKHR5cGVvZiBwcm9wZXJ0aWVzLnJlZnJlc2hPcHRpb25zKSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgZXJyb3JzLmNvbGxlY3Qocm9zLnByb3BlcnR5VmFsaWRhdG9yKCdyZWZyZXNoT3B0aW9ucycsIHJvcy52YWxpZGF0ZUFsbG93ZWRWYWx1ZXMpKHtcbiAgICAgICAgICBkYXRhOiBwcm9wZXJ0aWVzLnJlZnJlc2hPcHRpb25zLFxuICAgICAgICAgIGFsbG93ZWRWYWx1ZXM6IFtcIkFsd2F5c1wiLFwiTmV2ZXJcIl0sXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgZXJyb3JzLmNvbGxlY3Qocm9zLnByb3BlcnR5VmFsaWRhdG9yKCdyZWZyZXNoT3B0aW9ucycsIHJvcy52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy5yZWZyZXNoT3B0aW9ucykpO1xuICAgIHJldHVybiBlcnJvcnMud3JhcCgnc3VwcGxpZWQgcHJvcGVydGllcyBub3QgY29ycmVjdCBmb3IgXCJSb3NTZXJ2aWNlSW5zdGFuY2VzUHJvcHNcIicpO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBwcm9wZXJ0aWVzIG9mIGFuIGBEQVRBU09VUkNFOjpDb21wdXRlTmVzdDo6U2VydmljZUluc3RhbmNlc2AgcmVzb3VyY2VcbiAqXG4gKiBAcGFyYW0gcHJvcGVydGllcyAtIHRoZSBUeXBlU2NyaXB0IHByb3BlcnRpZXMgb2YgYSBgUm9zU2VydmljZUluc3RhbmNlc1Byb3BzYFxuICpcbiAqIEByZXR1cm5zIHRoZSBBbGlDbG91ZCBST1MgUmVzb3VyY2UgcHJvcGVydGllcyBvZiBhbiBgREFUQVNPVVJDRTo6Q29tcHV0ZU5lc3Q6OlNlcnZpY2VJbnN0YW5jZXNgIHJlc291cmNlLlxuICovXG4vLyBAdHMtaWdub3JlIFRTNjEzM1xuZnVuY3Rpb24gcm9zU2VydmljZUluc3RhbmNlc1Byb3BzVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzOiBhbnksIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OiBib29sZWFuKTogYW55IHtcbiAgICBpZiAoIXJvcy5jYW5JbnNwZWN0KHByb3BlcnRpZXMpKSB7IHJldHVybiBwcm9wZXJ0aWVzOyB9XG4gICAgaWYoZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpIHtcbiAgICAgICAgUm9zU2VydmljZUluc3RhbmNlc1Byb3BzVmFsaWRhdG9yKHByb3BlcnRpZXMpLmFzc2VydFN1Y2Nlc3MoKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICdSZWZyZXNoT3B0aW9ucyc6IHJvcy5zdHJpbmdUb1Jvc1RlbXBsYXRlKHByb3BlcnRpZXMucmVmcmVzaE9wdGlvbnMpLFxuICAgICAgJ1Jlc291cmNlR3JvdXBJZCc6IHJvcy5zdHJpbmdUb1Jvc1RlbXBsYXRlKHByb3BlcnRpZXMucmVzb3VyY2VHcm91cElkKSxcbiAgICB9O1xufVxuXG4vKipcbiAqIFRoaXMgY2xhc3MgaXMgYSBiYXNlIGVuY2Fwc3VsYXRpb24gYXJvdW5kIHRoZSBST1MgcmVzb3VyY2UgdHlwZSBgREFUQVNPVVJDRTo6Q29tcHV0ZU5lc3Q6OlNlcnZpY2VJbnN0YW5jZXNgLCB3aGljaCBpcyB1c2VkIHRvIHF1ZXJ5IHRoZSBpbmZvcm1hdGlvbiBhYm91dCBzZXJ2aWNlIGluc3RhbmNlcy5cbiAqIEBOb3RlIFRoaXMgY2xhc3MgZG9lcyBub3QgY29udGFpbiBhZGRpdGlvbmFsIGZ1bmN0aW9ucywgc28gaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBgU2VydmljZUluc3RhbmNlc2AgY2xhc3MgaW5zdGVhZCBvZiB0aGlzIGNsYXNzIGZvciBhIG1vcmUgY29udmVuaWVudCBkZXZlbG9wbWVudCBleHBlcmllbmNlLlxuICogU2VlIGh0dHBzOi8vd3d3LmFsaWJhYmFjbG91ZC5jb20vaGVscC9yb3MvZGV2ZWxvcGVyLXJlZmVyZW5jZS9kYXRhc291cmNlLWNvbXB1dGVuZXN0LXNlcnZpY2VpbnN0YW5jZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJvc1NlcnZpY2VJbnN0YW5jZXMgZXh0ZW5kcyByb3MuUm9zUmVzb3VyY2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSByZXNvdXJjZSB0eXBlIG5hbWUgZm9yIHRoaXMgcmVzb3VyY2UgY2xhc3MuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBST1NfUkVTT1VSQ0VfVFlQRV9OQU1FID0gXCJEQVRBU09VUkNFOjpDb21wdXRlTmVzdDo6U2VydmljZUluc3RhbmNlc1wiO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBTZXJ2aWNlSW5zdGFuY2VJZHM6IFRoZSBsaXN0IG9mIHNlcnZpY2UgaW5zdGFuY2UgSURzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU2VydmljZUluc3RhbmNlSWRzOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIFNlcnZpY2VJbnN0YW5jZXM6IFRoZSBsaXN0IG9mIHNlcnZpY2UgaW5zdGFuY2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU2VydmljZUluc3RhbmNlczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgcHVibGljIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OiBib29sZWFuO1xuXG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgcmVmcmVzaE9wdGlvbnM6IFRoZSByZWZyZXNoIHN0cmF0ZWd5IGZvciB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLiBWYWxpZCB2YWx1ZXM6XG4gICAgICogLSBOZXZlcjogTmV2ZXIgcmVmcmVzaCB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLlxuICAgICAqIC0gQWx3YXlzOiBBbHdheXMgcmVmcmVzaCB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLlxuICAgICAqIERlZmF1bHQgaXMgTmV2ZXIuXG4gICAgICovXG4gICAgcHVibGljIHJlZnJlc2hPcHRpb25zOiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGUgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgcmVzb3VyY2VHcm91cElkOiBUaGUgSUQgb2YgdGhlIHJlc291cmNlIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXNvdXJjZUdyb3VwSWQ6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZSB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzY29wZSAtIHNjb3BlIGluIHdoaWNoIHRoaXMgcmVzb3VyY2UgaXMgZGVmaW5lZFxuICAgICAqIEBwYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBAcGFyYW0gcHJvcHMgLSByZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IHJvcy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSb3NTZXJ2aWNlSW5zdGFuY2VzUHJvcHMsIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OiBib29sZWFuKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCwgeyB0eXBlOiBSb3NTZXJ2aWNlSW5zdGFuY2VzLlJPU19SRVNPVVJDRV9UWVBFX05BTUUsIHByb3BlcnRpZXM6IHByb3BzIH0pO1xuICAgICAgICB0aGlzLmF0dHJTZXJ2aWNlSW5zdGFuY2VJZHMgPSB0aGlzLmdldEF0dCgnU2VydmljZUluc3RhbmNlSWRzJyk7XG4gICAgICAgIHRoaXMuYXR0clNlcnZpY2VJbnN0YW5jZXMgPSB0aGlzLmdldEF0dCgnU2VydmljZUluc3RhbmNlcycpO1xuXG4gICAgICAgIHRoaXMuZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQgPSBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDtcbiAgICAgICAgdGhpcy5yZWZyZXNoT3B0aW9ucyA9IHByb3BzLnJlZnJlc2hPcHRpb25zO1xuICAgICAgICB0aGlzLnJlc291cmNlR3JvdXBJZCA9IHByb3BzLnJlc291cmNlR3JvdXBJZDtcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBnZXQgcm9zUHJvcGVydGllcygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ICB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZWZyZXNoT3B0aW9uczogdGhpcy5yZWZyZXNoT3B0aW9ucyxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXBJZDogdGhpcy5yZXNvdXJjZUdyb3VwSWQsXG4gICAgICAgIH07XG4gICAgfVxuICAgIHByb3RlY3RlZCByZW5kZXJQcm9wZXJ0aWVzKHByb3BzOiB7W2tleTogc3RyaW5nXTogYW55fSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gIHtcbiAgICAgICAgcmV0dXJuIHJvc1NlcnZpY2VJbnN0YW5jZXNQcm9wc1RvUm9zVGVtcGxhdGUocHJvcHMsIHRoaXMuZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZW5lc3QuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tcHV0ZW5lc3QuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5REFBeUQ7OztBQUV6RCw4Q0FBOEM7QUFzQjlDOzs7Ozs7R0FNRztBQUNILFNBQVMsZ0NBQWdDLENBQUMsVUFBZTtJQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUFFLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQUU7SUFDbkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ2hILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQzdHLElBQUcsVUFBVSxDQUFDLGNBQWMsSUFBSSxDQUFDLE9BQU8sVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUM3RSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNoRixJQUFJLEVBQUUsVUFBVSxDQUFDLGNBQWM7WUFDL0IsYUFBYSxFQUFFLENBQUMsUUFBUSxFQUFDLE9BQU8sQ0FBQztTQUNsQyxDQUFDLENBQUMsQ0FBQztLQUNQO0lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQywrREFBK0QsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxvQkFBb0I7QUFDcEIsU0FBUyxvQ0FBb0MsQ0FBQyxVQUFlLEVBQUUsZ0NBQXlDO0lBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQUUsT0FBTyxVQUFVLENBQUM7S0FBRTtJQUN2RCxJQUFHLGdDQUFnQyxFQUFFO1FBQ2pDLGdDQUFnQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0tBQ2hFO0lBQ0QsT0FBTztRQUNMLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUM7UUFDMUUsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7S0FDckUsQ0FBQztBQUNOLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxHQUFHLENBQUMsV0FBVztJQThJbkQ7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBOEIsRUFBRSxnQ0FBeUM7UUFDbkgsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsZ0NBQWdDLENBQUM7UUFDekUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7SUFDL0MsQ0FBQztJQUdELElBQWMsYUFBYTtRQUN2QixPQUFPO1lBQ0gsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDdEMsQ0FBQztJQUNOLENBQUM7SUFDUyxnQkFBZ0IsQ0FBQyxLQUEyQjtRQUNsRCxPQUFPLG9DQUFvQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUM5RixDQUFDOztBQTVMTCxnREE2TEM7QUE1TEc7O0dBRUc7QUFDb0IseUNBQXNCLEdBQUcsMENBQTBDLENBQUM7QUErTS9GOzs7Ozs7R0FNRztBQUNILFNBQVMsaUNBQWlDLENBQUMsVUFBZTtJQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUFFLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQUU7SUFDbkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDekcsSUFBRyxVQUFVLENBQUMsY0FBYyxJQUFJLENBQUMsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssUUFBUSxFQUFFO1FBQzdFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ2hGLElBQUksRUFBRSxVQUFVLENBQUMsY0FBYztZQUMvQixhQUFhLEVBQUUsQ0FBQyxRQUFRLEVBQUMsT0FBTyxDQUFDO1NBQ2xDLENBQUMsQ0FBQyxDQUFDO0tBQ1A7SUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGdFQUFnRSxDQUFDLENBQUM7QUFDekYsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILG9CQUFvQjtBQUNwQixTQUFTLHFDQUFxQyxDQUFDLFVBQWUsRUFBRSxnQ0FBeUM7SUFDckcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFBRSxPQUFPLFVBQVUsQ0FBQztLQUFFO0lBQ3ZELElBQUcsZ0NBQWdDLEVBQUU7UUFDakMsaUNBQWlDLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7S0FDakU7SUFDRCxPQUFPO1FBQ0wsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7UUFDcEUsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7S0FDdkUsQ0FBQztBQUNOLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsV0FBVztJQWdDcEQ7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBK0IsRUFBRSxnQ0FBeUM7UUFDcEgsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ2pELENBQUM7SUFHRCxJQUFjLGFBQWE7UUFDdkIsT0FBTztZQUNILGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDeEMsQ0FBQztJQUNOLENBQUM7SUFDUyxnQkFBZ0IsQ0FBQyxLQUEyQjtRQUNsRCxPQUFPLHFDQUFxQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMvRixDQUFDOztBQXhETCxrREF5REM7QUF4REc7O0dBRUc7QUFDb0IsMENBQXNCLEdBQUcsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZWQgZnJvbSB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIFNwZWNpZmljYXRpb25cblxuaW1wb3J0ICogYXMgcm9zIGZyb20gJ0BhbGljbG91ZC9yb3MtY2RrLWNvcmUnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgYFJvc1NlcnZpY2VJbnN0YW5jZWAuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2RhdGFzb3VyY2UtY29tcHV0ZW5lc3Qtc2VydmljZWluc3RhbmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm9zU2VydmljZUluc3RhbmNlUHJvcHMge1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IHNlcnZpY2VJbnN0YW5jZUlkOiBUaGUgSUQgb2YgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2VydmljZUluc3RhbmNlSWQ6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSByZWZyZXNoT3B0aW9uczogVGhlIHJlZnJlc2ggc3RyYXRlZ3kgZm9yIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuIFZhbGlkIHZhbHVlczpcbiAgICAgKiAtIE5ldmVyOiBOZXZlciByZWZyZXNoIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuXG4gICAgICogLSBBbHdheXM6IEFsd2F5cyByZWZyZXNoIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuXG4gICAgICogRGVmYXVsdCBpcyBOZXZlci5cbiAgICAgKi9cbiAgICByZWFkb25seSByZWZyZXNoT3B0aW9ucz86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgd2hldGhlciB0aGUgZ2l2ZW4gcHJvcGVydGllcyBtYXRjaCB0aG9zZSBvZiBhIGBSb3NTZXJ2aWNlSW5zdGFuY2VQcm9wc2BcbiAqXG4gKiBAcGFyYW0gcHJvcGVydGllcyAtIHRoZSBUeXBlU2NyaXB0IHByb3BlcnRpZXMgb2YgYSBgUm9zU2VydmljZUluc3RhbmNlUHJvcHNgXG4gKlxuICogQHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgdmFsaWRhdGlvbi5cbiAqL1xuZnVuY3Rpb24gUm9zU2VydmljZUluc3RhbmNlUHJvcHNWYWxpZGF0b3IocHJvcGVydGllczogYW55KTogcm9zLlZhbGlkYXRpb25SZXN1bHQge1xuICAgIGlmICghcm9zLmNhbkluc3BlY3QocHJvcGVydGllcykpIHsgcmV0dXJuIHJvcy5WQUxJREFUSU9OX1NVQ0NFU1M7IH1cbiAgICBjb25zdCBlcnJvcnMgPSBuZXcgcm9zLlZhbGlkYXRpb25SZXN1bHRzKCk7XG4gICAgZXJyb3JzLmNvbGxlY3Qocm9zLnByb3BlcnR5VmFsaWRhdG9yKCdzZXJ2aWNlSW5zdGFuY2VJZCcsIHJvcy5yZXF1aXJlZFZhbGlkYXRvcikocHJvcGVydGllcy5zZXJ2aWNlSW5zdGFuY2VJZCkpO1xuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcignc2VydmljZUluc3RhbmNlSWQnLCByb3MudmFsaWRhdGVTdHJpbmcpKHByb3BlcnRpZXMuc2VydmljZUluc3RhbmNlSWQpKTtcbiAgICBpZihwcm9wZXJ0aWVzLnJlZnJlc2hPcHRpb25zICYmICh0eXBlb2YgcHJvcGVydGllcy5yZWZyZXNoT3B0aW9ucykgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcigncmVmcmVzaE9wdGlvbnMnLCByb3MudmFsaWRhdGVBbGxvd2VkVmFsdWVzKSh7XG4gICAgICAgICAgZGF0YTogcHJvcGVydGllcy5yZWZyZXNoT3B0aW9ucyxcbiAgICAgICAgICBhbGxvd2VkVmFsdWVzOiBbXCJBbHdheXNcIixcIk5ldmVyXCJdLFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcigncmVmcmVzaE9wdGlvbnMnLCByb3MudmFsaWRhdGVTdHJpbmcpKHByb3BlcnRpZXMucmVmcmVzaE9wdGlvbnMpKTtcbiAgICByZXR1cm4gZXJyb3JzLndyYXAoJ3N1cHBsaWVkIHByb3BlcnRpZXMgbm90IGNvcnJlY3QgZm9yIFwiUm9zU2VydmljZUluc3RhbmNlUHJvcHNcIicpO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBwcm9wZXJ0aWVzIG9mIGFuIGBEQVRBU09VUkNFOjpDb21wdXRlTmVzdDo6U2VydmljZUluc3RhbmNlYCByZXNvdXJjZVxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIC0gdGhlIFR5cGVTY3JpcHQgcHJvcGVydGllcyBvZiBhIGBSb3NTZXJ2aWNlSW5zdGFuY2VQcm9wc2BcbiAqXG4gKiBAcmV0dXJucyB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIHByb3BlcnRpZXMgb2YgYW4gYERBVEFTT1VSQ0U6OkNvbXB1dGVOZXN0OjpTZXJ2aWNlSW5zdGFuY2VgIHJlc291cmNlLlxuICovXG4vLyBAdHMtaWdub3JlIFRTNjEzM1xuZnVuY3Rpb24gcm9zU2VydmljZUluc3RhbmNlUHJvcHNUb1Jvc1RlbXBsYXRlKHByb3BlcnRpZXM6IGFueSwgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6IGJvb2xlYW4pOiBhbnkge1xuICAgIGlmICghcm9zLmNhbkluc3BlY3QocHJvcGVydGllcykpIHsgcmV0dXJuIHByb3BlcnRpZXM7IH1cbiAgICBpZihlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCkge1xuICAgICAgICBSb3NTZXJ2aWNlSW5zdGFuY2VQcm9wc1ZhbGlkYXRvcihwcm9wZXJ0aWVzKS5hc3NlcnRTdWNjZXNzKCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAnU2VydmljZUluc3RhbmNlSWQnOiByb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzLnNlcnZpY2VJbnN0YW5jZUlkKSxcbiAgICAgICdSZWZyZXNoT3B0aW9ucyc6IHJvcy5zdHJpbmdUb1Jvc1RlbXBsYXRlKHByb3BlcnRpZXMucmVmcmVzaE9wdGlvbnMpLFxuICAgIH07XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyBhIGJhc2UgZW5jYXBzdWxhdGlvbiBhcm91bmQgdGhlIFJPUyByZXNvdXJjZSB0eXBlIGBEQVRBU09VUkNFOjpDb21wdXRlTmVzdDo6U2VydmljZUluc3RhbmNlYC5cbiAqIEBOb3RlIFRoaXMgY2xhc3MgZG9lcyBub3QgY29udGFpbiBhZGRpdGlvbmFsIGZ1bmN0aW9ucywgc28gaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBgU2VydmljZUluc3RhbmNlYCBjbGFzcyBpbnN0ZWFkIG9mIHRoaXMgY2xhc3MgZm9yIGEgbW9yZSBjb252ZW5pZW50IGRldmVsb3BtZW50IGV4cGVyaWVuY2UuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2RhdGFzb3VyY2UtY29tcHV0ZW5lc3Qtc2VydmljZWluc3RhbmNlXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3NTZXJ2aWNlSW5zdGFuY2UgZXh0ZW5kcyByb3MuUm9zUmVzb3VyY2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSByZXNvdXJjZSB0eXBlIG5hbWUgZm9yIHRoaXMgcmVzb3VyY2UgY2xhc3MuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBST1NfUkVTT1VSQ0VfVFlQRV9OQU1FID0gXCJEQVRBU09VUkNFOjpDb21wdXRlTmVzdDo6U2VydmljZUluc3RhbmNlXCI7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIENvbXBvbmVudHM6IENsb3VkIE1hcmtldHBsYWNlIGFkZGl0aW9uYWwgYmlsbGluZyBpdGVtcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckNvbXBvbmVudHM6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgQ3JlYXRlVGltZTogVGhlIHRpbWUgd2hlbiB0aGUgc2VydmljZUluc3RhbmNlIHdhcyBjcmVhdGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyQ3JlYXRlVGltZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBFbmFibGVJbnN0YW5jZU9wczogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlcnZpY2UgaW5zdGFuY2Ugc3VwcG9ydHMgdGhlIG9wZXJhdGlvbiBmZWF0dXJlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyRW5hYmxlSW5zdGFuY2VPcHM6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgRW5hYmxlVXNlclByb21ldGhldXM6IFdoZXRoZXIgdG8gZW5hYmxlIFByb21ldGhldXMgbW9uaXRvcmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckVuYWJsZVVzZXJQcm9tZXRoZXVzOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIElzT3BlcmF0ZWQ6IEluZGljYXRlcyB3aGV0aGVyIHRoZSBob3N0ZWQgTyZNIGZlYXR1cmUgaXMgZW5hYmxlZCBmb3IgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJJc09wZXJhdGVkOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIExpY2Vuc2VFbmRUaW1lOiBUaGUgZXhwaXJhdGlvbiB0aW1lIG9mIGxpY2VuY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJMaWNlbnNlRW5kVGltZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBNYXJrZXRJbnN0YW5jZUlkOiBUaGUgSUQgb2YgdGhlIGNsb3VkIG1hcmtldHBsYWNlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyTWFya2V0SW5zdGFuY2VJZDogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBOZXR3b3JrQ29uZmlnOiBUaGUgbmV0d29yayBjb25maWd1cmF0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ck5ldHdvcmtDb25maWc6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgT3V0cHV0czogVGhlIG91dHB1dHMgcmV0dXJuZWQgZnJvbSBjcmVhdGluZyB0aGUgc2VydmljZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ck91dHB1dHM6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgUGFyYW1ldGVyczogVGhlIHBhcmFtZXRlcnMgY29uZmlndXJlZCBmb3IgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJQYXJhbWV0ZXJzOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIFByZWRlZmluZWRQYXJhbWV0ZXJOYW1lOiBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZSAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJQcmVkZWZpbmVkUGFyYW1ldGVyTmFtZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBQcm9ncmVzczogVGhlIGRlcGxveW1lbnQgcHJvZ3Jlc3Mgb2YgdGhlIHNlcnZpY2UgaW5zdGFuY2UuIFVuaXQ6IHBlcmNlbnRhZ2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJQcm9ncmVzczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBSZXNvdXJjZUdyb3VwSWQ6IFRoZSByZXNvdXJjZSBncm91cCBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clJlc291cmNlR3JvdXBJZDogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBTZXJ2aWNlOiBUaGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlcnZpY2UgdG8gd2hpY2ggdGhlIHNlcnZpY2UgaW5zdGFuY2UgYmVsb25ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clNlcnZpY2U6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgU2VydmljZUluc3RhbmNlSWQ6IFRoZSBJRCBvZiB0aGUgc2VydmljZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clNlcnZpY2VJbnN0YW5jZUlkOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIFNlcnZpY2VJbnN0YW5jZU5hbWU6IFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clNlcnZpY2VJbnN0YW5jZU5hbWU6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgU2VydmljZVR5cGU6IFRoZSB0eXBlIG9mIHRoZSBzZXJ2aWNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU2VydmljZVR5cGU6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgU291cmNlOiBUaGUgc291cmNlIG9mIHRoZSBzZXJ2aWNlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU291cmNlOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIFN0YXR1c0RldGFpbDogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBkZXBsb3ltZW50IHN0YXRlIG9mIHRoZSBzZXJ2aWNlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU3RhdHVzRGV0YWlsOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIFN1cHBsaWVyVWlkOiBUaGUgQWxpYmFiYSBDbG91ZCBhY2NvdW50IElEIG9mIHRoZSBzZXJ2aWNlIHByb3ZpZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU3VwcGxpZXJVaWQ6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgVGFnczogVGhlIHRhZ3Mgb2YgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJUYWdzOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIFRlbXBsYXRlTmFtZTogVGhlIG5hbWUgb2YgdGhlIHRlbXBsYXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyVGVtcGxhdGVOYW1lOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIFVwZGF0ZVRpbWU6IFRoZSB0aW1lIHdoZW4gdGhlIHNlcnZpY2VJbnN0YW5jZSB3YXMgbGFzdCB1cGRhdGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyVXBkYXRlVGltZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBVc2VySWQ6IFRoZSBBbGlVaWQgb2YgdGhlIHVzZXIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJVc2VySWQ6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIHB1YmxpYyBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IHNlcnZpY2VJbnN0YW5jZUlkOiBUaGUgSUQgb2YgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHNlcnZpY2VJbnN0YW5jZUlkOiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgcmVmcmVzaE9wdGlvbnM6IFRoZSByZWZyZXNoIHN0cmF0ZWd5IGZvciB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLiBWYWxpZCB2YWx1ZXM6XG4gICAgICogLSBOZXZlcjogTmV2ZXIgcmVmcmVzaCB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLlxuICAgICAqIC0gQWx3YXlzOiBBbHdheXMgcmVmcmVzaCB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLlxuICAgICAqIERlZmF1bHQgaXMgTmV2ZXIuXG4gICAgICovXG4gICAgcHVibGljIHJlZnJlc2hPcHRpb25zOiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGUgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBAcGFyYW0gaWQgICAgLSBzY29wZWQgaWQgb2YgdGhlIHJlc291cmNlXG4gICAgICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiByb3MuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9zU2VydmljZUluc3RhbmNlUHJvcHMsIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OiBib29sZWFuKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCwgeyB0eXBlOiBSb3NTZXJ2aWNlSW5zdGFuY2UuUk9TX1JFU09VUkNFX1RZUEVfTkFNRSwgcHJvcGVydGllczogcHJvcHMgfSk7XG4gICAgICAgIHRoaXMuYXR0ckNvbXBvbmVudHMgPSB0aGlzLmdldEF0dCgnQ29tcG9uZW50cycpO1xuICAgICAgICB0aGlzLmF0dHJDcmVhdGVUaW1lID0gdGhpcy5nZXRBdHQoJ0NyZWF0ZVRpbWUnKTtcbiAgICAgICAgdGhpcy5hdHRyRW5hYmxlSW5zdGFuY2VPcHMgPSB0aGlzLmdldEF0dCgnRW5hYmxlSW5zdGFuY2VPcHMnKTtcbiAgICAgICAgdGhpcy5hdHRyRW5hYmxlVXNlclByb21ldGhldXMgPSB0aGlzLmdldEF0dCgnRW5hYmxlVXNlclByb21ldGhldXMnKTtcbiAgICAgICAgdGhpcy5hdHRySXNPcGVyYXRlZCA9IHRoaXMuZ2V0QXR0KCdJc09wZXJhdGVkJyk7XG4gICAgICAgIHRoaXMuYXR0ckxpY2Vuc2VFbmRUaW1lID0gdGhpcy5nZXRBdHQoJ0xpY2Vuc2VFbmRUaW1lJyk7XG4gICAgICAgIHRoaXMuYXR0ck1hcmtldEluc3RhbmNlSWQgPSB0aGlzLmdldEF0dCgnTWFya2V0SW5zdGFuY2VJZCcpO1xuICAgICAgICB0aGlzLmF0dHJOZXR3b3JrQ29uZmlnID0gdGhpcy5nZXRBdHQoJ05ldHdvcmtDb25maWcnKTtcbiAgICAgICAgdGhpcy5hdHRyT3V0cHV0cyA9IHRoaXMuZ2V0QXR0KCdPdXRwdXRzJyk7XG4gICAgICAgIHRoaXMuYXR0clBhcmFtZXRlcnMgPSB0aGlzLmdldEF0dCgnUGFyYW1ldGVycycpO1xuICAgICAgICB0aGlzLmF0dHJQcmVkZWZpbmVkUGFyYW1ldGVyTmFtZSA9IHRoaXMuZ2V0QXR0KCdQcmVkZWZpbmVkUGFyYW1ldGVyTmFtZScpO1xuICAgICAgICB0aGlzLmF0dHJQcm9ncmVzcyA9IHRoaXMuZ2V0QXR0KCdQcm9ncmVzcycpO1xuICAgICAgICB0aGlzLmF0dHJSZXNvdXJjZUdyb3VwSWQgPSB0aGlzLmdldEF0dCgnUmVzb3VyY2VHcm91cElkJyk7XG4gICAgICAgIHRoaXMuYXR0clNlcnZpY2UgPSB0aGlzLmdldEF0dCgnU2VydmljZScpO1xuICAgICAgICB0aGlzLmF0dHJTZXJ2aWNlSW5zdGFuY2VJZCA9IHRoaXMuZ2V0QXR0KCdTZXJ2aWNlSW5zdGFuY2VJZCcpO1xuICAgICAgICB0aGlzLmF0dHJTZXJ2aWNlSW5zdGFuY2VOYW1lID0gdGhpcy5nZXRBdHQoJ1NlcnZpY2VJbnN0YW5jZU5hbWUnKTtcbiAgICAgICAgdGhpcy5hdHRyU2VydmljZVR5cGUgPSB0aGlzLmdldEF0dCgnU2VydmljZVR5cGUnKTtcbiAgICAgICAgdGhpcy5hdHRyU291cmNlID0gdGhpcy5nZXRBdHQoJ1NvdXJjZScpO1xuICAgICAgICB0aGlzLmF0dHJTdGF0dXNEZXRhaWwgPSB0aGlzLmdldEF0dCgnU3RhdHVzRGV0YWlsJyk7XG4gICAgICAgIHRoaXMuYXR0clN1cHBsaWVyVWlkID0gdGhpcy5nZXRBdHQoJ1N1cHBsaWVyVWlkJyk7XG4gICAgICAgIHRoaXMuYXR0clRhZ3MgPSB0aGlzLmdldEF0dCgnVGFncycpO1xuICAgICAgICB0aGlzLmF0dHJUZW1wbGF0ZU5hbWUgPSB0aGlzLmdldEF0dCgnVGVtcGxhdGVOYW1lJyk7XG4gICAgICAgIHRoaXMuYXR0clVwZGF0ZVRpbWUgPSB0aGlzLmdldEF0dCgnVXBkYXRlVGltZScpO1xuICAgICAgICB0aGlzLmF0dHJVc2VySWQgPSB0aGlzLmdldEF0dCgnVXNlcklkJyk7XG5cbiAgICAgICAgdGhpcy5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCA9IGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50O1xuICAgICAgICB0aGlzLnNlcnZpY2VJbnN0YW5jZUlkID0gcHJvcHMuc2VydmljZUluc3RhbmNlSWQ7XG4gICAgICAgIHRoaXMucmVmcmVzaE9wdGlvbnMgPSBwcm9wcy5yZWZyZXNoT3B0aW9ucztcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBnZXQgcm9zUHJvcGVydGllcygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ICB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZXJ2aWNlSW5zdGFuY2VJZDogdGhpcy5zZXJ2aWNlSW5zdGFuY2VJZCxcbiAgICAgICAgICAgIHJlZnJlc2hPcHRpb25zOiB0aGlzLnJlZnJlc2hPcHRpb25zLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgcmVuZGVyUHJvcGVydGllcyhwcm9wczoge1trZXk6IHN0cmluZ106IGFueX0pOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ICB7XG4gICAgICAgIHJldHVybiByb3NTZXJ2aWNlSW5zdGFuY2VQcm9wc1RvUm9zVGVtcGxhdGUocHJvcHMsIHRoaXMuZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIGBSb3NTZXJ2aWNlSW5zdGFuY2VzYC5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvZGF0YXNvdXJjZS1jb21wdXRlbmVzdC1zZXJ2aWNlaW5zdGFuY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm9zU2VydmljZUluc3RhbmNlc1Byb3BzIHtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSByZWZyZXNoT3B0aW9uczogVGhlIHJlZnJlc2ggc3RyYXRlZ3kgZm9yIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuIFZhbGlkIHZhbHVlczpcbiAgICAgKiAtIE5ldmVyOiBOZXZlciByZWZyZXNoIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuXG4gICAgICogLSBBbHdheXM6IEFsd2F5cyByZWZyZXNoIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuXG4gICAgICogRGVmYXVsdCBpcyBOZXZlci5cbiAgICAgKi9cbiAgICByZWFkb25seSByZWZyZXNoT3B0aW9ucz86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSByZXNvdXJjZUdyb3VwSWQ6IFRoZSBJRCBvZiB0aGUgcmVzb3VyY2UgZ3JvdXAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVzb3VyY2VHcm91cElkPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xufVxuXG4vKipcbiAqIERldGVybWluZSB3aGV0aGVyIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIG1hdGNoIHRob3NlIG9mIGEgYFJvc1NlcnZpY2VJbnN0YW5jZXNQcm9wc2BcbiAqXG4gKiBAcGFyYW0gcHJvcGVydGllcyAtIHRoZSBUeXBlU2NyaXB0IHByb3BlcnRpZXMgb2YgYSBgUm9zU2VydmljZUluc3RhbmNlc1Byb3BzYFxuICpcbiAqIEByZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIHZhbGlkYXRpb24uXG4gKi9cbmZ1bmN0aW9uIFJvc1NlcnZpY2VJbnN0YW5jZXNQcm9wc1ZhbGlkYXRvcihwcm9wZXJ0aWVzOiBhbnkpOiByb3MuVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgaWYgKCFyb3MuY2FuSW5zcGVjdChwcm9wZXJ0aWVzKSkgeyByZXR1cm4gcm9zLlZBTElEQVRJT05fU1VDQ0VTUzsgfVxuICAgIGNvbnN0IGVycm9ycyA9IG5ldyByb3MuVmFsaWRhdGlvblJlc3VsdHMoKTtcbiAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ3Jlc291cmNlR3JvdXBJZCcsIHJvcy52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy5yZXNvdXJjZUdyb3VwSWQpKTtcbiAgICBpZihwcm9wZXJ0aWVzLnJlZnJlc2hPcHRpb25zICYmICh0eXBlb2YgcHJvcGVydGllcy5yZWZyZXNoT3B0aW9ucykgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcigncmVmcmVzaE9wdGlvbnMnLCByb3MudmFsaWRhdGVBbGxvd2VkVmFsdWVzKSh7XG4gICAgICAgICAgZGF0YTogcHJvcGVydGllcy5yZWZyZXNoT3B0aW9ucyxcbiAgICAgICAgICBhbGxvd2VkVmFsdWVzOiBbXCJBbHdheXNcIixcIk5ldmVyXCJdLFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcigncmVmcmVzaE9wdGlvbnMnLCByb3MudmFsaWRhdGVTdHJpbmcpKHByb3BlcnRpZXMucmVmcmVzaE9wdGlvbnMpKTtcbiAgICByZXR1cm4gZXJyb3JzLndyYXAoJ3N1cHBsaWVkIHByb3BlcnRpZXMgbm90IGNvcnJlY3QgZm9yIFwiUm9zU2VydmljZUluc3RhbmNlc1Byb3BzXCInKTtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIHRoZSBBbGlDbG91ZCBST1MgUmVzb3VyY2UgcHJvcGVydGllcyBvZiBhbiBgREFUQVNPVVJDRTo6Q29tcHV0ZU5lc3Q6OlNlcnZpY2VJbnN0YW5jZXNgIHJlc291cmNlXG4gKlxuICogQHBhcmFtIHByb3BlcnRpZXMgLSB0aGUgVHlwZVNjcmlwdCBwcm9wZXJ0aWVzIG9mIGEgYFJvc1NlcnZpY2VJbnN0YW5jZXNQcm9wc2BcbiAqXG4gKiBAcmV0dXJucyB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIHByb3BlcnRpZXMgb2YgYW4gYERBVEFTT1VSQ0U6OkNvbXB1dGVOZXN0OjpTZXJ2aWNlSW5zdGFuY2VzYCByZXNvdXJjZS5cbiAqL1xuLy8gQHRzLWlnbm9yZSBUUzYxMzNcbmZ1bmN0aW9uIHJvc1NlcnZpY2VJbnN0YW5jZXNQcm9wc1RvUm9zVGVtcGxhdGUocHJvcGVydGllczogYW55LCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbik6IGFueSB7XG4gICAgaWYgKCFyb3MuY2FuSW5zcGVjdChwcm9wZXJ0aWVzKSkgeyByZXR1cm4gcHJvcGVydGllczsgfVxuICAgIGlmKGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50KSB7XG4gICAgICAgIFJvc1NlcnZpY2VJbnN0YW5jZXNQcm9wc1ZhbGlkYXRvcihwcm9wZXJ0aWVzKS5hc3NlcnRTdWNjZXNzKCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAnUmVmcmVzaE9wdGlvbnMnOiByb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzLnJlZnJlc2hPcHRpb25zKSxcbiAgICAgICdSZXNvdXJjZUdyb3VwSWQnOiByb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzLnJlc291cmNlR3JvdXBJZCksXG4gICAgfTtcbn1cblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIGEgYmFzZSBlbmNhcHN1bGF0aW9uIGFyb3VuZCB0aGUgUk9TIHJlc291cmNlIHR5cGUgYERBVEFTT1VSQ0U6OkNvbXB1dGVOZXN0OjpTZXJ2aWNlSW5zdGFuY2VzYCwgd2hpY2ggaXMgdXNlZCB0byBxdWVyeSB0aGUgaW5mb3JtYXRpb24gYWJvdXQgc2VydmljZSBpbnN0YW5jZXMuXG4gKiBATm90ZSBUaGlzIGNsYXNzIGRvZXMgbm90IGNvbnRhaW4gYWRkaXRpb25hbCBmdW5jdGlvbnMsIHNvIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgYFNlcnZpY2VJbnN0YW5jZXNgIGNsYXNzIGluc3RlYWQgb2YgdGhpcyBjbGFzcyBmb3IgYSBtb3JlIGNvbnZlbmllbnQgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZS5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvZGF0YXNvdXJjZS1jb21wdXRlbmVzdC1zZXJ2aWNlaW5zdGFuY2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3NTZXJ2aWNlSW5zdGFuY2VzIGV4dGVuZHMgcm9zLlJvc1Jlc291cmNlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgcmVzb3VyY2UgdHlwZSBuYW1lIGZvciB0aGlzIHJlc291cmNlIGNsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUk9TX1JFU09VUkNFX1RZUEVfTkFNRSA9IFwiREFUQVNPVVJDRTo6Q29tcHV0ZU5lc3Q6OlNlcnZpY2VJbnN0YW5jZXNcIjtcblxuICAgIC8qKlxuICAgICAqIEBBdHRyaWJ1dGUgU2VydmljZUluc3RhbmNlSWRzOiBUaGUgbGlzdCBvZiBzZXJ2aWNlIGluc3RhbmNlIElEcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clNlcnZpY2VJbnN0YW5jZUlkczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBTZXJ2aWNlSW5zdGFuY2VzOiBUaGUgbGlzdCBvZiBzZXJ2aWNlIGluc3RhbmNlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clNlcnZpY2VJbnN0YW5jZXM6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIHB1YmxpYyBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IHJlZnJlc2hPcHRpb25zOiBUaGUgcmVmcmVzaCBzdHJhdGVneSBmb3IgdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC4gVmFsaWQgdmFsdWVzOlxuICAgICAqIC0gTmV2ZXI6IE5ldmVyIHJlZnJlc2ggdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC5cbiAgICAgKiAtIEFsd2F5czogQWx3YXlzIHJlZnJlc2ggdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC5cbiAgICAgKiBEZWZhdWx0IGlzIE5ldmVyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWZyZXNoT3B0aW9uczogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IHJlc291cmNlR3JvdXBJZDogVGhlIElEIG9mIHRoZSByZXNvdXJjZSBncm91cC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzb3VyY2VHcm91cElkOiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGUgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBAcGFyYW0gaWQgICAgLSBzY29wZWQgaWQgb2YgdGhlIHJlc291cmNlXG4gICAgICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiByb3MuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9zU2VydmljZUluc3RhbmNlc1Byb3BzLCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbikge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQsIHsgdHlwZTogUm9zU2VydmljZUluc3RhbmNlcy5ST1NfUkVTT1VSQ0VfVFlQRV9OQU1FLCBwcm9wZXJ0aWVzOiBwcm9wcyB9KTtcbiAgICAgICAgdGhpcy5hdHRyU2VydmljZUluc3RhbmNlSWRzID0gdGhpcy5nZXRBdHQoJ1NlcnZpY2VJbnN0YW5jZUlkcycpO1xuICAgICAgICB0aGlzLmF0dHJTZXJ2aWNlSW5zdGFuY2VzID0gdGhpcy5nZXRBdHQoJ1NlcnZpY2VJbnN0YW5jZXMnKTtcblxuICAgICAgICB0aGlzLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ID0gZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ7XG4gICAgICAgIHRoaXMucmVmcmVzaE9wdGlvbnMgPSBwcm9wcy5yZWZyZXNoT3B0aW9ucztcbiAgICAgICAgdGhpcy5yZXNvdXJjZUdyb3VwSWQgPSBwcm9wcy5yZXNvdXJjZUdyb3VwSWQ7XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHJvc1Byb3BlcnRpZXMoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSAge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVmcmVzaE9wdGlvbnM6IHRoaXMucmVmcmVzaE9wdGlvbnMsXG4gICAgICAgICAgICByZXNvdXJjZUdyb3VwSWQ6IHRoaXMucmVzb3VyY2VHcm91cElkLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgcmVuZGVyUHJvcGVydGllcyhwcm9wczoge1trZXk6IHN0cmluZ106IGFueX0pOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ICB7XG4gICAgICAgIHJldHVybiByb3NTZXJ2aWNlSW5zdGFuY2VzUHJvcHNUb1Jvc1RlbXBsYXRlKHByb3BzLCB0aGlzLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50KTtcbiAgICB9XG59XG4iXX0=
|
package/lib/datasource/index.js
CHANGED
|
@@ -10,7 +10,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./serviceinstance"), exports);
|
|
13
14
|
__exportStar(require("./serviceinstances"), exports);
|
|
14
15
|
// DATASOURCE::ComputeNest Resources:
|
|
15
16
|
__exportStar(require("./computenest.generated"), exports);
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0M7QUFDbEMscURBQW1DO0FBRW5DLHFDQUFxQztBQUNyQywwREFBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlcnZpY2VpbnN0YW5jZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VpbnN0YW5jZXMnO1xuXG4vLyBEQVRBU09VUkNFOjpDb21wdXRlTmVzdCBSZXNvdXJjZXM6XG5leHBvcnQgKiBmcm9tICcuL2NvbXB1dGVuZXN0LmdlbmVyYXRlZCc7XG4iXX0=
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import * as ros from '@alicloud/ros-cdk-core';
|
|
2
|
+
import { RosServiceInstance } from './computenest.generated';
|
|
3
|
+
export { RosServiceInstance as ServiceInstanceProperty };
|
|
4
|
+
/**
|
|
5
|
+
* Properties for defining a `ServiceInstance`.
|
|
6
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-computenest-serviceinstance
|
|
7
|
+
*/
|
|
8
|
+
export interface ServiceInstanceProps {
|
|
9
|
+
/**
|
|
10
|
+
* Property serviceInstanceId: The ID of the service instance.
|
|
11
|
+
*/
|
|
12
|
+
readonly serviceInstanceId: string | ros.IResolvable;
|
|
13
|
+
/**
|
|
14
|
+
* Property refreshOptions: The refresh strategy for the datasource resource when the stack is updated. Valid values:
|
|
15
|
+
* - Never: Never refresh the datasource resource when the stack is updated.
|
|
16
|
+
* - Always: Always refresh the datasource resource when the stack is updated.
|
|
17
|
+
* Default is Never.
|
|
18
|
+
*/
|
|
19
|
+
readonly refreshOptions?: string | ros.IResolvable;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* This class encapsulates and extends the ROS resource type `DATASOURCE::ComputeNest::ServiceInstance`.
|
|
23
|
+
* @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosServiceInstance`for a more convenient development experience.
|
|
24
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-computenest-serviceinstance
|
|
25
|
+
*/
|
|
26
|
+
export declare class ServiceInstance extends ros.Resource {
|
|
27
|
+
protected scope: ros.Construct;
|
|
28
|
+
protected id: string;
|
|
29
|
+
protected props: ServiceInstanceProps;
|
|
30
|
+
protected enableResourcePropertyConstraint: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Attribute Components: Cloud Marketplace additional billing items.
|
|
33
|
+
*/
|
|
34
|
+
readonly attrComponents: ros.IResolvable;
|
|
35
|
+
/**
|
|
36
|
+
* Attribute CreateTime: The time when the serviceInstance was created.
|
|
37
|
+
*/
|
|
38
|
+
readonly attrCreateTime: ros.IResolvable;
|
|
39
|
+
/**
|
|
40
|
+
* Attribute EnableInstanceOps: Indicates whether the service instance supports the operation feature.
|
|
41
|
+
*/
|
|
42
|
+
readonly attrEnableInstanceOps: ros.IResolvable;
|
|
43
|
+
/**
|
|
44
|
+
* Attribute EnableUserPrometheus: Whether to enable Prometheus monitoring.
|
|
45
|
+
*/
|
|
46
|
+
readonly attrEnableUserPrometheus: ros.IResolvable;
|
|
47
|
+
/**
|
|
48
|
+
* Attribute IsOperated: Indicates whether the hosted O&M feature is enabled for the service instance.
|
|
49
|
+
*/
|
|
50
|
+
readonly attrIsOperated: ros.IResolvable;
|
|
51
|
+
/**
|
|
52
|
+
* Attribute LicenseEndTime: The expiration time of licence.
|
|
53
|
+
*/
|
|
54
|
+
readonly attrLicenseEndTime: ros.IResolvable;
|
|
55
|
+
/**
|
|
56
|
+
* Attribute MarketInstanceId: The ID of the cloud marketplace instance.
|
|
57
|
+
*/
|
|
58
|
+
readonly attrMarketInstanceId: ros.IResolvable;
|
|
59
|
+
/**
|
|
60
|
+
* Attribute NetworkConfig: The network configurations.
|
|
61
|
+
*/
|
|
62
|
+
readonly attrNetworkConfig: ros.IResolvable;
|
|
63
|
+
/**
|
|
64
|
+
* Attribute Outputs: The outputs returned from creating the service instance.
|
|
65
|
+
*/
|
|
66
|
+
readonly attrOutputs: ros.IResolvable;
|
|
67
|
+
/**
|
|
68
|
+
* Attribute Parameters: The parameters configured for the service instance.
|
|
69
|
+
*/
|
|
70
|
+
readonly attrParameters: ros.IResolvable;
|
|
71
|
+
/**
|
|
72
|
+
* Attribute PredefinedParameterName: The name of the package .
|
|
73
|
+
*/
|
|
74
|
+
readonly attrPredefinedParameterName: ros.IResolvable;
|
|
75
|
+
/**
|
|
76
|
+
* Attribute Progress: The deployment progress of the service instance. Unit: percentage.
|
|
77
|
+
*/
|
|
78
|
+
readonly attrProgress: ros.IResolvable;
|
|
79
|
+
/**
|
|
80
|
+
* Attribute ResourceGroupId: The resource group ID.
|
|
81
|
+
*/
|
|
82
|
+
readonly attrResourceGroupId: ros.IResolvable;
|
|
83
|
+
/**
|
|
84
|
+
* Attribute Service: The information about the service to which the service instance belongs.
|
|
85
|
+
*/
|
|
86
|
+
readonly attrService: ros.IResolvable;
|
|
87
|
+
/**
|
|
88
|
+
* Attribute ServiceInstanceId: The ID of the service instance.
|
|
89
|
+
*/
|
|
90
|
+
readonly attrServiceInstanceId: ros.IResolvable;
|
|
91
|
+
/**
|
|
92
|
+
* Attribute ServiceInstanceName: The name of the resource.
|
|
93
|
+
*/
|
|
94
|
+
readonly attrServiceInstanceName: ros.IResolvable;
|
|
95
|
+
/**
|
|
96
|
+
* Attribute ServiceType: The type of the service.
|
|
97
|
+
*/
|
|
98
|
+
readonly attrServiceType: ros.IResolvable;
|
|
99
|
+
/**
|
|
100
|
+
* Attribute Source: The source of the service instance.
|
|
101
|
+
*/
|
|
102
|
+
readonly attrSource: ros.IResolvable;
|
|
103
|
+
/**
|
|
104
|
+
* Attribute StatusDetail: The description of the deployment state of the service instance.
|
|
105
|
+
*/
|
|
106
|
+
readonly attrStatusDetail: ros.IResolvable;
|
|
107
|
+
/**
|
|
108
|
+
* Attribute SupplierUid: The Alibaba Cloud account ID of the service provider.
|
|
109
|
+
*/
|
|
110
|
+
readonly attrSupplierUid: ros.IResolvable;
|
|
111
|
+
/**
|
|
112
|
+
* Attribute Tags: The tags of the service instance.
|
|
113
|
+
*/
|
|
114
|
+
readonly attrTags: ros.IResolvable;
|
|
115
|
+
/**
|
|
116
|
+
* Attribute TemplateName: The name of the template.
|
|
117
|
+
*/
|
|
118
|
+
readonly attrTemplateName: ros.IResolvable;
|
|
119
|
+
/**
|
|
120
|
+
* Attribute UpdateTime: The time when the serviceInstance was last updated.
|
|
121
|
+
*/
|
|
122
|
+
readonly attrUpdateTime: ros.IResolvable;
|
|
123
|
+
/**
|
|
124
|
+
* Attribute UserId: The AliUid of the user.
|
|
125
|
+
*/
|
|
126
|
+
readonly attrUserId: ros.IResolvable;
|
|
127
|
+
/**
|
|
128
|
+
* Param scope - scope in which this resource is defined
|
|
129
|
+
* Param id - scoped id of the resource
|
|
130
|
+
* Param props - resource properties
|
|
131
|
+
*/
|
|
132
|
+
constructor(scope: ros.Construct, id: string, props: ServiceInstanceProps, enableResourcePropertyConstraint?: boolean);
|
|
133
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServiceInstance = exports.ServiceInstanceProperty = void 0;
|
|
4
|
+
const ros = require("@alicloud/ros-cdk-core");
|
|
5
|
+
const computenest_generated_1 = require("./computenest.generated");
|
|
6
|
+
Object.defineProperty(exports, "ServiceInstanceProperty", { enumerable: true, get: function () { return computenest_generated_1.RosServiceInstance; } });
|
|
7
|
+
/**
|
|
8
|
+
* This class encapsulates and extends the ROS resource type `DATASOURCE::ComputeNest::ServiceInstance`.
|
|
9
|
+
* @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosServiceInstance`for a more convenient development experience.
|
|
10
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-computenest-serviceinstance
|
|
11
|
+
*/
|
|
12
|
+
class ServiceInstance extends ros.Resource {
|
|
13
|
+
/**
|
|
14
|
+
* Param scope - scope in which this resource is defined
|
|
15
|
+
* Param id - scoped id of the resource
|
|
16
|
+
* Param props - resource properties
|
|
17
|
+
*/
|
|
18
|
+
constructor(scope, id, props, enableResourcePropertyConstraint = true) {
|
|
19
|
+
super(scope, id);
|
|
20
|
+
this.scope = scope;
|
|
21
|
+
this.id = id;
|
|
22
|
+
this.props = props;
|
|
23
|
+
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
|
|
24
|
+
const rosServiceInstance = new computenest_generated_1.RosServiceInstance(this, id, {
|
|
25
|
+
serviceInstanceId: props.serviceInstanceId,
|
|
26
|
+
refreshOptions: props.refreshOptions === undefined || props.refreshOptions === null ? 'Never' : props.refreshOptions,
|
|
27
|
+
}, enableResourcePropertyConstraint && this.stack.enableResourcePropertyConstraint);
|
|
28
|
+
this.resource = rosServiceInstance;
|
|
29
|
+
this.attrComponents = rosServiceInstance.attrComponents;
|
|
30
|
+
this.attrCreateTime = rosServiceInstance.attrCreateTime;
|
|
31
|
+
this.attrEnableInstanceOps = rosServiceInstance.attrEnableInstanceOps;
|
|
32
|
+
this.attrEnableUserPrometheus = rosServiceInstance.attrEnableUserPrometheus;
|
|
33
|
+
this.attrIsOperated = rosServiceInstance.attrIsOperated;
|
|
34
|
+
this.attrLicenseEndTime = rosServiceInstance.attrLicenseEndTime;
|
|
35
|
+
this.attrMarketInstanceId = rosServiceInstance.attrMarketInstanceId;
|
|
36
|
+
this.attrNetworkConfig = rosServiceInstance.attrNetworkConfig;
|
|
37
|
+
this.attrOutputs = rosServiceInstance.attrOutputs;
|
|
38
|
+
this.attrParameters = rosServiceInstance.attrParameters;
|
|
39
|
+
this.attrPredefinedParameterName = rosServiceInstance.attrPredefinedParameterName;
|
|
40
|
+
this.attrProgress = rosServiceInstance.attrProgress;
|
|
41
|
+
this.attrResourceGroupId = rosServiceInstance.attrResourceGroupId;
|
|
42
|
+
this.attrService = rosServiceInstance.attrService;
|
|
43
|
+
this.attrServiceInstanceId = rosServiceInstance.attrServiceInstanceId;
|
|
44
|
+
this.attrServiceInstanceName = rosServiceInstance.attrServiceInstanceName;
|
|
45
|
+
this.attrServiceType = rosServiceInstance.attrServiceType;
|
|
46
|
+
this.attrSource = rosServiceInstance.attrSource;
|
|
47
|
+
this.attrStatusDetail = rosServiceInstance.attrStatusDetail;
|
|
48
|
+
this.attrSupplierUid = rosServiceInstance.attrSupplierUid;
|
|
49
|
+
this.attrTags = rosServiceInstance.attrTags;
|
|
50
|
+
this.attrTemplateName = rosServiceInstance.attrTemplateName;
|
|
51
|
+
this.attrUpdateTime = rosServiceInstance.attrUpdateTime;
|
|
52
|
+
this.attrUserId = rosServiceInstance.attrUserId;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.ServiceInstance = ServiceInstance;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZWluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VydmljZWluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUE4QztBQUM5QyxtRUFBNkQ7QUFFOUIsd0dBRnRCLDBDQUFrQixPQUUyQjtBQXNCdEQ7Ozs7R0FJRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxHQUFHLENBQUMsUUFBUTtJQThIN0M7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBMkIsRUFBRSxtQ0FBMkMsSUFBSTtRQUN0SCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLGdDQUFnQyxDQUFDO1FBRXpFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSwwQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFHO1lBQ3pELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjO1NBQ3ZILEVBQUUsZ0NBQWdDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFDeEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDO1FBQ3RFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQztRQUM1RSxJQUFJLENBQUMsY0FBYyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztRQUN4RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7UUFDaEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1FBQ3BFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQztRQUM5RCxJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztRQUN4RCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsa0JBQWtCLENBQUMsMkJBQTJCLENBQUM7UUFDbEYsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFDcEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDO1FBQ2xFLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDO1FBQ2xELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztRQUN0RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7UUFDMUUsSUFBSSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1FBQzVELElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsZUFBZSxDQUFDO1FBQzFELElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM1RCxJQUFJLENBQUMsY0FBYyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztJQUNwRCxDQUFDO0NBQ0o7QUF4S0QsMENBd0tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcm9zIGZyb20gJ0BhbGljbG91ZC9yb3MtY2RrLWNvcmUnO1xuaW1wb3J0IHsgUm9zU2VydmljZUluc3RhbmNlIH0gZnJvbSAnLi9jb21wdXRlbmVzdC5nZW5lcmF0ZWQnO1xuLy8gR2VuZXJhdGVkIGZyb20gdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uXG5leHBvcnQgeyBSb3NTZXJ2aWNlSW5zdGFuY2UgYXMgU2VydmljZUluc3RhbmNlUHJvcGVydHkgfTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIGBTZXJ2aWNlSW5zdGFuY2VgLlxuICogU2VlIGh0dHBzOi8vd3d3LmFsaWJhYmFjbG91ZC5jb20vaGVscC9yb3MvZGV2ZWxvcGVyLXJlZmVyZW5jZS9kYXRhc291cmNlLWNvbXB1dGVuZXN0LXNlcnZpY2VpbnN0YW5jZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VJbnN0YW5jZVByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHNlcnZpY2VJbnN0YW5jZUlkOiBUaGUgSUQgb2YgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2VydmljZUluc3RhbmNlSWQ6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHJlZnJlc2hPcHRpb25zOiBUaGUgcmVmcmVzaCBzdHJhdGVneSBmb3IgdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC4gVmFsaWQgdmFsdWVzOlxuICAgICAqIC0gTmV2ZXI6IE5ldmVyIHJlZnJlc2ggdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC5cbiAgICAgKiAtIEFsd2F5czogQWx3YXlzIHJlZnJlc2ggdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC5cbiAgICAgKiBEZWZhdWx0IGlzIE5ldmVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlZnJlc2hPcHRpb25zPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xufVxuXG4vKipcbiAqIFRoaXMgY2xhc3MgZW5jYXBzdWxhdGVzIGFuZCBleHRlbmRzIHRoZSBST1MgcmVzb3VyY2UgdHlwZSBgREFUQVNPVVJDRTo6Q29tcHV0ZU5lc3Q6OlNlcnZpY2VJbnN0YW5jZWAuXG4gKiBATm90ZSBUaGlzIGNsYXNzIG1heSBoYXZlIHNvbWUgbmV3IGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGRldmVsb3BtZW50LCBzbyBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBjbGFzcyBpbnN0ZWFkIG9mIGBSb3NTZXJ2aWNlSW5zdGFuY2VgZm9yIGEgbW9yZSBjb252ZW5pZW50IGRldmVsb3BtZW50IGV4cGVyaWVuY2UuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2RhdGFzb3VyY2UtY29tcHV0ZW5lc3Qtc2VydmljZWluc3RhbmNlXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlSW5zdGFuY2UgZXh0ZW5kcyByb3MuUmVzb3VyY2Uge1xuICAgIHByb3RlY3RlZCBzY29wZTogcm9zLkNvbnN0cnVjdDtcbiAgICBwcm90ZWN0ZWQgaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgcHJvcHM6IFNlcnZpY2VJbnN0YW5jZVByb3BzO1xuICAgIHByb3RlY3RlZCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBDb21wb25lbnRzOiBDbG91ZCBNYXJrZXRwbGFjZSBhZGRpdGlvbmFsIGJpbGxpbmcgaXRlbXMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJDb21wb25lbnRzOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgQ3JlYXRlVGltZTogVGhlIHRpbWUgd2hlbiB0aGUgc2VydmljZUluc3RhbmNlIHdhcyBjcmVhdGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyQ3JlYXRlVGltZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIEVuYWJsZUluc3RhbmNlT3BzOiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgc2VydmljZSBpbnN0YW5jZSBzdXBwb3J0cyB0aGUgb3BlcmF0aW9uIGZlYXR1cmUuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJFbmFibGVJbnN0YW5jZU9wczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIEVuYWJsZVVzZXJQcm9tZXRoZXVzOiBXaGV0aGVyIHRvIGVuYWJsZSBQcm9tZXRoZXVzIG1vbml0b3JpbmcuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJFbmFibGVVc2VyUHJvbWV0aGV1czogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIElzT3BlcmF0ZWQ6IEluZGljYXRlcyB3aGV0aGVyIHRoZSBob3N0ZWQgTyZNIGZlYXR1cmUgaXMgZW5hYmxlZCBmb3IgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJJc09wZXJhdGVkOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgTGljZW5zZUVuZFRpbWU6IFRoZSBleHBpcmF0aW9uIHRpbWUgb2YgbGljZW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckxpY2Vuc2VFbmRUaW1lOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgTWFya2V0SW5zdGFuY2VJZDogVGhlIElEIG9mIHRoZSBjbG91ZCBtYXJrZXRwbGFjZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ck1hcmtldEluc3RhbmNlSWQ6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBOZXR3b3JrQ29uZmlnOiBUaGUgbmV0d29yayBjb25maWd1cmF0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ck5ldHdvcmtDb25maWc6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBPdXRwdXRzOiBUaGUgb3V0cHV0cyByZXR1cm5lZCBmcm9tIGNyZWF0aW5nIHRoZSBzZXJ2aWNlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyT3V0cHV0czogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFBhcmFtZXRlcnM6IFRoZSBwYXJhbWV0ZXJzIGNvbmZpZ3VyZWQgZm9yIHRoZSBzZXJ2aWNlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyUGFyYW1ldGVyczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFByZWRlZmluZWRQYXJhbWV0ZXJOYW1lOiBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZSAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJQcmVkZWZpbmVkUGFyYW1ldGVyTmFtZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFByb2dyZXNzOiBUaGUgZGVwbG95bWVudCBwcm9ncmVzcyBvZiB0aGUgc2VydmljZSBpbnN0YW5jZS4gVW5pdDogcGVyY2VudGFnZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clByb2dyZXNzOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUmVzb3VyY2VHcm91cElkOiBUaGUgcmVzb3VyY2UgZ3JvdXAgSUQuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJSZXNvdXJjZUdyb3VwSWQ6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBTZXJ2aWNlOiBUaGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlcnZpY2UgdG8gd2hpY2ggdGhlIHNlcnZpY2UgaW5zdGFuY2UgYmVsb25ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clNlcnZpY2U6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBTZXJ2aWNlSW5zdGFuY2VJZDogVGhlIElEIG9mIHRoZSBzZXJ2aWNlIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU2VydmljZUluc3RhbmNlSWQ6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBTZXJ2aWNlSW5zdGFuY2VOYW1lOiBUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJTZXJ2aWNlSW5zdGFuY2VOYW1lOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgU2VydmljZVR5cGU6IFRoZSB0eXBlIG9mIHRoZSBzZXJ2aWNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU2VydmljZVR5cGU6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBTb3VyY2U6IFRoZSBzb3VyY2Ugb2YgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJTb3VyY2U6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBTdGF0dXNEZXRhaWw6IFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZGVwbG95bWVudCBzdGF0ZSBvZiB0aGUgc2VydmljZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clN0YXR1c0RldGFpbDogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFN1cHBsaWVyVWlkOiBUaGUgQWxpYmFiYSBDbG91ZCBhY2NvdW50IElEIG9mIHRoZSBzZXJ2aWNlIHByb3ZpZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU3VwcGxpZXJVaWQ6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBUYWdzOiBUaGUgdGFncyBvZiB0aGUgc2VydmljZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clRhZ3M6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBUZW1wbGF0ZU5hbWU6IFRoZSBuYW1lIG9mIHRoZSB0ZW1wbGF0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clRlbXBsYXRlTmFtZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFVwZGF0ZVRpbWU6IFRoZSB0aW1lIHdoZW4gdGhlIHNlcnZpY2VJbnN0YW5jZSB3YXMgbGFzdCB1cGRhdGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyVXBkYXRlVGltZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFVzZXJJZDogVGhlIEFsaVVpZCBvZiB0aGUgdXNlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clVzZXJJZDogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBQYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBQYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNlcnZpY2VJbnN0YW5jZVByb3BzLCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDpib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgICAgICB0aGlzLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ID0gZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ7XG5cbiAgICAgICAgY29uc3Qgcm9zU2VydmljZUluc3RhbmNlID0gbmV3IFJvc1NlcnZpY2VJbnN0YW5jZSh0aGlzLCBpZCwgIHtcbiAgICAgICAgICAgIHNlcnZpY2VJbnN0YW5jZUlkOiBwcm9wcy5zZXJ2aWNlSW5zdGFuY2VJZCxcbiAgICAgICAgICAgIHJlZnJlc2hPcHRpb25zOiBwcm9wcy5yZWZyZXNoT3B0aW9ucyA9PT0gdW5kZWZpbmVkIHx8IHByb3BzLnJlZnJlc2hPcHRpb25zID09PSBudWxsID8gJ05ldmVyJyA6IHByb3BzLnJlZnJlc2hPcHRpb25zLFxuICAgICAgICB9LCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCAmJiB0aGlzLnN0YWNrLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50KTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHJvc1NlcnZpY2VJbnN0YW5jZTtcbiAgICAgICAgdGhpcy5hdHRyQ29tcG9uZW50cyA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyQ29tcG9uZW50cztcbiAgICAgICAgdGhpcy5hdHRyQ3JlYXRlVGltZSA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyQ3JlYXRlVGltZTtcbiAgICAgICAgdGhpcy5hdHRyRW5hYmxlSW5zdGFuY2VPcHMgPSByb3NTZXJ2aWNlSW5zdGFuY2UuYXR0ckVuYWJsZUluc3RhbmNlT3BzO1xuICAgICAgICB0aGlzLmF0dHJFbmFibGVVc2VyUHJvbWV0aGV1cyA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyRW5hYmxlVXNlclByb21ldGhldXM7XG4gICAgICAgIHRoaXMuYXR0cklzT3BlcmF0ZWQgPSByb3NTZXJ2aWNlSW5zdGFuY2UuYXR0cklzT3BlcmF0ZWQ7XG4gICAgICAgIHRoaXMuYXR0ckxpY2Vuc2VFbmRUaW1lID0gcm9zU2VydmljZUluc3RhbmNlLmF0dHJMaWNlbnNlRW5kVGltZTtcbiAgICAgICAgdGhpcy5hdHRyTWFya2V0SW5zdGFuY2VJZCA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyTWFya2V0SW5zdGFuY2VJZDtcbiAgICAgICAgdGhpcy5hdHRyTmV0d29ya0NvbmZpZyA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyTmV0d29ya0NvbmZpZztcbiAgICAgICAgdGhpcy5hdHRyT3V0cHV0cyA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyT3V0cHV0cztcbiAgICAgICAgdGhpcy5hdHRyUGFyYW1ldGVycyA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyUGFyYW1ldGVycztcbiAgICAgICAgdGhpcy5hdHRyUHJlZGVmaW5lZFBhcmFtZXRlck5hbWUgPSByb3NTZXJ2aWNlSW5zdGFuY2UuYXR0clByZWRlZmluZWRQYXJhbWV0ZXJOYW1lO1xuICAgICAgICB0aGlzLmF0dHJQcm9ncmVzcyA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyUHJvZ3Jlc3M7XG4gICAgICAgIHRoaXMuYXR0clJlc291cmNlR3JvdXBJZCA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyUmVzb3VyY2VHcm91cElkO1xuICAgICAgICB0aGlzLmF0dHJTZXJ2aWNlID0gcm9zU2VydmljZUluc3RhbmNlLmF0dHJTZXJ2aWNlO1xuICAgICAgICB0aGlzLmF0dHJTZXJ2aWNlSW5zdGFuY2VJZCA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyU2VydmljZUluc3RhbmNlSWQ7XG4gICAgICAgIHRoaXMuYXR0clNlcnZpY2VJbnN0YW5jZU5hbWUgPSByb3NTZXJ2aWNlSW5zdGFuY2UuYXR0clNlcnZpY2VJbnN0YW5jZU5hbWU7XG4gICAgICAgIHRoaXMuYXR0clNlcnZpY2VUeXBlID0gcm9zU2VydmljZUluc3RhbmNlLmF0dHJTZXJ2aWNlVHlwZTtcbiAgICAgICAgdGhpcy5hdHRyU291cmNlID0gcm9zU2VydmljZUluc3RhbmNlLmF0dHJTb3VyY2U7XG4gICAgICAgIHRoaXMuYXR0clN0YXR1c0RldGFpbCA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyU3RhdHVzRGV0YWlsO1xuICAgICAgICB0aGlzLmF0dHJTdXBwbGllclVpZCA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyU3VwcGxpZXJVaWQ7XG4gICAgICAgIHRoaXMuYXR0clRhZ3MgPSByb3NTZXJ2aWNlSW5zdGFuY2UuYXR0clRhZ3M7XG4gICAgICAgIHRoaXMuYXR0clRlbXBsYXRlTmFtZSA9IHJvc1NlcnZpY2VJbnN0YW5jZS5hdHRyVGVtcGxhdGVOYW1lO1xuICAgICAgICB0aGlzLmF0dHJVcGRhdGVUaW1lID0gcm9zU2VydmljZUluc3RhbmNlLmF0dHJVcGRhdGVUaW1lO1xuICAgICAgICB0aGlzLmF0dHJVc2VySWQgPSByb3NTZXJ2aWNlSW5zdGFuY2UuYXR0clVzZXJJZDtcbiAgICB9XG59XG4iXX0=
|
package/package.json
CHANGED