aws-sdk-appsync 1.52.0 → 1.54.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 +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-appsync/client.rb +67 -5
- data/lib/aws-sdk-appsync/client_api.rb +29 -1
- data/lib/aws-sdk-appsync/endpoint_parameters.rb +66 -0
- data/lib/aws-sdk-appsync/endpoint_provider.rb +111 -0
- data/lib/aws-sdk-appsync/endpoints.rb +715 -0
- data/lib/aws-sdk-appsync/plugins/endpoints.rb +168 -0
- data/lib/aws-sdk-appsync/types.rb +66 -5
- data/lib/aws-sdk-appsync.rb +5 -1
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ccaf517cf44c0b4c457edcdb0c49b89adc1054388ba6a9bbcb25095f0a0425e7
|
4
|
+
data.tar.gz: e02a12c93bea9f24dcf16f851afb5d5da157d295e6a67976ef27a5cca6790469
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 702bb146e201991ad285f53d64b47c15348b136f7cfd955ddbe1d060c25142511422e312bcf956f7d42df0cd8953fd81336c5628c6163f01040bd91d5aa53eab
|
7
|
+
data.tar.gz: 1d089da1592c47f64f5712e41be7b899c6b770eee91a8905a2cd880d6afc2f998407e81b3a5960e65ce071f7bfc5239ed828c4da65a15f07147d2ab3ec7a03d2
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.54.0 (2022-10-25)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
8
|
+
|
9
|
+
1.53.0 (2022-07-26)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Adds support for a new API to evaluate mapping templates with mock data, allowing you to remotely unit test your AppSync resolvers and functions.
|
13
|
+
|
4
14
|
1.52.0 (2022-02-24)
|
5
15
|
------------------
|
6
16
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.54.0
|
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
|
|
30
30
|
require 'aws-sdk-core/plugins/checksum_algorithm.rb'
|
31
31
|
require 'aws-sdk-core/plugins/defaults_mode.rb'
|
32
32
|
require 'aws-sdk-core/plugins/recursion_detection.rb'
|
33
|
-
require 'aws-sdk-core/plugins/
|
33
|
+
require 'aws-sdk-core/plugins/sign.rb'
|
34
34
|
require 'aws-sdk-core/plugins/protocols/rest_json.rb'
|
35
35
|
|
36
36
|
Aws::Plugins::GlobalConfiguration.add_identifier(:appsync)
|
@@ -79,8 +79,9 @@ module Aws::AppSync
|
|
79
79
|
add_plugin(Aws::Plugins::ChecksumAlgorithm)
|
80
80
|
add_plugin(Aws::Plugins::DefaultsMode)
|
81
81
|
add_plugin(Aws::Plugins::RecursionDetection)
|
82
|
-
add_plugin(Aws::Plugins::
|
82
|
+
add_plugin(Aws::Plugins::Sign)
|
83
83
|
add_plugin(Aws::Plugins::Protocols::RestJson)
|
84
|
+
add_plugin(Aws::AppSync::Plugins::Endpoints)
|
84
85
|
|
85
86
|
# @overload initialize(options)
|
86
87
|
# @param [Hash] options
|
@@ -287,6 +288,19 @@ module Aws::AppSync
|
|
287
288
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
288
289
|
# requests are made, and retries are disabled.
|
289
290
|
#
|
291
|
+
# @option options [Aws::TokenProvider] :token_provider
|
292
|
+
# A Bearer Token Provider. This can be an instance of any one of the
|
293
|
+
# following classes:
|
294
|
+
#
|
295
|
+
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
296
|
+
# tokens.
|
297
|
+
#
|
298
|
+
# * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
|
299
|
+
# access token generated from `aws login`.
|
300
|
+
#
|
301
|
+
# When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
|
302
|
+
# will be used to search for tokens configured for your profile in shared configuration files.
|
303
|
+
#
|
290
304
|
# @option options [Boolean] :use_dualstack_endpoint
|
291
305
|
# When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
|
292
306
|
# will be used if available.
|
@@ -300,6 +314,9 @@ module Aws::AppSync
|
|
300
314
|
# When `true`, request parameters are validated before
|
301
315
|
# sending the request.
|
302
316
|
#
|
317
|
+
# @option options [Aws::AppSync::EndpointProvider] :endpoint_provider
|
318
|
+
# The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::AppSync::EndpointParameters`
|
319
|
+
#
|
303
320
|
# @option options [URI::HTTP,String] :http_proxy A proxy to send
|
304
321
|
# requests through. Formatted like 'http://proxy.com:123'.
|
305
322
|
#
|
@@ -1010,7 +1027,7 @@ module Aws::AppSync
|
|
1010
1027
|
# },
|
1011
1028
|
# },
|
1012
1029
|
# caching_config: {
|
1013
|
-
# ttl: 1,
|
1030
|
+
# ttl: 1, # required
|
1014
1031
|
# caching_keys: ["String"],
|
1015
1032
|
# },
|
1016
1033
|
# max_batch_size: 1,
|
@@ -1313,6 +1330,51 @@ module Aws::AppSync
|
|
1313
1330
|
req.send_request(options)
|
1314
1331
|
end
|
1315
1332
|
|
1333
|
+
# Evaluates a given template and returns the response. The mapping
|
1334
|
+
# template can be a request or response template.
|
1335
|
+
#
|
1336
|
+
# Request templates take the incoming request after a GraphQL operation
|
1337
|
+
# is parsed and convert it into a request configuration for the selected
|
1338
|
+
# data source operation. Response templates interpret responses from the
|
1339
|
+
# data source and map it to the shape of the GraphQL field output type.
|
1340
|
+
#
|
1341
|
+
# Mapping templates are written in the Apache Velocity Template Language
|
1342
|
+
# (VTL).
|
1343
|
+
#
|
1344
|
+
# @option params [required, String] :template
|
1345
|
+
# The mapping template; this can be a request or response template. A
|
1346
|
+
# `template` is required for this action.
|
1347
|
+
#
|
1348
|
+
# @option params [required, String] :context
|
1349
|
+
# The map that holds all of the contextual information for your resolver
|
1350
|
+
# invocation. A `context` is required for this action.
|
1351
|
+
#
|
1352
|
+
# @return [Types::EvaluateMappingTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1353
|
+
#
|
1354
|
+
# * {Types::EvaluateMappingTemplateResponse#evaluation_result #evaluation_result} => String
|
1355
|
+
# * {Types::EvaluateMappingTemplateResponse#error #error} => Types::ErrorDetail
|
1356
|
+
#
|
1357
|
+
# @example Request syntax with placeholder values
|
1358
|
+
#
|
1359
|
+
# resp = client.evaluate_mapping_template({
|
1360
|
+
# template: "Template", # required
|
1361
|
+
# context: "Context", # required
|
1362
|
+
# })
|
1363
|
+
#
|
1364
|
+
# @example Response structure
|
1365
|
+
#
|
1366
|
+
# resp.evaluation_result #=> String
|
1367
|
+
# resp.error.message #=> String
|
1368
|
+
#
|
1369
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/EvaluateMappingTemplate AWS API Documentation
|
1370
|
+
#
|
1371
|
+
# @overload evaluate_mapping_template(params = {})
|
1372
|
+
# @param [Hash] params ({})
|
1373
|
+
def evaluate_mapping_template(params = {}, options = {})
|
1374
|
+
req = build_request(:evaluate_mapping_template, params)
|
1375
|
+
req.send_request(options)
|
1376
|
+
end
|
1377
|
+
|
1316
1378
|
# Flushes an `ApiCache` object.
|
1317
1379
|
#
|
1318
1380
|
# @option params [required, String] :api_id
|
@@ -2925,7 +2987,7 @@ module Aws::AppSync
|
|
2925
2987
|
# },
|
2926
2988
|
# },
|
2927
2989
|
# caching_config: {
|
2928
|
-
# ttl: 1,
|
2990
|
+
# ttl: 1, # required
|
2929
2991
|
# caching_keys: ["String"],
|
2930
2992
|
# },
|
2931
2993
|
# max_batch_size: 1,
|
@@ -3016,7 +3078,7 @@ module Aws::AppSync
|
|
3016
3078
|
params: params,
|
3017
3079
|
config: config)
|
3018
3080
|
context[:gem_name] = 'aws-sdk-appsync'
|
3019
|
-
context[:gem_version] = '1.
|
3081
|
+
context[:gem_version] = '1.54.0'
|
3020
3082
|
Seahorse::Client::Request.new(handlers, context)
|
3021
3083
|
end
|
3022
3084
|
|
@@ -44,6 +44,7 @@ module Aws::AppSync
|
|
44
44
|
ConcurrentModificationException = Shapes::StructureShape.new(name: 'ConcurrentModificationException')
|
45
45
|
ConflictDetectionType = Shapes::StringShape.new(name: 'ConflictDetectionType')
|
46
46
|
ConflictHandlerType = Shapes::StringShape.new(name: 'ConflictHandlerType')
|
47
|
+
Context = Shapes::StringShape.new(name: 'Context')
|
47
48
|
CreateApiCacheRequest = Shapes::StructureShape.new(name: 'CreateApiCacheRequest')
|
48
49
|
CreateApiCacheResponse = Shapes::StructureShape.new(name: 'CreateApiCacheResponse')
|
49
50
|
CreateApiKeyRequest = Shapes::StructureShape.new(name: 'CreateApiKeyRequest')
|
@@ -89,7 +90,11 @@ module Aws::AppSync
|
|
89
90
|
DomainNameConfigs = Shapes::ListShape.new(name: 'DomainNameConfigs')
|
90
91
|
DynamodbDataSourceConfig = Shapes::StructureShape.new(name: 'DynamodbDataSourceConfig')
|
91
92
|
ElasticsearchDataSourceConfig = Shapes::StructureShape.new(name: 'ElasticsearchDataSourceConfig')
|
93
|
+
ErrorDetail = Shapes::StructureShape.new(name: 'ErrorDetail')
|
92
94
|
ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
|
95
|
+
EvaluateMappingTemplateRequest = Shapes::StructureShape.new(name: 'EvaluateMappingTemplateRequest')
|
96
|
+
EvaluateMappingTemplateResponse = Shapes::StructureShape.new(name: 'EvaluateMappingTemplateResponse')
|
97
|
+
EvaluationResult = Shapes::StringShape.new(name: 'EvaluationResult')
|
93
98
|
FieldLogLevel = Shapes::StringShape.new(name: 'FieldLogLevel')
|
94
99
|
FlushApiCacheRequest = Shapes::StructureShape.new(name: 'FlushApiCacheRequest')
|
95
100
|
FlushApiCacheResponse = Shapes::StructureShape.new(name: 'FlushApiCacheResponse')
|
@@ -175,6 +180,7 @@ module Aws::AppSync
|
|
175
180
|
TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
|
176
181
|
TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
|
177
182
|
TagValue = Shapes::StringShape.new(name: 'TagValue')
|
183
|
+
Template = Shapes::StringShape.new(name: 'Template')
|
178
184
|
Type = Shapes::StructureShape.new(name: 'Type')
|
179
185
|
TypeDefinitionFormat = Shapes::StringShape.new(name: 'TypeDefinitionFormat')
|
180
186
|
TypeList = Shapes::ListShape.new(name: 'TypeList')
|
@@ -259,7 +265,7 @@ module Aws::AppSync
|
|
259
265
|
BadRequestException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
|
260
266
|
BadRequestException.struct_class = Types::BadRequestException
|
261
267
|
|
262
|
-
CachingConfig.add_member(:ttl, Shapes::ShapeRef.new(shape: Long, location_name: "ttl"))
|
268
|
+
CachingConfig.add_member(:ttl, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "ttl"))
|
263
269
|
CachingConfig.add_member(:caching_keys, Shapes::ShapeRef.new(shape: CachingKeys, location_name: "cachingKeys"))
|
264
270
|
CachingConfig.struct_class = Types::CachingConfig
|
265
271
|
|
@@ -459,6 +465,17 @@ module Aws::AppSync
|
|
459
465
|
ElasticsearchDataSourceConfig.add_member(:aws_region, Shapes::ShapeRef.new(shape: String, required: true, location_name: "awsRegion"))
|
460
466
|
ElasticsearchDataSourceConfig.struct_class = Types::ElasticsearchDataSourceConfig
|
461
467
|
|
468
|
+
ErrorDetail.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
|
469
|
+
ErrorDetail.struct_class = Types::ErrorDetail
|
470
|
+
|
471
|
+
EvaluateMappingTemplateRequest.add_member(:template, Shapes::ShapeRef.new(shape: Template, required: true, location_name: "template"))
|
472
|
+
EvaluateMappingTemplateRequest.add_member(:context, Shapes::ShapeRef.new(shape: Context, required: true, location_name: "context"))
|
473
|
+
EvaluateMappingTemplateRequest.struct_class = Types::EvaluateMappingTemplateRequest
|
474
|
+
|
475
|
+
EvaluateMappingTemplateResponse.add_member(:evaluation_result, Shapes::ShapeRef.new(shape: EvaluationResult, location_name: "evaluationResult"))
|
476
|
+
EvaluateMappingTemplateResponse.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetail, location_name: "error"))
|
477
|
+
EvaluateMappingTemplateResponse.struct_class = Types::EvaluateMappingTemplateResponse
|
478
|
+
|
462
479
|
FlushApiCacheRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
|
463
480
|
FlushApiCacheRequest.struct_class = Types::FlushApiCacheRequest
|
464
481
|
|
@@ -1113,6 +1130,17 @@ module Aws::AppSync
|
|
1113
1130
|
o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
|
1114
1131
|
end)
|
1115
1132
|
|
1133
|
+
api.add_operation(:evaluate_mapping_template, Seahorse::Model::Operation.new.tap do |o|
|
1134
|
+
o.name = "EvaluateMappingTemplate"
|
1135
|
+
o.http_method = "POST"
|
1136
|
+
o.http_request_uri = "/v1/dataplane-evaluatetemplate"
|
1137
|
+
o.input = Shapes::ShapeRef.new(shape: EvaluateMappingTemplateRequest)
|
1138
|
+
o.output = Shapes::ShapeRef.new(shape: EvaluateMappingTemplateResponse)
|
1139
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1140
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
|
1141
|
+
o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
|
1142
|
+
end)
|
1143
|
+
|
1116
1144
|
api.add_operation(:flush_api_cache, Seahorse::Model::Operation.new.tap do |o|
|
1117
1145
|
o.name = "FlushApiCache"
|
1118
1146
|
o.http_method = "DELETE"
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# WARNING ABOUT GENERATED CODE
|
4
|
+
#
|
5
|
+
# This file is generated. See the contributing guide for more information:
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
|
+
#
|
8
|
+
# WARNING ABOUT GENERATED CODE
|
9
|
+
|
10
|
+
module Aws::AppSync
|
11
|
+
# Endpoint parameters used to influence endpoints per request.
|
12
|
+
#
|
13
|
+
# @!attribute region
|
14
|
+
# The AWS region used to dispatch the request.
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
#
|
18
|
+
# @!attribute use_dual_stack
|
19
|
+
# When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
|
20
|
+
#
|
21
|
+
# @return [Boolean]
|
22
|
+
#
|
23
|
+
# @!attribute use_fips
|
24
|
+
# When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
|
25
|
+
#
|
26
|
+
# @return [Boolean]
|
27
|
+
#
|
28
|
+
# @!attribute endpoint
|
29
|
+
# Override the endpoint used to send this request
|
30
|
+
#
|
31
|
+
# @return [String]
|
32
|
+
#
|
33
|
+
EndpointParameters = Struct.new(
|
34
|
+
:region,
|
35
|
+
:use_dual_stack,
|
36
|
+
:use_fips,
|
37
|
+
:endpoint,
|
38
|
+
) do
|
39
|
+
include Aws::Structure
|
40
|
+
|
41
|
+
# @api private
|
42
|
+
class << self
|
43
|
+
PARAM_MAP = {
|
44
|
+
'Region' => :region,
|
45
|
+
'UseDualStack' => :use_dual_stack,
|
46
|
+
'UseFIPS' => :use_fips,
|
47
|
+
'Endpoint' => :endpoint,
|
48
|
+
}.freeze
|
49
|
+
end
|
50
|
+
|
51
|
+
def initialize(options = {})
|
52
|
+
self[:region] = options[:region]
|
53
|
+
self[:use_dual_stack] = options[:use_dual_stack]
|
54
|
+
self[:use_dual_stack] = false if self[:use_dual_stack].nil?
|
55
|
+
if self[:use_dual_stack].nil?
|
56
|
+
raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
|
57
|
+
end
|
58
|
+
self[:use_fips] = options[:use_fips]
|
59
|
+
self[:use_fips] = false if self[:use_fips].nil?
|
60
|
+
if self[:use_fips].nil?
|
61
|
+
raise ArgumentError, "Missing required EndpointParameter: :use_fips"
|
62
|
+
end
|
63
|
+
self[:endpoint] = options[:endpoint]
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# WARNING ABOUT GENERATED CODE
|
4
|
+
#
|
5
|
+
# This file is generated. See the contributing guide for more information:
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
|
+
#
|
8
|
+
# WARNING ABOUT GENERATED CODE
|
9
|
+
|
10
|
+
module Aws::AppSync
|
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
|
+
)
|
21
|
+
end
|
22
|
+
@provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
|
23
|
+
end
|
24
|
+
|
25
|
+
def resolve_endpoint(parameters)
|
26
|
+
@provider.resolve_endpoint(parameters)
|
27
|
+
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
|
+
dCI6eyJ1cmwiOiJodHRwczovL2FwcHN5bmMtZmlwcy57UmVnaW9ufS57UGFy
|
77
|
+
dGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
|
78
|
+
Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29u
|
79
|
+
ZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBl
|
80
|
+
bmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBv
|
81
|
+
bmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpb
|
82
|
+
eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
|
83
|
+
In0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
|
84
|
+
cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6
|
85
|
+
ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
|
86
|
+
c3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
|
87
|
+
b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
|
88
|
+
aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBwc3luYy1m
|
89
|
+
aXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInBy
|
90
|
+
b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
|
91
|
+
XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxl
|
92
|
+
ZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwi
|
93
|
+
dHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
|
94
|
+
bkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVd
|
95
|
+
fV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZu
|
96
|
+
IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRy
|
97
|
+
IiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRz
|
98
|
+
RHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
|
99
|
+
aXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9hcHBzeW5j
|
100
|
+
LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4
|
101
|
+
fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
|
102
|
+
b2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sg
|
103
|
+
aXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
|
104
|
+
dCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
|
105
|
+
W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBwc3luYy57UmVnaW9u
|
106
|
+
fS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
|
107
|
+
fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
|
108
|
+
|
109
|
+
JSON
|
110
|
+
end
|
111
|
+
end
|