aws-sdk-transfer 1.63.0 → 1.64.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a679ffd4167edbc3aef5d1431c5d6a6be8e2e7cc7fb42d1857eaa7e3d19dcce
4
- data.tar.gz: 5c0c1713d6fa1c0200ca48eda490ee8aed6fecc9eec5712c691806581a26d4de
3
+ metadata.gz: 660c06db09099136074772186c2efa4ca6cb8c133d084775723a86fad401292c
4
+ data.tar.gz: c9d082025c7a0a83f050035c803b3abdd8639e2c49a578583b384408b5417fa2
5
5
  SHA512:
6
- metadata.gz: e29bea5ad3e035475d0c6a4642e7a9506eca4f3ef2ccd46b89381fe422ed71df89c1249a1549097580262247bb6368d5fb4cc950b61b9546c6995a89a4689ea3
7
- data.tar.gz: f9fcc8e1fec7ff49806225dcb2bc34e88e3a8d2616845fcf0c3d76c3faf7e5bfea62b542ee9454d2e3df37330d58fa6d579e3735b864168ed9000d7d772bf0c4
6
+ metadata.gz: 8d42ce4dccca62bb2f6b7cae67f81491ac8cc088fcfde46d5e79e52f609805233a6012f2124c9c1ebd29d9e3a8db2cbb16a7c97777775e7289fb7cfe09763758
7
+ data.tar.gz: 2922990bf8c68c6c44f0558ce27bb2ce214e34270e31f4c97ae4282e1c823c81cb7a6e1f67f0e8aeda6e8003443a24accd0b45850951832122a4152c7d3f29e0
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.64.0 (2022-12-21)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for Decrypt as a workflow step type.
8
+
4
9
  1.63.0 (2022-11-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.63.0
1
+ 1.64.0
@@ -1014,8 +1014,8 @@ module Aws::Transfer
1014
1014
  # Specifies the workflow ID for the workflow to assign and the execution
1015
1015
  # role that's used for executing the workflow.
1016
1016
  #
1017
- # In addition to a workflow to execute when a file is uploaded
1018
- # completely, `WorkflowDetails` can also contain a workflow ID (and
1017
+ # In additon to a workflow to execute when a file is uploaded
1018
+ # completely, `WorkflowDeatails` can also contain a workflow ID (and
1019
1019
  # execution role) for a workflow to execute on partial upload. A partial
1020
1020
  # upload occurs when a file is open when the session disconnects.
1021
1021
  #
@@ -1191,20 +1191,8 @@ module Aws::Transfer
1191
1191
  # The public portion of the Secure Shell (SSH) key used to authenticate
1192
1192
  # the user to the server.
1193
1193
  #
1194
- # The three standard SSH public key format elements are `<key type>`,
1195
- # `<body base64>`, and an optional `<comment>`, with spaces between each
1196
- # element.
1197
- #
1198
1194
  # Transfer Family accepts RSA, ECDSA, and ED25519 keys.
1199
1195
  #
1200
- # * For RSA keys, the key type is `ssh-rsa`.
1201
- #
1202
- # * For ED25519 keys, the key type is `ssh-ed25519`.
1203
- #
1204
- # * For ECDSA keys, the key type is either `ecdsa-sha2-nistp256`,
1205
- # `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`, depending on the
1206
- # size of the key you generated.
1207
- #
1208
1196
  # @option params [Array<Types::Tag>] :tags
1209
1197
  # Key-value pairs that can be used to group and search for users. Tags
1210
1198
  # are metadata attached to users for any purpose.
@@ -1320,7 +1308,7 @@ module Aws::Transfer
1320
1308
  # description: "WorkflowDescription",
1321
1309
  # steps: [ # required
1322
1310
  # {
1323
- # type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE
1311
+ # type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE, DECRYPT
1324
1312
  # copy_step_details: {
1325
1313
  # name: "WorkflowStepName",
1326
1314
  # destination_file_location: {
@@ -1356,11 +1344,27 @@ module Aws::Transfer
1356
1344
  # ],
1357
1345
  # source_file_location: "SourceFileLocation",
1358
1346
  # },
1347
+ # decrypt_step_details: {
1348
+ # name: "WorkflowStepName",
1349
+ # type: "PGP", # required, accepts PGP
1350
+ # source_file_location: "SourceFileLocation",
1351
+ # overwrite_existing: "TRUE", # accepts TRUE, FALSE
1352
+ # destination_file_location: { # required
1353
+ # s3_file_location: {
1354
+ # bucket: "S3Bucket",
1355
+ # key: "S3Key",
1356
+ # },
1357
+ # efs_file_location: {
1358
+ # file_system_id: "EfsFileSystemId",
1359
+ # path: "EfsPath",
1360
+ # },
1361
+ # },
1362
+ # },
1359
1363
  # },
1360
1364
  # ],
1361
1365
  # on_exception_steps: [
1362
1366
  # {
1363
- # type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE
1367
+ # type: "COPY", # accepts COPY, CUSTOM, TAG, DELETE, DECRYPT
1364
1368
  # copy_step_details: {
1365
1369
  # name: "WorkflowStepName",
1366
1370
  # destination_file_location: {
@@ -1396,6 +1400,22 @@ module Aws::Transfer
1396
1400
  # ],
1397
1401
  # source_file_location: "SourceFileLocation",
1398
1402
  # },
1403
+ # decrypt_step_details: {
1404
+ # name: "WorkflowStepName",
1405
+ # type: "PGP", # required, accepts PGP
1406
+ # source_file_location: "SourceFileLocation",
1407
+ # overwrite_existing: "TRUE", # accepts TRUE, FALSE
1408
+ # destination_file_location: { # required
1409
+ # s3_file_location: {
1410
+ # bucket: "S3Bucket",
1411
+ # key: "S3Key",
1412
+ # },
1413
+ # efs_file_location: {
1414
+ # file_system_id: "EfsFileSystemId",
1415
+ # path: "EfsPath",
1416
+ # },
1417
+ # },
1418
+ # },
1399
1419
  # },
1400
1420
  # ],
1401
1421
  # tags: [
@@ -1939,12 +1959,12 @@ module Aws::Transfer
1939
1959
  # resp.execution.posix_profile.secondary_gids[0] #=> Integer
1940
1960
  # resp.execution.status #=> String, one of "IN_PROGRESS", "COMPLETED", "EXCEPTION", "HANDLING_EXCEPTION"
1941
1961
  # resp.execution.results.steps #=> Array
1942
- # resp.execution.results.steps[0].step_type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE"
1962
+ # resp.execution.results.steps[0].step_type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE", "DECRYPT"
1943
1963
  # resp.execution.results.steps[0].outputs #=> String
1944
1964
  # resp.execution.results.steps[0].error.type #=> String, one of "PERMISSION_DENIED", "CUSTOM_STEP_FAILED", "THROTTLED", "ALREADY_EXISTS", "NOT_FOUND", "BAD_REQUEST", "TIMEOUT", "INTERNAL_SERVER_ERROR"
1945
1965
  # resp.execution.results.steps[0].error.message #=> String
1946
1966
  # resp.execution.results.on_exception_steps #=> Array
1947
- # resp.execution.results.on_exception_steps[0].step_type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE"
1967
+ # resp.execution.results.on_exception_steps[0].step_type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE", "DECRYPT"
1948
1968
  # resp.execution.results.on_exception_steps[0].outputs #=> String
1949
1969
  # resp.execution.results.on_exception_steps[0].error.type #=> String, one of "PERMISSION_DENIED", "CUSTOM_STEP_FAILED", "THROTTLED", "ALREADY_EXISTS", "NOT_FOUND", "BAD_REQUEST", "TIMEOUT", "INTERNAL_SERVER_ERROR"
1950
1970
  # resp.execution.results.on_exception_steps[0].error.message #=> String
@@ -2241,7 +2261,7 @@ module Aws::Transfer
2241
2261
  # resp.workflow.arn #=> String
2242
2262
  # resp.workflow.description #=> String
2243
2263
  # resp.workflow.steps #=> Array
2244
- # resp.workflow.steps[0].type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE"
2264
+ # resp.workflow.steps[0].type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE", "DECRYPT"
2245
2265
  # resp.workflow.steps[0].copy_step_details.name #=> String
2246
2266
  # resp.workflow.steps[0].copy_step_details.destination_file_location.s3_file_location.bucket #=> String
2247
2267
  # resp.workflow.steps[0].copy_step_details.destination_file_location.s3_file_location.key #=> String
@@ -2260,8 +2280,16 @@ module Aws::Transfer
2260
2280
  # resp.workflow.steps[0].tag_step_details.tags[0].key #=> String
2261
2281
  # resp.workflow.steps[0].tag_step_details.tags[0].value #=> String
2262
2282
  # resp.workflow.steps[0].tag_step_details.source_file_location #=> String
2283
+ # resp.workflow.steps[0].decrypt_step_details.name #=> String
2284
+ # resp.workflow.steps[0].decrypt_step_details.type #=> String, one of "PGP"
2285
+ # resp.workflow.steps[0].decrypt_step_details.source_file_location #=> String
2286
+ # resp.workflow.steps[0].decrypt_step_details.overwrite_existing #=> String, one of "TRUE", "FALSE"
2287
+ # resp.workflow.steps[0].decrypt_step_details.destination_file_location.s3_file_location.bucket #=> String
2288
+ # resp.workflow.steps[0].decrypt_step_details.destination_file_location.s3_file_location.key #=> String
2289
+ # resp.workflow.steps[0].decrypt_step_details.destination_file_location.efs_file_location.file_system_id #=> String
2290
+ # resp.workflow.steps[0].decrypt_step_details.destination_file_location.efs_file_location.path #=> String
2263
2291
  # resp.workflow.on_exception_steps #=> Array
2264
- # resp.workflow.on_exception_steps[0].type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE"
2292
+ # resp.workflow.on_exception_steps[0].type #=> String, one of "COPY", "CUSTOM", "TAG", "DELETE", "DECRYPT"
2265
2293
  # resp.workflow.on_exception_steps[0].copy_step_details.name #=> String
2266
2294
  # resp.workflow.on_exception_steps[0].copy_step_details.destination_file_location.s3_file_location.bucket #=> String
2267
2295
  # resp.workflow.on_exception_steps[0].copy_step_details.destination_file_location.s3_file_location.key #=> String
@@ -2280,6 +2308,14 @@ module Aws::Transfer
2280
2308
  # resp.workflow.on_exception_steps[0].tag_step_details.tags[0].key #=> String
2281
2309
  # resp.workflow.on_exception_steps[0].tag_step_details.tags[0].value #=> String
2282
2310
  # resp.workflow.on_exception_steps[0].tag_step_details.source_file_location #=> String
2311
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.name #=> String
2312
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.type #=> String, one of "PGP"
2313
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.source_file_location #=> String
2314
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.overwrite_existing #=> String, one of "TRUE", "FALSE"
2315
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.destination_file_location.s3_file_location.bucket #=> String
2316
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.destination_file_location.s3_file_location.key #=> String
2317
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.destination_file_location.efs_file_location.file_system_id #=> String
2318
+ # resp.workflow.on_exception_steps[0].decrypt_step_details.destination_file_location.efs_file_location.path #=> String
2283
2319
  # resp.workflow.workflow_id #=> String
2284
2320
  # resp.workflow.tags #=> Array
2285
2321
  # resp.workflow.tags[0].key #=> String
@@ -4004,8 +4040,8 @@ module Aws::Transfer
4004
4040
  # Specifies the workflow ID for the workflow to assign and the execution
4005
4041
  # role that's used for executing the workflow.
4006
4042
  #
4007
- # In addition to a workflow to execute when a file is uploaded
4008
- # completely, `WorkflowDetails` can also contain a workflow ID (and
4043
+ # In additon to a workflow to execute when a file is uploaded
4044
+ # completely, `WorkflowDeatails` can also contain a workflow ID (and
4009
4045
  # execution role) for a workflow to execute on partial upload. A partial
4010
4046
  # upload occurs when a file is open when the session disconnects.
4011
4047
  #
@@ -4237,7 +4273,7 @@ module Aws::Transfer
4237
4273
  params: params,
4238
4274
  config: config)
4239
4275
  context[:gem_name] = 'aws-sdk-transfer'
4240
- context[:gem_version] = '1.63.0'
4276
+ context[:gem_version] = '1.64.0'
4241
4277
  Seahorse::Client::Request.new(handlers, context)
4242
4278
  end
4243
4279
 
@@ -57,6 +57,7 @@ module Aws::Transfer
57
57
  CustomStepTarget = Shapes::StringShape.new(name: 'CustomStepTarget')
58
58
  CustomStepTimeoutSeconds = Shapes::IntegerShape.new(name: 'CustomStepTimeoutSeconds')
59
59
  DateImported = Shapes::TimestampShape.new(name: 'DateImported')
60
+ DecryptStepDetails = Shapes::StructureShape.new(name: 'DecryptStepDetails')
60
61
  DeleteAccessRequest = Shapes::StructureShape.new(name: 'DeleteAccessRequest')
61
62
  DeleteAgreementRequest = Shapes::StructureShape.new(name: 'DeleteAgreementRequest')
62
63
  DeleteCertificateRequest = Shapes::StructureShape.new(name: 'DeleteCertificateRequest')
@@ -108,6 +109,7 @@ module Aws::Transfer
108
109
  EfsFileSystemId = Shapes::StringShape.new(name: 'EfsFileSystemId')
109
110
  EfsPath = Shapes::StringShape.new(name: 'EfsPath')
110
111
  EncryptionAlg = Shapes::StringShape.new(name: 'EncryptionAlg')
112
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
111
113
  EndpointDetails = Shapes::StructureShape.new(name: 'EndpointDetails')
112
114
  EndpointType = Shapes::StringShape.new(name: 'EndpointType')
113
115
  ExecutionError = Shapes::StructureShape.new(name: 'ExecutionError')
@@ -434,6 +436,13 @@ module Aws::Transfer
434
436
  CustomStepDetails.add_member(:source_file_location, Shapes::ShapeRef.new(shape: SourceFileLocation, location_name: "SourceFileLocation"))
435
437
  CustomStepDetails.struct_class = Types::CustomStepDetails
436
438
 
439
+ DecryptStepDetails.add_member(:name, Shapes::ShapeRef.new(shape: WorkflowStepName, location_name: "Name"))
440
+ DecryptStepDetails.add_member(:type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "Type"))
441
+ DecryptStepDetails.add_member(:source_file_location, Shapes::ShapeRef.new(shape: SourceFileLocation, location_name: "SourceFileLocation"))
442
+ DecryptStepDetails.add_member(:overwrite_existing, Shapes::ShapeRef.new(shape: OverwriteExisting, location_name: "OverwriteExisting"))
443
+ DecryptStepDetails.add_member(:destination_file_location, Shapes::ShapeRef.new(shape: InputFileLocation, required: true, location_name: "DestinationFileLocation"))
444
+ DecryptStepDetails.struct_class = Types::DecryptStepDetails
445
+
437
446
  DeleteAccessRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
438
447
  DeleteAccessRequest.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, required: true, location_name: "ExternalId"))
439
448
  DeleteAccessRequest.struct_class = Types::DeleteAccessRequest
@@ -1201,6 +1210,7 @@ module Aws::Transfer
1201
1210
  WorkflowStep.add_member(:custom_step_details, Shapes::ShapeRef.new(shape: CustomStepDetails, location_name: "CustomStepDetails"))
1202
1211
  WorkflowStep.add_member(:delete_step_details, Shapes::ShapeRef.new(shape: DeleteStepDetails, location_name: "DeleteStepDetails"))
1203
1212
  WorkflowStep.add_member(:tag_step_details, Shapes::ShapeRef.new(shape: TagStepDetails, location_name: "TagStepDetails"))
1213
+ WorkflowStep.add_member(:decrypt_step_details, Shapes::ShapeRef.new(shape: DecryptStepDetails, location_name: "DecryptStepDetails"))
1204
1214
  WorkflowStep.struct_class = Types::WorkflowStep
1205
1215
 
1206
1216
  WorkflowSteps.member = Shapes::ShapeRef.new(shape: WorkflowStep)
@@ -1249,7 +1259,6 @@ module Aws::Transfer
1249
1259
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1250
1260
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1251
1261
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1252
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1253
1262
  end)
1254
1263
 
1255
1264
  api.add_operation(:create_connector, Seahorse::Model::Operation.new.tap do |o|
@@ -1263,7 +1272,6 @@ module Aws::Transfer
1263
1272
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1264
1273
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1265
1274
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1266
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1267
1275
  end)
1268
1276
 
1269
1277
  api.add_operation(:create_profile, Seahorse::Model::Operation.new.tap do |o|
@@ -1276,7 +1284,6 @@ module Aws::Transfer
1276
1284
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
1277
1285
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1278
1286
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1279
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1280
1287
  end)
1281
1288
 
1282
1289
  api.add_operation(:create_server, Seahorse::Model::Operation.new.tap do |o|
@@ -1935,7 +1942,6 @@ module Aws::Transfer
1935
1942
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1936
1943
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1937
1944
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1938
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1939
1945
  end)
1940
1946
 
1941
1947
  api.add_operation(:update_agreement, Seahorse::Model::Operation.new.tap do |o|
@@ -1949,7 +1955,6 @@ module Aws::Transfer
1949
1955
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1950
1956
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1951
1957
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1952
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1953
1958
  end)
1954
1959
 
1955
1960
  api.add_operation(:update_certificate, Seahorse::Model::Operation.new.tap do |o|
@@ -1962,7 +1967,6 @@ module Aws::Transfer
1962
1967
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
1963
1968
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1964
1969
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1965
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1966
1970
  end)
1967
1971
 
1968
1972
  api.add_operation(:update_connector, Seahorse::Model::Operation.new.tap do |o|
@@ -1976,7 +1980,6 @@ module Aws::Transfer
1976
1980
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1977
1981
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
1978
1982
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1979
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1980
1983
  end)
1981
1984
 
1982
1985
  api.add_operation(:update_host_key, Seahorse::Model::Operation.new.tap do |o|
@@ -2002,7 +2005,6 @@ module Aws::Transfer
2002
2005
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
2003
2006
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
2004
2007
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2005
- o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2006
2008
  end)
2007
2009
 
2008
2010
  api.add_operation(:update_server, Seahorse::Model::Operation.new.tap do |o|
@@ -50,6 +50,9 @@ module Aws::Transfer
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -29,82 +29,82 @@ module Aws::Transfer
29
29
  # @api private
30
30
  RULES = <<-JSON
31
31
  eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL3RyYW5zZmVyLWZpcHMue1JlZ2lvbn0ue1Bh
77
- cnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGll
78
- cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNv
79
- bmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUg
80
- ZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQg
81
- b25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
82
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
83
- UyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
84
- bnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
85
- OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
86
- InN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
87
- Y29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
88
- dGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3RyYW5zZmVy
89
- LWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9Iiwi
90
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
91
- In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFi
92
- bGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMi
93
- LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
94
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1
95
- ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3si
96
- Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0
97
- dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9y
98
- dHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
99
- bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3RyYW5z
100
- ZmVyLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3Vm
101
- Zml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJl
102
- bmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3Rh
103
- Y2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3Vw
104
- cG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9u
105
- cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vdHJhbnNmZXIue1Jl
106
- Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGll
107
- cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
+ YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
+ ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
+ aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
+ ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
+ IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
+ bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
+ aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
+ IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
+ IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
+ aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
+ Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
+ cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
+ bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
+ YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
+ bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
+ ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
+ IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
+ b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
+ ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
+ dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
+ c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfSx7ImZuIjoicGFy
54
+ c2VVUkwiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XSwiYXNzaWduIjoi
55
+ dXJsIn1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
56
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
57
+ In0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZpZ3VyYXRpb246IEZJ
58
+ UFMgYW5kIGN1c3RvbSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5
59
+ cGUiOiJlcnJvciJ9LHsiY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwi
60
+ cnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIs
61
+ ImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sImVycm9y
62
+ IjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBEdWFsc3RhY2sgYW5kIGN1c3Rv
63
+ bSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5cGUiOiJlcnJvciJ9
64
+ LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6eyJyZWYiOiJF
65
+ bmRwb2ludCJ9LCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
66
+ IjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
67
+ YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19LHsi
68
+ Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0
69
+ YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
70
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
71
+ biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
72
+ fSwic3VwcG9ydHNGSVBTIl19XX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
73
+ cmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
74
+ cnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlw
75
+ ZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50
76
+ Ijp7InVybCI6Imh0dHBzOi8vdHJhbnNmZXItZmlwcy57UmVnaW9ufS57UGFy
77
+ dGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
78
+ Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29u
79
+ ZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBl
80
+ bmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBv
81
+ bmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpb
82
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
83
+ In0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
84
+ cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6
85
+ ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
86
+ c3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
87
+ b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
88
+ aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vdHJhbnNmZXIt
89
+ Zmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
90
+ cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
91
+ fV19XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJs
92
+ ZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIs
93
+ InR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
94
+ YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVl
95
+ XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJm
96
+ biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0
97
+ ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0
98
+ c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
99
+ ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vdHJhbnNm
100
+ ZXIue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZm
101
+ aXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
102
+ ZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFj
103
+ ayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBw
104
+ b3J0IER1YWxTdGFjayIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
105
+ IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly90cmFuc2Zlci57UmVn
106
+ aW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
107
+ Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
108
108
 
109
109
  JSON
110
110
  end