@effect-aws/client-elasticache 1.4.0 → 1.9.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/ElastiCacheClientInstance/package.json +6 -0
- package/ElastiCacheService/package.json +6 -0
- package/ElastiCacheServiceConfig/package.json +6 -0
- package/Errors/package.json +6 -0
- package/LICENSE +1 -1
- package/dist/cjs/ElastiCacheClientInstance.d.ts +24 -0
- package/dist/cjs/ElastiCacheClientInstance.d.ts.map +1 -0
- package/dist/cjs/ElastiCacheClientInstance.js +50 -0
- package/dist/cjs/ElastiCacheClientInstance.js.map +1 -0
- package/{lib → dist/cjs}/ElastiCacheService.d.ts +16 -38
- package/dist/cjs/ElastiCacheService.d.ts.map +1 -0
- package/dist/cjs/ElastiCacheService.js +131 -0
- package/dist/cjs/ElastiCacheService.js.map +1 -0
- package/dist/cjs/ElastiCacheServiceConfig.d.ts +25 -0
- package/dist/cjs/ElastiCacheServiceConfig.d.ts.map +1 -0
- package/dist/cjs/ElastiCacheServiceConfig.js +35 -0
- package/dist/cjs/ElastiCacheServiceConfig.js.map +1 -0
- package/{lib → dist/cjs}/Errors.d.ts +7 -12
- package/dist/cjs/Errors.d.ts.map +1 -0
- package/dist/cjs/Errors.js +84 -0
- package/dist/cjs/Errors.js.map +1 -0
- package/dist/cjs/index.d.ts +39 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/dts/ElastiCacheClientInstance.d.ts +24 -0
- package/dist/dts/ElastiCacheClientInstance.d.ts.map +1 -0
- package/dist/dts/ElastiCacheService.d.ts +418 -0
- package/dist/dts/ElastiCacheService.d.ts.map +1 -0
- package/dist/dts/ElastiCacheServiceConfig.d.ts +25 -0
- package/dist/dts/ElastiCacheServiceConfig.d.ts.map +1 -0
- package/dist/dts/Errors.d.ts +83 -0
- package/dist/dts/Errors.d.ts.map +1 -0
- package/dist/dts/index.d.ts +39 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/esm/ElastiCacheClientInstance.js +23 -0
- package/dist/esm/ElastiCacheClientInstance.js.map +1 -0
- package/dist/esm/ElastiCacheService.js +104 -0
- package/dist/esm/ElastiCacheService.js.map +1 -0
- package/dist/esm/ElastiCacheServiceConfig.js +31 -0
- package/dist/esm/ElastiCacheServiceConfig.js.map +1 -0
- package/dist/esm/Errors.js +81 -0
- package/dist/esm/Errors.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +60 -43
- package/src/ElastiCacheClientInstance.ts +33 -0
- package/src/ElastiCacheService.ts +1655 -0
- package/src/ElastiCacheServiceConfig.ts +52 -0
- package/src/Errors.ts +245 -0
- package/src/index.ts +44 -0
- package/CHANGELOG.md +0 -37
- package/docgen.json +0 -8
- package/lib/ElastiCacheClientInstance.d.ts +0 -31
- package/lib/ElastiCacheClientInstance.js +0 -57
- package/lib/ElastiCacheClientInstanceConfig.d.ts +0 -23
- package/lib/ElastiCacheClientInstanceConfig.js +0 -44
- package/lib/ElastiCacheService.js +0 -163
- package/lib/Errors.js +0 -84
- package/lib/esm/ElastiCacheClientInstance.js +0 -30
- package/lib/esm/ElastiCacheClientInstanceConfig.js +0 -40
- package/lib/esm/ElastiCacheService.js +0 -159
- package/lib/esm/Errors.js +0 -81
- package/lib/esm/index.js +0 -5
- package/lib/index.d.ts +0 -4
- package/lib/index.js +0 -21
- package/project.json +0 -77
- package/vitest.config.ts +0 -3
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
var _a;
|
|
2
|
-
/**
|
|
3
|
-
* @since 1.0.0
|
|
4
|
-
*/
|
|
5
|
-
import { ElastiCacheServiceException, AddTagsToResourceCommand, AuthorizeCacheSecurityGroupIngressCommand, BatchApplyUpdateActionCommand, BatchStopUpdateActionCommand, CompleteMigrationCommand, CopyServerlessCacheSnapshotCommand, CopySnapshotCommand, CreateCacheClusterCommand, CreateCacheParameterGroupCommand, CreateCacheSecurityGroupCommand, CreateCacheSubnetGroupCommand, CreateGlobalReplicationGroupCommand, CreateReplicationGroupCommand, CreateServerlessCacheCommand, CreateServerlessCacheSnapshotCommand, CreateSnapshotCommand, CreateUserCommand, CreateUserGroupCommand, DecreaseNodeGroupsInGlobalReplicationGroupCommand, DecreaseReplicaCountCommand, DeleteCacheClusterCommand, DeleteCacheParameterGroupCommand, DeleteCacheSecurityGroupCommand, DeleteCacheSubnetGroupCommand, DeleteGlobalReplicationGroupCommand, DeleteReplicationGroupCommand, DeleteServerlessCacheCommand, DeleteServerlessCacheSnapshotCommand, DeleteSnapshotCommand, DeleteUserCommand, DeleteUserGroupCommand, DescribeCacheClustersCommand, DescribeCacheEngineVersionsCommand, DescribeCacheParameterGroupsCommand, DescribeCacheParametersCommand, DescribeCacheSecurityGroupsCommand, DescribeCacheSubnetGroupsCommand, DescribeEngineDefaultParametersCommand, DescribeEventsCommand, DescribeGlobalReplicationGroupsCommand, DescribeReplicationGroupsCommand, DescribeReservedCacheNodesCommand, DescribeReservedCacheNodesOfferingsCommand, DescribeServerlessCacheSnapshotsCommand, DescribeServerlessCachesCommand, DescribeServiceUpdatesCommand, DescribeSnapshotsCommand, DescribeUpdateActionsCommand, DescribeUserGroupsCommand, DescribeUsersCommand, DisassociateGlobalReplicationGroupCommand, ExportServerlessCacheSnapshotCommand, FailoverGlobalReplicationGroupCommand, IncreaseNodeGroupsInGlobalReplicationGroupCommand, IncreaseReplicaCountCommand, ListAllowedNodeTypeModificationsCommand, ListTagsForResourceCommand, ModifyCacheClusterCommand, ModifyCacheParameterGroupCommand, ModifyCacheSubnetGroupCommand, ModifyGlobalReplicationGroupCommand, ModifyReplicationGroupCommand, ModifyReplicationGroupShardConfigurationCommand, ModifyServerlessCacheCommand, ModifyUserCommand, ModifyUserGroupCommand, PurchaseReservedCacheNodesOfferingCommand, RebalanceSlotsInGlobalReplicationGroupCommand, RebootCacheClusterCommand, RemoveTagsFromResourceCommand, ResetCacheParameterGroupCommand, RevokeCacheSecurityGroupIngressCommand, StartMigrationCommand, TestFailoverCommand, TestMigrationCommand, } from "@aws-sdk/client-elasticache";
|
|
6
|
-
import { Data, Effect, Layer, Record } from "effect";
|
|
7
|
-
import { ElastiCacheClientInstance, ElastiCacheClientInstanceLayer, } from "./ElastiCacheClientInstance";
|
|
8
|
-
import { DefaultElastiCacheClientConfigLayer, makeDefaultElastiCacheClientInstanceConfig, ElastiCacheClientInstanceConfig, } from "./ElastiCacheClientInstanceConfig";
|
|
9
|
-
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
10
|
-
const commands = {
|
|
11
|
-
AddTagsToResourceCommand,
|
|
12
|
-
AuthorizeCacheSecurityGroupIngressCommand,
|
|
13
|
-
BatchApplyUpdateActionCommand,
|
|
14
|
-
BatchStopUpdateActionCommand,
|
|
15
|
-
CompleteMigrationCommand,
|
|
16
|
-
CopyServerlessCacheSnapshotCommand,
|
|
17
|
-
CopySnapshotCommand,
|
|
18
|
-
CreateCacheClusterCommand,
|
|
19
|
-
CreateCacheParameterGroupCommand,
|
|
20
|
-
CreateCacheSecurityGroupCommand,
|
|
21
|
-
CreateCacheSubnetGroupCommand,
|
|
22
|
-
CreateGlobalReplicationGroupCommand,
|
|
23
|
-
CreateReplicationGroupCommand,
|
|
24
|
-
CreateServerlessCacheCommand,
|
|
25
|
-
CreateServerlessCacheSnapshotCommand,
|
|
26
|
-
CreateSnapshotCommand,
|
|
27
|
-
CreateUserCommand,
|
|
28
|
-
CreateUserGroupCommand,
|
|
29
|
-
DecreaseNodeGroupsInGlobalReplicationGroupCommand,
|
|
30
|
-
DecreaseReplicaCountCommand,
|
|
31
|
-
DeleteCacheClusterCommand,
|
|
32
|
-
DeleteCacheParameterGroupCommand,
|
|
33
|
-
DeleteCacheSecurityGroupCommand,
|
|
34
|
-
DeleteCacheSubnetGroupCommand,
|
|
35
|
-
DeleteGlobalReplicationGroupCommand,
|
|
36
|
-
DeleteReplicationGroupCommand,
|
|
37
|
-
DeleteServerlessCacheCommand,
|
|
38
|
-
DeleteServerlessCacheSnapshotCommand,
|
|
39
|
-
DeleteSnapshotCommand,
|
|
40
|
-
DeleteUserCommand,
|
|
41
|
-
DeleteUserGroupCommand,
|
|
42
|
-
DescribeCacheClustersCommand,
|
|
43
|
-
DescribeCacheEngineVersionsCommand,
|
|
44
|
-
DescribeCacheParameterGroupsCommand,
|
|
45
|
-
DescribeCacheParametersCommand,
|
|
46
|
-
DescribeCacheSecurityGroupsCommand,
|
|
47
|
-
DescribeCacheSubnetGroupsCommand,
|
|
48
|
-
DescribeEngineDefaultParametersCommand,
|
|
49
|
-
DescribeEventsCommand,
|
|
50
|
-
DescribeGlobalReplicationGroupsCommand,
|
|
51
|
-
DescribeReplicationGroupsCommand,
|
|
52
|
-
DescribeReservedCacheNodesCommand,
|
|
53
|
-
DescribeReservedCacheNodesOfferingsCommand,
|
|
54
|
-
DescribeServerlessCacheSnapshotsCommand,
|
|
55
|
-
DescribeServerlessCachesCommand,
|
|
56
|
-
DescribeServiceUpdatesCommand,
|
|
57
|
-
DescribeSnapshotsCommand,
|
|
58
|
-
DescribeUpdateActionsCommand,
|
|
59
|
-
DescribeUserGroupsCommand,
|
|
60
|
-
DescribeUsersCommand,
|
|
61
|
-
DisassociateGlobalReplicationGroupCommand,
|
|
62
|
-
ExportServerlessCacheSnapshotCommand,
|
|
63
|
-
FailoverGlobalReplicationGroupCommand,
|
|
64
|
-
IncreaseNodeGroupsInGlobalReplicationGroupCommand,
|
|
65
|
-
IncreaseReplicaCountCommand,
|
|
66
|
-
ListAllowedNodeTypeModificationsCommand,
|
|
67
|
-
ListTagsForResourceCommand,
|
|
68
|
-
ModifyCacheClusterCommand,
|
|
69
|
-
ModifyCacheParameterGroupCommand,
|
|
70
|
-
ModifyCacheSubnetGroupCommand,
|
|
71
|
-
ModifyGlobalReplicationGroupCommand,
|
|
72
|
-
ModifyReplicationGroupCommand,
|
|
73
|
-
ModifyReplicationGroupShardConfigurationCommand,
|
|
74
|
-
ModifyServerlessCacheCommand,
|
|
75
|
-
ModifyUserCommand,
|
|
76
|
-
ModifyUserGroupCommand,
|
|
77
|
-
PurchaseReservedCacheNodesOfferingCommand,
|
|
78
|
-
RebalanceSlotsInGlobalReplicationGroupCommand,
|
|
79
|
-
RebootCacheClusterCommand,
|
|
80
|
-
RemoveTagsFromResourceCommand,
|
|
81
|
-
ResetCacheParameterGroupCommand,
|
|
82
|
-
RevokeCacheSecurityGroupIngressCommand,
|
|
83
|
-
StartMigrationCommand,
|
|
84
|
-
TestFailoverCommand,
|
|
85
|
-
TestMigrationCommand,
|
|
86
|
-
};
|
|
87
|
-
/**
|
|
88
|
-
* @since 1.0.0
|
|
89
|
-
* @category constructors
|
|
90
|
-
*/
|
|
91
|
-
export const makeElastiCacheService = Effect.gen(function* (_) {
|
|
92
|
-
const client = yield* _(ElastiCacheClientInstance);
|
|
93
|
-
return Record.toEntries(commands).reduce((acc, [command]) => {
|
|
94
|
-
const CommandCtor = commands[command];
|
|
95
|
-
const methodImpl = (args, options) => Effect.tryPromise({
|
|
96
|
-
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
97
|
-
...(options !== null && options !== void 0 ? options : {}),
|
|
98
|
-
abortSignal,
|
|
99
|
-
}),
|
|
100
|
-
catch: (e) => {
|
|
101
|
-
if (e instanceof ElastiCacheServiceException &&
|
|
102
|
-
AllServiceErrors.includes(e.name)) {
|
|
103
|
-
const ServiceException = Data.tagged(e.name);
|
|
104
|
-
return ServiceException({
|
|
105
|
-
...e,
|
|
106
|
-
message: e.message,
|
|
107
|
-
stack: e.stack,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
if (e instanceof Error) {
|
|
111
|
-
return SdkError({
|
|
112
|
-
...e,
|
|
113
|
-
name: "SdkError",
|
|
114
|
-
message: e.message,
|
|
115
|
-
stack: e.stack,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
throw e;
|
|
119
|
-
},
|
|
120
|
-
});
|
|
121
|
-
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
|
|
122
|
-
return { ...acc, [methodName]: methodImpl };
|
|
123
|
-
}, {});
|
|
124
|
-
});
|
|
125
|
-
/**
|
|
126
|
-
* @since 1.0.0
|
|
127
|
-
* @category models
|
|
128
|
-
*/
|
|
129
|
-
export class ElastiCacheService extends Effect.Tag("@effect-aws/client-elasticache/ElastiCacheService")() {
|
|
130
|
-
}
|
|
131
|
-
_a = ElastiCacheService;
|
|
132
|
-
ElastiCacheService.defaultLayer = Layer.effect(_a, makeElastiCacheService).pipe(Layer.provide(ElastiCacheClientInstanceLayer), Layer.provide(DefaultElastiCacheClientConfigLayer));
|
|
133
|
-
ElastiCacheService.layer = (config) => Layer.effect(_a, makeElastiCacheService).pipe(Layer.provide(ElastiCacheClientInstanceLayer), Layer.provide(Layer.effect(ElastiCacheClientInstanceConfig, makeDefaultElastiCacheClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
|
|
134
|
-
ElastiCacheService.baseLayer = (evaluate) => Layer.effect(_a, makeElastiCacheService).pipe(Layer.provide(Layer.effect(ElastiCacheClientInstance, Effect.map(makeDefaultElastiCacheClientInstanceConfig, evaluate))));
|
|
135
|
-
/**
|
|
136
|
-
* @since 1.0.0
|
|
137
|
-
* @category models
|
|
138
|
-
* @alias ElastiCacheService
|
|
139
|
-
*/
|
|
140
|
-
export const ElastiCache = ElastiCacheService;
|
|
141
|
-
/**
|
|
142
|
-
* @since 1.0.0
|
|
143
|
-
* @category layers
|
|
144
|
-
* @deprecated use ElastiCache.baseLayer instead
|
|
145
|
-
*/
|
|
146
|
-
export const BaseElastiCacheServiceLayer = Layer.effect(ElastiCacheService, makeElastiCacheService);
|
|
147
|
-
/**
|
|
148
|
-
* @since 1.0.0
|
|
149
|
-
* @category layers
|
|
150
|
-
* @deprecated use ElastiCache.layer instead
|
|
151
|
-
*/
|
|
152
|
-
export const ElastiCacheServiceLayer = BaseElastiCacheServiceLayer.pipe(Layer.provide(ElastiCacheClientInstanceLayer));
|
|
153
|
-
/**
|
|
154
|
-
* @since 1.0.0
|
|
155
|
-
* @category layers
|
|
156
|
-
* @deprecated use ElastiCache.defaultLayer instead
|
|
157
|
-
*/
|
|
158
|
-
export const DefaultElastiCacheServiceLayer = ElastiCacheService.defaultLayer;
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VsYXN0aUNhY2hlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsMkJBQTJCLEVBRzNCLHdCQUF3QixFQUd4Qix5Q0FBeUMsRUFHekMsNkJBQTZCLEVBRzdCLDRCQUE0QixFQUc1Qix3QkFBd0IsRUFHeEIsa0NBQWtDLEVBR2xDLG1CQUFtQixFQUduQix5QkFBeUIsRUFHekIsZ0NBQWdDLEVBR2hDLCtCQUErQixFQUcvQiw2QkFBNkIsRUFHN0IsbUNBQW1DLEVBR25DLDZCQUE2QixFQUc3Qiw0QkFBNEIsRUFHNUIsb0NBQW9DLEVBR3BDLHFCQUFxQixFQUdyQixpQkFBaUIsRUFHakIsc0JBQXNCLEVBR3RCLGlEQUFpRCxFQUdqRCwyQkFBMkIsRUFHM0IseUJBQXlCLEVBR3pCLGdDQUFnQyxFQUdoQywrQkFBK0IsRUFHL0IsNkJBQTZCLEVBRzdCLG1DQUFtQyxFQUduQyw2QkFBNkIsRUFHN0IsNEJBQTRCLEVBRzVCLG9DQUFvQyxFQUdwQyxxQkFBcUIsRUFHckIsaUJBQWlCLEVBR2pCLHNCQUFzQixFQUd0Qiw0QkFBNEIsRUFHNUIsa0NBQWtDLEVBR2xDLG1DQUFtQyxFQUduQyw4QkFBOEIsRUFHOUIsa0NBQWtDLEVBR2xDLGdDQUFnQyxFQUdoQyxzQ0FBc0MsRUFHdEMscUJBQXFCLEVBR3JCLHNDQUFzQyxFQUd0QyxnQ0FBZ0MsRUFHaEMsaUNBQWlDLEVBR2pDLDBDQUEwQyxFQUcxQyx1Q0FBdUMsRUFHdkMsK0JBQStCLEVBRy9CLDZCQUE2QixFQUc3Qix3QkFBd0IsRUFHeEIsNEJBQTRCLEVBRzVCLHlCQUF5QixFQUd6QixvQkFBb0IsRUFHcEIseUNBQXlDLEVBR3pDLG9DQUFvQyxFQUdwQyxxQ0FBcUMsRUFHckMsaURBQWlELEVBR2pELDJCQUEyQixFQUczQix1Q0FBdUMsRUFHdkMsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6QixnQ0FBZ0MsRUFHaEMsNkJBQTZCLEVBRzdCLG1DQUFtQyxFQUduQyw2QkFBNkIsRUFHN0IsK0NBQStDLEVBRy9DLDRCQUE0QixFQUc1QixpQkFBaUIsRUFHakIsc0JBQXNCLEVBR3RCLHlDQUF5QyxFQUd6Qyw2Q0FBNkMsRUFHN0MseUJBQXlCLEVBR3pCLDZCQUE2QixFQUc3QiwrQkFBK0IsRUFHL0Isc0NBQXNDLEVBR3RDLHFCQUFxQixFQUdyQixtQkFBbUIsRUFHbkIsb0JBQW9CLEdBR3JCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyRCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLDhCQUE4QixHQUMvQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFDTCxtQ0FBbUMsRUFDbkMsMENBQTBDLEVBQzFDLCtCQUErQixHQUNoQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFDTCxnQkFBZ0IsRUE2RWhCLFFBQVEsR0FFVCxNQUFNLFVBQVUsQ0FBQztBQWFsQixNQUFNLFFBQVEsR0FBRztJQUNmLHdCQUF3QjtJQUN4Qix5Q0FBeUM7SUFDekMsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1Qix3QkFBd0I7SUFDeEIsa0NBQWtDO0lBQ2xDLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsZ0NBQWdDO0lBQ2hDLCtCQUErQjtJQUMvQiw2QkFBNkI7SUFDN0IsbUNBQW1DO0lBQ25DLDZCQUE2QjtJQUM3Qiw0QkFBNEI7SUFDNUIsb0NBQW9DO0lBQ3BDLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLGlEQUFpRDtJQUNqRCwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLGdDQUFnQztJQUNoQywrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQzdCLG1DQUFtQztJQUNuQyw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBQzVCLG9DQUFvQztJQUNwQyxxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsa0NBQWtDO0lBQ2xDLG1DQUFtQztJQUNuQyw4QkFBOEI7SUFDOUIsa0NBQWtDO0lBQ2xDLGdDQUFnQztJQUNoQyxzQ0FBc0M7SUFDdEMscUJBQXFCO0lBQ3JCLHNDQUFzQztJQUN0QyxnQ0FBZ0M7SUFDaEMsaUNBQWlDO0lBQ2pDLDBDQUEwQztJQUMxQyx1Q0FBdUM7SUFDdkMsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3Qix3QkFBd0I7SUFDeEIsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6QixvQkFBb0I7SUFDcEIseUNBQXlDO0lBQ3pDLG9DQUFvQztJQUNwQyxxQ0FBcUM7SUFDckMsaURBQWlEO0lBQ2pELDJCQUEyQjtJQUMzQix1Q0FBdUM7SUFDdkMsMEJBQTBCO0lBQzFCLHlCQUF5QjtJQUN6QixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBQzdCLG1DQUFtQztJQUNuQyw2QkFBNkI7SUFDN0IsK0NBQStDO0lBQy9DLDRCQUE0QjtJQUM1QixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLHlDQUF5QztJQUN6Qyw2Q0FBNkM7SUFDN0MseUJBQXlCO0lBQ3pCLDZCQUE2QjtJQUM3QiwrQkFBK0I7SUFDL0Isc0NBQXNDO0lBQ3RDLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsb0JBQW9CO0NBQ3JCLENBQUM7QUE4dENGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUVuRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUMxRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBNEIsRUFBRSxFQUFFLENBQzdELE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDaEIsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakMsR0FBRyxDQUFDLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQztnQkFDbEIsV0FBVzthQUNaLENBQUM7WUFDSixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUNFLENBQUMsWUFBWSwyQkFBMkI7b0JBQ3hDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ2pDLENBQUM7b0JBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLFFBQVEsQ0FBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQXdCLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsTUFBTSxDQUFDLEdBQUcsQ0FDaEQsbURBQW1ELENBQ3BELEVBQTJDOzs7QUFDMUIsK0JBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUN6QyxFQUFJLEVBQ0osc0JBQXNCLENBQ3ZCLENBQUMsSUFBSSxDQUNKLEtBQUssQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsRUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUNuRCxBQU4yQixDQU0xQjtBQUNjLHdCQUFLLEdBQUcsQ0FBQyxNQUErQixFQUFFLEVBQUUsQ0FDMUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQzdDLEtBQUssQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsRUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUFLLENBQUMsTUFBTSxDQUNWLCtCQUErQixFQUMvQiwwQ0FBMEMsQ0FBQyxJQUFJLENBQzdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDakUsQ0FDRixDQUNGLENBQ0YsQUFYa0IsQ0FXakI7QUFDWSw0QkFBUyxHQUFHLENBQzFCLFFBQXVFLEVBQ3ZFLEVBQUUsQ0FDRixLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FDN0MsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUFLLENBQUMsTUFBTSxDQUNWLHlCQUF5QixFQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLDBDQUEwQyxFQUFFLFFBQVEsQ0FBQyxDQUNqRSxDQUNGLENBQ0YsQUFWc0IsQ0FVckI7QUFHTjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDO0FBRTlDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNyRCxrQkFBa0IsRUFDbEIsc0JBQXNCLENBQ3ZCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUNyRSxLQUFLLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQzlDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgRWxhc3RpQ2FjaGVTZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIEVsYXN0aUNhY2hlQ2xpZW50LFxuICB0eXBlIEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnLFxuICBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZCxcbiAgdHlwZSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kT3V0cHV0LFxuICBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kLFxuICB0eXBlIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kT3V0cHV0LFxuICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmQsXG4gIHR5cGUgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBDb3B5U25hcHNob3RDb21tYW5kLFxuICB0eXBlIENvcHlTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb3B5U25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVVc2VyR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVVc2VyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIHR5cGUgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVVc2VyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUV2ZW50c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFdmVudHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVVzZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVVzZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVXNlcnNDb21tYW5kT3V0cHV0LFxuICBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIHR5cGUgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kT3V0cHV0LFxuICBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICB0eXBlIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlVc2VyQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVVzZXJDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlVc2VyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlVc2VyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZCxcbiAgdHlwZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZCxcbiAgdHlwZSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBTdGFydE1pZ3JhdGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RhcnRNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICBUZXN0RmFpbG92ZXJDb21tYW5kLFxuICB0eXBlIFRlc3RGYWlsb3ZlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUZXN0RmFpbG92ZXJDb21tYW5kT3V0cHV0LFxuICBUZXN0TWlncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBUZXN0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWVsYXN0aWNhY2hlXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlLFxuICBFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL0VsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRFbGFzdGlDYWNoZUNsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL0VsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEFQSUNhbGxSYXRlRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQ2FjaGVDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQ2FjaGVQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBDYWNoZVBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIENhY2hlU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIENhY2hlU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBDYWNoZVN1Ym5ldEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIENhY2hlU3VibmV0R3JvdXBJblVzZUVycm9yLFxuICBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBDYWNoZVN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIENhY2hlU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIENsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEZWZhdWx0VXNlckFzc29jaWF0ZWRUb1VzZXJHcm91cEZhdWx0RXJyb3IsXG4gIERlZmF1bHRVc2VyUmVxdWlyZWRFcnJvcixcbiAgRHVwbGljYXRlVXNlck5hbWVGYXVsdEVycm9yLFxuICBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvcixcbiAgSW52YWxpZEFSTkZhdWx0RXJyb3IsXG4gIEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRDYWNoZVBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkQ2FjaGVTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvcixcbiAgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRLTVNLZXlGYXVsdEVycm9yLFxuICBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkU2VydmVybGVzc0NhY2hlU25hcHNob3RTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRTbmFwc2hvdFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZFN1Ym5ldEVycm9yLFxuICBJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkVXNlclN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3IsXG4gIE5vT3BlcmF0aW9uRmF1bHRFcnJvcixcbiAgTm9kZUdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBOb2RlR3JvdXBzUGVyUmVwbGljYXRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdEVycm9yLFxuICBOb2RlUXVvdGFGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgUmVwbGljYXRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHRFcnJvcixcbiAgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgUmVwbGljYXRpb25Hcm91cE5vdFVuZGVyTWlncmF0aW9uRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWRDYWNoZU5vZGVBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFJlc2VydmVkQ2FjaGVOb2RlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nTm90Rm91bmRGYXVsdEVycm9yLFxuICBTZXJ2ZXJsZXNzQ2FjaGVBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgU2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdEVycm9yLFxuICBTZXJ2ZXJsZXNzQ2FjaGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNlcnZpY2VVcGRhdGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIFNuYXBzaG90RmVhdHVyZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3IsXG4gIFNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yLFxuICBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTdWJuZXRJblVzZUVycm9yLFxuICBTdWJuZXROb3RBbGxvd2VkRmF1bHRFcnJvcixcbiAgVGFnTm90Rm91bmRGYXVsdEVycm9yLFxuICBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvcixcbiAgVGVzdEZhaWxvdmVyTm90QXZhaWxhYmxlRmF1bHRFcnJvcixcbiAgVXNlckFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBVc2VyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgVXNlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgVXNlck5vdEZvdW5kRmF1bHRFcnJvcixcbiAgVXNlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmQsXG4gIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZCxcbiAgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZCxcbiAgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kLFxuICBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICBDb3B5U25hcHNob3RDb21tYW5kLFxuICBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmQsXG4gIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICBDcmVhdGVTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZVVzZXJDb21tYW5kLFxuICBDcmVhdGVVc2VyR3JvdXBDb21tYW5kLFxuICBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIERlbGV0ZVNuYXBzaG90Q29tbWFuZCxcbiAgRGVsZXRlVXNlckNvbW1hbmQsXG4gIERlbGV0ZVVzZXJHcm91cENvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kLFxuICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kLFxuICBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmQsXG4gIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlVXNlcnNDb21tYW5kLFxuICBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgTW9kaWZ5VXNlckNvbW1hbmQsXG4gIE1vZGlmeVVzZXJHcm91cENvbW1hbmQsXG4gIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kLFxuICBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kLFxuICBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZCxcbiAgU3RhcnRNaWdyYXRpb25Db21tYW5kLFxuICBUZXN0RmFpbG92ZXJDb21tYW5kLFxuICBUZXN0TWlncmF0aW9uQ29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBFbGFzdGlDYWNoZVNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgYWRkVGFnc1RvUmVzb3VyY2UoXG4gICAgYXJnczogQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRBUk5GYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU2VydmVybGVzc0NhY2hlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZENhY2hlTm9kZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gICAgfCBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmR9XG4gICAqL1xuICBhdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzKFxuICAgIGFyZ3M6IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgYmF0Y2hBcHBseVVwZGF0ZUFjdGlvbihcbiAgICBhcmdzOiBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvciB8IFNlcnZpY2VVcGRhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIGJhdGNoU3RvcFVwZGF0ZUFjdGlvbihcbiAgICBhcmdzOiBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IgfCBTZXJ2aWNlVXBkYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNvbXBsZXRlTWlncmF0aW9uKFxuICAgIGFyZ3M6IENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90VW5kZXJNaWdyYXRpb25GYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3QoXG4gICAgYXJnczogQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5U25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgY29weVNuYXBzaG90KFxuICAgIGFyZ3M6IENvcHlTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ2FjaGVDbHVzdGVyKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckNsdXN0ZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ2FjaGVTdWJuZXRHcm91cChcbiAgICBhcmdzOiBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBDYWNoZVN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgU3VibmV0Tm90QWxsb3dlZEZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cChcbiAgICBhcmdzOiBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsUmVwbGljYXRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUmVwbGljYXRpb25Hcm91cChcbiAgICBhcmdzOiBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRDYWNoZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRVc2VyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBOb2RlR3JvdXBzUGVyUmVwbGljYXRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBOb2RlUXVvdGFGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvclxuICAgIHwgVXNlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZXJ2ZXJsZXNzQ2FjaGUoXG4gICAgYXJnczogQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkU2VydmVybGVzc0NhY2hlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgICB8IFVzZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdChcbiAgICBhcmdzOiBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNuYXBzaG90KFxuICAgIGFyZ3M6IENyZWF0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RGZWF0dXJlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVVc2VyKFxuICAgIGFyZ3M6IENyZWF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEdXBsaWNhdGVVc2VyTmFtZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gICAgfCBVc2VyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFVzZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVXNlckdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVmYXVsdFVzZXJSZXF1aXJlZEVycm9yXG4gICAgfCBEdXBsaWNhdGVVc2VyTmFtZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgICB8IFVzZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmR9XG4gICAqL1xuICBkZWNyZWFzZVJlcGxpY2FDb3VudChcbiAgICBhcmdzOiBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDbHVzdGVyUXVvdGFGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50Q2FjaGVDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgTm9kZUdyb3Vwc1BlclJlcGxpY2F0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgTm9kZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IE5vT3BlcmF0aW9uRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUNhY2hlQ2x1c3RlcihcbiAgICBhcmdzOiBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdEZlYXR1cmVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVDYWNoZVN1Ym5ldEdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENhY2hlU3VibmV0R3JvdXBJblVzZUVycm9yIHwgQ2FjaGVTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAoXG4gICAgYXJnczogRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVJlcGxpY2F0aW9uR3JvdXAoXG4gICAgYXJnczogRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90RmVhdHVyZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlcnZlcmxlc3NDYWNoZShcbiAgICBhcmdzOiBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QoXG4gICAgYXJnczogRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNuYXBzaG90KFxuICAgIGFyZ3M6IERlbGV0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXIoXG4gICAgYXJnczogRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlZmF1bHRVc2VyQXNzb2NpYXRlZFRvVXNlckdyb3VwRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRVc2VyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVXNlckdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRVc2VyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQ2FjaGVDbHVzdGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnMoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUNhY2hlUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvciB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJlc2VydmVkQ2FjaGVOb2RlcyhcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IFJlc2VydmVkQ2FjaGVOb2RlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHMoXG4gICAgYXJnczogRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNlcnZlcmxlc3NDYWNoZXMoXG4gICAgYXJnczogRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VydmljZVVwZGF0ZXMoXG4gICAgYXJnczogRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgU2VydmljZVVwZGF0ZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNuYXBzaG90cyhcbiAgICBhcmdzOiBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZUNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlVXBkYXRlQWN0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVVc2VyR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVc2Vyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVVzZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVVzZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBkaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIGV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90KFxuICAgIGFyZ3M6IEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkU2VydmVybGVzc0NhY2hlU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgaW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZH1cbiAgICovXG4gIGluY3JlYXNlUmVwbGljYUNvdW50KFxuICAgIGFyZ3M6IEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRDYWNoZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRLTVNLZXlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgTm9kZUdyb3Vwc1BlclJlcGxpY2F0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgTm9kZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IE5vT3BlcmF0aW9uRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9ucyhcbiAgICBhcmdzOiBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZUNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQVJORmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUNhY2hlQ2x1c3RlcihcbiAgICBhcmdzOiBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRDYWNoZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZVNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckNsdXN0ZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlDYWNoZVN1Ym5ldEdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVN1Ym5ldFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IFN1Ym5ldEluVXNlRXJyb3JcbiAgICB8IFN1Ym5ldE5vdEFsbG93ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cChcbiAgICBhcmdzOiBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5UmVwbGljYXRpb25Hcm91cChcbiAgICBhcmdzOiBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEtNU0tleUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRVc2VyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBOb2RlUXVvdGFGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50Q2FjaGVDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkS01TS2V5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE5vZGVHcm91cHNQZXJSZXBsaWNhdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlTZXJ2ZXJsZXNzQ2FjaGUoXG4gICAgYXJnczogTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkU2VydmVybGVzc0NhY2hlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5VXNlckNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlVc2VyKFxuICAgIGFyZ3M6IE1vZGlmeVVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRVc2VyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlVc2VyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5VXNlckdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVmYXVsdFVzZXJSZXF1aXJlZEVycm9yXG4gICAgfCBEdXBsaWNhdGVVc2VyTmFtZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFVzZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmcoXG4gICAgYXJnczogUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgUmVzZXJ2ZWRDYWNoZU5vZGVBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgUmVzZXJ2ZWRDYWNoZU5vZGVRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgcmVib290Q2FjaGVDbHVzdGVyKFxuICAgIGFyZ3M6IFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlVGFnc0Zyb21SZXNvdXJjZShcbiAgICBhcmdzOiBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRBUk5GYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU2VydmVybGVzc0NhY2hlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZENhY2hlTm9kZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRhZ05vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICByZXNldENhY2hlUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZH1cbiAgICovXG4gIHJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MoXG4gICAgYXJnczogUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0TWlncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0TWlncmF0aW9uKFxuICAgIGFyZ3M6IFN0YXJ0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cEFscmVhZHlVbmRlck1pZ3JhdGlvbkZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGVzdEZhaWxvdmVyQ29tbWFuZH1cbiAgICovXG4gIHRlc3RGYWlsb3ZlcihcbiAgICBhcmdzOiBUZXN0RmFpbG92ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUZXN0RmFpbG92ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFQSUNhbGxSYXRlRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRLTVNLZXlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBOb2RlR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRlc3RGYWlsb3Zlck5vdEF2YWlsYWJsZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGVzdE1pZ3JhdGlvbkNvbW1hbmR9XG4gICAqL1xuICB0ZXN0TWlncmF0aW9uKFxuICAgIGFyZ3M6IFRlc3RNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUZXN0TWlncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5VW5kZXJNaWdyYXRpb25GYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRWxhc3RpQ2FjaGVTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIEVsYXN0aUNhY2hlU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxFbGFzdGlDYWNoZVNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIEVsYXN0aUNhY2hlU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aUNhY2hlU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWVsYXN0aWNhY2hlL0VsYXN0aUNhY2hlU2VydmljZVwiLFxuKTxFbGFzdGlDYWNoZVNlcnZpY2UsIEVsYXN0aUNhY2hlU2VydmljZSQ+KCkge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdExheWVyID0gTGF5ZXIuZWZmZWN0KFxuICAgIHRoaXMsXG4gICAgbWFrZUVsYXN0aUNhY2hlU2VydmljZSxcbiAgKS5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRFbGFzdGlDYWNoZUNsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogRWxhc3RpQ2FjaGVDbGllbnRDb25maWcpID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VFbGFzdGlDYWNoZVNlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgICAgICAgICBtYWtlRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWcucGlwZShcbiAgICAgICAgICAgIEVmZmVjdC5tYXAoKGRlZmF1bHRDb25maWcpID0+ICh7IC4uLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGJhc2VMYXllciA9IChcbiAgICBldmFsdWF0ZTogKGRlZmF1bHRDb25maWc6IEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnKSA9PiBFbGFzdGlDYWNoZUNsaWVudCxcbiAgKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlRWxhc3RpQ2FjaGVTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWcsIGV2YWx1YXRlKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqIEBhbGlhcyBFbGFzdGlDYWNoZVNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IEVsYXN0aUNhY2hlID0gRWxhc3RpQ2FjaGVTZXJ2aWNlO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIEVsYXN0aUNhY2hlLmJhc2VMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIEVsYXN0aUNhY2hlU2VydmljZSxcbiAgbWFrZUVsYXN0aUNhY2hlU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgRWxhc3RpQ2FjaGUubGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIgPSBCYXNlRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBFbGFzdGlDYWNoZS5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEVsYXN0aUNhY2hlU2VydmljZUxheWVyID0gRWxhc3RpQ2FjaGVTZXJ2aWNlLmRlZmF1bHRMYXllcjtcbiJdfQ==
|
package/lib/esm/Errors.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Data } from "effect";
|
|
2
|
-
export const AllServiceErrors = [
|
|
3
|
-
"APICallRateForCustomerExceededFault",
|
|
4
|
-
"AuthorizationAlreadyExistsFault",
|
|
5
|
-
"AuthorizationNotFoundFault",
|
|
6
|
-
"CacheClusterAlreadyExistsFault",
|
|
7
|
-
"CacheClusterNotFoundFault",
|
|
8
|
-
"CacheParameterGroupAlreadyExistsFault",
|
|
9
|
-
"CacheParameterGroupNotFoundFault",
|
|
10
|
-
"CacheParameterGroupQuotaExceededFault",
|
|
11
|
-
"CacheSecurityGroupAlreadyExistsFault",
|
|
12
|
-
"CacheSecurityGroupNotFoundFault",
|
|
13
|
-
"CacheSecurityGroupQuotaExceededFault",
|
|
14
|
-
"CacheSubnetGroupAlreadyExistsFault",
|
|
15
|
-
"CacheSubnetGroupInUse",
|
|
16
|
-
"CacheSubnetGroupNotFoundFault",
|
|
17
|
-
"CacheSubnetGroupQuotaExceededFault",
|
|
18
|
-
"CacheSubnetQuotaExceededFault",
|
|
19
|
-
"ClusterQuotaForCustomerExceededFault",
|
|
20
|
-
"DefaultUserAssociatedToUserGroupFault",
|
|
21
|
-
"DefaultUserRequired",
|
|
22
|
-
"DuplicateUserNameFault",
|
|
23
|
-
"GlobalReplicationGroupAlreadyExistsFault",
|
|
24
|
-
"GlobalReplicationGroupNotFoundFault",
|
|
25
|
-
"InsufficientCacheClusterCapacityFault",
|
|
26
|
-
"InvalidARNFault",
|
|
27
|
-
"InvalidCacheClusterStateFault",
|
|
28
|
-
"InvalidCacheParameterGroupStateFault",
|
|
29
|
-
"InvalidCacheSecurityGroupStateFault",
|
|
30
|
-
"InvalidCredentialsException",
|
|
31
|
-
"InvalidGlobalReplicationGroupStateFault",
|
|
32
|
-
"InvalidKMSKeyFault",
|
|
33
|
-
"InvalidParameterCombinationException",
|
|
34
|
-
"InvalidParameterValueException",
|
|
35
|
-
"InvalidReplicationGroupStateFault",
|
|
36
|
-
"InvalidServerlessCacheSnapshotStateFault",
|
|
37
|
-
"InvalidServerlessCacheStateFault",
|
|
38
|
-
"InvalidSnapshotStateFault",
|
|
39
|
-
"InvalidSubnet",
|
|
40
|
-
"InvalidUserGroupStateFault",
|
|
41
|
-
"InvalidUserStateFault",
|
|
42
|
-
"InvalidVPCNetworkStateFault",
|
|
43
|
-
"NoOperationFault",
|
|
44
|
-
"NodeGroupNotFoundFault",
|
|
45
|
-
"NodeGroupsPerReplicationGroupQuotaExceededFault",
|
|
46
|
-
"NodeQuotaForClusterExceededFault",
|
|
47
|
-
"NodeQuotaForCustomerExceededFault",
|
|
48
|
-
"ReplicationGroupAlreadyExistsFault",
|
|
49
|
-
"ReplicationGroupAlreadyUnderMigrationFault",
|
|
50
|
-
"ReplicationGroupNotFoundFault",
|
|
51
|
-
"ReplicationGroupNotUnderMigrationFault",
|
|
52
|
-
"ReservedCacheNodeAlreadyExistsFault",
|
|
53
|
-
"ReservedCacheNodeNotFoundFault",
|
|
54
|
-
"ReservedCacheNodeQuotaExceededFault",
|
|
55
|
-
"ReservedCacheNodesOfferingNotFoundFault",
|
|
56
|
-
"ServerlessCacheAlreadyExistsFault",
|
|
57
|
-
"ServerlessCacheNotFoundFault",
|
|
58
|
-
"ServerlessCacheQuotaForCustomerExceededFault",
|
|
59
|
-
"ServerlessCacheSnapshotAlreadyExistsFault",
|
|
60
|
-
"ServerlessCacheSnapshotNotFoundFault",
|
|
61
|
-
"ServerlessCacheSnapshotQuotaExceededFault",
|
|
62
|
-
"ServiceLinkedRoleNotFoundFault",
|
|
63
|
-
"ServiceUpdateNotFoundFault",
|
|
64
|
-
"SnapshotAlreadyExistsFault",
|
|
65
|
-
"SnapshotFeatureNotSupportedFault",
|
|
66
|
-
"SnapshotNotFoundFault",
|
|
67
|
-
"SnapshotQuotaExceededFault",
|
|
68
|
-
"SubnetInUse",
|
|
69
|
-
"SubnetNotAllowedFault",
|
|
70
|
-
"TagNotFoundFault",
|
|
71
|
-
"TagQuotaPerResourceExceeded",
|
|
72
|
-
"TestFailoverNotAvailableFault",
|
|
73
|
-
"UserAlreadyExistsFault",
|
|
74
|
-
"UserGroupAlreadyExistsFault",
|
|
75
|
-
"UserGroupNotFoundFault",
|
|
76
|
-
"UserGroupQuotaExceededFault",
|
|
77
|
-
"UserNotFoundFault",
|
|
78
|
-
"UserQuotaExceededFault",
|
|
79
|
-
];
|
|
80
|
-
export const SdkError = Data.tagged("SdkError");
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixxQ0FBcUM7SUFDckMsaUNBQWlDO0lBQ2pDLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsMkJBQTJCO0lBQzNCLHVDQUF1QztJQUN2QyxrQ0FBa0M7SUFDbEMsdUNBQXVDO0lBQ3ZDLHNDQUFzQztJQUN0QyxpQ0FBaUM7SUFDakMsc0NBQXNDO0lBQ3RDLG9DQUFvQztJQUNwQyx1QkFBdUI7SUFDdkIsK0JBQStCO0lBQy9CLG9DQUFvQztJQUNwQywrQkFBK0I7SUFDL0Isc0NBQXNDO0lBQ3RDLHVDQUF1QztJQUN2QyxxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLDBDQUEwQztJQUMxQyxxQ0FBcUM7SUFDckMsdUNBQXVDO0lBQ3ZDLGlCQUFpQjtJQUNqQiwrQkFBK0I7SUFDL0Isc0NBQXNDO0lBQ3RDLHFDQUFxQztJQUNyQyw2QkFBNkI7SUFDN0IseUNBQXlDO0lBQ3pDLG9CQUFvQjtJQUNwQixzQ0FBc0M7SUFDdEMsZ0NBQWdDO0lBQ2hDLG1DQUFtQztJQUNuQywwQ0FBMEM7SUFDMUMsa0NBQWtDO0lBQ2xDLDJCQUEyQjtJQUMzQixlQUFlO0lBQ2YsNEJBQTRCO0lBQzVCLHVCQUF1QjtJQUN2Qiw2QkFBNkI7SUFDN0Isa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4QixpREFBaUQ7SUFDakQsa0NBQWtDO0lBQ2xDLG1DQUFtQztJQUNuQyxvQ0FBb0M7SUFDcEMsNENBQTRDO0lBQzVDLCtCQUErQjtJQUMvQix3Q0FBd0M7SUFDeEMscUNBQXFDO0lBQ3JDLGdDQUFnQztJQUNoQyxxQ0FBcUM7SUFDckMseUNBQXlDO0lBQ3pDLG1DQUFtQztJQUNuQyw4QkFBOEI7SUFDOUIsOENBQThDO0lBQzlDLDJDQUEyQztJQUMzQyxzQ0FBc0M7SUFDdEMsMkNBQTJDO0lBQzNDLGdDQUFnQztJQUNoQyw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLGtDQUFrQztJQUNsQyx1QkFBdUI7SUFDdkIsNEJBQTRCO0lBQzVCLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3QiwrQkFBK0I7SUFDL0Isd0JBQXdCO0lBQ3hCLDZCQUE2QjtJQUM3Qix3QkFBd0I7SUFDeEIsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQix3QkFBd0I7Q0FDekIsQ0FBQztBQW9KRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBVyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQVBJQ2FsbFJhdGVGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHQsXG4gIEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHQsXG4gIEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0LFxuICBDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHQsXG4gIENhY2hlUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0LFxuICBDYWNoZVBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBDYWNoZVNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHQsXG4gIENhY2hlU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgQ2FjaGVTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgQ2FjaGVTdWJuZXRHcm91cEluVXNlLFxuICBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdCxcbiAgQ2FjaGVTdWJuZXRHcm91cFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgQ2FjaGVTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIENsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdCxcbiAgRGVmYXVsdFVzZXJBc3NvY2lhdGVkVG9Vc2VyR3JvdXBGYXVsdCxcbiAgRGVmYXVsdFVzZXJSZXF1aXJlZCxcbiAgRHVwbGljYXRlVXNlck5hbWVGYXVsdCxcbiAgR2xvYmFsUmVwbGljYXRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHQsXG4gIEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHQsXG4gIEludmFsaWRBUk5GYXVsdCxcbiAgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHQsXG4gIEludmFsaWRDYWNoZVBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdCxcbiAgSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRmF1bHQsXG4gIEludmFsaWRDcmVkZW50aWFsc0V4Y2VwdGlvbixcbiAgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0LFxuICBJbnZhbGlkS01TS2V5RmF1bHQsXG4gIEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uLFxuICBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHQsXG4gIEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHQsXG4gIEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0LFxuICBJbnZhbGlkU25hcHNob3RTdGF0ZUZhdWx0LFxuICBJbnZhbGlkU3VibmV0LFxuICBJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdCxcbiAgSW52YWxpZFVzZXJTdGF0ZUZhdWx0LFxuICBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHQsXG4gIE5vT3BlcmF0aW9uRmF1bHQsXG4gIE5vZGVHcm91cE5vdEZvdW5kRmF1bHQsXG4gIE5vZGVHcm91cHNQZXJSZXBsaWNhdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdCxcbiAgTm9kZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0LFxuICBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHQsXG4gIFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0LFxuICBSZXBsaWNhdGlvbkdyb3VwTm90VW5kZXJNaWdyYXRpb25GYXVsdCxcbiAgUmVzZXJ2ZWRDYWNoZU5vZGVBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIFJlc2VydmVkQ2FjaGVOb2RlTm90Rm91bmRGYXVsdCxcbiAgUmVzZXJ2ZWRDYWNoZU5vZGVRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nTm90Rm91bmRGYXVsdCxcbiAgU2VydmVybGVzc0NhY2hlQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0LFxuICBTZXJ2ZXJsZXNzQ2FjaGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdCxcbiAgU2VydmVybGVzc0NhY2hlU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Tm90Rm91bmRGYXVsdCxcbiAgU2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdCxcbiAgU2VydmljZVVwZGF0ZU5vdEZvdW5kRmF1bHQsXG4gIFNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBTbmFwc2hvdEZlYXR1cmVOb3RTdXBwb3J0ZWRGYXVsdCxcbiAgU25hcHNob3ROb3RGb3VuZEZhdWx0LFxuICBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgU3VibmV0SW5Vc2UsXG4gIFN1Ym5ldE5vdEFsbG93ZWRGYXVsdCxcbiAgVGFnTm90Rm91bmRGYXVsdCxcbiAgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkLFxuICBUZXN0RmFpbG92ZXJOb3RBdmFpbGFibGVGYXVsdCxcbiAgVXNlckFscmVhZHlFeGlzdHNGYXVsdCxcbiAgVXNlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0LFxuICBVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFVzZXJOb3RGb3VuZEZhdWx0LFxuICBVc2VyUXVvdGFFeGNlZWRlZEZhdWx0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWVsYXN0aWNhY2hlXCI7XG5pbXBvcnQgeyBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuXG5leHBvcnQgY29uc3QgQWxsU2VydmljZUVycm9ycyA9IFtcbiAgXCJBUElDYWxsUmF0ZUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIkF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdFwiLFxuICBcIkNhY2hlQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkNhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRcIixcbiAgXCJDYWNoZVBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJDYWNoZVBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiQ2FjaGVTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkNhY2hlU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkNhY2hlU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJDYWNoZVN1Ym5ldEdyb3VwSW5Vc2VcIixcbiAgXCJDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkNhY2hlU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJDYWNoZVN1Ym5ldFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkNsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIkRlZmF1bHRVc2VyQXNzb2NpYXRlZFRvVXNlckdyb3VwRmF1bHRcIixcbiAgXCJEZWZhdWx0VXNlclJlcXVpcmVkXCIsXG4gIFwiRHVwbGljYXRlVXNlck5hbWVGYXVsdFwiLFxuICBcIkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHRcIixcbiAgXCJJbnZhbGlkQVJORmF1bHRcIixcbiAgXCJJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRDYWNoZVBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRDYWNoZVNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZENyZWRlbnRpYWxzRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZEtNU0tleUZhdWx0XCIsXG4gIFwiSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZFNuYXBzaG90U3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRTdWJuZXRcIixcbiAgXCJJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRVc2VyU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdFwiLFxuICBcIk5vT3BlcmF0aW9uRmF1bHRcIixcbiAgXCJOb2RlR3JvdXBOb3RGb3VuZEZhdWx0XCIsXG4gIFwiTm9kZUdyb3Vwc1BlclJlcGxpY2F0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIk5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIlJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHRcIixcbiAgXCJSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIlJlcGxpY2F0aW9uR3JvdXBOb3RVbmRlck1pZ3JhdGlvbkZhdWx0XCIsXG4gIFwiUmVzZXJ2ZWRDYWNoZU5vZGVBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJSZXNlcnZlZENhY2hlTm9kZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJSZXNlcnZlZENhY2hlTm9kZVF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIlJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nTm90Rm91bmRGYXVsdFwiLFxuICBcIlNlcnZlcmxlc3NDYWNoZUFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIlNlcnZlcmxlc3NDYWNoZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJTZXJ2ZXJsZXNzQ2FjaGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIlNlcnZlcmxlc3NDYWNoZVNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0XCIsXG4gIFwiU2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJTZXJ2aWNlVXBkYXRlTm90Rm91bmRGYXVsdFwiLFxuICBcIlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiU25hcHNob3RGZWF0dXJlTm90U3VwcG9ydGVkRmF1bHRcIixcbiAgXCJTbmFwc2hvdE5vdEZvdW5kRmF1bHRcIixcbiAgXCJTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIlN1Ym5ldEluVXNlXCIsXG4gIFwiU3VibmV0Tm90QWxsb3dlZEZhdWx0XCIsXG4gIFwiVGFnTm90Rm91bmRGYXVsdFwiLFxuICBcIlRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZFwiLFxuICBcIlRlc3RGYWlsb3Zlck5vdEF2YWlsYWJsZUZhdWx0XCIsXG4gIFwiVXNlckFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIlVzZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIlVzZXJHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJVc2VyTm90Rm91bmRGYXVsdFwiLFxuICBcIlVzZXJRdW90YUV4Y2VlZGVkRmF1bHRcIixcbl07XG5cbmV4cG9ydCB0eXBlIFRhZ2dlZEV4Y2VwdGlvbjxUIGV4dGVuZHMgeyBuYW1lOiBzdHJpbmcgfT4gPSBUICYge1xuICByZWFkb25seSBfdGFnOiBUW1wibmFtZVwiXTtcbn07XG5cbmV4cG9ydCB0eXBlIEFQSUNhbGxSYXRlRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248QVBJQ2FsbFJhdGVGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENhY2hlUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBDYWNoZVBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q2FjaGVQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBDYWNoZVNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZVNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q2FjaGVTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIENhY2hlU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZVN1Ym5ldEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIENhY2hlU3VibmV0R3JvdXBJblVzZUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPENhY2hlU3VibmV0R3JvdXBJblVzZT47XG5leHBvcnQgdHlwZSBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIENhY2hlU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZVN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIENhY2hlU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q2FjaGVTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERlZmF1bHRVc2VyQXNzb2NpYXRlZFRvVXNlckdyb3VwRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEZWZhdWx0VXNlckFzc29jaWF0ZWRUb1VzZXJHcm91cEZhdWx0PjtcbmV4cG9ydCB0eXBlIERlZmF1bHRVc2VyUmVxdWlyZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxEZWZhdWx0VXNlclJlcXVpcmVkPjtcbmV4cG9ydCB0eXBlIER1cGxpY2F0ZVVzZXJOYW1lRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEdXBsaWNhdGVVc2VyTmFtZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248R2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW5zdWZmaWNpZW50Q2FjaGVDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZEFSTkZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZEFSTkZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRDYWNoZVNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZENyZWRlbnRpYWxzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENyZWRlbnRpYWxzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkS01TS2V5RmF1bHRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkS01TS2V5RmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkU2VydmVybGVzc0NhY2hlU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkU25hcHNob3RTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFNuYXBzaG90U3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkU3VibmV0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFN1Ym5ldD47XG5leHBvcnQgdHlwZSBJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRVc2VyR3JvdXBTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRVc2VyU3RhdGVGYXVsdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRVc2VyU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgTm9PcGVyYXRpb25GYXVsdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE5vT3BlcmF0aW9uRmF1bHQ+O1xuZXhwb3J0IHR5cGUgTm9kZUdyb3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE5vZGVHcm91cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgTm9kZUdyb3Vwc1BlclJlcGxpY2F0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxOb2RlR3JvdXBzUGVyUmVwbGljYXRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE5vZGVRdW90YUZvckNsdXN0ZXJFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVwbGljYXRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBSZXBsaWNhdGlvbkdyb3VwTm90VW5kZXJNaWdyYXRpb25GYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFJlcGxpY2F0aW9uR3JvdXBOb3RVbmRlck1pZ3JhdGlvbkZhdWx0PjtcbmV4cG9ydCB0eXBlIFJlc2VydmVkQ2FjaGVOb2RlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWRDYWNoZU5vZGVBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFJlc2VydmVkQ2FjaGVOb2RlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWRDYWNoZU5vZGVRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNlcnZlcmxlc3NDYWNoZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZlcmxlc3NDYWNoZUFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBTZXJ2ZXJsZXNzQ2FjaGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZlcmxlc3NDYWNoZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmVybGVzc0NhY2hlU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNlcnZpY2VVcGRhdGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmljZVVwZGF0ZU5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBTbmFwc2hvdEZlYXR1cmVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNuYXBzaG90RmVhdHVyZU5vdFN1cHBvcnRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFNuYXBzaG90Tm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFN1Ym5ldEluVXNlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U3VibmV0SW5Vc2U+O1xuZXhwb3J0IHR5cGUgU3VibmV0Tm90QWxsb3dlZEZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U3VibmV0Tm90QWxsb3dlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFRhZ05vdEZvdW5kRmF1bHRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxUYWdOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZD47XG5leHBvcnQgdHlwZSBUZXN0RmFpbG92ZXJOb3RBdmFpbGFibGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFRlc3RGYWlsb3Zlck5vdEF2YWlsYWJsZUZhdWx0PjtcbmV4cG9ydCB0eXBlIFVzZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVc2VyQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIFVzZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFVzZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VXNlckdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgVXNlck5vdEZvdW5kRmF1bHRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxVc2VyTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBVc2VyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VXNlclF1b3RhRXhjZWVkZWRGYXVsdD47XG5cbmV4cG9ydCB0eXBlIFNka0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEVycm9yICYgeyBuYW1lOiBcIlNka0Vycm9yXCIgfT47XG5leHBvcnQgY29uc3QgU2RrRXJyb3IgPSBEYXRhLnRhZ2dlZDxTZGtFcnJvcj4oXCJTZGtFcnJvclwiKTtcbiJdfQ==
|
package/lib/esm/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from "./Errors";
|
|
2
|
-
export * from "./ElastiCacheClientInstance";
|
|
3
|
-
export * from "./ElastiCacheClientInstanceConfig";
|
|
4
|
-
export * from "./ElastiCacheService";
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0VsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0VsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0VsYXN0aUNhY2hlU2VydmljZVwiO1xuIl19
|
package/lib/index.d.ts
DELETED
package/lib/index.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./Errors"), exports);
|
|
18
|
-
__exportStar(require("./ElastiCacheClientInstance"), exports);
|
|
19
|
-
__exportStar(require("./ElastiCacheClientInstanceConfig"), exports);
|
|
20
|
-
__exportStar(require("./ElastiCacheService"), exports);
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6Qiw4REFBNEM7QUFDNUMsb0VBQWtEO0FBQ2xELHVEQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRWxhc3RpQ2FjaGVTZXJ2aWNlXCI7XG4iXX0=
|
package/project.json
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@effect-aws/client-elasticache",
|
|
3
|
-
"root": "packages/client-elasticache",
|
|
4
|
-
"targets": {
|
|
5
|
-
"default": {
|
|
6
|
-
"executor": "nx:run-commands",
|
|
7
|
-
"options": {
|
|
8
|
-
"command": "pnpm exec projen default",
|
|
9
|
-
"cwd": "packages/client-elasticache"
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
|
-
"pre-compile": {
|
|
13
|
-
"executor": "nx:run-commands",
|
|
14
|
-
"options": {
|
|
15
|
-
"command": "pnpm exec projen pre-compile",
|
|
16
|
-
"cwd": "packages/client-elasticache"
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
"compile": {
|
|
20
|
-
"executor": "nx:run-commands",
|
|
21
|
-
"options": {
|
|
22
|
-
"command": "pnpm exec projen compile",
|
|
23
|
-
"cwd": "packages/client-elasticache"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"post-compile": {
|
|
27
|
-
"executor": "nx:run-commands",
|
|
28
|
-
"options": {
|
|
29
|
-
"command": "pnpm exec projen post-compile",
|
|
30
|
-
"cwd": "packages/client-elasticache"
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
"test": {
|
|
34
|
-
"executor": "nx:run-commands",
|
|
35
|
-
"options": {
|
|
36
|
-
"command": "pnpm exec projen test",
|
|
37
|
-
"cwd": "packages/client-elasticache"
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
"package": {
|
|
41
|
-
"executor": "nx:run-commands",
|
|
42
|
-
"options": {
|
|
43
|
-
"command": "pnpm exec projen package",
|
|
44
|
-
"cwd": "packages/client-elasticache"
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"build": {
|
|
48
|
-
"executor": "nx:run-commands",
|
|
49
|
-
"options": {
|
|
50
|
-
"command": "pnpm exec projen build",
|
|
51
|
-
"cwd": "packages/client-elasticache"
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
"watch": {
|
|
55
|
-
"executor": "nx:run-commands",
|
|
56
|
-
"options": {
|
|
57
|
-
"command": "pnpm exec projen watch",
|
|
58
|
-
"cwd": "packages/client-elasticache"
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"eslint": {
|
|
62
|
-
"executor": "nx:run-commands",
|
|
63
|
-
"options": {
|
|
64
|
-
"command": "pnpm exec projen eslint",
|
|
65
|
-
"cwd": "packages/client-elasticache"
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
"test:watch": {
|
|
69
|
-
"executor": "nx:run-commands",
|
|
70
|
-
"options": {
|
|
71
|
-
"command": "pnpm exec projen test:watch",
|
|
72
|
-
"cwd": "packages/client-elasticache"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
77
|
-
}
|
package/vitest.config.ts
DELETED