@effect-aws/client-sfn 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +82 -1
- package/lib/Errors.d.ts +22 -16
- package/lib/Errors.js +39 -27
- package/lib/SFNClientInstanceConfig.d.ts +1 -3
- package/lib/SFNClientInstanceConfig.js +22 -38
- package/lib/SFNService.d.ts +98 -48
- package/lib/SFNService.js +13 -6
- package/lib/esm/Errors.js +37 -2
- package/lib/esm/SFNClientInstanceConfig.js +17 -10
- package/lib/esm/SFNService.js +14 -8
- package/package.json +12 -14
- package/vitest.config.ts +3 -0
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Layer from "effect/Layer";
|
|
4
|
-
import * as Runtime from "effect/Runtime";
|
|
1
|
+
import { Context, Effect, Layer, Runtime } from "effect";
|
|
5
2
|
/**
|
|
6
3
|
* @since 1.0.0
|
|
7
4
|
* @category tags
|
|
@@ -17,11 +14,21 @@ export const makeDefaultSFNClientInstanceConfig = Effect.gen(function* (_) {
|
|
|
17
14
|
const runSync = Runtime.runSync(runtime);
|
|
18
15
|
return {
|
|
19
16
|
logger: {
|
|
20
|
-
info
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
info(m) {
|
|
18
|
+
Effect.logInfo(m).pipe(runSync);
|
|
19
|
+
},
|
|
20
|
+
warn(m) {
|
|
21
|
+
Effect.logWarning(m).pipe(runSync);
|
|
22
|
+
},
|
|
23
|
+
error(m) {
|
|
24
|
+
Effect.logError(m).pipe(runSync);
|
|
25
|
+
},
|
|
26
|
+
debug(m) {
|
|
27
|
+
Effect.logDebug(m).pipe(runSync);
|
|
28
|
+
},
|
|
29
|
+
trace(m) {
|
|
30
|
+
Effect.logTrace(m).pipe(runSync);
|
|
31
|
+
},
|
|
25
32
|
},
|
|
26
33
|
};
|
|
27
34
|
});
|
|
@@ -30,4 +37,4 @@ export const makeDefaultSFNClientInstanceConfig = Effect.gen(function* (_) {
|
|
|
30
37
|
* @category layers
|
|
31
38
|
*/
|
|
32
39
|
export const DefaultSFNClientConfigLayer = Layer.effect(SFNClientInstanceConfig, makeDefaultSFNClientInstanceConfig);
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV6RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDdEQsZ0RBQWdELENBQ2pELEVBQTRDO0NBQUc7QUFFaEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQzdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUNyQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBUyxDQUFDLENBQUM7SUFDbEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVMOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3JELHVCQUF1QixFQUN2QixrQ0FBa0MsQ0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB0eXBlIHsgU0ZOQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZm5cIjtcbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFJ1bnRpbWUgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtc2ZuL1NGTkNsaWVudEluc3RhbmNlQ29uZmlnXCIsXG4pPFNGTkNsaWVudEluc3RhbmNlQ29uZmlnLCBTRk5DbGllbnRDb25maWc+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VEZWZhdWx0U0ZOQ2xpZW50SW5zdGFuY2VDb25maWc6IEVmZmVjdC5FZmZlY3Q8U0ZOQ2xpZW50Q29uZmlnPiA9XG4gIEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gICAgY29uc3QgcnVudGltZSA9IHlpZWxkKiBfKEVmZmVjdC5ydW50aW1lPG5ldmVyPigpKTtcbiAgICBjb25zdCBydW5TeW5jID0gUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2dlcjoge1xuICAgICAgICBpbmZvKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nSW5mbyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB3YXJuKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nV2FybmluZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0Vycm9yKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGRlYnVnKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRGVidWcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHJhY2UobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dUcmFjZShtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTRk5DbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIG1ha2VEZWZhdWx0U0ZOQ2xpZW50SW5zdGFuY2VDb25maWcsXG4pO1xuIl19
|
package/lib/esm/SFNService.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { SdkError, } from "./Errors";
|
|
4
|
+
import { SFNServiceException, CreateActivityCommand, CreateStateMachineCommand, CreateStateMachineAliasCommand, DeleteActivityCommand, DeleteStateMachineCommand, DeleteStateMachineAliasCommand, DeleteStateMachineVersionCommand, DescribeActivityCommand, DescribeExecutionCommand, DescribeMapRunCommand, DescribeStateMachineCommand, DescribeStateMachineAliasCommand, DescribeStateMachineForExecutionCommand, GetActivityTaskCommand, GetExecutionHistoryCommand, ListActivitiesCommand, ListExecutionsCommand, ListMapRunsCommand, ListStateMachineAliasesCommand, ListStateMachinesCommand, ListStateMachineVersionsCommand, ListTagsForResourceCommand, PublishStateMachineVersionCommand, RedriveExecutionCommand, SendTaskFailureCommand, SendTaskHeartbeatCommand, SendTaskSuccessCommand, StartExecutionCommand, StartSyncExecutionCommand, StopExecutionCommand, TagResourceCommand, TestStateCommand, UntagResourceCommand, UpdateMapRunCommand, UpdateStateMachineCommand, UpdateStateMachineAliasCommand, ValidateStateMachineDefinitionCommand, } from "@aws-sdk/client-sfn";
|
|
5
|
+
import { Data, Effect, Layer, Record } from "effect";
|
|
6
|
+
import { AllServiceErrors, SdkError, } from "./Errors";
|
|
7
7
|
import { SFNClientInstance, SFNClientInstanceLayer } from "./SFNClientInstance";
|
|
8
8
|
import { DefaultSFNClientConfigLayer } from "./SFNClientInstanceConfig";
|
|
9
9
|
const commands = {
|
|
@@ -43,12 +43,14 @@ const commands = {
|
|
|
43
43
|
UpdateMapRunCommand,
|
|
44
44
|
UpdateStateMachineCommand,
|
|
45
45
|
UpdateStateMachineAliasCommand,
|
|
46
|
+
ValidateStateMachineDefinitionCommand,
|
|
46
47
|
};
|
|
47
48
|
/**
|
|
48
49
|
* @since 1.0.0
|
|
49
|
-
* @category
|
|
50
|
+
* @category models
|
|
50
51
|
*/
|
|
51
|
-
export
|
|
52
|
+
export class SFNService extends Effect.Tag("@effect-aws/client-sfn/SFNService")() {
|
|
53
|
+
}
|
|
52
54
|
/**
|
|
53
55
|
* @since 1.0.0
|
|
54
56
|
* @category constructors
|
|
@@ -58,9 +60,13 @@ export const makeSFNService = Effect.gen(function* (_) {
|
|
|
58
60
|
return Record.toEntries(commands).reduce((acc, [command]) => {
|
|
59
61
|
const CommandCtor = commands[command];
|
|
60
62
|
const methodImpl = (args, options) => Effect.tryPromise({
|
|
61
|
-
try: () => client.send(new CommandCtor(args),
|
|
63
|
+
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
64
|
+
...(options !== null && options !== void 0 ? options : {}),
|
|
65
|
+
abortSignal,
|
|
66
|
+
}),
|
|
62
67
|
catch: (e) => {
|
|
63
|
-
if (e instanceof SFNServiceException
|
|
68
|
+
if (e instanceof SFNServiceException &&
|
|
69
|
+
AllServiceErrors.includes(e.name)) {
|
|
64
70
|
const ServiceException = Data.tagged(e.name);
|
|
65
71
|
return ServiceException({
|
|
66
72
|
...e,
|
|
@@ -98,4 +104,4 @@ export const SFNServiceLayer = BaseSFNServiceLayer.pipe(Layer.provide(SFNClientI
|
|
|
98
104
|
* @category layers
|
|
99
105
|
*/
|
|
100
106
|
export const DefaultSFNServiceLayer = SFNServiceLayer.pipe(Layer.provide(DefaultSFNClientConfigLayer));
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TRk5TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUNMLHFCQUFxQixFQUdyQiw4QkFBOEIsRUFHOUIseUJBQXlCLEVBR3pCLHFCQUFxQixFQUdyQiw4QkFBOEIsRUFHOUIseUJBQXlCLEVBR3pCLGdDQUFnQyxFQUdoQyx1QkFBdUIsRUFHdkIsd0JBQXdCLEVBR3hCLHFCQUFxQixFQUdyQixnQ0FBZ0MsRUFHaEMsMkJBQTJCLEVBRzNCLHVDQUF1QyxFQUd2QyxzQkFBc0IsRUFHdEIsMEJBQTBCLEVBRzFCLHFCQUFxQixFQUdyQixxQkFBcUIsRUFHckIsa0JBQWtCLEVBR2xCLDhCQUE4QixFQUc5QiwrQkFBK0IsRUFHL0Isd0JBQXdCLEVBR3hCLDBCQUEwQixFQUcxQixpQ0FBaUMsRUFHakMsdUJBQXVCLEVBR3ZCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFHdEIsd0JBQXdCLEVBR3hCLHNCQUFzQixFQUd0QixxQkFBcUIsRUFHckIseUJBQXlCLEVBR3pCLG9CQUFvQixFQUdwQixrQkFBa0IsRUFHbEIsZ0JBQWdCLEVBR2hCLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIsOEJBQThCLEVBRzlCLHlCQUF5QixHQUcxQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlELE9BQU8sRUFtQkwsUUFBUSxHQVlULE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhFLE1BQU0sUUFBUSxHQUFHO0lBQ2YscUJBQXFCO0lBQ3JC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QUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFFNUU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUN0QyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kLFxuICBDcmVhdGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQWN0aXZpdHlDb21tYW5kLFxuICBEZWxldGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZCxcbiAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZCxcbiAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVNYXBSdW5Db21tYW5kLFxuICBEZXNjcmliZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kLFxuICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kSW5wdXQsXG4gIEdldEFjdGl2aXR5VGFza0NvbW1hbmRPdXRwdXQsXG4gIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kLFxuICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZElucHV0LFxuICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZE91dHB1dCxcbiAgTGlzdEFjdGl2aXRpZXNDb21tYW5kLFxuICBMaXN0QWN0aXZpdGllc0NvbW1hbmRJbnB1dCxcbiAgTGlzdEFjdGl2aXRpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RXhlY3V0aW9uc0NvbW1hbmQsXG4gIExpc3RFeGVjdXRpb25zQ29tbWFuZElucHV0LFxuICBMaXN0RXhlY3V0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNYXBSdW5zQ29tbWFuZCxcbiAgTGlzdE1hcFJ1bnNDb21tYW5kSW5wdXQsXG4gIExpc3RNYXBSdW5zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kSW5wdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kLFxuICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgU0ZOU2VydmljZUV4Y2VwdGlvbixcbiAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZCxcbiAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZElucHV0LFxuICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kT3V0cHV0LFxuICBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmQsXG4gIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZElucHV0LFxuICBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmQsXG4gIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRFeGVjdXRpb25Db21tYW5kLFxuICBTdGFydEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgU3RhcnRFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kLFxuICBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kLFxuICBTdG9wRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICBTdG9wRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBUZXN0U3RhdGVDb21tYW5kLFxuICBUZXN0U3RhdGVDb21tYW5kSW5wdXQsXG4gIFRlc3RTdGF0ZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTWFwUnVuQ29tbWFuZCxcbiAgVXBkYXRlTWFwUnVuQ29tbWFuZElucHV0LFxuICBVcGRhdGVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZm5cIjtcbmltcG9ydCB7IEh0dHBIYW5kbGVyT3B0aW9ucyBhcyBfX0h0dHBIYW5kbGVyT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCwgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvcixcbiAgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBFeGVjdXRpb25BbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yLFxuICBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEV4ZWN1dGlvbk5vdFJlZHJpdmFibGVFcnJvcixcbiAgSW52YWxpZEFybkVycm9yLFxuICBJbnZhbGlkRGVmaW5pdGlvbkVycm9yLFxuICBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvcixcbiAgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IsXG4gIEludmFsaWROYW1lRXJyb3IsXG4gIEludmFsaWRPdXRwdXRFcnJvcixcbiAgSW52YWxpZFRva2VuRXJyb3IsXG4gIEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yLFxuICBNaXNzaW5nUmVxdWlyZWRQYXJhbWV0ZXJFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvcixcbiAgU3RhdGVNYWNoaW5lQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yLFxuICBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvcixcbiAgU3RhdGVNYWNoaW5lTGltaXRFeGNlZWRlZEVycm9yLFxuICBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbiAgVGFza0RvZXNOb3RFeGlzdEVycm9yLFxuICBUYXNrVGltZWRPdXRFcnJvcixcbiAgVG9vTWFueVRhZ3NFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7IFNGTkNsaWVudEluc3RhbmNlLCBTRk5DbGllbnRJbnN0YW5jZUxheWVyIH0gZnJvbSBcIi4vU0ZOQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRTRk5DbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL1NGTkNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBDcmVhdGVBY3Rpdml0eUNvbW1hbmQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlQWN0aXZpdHlDb21tYW5kLFxuICBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZCxcbiAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kLFxuICBEZXNjcmliZU1hcFJ1bkNvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZCxcbiAgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZCxcbiAgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmQsXG4gIExpc3RBY3Rpdml0aWVzQ29tbWFuZCxcbiAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kLFxuICBMaXN0TWFwUnVuc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZCxcbiAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZCxcbiAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kLFxuICBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kLFxuICBTdGFydEV4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFRlc3RTdGF0ZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVNYXBSdW5Db21tYW5kLFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG59O1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNGTlNlcnZpY2Uge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY3Rpdml0eUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVBY3Rpdml0eShcbiAgICBhcmdzOiBDcmVhdGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3IgfCBJbnZhbGlkTmFtZUVycm9yIHwgVG9vTWFueVRhZ3NFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRGVmaW5pdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IFRvb01hbnlUYWdzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBY3Rpdml0eUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBY3Rpdml0eShcbiAgICBhcmdzOiBEZWxldGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVsZXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvcj47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb24oXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDb25mbGljdEVycm9yIHwgSW52YWxpZEFybkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQWN0aXZpdHkoXG4gICAgYXJnczogRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBBY3Rpdml0eURvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZEFybkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUV4ZWN1dGlvbihcbiAgICBhcmdzOiBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlTWFwUnVuQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlTWFwUnVuKFxuICAgIGFyZ3M6IERlc2NyaWJlTWFwUnVuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbihcbiAgICBhcmdzOiBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjdGl2aXR5VGFza0NvbW1hbmR9XG4gICAqL1xuICBnZXRBY3Rpdml0eVRhc2soXG4gICAgYXJnczogR2V0QWN0aXZpdHlUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kfVxuICAgKi9cbiAgZ2V0RXhlY3V0aW9uSGlzdG9yeShcbiAgICBhcmdzOiBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZEFybkVycm9yIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBY3Rpdml0aWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY3Rpdml0aWVzKFxuICAgIGFyZ3M6IExpc3RBY3Rpdml0aWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0QWN0aXZpdGllc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3I+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEV4ZWN1dGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEV4ZWN1dGlvbnMoXG4gICAgYXJnczogTGlzdEV4ZWN1dGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RFeGVjdXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE1hcFJ1bnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE1hcFJ1bnMoXG4gICAgYXJnczogTGlzdE1hcFJ1bnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RNYXBSdW5zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZEFybkVycm9yIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzKFxuICAgIGFyZ3M6IExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN0YXRlTWFjaGluZXMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRUb2tlbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN0YXRlTWFjaGluZVZlcnNpb25zKFxuICAgIGFyZ3M6IExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IEludmFsaWRUb2tlbkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIHB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlZHJpdmVFeGVjdXRpb24oXG4gICAgYXJnczogUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgRXhlY3V0aW9uTm90UmVkcml2YWJsZUVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza0ZhaWx1cmUoXG4gICAgYXJnczogU2VuZFRhc2tGYWlsdXJlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3IgfCBUYXNrRG9lc05vdEV4aXN0RXJyb3IgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kfVxuICAgKi9cbiAgc2VuZFRhc2tIZWFydGJlYXQoXG4gICAgYXJnczogU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRUb2tlbkVycm9yIHwgVGFza0RvZXNOb3RFeGlzdEVycm9yIHwgVGFza1RpbWVkT3V0RXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza1N1Y2Nlc3MoXG4gICAgYXJnczogU2VuZFRhc2tTdWNjZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRPdXRwdXRFcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IFRhc2tEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVGFza1RpbWVkT3V0RXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0RXhlY3V0aW9uKFxuICAgIGFyZ3M6IFN0YXJ0RXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdGFydFN5bmNFeGVjdXRpb24oXG4gICAgYXJnczogU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RvcEV4ZWN1dGlvbihcbiAgICBhcmdzOiBTdG9wRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZEFybkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVG9vTWFueVRhZ3NFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGVzdFN0YXRlQ29tbWFuZH1cbiAgICovXG4gIHRlc3RTdGF0ZShcbiAgICBhcmdzOiBUZXN0U3RhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRlc3RTdGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRGVmaW5pdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZU1hcFJ1bkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVNYXBSdW4oXG4gICAgYXJnczogVXBkYXRlTWFwUnVuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVNYXBSdW5Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgTWlzc2luZ1JlcXVpcmVkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IFNGTlNlcnZpY2UgPSBDb250ZXh0LkdlbmVyaWNUYWc8U0ZOU2VydmljZT4oXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNmbi9TRk5TZXJ2aWNlXCIsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNGTlNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTRk5DbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9uczogYW55KSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6ICgpID0+IGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwgb3B0aW9ucyA/PyB7fSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgU0ZOU2VydmljZUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248U0ZOU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgU0ZOU2VydmljZTtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZVNGTlNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChTRk5TZXJ2aWNlLCBtYWtlU0ZOU2VydmljZSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBTRk5TZXJ2aWNlTGF5ZXIgPSBCYXNlU0ZOU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU0ZOQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNGTlNlcnZpY2VMYXllciA9IFNGTlNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTRk5DbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TRk5TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFHckIseUJBQXlCLEVBR3pCLDhCQUE4QixFQUc5QixxQkFBcUIsRUFHckIseUJBQXlCLEVBR3pCLDhCQUE4QixFQUc5QixnQ0FBZ0MsRUFHaEMsdUJBQXVCLEVBR3ZCLHdCQUF3QixFQUd4QixxQkFBcUIsRUFHckIsMkJBQTJCLEVBRzNCLGdDQUFnQyxFQUdoQyx1Q0FBdUMsRUFHdkMsc0JBQXNCLEVBR3RCLDBCQUEwQixFQUcxQixxQkFBcUIsRUFHckIscUJBQXFCLEVBR3JCLGtCQUFrQixFQUdsQiw4QkFBOEIsRUFHOUIsd0JBQXdCLEVBR3hCLCtCQUErQixFQUcvQiwwQkFBMEIsRUFHMUIsaUNBQWlDLEVBR2pDLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsd0JBQXdCLEVBR3hCLHNCQUFzQixFQUd0QixxQkFBcUIsRUFHckIseUJBQXlCLEVBR3pCLG9CQUFvQixFQUdwQixrQkFBa0IsRUFHbEIsZ0JBQWdCLEVBR2hCLG9CQUFvQixFQUdwQixtQkFBbUIsRUFHbkIseUJBQXlCLEVBR3pCLDhCQUE4QixFQUc5QixxQ0FBcUMsR0FHdEMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JELE9BQU8sRUFDTCxnQkFBZ0IsRUFrQ2hCLFFBQVEsR0FFVCxNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVV4RSxNQUFNLFFBQVEsR0FBRztJ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QUM7UUFDRixPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QyxDQUFDLEVBQUUsRUFBRSxDQUFnQixDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFFNUU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUN0QyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgU0ZOU2VydmljZUV4Y2VwdGlvbixcbiAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kLFxuICB0eXBlIENyZWF0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQWN0aXZpdHlDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVNYXBSdW5Db21tYW5kLFxuICB0eXBlIERlc2NyaWJlTWFwUnVuQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZCxcbiAgdHlwZSBHZXRBY3Rpdml0eVRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZE91dHB1dCxcbiAgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmQsXG4gIHR5cGUgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZE91dHB1dCxcbiAgTGlzdEFjdGl2aXRpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBY3Rpdml0aWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBY3Rpdml0aWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RFeGVjdXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RFeGVjdXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1hcFJ1bnNDb21tYW5kLFxuICB0eXBlIExpc3RNYXBSdW5zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RNYXBSdW5zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kLFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kLFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICB0eXBlIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZCxcbiAgdHlwZSBTZW5kVGFza0ZhaWx1cmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZE91dHB1dCxcbiAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kLFxuICB0eXBlIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZE91dHB1dCxcbiAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZCxcbiAgdHlwZSBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RvcEV4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RvcEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVGVzdFN0YXRlQ29tbWFuZCxcbiAgdHlwZSBUZXN0U3RhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGVzdFN0YXRlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTWFwUnVuQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVNYXBSdW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZCxcbiAgdHlwZSBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZm5cIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEFjdGl2aXR5QWxyZWFkeUV4aXN0c0Vycm9yLFxuICBBY3Rpdml0eURvZXNOb3RFeGlzdEVycm9yLFxuICBBY3Rpdml0eUxpbWl0RXhjZWVkZWRFcnJvcixcbiAgQWN0aXZpdHlXb3JrZXJMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIEV4ZWN1dGlvbkFscmVhZHlFeGlzdHNFcnJvcixcbiAgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IsXG4gIEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvcixcbiAgRXhlY3V0aW9uTm90UmVkcml2YWJsZUVycm9yLFxuICBJbnZhbGlkQXJuRXJyb3IsXG4gIEludmFsaWREZWZpbml0aW9uRXJyb3IsXG4gIEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yLFxuICBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvcixcbiAgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IsXG4gIEludmFsaWROYW1lRXJyb3IsXG4gIEludmFsaWRPdXRwdXRFcnJvcixcbiAgSW52YWxpZFRva2VuRXJyb3IsXG4gIEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yLFxuICBLbXNBY2Nlc3NEZW5pZWRFcnJvcixcbiAgS21zSW52YWxpZFN0YXRlRXJyb3IsXG4gIEttc1Rocm90dGxpbmdFcnJvcixcbiAgTWlzc2luZ1JlcXVpcmVkUGFyYW1ldGVyRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvcixcbiAgU3RhdGVNYWNoaW5lQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yLFxuICBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvcixcbiAgU3RhdGVNYWNoaW5lTGltaXRFeGNlZWRlZEVycm9yLFxuICBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3IsXG4gIFRhc2tEb2VzTm90RXhpc3RFcnJvcixcbiAgVGFza1RpbWVkT3V0RXJyb3IsXG4gIFRvb01hbnlUYWdzRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQgeyBTRk5DbGllbnRJbnN0YW5jZSwgU0ZOQ2xpZW50SW5zdGFuY2VMYXllciB9IGZyb20gXCIuL1NGTkNsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0U0ZOQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TRk5DbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG5pbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kLFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmQsXG4gIERlbGV0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmQsXG4gIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZCxcbiAgRGVzY3JpYmVNYXBSdW5Db21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmQsXG4gIEdldEFjdGl2aXR5VGFza0NvbW1hbmQsXG4gIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kLFxuICBMaXN0QWN0aXZpdGllc0NvbW1hbmQsXG4gIExpc3RFeGVjdXRpb25zQ29tbWFuZCxcbiAgTGlzdE1hcFJ1bnNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmQsXG4gIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZCxcbiAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZCxcbiAgU3RhcnRFeGVjdXRpb25Db21tYW5kLFxuICBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kLFxuICBTdG9wRXhlY3V0aW9uQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBUZXN0U3RhdGVDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVXBkYXRlTWFwUnVuQ29tbWFuZCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kLFxufTtcblxuaW50ZXJmYWNlIFNGTlNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQWN0aXZpdHlDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQWN0aXZpdHkoXG4gICAgYXJnczogQ3JlYXRlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWN0aXZpdHlBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEFjdGl2aXR5TGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgVG9vTWFueVRhZ3NFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRGVmaW5pdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBY3Rpdml0eUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBY3Rpdml0eShcbiAgICBhcmdzOiBEZWxldGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZUFjdGl2aXR5Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb24oXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ29uZmxpY3RFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQWN0aXZpdHkoXG4gICAgYXJnczogRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvciB8IEludmFsaWRBcm5FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUV4ZWN1dGlvbihcbiAgICBhcmdzOiBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU1hcFJ1bkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZU1hcFJ1bihcbiAgICBhcmdzOiBEZXNjcmliZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEFjdGl2aXR5VGFza0NvbW1hbmR9XG4gICAqL1xuICBnZXRBY3Rpdml0eVRhc2soXG4gICAgYXJnczogR2V0QWN0aXZpdHlUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY3Rpdml0eURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBBY3Rpdml0eVdvcmtlckxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZH1cbiAgICovXG4gIGdldEV4ZWN1dGlvbkhpc3RvcnkoXG4gICAgYXJnczogR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QWN0aXZpdGllc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QWN0aXZpdGllcyhcbiAgICBhcmdzOiBMaXN0QWN0aXZpdGllc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RBY3Rpdml0aWVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RFeGVjdXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RFeGVjdXRpb25zKFxuICAgIGFyZ3M6IExpc3RFeGVjdXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RNYXBSdW5zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RNYXBSdW5zKFxuICAgIGFyZ3M6IExpc3RNYXBSdW5zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1hcFJ1bnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3RhdGVNYWNoaW5lQWxpYXNlcyhcbiAgICBhcmdzOiBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdGF0ZU1hY2hpbmVzKFxuICAgIGFyZ3M6IExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdGF0ZU1hY2hpbmVWZXJzaW9ucyhcbiAgICBhcmdzOiBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgSW52YWxpZFRva2VuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0VGFnc0ZvclJlc291cmNlKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBwdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbihcbiAgICBhcmdzOiBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWRyaXZlRXhlY3V0aW9uKFxuICAgIGFyZ3M6IFJlZHJpdmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgRXhlY3V0aW9uTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBFeGVjdXRpb25Ob3RSZWRyaXZhYmxlRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza0ZhaWx1cmUoXG4gICAgYXJnczogU2VuZFRhc2tGYWlsdXJlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFRhc2tEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVGFza1RpbWVkT3V0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kfVxuICAgKi9cbiAgc2VuZFRhc2tIZWFydGJlYXQoXG4gICAgYXJnczogU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvciB8IFRhc2tEb2VzTm90RXhpc3RFcnJvciB8IFRhc2tUaW1lZE91dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza1N1Y2Nlc3MoXG4gICAgYXJnczogU2VuZFRhc2tTdWNjZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkT3V0cHV0RXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgVGFza0RvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydEV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdGFydEV4ZWN1dGlvbihcbiAgICBhcmdzOiBTdGFydEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25BbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0U3luY0V4ZWN1dGlvbihcbiAgICBhcmdzOiBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RvcEV4ZWN1dGlvbihcbiAgICBhcmdzOiBTdG9wRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFRvb01hbnlUYWdzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGVzdFN0YXRlQ29tbWFuZH1cbiAgICovXG4gIHRlc3RTdGF0ZShcbiAgICBhcmdzOiBUZXN0U3RhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUZXN0U3RhdGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZERlZmluaXRpb25FcnJvclxuICAgIHwgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZU1hcFJ1bkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVNYXBSdW4oXG4gICAgYXJnczogVXBkYXRlTWFwUnVuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRGVmaW5pdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBNaXNzaW5nUmVxdWlyZWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmR9XG4gICAqL1xuICB2YWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb24oXG4gICAgYXJnczogVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgU0ZOU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXCJAZWZmZWN0LWF3cy9jbGllbnQtc2ZuL1NGTlNlcnZpY2VcIik8XG4gIFNGTlNlcnZpY2UsXG4gIFNGTlNlcnZpY2UkXG4+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VTRk5TZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU0ZOQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBTRk5TZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPFNGTlNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNGTlNlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlU0ZOU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFNGTlNlcnZpY2UsIG1ha2VTRk5TZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNGTlNlcnZpY2VMYXllciA9IEJhc2VTRk5TZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShTRk5DbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U0ZOU2VydmljZUxheWVyID0gU0ZOU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
|
package/package.json
CHANGED
|
@@ -7,27 +7,25 @@
|
|
|
7
7
|
},
|
|
8
8
|
"devDependencies": {
|
|
9
9
|
"@types/node": "^18",
|
|
10
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
11
|
-
"@typescript-eslint/parser": "^
|
|
12
|
-
"aws-sdk-client-mock": "^
|
|
13
|
-
"aws-sdk-client-mock-
|
|
14
|
-
"constructs": "^10.0.0",
|
|
10
|
+
"@typescript-eslint/eslint-plugin": "^7",
|
|
11
|
+
"@typescript-eslint/parser": "^7",
|
|
12
|
+
"aws-sdk-client-mock": "^4.0.2",
|
|
13
|
+
"aws-sdk-client-mock-vitest": "^4.0.0",
|
|
15
14
|
"effect": "3.0.0",
|
|
16
15
|
"eslint": "^8",
|
|
17
|
-
"eslint-config-prettier": "^9.
|
|
16
|
+
"eslint-config-prettier": "^9.1.0",
|
|
18
17
|
"eslint-import-resolver-typescript": "^3.6.1",
|
|
19
|
-
"eslint-plugin-import": "^2.
|
|
20
|
-
"eslint-plugin-prettier": "^5.
|
|
21
|
-
"prettier": "^3.
|
|
22
|
-
"
|
|
23
|
-
"
|
|
18
|
+
"eslint-plugin-import": "^2.29.1",
|
|
19
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
20
|
+
"prettier": "^3.2.5",
|
|
21
|
+
"typescript": "^5.4.2",
|
|
22
|
+
"vitest": "^2.0.5"
|
|
24
23
|
},
|
|
25
24
|
"peerDependencies": {
|
|
26
25
|
"effect": ">=3.0.0 <4.0.0"
|
|
27
26
|
},
|
|
28
27
|
"dependencies": {
|
|
29
|
-
"@aws-sdk/client-sfn": "^3"
|
|
30
|
-
"@aws-sdk/types": "^3"
|
|
28
|
+
"@aws-sdk/client-sfn": "^3"
|
|
31
29
|
},
|
|
32
30
|
"main": "lib/index.js",
|
|
33
31
|
"license": "MIT",
|
|
@@ -35,7 +33,7 @@
|
|
|
35
33
|
"publishConfig": {
|
|
36
34
|
"access": "public"
|
|
37
35
|
},
|
|
38
|
-
"version": "1.
|
|
36
|
+
"version": "1.4.0",
|
|
39
37
|
"types": "lib/index.d.ts",
|
|
40
38
|
"module": "lib/esm/index.js",
|
|
41
39
|
"sideEffects": [],
|
package/vitest.config.ts
ADDED