@effect-aws/client-opensearch 1.0.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.
@@ -0,0 +1,138 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { OpenSearchServiceException, AcceptInboundConnectionCommand, AddDataSourceCommand, AddTagsCommand, AssociatePackageCommand, AuthorizeVpcEndpointAccessCommand, CancelDomainConfigChangeCommand, CancelServiceSoftwareUpdateCommand, CreateApplicationCommand, CreateDomainCommand, CreateOutboundConnectionCommand, CreatePackageCommand, CreateVpcEndpointCommand, DeleteApplicationCommand, DeleteDataSourceCommand, DeleteDomainCommand, DeleteInboundConnectionCommand, DeleteOutboundConnectionCommand, DeletePackageCommand, DeleteVpcEndpointCommand, DescribeDomainCommand, DescribeDomainAutoTunesCommand, DescribeDomainChangeProgressCommand, DescribeDomainConfigCommand, DescribeDomainHealthCommand, DescribeDomainNodesCommand, DescribeDomainsCommand, DescribeDryRunProgressCommand, DescribeInboundConnectionsCommand, DescribeInstanceTypeLimitsCommand, DescribeOutboundConnectionsCommand, DescribePackagesCommand, DescribeReservedInstanceOfferingsCommand, DescribeReservedInstancesCommand, DescribeVpcEndpointsCommand, DissociatePackageCommand, GetApplicationCommand, GetCompatibleVersionsCommand, GetDataSourceCommand, GetDomainMaintenanceStatusCommand, GetPackageVersionHistoryCommand, GetUpgradeHistoryCommand, GetUpgradeStatusCommand, ListApplicationsCommand, ListDataSourcesCommand, ListDomainMaintenancesCommand, ListDomainNamesCommand, ListDomainsForPackageCommand, ListInstanceTypeDetailsCommand, ListPackagesForDomainCommand, ListScheduledActionsCommand, ListTagsCommand, ListVersionsCommand, ListVpcEndpointAccessCommand, ListVpcEndpointsCommand, ListVpcEndpointsForDomainCommand, PurchaseReservedInstanceOfferingCommand, RejectInboundConnectionCommand, RemoveTagsCommand, RevokeVpcEndpointAccessCommand, StartDomainMaintenanceCommand, StartServiceSoftwareUpdateCommand, UpdateApplicationCommand, UpdateDataSourceCommand, UpdateDomainConfigCommand, UpdatePackageCommand, UpdateScheduledActionCommand, UpdateVpcEndpointCommand, UpgradeDomainCommand, } from "@aws-sdk/client-opensearch";
5
+ import { Data, Effect, Layer, Record } from "effect";
6
+ import { AllServiceErrors, SdkError, } from "./Errors";
7
+ import { OpenSearchClientInstance, OpenSearchClientInstanceLayer, } from "./OpenSearchClientInstance";
8
+ import { DefaultOpenSearchClientConfigLayer } from "./OpenSearchClientInstanceConfig";
9
+ const commands = {
10
+ AcceptInboundConnectionCommand,
11
+ AddDataSourceCommand,
12
+ AddTagsCommand,
13
+ AssociatePackageCommand,
14
+ AuthorizeVpcEndpointAccessCommand,
15
+ CancelDomainConfigChangeCommand,
16
+ CancelServiceSoftwareUpdateCommand,
17
+ CreateApplicationCommand,
18
+ CreateDomainCommand,
19
+ CreateOutboundConnectionCommand,
20
+ CreatePackageCommand,
21
+ CreateVpcEndpointCommand,
22
+ DeleteApplicationCommand,
23
+ DeleteDataSourceCommand,
24
+ DeleteDomainCommand,
25
+ DeleteInboundConnectionCommand,
26
+ DeleteOutboundConnectionCommand,
27
+ DeletePackageCommand,
28
+ DeleteVpcEndpointCommand,
29
+ DescribeDomainCommand,
30
+ DescribeDomainAutoTunesCommand,
31
+ DescribeDomainChangeProgressCommand,
32
+ DescribeDomainConfigCommand,
33
+ DescribeDomainHealthCommand,
34
+ DescribeDomainNodesCommand,
35
+ DescribeDomainsCommand,
36
+ DescribeDryRunProgressCommand,
37
+ DescribeInboundConnectionsCommand,
38
+ DescribeInstanceTypeLimitsCommand,
39
+ DescribeOutboundConnectionsCommand,
40
+ DescribePackagesCommand,
41
+ DescribeReservedInstanceOfferingsCommand,
42
+ DescribeReservedInstancesCommand,
43
+ DescribeVpcEndpointsCommand,
44
+ DissociatePackageCommand,
45
+ GetApplicationCommand,
46
+ GetCompatibleVersionsCommand,
47
+ GetDataSourceCommand,
48
+ GetDomainMaintenanceStatusCommand,
49
+ GetPackageVersionHistoryCommand,
50
+ GetUpgradeHistoryCommand,
51
+ GetUpgradeStatusCommand,
52
+ ListApplicationsCommand,
53
+ ListDataSourcesCommand,
54
+ ListDomainMaintenancesCommand,
55
+ ListDomainNamesCommand,
56
+ ListDomainsForPackageCommand,
57
+ ListInstanceTypeDetailsCommand,
58
+ ListPackagesForDomainCommand,
59
+ ListScheduledActionsCommand,
60
+ ListTagsCommand,
61
+ ListVersionsCommand,
62
+ ListVpcEndpointAccessCommand,
63
+ ListVpcEndpointsCommand,
64
+ ListVpcEndpointsForDomainCommand,
65
+ PurchaseReservedInstanceOfferingCommand,
66
+ RejectInboundConnectionCommand,
67
+ RemoveTagsCommand,
68
+ RevokeVpcEndpointAccessCommand,
69
+ StartDomainMaintenanceCommand,
70
+ StartServiceSoftwareUpdateCommand,
71
+ UpdateApplicationCommand,
72
+ UpdateDataSourceCommand,
73
+ UpdateDomainConfigCommand,
74
+ UpdatePackageCommand,
75
+ UpdateScheduledActionCommand,
76
+ UpdateVpcEndpointCommand,
77
+ UpgradeDomainCommand,
78
+ };
79
+ /**
80
+ * @since 1.0.0
81
+ * @category models
82
+ */
83
+ export class OpenSearchService extends Effect.Tag("@effect-aws/client-opensearch/OpenSearchService")() {
84
+ }
85
+ /**
86
+ * @since 1.0.0
87
+ * @category constructors
88
+ */
89
+ export const makeOpenSearchService = Effect.gen(function* (_) {
90
+ const client = yield* _(OpenSearchClientInstance);
91
+ return Record.toEntries(commands).reduce((acc, [command]) => {
92
+ const CommandCtor = commands[command];
93
+ const methodImpl = (args, options) => Effect.tryPromise({
94
+ try: (abortSignal) => client.send(new CommandCtor(args), {
95
+ ...(options !== null && options !== void 0 ? options : {}),
96
+ abortSignal,
97
+ }),
98
+ catch: (e) => {
99
+ if (e instanceof OpenSearchServiceException &&
100
+ AllServiceErrors.includes(e.name)) {
101
+ const ServiceException = Data.tagged(e.name);
102
+ return ServiceException({
103
+ ...e,
104
+ message: e.message,
105
+ stack: e.stack,
106
+ });
107
+ }
108
+ if (e instanceof Error) {
109
+ return SdkError({
110
+ ...e,
111
+ name: "SdkError",
112
+ message: e.message,
113
+ stack: e.stack,
114
+ });
115
+ }
116
+ throw e;
117
+ },
118
+ });
119
+ const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
120
+ return { ...acc, [methodName]: methodImpl };
121
+ }, {});
122
+ });
123
+ /**
124
+ * @since 1.0.0
125
+ * @category layers
126
+ */
127
+ export const BaseOpenSearchServiceLayer = Layer.effect(OpenSearchService, makeOpenSearchService);
128
+ /**
129
+ * @since 1.0.0
130
+ * @category layers
131
+ */
132
+ export const OpenSearchServiceLayer = BaseOpenSearchServiceLayer.pipe(Layer.provide(OpenSearchClientInstanceLayer));
133
+ /**
134
+ * @since 1.0.0
135
+ * @category layers
136
+ */
137
+ export const DefaultOpenSearchServiceLayer = OpenSearchServiceLayer.pipe(Layer.provide(DefaultOpenSearchClientConfigLayer));
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvT3BlblNlYXJjaFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLDhCQUE4QixFQUc5QixvQkFBb0IsRUFHcEIsY0FBYyxFQUdkLHVCQUF1QixFQUd2QixpQ0FBaUMsRUFHakMsK0JBQStCLEVBRy9CLGtDQUFrQyxFQUdsQyx3QkFBd0IsRUFHeEIsbUJBQW1CLEVBR25CLCtCQUErQixFQUcvQixvQkFBb0IsRUFHcEIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4Qix1QkFBdUIsRUFHdkIsbUJBQW1CLEVBR25CLDhCQUE4QixFQUc5QiwrQkFBK0IsRUFHL0Isb0JBQW9CLEVBR3BCLHdCQUF3QixFQUd4QixxQkFBcUIsRUFHckIsOEJBQThCLEVBRzlCLG1DQUFtQyxFQUduQywyQkFBMkIsRUFHM0IsMkJBQTJCLEVBRzNCLDBCQUEwQixFQUcxQixzQkFBc0IsRUFHdEIsNkJBQTZCLEVBRzdCLGlDQUFpQyxFQUdqQyxpQ0FBaUMsRUFHakMsa0NBQWtDLEVBR2xDLHVCQUF1QixFQUd2Qix3Q0FBd0MsRUFHeEMsZ0NBQWdDLEVBR2hDLDJCQUEyQixFQUczQix3QkFBd0IsRUFHeEIscUJBQXFCLEVBR3JCLDRCQUE0QixFQUc1QixvQkFBb0IsRUFHcEIsaUNBQWlDLEVBR2pDLCtCQUErQixFQUcvQix3QkFBd0IsRUFHeEIsdUJBQXVCLEVBR3ZCLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsNkJBQTZCLEVBRzdCLHNCQUFzQixFQUd0Qiw0QkFBNEIsRUFHNUIsOEJBQThCLEVBRzlCLDRCQUE0QixFQUc1QiwyQkFBMkIsRUFHM0IsZUFBZSxFQUdmLG1CQUFtQixFQUduQiw0QkFBNEIsRUFHNUIsdUJBQXVCLEVBR3ZCLGdDQUFnQyxFQUdoQyx1Q0FBdUMsRUFHdkMsOEJBQThCLEVBRzlC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RUFBRSxDQUF1QixDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDcEQsaUJBQWlCLEVBQ2pCLHFCQUFxQixDQUN0QixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUNuRSxLQUFLLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQzdDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQ3RFLEtBQUssQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIE9wZW5TZWFyY2hTZXJ2aWNlRXhjZXB0aW9uLFxuICBBY2NlcHRJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQWNjZXB0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQWNjZXB0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBBZGREYXRhU291cmNlQ29tbWFuZCxcbiAgdHlwZSBBZGREYXRhU291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZERhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBBZGRUYWdzQ29tbWFuZCxcbiAgdHlwZSBBZGRUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFRhZ3NDb21tYW5kT3V0cHV0LFxuICBBc3NvY2lhdGVQYWNrYWdlQ29tbWFuZCxcbiAgdHlwZSBBc3NvY2lhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIEFzc29jaWF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBBdXRob3JpemVWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgQXV0aG9yaXplVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXV0aG9yaXplVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxEb21haW5Db25maWdDaGFuZ2VDb21tYW5kLFxuICB0eXBlIENhbmNlbERvbWFpbkNvbmZpZ0NoYW5nZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxEb21haW5Db25maWdDaGFuZ2VDb21tYW5kT3V0cHV0LFxuICBDYW5jZWxTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kLFxuICB0eXBlIENhbmNlbFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVEb21haW5Db21tYW5kLFxuICB0eXBlIENyZWF0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEb21haW5Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZU91dGJvdW5kQ29ubmVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVQYWNrYWdlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVEYXRhU291cmNlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEYXRhU291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBEZWxldGVEb21haW5Db21tYW5kLFxuICB0eXBlIERlbGV0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEb21haW5Db21tYW5kT3V0cHV0LFxuICBEZWxldGVJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW5ib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlSW5ib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZU91dGJvdW5kQ29ubmVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVQYWNrYWdlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBEZWxldGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5Db21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkF1dG9UdW5lc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5BdXRvVHVuZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5BdXRvVHVuZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkNoYW5nZVByb2dyZXNzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkNoYW5nZVByb2dyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluQ2hhbmdlUHJvZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5Db25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5Db25maWdDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbkhlYWx0aENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5IZWFsdGhDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5IZWFsdGhDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbk5vZGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbk5vZGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluTm9kZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURvbWFpbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRG9tYWluc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZURyeVJ1blByb2dyZXNzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURyeVJ1blByb2dyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRHJ5UnVuUHJvZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUluYm91bmRDb25uZWN0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVJbmJvdW5kQ29ubmVjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbmJvdW5kQ29ubmVjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUluc3RhbmNlVHlwZUxpbWl0c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZU91dGJvdW5kQ29ubmVjdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3V0Ym91bmRDb25uZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU91dGJvdW5kQ29ubmVjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVBhY2thZ2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVBhY2thZ2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUGFja2FnZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ3NDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVZwY0VuZHBvaW50c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVWcGNFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICBEaXNzb2NpYXRlUGFja2FnZUNvbW1hbmQsXG4gIHR5cGUgRGlzc29jaWF0ZVBhY2thZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzc29jaWF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBHZXRBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0QXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRDb21wYXRpYmxlVmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIEdldENvbXBhdGlibGVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRDb21wYXRpYmxlVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBHZXREYXRhU291cmNlQ29tbWFuZCxcbiAgdHlwZSBHZXREYXRhU291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldERhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBHZXREb21haW5NYWludGVuYW5jZVN0YXR1c0NvbW1hbmQsXG4gIHR5cGUgR2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRQYWNrYWdlVmVyc2lvbkhpc3RvcnlDb21tYW5kLFxuICB0eXBlIEdldFBhY2thZ2VWZXJzaW9uSGlzdG9yeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRQYWNrYWdlVmVyc2lvbkhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICBHZXRVcGdyYWRlSGlzdG9yeUNvbW1hbmQsXG4gIHR5cGUgR2V0VXBncmFkZUhpc3RvcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0VXBncmFkZUhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICBHZXRVcGdyYWRlU3RhdHVzQ29tbWFuZCxcbiAgdHlwZSBHZXRVcGdyYWRlU3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFVwZ3JhZGVTdGF0dXNDb21tYW5kT3V0cHV0LFxuICBMaXN0QXBwbGljYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0QXBwbGljYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBcHBsaWNhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0RGF0YVNvdXJjZXNDb21tYW5kLFxuICB0eXBlIExpc3REYXRhU291cmNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RGF0YVNvdXJjZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RG9tYWluTWFpbnRlbmFuY2VzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RG9tYWluTWFpbnRlbmFuY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REb21haW5NYWludGVuYW5jZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RG9tYWluTmFtZXNDb21tYW5kLFxuICB0eXBlIExpc3REb21haW5OYW1lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RG9tYWluTmFtZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0RG9tYWluc0ZvclBhY2thZ2VDb21tYW5kLFxuICB0eXBlIExpc3REb21haW5zRm9yUGFja2FnZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RG9tYWluc0ZvclBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBMaXN0SW5zdGFuY2VUeXBlRGV0YWlsc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEluc3RhbmNlVHlwZURldGFpbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEluc3RhbmNlVHlwZURldGFpbHNDb21tYW5kT3V0cHV0LFxuICBMaXN0UGFja2FnZXNGb3JEb21haW5Db21tYW5kLFxuICB0eXBlIExpc3RQYWNrYWdlc0ZvckRvbWFpbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UGFja2FnZXNGb3JEb21haW5Db21tYW5kT3V0cHV0LFxuICBMaXN0U2NoZWR1bGVkQWN0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNjaGVkdWxlZEFjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNjaGVkdWxlZEFjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0VmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIExpc3RWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kLFxuICB0eXBlIExpc3RWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICBMaXN0VnBjRW5kcG9pbnRzRm9yRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRzRm9yRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RWcGNFbmRwb2ludHNGb3JEb21haW5Db21tYW5kT3V0cHV0LFxuICBQdXJjaGFzZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ0NvbW1hbmQsXG4gIHR5cGUgUHVyY2hhc2VSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHVyY2hhc2VSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICBSZWplY3RJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmQsXG4gIHR5cGUgUmVqZWN0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUmVqZWN0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICBSZW1vdmVUYWdzQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVUYWdzQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVRhZ3NDb21tYW5kT3V0cHV0LFxuICBSZXZva2VWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgUmV2b2tlVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmV2b2tlVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICBTdGFydERvbWFpbk1haW50ZW5hbmNlQ29tbWFuZCxcbiAgdHlwZSBTdGFydERvbWFpbk1haW50ZW5hbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0RG9tYWluTWFpbnRlbmFuY2VDb21tYW5kT3V0cHV0LFxuICBTdGFydFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmQsXG4gIHR5cGUgU3RhcnRTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVEYXRhU291cmNlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEYXRhU291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVEb21haW5Db25maWdDb21tYW5kLFxuICB0eXBlIFVwZGF0ZURvbWFpbkNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVEb21haW5Db25maWdDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVQYWNrYWdlQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVBhY2thZ2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTY2hlZHVsZWRBY3Rpb25Db21tYW5kLFxuICB0eXBlIFVwZGF0ZVNjaGVkdWxlZEFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTY2hlZHVsZWRBY3Rpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBVcGdyYWRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBVcGdyYWRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZ3JhZGVEb21haW5Db21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9wZW5zZWFyY2hcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEFjY2Vzc0RlbmllZEVycm9yLFxuICBCYXNlRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIERlcGVuZGVuY3lGYWlsdXJlRXJyb3IsXG4gIERpc2FibGVkT3BlcmF0aW9uRXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIEludmFsaWRQYWdpbmF0aW9uVG9rZW5FcnJvcixcbiAgSW52YWxpZFR5cGVFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTbG90Tm90QXZhaWxhYmxlRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQge1xuICBPcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2UsXG4gIE9wZW5TZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9PcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRPcGVuU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9PcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFjY2VwdEluYm91bmRDb25uZWN0aW9uQ29tbWFuZCxcbiAgQWRkRGF0YVNvdXJjZUNvbW1hbmQsXG4gIEFkZFRhZ3NDb21tYW5kLFxuICBBc3NvY2lhdGVQYWNrYWdlQ29tbWFuZCxcbiAgQXV0aG9yaXplVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kLFxuICBDYW5jZWxEb21haW5Db25maWdDaGFuZ2VDb21tYW5kLFxuICBDYW5jZWxTZXJ2aWNlU29mdHdhcmVVcGRhdGVDb21tYW5kLFxuICBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZURvbWFpbkNvbW1hbmQsXG4gIENyZWF0ZU91dGJvdW5kQ29ubmVjdGlvbkNvbW1hbmQsXG4gIENyZWF0ZVBhY2thZ2VDb21tYW5kLFxuICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGVsZXRlRGF0YVNvdXJjZUNvbW1hbmQsXG4gIERlbGV0ZURvbWFpbkNvbW1hbmQsXG4gIERlbGV0ZUluYm91bmRDb25uZWN0aW9uQ29tbWFuZCxcbiAgRGVsZXRlT3V0Ym91bmRDb25uZWN0aW9uQ29tbWFuZCxcbiAgRGVsZXRlUGFja2FnZUNvbW1hbmQsXG4gIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5Db21tYW5kLFxuICBEZXNjcmliZURvbWFpbkF1dG9UdW5lc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluQ2hhbmdlUHJvZ3Jlc3NDb21tYW5kLFxuICBEZXNjcmliZURvbWFpbkNvbmZpZ0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluSGVhbHRoQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5Ob2Rlc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluc0NvbW1hbmQsXG4gIERlc2NyaWJlRHJ5UnVuUHJvZ3Jlc3NDb21tYW5kLFxuICBEZXNjcmliZUluYm91bmRDb25uZWN0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlSW5zdGFuY2VUeXBlTGltaXRzQ29tbWFuZCxcbiAgRGVzY3JpYmVPdXRib3VuZENvbm5lY3Rpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVQYWNrYWdlc0NvbW1hbmQsXG4gIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nc0NvbW1hbmQsXG4gIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNDb21tYW5kLFxuICBEZXNjcmliZVZwY0VuZHBvaW50c0NvbW1hbmQsXG4gIERpc3NvY2lhdGVQYWNrYWdlQ29tbWFuZCxcbiAgR2V0QXBwbGljYXRpb25Db21tYW5kLFxuICBHZXRDb21wYXRpYmxlVmVyc2lvbnNDb21tYW5kLFxuICBHZXREYXRhU291cmNlQ29tbWFuZCxcbiAgR2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXNDb21tYW5kLFxuICBHZXRQYWNrYWdlVmVyc2lvbkhpc3RvcnlDb21tYW5kLFxuICBHZXRVcGdyYWRlSGlzdG9yeUNvbW1hbmQsXG4gIEdldFVwZ3JhZGVTdGF0dXNDb21tYW5kLFxuICBMaXN0QXBwbGljYXRpb25zQ29tbWFuZCxcbiAgTGlzdERhdGFTb3VyY2VzQ29tbWFuZCxcbiAgTGlzdERvbWFpbk1haW50ZW5hbmNlc0NvbW1hbmQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIExpc3REb21haW5zRm9yUGFja2FnZUNvbW1hbmQsXG4gIExpc3RJbnN0YW5jZVR5cGVEZXRhaWxzQ29tbWFuZCxcbiAgTGlzdFBhY2thZ2VzRm9yRG9tYWluQ29tbWFuZCxcbiAgTGlzdFNjaGVkdWxlZEFjdGlvbnNDb21tYW5kLFxuICBMaXN0VGFnc0NvbW1hbmQsXG4gIExpc3RWZXJzaW9uc0NvbW1hbmQsXG4gIExpc3RWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmQsXG4gIExpc3RWcGNFbmRwb2ludHNDb21tYW5kLFxuICBMaXN0VnBjRW5kcG9pbnRzRm9yRG9tYWluQ29tbWFuZCxcbiAgUHVyY2hhc2VSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdDb21tYW5kLFxuICBSZWplY3RJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmQsXG4gIFJlbW92ZVRhZ3NDb21tYW5kLFxuICBSZXZva2VWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmQsXG4gIFN0YXJ0RG9tYWluTWFpbnRlbmFuY2VDb21tYW5kLFxuICBTdGFydFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmQsXG4gIFVwZGF0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgVXBkYXRlRGF0YVNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZURvbWFpbkNvbmZpZ0NvbW1hbmQsXG4gIFVwZGF0ZVBhY2thZ2VDb21tYW5kLFxuICBVcGRhdGVTY2hlZHVsZWRBY3Rpb25Db21tYW5kLFxuICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIFVwZ3JhZGVEb21haW5Db21tYW5kLFxufTtcblxuaW50ZXJmYWNlIE9wZW5TZWFyY2hTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFjY2VwdEluYm91bmRDb25uZWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIGFjY2VwdEluYm91bmRDb25uZWN0aW9uKFxuICAgIGFyZ3M6IEFjY2VwdEluYm91bmRDb25uZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWNjZXB0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZERhdGFTb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgYWRkRGF0YVNvdXJjZShcbiAgICBhcmdzOiBBZGREYXRhU291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRkRGF0YVNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEZXBlbmRlbmN5RmFpbHVyZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZFRhZ3NDb21tYW5kfVxuICAgKi9cbiAgYWRkVGFncyhcbiAgICBhcmdzOiBBZGRUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRkVGFnc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgTGltaXRFeGNlZWRlZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFzc29jaWF0ZVBhY2thZ2VDb21tYW5kfVxuICAgKi9cbiAgYXNzb2NpYXRlUGFja2FnZShcbiAgICBhcmdzOiBBc3NvY2lhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXNzb2NpYXRlUGFja2FnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXV0aG9yaXplVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kfVxuICAgKi9cbiAgYXV0aG9yaXplVnBjRW5kcG9pbnRBY2Nlc3MoXG4gICAgYXJnczogQXV0aG9yaXplVnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBdXRob3JpemVWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbERvbWFpbkNvbmZpZ0NoYW5nZUNvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxEb21haW5Db25maWdDaGFuZ2UoXG4gICAgYXJnczogQ2FuY2VsRG9tYWluQ29uZmlnQ2hhbmdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsRG9tYWluQ29uZmlnQ2hhbmdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmR9XG4gICAqL1xuICBjYW5jZWxTZXJ2aWNlU29mdHdhcmVVcGRhdGUoXG4gICAgYXJnczogQ2FuY2VsU2VydmljZVNvZnR3YXJlVXBkYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsU2VydmljZVNvZnR3YXJlVXBkYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUFwcGxpY2F0aW9uKFxuICAgIGFyZ3M6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEb21haW5Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlRG9tYWluKFxuICAgIGFyZ3M6IENyZWF0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlT3V0Ym91bmRDb25uZWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZU91dGJvdW5kQ29ubmVjdGlvbihcbiAgICBhcmdzOiBDcmVhdGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVPdXRib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUGFja2FnZUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVQYWNrYWdlKFxuICAgIGFyZ3M6IENyZWF0ZVBhY2thZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVQYWNrYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlVnBjRW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBcHBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBcHBsaWNhdGlvbihcbiAgICBhcmdzOiBEZWxldGVBcHBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUFwcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEYXRhU291cmNlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURhdGFTb3VyY2UoXG4gICAgYXJnczogRGVsZXRlRGF0YVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURhdGFTb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGVwZW5kZW5jeUZhaWx1cmVFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURvbWFpbihcbiAgICBhcmdzOiBEZWxldGVEb21haW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW5ib3VuZENvbm5lY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW5ib3VuZENvbm5lY3Rpb24oXG4gICAgYXJnczogRGVsZXRlSW5ib3VuZENvbm5lY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbmJvdW5kQ29ubmVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU91dGJvdW5kQ29ubmVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVPdXRib3VuZENvbm5lY3Rpb24oXG4gICAgYXJnczogRGVsZXRlT3V0Ym91bmRDb25uZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlT3V0Ym91bmRDb25uZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUGFja2FnZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVQYWNrYWdlKFxuICAgIGFyZ3M6IERlbGV0ZVBhY2thZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVQYWNrYWdlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVWcGNFbmRwb2ludChcbiAgICBhcmdzOiBEZWxldGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURvbWFpbihcbiAgICBhcmdzOiBEZXNjcmliZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRG9tYWluQXV0b1R1bmVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWluQXV0b1R1bmVzKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluQXV0b1R1bmVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEb21haW5BdXRvVHVuZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5DaGFuZ2VQcm9ncmVzc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURvbWFpbkNoYW5nZVByb2dyZXNzKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluQ2hhbmdlUHJvZ3Jlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbkNoYW5nZVByb2dyZXNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRG9tYWluQ29uZmlnQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWluQ29uZmlnKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluQ29uZmlnQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEb21haW5Db25maWdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5IZWFsdGhDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5IZWFsdGgoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5IZWFsdGhDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbkhlYWx0aENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbk5vZGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWluTm9kZXMoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5Ob2Rlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluTm9kZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGVwZW5kZW5jeUZhaWx1cmVFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWlucyhcbiAgICBhcmdzOiBEZXNjcmliZURvbWFpbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURyeVJ1blByb2dyZXNzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRHJ5UnVuUHJvZ3Jlc3MoXG4gICAgYXJnczogRGVzY3JpYmVEcnlSdW5Qcm9ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRHJ5UnVuUHJvZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVJbmJvdW5kQ29ubmVjdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVJbmJvdW5kQ29ubmVjdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVJbmJvdW5kQ29ubmVjdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUluYm91bmRDb25uZWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yIHwgSW52YWxpZFBhZ2luYXRpb25Ub2tlbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlSW5zdGFuY2VUeXBlTGltaXRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlSW5zdGFuY2VUeXBlTGltaXRzKFxuICAgIGFyZ3M6IERlc2NyaWJlSW5zdGFuY2VUeXBlTGltaXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVJbnN0YW5jZVR5cGVMaW1pdHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU91dGJvdW5kQ29ubmVjdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVPdXRib3VuZENvbm5lY3Rpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlT3V0Ym91bmRDb25uZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlT3V0Ym91bmRDb25uZWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yIHwgSW52YWxpZFBhZ2luYXRpb25Ub2tlbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUGFja2FnZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVQYWNrYWdlcyhcbiAgICBhcmdzOiBEZXNjcmliZVBhY2thZ2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVQYWNrYWdlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5ncyhcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VPZmZlcmluZ3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWRJbnN0YW5jZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlcyhcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkSW5zdGFuY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNlcnZlZEluc3RhbmNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVWcGNFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVWcGNFbmRwb2ludHMoXG4gICAgYXJnczogRGVzY3JpYmVWcGNFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVZwY0VuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzc29jaWF0ZVBhY2thZ2VDb21tYW5kfVxuICAgKi9cbiAgZGlzc29jaWF0ZVBhY2thZ2UoXG4gICAgYXJnczogRGlzc29jaWF0ZVBhY2thZ2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNzb2NpYXRlUGFja2FnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QXBwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QXBwbGljYXRpb24oXG4gICAgYXJnczogR2V0QXBwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBcHBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Q29tcGF0aWJsZVZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGdldENvbXBhdGlibGVWZXJzaW9ucyhcbiAgICBhcmdzOiBHZXRDb21wYXRpYmxlVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRDb21wYXRpYmxlVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RGF0YVNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBnZXREYXRhU291cmNlKFxuICAgIGFyZ3M6IEdldERhdGFTb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXREYXRhU291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERlcGVuZGVuY3lGYWlsdXJlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldERvbWFpbk1haW50ZW5hbmNlU3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGdldERvbWFpbk1haW50ZW5hbmNlU3RhdHVzKFxuICAgIGFyZ3M6IEdldERvbWFpbk1haW50ZW5hbmNlU3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RG9tYWluTWFpbnRlbmFuY2VTdGF0dXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UGFja2FnZVZlcnNpb25IaXN0b3J5Q29tbWFuZH1cbiAgICovXG4gIGdldFBhY2thZ2VWZXJzaW9uSGlzdG9yeShcbiAgICBhcmdzOiBHZXRQYWNrYWdlVmVyc2lvbkhpc3RvcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRQYWNrYWdlVmVyc2lvbkhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFVwZ3JhZGVIaXN0b3J5Q29tbWFuZH1cbiAgICovXG4gIGdldFVwZ3JhZGVIaXN0b3J5KFxuICAgIGFyZ3M6IEdldFVwZ3JhZGVIaXN0b3J5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0VXBncmFkZUhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0VXBncmFkZVN0YXR1c0NvbW1hbmR9XG4gICAqL1xuICBnZXRVcGdyYWRlU3RhdHVzKFxuICAgIGFyZ3M6IEdldFVwZ3JhZGVTdGF0dXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRVcGdyYWRlU3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBcHBsaWNhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEFwcGxpY2F0aW9ucyhcbiAgICBhcmdzOiBMaXN0QXBwbGljYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFwcGxpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERhdGFTb3VyY2VzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REYXRhU291cmNlcyhcbiAgICBhcmdzOiBMaXN0RGF0YVNvdXJjZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RGF0YVNvdXJjZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGVwZW5kZW5jeUZhaWx1cmVFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERvbWFpbk1haW50ZW5hbmNlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RG9tYWluTWFpbnRlbmFuY2VzKFxuICAgIGFyZ3M6IExpc3REb21haW5NYWludGVuYW5jZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RG9tYWluTWFpbnRlbmFuY2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3REb21haW5OYW1lc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RG9tYWluTmFtZXMoXG4gICAgYXJnczogTGlzdERvbWFpbk5hbWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdERvbWFpbk5hbWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RG9tYWluc0ZvclBhY2thZ2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdERvbWFpbnNGb3JQYWNrYWdlKFxuICAgIGFyZ3M6IExpc3REb21haW5zRm9yUGFja2FnZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REb21haW5zRm9yUGFja2FnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEluc3RhbmNlVHlwZURldGFpbHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEluc3RhbmNlVHlwZURldGFpbHMoXG4gICAgYXJnczogTGlzdEluc3RhbmNlVHlwZURldGFpbHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SW5zdGFuY2VUeXBlRGV0YWlsc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UGFja2FnZXNGb3JEb21haW5Db21tYW5kfVxuICAgKi9cbiAgbGlzdFBhY2thZ2VzRm9yRG9tYWluKFxuICAgIGFyZ3M6IExpc3RQYWNrYWdlc0ZvckRvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RQYWNrYWdlc0ZvckRvbWFpbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNjaGVkdWxlZEFjdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNjaGVkdWxlZEFjdGlvbnMoXG4gICAgYXJnczogTGlzdFNjaGVkdWxlZEFjdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2NoZWR1bGVkQWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFnaW5hdGlvblRva2VuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzKFxuICAgIGFyZ3M6IExpc3RUYWdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RWZXJzaW9ucyhcbiAgICBhcmdzOiBMaXN0VmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFZwY0VuZHBvaW50QWNjZXNzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RWcGNFbmRwb2ludEFjY2VzcyhcbiAgICBhcmdzOiBMaXN0VnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VnBjRW5kcG9pbnRBY2Nlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RWcGNFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFZwY0VuZHBvaW50cyhcbiAgICBhcmdzOiBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yIHwgSW50ZXJuYWxFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VnBjRW5kcG9pbnRzRm9yRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGxpc3RWcGNFbmRwb2ludHNGb3JEb21haW4oXG4gICAgYXJnczogTGlzdFZwY0VuZHBvaW50c0ZvckRvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RWcGNFbmRwb2ludHNGb3JEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1cmNoYXNlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1cmNoYXNlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nKFxuICAgIGFyZ3M6IFB1cmNoYXNlUmVzZXJ2ZWRJbnN0YW5jZU9mZmVyaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHVyY2hhc2VSZXNlcnZlZEluc3RhbmNlT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlamVjdEluYm91bmRDb25uZWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlamVjdEluYm91bmRDb25uZWN0aW9uKFxuICAgIGFyZ3M6IFJlamVjdEluYm91bmRDb25uZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVqZWN0SW5ib3VuZENvbm5lY3Rpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVUYWdzQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVRhZ3MoXG4gICAgYXJnczogUmVtb3ZlVGFnc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVRhZ3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXZva2VWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmR9XG4gICAqL1xuICByZXZva2VWcGNFbmRwb2ludEFjY2VzcyhcbiAgICBhcmdzOiBSZXZva2VWcGNFbmRwb2ludEFjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJldm9rZVZwY0VuZHBvaW50QWNjZXNzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0RG9tYWluTWFpbnRlbmFuY2VDb21tYW5kfVxuICAgKi9cbiAgc3RhcnREb21haW5NYWludGVuYW5jZShcbiAgICBhcmdzOiBTdGFydERvbWFpbk1haW50ZW5hbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnREb21haW5NYWludGVuYW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmR9XG4gICAqL1xuICBzdGFydFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZShcbiAgICBhcmdzOiBTdGFydFNlcnZpY2VTb2Z0d2FyZVVwZGF0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0U2VydmljZVNvZnR3YXJlVXBkYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUFwcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFwcGxpY2F0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZUFwcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQXBwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZURhdGFTb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlRGF0YVNvdXJjZShcbiAgICBhcmdzOiBVcGRhdGVEYXRhU291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRGF0YVNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEZXBlbmRlbmN5RmFpbHVyZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVEb21haW5Db25maWdDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlRG9tYWluQ29uZmlnKFxuICAgIGFyZ3M6IFVwZGF0ZURvbWFpbkNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZURvbWFpbkNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVBhY2thZ2VDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlUGFja2FnZShcbiAgICBhcmdzOiBVcGRhdGVQYWNrYWdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlUGFja2FnZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTY2hlZHVsZWRBY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2NoZWR1bGVkQWN0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZVNjaGVkdWxlZEFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNjaGVkdWxlZEFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2xvdE5vdEF2YWlsYWJsZUVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlVnBjRW5kcG9pbnQoXG4gICAgYXJnczogVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGdyYWRlRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIHVwZ3JhZGVEb21haW4oXG4gICAgYXJnczogVXBncmFkZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZ3JhZGVEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuU2VhcmNoU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LW9wZW5zZWFyY2gvT3BlblNlYXJjaFNlcnZpY2VcIixcbik8T3BlblNlYXJjaFNlcnZpY2UsIE9wZW5TZWFyY2hTZXJ2aWNlJD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZU9wZW5TZWFyY2hTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oT3BlblNlYXJjaENsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgT3BlblNlYXJjaFNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248T3BlblNlYXJjaFNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIE9wZW5TZWFyY2hTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZU9wZW5TZWFyY2hTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIE9wZW5TZWFyY2hTZXJ2aWNlLFxuICBtYWtlT3BlblNlYXJjaFNlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgT3BlblNlYXJjaFNlcnZpY2VMYXllciA9IEJhc2VPcGVuU2VhcmNoU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoT3BlblNlYXJjaENsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcGVuU2VhcmNoU2VydmljZUxheWVyID0gT3BlblNlYXJjaFNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRPcGVuU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIpLFxuKTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from "./Errors";
2
+ export * from "./OpenSearchClientInstance";
3
+ export * from "./OpenSearchClientInstanceConfig";
4
+ export * from "./OpenSearchService";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL09wZW5TZWFyY2hDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vT3BlblNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9PcGVuU2VhcmNoU2VydmljZVwiO1xuIl19
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./Errors";
2
+ export * from "./OpenSearchClientInstance";
3
+ export * from "./OpenSearchClientInstanceConfig";
4
+ export * from "./OpenSearchService";
package/lib/index.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Errors"), exports);
18
+ __exportStar(require("./OpenSearchClientInstance"), exports);
19
+ __exportStar(require("./OpenSearchClientInstanceConfig"), exports);
20
+ __exportStar(require("./OpenSearchService"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6Qiw2REFBMkM7QUFDM0MsbUVBQWlEO0FBQ2pELHNEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vT3BlblNlYXJjaENsaWVudEluc3RhbmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9PcGVuU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2aWNlXCI7XG4iXX0=
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@effect-aws/client-opensearch",
3
+ "author": {
4
+ "name": "Victor Korzunin",
5
+ "email": "ifloydrose@gmail.com",
6
+ "organization": false
7
+ },
8
+ "devDependencies": {
9
+ "@types/node": "^18",
10
+ "@typescript-eslint/eslint-plugin": "^7",
11
+ "@typescript-eslint/parser": "^7",
12
+ "aws-sdk-client-mock": "^4.0.2",
13
+ "aws-sdk-client-mock-vitest": "^4.0.0",
14
+ "effect": "3.0.0",
15
+ "eslint": "^8",
16
+ "eslint-config-prettier": "^9.1.0",
17
+ "eslint-import-resolver-typescript": "^3.6.1",
18
+ "eslint-plugin-import": "^2.29.1",
19
+ "eslint-plugin-prettier": "^5.2.1",
20
+ "prettier": "^3.2.5",
21
+ "typescript": "^5.4.2",
22
+ "vitest": "^2.0.5"
23
+ },
24
+ "peerDependencies": {
25
+ "effect": ">=3.0.0 <4.0.0"
26
+ },
27
+ "dependencies": {
28
+ "@aws-sdk/client-opensearch": "^3"
29
+ },
30
+ "main": "lib/index.js",
31
+ "license": "MIT",
32
+ "homepage": "https://floydspace.github.io/effect-aws",
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "version": "1.0.0",
37
+ "types": "lib/index.d.ts",
38
+ "module": "lib/esm/index.js",
39
+ "sideEffects": [],
40
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
41
+ "scripts": {
42
+ "build": "npx projen build",
43
+ "compile": "npx projen compile",
44
+ "default": "npx projen default",
45
+ "eslint": "npx projen eslint",
46
+ "package": "npx projen package",
47
+ "post-compile": "npx projen post-compile",
48
+ "pre-compile": "npx projen pre-compile",
49
+ "test": "npx projen test",
50
+ "test:watch": "npx projen test:watch",
51
+ "watch": "npx projen watch",
52
+ "docgen": "docgen"
53
+ }
54
+ }
package/project.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@effect-aws/client-opensearch",
3
+ "root": "packages/client-opensearch",
4
+ "targets": {
5
+ "default": {
6
+ "executor": "nx:run-commands",
7
+ "options": {
8
+ "command": "pnpm exec projen default",
9
+ "cwd": "packages/client-opensearch"
10
+ }
11
+ },
12
+ "pre-compile": {
13
+ "executor": "nx:run-commands",
14
+ "options": {
15
+ "command": "pnpm exec projen pre-compile",
16
+ "cwd": "packages/client-opensearch"
17
+ }
18
+ },
19
+ "compile": {
20
+ "executor": "nx:run-commands",
21
+ "options": {
22
+ "command": "pnpm exec projen compile",
23
+ "cwd": "packages/client-opensearch"
24
+ }
25
+ },
26
+ "post-compile": {
27
+ "executor": "nx:run-commands",
28
+ "options": {
29
+ "command": "pnpm exec projen post-compile",
30
+ "cwd": "packages/client-opensearch"
31
+ }
32
+ },
33
+ "test": {
34
+ "executor": "nx:run-commands",
35
+ "options": {
36
+ "command": "pnpm exec projen test",
37
+ "cwd": "packages/client-opensearch"
38
+ }
39
+ },
40
+ "package": {
41
+ "executor": "nx:run-commands",
42
+ "options": {
43
+ "command": "pnpm exec projen package",
44
+ "cwd": "packages/client-opensearch"
45
+ }
46
+ },
47
+ "build": {
48
+ "executor": "nx:run-commands",
49
+ "options": {
50
+ "command": "pnpm exec projen build",
51
+ "cwd": "packages/client-opensearch"
52
+ }
53
+ },
54
+ "watch": {
55
+ "executor": "nx:run-commands",
56
+ "options": {
57
+ "command": "pnpm exec projen watch",
58
+ "cwd": "packages/client-opensearch"
59
+ }
60
+ },
61
+ "eslint": {
62
+ "executor": "nx:run-commands",
63
+ "options": {
64
+ "command": "pnpm exec projen eslint",
65
+ "cwd": "packages/client-opensearch"
66
+ }
67
+ },
68
+ "test:watch": {
69
+ "executor": "nx:run-commands",
70
+ "options": {
71
+ "command": "pnpm exec projen test:watch",
72
+ "cwd": "packages/client-opensearch"
73
+ }
74
+ }
75
+ },
76
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
77
+ }
@@ -0,0 +1,3 @@
1
+ import configShared from "../../vitest.shared";
2
+
3
+ export default configShared;