@effect-aws/client-s3 1.1.1 → 1.3.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.
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- 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";
4
+ import { S3ServiceException, AbortMultipartUploadCommand, CompleteMultipartUploadCommand, CopyObjectCommand, CreateBucketCommand, CreateMultipartUploadCommand, CreateSessionCommand, DeleteBucketCommand, DeleteBucketAnalyticsConfigurationCommand, 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, GetObjectCommand, GetObjectAclCommand, GetObjectAttributesCommand, GetObjectLegalHoldCommand, GetObjectLockConfigurationCommand, GetObjectRetentionCommand, GetObjectTaggingCommand, GetObjectTorrentCommand, GetPublicAccessBlockCommand, HeadBucketCommand, HeadObjectCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListBucketsCommand, ListDirectoryBucketsCommand, ListMultipartUploadsCommand, ListObjectsCommand, ListObjectsV2Command, ListObjectVersionsCommand, ListPartsCommand, PutBucketAccelerateConfigurationCommand, PutBucketAclCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketRequestPaymentCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectCommand, PutObjectAclCommand, PutObjectLegalHoldCommand, PutObjectLockConfigurationCommand, PutObjectRetentionCommand, PutObjectTaggingCommand, PutPublicAccessBlockCommand, RestoreObjectCommand, SelectObjectContentCommand, UploadPartCommand, UploadPartCopyCommand, WriteGetObjectResponseCommand, } from "@aws-sdk/client-s3";
5
5
  import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
6
- import { Context, Effect, Layer, ReadonlyRecord } from "effect";
7
- import { S3ServiceError, SdkError } from "./Errors";
8
- import { DefaultS3ClientInstanceLayer, S3ClientInstance, S3ClientInstanceLayer, } from "./S3ClientInstance";
6
+ import { Context, Data, Effect, Layer, Record } from "effect";
7
+ import { SdkError, } from "./Errors";
8
+ import { S3ClientInstance, S3ClientInstanceLayer } from "./S3ClientInstance";
9
9
  import { DefaultS3ClientConfigLayer } from "./S3ClientInstanceConfig";
10
10
  const commands = {
11
11
  AbortMultipartUploadCommand,
@@ -13,6 +13,7 @@ const commands = {
13
13
  CopyObjectCommand,
14
14
  CreateBucketCommand,
15
15
  CreateMultipartUploadCommand,
16
+ CreateSessionCommand,
16
17
  DeleteBucketCommand,
17
18
  DeleteBucketAnalyticsConfigurationCommand,
18
19
  DeleteBucketCorsCommand,
@@ -66,6 +67,7 @@ const commands = {
66
67
  ListBucketInventoryConfigurationsCommand,
67
68
  ListBucketMetricsConfigurationsCommand,
68
69
  ListBucketsCommand,
70
+ ListDirectoryBucketsCommand,
69
71
  ListMultipartUploadsCommand,
70
72
  ListObjectsCommand,
71
73
  ListObjectsV2Command,
@@ -115,9 +117,9 @@ export const makeS3Service = Effect.gen(function* (_) {
115
117
  const client = yield* _(S3ClientInstance);
116
118
  const catchErrors = (e) => {
117
119
  if (e instanceof S3ServiceException) {
118
- return S3ServiceError({
120
+ const ServiceException = Data.tagged(e.name);
121
+ return ServiceException({
119
122
  ...e,
120
- name: "S3ServiceError",
121
123
  message: e.message,
122
124
  stack: e.stack,
123
125
  });
@@ -132,7 +134,7 @@ export const makeS3Service = Effect.gen(function* (_) {
132
134
  }
133
135
  throw e;
134
136
  };
135
- return ReadonlyRecord.toEntries(commands).reduce((acc, [command]) => {
137
+ return Record.toEntries(commands).reduce((acc, [command]) => {
136
138
  const CommandCtor = commands[command];
137
139
  const methodImpl = (args, options) => (options === null || options === void 0 ? void 0 : options.presigned)
138
140
  ? Effect.tryPromise({
@@ -162,20 +164,4 @@ export const S3ServiceLayer = BaseS3ServiceLayer.pipe(Layer.provide(S3ClientInst
162
164
  * @category layers
163
165
  */
164
166
  export const DefaultS3ServiceLayer = S3ServiceLayer.pipe(Layer.provide(DefaultS3ClientConfigLayer));
165
- // -------------------- Danger Zone --------------------
166
- /**
167
- * @since 0.1.0
168
- * @deprecated
169
- */
170
- export const BaseS3ServiceEffect = makeS3Service;
171
- /**
172
- * @since 0.1.0
173
- * @deprecated
174
- */
175
- export const S3ServiceEffect = BaseS3ServiceEffect.pipe(Effect.provide(S3ClientInstanceLayer));
176
- /**
177
- * @since 0.1.0
178
- * @deprecated
179
- */
180
- export const DefaultS3ServiceEffect = BaseS3ServiceEffect.pipe(Effect.provide(DefaultS3ClientInstanceLayer));
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1MzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCwyQkFBMkIsRUFHM0IsOEJBQThCLEVBRzlCLGlCQUFpQixFQUdqQixtQkFBbUIsRUFHbkIsNEJBQTRCLEVBRzVCLHlDQUF5QyxFQUd6QyxtQkFBbUIsRUFHbkIsdUJBQXVCLEVBR3ZCLDZCQUE2QixFQUc3QixrREFBa0QsRUFHbEQseUNBQXlDLEVBR3pDLDRCQUE0QixFQUc1Qix1Q0FBdUMsRUFHdkMsb0NBQW9DLEVBR3BDLHlCQUF5QixFQUd6Qiw4QkFBOEIsRUFHOUIsMEJBQTBCLEVBRzFCLDBCQUEwQixFQUcxQixtQkFBbUIsRUFHbkIsb0JBQW9CLEVBR3BCLDBCQUEwQixFQUcxQiw4QkFBOEIsRUFHOUIsdUNBQXVDLEVBR3ZDLG1CQUFtQixFQUduQixzQ0FBc0MsRUFHdEMsb0JBQW9CLEVBR3BCLDBCQUEwQixFQUcxQiwrQ0FBK0MsRUFHL0Msc0NBQXNDLEVBR3RDLHNDQUFzQyxFQUd0Qyx3QkFBd0IsRUFHeEIsdUJBQXVCLEVBR3ZCLG9DQUFvQyxFQUdwQyx5Q0FBeUMsRUFHekMsaUNBQWlDLEVBR2pDLHNCQUFzQixFQUd0Qiw0QkFBNEIsRUFHNUIsMkJBQTJCLEVBRzNCLDhCQUE4QixFQUc5Qix1QkFBdUIsRUFHdkIsMEJBQTBCLEVBRzFCLHVCQUF1QixFQUd2QixtQkFBbUIsRUFHbkIsMEJBQTBCLEVBRzFCLGdCQUFnQixFQUdoQix5QkFBeUIsRUFHekIsaUNBQWlDLEVBR2pDLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsdUJBQXVCLEVBR3ZCLDJCQUEyQixFQUczQixpQkFBaUIsRUFHakIsaUJBQWlCLEVBR2pCLHdDQUF3QyxFQUd4QyxpREFBaUQsRUFHakQsd0NBQXdDLEVBR3hDLHNDQUFzQyxFQUd0QyxrQkFBa0IsRUFHbEIsMkJBQTJCLEVB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QUFjLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQ3JDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQzFDLENBQUM7QUFFRix3REFBd0Q7QUFFeEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsYUFBYSxDQUFDO0FBRWpEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3JELE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FDdEMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDNUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIENvcHlPYmplY3RDb21tYW5kLFxuICBDb3B5T2JqZWN0Q29tbWFuZElucHV0LFxuICBDb3B5T2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQnVja2V0Q29tbWFuZCxcbiAgQ3JlYXRlQnVja2V0Q29tbWFuZElucHV0LFxuICBDcmVhdGVCdWNrZXRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kSW5wdXQsXG4gIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0Q29tbWFuZCxcbiAgRGVsZXRlQnVja2V0Q29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlT2JqZWN0Q29tbWFuZCxcbiAgRGVsZXRlT2JqZWN0Q29tbWFuZElucHV0LFxuICBEZWxldGVPYmplY3RDb21tYW5kT3V0cHV0LFxuICBEZWxldGVPYmplY3RzQ29tbWFuZCxcbiAgRGVsZXRlT2JqZWN0c0NvbW1hbmRJbnB1dCxcbiAgRGVsZXRlT2JqZWN0c0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEFjbENvbW1hbmQsXG4gIEdldEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0QWNsQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgR2V0QnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZCxcbiAgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIEdldEJ1Y2tldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZCxcbiAgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZCxcbiAgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZE91dHB1dCxcbiAgR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmQsXG4gIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZCxcbiAgR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCxcbiAgR2V0T2JqZWN0QWNsQ29tbWFuZCxcbiAgR2V0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICBHZXRPYmplY3RBY2xDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0T2JqZWN0QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgR2V0T2JqZWN0QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdENvbW1hbmQsXG4gIEdldE9iamVjdENvbW1hbmRJbnB1dCxcbiAgR2V0T2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZCxcbiAgR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmQsXG4gIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmRJbnB1dCxcbiAgR2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0T2JqZWN0VGFnZ2luZ0NvbW1hbmQsXG4gIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RUb3JyZW50Q29tbWFuZCxcbiAgR2V0T2JqZWN0VG9ycmVudENvbW1hbmRJbnB1dCxcbiAgR2V0T2JqZWN0VG9ycmVudENvbW1hbmRPdXRwdXQsXG4gIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZE91dHB1dCxcbiAgSGVhZEJ1Y2tldENvbW1hbmQsXG4gIEhlYWRCdWNrZXRDb21tYW5kSW5wdXQsXG4gIEhlYWRCdWNrZXRDb21tYW5kT3V0cHV0LFxuICBIZWFkT2JqZWN0Q29tbWFuZCxcbiAgSGVhZE9iamVjdENvbW1hbmRJbnB1dCxcbiAgSGVhZE9iamVjdENvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmQsXG4gIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgTGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdEJ1Y2tldHNDb21tYW5kLFxuICBMaXN0QnVja2V0c0NvbW1hbmRJbnB1dCxcbiAgTGlzdEJ1Y2tldHNDb21tYW5kT3V0cHV0LFxuICBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmQsXG4gIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZElucHV0LFxuICBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RPYmplY3RzQ29tbWFuZCxcbiAgTGlzdE9iamVjdHNDb21tYW5kSW5wdXQsXG4gIExpc3RPYmplY3RzQ29tbWFuZE91dHB1dCxcbiAgTGlzdE9iamVjdHNWMkNvbW1hbmQsXG4gIExpc3RPYmplY3RzVjJDb21tYW5kSW5wdXQsXG4gIExpc3RPYmplY3RzVjJDb21tYW5kT3V0cHV0LFxuICBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kLFxuICBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RQYXJ0c0NvbW1hbmQsXG4gIExpc3RQYXJ0c0NvbW1hbmRJbnB1dCxcbiAgTGlzdFBhcnRzQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRBY2xDb21tYW5kLFxuICBQdXRCdWNrZXRBY2xDb21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldEFjbENvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0Q29yc0NvbW1hbmQsXG4gIFB1dEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldENvcnNDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0UG9saWN5Q29tbWFuZCxcbiAgUHV0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZCxcbiAgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZE91dHB1dCxcbiAgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmQsXG4gIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZCxcbiAgUHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRJbnB1dCxcbiAgUHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsXG4gIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCxcbiAgUHV0T2JqZWN0QWNsQ29tbWFuZCxcbiAgUHV0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICBQdXRPYmplY3RBY2xDb21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RDb21tYW5kLFxuICBQdXRPYmplY3RDb21tYW5kSW5wdXQsXG4gIFB1dE9iamVjdENvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmQsXG4gIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmRJbnB1dCxcbiAgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZE91dHB1dCxcbiAgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kLFxuICBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kSW5wdXQsXG4gIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXQsXG4gIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kLFxuICBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZE91dHB1dCxcbiAgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICBSZXN0b3JlT2JqZWN0Q29tbWFuZCxcbiAgUmVzdG9yZU9iamVjdENvbW1hbmRJbnB1dCxcbiAgUmVzdG9yZU9iamVjdENvbW1hbmRPdXRwdXQsXG4gIFMzU2VydmljZUV4Y2VwdGlvbixcbiAgU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmQsXG4gIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kSW5wdXQsXG4gIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRQYXJ0Q29tbWFuZCxcbiAgVXBsb2FkUGFydENvbW1hbmRJbnB1dCxcbiAgVXBsb2FkUGFydENvbW1hbmRPdXRwdXQsXG4gIFVwbG9hZFBhcnRDb3B5Q29tbWFuZCxcbiAgVXBsb2FkUGFydENvcHlDb21tYW5kSW5wdXQsXG4gIFVwbG9hZFBhcnRDb3B5Q29tbWFuZE91dHB1dCxcbiAgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmQsXG4gIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kSW5wdXQsXG4gIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgeyBnZXRTaWduZWRVcmwgfSBmcm9tIFwiQGF3cy1zZGsvczMtcmVxdWVzdC1wcmVzaWduZXJcIjtcbmltcG9ydCB7XG4gIEh0dHBIYW5kbGVyT3B0aW9ucyBhcyBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgUmVxdWVzdFByZXNpZ25pbmdBcmd1bWVudHMsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCwgRWZmZWN0LCBMYXllciwgUmVhZG9ubHlSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQgeyBTM1NlcnZpY2VFcnJvciwgU2RrRXJyb3IgfSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTM0NsaWVudEluc3RhbmNlTGF5ZXIsXG4gIFMzQ2xpZW50SW5zdGFuY2UsXG4gIFMzQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vUzNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFMzQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9TM0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgQ29weU9iamVjdENvbW1hbmQsXG4gIENyZWF0ZUJ1Y2tldENvbW1hbmQsXG4gIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldENvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBEZWxldGVPYmplY3RDb21tYW5kLFxuICBEZWxldGVPYmplY3RzQ29tbWFuZCxcbiAgRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmQsXG4gIERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRBY2xDb21tYW5kLFxuICBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0Q29yc0NvbW1hbmQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIEdldEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmQsXG4gIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kLFxuICBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmQsXG4gIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBHZXRPYmplY3RDb21tYW5kLFxuICBHZXRPYmplY3RBY2xDb21tYW5kLFxuICBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZCxcbiAgR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kLFxuICBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgR2V0T2JqZWN0VG9ycmVudENvbW1hbmQsXG4gIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgSGVhZEJ1Y2tldENvbW1hbmQsXG4gIEhlYWRPYmplY3RDb21tYW5kLFxuICBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgTGlzdEJ1Y2tldHNDb21tYW5kLFxuICBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmQsXG4gIExpc3RPYmplY3RzQ29tbWFuZCxcbiAgTGlzdE9iamVjdHNWMkNvbW1hbmQsXG4gIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmQsXG4gIExpc3RQYXJ0c0NvbW1hbmQsXG4gIFB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0QWNsQ29tbWFuZCxcbiAgUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldENvcnNDb21tYW5kLFxuICBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmQsXG4gIFB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZCxcbiAgUHV0QnVja2V0UG9saWN5Q29tbWFuZCxcbiAgUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmQsXG4gIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kLFxuICBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZCxcbiAgUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmQsXG4gIFB1dE9iamVjdENvbW1hbmQsXG4gIFB1dE9iamVjdEFjbENvbW1hbmQsXG4gIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmQsXG4gIFB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZCxcbiAgUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmQsXG4gIFB1dFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgUmVzdG9yZU9iamVjdENvbW1hbmQsXG4gIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kLFxuICBVcGxvYWRQYXJ0Q29tbWFuZCxcbiAgVXBsb2FkUGFydENvcHlDb21tYW5kLFxuICBXcml0ZUdldE9iamVjdFJlc3BvbnNlQ29tbWFuZCxcbn07XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgYWJvcnRNdWx0aXBhcnRVcGxvYWQ6IChcbiAgICBhcmdzOiBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjb21wbGV0ZU11bHRpcGFydFVwbG9hZDogKFxuICAgIGFyZ3M6IENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlPYmplY3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY29weU9iamVjdDogKFxuICAgIGFyZ3M6IENvcHlPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8Q29weU9iamVjdENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVCdWNrZXRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQnVja2V0OiAoXG4gICAgYXJnczogQ3JlYXRlQnVja2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PENyZWF0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlTXVsdGlwYXJ0VXBsb2FkOiAoXG4gICAgYXJnczogQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0OiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PERlbGV0ZUJ1Y2tldENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0Q29yc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVCdWNrZXRDb3JzOiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxEZWxldGVCdWNrZXRDb3JzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0RW5jcnlwdGlvbjogKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVCdWNrZXRMaWZlY3ljbGU6IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHM6IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0UG9saWN5OiAoXG4gICAgYXJnczogRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVCdWNrZXRSZXBsaWNhdGlvbjogKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnVja2V0VGFnZ2luZzogKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJ1Y2tldFdlYnNpdGU6IChcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZU9iamVjdDogKFxuICAgIGFyZ3M6IERlbGV0ZU9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxEZWxldGVPYmplY3RDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT2JqZWN0c0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVPYmplY3RzOiAoXG4gICAgYXJnczogRGVsZXRlT2JqZWN0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxEZWxldGVPYmplY3RzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlT2JqZWN0VGFnZ2luZzogKFxuICAgIGFyZ3M6IERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVQdWJsaWNBY2Nlc3NCbG9jazogKFxuICAgIGFyZ3M6IERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0QWNsQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldEFjbDogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRBY2xDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogR2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldENvcnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0Q29yczogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8R2V0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldEVuY3J5cHRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogR2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbjogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0TG9jYXRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldExvZ2dpbmc6IChcbiAgICBhcmdzOiBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHM6IChcbiAgICBhcmdzOiBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0UG9saWN5OiAoXG4gICAgYXJnczogR2V0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldFBvbGljeUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0UG9saWN5U3RhdHVzOiAoXG4gICAgYXJnczogR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRCdWNrZXRSZXBsaWNhdGlvbjogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldFJlcXVlc3RQYXltZW50OiAoXG4gICAgYXJnczogR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRCdWNrZXRUYWdnaW5nOiAoXG4gICAgYXJnczogR2V0QnVja2V0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVja2V0VmVyc2lvbmluZzogKFxuICAgIGFyZ3M6IEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldEJ1Y2tldFdlYnNpdGU6IChcbiAgICBhcmdzOiBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldE9iamVjdDoge1xuICAgIChcbiAgICAgIGFyZ3M6IEdldE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICAgIG9wdGlvbnM/OiB7IHJlYWRvbmx5IHByZXNpZ25lZD86IGZhbHNlIH0gJiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgICApOiBFZmZlY3QuRWZmZWN0PEdldE9iamVjdENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuICAgIChcbiAgICAgIGFyZ3M6IEdldE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICAgIG9wdGlvbnM/OiB7IHJlYWRvbmx5IHByZXNpZ25lZDogdHJ1ZSB9ICYgUmVxdWVzdFByZXNpZ25pbmdBcmd1bWVudHMsXG4gICAgKTogRWZmZWN0LkVmZmVjdDxzdHJpbmcsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuICB9O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RBY2xDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0T2JqZWN0QWNsOiAoXG4gICAgYXJnczogR2V0T2JqZWN0QWNsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PEdldE9iamVjdEFjbENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldE9iamVjdEF0dHJpYnV0ZXM6IChcbiAgICBhcmdzOiBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldE9iamVjdExlZ2FsSG9sZDogKFxuICAgIGFyZ3M6IEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0T2JqZWN0UmV0ZW50aW9uOiAoXG4gICAgYXJnczogR2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldE9iamVjdFRhZ2dpbmc6IChcbiAgICBhcmdzOiBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PEdldE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0VG9ycmVudENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBnZXRPYmplY3RUb3JyZW50OiAoXG4gICAgYXJnczogR2V0T2JqZWN0VG9ycmVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxHZXRPYmplY3RUb3JyZW50Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGdldFB1YmxpY0FjY2Vzc0Jsb2NrOiAoXG4gICAgYXJnczogR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSGVhZEJ1Y2tldENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBoZWFkQnVja2V0OiAoXG4gICAgYXJnczogSGVhZEJ1Y2tldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxIZWFkQnVja2V0Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEhlYWRPYmplY3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgaGVhZE9iamVjdDogKFxuICAgIGFyZ3M6IEhlYWRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8SGVhZE9iamVjdENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zOiAoXG4gICAgYXJnczogTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zOiAoXG4gICAgYXJnczogTGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zOiAoXG4gICAgYXJnczogTGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnM6IChcbiAgICBhcmdzOiBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdEJ1Y2tldHM6IChcbiAgICBhcmdzOiBMaXN0QnVja2V0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxMaXN0QnVja2V0c0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBsaXN0TXVsdGlwYXJ0VXBsb2FkczogKFxuICAgIGFyZ3M6IExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPYmplY3RzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RPYmplY3RzOiAoXG4gICAgYXJnczogTGlzdE9iamVjdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8TGlzdE9iamVjdHNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9iamVjdHNWMkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBsaXN0T2JqZWN0c1YyOiAoXG4gICAgYXJnczogTGlzdE9iamVjdHNWMkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxMaXN0T2JqZWN0c1YyQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBsaXN0T2JqZWN0VmVyc2lvbnM6IChcbiAgICBhcmdzOiBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RQYXJ0c0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBsaXN0UGFydHM6IChcbiAgICBhcmdzOiBMaXN0UGFydHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8TGlzdFBhcnRzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0QWNsQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldEFjbDogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRBY2xDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldENvcnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0Q29yczogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldEVuY3J5cHRpb246IChcbiAgICBhcmdzOiBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbjogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRMb2dnaW5nOiAoXG4gICAgYXJnczogUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiAoXG4gICAgYXJnczogUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzOiAoXG4gICAgYXJnczogUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldFBvbGljeTogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0UmVwbGljYXRpb246IChcbiAgICBhcmdzOiBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRSZXF1ZXN0UGF5bWVudDogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0QnVja2V0VGFnZ2luZzogKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dEJ1Y2tldFZlcnNpb25pbmc6IChcbiAgICBhcmdzOiBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRCdWNrZXRXZWJzaXRlOiAoXG4gICAgYXJnczogUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXRPYmplY3Q6IHtcbiAgICAoXG4gICAgICBhcmdzOiBQdXRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgICBvcHRpb25zPzogeyByZWFkb25seSBwcmVzaWduZWQ/OiBmYWxzZSB9ICYgX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICAgKTogRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcbiAgICAoXG4gICAgICBhcmdzOiBQdXRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgICBvcHRpb25zPzogeyByZWFkb25seSBwcmVzaWduZWQ6IHRydWUgfSAmIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzLFxuICAgICk6IEVmZmVjdC5FZmZlY3Q8c3RyaW5nLCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcbiAgfTtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0QWNsQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dE9iamVjdEFjbDogKFxuICAgIGFyZ3M6IFB1dE9iamVjdEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RBY2xDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dE9iamVjdExlZ2FsSG9sZDogKFxuICAgIGFyZ3M6IFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0T2JqZWN0UmV0ZW50aW9uOiAoXG4gICAgYXJnczogUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1dE9iamVjdFRhZ2dpbmc6IChcbiAgICBhcmdzOiBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcHV0UHVibGljQWNjZXNzQmxvY2s6IChcbiAgICBhcmdzOiBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXN0b3JlT2JqZWN0Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlc3RvcmVPYmplY3Q6IChcbiAgICBhcmdzOiBSZXN0b3JlT2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFJlc3RvcmVPYmplY3RDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBzZWxlY3RPYmplY3RDb250ZW50OiAoXG4gICAgYXJnczogU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwbG9hZFBhcnRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgdXBsb2FkUGFydDogKFxuICAgIGFyZ3M6IFVwbG9hZFBhcnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8VXBsb2FkUGFydENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRQYXJ0Q29weUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSB1cGxvYWRQYXJ0Q29weTogKFxuICAgIGFyZ3M6IFVwbG9hZFBhcnRDb3B5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFVwbG9hZFBhcnRDb3B5Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgd3JpdGVHZXRPYmplY3RSZXNwb25zZTogKFxuICAgIGFyZ3M6IFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IFMzU2VydmljZSA9IENvbnRleHQuR2VuZXJpY1RhZzxTM1NlcnZpY2U+KFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zMy9TM1NlcnZpY2VcIixcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlUzNTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oUzNDbGllbnRJbnN0YW5jZSk7XG5cbiAgY29uc3QgY2F0Y2hFcnJvcnMgPSAoZTogdW5rbm93bikgPT4ge1xuICAgIGlmIChlIGluc3RhbmNlb2YgUzNTZXJ2aWNlRXhjZXB0aW9uKSB7XG4gICAgICByZXR1cm4gUzNTZXJ2aWNlRXJyb3Ioe1xuICAgICAgICAuLi5lLFxuICAgICAgICBuYW1lOiBcIlMzU2VydmljZUVycm9yXCIsXG4gICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgLi4uZSxcbiAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH07XG5cbiAgcmV0dXJuIFJlYWRvbmx5UmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoXG4gICAgICBhcmdzOiBhbnksXG4gICAgICBvcHRpb25zPzpcbiAgICAgICAgfCAoeyByZWFkb25seSBwcmVzaWduZWQ/OiBmYWxzZSB9ICYgX19IdHRwSGFuZGxlck9wdGlvbnMpXG4gICAgICAgIHwgKHsgcmVhZG9ubHkgcHJlc2lnbmVkOiB0cnVlIH0gJiBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyksXG4gICAgKSA9PlxuICAgICAgb3B0aW9ucz8ucHJlc2lnbmVkXG4gICAgICAgID8gRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICAgICAgdHJ5OiAoKSA9PlxuICAgICAgICAgICAgICBnZXRTaWduZWRVcmwoY2xpZW50IGFzIGFueSwgbmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zKSxcbiAgICAgICAgICAgIGNhdGNoOiBjYXRjaEVycm9ycyxcbiAgICAgICAgICB9KVxuICAgICAgICA6IEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zKSxcbiAgICAgICAgICAgIGNhdGNoOiBjYXRjaEVycm9ycyxcbiAgICAgICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTM1NlcnZpY2U7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VTM1NlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChTM1NlcnZpY2UsIG1ha2VTM1NlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgUzNTZXJ2aWNlTGF5ZXIgPSBCYXNlUzNTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShTM0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTM1NlcnZpY2VMYXllciA9IFMzU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFMzQ2xpZW50Q29uZmlnTGF5ZXIpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gRGFuZ2VyIFpvbmUgLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlUzNTZXJ2aWNlRWZmZWN0ID0gbWFrZVMzU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBTM1NlcnZpY2VFZmZlY3QgPSBCYXNlUzNTZXJ2aWNlRWZmZWN0LnBpcGUoXG4gIEVmZmVjdC5wcm92aWRlKFMzQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAwLjEuMFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTM1NlcnZpY2VFZmZlY3QgPSBCYXNlUzNTZXJ2aWNlRWZmZWN0LnBpcGUoXG4gIEVmZmVjdC5wcm92aWRlKERlZmF1bHRTM0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcbiJdfQ==
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1MzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsMkJBQTJCLEVBRzNCLDhCQUE4QixFQUc5QixpQkFBaUIsRUFHakIsbUJBQW1CLEVBR25CLDRCQUE0QixFQUc1QixvQkFBb0IsRUFHcEIsbUJBQW1CLEVBR25CLHlDQUF5QyxFQUd6Qyx1QkFBdUIsRUFHdkIsNkJBQTZCLEVBRzdCLGtEQUFrRCxFQUdsRCx5Q0FBeUMsRUFHekMsNEJBQTRCLEVBRzVCLHVDQUF1QyxFQUd2QyxvQ0FBb0MsRUFHcEMseUJBQXlCLEVBR3pCLDhCQUE4QixFQUc5QiwwQkFBMEIsRUFHMUIsMEJBQTBCLEVBRzFCLG1CQUFtQixFQUduQixvQkFBb0IsRUFHcEIsMEJBQTBCLEVBRzFCLDhCQUE4QixFQUc5Qix1Q0FBdUMsRUFHdkMsbUJBQW1CLEVBR25CLHNDQUFzQyxFQUd0QyxvQkFBb0IsRUFHcEIsMEJBQTBCLEVBRzFCLCtDQUErQyxFQUcvQyxzQ0FBc0MsRUFHdEMsc0NBQXNDLEVBR3RDLHdCQUF3QixFQUd4Qix1QkFBdUIsRUFHdkIsb0NBQW9DLEVBR3BDLHlDQUF5QyxFQUd6QyxpQ0FBaUMsRUFHakMsc0JBQXNCLEVBR3RCLDRCQUE0QixFQUc1QiwyQkFBMkIsRUFHM0IsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2QiwwQkFBMEIsRUFHMUIsdUJBQXVCLEVBR3ZCLGdCQUFnQixFQUdoQixtQkFBbUIsRUFHbkIsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6QixpQ0FBaUMsRUFHakMseUJBQXlCLEVBR3pCLHVCQUF1QixFQUd2Qix1QkFBdUIsRUFHdkIsMkJBQTJCLEVBRzNCLGlCQUFpQixFQUdqQixpQkFBaUIsRUFHakIsd0NBQXdDLEVBR3hDLGlEQUFpRCxFQUdqRCx3Q0FBd0MsRUFHeEMsc0NBQXNDLEVB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TSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFekU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FDbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUNyQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FDdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgUzNTZXJ2aWNlRXhjZXB0aW9uLFxuICBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIHR5cGUgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQsXG4gIHR5cGUgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICBDb3B5T2JqZWN0Q29tbWFuZCxcbiAgdHlwZSBDb3B5T2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlPYmplY3RDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVCdWNrZXRDb21tYW5kLFxuICB0eXBlIENyZWF0ZUJ1Y2tldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVCdWNrZXRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICB0eXBlIENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXNzaW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZXNzaW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlc3Npb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVPYmplY3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9iamVjdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVPYmplY3RDb21tYW5kT3V0cHV0LFxuICBEZWxldGVPYmplY3RzQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVPYmplY3RzQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU9iamVjdHNDb21tYW5kT3V0cHV0LFxuICBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBEZWxldGVQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRBY2xDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRBY2xDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRDb3JzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldENvcnNDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kLFxuICB0eXBlIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmQsXG4gIHR5cGUgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZCxcbiAgdHlwZSBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRPYmplY3RDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RBY2xDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdEFjbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRPYmplY3RBY2xDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgdHlwZSBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kLFxuICB0eXBlIEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kLFxuICB0eXBlIEdldE9iamVjdFJldGVudGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgdHlwZSBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBHZXRPYmplY3RUb3JyZW50Q29tbWFuZCxcbiAgdHlwZSBHZXRPYmplY3RUb3JyZW50Q29tbWFuZElucHV0LFxuICB0eXBlIEdldE9iamVjdFRvcnJlbnRDb21tYW5kT3V0cHV0LFxuICBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmQsXG4gIHR5cGUgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICBIZWFkQnVja2V0Q29tbWFuZCxcbiAgdHlwZSBIZWFkQnVja2V0Q29tbWFuZElucHV0LFxuICB0eXBlIEhlYWRCdWNrZXRDb21tYW5kT3V0cHV0LFxuICBIZWFkT2JqZWN0Q29tbWFuZCxcbiAgdHlwZSBIZWFkT2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIEhlYWRPYmplY3RDb21tYW5kT3V0cHV0LFxuICBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0QnVja2V0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdEJ1Y2tldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEJ1Y2tldHNDb21tYW5kT3V0cHV0LFxuICBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdERpcmVjdG9yeUJ1Y2tldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdERpcmVjdG9yeUJ1Y2tldHNDb21tYW5kT3V0cHV0LFxuICBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmQsXG4gIHR5cGUgTGlzdE11bHRpcGFydFVwbG9hZHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE11bHRpcGFydFVwbG9hZHNDb21tYW5kT3V0cHV0LFxuICBMaXN0T2JqZWN0c0NvbW1hbmQsXG4gIHR5cGUgTGlzdE9iamVjdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdE9iamVjdHNDb21tYW5kT3V0cHV0LFxuICBMaXN0T2JqZWN0c1YyQ29tbWFuZCxcbiAgdHlwZSBMaXN0T2JqZWN0c1YyQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RPYmplY3RzVjJDb21tYW5kT3V0cHV0LFxuICBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0UGFydHNDb21tYW5kLFxuICB0eXBlIExpc3RQYXJ0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UGFydHNDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRBY2xDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRBY2xDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRDb3JzQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRDb3JzQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldENvcnNDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldExvZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmQsXG4gIHR5cGUgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kT3V0cHV0LFxuICBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZCxcbiAgdHlwZSBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEJ1Y2tldFdlYnNpdGVDb21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RDb21tYW5kLFxuICB0eXBlIFB1dE9iamVjdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRPYmplY3RDb21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RBY2xDb21tYW5kLFxuICB0eXBlIFB1dE9iamVjdEFjbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRPYmplY3RBY2xDb21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kLFxuICB0eXBlIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kLFxuICB0eXBlIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgdHlwZSBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LFxuICBQdXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmQsXG4gIHR5cGUgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kT3V0cHV0LFxuICBSZXN0b3JlT2JqZWN0Q29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlT2JqZWN0Q29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVPYmplY3RDb21tYW5kT3V0cHV0LFxuICBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZCxcbiAgdHlwZSBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZElucHV0LFxuICB0eXBlIFNlbGVjdE9iamVjdENvbnRlbnRDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRQYXJ0Q29tbWFuZCxcbiAgdHlwZSBVcGxvYWRQYXJ0Q29tbWFuZElucHV0LFxuICB0eXBlIFVwbG9hZFBhcnRDb21tYW5kT3V0cHV0LFxuICBVcGxvYWRQYXJ0Q29weUNvbW1hbmQsXG4gIHR5cGUgVXBsb2FkUGFydENvcHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBsb2FkUGFydENvcHlDb21tYW5kT3V0cHV0LFxuICBXcml0ZUdldE9iamVjdFJlc3BvbnNlQ29tbWFuZCxcbiAgdHlwZSBXcml0ZUdldE9iamVjdFJlc3BvbnNlQ29tbWFuZElucHV0LFxuICB0eXBlIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgeyBnZXRTaWduZWRVcmwgfSBmcm9tIFwiQGF3cy1zZGsvczMtcmVxdWVzdC1wcmVzaWduZXJcIjtcbmltcG9ydCB7XG4gIHR5cGUgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBCdWNrZXRBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEJ1Y2tldEFscmVhZHlPd25lZEJ5WW91RXJyb3IsXG4gIEludmFsaWRPYmplY3RTdGF0ZUVycm9yLFxuICBOb1N1Y2hCdWNrZXRFcnJvcixcbiAgTm9TdWNoS2V5RXJyb3IsXG4gIE5vU3VjaFVwbG9hZEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBPYmplY3RBbHJlYWR5SW5BY3RpdmVUaWVyRXJyb3IsXG4gIE9iamVjdE5vdEluQWN0aXZlVGllckVycm9yLFxuICBTM1NlcnZpY2VFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5pbXBvcnQgeyBTM0NsaWVudEluc3RhbmNlLCBTM0NsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9TM0NsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0UzNDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL1MzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFib3J0TXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kLFxuICBDb3B5T2JqZWN0Q29tbWFuZCxcbiAgQ3JlYXRlQnVja2V0Q29tbWFuZCxcbiAgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgQ3JlYXRlU2Vzc2lvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldENvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRDb3JzQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBEZWxldGVCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGVsZXRlQnVja2V0VGFnZ2luZ0NvbW1hbmQsXG4gIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBEZWxldGVPYmplY3RDb21tYW5kLFxuICBEZWxldGVPYmplY3RzQ29tbWFuZCxcbiAgRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmQsXG4gIERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgR2V0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRBY2xDb21tYW5kLFxuICBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0Q29yc0NvbW1hbmQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExvZ2dpbmdDb21tYW5kLFxuICBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRCdWNrZXRPd25lcnNoaXBDb250cm9sc0NvbW1hbmQsXG4gIEdldEJ1Y2tldFBvbGljeUNvbW1hbmQsXG4gIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmQsXG4gIEdldEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZCxcbiAgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kLFxuICBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZCxcbiAgR2V0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmQsXG4gIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kLFxuICBHZXRPYmplY3RDb21tYW5kLFxuICBHZXRPYmplY3RBY2xDb21tYW5kLFxuICBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgR2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZCxcbiAgR2V0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kLFxuICBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgR2V0T2JqZWN0VG9ycmVudENvbW1hbmQsXG4gIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZCxcbiAgSGVhZEJ1Y2tldENvbW1hbmQsXG4gIEhlYWRPYmplY3RDb21tYW5kLFxuICBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kLFxuICBMaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZCxcbiAgTGlzdEJ1Y2tldHNDb21tYW5kLFxuICBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmQsXG4gIExpc3RNdWx0aXBhcnRVcGxvYWRzQ29tbWFuZCxcbiAgTGlzdE9iamVjdHNDb21tYW5kLFxuICBMaXN0T2JqZWN0c1YyQ29tbWFuZCxcbiAgTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZCxcbiAgTGlzdFBhcnRzQ29tbWFuZCxcbiAgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRBY2xDb21tYW5kLFxuICBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0Q29yc0NvbW1hbmQsXG4gIFB1dEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZCxcbiAgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29tbWFuZCxcbiAgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kLFxuICBQdXRCdWNrZXRQb2xpY3lDb21tYW5kLFxuICBQdXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZCxcbiAgUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmQsXG4gIFB1dEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kLFxuICBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZCxcbiAgUHV0T2JqZWN0Q29tbWFuZCxcbiAgUHV0T2JqZWN0QWNsQ29tbWFuZCxcbiAgUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZCxcbiAgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kLFxuICBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kLFxuICBSZXN0b3JlT2JqZWN0Q29tbWFuZCxcbiAgU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmQsXG4gIFVwbG9hZFBhcnRDb21tYW5kLFxuICBVcGxvYWRQYXJ0Q29weUNvbW1hbmQsXG4gIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kLFxufTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM1NlcnZpY2Uge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmR9XG4gICAqL1xuICBhYm9ydE11bHRpcGFydFVwbG9hZChcbiAgICBhcmdzOiBBYm9ydE11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWJvcnRNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgTm9TdWNoVXBsb2FkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kfVxuICAgKi9cbiAgY29tcGxldGVNdWx0aXBhcnRVcGxvYWQoXG4gICAgYXJnczogQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlPYmplY3RDb21tYW5kfVxuICAgKi9cbiAgY29weU9iamVjdChcbiAgICBhcmdzOiBDb3B5T2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb3B5T2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE9iamVjdE5vdEluQWN0aXZlVGllckVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUJ1Y2tldENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVCdWNrZXQoXG4gICAgYXJnczogQ3JlYXRlQnVja2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVCdWNrZXRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQnVja2V0QWxyZWFkeUV4aXN0c0Vycm9yIHwgQnVja2V0QWxyZWFkeU93bmVkQnlZb3VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlTXVsdGlwYXJ0VXBsb2FkKFxuICAgIGFyZ3M6IENyZWF0ZU11bHRpcGFydFVwbG9hZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlc3Npb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2Vzc2lvbihcbiAgICBhcmdzOiBDcmVhdGVTZXNzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxDcmVhdGVTZXNzaW9uQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb1N1Y2hCdWNrZXRFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXQoXG4gICAgYXJnczogRGVsZXRlQnVja2V0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVCdWNrZXRDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0Q29yc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRDb3JzKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZUJ1Y2tldENvcnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0RW5jcnlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRFbmNyeXB0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0TGlmZWN5Y2xlQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUJ1Y2tldExpZmVjeWNsZShcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRMaWZlY3ljbGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldExpZmVjeWNsZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHMoXG4gICAgYXJnczogRGVsZXRlQnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVCdWNrZXRQb2xpY3koXG4gICAgYXJnczogRGVsZXRlQnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0UmVwbGljYXRpb24oXG4gICAgYXJnczogRGVsZXRlQnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0VGFnZ2luZyhcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVCdWNrZXRUYWdnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJ1Y2tldFdlYnNpdGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQnVja2V0V2Vic2l0ZShcbiAgICBhcmdzOiBEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZU9iamVjdENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVPYmplY3QoXG4gICAgYXJnczogRGVsZXRlT2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVPYmplY3RDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT2JqZWN0c0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVPYmplY3RzKFxuICAgIGFyZ3M6IERlbGV0ZU9iamVjdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZU9iamVjdHNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT2JqZWN0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVPYmplY3RUYWdnaW5nKFxuICAgIGFyZ3M6IERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlbGV0ZU9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUHVibGljQWNjZXNzQmxvY2soXG4gICAgYXJnczogRGVsZXRlUHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEFjY2VsZXJhdGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRBY2xDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0QWNsKFxuICAgIGFyZ3M6IEdldEJ1Y2tldEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0QnVja2V0QWNsQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldENvcnNDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0Q29ycyhcbiAgICBhcmdzOiBHZXRCdWNrZXRDb3JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRDb3JzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0RW5jcnlwdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldExvY2F0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRMb2dnaW5nQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldExvZ2dpbmcoXG4gICAgYXJnczogR2V0QnVja2V0TG9nZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHMoXG4gICAgYXJnczogR2V0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRQb2xpY3koXG4gICAgYXJnczogR2V0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0UG9saWN5U3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGdldEJ1Y2tldFBvbGljeVN0YXR1cyhcbiAgICBhcmdzOiBHZXRCdWNrZXRQb2xpY3lTdGF0dXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldFBvbGljeVN0YXR1c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXRCdWNrZXRSZXBsaWNhdGlvbihcbiAgICBhcmdzOiBHZXRCdWNrZXRSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0QnVja2V0UmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0UmVxdWVzdFBheW1lbnQoXG4gICAgYXJnczogR2V0QnVja2V0UmVxdWVzdFBheW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0VGFnZ2luZyhcbiAgICBhcmdzOiBHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRUYWdnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFZlcnNpb25pbmdDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0VmVyc2lvbmluZyhcbiAgICBhcmdzOiBHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldEJ1Y2tldFdlYnNpdGVDb21tYW5kfVxuICAgKi9cbiAgZ2V0QnVja2V0V2Vic2l0ZShcbiAgICBhcmdzOiBHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRCdWNrZXRXZWJzaXRlQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdENvbW1hbmR9XG4gICAqL1xuICBnZXRPYmplY3QoXG4gICAgYXJnczogR2V0T2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiB7IHJlYWRvbmx5IHByZXNpZ25lZD86IGZhbHNlIH0gJiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRPYmplY3RDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZE9iamVjdFN0YXRlRXJyb3IgfCBOb1N1Y2hLZXlFcnJvclxuICA+O1xuICBnZXRPYmplY3QoXG4gICAgYXJnczogR2V0T2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiB7IHJlYWRvbmx5IHByZXNpZ25lZDogdHJ1ZSB9ICYgUmVxdWVzdFByZXNpZ25pbmdBcmd1bWVudHMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8c3RyaW5nLCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0T2JqZWN0QWNsQ29tbWFuZH1cbiAgICovXG4gIGdldE9iamVjdEFjbChcbiAgICBhcmdzOiBHZXRPYmplY3RBY2xDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEdldE9iamVjdEFjbENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgTm9TdWNoS2V5RXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGdldE9iamVjdEF0dHJpYnV0ZXMoXG4gICAgYXJnczogR2V0T2JqZWN0QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0T2JqZWN0QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgTm9TdWNoS2V5RXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RMZWdhbEhvbGRDb21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0TGVnYWxIb2xkKFxuICAgIGFyZ3M6IEdldE9iamVjdExlZ2FsSG9sZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldE9iamVjdExvY2tDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRPYmplY3RMb2NrQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRPYmplY3RSZXRlbnRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0UmV0ZW50aW9uKFxuICAgIGFyZ3M6IEdldE9iamVjdFJldGVudGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8R2V0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdFRhZ2dpbmdDb21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0VGFnZ2luZyhcbiAgICBhcmdzOiBHZXRPYmplY3RUYWdnaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRPYmplY3RUYWdnaW5nQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldE9iamVjdFRvcnJlbnRDb21tYW5kfVxuICAgKi9cbiAgZ2V0T2JqZWN0VG9ycmVudChcbiAgICBhcmdzOiBHZXRPYmplY3RUb3JyZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxHZXRPYmplY3RUb3JyZW50Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZH1cbiAgICovXG4gIGdldFB1YmxpY0FjY2Vzc0Jsb2NrKFxuICAgIGFyZ3M6IEdldFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRQdWJsaWNBY2Nlc3NCbG9ja0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBIZWFkQnVja2V0Q29tbWFuZH1cbiAgICovXG4gIGhlYWRCdWNrZXQoXG4gICAgYXJnczogSGVhZEJ1Y2tldENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8SGVhZEJ1Y2tldENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgTm90Rm91bmRFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEhlYWRPYmplY3RDb21tYW5kfVxuICAgKi9cbiAgaGVhZE9iamVjdChcbiAgICBhcmdzOiBIZWFkT2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxIZWFkT2JqZWN0Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb3RGb3VuZEVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9ucyhcbiAgICBhcmdzOiBMaXN0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnMoXG4gICAgYXJnczogTGlzdEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldE1ldHJpY3NDb25maWd1cmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25zKFxuICAgIGFyZ3M6IExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEJ1Y2tldHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEJ1Y2tldHMoXG4gICAgYXJnczogTGlzdEJ1Y2tldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RCdWNrZXRzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3REaXJlY3RvcnlCdWNrZXRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3REaXJlY3RvcnlCdWNrZXRzKFxuICAgIGFyZ3M6IExpc3REaXJlY3RvcnlCdWNrZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0RGlyZWN0b3J5QnVja2V0c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TXVsdGlwYXJ0VXBsb2FkcyhcbiAgICBhcmdzOiBMaXN0TXVsdGlwYXJ0VXBsb2Fkc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE11bHRpcGFydFVwbG9hZHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdE9iamVjdHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9iamVjdHMoXG4gICAgYXJnczogTGlzdE9iamVjdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RPYmplY3RzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb1N1Y2hCdWNrZXRFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPYmplY3RzVjJDb21tYW5kfVxuICAgKi9cbiAgbGlzdE9iamVjdHNWMihcbiAgICBhcmdzOiBMaXN0T2JqZWN0c1YyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0T2JqZWN0c1YyQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb1N1Y2hCdWNrZXRFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RPYmplY3RWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0T2JqZWN0VmVyc2lvbnMoXG4gICAgYXJnczogTGlzdE9iamVjdFZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0T2JqZWN0VmVyc2lvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFBhcnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RQYXJ0cyhcbiAgICBhcmdzOiBMaXN0UGFydHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RQYXJ0c0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRBY2NlbGVyYXRlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0QWNjZWxlcmF0ZUNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0QWNsQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldEFjbChcbiAgICBhcmdzOiBQdXRCdWNrZXRBY2xDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dEJ1Y2tldEFjbENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRBbmFseXRpY3NDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldEFuYWx5dGljc0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0QW5hbHl0aWNzQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRDb3JzQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldENvcnMoXG4gICAgYXJnczogUHV0QnVja2V0Q29yc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0Q29yc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldEVuY3J5cHRpb24oXG4gICAgYXJnczogUHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRJbnRlbGxpZ2VudFRpZXJpbmdDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldEludGVsbGlnZW50VGllcmluZ0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0SW50ZWxsaWdlbnRUaWVyaW5nQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRJbnZlbnRvcnlDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldEludmVudG9yeUNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0SW52ZW50b3J5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRMaWZlY3ljbGVDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldExpZmVjeWNsZUNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0TGlmZWN5Y2xlQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRMb2dnaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldExvZ2dpbmcoXG4gICAgYXJnczogUHV0QnVja2V0TG9nZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0TG9nZ2luZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBQdXRCdWNrZXRNZXRyaWNzQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0QnVja2V0TWV0cmljc0NvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHMoXG4gICAgYXJnczogUHV0QnVja2V0T3duZXJzaGlwQ29udHJvbHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldE93bmVyc2hpcENvbnRyb2xzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRCdWNrZXRQb2xpY3koXG4gICAgYXJnczogUHV0QnVja2V0UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRCdWNrZXRQb2xpY3lDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0QnVja2V0UmVwbGljYXRpb24oXG4gICAgYXJnczogUHV0QnVja2V0UmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEJ1Y2tldFJlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldFJlcXVlc3RQYXltZW50KFxuICAgIGFyZ3M6IFB1dEJ1Y2tldFJlcXVlc3RQYXltZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRCdWNrZXRSZXF1ZXN0UGF5bWVudENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRUYWdnaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldFRhZ2dpbmcoXG4gICAgYXJnczogUHV0QnVja2V0VGFnZ2luZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0VGFnZ2luZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRWZXJzaW9uaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldFZlcnNpb25pbmcoXG4gICAgYXJnczogUHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0VmVyc2lvbmluZ0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRCdWNrZXRXZWJzaXRlQ29tbWFuZH1cbiAgICovXG4gIHB1dEJ1Y2tldFdlYnNpdGUoXG4gICAgYXJnczogUHV0QnVja2V0V2Vic2l0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0QnVja2V0V2Vic2l0ZUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRPYmplY3RDb21tYW5kfVxuICAgKi9cbiAgcHV0T2JqZWN0KFxuICAgIGFyZ3M6IFB1dE9iamVjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogeyByZWFkb25seSBwcmVzaWduZWQ/OiBmYWxzZSB9ICYgX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0T2JqZWN0Q29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBTM1NlcnZpY2VFcnJvcj47XG4gIHB1dE9iamVjdChcbiAgICBhcmdzOiBQdXRPYmplY3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IHsgcmVhZG9ubHkgcHJlc2lnbmVkOiB0cnVlIH0gJiBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyxcbiAgKTogRWZmZWN0LkVmZmVjdDxzdHJpbmcsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRPYmplY3RBY2xDb21tYW5kfVxuICAgKi9cbiAgcHV0T2JqZWN0QWNsKFxuICAgIGFyZ3M6IFB1dE9iamVjdEFjbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8UHV0T2JqZWN0QWNsQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBOb1N1Y2hLZXlFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdExlZ2FsSG9sZENvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3RMZWdhbEhvbGQoXG4gICAgYXJnczogUHV0T2JqZWN0TGVnYWxIb2xkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RMZWdhbEhvbGRDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogUHV0T2JqZWN0TG9ja0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dE9iamVjdExvY2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dE9iamVjdFJldGVudGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3RSZXRlbnRpb24oXG4gICAgYXJnczogUHV0T2JqZWN0UmV0ZW50aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxQdXRPYmplY3RSZXRlbnRpb25Db21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmR9XG4gICAqL1xuICBwdXRPYmplY3RUYWdnaW5nKFxuICAgIGFyZ3M6IFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFB1dE9iamVjdFRhZ2dpbmdDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kfVxuICAgKi9cbiAgcHV0UHVibGljQWNjZXNzQmxvY2soXG4gICAgYXJnczogUHV0UHVibGljQWNjZXNzQmxvY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFB1YmxpY0FjY2Vzc0Jsb2NrQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVPYmplY3RDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZU9iamVjdChcbiAgICBhcmdzOiBSZXN0b3JlT2JqZWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlT2JqZWN0Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE9iamVjdEFscmVhZHlJbkFjdGl2ZVRpZXJFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZWxlY3RPYmplY3RDb250ZW50Q29tbWFuZH1cbiAgICovXG4gIHNlbGVjdE9iamVjdENvbnRlbnQoXG4gICAgYXJnczogU2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8U2VsZWN0T2JqZWN0Q29udGVudENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRQYXJ0Q29tbWFuZH1cbiAgICovXG4gIHVwbG9hZFBhcnQoXG4gICAgYXJnczogVXBsb2FkUGFydENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8VXBsb2FkUGFydENvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGxvYWRQYXJ0Q29weUNvbW1hbmR9XG4gICAqL1xuICB1cGxvYWRQYXJ0Q29weShcbiAgICBhcmdzOiBVcGxvYWRQYXJ0Q29weUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8VXBsb2FkUGFydENvcHlDb21tYW5kT3V0cHV0LCBTZGtFcnJvciB8IFMzU2VydmljZUVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgV3JpdGVHZXRPYmplY3RSZXNwb25zZUNvbW1hbmR9XG4gICAqL1xuICB3cml0ZUdldE9iamVjdFJlc3BvbnNlKFxuICAgIGFyZ3M6IFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFdyaXRlR2V0T2JqZWN0UmVzcG9uc2VDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUzNTZXJ2aWNlRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjb25zdCBTM1NlcnZpY2UgPSBDb250ZXh0LkdlbmVyaWNUYWc8UzNTZXJ2aWNlPihcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtczMvUzNTZXJ2aWNlXCIsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVMzU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFMzQ2xpZW50SW5zdGFuY2UpO1xuXG4gIGNvbnN0IGNhdGNoRXJyb3JzID0gKGU6IHVua25vd24pID0+IHtcbiAgICBpZiAoZSBpbnN0YW5jZW9mIFMzU2VydmljZUV4Y2VwdGlvbikge1xuICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFRhZ2dlZEV4Y2VwdGlvbjxTM1NlcnZpY2VFeGNlcHRpb24+PihcbiAgICAgICAgZS5uYW1lLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAuLi5lLFxuICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgIC4uLmUsXG4gICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9O1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChcbiAgICAgIGFyZ3M6IGFueSxcbiAgICAgIG9wdGlvbnM/OlxuICAgICAgICB8ICh7IHJlYWRvbmx5IHByZXNpZ25lZD86IGZhbHNlIH0gJiBfX0h0dHBIYW5kbGVyT3B0aW9ucylcbiAgICAgICAgfCAoeyByZWFkb25seSBwcmVzaWduZWQ6IHRydWUgfSAmIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzKSxcbiAgICApID0+XG4gICAgICBvcHRpb25zPy5wcmVzaWduZWRcbiAgICAgICAgPyBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgICAgICB0cnk6ICgpID0+XG4gICAgICAgICAgICAgIGdldFNpZ25lZFVybChjbGllbnQgYXMgYW55LCBuZXcgQ29tbWFuZEN0b3IoYXJncyksIG9wdGlvbnMpLFxuICAgICAgICAgICAgY2F0Y2g6IGNhdGNoRXJyb3JzLFxuICAgICAgICAgIH0pXG4gICAgICAgIDogRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICAgICAgdHJ5OiAoKSA9PiBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIG9wdGlvbnMpLFxuICAgICAgICAgICAgY2F0Y2g6IGNhdGNoRXJyb3JzLFxuICAgICAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIFMzU2VydmljZTtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZVMzU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFMzU2VydmljZSwgbWFrZVMzU2VydmljZSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBTM1NlcnZpY2VMYXllciA9IEJhc2VTM1NlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKFMzQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFMzU2VydmljZUxheWVyID0gUzNTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShEZWZhdWx0UzNDbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
package/package.json CHANGED
@@ -12,18 +12,18 @@
12
12
  "aws-sdk-client-mock": "^3.0.0",
13
13
  "aws-sdk-client-mock-jest": "^3.0.0",
14
14
  "constructs": "^10.0.0",
15
- "effect": "2.3.1",
15
+ "effect": "3.0.0",
16
16
  "eslint": "^8",
17
17
  "eslint-config-prettier": "^9.0.0",
18
18
  "eslint-import-resolver-typescript": "^3.6.1",
19
19
  "eslint-plugin-import": "^2.28.1",
20
20
  "eslint-plugin-prettier": "^5.0.0",
21
21
  "prettier": "^3.0.3",
22
- "projen": "^0.79.6",
23
- "typescript": "^5.2.2"
22
+ "projen": "^0.79.24",
23
+ "typescript": "^5.4.2"
24
24
  },
25
25
  "peerDependencies": {
26
- "effect": ">=2.3.1 <2.5.0"
26
+ "effect": ">=3.0.0 <4.0.0"
27
27
  },
28
28
  "dependencies": {
29
29
  "@aws-sdk/client-s3": "^3",
@@ -36,7 +36,7 @@
36
36
  "publishConfig": {
37
37
  "access": "public"
38
38
  },
39
- "version": "1.1.1",
39
+ "version": "1.3.0",
40
40
  "types": "lib/index.d.ts",
41
41
  "module": "lib/esm/index.js",
42
42
  "sideEffects": [],