@effect-aws/client-sns 0.1.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/.gitattributes ADDED
@@ -0,0 +1,21 @@
1
+ # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
2
+
3
+ /./tsconfig.esm.json linguist-generated
4
+ /.eslintrc.json linguist-generated
5
+ /.gitattributes linguist-generated
6
+ /.gitignore linguist-generated
7
+ /.npmignore linguist-generated
8
+ /.npmrc linguist-generated
9
+ /.prettierignore linguist-generated
10
+ /.prettierrc.json linguist-generated
11
+ /.projen/** linguist-generated
12
+ /.projen/deps.json linguist-generated
13
+ /.projen/files.json linguist-generated
14
+ /.projen/tasks.json linguist-generated
15
+ /jest.config.json linguist-generated
16
+ /LICENSE linguist-generated
17
+ /package.json linguist-generated
18
+ /pnpm-lock.yaml linguist-generated
19
+ /project.json linguist-generated
20
+ /tsconfig.dev.json linguist-generated
21
+ /tsconfig.json linguist-generated
@@ -0,0 +1 @@
1
+ # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
@@ -0,0 +1,3 @@
1
+ {
2
+ "overrides": []
3
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # @effect-aws/client-sns
2
+
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`5f0a4c9`](https://github.com/floydspace/effect-aws/commit/5f0a4c9971e5ecfaff28fd5d1a51fa35e776e409) Thanks [@floydspace](https://github.com/floydspace)! - implement effectful sns client
package/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2023 Victor Korzunin
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # replace this
@@ -0,0 +1,8 @@
1
+ import { SNSClient, SNSClientConfig } from "@aws-sdk/client-sns";
2
+ import * as Context from "@effect/data/Context";
3
+ import * as Layer from "@effect/io/Layer";
4
+ export declare const SNSClientConfigTag: Context.Tag<SNSClientConfig, SNSClientConfig>;
5
+ export declare const DefaultSNSClientConfigLayer: Layer.Layer<never, never, SNSClientConfig>;
6
+ export declare const SNSClientInstanceTag: Context.Tag<SNSClient, SNSClient>;
7
+ export declare const SNSClientInstanceLayer: Layer.Layer<SNSClientConfig, never, SNSClient>;
8
+ export declare const DefaultSNSClientInstanceLayer: Layer.Layer<never, never, SNSClient>;
package/lib/Context.js ADDED
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DefaultSNSClientInstanceLayer = exports.SNSClientInstanceLayer = exports.SNSClientInstanceTag = exports.DefaultSNSClientConfigLayer = exports.SNSClientConfigTag = void 0;
27
+ const client_sns_1 = require("@aws-sdk/client-sns");
28
+ const Context = __importStar(require("@effect/data/Context"));
29
+ const Function_1 = require("@effect/data/Function");
30
+ const Effect = __importStar(require("@effect/io/Effect"));
31
+ const Layer = __importStar(require("@effect/io/Layer"));
32
+ const Runtime = __importStar(require("@effect/io/Runtime"));
33
+ exports.SNSClientConfigTag = Context.Tag("@effect-aws/SNSClient/Config");
34
+ exports.DefaultSNSClientConfigLayer = Layer.effect(exports.SNSClientConfigTag, Effect.runtime().pipe(Effect.map((runtime) => ({
35
+ logger: {
36
+ info: (0, Function_1.flow)(Effect.logInfo, Runtime.runSync(runtime)),
37
+ warn: (0, Function_1.flow)(Effect.logWarning, Runtime.runSync(runtime)),
38
+ error: (0, Function_1.flow)(Effect.logError, Runtime.runSync(runtime)),
39
+ debug: (0, Function_1.flow)(Effect.logDebug, Runtime.runSync(runtime)),
40
+ trace: (0, Function_1.flow)(Effect.logTrace, Runtime.runSync(runtime)),
41
+ },
42
+ }))));
43
+ exports.SNSClientInstanceTag = Context.Tag("@effect-aws/SNSClient/Instance");
44
+ exports.SNSClientInstanceLayer = Layer.effect(exports.SNSClientInstanceTag, exports.SNSClientConfigTag.pipe(Effect.map((config) => new client_sns_1.SNSClient(config))));
45
+ exports.DefaultSNSClientInstanceLayer = Layer.provide(exports.DefaultSNSClientConfigLayer, exports.SNSClientInstanceLayer);
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQWlFO0FBQ2pFLDhEQUFnRDtBQUNoRCxvREFBNkM7QUFDN0MsMERBQTRDO0FBQzVDLHdEQUEwQztBQUMxQyw0REFBOEM7QUFFakMsUUFBQSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUMzQyw4QkFBOEIsQ0FDL0IsQ0FBQztBQUVXLFFBQUEsMkJBQTJCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDckQsMEJBQWtCLEVBQ2xCLE1BQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxJQUFJLENBQzFCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkIsTUFBTSxFQUFFO1FBQ04sSUFBSSxFQUFFLElBQUEsZUFBSSxFQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLEVBQUUsSUFBQSxlQUFJLEVBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELEtBQUssRUFBRSxJQUFBLGVBQUksRUFBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsS0FBSyxFQUFFLElBQUEsZUFBSSxFQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxLQUFLLEVBQUUsSUFBQSxlQUFJLEVBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3ZEO0NBQ0YsQ0FBQyxDQUFDLENBQ0osQ0FDRixDQUFDO0FBRVcsUUFBQSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUM3QyxnQ0FBZ0MsQ0FDakMsQ0FBQztBQUVXLFFBQUEsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDaEQsNEJBQW9CLEVBQ3BCLDBCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0FBRVcsUUFBQSw2QkFBNkIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUN4RCxtQ0FBMkIsRUFDM0IsOEJBQXNCLENBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTTlNDbGllbnQsIFNOU0NsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc25zXCI7XG5pbXBvcnQgKiBhcyBDb250ZXh0IGZyb20gXCJAZWZmZWN0L2RhdGEvQ29udGV4dFwiO1xuaW1wb3J0IHsgZmxvdyB9IGZyb20gXCJAZWZmZWN0L2RhdGEvRnVuY3Rpb25cIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiQGVmZmVjdC9pby9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJAZWZmZWN0L2lvL0xheWVyXCI7XG5pbXBvcnQgKiBhcyBSdW50aW1lIGZyb20gXCJAZWZmZWN0L2lvL1J1bnRpbWVcIjtcblxuZXhwb3J0IGNvbnN0IFNOU0NsaWVudENvbmZpZ1RhZyA9IENvbnRleHQuVGFnPFNOU0NsaWVudENvbmZpZz4oXG4gIFwiQGVmZmVjdC1hd3MvU05TQ2xpZW50L0NvbmZpZ1wiLFxuKTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRTTlNDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgU05TQ2xpZW50Q29uZmlnVGFnLFxuICBFZmZlY3QucnVudGltZTxuZXZlcj4oKS5waXBlKFxuICAgIEVmZmVjdC5tYXAoKHJ1bnRpbWUpID0+ICh7XG4gICAgICBsb2dnZXI6IHtcbiAgICAgICAgaW5mbzogZmxvdyhFZmZlY3QubG9nSW5mbywgUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpKSxcbiAgICAgICAgd2FybjogZmxvdyhFZmZlY3QubG9nV2FybmluZywgUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpKSxcbiAgICAgICAgZXJyb3I6IGZsb3coRWZmZWN0LmxvZ0Vycm9yLCBSdW50aW1lLnJ1blN5bmMocnVudGltZSkpLFxuICAgICAgICBkZWJ1ZzogZmxvdyhFZmZlY3QubG9nRGVidWcsIFJ1bnRpbWUucnVuU3luYyhydW50aW1lKSksXG4gICAgICAgIHRyYWNlOiBmbG93KEVmZmVjdC5sb2dUcmFjZSwgUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpKSxcbiAgICAgIH0sXG4gICAgfSkpLFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNOU0NsaWVudEluc3RhbmNlVGFnID0gQ29udGV4dC5UYWc8U05TQ2xpZW50PihcbiAgXCJAZWZmZWN0LWF3cy9TTlNDbGllbnQvSW5zdGFuY2VcIixcbik7XG5cbmV4cG9ydCBjb25zdCBTTlNDbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBTTlNDbGllbnRJbnN0YW5jZVRhZyxcbiAgU05TQ2xpZW50Q29uZmlnVGFnLnBpcGUoRWZmZWN0Lm1hcCgoY29uZmlnKSA9PiBuZXcgU05TQ2xpZW50KGNvbmZpZykpKSxcbik7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0U05TQ2xpZW50SW5zdGFuY2VMYXllciA9IExheWVyLnByb3ZpZGUoXG4gIERlZmF1bHRTTlNDbGllbnRDb25maWdMYXllcixcbiAgU05TQ2xpZW50SW5zdGFuY2VMYXllcixcbik7XG4iXX0=
package/lib/SNS.d.ts ADDED
@@ -0,0 +1,176 @@
1
+ import { AddPermissionCommandInput, AddPermissionCommandOutput, CheckIfPhoneNumberIsOptedOutCommandInput, CheckIfPhoneNumberIsOptedOutCommandOutput, ConfirmSubscriptionCommandInput, ConfirmSubscriptionCommandOutput, CreatePlatformApplicationCommandInput, CreatePlatformApplicationCommandOutput, CreatePlatformEndpointCommandInput, CreatePlatformEndpointCommandOutput, CreateSMSSandboxPhoneNumberCommandInput, CreateSMSSandboxPhoneNumberCommandOutput, CreateTopicCommandInput, CreateTopicCommandOutput, DeleteEndpointCommandInput, DeleteEndpointCommandOutput, DeletePlatformApplicationCommandInput, DeletePlatformApplicationCommandOutput, DeleteSMSSandboxPhoneNumberCommandInput, DeleteSMSSandboxPhoneNumberCommandOutput, DeleteTopicCommandInput, DeleteTopicCommandOutput, GetDataProtectionPolicyCommandInput, GetDataProtectionPolicyCommandOutput, GetEndpointAttributesCommandInput, GetEndpointAttributesCommandOutput, GetPlatformApplicationAttributesCommandInput, GetPlatformApplicationAttributesCommandOutput, GetSMSAttributesCommandInput, GetSMSAttributesCommandOutput, GetSMSSandboxAccountStatusCommandInput, GetSMSSandboxAccountStatusCommandOutput, GetSubscriptionAttributesCommandInput, GetSubscriptionAttributesCommandOutput, GetTopicAttributesCommandInput, GetTopicAttributesCommandOutput, ListEndpointsByPlatformApplicationCommandInput, ListEndpointsByPlatformApplicationCommandOutput, ListOriginationNumbersCommandInput, ListOriginationNumbersCommandOutput, ListPhoneNumbersOptedOutCommandInput, ListPhoneNumbersOptedOutCommandOutput, ListPlatformApplicationsCommandInput, ListPlatformApplicationsCommandOutput, ListSMSSandboxPhoneNumbersCommandInput, ListSMSSandboxPhoneNumbersCommandOutput, ListSubscriptionsByTopicCommandInput, ListSubscriptionsByTopicCommandOutput, ListSubscriptionsCommandInput, ListSubscriptionsCommandOutput, ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, ListTopicsCommandInput, ListTopicsCommandOutput, OptInPhoneNumberCommandInput, OptInPhoneNumberCommandOutput, PublishBatchCommandInput, PublishBatchCommandOutput, PublishCommandInput, PublishCommandOutput, PutDataProtectionPolicyCommandInput, PutDataProtectionPolicyCommandOutput, RemovePermissionCommandInput, RemovePermissionCommandOutput, SetEndpointAttributesCommandInput, SetEndpointAttributesCommandOutput, SetPlatformApplicationAttributesCommandInput, SetPlatformApplicationAttributesCommandOutput, SetSMSAttributesCommandInput, SetSMSAttributesCommandOutput, SetSubscriptionAttributesCommandInput, SetSubscriptionAttributesCommandOutput, SetTopicAttributesCommandInput, SetTopicAttributesCommandOutput, SubscribeCommandInput, SubscribeCommandOutput, TagResourceCommandInput, TagResourceCommandOutput, UnsubscribeCommandInput, UnsubscribeCommandOutput, UntagResourceCommandInput, UntagResourceCommandOutput, VerifySMSSandboxPhoneNumberCommandInput, VerifySMSSandboxPhoneNumberCommandOutput } from "@aws-sdk/client-sns";
2
+ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types";
3
+ import * as Effect from "@effect/io/Effect";
4
+ export interface SNSService {
5
+ /**
6
+ * @see {@link AddPermissionCommand}
7
+ */
8
+ addPermission(args: AddPermissionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, AddPermissionCommandOutput>;
9
+ /**
10
+ * @see {@link CheckIfPhoneNumberIsOptedOutCommand}
11
+ */
12
+ checkIfPhoneNumberIsOptedOut(args: CheckIfPhoneNumberIsOptedOutCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CheckIfPhoneNumberIsOptedOutCommandOutput>;
13
+ /**
14
+ * @see {@link ConfirmSubscriptionCommand}
15
+ */
16
+ confirmSubscription(args: ConfirmSubscriptionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ConfirmSubscriptionCommandOutput>;
17
+ /**
18
+ * @see {@link CreatePlatformApplicationCommand}
19
+ */
20
+ createPlatformApplication(args: CreatePlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CreatePlatformApplicationCommandOutput>;
21
+ /**
22
+ * @see {@link CreatePlatformEndpointCommand}
23
+ */
24
+ createPlatformEndpoint(args: CreatePlatformEndpointCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CreatePlatformEndpointCommandOutput>;
25
+ /**
26
+ * @see {@link CreateSMSSandboxPhoneNumberCommand}
27
+ */
28
+ createSMSSandboxPhoneNumber(args: CreateSMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CreateSMSSandboxPhoneNumberCommandOutput>;
29
+ /**
30
+ * @see {@link CreateTopicCommand}
31
+ */
32
+ createTopic(args: CreateTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CreateTopicCommandOutput>;
33
+ /**
34
+ * @see {@link DeleteEndpointCommand}
35
+ */
36
+ deleteEndpoint(args: DeleteEndpointCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, DeleteEndpointCommandOutput>;
37
+ /**
38
+ * @see {@link DeletePlatformApplicationCommand}
39
+ */
40
+ deletePlatformApplication(args: DeletePlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, DeletePlatformApplicationCommandOutput>;
41
+ /**
42
+ * @see {@link DeleteSMSSandboxPhoneNumberCommand}
43
+ */
44
+ deleteSMSSandboxPhoneNumber(args: DeleteSMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, DeleteSMSSandboxPhoneNumberCommandOutput>;
45
+ /**
46
+ * @see {@link DeleteTopicCommand}
47
+ */
48
+ deleteTopic(args: DeleteTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, DeleteTopicCommandOutput>;
49
+ /**
50
+ * @see {@link GetDataProtectionPolicyCommand}
51
+ */
52
+ getDataProtectionPolicy(args: GetDataProtectionPolicyCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetDataProtectionPolicyCommandOutput>;
53
+ /**
54
+ * @see {@link GetEndpointAttributesCommand}
55
+ */
56
+ getEndpointAttributes(args: GetEndpointAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetEndpointAttributesCommandOutput>;
57
+ /**
58
+ * @see {@link GetPlatformApplicationAttributesCommand}
59
+ */
60
+ getPlatformApplicationAttributes(args: GetPlatformApplicationAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetPlatformApplicationAttributesCommandOutput>;
61
+ /**
62
+ * @see {@link GetSMSAttributesCommand}
63
+ */
64
+ getSMSAttributes(args: GetSMSAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetSMSAttributesCommandOutput>;
65
+ /**
66
+ * @see {@link GetSMSSandboxAccountStatusCommand}
67
+ */
68
+ getSMSSandboxAccountStatus(args: GetSMSSandboxAccountStatusCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetSMSSandboxAccountStatusCommandOutput>;
69
+ /**
70
+ * @see {@link GetSubscriptionAttributesCommand}
71
+ */
72
+ getSubscriptionAttributes(args: GetSubscriptionAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetSubscriptionAttributesCommandOutput>;
73
+ /**
74
+ * @see {@link GetTopicAttributesCommand}
75
+ */
76
+ getTopicAttributes(args: GetTopicAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetTopicAttributesCommandOutput>;
77
+ /**
78
+ * @see {@link ListEndpointsByPlatformApplicationCommand}
79
+ */
80
+ listEndpointsByPlatformApplication(args: ListEndpointsByPlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListEndpointsByPlatformApplicationCommandOutput>;
81
+ /**
82
+ * @see {@link ListOriginationNumbersCommand}
83
+ */
84
+ listOriginationNumbers(args: ListOriginationNumbersCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListOriginationNumbersCommandOutput>;
85
+ /**
86
+ * @see {@link ListPhoneNumbersOptedOutCommand}
87
+ */
88
+ listPhoneNumbersOptedOut(args: ListPhoneNumbersOptedOutCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListPhoneNumbersOptedOutCommandOutput>;
89
+ /**
90
+ * @see {@link ListPlatformApplicationsCommand}
91
+ */
92
+ listPlatformApplications(args: ListPlatformApplicationsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListPlatformApplicationsCommandOutput>;
93
+ /**
94
+ * @see {@link ListSMSSandboxPhoneNumbersCommand}
95
+ */
96
+ listSMSSandboxPhoneNumbers(args: ListSMSSandboxPhoneNumbersCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListSMSSandboxPhoneNumbersCommandOutput>;
97
+ /**
98
+ * @see {@link ListSubscriptionsCommand}
99
+ */
100
+ listSubscriptions(args: ListSubscriptionsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListSubscriptionsCommandOutput>;
101
+ /**
102
+ * @see {@link ListSubscriptionsByTopicCommand}
103
+ */
104
+ listSubscriptionsByTopic(args: ListSubscriptionsByTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListSubscriptionsByTopicCommandOutput>;
105
+ /**
106
+ * @see {@link ListTagsForResourceCommand}
107
+ */
108
+ listTagsForResource(args: ListTagsForResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListTagsForResourceCommandOutput>;
109
+ /**
110
+ * @see {@link ListTopicsCommand}
111
+ */
112
+ listTopics(args: ListTopicsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListTopicsCommandOutput>;
113
+ /**
114
+ * @see {@link OptInPhoneNumberCommand}
115
+ */
116
+ optInPhoneNumber(args: OptInPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, OptInPhoneNumberCommandOutput>;
117
+ /**
118
+ * @see {@link PublishCommand}
119
+ */
120
+ publish(args: PublishCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, PublishCommandOutput>;
121
+ /**
122
+ * @see {@link PublishBatchCommand}
123
+ */
124
+ publishBatch(args: PublishBatchCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, PublishBatchCommandOutput>;
125
+ /**
126
+ * @see {@link PutDataProtectionPolicyCommand}
127
+ */
128
+ putDataProtectionPolicy(args: PutDataProtectionPolicyCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, PutDataProtectionPolicyCommandOutput>;
129
+ /**
130
+ * @see {@link RemovePermissionCommand}
131
+ */
132
+ removePermission(args: RemovePermissionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, RemovePermissionCommandOutput>;
133
+ /**
134
+ * @see {@link SetEndpointAttributesCommand}
135
+ */
136
+ setEndpointAttributes(args: SetEndpointAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetEndpointAttributesCommandOutput>;
137
+ /**
138
+ * @see {@link SetPlatformApplicationAttributesCommand}
139
+ */
140
+ setPlatformApplicationAttributes(args: SetPlatformApplicationAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetPlatformApplicationAttributesCommandOutput>;
141
+ /**
142
+ * @see {@link SetSMSAttributesCommand}
143
+ */
144
+ setSMSAttributes(args: SetSMSAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetSMSAttributesCommandOutput>;
145
+ /**
146
+ * @see {@link SetSubscriptionAttributesCommand}
147
+ */
148
+ setSubscriptionAttributes(args: SetSubscriptionAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetSubscriptionAttributesCommandOutput>;
149
+ /**
150
+ * @see {@link SetTopicAttributesCommand}
151
+ */
152
+ setTopicAttributes(args: SetTopicAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetTopicAttributesCommandOutput>;
153
+ /**
154
+ * @see {@link SubscribeCommand}
155
+ */
156
+ subscribe(args: SubscribeCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SubscribeCommandOutput>;
157
+ /**
158
+ * @see {@link TagResourceCommand}
159
+ */
160
+ tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, TagResourceCommandOutput>;
161
+ /**
162
+ * @see {@link UnsubscribeCommand}
163
+ */
164
+ unsubscribe(args: UnsubscribeCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, UnsubscribeCommandOutput>;
165
+ /**
166
+ * @see {@link UntagResourceCommand}
167
+ */
168
+ untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, UntagResourceCommandOutput>;
169
+ /**
170
+ * @see {@link VerifySMSSandboxPhoneNumberCommand}
171
+ */
172
+ verifySMSSandboxPhoneNumber(args: VerifySMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, VerifySMSSandboxPhoneNumberCommandOutput>;
173
+ }
174
+ export declare const BaseSNSServiceEffect: Effect.Effect<import("@aws-sdk/client-sns").SNSClient, never, SNSService>;
175
+ export declare const SNSServiceEffect: Effect.Effect<import("@aws-sdk/client-sns").SNSClientConfig, never, SNSService>;
176
+ export declare const DefaultSNSServiceEffect: Effect.Effect<never, never, SNSService>;
package/lib/SNS.js ADDED
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DefaultSNSServiceEffect = exports.SNSServiceEffect = exports.BaseSNSServiceEffect = void 0;
27
+ const client_sns_1 = require("@aws-sdk/client-sns");
28
+ const RR = __importStar(require("@effect/data/ReadonlyRecord"));
29
+ const Effect = __importStar(require("@effect/io/Effect"));
30
+ const Context_1 = require("./Context");
31
+ const commands = {
32
+ AddPermissionCommand: client_sns_1.AddPermissionCommand,
33
+ CheckIfPhoneNumberIsOptedOutCommand: client_sns_1.CheckIfPhoneNumberIsOptedOutCommand,
34
+ ConfirmSubscriptionCommand: client_sns_1.ConfirmSubscriptionCommand,
35
+ CreatePlatformApplicationCommand: client_sns_1.CreatePlatformApplicationCommand,
36
+ CreatePlatformEndpointCommand: client_sns_1.CreatePlatformEndpointCommand,
37
+ CreateSMSSandboxPhoneNumberCommand: client_sns_1.CreateSMSSandboxPhoneNumberCommand,
38
+ CreateTopicCommand: client_sns_1.CreateTopicCommand,
39
+ DeleteEndpointCommand: client_sns_1.DeleteEndpointCommand,
40
+ DeletePlatformApplicationCommand: client_sns_1.DeletePlatformApplicationCommand,
41
+ DeleteSMSSandboxPhoneNumberCommand: client_sns_1.DeleteSMSSandboxPhoneNumberCommand,
42
+ DeleteTopicCommand: client_sns_1.DeleteTopicCommand,
43
+ GetDataProtectionPolicyCommand: client_sns_1.GetDataProtectionPolicyCommand,
44
+ GetEndpointAttributesCommand: client_sns_1.GetEndpointAttributesCommand,
45
+ GetPlatformApplicationAttributesCommand: client_sns_1.GetPlatformApplicationAttributesCommand,
46
+ GetSMSAttributesCommand: client_sns_1.GetSMSAttributesCommand,
47
+ GetSMSSandboxAccountStatusCommand: client_sns_1.GetSMSSandboxAccountStatusCommand,
48
+ GetSubscriptionAttributesCommand: client_sns_1.GetSubscriptionAttributesCommand,
49
+ GetTopicAttributesCommand: client_sns_1.GetTopicAttributesCommand,
50
+ ListEndpointsByPlatformApplicationCommand: client_sns_1.ListEndpointsByPlatformApplicationCommand,
51
+ ListOriginationNumbersCommand: client_sns_1.ListOriginationNumbersCommand,
52
+ ListPhoneNumbersOptedOutCommand: client_sns_1.ListPhoneNumbersOptedOutCommand,
53
+ ListPlatformApplicationsCommand: client_sns_1.ListPlatformApplicationsCommand,
54
+ ListSMSSandboxPhoneNumbersCommand: client_sns_1.ListSMSSandboxPhoneNumbersCommand,
55
+ ListSubscriptionsCommand: client_sns_1.ListSubscriptionsCommand,
56
+ ListSubscriptionsByTopicCommand: client_sns_1.ListSubscriptionsByTopicCommand,
57
+ ListTagsForResourceCommand: client_sns_1.ListTagsForResourceCommand,
58
+ ListTopicsCommand: client_sns_1.ListTopicsCommand,
59
+ OptInPhoneNumberCommand: client_sns_1.OptInPhoneNumberCommand,
60
+ PublishCommand: client_sns_1.PublishCommand,
61
+ PublishBatchCommand: client_sns_1.PublishBatchCommand,
62
+ PutDataProtectionPolicyCommand: client_sns_1.PutDataProtectionPolicyCommand,
63
+ RemovePermissionCommand: client_sns_1.RemovePermissionCommand,
64
+ SetEndpointAttributesCommand: client_sns_1.SetEndpointAttributesCommand,
65
+ SetPlatformApplicationAttributesCommand: client_sns_1.SetPlatformApplicationAttributesCommand,
66
+ SetSMSAttributesCommand: client_sns_1.SetSMSAttributesCommand,
67
+ SetSubscriptionAttributesCommand: client_sns_1.SetSubscriptionAttributesCommand,
68
+ SetTopicAttributesCommand: client_sns_1.SetTopicAttributesCommand,
69
+ SubscribeCommand: client_sns_1.SubscribeCommand,
70
+ TagResourceCommand: client_sns_1.TagResourceCommand,
71
+ UnsubscribeCommand: client_sns_1.UnsubscribeCommand,
72
+ UntagResourceCommand: client_sns_1.UntagResourceCommand,
73
+ VerifySMSSandboxPhoneNumberCommand: client_sns_1.VerifySMSSandboxPhoneNumberCommand,
74
+ };
75
+ exports.BaseSNSServiceEffect = Effect.gen(function* (_) {
76
+ const client = yield* _(Context_1.SNSClientInstanceTag);
77
+ return RR.toEntries(commands).reduce((acc, [command]) => {
78
+ const CommandCtor = commands[command];
79
+ const methodImpl = (args, options) => Effect.tryPromise(() => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}));
80
+ const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
81
+ return { ...acc, [methodName]: methodImpl };
82
+ }, {});
83
+ });
84
+ exports.SNSServiceEffect = exports.BaseSNSServiceEffect.pipe(Effect.provideLayer(Context_1.SNSClientInstanceLayer));
85
+ exports.DefaultSNSServiceEffect = exports.BaseSNSServiceEffect.pipe(Effect.provideLayer(Context_1.DefaultSNSClientInstanceLayer));
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU05TLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NOUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQStINkI7QUFFN0IsZ0VBQWtEO0FBQ2xELDBEQUE0QztBQUM1Qyx1Q0FJbUI7QUFFbkIsTUFBTSxRQUFRLEdBQUc7SUFDZixvQkFBb0IsRUFBcEIsaUNBQW9CO0lBQ3BCLG1DQUFtQyxFQUFuQyxnREFBbUM7SUFDbkMsMEJBQTBCLEVBQTFCLHVDQUEwQjtJQUMxQixnQ0FBZ0MsRUFBaEMsNkNBQWdDO0lBQ2hDLDZCQUE2QixFQUE3QiwwQ0FBNkI7SUFDN0Isa0NBQWtDLEVBQWxDLCtDQUFrQztJQUNsQyxrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIsZ0NBQWdDLEVBQWhDLDZDQUFnQztJQUNoQyxrQ0FBa0MsRUFBbEMsK0NBQWtDO0lBQ2xDLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5Qiw0QkFBNEIsRUFBNUIseUNBQTRCO0lBQzVCLHVDQUF1QyxFQUF2QyxvREFBdUM7SUFDdkMsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2QixpQ0FBaUMsRUFBakMsOENBQWlDO0lBQ2pDLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6Qix5Q0FBeUMsRUFBekMsc0RBQXlDO0lBQ3pDLDZCQUE2QixFQUE3QiwwQ0FBNkI7SUFDN0IsK0JBQStCLEVBQS9CLDRDQUErQjtJQUMvQiwrQkFBK0IsRUFBL0IsNENBQStCO0lBQy9CLGlDQUFpQyxFQUFqQyw4Q0FBaUM7SUFDakMsd0JBQXdCLEVBQXhCLHFDQUF3QjtJQUN4QiwrQkFBK0IsRUFBL0IsNENBQStCO0lBQy9CLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIsaUJBQWlCLEVBQWpCLDhCQUFpQjtJQUNqQix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLGNBQWMsRUFBZCwyQkFBYztJQUNkLG1CQUFtQixFQUFuQixnQ0FBbUI7SUFDbkIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5Qix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLDRCQUE0QixFQUE1Qix5Q0FBNEI7SUFDNUIsdUNBQXVDLEVBQXZDLG9EQUF1QztJQUN2Qyx1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6QixnQkFBZ0IsRUFBaEIsNkJBQWdCO0lBQ2hCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQixvQkFBb0IsRUFBcEIsaUNBQW9CO0lBQ3BCLGtDQUFrQyxFQUFsQywrQ0FBa0M7Q0FDbkMsQ0FBQztBQWdXVyxRQUFBLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUN6RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQW9CLENBQUMsQ0FBQztJQUU5QyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUN0RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBWSxFQUFFLEVBQUUsQ0FDN0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxFQUFFLENBQUMsQ0FDbEQsQ0FBQztRQUNKLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQWUsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQztBQUVVLFFBQUEsZ0JBQWdCLEdBQUcsNEJBQW9CLENBQUMsSUFBSSxDQUN2RCxNQUFNLENBQUMsWUFBWSxDQUFDLGdDQUFzQixDQUFDLENBQzVDLENBQUM7QUFFVyxRQUFBLHVCQUF1QixHQUFHLDRCQUFvQixDQUFDLElBQUksQ0FDOUQsTUFBTSxDQUFDLFlBQVksQ0FBQyx1Q0FBNkIsQ0FBQyxDQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kLFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBDcmVhdGVUb3BpY0NvbW1hbmQsXG4gIERlbGV0ZUVuZHBvaW50Q29tbWFuZCxcbiAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIERlbGV0ZVRvcGljQ29tbWFuZCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmQsXG4gIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kLFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFRvcGljc0NvbW1hbmQsXG4gIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kLFxuICBQdWJsaXNoQ29tbWFuZCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZCxcbiAgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmQsXG4gIFN1YnNjcmliZUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW5zdWJzY3JpYmVDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kT3V0cHV0LFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVRvcGljQ29tbWFuZElucHV0LFxuICBDcmVhdGVUb3BpY0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUVuZHBvaW50Q29tbWFuZElucHV0LFxuICBEZWxldGVFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVRvcGljQ29tbWFuZElucHV0LFxuICBEZWxldGVUb3BpY0NvbW1hbmRPdXRwdXQsXG4gIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZElucHV0LFxuICBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZElucHV0LFxuICBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZElucHV0LFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kT3V0cHV0LFxuICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZElucHV0LFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmRJbnB1dCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIExpc3RUb3BpY3NDb21tYW5kSW5wdXQsXG4gIExpc3RUb3BpY3NDb21tYW5kT3V0cHV0LFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZE91dHB1dCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZElucHV0LFxuICBQdWJsaXNoQmF0Y2hDb21tYW5kT3V0cHV0LFxuICBQdWJsaXNoQ29tbWFuZElucHV0LFxuICBQdWJsaXNoQ29tbWFuZE91dHB1dCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFN1YnNjcmliZUNvbW1hbmRJbnB1dCxcbiAgU3Vic2NyaWJlQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW5zdWJzY3JpYmVDb21tYW5kSW5wdXQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zbnNcIjtcbmltcG9ydCB7IEh0dHBIYW5kbGVyT3B0aW9ucyBhcyBfX0h0dHBIYW5kbGVyT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0ICogYXMgUlIgZnJvbSBcIkBlZmZlY3QvZGF0YS9SZWFkb25seVJlY29yZFwiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJAZWZmZWN0L2lvL0VmZmVjdFwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNOU0NsaWVudEluc3RhbmNlTGF5ZXIsXG4gIFNOU0NsaWVudEluc3RhbmNlTGF5ZXIsXG4gIFNOU0NsaWVudEluc3RhbmNlVGFnLFxufSBmcm9tIFwiLi9Db250ZXh0XCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRQZXJtaXNzaW9uQ29tbWFuZCxcbiAgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmQsXG4gIENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kLFxuICBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIENyZWF0ZVRvcGljQ29tbWFuZCxcbiAgRGVsZXRlRW5kcG9pbnRDb21tYW5kLFxuICBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgRGVsZXRlVG9waWNDb21tYW5kLFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZCxcbiAgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmQsXG4gIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZCxcbiAgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZCxcbiAgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZCxcbiAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kLFxuICBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmQsXG4gIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VG9waWNzQ29tbWFuZCxcbiAgT3B0SW5QaG9uZU51bWJlckNvbW1hbmQsXG4gIFB1Ymxpc2hDb21tYW5kLFxuICBQdWJsaXNoQmF0Y2hDb21tYW5kLFxuICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kLFxuICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU3Vic2NyaWJlQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBVbnN1YnNjcmliZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTTlNTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZFBlcm1pc3Npb25Db21tYW5kfVxuICAgKi9cbiAgYWRkUGVybWlzc2lvbihcbiAgICBhcmdzOiBBZGRQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgQWRkUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZH1cbiAgICovXG4gIGNoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXQoXG4gICAgYXJnczogQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjb25maXJtU3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbihcbiAgICBhcmdzOiBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVBsYXRmb3JtRW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlcihcbiAgICBhcmdzOiBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVG9waWNDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVG9waWMoXG4gICAgYXJnczogQ3JlYXRlVG9waWNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBDcmVhdGVUb3BpY0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVFbmRwb2ludChcbiAgICBhcmdzOiBEZWxldGVFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIERlbGV0ZUVuZHBvaW50Q29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbihcbiAgICBhcmdzOiBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyKFxuICAgIGFyZ3M6IERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVUb3BpY0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVUb3BpYyhcbiAgICBhcmdzOiBEZWxldGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIERlbGV0ZVRvcGljQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldERhdGFQcm90ZWN0aW9uUG9saWN5KFxuICAgIGFyZ3M6IEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldEVuZHBvaW50QXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHVua25vd24sXG4gICAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U01TQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgR2V0U01TQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmR9XG4gICAqL1xuICBnZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1cyhcbiAgICBhcmdzOiBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0VG9waWNBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGxpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb24oXG4gICAgYXJnczogTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgdW5rbm93bixcbiAgICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RPcmlnaW5hdGlvbk51bWJlcnMoXG4gICAgYXJnczogTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZH1cbiAgICovXG4gIGxpc3RQaG9uZU51bWJlcnNPcHRlZE91dChcbiAgICBhcmdzOiBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RQbGF0Zm9ybUFwcGxpY2F0aW9ucyhcbiAgICBhcmdzOiBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnMoXG4gICAgYXJnczogTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3Vic2NyaXB0aW9ucyhcbiAgICBhcmdzOiBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3Vic2NyaXB0aW9uc0J5VG9waWMoXG4gICAgYXJnczogTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VG9waWNzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUb3BpY3MoXG4gICAgYXJnczogTGlzdFRvcGljc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIExpc3RUb3BpY3NDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgT3B0SW5QaG9uZU51bWJlckNvbW1hbmR9XG4gICAqL1xuICBvcHRJblBob25lTnVtYmVyKFxuICAgIGFyZ3M6IE9wdEluUGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBPcHRJblBob25lTnVtYmVyQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1Ymxpc2hDb21tYW5kfVxuICAgKi9cbiAgcHVibGlzaChcbiAgICBhcmdzOiBQdWJsaXNoQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgUHVibGlzaENvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdWJsaXNoQmF0Y2hDb21tYW5kfVxuICAgKi9cbiAgcHVibGlzaEJhdGNoKFxuICAgIGFyZ3M6IFB1Ymxpc2hCYXRjaENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFB1Ymxpc2hCYXRjaENvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXREYXRhUHJvdGVjdGlvblBvbGljeShcbiAgICBhcmdzOiBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUGVybWlzc2lvbihcbiAgICBhcmdzOiBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0RW5kcG9pbnRBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBzZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlcyhcbiAgICBhcmdzOiBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgdW5rbm93bixcbiAgICBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0U01TQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBzZXRTTVNBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlcyhcbiAgICBhcmdzOiBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0VG9waWNBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdWJzY3JpYmVDb21tYW5kfVxuICAgKi9cbiAgc3Vic2NyaWJlKFxuICAgIGFyZ3M6IFN1YnNjcmliZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFN1YnNjcmliZUNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVuc3Vic2NyaWJlQ29tbWFuZH1cbiAgICovXG4gIHVuc3Vic2NyaWJlKFxuICAgIGFyZ3M6IFVuc3Vic2NyaWJlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgVW5zdWJzY3JpYmVDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmR9XG4gICAqL1xuICB2ZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXIoXG4gICAgYXJnczogVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dD47XG59XG5cbmV4cG9ydCBjb25zdCBCYXNlU05TU2VydmljZUVmZmVjdCA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNOU0NsaWVudEluc3RhbmNlVGFnKTtcblxuICByZXR1cm4gUlIudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM6IGFueSkgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKCgpID0+XG4gICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwgb3B0aW9ucyA/PyB7fSksXG4gICAgICApO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNOU1NlcnZpY2U7XG59KTtcblxuZXhwb3J0IGNvbnN0IFNOU1NlcnZpY2VFZmZlY3QgPSBCYXNlU05TU2VydmljZUVmZmVjdC5waXBlKFxuICBFZmZlY3QucHJvdmlkZUxheWVyKFNOU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRTTlNTZXJ2aWNlRWZmZWN0ID0gQmFzZVNOU1NlcnZpY2VFZmZlY3QucGlwZShcbiAgRWZmZWN0LnByb3ZpZGVMYXllcihEZWZhdWx0U05TQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuIl19
@@ -0,0 +1,20 @@
1
+ import { SNSClient } from "@aws-sdk/client-sns";
2
+ import * as Context from "@effect/data/Context";
3
+ import { flow } from "@effect/data/Function";
4
+ import * as Effect from "@effect/io/Effect";
5
+ import * as Layer from "@effect/io/Layer";
6
+ import * as Runtime from "@effect/io/Runtime";
7
+ export const SNSClientConfigTag = Context.Tag("@effect-aws/SNSClient/Config");
8
+ export const DefaultSNSClientConfigLayer = Layer.effect(SNSClientConfigTag, Effect.runtime().pipe(Effect.map((runtime) => ({
9
+ logger: {
10
+ info: flow(Effect.logInfo, Runtime.runSync(runtime)),
11
+ warn: flow(Effect.logWarning, Runtime.runSync(runtime)),
12
+ error: flow(Effect.logError, Runtime.runSync(runtime)),
13
+ debug: flow(Effect.logDebug, Runtime.runSync(runtime)),
14
+ trace: flow(Effect.logTrace, Runtime.runSync(runtime)),
15
+ },
16
+ }))));
17
+ export const SNSClientInstanceTag = Context.Tag("@effect-aws/SNSClient/Instance");
18
+ export const SNSClientInstanceLayer = Layer.effect(SNSClientInstanceTag, SNSClientConfigTag.pipe(Effect.map((config) => new SNSClient(config))));
19
+ export const DefaultSNSClientInstanceLayer = Layer.provide(DefaultSNSClientConfigLayer, SNSClientInstanceLayer);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxPQUFPLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FDM0MsOEJBQThCLENBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNyRCxrQkFBa0IsRUFDbEIsTUFBTSxDQUFDLE9BQU8sRUFBUyxDQUFDLElBQUksQ0FDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2QixNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN2RDtDQUNGLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQzdDLGdDQUFnQyxDQUNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDaEQsb0JBQW9CLEVBQ3BCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ3ZFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUN4RCwyQkFBMkIsRUFDM0Isc0JBQXNCLENBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTTlNDbGllbnQsIFNOU0NsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc25zXCI7XG5pbXBvcnQgKiBhcyBDb250ZXh0IGZyb20gXCJAZWZmZWN0L2RhdGEvQ29udGV4dFwiO1xuaW1wb3J0IHsgZmxvdyB9IGZyb20gXCJAZWZmZWN0L2RhdGEvRnVuY3Rpb25cIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiQGVmZmVjdC9pby9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJAZWZmZWN0L2lvL0xheWVyXCI7XG5pbXBvcnQgKiBhcyBSdW50aW1lIGZyb20gXCJAZWZmZWN0L2lvL1J1bnRpbWVcIjtcblxuZXhwb3J0IGNvbnN0IFNOU0NsaWVudENvbmZpZ1RhZyA9IENvbnRleHQuVGFnPFNOU0NsaWVudENvbmZpZz4oXG4gIFwiQGVmZmVjdC1hd3MvU05TQ2xpZW50L0NvbmZpZ1wiLFxuKTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRTTlNDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgU05TQ2xpZW50Q29uZmlnVGFnLFxuICBFZmZlY3QucnVudGltZTxuZXZlcj4oKS5waXBlKFxuICAgIEVmZmVjdC5tYXAoKHJ1bnRpbWUpID0+ICh7XG4gICAgICBsb2dnZXI6IHtcbiAgICAgICAgaW5mbzogZmxvdyhFZmZlY3QubG9nSW5mbywgUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpKSxcbiAgICAgICAgd2FybjogZmxvdyhFZmZlY3QubG9nV2FybmluZywgUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpKSxcbiAgICAgICAgZXJyb3I6IGZsb3coRWZmZWN0LmxvZ0Vycm9yLCBSdW50aW1lLnJ1blN5bmMocnVudGltZSkpLFxuICAgICAgICBkZWJ1ZzogZmxvdyhFZmZlY3QubG9nRGVidWcsIFJ1bnRpbWUucnVuU3luYyhydW50aW1lKSksXG4gICAgICAgIHRyYWNlOiBmbG93KEVmZmVjdC5sb2dUcmFjZSwgUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpKSxcbiAgICAgIH0sXG4gICAgfSkpLFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNOU0NsaWVudEluc3RhbmNlVGFnID0gQ29udGV4dC5UYWc8U05TQ2xpZW50PihcbiAgXCJAZWZmZWN0LWF3cy9TTlNDbGllbnQvSW5zdGFuY2VcIixcbik7XG5cbmV4cG9ydCBjb25zdCBTTlNDbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBTTlNDbGllbnRJbnN0YW5jZVRhZyxcbiAgU05TQ2xpZW50Q29uZmlnVGFnLnBpcGUoRWZmZWN0Lm1hcCgoY29uZmlnKSA9PiBuZXcgU05TQ2xpZW50KGNvbmZpZykpKSxcbik7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0U05TQ2xpZW50SW5zdGFuY2VMYXllciA9IExheWVyLnByb3ZpZGUoXG4gIERlZmF1bHRTTlNDbGllbnRDb25maWdMYXllcixcbiAgU05TQ2xpZW50SW5zdGFuY2VMYXllcixcbik7XG4iXX0=
package/lib/esm/SNS.js ADDED
@@ -0,0 +1,60 @@
1
+ import { AddPermissionCommand, CheckIfPhoneNumberIsOptedOutCommand, ConfirmSubscriptionCommand, CreatePlatformApplicationCommand, CreatePlatformEndpointCommand, CreateSMSSandboxPhoneNumberCommand, CreateTopicCommand, DeleteEndpointCommand, DeletePlatformApplicationCommand, DeleteSMSSandboxPhoneNumberCommand, DeleteTopicCommand, GetDataProtectionPolicyCommand, GetEndpointAttributesCommand, GetPlatformApplicationAttributesCommand, GetSMSAttributesCommand, GetSMSSandboxAccountStatusCommand, GetSubscriptionAttributesCommand, GetTopicAttributesCommand, ListEndpointsByPlatformApplicationCommand, ListOriginationNumbersCommand, ListPhoneNumbersOptedOutCommand, ListPlatformApplicationsCommand, ListSMSSandboxPhoneNumbersCommand, ListSubscriptionsCommand, ListSubscriptionsByTopicCommand, ListTagsForResourceCommand, ListTopicsCommand, OptInPhoneNumberCommand, PublishCommand, PublishBatchCommand, PutDataProtectionPolicyCommand, RemovePermissionCommand, SetEndpointAttributesCommand, SetPlatformApplicationAttributesCommand, SetSMSAttributesCommand, SetSubscriptionAttributesCommand, SetTopicAttributesCommand, SubscribeCommand, TagResourceCommand, UnsubscribeCommand, UntagResourceCommand, VerifySMSSandboxPhoneNumberCommand, } from "@aws-sdk/client-sns";
2
+ import * as RR from "@effect/data/ReadonlyRecord";
3
+ import * as Effect from "@effect/io/Effect";
4
+ import { DefaultSNSClientInstanceLayer, SNSClientInstanceLayer, SNSClientInstanceTag, } from "./Context";
5
+ const commands = {
6
+ AddPermissionCommand,
7
+ CheckIfPhoneNumberIsOptedOutCommand,
8
+ ConfirmSubscriptionCommand,
9
+ CreatePlatformApplicationCommand,
10
+ CreatePlatformEndpointCommand,
11
+ CreateSMSSandboxPhoneNumberCommand,
12
+ CreateTopicCommand,
13
+ DeleteEndpointCommand,
14
+ DeletePlatformApplicationCommand,
15
+ DeleteSMSSandboxPhoneNumberCommand,
16
+ DeleteTopicCommand,
17
+ GetDataProtectionPolicyCommand,
18
+ GetEndpointAttributesCommand,
19
+ GetPlatformApplicationAttributesCommand,
20
+ GetSMSAttributesCommand,
21
+ GetSMSSandboxAccountStatusCommand,
22
+ GetSubscriptionAttributesCommand,
23
+ GetTopicAttributesCommand,
24
+ ListEndpointsByPlatformApplicationCommand,
25
+ ListOriginationNumbersCommand,
26
+ ListPhoneNumbersOptedOutCommand,
27
+ ListPlatformApplicationsCommand,
28
+ ListSMSSandboxPhoneNumbersCommand,
29
+ ListSubscriptionsCommand,
30
+ ListSubscriptionsByTopicCommand,
31
+ ListTagsForResourceCommand,
32
+ ListTopicsCommand,
33
+ OptInPhoneNumberCommand,
34
+ PublishCommand,
35
+ PublishBatchCommand,
36
+ PutDataProtectionPolicyCommand,
37
+ RemovePermissionCommand,
38
+ SetEndpointAttributesCommand,
39
+ SetPlatformApplicationAttributesCommand,
40
+ SetSMSAttributesCommand,
41
+ SetSubscriptionAttributesCommand,
42
+ SetTopicAttributesCommand,
43
+ SubscribeCommand,
44
+ TagResourceCommand,
45
+ UnsubscribeCommand,
46
+ UntagResourceCommand,
47
+ VerifySMSSandboxPhoneNumberCommand,
48
+ };
49
+ export const BaseSNSServiceEffect = Effect.gen(function* (_) {
50
+ const client = yield* _(SNSClientInstanceTag);
51
+ return RR.toEntries(commands).reduce((acc, [command]) => {
52
+ const CommandCtor = commands[command];
53
+ const methodImpl = (args, options) => Effect.tryPromise(() => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}));
54
+ const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
55
+ return { ...acc, [methodName]: methodImpl };
56
+ }, {});
57
+ });
58
+ export const SNSServiceEffect = BaseSNSServiceEffect.pipe(Effect.provideLayer(SNSClientInstanceLayer));
59
+ export const DefaultSNSServiceEffect = BaseSNSServiceEffect.pipe(Effect.provideLayer(DefaultSNSClientInstanceLayer));
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU05TLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NOUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1DQUFtQyxFQUNuQywwQkFBMEIsRUFDMUIsZ0NBQWdDLEVBQ2hDLDZCQUE2QixFQUM3QixrQ0FBa0MsRUFDbEMsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixnQ0FBZ0MsRUFDaEMsa0NBQWtDLEVBQ2xDLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIsNEJBQTRCLEVBQzVCLHVDQUF1QyxFQUN2Qyx1QkFBdUIsRUFDdkIsaUNBQWlDLEVBQ2pDLGdDQUFnQyxFQUNoQyx5QkFBeUIsRUFDekIseUNBQXlDLEVBQ3pDLDZCQUE2QixFQUM3QiwrQkFBK0IsRUFDL0IsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyx3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsOEJBQThCLEVBQzlCLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsdUNBQXVDLEVBQ3ZDLHVCQUF1QixFQUN2QixnQ0FBZ0MsRUFDaEMseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixrQ0FBa0MsR0FxRm5DLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxLQUFLLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRCxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0Isc0JBQXNCLEVBQ3RCLG9CQUFvQixHQUNyQixNQUFNLFdBQVcsQ0FBQztBQUVuQixNQUFNLFFBQVEsR0FBRztJQUNmLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsMEJBQTBCO0lBQzFCLGdDQUFnQztJQUNoQyw2QkFBNkI7SUFDN0Isa0NBQWtDO0lBQ2xDLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsZ0NBQWdDO0lBQ2hDLGtDQUFrQztJQUNsQyxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLDRCQUE0QjtJQUM1Qix1Q0FBdUM7SUFDdkMsdUJBQXVCO0lBQ3ZCLGlDQUFpQztJQUNqQyxnQ0FBZ0M7SUFDaEMseUJBQXlCO0lBQ3pCLHlDQUF5QztJQUN6Qyw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMsd0JBQXdCO0lBQ3hCLCtCQUErQjtJQUMvQiwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5Qix1QkFBdUI7SUFDdkIsNEJBQTRCO0lBQzVCLHVDQUF1QztJQUN2Qyx1QkFBdUI7SUFDdkIsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsa0NBQWtDO0NBQ25DLENBQUM7QUFnV0YsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTlDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQ3RELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUM3QyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQyxDQUNsRCxDQUFDO1FBQ0osTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBZSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUN2RCxNQUFNLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQzVDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQzlELE1BQU0sQ0FBQyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFkZFBlcm1pc3Npb25Db21tYW5kLFxuICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZCxcbiAgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgQ3JlYXRlVG9waWNDb21tYW5kLFxuICBEZWxldGVFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBEZWxldGVUb3BpY0NvbW1hbmQsXG4gIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kLFxuICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kLFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kLFxuICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIExpc3RUb3BpY3NDb21tYW5kLFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZCxcbiAgUHVibGlzaENvbW1hbmQsXG4gIFB1Ymxpc2hCYXRjaENvbW1hbmQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBTdWJzY3JpYmVDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIEFkZFBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gIEFkZFBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZElucHV0LFxuICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZE91dHB1dCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZElucHV0LFxuICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlVG9waWNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgRGVsZXRlRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgRGVsZXRlVG9waWNDb21tYW5kT3V0cHV0LFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmRJbnB1dCxcbiAgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZE91dHB1dCxcbiAgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZElucHV0LFxuICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kSW5wdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBMaXN0VG9waWNzQ29tbWFuZElucHV0LFxuICBMaXN0VG9waWNzQ29tbWFuZE91dHB1dCxcbiAgT3B0SW5QaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgT3B0SW5QaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG4gIFB1Ymxpc2hCYXRjaENvbW1hbmRJbnB1dCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZE91dHB1dCxcbiAgUHVibGlzaENvbW1hbmRJbnB1dCxcbiAgUHVibGlzaENvbW1hbmRPdXRwdXQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTdWJzY3JpYmVDb21tYW5kSW5wdXQsXG4gIFN1YnNjcmliZUNvbW1hbmRPdXRwdXQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZElucHV0LFxuICBVbnN1YnNjcmliZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc25zXCI7XG5pbXBvcnQgeyBIdHRwSGFuZGxlck9wdGlvbnMgYXMgX19IdHRwSGFuZGxlck9wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCAqIGFzIFJSIGZyb20gXCJAZWZmZWN0L2RhdGEvUmVhZG9ubHlSZWNvcmRcIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiQGVmZmVjdC9pby9FZmZlY3RcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTTlNDbGllbnRJbnN0YW5jZUxheWVyLFxuICBTTlNDbGllbnRJbnN0YW5jZUxheWVyLFxuICBTTlNDbGllbnRJbnN0YW5jZVRhZyxcbn0gZnJvbSBcIi4vQ29udGV4dFwiO1xuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kLFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBDcmVhdGVUb3BpY0NvbW1hbmQsXG4gIERlbGV0ZUVuZHBvaW50Q29tbWFuZCxcbiAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIERlbGV0ZVRvcGljQ29tbWFuZCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmQsXG4gIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kLFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFRvcGljc0NvbW1hbmQsXG4gIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kLFxuICBQdWJsaXNoQ29tbWFuZCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZCxcbiAgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmQsXG4gIFN1YnNjcmliZUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW5zdWJzY3JpYmVDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU05TU2VydmljZSB7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRQZXJtaXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGFkZFBlcm1pc3Npb24oXG4gICAgYXJnczogQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIEFkZFBlcm1pc3Npb25Db21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmR9XG4gICAqL1xuICBjaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0KFxuICAgIGFyZ3M6IENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kfVxuICAgKi9cbiAgY29uZmlybVN1YnNjcmlwdGlvbihcbiAgICBhcmdzOiBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb24oXG4gICAgYXJnczogQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVQbGF0Zm9ybUVuZHBvaW50KFxuICAgIGFyZ3M6IENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXIoXG4gICAgYXJnczogQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVRvcGljQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVRvcGljKFxuICAgIGFyZ3M6IENyZWF0ZVRvcGljQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgQ3JlYXRlVG9waWNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBEZWxldGVFbmRwb2ludENvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb24oXG4gICAgYXJnczogRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlcihcbiAgICBhcmdzOiBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVG9waWNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVG9waWMoXG4gICAgYXJnczogRGVsZXRlVG9waWNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBEZWxldGVUb3BpY0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXREYXRhUHJvdGVjdGlvblBvbGljeShcbiAgICBhcmdzOiBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRFbmRwb2ludEF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB1bmtub3duLFxuICAgIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldFNNU0F0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0U01TQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U01TU2FuZGJveEFjY291bnRTdGF0dXMoXG4gICAgYXJnczogR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldFRvcGljQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBsaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uKFxuICAgIGFyZ3M6IExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHVua25vd24sXG4gICAgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0T3JpZ2luYXRpb25OdW1iZXJzKFxuICAgIGFyZ3M6IExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmR9XG4gICAqL1xuICBsaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXQoXG4gICAgYXJnczogTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnMoXG4gICAgYXJnczogTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzKFxuICAgIGFyZ3M6IExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN1YnNjcmlwdGlvbnMoXG4gICAgYXJnczogTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljKFxuICAgIGFyZ3M6IExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRvcGljc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VG9waWNzKFxuICAgIGFyZ3M6IExpc3RUb3BpY3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBMaXN0VG9waWNzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kfVxuICAgKi9cbiAgb3B0SW5QaG9uZU51bWJlcihcbiAgICBhcmdzOiBPcHRJblBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgT3B0SW5QaG9uZU51bWJlckNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdWJsaXNoQ29tbWFuZH1cbiAgICovXG4gIHB1Ymxpc2goXG4gICAgYXJnczogUHVibGlzaENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFB1Ymxpc2hDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVibGlzaEJhdGNoQ29tbWFuZH1cbiAgICovXG4gIHB1Ymxpc2hCYXRjaChcbiAgICBhcmdzOiBQdWJsaXNoQmF0Y2hDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBQdWJsaXNoQmF0Y2hDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0RGF0YVByb3RlY3Rpb25Qb2xpY3koXG4gICAgYXJnczogUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVBlcm1pc3Npb24oXG4gICAgYXJnczogUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldEVuZHBvaW50QXR0cmlidXRlcyhcbiAgICBhcmdzOiBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHVua25vd24sXG4gICAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0U01TQXR0cmlidXRlcyhcbiAgICBhcmdzOiBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgU2V0U01TQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldFRvcGljQXR0cmlidXRlcyhcbiAgICBhcmdzOiBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3Vic2NyaWJlQ29tbWFuZH1cbiAgICovXG4gIHN1YnNjcmliZShcbiAgICBhcmdzOiBTdWJzY3JpYmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBTdWJzY3JpYmVDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdGFnUmVzb3VyY2UoXG4gICAgYXJnczogVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnN1YnNjcmliZUNvbW1hbmR9XG4gICAqL1xuICB1bnN1YnNjcmliZShcbiAgICBhcmdzOiBVbnN1YnNjcmliZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFVuc3Vic2NyaWJlQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kfVxuICAgKi9cbiAgdmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyKFxuICAgIGFyZ3M6IFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQ+O1xufVxuXG5leHBvcnQgY29uc3QgQmFzZVNOU1NlcnZpY2VFZmZlY3QgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTTlNDbGllbnRJbnN0YW5jZVRhZyk7XG5cbiAgcmV0dXJuIFJSLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSgoKSA9PlxuICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIG9wdGlvbnMgPz8ge30pLFxuICAgICAgKTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTTlNTZXJ2aWNlO1xufSk7XG5cbmV4cG9ydCBjb25zdCBTTlNTZXJ2aWNlRWZmZWN0ID0gQmFzZVNOU1NlcnZpY2VFZmZlY3QucGlwZShcbiAgRWZmZWN0LnByb3ZpZGVMYXllcihTTlNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0U05TU2VydmljZUVmZmVjdCA9IEJhc2VTTlNTZXJ2aWNlRWZmZWN0LnBpcGUoXG4gIEVmZmVjdC5wcm92aWRlTGF5ZXIoRGVmYXVsdFNOU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from "./Context";
2
+ export * from "./SNS";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TTlNcIjtcbiJdfQ==
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./Context";
2
+ export * from "./SNS";
package/lib/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Context"), exports);
18
+ __exportStar(require("./SNS"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQix3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TTlNcIjtcbiJdfQ==
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@effect-aws/client-sns",
3
+ "author": {
4
+ "name": "Victor Korzunin",
5
+ "email": "ifloydrose@gmail.com",
6
+ "organization": false
7
+ },
8
+ "devDependencies": {
9
+ "@effect/data": "0.18.4",
10
+ "@effect/io": "0.40.0",
11
+ "@types/jest": "^29.5.5",
12
+ "@types/node": "^16",
13
+ "@typescript-eslint/eslint-plugin": "^6",
14
+ "@typescript-eslint/parser": "^6",
15
+ "aws-sdk-client-mock": "^3.0.0",
16
+ "aws-sdk-client-mock-jest": "^3.0.0",
17
+ "eslint": "^8",
18
+ "eslint-config-prettier": "^9.0.0",
19
+ "eslint-import-resolver-node": "^0.3.9",
20
+ "eslint-import-resolver-typescript": "^3.6.0",
21
+ "eslint-plugin-import": "^2.28.1",
22
+ "eslint-plugin-prettier": "^5.0.0",
23
+ "jest": "^29.7.0",
24
+ "prettier": "^3.0.3",
25
+ "projen": "^0.73.25",
26
+ "ts-jest": "^29.1.1",
27
+ "typescript": "^5.2.2"
28
+ },
29
+ "peerDependencies": {
30
+ "@effect/data": "^0.18.4",
31
+ "@effect/io": "^0.40.0"
32
+ },
33
+ "dependencies": {
34
+ "@aws-sdk/client-sns": "^3",
35
+ "@aws-sdk/types": "^3"
36
+ },
37
+ "main": "lib/index.js",
38
+ "license": "MIT",
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "version": "0.1.0",
43
+ "types": "lib/index.d.ts",
44
+ "module": "lib/esm/index.js",
45
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
46
+ "scripts": {
47
+ "build": "npx projen build",
48
+ "compile": "npx projen compile",
49
+ "default": "npx projen default",
50
+ "eslint": "npx projen eslint",
51
+ "package": "npx projen package",
52
+ "post-compile": "npx projen post-compile",
53
+ "pre-compile": "npx projen pre-compile",
54
+ "test": "npx projen test",
55
+ "test:watch": "npx projen test:watch",
56
+ "watch": "npx projen watch"
57
+ }
58
+ }
package/project.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@effect-aws/client-sns",
3
+ "root": "packages/client-sns",
4
+ "targets": {
5
+ "default": {
6
+ "executor": "nx:run-commands",
7
+ "options": {
8
+ "command": "pnpm exec projen default",
9
+ "cwd": "packages/client-sns"
10
+ }
11
+ },
12
+ "pre-compile": {
13
+ "executor": "nx:run-commands",
14
+ "options": {
15
+ "command": "pnpm exec projen pre-compile",
16
+ "cwd": "packages/client-sns"
17
+ }
18
+ },
19
+ "compile": {
20
+ "executor": "nx:run-commands",
21
+ "options": {
22
+ "command": "pnpm exec projen compile",
23
+ "cwd": "packages/client-sns"
24
+ }
25
+ },
26
+ "post-compile": {
27
+ "executor": "nx:run-commands",
28
+ "options": {
29
+ "command": "pnpm exec projen post-compile",
30
+ "cwd": "packages/client-sns"
31
+ }
32
+ },
33
+ "test": {
34
+ "executor": "nx:run-commands",
35
+ "options": {
36
+ "command": "pnpm exec projen test",
37
+ "cwd": "packages/client-sns"
38
+ }
39
+ },
40
+ "package": {
41
+ "executor": "nx:run-commands",
42
+ "options": {
43
+ "command": "pnpm exec projen package",
44
+ "cwd": "packages/client-sns"
45
+ }
46
+ },
47
+ "build": {
48
+ "executor": "nx:run-commands",
49
+ "options": {
50
+ "command": "pnpm exec projen build",
51
+ "cwd": "packages/client-sns"
52
+ }
53
+ },
54
+ "test:watch": {
55
+ "executor": "nx:run-commands",
56
+ "options": {
57
+ "command": "pnpm exec projen test:watch",
58
+ "cwd": "packages/client-sns"
59
+ }
60
+ },
61
+ "watch": {
62
+ "executor": "nx:run-commands",
63
+ "options": {
64
+ "command": "pnpm exec projen watch",
65
+ "cwd": "packages/client-sns"
66
+ }
67
+ },
68
+ "eslint": {
69
+ "executor": "nx:run-commands",
70
+ "options": {
71
+ "command": "pnpm exec projen eslint",
72
+ "cwd": "packages/client-sns"
73
+ }
74
+ }
75
+ },
76
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
77
+ }