aws-sdk-managedblockchain 1.35.0 → 1.37.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 632ec972ea264300901a52c2e3067da88c629a07b54bf7f3b0b0b962ba4ce61c
4
- data.tar.gz: cbd557b5e978dbe8da70386aed1cfb1f11ea9efadc72ce1e9014b827e1e3220b
3
+ metadata.gz: 949e30028dc06e314a8fdead3443245a334ec5837668d10c091dbc4f7bf601ce
4
+ data.tar.gz: 5d100598f32d2bda2a373ef02677c39b95511369823dd3fba4fe30a8e9192761
5
5
  SHA512:
6
- metadata.gz: c8efb76bb4760488f9e6e6f9335b214b39a20d7383740766dac89c2ccf0aa63ff86edc4d429f5eda6ac29906a43eaf77d3d3985ebe617a3f9fb686bd13ac1da3
7
- data.tar.gz: 1ef7e93aff8587b71ed75ccb68fa54623c6f5f9e5953689eb842439051adbc33b198b3b72382bfd0709678509f60c291ca0dbf339b12bd285d831eb1645b50b6
6
+ metadata.gz: be4cad416c48cd95ce3c81dd4e127b50e3081e6b820001814a2633c047ca162b9730fe0d03a5af8584fa1fb9397cb481236622390af0a18868d60c9f143e244d
7
+ data.tar.gz: 20a10ce2eec9527e028ddb50fc3b7982f34dfd4831d7927039e034bebe7f0e61fd146283add7175ab19c7579992dd05d60e485d879a275adc57e15d4fd5fd2d0
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.37.0 (2023-02-28)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for tagging to the accessor resource in Amazon Managed Blockchain
8
+
9
+ 1.36.0 (2023-01-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
15
+
4
16
  1.35.0 (2022-11-14)
5
17
  ------------------
6
18
 
@@ -185,4 +197,4 @@ Unreleased Changes
185
197
  1.0.0 (2019-04-30)
186
198
  ------------------
187
199
 
188
- * Feature - Initial release of `aws-sdk-managedblockchain`.
200
+ * Feature - Initial release of `aws-sdk-managedblockchain`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.35.0
1
+ 1.37.0
@@ -368,14 +368,9 @@ module Aws::ManagedBlockchain
368
368
 
369
369
  # @!group API Operations
370
370
 
371
- # The token based access feature is in preview release for Ethereum on
372
- # Amazon Managed Blockchain and is subject to change. We recommend that
373
- # you use this feature only with test scenarios, and not in production
374
- # environments.
375
- #
376
371
  # Creates a new accessor for use with Managed Blockchain Ethereum nodes.
377
- # An accessor object is a container that has the information required
378
- # for token based access to your Ethereum nodes.
372
+ # An accessor contains information required for token based access to
373
+ # your Ethereum nodes.
379
374
  #
380
375
  # @option params [required, String] :client_request_token
381
376
  # This is a unique, case-sensitive identifier that you provide to ensure
@@ -394,6 +389,23 @@ module Aws::ManagedBlockchain
394
389
  #
395
390
  # </note>
396
391
  #
392
+ # @option params [Hash<String,String>] :tags
393
+ # Tags to assign to the Accessor.
394
+ #
395
+ # Each tag consists of a key and an optional value. You can specify
396
+ # multiple key-value pairs in a single request with an overall maximum
397
+ # of 50 tags allowed per resource.
398
+ #
399
+ # For more information about tags, see [Tagging Resources][1] in the
400
+ # *Amazon Managed Blockchain Ethereum Developer Guide*, or [Tagging
401
+ # Resources][2] in the *Amazon Managed Blockchain Hyperledger Fabric
402
+ # Developer Guide*.
403
+ #
404
+ #
405
+ #
406
+ # [1]: https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html
407
+ # [2]: https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html
408
+ #
397
409
  # @return [Types::CreateAccessorOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
398
410
  #
399
411
  # * {Types::CreateAccessorOutput#accessor_id #accessor_id} => String
@@ -404,6 +416,9 @@ module Aws::ManagedBlockchain
404
416
  # resp = client.create_accessor({
405
417
  # client_request_token: "ClientRequestTokenString", # required
406
418
  # accessor_type: "BILLING_TOKEN", # required, accepts BILLING_TOKEN
419
+ # tags: {
420
+ # "TagKey" => "TagValue",
421
+ # },
407
422
  # })
408
423
  #
409
424
  # @example Response structure
@@ -530,12 +545,11 @@ module Aws::ManagedBlockchain
530
545
  # Configuration properties for the first member within the network.
531
546
  #
532
547
  # @option params [Hash<String,String>] :tags
533
- # Tags to assign to the network. Each tag consists of a key and optional
534
- # value.
548
+ # Tags to assign to the network.
535
549
  #
536
- # When specifying tags during creation, you can specify multiple
537
- # key-value pairs in a single request, with an overall maximum of 50
538
- # tags added to each resource.
550
+ # Each tag consists of a key and an optional value. You can specify
551
+ # multiple key-value pairs in a single request with an overall maximum
552
+ # of 50 tags allowed per resource.
539
553
  #
540
554
  # For more information about tags, see [Tagging Resources][1] in the
541
555
  # *Amazon Managed Blockchain Ethereum Developer Guide*, or [Tagging
@@ -650,12 +664,11 @@ module Aws::ManagedBlockchain
650
664
  # The properties of a node configuration.
651
665
  #
652
666
  # @option params [Hash<String,String>] :tags
653
- # Tags to assign to the node. Each tag consists of a key and optional
654
- # value.
667
+ # Tags to assign to the node.
655
668
  #
656
- # When specifying tags during creation, you can specify multiple
657
- # key-value pairs in a single request, with an overall maximum of 50
658
- # tags added to each resource.
669
+ # Each tag consists of a key and an optional value. You can specify
670
+ # multiple key-value pairs in a single request with an overall maximum
671
+ # of 50 tags allowed per resource.
659
672
  #
660
673
  # For more information about tags, see [Tagging Resources][1] in the
661
674
  # *Amazon Managed Blockchain Ethereum Developer Guide*, or [Tagging
@@ -750,13 +763,11 @@ module Aws::ManagedBlockchain
750
763
  # example, "Proposal to add Example Corp. as member."
751
764
  #
752
765
  # @option params [Hash<String,String>] :tags
753
- # Tags to assign to the proposal. Each tag consists of a key and
754
- # optional value.
766
+ # Tags to assign to the proposal.
755
767
  #
756
- # When specifying tags during creation, you can specify multiple
757
- # key-value pairs in a single request, with an overall maximum of 50
758
- # tags added to each resource. If the proposal is for a network
759
- # invitation, the invitation inherits the tags added to the proposal.
768
+ # Each tag consists of a key and an optional value. You can specify
769
+ # multiple key-value pairs in a single request with an overall maximum
770
+ # of 50 tags allowed per resource.
760
771
  #
761
772
  # For more information about tags, see [Tagging Resources][1] in the
762
773
  # *Amazon Managed Blockchain Ethereum Developer Guide*, or [Tagging
@@ -809,11 +820,6 @@ module Aws::ManagedBlockchain
809
820
  req.send_request(options)
810
821
  end
811
822
 
812
- # The token based access feature is in preview release for Ethereum on
813
- # Amazon Managed Blockchain and is subject to change. We recommend that
814
- # you use this feature only with test scenarios, and not in production
815
- # environments.
816
- #
817
823
  # Deletes an accessor that your Amazon Web Services account owns. An
818
824
  # accessor object is a container that has the information required for
819
825
  # token based access to your Ethereum nodes including, the
@@ -925,11 +931,6 @@ module Aws::ManagedBlockchain
925
931
  req.send_request(options)
926
932
  end
927
933
 
928
- # The token based access feature is in preview release for Ethereum on
929
- # Amazon Managed Blockchain and is subject to change. We recommend that
930
- # you use this feature only with test scenarios, and not in production
931
- # environments.
932
- #
933
934
  # Returns detailed information about an accessor. An accessor object is
934
935
  # a container that has the information required for token based access
935
936
  # to your Ethereum nodes.
@@ -955,6 +956,8 @@ module Aws::ManagedBlockchain
955
956
  # resp.accessor.status #=> String, one of "AVAILABLE", "PENDING_DELETION", "DELETED"
956
957
  # resp.accessor.creation_date #=> Time
957
958
  # resp.accessor.arn #=> String
959
+ # resp.accessor.tags #=> Hash
960
+ # resp.accessor.tags["TagKey"] #=> String
958
961
  #
959
962
  # @see http://docs.aws.amazon.com/goto/WebAPI/managedblockchain-2018-09-24/GetAccessor AWS API Documentation
960
963
  #
@@ -1166,11 +1169,6 @@ module Aws::ManagedBlockchain
1166
1169
  req.send_request(options)
1167
1170
  end
1168
1171
 
1169
- # The token based access feature is in preview release for Ethereum on
1170
- # Amazon Managed Blockchain and is subject to change. We recommend that
1171
- # you use this feature only with test scenarios, and not in production
1172
- # environments.
1173
- #
1174
1172
  # Returns a list of the accessors and their properties. Accessor objects
1175
1173
  # are containers that have the information required for token based
1176
1174
  # access to your Ethereum nodes.
@@ -1876,7 +1874,7 @@ module Aws::ManagedBlockchain
1876
1874
  params: params,
1877
1875
  config: config)
1878
1876
  context[:gem_name] = 'aws-sdk-managedblockchain'
1879
- context[:gem_version] = '1.35.0'
1877
+ context[:gem_version] = '1.37.0'
1880
1878
  Seahorse::Client::Request.new(handlers, context)
1881
1879
  end
1882
1880
 
@@ -177,6 +177,7 @@ module Aws::ManagedBlockchain
177
177
  Accessor.add_member(:status, Shapes::ShapeRef.new(shape: AccessorStatus, location_name: "Status"))
178
178
  Accessor.add_member(:creation_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDate"))
179
179
  Accessor.add_member(:arn, Shapes::ShapeRef.new(shape: ArnString, location_name: "Arn"))
180
+ Accessor.add_member(:tags, Shapes::ShapeRef.new(shape: OutputTagMap, location_name: "Tags"))
180
181
  Accessor.struct_class = Types::Accessor
181
182
 
182
183
  AccessorSummary.add_member(:id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "Id"))
@@ -195,6 +196,7 @@ module Aws::ManagedBlockchain
195
196
 
196
197
  CreateAccessorInput.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestTokenString, required: true, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
197
198
  CreateAccessorInput.add_member(:accessor_type, Shapes::ShapeRef.new(shape: AccessorType, required: true, location_name: "AccessorType"))
199
+ CreateAccessorInput.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagMap, location_name: "Tags"))
198
200
  CreateAccessorInput.struct_class = Types::CreateAccessorInput
199
201
 
200
202
  CreateAccessorOutput.add_member(:accessor_id, Shapes::ShapeRef.new(shape: ResourceIdString, location_name: "AccessorId"))
@@ -692,6 +694,7 @@ module Aws::ManagedBlockchain
692
694
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
693
695
  o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
694
696
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceErrorException)
697
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
695
698
  end)
696
699
 
697
700
  api.add_operation(:create_member, Seahorse::Model::Operation.new.tap do |o|
@@ -9,104 +9,46 @@
9
9
 
10
10
  module Aws::ManagedBlockchain
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
21
25
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://managedblockchain-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://managedblockchain-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://managedblockchain.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
+ end
46
+ return Aws::Endpoints::Endpoint.new(url: "https://managedblockchain.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
47
+ end
48
+ end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
50
+ raise ArgumentError, 'No endpoint could be resolved'
24
51
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
52
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
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
- dCI6eyJ1cmwiOiJodHRwczovL21hbmFnZWRibG9ja2NoYWluLWZpcHMue1Jl
77
- Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9Iiwi
78
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
79
- In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxT
80
- dGFjayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90
81
- IHN1cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
82
- ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVm
83
- IjoiVXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
84
- ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0
85
- cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9u
86
- UmVzdWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJy
87
- dWxlcyI6W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMi
88
- Olt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczov
89
- L21hbmFnZWRibG9ja2NoYWluLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJl
90
- c3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9
91
- fSwidHlwZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVy
92
- cm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2Vz
93
- IG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
94
- aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
95
- VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6
96
- W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6
97
- W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRp
98
- b25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0
99
- cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
100
- cmwiOiJodHRwczovL21hbmFnZWRibG9ja2NoYWluLntSZWdpb259LntQYXJ0
101
- aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMi
102
- Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25k
103
- aXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQg
104
- dGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0
105
- eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7
106
- InVybCI6Imh0dHBzOi8vbWFuYWdlZGJsb2NrY2hhaW4ue1JlZ2lvbn0ue1Bh
107
- cnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhl
108
- YWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
109
-
110
- JSON
111
53
  end
112
54
  end