aws-sdk-codedeploy 1.51.0 → 1.53.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: d503776f9daea742dcb9814187d7c71f4da39cc6a705ea75fde35d2b53821d61
4
- data.tar.gz: b0ffc8c9e0f7ec49f74bfc7561dd5e4917ae00195c2950feed15368329be1e6a
3
+ metadata.gz: 716c39d530915109a3ebaa39a1ad52ae684ccc0e00dde86c51a2a4ff7904f34d
4
+ data.tar.gz: 92e9315da8735f35d5779fd2fabc4315c1e7872211e4d44cb95e82ab5860bde3
5
5
  SHA512:
6
- metadata.gz: 04cc8113fba5e21ca4b031d2f471416f68c7b70be7b0b4de38774ca806ffddd8c8243b7645396bf7db871e9b4d1cd0dc5e3755f5d436e876cd3fbfd7563ab7d2
7
- data.tar.gz: e8dbe7745cfe2ebf244aaff8b463d7bd8f53d65fc9bf630462117a8079fd1f2159934dc98bcc8ea0afc9731c7db4407856567def1fbb4bca21541e235432d986
6
+ metadata.gz: 16651cdbead5b5b55dbd93d5576b202f677483a4d0a7c9a7b6c5cf0ffef9c169833e5d1a026233e4d0bee50f099cfa9779649d86c8fdd0132a4d72f2a0173c40
7
+ data.tar.gz: ae2dda449e1ebd4d63347575952438052b7afe03098ab4dd8852e6f9282cb3e969d6e1f4243262a6b17981ffa0e371d7b13ccc7deef59dd31938ade509fd39b4
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.53.0 (2023-05-31)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.52.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.51.0 (2022-10-25)
5
17
  ------------------
6
18
 
@@ -335,4 +347,4 @@ Unreleased Changes
335
347
  1.0.0.rc1 (2016-12-05)
336
348
  ------------------
337
349
 
338
- * Feature - Initial preview release of the `aws-sdk-codedeploy` gem.
350
+ * Feature - Initial preview release of the `aws-sdk-codedeploy` gem.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.51.0
1
+ 1.53.0
@@ -275,6 +275,11 @@ module Aws::CodeDeploy
275
275
  # in the future.
276
276
  #
277
277
  #
278
+ # @option options [String] :sdk_ua_app_id
279
+ # A unique and opaque application ID that is appended to the
280
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
281
+ # maximum length of 50.
282
+ #
278
283
  # @option options [String] :secret_access_key
279
284
  #
280
285
  # @option options [String] :session_token
@@ -711,13 +716,13 @@ module Aws::CodeDeploy
711
716
  # The type of targets returned depends on the deployment's compute
712
717
  # platform or deployment method:
713
718
  #
714
- # * **EC2/On-premises**\: Information about Amazon EC2 instance targets.
719
+ # * **EC2/On-premises**: Information about Amazon EC2 instance targets.
715
720
  #
716
- # * **Lambda**\: Information about Lambda functions targets.
721
+ # * **Lambda**: Information about Lambda functions targets.
717
722
  #
718
- # * **Amazon ECS**\: Information about Amazon ECS service targets.
723
+ # * **Amazon ECS**: Information about Amazon ECS service targets.
719
724
  #
720
- # * **CloudFormation**\: Information about targets of blue/green
725
+ # * **CloudFormation**: Information about targets of blue/green
721
726
  # deployments initiated by a CloudFormation stack update.
722
727
  #
723
728
  # @option params [String] :deployment_id
@@ -2338,13 +2343,13 @@ module Aws::CodeDeploy
2338
2343
  # @option params [String] :sort_by
2339
2344
  # The column name to use to sort the list results:
2340
2345
  #
2341
- # * `registerTime`\: Sort by the time the revisions were registered with
2346
+ # * `registerTime`: Sort by the time the revisions were registered with
2342
2347
  # CodeDeploy.
2343
2348
  #
2344
- # * `firstUsedTime`\: Sort by the time the revisions were first used in
2345
- # a deployment.
2349
+ # * `firstUsedTime`: Sort by the time the revisions were first used in a
2350
+ # deployment.
2346
2351
  #
2347
- # * `lastUsedTime`\: Sort by the time the revisions were last used in a
2352
+ # * `lastUsedTime`: Sort by the time the revisions were last used in a
2348
2353
  # deployment.
2349
2354
  #
2350
2355
  # If not specified or set to null, the results are returned in an
@@ -2353,9 +2358,9 @@ module Aws::CodeDeploy
2353
2358
  # @option params [String] :sort_order
2354
2359
  # The order in which to sort the list results:
2355
2360
  #
2356
- # * `ascending`\: ascending order.
2361
+ # * `ascending`: ascending order.
2357
2362
  #
2358
- # * `descending`\: descending order.
2363
+ # * `descending`: descending order.
2359
2364
  #
2360
2365
  # If not specified, the results are sorted in ascending order.
2361
2366
  #
@@ -2374,13 +2379,13 @@ module Aws::CodeDeploy
2374
2379
  # Whether to list revisions based on whether the revision is the target
2375
2380
  # revision of a deployment group:
2376
2381
  #
2377
- # * `include`\: List revisions that are target revisions of a deployment
2382
+ # * `include`: List revisions that are target revisions of a deployment
2378
2383
  # group.
2379
2384
  #
2380
- # * `exclude`\: Do not list revisions that are target revisions of a
2385
+ # * `exclude`: Do not list revisions that are target revisions of a
2381
2386
  # deployment group.
2382
2387
  #
2383
- # * `ignore`\: List all revisions.
2388
+ # * `ignore`: List all revisions.
2384
2389
  #
2385
2390
  # @option params [String] :next_token
2386
2391
  # An identifier returned from the previous `ListApplicationRevisions`
@@ -2567,18 +2572,18 @@ module Aws::CodeDeploy
2567
2572
  # @option params [Array<String>] :instance_status_filter
2568
2573
  # A subset of instances to list by status:
2569
2574
  #
2570
- # * `Pending`\: Include those instances with pending deployments.
2575
+ # * `Pending`: Include those instances with pending deployments.
2571
2576
  #
2572
- # * `InProgress`\: Include those instances where deployments are still
2573
- # in progress.
2577
+ # * `InProgress`: Include those instances where deployments are still in
2578
+ # progress.
2574
2579
  #
2575
- # * `Succeeded`\: Include those instances with successful deployments.
2580
+ # * `Succeeded`: Include those instances with successful deployments.
2576
2581
  #
2577
- # * `Failed`\: Include those instances with failed deployments.
2582
+ # * `Failed`: Include those instances with failed deployments.
2578
2583
  #
2579
- # * `Skipped`\: Include those instances with skipped deployments.
2584
+ # * `Skipped`: Include those instances with skipped deployments.
2580
2585
  #
2581
- # * `Unknown`\: Include those instances with deployments in an unknown
2586
+ # * `Unknown`: Include those instances with deployments in an unknown
2582
2587
  # state.
2583
2588
  #
2584
2589
  # @option params [Array<String>] :instance_type_filter
@@ -2697,18 +2702,18 @@ module Aws::CodeDeploy
2697
2702
  # @option params [Array<String>] :include_only_statuses
2698
2703
  # A subset of deployments to list by status:
2699
2704
  #
2700
- # * `Created`\: Include created deployments in the resulting list.
2705
+ # * `Created`: Include created deployments in the resulting list.
2701
2706
  #
2702
- # * `Queued`\: Include queued deployments in the resulting list.
2707
+ # * `Queued`: Include queued deployments in the resulting list.
2703
2708
  #
2704
- # * `In Progress`\: Include in-progress deployments in the resulting
2709
+ # * `In Progress`: Include in-progress deployments in the resulting
2705
2710
  # list.
2706
2711
  #
2707
- # * `Succeeded`\: Include successful deployments in the resulting list.
2712
+ # * `Succeeded`: Include successful deployments in the resulting list.
2708
2713
  #
2709
- # * `Failed`\: Include failed deployments in the resulting list.
2714
+ # * `Failed`: Include failed deployments in the resulting list.
2710
2715
  #
2711
- # * `Stopped`\: Include stopped deployments in the resulting list.
2716
+ # * `Stopped`: Include stopped deployments in the resulting list.
2712
2717
  #
2713
2718
  # @option params [Types::TimeRange] :create_time_range
2714
2719
  # A time range (start and end) for returning a subset of the list of
@@ -2796,10 +2801,10 @@ module Aws::CodeDeploy
2796
2801
  # @option params [String] :registration_status
2797
2802
  # The registration status of the on-premises instances:
2798
2803
  #
2799
- # * `Deregistered`\: Include deregistered on-premises instances in the
2804
+ # * `Deregistered`: Include deregistered on-premises instances in the
2800
2805
  # resulting list.
2801
2806
  #
2802
- # * `Registered`\: Include registered on-premises instances in the
2807
+ # * `Registered`: Include registered on-premises instances in the
2803
2808
  # resulting list.
2804
2809
  #
2805
2810
  # @option params [Array<Types::TagFilter>] :tag_filters
@@ -3467,7 +3472,7 @@ module Aws::CodeDeploy
3467
3472
  params: params,
3468
3473
  config: config)
3469
3474
  context[:gem_name] = 'aws-sdk-codedeploy'
3470
- context[:gem_version] = '1.51.0'
3475
+ context[:gem_version] = '1.53.0'
3471
3476
  Seahorse::Client::Request.new(handlers, context)
3472
3477
  end
3473
3478
 
@@ -9,104 +9,43 @@
9
9
 
10
10
  module Aws::CodeDeploy
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 (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ 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"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://codedeploy-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ return Aws::Endpoints::Endpoint.new(url: "https://codedeploy-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
+ end
37
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
+ end
39
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
+ return Aws::Endpoints::Endpoint.new(url: "https://codedeploy.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
44
+ end
45
+ return Aws::Endpoints::Endpoint.new(url: "https://codedeploy.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
46
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
47
+ raise ArgumentError, 'No endpoint could be resolved'
24
48
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
49
  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
- dCI6eyJ1cmwiOiJodHRwczovL2NvZGVkZXBsb3ktZmlwcy57UmVnaW9ufS57
77
- UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
78
- aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsi
79
- Y29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFy
80
- ZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
81
- dCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
82
- IjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VG
83
- SVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
84
- aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
85
- biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
86
- fSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
87
- eyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
88
- ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vY29kZWRl
89
- cGxveS1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4
90
- fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
91
- b2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMg
92
- ZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBG
93
- SVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
94
- Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9
95
- LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
96
- Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
97
- ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
98
- cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
99
- eyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9j
100
- b2RlZGVwbG95LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNr
101
- RG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
102
- cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJE
103
- dWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBu
104
- b3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
105
- ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vY29kZWRl
106
- cGxveS57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
107
- cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
108
- fV19XX0=
109
-
110
- JSON
111
50
  end
112
51
  end