@effect-aws/client-cloudsearch 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-aws/client-cloudsearch
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#80](https://github.com/floydspace/effect-aws/pull/80) [`4b16fbe`](https://github.com/floydspace/effect-aws/commit/4b16fbebce8131df7798ee92f43cf6b7df3e907c) Thanks [@floydspace](https://github.com/floydspace)! - simplify layers configuration (closes #78)
8
+
9
+ ## 1.0.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [#75](https://github.com/floydspace/effect-aws/pull/75) [`9dc170d`](https://github.com/floydspace/effect-aws/commit/9dc170d975c04888bbc7ca7b241b4b5265668fb5) Thanks [@godu](https://github.com/godu)! - export the HttpHandlerOptions type
14
+
3
15
  ## 1.0.0
4
16
 
5
17
  ### Major Changes
package/README.md CHANGED
@@ -14,13 +14,13 @@ npm install --save @effect-aws/client-cloudsearch
14
14
  With default CloudSearchClient instance:
15
15
 
16
16
  ```typescript
17
- import { CloudSearchService, DefaultCloudSearchServiceLayer } from "@effect-aws/client-cloudsearch";
17
+ import { CloudSearch } from "@effect-aws/client-cloudsearch";
18
18
 
19
- const program = CloudSearchService.describeDomains(args);
19
+ const program = CloudSearch.describeDomains(args);
20
20
 
21
21
  const result = pipe(
22
22
  program,
23
- Effect.provide(DefaultCloudSearchServiceLayer),
23
+ Effect.provide(CloudSearch.defaultLayer),
24
24
  Effect.runPromise,
25
25
  );
26
26
  ```
@@ -28,23 +28,15 @@ const result = pipe(
28
28
  With custom CloudSearchClient instance:
29
29
 
30
30
  ```typescript
31
- import {
32
- CloudSearchService,
33
- BaseCloudSearchServiceLayer,
34
- CloudSearchClientInstance,
35
- } from "@effect-aws/client-cloudsearch";
31
+ import { CloudSearch } from "@effect-aws/client-cloudsearch";
36
32
 
37
- const program = CloudSearchService.describeDomains(args);
38
-
39
- const CloudSearchClientInstanceLayer = Layer.succeed(
40
- CloudSearchClientInstance,
41
- new CloudSearchClient({ region: "eu-central-1" }),
42
- );
33
+ const program = CloudSearch.describeDomains(args);
43
34
 
44
35
  const result = await pipe(
45
36
  program,
46
- Effect.provide(BaseCloudSearchServiceLayer),
47
- Effect.provide(CloudSearchClientInstanceLayer),
37
+ Effect.provide(
38
+ CloudSearch.baseLayer(() => new CloudSearchClient({ region: "eu-central-1" })),
39
+ ),
48
40
  Effect.runPromise,
49
41
  );
50
42
  ```
@@ -52,34 +44,15 @@ const result = await pipe(
52
44
  With custom CloudSearchClient configuration:
53
45
 
54
46
  ```typescript
55
- import {
56
- CloudSearchService,
57
- BaseCloudSearchServiceLayer,
58
- DefaultCloudSearchClientConfigLayer,
59
- CloudSearchClientInstance,
60
- CloudSearchClientInstanceConfig,
61
- } from "@effect-aws/client-cloudsearch";
62
-
63
- const program = CloudSearchService.describeDomains(args);
64
-
65
- const CloudSearchClientInstanceLayer = Layer.provide(
66
- Layer.effect(
67
- CloudSearchClientInstance,
68
- CloudSearchClientInstanceConfig.pipe(
69
- Effect.map(
70
- (config) => new CloudSearchClient({ ...config, region: "eu-central-1" }),
71
- ),
72
- ),
73
- ),
74
- DefaultCloudSearchClientConfigLayer,
75
- );
47
+ import { CloudSearch } from "@effect-aws/client-cloudsearch";
48
+
49
+ const program = CloudSearch.describeDomains(args);
76
50
 
77
51
  const result = await pipe(
78
52
  program,
79
- Effect.provide(BaseCloudSearchServiceLayer),
80
- Effect.provide(CloudSearchClientInstanceLayer),
53
+ Effect.provide(CloudSearch.layer({ region: "eu-central-1" })),
81
54
  Effect.runPromiseExit,
82
55
  );
83
56
  ```
84
57
 
85
- or map over `DefaultCloudSearchClientConfigLayer` layer context and update the configuration...
58
+ or use `CloudSearch.baseLayer((default) => new CloudSearchClient({ ...default, region: "eu-central-1" }))`
@@ -1,11 +1,15 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import { type BuildSuggestersCommandInput, type BuildSuggestersCommandOutput, type CreateDomainCommandInput, type CreateDomainCommandOutput, type DefineAnalysisSchemeCommandInput, type DefineAnalysisSchemeCommandOutput, type DefineExpressionCommandInput, type DefineExpressionCommandOutput, type DefineIndexFieldCommandInput, type DefineIndexFieldCommandOutput, type DefineSuggesterCommandInput, type DefineSuggesterCommandOutput, type DeleteAnalysisSchemeCommandInput, type DeleteAnalysisSchemeCommandOutput, type DeleteDomainCommandInput, type DeleteDomainCommandOutput, type DeleteExpressionCommandInput, type DeleteExpressionCommandOutput, type DeleteIndexFieldCommandInput, type DeleteIndexFieldCommandOutput, type DeleteSuggesterCommandInput, type DeleteSuggesterCommandOutput, type DescribeAnalysisSchemesCommandInput, type DescribeAnalysisSchemesCommandOutput, type DescribeAvailabilityOptionsCommandInput, type DescribeAvailabilityOptionsCommandOutput, type DescribeDomainEndpointOptionsCommandInput, type DescribeDomainEndpointOptionsCommandOutput, type DescribeDomainsCommandInput, type DescribeDomainsCommandOutput, type DescribeExpressionsCommandInput, type DescribeExpressionsCommandOutput, type DescribeIndexFieldsCommandInput, type DescribeIndexFieldsCommandOutput, type DescribeScalingParametersCommandInput, type DescribeScalingParametersCommandOutput, type DescribeServiceAccessPoliciesCommandInput, type DescribeServiceAccessPoliciesCommandOutput, type DescribeSuggestersCommandInput, type DescribeSuggestersCommandOutput, type IndexDocumentsCommandInput, type IndexDocumentsCommandOutput, type ListDomainNamesCommandInput, type ListDomainNamesCommandOutput, type UpdateAvailabilityOptionsCommandInput, type UpdateAvailabilityOptionsCommandOutput, type UpdateDomainEndpointOptionsCommandInput, type UpdateDomainEndpointOptionsCommandOutput, type UpdateScalingParametersCommandInput, type UpdateScalingParametersCommandOutput, type UpdateServiceAccessPoliciesCommandInput, type UpdateServiceAccessPoliciesCommandOutput } from "@aws-sdk/client-cloudsearch";
4
+ import { type CloudSearchClient, type CloudSearchClientConfig, type BuildSuggestersCommandInput, type BuildSuggestersCommandOutput, type CreateDomainCommandInput, type CreateDomainCommandOutput, type DefineAnalysisSchemeCommandInput, type DefineAnalysisSchemeCommandOutput, type DefineExpressionCommandInput, type DefineExpressionCommandOutput, type DefineIndexFieldCommandInput, type DefineIndexFieldCommandOutput, type DefineSuggesterCommandInput, type DefineSuggesterCommandOutput, type DeleteAnalysisSchemeCommandInput, type DeleteAnalysisSchemeCommandOutput, type DeleteDomainCommandInput, type DeleteDomainCommandOutput, type DeleteExpressionCommandInput, type DeleteExpressionCommandOutput, type DeleteIndexFieldCommandInput, type DeleteIndexFieldCommandOutput, type DeleteSuggesterCommandInput, type DeleteSuggesterCommandOutput, type DescribeAnalysisSchemesCommandInput, type DescribeAnalysisSchemesCommandOutput, type DescribeAvailabilityOptionsCommandInput, type DescribeAvailabilityOptionsCommandOutput, type DescribeDomainEndpointOptionsCommandInput, type DescribeDomainEndpointOptionsCommandOutput, type DescribeDomainsCommandInput, type DescribeDomainsCommandOutput, type DescribeExpressionsCommandInput, type DescribeExpressionsCommandOutput, type DescribeIndexFieldsCommandInput, type DescribeIndexFieldsCommandOutput, type DescribeScalingParametersCommandInput, type DescribeScalingParametersCommandOutput, type DescribeServiceAccessPoliciesCommandInput, type DescribeServiceAccessPoliciesCommandOutput, type DescribeSuggestersCommandInput, type DescribeSuggestersCommandOutput, type IndexDocumentsCommandInput, type IndexDocumentsCommandOutput, type ListDomainNamesCommandInput, type ListDomainNamesCommandOutput, type UpdateAvailabilityOptionsCommandInput, type UpdateAvailabilityOptionsCommandOutput, type UpdateDomainEndpointOptionsCommandInput, type UpdateDomainEndpointOptionsCommandOutput, type UpdateScalingParametersCommandInput, type UpdateScalingParametersCommandOutput, type UpdateServiceAccessPoliciesCommandInput, type UpdateServiceAccessPoliciesCommandOutput } from "@aws-sdk/client-cloudsearch";
5
5
  import { Effect, Layer } from "effect";
6
6
  import { CloudSearchClientInstance } from "./CloudSearchClientInstance";
7
+ import { CloudSearchClientInstanceConfig } from "./CloudSearchClientInstanceConfig";
7
8
  import { BaseError, DisabledOperationError, InternalError, InvalidTypeError, LimitExceededError, ResourceAlreadyExistsError, ResourceNotFoundError, ValidationError, SdkError } from "./Errors";
8
- interface HttpHandlerOptions {
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ export interface HttpHandlerOptions {
9
13
  /**
10
14
  * The maximum time in milliseconds that the connection phase of a request
11
15
  * may take before the connection attempt is abandoned.
@@ -119,6 +123,11 @@ interface CloudSearchService$ {
119
123
  */
120
124
  updateServiceAccessPolicies(args: UpdateServiceAccessPoliciesCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateServiceAccessPoliciesCommandOutput, SdkError | BaseError | InternalError | InvalidTypeError | LimitExceededError | ResourceNotFoundError | ValidationError>;
121
125
  }
126
+ /**
127
+ * @since 1.0.0
128
+ * @category constructors
129
+ */
130
+ export declare const makeCloudSearchService: Effect.Effect<CloudSearchService$, never, CloudSearchClientInstance>;
122
131
  declare const CloudSearchService_base: import("effect/Context").TagClass<CloudSearchService, "@effect-aws/client-cloudsearch/CloudSearchService", CloudSearchService$> & {
123
132
  readonly _: Effect.Effect<CloudSearchService$["_"], never, CloudSearchService>;
124
133
  buildSuggesters: (args: BuildSuggestersCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<BuildSuggestersCommandOutput, BaseError | InternalError | ResourceNotFoundError | ValidationError | SdkError, CloudSearchService>;
@@ -155,25 +164,32 @@ declare const CloudSearchService_base: import("effect/Context").TagClass<CloudSe
155
164
  * @category models
156
165
  */
157
166
  export declare class CloudSearchService extends CloudSearchService_base {
167
+ static readonly defaultLayer: Layer.Layer<CloudSearchService, never, never>;
168
+ static readonly layer: (config: CloudSearchClientConfig) => Layer.Layer<CloudSearchService, never, never>;
169
+ static readonly baseLayer: (evaluate: (defaultConfig: CloudSearchClientConfig) => CloudSearchClient) => Layer.Layer<CloudSearchService, never, never>;
158
170
  }
159
171
  /**
160
172
  * @since 1.0.0
161
- * @category constructors
173
+ * @category models
174
+ * @alias CloudSearchService
162
175
  */
163
- export declare const makeCloudSearchService: Effect.Effect<CloudSearchService$, never, CloudSearchClientInstance>;
176
+ export declare const CloudSearch: typeof CloudSearchService;
164
177
  /**
165
178
  * @since 1.0.0
166
179
  * @category layers
180
+ * @deprecated use CloudSearch.baseLayer instead
167
181
  */
168
182
  export declare const BaseCloudSearchServiceLayer: Layer.Layer<CloudSearchService, never, CloudSearchClientInstance>;
169
183
  /**
170
184
  * @since 1.0.0
171
185
  * @category layers
186
+ * @deprecated use CloudSearch.layer instead
172
187
  */
173
- export declare const CloudSearchServiceLayer: Layer.Layer<CloudSearchService, never, import("./CloudSearchClientInstanceConfig").CloudSearchClientInstanceConfig>;
188
+ export declare const CloudSearchServiceLayer: Layer.Layer<CloudSearchService, never, CloudSearchClientInstanceConfig>;
174
189
  /**
175
190
  * @since 1.0.0
176
191
  * @category layers
192
+ * @deprecated use CloudSearch.defaultLayer instead
177
193
  */
178
194
  export declare const DefaultCloudSearchServiceLayer: Layer.Layer<CloudSearchService, never, never>;
179
195
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultCloudSearchServiceLayer = exports.CloudSearchServiceLayer = exports.BaseCloudSearchServiceLayer = exports.makeCloudSearchService = exports.CloudSearchService = void 0;
4
+ exports.DefaultCloudSearchServiceLayer = exports.CloudSearchServiceLayer = exports.BaseCloudSearchServiceLayer = exports.CloudSearch = exports.CloudSearchService = exports.makeCloudSearchService = void 0;
4
5
  /**
5
6
  * @since 1.0.0
6
7
  */
@@ -37,13 +38,6 @@ const commands = {
37
38
  UpdateScalingParametersCommand: client_cloudsearch_1.UpdateScalingParametersCommand,
38
39
  UpdateServiceAccessPoliciesCommand: client_cloudsearch_1.UpdateServiceAccessPoliciesCommand,
39
40
  };
40
- /**
41
- * @since 1.0.0
42
- * @category models
43
- */
44
- class CloudSearchService extends effect_1.Effect.Tag("@effect-aws/client-cloudsearch/CloudSearchService")() {
45
- }
46
- exports.CloudSearchService = CloudSearchService;
47
41
  /**
48
42
  * @since 1.0.0
49
43
  * @category constructors
@@ -82,19 +76,39 @@ exports.makeCloudSearchService = effect_1.Effect.gen(function* (_) {
82
76
  return { ...acc, [methodName]: methodImpl };
83
77
  }, {});
84
78
  });
79
+ /**
80
+ * @since 1.0.0
81
+ * @category models
82
+ */
83
+ class CloudSearchService extends effect_1.Effect.Tag("@effect-aws/client-cloudsearch/CloudSearchService")() {
84
+ }
85
+ exports.CloudSearchService = CloudSearchService;
86
+ _a = CloudSearchService;
87
+ CloudSearchService.defaultLayer = effect_1.Layer.effect(_a, exports.makeCloudSearchService).pipe(effect_1.Layer.provide(CloudSearchClientInstance_1.CloudSearchClientInstanceLayer), effect_1.Layer.provide(CloudSearchClientInstanceConfig_1.DefaultCloudSearchClientConfigLayer));
88
+ CloudSearchService.layer = (config) => effect_1.Layer.effect(_a, exports.makeCloudSearchService).pipe(effect_1.Layer.provide(CloudSearchClientInstance_1.CloudSearchClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(CloudSearchClientInstanceConfig_1.CloudSearchClientInstanceConfig, CloudSearchClientInstanceConfig_1.makeDefaultCloudSearchClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
89
+ CloudSearchService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeCloudSearchService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(CloudSearchClientInstance_1.CloudSearchClientInstance, effect_1.Effect.map(CloudSearchClientInstanceConfig_1.makeDefaultCloudSearchClientInstanceConfig, evaluate))));
90
+ /**
91
+ * @since 1.0.0
92
+ * @category models
93
+ * @alias CloudSearchService
94
+ */
95
+ exports.CloudSearch = CloudSearchService;
85
96
  /**
86
97
  * @since 1.0.0
87
98
  * @category layers
99
+ * @deprecated use CloudSearch.baseLayer instead
88
100
  */
89
101
  exports.BaseCloudSearchServiceLayer = effect_1.Layer.effect(CloudSearchService, exports.makeCloudSearchService);
90
102
  /**
91
103
  * @since 1.0.0
92
104
  * @category layers
105
+ * @deprecated use CloudSearch.layer instead
93
106
  */
94
107
  exports.CloudSearchServiceLayer = exports.BaseCloudSearchServiceLayer.pipe(effect_1.Layer.provide(CloudSearchClientInstance_1.CloudSearchClientInstanceLayer));
95
108
  /**
96
109
  * @since 1.0.0
97
110
  * @category layers
111
+ * @deprecated use CloudSearch.defaultLayer instead
98
112
  */
99
- exports.DefaultCloudSearchServiceLayer = exports.CloudSearchServiceLayer.pipe(effect_1.Layer.provide(CloudSearchClientInstanceConfig_1.DefaultCloudSearchClientConfigLayer));
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRTZWFyY2hTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Nsb3VkU2VhcmNoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILG9FQWdGcUM7QUFDckMsbUNBQXFEO0FBQ3JELDJFQUdxQztBQUNyQyx1RkFBd0Y7QUFDeEYscUNBWWtCO0FBVWxCLE1BQU0sUUFBUSxHQUFHO0lBQ2Ysc0JBQXNCLEVBQXRCLDJDQUFzQjtJQUN0QixtQkFBbUIsRUFBbkIsd0NBQW1CO0lBQ25CLDJCQUEyQixFQUEzQixnREFBMkI7SUFDM0IsdUJBQXVCLEVBQXZCLDRDQUF1QjtJQUN2Qix1QkFBdUIsRUFBdkIsNENBQXVCO0lBQ3ZCLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsMkJBQTJCLEVBQTNCLGdEQUEyQjtJQUMzQixtQkFBbUIsRUFBbkIsd0NBQW1CO0lBQ25CLHVCQUF1QixFQUF2Qiw0Q0FBdUI7SUFDdkIsdUJBQXVCLEVBQXZCLDRDQUF1QjtJQUN2QixzQkFBc0IsRUFBdEIsMkNBQXNCO0lBQ3RCLDhCQUE4QixFQUE5QixtREFBOEI7SUFDOUIsa0NBQWtDLEVBQWxDLHVEQUFrQztJQUNsQyxvQ0FBb0MsRUFBcEMseURBQW9DO0lBQ3BDLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsMEJBQTBCLEVBQTFCLCtDQUEwQjtJQUMxQiwwQkFBMEIsRUFBMUIsK0NBQTBCO0lBQzFCLGdDQUFnQyxFQUFoQyxxREFBZ0M7SUFDaEMsb0NBQW9DLEVBQXBDLHlEQUFvQztJQUNwQyx5QkFBeUIsRUFBekIsOENBQXlCO0lBQ3pCLHFCQUFxQixFQUFyQiwwQ0FBcUI7SUFDckIsc0JBQXNCLEVBQXRCLDJDQUFzQjtJQUN0QixnQ0FBZ0MsRUFBaEMscURBQWdDO0lBQ2hDLGtDQUFrQyxFQUFsQyx1REFBa0M7SUFDbEMsOEJBQThCLEVBQTlCLG1EQUE4QjtJQUM5QixrQ0FBa0MsRUFBbEMsdURBQWtD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b3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbixcbiAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICB0eXBlIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICB0eXBlIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmQsXG4gIHR5cGUgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgSW5kZXhEb2N1bWVudHNDb21tYW5kLFxuICB0eXBlIEluZGV4RG9jdW1lbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIEluZGV4RG9jdW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdERvbWFpbk5hbWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RG9tYWluTmFtZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdERvbWFpbk5hbWVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jbG91ZHNlYXJjaFwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZSxcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9DbG91ZFNlYXJjaENsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL0Nsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEJhc2VFcnJvcixcbiAgRGlzYWJsZWRPcGVyYXRpb25FcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgSW52YWxpZFR5cGVFcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuXG5pbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZCxcbiAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmQsXG4gIERlZmluZVN1Z2dlc3RlckNvbW1hbmQsXG4gIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmQsXG4gIERlbGV0ZUluZGV4RmllbGRDb21tYW5kLFxuICBEZWxldGVTdWdnZXN0ZXJDb21tYW5kLFxuICBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmQsXG4gIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kLFxuICBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kLFxuICBJbmRleERvY3VtZW50c0NvbW1hbmQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgQ2xvdWRTZWFyY2hTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBidWlsZFN1Z2dlc3RlcnMoXG4gICAgYXJnczogQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEb21haW4oXG4gICAgYXJnczogQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVBbmFseXNpc1NjaGVtZShcbiAgICBhcmdzOiBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVFeHByZXNzaW9uKFxuICAgIGFyZ3M6IERlZmluZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVJbmRleEZpZWxkKFxuICAgIGFyZ3M6IERlZmluZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZVN1Z2dlc3RlcihcbiAgICBhcmdzOiBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBbmFseXNpc1NjaGVtZShcbiAgICBhcmdzOiBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEb21haW4oXG4gICAgYXJnczogRGVsZXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVFeHByZXNzaW9uKFxuICAgIGFyZ3M6IERlbGV0ZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUluZGV4RmllbGRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW5kZXhGaWVsZChcbiAgICBhcmdzOiBEZWxldGVJbmRleEZpZWxkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdWdnZXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3VnZ2VzdGVyKFxuICAgIGFyZ3M6IERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFuYWx5c2lzU2NoZW1lcyhcbiAgICBhcmdzOiBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5zKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeHByZXNzaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVJbmRleEZpZWxkcyhcbiAgICBhcmdzOiBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdWdnZXN0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluZGV4RG9jdW1lbnRzQ29tbWFuZH1cbiAgICovXG4gIGluZGV4RG9jdW1lbnRzKFxuICAgIGFyZ3M6IEluZGV4RG9jdW1lbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgSW5kZXhEb2N1bWVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERvbWFpbk5hbWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REb21haW5OYW1lcyhcbiAgICBhcmdzOiBMaXN0RG9tYWluTmFtZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0RG9tYWluTmFtZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEJhc2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9ucyhcbiAgICBhcmdzOiBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnMoXG4gICAgYXJnczogVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2NhbGluZ1BhcmFtZXRlcnMoXG4gICAgYXJnczogVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXMoXG4gICAgYXJnczogVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkU2VhcmNoU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWNsb3Vkc2VhcmNoL0Nsb3VkU2VhcmNoU2VydmljZVwiLFxuKTxDbG91ZFNlYXJjaFNlcnZpY2UsIENsb3VkU2VhcmNoU2VydmljZSQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgQ2xvdWRTZWFyY2hTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPENsb3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgQ2xvdWRTZWFyY2hTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZUNsb3VkU2VhcmNoU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBDbG91ZFNlYXJjaFNlcnZpY2UsXG4gIG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQ2xvdWRTZWFyY2hTZXJ2aWNlTGF5ZXIgPSBCYXNlQ2xvdWRTZWFyY2hTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IENsb3VkU2VhcmNoU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIpLFxuKTtcbiJdfQ==
113
+ exports.DefaultCloudSearchServiceLayer = CloudSearchService.defaultLayer;
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRTZWFyY2hTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Nsb3VkU2VhcmNoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0dBRUc7QUFDSCxvRUFrRnFDO0FBQ3JDLG1DQUFxRDtBQUNyRCwyRUFHcUM7QUFDckMsdUZBSTJDO0FBQzNDLHFDQVlrQjtBQWFsQixNQUFNLFFBQVEsR0FBRztJQUNmLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsbUJBQW1CLEVBQW5CLHdDQUFtQjtJQUNuQiwyQkFBMkIsRUFBM0IsZ0RBQTJCO0lBQzNCLHVCQUF1QixFQUF2Qiw0Q0FBdUI7SUFDdkIsdUJBQXVCLEVBQXZCLDRDQUF1QjtJQUN2QixzQkFBc0IsRUFBdEIsMkNBQXNCO0lBQ3RCLDJCQUEyQixFQUEzQixnREFBMkI7SUFDM0IsbUJBQW1CLEVBQW5CLHdDQUFtQjtJQUNuQix1QkFBdUIsRUFBdkIsNENBQXVCO0lBQ3ZCLHVCQUF1QixFQUF2Qiw0Q0FBdUI7SUFDdkIsc0JBQXNCLEVBQXRCLDJDQUFzQjtJQUN0Qiw4QkFBOEIsRUFBOUIsbURBQThCO0lBQzlCLGtDQUFrQyxFQUFsQyx1REFBa0M7SUFDbEMsb0NBQW9DLEVBQXBDLHlEQUFvQztJQUNwQyxzQkFBc0IsRUFBdEIsMkNBQXNCO0lBQ3RCLDBCQUEwQixFQUExQiwrQ0FBMEI7SUFDMUIsMEJBQTBCLEVBQTFCLCtDQUEwQjtJQUMxQixnQ0FBZ0MsRUFBaEMscURBQWdDO0lBQ2hDLG9DQUFvQyxFQUFwQyx5REFBb0M7SUFDcEMseUJBQXlCLEVBQXpCLDhDQUF5QjtJQUN6QixxQkFBcUIsRUFBckIsMENBQXFCO0lBQ3JCLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsZ0NBQWdDLEVBQWhDLHFEQUFnQztJQUNoQyxrQ0FBa0MsRUFBbEMsdURBQWtDO0lBQ2xDLDhCQUE4QixFQUE5QixtREFBOEI7SUFDOUIsa0NBQWtDLEVBQWxDLHVEQUFr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LEVBQy9CLDRFQUEwQyxDQUFDLElBQUksQ0FDN0MsZUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUNqRSxDQUNGLENBQ0YsQ0FDRixBQVhrQixDQVdqQjtBQUNZLDRCQUFTLEdBQUcsQ0FDMUIsUUFBdUUsRUFDdkUsRUFBRSxDQUNGLGNBQUssQ0FBQyxNQUFNLENBQUMsRUFBSSxFQUFFLDhCQUFzQixDQUFDLENBQUMsSUFBSSxDQUM3QyxjQUFLLENBQUMsT0FBTyxDQUNYLGNBQUssQ0FBQyxNQUFNLENBQ1YscURBQXlCLEVBQ3pCLGVBQU0sQ0FBQyxHQUFHLENBQUMsNEVBQTBDLEVBQUUsUUFBUSxDQUFDLENBQ2pFLENBQ0YsQ0FDRixBQVZzQixDQVVyQjtBQUdOOzs7O0dBSUc7QUFDVSxRQUFBLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztBQUU5Qzs7OztHQUlHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxjQUFLLENBQUMsTUFBTSxDQUNyRCxrQkFBa0IsRUFDbEIsOEJBQXNCLENBQ3ZCLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxtQ0FBMkIsQ0FBQyxJQUFJLENBQ3JFLGNBQUssQ0FBQyxPQUFPLENBQUMsMERBQThCLENBQUMsQ0FDOUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLDhCQUE4QixHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIENsb3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBDbG91ZFNlYXJjaENsaWVudCxcbiAgdHlwZSBDbG91ZFNlYXJjaENsaWVudENvbmZpZyxcbiAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICB0eXBlIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICB0eXBlIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmQsXG4gIHR5cGUgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEb21haW5Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgSW5kZXhEb2N1bWVudHNDb21tYW5kLFxuICB0eXBlIEluZGV4RG9jdW1lbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIEluZGV4RG9jdW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdERvbWFpbk5hbWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0RG9tYWluTmFtZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdERvbWFpbk5hbWVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jbG91ZHNlYXJjaFwiO1xuaW1wb3J0IHsgRGF0YSwgRWZmZWN0LCBMYXllciwgUmVjb3JkIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZSxcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9DbG91ZFNlYXJjaENsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRDb25maWdMYXllcixcbiAgbWFrZURlZmF1bHRDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLFxuICBDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9DbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBCYXNlRXJyb3IsXG4gIERpc2FibGVkT3BlcmF0aW9uRXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIEludmFsaWRUeXBlRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kLFxuICBDcmVhdGVEb21haW5Db21tYW5kLFxuICBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmQsXG4gIERlZmluZUV4cHJlc3Npb25Db21tYW5kLFxuICBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZCxcbiAgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZCxcbiAgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICBEZWxldGVEb21haW5Db21tYW5kLFxuICBEZWxldGVFeHByZXNzaW9uQ29tbWFuZCxcbiAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmQsXG4gIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmQsXG4gIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURvbWFpbnNDb21tYW5kLFxuICBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmQsXG4gIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIEluZGV4RG9jdW1lbnRzQ29tbWFuZCxcbiAgTGlzdERvbWFpbk5hbWVzQ29tbWFuZCxcbiAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmQsXG4gIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBDbG91ZFNlYXJjaFNlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGJ1aWxkU3VnZ2VzdGVycyhcbiAgICBhcmdzOiBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURvbWFpbihcbiAgICBhcmdzOiBDcmVhdGVEb21haW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZUFuYWx5c2lzU2NoZW1lKFxuICAgIGFyZ3M6IERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZUV4cHJlc3Npb24oXG4gICAgYXJnczogRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZUV4cHJlc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZUluZGV4RmllbGQoXG4gICAgYXJnczogRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZUluZGV4RmllbGRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVmaW5lU3VnZ2VzdGVyKFxuICAgIGFyZ3M6IERlZmluZVN1Z2dlc3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFuYWx5c2lzU2NoZW1lKFxuICAgIGFyZ3M6IERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURvbWFpbihcbiAgICBhcmdzOiBEZWxldGVEb21haW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVFeHByZXNzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUV4cHJlc3Npb24oXG4gICAgYXJnczogRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVJbmRleEZpZWxkKFxuICAgIGFyZ3M6IERlbGV0ZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdWdnZXN0ZXIoXG4gICAgYXJnczogRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQW5hbHlzaXNTY2hlbWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRG9tYWluc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURvbWFpbnMoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEb21haW5zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUV4cHJlc3Npb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUluZGV4RmllbGRzKFxuICAgIGFyZ3M6IERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXMoXG4gICAgYXJnczogRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN1Z2dlc3RlcnMoXG4gICAgYXJnczogRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW5kZXhEb2N1bWVudHNDb21tYW5kfVxuICAgKi9cbiAgaW5kZXhEb2N1bWVudHMoXG4gICAgYXJnczogSW5kZXhEb2N1bWVudHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBJbmRleERvY3VtZW50c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RG9tYWluTmFtZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdERvbWFpbk5hbWVzKFxuICAgIGFyZ3M6IExpc3REb21haW5OYW1lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3REb21haW5OYW1lc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgQmFzZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zKFxuICAgIGFyZ3M6IFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9ucyhcbiAgICBhcmdzOiBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTY2FsaW5nUGFyYW1ldGVycyhcbiAgICBhcmdzOiBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llcyhcbiAgICBhcmdzOiBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUNsb3VkU2VhcmNoU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBDbG91ZFNlYXJjaFNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248Q2xvdWRTZWFyY2hTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBDbG91ZFNlYXJjaFNlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZFNlYXJjaFNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1jbG91ZHNlYXJjaC9DbG91ZFNlYXJjaFNlcnZpY2VcIixcbik8Q2xvdWRTZWFyY2hTZXJ2aWNlLCBDbG91ZFNlYXJjaFNlcnZpY2UkPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdChcbiAgICB0aGlzLFxuICAgIG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UsXG4gICkucGlwZShcbiAgICBMYXllci5wcm92aWRlKENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRDb25maWdMYXllciksXG4gICk7XG4gIHN0YXRpYyByZWFkb25seSBsYXllciA9IChjb25maWc6IENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChkZWZhdWx0Q29uZmlnOiBDbG91ZFNlYXJjaENsaWVudENvbmZpZykgPT4gQ2xvdWRTZWFyY2hDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUNsb3VkU2VhcmNoU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlLFxuICAgICAgICAgIEVmZmVjdC5tYXAobWFrZURlZmF1bHRDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgQ2xvdWRTZWFyY2hTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBDbG91ZFNlYXJjaCA9IENsb3VkU2VhcmNoU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBDbG91ZFNlYXJjaC5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZUNsb3VkU2VhcmNoU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBDbG91ZFNlYXJjaFNlcnZpY2UsXG4gIG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIENsb3VkU2VhcmNoLmxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IENsb3VkU2VhcmNoU2VydmljZUxheWVyID0gQmFzZUNsb3VkU2VhcmNoU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgQ2xvdWRTZWFyY2guZGVmYXVsdExheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IENsb3VkU2VhcmNoU2VydmljZS5kZWZhdWx0TGF5ZXI7XG4iXX0=
@@ -1,10 +1,11 @@
1
+ var _a;
1
2
  /**
2
3
  * @since 1.0.0
3
4
  */
4
5
  import { CloudSearchServiceException, BuildSuggestersCommand, CreateDomainCommand, DefineAnalysisSchemeCommand, DefineExpressionCommand, DefineIndexFieldCommand, DefineSuggesterCommand, DeleteAnalysisSchemeCommand, DeleteDomainCommand, DeleteExpressionCommand, DeleteIndexFieldCommand, DeleteSuggesterCommand, DescribeAnalysisSchemesCommand, DescribeAvailabilityOptionsCommand, DescribeDomainEndpointOptionsCommand, DescribeDomainsCommand, DescribeExpressionsCommand, DescribeIndexFieldsCommand, DescribeScalingParametersCommand, DescribeServiceAccessPoliciesCommand, DescribeSuggestersCommand, IndexDocumentsCommand, ListDomainNamesCommand, UpdateAvailabilityOptionsCommand, UpdateDomainEndpointOptionsCommand, UpdateScalingParametersCommand, UpdateServiceAccessPoliciesCommand, } from "@aws-sdk/client-cloudsearch";
5
6
  import { Data, Effect, Layer, Record } from "effect";
6
7
  import { CloudSearchClientInstance, CloudSearchClientInstanceLayer, } from "./CloudSearchClientInstance";
7
- import { DefaultCloudSearchClientConfigLayer } from "./CloudSearchClientInstanceConfig";
8
+ import { DefaultCloudSearchClientConfigLayer, makeDefaultCloudSearchClientInstanceConfig, CloudSearchClientInstanceConfig, } from "./CloudSearchClientInstanceConfig";
8
9
  import { AllServiceErrors, SdkError, } from "./Errors";
9
10
  const commands = {
10
11
  BuildSuggestersCommand,
@@ -34,12 +35,6 @@ const commands = {
34
35
  UpdateScalingParametersCommand,
35
36
  UpdateServiceAccessPoliciesCommand,
36
37
  };
37
- /**
38
- * @since 1.0.0
39
- * @category models
40
- */
41
- export class CloudSearchService extends Effect.Tag("@effect-aws/client-cloudsearch/CloudSearchService")() {
42
- }
43
38
  /**
44
39
  * @since 1.0.0
45
40
  * @category constructors
@@ -78,19 +73,38 @@ export const makeCloudSearchService = Effect.gen(function* (_) {
78
73
  return { ...acc, [methodName]: methodImpl };
79
74
  }, {});
80
75
  });
76
+ /**
77
+ * @since 1.0.0
78
+ * @category models
79
+ */
80
+ export class CloudSearchService extends Effect.Tag("@effect-aws/client-cloudsearch/CloudSearchService")() {
81
+ }
82
+ _a = CloudSearchService;
83
+ CloudSearchService.defaultLayer = Layer.effect(_a, makeCloudSearchService).pipe(Layer.provide(CloudSearchClientInstanceLayer), Layer.provide(DefaultCloudSearchClientConfigLayer));
84
+ CloudSearchService.layer = (config) => Layer.effect(_a, makeCloudSearchService).pipe(Layer.provide(CloudSearchClientInstanceLayer), Layer.provide(Layer.effect(CloudSearchClientInstanceConfig, makeDefaultCloudSearchClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
85
+ CloudSearchService.baseLayer = (evaluate) => Layer.effect(_a, makeCloudSearchService).pipe(Layer.provide(Layer.effect(CloudSearchClientInstance, Effect.map(makeDefaultCloudSearchClientInstanceConfig, evaluate))));
86
+ /**
87
+ * @since 1.0.0
88
+ * @category models
89
+ * @alias CloudSearchService
90
+ */
91
+ export const CloudSearch = CloudSearchService;
81
92
  /**
82
93
  * @since 1.0.0
83
94
  * @category layers
95
+ * @deprecated use CloudSearch.baseLayer instead
84
96
  */
85
97
  export const BaseCloudSearchServiceLayer = Layer.effect(CloudSearchService, makeCloudSearchService);
86
98
  /**
87
99
  * @since 1.0.0
88
100
  * @category layers
101
+ * @deprecated use CloudSearch.layer instead
89
102
  */
90
103
  export const CloudSearchServiceLayer = BaseCloudSearchServiceLayer.pipe(Layer.provide(CloudSearchClientInstanceLayer));
91
104
  /**
92
105
  * @since 1.0.0
93
106
  * @category layers
107
+ * @deprecated use CloudSearch.defaultLayer instead
94
108
  */
95
- export const DefaultCloudSearchServiceLayer = CloudSearchServiceLayer.pipe(Layer.provide(DefaultCloudSearchClientConfigLayer));
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRTZWFyY2hTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Nsb3VkU2VhcmNoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBR3RCLG1CQUFtQixFQUduQiwyQkFBMkIsRUFHM0IsdUJBQXVCLEVBR3ZCLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsMkJBQTJCLEVBRzNCLG1CQUFtQixFQUduQix1QkFBdUIsRUFHdkIsdUJBQXVCLEVBR3ZCLHNCQUFzQixFQUd0Qiw4QkFBOEIsRUFHOUIsa0NBQWtDLEVBR2xDLG9DQUFvQyxFQUdwQyxzQkFBc0IsRUFHdEIsMEJBQTBCLEVBRzFCLDBCQUEwQixFQUcxQixnQ0FBZ0MsRUFHaEMsb0NBQW9DLEVBR3BDLHlCQUF5QixFQUd6QixxQkFBcUIsRUFHckIsc0JBQXNCLEVBR3RCLGdDQUFnQyxFQUdoQyxrQ0FBa0MsRUFHbEMsOEJBQThCLEVBRzlCLGtDQUFrQyxHQUduQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckQsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw4QkFBOEIsR0FDL0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RixPQUFPLEVBQ0wsZ0JBQWdCLEVBU2hCLFFBQVEsR0FFVCxNQUFNLFVBQVUsQ0FBQztBQVVsQixNQUFNLFFBQVEsR0FBRztJQUNmLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVCQUF1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QUEyQixDQUFDLElBQUksQ0FDckUsS0FBSyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxDQUM5QyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUN4RSxLQUFLLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLENBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBDbG91ZFNlYXJjaFNlcnZpY2VFeGNlcHRpb24sXG4gIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIHR5cGUgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgdHlwZSBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUV4cHJlc3Npb25Db21tYW5kLFxuICB0eXBlIERlZmluZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUluZGV4RmllbGRDb21tYW5kLFxuICB0eXBlIERlZmluZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gIERlZmluZVN1Z2dlc3RlckNvbW1hbmQsXG4gIHR5cGUgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlZmluZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUluZGV4RmllbGRDb21tYW5kLFxuICB0eXBlIERlbGV0ZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRG9tYWluc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIEluZGV4RG9jdW1lbnRzQ29tbWFuZCxcbiAgdHlwZSBJbmRleERvY3VtZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmRleERvY3VtZW50c0NvbW1hbmRPdXRwdXQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIHR5cGUgTGlzdERvbWFpbk5hbWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REb21haW5OYW1lc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY2xvdWRzZWFyY2hcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2UsXG4gIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9DbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBCYXNlRXJyb3IsXG4gIERpc2FibGVkT3BlcmF0aW9uRXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIEludmFsaWRUeXBlRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIENyZWF0ZURvbWFpbkNvbW1hbmQsXG4gIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmQsXG4gIERlZmluZUluZGV4RmllbGRDb21tYW5kLFxuICBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kLFxuICBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmQsXG4gIERlbGV0ZURvbWFpbkNvbW1hbmQsXG4gIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kLFxuICBEZWxldGVJbmRleEZpZWxkQ29tbWFuZCxcbiAgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZCxcbiAgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kLFxuICBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluc0NvbW1hbmQsXG4gIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kLFxuICBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZCxcbiAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgSW5kZXhEb2N1bWVudHNDb21tYW5kLFxuICBMaXN0RG9tYWluTmFtZXNDb21tYW5kLFxuICBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZCxcbiAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIENsb3VkU2VhcmNoU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCdWlsZFN1Z2dlc3RlcnNDb21tYW5kfVxuICAgKi9cbiAgYnVpbGRTdWdnZXN0ZXJzKFxuICAgIGFyZ3M6IEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEb21haW5Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlRG9tYWluKFxuICAgIGFyZ3M6IENyZWF0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kfVxuICAgKi9cbiAgZGVmaW5lQW5hbHlzaXNTY2hlbWUoXG4gICAgYXJnczogRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlZmluZUV4cHJlc3Npb25Db21tYW5kfVxuICAgKi9cbiAgZGVmaW5lRXhwcmVzc2lvbihcbiAgICBhcmdzOiBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlZmluZUluZGV4RmllbGRDb21tYW5kfVxuICAgKi9cbiAgZGVmaW5lSW5kZXhGaWVsZChcbiAgICBhcmdzOiBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlZmluZVN1Z2dlc3RlckNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVTdWdnZXN0ZXIoXG4gICAgYXJnczogRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQW5hbHlzaXNTY2hlbWUoXG4gICAgYXJnczogRGVsZXRlQW5hbHlzaXNTY2hlbWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEb21haW5Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRG9tYWluKFxuICAgIGFyZ3M6IERlbGV0ZURvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRXhwcmVzc2lvbihcbiAgICBhcmdzOiBEZWxldGVFeHByZXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVJbmRleEZpZWxkQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUluZGV4RmllbGQoXG4gICAgYXJnczogRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUluZGV4RmllbGRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN1Z2dlc3RlcihcbiAgICBhcmdzOiBEZWxldGVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdWdnZXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBbmFseXNpc1NjaGVtZXMoXG4gICAgYXJnczogRGVzY3JpYmVBbmFseXNpc1NjaGVtZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRG9tYWlucyhcbiAgICBhcmdzOiBEZXNjcmliZURvbWFpbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXhwcmVzc2lvbnMoXG4gICAgYXJnczogRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlSW5kZXhGaWVsZHMoXG4gICAgYXJnczogRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llcyhcbiAgICBhcmdzOiBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3VnZ2VzdGVycyhcbiAgICBhcmdzOiBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJbmRleERvY3VtZW50c0NvbW1hbmR9XG4gICAqL1xuICBpbmRleERvY3VtZW50cyhcbiAgICBhcmdzOiBJbmRleERvY3VtZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEluZGV4RG9jdW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3REb21haW5OYW1lc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RG9tYWluTmFtZXMoXG4gICAgYXJnczogTGlzdERvbWFpbk5hbWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TGlzdERvbWFpbk5hbWVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBCYXNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnMoXG4gICAgYXJnczogVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zKFxuICAgIGFyZ3M6IFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzKFxuICAgIGFyZ3M6IFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzKFxuICAgIGFyZ3M6IFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZFNlYXJjaFNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1jbG91ZHNlYXJjaC9DbG91ZFNlYXJjaFNlcnZpY2VcIixcbik8Q2xvdWRTZWFyY2hTZXJ2aWNlLCBDbG91ZFNlYXJjaFNlcnZpY2UkPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIENsb3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxDbG91ZFNlYXJjaFNlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIENsb3VkU2VhcmNoU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuICBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IENsb3VkU2VhcmNoU2VydmljZUxheWVyID0gQmFzZUNsb3VkU2VhcmNoU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRTZWFyY2hTZXJ2aWNlTGF5ZXIgPSBDbG91ZFNlYXJjaFNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRDbG91ZFNlYXJjaENsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
109
+ export const DefaultCloudSearchServiceLayer = CloudSearchService.defaultLayer;
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRTZWFyY2hTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Nsb3VkU2VhcmNoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsMkJBQTJCLEVBRzNCLHNCQUFzQixFQUd0QixtQkFBbUIsRUFHbkIsMkJBQTJCLEVBRzNCLHVCQUF1QixFQUd2Qix1QkFBdUIsRUFHdkIsc0JBQXNCLEVBR3RCLDJCQUEyQixFQUczQixtQkFBbUIsRUFHbkIsdUJBQXVCLEVBR3ZCLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsOEJBQThCLEVBRzlCLGtDQUFrQyxFQUdsQyxvQ0FBb0MsRUFHcEMsc0JBQXNCLEVBR3RCLDBCQUEwQixFQUcxQiwwQkFBMEIsRUFHMUIsZ0NBQWdDLEVBR2hDLG9DQUFvQyxFQUdwQyx5QkFBeUIsRUFHekIscUJBQXFCLEVBR3JCLHNCQUFzQixFQUd0QixnQ0FBZ0MsRUFHaEMsa0NBQWtDLEVBR2xDLDhCQUE4QixFQUc5QixrQ0FBa0MsR0FHbkMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsOEJBQThCLEdBQy9CLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQywwQ0FBMEMsRUFDMUMsK0JBQStCLEdBQ2hDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLGdCQUFnQixFQVNoQixRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFhbEIsTUFBTSxRQUFRLEdBQUc7SUFDZixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsbUJB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LENBQUMsTUFBTSw4QkFBOEIsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBDbG91ZFNlYXJjaFNlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgQ2xvdWRTZWFyY2hDbGllbnQsXG4gIHR5cGUgQ2xvdWRTZWFyY2hDbGllbnRDb25maWcsXG4gIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIHR5cGUgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgdHlwZSBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUV4cHJlc3Npb25Db21tYW5kLFxuICB0eXBlIERlZmluZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlZmluZUluZGV4RmllbGRDb21tYW5kLFxuICB0eXBlIERlZmluZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gIERlZmluZVN1Z2dlc3RlckNvbW1hbmQsXG4gIHR5cGUgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlZmluZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZURvbWFpbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURvbWFpbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUluZGV4RmllbGRDb21tYW5kLFxuICB0eXBlIERlbGV0ZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3VnZ2VzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRG9tYWluc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEb21haW5zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIEluZGV4RG9jdW1lbnRzQ29tbWFuZCxcbiAgdHlwZSBJbmRleERvY3VtZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmRleERvY3VtZW50c0NvbW1hbmRPdXRwdXQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIHR5cGUgTGlzdERvbWFpbk5hbWVzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REb21haW5OYW1lc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY2xvdWRzZWFyY2hcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2UsXG4gIENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQmFzZUVycm9yLFxuICBEaXNhYmxlZE9wZXJhdGlvbkVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBJbnZhbGlkVHlwZUVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZCxcbiAgQ3JlYXRlRG9tYWluQ29tbWFuZCxcbiAgRGVmaW5lQW5hbHlzaXNTY2hlbWVDb21tYW5kLFxuICBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZCxcbiAgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmQsXG4gIERlZmluZVN1Z2dlc3RlckNvbW1hbmQsXG4gIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZCxcbiAgRGVsZXRlRG9tYWluQ29tbWFuZCxcbiAgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmQsXG4gIERlbGV0ZUluZGV4RmllbGRDb21tYW5kLFxuICBEZWxldGVTdWdnZXN0ZXJDb21tYW5kLFxuICBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmQsXG4gIERlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVEb21haW5zQ29tbWFuZCxcbiAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kLFxuICBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kLFxuICBJbmRleERvY3VtZW50c0NvbW1hbmQsXG4gIExpc3REb21haW5OYW1lc0NvbW1hbmQsXG4gIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kLFxuICBVcGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kLFxuICBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmQsXG4gIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgQ2xvdWRTZWFyY2hTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJ1aWxkU3VnZ2VzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBidWlsZFN1Z2dlc3RlcnMoXG4gICAgYXJnczogQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQnVpbGRTdWdnZXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEb21haW4oXG4gICAgYXJnczogQ3JlYXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVBbmFseXNpc1NjaGVtZShcbiAgICBhcmdzOiBEZWZpbmVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlZmluZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lRXhwcmVzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVFeHByZXNzaW9uKFxuICAgIGFyZ3M6IERlZmluZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lSW5kZXhGaWVsZENvbW1hbmR9XG4gICAqL1xuICBkZWZpbmVJbmRleEZpZWxkKFxuICAgIGFyZ3M6IERlZmluZUluZGV4RmllbGRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVJbmRleEZpZWxkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVmaW5lU3VnZ2VzdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlZmluZVN1Z2dlc3RlcihcbiAgICBhcmdzOiBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWZpbmVTdWdnZXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVBbmFseXNpc1NjaGVtZShcbiAgICBhcmdzOiBEZWxldGVBbmFseXNpc1NjaGVtZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUFuYWx5c2lzU2NoZW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEb21haW4oXG4gICAgYXJnczogRGVsZXRlRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRXhwcmVzc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVFeHByZXNzaW9uKFxuICAgIGFyZ3M6IERlbGV0ZUV4cHJlc3Npb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVFeHByZXNzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUluZGV4RmllbGRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW5kZXhGaWVsZChcbiAgICBhcmdzOiBEZWxldGVJbmRleEZpZWxkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlSW5kZXhGaWVsZENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdWdnZXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3VnZ2VzdGVyKFxuICAgIGFyZ3M6IERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN1Z2dlc3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFuYWx5c2lzU2NoZW1lcyhcbiAgICBhcmdzOiBEZXNjcmliZUFuYWx5c2lzU2NoZW1lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQW5hbHlzaXNTY2hlbWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEJhc2VFcnJvciB8IEludGVybmFsRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQXZhaWxhYmlsaXR5T3B0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgRGlzYWJsZWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFR5cGVFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEb21haW5FbmRwb2ludE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURvbWFpbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEb21haW5zKFxuICAgIGFyZ3M6IERlc2NyaWJlRG9tYWluc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRG9tYWluc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhwcmVzc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeHByZXNzaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUV4cHJlc3Npb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeHByZXNzaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlSW5kZXhGaWVsZHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVJbmRleEZpZWxkcyhcbiAgICBhcmdzOiBEZXNjcmliZUluZGV4RmllbGRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVJbmRleEZpZWxkc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZVNjYWxpbmdQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTZXJ2aWNlQWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmFzZUVycm9yIHwgSW50ZXJuYWxFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN1Z2dlc3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdWdnZXN0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3VnZ2VzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBCYXNlRXJyb3IgfCBJbnRlcm5hbEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluZGV4RG9jdW1lbnRzQ29tbWFuZH1cbiAgICovXG4gIGluZGV4RG9jdW1lbnRzKFxuICAgIGFyZ3M6IEluZGV4RG9jdW1lbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgSW5kZXhEb2N1bWVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJhc2VFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdERvbWFpbk5hbWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REb21haW5OYW1lcyhcbiAgICBhcmdzOiBMaXN0RG9tYWluTmFtZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0RG9tYWluTmFtZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IEJhc2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUF2YWlsYWJpbGl0eU9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9ucyhcbiAgICBhcmdzOiBVcGRhdGVBdmFpbGFiaWxpdHlPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQXZhaWxhYmlsaXR5T3B0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBEaXNhYmxlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZURvbWFpbkVuZHBvaW50T3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVEb21haW5FbmRwb2ludE9wdGlvbnMoXG4gICAgYXJnczogVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRG9tYWluRW5kcG9pbnRPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IERpc2FibGVkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU2NhbGluZ1BhcmFtZXRlcnMoXG4gICAgYXJnczogVXBkYXRlU2NhbGluZ1BhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTY2FsaW5nUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmFzZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkVHlwZUVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVNlcnZpY2VBY2Nlc3NQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZXJ2aWNlQWNjZXNzUG9saWNpZXMoXG4gICAgYXJnczogVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlU2VydmljZUFjY2Vzc1BvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCYXNlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRUeXBlRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgQ2xvdWRTZWFyY2hTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPENsb3VkU2VhcmNoU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgQ2xvdWRTZWFyY2hTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRTZWFyY2hTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtY2xvdWRzZWFyY2gvQ2xvdWRTZWFyY2hTZXJ2aWNlXCIsXG4pPENsb3VkU2VhcmNoU2VydmljZSwgQ2xvdWRTZWFyY2hTZXJ2aWNlJD4oKSB7XG4gIHN0YXRpYyByZWFkb25seSBkZWZhdWx0TGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gICAgdGhpcyxcbiAgICBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuICApLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdENsb3VkU2VhcmNoQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBDbG91ZFNlYXJjaENsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUNsb3VkU2VhcmNoU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBDbG91ZFNlYXJjaENsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogQ2xvdWRTZWFyY2hDbGllbnRDb25maWcpID0+IENsb3VkU2VhcmNoQ2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VDbG91ZFNlYXJjaFNlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgQ2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0Q2xvdWRTZWFyY2hDbGllbnRJbnN0YW5jZUNvbmZpZywgZXZhbHVhdGUpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIENsb3VkU2VhcmNoU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgQ2xvdWRTZWFyY2ggPSBDbG91ZFNlYXJjaFNlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgQ2xvdWRTZWFyY2guYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuICBtYWtlQ2xvdWRTZWFyY2hTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBDbG91ZFNlYXJjaC5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBDbG91ZFNlYXJjaFNlcnZpY2VMYXllciA9IEJhc2VDbG91ZFNlYXJjaFNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKENsb3VkU2VhcmNoQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIENsb3VkU2VhcmNoLmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRTZWFyY2hTZXJ2aWNlTGF5ZXIgPSBDbG91ZFNlYXJjaFNlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
package/package.json CHANGED
@@ -33,7 +33,7 @@
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
- "version": "1.0.0",
36
+ "version": "1.1.0",
37
37
  "types": "lib/index.d.ts",
38
38
  "module": "lib/esm/index.js",
39
39
  "sideEffects": [],