New Upstream Release - ruby-aws-sdk-core

Ready changes

Summary

Merged new upstream version: 3.170.0 (was: 3.168.4).

Diff

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 66bfca2..94c1b84 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,22 @@
 Unreleased Changes
 ------------------
 
+3.170.0 (2023-01-25)
+------------------
+
+* Feature - Updated Aws::STS::Client with the latest API changes.
+
+3.169.0 (2023-01-18)
+------------------
+
+* Feature - Updated Aws::STS::Client with the latest API changes.
+
+* Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
+
+* Feature - Updated Aws::SSO::Client with the latest API changes.
+
+* Issue - Replace runtime endpoint resolution approach with generated ruby code for STS, SSO, and SSOOIDC.
+
 3.168.4 (2022-12-08)
 ------------------
 
diff --git a/VERSION b/VERSION
index d25a63c..8a3e1e0 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.168.4
+3.170.0
diff --git a/aws-sdk-core.gemspec b/aws-sdk-core.gemspec
index e1d7c92..ec0707c 100644
--- a/aws-sdk-core.gemspec
+++ b/aws-sdk-core.gemspec
@@ -2,17 +2,17 @@
 # This file has been automatically generated by gem2tgz #
 #########################################################
 # -*- encoding: utf-8 -*-
-# stub: aws-sdk-core 3.168.4 ruby lib
+# stub: aws-sdk-core 3.170.0 ruby lib
 
 Gem::Specification.new do |s|
   s.name = "aws-sdk-core".freeze
-  s.version = "3.168.4"
+  s.version = "3.170.0"
 
   s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
   s.metadata = { "changelog_uri" => "https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-core/CHANGELOG.md", "source_code_uri" => "https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-core" } if s.respond_to? :metadata=
   s.require_paths = ["lib".freeze]
   s.authors = ["Amazon Web Services".freeze]
-  s.date = "2022-12-08"
+  s.date = "2023-01-25"
   s.description = "Provides API clients for AWS. This gem is part of the official AWS SDK for Ruby.".freeze
   s.files = ["CHANGELOG.md".freeze, "LICENSE.txt".freeze, "VERSION".freeze, "ca-bundle.crt".freeze, "lib/aws-defaults.rb".freeze, "lib/aws-defaults/default_configuration.rb".freeze, "lib/aws-defaults/defaults_mode_config_resolver.rb".freeze, "lib/aws-sdk-core.rb".freeze, "lib/aws-sdk-core/arn.rb".freeze, "lib/aws-sdk-core/arn_parser.rb".freeze, "lib/aws-sdk-core/assume_role_credentials.rb".freeze, "lib/aws-sdk-core/assume_role_web_identity_credentials.rb".freeze, "lib/aws-sdk-core/async_client_stubs.rb".freeze, "lib/aws-sdk-core/binary.rb".freeze, "lib/aws-sdk-core/binary/decode_handler.rb".freeze, "lib/aws-sdk-core/binary/encode_handler.rb".freeze, "lib/aws-sdk-core/binary/event_builder.rb".freeze, "lib/aws-sdk-core/binary/event_parser.rb".freeze, "lib/aws-sdk-core/binary/event_stream_decoder.rb".freeze, "lib/aws-sdk-core/binary/event_stream_encoder.rb".freeze, "lib/aws-sdk-core/client_side_monitoring/publisher.rb".freeze, "lib/aws-sdk-core/client_side_monitoring/request_metrics.rb".freeze, "lib/aws-sdk-core/client_stubs.rb".freeze, "lib/aws-sdk-core/credential_provider.rb".freeze, "lib/aws-sdk-core/credential_provider_chain.rb".freeze, "lib/aws-sdk-core/credentials.rb".freeze, "lib/aws-sdk-core/deprecations.rb".freeze, "lib/aws-sdk-core/eager_loader.rb".freeze, "lib/aws-sdk-core/ec2_metadata.rb".freeze, "lib/aws-sdk-core/ecs_credentials.rb".freeze, "lib/aws-sdk-core/endpoint_cache.rb".freeze, "lib/aws-sdk-core/endpoints.rb".freeze, "lib/aws-sdk-core/endpoints/condition.rb".freeze, "lib/aws-sdk-core/endpoints/endpoint.rb".freeze, "lib/aws-sdk-core/endpoints/endpoint_rule.rb".freeze, "lib/aws-sdk-core/endpoints/error_rule.rb".freeze, "lib/aws-sdk-core/endpoints/function.rb".freeze, "lib/aws-sdk-core/endpoints/matchers.rb".freeze, "lib/aws-sdk-core/endpoints/reference.rb".freeze, "lib/aws-sdk-core/endpoints/rule.rb".freeze, "lib/aws-sdk-core/endpoints/rule_set.rb".freeze, "lib/aws-sdk-core/endpoints/rules_provider.rb".freeze, "lib/aws-sdk-core/endpoints/templater.rb".freeze, "lib/aws-sdk-core/endpoints/tree_rule.rb".freeze, "lib/aws-sdk-core/endpoints/url.rb".freeze, "lib/aws-sdk-core/errors.rb".freeze, "lib/aws-sdk-core/event_emitter.rb".freeze, "lib/aws-sdk-core/ini_parser.rb".freeze, "lib/aws-sdk-core/instance_profile_credentials.rb".freeze, "lib/aws-sdk-core/json.rb".freeze, "lib/aws-sdk-core/json/builder.rb".freeze, "lib/aws-sdk-core/json/error_handler.rb".freeze, "lib/aws-sdk-core/json/handler.rb".freeze, "lib/aws-sdk-core/json/json_engine.rb".freeze, "lib/aws-sdk-core/json/oj_engine.rb".freeze, "lib/aws-sdk-core/json/parser.rb".freeze, "lib/aws-sdk-core/log/formatter.rb".freeze, "lib/aws-sdk-core/log/handler.rb".freeze, "lib/aws-sdk-core/log/param_filter.rb".freeze, "lib/aws-sdk-core/log/param_formatter.rb".freeze, "lib/aws-sdk-core/pageable_response.rb".freeze, "lib/aws-sdk-core/pager.rb".freeze, "lib/aws-sdk-core/param_converter.rb".freeze, "lib/aws-sdk-core/param_validator.rb".freeze, "lib/aws-sdk-core/plugins/api_key.rb".freeze, "lib/aws-sdk-core/plugins/apig_authorizer_token.rb".freeze, "lib/aws-sdk-core/plugins/apig_credentials_configuration.rb".freeze, "lib/aws-sdk-core/plugins/apig_user_agent.rb".freeze, "lib/aws-sdk-core/plugins/bearer_authorization.rb".freeze, "lib/aws-sdk-core/plugins/checksum_algorithm.rb".freeze, "lib/aws-sdk-core/plugins/client_metrics_plugin.rb".freeze, "lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb".freeze, "lib/aws-sdk-core/plugins/credentials_configuration.rb".freeze, "lib/aws-sdk-core/plugins/defaults_mode.rb".freeze, "lib/aws-sdk-core/plugins/endpoint_discovery.rb".freeze, "lib/aws-sdk-core/plugins/endpoint_pattern.rb".freeze, "lib/aws-sdk-core/plugins/event_stream_configuration.rb".freeze, "lib/aws-sdk-core/plugins/global_configuration.rb".freeze, "lib/aws-sdk-core/plugins/helpful_socket_errors.rb".freeze, "lib/aws-sdk-core/plugins/http_checksum.rb".freeze, "lib/aws-sdk-core/plugins/idempotency_token.rb".freeze, "lib/aws-sdk-core/plugins/invocation_id.rb".freeze, "lib/aws-sdk-core/plugins/jsonvalue_converter.rb".freeze, "lib/aws-sdk-core/plugins/logging.rb".freeze, "lib/aws-sdk-core/plugins/param_converter.rb".freeze, "lib/aws-sdk-core/plugins/param_validator.rb".freeze, "lib/aws-sdk-core/plugins/protocols/api_gateway.rb".freeze, "lib/aws-sdk-core/plugins/protocols/ec2.rb".freeze, "lib/aws-sdk-core/plugins/protocols/json_rpc.rb".freeze, "lib/aws-sdk-core/plugins/protocols/query.rb".freeze, "lib/aws-sdk-core/plugins/protocols/rest_json.rb".freeze, "lib/aws-sdk-core/plugins/protocols/rest_xml.rb".freeze, "lib/aws-sdk-core/plugins/recursion_detection.rb".freeze, "lib/aws-sdk-core/plugins/regional_endpoint.rb".freeze, "lib/aws-sdk-core/plugins/response_paging.rb".freeze, "lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb".freeze, "lib/aws-sdk-core/plugins/retries/clock_skew.rb".freeze, "lib/aws-sdk-core/plugins/retries/error_inspector.rb".freeze, "lib/aws-sdk-core/plugins/retries/retry_quota.rb".freeze, "lib/aws-sdk-core/plugins/retry_errors.rb".freeze, "lib/aws-sdk-core/plugins/sign.rb".freeze, "lib/aws-sdk-core/plugins/signature_v2.rb".freeze, "lib/aws-sdk-core/plugins/signature_v4.rb".freeze, "lib/aws-sdk-core/plugins/stub_responses.rb".freeze, "lib/aws-sdk-core/plugins/transfer_encoding.rb".freeze, "lib/aws-sdk-core/plugins/user_agent.rb".freeze, "lib/aws-sdk-core/process_credentials.rb".freeze, "lib/aws-sdk-core/query.rb".freeze, "lib/aws-sdk-core/query/ec2_param_builder.rb".freeze, "lib/aws-sdk-core/query/handler.rb".freeze, "lib/aws-sdk-core/query/param.rb".freeze, "lib/aws-sdk-core/query/param_builder.rb".freeze, "lib/aws-sdk-core/query/param_list.rb".freeze, "lib/aws-sdk-core/refreshing_credentials.rb".freeze, "lib/aws-sdk-core/refreshing_token.rb".freeze, "lib/aws-sdk-core/resources/collection.rb".freeze, "lib/aws-sdk-core/rest.rb".freeze, "lib/aws-sdk-core/rest/handler.rb".freeze, "lib/aws-sdk-core/rest/request/body.rb".freeze, "lib/aws-sdk-core/rest/request/builder.rb".freeze, "lib/aws-sdk-core/rest/request/endpoint.rb".freeze, "lib/aws-sdk-core/rest/request/headers.rb".freeze, "lib/aws-sdk-core/rest/request/querystring_builder.rb".freeze, "lib/aws-sdk-core/rest/response/body.rb".freeze, "lib/aws-sdk-core/rest/response/headers.rb".freeze, "lib/aws-sdk-core/rest/response/parser.rb".freeze, "lib/aws-sdk-core/rest/response/status_code.rb".freeze, "lib/aws-sdk-core/shared_config.rb".freeze, "lib/aws-sdk-core/shared_credentials.rb".freeze, "lib/aws-sdk-core/sso_credentials.rb".freeze, "lib/aws-sdk-core/sso_token_provider.rb".freeze, "lib/aws-sdk-core/static_token_provider.rb".freeze, "lib/aws-sdk-core/structure.rb".freeze, "lib/aws-sdk-core/stubbing/data_applicator.rb".freeze, "lib/aws-sdk-core/stubbing/empty_stub.rb".freeze, "lib/aws-sdk-core/stubbing/protocols/api_gateway.rb".freeze, "lib/aws-sdk-core/stubbing/protocols/ec2.rb".freeze, "lib/aws-sdk-core/stubbing/protocols/json.rb".freeze, "lib/aws-sdk-core/stubbing/protocols/query.rb".freeze, "lib/aws-sdk-core/stubbing/protocols/rest.rb".freeze, "lib/aws-sdk-core/stubbing/protocols/rest_json.rb".freeze, "lib/aws-sdk-core/stubbing/protocols/rest_xml.rb".freeze, "lib/aws-sdk-core/stubbing/stub_data.rb".freeze, "lib/aws-sdk-core/stubbing/xml_error.rb".freeze, "lib/aws-sdk-core/token.rb".freeze, "lib/aws-sdk-core/token_provider.rb".freeze, "lib/aws-sdk-core/token_provider_chain.rb".freeze, "lib/aws-sdk-core/type_builder.rb".freeze, "lib/aws-sdk-core/util.rb".freeze, "lib/aws-sdk-core/waiters.rb".freeze, "lib/aws-sdk-core/waiters/errors.rb".freeze, "lib/aws-sdk-core/waiters/poller.rb".freeze, "lib/aws-sdk-core/waiters/waiter.rb".freeze, "lib/aws-sdk-core/xml.rb".freeze, "lib/aws-sdk-core/xml/builder.rb".freeze, "lib/aws-sdk-core/xml/default_list.rb".freeze, "lib/aws-sdk-core/xml/default_map.rb".freeze, "lib/aws-sdk-core/xml/doc_builder.rb".freeze, "lib/aws-sdk-core/xml/error_handler.rb".freeze, "lib/aws-sdk-core/xml/parser.rb".freeze, "lib/aws-sdk-core/xml/parser/engines/libxml.rb".freeze, "lib/aws-sdk-core/xml/parser/engines/nokogiri.rb".freeze, "lib/aws-sdk-core/xml/parser/engines/oga.rb".freeze, "lib/aws-sdk-core/xml/parser/engines/ox.rb".freeze, "lib/aws-sdk-core/xml/parser/engines/rexml.rb".freeze, "lib/aws-sdk-core/xml/parser/frame.rb".freeze, "lib/aws-sdk-core/xml/parser/parsing_error.rb".freeze, "lib/aws-sdk-core/xml/parser/stack.rb".freeze, "lib/aws-sdk-sso.rb".freeze, "lib/aws-sdk-sso/client.rb".freeze, "lib/aws-sdk-sso/client_api.rb".freeze, "lib/aws-sdk-sso/customizations.rb".freeze, "lib/aws-sdk-sso/endpoint_parameters.rb".freeze, "lib/aws-sdk-sso/endpoint_provider.rb".freeze, "lib/aws-sdk-sso/endpoints.rb".freeze, "lib/aws-sdk-sso/errors.rb".freeze, "lib/aws-sdk-sso/plugins/endpoints.rb".freeze, "lib/aws-sdk-sso/resource.rb".freeze, "lib/aws-sdk-sso/types.rb".freeze, "lib/aws-sdk-ssooidc.rb".freeze, "lib/aws-sdk-ssooidc/client.rb".freeze, "lib/aws-sdk-ssooidc/client_api.rb".freeze, "lib/aws-sdk-ssooidc/customizations.rb".freeze, "lib/aws-sdk-ssooidc/endpoint_parameters.rb".freeze, "lib/aws-sdk-ssooidc/endpoint_provider.rb".freeze, "lib/aws-sdk-ssooidc/endpoints.rb".freeze, "lib/aws-sdk-ssooidc/errors.rb".freeze, "lib/aws-sdk-ssooidc/plugins/endpoints.rb".freeze, "lib/aws-sdk-ssooidc/resource.rb".freeze, "lib/aws-sdk-ssooidc/types.rb".freeze, "lib/aws-sdk-sts.rb".freeze, "lib/aws-sdk-sts/client.rb".freeze, "lib/aws-sdk-sts/client_api.rb".freeze, "lib/aws-sdk-sts/customizations.rb".freeze, "lib/aws-sdk-sts/endpoint_parameters.rb".freeze, "lib/aws-sdk-sts/endpoint_provider.rb".freeze, "lib/aws-sdk-sts/endpoints.rb".freeze, "lib/aws-sdk-sts/errors.rb".freeze, "lib/aws-sdk-sts/plugins/endpoints.rb".freeze, "lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb".freeze, "lib/aws-sdk-sts/presigner.rb".freeze, "lib/aws-sdk-sts/resource.rb".freeze, "lib/aws-sdk-sts/types.rb".freeze, "lib/seahorse.rb".freeze, "lib/seahorse/client/async_base.rb".freeze, "lib/seahorse/client/async_response.rb".freeze, "lib/seahorse/client/base.rb".freeze, "lib/seahorse/client/block_io.rb".freeze, "lib/seahorse/client/configuration.rb".freeze, "lib/seahorse/client/events.rb".freeze, "lib/seahorse/client/h2/connection.rb".freeze, "lib/seahorse/client/h2/handler.rb".freeze, "lib/seahorse/client/handler.rb".freeze, "lib/seahorse/client/handler_builder.rb".freeze, "lib/seahorse/client/handler_list.rb".freeze, "lib/seahorse/client/handler_list_entry.rb".freeze, "lib/seahorse/client/http/async_response.rb".freeze, "lib/seahorse/client/http/headers.rb".freeze, "lib/seahorse/client/http/request.rb".freeze, "lib/seahorse/client/http/response.rb".freeze, "lib/seahorse/client/logging/formatter.rb".freeze, "lib/seahorse/client/logging/handler.rb".freeze, "lib/seahorse/client/managed_file.rb".freeze, "lib/seahorse/client/net_http/connection_pool.rb".freeze, "lib/seahorse/client/net_http/handler.rb".freeze, "lib/seahorse/client/net_http/patches.rb".freeze, "lib/seahorse/client/networking_error.rb".freeze, "lib/seahorse/client/plugin.rb".freeze, "lib/seahorse/client/plugin_list.rb".freeze, "lib/seahorse/client/plugins/content_length.rb".freeze, "lib/seahorse/client/plugins/endpoint.rb".freeze, "lib/seahorse/client/plugins/h2.rb".freeze, "lib/seahorse/client/plugins/logging.rb".freeze, "lib/seahorse/client/plugins/net_http.rb".freeze, "lib/seahorse/client/plugins/operation_methods.rb".freeze, "lib/seahorse/client/plugins/raise_response_errors.rb".freeze, "lib/seahorse/client/plugins/request_callback.rb".freeze, "lib/seahorse/client/plugins/response_target.rb".freeze, "lib/seahorse/client/request.rb".freeze, "lib/seahorse/client/request_context.rb".freeze, "lib/seahorse/client/response.rb".freeze, "lib/seahorse/model/api.rb".freeze, "lib/seahorse/model/authorizer.rb".freeze, "lib/seahorse/model/operation.rb".freeze, "lib/seahorse/model/shapes.rb".freeze, "lib/seahorse/util.rb".freeze, "lib/seahorse/version.rb".freeze]
   s.homepage = "https://github.com/aws/aws-sdk-ruby".freeze
diff --git a/debian/changelog b/debian/changelog
index b3606ea..be39321 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+ruby-aws-sdk-core (3.170.0-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Sun, 05 Mar 2023 09:46:20 -0000
+
 ruby-aws-sdk-core (3.168.4-1) unstable; urgency=medium
 
   * Team upload.
diff --git a/lib/aws-sdk-core/endpoints/condition.rb b/lib/aws-sdk-core/endpoints/condition.rb
index ab6c477..b7c1ef2 100644
--- a/lib/aws-sdk-core/endpoints/condition.rb
+++ b/lib/aws-sdk-core/endpoints/condition.rb
@@ -2,6 +2,11 @@
 
 module Aws
   module Endpoints
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     class Condition
       def initialize(fn:, argv:, assign: nil)
diff --git a/lib/aws-sdk-core/endpoints/endpoint_rule.rb b/lib/aws-sdk-core/endpoints/endpoint_rule.rb
index a50f8cf..4f10009 100644
--- a/lib/aws-sdk-core/endpoints/endpoint_rule.rb
+++ b/lib/aws-sdk-core/endpoints/endpoint_rule.rb
@@ -2,7 +2,11 @@
 
 module Aws
   module Endpoints
-    # @api private
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.    # @api private
     class EndpointRule < Rule
       def initialize(type: 'endpoint', conditions:, endpoint:,
                      documentation: nil)
diff --git a/lib/aws-sdk-core/endpoints/error_rule.rb b/lib/aws-sdk-core/endpoints/error_rule.rb
index c2246ed..f3f5bac 100644
--- a/lib/aws-sdk-core/endpoints/error_rule.rb
+++ b/lib/aws-sdk-core/endpoints/error_rule.rb
@@ -2,6 +2,11 @@
 
 module Aws
   module Endpoints
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     class ErrorRule < Rule
       def initialize(type: 'error', conditions:, error: nil, documentation: nil)
diff --git a/lib/aws-sdk-core/endpoints/function.rb b/lib/aws-sdk-core/endpoints/function.rb
index 63908fb..cb0a05b 100644
--- a/lib/aws-sdk-core/endpoints/function.rb
+++ b/lib/aws-sdk-core/endpoints/function.rb
@@ -2,6 +2,11 @@
 
 module Aws
   module Endpoints
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     class Function
       def initialize(fn:, argv:)
diff --git a/lib/aws-sdk-core/endpoints/reference.rb b/lib/aws-sdk-core/endpoints/reference.rb
index 1e66796..f176786 100644
--- a/lib/aws-sdk-core/endpoints/reference.rb
+++ b/lib/aws-sdk-core/endpoints/reference.rb
@@ -2,6 +2,11 @@
 
 module Aws
   module Endpoints
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     class Reference
       def initialize(ref:)
diff --git a/lib/aws-sdk-core/endpoints/rule.rb b/lib/aws-sdk-core/endpoints/rule.rb
index 0abd6be..04ca810 100644
--- a/lib/aws-sdk-core/endpoints/rule.rb
+++ b/lib/aws-sdk-core/endpoints/rule.rb
@@ -2,6 +2,11 @@
 
 module Aws
   module Endpoints
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     class Rule
       # Resolves a value that is a function, reference, or template string.
diff --git a/lib/aws-sdk-core/endpoints/rule_set.rb b/lib/aws-sdk-core/endpoints/rule_set.rb
index b2c6535..93b9441 100644
--- a/lib/aws-sdk-core/endpoints/rule_set.rb
+++ b/lib/aws-sdk-core/endpoints/rule_set.rb
@@ -2,6 +2,11 @@
 
 module Aws
   module Endpoints
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     class RuleSet
       def initialize(version:, service_id:, parameters:, rules:)
diff --git a/lib/aws-sdk-core/endpoints/rules_provider.rb b/lib/aws-sdk-core/endpoints/rules_provider.rb
index 33a4c50..95c15de 100644
--- a/lib/aws-sdk-core/endpoints/rules_provider.rb
+++ b/lib/aws-sdk-core/endpoints/rules_provider.rb
@@ -1,5 +1,10 @@
 module Aws
   module Endpoints
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     class RulesProvider
       def initialize(rule_set)
diff --git a/lib/aws-sdk-core/endpoints/templater.rb b/lib/aws-sdk-core/endpoints/templater.rb
index 165e523..720cfa2 100644
--- a/lib/aws-sdk-core/endpoints/templater.rb
+++ b/lib/aws-sdk-core/endpoints/templater.rb
@@ -3,6 +3,12 @@
 module Aws
   module Endpoints
     # Does substitutions for templated endpoint strings
+
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     module Templater
       class << self
diff --git a/lib/aws-sdk-core/endpoints/tree_rule.rb b/lib/aws-sdk-core/endpoints/tree_rule.rb
index 692c8e2..930a940 100644
--- a/lib/aws-sdk-core/endpoints/tree_rule.rb
+++ b/lib/aws-sdk-core/endpoints/tree_rule.rb
@@ -2,6 +2,11 @@
 
 module Aws
   module Endpoints
+    # This class is deprecated. It is used by the Runtime endpoint
+    # resolution approach. It has been replaced by a code generated
+    # approach in each service gem. It can be removed in a new
+    # major version. It has to exist because
+    # old service gems can use a new core version.
     # @api private
     class TreeRule
       def initialize(type: 'tree', conditions:, rules:, documentation: nil)
diff --git a/lib/aws-sdk-core/endpoints/url.rb b/lib/aws-sdk-core/endpoints/url.rb
index cf1cadb..3c156dc 100644
--- a/lib/aws-sdk-core/endpoints/url.rb
+++ b/lib/aws-sdk-core/endpoints/url.rb
@@ -4,6 +4,7 @@ require 'ipaddr'
 
 module Aws
   module Endpoints
+
     # @api private
     class URL
       def initialize(url)
diff --git a/lib/aws-sdk-core/xml/parser/engines/oga.rb b/lib/aws-sdk-core/xml/parser/engines/oga.rb
index e8e6612..6520901 100644
--- a/lib/aws-sdk-core/xml/parser/engines/oga.rb
+++ b/lib/aws-sdk-core/xml/parser/engines/oga.rb
@@ -1,5 +1,7 @@
 # frozen_string_literal: true
 
+# Oga Java requires JRuby.runtime
+require 'jruby' if RUBY_PLATFORM == 'java'
 require 'oga'
 
 module Aws
diff --git a/lib/aws-sdk-sso.rb b/lib/aws-sdk-sso.rb
index 93bb8b7..6b2fc17 100644
--- a/lib/aws-sdk-sso.rb
+++ b/lib/aws-sdk-sso.rb
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sso/customizations'
 # @!group service
 module Aws::SSO
 
-  GEM_VERSION = '3.168.4'
+  GEM_VERSION = '3.170.0'
 
 end
diff --git a/lib/aws-sdk-sso/client.rb b/lib/aws-sdk-sso/client.rb
index d20e736..9e310f4 100644
--- a/lib/aws-sdk-sso/client.rb
+++ b/lib/aws-sdk-sso/client.rb
@@ -585,7 +585,7 @@ module Aws::SSO
         params: params,
         config: config)
       context[:gem_name] = 'aws-sdk-core'
-      context[:gem_version] = '3.168.4'
+      context[:gem_version] = '3.170.0'
       Seahorse::Client::Request.new(handlers, context)
     end
 
diff --git a/lib/aws-sdk-sso/endpoint_provider.rb b/lib/aws-sdk-sso/endpoint_provider.rb
index e46b3b4..c32a807 100644
--- a/lib/aws-sdk-sso/endpoint_provider.rb
+++ b/lib/aws-sdk-sso/endpoint_provider.rb
@@ -9,104 +9,43 @@
 
 module Aws::SSO
   class EndpointProvider
-    def initialize(rule_set = nil)
-      @@rule_set ||= begin
-        endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
-        Aws::Endpoints::RuleSet.new(
-          version: endpoint_rules['version'],
-          service_id: endpoint_rules['serviceId'],
-          parameters: endpoint_rules['parameters'],
-          rules: endpoint_rules['rules']
-        )
+    def resolve_endpoint(parameters)
+      region = parameters.region
+      use_dual_stack = parameters.use_dual_stack
+      use_fips = parameters.use_fips
+      endpoint = parameters.endpoint
+      if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
+        if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
+          if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
+            raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
+          end
+          if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+            raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
+          end
+          return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+          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"))
+            return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
+          if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
+            return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+          if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
+            return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
+        end
+        return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
       end
-      @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
-    end
+      raise ArgumentError, 'No endpoint could be resolved'
 
-    def resolve_endpoint(parameters)
-      @provider.resolve_endpoint(parameters)
     end
-
-    # @api private
-    RULES = <<-JSON
-eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
-bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
-dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
-cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
-dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
-ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
-ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
-ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
-aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
-OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
-UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
-dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
-UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
-dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
-ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
-IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
-aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
-bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
-ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
-Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
-cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
-InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
-aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
-cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
-InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
-W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
-UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
-SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
-eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
-InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
-LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
-ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
-b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
-fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
-RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
-ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
-ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
-ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
-dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
-dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
-Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
-In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
-YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
-YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
-cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
-dCI6eyJ1cmwiOiJodHRwczovL3BvcnRhbC5zc28tZmlwcy57UmVnaW9ufS57
-UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
-aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsi
-Y29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFy
-ZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
-dCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
-IjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VG
-SVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
-aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
-biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
-fSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
-eyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
-ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcG9ydGFs
-LnNzby1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4
-fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
-b2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMg
-ZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBG
-SVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
-Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9
-LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
-Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
-ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
-cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
-eyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9w
-b3J0YWwuc3NvLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNr
-RG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
-cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJE
-dWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBu
-b3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
-ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcG9ydGFs
-LnNzby57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
-cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
-fV19XX0=
-
-    JSON
   end
 end
diff --git a/lib/aws-sdk-ssooidc.rb b/lib/aws-sdk-ssooidc.rb
index 62b7dbe..bd935bb 100644
--- a/lib/aws-sdk-ssooidc.rb
+++ b/lib/aws-sdk-ssooidc.rb
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-ssooidc/customizations'
 # @!group service
 module Aws::SSOOIDC
 
-  GEM_VERSION = '3.168.4'
+  GEM_VERSION = '3.170.0'
 
 end
diff --git a/lib/aws-sdk-ssooidc/client.rb b/lib/aws-sdk-ssooidc/client.rb
index 0a08f5b..354d178 100644
--- a/lib/aws-sdk-ssooidc/client.rb
+++ b/lib/aws-sdk-ssooidc/client.rb
@@ -581,7 +581,7 @@ module Aws::SSOOIDC
         params: params,
         config: config)
       context[:gem_name] = 'aws-sdk-core'
-      context[:gem_version] = '3.168.4'
+      context[:gem_version] = '3.170.0'
       Seahorse::Client::Request.new(handlers, context)
     end
 
diff --git a/lib/aws-sdk-ssooidc/endpoint_provider.rb b/lib/aws-sdk-ssooidc/endpoint_provider.rb
index a26896d..fcc6e13 100644
--- a/lib/aws-sdk-ssooidc/endpoint_provider.rb
+++ b/lib/aws-sdk-ssooidc/endpoint_provider.rb
@@ -9,103 +9,43 @@
 
 module Aws::SSOOIDC
   class EndpointProvider
-    def initialize(rule_set = nil)
-      @@rule_set ||= begin
-        endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
-        Aws::Endpoints::RuleSet.new(
-          version: endpoint_rules['version'],
-          service_id: endpoint_rules['serviceId'],
-          parameters: endpoint_rules['parameters'],
-          rules: endpoint_rules['rules']
-        )
+    def resolve_endpoint(parameters)
+      region = parameters.region
+      use_dual_stack = parameters.use_dual_stack
+      use_fips = parameters.use_fips
+      endpoint = parameters.endpoint
+      if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
+        if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
+          if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
+            raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
+          end
+          if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+            raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
+          end
+          return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+          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"))
+            return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
+          if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
+            return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+          if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
+            return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
+        end
+        return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
       end
-      @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
-    end
+      raise ArgumentError, 'No endpoint could be resolved'
 
-    def resolve_endpoint(parameters)
-      @provider.resolve_endpoint(parameters)
     end
-
-    # @api private
-    RULES = <<-JSON
-eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
-bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
-dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
-cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
-dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
-ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
-ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
-ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
-aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
-OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
-UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
-dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
-UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
-dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
-ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
-IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
-aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
-bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
-ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
-Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
-cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
-InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
-aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
-cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
-InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
-W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
-UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
-SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
-eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
-InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
-LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
-ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
-b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
-fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
-RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
-ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
-ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
-ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
-dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
-dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
-Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
-In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
-YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
-YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
-cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
-dCI6eyJ1cmwiOiJodHRwczovL29pZGMtZmlwcy57UmVnaW9ufS57UGFydGl0
-aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
-fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0
-aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBlbmFi
-bGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBvbmUg
-b3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJm
-biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0s
-dHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
-W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6Imdl
-dEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3Vw
-cG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
-aXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
-cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vb2lkYy1maXBzLntS
-ZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRp
-ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1dfSx7
-ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxlZCBidXQg
-dGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwidHlwZSI6
-ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFs
-cyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sInR5
-cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9v
-bGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJn
-diI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRzRHVhbFN0
-YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
-IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9vaWRjLntSZWdpb259
-LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3Bl
-cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0s
-eyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxl
-ZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3Rh
-Y2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBv
-aW50Ijp7InVybCI6Imh0dHBzOi8vb2lkYy57UmVnaW9ufS57UGFydGl0aW9u
-UmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6
-e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
-
-    JSON
   end
 end
diff --git a/lib/aws-sdk-sts.rb b/lib/aws-sdk-sts.rb
index ecc1b08..9e139ad 100644
--- a/lib/aws-sdk-sts.rb
+++ b/lib/aws-sdk-sts.rb
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sts/customizations'
 # @!group service
 module Aws::STS
 
-  GEM_VERSION = '3.168.4'
+  GEM_VERSION = '3.170.0'
 
 end
diff --git a/lib/aws-sdk-sts/client.rb b/lib/aws-sdk-sts/client.rb
index dfd67dc..5d19587 100644
--- a/lib/aws-sdk-sts/client.rb
+++ b/lib/aws-sdk-sts/client.rb
@@ -376,14 +376,13 @@ module Aws::STS
     # @!group API Operations
 
     # Returns a set of temporary security credentials that you can use to
-    # access Amazon Web Services resources that you might not normally have
-    # access to. These temporary credentials consist of an access key ID, a
-    # secret access key, and a security token. Typically, you use
-    # `AssumeRole` within your account or for cross-account access. For a
-    # comparison of `AssumeRole` with other API operations that produce
-    # temporary credentials, see [Requesting Temporary Security
-    # Credentials][1] and [Comparing the Amazon Web Services STS API
-    # operations][2] in the *IAM User Guide*.
+    # access Amazon Web Services resources. These temporary credentials
+    # consist of an access key ID, a secret access key, and a security
+    # token. Typically, you use `AssumeRole` within your account or for
+    # cross-account access. For a comparison of `AssumeRole` with other API
+    # operations that produce temporary credentials, see [Requesting
+    # Temporary Security Credentials][1] and [Comparing the Amazon Web
+    # Services STS API operations][2] in the *IAM User Guide*.
     #
     # **Permissions**
     #
@@ -1843,13 +1842,16 @@ module Aws::STS
     # **Permissions**
     #
     # You can use the temporary credentials created by `GetFederationToken`
-    # in any Amazon Web Services service except the following:
+    # in any Amazon Web Services service with the following exceptions:
     #
     # * You cannot call any IAM operations using the CLI or the Amazon Web
-    #   Services API.
+    #   Services API. This limitation does not apply to console sessions.
     #
     # * You cannot call any STS operations except `GetCallerIdentity`.
     #
+    # You can use temporary credentials for single sign-on (SSO) to the
+    # console.
+    #
     # You must pass an inline or managed [session policy][6] to this
     # operation. You can pass a single JSON policy document to use as an
     # inline session policy. You can also specify up to 10 managed policy
@@ -2316,7 +2318,7 @@ module Aws::STS
         params: params,
         config: config)
       context[:gem_name] = 'aws-sdk-core'
-      context[:gem_version] = '3.168.4'
+      context[:gem_version] = '3.170.0'
       Seahorse::Client::Request.new(handlers, context)
     end
 
diff --git a/lib/aws-sdk-sts/endpoint_provider.rb b/lib/aws-sdk-sts/endpoint_provider.rb
index 42b27f7..935bc12 100644
--- a/lib/aws-sdk-sts/endpoint_provider.rb
+++ b/lib/aws-sdk-sts/endpoint_provider.rb
@@ -9,221 +9,101 @@
 
 module Aws::STS
   class EndpointProvider
-    def initialize(rule_set = nil)
-      @@rule_set ||= begin
-        endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
-        Aws::Endpoints::RuleSet.new(
-          version: endpoint_rules['version'],
-          service_id: endpoint_rules['serviceId'],
-          parameters: endpoint_rules['parameters'],
-          rules: endpoint_rules['rules']
-        )
+    def resolve_endpoint(parameters)
+      region = parameters.region
+      use_dual_stack = parameters.use_dual_stack
+      use_fips = parameters.use_fips
+      endpoint = parameters.endpoint
+      use_global_endpoint = parameters.use_global_endpoint
+      if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
+        if Aws::Endpoints::Matchers.boolean_equals?(use_global_endpoint, true) && Aws::Endpoints::Matchers.boolean_equals?(use_fips, false) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, false) && Aws::Endpoints::Matchers.not(Aws::Endpoints::Matchers.set?(endpoint))
+          if Aws::Endpoints::Matchers.string_equals?(region, "ap-northeast-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "ap-south-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-2")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "ca-central-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "eu-central-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "eu-north-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-2")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-3")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "sa-east-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "us-east-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "us-east-2")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "us-west-1")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          if Aws::Endpoints::Matchers.string_equals?(region, "us-west-2")
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+          end
+          return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"#{region}", "signingName"=>"sts"}]})
+        end
+        if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
+          if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
+            raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
+          end
+          if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+            raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
+          end
+          return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+          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"))
+            return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
+          if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
+            if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
+              return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
+            end
+            return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
+        end
+        if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
+          if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
+            return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
+          end
+          raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
+        end
+        if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
+          return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
+        end
+        return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
       end
-      @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
-    end
+      raise ArgumentError, 'No endpoint could be resolved'
 
-    def resolve_endpoint(parameters)
-      @provider.resolve_endpoint(parameters)
     end
-
-    # @api private
-    RULES = <<-JSON
-eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
-bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
-dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
-cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
-dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
-ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
-ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
-ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
-aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
-OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
-UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
-dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
-UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
-dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
-ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
-IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
-aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
-bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
-ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUdsb2JhbEVu
-ZHBvaW50Ijp7ImJ1aWx0SW4iOiJBV1M6OlNUUzo6VXNlR2xvYmFsRW5kcG9p
-bnQiLCJyZXF1aXJlZCI6dHJ1ZSwiZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50
-YXRpb24iOiJXaGV0aGVyIHRoZSBnbG9iYWwgZW5kcG9pbnQgc2hvdWxkIGJl
-IHVzZWQsIHJhdGhlciB0aGVuIHRoZSByZWdpb25hbCBlbmRwb2ludCBmb3Ig
-dXMtZWFzdC0xLiIsInR5cGUiOiJCb29sZWFuIn19LCJydWxlcyI6W3siY29u
-ZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3sicmVm
-IjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0sInR5
-cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9v
-bGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUdsb2JhbEVuZHBvaW50
-In0sdHJ1ZV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVm
-IjoiVXNlRklQUyJ9LGZhbHNlXX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
-cmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSxmYWxzZV19LHsiZm4iOiJu
-b3QiLCJhcmd2IjpbeyJmbiI6ImlzU2V0IiwiYXJndiI6W3sicmVmIjoiRW5k
-cG9pbnQifV19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
-b25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJl
-Z2lvbiJ9LCJhcC1ub3J0aGVhc3QtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6
-Imh0dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1
-dGhTY2hlbWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0
-cyIsInNpZ25pbmdSZWdpb24iOiJ1cy1lYXN0LTEifV19LCJoZWFkZXJzIjp7
-fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJz
-dHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwiYXAtc291
-dGgtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3RzLmFtYXpv
-bmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hlbWVzIjpbeyJuYW1l
-Ijoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0cyIsInNpZ25pbmdSZWdpb24i
-OiJ1cy1lYXN0LTEifV19LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2lu
-dCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2
-IjpbeyJyZWYiOiJSZWdpb24ifSwiYXAtc291dGhlYXN0LTEiXX1dLCJlbmRw
-b2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6b25hd3MuY29tIiwicHJv
-cGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6InNpZ3Y0Iiwic2ln
-bmluZ05hbWUiOiJzdHMiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0xIn1d
-fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlv
-bnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVn
-aW9uIn0sImFwLXNvdXRoZWFzdC0yIl19XSwiZW5kcG9pbnQiOnsidXJsIjoi
-aHR0cHM6Ly9zdHMuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnsiYXV0
-aFNjaGVtZXMiOlt7Im5hbWUiOiJzaWd2NCIsInNpZ25pbmdOYW1lIjoic3Rz
-Iiwic2lnbmluZ1JlZ2lvbiI6InVzLWVhc3QtMSJ9XX0sImhlYWRlcnMiOnt9
-fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0
-cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJhd3MtZ2xv
-YmFsIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9zdHMuYW1hem9u
-YXdzLmNvbSIsInByb3BlcnRpZXMiOnsiYXV0aFNjaGVtZXMiOlt7Im5hbWUi
-OiJzaWd2NCIsInNpZ25pbmdOYW1lIjoic3RzIiwic2lnbmluZ1JlZ2lvbiI6
-InVzLWVhc3QtMSJ9XX0sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
-In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3Yi
-Olt7InJlZiI6IlJlZ2lvbiJ9LCJjYS1jZW50cmFsLTEiXX1dLCJlbmRwb2lu
-dCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6b25hd3MuY29tIiwicHJvcGVy
-dGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6InNpZ3Y0Iiwic2lnbmlu
-Z05hbWUiOiJzdHMiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0xIn1dfSwi
-aGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMi
-Olt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVnaW9u
-In0sImV1LWNlbnRyYWwtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBz
-Oi8vc3RzLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hl
-bWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0cyIsInNp
-Z25pbmdSZWdpb24iOiJ1cy1lYXN0LTEifV19LCJoZWFkZXJzIjp7fX0sInR5
-cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdF
-cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwiZXUtbm9ydGgtMSJd
-fV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3RzLmFtYXpvbmF3cy5j
-b20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hlbWVzIjpbeyJuYW1lIjoic2ln
-djQiLCJzaWduaW5nTmFtZSI6InN0cyIsInNpZ25pbmdSZWdpb24iOiJ1cy1l
-YXN0LTEifV19LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsi
-Y29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJy
-ZWYiOiJSZWdpb24ifSwiZXUtd2VzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJs
-IjoiaHR0cHM6Ly9zdHMuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnsi
-YXV0aFNjaGVtZXMiOlt7Im5hbWUiOiJzaWd2NCIsInNpZ25pbmdOYW1lIjoi
-c3RzIiwic2lnbmluZ1JlZ2lvbiI6InVzLWVhc3QtMSJ9XX0sImhlYWRlcnMi
-Ont9fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6
-InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJldS13
-ZXN0LTIiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6
-b25hd3MuY29tIiwicHJvcGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFt
-ZSI6InNpZ3Y0Iiwic2lnbmluZ05hbWUiOiJzdHMiLCJzaWduaW5nUmVnaW9u
-IjoidXMtZWFzdC0xIn1dfSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9p
-bnQifSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJn
-diI6W3sicmVmIjoiUmVnaW9uIn0sImV1LXdlc3QtMyJdfV0sImVuZHBvaW50
-Ijp7InVybCI6Imh0dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0
-aWVzIjp7ImF1dGhTY2hlbWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5n
-TmFtZSI6InN0cyIsInNpZ25pbmdSZWdpb24iOiJ1cy1lYXN0LTEifV19LCJo
-ZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6
-W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24i
-fSwic2EtZWFzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9z
-dHMuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnsiYXV0aFNjaGVtZXMi
-Olt7Im5hbWUiOiJzaWd2NCIsInNpZ25pbmdOYW1lIjoic3RzIiwic2lnbmlu
-Z1JlZ2lvbiI6InVzLWVhc3QtMSJ9XX0sImhlYWRlcnMiOnt9fSwidHlwZSI6
-ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFs
-cyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJ1cy1lYXN0LTEiXX1dLCJl
-bmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6b25hd3MuY29tIiwi
-cHJvcGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6InNpZ3Y0Iiwi
-c2lnbmluZ05hbWUiOiJzdHMiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0x
-In1dfSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRp
-dGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
-UmVnaW9uIn0sInVzLWVhc3QtMiJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0
-dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhT
-Y2hlbWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0cyIs
-InNpZ25pbmdSZWdpb24iOiJ1cy1lYXN0LTEifV19LCJoZWFkZXJzIjp7fX0s
-InR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJp
-bmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwidXMtd2VzdC0x
-Il19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9zdHMuYW1hem9uYXdz
-LmNvbSIsInByb3BlcnRpZXMiOnsiYXV0aFNjaGVtZXMiOlt7Im5hbWUiOiJz
-aWd2NCIsInNpZ25pbmdOYW1lIjoic3RzIiwic2lnbmluZ1JlZ2lvbiI6InVz
-LWVhc3QtMSJ9XX0sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In0s
-eyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7
-InJlZiI6IlJlZ2lvbiJ9LCJ1cy13ZXN0LTIiXX1dLCJlbmRwb2ludCI6eyJ1
-cmwiOiJodHRwczovL3N0cy5hbWF6b25hd3MuY29tIiwicHJvcGVydGllcyI6
-eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6InNpZ3Y0Iiwic2lnbmluZ05hbWUi
-OiJzdHMiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0xIn1dfSwiaGVhZGVy
-cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOltdLCJl
-bmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy57UmVnaW9ufS57UGFydGl0
-aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hl
-bWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0cyIsInNp
-Z25pbmdSZWdpb24iOiJ7UmVnaW9ufSJ9XX0sImhlYWRlcnMiOnt9fSwidHlw
-ZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiaXNTZXQi
-LCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBhcnNlVVJM
-IiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6InVybCJ9
-XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4i
-OiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRy
-dWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBGSVBTIGFu
-ZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoi
-ZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVz
-IjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2
-IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJvciI6Iklu
-dmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0b20gZW5k
-cG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3IifSx7ImNv
-bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoiRW5kcG9p
-bnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
-ZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1
-YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7ImZuIjoi
-Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9
-LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
-Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
-ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
-cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6
-W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRp
-b25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0
-cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
-cmwiOiJodHRwczovL3N0cy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1
-bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFk
-ZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpb
-XSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJsZWQsIGJ1
-dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBvciBib3Ro
-IiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9v
-bGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1d
-LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
-ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIs
-ImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJ
-UFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
-OltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJm
-biI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlsiYXdzLXVzLWdvdiIseyJmbiI6
-ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
-bmFtZSJdfV19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9zdHMue1Jl
-Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGll
-cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25k
-aXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9zdHMtZmlw
-cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9w
-ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
-XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQg
-YnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5
-cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5F
-cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1d
-LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
-ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIs
-ImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1
-YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
-aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3RzLntSZWdp
-b259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInBy
-b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
-XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5h
-YmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFs
-U3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sInR5
-cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3Ry
-aW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVnaW9uIn0sImF3cy1nbG9i
-YWwiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6b25h
-d3MuY29tIiwicHJvcGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6
-InNpZ3Y0Iiwic2lnbmluZ1JlZ2lvbiI6InVzLWVhc3QtMSIsInNpZ25pbmdO
-YW1lIjoic3RzIn1dfSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
-fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczov
-L3N0cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
-cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
-fV19XX1dfQ==
-
-    JSON
   end
 end

More details

Full run details

Historical runs