From fe56d1a39aa97052e24ac22b96878aa5053915f7 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Thu, 29 Apr 2021 11:10:00 -0700 Subject: [PATCH] Update boringssl submodule (#26101) * update submodule boringssl-with-bazel with origin/master-with-bazel * Update boringssl dependency to master-with-bazel commit SHA * Generate projects * Updated boringssl sha256 * Generate boringssl prefix headers * Increment podspec version --- Makefile | 3 +- bazel/grpc_deps.bzl | 8 +- config.m4 | 3 +- config.w32 | 3 +- gRPC-Core.podspec | 2 +- grpc.gemspec | 6 +- grpc.gyp | 3 +- package.xml | 6 +- src/boringssl/boringssl_prefix_symbols.h | 33 +- src/objective-c/BoringSSL-GRPC.podspec | 982 +++++++++--------- src/python/grpcio/grpc_core_dependencies.py | 3 +- templates/gRPC-Core.podspec.template | 2 +- .../BoringSSL-GRPC.podspec.template | 2 +- third_party/boringssl-with-bazel | 2 +- tools/run_tests/sanity/check_submodules.sh | 2 +- 15 files changed, 533 insertions(+), 527 deletions(-) diff --git a/Makefile b/Makefile index a84ea35b30c..4bc4c38e667 100644 --- a/Makefile +++ b/Makefile @@ -2149,7 +2149,6 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/ex_data.c \ third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c \ third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c \ - third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c \ third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c \ third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c \ third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c \ @@ -2216,7 +2215,6 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c \ - third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c \ @@ -2281,6 +2279,7 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc \ third_party/boringssl-with-bazel/src/ssl/dtls_method.cc \ third_party/boringssl-with-bazel/src/ssl/dtls_record.cc \ + third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc \ third_party/boringssl-with-bazel/src/ssl/handoff.cc \ third_party/boringssl-with-bazel/src/ssl/handshake.cc \ third_party/boringssl-with-bazel/src/ssl/handshake_client.cc \ diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl index 6a4d68071bc..1f1fad9a236 100644 --- a/bazel/grpc_deps.bzl +++ b/bazel/grpc_deps.bzl @@ -156,11 +156,11 @@ def grpc_deps(): name = "boringssl", # Use github mirror instead of https://boringssl.googlesource.com/boringssl # to obtain a boringssl archive with consistent sha256 - sha256 = "269c89eb60d3f3fcd5a0a755d1e28ffa65d423bc3c0e9562e2d666f5464680d2", - strip_prefix = "boringssl-1a7359455220f7010def8c63f7c7e041ce6707c6", + sha256 = "f8616dff15cb8aad6705af53c7caf7a5f1103b6aaf59c76b55995e179d47f89c", + strip_prefix = "boringssl-688fc5cf5428868679d2ae1072cad81055752068", urls = [ - "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/1a7359455220f7010def8c63f7c7e041ce6707c6.tar.gz", - "https://github.com/google/boringssl/archive/1a7359455220f7010def8c63f7c7e041ce6707c6.tar.gz", + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/688fc5cf5428868679d2ae1072cad81055752068.tar.gz", + "https://github.com/google/boringssl/archive/688fc5cf5428868679d2ae1072cad81055752068.tar.gz", ], ) diff --git a/config.m4 b/config.m4 index 3ce08a214d4..4beaf81c953 100644 --- a/config.m4 +++ b/config.m4 @@ -841,7 +841,6 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/ex_data.c \ third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c \ third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c \ - third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c \ third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c \ third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c \ third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c \ @@ -908,7 +907,6 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c \ - third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c \ third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c \ @@ -973,6 +971,7 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc \ third_party/boringssl-with-bazel/src/ssl/dtls_method.cc \ third_party/boringssl-with-bazel/src/ssl/dtls_record.cc \ + third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc \ third_party/boringssl-with-bazel/src/ssl/handoff.cc \ third_party/boringssl-with-bazel/src/ssl/handshake.cc \ third_party/boringssl-with-bazel/src/ssl/handshake_client.cc \ diff --git a/config.w32 b/config.w32 index 6a5475d2b58..18e048dac85 100644 --- a/config.w32 +++ b/config.w32 @@ -807,7 +807,6 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\ex_data.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\fipsmodule\\bcm.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\fipsmodule\\fips_shared_support.c " + - "third_party\\boringssl-with-bazel\\src\\crypto\\fipsmodule\\is_fips.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\hkdf\\hkdf.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\hpke\\hpke.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\hrss\\hrss.c " + @@ -874,7 +873,6 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x509_ext.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x509_lu.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x509_obj.c " + - "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x509_r2x.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x509_req.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x509_set.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x509_trs.c " + @@ -939,6 +937,7 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\ssl\\d1_srtp.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\dtls_method.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\dtls_record.cc " + + "third_party\\boringssl-with-bazel\\src\\ssl\\encrypted_client_hello.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\handoff.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\handshake.cc " + "third_party\\boringssl-with-bazel\\src\\ssl\\handshake_client.cc " + diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 9ab8daa25be..76983a78460 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -173,7 +173,7 @@ Pod::Spec.new do |s| ss.header_mappings_dir = '.' ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version - ss.dependency 'BoringSSL-GRPC', '0.0.17' + ss.dependency 'BoringSSL-GRPC', '0.0.18' ss.dependency 'abseil/base/base', abseil_version ss.dependency 'abseil/container/flat_hash_map', abseil_version ss.dependency 'abseil/container/inlined_vector', abseil_version diff --git a/grpc.gemspec b/grpc.gemspec index 60b8deca0b8..3f824a52c1c 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -1682,9 +1682,9 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c ) - s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c ) @@ -1708,6 +1708,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c ) @@ -1794,7 +1795,6 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c ) - s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c ) @@ -1891,6 +1891,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/engine.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/err.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp.h ) + s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ex_data.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hkdf.h ) s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hmac.h ) @@ -1939,6 +1940,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/dtls_method.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/dtls_record.cc ) + s.files += %w( third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/handoff.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/handshake.cc ) s.files += %w( third_party/boringssl-with-bazel/src/ssl/handshake_client.cc ) diff --git a/grpc.gyp b/grpc.gyp index bc5c569b15c..ca50a0c98c9 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -1709,7 +1709,6 @@ 'third_party/boringssl-with-bazel/src/crypto/ex_data.c', 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c', 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c', - 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c', 'third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c', 'third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c', 'third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c', @@ -1776,7 +1775,6 @@ 'third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c', - 'third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c', @@ -1841,6 +1839,7 @@ 'third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc', 'third_party/boringssl-with-bazel/src/ssl/dtls_method.cc', 'third_party/boringssl-with-bazel/src/ssl/dtls_record.cc', + 'third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc', 'third_party/boringssl-with-bazel/src/ssl/handoff.cc', 'third_party/boringssl-with-bazel/src/ssl/handshake.cc', 'third_party/boringssl-with-bazel/src/ssl/handshake_client.cc', diff --git a/package.xml b/package.xml index 70e6ac422db..74227339604 100644 --- a/package.xml +++ b/package.xml @@ -1684,9 +1684,9 @@ + - @@ -1710,6 +1710,7 @@ + @@ -1796,7 +1797,6 @@ - @@ -1893,6 +1893,7 @@ + @@ -1941,6 +1942,7 @@ + diff --git a/src/boringssl/boringssl_prefix_symbols.h b/src/boringssl/boringssl_prefix_symbols.h index 40d458c470e..1991903fc4c 100644 --- a/src/boringssl/boringssl_prefix_symbols.h +++ b/src/boringssl/boringssl_prefix_symbols.h @@ -1,4 +1,4 @@ -// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 1a7359455220f7010def8c63f7c7e041ce6707c6 +// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 688fc5cf5428868679d2ae1072cad81055752068 // Copyright (c) 2018, Google Inc. // @@ -142,6 +142,7 @@ #define SSL_CTX_set1_chain BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_chain) #define SSL_CTX_set1_curves BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_curves) #define SSL_CTX_set1_curves_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_curves_list) +#define SSL_CTX_set1_ech_server_config_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_ech_server_config_list) #define SSL_CTX_set1_param BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_param) #define SSL_CTX_set1_sigalgs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_sigalgs) #define SSL_CTX_set1_sigalgs_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_sigalgs_list) @@ -168,7 +169,6 @@ #define SSL_CTX_set_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_ex_data) #define SSL_CTX_set_false_start_allowed_without_alpn BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_false_start_allowed_without_alpn) #define SSL_CTX_set_grease_enabled BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_grease_enabled) -#define SSL_CTX_set_ignore_tls13_downgrade BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_ignore_tls13_downgrade) #define SSL_CTX_set_info_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_info_callback) #define SSL_CTX_set_keylog_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_keylog_callback) #define SSL_CTX_set_max_cert_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_max_cert_list) @@ -230,6 +230,10 @@ #define SSL_CTX_use_certificate_chain_file BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_use_certificate_chain_file) #define SSL_CTX_use_certificate_file BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_use_certificate_file) #define SSL_CTX_use_psk_identity_hint BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_use_psk_identity_hint) +#define SSL_ECH_SERVER_CONFIG_LIST_add BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_ECH_SERVER_CONFIG_LIST_add) +#define SSL_ECH_SERVER_CONFIG_LIST_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_ECH_SERVER_CONFIG_LIST_free) +#define SSL_ECH_SERVER_CONFIG_LIST_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_ECH_SERVER_CONFIG_LIST_new) +#define SSL_ECH_SERVER_CONFIG_LIST_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_ECH_SERVER_CONFIG_LIST_up_ref) #define SSL_SESSION_copy_without_early_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_SESSION_copy_without_early_data) #define SSL_SESSION_early_data_capable BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_SESSION_early_data_capable) #define SSL_SESSION_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_SESSION_free) @@ -393,7 +397,6 @@ #define SSL_is_init_finished BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_is_init_finished) #define SSL_is_server BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_is_server) #define SSL_is_signature_algorithm_rsa_pss BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_is_signature_algorithm_rsa_pss) -#define SSL_is_tls13_downgrade BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_is_tls13_downgrade) #define SSL_is_token_binding_negotiated BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_is_token_binding_negotiated) #define SSL_key_update BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_key_update) #define SSL_library_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_library_init) @@ -415,9 +418,12 @@ #define SSL_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_read) #define SSL_renegotiate BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_renegotiate) #define SSL_renegotiate_pending BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_renegotiate_pending) +#define SSL_request_handshake_hints BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_request_handshake_hints) #define SSL_reset_early_data_reject BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_reset_early_data_reject) #define SSL_select_next_proto BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_select_next_proto) #define SSL_send_fatal_alert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_send_fatal_alert) +#define SSL_serialize_capabilities BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_serialize_capabilities) +#define SSL_serialize_handshake_hints BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_serialize_handshake_hints) #define SSL_session_reused BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_session_reused) #define SSL_set0_chain BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set0_chain) #define SSL_set0_client_CAs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set0_client_CAs) @@ -448,7 +454,7 @@ #define SSL_set_enforce_rsa_key_usage BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_enforce_rsa_key_usage) #define SSL_set_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_ex_data) #define SSL_set_fd BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_fd) -#define SSL_set_ignore_tls13_downgrade BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_ignore_tls13_downgrade) +#define SSL_set_handshake_hints BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_handshake_hints) #define SSL_set_info_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_info_callback) #define SSL_set_jdk11_workaround BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_jdk11_workaround) #define SSL_set_max_cert_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_max_cert_list) @@ -1289,6 +1295,7 @@ #define ECDSA_do_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ECDSA_do_sign) #define ECDSA_do_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ECDSA_do_verify) #define ECDSA_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ECDSA_sign) +#define ECDSA_sign_with_nonce_and_leak_private_key_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ECDSA_sign_with_nonce_and_leak_private_key_for_testing) #define ECDSA_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ECDSA_size) #define ECDSA_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ECDSA_verify) #define EC_GFp_mont_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_GFp_mont_method) @@ -1300,6 +1307,7 @@ #define EC_GROUP_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_GROUP_free) #define EC_GROUP_get0_generator BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_GROUP_get0_generator) #define EC_GROUP_get0_order BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_GROUP_get0_order) +#define EC_GROUP_get_asn1_flag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_GROUP_get_asn1_flag) #define EC_GROUP_get_cofactor BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_GROUP_get_cofactor) #define EC_GROUP_get_curve_GFp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_GROUP_get_curve_GFp) #define EC_GROUP_get_curve_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_GROUP_get_curve_name) @@ -1505,6 +1513,8 @@ #define EVP_EncryptUpdate BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_EncryptUpdate) #define EVP_HPKE_CTX_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_cleanup) #define EVP_HPKE_CTX_export BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_export) +#define EVP_HPKE_CTX_get_aead_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_get_aead_id) +#define EVP_HPKE_CTX_get_kdf_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_get_kdf_id) #define EVP_HPKE_CTX_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_init) #define EVP_HPKE_CTX_max_overhead BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_max_overhead) #define EVP_HPKE_CTX_open BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_open) @@ -1631,7 +1641,6 @@ #define EVP_add_digest BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_add_digest) #define EVP_aead_aes_128_cbc_sha1_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_cbc_sha1_tls) #define EVP_aead_aes_128_cbc_sha1_tls_implicit_iv BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_cbc_sha1_tls_implicit_iv) -#define EVP_aead_aes_128_cbc_sha256_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_cbc_sha256_tls) #define EVP_aead_aes_128_ccm_bluetooth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ccm_bluetooth) #define EVP_aead_aes_128_ccm_bluetooth_8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ccm_bluetooth_8) #define EVP_aead_aes_128_ctr_hmac_sha256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ctr_hmac_sha256) @@ -1643,8 +1652,6 @@ #define EVP_aead_aes_192_gcm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_192_gcm) #define EVP_aead_aes_256_cbc_sha1_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_256_cbc_sha1_tls) #define EVP_aead_aes_256_cbc_sha1_tls_implicit_iv BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_256_cbc_sha1_tls_implicit_iv) -#define EVP_aead_aes_256_cbc_sha256_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_256_cbc_sha256_tls) -#define EVP_aead_aes_256_cbc_sha384_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_256_cbc_sha384_tls) #define EVP_aead_aes_256_ctr_hmac_sha256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_256_ctr_hmac_sha256) #define EVP_aead_aes_256_gcm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_256_gcm) #define EVP_aead_aes_256_gcm_randnonce BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_256_gcm_randnonce) @@ -1700,6 +1707,7 @@ #define EVP_rc2_cbc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_rc2_cbc) #define EVP_rc4 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_rc4) #define EVP_sha1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha1) +#define EVP_sha1_final_with_secret_suffix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha1_final_with_secret_suffix) #define EVP_sha224 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha224) #define EVP_sha256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha256) #define EVP_sha384 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha384) @@ -1714,6 +1722,7 @@ #define EXTENDED_KEY_USAGE_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EXTENDED_KEY_USAGE_new) #define FIPS_mode BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_mode) #define FIPS_mode_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_mode_set) +#define FIPS_read_counter BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_read_counter) #define GENERAL_NAMES_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, GENERAL_NAMES_free) #define GENERAL_NAMES_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, GENERAL_NAMES_it) #define GENERAL_NAMES_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, GENERAL_NAMES_new) @@ -2198,7 +2207,6 @@ #define X509_ALGOR_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ALGOR_new) #define X509_ALGOR_set0 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ALGOR_set0) #define X509_ALGOR_set_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ALGOR_set_md) -#define X509_ATTRIBUTE_SET_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ATTRIBUTE_SET_it) #define X509_ATTRIBUTE_count BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ATTRIBUTE_count) #define X509_ATTRIBUTE_create BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ATTRIBUTE_create) #define X509_ATTRIBUTE_create_by_NID BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ATTRIBUTE_create_by_NID) @@ -2218,10 +2226,8 @@ #define X509_CERT_AUX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CERT_AUX_new) #define X509_CERT_AUX_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CERT_AUX_print) #define X509_CINF_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CINF_free) -#define X509_CINF_get_signature BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CINF_get_signature) #define X509_CINF_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CINF_it) #define X509_CINF_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CINF_new) -#define X509_CINF_set_modified BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CINF_set_modified) #define X509_CRL_INFO_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_INFO_free) #define X509_CRL_INFO_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_INFO_it) #define X509_CRL_INFO_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_INFO_new) @@ -2350,6 +2356,7 @@ #define X509_PUBKEY_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_free) #define X509_PUBKEY_get BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_get) #define X509_PUBKEY_get0_param BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_get0_param) +#define X509_PUBKEY_get0_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_get0_public_key) #define X509_PUBKEY_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_it) #define X509_PUBKEY_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_new) #define X509_PUBKEY_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_set) @@ -2386,7 +2393,6 @@ #define X509_REQ_get_attr_by_NID BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_get_attr_by_NID) #define X509_REQ_get_attr_by_OBJ BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_get_attr_by_OBJ) #define X509_REQ_get_attr_count BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_get_attr_count) -#define X509_REQ_get_extension_nids BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_get_extension_nids) #define X509_REQ_get_extensions BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_get_extensions) #define X509_REQ_get_pubkey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_get_pubkey) #define X509_REQ_get_signature_nid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_get_signature_nid) @@ -2397,13 +2403,11 @@ #define X509_REQ_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_print) #define X509_REQ_print_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_print_ex) #define X509_REQ_print_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_print_fp) -#define X509_REQ_set_extension_nids BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set_extension_nids) #define X509_REQ_set_pubkey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set_pubkey) #define X509_REQ_set_subject_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set_subject_name) #define X509_REQ_set_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set_version) #define X509_REQ_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_sign) #define X509_REQ_sign_ctx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_sign_ctx) -#define X509_REQ_to_X509 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_to_X509) #define X509_REQ_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_verify) #define X509_REVOKED_add1_ext_i2d BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REVOKED_add1_ext_i2d) #define X509_REVOKED_add_ext BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REVOKED_add_ext) @@ -2591,7 +2595,6 @@ #define X509_get1_email BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_get1_email) #define X509_get1_ocsp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_get1_ocsp) #define X509_get_X509_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_get_X509_PUBKEY) -#define X509_get_cert_info BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_get_cert_info) #define X509_get_default_cert_area BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_get_default_cert_area) #define X509_get_default_cert_dir BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_get_default_cert_dir) #define X509_get_default_cert_dir_env BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_get_default_cert_dir_env) @@ -2785,6 +2788,7 @@ #define asn1_refcount_dec_and_test_zero BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_refcount_dec_and_test_zero) #define asn1_refcount_set_one BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_refcount_set_one) #define asn1_set_choice_selector BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_set_choice_selector) +#define asn1_type_value_as_pointer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_type_value_as_pointer) #define asn1_utctime_to_tm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_utctime_to_tm) #define beeu_mod_inverse_vartime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, beeu_mod_inverse_vartime) #define bio_clear_socket_error BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bio_clear_socket_error) @@ -3085,6 +3089,7 @@ #define ec_set_to_safe_point BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_set_to_safe_point) #define ec_simple_scalar_inv0_montgomery BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_simple_scalar_inv0_montgomery) #define ec_simple_scalar_to_montgomery_inv_vartime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_simple_scalar_to_montgomery_inv_vartime) +#define ecdsa_sign_with_nonce_for_known_answer_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecdsa_sign_with_nonce_for_known_answer_test) #define ecp_nistz256_avx2_select_w7 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecp_nistz256_avx2_select_w7) #define ecp_nistz256_mul_mont BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecp_nistz256_mul_mont) #define ecp_nistz256_neg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecp_nistz256_neg) diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec index 2ceadbc729f..f2ef17d0f7a 100644 --- a/src/objective-c/BoringSSL-GRPC.podspec +++ b/src/objective-c/BoringSSL-GRPC.podspec @@ -39,7 +39,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.17' + version = '0.0.18' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: @@ -76,7 +76,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/google/boringssl.git', - :commit => "1a7359455220f7010def8c63f7c7e041ce6707c6", + :commit => "688fc5cf5428868679d2ae1072cad81055752068", } s.ios.deployment_target = '9.0' @@ -213,494 +213,496 @@ Pod::Spec.new do |s| # /src/boringssl/boringssl_prefix_symbols.h. Here we decode the content and inject the header to # the correct location in BoringSSL. base64 -D < src/include/openssl/boringssl_prefix_symbols.h - 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 - hiiXWwcaqPYo9vtv/wM/DBrFrZQEAA== + H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oAKydXXPbuJZo3+dXuO683Kk6NRM77bT7 + vim20tG0Y/tISk9nXliURNk8oUiFoOy4f/0FQErEx94g94arTs10LK21KQDEF0Hgv/7r7DErszptss3Z + 6vX0j2RV1Xn5KESR7Otsm/9MnrJ0k9X/KZ7OqvLso/50sbg9W1e7Xd78v7MPV1fb9eV6e/nLxdXVh6sP + v/62uUiz83e/XqzTzdX5u8vLXy8v3n24+rd/+6//Oruu9q91/vjUnP3f9X+cXbw7v/rH2e9V9VhkZ7Ny + /Z/yK+pbD1m9y4XIZbymOjuI7B8y2v71H2e7apNv5f9Py81/VfXZJhdNna8OTXbWPOXiTFTb5iWts7Ot + /DAtX5Vrf6j3lcjOXvJG/oBa///q0Jxts+xMIk9ZnalfX6elTIh/nO3r6jnfyCRpntJG/p/sLF1Vz5ky + rU/XXlZNvs7UVbRx9/31Hj/a77O0PsvLs7QoFJln4vjrlp+nZ4v7T8v/mcynZ7PF2cP8/s/ZzfTm7P9M + FvLf/+dscnejvzT5uvx8Pz+7mS2ubyezL4uzye3tmaTmk7vlbLpQrv+ZLT+fzae/T+YSuZeU9PXuu+vb + rzezu981OPvycDuTUXrB2f0n5fgynV9/ln+ZfJzdzpbfdPhPs+XddLH4T+k4u7s/m/45vVueLT4rj3Fl + H6dnt7PJx9vp2Sf5r8ndN6VbPEyvZ5Pbf8jrnk+vl/+QiuN/yS9d398tpv/8KnXyO2c3ky+T39WFaPr4 + T/3DPk+Wi3sZdy5/3uLr7VL9jE/z+y9nt/cLdeVnXxdTGWOynChapqG85MU/JDeVFzhX1z2R/7tezu7v + lE8CMvRyPlHXcTf9/Xb2+/TueqrYew0s7+fyu18XHfOPs8l8tlBB778uFX2vnLoI39/dTfV32tRX6SGv + RV/FdC4T4stEiz/ZufGfuvx/vJ9Lp7x9ksnNTfIwn36a/XW2T0WTibPmpTqTRa9s8m2e1UIWHln4qzKT + mdCoIiYL9U6oPyhR3qi7VZW4anu2S9d1dZb93KelLoTyf3kjztL68bCTPnG2yiSc6UDy7v3Pf/v3jbyz + ywy8nP+b/uNs9R/gR8lM/vR5+4Wgw/ziWXr27/9+lqj/s/q3nprdJ9tE1jLwNfR/bP/wjx74D8shsoZq + 6ZDec7O8XSTrIpdJlewyWT1sxup80rEydKBHZPVzVnN0FulYVV2YrA7brSxuHDfA2xGez5MLfsr6NGBn + alEfO6V92rPHpEQ4HR5lmW7yXaZaNprXID3rk2zhiowptmHPzUoE5NfH5Fk4x1RdkZd5k6fF8Zckm0NX + 81ID4ao+7nQ+T4oq3STKoHo3sis2NhDE9ub7h+md+kBdA6XKdLne+DD9ktRZF28huwuqTRxphVjAvMqr + KLvD2xFeatmKcvUeDLkjLh8U9DHUH69nD7Lnkmwysa7zPaVIwjRoV/VDepD1fJlvGHoTR/0r1VvhuRWK + etf5XvbvI668F6AxNvljJpqIGL0AjcF2B5zffyZlusuY4o4O2tlX3cKoe5f+TGSVLXjl3THgUfIyNkpv + QKNEZEEw/ff1NiIDOjpgr5pqXRVJRISTAY1Sb9cx6XPEUf9zWhy4cs3i5qhyEyozuUhS2a4xzB2JWVdF + tf7e1Xc8u2kAo4hG9gjTesPNVIt3Itx/eUjSzSZZV7t9nempGGJ3cEADxNvWWQZ8U5AjYiIgpiwf7+jp + Z5Gw9U1+COJBIuYbVoB8g/i4yQKlyvIvVQ7eJeunVNbi66xuSGYfB/3ncf7zIb/+xMqRtHhkBAI9SMR2 + mHo9YYU5wrA7+9nUaVySeQ44kmh/JidAh/re9VMm68d9nT+rWfbv2SvV7gmAGG1/Vf62x7o67MkRbBzw + F1laG6knyBFcARbDzSdmJE+DxdtVm4wXQpGYtdLjKua1d7Dvzsp0VWRJtRZ71SjuCznQp4aAHGgkkT+W + WVcLqKkLCez2ghkSlqGxm0Ko/CvLjNzdxCR+rG1xEE/HW5f8w2wasMv2neyUjG/SjbhKuXybr2UtQLW6 + PBZB3S88tyJDVt7N7PJIhH1apzuWW5OYta1xGTW2g4P+9kYQjXo+Q9cbNGI/lfpkvWIFMAVIDN1sCJa9 + RRHvsTuQFLloWHrLAEeRf0oPhRySpkK8cFPJk4yMlRxEVm/SJn2ToCcbHD37mXBDdSjqLbMX2W3YZD+Z + 8hOPRYjsDYASOFZebqtknRbFKl1/58SxBHAMWRkU1WNUFEcBx1ETXbqG4N5AlgCPoadzWNMemASJJbMu + PpYrQWIxeoRHDjYye4MGCnt/HHL1SPvp0GyqF1aS2AY4in6ekj5RZ588GrZ3vSdZnuUwh532vgWORnyi + CaCItxCylpHfWX9vb1FWZvsWOJosvvn2NaoWcRTBOJts3zxFBNF8MAI32w3c9+snot03imqdsu5BUOLH + KjM5sml2+2S+IE+AmCxkfqELX3xPne2q54w7wWHTvl19kKTrtcxpqtpAg97ksao2EXLNhyPUWZk9Vk3O + GGAhGiReW01tD0XBitPjmH+VPOX0zpLJYuZKDgrWvEzu2LCZn82mYCBGbEYDHiSiHozo7BL537xgtiIQ + R39xxY7R4gG/6qtH+Fs84O8qmYgQJwMShX1TBO4ItQA441lbFPGWh92K+EjORhGviC+RYkyJFHElUgyV + SBFXIsVQiRTRJVKMKJFdr5JXfo4w5G7edQs0k31VMZoZm0cisOYLRWC+sP3sOHkjeOoTjviPfV/2/Bts + AaOds9PoPJBG8rND/cypdU5o0MuaNnB5JEK2fjquvZTN6DZ/5AeDVUhc1hxxTyJWkT+mxSMvIzo2bOan + jilAYsQ9YwEUSJy3uOPOR95xiRzSVi/JofxeVi/qgfW+m/XhZBIuw2JHRhvjF1mhOp+cVsk1wFHap/4s + fYcGvNz8H8x3/Xnk1AjmQSLqKeW03HCe6nsCNAb/OY4Yfo4j+tWuzJrGxBF/1PMcMeJ5jvGdmMJrGZAo + h7pWX1J9L24YW4HFkUV915VDXhRDAMeIfgImxj0BE2/6BEwQn4CZ3+9u633aPImYuKYHiVgJXZPLelZP + TPPS1pXAsbK0Ll71c7pu3QOnKQcsSDTe00QRepqoPtymhcjUmpS6a3azTdK9tKtbLU7AISd8JY91lkos + Ii1tAxwl6nmjGH7eKOKfN4oxzxtF7PNGMfy8UbzF80Yx7nnj8Wsik+3ytk4f1au03FiWBIkV+2xTjHu2 + KZjPNgX6bFN/IuKKl8kPR0jS+jE2inLAkUr19K1Nxag+NuQZiiiSdPOsFmiJbBMd1pHBsfUSwDoT+6oU + rEJhCZAYvCffIvTkW+jXSE6LYTnL/VELEk18P/UNI4o6oMHjHec1IuM5GiRet1UGJ0aLwt4fh3wdkT0G + jvoj1j+IEesfRNT6BzGw/qH9vFFjwKqUfS/xlF5cfkiqrTkSEbyoQ1bsarqerextyjv7sMt40V0LHO1Y + OfbrUpk1HyjCYsauNxEj15uY31OD76psZAUdE623hKOpG3/zlHFXuwRUSFxoZTe7K4jb8Oh5+aheTalq + 2bff6f2LBDc0oELi1s1eNbfbvMh40UwBEqOp83X0BI1vgaN1C4/U64IR1bZvwaKxS2ewNNoz0jGjONiE + RlXdr7a9VS+WcbuqoGhszJjuAm4LR2/S5iBif+1JMiYWr5FwHcFI/Rq8uGiWZ2RE8SbxRDDaQU2LyPon + ItRRgcSRdfbmiaXXZMgaV8xtBR4nW/OvX7G4uRYpVyzRoDc6aUwHEqk+8JohDcJO/jR3aH6764W+QccA + NgWjslbNisFVswc15N5SvS0F2OQ9/NCOgv+gP8Ky6SF7MlncnceF0IrBOKo/FRlHKeA488UkLsEswYgY + 7GTzLWOicRPPt8DRIl5idPBBPzvlXMdwpPZBLjftYNNw1LeIh0dSQ792W8rmNXnK6XPgoMSONb3+nCym + 8z+n8+T6/u7T7PfkdrZYqvfpKcFwy6ho1Nd0A5pR8YhL+nHLqGj0BiMosmN225Mlaovc04O1/kEiJeqA + Co5rPLNcp3s1POOE9C1wNGpBMTnMWO2S1WtDm0Dwadjevj1N3toHwAN+3tQWogjEYT+uwC2BaPssIs0U + POA262ARFcgyDUVt54Lj4rWOQKS3mQ4cqQxcRzsWZsdscdTPWQcB4EE/6+1qzIFHoi39tEnculO7W9fU + pXGwAY9y2lCO8fA85MEjdlMsRb7N9AouatdoyBWKvMv4kXZZ2EyciwVw3B+ZOcE8eUpFbOXmKPA4/Cql + p2F7LtpHZdw+jMnDEYjdTgODfXpNNq/q6NCgN6ZX4SjQODF1uBiqw8Ub1U5idO3UP33hxgmVUBFRA4lg + DSTiaiAxVAMJOZYoNslKva9WPhaZGpmyAgEeOGJT8Xv1RzZsTrZVHZHZgAaORx8+2qRtpb8iDr0ZHrFD + Y3B3xoidGYO7MqrtAdP9vsjb/QNUgW0o+7uHHH4k1k6MgV0Y1Udqlqh7AeOw+le2boQqQbIXTnvQMKBy + 4hbqS2qb8m5Pe1IkFx5wJ0UVGUAboCh6lN5N6qsmumjocXwHFKl53WfstDLgATczrVyDHaVdSfOUkxLn + BDkutcCp3UyRZOsxxxezg+fA7p30qwSuL2Z3zoGdOXm7ZGI7ZLJ3xwzsjMnYkgLciWJ9aJqnujo8Pukd + b4uM9oQCwG3/JiuyR3XqWrKuMz0lnhaqB0HqQaMSJ1alj2GRw5nvpB9hco5RNueMF7gMzPa1c66nNdnr + 5qfapy3T51ipMR8lyJALiqxne9vOBS0HABz1q7dAVFtNrpIxhxMpcj/Y4b1g32wfWMIesNH7v47Y+zWr + a9nvZR6g4sGO++e+qvUSHNXS7eTNWsublBQANNhRqM8i/GcQp4Mf1eIkvYk/xefTrr15Z75sTLvJfBqw + m48xVedCkCN4BigKr1kN71zbbsrfvyZy2kaInkqgBYjGfn4y9NyEtwMvtvtu/5whdsQUNmFRuc9lxjyP + 6b/TNePdjvrtmiJmOFCFxXXXMTFjehogXvfmSZ39OMhqXlb6xP1cUAkYK2aZPaKA4rzJky3SE61HvZUH + fdc+k/OMSbdEgyg8Yr6PuarHQQFvu2R99Uo/tAfAUT8jB/HV9MydsdFdseN2xB7aDdv4vJY9/2rHlLcw + 4O42O6AvQ/DpgL0/ooQdolfgcfqjdplRTgIwxnNG7OqaHGakHo9jk771uAcCY8YewH2/N/ahRvAEQAzV + hSd7FQS46M+Q0Of/xgfJX5fvfksWy/v5VK+myzc/mSEAExiVtdogvMqg2359JxJx2KtBDV1twL57S75b + tsB9Iv+Ri6eM7uo438je22FgH3n98TO5XZGI7zkN3JIiI99jFuy72ftBDOw9H73v/Ig956P3mx+x1zxn + n3l4j/l2Z9XjuC9pqu9ZmazkraimDjijsgGbH50xm4vubK9X4hwHUfStEwE84Gd2WF0eicCtVCwYcx+K + IjaJHAcSSb+D38jOndBTUroICFY80IREVYOjtDnUWT/EZMUEPFDEtnjzeqg2DdhZhwjZJGA1ltWTvQYb + NpOXtoECPwZ/34ahMyv0JtCrvKI6FQOYWDs/hE69OH0m1IxGuc5Y4iMMuOkdohrqEYlsre6afn9zPXXG + 68KFXFDkdr7XejueHhKQQLHa2SXWuNeCUbd6pZJx79s0ZueM7HoyZNWz4Xy1xiE/a4SOzmKJp7RWc2i8 + yRabRu2MHX59GrLzaj+83gMau+6MeXIM1DQuqhocsApQwDUuMuuOQDxARO6OH4/h3T6MleDpY5aI77SV + ugAO+NmPU30ath/K/Ad9irYnQauxY8PpERQjBKQZiscpwb7BjxKxRfHgyU0xpzaFT2yKOK0peFKT8SF9 + cZwHg25Om4OO2l8YvcsXsHf5Qu+rvUB9tRdZZWXsDqVN23b1zkLsU1jMYUfKS+ZboxboOY3tX4lSg/Ss + cmxO1SnE8YhkI2sLkqdFPI+Ss6YbXNYztz06orKFfBfQzKrNRvaCmggBkxfVnsHiLbMIaOx4qq9y2G+I + c0o9ZduKfFWn9Su5uJmcY1SH2fUPA6kjKwAH/O3qqHa5miDrLdq279LHfH2abzltUNeQyicqcWOprXvT + IqlkUaZOAHiw7eaeFYifE0h8s8t7o6s87OzhOSnffNq277OM1MlR33cNOrtoEo04nrpaq3OT9FTkvhIN + b5FsQAPHk5X2+Xv9iOxY4Ogv7gy5vMjP+SZrL5Hapnqw7W63ZZVl/PSrk22RPz411OdIQREQU899Fdlz + VpCj9CjgbbtAPLHB2uaaWGnUXj3BPKQQPZPQ+IBzRwG469eLtIzcVLO/ghYDVLhxhPuQ/1/E9f+Iwo7T + bSrbr6+kRPBg1622hZeRi/blGJraZl2zWiuc/521W5nkRd7ktMkK2IBFichtVOLGauu5OqO+LGGTrpVz + fh12dl3EuXXBM+v0h9QHGicIcEWdxDXm3Dv9nRfOFb9AV3zOyqNzJI845+ahZ+bFnJcXPitPfwq96UMO + AUmAWOR1Ati5eNwz8fDz8KLOwhs4By/yDLzB8+/iz74bc+6d4K3nFdh6Xn1KXHuStZrHpF6vxQJm3gl5 + wdPx1If0GieB6hvO8WHouXdRZ8QNnA8XcW5b8My2uPPahs5q0593h2ezCpcFA27uqWkDJ6bFn7I15oQt + /Z325TV1tGl7iBQ5iCuAYmyrep3pSTM9+yTSR0YcQALEoq+ORXdWEeQVnwJY8an+FtVrbYb6qxHrPwfO + 9VIf/2vz/fw8eanq72ldHUpyeri8H4G9enPgJK/oU7xGnOAVfXrXiJO7ok/tGnFiF+e0LvikrphTusIn + dMWezjV8Mpf+RnMgS5uD72G/ADlw1hXznCv0jKv4863GnG31BudajTrT6g3Osxp1lhXzHCv0DKvTAVTm + 5rD0dwsDGiQeL7vRs7JOH8Ys4kUlSCy187MaeK7lqEXWR/sqL3mpBonAmMwVVUNngPHP/wqd/dV+1k+n + cup5l4civOXJYpxTxQR9RaqAVqQK3tpBga0djD+Za8ypXPo7T9nG6C3K721zchMJSqBYvPKPl/y3ed2Z + cqbXG53nNfosr6hzvAbO8GpP3mKMcZGxbdxZYGPOAXub07PGnpxlHCX0pB6iUtduQjwaIWYNoRi7hlBE + ryEUI9YQRp7iNHiCE+/0JuzkpshTmwZPbOKe1oSf1MQ8pQk9oSn2dKbhk5n0N/xX9ciVGeQAIlHPf0LO + fuKd+4Sd+fQ25z2NPesp5pyn8BlPImY9rAivhxX0VacCWnXK6mnAvQxy+wi0jepPjD3WTA43kje79GDb + 3VTqwT1/tRXE2xH4Z3qFzvOKPMtr8ByvyDO8Bs/vijq7a+Dcrvgzu8ac1xV/VteYc7oizugKns8VezbX + 8LlcsadjDZ+MFX0q1ogTsdRKleQpK4pKDbfr1+OaKGIY0GFHYsxbgzPVLyktEdT3HYNaREdSKMByPF+8 + P05EkCfQPNYzs5SIq5vFZCkttjcvbxe8H++BtpMugyysH+yBtlOdD5asDtutLJAMM4Bb/ufz5Jydoj7s + u3lSzMZNYR923RcxqXARToULphSzRaTCRTgVItIgmAIcIWyK+O3IL99c5IlxmsNYp4OhPsp6HQDtvfnF + hnOdDob6KNcJoL1XtvrX828Py/vk49dPn6ZzPZRvDzvcHsr12BgDmqF4ahfgN4h30gTibbJsry+MHepk + CERRL0KUh6JgBzkKQjEOO77+sAuY9wfxxFYrOOAW498vgdiAmbQVJ0xb9sV8+SC/f7+cXi/VfSP/89Ps + dsrJ2yHVuLik/A5YRkUjloGQxo6n1nbOHj6f6ojdnnrnYwosjlpt3GS8AC2Lmg97pvawx5zyTxueVJGY + lVNofRq104qmBWJOagG0ScxKrSRc1PLqDSzvJl+m7KKMGIJRGG0zpgjF4bTJmAKJw2mLARqxE28kG8Sc + hOMNPBBxEl6TdTncSL3ZfRhx76s9PxWOMOam3fI2iDj1CuqYG9MUYDEI2495oO+Mu/2G7jxu4cDLBa32 + PyK+h1u08FIlnvItOWc05LuoLUcP9a7J9bUchCU308X1fPawpB7ejuBB//hNGkA46CbUXDBt2KeL5PrL + 5Hq0r/u+bViv1klWruvX8Yc5Opjj267OL65YSot0rE3NtVqkbd1kZF2H2J5sveJcmoE5PoYL8lTsvKgC + eSH01u/6A8qbUADqe7uAHK+B2t5D+VKne6qypzBbsk83m/ELqkDYdnOuE77KiGvEr3Bxd55M7r5R6sce + cTwfZ8tksVTfb49VJBldGHeTmgqAxc2P+rXDhivvcNzPV4eslObHR3EvYYoKQIPemFQWcCp/eWAXDwtF + vdQrNkDUSc46k3St9/e308kd+TpPmOOb3n39Mp1PltMbepI6LG5+JJYxG8W9OVsbSgdqdtko7hX8VBCh + VGiq5OMd16xhx/2JWcg+oaXs9+mdjHc7+9/pzXImh4Lp5l8kM8APRKA3TaBhIAr5loEEAzGImeDjA35q + cQf4gQj7mrBEBzcMRKHeXgA/HIG4xHFAA8fjtnA+HvTzyhXW2tkfM8sU2urNJpfcVLFR1EtMDRNEndRU + sEjXerec/q6eAe32NGfPIUbCYx2XQ4z0PDJAxEntQhgcYsx5whzzkXO75xCjYP5mgf5mVfUcZFX64Reu + uMMRP70rYpGO9e7r7S29MJ0oyEbM9I6BTNTsPkKO6/7jf0+vl2pnKMJCX5+EreS0MzjYSEy/EwXbqGnY + Y67vejntJxaIVaQLh9zUytKFQ256brl0yE7NOZsNmcm56MAhN7UKdGHH/SD/vpx8vJ1ykxwSDMQgJryP + D/ipyQ/wWISI9AmmDDtNAqnBT4dgClBeHgVQx7uY/vPr9O56ypmMdVjMzLUCxiXvMpfIFbbFrU2bdLOh + WR045F4XWVoS62lIEIpB7Y66MOymtlxom3X8gLDaxOVgI2UbMZdDjLyc2mD5Q66y8Jq8n/B/x/7hJxh1 + nw5j3qXiOzOE5YAjFVn5OP4dWZ+ErdRKF21zug/oU0UmGHAm409UhtiwOdnuY+QSh/2CV8sIrH5RW/wy + he9QY7J6Te5mN0xvR+P22LtDjLo73G8lqVi/RTTlgSPKAe/X5acrTpAORbzUDovB4UbujX5kHfPywzm3 + urZR1EvstZgg6qSmgUW6VuYzliX6jIX1YAV5msJ8hII+N9EfbPLtlq5TFGSjFxzkeQvnIQv8ZIX1OAV5 + hsJ8cII+LWE9IkGei8Q8DAk/AdGfyurtMSuzWh9LsFE7VdEj+A430reHKbm/fYQgF708HinIRh1fHCHI + RS6RHQS5BOe6BHxdal91luzcsX29m/05nS/4T84gwUAMYoXh4wN+aqYBvBthec1qIgwOMdIbCovErLu9 + 3qYuaXjqE4746aXEABFnzrvWHLtGcinoOcRIb1IsErFSqwWDw42c5sXHPf+nK3Y1YbO4mVwMDBK30guD + iTreP2eLWcQ8uI8H/cQEceGgm5osHu3Yacd1G4jjafsfjRz+qM1CST4bxbzP73nS5/eesUmqFeX8Lgdz + fHmT7ZLNRU6yHSHERdkDwAMxJ3HaxuBAI73gGBxoPHAu8ABenTrMgZMlLYcYyfWGCSLO/GLDUkoOMVJr + CIODjLwfjf1i1s9Ffqva/IJ1n3Qg5uTcJy0HGVnZgeTFPiX2PE8UZFPbFdNtisJsybr5yTMqErIeSt5v + bjnISNv/0+Uc427V7bpIfvZkkZi15GtLwNs2XzK9/6bd0QbnGGUveZc3+XNGryZs1PUemiSraHPSHQOY + GK19jzm+Jn28oL7o0TGASYw/StpkXFO22xd6/0BqJlikYf26/CyB5bdkdvfpPule8CTZUcNQFELaIvxQ + BEqNjAmgGH9Mv81umKnUs7iZkzJHEreyUuOE9t6Pk8XsOrm+v5NDjcnsbkkrLzAdso9PDYgNmQkpAsKG + e3afpPu9PtYpLzLKdvMAantPJxitm7qgWC3QcRZZWifbIh1/lKaDQb52Q1Cm1YAdt9roRB92rL9CMtuo + 46Ump5+K8i96uKgPYyFupooKkBjtaeCPh7ROyybLWGEcBxCJeHi3y9nGTXU8U5Hi6ynbllVbikZ+3ebV + jjCkx8gW5LgKwi4nJ8Bx1LRcdOrJ7i9JWhRUi2Jsk15rQ1gKZDK+afw28D0BWPZky9635GXeUD2K8U07 + NQnBSKMjBxv34zuGDub71O4usryOXxLkgb6TWac7KOZVh4iO3yYaYn0z9QQBl/OM1B/u/Nqn7OfmsCMV + 5g6xPSqDSlJZbgnX0pBbviNjm1Qx1IdTlbQUMjnX2DyRq8UTBLgoHTyDAUx6AynSyywAinmJ2WGBiHMj + OxJ19crSdixipt4QFog45SCc51Qg4qwJh+p5IOIkbSbvk761ovdIDMz2EQu7V85VI7DKq2Sf5jVRdOJ8 + I6MDaGC+j9a3aAnAQji/wWQA057s2fsWVSeuDluqqsN8n6jW3zNyoreUa/tJ9Px0DYfdKqvJ96OBgT51 + R8k2hKHsSNvKGPiAY559RSoQ8usOr5YjkApCSziWpiY3K0fGMREHOntvnEOt3P06nVp0/DLTnpYqynOq + RkOAizPLY4GuU9BuVw04jhfeVb0g1yQ4dbeAa25BrLeFV2sLcp0tgBpbncixo0kk4DrotasA61bdhysI + p0pbEOCSSa/Pq6SWAQ9G3GogsCfskwrCiJvthZ3UkboAZzMEeTZDALMZ+m/UEfQJAlx7smjvW6gzIwKc + GRHdhASx92JgsC+rtmqcf6hLjranfXtJWEpgMr7pNA9BLiE9GbASZ0ZEcGak/1Tss3WeFjx1B2Nu8gDJ + QX0vZzZHoLM5p6FYd0IT6RE5KnBiPFWHYpPIEREnpV0YdJOLXI8hPuKDFZMDjfSCYHCusc1J+RlNeMIc + X0nvYx8Z29RkglGx95RtO6hjn0lX1RK25Zk6f/bsz509c5LoGU6jF8bA6gUcWZGLFFCW2luX+MjkBEEu + TpfbJg3r7eSP6cXHi8sPo20nArIkn/KSUP04HGicUToNNgb6vu43lDlVFzScd8nH29ndTfuef/mcEXqT + Pgp7SbeWw8HGvHxOi5yUBCCN2pnJkAdSgTLPaGOW73r5V5KNP9yjJzwLMVuOiOchvJzWE56Fljwd4VlE + k9bUq9GMZfp9enf9Ua8DIah6CHAJUhqdGMv05f5uqS+YsujR5WAjsShYHGykZaeJoT5VyYiG8gIoKsBj + bKs62VWbQ3EQ3CiGAo5DKwwmhvqSQs2TbJjajrbs6UokuUheqppiNSjbtiFZNh5NvpAOsT1ifbEqKRYN + WI5VXtIcLWA75F9ykkMDgIN4LIDLAcZ9SrftU8+0Xq1Y19ZzrnGTrWkqCbiOJ8IajyPgOoqM9cNOmOvb + 7XOaSQKWQ68DJCj0930DZXt+kwFMxOakh2wXYfHHnf0efvtvap1xRGwPrbH12th1dShVBfuS/J3VlUow + QdJ5tGWXZZxWG7WA7cifKYL82aWp6XxEbM+BktvWW23y31n5lJbrbJPs8qJQjz9TXcnV+U729JtXPXlA + 0I/R2fF/HNKC1UFxSNv6k5Im8tsWTbwLvftvW1c72ZEpm8dql9WvJJVFWtbHNaWoyG/b9PGtVZUXWUKq + zj3WMTdJvV2/v7z40H3h/PL9B5IeEngxDuM3W+4Jz0K8446I5ZFtG63uaAHLQXoYcuc+B7lTfUVZpxF7 + xD3kusrsMVWvTNFkR8q1VaROawt4jpJ4MRJwHfvq5YImUYRnod8xBgXbtqmstdS8LE9r4K6fWMChMYf8 + m2o0aRZFWJYio90k+vu2gXQS4wkAHOdkybll2aW1eJKtDWlFh405PvGd2qM5Mbap2hDHiB0BWZIfh3z8 + O7Eu5xlprXBHQJYL3SbSXS0HGZnCsI/VjYEFeAzi/e2xnllPvQrqJXcUZktWhVoMvuFZjzRqrzZccwWU + fHI900OI65wlO8dsrPvSYhFzhBjx7g4FUScJyMLrQPuw5yZ2Co6I5xE/aqJGEpCloWv8cicOK6rmsIIs + rCJx4jwjo7rya6l9TutKtIDtoJVLt0zKIkX9JR1ieWiT++6cflnK5KHw6vu+gXoH9JDtOuyoXZgjAnqo + CWxxvvFV9o+pNsVYJtogxB2B7FPV4qjOX3Io1V4kpPYQoG07d44mMBtD2tXu+H3fQFkw2CO2R2SHTZXU + KemJrUFhNvV/HjOes2UtM/ECvStjXVLgWto/04aVFmcbqT2j2u8V1eQeUQ30hojH4PaEZ2FMdZiY56PN + SwlgXkrQ56UENC9F65G4vRFiT8TrhdB6IG7vQ/UgqGnQIZanqRLnaFaC0YdBd3fWGkPcka6V1dW1OMt4 + oE0IHNzZgAPtAdLBfYJ0oBWFg1sWntPikBHb3hNjmYjTWM4c1ukr20O5bvKqTJ4INRBIQ3aRFVtaG+6j + hvfrp+TL9Eu3xctopUX5NtIjEYPxTY919UI1KQY2tWcMcXwt6VspXfQe8T3qhan6mZxoHWb7dtmO8pTv + RNgW0dRES0t4lmKdNkSNQgAP4Qlxj3iekv6zSuh3lUVWUj2F+V7n9cePejqUMk1sMrApWVVVwdFpEHGS + Di/1ScRarRvyftOoAIuRb9rnpA3hTWHcgEQ58BPogKQQaUhqQb5L7NN1RnVpyHcdzj9QTRIBPd0ZV3JI + Jz/6OX64G1CAcYqMYS6g335BzmOJgJ7o3+4rgDjvL8je9xegh5GGCgJc9PvkAN0f8o+Ma1IQ4Loii64g + S3SmXoXzlHjGooHYHsrbp8fvO4ac+BKVBbkusU7rTbJ+yosNzWeAtlP+Rz5+Z4CegCyUzaJtyrFRdmU7 + AYCjbTjUoH78nnMgbLspi0yO3/cNCbnk95RtI/Svuq/bPLFPbSC2hzIsPH7fNCy67lVWq1H4JqvHyzwU + 8uZNt9fyUyoos164AYiiekHyEmi9KJ+1zWqfrTQvRbfq8pVSnUC0a9+/UrtRJmXbaHXmwqszF3p1WFq+ + Evv7Nocbk6zIdoQd2DAejqBKYGwU1wFE4qQMnCr0kZADIk7u7x/83Um+2xf5OqcPiHAHFok2WHFJxHrg + aw+Il3zzniDfVaSiIXX0LMz3VXs1S0dc5QXCA25WMfYNQ1F4g/Eh01BUXqGBHH4k0kj1hIAefsceVYBx + ioxhLjLAdUFOVGekevpj9G8Pj1S7L1FGqicE9DDS0B2pLqhLyA0E9DCuyR2pdn8mV2BQ3RUzUsUMdhTa + WGLhjSUWapHwcSHDqe3JHmmdZ8zhRdIvqjudYWIgSBGKw/s5vsCOQRozLdwx06LdnUi9KkOxnCDbtc+y + 7+2lNikpNS3Qdorv+Z6iUt93DM34J0rH77sGypORnjAs0/ly9ml2PVlOH+5vZ9ezKe2UCowPRyDckSAd + thOehCG44f8yuSa/gm9BgIuUwCYEuCg/1mAcE2n/k55wLJQ9T06A45hTNnjsCcdC2y3FQAzP/d2n5M/J + 7VfSKaw25dj0HgGZoOW/CyLOour2zGSJT7Rjb9fyFfn4Z/wOZvjmt8nNbLFMHu7JZ+FALG4mFEKPxK2U + QuCjpvfbw/I++fj106fpXH7j/paYFCAe9JMuHaIxe1oU448kA1DMS5rh8kjMyk/mUArrOWPZtPLMRxqz + U3pRLog52cUhUBL0Nijq0TQ7JUwDFoW28xvEeuYvX5fTv8iPswAWMZOGHy6IONXmLaStDWE6ZKc9UYNx + xH8o467f4MMR+L/BFHgxZEfxm2zhqQ/2IBh1M0qNiaLeg+7kJCv18wQzgOXwIi2Wk+XsOrKgwpIRsThZ + jljC0fiFGNOMihf9+4Ile/l5Pp3czG6S9aGuKY8WYBz36y2pu0P3uEFMRzhSedhldb6OCdQpwnH2lZoI + qWPidAovznq1Pr+4Unu51K97ar7YMObOygh3B/vu7Up9fM61Ozjmv4rzD15/lB11P6Xyf8nFO6r2yPnG + tiei+tb62HZ6Lxow+FGaOiJNLHjArf5JmI3HFV6cbVV/lzdEow5xzh/Lqs6SXbp5Tl7yfVaV+lO1qZ9a + oU6Zf+XI/WtTBw/yss9EPe/jeqcSJiW3WD2IOXn1kg0PuFllAVJgcXjl2YYH3DG/IVyeuy+xuqQWi5n1 + OPV79spzH2nMLpu+8VuSASjmpcz2u6DvVAdfvLb9p/aYOm4fJmAKRu3Om3uLsK4qGLe90PiglgeMyKv2 + DBKzkk/8RHDQr6v0brOxvCoZIRwDGEWnHmUHdYhFzWrNXUQWuwowTvOkT3aS3yU8bIBx3/+UqpWu9HFz + D3pOtQYxFTuisKN8W9txI/f3Tpxn1NWqeBWUd7kB1Pfqw6m2uToUNU+LZHWgLIcOOLxIRb6q0/qVk28m + 6nl3enqZozVI35rtCG+YWpDnUjUKr7YzSN962CWcuZ0T5xmrmBFQFR4BVeWaWpkpxPPsq+L1/P27S17/ + x6FxO6M0WSxuPtAeV4K0b5fjDiFv71X1k3XpDu756w2j3mkhxKX2nmnyfZFdUU7JCij8ONm23WBXDgkS + 9XW9GSFpWf2QCI+Zl2tuFIl6XjVfpF7ViemdgQ4w0tv0fAWh5yverucrKD1f8UY9XzG65yvYPV8R6Pnq + Y+g2MVdv0KA9st8oxvQbRVy/UQz1G3ndJ6zn1P09ybdJ+pzmRboqMp7aUnhxmkKcyxqaWkceMcO3nCc3 + 84+/0/aUtynAdtx5mSw8goCT1IaZEOBSb1cRlpramOF7Sq9Vz5w4sWNRve1mujhOVb0f6zIZ25StV++p + 3TaX84xMIeLbZBfqAQJL6rCe+X2E+X3AXNLz58jYppJ5fSV6baquI0zRGQjoSQ7l+imjHDIDwr67kh2O + fVrnDflSe9Kwfk50pNGu7vu+IdkfVqQEdDjbWO32B9m9Ifp6CrOp+YUnQp5AMOqmnXMCwpabsuSq+7rF + n3bwpyWjicE+WYrSXdZktSBsOYcKnBjNu+SR5FSA76D+5hbxPXuqZQ84fpB/kUQAT50/c37YkQOM5JvW + xHzfD6rph+tQh0L8+tv5b8nFu1+uaDYLtbzHLdn7ckcw+7DlJiwIbL9t08T9VA3E8rSLhlm/z0Utr6Df + SwK6lwT9PhDQfaCHPfqNJZqpg2wX4VTm7usWT1tQeQJMh051QTnNx2QM02w+vV7ez78tlnPqGaIQi5vH + DyN8ErdSbiIfNb2Lh9vJt+X0ryUxDWwONlJ+u0nBNtJvtjDL1y2UT+4mX6bU3+yxuJn02x0St9LSwEVB + LzMJ0F/P+uHIb+b9XOyX6jmyPeWhJggb7sUkWcyItYfB+Kau7aTKOsz3URKwR3yPbvOoJg3ZrnYIo15N + TZtDTTI6qO3dVDFqn/bs6hOiUiGe5zmr8+0r0dRCjks2jjefSSJN2BZqyfVLLWvQ5HCIkTdsQg1uFNLA + 6UQAFvIv9/p7x7/uyZ49ZPlB/112v/H0V+oAygUhJ3EI5XCA8QfZ9cOzUB+JOBjoIy8DgljbHDEwA2nE + LnOPcUsDOOI/rIp8zdafaNtObOu8do49JARY0MxLVQ8G3awUdVnbLBh1mwDrNsGolQRYKwnenSqwO5Xa + rPttOmlQ3H3fNhCHxSfCttA7FkCvgjG8NqHeNb3mzUq7HG5MtvlecLUattyMnrxNwbaKeMYOxEJm1YrR + nYrCbEnN8yU1ahRMI/iLiSMjD4SdPynvPHsg5CS0QhYEuUijLgeDfIJVagRSapqKW7aPpGsljrMsCHDR + qkQHc330C4OuSv0tecmbp6RUiwv1Yq4iS7+b7TvnZSCe3b+6vzNqxL+9ksZJdj/Nk98/dedxyh7V0/gT + 3XzSs5a5aPYXF7/wzA6N2C8/xNhPNGj/O8r+N2af3399SAhLjk0GMBE6ESYDmGiNsgEBrnYQ384PVDXZ + auOYv6oJux0DKOxttwbbFukjR93TiH1dbdM1M01OMOY+1M+ZKoE8+ZEO2inzugiO+DfZI6cE9ijiZRcT + tJS0tzVhe3SfBKxqLmL1GpPMngGJwi8nFg3YdYqRnhwDKOAVUfelGLgv1ef8ysqiEbveA0C9PKMOflbH + b8nuwY4VCTRZUf+Yfuvm2WljNwdEnKRRps15RpnhuSxKegwmsnU9fpM4VODHILWPHeFZiG3jEfE8nGl8 + AA16Odnu8UAE1STXFTk5exB2MubrEBzxk+fsYBqy6/uQei97LGjOyrWurgTDfGJhM21izycxK3kiHsE9 + fy6Sap/+OFBvwRPnGWV+XhBeR7Ipz3acMmc13bAAjcG/XYLPDbrvkKZVjgRkYfdkQB6MQB6a2aDnbKfp + 2Rft4oif/uADwTE/u3wEnoB03+D2wjwWNHPrUhGsS0VEXSqCdalg16UiUJfq3iSjmT1xoJFfKhwatnOb + WBsecCfpVn0o81oOFfIyJc2JjvN5V0B7aGRBluvLdPn5/qbdFiLPik3SvO4pFQzIWxHa5VOEw5ZNBjDp + t8Co/V4Xhbykma8TA5kIu3dbEODarAqySjKQ6UD/fe6Ig75i0IIAl56Zirl9QprR8YhTDkMqIG6uhsUN + OUaLQT6RpOpNbbWNQEMvbTYO++UQXncaOPIjC5h3B3qJlgxgovUJgbWhp79W6+ZCz1+QfScSsOq/X6xX + K7L1RKJWGZdplSRgFW9zH4qx96F4u/tQUO7Dtk+229eZENnmTWLjOiR+U/FvXIe3InRd/HxzURL20PdA + 0Cka+dmG4WxBy6lPKzvkRZN3tQSlnPmw4b65uLw8/031ofZpPn7C1MZQ33E6b/w7i6jAj0F6vmwwvon4 + /NWiTNvsYTJffiO/JuGBiHP8ewIOhvgorYHDGca732d3xN/bI55HFdb2ATdxTgDGQf88xj7H3fqUjuOd + lpWP8iNBjAApvDiUfDsRnqXOHmVVo07aLApdIxdZQ81C0OFFEnF5KobyVMTkqcDydD5PFpM/p3p/bmL5 + 9lHbq7b0yeq6qmkzDh4Zsm752q3tbceA+mOK08Agn3iVBWfH1Zq0bW9/Bu1gNpfDjUnJdSalbdV7Abcf + CYrT5BzjoVyzf74H2249r0/NqhOEuJJC/Ykj1GTISr6xANz3l9nP/lt6e0NqCN9gR5F/ZGehyzpm1bJ8 + nN1zypzLAmb1H1yzwQLm+eTuhq02YcCtd2mp2HYbt/36aELyLdNTmI180zho0Eu+bSAeiKDPRuYlRo8G + vbxkcfjhCLwEgiROrGqvBqm7tP5OsveY46vV0hIdklSsTQ43JusVVyrRgHe7Z3u3e8d74JS4A1jW6iwV + VcmumAHc9e+qZ9WqE7ZkcznQ2G2txxWbuOsXjTo4gWE2QNspUk4a9JRjk60t9XY6Mobpz4dkMp3c6HM5 + U8JpQh6IOIknm0EsYiaNWFwQcaouzPiTAAAU8VL2DvTAgLNd2r/J62xN2fl9yINEpIzLHQ4xVvuMd9EK + DDiTx7R5IqykRXgkgsgIbx25YMCZiHXaNMzLNgVIjCZ9JL3cBLCImbKDsQcCTvXIm7ZHEYACXvWWlqz4 + 6ydOTWfCiJubwgYLmNtXd5jpYcK2+6N64WpZ/UFYCmFRtu169vB5OteZqo/mo706hAnQGOt8T7zBPRh3 + 09ssn8btlLUAPop7m7rgeiWKeru9Pil9QkyAxqCteAJY3EzsJTgo6tWP+vd72ngJV6BxqD0HB8W9z4wK + BeLRCLw6HBSgMXbVhpu7CkW9xJ6OTeLWfMO15hvUWlNOrIdY1Cziy7gYU8bVl2JqgBMfjBBdHm1JMJba + ipZfYRoGMEpU+zrQtnLzAU//mJomXMtE5ehATjJrFrRW4d37/n1P7/ZAfR39t095mRaEfbR8ErLOqA3W + icJsrEvsQMj5lXTajcvZxptsLXP8YyqyD79QjCYHGtVdyhAqDPLpHKP7NAb5qLncU5CNniMmBxk3t+R6 + wQI9p+rBcm4YBwW9jMQ8YqiPd5ngXdN9xsqkHnSc+WMmaD9aE5CFXrZ7DPX9df+JqZQkaqXmikVCVnLR + OVGYjXWJcLnRHy0oq9gsCrMx8/uEYl5eWh5JzMq4bRwWMnOtuPFP2hpBh8ONzNwyYNzNy7Gexc3c9DVp + 2z4tWe26gUE+cuoaGOSjpmhPQTZ6KpocZGS06xboObntuoOCXkZiwu268QHvMsH6ufuMlUlYu/754Y8p + dw7VZRFz9nNf1Q1L3KKIV0/HqcfBtJEaxAcifN9sYwK0OOKnzhVaIOLkPjEBBUgM6lNAC0Sc1Gd0Fog6 + m8M+WclBW1InP/UieWYIzzMcUbxRREGOeNof7q1Cn4TBa9iL72+RzKZmMJ54m3iCGu8tkhj0AVdwrKfI + oY4g4nxSddOOp+1Y2/zlJuJpogeDbkYr9SWwNuX4GfEJn4GhPmK7b5OwVZ9/y5FqEHR2h9sypB0JWqnP + 8L5g63y+8FbjfMHW4nQf0Ar9CQJdxCdPX5AVNt3fyc+GTA40sp7VuCxs5t3h6L1N2rbAxjwfuw4K1D+c + VIRTT73a0+63wFDasOdm/Gbw1zJyw8+Jh4/TRJBOLLUpx/bH9eLqQjZB30i2E+Xapt8u9Ic025HybaxV + HRaIODe0Fs/kECO1hrZAxNnuafadtjrJp0P2WqRJlWb7pEhXWcGPY3vwiPqLu8ftObHJwBwDkfQlRUbq + HAORGM+7McdQJCESkRYNcZVdyBOIeDr9KSYZTQkSi9jqmxxuJM4zOCjiFW9034jR943egWrd7iam1pJx + w1mSEbEes7LfBiE6qGULRFdJImst9XXS1rQDnnER94dV9nP/FjFb00DUmJpQjKoJxRvUhGJUTSjeoCYU + o2pCYdRgXWpH/jLLRIj6Btnn68bHj2kGcN2I+G8VeDhidPsjhtufVAjiI1oDQ33JzWLCdCoU97Yb13HV + LY3b5/yrnoNXrSc+Ge1Hx0FGTrOAtAGUHe4MBjZx9guFccivZrJiAtg8EGGT0UeWBocbyfNNHgy61Xbi + DKvCUB/3Uk8sbtaLWjPa2kWIByJ0LxiQzR2HG3nJYcKAmzVWRsbJevQ5/sxXl0ONjFrwCGJOZr1tsJh5 + zr3aOXa158w0PUfT9Jybpud4mp5HpOl5ME3PuWl6HkrTphDq3lCLMWg7KwYtcLSkTl9YOwkHHKFI9F2F + cQUQh9GBAPsO9N3pPRKwth1osrLFUB+v8jVYwLzLZV+tfIzpSPgKIA5nPgeey1GTMbFlGXCEIvHLsq8A + 4hynQ8j2Ixhw8sqMRUN2vQ9He6gpXW7AuLvNGa68pXG7zg6uXMOAW3BbNYG3aiKiVRPBVk1wWzWBt2ri + TVo1MbJV0/u8Ep+iWSDk5Iz8kXG/HgSz7r8TCVr/Zvxi7wmk/jMr9ZCUI+62b2OA75m8/NrAUB8vPwwW + N9fZWi3r48o7fNAf9QtMhx2J9R4B8gYB590B+K2B41+Ji30MzPfRl/dibx4w1/OjK/l5a/ix1fv934mp + Z4GQk56C+FsAaiPSdveJJC3ylNSdcFnfvCG/VdVTjk0tZE4zkZxfXCXr1ToRT6lupUhyTDIyVpLv9rLv + kVP3ZBolDF3DepesikPWVBXtVQPcMjZacvU28ZKrUMSmTp52qU6Xi8sP/Ii2JxDxcb1jR5Fs2CyHHOVG + b3MTE6O3DEQTEYWx4wciyJJ6fhEVQxtGRHkfHeU9FuW3C36utyxiVodVR9dIrmRkrOgaKSQMXcMb3LGA + JxCRm3cdGzZH3rGeZSCaiMis8B17/Ab/jrUMI6K8j44C3bHrp1T+7+Jdsq+K1/P37y7JUTwDEGUjryTb + ZO/jbl/QMjZa1A08aASuojwUBf+3WjRg/xmfcT8Hc+7Uj6K5Txjia2qWr6lhX0bYs9fGYB+5AkR7K+0H + 1ZZ1fRIDfLKB5ORHiyE+Rn60GOzj5EeLwT5OfsD9iPYDTn60mO/rWnWqr8MQHz0/Ogz2MfKjw2AfIz+Q + vkH7ASM/Osz2rYr0e3axIvaSesq2MV4QA98MU00HsYR0iO8h5mSHAB7aDlcdAnreM0TvYRMnmY4cYuQk + WMeBRuYl+leoDuxVTTxFdmRskz6kXc8NrV5JB0IDbMBMew7toL63nXniXbHJBsz0KzZQ3Fut/sX1StT2 + PqVCV2dPab15SWtSSrisbT4eo96GTtLisarz5olUcWMOOBLzMXX4vHfzC6yH0z7t2Dekzdvk113+ksZf + erzu5RMlmrFN7cHoMfkNG6AozLwOnd3ef8zKZ5e1zfX6IvnlHbXy7infxlABnl9oDqfsUcuNX2b0+HKr + N7LRxwCIbF2rZeOH7Tb/SVWjIi/mxcUvRLkkfAutnwfNe8m/vb+iXoskPMslbQ6oJSBLQv9VHWXb1PSE + mqvQi593Kamwuixs7uoJ9aC13nD0lgCO0X52/KY47NUmPhkrGqLC4upDYhhv9MAGI8pfy+ndzfRGrVVJ + vi4mvxPPX4TxoJ/wkBWCg27KajeQ7u2fZg8L0t67JwBwJITNDyzIcelDgtbVoSSczeGBvfP36d10PrlN + 1FmzC1LG+yRmHZ/dLocZCZnsgbCT8vaJyyFGwpvtLocYudkTyJ128XmlDpi5Iwx8AopQnOe0OETE0Dji + 5xUytIxxi1ighOkljCynJhGrOCV+yc0/WxGKw88/Eci/xdePy/mUV7xNFjfTC0dP4lZGETHQ3vv5j5vR + +/uq79qk2kgwLTcUQYd4nqZO1w1RpBnD9GVyPdogv2uTnH2wXA4yEvbAsiDERVjU5XKAkVLsLQhwURYo + WhDgIhRvkwFMpJ2fbMqxkRb89YRjmVFTaeanEHFxn8k4JtqSPgNxPJTVySfAcMwXC/WiZzr+zjsRjiUr + qRZNOJbHrMxq4pyOBzpO/tQdgjt+7oQRCLvuqnh9L2/W52z8jrMeCDp3h4IhlFRvmy0WX+VXk5vZYpk8 + 3M/ulqR6DcGD/vH3MAgH3YS6D6Z7+5eb0dM58qsWR6vuToDtoFR2x+/bhmWdlmJb1TuK5gTZLlpl1xOm + 5XI8fmlx1PS89NPzkpiel156XnLS8xJOz0tyel766Tldfr6/obxA0hOe5VDSPZrpTXq4cH1/t1jOJ/Jm + WiTrp2z8NvUwHbBTaikQDrjHFxQADXgJtRPEGmb5ySdaEpwI16J3F6Md/euBoJN0BLjLucaiGr/ZcE9A + lmSVV3STolwbJTuPgOGYLhfXk4dpsnj4Q3bqSJnpo6iXUJZdEHVSfrhHwtZZsvrwi+qUEqZtMT4UoX0/ + kh+h5bEI3EycBfJwpu8K2bskdEsxHovAKyQztIzMuEVkFiohIjIdxGA6UF5l9UnMSnstE2IN8/1ydj2V + X6WVNYuCbIQSYDCQiZLzJtS77j/+d7JeiQvCuhsDcTy0SSkDcTw7mmPn8qSN0nvCtmxov2Tj/gr5HxtV + VPONWpUhKC4HRb2r1xh1R9t2/QyBcn6sBdku2lGfPeFYSmrhbAnbIv9wsV6tKJoO8T1FSdUUpW8hrEgz + EN8jyFcjnKuRWmoSd4jvaX42VI9EbI8g57gAclxqqZoO8T3EvOoQw/MwvVNfUm/vpkXRL9MSyboqRw8G + BzR+vNUhL9S+Zu1OtoIax8F9v66+RUb1dhjiI9S7Ngb7alLr7ZOAVaZ1/kg2agqw7Q+yMtZHwpCVPep7 + Ob8a/r2PuybfkV0thdlkGf4Xz6hI1LrJt1umVqG+9ykVT+8vqMqW8m15+v5ine6TB6rwBAJO9cBEb2BY + ka096nvbkbiqAWQFsKs2h4JegUAOP9JO1mXVmupuKcxGesoHoIA3223ot2hL+bayYlYjJ9B3yk4sJyE7 + zPeJpl6nIqN0xz0StDLSsaVAW7FOG4ZOYYhv/JNwBwN9JT8Ry1AqlrxkLLF0LAlbZDuY72uqonoZv/rO + wQzf8vN0Tl18ZkGQi9Q2WhRkI1Q0BgOZCON5CzJc+6yEu4ijxagBj9K+NMQO0eG4v13/y/Z3uO9/llEJ + c/EOhvqS8rBjOhXaex+mX5LJ4u5cL0wda7QgxEWZmPdAwPkiS0hGFmoKs7Eu8UTa1r8u3/2WzO4+3ZMT + 0iZDVur1+jRmZyUHgNv+1WuTCdaV26Rtlf+ZrOU9t0rHP490Odf4XfbIthXN1jKOqUrUobbjWyULsl1q + nl+9OXA9e5D1sE5oihXAbf++lh1Ryv6HFmS7qGXeL+k6r28+03ZU9UDIuZg8tC+W/TH+SQNMw/bk4etH + wuakAAp7uUlxJAHr9DoiKUwYdHMT4kQCVnUO3q9ko6YQ2xXLdoXZ5Ndnf+pXV6g3KOaAIvESFk9VfikI + loF51L02H7jX1Od6VR5XfoRhNzeV56H7WLWRZKOCEFcy+foXy6dAzHk9v+U5JYg559N/8pwSBJzE/gPc + czj+ld/OmDDmjroHPAMehVtebRz3xyRRoA1Sn0e1Q64AjRGTQKE2SX3Oa5dOZMB6xbZehayR7RTiwSLy + Ez6c6nGlZrDMzKPv3fmIezeqHXMFeIyYXJgP1Q+sdu0IBpys9s2EQ25OO2fCITenvTNh202e7ADmOdpB + Oaeps0nQyr1RABzxM4qvyyJmdoLArVr7IbdJ82nYzk4OpCVrPyQ3YwaG+a54vivUF5OwjmBEDMrRvkEJ + GovfFKMSMBazwARKS0xGBPNgHlefzIfqE26T69OInZ3a82BtRW1mewqzURtYm0StxKbVJlErsVG1yZA1 + uZv+D9+saMhOHKQis+anP0e03fg41fg87p4bGKlaX2LfHaGxqvWNqIQKtesxw1XYgEeJSqZgO88asjpo + yHvF914FvbEJP6L9B77G6wMgomDM2L7AqHG58dWIAjZQumIzajCP5vH11XxMfRXXVwiPz63vROXGfLBW + 5PUd4DG6/RmvD4GP0p3PWX0JfJzufM7qUwyM1K3PeX0L12BEkbf3+UXy8HGqVpuMNluUZ6O9wGJBnouy + 1MlAPI96Yv1d1plpuUnWWT1+MQ7GexH01g5Eq2Y8U3eaHGEDRQ+0nZcyq/64+XSRULbu8cCAM1l8npyz + xZp27ftVdsE60R7BQT/n3HUEt/2/JqtDuSkyVWOQipoFIk5V/vJtvpb3C89tCtwY1BvuV+B++1XfLvSf + fqQgm6rNeMYjiVn5yQkZoChxEYbs6gTkuAiuwY1Cede1J1yLWtmjzvWmvJ7nk6iVdBYhxGLm7i7PNjz5 + Ccf9z1lR7fn+Dsf8Ki+48pYNmyflZhr3E3yPHdEZgJDrKIgPR6A1Bz4dthPWSSO46+9aOpq1g1xXV2Bp + rg5yXcfdtE43AWcX9xEqN267z9YbRA2IvJiqf6jeJSZGOGKgT/B8wvbd386uv9FvHRsDfYQbxYRAF+W2 + sCjX9s+vk1vmr7VQ1Ev91QaIOsm/3iRdK3v/IwQP+qmpge6CBHxMThV8J6Tu8y+ThwdF0i/bIDErJ61N + FPVyLzZ0rfS0NUjDOr//Syb7dL5smye95/pidn9HS4ygZUw0QhIFHGMiURIuJHFjdalMTzYDRJzUxDlh + iI+cBD3XG+eTu5uke4NorM1kHJP8S5a+kkQt4ngIM2HH7zsG/YoJyaEJyNIebaJOdFC7p6mDkQjDpwGN + E4+4fYHJOKbskZaC8vuuoUxXRZZsq/p7cihFus2S1WG7zSgbxQ2KnJjbXH6RssW6TTm2dmBdbpJd1jxV + tPRwWMesX0tXYUnOE+XY9tX4A+FOgOsQ2WFTMYq9CTpOkWW0RFOA5+DngQjmgWjS5kD7rS1ieK5H7xor + v2px+uIIYxkDMTzmAyvKflEeaDuPT6eoSpOzjP+bnL+7+EVtwKB2tU/S558XBC9AW/bkYbFIHibzyRda + TxlAUe/41tcDUSehBfZJ26peNN5/X4tzObzNCIdwQaxtXuXjn7Qcv+8YirxUpxkl499zdjDbpzeLlfXg + nnRdPQXZKHeiCdku4hyOgbiebXooGmqd55G2lTgrZCC2Z1ukj6Sk14DjIN6m/r1p7h9P2OIfQANeaiHz + YNfdvEvWdZPQ1iMBKODdkHUbyLLbn9NFEgJdPziuH5ArI4sywLJN101V0xO+4wBj/mO3J+sUBLiIldCR + AUwl2VMCFvoPg37VD7Llh2eRdylt1GRjoE+2oYlsYahVh83a5lwk1T79cSAV1hNkuyLOx0VwxE8+BgOm + bTuxa+P1Z1QC01u/nrJt3XGKuqejF1ok95PpQ7J73JLqp4BmKJ7qu8WHO1qGoumncpGxWseoSBdvEOkC + j1RWZcaNoFjY3Hbh3qA0gKLhmPw88i0jo128STQvp5gnO4Mw6GbVUPg5PfpTyjF/J8Bz6Mtm9PodFPYy + +usOCnt137SudsTJHtSAR2mquBhNFYrQUE9oAWHH3ZYXTpZaJGjlZKhFgtaI7IQEaAxWZvq47Rf8EZEI + jYgEs7cv0N6+YPTQBdhDF7z+rMD6s5S1Xcfv+4ZkLwS5DbRAwFmnL2SdZFzT3xnN8rfT5h/2lJOTesK2 + 0E526AnIEtEtBAVgDE6OOijoJeZqT/U2ympje22x+hftiLCecCyUQ8JOgOMgHxNmU46NdlCYgViei4tf + CAr5bZcmp++J8UzEND4inoecMj1kuy4/UCSXH1yanjZHxjNR06ZDPA+nDFocbvxYVOvvguttac9Oz8sT + ZLneX1HKufy2S5Pz8sR4JmJeHhHPQ06bHrJcl+cXBIn8tksntDulIyALOZUtDjQSU9vEQB851W3Qc3J+ + MfxrGb8U/JWcOsLiPCMrzbz0mj18niw+J4QW60QYlofJH9ML8jndDgb6CBOZNuXZTs+GduKRqDRRz6v2 + XM1Ud42sNUjDSlqC5a6+av9N3dbapnrbcv51sUyW939M75Lr29n0bqkn9QijMNwQjLLKHvMyyYU4pOU6 + iwhmi0bErLNNtttTzuccoQrGlX/PxdNb/FjHNCbqm/xczxWOTKghEDzoJ9QYMB20q1kAUdeR94BhgaOp + 87Kn85i7zTYEo3BzxMCDflUgYwJoPhiBmec9HbSrgp3tIgK0ghExKEP7oCQYS5W+Xdakaiorsni5qsG4 + EfeOb4GjSbb9D265tgRwjPbs29Ns9jEJONEQFRw3+7nP6nyXlU3yfM6JZgmGY8hOym4VG0dLxsR6rvb1 + Nj6a1sDxuEUCLwnmkiOO2eThCMzKzarVvi6m8/YAWFISOBjoGz8+siDQRfipNmXYlp+u1DKR0Ts/nADH + sT8QHQroHX9dXF6ej97hpf22S6sysU/zmmY5Up6texqknzV11Q3RDBiMKJfvfvvzvXo/R20W0D7+pxxu + ifFgBLUPS0wEiwcjEN5hsSnMlqRFngqes2VRc5GPf3EfQFEvN3UHU7b9NBHfY+QSB/3Et3B8ErRuLnKG + UVKgjVILOxjokxUYQycpzEbZZM0nQWt+wTFKCrRxyyZeLttCxfvdJxY0k5a7uBxuTLZ7rlSioPdZr1ks + GdqO9KzdyXmyxRDZmjLTgPFeBFkhnDMK1xGDfOpVo3KT1uqNlyYr1bSYoOshCxhNpt0hY/g1hxuTVVUV + XK2GB9wJ+Q70+EAE+j1jsQHzYf2U1my3pj27rgAY1fqJ84x9oWFVIC7u+VVdTW/VOgq08e5wg4StDeWd + VQ8Enez7w4YDbnqGWaxnbhdUMnp6Peg5u1TnFFsTBbxNsm5+kpWaAm2c1v7E+UZdMFg/uydtazK5/f1+ + TnlR0aYgG+XIW5sCbZsDx7Y5wDZq4hkY6KPs++NgoI+TEVg+EOYlbAq0Cd4vFdgv1ZOwG55Rgq5zuZzP + Pn5dTmXLdCiJiWizuJm0vykID7iT1WtyN7uJCtE5RkS6//jf0ZGkY0Sk5mcTHUk60EjkOsIkUSu9rrBQ + 1Nu+sUiYeMf4cIRq9S/Z2sXEaA3hKJTDXjEejZBzLz/Hr5pcK5okapWV0nlMnp74cISoPDUMThS9T9Hk + 61/0Im+RmJWYjQaHGamZaIKYkzxacVDXO7v7xEjPIwXZqOnYMpCJnH4d5Lrmt/SdOX0Ss1J/b89hRvLv + NkDA+WW6/Hx/w/v1BoubOdfbo4A33WzeJXX2XH3PNmSzCcPuczV+p85qeTDsVp9ytIoDjO0riuKQN9mK + rDVhyE0cAXUMYNpkRaZezWP89B6FvPl2SzdKCHRRtmB2MMh3oKee349Tf2XdmMgdqXsrsh+qNswmO004 + 4BZZnacF297imJ83JwzxWIQiFQ1tgS/GYxFKeRExEXoei6DeJkubQ80McMJhfzKf/nn/x/SGIz+yiJlT + RXQcbuQMSH087KcOQ3087F/XeZOvebeV6whEos87eHTATpzxdlnErNco1ixxiyLeuIpgsB7Q23XQR1se + jdjjKpnBOqavI6hPbWEDEoW4mh5iATOjSw72xndps34iqzQF2DjdZLh/zBgEHinMRnzebYGAU4/iI24w + h8ciRNwEDg9HYG5XF1AgcdqKirS/K8YjEfi1kRiojUTEfSyC9zHl9X8LQlzUB2cWCDkrRi9bQYCL9iK/ + gwE+2iv9Dub4TvuCk5/BWSRmjXiugDhGRKJ26BAHGok6PrRI1EoeK2I71Tsf6qOcOF1QWBGMQ66EfDzo + Z0w/QwI0BvcWCN0B1L4BslO/85mIz1UxJldFXK6KoVwVsbkqsFzlzQtjc8Ks2Vtk5vb2/v6Prw+qliGv + bXZZ1Cz/9pjV9N4kaECjdH0TxrQR4kAjiQO9kHg0bF83NevaFQcbKXvkuxxipJZjg4ONT6mQ3b685liP + LGymHGrpcrCRet/1GOwTT4dmU72UHOmRdcx6ve30bjmfTck9KYfFzN8iOlOYZEwsancKk4yJRV2ogUnw + WNTOm43iXvId6rC4mdWxAvhwBEYjDBrwKDnbHronqHWDjeJekbEvV2RN0BuVm2IwN0V0bopgbs7ultP5 + 3eSWlaEGDLn149KyqV/p5hMa9LIrT9cwGIVVbbqGwSisCtM1QFGoj5CPEOQ6PgnmZaxJg3b641+DA42c + NgJpHdp0pj+ccWHIzWtzsNamXdZHfBxjkYiVm/EnFPPqzezZd7RrGIzCuqNdAxalYT7thARDMdg/pEGf + eeqvqHEBXawozJZUxYZnVCRk5TRacFvF6nkgfY6qzIq8ZNzMHQg56YP/HkN9hENrfDJkpT6lcmHIzerD + +b03Wdqn1+1bxOq9s0bWSbRJG0gAx9A1qfoDx3+CUTd9tbTDwuZ885M7RwMa4Ch11tR59pxFhgI0A/Ho + z4pBAxylfcrD6CAAvBPhQZ3cTu4jnCjIRq3zjpDrag9lvbu/4VRTHu3av37k/fKeg43E7QIMDPW9azeC + Z2o7OmQnH0MRUMBxclai5EiakEvYCYN9gpdnAsszEZVnAs+z+cP9YkrdP8XkECNjXw+XRczkdw9NMOCk + r5Xw6JBdxOlF2K8faWy4+pYO26Ou/yQIxKC3RR4dsEckTjBlmvog+FetacROr0JOnGNU+yfxnktaJGYl + 1sQGhxmptbEJAk79kkXaNDVZeiJDVs74GRIMxaCOnyHBUAzqxB4kgGNwF+L7+KCfvMAUVgBx2hdgGAd4 + 4QYgSjf1yCqxBguZ6ZOWPQb5iC18xwCmU9KzMs+iATur4kPqvIj3JXwc9p8n2S7NC467Q2Evr0gdwYCT + WwU6/EAETgXo8KEI9A6IjyP+iLrPxhG/HCxxKqMeRbz8NfugAYvSzofQO+CQAInBWU/ssICZ0fUBez2c + Dg/c16HPa5wozEadfDVB1LndM51bqPUQ/HtAhO4BEVs6xXDpFBGlUwRLJ3m1+xFCXOTV7iYIOBkrynvM + 8+m3BPlvY0MCPAb5vUOHRczM9559HPOT+2snDjEyelY9iDhj3ttFHKFI6tX+dao2SLuhvvcT8IQitqtO + 7w67VVbz45kWPBq7MMFvyTqf8jp+kGI4Dr37BymG47AWuAc8AxE53U7AMBCF+iYtwCMRct7F59gV0/tC + Jw4xqlbyDW5yXxOIF32LuxIn1mL2O73uPUKAizyrfoRg147j2gEuYulqEcBDLVUd45qW9/OpPrWM83zD + o1E7PWctFPXqdoO8lQfAD0R4SvMyKoQSDMQ41LU6Q2RNfI0C14yLx9g8IGgKR6U/8oMEgzF0ChA796hl + IFpV5OvXpOGXcFcTjieaqo6KpAXhGLL5VQ9yiHtLYZJQrPPYe+t8+N46jy7j5yPKduwPGf4d/b0dVeFZ + mmC8rK6riFRr+eEIcpi3b55i47SWcLSf9HcGQMNQFNnQtqtV40KdNAPx9rLqyJuuCokKaZnQqORX02wU + 9ZL7NCaJWveHel8Jta/5k+x+ci/csaDR9NIU2fgKZpwTH44Q046K4XZUv9TMr2WOeNgfUV+KwfrS2Fgk + IkZnGIjCr71OfDBCTD0sButhEV0zihE1o/rOtkgfI+6Llg9G6O7SiBidIRilyXcxIRQe9pPX4AB8MEI7 + 5ZysVxFRTg40Utf/UyfRrL8zI1kONNLfWV0xAygU9KqZbWYdeERxL2uQ15Gotaiq76whfA+DbuboHR25 + G7uSc6oDE8f93BZyYJTZDjlk3jKvvIMDbl7f4cRiZu56f0iAxlC/jVm4TRz369VGEQGO/EAEPdzbRAVp + FQNx+unXqFi9Bo/Hnt8zaNTebm3EzZWODtrZQ3hbgMZoq7+YO9tSDMZh3+WmAY3CeBLtwgNuXt/hcbDf + UFSpaova0sxJIlsAxuCNM7Exph5OyRY0VwHTImryDHVhkc/Z7VwPY+6Y2lwM1eYisjYXg7W5iK/NxZja + XLxNbS7G1uYiqjYXA7W5uSHnPm2eBDOG5QhE4o2dw+PmmLFmeJwpoto6MdDWidi2Tgy3dSK+rRNj2joR + 3daJEW1d3Jh/aLwfMxYPj8NFTBstwm107Ph+eGzP2InVBB3ncv51QT7xvKdAG6d+tEjQSl5T0GOoj74M + 02ExM+MNOodFzfQVPg6Lmum1tsOiZvp97LCgmfpO24nCbKw5a4927H9OGGeoHCHARXyI8ie0T5X6I7Uf + 3jGuaTqfffqWPEzmky/t2UaMB2GYZDBWk66Iu1QijoFI58lTRSzAsCIUR1V+NeMmxCShWPQC6dIhO7mq + 9ughO73ihhWDcfZZVr9BrKNmIB6jcocVQ3HoXX9YMRQnsjRjLYv1Jc6jZUgQisGY3Af4UARydezAIbea + beDLFT1kZ7xiiDgGI8XVxCfFYJx8Hxkl34+IkaRiHR1HSQZjxdViJ8VgHN1055mIjHXUDMSLrcnEmJpM + xNdkYkxNpr6kyuYbxDpphuJxBvCYZCgW+dE9aBiMQh5swIpQHN1pZA10cY0Tj/3uWeCdM/1RnekXCBnb + 6/o45NeJx9abtG8nv38EvyGnzx2gd1N7DPSRm9kec3x6dRX/dFUfB/2MmSQT9JwqXPqdOO3RY6BvnTJs + 6xR00fsoBgcayX2RHgN9xD7HEUJc5L6FCcJO+rOcwBOcuP1PhvY+6T5nNG8WCVrpTYzBuUbiJtX+/tTy + L6dl5eQm1oUBN8sJuJjvI6PvITP2nwH3nqG+x+y/v6xrCPqkSo85PvlfG+NcmVT+i3E+DWpBonEWKDms + a6amCJAWev4kPTRPlRyjv3Iez4GGcBRZnVDn70FDOAojT0EDFIX5xnv4Tfd23qxqJtuGkwdHErF+zLbU + t6tsFPK2u3Ekq7wRDeOSLRzys1/NHXrrPmJnqOCuUO2H3S4i3HJu81CEZiXUJaTFI93es5D5kG8YZVpR + vo0zcYXui6U/qNZiT9cpyrclxrarVKfJAubjChG9TCits5Ts9wxDUagHdUGCETGSrHyOjqMkQ7HIJ6SB + hjFR4n/S0RKIduxJx2ST4QAicd5zwd/7i3rbb+AdP85OJ/AOJxE7mwR3NInYySS4g0nsziXDO5bwdyoJ + 7VDC3ZkE35HktFXeJtvodu4g0seMI3cUWBy94yR96hfggQjcE7wfg6d3q0/5SRNKEW4nM9DH5HcxQz1M + vcayyEqys+MgI33vOXTvxceY3WMew7vGxO3pOLSfY9RejgP7OHL3cMT3b1QbzrAL7S5Qanf8YrvDy+1O + Tc8k6eZfNOcJc3zeDAN5Vgs0wFFUfnL9RzZgJh8A5cIDbvJxUJDAjUFrSL21DrLeyDf05yE9BvrIz0N6 + zPHp10qObzTQO94+jvoj3KiXf8nw1VKXivirQ9RwU6Y0fXtXE3Sc+7QWWbKtq12yOmy3xFrQo117u0OP + nkaniQ0QdhbZc1YcZ5I2GcfuKEJx1OeMvi/igCPpz419lDiRXMdgJPqyT8QxFOnHIS3ybS6b4bhovQeO + qHaDos9gu3DAra9C5yg7Qq8YisNaloNahqIdZCP+RiEtVSBue2uw7yzX4UYiV5VgHcnZARvZ/Zp76CB+ + 3iBrL21kH+1u3pzxiM4iHWu39kQvciZJTdBxtivbOD13i0SsjJ67jULeftiUFo8VXW7z4QjPaXHIYkJo + gR+DNRuI73UjIuY4RHCOQ3BnIwQ+GyHYsxEiMBvB3Lce3bM+aufZgR1no/bCH9gHn7sHPr7/PXnve2Df + e9ae98h+9/3dtTkQB8I2inrp7Z3DumYju8iDdxcOucnDd48espMH8KDBi7LfV7Xaa+k0l0uM4fFOBNaM + DzLfc/wztStjcK6xSo5HMtCMPeca9UJSelfB4BwjY70kuFKS8e4x+Mbx8T1h6jZZBocbu309RSNv5keu + 3pLYsdKGd5KeyeFGxvM2AA/7ic/dADzsJ56eB+Cen3kWnE16Vj1MU30yXqq4OOTnXDJ80pjxAa+QBE8Z + cz5nJUawhPDPF/Ng2/38nrO+vqc8G2+1pwV6TsZz+Z7CbIxi4MEhN7EQeHDIzXlGDxvQKOSC5rK9Ob3I + k9+nd9P55Da5m3yZjrW6nG2cPUh4Pl0sKLoThLiSu2uWTnK2Md8TNtc4AYZjlSdNJnskq3STHMoXtd62 + yXays5fWo/sQQUk41ktdlY+yE/OYC8IAeNgERF0X1UqOFJP6/B05jsEGzecR5vOg+SLCfBE0v48wvw+a + f4kw/xI0X0aYL0PmK774KuT9je/9LeRNf/LF6c+QebXnm1f7oDnimlfBa15HmNdB8ybnmzd50BxxzZvg + NYuIaxaha/652/GrUAWH3ecx7vMBd9SFnw9dedylD137RZT9YsD+Psr+fsD+S5T9lwH7ZZT9MmyPSvaB + VI9K9IE0j0rygRSPSvCB9P4Q4/4Qdv8a4/417L6KcV+F3b/FuKEehB6sy25zu6PTJq+zdXNc4UuOFZIB + sfWuGHERfQUQp6nTnXr+XmZkf48C3m7EUWfNoS7JaovG7aJJx0+8gnDIXe356srs3WXi/OLqcb0T+XMi + /5F8H70eA0CD3iQr18nP8wh9Z0CibLI1yy05xJitVzrkqqjGLyvDDVgU+flOPCY/f+GFOOFD/qs4/xXi + /77ZssSSs4wXlx+45dBFg156OUQMSBRaObQ4xMgth4gBi8IphxA+5L+K818hflo5tDjLmKybWrdPhJUS + Dmb7nl6S9WqtfkD9um8oSpv0rU39/uL4aZu3gqoHFF4cWTIZV95Rnq0riwyjQfpWnhGxtft+tYlCLAY+ + DdqPSc6zG7RtLyt+aXNZyBxZ4lAJEItR6kwOMHLTBE+PiHIC8UgEZlmBeCtCVwE+6X3GPpCOjoRp3B4l + H3LLjv7r8/inXBgPReg+Sp6quiQ830B4K0KZJ/JLjGJug5CTXtBt0HCK8jzZVEm6Gb3HmIE4HtWEU1bM + WxDgIpUpEwJcdUY6vNnlAKNIn+k6BTmux0yWnLTI/842eoFUUyXjj7zHDV4UdcRJla8zWWUUclw+/lRL + jAcibPOs2CT7hu4+kY41b7Jdsq52K/kXeuHyaMdeZ1v9kFrdbHqGRI+kKScaDmiweKrarsqMF6WDHbeI + zGExmMPN675b0J2kQlZ9eUl5JowanCiHZs28Dyyyt66y7JDsqo2sGtT6XnUBNWVTM4w3IuRVN7cmZGeH + emosTNv27SYRT9Wh0PNS45/8A6jtVbv9yfKqFo+qZOsuQP0p3WxIvyBssqOqD+lp1FO+Ta2Ll/9N1XWY + 4SuTVG0/dFjJaqMUDamcAKxt3mySl6oev3+RyVimdbV/Jat6yHJtZDeG81stzjJmP/cy3wmqFrAc27wR + 8oYj/0iLs43q7dJdVTaP1S4j3EIeGbImYpcWBd/d8laEx7R5yupLgrMjLItMkjotHzNygtqg7RRqZzTd + cJCtDup666xIm/w5K17V+wSkcgnQlv1f6bpa5QRhC1iOYr1j3TMWZxszIZLmKS3NwjCnqEEBEoOaXQ5p + WXd5UejlKrKTReqyQ2zALHsKpPP9UIETo8zlLZe85JvxG8m7nG2sNu1p0Yzy4bGgmZp7FucZZeWbrFLZ + rblgXzKkAOOookmuIn3Yc3c9s3ft7c4Pg3qwiOwk83g0ArX+81jULLJ1nTVRAUyFF6cQT/lWHY3NTCOP + RyJEBgj4d4cipnHHFF4cbn/TY0Ezp744cZ7xcP6Bfa0W65jlrVa+I/k0YVtkYrNqSJPzjGoCIf2FqGsh + 2HXFcV0BLkYumJxnVGlKlCkE9DA6ri7qeck34JHxTJwS4peOSpaZUr/grLqd1eo5rw5C9jplhu0rIXsc + hAiDLjtyqec5WOMZj7XM++qFlmstYDlqNe7njTdc1Pd2bY7+DlVssrY52xzWmUyaNcnZU5hNDaD2RcrV + nnDHL/K/GWlrYLava2nJQpMDjMf01v8gey0asvMuF7hasU6bhlbqj4jt0ROn5OsyMcfXsEcoHuuZRSPH + Q2vG1dqo5+UIAdOP+upnomeIy5RS6dug66S35j0Eu644rivARW/NLc4zUlvLE+OZyDl6ZFzTT3aW/kTz + lNHDhXu3VptITj2AtuwH7qTAAZ8ROHAHDgd81PBCnr598eZvK/XGvxBq/8K9OuKq2OpHYqOdCN9HWF/k + yWRxd558nC2TxVIJxsoBFPDO7pbT36dzsrTjAOP9x/+eXi/JwhYzfKuVHqqoGc5y9CpHm/Jth7W4SFYZ + VddhgK/ZvmcJOw40XjFsV7ZJPWpWf00Ieza7nGnU58GR88KkfBs5LywM8JHzwuZA4xXDZubFUyr/d6G3 + FHw9f//uMqn2hBwB6ZBdZOPbG5g27GoJTaXX06wLNS7MSrXMaHSNifF9hI26+a+v1QvlN9PF9Xz2sJzd + 3431w7Rj59Wdm1Dd2X/45YGrPZKQ9f7+djq5oztbDjBO775+mc4ny+kNWdqjgLfbrGD2v9Ob5Wz8PgcY + j0dgprJFA/bZ5JJpPpGQldaibtAW9fTJ3dfbW7JOQYCL1jpvsNa5/+B6OWXfXSYMuB/k35eTj7f0knUi + Q1bmRTs8EGEx/efX6d31NJncfSPrTRh0L5naJWJcfjhnpsSJhKycCgGpBZbfHhguCQGur3ezP6fzBbtO + cXgowvKa9eM7DjR+uuJe7gkFvH/OFjP+fWDRjv3r8rMEl99kpfbpvmukSQEgARbjj+m32Q3PrlHHe2iq + h/aApz/Gr1P3Sdv6cbKYXSfX93cyuSay/iClhgfb7uvpfDn7NLuWrfTD/e3sejYl2QHc8c9vk5vZYpk8 + 3FOv3EFt783nfVqnO0ERHhnYlBCWxrmcY5zNZXt3P/9Gvzkc1PUuHm4n35bTv5Y05wnzfF3iEnUdhdlI + G1cBqONdTHi3lAUGnOSMd+GQe/xW4RDrmw+rIl8zEuLIeUbi2Yk2hdkYSWqQqJWcmD3oOxez36k2iXge + RjV0hGzX9JpxVSfIdT2oCFlDOAHC5Twj6yY0OdxILS8uGzDTyoyDul7GzXKCEBf9p6N3Sv8R9Udj98n0 + ZvYwmS+/USt0k3OMfy2ndzfTG9V7Sr4uJr/TvB5t2zk7J27QnRPdTxZcpdN3mS0WXyXBbH992rbfTZeL + 68nDNFk8/DG5pphtErfOuNKZ47xfzmQHcvqJ5DtCtut++Xk6p2b7CbJdD39cL8bvU9UTkIV6e/cUaKPd + 2CfId/1K9fwKODg/7lf4t13xGwMAD/vpiXgVaBX052pi509dK6kxJ1lv44N+Vgr5iuE4jJTyDFAU1vUj + V8y5Ru+q1Nj1GznrThRk++fXyS3PeCQd6/z+r296wN2mrG4LF8RHHqgEitVeDV3fco6R3HGCek28LhPW + X2J1lpCeEq93jPWNIyrDUD3IrgIDtR9nQIqMRufckf4cH+nPY0b68/BIfx4x0p8HR/pz5kh/jo70zU84 + yWCyATM9EQzU8yYPi0UiBxKTLwui1iABK7kumiMzHnP2jMc8MOMx5854zPEZj68L2dPVXWeKsKdsm9rD + nuJR3/cNyeT29/s51dNSmG3B0y0g33I5n338upzSlUcSsn79i+77+hdg0q04R3cEIafsFdB9EoJc81u6 + an4Lm8j9agtEnMR71uQQI+1+NTDAx+rg2WTIuuBrobuFOvY+QYgrmd4t599YxhYFvPSK38AAH+EkLpOB + TbwSfgQRJ6eEdxxiZJTwFgN9f97/QVtYZHKAkTh9fmQA058Teu0lGcDEyQM4/Rlpb6W7SBO9B8wuG/+S + hAXZLn1geLKnP2kA2N6crZPfP3UvMhPOhXEw2LdZFRyfxGDfNiuyXXck+2sz/hjnkCMUaXco+CEkHHKL + HzXfLeGQu6li0+dogKM81tVhn8g/5+NPtsT4UATKzg0wHbLrzaUO9fgd0wIKOI66gmRfZ+p1SU4Qk4cj + MEsoWjbV0l+1awJTqtmQuVk/8dUSxt0RyWzgAb8eOcf9BNPhRZI3Q6PO5lxXm0y9yVektdqPhnoTYxov + nsh3+0IfXpv8TNZVVW/yMm2oOY9YsGiRNThiCUdj1oagA4sUUSMChnCUR2a9BUvCsRg1sMeHI4i3+DVi + 6NfovUGYv6RlUbNIUlVTq5xrXpkRLEcgUlXGpJUhwGLo7Q/1rmy8ED0fjsAvVz0fjqCKhLxr4zIGVAXj + iiT7cUiLiHCdwYqSbtV/dbt+pSU5BshDEdq3vunmloOMMuGOYelaA7bd1GGVyVimVf5YHnT9rit6gs8h + EWvbArO0LWp5IxrrYAutuj6HJkte7iafKE4Ds3xto0kbTp4YwEQt7wYF2Fjdj2Cfo/2wzB7JQslAJllP + q616k10qvtOdJg3YyTe5iUG+w4ouO6wAk+pm6fJP9p1IxMrKbbDXp3pO5o2kdg2m6lHHYCRyfYJL7Fi6 + H1VmLxT1kbFMT6l4Uimn+xnJ/v3VL8nPndrvN708v0iEeDkkmzrdNu9+JYQaLwWvpRsHuRz/OsJC6xqY + kwDo2P/UiMvLaJtJgtWHB9zkAS+msOLsv2ev1Pb7xNgm3UPT1fKhVGlVZ0JklHYHMQBR9M5d1PvPRYNe + 6twLyA9FoOUnLAjHoJd2TDEQR8+nRIXRhjFR4hMOnf05jjKIrbKJgb7meAP2tb9g+CENEI/Rytqg7Wzz + n5EqFmg51W5rle4e6d4R+VYGeStCl9O0jm8PQS7diaUeD4DgkJ/VGfZY1EzfDBAVQDHy8vldVAxHAMYQ + pNM3PBBy2juw0tU2D0WgDUZ6CHK1e//RdS0HGcm3tcWBRtIgpIcgF6Mqc0jEGpPlyO6YyBdUwebXGqjK + jtvOi4l0201dUQK5rG1u58Pib/KQJxDxTZJynNG8CvWkXshRbPKSN0+qnVlnybaqk+9l9VImaSlespq0 + aRlBaV5H+xTp74vLD0n6/PPitBckYaSEKpA41J1+QRhxk6pCm0OMsh8Ud8WmIBBD7VkYFeMoQGK0HTBS + dwWih+zkcWpAEoy1qWQfOyZOK0BiHMvwJSvAiR6w/xplx+6vqJIElKLNxeXl+W+MiXgX9J30yQEX7J1q + Q7NHPWkja6GxPguCXHqLNLpNY5BPnZpJ1ykKsgkhsvd0ncYcn7zehpxyRwhy0VOuxyAfOeVOFGSjp1yP + 2T49e0dMuCMDmMjJ1lOAjZpoJwhwkZOsp3pbfpFG7C0I046dt7cegAJe4i5yLgcYaTu/ORjgo+2M42Cm + b83dpRFAAS85JddoSm6iStRmoERt+OmwCaXDhrlbpU9CVtpulS4HGDl31CZ0R22idqvEeDwCM5WR3SpP + n5N3q/RJyEq9Ozahu4O6W6UFAS5qnbXB6qwNf7dKEAbc5N0qfTJkZV40ulvl6Ruc3SpBGHQvmdolYiTv + VumTkJVTISC1AGW3SgsCXMzdKjEeikDbrdLlQCN1t0oABbys3Sph2rHH7FaJCrAYpN0qAdT2sveVBGHb + HbGvJII7ft6+kgBqe6n7SpoMbKK8/+VyjvH/t3YGPY7aYBi+95/01mF2NT1Xvay0UiVS9YoIcRIUAix2 + sjP762sTEvjsz4T3Y26j4OcxIZgxNryW5UoyqO+FcyU9LPCBuVaUitmgd0wZ1PNK0iYCcMYJ//DxtIlw + 8/JXATk2NKNpEz4XGMGXbSkVswkOKZuy4G2DDyaXsnDfBLyCOkECj+AyFOZKuo/hXEkC+S48V9LnAqOo + EfK5kv4W9HyJ50oGW7FzJporedsoaCxMriT5GP/q0ZYiyZX0Oc8oyJX0Oc8ozpXkaWqX5Er6XNy4kSq9 + vos8V5KnqV2WKxmSces3qfSb50RzJQlEXXCuJIGoC8uVHAnOgjZvLldy8jnWsJlcyfvHb6jnjXFIvtwb + /90myY3f6n0jMTOK5/XgBzQ0zNay8ps8/RbrvsHTva/L3dpvMCie17Pum9wMTC2yzM8I/tQvOlpzmZ+x + QoKjNZP5OZYR7X9kjyX7GOwVnPlJKc6GZn6GpGddm/k5K+HqwjI/fc4zwp1arkcr687G+rKijmykFyu7 + c4ndt6y4tM9d1cUX9JlruWSwIDJSkEpHYdL4KEy6ZhQmnR+FSVeMwqSzozCpcBQmjY7CSDM/OXbGjB8E + NvNz2CjI/AxJxgpfi9LIaFQqHo1KZ0ajUuloVBofjcIzPylFbUjm5718aMAyPykVs21kug3nQzM/Q5Kz + Lg/pnDKMCc38DEDOCWR+Eohzpd9xVfqdN8H96kjmJ9kEtlk+85Nswdorm/lJNpitFgktxxhFXcZYimi4 + bSPXcu0PHWlhUkTJx1iKKIMyXvxfCZsi+tgApIhOGd4kazNhiijZJGkzQYoo2SJoM36K6GQDlCLqc4wR + nCwJU0QfnwIpolOGMUl+A/74C449e9wl16ngGtUp8YXPQ3mvO2uE3gHlvUKn52vcxBDe6SfY1KflT0Hq + uacgg40Z+LBaRMDUAT9TqKPPFOo1z+3p+ef2jOwZQxN7xvAqf373Ovf87lU4d3WNzl1dpXNX19jc1emv + pivrgy1tb2Y2Pzrz78/F1zqOnTd/V/UaucUn/n9aVbvNKtdNvTGu9N+5yRdXEOFjNfyXV5flbwFz7LwZ + OTY8PvordVVV/55c3ewWvwJHKd9m/5ToHtjEd8x2qlLLE8seAHU0eWV3tzsgmjtDTPtOIfviihO+rDUQ + KPkAiANIW7qVpvTlnJVGLX9oZcoQU6dsS1BX5HjcEdaTnZb/d/Uw4tOmc2+mAaqBGC3n3ZdsWzXFKdvZ + du5eiVWLEz84dmr+OmzN9Vlk5/mxhua2QCraX/Gw0deeCv2SuN+/y03Z1DrLi0K1JgdemZ1zBDW51zEP + yy9xlAps7VZlqi66jxaLD43g1P+WbS/1DjsOd8Y3tXmnVXZUOXA2hCS1/tnv/071+49ICThxnremOak6 + U+/tiz0P7RV7sTVEY96iKlVt+l8Uj5lZoIrVa08fd35CF6K4IV6LyY59mILLT7BdCWlVniZWX6n1RXWf + cjRZVazezp6PsmocGbO6UAqZ1ZEx66VecS4PMO9O5K0kyWa9n9ZKEqSVJKtbSbKglSSf00qSpa0k+bxW + kiCtJBG3kmSmlSTiVpLMtJJkTStJmFbS2J7GR1bkxVHd+v474J6Mp2N2oNcegBGnVkaktFzcmJ3ztkVO + 9ggf1NB3FAWH4cHxRuBWxMMCn7vx69OmcecU5b2Cb/7geOMZiXUMQOL8yNIfyIosE2T0uJBBd5072YbW + p2NtL/u9ciMVtvvqutmLm+1z06RWyVpVHb9WVTeuN3VLvAT+v3AsNds/cxe6AfaFGZT3trdHRjJjD5+2 + R+8sqSGQ8HX1wVxd/lNSxZ2NmX8pmfWXokY4jYdAxPUre/kj+ZIdcnNU3dc+FwyQMjRnd6laMvOd5Ky1 + /Q2TTu2EaoJzfrstcYWEfoJzfl3kxsgPOsFZ/49Oqh7I0aqTUjQ34XOMUTI3wcIT9zF/EQ8xsTBxu/it + FXYOJ36XWr7Cz+ETv/1YqRZaT2bKeCZk/PgBMI6sNR3scRB1XVpEcmkJvQf630NxygMdoaE44bHx6wdA + HTrTTWcU8kUeDDEBXcVbaZ/O6ktVYYoeoZ7l607cShO6bZDzwZb2afQ3vSOsx96rCVSWorbL8uH3oTjh + gXurW2mf7u8G9pe6wDQPjPqO5R7aH1eeGhqozbjihL+6eTtA0JcnBiSJeig+8sb9xP099vJVZabMaLre + /yniM+gMSr2SGXSfixs3UuUm7gQaG4NOvK9Z7nrO5eIr6khQS2UQQ2UIvS2aWgN8X54YCntrixj68tTQ + VS4leQcsckWpwAZc3UcisHT9/DsoukG+a4dZ6C9sOyW2v2U/BiQPhpjUu8lOF0BzA4jD/u/QR6UNuENT + jPjKXQtobGlK1/sGwW1xjz+WW5fFWX9AuzHBiM810IvOD8iZ/GCIqc7PbhmOWpsud0sFAkIfpV6dlfnX + rCo1ct2YUJ6tAPqWD4A4mkK3bm7ZniHIbzDFQl/d9GNLqG/AiK8tSkBjS1N6GO4V/ZIhzLmHAWSB+E4S + qwYblQ5alYb/s+ngP1vTdnvBZJzPscZV03DPPGyNkgm4CM76V02FPfOwNSKTYB7G+pDpLw9jfeDEV0hO + rG2udFZsi/tTJYulPhg4TfeaPJ5V6UdXNChnDH4t4Pg5gXyX6AhEvr27exuqgdoFB3Pu+1ERuSfw6H4X + RuG/R5Pwhy0HhSzNQCDO5dpu33TRxUxmFFw97Uv74tY7aRO8gpGdNb+uML+y5td+dUk3/So44FOas9/W + gHFZ8bh7ZOfN0NKBUcGTOvTZPUsLLu/33MTWunw9JwJxLtNA//oCMHDCk2Lv0RUqhi26AFfZ8rmJ0b35 + sisP7saqnyXMq0PTlea4+P43buBruaqu3H9AT2VGcM/fdm5Rln5GUesMy+iLCrw6+iln895fGzRmpyjj + dZW6K4N5h70jSr1uvKW/AtuNRwV5PTTw3p4+sbf3qtYlMAQUwQO/rRNeWo1BA2/VNCdtb0NPKtvZe1J3 + pwvqGUNQy+0GGrjsUez33/4Hk9kXTTeXBAA= EOF # We are renaming openssl to openssl_grpc so that there is no conflict with openssl if it exists diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 0665f06d05b..a9df4eb718e 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -806,7 +806,6 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/ex_data.c', 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c', 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c', - 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c', 'third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c', 'third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c', 'third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c', @@ -873,7 +872,6 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c', - 'third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c', 'third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c', @@ -938,6 +936,7 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc', 'third_party/boringssl-with-bazel/src/ssl/dtls_method.cc', 'third_party/boringssl-with-bazel/src/ssl/dtls_record.cc', + 'third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc', 'third_party/boringssl-with-bazel/src/ssl/handoff.cc', 'third_party/boringssl-with-bazel/src/ssl/handshake.cc', 'third_party/boringssl-with-bazel/src/ssl/handshake_client.cc', diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template index 41b39883155..95609e787c3 100644 --- a/templates/gRPC-Core.podspec.template +++ b/templates/gRPC-Core.podspec.template @@ -213,7 +213,7 @@ ss.header_mappings_dir = '.' ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version - ss.dependency 'BoringSSL-GRPC', '0.0.17' + ss.dependency 'BoringSSL-GRPC', '0.0.18' % for abseil_spec in grpc_abseil_specs: ss.dependency '${abseil_spec}', abseil_version % endfor diff --git a/templates/src/objective-c/BoringSSL-GRPC.podspec.template b/templates/src/objective-c/BoringSSL-GRPC.podspec.template index b949e707309..c927fb95cc8 100644 --- a/templates/src/objective-c/BoringSSL-GRPC.podspec.template +++ b/templates/src/objective-c/BoringSSL-GRPC.podspec.template @@ -69,7 +69,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.17' + version = '0.0.18' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: diff --git a/third_party/boringssl-with-bazel b/third_party/boringssl-with-bazel index 1a735945522..688fc5cf542 160000 --- a/third_party/boringssl-with-bazel +++ b/third_party/boringssl-with-bazel @@ -1 +1 @@ -Subproject commit 1a7359455220f7010def8c63f7c7e041ce6707c6 +Subproject commit 688fc5cf5428868679d2ae1072cad81055752068 diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh index 5d0ce1b963b..09e36d1484a 100755 --- a/tools/run_tests/sanity/check_submodules.sh +++ b/tools/run_tests/sanity/check_submodules.sh @@ -29,7 +29,7 @@ cat << EOF | sort > "$want_submodules" third_party/abseil-cpp 997aaf3a28308eba1b9156aa35ab7bca9688e9f6 third_party/benchmark 73d4d5e8d6d449fc8663765a42aa8aeeee844489 third_party/bloaty 73594cde8c9a52a102c4341c244c833aa61b9c06 -third_party/boringssl-with-bazel 1a7359455220f7010def8c63f7c7e041ce6707c6 +third_party/boringssl-with-bazel 688fc5cf5428868679d2ae1072cad81055752068 third_party/cares/cares e982924acee7f7313b4baa4ee5ec000c5e373c30 third_party/envoy-api 18b54850c9b7ba29a4ab67cbd7ed7eab7b0bbdb2 third_party/googleapis 82944da21578a53b74e547774cf62ed31a05b841