@effect-aws/client-secrets-manager 1.1.0 → 1.2.1
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/CHANGELOG.md +12 -0
- package/README.md +89 -1
- package/lib/SecretsManagerService.d.ts +59 -50
- package/lib/SecretsManagerService.js +6 -3
- package/lib/esm/SecretsManagerService.js +7 -4
- package/package.json +6 -6
- package/vitest.config.ts +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-aws/client-secrets-manager
|
|
2
2
|
|
|
3
|
+
## 1.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#75](https://github.com/floydspace/effect-aws/pull/75) [`9dc170d`](https://github.com/floydspace/effect-aws/commit/9dc170d975c04888bbc7ca7b241b4b5265668fb5) Thanks [@godu](https://github.com/godu)! - export the HttpHandlerOptions type
|
|
8
|
+
|
|
9
|
+
## 1.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`e540420`](https://github.com/floydspace/effect-aws/commit/e5404208c2438e1e1546637a8edbbdc1c9468850) Thanks [@floydspace](https://github.com/floydspace)! - integrate aws-sdk abort signal with effect interruption
|
|
14
|
+
|
|
3
15
|
## 1.1.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -1 +1,89 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @effect-aws/client-secrets-manager
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@effect-aws/client-secrets-manager)
|
|
4
|
+
[](https://www.npmjs.com/package/@effect-aws/client-secrets-manager)
|
|
5
|
+
|
|
6
|
+
## Installation
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install --save @effect-aws/client-secrets-manager
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
With default SecretsManagerClient instance:
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import {
|
|
18
|
+
SecretsManagerService,
|
|
19
|
+
DefaultSecretsManagerServiceLayer,
|
|
20
|
+
} from "@effect-aws/client-secrets-manager";
|
|
21
|
+
|
|
22
|
+
const program = SecretsManagerService.getSecretValue(args);
|
|
23
|
+
|
|
24
|
+
const result = pipe(
|
|
25
|
+
program,
|
|
26
|
+
Effect.provide(DefaultSecretsManagerServiceLayer),
|
|
27
|
+
Effect.runPromise,
|
|
28
|
+
);
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
With custom SecretsManagerClient instance:
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import {
|
|
35
|
+
SecretsManagerService,
|
|
36
|
+
BaseSecretsManagerServiceLayer,
|
|
37
|
+
SecretsManagerClientInstance,
|
|
38
|
+
} from "@effect-aws/client-secrets-manager";
|
|
39
|
+
|
|
40
|
+
const program = SecretsManagerService.getSecretValue(args);
|
|
41
|
+
|
|
42
|
+
const SecretsManagerClientInstanceLayer = Layer.succeed(
|
|
43
|
+
SecretsManagerClientInstance,
|
|
44
|
+
new SecretsManagerClient({ region: "eu-central-1" }),
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
const result = await pipe(
|
|
48
|
+
program,
|
|
49
|
+
Effect.provide(BaseSecretsManagerServiceLayer),
|
|
50
|
+
Effect.provide(SecretsManagerClientInstanceLayer),
|
|
51
|
+
Effect.runPromise,
|
|
52
|
+
);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
With custom SecretsManagerClient configuration:
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
import {
|
|
59
|
+
SecretsManagerService,
|
|
60
|
+
BaseSecretsManagerServiceLayer,
|
|
61
|
+
DefaultSecretsManagerClientConfigLayer,
|
|
62
|
+
SecretsManagerClientInstance,
|
|
63
|
+
SecretsManagerClientInstanceConfig,
|
|
64
|
+
} from "@effect-aws/client-secrets-manager";
|
|
65
|
+
|
|
66
|
+
const program = SecretsManagerService.getSecretValue(args);
|
|
67
|
+
|
|
68
|
+
const SecretsManagerClientInstanceLayer = Layer.provide(
|
|
69
|
+
Layer.effect(
|
|
70
|
+
SecretsManagerClientInstance,
|
|
71
|
+
SecretsManagerClientInstanceConfig.pipe(
|
|
72
|
+
Effect.map(
|
|
73
|
+
(config) =>
|
|
74
|
+
new SecretsManagerClient({ ...config, region: "eu-central-1" }),
|
|
75
|
+
),
|
|
76
|
+
),
|
|
77
|
+
),
|
|
78
|
+
DefaultSecretsManagerClientConfigLayer,
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
const result = await pipe(
|
|
82
|
+
program,
|
|
83
|
+
Effect.provide(BaseSecretsManagerServiceLayer),
|
|
84
|
+
Effect.provide(SecretsManagerClientInstanceLayer),
|
|
85
|
+
Effect.runPromiseExit,
|
|
86
|
+
);
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
or map over `DefaultSecretsManagerClientConfigLayer` layer context and update the configuration...
|
|
@@ -1,131 +1,140 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import { type BatchGetSecretValueCommandInput, type BatchGetSecretValueCommandOutput, type CancelRotateSecretCommandInput, type CancelRotateSecretCommandOutput, type CreateSecretCommandInput, type CreateSecretCommandOutput, type DeleteResourcePolicyCommandInput, type DeleteResourcePolicyCommandOutput, type DeleteSecretCommandInput, type DeleteSecretCommandOutput, type DescribeSecretCommandInput, type DescribeSecretCommandOutput, type GetRandomPasswordCommandInput, type GetRandomPasswordCommandOutput, type GetResourcePolicyCommandInput, type GetResourcePolicyCommandOutput, type GetSecretValueCommandInput, type GetSecretValueCommandOutput, type
|
|
5
|
-
import { type HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types";
|
|
4
|
+
import { type BatchGetSecretValueCommandInput, type BatchGetSecretValueCommandOutput, type CancelRotateSecretCommandInput, type CancelRotateSecretCommandOutput, type CreateSecretCommandInput, type CreateSecretCommandOutput, type DeleteResourcePolicyCommandInput, type DeleteResourcePolicyCommandOutput, type DeleteSecretCommandInput, type DeleteSecretCommandOutput, type DescribeSecretCommandInput, type DescribeSecretCommandOutput, type GetRandomPasswordCommandInput, type GetRandomPasswordCommandOutput, type GetResourcePolicyCommandInput, type GetResourcePolicyCommandOutput, type GetSecretValueCommandInput, type GetSecretValueCommandOutput, type ListSecretVersionIdsCommandInput, type ListSecretVersionIdsCommandOutput, type ListSecretsCommandInput, type ListSecretsCommandOutput, type PutResourcePolicyCommandInput, type PutResourcePolicyCommandOutput, type PutSecretValueCommandInput, type PutSecretValueCommandOutput, type RemoveRegionsFromReplicationCommandInput, type RemoveRegionsFromReplicationCommandOutput, type ReplicateSecretToRegionsCommandInput, type ReplicateSecretToRegionsCommandOutput, type RestoreSecretCommandInput, type RestoreSecretCommandOutput, type RotateSecretCommandInput, type RotateSecretCommandOutput, type StopReplicationToReplicaCommandInput, type StopReplicationToReplicaCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateSecretCommandInput, type UpdateSecretCommandOutput, type UpdateSecretVersionStageCommandInput, type UpdateSecretVersionStageCommandOutput, type ValidateResourcePolicyCommandInput, type ValidateResourcePolicyCommandOutput } from "@aws-sdk/client-secrets-manager";
|
|
6
5
|
import { Effect, Layer } from "effect";
|
|
7
6
|
import { DecryptionError, EncryptionError, InternalServiceError, InvalidNextTokenError, InvalidParameterError, InvalidRequestError, LimitExceededError, MalformedPolicyDocumentError, PreconditionNotMetError, PublicPolicyError, ResourceExistsError, ResourceNotFoundError, SdkError } from "./Errors";
|
|
8
7
|
import { SecretsManagerClientInstance } from "./SecretsManagerClientInstance";
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.2.1
|
|
10
|
+
*/
|
|
11
|
+
export interface HttpHandlerOptions {
|
|
12
|
+
/**
|
|
13
|
+
* The maximum time in milliseconds that the connection phase of a request
|
|
14
|
+
* may take before the connection attempt is abandoned.
|
|
15
|
+
*/
|
|
16
|
+
requestTimeout?: number;
|
|
17
|
+
}
|
|
9
18
|
interface SecretsManagerService$ {
|
|
10
19
|
readonly _: unique symbol;
|
|
11
20
|
/**
|
|
12
21
|
* @see {@link BatchGetSecretValueCommand}
|
|
13
22
|
*/
|
|
14
|
-
batchGetSecretValue(args: BatchGetSecretValueCommandInput, options?:
|
|
23
|
+
batchGetSecretValue(args: BatchGetSecretValueCommandInput, options?: HttpHandlerOptions): Effect.Effect<BatchGetSecretValueCommandOutput, SdkError | DecryptionError | InternalServiceError | InvalidNextTokenError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
15
24
|
/**
|
|
16
25
|
* @see {@link CancelRotateSecretCommand}
|
|
17
26
|
*/
|
|
18
|
-
cancelRotateSecret(args: CancelRotateSecretCommandInput, options?:
|
|
27
|
+
cancelRotateSecret(args: CancelRotateSecretCommandInput, options?: HttpHandlerOptions): Effect.Effect<CancelRotateSecretCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
19
28
|
/**
|
|
20
29
|
* @see {@link CreateSecretCommand}
|
|
21
30
|
*/
|
|
22
|
-
createSecret(args: CreateSecretCommandInput, options?:
|
|
31
|
+
createSecret(args: CreateSecretCommandInput, options?: HttpHandlerOptions): Effect.Effect<CreateSecretCommandOutput, SdkError | DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | MalformedPolicyDocumentError | PreconditionNotMetError | ResourceExistsError | ResourceNotFoundError>;
|
|
23
32
|
/**
|
|
24
33
|
* @see {@link DeleteResourcePolicyCommand}
|
|
25
34
|
*/
|
|
26
|
-
deleteResourcePolicy(args: DeleteResourcePolicyCommandInput, options?:
|
|
35
|
+
deleteResourcePolicy(args: DeleteResourcePolicyCommandInput, options?: HttpHandlerOptions): Effect.Effect<DeleteResourcePolicyCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
27
36
|
/**
|
|
28
37
|
* @see {@link DeleteSecretCommand}
|
|
29
38
|
*/
|
|
30
|
-
deleteSecret(args: DeleteSecretCommandInput, options?:
|
|
39
|
+
deleteSecret(args: DeleteSecretCommandInput, options?: HttpHandlerOptions): Effect.Effect<DeleteSecretCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
31
40
|
/**
|
|
32
41
|
* @see {@link DescribeSecretCommand}
|
|
33
42
|
*/
|
|
34
|
-
describeSecret(args: DescribeSecretCommandInput, options?:
|
|
43
|
+
describeSecret(args: DescribeSecretCommandInput, options?: HttpHandlerOptions): Effect.Effect<DescribeSecretCommandOutput, SdkError | InternalServiceError | InvalidParameterError | ResourceNotFoundError>;
|
|
35
44
|
/**
|
|
36
45
|
* @see {@link GetRandomPasswordCommand}
|
|
37
46
|
*/
|
|
38
|
-
getRandomPassword(args: GetRandomPasswordCommandInput, options?:
|
|
47
|
+
getRandomPassword(args: GetRandomPasswordCommandInput, options?: HttpHandlerOptions): Effect.Effect<GetRandomPasswordCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError>;
|
|
39
48
|
/**
|
|
40
49
|
* @see {@link GetResourcePolicyCommand}
|
|
41
50
|
*/
|
|
42
|
-
getResourcePolicy(args: GetResourcePolicyCommandInput, options?:
|
|
51
|
+
getResourcePolicy(args: GetResourcePolicyCommandInput, options?: HttpHandlerOptions): Effect.Effect<GetResourcePolicyCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
43
52
|
/**
|
|
44
53
|
* @see {@link GetSecretValueCommand}
|
|
45
54
|
*/
|
|
46
|
-
getSecretValue(args: GetSecretValueCommandInput, options?:
|
|
55
|
+
getSecretValue(args: GetSecretValueCommandInput, options?: HttpHandlerOptions): Effect.Effect<GetSecretValueCommandOutput, SdkError | DecryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
47
56
|
/**
|
|
48
|
-
* @see {@link
|
|
57
|
+
* @see {@link ListSecretVersionIdsCommand}
|
|
49
58
|
*/
|
|
50
|
-
|
|
59
|
+
listSecretVersionIds(args: ListSecretVersionIdsCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListSecretVersionIdsCommandOutput, SdkError | InternalServiceError | InvalidNextTokenError | InvalidParameterError | ResourceNotFoundError>;
|
|
51
60
|
/**
|
|
52
|
-
* @see {@link
|
|
61
|
+
* @see {@link ListSecretsCommand}
|
|
53
62
|
*/
|
|
54
|
-
|
|
63
|
+
listSecrets(args: ListSecretsCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListSecretsCommandOutput, SdkError | InternalServiceError | InvalidNextTokenError | InvalidParameterError | InvalidRequestError>;
|
|
55
64
|
/**
|
|
56
65
|
* @see {@link PutResourcePolicyCommand}
|
|
57
66
|
*/
|
|
58
|
-
putResourcePolicy(args: PutResourcePolicyCommandInput, options?:
|
|
67
|
+
putResourcePolicy(args: PutResourcePolicyCommandInput, options?: HttpHandlerOptions): Effect.Effect<PutResourcePolicyCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | MalformedPolicyDocumentError | PublicPolicyError | ResourceNotFoundError>;
|
|
59
68
|
/**
|
|
60
69
|
* @see {@link PutSecretValueCommand}
|
|
61
70
|
*/
|
|
62
|
-
putSecretValue(args: PutSecretValueCommandInput, options?:
|
|
71
|
+
putSecretValue(args: PutSecretValueCommandInput, options?: HttpHandlerOptions): Effect.Effect<PutSecretValueCommandOutput, SdkError | DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | ResourceExistsError | ResourceNotFoundError>;
|
|
63
72
|
/**
|
|
64
73
|
* @see {@link RemoveRegionsFromReplicationCommand}
|
|
65
74
|
*/
|
|
66
|
-
removeRegionsFromReplication(args: RemoveRegionsFromReplicationCommandInput, options?:
|
|
75
|
+
removeRegionsFromReplication(args: RemoveRegionsFromReplicationCommandInput, options?: HttpHandlerOptions): Effect.Effect<RemoveRegionsFromReplicationCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
67
76
|
/**
|
|
68
77
|
* @see {@link ReplicateSecretToRegionsCommand}
|
|
69
78
|
*/
|
|
70
|
-
replicateSecretToRegions(args: ReplicateSecretToRegionsCommandInput, options?:
|
|
79
|
+
replicateSecretToRegions(args: ReplicateSecretToRegionsCommandInput, options?: HttpHandlerOptions): Effect.Effect<ReplicateSecretToRegionsCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
71
80
|
/**
|
|
72
81
|
* @see {@link RestoreSecretCommand}
|
|
73
82
|
*/
|
|
74
|
-
restoreSecret(args: RestoreSecretCommandInput, options?:
|
|
83
|
+
restoreSecret(args: RestoreSecretCommandInput, options?: HttpHandlerOptions): Effect.Effect<RestoreSecretCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
75
84
|
/**
|
|
76
85
|
* @see {@link RotateSecretCommand}
|
|
77
86
|
*/
|
|
78
|
-
rotateSecret(args: RotateSecretCommandInput, options?:
|
|
87
|
+
rotateSecret(args: RotateSecretCommandInput, options?: HttpHandlerOptions): Effect.Effect<RotateSecretCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
79
88
|
/**
|
|
80
89
|
* @see {@link StopReplicationToReplicaCommand}
|
|
81
90
|
*/
|
|
82
|
-
stopReplicationToReplica(args: StopReplicationToReplicaCommandInput, options?:
|
|
91
|
+
stopReplicationToReplica(args: StopReplicationToReplicaCommandInput, options?: HttpHandlerOptions): Effect.Effect<StopReplicationToReplicaCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
83
92
|
/**
|
|
84
93
|
* @see {@link TagResourceCommand}
|
|
85
94
|
*/
|
|
86
|
-
tagResource(args: TagResourceCommandInput, options?:
|
|
95
|
+
tagResource(args: TagResourceCommandInput, options?: HttpHandlerOptions): Effect.Effect<TagResourceCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
87
96
|
/**
|
|
88
97
|
* @see {@link UntagResourceCommand}
|
|
89
98
|
*/
|
|
90
|
-
untagResource(args: UntagResourceCommandInput, options?:
|
|
99
|
+
untagResource(args: UntagResourceCommandInput, options?: HttpHandlerOptions): Effect.Effect<UntagResourceCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError>;
|
|
91
100
|
/**
|
|
92
101
|
* @see {@link UpdateSecretCommand}
|
|
93
102
|
*/
|
|
94
|
-
updateSecret(args: UpdateSecretCommandInput, options?:
|
|
103
|
+
updateSecret(args: UpdateSecretCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateSecretCommandOutput, SdkError | DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | MalformedPolicyDocumentError | PreconditionNotMetError | ResourceExistsError | ResourceNotFoundError>;
|
|
95
104
|
/**
|
|
96
105
|
* @see {@link UpdateSecretVersionStageCommand}
|
|
97
106
|
*/
|
|
98
|
-
updateSecretVersionStage(args: UpdateSecretVersionStageCommandInput, options?:
|
|
107
|
+
updateSecretVersionStage(args: UpdateSecretVersionStageCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateSecretVersionStageCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | ResourceNotFoundError>;
|
|
99
108
|
/**
|
|
100
109
|
* @see {@link ValidateResourcePolicyCommand}
|
|
101
110
|
*/
|
|
102
|
-
validateResourcePolicy(args: ValidateResourcePolicyCommandInput, options?:
|
|
111
|
+
validateResourcePolicy(args: ValidateResourcePolicyCommandInput, options?: HttpHandlerOptions): Effect.Effect<ValidateResourcePolicyCommandOutput, SdkError | InternalServiceError | InvalidParameterError | InvalidRequestError | MalformedPolicyDocumentError | ResourceNotFoundError>;
|
|
103
112
|
}
|
|
104
113
|
declare const SecretsManagerService_base: import("effect/Context").TagClass<SecretsManagerService, "@effect-aws/client-secrets-manager/SecretsManagerService", SecretsManagerService$> & {
|
|
105
114
|
readonly _: Effect.Effect<SecretsManagerService$["_"], never, SecretsManagerService>;
|
|
106
|
-
batchGetSecretValue: (args: BatchGetSecretValueCommandInput, options?:
|
|
107
|
-
cancelRotateSecret: (args: CancelRotateSecretCommandInput, options?:
|
|
108
|
-
createSecret: (args: CreateSecretCommandInput, options?:
|
|
109
|
-
deleteResourcePolicy: (args: DeleteResourcePolicyCommandInput, options?:
|
|
110
|
-
deleteSecret: (args: DeleteSecretCommandInput, options?:
|
|
111
|
-
describeSecret: (args: DescribeSecretCommandInput, options?:
|
|
112
|
-
getRandomPassword: (args: GetRandomPasswordCommandInput, options?:
|
|
113
|
-
getResourcePolicy: (args: GetResourcePolicyCommandInput, options?:
|
|
114
|
-
getSecretValue: (args: GetSecretValueCommandInput, options?:
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
putResourcePolicy: (args: PutResourcePolicyCommandInput, options?:
|
|
118
|
-
putSecretValue: (args: PutSecretValueCommandInput, options?:
|
|
119
|
-
removeRegionsFromReplication: (args: RemoveRegionsFromReplicationCommandInput, options?:
|
|
120
|
-
replicateSecretToRegions: (args: ReplicateSecretToRegionsCommandInput, options?:
|
|
121
|
-
restoreSecret: (args: RestoreSecretCommandInput, options?:
|
|
122
|
-
rotateSecret: (args: RotateSecretCommandInput, options?:
|
|
123
|
-
stopReplicationToReplica: (args: StopReplicationToReplicaCommandInput, options?:
|
|
124
|
-
tagResource: (args: TagResourceCommandInput, options?:
|
|
125
|
-
untagResource: (args: UntagResourceCommandInput, options?:
|
|
126
|
-
updateSecret: (args: UpdateSecretCommandInput, options?:
|
|
127
|
-
updateSecretVersionStage: (args: UpdateSecretVersionStageCommandInput, options?:
|
|
128
|
-
validateResourcePolicy: (args: ValidateResourcePolicyCommandInput, options?:
|
|
115
|
+
batchGetSecretValue: (args: BatchGetSecretValueCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<BatchGetSecretValueCommandOutput, DecryptionError | InternalServiceError | InvalidNextTokenError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
116
|
+
cancelRotateSecret: (args: CancelRotateSecretCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<CancelRotateSecretCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
117
|
+
createSecret: (args: CreateSecretCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<CreateSecretCommandOutput, DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | MalformedPolicyDocumentError | PreconditionNotMetError | ResourceExistsError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
118
|
+
deleteResourcePolicy: (args: DeleteResourcePolicyCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DeleteResourcePolicyCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
119
|
+
deleteSecret: (args: DeleteSecretCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DeleteSecretCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
120
|
+
describeSecret: (args: DescribeSecretCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DescribeSecretCommandOutput, InternalServiceError | InvalidParameterError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
121
|
+
getRandomPassword: (args: GetRandomPasswordCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<GetRandomPasswordCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | SdkError, SecretsManagerService>;
|
|
122
|
+
getResourcePolicy: (args: GetResourcePolicyCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<GetResourcePolicyCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
123
|
+
getSecretValue: (args: GetSecretValueCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<GetSecretValueCommandOutput, DecryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
124
|
+
listSecretVersionIds: (args: ListSecretVersionIdsCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListSecretVersionIdsCommandOutput, InternalServiceError | InvalidNextTokenError | InvalidParameterError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
125
|
+
listSecrets: (args: ListSecretsCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListSecretsCommandOutput, InternalServiceError | InvalidNextTokenError | InvalidParameterError | InvalidRequestError | SdkError, SecretsManagerService>;
|
|
126
|
+
putResourcePolicy: (args: PutResourcePolicyCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<PutResourcePolicyCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | MalformedPolicyDocumentError | PublicPolicyError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
127
|
+
putSecretValue: (args: PutSecretValueCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<PutSecretValueCommandOutput, DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | ResourceExistsError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
128
|
+
removeRegionsFromReplication: (args: RemoveRegionsFromReplicationCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<RemoveRegionsFromReplicationCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
129
|
+
replicateSecretToRegions: (args: ReplicateSecretToRegionsCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ReplicateSecretToRegionsCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
130
|
+
restoreSecret: (args: RestoreSecretCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<RestoreSecretCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
131
|
+
rotateSecret: (args: RotateSecretCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<RotateSecretCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
132
|
+
stopReplicationToReplica: (args: StopReplicationToReplicaCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<StopReplicationToReplicaCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
133
|
+
tagResource: (args: TagResourceCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<TagResourceCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
134
|
+
untagResource: (args: UntagResourceCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<UntagResourceCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
135
|
+
updateSecret: (args: UpdateSecretCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<UpdateSecretCommandOutput, DecryptionError | EncryptionError | InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | MalformedPolicyDocumentError | PreconditionNotMetError | ResourceExistsError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
136
|
+
updateSecretVersionStage: (args: UpdateSecretVersionStageCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<UpdateSecretVersionStageCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | LimitExceededError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
137
|
+
validateResourcePolicy: (args: ValidateResourcePolicyCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ValidateResourcePolicyCommandOutput, InternalServiceError | InvalidParameterError | InvalidRequestError | MalformedPolicyDocumentError | ResourceNotFoundError | SdkError, SecretsManagerService>;
|
|
129
138
|
} & {
|
|
130
139
|
use: <X>(body: (_: SecretsManagerService$) => X) => X extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, R | SecretsManagerService> : Effect.Effect<X, never, SecretsManagerService>;
|
|
131
140
|
};
|
|
@@ -19,8 +19,8 @@ const commands = {
|
|
|
19
19
|
GetRandomPasswordCommand: client_secrets_manager_1.GetRandomPasswordCommand,
|
|
20
20
|
GetResourcePolicyCommand: client_secrets_manager_1.GetResourcePolicyCommand,
|
|
21
21
|
GetSecretValueCommand: client_secrets_manager_1.GetSecretValueCommand,
|
|
22
|
-
ListSecretsCommand: client_secrets_manager_1.ListSecretsCommand,
|
|
23
22
|
ListSecretVersionIdsCommand: client_secrets_manager_1.ListSecretVersionIdsCommand,
|
|
23
|
+
ListSecretsCommand: client_secrets_manager_1.ListSecretsCommand,
|
|
24
24
|
PutResourcePolicyCommand: client_secrets_manager_1.PutResourcePolicyCommand,
|
|
25
25
|
PutSecretValueCommand: client_secrets_manager_1.PutSecretValueCommand,
|
|
26
26
|
RemoveRegionsFromReplicationCommand: client_secrets_manager_1.RemoveRegionsFromReplicationCommand,
|
|
@@ -50,7 +50,10 @@ exports.makeSecretsManagerService = effect_1.Effect.gen(function* (_) {
|
|
|
50
50
|
return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
|
|
51
51
|
const CommandCtor = commands[command];
|
|
52
52
|
const methodImpl = (args, options) => effect_1.Effect.tryPromise({
|
|
53
|
-
try: () => client.send(new CommandCtor(args),
|
|
53
|
+
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
54
|
+
...(options !== null && options !== void 0 ? options : {}),
|
|
55
|
+
abortSignal,
|
|
56
|
+
}),
|
|
54
57
|
catch: (e) => {
|
|
55
58
|
if (e instanceof client_secrets_manager_1.SecretsManagerServiceException &&
|
|
56
59
|
Errors_1.AllServiceErrors.includes(e.name)) {
|
|
@@ -91,4 +94,4 @@ exports.SecretsManagerServiceLayer = exports.BaseSecretsManagerServiceLayer.pipe
|
|
|
91
94
|
* @category layers
|
|
92
95
|
*/
|
|
93
96
|
exports.DefaultSecretsManagerServiceLayer = exports.SecretsManagerServiceLayer.pipe(effect_1.Layer.provide(SecretsManagerClientInstanceConfig_1.DefaultSecretsManagerClientConfigLayer));
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILDRFQXVFeUM7QUFFekMsbUNBQXFEO0FBQ3JELHFDQWdCa0I7QUFDbEIsaUZBR3dDO0FBQ3hDLDZGQUE4RjtBQUU5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQixFQUExQixtREFBMEI7SUFDMUIseUJBQXlCLEVBQXpCLGtEQUF5QjtJQUN6QixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLDJCQUEyQixFQUEzQixvREFBMkI7SUFDM0IsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLHdCQUF3QixFQUF4QixpREFBd0I7SUFDeEIsd0JBQXdCLEVBQXhCLGlEQUF3QjtJQUN4QixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLGtCQUFrQixFQUFsQiwyQ0FBa0I7SUFDbEIsMkJBQTJCLEVBQTNCLG9EQUEyQjtJQUMzQix3QkFBd0IsRUFBeEIsaURBQXdCO0lBQ3hCLHFCQUFxQixFQUFyQiw4Q0FBcUI7SUFDckIsbUNBQW1DLEVBQW5DLDREQUFtQztJQUNuQywrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLG9CQUFvQixFQUFwQiw2Q0FBb0I7SUFDcEIsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQiwrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLGtCQUFrQixFQUFsQiwyQ0FBa0I7SUFDbEIsb0JBQW9CLEVBQXBCLDZDQUFvQjtJQUNwQixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLCtCQUErQixFQUEvQix3REFBK0I7SUFDL0IsNkJBQTZCLEVBQTdCLHNEQUE2QjtDQUM5QixDQUFDO0FBb1hGOzs7R0FHRztBQUNILE1BQWEscUJBQXNCLFNBQVEsZUFBTSxDQUFDLEdBQUcsQ0FDbkQsMERBQTBELENBQzNELEVBQWlEO0NBQUc7QUFGckQsc0RBRXFEO0FBRXJEOzs7R0FHRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsZUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQywyREFBNEIsQ0FBQyxDQUFDO0lBRXRELE9BQU8sZUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUM3QyxlQUFNLENBQUMsVUFBVSxDQUFDO1lBQ2hCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQztZQUM1RCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUNFLENBQUMsWUFBWSx1REFBOEI7b0JBQzNDLHlCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ2pDLENBQUM7b0JBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxhQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLElBQUEsaUJBQVEsRUFBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQTJCLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDVSxRQUFBLDhCQUE4QixHQUFHLGNBQUssQ0FBQyxNQUFNLENBQ3hELHFCQUFxQixFQUNyQixpQ0FBeUIsQ0FDMUIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsc0NBQThCLENBQUMsSUFBSSxDQUMzRSxjQUFLLENBQUMsT0FBTyxDQUFDLGdFQUFpQyxDQUFDLENBQ2pELENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLGlDQUFpQyxHQUM1QyxrQ0FBMEIsQ0FBQyxJQUFJLENBQzdCLGNBQUssQ0FBQyxPQUFPLENBQUMsMkVBQXNDLENBQUMsQ0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbixcbiAgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3JldHNDb21tYW5kLFxuICB0eXBlIExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWNyZXRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICB0eXBlIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZE91dHB1dCxcbiAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZE91dHB1dCxcbiAgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBEZWNyeXB0aW9uRXJyb3IsXG4gIEVuY3J5cHRpb25FcnJvcixcbiAgSW50ZXJuYWxTZXJ2aWNlRXJyb3IsXG4gIEludmFsaWROZXh0VG9rZW5FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICBJbnZhbGlkUmVxdWVzdEVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3IsXG4gIFByZWNvbmRpdGlvbk5vdE1ldEVycm9yLFxuICBQdWJsaWNQb2xpY3lFcnJvcixcbiAgUmVzb3VyY2VFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2UsXG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBTZWNyZXRzTWFuYWdlclNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWNyZXQoXG4gICAgYXJnczogQ3JlYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VjcmV0KFxuICAgIGFyZ3M6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGdldFJhbmRvbVBhc3N3b3JkKFxuICAgIGFyZ3M6IEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWNyZXRWYWx1ZShcbiAgICBhcmdzOiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRWZXJzaW9uSWRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0UmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBQdWJsaWNQb2xpY3lFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIHB1dFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlcGxpY2F0ZVNlY3JldFRvUmVnaW9ucyhcbiAgICBhcmdzOiBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZVNlY3JldChcbiAgICBhcmdzOiBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzdG9wUmVwbGljYXRpb25Ub1JlcGxpY2EoXG4gICAgYXJnczogU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWNyZXQoXG4gICAgYXJnczogVXBkYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZShcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgU2VjcmV0c01hbmFnZXJTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyL1NlY3JldHNNYW5hZ2VyU2VydmljZVwiLFxuKTxTZWNyZXRzTWFuYWdlclNlcnZpY2UsIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTZWNyZXRzTWFuYWdlclNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILDRFQXVFeUM7QUFDekMsbUNBQXFEO0FBQ3JELHFDQWdCa0I7QUFDbEIsaUZBR3dDO0FBQ3hDLDZGQUE4RjtBQWE5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQixFQUExQixtREFBMEI7SUFDMUIseUJBQXlCLEVBQXpCLGtEQUF5QjtJQUN6QixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLDJCQUEyQixFQUEzQixvREFBMkI7SUFDM0IsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLHdCQUF3QixFQUF4QixpREFBd0I7SUFDeEIsd0JBQXdCLEVBQXhCLGlEQUF3QjtJQUN4QixxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLDJCQUEyQixFQUEzQixvREFBMkI7SUFDM0Isa0JBQWtCLEVBQWxCLDJDQUFrQjtJQUNsQix3QkFBd0IsRUFBeEIsaURBQXdCO0lBQ3hCLHFCQUFxQixFQUFyQiw4Q0FBcUI7SUFDckIsbUNBQW1DLEVBQW5DLDREQUFtQztJQUNuQywrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLG9CQUFvQixFQUFwQiw2Q0FBb0I7SUFDcEIsbUJBQW1CLEVBQW5CLDRDQUFtQjtJQUNuQiwrQkFBK0IsRUFBL0Isd0RBQStCO0lBQy9CLGtCQUFrQixFQUFsQiwyQ0FBa0I7SUFDbEIsb0JBQW9CLEVBQXBCLDZDQUFvQjtJQUNwQixtQkFBbUIsRUFBbkIsNENBQW1CO0lBQ25CLCtCQUErQixFQUEvQix3REFBK0I7SUFDL0IsNkJBQTZCLEVBQTdCLHNEQUE2QjtDQUM5QixDQUFDO0FBb1hGOzs7R0FHRztBQUNILE1BQWEscUJBQXNCLFNBQVEsZUFBTSxDQUFDLEdBQUcsQ0FDbkQsMERBQTBELENBQzNELEVBQWlEO0NBQUc7QUFGckQsc0RBRXFEO0FBRXJEOzs7R0FHRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsZUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQywyREFBNEIsQ0FBQyxDQUFDO0lBRXRELE9BQU8sZUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FDN0QsZUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO2dCQUNsQixXQUFXO2FBQ1osQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQ0UsQ0FBQyxZQUFZLHVEQUE4QjtvQkFDM0MseUJBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDakMsQ0FBQztvQkFDRCxNQUFNLGdCQUFnQixHQUFHLGFBQUksQ0FBQyxNQUFNLENBRWxDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFVixPQUFPLGdCQUFnQixDQUFDO3dCQUN0QixHQUFHLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sSUFBQSxpQkFBUSxFQUFDO3dCQUNkLEdBQUcsQ0FBQzt3QkFDSixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBMkIsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FDeEQscUJBQXFCLEVBQ3JCLGlDQUF5QixDQUMxQixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSwwQkFBMEIsR0FBRyxzQ0FBOEIsQ0FBQyxJQUFJLENBQzNFLGNBQUssQ0FBQyxPQUFPLENBQUMsZ0VBQWlDLENBQUMsQ0FDakQsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsaUNBQWlDLEdBQzVDLGtDQUEwQixDQUFDLElBQUksQ0FDN0IsY0FBSyxDQUFDLE9BQU8sQ0FBQywyRUFBc0MsQ0FBQyxDQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlRXhjZXB0aW9uLFxuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kT3V0cHV0LFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kLFxuICB0eXBlIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kT3V0cHV0LFxuICBSZXN0b3JlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICB0eXBlIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kT3V0cHV0LFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgRGVjcnlwdGlvbkVycm9yLFxuICBFbmNyeXB0aW9uRXJyb3IsXG4gIEludGVybmFsU2VydmljZUVycm9yLFxuICBJbnZhbGlkTmV4dFRva2VuRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFJlcXVlc3RFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFcnJvcixcbiAgUHVibGljUG9saWN5RXJyb3IsXG4gIFJlc291cmNlRXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlLFxuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjIuMVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmQsXG4gIERlc2NyaWJlU2VjcmV0Q29tbWFuZCxcbiAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kLFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kLFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZCxcbiAgUmVzdG9yZVNlY3JldENvbW1hbmQsXG4gIFJvdGF0ZVNlY3JldENvbW1hbmQsXG4gIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZVNlY3JldENvbW1hbmQsXG4gIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmQsXG4gIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIFNlY3JldHNNYW5hZ2VyU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjcmV0KFxuICAgIGFyZ3M6IENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNlY3JldChcbiAgICBhcmdzOiBEZXNjcmliZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kfVxuICAgKi9cbiAgZ2V0UmFuZG9tUGFzc3dvcmQoXG4gICAgYXJnczogR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VjcmV0VmFsdWVDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3JldFZlcnNpb25JZHMoXG4gICAgYXJnczogTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3JldHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3JldHMoXG4gICAgYXJnczogTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFB1YmxpY1BvbGljeUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0U2VjcmV0VmFsdWVDb21tYW5kfVxuICAgKi9cbiAgcHV0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmR9XG4gICAqL1xuICByZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnMoXG4gICAgYXJnczogUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlU2VjcmV0KFxuICAgIGFyZ3M6IFJlc3RvcmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kfVxuICAgKi9cbiAgc3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhKFxuICAgIGFyZ3M6IFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjcmV0KFxuICAgIGFyZ3M6IFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlKFxuICAgIGFyZ3M6IFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3JldHNNYW5hZ2VyU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNlY3JldHMtbWFuYWdlci9TZWNyZXRzTWFuYWdlclNlcnZpY2VcIixcbik8U2VjcmV0c01hbmFnZXJTZXJ2aWNlLCBTZWNyZXRzTWFuYWdlclNlcnZpY2UkPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import { SecretsManagerServiceException, BatchGetSecretValueCommand, CancelRotateSecretCommand, CreateSecretCommand, DeleteResourcePolicyCommand, DeleteSecretCommand, DescribeSecretCommand, GetRandomPasswordCommand, GetResourcePolicyCommand, GetSecretValueCommand,
|
|
4
|
+
import { SecretsManagerServiceException, BatchGetSecretValueCommand, CancelRotateSecretCommand, CreateSecretCommand, DeleteResourcePolicyCommand, DeleteSecretCommand, DescribeSecretCommand, GetRandomPasswordCommand, GetResourcePolicyCommand, GetSecretValueCommand, ListSecretVersionIdsCommand, ListSecretsCommand, PutResourcePolicyCommand, PutSecretValueCommand, RemoveRegionsFromReplicationCommand, ReplicateSecretToRegionsCommand, RestoreSecretCommand, RotateSecretCommand, StopReplicationToReplicaCommand, TagResourceCommand, UntagResourceCommand, UpdateSecretCommand, UpdateSecretVersionStageCommand, ValidateResourcePolicyCommand, } from "@aws-sdk/client-secrets-manager";
|
|
5
5
|
import { Data, Effect, Layer, Record } from "effect";
|
|
6
6
|
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
7
7
|
import { SecretsManagerClientInstance, SecretsManagerClientInstanceLayer, } from "./SecretsManagerClientInstance";
|
|
@@ -16,8 +16,8 @@ const commands = {
|
|
|
16
16
|
GetRandomPasswordCommand,
|
|
17
17
|
GetResourcePolicyCommand,
|
|
18
18
|
GetSecretValueCommand,
|
|
19
|
-
ListSecretsCommand,
|
|
20
19
|
ListSecretVersionIdsCommand,
|
|
20
|
+
ListSecretsCommand,
|
|
21
21
|
PutResourcePolicyCommand,
|
|
22
22
|
PutSecretValueCommand,
|
|
23
23
|
RemoveRegionsFromReplicationCommand,
|
|
@@ -46,7 +46,10 @@ export const makeSecretsManagerService = Effect.gen(function* (_) {
|
|
|
46
46
|
return Record.toEntries(commands).reduce((acc, [command]) => {
|
|
47
47
|
const CommandCtor = commands[command];
|
|
48
48
|
const methodImpl = (args, options) => Effect.tryPromise({
|
|
49
|
-
try: () => client.send(new CommandCtor(args),
|
|
49
|
+
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
50
|
+
...(options !== null && options !== void 0 ? options : {}),
|
|
51
|
+
abortSignal,
|
|
52
|
+
}),
|
|
50
53
|
catch: (e) => {
|
|
51
54
|
if (e instanceof SecretsManagerServiceException &&
|
|
52
55
|
AllServiceErrors.includes(e.name)) {
|
|
@@ -87,4 +90,4 @@ export const SecretsManagerServiceLayer = BaseSecretsManagerServiceLayer.pipe(La
|
|
|
87
90
|
* @category layers
|
|
88
91
|
*/
|
|
89
92
|
export const DefaultSecretsManagerServiceLayer = SecretsManagerServiceLayer.pipe(Layer.provide(DefaultSecretsManagerClientConfigLayer));
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6QixtQkFBbUIsRUFHbkIsMkJBQTJCLEVBRzNCLG1CQUFtQixFQUduQixxQkFBcUIsRUFHckIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QixxQkFBcUIsRUFHckIsa0JBQWtCLEVBR2xCLDJCQUEyQixFQUczQix3QkFBd0IsRUFHeEIscUJBQXFCLEVBR3JCLG1DQUFtQyxFQUduQywrQkFBK0IsRUFHL0Isb0JBQW9CLEVBR3BCLG1CQUFtQixFQUduQiwrQkFBK0IsRUFHL0Isa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIsK0JBQStCLEVBRy9CLDZCQUE2QixHQUc5QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckQsT0FBTyxFQUNMLGdCQUFnQixFQWFoQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixpQ0FBaUMsR0FDbEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUU5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0Isd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLCtCQUErQjtJQUMvQiw2QkFBNkI7Q0FDOUIsQ0FBQztBQW9YRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsTUFBTSxDQUFDLEdBQUcsQ0FDbkQsMERBQTBELENBQzNELEVBQWlEO0NBQUc7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBRXRELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUM3QyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ2hCLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQztZQUM1RCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUNFLENBQUMsWUFBWSw4QkFBOEI7b0JBQzNDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ2pDLENBQUM7b0JBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLFFBQVEsQ0FBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQTJCLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUN4RCxxQkFBcUIsRUFDckIseUJBQXlCLENBQzFCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyw4QkFBOEIsQ0FBQyxJQUFJLENBQzNFLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FDakQsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUM1QywwQkFBMEIsQ0FBQyxJQUFJLENBQzdCLEtBQUssQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbixcbiAgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3JldHNDb21tYW5kLFxuICB0eXBlIExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWNyZXRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICB0eXBlIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZE91dHB1dCxcbiAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kLFxuICB0eXBlIFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUm90YXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZE91dHB1dCxcbiAgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBEZWNyeXB0aW9uRXJyb3IsXG4gIEVuY3J5cHRpb25FcnJvcixcbiAgSW50ZXJuYWxTZXJ2aWNlRXJyb3IsXG4gIEludmFsaWROZXh0VG9rZW5FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICBJbnZhbGlkUmVxdWVzdEVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3IsXG4gIFByZWNvbmRpdGlvbk5vdE1ldEVycm9yLFxuICBQdWJsaWNQb2xpY3lFcnJvcixcbiAgUmVzb3VyY2VFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2UsXG4gIFNlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZCxcbiAgQ3JlYXRlU2VjcmV0Q29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIExpc3RTZWNyZXRzQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmQsXG4gIFJlc3RvcmVTZWNyZXRDb21tYW5kLFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBTZWNyZXRzTWFuYWdlclNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWNyZXQoXG4gICAgYXJnczogQ3JlYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VjcmV0KFxuICAgIGFyZ3M6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGdldFJhbmRvbVBhc3N3b3JkKFxuICAgIGFyZ3M6IEdldFJhbmRvbVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWNyZXRWYWx1ZUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWNyZXRWYWx1ZShcbiAgICBhcmdzOiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTZWNyZXRWZXJzaW9uSWRzKFxuICAgIGFyZ3M6IExpc3RTZWNyZXRWZXJzaW9uSWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0UmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBQdWJsaWNQb2xpY3lFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIHB1dFNlY3JldFZhbHVlKFxuICAgIGFyZ3M6IFB1dFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlcGxpY2F0ZVNlY3JldFRvUmVnaW9ucyhcbiAgICBhcmdzOiBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZVNlY3JldChcbiAgICBhcmdzOiBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJvdGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzdG9wUmVwbGljYXRpb25Ub1JlcGxpY2EoXG4gICAgYXJnczogU3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWNyZXQoXG4gICAgYXJnczogVXBkYXRlU2VjcmV0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgRW5jcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZShcbiAgICBhcmdzOiBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgU2VjcmV0c01hbmFnZXJTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyL1NlY3JldHNNYW5hZ2VyU2VydmljZVwiLFxuKTxTZWNyZXRzTWFuYWdlclNlcnZpY2UsIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTZWNyZXRzTWFuYWdlclNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0c01hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlY3JldHNNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6QixtQkFBbUIsRUFHbkIsMkJBQTJCLEVBRzNCLG1CQUFtQixFQUduQixxQkFBcUIsRUFHckIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QixxQkFBcUIsRUFHckIsMkJBQTJCLEVBRzNCLGtCQUFrQixFQUdsQix3QkFBd0IsRUFHeEIscUJBQXFCLEVBR3JCLG1DQUFtQyxFQUduQywrQkFBK0IsRUFHL0Isb0JBQW9CLEVBR3BCLG1CQUFtQixFQUduQiwrQkFBK0IsRUFHL0Isa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIsK0JBQStCLEVBRy9CLDZCQUE2QixHQUc5QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckQsT0FBTyxFQUNMLGdCQUFnQixFQWFoQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixpQ0FBaUMsR0FDbEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQWE5RixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQixrQkFBa0I7SUFDbEIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLCtCQUErQjtJQUMvQiw2QkFBNkI7Q0FDOUIsQ0FBQztBQW9YRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsTUFBTSxDQUFDLEdBQUcsQ0FDbkQsMERBQTBELENBQzNELEVBQWlEO0NBQUc7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBRXRELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FDN0QsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO2dCQUNsQixXQUFXO2FBQ1osQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQ0UsQ0FBQyxZQUFZLDhCQUE4QjtvQkFDM0MsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDakMsQ0FBQztvQkFDRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBRWxDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFVixPQUFPLGdCQUFnQixDQUFDO3dCQUN0QixHQUFHLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sUUFBUSxDQUFDO3dCQUNkLEdBQUcsQ0FBQzt3QkFDSixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBMkIsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3hELHFCQUFxQixFQUNyQix5QkFBeUIsQ0FDMUIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLDhCQUE4QixDQUFDLElBQUksQ0FDM0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUNqRCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQzVDLDBCQUEwQixDQUFDLElBQUksQ0FDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlRXhjZXB0aW9uLFxuICBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENhbmNlbFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlY3JldENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3JldHNDb21tYW5kT3V0cHV0LFxuICBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kLFxuICB0eXBlIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnNDb21tYW5kT3V0cHV0LFxuICBSZXN0b3JlU2VjcmV0Q29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlU2VjcmV0Q29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBSb3RhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFJvdGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kLFxuICB0eXBlIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kT3V0cHV0LFxuICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgRGVjcnlwdGlvbkVycm9yLFxuICBFbmNyeXB0aW9uRXJyb3IsXG4gIEludGVybmFsU2VydmljZUVycm9yLFxuICBJbnZhbGlkTmV4dFRva2VuRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFJlcXVlc3RFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFcnJvcixcbiAgUHVibGljUG9saWN5RXJyb3IsXG4gIFJlc291cmNlRXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlLFxuICBTZWNyZXRzTWFuYWdlckNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL1NlY3JldHNNYW5hZ2VyQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRTZWNyZXRzTWFuYWdlckNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjIuMVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxuICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kLFxuICBDcmVhdGVTZWNyZXRDb21tYW5kLFxuICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmQsXG4gIERlc2NyaWJlU2VjcmV0Q29tbWFuZCxcbiAgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kLFxuICBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kLFxuICBMaXN0U2VjcmV0c0NvbW1hbmQsXG4gIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kLFxuICBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZCxcbiAgUmVzdG9yZVNlY3JldENvbW1hbmQsXG4gIFJvdGF0ZVNlY3JldENvbW1hbmQsXG4gIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZVNlY3JldENvbW1hbmQsXG4gIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmQsXG4gIFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIFNlY3JldHNNYW5hZ2VyU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldFNlY3JldFZhbHVlQ29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogQmF0Y2hHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERlY3J5cHRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2FuY2VsUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGNhbmNlbFJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDYW5jZWxSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjcmV0KFxuICAgIGFyZ3M6IENyZWF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNlY3JldChcbiAgICBhcmdzOiBEZWxldGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNlY3JldChcbiAgICBhcmdzOiBEZXNjcmliZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kfVxuICAgKi9cbiAgZ2V0UmFuZG9tUGFzc3dvcmQoXG4gICAgYXJnczogR2V0UmFuZG9tUGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSYW5kb21QYXNzd29yZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBHZXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2VjcmV0VmFsdWVDb21tYW5kfVxuICAgKi9cbiAgZ2V0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3JldFZlcnNpb25JZHMoXG4gICAgYXJnczogTGlzdFNlY3JldFZlcnNpb25JZHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0VmVyc2lvbklkc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3JldHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3JldHMoXG4gICAgYXJnczogTGlzdFNlY3JldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjcmV0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWROZXh0VG9rZW5FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IE1hbGZvcm1lZFBvbGljeURvY3VtZW50RXJyb3JcbiAgICB8IFB1YmxpY1BvbGljeUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0U2VjcmV0VmFsdWVDb21tYW5kfVxuICAgKi9cbiAgcHV0U2VjcmV0VmFsdWUoXG4gICAgYXJnczogUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VFeGlzdHNFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJlZ2lvbnNGcm9tUmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbihcbiAgICBhcmdzOiBSZW1vdmVSZWdpb25zRnJvbVJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUmVnaW9uc0Zyb21SZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlcGxpY2F0ZVNlY3JldFRvUmVnaW9uc0NvbW1hbmR9XG4gICAqL1xuICByZXBsaWNhdGVTZWNyZXRUb1JlZ2lvbnMoXG4gICAgYXJnczogUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVwbGljYXRlU2VjcmV0VG9SZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZVNlY3JldENvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlU2VjcmV0KFxuICAgIGFyZ3M6IFJlc3RvcmVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlU2VjcmV0Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUm90YXRlU2VjcmV0Q29tbWFuZH1cbiAgICovXG4gIHJvdGF0ZVNlY3JldChcbiAgICBhcmdzOiBSb3RhdGVTZWNyZXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSb3RhdGVTZWNyZXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wUmVwbGljYXRpb25Ub1JlcGxpY2FDb21tYW5kfVxuICAgKi9cbiAgc3RvcFJlcGxpY2F0aW9uVG9SZXBsaWNhKFxuICAgIGFyZ3M6IFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BSZXBsaWNhdGlvblRvUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWNyZXRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjcmV0KFxuICAgIGFyZ3M6IFVwZGF0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVjcnlwdGlvbkVycm9yXG4gICAgfCBFbmNyeXB0aW9uRXJyb3JcbiAgICB8IEludGVybmFsU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRSZXF1ZXN0RXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTWFsZm9ybWVkUG9saWN5RG9jdW1lbnRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlRXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWNyZXRWZXJzaW9uU3RhZ2VDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VjcmV0VmVyc2lvblN0YWdlKFxuICAgIGFyZ3M6IFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3JldFZlcnNpb25TdGFnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFJlcXVlc3RFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmFsaWRhdGVSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVJlc291cmNlUG9saWN5KFxuICAgIGFyZ3M6IFZhbGlkYXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBWYWxpZGF0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUmVxdWVzdEVycm9yXG4gICAgfCBNYWxmb3JtZWRQb2xpY3lEb2N1bWVudEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3JldHNNYW5hZ2VyU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNlY3JldHMtbWFuYWdlci9TZWNyZXRzTWFuYWdlclNlcnZpY2VcIixcbik8U2VjcmV0c01hbmFnZXJTZXJ2aWNlLCBTZWNyZXRzTWFuYWdlclNlcnZpY2UkPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFNlY3JldHNNYW5hZ2VyU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTZWNyZXRzTWFuYWdlclNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNlY3JldHNNYW5hZ2VyU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuICBtYWtlU2VjcmV0c01hbmFnZXJTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyID0gQmFzZVNlY3JldHNNYW5hZ2VyU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU2VjcmV0c01hbmFnZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VjcmV0c01hbmFnZXJTZXJ2aWNlTGF5ZXIgPVxuICBTZWNyZXRzTWFuYWdlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFNlY3JldHNNYW5hZ2VyQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
package/package.json
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"@types/node": "^18",
|
|
10
10
|
"@typescript-eslint/eslint-plugin": "^7",
|
|
11
11
|
"@typescript-eslint/parser": "^7",
|
|
12
|
-
"aws-sdk-client-mock": "^
|
|
13
|
-
"aws-sdk-client-mock-
|
|
12
|
+
"aws-sdk-client-mock": "^4.0.2",
|
|
13
|
+
"aws-sdk-client-mock-vitest": "^4.0.0",
|
|
14
14
|
"effect": "3.0.0",
|
|
15
15
|
"eslint": "^8",
|
|
16
16
|
"eslint-config-prettier": "^9.1.0",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
"eslint-plugin-import": "^2.29.1",
|
|
19
19
|
"eslint-plugin-prettier": "^5.2.1",
|
|
20
20
|
"prettier": "^3.2.5",
|
|
21
|
-
"typescript": "^5.4.2"
|
|
21
|
+
"typescript": "^5.4.2",
|
|
22
|
+
"vitest": "^2.0.5"
|
|
22
23
|
},
|
|
23
24
|
"peerDependencies": {
|
|
24
25
|
"effect": ">=3.0.0 <4.0.0"
|
|
25
26
|
},
|
|
26
27
|
"dependencies": {
|
|
27
|
-
"@aws-sdk/client-secrets-manager": "^3"
|
|
28
|
-
"@aws-sdk/types": "^3"
|
|
28
|
+
"@aws-sdk/client-secrets-manager": "^3"
|
|
29
29
|
},
|
|
30
30
|
"main": "lib/index.js",
|
|
31
31
|
"license": "MIT",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
|
-
"version": "1.1
|
|
36
|
+
"version": "1.2.1",
|
|
37
37
|
"types": "lib/index.d.ts",
|
|
38
38
|
"module": "lib/esm/index.js",
|
|
39
39
|
"sideEffects": [],
|
package/vitest.config.ts
ADDED