@effect-aws/client-s3 0.6.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,175 @@
1
+ import { AbortMultipartUploadCommand, CompleteMultipartUploadCommand, CopyObjectCommand, CreateBucketCommand, CreateMultipartUploadCommand, DeleteBucketAnalyticsConfigurationCommand, DeleteBucketCommand, DeleteBucketCorsCommand, DeleteBucketEncryptionCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketOwnershipControlsCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectCommand, DeleteObjectsCommand, DeleteObjectTaggingCommand, DeletePublicAccessBlockCommand, GetBucketAccelerateConfigurationCommand, GetBucketAclCommand, GetBucketAnalyticsConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketIntelligentTieringConfigurationCommand, GetBucketInventoryConfigurationCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketMetricsConfigurationCommand, GetBucketNotificationConfigurationCommand, GetBucketOwnershipControlsCommand, GetBucketPolicyCommand, GetBucketPolicyStatusCommand, GetBucketReplicationCommand, GetBucketRequestPaymentCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectAclCommand, GetObjectAttributesCommand, GetObjectCommand, GetObjectLegalHoldCommand, GetObjectLockConfigurationCommand, GetObjectRetentionCommand, GetObjectTaggingCommand, GetObjectTorrentCommand, GetPublicAccessBlockCommand, HeadBucketCommand, HeadObjectCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListBucketsCommand, ListMultipartUploadsCommand, ListObjectsCommand, ListObjectsV2Command, ListObjectVersionsCommand, ListPartsCommand, PutBucketAccelerateConfigurationCommand, PutBucketAclCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketRequestPaymentCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectAclCommand, PutObjectCommand, PutObjectLegalHoldCommand, PutObjectLockConfigurationCommand, PutObjectRetentionCommand, PutObjectTaggingCommand, PutPublicAccessBlockCommand, RestoreObjectCommand, S3ServiceException, SelectObjectContentCommand, UploadPartCommand, UploadPartCopyCommand, WriteGetObjectResponseCommand, } from "@aws-sdk/client-s3";
2
+ import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
3
+ import { Context, Effect, Layer, ReadonlyRecord } from "effect";
4
+ import { S3ServiceError, SdkError } from "./Errors";
5
+ import { DefaultS3ClientInstanceLayer, S3ClientInstance, S3ClientInstanceLayer, } from "./S3ClientInstance";
6
+ import { DefaultS3ClientConfigLayer } from "./S3ClientInstanceConfig";
7
+ const commands = {
8
+ AbortMultipartUploadCommand,
9
+ CompleteMultipartUploadCommand,
10
+ CopyObjectCommand,
11
+ CreateBucketCommand,
12
+ CreateMultipartUploadCommand,
13
+ DeleteBucketCommand,
14
+ DeleteBucketAnalyticsConfigurationCommand,
15
+ DeleteBucketCorsCommand,
16
+ DeleteBucketEncryptionCommand,
17
+ DeleteBucketIntelligentTieringConfigurationCommand,
18
+ DeleteBucketInventoryConfigurationCommand,
19
+ DeleteBucketLifecycleCommand,
20
+ DeleteBucketMetricsConfigurationCommand,
21
+ DeleteBucketOwnershipControlsCommand,
22
+ DeleteBucketPolicyCommand,
23
+ DeleteBucketReplicationCommand,
24
+ DeleteBucketTaggingCommand,
25
+ DeleteBucketWebsiteCommand,
26
+ DeleteObjectCommand,
27
+ DeleteObjectsCommand,
28
+ DeleteObjectTaggingCommand,
29
+ DeletePublicAccessBlockCommand,
30
+ GetBucketAccelerateConfigurationCommand,
31
+ GetBucketAclCommand,
32
+ GetBucketAnalyticsConfigurationCommand,
33
+ GetBucketCorsCommand,
34
+ GetBucketEncryptionCommand,
35
+ GetBucketIntelligentTieringConfigurationCommand,
36
+ GetBucketInventoryConfigurationCommand,
37
+ GetBucketLifecycleConfigurationCommand,
38
+ GetBucketLocationCommand,
39
+ GetBucketLoggingCommand,
40
+ GetBucketMetricsConfigurationCommand,
41
+ GetBucketNotificationConfigurationCommand,
42
+ GetBucketOwnershipControlsCommand,
43
+ GetBucketPolicyCommand,
44
+ GetBucketPolicyStatusCommand,
45
+ GetBucketReplicationCommand,
46
+ GetBucketRequestPaymentCommand,
47
+ GetBucketTaggingCommand,
48
+ GetBucketVersioningCommand,
49
+ GetBucketWebsiteCommand,
50
+ GetObjectCommand,
51
+ GetObjectAclCommand,
52
+ GetObjectAttributesCommand,
53
+ GetObjectLegalHoldCommand,
54
+ GetObjectLockConfigurationCommand,
55
+ GetObjectRetentionCommand,
56
+ GetObjectTaggingCommand,
57
+ GetObjectTorrentCommand,
58
+ GetPublicAccessBlockCommand,
59
+ HeadBucketCommand,
60
+ HeadObjectCommand,
61
+ ListBucketAnalyticsConfigurationsCommand,
62
+ ListBucketIntelligentTieringConfigurationsCommand,
63
+ ListBucketInventoryConfigurationsCommand,
64
+ ListBucketMetricsConfigurationsCommand,
65
+ ListBucketsCommand,
66
+ ListMultipartUploadsCommand,
67
+ ListObjectsCommand,
68
+ ListObjectsV2Command,
69
+ ListObjectVersionsCommand,
70
+ ListPartsCommand,
71
+ PutBucketAccelerateConfigurationCommand,
72
+ PutBucketAclCommand,
73
+ PutBucketAnalyticsConfigurationCommand,
74
+ PutBucketCorsCommand,
75
+ PutBucketEncryptionCommand,
76
+ PutBucketIntelligentTieringConfigurationCommand,
77
+ PutBucketInventoryConfigurationCommand,
78
+ PutBucketLifecycleConfigurationCommand,
79
+ PutBucketLoggingCommand,
80
+ PutBucketMetricsConfigurationCommand,
81
+ PutBucketNotificationConfigurationCommand,
82
+ PutBucketOwnershipControlsCommand,
83
+ PutBucketPolicyCommand,
84
+ PutBucketReplicationCommand,
85
+ PutBucketRequestPaymentCommand,
86
+ PutBucketTaggingCommand,
87
+ PutBucketVersioningCommand,
88
+ PutBucketWebsiteCommand,
89
+ PutObjectCommand,
90
+ PutObjectAclCommand,
91
+ PutObjectLegalHoldCommand,
92
+ PutObjectLockConfigurationCommand,
93
+ PutObjectRetentionCommand,
94
+ PutObjectTaggingCommand,
95
+ PutPublicAccessBlockCommand,
96
+ RestoreObjectCommand,
97
+ SelectObjectContentCommand,
98
+ UploadPartCommand,
99
+ UploadPartCopyCommand,
100
+ WriteGetObjectResponseCommand,
101
+ };
102
+ /**
103
+ * @since 1.0.0
104
+ * @category tags
105
+ */
106
+ export const S3Service = Context.Tag(Symbol.for("@effect-aws/client-s3/S3Service"));
107
+ /**
108
+ * @since 1.0.0
109
+ * @category constructors
110
+ */
111
+ export const makeS3Service = Effect.gen(function* (_) {
112
+ const client = yield* _(S3ClientInstance);
113
+ const catchErrors = (e) => {
114
+ if (e instanceof S3ServiceException) {
115
+ return S3ServiceError({
116
+ ...e,
117
+ name: "S3ServiceError",
118
+ message: e.message,
119
+ stack: e.stack,
120
+ });
121
+ }
122
+ if (e instanceof Error) {
123
+ return SdkError({
124
+ ...e,
125
+ name: "SdkError",
126
+ message: e.message,
127
+ stack: e.stack,
128
+ });
129
+ }
130
+ throw e;
131
+ };
132
+ return ReadonlyRecord.toEntries(commands).reduce((acc, [command]) => {
133
+ const CommandCtor = commands[command];
134
+ const methodImpl = (args, options) => (options === null || options === void 0 ? void 0 : options.presigned)
135
+ ? Effect.tryPromise({
136
+ try: () => getSignedUrl(client, new CommandCtor(args), options),
137
+ catch: catchErrors,
138
+ })
139
+ : Effect.tryPromise({
140
+ try: () => client.send(new CommandCtor(args), options),
141
+ catch: catchErrors,
142
+ });
143
+ const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
144
+ return { ...acc, [methodName]: methodImpl };
145
+ }, {});
146
+ });
147
+ /**
148
+ * @since 1.0.0
149
+ * @category layers
150
+ */
151
+ export const BaseS3ServiceLayer = Layer.effect(S3Service, makeS3Service);
152
+ /**
153
+ * @since 1.0.0
154
+ * @category layers
155
+ */
156
+ export const S3ServiceLayer = BaseS3ServiceLayer.pipe(Layer.provide(S3ClientInstanceLayer));
157
+ /**
158
+ * @since 1.0.0
159
+ * @category layers
160
+ */
161
+ export const DefaultS3ServiceLayer = S3ServiceLayer.pipe(Layer.provide(DefaultS3ClientConfigLayer));
162
+ // -------------------- Danger Zone --------------------
163
+ /**
164
+ * @deprecated
165
+ */
166
+ export const BaseS3ServiceEffect = makeS3Service;
167
+ /**
168
+ * @deprecated
169
+ */
170
+ export const S3ServiceEffect = BaseS3ServiceEffect.pipe(Effect.provide(S3ClientInstanceLayer));
171
+ /**
172
+ * @deprecated
173
+ */
174
+ export const DefaultS3ServiceEffect = BaseS3ServiceEffect.pipe(Effect.provide(DefaultS3ClientInstanceLayer));
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1MzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsMkJBQTJCLEVBRzNCLDhCQUE4QixFQUc5QixpQkFBaUIsRUFHakIsbUJBQW1CLEVBR25CLDRCQUE0QixFQUc1Qix5Q0FBeUMsRUFHekMsbUJBQW1CLEVBR25CLHVCQUF1QixFQUd2Qiw2QkFBNkIsRUFHN0Isa0RBQWtELEVBR2xELHlDQUF5QyxFQUd6Qyw0QkFBNEIsRUFHNUIsdUNBQXVDLEVBR3ZDLG9DQUFvQyxFQUdwQyx5QkFBeUIsRUFHekIsOEJBQThCLEVBRzlCLDBCQUEwQixFQUcxQiwwQkFBMEIsRUFHMUIsbUJBQW1CLEVBR25CLG9CQUFvQixFQUdwQiwwQkFBMEIsRUFHMUIsOEJBQThCLEVBRzlCLHVDQUF1QyxFQUd2QyxtQkFBbUIsRUFHbkIsc0NBQXNDLEVBR3RDLG9CQUFvQixFQUdwQiwwQkFBMEIsRUFHMUIsK0NBQStDLEVBRy9DLHNDQUFzQyxFQUd0QyxzQ0FBc0MsRUFHdEMsd0JBQXdCLEVBR3hCLHVCQUF1QixFQUd2QixvQ0FBb0MsRUFHcEMseUNBQXlDLEVBR3pDLGlDQUFpQyxFQUdqQyxzQkFBc0IsRUFHdEIsNEJBQTRCLEVBRzVCLDJCQUEyQixFQUczQiw4QkFBOEIsRUFHOUIsdUJBQXVCLEVBR3ZCLDBCQUEwQixFQUcxQix1QkFBdUIsRUFHdkIsbUJBQW1CLEVBR25CLDBCQUEwQixFQUcxQixnQkFBZ0IsRUFHaEIseUJBQXlCLEVBR3pCLGlDQUFpQyxFQUdqQyx5QkFBeUIsRUFHekIsdUJBQXVCLEVBR3ZCLHVCQUF1QixFQUd2QiwyQkFBMkIsRUFHM0IsaUJBQWlCLEVBR2pCLGlCQUFpQixFQUdqQix3Q0FBd0MsRUFHeEMsaURBQWlELEVBR2pELHdDQUF3QyxFQUd4QyxzQ0FBc0MsRUFHdEMsa0JBQWtCLEVBR2xCLDJCQUEyQixFQUczQixrQkFBa0Is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QU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQ25ELEtBQUssQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FDckMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQ3RELEtBQUssQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FDMUMsQ0FBQztBQUVGLHdEQUF3RDtBQUV4RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3JELE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FDdEMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUM1RCxNQUFNLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kSW5wdXQsXG4gIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dCxcbiAgQ29weU9iamVjdENvbW1hbmQsXG4gIENvcHlPYmplY3RDb21tYW5kSW5wdXQsXG4gIENvcHlPYmplY3RDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVCdWNrZXRDb21tYW5kLFxuICBDcmVhdGVCdWNrZXRDb21tYW5kSW5wdXQsXG4gIENyZWF0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRDb21tYW5kLFxuICBEZWxldGVCdWNrZXRDb21tYW5kSW5wdXQsXG4gIERlbGV0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kLFxuICBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVPYmplY3RDb21tYW5kLFxuICBEZWxldGVPYmplY3RDb21tYW5kSW5wdXQsXG4gIERlbGV0ZU9iamVjdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9iamVjdHNDb21tYW5kLFxuICBEZWxldGVPYmplY3RzQ29tbWFuZElucHV0LFxuICBEZWxldGVPYmplY3RzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmQsXG4gIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmQsXG4gIERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZElucHV0LFxuICBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0QWNsQ29tbWFuZCxcbiAgR2V0QnVja2V0QWNsQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRBY2xDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldENvcnNDb21tYW5kLFxuICBHZXRCdWNrZXRDb3JzQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRDb3JzQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0UG9saWN5Q29tbWFuZCxcbiAgR2V0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kLFxuICBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kLFxuICBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kLFxuICBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RBY2xDb21tYW5kLFxuICBHZXRPYmplY3RBY2xDb21tYW5kSW5wdXQsXG4gIEdldE9iamVjdEFjbENvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgR2V0T2JqZWN0Q29tbWFuZCxcbiAgR2V0T2JqZWN0Q29tbWFuZElucHV0LFxuICBHZXRPYmplY3RDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kLFxuICBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kSW5wdXQsXG4gIEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZCxcbiAgR2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgR2V0T2JqZWN0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgR2V0T2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdFRvcnJlbnRDb21tYW5kLFxuICBHZXRPYmplY3RUb3JyZW50Q29tbWFuZElucHV0LFxuICBHZXRPYmplY3RUb3JyZW50Q29tbWFuZE91dHB1dCxcbiAgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICBIZWFkQnVja2V0Q29tbWFuZCxcbiAgSGVhZEJ1Y2tldENvbW1hbmRJbnB1dCxcbiAgSGVhZEJ1Y2tldENvbW1hbmRPdXRwdXQsXG4gIEhlYWRPYmplY3RDb21tYW5kLFxuICBIZWFkT2JqZWN0Q29tbWFuZElucHV0LFxuICBIZWFkT2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgTGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0QnVja2V0c0NvbW1hbmQsXG4gIExpc3RCdWNrZXRzQ29tbWFuZElucHV0LFxuICBMaXN0QnVja2V0c0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZCxcbiAgTGlzdE11bHRpcGFydFVwbG9hZHNDb21tYW5kSW5wdXQsXG4gIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE9iamVjdHNDb21tYW5kLFxuICBMaXN0T2JqZWN0c0NvbW1hbmRJbnB1dCxcbiAgTGlzdE9iamVjdHNDb21tYW5kT3V0cHV0LFxuICBMaXN0T2JqZWN0c1YyQ29tbWFuZCxcbiAgTGlzdE9iamVjdHNWMkNvbW1hbmRJbnB1dCxcbiAgTGlzdE9iamVjdHNWMkNvbW1hbmRPdXRwdXQsXG4gIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmQsXG4gIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFBhcnRzQ29tbWFuZCxcbiAgTGlzdFBhcnRzQ29tbWFuZElucHV0LFxuICBMaXN0UGFydHNDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEFjbENvbW1hbmQsXG4gIFB1dEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0QWNsQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgUHV0QnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmQsXG4gIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kLFxuICBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRQb2xpY3lDb21tYW5kLFxuICBQdXRCdWNrZXRQb2xpY3lDb21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kLFxuICBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kLFxuICBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RBY2xDb21tYW5kLFxuICBQdXRPYmplY3RBY2xDb21tYW5kSW5wdXQsXG4gIFB1dE9iamVjdEFjbENvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdENvbW1hbmQsXG4gIFB1dE9iamVjdENvbW1hbmRJbnB1dCxcbiAgUHV0T2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZCxcbiAgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRJbnB1dCxcbiAgUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmQsXG4gIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmQsXG4gIFB1dFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZElucHV0LFxuICBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gIFJlc3RvcmVPYmplY3RDb21tYW5kLFxuICBSZXN0b3JlT2JqZWN0Q29tbWFuZElucHV0LFxuICBSZXN0b3JlT2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgUzNTZXJ2aWNlRXhjZXB0aW9uLFxuICBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZCxcbiAgU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmRJbnB1dCxcbiAgU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFBhcnRDb21tYW5kLFxuICBVcGxvYWRQYXJ0Q29tbWFuZElucHV0LFxuICBVcGxvYWRQYXJ0Q29tbWFuZE91dHB1dCxcbiAgVXBsb2FkUGFydENvcHlDb21tYW5kLFxuICBVcGxvYWRQYXJ0Q29weUNvbW1hbmRJbnB1dCxcbiAgVXBsb2FkUGFydENvcHlDb21tYW5kT3V0cHV0LFxuICBXcml0ZUdldE9iamVjdFJlc3BvbnNlQ29tbWFuZCxcbiAgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmRJbnB1dCxcbiAgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCB7IGdldFNpZ25lZFVybCB9IGZyb20gXCJAYXdzLXNkay9zMy1yZXF1ZXN0LXByZXNpZ25lclwiO1xuaW1wb3J0IHtcbiAgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSZWFkb25seVJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7IFMzU2VydmljZUVycm9yLCBTZGtFcnJvciB9IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFMzQ2xpZW50SW5zdGFuY2VMYXllcixcbiAgUzNDbGllbnRJbnN0YW5jZSxcbiAgUzNDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9TM0NsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0UzNDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL1MzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICBDb3B5T2JqZWN0Q29tbWFuZCxcbiAgQ3JlYXRlQnVja2V0Q29tbWFuZCxcbiAgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0Q29tbWFuZCxcbiAgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kLFxuICBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kLFxuICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIERlbGV0ZU9iamVjdENvbW1hbmQsXG4gIERlbGV0ZU9iamVjdHNDb21tYW5kLFxuICBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEFjbENvbW1hbmQsXG4gIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmQsXG4gIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgR2V0QnVja2V0UG9saWN5Q29tbWFuZCxcbiAgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZCxcbiAgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmQsXG4gIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZCxcbiAgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIEdldE9iamVjdENvbW1hbmQsXG4gIEdldE9iamVjdEFjbENvbW1hbmQsXG4gIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kLFxuICBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kLFxuICBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICBHZXRPYmplY3RUb3JyZW50Q29tbWFuZCxcbiAgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBIZWFkQnVja2V0Q29tbWFuZCxcbiAgSGVhZE9iamVjdENvbW1hbmQsXG4gIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0c0NvbW1hbmQsXG4gIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZCxcbiAgTGlzdE9iamVjdHNDb21tYW5kLFxuICBMaXN0T2JqZWN0c1YyQ29tbWFuZCxcbiAgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZCxcbiAgTGlzdFBhcnRzQ29tbWFuZCxcbiAgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRBY2xDb21tYW5kLFxuICBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0Q29yc0NvbW1hbmQsXG4gIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZCxcbiAgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kLFxuICBQdXRCdWNrZXRQb2xpY3lDb21tYW5kLFxuICBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZCxcbiAgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmQsXG4gIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kLFxuICBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZCxcbiAgUHV0T2JqZWN0Q29tbWFuZCxcbiAgUHV0T2JqZWN0QWNsQ29tbWFuZCxcbiAgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZCxcbiAgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kLFxuICBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBSZXN0b3JlT2JqZWN0Q29tbWFuZCxcbiAgU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmQsXG4gIFVwbG9hZFBhcnRDb21tYW5kLFxuICBVcGxvYWRQYXJ0Q29weUNvbW1hbmQsXG4gIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kLFxufTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM1NlcnZpY2Uge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBhYm9ydE11bHRpcGFydFVwbG9hZDogKFxuICAgIGFyZ3M6IEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkOiAoXG4gICAgYXJnczogQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weU9iamVjdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjb3B5T2JqZWN0OiAoXG4gICAgYXJnczogQ29weU9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxuZXZlciwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvciwgQ29weU9iamVjdENvbW1hbmRPdXRwdXQ+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVCdWNrZXRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQnVja2V0OiAoXG4gICAgYXJnczogQ3JlYXRlQnVja2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgQ3JlYXRlQnVja2V0Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlTXVsdGlwYXJ0VXBsb2FkOiAoXG4gICAgYXJnczogQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0OiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgRGVsZXRlQnVja2V0Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0Q29yc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVCdWNrZXRDb3JzOiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0RW5jcnlwdGlvbjogKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVCdWNrZXRMaWZlY3ljbGU6IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHM6IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0UG9saWN5OiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVCdWNrZXRSZXBsaWNhdGlvbjogKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0VGFnZ2luZzogKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJ1Y2tldFdlYnNpdGU6IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgRGVsZXRlQnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZU9iamVjdDogKFxuICAgIGFyZ3M6IERlbGV0ZU9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIERlbGV0ZU9iamVjdENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT2JqZWN0c0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVPYmplY3RzOiAoXG4gICAgYXJnczogRGVsZXRlT2JqZWN0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIERlbGV0ZU9iamVjdHNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlT2JqZWN0VGFnZ2luZzogKFxuICAgIGFyZ3M6IERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVQdWJsaWNBY2Nlc3NCbG9jazogKFxuICAgIGFyZ3M6IERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0QWNsQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldEFjbDogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIEdldEJ1Y2tldEFjbENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldENvcnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0Q29yczogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRCdWNrZXRDb3JzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldEVuY3J5cHRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbjogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0TG9jYXRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldExvZ2dpbmc6IChcbiAgICBhcmdzOiBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHM6IChcbiAgICBhcmdzOiBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0UG9saWN5OiAoXG4gICAgYXJnczogR2V0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0QnVja2V0UG9saWN5Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0UG9saWN5U3RhdHVzOiAoXG4gICAgYXJnczogR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRCdWNrZXRSZXBsaWNhdGlvbjogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldFJlcXVlc3RQYXltZW50OiAoXG4gICAgYXJnczogR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRCdWNrZXRUYWdnaW5nOiAoXG4gICAgYXJnczogR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0VmVyc2lvbmluZzogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldFdlYnNpdGU6IChcbiAgICBhcmdzOiBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0QnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldE9iamVjdDoge1xuICAgIChcbiAgICAgIGFyZ3M6IEdldE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICAgIG9wdGlvbnM/OiB7IHJlYWRvbmx5IHByZXNpZ25lZD86IGZhbHNlIH0gJiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLCBHZXRPYmplY3RDb21tYW5kT3V0cHV0PjtcbiAgICAoXG4gICAgICBhcmdzOiBHZXRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgICBvcHRpb25zPzogeyByZWFkb25seSBwcmVzaWduZWQ6IHRydWUgfSAmIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzLFxuICAgICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsIHN0cmluZz47XG4gIH07XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdEFjbENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRPYmplY3RBY2w6IChcbiAgICBhcmdzOiBHZXRPYmplY3RBY2xDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRPYmplY3RBY2xDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0T2JqZWN0QXR0cmlidXRlczogKFxuICAgIGFyZ3M6IEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0T2JqZWN0TGVnYWxIb2xkOiAoXG4gICAgYXJnczogR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbjogKFxuICAgIGFyZ3M6IEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRPYmplY3RSZXRlbnRpb246IChcbiAgICBhcmdzOiBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0T2JqZWN0VGFnZ2luZzogKFxuICAgIGFyZ3M6IEdldE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RUb3JyZW50Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldE9iamVjdFRvcnJlbnQ6IChcbiAgICBhcmdzOiBHZXRPYmplY3RUb3JyZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgR2V0T2JqZWN0VG9ycmVudENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0UHVibGljQWNjZXNzQmxvY2s6IChcbiAgICBhcmdzOiBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBIZWFkQnVja2V0Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGhlYWRCdWNrZXQ6IChcbiAgICBhcmdzOiBIZWFkQnVja2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PG5ldmVyLCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLCBIZWFkQnVja2V0Q29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEhlYWRPYmplY3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgaGVhZE9iamVjdDogKFxuICAgIGFyZ3M6IEhlYWRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsIEhlYWRPYmplY3RDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uczogKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uczogKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uczogKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBsaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zOiAoXG4gICAgYXJnczogTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RCdWNrZXRzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RCdWNrZXRzOiAoXG4gICAgYXJnczogTGlzdEJ1Y2tldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBMaXN0QnVja2V0c0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE11bHRpcGFydFVwbG9hZHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdE11bHRpcGFydFVwbG9hZHM6IChcbiAgICBhcmdzOiBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0T2JqZWN0c0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBsaXN0T2JqZWN0czogKFxuICAgIGFyZ3M6IExpc3RPYmplY3RzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgTGlzdE9iamVjdHNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPYmplY3RzVjJDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdE9iamVjdHNWMjogKFxuICAgIGFyZ3M6IExpc3RPYmplY3RzVjJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBMaXN0T2JqZWN0c1YyQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdE9iamVjdFZlcnNpb25zOiAoXG4gICAgYXJnczogTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0UGFydHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdFBhcnRzOiAoXG4gICAgYXJnczogTGlzdFBhcnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PG5ldmVyLCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLCBMaXN0UGFydHNDb21tYW5kT3V0cHV0PjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRBY2xDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0QWNsOiAoXG4gICAgYXJnczogUHV0QnVja2V0QWNsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgUHV0QnVja2V0QWNsQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0Q29yc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRDb3JzOiAoXG4gICAgYXJnczogUHV0QnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFB1dEJ1Y2tldENvcnNDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0RW5jcnlwdGlvbjogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbjogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldExvZ2dpbmc6IChcbiAgICBhcmdzOiBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHM6IChcbiAgICBhcmdzOiBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0UG9saWN5OiAoXG4gICAgYXJnczogUHV0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgUHV0QnVja2V0UG9saWN5Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRSZXBsaWNhdGlvbjogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldFJlcXVlc3RQYXltZW50OiAoXG4gICAgYXJnczogUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRUYWdnaW5nOiAoXG4gICAgYXJnczogUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0VmVyc2lvbmluZzogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldFdlYnNpdGU6IChcbiAgICBhcmdzOiBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIG5ldmVyLFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsXG4gICAgUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dE9iamVjdDoge1xuICAgIChcbiAgICAgIGFyZ3M6IFB1dE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICAgIG9wdGlvbnM/OiB7IHJlYWRvbmx5IHByZXNpZ25lZD86IGZhbHNlIH0gJiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgICApOiBFZmZlY3QuRWZmZWN0PG5ldmVyLCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLCBQdXRPYmplY3RDb21tYW5kT3V0cHV0PjtcbiAgICAoXG4gICAgICBhcmdzOiBQdXRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgICBvcHRpb25zPzogeyByZWFkb25seSBwcmVzaWduZWQ6IHRydWUgfSAmIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzLFxuICAgICk6IEVmZmVjdC5FZmZlY3Q8bmV2ZXIsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3IsIHN0cmluZz47XG4gIH07XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdEFjbENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRPYmplY3RBY2w6IChcbiAgICBhcmdzOiBQdXRPYmplY3RBY2xDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBQdXRPYmplY3RBY2xDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRPYmplY3RMZWdhbEhvbGQ6IChcbiAgICBhcmdzOiBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dE9iamVjdFJldGVudGlvbjogKFxuICAgIGFyZ3M6IFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRPYmplY3RUYWdnaW5nOiAoXG4gICAgYXJnczogUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dFB1YmxpY0FjY2Vzc0Jsb2NrOiAoXG4gICAgYXJnczogUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZU9iamVjdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSByZXN0b3JlT2JqZWN0OiAoXG4gICAgYXJnczogUmVzdG9yZU9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFJlc3RvcmVPYmplY3RDb21tYW5kT3V0cHV0XG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0T2JqZWN0Q29udGVudDogKFxuICAgIGFyZ3M6IFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZE91dHB1dFxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRQYXJ0Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHVwbG9hZFBhcnQ6IChcbiAgICBhcmdzOiBVcGxvYWRQYXJ0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PG5ldmVyLCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLCBVcGxvYWRQYXJ0Q29tbWFuZE91dHB1dD47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwbG9hZFBhcnRDb3B5Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHVwbG9hZFBhcnRDb3B5OiAoXG4gICAgYXJnczogVXBsb2FkUGFydENvcHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgbmV2ZXIsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcixcbiAgICBVcGxvYWRQYXJ0Q29weUNvbW1hbmRPdXRwdXRcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSB3cml0ZUdldE9iamVjdFJlc3BvbnNlOiAoXG4gICAgYXJnczogV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBuZXZlcixcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yLFxuICAgIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kT3V0cHV0XG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY29uc3QgUzNTZXJ2aWNlID0gQ29udGV4dC5UYWc8UzNTZXJ2aWNlPihcbiAgU3ltYm9sLmZvcihcIkBlZmZlY3QtYXdzL2NsaWVudC1zMy9TM1NlcnZpY2VcIiksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVMzU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFMzQ2xpZW50SW5zdGFuY2UpO1xuXG4gIGNvbnN0IGNhdGNoRXJyb3JzID0gKGU6IHVua25vd24pID0+IHtcbiAgICBpZiAoZSBpbnN0YW5jZW9mIFMzU2VydmljZUV4Y2VwdGlvbikge1xuICAgICAgcmV0dXJuIFMzU2VydmljZUVycm9yKHtcbiAgICAgICAgLi4uZSxcbiAgICAgICAgbmFtZTogXCJTM1NlcnZpY2VFcnJvclwiLFxuICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgIC4uLmUsXG4gICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9O1xuXG4gIHJldHVybiBSZWFkb25seVJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKFxuICAgICAgYXJnczogYW55LFxuICAgICAgb3B0aW9ucz86XG4gICAgICAgIHwgKHsgcmVhZG9ubHkgcHJlc2lnbmVkPzogZmFsc2UgfSAmIF9fSHR0cEhhbmRsZXJPcHRpb25zKVxuICAgICAgICB8ICh7IHJlYWRvbmx5IHByZXNpZ25lZDogdHJ1ZSB9ICYgUmVxdWVzdFByZXNpZ25pbmdBcmd1bWVudHMpLFxuICAgICkgPT5cbiAgICAgIG9wdGlvbnM/LnByZXNpZ25lZFxuICAgICAgICA/IEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgICAgIHRyeTogKCkgPT5cbiAgICAgICAgICAgICAgZ2V0U2lnbmVkVXJsKGNsaWVudCBhcyBhbnksIG5ldyBDb21tYW5kQ3RvcihhcmdzKSwgb3B0aW9ucyksXG4gICAgICAgICAgICBjYXRjaDogY2F0Y2hFcnJvcnMsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgICAgICB0cnk6ICgpID0+IGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwgb3B0aW9ucyksXG4gICAgICAgICAgICBjYXRjaDogY2F0Y2hFcnJvcnMsXG4gICAgICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgUzNTZXJ2aWNlO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlUzNTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoUzNTZXJ2aWNlLCBtYWtlUzNTZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFMzU2VydmljZUxheWVyID0gQmFzZVMzU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoUzNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UzNTZXJ2aWNlTGF5ZXIgPSBTM1NlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTM0NsaWVudENvbmZpZ0xheWVyKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIERhbmdlciBab25lIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTM1NlcnZpY2VFZmZlY3QgPSBtYWtlUzNTZXJ2aWNlO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBTM1NlcnZpY2VFZmZlY3QgPSBCYXNlUzNTZXJ2aWNlRWZmZWN0LnBpcGUoXG4gIEVmZmVjdC5wcm92aWRlKFMzQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UzNTZXJ2aWNlRWZmZWN0ID0gQmFzZVMzU2VydmljZUVmZmVjdC5waXBlKFxuICBFZmZlY3QucHJvdmlkZShEZWZhdWx0UzNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG4iXX0=
package/lib/esm/index.js CHANGED
@@ -1,4 +1,5 @@
1
- export * from "./Context";
2
1
  export * from "./Errors";
3
- export * from "./S3";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1MzXCI7XG4iXX0=
2
+ export * from "./S3ClientInstance";
3
+ export * from "./S3ClientInstanceConfig";
4
+ export * from "./S3Service";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vRXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TM0NsaWVudEluc3RhbmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TM0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TM1NlcnZpY2VcIjtcbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export * from "./Context";
2
1
  export * from "./Errors";
3
- export * from "./S3";
2
+ export * from "./S3ClientInstance";
3
+ export * from "./S3ClientInstanceConfig";
4
+ export * from "./S3Service";
package/lib/index.js CHANGED
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Context"), exports);
18
17
  __exportStar(require("./Errors"), exports);
19
- __exportStar(require("./S3"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQiwyQ0FBeUI7QUFDekIsdUNBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQ29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TM1wiO1xuIl19
18
+ __exportStar(require("./S3ClientInstance"), exports);
19
+ __exportStar(require("./S3ClientInstanceConfig"), exports);
20
+ __exportStar(require("./S3Service"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QixxREFBbUM7QUFDbkMsMkRBQXlDO0FBQ3pDLDhDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vUzNDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUzNDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vUzNTZXJ2aWNlXCI7XG4iXX0=
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "@typescript-eslint/parser": "^6",
13
13
  "aws-sdk-client-mock": "^3.0.0",
14
14
  "aws-sdk-client-mock-jest": "^3.0.0",
15
- "effect": "2.0.0-next.55",
15
+ "effect": "2.0.1",
16
16
  "eslint": "^8",
17
17
  "eslint-config-prettier": "^9.0.0",
18
18
  "eslint-import-resolver-node": "^0.3.9",
@@ -26,7 +26,7 @@
26
26
  "typescript": "^5.2.2"
27
27
  },
28
28
  "peerDependencies": {
29
- "effect": "^2.0.0-next.55"
29
+ "effect": "^2.0.1"
30
30
  },
31
31
  "dependencies": {
32
32
  "@aws-sdk/client-s3": "^3",
@@ -38,7 +38,7 @@
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  },
41
- "version": "0.6.0",
41
+ "version": "1.0.0",
42
42
  "types": "lib/index.d.ts",
43
43
  "module": "lib/esm/index.js",
44
44
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
package/lib/Context.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { S3Client, S3ClientConfig } from "@aws-sdk/client-s3";
2
- import * as Context from "effect/Context";
3
- import * as Data from "effect/Data";
4
- import * as Layer from "effect/Layer";
5
- declare const S3ClientOptions_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal").Equal ? never : P]: A[P]; }) => Data.Data<Readonly<A> & {
6
- readonly _tag: "S3ClientOptions";
7
- }>;
8
- export declare class S3ClientOptions extends S3ClientOptions_base<S3ClientConfig> {
9
- }
10
- export declare const S3ClientConfigTag: Context.Tag<S3ClientOptions, S3ClientOptions>;
11
- export declare const DefaultS3ClientConfigLayer: Layer.Layer<never, never, S3ClientOptions>;
12
- export declare const S3ClientInstanceTag: Context.Tag<S3Client, S3Client>;
13
- export declare const S3ClientInstanceLayer: Layer.Layer<S3ClientOptions, never, S3Client>;
14
- export declare const DefaultS3ClientInstanceLayer: Layer.Layer<never, never, S3Client>;
15
- export {};
package/lib/Context.js DELETED
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.DefaultS3ClientInstanceLayer = exports.S3ClientInstanceLayer = exports.S3ClientInstanceTag = exports.DefaultS3ClientConfigLayer = exports.S3ClientConfigTag = exports.S3ClientOptions = void 0;
27
- const client_s3_1 = require("@aws-sdk/client-s3");
28
- const Context = __importStar(require("effect/Context"));
29
- const Data = __importStar(require("effect/Data"));
30
- const Effect = __importStar(require("effect/Effect"));
31
- const Layer = __importStar(require("effect/Layer"));
32
- const Runtime = __importStar(require("effect/Runtime"));
33
- class S3ClientOptions extends Data.TaggedClass("S3ClientOptions") {
34
- }
35
- exports.S3ClientOptions = S3ClientOptions;
36
- exports.S3ClientConfigTag = Context.Tag("@effect-aws/S3Client/Config");
37
- exports.DefaultS3ClientConfigLayer = Layer.effect(exports.S3ClientConfigTag, Effect.runtime().pipe(Effect.map((runtime) => new S3ClientOptions({
38
- logger: {
39
- info: (m) => Effect.logInfo(m).pipe(Runtime.runSync(runtime)),
40
- warn: (m) => Effect.logWarning(m).pipe(Runtime.runSync(runtime)),
41
- error: (m) => Effect.logError(m).pipe(Runtime.runSync(runtime)),
42
- debug: (m) => Effect.logDebug(m).pipe(Runtime.runSync(runtime)),
43
- trace: (m) => Effect.logTrace(m).pipe(Runtime.runSync(runtime)),
44
- },
45
- }))));
46
- exports.S3ClientInstanceTag = Context.Tag("@effect-aws/S3Client/Instance");
47
- exports.S3ClientInstanceLayer = Layer.effect(exports.S3ClientInstanceTag, exports.S3ClientConfigTag.pipe(Effect.map((config) => new client_s3_1.S3Client(config))));
48
- exports.DefaultS3ClientInstanceLayer = exports.S3ClientInstanceLayer.pipe(Layer.use(exports.DefaultS3ClientConfigLayer));
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQThEO0FBQzlELHdEQUEwQztBQUMxQyxrREFBb0M7QUFDcEMsc0RBQXdDO0FBQ3hDLG9EQUFzQztBQUN0Qyx3REFBMEM7QUFFMUMsTUFBYSxlQUFnQixTQUFRLElBQUksQ0FBQyxXQUFXLENBQ25ELGlCQUFpQixDQUNGO0NBQUc7QUFGcEIsMENBRW9CO0FBRVAsUUFBQSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUMxQyw2QkFBNkIsQ0FDOUIsQ0FBQztBQUVXLFFBQUEsMEJBQTBCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDcEQseUJBQWlCLEVBQ2pCLE1BQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxJQUFJLENBQzFCLE1BQU0sQ0FBQyxHQUFHLENBQ1IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLElBQUksZUFBZSxDQUFDO0lBQ2xCLE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDaEU7Q0FDRixDQUFDLENBQ0wsQ0FDRixDQUNGLENBQUM7QUFFVyxRQUFBLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQzVDLCtCQUErQixDQUNoQyxDQUFDO0FBRVcsUUFBQSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUMvQywyQkFBbUIsRUFDbkIseUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksb0JBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ3JFLENBQUM7QUFFVyxRQUFBLDRCQUE0QixHQUFHLDZCQUFxQixDQUFDLElBQUksQ0FDcEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxrQ0FBMEIsQ0FBQyxDQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUzNDbGllbnQsIFMzQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuaW1wb3J0ICogYXMgQ29udGV4dCBmcm9tIFwiZWZmZWN0L0NvbnRleHRcIjtcbmltcG9ydCAqIGFzIERhdGEgZnJvbSBcImVmZmVjdC9EYXRhXCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCAqIGFzIFJ1bnRpbWUgZnJvbSBcImVmZmVjdC9SdW50aW1lXCI7XG5cbmV4cG9ydCBjbGFzcyBTM0NsaWVudE9wdGlvbnMgZXh0ZW5kcyBEYXRhLlRhZ2dlZENsYXNzKFxuICBcIlMzQ2xpZW50T3B0aW9uc1wiLFxuKTxTM0NsaWVudENvbmZpZz4ge31cblxuZXhwb3J0IGNvbnN0IFMzQ2xpZW50Q29uZmlnVGFnID0gQ29udGV4dC5UYWc8UzNDbGllbnRPcHRpb25zPihcbiAgXCJAZWZmZWN0LWF3cy9TM0NsaWVudC9Db25maWdcIixcbik7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0UzNDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgUzNDbGllbnRDb25maWdUYWcsXG4gIEVmZmVjdC5ydW50aW1lPG5ldmVyPigpLnBpcGUoXG4gICAgRWZmZWN0Lm1hcChcbiAgICAgIChydW50aW1lKSA9PlxuICAgICAgICBuZXcgUzNDbGllbnRPcHRpb25zKHtcbiAgICAgICAgICBsb2dnZXI6IHtcbiAgICAgICAgICAgIGluZm86IChtKSA9PiBFZmZlY3QubG9nSW5mbyhtKS5waXBlKFJ1bnRpbWUucnVuU3luYyhydW50aW1lKSksXG4gICAgICAgICAgICB3YXJuOiAobSkgPT4gRWZmZWN0LmxvZ1dhcm5pbmcobSkucGlwZShSdW50aW1lLnJ1blN5bmMocnVudGltZSkpLFxuICAgICAgICAgICAgZXJyb3I6IChtKSA9PiBFZmZlY3QubG9nRXJyb3IobSkucGlwZShSdW50aW1lLnJ1blN5bmMocnVudGltZSkpLFxuICAgICAgICAgICAgZGVidWc6IChtKSA9PiBFZmZlY3QubG9nRGVidWcobSkucGlwZShSdW50aW1lLnJ1blN5bmMocnVudGltZSkpLFxuICAgICAgICAgICAgdHJhY2U6IChtKSA9PiBFZmZlY3QubG9nVHJhY2UobSkucGlwZShSdW50aW1lLnJ1blN5bmMocnVudGltZSkpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICksXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgUzNDbGllbnRJbnN0YW5jZVRhZyA9IENvbnRleHQuVGFnPFMzQ2xpZW50PihcbiAgXCJAZWZmZWN0LWF3cy9TM0NsaWVudC9JbnN0YW5jZVwiLFxuKTtcblxuZXhwb3J0IGNvbnN0IFMzQ2xpZW50SW5zdGFuY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgUzNDbGllbnRJbnN0YW5jZVRhZyxcbiAgUzNDbGllbnRDb25maWdUYWcucGlwZShFZmZlY3QubWFwKChjb25maWcpID0+IG5ldyBTM0NsaWVudChjb25maWcpKSksXG4pO1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFMzQ2xpZW50SW5zdGFuY2VMYXllciA9IFMzQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICBMYXllci51c2UoRGVmYXVsdFMzQ2xpZW50Q29uZmlnTGF5ZXIpLFxuKTtcbiJdfQ==