@effect-aws/client-sns 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @effect-aws/client-sns
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`c3b6768`](https://github.com/floydspace/effect-aws/commit/c3b6768ec54b62e05f8fbb771cb890ba6aee27c2) Thanks [@floydspace](https://github.com/floydspace)! - return tagged errors in the failure channel
8
+
9
+ ### Patch Changes
10
+
11
+ - [`280d8bd`](https://github.com/floydspace/effect-aws/commit/280d8bd6686d6e7a2b73322a047e8eb22263b1e1) Thanks [@floydspace](https://github.com/floydspace)! - upgrade dependencies
12
+
3
13
  ## 0.3.1
4
14
 
5
15
  ### Patch Changes
package/lib/Context.d.ts CHANGED
@@ -2,7 +2,7 @@ import { SNSClient, SNSClientConfig } from "@aws-sdk/client-sns";
2
2
  import * as Context from "effect/Context";
3
3
  import * as Data from "effect/Data";
4
4
  import * as Layer from "effect/Layer";
5
- declare const SNSClientOptions_base: new <A extends Record<string, any>>(args: import("effect/dist/declarations/src/Types").Equals<Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>) => Data.Data<A & {
5
+ declare const SNSClientOptions_base: new <A extends Record<string, any>>(args: import("effect/dist/declarations/src/Types").Equals<Omit<A, keyof import("effect/dist/declarations/src/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/dist/declarations/src/Equal").Equal ? never : P]: A[P]; }) => Data.Data<Readonly<A> & {
6
6
  readonly _tag: "SNSClientOptions";
7
7
  }>;
8
8
  export declare class SNSClientOptions extends SNSClientOptions_base<SNSClientConfig> {
@@ -0,0 +1,43 @@
1
+ import type { AuthorizationErrorException, BatchEntryIdsNotDistinctException, BatchRequestTooLongException, ConcurrentAccessException, EmptyBatchRequestException, EndpointDisabledException, FilterPolicyLimitExceededException, InternalErrorException, InvalidBatchEntryIdException, InvalidParameterException, InvalidParameterValueException, InvalidSecurityException, KMSAccessDeniedException, KMSDisabledException, KMSInvalidStateException, KMSNotFoundException, KMSOptInRequired, KMSThrottlingException, NotFoundException, OptedOutException, PlatformApplicationDisabledException, ResourceNotFoundException, StaleTagException, SubscriptionLimitExceededException, TagLimitExceededException, TagPolicyException, ThrottledException, TooManyEntriesInBatchRequestException, TopicLimitExceededException, UserErrorException, ValidationException, VerificationException } from "@aws-sdk/client-sns";
2
+ import * as Data from "effect/Data";
3
+ export type TaggedException<T extends {
4
+ name: string;
5
+ }> = Data.Case & T & {
6
+ readonly _tag: T["name"];
7
+ };
8
+ export type AuthorizationError = TaggedException<AuthorizationErrorException>;
9
+ export type BatchEntryIdsNotDistinctError = TaggedException<BatchEntryIdsNotDistinctException>;
10
+ export type BatchRequestTooLongError = TaggedException<BatchRequestTooLongException>;
11
+ export type ConcurrentAccessError = TaggedException<ConcurrentAccessException>;
12
+ export type EmptyBatchRequestError = TaggedException<EmptyBatchRequestException>;
13
+ export type EndpointDisabledError = TaggedException<EndpointDisabledException>;
14
+ export type FilterPolicyLimitExceededError = TaggedException<FilterPolicyLimitExceededException>;
15
+ export type InternalError = TaggedException<InternalErrorException>;
16
+ export type InvalidBatchEntryIdError = TaggedException<InvalidBatchEntryIdException>;
17
+ export type InvalidParameterError = TaggedException<InvalidParameterException>;
18
+ export type InvalidParameterValueError = TaggedException<InvalidParameterValueException>;
19
+ export type InvalidSecurityError = TaggedException<InvalidSecurityException>;
20
+ export type KMSAccessDeniedError = TaggedException<KMSAccessDeniedException>;
21
+ export type KMSDisabledError = TaggedException<KMSDisabledException>;
22
+ export type KMSInvalidStateError = TaggedException<KMSInvalidStateException>;
23
+ export type KMSNotFoundError = TaggedException<KMSNotFoundException>;
24
+ export type KMSOptInRequiredError = TaggedException<KMSOptInRequired>;
25
+ export type KMSThrottlingError = TaggedException<KMSThrottlingException>;
26
+ export type NotFoundError = TaggedException<NotFoundException>;
27
+ export type OptedOutError = TaggedException<OptedOutException>;
28
+ export type PlatformApplicationDisabledError = TaggedException<PlatformApplicationDisabledException>;
29
+ export type ResourceNotFoundError = TaggedException<ResourceNotFoundException>;
30
+ export type StaleTagError = TaggedException<StaleTagException>;
31
+ export type SubscriptionLimitExceededError = TaggedException<SubscriptionLimitExceededException>;
32
+ export type TagLimitExceededError = TaggedException<TagLimitExceededException>;
33
+ export type TagPolicyError = TaggedException<TagPolicyException>;
34
+ export type ThrottledError = TaggedException<ThrottledException>;
35
+ export type TooManyEntriesInBatchRequestError = TaggedException<TooManyEntriesInBatchRequestException>;
36
+ export type TopicLimitExceededError = TaggedException<TopicLimitExceededException>;
37
+ export type UserError = TaggedException<UserErrorException>;
38
+ export type ValidationError = TaggedException<ValidationException>;
39
+ export type VerificationError = TaggedException<VerificationException>;
40
+ export type SdkError = TaggedException<Error & {
41
+ name: "SdkError";
42
+ }>;
43
+ export declare const SdkError: Data.Case.Constructor<SdkError, "_tag">;
package/lib/Errors.js ADDED
@@ -0,0 +1,29 @@
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.SdkError = void 0;
27
+ const Data = __importStar(require("effect/Data"));
28
+ exports.SdkError = Data.tagged("SdkError");
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtDQSxrREFBb0M7QUFnRHZCLFFBQUEsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQVcsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEF1dGhvcml6YXRpb25FcnJvckV4Y2VwdGlvbixcbiAgQmF0Y2hFbnRyeUlkc05vdERpc3RpbmN0RXhjZXB0aW9uLFxuICBCYXRjaFJlcXVlc3RUb29Mb25nRXhjZXB0aW9uLFxuICBDb25jdXJyZW50QWNjZXNzRXhjZXB0aW9uLFxuICBFbXB0eUJhdGNoUmVxdWVzdEV4Y2VwdGlvbixcbiAgRW5kcG9pbnREaXNhYmxlZEV4Y2VwdGlvbixcbiAgRmlsdGVyUG9saWN5TGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgSW50ZXJuYWxFcnJvckV4Y2VwdGlvbixcbiAgSW52YWxpZEJhdGNoRW50cnlJZEV4Y2VwdGlvbixcbiAgSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uLFxuICBJbnZhbGlkU2VjdXJpdHlFeGNlcHRpb24sXG4gIEtNU0FjY2Vzc0RlbmllZEV4Y2VwdGlvbixcbiAgS01TRGlzYWJsZWRFeGNlcHRpb24sXG4gIEtNU0ludmFsaWRTdGF0ZUV4Y2VwdGlvbixcbiAgS01TTm90Rm91bmRFeGNlcHRpb24sXG4gIEtNU09wdEluUmVxdWlyZWQsXG4gIEtNU1Rocm90dGxpbmdFeGNlcHRpb24sXG4gIE5vdEZvdW5kRXhjZXB0aW9uLFxuICBPcHRlZE91dEV4Y2VwdGlvbixcbiAgUGxhdGZvcm1BcHBsaWNhdGlvbkRpc2FibGVkRXhjZXB0aW9uLFxuICBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLFxuICBTdGFsZVRhZ0V4Y2VwdGlvbixcbiAgU3Vic2NyaXB0aW9uTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgVGFnTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgVGFnUG9saWN5RXhjZXB0aW9uLFxuICBUaHJvdHRsZWRFeGNlcHRpb24sXG4gIFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFeGNlcHRpb24sXG4gIFRvcGljTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgVXNlckVycm9yRXhjZXB0aW9uLFxuICBWYWxpZGF0aW9uRXhjZXB0aW9uLFxuICBWZXJpZmljYXRpb25FeGNlcHRpb24sXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc25zXCI7XG5pbXBvcnQgKiBhcyBEYXRhIGZyb20gXCJlZmZlY3QvRGF0YVwiO1xuXG5leHBvcnQgdHlwZSBUYWdnZWRFeGNlcHRpb248VCBleHRlbmRzIHsgbmFtZTogc3RyaW5nIH0+ID0gRGF0YS5DYXNlICZcbiAgVCAmIHsgcmVhZG9ubHkgX3RhZzogVFtcIm5hbWVcIl0gfTtcblxuZXhwb3J0IHR5cGUgQXV0aG9yaXphdGlvbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEF1dGhvcml6YXRpb25FcnJvckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQmF0Y2hSZXF1ZXN0VG9vTG9uZ0Vycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEJhdGNoUmVxdWVzdFRvb0xvbmdFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ29uY3VycmVudEFjY2Vzc0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPENvbmN1cnJlbnRBY2Nlc3NFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRW1wdHlCYXRjaFJlcXVlc3RFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxFbXB0eUJhdGNoUmVxdWVzdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBFbmRwb2ludERpc2FibGVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RW5kcG9pbnREaXNhYmxlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBGaWx0ZXJQb2xpY3lMaW1pdEV4Y2VlZGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RmlsdGVyUG9saWN5TGltaXRFeGNlZWRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnRlcm5hbEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludGVybmFsRXJyb3JFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRCYXRjaEVudHJ5SWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFBhcmFtZXRlckVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRTZWN1cml0eUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRTZWN1cml0eUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBLTVNBY2Nlc3NEZW5pZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLTVNBY2Nlc3NEZW5pZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS01TRGlzYWJsZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLTVNEaXNhYmxlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBLTVNJbnZhbGlkU3RhdGVFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLTVNJbnZhbGlkU3RhdGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS01TTm90Rm91bmRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLTVNOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBLTVNPcHRJblJlcXVpcmVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S01TT3B0SW5SZXF1aXJlZD47XG5leHBvcnQgdHlwZSBLTVNUaHJvdHRsaW5nRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S01TVGhyb3R0bGluZ0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBOb3RGb3VuZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE5vdEZvdW5kRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE9wdGVkT3V0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248T3B0ZWRPdXRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUGxhdGZvcm1BcHBsaWNhdGlvbkRpc2FibGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UGxhdGZvcm1BcHBsaWNhdGlvbkRpc2FibGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFJlc291cmNlTm90Rm91bmRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFN0YWxlVGFnRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U3RhbGVUYWdFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgU3Vic2NyaXB0aW9uTGltaXRFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFN1YnNjcmlwdGlvbkxpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVGFnTGltaXRFeGNlZWRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRhZ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVGFnUG9saWN5RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VGFnUG9saWN5RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFRocm90dGxlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRocm90dGxlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VG9vTWFueUVudHJpZXNJbkJhdGNoUmVxdWVzdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBUb3BpY0xpbWl0RXhjZWVkZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxUb3BpY0xpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVXNlckVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVzZXJFcnJvckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VmFsaWRhdGlvbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBWZXJpZmljYXRpb25FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxWZXJpZmljYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
package/lib/SNS.d.ts CHANGED
@@ -1,175 +1,176 @@
1
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
2
  import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types";
3
3
  import * as Effect from "effect/Effect";
4
+ import { AuthorizationError, BatchEntryIdsNotDistinctError, BatchRequestTooLongError, ConcurrentAccessError, EmptyBatchRequestError, EndpointDisabledError, FilterPolicyLimitExceededError, InternalError, InvalidBatchEntryIdError, InvalidParameterError, InvalidParameterValueError, InvalidSecurityError, KMSAccessDeniedError, KMSDisabledError, KMSInvalidStateError, KMSNotFoundError, KMSOptInRequiredError, KMSThrottlingError, NotFoundError, OptedOutError, PlatformApplicationDisabledError, ResourceNotFoundError, SdkError, StaleTagError, SubscriptionLimitExceededError, TagLimitExceededError, TagPolicyError, ThrottledError, TooManyEntriesInBatchRequestError, TopicLimitExceededError, UserError, ValidationError, VerificationError } from "./Errors";
4
5
  export interface SNSService {
5
6
  /**
6
7
  * @see {@link AddPermissionCommand}
7
8
  */
8
- addPermission(args: AddPermissionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, AddPermissionCommandOutput>;
9
+ addPermission(args: AddPermissionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, AddPermissionCommandOutput>;
9
10
  /**
10
11
  * @see {@link CheckIfPhoneNumberIsOptedOutCommand}
11
12
  */
12
- checkIfPhoneNumberIsOptedOut(args: CheckIfPhoneNumberIsOptedOutCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CheckIfPhoneNumberIsOptedOutCommandOutput>;
13
+ checkIfPhoneNumberIsOptedOut(args: CheckIfPhoneNumberIsOptedOutCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ThrottledError, CheckIfPhoneNumberIsOptedOutCommandOutput>;
13
14
  /**
14
15
  * @see {@link ConfirmSubscriptionCommand}
15
16
  */
16
- confirmSubscription(args: ConfirmSubscriptionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ConfirmSubscriptionCommandOutput>;
17
+ confirmSubscription(args: ConfirmSubscriptionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | FilterPolicyLimitExceededError | InternalError | InvalidParameterError | NotFoundError | SubscriptionLimitExceededError, ConfirmSubscriptionCommandOutput>;
17
18
  /**
18
19
  * @see {@link CreatePlatformApplicationCommand}
19
20
  */
20
- createPlatformApplication(args: CreatePlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CreatePlatformApplicationCommandOutput>;
21
+ createPlatformApplication(args: CreatePlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError, CreatePlatformApplicationCommandOutput>;
21
22
  /**
22
23
  * @see {@link CreatePlatformEndpointCommand}
23
24
  */
24
- createPlatformEndpoint(args: CreatePlatformEndpointCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CreatePlatformEndpointCommandOutput>;
25
+ createPlatformEndpoint(args: CreatePlatformEndpointCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, CreatePlatformEndpointCommandOutput>;
25
26
  /**
26
27
  * @see {@link CreateSMSSandboxPhoneNumberCommand}
27
28
  */
28
- createSMSSandboxPhoneNumber(args: CreateSMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CreateSMSSandboxPhoneNumberCommandOutput>;
29
+ createSMSSandboxPhoneNumber(args: CreateSMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | OptedOutError | ThrottledError | UserError, CreateSMSSandboxPhoneNumberCommandOutput>;
29
30
  /**
30
31
  * @see {@link CreateTopicCommand}
31
32
  */
32
- createTopic(args: CreateTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, CreateTopicCommandOutput>;
33
+ createTopic(args: CreateTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | ConcurrentAccessError | InternalError | InvalidParameterError | InvalidSecurityError | StaleTagError | TagLimitExceededError | TagPolicyError | TopicLimitExceededError, CreateTopicCommandOutput>;
33
34
  /**
34
35
  * @see {@link DeleteEndpointCommand}
35
36
  */
36
- deleteEndpoint(args: DeleteEndpointCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, DeleteEndpointCommandOutput>;
37
+ deleteEndpoint(args: DeleteEndpointCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError, DeleteEndpointCommandOutput>;
37
38
  /**
38
39
  * @see {@link DeletePlatformApplicationCommand}
39
40
  */
40
- deletePlatformApplication(args: DeletePlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, DeletePlatformApplicationCommandOutput>;
41
+ deletePlatformApplication(args: DeletePlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError, DeletePlatformApplicationCommandOutput>;
41
42
  /**
42
43
  * @see {@link DeleteSMSSandboxPhoneNumberCommand}
43
44
  */
44
- deleteSMSSandboxPhoneNumber(args: DeleteSMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, DeleteSMSSandboxPhoneNumberCommandOutput>;
45
+ deleteSMSSandboxPhoneNumber(args: DeleteSMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ResourceNotFoundError | ThrottledError | UserError, DeleteSMSSandboxPhoneNumberCommandOutput>;
45
46
  /**
46
47
  * @see {@link DeleteTopicCommand}
47
48
  */
48
- deleteTopic(args: DeleteTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, DeleteTopicCommandOutput>;
49
+ deleteTopic(args: DeleteTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | ConcurrentAccessError | InternalError | InvalidParameterError | NotFoundError | StaleTagError | TagPolicyError, DeleteTopicCommandOutput>;
49
50
  /**
50
51
  * @see {@link GetDataProtectionPolicyCommand}
51
52
  */
52
- getDataProtectionPolicy(args: GetDataProtectionPolicyCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetDataProtectionPolicyCommandOutput>;
53
+ getDataProtectionPolicy(args: GetDataProtectionPolicyCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | InvalidSecurityError | NotFoundError, GetDataProtectionPolicyCommandOutput>;
53
54
  /**
54
55
  * @see {@link GetEndpointAttributesCommand}
55
56
  */
56
- getEndpointAttributes(args: GetEndpointAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetEndpointAttributesCommandOutput>;
57
+ getEndpointAttributes(args: GetEndpointAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, GetEndpointAttributesCommandOutput>;
57
58
  /**
58
59
  * @see {@link GetPlatformApplicationAttributesCommand}
59
60
  */
60
- getPlatformApplicationAttributes(args: GetPlatformApplicationAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetPlatformApplicationAttributesCommandOutput>;
61
+ getPlatformApplicationAttributes(args: GetPlatformApplicationAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, GetPlatformApplicationAttributesCommandOutput>;
61
62
  /**
62
63
  * @see {@link GetSMSAttributesCommand}
63
64
  */
64
- getSMSAttributes(args: GetSMSAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetSMSAttributesCommandOutput>;
65
+ getSMSAttributes(args: GetSMSAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ThrottledError, GetSMSAttributesCommandOutput>;
65
66
  /**
66
67
  * @see {@link GetSMSSandboxAccountStatusCommand}
67
68
  */
68
- getSMSSandboxAccountStatus(args: GetSMSSandboxAccountStatusCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetSMSSandboxAccountStatusCommandOutput>;
69
+ getSMSSandboxAccountStatus(args: GetSMSSandboxAccountStatusCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | ThrottledError, GetSMSSandboxAccountStatusCommandOutput>;
69
70
  /**
70
71
  * @see {@link GetSubscriptionAttributesCommand}
71
72
  */
72
- getSubscriptionAttributes(args: GetSubscriptionAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetSubscriptionAttributesCommandOutput>;
73
+ getSubscriptionAttributes(args: GetSubscriptionAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, GetSubscriptionAttributesCommandOutput>;
73
74
  /**
74
75
  * @see {@link GetTopicAttributesCommand}
75
76
  */
76
- getTopicAttributes(args: GetTopicAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, GetTopicAttributesCommandOutput>;
77
+ getTopicAttributes(args: GetTopicAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | InvalidSecurityError | NotFoundError, GetTopicAttributesCommandOutput>;
77
78
  /**
78
79
  * @see {@link ListEndpointsByPlatformApplicationCommand}
79
80
  */
80
- listEndpointsByPlatformApplication(args: ListEndpointsByPlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListEndpointsByPlatformApplicationCommandOutput>;
81
+ listEndpointsByPlatformApplication(args: ListEndpointsByPlatformApplicationCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, ListEndpointsByPlatformApplicationCommandOutput>;
81
82
  /**
82
83
  * @see {@link ListOriginationNumbersCommand}
83
84
  */
84
- listOriginationNumbers(args: ListOriginationNumbersCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListOriginationNumbersCommandOutput>;
85
+ listOriginationNumbers(args: ListOriginationNumbersCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ThrottledError | ValidationError, ListOriginationNumbersCommandOutput>;
85
86
  /**
86
87
  * @see {@link ListPhoneNumbersOptedOutCommand}
87
88
  */
88
- listPhoneNumbersOptedOut(args: ListPhoneNumbersOptedOutCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListPhoneNumbersOptedOutCommandOutput>;
89
+ listPhoneNumbersOptedOut(args: ListPhoneNumbersOptedOutCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ThrottledError, ListPhoneNumbersOptedOutCommandOutput>;
89
90
  /**
90
91
  * @see {@link ListPlatformApplicationsCommand}
91
92
  */
92
- listPlatformApplications(args: ListPlatformApplicationsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListPlatformApplicationsCommandOutput>;
93
+ listPlatformApplications(args: ListPlatformApplicationsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError, ListPlatformApplicationsCommandOutput>;
93
94
  /**
94
95
  * @see {@link ListSMSSandboxPhoneNumbersCommand}
95
96
  */
96
- listSMSSandboxPhoneNumbers(args: ListSMSSandboxPhoneNumbersCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListSMSSandboxPhoneNumbersCommandOutput>;
97
+ listSMSSandboxPhoneNumbers(args: ListSMSSandboxPhoneNumbersCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ResourceNotFoundError | ThrottledError, ListSMSSandboxPhoneNumbersCommandOutput>;
97
98
  /**
98
99
  * @see {@link ListSubscriptionsCommand}
99
100
  */
100
- listSubscriptions(args: ListSubscriptionsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListSubscriptionsCommandOutput>;
101
+ listSubscriptions(args: ListSubscriptionsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError, ListSubscriptionsCommandOutput>;
101
102
  /**
102
103
  * @see {@link ListSubscriptionsByTopicCommand}
103
104
  */
104
- listSubscriptionsByTopic(args: ListSubscriptionsByTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListSubscriptionsByTopicCommandOutput>;
105
+ listSubscriptionsByTopic(args: ListSubscriptionsByTopicCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, ListSubscriptionsByTopicCommandOutput>;
105
106
  /**
106
107
  * @see {@link ListTagsForResourceCommand}
107
108
  */
108
- listTagsForResource(args: ListTagsForResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListTagsForResourceCommandOutput>;
109
+ listTagsForResource(args: ListTagsForResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | ConcurrentAccessError | InvalidParameterError | ResourceNotFoundError | TagPolicyError, ListTagsForResourceCommandOutput>;
109
110
  /**
110
111
  * @see {@link ListTopicsCommand}
111
112
  */
112
- listTopics(args: ListTopicsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, ListTopicsCommandOutput>;
113
+ listTopics(args: ListTopicsCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError, ListTopicsCommandOutput>;
113
114
  /**
114
115
  * @see {@link OptInPhoneNumberCommand}
115
116
  */
116
- optInPhoneNumber(args: OptInPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, OptInPhoneNumberCommandOutput>;
117
+ optInPhoneNumber(args: OptInPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ThrottledError, OptInPhoneNumberCommandOutput>;
117
118
  /**
118
119
  * @see {@link PublishCommand}
119
120
  */
120
- publish(args: PublishCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, PublishCommandOutput>;
121
+ publish(args: PublishCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | EndpointDisabledError | InternalError | InvalidParameterError | InvalidSecurityError | KMSAccessDeniedError | KMSDisabledError | KMSInvalidStateError | KMSNotFoundError | KMSOptInRequiredError | KMSThrottlingError | NotFoundError | InvalidParameterValueError | PlatformApplicationDisabledError | ValidationError, PublishCommandOutput>;
121
122
  /**
122
123
  * @see {@link PublishBatchCommand}
123
124
  */
124
- publishBatch(args: PublishBatchCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, PublishBatchCommandOutput>;
125
+ publishBatch(args: PublishBatchCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | BatchEntryIdsNotDistinctError | BatchRequestTooLongError | EmptyBatchRequestError | EndpointDisabledError | InternalError | InvalidBatchEntryIdError | InvalidParameterError | InvalidSecurityError | KMSAccessDeniedError | KMSDisabledError | KMSInvalidStateError | KMSNotFoundError | KMSOptInRequiredError | KMSThrottlingError | NotFoundError | InvalidParameterValueError | PlatformApplicationDisabledError | TooManyEntriesInBatchRequestError | ValidationError, PublishBatchCommandOutput>;
125
126
  /**
126
127
  * @see {@link PutDataProtectionPolicyCommand}
127
128
  */
128
- putDataProtectionPolicy(args: PutDataProtectionPolicyCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, PutDataProtectionPolicyCommandOutput>;
129
+ putDataProtectionPolicy(args: PutDataProtectionPolicyCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | InvalidSecurityError | NotFoundError, PutDataProtectionPolicyCommandOutput>;
129
130
  /**
130
131
  * @see {@link RemovePermissionCommand}
131
132
  */
132
- removePermission(args: RemovePermissionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, RemovePermissionCommandOutput>;
133
+ removePermission(args: RemovePermissionCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, RemovePermissionCommandOutput>;
133
134
  /**
134
135
  * @see {@link SetEndpointAttributesCommand}
135
136
  */
136
- setEndpointAttributes(args: SetEndpointAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetEndpointAttributesCommandOutput>;
137
+ setEndpointAttributes(args: SetEndpointAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, SetEndpointAttributesCommandOutput>;
137
138
  /**
138
139
  * @see {@link SetPlatformApplicationAttributesCommand}
139
140
  */
140
- setPlatformApplicationAttributes(args: SetPlatformApplicationAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetPlatformApplicationAttributesCommandOutput>;
141
+ setPlatformApplicationAttributes(args: SetPlatformApplicationAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | NotFoundError, SetPlatformApplicationAttributesCommandOutput>;
141
142
  /**
142
143
  * @see {@link SetSMSAttributesCommand}
143
144
  */
144
- setSMSAttributes(args: SetSMSAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetSMSAttributesCommandOutput>;
145
+ setSMSAttributes(args: SetSMSAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ThrottledError, SetSMSAttributesCommandOutput>;
145
146
  /**
146
147
  * @see {@link SetSubscriptionAttributesCommand}
147
148
  */
148
- setSubscriptionAttributes(args: SetSubscriptionAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetSubscriptionAttributesCommandOutput>;
149
+ setSubscriptionAttributes(args: SetSubscriptionAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | FilterPolicyLimitExceededError | InternalError | InvalidParameterError | NotFoundError, SetSubscriptionAttributesCommandOutput>;
149
150
  /**
150
151
  * @see {@link SetTopicAttributesCommand}
151
152
  */
152
- setTopicAttributes(args: SetTopicAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SetTopicAttributesCommandOutput>;
153
+ setTopicAttributes(args: SetTopicAttributesCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | InvalidSecurityError | NotFoundError, SetTopicAttributesCommandOutput>;
153
154
  /**
154
155
  * @see {@link SubscribeCommand}
155
156
  */
156
- subscribe(args: SubscribeCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, SubscribeCommandOutput>;
157
+ subscribe(args: SubscribeCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | FilterPolicyLimitExceededError | InternalError | InvalidParameterError | InvalidSecurityError | NotFoundError | SubscriptionLimitExceededError, SubscribeCommandOutput>;
157
158
  /**
158
159
  * @see {@link TagResourceCommand}
159
160
  */
160
- tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, TagResourceCommandOutput>;
161
+ tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | ConcurrentAccessError | InvalidParameterError | ResourceNotFoundError | StaleTagError | TagLimitExceededError | TagPolicyError, TagResourceCommandOutput>;
161
162
  /**
162
163
  * @see {@link UnsubscribeCommand}
163
164
  */
164
- unsubscribe(args: UnsubscribeCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, UnsubscribeCommandOutput>;
165
+ unsubscribe(args: UnsubscribeCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | InvalidSecurityError | NotFoundError, UnsubscribeCommandOutput>;
165
166
  /**
166
167
  * @see {@link UntagResourceCommand}
167
168
  */
168
- untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, UntagResourceCommandOutput>;
169
+ untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | ConcurrentAccessError | InvalidParameterError | ResourceNotFoundError | StaleTagError | TagLimitExceededError | TagPolicyError, UntagResourceCommandOutput>;
169
170
  /**
170
171
  * @see {@link VerifySMSSandboxPhoneNumberCommand}
171
172
  */
172
- verifySMSSandboxPhoneNumber(args: VerifySMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, unknown, VerifySMSSandboxPhoneNumberCommandOutput>;
173
+ verifySMSSandboxPhoneNumber(args: VerifySMSSandboxPhoneNumberCommandInput, options?: __HttpHandlerOptions): Effect.Effect<never, SdkError | AuthorizationError | InternalError | InvalidParameterError | ResourceNotFoundError | ThrottledError | VerificationError, VerifySMSSandboxPhoneNumberCommandOutput>;
173
174
  }
174
175
  export declare const BaseSNSServiceEffect: Effect.Effect<import("@aws-sdk/client-sns").SNSClient, never, SNSService>;
175
176
  export declare const SNSServiceEffect: Effect.Effect<import("./Context").SNSClientOptions, never, SNSService>;
package/lib/SNS.js CHANGED
@@ -25,9 +25,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.DefaultSNSServiceEffect = exports.SNSServiceEffect = exports.BaseSNSServiceEffect = void 0;
27
27
  const client_sns_1 = require("@aws-sdk/client-sns");
28
+ const Data = __importStar(require("effect/Data"));
28
29
  const Effect = __importStar(require("effect/Effect"));
29
30
  const RR = __importStar(require("effect/ReadonlyRecord"));
30
31
  const Context_1 = require("./Context");
32
+ const Errors_1 = require("./Errors");
31
33
  const commands = {
32
34
  AddPermissionCommand: client_sns_1.AddPermissionCommand,
33
35
  CheckIfPhoneNumberIsOptedOutCommand: client_sns_1.CheckIfPhoneNumberIsOptedOutCommand,
@@ -76,11 +78,32 @@ exports.BaseSNSServiceEffect = Effect.gen(function* (_) {
76
78
  const client = yield* _(Context_1.SNSClientInstanceTag);
77
79
  return RR.toEntries(commands).reduce((acc, [command]) => {
78
80
  const CommandCtor = commands[command];
79
- const methodImpl = (args, options) => Effect.tryPromise(() => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}));
81
+ const methodImpl = (args, options) => Effect.tryPromise({
82
+ try: () => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}),
83
+ catch: (e) => {
84
+ if (e instanceof client_sns_1.SNSServiceException) {
85
+ const ServiceException = Data.tagged(e.name);
86
+ return ServiceException({
87
+ ...e,
88
+ message: e.message,
89
+ stack: e.stack,
90
+ });
91
+ }
92
+ if (e instanceof Error) {
93
+ return (0, Errors_1.SdkError)({
94
+ ...e,
95
+ name: "SdkError",
96
+ message: e.message,
97
+ stack: e.stack,
98
+ });
99
+ }
100
+ throw e;
101
+ },
102
+ });
80
103
  const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
81
104
  return { ...acc, [methodName]: methodImpl };
82
105
  }, {});
83
106
  });
84
107
  exports.SNSServiceEffect = exports.BaseSNSServiceEffect.pipe(Effect.provide(Context_1.SNSClientInstanceLayer));
85
108
  exports.DefaultSNSServiceEffect = exports.BaseSNSServiceEffect.pipe(Effect.provide(Context_1.DefaultSNSClientInstanceLayer));
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU05TLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NOUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQStINkI7QUFFN0Isc0RBQXdDO0FBQ3hDLDBEQUE0QztBQUM1Qyx1Q0FJbUI7QUFFbkIsTUFBTSxRQUFRLEdBQUc7SUFDZixvQkFBb0IsRUFBcEIsaUNBQW9CO0lBQ3BCLG1DQUFtQyxFQUFuQyxnREFBbUM7SUFDbkMsMEJBQTBCLEVBQTFCLHVDQUEwQjtJQUMxQixnQ0FBZ0MsRUFBaEMsNkNBQWdDO0lBQ2hDLDZCQUE2QixFQUE3QiwwQ0FBNkI7SUFDN0Isa0NBQWtDLEVBQWxDLCtDQUFrQztJQUNsQyxrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIsZ0NBQWdDLEVBQWhDLDZDQUFnQztJQUNoQyxrQ0FBa0MsRUFBbEMsK0NBQWtDO0lBQ2xDLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5Qiw0QkFBNEIsRUFBNUIseUNBQTRCO0lBQzVCLHVDQUF1QyxFQUF2QyxvREFBdUM7SUFDdkMsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2QixpQ0FBaUMsRUFBakMsOENBQWlDO0lBQ2pDLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6Qix5Q0FBeUMsRUFBekMsc0RBQXlDO0lBQ3pDLDZCQUE2QixFQUE3QiwwQ0FBNkI7SUFDN0IsK0JBQStCLEVBQS9CLDRDQUErQjtJQUMvQiwrQkFBK0IsRUFBL0IsNENBQStCO0lBQy9CLGlDQUFpQyxFQUFqQyw4Q0FBaUM7SUFDakMsd0JBQXdCLEVBQXhCLHFDQUF3QjtJQUN4QiwrQkFBK0IsRUFBL0IsNENBQStCO0lBQy9CLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIsaUJBQWlCLEVBQWpCLDhCQUFpQjtJQUNqQix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLGNBQWMsRUFBZCwyQkFBYztJQUNkLG1CQUFtQixFQUFuQixnQ0FBbUI7SUFDbkIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5Qix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLDRCQUE0QixFQUE1Qix5Q0FBNEI7SUFDNUIsdUNBQXVDLEVBQXZDLG9EQUF1QztJQUN2Qyx1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6QixnQkFBZ0IsRUFBaEIsNkJBQWdCO0lBQ2hCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQixvQkFBb0IsRUFBcEIsaUNBQW9CO0lBQ3BCLGtDQUFrQyxFQUFsQywrQ0FBa0M7Q0FDbkMsQ0FBQztBQWdXVyxRQUFBLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUN6RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsOEJBQW9CLENBQUMsQ0FBQztJQUU5QyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUN0RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBWSxFQUFFLEVBQUUsQ0FDN0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxFQUFFLENBQUMsQ0FDbEQsQ0FBQztRQUNKLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQWUsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQztBQUVVLFFBQUEsZ0JBQWdCLEdBQUcsNEJBQW9CLENBQUMsSUFBSSxDQUN2RCxNQUFNLENBQUMsT0FBTyxDQUFDLGdDQUFzQixDQUFDLENBQ3ZDLENBQUM7QUFFVyxRQUFBLHVCQUF1QixHQUFHLDRCQUFvQixDQUFDLElBQUksQ0FDOUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1Q0FBNkIsQ0FBQyxDQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmQsXG4gIEFkZFBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gIEFkZFBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZCxcbiAgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmRJbnB1dCxcbiAgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmRPdXRwdXQsXG4gIENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kLFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZCxcbiAgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVG9waWNDb21tYW5kLFxuICBDcmVhdGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlVG9waWNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZUVuZHBvaW50Q29tbWFuZElucHV0LFxuICBEZWxldGVFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVUb3BpY0NvbW1hbmQsXG4gIERlbGV0ZVRvcGljQ29tbWFuZElucHV0LFxuICBEZWxldGVUb3BpY0NvbW1hbmRPdXRwdXQsXG4gIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kLFxuICBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmQsXG4gIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmRJbnB1dCxcbiAgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZE91dHB1dCxcbiAgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZCxcbiAgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZElucHV0LFxuICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZElucHV0LFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmQsXG4gIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmRJbnB1dCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kLFxuICBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIExpc3RUb3BpY3NDb21tYW5kLFxuICBMaXN0VG9waWNzQ29tbWFuZElucHV0LFxuICBMaXN0VG9waWNzQ29tbWFuZE91dHB1dCxcbiAgT3B0SW5QaG9uZU51bWJlckNvbW1hbmQsXG4gIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0LFxuICBQdWJsaXNoQmF0Y2hDb21tYW5kLFxuICBQdWJsaXNoQmF0Y2hDb21tYW5kSW5wdXQsXG4gIFB1Ymxpc2hCYXRjaENvbW1hbmRPdXRwdXQsXG4gIFB1Ymxpc2hDb21tYW5kLFxuICBQdWJsaXNoQ29tbWFuZElucHV0LFxuICBQdWJsaXNoQ29tbWFuZE91dHB1dCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTdWJzY3JpYmVDb21tYW5kLFxuICBTdWJzY3JpYmVDb21tYW5kSW5wdXQsXG4gIFN1YnNjcmliZUNvbW1hbmRPdXRwdXQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW5zdWJzY3JpYmVDb21tYW5kLFxuICBVbnN1YnNjcmliZUNvbW1hbmRJbnB1dCxcbiAgVW5zdWJzY3JpYmVDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zbnNcIjtcbmltcG9ydCB7IEh0dHBIYW5kbGVyT3B0aW9ucyBhcyBfX0h0dHBIYW5kbGVyT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJlZmZlY3QvRWZmZWN0XCI7XG5pbXBvcnQgKiBhcyBSUiBmcm9tIFwiZWZmZWN0L1JlYWRvbmx5UmVjb3JkXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0U05TQ2xpZW50SW5zdGFuY2VMYXllcixcbiAgU05TQ2xpZW50SW5zdGFuY2VMYXllcixcbiAgU05TQ2xpZW50SW5zdGFuY2VUYWcsXG59IGZyb20gXCIuL0NvbnRleHRcIjtcblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFkZFBlcm1pc3Npb25Db21tYW5kLFxuICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZCxcbiAgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgQ3JlYXRlVG9waWNDb21tYW5kLFxuICBEZWxldGVFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBEZWxldGVUb3BpY0NvbW1hbmQsXG4gIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kLFxuICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kLFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kLFxuICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIExpc3RUb3BpY3NDb21tYW5kLFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZCxcbiAgUHVibGlzaENvbW1hbmQsXG4gIFB1Ymxpc2hCYXRjaENvbW1hbmQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBTdWJzY3JpYmVDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNOU1NlcnZpY2Uge1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkUGVybWlzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBhZGRQZXJtaXNzaW9uKFxuICAgIGFyZ3M6IEFkZFBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBBZGRQZXJtaXNzaW9uQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kfVxuICAgKi9cbiAgY2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dChcbiAgICBhcmdzOiBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNvbmZpcm1TdWJzY3JpcHRpb24oXG4gICAgYXJnczogQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uKFxuICAgIGFyZ3M6IENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUGxhdGZvcm1FbmRwb2ludChcbiAgICBhcmdzOiBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyKFxuICAgIGFyZ3M6IENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVUb3BpY0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVUb3BpYyhcbiAgICBhcmdzOiBDcmVhdGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIENyZWF0ZVRvcGljQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUVuZHBvaW50KFxuICAgIGFyZ3M6IERlbGV0ZUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgRGVsZXRlRW5kcG9pbnRDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXIoXG4gICAgYXJnczogRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVRvcGljQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVRvcGljKFxuICAgIGFyZ3M6IERlbGV0ZVRvcGljQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgRGVsZXRlVG9waWNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0RGF0YVByb3RlY3Rpb25Qb2xpY3koXG4gICAgYXJnczogR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0RW5kcG9pbnRBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgdW5rbm93bixcbiAgICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U01TQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRTTVNBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzKFxuICAgIGFyZ3M6IEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRUb3BpY0F0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgbGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbihcbiAgICBhcmdzOiBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB1bmtub3duLFxuICAgIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9yaWdpbmF0aW9uTnVtYmVycyhcbiAgICBhcmdzOiBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBob25lTnVtYmVyc09wdGVkT3V0KFxuICAgIGFyZ3M6IExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBsYXRmb3JtQXBwbGljYXRpb25zKFxuICAgIGFyZ3M6IExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U01TU2FuZGJveFBob25lTnVtYmVycyhcbiAgICBhcmdzOiBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdWJzY3JpcHRpb25zKFxuICAgIGFyZ3M6IExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdWJzY3JpcHRpb25zQnlUb3BpYyhcbiAgICBhcmdzOiBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0VGFnc0ZvclJlc291cmNlKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUb3BpY3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRvcGljcyhcbiAgICBhcmdzOiBMaXN0VG9waWNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgTGlzdFRvcGljc0NvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBPcHRJblBob25lTnVtYmVyQ29tbWFuZH1cbiAgICovXG4gIG9wdEluUGhvbmVOdW1iZXIoXG4gICAgYXJnczogT3B0SW5QaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVibGlzaENvbW1hbmR9XG4gICAqL1xuICBwdWJsaXNoKFxuICAgIGFyZ3M6IFB1Ymxpc2hDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBQdWJsaXNoQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1Ymxpc2hCYXRjaENvbW1hbmR9XG4gICAqL1xuICBwdWJsaXNoQmF0Y2goXG4gICAgYXJnczogUHVibGlzaEJhdGNoQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgUHVibGlzaEJhdGNoQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dERhdGFQcm90ZWN0aW9uUG9saWN5KFxuICAgIGFyZ3M6IFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVQZXJtaXNzaW9uKFxuICAgIGFyZ3M6IFJlbW92ZVBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBzZXRFbmRwb2ludEF0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB1bmtub3duLFxuICAgIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldFNNU0F0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0U01TQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBzZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBzZXRUb3BpY0F0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN1YnNjcmliZUNvbW1hbmR9XG4gICAqL1xuICBzdWJzY3JpYmUoXG4gICAgYXJnczogU3Vic2NyaWJlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgU3Vic2NyaWJlQ29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxuZXZlciwgdW5rbm93biwgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW5zdWJzY3JpYmVDb21tYW5kfVxuICAgKi9cbiAgdW5zdWJzY3JpYmUoXG4gICAgYXJnczogVW5zdWJzY3JpYmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBVbnN1YnNjcmliZUNvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIHVua25vd24sIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZH1cbiAgICovXG4gIHZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlcihcbiAgICBhcmdzOiBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCB1bmtub3duLCBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0Pjtcbn1cblxuZXhwb3J0IGNvbnN0IEJhc2VTTlNTZXJ2aWNlRWZmZWN0ID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oU05TQ2xpZW50SW5zdGFuY2VUYWcpO1xuXG4gIHJldHVybiBSUi50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9uczogYW55KSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2UoKCkgPT5cbiAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgU05TU2VydmljZTtcbn0pO1xuXG5leHBvcnQgY29uc3QgU05TU2VydmljZUVmZmVjdCA9IEJhc2VTTlNTZXJ2aWNlRWZmZWN0LnBpcGUoXG4gIEVmZmVjdC5wcm92aWRlKFNOU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRTTlNTZXJ2aWNlRWZmZWN0ID0gQmFzZVNOU1NlcnZpY2VFZmZlY3QucGlwZShcbiAgRWZmZWN0LnByb3ZpZGUoRGVmYXVsdFNOU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU05TLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NOUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQWdJNkI7QUFFN0Isa0RBQW9DO0FBQ3BDLHNEQUF3QztBQUN4QywwREFBNEM7QUFDNUMsdUNBSW1CO0FBQ25CLHFDQW1Da0I7QUFFbEIsTUFBTSxRQUFRLEdBQUc7SUFDZixvQkFBb0IsRUFBcEIsaUNBQW9CO0lBQ3BCLG1DQUFtQyxFQUFuQyxnREFBbUM7SUFDbkMsMEJBQTBCLEVBQTFCLHVDQUEwQjtJQUMxQixnQ0FBZ0MsRUFBaEMsNkNBQWdDO0lBQ2hDLDZCQUE2QixFQUE3QiwwQ0FBNkI7SUFDN0Isa0NBQWtDLEVBQWxDLCtDQUFrQztJQUNsQyxrQkFBa0IsRUFBbEIsK0JBQWtCO0lBQ2xCLHFCQUFxQixFQUFyQixrQ0FBcUI7SUFDckIsZ0NBQWdDLEVBQWhDLDZDQUFnQztJQUNoQyxrQ0FBa0MsRUFBbEMsK0NBQWtDO0lBQ2xDLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5Qiw0QkFBNEIsRUFBNUIseUNBQTRCO0lBQzVCLHVDQUF1QyxFQUF2QyxvREFBdUM7SUFDdkMsdUJBQXVCLEVBQXZCLG9DQUF1QjtJQUN2QixpQ0FBaUMsRUFBakMsOENBQWlDO0lBQ2pDLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6Qix5Q0FBeUMsRUFBekMsc0RBQXlDO0lBQ3pDLDZCQUE2QixFQUE3QiwwQ0FBNkI7SUFDN0IsK0JBQStCLEVBQS9CLDRDQUErQjtJQUMvQiwrQkFBK0IsRUFBL0IsNENBQStCO0lBQy9CLGlDQUFpQyxFQUFqQyw4Q0FBaUM7SUFDakMsd0JBQXdCLEVBQXhCLHFDQUF3QjtJQUN4QiwrQkFBK0IsRUFBL0IsNENBQStCO0lBQy9CLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIsaUJBQWlCLEVBQWpCLDhCQUFpQjtJQUNqQix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLGNBQWMsRUFBZCwyQkFBYztJQUNkLG1CQUFtQixFQUFuQixnQ0FBbUI7SUFDbkIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5Qix1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLDRCQUE0QixFQUE1Qix5Q0FBNEI7SUFDNUIsdUNBQXVDLEVBQXZDLG9EQUF1QztJQUN2Qyx1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMseUJBQXlCLEVBQXpCLHNDQUF5QjtJQUN6QixnQkFBZ0IsRUFBaEIsNkJBQWdCO0lBQ2hCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsa0JBQWtCLEVBQWxCLCtCQUFrQjtJQUNsQixvQkFBb0IsRUFBcEIsaUNBQW9CO0lBQ3BCLGtDQUFrQyxFQUFsQywrQ0FBa0M7Q0FDbkMsQ0FBQztBQXFzQlcsUUFBQSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUFvQixDQUFDLENBQUM7SUFFOUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7UUFDdEQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBUSxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBUyxFQUFFLE9BQVksRUFBRSxFQUFFLENBQzdDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDaEIsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO1lBQzVELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxZQUFZLGdDQUFtQixFQUFFO29CQUNwQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBRWxDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFVixPQUFPLGdCQUFnQixDQUFDO3dCQUN0QixHQUFHLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2lCQUNKO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtvQkFDdEIsT0FBTyxJQUFBLGlCQUFRLEVBQUM7d0JBQ2QsR0FBRyxDQUFDO3dCQUNKLElBQUksRUFBRSxVQUFVO3dCQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87d0JBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztxQkFDZixDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBZSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRVUsUUFBQSxnQkFBZ0IsR0FBRyw0QkFBb0IsQ0FBQyxJQUFJLENBQ3ZELE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0NBQXNCLENBQUMsQ0FDdkMsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsNEJBQW9CLENBQUMsSUFBSSxDQUM5RCxNQUFNLENBQUMsT0FBTyxDQUFDLHVDQUE2QixDQUFDLENBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZGRQZXJtaXNzaW9uQ29tbWFuZCxcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kLFxuICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZElucHV0LFxuICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZE91dHB1dCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kSW5wdXQsXG4gIENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZElucHV0LFxuICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVUb3BpY0NvbW1hbmQsXG4gIENyZWF0ZVRvcGljQ29tbWFuZElucHV0LFxuICBDcmVhdGVUb3BpY0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUVuZHBvaW50Q29tbWFuZCxcbiAgRGVsZXRlRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIERlbGV0ZUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVRvcGljQ29tbWFuZCxcbiAgRGVsZXRlVG9waWNDb21tYW5kSW5wdXQsXG4gIERlbGV0ZVRvcGljQ29tbWFuZE91dHB1dCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmQsXG4gIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZElucHV0LFxuICBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kLFxuICBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZElucHV0LFxuICBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZCxcbiAgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZElucHV0LFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kT3V0cHV0LFxuICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZCxcbiAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kSW5wdXQsXG4gIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZElucHV0LFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRvcGljc0NvbW1hbmQsXG4gIExpc3RUb3BpY3NDb21tYW5kSW5wdXQsXG4gIExpc3RUb3BpY3NDb21tYW5kT3V0cHV0LFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZCxcbiAgT3B0SW5QaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgT3B0SW5QaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG4gIFB1Ymxpc2hCYXRjaENvbW1hbmQsXG4gIFB1Ymxpc2hCYXRjaENvbW1hbmRJbnB1dCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZE91dHB1dCxcbiAgUHVibGlzaENvbW1hbmQsXG4gIFB1Ymxpc2hDb21tYW5kSW5wdXQsXG4gIFB1Ymxpc2hDb21tYW5kT3V0cHV0LFxuICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kLFxuICBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgU05TU2VydmljZUV4Y2VwdGlvbixcbiAgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFN1YnNjcmliZUNvbW1hbmQsXG4gIFN1YnNjcmliZUNvbW1hbmRJbnB1dCxcbiAgU3Vic2NyaWJlQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnN1YnNjcmliZUNvbW1hbmQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZElucHV0LFxuICBVbnN1YnNjcmliZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNuc1wiO1xuaW1wb3J0IHsgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBEYXRhIGZyb20gXCJlZmZlY3QvRGF0YVwiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJlZmZlY3QvRWZmZWN0XCI7XG5pbXBvcnQgKiBhcyBSUiBmcm9tIFwiZWZmZWN0L1JlYWRvbmx5UmVjb3JkXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0U05TQ2xpZW50SW5zdGFuY2VMYXllcixcbiAgU05TQ2xpZW50SW5zdGFuY2VMYXllcixcbiAgU05TQ2xpZW50SW5zdGFuY2VUYWcsXG59IGZyb20gXCIuL0NvbnRleHRcIjtcbmltcG9ydCB7XG4gIEF1dGhvcml6YXRpb25FcnJvcixcbiAgQmF0Y2hFbnRyeUlkc05vdERpc3RpbmN0RXJyb3IsXG4gIEJhdGNoUmVxdWVzdFRvb0xvbmdFcnJvcixcbiAgQ29uY3VycmVudEFjY2Vzc0Vycm9yLFxuICBFbXB0eUJhdGNoUmVxdWVzdEVycm9yLFxuICBFbmRwb2ludERpc2FibGVkRXJyb3IsXG4gIEZpbHRlclBvbGljeUxpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yLFxuICBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBJbnZhbGlkU2VjdXJpdHlFcnJvcixcbiAgS01TQWNjZXNzRGVuaWVkRXJyb3IsXG4gIEtNU0Rpc2FibGVkRXJyb3IsXG4gIEtNU0ludmFsaWRTdGF0ZUVycm9yLFxuICBLTVNOb3RGb3VuZEVycm9yLFxuICBLTVNPcHRJblJlcXVpcmVkRXJyb3IsXG4gIEtNU1Rocm90dGxpbmdFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgT3B0ZWRPdXRFcnJvcixcbiAgUGxhdGZvcm1BcHBsaWNhdGlvbkRpc2FibGVkRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFN0YWxlVGFnRXJyb3IsXG4gIFN1YnNjcmlwdGlvbkxpbWl0RXhjZWVkZWRFcnJvcixcbiAgVGFnTGltaXRFeGNlZWRlZEVycm9yLFxuICBUYWdQb2xpY3lFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxuICBUaHJvdHRsZWRFcnJvcixcbiAgVG9vTWFueUVudHJpZXNJbkJhdGNoUmVxdWVzdEVycm9yLFxuICBUb3BpY0xpbWl0RXhjZWVkZWRFcnJvcixcbiAgVXNlckVycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFZlcmlmaWNhdGlvbkVycm9yLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFkZFBlcm1pc3Npb25Db21tYW5kLFxuICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZCxcbiAgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgQ3JlYXRlVG9waWNDb21tYW5kLFxuICBEZWxldGVFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBEZWxldGVUb3BpY0NvbW1hbmQsXG4gIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kLFxuICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kLFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kLFxuICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIExpc3RUb3BpY3NDb21tYW5kLFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZCxcbiAgUHVibGlzaENvbW1hbmQsXG4gIFB1Ymxpc2hCYXRjaENvbW1hbmQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBTdWJzY3JpYmVDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNOU1NlcnZpY2Uge1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkUGVybWlzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBhZGRQZXJtaXNzaW9uKFxuICAgIGFyZ3M6IEFkZFBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIEFkZFBlcm1pc3Npb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kfVxuICAgKi9cbiAgY2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dChcbiAgICBhcmdzOiBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgVGhyb3R0bGVkRXJyb3IsXG4gICAgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjb25maXJtU3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgRmlsdGVyUG9saWN5TGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbkxpbWl0RXhjZWVkZWRFcnJvcixcbiAgICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb24oXG4gICAgYXJnczogQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBBdXRob3JpemF0aW9uRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICAgIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUGxhdGZvcm1FbmRwb2ludChcbiAgICBhcmdzOiBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBDcmVhdGVQbGF0Zm9ybUVuZHBvaW50Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyKFxuICAgIGFyZ3M6IENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wdGVkT3V0RXJyb3JcbiAgICB8IFRocm90dGxlZEVycm9yXG4gICAgfCBVc2VyRXJyb3IsXG4gICAgQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVUb3BpY0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVUb3BpYyhcbiAgICBhcmdzOiBDcmVhdGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBDb25jdXJyZW50QWNjZXNzRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IFN0YWxlVGFnRXJyb3JcbiAgICB8IFRhZ0xpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgVGFnUG9saWN5RXJyb3JcbiAgICB8IFRvcGljTGltaXRFeGNlZWRlZEVycm9yLFxuICAgIENyZWF0ZVRvcGljQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVFbmRwb2ludChcbiAgICBhcmdzOiBEZWxldGVFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBBdXRob3JpemF0aW9uRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICAgIERlbGV0ZUVuZHBvaW50Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb24oXG4gICAgYXJnczogRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBBdXRob3JpemF0aW9uRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgSW52YWxpZFBhcmFtZXRlckVycm9yLFxuICAgIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXIoXG4gICAgYXJnczogRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsZWRFcnJvclxuICAgIHwgVXNlckVycm9yLFxuICAgIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVG9waWNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVG9waWMoXG4gICAgYXJnczogRGVsZXRlVG9waWNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgQ29uY3VycmVudEFjY2Vzc0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YWxlVGFnRXJyb3JcbiAgICB8IFRhZ1BvbGljeUVycm9yLFxuICAgIERlbGV0ZVRvcGljQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXREYXRhUHJvdGVjdGlvblBvbGljeShcbiAgICBhcmdzOiBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0RW5kcG9pbnRBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3IsXG4gICAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3IsXG4gICAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U01TQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgVGhyb3R0bGVkRXJyb3IsXG4gICAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U01TU2FuZGJveEFjY291bnRTdGF0dXMoXG4gICAgYXJnczogR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgQXV0aG9yaXphdGlvbkVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFRocm90dGxlZEVycm9yLFxuICAgIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3IsXG4gICAgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldFRvcGljQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgbGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbihcbiAgICBhcmdzOiBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RPcmlnaW5hdGlvbk51bWJlcnMoXG4gICAgYXJnczogTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFRocm90dGxlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3IsXG4gICAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZH1cbiAgICovXG4gIGxpc3RQaG9uZU51bWJlcnNPcHRlZE91dChcbiAgICBhcmdzOiBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBUaHJvdHRsZWRFcnJvcixcbiAgICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnMoXG4gICAgYXJnczogTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IEF1dGhvcml6YXRpb25FcnJvciB8IEludGVybmFsRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsXG4gICAgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U01TU2FuZGJveFBob25lTnVtYmVycyhcbiAgICBhcmdzOiBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGhyb3R0bGVkRXJyb3IsXG4gICAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdWJzY3JpcHRpb25zKFxuICAgIGFyZ3M6IExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IEF1dGhvcml6YXRpb25FcnJvciB8IEludGVybmFsRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsXG4gICAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3Vic2NyaXB0aW9uc0J5VG9waWMoXG4gICAgYXJnczogTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IENvbmN1cnJlbnRBY2Nlc3NFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRhZ1BvbGljeUVycm9yLFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUb3BpY3NDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRvcGljcyhcbiAgICBhcmdzOiBMaXN0VG9waWNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IEF1dGhvcml6YXRpb25FcnJvciB8IEludGVybmFsRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsXG4gICAgTGlzdFRvcGljc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgT3B0SW5QaG9uZU51bWJlckNvbW1hbmR9XG4gICAqL1xuICBvcHRJblBob25lTnVtYmVyKFxuICAgIGFyZ3M6IE9wdEluUGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBUaHJvdHRsZWRFcnJvcixcbiAgICBPcHRJblBob25lTnVtYmVyQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdWJsaXNoQ29tbWFuZH1cbiAgICovXG4gIHB1Ymxpc2goXG4gICAgYXJnczogUHVibGlzaENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBFbmRwb2ludERpc2FibGVkRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IEtNU0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLTVNEaXNhYmxlZEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS01TTm90Rm91bmRFcnJvclxuICAgIHwgS01TT3B0SW5SZXF1aXJlZEVycm9yXG4gICAgfCBLTVNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBQbGF0Zm9ybUFwcGxpY2F0aW9uRGlzYWJsZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yLFxuICAgIFB1Ymxpc2hDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1Ymxpc2hCYXRjaENvbW1hbmR9XG4gICAqL1xuICBwdWJsaXNoQmF0Y2goXG4gICAgYXJnczogUHVibGlzaEJhdGNoQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEJhdGNoRW50cnlJZHNOb3REaXN0aW5jdEVycm9yXG4gICAgfCBCYXRjaFJlcXVlc3RUb29Mb25nRXJyb3JcbiAgICB8IEVtcHR5QmF0Y2hSZXF1ZXN0RXJyb3JcbiAgICB8IEVuZHBvaW50RGlzYWJsZWRFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEJhdGNoRW50cnlJZEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBLTVNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS01TRGlzYWJsZWRFcnJvclxuICAgIHwgS01TSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEtNU05vdEZvdW5kRXJyb3JcbiAgICB8IEtNU09wdEluUmVxdWlyZWRFcnJvclxuICAgIHwgS01TVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgUGxhdGZvcm1BcHBsaWNhdGlvbkRpc2FibGVkRXJyb3JcbiAgICB8IFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yLFxuICAgIFB1Ymxpc2hCYXRjaENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0RGF0YVByb3RlY3Rpb25Qb2xpY3koXG4gICAgYXJnczogUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVQZXJtaXNzaW9uKFxuICAgIGFyZ3M6IFJlbW92ZVBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBzZXRFbmRwb2ludEF0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0U01TQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBzZXRTTVNBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBUaHJvdHRsZWRFcnJvcixcbiAgICBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBGaWx0ZXJQb2xpY3lMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0VG9waWNBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3Vic2NyaWJlQ29tbWFuZH1cbiAgICovXG4gIHN1YnNjcmliZShcbiAgICBhcmdzOiBTdWJzY3JpYmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgRmlsdGVyUG9saWN5TGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yXG4gICAgfCBTdWJzY3JpcHRpb25MaW1pdEV4Y2VlZGVkRXJyb3IsXG4gICAgU3Vic2NyaWJlQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUYWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB0YWdSZXNvdXJjZShcbiAgICBhcmdzOiBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBDb25jdXJyZW50QWNjZXNzRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGFsZVRhZ0Vycm9yXG4gICAgfCBUYWdMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFRhZ1BvbGljeUVycm9yLFxuICAgIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnN1YnNjcmliZUNvbW1hbmR9XG4gICAqL1xuICB1bnN1YnNjcmliZShcbiAgICBhcmdzOiBVbnN1YnNjcmliZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIFVuc3Vic2NyaWJlQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVbnRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHVudGFnUmVzb3VyY2UoXG4gICAgYXJnczogVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBDb25jdXJyZW50QWNjZXNzRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGFsZVRhZ0Vycm9yXG4gICAgfCBUYWdMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFRhZ1BvbGljeUVycm9yLFxuICAgIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmR9XG4gICAqL1xuICB2ZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXIoXG4gICAgYXJnczogVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsZWRFcnJvclxuICAgIHwgVmVyaWZpY2F0aW9uRXJyb3IsXG4gICAgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dFxuICA+O1xufVxuXG5leHBvcnQgY29uc3QgQmFzZVNOU1NlcnZpY2VFZmZlY3QgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhTTlNDbGllbnRJbnN0YW5jZVRhZyk7XG5cbiAgcmV0dXJuIFJSLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBTTlNTZXJ2aWNlRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTTlNTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTTlNTZXJ2aWNlO1xufSk7XG5cbmV4cG9ydCBjb25zdCBTTlNTZXJ2aWNlRWZmZWN0ID0gQmFzZVNOU1NlcnZpY2VFZmZlY3QucGlwZShcbiAgRWZmZWN0LnByb3ZpZGUoU05TQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFNOU1NlcnZpY2VFZmZlY3QgPSBCYXNlU05TU2VydmljZUVmZmVjdC5waXBlKFxuICBFZmZlY3QucHJvdmlkZShEZWZhdWx0U05TQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuIl19
@@ -0,0 +1,3 @@
1
+ import * as Data from "effect/Data";
2
+ export const SdkError = Data.tagged("SdkError");
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxhQUFhLENBQUM7QUFnRHBDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24sXG4gIEJhdGNoRW50cnlJZHNOb3REaXN0aW5jdEV4Y2VwdGlvbixcbiAgQmF0Y2hSZXF1ZXN0VG9vTG9uZ0V4Y2VwdGlvbixcbiAgQ29uY3VycmVudEFjY2Vzc0V4Y2VwdGlvbixcbiAgRW1wdHlCYXRjaFJlcXVlc3RFeGNlcHRpb24sXG4gIEVuZHBvaW50RGlzYWJsZWRFeGNlcHRpb24sXG4gIEZpbHRlclBvbGljeUxpbWl0RXhjZWVkZWRFeGNlcHRpb24sXG4gIEludGVybmFsRXJyb3JFeGNlcHRpb24sXG4gIEludmFsaWRCYXRjaEVudHJ5SWRFeGNlcHRpb24sXG4gIEludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24sXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbixcbiAgSW52YWxpZFNlY3VyaXR5RXhjZXB0aW9uLFxuICBLTVNBY2Nlc3NEZW5pZWRFeGNlcHRpb24sXG4gIEtNU0Rpc2FibGVkRXhjZXB0aW9uLFxuICBLTVNJbnZhbGlkU3RhdGVFeGNlcHRpb24sXG4gIEtNU05vdEZvdW5kRXhjZXB0aW9uLFxuICBLTVNPcHRJblJlcXVpcmVkLFxuICBLTVNUaHJvdHRsaW5nRXhjZXB0aW9uLFxuICBOb3RGb3VuZEV4Y2VwdGlvbixcbiAgT3B0ZWRPdXRFeGNlcHRpb24sXG4gIFBsYXRmb3JtQXBwbGljYXRpb25EaXNhYmxlZEV4Y2VwdGlvbixcbiAgUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbixcbiAgU3RhbGVUYWdFeGNlcHRpb24sXG4gIFN1YnNjcmlwdGlvbkxpbWl0RXhjZWVkZWRFeGNlcHRpb24sXG4gIFRhZ0xpbWl0RXhjZWVkZWRFeGNlcHRpb24sXG4gIFRhZ1BvbGljeUV4Y2VwdGlvbixcbiAgVGhyb3R0bGVkRXhjZXB0aW9uLFxuICBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXhjZXB0aW9uLFxuICBUb3BpY0xpbWl0RXhjZWVkZWRFeGNlcHRpb24sXG4gIFVzZXJFcnJvckV4Y2VwdGlvbixcbiAgVmFsaWRhdGlvbkV4Y2VwdGlvbixcbiAgVmVyaWZpY2F0aW9uRXhjZXB0aW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNuc1wiO1xuaW1wb3J0ICogYXMgRGF0YSBmcm9tIFwiZWZmZWN0L0RhdGFcIjtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IERhdGEuQ2FzZSAmXG4gIFQgJiB7IHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdIH07XG5cbmV4cG9ydCB0eXBlIEF1dGhvcml6YXRpb25FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxBdXRob3JpemF0aW9uRXJyb3JFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQmF0Y2hFbnRyeUlkc05vdERpc3RpbmN0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248QmF0Y2hFbnRyeUlkc05vdERpc3RpbmN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEJhdGNoUmVxdWVzdFRvb0xvbmdFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxCYXRjaFJlcXVlc3RUb29Mb25nRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIENvbmN1cnJlbnRBY2Nlc3NFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxDb25jdXJyZW50QWNjZXNzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEVtcHR5QmF0Y2hSZXF1ZXN0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RW1wdHlCYXRjaFJlcXVlc3RFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRW5kcG9pbnREaXNhYmxlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEVuZHBvaW50RGlzYWJsZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRmlsdGVyUG9saWN5TGltaXRFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEZpbHRlclBvbGljeUxpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW50ZXJuYWxFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnRlcm5hbEVycm9yRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRCYXRjaEVudHJ5SWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkQmF0Y2hFbnRyeUlkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRQYXJhbWV0ZXJFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkU2VjdXJpdHlFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkU2VjdXJpdHlFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS01TQWNjZXNzRGVuaWVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S01TQWNjZXNzRGVuaWVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEtNU0Rpc2FibGVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S01TRGlzYWJsZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS01TSW52YWxpZFN0YXRlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S01TSW52YWxpZFN0YXRlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEtNU05vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S01TTm90Rm91bmRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS01TT3B0SW5SZXF1aXJlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEtNU09wdEluUmVxdWlyZWQ+O1xuZXhwb3J0IHR5cGUgS01TVGhyb3R0bGluZ0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEtNU1Rocm90dGxpbmdFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTm90Rm91bmRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBPcHRlZE91dEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE9wdGVkT3V0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFBsYXRmb3JtQXBwbGljYXRpb25EaXNhYmxlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFBsYXRmb3JtQXBwbGljYXRpb25EaXNhYmxlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBTdGFsZVRhZ0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFN0YWxlVGFnRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFN1YnNjcmlwdGlvbkxpbWl0RXhjZWVkZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdWJzY3JpcHRpb25MaW1pdEV4Y2VlZGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFRhZ0xpbWl0RXhjZWVkZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxUYWdMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFRhZ1BvbGljeUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRhZ1BvbGljeUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBUaHJvdHRsZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxUaHJvdHRsZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVG9vTWFueUVudHJpZXNJbkJhdGNoUmVxdWVzdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFRvb01hbnlFbnRyaWVzSW5CYXRjaFJlcXVlc3RFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVG9waWNMaW1pdEV4Y2VlZGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VG9waWNMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVzZXJFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxVc2VyRXJyb3JFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFZhbGlkYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVmVyaWZpY2F0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VmVyaWZpY2F0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNka0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEVycm9yICYgeyBuYW1lOiBcIlNka0Vycm9yXCIgfT47XG5leHBvcnQgY29uc3QgU2RrRXJyb3IgPSBEYXRhLnRhZ2dlZDxTZGtFcnJvcj4oXCJTZGtFcnJvclwiKTtcbiJdfQ==
package/lib/esm/SNS.js CHANGED
@@ -1,7 +1,9 @@
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, ListSubscriptionsByTopicCommand, ListSubscriptionsCommand, ListTagsForResourceCommand, ListTopicsCommand, OptInPhoneNumberCommand, PublishBatchCommand, PublishCommand, PutDataProtectionPolicyCommand, RemovePermissionCommand, SetEndpointAttributesCommand, SetPlatformApplicationAttributesCommand, SetSMSAttributesCommand, SetSubscriptionAttributesCommand, SetTopicAttributesCommand, SubscribeCommand, TagResourceCommand, UnsubscribeCommand, UntagResourceCommand, VerifySMSSandboxPhoneNumberCommand, } from "@aws-sdk/client-sns";
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, ListSubscriptionsByTopicCommand, ListSubscriptionsCommand, ListTagsForResourceCommand, ListTopicsCommand, OptInPhoneNumberCommand, PublishBatchCommand, PublishCommand, PutDataProtectionPolicyCommand, RemovePermissionCommand, SNSServiceException, SetEndpointAttributesCommand, SetPlatformApplicationAttributesCommand, SetSMSAttributesCommand, SetSubscriptionAttributesCommand, SetTopicAttributesCommand, SubscribeCommand, TagResourceCommand, UnsubscribeCommand, UntagResourceCommand, VerifySMSSandboxPhoneNumberCommand, } from "@aws-sdk/client-sns";
2
+ import * as Data from "effect/Data";
2
3
  import * as Effect from "effect/Effect";
3
4
  import * as RR from "effect/ReadonlyRecord";
4
5
  import { DefaultSNSClientInstanceLayer, SNSClientInstanceLayer, SNSClientInstanceTag, } from "./Context";
6
+ import { SdkError, } from "./Errors";
5
7
  const commands = {
6
8
  AddPermissionCommand,
7
9
  CheckIfPhoneNumberIsOptedOutCommand,
@@ -50,11 +52,32 @@ export const BaseSNSServiceEffect = Effect.gen(function* (_) {
50
52
  const client = yield* _(SNSClientInstanceTag);
51
53
  return RR.toEntries(commands).reduce((acc, [command]) => {
52
54
  const CommandCtor = commands[command];
53
- const methodImpl = (args, options) => Effect.tryPromise(() => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}));
55
+ const methodImpl = (args, options) => Effect.tryPromise({
56
+ try: () => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}),
57
+ catch: (e) => {
58
+ if (e instanceof SNSServiceException) {
59
+ const ServiceException = Data.tagged(e.name);
60
+ return ServiceException({
61
+ ...e,
62
+ message: e.message,
63
+ stack: e.stack,
64
+ });
65
+ }
66
+ if (e instanceof Error) {
67
+ return SdkError({
68
+ ...e,
69
+ name: "SdkError",
70
+ message: e.message,
71
+ stack: e.stack,
72
+ });
73
+ }
74
+ throw e;
75
+ },
76
+ });
54
77
  const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
55
78
  return { ...acc, [methodName]: methodImpl };
56
79
  }, {});
57
80
  });
58
81
  export const SNSServiceEffect = BaseSNSServiceEffect.pipe(Effect.provide(SNSClientInstanceLayer));
59
82
  export const DefaultSNSServiceEffect = BaseSNSServiceEffect.pipe(Effect.provide(DefaultSNSClientInstanceLayer));
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU05TLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NOUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBR3BCLG1DQUFtQyxFQUduQywwQkFBMEIsRUFHMUIsZ0NBQWdDLEVBR2hDLDZCQUE2QixFQUc3QixrQ0FBa0MsRUFHbEMsa0JBQWtCLEVBR2xCLHFCQUFxQixFQUdyQixnQ0FBZ0MsRUFHaEMsa0NBQWtDLEVBR2xDLGtCQUFrQixFQUdsQiw4QkFBOEIsRUFHOUIsNEJBQTRCLEVBRzVCLHVDQUF1QyxFQUd2Qyx1QkFBdUIsRUFHdkIsaUNBQWlDLEVBR2pDLGdDQUFnQyxFQUdoQyx5QkFBeUIsRUFHekIseUNBQXlDLEVBR3pDLDZCQUE2QixFQUc3QiwrQkFBK0IsRUFHL0IsK0JBQStCLEVBRy9CLGlDQUFpQyxFQUdqQywrQkFBK0IsRUFHL0Isd0JBQXdCLEVBR3hCLDBCQUEwQixFQUcxQixpQkFBaUIsRUFHakIsdUJBQXVCLEVBR3ZCLG1CQUFtQixFQUduQixjQUFjLEVBR2QsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2Qiw0QkFBNEIsRUFHNUIsdUNBQXVDLEVBR3ZDLHVCQUF1QixFQUd2QixnQ0FBZ0MsRUFHaEMseUJBQXlCLEVBR3pCLGdCQUFnQixFQUdoQixrQkFBa0IsRUFHbEIsa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQixrQ0FBa0MsR0FHbkMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0Isc0JBQXNCLEVBQ3RCLG9CQUFvQixHQUNyQixNQUFNLFdBQVcsQ0FBQztBQUVuQixNQUFNLFFBQVEsR0FBRztJQUNmLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsMEJBQTBCO0lBQzFCLGdDQUFnQztJQUNoQyw2QkFBNkI7SUFDN0Isa0NBQWtDO0lBQ2xDLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsZ0NBQWdDO0lBQ2hDLGtDQUFrQztJQUNsQyxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLDRCQUE0QjtJQUM1Qix1Q0FBdUM7SUFDdkMsdUJBQXVCO0lBQ3ZCLGlDQUFpQztJQUNqQyxnQ0FBZ0M7SUFDaEMseUJBQXlCO0lBQ3pCLHlDQUF5QztJQUN6Qyw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMsd0JBQXdCO0lBQ3hCLCtCQUErQjtJQUMvQiwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5Qix1QkFBdUI7SUFDdkIsNEJBQTRCO0lBQzVCLHVDQUF1QztJQUN2Qyx1QkFBdUI7SUFDdkIsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsa0NBQWtDO0NBQ25DLENBQUM7QUFnV0YsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTlDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQ3RELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUM3QyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQyxDQUNsRCxDQUFDO1FBQ0osTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBZSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUN2RCxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQ3ZDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQzlELE1BQU0sQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsQ0FDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFkZFBlcm1pc3Npb25Db21tYW5kLFxuICBBZGRQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICBBZGRQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kT3V0cHV0LFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVRvcGljQ29tbWFuZCxcbiAgQ3JlYXRlVG9waWNDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVRvcGljQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRW5kcG9pbnRDb21tYW5kLFxuICBEZWxldGVFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgRGVsZXRlRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVG9waWNDb21tYW5kLFxuICBEZWxldGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgRGVsZXRlVG9waWNDb21tYW5kT3V0cHV0LFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZCxcbiAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kSW5wdXQsXG4gIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kSW5wdXQsXG4gIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kLFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmRPdXRwdXQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kLFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kLFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kSW5wdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBMaXN0VG9waWNzQ29tbWFuZCxcbiAgTGlzdFRvcGljc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFRvcGljc0NvbW1hbmRPdXRwdXQsXG4gIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kLFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZE91dHB1dCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZElucHV0LFxuICBQdWJsaXNoQmF0Y2hDb21tYW5kT3V0cHV0LFxuICBQdWJsaXNoQ29tbWFuZCxcbiAgUHVibGlzaENvbW1hbmRJbnB1dCxcbiAgUHVibGlzaENvbW1hbmRPdXRwdXQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU3Vic2NyaWJlQ29tbWFuZCxcbiAgU3Vic2NyaWJlQ29tbWFuZElucHV0LFxuICBTdWJzY3JpYmVDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZCxcbiAgVW5zdWJzY3JpYmVDb21tYW5kSW5wdXQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc25zXCI7XG5pbXBvcnQgeyBIdHRwSGFuZGxlck9wdGlvbnMgYXMgX19IdHRwSGFuZGxlck9wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiZWZmZWN0L0VmZmVjdFwiO1xuaW1wb3J0ICogYXMgUlIgZnJvbSBcImVmZmVjdC9SZWFkb25seVJlY29yZFwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNOU0NsaWVudEluc3RhbmNlTGF5ZXIsXG4gIFNOU0NsaWVudEluc3RhbmNlTGF5ZXIsXG4gIFNOU0NsaWVudEluc3RhbmNlVGFnLFxufSBmcm9tIFwiLi9Db250ZXh0XCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRQZXJtaXNzaW9uQ29tbWFuZCxcbiAgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmQsXG4gIENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kLFxuICBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIENyZWF0ZVRvcGljQ29tbWFuZCxcbiAgRGVsZXRlRW5kcG9pbnRDb21tYW5kLFxuICBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbiAgRGVsZXRlVG9waWNDb21tYW5kLFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZCxcbiAgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmQsXG4gIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZCxcbiAgTGlzdFBob25lTnVtYmVyc09wdGVkT3V0Q29tbWFuZCxcbiAgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZCxcbiAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kLFxuICBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmQsXG4gIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VG9waWNzQ29tbWFuZCxcbiAgT3B0SW5QaG9uZU51bWJlckNvbW1hbmQsXG4gIFB1Ymxpc2hDb21tYW5kLFxuICBQdWJsaXNoQmF0Y2hDb21tYW5kLFxuICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kLFxuICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU3Vic2NyaWJlQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBVbnN1YnNjcmliZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTTlNTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZFBlcm1pc3Npb25Db21tYW5kfVxuICAgKi9cbiAgYWRkUGVybWlzc2lvbihcbiAgICBhcmdzOiBBZGRQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/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/PyB7fSksXG4gICAgICApO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNOU1NlcnZpY2U7XG59KTtcblxuZXhwb3J0IGNvbnN0IFNOU1NlcnZpY2VFZmZlY3QgPSBCYXNlU05TU2VydmljZUVmZmVjdC5waXBlKFxuICBFZmZlY3QucHJvdmlkZShTTlNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0U05TU2VydmljZUVmZmVjdCA9IEJhc2VTTlNTZXJ2aWNlRWZmZWN0LnBpcGUoXG4gIEVmZmVjdC5wcm92aWRlKERlZmF1bHRTTlNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU05TLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NOUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBR3BCLG1DQUFtQyxFQUduQywwQkFBMEIsRUFHMUIsZ0NBQWdDLEVBR2hDLDZCQUE2QixFQUc3QixrQ0FBa0MsRUFHbEMsa0JBQWtCLEVBR2xCLHFCQUFxQixFQUdyQixnQ0FBZ0MsRUFHaEMsa0NBQWtDLEVBR2xDLGtCQUFrQixFQUdsQiw4QkFBOEIsRUFHOUIsNEJBQTRCLEVBRzVCLHVDQUF1QyxFQUd2Qyx1QkFBdUIsRUFHdkIsaUNBQWlDLEVBR2pDLGdDQUFnQyxFQUdoQyx5QkFBeUIsRUFHekIseUNBQXlDLEVBR3pDLDZCQUE2QixFQUc3QiwrQkFBK0IsRUFHL0IsK0JBQStCLEVBRy9CLGlDQUFpQyxFQUdqQywrQkFBK0IsRUFHL0Isd0JBQXdCLEVBR3hCLDBCQUEwQixFQUcxQixpQkFBaUIsRUFHakIsdUJBQXVCLEVBR3ZCLG1CQUFtQixFQUduQixjQUFjLEVBR2QsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2QixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBRzVCLHVDQUF1QyxFQUd2Qyx1QkFBdUIsRUFHdkIsZ0NBQWdDLEVBR2hDLHlCQUF5QixFQUd6QixnQkFBZ0IsRUFHaEIsa0JBQWtCLEVBR2xCLGtCQUFrQixFQUdsQixvQkFBb0IsRUFHcEIsa0NBQWtDLEdBR25DLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxLQUFLLElBQUksTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN0QixvQkFBb0IsR0FDckIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQXVCTCxRQUFRLEdBWVQsTUFBTSxVQUFVLENBQUM7QUFFbEIsTUFBTSxRQUFRLEdBQUc7SUFDZixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLDBCQUEwQjtJQUMxQixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBQzdCLGtDQUFrQztJQUNsQyxrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLGdDQUFnQztJQUNoQyxrQ0FBa0M7SUFDbEMsa0JBQWtCO0lBQ2xCLDhCQUE4QjtJQUM5Qiw0QkFBNEI7SUFDNUIsdUNBQXVDO0lBQ3ZDLHVCQUF1QjtJQUN2QixpQ0FBaUM7SUFDakMsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6Qix5Q0FBeUM7SUFDekMsNkJBQTZCO0lBQzdCLCtCQUErQjtJQUMvQiwrQkFBK0I7SUFDL0IsaUNBQWlDO0lBQ2pDLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0IsMEJBQTBCO0lBQzFCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsY0FBYztJQUNkLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1Qix1Q0FBdUM7SUFDdkMsdUJBQXVCO0lBQ3ZCLGdDQUFnQztJQUNoQyx5QkFBeUI7SUFDekIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGtDQUFrQztDQUNuQyxDQUFDO0FBcXNCRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFOUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7UUFDdEQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBUSxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBUyxFQUFFLE9BQVksRUFBRSxFQUFFLENBQzdDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDaEIsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO1lBQzVELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxZQUFZLG1CQUFtQixFQUFFO29CQUNwQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBRWxDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFVixPQUFPLGdCQUFnQixDQUFDO3dCQUN0QixHQUFHLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2lCQUNKO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtvQkFDdEIsT0FBTyxRQUFRLENBQUM7d0JBQ2QsR0FBRyxDQUFDO3dCQUNKLElBQUksRUFBRSxVQUFVO3dCQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87d0JBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztxQkFDZixDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBZSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUN2RCxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQ3ZDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQzlELE1BQU0sQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsQ0FDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFkZFBlcm1pc3Npb25Db21tYW5kLFxuICBBZGRQZXJtaXNzaW9uQ29tbWFuZElucHV0LFxuICBBZGRQZXJtaXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kT3V0cHV0LFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVRvcGljQ29tbWFuZCxcbiAgQ3JlYXRlVG9waWNDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVRvcGljQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRW5kcG9pbnRDb21tYW5kLFxuICBEZWxldGVFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgRGVsZXRlRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVG9waWNDb21tYW5kLFxuICBEZWxldGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgRGVsZXRlVG9waWNDb21tYW5kT3V0cHV0LFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0U01TQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZCxcbiAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kSW5wdXQsXG4gIEdldFNNU1NhbmRib3hBY2NvdW50U3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgR2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kSW5wdXQsXG4gIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kLFxuICBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmRPdXRwdXQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kLFxuICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFNNU1NhbmRib3hQaG9uZU51bWJlcnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kLFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kSW5wdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RTdWJzY3JpcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBMaXN0VG9waWNzQ29tbWFuZCxcbiAgTGlzdFRvcGljc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFRvcGljc0NvbW1hbmRPdXRwdXQsXG4gIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kLFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICBPcHRJblBob25lTnVtYmVyQ29tbWFuZE91dHB1dCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZElucHV0LFxuICBQdWJsaXNoQmF0Y2hDb21tYW5kT3V0cHV0LFxuICBQdWJsaXNoQ29tbWFuZCxcbiAgUHVibGlzaENvbW1hbmRJbnB1dCxcbiAgUHVibGlzaENvbW1hbmRPdXRwdXQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kSW5wdXQsXG4gIFJlbW92ZVBlcm1pc3Npb25Db21tYW5kT3V0cHV0LFxuICBTTlNTZXJ2aWNlRXhjZXB0aW9uLFxuICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU2V0U01TQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgU3Vic2NyaWJlQ29tbWFuZCxcbiAgU3Vic2NyaWJlQ29tbWFuZElucHV0LFxuICBTdWJzY3JpYmVDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZCxcbiAgVW5zdWJzY3JpYmVDb21tYW5kSW5wdXQsXG4gIFVuc3Vic2NyaWJlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gIFZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc25zXCI7XG5pbXBvcnQgeyBIdHRwSGFuZGxlck9wdGlvbnMgYXMgX19IdHRwSGFuZGxlck9wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCAqIGFzIERhdGEgZnJvbSBcImVmZmVjdC9EYXRhXCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIFJSIGZyb20gXCJlZmZlY3QvUmVhZG9ubHlSZWNvcmRcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTTlNDbGllbnRJbnN0YW5jZUxheWVyLFxuICBTTlNDbGllbnRJbnN0YW5jZUxheWVyLFxuICBTTlNDbGllbnRJbnN0YW5jZVRhZyxcbn0gZnJvbSBcIi4vQ29udGV4dFwiO1xuaW1wb3J0IHtcbiAgQXV0aG9yaXphdGlvbkVycm9yLFxuICBCYXRjaEVudHJ5SWRzTm90RGlzdGluY3RFcnJvcixcbiAgQmF0Y2hSZXF1ZXN0VG9vTG9uZ0Vycm9yLFxuICBDb25jdXJyZW50QWNjZXNzRXJyb3IsXG4gIEVtcHR5QmF0Y2hSZXF1ZXN0RXJyb3IsXG4gIEVuZHBvaW50RGlzYWJsZWRFcnJvcixcbiAgRmlsdGVyUG9saWN5TGltaXRFeGNlZWRlZEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIEludmFsaWRTZWN1cml0eUVycm9yLFxuICBLTVNBY2Nlc3NEZW5pZWRFcnJvcixcbiAgS01TRGlzYWJsZWRFcnJvcixcbiAgS01TSW52YWxpZFN0YXRlRXJyb3IsXG4gIEtNU05vdEZvdW5kRXJyb3IsXG4gIEtNU09wdEluUmVxdWlyZWRFcnJvcixcbiAgS01TVGhyb3R0bGluZ0Vycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBPcHRlZE91dEVycm9yLFxuICBQbGF0Zm9ybUFwcGxpY2F0aW9uRGlzYWJsZWRFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZGtFcnJvcixcbiAgU3RhbGVUYWdFcnJvcixcbiAgU3Vic2NyaXB0aW9uTGltaXRFeGNlZWRlZEVycm9yLFxuICBUYWdMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFRhZ1BvbGljeUVycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG4gIFRocm90dGxlZEVycm9yLFxuICBUb29NYW55RW50cmllc0luQmF0Y2hSZXF1ZXN0RXJyb3IsXG4gIFRvcGljTGltaXRFeGNlZWRlZEVycm9yLFxuICBVc2VyRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgVmVyaWZpY2F0aW9uRXJyb3IsXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWRkUGVybWlzc2lvbkNvbW1hbmQsXG4gIENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kLFxuICBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kLFxuICBDcmVhdGVUb3BpY0NvbW1hbmQsXG4gIERlbGV0ZUVuZHBvaW50Q29tbWFuZCxcbiAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmQsXG4gIERlbGV0ZVRvcGljQ29tbWFuZCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmQsXG4gIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kLFxuICBMaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgTGlzdE9yaWdpbmF0aW9uTnVtYmVyc0NvbW1hbmQsXG4gIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmQsXG4gIExpc3RQbGF0Zm9ybUFwcGxpY2F0aW9uc0NvbW1hbmQsXG4gIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZCxcbiAgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kLFxuICBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFRvcGljc0NvbW1hbmQsXG4gIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kLFxuICBQdWJsaXNoQ29tbWFuZCxcbiAgUHVibGlzaEJhdGNoQ29tbWFuZCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZCxcbiAgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kLFxuICBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgU2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlc0NvbW1hbmQsXG4gIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmQsXG4gIFN1YnNjcmliZUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVW5zdWJzY3JpYmVDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZCxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU05TU2VydmljZSB7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRQZXJtaXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGFkZFBlcm1pc3Npb24oXG4gICAgYXJnczogQWRkUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3IsXG4gICAgQWRkUGVybWlzc2lvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ2hlY2tJZlBob25lTnVtYmVySXNPcHRlZE91dENvbW1hbmR9XG4gICAqL1xuICBjaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0KFxuICAgIGFyZ3M6IENoZWNrSWZQaG9uZU51bWJlcklzT3B0ZWRPdXRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBUaHJvdHRsZWRFcnJvcixcbiAgICBDaGVja0lmUGhvbmVOdW1iZXJJc09wdGVkT3V0Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb25maXJtU3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNvbmZpcm1TdWJzY3JpcHRpb24oXG4gICAgYXJnczogQ29uZmlybVN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBGaWx0ZXJQb2xpY3lMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICAgIHwgU3Vic2NyaXB0aW9uTGltaXRFeGNlZWRlZEVycm9yLFxuICAgIENvbmZpcm1TdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbihcbiAgICBhcmdzOiBDcmVhdGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IEF1dGhvcml6YXRpb25FcnJvciB8IEludGVybmFsRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsXG4gICAgQ3JlYXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUGxhdGZvcm1FbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVQbGF0Zm9ybUVuZHBvaW50KFxuICAgIGFyZ3M6IENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIENyZWF0ZVBsYXRmb3JtRW5kcG9pbnRDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNNU1NhbmRib3hQaG9uZU51bWJlckNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXIoXG4gICAgYXJnczogQ3JlYXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3B0ZWRPdXRFcnJvclxuICAgIHwgVGhyb3R0bGVkRXJyb3JcbiAgICB8IFVzZXJFcnJvcixcbiAgICBDcmVhdGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVRvcGljQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVRvcGljKFxuICAgIGFyZ3M6IENyZWF0ZVRvcGljQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IENvbmN1cnJlbnRBY2Nlc3NFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgU3RhbGVUYWdFcnJvclxuICAgIHwgVGFnTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBUYWdQb2xpY3lFcnJvclxuICAgIHwgVG9waWNMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gICAgQ3JlYXRlVG9waWNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUVuZHBvaW50KFxuICAgIGFyZ3M6IERlbGV0ZUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IEF1dGhvcml6YXRpb25FcnJvciB8IEludGVybmFsRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsXG4gICAgRGVsZXRlRW5kcG9pbnRDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbihcbiAgICBhcmdzOiBEZWxldGVQbGF0Zm9ybUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IEF1dGhvcml6YXRpb25FcnJvciB8IEludGVybmFsRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsXG4gICAgRGVsZXRlUGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVNNU1NhbmRib3hQaG9uZU51bWJlcihcbiAgICBhcmdzOiBEZWxldGVTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxlZEVycm9yXG4gICAgfCBVc2VyRXJyb3IsXG4gICAgRGVsZXRlU01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVUb3BpY0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVUb3BpYyhcbiAgICBhcmdzOiBEZWxldGVUb3BpY0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBDb25jdXJyZW50QWNjZXNzRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICAgIHwgU3RhbGVUYWdFcnJvclxuICAgIHwgVGFnUG9saWN5RXJyb3IsXG4gICAgRGVsZXRlVG9waWNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldERhdGFQcm90ZWN0aW9uUG9saWN5KFxuICAgIGFyZ3M6IEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3IsXG4gICAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRFbmRwb2ludEF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBHZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBHZXRQbGF0Zm9ybUFwcGxpY2F0aW9uQXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U01TQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBnZXRTTVNBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFNNU0F0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBUaHJvdHRsZWRFcnJvcixcbiAgICBHZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmR9XG4gICAqL1xuICBnZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1cyhcbiAgICBhcmdzOiBHZXRTTVNTYW5kYm94QWNjb3VudFN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBBdXRob3JpemF0aW9uRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgVGhyb3R0bGVkRXJyb3IsXG4gICAgR2V0U01TU2FuZGJveEFjY291bnRTdGF0dXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlcyhcbiAgICBhcmdzOiBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvcixcbiAgICBHZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRUb3BpY0F0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZ2V0VG9waWNBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIEdldFRvcGljQXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEVuZHBvaW50c0J5UGxhdGZvcm1BcHBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBsaXN0RW5kcG9pbnRzQnlQbGF0Zm9ybUFwcGxpY2F0aW9uKFxuICAgIGFyZ3M6IExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIExpc3RFbmRwb2ludHNCeVBsYXRmb3JtQXBwbGljYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPcmlnaW5hdGlvbk51bWJlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9yaWdpbmF0aW9uTnVtYmVycyhcbiAgICBhcmdzOiBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgVGhyb3R0bGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvcixcbiAgICBMaXN0T3JpZ2luYXRpb25OdW1iZXJzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UGhvbmVOdW1iZXJzT3B0ZWRPdXRDb21tYW5kfVxuICAgKi9cbiAgbGlzdFBob25lTnVtYmVyc09wdGVkT3V0KFxuICAgIGFyZ3M6IExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFRocm90dGxlZEVycm9yLFxuICAgIExpc3RQaG9uZU51bWJlcnNPcHRlZE91dENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBsYXRmb3JtQXBwbGljYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RQbGF0Zm9ybUFwcGxpY2F0aW9ucyhcbiAgICBhcmdzOiBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgQXV0aG9yaXphdGlvbkVycm9yIHwgSW50ZXJuYWxFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgICBMaXN0UGxhdGZvcm1BcHBsaWNhdGlvbnNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzKFxuICAgIGFyZ3M6IExpc3RTTVNTYW5kYm94UGhvbmVOdW1iZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUaHJvdHRsZWRFcnJvcixcbiAgICBMaXN0U01TU2FuZGJveFBob25lTnVtYmVyc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN1YnNjcmlwdGlvbnMoXG4gICAgYXJnczogTGlzdFN1YnNjcmlwdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgQXV0aG9yaXphdGlvbkVycm9yIHwgSW50ZXJuYWxFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgICBMaXN0U3Vic2NyaXB0aW9uc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN1YnNjcmlwdGlvbnNCeVRvcGljQ29tbWFuZH1cbiAgICovXG4gIGxpc3RTdWJzY3JpcHRpb25zQnlUb3BpYyhcbiAgICBhcmdzOiBMaXN0U3Vic2NyaXB0aW9uc0J5VG9waWNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIExpc3RTdWJzY3JpcHRpb25zQnlUb3BpY0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBsaXN0VGFnc0ZvclJlc291cmNlKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgQ29uY3VycmVudEFjY2Vzc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVGFnUG9saWN5RXJyb3IsXG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFRvcGljc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VG9waWNzKFxuICAgIGFyZ3M6IExpc3RUb3BpY3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgQXV0aG9yaXphdGlvbkVycm9yIHwgSW50ZXJuYWxFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgICBMaXN0VG9waWNzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBPcHRJblBob25lTnVtYmVyQ29tbWFuZH1cbiAgICovXG4gIG9wdEluUGhvbmVOdW1iZXIoXG4gICAgYXJnczogT3B0SW5QaG9uZU51bWJlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFRocm90dGxlZEVycm9yLFxuICAgIE9wdEluUGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1Ymxpc2hDb21tYW5kfVxuICAgKi9cbiAgcHVibGlzaChcbiAgICBhcmdzOiBQdWJsaXNoQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEVuZHBvaW50RGlzYWJsZWRFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU2VjdXJpdHlFcnJvclxuICAgIHwgS01TQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEtNU0Rpc2FibGVkRXJyb3JcbiAgICB8IEtNU0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLTVNOb3RGb3VuZEVycm9yXG4gICAgfCBLTVNPcHRJblJlcXVpcmVkRXJyb3JcbiAgICB8IEtNU1Rocm90dGxpbmdFcnJvclxuICAgIHwgTm90Rm91bmRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IFBsYXRmb3JtQXBwbGljYXRpb25EaXNhYmxlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3IsXG4gICAgUHVibGlzaENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVibGlzaEJhdGNoQ29tbWFuZH1cbiAgICovXG4gIHB1Ymxpc2hCYXRjaChcbiAgICBhcmdzOiBQdWJsaXNoQmF0Y2hDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgQmF0Y2hFbnRyeUlkc05vdERpc3RpbmN0RXJyb3JcbiAgICB8IEJhdGNoUmVxdWVzdFRvb0xvbmdFcnJvclxuICAgIHwgRW1wdHlCYXRjaFJlcXVlc3RFcnJvclxuICAgIHwgRW5kcG9pbnREaXNhYmxlZEVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkQmF0Y2hFbnRyeUlkRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IEtNU0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLTVNEaXNhYmxlZEVycm9yXG4gICAgfCBLTVNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS01TTm90Rm91bmRFcnJvclxuICAgIHwgS01TT3B0SW5SZXF1aXJlZEVycm9yXG4gICAgfCBLTVNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBQbGF0Zm9ybUFwcGxpY2F0aW9uRGlzYWJsZWRFcnJvclxuICAgIHwgVG9vTWFueUVudHJpZXNJbkJhdGNoUmVxdWVzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3IsXG4gICAgUHVibGlzaEJhdGNoQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXREYXRhUHJvdGVjdGlvblBvbGljeShcbiAgICBhcmdzOiBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTZWN1cml0eUVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVQZXJtaXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVBlcm1pc3Npb24oXG4gICAgYXJnczogUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3IsXG4gICAgUmVtb3ZlUGVybWlzc2lvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0RW5kcG9pbnRBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldEVuZHBvaW50QXR0cmlidXRlcyhcbiAgICBhcmdzOiBTZXRFbmRwb2ludEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIFNldEVuZHBvaW50QXR0cmlidXRlc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0UGxhdGZvcm1BcHBsaWNhdGlvbkF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIFNldFBsYXRmb3JtQXBwbGljYXRpb25BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRTTVNBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHNldFNNU0F0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0U01TQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFRocm90dGxlZEVycm9yLFxuICAgIFNldFNNU0F0dHJpYnV0ZXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgc2V0U3Vic2NyaXB0aW9uQXR0cmlidXRlcyhcbiAgICBhcmdzOiBTZXRTdWJzY3JpcHRpb25BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEZpbHRlclBvbGljeUxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RGb3VuZEVycm9yLFxuICAgIFNldFN1YnNjcmlwdGlvbkF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFRvcGljQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBzZXRUb3BpY0F0dHJpYnV0ZXMoXG4gICAgYXJnczogU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3IsXG4gICAgU2V0VG9waWNBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdWJzY3JpYmVDb21tYW5kfVxuICAgKi9cbiAgc3Vic2NyaWJlKFxuICAgIGFyZ3M6IFN1YnNjcmliZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkVycm9yXG4gICAgfCBGaWx0ZXJQb2xpY3lMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbkxpbWl0RXhjZWVkZWRFcnJvcixcbiAgICBTdWJzY3JpYmVDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IENvbmN1cnJlbnRBY2Nlc3NFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YWxlVGFnRXJyb3JcbiAgICB8IFRhZ0xpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgVGFnUG9saWN5RXJyb3IsXG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVuc3Vic2NyaWJlQ29tbWFuZH1cbiAgICovXG4gIHVuc3Vic2NyaWJlKFxuICAgIGFyZ3M6IFVuc3Vic2NyaWJlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNlY3VyaXR5RXJyb3JcbiAgICB8IE5vdEZvdW5kRXJyb3IsXG4gICAgVW5zdWJzY3JpYmVDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uRXJyb3JcbiAgICB8IENvbmN1cnJlbnRBY2Nlc3NFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YWxlVGFnRXJyb3JcbiAgICB8IFRhZ0xpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgVGFnUG9saWN5RXJyb3IsXG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVmVyaWZ5U01TU2FuZGJveFBob25lTnVtYmVyQ29tbWFuZH1cbiAgICovXG4gIHZlcmlmeVNNU1NhbmRib3hQaG9uZU51bWJlcihcbiAgICBhcmdzOiBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRocm90dGxlZEVycm9yXG4gICAgfCBWZXJpZmljYXRpb25FcnJvcixcbiAgICBWZXJpZnlTTVNTYW5kYm94UGhvbmVOdW1iZXJDb21tYW5kT3V0cHV0XG4gID47XG59XG5cbmV4cG9ydCBjb25zdCBCYXNlU05TU2VydmljZUVmZmVjdCA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNOU0NsaWVudEluc3RhbmNlVGFnKTtcblxuICByZXR1cm4gUlIudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM6IGFueSkgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoKSA9PiBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIG9wdGlvbnMgPz8ge30pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFNOU1NlcnZpY2VFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPFNOU1NlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFNOU1NlcnZpY2U7XG59KTtcblxuZXhwb3J0IGNvbnN0IFNOU1NlcnZpY2VFZmZlY3QgPSBCYXNlU05TU2VydmljZUVmZmVjdC5waXBlKFxuICBFZmZlY3QucHJvdmlkZShTTlNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0U05TU2VydmljZUVmZmVjdCA9IEJhc2VTTlNTZXJ2aWNlRWZmZWN0LnBpcGUoXG4gIEVmZmVjdC5wcm92aWRlKERlZmF1bHRTTlNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG4iXX0=
package/lib/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./Context";
2
+ export * from "./Errors";
2
3
  export * from "./SNS";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TTlNcIjtcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1NOU1wiO1xuIl19
package/lib/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./Context";
2
+ export * from "./Errors";
2
3
  export * from "./SNS";
package/lib/index.js CHANGED
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Context"), exports);
18
+ __exportStar(require("./Errors"), exports);
18
19
  __exportStar(require("./SNS"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQix3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TTlNcIjtcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQiwyQ0FBeUI7QUFDekIsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQ29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TTlNcIjtcbiJdfQ==
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "@typescript-eslint/parser": "^6",
13
13
  "aws-sdk-client-mock": "^3.0.0",
14
14
  "aws-sdk-client-mock-jest": "^3.0.0",
15
- "effect": "2.0.0-next.47",
15
+ "effect": "2.0.0-next.52",
16
16
  "eslint": "^8",
17
17
  "eslint-config-prettier": "^9.0.0",
18
18
  "eslint-import-resolver-node": "^0.3.9",
@@ -26,7 +26,7 @@
26
26
  "typescript": "^5.2.2"
27
27
  },
28
28
  "peerDependencies": {
29
- "effect": "^2.0.0-next.47"
29
+ "effect": "^2.0.0-next.52"
30
30
  },
31
31
  "dependencies": {
32
32
  "@aws-sdk/client-sns": "^3",
@@ -37,7 +37,7 @@
37
37
  "publishConfig": {
38
38
  "access": "public"
39
39
  },
40
- "version": "0.3.1",
40
+ "version": "0.4.0",
41
41
  "types": "lib/index.d.ts",
42
42
  "module": "lib/esm/index.js",
43
43
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",