From e948dc8110e95779999fdebe2a4ac9af3b79ea80 Mon Sep 17 00:00:00 2001 From: Johanna Amann Date: Tue, 8 Oct 2019 12:54:19 -0700 Subject: [PATCH] Initial version --- COPYING | 73 ++++ README.md | 22 + scripts/__load__.zeek | 1 + scripts/tls.zeek | 379 ++++++++++++++++++ .../scripts.certificate/tls_certificates.log | 12 + .../Baseline/scripts.keyexchange/tls-all.log | 62 +++ .../tls_connections_succesfull.log | 10 + .../tls_connections_unsuccesful.log | 10 + tests/Baseline/scripts.tls13/tls.log | 11 + tests/Makefile | 3 + tests/Traces/dhe.pcap | Bin 0 -> 6929 bytes tests/Traces/dtls1_0.pcap | Bin 0 -> 3181 bytes tests/Traces/dtls1_2.pcap | Bin 0 -> 3675 bytes tests/Traces/ecdhe.pcap | Bin 0 -> 7510 bytes tests/Traces/nghttp2.pcap | Bin 0 -> 15980 bytes tests/Traces/ssl.v3.trace | Bin 0 -> 190576 bytes tests/Traces/tls13_psk_succesfull.pcap | Bin 0 -> 4088 bytes tests/Traces/tls13_psk_unsuccesful.pcap | Bin 0 -> 2852 bytes tests/Traces/tls1_1.pcap | Bin 0 -> 6980 bytes tests/btest.cfg | 16 + tests/diff-remove-timestamps | 14 + tests/random.seed | 21 + tests/scripts/certificate.zeek | 5 + tests/scripts/keyexchange.zeek | 14 + tests/scripts/tls13-psk.zeek | 6 + tests/scripts/tls13.zeek | 2 + zkg.meta | 6 + 27 files changed, 667 insertions(+) create mode 100644 COPYING create mode 100644 README.md create mode 100644 scripts/__load__.zeek create mode 100644 scripts/tls.zeek create mode 100644 tests/Baseline/scripts.certificate/tls_certificates.log create mode 100644 tests/Baseline/scripts.keyexchange/tls-all.log create mode 100644 tests/Baseline/scripts.tls13-psk/tls_connections_succesfull.log create mode 100644 tests/Baseline/scripts.tls13-psk/tls_connections_unsuccesful.log create mode 100644 tests/Baseline/scripts.tls13/tls.log create mode 100644 tests/Makefile create mode 100644 tests/Traces/dhe.pcap create mode 100644 tests/Traces/dtls1_0.pcap create mode 100644 tests/Traces/dtls1_2.pcap create mode 100644 tests/Traces/ecdhe.pcap create mode 100644 tests/Traces/nghttp2.pcap create mode 100644 tests/Traces/ssl.v3.trace create mode 100644 tests/Traces/tls13_psk_succesfull.pcap create mode 100644 tests/Traces/tls13_psk_unsuccesful.pcap create mode 100644 tests/Traces/tls1_1.pcap create mode 100644 tests/btest.cfg create mode 100755 tests/diff-remove-timestamps create mode 100644 tests/random.seed create mode 100644 tests/scripts/certificate.zeek create mode 100644 tests/scripts/keyexchange.zeek create mode 100644 tests/scripts/tls13-psk.zeek create mode 100644 tests/scripts/tls13.zeek create mode 100644 zkg.meta diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..ae96ceb --- /dev/null +++ b/COPYING @@ -0,0 +1,73 @@ +Copyright (c) 2012-2019, International Computer Science Institute + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +(1) Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +(2) Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +(3) Neither the name of the International Computer Science Institute, + nor the names of contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +Note that some files in the distribution may carry their own copyright +notices. + + +============================================================================== + +Some trace-files and test-scripts are taken from the Zeek distribution. +Zeek distribution copyright notice: + +============================================================================== + +Copyright (c) 1995-2018, The Regents of the University of California +through the Lawrence Berkeley National Laboratory and the +International Computer Science Institute. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +(1) Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +(2) Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +(3) Neither the name of the University of California, Lawrence Berkeley + National Laboratory, U.S. Dept. of Energy, International Computer + Science Institute, nor the names of contributors may be used to endorse + or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +Note that some files in the distribution may carry their own copyright +notices. diff --git a/README.md b/README.md new file mode 100644 index 0000000..ac6058f --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# TLS Log Alternative + +This package provides a log alternative to the traditional ```ssl.log```, which is provided by Zeek by default. If you load this package, you will get one (or optionally two) additional log files that provide a lot more information about the TLS handshake. + +Loading this script by default will create a new ```tls.log``` file. This file contains a lot of low-level details of the handshake. For more details, please see ```tls.zeek``` in ```scripts```, which has documentation for every field. Example log output: + +``` +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string]vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1491407508.244862 C59DC42iW3polXuIef 192.168.6.240 65503 139.162.123.134 13443 32531 771 4866 49196,49200,159,52393,52392,52394,49195,49199,158,49188,49192,107,49187,49191,103,49162,49172,57,49161,49171,51,157,156,4866,4867,4865,61,60,53,47,255 - 11,10,35,13,22,23,43,45,40 40 - -- F - 0,1,2 29,23,25,24 - - - - 32531,771,770,769 - 1,0 29 29 0 3,3,3,4,5,6,1,1,1,3,1,2,2,2,2 4,5,6,8,8,8,4,5,6,2,2,2,4,5,6 +1491407512.852869 C3tAYa2eYDO4qZFDie 192.168.6.240 65504 139.162.123.134 13443 32531 771 4866 49196,49200,159,52393,52392,52394,49195,49199,158,49188,49192,107,49187,49191,103,49162,49172,57,49161,49171,51,157,156,4866,4867,4865,61,60,53,47,255 - 11,10,35,13,22,23,43,45,40,42,41 40,41-- - F - 0,1,2 29,23,25,24 - - - - 32531,771,770,769 - 1,0 29 29 0 3,3,3,4,5,6,1,1,1,3,1,2,2,2,2 4,5,6,8,8,8,4,5,6,2,2,2,4,5,6 +``` + +If you re-define the option ```TLSLog::log_certificates``` to true, you also get a second log file called ```tls_certificates.log```, which contains a base64-encoded version of all certificates that are sent over the wire. + +By default, certificate hashes are provided as sha256. If you want to use a different hash algorithm, you can redef ```TLSLog::hash_function``` to a different hash function, e.g. to ```sha1_hash```. + +The easiest way to install this pacjage is by using the package manager; just do + +``` +zkg install 0xxon/tls-log-alternative +``` diff --git a/scripts/__load__.zeek b/scripts/__load__.zeek new file mode 100644 index 0000000..7d96069 --- /dev/null +++ b/scripts/__load__.zeek @@ -0,0 +1 @@ +@load ./tls diff --git a/scripts/tls.zeek b/scripts/tls.zeek new file mode 100644 index 0000000..3848cb0 --- /dev/null +++ b/scripts/tls.zeek @@ -0,0 +1,379 @@ +## This script generates a file called tls.log. The difference from ssl.log is that this +## is much more focused on logging all kinds of protocol features. This can be interesting +## for academic purposes - or if one is just interested in more information about specific +## features used in local TLS traffic. + +module TLSLog; + +export { + ## Log identifier for certificate log, as well as for the connection information log + redef enum Log::ID += { + TLS_CERTIFICATE_LOG, + TLS_LOG, + }; + + ## The hash function used for certificate hashes. By default this is sha256; you can use + ## any other hash function and the hashes in both log files will change + option hash_function: function(cert: string): string = sha256_hash; + + ## If set to true, a log-file containing all certificates will be greated. + option log_certificates: bool = F; + + type CertificateInfo: record { + ## Timestamp when this certificate was encountered. + ts: time &log; + ## Fingerprint of the certificate - uses chosen algorithm. + fp: string &log; + ## Base64 endoded X.509 certificate. + cert: string &log; + ## Server hosting the certificate. + host: addr &log; + ## Port on the server hosting the certificate + host_p: count &log; + ## Indicates if this certificate was a end-host certificate, or sent as part of a chain + host_cert: bool &log &default=F; + ## Indicates if this certificate was sent from the client + client_cert: bool &log &default=F; + }; + + type TLSInfo: record { + ## Timestamp when the conenction began. + ts: time &log; + ## Connection uid + uid: string &log; + ## Connection 4-tup;e + id: conn_id &log; + ## Numeric version of the server in the server hello + server_version: count &log &optional; + ## Numeric version of the client in the client hello + client_version: count &log &optional; + ## Cipher that was chosen for the connection + cipher: count &log &optional; + ## Ciphers that were offered by the client for the connection + client_ciphers: vector of count &log &optional; + ## SNI that was sent by the client + sni: vector of string &log &optional; + ## SSL Client extensions + ssl_client_exts: vector of count &log &optional; + ## SSL server extensions + ssl_server_exts: vector of count &log &optional; + ## Suggested ticket lifetime sent in the session ticket handshake + ## by the server. + ticket_lifetime_hint: count &log &optional; + ## Hashes of the full certificate chain sent by the server + server_certs: vector of string &log &optional; + ## Hashes of the full certificate chain sent by the server + client_certs: vector of string &log &optional; + ## Set to true if the ssl_established event was seen. + ssl_established: bool &log &default=F; + ## The diffie helman parameter size, when using DH. + dh_param_size: count &log &optional; + ## supported elliptic curve point formats + point_formats: vector of count &log &optional; + ## The curves supported by the client. + client_curves: vector of count &log &optional; + ## The curve the server chose when using ECDH. + curve: count &log &optional; + ## Application layer protocol negotiation extension sent by the client. + orig_alpn: vector of string &log &optional; + ## Application layer protocol negotiation extension sent by the server. + resp_alpn: vector of string &log &optional; + ## Alert. If the connection was closed with an TLS alers before being + ## completely established, this field contains the alert level and description + ## numbers that were transfered + alert: vector of count &log &optional; + ## TLS 1.3 supported versions + client_supported_versions: vector of count &log &optional; + ## TLS 1.3 supported versions + server_supported_version: count &log &optional; + ## TLS 1.3 Pre-shared key exchange modes + psk_key_exchange_modes: vector of count &log &optional; + ## Key share groups from client hello + client_key_share_groups: vector of count &log &optional; + ## Selected key share group from server hello + server_key_share_group: count &log &optional; + ## Client supported compression methods + client_comp_methods: vector of count &log &optional; + ## Server chosen compression method + comp_method: count; + ## Client supported signature algorithms + sigalgs: vector of count &log &optional; + ## Client supported hash algorithms + hashalgs: vector of count &log &optional; + }; + + ## Event from a manager to workers when encountering a new, cert + global tls_cert_add: event(sha: string); + + ## Event from workers to the manager when a new intermediate cert + ## is to be added. + global tls_new_cert: event(sha: string); +} + +redef record connection += { + tls_conns: TLSInfo &optional; +}; + +# We store the hashes of certs here for a short period to prevent relogging. +global cert_cache: set[string] &create_expire=1hr; + +@if ( Cluster::is_enabled() ) +event bro_init() + { + Broker::auto_publish(Cluster::worker_topic, TLSLog::tls_cert_add); + Broker::auto_publish(Cluster::manager_topic, TLSLog::tls_new_cert); + } +@endif + +@if ( Cluster::is_enabled() && Cluster::local_node_type() != Cluster::MANAGER ) +event TLSLog::tls_cert_add(sha: string) + { + add cert_cache[sha]; + } +@endif + +@if ( Cluster::is_enabled() && Cluster::local_node_type() == Cluster::MANAGER ) +event TLSLog::tls_new_cert(sha: string) + { + if ( sha in cert_cache ) + return; + + add cert_cache[sha]; + event TLSLog::tls_cert_add(sha); + } +@endif + +event zeek_init() &priority=5 + { + Log::create_stream(TLSLog::TLS_CERTIFICATE_LOG, [$columns=CertificateInfo, $path="tls_certificates"]); + Log::create_stream(TLSLog::TLS_LOG, [$columns=TLSInfo, $path="tls"]); + } + +function set_session(c: connection) + { + if ( ! c?$tls_conns ) + { + local t: TLSInfo; + t$ts=network_time(); + t$uid=c$uid; + t$id=c$id; + t$ssl_client_exts=vector(); + t$ssl_server_exts=vector(); + c$tls_conns = t; + } + } + +event ssl_client_hello(c: connection, version: count, record_version: count, possible_ts: time, client_random: string, session_id: string, ciphers: index_vec, comp_methods: index_vec) + { + set_session(c); + c$tls_conns$client_ciphers = ciphers; + c$tls_conns$client_version = version; + c$tls_conns$client_comp_methods = comp_methods; + } + +event ssl_server_hello(c: connection, version: count, record_version: count, possible_ts: time, server_random: string, session_id: string, cipher: count, comp_method: count) + { + set_session(c); + c$tls_conns$server_version = version; + c$tls_conns$cipher = cipher; + c$tls_conns$comp_method = comp_method; + } + +event ssl_session_ticket_handshake(c: connection, ticket_lifetime_hint: count, ticket: string) + { + set_session(c); + c$tls_conns$ticket_lifetime_hint = ticket_lifetime_hint; + } + +event ssl_extension(c: connection, is_orig: bool, code: count, val: string) + { + set_session(c); + + if ( is_orig ) + c$tls_conns$ssl_client_exts[|c$tls_conns$ssl_client_exts|] = code; + else + c$tls_conns$ssl_server_exts[|c$tls_conns$ssl_server_exts|] = code; + } + +event ssl_extension_server_name(c: connection, is_orig: bool, names: string_vec) + { + set_session(c); + if ( !is_orig ) + return; + + c$tls_conns$sni = names; + } + +event ssl_extension_ec_point_formats(c: connection, is_orig: bool, point_formats: index_vec) + { + set_session(c); + if ( !is_orig ) + return; + + c$tls_conns$point_formats = point_formats; + } + +event ssl_extension_elliptic_curves(c: connection, is_orig: bool, curves: index_vec) + { + set_session(c); + if ( !is_orig ) + return; + + c$tls_conns$client_curves = curves; + } + +event ssl_ecdh_server_params(c: connection, curve: count, point: string) + { + set_session(c); + + c$tls_conns$curve = curve; + } + +event ssl_extension_application_layer_protocol_negotiation(c: connection, is_orig: bool, names: string_vec) + { + set_session(c); + + if ( is_orig ) + c$tls_conns$orig_alpn = names; + else + c$tls_conns$resp_alpn = names; + } + +event ssl_alert(c: connection, is_orig: bool, level: count, desc: count) + { + set_session(c); + + local out: index_vec; + + if ( is_orig ) + out[0] = 1; + else + out[0] = 0; + + out[1] = level; + out[2] = desc; + + c$tls_conns$alert = out; + } + +event ssl_established(c: connection) + { + set_session(c); + + c$tls_conns$ssl_established = T; + } + +event ssl_dh_server_params(c: connection, p: string, q: string, Ys: string) + { + set_session(c); + + local key_length = |Ys| * 8; # key length in bits + c$tls_conns$dh_param_size = key_length; + } + +event ssl_extension_supported_versions(c: connection, is_orig: bool, versions: index_vec) + { + set_session(c); + if ( is_orig ) + c$tls_conns$client_supported_versions = versions; + else + c$tls_conns$server_supported_version = versions[0]; + } + +event ssl_extension_psk_key_exchange_modes(c: connection, is_orig: bool, modes: index_vec) + { + if ( ! is_orig ) + return; + + set_session(c); + + c$tls_conns$psk_key_exchange_modes = modes; + } + +event ssl_extension_key_share(c: connection, is_orig: bool, curves: index_vec) + { + set_session(c); + + if ( is_orig ) + c$tls_conns$client_key_share_groups = curves; + else + c$tls_conns$server_key_share_group = curves[0]; + } + +event ssl_extension_signature_algorithm(c: connection, is_orig: bool, signature_algorithms: signature_and_hashalgorithm_vec) + { + if ( ! is_orig ) + return; + + set_session(c); + + local sigalgs: index_vec = vector(); + local hashalgs: index_vec = vector(); + + for ( i in signature_algorithms ) + { + local rec = signature_algorithms[i]; + sigalgs[|sigalgs|] = rec$SignatureAlgorithm; + hashalgs[|hashalgs|] = rec$HashAlgorithm; + } + + c$tls_conns$sigalgs = sigalgs; + c$tls_conns$hashalgs = hashalgs; + } + +function log_cert_chain(c: connection, chain: vector of Files::Info, client: bool): vector of string + { + local out: vector of string = vector(); + for ( certI in chain ) + { + # Apparently we might have "holes" in some chains (aka certs that OpenSSL cannot parse). + # That is kind of a problem, because we cannot really do much in that case. + # This was not a problem in older Zeek versions, because we then could still get access + # to the actual raw data. But with the new versions, that information is lost when we arrive here. + if ( ! chain[certI]?$x509 || ! chain[certI]$x509?$handle ) + { + next; + } + + local cert_opaque = chain[certI]$x509$handle; + local der_cert = x509_get_certificate_string(cert_opaque); + local fp = hash_function(der_cert); + out[certI] = fp; + + # Only do the cert tracking if we haven't seen this cert recently. + if ( log_certificates && fp !in cert_cache ) + { + local cert_val: CertificateInfo; + cert_val$ts = network_time(); + cert_val$fp = fp; + cert_val$cert = encode_base64(der_cert); + cert_val$host = c$id$resp_h; + cert_val$host_p = port_to_count(c$id$resp_p); + cert_val$client_cert = client; + + if ( certI == 0 ) + cert_val$host_cert = T; + + add cert_cache[cert_val$fp]; +@if ( Cluster::is_enabled() ) + event TLSLog::tls_new_cert(cert_val$fp); +@endif + Log::write(TLSLog::TLS_CERTIFICATE_LOG, cert_val); + } + } + return out; + } + +hook SSL::ssl_finishing(c: connection) + { + if ( ! c?$tls_conns ) + return; + + if ( c$ssl?$cert_chain ) + c$tls_conns$server_certs = log_cert_chain(c, c$ssl$cert_chain, F); + if ( c$ssl?$client_cert_chain ) + c$tls_conns$client_certs = log_cert_chain(c, c$ssl$client_cert_chain, T); + + Log::write(TLSLog::TLS_LOG, c$tls_conns); + } + diff --git a/tests/Baseline/scripts.certificate/tls_certificates.log b/tests/Baseline/scripts.certificate/tls_certificates.log new file mode 100644 index 0000000..b098f8c --- /dev/null +++ b/tests/Baseline/scripts.certificate/tls_certificates.log @@ -0,0 +1,12 @@ +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls_certificates +#open 2019-10-08-19-49-25 +#fields ts fp cert host host_p host_cert client_cert +#types time string string addr count bool bool +1398529018.743952 e2fb0771ee6fc0d0e324bc863c02b57921257c86 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 74.125.239.97 443 T F +1398529018.743952 d83c1a7f4d0446bb2081b81a1670f8183451ca24 MIIEBDCCAuygAwIBAgIDAjppMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMTMwNDA1MTUxNTU1WhcNMTUwNDA0MTUxNTU1WjBJMQswCQYDVQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzElMCMGA1UEAxMcR29vZ2xlIEludGVybmV0IEF1dGhvcml0eSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJwqBHdc2FCROgajguDYUEi8iT/xGXAaiEZ+4I/F8YnOIe5a/mENtzJEiaB0C1NPVaTOgmKV7utZX8bhBYASxF6UP7xbSDj0U/ck5vuR6RXEz/RTDfRK/J9U3n2+oGtvh8DQUB8oMANA2ghzUWx//zo8pzcGjr1LEQTrfSTe5vn8MXH7lNVg8y5Kr0LSy+rEahqyzFPdFUuLH8gZYR/Nnag+YyuENWllhMgZxUYi+FOVvuOAShDGKuy6lyARxzmZEASg8GF6lSWMTlJ14rbtCMoU/M4iarNOz0YDl5cDfsCx3nuvRTPPuj5xt970JSXCDTWJnZ37DhF5iR43xa+OcmkCAwEAAaOB+zCB+DAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUSt0GFhu89mi1dvWBtrtiGrpagS8wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Jscy9ndGdsb2JhbC5jcmwwPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwOi8vZ3RnbG9iYWwtb2NzcC5nZW90cnVzdC5jb20wFwYDVR0gBBAwDjAMBgorBgEEAdZ5AgUBMA0GCSqGSIb3DQEBBQUAA4IBAQA21waAESetKhSbOHezI6B1WLuxfoNCunLaHtiONgaX4PCVOzf9G0JY/iLIa704XtE7JW4S615ndkZAkNoUyHgN7ZVm2o6Gb4ChulYylYbc3GrKBIxbf/a/zG+FA1jDaFETzf3I93k9mTXwVqO94FntT0QJo544evZG0R0SnU++0ED8Vf4GXjzaHFa9llF7b1cq26KqltyMdMKVvvBulRP/F/A8rLIQjcxz++iPAsbw+zOzlTvjwstoWHPbqCRiOwY1nQ2pM714A5AuTHhdUDqB1O6gyHA43LL5Z/qHQF1hwFGPa4NrzQU6yuGnBXj8ytqU0CwIPX4WecigUCAkVDNx 74.125.239.97 443 T F +1398529018.743952 7359755c6df9a0abc3060bce369564c8ec4542a3 MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjmaPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBOBgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2VvdHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GBAHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrLNhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1Wb8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S 74.125.239.97 443 T F +#close 2019-10-08-19-49-25 diff --git a/tests/Baseline/scripts.keyexchange/tls-all.log b/tests/Baseline/scripts.keyexchange/tls-all.log new file mode 100644 index 0000000..8e49410 --- /dev/null +++ b/tests/Baseline/scripts.keyexchange/tls-all.log @@ -0,0 +1,62 @@ +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-47-29 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1398558136.319509 C59DC42iW3polXuIef 192.168.18.50 62277 162.219.2.166 443 771 771 136 136,255 - 35,13,15 65281,35,15 300 b706ad178447821cc60aca1e0cd59697333a6178fd1c73f839fbdfb5b76bc507,cb2db573610f401e8d602917bbbe6ab4162255f208efad909d5440691aa0203c (empty) F 1024 - - - - - - - - - - - 1,0 1,2,3,1,2,3,1,2,3,1,2,3,1,2,3 6,6,6,5,5,5,4,4,4,3,3,3,2,2,2 +#close 2019-10-08-19-47-29 +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-47-30 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1398529018.678827 C59DC42iW3polXuIef 192.168.18.50 56981 74.125.239.97 443 771 771 49172 49172,255 - 11,10,35,13,15 65281,11,35 100800 a97a22b691caf62c1623d14abf8a31ac915f14d87f77d8a37c47eb4785b484ad,a047a37fa2d2e118a4f5095fe074d6cfe0e352425a7632bf8659c03919a6c81d,3c35cc963eb004451323d3275d05b353235053490d9cd83729a2faf5e7ca1cc0 (empty) F - 0,1,2 14,13,25,11,12,24,9,10,22,23,8,6,7,20,21,4,5,18,19,1,2,3,15,16,17 23 - - - - - - - - 1,0 1,2,3,1,2,3,1,2,3,1,2,3,1,2,3 6,6,6,5,5,5,4,4,4,3,3,3,2,2,2 +#close 2019-10-08-19-47-30 +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-47-31 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1170717505.549109 C59DC42iW3polXuIef 192.150.187.164 58868 194.127.84.106 443 769 2 4 57,56,53,51,50,4,5,47,22,19,65279,10,21,18,65278,9,100,98,3,6 - (empty) (empty) - ddd0218a34972ceab3d200b78959bd2b4c95eadf37399df35bfd68a5b658bc78,ba352de8d8faa0ecfdbeee560fa308fe192023d3b18d83a68845933bebf28360 (empty) F - - - - - - - - - - - - (empty) - - +1170717508.697180 C3tAYa2eYDO4qZFDie 192.150.187.164 58869 194.127.84.106 443 769 769 4 57,56,53,51,50,4,5,47,22,19,65279,10,21,18,65278,9,100,98,3,6 - (empty) (empty) - ddd0218a34972ceab3d200b78959bd2b4c95eadf37399df35bfd68a5b658bc78,ba352de8d8faa0ecfdbeee560fa308fe192023d3b18d83a68845933bebf28360 (empty) F - - - - - - - - - - - - 0 - - +1170717511.722913 CXACkq2V6gr8LgNY04 192.150.187.164 58870 194.127.84.106 443 769 769 4 57,56,53,51,50,4,5,47,22,19,65279,10,21,18,65278,9,100,98,3,6 - (empty) (empty) - ddd0218a34972ceab3d200b78959bd2b4c95eadf37399df35bfd68a5b658bc78,ba352de8d8faa0ecfdbeee560fa308fe192023d3b18d83a68845933bebf28360 (empty) F - - - - - - - - - - - - 0 - - +#close 2019-10-08-19-47-31 +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-47-32 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1512072318.429417 C59DC42iW3polXuIef 192.168.17.58 62987 216.58.192.14 443 770 770 49171 49172,49162,57,56,55,54,136,135,134,133,49167,49157,53,132,49171,49161,51,50,49,48,154,153,152,151,69,68,67,66,49166,49156,47,150,65,7,49169,49159,49164,49154,5,4,49170,49160,22,19,16,13,49165,49155,10,255 - 11,10,35,15 65281,35,11 100800 22a920a5ec03c819b569ed0fa8b7df258e3e7ea11fdd15b83b6fa45f3e863036,9b759d41e3de30f9d2f902027d792b65d950a98bbb6d6d56be7f2528453bf8e9,3c35cc963eb004451323d3275d05b353235053490d9cd83729a2faf5e7ca1cc0 (empty) F - 0,1,2 23,25,28,27,24,26,22,14,13,11,12,9,10 23 - - - - - - - - 1,0 - - +#close 2019-10-08-19-47-32 +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-47-33 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1425932016.520157 C59DC42iW3polXuIef 192.168.6.86 63721 104.236.167.107 4433 65279 65279 49172 49172,49162,57,56,55,54,136,135,134,133,49167,49157,53,132,49171,49161,51,50,49,48,154,153,152,151,69,68,67,66,49166,49156,47,150,65,7,49170,49160,22,19,16,13,49165,49155,10,21,18,15,12,9,20,17,14,11,8,6,255 - 11,10,35,15,11,10,35,15 65281,35,15 0 32e63ffcf5111a3a6337aa00d5186f6d475e962e9400a1dd8ad6eb4a3e177964 (empty) F - 0,1,2 14,13,25,28,11,12,27,24,9,10,26,22,23,8,6,7,20,21,4,5,18,19,1,2,3,15,16,17 23 - - - - - - - - 0 - - +#close 2019-10-08-19-47-33 +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-47-34 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1512070268.983215 C59DC42iW3polXuIef 192.168.17.58 60934 165.227.57.17 4400 65277 65277 49200 49200,49196,49192,49188,49172,49162,165,163,161,159,107,106,105,104,57,56,55,54,136,135,134,133,49202,49198,49194,49190,49167,49157,157,61,53,132,49199,49195,49191,49187,49171,49161,164,162,160,158,103,64,63,62,51,50,49,48,154,153,152,151,69,68,67,66,49201,49197,49193,49189,49166,49156,156,60,47,150,65,7,49170,49160,22,19,16,13,49165,49155,10,255 - 11,10,35,13,15,11,10,35,13,15 65281,11,35 7200 6f5446a5b23f4e73925de5e6629c09b1c61ed66537d6d8a7818750c9cd0a67d7 (empty) F - 0,1,2 23,25,28,27,24,26,22,14,13,11,12,9,10 23 - - - - - - - - 0 1,2,3,1,2,3,1,2,3,1,2,3,1,2,3 6,6,6,5,5,5,4,4,4,3,3,3,2,2,2 +#close 2019-10-08-19-47-34 diff --git a/tests/Baseline/scripts.tls13-psk/tls_connections_succesfull.log b/tests/Baseline/scripts.tls13-psk/tls_connections_succesfull.log new file mode 100644 index 0000000..da9e5c6 --- /dev/null +++ b/tests/Baseline/scripts.tls13-psk/tls_connections_succesfull.log @@ -0,0 +1,10 @@ +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-48-06 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1555610808.383902 C59DC42iW3polXuIef 192.168.178.80 54220 174.138.9.219 443 771 771 4867 4866,4867,4865,49196,49200,159,52393,52392,52394,49195,49199,158,49188,49192,107,49187,49191,103,49162,49172,57,49161,49171,51,173,171,52398,52397,52396,157,169,52395,172,170,156,168,61,60,49208,49206,183,179,149,145,53,175,141,49207,49205,182,178,148,144,47,174,140,255 - 11,10,35,22,23,13,43,45,51,41 43,51,41 - - - F - 0,1,2 29,23,30,25,24 - - - - 772,771,770,769 772 1 29 29 0 3,3,3,7,8,9,10,11,4,5,6,1,1,1,3,3,1,1,2,2,2,2,2 4,5,6,8,8,8,8,8,8,8,8,4,5,6,3,2,3,2,3,2,4,5,6 +#close 2019-10-08-19-48-06 diff --git a/tests/Baseline/scripts.tls13-psk/tls_connections_unsuccesful.log b/tests/Baseline/scripts.tls13-psk/tls_connections_unsuccesful.log new file mode 100644 index 0000000..b188dc4 --- /dev/null +++ b/tests/Baseline/scripts.tls13-psk/tls_connections_unsuccesful.log @@ -0,0 +1,10 @@ +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-48-07 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1555611242.926638 C59DC42iW3polXuIef 192.168.178.80 54374 174.138.9.219 443 - 771 - 4866,4867,4865,49196,49200,159,52393,52392,52394,49195,49199,158,49188,49192,107,49187,49191,103,49162,49172,57,49161,49171,51,173,171,52398,52397,52396,157,169,52395,172,170,156,168,61,60,49208,49206,183,179,149,145,53,175,141,49207,49205,182,178,148,144,47,174,140,255 - 11,10,35,22,23,13,43,45,51,41 (empty) - - - F - 0,1,2 29,23,30,25,24 - - - 0,2,47 772,771,770,769 - 1 29 - 0 3,3,3,7,8,9,10,11,4,5,6,1,1,1,3,3,1,1,2,2,2,2,2 4,5,6,8,8,8,8,8,8,8,8,4,5,6,3,2,3,2,3,2,4,5,6 +#close 2019-10-08-19-48-07 diff --git a/tests/Baseline/scripts.tls13/tls.log b/tests/Baseline/scripts.tls13/tls.log new file mode 100644 index 0000000..2cf9419 --- /dev/null +++ b/tests/Baseline/scripts.tls13/tls.log @@ -0,0 +1,11 @@ +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path tls +#open 2019-10-08-19-47-58 +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p server_version client_version cipher client_ciphers sni ssl_client_exts ssl_server_exts ticket_lifetime_hint server_certs client_certs ssl_established dh_param_size point_formats client_curves curve orig_alpn resp_alpn alert client_supported_versions server_supported_version psk_key_exchange_modes client_key_share_groups server_key_share_group client_comp_methods sigalgs hashalgs +#types time string addr port addr port count count count vector[count] vector[string] vector[count] vector[count] count vector[string] vector[string] bool count vector[count] vector[count] count vector[string] vector[string] vector[count] vector[count] count vector[count] vector[count] count vector[count] vector[count] vector[count] +1491407508.244862 C59DC42iW3polXuIef 192.168.6.240 65503 139.162.123.134 13443 32531 771 4866 49196,49200,159,52393,52392,52394,49195,49199,158,49188,49192,107,49187,49191,103,49162,49172,57,49161,49171,51,157,156,4866,4867,4865,61,60,53,47,255 - 11,10,35,13,22,23,43,45,40 40 - - - F - 0,1,2 29,23,25,24 - - - - 32531,771,770,769 - 1,0 29 29 0 3,3,3,4,5,6,1,1,1,3,1,2,2,2,2 4,5,6,8,8,8,4,5,6,2,2,2,4,5,6 +1491407512.852869 C3tAYa2eYDO4qZFDie 192.168.6.240 65504 139.162.123.134 13443 32531 771 4866 49196,49200,159,52393,52392,52394,49195,49199,158,49188,49192,107,49187,49191,103,49162,49172,57,49161,49171,51,157,156,4866,4867,4865,61,60,53,47,255 - 11,10,35,13,22,23,43,45,40,42,41 40,41 - - - F - 0,1,2 29,23,25,24 - - - - 32531,771,770,769 - 1,0 29 29 0 3,3,3,4,5,6,1,1,1,3,1,2,2,2,2 4,5,6,8,8,8,4,5,6,2,2,2,4,5,6 +#close 2019-10-08-19-47-58 diff --git a/tests/Makefile b/tests/Makefile new file mode 100644 index 0000000..4cdedac --- /dev/null +++ b/tests/Makefile @@ -0,0 +1,3 @@ + +test: + @btest diff --git a/tests/Traces/dhe.pcap b/tests/Traces/dhe.pcap new file mode 100644 index 0000000000000000000000000000000000000000..d5e034ef849d9b23bd713a69d6bcb69600ac3560 GIT binary patch literal 6929 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 literal 0 HcmV?d00001 diff --git a/tests/Traces/dtls1_0.pcap b/tests/Traces/dtls1_0.pcap new file mode 100644 index 0000000000000000000000000000000000000000..b07e6921a10c25dcfdf1d87bae393b596f360900 GIT binary patch literal 3181 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 literal 0 HcmV?d00001 diff --git a/tests/Traces/nghttp2.pcap b/tests/Traces/nghttp2.pcap new file mode 100644 index 0000000000000000000000000000000000000000..042ca6aaf6d58481aa84ac84e2a8f71332c3a5bf GIT binary patch literal 15980 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

#EMdK(4TiwOMknXRs%8?-Rk>Kq0 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 literal 0 HcmV?d00001 diff --git a/tests/Traces/ssl.v3.trace b/tests/Traces/ssl.v3.trace new file mode 100644 index 0000000000000000000000000000000000000000..3bcb9729a2cb2676b6261f2d66423a5fecc2240a GIT binary patch literal 190576 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 Y0=tqm^zJ6eTzeF{$-u-^F=$bU2uom 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

tVnEemL6>>%b5Hh)TnaA{ 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


ix>e?&m;PDFOyauOy8;wGMp@vGF_r$_g zTwp2_p3Fxq!gL3Ixa@!ymB#Oh_tbEszF zWVTf#4|mMbT9QXGc6;~C!V86x&kE036nHiJ;ZBEAJ{O04lLlTQ{%gs|54b60dse;+ zMLI=)Ih24VOe-D%euonh2 z)4{K|i}-dM7EJcLAKe+#IiVgG$H79H8A z&6|D2Fs07B(CBJ9YOk>r$(uqVDm-9!tXa~dvy$ylF%OEaAuen=MSAqgRaYR%j^B`S z{4UTkaPuuBSEEQ&H1?8%@=2z}H>zsT|3XV;Q5;K7V11&iOQCVfkla{;E6i_hN2xdw zNlYZiF2f7bK`w74YB4vs-KE-`hy4{n^PEOG2Aeh3az2NsQTj!2Tb^c<#Q6hID_?!1 zH!!*;Mbmy)0hkT(S6l>n8~_}J%IR_vF(>QBLM^~;(eR%!rI>K{W`O*PkU*`dJ4gyE z_Y}1DNzW59$=>yB178(|L?VkSlad?-^U{z#_6!>-URe$cSP8P3ipZ`cIhM_0l|0K@ zwj}vOYIJ=~B&Y}9$g&qb3eM2fv+Xt4EN+&bIer}KunD%J%xpYSkhnSn6>r&e&NGSY z4(=nGSs>uv2yaSA?x{SSA*26FNh*Rw>Rd^l+ZJqLAOO0zmWz3Cy1Gt>eTaPBJrO?e z?C3qIzC2qQLuVY5_M&EnIx%RSKY^g%tA*BLha;0QVIeI_E-X{8hB7Pck$YG41xV%77>=z=yP$Hd*gesbN`)}!twz|+lVxYw zX5XcSf~pUd7?vyX4t+9W&ob=;Gy3Z0CYKhEQ!?*cWC8dM2 zj$PwJ-c-QeXn%z?jEgSnozf21Qp@;|JgoESE*4J>ZWr)SZ(KsdT44e4ZNe=c^kfby zEs9uhM|U3}>6I)^Ft!6FK8R}J%88WvR&%15U8Xg{vzAVC#Y^wb4iBRo9UU+6(jzqP z5loOgg)V09_>SBzkanyzv^b#SDIK~-gV?M9WE04A^AH9#IuG5$l!_JFdid>@9*2s^ zNP0r)70)rTuB=RUhFgHjOvTc%vkEfr%}p~DVk}>}J3Ff*1p>}}g%AMMW_f==N2>8x zDAqt#55+Kck8LIAIwXT3VSBP_{vYHo|H@H@zw)3z<3FuBP-~FIALOU6|2y)Jd|CA` z}tuwL2|SjCB_5sRVmn?eUglEy~V znu(E660~|VIL(UVtFMGdugT+pVRfN%D=@6gIa<%OauHvi=0KYf0@t=Pi9K~_nuU4m zAh>)jX&-LxFLzc4|WB-lJnq527=ppg&8r94g#;y%@k*!@9A7{ zLMs0#km;fm^x^jMREGV|Q(N#8&P~*AfI7CTRPtFoEFTHCJ-Bz173%P6si7xOna{H{ z0$=)-@zM|blc;YJ?-4v+&ylaDOh6U-B4I1WB;2P-Mp4aZKDosDA$HGT?bEQ<`wfS( zf*JE}wlgAN2O?SR%}9?m*;ljdctpU-F}nfHqcX*8MK4J4`Slz`2Q{VfEc7!=Cnjdj zMT7Mm3PnjgVET|v8a2vi^A!JJ+<-~esUwyQQmw9 z7sJv}fdYU#a!*>doEm7yxB&-pk8WOH6)nNMF14D_t3u2kF4?f6(=vB?L2t!L=KFk2lNC~6tac+-_FHt)%KTSNDcPPQyby9;V2+2ja7hJK>}Z`UhJ zpFIcmR1(Ucz$=U3X!GuQh7y1FvW! zbe#(Mx?PE{=0Ksu{0d4af@$@~zG()Wd7fR$x+7M#-t)#8AZO(1xpIcxnE!5Q!Glf5 zcI=;aV&R&_>G#w}UQj7vBp+2m?u0YPSPb3U%eR%Tp-D(sqYn|5*r>-*SUEl{#MT0b z!`jrk~r7Pp1h6+zH|G^r^3q`|t9QtU2ds^c{huiB8q$dPu>v z5|49J9Q8%m&knGd2;!za%c%gD)FUNV3e1R4HSRFiMej&iZ(!s_U`eFY1a!=HJfrlO_t}%-j~ks9 zZwAE$MV+Lvg^|zVh2Z`b>8S+0L=gmea73j&<{O<6`jEaUTI5sEva)slmKaZ?GCA@?EZzzi$O(fYlM@!? z@C3y+ueezT9=54D8-E@lp}SIcC8q+IqkhI98BFfR_2{%iv)6>5i(uLpri6T-p`^T%+#d_OUr{{;fq?~;qW2ld4+HB*3O@Usr)yQ?|VUtz`pqBDps;zZ$% zbvokTxyn*$-s@C@3xHS)iN%5uTASeCIK!a;Qp)lcsL+A>8I(mkhx;K~mbvFIY4Eeq z$$!mPc8FWsWBm%h*y3X|29NR<5$10!%fnJmRV5J^MygY?^6%cFEz6fML_u~HiXNHKHkXXq6ao}DQfAf$CdofO^ODDAe_qie`CRT1IUK3H5 zCYx`ztJ*XI;wz}iw07Pz?1ng@giqRyWRaw8Na-%EyebMCSH)otLCn%}5Zd#)%$gVT zai&bcSd`rI7+U%b#@IU=?;JOP^Gjr@ep)Y1Qz3>H!pL_mz;j(mI@s9g%C_;G7P}4T z>__AoPhY!)vG|y7rVGKb`qrl!xwz=Z9%yKM=GFXtx_EfldD|wOu%i||bt)1}Iz^|g z5bMCQ59!ouRdQYo1+J_o8FG{a>zfNGDs%T(9SYA2fD1_7eQ(9^1_j% z1Tb^XwOh`BfDB#T#SYG$nLDE-Y1y)3l?<*!tJRL5Ouvhmv`%s8Di=rkCh1JB44^GQ z$^i{?#CfJy3hkpD)xT|_W=xa_-#dk7)+6A8vDV#R8$m2+6s??WDXpftQ(~84om+qe zaGB!YF$MTs#S_D_tNKTh`cSN(H8kH2ejW~ltGQcTSlS?R=$2E4ZxgIp;8)d=?4w9=Yy7ZQOD;I?T>gemj{Ic&1ar>b5((^Q#Cy z9Ov*ObTXdIR~;luAWzO&J~4eH+dBUzcVW+)O%^Z2>{W_vQwWN`%(cg;6zSum4cKi; zXNe>&)LA~<9B>%EH2z*r)^VD4E`Xw&r#+jgw)d> z$NS1=0%AbIV2D!us-zLu#-!pGzu$-(Ye|emq;e2Fiw-6I94qdwZcFXbqp&9ZWQ~nj zjX}NA(*16^?QNz4DqBDve=ihsg;pbObIU|Wn=l_FST_RM3g|I4dJkq5cw(cCMA!Jd zY&n+GXbdYlaCTCQ3xRfAE;+dOm7b7C_MxFs4@}#t;Qo%Isw3zyAgBIrtIyec*M`I= z0tyWPb5I{?!ZDW(H>^4bWECL@6z*BX769PI2BR0=x!bjl5YL`?-aCv0i!6dcrR24M zo?ESZ=13GeY_>&Tl5qfslOS{@Ns1#2g^m-$?AE*9-h9+-J}5J8bvJV$$&ouI;DopK zevV(2oh*s)q7TYBmg^hd`|GMu=SMdGw>~L`<1jFvI7&M#72Wq{W`D!(Nf`12KYNv( zatk^(?w`F}g|222@(v3C8^{cnHvvw?CSZgPO9fD*cx(77_U6B6jZhefpRR#Bj9=pe z`W@ld!?N0WrcWXij~UvM{p=#(y;q>4farK02+31E`IDurZ6|ao`?9MxWiYy1lY~2( z=LzDjxXhlV-+V=b++7IjrPg8Tj3)BhWI9pnjMnE9e5jMZZXKr=!?Th}n;5a0e`hU2 z(+XN?RXq`s87@GlA2xJL@jo_@v2&E6s^a%$t&gwV-Imb`z$Il!6wEFf*u!Cdpj#a~ zmgIxE^<4JRjzqED@HY}LA?gjpMf!9*X*gWJ+`Qo64qaoqUqGKu1iqa@`(526rw=5b zVt4{;eJ$D1+^5{t_6y9VzyYOYh9nBBKPnn$qX8t^+)t$>3do{pgJ{cgFL#>fNv=&v z0SzcK=qTFV!~p%`kzp9bG0MVrLy|wiOTG~SAA71m{=OgQuEkH9&_yx~jXA;st|j+n z12V7PLAwtFY4A+gov_o;LPbb&i|FK`yptGc4P!mE*F~5{3V*otr0V=b#FzxJZ%0EJ zu=1xI*e0C71~ZkZ{KVUe#h?L9BQBkt&<6;HvYXneCQwXkR3nuk28|X!D*Wv?qfkJ~ zT;+G-I?meL-@dVF4O9fojbgCOX9Fk(rK$+>BLa5#VQ6w5)H&kKYXk4Q&A{jo>4p!X z#8weH0P&A}hA4lKeC0+8!v1XMm9rk0iGh-f4SRf{QP}Jq* zq&TfahekBbz~+wXmk!`zvcsIPxOV+o=G@$71n2o=LshBHtOp@913j7I_Og{U5#tD~ zj7_RE6>b_1(wuy9K=IHZwrS~)kFW>HDY` zJs{txDD#-+0;_*1w5;->K)m6%Obkvigm4Pxvkqv?;Bmr9@O?6VYj87-sKY(Y4k^^*FXS02o93aN*NV+ty7dna7eMw%`kw0@kV!jz)I76@ zaA8@krPY(ZoToIect=~90DqD{8}6^i5Z}EFAO1WAKKC;!h+bP&>}M%z4o zV?LDf16Q+h`JySKSo@-38BkG+XTP2*j`l$mF5`j({)QtFO4IBD=3XuLl@NycN(2;ZbL5Gd0$^nB^W;!2cf zw9d}Ka%xMA>x&?^7Zf=)zt7T*H3eW1Pcy|M%hZ3`=+ImTD@HjYjM3QG2>f8`#G1q) zHtdhc@=wQmvM!K)*K0mE9`tinyA}%>=m9mA%+*JK25VVstMmE6D2Xib{p0JNJY;6W zVsj8U)O9L)e&HtqP(65<%`sMyT8Ou3bDE~jxAsw1it`pnkFCy6PdCivadc)qFBmw1 zn5Q**^puD^q(`v8!+G_CSHFZ3LFf0N11>gpaj`ZuBcW%EH%NBc3-213)y=|>qs6Nm&Iy%*x3|DVhAWYfF>hvCw&p2SvlM; zk;$x>njwE>pv5DD%wOBkE;%Z*RflTi&N>&St_I^xtV|Ch@`7lTeJEwLoFG&gz@SZF zqadcgZ-{Z6Y-zCU^p+!!xgT_aCAN3@KZ615QPAE|HvCSX%GqF!k&ui;Py*3urj>LT z4h&B+;6u|d$_&NkRj2SBl0xjERJD^^O@tFgT5N1{CGE9YTn(1WrD~JJsOW{S`qsab z{*h|`5m#~QRa%oaXzM48rtJGL6-FD_$;Fa|fXfNH&BtdDMGRF-FQL_b55i(2@BjFj z-fK5m#Gh@kprSkYq64pCOq~d6iLa3-|G`Y!{5sr>ZsFEPyy#H zWn#6wYffbDm?`3bY%X$oECp`QvSrEc1ZQ=Fm7m{-%ZyHz!N7kAjjv6o$uE}DOkUY{ z4R6aP#a>)*pcEwO&0`a(MS7V{$|?ddJ#3m*hmB)ruVQM*{7tbRLke;!=i*?3mS9JHk>$*LJ1 zy(y~^>a4jiy` zR!HRuP%3ZP+iJzh)~Ix1BtLZ>2@cloFUeZJ~f4IFwo+9#YdZIMl{E)|vZ1 z25wNLi5)RSm42W1OH_o`q#TB9|BSL!9>qPt0l)p+G>s0{I6p6SMi@^~g`&K%m`<2M zgTf~WOLagV7Uh}bqZ0M!niY0B@u+!0xCbG2f1)Zbb6PUN>(Yj6aPmOOR&R!C!*g}7 zikVTslvh96baeHtF?Y?LP{LAtA`xGqF_Qvb$`K^=(~ozx+J-I%?a%1Cz;0#BP|-dL zE$EOs*e+a|4dE%9AbYP3A-skiBZe)i(|`Syf~#;XP?il|4FUw<-3uzjM+7t?4q~gN zS+HlB@81{szD>|+#{dse*Vee#PQTG-4NuRVRxBp-=Xc)NZwS1xVMep zgNrD$|2u?8gkeIll^@SGQPyG=Wsz79)gh1Xs|S+*+iI%UsxIq|`tBxR>r$vH&?f8) zLgR!Fy)vh)TqwWFJ6LxhQG+^ji~mC8Q*fO{jU=xEbb%s%j}x$;el)WJdNaECzOwp z7)AqTJ)xH1HtqLh<6Vm$LKygjlJzP8JdjjMODo_kEwNz^b-=7llxHH!@xa*t9<9)r zjNO=IacJ$VZ|7}qx$=3p1l>YR*{$5`v*RtCl{6SDO0aZ~O0DENmcaBWToD&=dVWl# z_JM&5SYu_W#KeO8KlpDM71`$K6?&iS?Cn$uHBM+-a3px=-Wf&UI^oo5(5Rm;^Lf91ZiqNKZWH%&oM(*}(X>L3PG|qDd6st8A zQ0Zo^MzZ=L$Lh0jK8Gc5vWRs4VaqD=CKla(%Ht20(8vEH^4tD}{1Jb55j*$)auH>> ze@FgAVn7T!Y;ZhSr4}to;1pu5@2Epr!5B0d?QTD67cN7JI_~avlU#<``x=KMk3UVw z2aHYxs>GQ3n9Z1ZZ?9L>?oB6t08Wr-N2A8r?lF4MD)zG(9VKXeGO}heL<B;D`Tg#T|h#Bpm3OKO@Ha?tGC*B4zGYByHK0)z6EYu%O3eJ=$Z#0VxI2} z<6(zI1j6jFX$!BSvbN#hn;blS&el({WUQXihoV^ylcp483BDcf^6Qw@2E9%)ofWfH zuXi_&I*-tKOVg(@rdX0pZ59Fu0Lkh-tYu(f% z%UrbQz#XTZ=JIWPP-Tc(Uk-*yxIo@y6`e=ujnHtP#?WL@-$aqpfE#icH-&At--!?1 zg3imSKWT{i!EkJ;*=wKOk0xHP)uuxVtx=DopPO^Y&52I=y(ih}wt9Vymc2SWCSt=r z*x%`Z@+Ec(jzz19d50tA9+V;N&5E ztv>I*cQekE75lh~v2PxhE=J~eS8qlTEO`tVSsMz8f7=%T*x6ne7jEY|{;&vhJXKsT z4#d|?0*SU^%B*sxjm*fOpkxa6N&Mh2$Uyef^b@j-`se&~*RnP!B&=SZ^7`4=%k@M% z<)QI)AVoWu>osN_}?=bg} zv6qkncDa|(tBsgI%gD@%L88$TapqrC%%z=1CR@>w^Opi9plwQDeDjS@9gx)%v@Y?I9o3qH44fNVmw%Bl7%6~dq}zCJDR!$Emd zIvi3S&dX2kjOqpl+#B9O|K zF1OAoWq)b8s4zk5g!F!HZm8<^wBr+!n3r@_5E1lTPgn2vjn0A<>jF8mIZ623h%c3D zj^K?bY>Sv#1aU8gTe`?^PkIeo-h4lzXz!uJP(p4YX{jY8{>iyMg~-7r7opQ=@6XA# z0XI&}I4BpU?fyLF8d+s&e`cTCU{nJw`fCnc@v&k%{lWwgWViF=wK?37^mD@YIQ>qx z?$K?~j9rPRYUAq$Z8`q}e{1(oy?3IpXZ(E*r5^^uruw0%rH&sf&hgiP8+Z6kBz#jw z{bxriMAEQ5$^Zi>l2lH4_$T(kf{7l zDCZ6soVzl8jC2foWXXS?3hi`V_**Hj%JpK3;B7;P2H2Vhe@WdStY>;qc<)~Lq3AB` z5Ax@IA^$&|MeP6OB0B%uMI2@QaS@q(|Lr1@GyaiF?Ed1C@V|4(QP#g)1h?4VxrF~q z^l_fvwji*P$k3|BskzE7!F1q25Y$_uK0s}1-`4n@ViclIEp$>!*d&LJPCB-aHabPZ&Y*{#NEk%SQ_^<%2C z6}L)Rb`t``^;wQ!MB*h=PP6J{>OPNF57z9OV0qgpgJn%91si{-VYS zc(S(DrD4CRt3WR>eY1*UooSeOfZ=uMWQ)SVQQ52n=%IV~K7vu6-^Vw-;C60 zK(2BF0GA*e`I9z_B*8g7HLOA90PkdjBKX1w&|LElU$PwG&ivc?6ws+|EDwO_=!(^m z>=eBNFMn75Lk4+PtKR22UJn-e1#Gbt3rUs>;0>?&bGEg+h)eYBx9xkA#|BaK_vf(C zAsTr=UL#p^hODbAI(|k>pV5e!>pTo>;1VfEvI>VeihD6M>Aex#0pBtxU4qh@a9+J4 z9bJwl9Zd<9ZakkbU*D!c%AfBe45pJt=wvOcf_s^0;$<5dm30~JJkiFGs9 zyF2CuYf2EAE>bDNm*Ni81lxWKQggSNx6V+>cjIQqbj-=0iyUVX0zhSrSPMI6aqZ%& zmDC-U&?@QUoS=nE6I#ha3kTv!$n&f3_~r=+IU6#J~HOXn#}GG?`*zLf zYIileWK1^h`~PyVBL!ZhR62wX?t&Ix<6eD0=NmX!LxA=}OJ0Zuu3FXtCD4Cgj<22O zd4x+xfSN|Lt7e)(kCO+2a3QYb6^i3~od)%M;lQ2=bvwR{O_~ori{(REZb-i@UX88Qk2TQHflq|XFi~@ZIeG2%DMQE>_l!Ad&=zBw zeT-MpY|*~rui%T#yiNTb{Hj!h>!{z+Jld*cSq23`))7m=?jI9@ZR4|@!K&o{T_8n% zS-S=hPb@wjG1Urf5{GX*H+ZuRUCP0b8y@IKk6==Z%q;Gho0HPpV@V}Thq=kATCz<7 zt~}ZaD20ww1_4h)*W8VaN0iFQ16x~lFR`keHPH^egI{V9`#eEz=py8kf!gb*SqvuwFjQb;aYQzw{rlY_Gh9_ zh^u)ClluD26KL%`D|(s&xMmr(j1BY678xkgL9d7crLH4@Ztbj%alS>YGPAW1>K??z z- z?srVNlh_T+s=Ap_=UFsnWmS%)VLPfhaMTqwn=mSm)Y_sFpj!)&<#xd(%U3?+4g! zTFm5(q6uq%MYU!Fl;*P&2fAXpLpB9BPV}KPA1OMO3M=oo)wU?pxZCnG#ptut!s45F zjl|S%((rF;YPP6$Xl|!hB?Nl9)tLdEt<1nW4>o+Pv@LE16z&HEQQ{=z{xcBKn!cT0 zH2Lw!Z^5H`syWrB=b^9BDaA$0cQ9)e#=mPfm^}k7gp~LOjXU#HTrrXH2LedKmX>&+ zGdumOOccS+y&f+)#`XiAwbr5RX^C=r1%WE7?tUE-1RYP!&eD0|r zwBOwtSn9kb78s{yg$M^}L6bxAGScks_P@H<%IDOF3`b9(JH~M3Yl?|ft8OgK%2cnx zEdr3&7N2?oJ zJ>g|hjw8rVP7ynx;4o!GA5@+{RvcePHEUZb(LFV?HLd%6@4O%o>>{)9(eBP?(Fh5nTn&IRKlQ6qahP5+f!_09z+C^T`pGSu#n5a&T^Or zpr*V@sVg@DJ$}aW$3&LQIn=cGu!h0Exc0Fa$y7Lc7Igj=PF`~kCg%HyYifz9a6RJ7 z_VDoAaTMzJR?iafX%tTlC64-zpDy&u7h-q4k@|(udI_N zfg1@Y;$#EaPK3lCXX*WGSJ-3|99$5WcFaLF7qDo;cQZ|LqP)xLBP{T^TEK<8cpjnjgcYhD~!SJHT@4G_7> z)27ph-`7x8V&M7av(C<|Y+$uaU3CS_siV~@n@Y+i_J9_CK-M6`=YLK7;L_e7!Ki(z zt@(ucQ=rZg^_c_^?|>-t=7|D@m$(nlx&4`DBWoRRw(+g28^s}-0FrCY+}8&1X{$Aa zq$wbo*n}1Wmq!%L-)XSWI{x;8i6~sC5yzdkbkQg$sR4vH)iYw+LY#8P%Ac1TC(Cjt zJb`~}(YthF39T5P)HBB=&CL!G56D(5(LdH!P+f~{C}u44Zr~d$kI$W92*9G765Q6U zqcf5M*;AQN4nm*KPOTsZCT7l3`Oq>yB6dJyv`-uh$#BYT%ApkULZzP+>7Q?UptSGD zx_nAogUE39Or&aj<&GE)jpDTe8o%9fw$ru51vOr9h(az?!{dx7%R7~}3SS(ZXXRt9 zCi}K;M~?VvwNV+2t%97Ik~c6C4?WtHZP7)xX{LF)pW7+nyCzxO75%efrE)jV*i-p* zB@N1*o5R-UjCU$jJ!UitkjL(oWmn5Ilw@_FNA1-7q z+BPBN!=u^qNSOa1f5aE^|AUJ-_{&9f{I`p^x%lHEzF+;fivX$kM=o*ri%UZP&LuY& z|8f!A!hh!y4MtccJAFw`*XMfDTs4lN?r9mt&?#PCXWpz7HSk@CQ#k}Opg8N7ppT;b z;ZL0f#zH&fu;1m9E!#_uNLX`Y?@L|Fm&c-qt24Bw5@~+n_Cf@8+K^}A+~!S|`byuD zIA$PCbRL)Zc$cE%>wXkH=oq-V2lV_7HwL=iqaPowJF;wJD9=_ADXjEGJSLGliRMd& z0%Mb^JiR07afS^o$mkR>zu+Y+qNzn zw(ShtjtrX_wr$(CZQHhO+qRkEh{|(r{q@zUTiH+myl!h*O56gKomn-4K=+XD%`QF5 z%JL|)NZ>pydq@DOxr8tqf(7Yl3h8++1$VT*)nEwQi(4s2NJk+}<~8@QssxE~mnLEZ z49|k5(*o7@8EpwXameNXs49&i9C{?^IO2MO8Xuf$>N{Bk(!LsMBYyF5^i$<`hc*#< zEb}BmdWFKAdY`s3bE7ae5DoflcU&tL=D&<%V%2rs?0Kw?1SoC>t%YWjUntilze~-$ z4e_YMNHZ1S{xP$>{|@3+Mo=Ik5b0 zOP|A)rVMZ<`xq!3#gg1;h^SHUGMp;=xr{lou;nkSu$%P^IowX8EQ#5m;hwwCmMeL# zu_Yf7Erm~~0r6`T4wDkA^ZLEb!LR4Qf7j3k}5hbE<9ebM2bb0M!FCJD{6-t~!>FL{C1 zGiZ%5DG0>A=g*aeCV%HYu_rjN)7*B%!Iz zRLgd`rt|5^%MgORZ|Vx$6#pUoQvlh4C6MiM_3h=&a*i)Im*;g#89p|n!Jg@@Vjw>-ioZn8QP*TI@ipRpw#WT}WRUicgYsnp${-&_ied zy`HV0VFn!A2>Mw)&A^ifxkG@au3w?ROPnk5XX zi{G}D{x8T|^GDarbM|bi^6!qBUk`GV5@HWY7Vj{_pfBD{ZkOCvNQ}t=b+c=OGoLMR zih^e_u67{hJs67t-6mDQ_H@>xZhIEJhZlqorQ^_2MlEi7957JgfFT*(6%x+*vqr#Y zBLTGlMNwoRb)*L_Ptw8ky$h~UeU2+QhaZ{OFz2EPZh3(ilieUn&9@8h4R*7>VfJ`KLAE@0%;QI5)0d0kmyhWkWgf-%me zL>Ts$OGN7amHhU9lRxO6dRz>Vxgt55FZ}g`fI?u24WIET)B<8PTUwsoZ@dw$Cy^Rm}cwq ztQ|7`9OKA;5(kaavWN&HOC8Gyaraw0K8STfPnEV9x%_>kHB!m9EUmi-xA}mwBhm|n zxq=R}lp$>tc-nTXk~=YJi6fru&wRgclFp}Bz_89%4T&l_T|8n;jIl=QX& zUO5?ETSSs=C1LP8oW8T+lzpK6Bn|jp#Uu2Ey*bVe*Sb@fJE#cfDY1gFJKcj%&J&hQ zve{!(iBwbt3^y=pGI80#hL5{dDP+y-^4E1Dk-lX`0zML~=`J%%N?5g2+I=Pvi^G># zE1Jy<1y;#xzp-s-+gD<|UxC375Ofi}b^RM~2)F!r{MC|7_@TNDz|fFLo|&1FIsrGuh`zPGLjHL&<&|6pgAN`)?2A z^C5Nn0HM*4hlU5ValCLZ*ZaY@mPp&}3xJ*=i2}rygWE6?Au2@wN}Nz{U-)y@4i)84 z*YiQnjVbrH4nY!9c;>kxUSRQk)%3Gto;@R+y2voI+=$fC1D7!=t7cd;m?@3XhujMX zmr>>-eyLpej0zqRlyUr(?By#Wo!^5$KA}9cod4tX5N`_oG}Gcu9+9{8Cm7JB@9i@g zd<^)B-M;mgsSK%kh?krPc??7*VS6CnqDT1o0{}dui!7>vRTABV-40yDs>Xq9e+aW+ zkc{1=qb3eV?;06t5AK*3`FB=k8H;oX`^{Bz&{~q*ul`;OHpb_Ho>IbYlC^a-GLEON%im`xkzYp%jmE-$fEU7J^+LIG0@6C5n_=Iadm z=IwS@Vi0r=dA1v|X|B0-yGNCoY}xqLtMz1$j(>-Ibr`q@Z2>J@qC%cfHn1xA&|=+E zl-&T69T!|wg>!pr5)3YGcEYFSA1su4lyOwFM-*? z%3Phg&7&d9;U~Fg(U74h&#q#O?m;}*Us3}u&f}v0&NGT2U#GxXAZXcKraWb6&OlQn z5uIH_-W2UjV<&7|mxh-wFV0bdIh5hunDZL zv8p-u6pP$HO|;Ic)kwS2m!F%DN}g|oqJ=QiyD=;4n)VGujy5a$BDlFoYW42!Tp7a> z11Ua#bP;FRn4?c@m9ZT(Oe6qP&gw7nd;cN-zodwxzf(l}f2W8~uD?=5VD^8fh`qLd zb&12@E(!dnOFp^&Cq*2E{?jEzGa^Au#vp_gDEAosM$8VxZVis*5N5OmbD0omfMtZ; z-%M+xcreyIyE=nE9Y6@3>myR!*i0rbT61>yw9LnsiOzmmn{I$M2*Ch7er8e1y>qsx zC&KG`7sx)C$>7BZze`p0zdJT7kl6JI(qyWpv<(I%fq&Xs`+7>q9mjC(B%z-cOWZ(9-d7+(A&Uf_UDO%aR` z6Qi3cV2nID-;l=0CLqxKLZIhQwt~w z;m<9!ryCYU@@5tlPdw4!sMvSTm2BSGJhLMiGo6PadR{@J{uW#(9 zovlyWs%d!lyGjlv4tQT<%0~XrVnb9Wu7oxKX97)HcrUZ9g>!`YdqMj3R~g#bZWR#4 zZ8R@2-5c6&GN$1UAv|)zl;dB=P9R`-%fzw#8kJK^f|FQgz&W1BfC(lJmHfgx6M-(; zsohCRBg{4%<@$%EQ8ESFxMTR(E)k|+OW;iJ7PpUJUOhQ?ZRH30(?8%2YMT%>vZI|| zhqq!fylt4)kC{_pEi)sI4iYe}+oRYpnQf0ThqONr%QRG$_2@j5O=d4Maw8#apwCg$ z7xZ40!OX8@rEfLFVR4OIdlh5nZf_&B8~M2wgxX-}MBXJvUgB{y%en(izl*F1s7o4cXt9QO2;2^U)RxetMuA?cCGY7;WlXFBbRDWm54 zhNL`a1$Hwy=^{|=KIsipfonGnYb(I;Y+gzmtgqlf|}o)_rcRFIMu|t zx9<0uhZ*HZPf#7XwJ)iGsI!wBmY_WmE&ntfn@$sh(W><|j?>DQ@avAUifI2To_+!| z`WP=!jh+yCLD<@75tqdvV+p`Ibx{g2t6~VKb9|8FQomS0kP8NQf!$%M{|Q6Xfw0xU zD9_7Q*W9rtKD5Tsa35k<5mTvpNt{wpb|Nq+8w~!tO#ocl$ERqjIbQ6ctBZKK07Vxd zF#zgFmP4mZ(!GjPrnfM6){Gwanym+Lit;_U+ZOEdgJE+3`YS<$6eKM{obVV;ZDPxR zX-I2PBS?arqXvfn|1X#H5Bw|n9seeOz(2^(3v~EDDFP_?pX9Ghb5Sb6&!f0Ju!;rj zJ%%brZyq#`n*QXUt58QK-iweOcj;B5562hmS0Dhj{ju zUeofI+fn)|A%R>G6YJ(A;>Ihg&~ar%$H=A8N-cJ?b~~7Iky<%-ub-_Sqn?@~ znYftZZ2hHyUAmy?c=E%-V|}+b@;yQTk=|>wa>K?ei*d{>Wp81ri!V)vwd~dbW=Ez7 z9i<4z$TQ$@EIiGfuHvpgTY6s`*xhNJGLAQe+R8;s`RB$2OB=`XowOF|q1YPBy%@-y z&xM4^@5wSlb?r@E^UTz^mnb6L^U*7GLg&kVlmRf0SNB~1$yn9OI8?ymE3Khaq%loX z&&{9LnGe}y>2UM7;On%}+~9p%zKx>2ilBghVPu-axqIXx`#*ZQPkgyw)P|jQ0meQbn&HtS|$8@pA2HAKg zqAaa}<{2h~u(sCPZm!H#l_XliX(5)8Yj>N97J{=xeZMh3frSU;x^faU$*25uHhW%% z(tmWxv!F$iT~-uME}EM^c#>59{c6Hg2L#AKuo;H|gD&8pe$zgajCB`O z@xrEmBx_3rUce59MM>|CbVF-NR6+gys&S8&G;0&n-~7nj9nbrRsNTeJkK~=##s{2I zE8WQno3H1>B-KU0D9#fd&HEJ+=IQ&~dODzkMaeqyFx|pR{uyKJy<43;P+?+aOszVt z_X9dppl>Mvd2kv+gXudgTnv@09X@jPmad^H5&Mb5FrtfeR@I6g zKsh|W_CH~T?A*XgaOfuX5fL2AcHT-80~y80>u^>5LTiSLSD<5|1l$~ux|>zIsS9r8 zWFR|yRdq(eFuwEdY1eF|>D@EI23IWP*K;D6B=AcVyg49U4HTi zouG4qkFaZKcL?XX6q@Rb(!QPcSwfQ42d_D&RC;LQjpGpTCoCUw7mjIr20 z0LN)D@oRz_V_ennOGLq`za>PNNK=T7I<^s2A%MZGMtn|YD+Dk?9_IFmVhry+V;XFR zP5B-*g9?Q-uknKanC^1M509>B1pu(xmt7RNylMnsb@2h8?6fNQ`E{HE-P1E0!<}I z!Yx9;*i{9BkU_|YEflajIk#Not$LR~iA1>9-j5B@sOcQps8+cq4_9GM`czq663&Tc zT}-V-dMDX9Go?0c z_phfl=f6*D|M#@OCv9Hn|8xfb%=RmR|39a-_5VHFk4;Y>?hV>95(8bh6J8*uv8Z#8 zo-2Dg9dyKZ8N)(<#o~)nFp^c&L!}K!Pqj*1F-dSwid*_y^GM(S2Sq$FekBJ#XI}rd z*)tZt;hv<%(AHbdloaslbCI)vu+X?Se(W&<*EKde0)5jgO5KOzxqa(vWPgS!V8D2g zhl07Pb#4Jxgy}bCTO6L6=5ZOvT?P<8VgJ|`$9u~ZZ z;#^DB+|Ua`H1>v*;1}um7)H0l+WrJkoL|E#06sqHaHd=bmq^s7L$4Tw#No^V))Xi(wl4P!fIuTP)F@S zVM_)ODSO66xV_-1&W42${I#V=UIK4dAmL@~InpIa6Y*X@hqg68`@^w4Udw{m!+JmN z0SOsw!?RKMrw%oWsZ@gur^Pj5+DcPl)b0^7R6<8oQE58Js`?CD46o~7K^mx&MBu<- z!&1Rcin5q*)k`?|COG4%k_hyk>Fp?5!r^1KUH1vf%?i_*i(7Vy()!k{&FSRF4-*M# zAW8t|okb*XortV$au=}$Sq(!x(lCca(6Slg|7D$d9&Zdc1?g{mNctW1Z z#@7_fNXfKr2!CQ;>=#2Qksyi6nzs)-{On>9F|>9-^4oAT5!>R)9I#l87z_E1Pb`Z% zpk+BI*BYyr`mKm3kp$cI8)|AyL7C4fJ3CuIy^GoX#&?a_!x{~*-}|7I1&g?CsT|ch zHW$BBRMX0)ffU+wCsp5^mXfuF_Uzjkhec>}WNfEr%TQDYu<79Z0>7|wxPv!{tcwI( z0ZcS6!PGGc5z=SSK;AKSlAvVqF>XCVEUZN)r1oTr5fSfs*`_ixM+;B)qqZZv%eKmO zLx*_}9Zduim=RqQXbI+~mFE%TanKL{{2303#}f2(QW~`_F!L&R3)_Sw05YD&=&ejQ zQE}SZK$|co1;g)`;G+h706p-wYc{%)efhPEe%a5l1iPah-gt_nVfLs02pLOqg~ERdMl1- zWptR_i?c|Z=+BI|23zuD;%JT^F;S9+F`tD7={aa9HUT_xwpJ_B;ucowj=fJmhN(vu zu+3PuK+vgZMU3_f;der8^~X|6ebttj&KxlrA~9e$^!5YcWVDVCtA_Lxy3Y4g{kE%Z z!7u9)grUx`j*XEnq*WUDuAhX>VR_eRLL%jLMHn@v1Mt}Mn@{Bu@7n5kB&Xktr|uvVEw%`h>&zS}D=z1+tN+B5dEt)QOY)T<;#w6yzuO){?+`4B))sG~~RL$Tz; zF9(ANd+Kox%g=X*Xb3~NWrL_m%Ar#)z0~dOe3oyD%_L60M;}HM$~k$c@9^dxzaEvf zd=*{axo(~Dz^O8qO3sK9UZ)bDU7aE;8JS(dr4#9*Rs@0)aa7Po zJ_w?MxZ)E8@a^)=vXALIFt0+vKCR5OOCJ)$Byz33cB&_v44RmNP+U>6zHW#=GO44i zJtqKP$fA}}b9$X4^wcQN-RRC_UY(9YP&l<&1AzBjzpz)2{TS4$5VoUYGZ8A_J1`}F z6`cI-F35$OK4K8XJNMAr-oM^^-M~WHYgL>gXy#>I*stB!<}p4o)5eSX;RoGXssKD3 z@X&)cO-Mo3XYaYJc#mDCwl51SrDjBj?j|KO*?+$x`Z=uJYSN6jByHcfP)qvA@~%0~r1}NbXP5C^*z{|74N4#9>|)k$8?!MQ{Qe`~WK5f>T%p1#xq1_(f9_2-@x(aumU4urKKjMyoZGAJ(wYv7QxIHA)|(Db(g z%_&EtS;YIBl;fh_euJaZ%G>$#0Pc^r*BZ(ziPX&cy(v1bbPE`^12alc;rPx?y-okc z>~v;Gt3b2W#EAjsft*t2iU0&Qk@?yHi~HyXZ+b^@un~<^Md>oe%Zl4{>!OmI?|Z!h z_4=o|68?ztgreV4j7Ez?bh!z~)Tap7+sXl63In~dX~jC7GKFh zbc7n1q&u7fz&rvCYB#4TUgC69mhoBTN9JCo>X@eT3HY~P5`&W)`3kFt`7+g0i7xF= zI4k&F!5B2&1{{4F;j-&pVduR*Q30!zDYzlVEkw`mns`*tjxrc>o`dLC?YF~E< zq=qR80DSnvkByRU8dw4r_4<%eN-%d$3pdIWpvGWOZ@;}5OZ+q+@L5U!+RqiL0ytEA zF~xaht3AS{S?FmQxts1K%ff)I+Piu2f`K2$$`XvY!m9&+*XN1SzI<12yJ83I&!QVn zTU$=sJhRm)>%iqnE}f4YunFV`B#tLJn`2`Jrl9#Pvv|==$ag=ZFo4qht2wd-SceZhgmeQu446f!Otrllv;*H+G{^LXgYaS}=<_WkP z`<-P3G8OG{;~~O&z~f!_Y)f5`!dEDp<61hvNTA>R_4r}u>Cs)O(Hi5R;OY0VWERq; zTFX$OpJiP1Et`oS8ph`CXy{@?A=IC#Gi3y9m=uk=JZjdqGJ2-w5v!^y`83x7Alo(Yun*x?NhbqU%hE(T=ojhm=Os! zWEV9REz)dZoidh|sixxS+*Fg2?8)JJ<{>JI0cGDH$MEJ98)^hAPhYz*Mf%{q@NEmgk?XJz z2pWMTh6L^Md(+%*DBr3-Q^sY$4qF?64Ra(jDWZKt2;HCmFy9k+_WT$r4(GSVt8o=_ zc_BhQ%B8bC$ry7xC=zNMVVz(Uv8#pl0+?RrebgUn7qb&i{3UE%vr`^skBcs-yb^A|_cr%ud2uB_PW>2m&Wb9;65rqLm$7vb0C-h))?n%~yy}$^0?dc)TU4QfDqG0G ziZ$DIH|45pU%guNwyTTm&kYw9fpDx-u9jjiOu1UGepVw&kYM0USj-8o1{pF_J^ut| zh)*3|WLW93dTLZi3|LIOm@c`EeZ>Eg4**k==^;f2lQ_X)%SKM{pELiNWQ0SO7XSN- z{+bIwFBj9II!F@dA>xeL`XPQSTy+BdC^Y@iX_< z_hM6KyW!SG|K^4cZO_RPF9K98fgOc7!5pO?_mHYMzf{&0kUiqFr3iwUh&U7Mk$VKL z678QqLtD-pQ-&AEeemA2*u|R7n30gR0oBY_$X;9`vt=@oGGPMpmcUNjUfrL)vfeU* zpjPOT?ocMp5@orLnd6(45oSELjjco4SBoHisFm1kOj&AEi#mt|JUX0+us^oHGz^Q; zO}LQ=5qt{^KhN!F&{a>HIoZ^kh;yuCR0sKMdTovuy_1cyINUs(l=YJe=N@9N2fq2x zngMv{RVwjzmb2_O)_JtiO)MN@t}WfB=)hiXrMD+BtghB~;D3fclCJ-fVkEWAl+BjJ zU-RkVY%~i*8HaMfy(PM7ei|+t;}u=VS=fCW;HjbacITXJ^=a!$f@<#+DoJ=cacOz& zSzjzQ+7GZVxm;d^UhHlRBPy>GatM72Etmd0)5yNUc+n^Fu9KR>cB*O} zGh|doz)@oT+)M0OjM0PNlS*h>|2#-0i-f(mVR)1|j2?F*M)3a2C2^N4JV|Y3v0=a-43a zhsDlo`V<`44dsuzX3`&m+G}j=+@6~nJO~BOy4zhZ{h3AhM{6!Jvke&TLj(oPl9a?q zHdb(TnOK|x6=!43p@fMwLxz~|WB17rpqN$pY+Icu7x8#Qd{_mwsk1PNxf#s_&{>p{8A}t;5?|`7ne^)}7krEdpfJ6$1gU zb8GBzPh7@N5jcEef)|ibw*x?UVmt!InO3sRlf|4EYs6eIw-}BNi9$@hqW(nE@11{d zrAEf;<^_@&-a@!E0B`tZ>C5}n&z znUNs)KA*_(;DF~f?da4aWT68A4x0lj+*%yD00rgN!ht{Gk&DpNKe+o~6w3^x6wZ=M z*=^*!DV%DmNk-OU*RgSIW6SRx<3F~F`(2c48f}G5(A55LvuC*(c~YDfgJ&$4Wyw62 zm_dDMi0v(L#}om69Mhtq*iGng-jPy zM#3*(Ni<5zlQU)@V4h6&W;U`QqliX=SU^Pwf^I`Zw$}7;QP2AE({JiS80t>dN-^^`V_ssQeTX19q!zzCH^g!sp*?)P@Tz@qK;MXoh z$L~aGufY_ecu>XJ+2Bj#FC($(s^D!P987_vvl%_n_&#MV5Oq087#)cQsgS6UYx~8% zR_6zciOIzm_Nez^zO4ew`3O(K|5*Cs;ay(JOJ7~M9RtPRsReQ!2mp*ETCt5@wXnj? znx5XJiEbp|(4_`*(h#Kvp>1*w?_YTiqin{vN3xv`R)HHc=P6jKN{ajQu))V7$n=;^ zBk!HK^Mjj$bZcKs_>T?p2hbTNeR_~5f<>0A>i2Y{ufmogX3Zo;(_Pm~ht3liZgM?P z=;5s>1*oyukdxDDY_gT6Mks7d#cWpItOOz1z1Jj^mLx-Iudi}2DVtxr$|sJDcUw3` zR_N@wCp(zvUA+50pe}Opda#605ZX0WU~W*7(VJP4d{2G<>^*m?5w+&Ac^_`~cW)-R zKuNvvF6c=iM491Z072rJNFWz~4{{Vu5_bZj&*+|G1$PfB63^0$R=r~NC>v0oA|OjV zZQq*D^5X2d2%tpKCA#M0Z5Hfe$q;0aysPYufj`q>7B8IGQpH>-*Q6SQtjf9}c8jvu;z}di#OQf1+2)WxOi6A-%Z->l$=B^G$$9 zN{am?Qid2xJdl!izDwPqho(x9*NFLMP0g@5tOtj*Gr%qlLc67E)y>YEp!&wPjOUKu zwJJN{KfV%p{61kq0)+0m9U`K+YAu9t>U+R9VDRT2Kes)gD^B8)cF&4=Ok~ji%EkpZP=ne@PLif2W9+|4tEve|H9Tvi?K$N zw^K9)ZAU08`X@J5fEScEie}}XmufCisg2R!SjnXO7Bg884(_}kDOCscCYW{jV8}_Fu|j&yrK)>CTifUejb$$1}tw23V zkr)Z=D@(7YmN1sh!okc5BC+QW85Qk8@45m8PFsEwjRK4muL%q+;XeaiGGx9NeSuI- zvGdK5qdVU%VNLlQLLwwKhCk)j zc~mYQspb3W@O@Ogqd(P1a?4rVVeFuZG{o8JqtC2Kv;|I^pG1pN9-e%(J|$1ZDvy9# zhlTjr!}(bxoYzK24qi0cuS&?kC{MxDnq)8pP$LG`2q!-yxi+wO$l&o=$4MM>ki*F( z?rJK8?8hV6MM>W>VDS0ah@5+YL%OX9WxsZs(l-H`w2vb9u-=ws9n`7Q6baJlcrnhw z=fg(yF~nL-B&G@P5jLF;x}O9QAwlDbFVpdu{RD@$2tH>{QYlEk9`K7R*Kg{xLhzhB zk^JN|c@~nza3I%*>gEBv8zvylBBYnTHY)NlRQxElN5~_ACAGQKFEb&4d;061ld>8< zm7xvUPJ(o|l6yc3ZztuZjGz{*0d06;nRqZdz)hQb)`Ka-+)^%@PX6? zLC*Ig;s$4yGHfDRZt82%SK!=3{5Zn=9A%T-5o(t=(lcjk!koMH*TsE0Cu!n%xY}#5 ziBLIid1?CKWTh8;udYm#9NvrE~{59P%16?7__=lCSn0E9Fo2A znRG3tTam{tUW}@fP1*U&928wa4z6ztNTO(Jmud>hEg4BUK_8n8U27Ue>Gc@7L_BJM zXTQGY7xoM`DRBFJVj-u)$d|Tj*-#SY5xgYUGnb||aBgtg&_i#w+d7g@e{Z{BrQ!n% zrAC2g<%y2g_5RwsO(r(N6dNyj%zcI>m@S-Z(kT!B<~h%7N}f@uKEEjihvaD~ZdZ#; zcJ8v3`qq3R^?A7wvto5#ySVUm>J4gEe*5u#VdZEXu+lSj$RpkwzJ^R!bK4k2_bMKf zO=$Vx>qvkBle#0m;>+HeAXi&V4LNbMp@qfazKif4N?q+jvbo_Ha}6kpSev> zZ&zs`VX&Gk?bp`_qZopnaZmw%)ZO({=0JkMh_dSGB|caH74JM~D?*=#v7D5gL4a`f zq;cp)3RXJrDlu;4ms#AKO#=R~ZI1cpE8k7p;FA57ml?h=BlC=fv5ewuNEO@|(ZFC5 zLqjxfEEX>fh0k&$k#d>)xB$}#Z0@;%v39RZ{zGqsN*6R6eiRP|a`&g_y<4_@6Ri4@ zyfSSvBzs5ZPw})iMB~oPv0Fu6a@k>%H$}=x4Y3?Wq#ro`Ve!cILdxBx6434Kc56?r zBbPr{=_0PNZqg>~EJe|F=uX4*zP7s6G9+OORgv)g>N(yTtRKE+P9*3-M1b zxlZ|~OK^m$*rM2qD}*Yv^>VMG46C(mmw>5-QNJzPUIwLh>;e4PZWBe4;iYtLJi@IR zUH~QEGrx^^44)JkuqGJ-Y0zi2AFWb|w!%6x7jP=!(xZLX--6 zdvWo8Ab;*b#i_1%?7TrPLC>+(*bpzh$F2 z=H#Bv()stY2)CCr=NfyP^&@@WfVhb+FDtLi+K(kB`?25R11T}-Av4Uq7PYzA8hld* zUm{1UllXZsRtk##6yCzAb5NsQ;l^#7fsr5rGms>Yi^Yh{ zhA7eMNl>)&yls0#01gH^_J&#Pp615uh3YAhJcCQv6X1;Pr)BQ~oUDN^4&l4YPOo*d z5D6@mqpd8_Z;SgFbr;{_&=Yg|(#2#La@baTh=#SgINa5;dJFE|0<(Q#l>G1u=6J%O zk8IKjJlSxgYDim8dtw@>_i?S-lu1sf;C=#UAT=Y@dJqOY;=ic@S0>D^-ARaaoHZ)g zQ9OQBR6_I(KC;P^*9ZMTV|NdOF@^#qPWzlRz75C_>;xa4eDExKDx%q)i5Ll2 zb7EKYi(glEnR4=KxT_o9eaHuPdi>FUpoK>QK?7C9alN;)Y2)7PlFzrMHBMR47A z0Sh{DN46$8Z?A@wB+15DjPJSTNo`?D*k6+Lc-w0VD($%>$h)!lmsy49+CGg2J|mQ7 zzCXaFm$N@j03dU4Gn>h=WE3f~NbNc(D^{7k@_@GN?~%97z9xHmSDII}(!_`<6F*)) zF^2D-N6b^a(UPCke*7k&?)kw}_ zhPZO?^QXT*wb9H~x2^NnR}8;;7?z(rAci#Ft0_jTYhDfpRLVNAmW96f<+gq>U#br^ zq>|}t^}Ot^z7JwV#;9v8F6j^+y!_rjrUsHC@$+aY{eC{8PPRC5E|CvcgxSMDcj*mm zwDkZ-1Q<(E@p6wru#G#%&hv5-KL)w3XsFBNQ0pFvnE|d)p1`wQGgic1noXdeWwmVa z?$gZmi~;0|Vbi$SAhh~M9Cc4vzW}?+KH(s`UYY^7wl+W3f(mnCDyd*B1)vUpGNjay zN@MR1d{zu+6rm%ZOM>7%TC^8FWI(3lz8Ge@>ol5cQoMtg=Xv!5N#_rlC2Y=)e4k}x z%sdM0+n88w2nX9)&C15bem?0Ft}{o=l-Rbjw1ef~>Y!O{Z!aXLHrLrN8{V){JF*|`>?)Ya5%n+{5cd!RAy*Vn)WrdGk#EKx> zv3)O}S9n*+t1HSu(L>9JqBY*s2hcq|2q(72V z=&LxGg?c8fT3Wqi$%9_*aGO~|_l=Z|^Y>8%Yl}P9WFyjz8t}W|3T<+QAQ2ifQ(S#h z{mUg$fI$DYt<>{x@_YP~{51dR4E{+GR^R_5Kba{669oO0<^D{1eT7VX4<(r30b5K? zd%I$^b=+$;AIG_->!4&Y0d(7Tm-DmGrEPw}XL=x9{?bN^u zOig#)!?)&E$CBNK*8xib`C&SMJdeSLeXs;rsBRJ_2l(9^d(wfmF{def|V2`&gJw-41o?uiLuOqw< z4k2qM(VE?=dmseQJx>exRi0eON=lJ5X61(IS?LRnn9eL#9w;sUhE(Tpz=xftq*IgN zL2H~q&KJ1}5-*~plN_o*h3sT4!=t(>V$}}uyypJ2~fF_TEmmIGb%v!??RuzG?w#C$9%4G1sn~paD_O$;b(j{ zcO1#19rc`;iLY5kgF+gg_~8nta)V_>Jd0z$i5m8@VNXDwu@8)++A`=^lqt_$(0Voo zG$wm_y%1mX^3BwHIK+)I<7rFNQhci&shV%ibgG=`j<6a!w(2^k@E)Kh7V>tDOrD+vHnO)g(*~AES{lKvmD-w5lGR?7Uu>2&{U94dpG1JyP-C>N*X0eRk4T5lmE~ zGz|F8(39K7-TDIa$472faU4)OnL2bYKuj#+vo0v*_-2|)yw|?CFCD}txyV?QgPli~ zF{EY0j*sJ~zD zG~twqqfpno;cX=nl8f*e!{ntT)(KfwXCe!p??9wI2x`DUTVi>;Ez;2&tSyF?i2e_|97#Fd(xz zl2(a*K5*AP`RKqvTMc^LZT-3qNyWU_w;R*58ThDZLZZf{wLHZmgx5Py?uaumx39sJ zOWfZa0$XC99jlKLR_c_qoM$hp*d=7)?8a?ulV*37ugO`e;@&~-nJGguIehi)3o)*E z#->KYIWR@_9vDJy=}Q#BRELF$DA=uu^nO{wE*!i}&J(Z2?w5?apLTUm$yq7`HR3y& zEBi<~!TB^mg9j~w$N)ZEH{19c*2H4&{C%Yc;q3ASVj*=0)p420m zGe}hb&|+U#4;B40wZFn*?F)9!y*RQgW5)PV&HW=`5?sbPy$X3Xaq`4Pl^1ygRA4b3 z%iCb?6#IYi^^SpoHOtm;Y}=UFnAo07II(Tpwr$(CZBJ}#VtbOj$=q}9Je|jAX}?VoZ2S?O`GbhJ_S!nx%512cz7?b2TVtwkWZKn+Qh{_mlvz_i zknw!;5kr#AVAK*5Q);uJnG@mV7XZd&bG$QzxZ)AHz zn5rPQ=Jh5^MRFkqpX@jo8C#u~P(boErOVpU%0_0`kWTchDwKi9x2tuTc1^+swVY#V zK0GY<`{^7P*a@Hn3pUD;2DbM~jJ<(H%3(oDn$pi~qNX`)HXms}Q4L*#wBYod-_Vxe z^~J`J!H#3ty(SD|#PJ@4Feb%t7o-=1hs&J3{hDSwq;Bh|MF4*SnQwGNx^+9wW*>*Z z`zKBCsQVY8mLj)WGuh&anB!_uTo&6YW;Xg;00lv0*lAy!B;kizL65Ihf%*quuliV%_~f{(sn!I{u>~8va{Fd}aDn5mE*J zts?Lt{*g;O{&0!wU%BKf)4%J_H7ftgCHNYM+k@Pq`LsCrZA&IsEbN-{L#LWb)|#8P z#~3>TcCcy{@#Y&5KY!V5>T5|)Pd#@#)ZOhwizSA2e*-!Wy~b^ObTy)CzXA_7Wv1jS z`dzhePy;kcA00gBmR#?N9Mp`w-%TLR0j_)% zG+&d(p?4@y3DM!pHa#_DOT~@0d*+?~+7zifXsy#gY4CDNN|%l~7sbUjmg^L?Zi<{Y z)O(H)q{ZQ@)_?!p*so#1V6yezQV%HjyDIDB&V0rKs6m|rv}rKnIwhh-x-t)bQd{g2 z`&$k>+%zOuP}iIpb9@Z_NmUhD1K*tIZi##6ad0_L8v7Sok+oEAUy0dsXw;naBFU2W zCX%U9NtqWt*bTqHJr)7Wuw>AUlbl9F6oY^-5B5h&eWViWO8x$FgSerm$>#m@R&OFR z_xo^rOPs&EKon$m37^n=EX2APF)uibLh+l91$|VGx%n@9Slae0Q`Fp1Y409|Q`1YW z8P2$R6K<|~lW&YLP-HOuNe$Do?z2)4`y_-~fAQYjeTP{CfdRGk$_05B<@?$d494_( zhQe0Js*kXVm6YG4^oN<{!UAR)8va&}bk(`7AT3p1iX&u2BiRLLFe z4K)g_JLH9R=8l^-QXeCD5iItNX6p-@(@8XU-mKw(|Hdlh-Eo~=u3WY-XvbTWc+JSM z{}!%bxR5LxYB`nY-UH@#+?6Pd(G$EjwJq_e1r7El+pWz#fUNorxOV_{B&Xj8Wpkf^ zVNa!!!rw!5VX0TLBwK^!(1ssmMQ0f~HZY?#{o`MA;0)w=LgYt%=+kcLWQllU%ge{5 z`*HRyU~pV4k<`^>`BGrF$ps*yU$QgL?|VBKa`w!z^K<&@MuV`f8NNfP0Rf~AgJxU3 zB!#ZNzs?WxV*ePxbrvySDip4(6}>$kZQjxVoB^N(Arz0-q`mE9zW%jMhuef;m9BA@ z$Z@>4jqo#B?(%^h-?rfzP0)YeAh(un+uJRxq;)3*Xvy!z@<{*N9;)@%-So3!J=OT( zAXQpdu`UpY-PZ85akbQ=mkd*8@eB}^R8F2uXG{=4gC1qP+;EdTFk~?4BUVuB2;HNs zX_*2$5IP~HP>TJwijrDQy>8U!s-o5z&+sIKs1vGqja+2(1oPJJU)2CDS}2PK#c$`SE-Q@Mehu!TsbZlW^b|@pMZBAIPl=jqygL|VcGaw2_G2pb3EMub zOb3s~i*PcE_ua_zyNhFNjAK#AQnZJg@ULcBAL5Ow*RVK5CjZ&%-coNPygD51E0sEp z13Q6jB9~;(Ig-e+s|qI#+9Il1y-|6Yki$R*teVzVBT&PTyGW#%Ho5bS8L#IW?)$tl ztQXSHOE(>ciP`Fx*`$)>m5w|OM)^TNfT@_)b&bA`)H}jb&1n@1-=keqtoc{UmT6uZ zLhKy&iHdzZQ0sE9huz2;{E5&3`jvaco^#{(4c+SN4R9i}%njWON{QwOh=nUTDe4_q z%D$Jvu#cu(0EQk{&T7`FYh0>CC&iyCLKN{Ik>B$V^1J*M`PtU~eTx-+`>)7f#woW| zz|Un%k-J2Hrn=o11q$8=N(nkcX-GUd|@*V<0-H-he zZdjg11f)sRNIRcP%;v`ves@_Qnp}xh1W()r5L*eT#b9>=i=wp}g1A+*BF`c;^Z?a~!t&!ymY-Z@l6O~>W-+1&80TOeBuBYMaQMMDjwQGt4#x>smdPVIwe)pJy zx7H@_w1X}$Bqhm6=}f?QIWK8AgZMVu8(~rdE31e4GSWp0cCUOa%W&H9bH)Dm8}t+C z5$p}^IfEp=^3*H>tRi06KwmMe0tH(EO{Ggi6V_tMw^2NT+XJR1>*_5~?OcHU538LoPFAa9M*34MrrGsy zIT9oiO$Ey&yhd6|Ub(!=>&NWkV2nx_V(=yQSLQ2;2-lLupvj}og^ngY_R}PY8zTvs zv`jn;YQJvoV4>Dy;cPtNLftooS7a3**?2uviWzJqHq4(5F}*x-n=zy+9x?h^*CdKa zWo$rl+LKNN*dZ<^2Br8$^;OXP5NHCfs}YP&gY^uGI}qwbc&CJBIuJK!9ewGukLap0 z&|Z@U3=p1VE!x^{amJUvhGxVc*a;2~^s{t>m63OCd`7mmUjwlwcf~0N%z50ZfU&Vx z28$sir8Zqs3lU6if7Q;oYb?{0AxjVtK_Omc3!EqCBZ_;=p%CRWg2oqe{I0he_9@$6C> z?RQv7$uiS|2Tq&Yb8fU$az~#Cilq^RzdTgjYqPq^WUcb$d#$$pBL69|K5#hEl5dVM zqicBG!8^ouHyLu?BEZ{~H%3g1$i_B=+d-wok_|b=(r~g(YkFHO(u*_rm3H)2&yWyi z(ERyH9lSj9z|?<-v144NQUcW*Iv1<n#bOAY8}=x;Qg#c6#&-CEdAVq-M!FuxJR_+H3JsL4Re9eM{LT0#zWw-ddu!ov z`X)^d>)!PKYjX~O!O|cMfZM@|pmJZl$drJTR(OcR9fkU8k)?IvmMzr=2@1RBPA;ID z&BGhhoUmlFrf-a%8I>~h@9B+lBe1OohG?@|l@r=F?H9U>cyeQjE5cgmIG{*|TmwCqw8nz9U-UxfOJp!D=vsb^c!eFof6<0_$k6>vF?n9vJprDMzRe4 zJcwdCqU1+?aOAFA8zx$bcn|>K&i9l!>o0O$WHZDeP`lu5VWdS(Gl{rTg+*WXH zE(}#Mm{F7=J1oID|2)j+ECkw1g(XyTJK^{89Ba+&qfKbeD$-?hEXC3AQm628{Z=-b zv`)!L!+M}vj|zsCm1YP-YD%>JGeXUT4=$94$vcY}##wI{dND@)xIr>VC#P8m#zBb% zA1XeokF1pW^rYPnhw$0^McK*4umbf+K~0+6)w6#AZc$E%!daS@!C*(DJAYv=Iynav z)&yblprkP~{pdGp(|tB`(uenJ|8G-T$)+!ocntu>J^UXRq&_|Zc{jU%?VcpZZX027fnZf$)- ztu$X+c##dfzCm=3QEQ(ckw_)j**}ILW-fvv%&&iEOx|91&5A`a~hdd@UvS01Ztd1?x~86GZi^$r>1$FmxRCD3B@+l zoPn>HjcES3G|;K@)8WF=hw?FHvQQ+FmFr~GjS*gwWIV%;@#-!OQ1c~ zdF>w^NwK7$$Y8w>9(U(sp5Qd|a%ACuq)2PcPU*O$a%8eKBV}5-W|=9v$Mkk4kuUQZ z{J7T;BggUPElsm-+T+kef#V&jl-_^m7rzi@_(lBgMG5GP*wUBfEv7Q>Y8aC*L;_R1 z(~Q{D-4)#~23AjnBt^Yo;F@uG%MGZ>Q^17|YJ6h)9a6Q4cUjZu-1EA3kj~A2$tbli zN|Y{uUj|*J@fMjAo73I@DaYAp6$SE{@(O=^-f7vK#){WqU^UHbWhpk`e(k`Wc_zTm z+(RJsjtH1{{u3d)F@OMAfB^oCzyC!Yh}`M)6Cr83{u?0$fxI!^->csKije5QfPfc; zNo%pQEb0PaXQ`X(K(@Pxj@zn9tOZP+8B}Ye={Bw*t^+8eaL)|#&hnd1z7p}lka*#O z!MiIe;z3TY4p@cv9TGeP#Tbc7bU{>Z5y71hlG|Up@6_j+qm(20GkC)l=B~g;dA-$F z=1MFlTr!cv7pGNgRI?YF-nt14mnKM04M;#!$q5c!(C8^6bb4l(@+YtJiv4*sm$Eq4 zJ(^F0yw2!Lry z=mAl}G|!3eQH)2mFH&`FCvpT5Y)plLbw=Kbuu%bW6+LoZ5Lp!Z=4G+nOq4VCo)^RJ z$)?p4Ak@sW#N4^`W}zBsPKe(`;aaoD_sDX#>k8AGGaTT#&Oxp16lV{^x-;j-nn)?y z^rRK1Fj)@=>HKZkCQ=e}KTg&DMny4b zNZ9qLdThI_0dpIWEX8G2!`+O@HBj%u(rW87i!_SEVfq2>c$>NO?FY+VDS)Tv2r-rpWh2rHVNA-UO- z+4YWU(i55$ZC2Rn+n6)SOf4r6hbV!LMKF~YqM5uL{Q|{fG?7SYyFWrbB|mhGqn+k~ zYYDxwV$W<5bjzvqD+BRHW|&ciRhJgV?ODL}a2>e!Oy8jg9$nJ5CK<1iZ7WT9wt}s< zD_#KpVRB?ZEk&X` zl5vuA|M45-=sAF-ak?cn>4}YWT3K8^Ye818Qb7F4OiY`}&Vd+J*JBw#AXaaMkM9Pw z&4K@BCL2x9mv+1Ii8QSua>JYydlRc=QUv$z@F#mOINbxwjk=URDjb~MSAb?ynwFdr zy+uSKQQR3|%VcoTFmsY(hm{9gGdXpZm?OjG{-`!oW>b;D=4Xels%l+SqaTx%0sxD5 zplD^2>w>Zg?!ueOg6wttD)dK=8MS_0O#|6c{9-UI6X5{DGn6&f`U-0hZ-CJi-}LWY z^8sd4be&k|B+tjN^PJUgA*pW110HXUPZP>^w=_cTj0!0A39DP$a(Ji6+~mwm0I#T> zjYi#S3;K*RFDgk6NitQzl+=hyoH_d&B6RsdOMmfgnMc%+4x!T`xu2)J)|Bxz&Rc~6 zgRqM^UmE*{pvEIV3igDvKt`e)yQ%J$kpUkx>vV;RqGW}nNArH^y(JQ(J+zcqZAl78 zxffsDXq$GPplP83r#h|=%x=gcQqSJXekvrYH7zU|<;D6UbfOSKwXc82WjEzb#W6DG z+bn=ez~DQ23I9A!B>NqxIJ3`DTXtYRy|{2711Hb}Pp>5cp(fUrb~Xnu7>UyhWqYOx?Y>+JlI8U|PEC8J~D4GE1GqWY-pfGiYd zPVsAQ*74HLHe2TIme}05n}W5|M{T2Y2}m+2ay&JEJrn}P^Iix*cNyv(t7jUsPyj=a zYa7)R{Zc`~4Z$kmGaOxI0N#}%5ob?`>%-a9P<3wwG znA;Gs{Id(KxLZr5hs5?+>)V|ezHAc=Sf)@f`W31R@4N{=G=Eav^KZt7?i`MA!n}zB zLPpTS^ssiSLTT7}adq1-v=Cu>SX;a#EsGx1$l`9{5jd zlW-(%Yl8H4u_-NP$60x!*JjJji-tv7U;-CMK`77$d*5H8Q|YxA61pLqip9{+;mgh4 z9zpf%kKOA)w~t7Hn!=dRgd?6?+Y5|Sp^ z5>y?Gg}(>;T4CMi1L=HE^=gD(uwRA4O zhQXR8k+iL;eIma_DG-1JAi$sTcRd8i6GiZe{3H&4MgGu>Kgj=4o0YcnSLAPPcIiA{ zsqM!zz5#qn{?bxvYZObVP$zrCpE;Gm5eJAtH|N8-?1%5ie7vZ zK-?XQ`?}V>de}c{HdAESuZi8Pw-T}3GxDmmx_lRwp`&u)4J?!xh=5rnLyp8Y#Kk6r zGZwtw@vEp%<&X?oVmYcgC06Z?A$`nQC%6T(#1ZsaYJ$umg2Z7$Cn(6Od!fer^} zR9#*ahi2)_Eq38kys*;*e7~#LLSakup-0OR3&b$kBrZblwwQ2P745yK-h9TC$)za- z-_O|A9Dw|vdPN&+-Mams6&eJ9FaQ9PpZ8~M8S(!kwjcdm1c5|raWXzxwYBblwdU1l zW%j4V=NFKFs;BVzv`Fpv|7Wq0@vjy?S9>532Q@UFWIO03H>n9>at14~^1YZoj#1eg zmGO=#tJE1#EXUQzz`Y5h)HFp_U^Mbxbf&LRb=Uq7Nj%~T%XahaHP;OJhp`Fil;Y3P zgJTU{+>k$}fVs@!Scm}M%1G5a{I`Vo-&SEiI_m&4`2hNK9Y53#9#5-(+eTeDg+Uow zqu%V6=nN?vveNJWIp6GR*t>4PzK(m7tCU8t_=@h0c@DGu(NUn4?^b&@n-dXvxLk9i zd_AM`pfIR#TT)N+!Rhq3riYP1L=C>3pJ{ZfmF0qbU!{<5_T<{qfrjGOxYi>OXVX|o zE4UZNS3zG8gE(u5N2(Wf57)KaA?C-;-J+jlAA!K$S{XXd059V(lQRmg(>%lgxdOh( zLxc$c;8}W53zXWtESwr!*XSu#mrM0@^fsR$dN8k;t;2VAHm9n$Y5eA`n@N{vu21mg z(ftyIvYd_d>q<3t1R z@gb`iEndF%ih-elL;a*IAVFREwdSXDOkW1jN{HIWWVuW?p`@%7Z#Q}vM}4IPWG(Kb zRZ;|OpIvfXCBrx}=|jdg9>fBExzKf`3gj=Q9VPo+BY2giKa{lGZ061}X|pQkT+@3w zfhy8B_$|UqV*zd+r8u9V@`iW0+L8oR4SG)u7dsIbq!4 z9=sL%I*4LiucAtrm>x@oQ=NcGZV#l|Rj!@7rW41v-K>e!NlyM`KiP0W5*Z z_C|u3nAi>oPjkJG}owF8$i~8*Mzvv+8T5z{4+vLKVWoIZP);tc!w1^=YoF z97aTc6XjZlwVf523$<})hV18x00#v`JXB~u`Q97meGB@QpPqWhBA2MFAt;NwNcH|G zlDI|%24qBHXf*aZjKI!A8~(o}p`r_`Qb}0I$E0xwX54wc?Pl6afR)5`5c&SVa4G`T z&@A|Vuc7plD5t3iWUWY|#P4*A-9XgSl|jYA-7-3txnRZrLJ_BY9qQ-Ol7;r%4m$$q zC~=cS)GPVeI+tyTxT4m%IHe3$-`obNo@`|yk{l*1jjcDllMR)zU_t?>P}{UbjLxkv zkY`ym@j1j{oh@Cb(A?HN`{ik6Cscz-WGvdY4M~CN^~qVE zK9j}NY#O(Wf)fiqP>_{;P%0vki3J)Sme^uhUGWhQ;Nd&_e_>W6FUOW20nKgN=!=LL#u-)P=nC)l*WKLpU%fVFefdVR zxk<=$<|O-?$KO==HQU%Z&uL%{ghMl1+uG)#yL{13*zon@0pd&0OGDF>cV`*km$=(- zey)=)-EVy(UDWJ{BQ57w9p0bFe+&fre_Vp(b;3FDKWzO!T;g>0XD77wuR0$mLz7pu z^m8YamH2;<|6ezJu0AcI1OKDN^FJ1A{@3CyVB06_gBON9eOmlB{~s1Vbl<1NZyy$q zK>_}Zzpo`g*Zh3{u+x98B|i90wDb?(eXJ!q(*DX$l=m}SDpB3k#EubpKkYMQGCZ==8>$6RuRPRa+ne;P1kUtFLBsw z#`nl1pIWA2=2lo_<{=B+jg!2$PUtZmn>Cr zuA@h@(AzKMPK5aVOW`4dz~tyKHxQQ)SB~xE(dcx(;%NGIrN<{Ow7uS(OD|j(lv;HdK6;=BJCC~Qt#Y6#UN)fKOhvn@8$&$H1-09GX11c z-mj^#wbpd{{r03YF#?QmYs4Kf(?ifbe&sQ#I9o^>A~|$kp%!;~Oo>X9S-emo0Q9}v zq{7JvN55zO_qnEArzx5N`(v9v=Y$Az6s9Qi1`;Lsp2$iFve0ljPh*%SW-}@>WPD3; z?Lk5@`V|=W#Vv;nSq?_Vx$Xc?Qu~P?#n0YY{e)-P`{Q*ra@WHGg4q|gpvBau z?F*rlKgfvKN}L)89YK%G5e!w-6yxEDbW0hNY%R3j?MH0+qB>IFS&q#_z|vk= z>p@LW!B_A_Si*@0yZEjU>tr82)OfqUB}E9Kxa06BYF?f^PtOIV-_*@i#=ncRd2v4I zLsEVz530=VpT_huyw8X~!Onzl^!<)`Yt<{jw&x$`WtWAt zG>X>ldiu+a7#TV8j(7nSbDKeA+$DJj4eGcE^eVC6jzcK2NvpzGI5Dw?!R=Z=&iFPo ziN_HpKsE!>PVdO1WPTQEHdTc0t4{QEkSuGTIh>2LgyUH0#DoRtB-nc(7$gTmW^+S< zHTdX}sJwD1#-IR%mD(w%7}x{2+NcJ423AQIR6IN~a@{KJ-_u;vg0Ny>FXi-`@4=&&jfIC@&g zvqu8(wuBSM{_FACppGOSNN#*Zm0T!@NA}KuAiFuDJY7F(Hg5&^UEi;Bpu9W-b^ZGf zVQp78EUt-$EKWGZ!Z55KO#b2W6cntol^+Y8SRKS~hh>m7_WH3=(OfcWy`*sn1_kb> z5Dxq@zunig>hB%;wOBdi^+wN6AozBh-!-7$YrSTR+@25ker$BA7H7p#KS4cElyS={ zBC14lVMW(|i9)5pFKbuv_VvJqk0>swOAJ9>Uw<2~kFw&88O4RwSoVT^RG@lBRLxYn@UthNsbT=QHIE@{@o zwE(`Vo1Wr%`va&q4@BJWugs+1Nwtk8VjdE`*2ap2 z6CazzJ7W)Q#+K7~3KGF3999bGiYN{0eb2?Ov#kTxmD29Um!fm5G)ehqiBOFn1A)hE z6vm5+3TA)k$icc;lN&@Qy1-eKmmvm5L&aJ<_K|esy#tcZUp`7KO+r|oUDZ`~=WqXl zkH#;=*r$3!meC&tVO`Bkqqo82Agle#($Odg@rnHY@c)SXet(eP{;#@3O7`DMXVLqw z$WN`GmwU2oQ{C9;;nUIkxD6ZBOc&WsHB>I{f6gqBYD(WlM5>0+n=09h5~8#rG(Q-i z66~3mzrut{EvSYGhU1Nrd@$4wPL5liOTc_O4NR&pDU$0vbtpg@j!+Wy2|aY;G_Q?%ZFhTE zdKe}kJm8Q45}59~i(p;77}FNWdaw84mu7_w#TPuxKqC5jBcQaY?= z%k8BdGZiHYt!q!>#QMeG&UA=09SC~u`MW~&_@1vo>jq~Lb~6{)&Ae8RkeYEoVqi1N`HN zrpU6*sK?xhog^|*yl(F0tgga*5+7fFdV6Q%VJSD^WzX$_(&1X@MZPdUXg@c3DKNU%<8K&}fD{%S!_UgA!9L!${)sr&w@&DOI&R-Psiy?_PF7JTc zC{zBAnzcms1bi0QvbL}Mat*^%2$n7CTuwyPLN7e0%S2@nVpAc^ca<}^q3iw(@TdR) z)cpjz9y+@{4#rX`O8Lr+9-D`;$iJ99nge_h@6ckETmATqZF_Z|6x=g#(FfR$zOR{H zW6x%Yx@I$}4sAACQrvvSm|kX}V$-8K%*GdlWGF zoqlhWY?+Rh1JW?Q{{CEUs82z%lGzqrX;2or8vQ&p4QI{bD;uZB@x|&}>pRf`?$DaX zbI^-|q$s=42`)`kjK`f9m{9&$AHJvE0if{B<~0+29^<%NFm`Wq=7Oj?FJ^of{+y3B zM1h~AXss1xk>2JTGz&N_HI5QkDmH>PtezpNI0rU~GyUOo%&rymA|azP!;sVrm~W=Q z+iM;^BWN(C@}{L$QqqxcLg|hLK>!={0+HgYI+(NM*G7z^pAHb~#g&U;Mc3+Kx3~dO zm^DGf7|wg^s#u_`8w?_SO&O|vH-pG0n(IBj>x%&)vLFA*#MrDB+%RhHfu@{Qr_NA! zc4?1l5?_#Rm>LOfMid!NWF|>jlipN+lQnjG2tD92U*-Ffd?OS zIL6Cn1So?!oFkf%VDE01BuH%{c5=EW?%x8rMDIDJEPrDRUXhr?rL8HYhxJDeP!a(nK>0543COMWn?>R@<16V z2Kcg~qpMC3R93;vkV#-RI(U<&6dktRDgk>8={E*L8$zEkAxH_A5i*21YmNy_@g4K|5rua0k(ajz9z5S^QVfSn)?qG!Ljm3mn>oYBbWI9 z;S#&Qa*5pYzf}ZS^Iy5-v9>%8clom3SXfL1U}fiyuIte>ewzTPA=&YJ=bL|ITsK(E z9%6$5|1k|T&K*X*9=4BBi4|>>u_27+yY_m$cXr#iE48?@MDSVaAk43pA;U?x83a=; zsNk7RtCQVNlv#uIzx6azh^Q8PQQ0z09_}%*y25BTmFi8)Iokt&lO7-g{jyI~Uq}k1 z?0ZTt-+Z-)1v)&kB{^%~OI!(#nDtD`q!+YQhm41e6LWpcEv_#9CWTYH7G554$&Ov6WlAlKeo9Y z>`gLwh8MPwoC?&PEAbsByqP;w zlP%jMaCqK5T!Q~QL=c`w211PAzKN?>iJ*57AhkTzcNRl?r^OioB1R@S8+KyXod}bOGnq=w-vIXv6L+&1UpcLsxPIf`{#RahW z{iDMee3N-qWLART3W2hH#3|4LLe5Vs@kji&_rQ4(B+<+IY0AuifMPto4Z{rwGcZ{! z0mx!S%iA)s^Vus6!sjj01s*TzppuVFF?jfzQ&?uM5snyi;ESM{Z{lPGc5SExBYf!@ zmNRj=E|dE?&E9HQ>4hQ;t8gOk3f3G+XJE?)4SkE5vHuNhGHfbAU2GcCJyhq;jNFwG%_2uOnDz78 zP~%K1EFy8Wa;XiBA9Xu@K8S8i>nd~i#Ogbq@>W>7;1q8E9DT~PB3RA}iy3d?o69EG z^u-Z&Qs64OZwT^+jus2*@P7M|NbN-7>~SzDQ*$5cNYT{@3jbH^FHGRDFt7LSK;LA{ zees=sO)yvRT2Ys17=v=>iqd<#_gH z6XN+DSrj4ju0-)HjO0e8kV8>NLv<%mBKbUg$uyx&B^!xxSK2Y8)vwct5~t`>(xK~m z2j5o?G)2^Y5~M;#HAbZx7)L|dwZiV_Lk+|VzWTju!S9+;@}Lgx^I90>0*;x%?b$Em z+~0!X_2utjkfg|5v%qch1|~vfM;8cixRRe_U`J{WHUX&I-gliZd`D9fqg(MS?=#KS zO_abQMcs3P;+R~4wob+C@VA~wD5>@1*lJXE!S3@+F6WRvLFTP!lJ+#!DW^2Rz=WHd zQ|e$B+d9GGI0+|}^(ap-H^6>2rb&5+NZGL=Eu%*Ns1M`UC2)U=@?N1L<$h@8zpp!n zF*_nyZ$$BJ2z4=V4W_bJCBmnlUMGSt5-trtpCJI^0JW=VY1cn(dy7^^uqc-n^r}*b z!g7!q5mNx+*K#TrK%UGrUfr)K}+CyS4%_<^c-<<7aOT#G*I8+7WL4h!FR&glS$ zCkYLgf!4YO@r5!0CT!|mmZ)V@-$Ia-HXACTk0!yQw`sy+8>e8YUN}cr#<*4%T)$Rt z+;qXkbt6KW{84yriZyd~hH)C6N$tEG1ix$qBk975Q%5992>sm3629|@#RN#JVU)Nz zwdi8%FbzL@j3(YVFO9J(NC)R6`QDSAyReGoTS(n?w#*yev)5)t2b43+Jglao^^TZV z$)$G#W}q~JwG(o?36Zoz!IQ}{ZgQOs!Lo|}HquB7#W>LmjkWH!F&~RrXe5v*)Cp|l zE24)Vu7#8!zzD>Ssj5nZXDxc9nP~8{?j<%9Xl)pn{&;7Q#5?5mDLkEt{)(p8O;iCa zqfMZKS*Q3(bMehrEPY#VG5~;R*EXUQ0~e@n$U$GV4_3uZZ5)*d^ryb173LXm-J)_M z(2@G%g|8z!iB9#{?YpV+YfD@_KCte%>`$>SOKiV0R|mlE9GEXRkbW@MxZ%YOv?$c_ zx4RcfvbCkytU@AF=5`>$hx{oVtGak;0LvU9zrHGTQZ5_rlJd?F?yH{*pzNa2rn8T> z^?V8Ll>;4hH(%0odCrc@qVG+93_75006A2CweOuWw!_VXJaGszQ^kKwBK)ON%&i{l zip&~QQbUMPQtA|&DGy7(-o*%XIb}~TO`Hharp9c!8j`RsIp$$ZmMJ6AA~9^+JgrOt zZwRwxe#U$@7RE{=pU19BJaMeKTdIiA$_cT5g*PY$Nu2_-n0Ma`CMFGMyL^=GWmlr3 zT*z=cM^!jFz~vTZbO>`Lm7R;a4X3BCTO{ejuz>vz=6P=)AZ(WxjBbUpvuCyr0{;Hw z8gA2B1c8a@BUP)CJpJ6eU_(VCW=3cQy|qpKJy_}BH+KrrTEK=dt|@cM@1JxQ8l%D? zeibdVr;o189A>Ap9$@BRT?2rEi00HUBHCz?)Hl4@l}*5WYu_P%?Bq0hj}6Nx!twG0 zKI&k@-X$fR94t7T0v{0bBv`JfYDBh26Hh*~Ej`fR&1r<=EZBNQJ~mdJKH@u(s14iw z+)l98(*Ua8iwr8i+OUUVIhy7T(k?s=fJNKQ|v-{iCM6D%#>Tmq+tcJ{? zQojfnCPLmJsa3`zD&7$R9pH69zS{!j3WQzi{5tA^=ABs$*%FppF$?BQUk*S|qhT1Z z{5{|qAx48Rdgv}8whxwHM$;Y>>q*ttdfR53gm+@S!|(Q+Q==9+ZQ7XFF+Lm$Zh4=UpFkBX@JZxx{> z_NgKW{Qp};IDP>I`1PSnKF8nBA^=wW0zbKg;cqHJOYGk&g0k(eT(S$AtqMG^A2-x1 zK1iDG{KV1Dr_oo%xh{+ocwZ`w11bT3tcHI=6NW2{eHKkb(ZZ;yrL5}Dy#eG>(DHER zqsS_X`bzD-VzLe7I#5nvkkHy#hy`Ue{~~`X_gjkAY3fNQm4)?OKveNIWOIrfXOA6* zk=>1D8s#$EKoelGGF-*iJKr(^_TF> zXCx1ZKmk-f9{F?pmmU*$y808zr2mgdUjC^EP5f&lQGo#gkodkmPjtL5?fk65639nx zp96RNoQRV6A79z^pNT5|Hc`DMuhykE;`=-P;9n>Dv^YZbAFltsTteJ0=<}5^0{)f$ zwJ!ht%F1B>`pW*e4#8V^#7p=NTThl)_A6Xko}}}0qO*^QSU$q@IsPj~o3o zZJduDc>n-EK5h<7edNZc6$0A-2*BUnW%3LD<1YGN-PH#F<1V5vMn=V7-Tk!4{$cSS z{JQ<)*WbGM{kLBN9H0Q)KmdQn-=7YM>&c3eEq0OaFPU_fZj?w)Gz`=Hp!Nvqt1T zC`t)LYHwl2T|aoL z39QDAraB9M`*i3tEuS~MCfs{*g>Dvm-^ohbefu->7WHPv!6j=}X7`<}4Enwx*4e;; zLK3lcA&Wz5&^GH{!eOWS;bL7PN(Rf42cZHVMqYX!u7@xx49{EOks{V8i;As6^SvtI zYO30EHYU%qFQfBP!V;f?CF>=3EDOnHqcd-_MKoVyQ>OTwY@45xuf{&#dcurbQo>i4R<=U=C_66g_r;H zXVhIl5}UY-BcBY{-4(*(rQ9%NGwcH|X|7!d@Vb+3p43r;3Kn7ZwMzVOUh|dwJYyN% z&%COG-?Q%6y_Ca2*~f$e{-+ZcqQ&H|zi_Cj3LOY4@LIplu%)-fWTdFehC*hRMC)>6 zSOWN%EYg>q69S>(A9`b8GBeO`CRwVVt#|R-~>=7<60P2>?C;5mC z1XU=?8AI_&hjX>7CN=ne@6N%IAa<%)onq#JYpM6dbcd!d)@2L4)$JuM$hKC?xu8R5 z0Sqj)>8>}>gxhL1<4lfxICwN}b7YHh_G{@ya-XlPbiC$1Sk4VdMlRzvl}(tlZaS63 z0w>BtJ`eaV)-}Ql`BI&h!oYdK&!w`$*(-F!hiZ*pOWwdIw`JHe;uw z)XJDd(iaOw<^cTplfjs^deN09x>P zok~dJS2FfWCv3E88~8BW(;m4(#9}PSp@@ry@V6069BzU2qcIvzDq-s`VX*>!U#<03 zrE$k^D^c^#Rajfv1N{ny{aG+QLTY_w83*YUt?Z14N9|v) zKSpIwl=$9AH2;WX$GHZS6+<$G=y8;{mW41PYghqu7=3qJH{|;smJ15JG9SmSz;|2P zZHIlaAWI_%*(o*bGAUwd$)*7_ZbC@{Qcg?!s5^SCT-tGc;j|3io(eS^vE(?%70rEA z9>&SAaSB|)t)qKC-E{BwcssYl=D?%Sn97389*gZji&#~JWrDnC9Ko5)EtZT1s_Cb| zPcO4wcJ}uB(wCp>uIq$vABDPLD3$(LSAzYJv^G}td5nY_I7U#un{)!E-*8~5 zZvLb#Q~Wi<8Q`x4y#cWV8mrA{k%ZuL*HJISkW_`pB*|`^vP*EK!NXE$8bj7Jp=G22 z(+`=jF7s#a12!hNv_-;|gRW#DK`)mb#w@ws1z!&CNRDg^OsQBBkVzq`0uryE0#mFn zP_=ngRo)ayor_0P(XZhzfE9-aAAPGl&;V+#g3Kg+!%CY*z7mn-6^8pg+J+0Ofw=`1xY~i@=MMa+&rH@Sf zIyc#-a0;^*^4qIWcjLrA0z;Cav`tCvx ze&BvqEX!dEJ@z}Z1JfW-s>;>ypoqR?r2#`P$9gQBb@EG6o%HcGkT;r$?5PB8dbm>f zDif$;Y=;&wxTy!i%}?dCwA7a&MfGqM9rSXa)0pMM0rgcvqDXq!JHG`)AA;auu|1uJ z>)Z|@4CScto@NVoRfOIdQAq-fzAc%kn z5)zVF>dMwB&H$N(|j&|J$GjXaXNR(IqUe!h*W~hEyMny)8a|aBV5m^6lCO~ z8EJ$GADBe|*m5wiM+_z$g_!^7(0=B>dI!t=;3lKsvHi@?9C+6=D=hsoUnJ4Dvsz=s zv5xO5?*ZqnN~@BUr22WyG^DKCmpLQrx1K5b$ahjEN51EDi_;S^&(i(S<~n%AO-RIj z=Rt20ziV2JF^?YA?SMN`pJWUKJ~F74n0z}jX>qf|%{;m7N_TQ8{Mfc6H|@3`7jWwf z$&l;OucdDh+GPdk8KO+${AV4SIh!w{!d+Ae?UkRNe?w1ltuG{&PK5k^K-=dVqwVMC z58+aJ`DJB_PZg9pswd3l3lVd?cy00gd5`+W!qE!EVx!yV#w}4D6iR$UXiKXsB`|wv zYs5~L*>Sz=NYL)xuar&ROgh8qRK=^EVbgBJ_e5)!5uSm#habzn=9m+9Q=R3*iSi|C znjeq~HYwpy{!H(%G|q_cpHF)>`LK{hmgcWbR1P zC&y9lMh0tMwyLr<>i9r1)oxq@EsijTVae#JFC6k|v8MMGDjsYtNE-KOR3)gV#c(Rr z35=}1b5VaYw1S$NID7mvsf8PICpqNIuEymT=Oc=$I)lILS}-${+EIT-Unh=Vd9BA6yY<&QK;*k>J^ zCguMX5loY$%l0Ee5#;x%i)fEaxAc>CWL2&O?(o5?0t)DuitZ;HG}#mqWh9o{-06)p zjek<`Em2NPdOV1+DwL2k&r$8ZXs!Abj{HK2yu{sY$qL6=aeDcL6-$(M>xc{Df=nraT(l zZJsOW@I`rDw%RZ=^MjnuoHI%LRO-T!82t{!3*%5GC8p%IMin9VlMJHmN{6!^1h`6` z%~fpOl&TBm%`^JizW8&{ zX7XQpqnTTBTsR$H>e}kV`1aw_$3&)*fk7556L3k-3qwco2VSPp<(RLpUGnCJDRi0e zCb*Q9sjZ(*5i{~4UOQi59Y2t_&Jp#cZI+CEd9sJ(7T2jl`zflBZSMh&6x{v~CCTcK z_-M-UGSw6mS$E)jxg%X!j6J1Lg?_)a~s`3sT0MLwPv-na0U zTMD0-qX*Qs#BViEE8!FqcNE=xTi(}S%`kk4VyicITt&S?EZzOMpLnF@;$sPo&N_14 z=iRtp8LQ&Iv(4C}8?_Ug2JaykbBd+5r2^j7^l?7bwfIz>&n!TpC{-*^os|_R%HG}< z-feW`sC9V$E*<)GDl@(lzBURJjbkySpk00B|Hu z6%2s@U@&|_FfWmXt|3ADgwQi^iT*=Bn2AYmD?#&Kt=gV>Z#8bw6(5wqR7QzYCD;6O z-aDy&8AARc1qp{FLg=#~IwTG&@=yQT!s?!LKzAlk0s-V-G17ay0h9nCPT&y%^&lct z{^*TjpKUB6*IyAq|C$}%k4OtHM0tRZDY=0Ek1bth!$m&gKO^7%u6O2eOJxqst?^u> z&hUjL`|y3RY{$uN5#C0Ct5fx)O!R7xOlRTb$#p(_96?5SC3`! zdMP(<4!*`!_ibI}YYOoNR_V1v4;Q+bCldzs?H4TQGR{YSUy>(#{gqAG!jx7;qA20; ze0!o)bpBMIm0(qw#V~%71G4S%Qx=*U8Ya!R#Y8!tt?vjKzmk*tND4{SH;1|)Q~BbB zU#J^VVYpiQY0M5s+&H0(H&`LMk=GK`jpG-brw;y-_Vnhksip3GKwyTF5N+5|dc(Nu zYH%QFcs?V?Se*}n9uc8>z14NqL`-pMm2x9U<}{Db@tfLLY*a$oI7|q%Cf;v>Jp-Jh zZB+?LMl}sY>Cuwc^F$1m7qF_DzgtP1^fs|^?36DhU#{&fs#q?=DXgFQcx$02yS5rL z9ZF`h{=l>MnP`(tri+R_HLE4zVD3G0|v2M&_Hg31Njdl-@%&Xo!=&j zokVVelgN#SkddEwyT>HK!GsV6x=8**Jm{3d+sas{JhR6%Ag3e%oiZ6(hQQ1GX&NWh zZ$hR4A*zj${9|EbTLnU_DEVKA*&+K8A-7Ql2}BVAQ+U>(wapkug`fSr7)I9V{l4)? zYG8CgbrZ*nN;)S)B#OU~BVL)2MGH^u(9qR8`VZ6jDJWYt4JG19dq3u#epUv$3J8Z! zM+D$g0r=zqG6Wrl3_yn=X0i})7#vQH%nzkqLU2e7b4QpXZ)bL*NpK0cFv^%U5*Q2z z2SA6`3$UP>a1jPbLMqxbR_=Csb~er^eRnSpPn4#Wr;m%fg8&_x2C6_rMf$4(4@$+^ zf=@sQE%4(4*RKoUc~2{MXERSb7iTj^l%AElx0O3eP6ow`l5;fk@IVO(sGya8+$8Pe z#ez@yluJLBKBVu6*WxC|xUSK9stOjI4^fioPLAU04E0MG znwgFSEh-=&AdJTT8G(ml(4nA^h`5Nj5jwO0(+2&42eX*ak9{g&;bil3Vj+aktLob zh7qy#^mIMR&u`)GcwqP;3lZ99K|c(L53Guohj36x5CtucOJs^shGEtfV0d&0G#8o! z7oQs!v}ZgxjP@`D?*Zcft=qwxAj&c15i|=f!4C{sB<$DSi2pvp(ZavZg3n`eppT>3 zejTG>82X=0aIx@k-PZ=R)2~`EVx$?`Gku3J#aH4TTDwE+`<3Z={2BPr$7or9%5ZeCaoHz>-`fLw4no@R%?Qva z_&p|Fnlo9047H<^eO=xo8&mc5Oh4l5_7ZYlOLHoGU2fBC{zwA(T?|2INIq&Ydf&8w9kz=1^jXRe-i+c5E=IeFH?zTz_Z|Z){n!WTbVboi; z@${B&Q_Y8qyew^57vE)3TwZTIN8awou|5qTVnF)Apu^ywe^QX|C*`;F=TUAQ9jy?9zu1QG54QQ~nM724KdA(z?Pcz0XMxgo2fNnY4<%>i?rCRjXMuH2 zl#G|Bt&6*zryoQU;$moF(6xWj1V|ES!T)ID?;Hp*fARzgKngBwK;>YVfdIBuA?AM& zwV(OD%CU0^7-k&7-_QL2f3WJmC}%J%WPX4F9>@|&FMcfBihJU5KThAnSy73?C3VO1 z)pLcXJQNHnzBDeR$S$S{6VmkGyRagCY-|XxS+K&(@yYXsoSif5ZgPbdD`?5<95b6= z2qczkG&IH6E~psQHZ%2A#O%1DlVv-1xOHNUPMzF1s+Cv)&(}-W5}qqUR`|R8pq$WI zbm$b8x?M=ETtoPay6|Cph!Td2rubb8WE_w?!Bc;_H>>fdJT{zd?>_rO z1NDlyh4y5KMC*#Oyq3%k<{SgPQb~pF(Kz-oy%Pit0cza!$*Mc9nv8Y>r`ELa+P=~m zsb?n?6UE?;)b%^GF`XNx1Ai6xOYa+_*E2}g5L3u*liaZyJh{3-F_rj$#ILmfl%xg3f}rF zsWJznEeH{{L;|dX=ur71L0RwxAVj|Re?)@vasUVeLIm?xw)Mz_`83W; z%Xw?#)WZ^#qk#347Q-@}5-xqMbHMvl%Aq_V=ZLZ(h2);v`#^5k5Iu6o?E)1q;|K+x zwJ1|9;n}+~Tk-i33*H~)>z1=N##(O8g6)v#-ffA@PSRnx`X-sDVP`%DlS*Gd#Ui*y za0^d==%rWfPQm4gT54#ngh2|SZaYN2y4H-lsYV;DIw*Cmpn;6#;`49)7L&qE2 zt78$_|B47QnWMvR#1aT`Pjk?Ii8%_ixHp2nCfpt1{nlm3S9|;7tA0TOwhj}5@Jb3u z`00Cln)62{>kGpgO6LAyO;rO8r2sON5cS`~DhC=$34~Zs2-I^)@wA3`Wn?bv84 zE^)lOd5#?CUE#5=H^E6V9-v#^H7wj7&)=Hcdk6*~7o-TH`B=1{DEMeNtj}kR--!6Uf z!AFCQwg*qX;l|}drc^3jr17;m!`_~Gbt?gQp@TV^wpR?U2Tb{%I(r@#L)=P8_cu7H}YnnFXcUz3Vy`%~B5;+KQ zG71UY1E0T!%0a)wxwWkcAy&NqDov|*2M%ZBDWMm`Gm`N##l*1H?54xkC1p^oR*TFD9u`w(&i{JMUW_~<4%Ha^9#K} z6mvg5I_HsY8+HBhUHGZ?Fq|jkUa4h_1SE%K9a*g+m)45|{Pi6unTrJ`gornds|%xp zlWAO0bwr=pr&=?fX6!^WacS4wbgyN)KFZY_AR$XL5q+r>*~A}? z<}$Oj6{&vkegEJ$C^Vx~0{Rd~fXe{<<7<46yJ_2>S-Cz~dXu+ZckO3*mW7}Xpo&i8OT@{Pqrcgeo^%W`usJYYTg`|v8|Dv_)z(_phpljlQ^T~ZBEN6sgl zaZ+zTu?*9=M^}#@{Uij;#=BVNwq>!Xj}f)KS$kXl=uymr$*S6j@@I_>^cCpi+@)Hd zB)^0USEWmuEyL4H$2MfjVP!PBS^>GCwZ3A9btRkLdoK#zikXj{4y08}l+*DL_1Yo4 zSh~<%*L{7ZHM>B0HB!~k=UH6|sm=7cdvA%R4a6T0yz2gdd4&@M7qbi2uO#UHK=@V1 z&h?`28b!H53+2SL+9|!&LDmoo1=pp^>aw^v*R=-*&S<7lkE>^_=ijW^rr==>IaD^F zZkhP~43FfT4iIw5Xcc#iZeSov{z0wm*GsV@W)&S_Uv)RAcpI%tKX6d_t1VBAwN zQXDU`p4db;b+En6*~;Z<)fav+y34%D$tvZN+|3woz!0Qr(zjAq?-+V3Sx+Rk6ntLw zNqeV5J>Qq=9rN%<1@Ux3$|Ka3t+zi}o%EWar3=aSd8cs)82^e?y1wC1^U1h4toHu2 z#4;Hn+b3d^ts9B5FO^dqyVORWb2Udsh}5~{Ap%J3;U-7##CF71e3YFI;ukN969gjF1+Iq+(5txsR?Wp8MX0MjzRCwyN1(9cc#D zZ@v@I;^{2S+~|+i4I*fl2C@lHP4a0Ho!>sW;yf~c-zaYVJv^y^Zgy5`M*lgDkdhQf z`pCA5p7iB`XpG{w$%+wbU8nS7I(#Am9L?O_>!$4|xC0E%7N1&V4Evg#F>0cXnIkRg zIqz#*75$oKgF<3Sy)FKG{K$jAjXT5o-r9}fI0bU^%pXY)jeg6#TzdT7AV+v<6VnQL zw%>Bd)kiqhfs)1C&-8Z{T3}kEuVU}+bg#F{lUj4Tzq)pHZnBPvm~ZJ7&Lr2$kaI|A z$z8H)Q)^wSQ=hh-8AE%#Di`xZ9|;8W#w&i~a!9HPsgNM(!ZV;5?y3?nFuif8F7BIa zUP&ei*IBYj<%_Mh$}L>{V>O3H@*{2hqVRGYDTd;Qc>T@COUjp(m8w=04W&PG zifDG8ZhIu+x;bB-6dka9Y&GECGb2UgmX|m9s$`amW(*zmfiTJk z+zqBaR-dV;W#j$i-r&a04U|UQSwl@nao0e^%@)09D)=*IL11H+^!*V=ns(e`5LpQM zPRAuMVcZj8G@SzxzwQwKV;iV1E*3HDuZUpG!h!o6(GrY;ny`B*SJNpt)zme$`RhaO zW6oB)uUvx!g#iDG%YE^%f(`^nX*O8Z!EKf2od-MGX0^`rcJqP<7+3 zJ&52c?T>As{XF{Plbk07suiCsOr3K7lnx1c4GNM4XG*9XjOzelUjnS48wUi@VV8qJ z)lb~rFUSx?JQMH(4U70kD1Gu6Gy(hXeMJqp92~?BPU$w#l>YhWcOK>^^;E$r-4a3+ z4*n<{9 literal 0 HcmV?d00001 diff --git a/tests/Traces/tls13_psk_succesfull.pcap b/tests/Traces/tls13_psk_succesfull.pcap new file mode 100644 index 0000000000000000000000000000000000000000..cdf7fcf132e77c678a97583223da93134b69cbc2 GIT binary patch literal 4088 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 TVHihbOf5219T-%V1nc`ZNmQ tls-all.log +# @TEST-EXEC: zeek -r $TRACES/ecdhe.pcap $SCRIPTS/tls.zeek %INPUT +# @TEST-EXEC: cat tls.log >> tls-all.log +# @TEST-EXEC: zeek -r $TRACES/ssl.v3.trace $SCRIPTS/tls.zeek %INPUT +# @TEST-EXEC: cat tls.log >> tls-all.log +# @TEST-EXEC: zeek -r $TRACES/tls1_1.pcap $SCRIPTS/tls.zeek %INPUT +# @TEST-EXEC: cat tls.log >> tls-all.log +# @TEST-EXEC: zeek -r $TRACES/dtls1_0.pcap $SCRIPTS/tls.zeek %INPUT +# @TEST-EXEC: cat tls.log >> tls-all.log +# @TEST-EXEC: zeek -r $TRACES/dtls1_2.pcap $SCRIPTS/tls.zeek %INPUT +# @TEST-EXEC: cat tls.log >> tls-all.log +# @TEST-EXEC: btest-diff tls-all.log + diff --git a/tests/scripts/tls13-psk.zeek b/tests/scripts/tls13-psk.zeek new file mode 100644 index 0000000..448529e --- /dev/null +++ b/tests/scripts/tls13-psk.zeek @@ -0,0 +1,6 @@ +# @TEST-EXEC: zeek -C -r $TRACES/tls13_psk_succesfull.pcap $SCRIPTS/tls.zeek %INPUT +# @TEST-EXEC: mv tls.log tls_connections_succesfull.log +# @TEST-EXEC: zeek -C -r $TRACES/tls13_psk_unsuccesful.pcap $SCRIPTS/tls.zeek %INPUT +# @TEST-EXEC: mv tls.log tls_connections_unsuccesful.log +# @TEST-EXEC: btest-diff tls_connections_succesfull.log +# @TEST-EXEC: btest-diff tls_connections_unsuccesful.log diff --git a/tests/scripts/tls13.zeek b/tests/scripts/tls13.zeek new file mode 100644 index 0000000..c3a80b9 --- /dev/null +++ b/tests/scripts/tls13.zeek @@ -0,0 +1,2 @@ +# @TEST-EXEC: zeek -C -r $TRACES/nghttp2.pcap $SCRIPTS/tls.zeek %INPUT +# @TEST-EXEC: btest-diff tls.log diff --git a/zkg.meta b/zkg.meta new file mode 100644 index 0000000..d689439 --- /dev/null +++ b/zkg.meta @@ -0,0 +1,6 @@ +[package] +description = "This package generates a file called tls.log. The difference from ssl.log is that it is much more focused on logging all kinds of protocol features. This can be interesting for academic purposes - or if one is just interested in more information about specific features used in local TLS traffic." +tags = TLS, SSL, X509, Certificates, PKI +script_dir = scripts +test_command = cd tests && make +version = master