From 0547e40334b6fdf4f1ab37b256c8d6f13dc72024 Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sun, 13 Dec 2020 12:41:28 +0200 Subject: [PATCH] remove openssl --- deps/openssl/include/openssl/aes.h | 92 - deps/openssl/include/openssl/asn1.h | 886 ---- deps/openssl/include/openssl/asn1_mac.h | 10 - deps/openssl/include/openssl/asn1err.h | 256 - deps/openssl/include/openssl/asn1t.h | 945 ---- deps/openssl/include/openssl/async.h | 76 - deps/openssl/include/openssl/asyncerr.h | 42 - deps/openssl/include/openssl/bio.h | 801 --- deps/openssl/include/openssl/bioerr.h | 124 - deps/openssl/include/openssl/blowfish.h | 61 - deps/openssl/include/openssl/bn.h | 539 -- deps/openssl/include/openssl/bnerr.h | 100 - deps/openssl/include/openssl/buffer.h | 58 - deps/openssl/include/openssl/buffererr.h | 34 - deps/openssl/include/openssl/camellia.h | 83 - deps/openssl/include/openssl/cast.h | 53 - deps/openssl/include/openssl/cmac.h | 41 - deps/openssl/include/openssl/cms.h | 339 -- deps/openssl/include/openssl/cmserr.h | 202 - deps/openssl/include/openssl/comp.h | 53 - deps/openssl/include/openssl/comperr.h | 44 - deps/openssl/include/openssl/conf.h | 168 - deps/openssl/include/openssl/conf_api.h | 40 - deps/openssl/include/openssl/conferr.h | 76 - deps/openssl/include/openssl/crypto.h | 445 -- deps/openssl/include/openssl/cryptoerr.h | 57 - deps/openssl/include/openssl/ct.h | 474 -- deps/openssl/include/openssl/cterr.h | 80 - deps/openssl/include/openssl/des.h | 174 - deps/openssl/include/openssl/dh.h | 340 -- deps/openssl/include/openssl/dherr.h | 88 - deps/openssl/include/openssl/dsa.h | 244 - deps/openssl/include/openssl/dsaerr.h | 72 - deps/openssl/include/openssl/dtls1.h | 55 - deps/openssl/include/openssl/e_os2.h | 300 -- deps/openssl/include/openssl/ebcdic.h | 33 - deps/openssl/include/openssl/ec.h | 1479 ------ deps/openssl/include/openssl/ecdh.h | 10 - deps/openssl/include/openssl/ecdsa.h | 10 - deps/openssl/include/openssl/ecerr.h | 275 -- deps/openssl/include/openssl/engine.h | 751 --- deps/openssl/include/openssl/engineerr.h | 111 - deps/openssl/include/openssl/err.h | 274 -- deps/openssl/include/openssl/evp.h | 1666 ------- deps/openssl/include/openssl/evperr.h | 205 - deps/openssl/include/openssl/hmac.h | 51 - deps/openssl/include/openssl/idea.h | 64 - deps/openssl/include/openssl/kdf.h | 97 - deps/openssl/include/openssl/kdferr.h | 55 - deps/openssl/include/openssl/lhash.h | 241 - deps/openssl/include/openssl/md2.h | 44 - deps/openssl/include/openssl/md4.h | 51 - deps/openssl/include/openssl/md5.h | 50 - deps/openssl/include/openssl/mdc2.h | 42 - deps/openssl/include/openssl/modes.h | 208 - deps/openssl/include/openssl/obj_mac.h | 5198 -------------------- deps/openssl/include/openssl/objects.h | 175 - deps/openssl/include/openssl/objectserr.h | 42 - deps/openssl/include/openssl/ocsp.h | 352 -- deps/openssl/include/openssl/ocsperr.h | 78 - deps/openssl/include/openssl/opensslconf.h | 198 - deps/openssl/include/openssl/opensslv.h | 101 - deps/openssl/include/openssl/ossl_typ.h | 197 - deps/openssl/include/openssl/pem.h | 378 -- deps/openssl/include/openssl/pem2.h | 13 - deps/openssl/include/openssl/pemerr.h | 103 - deps/openssl/include/openssl/pkcs12.h | 223 - deps/openssl/include/openssl/pkcs12err.h | 81 - deps/openssl/include/openssl/pkcs7.h | 319 -- deps/openssl/include/openssl/pkcs7err.h | 103 - deps/openssl/include/openssl/rand.h | 77 - deps/openssl/include/openssl/rand_drbg.h | 130 - deps/openssl/include/openssl/randerr.h | 94 - deps/openssl/include/openssl/rc2.h | 51 - deps/openssl/include/openssl/rc4.h | 36 - deps/openssl/include/openssl/rc5.h | 63 - deps/openssl/include/openssl/ripemd.h | 47 - deps/openssl/include/openssl/rsa.h | 513 -- deps/openssl/include/openssl/rsaerr.h | 167 - deps/openssl/include/openssl/safestack.h | 207 - deps/openssl/include/openssl/seed.h | 96 - deps/openssl/include/openssl/sha.h | 119 - deps/openssl/include/openssl/srp.h | 135 - deps/openssl/include/openssl/srtp.h | 50 - deps/openssl/include/openssl/ssl.h | 2438 --------- deps/openssl/include/openssl/ssl2.h | 24 - deps/openssl/include/openssl/ssl3.h | 339 -- deps/openssl/include/openssl/sslerr.h | 773 --- deps/openssl/include/openssl/stack.h | 83 - deps/openssl/include/openssl/store.h | 266 - deps/openssl/include/openssl/storeerr.h | 91 - deps/openssl/include/openssl/symhacks.h | 37 - deps/openssl/include/openssl/tls1.h | 1237 ----- deps/openssl/include/openssl/ts.h | 559 --- deps/openssl/include/openssl/tserr.h | 132 - deps/openssl/include/openssl/txt_db.h | 57 - deps/openssl/include/openssl/ui.h | 368 -- deps/openssl/include/openssl/uierr.h | 65 - deps/openssl/include/openssl/whrlpool.h | 48 - deps/openssl/include/openssl/x509.h | 1047 ---- deps/openssl/include/openssl/x509_vfy.h | 628 --- deps/openssl/include/openssl/x509err.h | 130 - deps/openssl/include/openssl/x509v3.h | 937 ---- deps/openssl/include/openssl/x509v3err.h | 162 - deps/openssl/lib/libcrypto.a | Bin 4904256 -> 0 bytes deps/openssl/lib/libssl.a | Bin 1014832 -> 0 bytes 106 files changed, 31936 deletions(-) delete mode 100644 deps/openssl/include/openssl/aes.h delete mode 100644 deps/openssl/include/openssl/asn1.h delete mode 100644 deps/openssl/include/openssl/asn1_mac.h delete mode 100644 deps/openssl/include/openssl/asn1err.h delete mode 100644 deps/openssl/include/openssl/asn1t.h delete mode 100644 deps/openssl/include/openssl/async.h delete mode 100644 deps/openssl/include/openssl/asyncerr.h delete mode 100644 deps/openssl/include/openssl/bio.h delete mode 100644 deps/openssl/include/openssl/bioerr.h delete mode 100644 deps/openssl/include/openssl/blowfish.h delete mode 100644 deps/openssl/include/openssl/bn.h delete mode 100644 deps/openssl/include/openssl/bnerr.h delete mode 100644 deps/openssl/include/openssl/buffer.h delete mode 100644 deps/openssl/include/openssl/buffererr.h delete mode 100644 deps/openssl/include/openssl/camellia.h delete mode 100644 deps/openssl/include/openssl/cast.h delete mode 100644 deps/openssl/include/openssl/cmac.h delete mode 100644 deps/openssl/include/openssl/cms.h delete mode 100644 deps/openssl/include/openssl/cmserr.h delete mode 100644 deps/openssl/include/openssl/comp.h delete mode 100644 deps/openssl/include/openssl/comperr.h delete mode 100644 deps/openssl/include/openssl/conf.h delete mode 100644 deps/openssl/include/openssl/conf_api.h delete mode 100644 deps/openssl/include/openssl/conferr.h delete mode 100644 deps/openssl/include/openssl/crypto.h delete mode 100644 deps/openssl/include/openssl/cryptoerr.h delete mode 100644 deps/openssl/include/openssl/ct.h delete mode 100644 deps/openssl/include/openssl/cterr.h delete mode 100644 deps/openssl/include/openssl/des.h delete mode 100644 deps/openssl/include/openssl/dh.h delete mode 100644 deps/openssl/include/openssl/dherr.h delete mode 100644 deps/openssl/include/openssl/dsa.h delete mode 100644 deps/openssl/include/openssl/dsaerr.h delete mode 100644 deps/openssl/include/openssl/dtls1.h delete mode 100644 deps/openssl/include/openssl/e_os2.h delete mode 100644 deps/openssl/include/openssl/ebcdic.h delete mode 100644 deps/openssl/include/openssl/ec.h delete mode 100644 deps/openssl/include/openssl/ecdh.h delete mode 100644 deps/openssl/include/openssl/ecdsa.h delete mode 100644 deps/openssl/include/openssl/ecerr.h delete mode 100644 deps/openssl/include/openssl/engine.h delete mode 100644 deps/openssl/include/openssl/engineerr.h delete mode 100644 deps/openssl/include/openssl/err.h delete mode 100644 deps/openssl/include/openssl/evp.h delete mode 100644 deps/openssl/include/openssl/evperr.h delete mode 100644 deps/openssl/include/openssl/hmac.h delete mode 100644 deps/openssl/include/openssl/idea.h delete mode 100644 deps/openssl/include/openssl/kdf.h delete mode 100644 deps/openssl/include/openssl/kdferr.h delete mode 100644 deps/openssl/include/openssl/lhash.h delete mode 100644 deps/openssl/include/openssl/md2.h delete mode 100644 deps/openssl/include/openssl/md4.h delete mode 100644 deps/openssl/include/openssl/md5.h delete mode 100644 deps/openssl/include/openssl/mdc2.h delete mode 100644 deps/openssl/include/openssl/modes.h delete mode 100644 deps/openssl/include/openssl/obj_mac.h delete mode 100644 deps/openssl/include/openssl/objects.h delete mode 100644 deps/openssl/include/openssl/objectserr.h delete mode 100644 deps/openssl/include/openssl/ocsp.h delete mode 100644 deps/openssl/include/openssl/ocsperr.h delete mode 100644 deps/openssl/include/openssl/opensslconf.h delete mode 100644 deps/openssl/include/openssl/opensslv.h delete mode 100644 deps/openssl/include/openssl/ossl_typ.h delete mode 100644 deps/openssl/include/openssl/pem.h delete mode 100644 deps/openssl/include/openssl/pem2.h delete mode 100644 deps/openssl/include/openssl/pemerr.h delete mode 100644 deps/openssl/include/openssl/pkcs12.h delete mode 100644 deps/openssl/include/openssl/pkcs12err.h delete mode 100644 deps/openssl/include/openssl/pkcs7.h delete mode 100644 deps/openssl/include/openssl/pkcs7err.h delete mode 100644 deps/openssl/include/openssl/rand.h delete mode 100644 deps/openssl/include/openssl/rand_drbg.h delete mode 100644 deps/openssl/include/openssl/randerr.h delete mode 100644 deps/openssl/include/openssl/rc2.h delete mode 100644 deps/openssl/include/openssl/rc4.h delete mode 100644 deps/openssl/include/openssl/rc5.h delete mode 100644 deps/openssl/include/openssl/ripemd.h delete mode 100644 deps/openssl/include/openssl/rsa.h delete mode 100644 deps/openssl/include/openssl/rsaerr.h delete mode 100644 deps/openssl/include/openssl/safestack.h delete mode 100644 deps/openssl/include/openssl/seed.h delete mode 100644 deps/openssl/include/openssl/sha.h delete mode 100644 deps/openssl/include/openssl/srp.h delete mode 100644 deps/openssl/include/openssl/srtp.h delete mode 100644 deps/openssl/include/openssl/ssl.h delete mode 100644 deps/openssl/include/openssl/ssl2.h delete mode 100644 deps/openssl/include/openssl/ssl3.h delete mode 100644 deps/openssl/include/openssl/sslerr.h delete mode 100644 deps/openssl/include/openssl/stack.h delete mode 100644 deps/openssl/include/openssl/store.h delete mode 100644 deps/openssl/include/openssl/storeerr.h delete mode 100644 deps/openssl/include/openssl/symhacks.h delete mode 100644 deps/openssl/include/openssl/tls1.h delete mode 100644 deps/openssl/include/openssl/ts.h delete mode 100644 deps/openssl/include/openssl/tserr.h delete mode 100644 deps/openssl/include/openssl/txt_db.h delete mode 100644 deps/openssl/include/openssl/ui.h delete mode 100644 deps/openssl/include/openssl/uierr.h delete mode 100644 deps/openssl/include/openssl/whrlpool.h delete mode 100644 deps/openssl/include/openssl/x509.h delete mode 100644 deps/openssl/include/openssl/x509_vfy.h delete mode 100644 deps/openssl/include/openssl/x509err.h delete mode 100644 deps/openssl/include/openssl/x509v3.h delete mode 100644 deps/openssl/include/openssl/x509v3err.h delete mode 100644 deps/openssl/lib/libcrypto.a delete mode 100644 deps/openssl/lib/libssl.a diff --git a/deps/openssl/include/openssl/aes.h b/deps/openssl/include/openssl/aes.h deleted file mode 100644 index 245c552a..00000000 --- a/deps/openssl/include/openssl/aes.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_AES_H -# define HEADER_AES_H - -# include - -# include -# ifdef __cplusplus -extern "C" { -# endif - -# define AES_ENCRYPT 1 -# define AES_DECRYPT 0 - -/* - * Because array size can't be a const in C, the following two are macros. - * Both sizes are in bytes. - */ -# define AES_MAXNR 14 -# define AES_BLOCK_SIZE 16 - -/* This should be a hidden type, but EVP requires that the size be known */ -struct aes_key_st { -# ifdef AES_LONG - unsigned long rd_key[4 * (AES_MAXNR + 1)]; -# else - unsigned int rd_key[4 * (AES_MAXNR + 1)]; -# endif - int rounds; -}; -typedef struct aes_key_st AES_KEY; - -const char *AES_options(void); - -int AES_set_encrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key); -int AES_set_decrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key); - -void AES_encrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key); -void AES_decrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key); - -void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key, const int enc); -void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, const int enc); -void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, const int enc); -void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, const int enc); -void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, const int enc); -void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num); -/* NB: the IV is _two_ blocks long */ -void AES_ige_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, const int enc); -/* NB: the IV is _four_ blocks long */ -void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - const AES_KEY *key2, const unsigned char *ivec, - const int enc); - -int AES_wrap_key(AES_KEY *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, unsigned int inlen); -int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, unsigned int inlen); - - -# ifdef __cplusplus -} -# endif - -#endif diff --git a/deps/openssl/include/openssl/asn1.h b/deps/openssl/include/openssl/asn1.h deleted file mode 100644 index 9522eec1..00000000 --- a/deps/openssl/include/openssl/asn1.h +++ /dev/null @@ -1,886 +0,0 @@ -/* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ASN1_H -# define HEADER_ASN1_H - -# include -# include -# include -# include -# include -# include -# include - -# include -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# endif - -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# define V_ASN1_UNIVERSAL 0x00 -# define V_ASN1_APPLICATION 0x40 -# define V_ASN1_CONTEXT_SPECIFIC 0x80 -# define V_ASN1_PRIVATE 0xc0 - -# define V_ASN1_CONSTRUCTED 0x20 -# define V_ASN1_PRIMITIVE_TAG 0x1f -# define V_ASN1_PRIMATIVE_TAG /*compat*/ V_ASN1_PRIMITIVE_TAG - -# define V_ASN1_APP_CHOOSE -2/* let the recipient choose */ -# define V_ASN1_OTHER -3/* used in ASN1_TYPE */ -# define V_ASN1_ANY -4/* used in ASN1 template code */ - -# define V_ASN1_UNDEF -1 -/* ASN.1 tag values */ -# define V_ASN1_EOC 0 -# define V_ASN1_BOOLEAN 1 /**/ -# define V_ASN1_INTEGER 2 -# define V_ASN1_BIT_STRING 3 -# define V_ASN1_OCTET_STRING 4 -# define V_ASN1_NULL 5 -# define V_ASN1_OBJECT 6 -# define V_ASN1_OBJECT_DESCRIPTOR 7 -# define V_ASN1_EXTERNAL 8 -# define V_ASN1_REAL 9 -# define V_ASN1_ENUMERATED 10 -# define V_ASN1_UTF8STRING 12 -# define V_ASN1_SEQUENCE 16 -# define V_ASN1_SET 17 -# define V_ASN1_NUMERICSTRING 18 /**/ -# define V_ASN1_PRINTABLESTRING 19 -# define V_ASN1_T61STRING 20 -# define V_ASN1_TELETEXSTRING 20/* alias */ -# define V_ASN1_VIDEOTEXSTRING 21 /**/ -# define V_ASN1_IA5STRING 22 -# define V_ASN1_UTCTIME 23 -# define V_ASN1_GENERALIZEDTIME 24 /**/ -# define V_ASN1_GRAPHICSTRING 25 /**/ -# define V_ASN1_ISO64STRING 26 /**/ -# define V_ASN1_VISIBLESTRING 26/* alias */ -# define V_ASN1_GENERALSTRING 27 /**/ -# define V_ASN1_UNIVERSALSTRING 28 /**/ -# define V_ASN1_BMPSTRING 30 - -/* - * NB the constants below are used internally by ASN1_INTEGER - * and ASN1_ENUMERATED to indicate the sign. They are *not* on - * the wire tag values. - */ - -# define V_ASN1_NEG 0x100 -# define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) -# define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) - -/* For use with d2i_ASN1_type_bytes() */ -# define B_ASN1_NUMERICSTRING 0x0001 -# define B_ASN1_PRINTABLESTRING 0x0002 -# define B_ASN1_T61STRING 0x0004 -# define B_ASN1_TELETEXSTRING 0x0004 -# define B_ASN1_VIDEOTEXSTRING 0x0008 -# define B_ASN1_IA5STRING 0x0010 -# define B_ASN1_GRAPHICSTRING 0x0020 -# define B_ASN1_ISO64STRING 0x0040 -# define B_ASN1_VISIBLESTRING 0x0040 -# define B_ASN1_GENERALSTRING 0x0080 -# define B_ASN1_UNIVERSALSTRING 0x0100 -# define B_ASN1_OCTET_STRING 0x0200 -# define B_ASN1_BIT_STRING 0x0400 -# define B_ASN1_BMPSTRING 0x0800 -# define B_ASN1_UNKNOWN 0x1000 -# define B_ASN1_UTF8STRING 0x2000 -# define B_ASN1_UTCTIME 0x4000 -# define B_ASN1_GENERALIZEDTIME 0x8000 -# define B_ASN1_SEQUENCE 0x10000 -/* For use with ASN1_mbstring_copy() */ -# define MBSTRING_FLAG 0x1000 -# define MBSTRING_UTF8 (MBSTRING_FLAG) -# define MBSTRING_ASC (MBSTRING_FLAG|1) -# define MBSTRING_BMP (MBSTRING_FLAG|2) -# define MBSTRING_UNIV (MBSTRING_FLAG|4) -# define SMIME_OLDMIME 0x400 -# define SMIME_CRLFEOL 0x800 -# define SMIME_STREAM 0x1000 - struct X509_algor_st; -DEFINE_STACK_OF(X509_ALGOR) - -# define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ -/* - * This indicates that the ASN1_STRING is not a real value but just a place - * holder for the location where indefinite length constructed data should be - * inserted in the memory buffer - */ -# define ASN1_STRING_FLAG_NDEF 0x010 - -/* - * This flag is used by the CMS code to indicate that a string is not - * complete and is a place holder for content when it had all been accessed. - * The flag will be reset when content has been written to it. - */ - -# define ASN1_STRING_FLAG_CONT 0x020 -/* - * This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING - * type. - */ -# define ASN1_STRING_FLAG_MSTRING 0x040 -/* String is embedded and only content should be freed */ -# define ASN1_STRING_FLAG_EMBED 0x080 -/* String should be parsed in RFC 5280's time format */ -# define ASN1_STRING_FLAG_X509_TIME 0x100 -/* This is the base type that holds just about everything :-) */ -struct asn1_string_st { - int length; - int type; - unsigned char *data; - /* - * The value of the following field depends on the type being held. It - * is mostly being used for BIT_STRING so if the input data has a - * non-zero 'unused bits' value, it will be handled correctly - */ - long flags; -}; - -/* - * ASN1_ENCODING structure: this is used to save the received encoding of an - * ASN1 type. This is useful to get round problems with invalid encodings - * which can break signatures. - */ - -typedef struct ASN1_ENCODING_st { - unsigned char *enc; /* DER encoding */ - long len; /* Length of encoding */ - int modified; /* set to 1 if 'enc' is invalid */ -} ASN1_ENCODING; - -/* Used with ASN1 LONG type: if a long is set to this it is omitted */ -# define ASN1_LONG_UNDEF 0x7fffffffL - -# define STABLE_FLAGS_MALLOC 0x01 -/* - * A zero passed to ASN1_STRING_TABLE_new_add for the flags is interpreted - * as "don't change" and STABLE_FLAGS_MALLOC is always set. By setting - * STABLE_FLAGS_MALLOC only we can clear the existing value. Use the alias - * STABLE_FLAGS_CLEAR to reflect this. - */ -# define STABLE_FLAGS_CLEAR STABLE_FLAGS_MALLOC -# define STABLE_NO_MASK 0x02 -# define DIRSTRING_TYPE \ - (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) -# define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) - -typedef struct asn1_string_table_st { - int nid; - long minsize; - long maxsize; - unsigned long mask; - unsigned long flags; -} ASN1_STRING_TABLE; - -DEFINE_STACK_OF(ASN1_STRING_TABLE) - -/* size limits: this stuff is taken straight from RFC2459 */ - -# define ub_name 32768 -# define ub_common_name 64 -# define ub_locality_name 128 -# define ub_state_name 128 -# define ub_organization_name 64 -# define ub_organization_unit_name 64 -# define ub_title 64 -# define ub_email_address 128 - -/* - * Declarations for template structures: for full definitions see asn1t.h - */ -typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; -typedef struct ASN1_TLC_st ASN1_TLC; -/* This is just an opaque pointer */ -typedef struct ASN1_VALUE_st ASN1_VALUE; - -/* Declare ASN1 functions: the implement macro in in asn1t.h */ - -# define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type) - -# define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ - DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type) - -# define DECLARE_ASN1_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) - -# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) - -# define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ - type *d2i_##name(type **a, const unsigned char **in, long len); \ - int i2d_##name(type *a, unsigned char **out); \ - DECLARE_ASN1_ITEM(itname) - -# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ - type *d2i_##name(type **a, const unsigned char **in, long len); \ - int i2d_##name(const type *a, unsigned char **out); \ - DECLARE_ASN1_ITEM(name) - -# define DECLARE_ASN1_NDEF_FUNCTION(name) \ - int i2d_##name##_NDEF(name *a, unsigned char **out); - -# define DECLARE_ASN1_FUNCTIONS_const(name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) - -# define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - type *name##_new(void); \ - void name##_free(type *a); - -# define DECLARE_ASN1_PRINT_FUNCTION(stname) \ - DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) - -# define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ - int fname##_print_ctx(BIO *out, stname *x, int indent, \ - const ASN1_PCTX *pctx); - -# define D2I_OF(type) type *(*)(type **,const unsigned char **,long) -# define I2D_OF(type) int (*)(type *,unsigned char **) -# define I2D_OF_const(type) int (*)(const type *,unsigned char **) - -# define CHECKED_D2I_OF(type, d2i) \ - ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) -# define CHECKED_I2D_OF(type, i2d) \ - ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) -# define CHECKED_NEW_OF(type, xnew) \ - ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) -# define CHECKED_PTR_OF(type, p) \ - ((void*) (1 ? p : (type*)0)) -# define CHECKED_PPTR_OF(type, p) \ - ((void**) (1 ? p : (type**)0)) - -# define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) -# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) -# define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) - -TYPEDEF_D2I2D_OF(void); - -/*- - * The following macros and typedefs allow an ASN1_ITEM - * to be embedded in a structure and referenced. Since - * the ASN1_ITEM pointers need to be globally accessible - * (possibly from shared libraries) they may exist in - * different forms. On platforms that support it the - * ASN1_ITEM structure itself will be globally exported. - * Other platforms will export a function that returns - * an ASN1_ITEM pointer. - * - * To handle both cases transparently the macros below - * should be used instead of hard coding an ASN1_ITEM - * pointer in a structure. - * - * The structure will look like this: - * - * typedef struct SOMETHING_st { - * ... - * ASN1_ITEM_EXP *iptr; - * ... - * } SOMETHING; - * - * It would be initialised as e.g.: - * - * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; - * - * and the actual pointer extracted with: - * - * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); - * - * Finally an ASN1_ITEM pointer can be extracted from an - * appropriate reference with: ASN1_ITEM_rptr(X509). This - * would be used when a function takes an ASN1_ITEM * argument. - * - */ - -# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -/* ASN1_ITEM pointer exported type */ -typedef const ASN1_ITEM ASN1_ITEM_EXP; - -/* Macro to obtain ASN1_ITEM pointer from exported type */ -# define ASN1_ITEM_ptr(iptr) (iptr) - -/* Macro to include ASN1_ITEM pointer from base type */ -# define ASN1_ITEM_ref(iptr) (&(iptr##_it)) - -# define ASN1_ITEM_rptr(ref) (&(ref##_it)) - -# define DECLARE_ASN1_ITEM(name) \ - OPENSSL_EXTERN const ASN1_ITEM name##_it; - -# else - -/* - * Platforms that can't easily handle shared global variables are declared as - * functions returning ASN1_ITEM pointers. - */ - -/* ASN1_ITEM pointer exported type */ -typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); - -/* Macro to obtain ASN1_ITEM pointer from exported type */ -# define ASN1_ITEM_ptr(iptr) (iptr()) - -/* Macro to include ASN1_ITEM pointer from base type */ -# define ASN1_ITEM_ref(iptr) (iptr##_it) - -# define ASN1_ITEM_rptr(ref) (ref##_it()) - -# define DECLARE_ASN1_ITEM(name) \ - const ASN1_ITEM * name##_it(void); - -# endif - -/* Parameters used by ASN1_STRING_print_ex() */ - -/* - * These determine which characters to escape: RFC2253 special characters, - * control characters and MSB set characters - */ - -# define ASN1_STRFLGS_ESC_2253 1 -# define ASN1_STRFLGS_ESC_CTRL 2 -# define ASN1_STRFLGS_ESC_MSB 4 - -/* - * This flag determines how we do escaping: normally RC2253 backslash only, - * set this to use backslash and quote. - */ - -# define ASN1_STRFLGS_ESC_QUOTE 8 - -/* These three flags are internal use only. */ - -/* Character is a valid PrintableString character */ -# define CHARTYPE_PRINTABLESTRING 0x10 -/* Character needs escaping if it is the first character */ -# define CHARTYPE_FIRST_ESC_2253 0x20 -/* Character needs escaping if it is the last character */ -# define CHARTYPE_LAST_ESC_2253 0x40 - -/* - * NB the internal flags are safely reused below by flags handled at the top - * level. - */ - -/* - * If this is set we convert all character strings to UTF8 first - */ - -# define ASN1_STRFLGS_UTF8_CONVERT 0x10 - -/* - * If this is set we don't attempt to interpret content: just assume all - * strings are 1 byte per character. This will produce some pretty odd - * looking output! - */ - -# define ASN1_STRFLGS_IGNORE_TYPE 0x20 - -/* If this is set we include the string type in the output */ -# define ASN1_STRFLGS_SHOW_TYPE 0x40 - -/* - * This determines which strings to display and which to 'dump' (hex dump of - * content octets or DER encoding). We can only dump non character strings or - * everything. If we don't dump 'unknown' they are interpreted as character - * strings with 1 octet per character and are subject to the usual escaping - * options. - */ - -# define ASN1_STRFLGS_DUMP_ALL 0x80 -# define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 - -/* - * These determine what 'dumping' does, we can dump the content octets or the - * DER encoding: both use the RFC2253 #XXXXX notation. - */ - -# define ASN1_STRFLGS_DUMP_DER 0x200 - -/* - * This flag specifies that RC2254 escaping shall be performed. - */ -#define ASN1_STRFLGS_ESC_2254 0x400 - -/* - * All the string flags consistent with RFC2253, escaping control characters - * isn't essential in RFC2253 but it is advisable anyway. - */ - -# define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ - ASN1_STRFLGS_ESC_CTRL | \ - ASN1_STRFLGS_ESC_MSB | \ - ASN1_STRFLGS_UTF8_CONVERT | \ - ASN1_STRFLGS_DUMP_UNKNOWN | \ - ASN1_STRFLGS_DUMP_DER) - -DEFINE_STACK_OF(ASN1_INTEGER) - -DEFINE_STACK_OF(ASN1_GENERALSTRING) - -DEFINE_STACK_OF(ASN1_UTF8STRING) - -typedef struct asn1_type_st { - int type; - union { - char *ptr; - ASN1_BOOLEAN boolean; - ASN1_STRING *asn1_string; - ASN1_OBJECT *object; - ASN1_INTEGER *integer; - ASN1_ENUMERATED *enumerated; - ASN1_BIT_STRING *bit_string; - ASN1_OCTET_STRING *octet_string; - ASN1_PRINTABLESTRING *printablestring; - ASN1_T61STRING *t61string; - ASN1_IA5STRING *ia5string; - ASN1_GENERALSTRING *generalstring; - ASN1_BMPSTRING *bmpstring; - ASN1_UNIVERSALSTRING *universalstring; - ASN1_UTCTIME *utctime; - ASN1_GENERALIZEDTIME *generalizedtime; - ASN1_VISIBLESTRING *visiblestring; - ASN1_UTF8STRING *utf8string; - /* - * set and sequence are left complete and still contain the set or - * sequence bytes - */ - ASN1_STRING *set; - ASN1_STRING *sequence; - ASN1_VALUE *asn1_value; - } value; -} ASN1_TYPE; - -DEFINE_STACK_OF(ASN1_TYPE) - -typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; - -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) - -/* This is used to contain a list of bit names */ -typedef struct BIT_STRING_BITNAME_st { - int bitnum; - const char *lname; - const char *sname; -} BIT_STRING_BITNAME; - -# define B_ASN1_TIME \ - B_ASN1_UTCTIME | \ - B_ASN1_GENERALIZEDTIME - -# define B_ASN1_PRINTABLE \ - B_ASN1_NUMERICSTRING| \ - B_ASN1_PRINTABLESTRING| \ - B_ASN1_T61STRING| \ - B_ASN1_IA5STRING| \ - B_ASN1_BIT_STRING| \ - B_ASN1_UNIVERSALSTRING|\ - B_ASN1_BMPSTRING|\ - B_ASN1_UTF8STRING|\ - B_ASN1_SEQUENCE|\ - B_ASN1_UNKNOWN - -# define B_ASN1_DIRECTORYSTRING \ - B_ASN1_PRINTABLESTRING| \ - B_ASN1_TELETEXSTRING|\ - B_ASN1_BMPSTRING|\ - B_ASN1_UNIVERSALSTRING|\ - B_ASN1_UTF8STRING - -# define B_ASN1_DISPLAYTEXT \ - B_ASN1_IA5STRING| \ - B_ASN1_VISIBLESTRING| \ - B_ASN1_BMPSTRING|\ - B_ASN1_UTF8STRING - -DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) - -int ASN1_TYPE_get(const ASN1_TYPE *a); -void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); -int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); -int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); - -ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t); -void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t); - -ASN1_OBJECT *ASN1_OBJECT_new(void); -void ASN1_OBJECT_free(ASN1_OBJECT *a); -int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp); -ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, - long length); - -DECLARE_ASN1_ITEM(ASN1_OBJECT) - -DEFINE_STACK_OF(ASN1_OBJECT) - -ASN1_STRING *ASN1_STRING_new(void); -void ASN1_STRING_free(ASN1_STRING *a); -void ASN1_STRING_clear_free(ASN1_STRING *a); -int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); -ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); -ASN1_STRING *ASN1_STRING_type_new(int type); -int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); - /* - * Since this is used to store all sorts of things, via macros, for now, - * make its data void * - */ -int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); -void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); -int ASN1_STRING_length(const ASN1_STRING *x); -void ASN1_STRING_length_set(ASN1_STRING *x, int n); -int ASN1_STRING_type(const ASN1_STRING *x); -DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x)) -const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x); - -DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING) -int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); -int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); -int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n); -int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a, - const unsigned char *flags, int flags_len); - -int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, - BIT_STRING_BITNAME *tbl, int indent); -int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl); -int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, - BIT_STRING_BITNAME *tbl); - -DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) -ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, - long length); -ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); -int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); - -DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) - -int ASN1_UTCTIME_check(const ASN1_UTCTIME *a); -ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t); -ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, - int offset_day, long offset_sec); -int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); -int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); - -int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); -ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, - time_t t); -ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, - time_t t, int offset_day, - long offset_sec); -int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); - -int ASN1_TIME_diff(int *pday, int *psec, - const ASN1_TIME *from, const ASN1_TIME *to); - -DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) -ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); -int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, - const ASN1_OCTET_STRING *b); -int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, - int len); - -DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_NULL) -DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) - -int UTF8_getc(const unsigned char *str, int len, unsigned long *val); -int UTF8_putc(unsigned char *str, int len, unsigned long value); - -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) - -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) -DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) -DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) -DECLARE_ASN1_FUNCTIONS(ASN1_TIME) - -DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) - -ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); -ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, - int offset_day, long offset_sec); -int ASN1_TIME_check(const ASN1_TIME *t); -ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, - ASN1_GENERALIZEDTIME **out); -int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); -int ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str); -int ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm); -int ASN1_TIME_normalize(ASN1_TIME *s); -int ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t); -int ASN1_TIME_compare(const ASN1_TIME *a, const ASN1_TIME *b); - -int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a); -int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); -int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a); -int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); -int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a); -int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); -int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type); -int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a); - -int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num); -ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len, - const char *sn, const char *ln); - -int ASN1_INTEGER_get_int64(int64_t *pr, const ASN1_INTEGER *a); -int ASN1_INTEGER_set_int64(ASN1_INTEGER *a, int64_t r); -int ASN1_INTEGER_get_uint64(uint64_t *pr, const ASN1_INTEGER *a); -int ASN1_INTEGER_set_uint64(ASN1_INTEGER *a, uint64_t r); - -int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); -long ASN1_INTEGER_get(const ASN1_INTEGER *a); -ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); -BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); - -int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a); -int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r); - - -int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); -long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a); -ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai); -BIGNUM *ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn); - -/* General */ -/* given a string, return the correct type, max is the maximum length */ -int ASN1_PRINTABLE_type(const unsigned char *s, int max); - -unsigned long ASN1_tag2bit(int tag); - -/* SPECIALS */ -int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, - int *pclass, long omax); -int ASN1_check_infinite_end(unsigned char **p, long len); -int ASN1_const_check_infinite_end(const unsigned char **p, long len); -void ASN1_put_object(unsigned char **pp, int constructed, int length, - int tag, int xclass); -int ASN1_put_eoc(unsigned char **pp); -int ASN1_object_size(int constructed, int length, int tag); - -/* Used to implement other functions */ -void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); - -# define ASN1_dup_of(type,i2d,d2i,x) \ - ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ - CHECKED_D2I_OF(type, d2i), \ - CHECKED_PTR_OF(type, x))) - -# define ASN1_dup_of_const(type,i2d,d2i,x) \ - ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ - CHECKED_D2I_OF(type, d2i), \ - CHECKED_PTR_OF(const type, x))) - -void *ASN1_item_dup(const ASN1_ITEM *it, void *x); - -/* ASN1 alloc/free macros for when a type is only used internally */ - -# define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type)) -# define M_ASN1_free_of(x, type) \ - ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) - -# ifndef OPENSSL_NO_STDIO -void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); - -# define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ - ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ - CHECKED_D2I_OF(type, d2i), \ - in, \ - CHECKED_PPTR_OF(type, x))) - -void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); -int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); - -# define ASN1_i2d_fp_of(type,i2d,out,x) \ - (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ - out, \ - CHECKED_PTR_OF(type, x))) - -# define ASN1_i2d_fp_of_const(type,i2d,out,x) \ - (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ - out, \ - CHECKED_PTR_OF(const type, x))) - -int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); -int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags); -# endif - -int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in); - -void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); - -# define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ - ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ - CHECKED_D2I_OF(type, d2i), \ - in, \ - CHECKED_PPTR_OF(type, x))) - -void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); -int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); - -# define ASN1_i2d_bio_of(type,i2d,out,x) \ - (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ - out, \ - CHECKED_PTR_OF(type, x))) - -# define ASN1_i2d_bio_of_const(type,i2d,out,x) \ - (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ - out, \ - CHECKED_PTR_OF(const type, x))) - -int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); -int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); -int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); -int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); -int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); -int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags); -int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen, int off); -int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, - unsigned char *buf, int off); -int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent); -int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, - int dump); -const char *ASN1_tag2str(int tag); - -/* Used to load and write Netscape format cert */ - -int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); - -int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len); -int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len); -int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, - unsigned char *data, int len); -int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, - unsigned char *data, int max_len); - -void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it); - -ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, - ASN1_OCTET_STRING **oct); - -void ASN1_STRING_set_default_mask(unsigned long mask); -int ASN1_STRING_set_default_mask_asc(const char *p); -unsigned long ASN1_STRING_get_default_mask(void); -int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, - int inform, unsigned long mask); -int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, - int inform, unsigned long mask, - long minsize, long maxsize); - -ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, - const unsigned char *in, int inlen, - int inform, int nid); -ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); -int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); -void ASN1_STRING_TABLE_cleanup(void); - -/* ASN1 template functions */ - -/* Old API compatible functions */ -ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); -void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); -ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, - long len, const ASN1_ITEM *it); -int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); -int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, - const ASN1_ITEM *it); - -void ASN1_add_oid_module(void); -void ASN1_add_stable_module(void); - -ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf); -ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf); -int ASN1_str2mask(const char *str, unsigned long *pmask); - -/* ASN1 Print flags */ - -/* Indicate missing OPTIONAL fields */ -# define ASN1_PCTX_FLAGS_SHOW_ABSENT 0x001 -/* Mark start and end of SEQUENCE */ -# define ASN1_PCTX_FLAGS_SHOW_SEQUENCE 0x002 -/* Mark start and end of SEQUENCE/SET OF */ -# define ASN1_PCTX_FLAGS_SHOW_SSOF 0x004 -/* Show the ASN1 type of primitives */ -# define ASN1_PCTX_FLAGS_SHOW_TYPE 0x008 -/* Don't show ASN1 type of ANY */ -# define ASN1_PCTX_FLAGS_NO_ANY_TYPE 0x010 -/* Don't show ASN1 type of MSTRINGs */ -# define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE 0x020 -/* Don't show field names in SEQUENCE */ -# define ASN1_PCTX_FLAGS_NO_FIELD_NAME 0x040 -/* Show structure names of each SEQUENCE field */ -# define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME 0x080 -/* Don't show structure name even at top level */ -# define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 - -int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, - const ASN1_ITEM *it, const ASN1_PCTX *pctx); -ASN1_PCTX *ASN1_PCTX_new(void); -void ASN1_PCTX_free(ASN1_PCTX *p); -unsigned long ASN1_PCTX_get_flags(const ASN1_PCTX *p); -void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p); -void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p); -void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p); -void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p); -void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); - -ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx)); -void ASN1_SCTX_free(ASN1_SCTX *p); -const ASN1_ITEM *ASN1_SCTX_get_item(ASN1_SCTX *p); -const ASN1_TEMPLATE *ASN1_SCTX_get_template(ASN1_SCTX *p); -unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p); -void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data); -void *ASN1_SCTX_get_app_data(ASN1_SCTX *p); - -const BIO_METHOD *BIO_f_asn1(void); - -BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); - -int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, - const ASN1_ITEM *it); -int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, - const char *hdr, const ASN1_ITEM *it); -int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, - int ctype_nid, int econt_nid, - STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); -ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); -int SMIME_crlf_copy(BIO *in, BIO *out, int flags); -int SMIME_text(BIO *in, BIO *out); - -const ASN1_ITEM *ASN1_ITEM_lookup(const char *name); -const ASN1_ITEM *ASN1_ITEM_get(size_t i); - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/asn1_mac.h b/deps/openssl/include/openssl/asn1_mac.h deleted file mode 100644 index 7ac1782a..00000000 --- a/deps/openssl/include/openssl/asn1_mac.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#error "This file is obsolete; please update your software." diff --git a/deps/openssl/include/openssl/asn1err.h b/deps/openssl/include/openssl/asn1err.h deleted file mode 100644 index faed5a55..00000000 --- a/deps/openssl/include/openssl/asn1err.h +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ASN1ERR_H -# define HEADER_ASN1ERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_ASN1_strings(void); - -/* - * ASN1 function codes. - */ -# define ASN1_F_A2D_ASN1_OBJECT 100 -# define ASN1_F_A2I_ASN1_INTEGER 102 -# define ASN1_F_A2I_ASN1_STRING 103 -# define ASN1_F_APPEND_EXP 176 -# define ASN1_F_ASN1_BIO_INIT 113 -# define ASN1_F_ASN1_BIT_STRING_SET_BIT 183 -# define ASN1_F_ASN1_CB 177 -# define ASN1_F_ASN1_CHECK_TLEN 104 -# define ASN1_F_ASN1_COLLECT 106 -# define ASN1_F_ASN1_D2I_EX_PRIMITIVE 108 -# define ASN1_F_ASN1_D2I_FP 109 -# define ASN1_F_ASN1_D2I_READ_BIO 107 -# define ASN1_F_ASN1_DIGEST 184 -# define ASN1_F_ASN1_DO_ADB 110 -# define ASN1_F_ASN1_DO_LOCK 233 -# define ASN1_F_ASN1_DUP 111 -# define ASN1_F_ASN1_ENC_SAVE 115 -# define ASN1_F_ASN1_EX_C2I 204 -# define ASN1_F_ASN1_FIND_END 190 -# define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 216 -# define ASN1_F_ASN1_GENERATE_V3 178 -# define ASN1_F_ASN1_GET_INT64 224 -# define ASN1_F_ASN1_GET_OBJECT 114 -# define ASN1_F_ASN1_GET_UINT64 225 -# define ASN1_F_ASN1_I2D_BIO 116 -# define ASN1_F_ASN1_I2D_FP 117 -# define ASN1_F_ASN1_ITEM_D2I_FP 206 -# define ASN1_F_ASN1_ITEM_DUP 191 -# define ASN1_F_ASN1_ITEM_EMBED_D2I 120 -# define ASN1_F_ASN1_ITEM_EMBED_NEW 121 -# define ASN1_F_ASN1_ITEM_FLAGS_I2D 118 -# define ASN1_F_ASN1_ITEM_I2D_BIO 192 -# define ASN1_F_ASN1_ITEM_I2D_FP 193 -# define ASN1_F_ASN1_ITEM_PACK 198 -# define ASN1_F_ASN1_ITEM_SIGN 195 -# define ASN1_F_ASN1_ITEM_SIGN_CTX 220 -# define ASN1_F_ASN1_ITEM_UNPACK 199 -# define ASN1_F_ASN1_ITEM_VERIFY 197 -# define ASN1_F_ASN1_MBSTRING_NCOPY 122 -# define ASN1_F_ASN1_OBJECT_NEW 123 -# define ASN1_F_ASN1_OUTPUT_DATA 214 -# define ASN1_F_ASN1_PCTX_NEW 205 -# define ASN1_F_ASN1_PRIMITIVE_NEW 119 -# define ASN1_F_ASN1_SCTX_NEW 221 -# define ASN1_F_ASN1_SIGN 128 -# define ASN1_F_ASN1_STR2TYPE 179 -# define ASN1_F_ASN1_STRING_GET_INT64 227 -# define ASN1_F_ASN1_STRING_GET_UINT64 230 -# define ASN1_F_ASN1_STRING_SET 186 -# define ASN1_F_ASN1_STRING_TABLE_ADD 129 -# define ASN1_F_ASN1_STRING_TO_BN 228 -# define ASN1_F_ASN1_STRING_TYPE_NEW 130 -# define ASN1_F_ASN1_TEMPLATE_EX_D2I 132 -# define ASN1_F_ASN1_TEMPLATE_NEW 133 -# define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 131 -# define ASN1_F_ASN1_TIME_ADJ 217 -# define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 -# define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 -# define ASN1_F_ASN1_UTCTIME_ADJ 218 -# define ASN1_F_ASN1_VERIFY 137 -# define ASN1_F_B64_READ_ASN1 209 -# define ASN1_F_B64_WRITE_ASN1 210 -# define ASN1_F_BIO_NEW_NDEF 208 -# define ASN1_F_BITSTR_CB 180 -# define ASN1_F_BN_TO_ASN1_STRING 229 -# define ASN1_F_C2I_ASN1_BIT_STRING 189 -# define ASN1_F_C2I_ASN1_INTEGER 194 -# define ASN1_F_C2I_ASN1_OBJECT 196 -# define ASN1_F_C2I_IBUF 226 -# define ASN1_F_C2I_UINT64_INT 101 -# define ASN1_F_COLLECT_DATA 140 -# define ASN1_F_D2I_ASN1_OBJECT 147 -# define ASN1_F_D2I_ASN1_UINTEGER 150 -# define ASN1_F_D2I_AUTOPRIVATEKEY 207 -# define ASN1_F_D2I_PRIVATEKEY 154 -# define ASN1_F_D2I_PUBLICKEY 155 -# define ASN1_F_DO_BUF 142 -# define ASN1_F_DO_CREATE 124 -# define ASN1_F_DO_DUMP 125 -# define ASN1_F_DO_TCREATE 222 -# define ASN1_F_I2A_ASN1_OBJECT 126 -# define ASN1_F_I2D_ASN1_BIO_STREAM 211 -# define ASN1_F_I2D_ASN1_OBJECT 143 -# define ASN1_F_I2D_DSA_PUBKEY 161 -# define ASN1_F_I2D_EC_PUBKEY 181 -# define ASN1_F_I2D_PRIVATEKEY 163 -# define ASN1_F_I2D_PUBLICKEY 164 -# define ASN1_F_I2D_RSA_PUBKEY 165 -# define ASN1_F_LONG_C2I 166 -# define ASN1_F_NDEF_PREFIX 127 -# define ASN1_F_NDEF_SUFFIX 136 -# define ASN1_F_OID_MODULE_INIT 174 -# define ASN1_F_PARSE_TAGGING 182 -# define ASN1_F_PKCS5_PBE2_SET_IV 167 -# define ASN1_F_PKCS5_PBE2_SET_SCRYPT 231 -# define ASN1_F_PKCS5_PBE_SET 202 -# define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 -# define ASN1_F_PKCS5_PBKDF2_SET 219 -# define ASN1_F_PKCS5_SCRYPT_SET 232 -# define ASN1_F_SMIME_READ_ASN1 212 -# define ASN1_F_SMIME_TEXT 213 -# define ASN1_F_STABLE_GET 138 -# define ASN1_F_STBL_MODULE_INIT 223 -# define ASN1_F_UINT32_C2I 105 -# define ASN1_F_UINT32_NEW 139 -# define ASN1_F_UINT64_C2I 112 -# define ASN1_F_UINT64_NEW 141 -# define ASN1_F_X509_CRL_ADD0_REVOKED 169 -# define ASN1_F_X509_INFO_NEW 170 -# define ASN1_F_X509_NAME_ENCODE 203 -# define ASN1_F_X509_NAME_EX_D2I 158 -# define ASN1_F_X509_NAME_EX_NEW 171 -# define ASN1_F_X509_PKEY_NEW 173 - -/* - * ASN1 reason codes. - */ -# define ASN1_R_ADDING_OBJECT 171 -# define ASN1_R_ASN1_PARSE_ERROR 203 -# define ASN1_R_ASN1_SIG_PARSE_ERROR 204 -# define ASN1_R_AUX_ERROR 100 -# define ASN1_R_BAD_OBJECT_HEADER 102 -# define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214 -# define ASN1_R_BN_LIB 105 -# define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 -# define ASN1_R_BUFFER_TOO_SMALL 107 -# define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 108 -# define ASN1_R_CONTEXT_NOT_INITIALISED 217 -# define ASN1_R_DATA_IS_WRONG 109 -# define ASN1_R_DECODE_ERROR 110 -# define ASN1_R_DEPTH_EXCEEDED 174 -# define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED 198 -# define ASN1_R_ENCODE_ERROR 112 -# define ASN1_R_ERROR_GETTING_TIME 173 -# define ASN1_R_ERROR_LOADING_SECTION 172 -# define ASN1_R_ERROR_SETTING_CIPHER_PARAMS 114 -# define ASN1_R_EXPECTING_AN_INTEGER 115 -# define ASN1_R_EXPECTING_AN_OBJECT 116 -# define ASN1_R_EXPLICIT_LENGTH_MISMATCH 119 -# define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED 120 -# define ASN1_R_FIELD_MISSING 121 -# define ASN1_R_FIRST_NUM_TOO_LARGE 122 -# define ASN1_R_HEADER_TOO_LONG 123 -# define ASN1_R_ILLEGAL_BITSTRING_FORMAT 175 -# define ASN1_R_ILLEGAL_BOOLEAN 176 -# define ASN1_R_ILLEGAL_CHARACTERS 124 -# define ASN1_R_ILLEGAL_FORMAT 177 -# define ASN1_R_ILLEGAL_HEX 178 -# define ASN1_R_ILLEGAL_IMPLICIT_TAG 179 -# define ASN1_R_ILLEGAL_INTEGER 180 -# define ASN1_R_ILLEGAL_NEGATIVE_VALUE 226 -# define ASN1_R_ILLEGAL_NESTED_TAGGING 181 -# define ASN1_R_ILLEGAL_NULL 125 -# define ASN1_R_ILLEGAL_NULL_VALUE 182 -# define ASN1_R_ILLEGAL_OBJECT 183 -# define ASN1_R_ILLEGAL_OPTIONAL_ANY 126 -# define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE 170 -# define ASN1_R_ILLEGAL_PADDING 221 -# define ASN1_R_ILLEGAL_TAGGED_ANY 127 -# define ASN1_R_ILLEGAL_TIME_VALUE 184 -# define ASN1_R_ILLEGAL_ZERO_CONTENT 222 -# define ASN1_R_INTEGER_NOT_ASCII_FORMAT 185 -# define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 128 -# define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 220 -# define ASN1_R_INVALID_BMPSTRING_LENGTH 129 -# define ASN1_R_INVALID_DIGIT 130 -# define ASN1_R_INVALID_MIME_TYPE 205 -# define ASN1_R_INVALID_MODIFIER 186 -# define ASN1_R_INVALID_NUMBER 187 -# define ASN1_R_INVALID_OBJECT_ENCODING 216 -# define ASN1_R_INVALID_SCRYPT_PARAMETERS 227 -# define ASN1_R_INVALID_SEPARATOR 131 -# define ASN1_R_INVALID_STRING_TABLE_VALUE 218 -# define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 133 -# define ASN1_R_INVALID_UTF8STRING 134 -# define ASN1_R_INVALID_VALUE 219 -# define ASN1_R_LIST_ERROR 188 -# define ASN1_R_MIME_NO_CONTENT_TYPE 206 -# define ASN1_R_MIME_PARSE_ERROR 207 -# define ASN1_R_MIME_SIG_PARSE_ERROR 208 -# define ASN1_R_MISSING_EOC 137 -# define ASN1_R_MISSING_SECOND_NUMBER 138 -# define ASN1_R_MISSING_VALUE 189 -# define ASN1_R_MSTRING_NOT_UNIVERSAL 139 -# define ASN1_R_MSTRING_WRONG_TAG 140 -# define ASN1_R_NESTED_ASN1_STRING 197 -# define ASN1_R_NESTED_TOO_DEEP 201 -# define ASN1_R_NON_HEX_CHARACTERS 141 -# define ASN1_R_NOT_ASCII_FORMAT 190 -# define ASN1_R_NOT_ENOUGH_DATA 142 -# define ASN1_R_NO_CONTENT_TYPE 209 -# define ASN1_R_NO_MATCHING_CHOICE_TYPE 143 -# define ASN1_R_NO_MULTIPART_BODY_FAILURE 210 -# define ASN1_R_NO_MULTIPART_BOUNDARY 211 -# define ASN1_R_NO_SIG_CONTENT_TYPE 212 -# define ASN1_R_NULL_IS_WRONG_LENGTH 144 -# define ASN1_R_OBJECT_NOT_ASCII_FORMAT 191 -# define ASN1_R_ODD_NUMBER_OF_CHARS 145 -# define ASN1_R_SECOND_NUMBER_TOO_LARGE 147 -# define ASN1_R_SEQUENCE_LENGTH_MISMATCH 148 -# define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 149 -# define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 192 -# define ASN1_R_SHORT_LINE 150 -# define ASN1_R_SIG_INVALID_MIME_TYPE 213 -# define ASN1_R_STREAMING_NOT_SUPPORTED 202 -# define ASN1_R_STRING_TOO_LONG 151 -# define ASN1_R_STRING_TOO_SHORT 152 -# define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 154 -# define ASN1_R_TIME_NOT_ASCII_FORMAT 193 -# define ASN1_R_TOO_LARGE 223 -# define ASN1_R_TOO_LONG 155 -# define ASN1_R_TOO_SMALL 224 -# define ASN1_R_TYPE_NOT_CONSTRUCTED 156 -# define ASN1_R_TYPE_NOT_PRIMITIVE 195 -# define ASN1_R_UNEXPECTED_EOC 159 -# define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 215 -# define ASN1_R_UNKNOWN_FORMAT 160 -# define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 -# define ASN1_R_UNKNOWN_OBJECT_TYPE 162 -# define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE 163 -# define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM 199 -# define ASN1_R_UNKNOWN_TAG 194 -# define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 164 -# define ASN1_R_UNSUPPORTED_CIPHER 228 -# define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 167 -# define ASN1_R_UNSUPPORTED_TYPE 196 -# define ASN1_R_WRONG_INTEGER_TYPE 225 -# define ASN1_R_WRONG_PUBLIC_KEY_TYPE 200 -# define ASN1_R_WRONG_TAG 168 - -#endif diff --git a/deps/openssl/include/openssl/asn1t.h b/deps/openssl/include/openssl/asn1t.h deleted file mode 100644 index a450ba0d..00000000 --- a/deps/openssl/include/openssl/asn1t.h +++ /dev/null @@ -1,945 +0,0 @@ -/* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ASN1T_H -# define HEADER_ASN1T_H - -# include -# include -# include - -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif - -/* ASN1 template defines, structures and functions */ - -#ifdef __cplusplus -extern "C" { -#endif - -# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ -# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr)) - -/* Macros for start and end of ASN1_ITEM definition */ - -# define ASN1_ITEM_start(itname) \ - const ASN1_ITEM itname##_it = { - -# define static_ASN1_ITEM_start(itname) \ - static const ASN1_ITEM itname##_it = { - -# define ASN1_ITEM_end(itname) \ - }; - -# else - -/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ -# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)((iptr)())) - -/* Macros for start and end of ASN1_ITEM definition */ - -# define ASN1_ITEM_start(itname) \ - const ASN1_ITEM * itname##_it(void) \ - { \ - static const ASN1_ITEM local_it = { - -# define static_ASN1_ITEM_start(itname) \ - static ASN1_ITEM_start(itname) - -# define ASN1_ITEM_end(itname) \ - }; \ - return &local_it; \ - } - -# endif - -/* Macros to aid ASN1 template writing */ - -# define ASN1_ITEM_TEMPLATE(tname) \ - static const ASN1_TEMPLATE tname##_item_tt - -# define ASN1_ITEM_TEMPLATE_END(tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_PRIMITIVE,\ - -1,\ - &tname##_item_tt,\ - 0,\ - NULL,\ - 0,\ - #tname \ - ASN1_ITEM_end(tname) -# define static_ASN1_ITEM_TEMPLATE_END(tname) \ - ;\ - static_ASN1_ITEM_start(tname) \ - ASN1_ITYPE_PRIMITIVE,\ - -1,\ - &tname##_item_tt,\ - 0,\ - NULL,\ - 0,\ - #tname \ - ASN1_ITEM_end(tname) - -/* This is a ASN1 type which just embeds a template */ - -/*- - * This pair helps declare a SEQUENCE. We can do: - * - * ASN1_SEQUENCE(stname) = { - * ... SEQUENCE components ... - * } ASN1_SEQUENCE_END(stname) - * - * This will produce an ASN1_ITEM called stname_it - * for a structure called stname. - * - * If you want the same structure but a different - * name then use: - * - * ASN1_SEQUENCE(itname) = { - * ... SEQUENCE components ... - * } ASN1_SEQUENCE_END_name(stname, itname) - * - * This will create an item called itname_it using - * a structure called stname. - */ - -# define ASN1_SEQUENCE(tname) \ - static const ASN1_TEMPLATE tname##_seq_tt[] - -# define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname) - -# define static_ASN1_SEQUENCE_END(stname) static_ASN1_SEQUENCE_END_name(stname, stname) - -# define ASN1_SEQUENCE_END_name(stname, tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(stname),\ - #tname \ - ASN1_ITEM_end(tname) - -# define static_ASN1_SEQUENCE_END_name(stname, tname) \ - ;\ - static_ASN1_ITEM_start(tname) \ - ASN1_ITYPE_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -# define ASN1_NDEF_SEQUENCE(tname) \ - ASN1_SEQUENCE(tname) - -# define ASN1_NDEF_SEQUENCE_cb(tname, cb) \ - ASN1_SEQUENCE_cb(tname, cb) - -# define ASN1_SEQUENCE_cb(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ - ASN1_SEQUENCE(tname) - -# define ASN1_BROKEN_SEQUENCE(tname) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ - ASN1_SEQUENCE(tname) - -# define ASN1_SEQUENCE_ref(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), offsetof(tname, lock), cb, 0}; \ - ASN1_SEQUENCE(tname) - -# define ASN1_SEQUENCE_enc(tname, enc, cb) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ - ASN1_SEQUENCE(tname) - -# define ASN1_NDEF_SEQUENCE_END(tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_NDEF_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(tname),\ - #tname \ - ASN1_ITEM_end(tname) -# define static_ASN1_NDEF_SEQUENCE_END(tname) \ - ;\ - static_ASN1_ITEM_start(tname) \ - ASN1_ITYPE_NDEF_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(tname),\ - #tname \ - ASN1_ITEM_end(tname) - -# define ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname) -# define static_ASN1_BROKEN_SEQUENCE_END(stname) \ - static_ASN1_SEQUENCE_END_ref(stname, stname) - -# define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) - -# define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) -# define static_ASN1_SEQUENCE_END_cb(stname, tname) static_ASN1_SEQUENCE_END_ref(stname, tname) - -# define ASN1_SEQUENCE_END_ref(stname, tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - &tname##_aux,\ - sizeof(stname),\ - #tname \ - ASN1_ITEM_end(tname) -# define static_ASN1_SEQUENCE_END_ref(stname, tname) \ - ;\ - static_ASN1_ITEM_start(tname) \ - ASN1_ITYPE_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - &tname##_aux,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -# define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_NDEF_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - &tname##_aux,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -/*- - * This pair helps declare a CHOICE type. We can do: - * - * ASN1_CHOICE(chname) = { - * ... CHOICE options ... - * ASN1_CHOICE_END(chname) - * - * This will produce an ASN1_ITEM called chname_it - * for a structure called chname. The structure - * definition must look like this: - * typedef struct { - * int type; - * union { - * ASN1_SOMETHING *opt1; - * ASN1_SOMEOTHER *opt2; - * } value; - * } chname; - * - * the name of the selector must be 'type'. - * to use an alternative selector name use the - * ASN1_CHOICE_END_selector() version. - */ - -# define ASN1_CHOICE(tname) \ - static const ASN1_TEMPLATE tname##_ch_tt[] - -# define ASN1_CHOICE_cb(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ - ASN1_CHOICE(tname) - -# define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) - -# define static_ASN1_CHOICE_END(stname) static_ASN1_CHOICE_END_name(stname, stname) - -# define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, tname, type) - -# define static_ASN1_CHOICE_END_name(stname, tname) static_ASN1_CHOICE_END_selector(stname, tname, type) - -# define ASN1_CHOICE_END_selector(stname, tname, selname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_CHOICE,\ - offsetof(stname,selname) ,\ - tname##_ch_tt,\ - sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -# define static_ASN1_CHOICE_END_selector(stname, tname, selname) \ - ;\ - static_ASN1_ITEM_start(tname) \ - ASN1_ITYPE_CHOICE,\ - offsetof(stname,selname) ,\ - tname##_ch_tt,\ - sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -# define ASN1_CHOICE_END_cb(stname, tname, selname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_CHOICE,\ - offsetof(stname,selname) ,\ - tname##_ch_tt,\ - sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ - &tname##_aux,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -/* This helps with the template wrapper form of ASN1_ITEM */ - -# define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) { \ - (flags), (tag), 0,\ - #name, ASN1_ITEM_ref(type) } - -/* These help with SEQUENCE or CHOICE components */ - -/* used to declare other types */ - -# define ASN1_EX_TYPE(flags, tag, stname, field, type) { \ - (flags), (tag), offsetof(stname, field),\ - #field, ASN1_ITEM_ref(type) } - -/* implicit and explicit helper macros */ - -# define ASN1_IMP_EX(stname, field, type, tag, ex) \ - ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | (ex), tag, stname, field, type) - -# define ASN1_EXP_EX(stname, field, type, tag, ex) \ - ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | (ex), tag, stname, field, type) - -/* Any defined by macros: the field used is in the table itself */ - -# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION -# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } -# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } -# else -# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } -# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } -# endif -/* Plain simple type */ -# define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) -/* Embedded simple type */ -# define ASN1_EMBED(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_EMBED,0, stname, field, type) - -/* OPTIONAL simple type */ -# define ASN1_OPT(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type) -# define ASN1_OPT_EMBED(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED, 0, stname, field, type) - -/* IMPLICIT tagged simple type */ -# define ASN1_IMP(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, 0) -# define ASN1_IMP_EMBED(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_EMBED) - -/* IMPLICIT tagged OPTIONAL simple type */ -# define ASN1_IMP_OPT(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) -# define ASN1_IMP_OPT_EMBED(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED) - -/* Same as above but EXPLICIT */ - -# define ASN1_EXP(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, 0) -# define ASN1_EXP_EMBED(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_EMBED) -# define ASN1_EXP_OPT(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) -# define ASN1_EXP_OPT_EMBED(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED) - -/* SEQUENCE OF type */ -# define ASN1_SEQUENCE_OF(stname, field, type) \ - ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type) - -/* OPTIONAL SEQUENCE OF */ -# define ASN1_SEQUENCE_OF_OPT(stname, field, type) \ - ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) - -/* Same as above but for SET OF */ - -# define ASN1_SET_OF(stname, field, type) \ - ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type) - -# define ASN1_SET_OF_OPT(stname, field, type) \ - ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) - -/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */ - -# define ASN1_IMP_SET_OF(stname, field, type, tag) \ - ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) - -# define ASN1_EXP_SET_OF(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) - -# define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \ - ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) - -# define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) - -# define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \ - ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) - -# define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \ - ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) - -# define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) - -# define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) - -/* EXPLICIT using indefinite length constructed form */ -# define ASN1_NDEF_EXP(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_NDEF) - -/* EXPLICIT OPTIONAL using indefinite length constructed form */ -# define ASN1_NDEF_EXP_OPT(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_NDEF) - -/* Macros for the ASN1_ADB structure */ - -# define ASN1_ADB(name) \ - static const ASN1_ADB_TABLE name##_adbtbl[] - -# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ - ;\ - static const ASN1_ADB name##_adb = {\ - flags,\ - offsetof(name, field),\ - adb_cb,\ - name##_adbtbl,\ - sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ - def,\ - none\ - } - -# else - -# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ - ;\ - static const ASN1_ITEM *name##_adb(void) \ - { \ - static const ASN1_ADB internal_adb = \ - {\ - flags,\ - offsetof(name, field),\ - adb_cb,\ - name##_adbtbl,\ - sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ - def,\ - none\ - }; \ - return (const ASN1_ITEM *) &internal_adb; \ - } \ - void dummy_function(void) - -# endif - -# define ADB_ENTRY(val, template) {val, template} - -# define ASN1_ADB_TEMPLATE(name) \ - static const ASN1_TEMPLATE name##_tt - -/* - * This is the ASN1 template structure that defines a wrapper round the - * actual type. It determines the actual position of the field in the value - * structure, various flags such as OPTIONAL and the field name. - */ - -struct ASN1_TEMPLATE_st { - unsigned long flags; /* Various flags */ - long tag; /* tag, not used if no tagging */ - unsigned long offset; /* Offset of this field in structure */ - const char *field_name; /* Field name */ - ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ -}; - -/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ - -# define ASN1_TEMPLATE_item(t) (t->item_ptr) -# define ASN1_TEMPLATE_adb(t) (t->item_ptr) - -typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE; -typedef struct ASN1_ADB_st ASN1_ADB; - -struct ASN1_ADB_st { - unsigned long flags; /* Various flags */ - unsigned long offset; /* Offset of selector field */ - int (*adb_cb)(long *psel); /* Application callback */ - const ASN1_ADB_TABLE *tbl; /* Table of possible types */ - long tblcount; /* Number of entries in tbl */ - const ASN1_TEMPLATE *default_tt; /* Type to use if no match */ - const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */ -}; - -struct ASN1_ADB_TABLE_st { - long value; /* NID for an object or value for an int */ - const ASN1_TEMPLATE tt; /* item for this value */ -}; - -/* template flags */ - -/* Field is optional */ -# define ASN1_TFLG_OPTIONAL (0x1) - -/* Field is a SET OF */ -# define ASN1_TFLG_SET_OF (0x1 << 1) - -/* Field is a SEQUENCE OF */ -# define ASN1_TFLG_SEQUENCE_OF (0x2 << 1) - -/* - * Special case: this refers to a SET OF that will be sorted into DER order - * when encoded *and* the corresponding STACK will be modified to match the - * new order. - */ -# define ASN1_TFLG_SET_ORDER (0x3 << 1) - -/* Mask for SET OF or SEQUENCE OF */ -# define ASN1_TFLG_SK_MASK (0x3 << 1) - -/* - * These flags mean the tag should be taken from the tag field. If EXPLICIT - * then the underlying type is used for the inner tag. - */ - -/* IMPLICIT tagging */ -# define ASN1_TFLG_IMPTAG (0x1 << 3) - -/* EXPLICIT tagging, inner tag from underlying type */ -# define ASN1_TFLG_EXPTAG (0x2 << 3) - -# define ASN1_TFLG_TAG_MASK (0x3 << 3) - -/* context specific IMPLICIT */ -# define ASN1_TFLG_IMPLICIT (ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT) - -/* context specific EXPLICIT */ -# define ASN1_TFLG_EXPLICIT (ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT) - -/* - * If tagging is in force these determine the type of tag to use. Otherwise - * the tag is determined by the underlying type. These values reflect the - * actual octet format. - */ - -/* Universal tag */ -# define ASN1_TFLG_UNIVERSAL (0x0<<6) -/* Application tag */ -# define ASN1_TFLG_APPLICATION (0x1<<6) -/* Context specific tag */ -# define ASN1_TFLG_CONTEXT (0x2<<6) -/* Private tag */ -# define ASN1_TFLG_PRIVATE (0x3<<6) - -# define ASN1_TFLG_TAG_CLASS (0x3<<6) - -/* - * These are for ANY DEFINED BY type. In this case the 'item' field points to - * an ASN1_ADB structure which contains a table of values to decode the - * relevant type - */ - -# define ASN1_TFLG_ADB_MASK (0x3<<8) - -# define ASN1_TFLG_ADB_OID (0x1<<8) - -# define ASN1_TFLG_ADB_INT (0x1<<9) - -/* - * This flag when present in a SEQUENCE OF, SET OF or EXPLICIT causes - * indefinite length constructed encoding to be used if required. - */ - -# define ASN1_TFLG_NDEF (0x1<<11) - -/* Field is embedded and not a pointer */ -# define ASN1_TFLG_EMBED (0x1 << 12) - -/* This is the actual ASN1 item itself */ - -struct ASN1_ITEM_st { - char itype; /* The item type, primitive, SEQUENCE, CHOICE - * or extern */ - long utype; /* underlying type */ - const ASN1_TEMPLATE *templates; /* If SEQUENCE or CHOICE this contains - * the contents */ - long tcount; /* Number of templates if SEQUENCE or CHOICE */ - const void *funcs; /* functions that handle this type */ - long size; /* Structure size (usually) */ - const char *sname; /* Structure name */ -}; - -/*- - * These are values for the itype field and - * determine how the type is interpreted. - * - * For PRIMITIVE types the underlying type - * determines the behaviour if items is NULL. - * - * Otherwise templates must contain a single - * template and the type is treated in the - * same way as the type specified in the template. - * - * For SEQUENCE types the templates field points - * to the members, the size field is the - * structure size. - * - * For CHOICE types the templates field points - * to each possible member (typically a union) - * and the 'size' field is the offset of the - * selector. - * - * The 'funcs' field is used for application - * specific functions. - * - * The EXTERN type uses a new style d2i/i2d. - * The new style should be used where possible - * because it avoids things like the d2i IMPLICIT - * hack. - * - * MSTRING is a multiple string type, it is used - * for a CHOICE of character strings where the - * actual strings all occupy an ASN1_STRING - * structure. In this case the 'utype' field - * has a special meaning, it is used as a mask - * of acceptable types using the B_ASN1 constants. - * - * NDEF_SEQUENCE is the same as SEQUENCE except - * that it will use indefinite length constructed - * encoding if requested. - * - */ - -# define ASN1_ITYPE_PRIMITIVE 0x0 - -# define ASN1_ITYPE_SEQUENCE 0x1 - -# define ASN1_ITYPE_CHOICE 0x2 - -# define ASN1_ITYPE_EXTERN 0x4 - -# define ASN1_ITYPE_MSTRING 0x5 - -# define ASN1_ITYPE_NDEF_SEQUENCE 0x6 - -/* - * Cache for ASN1 tag and length, so we don't keep re-reading it for things - * like CHOICE - */ - -struct ASN1_TLC_st { - char valid; /* Values below are valid */ - int ret; /* return value */ - long plen; /* length */ - int ptag; /* class value */ - int pclass; /* class value */ - int hdrlen; /* header length */ -}; - -/* Typedefs for ASN1 function pointers */ -typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, - const ASN1_ITEM *it, int tag, int aclass, char opt, - ASN1_TLC *ctx); - -typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, - const ASN1_ITEM *it, int tag, int aclass); -typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); -typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); - -typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, - int indent, const char *fname, - const ASN1_PCTX *pctx); - -typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, - int *putype, const ASN1_ITEM *it); -typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, - int len, int utype, char *free_cont, - const ASN1_ITEM *it); -typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, - const ASN1_ITEM *it, int indent, - const ASN1_PCTX *pctx); - -typedef struct ASN1_EXTERN_FUNCS_st { - void *app_data; - ASN1_ex_new_func *asn1_ex_new; - ASN1_ex_free_func *asn1_ex_free; - ASN1_ex_free_func *asn1_ex_clear; - ASN1_ex_d2i *asn1_ex_d2i; - ASN1_ex_i2d *asn1_ex_i2d; - ASN1_ex_print_func *asn1_ex_print; -} ASN1_EXTERN_FUNCS; - -typedef struct ASN1_PRIMITIVE_FUNCS_st { - void *app_data; - unsigned long flags; - ASN1_ex_new_func *prim_new; - ASN1_ex_free_func *prim_free; - ASN1_ex_free_func *prim_clear; - ASN1_primitive_c2i *prim_c2i; - ASN1_primitive_i2c *prim_i2c; - ASN1_primitive_print *prim_print; -} ASN1_PRIMITIVE_FUNCS; - -/* - * This is the ASN1_AUX structure: it handles various miscellaneous - * requirements. For example the use of reference counts and an informational - * callback. The "informational callback" is called at various points during - * the ASN1 encoding and decoding. It can be used to provide minor - * customisation of the structures used. This is most useful where the - * supplied routines *almost* do the right thing but need some extra help at - * a few points. If the callback returns zero then it is assumed a fatal - * error has occurred and the main operation should be abandoned. If major - * changes in the default behaviour are required then an external type is - * more appropriate. - */ - -typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, - void *exarg); - -typedef struct ASN1_AUX_st { - void *app_data; - int flags; - int ref_offset; /* Offset of reference value */ - int ref_lock; /* Lock type to use */ - ASN1_aux_cb *asn1_cb; - int enc_offset; /* Offset of ASN1_ENCODING structure */ -} ASN1_AUX; - -/* For print related callbacks exarg points to this structure */ -typedef struct ASN1_PRINT_ARG_st { - BIO *out; - int indent; - const ASN1_PCTX *pctx; -} ASN1_PRINT_ARG; - -/* For streaming related callbacks exarg points to this structure */ -typedef struct ASN1_STREAM_ARG_st { - /* BIO to stream through */ - BIO *out; - /* BIO with filters appended */ - BIO *ndef_bio; - /* Streaming I/O boundary */ - unsigned char **boundary; -} ASN1_STREAM_ARG; - -/* Flags in ASN1_AUX */ - -/* Use a reference count */ -# define ASN1_AFLG_REFCOUNT 1 -/* Save the encoding of structure (useful for signatures) */ -# define ASN1_AFLG_ENCODING 2 -/* The Sequence length is invalid */ -# define ASN1_AFLG_BROKEN 4 - -/* operation values for asn1_cb */ - -# define ASN1_OP_NEW_PRE 0 -# define ASN1_OP_NEW_POST 1 -# define ASN1_OP_FREE_PRE 2 -# define ASN1_OP_FREE_POST 3 -# define ASN1_OP_D2I_PRE 4 -# define ASN1_OP_D2I_POST 5 -# define ASN1_OP_I2D_PRE 6 -# define ASN1_OP_I2D_POST 7 -# define ASN1_OP_PRINT_PRE 8 -# define ASN1_OP_PRINT_POST 9 -# define ASN1_OP_STREAM_PRE 10 -# define ASN1_OP_STREAM_POST 11 -# define ASN1_OP_DETACHED_PRE 12 -# define ASN1_OP_DETACHED_POST 13 - -/* Macro to implement a primitive type */ -# define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0) -# define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \ - ASN1_ITEM_start(itname) \ - ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \ - ASN1_ITEM_end(itname) - -/* Macro to implement a multi string type */ -# define IMPLEMENT_ASN1_MSTRING(itname, mask) \ - ASN1_ITEM_start(itname) \ - ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ - ASN1_ITEM_end(itname) - -# define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ - ASN1_ITEM_start(sname) \ - ASN1_ITYPE_EXTERN, \ - tag, \ - NULL, \ - 0, \ - &fptrs, \ - 0, \ - #sname \ - ASN1_ITEM_end(sname) - -/* Macro to implement standard functions in terms of ASN1_ITEM structures */ - -# define IMPLEMENT_ASN1_FUNCTIONS(stname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname) - -# define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname) - -# define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \ - IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname) - -# define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname) - -# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) - -# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \ - pre stname *fname##_new(void) \ - { \ - return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ - } \ - pre void fname##_free(stname *a) \ - { \ - ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ - } - -# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \ - stname *fname##_new(void) \ - { \ - return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ - } \ - void fname##_free(stname *a) \ - { \ - ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ - } - -# define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) - -# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ - stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ - { \ - return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ - } \ - int i2d_##fname(stname *a, unsigned char **out) \ - { \ - return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ - } - -# define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ - int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ - { \ - return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ - } - -# define IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(stname) \ - static stname *d2i_##stname(stname **a, \ - const unsigned char **in, long len) \ - { \ - return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \ - ASN1_ITEM_rptr(stname)); \ - } \ - static int i2d_##stname(stname *a, unsigned char **out) \ - { \ - return ASN1_item_i2d((ASN1_VALUE *)a, out, \ - ASN1_ITEM_rptr(stname)); \ - } - -/* - * This includes evil casts to remove const: they will go away when full ASN1 - * constification is done. - */ -# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ - stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ - { \ - return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ - } \ - int i2d_##fname(const stname *a, unsigned char **out) \ - { \ - return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ - } - -# define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ - stname * stname##_dup(stname *x) \ - { \ - return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ - } - -# define IMPLEMENT_ASN1_PRINT_FUNCTION(stname) \ - IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) - -# define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ - int fname##_print_ctx(BIO *out, stname *x, int indent, \ - const ASN1_PCTX *pctx) \ - { \ - return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ - ASN1_ITEM_rptr(itname), pctx); \ - } - -# define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ - IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) - -# define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) - -/* external definitions for primitive types */ - -DECLARE_ASN1_ITEM(ASN1_BOOLEAN) -DECLARE_ASN1_ITEM(ASN1_TBOOLEAN) -DECLARE_ASN1_ITEM(ASN1_FBOOLEAN) -DECLARE_ASN1_ITEM(ASN1_SEQUENCE) -DECLARE_ASN1_ITEM(CBIGNUM) -DECLARE_ASN1_ITEM(BIGNUM) -DECLARE_ASN1_ITEM(INT32) -DECLARE_ASN1_ITEM(ZINT32) -DECLARE_ASN1_ITEM(UINT32) -DECLARE_ASN1_ITEM(ZUINT32) -DECLARE_ASN1_ITEM(INT64) -DECLARE_ASN1_ITEM(ZINT64) -DECLARE_ASN1_ITEM(UINT64) -DECLARE_ASN1_ITEM(ZUINT64) - -# if OPENSSL_API_COMPAT < 0x10200000L -/* - * LONG and ZLONG are strongly discouraged for use as stored data, as the - * underlying C type (long) differs in size depending on the architecture. - * They are designed with 32-bit longs in mind. - */ -DECLARE_ASN1_ITEM(LONG) -DECLARE_ASN1_ITEM(ZLONG) -# endif - -DEFINE_STACK_OF(ASN1_VALUE) - -/* Functions used internally by the ASN1 code */ - -int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it); -void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it); - -int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, - const ASN1_ITEM *it, int tag, int aclass, char opt, - ASN1_TLC *ctx); - -int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, - const ASN1_ITEM *it, int tag, int aclass); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/async.h b/deps/openssl/include/openssl/async.h deleted file mode 100644 index 7052b890..00000000 --- a/deps/openssl/include/openssl/async.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#include - -#ifndef HEADER_ASYNC_H -# define HEADER_ASYNC_H - -#if defined(_WIN32) -# if defined(BASETYPES) || defined(_WINDEF_H) -/* application has to include to use this */ -#define OSSL_ASYNC_FD HANDLE -#define OSSL_BAD_ASYNC_FD INVALID_HANDLE_VALUE -# endif -#else -#define OSSL_ASYNC_FD int -#define OSSL_BAD_ASYNC_FD -1 -#endif -# include - - -# ifdef __cplusplus -extern "C" { -# endif - -typedef struct async_job_st ASYNC_JOB; -typedef struct async_wait_ctx_st ASYNC_WAIT_CTX; - -#define ASYNC_ERR 0 -#define ASYNC_NO_JOBS 1 -#define ASYNC_PAUSE 2 -#define ASYNC_FINISH 3 - -int ASYNC_init_thread(size_t max_size, size_t init_size); -void ASYNC_cleanup_thread(void); - -#ifdef OSSL_ASYNC_FD -ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void); -void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx); -int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx, const void *key, - OSSL_ASYNC_FD fd, - void *custom_data, - void (*cleanup)(ASYNC_WAIT_CTX *, const void *, - OSSL_ASYNC_FD, void *)); -int ASYNC_WAIT_CTX_get_fd(ASYNC_WAIT_CTX *ctx, const void *key, - OSSL_ASYNC_FD *fd, void **custom_data); -int ASYNC_WAIT_CTX_get_all_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *fd, - size_t *numfds); -int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *addfd, - size_t *numaddfds, OSSL_ASYNC_FD *delfd, - size_t *numdelfds); -int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key); -#endif - -int ASYNC_is_capable(void); - -int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *ctx, int *ret, - int (*func)(void *), void *args, size_t size); -int ASYNC_pause_job(void); - -ASYNC_JOB *ASYNC_get_current_job(void); -ASYNC_WAIT_CTX *ASYNC_get_wait_ctx(ASYNC_JOB *job); -void ASYNC_block_pause(void); -void ASYNC_unblock_pause(void); - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/asyncerr.h b/deps/openssl/include/openssl/asyncerr.h deleted file mode 100644 index 91afbbb2..00000000 --- a/deps/openssl/include/openssl/asyncerr.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ASYNCERR_H -# define HEADER_ASYNCERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_ASYNC_strings(void); - -/* - * ASYNC function codes. - */ -# define ASYNC_F_ASYNC_CTX_NEW 100 -# define ASYNC_F_ASYNC_INIT_THREAD 101 -# define ASYNC_F_ASYNC_JOB_NEW 102 -# define ASYNC_F_ASYNC_PAUSE_JOB 103 -# define ASYNC_F_ASYNC_START_FUNC 104 -# define ASYNC_F_ASYNC_START_JOB 105 -# define ASYNC_F_ASYNC_WAIT_CTX_SET_WAIT_FD 106 - -/* - * ASYNC reason codes. - */ -# define ASYNC_R_FAILED_TO_SET_POOL 101 -# define ASYNC_R_FAILED_TO_SWAP_CONTEXT 102 -# define ASYNC_R_INIT_FAILED 105 -# define ASYNC_R_INVALID_POOL_SIZE 103 - -#endif diff --git a/deps/openssl/include/openssl/bio.h b/deps/openssl/include/openssl/bio.h deleted file mode 100644 index ae559a51..00000000 --- a/deps/openssl/include/openssl/bio.h +++ /dev/null @@ -1,801 +0,0 @@ -/* - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_BIO_H -# define HEADER_BIO_H - -# include - -# ifndef OPENSSL_NO_STDIO -# include -# endif -# include - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* There are the classes of BIOs */ -# define BIO_TYPE_DESCRIPTOR 0x0100 /* socket, fd, connect or accept */ -# define BIO_TYPE_FILTER 0x0200 -# define BIO_TYPE_SOURCE_SINK 0x0400 - -/* These are the 'types' of BIOs */ -# define BIO_TYPE_NONE 0 -# define BIO_TYPE_MEM ( 1|BIO_TYPE_SOURCE_SINK) -# define BIO_TYPE_FILE ( 2|BIO_TYPE_SOURCE_SINK) - -# define BIO_TYPE_FD ( 4|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) -# define BIO_TYPE_SOCKET ( 5|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) -# define BIO_TYPE_NULL ( 6|BIO_TYPE_SOURCE_SINK) -# define BIO_TYPE_SSL ( 7|BIO_TYPE_FILTER) -# define BIO_TYPE_MD ( 8|BIO_TYPE_FILTER) -# define BIO_TYPE_BUFFER ( 9|BIO_TYPE_FILTER) -# define BIO_TYPE_CIPHER (10|BIO_TYPE_FILTER) -# define BIO_TYPE_BASE64 (11|BIO_TYPE_FILTER) -# define BIO_TYPE_CONNECT (12|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) -# define BIO_TYPE_ACCEPT (13|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) - -# define BIO_TYPE_NBIO_TEST (16|BIO_TYPE_FILTER)/* server proxy BIO */ -# define BIO_TYPE_NULL_FILTER (17|BIO_TYPE_FILTER) -# define BIO_TYPE_BIO (19|BIO_TYPE_SOURCE_SINK)/* half a BIO pair */ -# define BIO_TYPE_LINEBUFFER (20|BIO_TYPE_FILTER) -# define BIO_TYPE_DGRAM (21|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) -# define BIO_TYPE_ASN1 (22|BIO_TYPE_FILTER) -# define BIO_TYPE_COMP (23|BIO_TYPE_FILTER) -# ifndef OPENSSL_NO_SCTP -# define BIO_TYPE_DGRAM_SCTP (24|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) -# endif - -#define BIO_TYPE_START 128 - -/* - * BIO_FILENAME_READ|BIO_CLOSE to open or close on free. - * BIO_set_fp(in,stdin,BIO_NOCLOSE); - */ -# define BIO_NOCLOSE 0x00 -# define BIO_CLOSE 0x01 - -/* - * These are used in the following macros and are passed to BIO_ctrl() - */ -# define BIO_CTRL_RESET 1/* opt - rewind/zero etc */ -# define BIO_CTRL_EOF 2/* opt - are we at the eof */ -# define BIO_CTRL_INFO 3/* opt - extra tit-bits */ -# define BIO_CTRL_SET 4/* man - set the 'IO' type */ -# define BIO_CTRL_GET 5/* man - get the 'IO' type */ -# define BIO_CTRL_PUSH 6/* opt - internal, used to signify change */ -# define BIO_CTRL_POP 7/* opt - internal, used to signify change */ -# define BIO_CTRL_GET_CLOSE 8/* man - set the 'close' on free */ -# define BIO_CTRL_SET_CLOSE 9/* man - set the 'close' on free */ -# define BIO_CTRL_PENDING 10/* opt - is their more data buffered */ -# define BIO_CTRL_FLUSH 11/* opt - 'flush' buffered output */ -# define BIO_CTRL_DUP 12/* man - extra stuff for 'duped' BIO */ -# define BIO_CTRL_WPENDING 13/* opt - number of bytes still to write */ -# define BIO_CTRL_SET_CALLBACK 14/* opt - set callback function */ -# define BIO_CTRL_GET_CALLBACK 15/* opt - set callback function */ - -# define BIO_CTRL_PEEK 29/* BIO_f_buffer special */ -# define BIO_CTRL_SET_FILENAME 30/* BIO_s_file special */ - -/* dgram BIO stuff */ -# define BIO_CTRL_DGRAM_CONNECT 31/* BIO dgram special */ -# define BIO_CTRL_DGRAM_SET_CONNECTED 32/* allow for an externally connected - * socket to be passed in */ -# define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33/* setsockopt, essentially */ -# define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34/* getsockopt, essentially */ -# define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35/* setsockopt, essentially */ -# define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36/* getsockopt, essentially */ - -# define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37/* flag whether the last */ -# define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38/* I/O operation tiemd out */ - -/* #ifdef IP_MTU_DISCOVER */ -# define BIO_CTRL_DGRAM_MTU_DISCOVER 39/* set DF bit on egress packets */ -/* #endif */ - -# define BIO_CTRL_DGRAM_QUERY_MTU 40/* as kernel for current MTU */ -# define BIO_CTRL_DGRAM_GET_FALLBACK_MTU 47 -# define BIO_CTRL_DGRAM_GET_MTU 41/* get cached value for MTU */ -# define BIO_CTRL_DGRAM_SET_MTU 42/* set cached value for MTU. - * want to use this if asking - * the kernel fails */ - -# define BIO_CTRL_DGRAM_MTU_EXCEEDED 43/* check whether the MTU was - * exceed in the previous write - * operation */ - -# define BIO_CTRL_DGRAM_GET_PEER 46 -# define BIO_CTRL_DGRAM_SET_PEER 44/* Destination for the data */ - -# define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT 45/* Next DTLS handshake timeout - * to adjust socket timeouts */ -# define BIO_CTRL_DGRAM_SET_DONT_FRAG 48 - -# define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD 49 - -/* Deliberately outside of OPENSSL_NO_SCTP - used in bss_dgram.c */ -# define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE 50 -# ifndef OPENSSL_NO_SCTP -/* SCTP stuff */ -# define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY 51 -# define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY 52 -# define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD 53 -# define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO 60 -# define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO 61 -# define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO 62 -# define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO 63 -# define BIO_CTRL_DGRAM_SCTP_GET_PRINFO 64 -# define BIO_CTRL_DGRAM_SCTP_SET_PRINFO 65 -# define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN 70 -# endif - -# define BIO_CTRL_DGRAM_SET_PEEK_MODE 71 - -/* modifiers */ -# define BIO_FP_READ 0x02 -# define BIO_FP_WRITE 0x04 -# define BIO_FP_APPEND 0x08 -# define BIO_FP_TEXT 0x10 - -# define BIO_FLAGS_READ 0x01 -# define BIO_FLAGS_WRITE 0x02 -# define BIO_FLAGS_IO_SPECIAL 0x04 -# define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) -# define BIO_FLAGS_SHOULD_RETRY 0x08 -# ifndef BIO_FLAGS_UPLINK -/* - * "UPLINK" flag denotes file descriptors provided by application. It - * defaults to 0, as most platforms don't require UPLINK interface. - */ -# define BIO_FLAGS_UPLINK 0 -# endif - -# define BIO_FLAGS_BASE64_NO_NL 0x100 - -/* - * This is used with memory BIOs: - * BIO_FLAGS_MEM_RDONLY means we shouldn't free up or change the data in any way; - * BIO_FLAGS_NONCLEAR_RST means we shouldn't clear data on reset. - */ -# define BIO_FLAGS_MEM_RDONLY 0x200 -# define BIO_FLAGS_NONCLEAR_RST 0x400 -# define BIO_FLAGS_IN_EOF 0x800 - -typedef union bio_addr_st BIO_ADDR; -typedef struct bio_addrinfo_st BIO_ADDRINFO; - -int BIO_get_new_index(void); -void BIO_set_flags(BIO *b, int flags); -int BIO_test_flags(const BIO *b, int flags); -void BIO_clear_flags(BIO *b, int flags); - -# define BIO_get_flags(b) BIO_test_flags(b, ~(0x0)) -# define BIO_set_retry_special(b) \ - BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY)) -# define BIO_set_retry_read(b) \ - BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY)) -# define BIO_set_retry_write(b) \ - BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY)) - -/* These are normally used internally in BIOs */ -# define BIO_clear_retry_flags(b) \ - BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) -# define BIO_get_retry_flags(b) \ - BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) - -/* These should be used by the application to tell why we should retry */ -# define BIO_should_read(a) BIO_test_flags(a, BIO_FLAGS_READ) -# define BIO_should_write(a) BIO_test_flags(a, BIO_FLAGS_WRITE) -# define BIO_should_io_special(a) BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL) -# define BIO_retry_type(a) BIO_test_flags(a, BIO_FLAGS_RWS) -# define BIO_should_retry(a) BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY) - -/* - * The next three are used in conjunction with the BIO_should_io_special() - * condition. After this returns true, BIO *BIO_get_retry_BIO(BIO *bio, int - * *reason); will walk the BIO stack and return the 'reason' for the special - * and the offending BIO. Given a BIO, BIO_get_retry_reason(bio) will return - * the code. - */ -/* - * Returned from the SSL bio when the certificate retrieval code had an error - */ -# define BIO_RR_SSL_X509_LOOKUP 0x01 -/* Returned from the connect BIO when a connect would have blocked */ -# define BIO_RR_CONNECT 0x02 -/* Returned from the accept BIO when an accept would have blocked */ -# define BIO_RR_ACCEPT 0x03 - -/* These are passed by the BIO callback */ -# define BIO_CB_FREE 0x01 -# define BIO_CB_READ 0x02 -# define BIO_CB_WRITE 0x03 -# define BIO_CB_PUTS 0x04 -# define BIO_CB_GETS 0x05 -# define BIO_CB_CTRL 0x06 - -/* - * The callback is called before and after the underling operation, The - * BIO_CB_RETURN flag indicates if it is after the call - */ -# define BIO_CB_RETURN 0x80 -# define BIO_CB_return(a) ((a)|BIO_CB_RETURN) -# define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) -# define BIO_cb_post(a) ((a)&BIO_CB_RETURN) - -typedef long (*BIO_callback_fn)(BIO *b, int oper, const char *argp, int argi, - long argl, long ret); -typedef long (*BIO_callback_fn_ex)(BIO *b, int oper, const char *argp, - size_t len, int argi, - long argl, int ret, size_t *processed); -BIO_callback_fn BIO_get_callback(const BIO *b); -void BIO_set_callback(BIO *b, BIO_callback_fn callback); - -BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b); -void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex callback); - -char *BIO_get_callback_arg(const BIO *b); -void BIO_set_callback_arg(BIO *b, char *arg); - -typedef struct bio_method_st BIO_METHOD; - -const char *BIO_method_name(const BIO *b); -int BIO_method_type(const BIO *b); - -typedef int BIO_info_cb(BIO *, int, int); -typedef BIO_info_cb bio_info_cb; /* backward compatibility */ - -DEFINE_STACK_OF(BIO) - -/* Prefix and suffix callback in ASN1 BIO */ -typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, - void *parg); - -# ifndef OPENSSL_NO_SCTP -/* SCTP parameter structs */ -struct bio_dgram_sctp_sndinfo { - uint16_t snd_sid; - uint16_t snd_flags; - uint32_t snd_ppid; - uint32_t snd_context; -}; - -struct bio_dgram_sctp_rcvinfo { - uint16_t rcv_sid; - uint16_t rcv_ssn; - uint16_t rcv_flags; - uint32_t rcv_ppid; - uint32_t rcv_tsn; - uint32_t rcv_cumtsn; - uint32_t rcv_context; -}; - -struct bio_dgram_sctp_prinfo { - uint16_t pr_policy; - uint32_t pr_value; -}; -# endif - -/* - * #define BIO_CONN_get_param_hostname BIO_ctrl - */ - -# define BIO_C_SET_CONNECT 100 -# define BIO_C_DO_STATE_MACHINE 101 -# define BIO_C_SET_NBIO 102 -/* # define BIO_C_SET_PROXY_PARAM 103 */ -# define BIO_C_SET_FD 104 -# define BIO_C_GET_FD 105 -# define BIO_C_SET_FILE_PTR 106 -# define BIO_C_GET_FILE_PTR 107 -# define BIO_C_SET_FILENAME 108 -# define BIO_C_SET_SSL 109 -# define BIO_C_GET_SSL 110 -# define BIO_C_SET_MD 111 -# define BIO_C_GET_MD 112 -# define BIO_C_GET_CIPHER_STATUS 113 -# define BIO_C_SET_BUF_MEM 114 -# define BIO_C_GET_BUF_MEM_PTR 115 -# define BIO_C_GET_BUFF_NUM_LINES 116 -# define BIO_C_SET_BUFF_SIZE 117 -# define BIO_C_SET_ACCEPT 118 -# define BIO_C_SSL_MODE 119 -# define BIO_C_GET_MD_CTX 120 -/* # define BIO_C_GET_PROXY_PARAM 121 */ -# define BIO_C_SET_BUFF_READ_DATA 122/* data to read first */ -# define BIO_C_GET_CONNECT 123 -# define BIO_C_GET_ACCEPT 124 -# define BIO_C_SET_SSL_RENEGOTIATE_BYTES 125 -# define BIO_C_GET_SSL_NUM_RENEGOTIATES 126 -# define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT 127 -# define BIO_C_FILE_SEEK 128 -# define BIO_C_GET_CIPHER_CTX 129 -# define BIO_C_SET_BUF_MEM_EOF_RETURN 130/* return end of input - * value */ -# define BIO_C_SET_BIND_MODE 131 -# define BIO_C_GET_BIND_MODE 132 -# define BIO_C_FILE_TELL 133 -# define BIO_C_GET_SOCKS 134 -# define BIO_C_SET_SOCKS 135 - -# define BIO_C_SET_WRITE_BUF_SIZE 136/* for BIO_s_bio */ -# define BIO_C_GET_WRITE_BUF_SIZE 137 -# define BIO_C_MAKE_BIO_PAIR 138 -# define BIO_C_DESTROY_BIO_PAIR 139 -# define BIO_C_GET_WRITE_GUARANTEE 140 -# define BIO_C_GET_READ_REQUEST 141 -# define BIO_C_SHUTDOWN_WR 142 -# define BIO_C_NREAD0 143 -# define BIO_C_NREAD 144 -# define BIO_C_NWRITE0 145 -# define BIO_C_NWRITE 146 -# define BIO_C_RESET_READ_REQUEST 147 -# define BIO_C_SET_MD_CTX 148 - -# define BIO_C_SET_PREFIX 149 -# define BIO_C_GET_PREFIX 150 -# define BIO_C_SET_SUFFIX 151 -# define BIO_C_GET_SUFFIX 152 - -# define BIO_C_SET_EX_ARG 153 -# define BIO_C_GET_EX_ARG 154 - -# define BIO_C_SET_CONNECT_MODE 155 - -# define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) -# define BIO_get_app_data(s) BIO_get_ex_data(s,0) - -# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) - -# ifndef OPENSSL_NO_SOCK -/* IP families we support, for BIO_s_connect() and BIO_s_accept() */ -/* Note: the underlying operating system may not support some of them */ -# define BIO_FAMILY_IPV4 4 -# define BIO_FAMILY_IPV6 6 -# define BIO_FAMILY_IPANY 256 - -/* BIO_s_connect() */ -# define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0, \ - (char *)(name)) -# define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1, \ - (char *)(port)) -# define BIO_set_conn_address(b,addr) BIO_ctrl(b,BIO_C_SET_CONNECT,2, \ - (char *)(addr)) -# define BIO_set_conn_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_CONNECT,3,f) -# define BIO_get_conn_hostname(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0)) -# define BIO_get_conn_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1)) -# define BIO_get_conn_address(b) ((const BIO_ADDR *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2)) -# define BIO_get_conn_ip_family(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL) -# define BIO_set_conn_mode(b,n) BIO_ctrl(b,BIO_C_SET_CONNECT_MODE,(n),NULL) - -/* BIO_s_accept() */ -# define BIO_set_accept_name(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0, \ - (char *)(name)) -# define BIO_set_accept_port(b,port) BIO_ctrl(b,BIO_C_SET_ACCEPT,1, \ - (char *)(port)) -# define BIO_get_accept_name(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0)) -# define BIO_get_accept_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,1)) -# define BIO_get_peer_name(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,2)) -# define BIO_get_peer_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,3)) -/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ -# define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(n)?(void *)"a":NULL) -# define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,3, \ - (char *)(bio)) -# define BIO_set_accept_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_ACCEPT,4,f) -# define BIO_get_accept_ip_family(b) BIO_ctrl(b,BIO_C_GET_ACCEPT,4,NULL) - -/* Aliases kept for backward compatibility */ -# define BIO_BIND_NORMAL 0 -# define BIO_BIND_REUSEADDR BIO_SOCK_REUSEADDR -# define BIO_BIND_REUSEADDR_IF_UNUSED BIO_SOCK_REUSEADDR -# define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) -# define BIO_get_bind_mode(b) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) - -/* BIO_s_accept() and BIO_s_connect() */ -# define BIO_do_connect(b) BIO_do_handshake(b) -# define BIO_do_accept(b) BIO_do_handshake(b) -# endif /* OPENSSL_NO_SOCK */ - -# define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) - -/* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */ -# define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) -# define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)(c)) - -/* BIO_s_file() */ -# define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)(fp)) -# define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)(fpp)) - -/* BIO_s_fd() and BIO_s_file() */ -# define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) -# define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) - -/* - * name is cast to lose const, but might be better to route through a - * function so we can do it safely - */ -# ifdef CONST_STRICT -/* - * If you are wondering why this isn't defined, its because CONST_STRICT is - * purely a compile-time kludge to allow const to be checked. - */ -int BIO_read_filename(BIO *b, const char *name); -# else -# define BIO_read_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_READ,(char *)(name)) -# endif -# define BIO_write_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_WRITE,name) -# define BIO_append_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_APPEND,name) -# define BIO_rw_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) - -/* - * WARNING WARNING, this ups the reference count on the read bio of the SSL - * structure. This is because the ssl read BIO is now pointed to by the - * next_bio field in the bio. So when you free the BIO, make sure you are - * doing a BIO_free_all() to catch the underlying BIO. - */ -# define BIO_set_ssl(b,ssl,c) BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)(ssl)) -# define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)(sslp)) -# define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL) -# define BIO_set_ssl_renegotiate_bytes(b,num) \ - BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL) -# define BIO_get_num_renegotiates(b) \ - BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL) -# define BIO_set_ssl_renegotiate_timeout(b,seconds) \ - BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL) - -/* defined in evp.h */ -/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)(md)) */ - -# define BIO_get_mem_data(b,pp) BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)(pp)) -# define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)(bm)) -# define BIO_get_mem_ptr(b,pp) BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0, \ - (char *)(pp)) -# define BIO_set_mem_eof_return(b,v) \ - BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL) - -/* For the BIO_f_buffer() type */ -# define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL) -# define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL) -# define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0) -# define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1) -# define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf) - -/* Don't use the next one unless you know what you are doing :-) */ -# define BIO_dup_state(b,ret) BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret)) - -# define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) -# define BIO_eof(b) (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL) -# define BIO_set_close(b,c) (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL) -# define BIO_get_close(b) (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL) -# define BIO_pending(b) (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) -# define BIO_wpending(b) (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) -/* ...pending macros have inappropriate return type */ -size_t BIO_ctrl_pending(BIO *b); -size_t BIO_ctrl_wpending(BIO *b); -# define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL) -# define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \ - cbp) -# define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb) - -/* For the BIO_f_buffer() type */ -# define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL) -# define BIO_buffer_peek(b,s,l) BIO_ctrl(b,BIO_CTRL_PEEK,(l),(s)) - -/* For BIO_s_bio() */ -# define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) -# define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) -# define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) -# define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) -# define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) -/* macros with inappropriate type -- but ...pending macros use int too: */ -# define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) -# define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) -size_t BIO_ctrl_get_write_guarantee(BIO *b); -size_t BIO_ctrl_get_read_request(BIO *b); -int BIO_ctrl_reset_read_request(BIO *b); - -/* ctrl macros for dgram */ -# define BIO_ctrl_dgram_connect(b,peer) \ - (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)(peer)) -# define BIO_ctrl_set_connected(b,peer) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, 0, (char *)(peer)) -# define BIO_dgram_recv_timedout(b) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL) -# define BIO_dgram_send_timedout(b) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL) -# define BIO_dgram_get_peer(b,peer) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)(peer)) -# define BIO_dgram_set_peer(b,peer) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)(peer)) -# define BIO_dgram_get_mtu_overhead(b) \ - (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL) - -#define BIO_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, l, p, newf, dupf, freef) -int BIO_set_ex_data(BIO *bio, int idx, void *data); -void *BIO_get_ex_data(BIO *bio, int idx); -uint64_t BIO_number_read(BIO *bio); -uint64_t BIO_number_written(BIO *bio); - -/* For BIO_f_asn1() */ -int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, - asn1_ps_func *prefix_free); -int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, - asn1_ps_func **pprefix_free); -int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, - asn1_ps_func *suffix_free); -int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, - asn1_ps_func **psuffix_free); - -const BIO_METHOD *BIO_s_file(void); -BIO *BIO_new_file(const char *filename, const char *mode); -# ifndef OPENSSL_NO_STDIO -BIO *BIO_new_fp(FILE *stream, int close_flag); -# endif -BIO *BIO_new(const BIO_METHOD *type); -int BIO_free(BIO *a); -void BIO_set_data(BIO *a, void *ptr); -void *BIO_get_data(BIO *a); -void BIO_set_init(BIO *a, int init); -int BIO_get_init(BIO *a); -void BIO_set_shutdown(BIO *a, int shut); -int BIO_get_shutdown(BIO *a); -void BIO_vfree(BIO *a); -int BIO_up_ref(BIO *a); -int BIO_read(BIO *b, void *data, int dlen); -int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes); -int BIO_gets(BIO *bp, char *buf, int size); -int BIO_write(BIO *b, const void *data, int dlen); -int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written); -int BIO_puts(BIO *bp, const char *buf); -int BIO_indent(BIO *b, int indent, int max); -long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); -long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp); -void *BIO_ptr_ctrl(BIO *bp, int cmd, long larg); -long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg); -BIO *BIO_push(BIO *b, BIO *append); -BIO *BIO_pop(BIO *b); -void BIO_free_all(BIO *a); -BIO *BIO_find_type(BIO *b, int bio_type); -BIO *BIO_next(BIO *b); -void BIO_set_next(BIO *b, BIO *next); -BIO *BIO_get_retry_BIO(BIO *bio, int *reason); -int BIO_get_retry_reason(BIO *bio); -void BIO_set_retry_reason(BIO *bio, int reason); -BIO *BIO_dup_chain(BIO *in); - -int BIO_nread0(BIO *bio, char **buf); -int BIO_nread(BIO *bio, char **buf, int num); -int BIO_nwrite0(BIO *bio, char **buf); -int BIO_nwrite(BIO *bio, char **buf, int num); - -long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, - long argl, long ret); - -const BIO_METHOD *BIO_s_mem(void); -const BIO_METHOD *BIO_s_secmem(void); -BIO *BIO_new_mem_buf(const void *buf, int len); -# ifndef OPENSSL_NO_SOCK -const BIO_METHOD *BIO_s_socket(void); -const BIO_METHOD *BIO_s_connect(void); -const BIO_METHOD *BIO_s_accept(void); -# endif -const BIO_METHOD *BIO_s_fd(void); -const BIO_METHOD *BIO_s_log(void); -const BIO_METHOD *BIO_s_bio(void); -const BIO_METHOD *BIO_s_null(void); -const BIO_METHOD *BIO_f_null(void); -const BIO_METHOD *BIO_f_buffer(void); -const BIO_METHOD *BIO_f_linebuffer(void); -const BIO_METHOD *BIO_f_nbio_test(void); -# ifndef OPENSSL_NO_DGRAM -const BIO_METHOD *BIO_s_datagram(void); -int BIO_dgram_non_fatal_error(int error); -BIO *BIO_new_dgram(int fd, int close_flag); -# ifndef OPENSSL_NO_SCTP -const BIO_METHOD *BIO_s_datagram_sctp(void); -BIO *BIO_new_dgram_sctp(int fd, int close_flag); -int BIO_dgram_is_sctp(BIO *bio); -int BIO_dgram_sctp_notification_cb(BIO *b, - void (*handle_notifications) (BIO *bio, - void *context, - void *buf), - void *context); -int BIO_dgram_sctp_wait_for_dry(BIO *b); -int BIO_dgram_sctp_msg_waiting(BIO *b); -# endif -# endif - -# ifndef OPENSSL_NO_SOCK -int BIO_sock_should_retry(int i); -int BIO_sock_non_fatal_error(int error); -# endif - -int BIO_fd_should_retry(int i); -int BIO_fd_non_fatal_error(int error); -int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u), - void *u, const char *s, int len); -int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), - void *u, const char *s, int len, int indent); -int BIO_dump(BIO *b, const char *bytes, int len); -int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); -# ifndef OPENSSL_NO_STDIO -int BIO_dump_fp(FILE *fp, const char *s, int len); -int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); -# endif -int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data, - int datalen); - -# ifndef OPENSSL_NO_SOCK -BIO_ADDR *BIO_ADDR_new(void); -int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, - const void *where, size_t wherelen, unsigned short port); -void BIO_ADDR_free(BIO_ADDR *); -void BIO_ADDR_clear(BIO_ADDR *ap); -int BIO_ADDR_family(const BIO_ADDR *ap); -int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l); -unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap); -char *BIO_ADDR_hostname_string(const BIO_ADDR *ap, int numeric); -char *BIO_ADDR_service_string(const BIO_ADDR *ap, int numeric); -char *BIO_ADDR_path_string(const BIO_ADDR *ap); - -const BIO_ADDRINFO *BIO_ADDRINFO_next(const BIO_ADDRINFO *bai); -int BIO_ADDRINFO_family(const BIO_ADDRINFO *bai); -int BIO_ADDRINFO_socktype(const BIO_ADDRINFO *bai); -int BIO_ADDRINFO_protocol(const BIO_ADDRINFO *bai); -const BIO_ADDR *BIO_ADDRINFO_address(const BIO_ADDRINFO *bai); -void BIO_ADDRINFO_free(BIO_ADDRINFO *bai); - -enum BIO_hostserv_priorities { - BIO_PARSE_PRIO_HOST, BIO_PARSE_PRIO_SERV -}; -int BIO_parse_hostserv(const char *hostserv, char **host, char **service, - enum BIO_hostserv_priorities hostserv_prio); -enum BIO_lookup_type { - BIO_LOOKUP_CLIENT, BIO_LOOKUP_SERVER -}; -int BIO_lookup(const char *host, const char *service, - enum BIO_lookup_type lookup_type, - int family, int socktype, BIO_ADDRINFO **res); -int BIO_lookup_ex(const char *host, const char *service, - int lookup_type, int family, int socktype, int protocol, - BIO_ADDRINFO **res); -int BIO_sock_error(int sock); -int BIO_socket_ioctl(int fd, long type, void *arg); -int BIO_socket_nbio(int fd, int mode); -int BIO_sock_init(void); -# if OPENSSL_API_COMPAT < 0x10100000L -# define BIO_sock_cleanup() while(0) continue -# endif -int BIO_set_tcp_ndelay(int sock, int turn_on); - -DEPRECATEDIN_1_1_0(struct hostent *BIO_gethostbyname(const char *name)) -DEPRECATEDIN_1_1_0(int BIO_get_port(const char *str, unsigned short *port_ptr)) -DEPRECATEDIN_1_1_0(int BIO_get_host_ip(const char *str, unsigned char *ip)) -DEPRECATEDIN_1_1_0(int BIO_get_accept_socket(char *host_port, int mode)) -DEPRECATEDIN_1_1_0(int BIO_accept(int sock, char **ip_port)) - -union BIO_sock_info_u { - BIO_ADDR *addr; -}; -enum BIO_sock_info_type { - BIO_SOCK_INFO_ADDRESS -}; -int BIO_sock_info(int sock, - enum BIO_sock_info_type type, union BIO_sock_info_u *info); - -# define BIO_SOCK_REUSEADDR 0x01 -# define BIO_SOCK_V6_ONLY 0x02 -# define BIO_SOCK_KEEPALIVE 0x04 -# define BIO_SOCK_NONBLOCK 0x08 -# define BIO_SOCK_NODELAY 0x10 - -int BIO_socket(int domain, int socktype, int protocol, int options); -int BIO_connect(int sock, const BIO_ADDR *addr, int options); -int BIO_bind(int sock, const BIO_ADDR *addr, int options); -int BIO_listen(int sock, const BIO_ADDR *addr, int options); -int BIO_accept_ex(int accept_sock, BIO_ADDR *addr, int options); -int BIO_closesocket(int sock); - -BIO *BIO_new_socket(int sock, int close_flag); -BIO *BIO_new_connect(const char *host_port); -BIO *BIO_new_accept(const char *host_port); -# endif /* OPENSSL_NO_SOCK*/ - -BIO *BIO_new_fd(int fd, int close_flag); - -int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, - BIO **bio2, size_t writebuf2); -/* - * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. - * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default - * value. - */ - -void BIO_copy_next_retry(BIO *b); - -/* - * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg); - */ - -# define ossl_bio__attr__(x) -# if defined(__GNUC__) && defined(__STDC_VERSION__) \ - && !defined(__APPLE__) - /* - * Because we support the 'z' modifier, which made its appearance in C99, - * we can't use __attribute__ with pre C99 dialects. - */ -# if __STDC_VERSION__ >= 199901L -# undef ossl_bio__attr__ -# define ossl_bio__attr__ __attribute__ -# if __GNUC__*10 + __GNUC_MINOR__ >= 44 -# define ossl_bio__printf__ __gnu_printf__ -# else -# define ossl_bio__printf__ __printf__ -# endif -# endif -# endif -int BIO_printf(BIO *bio, const char *format, ...) -ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 3))); -int BIO_vprintf(BIO *bio, const char *format, va_list args) -ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 0))); -int BIO_snprintf(char *buf, size_t n, const char *format, ...) -ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 4))); -int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) -ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 0))); -# undef ossl_bio__attr__ -# undef ossl_bio__printf__ - - -BIO_METHOD *BIO_meth_new(int type, const char *name); -void BIO_meth_free(BIO_METHOD *biom); -int (*BIO_meth_get_write(const BIO_METHOD *biom)) (BIO *, const char *, int); -int (*BIO_meth_get_write_ex(const BIO_METHOD *biom)) (BIO *, const char *, size_t, - size_t *); -int BIO_meth_set_write(BIO_METHOD *biom, - int (*write) (BIO *, const char *, int)); -int BIO_meth_set_write_ex(BIO_METHOD *biom, - int (*bwrite) (BIO *, const char *, size_t, size_t *)); -int (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int); -int (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *, size_t, size_t *); -int BIO_meth_set_read(BIO_METHOD *biom, - int (*read) (BIO *, char *, int)); -int BIO_meth_set_read_ex(BIO_METHOD *biom, - int (*bread) (BIO *, char *, size_t, size_t *)); -int (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char *); -int BIO_meth_set_puts(BIO_METHOD *biom, - int (*puts) (BIO *, const char *)); -int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int); -int BIO_meth_set_gets(BIO_METHOD *biom, - int (*gets) (BIO *, char *, int)); -long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *); -int BIO_meth_set_ctrl(BIO_METHOD *biom, - long (*ctrl) (BIO *, int, long, void *)); -int (*BIO_meth_get_create(const BIO_METHOD *bion)) (BIO *); -int BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *)); -int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *); -int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *)); -long (*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom)) - (BIO *, int, BIO_info_cb *); -int BIO_meth_set_callback_ctrl(BIO_METHOD *biom, - long (*callback_ctrl) (BIO *, int, - BIO_info_cb *)); - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/bioerr.h b/deps/openssl/include/openssl/bioerr.h deleted file mode 100644 index 46e2c96e..00000000 --- a/deps/openssl/include/openssl/bioerr.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_BIOERR_H -# define HEADER_BIOERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_BIO_strings(void); - -/* - * BIO function codes. - */ -# define BIO_F_ACPT_STATE 100 -# define BIO_F_ADDRINFO_WRAP 148 -# define BIO_F_ADDR_STRINGS 134 -# define BIO_F_BIO_ACCEPT 101 -# define BIO_F_BIO_ACCEPT_EX 137 -# define BIO_F_BIO_ACCEPT_NEW 152 -# define BIO_F_BIO_ADDR_NEW 144 -# define BIO_F_BIO_BIND 147 -# define BIO_F_BIO_CALLBACK_CTRL 131 -# define BIO_F_BIO_CONNECT 138 -# define BIO_F_BIO_CONNECT_NEW 153 -# define BIO_F_BIO_CTRL 103 -# define BIO_F_BIO_GETS 104 -# define BIO_F_BIO_GET_HOST_IP 106 -# define BIO_F_BIO_GET_NEW_INDEX 102 -# define BIO_F_BIO_GET_PORT 107 -# define BIO_F_BIO_LISTEN 139 -# define BIO_F_BIO_LOOKUP 135 -# define BIO_F_BIO_LOOKUP_EX 143 -# define BIO_F_BIO_MAKE_PAIR 121 -# define BIO_F_BIO_METH_NEW 146 -# define BIO_F_BIO_NEW 108 -# define BIO_F_BIO_NEW_DGRAM_SCTP 145 -# define BIO_F_BIO_NEW_FILE 109 -# define BIO_F_BIO_NEW_MEM_BUF 126 -# define BIO_F_BIO_NREAD 123 -# define BIO_F_BIO_NREAD0 124 -# define BIO_F_BIO_NWRITE 125 -# define BIO_F_BIO_NWRITE0 122 -# define BIO_F_BIO_PARSE_HOSTSERV 136 -# define BIO_F_BIO_PUTS 110 -# define BIO_F_BIO_READ 111 -# define BIO_F_BIO_READ_EX 105 -# define BIO_F_BIO_READ_INTERN 120 -# define BIO_F_BIO_SOCKET 140 -# define BIO_F_BIO_SOCKET_NBIO 142 -# define BIO_F_BIO_SOCK_INFO 141 -# define BIO_F_BIO_SOCK_INIT 112 -# define BIO_F_BIO_WRITE 113 -# define BIO_F_BIO_WRITE_EX 119 -# define BIO_F_BIO_WRITE_INTERN 128 -# define BIO_F_BUFFER_CTRL 114 -# define BIO_F_CONN_CTRL 127 -# define BIO_F_CONN_STATE 115 -# define BIO_F_DGRAM_SCTP_NEW 149 -# define BIO_F_DGRAM_SCTP_READ 132 -# define BIO_F_DGRAM_SCTP_WRITE 133 -# define BIO_F_DOAPR_OUTCH 150 -# define BIO_F_FILE_CTRL 116 -# define BIO_F_FILE_READ 130 -# define BIO_F_LINEBUFFER_CTRL 129 -# define BIO_F_LINEBUFFER_NEW 151 -# define BIO_F_MEM_WRITE 117 -# define BIO_F_NBIOF_NEW 154 -# define BIO_F_SLG_WRITE 155 -# define BIO_F_SSL_NEW 118 - -/* - * BIO reason codes. - */ -# define BIO_R_ACCEPT_ERROR 100 -# define BIO_R_ADDRINFO_ADDR_IS_NOT_AF_INET 141 -# define BIO_R_AMBIGUOUS_HOST_OR_SERVICE 129 -# define BIO_R_BAD_FOPEN_MODE 101 -# define BIO_R_BROKEN_PIPE 124 -# define BIO_R_CONNECT_ERROR 103 -# define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 -# define BIO_R_GETSOCKNAME_ERROR 132 -# define BIO_R_GETSOCKNAME_TRUNCATED_ADDRESS 133 -# define BIO_R_GETTING_SOCKTYPE 134 -# define BIO_R_INVALID_ARGUMENT 125 -# define BIO_R_INVALID_SOCKET 135 -# define BIO_R_IN_USE 123 -# define BIO_R_LENGTH_TOO_LONG 102 -# define BIO_R_LISTEN_V6_ONLY 136 -# define BIO_R_LOOKUP_RETURNED_NOTHING 142 -# define BIO_R_MALFORMED_HOST_OR_SERVICE 130 -# define BIO_R_NBIO_CONNECT_ERROR 110 -# define BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED 143 -# define BIO_R_NO_HOSTNAME_OR_SERVICE_SPECIFIED 144 -# define BIO_R_NO_PORT_DEFINED 113 -# define BIO_R_NO_SUCH_FILE 128 -# define BIO_R_NULL_PARAMETER 115 -# define BIO_R_UNABLE_TO_BIND_SOCKET 117 -# define BIO_R_UNABLE_TO_CREATE_SOCKET 118 -# define BIO_R_UNABLE_TO_KEEPALIVE 137 -# define BIO_R_UNABLE_TO_LISTEN_SOCKET 119 -# define BIO_R_UNABLE_TO_NODELAY 138 -# define BIO_R_UNABLE_TO_REUSEADDR 139 -# define BIO_R_UNAVAILABLE_IP_FAMILY 145 -# define BIO_R_UNINITIALIZED 120 -# define BIO_R_UNKNOWN_INFO_TYPE 140 -# define BIO_R_UNSUPPORTED_IP_FAMILY 146 -# define BIO_R_UNSUPPORTED_METHOD 121 -# define BIO_R_UNSUPPORTED_PROTOCOL_FAMILY 131 -# define BIO_R_WRITE_TO_READ_ONLY_BIO 126 -# define BIO_R_WSASTARTUP 122 - -#endif diff --git a/deps/openssl/include/openssl/blowfish.h b/deps/openssl/include/openssl/blowfish.h deleted file mode 100644 index cd3e460e..00000000 --- a/deps/openssl/include/openssl/blowfish.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_BLOWFISH_H -# define HEADER_BLOWFISH_H - -# include - -# ifndef OPENSSL_NO_BF -# include -# ifdef __cplusplus -extern "C" { -# endif - -# define BF_ENCRYPT 1 -# define BF_DECRYPT 0 - -/*- - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! BF_LONG has to be at least 32 bits wide. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ -# define BF_LONG unsigned int - -# define BF_ROUNDS 16 -# define BF_BLOCK 8 - -typedef struct bf_key_st { - BF_LONG P[BF_ROUNDS + 2]; - BF_LONG S[4 * 256]; -} BF_KEY; - -void BF_set_key(BF_KEY *key, int len, const unsigned char *data); - -void BF_encrypt(BF_LONG *data, const BF_KEY *key); -void BF_decrypt(BF_LONG *data, const BF_KEY *key); - -void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, - const BF_KEY *key, int enc); -void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, - const BF_KEY *schedule, unsigned char *ivec, int enc); -void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, const BF_KEY *schedule, - unsigned char *ivec, int *num, int enc); -void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, const BF_KEY *schedule, - unsigned char *ivec, int *num); -const char *BF_options(void); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/bn.h b/deps/openssl/include/openssl/bn.h deleted file mode 100644 index 8af05d00..00000000 --- a/deps/openssl/include/openssl/bn.h +++ /dev/null @@ -1,539 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_BN_H -# define HEADER_BN_H - -# include -# ifndef OPENSSL_NO_STDIO -# include -# endif -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * 64-bit processor with LP64 ABI - */ -# ifdef SIXTY_FOUR_BIT_LONG -# define BN_ULONG unsigned long -# define BN_BYTES 8 -# endif - -/* - * 64-bit processor other than LP64 ABI - */ -# ifdef SIXTY_FOUR_BIT -# define BN_ULONG unsigned long long -# define BN_BYTES 8 -# endif - -# ifdef THIRTY_TWO_BIT -# define BN_ULONG unsigned int -# define BN_BYTES 4 -# endif - -# define BN_BITS2 (BN_BYTES * 8) -# define BN_BITS (BN_BITS2 * 2) -# define BN_TBIT ((BN_ULONG)1 << (BN_BITS2 - 1)) - -# define BN_FLG_MALLOCED 0x01 -# define BN_FLG_STATIC_DATA 0x02 - -/* - * avoid leaking exponent information through timing, - * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime, - * BN_div() will call BN_div_no_branch, - * BN_mod_inverse() will call BN_mod_inverse_no_branch. - */ -# define BN_FLG_CONSTTIME 0x04 -# define BN_FLG_SECURE 0x08 - -# if OPENSSL_API_COMPAT < 0x00908000L -/* deprecated name for the flag */ -# define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME -# define BN_FLG_FREE 0x8000 /* used for debugging */ -# endif - -void BN_set_flags(BIGNUM *b, int n); -int BN_get_flags(const BIGNUM *b, int n); - -/* Values for |top| in BN_rand() */ -#define BN_RAND_TOP_ANY -1 -#define BN_RAND_TOP_ONE 0 -#define BN_RAND_TOP_TWO 1 - -/* Values for |bottom| in BN_rand() */ -#define BN_RAND_BOTTOM_ANY 0 -#define BN_RAND_BOTTOM_ODD 1 - -/* - * get a clone of a BIGNUM with changed flags, for *temporary* use only (the - * two BIGNUMs cannot be used in parallel!). Also only for *read only* use. The - * value |dest| should be a newly allocated BIGNUM obtained via BN_new() that - * has not been otherwise initialised or used. - */ -void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags); - -/* Wrapper function to make using BN_GENCB easier */ -int BN_GENCB_call(BN_GENCB *cb, int a, int b); - -BN_GENCB *BN_GENCB_new(void); -void BN_GENCB_free(BN_GENCB *cb); - -/* Populate a BN_GENCB structure with an "old"-style callback */ -void BN_GENCB_set_old(BN_GENCB *gencb, void (*callback) (int, int, void *), - void *cb_arg); - -/* Populate a BN_GENCB structure with a "new"-style callback */ -void BN_GENCB_set(BN_GENCB *gencb, int (*callback) (int, int, BN_GENCB *), - void *cb_arg); - -void *BN_GENCB_get_arg(BN_GENCB *cb); - -# define BN_prime_checks 0 /* default: select number of iterations based - * on the size of the number */ - -/* - * BN_prime_checks_for_size() returns the number of Miller-Rabin iterations - * that will be done for checking that a random number is probably prime. The - * error rate for accepting a composite number as prime depends on the size of - * the prime |b|. The error rates used are for calculating an RSA key with 2 primes, - * and so the level is what you would expect for a key of double the size of the - * prime. - * - * This table is generated using the algorithm of FIPS PUB 186-4 - * Digital Signature Standard (DSS), section F.1, page 117. - * (https://dx.doi.org/10.6028/NIST.FIPS.186-4) - * - * The following magma script was used to generate the output: - * securitybits:=125; - * k:=1024; - * for t:=1 to 65 do - * for M:=3 to Floor(2*Sqrt(k-1)-1) do - * S:=0; - * // Sum over m - * for m:=3 to M do - * s:=0; - * // Sum over j - * for j:=2 to m do - * s+:=(RealField(32)!2)^-(j+(k-1)/j); - * end for; - * S+:=2^(m-(m-1)*t)*s; - * end for; - * A:=2^(k-2-M*t); - * B:=8*(Pi(RealField(32))^2-6)/3*2^(k-2)*S; - * pkt:=2.00743*Log(2)*k*2^-k*(A+B); - * seclevel:=Floor(-Log(2,pkt)); - * if seclevel ge securitybits then - * printf "k: %5o, security: %o bits (t: %o, M: %o)\n",k,seclevel,t,M; - * break; - * end if; - * end for; - * if seclevel ge securitybits then break; end if; - * end for; - * - * It can be run online at: - * http://magma.maths.usyd.edu.au/calc - * - * And will output: - * k: 1024, security: 129 bits (t: 6, M: 23) - * - * k is the number of bits of the prime, securitybits is the level we want to - * reach. - * - * prime length | RSA key size | # MR tests | security level - * -------------+--------------|------------+--------------- - * (b) >= 6394 | >= 12788 | 3 | 256 bit - * (b) >= 3747 | >= 7494 | 3 | 192 bit - * (b) >= 1345 | >= 2690 | 4 | 128 bit - * (b) >= 1080 | >= 2160 | 5 | 128 bit - * (b) >= 852 | >= 1704 | 5 | 112 bit - * (b) >= 476 | >= 952 | 5 | 80 bit - * (b) >= 400 | >= 800 | 6 | 80 bit - * (b) >= 347 | >= 694 | 7 | 80 bit - * (b) >= 308 | >= 616 | 8 | 80 bit - * (b) >= 55 | >= 110 | 27 | 64 bit - * (b) >= 6 | >= 12 | 34 | 64 bit - */ - -# define BN_prime_checks_for_size(b) ((b) >= 3747 ? 3 : \ - (b) >= 1345 ? 4 : \ - (b) >= 476 ? 5 : \ - (b) >= 400 ? 6 : \ - (b) >= 347 ? 7 : \ - (b) >= 308 ? 8 : \ - (b) >= 55 ? 27 : \ - /* b >= 6 */ 34) - -# define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) - -int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w); -int BN_is_zero(const BIGNUM *a); -int BN_is_one(const BIGNUM *a); -int BN_is_word(const BIGNUM *a, const BN_ULONG w); -int BN_is_odd(const BIGNUM *a); - -# define BN_one(a) (BN_set_word((a),1)) - -void BN_zero_ex(BIGNUM *a); - -# if OPENSSL_API_COMPAT >= 0x00908000L -# define BN_zero(a) BN_zero_ex(a) -# else -# define BN_zero(a) (BN_set_word((a),0)) -# endif - -const BIGNUM *BN_value_one(void); -char *BN_options(void); -BN_CTX *BN_CTX_new(void); -BN_CTX *BN_CTX_secure_new(void); -void BN_CTX_free(BN_CTX *c); -void BN_CTX_start(BN_CTX *ctx); -BIGNUM *BN_CTX_get(BN_CTX *ctx); -void BN_CTX_end(BN_CTX *ctx); -int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); -int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom); -int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); -int BN_priv_rand_range(BIGNUM *rnd, const BIGNUM *range); -int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); -int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); -int BN_num_bits(const BIGNUM *a); -int BN_num_bits_word(BN_ULONG l); -int BN_security_bits(int L, int N); -BIGNUM *BN_new(void); -BIGNUM *BN_secure_new(void); -void BN_clear_free(BIGNUM *a); -BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); -void BN_swap(BIGNUM *a, BIGNUM *b); -BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret); -int BN_bn2bin(const BIGNUM *a, unsigned char *to); -int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen); -BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret); -int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen); -BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); -int BN_bn2mpi(const BIGNUM *a, unsigned char *to); -int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); -int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); -/** BN_set_negative sets sign of a BIGNUM - * \param b pointer to the BIGNUM object - * \param n 0 if the BIGNUM b should be positive and a value != 0 otherwise - */ -void BN_set_negative(BIGNUM *b, int n); -/** BN_is_negative returns 1 if the BIGNUM is negative - * \param b pointer to the BIGNUM object - * \return 1 if a < 0 and 0 otherwise - */ -int BN_is_negative(const BIGNUM *b); - -int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, - BN_CTX *ctx); -# define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx)) -int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); -int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, - BN_CTX *ctx); -int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *m); -int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, - BN_CTX *ctx); -int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *m); -int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, - BN_CTX *ctx); -int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); -int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); -int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); -int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, - BN_CTX *ctx); -int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); - -BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w); -BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); -int BN_mul_word(BIGNUM *a, BN_ULONG w); -int BN_add_word(BIGNUM *a, BN_ULONG w); -int BN_sub_word(BIGNUM *a, BN_ULONG w); -int BN_set_word(BIGNUM *a, BN_ULONG w); -BN_ULONG BN_get_word(const BIGNUM *a); - -int BN_cmp(const BIGNUM *a, const BIGNUM *b); -void BN_free(BIGNUM *a); -int BN_is_bit_set(const BIGNUM *a, int n); -int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); -int BN_lshift1(BIGNUM *r, const BIGNUM *a); -int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); - -int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx); -int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); -int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *in_mont); -int BN_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); -int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, - const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, - BN_CTX *ctx, BN_MONT_CTX *m_ctx); -int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx); - -int BN_mask_bits(BIGNUM *a, int n); -# ifndef OPENSSL_NO_STDIO -int BN_print_fp(FILE *fp, const BIGNUM *a); -# endif -int BN_print(BIO *bio, const BIGNUM *a); -int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); -int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); -int BN_rshift1(BIGNUM *r, const BIGNUM *a); -void BN_clear(BIGNUM *a); -BIGNUM *BN_dup(const BIGNUM *a); -int BN_ucmp(const BIGNUM *a, const BIGNUM *b); -int BN_set_bit(BIGNUM *a, int n); -int BN_clear_bit(BIGNUM *a, int n); -char *BN_bn2hex(const BIGNUM *a); -char *BN_bn2dec(const BIGNUM *a); -int BN_hex2bn(BIGNUM **a, const char *str); -int BN_dec2bn(BIGNUM **a, const char *str); -int BN_asc2bn(BIGNUM **a, const char *str); -int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); -int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); /* returns - * -2 for - * error */ -BIGNUM *BN_mod_inverse(BIGNUM *ret, - const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); -BIGNUM *BN_mod_sqrt(BIGNUM *ret, - const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); - -void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords); - -/* Deprecated versions */ -DEPRECATEDIN_0_9_8(BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, - const BIGNUM *add, - const BIGNUM *rem, - void (*callback) (int, int, - void *), - void *cb_arg)) -DEPRECATEDIN_0_9_8(int - BN_is_prime(const BIGNUM *p, int nchecks, - void (*callback) (int, int, void *), - BN_CTX *ctx, void *cb_arg)) -DEPRECATEDIN_0_9_8(int - BN_is_prime_fasttest(const BIGNUM *p, int nchecks, - void (*callback) (int, int, void *), - BN_CTX *ctx, void *cb_arg, - int do_trial_division)) - -/* Newer versions */ -int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, - const BIGNUM *rem, BN_GENCB *cb); -int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); -int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, - int do_trial_division, BN_GENCB *cb); - -int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); - -int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, - const BIGNUM *Xp, const BIGNUM *Xp1, - const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx, - BN_GENCB *cb); -int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, - BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, - BN_CTX *ctx, BN_GENCB *cb); - -BN_MONT_CTX *BN_MONT_CTX_new(void); -int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - BN_MONT_CTX *mont, BN_CTX *ctx); -int BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, - BN_CTX *ctx); -int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, - BN_CTX *ctx); -void BN_MONT_CTX_free(BN_MONT_CTX *mont); -int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx); -BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from); -BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, CRYPTO_RWLOCK *lock, - const BIGNUM *mod, BN_CTX *ctx); - -/* BN_BLINDING flags */ -# define BN_BLINDING_NO_UPDATE 0x00000001 -# define BN_BLINDING_NO_RECREATE 0x00000002 - -BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); -void BN_BLINDING_free(BN_BLINDING *b); -int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx); -int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); -int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); -int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); -int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, - BN_CTX *); - -int BN_BLINDING_is_current_thread(BN_BLINDING *b); -void BN_BLINDING_set_current_thread(BN_BLINDING *b); -int BN_BLINDING_lock(BN_BLINDING *b); -int BN_BLINDING_unlock(BN_BLINDING *b); - -unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); -void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); -BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, - const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, - int (*bn_mod_exp) (BIGNUM *r, - const BIGNUM *a, - const BIGNUM *p, - const BIGNUM *m, - BN_CTX *ctx, - BN_MONT_CTX *m_ctx), - BN_MONT_CTX *m_ctx); - -DEPRECATEDIN_0_9_8(void BN_set_params(int mul, int high, int low, int mont)) -DEPRECATEDIN_0_9_8(int BN_get_params(int which)) /* 0, mul, 1 high, 2 low, 3 - * mont */ - -BN_RECP_CTX *BN_RECP_CTX_new(void); -void BN_RECP_CTX_free(BN_RECP_CTX *recp); -int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx); -int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, - BN_RECP_CTX *recp, BN_CTX *ctx); -int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx); -int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, - BN_RECP_CTX *recp, BN_CTX *ctx); - -# ifndef OPENSSL_NO_EC2M - -/* - * Functions for arithmetic over binary polynomials represented by BIGNUMs. - * The BIGNUM::neg property of BIGNUMs representing binary polynomials is - * ignored. Note that input arguments are not const so that their bit arrays - * can be expanded to the appropriate size if needed. - */ - -/* - * r = a + b - */ -int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -# define BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b) -/* - * r=a mod p - */ -int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); -/* r = (a * b) mod p */ -int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); -/* r = (a * a) mod p */ -int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -/* r = (1 / b) mod p */ -int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); -/* r = (a / b) mod p */ -int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); -/* r = (a ^ b) mod p */ -int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); -/* r = sqrt(a) mod p */ -int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - BN_CTX *ctx); -/* r^2 + r = a mod p */ -int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - BN_CTX *ctx); -# define BN_GF2m_cmp(a, b) BN_ucmp((a), (b)) -/*- - * Some functions allow for representation of the irreducible polynomials - * as an unsigned int[], say p. The irreducible f(t) is then of the form: - * t^p[0] + t^p[1] + ... + t^p[k] - * where m = p[0] > p[1] > ... > p[k] = 0. - */ -/* r = a mod p */ -int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); -/* r = (a * b) mod p */ -int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); -/* r = (a * a) mod p */ -int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], - BN_CTX *ctx); -/* r = (1 / b) mod p */ -int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], - BN_CTX *ctx); -/* r = (a / b) mod p */ -int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); -/* r = (a ^ b) mod p */ -int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); -/* r = sqrt(a) mod p */ -int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, - const int p[], BN_CTX *ctx); -/* r^2 + r = a mod p */ -int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, - const int p[], BN_CTX *ctx); -int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); -int BN_GF2m_arr2poly(const int p[], BIGNUM *a); - -# endif - -/* - * faster mod functions for the 'NIST primes' 0 <= a < p^2 - */ -int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); - -const BIGNUM *BN_get0_nist_prime_192(void); -const BIGNUM *BN_get0_nist_prime_224(void); -const BIGNUM *BN_get0_nist_prime_256(void); -const BIGNUM *BN_get0_nist_prime_384(void); -const BIGNUM *BN_get0_nist_prime_521(void); - -int (*BN_nist_mod_func(const BIGNUM *p)) (BIGNUM *r, const BIGNUM *a, - const BIGNUM *field, BN_CTX *ctx); - -int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range, - const BIGNUM *priv, const unsigned char *message, - size_t message_len, BN_CTX *ctx); - -/* Primes from RFC 2409 */ -BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn); -BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn); - -/* Primes from RFC 3526 */ -BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn); -BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn); -BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn); -BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn); -BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn); -BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define get_rfc2409_prime_768 BN_get_rfc2409_prime_768 -# define get_rfc2409_prime_1024 BN_get_rfc2409_prime_1024 -# define get_rfc3526_prime_1536 BN_get_rfc3526_prime_1536 -# define get_rfc3526_prime_2048 BN_get_rfc3526_prime_2048 -# define get_rfc3526_prime_3072 BN_get_rfc3526_prime_3072 -# define get_rfc3526_prime_4096 BN_get_rfc3526_prime_4096 -# define get_rfc3526_prime_6144 BN_get_rfc3526_prime_6144 -# define get_rfc3526_prime_8192 BN_get_rfc3526_prime_8192 -# endif - -int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom); - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/bnerr.h b/deps/openssl/include/openssl/bnerr.h deleted file mode 100644 index 9f3c7cfa..00000000 --- a/deps/openssl/include/openssl/bnerr.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_BNERR_H -# define HEADER_BNERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_BN_strings(void); - -/* - * BN function codes. - */ -# define BN_F_BNRAND 127 -# define BN_F_BNRAND_RANGE 138 -# define BN_F_BN_BLINDING_CONVERT_EX 100 -# define BN_F_BN_BLINDING_CREATE_PARAM 128 -# define BN_F_BN_BLINDING_INVERT_EX 101 -# define BN_F_BN_BLINDING_NEW 102 -# define BN_F_BN_BLINDING_UPDATE 103 -# define BN_F_BN_BN2DEC 104 -# define BN_F_BN_BN2HEX 105 -# define BN_F_BN_COMPUTE_WNAF 142 -# define BN_F_BN_CTX_GET 116 -# define BN_F_BN_CTX_NEW 106 -# define BN_F_BN_CTX_START 129 -# define BN_F_BN_DIV 107 -# define BN_F_BN_DIV_RECP 130 -# define BN_F_BN_EXP 123 -# define BN_F_BN_EXPAND_INTERNAL 120 -# define BN_F_BN_GENCB_NEW 143 -# define BN_F_BN_GENERATE_DSA_NONCE 140 -# define BN_F_BN_GENERATE_PRIME_EX 141 -# define BN_F_BN_GF2M_MOD 131 -# define BN_F_BN_GF2M_MOD_EXP 132 -# define BN_F_BN_GF2M_MOD_MUL 133 -# define BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 -# define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 -# define BN_F_BN_GF2M_MOD_SQR 136 -# define BN_F_BN_GF2M_MOD_SQRT 137 -# define BN_F_BN_LSHIFT 145 -# define BN_F_BN_MOD_EXP2_MONT 118 -# define BN_F_BN_MOD_EXP_MONT 109 -# define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 -# define BN_F_BN_MOD_EXP_MONT_WORD 117 -# define BN_F_BN_MOD_EXP_RECP 125 -# define BN_F_BN_MOD_EXP_SIMPLE 126 -# define BN_F_BN_MOD_INVERSE 110 -# define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 -# define BN_F_BN_MOD_LSHIFT_QUICK 119 -# define BN_F_BN_MOD_SQRT 121 -# define BN_F_BN_MONT_CTX_NEW 149 -# define BN_F_BN_MPI2BN 112 -# define BN_F_BN_NEW 113 -# define BN_F_BN_POOL_GET 147 -# define BN_F_BN_RAND 114 -# define BN_F_BN_RAND_RANGE 122 -# define BN_F_BN_RECP_CTX_NEW 150 -# define BN_F_BN_RSHIFT 146 -# define BN_F_BN_SET_WORDS 144 -# define BN_F_BN_STACK_PUSH 148 -# define BN_F_BN_USUB 115 - -/* - * BN reason codes. - */ -# define BN_R_ARG2_LT_ARG3 100 -# define BN_R_BAD_RECIPROCAL 101 -# define BN_R_BIGNUM_TOO_LONG 114 -# define BN_R_BITS_TOO_SMALL 118 -# define BN_R_CALLED_WITH_EVEN_MODULUS 102 -# define BN_R_DIV_BY_ZERO 103 -# define BN_R_ENCODING_ERROR 104 -# define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105 -# define BN_R_INPUT_NOT_REDUCED 110 -# define BN_R_INVALID_LENGTH 106 -# define BN_R_INVALID_RANGE 115 -# define BN_R_INVALID_SHIFT 119 -# define BN_R_NOT_A_SQUARE 111 -# define BN_R_NOT_INITIALIZED 107 -# define BN_R_NO_INVERSE 108 -# define BN_R_NO_SOLUTION 116 -# define BN_R_PRIVATE_KEY_TOO_LARGE 117 -# define BN_R_P_IS_NOT_PRIME 112 -# define BN_R_TOO_MANY_ITERATIONS 113 -# define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 - -#endif diff --git a/deps/openssl/include/openssl/buffer.h b/deps/openssl/include/openssl/buffer.h deleted file mode 100644 index d2765766..00000000 --- a/deps/openssl/include/openssl/buffer.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_BUFFER_H -# define HEADER_BUFFER_H - -# include -# ifndef HEADER_CRYPTO_H -# include -# endif -# include - - -#ifdef __cplusplus -extern "C" { -#endif - -# include -# include - -/* - * These names are outdated as of OpenSSL 1.1; a future release - * will move them to be deprecated. - */ -# define BUF_strdup(s) OPENSSL_strdup(s) -# define BUF_strndup(s, size) OPENSSL_strndup(s, size) -# define BUF_memdup(data, size) OPENSSL_memdup(data, size) -# define BUF_strlcpy(dst, src, size) OPENSSL_strlcpy(dst, src, size) -# define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size) -# define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen) - -struct buf_mem_st { - size_t length; /* current number of bytes */ - char *data; - size_t max; /* size of buffer */ - unsigned long flags; -}; - -# define BUF_MEM_FLAG_SECURE 0x01 - -BUF_MEM *BUF_MEM_new(void); -BUF_MEM *BUF_MEM_new_ex(unsigned long flags); -void BUF_MEM_free(BUF_MEM *a); -size_t BUF_MEM_grow(BUF_MEM *str, size_t len); -size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len); -void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/buffererr.h b/deps/openssl/include/openssl/buffererr.h deleted file mode 100644 index 04f6ff7a..00000000 --- a/deps/openssl/include/openssl/buffererr.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_BUFERR_H -# define HEADER_BUFERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_BUF_strings(void); - -/* - * BUF function codes. - */ -# define BUF_F_BUF_MEM_GROW 100 -# define BUF_F_BUF_MEM_GROW_CLEAN 105 -# define BUF_F_BUF_MEM_NEW 101 - -/* - * BUF reason codes. - */ - -#endif diff --git a/deps/openssl/include/openssl/camellia.h b/deps/openssl/include/openssl/camellia.h deleted file mode 100644 index 151f3c13..00000000 --- a/deps/openssl/include/openssl/camellia.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CAMELLIA_H -# define HEADER_CAMELLIA_H - -# include - -# ifndef OPENSSL_NO_CAMELLIA -# include -#ifdef __cplusplus -extern "C" { -#endif - -# define CAMELLIA_ENCRYPT 1 -# define CAMELLIA_DECRYPT 0 - -/* - * Because array size can't be a const in C, the following two are macros. - * Both sizes are in bytes. - */ - -/* This should be a hidden type, but EVP requires that the size be known */ - -# define CAMELLIA_BLOCK_SIZE 16 -# define CAMELLIA_TABLE_BYTE_LEN 272 -# define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) - -typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match - * with WORD */ - -struct camellia_key_st { - union { - double d; /* ensures 64-bit align */ - KEY_TABLE_TYPE rd_key; - } u; - int grand_rounds; -}; -typedef struct camellia_key_st CAMELLIA_KEY; - -int Camellia_set_key(const unsigned char *userKey, const int bits, - CAMELLIA_KEY *key); - -void Camellia_encrypt(const unsigned char *in, unsigned char *out, - const CAMELLIA_KEY *key); -void Camellia_decrypt(const unsigned char *in, unsigned char *out, - const CAMELLIA_KEY *key); - -void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, - const CAMELLIA_KEY *key, const int enc); -void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, const int enc); -void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, int *num, const int enc); -void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, int *num, const int enc); -void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, int *num, const int enc); -void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, int *num); -void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char ivec[CAMELLIA_BLOCK_SIZE], - unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], - unsigned int *num); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/cast.h b/deps/openssl/include/openssl/cast.h deleted file mode 100644 index 2cc89ae0..00000000 --- a/deps/openssl/include/openssl/cast.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CAST_H -# define HEADER_CAST_H - -# include - -# ifndef OPENSSL_NO_CAST -# ifdef __cplusplus -extern "C" { -# endif - -# define CAST_ENCRYPT 1 -# define CAST_DECRYPT 0 - -# define CAST_LONG unsigned int - -# define CAST_BLOCK 8 -# define CAST_KEY_LENGTH 16 - -typedef struct cast_key_st { - CAST_LONG data[32]; - int short_key; /* Use reduced rounds for short key */ -} CAST_KEY; - -void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); -void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, - const CAST_KEY *key, int enc); -void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); -void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); -void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, - long length, const CAST_KEY *ks, unsigned char *iv, - int enc); -void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, const CAST_KEY *schedule, - unsigned char *ivec, int *num, int enc); -void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, const CAST_KEY *schedule, - unsigned char *ivec, int *num); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/cmac.h b/deps/openssl/include/openssl/cmac.h deleted file mode 100644 index 3535a9ab..00000000 --- a/deps/openssl/include/openssl/cmac.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CMAC_H -# define HEADER_CMAC_H - -# ifndef OPENSSL_NO_CMAC - -#ifdef __cplusplus -extern "C" { -#endif - -# include - -/* Opaque */ -typedef struct CMAC_CTX_st CMAC_CTX; - -CMAC_CTX *CMAC_CTX_new(void); -void CMAC_CTX_cleanup(CMAC_CTX *ctx); -void CMAC_CTX_free(CMAC_CTX *ctx); -EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); -int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); - -int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, - const EVP_CIPHER *cipher, ENGINE *impl); -int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); -int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); -int CMAC_resume(CMAC_CTX *ctx); - -#ifdef __cplusplus -} -#endif - -# endif -#endif diff --git a/deps/openssl/include/openssl/cms.h b/deps/openssl/include/openssl/cms.h deleted file mode 100644 index c7627968..00000000 --- a/deps/openssl/include/openssl/cms.h +++ /dev/null @@ -1,339 +0,0 @@ -/* - * Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CMS_H -# define HEADER_CMS_H - -# include - -# ifndef OPENSSL_NO_CMS -# include -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - -typedef struct CMS_ContentInfo_st CMS_ContentInfo; -typedef struct CMS_SignerInfo_st CMS_SignerInfo; -typedef struct CMS_CertificateChoices CMS_CertificateChoices; -typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice; -typedef struct CMS_RecipientInfo_st CMS_RecipientInfo; -typedef struct CMS_ReceiptRequest_st CMS_ReceiptRequest; -typedef struct CMS_Receipt_st CMS_Receipt; -typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; -typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; - -DEFINE_STACK_OF(CMS_SignerInfo) -DEFINE_STACK_OF(CMS_RecipientEncryptedKey) -DEFINE_STACK_OF(CMS_RecipientInfo) -DEFINE_STACK_OF(CMS_RevocationInfoChoice) -DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) -DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) -DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) - -# define CMS_SIGNERINFO_ISSUER_SERIAL 0 -# define CMS_SIGNERINFO_KEYIDENTIFIER 1 - -# define CMS_RECIPINFO_NONE -1 -# define CMS_RECIPINFO_TRANS 0 -# define CMS_RECIPINFO_AGREE 1 -# define CMS_RECIPINFO_KEK 2 -# define CMS_RECIPINFO_PASS 3 -# define CMS_RECIPINFO_OTHER 4 - -/* S/MIME related flags */ - -# define CMS_TEXT 0x1 -# define CMS_NOCERTS 0x2 -# define CMS_NO_CONTENT_VERIFY 0x4 -# define CMS_NO_ATTR_VERIFY 0x8 -# define CMS_NOSIGS \ - (CMS_NO_CONTENT_VERIFY|CMS_NO_ATTR_VERIFY) -# define CMS_NOINTERN 0x10 -# define CMS_NO_SIGNER_CERT_VERIFY 0x20 -# define CMS_NOVERIFY 0x20 -# define CMS_DETACHED 0x40 -# define CMS_BINARY 0x80 -# define CMS_NOATTR 0x100 -# define CMS_NOSMIMECAP 0x200 -# define CMS_NOOLDMIMETYPE 0x400 -# define CMS_CRLFEOL 0x800 -# define CMS_STREAM 0x1000 -# define CMS_NOCRL 0x2000 -# define CMS_PARTIAL 0x4000 -# define CMS_REUSE_DIGEST 0x8000 -# define CMS_USE_KEYID 0x10000 -# define CMS_DEBUG_DECRYPT 0x20000 -# define CMS_KEY_PARAM 0x40000 -# define CMS_ASCIICRLF 0x80000 - -const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms); - -BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont); -int CMS_dataFinal(CMS_ContentInfo *cms, BIO *bio); - -ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); -int CMS_is_detached(CMS_ContentInfo *cms); -int CMS_set_detached(CMS_ContentInfo *cms, int detached); - -# ifdef HEADER_PEM_H -DECLARE_PEM_rw_const(CMS, CMS_ContentInfo) -# endif -int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); -CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); -int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms); - -BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms); -int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); -int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, - int flags); -CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont); -int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags); - -int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, - unsigned int flags); - -CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, - STACK_OF(X509) *certs, BIO *data, - unsigned int flags); - -CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, - X509 *signcert, EVP_PKEY *pkey, - STACK_OF(X509) *certs, unsigned int flags); - -int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags); -CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags); - -int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out, - unsigned int flags); -CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, - unsigned int flags); - -int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, - const unsigned char *key, size_t keylen, - BIO *dcont, BIO *out, unsigned int flags); - -CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, - const unsigned char *key, - size_t keylen, unsigned int flags); - -int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, - const unsigned char *key, size_t keylen); - -int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, - X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags); - -int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, - STACK_OF(X509) *certs, - X509_STORE *store, unsigned int flags); - -STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms); - -CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, - const EVP_CIPHER *cipher, unsigned int flags); - -int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, - BIO *dcont, BIO *out, unsigned int flags); - -int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); -int CMS_decrypt_set1_key(CMS_ContentInfo *cms, - unsigned char *key, size_t keylen, - const unsigned char *id, size_t idlen); -int CMS_decrypt_set1_password(CMS_ContentInfo *cms, - unsigned char *pass, ossl_ssize_t passlen); - -STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms); -int CMS_RecipientInfo_type(CMS_RecipientInfo *ri); -EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri); -CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher); -CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, - X509 *recip, unsigned int flags); -int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey); -int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert); -int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, - EVP_PKEY **pk, X509 **recip, - X509_ALGOR **palg); -int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, - ASN1_OCTET_STRING **keyid, - X509_NAME **issuer, - ASN1_INTEGER **sno); - -CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, - unsigned char *key, size_t keylen, - unsigned char *id, size_t idlen, - ASN1_GENERALIZEDTIME *date, - ASN1_OBJECT *otherTypeId, - ASN1_TYPE *otherType); - -int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, - X509_ALGOR **palg, - ASN1_OCTET_STRING **pid, - ASN1_GENERALIZEDTIME **pdate, - ASN1_OBJECT **potherid, - ASN1_TYPE **pothertype); - -int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, - unsigned char *key, size_t keylen); - -int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, - const unsigned char *id, size_t idlen); - -int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, - unsigned char *pass, - ossl_ssize_t passlen); - -CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, - int iter, int wrap_nid, - int pbe_nid, - unsigned char *pass, - ossl_ssize_t passlen, - const EVP_CIPHER *kekciph); - -int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); -int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); - -int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, - unsigned int flags); -CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags); - -int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid); -const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms); - -CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms); -int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert); -int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert); -STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms); - -CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms); -int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl); -int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl); -STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms); - -int CMS_SignedData_init(CMS_ContentInfo *cms); -CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, - X509 *signer, EVP_PKEY *pk, const EVP_MD *md, - unsigned int flags); -EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si); -EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si); -STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms); - -void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer); -int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, - ASN1_OCTET_STRING **keyid, - X509_NAME **issuer, ASN1_INTEGER **sno); -int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert); -int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *certs, - unsigned int flags); -void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, - X509 **signer, X509_ALGOR **pdig, - X509_ALGOR **psig); -ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si); -int CMS_SignerInfo_sign(CMS_SignerInfo *si); -int CMS_SignerInfo_verify(CMS_SignerInfo *si); -int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain); - -int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs); -int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, - int algnid, int keysize); -int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap); - -int CMS_signed_get_attr_count(const CMS_SignerInfo *si); -int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, - int lastpos); -int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc); -X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc); -int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); -int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, - const ASN1_OBJECT *obj, int type, - const void *bytes, int len); -int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, - int nid, int type, - const void *bytes, int len); -int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, - const char *attrname, int type, - const void *bytes, int len); -void *CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *oid, - int lastpos, int type); - -int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si); -int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, - int lastpos); -int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, - const ASN1_OBJECT *obj, int lastpos); -X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc); -X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc); -int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); -int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, - const ASN1_OBJECT *obj, int type, - const void *bytes, int len); -int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, - int nid, int type, - const void *bytes, int len); -int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, - const char *attrname, int type, - const void *bytes, int len); -void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, - int lastpos, int type); - -int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); -CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, - int allorfirst, - STACK_OF(GENERAL_NAMES) - *receiptList, STACK_OF(GENERAL_NAMES) - *receiptsTo); -int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); -void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, - ASN1_STRING **pcid, - int *pallorfirst, - STACK_OF(GENERAL_NAMES) **plist, - STACK_OF(GENERAL_NAMES) **prto); -int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, - X509_ALGOR **palg, - ASN1_OCTET_STRING **pukm); -STACK_OF(CMS_RecipientEncryptedKey) -*CMS_RecipientInfo_kari_get0_reks(CMS_RecipientInfo *ri); - -int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri, - X509_ALGOR **pubalg, - ASN1_BIT_STRING **pubkey, - ASN1_OCTET_STRING **keyid, - X509_NAME **issuer, - ASN1_INTEGER **sno); - -int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509 *cert); - -int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek, - ASN1_OCTET_STRING **keyid, - ASN1_GENERALIZEDTIME **tm, - CMS_OtherKeyAttribute **other, - X509_NAME **issuer, ASN1_INTEGER **sno); -int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek, - X509 *cert); -int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk); -EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo *ri); -int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, - CMS_RecipientInfo *ri, - CMS_RecipientEncryptedKey *rek); - -int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg, - ASN1_OCTET_STRING *ukm, int keylen); - -/* Backward compatibility for spelling errors. */ -# define CMS_R_UNKNOWN_DIGEST_ALGORITM CMS_R_UNKNOWN_DIGEST_ALGORITHM -# define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE \ - CMS_R_UNSUPPORTED_RECIPIENTINFO_TYPE - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/cmserr.h b/deps/openssl/include/openssl/cmserr.h deleted file mode 100644 index 7dbc13dc..00000000 --- a/deps/openssl/include/openssl/cmserr.h +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CMSERR_H -# define HEADER_CMSERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_CMS - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_CMS_strings(void); - -/* - * CMS function codes. - */ -# define CMS_F_CHECK_CONTENT 99 -# define CMS_F_CMS_ADD0_CERT 164 -# define CMS_F_CMS_ADD0_RECIPIENT_KEY 100 -# define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 165 -# define CMS_F_CMS_ADD1_RECEIPTREQUEST 158 -# define CMS_F_CMS_ADD1_RECIPIENT_CERT 101 -# define CMS_F_CMS_ADD1_SIGNER 102 -# define CMS_F_CMS_ADD1_SIGNINGTIME 103 -# define CMS_F_CMS_COMPRESS 104 -# define CMS_F_CMS_COMPRESSEDDATA_CREATE 105 -# define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 106 -# define CMS_F_CMS_COPY_CONTENT 107 -# define CMS_F_CMS_COPY_MESSAGEDIGEST 108 -# define CMS_F_CMS_DATA 109 -# define CMS_F_CMS_DATAFINAL 110 -# define CMS_F_CMS_DATAINIT 111 -# define CMS_F_CMS_DECRYPT 112 -# define CMS_F_CMS_DECRYPT_SET1_KEY 113 -# define CMS_F_CMS_DECRYPT_SET1_PASSWORD 166 -# define CMS_F_CMS_DECRYPT_SET1_PKEY 114 -# define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 115 -# define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 116 -# define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 117 -# define CMS_F_CMS_DIGEST_VERIFY 118 -# define CMS_F_CMS_ENCODE_RECEIPT 161 -# define CMS_F_CMS_ENCRYPT 119 -# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT 179 -# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 120 -# define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 121 -# define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 122 -# define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 123 -# define CMS_F_CMS_ENVELOPEDDATA_CREATE 124 -# define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 125 -# define CMS_F_CMS_ENVELOPED_DATA_INIT 126 -# define CMS_F_CMS_ENV_ASN1_CTRL 171 -# define CMS_F_CMS_FINAL 127 -# define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 128 -# define CMS_F_CMS_GET0_CONTENT 129 -# define CMS_F_CMS_GET0_ECONTENT_TYPE 130 -# define CMS_F_CMS_GET0_ENVELOPED 131 -# define CMS_F_CMS_GET0_REVOCATION_CHOICES 132 -# define CMS_F_CMS_GET0_SIGNED 133 -# define CMS_F_CMS_MSGSIGDIGEST_ADD1 162 -# define CMS_F_CMS_RECEIPTREQUEST_CREATE0 159 -# define CMS_F_CMS_RECEIPT_VERIFY 160 -# define CMS_F_CMS_RECIPIENTINFO_DECRYPT 134 -# define CMS_F_CMS_RECIPIENTINFO_ENCRYPT 169 -# define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT 178 -# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG 175 -# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID 173 -# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS 172 -# define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP 174 -# define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 135 -# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 136 -# define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 137 -# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 138 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 139 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 140 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 141 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 142 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 143 -# define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 167 -# define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 144 -# define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 168 -# define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 145 -# define CMS_F_CMS_SD_ASN1_CTRL 170 -# define CMS_F_CMS_SET1_IAS 176 -# define CMS_F_CMS_SET1_KEYID 177 -# define CMS_F_CMS_SET1_SIGNERIDENTIFIER 146 -# define CMS_F_CMS_SET_DETACHED 147 -# define CMS_F_CMS_SIGN 148 -# define CMS_F_CMS_SIGNED_DATA_INIT 149 -# define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 150 -# define CMS_F_CMS_SIGNERINFO_SIGN 151 -# define CMS_F_CMS_SIGNERINFO_VERIFY 152 -# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 -# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 -# define CMS_F_CMS_SIGN_RECEIPT 163 -# define CMS_F_CMS_SI_CHECK_ATTRIBUTES 183 -# define CMS_F_CMS_STREAM 155 -# define CMS_F_CMS_UNCOMPRESS 156 -# define CMS_F_CMS_VERIFY 157 -# define CMS_F_KEK_UNWRAP_KEY 180 - -/* - * CMS reason codes. - */ -# define CMS_R_ADD_SIGNER_ERROR 99 -# define CMS_R_ATTRIBUTE_ERROR 161 -# define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 -# define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 -# define CMS_R_CERTIFICATE_VERIFY_ERROR 100 -# define CMS_R_CIPHER_INITIALISATION_ERROR 101 -# define CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR 102 -# define CMS_R_CMS_DATAFINAL_ERROR 103 -# define CMS_R_CMS_LIB 104 -# define CMS_R_CONTENTIDENTIFIER_MISMATCH 170 -# define CMS_R_CONTENT_NOT_FOUND 105 -# define CMS_R_CONTENT_TYPE_MISMATCH 171 -# define CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA 106 -# define CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA 107 -# define CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA 108 -# define CMS_R_CONTENT_VERIFY_ERROR 109 -# define CMS_R_CTRL_ERROR 110 -# define CMS_R_CTRL_FAILURE 111 -# define CMS_R_DECRYPT_ERROR 112 -# define CMS_R_ERROR_GETTING_PUBLIC_KEY 113 -# define CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE 114 -# define CMS_R_ERROR_SETTING_KEY 115 -# define CMS_R_ERROR_SETTING_RECIPIENTINFO 116 -# define CMS_R_INVALID_ENCRYPTED_KEY_LENGTH 117 -# define CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER 176 -# define CMS_R_INVALID_KEY_LENGTH 118 -# define CMS_R_MD_BIO_INIT_ERROR 119 -# define CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH 120 -# define CMS_R_MESSAGEDIGEST_WRONG_LENGTH 121 -# define CMS_R_MSGSIGDIGEST_ERROR 172 -# define CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE 162 -# define CMS_R_MSGSIGDIGEST_WRONG_LENGTH 163 -# define CMS_R_NEED_ONE_SIGNER 164 -# define CMS_R_NOT_A_SIGNED_RECEIPT 165 -# define CMS_R_NOT_ENCRYPTED_DATA 122 -# define CMS_R_NOT_KEK 123 -# define CMS_R_NOT_KEY_AGREEMENT 181 -# define CMS_R_NOT_KEY_TRANSPORT 124 -# define CMS_R_NOT_PWRI 177 -# define CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 125 -# define CMS_R_NO_CIPHER 126 -# define CMS_R_NO_CONTENT 127 -# define CMS_R_NO_CONTENT_TYPE 173 -# define CMS_R_NO_DEFAULT_DIGEST 128 -# define CMS_R_NO_DIGEST_SET 129 -# define CMS_R_NO_KEY 130 -# define CMS_R_NO_KEY_OR_CERT 174 -# define CMS_R_NO_MATCHING_DIGEST 131 -# define CMS_R_NO_MATCHING_RECIPIENT 132 -# define CMS_R_NO_MATCHING_SIGNATURE 166 -# define CMS_R_NO_MSGSIGDIGEST 167 -# define CMS_R_NO_PASSWORD 178 -# define CMS_R_NO_PRIVATE_KEY 133 -# define CMS_R_NO_PUBLIC_KEY 134 -# define CMS_R_NO_RECEIPT_REQUEST 168 -# define CMS_R_NO_SIGNERS 135 -# define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 136 -# define CMS_R_RECEIPT_DECODE_ERROR 169 -# define CMS_R_RECIPIENT_ERROR 137 -# define CMS_R_SIGNER_CERTIFICATE_NOT_FOUND 138 -# define CMS_R_SIGNFINAL_ERROR 139 -# define CMS_R_SMIME_TEXT_ERROR 140 -# define CMS_R_STORE_INIT_ERROR 141 -# define CMS_R_TYPE_NOT_COMPRESSED_DATA 142 -# define CMS_R_TYPE_NOT_DATA 143 -# define CMS_R_TYPE_NOT_DIGESTED_DATA 144 -# define CMS_R_TYPE_NOT_ENCRYPTED_DATA 145 -# define CMS_R_TYPE_NOT_ENVELOPED_DATA 146 -# define CMS_R_UNABLE_TO_FINALIZE_CONTEXT 147 -# define CMS_R_UNKNOWN_CIPHER 148 -# define CMS_R_UNKNOWN_DIGEST_ALGORITHM 149 -# define CMS_R_UNKNOWN_ID 150 -# define CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM 151 -# define CMS_R_UNSUPPORTED_CONTENT_TYPE 152 -# define CMS_R_UNSUPPORTED_KEK_ALGORITHM 153 -# define CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM 179 -# define CMS_R_UNSUPPORTED_RECIPIENTINFO_TYPE 155 -# define CMS_R_UNSUPPORTED_RECIPIENT_TYPE 154 -# define CMS_R_UNSUPPORTED_TYPE 156 -# define CMS_R_UNWRAP_ERROR 157 -# define CMS_R_UNWRAP_FAILURE 180 -# define CMS_R_VERIFICATION_FAILURE 158 -# define CMS_R_WRAP_ERROR 159 - -# endif -#endif diff --git a/deps/openssl/include/openssl/comp.h b/deps/openssl/include/openssl/comp.h deleted file mode 100644 index d814d3cf..00000000 --- a/deps/openssl/include/openssl/comp.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_COMP_H -# define HEADER_COMP_H - -# include - -# ifndef OPENSSL_NO_COMP -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - - - -COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); -const COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx); -int COMP_CTX_get_type(const COMP_CTX* comp); -int COMP_get_type(const COMP_METHOD *meth); -const char *COMP_get_name(const COMP_METHOD *meth); -void COMP_CTX_free(COMP_CTX *ctx); - -int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, - unsigned char *in, int ilen); -int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, - unsigned char *in, int ilen); - -COMP_METHOD *COMP_zlib(void); - -#if OPENSSL_API_COMPAT < 0x10100000L -#define COMP_zlib_cleanup() while(0) continue -#endif - -# ifdef HEADER_BIO_H -# ifdef ZLIB -const BIO_METHOD *BIO_f_zlib(void); -# endif -# endif - - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/comperr.h b/deps/openssl/include/openssl/comperr.h deleted file mode 100644 index 90231e9a..00000000 --- a/deps/openssl/include/openssl/comperr.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_COMPERR_H -# define HEADER_COMPERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_COMP - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_COMP_strings(void); - -/* - * COMP function codes. - */ -# define COMP_F_BIO_ZLIB_FLUSH 99 -# define COMP_F_BIO_ZLIB_NEW 100 -# define COMP_F_BIO_ZLIB_READ 101 -# define COMP_F_BIO_ZLIB_WRITE 102 -# define COMP_F_COMP_CTX_NEW 103 - -/* - * COMP reason codes. - */ -# define COMP_R_ZLIB_DEFLATE_ERROR 99 -# define COMP_R_ZLIB_INFLATE_ERROR 100 -# define COMP_R_ZLIB_NOT_SUPPORTED 101 - -# endif -#endif diff --git a/deps/openssl/include/openssl/conf.h b/deps/openssl/include/openssl/conf.h deleted file mode 100644 index 7336cd2f..00000000 --- a/deps/openssl/include/openssl/conf.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CONF_H -# define HEADER_CONF_H - -# include -# include -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - char *section; - char *name; - char *value; -} CONF_VALUE; - -DEFINE_STACK_OF(CONF_VALUE) -DEFINE_LHASH_OF(CONF_VALUE); - -struct conf_st; -struct conf_method_st; -typedef struct conf_method_st CONF_METHOD; - -struct conf_method_st { - const char *name; - CONF *(*create) (CONF_METHOD *meth); - int (*init) (CONF *conf); - int (*destroy) (CONF *conf); - int (*destroy_data) (CONF *conf); - int (*load_bio) (CONF *conf, BIO *bp, long *eline); - int (*dump) (const CONF *conf, BIO *bp); - int (*is_number) (const CONF *conf, char c); - int (*to_int) (const CONF *conf, char c); - int (*load) (CONF *conf, const char *name, long *eline); -}; - -/* Module definitions */ - -typedef struct conf_imodule_st CONF_IMODULE; -typedef struct conf_module_st CONF_MODULE; - -DEFINE_STACK_OF(CONF_MODULE) -DEFINE_STACK_OF(CONF_IMODULE) - -/* DSO module function typedefs */ -typedef int conf_init_func (CONF_IMODULE *md, const CONF *cnf); -typedef void conf_finish_func (CONF_IMODULE *md); - -# define CONF_MFLAGS_IGNORE_ERRORS 0x1 -# define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 -# define CONF_MFLAGS_SILENT 0x4 -# define CONF_MFLAGS_NO_DSO 0x8 -# define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 -# define CONF_MFLAGS_DEFAULT_SECTION 0x20 - -int CONF_set_default_method(CONF_METHOD *meth); -void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); -LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, - long *eline); -# ifndef OPENSSL_NO_STDIO -LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, - long *eline); -# endif -LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, - long *eline); -STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, - const char *section); -char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, - const char *name); -long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group, - const char *name); -void CONF_free(LHASH_OF(CONF_VALUE) *conf); -#ifndef OPENSSL_NO_STDIO -int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); -#endif -int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); - -DEPRECATEDIN_1_1_0(void OPENSSL_config(const char *config_name)) - -#if OPENSSL_API_COMPAT < 0x10100000L -# define OPENSSL_no_config() \ - OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL) -#endif - -/* - * New conf code. The semantics are different from the functions above. If - * that wasn't the case, the above functions would have been replaced - */ - -struct conf_st { - CONF_METHOD *meth; - void *meth_data; - LHASH_OF(CONF_VALUE) *data; -}; - -CONF *NCONF_new(CONF_METHOD *meth); -CONF_METHOD *NCONF_default(void); -CONF_METHOD *NCONF_WIN32(void); -void NCONF_free(CONF *conf); -void NCONF_free_data(CONF *conf); - -int NCONF_load(CONF *conf, const char *file, long *eline); -# ifndef OPENSSL_NO_STDIO -int NCONF_load_fp(CONF *conf, FILE *fp, long *eline); -# endif -int NCONF_load_bio(CONF *conf, BIO *bp, long *eline); -STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, - const char *section); -char *NCONF_get_string(const CONF *conf, const char *group, const char *name); -int NCONF_get_number_e(const CONF *conf, const char *group, const char *name, - long *result); -#ifndef OPENSSL_NO_STDIO -int NCONF_dump_fp(const CONF *conf, FILE *out); -#endif -int NCONF_dump_bio(const CONF *conf, BIO *out); - -#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) - -/* Module functions */ - -int CONF_modules_load(const CONF *cnf, const char *appname, - unsigned long flags); -int CONF_modules_load_file(const char *filename, const char *appname, - unsigned long flags); -void CONF_modules_unload(int all); -void CONF_modules_finish(void); -#if OPENSSL_API_COMPAT < 0x10100000L -# define CONF_modules_free() while(0) continue -#endif -int CONF_module_add(const char *name, conf_init_func *ifunc, - conf_finish_func *ffunc); - -const char *CONF_imodule_get_name(const CONF_IMODULE *md); -const char *CONF_imodule_get_value(const CONF_IMODULE *md); -void *CONF_imodule_get_usr_data(const CONF_IMODULE *md); -void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); -CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); -unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); -void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); -void *CONF_module_get_usr_data(CONF_MODULE *pmod); -void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); - -char *CONF_get1_default_config_file(void); - -int CONF_parse_list(const char *list, int sep, int nospc, - int (*list_cb) (const char *elem, int len, void *usr), - void *arg); - -void OPENSSL_load_builtin_modules(void); - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/conf_api.h b/deps/openssl/include/openssl/conf_api.h deleted file mode 100644 index a0275ad7..00000000 --- a/deps/openssl/include/openssl/conf_api.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CONF_API_H -# define HEADER_CONF_API_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Up until OpenSSL 0.9.5a, this was new_section */ -CONF_VALUE *_CONF_new_section(CONF *conf, const char *section); -/* Up until OpenSSL 0.9.5a, this was get_section */ -CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section); -/* Up until OpenSSL 0.9.5a, this was CONF_get_section */ -STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, - const char *section); - -int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value); -char *_CONF_get_string(const CONF *conf, const char *section, - const char *name); -long _CONF_get_number(const CONF *conf, const char *section, - const char *name); - -int _CONF_new_data(CONF *conf); -void _CONF_free_data(CONF *conf); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/conferr.h b/deps/openssl/include/openssl/conferr.h deleted file mode 100644 index 32b92291..00000000 --- a/deps/openssl/include/openssl/conferr.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CONFERR_H -# define HEADER_CONFERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_CONF_strings(void); - -/* - * CONF function codes. - */ -# define CONF_F_CONF_DUMP_FP 104 -# define CONF_F_CONF_LOAD 100 -# define CONF_F_CONF_LOAD_FP 103 -# define CONF_F_CONF_PARSE_LIST 119 -# define CONF_F_DEF_LOAD 120 -# define CONF_F_DEF_LOAD_BIO 121 -# define CONF_F_GET_NEXT_FILE 107 -# define CONF_F_MODULE_ADD 122 -# define CONF_F_MODULE_INIT 115 -# define CONF_F_MODULE_LOAD_DSO 117 -# define CONF_F_MODULE_RUN 118 -# define CONF_F_NCONF_DUMP_BIO 105 -# define CONF_F_NCONF_DUMP_FP 106 -# define CONF_F_NCONF_GET_NUMBER_E 112 -# define CONF_F_NCONF_GET_SECTION 108 -# define CONF_F_NCONF_GET_STRING 109 -# define CONF_F_NCONF_LOAD 113 -# define CONF_F_NCONF_LOAD_BIO 110 -# define CONF_F_NCONF_LOAD_FP 114 -# define CONF_F_NCONF_NEW 111 -# define CONF_F_PROCESS_INCLUDE 116 -# define CONF_F_SSL_MODULE_INIT 123 -# define CONF_F_STR_COPY 101 - -/* - * CONF reason codes. - */ -# define CONF_R_ERROR_LOADING_DSO 110 -# define CONF_R_LIST_CANNOT_BE_NULL 115 -# define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 -# define CONF_R_MISSING_EQUAL_SIGN 101 -# define CONF_R_MISSING_INIT_FUNCTION 112 -# define CONF_R_MODULE_INITIALIZATION_ERROR 109 -# define CONF_R_NO_CLOSE_BRACE 102 -# define CONF_R_NO_CONF 105 -# define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 -# define CONF_R_NO_SECTION 107 -# define CONF_R_NO_SUCH_FILE 114 -# define CONF_R_NO_VALUE 108 -# define CONF_R_NUMBER_TOO_LARGE 121 -# define CONF_R_RECURSIVE_DIRECTORY_INCLUDE 111 -# define CONF_R_SSL_COMMAND_SECTION_EMPTY 117 -# define CONF_R_SSL_COMMAND_SECTION_NOT_FOUND 118 -# define CONF_R_SSL_SECTION_EMPTY 119 -# define CONF_R_SSL_SECTION_NOT_FOUND 120 -# define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 -# define CONF_R_UNKNOWN_MODULE_NAME 113 -# define CONF_R_VARIABLE_EXPANSION_TOO_LONG 116 -# define CONF_R_VARIABLE_HAS_NO_VALUE 104 - -#endif diff --git a/deps/openssl/include/openssl/crypto.h b/deps/openssl/include/openssl/crypto.h deleted file mode 100644 index 7d0b5262..00000000 --- a/deps/openssl/include/openssl/crypto.h +++ /dev/null @@ -1,445 +0,0 @@ -/* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CRYPTO_H -# define HEADER_CRYPTO_H - -# include -# include - -# include - -# ifndef OPENSSL_NO_STDIO -# include -# endif - -# include -# include -# include -# include -# include - -# ifdef CHARSET_EBCDIC -# include -# endif - -/* - * Resolve problems on some operating systems with symbol names that clash - * one way or another - */ -# include - -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# if OPENSSL_API_COMPAT < 0x10100000L -# define SSLeay OpenSSL_version_num -# define SSLeay_version OpenSSL_version -# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER -# define SSLEAY_VERSION OPENSSL_VERSION -# define SSLEAY_CFLAGS OPENSSL_CFLAGS -# define SSLEAY_BUILT_ON OPENSSL_BUILT_ON -# define SSLEAY_PLATFORM OPENSSL_PLATFORM -# define SSLEAY_DIR OPENSSL_DIR - -/* - * Old type for allocating dynamic locks. No longer used. Use the new thread - * API instead. - */ -typedef struct { - int dummy; -} CRYPTO_dynlock; - -# endif /* OPENSSL_API_COMPAT */ - -typedef void CRYPTO_RWLOCK; - -CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void); -int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock); -int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock); -int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock); -void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock); - -int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock); - -/* - * The following can be used to detect memory leaks in the library. If - * used, it turns on malloc checking - */ -# define CRYPTO_MEM_CHECK_OFF 0x0 /* Control only */ -# define CRYPTO_MEM_CHECK_ON 0x1 /* Control and mode bit */ -# define CRYPTO_MEM_CHECK_ENABLE 0x2 /* Control and mode bit */ -# define CRYPTO_MEM_CHECK_DISABLE 0x3 /* Control only */ - -struct crypto_ex_data_st { - STACK_OF(void) *sk; -}; -DEFINE_STACK_OF(void) - -/* - * Per class, we have a STACK of function pointers. - */ -# define CRYPTO_EX_INDEX_SSL 0 -# define CRYPTO_EX_INDEX_SSL_CTX 1 -# define CRYPTO_EX_INDEX_SSL_SESSION 2 -# define CRYPTO_EX_INDEX_X509 3 -# define CRYPTO_EX_INDEX_X509_STORE 4 -# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 -# define CRYPTO_EX_INDEX_DH 6 -# define CRYPTO_EX_INDEX_DSA 7 -# define CRYPTO_EX_INDEX_EC_KEY 8 -# define CRYPTO_EX_INDEX_RSA 9 -# define CRYPTO_EX_INDEX_ENGINE 10 -# define CRYPTO_EX_INDEX_UI 11 -# define CRYPTO_EX_INDEX_BIO 12 -# define CRYPTO_EX_INDEX_APP 13 -# define CRYPTO_EX_INDEX_UI_METHOD 14 -# define CRYPTO_EX_INDEX_DRBG 15 -# define CRYPTO_EX_INDEX__COUNT 16 - -/* No longer needed, so this is a no-op */ -#define OPENSSL_malloc_init() while(0) continue - -int CRYPTO_mem_ctrl(int mode); - -# define OPENSSL_malloc(num) \ - CRYPTO_malloc(num, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_zalloc(num) \ - CRYPTO_zalloc(num, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_realloc(addr, num) \ - CRYPTO_realloc(addr, num, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_clear_realloc(addr, old_num, num) \ - CRYPTO_clear_realloc(addr, old_num, num, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_clear_free(addr, num) \ - CRYPTO_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_free(addr) \ - CRYPTO_free(addr, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_memdup(str, s) \ - CRYPTO_memdup((str), s, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_strdup(str) \ - CRYPTO_strdup(str, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_strndup(str, n) \ - CRYPTO_strndup(str, n, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_secure_malloc(num) \ - CRYPTO_secure_malloc(num, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_secure_zalloc(num) \ - CRYPTO_secure_zalloc(num, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_secure_free(addr) \ - CRYPTO_secure_free(addr, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_secure_clear_free(addr, num) \ - CRYPTO_secure_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_secure_actual_size(ptr) \ - CRYPTO_secure_actual_size(ptr) - -size_t OPENSSL_strlcpy(char *dst, const char *src, size_t siz); -size_t OPENSSL_strlcat(char *dst, const char *src, size_t siz); -size_t OPENSSL_strnlen(const char *str, size_t maxlen); -char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len); -unsigned char *OPENSSL_hexstr2buf(const char *str, long *len); -int OPENSSL_hexchar2int(unsigned char c); - -# define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type)) - -unsigned long OpenSSL_version_num(void); -const char *OpenSSL_version(int type); -# define OPENSSL_VERSION 0 -# define OPENSSL_CFLAGS 1 -# define OPENSSL_BUILT_ON 2 -# define OPENSSL_PLATFORM 3 -# define OPENSSL_DIR 4 -# define OPENSSL_ENGINES_DIR 5 - -int OPENSSL_issetugid(void); - -typedef void CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, - void *from_d, int idx, long argl, void *argp); -__owur int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, - CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); -/* No longer use an index. */ -int CRYPTO_free_ex_index(int class_index, int idx); - -/* - * Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a - * given class (invokes whatever per-class callbacks are applicable) - */ -int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); -int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, - const CRYPTO_EX_DATA *from); - -void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); - -/* - * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular - * index (relative to the class type involved) - */ -int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); -void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); - -# if OPENSSL_API_COMPAT < 0x10100000L -/* - * This function cleans up all "ex_data" state. It mustn't be called under - * potential race-conditions. - */ -# define CRYPTO_cleanup_all_ex_data() while(0) continue - -/* - * The old locking functions have been removed completely without compatibility - * macros. This is because the old functions either could not properly report - * errors, or the returned error values were not clearly documented. - * Replacing the locking functions with no-ops would cause race condition - * issues in the affected applications. It is far better for them to fail at - * compile time. - * On the other hand, the locking callbacks are no longer used. Consequently, - * the callback management functions can be safely replaced with no-op macros. - */ -# define CRYPTO_num_locks() (1) -# define CRYPTO_set_locking_callback(func) -# define CRYPTO_get_locking_callback() (NULL) -# define CRYPTO_set_add_lock_callback(func) -# define CRYPTO_get_add_lock_callback() (NULL) - -/* - * These defines where used in combination with the old locking callbacks, - * they are not called anymore, but old code that's not called might still - * use them. - */ -# define CRYPTO_LOCK 1 -# define CRYPTO_UNLOCK 2 -# define CRYPTO_READ 4 -# define CRYPTO_WRITE 8 - -/* This structure is no longer used */ -typedef struct crypto_threadid_st { - int dummy; -} CRYPTO_THREADID; -/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ -# define CRYPTO_THREADID_set_numeric(id, val) -# define CRYPTO_THREADID_set_pointer(id, ptr) -# define CRYPTO_THREADID_set_callback(threadid_func) (0) -# define CRYPTO_THREADID_get_callback() (NULL) -# define CRYPTO_THREADID_current(id) -# define CRYPTO_THREADID_cmp(a, b) (-1) -# define CRYPTO_THREADID_cpy(dest, src) -# define CRYPTO_THREADID_hash(id) (0UL) - -# if OPENSSL_API_COMPAT < 0x10000000L -# define CRYPTO_set_id_callback(func) -# define CRYPTO_get_id_callback() (NULL) -# define CRYPTO_thread_id() (0UL) -# endif /* OPENSSL_API_COMPAT < 0x10000000L */ - -# define CRYPTO_set_dynlock_create_callback(dyn_create_function) -# define CRYPTO_set_dynlock_lock_callback(dyn_lock_function) -# define CRYPTO_set_dynlock_destroy_callback(dyn_destroy_function) -# define CRYPTO_get_dynlock_create_callback() (NULL) -# define CRYPTO_get_dynlock_lock_callback() (NULL) -# define CRYPTO_get_dynlock_destroy_callback() (NULL) -# endif /* OPENSSL_API_COMPAT < 0x10100000L */ - -int CRYPTO_set_mem_functions( - void *(*m) (size_t, const char *, int), - void *(*r) (void *, size_t, const char *, int), - void (*f) (void *, const char *, int)); -int CRYPTO_set_mem_debug(int flag); -void CRYPTO_get_mem_functions( - void *(**m) (size_t, const char *, int), - void *(**r) (void *, size_t, const char *, int), - void (**f) (void *, const char *, int)); - -void *CRYPTO_malloc(size_t num, const char *file, int line); -void *CRYPTO_zalloc(size_t num, const char *file, int line); -void *CRYPTO_memdup(const void *str, size_t siz, const char *file, int line); -char *CRYPTO_strdup(const char *str, const char *file, int line); -char *CRYPTO_strndup(const char *str, size_t s, const char *file, int line); -void CRYPTO_free(void *ptr, const char *file, int line); -void CRYPTO_clear_free(void *ptr, size_t num, const char *file, int line); -void *CRYPTO_realloc(void *addr, size_t num, const char *file, int line); -void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num, - const char *file, int line); - -int CRYPTO_secure_malloc_init(size_t sz, int minsize); -int CRYPTO_secure_malloc_done(void); -void *CRYPTO_secure_malloc(size_t num, const char *file, int line); -void *CRYPTO_secure_zalloc(size_t num, const char *file, int line); -void CRYPTO_secure_free(void *ptr, const char *file, int line); -void CRYPTO_secure_clear_free(void *ptr, size_t num, - const char *file, int line); -int CRYPTO_secure_allocated(const void *ptr); -int CRYPTO_secure_malloc_initialized(void); -size_t CRYPTO_secure_actual_size(void *ptr); -size_t CRYPTO_secure_used(void); - -void OPENSSL_cleanse(void *ptr, size_t len); - -# ifndef OPENSSL_NO_CRYPTO_MDEBUG -# define OPENSSL_mem_debug_push(info) \ - CRYPTO_mem_debug_push(info, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_mem_debug_pop() \ - CRYPTO_mem_debug_pop() -int CRYPTO_mem_debug_push(const char *info, const char *file, int line); -int CRYPTO_mem_debug_pop(void); -void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount); - -/*- - * Debugging functions (enabled by CRYPTO_set_mem_debug(1)) - * The flag argument has the following significance: - * 0: called before the actual memory allocation has taken place - * 1: called after the actual memory allocation has taken place - */ -void CRYPTO_mem_debug_malloc(void *addr, size_t num, int flag, - const char *file, int line); -void CRYPTO_mem_debug_realloc(void *addr1, void *addr2, size_t num, int flag, - const char *file, int line); -void CRYPTO_mem_debug_free(void *addr, int flag, - const char *file, int line); - -int CRYPTO_mem_leaks_cb(int (*cb) (const char *str, size_t len, void *u), - void *u); -# ifndef OPENSSL_NO_STDIO -int CRYPTO_mem_leaks_fp(FILE *); -# endif -int CRYPTO_mem_leaks(BIO *bio); -# endif - -/* die if we have to */ -ossl_noreturn void OPENSSL_die(const char *assertion, const char *file, int line); -# if OPENSSL_API_COMPAT < 0x10100000L -# define OpenSSLDie(f,l,a) OPENSSL_die((a),(f),(l)) -# endif -# define OPENSSL_assert(e) \ - (void)((e) ? 0 : (OPENSSL_die("assertion failed: " #e, OPENSSL_FILE, OPENSSL_LINE), 1)) - -int OPENSSL_isservice(void); - -int FIPS_mode(void); -int FIPS_mode_set(int r); - -void OPENSSL_init(void); -# ifdef OPENSSL_SYS_UNIX -void OPENSSL_fork_prepare(void); -void OPENSSL_fork_parent(void); -void OPENSSL_fork_child(void); -# endif - -struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result); -int OPENSSL_gmtime_adj(struct tm *tm, int offset_day, long offset_sec); -int OPENSSL_gmtime_diff(int *pday, int *psec, - const struct tm *from, const struct tm *to); - -/* - * CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. - * It takes an amount of time dependent on |len|, but independent of the - * contents of |a| and |b|. Unlike memcmp, it cannot be used to put elements - * into a defined order as the return value when a != b is undefined, other - * than to be non-zero. - */ -int CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len); - -/* Standard initialisation options */ -# define OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS 0x00000001L -# define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0x00000002L -# define OPENSSL_INIT_ADD_ALL_CIPHERS 0x00000004L -# define OPENSSL_INIT_ADD_ALL_DIGESTS 0x00000008L -# define OPENSSL_INIT_NO_ADD_ALL_CIPHERS 0x00000010L -# define OPENSSL_INIT_NO_ADD_ALL_DIGESTS 0x00000020L -# define OPENSSL_INIT_LOAD_CONFIG 0x00000040L -# define OPENSSL_INIT_NO_LOAD_CONFIG 0x00000080L -# define OPENSSL_INIT_ASYNC 0x00000100L -# define OPENSSL_INIT_ENGINE_RDRAND 0x00000200L -# define OPENSSL_INIT_ENGINE_DYNAMIC 0x00000400L -# define OPENSSL_INIT_ENGINE_OPENSSL 0x00000800L -# define OPENSSL_INIT_ENGINE_CRYPTODEV 0x00001000L -# define OPENSSL_INIT_ENGINE_CAPI 0x00002000L -# define OPENSSL_INIT_ENGINE_PADLOCK 0x00004000L -# define OPENSSL_INIT_ENGINE_AFALG 0x00008000L -/* OPENSSL_INIT_ZLIB 0x00010000L */ -# define OPENSSL_INIT_ATFORK 0x00020000L -/* OPENSSL_INIT_BASE_ONLY 0x00040000L */ -# define OPENSSL_INIT_NO_ATEXIT 0x00080000L -/* OPENSSL_INIT flag range 0xfff00000 reserved for OPENSSL_init_ssl() */ -/* Max OPENSSL_INIT flag value is 0x80000000 */ - -/* openssl and dasync not counted as builtin */ -# define OPENSSL_INIT_ENGINE_ALL_BUILTIN \ - (OPENSSL_INIT_ENGINE_RDRAND | OPENSSL_INIT_ENGINE_DYNAMIC \ - | OPENSSL_INIT_ENGINE_CRYPTODEV | OPENSSL_INIT_ENGINE_CAPI | \ - OPENSSL_INIT_ENGINE_PADLOCK) - - -/* Library initialisation functions */ -void OPENSSL_cleanup(void); -int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); -int OPENSSL_atexit(void (*handler)(void)); -void OPENSSL_thread_stop(void); - -/* Low-level control of initialization */ -OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); -# ifndef OPENSSL_NO_STDIO -int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings, - const char *config_filename); -void OPENSSL_INIT_set_config_file_flags(OPENSSL_INIT_SETTINGS *settings, - unsigned long flags); -int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings, - const char *config_appname); -# endif -void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings); - -# if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) -# if defined(_WIN32) -# if defined(BASETYPES) || defined(_WINDEF_H) -/* application has to include in order to use this */ -typedef DWORD CRYPTO_THREAD_LOCAL; -typedef DWORD CRYPTO_THREAD_ID; - -typedef LONG CRYPTO_ONCE; -# define CRYPTO_ONCE_STATIC_INIT 0 -# endif -# else -# include -typedef pthread_once_t CRYPTO_ONCE; -typedef pthread_key_t CRYPTO_THREAD_LOCAL; -typedef pthread_t CRYPTO_THREAD_ID; - -# define CRYPTO_ONCE_STATIC_INIT PTHREAD_ONCE_INIT -# endif -# endif - -# if !defined(CRYPTO_ONCE_STATIC_INIT) -typedef unsigned int CRYPTO_ONCE; -typedef unsigned int CRYPTO_THREAD_LOCAL; -typedef unsigned int CRYPTO_THREAD_ID; -# define CRYPTO_ONCE_STATIC_INIT 0 -# endif - -int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)); - -int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)); -void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key); -int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val); -int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key); - -CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void); -int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b); - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/cryptoerr.h b/deps/openssl/include/openssl/cryptoerr.h deleted file mode 100644 index 3db5a4ee..00000000 --- a/deps/openssl/include/openssl/cryptoerr.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CRYPTOERR_H -# define HEADER_CRYPTOERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_CRYPTO_strings(void); - -/* - * CRYPTO function codes. - */ -# define CRYPTO_F_CMAC_CTX_NEW 120 -# define CRYPTO_F_CRYPTO_DUP_EX_DATA 110 -# define CRYPTO_F_CRYPTO_FREE_EX_DATA 111 -# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 -# define CRYPTO_F_CRYPTO_MEMDUP 115 -# define CRYPTO_F_CRYPTO_NEW_EX_DATA 112 -# define CRYPTO_F_CRYPTO_OCB128_COPY_CTX 121 -# define CRYPTO_F_CRYPTO_OCB128_INIT 122 -# define CRYPTO_F_CRYPTO_SET_EX_DATA 102 -# define CRYPTO_F_FIPS_MODE_SET 109 -# define CRYPTO_F_GET_AND_LOCK 113 -# define CRYPTO_F_OPENSSL_ATEXIT 114 -# define CRYPTO_F_OPENSSL_BUF2HEXSTR 117 -# define CRYPTO_F_OPENSSL_FOPEN 119 -# define CRYPTO_F_OPENSSL_HEXSTR2BUF 118 -# define CRYPTO_F_OPENSSL_INIT_CRYPTO 116 -# define CRYPTO_F_OPENSSL_LH_NEW 126 -# define CRYPTO_F_OPENSSL_SK_DEEP_COPY 127 -# define CRYPTO_F_OPENSSL_SK_DUP 128 -# define CRYPTO_F_PKEY_HMAC_INIT 123 -# define CRYPTO_F_PKEY_POLY1305_INIT 124 -# define CRYPTO_F_PKEY_SIPHASH_INIT 125 -# define CRYPTO_F_SK_RESERVE 129 - -/* - * CRYPTO reason codes. - */ -# define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 -# define CRYPTO_R_ILLEGAL_HEX_DIGIT 102 -# define CRYPTO_R_ODD_NUMBER_OF_DIGITS 103 - -#endif diff --git a/deps/openssl/include/openssl/ct.h b/deps/openssl/include/openssl/ct.h deleted file mode 100644 index ebdba34d..00000000 --- a/deps/openssl/include/openssl/ct.h +++ /dev/null @@ -1,474 +0,0 @@ -/* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CT_H -# define HEADER_CT_H - -# include - -# ifndef OPENSSL_NO_CT -# include -# include -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - - -/* Minimum RSA key size, from RFC6962 */ -# define SCT_MIN_RSA_BITS 2048 - -/* All hashes are SHA256 in v1 of Certificate Transparency */ -# define CT_V1_HASHLEN SHA256_DIGEST_LENGTH - -typedef enum { - CT_LOG_ENTRY_TYPE_NOT_SET = -1, - CT_LOG_ENTRY_TYPE_X509 = 0, - CT_LOG_ENTRY_TYPE_PRECERT = 1 -} ct_log_entry_type_t; - -typedef enum { - SCT_VERSION_NOT_SET = -1, - SCT_VERSION_V1 = 0 -} sct_version_t; - -typedef enum { - SCT_SOURCE_UNKNOWN, - SCT_SOURCE_TLS_EXTENSION, - SCT_SOURCE_X509V3_EXTENSION, - SCT_SOURCE_OCSP_STAPLED_RESPONSE -} sct_source_t; - -typedef enum { - SCT_VALIDATION_STATUS_NOT_SET, - SCT_VALIDATION_STATUS_UNKNOWN_LOG, - SCT_VALIDATION_STATUS_VALID, - SCT_VALIDATION_STATUS_INVALID, - SCT_VALIDATION_STATUS_UNVERIFIED, - SCT_VALIDATION_STATUS_UNKNOWN_VERSION -} sct_validation_status_t; - -DEFINE_STACK_OF(SCT) -DEFINE_STACK_OF(CTLOG) - -/****************************************** - * CT policy evaluation context functions * - ******************************************/ - -/* - * Creates a new, empty policy evaluation context. - * The caller is responsible for calling CT_POLICY_EVAL_CTX_free when finished - * with the CT_POLICY_EVAL_CTX. - */ -CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new(void); - -/* Deletes a policy evaluation context and anything it owns. */ -void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx); - -/* Gets the peer certificate that the SCTs are for */ -X509* CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx); - -/* - * Sets the certificate associated with the received SCTs. - * Increments the reference count of cert. - * Returns 1 on success, 0 otherwise. - */ -int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert); - -/* Gets the issuer of the aforementioned certificate */ -X509* CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx); - -/* - * Sets the issuer of the certificate associated with the received SCTs. - * Increments the reference count of issuer. - * Returns 1 on success, 0 otherwise. - */ -int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer); - -/* Gets the CT logs that are trusted sources of SCTs */ -const CTLOG_STORE *CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX *ctx); - -/* Sets the log store that is in use. It must outlive the CT_POLICY_EVAL_CTX. */ -void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX *ctx, - CTLOG_STORE *log_store); - -/* - * Gets the time, in milliseconds since the Unix epoch, that will be used as the - * current time when checking whether an SCT was issued in the future. - * Such SCTs will fail validation, as required by RFC6962. - */ -uint64_t CT_POLICY_EVAL_CTX_get_time(const CT_POLICY_EVAL_CTX *ctx); - -/* - * Sets the time to evaluate SCTs against, in milliseconds since the Unix epoch. - * If an SCT's timestamp is after this time, it will be interpreted as having - * been issued in the future. RFC6962 states that "TLS clients MUST reject SCTs - * whose timestamp is in the future", so an SCT will not validate in this case. - */ -void CT_POLICY_EVAL_CTX_set_time(CT_POLICY_EVAL_CTX *ctx, uint64_t time_in_ms); - -/***************** - * SCT functions * - *****************/ - -/* - * Creates a new, blank SCT. - * The caller is responsible for calling SCT_free when finished with the SCT. - */ -SCT *SCT_new(void); - -/* - * Creates a new SCT from some base64-encoded strings. - * The caller is responsible for calling SCT_free when finished with the SCT. - */ -SCT *SCT_new_from_base64(unsigned char version, - const char *logid_base64, - ct_log_entry_type_t entry_type, - uint64_t timestamp, - const char *extensions_base64, - const char *signature_base64); - -/* - * Frees the SCT and the underlying data structures. - */ -void SCT_free(SCT *sct); - -/* - * Free a stack of SCTs, and the underlying SCTs themselves. - * Intended to be compatible with X509V3_EXT_FREE. - */ -void SCT_LIST_free(STACK_OF(SCT) *a); - -/* - * Returns the version of the SCT. - */ -sct_version_t SCT_get_version(const SCT *sct); - -/* - * Set the version of an SCT. - * Returns 1 on success, 0 if the version is unrecognized. - */ -__owur int SCT_set_version(SCT *sct, sct_version_t version); - -/* - * Returns the log entry type of the SCT. - */ -ct_log_entry_type_t SCT_get_log_entry_type(const SCT *sct); - -/* - * Set the log entry type of an SCT. - * Returns 1 on success, 0 otherwise. - */ -__owur int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type); - -/* - * Gets the ID of the log that an SCT came from. - * Ownership of the log ID remains with the SCT. - * Returns the length of the log ID. - */ -size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id); - -/* - * Set the log ID of an SCT to point directly to the *log_id specified. - * The SCT takes ownership of the specified pointer. - * Returns 1 on success, 0 otherwise. - */ -__owur int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len); - -/* - * Set the log ID of an SCT. - * This makes a copy of the log_id. - * Returns 1 on success, 0 otherwise. - */ -__owur int SCT_set1_log_id(SCT *sct, const unsigned char *log_id, - size_t log_id_len); - -/* - * Returns the timestamp for the SCT (epoch time in milliseconds). - */ -uint64_t SCT_get_timestamp(const SCT *sct); - -/* - * Set the timestamp of an SCT (epoch time in milliseconds). - */ -void SCT_set_timestamp(SCT *sct, uint64_t timestamp); - -/* - * Return the NID for the signature used by the SCT. - * For CT v1, this will be either NID_sha256WithRSAEncryption or - * NID_ecdsa_with_SHA256 (or NID_undef if incorrect/unset). - */ -int SCT_get_signature_nid(const SCT *sct); - -/* - * Set the signature type of an SCT - * For CT v1, this should be either NID_sha256WithRSAEncryption or - * NID_ecdsa_with_SHA256. - * Returns 1 on success, 0 otherwise. - */ -__owur int SCT_set_signature_nid(SCT *sct, int nid); - -/* - * Set *ext to point to the extension data for the SCT. ext must not be NULL. - * The SCT retains ownership of this pointer. - * Returns length of the data pointed to. - */ -size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext); - -/* - * Set the extensions of an SCT to point directly to the *ext specified. - * The SCT takes ownership of the specified pointer. - */ -void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len); - -/* - * Set the extensions of an SCT. - * This takes a copy of the ext. - * Returns 1 on success, 0 otherwise. - */ -__owur int SCT_set1_extensions(SCT *sct, const unsigned char *ext, - size_t ext_len); - -/* - * Set *sig to point to the signature for the SCT. sig must not be NULL. - * The SCT retains ownership of this pointer. - * Returns length of the data pointed to. - */ -size_t SCT_get0_signature(const SCT *sct, unsigned char **sig); - -/* - * Set the signature of an SCT to point directly to the *sig specified. - * The SCT takes ownership of the specified pointer. - */ -void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len); - -/* - * Set the signature of an SCT to be a copy of the *sig specified. - * Returns 1 on success, 0 otherwise. - */ -__owur int SCT_set1_signature(SCT *sct, const unsigned char *sig, - size_t sig_len); - -/* - * The origin of this SCT, e.g. TLS extension, OCSP response, etc. - */ -sct_source_t SCT_get_source(const SCT *sct); - -/* - * Set the origin of this SCT, e.g. TLS extension, OCSP response, etc. - * Returns 1 on success, 0 otherwise. - */ -__owur int SCT_set_source(SCT *sct, sct_source_t source); - -/* - * Returns a text string describing the validation status of |sct|. - */ -const char *SCT_validation_status_string(const SCT *sct); - -/* - * Pretty-prints an |sct| to |out|. - * It will be indented by the number of spaces specified by |indent|. - * If |logs| is not NULL, it will be used to lookup the CT log that the SCT came - * from, so that the log name can be printed. - */ -void SCT_print(const SCT *sct, BIO *out, int indent, const CTLOG_STORE *logs); - -/* - * Pretty-prints an |sct_list| to |out|. - * It will be indented by the number of spaces specified by |indent|. - * SCTs will be delimited by |separator|. - * If |logs| is not NULL, it will be used to lookup the CT log that each SCT - * came from, so that the log names can be printed. - */ -void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent, - const char *separator, const CTLOG_STORE *logs); - -/* - * Gets the last result of validating this SCT. - * If it has not been validated yet, returns SCT_VALIDATION_STATUS_NOT_SET. - */ -sct_validation_status_t SCT_get_validation_status(const SCT *sct); - -/* - * Validates the given SCT with the provided context. - * Sets the "validation_status" field of the SCT. - * Returns 1 if the SCT is valid and the signature verifies. - * Returns 0 if the SCT is invalid or could not be verified. - * Returns -1 if an error occurs. - */ -__owur int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx); - -/* - * Validates the given list of SCTs with the provided context. - * Sets the "validation_status" field of each SCT. - * Returns 1 if there are no invalid SCTs and all signatures verify. - * Returns 0 if at least one SCT is invalid or could not be verified. - * Returns a negative integer if an error occurs. - */ -__owur int SCT_LIST_validate(const STACK_OF(SCT) *scts, - CT_POLICY_EVAL_CTX *ctx); - - -/********************************* - * SCT parsing and serialisation * - *********************************/ - -/* - * Serialize (to TLS format) a stack of SCTs and return the length. - * "a" must not be NULL. - * If "pp" is NULL, just return the length of what would have been serialized. - * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer - * for data that caller is responsible for freeing (only if function returns - * successfully). - * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring - * that "*pp" is large enough to accept all of the serialized data. - * Returns < 0 on error, >= 0 indicating bytes written (or would have been) - * on success. - */ -__owur int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); - -/* - * Convert TLS format SCT list to a stack of SCTs. - * If "a" or "*a" is NULL, a new stack will be created that the caller is - * responsible for freeing (by calling SCT_LIST_free). - * "**pp" and "*pp" must not be NULL. - * Upon success, "*pp" will point to after the last bytes read, and a stack - * will be returned. - * Upon failure, a NULL pointer will be returned, and the position of "*pp" is - * not defined. - */ -STACK_OF(SCT) *o2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, - size_t len); - -/* - * Serialize (to DER format) a stack of SCTs and return the length. - * "a" must not be NULL. - * If "pp" is NULL, just returns the length of what would have been serialized. - * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer - * for data that caller is responsible for freeing (only if function returns - * successfully). - * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring - * that "*pp" is large enough to accept all of the serialized data. - * Returns < 0 on error, >= 0 indicating bytes written (or would have been) - * on success. - */ -__owur int i2d_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); - -/* - * Parses an SCT list in DER format and returns it. - * If "a" or "*a" is NULL, a new stack will be created that the caller is - * responsible for freeing (by calling SCT_LIST_free). - * "**pp" and "*pp" must not be NULL. - * Upon success, "*pp" will point to after the last bytes read, and a stack - * will be returned. - * Upon failure, a NULL pointer will be returned, and the position of "*pp" is - * not defined. - */ -STACK_OF(SCT) *d2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, - long len); - -/* - * Serialize (to TLS format) an |sct| and write it to |out|. - * If |out| is null, no SCT will be output but the length will still be returned. - * If |out| points to a null pointer, a string will be allocated to hold the - * TLS-format SCT. It is the responsibility of the caller to free it. - * If |out| points to an allocated string, the TLS-format SCT will be written - * to it. - * The length of the SCT in TLS format will be returned. - */ -__owur int i2o_SCT(const SCT *sct, unsigned char **out); - -/* - * Parses an SCT in TLS format and returns it. - * If |psct| is not null, it will end up pointing to the parsed SCT. If it - * already points to a non-null pointer, the pointer will be free'd. - * |in| should be a pointer to a string containing the TLS-format SCT. - * |in| will be advanced to the end of the SCT if parsing succeeds. - * |len| should be the length of the SCT in |in|. - * Returns NULL if an error occurs. - * If the SCT is an unsupported version, only the SCT's 'sct' and 'sct_len' - * fields will be populated (with |in| and |len| respectively). - */ -SCT *o2i_SCT(SCT **psct, const unsigned char **in, size_t len); - -/******************** - * CT log functions * - ********************/ - -/* - * Creates a new CT log instance with the given |public_key| and |name|. - * Takes ownership of |public_key| but copies |name|. - * Returns NULL if malloc fails or if |public_key| cannot be converted to DER. - * Should be deleted by the caller using CTLOG_free when no longer needed. - */ -CTLOG *CTLOG_new(EVP_PKEY *public_key, const char *name); - -/* - * Creates a new CTLOG instance with the base64-encoded SubjectPublicKeyInfo DER - * in |pkey_base64|. The |name| is a string to help users identify this log. - * Returns 1 on success, 0 on failure. - * Should be deleted by the caller using CTLOG_free when no longer needed. - */ -int CTLOG_new_from_base64(CTLOG ** ct_log, - const char *pkey_base64, const char *name); - -/* - * Deletes a CT log instance and its fields. - */ -void CTLOG_free(CTLOG *log); - -/* Gets the name of the CT log */ -const char *CTLOG_get0_name(const CTLOG *log); -/* Gets the ID of the CT log */ -void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id, - size_t *log_id_len); -/* Gets the public key of the CT log */ -EVP_PKEY *CTLOG_get0_public_key(const CTLOG *log); - -/************************** - * CT log store functions * - **************************/ - -/* - * Creates a new CT log store. - * Should be deleted by the caller using CTLOG_STORE_free when no longer needed. - */ -CTLOG_STORE *CTLOG_STORE_new(void); - -/* - * Deletes a CT log store and all of the CT log instances held within. - */ -void CTLOG_STORE_free(CTLOG_STORE *store); - -/* - * Finds a CT log in the store based on its log ID. - * Returns the CT log, or NULL if no match is found. - */ -const CTLOG *CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store, - const uint8_t *log_id, - size_t log_id_len); - -/* - * Loads a CT log list into a |store| from a |file|. - * Returns 1 if loading is successful, or 0 otherwise. - */ -__owur int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file); - -/* - * Loads the default CT log list into a |store|. - * Returns 1 if loading is successful, or 0 otherwise. - */ -__owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store); - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/cterr.h b/deps/openssl/include/openssl/cterr.h deleted file mode 100644 index feb7bc56..00000000 --- a/deps/openssl/include/openssl/cterr.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_CTERR_H -# define HEADER_CTERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_CT - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_CT_strings(void); - -/* - * CT function codes. - */ -# define CT_F_CTLOG_NEW 117 -# define CT_F_CTLOG_NEW_FROM_BASE64 118 -# define CT_F_CTLOG_NEW_FROM_CONF 119 -# define CT_F_CTLOG_STORE_LOAD_CTX_NEW 122 -# define CT_F_CTLOG_STORE_LOAD_FILE 123 -# define CT_F_CTLOG_STORE_LOAD_LOG 130 -# define CT_F_CTLOG_STORE_NEW 131 -# define CT_F_CT_BASE64_DECODE 124 -# define CT_F_CT_POLICY_EVAL_CTX_NEW 133 -# define CT_F_CT_V1_LOG_ID_FROM_PKEY 125 -# define CT_F_I2O_SCT 107 -# define CT_F_I2O_SCT_LIST 108 -# define CT_F_I2O_SCT_SIGNATURE 109 -# define CT_F_O2I_SCT 110 -# define CT_F_O2I_SCT_LIST 111 -# define CT_F_O2I_SCT_SIGNATURE 112 -# define CT_F_SCT_CTX_NEW 126 -# define CT_F_SCT_CTX_VERIFY 128 -# define CT_F_SCT_NEW 100 -# define CT_F_SCT_NEW_FROM_BASE64 127 -# define CT_F_SCT_SET0_LOG_ID 101 -# define CT_F_SCT_SET1_EXTENSIONS 114 -# define CT_F_SCT_SET1_LOG_ID 115 -# define CT_F_SCT_SET1_SIGNATURE 116 -# define CT_F_SCT_SET_LOG_ENTRY_TYPE 102 -# define CT_F_SCT_SET_SIGNATURE_NID 103 -# define CT_F_SCT_SET_VERSION 104 - -/* - * CT reason codes. - */ -# define CT_R_BASE64_DECODE_ERROR 108 -# define CT_R_INVALID_LOG_ID_LENGTH 100 -# define CT_R_LOG_CONF_INVALID 109 -# define CT_R_LOG_CONF_INVALID_KEY 110 -# define CT_R_LOG_CONF_MISSING_DESCRIPTION 111 -# define CT_R_LOG_CONF_MISSING_KEY 112 -# define CT_R_LOG_KEY_INVALID 113 -# define CT_R_SCT_FUTURE_TIMESTAMP 116 -# define CT_R_SCT_INVALID 104 -# define CT_R_SCT_INVALID_SIGNATURE 107 -# define CT_R_SCT_LIST_INVALID 105 -# define CT_R_SCT_LOG_ID_MISMATCH 114 -# define CT_R_SCT_NOT_SET 106 -# define CT_R_SCT_UNSUPPORTED_VERSION 115 -# define CT_R_UNRECOGNIZED_SIGNATURE_NID 101 -# define CT_R_UNSUPPORTED_ENTRY_TYPE 102 -# define CT_R_UNSUPPORTED_VERSION 103 - -# endif -#endif diff --git a/deps/openssl/include/openssl/des.h b/deps/openssl/include/openssl/des.h deleted file mode 100644 index be4abbdf..00000000 --- a/deps/openssl/include/openssl/des.h +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_DES_H -# define HEADER_DES_H - -# include - -# ifndef OPENSSL_NO_DES -# ifdef __cplusplus -extern "C" { -# endif -# include - -typedef unsigned int DES_LONG; - -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif - -typedef unsigned char DES_cblock[8]; -typedef /* const */ unsigned char const_DES_cblock[8]; -/* - * With "const", gcc 2.8.1 on Solaris thinks that DES_cblock * and - * const_DES_cblock * are incompatible pointer types. - */ - -typedef struct DES_ks { - union { - DES_cblock cblock; - /* - * make sure things are correct size on machines with 8 byte longs - */ - DES_LONG deslong[2]; - } ks[16]; -} DES_key_schedule; - -# define DES_KEY_SZ (sizeof(DES_cblock)) -# define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) - -# define DES_ENCRYPT 1 -# define DES_DECRYPT 0 - -# define DES_CBC_MODE 0 -# define DES_PCBC_MODE 1 - -# define DES_ecb2_encrypt(i,o,k1,k2,e) \ - DES_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) - -# define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ - DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) - -# define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ - DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) - -# define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ - DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) - -OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ -# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) - -const char *DES_options(void); -void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, - DES_key_schedule *ks1, DES_key_schedule *ks2, - DES_key_schedule *ks3, int enc); -DES_LONG DES_cbc_cksum(const unsigned char *input, DES_cblock *output, - long length, DES_key_schedule *schedule, - const_DES_cblock *ivec); -/* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ -void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, - long length, DES_key_schedule *schedule, - DES_cblock *ivec, int enc); -void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, - long length, DES_key_schedule *schedule, - DES_cblock *ivec, int enc); -void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, - long length, DES_key_schedule *schedule, - DES_cblock *ivec, const_DES_cblock *inw, - const_DES_cblock *outw, int enc); -void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, - long length, DES_key_schedule *schedule, - DES_cblock *ivec, int enc); -void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, - DES_key_schedule *ks, int enc); - -/* - * This is the DES encryption function that gets called by just about every - * other DES routine in the library. You should not use this function except - * to implement 'modes' of DES. I say this because the functions that call - * this routine do the conversion from 'char *' to long, and this needs to be - * done to make sure 'non-aligned' memory access do not occur. The - * characters are loaded 'little endian'. Data is a pointer to 2 unsigned - * long's and ks is the DES_key_schedule to use. enc, is non zero specifies - * encryption, zero if decryption. - */ -void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); - -/* - * This functions is the same as DES_encrypt1() except that the DES initial - * permutation (IP) and final permutation (FP) have been left out. As for - * DES_encrypt1(), you should not use this function. It is used by the - * routines in the library that implement triple DES. IP() DES_encrypt2() - * DES_encrypt2() DES_encrypt2() FP() is the same as DES_encrypt1() - * DES_encrypt1() DES_encrypt1() except faster :-). - */ -void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); - -void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3); -void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3); -void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, - long length, - DES_key_schedule *ks1, DES_key_schedule *ks2, - DES_key_schedule *ks3, DES_cblock *ivec, int enc); -void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3, - DES_cblock *ivec, int *num, int enc); -void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out, - int numbits, long length, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3, - DES_cblock *ivec, int enc); -void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3, - DES_cblock *ivec, int *num); -char *DES_fcrypt(const char *buf, const char *salt, char *ret); -char *DES_crypt(const char *buf, const char *salt); -void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits, - long length, DES_key_schedule *schedule, - DES_cblock *ivec); -void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, - long length, DES_key_schedule *schedule, - DES_cblock *ivec, int enc); -DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[], - long length, int out_count, DES_cblock *seed); -int DES_random_key(DES_cblock *ret); -void DES_set_odd_parity(DES_cblock *key); -int DES_check_key_parity(const_DES_cblock *key); -int DES_is_weak_key(const_DES_cblock *key); -/* - * DES_set_key (= set_key = DES_key_sched = key_sched) calls - * DES_set_key_checked if global variable DES_check_key is set, - * DES_set_key_unchecked otherwise. - */ -int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule); -int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule); -int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule); -void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule); -void DES_string_to_key(const char *str, DES_cblock *key); -void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2); -void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, DES_key_schedule *schedule, - DES_cblock *ivec, int *num, int enc); -void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, DES_key_schedule *schedule, - DES_cblock *ivec, int *num); - -# define DES_fixup_key_parity DES_set_odd_parity - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/dh.h b/deps/openssl/include/openssl/dh.h deleted file mode 100644 index 3527540c..00000000 --- a/deps/openssl/include/openssl/dh.h +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_DH_H -# define HEADER_DH_H - -# include - -# ifndef OPENSSL_NO_DH -# include -# include -# include -# include -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# endif -# include - -# ifdef __cplusplus -extern "C" { -# endif - -# ifndef OPENSSL_DH_MAX_MODULUS_BITS -# define OPENSSL_DH_MAX_MODULUS_BITS 10000 -# endif - -# define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024 - -# define DH_FLAG_CACHE_MONT_P 0x01 - -# if OPENSSL_API_COMPAT < 0x10100000L -/* - * Does nothing. Previously this switched off constant time behaviour. - */ -# define DH_FLAG_NO_EXP_CONSTTIME 0x00 -# endif - -/* - * If this flag is set the DH method is FIPS compliant and can be used in - * FIPS mode. This is set in the validated module method. If an application - * sets this flag in its own methods it is its responsibility to ensure the - * result is compliant. - */ - -# define DH_FLAG_FIPS_METHOD 0x0400 - -/* - * If this flag is set the operations normally disabled in FIPS mode are - * permitted it is then the applications responsibility to ensure that the - * usage is compliant. - */ - -# define DH_FLAG_NON_FIPS_ALLOW 0x0400 - -/* Already defined in ossl_typ.h */ -/* typedef struct dh_st DH; */ -/* typedef struct dh_method DH_METHOD; */ - -DECLARE_ASN1_ITEM(DHparams) - -# define DH_GENERATOR_2 2 -/* #define DH_GENERATOR_3 3 */ -# define DH_GENERATOR_5 5 - -/* DH_check error codes */ -# define DH_CHECK_P_NOT_PRIME 0x01 -# define DH_CHECK_P_NOT_SAFE_PRIME 0x02 -# define DH_UNABLE_TO_CHECK_GENERATOR 0x04 -# define DH_NOT_SUITABLE_GENERATOR 0x08 -# define DH_CHECK_Q_NOT_PRIME 0x10 -# define DH_CHECK_INVALID_Q_VALUE 0x20 -# define DH_CHECK_INVALID_J_VALUE 0x40 - -/* DH_check_pub_key error codes */ -# define DH_CHECK_PUBKEY_TOO_SMALL 0x01 -# define DH_CHECK_PUBKEY_TOO_LARGE 0x02 -# define DH_CHECK_PUBKEY_INVALID 0x04 - -/* - * primes p where (p-1)/2 is prime too are called "safe"; we define this for - * backward compatibility: - */ -# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME - -# define d2i_DHparams_fp(fp,x) \ - (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ - (char *(*)())d2i_DHparams, \ - (fp), \ - (unsigned char **)(x)) -# define i2d_DHparams_fp(fp,x) \ - ASN1_i2d_fp(i2d_DHparams,(fp), (unsigned char *)(x)) -# define d2i_DHparams_bio(bp,x) \ - ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, x) -# define i2d_DHparams_bio(bp,x) \ - ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) - -# define d2i_DHxparams_fp(fp,x) \ - (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ - (char *(*)())d2i_DHxparams, \ - (fp), \ - (unsigned char **)(x)) -# define i2d_DHxparams_fp(fp,x) \ - ASN1_i2d_fp(i2d_DHxparams,(fp), (unsigned char *)(x)) -# define d2i_DHxparams_bio(bp,x) \ - ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x) -# define i2d_DHxparams_bio(bp,x) \ - ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x) - -DH *DHparams_dup(DH *); - -const DH_METHOD *DH_OpenSSL(void); - -void DH_set_default_method(const DH_METHOD *meth); -const DH_METHOD *DH_get_default_method(void); -int DH_set_method(DH *dh, const DH_METHOD *meth); -DH *DH_new_method(ENGINE *engine); - -DH *DH_new(void); -void DH_free(DH *dh); -int DH_up_ref(DH *dh); -int DH_bits(const DH *dh); -int DH_size(const DH *dh); -int DH_security_bits(const DH *dh); -#define DH_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DH, l, p, newf, dupf, freef) -int DH_set_ex_data(DH *d, int idx, void *arg); -void *DH_get_ex_data(DH *d, int idx); - -/* Deprecated version */ -DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator, - void (*callback) (int, int, - void *), - void *cb_arg)) - -/* New version */ -int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, - BN_GENCB *cb); - -int DH_check_params_ex(const DH *dh); -int DH_check_ex(const DH *dh); -int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key); -int DH_check_params(const DH *dh, int *ret); -int DH_check(const DH *dh, int *codes); -int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes); -int DH_generate_key(DH *dh); -int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); -int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); -DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); -int i2d_DHparams(const DH *a, unsigned char **pp); -DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); -int i2d_DHxparams(const DH *a, unsigned char **pp); -# ifndef OPENSSL_NO_STDIO -int DHparams_print_fp(FILE *fp, const DH *x); -# endif -int DHparams_print(BIO *bp, const DH *x); - -/* RFC 5114 parameters */ -DH *DH_get_1024_160(void); -DH *DH_get_2048_224(void); -DH *DH_get_2048_256(void); - -/* Named parameters, currently RFC7919 */ -DH *DH_new_by_nid(int nid); -int DH_get_nid(const DH *dh); - -# ifndef OPENSSL_NO_CMS -/* RFC2631 KDF */ -int DH_KDF_X9_42(unsigned char *out, size_t outlen, - const unsigned char *Z, size_t Zlen, - ASN1_OBJECT *key_oid, - const unsigned char *ukm, size_t ukmlen, const EVP_MD *md); -# endif - -void DH_get0_pqg(const DH *dh, - const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); -int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); -void DH_get0_key(const DH *dh, - const BIGNUM **pub_key, const BIGNUM **priv_key); -int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); -const BIGNUM *DH_get0_p(const DH *dh); -const BIGNUM *DH_get0_q(const DH *dh); -const BIGNUM *DH_get0_g(const DH *dh); -const BIGNUM *DH_get0_priv_key(const DH *dh); -const BIGNUM *DH_get0_pub_key(const DH *dh); -void DH_clear_flags(DH *dh, int flags); -int DH_test_flags(const DH *dh, int flags); -void DH_set_flags(DH *dh, int flags); -ENGINE *DH_get0_engine(DH *d); -long DH_get_length(const DH *dh); -int DH_set_length(DH *dh, long length); - -DH_METHOD *DH_meth_new(const char *name, int flags); -void DH_meth_free(DH_METHOD *dhm); -DH_METHOD *DH_meth_dup(const DH_METHOD *dhm); -const char *DH_meth_get0_name(const DH_METHOD *dhm); -int DH_meth_set1_name(DH_METHOD *dhm, const char *name); -int DH_meth_get_flags(const DH_METHOD *dhm); -int DH_meth_set_flags(DH_METHOD *dhm, int flags); -void *DH_meth_get0_app_data(const DH_METHOD *dhm); -int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data); -int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *); -int DH_meth_set_generate_key(DH_METHOD *dhm, int (*generate_key) (DH *)); -int (*DH_meth_get_compute_key(const DH_METHOD *dhm)) - (unsigned char *key, const BIGNUM *pub_key, DH *dh); -int DH_meth_set_compute_key(DH_METHOD *dhm, - int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh)); -int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm)) - (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, - BN_CTX *, BN_MONT_CTX *); -int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, - int (*bn_mod_exp) (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, - const BIGNUM *, BN_CTX *, BN_MONT_CTX *)); -int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *); -int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *)); -int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *); -int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *)); -int (*DH_meth_get_generate_params(const DH_METHOD *dhm)) - (DH *, int, int, BN_GENCB *); -int DH_meth_set_generate_params(DH_METHOD *dhm, - int (*generate_params) (DH *, int, int, BN_GENCB *)); - - -# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) - -# define EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) - -# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL) - -# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) - -# define EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) - -# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) - -# define EVP_PKEY_CTX_set_dh_nid(ctx, nid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, \ - EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_DH_NID, nid, NULL) - -# define EVP_PKEY_CTX_set_dh_pad(ctx, pad) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_PAD, pad, NULL) - -# define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_TYPE, kdf, NULL) - -# define EVP_PKEY_CTX_get_dh_kdf_type(ctx) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_TYPE, -2, NULL) - -# define EVP_PKEY_CTX_set0_dh_kdf_oid(ctx, oid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_OID, 0, (void *)(oid)) - -# define EVP_PKEY_CTX_get0_dh_kdf_oid(ctx, poid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_OID, 0, (void *)(poid)) - -# define EVP_PKEY_CTX_set_dh_kdf_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTX_get_dh_kdf_md(ctx, pmd) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_MD, 0, (void *)(pmd)) - -# define EVP_PKEY_CTX_set_dh_kdf_outlen(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_OUTLEN, len, NULL) - -# define EVP_PKEY_CTX_get_dh_kdf_outlen(ctx, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, 0, (void *)(plen)) - -# define EVP_PKEY_CTX_set0_dh_kdf_ukm(ctx, p, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_UKM, plen, (void *)(p)) - -# define EVP_PKEY_CTX_get0_dh_kdf_ukm(ctx, p) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_UKM, 0, (void *)(p)) - -# define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) -# define EVP_PKEY_CTRL_DH_RFC5114 (EVP_PKEY_ALG_CTRL + 3) -# define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN (EVP_PKEY_ALG_CTRL + 4) -# define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE (EVP_PKEY_ALG_CTRL + 5) -# define EVP_PKEY_CTRL_DH_KDF_TYPE (EVP_PKEY_ALG_CTRL + 6) -# define EVP_PKEY_CTRL_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 7) -# define EVP_PKEY_CTRL_GET_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 8) -# define EVP_PKEY_CTRL_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 9) -# define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 10) -# define EVP_PKEY_CTRL_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 11) -# define EVP_PKEY_CTRL_GET_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 12) -# define EVP_PKEY_CTRL_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 13) -# define EVP_PKEY_CTRL_GET_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 14) -# define EVP_PKEY_CTRL_DH_NID (EVP_PKEY_ALG_CTRL + 15) -# define EVP_PKEY_CTRL_DH_PAD (EVP_PKEY_ALG_CTRL + 16) - -/* KDF types */ -# define EVP_PKEY_DH_KDF_NONE 1 -# ifndef OPENSSL_NO_CMS -# define EVP_PKEY_DH_KDF_X9_42 2 -# endif - - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/dherr.h b/deps/openssl/include/openssl/dherr.h deleted file mode 100644 index 916b3bed..00000000 --- a/deps/openssl/include/openssl/dherr.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_DHERR_H -# define HEADER_DHERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_DH - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_DH_strings(void); - -/* - * DH function codes. - */ -# define DH_F_COMPUTE_KEY 102 -# define DH_F_DHPARAMS_PRINT_FP 101 -# define DH_F_DH_BUILTIN_GENPARAMS 106 -# define DH_F_DH_CHECK_EX 121 -# define DH_F_DH_CHECK_PARAMS_EX 122 -# define DH_F_DH_CHECK_PUB_KEY_EX 123 -# define DH_F_DH_CMS_DECRYPT 114 -# define DH_F_DH_CMS_SET_PEERKEY 115 -# define DH_F_DH_CMS_SET_SHARED_INFO 116 -# define DH_F_DH_METH_DUP 117 -# define DH_F_DH_METH_NEW 118 -# define DH_F_DH_METH_SET1_NAME 119 -# define DH_F_DH_NEW_BY_NID 104 -# define DH_F_DH_NEW_METHOD 105 -# define DH_F_DH_PARAM_DECODE 107 -# define DH_F_DH_PKEY_PUBLIC_CHECK 124 -# define DH_F_DH_PRIV_DECODE 110 -# define DH_F_DH_PRIV_ENCODE 111 -# define DH_F_DH_PUB_DECODE 108 -# define DH_F_DH_PUB_ENCODE 109 -# define DH_F_DO_DH_PRINT 100 -# define DH_F_GENERATE_KEY 103 -# define DH_F_PKEY_DH_CTRL_STR 120 -# define DH_F_PKEY_DH_DERIVE 112 -# define DH_F_PKEY_DH_INIT 125 -# define DH_F_PKEY_DH_KEYGEN 113 - -/* - * DH reason codes. - */ -# define DH_R_BAD_GENERATOR 101 -# define DH_R_BN_DECODE_ERROR 109 -# define DH_R_BN_ERROR 106 -# define DH_R_CHECK_INVALID_J_VALUE 115 -# define DH_R_CHECK_INVALID_Q_VALUE 116 -# define DH_R_CHECK_PUBKEY_INVALID 122 -# define DH_R_CHECK_PUBKEY_TOO_LARGE 123 -# define DH_R_CHECK_PUBKEY_TOO_SMALL 124 -# define DH_R_CHECK_P_NOT_PRIME 117 -# define DH_R_CHECK_P_NOT_SAFE_PRIME 118 -# define DH_R_CHECK_Q_NOT_PRIME 119 -# define DH_R_DECODE_ERROR 104 -# define DH_R_INVALID_PARAMETER_NAME 110 -# define DH_R_INVALID_PARAMETER_NID 114 -# define DH_R_INVALID_PUBKEY 102 -# define DH_R_KDF_PARAMETER_ERROR 112 -# define DH_R_KEYS_NOT_SET 108 -# define DH_R_MISSING_PUBKEY 125 -# define DH_R_MODULUS_TOO_LARGE 103 -# define DH_R_NOT_SUITABLE_GENERATOR 120 -# define DH_R_NO_PARAMETERS_SET 107 -# define DH_R_NO_PRIVATE_VALUE 100 -# define DH_R_PARAMETER_ENCODING_ERROR 105 -# define DH_R_PEER_KEY_ERROR 111 -# define DH_R_SHARED_INFO_ERROR 113 -# define DH_R_UNABLE_TO_CHECK_GENERATOR 121 - -# endif -#endif diff --git a/deps/openssl/include/openssl/dsa.h b/deps/openssl/include/openssl/dsa.h deleted file mode 100644 index 6d8a18a4..00000000 --- a/deps/openssl/include/openssl/dsa.h +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_DSA_H -# define HEADER_DSA_H - -# include - -# ifndef OPENSSL_NO_DSA -# ifdef __cplusplus -extern "C" { -# endif -# include -# include -# include -# include -# include -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# endif -# include - -# ifndef OPENSSL_DSA_MAX_MODULUS_BITS -# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 -# endif - -# define OPENSSL_DSA_FIPS_MIN_MODULUS_BITS 1024 - -# define DSA_FLAG_CACHE_MONT_P 0x01 -# if OPENSSL_API_COMPAT < 0x10100000L -/* - * Does nothing. Previously this switched off constant time behaviour. - */ -# define DSA_FLAG_NO_EXP_CONSTTIME 0x00 -# endif - -/* - * If this flag is set the DSA method is FIPS compliant and can be used in - * FIPS mode. This is set in the validated module method. If an application - * sets this flag in its own methods it is its responsibility to ensure the - * result is compliant. - */ - -# define DSA_FLAG_FIPS_METHOD 0x0400 - -/* - * If this flag is set the operations normally disabled in FIPS mode are - * permitted it is then the applications responsibility to ensure that the - * usage is compliant. - */ - -# define DSA_FLAG_NON_FIPS_ALLOW 0x0400 -# define DSA_FLAG_FIPS_CHECKED 0x0800 - -/* Already defined in ossl_typ.h */ -/* typedef struct dsa_st DSA; */ -/* typedef struct dsa_method DSA_METHOD; */ - -typedef struct DSA_SIG_st DSA_SIG; - -# define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ - (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) -# define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ - (unsigned char *)(x)) -# define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) -# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) - -DSA *DSAparams_dup(DSA *x); -DSA_SIG *DSA_SIG_new(void); -void DSA_SIG_free(DSA_SIG *a); -int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); -DSA_SIG *d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); -void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); -int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s); - -DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); -int DSA_do_verify(const unsigned char *dgst, int dgst_len, - DSA_SIG *sig, DSA *dsa); - -const DSA_METHOD *DSA_OpenSSL(void); - -void DSA_set_default_method(const DSA_METHOD *); -const DSA_METHOD *DSA_get_default_method(void); -int DSA_set_method(DSA *dsa, const DSA_METHOD *); -const DSA_METHOD *DSA_get_method(DSA *d); - -DSA *DSA_new(void); -DSA *DSA_new_method(ENGINE *engine); -void DSA_free(DSA *r); -/* "up" the DSA object's reference count */ -int DSA_up_ref(DSA *r); -int DSA_size(const DSA *); -int DSA_bits(const DSA *d); -int DSA_security_bits(const DSA *d); - /* next 4 return -1 on error */ -DEPRECATEDIN_1_2_0(int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)) -int DSA_sign(int type, const unsigned char *dgst, int dlen, - unsigned char *sig, unsigned int *siglen, DSA *dsa); -int DSA_verify(int type, const unsigned char *dgst, int dgst_len, - const unsigned char *sigbuf, int siglen, DSA *dsa); -#define DSA_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DSA, l, p, newf, dupf, freef) -int DSA_set_ex_data(DSA *d, int idx, void *arg); -void *DSA_get_ex_data(DSA *d, int idx); - -DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); -DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); -DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); - -/* Deprecated version */ -DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits, - unsigned char *seed, - int seed_len, - int *counter_ret, - unsigned long *h_ret, void - (*callback) (int, int, - void *), - void *cb_arg)) - -/* New version */ -int DSA_generate_parameters_ex(DSA *dsa, int bits, - const unsigned char *seed, int seed_len, - int *counter_ret, unsigned long *h_ret, - BN_GENCB *cb); - -int DSA_generate_key(DSA *a); -int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); -int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); -int i2d_DSAparams(const DSA *a, unsigned char **pp); - -int DSAparams_print(BIO *bp, const DSA *x); -int DSA_print(BIO *bp, const DSA *x, int off); -# ifndef OPENSSL_NO_STDIO -int DSAparams_print_fp(FILE *fp, const DSA *x); -int DSA_print_fp(FILE *bp, const DSA *x, int off); -# endif - -# define DSS_prime_checks 64 -/* - * Primality test according to FIPS PUB 186-4, Appendix C.3. Since we only - * have one value here we set the number of checks to 64 which is the 128 bit - * security level that is the highest level and valid for creating a 3072 bit - * DSA key. - */ -# define DSA_is_prime(n, callback, cb_arg) \ - BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) - -# ifndef OPENSSL_NO_DH -/* - * Convert DSA structure (key or just parameters) into DH structure (be - * careful to avoid small subgroup attacks when using this!) - */ -DH *DSA_dup_DH(const DSA *r); -# endif - -# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) -# define EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, qbits) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, qbits, NULL) -# define EVP_PKEY_CTX_set_dsa_paramgen_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) -# define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) - -void DSA_get0_pqg(const DSA *d, - const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); -int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g); -void DSA_get0_key(const DSA *d, - const BIGNUM **pub_key, const BIGNUM **priv_key); -int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key); -const BIGNUM *DSA_get0_p(const DSA *d); -const BIGNUM *DSA_get0_q(const DSA *d); -const BIGNUM *DSA_get0_g(const DSA *d); -const BIGNUM *DSA_get0_pub_key(const DSA *d); -const BIGNUM *DSA_get0_priv_key(const DSA *d); -void DSA_clear_flags(DSA *d, int flags); -int DSA_test_flags(const DSA *d, int flags); -void DSA_set_flags(DSA *d, int flags); -ENGINE *DSA_get0_engine(DSA *d); - -DSA_METHOD *DSA_meth_new(const char *name, int flags); -void DSA_meth_free(DSA_METHOD *dsam); -DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam); -const char *DSA_meth_get0_name(const DSA_METHOD *dsam); -int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name); -int DSA_meth_get_flags(const DSA_METHOD *dsam); -int DSA_meth_set_flags(DSA_METHOD *dsam, int flags); -void *DSA_meth_get0_app_data(const DSA_METHOD *dsam); -int DSA_meth_set0_app_data(DSA_METHOD *dsam, void *app_data); -DSA_SIG *(*DSA_meth_get_sign(const DSA_METHOD *dsam)) - (const unsigned char *, int, DSA *); -int DSA_meth_set_sign(DSA_METHOD *dsam, - DSA_SIG *(*sign) (const unsigned char *, int, DSA *)); -int (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam)) - (DSA *, BN_CTX *, BIGNUM **, BIGNUM **); -int DSA_meth_set_sign_setup(DSA_METHOD *dsam, - int (*sign_setup) (DSA *, BN_CTX *, BIGNUM **, BIGNUM **)); -int (*DSA_meth_get_verify(const DSA_METHOD *dsam)) - (const unsigned char *, int, DSA_SIG *, DSA *); -int DSA_meth_set_verify(DSA_METHOD *dsam, - int (*verify) (const unsigned char *, int, DSA_SIG *, DSA *)); -int (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam)) - (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, - const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *); -int DSA_meth_set_mod_exp(DSA_METHOD *dsam, - int (*mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, - const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, - BN_MONT_CTX *)); -int (*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam)) - (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, - BN_CTX *, BN_MONT_CTX *); -int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam, - int (*bn_mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, - const BIGNUM *, BN_CTX *, BN_MONT_CTX *)); -int (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *); -int DSA_meth_set_init(DSA_METHOD *dsam, int (*init)(DSA *)); -int (*DSA_meth_get_finish(const DSA_METHOD *dsam)) (DSA *); -int DSA_meth_set_finish(DSA_METHOD *dsam, int (*finish) (DSA *)); -int (*DSA_meth_get_paramgen(const DSA_METHOD *dsam)) - (DSA *, int, const unsigned char *, int, int *, unsigned long *, - BN_GENCB *); -int DSA_meth_set_paramgen(DSA_METHOD *dsam, - int (*paramgen) (DSA *, int, const unsigned char *, int, int *, - unsigned long *, BN_GENCB *)); -int (*DSA_meth_get_keygen(const DSA_METHOD *dsam)) (DSA *); -int DSA_meth_set_keygen(DSA_METHOD *dsam, int (*keygen) (DSA *)); - - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/dsaerr.h b/deps/openssl/include/openssl/dsaerr.h deleted file mode 100644 index 495a1ac8..00000000 --- a/deps/openssl/include/openssl/dsaerr.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_DSAERR_H -# define HEADER_DSAERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_DSA - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_DSA_strings(void); - -/* - * DSA function codes. - */ -# define DSA_F_DSAPARAMS_PRINT 100 -# define DSA_F_DSAPARAMS_PRINT_FP 101 -# define DSA_F_DSA_BUILTIN_PARAMGEN 125 -# define DSA_F_DSA_BUILTIN_PARAMGEN2 126 -# define DSA_F_DSA_DO_SIGN 112 -# define DSA_F_DSA_DO_VERIFY 113 -# define DSA_F_DSA_METH_DUP 127 -# define DSA_F_DSA_METH_NEW 128 -# define DSA_F_DSA_METH_SET1_NAME 129 -# define DSA_F_DSA_NEW_METHOD 103 -# define DSA_F_DSA_PARAM_DECODE 119 -# define DSA_F_DSA_PRINT_FP 105 -# define DSA_F_DSA_PRIV_DECODE 115 -# define DSA_F_DSA_PRIV_ENCODE 116 -# define DSA_F_DSA_PUB_DECODE 117 -# define DSA_F_DSA_PUB_ENCODE 118 -# define DSA_F_DSA_SIGN 106 -# define DSA_F_DSA_SIGN_SETUP 107 -# define DSA_F_DSA_SIG_NEW 102 -# define DSA_F_OLD_DSA_PRIV_DECODE 122 -# define DSA_F_PKEY_DSA_CTRL 120 -# define DSA_F_PKEY_DSA_CTRL_STR 104 -# define DSA_F_PKEY_DSA_KEYGEN 121 - -/* - * DSA reason codes. - */ -# define DSA_R_BAD_Q_VALUE 102 -# define DSA_R_BN_DECODE_ERROR 108 -# define DSA_R_BN_ERROR 109 -# define DSA_R_DECODE_ERROR 104 -# define DSA_R_INVALID_DIGEST_TYPE 106 -# define DSA_R_INVALID_PARAMETERS 112 -# define DSA_R_MISSING_PARAMETERS 101 -# define DSA_R_MISSING_PRIVATE_KEY 111 -# define DSA_R_MODULUS_TOO_LARGE 103 -# define DSA_R_NO_PARAMETERS_SET 107 -# define DSA_R_PARAMETER_ENCODING_ERROR 105 -# define DSA_R_Q_NOT_PRIME 113 -# define DSA_R_SEED_LEN_SMALL 110 - -# endif -#endif diff --git a/deps/openssl/include/openssl/dtls1.h b/deps/openssl/include/openssl/dtls1.h deleted file mode 100644 index d55ca9c3..00000000 --- a/deps/openssl/include/openssl/dtls1.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_DTLS1_H -# define HEADER_DTLS1_H - -#ifdef __cplusplus -extern "C" { -#endif - -# define DTLS1_VERSION 0xFEFF -# define DTLS1_2_VERSION 0xFEFD -# define DTLS_MIN_VERSION DTLS1_VERSION -# define DTLS_MAX_VERSION DTLS1_2_VERSION -# define DTLS1_VERSION_MAJOR 0xFE - -# define DTLS1_BAD_VER 0x0100 - -/* Special value for method supporting multiple versions */ -# define DTLS_ANY_VERSION 0x1FFFF - -/* lengths of messages */ -/* - * Actually the max cookie length in DTLS is 255. But we can't change this now - * due to compatibility concerns. - */ -# define DTLS1_COOKIE_LENGTH 256 - -# define DTLS1_RT_HEADER_LENGTH 13 - -# define DTLS1_HM_HEADER_LENGTH 12 - -# define DTLS1_HM_BAD_FRAGMENT -2 -# define DTLS1_HM_FRAGMENT_RETRY -3 - -# define DTLS1_CCS_HEADER_LENGTH 1 - -# define DTLS1_AL_HEADER_LENGTH 2 - -/* Timeout multipliers */ -# define DTLS1_TMO_READ_COUNT 2 -# define DTLS1_TMO_WRITE_COUNT 2 - -# define DTLS1_TMO_ALERT_COUNT 12 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/e_os2.h b/deps/openssl/include/openssl/e_os2.h deleted file mode 100644 index 97a776cd..00000000 --- a/deps/openssl/include/openssl/e_os2.h +++ /dev/null @@ -1,300 +0,0 @@ -/* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_E_OS2_H -# define HEADER_E_OS2_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/****************************************************************************** - * Detect operating systems. This probably needs completing. - * The result is that at least one OPENSSL_SYS_os macro should be defined. - * However, if none is defined, Unix is assumed. - **/ - -# define OPENSSL_SYS_UNIX - -/* --------------------- Microsoft operating systems ---------------------- */ - -/* - * Note that MSDOS actually denotes 32-bit environments running on top of - * MS-DOS, such as DJGPP one. - */ -# if defined(OPENSSL_SYS_MSDOS) -# undef OPENSSL_SYS_UNIX -# endif - -/* - * For 32 bit environment, there seems to be the CygWin environment and then - * all the others that try to do the same thing Microsoft does... - */ -/* - * UEFI lives here because it might be built with a Microsoft toolchain and - * we need to avoid the false positive match on Windows. - */ -# if defined(OPENSSL_SYS_UEFI) -# undef OPENSSL_SYS_UNIX -# elif defined(OPENSSL_SYS_UWIN) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32_UWIN -# else -# if defined(__CYGWIN__) || defined(OPENSSL_SYS_CYGWIN) -# define OPENSSL_SYS_WIN32_CYGWIN -# else -# if defined(_WIN32) || defined(OPENSSL_SYS_WIN32) -# undef OPENSSL_SYS_UNIX -# if !defined(OPENSSL_SYS_WIN32) -# define OPENSSL_SYS_WIN32 -# endif -# endif -# if defined(_WIN64) || defined(OPENSSL_SYS_WIN64) -# undef OPENSSL_SYS_UNIX -# if !defined(OPENSSL_SYS_WIN64) -# define OPENSSL_SYS_WIN64 -# endif -# endif -# if defined(OPENSSL_SYS_WINNT) -# undef OPENSSL_SYS_UNIX -# endif -# if defined(OPENSSL_SYS_WINCE) -# undef OPENSSL_SYS_UNIX -# endif -# endif -# endif - -/* Anything that tries to look like Microsoft is "Windows" */ -# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN64) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINDOWS -# ifndef OPENSSL_SYS_MSDOS -# define OPENSSL_SYS_MSDOS -# endif -# endif - -/* - * DLL settings. This part is a bit tough, because it's up to the - * application implementor how he or she will link the application, so it - * requires some macro to be used. - */ -# ifdef OPENSSL_SYS_WINDOWS -# ifndef OPENSSL_OPT_WINDLL -# if defined(_WINDLL) /* This is used when building OpenSSL to - * indicate that DLL linkage should be used */ -# define OPENSSL_OPT_WINDLL -# endif -# endif -# endif - -/* ------------------------------- OpenVMS -------------------------------- */ -# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYS_VMS) -# if !defined(OPENSSL_SYS_VMS) -# undef OPENSSL_SYS_UNIX -# endif -# define OPENSSL_SYS_VMS -# if defined(__DECC) -# define OPENSSL_SYS_VMS_DECC -# elif defined(__DECCXX) -# define OPENSSL_SYS_VMS_DECC -# define OPENSSL_SYS_VMS_DECCXX -# else -# define OPENSSL_SYS_VMS_NODECC -# endif -# endif - -/* -------------------------------- Unix ---------------------------------- */ -# ifdef OPENSSL_SYS_UNIX -# if defined(linux) || defined(__linux__) && !defined(OPENSSL_SYS_LINUX) -# define OPENSSL_SYS_LINUX -# endif -# if defined(_AIX) && !defined(OPENSSL_SYS_AIX) -# define OPENSSL_SYS_AIX -# endif -# endif - -/* -------------------------------- VOS ----------------------------------- */ -# if defined(__VOS__) && !defined(OPENSSL_SYS_VOS) -# define OPENSSL_SYS_VOS -# ifdef __HPPA__ -# define OPENSSL_SYS_VOS_HPPA -# endif -# ifdef __IA32__ -# define OPENSSL_SYS_VOS_IA32 -# endif -# endif - -/** - * That's it for OS-specific stuff - *****************************************************************************/ - -/* Specials for I/O an exit */ -# ifdef OPENSSL_SYS_MSDOS -# define OPENSSL_UNISTD_IO -# define OPENSSL_DECLARE_EXIT extern void exit(int); -# else -# define OPENSSL_UNISTD_IO OPENSSL_UNISTD -# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */ -# endif - -/*- - * OPENSSL_EXTERN is normally used to declare a symbol with possible extra - * attributes to handle its presence in a shared library. - * OPENSSL_EXPORT is used to define a symbol with extra possible attributes - * to make it visible in a shared library. - * Care needs to be taken when a header file is used both to declare and - * define symbols. Basically, for any library that exports some global - * variables, the following code must be present in the header file that - * declares them, before OPENSSL_EXTERN is used: - * - * #ifdef SOME_BUILD_FLAG_MACRO - * # undef OPENSSL_EXTERN - * # define OPENSSL_EXTERN OPENSSL_EXPORT - * #endif - * - * The default is to have OPENSSL_EXPORT and OPENSSL_EXTERN - * have some generally sensible values. - */ - -# if defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) -# define OPENSSL_EXPORT extern __declspec(dllexport) -# define OPENSSL_EXTERN extern __declspec(dllimport) -# else -# define OPENSSL_EXPORT extern -# define OPENSSL_EXTERN extern -# endif - -/*- - * Macros to allow global variables to be reached through function calls when - * required (if a shared library version requires it, for example. - * The way it's done allows definitions like this: - * - * // in foobar.c - * OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) - * // in foobar.h - * OPENSSL_DECLARE_GLOBAL(int,foobar); - * #define foobar OPENSSL_GLOBAL_REF(foobar) - */ -# ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION -# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ - type *_shadow_##name(void) \ - { static type _hide_##name=value; return &_hide_##name; } -# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) -# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) -# else -# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) type _shadow_##name=value; -# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name -# define OPENSSL_GLOBAL_REF(name) _shadow_##name -# endif - -# ifdef _WIN32 -# ifdef _WIN64 -# define ossl_ssize_t __int64 -# define OSSL_SSIZE_MAX _I64_MAX -# else -# define ossl_ssize_t int -# define OSSL_SSIZE_MAX INT_MAX -# endif -# endif - -# if defined(OPENSSL_SYS_UEFI) && !defined(ossl_ssize_t) -# define ossl_ssize_t INTN -# define OSSL_SSIZE_MAX MAX_INTN -# endif - -# ifndef ossl_ssize_t -# define ossl_ssize_t ssize_t -# if defined(SSIZE_MAX) -# define OSSL_SSIZE_MAX SSIZE_MAX -# elif defined(_POSIX_SSIZE_MAX) -# define OSSL_SSIZE_MAX _POSIX_SSIZE_MAX -# else -# define OSSL_SSIZE_MAX ((ssize_t)(SIZE_MAX>>1)) -# endif -# endif - -# ifdef DEBUG_UNUSED -# define __owur __attribute__((__warn_unused_result__)) -# else -# define __owur -# endif - -/* Standard integer types */ -# if defined(OPENSSL_SYS_UEFI) -typedef INT8 int8_t; -typedef UINT8 uint8_t; -typedef INT16 int16_t; -typedef UINT16 uint16_t; -typedef INT32 int32_t; -typedef UINT32 uint32_t; -typedef INT64 int64_t; -typedef UINT64 uint64_t; -# elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ - defined(__osf__) || defined(__sgi) || defined(__hpux) || \ - defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__) -# include -# elif defined(_MSC_VER) && _MSC_VER<=1500 -/* - * minimally required typdefs for systems not supporting inttypes.h or - * stdint.h: currently just older VC++ - */ -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef short int16_t; -typedef unsigned short uint16_t; -typedef int int32_t; -typedef unsigned int uint32_t; -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; -# else -# include -# endif - -/* ossl_inline: portable inline definition usable in public headers */ -# if !defined(inline) && !defined(__cplusplus) -# if defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L - /* just use inline */ -# define ossl_inline inline -# elif defined(__GNUC__) && __GNUC__>=2 -# define ossl_inline __inline__ -# elif defined(_MSC_VER) - /* - * Visual Studio: inline is available in C++ only, however - * __inline is available for C, see - * http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx - */ -# define ossl_inline __inline -# else -# define ossl_inline -# endif -# else -# define ossl_inline inline -# endif - -# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -# define ossl_noreturn _Noreturn -# elif defined(__GNUC__) && __GNUC__ >= 2 -# define ossl_noreturn __attribute__((noreturn)) -# else -# define ossl_noreturn -# endif - -/* ossl_unused: portable unused attribute for use in public headers */ -# if defined(__GNUC__) -# define ossl_unused __attribute__((unused)) -# else -# define ossl_unused -# endif - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/ebcdic.h b/deps/openssl/include/openssl/ebcdic.h deleted file mode 100644 index aa012855..00000000 --- a/deps/openssl/include/openssl/ebcdic.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_EBCDIC_H -# define HEADER_EBCDIC_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Avoid name clashes with other applications */ -# define os_toascii _openssl_os_toascii -# define os_toebcdic _openssl_os_toebcdic -# define ebcdic2ascii _openssl_ebcdic2ascii -# define ascii2ebcdic _openssl_ascii2ebcdic - -extern const unsigned char os_toascii[256]; -extern const unsigned char os_toebcdic[256]; -void *ebcdic2ascii(void *dest, const void *srce, size_t count); -void *ascii2ebcdic(void *dest, const void *srce, size_t count); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/ec.h b/deps/openssl/include/openssl/ec.h deleted file mode 100644 index 5af9ebdc..00000000 --- a/deps/openssl/include/openssl/ec.h +++ /dev/null @@ -1,1479 +0,0 @@ -/* - * Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_EC_H -# define HEADER_EC_H - -# include - -# ifndef OPENSSL_NO_EC -# include -# include -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# endif -# include -# ifdef __cplusplus -extern "C" { -# endif - -# ifndef OPENSSL_ECC_MAX_FIELD_BITS -# define OPENSSL_ECC_MAX_FIELD_BITS 661 -# endif - -/** Enum for the point conversion form as defined in X9.62 (ECDSA) - * for the encoding of a elliptic curve point (x,y) */ -typedef enum { - /** the point is encoded as z||x, where the octet z specifies - * which solution of the quadratic equation y is */ - POINT_CONVERSION_COMPRESSED = 2, - /** the point is encoded as z||x||y, where z is the octet 0x04 */ - POINT_CONVERSION_UNCOMPRESSED = 4, - /** the point is encoded as z||x||y, where the octet z specifies - * which solution of the quadratic equation y is */ - POINT_CONVERSION_HYBRID = 6 -} point_conversion_form_t; - -typedef struct ec_method_st EC_METHOD; -typedef struct ec_group_st EC_GROUP; -typedef struct ec_point_st EC_POINT; -typedef struct ecpk_parameters_st ECPKPARAMETERS; -typedef struct ec_parameters_st ECPARAMETERS; - -/********************************************************************/ -/* EC_METHODs for curves over GF(p) */ -/********************************************************************/ - -/** Returns the basic GFp ec methods which provides the basis for the - * optimized methods. - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_simple_method(void); - -/** Returns GFp methods using montgomery multiplication. - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_mont_method(void); - -/** Returns GFp methods using optimized methods for NIST recommended curves - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nist_method(void); - -# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -/** Returns 64-bit optimized methods for nistp224 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp224_method(void); - -/** Returns 64-bit optimized methods for nistp256 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp256_method(void); - -/** Returns 64-bit optimized methods for nistp521 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp521_method(void); -# endif - -# ifndef OPENSSL_NO_EC2M -/********************************************************************/ -/* EC_METHOD for curves over GF(2^m) */ -/********************************************************************/ - -/** Returns the basic GF2m ec method - * \return EC_METHOD object - */ -const EC_METHOD *EC_GF2m_simple_method(void); - -# endif - -/********************************************************************/ -/* EC_GROUP functions */ -/********************************************************************/ - -/** Creates a new EC_GROUP object - * \param meth EC_METHOD to use - * \return newly created EC_GROUP object or NULL in case of an error. - */ -EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); - -/** Frees a EC_GROUP object - * \param group EC_GROUP object to be freed. - */ -void EC_GROUP_free(EC_GROUP *group); - -/** Clears and frees a EC_GROUP object - * \param group EC_GROUP object to be cleared and freed. - */ -void EC_GROUP_clear_free(EC_GROUP *group); - -/** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. - * \param dst destination EC_GROUP object - * \param src source EC_GROUP object - * \return 1 on success and 0 if an error occurred. - */ -int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); - -/** Creates a new EC_GROUP object and copies the copies the content - * form src to the newly created EC_KEY object - * \param src source EC_GROUP object - * \return newly created EC_GROUP object or NULL in case of an error. - */ -EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); - -/** Returns the EC_METHOD of the EC_GROUP object. - * \param group EC_GROUP object - * \return EC_METHOD used in this EC_GROUP object. - */ -const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); - -/** Returns the field type of the EC_METHOD. - * \param meth EC_METHOD object - * \return NID of the underlying field type OID. - */ -int EC_METHOD_get_field_type(const EC_METHOD *meth); - -/** Sets the generator and its order/cofactor of a EC_GROUP object. - * \param group EC_GROUP object - * \param generator EC_POINT object with the generator. - * \param order the order of the group generated by the generator. - * \param cofactor the index of the sub-group generated by the generator - * in the group of all points on the elliptic curve. - * \return 1 on success and 0 if an error occurred - */ -int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, - const BIGNUM *order, const BIGNUM *cofactor); - -/** Returns the generator of a EC_GROUP object. - * \param group EC_GROUP object - * \return the currently used generator (possibly NULL). - */ -const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); - -/** Returns the montgomery data for order(Generator) - * \param group EC_GROUP object - * \return the currently used montgomery data (possibly NULL). -*/ -BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group); - -/** Gets the order of a EC_GROUP - * \param group EC_GROUP object - * \param order BIGNUM to which the order is copied - * \param ctx unused - * \return 1 on success and 0 if an error occurred - */ -int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); - -/** Gets the order of an EC_GROUP - * \param group EC_GROUP object - * \return the group order - */ -const BIGNUM *EC_GROUP_get0_order(const EC_GROUP *group); - -/** Gets the number of bits of the order of an EC_GROUP - * \param group EC_GROUP object - * \return number of bits of group order. - */ -int EC_GROUP_order_bits(const EC_GROUP *group); - -/** Gets the cofactor of a EC_GROUP - * \param group EC_GROUP object - * \param cofactor BIGNUM to which the cofactor is copied - * \param ctx unused - * \return 1 on success and 0 if an error occurred - */ -int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, - BN_CTX *ctx); - -/** Gets the cofactor of an EC_GROUP - * \param group EC_GROUP object - * \return the group cofactor - */ -const BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group); - -/** Sets the name of a EC_GROUP object - * \param group EC_GROUP object - * \param nid NID of the curve name OID - */ -void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); - -/** Returns the curve name of a EC_GROUP object - * \param group EC_GROUP object - * \return NID of the curve name OID or 0 if not set. - */ -int EC_GROUP_get_curve_name(const EC_GROUP *group); - -void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); -int EC_GROUP_get_asn1_flag(const EC_GROUP *group); - -void EC_GROUP_set_point_conversion_form(EC_GROUP *group, - point_conversion_form_t form); -point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); - -unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); -size_t EC_GROUP_get_seed_len(const EC_GROUP *); -size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); - -/** Sets the parameters of a ec curve defined by y^2 = x^3 + a*x + b (for GFp) - * or y^2 + x*y = x^3 + a*x^2 + b (for GF2m) - * \param group EC_GROUP object - * \param p BIGNUM with the prime number (GFp) or the polynomial - * defining the underlying field (GF2m) - * \param a BIGNUM with parameter a of the equation - * \param b BIGNUM with parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); - -/** Gets the parameters of the ec curve defined by y^2 = x^3 + a*x + b (for GFp) - * or y^2 + x*y = x^3 + a*x^2 + b (for GF2m) - * \param group EC_GROUP object - * \param p BIGNUM with the prime number (GFp) or the polynomial - * defining the underlying field (GF2m) - * \param a BIGNUM for parameter a of the equation - * \param b BIGNUM for parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, - BN_CTX *ctx); - -/** Sets the parameters of an ec curve. Synonym for EC_GROUP_set_curve - * \param group EC_GROUP object - * \param p BIGNUM with the prime number (GFp) or the polynomial - * defining the underlying field (GF2m) - * \param a BIGNUM with parameter a of the equation - * \param b BIGNUM with parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, - const BIGNUM *a, const BIGNUM *b, - BN_CTX *ctx)) - -/** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve - * \param group EC_GROUP object - * \param p BIGNUM with the prime number (GFp) or the polynomial - * defining the underlying field (GF2m) - * \param a BIGNUM for parameter a of the equation - * \param b BIGNUM for parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, - BIGNUM *a, BIGNUM *b, - BN_CTX *ctx)) - -# ifndef OPENSSL_NO_EC2M -/** Sets the parameter of an ec curve. Synonym for EC_GROUP_set_curve - * \param group EC_GROUP object - * \param p BIGNUM with the prime number (GFp) or the polynomial - * defining the underlying field (GF2m) - * \param a BIGNUM with parameter a of the equation - * \param b BIGNUM with parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, - const BIGNUM *a, const BIGNUM *b, - BN_CTX *ctx)) - -/** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve - * \param group EC_GROUP object - * \param p BIGNUM with the prime number (GFp) or the polynomial - * defining the underlying field (GF2m) - * \param a BIGNUM for parameter a of the equation - * \param b BIGNUM for parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, - BIGNUM *a, BIGNUM *b, - BN_CTX *ctx)) -# endif -/** Returns the number of bits needed to represent a field element - * \param group EC_GROUP object - * \return number of bits needed to represent a field element - */ -int EC_GROUP_get_degree(const EC_GROUP *group); - -/** Checks whether the parameter in the EC_GROUP define a valid ec group - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 if group is a valid ec group and 0 otherwise - */ -int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); - -/** Checks whether the discriminant of the elliptic curve is zero or not - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 if the discriminant is not zero and 0 otherwise - */ -int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); - -/** Compares two EC_GROUP objects - * \param a first EC_GROUP object - * \param b second EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 0 if the groups are equal, 1 if not, or -1 on error - */ -int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); - -/* - * EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() after - * choosing an appropriate EC_METHOD - */ - -/** Creates a new EC_GROUP object with the specified parameters defined - * over GFp (defined by the equation y^2 = x^3 + a*x + b) - * \param p BIGNUM with the prime number - * \param a BIGNUM with the parameter a of the equation - * \param b BIGNUM with the parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return newly created EC_GROUP object with the specified parameters - */ -EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); -# ifndef OPENSSL_NO_EC2M -/** Creates a new EC_GROUP object with the specified parameters defined - * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) - * \param p BIGNUM with the polynomial defining the underlying field - * \param a BIGNUM with the parameter a of the equation - * \param b BIGNUM with the parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return newly created EC_GROUP object with the specified parameters - */ -EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); -# endif - -/** Creates a EC_GROUP object with a curve specified by a NID - * \param nid NID of the OID of the curve name - * \return newly created EC_GROUP object with specified curve or NULL - * if an error occurred - */ -EC_GROUP *EC_GROUP_new_by_curve_name(int nid); - -/** Creates a new EC_GROUP object from an ECPARAMETERS object - * \param params pointer to the ECPARAMETERS object - * \return newly created EC_GROUP object with specified curve or NULL - * if an error occurred - */ -EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params); - -/** Creates an ECPARAMETERS object for the given EC_GROUP object. - * \param group pointer to the EC_GROUP object - * \param params pointer to an existing ECPARAMETERS object or NULL - * \return pointer to the new ECPARAMETERS object or NULL - * if an error occurred. - */ -ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group, - ECPARAMETERS *params); - -/** Creates a new EC_GROUP object from an ECPKPARAMETERS object - * \param params pointer to an existing ECPKPARAMETERS object, or NULL - * \return newly created EC_GROUP object with specified curve, or NULL - * if an error occurred - */ -EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params); - -/** Creates an ECPKPARAMETERS object for the given EC_GROUP object. - * \param group pointer to the EC_GROUP object - * \param params pointer to an existing ECPKPARAMETERS object or NULL - * \return pointer to the new ECPKPARAMETERS object or NULL - * if an error occurred. - */ -ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(const EC_GROUP *group, - ECPKPARAMETERS *params); - -/********************************************************************/ -/* handling of internal curves */ -/********************************************************************/ - -typedef struct { - int nid; - const char *comment; -} EC_builtin_curve; - -/* - * EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number of all - * available curves or zero if a error occurred. In case r is not zero, - * nitems EC_builtin_curve structures are filled with the data of the first - * nitems internal groups - */ -size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); - -const char *EC_curve_nid2nist(int nid); -int EC_curve_nist2nid(const char *name); - -/********************************************************************/ -/* EC_POINT functions */ -/********************************************************************/ - -/** Creates a new EC_POINT object for the specified EC_GROUP - * \param group EC_GROUP the underlying EC_GROUP object - * \return newly created EC_POINT object or NULL if an error occurred - */ -EC_POINT *EC_POINT_new(const EC_GROUP *group); - -/** Frees a EC_POINT object - * \param point EC_POINT object to be freed - */ -void EC_POINT_free(EC_POINT *point); - -/** Clears and frees a EC_POINT object - * \param point EC_POINT object to be cleared and freed - */ -void EC_POINT_clear_free(EC_POINT *point); - -/** Copies EC_POINT object - * \param dst destination EC_POINT object - * \param src source EC_POINT object - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); - -/** Creates a new EC_POINT object and copies the content of the supplied - * EC_POINT - * \param src source EC_POINT object - * \param group underlying the EC_GROUP object - * \return newly created EC_POINT object or NULL if an error occurred - */ -EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); - -/** Returns the EC_METHOD used in EC_POINT object - * \param point EC_POINT object - * \return the EC_METHOD used - */ -const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); - -/** Sets a point to infinity (neutral element) - * \param group underlying EC_GROUP object - * \param point EC_POINT to set to infinity - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); - -/** Sets the jacobian projective coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param z BIGNUM with the z-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, const BIGNUM *x, - const BIGNUM *y, const BIGNUM *z, - BN_CTX *ctx); - -/** Gets the jacobian projective coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param z BIGNUM for the z-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, - BIGNUM *y, BIGNUM *z, - BN_CTX *ctx); - -/** Sets the affine coordinates of an EC_POINT - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, - BN_CTX *ctx); - -/** Gets the affine coordinates of an EC_POINT. - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p, - BIGNUM *x, BIGNUM *y, BN_CTX *ctx); - -/** Sets the affine coordinates of an EC_POINT. A synonym of - * EC_POINT_set_affine_coordinates - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, - const BIGNUM *y, - BN_CTX *ctx)) - -/** Gets the affine coordinates of an EC_POINT. A synonym of - * EC_POINT_get_affine_coordinates - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, - BIGNUM *x, - BIGNUM *y, - BN_CTX *ctx)) - -/** Sets the x9.62 compressed coordinates of a EC_POINT - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with x-coordinate - * \param y_bit integer with the y-Bit (either 0 or 1) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, int y_bit, - BN_CTX *ctx); - -/** Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of - * EC_POINT_set_compressed_coordinates - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with x-coordinate - * \param y_bit integer with the y-Bit (either 0 or 1) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, - int y_bit, - BN_CTX *ctx)) -# ifndef OPENSSL_NO_EC2M -/** Sets the affine coordinates of an EC_POINT. A synonym of - * EC_POINT_set_affine_coordinates - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, - const BIGNUM *y, - BN_CTX *ctx)) - -/** Gets the affine coordinates of an EC_POINT. A synonym of - * EC_POINT_get_affine_coordinates - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, - const EC_POINT *p, - BIGNUM *x, - BIGNUM *y, - BN_CTX *ctx)) - -/** Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of - * EC_POINT_set_compressed_coordinates - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with x-coordinate - * \param y_bit integer with the y-Bit (either 0 or 1) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, - int y_bit, - BN_CTX *ctx)) -# endif -/** Encodes a EC_POINT object to a octet string - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param form point conversion form - * \param buf memory buffer for the result. If NULL the function returns - * required buffer size. - * \param len length of the memory buffer - * \param ctx BN_CTX object (optional) - * \return the length of the encoded octet string or 0 if an error occurred - */ -size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, - point_conversion_form_t form, - unsigned char *buf, size_t len, BN_CTX *ctx); - -/** Decodes a EC_POINT from a octet string - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param buf memory buffer with the encoded ec point - * \param len length of the encoded ec point - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, - const unsigned char *buf, size_t len, BN_CTX *ctx); - -/** Encodes an EC_POINT object to an allocated octet string - * \param group underlying EC_GROUP object - * \param point EC_POINT object - * \param form point conversion form - * \param pbuf returns pointer to allocated buffer - * \param ctx BN_CTX object (optional) - * \return the length of the encoded octet string or 0 if an error occurred - */ -size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point, - point_conversion_form_t form, - unsigned char **pbuf, BN_CTX *ctx); - -/* other interfaces to point2oct/oct2point: */ -BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, - point_conversion_form_t form, BIGNUM *, BN_CTX *); -EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, - EC_POINT *, BN_CTX *); -char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, - point_conversion_form_t form, BN_CTX *); -EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, - EC_POINT *, BN_CTX *); - -/********************************************************************/ -/* functions for doing EC_POINT arithmetic */ -/********************************************************************/ - -/** Computes the sum of two EC_POINT - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result (r = a + b) - * \param a EC_POINT object with the first summand - * \param b EC_POINT object with the second summand - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, - const EC_POINT *b, BN_CTX *ctx); - -/** Computes the double of a EC_POINT - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result (r = 2 * a) - * \param a EC_POINT object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, - BN_CTX *ctx); - -/** Computes the inverse of a EC_POINT - * \param group underlying EC_GROUP object - * \param a EC_POINT object to be inverted (it's used for the result as well) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); - -/** Checks whether the point is the neutral element of the group - * \param group the underlying EC_GROUP object - * \param p EC_POINT object - * \return 1 if the point is the neutral element and 0 otherwise - */ -int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); - -/** Checks whether the point is on the curve - * \param group underlying EC_GROUP object - * \param point EC_POINT object to check - * \param ctx BN_CTX object (optional) - * \return 1 if the point is on the curve, 0 if not, or -1 on error - */ -int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, - BN_CTX *ctx); - -/** Compares two EC_POINTs - * \param group underlying EC_GROUP object - * \param a first EC_POINT object - * \param b second EC_POINT object - * \param ctx BN_CTX object (optional) - * \return 1 if the points are not equal, 0 if they are, or -1 on error - */ -int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, - BN_CTX *ctx); - -int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); -int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, - EC_POINT *points[], BN_CTX *ctx); - -/** Computes r = generator * n + sum_{i=0}^{num-1} p[i] * m[i] - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result - * \param n BIGNUM with the multiplier for the group generator (optional) - * \param num number further summands - * \param p array of size num of EC_POINT objects - * \param m array of size num of BIGNUM objects - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, - size_t num, const EC_POINT *p[], const BIGNUM *m[], - BN_CTX *ctx); - -/** Computes r = generator * n + q * m - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result - * \param n BIGNUM with the multiplier for the group generator (optional) - * \param q EC_POINT object with the first factor of the second summand - * \param m BIGNUM with the second factor of the second summand - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, - const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); - -/** Stores multiples of generator for faster point multiplication - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ -int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); - -/** Reports whether a precomputation has been done - * \param group EC_GROUP object - * \return 1 if a pre-computation has been done and 0 otherwise - */ -int EC_GROUP_have_precompute_mult(const EC_GROUP *group); - -/********************************************************************/ -/* ASN1 stuff */ -/********************************************************************/ - -DECLARE_ASN1_ITEM(ECPKPARAMETERS) -DECLARE_ASN1_ALLOC_FUNCTIONS(ECPKPARAMETERS) -DECLARE_ASN1_ITEM(ECPARAMETERS) -DECLARE_ASN1_ALLOC_FUNCTIONS(ECPARAMETERS) - -/* - * EC_GROUP_get_basis_type() returns the NID of the basis type used to - * represent the field elements - */ -int EC_GROUP_get_basis_type(const EC_GROUP *); -# ifndef OPENSSL_NO_EC2M -int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); -int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, - unsigned int *k2, unsigned int *k3); -# endif - -# define OPENSSL_EC_EXPLICIT_CURVE 0x000 -# define OPENSSL_EC_NAMED_CURVE 0x001 - -EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); -int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); - -# define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) -# define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) -# define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ - (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) -# define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ - (unsigned char *)(x)) - -int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); -# ifndef OPENSSL_NO_STDIO -int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); -# endif - -/********************************************************************/ -/* EC_KEY functions */ -/********************************************************************/ - -/* some values for the encoding_flag */ -# define EC_PKEY_NO_PARAMETERS 0x001 -# define EC_PKEY_NO_PUBKEY 0x002 - -/* some values for the flags field */ -# define EC_FLAG_NON_FIPS_ALLOW 0x1 -# define EC_FLAG_FIPS_CHECKED 0x2 -# define EC_FLAG_COFACTOR_ECDH 0x1000 - -/** Creates a new EC_KEY object. - * \return EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_new(void); - -int EC_KEY_get_flags(const EC_KEY *key); - -void EC_KEY_set_flags(EC_KEY *key, int flags); - -void EC_KEY_clear_flags(EC_KEY *key, int flags); - -/** Creates a new EC_KEY object using a named curve as underlying - * EC_GROUP object. - * \param nid NID of the named curve. - * \return EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_new_by_curve_name(int nid); - -/** Frees a EC_KEY object. - * \param key EC_KEY object to be freed. - */ -void EC_KEY_free(EC_KEY *key); - -/** Copies a EC_KEY object. - * \param dst destination EC_KEY object - * \param src src EC_KEY object - * \return dst or NULL if an error occurred. - */ -EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); - -/** Creates a new EC_KEY object and copies the content from src to it. - * \param src the source EC_KEY object - * \return newly created EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_dup(const EC_KEY *src); - -/** Increases the internal reference count of a EC_KEY object. - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_up_ref(EC_KEY *key); - -/** Returns the ENGINE object of a EC_KEY object - * \param eckey EC_KEY object - * \return the ENGINE object (possibly NULL). - */ -ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey); - -/** Returns the EC_GROUP object of a EC_KEY object - * \param key EC_KEY object - * \return the EC_GROUP object (possibly NULL). - */ -const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); - -/** Sets the EC_GROUP of a EC_KEY object. - * \param key EC_KEY object - * \param group EC_GROUP to use in the EC_KEY object (note: the EC_KEY - * object will use an own copy of the EC_GROUP). - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); - -/** Returns the private key of a EC_KEY object. - * \param key EC_KEY object - * \return a BIGNUM with the private key (possibly NULL). - */ -const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); - -/** Sets the private key of a EC_KEY object. - * \param key EC_KEY object - * \param prv BIGNUM with the private key (note: the EC_KEY object - * will use an own copy of the BIGNUM). - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); - -/** Returns the public key of a EC_KEY object. - * \param key the EC_KEY object - * \return a EC_POINT object with the public key (possibly NULL) - */ -const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); - -/** Sets the public key of a EC_KEY object. - * \param key EC_KEY object - * \param pub EC_POINT object with the public key (note: the EC_KEY object - * will use an own copy of the EC_POINT object). - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); - -unsigned EC_KEY_get_enc_flags(const EC_KEY *key); -void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); -point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); -void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); - -#define EC_KEY_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EC_KEY, l, p, newf, dupf, freef) -int EC_KEY_set_ex_data(EC_KEY *key, int idx, void *arg); -void *EC_KEY_get_ex_data(const EC_KEY *key, int idx); - -/* wrapper functions for the underlying EC_GROUP object */ -void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); - -/** Creates a table of pre-computed multiples of the generator to - * accelerate further EC_KEY operations. - * \param key EC_KEY object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); - -/** Creates a new ec private (and optional a new public) key. - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_generate_key(EC_KEY *key); - -/** Verifies that a private and/or public key is valid. - * \param key the EC_KEY object - * \return 1 on success and 0 otherwise. - */ -int EC_KEY_check_key(const EC_KEY *key); - -/** Indicates if an EC_KEY can be used for signing. - * \param eckey the EC_KEY object - * \return 1 if can can sign and 0 otherwise. - */ -int EC_KEY_can_sign(const EC_KEY *eckey); - -/** Sets a public key from affine coordinates performing - * necessary NIST PKV tests. - * \param key the EC_KEY object - * \param x public key x coordinate - * \param y public key y coordinate - * \return 1 on success and 0 otherwise. - */ -int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, - BIGNUM *y); - -/** Encodes an EC_KEY public key to an allocated octet string - * \param key key to encode - * \param form point conversion form - * \param pbuf returns pointer to allocated buffer - * \param ctx BN_CTX object (optional) - * \return the length of the encoded octet string or 0 if an error occurred - */ -size_t EC_KEY_key2buf(const EC_KEY *key, point_conversion_form_t form, - unsigned char **pbuf, BN_CTX *ctx); - -/** Decodes a EC_KEY public key from a octet string - * \param key key to decode - * \param buf memory buffer with the encoded ec point - * \param len length of the encoded ec point - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred - */ - -int EC_KEY_oct2key(EC_KEY *key, const unsigned char *buf, size_t len, - BN_CTX *ctx); - -/** Decodes an EC_KEY private key from an octet string - * \param key key to decode - * \param buf memory buffer with the encoded private key - * \param len length of the encoded key - * \return 1 on success and 0 if an error occurred - */ - -int EC_KEY_oct2priv(EC_KEY *key, const unsigned char *buf, size_t len); - -/** Encodes a EC_KEY private key to an octet string - * \param key key to encode - * \param buf memory buffer for the result. If NULL the function returns - * required buffer size. - * \param len length of the memory buffer - * \return the length of the encoded octet string or 0 if an error occurred - */ - -size_t EC_KEY_priv2oct(const EC_KEY *key, unsigned char *buf, size_t len); - -/** Encodes an EC_KEY private key to an allocated octet string - * \param eckey key to encode - * \param pbuf returns pointer to allocated buffer - * \return the length of the encoded octet string or 0 if an error occurred - */ -size_t EC_KEY_priv2buf(const EC_KEY *eckey, unsigned char **pbuf); - -/********************************************************************/ -/* de- and encoding functions for SEC1 ECPrivateKey */ -/********************************************************************/ - -/** Decodes a private key from a memory buffer. - * \param key a pointer to a EC_KEY object which should be used (or NULL) - * \param in pointer to memory with the DER encoded private key - * \param len length of the DER encoded private key - * \return the decoded private key or NULL if an error occurred. - */ -EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes a private key object and stores the result in a buffer. - * \param key the EC_KEY object to encode - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred. - */ -int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); - -/********************************************************************/ -/* de- and encoding functions for EC parameters */ -/********************************************************************/ - -/** Decodes ec parameter from a memory buffer. - * \param key a pointer to a EC_KEY object which should be used (or NULL) - * \param in pointer to memory with the DER encoded ec parameters - * \param len length of the DER encoded ec parameters - * \return a EC_KEY object with the decoded parameters or NULL if an error - * occurred. - */ -EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes ec parameter and stores the result in a buffer. - * \param key the EC_KEY object with ec parameters to encode - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred. - */ -int i2d_ECParameters(EC_KEY *key, unsigned char **out); - -/********************************************************************/ -/* de- and encoding functions for EC public key */ -/* (octet string, not DER -- hence 'o2i' and 'i2o') */ -/********************************************************************/ - -/** Decodes a ec public key from a octet string. - * \param key a pointer to a EC_KEY object which should be used - * \param in memory buffer with the encoded public key - * \param len length of the encoded public key - * \return EC_KEY object with decoded public key or NULL if an error - * occurred. - */ -EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes a ec public key in an octet string. - * \param key the EC_KEY object with the public key - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred - */ -int i2o_ECPublicKey(const EC_KEY *key, unsigned char **out); - -/** Prints out the ec parameters on human readable form. - * \param bp BIO object to which the information is printed - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred - */ -int ECParameters_print(BIO *bp, const EC_KEY *key); - -/** Prints out the contents of a EC_KEY object - * \param bp BIO object to which the information is printed - * \param key EC_KEY object - * \param off line offset - * \return 1 on success and 0 if an error occurred - */ -int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); - -# ifndef OPENSSL_NO_STDIO -/** Prints out the ec parameters on human readable form. - * \param fp file descriptor to which the information is printed - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred - */ -int ECParameters_print_fp(FILE *fp, const EC_KEY *key); - -/** Prints out the contents of a EC_KEY object - * \param fp file descriptor to which the information is printed - * \param key EC_KEY object - * \param off line offset - * \return 1 on success and 0 if an error occurred - */ -int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); - -# endif - -const EC_KEY_METHOD *EC_KEY_OpenSSL(void); -const EC_KEY_METHOD *EC_KEY_get_default_method(void); -void EC_KEY_set_default_method(const EC_KEY_METHOD *meth); -const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key); -int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth); -EC_KEY *EC_KEY_new_method(ENGINE *engine); - -/** The old name for ecdh_KDF_X9_63 - * The ECDH KDF specification has been mistakingly attributed to ANSI X9.62, - * it is actually specified in ANSI X9.63. - * This identifier is retained for backwards compatibility - */ -int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, - const unsigned char *Z, size_t Zlen, - const unsigned char *sinfo, size_t sinfolen, - const EVP_MD *md); - -int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, - const EC_KEY *ecdh, - void *(*KDF) (const void *in, size_t inlen, - void *out, size_t *outlen)); - -typedef struct ECDSA_SIG_st ECDSA_SIG; - -/** Allocates and initialize a ECDSA_SIG structure - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_SIG_new(void); - -/** frees a ECDSA_SIG structure - * \param sig pointer to the ECDSA_SIG structure - */ -void ECDSA_SIG_free(ECDSA_SIG *sig); - -/** DER encode content of ECDSA_SIG object (note: this function modifies *pp - * (*pp += length of the DER encoded signature)). - * \param sig pointer to the ECDSA_SIG object - * \param pp pointer to a unsigned char pointer for the output or NULL - * \return the length of the DER encoded ECDSA_SIG object or a negative value - * on error - */ -int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); - -/** Decodes a DER encoded ECDSA signature (note: this function changes *pp - * (*pp += len)). - * \param sig pointer to ECDSA_SIG pointer (may be NULL) - * \param pp memory buffer with the DER encoded signature - * \param len length of the buffer - * \return pointer to the decoded ECDSA_SIG structure (or NULL) - */ -ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); - -/** Accessor for r and s fields of ECDSA_SIG - * \param sig pointer to ECDSA_SIG structure - * \param pr pointer to BIGNUM pointer for r (may be NULL) - * \param ps pointer to BIGNUM pointer for s (may be NULL) - */ -void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); - -/** Accessor for r field of ECDSA_SIG - * \param sig pointer to ECDSA_SIG structure - */ -const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig); - -/** Accessor for s field of ECDSA_SIG - * \param sig pointer to ECDSA_SIG structure - */ -const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig); - -/** Setter for r and s fields of ECDSA_SIG - * \param sig pointer to ECDSA_SIG structure - * \param r pointer to BIGNUM for r (may be NULL) - * \param s pointer to BIGNUM for s (may be NULL) - */ -int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s); - -/** Computes the ECDSA signature of the given hash value using - * the supplied private key and returns the created signature. - * \param dgst pointer to the hash value - * \param dgst_len length of the hash value - * \param eckey EC_KEY object containing a private EC key - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, - EC_KEY *eckey); - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param kinv BIGNUM with a pre-computed inverse k (optional) - * \param rp BIGNUM with a pre-computed rp value (optional), - * see ECDSA_sign_setup - * \param eckey EC_KEY object containing a private EC key - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, - const BIGNUM *kinv, const BIGNUM *rp, - EC_KEY *eckey); - -/** Verifies that the supplied signature is a valid ECDSA - * signature of the supplied hash value using the supplied public key. - * \param dgst pointer to the hash value - * \param dgst_len length of the hash value - * \param sig ECDSA_SIG structure - * \param eckey EC_KEY object containing a public EC key - * \return 1 if the signature is valid, 0 if the signature is invalid - * and -1 on error - */ -int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, - const ECDSA_SIG *sig, EC_KEY *eckey); - -/** Precompute parts of the signing operation - * \param eckey EC_KEY object containing a private EC key - * \param ctx BN_CTX object (optional) - * \param kinv BIGNUM pointer for the inverse of k - * \param rp BIGNUM pointer for x coordinate of k * generator - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param type this parameter is ignored - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param sig memory for the DER encoded created signature - * \param siglen pointer to the length of the returned signature - * \param eckey EC_KEY object containing a private EC key - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param type this parameter is ignored - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param sig buffer to hold the DER encoded signature - * \param siglen pointer to the length of the returned signature - * \param kinv BIGNUM with a pre-computed inverse k (optional) - * \param rp BIGNUM with a pre-computed rp value (optional), - * see ECDSA_sign_setup - * \param eckey EC_KEY object containing a private EC key - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, - const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); - -/** Verifies that the given signature is valid ECDSA signature - * of the supplied hash value using the specified public key. - * \param type this parameter is ignored - * \param dgst pointer to the hash value - * \param dgstlen length of the hash value - * \param sig pointer to the DER encoded signature - * \param siglen length of the DER encoded signature - * \param eckey EC_KEY object containing a public EC key - * \return 1 if the signature is valid, 0 if the signature is invalid - * and -1 on error - */ -int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, - const unsigned char *sig, int siglen, EC_KEY *eckey); - -/** Returns the maximum length of the DER encoded signature - * \param eckey EC_KEY object - * \return numbers of bytes required for the DER encoded signature - */ -int ECDSA_size(const EC_KEY *eckey); - -/********************************************************************/ -/* EC_KEY_METHOD constructors, destructors, writers and accessors */ -/********************************************************************/ - -EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth); -void EC_KEY_METHOD_free(EC_KEY_METHOD *meth); -void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, - int (*init)(EC_KEY *key), - void (*finish)(EC_KEY *key), - int (*copy)(EC_KEY *dest, const EC_KEY *src), - int (*set_group)(EC_KEY *key, const EC_GROUP *grp), - int (*set_private)(EC_KEY *key, - const BIGNUM *priv_key), - int (*set_public)(EC_KEY *key, - const EC_POINT *pub_key)); - -void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, - int (*keygen)(EC_KEY *key)); - -void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, - int (*ckey)(unsigned char **psec, - size_t *pseclen, - const EC_POINT *pub_key, - const EC_KEY *ecdh)); - -void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth, - int (*sign)(int type, const unsigned char *dgst, - int dlen, unsigned char *sig, - unsigned int *siglen, - const BIGNUM *kinv, const BIGNUM *r, - EC_KEY *eckey), - int (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, - BIGNUM **kinvp, BIGNUM **rp), - ECDSA_SIG *(*sign_sig)(const unsigned char *dgst, - int dgst_len, - const BIGNUM *in_kinv, - const BIGNUM *in_r, - EC_KEY *eckey)); - -void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth, - int (*verify)(int type, const unsigned - char *dgst, int dgst_len, - const unsigned char *sigbuf, - int sig_len, EC_KEY *eckey), - int (*verify_sig)(const unsigned char *dgst, - int dgst_len, - const ECDSA_SIG *sig, - EC_KEY *eckey)); - -void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth, - int (**pinit)(EC_KEY *key), - void (**pfinish)(EC_KEY *key), - int (**pcopy)(EC_KEY *dest, const EC_KEY *src), - int (**pset_group)(EC_KEY *key, - const EC_GROUP *grp), - int (**pset_private)(EC_KEY *key, - const BIGNUM *priv_key), - int (**pset_public)(EC_KEY *key, - const EC_POINT *pub_key)); - -void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth, - int (**pkeygen)(EC_KEY *key)); - -void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth, - int (**pck)(unsigned char **psec, - size_t *pseclen, - const EC_POINT *pub_key, - const EC_KEY *ecdh)); - -void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth, - int (**psign)(int type, const unsigned char *dgst, - int dlen, unsigned char *sig, - unsigned int *siglen, - const BIGNUM *kinv, const BIGNUM *r, - EC_KEY *eckey), - int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, - BIGNUM **kinvp, BIGNUM **rp), - ECDSA_SIG *(**psign_sig)(const unsigned char *dgst, - int dgst_len, - const BIGNUM *in_kinv, - const BIGNUM *in_r, - EC_KEY *eckey)); - -void EC_KEY_METHOD_get_verify(const EC_KEY_METHOD *meth, - int (**pverify)(int type, const unsigned - char *dgst, int dgst_len, - const unsigned char *sigbuf, - int sig_len, EC_KEY *eckey), - int (**pverify_sig)(const unsigned char *dgst, - int dgst_len, - const ECDSA_SIG *sig, - EC_KEY *eckey)); - -# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) - -# ifndef __cplusplus -# if defined(__SUNPRO_C) -# if __SUNPRO_C >= 0x520 -# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) -# endif -# endif -# endif - -# define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) - -# define EVP_PKEY_CTX_set_ec_param_enc(ctx, flag) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_EC_PARAM_ENC, flag, NULL) - -# define EVP_PKEY_CTX_set_ecdh_cofactor_mode(ctx, flag) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_EC_ECDH_COFACTOR, flag, NULL) - -# define EVP_PKEY_CTX_get_ecdh_cofactor_mode(ctx) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_EC_ECDH_COFACTOR, -2, NULL) - -# define EVP_PKEY_CTX_set_ecdh_kdf_type(ctx, kdf) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_EC_KDF_TYPE, kdf, NULL) - -# define EVP_PKEY_CTX_get_ecdh_kdf_type(ctx) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_EC_KDF_TYPE, -2, NULL) - -# define EVP_PKEY_CTX_set_ecdh_kdf_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_EC_KDF_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTX_get_ecdh_kdf_md(ctx, pmd) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_EC_KDF_MD, 0, (void *)(pmd)) - -# define EVP_PKEY_CTX_set_ecdh_kdf_outlen(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_EC_KDF_OUTLEN, len, NULL) - -# define EVP_PKEY_CTX_get_ecdh_kdf_outlen(ctx, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, 0, \ - (void *)(plen)) - -# define EVP_PKEY_CTX_set0_ecdh_kdf_ukm(ctx, p, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_EC_KDF_UKM, plen, (void *)(p)) - -# define EVP_PKEY_CTX_get0_ecdh_kdf_ukm(ctx, p) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_EC_KDF_UKM, 0, (void *)(p)) - -/* SM2 will skip the operation check so no need to pass operation here */ -# define EVP_PKEY_CTX_set1_id(ctx, id, id_len) \ - EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ - EVP_PKEY_CTRL_SET1_ID, (int)id_len, (void*)(id)) - -# define EVP_PKEY_CTX_get1_id(ctx, id) \ - EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ - EVP_PKEY_CTRL_GET1_ID, 0, (void*)(id)) - -# define EVP_PKEY_CTX_get1_id_len(ctx, id_len) \ - EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ - EVP_PKEY_CTRL_GET1_ID_LEN, 0, (void*)(id_len)) - -# define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) -# define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) -# define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) -# define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) -# define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) -# define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) -# define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) -# define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) -# define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) -# define EVP_PKEY_CTRL_SET1_ID (EVP_PKEY_ALG_CTRL + 11) -# define EVP_PKEY_CTRL_GET1_ID (EVP_PKEY_ALG_CTRL + 12) -# define EVP_PKEY_CTRL_GET1_ID_LEN (EVP_PKEY_ALG_CTRL + 13) -/* KDF types */ -# define EVP_PKEY_ECDH_KDF_NONE 1 -# define EVP_PKEY_ECDH_KDF_X9_63 2 -/** The old name for EVP_PKEY_ECDH_KDF_X9_63 - * The ECDH KDF specification has been mistakingly attributed to ANSI X9.62, - * it is actually specified in ANSI X9.63. - * This identifier is retained for backwards compatibility - */ -# define EVP_PKEY_ECDH_KDF_X9_62 EVP_PKEY_ECDH_KDF_X9_63 - - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/ecdh.h b/deps/openssl/include/openssl/ecdh.h deleted file mode 100644 index 681f3d5e..00000000 --- a/deps/openssl/include/openssl/ecdh.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#include diff --git a/deps/openssl/include/openssl/ecdsa.h b/deps/openssl/include/openssl/ecdsa.h deleted file mode 100644 index 681f3d5e..00000000 --- a/deps/openssl/include/openssl/ecdsa.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#include diff --git a/deps/openssl/include/openssl/ecerr.h b/deps/openssl/include/openssl/ecerr.h deleted file mode 100644 index f7b91834..00000000 --- a/deps/openssl/include/openssl/ecerr.h +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ECERR_H -# define HEADER_ECERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_EC - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_EC_strings(void); - -/* - * EC function codes. - */ -# define EC_F_BN_TO_FELEM 224 -# define EC_F_D2I_ECPARAMETERS 144 -# define EC_F_D2I_ECPKPARAMETERS 145 -# define EC_F_D2I_ECPRIVATEKEY 146 -# define EC_F_DO_EC_KEY_PRINT 221 -# define EC_F_ECDH_CMS_DECRYPT 238 -# define EC_F_ECDH_CMS_SET_SHARED_INFO 239 -# define EC_F_ECDH_COMPUTE_KEY 246 -# define EC_F_ECDH_SIMPLE_COMPUTE_KEY 257 -# define EC_F_ECDSA_DO_SIGN_EX 251 -# define EC_F_ECDSA_DO_VERIFY 252 -# define EC_F_ECDSA_SIGN_EX 254 -# define EC_F_ECDSA_SIGN_SETUP 248 -# define EC_F_ECDSA_SIG_NEW 265 -# define EC_F_ECDSA_VERIFY 253 -# define EC_F_ECD_ITEM_VERIFY 270 -# define EC_F_ECKEY_PARAM2TYPE 223 -# define EC_F_ECKEY_PARAM_DECODE 212 -# define EC_F_ECKEY_PRIV_DECODE 213 -# define EC_F_ECKEY_PRIV_ENCODE 214 -# define EC_F_ECKEY_PUB_DECODE 215 -# define EC_F_ECKEY_PUB_ENCODE 216 -# define EC_F_ECKEY_TYPE2PARAM 220 -# define EC_F_ECPARAMETERS_PRINT 147 -# define EC_F_ECPARAMETERS_PRINT_FP 148 -# define EC_F_ECPKPARAMETERS_PRINT 149 -# define EC_F_ECPKPARAMETERS_PRINT_FP 150 -# define EC_F_ECP_NISTZ256_GET_AFFINE 240 -# define EC_F_ECP_NISTZ256_INV_MOD_ORD 275 -# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 243 -# define EC_F_ECP_NISTZ256_POINTS_MUL 241 -# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 244 -# define EC_F_ECP_NISTZ256_WINDOWED_MUL 242 -# define EC_F_ECX_KEY_OP 266 -# define EC_F_ECX_PRIV_ENCODE 267 -# define EC_F_ECX_PUB_ENCODE 268 -# define EC_F_EC_ASN1_GROUP2CURVE 153 -# define EC_F_EC_ASN1_GROUP2FIELDID 154 -# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 -# define EC_F_EC_GF2M_SIMPLE_FIELD_INV 296 -# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 159 -# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 195 -# define EC_F_EC_GF2M_SIMPLE_LADDER_POST 285 -# define EC_F_EC_GF2M_SIMPLE_LADDER_PRE 288 -# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 160 -# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 -# define EC_F_EC_GF2M_SIMPLE_POINTS_MUL 289 -# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 162 -# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 163 -# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 164 -# define EC_F_EC_GFP_MONT_FIELD_DECODE 133 -# define EC_F_EC_GFP_MONT_FIELD_ENCODE 134 -# define EC_F_EC_GFP_MONT_FIELD_INV 297 -# define EC_F_EC_GFP_MONT_FIELD_MUL 131 -# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 209 -# define EC_F_EC_GFP_MONT_FIELD_SQR 132 -# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 189 -# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 225 -# define EC_F_EC_GFP_NISTP224_POINTS_MUL 228 -# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 226 -# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 230 -# define EC_F_EC_GFP_NISTP256_POINTS_MUL 231 -# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 232 -# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 233 -# define EC_F_EC_GFP_NISTP521_POINTS_MUL 234 -# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 235 -# define EC_F_EC_GFP_NIST_FIELD_MUL 200 -# define EC_F_EC_GFP_NIST_FIELD_SQR 201 -# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 -# define EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES 287 -# define EC_F_EC_GFP_SIMPLE_FIELD_INV 298 -# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 -# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 -# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 -# define EC_F_EC_GFP_SIMPLE_OCT2POINT 103 -# define EC_F_EC_GFP_SIMPLE_POINT2OCT 104 -# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 137 -# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 167 -# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 -# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 -# define EC_F_EC_GROUP_CHECK 170 -# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 171 -# define EC_F_EC_GROUP_COPY 106 -# define EC_F_EC_GROUP_GET_CURVE 291 -# define EC_F_EC_GROUP_GET_CURVE_GF2M 172 -# define EC_F_EC_GROUP_GET_CURVE_GFP 130 -# define EC_F_EC_GROUP_GET_DEGREE 173 -# define EC_F_EC_GROUP_GET_ECPARAMETERS 261 -# define EC_F_EC_GROUP_GET_ECPKPARAMETERS 262 -# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 193 -# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 194 -# define EC_F_EC_GROUP_NEW 108 -# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 174 -# define EC_F_EC_GROUP_NEW_FROM_DATA 175 -# define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS 263 -# define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS 264 -# define EC_F_EC_GROUP_SET_CURVE 292 -# define EC_F_EC_GROUP_SET_CURVE_GF2M 176 -# define EC_F_EC_GROUP_SET_CURVE_GFP 109 -# define EC_F_EC_GROUP_SET_GENERATOR 111 -# define EC_F_EC_GROUP_SET_SEED 286 -# define EC_F_EC_KEY_CHECK_KEY 177 -# define EC_F_EC_KEY_COPY 178 -# define EC_F_EC_KEY_GENERATE_KEY 179 -# define EC_F_EC_KEY_NEW 182 -# define EC_F_EC_KEY_NEW_METHOD 245 -# define EC_F_EC_KEY_OCT2PRIV 255 -# define EC_F_EC_KEY_PRINT 180 -# define EC_F_EC_KEY_PRINT_FP 181 -# define EC_F_EC_KEY_PRIV2BUF 279 -# define EC_F_EC_KEY_PRIV2OCT 256 -# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 -# define EC_F_EC_KEY_SIMPLE_CHECK_KEY 258 -# define EC_F_EC_KEY_SIMPLE_OCT2PRIV 259 -# define EC_F_EC_KEY_SIMPLE_PRIV2OCT 260 -# define EC_F_EC_PKEY_CHECK 273 -# define EC_F_EC_PKEY_PARAM_CHECK 274 -# define EC_F_EC_POINTS_MAKE_AFFINE 136 -# define EC_F_EC_POINTS_MUL 290 -# define EC_F_EC_POINT_ADD 112 -# define EC_F_EC_POINT_BN2POINT 280 -# define EC_F_EC_POINT_CMP 113 -# define EC_F_EC_POINT_COPY 114 -# define EC_F_EC_POINT_DBL 115 -# define EC_F_EC_POINT_GET_AFFINE_COORDINATES 293 -# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 183 -# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 116 -# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 117 -# define EC_F_EC_POINT_INVERT 210 -# define EC_F_EC_POINT_IS_AT_INFINITY 118 -# define EC_F_EC_POINT_IS_ON_CURVE 119 -# define EC_F_EC_POINT_MAKE_AFFINE 120 -# define EC_F_EC_POINT_NEW 121 -# define EC_F_EC_POINT_OCT2POINT 122 -# define EC_F_EC_POINT_POINT2BUF 281 -# define EC_F_EC_POINT_POINT2OCT 123 -# define EC_F_EC_POINT_SET_AFFINE_COORDINATES 294 -# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 185 -# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 124 -# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES 295 -# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 186 -# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 125 -# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 126 -# define EC_F_EC_POINT_SET_TO_INFINITY 127 -# define EC_F_EC_PRE_COMP_NEW 196 -# define EC_F_EC_SCALAR_MUL_LADDER 284 -# define EC_F_EC_WNAF_MUL 187 -# define EC_F_EC_WNAF_PRECOMPUTE_MULT 188 -# define EC_F_I2D_ECPARAMETERS 190 -# define EC_F_I2D_ECPKPARAMETERS 191 -# define EC_F_I2D_ECPRIVATEKEY 192 -# define EC_F_I2O_ECPUBLICKEY 151 -# define EC_F_NISTP224_PRE_COMP_NEW 227 -# define EC_F_NISTP256_PRE_COMP_NEW 236 -# define EC_F_NISTP521_PRE_COMP_NEW 237 -# define EC_F_O2I_ECPUBLICKEY 152 -# define EC_F_OLD_EC_PRIV_DECODE 222 -# define EC_F_OSSL_ECDH_COMPUTE_KEY 247 -# define EC_F_OSSL_ECDSA_SIGN_SIG 249 -# define EC_F_OSSL_ECDSA_VERIFY_SIG 250 -# define EC_F_PKEY_ECD_CTRL 271 -# define EC_F_PKEY_ECD_DIGESTSIGN 272 -# define EC_F_PKEY_ECD_DIGESTSIGN25519 276 -# define EC_F_PKEY_ECD_DIGESTSIGN448 277 -# define EC_F_PKEY_ECX_DERIVE 269 -# define EC_F_PKEY_EC_CTRL 197 -# define EC_F_PKEY_EC_CTRL_STR 198 -# define EC_F_PKEY_EC_DERIVE 217 -# define EC_F_PKEY_EC_INIT 282 -# define EC_F_PKEY_EC_KDF_DERIVE 283 -# define EC_F_PKEY_EC_KEYGEN 199 -# define EC_F_PKEY_EC_PARAMGEN 219 -# define EC_F_PKEY_EC_SIGN 218 -# define EC_F_VALIDATE_ECX_DERIVE 278 - -/* - * EC reason codes. - */ -# define EC_R_ASN1_ERROR 115 -# define EC_R_BAD_SIGNATURE 156 -# define EC_R_BIGNUM_OUT_OF_RANGE 144 -# define EC_R_BUFFER_TOO_SMALL 100 -# define EC_R_CANNOT_INVERT 165 -# define EC_R_COORDINATES_OUT_OF_RANGE 146 -# define EC_R_CURVE_DOES_NOT_SUPPORT_ECDH 160 -# define EC_R_CURVE_DOES_NOT_SUPPORT_SIGNING 159 -# define EC_R_D2I_ECPKPARAMETERS_FAILURE 117 -# define EC_R_DECODE_ERROR 142 -# define EC_R_DISCRIMINANT_IS_ZERO 118 -# define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE 119 -# define EC_R_FIELD_TOO_LARGE 143 -# define EC_R_GF2M_NOT_SUPPORTED 147 -# define EC_R_GROUP2PKPARAMETERS_FAILURE 120 -# define EC_R_I2D_ECPKPARAMETERS_FAILURE 121 -# define EC_R_INCOMPATIBLE_OBJECTS 101 -# define EC_R_INVALID_ARGUMENT 112 -# define EC_R_INVALID_COMPRESSED_POINT 110 -# define EC_R_INVALID_COMPRESSION_BIT 109 -# define EC_R_INVALID_CURVE 141 -# define EC_R_INVALID_DIGEST 151 -# define EC_R_INVALID_DIGEST_TYPE 138 -# define EC_R_INVALID_ENCODING 102 -# define EC_R_INVALID_FIELD 103 -# define EC_R_INVALID_FORM 104 -# define EC_R_INVALID_GROUP_ORDER 122 -# define EC_R_INVALID_KEY 116 -# define EC_R_INVALID_OUTPUT_LENGTH 161 -# define EC_R_INVALID_PEER_KEY 133 -# define EC_R_INVALID_PENTANOMIAL_BASIS 132 -# define EC_R_INVALID_PRIVATE_KEY 123 -# define EC_R_INVALID_TRINOMIAL_BASIS 137 -# define EC_R_KDF_PARAMETER_ERROR 148 -# define EC_R_KEYS_NOT_SET 140 -# define EC_R_LADDER_POST_FAILURE 136 -# define EC_R_LADDER_PRE_FAILURE 153 -# define EC_R_LADDER_STEP_FAILURE 162 -# define EC_R_MISSING_PARAMETERS 124 -# define EC_R_MISSING_PRIVATE_KEY 125 -# define EC_R_NEED_NEW_SETUP_VALUES 157 -# define EC_R_NOT_A_NIST_PRIME 135 -# define EC_R_NOT_IMPLEMENTED 126 -# define EC_R_NOT_INITIALIZED 111 -# define EC_R_NO_PARAMETERS_SET 139 -# define EC_R_NO_PRIVATE_VALUE 154 -# define EC_R_OPERATION_NOT_SUPPORTED 152 -# define EC_R_PASSED_NULL_PARAMETER 134 -# define EC_R_PEER_KEY_ERROR 149 -# define EC_R_PKPARAMETERS2GROUP_FAILURE 127 -# define EC_R_POINT_ARITHMETIC_FAILURE 155 -# define EC_R_POINT_AT_INFINITY 106 -# define EC_R_POINT_COORDINATES_BLIND_FAILURE 163 -# define EC_R_POINT_IS_NOT_ON_CURVE 107 -# define EC_R_RANDOM_NUMBER_GENERATION_FAILED 158 -# define EC_R_SHARED_INFO_ERROR 150 -# define EC_R_SLOT_FULL 108 -# define EC_R_UNDEFINED_GENERATOR 113 -# define EC_R_UNDEFINED_ORDER 128 -# define EC_R_UNKNOWN_COFACTOR 164 -# define EC_R_UNKNOWN_GROUP 129 -# define EC_R_UNKNOWN_ORDER 114 -# define EC_R_UNSUPPORTED_FIELD 131 -# define EC_R_WRONG_CURVE_PARAMETERS 145 -# define EC_R_WRONG_ORDER 130 - -# endif -#endif diff --git a/deps/openssl/include/openssl/engine.h b/deps/openssl/include/openssl/engine.h deleted file mode 100644 index 0780f0fb..00000000 --- a/deps/openssl/include/openssl/engine.h +++ /dev/null @@ -1,751 +0,0 @@ -/* - * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ENGINE_H -# define HEADER_ENGINE_H - -# include - -# ifndef OPENSSL_NO_ENGINE -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# include -# include -# include -# include -# include -# include -# include -# endif -# include -# include -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - -/* - * These flags are used to control combinations of algorithm (methods) by - * bitwise "OR"ing. - */ -# define ENGINE_METHOD_RSA (unsigned int)0x0001 -# define ENGINE_METHOD_DSA (unsigned int)0x0002 -# define ENGINE_METHOD_DH (unsigned int)0x0004 -# define ENGINE_METHOD_RAND (unsigned int)0x0008 -# define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 -# define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 -# define ENGINE_METHOD_PKEY_METHS (unsigned int)0x0200 -# define ENGINE_METHOD_PKEY_ASN1_METHS (unsigned int)0x0400 -# define ENGINE_METHOD_EC (unsigned int)0x0800 -/* Obvious all-or-nothing cases. */ -# define ENGINE_METHOD_ALL (unsigned int)0xFFFF -# define ENGINE_METHOD_NONE (unsigned int)0x0000 - -/* - * This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used - * internally to control registration of ENGINE implementations, and can be - * set by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to - * initialise registered ENGINEs if they are not already initialised. - */ -# define ENGINE_TABLE_FLAG_NOINIT (unsigned int)0x0001 - -/* ENGINE flags that can be set by ENGINE_set_flags(). */ -/* Not used */ -/* #define ENGINE_FLAGS_MALLOCED 0x0001 */ - -/* - * This flag is for ENGINEs that wish to handle the various 'CMD'-related - * control commands on their own. Without this flag, ENGINE_ctrl() handles - * these control commands on behalf of the ENGINE using their "cmd_defns" - * data. - */ -# define ENGINE_FLAGS_MANUAL_CMD_CTRL (int)0x0002 - -/* - * This flag is for ENGINEs who return new duplicate structures when found - * via "ENGINE_by_id()". When an ENGINE must store state (eg. if - * ENGINE_ctrl() commands are called in sequence as part of some stateful - * process like key-generation setup and execution), it can set this flag - - * then each attempt to obtain the ENGINE will result in it being copied into - * a new structure. Normally, ENGINEs don't declare this flag so - * ENGINE_by_id() just increments the existing ENGINE's structural reference - * count. - */ -# define ENGINE_FLAGS_BY_ID_COPY (int)0x0004 - -/* - * This flag if for an ENGINE that does not want its methods registered as - * part of ENGINE_register_all_complete() for example if the methods are not - * usable as default methods. - */ - -# define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008 - -/* - * ENGINEs can support their own command types, and these flags are used in - * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input - * each command expects. Currently only numeric and string input is - * supported. If a control command supports none of the _NUMERIC, _STRING, or - * _NO_INPUT options, then it is regarded as an "internal" control command - - * and not for use in config setting situations. As such, they're not - * available to the ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl() - * access. Changes to this list of 'command types' should be reflected - * carefully in ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string(). - */ - -/* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */ -# define ENGINE_CMD_FLAG_NUMERIC (unsigned int)0x0001 -/* - * accepts string input (cast from 'void*' to 'const char *', 4th parameter - * to ENGINE_ctrl) - */ -# define ENGINE_CMD_FLAG_STRING (unsigned int)0x0002 -/* - * Indicates that the control command takes *no* input. Ie. the control - * command is unparameterised. - */ -# define ENGINE_CMD_FLAG_NO_INPUT (unsigned int)0x0004 -/* - * Indicates that the control command is internal. This control command won't - * be shown in any output, and is only usable through the ENGINE_ctrl_cmd() - * function. - */ -# define ENGINE_CMD_FLAG_INTERNAL (unsigned int)0x0008 - -/* - * NB: These 3 control commands are deprecated and should not be used. - * ENGINEs relying on these commands should compile conditional support for - * compatibility (eg. if these symbols are defined) but should also migrate - * the same functionality to their own ENGINE-specific control functions that - * can be "discovered" by calling applications. The fact these control - * commands wouldn't be "executable" (ie. usable by text-based config) - * doesn't change the fact that application code can find and use them - * without requiring per-ENGINE hacking. - */ - -/* - * These flags are used to tell the ctrl function what should be done. All - * command numbers are shared between all engines, even if some don't make - * sense to some engines. In such a case, they do nothing but return the - * error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED. - */ -# define ENGINE_CTRL_SET_LOGSTREAM 1 -# define ENGINE_CTRL_SET_PASSWORD_CALLBACK 2 -# define ENGINE_CTRL_HUP 3/* Close and reinitialise - * any handles/connections - * etc. */ -# define ENGINE_CTRL_SET_USER_INTERFACE 4/* Alternative to callback */ -# define ENGINE_CTRL_SET_CALLBACK_DATA 5/* User-specific data, used - * when calling the password - * callback and the user - * interface */ -# define ENGINE_CTRL_LOAD_CONFIGURATION 6/* Load a configuration, - * given a string that - * represents a file name - * or so */ -# define ENGINE_CTRL_LOAD_SECTION 7/* Load data from a given - * section in the already - * loaded configuration */ - -/* - * These control commands allow an application to deal with an arbitrary - * engine in a dynamic way. Warn: Negative return values indicate errors FOR - * THESE COMMANDS because zero is used to indicate 'end-of-list'. Other - * commands, including ENGINE-specific command types, return zero for an - * error. An ENGINE can choose to implement these ctrl functions, and can - * internally manage things however it chooses - it does so by setting the - * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise - * the ENGINE_ctrl() code handles this on the ENGINE's behalf using the - * cmd_defns data (set using ENGINE_set_cmd_defns()). This means an ENGINE's - * ctrl() handler need only implement its own commands - the above "meta" - * commands will be taken care of. - */ - -/* - * Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not", - * then all the remaining control commands will return failure, so it is - * worth checking this first if the caller is trying to "discover" the - * engine's capabilities and doesn't want errors generated unnecessarily. - */ -# define ENGINE_CTRL_HAS_CTRL_FUNCTION 10 -/* - * Returns a positive command number for the first command supported by the - * engine. Returns zero if no ctrl commands are supported. - */ -# define ENGINE_CTRL_GET_FIRST_CMD_TYPE 11 -/* - * The 'long' argument specifies a command implemented by the engine, and the - * return value is the next command supported, or zero if there are no more. - */ -# define ENGINE_CTRL_GET_NEXT_CMD_TYPE 12 -/* - * The 'void*' argument is a command name (cast from 'const char *'), and the - * return value is the command that corresponds to it. - */ -# define ENGINE_CTRL_GET_CMD_FROM_NAME 13 -/* - * The next two allow a command to be converted into its corresponding string - * form. In each case, the 'long' argument supplies the command. In the - * NAME_LEN case, the return value is the length of the command name (not - * counting a trailing EOL). In the NAME case, the 'void*' argument must be a - * string buffer large enough, and it will be populated with the name of the - * command (WITH a trailing EOL). - */ -# define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD 14 -# define ENGINE_CTRL_GET_NAME_FROM_CMD 15 -/* The next two are similar but give a "short description" of a command. */ -# define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD 16 -# define ENGINE_CTRL_GET_DESC_FROM_CMD 17 -/* - * With this command, the return value is the OR'd combination of - * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given - * engine-specific ctrl command expects. - */ -# define ENGINE_CTRL_GET_CMD_FLAGS 18 - -/* - * ENGINE implementations should start the numbering of their own control - * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc). - */ -# define ENGINE_CMD_BASE 200 - -/* - * NB: These 2 nCipher "chil" control commands are deprecated, and their - * functionality is now available through ENGINE-specific control commands - * (exposed through the above-mentioned 'CMD'-handling). Code using these 2 - * commands should be migrated to the more general command handling before - * these are removed. - */ - -/* Flags specific to the nCipher "chil" engine */ -# define ENGINE_CTRL_CHIL_SET_FORKCHECK 100 - /* - * Depending on the value of the (long)i argument, this sets or - * unsets the SimpleForkCheck flag in the CHIL API to enable or - * disable checking and workarounds for applications that fork(). - */ -# define ENGINE_CTRL_CHIL_NO_LOCKING 101 - /* - * This prevents the initialisation function from providing mutex - * callbacks to the nCipher library. - */ - -/* - * If an ENGINE supports its own specific control commands and wishes the - * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on - * its behalf, it should supply a null-terminated array of ENGINE_CMD_DEFN - * entries to ENGINE_set_cmd_defns(). It should also implement a ctrl() - * handler that supports the stated commands (ie. the "cmd_num" entries as - * described by the array). NB: The array must be ordered in increasing order - * of cmd_num. "null-terminated" means that the last ENGINE_CMD_DEFN element - * has cmd_num set to zero and/or cmd_name set to NULL. - */ -typedef struct ENGINE_CMD_DEFN_st { - unsigned int cmd_num; /* The command number */ - const char *cmd_name; /* The command name itself */ - const char *cmd_desc; /* A short description of the command */ - unsigned int cmd_flags; /* The input the command expects */ -} ENGINE_CMD_DEFN; - -/* Generic function pointer */ -typedef int (*ENGINE_GEN_FUNC_PTR) (void); -/* Generic function pointer taking no arguments */ -typedef int (*ENGINE_GEN_INT_FUNC_PTR) (ENGINE *); -/* Specific control function pointer */ -typedef int (*ENGINE_CTRL_FUNC_PTR) (ENGINE *, int, long, void *, - void (*f) (void)); -/* Generic load_key function pointer */ -typedef EVP_PKEY *(*ENGINE_LOAD_KEY_PTR)(ENGINE *, const char *, - UI_METHOD *ui_method, - void *callback_data); -typedef int (*ENGINE_SSL_CLIENT_CERT_PTR) (ENGINE *, SSL *ssl, - STACK_OF(X509_NAME) *ca_dn, - X509 **pcert, EVP_PKEY **pkey, - STACK_OF(X509) **pother, - UI_METHOD *ui_method, - void *callback_data); -/*- - * These callback types are for an ENGINE's handler for cipher and digest logic. - * These handlers have these prototypes; - * int foo(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid); - * int foo(ENGINE *e, const EVP_MD **digest, const int **nids, int nid); - * Looking at how to implement these handlers in the case of cipher support, if - * the framework wants the EVP_CIPHER for 'nid', it will call; - * foo(e, &p_evp_cipher, NULL, nid); (return zero for failure) - * If the framework wants a list of supported 'nid's, it will call; - * foo(e, NULL, &p_nids, 0); (returns number of 'nids' or -1 for error) - */ -/* - * Returns to a pointer to the array of supported cipher 'nid's. If the - * second parameter is non-NULL it is set to the size of the returned array. - */ -typedef int (*ENGINE_CIPHERS_PTR) (ENGINE *, const EVP_CIPHER **, - const int **, int); -typedef int (*ENGINE_DIGESTS_PTR) (ENGINE *, const EVP_MD **, const int **, - int); -typedef int (*ENGINE_PKEY_METHS_PTR) (ENGINE *, EVP_PKEY_METHOD **, - const int **, int); -typedef int (*ENGINE_PKEY_ASN1_METHS_PTR) (ENGINE *, EVP_PKEY_ASN1_METHOD **, - const int **, int); -/* - * STRUCTURE functions ... all of these functions deal with pointers to - * ENGINE structures where the pointers have a "structural reference". This - * means that their reference is to allowed access to the structure but it - * does not imply that the structure is functional. To simply increment or - * decrement the structural reference count, use ENGINE_by_id and - * ENGINE_free. NB: This is not required when iterating using ENGINE_get_next - * as it will automatically decrement the structural reference count of the - * "current" ENGINE and increment the structural reference count of the - * ENGINE it returns (unless it is NULL). - */ - -/* Get the first/last "ENGINE" type available. */ -ENGINE *ENGINE_get_first(void); -ENGINE *ENGINE_get_last(void); -/* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ -ENGINE *ENGINE_get_next(ENGINE *e); -ENGINE *ENGINE_get_prev(ENGINE *e); -/* Add another "ENGINE" type into the array. */ -int ENGINE_add(ENGINE *e); -/* Remove an existing "ENGINE" type from the array. */ -int ENGINE_remove(ENGINE *e); -/* Retrieve an engine from the list by its unique "id" value. */ -ENGINE *ENGINE_by_id(const char *id); - -#if OPENSSL_API_COMPAT < 0x10100000L -# define ENGINE_load_openssl() \ - OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_OPENSSL, NULL) -# define ENGINE_load_dynamic() \ - OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_DYNAMIC, NULL) -# ifndef OPENSSL_NO_STATIC_ENGINE -# define ENGINE_load_padlock() \ - OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_PADLOCK, NULL) -# define ENGINE_load_capi() \ - OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CAPI, NULL) -# define ENGINE_load_afalg() \ - OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_AFALG, NULL) -# endif -# define ENGINE_load_cryptodev() \ - OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CRYPTODEV, NULL) -# define ENGINE_load_rdrand() \ - OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_RDRAND, NULL) -#endif -void ENGINE_load_builtin_engines(void); - -/* - * Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation - * "registry" handling. - */ -unsigned int ENGINE_get_table_flags(void); -void ENGINE_set_table_flags(unsigned int flags); - -/*- Manage registration of ENGINEs per "table". For each type, there are 3 - * functions; - * ENGINE_register_***(e) - registers the implementation from 'e' (if it has one) - * ENGINE_unregister_***(e) - unregister the implementation from 'e' - * ENGINE_register_all_***() - call ENGINE_register_***() for each 'e' in the list - * Cleanup is automatically registered from each table when required. - */ - -int ENGINE_register_RSA(ENGINE *e); -void ENGINE_unregister_RSA(ENGINE *e); -void ENGINE_register_all_RSA(void); - -int ENGINE_register_DSA(ENGINE *e); -void ENGINE_unregister_DSA(ENGINE *e); -void ENGINE_register_all_DSA(void); - -int ENGINE_register_EC(ENGINE *e); -void ENGINE_unregister_EC(ENGINE *e); -void ENGINE_register_all_EC(void); - -int ENGINE_register_DH(ENGINE *e); -void ENGINE_unregister_DH(ENGINE *e); -void ENGINE_register_all_DH(void); - -int ENGINE_register_RAND(ENGINE *e); -void ENGINE_unregister_RAND(ENGINE *e); -void ENGINE_register_all_RAND(void); - -int ENGINE_register_ciphers(ENGINE *e); -void ENGINE_unregister_ciphers(ENGINE *e); -void ENGINE_register_all_ciphers(void); - -int ENGINE_register_digests(ENGINE *e); -void ENGINE_unregister_digests(ENGINE *e); -void ENGINE_register_all_digests(void); - -int ENGINE_register_pkey_meths(ENGINE *e); -void ENGINE_unregister_pkey_meths(ENGINE *e); -void ENGINE_register_all_pkey_meths(void); - -int ENGINE_register_pkey_asn1_meths(ENGINE *e); -void ENGINE_unregister_pkey_asn1_meths(ENGINE *e); -void ENGINE_register_all_pkey_asn1_meths(void); - -/* - * These functions register all support from the above categories. Note, use - * of these functions can result in static linkage of code your application - * may not need. If you only need a subset of functionality, consider using - * more selective initialisation. - */ -int ENGINE_register_complete(ENGINE *e); -int ENGINE_register_all_complete(void); - -/* - * Send parameterised control commands to the engine. The possibilities to - * send down an integer, a pointer to data or a function pointer are - * provided. Any of the parameters may or may not be NULL, depending on the - * command number. In actuality, this function only requires a structural - * (rather than functional) reference to an engine, but many control commands - * may require the engine be functional. The caller should be aware of trying - * commands that require an operational ENGINE, and only use functional - * references in such situations. - */ -int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)); - -/* - * This function tests if an ENGINE-specific command is usable as a - * "setting". Eg. in an application's config file that gets processed through - * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to - * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl(). - */ -int ENGINE_cmd_is_executable(ENGINE *e, int cmd); - -/* - * This function works like ENGINE_ctrl() with the exception of taking a - * command name instead of a command number, and can handle optional - * commands. See the comment on ENGINE_ctrl_cmd_string() for an explanation - * on how to use the cmd_name and cmd_optional. - */ -int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name, - long i, void *p, void (*f) (void), int cmd_optional); - -/* - * This function passes a command-name and argument to an ENGINE. The - * cmd_name is converted to a command number and the control command is - * called using 'arg' as an argument (unless the ENGINE doesn't support such - * a command, in which case no control command is called). The command is - * checked for input flags, and if necessary the argument will be converted - * to a numeric value. If cmd_optional is non-zero, then if the ENGINE - * doesn't support the given cmd_name the return value will be success - * anyway. This function is intended for applications to use so that users - * (or config files) can supply engine-specific config data to the ENGINE at - * run-time to control behaviour of specific engines. As such, it shouldn't - * be used for calling ENGINE_ctrl() functions that return data, deal with - * binary data, or that are otherwise supposed to be used directly through - * ENGINE_ctrl() in application code. Any "return" data from an ENGINE_ctrl() - * operation in this function will be lost - the return value is interpreted - * as failure if the return value is zero, success otherwise, and this - * function returns a boolean value as a result. In other words, vendors of - * 'ENGINE'-enabled devices should write ENGINE implementations with - * parameterisations that work in this scheme, so that compliant ENGINE-based - * applications can work consistently with the same configuration for the - * same ENGINE-enabled devices, across applications. - */ -int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg, - int cmd_optional); - -/* - * These functions are useful for manufacturing new ENGINE structures. They - * don't address reference counting at all - one uses them to populate an - * ENGINE structure with personalised implementations of things prior to - * using it directly or adding it to the builtin ENGINE list in OpenSSL. - * These are also here so that the ENGINE structure doesn't have to be - * exposed and break binary compatibility! - */ -ENGINE *ENGINE_new(void); -int ENGINE_free(ENGINE *e); -int ENGINE_up_ref(ENGINE *e); -int ENGINE_set_id(ENGINE *e, const char *id); -int ENGINE_set_name(ENGINE *e, const char *name); -int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); -int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); -int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ecdsa_meth); -int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); -int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); -int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f); -int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f); -int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f); -int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f); -int ENGINE_set_load_privkey_function(ENGINE *e, - ENGINE_LOAD_KEY_PTR loadpriv_f); -int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f); -int ENGINE_set_load_ssl_client_cert_function(ENGINE *e, - ENGINE_SSL_CLIENT_CERT_PTR - loadssl_f); -int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f); -int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f); -int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f); -int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f); -int ENGINE_set_flags(ENGINE *e, int flags); -int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns); -/* These functions allow control over any per-structure ENGINE data. */ -#define ENGINE_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_ENGINE, l, p, newf, dupf, freef) -int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg); -void *ENGINE_get_ex_data(const ENGINE *e, int idx); - -#if OPENSSL_API_COMPAT < 0x10100000L -/* - * This function previously cleaned up anything that needs it. Auto-deinit will - * now take care of it so it is no longer required to call this function. - */ -# define ENGINE_cleanup() while(0) continue -#endif - -/* - * These return values from within the ENGINE structure. These can be useful - * with functional references as well as structural references - it depends - * which you obtained. Using the result for functional purposes if you only - * obtained a structural reference may be problematic! - */ -const char *ENGINE_get_id(const ENGINE *e); -const char *ENGINE_get_name(const ENGINE *e); -const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); -const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); -const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e); -const DH_METHOD *ENGINE_get_DH(const ENGINE *e); -const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e); -ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e); -ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e); -ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e); -ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE - *e); -ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e); -ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e); -ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e); -ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e); -const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid); -const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid); -const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid); -const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid); -const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, - const char *str, - int len); -const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe, - const char *str, - int len); -const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e); -int ENGINE_get_flags(const ENGINE *e); - -/* - * FUNCTIONAL functions. These functions deal with ENGINE structures that - * have (or will) be initialised for use. Broadly speaking, the structural - * functions are useful for iterating the list of available engine types, - * creating new engine types, and other "list" operations. These functions - * actually deal with ENGINEs that are to be used. As such these functions - * can fail (if applicable) when particular engines are unavailable - eg. if - * a hardware accelerator is not attached or not functioning correctly. Each - * ENGINE has 2 reference counts; structural and functional. Every time a - * functional reference is obtained or released, a corresponding structural - * reference is automatically obtained or released too. - */ - -/* - * Initialise a engine type for use (or up its reference count if it's - * already in use). This will fail if the engine is not currently operational - * and cannot initialise. - */ -int ENGINE_init(ENGINE *e); -/* - * Free a functional reference to a engine type. This does not require a - * corresponding call to ENGINE_free as it also releases a structural - * reference. - */ -int ENGINE_finish(ENGINE *e); - -/* - * The following functions handle keys that are stored in some secondary - * location, handled by the engine. The storage may be on a card or - * whatever. - */ -EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id, - UI_METHOD *ui_method, void *callback_data); -EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, - UI_METHOD *ui_method, void *callback_data); -int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, - STACK_OF(X509_NAME) *ca_dn, X509 **pcert, - EVP_PKEY **ppkey, STACK_OF(X509) **pother, - UI_METHOD *ui_method, void *callback_data); - -/* - * This returns a pointer for the current ENGINE structure that is (by - * default) performing any RSA operations. The value returned is an - * incremented reference, so it should be free'd (ENGINE_finish) before it is - * discarded. - */ -ENGINE *ENGINE_get_default_RSA(void); -/* Same for the other "methods" */ -ENGINE *ENGINE_get_default_DSA(void); -ENGINE *ENGINE_get_default_EC(void); -ENGINE *ENGINE_get_default_DH(void); -ENGINE *ENGINE_get_default_RAND(void); -/* - * These functions can be used to get a functional reference to perform - * ciphering or digesting corresponding to "nid". - */ -ENGINE *ENGINE_get_cipher_engine(int nid); -ENGINE *ENGINE_get_digest_engine(int nid); -ENGINE *ENGINE_get_pkey_meth_engine(int nid); -ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid); - -/* - * This sets a new default ENGINE structure for performing RSA operations. If - * the result is non-zero (success) then the ENGINE structure will have had - * its reference count up'd so the caller should still free their own - * reference 'e'. - */ -int ENGINE_set_default_RSA(ENGINE *e); -int ENGINE_set_default_string(ENGINE *e, const char *def_list); -/* Same for the other "methods" */ -int ENGINE_set_default_DSA(ENGINE *e); -int ENGINE_set_default_EC(ENGINE *e); -int ENGINE_set_default_DH(ENGINE *e); -int ENGINE_set_default_RAND(ENGINE *e); -int ENGINE_set_default_ciphers(ENGINE *e); -int ENGINE_set_default_digests(ENGINE *e); -int ENGINE_set_default_pkey_meths(ENGINE *e); -int ENGINE_set_default_pkey_asn1_meths(ENGINE *e); - -/* - * The combination "set" - the flags are bitwise "OR"d from the - * ENGINE_METHOD_*** defines above. As with the "ENGINE_register_complete()" - * function, this function can result in unnecessary static linkage. If your - * application requires only specific functionality, consider using more - * selective functions. - */ -int ENGINE_set_default(ENGINE *e, unsigned int flags); - -void ENGINE_add_conf_module(void); - -/* Deprecated functions ... */ -/* int ENGINE_clear_defaults(void); */ - -/**************************/ -/* DYNAMIC ENGINE SUPPORT */ -/**************************/ - -/* Binary/behaviour compatibility levels */ -# define OSSL_DYNAMIC_VERSION (unsigned long)0x00030000 -/* - * Binary versions older than this are too old for us (whether we're a loader - * or a loadee) - */ -# define OSSL_DYNAMIC_OLDEST (unsigned long)0x00030000 - -/* - * When compiling an ENGINE entirely as an external shared library, loadable - * by the "dynamic" ENGINE, these types are needed. The 'dynamic_fns' - * structure type provides the calling application's (or library's) error - * functionality and memory management function pointers to the loaded - * library. These should be used/set in the loaded library code so that the - * loading application's 'state' will be used/changed in all operations. The - * 'static_state' pointer allows the loaded library to know if it shares the - * same static data as the calling application (or library), and thus whether - * these callbacks need to be set or not. - */ -typedef void *(*dyn_MEM_malloc_fn) (size_t, const char *, int); -typedef void *(*dyn_MEM_realloc_fn) (void *, size_t, const char *, int); -typedef void (*dyn_MEM_free_fn) (void *, const char *, int); -typedef struct st_dynamic_MEM_fns { - dyn_MEM_malloc_fn malloc_fn; - dyn_MEM_realloc_fn realloc_fn; - dyn_MEM_free_fn free_fn; -} dynamic_MEM_fns; -/* - * FIXME: Perhaps the memory and locking code (crypto.h) should declare and - * use these types so we (and any other dependent code) can simplify a bit?? - */ -/* The top-level structure */ -typedef struct st_dynamic_fns { - void *static_state; - dynamic_MEM_fns mem_fns; -} dynamic_fns; - -/* - * The version checking function should be of this prototype. NB: The - * ossl_version value passed in is the OSSL_DYNAMIC_VERSION of the loading - * code. If this function returns zero, it indicates a (potential) version - * incompatibility and the loaded library doesn't believe it can proceed. - * Otherwise, the returned value is the (latest) version supported by the - * loading library. The loader may still decide that the loaded code's - * version is unsatisfactory and could veto the load. The function is - * expected to be implemented with the symbol name "v_check", and a default - * implementation can be fully instantiated with - * IMPLEMENT_DYNAMIC_CHECK_FN(). - */ -typedef unsigned long (*dynamic_v_check_fn) (unsigned long ossl_version); -# define IMPLEMENT_DYNAMIC_CHECK_FN() \ - OPENSSL_EXPORT unsigned long v_check(unsigned long v); \ - OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ - if (v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ - return 0; } - -/* - * This function is passed the ENGINE structure to initialise with its own - * function and command settings. It should not adjust the structural or - * functional reference counts. If this function returns zero, (a) the load - * will be aborted, (b) the previous ENGINE state will be memcpy'd back onto - * the structure, and (c) the shared library will be unloaded. So - * implementations should do their own internal cleanup in failure - * circumstances otherwise they could leak. The 'id' parameter, if non-NULL, - * represents the ENGINE id that the loader is looking for. If this is NULL, - * the shared library can choose to return failure or to initialise a - * 'default' ENGINE. If non-NULL, the shared library must initialise only an - * ENGINE matching the passed 'id'. The function is expected to be - * implemented with the symbol name "bind_engine". A standard implementation - * can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where the parameter - * 'fn' is a callback function that populates the ENGINE structure and - * returns an int value (zero for failure). 'fn' should have prototype; - * [static] int fn(ENGINE *e, const char *id); - */ -typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id, - const dynamic_fns *fns); -# define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ - OPENSSL_EXPORT \ - int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \ - OPENSSL_EXPORT \ - int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ - if (ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ - CRYPTO_set_mem_functions(fns->mem_fns.malloc_fn, \ - fns->mem_fns.realloc_fn, \ - fns->mem_fns.free_fn); \ - skip_cbs: \ - if (!fn(e, id)) return 0; \ - return 1; } - -/* - * If the loading application (or library) and the loaded ENGINE library - * share the same static data (eg. they're both dynamically linked to the - * same libcrypto.so) we need a way to avoid trying to set system callbacks - - * this would fail, and for the same reason that it's unnecessary to try. If - * the loaded ENGINE has (or gets from through the loader) its own copy of - * the libcrypto static data, we will need to set the callbacks. The easiest - * way to detect this is to have a function that returns a pointer to some - * static data and let the loading application and loaded ENGINE compare - * their respective values. - */ -void *ENGINE_get_static_state(void); - -# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) -DEPRECATEDIN_1_1_0(void ENGINE_setup_bsd_cryptodev(void)) -# endif - - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/engineerr.h b/deps/openssl/include/openssl/engineerr.h deleted file mode 100644 index 05e84bd2..00000000 --- a/deps/openssl/include/openssl/engineerr.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ENGINEERR_H -# define HEADER_ENGINEERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_ENGINE - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_ENGINE_strings(void); - -/* - * ENGINE function codes. - */ -# define ENGINE_F_DIGEST_UPDATE 198 -# define ENGINE_F_DYNAMIC_CTRL 180 -# define ENGINE_F_DYNAMIC_GET_DATA_CTX 181 -# define ENGINE_F_DYNAMIC_LOAD 182 -# define ENGINE_F_DYNAMIC_SET_DATA_CTX 183 -# define ENGINE_F_ENGINE_ADD 105 -# define ENGINE_F_ENGINE_BY_ID 106 -# define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170 -# define ENGINE_F_ENGINE_CTRL 142 -# define ENGINE_F_ENGINE_CTRL_CMD 178 -# define ENGINE_F_ENGINE_CTRL_CMD_STRING 171 -# define ENGINE_F_ENGINE_FINISH 107 -# define ENGINE_F_ENGINE_GET_CIPHER 185 -# define ENGINE_F_ENGINE_GET_DIGEST 186 -# define ENGINE_F_ENGINE_GET_FIRST 195 -# define ENGINE_F_ENGINE_GET_LAST 196 -# define ENGINE_F_ENGINE_GET_NEXT 115 -# define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193 -# define ENGINE_F_ENGINE_GET_PKEY_METH 192 -# define ENGINE_F_ENGINE_GET_PREV 116 -# define ENGINE_F_ENGINE_INIT 119 -# define ENGINE_F_ENGINE_LIST_ADD 120 -# define ENGINE_F_ENGINE_LIST_REMOVE 121 -# define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150 -# define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151 -# define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194 -# define ENGINE_F_ENGINE_NEW 122 -# define ENGINE_F_ENGINE_PKEY_ASN1_FIND_STR 197 -# define ENGINE_F_ENGINE_REMOVE 123 -# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 -# define ENGINE_F_ENGINE_SET_ID 129 -# define ENGINE_F_ENGINE_SET_NAME 130 -# define ENGINE_F_ENGINE_TABLE_REGISTER 184 -# define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 -# define ENGINE_F_ENGINE_UP_REF 190 -# define ENGINE_F_INT_CLEANUP_ITEM 199 -# define ENGINE_F_INT_CTRL_HELPER 172 -# define ENGINE_F_INT_ENGINE_CONFIGURE 188 -# define ENGINE_F_INT_ENGINE_MODULE_INIT 187 -# define ENGINE_F_OSSL_HMAC_INIT 200 - -/* - * ENGINE reason codes. - */ -# define ENGINE_R_ALREADY_LOADED 100 -# define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133 -# define ENGINE_R_CMD_NOT_EXECUTABLE 134 -# define ENGINE_R_COMMAND_TAKES_INPUT 135 -# define ENGINE_R_COMMAND_TAKES_NO_INPUT 136 -# define ENGINE_R_CONFLICTING_ENGINE_ID 103 -# define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119 -# define ENGINE_R_DSO_FAILURE 104 -# define ENGINE_R_DSO_NOT_FOUND 132 -# define ENGINE_R_ENGINES_SECTION_ERROR 148 -# define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102 -# define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105 -# define ENGINE_R_ENGINE_SECTION_ERROR 149 -# define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128 -# define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129 -# define ENGINE_R_FINISH_FAILED 106 -# define ENGINE_R_ID_OR_NAME_MISSING 108 -# define ENGINE_R_INIT_FAILED 109 -# define ENGINE_R_INTERNAL_LIST_ERROR 110 -# define ENGINE_R_INVALID_ARGUMENT 143 -# define ENGINE_R_INVALID_CMD_NAME 137 -# define ENGINE_R_INVALID_CMD_NUMBER 138 -# define ENGINE_R_INVALID_INIT_VALUE 151 -# define ENGINE_R_INVALID_STRING 150 -# define ENGINE_R_NOT_INITIALISED 117 -# define ENGINE_R_NOT_LOADED 112 -# define ENGINE_R_NO_CONTROL_FUNCTION 120 -# define ENGINE_R_NO_INDEX 144 -# define ENGINE_R_NO_LOAD_FUNCTION 125 -# define ENGINE_R_NO_REFERENCE 130 -# define ENGINE_R_NO_SUCH_ENGINE 116 -# define ENGINE_R_UNIMPLEMENTED_CIPHER 146 -# define ENGINE_R_UNIMPLEMENTED_DIGEST 147 -# define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101 -# define ENGINE_R_VERSION_INCOMPATIBILITY 145 - -# endif -#endif diff --git a/deps/openssl/include/openssl/err.h b/deps/openssl/include/openssl/err.h deleted file mode 100644 index b49f8812..00000000 --- a/deps/openssl/include/openssl/err.h +++ /dev/null @@ -1,274 +0,0 @@ -/* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ERR_H -# define HEADER_ERR_H - -# include - -# ifndef OPENSSL_NO_STDIO -# include -# include -# endif - -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifndef OPENSSL_NO_ERR -# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) -# else -# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) -# endif - -# include - -# define ERR_TXT_MALLOCED 0x01 -# define ERR_TXT_STRING 0x02 - -# define ERR_FLAG_MARK 0x01 -# define ERR_FLAG_CLEAR 0x02 - -# define ERR_NUM_ERRORS 16 -typedef struct err_state_st { - int err_flags[ERR_NUM_ERRORS]; - unsigned long err_buffer[ERR_NUM_ERRORS]; - char *err_data[ERR_NUM_ERRORS]; - int err_data_flags[ERR_NUM_ERRORS]; - const char *err_file[ERR_NUM_ERRORS]; - int err_line[ERR_NUM_ERRORS]; - int top, bottom; -} ERR_STATE; - -/* library */ -# define ERR_LIB_NONE 1 -# define ERR_LIB_SYS 2 -# define ERR_LIB_BN 3 -# define ERR_LIB_RSA 4 -# define ERR_LIB_DH 5 -# define ERR_LIB_EVP 6 -# define ERR_LIB_BUF 7 -# define ERR_LIB_OBJ 8 -# define ERR_LIB_PEM 9 -# define ERR_LIB_DSA 10 -# define ERR_LIB_X509 11 -/* #define ERR_LIB_METH 12 */ -# define ERR_LIB_ASN1 13 -# define ERR_LIB_CONF 14 -# define ERR_LIB_CRYPTO 15 -# define ERR_LIB_EC 16 -# define ERR_LIB_SSL 20 -/* #define ERR_LIB_SSL23 21 */ -/* #define ERR_LIB_SSL2 22 */ -/* #define ERR_LIB_SSL3 23 */ -/* #define ERR_LIB_RSAREF 30 */ -/* #define ERR_LIB_PROXY 31 */ -# define ERR_LIB_BIO 32 -# define ERR_LIB_PKCS7 33 -# define ERR_LIB_X509V3 34 -# define ERR_LIB_PKCS12 35 -# define ERR_LIB_RAND 36 -# define ERR_LIB_DSO 37 -# define ERR_LIB_ENGINE 38 -# define ERR_LIB_OCSP 39 -# define ERR_LIB_UI 40 -# define ERR_LIB_COMP 41 -# define ERR_LIB_ECDSA 42 -# define ERR_LIB_ECDH 43 -# define ERR_LIB_OSSL_STORE 44 -# define ERR_LIB_FIPS 45 -# define ERR_LIB_CMS 46 -# define ERR_LIB_TS 47 -# define ERR_LIB_HMAC 48 -/* # define ERR_LIB_JPAKE 49 */ -# define ERR_LIB_CT 50 -# define ERR_LIB_ASYNC 51 -# define ERR_LIB_KDF 52 -# define ERR_LIB_SM2 53 - -# define ERR_LIB_USER 128 - -# define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define OSSL_STOREerr(f,r) ERR_PUT_error(ERR_LIB_OSSL_STORE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define CTerr(f,r) ERR_PUT_error(ERR_LIB_CT,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define ASYNCerr(f,r) ERR_PUT_error(ERR_LIB_ASYNC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define KDFerr(f,r) ERR_PUT_error(ERR_LIB_KDF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) -# define SM2err(f,r) ERR_PUT_error(ERR_LIB_SM2,(f),(r),OPENSSL_FILE,OPENSSL_LINE) - -# define ERR_PACK(l,f,r) ( \ - (((unsigned int)(l) & 0x0FF) << 24L) | \ - (((unsigned int)(f) & 0xFFF) << 12L) | \ - (((unsigned int)(r) & 0xFFF) ) ) -# define ERR_GET_LIB(l) (int)(((l) >> 24L) & 0x0FFL) -# define ERR_GET_FUNC(l) (int)(((l) >> 12L) & 0xFFFL) -# define ERR_GET_REASON(l) (int)( (l) & 0xFFFL) -# define ERR_FATAL_ERROR(l) (int)( (l) & ERR_R_FATAL) - -/* OS functions */ -# define SYS_F_FOPEN 1 -# define SYS_F_CONNECT 2 -# define SYS_F_GETSERVBYNAME 3 -# define SYS_F_SOCKET 4 -# define SYS_F_IOCTLSOCKET 5 -# define SYS_F_BIND 6 -# define SYS_F_LISTEN 7 -# define SYS_F_ACCEPT 8 -# define SYS_F_WSASTARTUP 9/* Winsock stuff */ -# define SYS_F_OPENDIR 10 -# define SYS_F_FREAD 11 -# define SYS_F_GETADDRINFO 12 -# define SYS_F_GETNAMEINFO 13 -# define SYS_F_SETSOCKOPT 14 -# define SYS_F_GETSOCKOPT 15 -# define SYS_F_GETSOCKNAME 16 -# define SYS_F_GETHOSTBYNAME 17 -# define SYS_F_FFLUSH 18 -# define SYS_F_OPEN 19 -# define SYS_F_CLOSE 20 -# define SYS_F_IOCTL 21 -# define SYS_F_STAT 22 -# define SYS_F_FCNTL 23 -# define SYS_F_FSTAT 24 - -/* reasons */ -# define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */ -# define ERR_R_BN_LIB ERR_LIB_BN/* 3 */ -# define ERR_R_RSA_LIB ERR_LIB_RSA/* 4 */ -# define ERR_R_DH_LIB ERR_LIB_DH/* 5 */ -# define ERR_R_EVP_LIB ERR_LIB_EVP/* 6 */ -# define ERR_R_BUF_LIB ERR_LIB_BUF/* 7 */ -# define ERR_R_OBJ_LIB ERR_LIB_OBJ/* 8 */ -# define ERR_R_PEM_LIB ERR_LIB_PEM/* 9 */ -# define ERR_R_DSA_LIB ERR_LIB_DSA/* 10 */ -# define ERR_R_X509_LIB ERR_LIB_X509/* 11 */ -# define ERR_R_ASN1_LIB ERR_LIB_ASN1/* 13 */ -# define ERR_R_EC_LIB ERR_LIB_EC/* 16 */ -# define ERR_R_BIO_LIB ERR_LIB_BIO/* 32 */ -# define ERR_R_PKCS7_LIB ERR_LIB_PKCS7/* 33 */ -# define ERR_R_X509V3_LIB ERR_LIB_X509V3/* 34 */ -# define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */ -# define ERR_R_UI_LIB ERR_LIB_UI/* 40 */ -# define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */ -# define ERR_R_OSSL_STORE_LIB ERR_LIB_OSSL_STORE/* 44 */ - -# define ERR_R_NESTED_ASN1_ERROR 58 -# define ERR_R_MISSING_ASN1_EOS 63 - -/* fatal error */ -# define ERR_R_FATAL 64 -# define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL) -# define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL) -# define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL) -# define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) -# define ERR_R_DISABLED (5|ERR_R_FATAL) -# define ERR_R_INIT_FAIL (6|ERR_R_FATAL) -# define ERR_R_PASSED_INVALID_ARGUMENT (7) -# define ERR_R_OPERATION_FAIL (8|ERR_R_FATAL) - -/* - * 99 is the maximum possible ERR_R_... code, higher values are reserved for - * the individual libraries - */ - -typedef struct ERR_string_data_st { - unsigned long error; - const char *string; -} ERR_STRING_DATA; - -DEFINE_LHASH_OF(ERR_STRING_DATA); - -void ERR_put_error(int lib, int func, int reason, const char *file, int line); -void ERR_set_error_data(char *data, int flags); - -unsigned long ERR_get_error(void); -unsigned long ERR_get_error_line(const char **file, int *line); -unsigned long ERR_get_error_line_data(const char **file, int *line, - const char **data, int *flags); -unsigned long ERR_peek_error(void); -unsigned long ERR_peek_error_line(const char **file, int *line); -unsigned long ERR_peek_error_line_data(const char **file, int *line, - const char **data, int *flags); -unsigned long ERR_peek_last_error(void); -unsigned long ERR_peek_last_error_line(const char **file, int *line); -unsigned long ERR_peek_last_error_line_data(const char **file, int *line, - const char **data, int *flags); -void ERR_clear_error(void); -char *ERR_error_string(unsigned long e, char *buf); -void ERR_error_string_n(unsigned long e, char *buf, size_t len); -const char *ERR_lib_error_string(unsigned long e); -const char *ERR_func_error_string(unsigned long e); -const char *ERR_reason_error_string(unsigned long e); -void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u), - void *u); -# ifndef OPENSSL_NO_STDIO -void ERR_print_errors_fp(FILE *fp); -# endif -void ERR_print_errors(BIO *bp); -void ERR_add_error_data(int num, ...); -void ERR_add_error_vdata(int num, va_list args); -int ERR_load_strings(int lib, ERR_STRING_DATA *str); -int ERR_load_strings_const(const ERR_STRING_DATA *str); -int ERR_unload_strings(int lib, ERR_STRING_DATA *str); -int ERR_load_ERR_strings(void); - -#if OPENSSL_API_COMPAT < 0x10100000L -# define ERR_load_crypto_strings() \ - OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) -# define ERR_free_strings() while(0) continue -#endif - -DEPRECATEDIN_1_1_0(void ERR_remove_thread_state(void *)) -DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid)) -ERR_STATE *ERR_get_state(void); - -int ERR_get_next_error_library(void); - -int ERR_set_mark(void); -int ERR_pop_to_mark(void); -int ERR_clear_last_mark(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/openssl/include/openssl/evp.h b/deps/openssl/include/openssl/evp.h deleted file mode 100644 index a411f3f2..00000000 --- a/deps/openssl/include/openssl/evp.h +++ /dev/null @@ -1,1666 +0,0 @@ -/* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_ENVELOPE_H -# define HEADER_ENVELOPE_H - -# include -# include -# include -# include -# include - -# define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */ -# define EVP_MAX_KEY_LENGTH 64 -# define EVP_MAX_IV_LENGTH 16 -# define EVP_MAX_BLOCK_LENGTH 32 - -# define PKCS5_SALT_LEN 8 -/* Default PKCS#5 iteration count */ -# define PKCS5_DEFAULT_ITER 2048 - -# include - -# define EVP_PK_RSA 0x0001 -# define EVP_PK_DSA 0x0002 -# define EVP_PK_DH 0x0004 -# define EVP_PK_EC 0x0008 -# define EVP_PKT_SIGN 0x0010 -# define EVP_PKT_ENC 0x0020 -# define EVP_PKT_EXCH 0x0040 -# define EVP_PKS_RSA 0x0100 -# define EVP_PKS_DSA 0x0200 -# define EVP_PKS_EC 0x0400 - -# define EVP_PKEY_NONE NID_undef -# define EVP_PKEY_RSA NID_rsaEncryption -# define EVP_PKEY_RSA2 NID_rsa -# define EVP_PKEY_RSA_PSS NID_rsassaPss -# define EVP_PKEY_DSA NID_dsa -# define EVP_PKEY_DSA1 NID_dsa_2 -# define EVP_PKEY_DSA2 NID_dsaWithSHA -# define EVP_PKEY_DSA3 NID_dsaWithSHA1 -# define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 -# define EVP_PKEY_DH NID_dhKeyAgreement -# define EVP_PKEY_DHX NID_dhpublicnumber -# define EVP_PKEY_EC NID_X9_62_id_ecPublicKey -# define EVP_PKEY_SM2 NID_sm2 -# define EVP_PKEY_HMAC NID_hmac -# define EVP_PKEY_CMAC NID_cmac -# define EVP_PKEY_SCRYPT NID_id_scrypt -# define EVP_PKEY_TLS1_PRF NID_tls1_prf -# define EVP_PKEY_HKDF NID_hkdf -# define EVP_PKEY_POLY1305 NID_poly1305 -# define EVP_PKEY_SIPHASH NID_siphash -# define EVP_PKEY_X25519 NID_X25519 -# define EVP_PKEY_ED25519 NID_ED25519 -# define EVP_PKEY_X448 NID_X448 -# define EVP_PKEY_ED448 NID_ED448 - -#ifdef __cplusplus -extern "C" { -#endif - -# define EVP_PKEY_MO_SIGN 0x0001 -# define EVP_PKEY_MO_VERIFY 0x0002 -# define EVP_PKEY_MO_ENCRYPT 0x0004 -# define EVP_PKEY_MO_DECRYPT 0x0008 - -# ifndef EVP_MD -EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type); -EVP_MD *EVP_MD_meth_dup(const EVP_MD *md); -void EVP_MD_meth_free(EVP_MD *md); - -int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize); -int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize); -int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize); -int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags); -int EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx)); -int EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx, - const void *data, - size_t count)); -int EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx, - unsigned char *md)); -int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to, - const EVP_MD_CTX *from)); -int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx)); -int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx, int cmd, - int p1, void *p2)); - -int EVP_MD_meth_get_input_blocksize(const EVP_MD *md); -int EVP_MD_meth_get_result_size(const EVP_MD *md); -int EVP_MD_meth_get_app_datasize(const EVP_MD *md); -unsigned long EVP_MD_meth_get_flags(const EVP_MD *md); -int (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx); -int (*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx, - const void *data, - size_t count); -int (*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx, - unsigned char *md); -int (*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to, - const EVP_MD_CTX *from); -int (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx); -int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd, - int p1, void *p2); - -/* digest can only handle a single block */ -# define EVP_MD_FLAG_ONESHOT 0x0001 - -/* digest is extensible-output function, XOF */ -# define EVP_MD_FLAG_XOF 0x0002 - -/* DigestAlgorithmIdentifier flags... */ - -# define EVP_MD_FLAG_DIGALGID_MASK 0x0018 - -/* NULL or absent parameter accepted. Use NULL */ - -# define EVP_MD_FLAG_DIGALGID_NULL 0x0000 - -/* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ - -# define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008 - -/* Custom handling via ctrl */ - -# define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018 - -/* Note if suitable for use in FIPS mode */ -# define EVP_MD_FLAG_FIPS 0x0400 - -/* Digest ctrls */ - -# define EVP_MD_CTRL_DIGALGID 0x1 -# define EVP_MD_CTRL_MICALG 0x2 -# define EVP_MD_CTRL_XOF_LEN 0x3 - -/* Minimum Algorithm specific ctrl value */ - -# define EVP_MD_CTRL_ALG_CTRL 0x1000 - -# endif /* !EVP_MD */ - -/* values for EVP_MD_CTX flags */ - -# define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be - * called once only */ -# define EVP_MD_CTX_FLAG_CLEANED 0x0002/* context has already been - * cleaned */ -# define EVP_MD_CTX_FLAG_REUSE 0x0004/* Don't free up ctx->md_data - * in EVP_MD_CTX_reset */ -/* - * FIPS and pad options are ignored in 1.0.0, definitions are here so we - * don't accidentally reuse the values for other purposes. - */ - -# define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008/* Allow use of non FIPS - * digest in FIPS mode */ - -/* - * The following PAD options are also currently ignored in 1.0.0, digest - * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() - * instead. - */ -# define EVP_MD_CTX_FLAG_PAD_MASK 0xF0/* RSA mode to use */ -# define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00/* PKCS#1 v1.5 mode */ -# define EVP_MD_CTX_FLAG_PAD_X931 0x10/* X9.31 mode */ -# define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */ - -# define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */ -/* - * Some functions such as EVP_DigestSign only finalise copies of internal - * contexts so additional data can be included after the finalisation call. - * This is inefficient if this functionality is not required: it is disabled - * if the following flag is set. - */ -# define EVP_MD_CTX_FLAG_FINALISE 0x0200 -/* NOTE: 0x0400 is reserved for internal usage */ - -EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len); -EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher); -void EVP_CIPHER_meth_free(EVP_CIPHER *cipher); - -int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len); -int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags); -int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size); -int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher, - int (*init) (EVP_CIPHER_CTX *ctx, - const unsigned char *key, - const unsigned char *iv, - int enc)); -int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher, - int (*do_cipher) (EVP_CIPHER_CTX *ctx, - unsigned char *out, - const unsigned char *in, - size_t inl)); -int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher, - int (*cleanup) (EVP_CIPHER_CTX *)); -int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher, - int (*set_asn1_parameters) (EVP_CIPHER_CTX *, - ASN1_TYPE *)); -int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher, - int (*get_asn1_parameters) (EVP_CIPHER_CTX *, - ASN1_TYPE *)); -int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher, - int (*ctrl) (EVP_CIPHER_CTX *, int type, - int arg, void *ptr)); - -int (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx, - const unsigned char *key, - const unsigned char *iv, - int enc); -int (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx, - unsigned char *out, - const unsigned char *in, - size_t inl); -int (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *); -int (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, - ASN1_TYPE *); -int (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, - ASN1_TYPE *); -int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, - int type, int arg, - void *ptr); - -/* Values for cipher flags */ - -/* Modes for ciphers */ - -# define EVP_CIPH_STREAM_CIPHER 0x0 -# define EVP_CIPH_ECB_MODE 0x1 -# define EVP_CIPH_CBC_MODE 0x2 -# define EVP_CIPH_CFB_MODE 0x3 -# define EVP_CIPH_OFB_MODE 0x4 -# define EVP_CIPH_CTR_MODE 0x5 -# define EVP_CIPH_GCM_MODE 0x6 -# define EVP_CIPH_CCM_MODE 0x7 -# define EVP_CIPH_XTS_MODE 0x10001 -# define EVP_CIPH_WRAP_MODE 0x10002 -# define EVP_CIPH_OCB_MODE 0x10003 -# define EVP_CIPH_MODE 0xF0007 -/* Set if variable length cipher */ -# define EVP_CIPH_VARIABLE_LENGTH 0x8 -/* Set if the iv handling should be done by the cipher itself */ -# define EVP_CIPH_CUSTOM_IV 0x10 -/* Set if the cipher's init() function should be called if key is NULL */ -# define EVP_CIPH_ALWAYS_CALL_INIT 0x20 -/* Call ctrl() to init cipher parameters */ -# define EVP_CIPH_CTRL_INIT 0x40 -/* Don't use standard key length function */ -# define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80 -/* Don't use standard block padding */ -# define EVP_CIPH_NO_PADDING 0x100 -/* cipher handles random key generation */ -# define EVP_CIPH_RAND_KEY 0x200 -/* cipher has its own additional copying logic */ -# define EVP_CIPH_CUSTOM_COPY 0x400 -/* Don't use standard iv length function */ -# define EVP_CIPH_CUSTOM_IV_LENGTH 0x800 -/* Allow use default ASN1 get/set iv */ -# define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 -/* Buffer length in bits not bytes: CFB1 mode only */ -# define EVP_CIPH_FLAG_LENGTH_BITS 0x2000 -/* Note if suitable for use in FIPS mode */ -# define EVP_CIPH_FLAG_FIPS 0x4000 -/* Allow non FIPS cipher in FIPS mode */ -# define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000 -/* - * Cipher handles any and all padding logic as well as finalisation. - */ -# define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000 -# define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000 -# define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000 -/* Cipher can handle pipeline operations */ -# define EVP_CIPH_FLAG_PIPELINE 0X800000 - -/* - * Cipher context flag to indicate we can handle wrap mode: if allowed in - * older applications it could overflow buffers. - */ - -# define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0x1 - -/* ctrl() values */ - -# define EVP_CTRL_INIT 0x0 -# define EVP_CTRL_SET_KEY_LENGTH 0x1 -# define EVP_CTRL_GET_RC2_KEY_BITS 0x2 -# define EVP_CTRL_SET_RC2_KEY_BITS 0x3 -# define EVP_CTRL_GET_RC5_ROUNDS 0x4 -# define EVP_CTRL_SET_RC5_ROUNDS 0x5 -# define EVP_CTRL_RAND_KEY 0x6 -# define EVP_CTRL_PBE_PRF_NID 0x7 -# define EVP_CTRL_COPY 0x8 -# define EVP_CTRL_AEAD_SET_IVLEN 0x9 -# define EVP_CTRL_AEAD_GET_TAG 0x10 -# define EVP_CTRL_AEAD_SET_TAG 0x11 -# define EVP_CTRL_AEAD_SET_IV_FIXED 0x12 -# define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN -# define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG -# define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG -# define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED -# define EVP_CTRL_GCM_IV_GEN 0x13 -# define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN -# define EVP_CTRL_CCM_GET_TAG EVP_CTRL_AEAD_GET_TAG -# define EVP_CTRL_CCM_SET_TAG EVP_CTRL_AEAD_SET_TAG -# define EVP_CTRL_CCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED -# define EVP_CTRL_CCM_SET_L 0x14 -# define EVP_CTRL_CCM_SET_MSGLEN 0x15 -/* - * AEAD cipher deduces payload length and returns number of bytes required to - * store MAC and eventual padding. Subsequent call to EVP_Cipher even - * appends/verifies MAC. - */ -# define EVP_CTRL_AEAD_TLS1_AAD 0x16 -/* Used by composite AEAD ciphers, no-op in GCM, CCM... */ -# define EVP_CTRL_AEAD_SET_MAC_KEY 0x17 -/* Set the GCM invocation field, decrypt only */ -# define EVP_CTRL_GCM_SET_IV_INV 0x18 - -# define EVP_CTRL_TLS1_1_MULTIBLOCK_AAD 0x19 -# define EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT 0x1a -# define EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT 0x1b -# define EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE 0x1c - -# define EVP_CTRL_SSL3_MASTER_SECRET 0x1d - -/* EVP_CTRL_SET_SBOX takes the char * specifying S-boxes */ -# define EVP_CTRL_SET_SBOX 0x1e -/* - * EVP_CTRL_SBOX_USED takes a 'size_t' and 'char *', pointing at a - * pre-allocated buffer with specified size - */ -# define EVP_CTRL_SBOX_USED 0x1f -/* EVP_CTRL_KEY_MESH takes 'size_t' number of bytes to mesh the key after, - * 0 switches meshing off - */ -# define EVP_CTRL_KEY_MESH 0x20 -/* EVP_CTRL_BLOCK_PADDING_MODE takes the padding mode */ -# define EVP_CTRL_BLOCK_PADDING_MODE 0x21 - -/* Set the output buffers to use for a pipelined operation */ -# define EVP_CTRL_SET_PIPELINE_OUTPUT_BUFS 0x22 -/* Set the input buffers to use for a pipelined operation */ -# define EVP_CTRL_SET_PIPELINE_INPUT_BUFS 0x23 -/* Set the input buffer lengths to use for a pipelined operation */ -# define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24 - -# define EVP_CTRL_GET_IVLEN 0x25 - -/* Padding modes */ -#define EVP_PADDING_PKCS7 1 -#define EVP_PADDING_ISO7816_4 2 -#define EVP_PADDING_ANSI923 3 -#define EVP_PADDING_ISO10126 4 -#define EVP_PADDING_ZERO 5 - -/* RFC 5246 defines additional data to be 13 bytes in length */ -# define EVP_AEAD_TLS1_AAD_LEN 13 - -typedef struct { - unsigned char *out; - const unsigned char *inp; - size_t len; - unsigned int interleave; -} EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM; - -/* GCM TLS constants */ -/* Length of fixed part of IV derived from PRF */ -# define EVP_GCM_TLS_FIXED_IV_LEN 4 -/* Length of explicit part of IV part of TLS records */ -# define EVP_GCM_TLS_EXPLICIT_IV_LEN 8 -/* Length of tag for TLS */ -# define EVP_GCM_TLS_TAG_LEN 16 - -/* CCM TLS constants */ -/* Length of fixed part of IV derived from PRF */ -# define EVP_CCM_TLS_FIXED_IV_LEN 4 -/* Length of explicit part of IV part of TLS records */ -# define EVP_CCM_TLS_EXPLICIT_IV_LEN 8 -/* Total length of CCM IV length for TLS */ -# define EVP_CCM_TLS_IV_LEN 12 -/* Length of tag for TLS */ -# define EVP_CCM_TLS_TAG_LEN 16 -/* Length of CCM8 tag for TLS */ -# define EVP_CCM8_TLS_TAG_LEN 8 - -/* Length of tag for TLS */ -# define EVP_CHACHAPOLY_TLS_TAG_LEN 16 - -typedef struct evp_cipher_info_st { - const EVP_CIPHER *cipher; - unsigned char iv[EVP_MAX_IV_LENGTH]; -} EVP_CIPHER_INFO; - - -/* Password based encryption function */ -typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, - int passlen, ASN1_TYPE *param, - const EVP_CIPHER *cipher, const EVP_MD *md, - int en_de); - -# ifndef OPENSSL_NO_RSA -# define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ - (char *)(rsa)) -# endif - -# ifndef OPENSSL_NO_DSA -# define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ - (char *)(dsa)) -# endif - -# ifndef OPENSSL_NO_DH -# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ - (char *)(dh)) -# endif - -# ifndef OPENSSL_NO_EC -# define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ - (char *)(eckey)) -# endif -# ifndef OPENSSL_NO_SIPHASH -# define EVP_PKEY_assign_SIPHASH(pkey,shkey) EVP_PKEY_assign((pkey),EVP_PKEY_SIPHASH,\ - (char *)(shkey)) -# endif - -# ifndef OPENSSL_NO_POLY1305 -# define EVP_PKEY_assign_POLY1305(pkey,polykey) EVP_PKEY_assign((pkey),EVP_PKEY_POLY1305,\ - (char *)(polykey)) -# endif - -/* Add some extra combinations */ -# define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a)) -# define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a)) -# define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) -# define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) - -int EVP_MD_type(const EVP_MD *md); -# define EVP_MD_nid(e) EVP_MD_type(e) -# define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) -int EVP_MD_pkey_type(const EVP_MD *md); -int EVP_MD_size(const EVP_MD *md); -int EVP_MD_block_size(const EVP_MD *md); -unsigned long EVP_MD_flags(const EVP_MD *md); - -const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); -int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx, - const void *data, size_t count); -void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx, - int (*update) (EVP_MD_CTX *ctx, - const void *data, size_t count)); -# define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) -# define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) -# define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) -EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx); -void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx); -void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx); - -int EVP_CIPHER_nid(const EVP_CIPHER *cipher); -# define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) -int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); -int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *cipher); -int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); -int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); -unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); -# define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE) - -const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); -const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx); -const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx); -unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx); -unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_num(const EVP_CIPHER_CTX *ctx); -void EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num); -int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); -void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); -void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); -void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx); -void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data); -# define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) -# if OPENSSL_API_COMPAT < 0x10100000L -# define EVP_CIPHER_CTX_flags(c) EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(c)) -# endif -# define EVP_CIPHER_CTX_mode(c) EVP_CIPHER_mode(EVP_CIPHER_CTX_cipher(c)) - -# define EVP_ENCODE_LENGTH(l) ((((l)+2)/3*4)+((l)/48+1)*2+80) -# define EVP_DECODE_LENGTH(l) (((l)+3)/4*3+80) - -# define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) -# define EVP_SignInit(a,b) EVP_DigestInit(a,b) -# define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) -# define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) -# define EVP_VerifyInit(a,b) EVP_DigestInit(a,b) -# define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) -# define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) -# define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) -# define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) -# define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) - -# ifdef CONST_STRICT -void BIO_set_md(BIO *, const EVP_MD *md); -# else -# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)(md)) -# endif -# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)(mdp)) -# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0, \ - (char *)(mdcp)) -# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0, \ - (char *)(mdcp)) -# define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) -# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0, \ - (char *)(c_pp)) - -/*__owur*/ int EVP_Cipher(EVP_CIPHER_CTX *c, - unsigned char *out, - const unsigned char *in, unsigned int inl); - -# define EVP_add_cipher_alias(n,alias) \ - OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n)) -# define EVP_add_digest_alias(n,alias) \ - OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n)) -# define EVP_delete_cipher_alias(alias) \ - OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS); -# define EVP_delete_digest_alias(alias) \ - OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); - -int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); -EVP_MD_CTX *EVP_MD_CTX_new(void); -int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); -void EVP_MD_CTX_free(EVP_MD_CTX *ctx); -# define EVP_MD_CTX_create() EVP_MD_CTX_new() -# define EVP_MD_CTX_init(ctx) EVP_MD_CTX_reset((ctx)) -# define EVP_MD_CTX_destroy(ctx) EVP_MD_CTX_free((ctx)) -__owur int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); -void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); -void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); -int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); -__owur int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, - ENGINE *impl); -__owur int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, - size_t cnt); -__owur int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, - unsigned int *s); -__owur int EVP_Digest(const void *data, size_t count, - unsigned char *md, unsigned int *size, - const EVP_MD *type, ENGINE *impl); - -__owur int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in); -__owur int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); -__owur int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, - unsigned int *s); -__owur int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *md, - size_t len); - -int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); -int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, - const char *prompt, int verify); -void EVP_set_pw_prompt(const char *prompt); -char *EVP_get_pw_prompt(void); - -__owur int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, - const unsigned char *salt, - const unsigned char *data, int datal, int count, - unsigned char *key, unsigned char *iv); - -void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags); -void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags); -int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags); - -__owur int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - const unsigned char *key, const unsigned char *iv); -/*__owur*/ int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, - const EVP_CIPHER *cipher, ENGINE *impl, - const unsigned char *key, - const unsigned char *iv); -/*__owur*/ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, - int *outl, const unsigned char *in, int inl); -/*__owur*/ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, - int *outl); -/*__owur*/ int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, - int *outl); - -__owur int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - const unsigned char *key, const unsigned char *iv); -/*__owur*/ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, - const EVP_CIPHER *cipher, ENGINE *impl, - const unsigned char *key, - const unsigned char *iv); -/*__owur*/ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, - int *outl, const unsigned char *in, int inl); -__owur int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, - int *outl); -/*__owur*/ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, - int *outl); - -__owur int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - const unsigned char *key, const unsigned char *iv, - int enc); -/*__owur*/ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, - const EVP_CIPHER *cipher, ENGINE *impl, - const unsigned char *key, - const unsigned char *iv, int enc); -__owur int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, - int *outl, const unsigned char *in, int inl); -__owur int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, - int *outl); -__owur int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, - int *outl); - -__owur int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, - EVP_PKEY *pkey); - -__owur int EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sigret, - size_t *siglen, const unsigned char *tbs, - size_t tbslen); - -__owur int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, - unsigned int siglen, EVP_PKEY *pkey); - -__owur int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret, - size_t siglen, const unsigned char *tbs, - size_t tbslen); - -/*__owur*/ int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, - const EVP_MD *type, ENGINE *e, - EVP_PKEY *pkey); -__owur int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, - size_t *siglen); - -__owur int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, - const EVP_MD *type, ENGINE *e, - EVP_PKEY *pkey); -__owur int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, - size_t siglen); - -# ifndef OPENSSL_NO_RSA -__owur int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, - const unsigned char *ek, int ekl, - const unsigned char *iv, EVP_PKEY *priv); -__owur int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); - -__owur int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, - unsigned char **ek, int *ekl, unsigned char *iv, - EVP_PKEY **pubk, int npubk); -__owur int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); -# endif - -EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void); -void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx); -int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, EVP_ENCODE_CTX *sctx); -int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx); -void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); -int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, - const unsigned char *in, int inl); -void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); -int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n); - -void EVP_DecodeInit(EVP_ENCODE_CTX *ctx); -int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, - const unsigned char *in, int inl); -int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned - char *out, int *outl); -int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define EVP_CIPHER_CTX_init(c) EVP_CIPHER_CTX_reset(c) -# define EVP_CIPHER_CTX_cleanup(c) EVP_CIPHER_CTX_reset(c) -# endif -EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); -int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c); -void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *c); -int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); -int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); -int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); -int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); - -const BIO_METHOD *BIO_f_md(void); -const BIO_METHOD *BIO_f_base64(void); -const BIO_METHOD *BIO_f_cipher(void); -const BIO_METHOD *BIO_f_reliable(void); -__owur int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k, - const unsigned char *i, int enc); - -const EVP_MD *EVP_md_null(void); -# ifndef OPENSSL_NO_MD2 -const EVP_MD *EVP_md2(void); -# endif -# ifndef OPENSSL_NO_MD4 -const EVP_MD *EVP_md4(void); -# endif -# ifndef OPENSSL_NO_MD5 -const EVP_MD *EVP_md5(void); -const EVP_MD *EVP_md5_sha1(void); -# endif -# ifndef OPENSSL_NO_BLAKE2 -const EVP_MD *EVP_blake2b512(void); -const EVP_MD *EVP_blake2s256(void); -# endif -const EVP_MD *EVP_sha1(void); -const EVP_MD *EVP_sha224(void); -const EVP_MD *EVP_sha256(void); -const EVP_MD *EVP_sha384(void); -const EVP_MD *EVP_sha512(void); -const EVP_MD *EVP_sha512_224(void); -const EVP_MD *EVP_sha512_256(void); -const EVP_MD *EVP_sha3_224(void); -const EVP_MD *EVP_sha3_256(void); -const EVP_MD *EVP_sha3_384(void); -const EVP_MD *EVP_sha3_512(void); -const EVP_MD *EVP_shake128(void); -const EVP_MD *EVP_shake256(void); -# ifndef OPENSSL_NO_MDC2 -const EVP_MD *EVP_mdc2(void); -# endif -# ifndef OPENSSL_NO_RMD160 -const EVP_MD *EVP_ripemd160(void); -# endif -# ifndef OPENSSL_NO_WHIRLPOOL -const EVP_MD *EVP_whirlpool(void); -# endif -# ifndef OPENSSL_NO_SM3 -const EVP_MD *EVP_sm3(void); -# endif -const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ -# ifndef OPENSSL_NO_DES -const EVP_CIPHER *EVP_des_ecb(void); -const EVP_CIPHER *EVP_des_ede(void); -const EVP_CIPHER *EVP_des_ede3(void); -const EVP_CIPHER *EVP_des_ede_ecb(void); -const EVP_CIPHER *EVP_des_ede3_ecb(void); -const EVP_CIPHER *EVP_des_cfb64(void); -# define EVP_des_cfb EVP_des_cfb64 -const EVP_CIPHER *EVP_des_cfb1(void); -const EVP_CIPHER *EVP_des_cfb8(void); -const EVP_CIPHER *EVP_des_ede_cfb64(void); -# define EVP_des_ede_cfb EVP_des_ede_cfb64 -const EVP_CIPHER *EVP_des_ede3_cfb64(void); -# define EVP_des_ede3_cfb EVP_des_ede3_cfb64 -const EVP_CIPHER *EVP_des_ede3_cfb1(void); -const EVP_CIPHER *EVP_des_ede3_cfb8(void); -const EVP_CIPHER *EVP_des_ofb(void); -const EVP_CIPHER *EVP_des_ede_ofb(void); -const EVP_CIPHER *EVP_des_ede3_ofb(void); -const EVP_CIPHER *EVP_des_cbc(void); -const EVP_CIPHER *EVP_des_ede_cbc(void); -const EVP_CIPHER *EVP_des_ede3_cbc(void); -const EVP_CIPHER *EVP_desx_cbc(void); -const EVP_CIPHER *EVP_des_ede3_wrap(void); -/* - * This should now be supported through the dev_crypto ENGINE. But also, why - * are rc4 and md5 declarations made here inside a "NO_DES" precompiler - * branch? - */ -# endif -# ifndef OPENSSL_NO_RC4 -const EVP_CIPHER *EVP_rc4(void); -const EVP_CIPHER *EVP_rc4_40(void); -# ifndef OPENSSL_NO_MD5 -const EVP_CIPHER *EVP_rc4_hmac_md5(void); -# endif -# endif -# ifndef OPENSSL_NO_IDEA -const EVP_CIPHER *EVP_idea_ecb(void); -const EVP_CIPHER *EVP_idea_cfb64(void); -# define EVP_idea_cfb EVP_idea_cfb64 -const EVP_CIPHER *EVP_idea_ofb(void); -const EVP_CIPHER *EVP_idea_cbc(void); -# endif -# ifndef OPENSSL_NO_RC2 -const EVP_CIPHER *EVP_rc2_ecb(void); -const EVP_CIPHER *EVP_rc2_cbc(void); -const EVP_CIPHER *EVP_rc2_40_cbc(void); -const EVP_CIPHER *EVP_rc2_64_cbc(void); -const EVP_CIPHER *EVP_rc2_cfb64(void); -# define EVP_rc2_cfb EVP_rc2_cfb64 -const EVP_CIPHER *EVP_rc2_ofb(void); -# endif -# ifndef OPENSSL_NO_BF -const EVP_CIPHER *EVP_bf_ecb(void); -const EVP_CIPHER *EVP_bf_cbc(void); -const EVP_CIPHER *EVP_bf_cfb64(void); -# define EVP_bf_cfb EVP_bf_cfb64 -const EVP_CIPHER *EVP_bf_ofb(void); -# endif -# ifndef OPENSSL_NO_CAST -const EVP_CIPHER *EVP_cast5_ecb(void); -const EVP_CIPHER *EVP_cast5_cbc(void); -const EVP_CIPHER *EVP_cast5_cfb64(void); -# define EVP_cast5_cfb EVP_cast5_cfb64 -const EVP_CIPHER *EVP_cast5_ofb(void); -# endif -# ifndef OPENSSL_NO_RC5 -const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void); -const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void); -const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void); -# define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64 -const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void); -# endif -const EVP_CIPHER *EVP_aes_128_ecb(void); -const EVP_CIPHER *EVP_aes_128_cbc(void); -const EVP_CIPHER *EVP_aes_128_cfb1(void); -const EVP_CIPHER *EVP_aes_128_cfb8(void); -const EVP_CIPHER *EVP_aes_128_cfb128(void); -# define EVP_aes_128_cfb EVP_aes_128_cfb128 -const EVP_CIPHER *EVP_aes_128_ofb(void); -const EVP_CIPHER *EVP_aes_128_ctr(void); -const EVP_CIPHER *EVP_aes_128_ccm(void); -const EVP_CIPHER *EVP_aes_128_gcm(void); -const EVP_CIPHER *EVP_aes_128_xts(void); -const EVP_CIPHER *EVP_aes_128_wrap(void); -const EVP_CIPHER *EVP_aes_128_wrap_pad(void); -# ifndef OPENSSL_NO_OCB -const EVP_CIPHER *EVP_aes_128_ocb(void); -# endif -const EVP_CIPHER *EVP_aes_192_ecb(void); -const EVP_CIPHER *EVP_aes_192_cbc(void); -const EVP_CIPHER *EVP_aes_192_cfb1(void); -const EVP_CIPHER *EVP_aes_192_cfb8(void); -const EVP_CIPHER *EVP_aes_192_cfb128(void); -# define EVP_aes_192_cfb EVP_aes_192_cfb128 -const EVP_CIPHER *EVP_aes_192_ofb(void); -const EVP_CIPHER *EVP_aes_192_ctr(void); -const EVP_CIPHER *EVP_aes_192_ccm(void); -const EVP_CIPHER *EVP_aes_192_gcm(void); -const EVP_CIPHER *EVP_aes_192_wrap(void); -const EVP_CIPHER *EVP_aes_192_wrap_pad(void); -# ifndef OPENSSL_NO_OCB -const EVP_CIPHER *EVP_aes_192_ocb(void); -# endif -const EVP_CIPHER *EVP_aes_256_ecb(void); -const EVP_CIPHER *EVP_aes_256_cbc(void); -const EVP_CIPHER *EVP_aes_256_cfb1(void); -const EVP_CIPHER *EVP_aes_256_cfb8(void); -const EVP_CIPHER *EVP_aes_256_cfb128(void); -# define EVP_aes_256_cfb EVP_aes_256_cfb128 -const EVP_CIPHER *EVP_aes_256_ofb(void); -const EVP_CIPHER *EVP_aes_256_ctr(void); -const EVP_CIPHER *EVP_aes_256_ccm(void); -const EVP_CIPHER *EVP_aes_256_gcm(void); -const EVP_CIPHER *EVP_aes_256_xts(void); -const EVP_CIPHER *EVP_aes_256_wrap(void); -const EVP_CIPHER *EVP_aes_256_wrap_pad(void); -# ifndef OPENSSL_NO_OCB -const EVP_CIPHER *EVP_aes_256_ocb(void); -# endif -const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); -const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); -const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); -const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void); -# ifndef OPENSSL_NO_ARIA -const EVP_CIPHER *EVP_aria_128_ecb(void); -const EVP_CIPHER *EVP_aria_128_cbc(void); -const EVP_CIPHER *EVP_aria_128_cfb1(void); -const EVP_CIPHER *EVP_aria_128_cfb8(void); -const EVP_CIPHER *EVP_aria_128_cfb128(void); -# define EVP_aria_128_cfb EVP_aria_128_cfb128 -const EVP_CIPHER *EVP_aria_128_ctr(void); -const EVP_CIPHER *EVP_aria_128_ofb(void); -const EVP_CIPHER *EVP_aria_128_gcm(void); -const EVP_CIPHER *EVP_aria_128_ccm(void); -const EVP_CIPHER *EVP_aria_192_ecb(void); -const EVP_CIPHER *EVP_aria_192_cbc(void); -const EVP_CIPHER *EVP_aria_192_cfb1(void); -const EVP_CIPHER *EVP_aria_192_cfb8(void); -const EVP_CIPHER *EVP_aria_192_cfb128(void); -# define EVP_aria_192_cfb EVP_aria_192_cfb128 -const EVP_CIPHER *EVP_aria_192_ctr(void); -const EVP_CIPHER *EVP_aria_192_ofb(void); -const EVP_CIPHER *EVP_aria_192_gcm(void); -const EVP_CIPHER *EVP_aria_192_ccm(void); -const EVP_CIPHER *EVP_aria_256_ecb(void); -const EVP_CIPHER *EVP_aria_256_cbc(void); -const EVP_CIPHER *EVP_aria_256_cfb1(void); -const EVP_CIPHER *EVP_aria_256_cfb8(void); -const EVP_CIPHER *EVP_aria_256_cfb128(void); -# define EVP_aria_256_cfb EVP_aria_256_cfb128 -const EVP_CIPHER *EVP_aria_256_ctr(void); -const EVP_CIPHER *EVP_aria_256_ofb(void); -const EVP_CIPHER *EVP_aria_256_gcm(void); -const EVP_CIPHER *EVP_aria_256_ccm(void); -# endif -# ifndef OPENSSL_NO_CAMELLIA -const EVP_CIPHER *EVP_camellia_128_ecb(void); -const EVP_CIPHER *EVP_camellia_128_cbc(void); -const EVP_CIPHER *EVP_camellia_128_cfb1(void); -const EVP_CIPHER *EVP_camellia_128_cfb8(void); -const EVP_CIPHER *EVP_camellia_128_cfb128(void); -# define EVP_camellia_128_cfb EVP_camellia_128_cfb128 -const EVP_CIPHER *EVP_camellia_128_ofb(void); -const EVP_CIPHER *EVP_camellia_128_ctr(void); -const EVP_CIPHER *EVP_camellia_192_ecb(void); -const EVP_CIPHER *EVP_camellia_192_cbc(void); -const EVP_CIPHER *EVP_camellia_192_cfb1(void); -const EVP_CIPHER *EVP_camellia_192_cfb8(void); -const EVP_CIPHER *EVP_camellia_192_cfb128(void); -# define EVP_camellia_192_cfb EVP_camellia_192_cfb128 -const EVP_CIPHER *EVP_camellia_192_ofb(void); -const EVP_CIPHER *EVP_camellia_192_ctr(void); -const EVP_CIPHER *EVP_camellia_256_ecb(void); -const EVP_CIPHER *EVP_camellia_256_cbc(void); -const EVP_CIPHER *EVP_camellia_256_cfb1(void); -const EVP_CIPHER *EVP_camellia_256_cfb8(void); -const EVP_CIPHER *EVP_camellia_256_cfb128(void); -# define EVP_camellia_256_cfb EVP_camellia_256_cfb128 -const EVP_CIPHER *EVP_camellia_256_ofb(void); -const EVP_CIPHER *EVP_camellia_256_ctr(void); -# endif -# ifndef OPENSSL_NO_CHACHA -const EVP_CIPHER *EVP_chacha20(void); -# ifndef OPENSSL_NO_POLY1305 -const EVP_CIPHER *EVP_chacha20_poly1305(void); -# endif -# endif - -# ifndef OPENSSL_NO_SEED -const EVP_CIPHER *EVP_seed_ecb(void); -const EVP_CIPHER *EVP_seed_cbc(void); -const EVP_CIPHER *EVP_seed_cfb128(void); -# define EVP_seed_cfb EVP_seed_cfb128 -const EVP_CIPHER *EVP_seed_ofb(void); -# endif - -# ifndef OPENSSL_NO_SM4 -const EVP_CIPHER *EVP_sm4_ecb(void); -const EVP_CIPHER *EVP_sm4_cbc(void); -const EVP_CIPHER *EVP_sm4_cfb128(void); -# define EVP_sm4_cfb EVP_sm4_cfb128 -const EVP_CIPHER *EVP_sm4_ofb(void); -const EVP_CIPHER *EVP_sm4_ctr(void); -# endif - -# if OPENSSL_API_COMPAT < 0x10100000L -# define OPENSSL_add_all_algorithms_conf() \ - OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ - | OPENSSL_INIT_ADD_ALL_DIGESTS \ - | OPENSSL_INIT_LOAD_CONFIG, NULL) -# define OPENSSL_add_all_algorithms_noconf() \ - OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ - | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) - -# ifdef OPENSSL_LOAD_CONF -# define OpenSSL_add_all_algorithms() OPENSSL_add_all_algorithms_conf() -# else -# define OpenSSL_add_all_algorithms() OPENSSL_add_all_algorithms_noconf() -# endif - -# define OpenSSL_add_all_ciphers() \ - OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL) -# define OpenSSL_add_all_digests() \ - OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) - -# define EVP_cleanup() while(0) continue -# endif - -int EVP_add_cipher(const EVP_CIPHER *cipher); -int EVP_add_digest(const EVP_MD *digest); - -const EVP_CIPHER *EVP_get_cipherbyname(const char *name); -const EVP_MD *EVP_get_digestbyname(const char *name); - -void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, - const char *from, const char *to, void *x), - void *arg); -void EVP_CIPHER_do_all_sorted(void (*fn) - (const EVP_CIPHER *ciph, const char *from, - const char *to, void *x), void *arg); - -void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph, - const char *from, const char *to, void *x), - void *arg); -void EVP_MD_do_all_sorted(void (*fn) - (const EVP_MD *ciph, const char *from, - const char *to, void *x), void *arg); - -int EVP_PKEY_decrypt_old(unsigned char *dec_key, - const unsigned char *enc_key, int enc_key_len, - EVP_PKEY *private_key); -int EVP_PKEY_encrypt_old(unsigned char *enc_key, - const unsigned char *key, int key_len, - EVP_PKEY *pub_key); -int EVP_PKEY_type(int type); -int EVP_PKEY_id(const EVP_PKEY *pkey); -int EVP_PKEY_base_id(const EVP_PKEY *pkey); -int EVP_PKEY_bits(const EVP_PKEY *pkey); -int EVP_PKEY_security_bits(const EVP_PKEY *pkey); -int EVP_PKEY_size(const EVP_PKEY *pkey); -int EVP_PKEY_set_type(EVP_PKEY *pkey, int type); -int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); -int EVP_PKEY_set_alias_type(EVP_PKEY *pkey, int type); -# ifndef OPENSSL_NO_ENGINE -int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e); -ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey); -# endif -int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key); -void *EVP_PKEY_get0(const EVP_PKEY *pkey); -const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len); -# ifndef OPENSSL_NO_POLY1305 -const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len); -# endif -# ifndef OPENSSL_NO_SIPHASH -const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len); -# endif - -# ifndef OPENSSL_NO_RSA -struct rsa_st; -int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); -struct rsa_st *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); -struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); -# endif -# ifndef OPENSSL_NO_DSA -struct dsa_st; -int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); -struct dsa_st *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); -struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); -# endif -# ifndef OPENSSL_NO_DH -struct dh_st; -int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); -struct dh_st *EVP_PKEY_get0_DH(EVP_PKEY *pkey); -struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); -# endif -# ifndef OPENSSL_NO_EC -struct ec_key_st; -int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); -struct ec_key_st *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey); -struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); -# endif - -EVP_PKEY *EVP_PKEY_new(void); -int EVP_PKEY_up_ref(EVP_PKEY *pkey); -void EVP_PKEY_free(EVP_PKEY *pkey); - -EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, - long length); -int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); - -EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, - long length); -EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, - long length); -int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); - -int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); -int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); -int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode); -int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); - -int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); - -int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, - int indent, ASN1_PCTX *pctx); -int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, - int indent, ASN1_PCTX *pctx); -int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, - int indent, ASN1_PCTX *pctx); - -int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); - -int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey, - const unsigned char *pt, size_t ptlen); -size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *pkey, unsigned char **ppt); - -int EVP_CIPHER_type(const EVP_CIPHER *ctx); - -/* calls methods */ -int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); -int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); - -/* These are used by EVP_CIPHER methods */ -int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); -int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); - -/* PKCS5 password based encryption */ -int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, - const EVP_MD *md, int en_de); -int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, - const unsigned char *salt, int saltlen, int iter, - int keylen, unsigned char *out); -int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, - const unsigned char *salt, int saltlen, int iter, - const EVP_MD *digest, int keylen, unsigned char *out); -int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, - const EVP_MD *md, int en_de); - -#ifndef OPENSSL_NO_SCRYPT -int EVP_PBE_scrypt(const char *pass, size_t passlen, - const unsigned char *salt, size_t saltlen, - uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem, - unsigned char *key, size_t keylen); - -int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, - int passlen, ASN1_TYPE *param, - const EVP_CIPHER *c, const EVP_MD *md, int en_de); -#endif - -void PKCS5_PBE_add(void); - -int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, - ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); - -/* PBE type */ - -/* Can appear as the outermost AlgorithmIdentifier */ -# define EVP_PBE_TYPE_OUTER 0x0 -/* Is an PRF type OID */ -# define EVP_PBE_TYPE_PRF 0x1 -/* Is a PKCS#5 v2.0 KDF */ -# define EVP_PBE_TYPE_KDF 0x2 - -int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, - int md_nid, EVP_PBE_KEYGEN *keygen); -int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, - EVP_PBE_KEYGEN *keygen); -int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid, - EVP_PBE_KEYGEN **pkeygen); -void EVP_PBE_cleanup(void); -int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num); - -# define ASN1_PKEY_ALIAS 0x1 -# define ASN1_PKEY_DYNAMIC 0x2 -# define ASN1_PKEY_SIGPARAM_NULL 0x4 - -# define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1 -# define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2 -# define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3 -# define ASN1_PKEY_CTRL_CMS_SIGN 0x5 -# define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7 -# define ASN1_PKEY_CTRL_CMS_RI_TYPE 0x8 - -# define ASN1_PKEY_CTRL_SET1_TLS_ENCPT 0x9 -# define ASN1_PKEY_CTRL_GET1_TLS_ENCPT 0xa - -int EVP_PKEY_asn1_get_count(void); -const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); -const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); -const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, - const char *str, int len); -int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth); -int EVP_PKEY_asn1_add_alias(int to, int from); -int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, - int *ppkey_flags, const char **pinfo, - const char **ppem_str, - const EVP_PKEY_ASN1_METHOD *ameth); - -const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey); -EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, - const char *pem_str, - const char *info); -void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, - const EVP_PKEY_ASN1_METHOD *src); -void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); -void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, - int (*pub_decode) (EVP_PKEY *pk, - X509_PUBKEY *pub), - int (*pub_encode) (X509_PUBKEY *pub, - const EVP_PKEY *pk), - int (*pub_cmp) (const EVP_PKEY *a, - const EVP_PKEY *b), - int (*pub_print) (BIO *out, - const EVP_PKEY *pkey, - int indent, ASN1_PCTX *pctx), - int (*pkey_size) (const EVP_PKEY *pk), - int (*pkey_bits) (const EVP_PKEY *pk)); -void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, - int (*priv_decode) (EVP_PKEY *pk, - const PKCS8_PRIV_KEY_INFO - *p8inf), - int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8, - const EVP_PKEY *pk), - int (*priv_print) (BIO *out, - const EVP_PKEY *pkey, - int indent, - ASN1_PCTX *pctx)); -void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, - int (*param_decode) (EVP_PKEY *pkey, - const unsigned char **pder, - int derlen), - int (*param_encode) (const EVP_PKEY *pkey, - unsigned char **pder), - int (*param_missing) (const EVP_PKEY *pk), - int (*param_copy) (EVP_PKEY *to, - const EVP_PKEY *from), - int (*param_cmp) (const EVP_PKEY *a, - const EVP_PKEY *b), - int (*param_print) (BIO *out, - const EVP_PKEY *pkey, - int indent, - ASN1_PCTX *pctx)); - -void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, - void (*pkey_free) (EVP_PKEY *pkey)); -void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, - int (*pkey_ctrl) (EVP_PKEY *pkey, int op, - long arg1, void *arg2)); -void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, - int (*item_verify) (EVP_MD_CTX *ctx, - const ASN1_ITEM *it, - void *asn, - X509_ALGOR *a, - ASN1_BIT_STRING *sig, - EVP_PKEY *pkey), - int (*item_sign) (EVP_MD_CTX *ctx, - const ASN1_ITEM *it, - void *asn, - X509_ALGOR *alg1, - X509_ALGOR *alg2, - ASN1_BIT_STRING *sig)); - -void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth, - int (*siginf_set) (X509_SIG_INFO *siginf, - const X509_ALGOR *alg, - const ASN1_STRING *sig)); - -void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth, - int (*pkey_check) (const EVP_PKEY *pk)); - -void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth, - int (*pkey_pub_check) (const EVP_PKEY *pk)); - -void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth, - int (*pkey_param_check) (const EVP_PKEY *pk)); - -void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, - int (*set_priv_key) (EVP_PKEY *pk, - const unsigned char - *priv, - size_t len)); -void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, - int (*set_pub_key) (EVP_PKEY *pk, - const unsigned char *pub, - size_t len)); -void EVP_PKEY_asn1_set_get_priv_key(EVP_PKEY_ASN1_METHOD *ameth, - int (*get_priv_key) (const EVP_PKEY *pk, - unsigned char *priv, - size_t *len)); -void EVP_PKEY_asn1_set_get_pub_key(EVP_PKEY_ASN1_METHOD *ameth, - int (*get_pub_key) (const EVP_PKEY *pk, - unsigned char *pub, - size_t *len)); - -void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, - int (*pkey_security_bits) (const EVP_PKEY - *pk)); - -# define EVP_PKEY_OP_UNDEFINED 0 -# define EVP_PKEY_OP_PARAMGEN (1<<1) -# define EVP_PKEY_OP_KEYGEN (1<<2) -# define EVP_PKEY_OP_SIGN (1<<3) -# define EVP_PKEY_OP_VERIFY (1<<4) -# define EVP_PKEY_OP_VERIFYRECOVER (1<<5) -# define EVP_PKEY_OP_SIGNCTX (1<<6) -# define EVP_PKEY_OP_VERIFYCTX (1<<7) -# define EVP_PKEY_OP_ENCRYPT (1<<8) -# define EVP_PKEY_OP_DECRYPT (1<<9) -# define EVP_PKEY_OP_DERIVE (1<<10) - -# define EVP_PKEY_OP_TYPE_SIG \ - (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ - | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX) - -# define EVP_PKEY_OP_TYPE_CRYPT \ - (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) - -# define EVP_PKEY_OP_TYPE_NOGEN \ - (EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_DERIVE) - -# define EVP_PKEY_OP_TYPE_GEN \ - (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) - -# define EVP_PKEY_CTX_set_signature_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ - EVP_PKEY_CTRL_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \ - EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ - EVP_PKEY_CTRL_GET_MD, 0, (void *)(pmd)) - -# define EVP_PKEY_CTX_set_mac_key(ctx, key, len) \ - EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_SET_MAC_KEY, len, (void *)(key)) - -# define EVP_PKEY_CTRL_MD 1 -# define EVP_PKEY_CTRL_PEER_KEY 2 - -# define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3 -# define EVP_PKEY_CTRL_PKCS7_DECRYPT 4 - -# define EVP_PKEY_CTRL_PKCS7_SIGN 5 - -# define EVP_PKEY_CTRL_SET_MAC_KEY 6 - -# define EVP_PKEY_CTRL_DIGESTINIT 7 - -/* Used by GOST key encryption in TLS */ -# define EVP_PKEY_CTRL_SET_IV 8 - -# define EVP_PKEY_CTRL_CMS_ENCRYPT 9 -# define EVP_PKEY_CTRL_CMS_DECRYPT 10 -# define EVP_PKEY_CTRL_CMS_SIGN 11 - -# define EVP_PKEY_CTRL_CIPHER 12 - -# define EVP_PKEY_CTRL_GET_MD 13 - -# define EVP_PKEY_CTRL_SET_DIGEST_SIZE 14 - -# define EVP_PKEY_ALG_CTRL 0x1000 - -# define EVP_PKEY_FLAG_AUTOARGLEN 2 -/* - * Method handles all operations: don't assume any digest related defaults. - */ -# define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4 - -const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); -EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags); -void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, - const EVP_PKEY_METHOD *meth); -void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src); -void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); -int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); -int EVP_PKEY_meth_remove(const EVP_PKEY_METHOD *pmeth); -size_t EVP_PKEY_meth_get_count(void); -const EVP_PKEY_METHOD *EVP_PKEY_meth_get0(size_t idx); - -EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); -EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); -EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); -void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); - -int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, - int cmd, int p1, void *p2); -int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, - const char *value); -int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx, int keytype, int optype, - int cmd, uint64_t value); - -int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *str); -int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *hex); - -int EVP_PKEY_CTX_md(EVP_PKEY_CTX *ctx, int optype, int cmd, const char *md); - -int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); -void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); - -EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, - const unsigned char *key, int keylen); -EVP_PKEY *EVP_PKEY_new_raw_private_key(int type, ENGINE *e, - const unsigned char *priv, - size_t len); -EVP_PKEY *EVP_PKEY_new_raw_public_key(int type, ENGINE *e, - const unsigned char *pub, - size_t len); -int EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, unsigned char *priv, - size_t *len); -int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char *pub, - size_t *len); - -EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, - size_t len, const EVP_CIPHER *cipher); - -void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); -void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); -EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); - -EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); - -void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); -void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); - -int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, - unsigned char *sig, size_t *siglen, - const unsigned char *tbs, size_t tbslen); -int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, - const unsigned char *sig, size_t siglen, - const unsigned char *tbs, size_t tbslen); -int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, - unsigned char *rout, size_t *routlen, - const unsigned char *sig, size_t siglen); -int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, - unsigned char *out, size_t *outlen, - const unsigned char *in, size_t inlen); -int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, - unsigned char *out, size_t *outlen, - const unsigned char *in, size_t inlen); - -int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); -int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); - -typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx); - -int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); -int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); -int EVP_PKEY_check(EVP_PKEY_CTX *ctx); -int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx); -int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx); - -void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); -EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); - -int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); - -void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, - int (*init) (EVP_PKEY_CTX *ctx)); - -void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, - int (*copy) (EVP_PKEY_CTX *dst, - EVP_PKEY_CTX *src)); - -void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, - void (*cleanup) (EVP_PKEY_CTX *ctx)); - -void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, - int (*paramgen_init) (EVP_PKEY_CTX *ctx), - int (*paramgen) (EVP_PKEY_CTX *ctx, - EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, - int (*keygen_init) (EVP_PKEY_CTX *ctx), - int (*keygen) (EVP_PKEY_CTX *ctx, - EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, - int (*sign_init) (EVP_PKEY_CTX *ctx), - int (*sign) (EVP_PKEY_CTX *ctx, - unsigned char *sig, size_t *siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, - int (*verify_init) (EVP_PKEY_CTX *ctx), - int (*verify) (EVP_PKEY_CTX *ctx, - const unsigned char *sig, - size_t siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, - int (*verify_recover_init) (EVP_PKEY_CTX - *ctx), - int (*verify_recover) (EVP_PKEY_CTX - *ctx, - unsigned char - *sig, - size_t *siglen, - const unsigned - char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, - int (*signctx_init) (EVP_PKEY_CTX *ctx, - EVP_MD_CTX *mctx), - int (*signctx) (EVP_PKEY_CTX *ctx, - unsigned char *sig, - size_t *siglen, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, - int (*verifyctx_init) (EVP_PKEY_CTX *ctx, - EVP_MD_CTX *mctx), - int (*verifyctx) (EVP_PKEY_CTX *ctx, - const unsigned char *sig, - int siglen, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, - int (*encrypt_init) (EVP_PKEY_CTX *ctx), - int (*encryptfn) (EVP_PKEY_CTX *ctx, - unsigned char *out, - size_t *outlen, - const unsigned char *in, - size_t inlen)); - -void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, - int (*decrypt_init) (EVP_PKEY_CTX *ctx), - int (*decrypt) (EVP_PKEY_CTX *ctx, - unsigned char *out, - size_t *outlen, - const unsigned char *in, - size_t inlen)); - -void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, - int (*derive_init) (EVP_PKEY_CTX *ctx), - int (*derive) (EVP_PKEY_CTX *ctx, - unsigned char *key, - size_t *keylen)); - -void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, - int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1, - void *p2), - int (*ctrl_str) (EVP_PKEY_CTX *ctx, - const char *type, - const char *value)); - -void EVP_PKEY_meth_set_digestsign(EVP_PKEY_METHOD *pmeth, - int (*digestsign) (EVP_MD_CTX *ctx, - unsigned char *sig, - size_t *siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_set_digestverify(EVP_PKEY_METHOD *pmeth, - int (*digestverify) (EVP_MD_CTX *ctx, - const unsigned char *sig, - size_t siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth, - int (*check) (EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_public_check(EVP_PKEY_METHOD *pmeth, - int (*check) (EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_param_check(EVP_PKEY_METHOD *pmeth, - int (*check) (EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_digest_custom(EVP_PKEY_METHOD *pmeth, - int (*digest_custom) (EVP_PKEY_CTX *ctx, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_get_init(const EVP_PKEY_METHOD *pmeth, - int (**pinit) (EVP_PKEY_CTX *ctx)); - -void EVP_PKEY_meth_get_copy(const EVP_PKEY_METHOD *pmeth, - int (**pcopy) (EVP_PKEY_CTX *dst, - EVP_PKEY_CTX *src)); - -void EVP_PKEY_meth_get_cleanup(const EVP_PKEY_METHOD *pmeth, - void (**pcleanup) (EVP_PKEY_CTX *ctx)); - -void EVP_PKEY_meth_get_paramgen(const EVP_PKEY_METHOD *pmeth, - int (**pparamgen_init) (EVP_PKEY_CTX *ctx), - int (**pparamgen) (EVP_PKEY_CTX *ctx, - EVP_PKEY *pkey)); - -void EVP_PKEY_meth_get_keygen(const EVP_PKEY_METHOD *pmeth, - int (**pkeygen_init) (EVP_PKEY_CTX *ctx), - int (**pkeygen) (EVP_PKEY_CTX *ctx, - EVP_PKEY *pkey)); - -void EVP_PKEY_meth_get_sign(const EVP_PKEY_METHOD *pmeth, - int (**psign_init) (EVP_PKEY_CTX *ctx), - int (**psign) (EVP_PKEY_CTX *ctx, - unsigned char *sig, size_t *siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_get_verify(const EVP_PKEY_METHOD *pmeth, - int (**pverify_init) (EVP_PKEY_CTX *ctx), - int (**pverify) (EVP_PKEY_CTX *ctx, - const unsigned char *sig, - size_t siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_get_verify_recover(const EVP_PKEY_METHOD *pmeth, - int (**pverify_recover_init) (EVP_PKEY_CTX - *ctx), - int (**pverify_recover) (EVP_PKEY_CTX - *ctx, - unsigned char - *sig, - size_t *siglen, - const unsigned - char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_get_signctx(const EVP_PKEY_METHOD *pmeth, - int (**psignctx_init) (EVP_PKEY_CTX *ctx, - EVP_MD_CTX *mctx), - int (**psignctx) (EVP_PKEY_CTX *ctx, - unsigned char *sig, - size_t *siglen, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_get_verifyctx(const EVP_PKEY_METHOD *pmeth, - int (**pverifyctx_init) (EVP_PKEY_CTX *ctx, - EVP_MD_CTX *mctx), - int (**pverifyctx) (EVP_PKEY_CTX *ctx, - const unsigned char *sig, - int siglen, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_get_encrypt(const EVP_PKEY_METHOD *pmeth, - int (**pencrypt_init) (EVP_PKEY_CTX *ctx), - int (**pencryptfn) (EVP_PKEY_CTX *ctx, - unsigned char *out, - size_t *outlen, - const unsigned char *in, - size_t inlen)); - -void EVP_PKEY_meth_get_decrypt(const EVP_PKEY_METHOD *pmeth, - int (**pdecrypt_init) (EVP_PKEY_CTX *ctx), - int (**pdecrypt) (EVP_PKEY_CTX *ctx, - unsigned char *out, - size_t *outlen, - const unsigned char *in, - size_t inlen)); - -void EVP_PKEY_meth_get_derive(const EVP_PKEY_METHOD *pmeth, - int (**pderive_init) (EVP_PKEY_CTX *ctx), - int (**pderive) (EVP_PKEY_CTX *ctx, - unsigned char *key, - size_t *keylen)); - -void EVP_PKEY_meth_get_ctrl(const EVP_PKEY_METHOD *pmeth, - int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1, - void *p2), - int (**pctrl_str) (EVP_PKEY_CTX *ctx, - const char *type, - const char *value)); - -void EVP_PKEY_meth_get_digestsign(EVP_PKEY_METHOD *pmeth, - int (**digestsign) (EVP_MD_CTX *ctx, - unsigned char *sig, - size_t *siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_get_digestverify(EVP_PKEY_METHOD *pmeth, - int (**digestverify) (EVP_MD_CTX *ctx, - const unsigned char *sig, - size_t siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth, - int (**pcheck) (EVP_PKEY *pkey)); - -void EVP_PKEY_meth_get_public_check(const EVP_PKEY_METHOD *pmeth, - int (**pcheck) (EVP_PKEY *pkey)); - -void EVP_PKEY_meth_get_param_check(const EVP_PKEY_METHOD *pmeth, - int (**pcheck) (EVP_PKEY *pkey)); - -void EVP_PKEY_meth_get_digest_custom(EVP_PKEY_METHOD *pmeth, - int (**pdigest_custom) (EVP_PKEY_CTX *ctx, - EVP_MD_CTX *mctx)); -void EVP_add_alg_module(void); - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/evperr.h b/deps/openssl/include/openssl/evperr.h deleted file mode 100644 index d2b26ea5..00000000 --- a/deps/openssl/include/openssl/evperr.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_EVPERR_H -# define HEADER_EVPERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_EVP_strings(void); - -/* - * EVP function codes. - */ -# define EVP_F_AESNI_INIT_KEY 165 -# define EVP_F_AESNI_XTS_INIT_KEY 207 -# define EVP_F_AES_GCM_CTRL 196 -# define EVP_F_AES_INIT_KEY 133 -# define EVP_F_AES_OCB_CIPHER 169 -# define EVP_F_AES_T4_INIT_KEY 178 -# define EVP_F_AES_T4_XTS_INIT_KEY 208 -# define EVP_F_AES_WRAP_CIPHER 170 -# define EVP_F_AES_XTS_INIT_KEY 209 -# define EVP_F_ALG_MODULE_INIT 177 -# define EVP_F_ARIA_CCM_INIT_KEY 175 -# define EVP_F_ARIA_GCM_CTRL 197 -# define EVP_F_ARIA_GCM_INIT_KEY 176 -# define EVP_F_ARIA_INIT_KEY 185 -# define EVP_F_B64_NEW 198 -# define EVP_F_CAMELLIA_INIT_KEY 159 -# define EVP_F_CHACHA20_POLY1305_CTRL 182 -# define EVP_F_CMLL_T4_INIT_KEY 179 -# define EVP_F_DES_EDE3_WRAP_CIPHER 171 -# define EVP_F_DO_SIGVER_INIT 161 -# define EVP_F_ENC_NEW 199 -# define EVP_F_EVP_CIPHERINIT_EX 123 -# define EVP_F_EVP_CIPHER_ASN1_TO_PARAM 204 -# define EVP_F_EVP_CIPHER_CTX_COPY 163 -# define EVP_F_EVP_CIPHER_CTX_CTRL 124 -# define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 -# define EVP_F_EVP_CIPHER_PARAM_TO_ASN1 205 -# define EVP_F_EVP_DECRYPTFINAL_EX 101 -# define EVP_F_EVP_DECRYPTUPDATE 166 -# define EVP_F_EVP_DIGESTFINALXOF 174 -# define EVP_F_EVP_DIGESTINIT_EX 128 -# define EVP_F_EVP_ENCRYPTDECRYPTUPDATE 219 -# define EVP_F_EVP_ENCRYPTFINAL_EX 127 -# define EVP_F_EVP_ENCRYPTUPDATE 167 -# define EVP_F_EVP_MD_CTX_COPY_EX 110 -# define EVP_F_EVP_MD_SIZE 162 -# define EVP_F_EVP_OPENINIT 102 -# define EVP_F_EVP_PBE_ALG_ADD 115 -# define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 -# define EVP_F_EVP_PBE_CIPHERINIT 116 -# define EVP_F_EVP_PBE_SCRYPT 181 -# define EVP_F_EVP_PKCS82PKEY 111 -# define EVP_F_EVP_PKEY2PKCS8 113 -# define EVP_F_EVP_PKEY_ASN1_ADD0 188 -# define EVP_F_EVP_PKEY_CHECK 186 -# define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 -# define EVP_F_EVP_PKEY_CTX_CTRL 137 -# define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 -# define EVP_F_EVP_PKEY_CTX_DUP 156 -# define EVP_F_EVP_PKEY_CTX_MD 168 -# define EVP_F_EVP_PKEY_DECRYPT 104 -# define EVP_F_EVP_PKEY_DECRYPT_INIT 138 -# define EVP_F_EVP_PKEY_DECRYPT_OLD 151 -# define EVP_F_EVP_PKEY_DERIVE 153 -# define EVP_F_EVP_PKEY_DERIVE_INIT 154 -# define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 -# define EVP_F_EVP_PKEY_ENCRYPT 105 -# define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 -# define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 -# define EVP_F_EVP_PKEY_GET0_DH 119 -# define EVP_F_EVP_PKEY_GET0_DSA 120 -# define EVP_F_EVP_PKEY_GET0_EC_KEY 131 -# define EVP_F_EVP_PKEY_GET0_HMAC 183 -# define EVP_F_EVP_PKEY_GET0_POLY1305 184 -# define EVP_F_EVP_PKEY_GET0_RSA 121 -# define EVP_F_EVP_PKEY_GET0_SIPHASH 172 -# define EVP_F_EVP_PKEY_GET_RAW_PRIVATE_KEY 202 -# define EVP_F_EVP_PKEY_GET_RAW_PUBLIC_KEY 203 -# define EVP_F_EVP_PKEY_KEYGEN 146 -# define EVP_F_EVP_PKEY_KEYGEN_INIT 147 -# define EVP_F_EVP_PKEY_METH_ADD0 194 -# define EVP_F_EVP_PKEY_METH_NEW 195 -# define EVP_F_EVP_PKEY_NEW 106 -# define EVP_F_EVP_PKEY_NEW_CMAC_KEY 193 -# define EVP_F_EVP_PKEY_NEW_RAW_PRIVATE_KEY 191 -# define EVP_F_EVP_PKEY_NEW_RAW_PUBLIC_KEY 192 -# define EVP_F_EVP_PKEY_PARAMGEN 148 -# define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 -# define EVP_F_EVP_PKEY_PARAM_CHECK 189 -# define EVP_F_EVP_PKEY_PUBLIC_CHECK 190 -# define EVP_F_EVP_PKEY_SET1_ENGINE 187 -# define EVP_F_EVP_PKEY_SET_ALIAS_TYPE 206 -# define EVP_F_EVP_PKEY_SIGN 140 -# define EVP_F_EVP_PKEY_SIGN_INIT 141 -# define EVP_F_EVP_PKEY_VERIFY 142 -# define EVP_F_EVP_PKEY_VERIFY_INIT 143 -# define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 -# define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 -# define EVP_F_EVP_SIGNFINAL 107 -# define EVP_F_EVP_VERIFYFINAL 108 -# define EVP_F_INT_CTX_NEW 157 -# define EVP_F_OK_NEW 200 -# define EVP_F_PKCS5_PBE_KEYIVGEN 117 -# define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 -# define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 -# define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 180 -# define EVP_F_PKEY_SET_TYPE 158 -# define EVP_F_RC2_MAGIC_TO_METH 109 -# define EVP_F_RC5_CTRL 125 -# define EVP_F_R_32_12_16_INIT_KEY 242 -# define EVP_F_S390X_AES_GCM_CTRL 201 -# define EVP_F_UPDATE 173 - -/* - * EVP reason codes. - */ -# define EVP_R_AES_KEY_SETUP_FAILED 143 -# define EVP_R_ARIA_KEY_SETUP_FAILED 176 -# define EVP_R_BAD_DECRYPT 100 -# define EVP_R_BAD_KEY_LENGTH 195 -# define EVP_R_BUFFER_TOO_SMALL 155 -# define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 -# define EVP_R_CIPHER_PARAMETER_ERROR 122 -# define EVP_R_COMMAND_NOT_SUPPORTED 147 -# define EVP_R_COPY_ERROR 173 -# define EVP_R_CTRL_NOT_IMPLEMENTED 132 -# define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 -# define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 -# define EVP_R_DECODE_ERROR 114 -# define EVP_R_DIFFERENT_KEY_TYPES 101 -# define EVP_R_DIFFERENT_PARAMETERS 153 -# define EVP_R_ERROR_LOADING_SECTION 165 -# define EVP_R_ERROR_SETTING_FIPS_MODE 166 -# define EVP_R_EXPECTING_AN_HMAC_KEY 174 -# define EVP_R_EXPECTING_AN_RSA_KEY 127 -# define EVP_R_EXPECTING_A_DH_KEY 128 -# define EVP_R_EXPECTING_A_DSA_KEY 129 -# define EVP_R_EXPECTING_A_EC_KEY 142 -# define EVP_R_EXPECTING_A_POLY1305_KEY 164 -# define EVP_R_EXPECTING_A_SIPHASH_KEY 175 -# define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 -# define EVP_R_GET_RAW_KEY_FAILED 182 -# define EVP_R_ILLEGAL_SCRYPT_PARAMETERS 171 -# define EVP_R_INITIALIZATION_ERROR 134 -# define EVP_R_INPUT_NOT_INITIALIZED 111 -# define EVP_R_INVALID_DIGEST 152 -# define EVP_R_INVALID_FIPS_MODE 168 -# define EVP_R_INVALID_IV_LENGTH 194 -# define EVP_R_INVALID_KEY 163 -# define EVP_R_INVALID_KEY_LENGTH 130 -# define EVP_R_INVALID_OPERATION 148 -# define EVP_R_KEYGEN_FAILURE 120 -# define EVP_R_KEY_SETUP_FAILED 180 -# define EVP_R_MEMORY_LIMIT_EXCEEDED 172 -# define EVP_R_MESSAGE_DIGEST_IS_NULL 159 -# define EVP_R_METHOD_NOT_SUPPORTED 144 -# define EVP_R_MISSING_PARAMETERS 103 -# define EVP_R_NOT_XOF_OR_INVALID_LENGTH 178 -# define EVP_R_NO_CIPHER_SET 131 -# define EVP_R_NO_DEFAULT_DIGEST 158 -# define EVP_R_NO_DIGEST_SET 139 -# define EVP_R_NO_KEY_SET 154 -# define EVP_R_NO_OPERATION_SET 149 -# define EVP_R_ONLY_ONESHOT_SUPPORTED 177 -# define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 -# define EVP_R_OPERATON_NOT_INITIALIZED 151 -# define EVP_R_PARTIALLY_OVERLAPPING 162 -# define EVP_R_PBKDF2_ERROR 181 -# define EVP_R_PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED 179 -# define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 -# define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 -# define EVP_R_PUBLIC_KEY_NOT_RSA 106 -# define EVP_R_UNKNOWN_CIPHER 160 -# define EVP_R_UNKNOWN_DIGEST 161 -# define EVP_R_UNKNOWN_OPTION 169 -# define EVP_R_UNKNOWN_PBE_ALGORITHM 121 -# define EVP_R_UNSUPPORTED_ALGORITHM 156 -# define EVP_R_UNSUPPORTED_CIPHER 107 -# define EVP_R_UNSUPPORTED_KEYLENGTH 123 -# define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 -# define EVP_R_UNSUPPORTED_KEY_SIZE 108 -# define EVP_R_UNSUPPORTED_NUMBER_OF_ROUNDS 135 -# define EVP_R_UNSUPPORTED_PRF 125 -# define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118 -# define EVP_R_UNSUPPORTED_SALT_TYPE 126 -# define EVP_R_WRAP_MODE_NOT_ALLOWED 170 -# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 -# define EVP_R_XTS_DUPLICATED_KEYS 183 - -#endif diff --git a/deps/openssl/include/openssl/hmac.h b/deps/openssl/include/openssl/hmac.h deleted file mode 100644 index 458efc1d..00000000 --- a/deps/openssl/include/openssl/hmac.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_HMAC_H -# define HEADER_HMAC_H - -# include - -# include - -# if OPENSSL_API_COMPAT < 0x10200000L -# define HMAC_MAX_MD_CBLOCK 128 /* Deprecated */ -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -size_t HMAC_size(const HMAC_CTX *e); -HMAC_CTX *HMAC_CTX_new(void); -int HMAC_CTX_reset(HMAC_CTX *ctx); -void HMAC_CTX_free(HMAC_CTX *ctx); - -DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, - const EVP_MD *md)) - -/*__owur*/ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, - const EVP_MD *md, ENGINE *impl); -/*__owur*/ int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, - size_t len); -/*__owur*/ int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, - unsigned int *len); -unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, - const unsigned char *d, size_t n, unsigned char *md, - unsigned int *md_len); -__owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); - -void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); -const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/openssl/include/openssl/idea.h b/deps/openssl/include/openssl/idea.h deleted file mode 100644 index 4334f3ea..00000000 --- a/deps/openssl/include/openssl/idea.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_IDEA_H -# define HEADER_IDEA_H - -# include - -# ifndef OPENSSL_NO_IDEA -# ifdef __cplusplus -extern "C" { -# endif - -typedef unsigned int IDEA_INT; - -# define IDEA_ENCRYPT 1 -# define IDEA_DECRYPT 0 - -# define IDEA_BLOCK 8 -# define IDEA_KEY_LENGTH 16 - -typedef struct idea_key_st { - IDEA_INT data[9][6]; -} IDEA_KEY_SCHEDULE; - -const char *IDEA_options(void); -void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out, - IDEA_KEY_SCHEDULE *ks); -void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); -void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); -void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out, - long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, - int enc); -void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, - int *num, int enc); -void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, - int *num); -void IDEA_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define idea_options IDEA_options -# define idea_ecb_encrypt IDEA_ecb_encrypt -# define idea_set_encrypt_key IDEA_set_encrypt_key -# define idea_set_decrypt_key IDEA_set_decrypt_key -# define idea_cbc_encrypt IDEA_cbc_encrypt -# define idea_cfb64_encrypt IDEA_cfb64_encrypt -# define idea_ofb64_encrypt IDEA_ofb64_encrypt -# define idea_encrypt IDEA_encrypt -# endif - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/kdf.h b/deps/openssl/include/openssl/kdf.h deleted file mode 100644 index 5abd4c37..00000000 --- a/deps/openssl/include/openssl/kdf.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_KDF_H -# define HEADER_KDF_H - -# include -#ifdef __cplusplus -extern "C" { -#endif - -# define EVP_PKEY_CTRL_TLS_MD (EVP_PKEY_ALG_CTRL) -# define EVP_PKEY_CTRL_TLS_SECRET (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_TLS_SEED (EVP_PKEY_ALG_CTRL + 2) -# define EVP_PKEY_CTRL_HKDF_MD (EVP_PKEY_ALG_CTRL + 3) -# define EVP_PKEY_CTRL_HKDF_SALT (EVP_PKEY_ALG_CTRL + 4) -# define EVP_PKEY_CTRL_HKDF_KEY (EVP_PKEY_ALG_CTRL + 5) -# define EVP_PKEY_CTRL_HKDF_INFO (EVP_PKEY_ALG_CTRL + 6) -# define EVP_PKEY_CTRL_HKDF_MODE (EVP_PKEY_ALG_CTRL + 7) -# define EVP_PKEY_CTRL_PASS (EVP_PKEY_ALG_CTRL + 8) -# define EVP_PKEY_CTRL_SCRYPT_SALT (EVP_PKEY_ALG_CTRL + 9) -# define EVP_PKEY_CTRL_SCRYPT_N (EVP_PKEY_ALG_CTRL + 10) -# define EVP_PKEY_CTRL_SCRYPT_R (EVP_PKEY_ALG_CTRL + 11) -# define EVP_PKEY_CTRL_SCRYPT_P (EVP_PKEY_ALG_CTRL + 12) -# define EVP_PKEY_CTRL_SCRYPT_MAXMEM_BYTES (EVP_PKEY_ALG_CTRL + 13) - -# define EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND 0 -# define EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY 1 -# define EVP_PKEY_HKDEF_MODE_EXPAND_ONLY 2 - -# define EVP_PKEY_CTX_set_tls1_prf_md(pctx, md) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_TLS_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTX_set1_tls1_prf_secret(pctx, sec, seclen) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_TLS_SECRET, seclen, (void *)(sec)) - -# define EVP_PKEY_CTX_add1_tls1_prf_seed(pctx, seed, seedlen) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_TLS_SEED, seedlen, (void *)(seed)) - -# define EVP_PKEY_CTX_set_hkdf_md(pctx, md) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_HKDF_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTX_set1_hkdf_salt(pctx, salt, saltlen) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_HKDF_SALT, saltlen, (void *)(salt)) - -# define EVP_PKEY_CTX_set1_hkdf_key(pctx, key, keylen) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_HKDF_KEY, keylen, (void *)(key)) - -# define EVP_PKEY_CTX_add1_hkdf_info(pctx, info, infolen) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_HKDF_INFO, infolen, (void *)(info)) - -# define EVP_PKEY_CTX_hkdf_mode(pctx, mode) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_HKDF_MODE, mode, NULL) - -# define EVP_PKEY_CTX_set1_pbe_pass(pctx, pass, passlen) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_PASS, passlen, (void *)(pass)) - -# define EVP_PKEY_CTX_set1_scrypt_salt(pctx, salt, saltlen) \ - EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_SCRYPT_SALT, saltlen, (void *)(salt)) - -# define EVP_PKEY_CTX_set_scrypt_N(pctx, n) \ - EVP_PKEY_CTX_ctrl_uint64(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_SCRYPT_N, n) - -# define EVP_PKEY_CTX_set_scrypt_r(pctx, r) \ - EVP_PKEY_CTX_ctrl_uint64(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_SCRYPT_R, r) - -# define EVP_PKEY_CTX_set_scrypt_p(pctx, p) \ - EVP_PKEY_CTX_ctrl_uint64(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_SCRYPT_P, p) - -# define EVP_PKEY_CTX_set_scrypt_maxmem_bytes(pctx, maxmem_bytes) \ - EVP_PKEY_CTX_ctrl_uint64(pctx, -1, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_SCRYPT_MAXMEM_BYTES, maxmem_bytes) - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/kdferr.h b/deps/openssl/include/openssl/kdferr.h deleted file mode 100644 index 3f51bd02..00000000 --- a/deps/openssl/include/openssl/kdferr.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_KDFERR_H -# define HEADER_KDFERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_KDF_strings(void); - -/* - * KDF function codes. - */ -# define KDF_F_PKEY_HKDF_CTRL_STR 103 -# define KDF_F_PKEY_HKDF_DERIVE 102 -# define KDF_F_PKEY_HKDF_INIT 108 -# define KDF_F_PKEY_SCRYPT_CTRL_STR 104 -# define KDF_F_PKEY_SCRYPT_CTRL_UINT64 105 -# define KDF_F_PKEY_SCRYPT_DERIVE 109 -# define KDF_F_PKEY_SCRYPT_INIT 106 -# define KDF_F_PKEY_SCRYPT_SET_MEMBUF 107 -# define KDF_F_PKEY_TLS1_PRF_CTRL_STR 100 -# define KDF_F_PKEY_TLS1_PRF_DERIVE 101 -# define KDF_F_PKEY_TLS1_PRF_INIT 110 -# define KDF_F_TLS1_PRF_ALG 111 - -/* - * KDF reason codes. - */ -# define KDF_R_INVALID_DIGEST 100 -# define KDF_R_MISSING_ITERATION_COUNT 109 -# define KDF_R_MISSING_KEY 104 -# define KDF_R_MISSING_MESSAGE_DIGEST 105 -# define KDF_R_MISSING_PARAMETER 101 -# define KDF_R_MISSING_PASS 110 -# define KDF_R_MISSING_SALT 111 -# define KDF_R_MISSING_SECRET 107 -# define KDF_R_MISSING_SEED 106 -# define KDF_R_UNKNOWN_PARAMETER_TYPE 103 -# define KDF_R_VALUE_ERROR 108 -# define KDF_R_VALUE_MISSING 102 - -#endif diff --git a/deps/openssl/include/openssl/lhash.h b/deps/openssl/include/openssl/lhash.h deleted file mode 100644 index 2e42d727..00000000 --- a/deps/openssl/include/openssl/lhash.h +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -/* - * Header for dynamic hash table routines Author - Eric Young - */ - -#ifndef HEADER_LHASH_H -# define HEADER_LHASH_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct lhash_node_st OPENSSL_LH_NODE; -typedef int (*OPENSSL_LH_COMPFUNC) (const void *, const void *); -typedef unsigned long (*OPENSSL_LH_HASHFUNC) (const void *); -typedef void (*OPENSSL_LH_DOALL_FUNC) (void *); -typedef void (*OPENSSL_LH_DOALL_FUNCARG) (void *, void *); -typedef struct lhash_st OPENSSL_LHASH; - -/* - * Macros for declaring and implementing type-safe wrappers for LHASH - * callbacks. This way, callbacks can be provided to LHASH structures without - * function pointer casting and the macro-defined callbacks provide - * per-variable casting before deferring to the underlying type-specific - * callbacks. NB: It is possible to place a "static" in front of both the - * DECLARE and IMPLEMENT macros if the functions are strictly internal. - */ - -/* First: "hash" functions */ -# define DECLARE_LHASH_HASH_FN(name, o_type) \ - unsigned long name##_LHASH_HASH(const void *); -# define IMPLEMENT_LHASH_HASH_FN(name, o_type) \ - unsigned long name##_LHASH_HASH(const void *arg) { \ - const o_type *a = arg; \ - return name##_hash(a); } -# define LHASH_HASH_FN(name) name##_LHASH_HASH - -/* Second: "compare" functions */ -# define DECLARE_LHASH_COMP_FN(name, o_type) \ - int name##_LHASH_COMP(const void *, const void *); -# define IMPLEMENT_LHASH_COMP_FN(name, o_type) \ - int name##_LHASH_COMP(const void *arg1, const void *arg2) { \ - const o_type *a = arg1; \ - const o_type *b = arg2; \ - return name##_cmp(a,b); } -# define LHASH_COMP_FN(name) name##_LHASH_COMP - -/* Fourth: "doall_arg" functions */ -# define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ - void name##_LHASH_DOALL_ARG(void *, void *); -# define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ - void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \ - o_type *a = arg1; \ - a_type *b = arg2; \ - name##_doall_arg(a, b); } -# define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG - - -# define LH_LOAD_MULT 256 - -int OPENSSL_LH_error(OPENSSL_LHASH *lh); -OPENSSL_LHASH *OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC c); -void OPENSSL_LH_free(OPENSSL_LHASH *lh); -void *OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data); -void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data); -void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data); -void OPENSSL_LH_doall(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNC func); -void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg); -unsigned long OPENSSL_LH_strhash(const char *c); -unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh); -unsigned long OPENSSL_LH_get_down_load(const OPENSSL_LHASH *lh); -void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh, unsigned long down_load); - -# ifndef OPENSSL_NO_STDIO -void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp); -void OPENSSL_LH_node_stats(const OPENSSL_LHASH *lh, FILE *fp); -void OPENSSL_LH_node_usage_stats(const OPENSSL_LHASH *lh, FILE *fp); -# endif -void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out); -void OPENSSL_LH_node_stats_bio(const OPENSSL_LHASH *lh, BIO *out); -void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define _LHASH OPENSSL_LHASH -# define LHASH_NODE OPENSSL_LH_NODE -# define lh_error OPENSSL_LH_error -# define lh_new OPENSSL_LH_new -# define lh_free OPENSSL_LH_free -# define lh_insert OPENSSL_LH_insert -# define lh_delete OPENSSL_LH_delete -# define lh_retrieve OPENSSL_LH_retrieve -# define lh_doall OPENSSL_LH_doall -# define lh_doall_arg OPENSSL_LH_doall_arg -# define lh_strhash OPENSSL_LH_strhash -# define lh_num_items OPENSSL_LH_num_items -# ifndef OPENSSL_NO_STDIO -# define lh_stats OPENSSL_LH_stats -# define lh_node_stats OPENSSL_LH_node_stats -# define lh_node_usage_stats OPENSSL_LH_node_usage_stats -# endif -# define lh_stats_bio OPENSSL_LH_stats_bio -# define lh_node_stats_bio OPENSSL_LH_node_stats_bio -# define lh_node_usage_stats_bio OPENSSL_LH_node_usage_stats_bio -# endif - -/* Type checking... */ - -# define LHASH_OF(type) struct lhash_st_##type - -# define DEFINE_LHASH_OF(type) \ - LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \ - static ossl_unused ossl_inline LHASH_OF(type) *lh_##type##_new(unsigned long (*hfn)(const type *), \ - int (*cfn)(const type *, const type *)) \ - { \ - return (LHASH_OF(type) *) \ - OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn); \ - } \ - static ossl_unused ossl_inline void lh_##type##_free(LHASH_OF(type) *lh) \ - { \ - OPENSSL_LH_free((OPENSSL_LHASH *)lh); \ - } \ - static ossl_unused ossl_inline type *lh_##type##_insert(LHASH_OF(type) *lh, type *d) \ - { \ - return (type *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d); \ - } \ - static ossl_unused ossl_inline type *lh_##type##_delete(LHASH_OF(type) *lh, const type *d) \ - { \ - return (type *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d); \ - } \ - static ossl_unused ossl_inline type *lh_##type##_retrieve(LHASH_OF(type) *lh, const type *d) \ - { \ - return (type *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d); \ - } \ - static ossl_unused ossl_inline int lh_##type##_error(LHASH_OF(type) *lh) \ - { \ - return OPENSSL_LH_error((OPENSSL_LHASH *)lh); \ - } \ - static ossl_unused ossl_inline unsigned long lh_##type##_num_items(LHASH_OF(type) *lh) \ - { \ - return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh); \ - } \ - static ossl_unused ossl_inline void lh_##type##_node_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ - { \ - OPENSSL_LH_node_stats_bio((const OPENSSL_LHASH *)lh, out); \ - } \ - static ossl_unused ossl_inline void lh_##type##_node_usage_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ - { \ - OPENSSL_LH_node_usage_stats_bio((const OPENSSL_LHASH *)lh, out); \ - } \ - static ossl_unused ossl_inline void lh_##type##_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ - { \ - OPENSSL_LH_stats_bio((const OPENSSL_LHASH *)lh, out); \ - } \ - static ossl_unused ossl_inline unsigned long lh_##type##_get_down_load(LHASH_OF(type) *lh) \ - { \ - return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh); \ - } \ - static ossl_unused ossl_inline void lh_##type##_set_down_load(LHASH_OF(type) *lh, unsigned long dl) \ - { \ - OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl); \ - } \ - static ossl_unused ossl_inline void lh_##type##_doall(LHASH_OF(type) *lh, \ - void (*doall)(type *)) \ - { \ - OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNC)doall); \ - } \ - LHASH_OF(type) - -#define IMPLEMENT_LHASH_DOALL_ARG_CONST(type, argtype) \ - int_implement_lhash_doall(type, argtype, const type) - -#define IMPLEMENT_LHASH_DOALL_ARG(type, argtype) \ - int_implement_lhash_doall(type, argtype, type) - -#define int_implement_lhash_doall(type, argtype, cbargtype) \ - static ossl_unused ossl_inline void \ - lh_##type##_doall_##argtype(LHASH_OF(type) *lh, \ - void (*fn)(cbargtype *, argtype *), \ - argtype *arg) \ - { \ - OPENSSL_LH_doall_arg((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNCARG)fn, (void *)arg); \ - } \ - LHASH_OF(type) - -DEFINE_LHASH_OF(OPENSSL_STRING); -# ifdef _MSC_VER -/* - * push and pop this warning: - * warning C4090: 'function': different 'const' qualifiers - */ -# pragma warning (push) -# pragma warning (disable: 4090) -# endif - -DEFINE_LHASH_OF(OPENSSL_CSTRING); - -# ifdef _MSC_VER -# pragma warning (pop) -# endif - -/* - * If called without higher optimization (min. -xO3) the Oracle Developer - * Studio compiler generates code for the defined (static inline) functions - * above. - * This would later lead to the linker complaining about missing symbols when - * this header file is included but the resulting object is not linked against - * the Crypto library (openssl#6912). - */ -# ifdef __SUNPRO_C -# pragma weak OPENSSL_LH_new -# pragma weak OPENSSL_LH_free -# pragma weak OPENSSL_LH_insert -# pragma weak OPENSSL_LH_delete -# pragma weak OPENSSL_LH_retrieve -# pragma weak OPENSSL_LH_error -# pragma weak OPENSSL_LH_num_items -# pragma weak OPENSSL_LH_node_stats_bio -# pragma weak OPENSSL_LH_node_usage_stats_bio -# pragma weak OPENSSL_LH_stats_bio -# pragma weak OPENSSL_LH_get_down_load -# pragma weak OPENSSL_LH_set_down_load -# pragma weak OPENSSL_LH_doall -# pragma weak OPENSSL_LH_doall_arg -# endif /* __SUNPRO_C */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/openssl/include/openssl/md2.h b/deps/openssl/include/openssl/md2.h deleted file mode 100644 index 7faf8e3d..00000000 --- a/deps/openssl/include/openssl/md2.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_MD2_H -# define HEADER_MD2_H - -# include - -# ifndef OPENSSL_NO_MD2 -# include -# ifdef __cplusplus -extern "C" { -# endif - -typedef unsigned char MD2_INT; - -# define MD2_DIGEST_LENGTH 16 -# define MD2_BLOCK 16 - -typedef struct MD2state_st { - unsigned int num; - unsigned char data[MD2_BLOCK]; - MD2_INT cksm[MD2_BLOCK]; - MD2_INT state[MD2_BLOCK]; -} MD2_CTX; - -const char *MD2_options(void); -int MD2_Init(MD2_CTX *c); -int MD2_Update(MD2_CTX *c, const unsigned char *data, size_t len); -int MD2_Final(unsigned char *md, MD2_CTX *c); -unsigned char *MD2(const unsigned char *d, size_t n, unsigned char *md); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/md4.h b/deps/openssl/include/openssl/md4.h deleted file mode 100644 index 940e29db..00000000 --- a/deps/openssl/include/openssl/md4.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_MD4_H -# define HEADER_MD4_H - -# include - -# ifndef OPENSSL_NO_MD4 -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - -/*- - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD4_LONG has to be at least 32 bits wide. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ -# define MD4_LONG unsigned int - -# define MD4_CBLOCK 64 -# define MD4_LBLOCK (MD4_CBLOCK/4) -# define MD4_DIGEST_LENGTH 16 - -typedef struct MD4state_st { - MD4_LONG A, B, C, D; - MD4_LONG Nl, Nh; - MD4_LONG data[MD4_LBLOCK]; - unsigned int num; -} MD4_CTX; - -int MD4_Init(MD4_CTX *c); -int MD4_Update(MD4_CTX *c, const void *data, size_t len); -int MD4_Final(unsigned char *md, MD4_CTX *c); -unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); -void MD4_Transform(MD4_CTX *c, const unsigned char *b); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/md5.h b/deps/openssl/include/openssl/md5.h deleted file mode 100644 index 2deb7721..00000000 --- a/deps/openssl/include/openssl/md5.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_MD5_H -# define HEADER_MD5_H - -# include - -# ifndef OPENSSL_NO_MD5 -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - -/* - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD5_LONG has to be at least 32 bits wide. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ -# define MD5_LONG unsigned int - -# define MD5_CBLOCK 64 -# define MD5_LBLOCK (MD5_CBLOCK/4) -# define MD5_DIGEST_LENGTH 16 - -typedef struct MD5state_st { - MD5_LONG A, B, C, D; - MD5_LONG Nl, Nh; - MD5_LONG data[MD5_LBLOCK]; - unsigned int num; -} MD5_CTX; - -int MD5_Init(MD5_CTX *c); -int MD5_Update(MD5_CTX *c, const void *data, size_t len); -int MD5_Final(unsigned char *md, MD5_CTX *c); -unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); -void MD5_Transform(MD5_CTX *c, const unsigned char *b); -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/mdc2.h b/deps/openssl/include/openssl/mdc2.h deleted file mode 100644 index aabd2bfa..00000000 --- a/deps/openssl/include/openssl/mdc2.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_MDC2_H -# define HEADER_MDC2_H - -# include - -#ifndef OPENSSL_NO_MDC2 -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - -# define MDC2_BLOCK 8 -# define MDC2_DIGEST_LENGTH 16 - -typedef struct mdc2_ctx_st { - unsigned int num; - unsigned char data[MDC2_BLOCK]; - DES_cblock h, hh; - int pad_type; /* either 1 or 2, default 1 */ -} MDC2_CTX; - -int MDC2_Init(MDC2_CTX *c); -int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); -int MDC2_Final(unsigned char *md, MDC2_CTX *c); -unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/modes.h b/deps/openssl/include/openssl/modes.h deleted file mode 100644 index d544f98d..00000000 --- a/deps/openssl/include/openssl/modes.h +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_MODES_H -# define HEADER_MODES_H - -# include - -# ifdef __cplusplus -extern "C" { -# endif -typedef void (*block128_f) (const unsigned char in[16], - unsigned char out[16], const void *key); - -typedef void (*cbc128_f) (const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], int enc); - -typedef void (*ctr128_f) (const unsigned char *in, unsigned char *out, - size_t blocks, const void *key, - const unsigned char ivec[16]); - -typedef void (*ccm128_f) (const unsigned char *in, unsigned char *out, - size_t blocks, const void *key, - const unsigned char ivec[16], - unsigned char cmac[16]); - -void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], block128_f block); -void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], block128_f block); - -void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], - unsigned char ecount_buf[16], unsigned int *num, - block128_f block); - -void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], - unsigned char ecount_buf[16], - unsigned int *num, ctr128_f ctr); - -void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], int *num, - block128_f block); - -void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], int *num, - int enc, block128_f block); -void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const void *key, - unsigned char ivec[16], int *num, - int enc, block128_f block); -void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, - size_t bits, const void *key, - unsigned char ivec[16], int *num, - int enc, block128_f block); - -size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, - unsigned char *out, size_t len, - const void *key, unsigned char ivec[16], - block128_f block); -size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); -size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, - unsigned char *out, size_t len, - const void *key, unsigned char ivec[16], - block128_f block); -size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); - -size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, - unsigned char *out, size_t len, - const void *key, - unsigned char ivec[16], - block128_f block); -size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); -size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, - unsigned char *out, size_t len, - const void *key, - unsigned char ivec[16], - block128_f block); -size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); - -typedef struct gcm128_context GCM128_CONTEXT; - -GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block); -void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block); -void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv, - size_t len); -int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad, - size_t len); -int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len); -int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len); -int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len, ctr128_f stream); -int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len, ctr128_f stream); -int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char *tag, - size_t len); -void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len); -void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx); - -typedef struct ccm128_context CCM128_CONTEXT; - -void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, - unsigned int M, unsigned int L, void *key, - block128_f block); -int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, const unsigned char *nonce, - size_t nlen, size_t mlen); -void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, const unsigned char *aad, - size_t alen); -int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, - unsigned char *out, size_t len); -int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, const unsigned char *inp, - unsigned char *out, size_t len); -int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, - unsigned char *out, size_t len, - ccm128_f stream); -int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, const unsigned char *inp, - unsigned char *out, size_t len, - ccm128_f stream); -size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len); - -typedef struct xts128_context XTS128_CONTEXT; - -int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, - const unsigned char iv[16], - const unsigned char *inp, unsigned char *out, - size_t len, int enc); - -size_t CRYPTO_128_wrap(void *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, size_t inlen, - block128_f block); - -size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, size_t inlen, - block128_f block); -size_t CRYPTO_128_wrap_pad(void *key, const unsigned char *icv, - unsigned char *out, const unsigned char *in, - size_t inlen, block128_f block); -size_t CRYPTO_128_unwrap_pad(void *key, const unsigned char *icv, - unsigned char *out, const unsigned char *in, - size_t inlen, block128_f block); - -# ifndef OPENSSL_NO_OCB -typedef struct ocb128_context OCB128_CONTEXT; - -typedef void (*ocb128_f) (const unsigned char *in, unsigned char *out, - size_t blocks, const void *key, - size_t start_block_num, - unsigned char offset_i[16], - const unsigned char L_[][16], - unsigned char checksum[16]); - -OCB128_CONTEXT *CRYPTO_ocb128_new(void *keyenc, void *keydec, - block128_f encrypt, block128_f decrypt, - ocb128_f stream); -int CRYPTO_ocb128_init(OCB128_CONTEXT *ctx, void *keyenc, void *keydec, - block128_f encrypt, block128_f decrypt, - ocb128_f stream); -int CRYPTO_ocb128_copy_ctx(OCB128_CONTEXT *dest, OCB128_CONTEXT *src, - void *keyenc, void *keydec); -int CRYPTO_ocb128_setiv(OCB128_CONTEXT *ctx, const unsigned char *iv, - size_t len, size_t taglen); -int CRYPTO_ocb128_aad(OCB128_CONTEXT *ctx, const unsigned char *aad, - size_t len); -int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx, const unsigned char *in, - unsigned char *out, size_t len); -int CRYPTO_ocb128_decrypt(OCB128_CONTEXT *ctx, const unsigned char *in, - unsigned char *out, size_t len); -int CRYPTO_ocb128_finish(OCB128_CONTEXT *ctx, const unsigned char *tag, - size_t len); -int CRYPTO_ocb128_tag(OCB128_CONTEXT *ctx, unsigned char *tag, size_t len); -void CRYPTO_ocb128_cleanup(OCB128_CONTEXT *ctx); -# endif /* OPENSSL_NO_OCB */ - -# ifdef __cplusplus -} -# endif - -#endif diff --git a/deps/openssl/include/openssl/obj_mac.h b/deps/openssl/include/openssl/obj_mac.h deleted file mode 100644 index 483fc050..00000000 --- a/deps/openssl/include/openssl/obj_mac.h +++ /dev/null @@ -1,5198 +0,0 @@ -/* - * WARNING: do not edit! - * Generated by crypto/objects/objects.pl - * - * Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#define SN_undef "UNDEF" -#define LN_undef "undefined" -#define NID_undef 0 -#define OBJ_undef 0L - -#define SN_itu_t "ITU-T" -#define LN_itu_t "itu-t" -#define NID_itu_t 645 -#define OBJ_itu_t 0L - -#define NID_ccitt 404 -#define OBJ_ccitt OBJ_itu_t - -#define SN_iso "ISO" -#define LN_iso "iso" -#define NID_iso 181 -#define OBJ_iso 1L - -#define SN_joint_iso_itu_t "JOINT-ISO-ITU-T" -#define LN_joint_iso_itu_t "joint-iso-itu-t" -#define NID_joint_iso_itu_t 646 -#define OBJ_joint_iso_itu_t 2L - -#define NID_joint_iso_ccitt 393 -#define OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t - -#define SN_member_body "member-body" -#define LN_member_body "ISO Member Body" -#define NID_member_body 182 -#define OBJ_member_body OBJ_iso,2L - -#define SN_identified_organization "identified-organization" -#define NID_identified_organization 676 -#define OBJ_identified_organization OBJ_iso,3L - -#define SN_hmac_md5 "HMAC-MD5" -#define LN_hmac_md5 "hmac-md5" -#define NID_hmac_md5 780 -#define OBJ_hmac_md5 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L - -#define SN_hmac_sha1 "HMAC-SHA1" -#define LN_hmac_sha1 "hmac-sha1" -#define NID_hmac_sha1 781 -#define OBJ_hmac_sha1 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L - -#define SN_x509ExtAdmission "x509ExtAdmission" -#define LN_x509ExtAdmission "Professional Information or basis for Admission" -#define NID_x509ExtAdmission 1093 -#define OBJ_x509ExtAdmission OBJ_identified_organization,36L,8L,3L,3L - -#define SN_certicom_arc "certicom-arc" -#define NID_certicom_arc 677 -#define OBJ_certicom_arc OBJ_identified_organization,132L - -#define SN_ieee "ieee" -#define NID_ieee 1170 -#define OBJ_ieee OBJ_identified_organization,111L - -#define SN_ieee_siswg "ieee-siswg" -#define LN_ieee_siswg "IEEE Security in Storage Working Group" -#define NID_ieee_siswg 1171 -#define OBJ_ieee_siswg OBJ_ieee,2L,1619L - -#define SN_international_organizations "international-organizations" -#define LN_international_organizations "International Organizations" -#define NID_international_organizations 647 -#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L - -#define SN_wap "wap" -#define NID_wap 678 -#define OBJ_wap OBJ_international_organizations,43L - -#define SN_wap_wsg "wap-wsg" -#define NID_wap_wsg 679 -#define OBJ_wap_wsg OBJ_wap,1L - -#define SN_selected_attribute_types "selected-attribute-types" -#define LN_selected_attribute_types "Selected Attribute Types" -#define NID_selected_attribute_types 394 -#define OBJ_selected_attribute_types OBJ_joint_iso_itu_t,5L,1L,5L - -#define SN_clearance "clearance" -#define NID_clearance 395 -#define OBJ_clearance OBJ_selected_attribute_types,55L - -#define SN_ISO_US "ISO-US" -#define LN_ISO_US "ISO US Member Body" -#define NID_ISO_US 183 -#define OBJ_ISO_US OBJ_member_body,840L - -#define SN_X9_57 "X9-57" -#define LN_X9_57 "X9.57" -#define NID_X9_57 184 -#define OBJ_X9_57 OBJ_ISO_US,10040L - -#define SN_X9cm "X9cm" -#define LN_X9cm "X9.57 CM ?" -#define NID_X9cm 185 -#define OBJ_X9cm OBJ_X9_57,4L - -#define SN_ISO_CN "ISO-CN" -#define LN_ISO_CN "ISO CN Member Body" -#define NID_ISO_CN 1140 -#define OBJ_ISO_CN OBJ_member_body,156L - -#define SN_oscca "oscca" -#define NID_oscca 1141 -#define OBJ_oscca OBJ_ISO_CN,10197L - -#define SN_sm_scheme "sm-scheme" -#define NID_sm_scheme 1142 -#define OBJ_sm_scheme OBJ_oscca,1L - -#define SN_dsa "DSA" -#define LN_dsa "dsaEncryption" -#define NID_dsa 116 -#define OBJ_dsa OBJ_X9cm,1L - -#define SN_dsaWithSHA1 "DSA-SHA1" -#define LN_dsaWithSHA1 "dsaWithSHA1" -#define NID_dsaWithSHA1 113 -#define OBJ_dsaWithSHA1 OBJ_X9cm,3L - -#define SN_ansi_X9_62 "ansi-X9-62" -#define LN_ansi_X9_62 "ANSI X9.62" -#define NID_ansi_X9_62 405 -#define OBJ_ansi_X9_62 OBJ_ISO_US,10045L - -#define OBJ_X9_62_id_fieldType OBJ_ansi_X9_62,1L - -#define SN_X9_62_prime_field "prime-field" -#define NID_X9_62_prime_field 406 -#define OBJ_X9_62_prime_field OBJ_X9_62_id_fieldType,1L - -#define SN_X9_62_characteristic_two_field "characteristic-two-field" -#define NID_X9_62_characteristic_two_field 407 -#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L - -#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis" -#define NID_X9_62_id_characteristic_two_basis 680 -#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L - -#define SN_X9_62_onBasis "onBasis" -#define NID_X9_62_onBasis 681 -#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L - -#define SN_X9_62_tpBasis "tpBasis" -#define NID_X9_62_tpBasis 682 -#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L - -#define SN_X9_62_ppBasis "ppBasis" -#define NID_X9_62_ppBasis 683 -#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L - -#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L - -#define SN_X9_62_id_ecPublicKey "id-ecPublicKey" -#define NID_X9_62_id_ecPublicKey 408 -#define OBJ_X9_62_id_ecPublicKey OBJ_X9_62_id_publicKeyType,1L - -#define OBJ_X9_62_ellipticCurve OBJ_ansi_X9_62,3L - -#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L - -#define SN_X9_62_c2pnb163v1 "c2pnb163v1" -#define NID_X9_62_c2pnb163v1 684 -#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L - -#define SN_X9_62_c2pnb163v2 "c2pnb163v2" -#define NID_X9_62_c2pnb163v2 685 -#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L - -#define SN_X9_62_c2pnb163v3 "c2pnb163v3" -#define NID_X9_62_c2pnb163v3 686 -#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L - -#define SN_X9_62_c2pnb176v1 "c2pnb176v1" -#define NID_X9_62_c2pnb176v1 687 -#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L - -#define SN_X9_62_c2tnb191v1 "c2tnb191v1" -#define NID_X9_62_c2tnb191v1 688 -#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L - -#define SN_X9_62_c2tnb191v2 "c2tnb191v2" -#define NID_X9_62_c2tnb191v2 689 -#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L - -#define SN_X9_62_c2tnb191v3 "c2tnb191v3" -#define NID_X9_62_c2tnb191v3 690 -#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L - -#define SN_X9_62_c2onb191v4 "c2onb191v4" -#define NID_X9_62_c2onb191v4 691 -#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L - -#define SN_X9_62_c2onb191v5 "c2onb191v5" -#define NID_X9_62_c2onb191v5 692 -#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L - -#define SN_X9_62_c2pnb208w1 "c2pnb208w1" -#define NID_X9_62_c2pnb208w1 693 -#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L - -#define SN_X9_62_c2tnb239v1 "c2tnb239v1" -#define NID_X9_62_c2tnb239v1 694 -#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L - -#define SN_X9_62_c2tnb239v2 "c2tnb239v2" -#define NID_X9_62_c2tnb239v2 695 -#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L - -#define SN_X9_62_c2tnb239v3 "c2tnb239v3" -#define NID_X9_62_c2tnb239v3 696 -#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L - -#define SN_X9_62_c2onb239v4 "c2onb239v4" -#define NID_X9_62_c2onb239v4 697 -#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L - -#define SN_X9_62_c2onb239v5 "c2onb239v5" -#define NID_X9_62_c2onb239v5 698 -#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L - -#define SN_X9_62_c2pnb272w1 "c2pnb272w1" -#define NID_X9_62_c2pnb272w1 699 -#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L - -#define SN_X9_62_c2pnb304w1 "c2pnb304w1" -#define NID_X9_62_c2pnb304w1 700 -#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L - -#define SN_X9_62_c2tnb359v1 "c2tnb359v1" -#define NID_X9_62_c2tnb359v1 701 -#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L - -#define SN_X9_62_c2pnb368w1 "c2pnb368w1" -#define NID_X9_62_c2pnb368w1 702 -#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L - -#define SN_X9_62_c2tnb431r1 "c2tnb431r1" -#define NID_X9_62_c2tnb431r1 703 -#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L - -#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L - -#define SN_X9_62_prime192v1 "prime192v1" -#define NID_X9_62_prime192v1 409 -#define OBJ_X9_62_prime192v1 OBJ_X9_62_primeCurve,1L - -#define SN_X9_62_prime192v2 "prime192v2" -#define NID_X9_62_prime192v2 410 -#define OBJ_X9_62_prime192v2 OBJ_X9_62_primeCurve,2L - -#define SN_X9_62_prime192v3 "prime192v3" -#define NID_X9_62_prime192v3 411 -#define OBJ_X9_62_prime192v3 OBJ_X9_62_primeCurve,3L - -#define SN_X9_62_prime239v1 "prime239v1" -#define NID_X9_62_prime239v1 412 -#define OBJ_X9_62_prime239v1 OBJ_X9_62_primeCurve,4L - -#define SN_X9_62_prime239v2 "prime239v2" -#define NID_X9_62_prime239v2 413 -#define OBJ_X9_62_prime239v2 OBJ_X9_62_primeCurve,5L - -#define SN_X9_62_prime239v3 "prime239v3" -#define NID_X9_62_prime239v3 414 -#define OBJ_X9_62_prime239v3 OBJ_X9_62_primeCurve,6L - -#define SN_X9_62_prime256v1 "prime256v1" -#define NID_X9_62_prime256v1 415 -#define OBJ_X9_62_prime256v1 OBJ_X9_62_primeCurve,7L - -#define OBJ_X9_62_id_ecSigType OBJ_ansi_X9_62,4L - -#define SN_ecdsa_with_SHA1 "ecdsa-with-SHA1" -#define NID_ecdsa_with_SHA1 416 -#define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L - -#define SN_ecdsa_with_Recommended "ecdsa-with-Recommended" -#define NID_ecdsa_with_Recommended 791 -#define OBJ_ecdsa_with_Recommended OBJ_X9_62_id_ecSigType,2L - -#define SN_ecdsa_with_Specified "ecdsa-with-Specified" -#define NID_ecdsa_with_Specified 792 -#define OBJ_ecdsa_with_Specified OBJ_X9_62_id_ecSigType,3L - -#define SN_ecdsa_with_SHA224 "ecdsa-with-SHA224" -#define NID_ecdsa_with_SHA224 793 -#define OBJ_ecdsa_with_SHA224 OBJ_ecdsa_with_Specified,1L - -#define SN_ecdsa_with_SHA256 "ecdsa-with-SHA256" -#define NID_ecdsa_with_SHA256 794 -#define OBJ_ecdsa_with_SHA256 OBJ_ecdsa_with_Specified,2L - -#define SN_ecdsa_with_SHA384 "ecdsa-with-SHA384" -#define NID_ecdsa_with_SHA384 795 -#define OBJ_ecdsa_with_SHA384 OBJ_ecdsa_with_Specified,3L - -#define SN_ecdsa_with_SHA512 "ecdsa-with-SHA512" -#define NID_ecdsa_with_SHA512 796 -#define OBJ_ecdsa_with_SHA512 OBJ_ecdsa_with_Specified,4L - -#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L - -#define SN_secp112r1 "secp112r1" -#define NID_secp112r1 704 -#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L - -#define SN_secp112r2 "secp112r2" -#define NID_secp112r2 705 -#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L - -#define SN_secp128r1 "secp128r1" -#define NID_secp128r1 706 -#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L - -#define SN_secp128r2 "secp128r2" -#define NID_secp128r2 707 -#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L - -#define SN_secp160k1 "secp160k1" -#define NID_secp160k1 708 -#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L - -#define SN_secp160r1 "secp160r1" -#define NID_secp160r1 709 -#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L - -#define SN_secp160r2 "secp160r2" -#define NID_secp160r2 710 -#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L - -#define SN_secp192k1 "secp192k1" -#define NID_secp192k1 711 -#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L - -#define SN_secp224k1 "secp224k1" -#define NID_secp224k1 712 -#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L - -#define SN_secp224r1 "secp224r1" -#define NID_secp224r1 713 -#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L - -#define SN_secp256k1 "secp256k1" -#define NID_secp256k1 714 -#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L - -#define SN_secp384r1 "secp384r1" -#define NID_secp384r1 715 -#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L - -#define SN_secp521r1 "secp521r1" -#define NID_secp521r1 716 -#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L - -#define SN_sect113r1 "sect113r1" -#define NID_sect113r1 717 -#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L - -#define SN_sect113r2 "sect113r2" -#define NID_sect113r2 718 -#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L - -#define SN_sect131r1 "sect131r1" -#define NID_sect131r1 719 -#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L - -#define SN_sect131r2 "sect131r2" -#define NID_sect131r2 720 -#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L - -#define SN_sect163k1 "sect163k1" -#define NID_sect163k1 721 -#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L - -#define SN_sect163r1 "sect163r1" -#define NID_sect163r1 722 -#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L - -#define SN_sect163r2 "sect163r2" -#define NID_sect163r2 723 -#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L - -#define SN_sect193r1 "sect193r1" -#define NID_sect193r1 724 -#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L - -#define SN_sect193r2 "sect193r2" -#define NID_sect193r2 725 -#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L - -#define SN_sect233k1 "sect233k1" -#define NID_sect233k1 726 -#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L - -#define SN_sect233r1 "sect233r1" -#define NID_sect233r1 727 -#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L - -#define SN_sect239k1 "sect239k1" -#define NID_sect239k1 728 -#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L - -#define SN_sect283k1 "sect283k1" -#define NID_sect283k1 729 -#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L - -#define SN_sect283r1 "sect283r1" -#define NID_sect283r1 730 -#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L - -#define SN_sect409k1 "sect409k1" -#define NID_sect409k1 731 -#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L - -#define SN_sect409r1 "sect409r1" -#define NID_sect409r1 732 -#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L - -#define SN_sect571k1 "sect571k1" -#define NID_sect571k1 733 -#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L - -#define SN_sect571r1 "sect571r1" -#define NID_sect571r1 734 -#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L - -#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L - -#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1" -#define NID_wap_wsg_idm_ecid_wtls1 735 -#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L - -#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3" -#define NID_wap_wsg_idm_ecid_wtls3 736 -#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L - -#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4" -#define NID_wap_wsg_idm_ecid_wtls4 737 -#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L - -#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5" -#define NID_wap_wsg_idm_ecid_wtls5 738 -#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L - -#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6" -#define NID_wap_wsg_idm_ecid_wtls6 739 -#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L - -#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7" -#define NID_wap_wsg_idm_ecid_wtls7 740 -#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L - -#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8" -#define NID_wap_wsg_idm_ecid_wtls8 741 -#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L - -#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9" -#define NID_wap_wsg_idm_ecid_wtls9 742 -#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L - -#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10" -#define NID_wap_wsg_idm_ecid_wtls10 743 -#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L - -#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11" -#define NID_wap_wsg_idm_ecid_wtls11 744 -#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L - -#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12" -#define NID_wap_wsg_idm_ecid_wtls12 745 -#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L - -#define SN_cast5_cbc "CAST5-CBC" -#define LN_cast5_cbc "cast5-cbc" -#define NID_cast5_cbc 108 -#define OBJ_cast5_cbc OBJ_ISO_US,113533L,7L,66L,10L - -#define SN_cast5_ecb "CAST5-ECB" -#define LN_cast5_ecb "cast5-ecb" -#define NID_cast5_ecb 109 - -#define SN_cast5_cfb64 "CAST5-CFB" -#define LN_cast5_cfb64 "cast5-cfb" -#define NID_cast5_cfb64 110 - -#define SN_cast5_ofb64 "CAST5-OFB" -#define LN_cast5_ofb64 "cast5-ofb" -#define NID_cast5_ofb64 111 - -#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" -#define NID_pbeWithMD5AndCast5_CBC 112 -#define OBJ_pbeWithMD5AndCast5_CBC OBJ_ISO_US,113533L,7L,66L,12L - -#define SN_id_PasswordBasedMAC "id-PasswordBasedMAC" -#define LN_id_PasswordBasedMAC "password based MAC" -#define NID_id_PasswordBasedMAC 782 -#define OBJ_id_PasswordBasedMAC OBJ_ISO_US,113533L,7L,66L,13L - -#define SN_id_DHBasedMac "id-DHBasedMac" -#define LN_id_DHBasedMac "Diffie-Hellman based MAC" -#define NID_id_DHBasedMac 783 -#define OBJ_id_DHBasedMac OBJ_ISO_US,113533L,7L,66L,30L - -#define SN_rsadsi "rsadsi" -#define LN_rsadsi "RSA Data Security, Inc." -#define NID_rsadsi 1 -#define OBJ_rsadsi OBJ_ISO_US,113549L - -#define SN_pkcs "pkcs" -#define LN_pkcs "RSA Data Security, Inc. PKCS" -#define NID_pkcs 2 -#define OBJ_pkcs OBJ_rsadsi,1L - -#define SN_pkcs1 "pkcs1" -#define NID_pkcs1 186 -#define OBJ_pkcs1 OBJ_pkcs,1L - -#define LN_rsaEncryption "rsaEncryption" -#define NID_rsaEncryption 6 -#define OBJ_rsaEncryption OBJ_pkcs1,1L - -#define SN_md2WithRSAEncryption "RSA-MD2" -#define LN_md2WithRSAEncryption "md2WithRSAEncryption" -#define NID_md2WithRSAEncryption 7 -#define OBJ_md2WithRSAEncryption OBJ_pkcs1,2L - -#define SN_md4WithRSAEncryption "RSA-MD4" -#define LN_md4WithRSAEncryption "md4WithRSAEncryption" -#define NID_md4WithRSAEncryption 396 -#define OBJ_md4WithRSAEncryption OBJ_pkcs1,3L - -#define SN_md5WithRSAEncryption "RSA-MD5" -#define LN_md5WithRSAEncryption "md5WithRSAEncryption" -#define NID_md5WithRSAEncryption 8 -#define OBJ_md5WithRSAEncryption OBJ_pkcs1,4L - -#define SN_sha1WithRSAEncryption "RSA-SHA1" -#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" -#define NID_sha1WithRSAEncryption 65 -#define OBJ_sha1WithRSAEncryption OBJ_pkcs1,5L - -#define SN_rsaesOaep "RSAES-OAEP" -#define LN_rsaesOaep "rsaesOaep" -#define NID_rsaesOaep 919 -#define OBJ_rsaesOaep OBJ_pkcs1,7L - -#define SN_mgf1 "MGF1" -#define LN_mgf1 "mgf1" -#define NID_mgf1 911 -#define OBJ_mgf1 OBJ_pkcs1,8L - -#define SN_pSpecified "PSPECIFIED" -#define LN_pSpecified "pSpecified" -#define NID_pSpecified 935 -#define OBJ_pSpecified OBJ_pkcs1,9L - -#define SN_rsassaPss "RSASSA-PSS" -#define LN_rsassaPss "rsassaPss" -#define NID_rsassaPss 912 -#define OBJ_rsassaPss OBJ_pkcs1,10L - -#define SN_sha256WithRSAEncryption "RSA-SHA256" -#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption" -#define NID_sha256WithRSAEncryption 668 -#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L - -#define SN_sha384WithRSAEncryption "RSA-SHA384" -#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption" -#define NID_sha384WithRSAEncryption 669 -#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L - -#define SN_sha512WithRSAEncryption "RSA-SHA512" -#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption" -#define NID_sha512WithRSAEncryption 670 -#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L - -#define SN_sha224WithRSAEncryption "RSA-SHA224" -#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption" -#define NID_sha224WithRSAEncryption 671 -#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L - -#define SN_sha512_224WithRSAEncryption "RSA-SHA512/224" -#define LN_sha512_224WithRSAEncryption "sha512-224WithRSAEncryption" -#define NID_sha512_224WithRSAEncryption 1145 -#define OBJ_sha512_224WithRSAEncryption OBJ_pkcs1,15L - -#define SN_sha512_256WithRSAEncryption "RSA-SHA512/256" -#define LN_sha512_256WithRSAEncryption "sha512-256WithRSAEncryption" -#define NID_sha512_256WithRSAEncryption 1146 -#define OBJ_sha512_256WithRSAEncryption OBJ_pkcs1,16L - -#define SN_pkcs3 "pkcs3" -#define NID_pkcs3 27 -#define OBJ_pkcs3 OBJ_pkcs,3L - -#define LN_dhKeyAgreement "dhKeyAgreement" -#define NID_dhKeyAgreement 28 -#define OBJ_dhKeyAgreement OBJ_pkcs3,1L - -#define SN_pkcs5 "pkcs5" -#define NID_pkcs5 187 -#define OBJ_pkcs5 OBJ_pkcs,5L - -#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" -#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" -#define NID_pbeWithMD2AndDES_CBC 9 -#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs5,1L - -#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" -#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" -#define NID_pbeWithMD5AndDES_CBC 10 -#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs5,3L - -#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" -#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" -#define NID_pbeWithMD2AndRC2_CBC 168 -#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs5,4L - -#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" -#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" -#define NID_pbeWithMD5AndRC2_CBC 169 -#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs5,6L - -#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" -#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" -#define NID_pbeWithSHA1AndDES_CBC 170 -#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs5,10L - -#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" -#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" -#define NID_pbeWithSHA1AndRC2_CBC 68 -#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs5,11L - -#define LN_id_pbkdf2 "PBKDF2" -#define NID_id_pbkdf2 69 -#define OBJ_id_pbkdf2 OBJ_pkcs5,12L - -#define LN_pbes2 "PBES2" -#define NID_pbes2 161 -#define OBJ_pbes2 OBJ_pkcs5,13L - -#define LN_pbmac1 "PBMAC1" -#define NID_pbmac1 162 -#define OBJ_pbmac1 OBJ_pkcs5,14L - -#define SN_pkcs7 "pkcs7" -#define NID_pkcs7 20 -#define OBJ_pkcs7 OBJ_pkcs,7L - -#define LN_pkcs7_data "pkcs7-data" -#define NID_pkcs7_data 21 -#define OBJ_pkcs7_data OBJ_pkcs7,1L - -#define LN_pkcs7_signed "pkcs7-signedData" -#define NID_pkcs7_signed 22 -#define OBJ_pkcs7_signed OBJ_pkcs7,2L - -#define LN_pkcs7_enveloped "pkcs7-envelopedData" -#define NID_pkcs7_enveloped 23 -#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L - -#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" -#define NID_pkcs7_signedAndEnveloped 24 -#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L - -#define LN_pkcs7_digest "pkcs7-digestData" -#define NID_pkcs7_digest 25 -#define OBJ_pkcs7_digest OBJ_pkcs7,5L - -#define LN_pkcs7_encrypted "pkcs7-encryptedData" -#define NID_pkcs7_encrypted 26 -#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L - -#define SN_pkcs9 "pkcs9" -#define NID_pkcs9 47 -#define OBJ_pkcs9 OBJ_pkcs,9L - -#define LN_pkcs9_emailAddress "emailAddress" -#define NID_pkcs9_emailAddress 48 -#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L - -#define LN_pkcs9_unstructuredName "unstructuredName" -#define NID_pkcs9_unstructuredName 49 -#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L - -#define LN_pkcs9_contentType "contentType" -#define NID_pkcs9_contentType 50 -#define OBJ_pkcs9_contentType OBJ_pkcs9,3L - -#define LN_pkcs9_messageDigest "messageDigest" -#define NID_pkcs9_messageDigest 51 -#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L - -#define LN_pkcs9_signingTime "signingTime" -#define NID_pkcs9_signingTime 52 -#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L - -#define LN_pkcs9_countersignature "countersignature" -#define NID_pkcs9_countersignature 53 -#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L - -#define LN_pkcs9_challengePassword "challengePassword" -#define NID_pkcs9_challengePassword 54 -#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L - -#define LN_pkcs9_unstructuredAddress "unstructuredAddress" -#define NID_pkcs9_unstructuredAddress 55 -#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L - -#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" -#define NID_pkcs9_extCertAttributes 56 -#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L - -#define SN_ext_req "extReq" -#define LN_ext_req "Extension Request" -#define NID_ext_req 172 -#define OBJ_ext_req OBJ_pkcs9,14L - -#define SN_SMIMECapabilities "SMIME-CAPS" -#define LN_SMIMECapabilities "S/MIME Capabilities" -#define NID_SMIMECapabilities 167 -#define OBJ_SMIMECapabilities OBJ_pkcs9,15L - -#define SN_SMIME "SMIME" -#define LN_SMIME "S/MIME" -#define NID_SMIME 188 -#define OBJ_SMIME OBJ_pkcs9,16L - -#define SN_id_smime_mod "id-smime-mod" -#define NID_id_smime_mod 189 -#define OBJ_id_smime_mod OBJ_SMIME,0L - -#define SN_id_smime_ct "id-smime-ct" -#define NID_id_smime_ct 190 -#define OBJ_id_smime_ct OBJ_SMIME,1L - -#define SN_id_smime_aa "id-smime-aa" -#define NID_id_smime_aa 191 -#define OBJ_id_smime_aa OBJ_SMIME,2L - -#define SN_id_smime_alg "id-smime-alg" -#define NID_id_smime_alg 192 -#define OBJ_id_smime_alg OBJ_SMIME,3L - -#define SN_id_smime_cd "id-smime-cd" -#define NID_id_smime_cd 193 -#define OBJ_id_smime_cd OBJ_SMIME,4L - -#define SN_id_smime_spq "id-smime-spq" -#define NID_id_smime_spq 194 -#define OBJ_id_smime_spq OBJ_SMIME,5L - -#define SN_id_smime_cti "id-smime-cti" -#define NID_id_smime_cti 195 -#define OBJ_id_smime_cti OBJ_SMIME,6L - -#define SN_id_smime_mod_cms "id-smime-mod-cms" -#define NID_id_smime_mod_cms 196 -#define OBJ_id_smime_mod_cms OBJ_id_smime_mod,1L - -#define SN_id_smime_mod_ess "id-smime-mod-ess" -#define NID_id_smime_mod_ess 197 -#define OBJ_id_smime_mod_ess OBJ_id_smime_mod,2L - -#define SN_id_smime_mod_oid "id-smime-mod-oid" -#define NID_id_smime_mod_oid 198 -#define OBJ_id_smime_mod_oid OBJ_id_smime_mod,3L - -#define SN_id_smime_mod_msg_v3 "id-smime-mod-msg-v3" -#define NID_id_smime_mod_msg_v3 199 -#define OBJ_id_smime_mod_msg_v3 OBJ_id_smime_mod,4L - -#define SN_id_smime_mod_ets_eSignature_88 "id-smime-mod-ets-eSignature-88" -#define NID_id_smime_mod_ets_eSignature_88 200 -#define OBJ_id_smime_mod_ets_eSignature_88 OBJ_id_smime_mod,5L - -#define SN_id_smime_mod_ets_eSignature_97 "id-smime-mod-ets-eSignature-97" -#define NID_id_smime_mod_ets_eSignature_97 201 -#define OBJ_id_smime_mod_ets_eSignature_97 OBJ_id_smime_mod,6L - -#define SN_id_smime_mod_ets_eSigPolicy_88 "id-smime-mod-ets-eSigPolicy-88" -#define NID_id_smime_mod_ets_eSigPolicy_88 202 -#define OBJ_id_smime_mod_ets_eSigPolicy_88 OBJ_id_smime_mod,7L - -#define SN_id_smime_mod_ets_eSigPolicy_97 "id-smime-mod-ets-eSigPolicy-97" -#define NID_id_smime_mod_ets_eSigPolicy_97 203 -#define OBJ_id_smime_mod_ets_eSigPolicy_97 OBJ_id_smime_mod,8L - -#define SN_id_smime_ct_receipt "id-smime-ct-receipt" -#define NID_id_smime_ct_receipt 204 -#define OBJ_id_smime_ct_receipt OBJ_id_smime_ct,1L - -#define SN_id_smime_ct_authData "id-smime-ct-authData" -#define NID_id_smime_ct_authData 205 -#define OBJ_id_smime_ct_authData OBJ_id_smime_ct,2L - -#define SN_id_smime_ct_publishCert "id-smime-ct-publishCert" -#define NID_id_smime_ct_publishCert 206 -#define OBJ_id_smime_ct_publishCert OBJ_id_smime_ct,3L - -#define SN_id_smime_ct_TSTInfo "id-smime-ct-TSTInfo" -#define NID_id_smime_ct_TSTInfo 207 -#define OBJ_id_smime_ct_TSTInfo OBJ_id_smime_ct,4L - -#define SN_id_smime_ct_TDTInfo "id-smime-ct-TDTInfo" -#define NID_id_smime_ct_TDTInfo 208 -#define OBJ_id_smime_ct_TDTInfo OBJ_id_smime_ct,5L - -#define SN_id_smime_ct_contentInfo "id-smime-ct-contentInfo" -#define NID_id_smime_ct_contentInfo 209 -#define OBJ_id_smime_ct_contentInfo OBJ_id_smime_ct,6L - -#define SN_id_smime_ct_DVCSRequestData "id-smime-ct-DVCSRequestData" -#define NID_id_smime_ct_DVCSRequestData 210 -#define OBJ_id_smime_ct_DVCSRequestData OBJ_id_smime_ct,7L - -#define SN_id_smime_ct_DVCSResponseData "id-smime-ct-DVCSResponseData" -#define NID_id_smime_ct_DVCSResponseData 211 -#define OBJ_id_smime_ct_DVCSResponseData OBJ_id_smime_ct,8L - -#define SN_id_smime_ct_compressedData "id-smime-ct-compressedData" -#define NID_id_smime_ct_compressedData 786 -#define OBJ_id_smime_ct_compressedData OBJ_id_smime_ct,9L - -#define SN_id_smime_ct_contentCollection "id-smime-ct-contentCollection" -#define NID_id_smime_ct_contentCollection 1058 -#define OBJ_id_smime_ct_contentCollection OBJ_id_smime_ct,19L - -#define SN_id_smime_ct_authEnvelopedData "id-smime-ct-authEnvelopedData" -#define NID_id_smime_ct_authEnvelopedData 1059 -#define OBJ_id_smime_ct_authEnvelopedData OBJ_id_smime_ct,23L - -#define SN_id_ct_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" -#define NID_id_ct_asciiTextWithCRLF 787 -#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L - -#define SN_id_ct_xml "id-ct-xml" -#define NID_id_ct_xml 1060 -#define OBJ_id_ct_xml OBJ_id_smime_ct,28L - -#define SN_id_smime_aa_receiptRequest "id-smime-aa-receiptRequest" -#define NID_id_smime_aa_receiptRequest 212 -#define OBJ_id_smime_aa_receiptRequest OBJ_id_smime_aa,1L - -#define SN_id_smime_aa_securityLabel "id-smime-aa-securityLabel" -#define NID_id_smime_aa_securityLabel 213 -#define OBJ_id_smime_aa_securityLabel OBJ_id_smime_aa,2L - -#define SN_id_smime_aa_mlExpandHistory "id-smime-aa-mlExpandHistory" -#define NID_id_smime_aa_mlExpandHistory 214 -#define OBJ_id_smime_aa_mlExpandHistory OBJ_id_smime_aa,3L - -#define SN_id_smime_aa_contentHint "id-smime-aa-contentHint" -#define NID_id_smime_aa_contentHint 215 -#define OBJ_id_smime_aa_contentHint OBJ_id_smime_aa,4L - -#define SN_id_smime_aa_msgSigDigest "id-smime-aa-msgSigDigest" -#define NID_id_smime_aa_msgSigDigest 216 -#define OBJ_id_smime_aa_msgSigDigest OBJ_id_smime_aa,5L - -#define SN_id_smime_aa_encapContentType "id-smime-aa-encapContentType" -#define NID_id_smime_aa_encapContentType 217 -#define OBJ_id_smime_aa_encapContentType OBJ_id_smime_aa,6L - -#define SN_id_smime_aa_contentIdentifier "id-smime-aa-contentIdentifier" -#define NID_id_smime_aa_contentIdentifier 218 -#define OBJ_id_smime_aa_contentIdentifier OBJ_id_smime_aa,7L - -#define SN_id_smime_aa_macValue "id-smime-aa-macValue" -#define NID_id_smime_aa_macValue 219 -#define OBJ_id_smime_aa_macValue OBJ_id_smime_aa,8L - -#define SN_id_smime_aa_equivalentLabels "id-smime-aa-equivalentLabels" -#define NID_id_smime_aa_equivalentLabels 220 -#define OBJ_id_smime_aa_equivalentLabels OBJ_id_smime_aa,9L - -#define SN_id_smime_aa_contentReference "id-smime-aa-contentReference" -#define NID_id_smime_aa_contentReference 221 -#define OBJ_id_smime_aa_contentReference OBJ_id_smime_aa,10L - -#define SN_id_smime_aa_encrypKeyPref "id-smime-aa-encrypKeyPref" -#define NID_id_smime_aa_encrypKeyPref 222 -#define OBJ_id_smime_aa_encrypKeyPref OBJ_id_smime_aa,11L - -#define SN_id_smime_aa_signingCertificate "id-smime-aa-signingCertificate" -#define NID_id_smime_aa_signingCertificate 223 -#define OBJ_id_smime_aa_signingCertificate OBJ_id_smime_aa,12L - -#define SN_id_smime_aa_smimeEncryptCerts "id-smime-aa-smimeEncryptCerts" -#define NID_id_smime_aa_smimeEncryptCerts 224 -#define OBJ_id_smime_aa_smimeEncryptCerts OBJ_id_smime_aa,13L - -#define SN_id_smime_aa_timeStampToken "id-smime-aa-timeStampToken" -#define NID_id_smime_aa_timeStampToken 225 -#define OBJ_id_smime_aa_timeStampToken OBJ_id_smime_aa,14L - -#define SN_id_smime_aa_ets_sigPolicyId "id-smime-aa-ets-sigPolicyId" -#define NID_id_smime_aa_ets_sigPolicyId 226 -#define OBJ_id_smime_aa_ets_sigPolicyId OBJ_id_smime_aa,15L - -#define SN_id_smime_aa_ets_commitmentType "id-smime-aa-ets-commitmentType" -#define NID_id_smime_aa_ets_commitmentType 227 -#define OBJ_id_smime_aa_ets_commitmentType OBJ_id_smime_aa,16L - -#define SN_id_smime_aa_ets_signerLocation "id-smime-aa-ets-signerLocation" -#define NID_id_smime_aa_ets_signerLocation 228 -#define OBJ_id_smime_aa_ets_signerLocation OBJ_id_smime_aa,17L - -#define SN_id_smime_aa_ets_signerAttr "id-smime-aa-ets-signerAttr" -#define NID_id_smime_aa_ets_signerAttr 229 -#define OBJ_id_smime_aa_ets_signerAttr OBJ_id_smime_aa,18L - -#define SN_id_smime_aa_ets_otherSigCert "id-smime-aa-ets-otherSigCert" -#define NID_id_smime_aa_ets_otherSigCert 230 -#define OBJ_id_smime_aa_ets_otherSigCert OBJ_id_smime_aa,19L - -#define SN_id_smime_aa_ets_contentTimestamp "id-smime-aa-ets-contentTimestamp" -#define NID_id_smime_aa_ets_contentTimestamp 231 -#define OBJ_id_smime_aa_ets_contentTimestamp OBJ_id_smime_aa,20L - -#define SN_id_smime_aa_ets_CertificateRefs "id-smime-aa-ets-CertificateRefs" -#define NID_id_smime_aa_ets_CertificateRefs 232 -#define OBJ_id_smime_aa_ets_CertificateRefs OBJ_id_smime_aa,21L - -#define SN_id_smime_aa_ets_RevocationRefs "id-smime-aa-ets-RevocationRefs" -#define NID_id_smime_aa_ets_RevocationRefs 233 -#define OBJ_id_smime_aa_ets_RevocationRefs OBJ_id_smime_aa,22L - -#define SN_id_smime_aa_ets_certValues "id-smime-aa-ets-certValues" -#define NID_id_smime_aa_ets_certValues 234 -#define OBJ_id_smime_aa_ets_certValues OBJ_id_smime_aa,23L - -#define SN_id_smime_aa_ets_revocationValues "id-smime-aa-ets-revocationValues" -#define NID_id_smime_aa_ets_revocationValues 235 -#define OBJ_id_smime_aa_ets_revocationValues OBJ_id_smime_aa,24L - -#define SN_id_smime_aa_ets_escTimeStamp "id-smime-aa-ets-escTimeStamp" -#define NID_id_smime_aa_ets_escTimeStamp 236 -#define OBJ_id_smime_aa_ets_escTimeStamp OBJ_id_smime_aa,25L - -#define SN_id_smime_aa_ets_certCRLTimestamp "id-smime-aa-ets-certCRLTimestamp" -#define NID_id_smime_aa_ets_certCRLTimestamp 237 -#define OBJ_id_smime_aa_ets_certCRLTimestamp OBJ_id_smime_aa,26L - -#define SN_id_smime_aa_ets_archiveTimeStamp "id-smime-aa-ets-archiveTimeStamp" -#define NID_id_smime_aa_ets_archiveTimeStamp 238 -#define OBJ_id_smime_aa_ets_archiveTimeStamp OBJ_id_smime_aa,27L - -#define SN_id_smime_aa_signatureType "id-smime-aa-signatureType" -#define NID_id_smime_aa_signatureType 239 -#define OBJ_id_smime_aa_signatureType OBJ_id_smime_aa,28L - -#define SN_id_smime_aa_dvcs_dvc "id-smime-aa-dvcs-dvc" -#define NID_id_smime_aa_dvcs_dvc 240 -#define OBJ_id_smime_aa_dvcs_dvc OBJ_id_smime_aa,29L - -#define SN_id_smime_aa_signingCertificateV2 "id-smime-aa-signingCertificateV2" -#define NID_id_smime_aa_signingCertificateV2 1086 -#define OBJ_id_smime_aa_signingCertificateV2 OBJ_id_smime_aa,47L - -#define SN_id_smime_alg_ESDHwith3DES "id-smime-alg-ESDHwith3DES" -#define NID_id_smime_alg_ESDHwith3DES 241 -#define OBJ_id_smime_alg_ESDHwith3DES OBJ_id_smime_alg,1L - -#define SN_id_smime_alg_ESDHwithRC2 "id-smime-alg-ESDHwithRC2" -#define NID_id_smime_alg_ESDHwithRC2 242 -#define OBJ_id_smime_alg_ESDHwithRC2 OBJ_id_smime_alg,2L - -#define SN_id_smime_alg_3DESwrap "id-smime-alg-3DESwrap" -#define NID_id_smime_alg_3DESwrap 243 -#define OBJ_id_smime_alg_3DESwrap OBJ_id_smime_alg,3L - -#define SN_id_smime_alg_RC2wrap "id-smime-alg-RC2wrap" -#define NID_id_smime_alg_RC2wrap 244 -#define OBJ_id_smime_alg_RC2wrap OBJ_id_smime_alg,4L - -#define SN_id_smime_alg_ESDH "id-smime-alg-ESDH" -#define NID_id_smime_alg_ESDH 245 -#define OBJ_id_smime_alg_ESDH OBJ_id_smime_alg,5L - -#define SN_id_smime_alg_CMS3DESwrap "id-smime-alg-CMS3DESwrap" -#define NID_id_smime_alg_CMS3DESwrap 246 -#define OBJ_id_smime_alg_CMS3DESwrap OBJ_id_smime_alg,6L - -#define SN_id_smime_alg_CMSRC2wrap "id-smime-alg-CMSRC2wrap" -#define NID_id_smime_alg_CMSRC2wrap 247 -#define OBJ_id_smime_alg_CMSRC2wrap OBJ_id_smime_alg,7L - -#define SN_id_alg_PWRI_KEK "id-alg-PWRI-KEK" -#define NID_id_alg_PWRI_KEK 893 -#define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L - -#define SN_id_smime_cd_ldap "id-smime-cd-ldap" -#define NID_id_smime_cd_ldap 248 -#define OBJ_id_smime_cd_ldap OBJ_id_smime_cd,1L - -#define SN_id_smime_spq_ets_sqt_uri "id-smime-spq-ets-sqt-uri" -#define NID_id_smime_spq_ets_sqt_uri 249 -#define OBJ_id_smime_spq_ets_sqt_uri OBJ_id_smime_spq,1L - -#define SN_id_smime_spq_ets_sqt_unotice "id-smime-spq-ets-sqt-unotice" -#define NID_id_smime_spq_ets_sqt_unotice 250 -#define OBJ_id_smime_spq_ets_sqt_unotice OBJ_id_smime_spq,2L - -#define SN_id_smime_cti_ets_proofOfOrigin "id-smime-cti-ets-proofOfOrigin" -#define NID_id_smime_cti_ets_proofOfOrigin 251 -#define OBJ_id_smime_cti_ets_proofOfOrigin OBJ_id_smime_cti,1L - -#define SN_id_smime_cti_ets_proofOfReceipt "id-smime-cti-ets-proofOfReceipt" -#define NID_id_smime_cti_ets_proofOfReceipt 252 -#define OBJ_id_smime_cti_ets_proofOfReceipt OBJ_id_smime_cti,2L - -#define SN_id_smime_cti_ets_proofOfDelivery "id-smime-cti-ets-proofOfDelivery" -#define NID_id_smime_cti_ets_proofOfDelivery 253 -#define OBJ_id_smime_cti_ets_proofOfDelivery OBJ_id_smime_cti,3L - -#define SN_id_smime_cti_ets_proofOfSender "id-smime-cti-ets-proofOfSender" -#define NID_id_smime_cti_ets_proofOfSender 254 -#define OBJ_id_smime_cti_ets_proofOfSender OBJ_id_smime_cti,4L - -#define SN_id_smime_cti_ets_proofOfApproval "id-smime-cti-ets-proofOfApproval" -#define NID_id_smime_cti_ets_proofOfApproval 255 -#define OBJ_id_smime_cti_ets_proofOfApproval OBJ_id_smime_cti,5L - -#define SN_id_smime_cti_ets_proofOfCreation "id-smime-cti-ets-proofOfCreation" -#define NID_id_smime_cti_ets_proofOfCreation 256 -#define OBJ_id_smime_cti_ets_proofOfCreation OBJ_id_smime_cti,6L - -#define LN_friendlyName "friendlyName" -#define NID_friendlyName 156 -#define OBJ_friendlyName OBJ_pkcs9,20L - -#define LN_localKeyID "localKeyID" -#define NID_localKeyID 157 -#define OBJ_localKeyID OBJ_pkcs9,21L - -#define SN_ms_csp_name "CSPName" -#define LN_ms_csp_name "Microsoft CSP Name" -#define NID_ms_csp_name 417 -#define OBJ_ms_csp_name 1L,3L,6L,1L,4L,1L,311L,17L,1L - -#define SN_LocalKeySet "LocalKeySet" -#define LN_LocalKeySet "Microsoft Local Key set" -#define NID_LocalKeySet 856 -#define OBJ_LocalKeySet 1L,3L,6L,1L,4L,1L,311L,17L,2L - -#define OBJ_certTypes OBJ_pkcs9,22L - -#define LN_x509Certificate "x509Certificate" -#define NID_x509Certificate 158 -#define OBJ_x509Certificate OBJ_certTypes,1L - -#define LN_sdsiCertificate "sdsiCertificate" -#define NID_sdsiCertificate 159 -#define OBJ_sdsiCertificate OBJ_certTypes,2L - -#define OBJ_crlTypes OBJ_pkcs9,23L - -#define LN_x509Crl "x509Crl" -#define NID_x509Crl 160 -#define OBJ_x509Crl OBJ_crlTypes,1L - -#define OBJ_pkcs12 OBJ_pkcs,12L - -#define OBJ_pkcs12_pbeids OBJ_pkcs12,1L - -#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" -#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" -#define NID_pbe_WithSHA1And128BitRC4 144 -#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids,1L - -#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" -#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" -#define NID_pbe_WithSHA1And40BitRC4 145 -#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids,2L - -#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" -#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" -#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 -#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids,3L - -#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" -#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" -#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 -#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids,4L - -#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" -#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" -#define NID_pbe_WithSHA1And128BitRC2_CBC 148 -#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids,5L - -#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" -#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" -#define NID_pbe_WithSHA1And40BitRC2_CBC 149 -#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids,6L - -#define OBJ_pkcs12_Version1 OBJ_pkcs12,10L - -#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1,1L - -#define LN_keyBag "keyBag" -#define NID_keyBag 150 -#define OBJ_keyBag OBJ_pkcs12_BagIds,1L - -#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" -#define NID_pkcs8ShroudedKeyBag 151 -#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds,2L - -#define LN_certBag "certBag" -#define NID_certBag 152 -#define OBJ_certBag OBJ_pkcs12_BagIds,3L - -#define LN_crlBag "crlBag" -#define NID_crlBag 153 -#define OBJ_crlBag OBJ_pkcs12_BagIds,4L - -#define LN_secretBag "secretBag" -#define NID_secretBag 154 -#define OBJ_secretBag OBJ_pkcs12_BagIds,5L - -#define LN_safeContentsBag "safeContentsBag" -#define NID_safeContentsBag 155 -#define OBJ_safeContentsBag OBJ_pkcs12_BagIds,6L - -#define SN_md2 "MD2" -#define LN_md2 "md2" -#define NID_md2 3 -#define OBJ_md2 OBJ_rsadsi,2L,2L - -#define SN_md4 "MD4" -#define LN_md4 "md4" -#define NID_md4 257 -#define OBJ_md4 OBJ_rsadsi,2L,4L - -#define SN_md5 "MD5" -#define LN_md5 "md5" -#define NID_md5 4 -#define OBJ_md5 OBJ_rsadsi,2L,5L - -#define SN_md5_sha1 "MD5-SHA1" -#define LN_md5_sha1 "md5-sha1" -#define NID_md5_sha1 114 - -#define LN_hmacWithMD5 "hmacWithMD5" -#define NID_hmacWithMD5 797 -#define OBJ_hmacWithMD5 OBJ_rsadsi,2L,6L - -#define LN_hmacWithSHA1 "hmacWithSHA1" -#define NID_hmacWithSHA1 163 -#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L - -#define SN_sm2 "SM2" -#define LN_sm2 "sm2" -#define NID_sm2 1172 -#define OBJ_sm2 OBJ_sm_scheme,301L - -#define SN_sm3 "SM3" -#define LN_sm3 "sm3" -#define NID_sm3 1143 -#define OBJ_sm3 OBJ_sm_scheme,401L - -#define SN_sm3WithRSAEncryption "RSA-SM3" -#define LN_sm3WithRSAEncryption "sm3WithRSAEncryption" -#define NID_sm3WithRSAEncryption 1144 -#define OBJ_sm3WithRSAEncryption OBJ_sm_scheme,504L - -#define LN_hmacWithSHA224 "hmacWithSHA224" -#define NID_hmacWithSHA224 798 -#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L - -#define LN_hmacWithSHA256 "hmacWithSHA256" -#define NID_hmacWithSHA256 799 -#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L - -#define LN_hmacWithSHA384 "hmacWithSHA384" -#define NID_hmacWithSHA384 800 -#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L - -#define LN_hmacWithSHA512 "hmacWithSHA512" -#define NID_hmacWithSHA512 801 -#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L - -#define LN_hmacWithSHA512_224 "hmacWithSHA512-224" -#define NID_hmacWithSHA512_224 1193 -#define OBJ_hmacWithSHA512_224 OBJ_rsadsi,2L,12L - -#define LN_hmacWithSHA512_256 "hmacWithSHA512-256" -#define NID_hmacWithSHA512_256 1194 -#define OBJ_hmacWithSHA512_256 OBJ_rsadsi,2L,13L - -#define SN_rc2_cbc "RC2-CBC" -#define LN_rc2_cbc "rc2-cbc" -#define NID_rc2_cbc 37 -#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L - -#define SN_rc2_ecb "RC2-ECB" -#define LN_rc2_ecb "rc2-ecb" -#define NID_rc2_ecb 38 - -#define SN_rc2_cfb64 "RC2-CFB" -#define LN_rc2_cfb64 "rc2-cfb" -#define NID_rc2_cfb64 39 - -#define SN_rc2_ofb64 "RC2-OFB" -#define LN_rc2_ofb64 "rc2-ofb" -#define NID_rc2_ofb64 40 - -#define SN_rc2_40_cbc "RC2-40-CBC" -#define LN_rc2_40_cbc "rc2-40-cbc" -#define NID_rc2_40_cbc 98 - -#define SN_rc2_64_cbc "RC2-64-CBC" -#define LN_rc2_64_cbc "rc2-64-cbc" -#define NID_rc2_64_cbc 166 - -#define SN_rc4 "RC4" -#define LN_rc4 "rc4" -#define NID_rc4 5 -#define OBJ_rc4 OBJ_rsadsi,3L,4L - -#define SN_rc4_40 "RC4-40" -#define LN_rc4_40 "rc4-40" -#define NID_rc4_40 97 - -#define SN_des_ede3_cbc "DES-EDE3-CBC" -#define LN_des_ede3_cbc "des-ede3-cbc" -#define NID_des_ede3_cbc 44 -#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L - -#define SN_rc5_cbc "RC5-CBC" -#define LN_rc5_cbc "rc5-cbc" -#define NID_rc5_cbc 120 -#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L - -#define SN_rc5_ecb "RC5-ECB" -#define LN_rc5_ecb "rc5-ecb" -#define NID_rc5_ecb 121 - -#define SN_rc5_cfb64 "RC5-CFB" -#define LN_rc5_cfb64 "rc5-cfb" -#define NID_rc5_cfb64 122 - -#define SN_rc5_ofb64 "RC5-OFB" -#define LN_rc5_ofb64 "rc5-ofb" -#define NID_rc5_ofb64 123 - -#define SN_ms_ext_req "msExtReq" -#define LN_ms_ext_req "Microsoft Extension Request" -#define NID_ms_ext_req 171 -#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L - -#define SN_ms_code_ind "msCodeInd" -#define LN_ms_code_ind "Microsoft Individual Code Signing" -#define NID_ms_code_ind 134 -#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L - -#define SN_ms_code_com "msCodeCom" -#define LN_ms_code_com "Microsoft Commercial Code Signing" -#define NID_ms_code_com 135 -#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L - -#define SN_ms_ctl_sign "msCTLSign" -#define LN_ms_ctl_sign "Microsoft Trust List Signing" -#define NID_ms_ctl_sign 136 -#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L - -#define SN_ms_sgc "msSGC" -#define LN_ms_sgc "Microsoft Server Gated Crypto" -#define NID_ms_sgc 137 -#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L - -#define SN_ms_efs "msEFS" -#define LN_ms_efs "Microsoft Encrypted File System" -#define NID_ms_efs 138 -#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L - -#define SN_ms_smartcard_login "msSmartcardLogin" -#define LN_ms_smartcard_login "Microsoft Smartcard Login" -#define NID_ms_smartcard_login 648 -#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L - -#define SN_ms_upn "msUPN" -#define LN_ms_upn "Microsoft User Principal Name" -#define NID_ms_upn 649 -#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L - -#define SN_idea_cbc "IDEA-CBC" -#define LN_idea_cbc "idea-cbc" -#define NID_idea_cbc 34 -#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L - -#define SN_idea_ecb "IDEA-ECB" -#define LN_idea_ecb "idea-ecb" -#define NID_idea_ecb 36 - -#define SN_idea_cfb64 "IDEA-CFB" -#define LN_idea_cfb64 "idea-cfb" -#define NID_idea_cfb64 35 - -#define SN_idea_ofb64 "IDEA-OFB" -#define LN_idea_ofb64 "idea-ofb" -#define NID_idea_ofb64 46 - -#define SN_bf_cbc "BF-CBC" -#define LN_bf_cbc "bf-cbc" -#define NID_bf_cbc 91 -#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L - -#define SN_bf_ecb "BF-ECB" -#define LN_bf_ecb "bf-ecb" -#define NID_bf_ecb 92 - -#define SN_bf_cfb64 "BF-CFB" -#define LN_bf_cfb64 "bf-cfb" -#define NID_bf_cfb64 93 - -#define SN_bf_ofb64 "BF-OFB" -#define LN_bf_ofb64 "bf-ofb" -#define NID_bf_ofb64 94 - -#define SN_id_pkix "PKIX" -#define NID_id_pkix 127 -#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L - -#define SN_id_pkix_mod "id-pkix-mod" -#define NID_id_pkix_mod 258 -#define OBJ_id_pkix_mod OBJ_id_pkix,0L - -#define SN_id_pe "id-pe" -#define NID_id_pe 175 -#define OBJ_id_pe OBJ_id_pkix,1L - -#define SN_id_qt "id-qt" -#define NID_id_qt 259 -#define OBJ_id_qt OBJ_id_pkix,2L - -#define SN_id_kp "id-kp" -#define NID_id_kp 128 -#define OBJ_id_kp OBJ_id_pkix,3L - -#define SN_id_it "id-it" -#define NID_id_it 260 -#define OBJ_id_it OBJ_id_pkix,4L - -#define SN_id_pkip "id-pkip" -#define NID_id_pkip 261 -#define OBJ_id_pkip OBJ_id_pkix,5L - -#define SN_id_alg "id-alg" -#define NID_id_alg 262 -#define OBJ_id_alg OBJ_id_pkix,6L - -#define SN_id_cmc "id-cmc" -#define NID_id_cmc 263 -#define OBJ_id_cmc OBJ_id_pkix,7L - -#define SN_id_on "id-on" -#define NID_id_on 264 -#define OBJ_id_on OBJ_id_pkix,8L - -#define SN_id_pda "id-pda" -#define NID_id_pda 265 -#define OBJ_id_pda OBJ_id_pkix,9L - -#define SN_id_aca "id-aca" -#define NID_id_aca 266 -#define OBJ_id_aca OBJ_id_pkix,10L - -#define SN_id_qcs "id-qcs" -#define NID_id_qcs 267 -#define OBJ_id_qcs OBJ_id_pkix,11L - -#define SN_id_cct "id-cct" -#define NID_id_cct 268 -#define OBJ_id_cct OBJ_id_pkix,12L - -#define SN_id_ppl "id-ppl" -#define NID_id_ppl 662 -#define OBJ_id_ppl OBJ_id_pkix,21L - -#define SN_id_ad "id-ad" -#define NID_id_ad 176 -#define OBJ_id_ad OBJ_id_pkix,48L - -#define SN_id_pkix1_explicit_88 "id-pkix1-explicit-88" -#define NID_id_pkix1_explicit_88 269 -#define OBJ_id_pkix1_explicit_88 OBJ_id_pkix_mod,1L - -#define SN_id_pkix1_implicit_88 "id-pkix1-implicit-88" -#define NID_id_pkix1_implicit_88 270 -#define OBJ_id_pkix1_implicit_88 OBJ_id_pkix_mod,2L - -#define SN_id_pkix1_explicit_93 "id-pkix1-explicit-93" -#define NID_id_pkix1_explicit_93 271 -#define OBJ_id_pkix1_explicit_93 OBJ_id_pkix_mod,3L - -#define SN_id_pkix1_implicit_93 "id-pkix1-implicit-93" -#define NID_id_pkix1_implicit_93 272 -#define OBJ_id_pkix1_implicit_93 OBJ_id_pkix_mod,4L - -#define SN_id_mod_crmf "id-mod-crmf" -#define NID_id_mod_crmf 273 -#define OBJ_id_mod_crmf OBJ_id_pkix_mod,5L - -#define SN_id_mod_cmc "id-mod-cmc" -#define NID_id_mod_cmc 274 -#define OBJ_id_mod_cmc OBJ_id_pkix_mod,6L - -#define SN_id_mod_kea_profile_88 "id-mod-kea-profile-88" -#define NID_id_mod_kea_profile_88 275 -#define OBJ_id_mod_kea_profile_88 OBJ_id_pkix_mod,7L - -#define SN_id_mod_kea_profile_93 "id-mod-kea-profile-93" -#define NID_id_mod_kea_profile_93 276 -#define OBJ_id_mod_kea_profile_93 OBJ_id_pkix_mod,8L - -#define SN_id_mod_cmp "id-mod-cmp" -#define NID_id_mod_cmp 277 -#define OBJ_id_mod_cmp OBJ_id_pkix_mod,9L - -#define SN_id_mod_qualified_cert_88 "id-mod-qualified-cert-88" -#define NID_id_mod_qualified_cert_88 278 -#define OBJ_id_mod_qualified_cert_88 OBJ_id_pkix_mod,10L - -#define SN_id_mod_qualified_cert_93 "id-mod-qualified-cert-93" -#define NID_id_mod_qualified_cert_93 279 -#define OBJ_id_mod_qualified_cert_93 OBJ_id_pkix_mod,11L - -#define SN_id_mod_attribute_cert "id-mod-attribute-cert" -#define NID_id_mod_attribute_cert 280 -#define OBJ_id_mod_attribute_cert OBJ_id_pkix_mod,12L - -#define SN_id_mod_timestamp_protocol "id-mod-timestamp-protocol" -#define NID_id_mod_timestamp_protocol 281 -#define OBJ_id_mod_timestamp_protocol OBJ_id_pkix_mod,13L - -#define SN_id_mod_ocsp "id-mod-ocsp" -#define NID_id_mod_ocsp 282 -#define OBJ_id_mod_ocsp OBJ_id_pkix_mod,14L - -#define SN_id_mod_dvcs "id-mod-dvcs" -#define NID_id_mod_dvcs 283 -#define OBJ_id_mod_dvcs OBJ_id_pkix_mod,15L - -#define SN_id_mod_cmp2000 "id-mod-cmp2000" -#define NID_id_mod_cmp2000 284 -#define OBJ_id_mod_cmp2000 OBJ_id_pkix_mod,16L - -#define SN_info_access "authorityInfoAccess" -#define LN_info_access "Authority Information Access" -#define NID_info_access 177 -#define OBJ_info_access OBJ_id_pe,1L - -#define SN_biometricInfo "biometricInfo" -#define LN_biometricInfo "Biometric Info" -#define NID_biometricInfo 285 -#define OBJ_biometricInfo OBJ_id_pe,2L - -#define SN_qcStatements "qcStatements" -#define NID_qcStatements 286 -#define OBJ_qcStatements OBJ_id_pe,3L - -#define SN_ac_auditEntity "ac-auditEntity" -#define NID_ac_auditEntity 287 -#define OBJ_ac_auditEntity OBJ_id_pe,4L - -#define SN_ac_targeting "ac-targeting" -#define NID_ac_targeting 288 -#define OBJ_ac_targeting OBJ_id_pe,5L - -#define SN_aaControls "aaControls" -#define NID_aaControls 289 -#define OBJ_aaControls OBJ_id_pe,6L - -#define SN_sbgp_ipAddrBlock "sbgp-ipAddrBlock" -#define NID_sbgp_ipAddrBlock 290 -#define OBJ_sbgp_ipAddrBlock OBJ_id_pe,7L - -#define SN_sbgp_autonomousSysNum "sbgp-autonomousSysNum" -#define NID_sbgp_autonomousSysNum 291 -#define OBJ_sbgp_autonomousSysNum OBJ_id_pe,8L - -#define SN_sbgp_routerIdentifier "sbgp-routerIdentifier" -#define NID_sbgp_routerIdentifier 292 -#define OBJ_sbgp_routerIdentifier OBJ_id_pe,9L - -#define SN_ac_proxying "ac-proxying" -#define NID_ac_proxying 397 -#define OBJ_ac_proxying OBJ_id_pe,10L - -#define SN_sinfo_access "subjectInfoAccess" -#define LN_sinfo_access "Subject Information Access" -#define NID_sinfo_access 398 -#define OBJ_sinfo_access OBJ_id_pe,11L - -#define SN_proxyCertInfo "proxyCertInfo" -#define LN_proxyCertInfo "Proxy Certificate Information" -#define NID_proxyCertInfo 663 -#define OBJ_proxyCertInfo OBJ_id_pe,14L - -#define SN_tlsfeature "tlsfeature" -#define LN_tlsfeature "TLS Feature" -#define NID_tlsfeature 1020 -#define OBJ_tlsfeature OBJ_id_pe,24L - -#define SN_id_qt_cps "id-qt-cps" -#define LN_id_qt_cps "Policy Qualifier CPS" -#define NID_id_qt_cps 164 -#define OBJ_id_qt_cps OBJ_id_qt,1L - -#define SN_id_qt_unotice "id-qt-unotice" -#define LN_id_qt_unotice "Policy Qualifier User Notice" -#define NID_id_qt_unotice 165 -#define OBJ_id_qt_unotice OBJ_id_qt,2L - -#define SN_textNotice "textNotice" -#define NID_textNotice 293 -#define OBJ_textNotice OBJ_id_qt,3L - -#define SN_server_auth "serverAuth" -#define LN_server_auth "TLS Web Server Authentication" -#define NID_server_auth 129 -#define OBJ_server_auth OBJ_id_kp,1L - -#define SN_client_auth "clientAuth" -#define LN_client_auth "TLS Web Client Authentication" -#define NID_client_auth 130 -#define OBJ_client_auth OBJ_id_kp,2L - -#define SN_code_sign "codeSigning" -#define LN_code_sign "Code Signing" -#define NID_code_sign 131 -#define OBJ_code_sign OBJ_id_kp,3L - -#define SN_email_protect "emailProtection" -#define LN_email_protect "E-mail Protection" -#define NID_email_protect 132 -#define OBJ_email_protect OBJ_id_kp,4L - -#define SN_ipsecEndSystem "ipsecEndSystem" -#define LN_ipsecEndSystem "IPSec End System" -#define NID_ipsecEndSystem 294 -#define OBJ_ipsecEndSystem OBJ_id_kp,5L - -#define SN_ipsecTunnel "ipsecTunnel" -#define LN_ipsecTunnel "IPSec Tunnel" -#define NID_ipsecTunnel 295 -#define OBJ_ipsecTunnel OBJ_id_kp,6L - -#define SN_ipsecUser "ipsecUser" -#define LN_ipsecUser "IPSec User" -#define NID_ipsecUser 296 -#define OBJ_ipsecUser OBJ_id_kp,7L - -#define SN_time_stamp "timeStamping" -#define LN_time_stamp "Time Stamping" -#define NID_time_stamp 133 -#define OBJ_time_stamp OBJ_id_kp,8L - -#define SN_OCSP_sign "OCSPSigning" -#define LN_OCSP_sign "OCSP Signing" -#define NID_OCSP_sign 180 -#define OBJ_OCSP_sign OBJ_id_kp,9L - -#define SN_dvcs "DVCS" -#define LN_dvcs "dvcs" -#define NID_dvcs 297 -#define OBJ_dvcs OBJ_id_kp,10L - -#define SN_ipsec_IKE "ipsecIKE" -#define LN_ipsec_IKE "ipsec Internet Key Exchange" -#define NID_ipsec_IKE 1022 -#define OBJ_ipsec_IKE OBJ_id_kp,17L - -#define SN_capwapAC "capwapAC" -#define LN_capwapAC "Ctrl/provision WAP Access" -#define NID_capwapAC 1023 -#define OBJ_capwapAC OBJ_id_kp,18L - -#define SN_capwapWTP "capwapWTP" -#define LN_capwapWTP "Ctrl/Provision WAP Termination" -#define NID_capwapWTP 1024 -#define OBJ_capwapWTP OBJ_id_kp,19L - -#define SN_sshClient "secureShellClient" -#define LN_sshClient "SSH Client" -#define NID_sshClient 1025 -#define OBJ_sshClient OBJ_id_kp,21L - -#define SN_sshServer "secureShellServer" -#define LN_sshServer "SSH Server" -#define NID_sshServer 1026 -#define OBJ_sshServer OBJ_id_kp,22L - -#define SN_sendRouter "sendRouter" -#define LN_sendRouter "Send Router" -#define NID_sendRouter 1027 -#define OBJ_sendRouter OBJ_id_kp,23L - -#define SN_sendProxiedRouter "sendProxiedRouter" -#define LN_sendProxiedRouter "Send Proxied Router" -#define NID_sendProxiedRouter 1028 -#define OBJ_sendProxiedRouter OBJ_id_kp,24L - -#define SN_sendOwner "sendOwner" -#define LN_sendOwner "Send Owner" -#define NID_sendOwner 1029 -#define OBJ_sendOwner OBJ_id_kp,25L - -#define SN_sendProxiedOwner "sendProxiedOwner" -#define LN_sendProxiedOwner "Send Proxied Owner" -#define NID_sendProxiedOwner 1030 -#define OBJ_sendProxiedOwner OBJ_id_kp,26L - -#define SN_cmcCA "cmcCA" -#define LN_cmcCA "CMC Certificate Authority" -#define NID_cmcCA 1131 -#define OBJ_cmcCA OBJ_id_kp,27L - -#define SN_cmcRA "cmcRA" -#define LN_cmcRA "CMC Registration Authority" -#define NID_cmcRA 1132 -#define OBJ_cmcRA OBJ_id_kp,28L - -#define SN_id_it_caProtEncCert "id-it-caProtEncCert" -#define NID_id_it_caProtEncCert 298 -#define OBJ_id_it_caProtEncCert OBJ_id_it,1L - -#define SN_id_it_signKeyPairTypes "id-it-signKeyPairTypes" -#define NID_id_it_signKeyPairTypes 299 -#define OBJ_id_it_signKeyPairTypes OBJ_id_it,2L - -#define SN_id_it_encKeyPairTypes "id-it-encKeyPairTypes" -#define NID_id_it_encKeyPairTypes 300 -#define OBJ_id_it_encKeyPairTypes OBJ_id_it,3L - -#define SN_id_it_preferredSymmAlg "id-it-preferredSymmAlg" -#define NID_id_it_preferredSymmAlg 301 -#define OBJ_id_it_preferredSymmAlg OBJ_id_it,4L - -#define SN_id_it_caKeyUpdateInfo "id-it-caKeyUpdateInfo" -#define NID_id_it_caKeyUpdateInfo 302 -#define OBJ_id_it_caKeyUpdateInfo OBJ_id_it,5L - -#define SN_id_it_currentCRL "id-it-currentCRL" -#define NID_id_it_currentCRL 303 -#define OBJ_id_it_currentCRL OBJ_id_it,6L - -#define SN_id_it_unsupportedOIDs "id-it-unsupportedOIDs" -#define NID_id_it_unsupportedOIDs 304 -#define OBJ_id_it_unsupportedOIDs OBJ_id_it,7L - -#define SN_id_it_subscriptionRequest "id-it-subscriptionRequest" -#define NID_id_it_subscriptionRequest 305 -#define OBJ_id_it_subscriptionRequest OBJ_id_it,8L - -#define SN_id_it_subscriptionResponse "id-it-subscriptionResponse" -#define NID_id_it_subscriptionResponse 306 -#define OBJ_id_it_subscriptionResponse OBJ_id_it,9L - -#define SN_id_it_keyPairParamReq "id-it-keyPairParamReq" -#define NID_id_it_keyPairParamReq 307 -#define OBJ_id_it_keyPairParamReq OBJ_id_it,10L - -#define SN_id_it_keyPairParamRep "id-it-keyPairParamRep" -#define NID_id_it_keyPairParamRep 308 -#define OBJ_id_it_keyPairParamRep OBJ_id_it,11L - -#define SN_id_it_revPassphrase "id-it-revPassphrase" -#define NID_id_it_revPassphrase 309 -#define OBJ_id_it_revPassphrase OBJ_id_it,12L - -#define SN_id_it_implicitConfirm "id-it-implicitConfirm" -#define NID_id_it_implicitConfirm 310 -#define OBJ_id_it_implicitConfirm OBJ_id_it,13L - -#define SN_id_it_confirmWaitTime "id-it-confirmWaitTime" -#define NID_id_it_confirmWaitTime 311 -#define OBJ_id_it_confirmWaitTime OBJ_id_it,14L - -#define SN_id_it_origPKIMessage "id-it-origPKIMessage" -#define NID_id_it_origPKIMessage 312 -#define OBJ_id_it_origPKIMessage OBJ_id_it,15L - -#define SN_id_it_suppLangTags "id-it-suppLangTags" -#define NID_id_it_suppLangTags 784 -#define OBJ_id_it_suppLangTags OBJ_id_it,16L - -#define SN_id_regCtrl "id-regCtrl" -#define NID_id_regCtrl 313 -#define OBJ_id_regCtrl OBJ_id_pkip,1L - -#define SN_id_regInfo "id-regInfo" -#define NID_id_regInfo 314 -#define OBJ_id_regInfo OBJ_id_pkip,2L - -#define SN_id_regCtrl_regToken "id-regCtrl-regToken" -#define NID_id_regCtrl_regToken 315 -#define OBJ_id_regCtrl_regToken OBJ_id_regCtrl,1L - -#define SN_id_regCtrl_authenticator "id-regCtrl-authenticator" -#define NID_id_regCtrl_authenticator 316 -#define OBJ_id_regCtrl_authenticator OBJ_id_regCtrl,2L - -#define SN_id_regCtrl_pkiPublicationInfo "id-regCtrl-pkiPublicationInfo" -#define NID_id_regCtrl_pkiPublicationInfo 317 -#define OBJ_id_regCtrl_pkiPublicationInfo OBJ_id_regCtrl,3L - -#define SN_id_regCtrl_pkiArchiveOptions "id-regCtrl-pkiArchiveOptions" -#define NID_id_regCtrl_pkiArchiveOptions 318 -#define OBJ_id_regCtrl_pkiArchiveOptions OBJ_id_regCtrl,4L - -#define SN_id_regCtrl_oldCertID "id-regCtrl-oldCertID" -#define NID_id_regCtrl_oldCertID 319 -#define OBJ_id_regCtrl_oldCertID OBJ_id_regCtrl,5L - -#define SN_id_regCtrl_protocolEncrKey "id-regCtrl-protocolEncrKey" -#define NID_id_regCtrl_protocolEncrKey 320 -#define OBJ_id_regCtrl_protocolEncrKey OBJ_id_regCtrl,6L - -#define SN_id_regInfo_utf8Pairs "id-regInfo-utf8Pairs" -#define NID_id_regInfo_utf8Pairs 321 -#define OBJ_id_regInfo_utf8Pairs OBJ_id_regInfo,1L - -#define SN_id_regInfo_certReq "id-regInfo-certReq" -#define NID_id_regInfo_certReq 322 -#define OBJ_id_regInfo_certReq OBJ_id_regInfo,2L - -#define SN_id_alg_des40 "id-alg-des40" -#define NID_id_alg_des40 323 -#define OBJ_id_alg_des40 OBJ_id_alg,1L - -#define SN_id_alg_noSignature "id-alg-noSignature" -#define NID_id_alg_noSignature 324 -#define OBJ_id_alg_noSignature OBJ_id_alg,2L - -#define SN_id_alg_dh_sig_hmac_sha1 "id-alg-dh-sig-hmac-sha1" -#define NID_id_alg_dh_sig_hmac_sha1 325 -#define OBJ_id_alg_dh_sig_hmac_sha1 OBJ_id_alg,3L - -#define SN_id_alg_dh_pop "id-alg-dh-pop" -#define NID_id_alg_dh_pop 326 -#define OBJ_id_alg_dh_pop OBJ_id_alg,4L - -#define SN_id_cmc_statusInfo "id-cmc-statusInfo" -#define NID_id_cmc_statusInfo 327 -#define OBJ_id_cmc_statusInfo OBJ_id_cmc,1L - -#define SN_id_cmc_identification "id-cmc-identification" -#define NID_id_cmc_identification 328 -#define OBJ_id_cmc_identification OBJ_id_cmc,2L - -#define SN_id_cmc_identityProof "id-cmc-identityProof" -#define NID_id_cmc_identityProof 329 -#define OBJ_id_cmc_identityProof OBJ_id_cmc,3L - -#define SN_id_cmc_dataReturn "id-cmc-dataReturn" -#define NID_id_cmc_dataReturn 330 -#define OBJ_id_cmc_dataReturn OBJ_id_cmc,4L - -#define SN_id_cmc_transactionId "id-cmc-transactionId" -#define NID_id_cmc_transactionId 331 -#define OBJ_id_cmc_transactionId OBJ_id_cmc,5L - -#define SN_id_cmc_senderNonce "id-cmc-senderNonce" -#define NID_id_cmc_senderNonce 332 -#define OBJ_id_cmc_senderNonce OBJ_id_cmc,6L - -#define SN_id_cmc_recipientNonce "id-cmc-recipientNonce" -#define NID_id_cmc_recipientNonce 333 -#define OBJ_id_cmc_recipientNonce OBJ_id_cmc,7L - -#define SN_id_cmc_addExtensions "id-cmc-addExtensions" -#define NID_id_cmc_addExtensions 334 -#define OBJ_id_cmc_addExtensions OBJ_id_cmc,8L - -#define SN_id_cmc_encryptedPOP "id-cmc-encryptedPOP" -#define NID_id_cmc_encryptedPOP 335 -#define OBJ_id_cmc_encryptedPOP OBJ_id_cmc,9L - -#define SN_id_cmc_decryptedPOP "id-cmc-decryptedPOP" -#define NID_id_cmc_decryptedPOP 336 -#define OBJ_id_cmc_decryptedPOP OBJ_id_cmc,10L - -#define SN_id_cmc_lraPOPWitness "id-cmc-lraPOPWitness" -#define NID_id_cmc_lraPOPWitness 337 -#define OBJ_id_cmc_lraPOPWitness OBJ_id_cmc,11L - -#define SN_id_cmc_getCert "id-cmc-getCert" -#define NID_id_cmc_getCert 338 -#define OBJ_id_cmc_getCert OBJ_id_cmc,15L - -#define SN_id_cmc_getCRL "id-cmc-getCRL" -#define NID_id_cmc_getCRL 339 -#define OBJ_id_cmc_getCRL OBJ_id_cmc,16L - -#define SN_id_cmc_revokeRequest "id-cmc-revokeRequest" -#define NID_id_cmc_revokeRequest 340 -#define OBJ_id_cmc_revokeRequest OBJ_id_cmc,17L - -#define SN_id_cmc_regInfo "id-cmc-regInfo" -#define NID_id_cmc_regInfo 341 -#define OBJ_id_cmc_regInfo OBJ_id_cmc,18L - -#define SN_id_cmc_responseInfo "id-cmc-responseInfo" -#define NID_id_cmc_responseInfo 342 -#define OBJ_id_cmc_responseInfo OBJ_id_cmc,19L - -#define SN_id_cmc_queryPending "id-cmc-queryPending" -#define NID_id_cmc_queryPending 343 -#define OBJ_id_cmc_queryPending OBJ_id_cmc,21L - -#define SN_id_cmc_popLinkRandom "id-cmc-popLinkRandom" -#define NID_id_cmc_popLinkRandom 344 -#define OBJ_id_cmc_popLinkRandom OBJ_id_cmc,22L - -#define SN_id_cmc_popLinkWitness "id-cmc-popLinkWitness" -#define NID_id_cmc_popLinkWitness 345 -#define OBJ_id_cmc_popLinkWitness OBJ_id_cmc,23L - -#define SN_id_cmc_confirmCertAcceptance "id-cmc-confirmCertAcceptance" -#define NID_id_cmc_confirmCertAcceptance 346 -#define OBJ_id_cmc_confirmCertAcceptance OBJ_id_cmc,24L - -#define SN_id_on_personalData "id-on-personalData" -#define NID_id_on_personalData 347 -#define OBJ_id_on_personalData OBJ_id_on,1L - -#define SN_id_on_permanentIdentifier "id-on-permanentIdentifier" -#define LN_id_on_permanentIdentifier "Permanent Identifier" -#define NID_id_on_permanentIdentifier 858 -#define OBJ_id_on_permanentIdentifier OBJ_id_on,3L - -#define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" -#define NID_id_pda_dateOfBirth 348 -#define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L - -#define SN_id_pda_placeOfBirth "id-pda-placeOfBirth" -#define NID_id_pda_placeOfBirth 349 -#define OBJ_id_pda_placeOfBirth OBJ_id_pda,2L - -#define SN_id_pda_gender "id-pda-gender" -#define NID_id_pda_gender 351 -#define OBJ_id_pda_gender OBJ_id_pda,3L - -#define SN_id_pda_countryOfCitizenship "id-pda-countryOfCitizenship" -#define NID_id_pda_countryOfCitizenship 352 -#define OBJ_id_pda_countryOfCitizenship OBJ_id_pda,4L - -#define SN_id_pda_countryOfResidence "id-pda-countryOfResidence" -#define NID_id_pda_countryOfResidence 353 -#define OBJ_id_pda_countryOfResidence OBJ_id_pda,5L - -#define SN_id_aca_authenticationInfo "id-aca-authenticationInfo" -#define NID_id_aca_authenticationInfo 354 -#define OBJ_id_aca_authenticationInfo OBJ_id_aca,1L - -#define SN_id_aca_accessIdentity "id-aca-accessIdentity" -#define NID_id_aca_accessIdentity 355 -#define OBJ_id_aca_accessIdentity OBJ_id_aca,2L - -#define SN_id_aca_chargingIdentity "id-aca-chargingIdentity" -#define NID_id_aca_chargingIdentity 356 -#define OBJ_id_aca_chargingIdentity OBJ_id_aca,3L - -#define SN_id_aca_group "id-aca-group" -#define NID_id_aca_group 357 -#define OBJ_id_aca_group OBJ_id_aca,4L - -#define SN_id_aca_role "id-aca-role" -#define NID_id_aca_role 358 -#define OBJ_id_aca_role OBJ_id_aca,5L - -#define SN_id_aca_encAttrs "id-aca-encAttrs" -#define NID_id_aca_encAttrs 399 -#define OBJ_id_aca_encAttrs OBJ_id_aca,6L - -#define SN_id_qcs_pkixQCSyntax_v1 "id-qcs-pkixQCSyntax-v1" -#define NID_id_qcs_pkixQCSyntax_v1 359 -#define OBJ_id_qcs_pkixQCSyntax_v1 OBJ_id_qcs,1L - -#define SN_id_cct_crs "id-cct-crs" -#define NID_id_cct_crs 360 -#define OBJ_id_cct_crs OBJ_id_cct,1L - -#define SN_id_cct_PKIData "id-cct-PKIData" -#define NID_id_cct_PKIData 361 -#define OBJ_id_cct_PKIData OBJ_id_cct,2L - -#define SN_id_cct_PKIResponse "id-cct-PKIResponse" -#define NID_id_cct_PKIResponse 362 -#define OBJ_id_cct_PKIResponse OBJ_id_cct,3L - -#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage" -#define LN_id_ppl_anyLanguage "Any language" -#define NID_id_ppl_anyLanguage 664 -#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L - -#define SN_id_ppl_inheritAll "id-ppl-inheritAll" -#define LN_id_ppl_inheritAll "Inherit all" -#define NID_id_ppl_inheritAll 665 -#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L - -#define SN_Independent "id-ppl-independent" -#define LN_Independent "Independent" -#define NID_Independent 667 -#define OBJ_Independent OBJ_id_ppl,2L - -#define SN_ad_OCSP "OCSP" -#define LN_ad_OCSP "OCSP" -#define NID_ad_OCSP 178 -#define OBJ_ad_OCSP OBJ_id_ad,1L - -#define SN_ad_ca_issuers "caIssuers" -#define LN_ad_ca_issuers "CA Issuers" -#define NID_ad_ca_issuers 179 -#define OBJ_ad_ca_issuers OBJ_id_ad,2L - -#define SN_ad_timeStamping "ad_timestamping" -#define LN_ad_timeStamping "AD Time Stamping" -#define NID_ad_timeStamping 363 -#define OBJ_ad_timeStamping OBJ_id_ad,3L - -#define SN_ad_dvcs "AD_DVCS" -#define LN_ad_dvcs "ad dvcs" -#define NID_ad_dvcs 364 -#define OBJ_ad_dvcs OBJ_id_ad,4L - -#define SN_caRepository "caRepository" -#define LN_caRepository "CA Repository" -#define NID_caRepository 785 -#define OBJ_caRepository OBJ_id_ad,5L - -#define OBJ_id_pkix_OCSP OBJ_ad_OCSP - -#define SN_id_pkix_OCSP_basic "basicOCSPResponse" -#define LN_id_pkix_OCSP_basic "Basic OCSP Response" -#define NID_id_pkix_OCSP_basic 365 -#define OBJ_id_pkix_OCSP_basic OBJ_id_pkix_OCSP,1L - -#define SN_id_pkix_OCSP_Nonce "Nonce" -#define LN_id_pkix_OCSP_Nonce "OCSP Nonce" -#define NID_id_pkix_OCSP_Nonce 366 -#define OBJ_id_pkix_OCSP_Nonce OBJ_id_pkix_OCSP,2L - -#define SN_id_pkix_OCSP_CrlID "CrlID" -#define LN_id_pkix_OCSP_CrlID "OCSP CRL ID" -#define NID_id_pkix_OCSP_CrlID 367 -#define OBJ_id_pkix_OCSP_CrlID OBJ_id_pkix_OCSP,3L - -#define SN_id_pkix_OCSP_acceptableResponses "acceptableResponses" -#define LN_id_pkix_OCSP_acceptableResponses "Acceptable OCSP Responses" -#define NID_id_pkix_OCSP_acceptableResponses 368 -#define OBJ_id_pkix_OCSP_acceptableResponses OBJ_id_pkix_OCSP,4L - -#define SN_id_pkix_OCSP_noCheck "noCheck" -#define LN_id_pkix_OCSP_noCheck "OCSP No Check" -#define NID_id_pkix_OCSP_noCheck 369 -#define OBJ_id_pkix_OCSP_noCheck OBJ_id_pkix_OCSP,5L - -#define SN_id_pkix_OCSP_archiveCutoff "archiveCutoff" -#define LN_id_pkix_OCSP_archiveCutoff "OCSP Archive Cutoff" -#define NID_id_pkix_OCSP_archiveCutoff 370 -#define OBJ_id_pkix_OCSP_archiveCutoff OBJ_id_pkix_OCSP,6L - -#define SN_id_pkix_OCSP_serviceLocator "serviceLocator" -#define LN_id_pkix_OCSP_serviceLocator "OCSP Service Locator" -#define NID_id_pkix_OCSP_serviceLocator 371 -#define OBJ_id_pkix_OCSP_serviceLocator OBJ_id_pkix_OCSP,7L - -#define SN_id_pkix_OCSP_extendedStatus "extendedStatus" -#define LN_id_pkix_OCSP_extendedStatus "Extended OCSP Status" -#define NID_id_pkix_OCSP_extendedStatus 372 -#define OBJ_id_pkix_OCSP_extendedStatus OBJ_id_pkix_OCSP,8L - -#define SN_id_pkix_OCSP_valid "valid" -#define NID_id_pkix_OCSP_valid 373 -#define OBJ_id_pkix_OCSP_valid OBJ_id_pkix_OCSP,9L - -#define SN_id_pkix_OCSP_path "path" -#define NID_id_pkix_OCSP_path 374 -#define OBJ_id_pkix_OCSP_path OBJ_id_pkix_OCSP,10L - -#define SN_id_pkix_OCSP_trustRoot "trustRoot" -#define LN_id_pkix_OCSP_trustRoot "Trust Root" -#define NID_id_pkix_OCSP_trustRoot 375 -#define OBJ_id_pkix_OCSP_trustRoot OBJ_id_pkix_OCSP,11L - -#define SN_algorithm "algorithm" -#define LN_algorithm "algorithm" -#define NID_algorithm 376 -#define OBJ_algorithm 1L,3L,14L,3L,2L - -#define SN_md5WithRSA "RSA-NP-MD5" -#define LN_md5WithRSA "md5WithRSA" -#define NID_md5WithRSA 104 -#define OBJ_md5WithRSA OBJ_algorithm,3L - -#define SN_des_ecb "DES-ECB" -#define LN_des_ecb "des-ecb" -#define NID_des_ecb 29 -#define OBJ_des_ecb OBJ_algorithm,6L - -#define SN_des_cbc "DES-CBC" -#define LN_des_cbc "des-cbc" -#define NID_des_cbc 31 -#define OBJ_des_cbc OBJ_algorithm,7L - -#define SN_des_ofb64 "DES-OFB" -#define LN_des_ofb64 "des-ofb" -#define NID_des_ofb64 45 -#define OBJ_des_ofb64 OBJ_algorithm,8L - -#define SN_des_cfb64 "DES-CFB" -#define LN_des_cfb64 "des-cfb" -#define NID_des_cfb64 30 -#define OBJ_des_cfb64 OBJ_algorithm,9L - -#define SN_rsaSignature "rsaSignature" -#define NID_rsaSignature 377 -#define OBJ_rsaSignature OBJ_algorithm,11L - -#define SN_dsa_2 "DSA-old" -#define LN_dsa_2 "dsaEncryption-old" -#define NID_dsa_2 67 -#define OBJ_dsa_2 OBJ_algorithm,12L - -#define SN_dsaWithSHA "DSA-SHA" -#define LN_dsaWithSHA "dsaWithSHA" -#define NID_dsaWithSHA 66 -#define OBJ_dsaWithSHA OBJ_algorithm,13L - -#define SN_shaWithRSAEncryption "RSA-SHA" -#define LN_shaWithRSAEncryption "shaWithRSAEncryption" -#define NID_shaWithRSAEncryption 42 -#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L - -#define SN_des_ede_ecb "DES-EDE" -#define LN_des_ede_ecb "des-ede" -#define NID_des_ede_ecb 32 -#define OBJ_des_ede_ecb OBJ_algorithm,17L - -#define SN_des_ede3_ecb "DES-EDE3" -#define LN_des_ede3_ecb "des-ede3" -#define NID_des_ede3_ecb 33 - -#define SN_des_ede_cbc "DES-EDE-CBC" -#define LN_des_ede_cbc "des-ede-cbc" -#define NID_des_ede_cbc 43 - -#define SN_des_ede_cfb64 "DES-EDE-CFB" -#define LN_des_ede_cfb64 "des-ede-cfb" -#define NID_des_ede_cfb64 60 - -#define SN_des_ede3_cfb64 "DES-EDE3-CFB" -#define LN_des_ede3_cfb64 "des-ede3-cfb" -#define NID_des_ede3_cfb64 61 - -#define SN_des_ede_ofb64 "DES-EDE-OFB" -#define LN_des_ede_ofb64 "des-ede-ofb" -#define NID_des_ede_ofb64 62 - -#define SN_des_ede3_ofb64 "DES-EDE3-OFB" -#define LN_des_ede3_ofb64 "des-ede3-ofb" -#define NID_des_ede3_ofb64 63 - -#define SN_desx_cbc "DESX-CBC" -#define LN_desx_cbc "desx-cbc" -#define NID_desx_cbc 80 - -#define SN_sha "SHA" -#define LN_sha "sha" -#define NID_sha 41 -#define OBJ_sha OBJ_algorithm,18L - -#define SN_sha1 "SHA1" -#define LN_sha1 "sha1" -#define NID_sha1 64 -#define OBJ_sha1 OBJ_algorithm,26L - -#define SN_dsaWithSHA1_2 "DSA-SHA1-old" -#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" -#define NID_dsaWithSHA1_2 70 -#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L - -#define SN_sha1WithRSA "RSA-SHA1-2" -#define LN_sha1WithRSA "sha1WithRSA" -#define NID_sha1WithRSA 115 -#define OBJ_sha1WithRSA OBJ_algorithm,29L - -#define SN_ripemd160 "RIPEMD160" -#define LN_ripemd160 "ripemd160" -#define NID_ripemd160 117 -#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L - -#define SN_ripemd160WithRSA "RSA-RIPEMD160" -#define LN_ripemd160WithRSA "ripemd160WithRSA" -#define NID_ripemd160WithRSA 119 -#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L - -#define SN_blake2b512 "BLAKE2b512" -#define LN_blake2b512 "blake2b512" -#define NID_blake2b512 1056 -#define OBJ_blake2b512 1L,3L,6L,1L,4L,1L,1722L,12L,2L,1L,16L - -#define SN_blake2s256 "BLAKE2s256" -#define LN_blake2s256 "blake2s256" -#define NID_blake2s256 1057 -#define OBJ_blake2s256 1L,3L,6L,1L,4L,1L,1722L,12L,2L,2L,8L - -#define SN_sxnet "SXNetID" -#define LN_sxnet "Strong Extranet ID" -#define NID_sxnet 143 -#define OBJ_sxnet 1L,3L,101L,1L,4L,1L - -#define SN_X500 "X500" -#define LN_X500 "directory services (X.500)" -#define NID_X500 11 -#define OBJ_X500 2L,5L - -#define SN_X509 "X509" -#define NID_X509 12 -#define OBJ_X509 OBJ_X500,4L - -#define SN_commonName "CN" -#define LN_commonName "commonName" -#define NID_commonName 13 -#define OBJ_commonName OBJ_X509,3L - -#define SN_surname "SN" -#define LN_surname "surname" -#define NID_surname 100 -#define OBJ_surname OBJ_X509,4L - -#define LN_serialNumber "serialNumber" -#define NID_serialNumber 105 -#define OBJ_serialNumber OBJ_X509,5L - -#define SN_countryName "C" -#define LN_countryName "countryName" -#define NID_countryName 14 -#define OBJ_countryName OBJ_X509,6L - -#define SN_localityName "L" -#define LN_localityName "localityName" -#define NID_localityName 15 -#define OBJ_localityName OBJ_X509,7L - -#define SN_stateOrProvinceName "ST" -#define LN_stateOrProvinceName "stateOrProvinceName" -#define NID_stateOrProvinceName 16 -#define OBJ_stateOrProvinceName OBJ_X509,8L - -#define SN_streetAddress "street" -#define LN_streetAddress "streetAddress" -#define NID_streetAddress 660 -#define OBJ_streetAddress OBJ_X509,9L - -#define SN_organizationName "O" -#define LN_organizationName "organizationName" -#define NID_organizationName 17 -#define OBJ_organizationName OBJ_X509,10L - -#define SN_organizationalUnitName "OU" -#define LN_organizationalUnitName "organizationalUnitName" -#define NID_organizationalUnitName 18 -#define OBJ_organizationalUnitName OBJ_X509,11L - -#define SN_title "title" -#define LN_title "title" -#define NID_title 106 -#define OBJ_title OBJ_X509,12L - -#define LN_description "description" -#define NID_description 107 -#define OBJ_description OBJ_X509,13L - -#define LN_searchGuide "searchGuide" -#define NID_searchGuide 859 -#define OBJ_searchGuide OBJ_X509,14L - -#define LN_businessCategory "businessCategory" -#define NID_businessCategory 860 -#define OBJ_businessCategory OBJ_X509,15L - -#define LN_postalAddress "postalAddress" -#define NID_postalAddress 861 -#define OBJ_postalAddress OBJ_X509,16L - -#define LN_postalCode "postalCode" -#define NID_postalCode 661 -#define OBJ_postalCode OBJ_X509,17L - -#define LN_postOfficeBox "postOfficeBox" -#define NID_postOfficeBox 862 -#define OBJ_postOfficeBox OBJ_X509,18L - -#define LN_physicalDeliveryOfficeName "physicalDeliveryOfficeName" -#define NID_physicalDeliveryOfficeName 863 -#define OBJ_physicalDeliveryOfficeName OBJ_X509,19L - -#define LN_telephoneNumber "telephoneNumber" -#define NID_telephoneNumber 864 -#define OBJ_telephoneNumber OBJ_X509,20L - -#define LN_telexNumber "telexNumber" -#define NID_telexNumber 865 -#define OBJ_telexNumber OBJ_X509,21L - -#define LN_teletexTerminalIdentifier "teletexTerminalIdentifier" -#define NID_teletexTerminalIdentifier 866 -#define OBJ_teletexTerminalIdentifier OBJ_X509,22L - -#define LN_facsimileTelephoneNumber "facsimileTelephoneNumber" -#define NID_facsimileTelephoneNumber 867 -#define OBJ_facsimileTelephoneNumber OBJ_X509,23L - -#define LN_x121Address "x121Address" -#define NID_x121Address 868 -#define OBJ_x121Address OBJ_X509,24L - -#define LN_internationaliSDNNumber "internationaliSDNNumber" -#define NID_internationaliSDNNumber 869 -#define OBJ_internationaliSDNNumber OBJ_X509,25L - -#define LN_registeredAddress "registeredAddress" -#define NID_registeredAddress 870 -#define OBJ_registeredAddress OBJ_X509,26L - -#define LN_destinationIndicator "destinationIndicator" -#define NID_destinationIndicator 871 -#define OBJ_destinationIndicator OBJ_X509,27L - -#define LN_preferredDeliveryMethod "preferredDeliveryMethod" -#define NID_preferredDeliveryMethod 872 -#define OBJ_preferredDeliveryMethod OBJ_X509,28L - -#define LN_presentationAddress "presentationAddress" -#define NID_presentationAddress 873 -#define OBJ_presentationAddress OBJ_X509,29L - -#define LN_supportedApplicationContext "supportedApplicationContext" -#define NID_supportedApplicationContext 874 -#define OBJ_supportedApplicationContext OBJ_X509,30L - -#define SN_member "member" -#define NID_member 875 -#define OBJ_member OBJ_X509,31L - -#define SN_owner "owner" -#define NID_owner 876 -#define OBJ_owner OBJ_X509,32L - -#define LN_roleOccupant "roleOccupant" -#define NID_roleOccupant 877 -#define OBJ_roleOccupant OBJ_X509,33L - -#define SN_seeAlso "seeAlso" -#define NID_seeAlso 878 -#define OBJ_seeAlso OBJ_X509,34L - -#define LN_userPassword "userPassword" -#define NID_userPassword 879 -#define OBJ_userPassword OBJ_X509,35L - -#define LN_userCertificate "userCertificate" -#define NID_userCertificate 880 -#define OBJ_userCertificate OBJ_X509,36L - -#define LN_cACertificate "cACertificate" -#define NID_cACertificate 881 -#define OBJ_cACertificate OBJ_X509,37L - -#define LN_authorityRevocationList "authorityRevocationList" -#define NID_authorityRevocationList 882 -#define OBJ_authorityRevocationList OBJ_X509,38L - -#define LN_certificateRevocationList "certificateRevocationList" -#define NID_certificateRevocationList 883 -#define OBJ_certificateRevocationList OBJ_X509,39L - -#define LN_crossCertificatePair "crossCertificatePair" -#define NID_crossCertificatePair 884 -#define OBJ_crossCertificatePair OBJ_X509,40L - -#define SN_name "name" -#define LN_name "name" -#define NID_name 173 -#define OBJ_name OBJ_X509,41L - -#define SN_givenName "GN" -#define LN_givenName "givenName" -#define NID_givenName 99 -#define OBJ_givenName OBJ_X509,42L - -#define SN_initials "initials" -#define LN_initials "initials" -#define NID_initials 101 -#define OBJ_initials OBJ_X509,43L - -#define LN_generationQualifier "generationQualifier" -#define NID_generationQualifier 509 -#define OBJ_generationQualifier OBJ_X509,44L - -#define LN_x500UniqueIdentifier "x500UniqueIdentifier" -#define NID_x500UniqueIdentifier 503 -#define OBJ_x500UniqueIdentifier OBJ_X509,45L - -#define SN_dnQualifier "dnQualifier" -#define LN_dnQualifier "dnQualifier" -#define NID_dnQualifier 174 -#define OBJ_dnQualifier OBJ_X509,46L - -#define LN_enhancedSearchGuide "enhancedSearchGuide" -#define NID_enhancedSearchGuide 885 -#define OBJ_enhancedSearchGuide OBJ_X509,47L - -#define LN_protocolInformation "protocolInformation" -#define NID_protocolInformation 886 -#define OBJ_protocolInformation OBJ_X509,48L - -#define LN_distinguishedName "distinguishedName" -#define NID_distinguishedName 887 -#define OBJ_distinguishedName OBJ_X509,49L - -#define LN_uniqueMember "uniqueMember" -#define NID_uniqueMember 888 -#define OBJ_uniqueMember OBJ_X509,50L - -#define LN_houseIdentifier "houseIdentifier" -#define NID_houseIdentifier 889 -#define OBJ_houseIdentifier OBJ_X509,51L - -#define LN_supportedAlgorithms "supportedAlgorithms" -#define NID_supportedAlgorithms 890 -#define OBJ_supportedAlgorithms OBJ_X509,52L - -#define LN_deltaRevocationList "deltaRevocationList" -#define NID_deltaRevocationList 891 -#define OBJ_deltaRevocationList OBJ_X509,53L - -#define SN_dmdName "dmdName" -#define NID_dmdName 892 -#define OBJ_dmdName OBJ_X509,54L - -#define LN_pseudonym "pseudonym" -#define NID_pseudonym 510 -#define OBJ_pseudonym OBJ_X509,65L - -#define SN_role "role" -#define LN_role "role" -#define NID_role 400 -#define OBJ_role OBJ_X509,72L - -#define LN_organizationIdentifier "organizationIdentifier" -#define NID_organizationIdentifier 1089 -#define OBJ_organizationIdentifier OBJ_X509,97L - -#define SN_countryCode3c "c3" -#define LN_countryCode3c "countryCode3c" -#define NID_countryCode3c 1090 -#define OBJ_countryCode3c OBJ_X509,98L - -#define SN_countryCode3n "n3" -#define LN_countryCode3n "countryCode3n" -#define NID_countryCode3n 1091 -#define OBJ_countryCode3n OBJ_X509,99L - -#define LN_dnsName "dnsName" -#define NID_dnsName 1092 -#define OBJ_dnsName OBJ_X509,100L - -#define SN_X500algorithms "X500algorithms" -#define LN_X500algorithms "directory services - algorithms" -#define NID_X500algorithms 378 -#define OBJ_X500algorithms OBJ_X500,8L - -#define SN_rsa "RSA" -#define LN_rsa "rsa" -#define NID_rsa 19 -#define OBJ_rsa OBJ_X500algorithms,1L,1L - -#define SN_mdc2WithRSA "RSA-MDC2" -#define LN_mdc2WithRSA "mdc2WithRSA" -#define NID_mdc2WithRSA 96 -#define OBJ_mdc2WithRSA OBJ_X500algorithms,3L,100L - -#define SN_mdc2 "MDC2" -#define LN_mdc2 "mdc2" -#define NID_mdc2 95 -#define OBJ_mdc2 OBJ_X500algorithms,3L,101L - -#define SN_id_ce "id-ce" -#define NID_id_ce 81 -#define OBJ_id_ce OBJ_X500,29L - -#define SN_subject_directory_attributes "subjectDirectoryAttributes" -#define LN_subject_directory_attributes "X509v3 Subject Directory Attributes" -#define NID_subject_directory_attributes 769 -#define OBJ_subject_directory_attributes OBJ_id_ce,9L - -#define SN_subject_key_identifier "subjectKeyIdentifier" -#define LN_subject_key_identifier "X509v3 Subject Key Identifier" -#define NID_subject_key_identifier 82 -#define OBJ_subject_key_identifier OBJ_id_ce,14L - -#define SN_key_usage "keyUsage" -#define LN_key_usage "X509v3 Key Usage" -#define NID_key_usage 83 -#define OBJ_key_usage OBJ_id_ce,15L - -#define SN_private_key_usage_period "privateKeyUsagePeriod" -#define LN_private_key_usage_period "X509v3 Private Key Usage Period" -#define NID_private_key_usage_period 84 -#define OBJ_private_key_usage_period OBJ_id_ce,16L - -#define SN_subject_alt_name "subjectAltName" -#define LN_subject_alt_name "X509v3 Subject Alternative Name" -#define NID_subject_alt_name 85 -#define OBJ_subject_alt_name OBJ_id_ce,17L - -#define SN_issuer_alt_name "issuerAltName" -#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" -#define NID_issuer_alt_name 86 -#define OBJ_issuer_alt_name OBJ_id_ce,18L - -#define SN_basic_constraints "basicConstraints" -#define LN_basic_constraints "X509v3 Basic Constraints" -#define NID_basic_constraints 87 -#define OBJ_basic_constraints OBJ_id_ce,19L - -#define SN_crl_number "crlNumber" -#define LN_crl_number "X509v3 CRL Number" -#define NID_crl_number 88 -#define OBJ_crl_number OBJ_id_ce,20L - -#define SN_crl_reason "CRLReason" -#define LN_crl_reason "X509v3 CRL Reason Code" -#define NID_crl_reason 141 -#define OBJ_crl_reason OBJ_id_ce,21L - -#define SN_invalidity_date "invalidityDate" -#define LN_invalidity_date "Invalidity Date" -#define NID_invalidity_date 142 -#define OBJ_invalidity_date OBJ_id_ce,24L - -#define SN_delta_crl "deltaCRL" -#define LN_delta_crl "X509v3 Delta CRL Indicator" -#define NID_delta_crl 140 -#define OBJ_delta_crl OBJ_id_ce,27L - -#define SN_issuing_distribution_point "issuingDistributionPoint" -#define LN_issuing_distribution_point "X509v3 Issuing Distribution Point" -#define NID_issuing_distribution_point 770 -#define OBJ_issuing_distribution_point OBJ_id_ce,28L - -#define SN_certificate_issuer "certificateIssuer" -#define LN_certificate_issuer "X509v3 Certificate Issuer" -#define NID_certificate_issuer 771 -#define OBJ_certificate_issuer OBJ_id_ce,29L - -#define SN_name_constraints "nameConstraints" -#define LN_name_constraints "X509v3 Name Constraints" -#define NID_name_constraints 666 -#define OBJ_name_constraints OBJ_id_ce,30L - -#define SN_crl_distribution_points "crlDistributionPoints" -#define LN_crl_distribution_points "X509v3 CRL Distribution Points" -#define NID_crl_distribution_points 103 -#define OBJ_crl_distribution_points OBJ_id_ce,31L - -#define SN_certificate_policies "certificatePolicies" -#define LN_certificate_policies "X509v3 Certificate Policies" -#define NID_certificate_policies 89 -#define OBJ_certificate_policies OBJ_id_ce,32L - -#define SN_any_policy "anyPolicy" -#define LN_any_policy "X509v3 Any Policy" -#define NID_any_policy 746 -#define OBJ_any_policy OBJ_certificate_policies,0L - -#define SN_policy_mappings "policyMappings" -#define LN_policy_mappings "X509v3 Policy Mappings" -#define NID_policy_mappings 747 -#define OBJ_policy_mappings OBJ_id_ce,33L - -#define SN_authority_key_identifier "authorityKeyIdentifier" -#define LN_authority_key_identifier "X509v3 Authority Key Identifier" -#define NID_authority_key_identifier 90 -#define OBJ_authority_key_identifier OBJ_id_ce,35L - -#define SN_policy_constraints "policyConstraints" -#define LN_policy_constraints "X509v3 Policy Constraints" -#define NID_policy_constraints 401 -#define OBJ_policy_constraints OBJ_id_ce,36L - -#define SN_ext_key_usage "extendedKeyUsage" -#define LN_ext_key_usage "X509v3 Extended Key Usage" -#define NID_ext_key_usage 126 -#define OBJ_ext_key_usage OBJ_id_ce,37L - -#define SN_freshest_crl "freshestCRL" -#define LN_freshest_crl "X509v3 Freshest CRL" -#define NID_freshest_crl 857 -#define OBJ_freshest_crl OBJ_id_ce,46L - -#define SN_inhibit_any_policy "inhibitAnyPolicy" -#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy" -#define NID_inhibit_any_policy 748 -#define OBJ_inhibit_any_policy OBJ_id_ce,54L - -#define SN_target_information "targetInformation" -#define LN_target_information "X509v3 AC Targeting" -#define NID_target_information 402 -#define OBJ_target_information OBJ_id_ce,55L - -#define SN_no_rev_avail "noRevAvail" -#define LN_no_rev_avail "X509v3 No Revocation Available" -#define NID_no_rev_avail 403 -#define OBJ_no_rev_avail OBJ_id_ce,56L - -#define SN_anyExtendedKeyUsage "anyExtendedKeyUsage" -#define LN_anyExtendedKeyUsage "Any Extended Key Usage" -#define NID_anyExtendedKeyUsage 910 -#define OBJ_anyExtendedKeyUsage OBJ_ext_key_usage,0L - -#define SN_netscape "Netscape" -#define LN_netscape "Netscape Communications Corp." -#define NID_netscape 57 -#define OBJ_netscape 2L,16L,840L,1L,113730L - -#define SN_netscape_cert_extension "nsCertExt" -#define LN_netscape_cert_extension "Netscape Certificate Extension" -#define NID_netscape_cert_extension 58 -#define OBJ_netscape_cert_extension OBJ_netscape,1L - -#define SN_netscape_data_type "nsDataType" -#define LN_netscape_data_type "Netscape Data Type" -#define NID_netscape_data_type 59 -#define OBJ_netscape_data_type OBJ_netscape,2L - -#define SN_netscape_cert_type "nsCertType" -#define LN_netscape_cert_type "Netscape Cert Type" -#define NID_netscape_cert_type 71 -#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L - -#define SN_netscape_base_url "nsBaseUrl" -#define LN_netscape_base_url "Netscape Base Url" -#define NID_netscape_base_url 72 -#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L - -#define SN_netscape_revocation_url "nsRevocationUrl" -#define LN_netscape_revocation_url "Netscape Revocation Url" -#define NID_netscape_revocation_url 73 -#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L - -#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" -#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" -#define NID_netscape_ca_revocation_url 74 -#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L - -#define SN_netscape_renewal_url "nsRenewalUrl" -#define LN_netscape_renewal_url "Netscape Renewal Url" -#define NID_netscape_renewal_url 75 -#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L - -#define SN_netscape_ca_policy_url "nsCaPolicyUrl" -#define LN_netscape_ca_policy_url "Netscape CA Policy Url" -#define NID_netscape_ca_policy_url 76 -#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L - -#define SN_netscape_ssl_server_name "nsSslServerName" -#define LN_netscape_ssl_server_name "Netscape SSL Server Name" -#define NID_netscape_ssl_server_name 77 -#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L - -#define SN_netscape_comment "nsComment" -#define LN_netscape_comment "Netscape Comment" -#define NID_netscape_comment 78 -#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L - -#define SN_netscape_cert_sequence "nsCertSequence" -#define LN_netscape_cert_sequence "Netscape Certificate Sequence" -#define NID_netscape_cert_sequence 79 -#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L - -#define SN_ns_sgc "nsSGC" -#define LN_ns_sgc "Netscape Server Gated Crypto" -#define NID_ns_sgc 139 -#define OBJ_ns_sgc OBJ_netscape,4L,1L - -#define SN_org "ORG" -#define LN_org "org" -#define NID_org 379 -#define OBJ_org OBJ_iso,3L - -#define SN_dod "DOD" -#define LN_dod "dod" -#define NID_dod 380 -#define OBJ_dod OBJ_org,6L - -#define SN_iana "IANA" -#define LN_iana "iana" -#define NID_iana 381 -#define OBJ_iana OBJ_dod,1L - -#define OBJ_internet OBJ_iana - -#define SN_Directory "directory" -#define LN_Directory "Directory" -#define NID_Directory 382 -#define OBJ_Directory OBJ_internet,1L - -#define SN_Management "mgmt" -#define LN_Management "Management" -#define NID_Management 383 -#define OBJ_Management OBJ_internet,2L - -#define SN_Experimental "experimental" -#define LN_Experimental "Experimental" -#define NID_Experimental 384 -#define OBJ_Experimental OBJ_internet,3L - -#define SN_Private "private" -#define LN_Private "Private" -#define NID_Private 385 -#define OBJ_Private OBJ_internet,4L - -#define SN_Security "security" -#define LN_Security "Security" -#define NID_Security 386 -#define OBJ_Security OBJ_internet,5L - -#define SN_SNMPv2 "snmpv2" -#define LN_SNMPv2 "SNMPv2" -#define NID_SNMPv2 387 -#define OBJ_SNMPv2 OBJ_internet,6L - -#define LN_Mail "Mail" -#define NID_Mail 388 -#define OBJ_Mail OBJ_internet,7L - -#define SN_Enterprises "enterprises" -#define LN_Enterprises "Enterprises" -#define NID_Enterprises 389 -#define OBJ_Enterprises OBJ_Private,1L - -#define SN_dcObject "dcobject" -#define LN_dcObject "dcObject" -#define NID_dcObject 390 -#define OBJ_dcObject OBJ_Enterprises,1466L,344L - -#define SN_mime_mhs "mime-mhs" -#define LN_mime_mhs "MIME MHS" -#define NID_mime_mhs 504 -#define OBJ_mime_mhs OBJ_Mail,1L - -#define SN_mime_mhs_headings "mime-mhs-headings" -#define LN_mime_mhs_headings "mime-mhs-headings" -#define NID_mime_mhs_headings 505 -#define OBJ_mime_mhs_headings OBJ_mime_mhs,1L - -#define SN_mime_mhs_bodies "mime-mhs-bodies" -#define LN_mime_mhs_bodies "mime-mhs-bodies" -#define NID_mime_mhs_bodies 506 -#define OBJ_mime_mhs_bodies OBJ_mime_mhs,2L - -#define SN_id_hex_partial_message "id-hex-partial-message" -#define LN_id_hex_partial_message "id-hex-partial-message" -#define NID_id_hex_partial_message 507 -#define OBJ_id_hex_partial_message OBJ_mime_mhs_headings,1L - -#define SN_id_hex_multipart_message "id-hex-multipart-message" -#define LN_id_hex_multipart_message "id-hex-multipart-message" -#define NID_id_hex_multipart_message 508 -#define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L - -#define SN_zlib_compression "ZLIB" -#define LN_zlib_compression "zlib compression" -#define NID_zlib_compression 125 -#define OBJ_zlib_compression OBJ_id_smime_alg,8L - -#define OBJ_csor 2L,16L,840L,1L,101L,3L - -#define OBJ_nistAlgorithms OBJ_csor,4L - -#define OBJ_aes OBJ_nistAlgorithms,1L - -#define SN_aes_128_ecb "AES-128-ECB" -#define LN_aes_128_ecb "aes-128-ecb" -#define NID_aes_128_ecb 418 -#define OBJ_aes_128_ecb OBJ_aes,1L - -#define SN_aes_128_cbc "AES-128-CBC" -#define LN_aes_128_cbc "aes-128-cbc" -#define NID_aes_128_cbc 419 -#define OBJ_aes_128_cbc OBJ_aes,2L - -#define SN_aes_128_ofb128 "AES-128-OFB" -#define LN_aes_128_ofb128 "aes-128-ofb" -#define NID_aes_128_ofb128 420 -#define OBJ_aes_128_ofb128 OBJ_aes,3L - -#define SN_aes_128_cfb128 "AES-128-CFB" -#define LN_aes_128_cfb128 "aes-128-cfb" -#define NID_aes_128_cfb128 421 -#define OBJ_aes_128_cfb128 OBJ_aes,4L - -#define SN_id_aes128_wrap "id-aes128-wrap" -#define NID_id_aes128_wrap 788 -#define OBJ_id_aes128_wrap OBJ_aes,5L - -#define SN_aes_128_gcm "id-aes128-GCM" -#define LN_aes_128_gcm "aes-128-gcm" -#define NID_aes_128_gcm 895 -#define OBJ_aes_128_gcm OBJ_aes,6L - -#define SN_aes_128_ccm "id-aes128-CCM" -#define LN_aes_128_ccm "aes-128-ccm" -#define NID_aes_128_ccm 896 -#define OBJ_aes_128_ccm OBJ_aes,7L - -#define SN_id_aes128_wrap_pad "id-aes128-wrap-pad" -#define NID_id_aes128_wrap_pad 897 -#define OBJ_id_aes128_wrap_pad OBJ_aes,8L - -#define SN_aes_192_ecb "AES-192-ECB" -#define LN_aes_192_ecb "aes-192-ecb" -#define NID_aes_192_ecb 422 -#define OBJ_aes_192_ecb OBJ_aes,21L - -#define SN_aes_192_cbc "AES-192-CBC" -#define LN_aes_192_cbc "aes-192-cbc" -#define NID_aes_192_cbc 423 -#define OBJ_aes_192_cbc OBJ_aes,22L - -#define SN_aes_192_ofb128 "AES-192-OFB" -#define LN_aes_192_ofb128 "aes-192-ofb" -#define NID_aes_192_ofb128 424 -#define OBJ_aes_192_ofb128 OBJ_aes,23L - -#define SN_aes_192_cfb128 "AES-192-CFB" -#define LN_aes_192_cfb128 "aes-192-cfb" -#define NID_aes_192_cfb128 425 -#define OBJ_aes_192_cfb128 OBJ_aes,24L - -#define SN_id_aes192_wrap "id-aes192-wrap" -#define NID_id_aes192_wrap 789 -#define OBJ_id_aes192_wrap OBJ_aes,25L - -#define SN_aes_192_gcm "id-aes192-GCM" -#define LN_aes_192_gcm "aes-192-gcm" -#define NID_aes_192_gcm 898 -#define OBJ_aes_192_gcm OBJ_aes,26L - -#define SN_aes_192_ccm "id-aes192-CCM" -#define LN_aes_192_ccm "aes-192-ccm" -#define NID_aes_192_ccm 899 -#define OBJ_aes_192_ccm OBJ_aes,27L - -#define SN_id_aes192_wrap_pad "id-aes192-wrap-pad" -#define NID_id_aes192_wrap_pad 900 -#define OBJ_id_aes192_wrap_pad OBJ_aes,28L - -#define SN_aes_256_ecb "AES-256-ECB" -#define LN_aes_256_ecb "aes-256-ecb" -#define NID_aes_256_ecb 426 -#define OBJ_aes_256_ecb OBJ_aes,41L - -#define SN_aes_256_cbc "AES-256-CBC" -#define LN_aes_256_cbc "aes-256-cbc" -#define NID_aes_256_cbc 427 -#define OBJ_aes_256_cbc OBJ_aes,42L - -#define SN_aes_256_ofb128 "AES-256-OFB" -#define LN_aes_256_ofb128 "aes-256-ofb" -#define NID_aes_256_ofb128 428 -#define OBJ_aes_256_ofb128 OBJ_aes,43L - -#define SN_aes_256_cfb128 "AES-256-CFB" -#define LN_aes_256_cfb128 "aes-256-cfb" -#define NID_aes_256_cfb128 429 -#define OBJ_aes_256_cfb128 OBJ_aes,44L - -#define SN_id_aes256_wrap "id-aes256-wrap" -#define NID_id_aes256_wrap 790 -#define OBJ_id_aes256_wrap OBJ_aes,45L - -#define SN_aes_256_gcm "id-aes256-GCM" -#define LN_aes_256_gcm "aes-256-gcm" -#define NID_aes_256_gcm 901 -#define OBJ_aes_256_gcm OBJ_aes,46L - -#define SN_aes_256_ccm "id-aes256-CCM" -#define LN_aes_256_ccm "aes-256-ccm" -#define NID_aes_256_ccm 902 -#define OBJ_aes_256_ccm OBJ_aes,47L - -#define SN_id_aes256_wrap_pad "id-aes256-wrap-pad" -#define NID_id_aes256_wrap_pad 903 -#define OBJ_id_aes256_wrap_pad OBJ_aes,48L - -#define SN_aes_128_xts "AES-128-XTS" -#define LN_aes_128_xts "aes-128-xts" -#define NID_aes_128_xts 913 -#define OBJ_aes_128_xts OBJ_ieee_siswg,0L,1L,1L - -#define SN_aes_256_xts "AES-256-XTS" -#define LN_aes_256_xts "aes-256-xts" -#define NID_aes_256_xts 914 -#define OBJ_aes_256_xts OBJ_ieee_siswg,0L,1L,2L - -#define SN_aes_128_cfb1 "AES-128-CFB1" -#define LN_aes_128_cfb1 "aes-128-cfb1" -#define NID_aes_128_cfb1 650 - -#define SN_aes_192_cfb1 "AES-192-CFB1" -#define LN_aes_192_cfb1 "aes-192-cfb1" -#define NID_aes_192_cfb1 651 - -#define SN_aes_256_cfb1 "AES-256-CFB1" -#define LN_aes_256_cfb1 "aes-256-cfb1" -#define NID_aes_256_cfb1 652 - -#define SN_aes_128_cfb8 "AES-128-CFB8" -#define LN_aes_128_cfb8 "aes-128-cfb8" -#define NID_aes_128_cfb8 653 - -#define SN_aes_192_cfb8 "AES-192-CFB8" -#define LN_aes_192_cfb8 "aes-192-cfb8" -#define NID_aes_192_cfb8 654 - -#define SN_aes_256_cfb8 "AES-256-CFB8" -#define LN_aes_256_cfb8 "aes-256-cfb8" -#define NID_aes_256_cfb8 655 - -#define SN_aes_128_ctr "AES-128-CTR" -#define LN_aes_128_ctr "aes-128-ctr" -#define NID_aes_128_ctr 904 - -#define SN_aes_192_ctr "AES-192-CTR" -#define LN_aes_192_ctr "aes-192-ctr" -#define NID_aes_192_ctr 905 - -#define SN_aes_256_ctr "AES-256-CTR" -#define LN_aes_256_ctr "aes-256-ctr" -#define NID_aes_256_ctr 906 - -#define SN_aes_128_ocb "AES-128-OCB" -#define LN_aes_128_ocb "aes-128-ocb" -#define NID_aes_128_ocb 958 - -#define SN_aes_192_ocb "AES-192-OCB" -#define LN_aes_192_ocb "aes-192-ocb" -#define NID_aes_192_ocb 959 - -#define SN_aes_256_ocb "AES-256-OCB" -#define LN_aes_256_ocb "aes-256-ocb" -#define NID_aes_256_ocb 960 - -#define SN_des_cfb1 "DES-CFB1" -#define LN_des_cfb1 "des-cfb1" -#define NID_des_cfb1 656 - -#define SN_des_cfb8 "DES-CFB8" -#define LN_des_cfb8 "des-cfb8" -#define NID_des_cfb8 657 - -#define SN_des_ede3_cfb1 "DES-EDE3-CFB1" -#define LN_des_ede3_cfb1 "des-ede3-cfb1" -#define NID_des_ede3_cfb1 658 - -#define SN_des_ede3_cfb8 "DES-EDE3-CFB8" -#define LN_des_ede3_cfb8 "des-ede3-cfb8" -#define NID_des_ede3_cfb8 659 - -#define OBJ_nist_hashalgs OBJ_nistAlgorithms,2L - -#define SN_sha256 "SHA256" -#define LN_sha256 "sha256" -#define NID_sha256 672 -#define OBJ_sha256 OBJ_nist_hashalgs,1L - -#define SN_sha384 "SHA384" -#define LN_sha384 "sha384" -#define NID_sha384 673 -#define OBJ_sha384 OBJ_nist_hashalgs,2L - -#define SN_sha512 "SHA512" -#define LN_sha512 "sha512" -#define NID_sha512 674 -#define OBJ_sha512 OBJ_nist_hashalgs,3L - -#define SN_sha224 "SHA224" -#define LN_sha224 "sha224" -#define NID_sha224 675 -#define OBJ_sha224 OBJ_nist_hashalgs,4L - -#define SN_sha512_224 "SHA512-224" -#define LN_sha512_224 "sha512-224" -#define NID_sha512_224 1094 -#define OBJ_sha512_224 OBJ_nist_hashalgs,5L - -#define SN_sha512_256 "SHA512-256" -#define LN_sha512_256 "sha512-256" -#define NID_sha512_256 1095 -#define OBJ_sha512_256 OBJ_nist_hashalgs,6L - -#define SN_sha3_224 "SHA3-224" -#define LN_sha3_224 "sha3-224" -#define NID_sha3_224 1096 -#define OBJ_sha3_224 OBJ_nist_hashalgs,7L - -#define SN_sha3_256 "SHA3-256" -#define LN_sha3_256 "sha3-256" -#define NID_sha3_256 1097 -#define OBJ_sha3_256 OBJ_nist_hashalgs,8L - -#define SN_sha3_384 "SHA3-384" -#define LN_sha3_384 "sha3-384" -#define NID_sha3_384 1098 -#define OBJ_sha3_384 OBJ_nist_hashalgs,9L - -#define SN_sha3_512 "SHA3-512" -#define LN_sha3_512 "sha3-512" -#define NID_sha3_512 1099 -#define OBJ_sha3_512 OBJ_nist_hashalgs,10L - -#define SN_shake128 "SHAKE128" -#define LN_shake128 "shake128" -#define NID_shake128 1100 -#define OBJ_shake128 OBJ_nist_hashalgs,11L - -#define SN_shake256 "SHAKE256" -#define LN_shake256 "shake256" -#define NID_shake256 1101 -#define OBJ_shake256 OBJ_nist_hashalgs,12L - -#define SN_hmac_sha3_224 "id-hmacWithSHA3-224" -#define LN_hmac_sha3_224 "hmac-sha3-224" -#define NID_hmac_sha3_224 1102 -#define OBJ_hmac_sha3_224 OBJ_nist_hashalgs,13L - -#define SN_hmac_sha3_256 "id-hmacWithSHA3-256" -#define LN_hmac_sha3_256 "hmac-sha3-256" -#define NID_hmac_sha3_256 1103 -#define OBJ_hmac_sha3_256 OBJ_nist_hashalgs,14L - -#define SN_hmac_sha3_384 "id-hmacWithSHA3-384" -#define LN_hmac_sha3_384 "hmac-sha3-384" -#define NID_hmac_sha3_384 1104 -#define OBJ_hmac_sha3_384 OBJ_nist_hashalgs,15L - -#define SN_hmac_sha3_512 "id-hmacWithSHA3-512" -#define LN_hmac_sha3_512 "hmac-sha3-512" -#define NID_hmac_sha3_512 1105 -#define OBJ_hmac_sha3_512 OBJ_nist_hashalgs,16L - -#define OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L - -#define SN_dsa_with_SHA224 "dsa_with_SHA224" -#define NID_dsa_with_SHA224 802 -#define OBJ_dsa_with_SHA224 OBJ_dsa_with_sha2,1L - -#define SN_dsa_with_SHA256 "dsa_with_SHA256" -#define NID_dsa_with_SHA256 803 -#define OBJ_dsa_with_SHA256 OBJ_dsa_with_sha2,2L - -#define OBJ_sigAlgs OBJ_nistAlgorithms,3L - -#define SN_dsa_with_SHA384 "id-dsa-with-sha384" -#define LN_dsa_with_SHA384 "dsa_with_SHA384" -#define NID_dsa_with_SHA384 1106 -#define OBJ_dsa_with_SHA384 OBJ_sigAlgs,3L - -#define SN_dsa_with_SHA512 "id-dsa-with-sha512" -#define LN_dsa_with_SHA512 "dsa_with_SHA512" -#define NID_dsa_with_SHA512 1107 -#define OBJ_dsa_with_SHA512 OBJ_sigAlgs,4L - -#define SN_dsa_with_SHA3_224 "id-dsa-with-sha3-224" -#define LN_dsa_with_SHA3_224 "dsa_with_SHA3-224" -#define NID_dsa_with_SHA3_224 1108 -#define OBJ_dsa_with_SHA3_224 OBJ_sigAlgs,5L - -#define SN_dsa_with_SHA3_256 "id-dsa-with-sha3-256" -#define LN_dsa_with_SHA3_256 "dsa_with_SHA3-256" -#define NID_dsa_with_SHA3_256 1109 -#define OBJ_dsa_with_SHA3_256 OBJ_sigAlgs,6L - -#define SN_dsa_with_SHA3_384 "id-dsa-with-sha3-384" -#define LN_dsa_with_SHA3_384 "dsa_with_SHA3-384" -#define NID_dsa_with_SHA3_384 1110 -#define OBJ_dsa_with_SHA3_384 OBJ_sigAlgs,7L - -#define SN_dsa_with_SHA3_512 "id-dsa-with-sha3-512" -#define LN_dsa_with_SHA3_512 "dsa_with_SHA3-512" -#define NID_dsa_with_SHA3_512 1111 -#define OBJ_dsa_with_SHA3_512 OBJ_sigAlgs,8L - -#define SN_ecdsa_with_SHA3_224 "id-ecdsa-with-sha3-224" -#define LN_ecdsa_with_SHA3_224 "ecdsa_with_SHA3-224" -#define NID_ecdsa_with_SHA3_224 1112 -#define OBJ_ecdsa_with_SHA3_224 OBJ_sigAlgs,9L - -#define SN_ecdsa_with_SHA3_256 "id-ecdsa-with-sha3-256" -#define LN_ecdsa_with_SHA3_256 "ecdsa_with_SHA3-256" -#define NID_ecdsa_with_SHA3_256 1113 -#define OBJ_ecdsa_with_SHA3_256 OBJ_sigAlgs,10L - -#define SN_ecdsa_with_SHA3_384 "id-ecdsa-with-sha3-384" -#define LN_ecdsa_with_SHA3_384 "ecdsa_with_SHA3-384" -#define NID_ecdsa_with_SHA3_384 1114 -#define OBJ_ecdsa_with_SHA3_384 OBJ_sigAlgs,11L - -#define SN_ecdsa_with_SHA3_512 "id-ecdsa-with-sha3-512" -#define LN_ecdsa_with_SHA3_512 "ecdsa_with_SHA3-512" -#define NID_ecdsa_with_SHA3_512 1115 -#define OBJ_ecdsa_with_SHA3_512 OBJ_sigAlgs,12L - -#define SN_RSA_SHA3_224 "id-rsassa-pkcs1-v1_5-with-sha3-224" -#define LN_RSA_SHA3_224 "RSA-SHA3-224" -#define NID_RSA_SHA3_224 1116 -#define OBJ_RSA_SHA3_224 OBJ_sigAlgs,13L - -#define SN_RSA_SHA3_256 "id-rsassa-pkcs1-v1_5-with-sha3-256" -#define LN_RSA_SHA3_256 "RSA-SHA3-256" -#define NID_RSA_SHA3_256 1117 -#define OBJ_RSA_SHA3_256 OBJ_sigAlgs,14L - -#define SN_RSA_SHA3_384 "id-rsassa-pkcs1-v1_5-with-sha3-384" -#define LN_RSA_SHA3_384 "RSA-SHA3-384" -#define NID_RSA_SHA3_384 1118 -#define OBJ_RSA_SHA3_384 OBJ_sigAlgs,15L - -#define SN_RSA_SHA3_512 "id-rsassa-pkcs1-v1_5-with-sha3-512" -#define LN_RSA_SHA3_512 "RSA-SHA3-512" -#define NID_RSA_SHA3_512 1119 -#define OBJ_RSA_SHA3_512 OBJ_sigAlgs,16L - -#define SN_hold_instruction_code "holdInstructionCode" -#define LN_hold_instruction_code "Hold Instruction Code" -#define NID_hold_instruction_code 430 -#define OBJ_hold_instruction_code OBJ_id_ce,23L - -#define OBJ_holdInstruction OBJ_X9_57,2L - -#define SN_hold_instruction_none "holdInstructionNone" -#define LN_hold_instruction_none "Hold Instruction None" -#define NID_hold_instruction_none 431 -#define OBJ_hold_instruction_none OBJ_holdInstruction,1L - -#define SN_hold_instruction_call_issuer "holdInstructionCallIssuer" -#define LN_hold_instruction_call_issuer "Hold Instruction Call Issuer" -#define NID_hold_instruction_call_issuer 432 -#define OBJ_hold_instruction_call_issuer OBJ_holdInstruction,2L - -#define SN_hold_instruction_reject "holdInstructionReject" -#define LN_hold_instruction_reject "Hold Instruction Reject" -#define NID_hold_instruction_reject 433 -#define OBJ_hold_instruction_reject OBJ_holdInstruction,3L - -#define SN_data "data" -#define NID_data 434 -#define OBJ_data OBJ_itu_t,9L - -#define SN_pss "pss" -#define NID_pss 435 -#define OBJ_pss OBJ_data,2342L - -#define SN_ucl "ucl" -#define NID_ucl 436 -#define OBJ_ucl OBJ_pss,19200300L - -#define SN_pilot "pilot" -#define NID_pilot 437 -#define OBJ_pilot OBJ_ucl,100L - -#define LN_pilotAttributeType "pilotAttributeType" -#define NID_pilotAttributeType 438 -#define OBJ_pilotAttributeType OBJ_pilot,1L - -#define LN_pilotAttributeSyntax "pilotAttributeSyntax" -#define NID_pilotAttributeSyntax 439 -#define OBJ_pilotAttributeSyntax OBJ_pilot,3L - -#define LN_pilotObjectClass "pilotObjectClass" -#define NID_pilotObjectClass 440 -#define OBJ_pilotObjectClass OBJ_pilot,4L - -#define LN_pilotGroups "pilotGroups" -#define NID_pilotGroups 441 -#define OBJ_pilotGroups OBJ_pilot,10L - -#define LN_iA5StringSyntax "iA5StringSyntax" -#define NID_iA5StringSyntax 442 -#define OBJ_iA5StringSyntax OBJ_pilotAttributeSyntax,4L - -#define LN_caseIgnoreIA5StringSyntax "caseIgnoreIA5StringSyntax" -#define NID_caseIgnoreIA5StringSyntax 443 -#define OBJ_caseIgnoreIA5StringSyntax OBJ_pilotAttributeSyntax,5L - -#define LN_pilotObject "pilotObject" -#define NID_pilotObject 444 -#define OBJ_pilotObject OBJ_pilotObjectClass,3L - -#define LN_pilotPerson "pilotPerson" -#define NID_pilotPerson 445 -#define OBJ_pilotPerson OBJ_pilotObjectClass,4L - -#define SN_account "account" -#define NID_account 446 -#define OBJ_account OBJ_pilotObjectClass,5L - -#define SN_document "document" -#define NID_document 447 -#define OBJ_document OBJ_pilotObjectClass,6L - -#define SN_room "room" -#define NID_room 448 -#define OBJ_room OBJ_pilotObjectClass,7L - -#define LN_documentSeries "documentSeries" -#define NID_documentSeries 449 -#define OBJ_documentSeries OBJ_pilotObjectClass,9L - -#define SN_Domain "domain" -#define LN_Domain "Domain" -#define NID_Domain 392 -#define OBJ_Domain OBJ_pilotObjectClass,13L - -#define LN_rFC822localPart "rFC822localPart" -#define NID_rFC822localPart 450 -#define OBJ_rFC822localPart OBJ_pilotObjectClass,14L - -#define LN_dNSDomain "dNSDomain" -#define NID_dNSDomain 451 -#define OBJ_dNSDomain OBJ_pilotObjectClass,15L - -#define LN_domainRelatedObject "domainRelatedObject" -#define NID_domainRelatedObject 452 -#define OBJ_domainRelatedObject OBJ_pilotObjectClass,17L - -#define LN_friendlyCountry "friendlyCountry" -#define NID_friendlyCountry 453 -#define OBJ_friendlyCountry OBJ_pilotObjectClass,18L - -#define LN_simpleSecurityObject "simpleSecurityObject" -#define NID_simpleSecurityObject 454 -#define OBJ_simpleSecurityObject OBJ_pilotObjectClass,19L - -#define LN_pilotOrganization "pilotOrganization" -#define NID_pilotOrganization 455 -#define OBJ_pilotOrganization OBJ_pilotObjectClass,20L - -#define LN_pilotDSA "pilotDSA" -#define NID_pilotDSA 456 -#define OBJ_pilotDSA OBJ_pilotObjectClass,21L - -#define LN_qualityLabelledData "qualityLabelledData" -#define NID_qualityLabelledData 457 -#define OBJ_qualityLabelledData OBJ_pilotObjectClass,22L - -#define SN_userId "UID" -#define LN_userId "userId" -#define NID_userId 458 -#define OBJ_userId OBJ_pilotAttributeType,1L - -#define LN_textEncodedORAddress "textEncodedORAddress" -#define NID_textEncodedORAddress 459 -#define OBJ_textEncodedORAddress OBJ_pilotAttributeType,2L - -#define SN_rfc822Mailbox "mail" -#define LN_rfc822Mailbox "rfc822Mailbox" -#define NID_rfc822Mailbox 460 -#define OBJ_rfc822Mailbox OBJ_pilotAttributeType,3L - -#define SN_info "info" -#define NID_info 461 -#define OBJ_info OBJ_pilotAttributeType,4L - -#define LN_favouriteDrink "favouriteDrink" -#define NID_favouriteDrink 462 -#define OBJ_favouriteDrink OBJ_pilotAttributeType,5L - -#define LN_roomNumber "roomNumber" -#define NID_roomNumber 463 -#define OBJ_roomNumber OBJ_pilotAttributeType,6L - -#define SN_photo "photo" -#define NID_photo 464 -#define OBJ_photo OBJ_pilotAttributeType,7L - -#define LN_userClass "userClass" -#define NID_userClass 465 -#define OBJ_userClass OBJ_pilotAttributeType,8L - -#define SN_host "host" -#define NID_host 466 -#define OBJ_host OBJ_pilotAttributeType,9L - -#define SN_manager "manager" -#define NID_manager 467 -#define OBJ_manager OBJ_pilotAttributeType,10L - -#define LN_documentIdentifier "documentIdentifier" -#define NID_documentIdentifier 468 -#define OBJ_documentIdentifier OBJ_pilotAttributeType,11L - -#define LN_documentTitle "documentTitle" -#define NID_documentTitle 469 -#define OBJ_documentTitle OBJ_pilotAttributeType,12L - -#define LN_documentVersion "documentVersion" -#define NID_documentVersion 470 -#define OBJ_documentVersion OBJ_pilotAttributeType,13L - -#define LN_documentAuthor "documentAuthor" -#define NID_documentAuthor 471 -#define OBJ_documentAuthor OBJ_pilotAttributeType,14L - -#define LN_documentLocation "documentLocation" -#define NID_documentLocation 472 -#define OBJ_documentLocation OBJ_pilotAttributeType,15L - -#define LN_homeTelephoneNumber "homeTelephoneNumber" -#define NID_homeTelephoneNumber 473 -#define OBJ_homeTelephoneNumber OBJ_pilotAttributeType,20L - -#define SN_secretary "secretary" -#define NID_secretary 474 -#define OBJ_secretary OBJ_pilotAttributeType,21L - -#define LN_otherMailbox "otherMailbox" -#define NID_otherMailbox 475 -#define OBJ_otherMailbox OBJ_pilotAttributeType,22L - -#define LN_lastModifiedTime "lastModifiedTime" -#define NID_lastModifiedTime 476 -#define OBJ_lastModifiedTime OBJ_pilotAttributeType,23L - -#define LN_lastModifiedBy "lastModifiedBy" -#define NID_lastModifiedBy 477 -#define OBJ_lastModifiedBy OBJ_pilotAttributeType,24L - -#define SN_domainComponent "DC" -#define LN_domainComponent "domainComponent" -#define NID_domainComponent 391 -#define OBJ_domainComponent OBJ_pilotAttributeType,25L - -#define LN_aRecord "aRecord" -#define NID_aRecord 478 -#define OBJ_aRecord OBJ_pilotAttributeType,26L - -#define LN_pilotAttributeType27 "pilotAttributeType27" -#define NID_pilotAttributeType27 479 -#define OBJ_pilotAttributeType27 OBJ_pilotAttributeType,27L - -#define LN_mXRecord "mXRecord" -#define NID_mXRecord 480 -#define OBJ_mXRecord OBJ_pilotAttributeType,28L - -#define LN_nSRecord "nSRecord" -#define NID_nSRecord 481 -#define OBJ_nSRecord OBJ_pilotAttributeType,29L - -#define LN_sOARecord "sOARecord" -#define NID_sOARecord 482 -#define OBJ_sOARecord OBJ_pilotAttributeType,30L - -#define LN_cNAMERecord "cNAMERecord" -#define NID_cNAMERecord 483 -#define OBJ_cNAMERecord OBJ_pilotAttributeType,31L - -#define LN_associatedDomain "associatedDomain" -#define NID_associatedDomain 484 -#define OBJ_associatedDomain OBJ_pilotAttributeType,37L - -#define LN_associatedName "associatedName" -#define NID_associatedName 485 -#define OBJ_associatedName OBJ_pilotAttributeType,38L - -#define LN_homePostalAddress "homePostalAddress" -#define NID_homePostalAddress 486 -#define OBJ_homePostalAddress OBJ_pilotAttributeType,39L - -#define LN_personalTitle "personalTitle" -#define NID_personalTitle 487 -#define OBJ_personalTitle OBJ_pilotAttributeType,40L - -#define LN_mobileTelephoneNumber "mobileTelephoneNumber" -#define NID_mobileTelephoneNumber 488 -#define OBJ_mobileTelephoneNumber OBJ_pilotAttributeType,41L - -#define LN_pagerTelephoneNumber "pagerTelephoneNumber" -#define NID_pagerTelephoneNumber 489 -#define OBJ_pagerTelephoneNumber OBJ_pilotAttributeType,42L - -#define LN_friendlyCountryName "friendlyCountryName" -#define NID_friendlyCountryName 490 -#define OBJ_friendlyCountryName OBJ_pilotAttributeType,43L - -#define SN_uniqueIdentifier "uid" -#define LN_uniqueIdentifier "uniqueIdentifier" -#define NID_uniqueIdentifier 102 -#define OBJ_uniqueIdentifier OBJ_pilotAttributeType,44L - -#define LN_organizationalStatus "organizationalStatus" -#define NID_organizationalStatus 491 -#define OBJ_organizationalStatus OBJ_pilotAttributeType,45L - -#define LN_janetMailbox "janetMailbox" -#define NID_janetMailbox 492 -#define OBJ_janetMailbox OBJ_pilotAttributeType,46L - -#define LN_mailPreferenceOption "mailPreferenceOption" -#define NID_mailPreferenceOption 493 -#define OBJ_mailPreferenceOption OBJ_pilotAttributeType,47L - -#define LN_buildingName "buildingName" -#define NID_buildingName 494 -#define OBJ_buildingName OBJ_pilotAttributeType,48L - -#define LN_dSAQuality "dSAQuality" -#define NID_dSAQuality 495 -#define OBJ_dSAQuality OBJ_pilotAttributeType,49L - -#define LN_singleLevelQuality "singleLevelQuality" -#define NID_singleLevelQuality 496 -#define OBJ_singleLevelQuality OBJ_pilotAttributeType,50L - -#define LN_subtreeMinimumQuality "subtreeMinimumQuality" -#define NID_subtreeMinimumQuality 497 -#define OBJ_subtreeMinimumQuality OBJ_pilotAttributeType,51L - -#define LN_subtreeMaximumQuality "subtreeMaximumQuality" -#define NID_subtreeMaximumQuality 498 -#define OBJ_subtreeMaximumQuality OBJ_pilotAttributeType,52L - -#define LN_personalSignature "personalSignature" -#define NID_personalSignature 499 -#define OBJ_personalSignature OBJ_pilotAttributeType,53L - -#define LN_dITRedirect "dITRedirect" -#define NID_dITRedirect 500 -#define OBJ_dITRedirect OBJ_pilotAttributeType,54L - -#define SN_audio "audio" -#define NID_audio 501 -#define OBJ_audio OBJ_pilotAttributeType,55L - -#define LN_documentPublisher "documentPublisher" -#define NID_documentPublisher 502 -#define OBJ_documentPublisher OBJ_pilotAttributeType,56L - -#define SN_id_set "id-set" -#define LN_id_set "Secure Electronic Transactions" -#define NID_id_set 512 -#define OBJ_id_set OBJ_international_organizations,42L - -#define SN_set_ctype "set-ctype" -#define LN_set_ctype "content types" -#define NID_set_ctype 513 -#define OBJ_set_ctype OBJ_id_set,0L - -#define SN_set_msgExt "set-msgExt" -#define LN_set_msgExt "message extensions" -#define NID_set_msgExt 514 -#define OBJ_set_msgExt OBJ_id_set,1L - -#define SN_set_attr "set-attr" -#define NID_set_attr 515 -#define OBJ_set_attr OBJ_id_set,3L - -#define SN_set_policy "set-policy" -#define NID_set_policy 516 -#define OBJ_set_policy OBJ_id_set,5L - -#define SN_set_certExt "set-certExt" -#define LN_set_certExt "certificate extensions" -#define NID_set_certExt 517 -#define OBJ_set_certExt OBJ_id_set,7L - -#define SN_set_brand "set-brand" -#define NID_set_brand 518 -#define OBJ_set_brand OBJ_id_set,8L - -#define SN_setct_PANData "setct-PANData" -#define NID_setct_PANData 519 -#define OBJ_setct_PANData OBJ_set_ctype,0L - -#define SN_setct_PANToken "setct-PANToken" -#define NID_setct_PANToken 520 -#define OBJ_setct_PANToken OBJ_set_ctype,1L - -#define SN_setct_PANOnly "setct-PANOnly" -#define NID_setct_PANOnly 521 -#define OBJ_setct_PANOnly OBJ_set_ctype,2L - -#define SN_setct_OIData "setct-OIData" -#define NID_setct_OIData 522 -#define OBJ_setct_OIData OBJ_set_ctype,3L - -#define SN_setct_PI "setct-PI" -#define NID_setct_PI 523 -#define OBJ_setct_PI OBJ_set_ctype,4L - -#define SN_setct_PIData "setct-PIData" -#define NID_setct_PIData 524 -#define OBJ_setct_PIData OBJ_set_ctype,5L - -#define SN_setct_PIDataUnsigned "setct-PIDataUnsigned" -#define NID_setct_PIDataUnsigned 525 -#define OBJ_setct_PIDataUnsigned OBJ_set_ctype,6L - -#define SN_setct_HODInput "setct-HODInput" -#define NID_setct_HODInput 526 -#define OBJ_setct_HODInput OBJ_set_ctype,7L - -#define SN_setct_AuthResBaggage "setct-AuthResBaggage" -#define NID_setct_AuthResBaggage 527 -#define OBJ_setct_AuthResBaggage OBJ_set_ctype,8L - -#define SN_setct_AuthRevReqBaggage "setct-AuthRevReqBaggage" -#define NID_setct_AuthRevReqBaggage 528 -#define OBJ_setct_AuthRevReqBaggage OBJ_set_ctype,9L - -#define SN_setct_AuthRevResBaggage "setct-AuthRevResBaggage" -#define NID_setct_AuthRevResBaggage 529 -#define OBJ_setct_AuthRevResBaggage OBJ_set_ctype,10L - -#define SN_setct_CapTokenSeq "setct-CapTokenSeq" -#define NID_setct_CapTokenSeq 530 -#define OBJ_setct_CapTokenSeq OBJ_set_ctype,11L - -#define SN_setct_PInitResData "setct-PInitResData" -#define NID_setct_PInitResData 531 -#define OBJ_setct_PInitResData OBJ_set_ctype,12L - -#define SN_setct_PI_TBS "setct-PI-TBS" -#define NID_setct_PI_TBS 532 -#define OBJ_setct_PI_TBS OBJ_set_ctype,13L - -#define SN_setct_PResData "setct-PResData" -#define NID_setct_PResData 533 -#define OBJ_setct_PResData OBJ_set_ctype,14L - -#define SN_setct_AuthReqTBS "setct-AuthReqTBS" -#define NID_setct_AuthReqTBS 534 -#define OBJ_setct_AuthReqTBS OBJ_set_ctype,16L - -#define SN_setct_AuthResTBS "setct-AuthResTBS" -#define NID_setct_AuthResTBS 535 -#define OBJ_setct_AuthResTBS OBJ_set_ctype,17L - -#define SN_setct_AuthResTBSX "setct-AuthResTBSX" -#define NID_setct_AuthResTBSX 536 -#define OBJ_setct_AuthResTBSX OBJ_set_ctype,18L - -#define SN_setct_AuthTokenTBS "setct-AuthTokenTBS" -#define NID_setct_AuthTokenTBS 537 -#define OBJ_setct_AuthTokenTBS OBJ_set_ctype,19L - -#define SN_setct_CapTokenData "setct-CapTokenData" -#define NID_setct_CapTokenData 538 -#define OBJ_setct_CapTokenData OBJ_set_ctype,20L - -#define SN_setct_CapTokenTBS "setct-CapTokenTBS" -#define NID_setct_CapTokenTBS 539 -#define OBJ_setct_CapTokenTBS OBJ_set_ctype,21L - -#define SN_setct_AcqCardCodeMsg "setct-AcqCardCodeMsg" -#define NID_setct_AcqCardCodeMsg 540 -#define OBJ_setct_AcqCardCodeMsg OBJ_set_ctype,22L - -#define SN_setct_AuthRevReqTBS "setct-AuthRevReqTBS" -#define NID_setct_AuthRevReqTBS 541 -#define OBJ_setct_AuthRevReqTBS OBJ_set_ctype,23L - -#define SN_setct_AuthRevResData "setct-AuthRevResData" -#define NID_setct_AuthRevResData 542 -#define OBJ_setct_AuthRevResData OBJ_set_ctype,24L - -#define SN_setct_AuthRevResTBS "setct-AuthRevResTBS" -#define NID_setct_AuthRevResTBS 543 -#define OBJ_setct_AuthRevResTBS OBJ_set_ctype,25L - -#define SN_setct_CapReqTBS "setct-CapReqTBS" -#define NID_setct_CapReqTBS 544 -#define OBJ_setct_CapReqTBS OBJ_set_ctype,26L - -#define SN_setct_CapReqTBSX "setct-CapReqTBSX" -#define NID_setct_CapReqTBSX 545 -#define OBJ_setct_CapReqTBSX OBJ_set_ctype,27L - -#define SN_setct_CapResData "setct-CapResData" -#define NID_setct_CapResData 546 -#define OBJ_setct_CapResData OBJ_set_ctype,28L - -#define SN_setct_CapRevReqTBS "setct-CapRevReqTBS" -#define NID_setct_CapRevReqTBS 547 -#define OBJ_setct_CapRevReqTBS OBJ_set_ctype,29L - -#define SN_setct_CapRevReqTBSX "setct-CapRevReqTBSX" -#define NID_setct_CapRevReqTBSX 548 -#define OBJ_setct_CapRevReqTBSX OBJ_set_ctype,30L - -#define SN_setct_CapRevResData "setct-CapRevResData" -#define NID_setct_CapRevResData 549 -#define OBJ_setct_CapRevResData OBJ_set_ctype,31L - -#define SN_setct_CredReqTBS "setct-CredReqTBS" -#define NID_setct_CredReqTBS 550 -#define OBJ_setct_CredReqTBS OBJ_set_ctype,32L - -#define SN_setct_CredReqTBSX "setct-CredReqTBSX" -#define NID_setct_CredReqTBSX 551 -#define OBJ_setct_CredReqTBSX OBJ_set_ctype,33L - -#define SN_setct_CredResData "setct-CredResData" -#define NID_setct_CredResData 552 -#define OBJ_setct_CredResData OBJ_set_ctype,34L - -#define SN_setct_CredRevReqTBS "setct-CredRevReqTBS" -#define NID_setct_CredRevReqTBS 553 -#define OBJ_setct_CredRevReqTBS OBJ_set_ctype,35L - -#define SN_setct_CredRevReqTBSX "setct-CredRevReqTBSX" -#define NID_setct_CredRevReqTBSX 554 -#define OBJ_setct_CredRevReqTBSX OBJ_set_ctype,36L - -#define SN_setct_CredRevResData "setct-CredRevResData" -#define NID_setct_CredRevResData 555 -#define OBJ_setct_CredRevResData OBJ_set_ctype,37L - -#define SN_setct_PCertReqData "setct-PCertReqData" -#define NID_setct_PCertReqData 556 -#define OBJ_setct_PCertReqData OBJ_set_ctype,38L - -#define SN_setct_PCertResTBS "setct-PCertResTBS" -#define NID_setct_PCertResTBS 557 -#define OBJ_setct_PCertResTBS OBJ_set_ctype,39L - -#define SN_setct_BatchAdminReqData "setct-BatchAdminReqData" -#define NID_setct_BatchAdminReqData 558 -#define OBJ_setct_BatchAdminReqData OBJ_set_ctype,40L - -#define SN_setct_BatchAdminResData "setct-BatchAdminResData" -#define NID_setct_BatchAdminResData 559 -#define OBJ_setct_BatchAdminResData OBJ_set_ctype,41L - -#define SN_setct_CardCInitResTBS "setct-CardCInitResTBS" -#define NID_setct_CardCInitResTBS 560 -#define OBJ_setct_CardCInitResTBS OBJ_set_ctype,42L - -#define SN_setct_MeAqCInitResTBS "setct-MeAqCInitResTBS" -#define NID_setct_MeAqCInitResTBS 561 -#define OBJ_setct_MeAqCInitResTBS OBJ_set_ctype,43L - -#define SN_setct_RegFormResTBS "setct-RegFormResTBS" -#define NID_setct_RegFormResTBS 562 -#define OBJ_setct_RegFormResTBS OBJ_set_ctype,44L - -#define SN_setct_CertReqData "setct-CertReqData" -#define NID_setct_CertReqData 563 -#define OBJ_setct_CertReqData OBJ_set_ctype,45L - -#define SN_setct_CertReqTBS "setct-CertReqTBS" -#define NID_setct_CertReqTBS 564 -#define OBJ_setct_CertReqTBS OBJ_set_ctype,46L - -#define SN_setct_CertResData "setct-CertResData" -#define NID_setct_CertResData 565 -#define OBJ_setct_CertResData OBJ_set_ctype,47L - -#define SN_setct_CertInqReqTBS "setct-CertInqReqTBS" -#define NID_setct_CertInqReqTBS 566 -#define OBJ_setct_CertInqReqTBS OBJ_set_ctype,48L - -#define SN_setct_ErrorTBS "setct-ErrorTBS" -#define NID_setct_ErrorTBS 567 -#define OBJ_setct_ErrorTBS OBJ_set_ctype,49L - -#define SN_setct_PIDualSignedTBE "setct-PIDualSignedTBE" -#define NID_setct_PIDualSignedTBE 568 -#define OBJ_setct_PIDualSignedTBE OBJ_set_ctype,50L - -#define SN_setct_PIUnsignedTBE "setct-PIUnsignedTBE" -#define NID_setct_PIUnsignedTBE 569 -#define OBJ_setct_PIUnsignedTBE OBJ_set_ctype,51L - -#define SN_setct_AuthReqTBE "setct-AuthReqTBE" -#define NID_setct_AuthReqTBE 570 -#define OBJ_setct_AuthReqTBE OBJ_set_ctype,52L - -#define SN_setct_AuthResTBE "setct-AuthResTBE" -#define NID_setct_AuthResTBE 571 -#define OBJ_setct_AuthResTBE OBJ_set_ctype,53L - -#define SN_setct_AuthResTBEX "setct-AuthResTBEX" -#define NID_setct_AuthResTBEX 572 -#define OBJ_setct_AuthResTBEX OBJ_set_ctype,54L - -#define SN_setct_AuthTokenTBE "setct-AuthTokenTBE" -#define NID_setct_AuthTokenTBE 573 -#define OBJ_setct_AuthTokenTBE OBJ_set_ctype,55L - -#define SN_setct_CapTokenTBE "setct-CapTokenTBE" -#define NID_setct_CapTokenTBE 574 -#define OBJ_setct_CapTokenTBE OBJ_set_ctype,56L - -#define SN_setct_CapTokenTBEX "setct-CapTokenTBEX" -#define NID_setct_CapTokenTBEX 575 -#define OBJ_setct_CapTokenTBEX OBJ_set_ctype,57L - -#define SN_setct_AcqCardCodeMsgTBE "setct-AcqCardCodeMsgTBE" -#define NID_setct_AcqCardCodeMsgTBE 576 -#define OBJ_setct_AcqCardCodeMsgTBE OBJ_set_ctype,58L - -#define SN_setct_AuthRevReqTBE "setct-AuthRevReqTBE" -#define NID_setct_AuthRevReqTBE 577 -#define OBJ_setct_AuthRevReqTBE OBJ_set_ctype,59L - -#define SN_setct_AuthRevResTBE "setct-AuthRevResTBE" -#define NID_setct_AuthRevResTBE 578 -#define OBJ_setct_AuthRevResTBE OBJ_set_ctype,60L - -#define SN_setct_AuthRevResTBEB "setct-AuthRevResTBEB" -#define NID_setct_AuthRevResTBEB 579 -#define OBJ_setct_AuthRevResTBEB OBJ_set_ctype,61L - -#define SN_setct_CapReqTBE "setct-CapReqTBE" -#define NID_setct_CapReqTBE 580 -#define OBJ_setct_CapReqTBE OBJ_set_ctype,62L - -#define SN_setct_CapReqTBEX "setct-CapReqTBEX" -#define NID_setct_CapReqTBEX 581 -#define OBJ_setct_CapReqTBEX OBJ_set_ctype,63L - -#define SN_setct_CapResTBE "setct-CapResTBE" -#define NID_setct_CapResTBE 582 -#define OBJ_setct_CapResTBE OBJ_set_ctype,64L - -#define SN_setct_CapRevReqTBE "setct-CapRevReqTBE" -#define NID_setct_CapRevReqTBE 583 -#define OBJ_setct_CapRevReqTBE OBJ_set_ctype,65L - -#define SN_setct_CapRevReqTBEX "setct-CapRevReqTBEX" -#define NID_setct_CapRevReqTBEX 584 -#define OBJ_setct_CapRevReqTBEX OBJ_set_ctype,66L - -#define SN_setct_CapRevResTBE "setct-CapRevResTBE" -#define NID_setct_CapRevResTBE 585 -#define OBJ_setct_CapRevResTBE OBJ_set_ctype,67L - -#define SN_setct_CredReqTBE "setct-CredReqTBE" -#define NID_setct_CredReqTBE 586 -#define OBJ_setct_CredReqTBE OBJ_set_ctype,68L - -#define SN_setct_CredReqTBEX "setct-CredReqTBEX" -#define NID_setct_CredReqTBEX 587 -#define OBJ_setct_CredReqTBEX OBJ_set_ctype,69L - -#define SN_setct_CredResTBE "setct-CredResTBE" -#define NID_setct_CredResTBE 588 -#define OBJ_setct_CredResTBE OBJ_set_ctype,70L - -#define SN_setct_CredRevReqTBE "setct-CredRevReqTBE" -#define NID_setct_CredRevReqTBE 589 -#define OBJ_setct_CredRevReqTBE OBJ_set_ctype,71L - -#define SN_setct_CredRevReqTBEX "setct-CredRevReqTBEX" -#define NID_setct_CredRevReqTBEX 590 -#define OBJ_setct_CredRevReqTBEX OBJ_set_ctype,72L - -#define SN_setct_CredRevResTBE "setct-CredRevResTBE" -#define NID_setct_CredRevResTBE 591 -#define OBJ_setct_CredRevResTBE OBJ_set_ctype,73L - -#define SN_setct_BatchAdminReqTBE "setct-BatchAdminReqTBE" -#define NID_setct_BatchAdminReqTBE 592 -#define OBJ_setct_BatchAdminReqTBE OBJ_set_ctype,74L - -#define SN_setct_BatchAdminResTBE "setct-BatchAdminResTBE" -#define NID_setct_BatchAdminResTBE 593 -#define OBJ_setct_BatchAdminResTBE OBJ_set_ctype,75L - -#define SN_setct_RegFormReqTBE "setct-RegFormReqTBE" -#define NID_setct_RegFormReqTBE 594 -#define OBJ_setct_RegFormReqTBE OBJ_set_ctype,76L - -#define SN_setct_CertReqTBE "setct-CertReqTBE" -#define NID_setct_CertReqTBE 595 -#define OBJ_setct_CertReqTBE OBJ_set_ctype,77L - -#define SN_setct_CertReqTBEX "setct-CertReqTBEX" -#define NID_setct_CertReqTBEX 596 -#define OBJ_setct_CertReqTBEX OBJ_set_ctype,78L - -#define SN_setct_CertResTBE "setct-CertResTBE" -#define NID_setct_CertResTBE 597 -#define OBJ_setct_CertResTBE OBJ_set_ctype,79L - -#define SN_setct_CRLNotificationTBS "setct-CRLNotificationTBS" -#define NID_setct_CRLNotificationTBS 598 -#define OBJ_setct_CRLNotificationTBS OBJ_set_ctype,80L - -#define SN_setct_CRLNotificationResTBS "setct-CRLNotificationResTBS" -#define NID_setct_CRLNotificationResTBS 599 -#define OBJ_setct_CRLNotificationResTBS OBJ_set_ctype,81L - -#define SN_setct_BCIDistributionTBS "setct-BCIDistributionTBS" -#define NID_setct_BCIDistributionTBS 600 -#define OBJ_setct_BCIDistributionTBS OBJ_set_ctype,82L - -#define SN_setext_genCrypt "setext-genCrypt" -#define LN_setext_genCrypt "generic cryptogram" -#define NID_setext_genCrypt 601 -#define OBJ_setext_genCrypt OBJ_set_msgExt,1L - -#define SN_setext_miAuth "setext-miAuth" -#define LN_setext_miAuth "merchant initiated auth" -#define NID_setext_miAuth 602 -#define OBJ_setext_miAuth OBJ_set_msgExt,3L - -#define SN_setext_pinSecure "setext-pinSecure" -#define NID_setext_pinSecure 603 -#define OBJ_setext_pinSecure OBJ_set_msgExt,4L - -#define SN_setext_pinAny "setext-pinAny" -#define NID_setext_pinAny 604 -#define OBJ_setext_pinAny OBJ_set_msgExt,5L - -#define SN_setext_track2 "setext-track2" -#define NID_setext_track2 605 -#define OBJ_setext_track2 OBJ_set_msgExt,7L - -#define SN_setext_cv "setext-cv" -#define LN_setext_cv "additional verification" -#define NID_setext_cv 606 -#define OBJ_setext_cv OBJ_set_msgExt,8L - -#define SN_set_policy_root "set-policy-root" -#define NID_set_policy_root 607 -#define OBJ_set_policy_root OBJ_set_policy,0L - -#define SN_setCext_hashedRoot "setCext-hashedRoot" -#define NID_setCext_hashedRoot 608 -#define OBJ_setCext_hashedRoot OBJ_set_certExt,0L - -#define SN_setCext_certType "setCext-certType" -#define NID_setCext_certType 609 -#define OBJ_setCext_certType OBJ_set_certExt,1L - -#define SN_setCext_merchData "setCext-merchData" -#define NID_setCext_merchData 610 -#define OBJ_setCext_merchData OBJ_set_certExt,2L - -#define SN_setCext_cCertRequired "setCext-cCertRequired" -#define NID_setCext_cCertRequired 611 -#define OBJ_setCext_cCertRequired OBJ_set_certExt,3L - -#define SN_setCext_tunneling "setCext-tunneling" -#define NID_setCext_tunneling 612 -#define OBJ_setCext_tunneling OBJ_set_certExt,4L - -#define SN_setCext_setExt "setCext-setExt" -#define NID_setCext_setExt 613 -#define OBJ_setCext_setExt OBJ_set_certExt,5L - -#define SN_setCext_setQualf "setCext-setQualf" -#define NID_setCext_setQualf 614 -#define OBJ_setCext_setQualf OBJ_set_certExt,6L - -#define SN_setCext_PGWYcapabilities "setCext-PGWYcapabilities" -#define NID_setCext_PGWYcapabilities 615 -#define OBJ_setCext_PGWYcapabilities OBJ_set_certExt,7L - -#define SN_setCext_TokenIdentifier "setCext-TokenIdentifier" -#define NID_setCext_TokenIdentifier 616 -#define OBJ_setCext_TokenIdentifier OBJ_set_certExt,8L - -#define SN_setCext_Track2Data "setCext-Track2Data" -#define NID_setCext_Track2Data 617 -#define OBJ_setCext_Track2Data OBJ_set_certExt,9L - -#define SN_setCext_TokenType "setCext-TokenType" -#define NID_setCext_TokenType 618 -#define OBJ_setCext_TokenType OBJ_set_certExt,10L - -#define SN_setCext_IssuerCapabilities "setCext-IssuerCapabilities" -#define NID_setCext_IssuerCapabilities 619 -#define OBJ_setCext_IssuerCapabilities OBJ_set_certExt,11L - -#define SN_setAttr_Cert "setAttr-Cert" -#define NID_setAttr_Cert 620 -#define OBJ_setAttr_Cert OBJ_set_attr,0L - -#define SN_setAttr_PGWYcap "setAttr-PGWYcap" -#define LN_setAttr_PGWYcap "payment gateway capabilities" -#define NID_setAttr_PGWYcap 621 -#define OBJ_setAttr_PGWYcap OBJ_set_attr,1L - -#define SN_setAttr_TokenType "setAttr-TokenType" -#define NID_setAttr_TokenType 622 -#define OBJ_setAttr_TokenType OBJ_set_attr,2L - -#define SN_setAttr_IssCap "setAttr-IssCap" -#define LN_setAttr_IssCap "issuer capabilities" -#define NID_setAttr_IssCap 623 -#define OBJ_setAttr_IssCap OBJ_set_attr,3L - -#define SN_set_rootKeyThumb "set-rootKeyThumb" -#define NID_set_rootKeyThumb 624 -#define OBJ_set_rootKeyThumb OBJ_setAttr_Cert,0L - -#define SN_set_addPolicy "set-addPolicy" -#define NID_set_addPolicy 625 -#define OBJ_set_addPolicy OBJ_setAttr_Cert,1L - -#define SN_setAttr_Token_EMV "setAttr-Token-EMV" -#define NID_setAttr_Token_EMV 626 -#define OBJ_setAttr_Token_EMV OBJ_setAttr_TokenType,1L - -#define SN_setAttr_Token_B0Prime "setAttr-Token-B0Prime" -#define NID_setAttr_Token_B0Prime 627 -#define OBJ_setAttr_Token_B0Prime OBJ_setAttr_TokenType,2L - -#define SN_setAttr_IssCap_CVM "setAttr-IssCap-CVM" -#define NID_setAttr_IssCap_CVM 628 -#define OBJ_setAttr_IssCap_CVM OBJ_setAttr_IssCap,3L - -#define SN_setAttr_IssCap_T2 "setAttr-IssCap-T2" -#define NID_setAttr_IssCap_T2 629 -#define OBJ_setAttr_IssCap_T2 OBJ_setAttr_IssCap,4L - -#define SN_setAttr_IssCap_Sig "setAttr-IssCap-Sig" -#define NID_setAttr_IssCap_Sig 630 -#define OBJ_setAttr_IssCap_Sig OBJ_setAttr_IssCap,5L - -#define SN_setAttr_GenCryptgrm "setAttr-GenCryptgrm" -#define LN_setAttr_GenCryptgrm "generate cryptogram" -#define NID_setAttr_GenCryptgrm 631 -#define OBJ_setAttr_GenCryptgrm OBJ_setAttr_IssCap_CVM,1L - -#define SN_setAttr_T2Enc "setAttr-T2Enc" -#define LN_setAttr_T2Enc "encrypted track 2" -#define NID_setAttr_T2Enc 632 -#define OBJ_setAttr_T2Enc OBJ_setAttr_IssCap_T2,1L - -#define SN_setAttr_T2cleartxt "setAttr-T2cleartxt" -#define LN_setAttr_T2cleartxt "cleartext track 2" -#define NID_setAttr_T2cleartxt 633 -#define OBJ_setAttr_T2cleartxt OBJ_setAttr_IssCap_T2,2L - -#define SN_setAttr_TokICCsig "setAttr-TokICCsig" -#define LN_setAttr_TokICCsig "ICC or token signature" -#define NID_setAttr_TokICCsig 634 -#define OBJ_setAttr_TokICCsig OBJ_setAttr_IssCap_Sig,1L - -#define SN_setAttr_SecDevSig "setAttr-SecDevSig" -#define LN_setAttr_SecDevSig "secure device signature" -#define NID_setAttr_SecDevSig 635 -#define OBJ_setAttr_SecDevSig OBJ_setAttr_IssCap_Sig,2L - -#define SN_set_brand_IATA_ATA "set-brand-IATA-ATA" -#define NID_set_brand_IATA_ATA 636 -#define OBJ_set_brand_IATA_ATA OBJ_set_brand,1L - -#define SN_set_brand_Diners "set-brand-Diners" -#define NID_set_brand_Diners 637 -#define OBJ_set_brand_Diners OBJ_set_brand,30L - -#define SN_set_brand_AmericanExpress "set-brand-AmericanExpress" -#define NID_set_brand_AmericanExpress 638 -#define OBJ_set_brand_AmericanExpress OBJ_set_brand,34L - -#define SN_set_brand_JCB "set-brand-JCB" -#define NID_set_brand_JCB 639 -#define OBJ_set_brand_JCB OBJ_set_brand,35L - -#define SN_set_brand_Visa "set-brand-Visa" -#define NID_set_brand_Visa 640 -#define OBJ_set_brand_Visa OBJ_set_brand,4L - -#define SN_set_brand_MasterCard "set-brand-MasterCard" -#define NID_set_brand_MasterCard 641 -#define OBJ_set_brand_MasterCard OBJ_set_brand,5L - -#define SN_set_brand_Novus "set-brand-Novus" -#define NID_set_brand_Novus 642 -#define OBJ_set_brand_Novus OBJ_set_brand,6011L - -#define SN_des_cdmf "DES-CDMF" -#define LN_des_cdmf "des-cdmf" -#define NID_des_cdmf 643 -#define OBJ_des_cdmf OBJ_rsadsi,3L,10L - -#define SN_rsaOAEPEncryptionSET "rsaOAEPEncryptionSET" -#define NID_rsaOAEPEncryptionSET 644 -#define OBJ_rsaOAEPEncryptionSET OBJ_rsadsi,1L,1L,6L - -#define SN_ipsec3 "Oakley-EC2N-3" -#define LN_ipsec3 "ipsec3" -#define NID_ipsec3 749 - -#define SN_ipsec4 "Oakley-EC2N-4" -#define LN_ipsec4 "ipsec4" -#define NID_ipsec4 750 - -#define SN_whirlpool "whirlpool" -#define NID_whirlpool 804 -#define OBJ_whirlpool OBJ_iso,0L,10118L,3L,0L,55L - -#define SN_cryptopro "cryptopro" -#define NID_cryptopro 805 -#define OBJ_cryptopro OBJ_member_body,643L,2L,2L - -#define SN_cryptocom "cryptocom" -#define NID_cryptocom 806 -#define OBJ_cryptocom OBJ_member_body,643L,2L,9L - -#define SN_id_tc26 "id-tc26" -#define NID_id_tc26 974 -#define OBJ_id_tc26 OBJ_member_body,643L,7L,1L - -#define SN_id_GostR3411_94_with_GostR3410_2001 "id-GostR3411-94-with-GostR3410-2001" -#define LN_id_GostR3411_94_with_GostR3410_2001 "GOST R 34.11-94 with GOST R 34.10-2001" -#define NID_id_GostR3411_94_with_GostR3410_2001 807 -#define OBJ_id_GostR3411_94_with_GostR3410_2001 OBJ_cryptopro,3L - -#define SN_id_GostR3411_94_with_GostR3410_94 "id-GostR3411-94-with-GostR3410-94" -#define LN_id_GostR3411_94_with_GostR3410_94 "GOST R 34.11-94 with GOST R 34.10-94" -#define NID_id_GostR3411_94_with_GostR3410_94 808 -#define OBJ_id_GostR3411_94_with_GostR3410_94 OBJ_cryptopro,4L - -#define SN_id_GostR3411_94 "md_gost94" -#define LN_id_GostR3411_94 "GOST R 34.11-94" -#define NID_id_GostR3411_94 809 -#define OBJ_id_GostR3411_94 OBJ_cryptopro,9L - -#define SN_id_HMACGostR3411_94 "id-HMACGostR3411-94" -#define LN_id_HMACGostR3411_94 "HMAC GOST 34.11-94" -#define NID_id_HMACGostR3411_94 810 -#define OBJ_id_HMACGostR3411_94 OBJ_cryptopro,10L - -#define SN_id_GostR3410_2001 "gost2001" -#define LN_id_GostR3410_2001 "GOST R 34.10-2001" -#define NID_id_GostR3410_2001 811 -#define OBJ_id_GostR3410_2001 OBJ_cryptopro,19L - -#define SN_id_GostR3410_94 "gost94" -#define LN_id_GostR3410_94 "GOST R 34.10-94" -#define NID_id_GostR3410_94 812 -#define OBJ_id_GostR3410_94 OBJ_cryptopro,20L - -#define SN_id_Gost28147_89 "gost89" -#define LN_id_Gost28147_89 "GOST 28147-89" -#define NID_id_Gost28147_89 813 -#define OBJ_id_Gost28147_89 OBJ_cryptopro,21L - -#define SN_gost89_cnt "gost89-cnt" -#define NID_gost89_cnt 814 - -#define SN_gost89_cnt_12 "gost89-cnt-12" -#define NID_gost89_cnt_12 975 - -#define SN_gost89_cbc "gost89-cbc" -#define NID_gost89_cbc 1009 - -#define SN_gost89_ecb "gost89-ecb" -#define NID_gost89_ecb 1010 - -#define SN_gost89_ctr "gost89-ctr" -#define NID_gost89_ctr 1011 - -#define SN_id_Gost28147_89_MAC "gost-mac" -#define LN_id_Gost28147_89_MAC "GOST 28147-89 MAC" -#define NID_id_Gost28147_89_MAC 815 -#define OBJ_id_Gost28147_89_MAC OBJ_cryptopro,22L - -#define SN_gost_mac_12 "gost-mac-12" -#define NID_gost_mac_12 976 - -#define SN_id_GostR3411_94_prf "prf-gostr3411-94" -#define LN_id_GostR3411_94_prf "GOST R 34.11-94 PRF" -#define NID_id_GostR3411_94_prf 816 -#define OBJ_id_GostR3411_94_prf OBJ_cryptopro,23L - -#define SN_id_GostR3410_2001DH "id-GostR3410-2001DH" -#define LN_id_GostR3410_2001DH "GOST R 34.10-2001 DH" -#define NID_id_GostR3410_2001DH 817 -#define OBJ_id_GostR3410_2001DH OBJ_cryptopro,98L - -#define SN_id_GostR3410_94DH "id-GostR3410-94DH" -#define LN_id_GostR3410_94DH "GOST R 34.10-94 DH" -#define NID_id_GostR3410_94DH 818 -#define OBJ_id_GostR3410_94DH OBJ_cryptopro,99L - -#define SN_id_Gost28147_89_CryptoPro_KeyMeshing "id-Gost28147-89-CryptoPro-KeyMeshing" -#define NID_id_Gost28147_89_CryptoPro_KeyMeshing 819 -#define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing OBJ_cryptopro,14L,1L - -#define SN_id_Gost28147_89_None_KeyMeshing "id-Gost28147-89-None-KeyMeshing" -#define NID_id_Gost28147_89_None_KeyMeshing 820 -#define OBJ_id_Gost28147_89_None_KeyMeshing OBJ_cryptopro,14L,0L - -#define SN_id_GostR3411_94_TestParamSet "id-GostR3411-94-TestParamSet" -#define NID_id_GostR3411_94_TestParamSet 821 -#define OBJ_id_GostR3411_94_TestParamSet OBJ_cryptopro,30L,0L - -#define SN_id_GostR3411_94_CryptoProParamSet "id-GostR3411-94-CryptoProParamSet" -#define NID_id_GostR3411_94_CryptoProParamSet 822 -#define OBJ_id_GostR3411_94_CryptoProParamSet OBJ_cryptopro,30L,1L - -#define SN_id_Gost28147_89_TestParamSet "id-Gost28147-89-TestParamSet" -#define NID_id_Gost28147_89_TestParamSet 823 -#define OBJ_id_Gost28147_89_TestParamSet OBJ_cryptopro,31L,0L - -#define SN_id_Gost28147_89_CryptoPro_A_ParamSet "id-Gost28147-89-CryptoPro-A-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_A_ParamSet 824 -#define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet OBJ_cryptopro,31L,1L - -#define SN_id_Gost28147_89_CryptoPro_B_ParamSet "id-Gost28147-89-CryptoPro-B-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_B_ParamSet 825 -#define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet OBJ_cryptopro,31L,2L - -#define SN_id_Gost28147_89_CryptoPro_C_ParamSet "id-Gost28147-89-CryptoPro-C-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_C_ParamSet 826 -#define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet OBJ_cryptopro,31L,3L - -#define SN_id_Gost28147_89_CryptoPro_D_ParamSet "id-Gost28147-89-CryptoPro-D-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_D_ParamSet 827 -#define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet OBJ_cryptopro,31L,4L - -#define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828 -#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet OBJ_cryptopro,31L,5L - -#define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829 -#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet OBJ_cryptopro,31L,6L - -#define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830 -#define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet OBJ_cryptopro,31L,7L - -#define SN_id_GostR3410_94_TestParamSet "id-GostR3410-94-TestParamSet" -#define NID_id_GostR3410_94_TestParamSet 831 -#define OBJ_id_GostR3410_94_TestParamSet OBJ_cryptopro,32L,0L - -#define SN_id_GostR3410_94_CryptoPro_A_ParamSet "id-GostR3410-94-CryptoPro-A-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_A_ParamSet 832 -#define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet OBJ_cryptopro,32L,2L - -#define SN_id_GostR3410_94_CryptoPro_B_ParamSet "id-GostR3410-94-CryptoPro-B-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_B_ParamSet 833 -#define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet OBJ_cryptopro,32L,3L - -#define SN_id_GostR3410_94_CryptoPro_C_ParamSet "id-GostR3410-94-CryptoPro-C-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_C_ParamSet 834 -#define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet OBJ_cryptopro,32L,4L - -#define SN_id_GostR3410_94_CryptoPro_D_ParamSet "id-GostR3410-94-CryptoPro-D-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_D_ParamSet 835 -#define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet OBJ_cryptopro,32L,5L - -#define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet "id-GostR3410-94-CryptoPro-XchA-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet 836 -#define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet OBJ_cryptopro,33L,1L - -#define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet "id-GostR3410-94-CryptoPro-XchB-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet 837 -#define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet OBJ_cryptopro,33L,2L - -#define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet "id-GostR3410-94-CryptoPro-XchC-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet 838 -#define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet OBJ_cryptopro,33L,3L - -#define SN_id_GostR3410_2001_TestParamSet "id-GostR3410-2001-TestParamSet" -#define NID_id_GostR3410_2001_TestParamSet 839 -#define OBJ_id_GostR3410_2001_TestParamSet OBJ_cryptopro,35L,0L - -#define SN_id_GostR3410_2001_CryptoPro_A_ParamSet "id-GostR3410-2001-CryptoPro-A-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_A_ParamSet 840 -#define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet OBJ_cryptopro,35L,1L - -#define SN_id_GostR3410_2001_CryptoPro_B_ParamSet "id-GostR3410-2001-CryptoPro-B-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_B_ParamSet 841 -#define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet OBJ_cryptopro,35L,2L - -#define SN_id_GostR3410_2001_CryptoPro_C_ParamSet "id-GostR3410-2001-CryptoPro-C-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_C_ParamSet 842 -#define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet OBJ_cryptopro,35L,3L - -#define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet "id-GostR3410-2001-CryptoPro-XchA-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet 843 -#define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet OBJ_cryptopro,36L,0L - -#define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet "id-GostR3410-2001-CryptoPro-XchB-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet 844 -#define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet OBJ_cryptopro,36L,1L - -#define SN_id_GostR3410_94_a "id-GostR3410-94-a" -#define NID_id_GostR3410_94_a 845 -#define OBJ_id_GostR3410_94_a OBJ_id_GostR3410_94,1L - -#define SN_id_GostR3410_94_aBis "id-GostR3410-94-aBis" -#define NID_id_GostR3410_94_aBis 846 -#define OBJ_id_GostR3410_94_aBis OBJ_id_GostR3410_94,2L - -#define SN_id_GostR3410_94_b "id-GostR3410-94-b" -#define NID_id_GostR3410_94_b 847 -#define OBJ_id_GostR3410_94_b OBJ_id_GostR3410_94,3L - -#define SN_id_GostR3410_94_bBis "id-GostR3410-94-bBis" -#define NID_id_GostR3410_94_bBis 848 -#define OBJ_id_GostR3410_94_bBis OBJ_id_GostR3410_94,4L - -#define SN_id_Gost28147_89_cc "id-Gost28147-89-cc" -#define LN_id_Gost28147_89_cc "GOST 28147-89 Cryptocom ParamSet" -#define NID_id_Gost28147_89_cc 849 -#define OBJ_id_Gost28147_89_cc OBJ_cryptocom,1L,6L,1L - -#define SN_id_GostR3410_94_cc "gost94cc" -#define LN_id_GostR3410_94_cc "GOST 34.10-94 Cryptocom" -#define NID_id_GostR3410_94_cc 850 -#define OBJ_id_GostR3410_94_cc OBJ_cryptocom,1L,5L,3L - -#define SN_id_GostR3410_2001_cc "gost2001cc" -#define LN_id_GostR3410_2001_cc "GOST 34.10-2001 Cryptocom" -#define NID_id_GostR3410_2001_cc 851 -#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L - -#define SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411-94-with-GostR3410-94-cc" -#define LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" -#define NID_id_GostR3411_94_with_GostR3410_94_cc 852 -#define OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3L,3L - -#define SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR3411-94-with-GostR3410-2001-cc" -#define LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" -#define NID_id_GostR3411_94_with_GostR3410_2001_cc 853 -#define OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L,3L,4L - -#define SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-ParamSet-cc" -#define LN_id_GostR3410_2001_ParamSet_cc "GOST R 3410-2001 Parameter Set Cryptocom" -#define NID_id_GostR3410_2001_ParamSet_cc 854 -#define OBJ_id_GostR3410_2001_ParamSet_cc OBJ_cryptocom,1L,8L,1L - -#define SN_id_tc26_algorithms "id-tc26-algorithms" -#define NID_id_tc26_algorithms 977 -#define OBJ_id_tc26_algorithms OBJ_id_tc26,1L - -#define SN_id_tc26_sign "id-tc26-sign" -#define NID_id_tc26_sign 978 -#define OBJ_id_tc26_sign OBJ_id_tc26_algorithms,1L - -#define SN_id_GostR3410_2012_256 "gost2012_256" -#define LN_id_GostR3410_2012_256 "GOST R 34.10-2012 with 256 bit modulus" -#define NID_id_GostR3410_2012_256 979 -#define OBJ_id_GostR3410_2012_256 OBJ_id_tc26_sign,1L - -#define SN_id_GostR3410_2012_512 "gost2012_512" -#define LN_id_GostR3410_2012_512 "GOST R 34.10-2012 with 512 bit modulus" -#define NID_id_GostR3410_2012_512 980 -#define OBJ_id_GostR3410_2012_512 OBJ_id_tc26_sign,2L - -#define SN_id_tc26_digest "id-tc26-digest" -#define NID_id_tc26_digest 981 -#define OBJ_id_tc26_digest OBJ_id_tc26_algorithms,2L - -#define SN_id_GostR3411_2012_256 "md_gost12_256" -#define LN_id_GostR3411_2012_256 "GOST R 34.11-2012 with 256 bit hash" -#define NID_id_GostR3411_2012_256 982 -#define OBJ_id_GostR3411_2012_256 OBJ_id_tc26_digest,2L - -#define SN_id_GostR3411_2012_512 "md_gost12_512" -#define LN_id_GostR3411_2012_512 "GOST R 34.11-2012 with 512 bit hash" -#define NID_id_GostR3411_2012_512 983 -#define OBJ_id_GostR3411_2012_512 OBJ_id_tc26_digest,3L - -#define SN_id_tc26_signwithdigest "id-tc26-signwithdigest" -#define NID_id_tc26_signwithdigest 984 -#define OBJ_id_tc26_signwithdigest OBJ_id_tc26_algorithms,3L - -#define SN_id_tc26_signwithdigest_gost3410_2012_256 "id-tc26-signwithdigest-gost3410-2012-256" -#define LN_id_tc26_signwithdigest_gost3410_2012_256 "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" -#define NID_id_tc26_signwithdigest_gost3410_2012_256 985 -#define OBJ_id_tc26_signwithdigest_gost3410_2012_256 OBJ_id_tc26_signwithdigest,2L - -#define SN_id_tc26_signwithdigest_gost3410_2012_512 "id-tc26-signwithdigest-gost3410-2012-512" -#define LN_id_tc26_signwithdigest_gost3410_2012_512 "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" -#define NID_id_tc26_signwithdigest_gost3410_2012_512 986 -#define OBJ_id_tc26_signwithdigest_gost3410_2012_512 OBJ_id_tc26_signwithdigest,3L - -#define SN_id_tc26_mac "id-tc26-mac" -#define NID_id_tc26_mac 987 -#define OBJ_id_tc26_mac OBJ_id_tc26_algorithms,4L - -#define SN_id_tc26_hmac_gost_3411_2012_256 "id-tc26-hmac-gost-3411-2012-256" -#define LN_id_tc26_hmac_gost_3411_2012_256 "HMAC GOST 34.11-2012 256 bit" -#define NID_id_tc26_hmac_gost_3411_2012_256 988 -#define OBJ_id_tc26_hmac_gost_3411_2012_256 OBJ_id_tc26_mac,1L - -#define SN_id_tc26_hmac_gost_3411_2012_512 "id-tc26-hmac-gost-3411-2012-512" -#define LN_id_tc26_hmac_gost_3411_2012_512 "HMAC GOST 34.11-2012 512 bit" -#define NID_id_tc26_hmac_gost_3411_2012_512 989 -#define OBJ_id_tc26_hmac_gost_3411_2012_512 OBJ_id_tc26_mac,2L - -#define SN_id_tc26_cipher "id-tc26-cipher" -#define NID_id_tc26_cipher 990 -#define OBJ_id_tc26_cipher OBJ_id_tc26_algorithms,5L - -#define SN_id_tc26_cipher_gostr3412_2015_magma "id-tc26-cipher-gostr3412-2015-magma" -#define NID_id_tc26_cipher_gostr3412_2015_magma 1173 -#define OBJ_id_tc26_cipher_gostr3412_2015_magma OBJ_id_tc26_cipher,1L - -#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm "id-tc26-cipher-gostr3412-2015-magma-ctracpkm" -#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm 1174 -#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm OBJ_id_tc26_cipher_gostr3412_2015_magma,1L - -#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac" -#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac 1175 -#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac OBJ_id_tc26_cipher_gostr3412_2015_magma,2L - -#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik "id-tc26-cipher-gostr3412-2015-kuznyechik" -#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik 1176 -#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik OBJ_id_tc26_cipher,2L - -#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm" -#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm 1177 -#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,1L - -#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac" -#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac 1178 -#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,2L - -#define SN_id_tc26_agreement "id-tc26-agreement" -#define NID_id_tc26_agreement 991 -#define OBJ_id_tc26_agreement OBJ_id_tc26_algorithms,6L - -#define SN_id_tc26_agreement_gost_3410_2012_256 "id-tc26-agreement-gost-3410-2012-256" -#define NID_id_tc26_agreement_gost_3410_2012_256 992 -#define OBJ_id_tc26_agreement_gost_3410_2012_256 OBJ_id_tc26_agreement,1L - -#define SN_id_tc26_agreement_gost_3410_2012_512 "id-tc26-agreement-gost-3410-2012-512" -#define NID_id_tc26_agreement_gost_3410_2012_512 993 -#define OBJ_id_tc26_agreement_gost_3410_2012_512 OBJ_id_tc26_agreement,2L - -#define SN_id_tc26_wrap "id-tc26-wrap" -#define NID_id_tc26_wrap 1179 -#define OBJ_id_tc26_wrap OBJ_id_tc26_algorithms,7L - -#define SN_id_tc26_wrap_gostr3412_2015_magma "id-tc26-wrap-gostr3412-2015-magma" -#define NID_id_tc26_wrap_gostr3412_2015_magma 1180 -#define OBJ_id_tc26_wrap_gostr3412_2015_magma OBJ_id_tc26_wrap,1L - -#define SN_id_tc26_wrap_gostr3412_2015_magma_kexp15 "id-tc26-wrap-gostr3412-2015-magma-kexp15" -#define NID_id_tc26_wrap_gostr3412_2015_magma_kexp15 1181 -#define OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_magma,1L - -#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik "id-tc26-wrap-gostr3412-2015-kuznyechik" -#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik 1182 -#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik OBJ_id_tc26_wrap,2L - -#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15" -#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 1183 -#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik,1L - -#define SN_id_tc26_constants "id-tc26-constants" -#define NID_id_tc26_constants 994 -#define OBJ_id_tc26_constants OBJ_id_tc26,2L - -#define SN_id_tc26_sign_constants "id-tc26-sign-constants" -#define NID_id_tc26_sign_constants 995 -#define OBJ_id_tc26_sign_constants OBJ_id_tc26_constants,1L - -#define SN_id_tc26_gost_3410_2012_256_constants "id-tc26-gost-3410-2012-256-constants" -#define NID_id_tc26_gost_3410_2012_256_constants 1147 -#define OBJ_id_tc26_gost_3410_2012_256_constants OBJ_id_tc26_sign_constants,1L - -#define SN_id_tc26_gost_3410_2012_256_paramSetA "id-tc26-gost-3410-2012-256-paramSetA" -#define LN_id_tc26_gost_3410_2012_256_paramSetA "GOST R 34.10-2012 (256 bit) ParamSet A" -#define NID_id_tc26_gost_3410_2012_256_paramSetA 1148 -#define OBJ_id_tc26_gost_3410_2012_256_paramSetA OBJ_id_tc26_gost_3410_2012_256_constants,1L - -#define SN_id_tc26_gost_3410_2012_256_paramSetB "id-tc26-gost-3410-2012-256-paramSetB" -#define LN_id_tc26_gost_3410_2012_256_paramSetB "GOST R 34.10-2012 (256 bit) ParamSet B" -#define NID_id_tc26_gost_3410_2012_256_paramSetB 1184 -#define OBJ_id_tc26_gost_3410_2012_256_paramSetB OBJ_id_tc26_gost_3410_2012_256_constants,2L - -#define SN_id_tc26_gost_3410_2012_256_paramSetC "id-tc26-gost-3410-2012-256-paramSetC" -#define LN_id_tc26_gost_3410_2012_256_paramSetC "GOST R 34.10-2012 (256 bit) ParamSet C" -#define NID_id_tc26_gost_3410_2012_256_paramSetC 1185 -#define OBJ_id_tc26_gost_3410_2012_256_paramSetC OBJ_id_tc26_gost_3410_2012_256_constants,3L - -#define SN_id_tc26_gost_3410_2012_256_paramSetD "id-tc26-gost-3410-2012-256-paramSetD" -#define LN_id_tc26_gost_3410_2012_256_paramSetD "GOST R 34.10-2012 (256 bit) ParamSet D" -#define NID_id_tc26_gost_3410_2012_256_paramSetD 1186 -#define OBJ_id_tc26_gost_3410_2012_256_paramSetD OBJ_id_tc26_gost_3410_2012_256_constants,4L - -#define SN_id_tc26_gost_3410_2012_512_constants "id-tc26-gost-3410-2012-512-constants" -#define NID_id_tc26_gost_3410_2012_512_constants 996 -#define OBJ_id_tc26_gost_3410_2012_512_constants OBJ_id_tc26_sign_constants,2L - -#define SN_id_tc26_gost_3410_2012_512_paramSetTest "id-tc26-gost-3410-2012-512-paramSetTest" -#define LN_id_tc26_gost_3410_2012_512_paramSetTest "GOST R 34.10-2012 (512 bit) testing parameter set" -#define NID_id_tc26_gost_3410_2012_512_paramSetTest 997 -#define OBJ_id_tc26_gost_3410_2012_512_paramSetTest OBJ_id_tc26_gost_3410_2012_512_constants,0L - -#define SN_id_tc26_gost_3410_2012_512_paramSetA "id-tc26-gost-3410-2012-512-paramSetA" -#define LN_id_tc26_gost_3410_2012_512_paramSetA "GOST R 34.10-2012 (512 bit) ParamSet A" -#define NID_id_tc26_gost_3410_2012_512_paramSetA 998 -#define OBJ_id_tc26_gost_3410_2012_512_paramSetA OBJ_id_tc26_gost_3410_2012_512_constants,1L - -#define SN_id_tc26_gost_3410_2012_512_paramSetB "id-tc26-gost-3410-2012-512-paramSetB" -#define LN_id_tc26_gost_3410_2012_512_paramSetB "GOST R 34.10-2012 (512 bit) ParamSet B" -#define NID_id_tc26_gost_3410_2012_512_paramSetB 999 -#define OBJ_id_tc26_gost_3410_2012_512_paramSetB OBJ_id_tc26_gost_3410_2012_512_constants,2L - -#define SN_id_tc26_gost_3410_2012_512_paramSetC "id-tc26-gost-3410-2012-512-paramSetC" -#define LN_id_tc26_gost_3410_2012_512_paramSetC "GOST R 34.10-2012 (512 bit) ParamSet C" -#define NID_id_tc26_gost_3410_2012_512_paramSetC 1149 -#define OBJ_id_tc26_gost_3410_2012_512_paramSetC OBJ_id_tc26_gost_3410_2012_512_constants,3L - -#define SN_id_tc26_digest_constants "id-tc26-digest-constants" -#define NID_id_tc26_digest_constants 1000 -#define OBJ_id_tc26_digest_constants OBJ_id_tc26_constants,2L - -#define SN_id_tc26_cipher_constants "id-tc26-cipher-constants" -#define NID_id_tc26_cipher_constants 1001 -#define OBJ_id_tc26_cipher_constants OBJ_id_tc26_constants,5L - -#define SN_id_tc26_gost_28147_constants "id-tc26-gost-28147-constants" -#define NID_id_tc26_gost_28147_constants 1002 -#define OBJ_id_tc26_gost_28147_constants OBJ_id_tc26_cipher_constants,1L - -#define SN_id_tc26_gost_28147_param_Z "id-tc26-gost-28147-param-Z" -#define LN_id_tc26_gost_28147_param_Z "GOST 28147-89 TC26 parameter set" -#define NID_id_tc26_gost_28147_param_Z 1003 -#define OBJ_id_tc26_gost_28147_param_Z OBJ_id_tc26_gost_28147_constants,1L - -#define SN_INN "INN" -#define LN_INN "INN" -#define NID_INN 1004 -#define OBJ_INN OBJ_member_body,643L,3L,131L,1L,1L - -#define SN_OGRN "OGRN" -#define LN_OGRN "OGRN" -#define NID_OGRN 1005 -#define OBJ_OGRN OBJ_member_body,643L,100L,1L - -#define SN_SNILS "SNILS" -#define LN_SNILS "SNILS" -#define NID_SNILS 1006 -#define OBJ_SNILS OBJ_member_body,643L,100L,3L - -#define SN_subjectSignTool "subjectSignTool" -#define LN_subjectSignTool "Signing Tool of Subject" -#define NID_subjectSignTool 1007 -#define OBJ_subjectSignTool OBJ_member_body,643L,100L,111L - -#define SN_issuerSignTool "issuerSignTool" -#define LN_issuerSignTool "Signing Tool of Issuer" -#define NID_issuerSignTool 1008 -#define OBJ_issuerSignTool OBJ_member_body,643L,100L,112L - -#define SN_grasshopper_ecb "grasshopper-ecb" -#define NID_grasshopper_ecb 1012 - -#define SN_grasshopper_ctr "grasshopper-ctr" -#define NID_grasshopper_ctr 1013 - -#define SN_grasshopper_ofb "grasshopper-ofb" -#define NID_grasshopper_ofb 1014 - -#define SN_grasshopper_cbc "grasshopper-cbc" -#define NID_grasshopper_cbc 1015 - -#define SN_grasshopper_cfb "grasshopper-cfb" -#define NID_grasshopper_cfb 1016 - -#define SN_grasshopper_mac "grasshopper-mac" -#define NID_grasshopper_mac 1017 - -#define SN_magma_ecb "magma-ecb" -#define NID_magma_ecb 1187 - -#define SN_magma_ctr "magma-ctr" -#define NID_magma_ctr 1188 - -#define SN_magma_ofb "magma-ofb" -#define NID_magma_ofb 1189 - -#define SN_magma_cbc "magma-cbc" -#define NID_magma_cbc 1190 - -#define SN_magma_cfb "magma-cfb" -#define NID_magma_cfb 1191 - -#define SN_magma_mac "magma-mac" -#define NID_magma_mac 1192 - -#define SN_camellia_128_cbc "CAMELLIA-128-CBC" -#define LN_camellia_128_cbc "camellia-128-cbc" -#define NID_camellia_128_cbc 751 -#define OBJ_camellia_128_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,2L - -#define SN_camellia_192_cbc "CAMELLIA-192-CBC" -#define LN_camellia_192_cbc "camellia-192-cbc" -#define NID_camellia_192_cbc 752 -#define OBJ_camellia_192_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,3L - -#define SN_camellia_256_cbc "CAMELLIA-256-CBC" -#define LN_camellia_256_cbc "camellia-256-cbc" -#define NID_camellia_256_cbc 753 -#define OBJ_camellia_256_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,4L - -#define SN_id_camellia128_wrap "id-camellia128-wrap" -#define NID_id_camellia128_wrap 907 -#define OBJ_id_camellia128_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,2L - -#define SN_id_camellia192_wrap "id-camellia192-wrap" -#define NID_id_camellia192_wrap 908 -#define OBJ_id_camellia192_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,3L - -#define SN_id_camellia256_wrap "id-camellia256-wrap" -#define NID_id_camellia256_wrap 909 -#define OBJ_id_camellia256_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,4L - -#define OBJ_ntt_ds 0L,3L,4401L,5L - -#define OBJ_camellia OBJ_ntt_ds,3L,1L,9L - -#define SN_camellia_128_ecb "CAMELLIA-128-ECB" -#define LN_camellia_128_ecb "camellia-128-ecb" -#define NID_camellia_128_ecb 754 -#define OBJ_camellia_128_ecb OBJ_camellia,1L - -#define SN_camellia_128_ofb128 "CAMELLIA-128-OFB" -#define LN_camellia_128_ofb128 "camellia-128-ofb" -#define NID_camellia_128_ofb128 766 -#define OBJ_camellia_128_ofb128 OBJ_camellia,3L - -#define SN_camellia_128_cfb128 "CAMELLIA-128-CFB" -#define LN_camellia_128_cfb128 "camellia-128-cfb" -#define NID_camellia_128_cfb128 757 -#define OBJ_camellia_128_cfb128 OBJ_camellia,4L - -#define SN_camellia_128_gcm "CAMELLIA-128-GCM" -#define LN_camellia_128_gcm "camellia-128-gcm" -#define NID_camellia_128_gcm 961 -#define OBJ_camellia_128_gcm OBJ_camellia,6L - -#define SN_camellia_128_ccm "CAMELLIA-128-CCM" -#define LN_camellia_128_ccm "camellia-128-ccm" -#define NID_camellia_128_ccm 962 -#define OBJ_camellia_128_ccm OBJ_camellia,7L - -#define SN_camellia_128_ctr "CAMELLIA-128-CTR" -#define LN_camellia_128_ctr "camellia-128-ctr" -#define NID_camellia_128_ctr 963 -#define OBJ_camellia_128_ctr OBJ_camellia,9L - -#define SN_camellia_128_cmac "CAMELLIA-128-CMAC" -#define LN_camellia_128_cmac "camellia-128-cmac" -#define NID_camellia_128_cmac 964 -#define OBJ_camellia_128_cmac OBJ_camellia,10L - -#define SN_camellia_192_ecb "CAMELLIA-192-ECB" -#define LN_camellia_192_ecb "camellia-192-ecb" -#define NID_camellia_192_ecb 755 -#define OBJ_camellia_192_ecb OBJ_camellia,21L - -#define SN_camellia_192_ofb128 "CAMELLIA-192-OFB" -#define LN_camellia_192_ofb128 "camellia-192-ofb" -#define NID_camellia_192_ofb128 767 -#define OBJ_camellia_192_ofb128 OBJ_camellia,23L - -#define SN_camellia_192_cfb128 "CAMELLIA-192-CFB" -#define LN_camellia_192_cfb128 "camellia-192-cfb" -#define NID_camellia_192_cfb128 758 -#define OBJ_camellia_192_cfb128 OBJ_camellia,24L - -#define SN_camellia_192_gcm "CAMELLIA-192-GCM" -#define LN_camellia_192_gcm "camellia-192-gcm" -#define NID_camellia_192_gcm 965 -#define OBJ_camellia_192_gcm OBJ_camellia,26L - -#define SN_camellia_192_ccm "CAMELLIA-192-CCM" -#define LN_camellia_192_ccm "camellia-192-ccm" -#define NID_camellia_192_ccm 966 -#define OBJ_camellia_192_ccm OBJ_camellia,27L - -#define SN_camellia_192_ctr "CAMELLIA-192-CTR" -#define LN_camellia_192_ctr "camellia-192-ctr" -#define NID_camellia_192_ctr 967 -#define OBJ_camellia_192_ctr OBJ_camellia,29L - -#define SN_camellia_192_cmac "CAMELLIA-192-CMAC" -#define LN_camellia_192_cmac "camellia-192-cmac" -#define NID_camellia_192_cmac 968 -#define OBJ_camellia_192_cmac OBJ_camellia,30L - -#define SN_camellia_256_ecb "CAMELLIA-256-ECB" -#define LN_camellia_256_ecb "camellia-256-ecb" -#define NID_camellia_256_ecb 756 -#define OBJ_camellia_256_ecb OBJ_camellia,41L - -#define SN_camellia_256_ofb128 "CAMELLIA-256-OFB" -#define LN_camellia_256_ofb128 "camellia-256-ofb" -#define NID_camellia_256_ofb128 768 -#define OBJ_camellia_256_ofb128 OBJ_camellia,43L - -#define SN_camellia_256_cfb128 "CAMELLIA-256-CFB" -#define LN_camellia_256_cfb128 "camellia-256-cfb" -#define NID_camellia_256_cfb128 759 -#define OBJ_camellia_256_cfb128 OBJ_camellia,44L - -#define SN_camellia_256_gcm "CAMELLIA-256-GCM" -#define LN_camellia_256_gcm "camellia-256-gcm" -#define NID_camellia_256_gcm 969 -#define OBJ_camellia_256_gcm OBJ_camellia,46L - -#define SN_camellia_256_ccm "CAMELLIA-256-CCM" -#define LN_camellia_256_ccm "camellia-256-ccm" -#define NID_camellia_256_ccm 970 -#define OBJ_camellia_256_ccm OBJ_camellia,47L - -#define SN_camellia_256_ctr "CAMELLIA-256-CTR" -#define LN_camellia_256_ctr "camellia-256-ctr" -#define NID_camellia_256_ctr 971 -#define OBJ_camellia_256_ctr OBJ_camellia,49L - -#define SN_camellia_256_cmac "CAMELLIA-256-CMAC" -#define LN_camellia_256_cmac "camellia-256-cmac" -#define NID_camellia_256_cmac 972 -#define OBJ_camellia_256_cmac OBJ_camellia,50L - -#define SN_camellia_128_cfb1 "CAMELLIA-128-CFB1" -#define LN_camellia_128_cfb1 "camellia-128-cfb1" -#define NID_camellia_128_cfb1 760 - -#define SN_camellia_192_cfb1 "CAMELLIA-192-CFB1" -#define LN_camellia_192_cfb1 "camellia-192-cfb1" -#define NID_camellia_192_cfb1 761 - -#define SN_camellia_256_cfb1 "CAMELLIA-256-CFB1" -#define LN_camellia_256_cfb1 "camellia-256-cfb1" -#define NID_camellia_256_cfb1 762 - -#define SN_camellia_128_cfb8 "CAMELLIA-128-CFB8" -#define LN_camellia_128_cfb8 "camellia-128-cfb8" -#define NID_camellia_128_cfb8 763 - -#define SN_camellia_192_cfb8 "CAMELLIA-192-CFB8" -#define LN_camellia_192_cfb8 "camellia-192-cfb8" -#define NID_camellia_192_cfb8 764 - -#define SN_camellia_256_cfb8 "CAMELLIA-256-CFB8" -#define LN_camellia_256_cfb8 "camellia-256-cfb8" -#define NID_camellia_256_cfb8 765 - -#define OBJ_aria 1L,2L,410L,200046L,1L,1L - -#define SN_aria_128_ecb "ARIA-128-ECB" -#define LN_aria_128_ecb "aria-128-ecb" -#define NID_aria_128_ecb 1065 -#define OBJ_aria_128_ecb OBJ_aria,1L - -#define SN_aria_128_cbc "ARIA-128-CBC" -#define LN_aria_128_cbc "aria-128-cbc" -#define NID_aria_128_cbc 1066 -#define OBJ_aria_128_cbc OBJ_aria,2L - -#define SN_aria_128_cfb128 "ARIA-128-CFB" -#define LN_aria_128_cfb128 "aria-128-cfb" -#define NID_aria_128_cfb128 1067 -#define OBJ_aria_128_cfb128 OBJ_aria,3L - -#define SN_aria_128_ofb128 "ARIA-128-OFB" -#define LN_aria_128_ofb128 "aria-128-ofb" -#define NID_aria_128_ofb128 1068 -#define OBJ_aria_128_ofb128 OBJ_aria,4L - -#define SN_aria_128_ctr "ARIA-128-CTR" -#define LN_aria_128_ctr "aria-128-ctr" -#define NID_aria_128_ctr 1069 -#define OBJ_aria_128_ctr OBJ_aria,5L - -#define SN_aria_192_ecb "ARIA-192-ECB" -#define LN_aria_192_ecb "aria-192-ecb" -#define NID_aria_192_ecb 1070 -#define OBJ_aria_192_ecb OBJ_aria,6L - -#define SN_aria_192_cbc "ARIA-192-CBC" -#define LN_aria_192_cbc "aria-192-cbc" -#define NID_aria_192_cbc 1071 -#define OBJ_aria_192_cbc OBJ_aria,7L - -#define SN_aria_192_cfb128 "ARIA-192-CFB" -#define LN_aria_192_cfb128 "aria-192-cfb" -#define NID_aria_192_cfb128 1072 -#define OBJ_aria_192_cfb128 OBJ_aria,8L - -#define SN_aria_192_ofb128 "ARIA-192-OFB" -#define LN_aria_192_ofb128 "aria-192-ofb" -#define NID_aria_192_ofb128 1073 -#define OBJ_aria_192_ofb128 OBJ_aria,9L - -#define SN_aria_192_ctr "ARIA-192-CTR" -#define LN_aria_192_ctr "aria-192-ctr" -#define NID_aria_192_ctr 1074 -#define OBJ_aria_192_ctr OBJ_aria,10L - -#define SN_aria_256_ecb "ARIA-256-ECB" -#define LN_aria_256_ecb "aria-256-ecb" -#define NID_aria_256_ecb 1075 -#define OBJ_aria_256_ecb OBJ_aria,11L - -#define SN_aria_256_cbc "ARIA-256-CBC" -#define LN_aria_256_cbc "aria-256-cbc" -#define NID_aria_256_cbc 1076 -#define OBJ_aria_256_cbc OBJ_aria,12L - -#define SN_aria_256_cfb128 "ARIA-256-CFB" -#define LN_aria_256_cfb128 "aria-256-cfb" -#define NID_aria_256_cfb128 1077 -#define OBJ_aria_256_cfb128 OBJ_aria,13L - -#define SN_aria_256_ofb128 "ARIA-256-OFB" -#define LN_aria_256_ofb128 "aria-256-ofb" -#define NID_aria_256_ofb128 1078 -#define OBJ_aria_256_ofb128 OBJ_aria,14L - -#define SN_aria_256_ctr "ARIA-256-CTR" -#define LN_aria_256_ctr "aria-256-ctr" -#define NID_aria_256_ctr 1079 -#define OBJ_aria_256_ctr OBJ_aria,15L - -#define SN_aria_128_cfb1 "ARIA-128-CFB1" -#define LN_aria_128_cfb1 "aria-128-cfb1" -#define NID_aria_128_cfb1 1080 - -#define SN_aria_192_cfb1 "ARIA-192-CFB1" -#define LN_aria_192_cfb1 "aria-192-cfb1" -#define NID_aria_192_cfb1 1081 - -#define SN_aria_256_cfb1 "ARIA-256-CFB1" -#define LN_aria_256_cfb1 "aria-256-cfb1" -#define NID_aria_256_cfb1 1082 - -#define SN_aria_128_cfb8 "ARIA-128-CFB8" -#define LN_aria_128_cfb8 "aria-128-cfb8" -#define NID_aria_128_cfb8 1083 - -#define SN_aria_192_cfb8 "ARIA-192-CFB8" -#define LN_aria_192_cfb8 "aria-192-cfb8" -#define NID_aria_192_cfb8 1084 - -#define SN_aria_256_cfb8 "ARIA-256-CFB8" -#define LN_aria_256_cfb8 "aria-256-cfb8" -#define NID_aria_256_cfb8 1085 - -#define SN_aria_128_ccm "ARIA-128-CCM" -#define LN_aria_128_ccm "aria-128-ccm" -#define NID_aria_128_ccm 1120 -#define OBJ_aria_128_ccm OBJ_aria,37L - -#define SN_aria_192_ccm "ARIA-192-CCM" -#define LN_aria_192_ccm "aria-192-ccm" -#define NID_aria_192_ccm 1121 -#define OBJ_aria_192_ccm OBJ_aria,38L - -#define SN_aria_256_ccm "ARIA-256-CCM" -#define LN_aria_256_ccm "aria-256-ccm" -#define NID_aria_256_ccm 1122 -#define OBJ_aria_256_ccm OBJ_aria,39L - -#define SN_aria_128_gcm "ARIA-128-GCM" -#define LN_aria_128_gcm "aria-128-gcm" -#define NID_aria_128_gcm 1123 -#define OBJ_aria_128_gcm OBJ_aria,34L - -#define SN_aria_192_gcm "ARIA-192-GCM" -#define LN_aria_192_gcm "aria-192-gcm" -#define NID_aria_192_gcm 1124 -#define OBJ_aria_192_gcm OBJ_aria,35L - -#define SN_aria_256_gcm "ARIA-256-GCM" -#define LN_aria_256_gcm "aria-256-gcm" -#define NID_aria_256_gcm 1125 -#define OBJ_aria_256_gcm OBJ_aria,36L - -#define SN_kisa "KISA" -#define LN_kisa "kisa" -#define NID_kisa 773 -#define OBJ_kisa OBJ_member_body,410L,200004L - -#define SN_seed_ecb "SEED-ECB" -#define LN_seed_ecb "seed-ecb" -#define NID_seed_ecb 776 -#define OBJ_seed_ecb OBJ_kisa,1L,3L - -#define SN_seed_cbc "SEED-CBC" -#define LN_seed_cbc "seed-cbc" -#define NID_seed_cbc 777 -#define OBJ_seed_cbc OBJ_kisa,1L,4L - -#define SN_seed_cfb128 "SEED-CFB" -#define LN_seed_cfb128 "seed-cfb" -#define NID_seed_cfb128 779 -#define OBJ_seed_cfb128 OBJ_kisa,1L,5L - -#define SN_seed_ofb128 "SEED-OFB" -#define LN_seed_ofb128 "seed-ofb" -#define NID_seed_ofb128 778 -#define OBJ_seed_ofb128 OBJ_kisa,1L,6L - -#define SN_sm4_ecb "SM4-ECB" -#define LN_sm4_ecb "sm4-ecb" -#define NID_sm4_ecb 1133 -#define OBJ_sm4_ecb OBJ_sm_scheme,104L,1L - -#define SN_sm4_cbc "SM4-CBC" -#define LN_sm4_cbc "sm4-cbc" -#define NID_sm4_cbc 1134 -#define OBJ_sm4_cbc OBJ_sm_scheme,104L,2L - -#define SN_sm4_ofb128 "SM4-OFB" -#define LN_sm4_ofb128 "sm4-ofb" -#define NID_sm4_ofb128 1135 -#define OBJ_sm4_ofb128 OBJ_sm_scheme,104L,3L - -#define SN_sm4_cfb128 "SM4-CFB" -#define LN_sm4_cfb128 "sm4-cfb" -#define NID_sm4_cfb128 1137 -#define OBJ_sm4_cfb128 OBJ_sm_scheme,104L,4L - -#define SN_sm4_cfb1 "SM4-CFB1" -#define LN_sm4_cfb1 "sm4-cfb1" -#define NID_sm4_cfb1 1136 -#define OBJ_sm4_cfb1 OBJ_sm_scheme,104L,5L - -#define SN_sm4_cfb8 "SM4-CFB8" -#define LN_sm4_cfb8 "sm4-cfb8" -#define NID_sm4_cfb8 1138 -#define OBJ_sm4_cfb8 OBJ_sm_scheme,104L,6L - -#define SN_sm4_ctr "SM4-CTR" -#define LN_sm4_ctr "sm4-ctr" -#define NID_sm4_ctr 1139 -#define OBJ_sm4_ctr OBJ_sm_scheme,104L,7L - -#define SN_hmac "HMAC" -#define LN_hmac "hmac" -#define NID_hmac 855 - -#define SN_cmac "CMAC" -#define LN_cmac "cmac" -#define NID_cmac 894 - -#define SN_rc4_hmac_md5 "RC4-HMAC-MD5" -#define LN_rc4_hmac_md5 "rc4-hmac-md5" -#define NID_rc4_hmac_md5 915 - -#define SN_aes_128_cbc_hmac_sha1 "AES-128-CBC-HMAC-SHA1" -#define LN_aes_128_cbc_hmac_sha1 "aes-128-cbc-hmac-sha1" -#define NID_aes_128_cbc_hmac_sha1 916 - -#define SN_aes_192_cbc_hmac_sha1 "AES-192-CBC-HMAC-SHA1" -#define LN_aes_192_cbc_hmac_sha1 "aes-192-cbc-hmac-sha1" -#define NID_aes_192_cbc_hmac_sha1 917 - -#define SN_aes_256_cbc_hmac_sha1 "AES-256-CBC-HMAC-SHA1" -#define LN_aes_256_cbc_hmac_sha1 "aes-256-cbc-hmac-sha1" -#define NID_aes_256_cbc_hmac_sha1 918 - -#define SN_aes_128_cbc_hmac_sha256 "AES-128-CBC-HMAC-SHA256" -#define LN_aes_128_cbc_hmac_sha256 "aes-128-cbc-hmac-sha256" -#define NID_aes_128_cbc_hmac_sha256 948 - -#define SN_aes_192_cbc_hmac_sha256 "AES-192-CBC-HMAC-SHA256" -#define LN_aes_192_cbc_hmac_sha256 "aes-192-cbc-hmac-sha256" -#define NID_aes_192_cbc_hmac_sha256 949 - -#define SN_aes_256_cbc_hmac_sha256 "AES-256-CBC-HMAC-SHA256" -#define LN_aes_256_cbc_hmac_sha256 "aes-256-cbc-hmac-sha256" -#define NID_aes_256_cbc_hmac_sha256 950 - -#define SN_chacha20_poly1305 "ChaCha20-Poly1305" -#define LN_chacha20_poly1305 "chacha20-poly1305" -#define NID_chacha20_poly1305 1018 - -#define SN_chacha20 "ChaCha20" -#define LN_chacha20 "chacha20" -#define NID_chacha20 1019 - -#define SN_dhpublicnumber "dhpublicnumber" -#define LN_dhpublicnumber "X9.42 DH" -#define NID_dhpublicnumber 920 -#define OBJ_dhpublicnumber OBJ_ISO_US,10046L,2L,1L - -#define SN_brainpoolP160r1 "brainpoolP160r1" -#define NID_brainpoolP160r1 921 -#define OBJ_brainpoolP160r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,1L - -#define SN_brainpoolP160t1 "brainpoolP160t1" -#define NID_brainpoolP160t1 922 -#define OBJ_brainpoolP160t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,2L - -#define SN_brainpoolP192r1 "brainpoolP192r1" -#define NID_brainpoolP192r1 923 -#define OBJ_brainpoolP192r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,3L - -#define SN_brainpoolP192t1 "brainpoolP192t1" -#define NID_brainpoolP192t1 924 -#define OBJ_brainpoolP192t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,4L - -#define SN_brainpoolP224r1 "brainpoolP224r1" -#define NID_brainpoolP224r1 925 -#define OBJ_brainpoolP224r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,5L - -#define SN_brainpoolP224t1 "brainpoolP224t1" -#define NID_brainpoolP224t1 926 -#define OBJ_brainpoolP224t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,6L - -#define SN_brainpoolP256r1 "brainpoolP256r1" -#define NID_brainpoolP256r1 927 -#define OBJ_brainpoolP256r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,7L - -#define SN_brainpoolP256t1 "brainpoolP256t1" -#define NID_brainpoolP256t1 928 -#define OBJ_brainpoolP256t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,8L - -#define SN_brainpoolP320r1 "brainpoolP320r1" -#define NID_brainpoolP320r1 929 -#define OBJ_brainpoolP320r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,9L - -#define SN_brainpoolP320t1 "brainpoolP320t1" -#define NID_brainpoolP320t1 930 -#define OBJ_brainpoolP320t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,10L - -#define SN_brainpoolP384r1 "brainpoolP384r1" -#define NID_brainpoolP384r1 931 -#define OBJ_brainpoolP384r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,11L - -#define SN_brainpoolP384t1 "brainpoolP384t1" -#define NID_brainpoolP384t1 932 -#define OBJ_brainpoolP384t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,12L - -#define SN_brainpoolP512r1 "brainpoolP512r1" -#define NID_brainpoolP512r1 933 -#define OBJ_brainpoolP512r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,13L - -#define SN_brainpoolP512t1 "brainpoolP512t1" -#define NID_brainpoolP512t1 934 -#define OBJ_brainpoolP512t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,14L - -#define OBJ_x9_63_scheme 1L,3L,133L,16L,840L,63L,0L - -#define OBJ_secg_scheme OBJ_certicom_arc,1L - -#define SN_dhSinglePass_stdDH_sha1kdf_scheme "dhSinglePass-stdDH-sha1kdf-scheme" -#define NID_dhSinglePass_stdDH_sha1kdf_scheme 936 -#define OBJ_dhSinglePass_stdDH_sha1kdf_scheme OBJ_x9_63_scheme,2L - -#define SN_dhSinglePass_stdDH_sha224kdf_scheme "dhSinglePass-stdDH-sha224kdf-scheme" -#define NID_dhSinglePass_stdDH_sha224kdf_scheme 937 -#define OBJ_dhSinglePass_stdDH_sha224kdf_scheme OBJ_secg_scheme,11L,0L - -#define SN_dhSinglePass_stdDH_sha256kdf_scheme "dhSinglePass-stdDH-sha256kdf-scheme" -#define NID_dhSinglePass_stdDH_sha256kdf_scheme 938 -#define OBJ_dhSinglePass_stdDH_sha256kdf_scheme OBJ_secg_scheme,11L,1L - -#define SN_dhSinglePass_stdDH_sha384kdf_scheme "dhSinglePass-stdDH-sha384kdf-scheme" -#define NID_dhSinglePass_stdDH_sha384kdf_scheme 939 -#define OBJ_dhSinglePass_stdDH_sha384kdf_scheme OBJ_secg_scheme,11L,2L - -#define SN_dhSinglePass_stdDH_sha512kdf_scheme "dhSinglePass-stdDH-sha512kdf-scheme" -#define NID_dhSinglePass_stdDH_sha512kdf_scheme 940 -#define OBJ_dhSinglePass_stdDH_sha512kdf_scheme OBJ_secg_scheme,11L,3L - -#define SN_dhSinglePass_cofactorDH_sha1kdf_scheme "dhSinglePass-cofactorDH-sha1kdf-scheme" -#define NID_dhSinglePass_cofactorDH_sha1kdf_scheme 941 -#define OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme OBJ_x9_63_scheme,3L - -#define SN_dhSinglePass_cofactorDH_sha224kdf_scheme "dhSinglePass-cofactorDH-sha224kdf-scheme" -#define NID_dhSinglePass_cofactorDH_sha224kdf_scheme 942 -#define OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme OBJ_secg_scheme,14L,0L - -#define SN_dhSinglePass_cofactorDH_sha256kdf_scheme "dhSinglePass-cofactorDH-sha256kdf-scheme" -#define NID_dhSinglePass_cofactorDH_sha256kdf_scheme 943 -#define OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme OBJ_secg_scheme,14L,1L - -#define SN_dhSinglePass_cofactorDH_sha384kdf_scheme "dhSinglePass-cofactorDH-sha384kdf-scheme" -#define NID_dhSinglePass_cofactorDH_sha384kdf_scheme 944 -#define OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme OBJ_secg_scheme,14L,2L - -#define SN_dhSinglePass_cofactorDH_sha512kdf_scheme "dhSinglePass-cofactorDH-sha512kdf-scheme" -#define NID_dhSinglePass_cofactorDH_sha512kdf_scheme 945 -#define OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme OBJ_secg_scheme,14L,3L - -#define SN_dh_std_kdf "dh-std-kdf" -#define NID_dh_std_kdf 946 - -#define SN_dh_cofactor_kdf "dh-cofactor-kdf" -#define NID_dh_cofactor_kdf 947 - -#define SN_ct_precert_scts "ct_precert_scts" -#define LN_ct_precert_scts "CT Precertificate SCTs" -#define NID_ct_precert_scts 951 -#define OBJ_ct_precert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,2L - -#define SN_ct_precert_poison "ct_precert_poison" -#define LN_ct_precert_poison "CT Precertificate Poison" -#define NID_ct_precert_poison 952 -#define OBJ_ct_precert_poison 1L,3L,6L,1L,4L,1L,11129L,2L,4L,3L - -#define SN_ct_precert_signer "ct_precert_signer" -#define LN_ct_precert_signer "CT Precertificate Signer" -#define NID_ct_precert_signer 953 -#define OBJ_ct_precert_signer 1L,3L,6L,1L,4L,1L,11129L,2L,4L,4L - -#define SN_ct_cert_scts "ct_cert_scts" -#define LN_ct_cert_scts "CT Certificate SCTs" -#define NID_ct_cert_scts 954 -#define OBJ_ct_cert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,5L - -#define SN_jurisdictionLocalityName "jurisdictionL" -#define LN_jurisdictionLocalityName "jurisdictionLocalityName" -#define NID_jurisdictionLocalityName 955 -#define OBJ_jurisdictionLocalityName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,1L - -#define SN_jurisdictionStateOrProvinceName "jurisdictionST" -#define LN_jurisdictionStateOrProvinceName "jurisdictionStateOrProvinceName" -#define NID_jurisdictionStateOrProvinceName 956 -#define OBJ_jurisdictionStateOrProvinceName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,2L - -#define SN_jurisdictionCountryName "jurisdictionC" -#define LN_jurisdictionCountryName "jurisdictionCountryName" -#define NID_jurisdictionCountryName 957 -#define OBJ_jurisdictionCountryName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,3L - -#define SN_id_scrypt "id-scrypt" -#define LN_id_scrypt "scrypt" -#define NID_id_scrypt 973 -#define OBJ_id_scrypt 1L,3L,6L,1L,4L,1L,11591L,4L,11L - -#define SN_tls1_prf "TLS1-PRF" -#define LN_tls1_prf "tls1-prf" -#define NID_tls1_prf 1021 - -#define SN_hkdf "HKDF" -#define LN_hkdf "hkdf" -#define NID_hkdf 1036 - -#define SN_id_pkinit "id-pkinit" -#define NID_id_pkinit 1031 -#define OBJ_id_pkinit 1L,3L,6L,1L,5L,2L,3L - -#define SN_pkInitClientAuth "pkInitClientAuth" -#define LN_pkInitClientAuth "PKINIT Client Auth" -#define NID_pkInitClientAuth 1032 -#define OBJ_pkInitClientAuth OBJ_id_pkinit,4L - -#define SN_pkInitKDC "pkInitKDC" -#define LN_pkInitKDC "Signing KDC Response" -#define NID_pkInitKDC 1033 -#define OBJ_pkInitKDC OBJ_id_pkinit,5L - -#define SN_X25519 "X25519" -#define NID_X25519 1034 -#define OBJ_X25519 1L,3L,101L,110L - -#define SN_X448 "X448" -#define NID_X448 1035 -#define OBJ_X448 1L,3L,101L,111L - -#define SN_ED25519 "ED25519" -#define NID_ED25519 1087 -#define OBJ_ED25519 1L,3L,101L,112L - -#define SN_ED448 "ED448" -#define NID_ED448 1088 -#define OBJ_ED448 1L,3L,101L,113L - -#define SN_kx_rsa "KxRSA" -#define LN_kx_rsa "kx-rsa" -#define NID_kx_rsa 1037 - -#define SN_kx_ecdhe "KxECDHE" -#define LN_kx_ecdhe "kx-ecdhe" -#define NID_kx_ecdhe 1038 - -#define SN_kx_dhe "KxDHE" -#define LN_kx_dhe "kx-dhe" -#define NID_kx_dhe 1039 - -#define SN_kx_ecdhe_psk "KxECDHE-PSK" -#define LN_kx_ecdhe_psk "kx-ecdhe-psk" -#define NID_kx_ecdhe_psk 1040 - -#define SN_kx_dhe_psk "KxDHE-PSK" -#define LN_kx_dhe_psk "kx-dhe-psk" -#define NID_kx_dhe_psk 1041 - -#define SN_kx_rsa_psk "KxRSA_PSK" -#define LN_kx_rsa_psk "kx-rsa-psk" -#define NID_kx_rsa_psk 1042 - -#define SN_kx_psk "KxPSK" -#define LN_kx_psk "kx-psk" -#define NID_kx_psk 1043 - -#define SN_kx_srp "KxSRP" -#define LN_kx_srp "kx-srp" -#define NID_kx_srp 1044 - -#define SN_kx_gost "KxGOST" -#define LN_kx_gost "kx-gost" -#define NID_kx_gost 1045 - -#define SN_kx_any "KxANY" -#define LN_kx_any "kx-any" -#define NID_kx_any 1063 - -#define SN_auth_rsa "AuthRSA" -#define LN_auth_rsa "auth-rsa" -#define NID_auth_rsa 1046 - -#define SN_auth_ecdsa "AuthECDSA" -#define LN_auth_ecdsa "auth-ecdsa" -#define NID_auth_ecdsa 1047 - -#define SN_auth_psk "AuthPSK" -#define LN_auth_psk "auth-psk" -#define NID_auth_psk 1048 - -#define SN_auth_dss "AuthDSS" -#define LN_auth_dss "auth-dss" -#define NID_auth_dss 1049 - -#define SN_auth_gost01 "AuthGOST01" -#define LN_auth_gost01 "auth-gost01" -#define NID_auth_gost01 1050 - -#define SN_auth_gost12 "AuthGOST12" -#define LN_auth_gost12 "auth-gost12" -#define NID_auth_gost12 1051 - -#define SN_auth_srp "AuthSRP" -#define LN_auth_srp "auth-srp" -#define NID_auth_srp 1052 - -#define SN_auth_null "AuthNULL" -#define LN_auth_null "auth-null" -#define NID_auth_null 1053 - -#define SN_auth_any "AuthANY" -#define LN_auth_any "auth-any" -#define NID_auth_any 1064 - -#define SN_poly1305 "Poly1305" -#define LN_poly1305 "poly1305" -#define NID_poly1305 1061 - -#define SN_siphash "SipHash" -#define LN_siphash "siphash" -#define NID_siphash 1062 - -#define SN_ffdhe2048 "ffdhe2048" -#define NID_ffdhe2048 1126 - -#define SN_ffdhe3072 "ffdhe3072" -#define NID_ffdhe3072 1127 - -#define SN_ffdhe4096 "ffdhe4096" -#define NID_ffdhe4096 1128 - -#define SN_ffdhe6144 "ffdhe6144" -#define NID_ffdhe6144 1129 - -#define SN_ffdhe8192 "ffdhe8192" -#define NID_ffdhe8192 1130 - -#define SN_ISO_UA "ISO-UA" -#define NID_ISO_UA 1150 -#define OBJ_ISO_UA OBJ_member_body,804L - -#define SN_ua_pki "ua-pki" -#define NID_ua_pki 1151 -#define OBJ_ua_pki OBJ_ISO_UA,2L,1L,1L,1L - -#define SN_dstu28147 "dstu28147" -#define LN_dstu28147 "DSTU Gost 28147-2009" -#define NID_dstu28147 1152 -#define OBJ_dstu28147 OBJ_ua_pki,1L,1L,1L - -#define SN_dstu28147_ofb "dstu28147-ofb" -#define LN_dstu28147_ofb "DSTU Gost 28147-2009 OFB mode" -#define NID_dstu28147_ofb 1153 -#define OBJ_dstu28147_ofb OBJ_dstu28147,2L - -#define SN_dstu28147_cfb "dstu28147-cfb" -#define LN_dstu28147_cfb "DSTU Gost 28147-2009 CFB mode" -#define NID_dstu28147_cfb 1154 -#define OBJ_dstu28147_cfb OBJ_dstu28147,3L - -#define SN_dstu28147_wrap "dstu28147-wrap" -#define LN_dstu28147_wrap "DSTU Gost 28147-2009 key wrap" -#define NID_dstu28147_wrap 1155 -#define OBJ_dstu28147_wrap OBJ_dstu28147,5L - -#define SN_hmacWithDstu34311 "hmacWithDstu34311" -#define LN_hmacWithDstu34311 "HMAC DSTU Gost 34311-95" -#define NID_hmacWithDstu34311 1156 -#define OBJ_hmacWithDstu34311 OBJ_ua_pki,1L,1L,2L - -#define SN_dstu34311 "dstu34311" -#define LN_dstu34311 "DSTU Gost 34311-95" -#define NID_dstu34311 1157 -#define OBJ_dstu34311 OBJ_ua_pki,1L,2L,1L - -#define SN_dstu4145le "dstu4145le" -#define LN_dstu4145le "DSTU 4145-2002 little endian" -#define NID_dstu4145le 1158 -#define OBJ_dstu4145le OBJ_ua_pki,1L,3L,1L,1L - -#define SN_dstu4145be "dstu4145be" -#define LN_dstu4145be "DSTU 4145-2002 big endian" -#define NID_dstu4145be 1159 -#define OBJ_dstu4145be OBJ_dstu4145le,1L,1L - -#define SN_uacurve0 "uacurve0" -#define LN_uacurve0 "DSTU curve 0" -#define NID_uacurve0 1160 -#define OBJ_uacurve0 OBJ_dstu4145le,2L,0L - -#define SN_uacurve1 "uacurve1" -#define LN_uacurve1 "DSTU curve 1" -#define NID_uacurve1 1161 -#define OBJ_uacurve1 OBJ_dstu4145le,2L,1L - -#define SN_uacurve2 "uacurve2" -#define LN_uacurve2 "DSTU curve 2" -#define NID_uacurve2 1162 -#define OBJ_uacurve2 OBJ_dstu4145le,2L,2L - -#define SN_uacurve3 "uacurve3" -#define LN_uacurve3 "DSTU curve 3" -#define NID_uacurve3 1163 -#define OBJ_uacurve3 OBJ_dstu4145le,2L,3L - -#define SN_uacurve4 "uacurve4" -#define LN_uacurve4 "DSTU curve 4" -#define NID_uacurve4 1164 -#define OBJ_uacurve4 OBJ_dstu4145le,2L,4L - -#define SN_uacurve5 "uacurve5" -#define LN_uacurve5 "DSTU curve 5" -#define NID_uacurve5 1165 -#define OBJ_uacurve5 OBJ_dstu4145le,2L,5L - -#define SN_uacurve6 "uacurve6" -#define LN_uacurve6 "DSTU curve 6" -#define NID_uacurve6 1166 -#define OBJ_uacurve6 OBJ_dstu4145le,2L,6L - -#define SN_uacurve7 "uacurve7" -#define LN_uacurve7 "DSTU curve 7" -#define NID_uacurve7 1167 -#define OBJ_uacurve7 OBJ_dstu4145le,2L,7L - -#define SN_uacurve8 "uacurve8" -#define LN_uacurve8 "DSTU curve 8" -#define NID_uacurve8 1168 -#define OBJ_uacurve8 OBJ_dstu4145le,2L,8L - -#define SN_uacurve9 "uacurve9" -#define LN_uacurve9 "DSTU curve 9" -#define NID_uacurve9 1169 -#define OBJ_uacurve9 OBJ_dstu4145le,2L,9L diff --git a/deps/openssl/include/openssl/objects.h b/deps/openssl/include/openssl/objects.h deleted file mode 100644 index 5e8b5762..00000000 --- a/deps/openssl/include/openssl/objects.h +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_OBJECTS_H -# define HEADER_OBJECTS_H - -# include -# include -# include -# include - -# define OBJ_NAME_TYPE_UNDEF 0x00 -# define OBJ_NAME_TYPE_MD_METH 0x01 -# define OBJ_NAME_TYPE_CIPHER_METH 0x02 -# define OBJ_NAME_TYPE_PKEY_METH 0x03 -# define OBJ_NAME_TYPE_COMP_METH 0x04 -# define OBJ_NAME_TYPE_NUM 0x05 - -# define OBJ_NAME_ALIAS 0x8000 - -# define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 -# define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 - - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct obj_name_st { - int type; - int alias; - const char *name; - const char *data; -} OBJ_NAME; - -# define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) - -int OBJ_NAME_init(void); -int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *), - int (*cmp_func) (const char *, const char *), - void (*free_func) (const char *, int, const char *)); -const char *OBJ_NAME_get(const char *name, int type); -int OBJ_NAME_add(const char *name, int type, const char *data); -int OBJ_NAME_remove(const char *name, int type); -void OBJ_NAME_cleanup(int type); /* -1 for everything */ -void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg), - void *arg); -void OBJ_NAME_do_all_sorted(int type, - void (*fn) (const OBJ_NAME *, void *arg), - void *arg); - -ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); -ASN1_OBJECT *OBJ_nid2obj(int n); -const char *OBJ_nid2ln(int n); -const char *OBJ_nid2sn(int n); -int OBJ_obj2nid(const ASN1_OBJECT *o); -ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name); -int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); -int OBJ_txt2nid(const char *s); -int OBJ_ln2nid(const char *s); -int OBJ_sn2nid(const char *s); -int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); -const void *OBJ_bsearch_(const void *key, const void *base, int num, int size, - int (*cmp) (const void *, const void *)); -const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, - int size, - int (*cmp) (const void *, const void *), - int flags); - -# define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \ - static int nm##_cmp(type1 const *, type2 const *); \ - scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) - -# define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \ - _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp) -# define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ - type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) - -/*- - * Unsolved problem: if a type is actually a pointer type, like - * nid_triple is, then its impossible to get a const where you need - * it. Consider: - * - * typedef int nid_triple[3]; - * const void *a_; - * const nid_triple const *a = a_; - * - * The assignment discards a const because what you really want is: - * - * const int const * const *a = a_; - * - * But if you do that, you lose the fact that a is an array of 3 ints, - * which breaks comparison functions. - * - * Thus we end up having to cast, sadly, or unpack the - * declarations. Or, as I finally did in this case, declare nid_triple - * to be a struct, which it should have been in the first place. - * - * Ben, August 2008. - * - * Also, strictly speaking not all types need be const, but handling - * the non-constness means a lot of complication, and in practice - * comparison routines do always not touch their arguments. - */ - -# define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ - { \ - type1 const *a = a_; \ - type2 const *b = b_; \ - return nm##_cmp(a,b); \ - } \ - static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ - { \ - return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ - nm##_cmp_BSEARCH_CMP_FN); \ - } \ - extern void dummy_prototype(void) - -# define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ - { \ - type1 const *a = a_; \ - type2 const *b = b_; \ - return nm##_cmp(a,b); \ - } \ - type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ - { \ - return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ - nm##_cmp_BSEARCH_CMP_FN); \ - } \ - extern void dummy_prototype(void) - -# define OBJ_bsearch(type1,key,type2,base,num,cmp) \ - ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ - num,sizeof(type2), \ - ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ - (void)CHECKED_PTR_OF(type2,cmp##_type_2), \ - cmp##_BSEARCH_CMP_FN))) - -# define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \ - ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ - num,sizeof(type2), \ - ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ - (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \ - cmp##_BSEARCH_CMP_FN)),flags) - -int OBJ_new_nid(int num); -int OBJ_add_object(const ASN1_OBJECT *obj); -int OBJ_create(const char *oid, const char *sn, const char *ln); -#if OPENSSL_API_COMPAT < 0x10100000L -# define OBJ_cleanup() while(0) continue -#endif -int OBJ_create_objects(BIO *in); - -size_t OBJ_length(const ASN1_OBJECT *obj); -const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj); - -int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); -int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); -int OBJ_add_sigid(int signid, int dig_id, int pkey_id); -void OBJ_sigid_free(void); - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/objectserr.h b/deps/openssl/include/openssl/objectserr.h deleted file mode 100644 index 02e166f1..00000000 --- a/deps/openssl/include/openssl/objectserr.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_OBJERR_H -# define HEADER_OBJERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_OBJ_strings(void); - -/* - * OBJ function codes. - */ -# define OBJ_F_OBJ_ADD_OBJECT 105 -# define OBJ_F_OBJ_ADD_SIGID 107 -# define OBJ_F_OBJ_CREATE 100 -# define OBJ_F_OBJ_DUP 101 -# define OBJ_F_OBJ_NAME_NEW_INDEX 106 -# define OBJ_F_OBJ_NID2LN 102 -# define OBJ_F_OBJ_NID2OBJ 103 -# define OBJ_F_OBJ_NID2SN 104 -# define OBJ_F_OBJ_TXT2OBJ 108 - -/* - * OBJ reason codes. - */ -# define OBJ_R_OID_EXISTS 102 -# define OBJ_R_UNKNOWN_NID 101 - -#endif diff --git a/deps/openssl/include/openssl/ocsp.h b/deps/openssl/include/openssl/ocsp.h deleted file mode 100644 index 4d759a49..00000000 --- a/deps/openssl/include/openssl/ocsp.h +++ /dev/null @@ -1,352 +0,0 @@ -/* - * Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_OCSP_H -# define HEADER_OCSP_H - -#include - -/* - * These definitions are outside the OPENSSL_NO_OCSP guard because although for - * historical reasons they have OCSP_* names, they can actually be used - * independently of OCSP. E.g. see RFC5280 - */ -/*- - * CRLReason ::= ENUMERATED { - * unspecified (0), - * keyCompromise (1), - * cACompromise (2), - * affiliationChanged (3), - * superseded (4), - * cessationOfOperation (5), - * certificateHold (6), - * removeFromCRL (8) } - */ -# define OCSP_REVOKED_STATUS_NOSTATUS -1 -# define OCSP_REVOKED_STATUS_UNSPECIFIED 0 -# define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 -# define OCSP_REVOKED_STATUS_CACOMPROMISE 2 -# define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 -# define OCSP_REVOKED_STATUS_SUPERSEDED 4 -# define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 -# define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 -# define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 - - -# ifndef OPENSSL_NO_OCSP - -# include -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Various flags and values */ - -# define OCSP_DEFAULT_NONCE_LENGTH 16 - -# define OCSP_NOCERTS 0x1 -# define OCSP_NOINTERN 0x2 -# define OCSP_NOSIGS 0x4 -# define OCSP_NOCHAIN 0x8 -# define OCSP_NOVERIFY 0x10 -# define OCSP_NOEXPLICIT 0x20 -# define OCSP_NOCASIGN 0x40 -# define OCSP_NODELEGATED 0x80 -# define OCSP_NOCHECKS 0x100 -# define OCSP_TRUSTOTHER 0x200 -# define OCSP_RESPID_KEY 0x400 -# define OCSP_NOTIME 0x800 - -typedef struct ocsp_cert_id_st OCSP_CERTID; - -DEFINE_STACK_OF(OCSP_CERTID) - -typedef struct ocsp_one_request_st OCSP_ONEREQ; - -DEFINE_STACK_OF(OCSP_ONEREQ) - -typedef struct ocsp_req_info_st OCSP_REQINFO; -typedef struct ocsp_signature_st OCSP_SIGNATURE; -typedef struct ocsp_request_st OCSP_REQUEST; - -# define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 -# define OCSP_RESPONSE_STATUS_MALFORMEDREQUEST 1 -# define OCSP_RESPONSE_STATUS_INTERNALERROR 2 -# define OCSP_RESPONSE_STATUS_TRYLATER 3 -# define OCSP_RESPONSE_STATUS_SIGREQUIRED 5 -# define OCSP_RESPONSE_STATUS_UNAUTHORIZED 6 - -typedef struct ocsp_resp_bytes_st OCSP_RESPBYTES; - -# define V_OCSP_RESPID_NAME 0 -# define V_OCSP_RESPID_KEY 1 - -DEFINE_STACK_OF(OCSP_RESPID) - -typedef struct ocsp_revoked_info_st OCSP_REVOKEDINFO; - -# define V_OCSP_CERTSTATUS_GOOD 0 -# define V_OCSP_CERTSTATUS_REVOKED 1 -# define V_OCSP_CERTSTATUS_UNKNOWN 2 - -typedef struct ocsp_cert_status_st OCSP_CERTSTATUS; -typedef struct ocsp_single_response_st OCSP_SINGLERESP; - -DEFINE_STACK_OF(OCSP_SINGLERESP) - -typedef struct ocsp_response_data_st OCSP_RESPDATA; - -typedef struct ocsp_basic_response_st OCSP_BASICRESP; - -typedef struct ocsp_crl_id_st OCSP_CRLID; -typedef struct ocsp_service_locator_st OCSP_SERVICELOC; - -# define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" -# define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" - -# define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) - -# define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) - -# define PEM_read_bio_OCSP_REQUEST(bp,x,cb) (OCSP_REQUEST *)PEM_ASN1_read_bio( \ - (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST, \ - bp,(char **)(x),cb,NULL) - -# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb) (OCSP_RESPONSE *)PEM_ASN1_read_bio(\ - (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE, \ - bp,(char **)(x),cb,NULL) - -# define PEM_write_bio_OCSP_REQUEST(bp,o) \ - PEM_ASN1_write_bio((int (*)())i2d_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,\ - bp,(char *)(o), NULL,NULL,0,NULL,NULL) - -# define PEM_write_bio_OCSP_RESPONSE(bp,o) \ - PEM_ASN1_write_bio((int (*)())i2d_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,\ - bp,(char *)(o), NULL,NULL,0,NULL,NULL) - -# define i2d_OCSP_RESPONSE_bio(bp,o) ASN1_i2d_bio_of(OCSP_RESPONSE,i2d_OCSP_RESPONSE,bp,o) - -# define i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) - -# define ASN1_BIT_STRING_digest(data,type,md,len) \ - ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len) - -# define OCSP_CERTSTATUS_dup(cs)\ - (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ - (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) - -OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); - -OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); -OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, - int maxline); -int OCSP_REQ_CTX_nbio(OCSP_REQ_CTX *rctx); -int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); -OCSP_REQ_CTX *OCSP_REQ_CTX_new(BIO *io, int maxline); -void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); -void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); -int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, - ASN1_VALUE *val); -int OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, ASN1_VALUE **pval, - const ASN1_ITEM *it); -BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); -int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, const char *op, const char *path); -int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); -int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, - const char *name, const char *value); - -OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject, - const X509 *issuer); - -OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, - const X509_NAME *issuerName, - const ASN1_BIT_STRING *issuerKey, - const ASN1_INTEGER *serialNumber); - -OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid); - -int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val, int len); -int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val, int len); -int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs); -int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req); - -int OCSP_request_set1_name(OCSP_REQUEST *req, X509_NAME *nm); -int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert); - -int OCSP_request_sign(OCSP_REQUEST *req, - X509 *signer, - EVP_PKEY *key, - const EVP_MD *dgst, - STACK_OF(X509) *certs, unsigned long flags); - -int OCSP_response_status(OCSP_RESPONSE *resp); -OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); - -const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs); -const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs); -const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs); -int OCSP_resp_get0_signer(OCSP_BASICRESP *bs, X509 **signer, - STACK_OF(X509) *extra_certs); - -int OCSP_resp_count(OCSP_BASICRESP *bs); -OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); -const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(const OCSP_BASICRESP* bs); -const STACK_OF(X509) *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs); -int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, - const ASN1_OCTET_STRING **pid, - const X509_NAME **pname); -int OCSP_resp_get1_id(const OCSP_BASICRESP *bs, - ASN1_OCTET_STRING **pid, - X509_NAME **pname); - -int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last); -int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason, - ASN1_GENERALIZEDTIME **revtime, - ASN1_GENERALIZEDTIME **thisupd, - ASN1_GENERALIZEDTIME **nextupd); -int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status, - int *reason, - ASN1_GENERALIZEDTIME **revtime, - ASN1_GENERALIZEDTIME **thisupd, - ASN1_GENERALIZEDTIME **nextupd); -int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, - ASN1_GENERALIZEDTIME *nextupd, long sec, long maxsec); - -int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, - X509_STORE *store, unsigned long flags); - -int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath, - int *pssl); - -int OCSP_id_issuer_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b); -int OCSP_id_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b); - -int OCSP_request_onereq_count(OCSP_REQUEST *req); -OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i); -OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one); -int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, - ASN1_OCTET_STRING **pikeyHash, - ASN1_INTEGER **pserial, OCSP_CERTID *cid); -int OCSP_request_is_signed(OCSP_REQUEST *req); -OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs); -OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, - OCSP_CERTID *cid, - int status, int reason, - ASN1_TIME *revtime, - ASN1_TIME *thisupd, - ASN1_TIME *nextupd); -int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert); -int OCSP_basic_sign(OCSP_BASICRESP *brsp, - X509 *signer, EVP_PKEY *key, const EVP_MD *dgst, - STACK_OF(X509) *certs, unsigned long flags); -int OCSP_basic_sign_ctx(OCSP_BASICRESP *brsp, - X509 *signer, EVP_MD_CTX *ctx, - STACK_OF(X509) *certs, unsigned long flags); -int OCSP_RESPID_set_by_name(OCSP_RESPID *respid, X509 *cert); -int OCSP_RESPID_set_by_key(OCSP_RESPID *respid, X509 *cert); -int OCSP_RESPID_match(OCSP_RESPID *respid, X509 *cert); - -X509_EXTENSION *OCSP_crlID_new(const char *url, long *n, char *tim); - -X509_EXTENSION *OCSP_accept_responses_new(char **oids); - -X509_EXTENSION *OCSP_archive_cutoff_new(char *tim); - -X509_EXTENSION *OCSP_url_svcloc_new(X509_NAME *issuer, const char **urls); - -int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x); -int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos); -int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, const ASN1_OBJECT *obj, - int lastpos); -int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, int lastpos); -X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc); -X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc); -void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit, - int *idx); -int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value, int crit, - unsigned long flags); -int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc); - -int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x); -int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos); -int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, const ASN1_OBJECT *obj, int lastpos); -int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos); -X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc); -X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc); -void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit, int *idx); -int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value, int crit, - unsigned long flags); -int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc); - -int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x); -int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos); -int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, const ASN1_OBJECT *obj, - int lastpos); -int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit, - int lastpos); -X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc); -X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc); -void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int *crit, - int *idx); -int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value, - int crit, unsigned long flags); -int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int loc); - -int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x); -int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, int lastpos); -int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, const ASN1_OBJECT *obj, - int lastpos); -int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit, - int lastpos); -X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc); -X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int loc); -void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, - int *idx); -int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void *value, - int crit, unsigned long flags); -int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc); -const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *x); - -DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) -DECLARE_ASN1_FUNCTIONS(OCSP_CERTSTATUS) -DECLARE_ASN1_FUNCTIONS(OCSP_REVOKEDINFO) -DECLARE_ASN1_FUNCTIONS(OCSP_BASICRESP) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPDATA) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPBYTES) -DECLARE_ASN1_FUNCTIONS(OCSP_ONEREQ) -DECLARE_ASN1_FUNCTIONS(OCSP_CERTID) -DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST) -DECLARE_ASN1_FUNCTIONS(OCSP_SIGNATURE) -DECLARE_ASN1_FUNCTIONS(OCSP_REQINFO) -DECLARE_ASN1_FUNCTIONS(OCSP_CRLID) -DECLARE_ASN1_FUNCTIONS(OCSP_SERVICELOC) - -const char *OCSP_response_status_str(long s); -const char *OCSP_cert_status_str(long s); -const char *OCSP_crl_reason_str(long s); - -int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *a, unsigned long flags); -int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE *o, unsigned long flags); - -int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, - X509_STORE *st, unsigned long flags); - - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/ocsperr.h b/deps/openssl/include/openssl/ocsperr.h deleted file mode 100644 index 8dd9e01a..00000000 --- a/deps/openssl/include/openssl/ocsperr.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_OCSPERR_H -# define HEADER_OCSPERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_OCSP - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_OCSP_strings(void); - -/* - * OCSP function codes. - */ -# define OCSP_F_D2I_OCSP_NONCE 102 -# define OCSP_F_OCSP_BASIC_ADD1_STATUS 103 -# define OCSP_F_OCSP_BASIC_SIGN 104 -# define OCSP_F_OCSP_BASIC_SIGN_CTX 119 -# define OCSP_F_OCSP_BASIC_VERIFY 105 -# define OCSP_F_OCSP_CERT_ID_NEW 101 -# define OCSP_F_OCSP_CHECK_DELEGATED 106 -# define OCSP_F_OCSP_CHECK_IDS 107 -# define OCSP_F_OCSP_CHECK_ISSUER 108 -# define OCSP_F_OCSP_CHECK_VALIDITY 115 -# define OCSP_F_OCSP_MATCH_ISSUERID 109 -# define OCSP_F_OCSP_PARSE_URL 114 -# define OCSP_F_OCSP_REQUEST_SIGN 110 -# define OCSP_F_OCSP_REQUEST_VERIFY 116 -# define OCSP_F_OCSP_RESPONSE_GET1_BASIC 111 -# define OCSP_F_PARSE_HTTP_LINE1 118 - -/* - * OCSP reason codes. - */ -# define OCSP_R_CERTIFICATE_VERIFY_ERROR 101 -# define OCSP_R_DIGEST_ERR 102 -# define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122 -# define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123 -# define OCSP_R_ERROR_PARSING_URL 121 -# define OCSP_R_MISSING_OCSPSIGNING_USAGE 103 -# define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124 -# define OCSP_R_NOT_BASIC_RESPONSE 104 -# define OCSP_R_NO_CERTIFICATES_IN_CHAIN 105 -# define OCSP_R_NO_RESPONSE_DATA 108 -# define OCSP_R_NO_REVOKED_TIME 109 -# define OCSP_R_NO_SIGNER_KEY 130 -# define OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 110 -# define OCSP_R_REQUEST_NOT_SIGNED 128 -# define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111 -# define OCSP_R_ROOT_CA_NOT_TRUSTED 112 -# define OCSP_R_SERVER_RESPONSE_ERROR 114 -# define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 -# define OCSP_R_SIGNATURE_FAILURE 117 -# define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118 -# define OCSP_R_STATUS_EXPIRED 125 -# define OCSP_R_STATUS_NOT_YET_VALID 126 -# define OCSP_R_STATUS_TOO_OLD 127 -# define OCSP_R_UNKNOWN_MESSAGE_DIGEST 119 -# define OCSP_R_UNKNOWN_NID 120 -# define OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE 129 - -# endif -#endif diff --git a/deps/openssl/include/openssl/opensslconf.h b/deps/openssl/include/openssl/opensslconf.h deleted file mode 100644 index ba72c347..00000000 --- a/deps/openssl/include/openssl/opensslconf.h +++ /dev/null @@ -1,198 +0,0 @@ -/* - * WARNING: do not edit! - * Generated by Makefile from include/openssl/opensslconf.h.in - * - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_ALGORITHM_DEFINES -# error OPENSSL_ALGORITHM_DEFINES no longer supported -#endif - -/* - * OpenSSL was configured with the following options: - */ - -#ifndef OPENSSL_SYS_MACOSX -# define OPENSSL_SYS_MACOSX 1 -#endif -#ifndef OPENSSL_NO_MD2 -# define OPENSSL_NO_MD2 -#endif -#ifndef OPENSSL_NO_RC5 -# define OPENSSL_NO_RC5 -#endif -#ifndef OPENSSL_THREADS -# define OPENSSL_THREADS -#endif -#ifndef OPENSSL_RAND_SEED_OS -# define OPENSSL_RAND_SEED_OS -#endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif -#ifndef OPENSSL_NO_ASAN -# define OPENSSL_NO_ASAN -#endif -#ifndef OPENSSL_NO_CRYPTO_MDEBUG -# define OPENSSL_NO_CRYPTO_MDEBUG -#endif -#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE -# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE -#endif -#ifndef OPENSSL_NO_DEVCRYPTOENG -# define OPENSSL_NO_DEVCRYPTOENG -#endif -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_EGD -# define OPENSSL_NO_EGD -#endif -#ifndef OPENSSL_NO_EXTERNAL_TESTS -# define OPENSSL_NO_EXTERNAL_TESTS -#endif -#ifndef OPENSSL_NO_FUZZ_AFL -# define OPENSSL_NO_FUZZ_AFL -#endif -#ifndef OPENSSL_NO_FUZZ_LIBFUZZER -# define OPENSSL_NO_FUZZ_LIBFUZZER -#endif -#ifndef OPENSSL_NO_HEARTBEATS -# define OPENSSL_NO_HEARTBEATS -#endif -#ifndef OPENSSL_NO_MSAN -# define OPENSSL_NO_MSAN -#endif -#ifndef OPENSSL_NO_SCTP -# define OPENSSL_NO_SCTP -#endif -#ifndef OPENSSL_NO_SSL_TRACE -# define OPENSSL_NO_SSL_TRACE -#endif -#ifndef OPENSSL_NO_SSL3 -# define OPENSSL_NO_SSL3 -#endif -#ifndef OPENSSL_NO_SSL3_METHOD -# define OPENSSL_NO_SSL3_METHOD -#endif -#ifndef OPENSSL_NO_UBSAN -# define OPENSSL_NO_UBSAN -#endif -#ifndef OPENSSL_NO_UNIT_TEST -# define OPENSSL_NO_UNIT_TEST -#endif -#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS -# define OPENSSL_NO_WEAK_SSL_CIPHERS -#endif -#ifndef OPENSSL_NO_DYNAMIC_ENGINE -# define OPENSSL_NO_DYNAMIC_ENGINE -#endif - - -/* - * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers - * don't like that. This will hopefully silence them. - */ -#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; - -/* - * Applications should use -DOPENSSL_API_COMPAT= to suppress the - * declarations of functions deprecated in or before . Otherwise, they - * still won't see them if the library has been built to disable deprecated - * functions. - */ -#ifndef DECLARE_DEPRECATED -# define DECLARE_DEPRECATED(f) f; -# ifdef __GNUC__ -# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) -# undef DECLARE_DEPRECATED -# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); -# endif -# endif -#endif - -#ifndef OPENSSL_FILE -# ifdef OPENSSL_NO_FILENAMES -# define OPENSSL_FILE "" -# define OPENSSL_LINE 0 -# else -# define OPENSSL_FILE __FILE__ -# define OPENSSL_LINE __LINE__ -# endif -#endif - -#ifndef OPENSSL_MIN_API -# define OPENSSL_MIN_API 0 -#endif - -#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API -# undef OPENSSL_API_COMPAT -# define OPENSSL_API_COMPAT OPENSSL_MIN_API -#endif - -/* - * Do not deprecate things to be deprecated in version 1.2.0 before the - * OpenSSL version number matches. - */ -#if OPENSSL_VERSION_NUMBER < 0x10200000L -# define DEPRECATEDIN_1_2_0(f) f; -#elif OPENSSL_API_COMPAT < 0x10200000L -# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) -#else -# define DEPRECATEDIN_1_2_0(f) -#endif - -#if OPENSSL_API_COMPAT < 0x10100000L -# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) -#else -# define DEPRECATEDIN_1_1_0(f) -#endif - -#if OPENSSL_API_COMPAT < 0x10000000L -# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) -#else -# define DEPRECATEDIN_1_0_0(f) -#endif - -#if OPENSSL_API_COMPAT < 0x00908000L -# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) -#else -# define DEPRECATEDIN_0_9_8(f) -#endif - -/* Generate 80386 code? */ -#undef I386_ONLY - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION - -/* - * The following are cipher-specific, but are part of the public API. - */ -#if !defined(OPENSSL_SYS_UEFI) -# undef BN_LLONG -/* Only one for the following should be defined */ -# define SIXTY_FOUR_BIT_LONG -# undef SIXTY_FOUR_BIT -# undef THIRTY_TWO_BIT -#endif - -#define RC4_INT unsigned int - -#ifdef __cplusplus -} -#endif diff --git a/deps/openssl/include/openssl/opensslv.h b/deps/openssl/include/openssl/opensslv.h deleted file mode 100644 index 17d271f5..00000000 --- a/deps/openssl/include/openssl/opensslv.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 1999-2020 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_OPENSSLV_H -# define HEADER_OPENSSLV_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*- - * Numeric release version identifier: - * MNNFFPPS: major minor fix patch status - * The status nibble has one of the values 0 for development, 1 to e for betas - * 1 to 14, and f for release. The patch level is exactly that. - * For example: - * 0.9.3-dev 0x00903000 - * 0.9.3-beta1 0x00903001 - * 0.9.3-beta2-dev 0x00903002 - * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) - * 0.9.3 0x0090300f - * 0.9.3a 0x0090301f - * 0.9.4 0x0090400f - * 1.2.3z 0x102031af - * - * For continuity reasons (because 0.9.5 is already out, and is coded - * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level - * part is slightly different, by setting the highest bit. This means - * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start - * with 0x0090600S... - * - * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) - * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for - * major minor fix final patch/beta) - */ -# define OPENSSL_VERSION_NUMBER 0x1010107fL -# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1g 21 Apr 2020" - -/*- - * The macros below are to be used for shared library (.so, .dll, ...) - * versioning. That kind of versioning works a bit differently between - * operating systems. The most usual scheme is to set a major and a minor - * number, and have the runtime loader check that the major number is equal - * to what it was at application link time, while the minor number has to - * be greater or equal to what it was at application link time. With this - * scheme, the version number is usually part of the file name, like this: - * - * libcrypto.so.0.9 - * - * Some unixen also make a softlink with the major version number only: - * - * libcrypto.so.0 - * - * On Tru64 and IRIX 6.x it works a little bit differently. There, the - * shared library version is stored in the file, and is actually a series - * of versions, separated by colons. The rightmost version present in the - * library when linking an application is stored in the application to be - * matched at run time. When the application is run, a check is done to - * see if the library version stored in the application matches any of the - * versions in the version string of the library itself. - * This version string can be constructed in any way, depending on what - * kind of matching is desired. However, to implement the same scheme as - * the one used in the other unixen, all compatible versions, from lowest - * to highest, should be part of the string. Consecutive builds would - * give the following versions strings: - * - * 3.0 - * 3.0:3.1 - * 3.0:3.1:3.2 - * 4.0 - * 4.0:4.1 - * - * Notice how version 4 is completely incompatible with version, and - * therefore give the breach you can see. - * - * There may be other schemes as well that I haven't yet discovered. - * - * So, here's the way it works here: first of all, the library version - * number doesn't need at all to match the overall OpenSSL version. - * However, it's nice and more understandable if it actually does. - * The current library version is stored in the macro SHLIB_VERSION_NUMBER, - * which is just a piece of text in the format "M.m.e" (Major, minor, edit). - * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, - * we need to keep a history of version numbers, which is done in the - * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and - * should only keep the versions that are binary compatible with the current. - */ -# define SHLIB_VERSION_HISTORY "" -# define SHLIB_VERSION_NUMBER "1.1" - - -#ifdef __cplusplus -} -#endif -#endif /* HEADER_OPENSSLV_H */ diff --git a/deps/openssl/include/openssl/ossl_typ.h b/deps/openssl/include/openssl/ossl_typ.h deleted file mode 100644 index e0edfaaf..00000000 --- a/deps/openssl/include/openssl/ossl_typ.h +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_OPENSSL_TYPES_H -# define HEADER_OPENSSL_TYPES_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -# include - -# ifdef NO_ASN1_TYPEDEFS -# define ASN1_INTEGER ASN1_STRING -# define ASN1_ENUMERATED ASN1_STRING -# define ASN1_BIT_STRING ASN1_STRING -# define ASN1_OCTET_STRING ASN1_STRING -# define ASN1_PRINTABLESTRING ASN1_STRING -# define ASN1_T61STRING ASN1_STRING -# define ASN1_IA5STRING ASN1_STRING -# define ASN1_UTCTIME ASN1_STRING -# define ASN1_GENERALIZEDTIME ASN1_STRING -# define ASN1_TIME ASN1_STRING -# define ASN1_GENERALSTRING ASN1_STRING -# define ASN1_UNIVERSALSTRING ASN1_STRING -# define ASN1_BMPSTRING ASN1_STRING -# define ASN1_VISIBLESTRING ASN1_STRING -# define ASN1_UTF8STRING ASN1_STRING -# define ASN1_BOOLEAN int -# define ASN1_NULL int -# else -typedef struct asn1_string_st ASN1_INTEGER; -typedef struct asn1_string_st ASN1_ENUMERATED; -typedef struct asn1_string_st ASN1_BIT_STRING; -typedef struct asn1_string_st ASN1_OCTET_STRING; -typedef struct asn1_string_st ASN1_PRINTABLESTRING; -typedef struct asn1_string_st ASN1_T61STRING; -typedef struct asn1_string_st ASN1_IA5STRING; -typedef struct asn1_string_st ASN1_GENERALSTRING; -typedef struct asn1_string_st ASN1_UNIVERSALSTRING; -typedef struct asn1_string_st ASN1_BMPSTRING; -typedef struct asn1_string_st ASN1_UTCTIME; -typedef struct asn1_string_st ASN1_TIME; -typedef struct asn1_string_st ASN1_GENERALIZEDTIME; -typedef struct asn1_string_st ASN1_VISIBLESTRING; -typedef struct asn1_string_st ASN1_UTF8STRING; -typedef struct asn1_string_st ASN1_STRING; -typedef int ASN1_BOOLEAN; -typedef int ASN1_NULL; -# endif - -typedef struct asn1_object_st ASN1_OBJECT; - -typedef struct ASN1_ITEM_st ASN1_ITEM; -typedef struct asn1_pctx_st ASN1_PCTX; -typedef struct asn1_sctx_st ASN1_SCTX; - -# ifdef _WIN32 -# undef X509_NAME -# undef X509_EXTENSIONS -# undef PKCS7_ISSUER_AND_SERIAL -# undef PKCS7_SIGNER_INFO -# undef OCSP_REQUEST -# undef OCSP_RESPONSE -# endif - -# ifdef BIGNUM -# undef BIGNUM -# endif -struct dane_st; -typedef struct bio_st BIO; -typedef struct bignum_st BIGNUM; -typedef struct bignum_ctx BN_CTX; -typedef struct bn_blinding_st BN_BLINDING; -typedef struct bn_mont_ctx_st BN_MONT_CTX; -typedef struct bn_recp_ctx_st BN_RECP_CTX; -typedef struct bn_gencb_st BN_GENCB; - -typedef struct buf_mem_st BUF_MEM; - -typedef struct evp_cipher_st EVP_CIPHER; -typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; -typedef struct evp_md_st EVP_MD; -typedef struct evp_md_ctx_st EVP_MD_CTX; -typedef struct evp_pkey_st EVP_PKEY; - -typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; - -typedef struct evp_pkey_method_st EVP_PKEY_METHOD; -typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; - -typedef struct evp_Encode_Ctx_st EVP_ENCODE_CTX; - -typedef struct hmac_ctx_st HMAC_CTX; - -typedef struct dh_st DH; -typedef struct dh_method DH_METHOD; - -typedef struct dsa_st DSA; -typedef struct dsa_method DSA_METHOD; - -typedef struct rsa_st RSA; -typedef struct rsa_meth_st RSA_METHOD; -typedef struct rsa_pss_params_st RSA_PSS_PARAMS; - -typedef struct ec_key_st EC_KEY; -typedef struct ec_key_method_st EC_KEY_METHOD; - -typedef struct rand_meth_st RAND_METHOD; -typedef struct rand_drbg_st RAND_DRBG; - -typedef struct ssl_dane_st SSL_DANE; -typedef struct x509_st X509; -typedef struct X509_algor_st X509_ALGOR; -typedef struct X509_crl_st X509_CRL; -typedef struct x509_crl_method_st X509_CRL_METHOD; -typedef struct x509_revoked_st X509_REVOKED; -typedef struct X509_name_st X509_NAME; -typedef struct X509_pubkey_st X509_PUBKEY; -typedef struct x509_store_st X509_STORE; -typedef struct x509_store_ctx_st X509_STORE_CTX; - -typedef struct x509_object_st X509_OBJECT; -typedef struct x509_lookup_st X509_LOOKUP; -typedef struct x509_lookup_method_st X509_LOOKUP_METHOD; -typedef struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM; - -typedef struct x509_sig_info_st X509_SIG_INFO; - -typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; - -typedef struct v3_ext_ctx X509V3_CTX; -typedef struct conf_st CONF; -typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS; - -typedef struct ui_st UI; -typedef struct ui_method_st UI_METHOD; - -typedef struct engine_st ENGINE; -typedef struct ssl_st SSL; -typedef struct ssl_ctx_st SSL_CTX; - -typedef struct comp_ctx_st COMP_CTX; -typedef struct comp_method_st COMP_METHOD; - -typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; -typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; -typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; -typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; - -typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; -typedef struct DIST_POINT_st DIST_POINT; -typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; -typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; - -typedef struct crypto_ex_data_st CRYPTO_EX_DATA; - -typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; -typedef struct ocsp_response_st OCSP_RESPONSE; -typedef struct ocsp_responder_id_st OCSP_RESPID; - -typedef struct sct_st SCT; -typedef struct sct_ctx_st SCT_CTX; -typedef struct ctlog_st CTLOG; -typedef struct ctlog_store_st CTLOG_STORE; -typedef struct ct_policy_eval_ctx_st CT_POLICY_EVAL_CTX; - -typedef struct ossl_store_info_st OSSL_STORE_INFO; -typedef struct ossl_store_search_st OSSL_STORE_SEARCH; - -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \ - defined(INTMAX_MAX) && defined(UINTMAX_MAX) -typedef intmax_t ossl_intmax_t; -typedef uintmax_t ossl_uintmax_t; -#else -/* - * Not long long, because the C-library can only be expected to provide - * strtoll(), strtoull() at the same time as intmax_t and strtoimax(), - * strtoumax(). Since we use these for parsing arguments, we need the - * conversion functions, not just the sizes. - */ -typedef long ossl_intmax_t; -typedef unsigned long ossl_uintmax_t; -#endif - -#ifdef __cplusplus -} -#endif -#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/deps/openssl/include/openssl/pem.h b/deps/openssl/include/openssl/pem.h deleted file mode 100644 index 2ef5b5d0..00000000 --- a/deps/openssl/include/openssl/pem.h +++ /dev/null @@ -1,378 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_PEM_H -# define HEADER_PEM_H - -# include -# include -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# define PEM_BUFSIZE 1024 - -# define PEM_STRING_X509_OLD "X509 CERTIFICATE" -# define PEM_STRING_X509 "CERTIFICATE" -# define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE" -# define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST" -# define PEM_STRING_X509_REQ "CERTIFICATE REQUEST" -# define PEM_STRING_X509_CRL "X509 CRL" -# define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY" -# define PEM_STRING_PUBLIC "PUBLIC KEY" -# define PEM_STRING_RSA "RSA PRIVATE KEY" -# define PEM_STRING_RSA_PUBLIC "RSA PUBLIC KEY" -# define PEM_STRING_DSA "DSA PRIVATE KEY" -# define PEM_STRING_DSA_PUBLIC "DSA PUBLIC KEY" -# define PEM_STRING_PKCS7 "PKCS7" -# define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA" -# define PEM_STRING_PKCS8 "ENCRYPTED PRIVATE KEY" -# define PEM_STRING_PKCS8INF "PRIVATE KEY" -# define PEM_STRING_DHPARAMS "DH PARAMETERS" -# define PEM_STRING_DHXPARAMS "X9.42 DH PARAMETERS" -# define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS" -# define PEM_STRING_DSAPARAMS "DSA PARAMETERS" -# define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY" -# define PEM_STRING_ECPARAMETERS "EC PARAMETERS" -# define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY" -# define PEM_STRING_PARAMETERS "PARAMETERS" -# define PEM_STRING_CMS "CMS" - -# define PEM_TYPE_ENCRYPTED 10 -# define PEM_TYPE_MIC_ONLY 20 -# define PEM_TYPE_MIC_CLEAR 30 -# define PEM_TYPE_CLEAR 40 - -/* - * These macros make the PEM_read/PEM_write functions easier to maintain and - * write. Now they are all implemented with either: IMPLEMENT_PEM_rw(...) or - * IMPLEMENT_PEM_rw_cb(...) - */ - -# ifdef OPENSSL_NO_STDIO - -# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ -# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ -# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ -# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ -# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ -# else - -# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ -type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ -{ \ -return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str,fp,(void **)x,cb,u); \ -} - -# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ -int PEM_write_##name(FILE *fp, type *x) \ -{ \ -return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL); \ -} - -# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ -int PEM_write_##name(FILE *fp, const type *x) \ -{ \ -return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,(void *)x,NULL,NULL,0,NULL,NULL); \ -} - -# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ -int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, \ - void *u) \ - { \ - return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ - } - -# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ -int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, \ - void *u) \ - { \ - return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ - } - -# endif - -# define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ -type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ -{ \ -return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str,bp,(void **)x,cb,u); \ -} - -# define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ -int PEM_write_bio_##name(BIO *bp, type *x) \ -{ \ -return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL); \ -} - -# define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ -int PEM_write_bio_##name(BIO *bp, const type *x) \ -{ \ -return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,NULL,NULL,0,NULL,NULL); \ -} - -# define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ -int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ - { \ - return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u); \ - } - -# define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ -int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ - { \ - return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,enc,kstr,klen,cb,u); \ - } - -# define IMPLEMENT_PEM_write(name, type, str, asn1) \ - IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ - IMPLEMENT_PEM_write_fp(name, type, str, asn1) - -# define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) - -# define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) - -# define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) - -# define IMPLEMENT_PEM_read(name, type, str, asn1) \ - IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ - IMPLEMENT_PEM_read_fp(name, type, str, asn1) - -# define IMPLEMENT_PEM_rw(name, type, str, asn1) \ - IMPLEMENT_PEM_read(name, type, str, asn1) \ - IMPLEMENT_PEM_write(name, type, str, asn1) - -# define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ - IMPLEMENT_PEM_read(name, type, str, asn1) \ - IMPLEMENT_PEM_write_const(name, type, str, asn1) - -# define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \ - IMPLEMENT_PEM_read(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb(name, type, str, asn1) - -/* These are the same except they are for the declarations */ - -# if defined(OPENSSL_NO_STDIO) - -# define DECLARE_PEM_read_fp(name, type) /**/ -# define DECLARE_PEM_write_fp(name, type) /**/ -# define DECLARE_PEM_write_fp_const(name, type) /**/ -# define DECLARE_PEM_write_cb_fp(name, type) /**/ -# else - -# define DECLARE_PEM_read_fp(name, type) \ - type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); - -# define DECLARE_PEM_write_fp(name, type) \ - int PEM_write_##name(FILE *fp, type *x); - -# define DECLARE_PEM_write_fp_const(name, type) \ - int PEM_write_##name(FILE *fp, const type *x); - -# define DECLARE_PEM_write_cb_fp(name, type) \ - int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u); - -# endif - -# define DECLARE_PEM_read_bio(name, type) \ - type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); - -# define DECLARE_PEM_write_bio(name, type) \ - int PEM_write_bio_##name(BIO *bp, type *x); - -# define DECLARE_PEM_write_bio_const(name, type) \ - int PEM_write_bio_##name(BIO *bp, const type *x); - -# define DECLARE_PEM_write_cb_bio(name, type) \ - int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u); - -# define DECLARE_PEM_write(name, type) \ - DECLARE_PEM_write_bio(name, type) \ - DECLARE_PEM_write_fp(name, type) -# define DECLARE_PEM_write_const(name, type) \ - DECLARE_PEM_write_bio_const(name, type) \ - DECLARE_PEM_write_fp_const(name, type) -# define DECLARE_PEM_write_cb(name, type) \ - DECLARE_PEM_write_cb_bio(name, type) \ - DECLARE_PEM_write_cb_fp(name, type) -# define DECLARE_PEM_read(name, type) \ - DECLARE_PEM_read_bio(name, type) \ - DECLARE_PEM_read_fp(name, type) -# define DECLARE_PEM_rw(name, type) \ - DECLARE_PEM_read(name, type) \ - DECLARE_PEM_write(name, type) -# define DECLARE_PEM_rw_const(name, type) \ - DECLARE_PEM_read(name, type) \ - DECLARE_PEM_write_const(name, type) -# define DECLARE_PEM_rw_cb(name, type) \ - DECLARE_PEM_read(name, type) \ - DECLARE_PEM_write_cb(name, type) -typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata); - -int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher); -int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *len, - pem_password_cb *callback, void *u); - -int PEM_read_bio(BIO *bp, char **name, char **header, - unsigned char **data, long *len); -# define PEM_FLAG_SECURE 0x1 -# define PEM_FLAG_EAY_COMPATIBLE 0x2 -# define PEM_FLAG_ONLY_B64 0x4 -int PEM_read_bio_ex(BIO *bp, char **name, char **header, - unsigned char **data, long *len, unsigned int flags); -int PEM_bytes_read_bio_secmem(unsigned char **pdata, long *plen, char **pnm, - const char *name, BIO *bp, pem_password_cb *cb, - void *u); -int PEM_write_bio(BIO *bp, const char *name, const char *hdr, - const unsigned char *data, long len); -int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, - const char *name, BIO *bp, pem_password_cb *cb, - void *u); -void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x, - pem_password_cb *cb, void *u); -int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, - const EVP_CIPHER *enc, unsigned char *kstr, int klen, - pem_password_cb *cb, void *u); - -STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, - pem_password_cb *cb, void *u); -int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, - unsigned char *kstr, int klen, - pem_password_cb *cd, void *u); - -#ifndef OPENSSL_NO_STDIO -int PEM_read(FILE *fp, char **name, char **header, - unsigned char **data, long *len); -int PEM_write(FILE *fp, const char *name, const char *hdr, - const unsigned char *data, long len); -void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, - pem_password_cb *cb, void *u); -int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, - void *x, const EVP_CIPHER *enc, unsigned char *kstr, - int klen, pem_password_cb *callback, void *u); -STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, - pem_password_cb *cb, void *u); -#endif - -int PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); -int PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt); -int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, - unsigned int *siglen, EVP_PKEY *pkey); - -/* The default pem_password_cb that's used internally */ -int PEM_def_callback(char *buf, int num, int rwflag, void *userdata); -void PEM_proc_type(char *buf, int type); -void PEM_dek_info(char *buf, const char *type, int len, char *str); - -# include - -DECLARE_PEM_rw(X509, X509) -DECLARE_PEM_rw(X509_AUX, X509) -DECLARE_PEM_rw(X509_REQ, X509_REQ) -DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) -DECLARE_PEM_rw(X509_CRL, X509_CRL) -DECLARE_PEM_rw(PKCS7, PKCS7) -DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) -DECLARE_PEM_rw(PKCS8, X509_SIG) -DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) -# ifndef OPENSSL_NO_RSA -DECLARE_PEM_rw_cb(RSAPrivateKey, RSA) -DECLARE_PEM_rw_const(RSAPublicKey, RSA) -DECLARE_PEM_rw(RSA_PUBKEY, RSA) -# endif -# ifndef OPENSSL_NO_DSA -DECLARE_PEM_rw_cb(DSAPrivateKey, DSA) -DECLARE_PEM_rw(DSA_PUBKEY, DSA) -DECLARE_PEM_rw_const(DSAparams, DSA) -# endif -# ifndef OPENSSL_NO_EC -DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP) -DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY) -DECLARE_PEM_rw(EC_PUBKEY, EC_KEY) -# endif -# ifndef OPENSSL_NO_DH -DECLARE_PEM_rw_const(DHparams, DH) -DECLARE_PEM_write_const(DHxparams, DH) -# endif -DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) -DECLARE_PEM_rw(PUBKEY, EVP_PKEY) - -int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, - const EVP_CIPHER *enc, - unsigned char *kstr, int klen, - pem_password_cb *cb, void *u); - -int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, - char *kstr, int klen, - pem_password_cb *cb, void *u); -int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, - char *, int, pem_password_cb *, void *); -int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, - char *kstr, int klen, - pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, - char *kstr, int klen, - pem_password_cb *cb, void *u); -EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, - void *u); - -# ifndef OPENSSL_NO_STDIO -int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, - char *kstr, int klen, - pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, - char *kstr, int klen, - pem_password_cb *cb, void *u); -int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, - char *kstr, int klen, - pem_password_cb *cb, void *u); - -EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, - void *u); - -int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, - char *kstr, int klen, pem_password_cb *cd, - void *u); -# endif -EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); -int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x); - -# ifndef OPENSSL_NO_DSA -EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length); -EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length); -EVP_PKEY *b2i_PrivateKey_bio(BIO *in); -EVP_PKEY *b2i_PublicKey_bio(BIO *in); -int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk); -int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk); -# ifndef OPENSSL_NO_RC4 -EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u); -int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, - pem_password_cb *cb, void *u); -# endif -# endif - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/pem2.h b/deps/openssl/include/openssl/pem2.h deleted file mode 100644 index 038fe790..00000000 --- a/deps/openssl/include/openssl/pem2.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_PEM2_H -# define HEADER_PEM2_H -# include -#endif diff --git a/deps/openssl/include/openssl/pemerr.h b/deps/openssl/include/openssl/pemerr.h deleted file mode 100644 index 0c45918f..00000000 --- a/deps/openssl/include/openssl/pemerr.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_PEMERR_H -# define HEADER_PEMERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_PEM_strings(void); - -/* - * PEM function codes. - */ -# define PEM_F_B2I_DSS 127 -# define PEM_F_B2I_PVK_BIO 128 -# define PEM_F_B2I_RSA 129 -# define PEM_F_CHECK_BITLEN_DSA 130 -# define PEM_F_CHECK_BITLEN_RSA 131 -# define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 120 -# define PEM_F_D2I_PKCS8PRIVATEKEY_FP 121 -# define PEM_F_DO_B2I 132 -# define PEM_F_DO_B2I_BIO 133 -# define PEM_F_DO_BLOB_HEADER 134 -# define PEM_F_DO_I2B 146 -# define PEM_F_DO_PK8PKEY 126 -# define PEM_F_DO_PK8PKEY_FP 125 -# define PEM_F_DO_PVK_BODY 135 -# define PEM_F_DO_PVK_HEADER 136 -# define PEM_F_GET_HEADER_AND_DATA 143 -# define PEM_F_GET_NAME 144 -# define PEM_F_I2B_PVK 137 -# define PEM_F_I2B_PVK_BIO 138 -# define PEM_F_LOAD_IV 101 -# define PEM_F_PEM_ASN1_READ 102 -# define PEM_F_PEM_ASN1_READ_BIO 103 -# define PEM_F_PEM_ASN1_WRITE 104 -# define PEM_F_PEM_ASN1_WRITE_BIO 105 -# define PEM_F_PEM_DEF_CALLBACK 100 -# define PEM_F_PEM_DO_HEADER 106 -# define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 -# define PEM_F_PEM_READ 108 -# define PEM_F_PEM_READ_BIO 109 -# define PEM_F_PEM_READ_BIO_DHPARAMS 141 -# define PEM_F_PEM_READ_BIO_EX 145 -# define PEM_F_PEM_READ_BIO_PARAMETERS 140 -# define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 -# define PEM_F_PEM_READ_DHPARAMS 142 -# define PEM_F_PEM_READ_PRIVATEKEY 124 -# define PEM_F_PEM_SIGNFINAL 112 -# define PEM_F_PEM_WRITE 113 -# define PEM_F_PEM_WRITE_BIO 114 -# define PEM_F_PEM_WRITE_PRIVATEKEY 139 -# define PEM_F_PEM_X509_INFO_READ 115 -# define PEM_F_PEM_X509_INFO_READ_BIO 116 -# define PEM_F_PEM_X509_INFO_WRITE_BIO 117 - -/* - * PEM reason codes. - */ -# define PEM_R_BAD_BASE64_DECODE 100 -# define PEM_R_BAD_DECRYPT 101 -# define PEM_R_BAD_END_LINE 102 -# define PEM_R_BAD_IV_CHARS 103 -# define PEM_R_BAD_MAGIC_NUMBER 116 -# define PEM_R_BAD_PASSWORD_READ 104 -# define PEM_R_BAD_VERSION_NUMBER 117 -# define PEM_R_BIO_WRITE_FAILURE 118 -# define PEM_R_CIPHER_IS_NULL 127 -# define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115 -# define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119 -# define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120 -# define PEM_R_HEADER_TOO_LONG 128 -# define PEM_R_INCONSISTENT_HEADER 121 -# define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122 -# define PEM_R_KEYBLOB_TOO_SHORT 123 -# define PEM_R_MISSING_DEK_IV 129 -# define PEM_R_NOT_DEK_INFO 105 -# define PEM_R_NOT_ENCRYPTED 106 -# define PEM_R_NOT_PROC_TYPE 107 -# define PEM_R_NO_START_LINE 108 -# define PEM_R_PROBLEMS_GETTING_PASSWORD 109 -# define PEM_R_PVK_DATA_TOO_SHORT 124 -# define PEM_R_PVK_TOO_SHORT 125 -# define PEM_R_READ_KEY 111 -# define PEM_R_SHORT_HEADER 112 -# define PEM_R_UNEXPECTED_DEK_IV 130 -# define PEM_R_UNSUPPORTED_CIPHER 113 -# define PEM_R_UNSUPPORTED_ENCRYPTION 114 -# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 - -#endif diff --git a/deps/openssl/include/openssl/pkcs12.h b/deps/openssl/include/openssl/pkcs12.h deleted file mode 100644 index 3f43dad6..00000000 --- a/deps/openssl/include/openssl/pkcs12.h +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_PKCS12_H -# define HEADER_PKCS12_H - -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# define PKCS12_KEY_ID 1 -# define PKCS12_IV_ID 2 -# define PKCS12_MAC_ID 3 - -/* Default iteration count */ -# ifndef PKCS12_DEFAULT_ITER -# define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER -# endif - -# define PKCS12_MAC_KEY_LENGTH 20 - -# define PKCS12_SALT_LEN 8 - -/* It's not clear if these are actually needed... */ -# define PKCS12_key_gen PKCS12_key_gen_utf8 -# define PKCS12_add_friendlyname PKCS12_add_friendlyname_utf8 - -/* MS key usage constants */ - -# define KEY_EX 0x10 -# define KEY_SIG 0x80 - -typedef struct PKCS12_MAC_DATA_st PKCS12_MAC_DATA; - -typedef struct PKCS12_st PKCS12; - -typedef struct PKCS12_SAFEBAG_st PKCS12_SAFEBAG; - -DEFINE_STACK_OF(PKCS12_SAFEBAG) - -typedef struct pkcs12_bag_st PKCS12_BAGS; - -# define PKCS12_ERROR 0 -# define PKCS12_OK 1 - -/* Compatibility macros */ - -#if OPENSSL_API_COMPAT < 0x10100000L - -# define M_PKCS12_bag_type PKCS12_bag_type -# define M_PKCS12_cert_bag_type PKCS12_cert_bag_type -# define M_PKCS12_crl_bag_type PKCS12_cert_bag_type - -# define PKCS12_certbag2x509 PKCS12_SAFEBAG_get1_cert -# define PKCS12_certbag2scrl PKCS12_SAFEBAG_get1_crl -# define PKCS12_bag_type PKCS12_SAFEBAG_get_nid -# define PKCS12_cert_bag_type PKCS12_SAFEBAG_get_bag_nid -# define PKCS12_x5092certbag PKCS12_SAFEBAG_create_cert -# define PKCS12_x509crl2certbag PKCS12_SAFEBAG_create_crl -# define PKCS12_MAKE_KEYBAG PKCS12_SAFEBAG_create0_p8inf -# define PKCS12_MAKE_SHKEYBAG PKCS12_SAFEBAG_create_pkcs8_encrypt - -#endif - -DEPRECATEDIN_1_1_0(ASN1_TYPE *PKCS12_get_attr(const PKCS12_SAFEBAG *bag, int attr_nid)) - -ASN1_TYPE *PKCS8_get_attr(PKCS8_PRIV_KEY_INFO *p8, int attr_nid); -int PKCS12_mac_present(const PKCS12 *p12); -void PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, - const X509_ALGOR **pmacalg, - const ASN1_OCTET_STRING **psalt, - const ASN1_INTEGER **piter, - const PKCS12 *p12); - -const ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag, - int attr_nid); -const ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag); -int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag); -int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag); - -X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag); -X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag); -const STACK_OF(PKCS12_SAFEBAG) * -PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag); -const PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag); -const X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag); - -PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_cert(X509 *x509); -PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_crl(X509_CRL *crl); -PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_p8inf(PKCS8_PRIV_KEY_INFO *p8); -PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8); -PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid, - const char *pass, - int passlen, - unsigned char *salt, - int saltlen, int iter, - PKCS8_PRIV_KEY_INFO *p8inf); - -PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, - int nid1, int nid2); -PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(const X509_SIG *p8, const char *pass, - int passlen); -PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag, - const char *pass, int passlen); -X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, - const char *pass, int passlen, unsigned char *salt, - int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8); -X509_SIG *PKCS8_set0_pbe(const char *pass, int passlen, - PKCS8_PRIV_KEY_INFO *p8inf, X509_ALGOR *pbe); -PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); -STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); -PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, - unsigned char *salt, int saltlen, int iter, - STACK_OF(PKCS12_SAFEBAG) *bags); -STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, - int passlen); - -int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); -STACK_OF(PKCS7) *PKCS12_unpack_authsafes(const PKCS12 *p12); - -int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, - int namelen); -int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, - int namelen); -int PKCS12_add_friendlyname_utf8(PKCS12_SAFEBAG *bag, const char *name, - int namelen); -int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, - int namelen); -int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, - const unsigned char *name, int namelen); -int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); -ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs, - int attr_nid); -char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); -const STACK_OF(X509_ATTRIBUTE) * -PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag); -unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor, - const char *pass, int passlen, - const unsigned char *in, int inlen, - unsigned char **data, int *datalen, - int en_de); -void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it, - const char *pass, int passlen, - const ASN1_OCTET_STRING *oct, int zbuf); -ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, - const ASN1_ITEM *it, - const char *pass, int passlen, - void *obj, int zbuf); -PKCS12 *PKCS12_init(int mode); -int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, - int saltlen, int id, int iter, int n, - unsigned char *out, const EVP_MD *md_type); -int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, - int saltlen, int id, int iter, int n, - unsigned char *out, const EVP_MD *md_type); -int PKCS12_key_gen_utf8(const char *pass, int passlen, unsigned char *salt, - int saltlen, int id, int iter, int n, - unsigned char *out, const EVP_MD *md_type); -int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, - const EVP_MD *md_type, int en_de); -int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, - unsigned char *mac, unsigned int *maclen); -int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); -int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, - unsigned char *salt, int saltlen, int iter, - const EVP_MD *md_type); -int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, - int saltlen, const EVP_MD *md_type); -unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, - unsigned char **uni, int *unilen); -char *OPENSSL_uni2asc(const unsigned char *uni, int unilen); -unsigned char *OPENSSL_utf82uni(const char *asc, int asclen, - unsigned char **uni, int *unilen); -char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen); - -DECLARE_ASN1_FUNCTIONS(PKCS12) -DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) -DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) -DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) - -DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) -DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) - -void PKCS12_PBE_add(void); -int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, - STACK_OF(X509) **ca); -PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey, - X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, - int iter, int mac_iter, int keytype); - -PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert); -PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, - EVP_PKEY *key, int key_usage, int iter, - int key_nid, const char *pass); -int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, - int safe_nid, int iter, const char *pass); -PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); - -int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); -# ifndef OPENSSL_NO_STDIO -int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); -# endif -PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); -# ifndef OPENSSL_NO_STDIO -PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); -# endif -int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass); - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/pkcs12err.h b/deps/openssl/include/openssl/pkcs12err.h deleted file mode 100644 index eff5eb26..00000000 --- a/deps/openssl/include/openssl/pkcs12err.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_PKCS12ERR_H -# define HEADER_PKCS12ERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_PKCS12_strings(void); - -/* - * PKCS12 function codes. - */ -# define PKCS12_F_OPENSSL_ASC2UNI 121 -# define PKCS12_F_OPENSSL_UNI2ASC 124 -# define PKCS12_F_OPENSSL_UNI2UTF8 127 -# define PKCS12_F_OPENSSL_UTF82UNI 129 -# define PKCS12_F_PKCS12_CREATE 105 -# define PKCS12_F_PKCS12_GEN_MAC 107 -# define PKCS12_F_PKCS12_INIT 109 -# define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106 -# define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108 -# define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117 -# define PKCS12_F_PKCS12_KEY_GEN_ASC 110 -# define PKCS12_F_PKCS12_KEY_GEN_UNI 111 -# define PKCS12_F_PKCS12_KEY_GEN_UTF8 116 -# define PKCS12_F_PKCS12_NEWPASS 128 -# define PKCS12_F_PKCS12_PACK_P7DATA 114 -# define PKCS12_F_PKCS12_PACK_P7ENCDATA 115 -# define PKCS12_F_PKCS12_PARSE 118 -# define PKCS12_F_PKCS12_PBE_CRYPT 119 -# define PKCS12_F_PKCS12_PBE_KEYIVGEN 120 -# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_P8INF 112 -# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_PKCS8 113 -# define PKCS12_F_PKCS12_SAFEBAG_CREATE_PKCS8_ENCRYPT 133 -# define PKCS12_F_PKCS12_SETUP_MAC 122 -# define PKCS12_F_PKCS12_SET_MAC 123 -# define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130 -# define PKCS12_F_PKCS12_UNPACK_P7DATA 131 -# define PKCS12_F_PKCS12_VERIFY_MAC 126 -# define PKCS12_F_PKCS8_ENCRYPT 125 -# define PKCS12_F_PKCS8_SET0_PBE 132 - -/* - * PKCS12 reason codes. - */ -# define PKCS12_R_CANT_PACK_STRUCTURE 100 -# define PKCS12_R_CONTENT_TYPE_NOT_DATA 121 -# define PKCS12_R_DECODE_ERROR 101 -# define PKCS12_R_ENCODE_ERROR 102 -# define PKCS12_R_ENCRYPT_ERROR 103 -# define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120 -# define PKCS12_R_INVALID_NULL_ARGUMENT 104 -# define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105 -# define PKCS12_R_IV_GEN_ERROR 106 -# define PKCS12_R_KEY_GEN_ERROR 107 -# define PKCS12_R_MAC_ABSENT 108 -# define PKCS12_R_MAC_GENERATION_ERROR 109 -# define PKCS12_R_MAC_SETUP_ERROR 110 -# define PKCS12_R_MAC_STRING_SET_ERROR 111 -# define PKCS12_R_MAC_VERIFY_FAILURE 113 -# define PKCS12_R_PARSE_ERROR 114 -# define PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR 115 -# define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116 -# define PKCS12_R_PKCS12_PBE_CRYPT_ERROR 117 -# define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118 -# define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119 - -#endif diff --git a/deps/openssl/include/openssl/pkcs7.h b/deps/openssl/include/openssl/pkcs7.h deleted file mode 100644 index 9b66e002..00000000 --- a/deps/openssl/include/openssl/pkcs7.h +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_PKCS7_H -# define HEADER_PKCS7_H - -# include -# include -# include - -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/*- -Encryption_ID DES-CBC -Digest_ID MD5 -Digest_Encryption_ID rsaEncryption -Key_Encryption_ID rsaEncryption -*/ - -typedef struct pkcs7_issuer_and_serial_st { - X509_NAME *issuer; - ASN1_INTEGER *serial; -} PKCS7_ISSUER_AND_SERIAL; - -typedef struct pkcs7_signer_info_st { - ASN1_INTEGER *version; /* version 1 */ - PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; - X509_ALGOR *digest_alg; - STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */ - X509_ALGOR *digest_enc_alg; - ASN1_OCTET_STRING *enc_digest; - STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */ - /* The private key to sign with */ - EVP_PKEY *pkey; -} PKCS7_SIGNER_INFO; - -DEFINE_STACK_OF(PKCS7_SIGNER_INFO) - -typedef struct pkcs7_recip_info_st { - ASN1_INTEGER *version; /* version 0 */ - PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; - X509_ALGOR *key_enc_algor; - ASN1_OCTET_STRING *enc_key; - X509 *cert; /* get the pub-key from this */ -} PKCS7_RECIP_INFO; - -DEFINE_STACK_OF(PKCS7_RECIP_INFO) - -typedef struct pkcs7_signed_st { - ASN1_INTEGER *version; /* version 1 */ - STACK_OF(X509_ALGOR) *md_algs; /* md used */ - STACK_OF(X509) *cert; /* [ 0 ] */ - STACK_OF(X509_CRL) *crl; /* [ 1 ] */ - STACK_OF(PKCS7_SIGNER_INFO) *signer_info; - struct pkcs7_st *contents; -} PKCS7_SIGNED; -/* - * The above structure is very very similar to PKCS7_SIGN_ENVELOPE. How about - * merging the two - */ - -typedef struct pkcs7_enc_content_st { - ASN1_OBJECT *content_type; - X509_ALGOR *algorithm; - ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ - const EVP_CIPHER *cipher; -} PKCS7_ENC_CONTENT; - -typedef struct pkcs7_enveloped_st { - ASN1_INTEGER *version; /* version 0 */ - STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; - PKCS7_ENC_CONTENT *enc_data; -} PKCS7_ENVELOPE; - -typedef struct pkcs7_signedandenveloped_st { - ASN1_INTEGER *version; /* version 1 */ - STACK_OF(X509_ALGOR) *md_algs; /* md used */ - STACK_OF(X509) *cert; /* [ 0 ] */ - STACK_OF(X509_CRL) *crl; /* [ 1 ] */ - STACK_OF(PKCS7_SIGNER_INFO) *signer_info; - PKCS7_ENC_CONTENT *enc_data; - STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; -} PKCS7_SIGN_ENVELOPE; - -typedef struct pkcs7_digest_st { - ASN1_INTEGER *version; /* version 0 */ - X509_ALGOR *md; /* md used */ - struct pkcs7_st *contents; - ASN1_OCTET_STRING *digest; -} PKCS7_DIGEST; - -typedef struct pkcs7_encrypted_st { - ASN1_INTEGER *version; /* version 0 */ - PKCS7_ENC_CONTENT *enc_data; -} PKCS7_ENCRYPT; - -typedef struct pkcs7_st { - /* - * The following is non NULL if it contains ASN1 encoding of this - * structure - */ - unsigned char *asn1; - long length; -# define PKCS7_S_HEADER 0 -# define PKCS7_S_BODY 1 -# define PKCS7_S_TAIL 2 - int state; /* used during processing */ - int detached; - ASN1_OBJECT *type; - /* content as defined by the type */ - /* - * all encryption/message digests are applied to the 'contents', leaving - * out the 'type' field. - */ - union { - char *ptr; - /* NID_pkcs7_data */ - ASN1_OCTET_STRING *data; - /* NID_pkcs7_signed */ - PKCS7_SIGNED *sign; - /* NID_pkcs7_enveloped */ - PKCS7_ENVELOPE *enveloped; - /* NID_pkcs7_signedAndEnveloped */ - PKCS7_SIGN_ENVELOPE *signed_and_enveloped; - /* NID_pkcs7_digest */ - PKCS7_DIGEST *digest; - /* NID_pkcs7_encrypted */ - PKCS7_ENCRYPT *encrypted; - /* Anything else */ - ASN1_TYPE *other; - } d; -} PKCS7; - -DEFINE_STACK_OF(PKCS7) - -# define PKCS7_OP_SET_DETACHED_SIGNATURE 1 -# define PKCS7_OP_GET_DETACHED_SIGNATURE 2 - -# define PKCS7_get_signed_attributes(si) ((si)->auth_attr) -# define PKCS7_get_attributes(si) ((si)->unauth_attr) - -# define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed) -# define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) -# define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped) -# define PKCS7_type_is_signedAndEnveloped(a) \ - (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped) -# define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data) -# define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) - -# define PKCS7_set_detached(p,v) \ - PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL) -# define PKCS7_get_detached(p) \ - PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL) - -# define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7)) - -/* S/MIME related flags */ - -# define PKCS7_TEXT 0x1 -# define PKCS7_NOCERTS 0x2 -# define PKCS7_NOSIGS 0x4 -# define PKCS7_NOCHAIN 0x8 -# define PKCS7_NOINTERN 0x10 -# define PKCS7_NOVERIFY 0x20 -# define PKCS7_DETACHED 0x40 -# define PKCS7_BINARY 0x80 -# define PKCS7_NOATTR 0x100 -# define PKCS7_NOSMIMECAP 0x200 -# define PKCS7_NOOLDMIMETYPE 0x400 -# define PKCS7_CRLFEOL 0x800 -# define PKCS7_STREAM 0x1000 -# define PKCS7_NOCRL 0x2000 -# define PKCS7_PARTIAL 0x4000 -# define PKCS7_REUSE_DIGEST 0x8000 -# define PKCS7_NO_DUAL_CONTENT 0x10000 - -/* Flags: for compatibility with older code */ - -# define SMIME_TEXT PKCS7_TEXT -# define SMIME_NOCERTS PKCS7_NOCERTS -# define SMIME_NOSIGS PKCS7_NOSIGS -# define SMIME_NOCHAIN PKCS7_NOCHAIN -# define SMIME_NOINTERN PKCS7_NOINTERN -# define SMIME_NOVERIFY PKCS7_NOVERIFY -# define SMIME_DETACHED PKCS7_DETACHED -# define SMIME_BINARY PKCS7_BINARY -# define SMIME_NOATTR PKCS7_NOATTR - -/* CRLF ASCII canonicalisation */ -# define SMIME_ASCIICRLF 0x80000 - -DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) - -int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, - const EVP_MD *type, unsigned char *md, - unsigned int *len); -# ifndef OPENSSL_NO_STDIO -PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); -int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); -# endif -PKCS7 *PKCS7_dup(PKCS7 *p7); -PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); -int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); -int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); -int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); - -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) -DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) -DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) -DECLARE_ASN1_FUNCTIONS(PKCS7) - -DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN) -DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY) - -DECLARE_ASN1_NDEF_FUNCTION(PKCS7) -DECLARE_ASN1_PRINT_FUNCTION(PKCS7) - -long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); - -int PKCS7_set_type(PKCS7 *p7, int type); -int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); -int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); -int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, - const EVP_MD *dgst); -int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); -int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); -int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); -int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); -int PKCS7_content_new(PKCS7 *p7, int nid); -int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, - BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); -int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, - X509 *x509); - -BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); -int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); -BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); - -PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, - EVP_PKEY *pkey, const EVP_MD *dgst); -X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); -int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); -STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7); - -PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); -void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, - X509_ALGOR **pdig, X509_ALGOR **psig); -void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); -int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); -int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); -int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); -int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); - -PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); -ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk); -int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, - void *data); -int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, - void *value); -ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid); -ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid); -int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, - STACK_OF(X509_ATTRIBUTE) *sk); -int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, - STACK_OF(X509_ATTRIBUTE) *sk); - -PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, - BIO *data, int flags); - -PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, - X509 *signcert, EVP_PKEY *pkey, - const EVP_MD *md, int flags); - -int PKCS7_final(PKCS7 *p7, BIO *data, int flags); -int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, - BIO *indata, BIO *out, int flags); -STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, - int flags); -PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, - int flags); -int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, - int flags); - -int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, - STACK_OF(X509_ALGOR) *cap); -STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); -int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg); - -int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); -int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); -int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, - const unsigned char *md, int mdlen); - -int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); -PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); - -BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/pkcs7err.h b/deps/openssl/include/openssl/pkcs7err.h deleted file mode 100644 index 02e0299a..00000000 --- a/deps/openssl/include/openssl/pkcs7err.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_PKCS7ERR_H -# define HEADER_PKCS7ERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_PKCS7_strings(void); - -/* - * PKCS7 function codes. - */ -# define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 -# define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 135 -# define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 118 -# define PKCS7_F_PKCS7_ADD_CERTIFICATE 100 -# define PKCS7_F_PKCS7_ADD_CRL 101 -# define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 102 -# define PKCS7_F_PKCS7_ADD_SIGNATURE 131 -# define PKCS7_F_PKCS7_ADD_SIGNER 103 -# define PKCS7_F_PKCS7_BIO_ADD_DIGEST 125 -# define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 138 -# define PKCS7_F_PKCS7_CTRL 104 -# define PKCS7_F_PKCS7_DATADECODE 112 -# define PKCS7_F_PKCS7_DATAFINAL 128 -# define PKCS7_F_PKCS7_DATAINIT 105 -# define PKCS7_F_PKCS7_DATAVERIFY 107 -# define PKCS7_F_PKCS7_DECRYPT 114 -# define PKCS7_F_PKCS7_DECRYPT_RINFO 133 -# define PKCS7_F_PKCS7_ENCODE_RINFO 132 -# define PKCS7_F_PKCS7_ENCRYPT 115 -# define PKCS7_F_PKCS7_FINAL 134 -# define PKCS7_F_PKCS7_FIND_DIGEST 127 -# define PKCS7_F_PKCS7_GET0_SIGNERS 124 -# define PKCS7_F_PKCS7_RECIP_INFO_SET 130 -# define PKCS7_F_PKCS7_SET_CIPHER 108 -# define PKCS7_F_PKCS7_SET_CONTENT 109 -# define PKCS7_F_PKCS7_SET_DIGEST 126 -# define PKCS7_F_PKCS7_SET_TYPE 110 -# define PKCS7_F_PKCS7_SIGN 116 -# define PKCS7_F_PKCS7_SIGNATUREVERIFY 113 -# define PKCS7_F_PKCS7_SIGNER_INFO_SET 129 -# define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 139 -# define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 137 -# define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 119 -# define PKCS7_F_PKCS7_VERIFY 117 - -/* - * PKCS7 reason codes. - */ -# define PKCS7_R_CERTIFICATE_VERIFY_ERROR 117 -# define PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 144 -# define PKCS7_R_CIPHER_NOT_INITIALIZED 116 -# define PKCS7_R_CONTENT_AND_DATA_PRESENT 118 -# define PKCS7_R_CTRL_ERROR 152 -# define PKCS7_R_DECRYPT_ERROR 119 -# define PKCS7_R_DIGEST_FAILURE 101 -# define PKCS7_R_ENCRYPTION_CTRL_FAILURE 149 -# define PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 150 -# define PKCS7_R_ERROR_ADDING_RECIPIENT 120 -# define PKCS7_R_ERROR_SETTING_CIPHER 121 -# define PKCS7_R_INVALID_NULL_POINTER 143 -# define PKCS7_R_INVALID_SIGNED_DATA_TYPE 155 -# define PKCS7_R_NO_CONTENT 122 -# define PKCS7_R_NO_DEFAULT_DIGEST 151 -# define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND 154 -# define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE 115 -# define PKCS7_R_NO_SIGNATURES_ON_DATA 123 -# define PKCS7_R_NO_SIGNERS 142 -# define PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE 104 -# define PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR 124 -# define PKCS7_R_PKCS7_ADD_SIGNER_ERROR 153 -# define PKCS7_R_PKCS7_DATASIGN 145 -# define PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 127 -# define PKCS7_R_SIGNATURE_FAILURE 105 -# define PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND 128 -# define PKCS7_R_SIGNING_CTRL_FAILURE 147 -# define PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 148 -# define PKCS7_R_SMIME_TEXT_ERROR 129 -# define PKCS7_R_UNABLE_TO_FIND_CERTIFICATE 106 -# define PKCS7_R_UNABLE_TO_FIND_MEM_BIO 107 -# define PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST 108 -# define PKCS7_R_UNKNOWN_DIGEST_TYPE 109 -# define PKCS7_R_UNKNOWN_OPERATION 110 -# define PKCS7_R_UNSUPPORTED_CIPHER_TYPE 111 -# define PKCS7_R_UNSUPPORTED_CONTENT_TYPE 112 -# define PKCS7_R_WRONG_CONTENT_TYPE 113 -# define PKCS7_R_WRONG_PKCS7_TYPE 114 - -#endif diff --git a/deps/openssl/include/openssl/rand.h b/deps/openssl/include/openssl/rand.h deleted file mode 100644 index 38a2a271..00000000 --- a/deps/openssl/include/openssl/rand.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_RAND_H -# define HEADER_RAND_H - -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -struct rand_meth_st { - int (*seed) (const void *buf, int num); - int (*bytes) (unsigned char *buf, int num); - void (*cleanup) (void); - int (*add) (const void *buf, int num, double randomness); - int (*pseudorand) (unsigned char *buf, int num); - int (*status) (void); -}; - -int RAND_set_rand_method(const RAND_METHOD *meth); -const RAND_METHOD *RAND_get_rand_method(void); -# ifndef OPENSSL_NO_ENGINE -int RAND_set_rand_engine(ENGINE *engine); -# endif - -RAND_METHOD *RAND_OpenSSL(void); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define RAND_cleanup() while(0) continue -# endif -int RAND_bytes(unsigned char *buf, int num); -int RAND_priv_bytes(unsigned char *buf, int num); -DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num)) - -void RAND_seed(const void *buf, int num); -void RAND_keep_random_devices_open(int keep); - -# if defined(__ANDROID__) && defined(__NDK_FPABI__) -__NDK_FPABI__ /* __attribute__((pcs("aapcs"))) on ARM */ -# endif -void RAND_add(const void *buf, int num, double randomness); -int RAND_load_file(const char *file, long max_bytes); -int RAND_write_file(const char *file); -const char *RAND_file_name(char *file, size_t num); -int RAND_status(void); - -# ifndef OPENSSL_NO_EGD -int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes); -int RAND_egd(const char *path); -int RAND_egd_bytes(const char *path, int bytes); -# endif - -int RAND_poll(void); - -# if defined(_WIN32) && (defined(BASETYPES) || defined(_WINDEF_H)) -/* application has to include in order to use these */ -DEPRECATEDIN_1_1_0(void RAND_screen(void)) -DEPRECATEDIN_1_1_0(int RAND_event(UINT, WPARAM, LPARAM)) -# endif - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/openssl/include/openssl/rand_drbg.h b/deps/openssl/include/openssl/rand_drbg.h deleted file mode 100644 index 45b731b7..00000000 --- a/deps/openssl/include/openssl/rand_drbg.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_DRBG_RAND_H -# define HEADER_DRBG_RAND_H - -# include -# include -# include - -/* - * RAND_DRBG flags - * - * Note: if new flags are added, the constant `rand_drbg_used_flags` - * in drbg_lib.c needs to be updated accordingly. - */ - -/* In CTR mode, disable derivation function ctr_df */ -# define RAND_DRBG_FLAG_CTR_NO_DF 0x1 - - -# if OPENSSL_API_COMPAT < 0x10200000L -/* This #define was replaced by an internal constant and should not be used. */ -# define RAND_DRBG_USED_FLAGS (RAND_DRBG_FLAG_CTR_NO_DF) -# endif - -/* - * Default security strength (in the sense of [NIST SP 800-90Ar1]) - * - * NIST SP 800-90Ar1 supports the strength of the DRBG being smaller than that - * of the cipher by collecting less entropy. The current DRBG implementation - * does not take RAND_DRBG_STRENGTH into account and sets the strength of the - * DRBG to that of the cipher. - * - * RAND_DRBG_STRENGTH is currently only used for the legacy RAND - * implementation. - * - * Currently supported ciphers are: NID_aes_128_ctr, NID_aes_192_ctr and - * NID_aes_256_ctr - */ -# define RAND_DRBG_STRENGTH 256 -/* Default drbg type */ -# define RAND_DRBG_TYPE NID_aes_256_ctr -/* Default drbg flags */ -# define RAND_DRBG_FLAGS 0 - - -# ifdef __cplusplus -extern "C" { -# endif - -/* - * Object lifetime functions. - */ -RAND_DRBG *RAND_DRBG_new(int type, unsigned int flags, RAND_DRBG *parent); -RAND_DRBG *RAND_DRBG_secure_new(int type, unsigned int flags, RAND_DRBG *parent); -int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags); -int RAND_DRBG_set_defaults(int type, unsigned int flags); -int RAND_DRBG_instantiate(RAND_DRBG *drbg, - const unsigned char *pers, size_t perslen); -int RAND_DRBG_uninstantiate(RAND_DRBG *drbg); -void RAND_DRBG_free(RAND_DRBG *drbg); - -/* - * Object "use" functions. - */ -int RAND_DRBG_reseed(RAND_DRBG *drbg, - const unsigned char *adin, size_t adinlen, - int prediction_resistance); -int RAND_DRBG_generate(RAND_DRBG *drbg, unsigned char *out, size_t outlen, - int prediction_resistance, - const unsigned char *adin, size_t adinlen); -int RAND_DRBG_bytes(RAND_DRBG *drbg, unsigned char *out, size_t outlen); - -int RAND_DRBG_set_reseed_interval(RAND_DRBG *drbg, unsigned int interval); -int RAND_DRBG_set_reseed_time_interval(RAND_DRBG *drbg, time_t interval); - -int RAND_DRBG_set_reseed_defaults( - unsigned int master_reseed_interval, - unsigned int slave_reseed_interval, - time_t master_reseed_time_interval, - time_t slave_reseed_time_interval - ); - -RAND_DRBG *RAND_DRBG_get0_master(void); -RAND_DRBG *RAND_DRBG_get0_public(void); -RAND_DRBG *RAND_DRBG_get0_private(void); - -/* - * EXDATA - */ -# define RAND_DRBG_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DRBG, l, p, newf, dupf, freef) -int RAND_DRBG_set_ex_data(RAND_DRBG *drbg, int idx, void *arg); -void *RAND_DRBG_get_ex_data(const RAND_DRBG *drbg, int idx); - -/* - * Callback function typedefs - */ -typedef size_t (*RAND_DRBG_get_entropy_fn)(RAND_DRBG *drbg, - unsigned char **pout, - int entropy, size_t min_len, - size_t max_len, - int prediction_resistance); -typedef void (*RAND_DRBG_cleanup_entropy_fn)(RAND_DRBG *ctx, - unsigned char *out, size_t outlen); -typedef size_t (*RAND_DRBG_get_nonce_fn)(RAND_DRBG *drbg, unsigned char **pout, - int entropy, size_t min_len, - size_t max_len); -typedef void (*RAND_DRBG_cleanup_nonce_fn)(RAND_DRBG *drbg, - unsigned char *out, size_t outlen); - -int RAND_DRBG_set_callbacks(RAND_DRBG *drbg, - RAND_DRBG_get_entropy_fn get_entropy, - RAND_DRBG_cleanup_entropy_fn cleanup_entropy, - RAND_DRBG_get_nonce_fn get_nonce, - RAND_DRBG_cleanup_nonce_fn cleanup_nonce); - - -# ifdef __cplusplus -} -# endif - -#endif diff --git a/deps/openssl/include/openssl/randerr.h b/deps/openssl/include/openssl/randerr.h deleted file mode 100644 index 79d57905..00000000 --- a/deps/openssl/include/openssl/randerr.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_RANDERR_H -# define HEADER_RANDERR_H - -# include - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_RAND_strings(void); - -/* - * RAND function codes. - */ -# define RAND_F_DATA_COLLECT_METHOD 127 -# define RAND_F_DRBG_BYTES 101 -# define RAND_F_DRBG_GET_ENTROPY 105 -# define RAND_F_DRBG_SETUP 117 -# define RAND_F_GET_ENTROPY 106 -# define RAND_F_RAND_BYTES 100 -# define RAND_F_RAND_DRBG_ENABLE_LOCKING 119 -# define RAND_F_RAND_DRBG_GENERATE 107 -# define RAND_F_RAND_DRBG_GET_ENTROPY 120 -# define RAND_F_RAND_DRBG_GET_NONCE 123 -# define RAND_F_RAND_DRBG_INSTANTIATE 108 -# define RAND_F_RAND_DRBG_NEW 109 -# define RAND_F_RAND_DRBG_RESEED 110 -# define RAND_F_RAND_DRBG_RESTART 102 -# define RAND_F_RAND_DRBG_SET 104 -# define RAND_F_RAND_DRBG_SET_DEFAULTS 121 -# define RAND_F_RAND_DRBG_UNINSTANTIATE 118 -# define RAND_F_RAND_LOAD_FILE 111 -# define RAND_F_RAND_POOL_ACQUIRE_ENTROPY 122 -# define RAND_F_RAND_POOL_ADD 103 -# define RAND_F_RAND_POOL_ADD_BEGIN 113 -# define RAND_F_RAND_POOL_ADD_END 114 -# define RAND_F_RAND_POOL_ATTACH 124 -# define RAND_F_RAND_POOL_BYTES_NEEDED 115 -# define RAND_F_RAND_POOL_GROW 125 -# define RAND_F_RAND_POOL_NEW 116 -# define RAND_F_RAND_PSEUDO_BYTES 126 -# define RAND_F_RAND_WRITE_FILE 112 - -/* - * RAND reason codes. - */ -# define RAND_R_ADDITIONAL_INPUT_TOO_LONG 102 -# define RAND_R_ALREADY_INSTANTIATED 103 -# define RAND_R_ARGUMENT_OUT_OF_RANGE 105 -# define RAND_R_CANNOT_OPEN_FILE 121 -# define RAND_R_DRBG_ALREADY_INITIALIZED 129 -# define RAND_R_DRBG_NOT_INITIALISED 104 -# define RAND_R_ENTROPY_INPUT_TOO_LONG 106 -# define RAND_R_ENTROPY_OUT_OF_RANGE 124 -# define RAND_R_ERROR_ENTROPY_POOL_WAS_IGNORED 127 -# define RAND_R_ERROR_INITIALISING_DRBG 107 -# define RAND_R_ERROR_INSTANTIATING_DRBG 108 -# define RAND_R_ERROR_RETRIEVING_ADDITIONAL_INPUT 109 -# define RAND_R_ERROR_RETRIEVING_ENTROPY 110 -# define RAND_R_ERROR_RETRIEVING_NONCE 111 -# define RAND_R_FAILED_TO_CREATE_LOCK 126 -# define RAND_R_FUNC_NOT_IMPLEMENTED 101 -# define RAND_R_FWRITE_ERROR 123 -# define RAND_R_GENERATE_ERROR 112 -# define RAND_R_INTERNAL_ERROR 113 -# define RAND_R_IN_ERROR_STATE 114 -# define RAND_R_NOT_A_REGULAR_FILE 122 -# define RAND_R_NOT_INSTANTIATED 115 -# define RAND_R_NO_DRBG_IMPLEMENTATION_SELECTED 128 -# define RAND_R_PARENT_LOCKING_NOT_ENABLED 130 -# define RAND_R_PARENT_STRENGTH_TOO_WEAK 131 -# define RAND_R_PERSONALISATION_STRING_TOO_LONG 116 -# define RAND_R_PREDICTION_RESISTANCE_NOT_SUPPORTED 133 -# define RAND_R_PRNG_NOT_SEEDED 100 -# define RAND_R_RANDOM_POOL_OVERFLOW 125 -# define RAND_R_RANDOM_POOL_UNDERFLOW 134 -# define RAND_R_REQUEST_TOO_LARGE_FOR_DRBG 117 -# define RAND_R_RESEED_ERROR 118 -# define RAND_R_SELFTEST_FAILURE 119 -# define RAND_R_TOO_LITTLE_NONCE_REQUESTED 135 -# define RAND_R_TOO_MUCH_NONCE_REQUESTED 136 -# define RAND_R_UNSUPPORTED_DRBG_FLAGS 132 -# define RAND_R_UNSUPPORTED_DRBG_TYPE 120 - -#endif diff --git a/deps/openssl/include/openssl/rc2.h b/deps/openssl/include/openssl/rc2.h deleted file mode 100644 index 585f9e4c..00000000 --- a/deps/openssl/include/openssl/rc2.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_RC2_H -# define HEADER_RC2_H - -# include - -# ifndef OPENSSL_NO_RC2 -# ifdef __cplusplus -extern "C" { -# endif - -typedef unsigned int RC2_INT; - -# define RC2_ENCRYPT 1 -# define RC2_DECRYPT 0 - -# define RC2_BLOCK 8 -# define RC2_KEY_LENGTH 16 - -typedef struct rc2_key_st { - RC2_INT data[64]; -} RC2_KEY; - -void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits); -void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, - RC2_KEY *key, int enc); -void RC2_encrypt(unsigned long *data, RC2_KEY *key); -void RC2_decrypt(unsigned long *data, RC2_KEY *key); -void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, - RC2_KEY *ks, unsigned char *iv, int enc); -void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, RC2_KEY *schedule, unsigned char *ivec, - int *num, int enc); -void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, RC2_KEY *schedule, unsigned char *ivec, - int *num); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/rc4.h b/deps/openssl/include/openssl/rc4.h deleted file mode 100644 index 86803b37..00000000 --- a/deps/openssl/include/openssl/rc4.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_RC4_H -# define HEADER_RC4_H - -# include - -# ifndef OPENSSL_NO_RC4 -# include -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct rc4_key_st { - RC4_INT x, y; - RC4_INT data[256]; -} RC4_KEY; - -const char *RC4_options(void); -void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); -void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, - unsigned char *outdata); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/rc5.h b/deps/openssl/include/openssl/rc5.h deleted file mode 100644 index 793f88e4..00000000 --- a/deps/openssl/include/openssl/rc5.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_RC5_H -# define HEADER_RC5_H - -# include - -# ifndef OPENSSL_NO_RC5 -# ifdef __cplusplus -extern "C" { -# endif - -# define RC5_ENCRYPT 1 -# define RC5_DECRYPT 0 - -# define RC5_32_INT unsigned int - -# define RC5_32_BLOCK 8 -# define RC5_32_KEY_LENGTH 16/* This is a default, max is 255 */ - -/* - * This are the only values supported. Tweak the code if you want more The - * most supported modes will be RC5-32/12/16 RC5-32/16/8 - */ -# define RC5_8_ROUNDS 8 -# define RC5_12_ROUNDS 12 -# define RC5_16_ROUNDS 16 - -typedef struct rc5_key_st { - /* Number of rounds */ - int rounds; - RC5_32_INT data[2 * (RC5_16_ROUNDS + 1)]; -} RC5_32_KEY; - -void RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data, - int rounds); -void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out, - RC5_32_KEY *key, int enc); -void RC5_32_encrypt(unsigned long *data, RC5_32_KEY *key); -void RC5_32_decrypt(unsigned long *data, RC5_32_KEY *key); -void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out, - long length, RC5_32_KEY *ks, unsigned char *iv, - int enc); -void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, RC5_32_KEY *schedule, - unsigned char *ivec, int *num, int enc); -void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, RC5_32_KEY *schedule, - unsigned char *ivec, int *num); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/ripemd.h b/deps/openssl/include/openssl/ripemd.h deleted file mode 100644 index c42026aa..00000000 --- a/deps/openssl/include/openssl/ripemd.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_RIPEMD_H -# define HEADER_RIPEMD_H - -# include - -#ifndef OPENSSL_NO_RMD160 -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - -# define RIPEMD160_LONG unsigned int - -# define RIPEMD160_CBLOCK 64 -# define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) -# define RIPEMD160_DIGEST_LENGTH 20 - -typedef struct RIPEMD160state_st { - RIPEMD160_LONG A, B, C, D, E; - RIPEMD160_LONG Nl, Nh; - RIPEMD160_LONG data[RIPEMD160_LBLOCK]; - unsigned int num; -} RIPEMD160_CTX; - -int RIPEMD160_Init(RIPEMD160_CTX *c); -int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); -int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); -unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md); -void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); - -# ifdef __cplusplus -} -# endif -# endif - - -#endif diff --git a/deps/openssl/include/openssl/rsa.h b/deps/openssl/include/openssl/rsa.h deleted file mode 100644 index 5e76365c..00000000 --- a/deps/openssl/include/openssl/rsa.h +++ /dev/null @@ -1,513 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_RSA_H -# define HEADER_RSA_H - -# include - -# ifndef OPENSSL_NO_RSA -# include -# include -# include -# include -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# endif -# include -# ifdef __cplusplus -extern "C" { -# endif - -/* The types RSA and RSA_METHOD are defined in ossl_typ.h */ - -# ifndef OPENSSL_RSA_MAX_MODULUS_BITS -# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 -# endif - -# define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 1024 - -# ifndef OPENSSL_RSA_SMALL_MODULUS_BITS -# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 -# endif -# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS - -/* exponent limit enforced for "large" modulus only */ -# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 -# endif - -# define RSA_3 0x3L -# define RSA_F4 0x10001L - -/* based on RFC 8017 appendix A.1.2 */ -# define RSA_ASN1_VERSION_DEFAULT 0 -# define RSA_ASN1_VERSION_MULTI 1 - -# define RSA_DEFAULT_PRIME_NUM 2 - -# define RSA_METHOD_FLAG_NO_CHECK 0x0001/* don't check pub/private - * match */ - -# define RSA_FLAG_CACHE_PUBLIC 0x0002 -# define RSA_FLAG_CACHE_PRIVATE 0x0004 -# define RSA_FLAG_BLINDING 0x0008 -# define RSA_FLAG_THREAD_SAFE 0x0010 -/* - * This flag means the private key operations will be handled by rsa_mod_exp - * and that they do not depend on the private key components being present: - * for example a key stored in external hardware. Without this flag - * bn_mod_exp gets called when private key components are absent. - */ -# define RSA_FLAG_EXT_PKEY 0x0020 - -/* - * new with 0.9.6j and 0.9.7b; the built-in - * RSA implementation now uses blinding by - * default (ignoring RSA_FLAG_BLINDING), - * but other engines might not need it - */ -# define RSA_FLAG_NO_BLINDING 0x0080 -# if OPENSSL_API_COMPAT < 0x10100000L -/* - * Does nothing. Previously this switched off constant time behaviour. - */ -# define RSA_FLAG_NO_CONSTTIME 0x0000 -# endif -# if OPENSSL_API_COMPAT < 0x00908000L -/* deprecated name for the flag*/ -/* - * new with 0.9.7h; the built-in RSA - * implementation now uses constant time - * modular exponentiation for secret exponents - * by default. This flag causes the - * faster variable sliding window method to - * be used for all exponents. - */ -# define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME -# endif - -# define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ - RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_RSA_PADDING, pad, NULL) - -# define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ - RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) - -# define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ - RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ - EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL) -/* Salt length matches digest */ -# define RSA_PSS_SALTLEN_DIGEST -1 -/* Verify only: auto detect salt length */ -# define RSA_PSS_SALTLEN_AUTO -2 -/* Set salt length to maximum possible */ -# define RSA_PSS_SALTLEN_MAX -3 -/* Old compatible max salt length for sign only */ -# define RSA_PSS_SALTLEN_MAX_SIGN -2 - -# define EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL) - -# define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ - RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ - EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, 0, plen) - -# define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ - RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) - -# define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ - RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) - -# define EVP_PKEY_CTX_set_rsa_keygen_primes(ctx, primes) \ - RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES, primes, NULL) - -# define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ - RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ - EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ - EVP_PKEY_CTRL_RSA_OAEP_MD, 0, (void *)(md)) - -# define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \ - RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ - EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)(pmd)) - -# define EVP_PKEY_CTX_get_rsa_oaep_md(ctx, pmd) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ - EVP_PKEY_CTRL_GET_RSA_OAEP_MD, 0, (void *)(pmd)) - -# define EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, l, llen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ - EVP_PKEY_CTRL_RSA_OAEP_LABEL, llen, (void *)(l)) - -# define EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, l) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ - EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, 0, (void *)(l)) - -# define EVP_PKEY_CTX_set_rsa_pss_keygen_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, \ - EVP_PKEY_OP_KEYGEN, EVP_PKEY_CTRL_MD, \ - 0, (void *)(md)) - -# define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) - -# define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) -# define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) -# define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) - -# define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) -# define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) -# define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) - -# define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) -# define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) - -# define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) -# define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) - -# define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES (EVP_PKEY_ALG_CTRL + 13) - -# define RSA_PKCS1_PADDING 1 -# define RSA_SSLV23_PADDING 2 -# define RSA_NO_PADDING 3 -# define RSA_PKCS1_OAEP_PADDING 4 -# define RSA_X931_PADDING 5 -/* EVP_PKEY_ only */ -# define RSA_PKCS1_PSS_PADDING 6 - -# define RSA_PKCS1_PADDING_SIZE 11 - -# define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) -# define RSA_get_app_data(s) RSA_get_ex_data(s,0) - -RSA *RSA_new(void); -RSA *RSA_new_method(ENGINE *engine); -int RSA_bits(const RSA *rsa); -int RSA_size(const RSA *rsa); -int RSA_security_bits(const RSA *rsa); - -int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); -int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); -int RSA_set0_crt_params(RSA *r,BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp); -int RSA_set0_multi_prime_params(RSA *r, BIGNUM *primes[], BIGNUM *exps[], - BIGNUM *coeffs[], int pnum); -void RSA_get0_key(const RSA *r, - const BIGNUM **n, const BIGNUM **e, const BIGNUM **d); -void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q); -int RSA_get_multi_prime_extra_count(const RSA *r); -int RSA_get0_multi_prime_factors(const RSA *r, const BIGNUM *primes[]); -void RSA_get0_crt_params(const RSA *r, - const BIGNUM **dmp1, const BIGNUM **dmq1, - const BIGNUM **iqmp); -int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[], - const BIGNUM *coeffs[]); -const BIGNUM *RSA_get0_n(const RSA *d); -const BIGNUM *RSA_get0_e(const RSA *d); -const BIGNUM *RSA_get0_d(const RSA *d); -const BIGNUM *RSA_get0_p(const RSA *d); -const BIGNUM *RSA_get0_q(const RSA *d); -const BIGNUM *RSA_get0_dmp1(const RSA *r); -const BIGNUM *RSA_get0_dmq1(const RSA *r); -const BIGNUM *RSA_get0_iqmp(const RSA *r); -const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r); -void RSA_clear_flags(RSA *r, int flags); -int RSA_test_flags(const RSA *r, int flags); -void RSA_set_flags(RSA *r, int flags); -int RSA_get_version(RSA *r); -ENGINE *RSA_get0_engine(const RSA *r); - -/* Deprecated version */ -DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void - (*callback) (int, int, void *), - void *cb_arg)) - -/* New version */ -int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); -/* Multi-prime version */ -int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes, - BIGNUM *e, BN_GENCB *cb); - -int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, - BIGNUM *q2, const BIGNUM *Xp1, const BIGNUM *Xp2, - const BIGNUM *Xp, const BIGNUM *Xq1, const BIGNUM *Xq2, - const BIGNUM *Xq, const BIGNUM *e, BN_GENCB *cb); -int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e, - BN_GENCB *cb); - -int RSA_check_key(const RSA *); -int RSA_check_key_ex(const RSA *, BN_GENCB *cb); - /* next 4 return -1 on error */ -int RSA_public_encrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); -int RSA_private_encrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); -int RSA_public_decrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); -int RSA_private_decrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); -void RSA_free(RSA *r); -/* "up" the RSA object's reference count */ -int RSA_up_ref(RSA *r); - -int RSA_flags(const RSA *r); - -void RSA_set_default_method(const RSA_METHOD *meth); -const RSA_METHOD *RSA_get_default_method(void); -const RSA_METHOD *RSA_null_method(void); -const RSA_METHOD *RSA_get_method(const RSA *rsa); -int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); - -/* these are the actual RSA functions */ -const RSA_METHOD *RSA_PKCS1_OpenSSL(void); - -int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2); - -DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) - -struct rsa_pss_params_st { - X509_ALGOR *hashAlgorithm; - X509_ALGOR *maskGenAlgorithm; - ASN1_INTEGER *saltLength; - ASN1_INTEGER *trailerField; - /* Decoded hash algorithm from maskGenAlgorithm */ - X509_ALGOR *maskHash; -}; - -DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) - -typedef struct rsa_oaep_params_st { - X509_ALGOR *hashFunc; - X509_ALGOR *maskGenFunc; - X509_ALGOR *pSourceFunc; - /* Decoded hash algorithm from maskGenFunc */ - X509_ALGOR *maskHash; -} RSA_OAEP_PARAMS; - -DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) - -# ifndef OPENSSL_NO_STDIO -int RSA_print_fp(FILE *fp, const RSA *r, int offset); -# endif - -int RSA_print(BIO *bp, const RSA *r, int offset); - -/* - * The following 2 functions sign and verify a X509_SIG ASN1 object inside - * PKCS#1 padded RSA encryption - */ -int RSA_sign(int type, const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, RSA *rsa); -int RSA_verify(int type, const unsigned char *m, unsigned int m_length, - const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); - -/* - * The following 2 function sign and verify a ASN1_OCTET_STRING object inside - * PKCS#1 padded RSA encryption - */ -int RSA_sign_ASN1_OCTET_STRING(int type, - const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, - RSA *rsa); -int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, - unsigned int m_length, unsigned char *sigbuf, - unsigned int siglen, RSA *rsa); - -int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); -void RSA_blinding_off(RSA *rsa); -BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); - -int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, - const unsigned char *f, int fl); -int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, - const unsigned char *f, int fl, - int rsa_len); -int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, - const unsigned char *f, int fl); -int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, - const unsigned char *f, int fl, - int rsa_len); -int PKCS1_MGF1(unsigned char *mask, long len, const unsigned char *seed, - long seedlen, const EVP_MD *dgst); -int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, - const unsigned char *f, int fl, - const unsigned char *p, int pl); -int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, - const unsigned char *f, int fl, int rsa_len, - const unsigned char *p, int pl); -int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, - const unsigned char *from, int flen, - const unsigned char *param, int plen, - const EVP_MD *md, const EVP_MD *mgf1md); -int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, - const unsigned char *from, int flen, - int num, const unsigned char *param, - int plen, const EVP_MD *md, - const EVP_MD *mgf1md); -int RSA_padding_add_SSLv23(unsigned char *to, int tlen, - const unsigned char *f, int fl); -int RSA_padding_check_SSLv23(unsigned char *to, int tlen, - const unsigned char *f, int fl, int rsa_len); -int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned char *f, - int fl); -int RSA_padding_check_none(unsigned char *to, int tlen, - const unsigned char *f, int fl, int rsa_len); -int RSA_padding_add_X931(unsigned char *to, int tlen, const unsigned char *f, - int fl); -int RSA_padding_check_X931(unsigned char *to, int tlen, - const unsigned char *f, int fl, int rsa_len); -int RSA_X931_hash_id(int nid); - -int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, - const EVP_MD *Hash, const unsigned char *EM, - int sLen); -int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, - const unsigned char *mHash, const EVP_MD *Hash, - int sLen); - -int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, - const EVP_MD *Hash, const EVP_MD *mgf1Hash, - const unsigned char *EM, int sLen); - -int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, - const unsigned char *mHash, - const EVP_MD *Hash, const EVP_MD *mgf1Hash, - int sLen); - -#define RSA_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RSA, l, p, newf, dupf, freef) -int RSA_set_ex_data(RSA *r, int idx, void *arg); -void *RSA_get_ex_data(const RSA *r, int idx); - -RSA *RSAPublicKey_dup(RSA *rsa); -RSA *RSAPrivateKey_dup(RSA *rsa); - -/* - * If this flag is set the RSA method is FIPS compliant and can be used in - * FIPS mode. This is set in the validated module method. If an application - * sets this flag in its own methods it is its responsibility to ensure the - * result is compliant. - */ - -# define RSA_FLAG_FIPS_METHOD 0x0400 - -/* - * If this flag is set the operations normally disabled in FIPS mode are - * permitted it is then the applications responsibility to ensure that the - * usage is compliant. - */ - -# define RSA_FLAG_NON_FIPS_ALLOW 0x0400 -/* - * Application has decided PRNG is good enough to generate a key: don't - * check. - */ -# define RSA_FLAG_CHECKED 0x0800 - -RSA_METHOD *RSA_meth_new(const char *name, int flags); -void RSA_meth_free(RSA_METHOD *meth); -RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth); -const char *RSA_meth_get0_name(const RSA_METHOD *meth); -int RSA_meth_set1_name(RSA_METHOD *meth, const char *name); -int RSA_meth_get_flags(const RSA_METHOD *meth); -int RSA_meth_set_flags(RSA_METHOD *meth, int flags); -void *RSA_meth_get0_app_data(const RSA_METHOD *meth); -int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data); -int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth)) - (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); -int RSA_meth_set_pub_enc(RSA_METHOD *rsa, - int (*pub_enc) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, - int padding)); -int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth)) - (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); -int RSA_meth_set_pub_dec(RSA_METHOD *rsa, - int (*pub_dec) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, - int padding)); -int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) - (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); -int RSA_meth_set_priv_enc(RSA_METHOD *rsa, - int (*priv_enc) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, - int padding)); -int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth)) - (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); -int RSA_meth_set_priv_dec(RSA_METHOD *rsa, - int (*priv_dec) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, - int padding)); -int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) - (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx); -int RSA_meth_set_mod_exp(RSA_METHOD *rsa, - int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa, - BN_CTX *ctx)); -int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) - (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); -int RSA_meth_set_bn_mod_exp(RSA_METHOD *rsa, - int (*bn_mod_exp) (BIGNUM *r, - const BIGNUM *a, - const BIGNUM *p, - const BIGNUM *m, - BN_CTX *ctx, - BN_MONT_CTX *m_ctx)); -int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa); -int RSA_meth_set_init(RSA_METHOD *rsa, int (*init) (RSA *rsa)); -int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa); -int RSA_meth_set_finish(RSA_METHOD *rsa, int (*finish) (RSA *rsa)); -int (*RSA_meth_get_sign(const RSA_METHOD *meth)) - (int type, - const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, - const RSA *rsa); -int RSA_meth_set_sign(RSA_METHOD *rsa, - int (*sign) (int type, const unsigned char *m, - unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, - const RSA *rsa)); -int (*RSA_meth_get_verify(const RSA_METHOD *meth)) - (int dtype, const unsigned char *m, - unsigned int m_length, const unsigned char *sigbuf, - unsigned int siglen, const RSA *rsa); -int RSA_meth_set_verify(RSA_METHOD *rsa, - int (*verify) (int dtype, const unsigned char *m, - unsigned int m_length, - const unsigned char *sigbuf, - unsigned int siglen, const RSA *rsa)); -int (*RSA_meth_get_keygen(const RSA_METHOD *meth)) - (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); -int RSA_meth_set_keygen(RSA_METHOD *rsa, - int (*keygen) (RSA *rsa, int bits, BIGNUM *e, - BN_GENCB *cb)); -int (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth)) - (RSA *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb); -int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth, - int (*keygen) (RSA *rsa, int bits, - int primes, BIGNUM *e, - BN_GENCB *cb)); - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/rsaerr.h b/deps/openssl/include/openssl/rsaerr.h deleted file mode 100644 index 59b15e13..00000000 --- a/deps/openssl/include/openssl/rsaerr.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_RSAERR_H -# define HEADER_RSAERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_RSA_strings(void); - -/* - * RSA function codes. - */ -# define RSA_F_CHECK_PADDING_MD 140 -# define RSA_F_ENCODE_PKCS1 146 -# define RSA_F_INT_RSA_VERIFY 145 -# define RSA_F_OLD_RSA_PRIV_DECODE 147 -# define RSA_F_PKEY_PSS_INIT 165 -# define RSA_F_PKEY_RSA_CTRL 143 -# define RSA_F_PKEY_RSA_CTRL_STR 144 -# define RSA_F_PKEY_RSA_SIGN 142 -# define RSA_F_PKEY_RSA_VERIFY 149 -# define RSA_F_PKEY_RSA_VERIFYRECOVER 141 -# define RSA_F_RSA_ALGOR_TO_MD 156 -# define RSA_F_RSA_BUILTIN_KEYGEN 129 -# define RSA_F_RSA_CHECK_KEY 123 -# define RSA_F_RSA_CHECK_KEY_EX 160 -# define RSA_F_RSA_CMS_DECRYPT 159 -# define RSA_F_RSA_CMS_VERIFY 158 -# define RSA_F_RSA_ITEM_VERIFY 148 -# define RSA_F_RSA_METH_DUP 161 -# define RSA_F_RSA_METH_NEW 162 -# define RSA_F_RSA_METH_SET1_NAME 163 -# define RSA_F_RSA_MGF1_TO_MD 157 -# define RSA_F_RSA_MULTIP_INFO_NEW 166 -# define RSA_F_RSA_NEW_METHOD 106 -# define RSA_F_RSA_NULL 124 -# define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 -# define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 -# define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 -# define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 -# define RSA_F_RSA_OSSL_PRIVATE_DECRYPT 101 -# define RSA_F_RSA_OSSL_PRIVATE_ENCRYPT 102 -# define RSA_F_RSA_OSSL_PUBLIC_DECRYPT 103 -# define RSA_F_RSA_OSSL_PUBLIC_ENCRYPT 104 -# define RSA_F_RSA_PADDING_ADD_NONE 107 -# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 -# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 154 -# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 -# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 152 -# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 -# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 -# define RSA_F_RSA_PADDING_ADD_SSLV23 110 -# define RSA_F_RSA_PADDING_ADD_X931 127 -# define RSA_F_RSA_PADDING_CHECK_NONE 111 -# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122 -# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1 153 -# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112 -# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113 -# define RSA_F_RSA_PADDING_CHECK_SSLV23 114 -# define RSA_F_RSA_PADDING_CHECK_X931 128 -# define RSA_F_RSA_PARAM_DECODE 164 -# define RSA_F_RSA_PRINT 115 -# define RSA_F_RSA_PRINT_FP 116 -# define RSA_F_RSA_PRIV_DECODE 150 -# define RSA_F_RSA_PRIV_ENCODE 138 -# define RSA_F_RSA_PSS_GET_PARAM 151 -# define RSA_F_RSA_PSS_TO_CTX 155 -# define RSA_F_RSA_PUB_DECODE 139 -# define RSA_F_RSA_SETUP_BLINDING 136 -# define RSA_F_RSA_SIGN 117 -# define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118 -# define RSA_F_RSA_VERIFY 119 -# define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120 -# define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 126 -# define RSA_F_SETUP_TBUF 167 - -/* - * RSA reason codes. - */ -# define RSA_R_ALGORITHM_MISMATCH 100 -# define RSA_R_BAD_E_VALUE 101 -# define RSA_R_BAD_FIXED_HEADER_DECRYPT 102 -# define RSA_R_BAD_PAD_BYTE_COUNT 103 -# define RSA_R_BAD_SIGNATURE 104 -# define RSA_R_BLOCK_TYPE_IS_NOT_01 106 -# define RSA_R_BLOCK_TYPE_IS_NOT_02 107 -# define RSA_R_DATA_GREATER_THAN_MOD_LEN 108 -# define RSA_R_DATA_TOO_LARGE 109 -# define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110 -# define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132 -# define RSA_R_DATA_TOO_SMALL 111 -# define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122 -# define RSA_R_DIGEST_DOES_NOT_MATCH 158 -# define RSA_R_DIGEST_NOT_ALLOWED 145 -# define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112 -# define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124 -# define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125 -# define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 -# define RSA_R_FIRST_OCTET_INVALID 133 -# define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144 -# define RSA_R_INVALID_DIGEST 157 -# define RSA_R_INVALID_DIGEST_LENGTH 143 -# define RSA_R_INVALID_HEADER 137 -# define RSA_R_INVALID_LABEL 160 -# define RSA_R_INVALID_MESSAGE_LENGTH 131 -# define RSA_R_INVALID_MGF1_MD 156 -# define RSA_R_INVALID_MULTI_PRIME_KEY 167 -# define RSA_R_INVALID_OAEP_PARAMETERS 161 -# define RSA_R_INVALID_PADDING 138 -# define RSA_R_INVALID_PADDING_MODE 141 -# define RSA_R_INVALID_PSS_PARAMETERS 149 -# define RSA_R_INVALID_PSS_SALTLEN 146 -# define RSA_R_INVALID_SALT_LENGTH 150 -# define RSA_R_INVALID_TRAILER 139 -# define RSA_R_INVALID_X931_DIGEST 142 -# define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 -# define RSA_R_KEY_PRIME_NUM_INVALID 165 -# define RSA_R_KEY_SIZE_TOO_SMALL 120 -# define RSA_R_LAST_OCTET_INVALID 134 -# define RSA_R_MISSING_PRIVATE_KEY 179 -# define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152 -# define RSA_R_MODULUS_TOO_LARGE 105 -# define RSA_R_MP_COEFFICIENT_NOT_INVERSE_OF_R 168 -# define RSA_R_MP_EXPONENT_NOT_CONGRUENT_TO_D 169 -# define RSA_R_MP_R_NOT_PRIME 170 -# define RSA_R_NO_PUBLIC_EXPONENT 140 -# define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 -# define RSA_R_N_DOES_NOT_EQUAL_PRODUCT_OF_PRIMES 172 -# define RSA_R_N_DOES_NOT_EQUAL_P_Q 127 -# define RSA_R_OAEP_DECODING_ERROR 121 -# define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148 -# define RSA_R_PADDING_CHECK_FAILED 114 -# define RSA_R_PKCS_DECODING_ERROR 159 -# define RSA_R_PSS_SALTLEN_TOO_SMALL 164 -# define RSA_R_P_NOT_PRIME 128 -# define RSA_R_Q_NOT_PRIME 129 -# define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 -# define RSA_R_SLEN_CHECK_FAILED 136 -# define RSA_R_SLEN_RECOVERY_FAILED 135 -# define RSA_R_SSLV3_ROLLBACK_ATTACK 115 -# define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116 -# define RSA_R_UNKNOWN_ALGORITHM_TYPE 117 -# define RSA_R_UNKNOWN_DIGEST 166 -# define RSA_R_UNKNOWN_MASK_DIGEST 151 -# define RSA_R_UNKNOWN_PADDING_TYPE 118 -# define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 162 -# define RSA_R_UNSUPPORTED_LABEL_SOURCE 163 -# define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153 -# define RSA_R_UNSUPPORTED_MASK_PARAMETER 154 -# define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155 -# define RSA_R_VALUE_MISSING 147 -# define RSA_R_WRONG_SIGNATURE_LENGTH 119 - -#endif diff --git a/deps/openssl/include/openssl/safestack.h b/deps/openssl/include/openssl/safestack.h deleted file mode 100644 index 38b55789..00000000 --- a/deps/openssl/include/openssl/safestack.h +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_SAFESTACK_H -# define HEADER_SAFESTACK_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# define STACK_OF(type) struct stack_st_##type - -# define SKM_DEFINE_STACK_OF(t1, t2, t3) \ - STACK_OF(t1); \ - typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \ - typedef void (*sk_##t1##_freefunc)(t3 *a); \ - typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \ - static ossl_unused ossl_inline int sk_##t1##_num(const STACK_OF(t1) *sk) \ - { \ - return OPENSSL_sk_num((const OPENSSL_STACK *)sk); \ - } \ - static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \ - { \ - return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \ - } \ - static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new(sk_##t1##_compfunc compare) \ - { \ - return (STACK_OF(t1) *)OPENSSL_sk_new((OPENSSL_sk_compfunc)compare); \ - } \ - static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new_null(void) \ - { \ - return (STACK_OF(t1) *)OPENSSL_sk_new_null(); \ - } \ - static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new_reserve(sk_##t1##_compfunc compare, int n) \ - { \ - return (STACK_OF(t1) *)OPENSSL_sk_new_reserve((OPENSSL_sk_compfunc)compare, n); \ - } \ - static ossl_unused ossl_inline int sk_##t1##_reserve(STACK_OF(t1) *sk, int n) \ - { \ - return OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n); \ - } \ - static ossl_unused ossl_inline void sk_##t1##_free(STACK_OF(t1) *sk) \ - { \ - OPENSSL_sk_free((OPENSSL_STACK *)sk); \ - } \ - static ossl_unused ossl_inline void sk_##t1##_zero(STACK_OF(t1) *sk) \ - { \ - OPENSSL_sk_zero((OPENSSL_STACK *)sk); \ - } \ - static ossl_unused ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \ - { \ - return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \ - } \ - static ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \ - { \ - return (t2 *)OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, \ - (const void *)ptr); \ - } \ - static ossl_unused ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \ - { \ - return OPENSSL_sk_push((OPENSSL_STACK *)sk, (const void *)ptr); \ - } \ - static ossl_unused ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \ - { \ - return OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (const void *)ptr); \ - } \ - static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \ - { \ - return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \ - } \ - static ossl_unused ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \ - { \ - return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \ - } \ - static ossl_unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \ - { \ - OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (OPENSSL_sk_freefunc)freefunc); \ - } \ - static ossl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \ - { \ - return OPENSSL_sk_insert((OPENSSL_STACK *)sk, (const void *)ptr, idx); \ - } \ - static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \ - { \ - return (t2 *)OPENSSL_sk_set((OPENSSL_STACK *)sk, idx, (const void *)ptr); \ - } \ - static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \ - { \ - return OPENSSL_sk_find((OPENSSL_STACK *)sk, (const void *)ptr); \ - } \ - static ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \ - { \ - return OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (const void *)ptr); \ - } \ - static ossl_unused ossl_inline void sk_##t1##_sort(STACK_OF(t1) *sk) \ - { \ - OPENSSL_sk_sort((OPENSSL_STACK *)sk); \ - } \ - static ossl_unused ossl_inline int sk_##t1##_is_sorted(const STACK_OF(t1) *sk) \ - { \ - return OPENSSL_sk_is_sorted((const OPENSSL_STACK *)sk); \ - } \ - static ossl_unused ossl_inline STACK_OF(t1) * sk_##t1##_dup(const STACK_OF(t1) *sk) \ - { \ - return (STACK_OF(t1) *)OPENSSL_sk_dup((const OPENSSL_STACK *)sk); \ - } \ - static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(const STACK_OF(t1) *sk, \ - sk_##t1##_copyfunc copyfunc, \ - sk_##t1##_freefunc freefunc) \ - { \ - return (STACK_OF(t1) *)OPENSSL_sk_deep_copy((const OPENSSL_STACK *)sk, \ - (OPENSSL_sk_copyfunc)copyfunc, \ - (OPENSSL_sk_freefunc)freefunc); \ - } \ - static ossl_unused ossl_inline sk_##t1##_compfunc sk_##t1##_set_cmp_func(STACK_OF(t1) *sk, sk_##t1##_compfunc compare) \ - { \ - return (sk_##t1##_compfunc)OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (OPENSSL_sk_compfunc)compare); \ - } - -# define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2) -# define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t) -# define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2) \ - SKM_DEFINE_STACK_OF(t1, const t2, t2) -# define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t) - -/*- - * Strings are special: normally an lhash entry will point to a single - * (somewhat) mutable object. In the case of strings: - * - * a) Instead of a single char, there is an array of chars, NUL-terminated. - * b) The string may have be immutable. - * - * So, they need their own declarations. Especially important for - * type-checking tools, such as Deputy. - * - * In practice, however, it appears to be hard to have a const - * string. For now, I'm settling for dealing with the fact it is a - * string at all. - */ -typedef char *OPENSSL_STRING; -typedef const char *OPENSSL_CSTRING; - -/*- - * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but - * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned - * above, instead of a single char each entry is a NUL-terminated array of - * chars. So, we have to implement STRING specially for STACK_OF. This is - * dealt with in the autogenerated macros below. - */ -DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char) -DEFINE_SPECIAL_STACK_OF_CONST(OPENSSL_CSTRING, char) - -/* - * Similarly, we sometimes use a block of characters, NOT nul-terminated. - * These should also be distinguished from "normal" stacks. - */ -typedef void *OPENSSL_BLOCK; -DEFINE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) - -/* - * If called without higher optimization (min. -xO3) the Oracle Developer - * Studio compiler generates code for the defined (static inline) functions - * above. - * This would later lead to the linker complaining about missing symbols when - * this header file is included but the resulting object is not linked against - * the Crypto library (openssl#6912). - */ -# ifdef __SUNPRO_C -# pragma weak OPENSSL_sk_num -# pragma weak OPENSSL_sk_value -# pragma weak OPENSSL_sk_new -# pragma weak OPENSSL_sk_new_null -# pragma weak OPENSSL_sk_new_reserve -# pragma weak OPENSSL_sk_reserve -# pragma weak OPENSSL_sk_free -# pragma weak OPENSSL_sk_zero -# pragma weak OPENSSL_sk_delete -# pragma weak OPENSSL_sk_delete_ptr -# pragma weak OPENSSL_sk_push -# pragma weak OPENSSL_sk_unshift -# pragma weak OPENSSL_sk_pop -# pragma weak OPENSSL_sk_shift -# pragma weak OPENSSL_sk_pop_free -# pragma weak OPENSSL_sk_insert -# pragma weak OPENSSL_sk_set -# pragma weak OPENSSL_sk_find -# pragma weak OPENSSL_sk_find_ex -# pragma weak OPENSSL_sk_sort -# pragma weak OPENSSL_sk_is_sorted -# pragma weak OPENSSL_sk_dup -# pragma weak OPENSSL_sk_deep_copy -# pragma weak OPENSSL_sk_set_cmp_func -# endif /* __SUNPRO_C */ - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/seed.h b/deps/openssl/include/openssl/seed.h deleted file mode 100644 index de10b085..00000000 --- a/deps/openssl/include/openssl/seed.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -/* - * Copyright (c) 2007 KISA(Korea Information Security Agency). 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. Neither the name of author nor the names of its contributors may - * be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. - */ - -#ifndef HEADER_SEED_H -# define HEADER_SEED_H - -# include - -# ifndef OPENSSL_NO_SEED -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* look whether we need 'long' to get 32 bits */ -# ifdef AES_LONG -# ifndef SEED_LONG -# define SEED_LONG 1 -# endif -# endif - -# include - -# define SEED_BLOCK_SIZE 16 -# define SEED_KEY_LENGTH 16 - -typedef struct seed_key_st { -# ifdef SEED_LONG - unsigned long data[32]; -# else - unsigned int data[32]; -# endif -} SEED_KEY_SCHEDULE; - -void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], - SEED_KEY_SCHEDULE *ks); - -void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], - unsigned char d[SEED_BLOCK_SIZE], - const SEED_KEY_SCHEDULE *ks); -void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], - unsigned char d[SEED_BLOCK_SIZE], - const SEED_KEY_SCHEDULE *ks); - -void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, - const SEED_KEY_SCHEDULE *ks, int enc); -void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, - const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], int enc); -void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], int *num, - int enc); -void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], int *num); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/sha.h b/deps/openssl/include/openssl/sha.h deleted file mode 100644 index 6a1eb0de..00000000 --- a/deps/openssl/include/openssl/sha.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_SHA_H -# define HEADER_SHA_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/*- - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! SHA_LONG has to be at least 32 bits wide. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ -# define SHA_LONG unsigned int - -# define SHA_LBLOCK 16 -# define SHA_CBLOCK (SHA_LBLOCK*4)/* SHA treats input data as a - * contiguous array of 32 bit wide - * big-endian values. */ -# define SHA_LAST_BLOCK (SHA_CBLOCK-8) -# define SHA_DIGEST_LENGTH 20 - -typedef struct SHAstate_st { - SHA_LONG h0, h1, h2, h3, h4; - SHA_LONG Nl, Nh; - SHA_LONG data[SHA_LBLOCK]; - unsigned int num; -} SHA_CTX; - -int SHA1_Init(SHA_CTX *c); -int SHA1_Update(SHA_CTX *c, const void *data, size_t len); -int SHA1_Final(unsigned char *md, SHA_CTX *c); -unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); -void SHA1_Transform(SHA_CTX *c, const unsigned char *data); - -# define SHA256_CBLOCK (SHA_LBLOCK*4)/* SHA-256 treats input data as a - * contiguous array of 32 bit wide - * big-endian values. */ - -typedef struct SHA256state_st { - SHA_LONG h[8]; - SHA_LONG Nl, Nh; - SHA_LONG data[SHA_LBLOCK]; - unsigned int num, md_len; -} SHA256_CTX; - -int SHA224_Init(SHA256_CTX *c); -int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); -int SHA224_Final(unsigned char *md, SHA256_CTX *c); -unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); -int SHA256_Init(SHA256_CTX *c); -int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); -int SHA256_Final(unsigned char *md, SHA256_CTX *c); -unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md); -void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); - -# define SHA224_DIGEST_LENGTH 28 -# define SHA256_DIGEST_LENGTH 32 -# define SHA384_DIGEST_LENGTH 48 -# define SHA512_DIGEST_LENGTH 64 - -/* - * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 - * being exactly 64-bit wide. See Implementation Notes in sha512.c - * for further details. - */ -/* - * SHA-512 treats input data as a - * contiguous array of 64 bit - * wide big-endian values. - */ -# define SHA512_CBLOCK (SHA_LBLOCK*8) -# if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) -# define SHA_LONG64 unsigned __int64 -# define U64(C) C##UI64 -# elif defined(__arch64__) -# define SHA_LONG64 unsigned long -# define U64(C) C##UL -# else -# define SHA_LONG64 unsigned long long -# define U64(C) C##ULL -# endif - -typedef struct SHA512state_st { - SHA_LONG64 h[8]; - SHA_LONG64 Nl, Nh; - union { - SHA_LONG64 d[SHA_LBLOCK]; - unsigned char p[SHA512_CBLOCK]; - } u; - unsigned int num, md_len; -} SHA512_CTX; - -int SHA384_Init(SHA512_CTX *c); -int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); -int SHA384_Final(unsigned char *md, SHA512_CTX *c); -unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); -int SHA512_Init(SHA512_CTX *c); -int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); -int SHA512_Final(unsigned char *md, SHA512_CTX *c); -unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); -void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/openssl/include/openssl/srp.h b/deps/openssl/include/openssl/srp.h deleted file mode 100644 index aaf13558..00000000 --- a/deps/openssl/include/openssl/srp.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2004, EdelKey Project. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - * - * Originally written by Christophe Renou and Peter Sylvester, - * for the EdelKey project. - */ - -#ifndef HEADER_SRP_H -# define HEADER_SRP_H - -#include - -#ifndef OPENSSL_NO_SRP -# include -# include -# include -# include -# include - -# ifdef __cplusplus -extern "C" { -# endif - -typedef struct SRP_gN_cache_st { - char *b64_bn; - BIGNUM *bn; -} SRP_gN_cache; - - -DEFINE_STACK_OF(SRP_gN_cache) - -typedef struct SRP_user_pwd_st { - /* Owned by us. */ - char *id; - BIGNUM *s; - BIGNUM *v; - /* Not owned by us. */ - const BIGNUM *g; - const BIGNUM *N; - /* Owned by us. */ - char *info; -} SRP_user_pwd; - -void SRP_user_pwd_free(SRP_user_pwd *user_pwd); - -DEFINE_STACK_OF(SRP_user_pwd) - -typedef struct SRP_VBASE_st { - STACK_OF(SRP_user_pwd) *users_pwd; - STACK_OF(SRP_gN_cache) *gN_cache; -/* to simulate a user */ - char *seed_key; - const BIGNUM *default_g; - const BIGNUM *default_N; -} SRP_VBASE; - -/* - * Internal structure storing N and g pair - */ -typedef struct SRP_gN_st { - char *id; - const BIGNUM *g; - const BIGNUM *N; -} SRP_gN; - -DEFINE_STACK_OF(SRP_gN) - -SRP_VBASE *SRP_VBASE_new(char *seed_key); -void SRP_VBASE_free(SRP_VBASE *vb); -int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); - -/* This method ignores the configured seed and fails for an unknown user. */ -DEPRECATEDIN_1_1_0(SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username)) -/* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ -SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); - -char *SRP_create_verifier(const char *user, const char *pass, char **salt, - char **verifier, const char *N, const char *g); -int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, - BIGNUM **verifier, const BIGNUM *N, - const BIGNUM *g); - -# define SRP_NO_ERROR 0 -# define SRP_ERR_VBASE_INCOMPLETE_FILE 1 -# define SRP_ERR_VBASE_BN_LIB 2 -# define SRP_ERR_OPEN_FILE 3 -# define SRP_ERR_MEMORY 4 - -# define DB_srptype 0 -# define DB_srpverifier 1 -# define DB_srpsalt 2 -# define DB_srpid 3 -# define DB_srpgN 4 -# define DB_srpinfo 5 -# undef DB_NUMBER -# define DB_NUMBER 6 - -# define DB_SRP_INDEX 'I' -# define DB_SRP_VALID 'V' -# define DB_SRP_REVOKED 'R' -# define DB_SRP_MODIF 'v' - -/* see srp.c */ -char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N); -SRP_gN *SRP_get_default_gN(const char *id); - -/* server side .... */ -BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const BIGNUM *u, - const BIGNUM *b, const BIGNUM *N); -BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g, - const BIGNUM *v); -int SRP_Verify_A_mod_N(const BIGNUM *A, const BIGNUM *N); -BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N); - -/* client side .... */ -BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass); -BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM *g); -BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g, - const BIGNUM *x, const BIGNUM *a, const BIGNUM *u); -int SRP_Verify_B_mod_N(const BIGNUM *B, const BIGNUM *N); - -# define SRP_MINIMAL_N 1024 - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/srtp.h b/deps/openssl/include/openssl/srtp.h deleted file mode 100644 index 0b57c235..00000000 --- a/deps/openssl/include/openssl/srtp.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -/* - * DTLS code by Eric Rescorla - * - * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc. - */ - -#ifndef HEADER_D1_SRTP_H -# define HEADER_D1_SRTP_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# define SRTP_AES128_CM_SHA1_80 0x0001 -# define SRTP_AES128_CM_SHA1_32 0x0002 -# define SRTP_AES128_F8_SHA1_80 0x0003 -# define SRTP_AES128_F8_SHA1_32 0x0004 -# define SRTP_NULL_SHA1_80 0x0005 -# define SRTP_NULL_SHA1_32 0x0006 - -/* AEAD SRTP protection profiles from RFC 7714 */ -# define SRTP_AEAD_AES_128_GCM 0x0007 -# define SRTP_AEAD_AES_256_GCM 0x0008 - -# ifndef OPENSSL_NO_SRTP - -__owur int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); -__owur int SSL_set_tlsext_use_srtp(SSL *ssl, const char *profiles); - -__owur STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); -__owur SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); - -# endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/openssl/include/openssl/ssl.h b/deps/openssl/include/openssl/ssl.h deleted file mode 100644 index 6724ccf2..00000000 --- a/deps/openssl/include/openssl/ssl.h +++ /dev/null @@ -1,2438 +0,0 @@ -/* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved - * Copyright 2005 Nokia. All rights reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_SSL_H -# define HEADER_SSL_H - -# include -# include -# include -# include -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# include -# include -# endif -# include -# include -# include -# include - -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* OpenSSL version number for ASN.1 encoding of the session information */ -/*- - * Version 0 - initial version - * Version 1 - added the optional peer certificate - */ -# define SSL_SESSION_ASN1_VERSION 0x0001 - -# define SSL_MAX_SSL_SESSION_ID_LENGTH 32 -# define SSL_MAX_SID_CTX_LENGTH 32 - -# define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8) -# define SSL_MAX_KEY_ARG_LENGTH 8 -# define SSL_MAX_MASTER_KEY_LENGTH 48 - -/* The maximum number of encrypt/decrypt pipelines we can support */ -# define SSL_MAX_PIPELINES 32 - -/* text strings for the ciphers */ - -/* These are used to specify which ciphers to use and not to use */ - -# define SSL_TXT_LOW "LOW" -# define SSL_TXT_MEDIUM "MEDIUM" -# define SSL_TXT_HIGH "HIGH" -# define SSL_TXT_FIPS "FIPS" - -# define SSL_TXT_aNULL "aNULL" -# define SSL_TXT_eNULL "eNULL" -# define SSL_TXT_NULL "NULL" - -# define SSL_TXT_kRSA "kRSA" -# define SSL_TXT_kDHr "kDHr"/* this cipher class has been removed */ -# define SSL_TXT_kDHd "kDHd"/* this cipher class has been removed */ -# define SSL_TXT_kDH "kDH"/* this cipher class has been removed */ -# define SSL_TXT_kEDH "kEDH"/* alias for kDHE */ -# define SSL_TXT_kDHE "kDHE" -# define SSL_TXT_kECDHr "kECDHr"/* this cipher class has been removed */ -# define SSL_TXT_kECDHe "kECDHe"/* this cipher class has been removed */ -# define SSL_TXT_kECDH "kECDH"/* this cipher class has been removed */ -# define SSL_TXT_kEECDH "kEECDH"/* alias for kECDHE */ -# define SSL_TXT_kECDHE "kECDHE" -# define SSL_TXT_kPSK "kPSK" -# define SSL_TXT_kRSAPSK "kRSAPSK" -# define SSL_TXT_kECDHEPSK "kECDHEPSK" -# define SSL_TXT_kDHEPSK "kDHEPSK" -# define SSL_TXT_kGOST "kGOST" -# define SSL_TXT_kSRP "kSRP" - -# define SSL_TXT_aRSA "aRSA" -# define SSL_TXT_aDSS "aDSS" -# define SSL_TXT_aDH "aDH"/* this cipher class has been removed */ -# define SSL_TXT_aECDH "aECDH"/* this cipher class has been removed */ -# define SSL_TXT_aECDSA "aECDSA" -# define SSL_TXT_aPSK "aPSK" -# define SSL_TXT_aGOST94 "aGOST94" -# define SSL_TXT_aGOST01 "aGOST01" -# define SSL_TXT_aGOST12 "aGOST12" -# define SSL_TXT_aGOST "aGOST" -# define SSL_TXT_aSRP "aSRP" - -# define SSL_TXT_DSS "DSS" -# define SSL_TXT_DH "DH" -# define SSL_TXT_DHE "DHE"/* same as "kDHE:-ADH" */ -# define SSL_TXT_EDH "EDH"/* alias for DHE */ -# define SSL_TXT_ADH "ADH" -# define SSL_TXT_RSA "RSA" -# define SSL_TXT_ECDH "ECDH" -# define SSL_TXT_EECDH "EECDH"/* alias for ECDHE" */ -# define SSL_TXT_ECDHE "ECDHE"/* same as "kECDHE:-AECDH" */ -# define SSL_TXT_AECDH "AECDH" -# define SSL_TXT_ECDSA "ECDSA" -# define SSL_TXT_PSK "PSK" -# define SSL_TXT_SRP "SRP" - -# define SSL_TXT_DES "DES" -# define SSL_TXT_3DES "3DES" -# define SSL_TXT_RC4 "RC4" -# define SSL_TXT_RC2 "RC2" -# define SSL_TXT_IDEA "IDEA" -# define SSL_TXT_SEED "SEED" -# define SSL_TXT_AES128 "AES128" -# define SSL_TXT_AES256 "AES256" -# define SSL_TXT_AES "AES" -# define SSL_TXT_AES_GCM "AESGCM" -# define SSL_TXT_AES_CCM "AESCCM" -# define SSL_TXT_AES_CCM_8 "AESCCM8" -# define SSL_TXT_CAMELLIA128 "CAMELLIA128" -# define SSL_TXT_CAMELLIA256 "CAMELLIA256" -# define SSL_TXT_CAMELLIA "CAMELLIA" -# define SSL_TXT_CHACHA20 "CHACHA20" -# define SSL_TXT_GOST "GOST89" -# define SSL_TXT_ARIA "ARIA" -# define SSL_TXT_ARIA_GCM "ARIAGCM" -# define SSL_TXT_ARIA128 "ARIA128" -# define SSL_TXT_ARIA256 "ARIA256" - -# define SSL_TXT_MD5 "MD5" -# define SSL_TXT_SHA1 "SHA1" -# define SSL_TXT_SHA "SHA"/* same as "SHA1" */ -# define SSL_TXT_GOST94 "GOST94" -# define SSL_TXT_GOST89MAC "GOST89MAC" -# define SSL_TXT_GOST12 "GOST12" -# define SSL_TXT_GOST89MAC12 "GOST89MAC12" -# define SSL_TXT_SHA256 "SHA256" -# define SSL_TXT_SHA384 "SHA384" - -# define SSL_TXT_SSLV3 "SSLv3" -# define SSL_TXT_TLSV1 "TLSv1" -# define SSL_TXT_TLSV1_1 "TLSv1.1" -# define SSL_TXT_TLSV1_2 "TLSv1.2" - -# define SSL_TXT_ALL "ALL" - -/*- - * COMPLEMENTOF* definitions. These identifiers are used to (de-select) - * ciphers normally not being used. - * Example: "RC4" will activate all ciphers using RC4 including ciphers - * without authentication, which would normally disabled by DEFAULT (due - * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" - * will make sure that it is also disabled in the specific selection. - * COMPLEMENTOF* identifiers are portable between version, as adjustments - * to the default cipher setup will also be included here. - * - * COMPLEMENTOFDEFAULT does not experience the same special treatment that - * DEFAULT gets, as only selection is being done and no sorting as needed - * for DEFAULT. - */ -# define SSL_TXT_CMPALL "COMPLEMENTOFALL" -# define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" - -/* - * The following cipher list is used by default. It also is substituted when - * an application-defined cipher list string starts with 'DEFAULT'. - * This applies to ciphersuites for TLSv1.2 and below. - */ -# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL" -/* This is the default set of TLSv1.3 ciphersuites */ -# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) -# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ - "TLS_CHACHA20_POLY1305_SHA256:" \ - "TLS_AES_128_GCM_SHA256" -# else -# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ - "TLS_AES_128_GCM_SHA256" -#endif -/* - * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always - * starts with a reasonable order, and all we have to do for DEFAULT is - * throwing out anonymous and unencrypted ciphersuites! (The latter are not - * actually enabled by ALL, but "ALL:RSA" would enable some of them.) - */ - -/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ -# define SSL_SENT_SHUTDOWN 1 -# define SSL_RECEIVED_SHUTDOWN 2 - -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -# define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 -# define SSL_FILETYPE_PEM X509_FILETYPE_PEM - -/* - * This is needed to stop compilers complaining about the 'struct ssl_st *' - * function parameters used to prototype callbacks in SSL_CTX. - */ -typedef struct ssl_st *ssl_crock_st; -typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT; -typedef struct ssl_method_st SSL_METHOD; -typedef struct ssl_cipher_st SSL_CIPHER; -typedef struct ssl_session_st SSL_SESSION; -typedef struct tls_sigalgs_st TLS_SIGALGS; -typedef struct ssl_conf_ctx_st SSL_CONF_CTX; -typedef struct ssl_comp_st SSL_COMP; - -STACK_OF(SSL_CIPHER); -STACK_OF(SSL_COMP); - -/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ -typedef struct srtp_protection_profile_st { - const char *name; - unsigned long id; -} SRTP_PROTECTION_PROFILE; - -DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE) - -typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data, - int len, void *arg); -typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len, - STACK_OF(SSL_CIPHER) *peer_ciphers, - const SSL_CIPHER **cipher, void *arg); - -/* Extension context codes */ -/* This extension is only allowed in TLS */ -#define SSL_EXT_TLS_ONLY 0x0001 -/* This extension is only allowed in DTLS */ -#define SSL_EXT_DTLS_ONLY 0x0002 -/* Some extensions may be allowed in DTLS but we don't implement them for it */ -#define SSL_EXT_TLS_IMPLEMENTATION_ONLY 0x0004 -/* Most extensions are not defined for SSLv3 but EXT_TYPE_renegotiate is */ -#define SSL_EXT_SSL3_ALLOWED 0x0008 -/* Extension is only defined for TLS1.2 and below */ -#define SSL_EXT_TLS1_2_AND_BELOW_ONLY 0x0010 -/* Extension is only defined for TLS1.3 and above */ -#define SSL_EXT_TLS1_3_ONLY 0x0020 -/* Ignore this extension during parsing if we are resuming */ -#define SSL_EXT_IGNORE_ON_RESUMPTION 0x0040 -#define SSL_EXT_CLIENT_HELLO 0x0080 -/* Really means TLS1.2 or below */ -#define SSL_EXT_TLS1_2_SERVER_HELLO 0x0100 -#define SSL_EXT_TLS1_3_SERVER_HELLO 0x0200 -#define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS 0x0400 -#define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST 0x0800 -#define SSL_EXT_TLS1_3_CERTIFICATE 0x1000 -#define SSL_EXT_TLS1_3_NEW_SESSION_TICKET 0x2000 -#define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST 0x4000 - -/* Typedefs for handling custom extensions */ - -typedef int (*custom_ext_add_cb)(SSL *s, unsigned int ext_type, - const unsigned char **out, size_t *outlen, - int *al, void *add_arg); - -typedef void (*custom_ext_free_cb)(SSL *s, unsigned int ext_type, - const unsigned char *out, void *add_arg); - -typedef int (*custom_ext_parse_cb)(SSL *s, unsigned int ext_type, - const unsigned char *in, size_t inlen, - int *al, void *parse_arg); - - -typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type, - unsigned int context, - const unsigned char **out, - size_t *outlen, X509 *x, - size_t chainidx, - int *al, void *add_arg); - -typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type, - unsigned int context, - const unsigned char *out, - void *add_arg); - -typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type, - unsigned int context, - const unsigned char *in, - size_t inlen, X509 *x, - size_t chainidx, - int *al, void *parse_arg); - -/* Typedef for verification callback */ -typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx); - -/* - * Some values are reserved until OpenSSL 1.2.0 because they were previously - * included in SSL_OP_ALL in a 1.1.x release. - * - * Reserved value (until OpenSSL 1.2.0) 0x00000001U - * Reserved value (until OpenSSL 1.2.0) 0x00000002U - */ -/* Allow initial connection to servers that don't support RI */ -# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004U - -/* Reserved value (until OpenSSL 1.2.0) 0x00000008U */ -# define SSL_OP_TLSEXT_PADDING 0x00000010U -/* Reserved value (until OpenSSL 1.2.0) 0x00000020U */ -# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040U -/* - * Reserved value (until OpenSSL 1.2.0) 0x00000080U - * Reserved value (until OpenSSL 1.2.0) 0x00000100U - * Reserved value (until OpenSSL 1.2.0) 0x00000200U - */ - -/* In TLSv1.3 allow a non-(ec)dhe based kex_mode */ -# define SSL_OP_ALLOW_NO_DHE_KEX 0x00000400U - -/* - * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added in - * OpenSSL 0.9.6d. Usually (depending on the application protocol) the - * workaround is not needed. Unfortunately some broken SSL/TLS - * implementations cannot handle it at all, which is why we include it in - * SSL_OP_ALL. Added in 0.9.6e - */ -# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800U - -/* DTLS options */ -# define SSL_OP_NO_QUERY_MTU 0x00001000U -/* Turn on Cookie Exchange (on relevant for servers) */ -# define SSL_OP_COOKIE_EXCHANGE 0x00002000U -/* Don't use RFC4507 ticket extension */ -# define SSL_OP_NO_TICKET 0x00004000U -# ifndef OPENSSL_NO_DTLS1_METHOD -/* Use Cisco's "speshul" version of DTLS_BAD_VER - * (only with deprecated DTLSv1_client_method()) */ -# define SSL_OP_CISCO_ANYCONNECT 0x00008000U -# endif - -/* As server, disallow session resumption on renegotiation */ -# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000U -/* Don't use compression even if supported */ -# define SSL_OP_NO_COMPRESSION 0x00020000U -/* Permit unsafe legacy renegotiation */ -# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000U -/* Disable encrypt-then-mac */ -# define SSL_OP_NO_ENCRYPT_THEN_MAC 0x00080000U - -/* - * Enable TLSv1.3 Compatibility mode. This is on by default. A future version - * of OpenSSL may have this disabled by default. - */ -# define SSL_OP_ENABLE_MIDDLEBOX_COMPAT 0x00100000U - -/* Prioritize Chacha20Poly1305 when client does. - * Modifies SSL_OP_CIPHER_SERVER_PREFERENCE */ -# define SSL_OP_PRIORITIZE_CHACHA 0x00200000U - -/* - * Set on servers to choose the cipher according to the server's preferences - */ -# define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000U -/* - * If set, a server will allow a client to issue a SSLv3.0 version number as - * latest version supported in the premaster secret, even when TLSv1.0 - * (version 3.1) was announced in the client hello. Normally this is - * forbidden to prevent version rollback attacks. - */ -# define SSL_OP_TLS_ROLLBACK_BUG 0x00800000U - -/* - * Switches off automatic TLSv1.3 anti-replay protection for early data. This - * is a server-side option only (no effect on the client). - */ -# define SSL_OP_NO_ANTI_REPLAY 0x01000000U - -# define SSL_OP_NO_SSLv3 0x02000000U -# define SSL_OP_NO_TLSv1 0x04000000U -# define SSL_OP_NO_TLSv1_2 0x08000000U -# define SSL_OP_NO_TLSv1_1 0x10000000U -# define SSL_OP_NO_TLSv1_3 0x20000000U - -# define SSL_OP_NO_DTLSv1 0x04000000U -# define SSL_OP_NO_DTLSv1_2 0x08000000U - -# define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv3|\ - SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2|SSL_OP_NO_TLSv1_3) -# define SSL_OP_NO_DTLS_MASK (SSL_OP_NO_DTLSv1|SSL_OP_NO_DTLSv1_2) - -/* Disallow all renegotiation */ -# define SSL_OP_NO_RENEGOTIATION 0x40000000U - -/* - * Make server add server-hello extension from early version of cryptopro - * draft, when GOST ciphersuite is negotiated. Required for interoperability - * with CryptoPro CSP 3.x - */ -# define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000U - -/* - * SSL_OP_ALL: various bug workarounds that should be rather harmless. - * This used to be 0x000FFFFFL before 0.9.7. - * This used to be 0x80000BFFU before 1.1.1. - */ -# define SSL_OP_ALL (SSL_OP_CRYPTOPRO_TLSEXT_BUG|\ - SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS|\ - SSL_OP_LEGACY_SERVER_CONNECT|\ - SSL_OP_TLSEXT_PADDING|\ - SSL_OP_SAFARI_ECDHE_ECDSA_BUG) - -/* OBSOLETE OPTIONS: retained for compatibility */ - -/* Removed from OpenSSL 1.1.0. Was 0x00000001L */ -/* Related to removed SSLv2. */ -# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x00000002L */ -/* Related to removed SSLv2. */ -# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x0 -/* Removed from OpenSSL 0.9.8q and 1.0.0c. Was 0x00000008L */ -/* Dead forever, see CVE-2010-4180 */ -# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x0 -/* Removed from OpenSSL 1.0.1h and 1.0.2. Was 0x00000010L */ -/* Refers to ancient SSLREF and SSLv2. */ -# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x00000020 */ -# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x0 -/* Removed from OpenSSL 0.9.7h and 0.9.8b. Was 0x00000040L */ -# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x00000080 */ -/* Ancient SSLeay version. */ -# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x00000100L */ -# define SSL_OP_TLS_D5_BUG 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x00000200L */ -# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x00080000L */ -# define SSL_OP_SINGLE_ECDH_USE 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x00100000L */ -# define SSL_OP_SINGLE_DH_USE 0x0 -/* Removed from OpenSSL 1.0.1k and 1.0.2. Was 0x00200000L */ -# define SSL_OP_EPHEMERAL_RSA 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x01000000L */ -# define SSL_OP_NO_SSLv2 0x0 -/* Removed from OpenSSL 1.0.1. Was 0x08000000L */ -# define SSL_OP_PKCS1_CHECK_1 0x0 -/* Removed from OpenSSL 1.0.1. Was 0x10000000L */ -# define SSL_OP_PKCS1_CHECK_2 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x20000000L */ -# define SSL_OP_NETSCAPE_CA_DN_BUG 0x0 -/* Removed from OpenSSL 1.1.0. Was 0x40000000L */ -# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x0 - -/* - * Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success - * when just a single record has been written): - */ -# define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001U -/* - * Make it possible to retry SSL_write() with changed buffer location (buffer - * contents must stay the same!); this is not the default to avoid the - * misconception that non-blocking SSL_write() behaves like non-blocking - * write(): - */ -# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002U -/* - * Never bother the application with retries if the transport is blocking: - */ -# define SSL_MODE_AUTO_RETRY 0x00000004U -/* Don't attempt to automatically build certificate chain */ -# define SSL_MODE_NO_AUTO_CHAIN 0x00000008U -/* - * Save RAM by releasing read and write buffers when they're empty. (SSL3 and - * TLS only.) Released buffers are freed. - */ -# define SSL_MODE_RELEASE_BUFFERS 0x00000010U -/* - * Send the current time in the Random fields of the ClientHello and - * ServerHello records for compatibility with hypothetical implementations - * that require it. - */ -# define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020U -# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040U -/* - * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications - * that reconnect with a downgraded protocol version; see - * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your - * application attempts a normal handshake. Only use this in explicit - * fallback retries, following the guidance in - * draft-ietf-tls-downgrade-scsv-00. - */ -# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080U -/* - * Support Asynchronous operation - */ -# define SSL_MODE_ASYNC 0x00000100U - -/* - * When using DTLS/SCTP, include the terminating zero in the label - * used for computing the endpoint-pair shared secret. Required for - * interoperability with implementations having this bug like these - * older version of OpenSSL: - * - OpenSSL 1.0.0 series - * - OpenSSL 1.0.1 series - * - OpenSSL 1.0.2 series - * - OpenSSL 1.1.0 series - * - OpenSSL 1.1.1 and 1.1.1a - */ -# define SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG 0x00000400U - -/* Cert related flags */ -/* - * Many implementations ignore some aspects of the TLS standards such as - * enforcing certificate chain algorithms. When this is set we enforce them. - */ -# define SSL_CERT_FLAG_TLS_STRICT 0x00000001U - -/* Suite B modes, takes same values as certificate verify flags */ -# define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY 0x10000 -/* Suite B 192 bit only mode */ -# define SSL_CERT_FLAG_SUITEB_192_LOS 0x20000 -/* Suite B 128 bit mode allowing 192 bit algorithms */ -# define SSL_CERT_FLAG_SUITEB_128_LOS 0x30000 - -/* Perform all sorts of protocol violations for testing purposes */ -# define SSL_CERT_FLAG_BROKEN_PROTOCOL 0x10000000 - -/* Flags for building certificate chains */ -/* Treat any existing certificates as untrusted CAs */ -# define SSL_BUILD_CHAIN_FLAG_UNTRUSTED 0x1 -/* Don't include root CA in chain */ -# define SSL_BUILD_CHAIN_FLAG_NO_ROOT 0x2 -/* Just check certificates already there */ -# define SSL_BUILD_CHAIN_FLAG_CHECK 0x4 -/* Ignore verification errors */ -# define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR 0x8 -/* Clear verification errors from queue */ -# define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR 0x10 - -/* Flags returned by SSL_check_chain */ -/* Certificate can be used with this session */ -# define CERT_PKEY_VALID 0x1 -/* Certificate can also be used for signing */ -# define CERT_PKEY_SIGN 0x2 -/* EE certificate signing algorithm OK */ -# define CERT_PKEY_EE_SIGNATURE 0x10 -/* CA signature algorithms OK */ -# define CERT_PKEY_CA_SIGNATURE 0x20 -/* EE certificate parameters OK */ -# define CERT_PKEY_EE_PARAM 0x40 -/* CA certificate parameters OK */ -# define CERT_PKEY_CA_PARAM 0x80 -/* Signing explicitly allowed as opposed to SHA1 fallback */ -# define CERT_PKEY_EXPLICIT_SIGN 0x100 -/* Client CA issuer names match (always set for server cert) */ -# define CERT_PKEY_ISSUER_NAME 0x200 -/* Cert type matches client types (always set for server cert) */ -# define CERT_PKEY_CERT_TYPE 0x400 -/* Cert chain suitable to Suite B */ -# define CERT_PKEY_SUITEB 0x800 - -# define SSL_CONF_FLAG_CMDLINE 0x1 -# define SSL_CONF_FLAG_FILE 0x2 -# define SSL_CONF_FLAG_CLIENT 0x4 -# define SSL_CONF_FLAG_SERVER 0x8 -# define SSL_CONF_FLAG_SHOW_ERRORS 0x10 -# define SSL_CONF_FLAG_CERTIFICATE 0x20 -# define SSL_CONF_FLAG_REQUIRE_PRIVATE 0x40 -/* Configuration value types */ -# define SSL_CONF_TYPE_UNKNOWN 0x0 -# define SSL_CONF_TYPE_STRING 0x1 -# define SSL_CONF_TYPE_FILE 0x2 -# define SSL_CONF_TYPE_DIR 0x3 -# define SSL_CONF_TYPE_NONE 0x4 - -/* Maximum length of the application-controlled segment of a a TLSv1.3 cookie */ -# define SSL_COOKIE_LENGTH 4096 - -/* - * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they - * cannot be used to clear bits. - */ - -unsigned long SSL_CTX_get_options(const SSL_CTX *ctx); -unsigned long SSL_get_options(const SSL *s); -unsigned long SSL_CTX_clear_options(SSL_CTX *ctx, unsigned long op); -unsigned long SSL_clear_options(SSL *s, unsigned long op); -unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op); -unsigned long SSL_set_options(SSL *s, unsigned long op); - -# define SSL_CTX_set_mode(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) -# define SSL_CTX_clear_mode(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL) -# define SSL_CTX_get_mode(ctx) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) -# define SSL_clear_mode(ssl,op) \ - SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL) -# define SSL_set_mode(ssl,op) \ - SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) -# define SSL_get_mode(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL) -# define SSL_set_mtu(ssl, mtu) \ - SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL) -# define DTLS_set_link_mtu(ssl, mtu) \ - SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL) -# define DTLS_get_link_min_mtu(ssl) \ - SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL) - -# define SSL_get_secure_renegotiation_support(ssl) \ - SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) - -# ifndef OPENSSL_NO_HEARTBEATS -# define SSL_heartbeat(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT,0,NULL) -# endif - -# define SSL_CTX_set_cert_flags(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL) -# define SSL_set_cert_flags(s,op) \ - SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL) -# define SSL_CTX_clear_cert_flags(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) -# define SSL_clear_cert_flags(s,op) \ - SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) - -void SSL_CTX_set_msg_callback(SSL_CTX *ctx, - void (*cb) (int write_p, int version, - int content_type, const void *buf, - size_t len, SSL *ssl, void *arg)); -void SSL_set_msg_callback(SSL *ssl, - void (*cb) (int write_p, int version, - int content_type, const void *buf, - size_t len, SSL *ssl, void *arg)); -# define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) -# define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) - -# define SSL_get_extms_support(s) \ - SSL_ctrl((s),SSL_CTRL_GET_EXTMS_SUPPORT,0,NULL) - -# ifndef OPENSSL_NO_SRP - -/* see tls_srp.c */ -__owur int SSL_SRP_CTX_init(SSL *s); -__owur int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); -int SSL_SRP_CTX_free(SSL *ctx); -int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx); -__owur int SSL_srp_server_param_with_username(SSL *s, int *ad); -__owur int SRP_Calc_A_param(SSL *s); - -# endif - -/* 100k max cert list */ -# define SSL_MAX_CERT_LIST_DEFAULT 1024*100 - -# define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) - -/* - * This callback type is used inside SSL_CTX, SSL, and in the functions that - * set them. It is used to override the generation of SSL/TLS session IDs in - * a server. Return value should be zero on an error, non-zero to proceed. - * Also, callbacks should themselves check if the id they generate is unique - * otherwise the SSL handshake will fail with an error - callbacks can do - * this using the 'ssl' value they're passed by; - * SSL_has_matching_session_id(ssl, id, *id_len) The length value passed in - * is set at the maximum size the session ID can be. In SSLv3/TLSv1 it is 32 - * bytes. The callback can alter this length to be less if desired. It is - * also an error for the callback to set the size to zero. - */ -typedef int (*GEN_SESSION_CB) (SSL *ssl, unsigned char *id, - unsigned int *id_len); - -# define SSL_SESS_CACHE_OFF 0x0000 -# define SSL_SESS_CACHE_CLIENT 0x0001 -# define SSL_SESS_CACHE_SERVER 0x0002 -# define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER) -# define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080 -/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */ -# define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100 -# define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 -# define SSL_SESS_CACHE_NO_INTERNAL \ - (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) - -LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx); -# define SSL_CTX_sess_number(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) -# define SSL_CTX_sess_connect(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL) -# define SSL_CTX_sess_connect_good(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL) -# define SSL_CTX_sess_connect_renegotiate(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL) -# define SSL_CTX_sess_accept(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL) -# define SSL_CTX_sess_accept_renegotiate(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL) -# define SSL_CTX_sess_accept_good(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL) -# define SSL_CTX_sess_hits(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL) -# define SSL_CTX_sess_cb_hits(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL) -# define SSL_CTX_sess_misses(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL) -# define SSL_CTX_sess_timeouts(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL) -# define SSL_CTX_sess_cache_full(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL) - -void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, - int (*new_session_cb) (struct ssl_st *ssl, - SSL_SESSION *sess)); -int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, - SSL_SESSION *sess); -void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, - void (*remove_session_cb) (struct ssl_ctx_st - *ctx, - SSL_SESSION *sess)); -void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (struct ssl_ctx_st *ctx, - SSL_SESSION *sess); -void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, - SSL_SESSION *(*get_session_cb) (struct ssl_st - *ssl, - const unsigned char - *data, int len, - int *copy)); -SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, - const unsigned char *data, - int len, int *copy); -void SSL_CTX_set_info_callback(SSL_CTX *ctx, - void (*cb) (const SSL *ssl, int type, int val)); -void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type, - int val); -void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, - int (*client_cert_cb) (SSL *ssl, X509 **x509, - EVP_PKEY **pkey)); -int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509, - EVP_PKEY **pkey); -# ifndef OPENSSL_NO_ENGINE -__owur int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); -# endif -void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, - int (*app_gen_cookie_cb) (SSL *ssl, - unsigned char - *cookie, - unsigned int - *cookie_len)); -void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, - int (*app_verify_cookie_cb) (SSL *ssl, - const unsigned - char *cookie, - unsigned int - cookie_len)); - -void SSL_CTX_set_stateless_cookie_generate_cb( - SSL_CTX *ctx, - int (*gen_stateless_cookie_cb) (SSL *ssl, - unsigned char *cookie, - size_t *cookie_len)); -void SSL_CTX_set_stateless_cookie_verify_cb( - SSL_CTX *ctx, - int (*verify_stateless_cookie_cb) (SSL *ssl, - const unsigned char *cookie, - size_t cookie_len)); -# ifndef OPENSSL_NO_NEXTPROTONEG - -typedef int (*SSL_CTX_npn_advertised_cb_func)(SSL *ssl, - const unsigned char **out, - unsigned int *outlen, - void *arg); -void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, - SSL_CTX_npn_advertised_cb_func cb, - void *arg); -# define SSL_CTX_set_npn_advertised_cb SSL_CTX_set_next_protos_advertised_cb - -typedef int (*SSL_CTX_npn_select_cb_func)(SSL *s, - unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, - void *arg); -void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, - SSL_CTX_npn_select_cb_func cb, - void *arg); -# define SSL_CTX_set_npn_select_cb SSL_CTX_set_next_proto_select_cb - -void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, - unsigned *len); -# define SSL_get0_npn_negotiated SSL_get0_next_proto_negotiated -# endif - -__owur int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, - const unsigned char *in, unsigned int inlen, - const unsigned char *client, - unsigned int client_len); - -# define OPENSSL_NPN_UNSUPPORTED 0 -# define OPENSSL_NPN_NEGOTIATED 1 -# define OPENSSL_NPN_NO_OVERLAP 2 - -__owur int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, - unsigned int protos_len); -__owur int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, - unsigned int protos_len); -typedef int (*SSL_CTX_alpn_select_cb_func)(SSL *ssl, - const unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, - void *arg); -void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, - SSL_CTX_alpn_select_cb_func cb, - void *arg); -void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, - unsigned int *len); - -# ifndef OPENSSL_NO_PSK -/* - * the maximum length of the buffer given to callbacks containing the - * resulting identity/psk - */ -# define PSK_MAX_IDENTITY_LEN 128 -# define PSK_MAX_PSK_LEN 256 -typedef unsigned int (*SSL_psk_client_cb_func)(SSL *ssl, - const char *hint, - char *identity, - unsigned int max_identity_len, - unsigned char *psk, - unsigned int max_psk_len); -void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, SSL_psk_client_cb_func cb); -void SSL_set_psk_client_callback(SSL *ssl, SSL_psk_client_cb_func cb); - -typedef unsigned int (*SSL_psk_server_cb_func)(SSL *ssl, - const char *identity, - unsigned char *psk, - unsigned int max_psk_len); -void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, SSL_psk_server_cb_func cb); -void SSL_set_psk_server_callback(SSL *ssl, SSL_psk_server_cb_func cb); - -__owur int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); -__owur int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); -const char *SSL_get_psk_identity_hint(const SSL *s); -const char *SSL_get_psk_identity(const SSL *s); -# endif - -typedef int (*SSL_psk_find_session_cb_func)(SSL *ssl, - const unsigned char *identity, - size_t identity_len, - SSL_SESSION **sess); -typedef int (*SSL_psk_use_session_cb_func)(SSL *ssl, const EVP_MD *md, - const unsigned char **id, - size_t *idlen, - SSL_SESSION **sess); - -void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func cb); -void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx, - SSL_psk_find_session_cb_func cb); -void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func cb); -void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx, - SSL_psk_use_session_cb_func cb); - -/* Register callbacks to handle custom TLS Extensions for client or server. */ - -__owur int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx, - unsigned int ext_type); - -__owur int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, - unsigned int ext_type, - custom_ext_add_cb add_cb, - custom_ext_free_cb free_cb, - void *add_arg, - custom_ext_parse_cb parse_cb, - void *parse_arg); - -__owur int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, - unsigned int ext_type, - custom_ext_add_cb add_cb, - custom_ext_free_cb free_cb, - void *add_arg, - custom_ext_parse_cb parse_cb, - void *parse_arg); - -__owur int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type, - unsigned int context, - SSL_custom_ext_add_cb_ex add_cb, - SSL_custom_ext_free_cb_ex free_cb, - void *add_arg, - SSL_custom_ext_parse_cb_ex parse_cb, - void *parse_arg); - -__owur int SSL_extension_supported(unsigned int ext_type); - -# define SSL_NOTHING 1 -# define SSL_WRITING 2 -# define SSL_READING 3 -# define SSL_X509_LOOKUP 4 -# define SSL_ASYNC_PAUSED 5 -# define SSL_ASYNC_NO_JOBS 6 -# define SSL_CLIENT_HELLO_CB 7 - -/* These will only be used when doing non-blocking IO */ -# define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) -# define SSL_want_read(s) (SSL_want(s) == SSL_READING) -# define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) -# define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) -# define SSL_want_async(s) (SSL_want(s) == SSL_ASYNC_PAUSED) -# define SSL_want_async_job(s) (SSL_want(s) == SSL_ASYNC_NO_JOBS) -# define SSL_want_client_hello_cb(s) (SSL_want(s) == SSL_CLIENT_HELLO_CB) - -# define SSL_MAC_FLAG_READ_MAC_STREAM 1 -# define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 - -/* - * A callback for logging out TLS key material. This callback should log out - * |line| followed by a newline. - */ -typedef void (*SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line); - -/* - * SSL_CTX_set_keylog_callback configures a callback to log key material. This - * is intended for debugging use with tools like Wireshark. The cb function - * should log line followed by a newline. - */ -void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb); - -/* - * SSL_CTX_get_keylog_callback returns the callback configured by - * SSL_CTX_set_keylog_callback. - */ -SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx); - -int SSL_CTX_set_max_early_data(SSL_CTX *ctx, uint32_t max_early_data); -uint32_t SSL_CTX_get_max_early_data(const SSL_CTX *ctx); -int SSL_set_max_early_data(SSL *s, uint32_t max_early_data); -uint32_t SSL_get_max_early_data(const SSL *s); -int SSL_CTX_set_recv_max_early_data(SSL_CTX *ctx, uint32_t recv_max_early_data); -uint32_t SSL_CTX_get_recv_max_early_data(const SSL_CTX *ctx); -int SSL_set_recv_max_early_data(SSL *s, uint32_t recv_max_early_data); -uint32_t SSL_get_recv_max_early_data(const SSL *s); - -#ifdef __cplusplus -} -#endif - -# include -# include -# include /* This is mostly sslv3 with a few tweaks */ -# include /* Datagram TLS */ -# include /* Support for the use_srtp extension */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * These need to be after the above set of includes due to a compiler bug - * in VisualStudio 2015 - */ -DEFINE_STACK_OF_CONST(SSL_CIPHER) -DEFINE_STACK_OF(SSL_COMP) - -/* compatibility */ -# define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)(arg))) -# define SSL_get_app_data(s) (SSL_get_ex_data(s,0)) -# define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0, \ - (char *)(a))) -# define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0)) -# define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0)) -# define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0, \ - (char *)(arg))) -DEPRECATEDIN_1_1_0(void SSL_set_debug(SSL *s, int debug)) - -/* TLSv1.3 KeyUpdate message types */ -/* -1 used so that this is an invalid value for the on-the-wire protocol */ -#define SSL_KEY_UPDATE_NONE -1 -/* Values as defined for the on-the-wire protocol */ -#define SSL_KEY_UPDATE_NOT_REQUESTED 0 -#define SSL_KEY_UPDATE_REQUESTED 1 - -/* - * The valid handshake states (one for each type message sent and one for each - * type of message received). There are also two "special" states: - * TLS = TLS or DTLS state - * DTLS = DTLS specific state - * CR/SR = Client Read/Server Read - * CW/SW = Client Write/Server Write - * - * The "special" states are: - * TLS_ST_BEFORE = No handshake has been initiated yet - * TLS_ST_OK = A handshake has been successfully completed - */ -typedef enum { - TLS_ST_BEFORE, - TLS_ST_OK, - DTLS_ST_CR_HELLO_VERIFY_REQUEST, - TLS_ST_CR_SRVR_HELLO, - TLS_ST_CR_CERT, - TLS_ST_CR_CERT_STATUS, - TLS_ST_CR_KEY_EXCH, - TLS_ST_CR_CERT_REQ, - TLS_ST_CR_SRVR_DONE, - TLS_ST_CR_SESSION_TICKET, - TLS_ST_CR_CHANGE, - TLS_ST_CR_FINISHED, - TLS_ST_CW_CLNT_HELLO, - TLS_ST_CW_CERT, - TLS_ST_CW_KEY_EXCH, - TLS_ST_CW_CERT_VRFY, - TLS_ST_CW_CHANGE, - TLS_ST_CW_NEXT_PROTO, - TLS_ST_CW_FINISHED, - TLS_ST_SW_HELLO_REQ, - TLS_ST_SR_CLNT_HELLO, - DTLS_ST_SW_HELLO_VERIFY_REQUEST, - TLS_ST_SW_SRVR_HELLO, - TLS_ST_SW_CERT, - TLS_ST_SW_KEY_EXCH, - TLS_ST_SW_CERT_REQ, - TLS_ST_SW_SRVR_DONE, - TLS_ST_SR_CERT, - TLS_ST_SR_KEY_EXCH, - TLS_ST_SR_CERT_VRFY, - TLS_ST_SR_NEXT_PROTO, - TLS_ST_SR_CHANGE, - TLS_ST_SR_FINISHED, - TLS_ST_SW_SESSION_TICKET, - TLS_ST_SW_CERT_STATUS, - TLS_ST_SW_CHANGE, - TLS_ST_SW_FINISHED, - TLS_ST_SW_ENCRYPTED_EXTENSIONS, - TLS_ST_CR_ENCRYPTED_EXTENSIONS, - TLS_ST_CR_CERT_VRFY, - TLS_ST_SW_CERT_VRFY, - TLS_ST_CR_HELLO_REQ, - TLS_ST_SW_KEY_UPDATE, - TLS_ST_CW_KEY_UPDATE, - TLS_ST_SR_KEY_UPDATE, - TLS_ST_CR_KEY_UPDATE, - TLS_ST_EARLY_DATA, - TLS_ST_PENDING_EARLY_DATA_END, - TLS_ST_CW_END_OF_EARLY_DATA, - TLS_ST_SR_END_OF_EARLY_DATA -} OSSL_HANDSHAKE_STATE; - -/* - * Most of the following state values are no longer used and are defined to be - * the closest equivalent value in the current state machine code. Not all - * defines have an equivalent and are set to a dummy value (-1). SSL_ST_CONNECT - * and SSL_ST_ACCEPT are still in use in the definition of SSL_CB_ACCEPT_LOOP, - * SSL_CB_ACCEPT_EXIT, SSL_CB_CONNECT_LOOP and SSL_CB_CONNECT_EXIT. - */ - -# define SSL_ST_CONNECT 0x1000 -# define SSL_ST_ACCEPT 0x2000 - -# define SSL_ST_MASK 0x0FFF - -# define SSL_CB_LOOP 0x01 -# define SSL_CB_EXIT 0x02 -# define SSL_CB_READ 0x04 -# define SSL_CB_WRITE 0x08 -# define SSL_CB_ALERT 0x4000/* used in callback */ -# define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ) -# define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE) -# define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP) -# define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT) -# define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP) -# define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT) -# define SSL_CB_HANDSHAKE_START 0x10 -# define SSL_CB_HANDSHAKE_DONE 0x20 - -/* Is the SSL_connection established? */ -# define SSL_in_connect_init(a) (SSL_in_init(a) && !SSL_is_server(a)) -# define SSL_in_accept_init(a) (SSL_in_init(a) && SSL_is_server(a)) -int SSL_in_init(const SSL *s); -int SSL_in_before(const SSL *s); -int SSL_is_init_finished(const SSL *s); - -/* - * The following 3 states are kept in ssl->rlayer.rstate when reads fail, you - * should not need these - */ -# define SSL_ST_READ_HEADER 0xF0 -# define SSL_ST_READ_BODY 0xF1 -# define SSL_ST_READ_DONE 0xF2 - -/*- - * Obtain latest Finished message - * -- that we sent (SSL_get_finished) - * -- that we expected from peer (SSL_get_peer_finished). - * Returns length (0 == no Finished so far), copies up to 'count' bytes. - */ -size_t SSL_get_finished(const SSL *s, void *buf, size_t count); -size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); - -/* - * use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 3 options are - * 'ored' with SSL_VERIFY_PEER if they are desired - */ -# define SSL_VERIFY_NONE 0x00 -# define SSL_VERIFY_PEER 0x01 -# define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 -# define SSL_VERIFY_CLIENT_ONCE 0x04 -# define SSL_VERIFY_POST_HANDSHAKE 0x08 - -# if OPENSSL_API_COMPAT < 0x10100000L -# define OpenSSL_add_ssl_algorithms() SSL_library_init() -# define SSLeay_add_ssl_algorithms() SSL_library_init() -# endif - -/* More backward compatibility */ -# define SSL_get_cipher(s) \ - SSL_CIPHER_get_name(SSL_get_current_cipher(s)) -# define SSL_get_cipher_bits(s,np) \ - SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) -# define SSL_get_cipher_version(s) \ - SSL_CIPHER_get_version(SSL_get_current_cipher(s)) -# define SSL_get_cipher_name(s) \ - SSL_CIPHER_get_name(SSL_get_current_cipher(s)) -# define SSL_get_time(a) SSL_SESSION_get_time(a) -# define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b)) -# define SSL_get_timeout(a) SSL_SESSION_get_timeout(a) -# define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b)) - -# define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id) -# define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id) - -DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) -# define SSL_AD_REASON_OFFSET 1000/* offset to get SSL_R_... value - * from SSL_AD_... */ -/* These alert types are for SSLv3 and TLSv1 */ -# define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY -/* fatal */ -# define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE -/* fatal */ -# define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC -# define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED -# define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW -/* fatal */ -# define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE -/* fatal */ -# define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE -/* Not for TLS */ -# define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE -# define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE -# define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE -# define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED -# define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED -# define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN -/* fatal */ -# define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER -/* fatal */ -# define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA -/* fatal */ -# define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED -/* fatal */ -# define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR -# define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR -/* fatal */ -# define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION -/* fatal */ -# define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION -/* fatal */ -# define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY -/* fatal */ -# define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR -# define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED -# define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION -# define SSL_AD_MISSING_EXTENSION TLS13_AD_MISSING_EXTENSION -# define SSL_AD_CERTIFICATE_REQUIRED TLS13_AD_CERTIFICATE_REQUIRED -# define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION -# define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE -# define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME -# define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE -# define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE -/* fatal */ -# define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY -/* fatal */ -# define SSL_AD_INAPPROPRIATE_FALLBACK TLS1_AD_INAPPROPRIATE_FALLBACK -# define SSL_AD_NO_APPLICATION_PROTOCOL TLS1_AD_NO_APPLICATION_PROTOCOL -# define SSL_ERROR_NONE 0 -# define SSL_ERROR_SSL 1 -# define SSL_ERROR_WANT_READ 2 -# define SSL_ERROR_WANT_WRITE 3 -# define SSL_ERROR_WANT_X509_LOOKUP 4 -# define SSL_ERROR_SYSCALL 5/* look at error stack/return - * value/errno */ -# define SSL_ERROR_ZERO_RETURN 6 -# define SSL_ERROR_WANT_CONNECT 7 -# define SSL_ERROR_WANT_ACCEPT 8 -# define SSL_ERROR_WANT_ASYNC 9 -# define SSL_ERROR_WANT_ASYNC_JOB 10 -# define SSL_ERROR_WANT_CLIENT_HELLO_CB 11 -# define SSL_CTRL_SET_TMP_DH 3 -# define SSL_CTRL_SET_TMP_ECDH 4 -# define SSL_CTRL_SET_TMP_DH_CB 6 -# define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 -# define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 -# define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 -# define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 -# define SSL_CTRL_GET_FLAGS 13 -# define SSL_CTRL_EXTRA_CHAIN_CERT 14 -# define SSL_CTRL_SET_MSG_CALLBACK 15 -# define SSL_CTRL_SET_MSG_CALLBACK_ARG 16 -/* only applies to datagram connections */ -# define SSL_CTRL_SET_MTU 17 -/* Stats */ -# define SSL_CTRL_SESS_NUMBER 20 -# define SSL_CTRL_SESS_CONNECT 21 -# define SSL_CTRL_SESS_CONNECT_GOOD 22 -# define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23 -# define SSL_CTRL_SESS_ACCEPT 24 -# define SSL_CTRL_SESS_ACCEPT_GOOD 25 -# define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26 -# define SSL_CTRL_SESS_HIT 27 -# define SSL_CTRL_SESS_CB_HIT 28 -# define SSL_CTRL_SESS_MISSES 29 -# define SSL_CTRL_SESS_TIMEOUTS 30 -# define SSL_CTRL_SESS_CACHE_FULL 31 -# define SSL_CTRL_MODE 33 -# define SSL_CTRL_GET_READ_AHEAD 40 -# define SSL_CTRL_SET_READ_AHEAD 41 -# define SSL_CTRL_SET_SESS_CACHE_SIZE 42 -# define SSL_CTRL_GET_SESS_CACHE_SIZE 43 -# define SSL_CTRL_SET_SESS_CACHE_MODE 44 -# define SSL_CTRL_GET_SESS_CACHE_MODE 45 -# define SSL_CTRL_GET_MAX_CERT_LIST 50 -# define SSL_CTRL_SET_MAX_CERT_LIST 51 -# define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 -/* see tls1.h for macros based on these */ -# define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53 -# define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54 -# define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 -# define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56 -# define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 -# define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58 -# define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59 -/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT 60 */ -/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 */ -/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 */ -# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 -# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 -# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 -# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 -# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 -# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 -# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 -# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 -# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 -# define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 -# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 -# define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 -# define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 -# define SSL_CTRL_SET_SRP_ARG 78 -# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 -# define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 -# define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 -# ifndef OPENSSL_NO_HEARTBEATS -# define SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT 85 -# define SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING 86 -# define SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS 87 -# endif -# define DTLS_CTRL_GET_TIMEOUT 73 -# define DTLS_CTRL_HANDLE_TIMEOUT 74 -# define SSL_CTRL_GET_RI_SUPPORT 76 -# define SSL_CTRL_CLEAR_MODE 78 -# define SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB 79 -# define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 -# define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 -# define SSL_CTRL_CHAIN 88 -# define SSL_CTRL_CHAIN_CERT 89 -# define SSL_CTRL_GET_GROUPS 90 -# define SSL_CTRL_SET_GROUPS 91 -# define SSL_CTRL_SET_GROUPS_LIST 92 -# define SSL_CTRL_GET_SHARED_GROUP 93 -# define SSL_CTRL_SET_SIGALGS 97 -# define SSL_CTRL_SET_SIGALGS_LIST 98 -# define SSL_CTRL_CERT_FLAGS 99 -# define SSL_CTRL_CLEAR_CERT_FLAGS 100 -# define SSL_CTRL_SET_CLIENT_SIGALGS 101 -# define SSL_CTRL_SET_CLIENT_SIGALGS_LIST 102 -# define SSL_CTRL_GET_CLIENT_CERT_TYPES 103 -# define SSL_CTRL_SET_CLIENT_CERT_TYPES 104 -# define SSL_CTRL_BUILD_CERT_CHAIN 105 -# define SSL_CTRL_SET_VERIFY_CERT_STORE 106 -# define SSL_CTRL_SET_CHAIN_CERT_STORE 107 -# define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 -# define SSL_CTRL_GET_PEER_TMP_KEY 109 -# define SSL_CTRL_GET_RAW_CIPHERLIST 110 -# define SSL_CTRL_GET_EC_POINT_FORMATS 111 -# define SSL_CTRL_GET_CHAIN_CERTS 115 -# define SSL_CTRL_SELECT_CURRENT_CERT 116 -# define SSL_CTRL_SET_CURRENT_CERT 117 -# define SSL_CTRL_SET_DH_AUTO 118 -# define DTLS_CTRL_SET_LINK_MTU 120 -# define DTLS_CTRL_GET_LINK_MIN_MTU 121 -# define SSL_CTRL_GET_EXTMS_SUPPORT 122 -# define SSL_CTRL_SET_MIN_PROTO_VERSION 123 -# define SSL_CTRL_SET_MAX_PROTO_VERSION 124 -# define SSL_CTRL_SET_SPLIT_SEND_FRAGMENT 125 -# define SSL_CTRL_SET_MAX_PIPELINES 126 -# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE 127 -# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB 128 -# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG 129 -# define SSL_CTRL_GET_MIN_PROTO_VERSION 130 -# define SSL_CTRL_GET_MAX_PROTO_VERSION 131 -# define SSL_CTRL_GET_SIGNATURE_NID 132 -# define SSL_CTRL_GET_TMP_KEY 133 -# define SSL_CERT_SET_FIRST 1 -# define SSL_CERT_SET_NEXT 2 -# define SSL_CERT_SET_SERVER 3 -# define DTLSv1_get_timeout(ssl, arg) \ - SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)(arg)) -# define DTLSv1_handle_timeout(ssl) \ - SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL) -# define SSL_num_renegotiations(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL) -# define SSL_clear_num_renegotiations(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL) -# define SSL_total_renegotiations(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) -# define SSL_CTX_set_tmp_dh(ctx,dh) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) -# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) -# define SSL_CTX_set_dh_auto(ctx, onoff) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL) -# define SSL_set_dh_auto(s, onoff) \ - SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL) -# define SSL_set_tmp_dh(ssl,dh) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) -# define SSL_set_tmp_ecdh(ssl,ecdh) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) -# define SSL_CTX_add_extra_chain_cert(ctx,x509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)(x509)) -# define SSL_CTX_get_extra_chain_certs(ctx,px509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509) -# define SSL_CTX_get_extra_chain_certs_only(ctx,px509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,1,px509) -# define SSL_CTX_clear_extra_chain_certs(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL) -# define SSL_CTX_set0_chain(ctx,sk) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) -# define SSL_CTX_set1_chain(ctx,sk) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk)) -# define SSL_CTX_add0_chain_cert(ctx,x509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) -# define SSL_CTX_add1_chain_cert(ctx,x509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) -# define SSL_CTX_get0_chain_certs(ctx,px509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) -# define SSL_CTX_clear_chain_certs(ctx) \ - SSL_CTX_set0_chain(ctx,NULL) -# define SSL_CTX_build_cert_chain(ctx, flags) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) -# define SSL_CTX_select_current_cert(ctx,x509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) -# define SSL_CTX_set_current_cert(ctx, op) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) -# define SSL_CTX_set0_verify_cert_store(ctx,st) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st)) -# define SSL_CTX_set1_verify_cert_store(ctx,st) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st)) -# define SSL_CTX_set0_chain_cert_store(ctx,st) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) -# define SSL_CTX_set1_chain_cert_store(ctx,st) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) -# define SSL_set0_chain(s,sk) \ - SSL_ctrl(s,SSL_CTRL_CHAIN,0,(char *)(sk)) -# define SSL_set1_chain(s,sk) \ - SSL_ctrl(s,SSL_CTRL_CHAIN,1,(char *)(sk)) -# define SSL_add0_chain_cert(s,x509) \ - SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) -# define SSL_add1_chain_cert(s,x509) \ - SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) -# define SSL_get0_chain_certs(s,px509) \ - SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERTS,0,px509) -# define SSL_clear_chain_certs(s) \ - SSL_set0_chain(s,NULL) -# define SSL_build_cert_chain(s, flags) \ - SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) -# define SSL_select_current_cert(s,x509) \ - SSL_ctrl(s,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) -# define SSL_set_current_cert(s,op) \ - SSL_ctrl(s,SSL_CTRL_SET_CURRENT_CERT, op, NULL) -# define SSL_set0_verify_cert_store(s,st) \ - SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st)) -# define SSL_set1_verify_cert_store(s,st) \ - SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st)) -# define SSL_set0_chain_cert_store(s,st) \ - SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) -# define SSL_set1_chain_cert_store(s,st) \ - SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) -# define SSL_get1_groups(s, glist) \ - SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist)) -# define SSL_CTX_set1_groups(ctx, glist, glistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) -# define SSL_CTX_set1_groups_list(ctx, s) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) -# define SSL_set1_groups(s, glist, glistlen) \ - SSL_ctrl(s,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) -# define SSL_set1_groups_list(s, str) \ - SSL_ctrl(s,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(str)) -# define SSL_get_shared_group(s, n) \ - SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL) -# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) -# define SSL_CTX_set1_sigalgs_list(ctx, s) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) -# define SSL_set1_sigalgs(s, slist, slistlen) \ - SSL_ctrl(s,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) -# define SSL_set1_sigalgs_list(s, str) \ - SSL_ctrl(s,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(str)) -# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) -# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) -# define SSL_set1_client_sigalgs(s, slist, slistlen) \ - SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) -# define SSL_set1_client_sigalgs_list(s, str) \ - SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(str)) -# define SSL_get0_certificate_types(s, clist) \ - SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist)) -# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen, \ - (char *)(clist)) -# define SSL_set1_client_certificate_types(s, clist, clistlen) \ - SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)(clist)) -# define SSL_get_signature_nid(s, pn) \ - SSL_ctrl(s,SSL_CTRL_GET_SIGNATURE_NID,0,pn) -# define SSL_get_peer_signature_nid(s, pn) \ - SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) -# define SSL_get_peer_tmp_key(s, pk) \ - SSL_ctrl(s,SSL_CTRL_GET_PEER_TMP_KEY,0,pk) -# define SSL_get_tmp_key(s, pk) \ - SSL_ctrl(s,SSL_CTRL_GET_TMP_KEY,0,pk) -# define SSL_get0_raw_cipherlist(s, plst) \ - SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst) -# define SSL_get0_ec_point_formats(s, plst) \ - SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,plst) -# define SSL_CTX_set_min_proto_version(ctx, version) \ - SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL) -# define SSL_CTX_set_max_proto_version(ctx, version) \ - SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL) -# define SSL_CTX_get_min_proto_version(ctx) \ - SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL) -# define SSL_CTX_get_max_proto_version(ctx) \ - SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL) -# define SSL_set_min_proto_version(s, version) \ - SSL_ctrl(s, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL) -# define SSL_set_max_proto_version(s, version) \ - SSL_ctrl(s, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL) -# define SSL_get_min_proto_version(s) \ - SSL_ctrl(s, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL) -# define SSL_get_max_proto_version(s) \ - SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL) - -/* Backwards compatibility, original 1.1.0 names */ -# define SSL_CTRL_GET_SERVER_TMP_KEY \ - SSL_CTRL_GET_PEER_TMP_KEY -# define SSL_get_server_tmp_key(s, pk) \ - SSL_get_peer_tmp_key(s, pk) - -/* - * The following symbol names are old and obsolete. They are kept - * for compatibility reasons only and should not be used anymore. - */ -# define SSL_CTRL_GET_CURVES SSL_CTRL_GET_GROUPS -# define SSL_CTRL_SET_CURVES SSL_CTRL_SET_GROUPS -# define SSL_CTRL_SET_CURVES_LIST SSL_CTRL_SET_GROUPS_LIST -# define SSL_CTRL_GET_SHARED_CURVE SSL_CTRL_GET_SHARED_GROUP - -# define SSL_get1_curves SSL_get1_groups -# define SSL_CTX_set1_curves SSL_CTX_set1_groups -# define SSL_CTX_set1_curves_list SSL_CTX_set1_groups_list -# define SSL_set1_curves SSL_set1_groups -# define SSL_set1_curves_list SSL_set1_groups_list -# define SSL_get_shared_curve SSL_get_shared_group - - -# if OPENSSL_API_COMPAT < 0x10100000L -/* Provide some compatibility macros for removed functionality. */ -# define SSL_CTX_need_tmp_RSA(ctx) 0 -# define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 -# define SSL_need_tmp_RSA(ssl) 0 -# define SSL_set_tmp_rsa(ssl,rsa) 1 -# define SSL_CTX_set_ecdh_auto(dummy, onoff) ((onoff) != 0) -# define SSL_set_ecdh_auto(dummy, onoff) ((onoff) != 0) -/* - * We "pretend" to call the callback to avoid warnings about unused static - * functions. - */ -# define SSL_CTX_set_tmp_rsa_callback(ctx, cb) while(0) (cb)(NULL, 0, 0) -# define SSL_set_tmp_rsa_callback(ssl, cb) while(0) (cb)(NULL, 0, 0) -# endif -__owur const BIO_METHOD *BIO_f_ssl(void); -__owur BIO *BIO_new_ssl(SSL_CTX *ctx, int client); -__owur BIO *BIO_new_ssl_connect(SSL_CTX *ctx); -__owur BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); -__owur int BIO_ssl_copy_session_id(BIO *to, BIO *from); -void BIO_ssl_shutdown(BIO *ssl_bio); - -__owur int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); -__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); -int SSL_CTX_up_ref(SSL_CTX *ctx); -void SSL_CTX_free(SSL_CTX *); -__owur long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); -__owur long SSL_CTX_get_timeout(const SSL_CTX *ctx); -__owur X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); -void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); -void SSL_CTX_set1_cert_store(SSL_CTX *, X509_STORE *); -__owur int SSL_want(const SSL *s); -__owur int SSL_clear(SSL *s); - -void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm); - -__owur const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); -__owur const SSL_CIPHER *SSL_get_pending_cipher(const SSL *s); -__owur int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits); -__owur const char *SSL_CIPHER_get_version(const SSL_CIPHER *c); -__owur const char *SSL_CIPHER_get_name(const SSL_CIPHER *c); -__owur const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); -__owur const char *OPENSSL_cipher_name(const char *rfc_name); -__owur uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c); -__owur uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *c); -__owur int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c); -__owur int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c); -__owur const EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c); -__owur int SSL_CIPHER_is_aead(const SSL_CIPHER *c); - -__owur int SSL_get_fd(const SSL *s); -__owur int SSL_get_rfd(const SSL *s); -__owur int SSL_get_wfd(const SSL *s); -__owur const char *SSL_get_cipher_list(const SSL *s, int n); -__owur char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size); -__owur int SSL_get_read_ahead(const SSL *s); -__owur int SSL_pending(const SSL *s); -__owur int SSL_has_pending(const SSL *s); -# ifndef OPENSSL_NO_SOCK -__owur int SSL_set_fd(SSL *s, int fd); -__owur int SSL_set_rfd(SSL *s, int fd); -__owur int SSL_set_wfd(SSL *s, int fd); -# endif -void SSL_set0_rbio(SSL *s, BIO *rbio); -void SSL_set0_wbio(SSL *s, BIO *wbio); -void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio); -__owur BIO *SSL_get_rbio(const SSL *s); -__owur BIO *SSL_get_wbio(const SSL *s); -__owur int SSL_set_cipher_list(SSL *s, const char *str); -__owur int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str); -__owur int SSL_set_ciphersuites(SSL *s, const char *str); -void SSL_set_read_ahead(SSL *s, int yes); -__owur int SSL_get_verify_mode(const SSL *s); -__owur int SSL_get_verify_depth(const SSL *s); -__owur SSL_verify_cb SSL_get_verify_callback(const SSL *s); -void SSL_set_verify(SSL *s, int mode, SSL_verify_cb callback); -void SSL_set_verify_depth(SSL *s, int depth); -void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg); -# ifndef OPENSSL_NO_RSA -__owur int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); -__owur int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const unsigned char *d, - long len); -# endif -__owur int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); -__owur int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d, - long len); -__owur int SSL_use_certificate(SSL *ssl, X509 *x); -__owur int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); -__owur int SSL_use_cert_and_key(SSL *ssl, X509 *x509, EVP_PKEY *privatekey, - STACK_OF(X509) *chain, int override); - - -/* serverinfo file format versions */ -# define SSL_SERVERINFOV1 1 -# define SSL_SERVERINFOV2 2 - -/* Set serverinfo data for the current active cert. */ -__owur int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, - size_t serverinfo_length); -__owur int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version, - const unsigned char *serverinfo, - size_t serverinfo_length); -__owur int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); - -#ifndef OPENSSL_NO_RSA -__owur int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); -#endif - -__owur int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); -__owur int SSL_use_certificate_file(SSL *ssl, const char *file, int type); - -#ifndef OPENSSL_NO_RSA -__owur int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, - int type); -#endif -__owur int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, - int type); -__owur int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, - int type); -/* PEM type */ -__owur int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); -__owur int SSL_use_certificate_chain_file(SSL *ssl, const char *file); -__owur STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); -__owur int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, - const char *file); -int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, - const char *dir); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define SSL_load_error_strings() \ - OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \ - | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) -# endif - -__owur const char *SSL_state_string(const SSL *s); -__owur const char *SSL_rstate_string(const SSL *s); -__owur const char *SSL_state_string_long(const SSL *s); -__owur const char *SSL_rstate_string_long(const SSL *s); -__owur long SSL_SESSION_get_time(const SSL_SESSION *s); -__owur long SSL_SESSION_set_time(SSL_SESSION *s, long t); -__owur long SSL_SESSION_get_timeout(const SSL_SESSION *s); -__owur long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); -__owur int SSL_SESSION_get_protocol_version(const SSL_SESSION *s); -__owur int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version); - -__owur const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s); -__owur int SSL_SESSION_set1_hostname(SSL_SESSION *s, const char *hostname); -void SSL_SESSION_get0_alpn_selected(const SSL_SESSION *s, - const unsigned char **alpn, - size_t *len); -__owur int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s, - const unsigned char *alpn, - size_t len); -__owur const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s); -__owur int SSL_SESSION_set_cipher(SSL_SESSION *s, const SSL_CIPHER *cipher); -__owur int SSL_SESSION_has_ticket(const SSL_SESSION *s); -__owur unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s); -void SSL_SESSION_get0_ticket(const SSL_SESSION *s, const unsigned char **tick, - size_t *len); -__owur uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *s); -__owur int SSL_SESSION_set_max_early_data(SSL_SESSION *s, - uint32_t max_early_data); -__owur int SSL_copy_session_id(SSL *to, const SSL *from); -__owur X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); -__owur int SSL_SESSION_set1_id_context(SSL_SESSION *s, - const unsigned char *sid_ctx, - unsigned int sid_ctx_len); -__owur int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid, - unsigned int sid_len); -__owur int SSL_SESSION_is_resumable(const SSL_SESSION *s); - -__owur SSL_SESSION *SSL_SESSION_new(void); -__owur SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src); -const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, - unsigned int *len); -const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s, - unsigned int *len); -__owur unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); -# ifndef OPENSSL_NO_STDIO -int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); -# endif -int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); -int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x); -int SSL_SESSION_up_ref(SSL_SESSION *ses); -void SSL_SESSION_free(SSL_SESSION *ses); -__owur int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); -__owur int SSL_set_session(SSL *to, SSL_SESSION *session); -int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session); -int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *session); -__owur int SSL_CTX_set_generate_session_id(SSL_CTX *ctx, GEN_SESSION_CB cb); -__owur int SSL_set_generate_session_id(SSL *s, GEN_SESSION_CB cb); -__owur int SSL_has_matching_session_id(const SSL *s, - const unsigned char *id, - unsigned int id_len); -SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, - long length); - -# ifdef HEADER_X509_H -__owur X509 *SSL_get_peer_certificate(const SSL *s); -# endif - -__owur STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); - -__owur int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); -__owur int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); -__owur SSL_verify_cb SSL_CTX_get_verify_callback(const SSL_CTX *ctx); -void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, SSL_verify_cb callback); -void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); -void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, - int (*cb) (X509_STORE_CTX *, void *), - void *arg); -void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), - void *arg); -# ifndef OPENSSL_NO_RSA -__owur int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); -__owur int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, - long len); -# endif -__owur int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); -__owur int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, - const unsigned char *d, long len); -__owur int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); -__owur int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, - const unsigned char *d); -__owur int SSL_CTX_use_cert_and_key(SSL_CTX *ctx, X509 *x509, EVP_PKEY *privatekey, - STACK_OF(X509) *chain, int override); - -void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); -void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); -pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx); -void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx); -void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb); -void SSL_set_default_passwd_cb_userdata(SSL *s, void *u); -pem_password_cb *SSL_get_default_passwd_cb(SSL *s); -void *SSL_get_default_passwd_cb_userdata(SSL *s); - -__owur int SSL_CTX_check_private_key(const SSL_CTX *ctx); -__owur int SSL_check_private_key(const SSL *ctx); - -__owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx, - const unsigned char *sid_ctx, - unsigned int sid_ctx_len); - -SSL *SSL_new(SSL_CTX *ctx); -int SSL_up_ref(SSL *s); -int SSL_is_dtls(const SSL *s); -__owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx, - unsigned int sid_ctx_len); - -__owur int SSL_CTX_set_purpose(SSL_CTX *ctx, int purpose); -__owur int SSL_set_purpose(SSL *ssl, int purpose); -__owur int SSL_CTX_set_trust(SSL_CTX *ctx, int trust); -__owur int SSL_set_trust(SSL *ssl, int trust); - -__owur int SSL_set1_host(SSL *s, const char *hostname); -__owur int SSL_add1_host(SSL *s, const char *hostname); -__owur const char *SSL_get0_peername(SSL *s); -void SSL_set_hostflags(SSL *s, unsigned int flags); - -__owur int SSL_CTX_dane_enable(SSL_CTX *ctx); -__owur int SSL_CTX_dane_mtype_set(SSL_CTX *ctx, const EVP_MD *md, - uint8_t mtype, uint8_t ord); -__owur int SSL_dane_enable(SSL *s, const char *basedomain); -__owur int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector, - uint8_t mtype, unsigned const char *data, size_t dlen); -__owur int SSL_get0_dane_authority(SSL *s, X509 **mcert, EVP_PKEY **mspki); -__owur int SSL_get0_dane_tlsa(SSL *s, uint8_t *usage, uint8_t *selector, - uint8_t *mtype, unsigned const char **data, - size_t *dlen); -/* - * Bridge opacity barrier between libcrypt and libssl, also needed to support - * offline testing in test/danetest.c - */ -SSL_DANE *SSL_get0_dane(SSL *ssl); -/* - * DANE flags - */ -unsigned long SSL_CTX_dane_set_flags(SSL_CTX *ctx, unsigned long flags); -unsigned long SSL_CTX_dane_clear_flags(SSL_CTX *ctx, unsigned long flags); -unsigned long SSL_dane_set_flags(SSL *ssl, unsigned long flags); -unsigned long SSL_dane_clear_flags(SSL *ssl, unsigned long flags); - -__owur int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); -__owur int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); - -__owur X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); -__owur X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); - -# ifndef OPENSSL_NO_SRP -int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name); -int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password); -int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); -int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, - char *(*cb) (SSL *, void *)); -int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, - int (*cb) (SSL *, void *)); -int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, - int (*cb) (SSL *, int *, void *)); -int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); - -int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, - BIGNUM *sa, BIGNUM *v, char *info); -int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, - const char *grp); - -__owur BIGNUM *SSL_get_srp_g(SSL *s); -__owur BIGNUM *SSL_get_srp_N(SSL *s); - -__owur char *SSL_get_srp_username(SSL *s); -__owur char *SSL_get_srp_userinfo(SSL *s); -# endif - -/* - * ClientHello callback and helpers. - */ - -# define SSL_CLIENT_HELLO_SUCCESS 1 -# define SSL_CLIENT_HELLO_ERROR 0 -# define SSL_CLIENT_HELLO_RETRY (-1) - -typedef int (*SSL_client_hello_cb_fn) (SSL *s, int *al, void *arg); -void SSL_CTX_set_client_hello_cb(SSL_CTX *c, SSL_client_hello_cb_fn cb, - void *arg); -int SSL_client_hello_isv2(SSL *s); -unsigned int SSL_client_hello_get0_legacy_version(SSL *s); -size_t SSL_client_hello_get0_random(SSL *s, const unsigned char **out); -size_t SSL_client_hello_get0_session_id(SSL *s, const unsigned char **out); -size_t SSL_client_hello_get0_ciphers(SSL *s, const unsigned char **out); -size_t SSL_client_hello_get0_compression_methods(SSL *s, - const unsigned char **out); -int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t *outlen); -int SSL_client_hello_get0_ext(SSL *s, unsigned int type, - const unsigned char **out, size_t *outlen); - -void SSL_certs_clear(SSL *s); -void SSL_free(SSL *ssl); -# ifdef OSSL_ASYNC_FD -/* - * Windows application developer has to include windows.h to use these. - */ -__owur int SSL_waiting_for_async(SSL *s); -__owur int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds); -__owur int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, - size_t *numaddfds, OSSL_ASYNC_FD *delfd, - size_t *numdelfds); -# endif -__owur int SSL_accept(SSL *ssl); -__owur int SSL_stateless(SSL *s); -__owur int SSL_connect(SSL *ssl); -__owur int SSL_read(SSL *ssl, void *buf, int num); -__owur int SSL_read_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); - -# define SSL_READ_EARLY_DATA_ERROR 0 -# define SSL_READ_EARLY_DATA_SUCCESS 1 -# define SSL_READ_EARLY_DATA_FINISH 2 - -__owur int SSL_read_early_data(SSL *s, void *buf, size_t num, - size_t *readbytes); -__owur int SSL_peek(SSL *ssl, void *buf, int num); -__owur int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); -__owur int SSL_write(SSL *ssl, const void *buf, int num); -__owur int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written); -__owur int SSL_write_early_data(SSL *s, const void *buf, size_t num, - size_t *written); -long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg); -long SSL_callback_ctrl(SSL *, int, void (*)(void)); -long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg); -long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void)); - -# define SSL_EARLY_DATA_NOT_SENT 0 -# define SSL_EARLY_DATA_REJECTED 1 -# define SSL_EARLY_DATA_ACCEPTED 2 - -__owur int SSL_get_early_data_status(const SSL *s); - -__owur int SSL_get_error(const SSL *s, int ret_code); -__owur const char *SSL_get_version(const SSL *s); - -/* This sets the 'default' SSL version that SSL_new() will create */ -__owur int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); - -# ifndef OPENSSL_NO_SSL3_METHOD -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_method(void)) /* SSLv3 */ -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_server_method(void)) -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_client_method(void)) -# endif - -#define SSLv23_method TLS_method -#define SSLv23_server_method TLS_server_method -#define SSLv23_client_method TLS_client_method - -/* Negotiate highest available SSL/TLS version */ -__owur const SSL_METHOD *TLS_method(void); -__owur const SSL_METHOD *TLS_server_method(void); -__owur const SSL_METHOD *TLS_client_method(void); - -# ifndef OPENSSL_NO_TLS1_METHOD -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */ -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void)) -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void)) -# endif - -# ifndef OPENSSL_NO_TLS1_1_METHOD -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /* TLSv1.1 */ -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_server_method(void)) -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void)) -# endif - -# ifndef OPENSSL_NO_TLS1_2_METHOD -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */ -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_server_method(void)) -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void)) -# endif - -# ifndef OPENSSL_NO_DTLS1_METHOD -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */ -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_server_method(void)) -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_client_method(void)) -# endif - -# ifndef OPENSSL_NO_DTLS1_2_METHOD -/* DTLSv1.2 */ -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_method(void)) -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_server_method(void)) -DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_2_client_method(void)) -# endif - -__owur const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */ -__owur const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */ -__owur const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */ - -__owur size_t DTLS_get_data_mtu(const SSL *s); - -__owur STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); -__owur STACK_OF(SSL_CIPHER) *SSL_CTX_get_ciphers(const SSL_CTX *ctx); -__owur STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s); -__owur STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s); - -__owur int SSL_do_handshake(SSL *s); -int SSL_key_update(SSL *s, int updatetype); -int SSL_get_key_update_type(const SSL *s); -int SSL_renegotiate(SSL *s); -int SSL_renegotiate_abbreviated(SSL *s); -__owur int SSL_renegotiate_pending(const SSL *s); -int SSL_shutdown(SSL *s); -__owur int SSL_verify_client_post_handshake(SSL *s); -void SSL_CTX_set_post_handshake_auth(SSL_CTX *ctx, int val); -void SSL_set_post_handshake_auth(SSL *s, int val); - -__owur const SSL_METHOD *SSL_CTX_get_ssl_method(const SSL_CTX *ctx); -__owur const SSL_METHOD *SSL_get_ssl_method(const SSL *s); -__owur int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); -__owur const char *SSL_alert_type_string_long(int value); -__owur const char *SSL_alert_type_string(int value); -__owur const char *SSL_alert_desc_string_long(int value); -__owur const char *SSL_alert_desc_string(int value); - -void SSL_set0_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); -void SSL_CTX_set0_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); -__owur const STACK_OF(X509_NAME) *SSL_get0_CA_list(const SSL *s); -__owur const STACK_OF(X509_NAME) *SSL_CTX_get0_CA_list(const SSL_CTX *ctx); -__owur int SSL_add1_to_CA_list(SSL *ssl, const X509 *x); -__owur int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x); -__owur const STACK_OF(X509_NAME) *SSL_get0_peer_CA_list(const SSL *s); - -void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); -void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); -__owur STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); -__owur STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); -__owur int SSL_add_client_CA(SSL *ssl, X509 *x); -__owur int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); - -void SSL_set_connect_state(SSL *s); -void SSL_set_accept_state(SSL *s); - -__owur long SSL_get_default_timeout(const SSL *s); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define SSL_library_init() OPENSSL_init_ssl(0, NULL) -# endif - -__owur char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); -__owur STACK_OF(X509_NAME) *SSL_dup_CA_list(const STACK_OF(X509_NAME) *sk); - -__owur SSL *SSL_dup(SSL *ssl); - -__owur X509 *SSL_get_certificate(const SSL *ssl); -/* - * EVP_PKEY - */ -struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); - -__owur X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); -__owur EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); - -void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); -__owur int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); -void SSL_set_quiet_shutdown(SSL *ssl, int mode); -__owur int SSL_get_quiet_shutdown(const SSL *ssl); -void SSL_set_shutdown(SSL *ssl, int mode); -__owur int SSL_get_shutdown(const SSL *ssl); -__owur int SSL_version(const SSL *ssl); -__owur int SSL_client_version(const SSL *s); -__owur int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); -__owur int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx); -__owur int SSL_CTX_set_default_verify_file(SSL_CTX *ctx); -__owur int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, - const char *CApath); -# define SSL_get0_session SSL_get_session/* just peek at pointer */ -__owur SSL_SESSION *SSL_get_session(const SSL *ssl); -__owur SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ -__owur SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); -SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx); -void SSL_set_info_callback(SSL *ssl, - void (*cb) (const SSL *ssl, int type, int val)); -void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type, - int val); -__owur OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl); - -void SSL_set_verify_result(SSL *ssl, long v); -__owur long SSL_get_verify_result(const SSL *ssl); -__owur STACK_OF(X509) *SSL_get0_verified_chain(const SSL *s); - -__owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out, - size_t outlen); -__owur size_t SSL_get_server_random(const SSL *ssl, unsigned char *out, - size_t outlen); -__owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *sess, - unsigned char *out, size_t outlen); -__owur int SSL_SESSION_set1_master_key(SSL_SESSION *sess, - const unsigned char *in, size_t len); -uint8_t SSL_SESSION_get_max_fragment_length(const SSL_SESSION *sess); - -#define SSL_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, l, p, newf, dupf, freef) -__owur int SSL_set_ex_data(SSL *ssl, int idx, void *data); -void *SSL_get_ex_data(const SSL *ssl, int idx); -#define SSL_SESSION_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, l, p, newf, dupf, freef) -__owur int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); -void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx); -#define SSL_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX, l, p, newf, dupf, freef) -__owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data); -void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx); - -__owur int SSL_get_ex_data_X509_STORE_CTX_idx(void); - -# define SSL_CTX_sess_set_cache_size(ctx,t) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL) -# define SSL_CTX_sess_get_cache_size(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL) -# define SSL_CTX_set_session_cache_mode(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL) -# define SSL_CTX_get_session_cache_mode(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL) - -# define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx) -# define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m) -# define SSL_CTX_get_read_ahead(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL) -# define SSL_CTX_set_read_ahead(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL) -# define SSL_CTX_get_max_cert_list(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) -# define SSL_CTX_set_max_cert_list(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) -# define SSL_get_max_cert_list(ssl) \ - SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) -# define SSL_set_max_cert_list(ssl,m) \ - SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) - -# define SSL_CTX_set_max_send_fragment(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) -# define SSL_set_max_send_fragment(ssl,m) \ - SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) -# define SSL_CTX_set_split_send_fragment(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL) -# define SSL_set_split_send_fragment(ssl,m) \ - SSL_ctrl(ssl,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL) -# define SSL_CTX_set_max_pipelines(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_PIPELINES,m,NULL) -# define SSL_set_max_pipelines(ssl,m) \ - SSL_ctrl(ssl,SSL_CTRL_SET_MAX_PIPELINES,m,NULL) - -void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len); -void SSL_set_default_read_buffer_len(SSL *s, size_t len); - -# ifndef OPENSSL_NO_DH -/* NB: the |keylength| is only applicable when is_export is true */ -void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, - DH *(*dh) (SSL *ssl, int is_export, - int keylength)); -void SSL_set_tmp_dh_callback(SSL *ssl, - DH *(*dh) (SSL *ssl, int is_export, - int keylength)); -# endif - -__owur const COMP_METHOD *SSL_get_current_compression(const SSL *s); -__owur const COMP_METHOD *SSL_get_current_expansion(const SSL *s); -__owur const char *SSL_COMP_get_name(const COMP_METHOD *comp); -__owur const char *SSL_COMP_get0_name(const SSL_COMP *comp); -__owur int SSL_COMP_get_id(const SSL_COMP *comp); -STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); -__owur STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) - *meths); -# if OPENSSL_API_COMPAT < 0x10100000L -# define SSL_COMP_free_compression_methods() while(0) continue -# endif -__owur int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); - -const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); -int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c); -int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c); -int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t len, - int isv2format, STACK_OF(SSL_CIPHER) **sk, - STACK_OF(SSL_CIPHER) **scsvs); - -/* TLS extensions functions */ -__owur int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); - -__owur int SSL_set_session_ticket_ext_cb(SSL *s, - tls_session_ticket_ext_cb_fn cb, - void *arg); - -/* Pre-shared secret session resumption functions */ -__owur int SSL_set_session_secret_cb(SSL *s, - tls_session_secret_cb_fn session_secret_cb, - void *arg); - -void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx, - int (*cb) (SSL *ssl, - int - is_forward_secure)); - -void SSL_set_not_resumable_session_callback(SSL *ssl, - int (*cb) (SSL *ssl, - int is_forward_secure)); - -void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx, - size_t (*cb) (SSL *ssl, int type, - size_t len, void *arg)); -void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg); -void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx); -int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size); - -void SSL_set_record_padding_callback(SSL *ssl, - size_t (*cb) (SSL *ssl, int type, - size_t len, void *arg)); -void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg); -void *SSL_get_record_padding_callback_arg(const SSL *ssl); -int SSL_set_block_padding(SSL *ssl, size_t block_size); - -int SSL_set_num_tickets(SSL *s, size_t num_tickets); -size_t SSL_get_num_tickets(const SSL *s); -int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets); -size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define SSL_cache_hit(s) SSL_session_reused(s) -# endif - -__owur int SSL_session_reused(const SSL *s); -__owur int SSL_is_server(const SSL *s); - -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); -int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); -void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); -unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); -__owur unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, - unsigned int flags); -__owur int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre); - -void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl); -void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx); - -__owur int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); -__owur int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv); -__owur int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); - -void SSL_add_ssl_module(void); -int SSL_config(SSL *s, const char *name); -int SSL_CTX_config(SSL_CTX *ctx, const char *name); - -# ifndef OPENSSL_NO_SSL_TRACE -void SSL_trace(int write_p, int version, int content_type, - const void *buf, size_t len, SSL *ssl, void *arg); -# endif - -# ifndef OPENSSL_NO_SOCK -int DTLSv1_listen(SSL *s, BIO_ADDR *client); -# endif - -# ifndef OPENSSL_NO_CT - -/* - * A callback for verifying that the received SCTs are sufficient. - * Expected to return 1 if they are sufficient, otherwise 0. - * May return a negative integer if an error occurs. - * A connection should be aborted if the SCTs are deemed insufficient. - */ -typedef int (*ssl_ct_validation_cb)(const CT_POLICY_EVAL_CTX *ctx, - const STACK_OF(SCT) *scts, void *arg); - -/* - * Sets a |callback| that is invoked upon receipt of ServerHelloDone to validate - * the received SCTs. - * If the callback returns a non-positive result, the connection is terminated. - * Call this function before beginning a handshake. - * If a NULL |callback| is provided, SCT validation is disabled. - * |arg| is arbitrary userdata that will be passed to the callback whenever it - * is invoked. Ownership of |arg| remains with the caller. - * - * NOTE: A side-effect of setting a CT callback is that an OCSP stapled response - * will be requested. - */ -int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback, - void *arg); -int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx, - ssl_ct_validation_cb callback, - void *arg); -#define SSL_disable_ct(s) \ - ((void) SSL_set_validation_callback((s), NULL, NULL)) -#define SSL_CTX_disable_ct(ctx) \ - ((void) SSL_CTX_set_validation_callback((ctx), NULL, NULL)) - -/* - * The validation type enumerates the available behaviours of the built-in SSL - * CT validation callback selected via SSL_enable_ct() and SSL_CTX_enable_ct(). - * The underlying callback is a static function in libssl. - */ -enum { - SSL_CT_VALIDATION_PERMISSIVE = 0, - SSL_CT_VALIDATION_STRICT -}; - -/* - * Enable CT by setting up a callback that implements one of the built-in - * validation variants. The SSL_CT_VALIDATION_PERMISSIVE variant always - * continues the handshake, the application can make appropriate decisions at - * handshake completion. The SSL_CT_VALIDATION_STRICT variant requires at - * least one valid SCT, or else handshake termination will be requested. The - * handshake may continue anyway if SSL_VERIFY_NONE is in effect. - */ -int SSL_enable_ct(SSL *s, int validation_mode); -int SSL_CTX_enable_ct(SSL_CTX *ctx, int validation_mode); - -/* - * Report whether a non-NULL callback is enabled. - */ -int SSL_ct_is_enabled(const SSL *s); -int SSL_CTX_ct_is_enabled(const SSL_CTX *ctx); - -/* Gets the SCTs received from a connection */ -const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s); - -/* - * Loads the CT log list from the default location. - * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store, - * the log information loaded from this file will be appended to the - * CTLOG_STORE. - * Returns 1 on success, 0 otherwise. - */ -int SSL_CTX_set_default_ctlog_list_file(SSL_CTX *ctx); - -/* - * Loads the CT log list from the specified file path. - * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store, - * the log information loaded from this file will be appended to the - * CTLOG_STORE. - * Returns 1 on success, 0 otherwise. - */ -int SSL_CTX_set_ctlog_list_file(SSL_CTX *ctx, const char *path); - -/* - * Sets the CT log list used by all SSL connections created from this SSL_CTX. - * Ownership of the CTLOG_STORE is transferred to the SSL_CTX. - */ -void SSL_CTX_set0_ctlog_store(SSL_CTX *ctx, CTLOG_STORE *logs); - -/* - * Gets the CT log list used by all SSL connections created from this SSL_CTX. - * This will be NULL unless one of the following functions has been called: - * - SSL_CTX_set_default_ctlog_list_file - * - SSL_CTX_set_ctlog_list_file - * - SSL_CTX_set_ctlog_store - */ -const CTLOG_STORE *SSL_CTX_get0_ctlog_store(const SSL_CTX *ctx); - -# endif /* OPENSSL_NO_CT */ - -/* What the "other" parameter contains in security callback */ -/* Mask for type */ -# define SSL_SECOP_OTHER_TYPE 0xffff0000 -# define SSL_SECOP_OTHER_NONE 0 -# define SSL_SECOP_OTHER_CIPHER (1 << 16) -# define SSL_SECOP_OTHER_CURVE (2 << 16) -# define SSL_SECOP_OTHER_DH (3 << 16) -# define SSL_SECOP_OTHER_PKEY (4 << 16) -# define SSL_SECOP_OTHER_SIGALG (5 << 16) -# define SSL_SECOP_OTHER_CERT (6 << 16) - -/* Indicated operation refers to peer key or certificate */ -# define SSL_SECOP_PEER 0x1000 - -/* Values for "op" parameter in security callback */ - -/* Called to filter ciphers */ -/* Ciphers client supports */ -# define SSL_SECOP_CIPHER_SUPPORTED (1 | SSL_SECOP_OTHER_CIPHER) -/* Cipher shared by client/server */ -# define SSL_SECOP_CIPHER_SHARED (2 | SSL_SECOP_OTHER_CIPHER) -/* Sanity check of cipher server selects */ -# define SSL_SECOP_CIPHER_CHECK (3 | SSL_SECOP_OTHER_CIPHER) -/* Curves supported by client */ -# define SSL_SECOP_CURVE_SUPPORTED (4 | SSL_SECOP_OTHER_CURVE) -/* Curves shared by client/server */ -# define SSL_SECOP_CURVE_SHARED (5 | SSL_SECOP_OTHER_CURVE) -/* Sanity check of curve server selects */ -# define SSL_SECOP_CURVE_CHECK (6 | SSL_SECOP_OTHER_CURVE) -/* Temporary DH key */ -# define SSL_SECOP_TMP_DH (7 | SSL_SECOP_OTHER_PKEY) -/* SSL/TLS version */ -# define SSL_SECOP_VERSION (9 | SSL_SECOP_OTHER_NONE) -/* Session tickets */ -# define SSL_SECOP_TICKET (10 | SSL_SECOP_OTHER_NONE) -/* Supported signature algorithms sent to peer */ -# define SSL_SECOP_SIGALG_SUPPORTED (11 | SSL_SECOP_OTHER_SIGALG) -/* Shared signature algorithm */ -# define SSL_SECOP_SIGALG_SHARED (12 | SSL_SECOP_OTHER_SIGALG) -/* Sanity check signature algorithm allowed */ -# define SSL_SECOP_SIGALG_CHECK (13 | SSL_SECOP_OTHER_SIGALG) -/* Used to get mask of supported public key signature algorithms */ -# define SSL_SECOP_SIGALG_MASK (14 | SSL_SECOP_OTHER_SIGALG) -/* Use to see if compression is allowed */ -# define SSL_SECOP_COMPRESSION (15 | SSL_SECOP_OTHER_NONE) -/* EE key in certificate */ -# define SSL_SECOP_EE_KEY (16 | SSL_SECOP_OTHER_CERT) -/* CA key in certificate */ -# define SSL_SECOP_CA_KEY (17 | SSL_SECOP_OTHER_CERT) -/* CA digest algorithm in certificate */ -# define SSL_SECOP_CA_MD (18 | SSL_SECOP_OTHER_CERT) -/* Peer EE key in certificate */ -# define SSL_SECOP_PEER_EE_KEY (SSL_SECOP_EE_KEY | SSL_SECOP_PEER) -/* Peer CA key in certificate */ -# define SSL_SECOP_PEER_CA_KEY (SSL_SECOP_CA_KEY | SSL_SECOP_PEER) -/* Peer CA digest algorithm in certificate */ -# define SSL_SECOP_PEER_CA_MD (SSL_SECOP_CA_MD | SSL_SECOP_PEER) - -void SSL_set_security_level(SSL *s, int level); -__owur int SSL_get_security_level(const SSL *s); -void SSL_set_security_callback(SSL *s, - int (*cb) (const SSL *s, const SSL_CTX *ctx, - int op, int bits, int nid, - void *other, void *ex)); -int (*SSL_get_security_callback(const SSL *s)) (const SSL *s, - const SSL_CTX *ctx, int op, - int bits, int nid, void *other, - void *ex); -void SSL_set0_security_ex_data(SSL *s, void *ex); -__owur void *SSL_get0_security_ex_data(const SSL *s); - -void SSL_CTX_set_security_level(SSL_CTX *ctx, int level); -__owur int SSL_CTX_get_security_level(const SSL_CTX *ctx); -void SSL_CTX_set_security_callback(SSL_CTX *ctx, - int (*cb) (const SSL *s, const SSL_CTX *ctx, - int op, int bits, int nid, - void *other, void *ex)); -int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL *s, - const SSL_CTX *ctx, - int op, int bits, - int nid, - void *other, - void *ex); -void SSL_CTX_set0_security_ex_data(SSL_CTX *ctx, void *ex); -__owur void *SSL_CTX_get0_security_ex_data(const SSL_CTX *ctx); - -/* OPENSSL_INIT flag 0x010000 reserved for internal use */ -# define OPENSSL_INIT_NO_LOAD_SSL_STRINGS 0x00100000L -# define OPENSSL_INIT_LOAD_SSL_STRINGS 0x00200000L - -# define OPENSSL_INIT_SSL_DEFAULT \ - (OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS) - -int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); - -# ifndef OPENSSL_NO_UNIT_TEST -__owur const struct openssl_ssl_test_functions *SSL_test_functions(void); -# endif - -__owur int SSL_free_buffers(SSL *ssl); -__owur int SSL_alloc_buffers(SSL *ssl); - -/* Status codes passed to the decrypt session ticket callback. Some of these - * are for internal use only and are never passed to the callback. */ -typedef int SSL_TICKET_STATUS; - -/* Support for ticket appdata */ -/* fatal error, malloc failure */ -# define SSL_TICKET_FATAL_ERR_MALLOC 0 -/* fatal error, either from parsing or decrypting the ticket */ -# define SSL_TICKET_FATAL_ERR_OTHER 1 -/* No ticket present */ -# define SSL_TICKET_NONE 2 -/* Empty ticket present */ -# define SSL_TICKET_EMPTY 3 -/* the ticket couldn't be decrypted */ -# define SSL_TICKET_NO_DECRYPT 4 -/* a ticket was successfully decrypted */ -# define SSL_TICKET_SUCCESS 5 -/* same as above but the ticket needs to be renewed */ -# define SSL_TICKET_SUCCESS_RENEW 6 - -/* Return codes for the decrypt session ticket callback */ -typedef int SSL_TICKET_RETURN; - -/* An error occurred */ -#define SSL_TICKET_RETURN_ABORT 0 -/* Do not use the ticket, do not send a renewed ticket to the client */ -#define SSL_TICKET_RETURN_IGNORE 1 -/* Do not use the ticket, send a renewed ticket to the client */ -#define SSL_TICKET_RETURN_IGNORE_RENEW 2 -/* Use the ticket, do not send a renewed ticket to the client */ -#define SSL_TICKET_RETURN_USE 3 -/* Use the ticket, send a renewed ticket to the client */ -#define SSL_TICKET_RETURN_USE_RENEW 4 - -typedef int (*SSL_CTX_generate_session_ticket_fn)(SSL *s, void *arg); -typedef SSL_TICKET_RETURN (*SSL_CTX_decrypt_session_ticket_fn)(SSL *s, SSL_SESSION *ss, - const unsigned char *keyname, - size_t keyname_length, - SSL_TICKET_STATUS status, - void *arg); -int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx, - SSL_CTX_generate_session_ticket_fn gen_cb, - SSL_CTX_decrypt_session_ticket_fn dec_cb, - void *arg); -int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data, size_t len); -int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len); - -extern const char SSL_version_str[]; - -typedef unsigned int (*DTLS_timer_cb)(SSL *s, unsigned int timer_us); - -void DTLS_set_timer_cb(SSL *s, DTLS_timer_cb cb); - - -typedef int (*SSL_allow_early_data_cb_fn)(SSL *s, void *arg); -void SSL_CTX_set_allow_early_data_cb(SSL_CTX *ctx, - SSL_allow_early_data_cb_fn cb, - void *arg); -void SSL_set_allow_early_data_cb(SSL *s, - SSL_allow_early_data_cb_fn cb, - void *arg); - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/ssl2.h b/deps/openssl/include/openssl/ssl2.h deleted file mode 100644 index 5321bd27..00000000 --- a/deps/openssl/include/openssl/ssl2.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_SSL2_H -# define HEADER_SSL2_H - -#ifdef __cplusplus -extern "C" { -#endif - -# define SSL2_VERSION 0x0002 - -# define SSL2_MT_CLIENT_HELLO 1 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/ssl3.h b/deps/openssl/include/openssl/ssl3.h deleted file mode 100644 index 8d01fcc4..00000000 --- a/deps/openssl/include/openssl/ssl3.h +++ /dev/null @@ -1,339 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_SSL3_H -# define HEADER_SSL3_H - -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Signalling cipher suite value from RFC 5746 - * (TLS_EMPTY_RENEGOTIATION_INFO_SCSV) - */ -# define SSL3_CK_SCSV 0x030000FF - -/* - * Signalling cipher suite value from draft-ietf-tls-downgrade-scsv-00 - * (TLS_FALLBACK_SCSV) - */ -# define SSL3_CK_FALLBACK_SCSV 0x03005600 - -# define SSL3_CK_RSA_NULL_MD5 0x03000001 -# define SSL3_CK_RSA_NULL_SHA 0x03000002 -# define SSL3_CK_RSA_RC4_40_MD5 0x03000003 -# define SSL3_CK_RSA_RC4_128_MD5 0x03000004 -# define SSL3_CK_RSA_RC4_128_SHA 0x03000005 -# define SSL3_CK_RSA_RC2_40_MD5 0x03000006 -# define SSL3_CK_RSA_IDEA_128_SHA 0x03000007 -# define SSL3_CK_RSA_DES_40_CBC_SHA 0x03000008 -# define SSL3_CK_RSA_DES_64_CBC_SHA 0x03000009 -# define SSL3_CK_RSA_DES_192_CBC3_SHA 0x0300000A - -# define SSL3_CK_DH_DSS_DES_40_CBC_SHA 0x0300000B -# define SSL3_CK_DH_DSS_DES_64_CBC_SHA 0x0300000C -# define SSL3_CK_DH_DSS_DES_192_CBC3_SHA 0x0300000D -# define SSL3_CK_DH_RSA_DES_40_CBC_SHA 0x0300000E -# define SSL3_CK_DH_RSA_DES_64_CBC_SHA 0x0300000F -# define SSL3_CK_DH_RSA_DES_192_CBC3_SHA 0x03000010 - -# define SSL3_CK_DHE_DSS_DES_40_CBC_SHA 0x03000011 -# define SSL3_CK_EDH_DSS_DES_40_CBC_SHA SSL3_CK_DHE_DSS_DES_40_CBC_SHA -# define SSL3_CK_DHE_DSS_DES_64_CBC_SHA 0x03000012 -# define SSL3_CK_EDH_DSS_DES_64_CBC_SHA SSL3_CK_DHE_DSS_DES_64_CBC_SHA -# define SSL3_CK_DHE_DSS_DES_192_CBC3_SHA 0x03000013 -# define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA SSL3_CK_DHE_DSS_DES_192_CBC3_SHA -# define SSL3_CK_DHE_RSA_DES_40_CBC_SHA 0x03000014 -# define SSL3_CK_EDH_RSA_DES_40_CBC_SHA SSL3_CK_DHE_RSA_DES_40_CBC_SHA -# define SSL3_CK_DHE_RSA_DES_64_CBC_SHA 0x03000015 -# define SSL3_CK_EDH_RSA_DES_64_CBC_SHA SSL3_CK_DHE_RSA_DES_64_CBC_SHA -# define SSL3_CK_DHE_RSA_DES_192_CBC3_SHA 0x03000016 -# define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA SSL3_CK_DHE_RSA_DES_192_CBC3_SHA - -# define SSL3_CK_ADH_RC4_40_MD5 0x03000017 -# define SSL3_CK_ADH_RC4_128_MD5 0x03000018 -# define SSL3_CK_ADH_DES_40_CBC_SHA 0x03000019 -# define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A -# define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B - -/* a bundle of RFC standard cipher names, generated from ssl3_ciphers[] */ -# define SSL3_RFC_RSA_NULL_MD5 "TLS_RSA_WITH_NULL_MD5" -# define SSL3_RFC_RSA_NULL_SHA "TLS_RSA_WITH_NULL_SHA" -# define SSL3_RFC_RSA_DES_192_CBC3_SHA "TLS_RSA_WITH_3DES_EDE_CBC_SHA" -# define SSL3_RFC_DHE_DSS_DES_192_CBC3_SHA "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" -# define SSL3_RFC_DHE_RSA_DES_192_CBC3_SHA "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA" -# define SSL3_RFC_ADH_DES_192_CBC_SHA "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA" -# define SSL3_RFC_RSA_IDEA_128_SHA "TLS_RSA_WITH_IDEA_CBC_SHA" -# define SSL3_RFC_RSA_RC4_128_MD5 "TLS_RSA_WITH_RC4_128_MD5" -# define SSL3_RFC_RSA_RC4_128_SHA "TLS_RSA_WITH_RC4_128_SHA" -# define SSL3_RFC_ADH_RC4_128_MD5 "TLS_DH_anon_WITH_RC4_128_MD5" - -# define SSL3_TXT_RSA_NULL_MD5 "NULL-MD5" -# define SSL3_TXT_RSA_NULL_SHA "NULL-SHA" -# define SSL3_TXT_RSA_RC4_40_MD5 "EXP-RC4-MD5" -# define SSL3_TXT_RSA_RC4_128_MD5 "RC4-MD5" -# define SSL3_TXT_RSA_RC4_128_SHA "RC4-SHA" -# define SSL3_TXT_RSA_RC2_40_MD5 "EXP-RC2-CBC-MD5" -# define SSL3_TXT_RSA_IDEA_128_SHA "IDEA-CBC-SHA" -# define SSL3_TXT_RSA_DES_40_CBC_SHA "EXP-DES-CBC-SHA" -# define SSL3_TXT_RSA_DES_64_CBC_SHA "DES-CBC-SHA" -# define SSL3_TXT_RSA_DES_192_CBC3_SHA "DES-CBC3-SHA" - -# define SSL3_TXT_DH_DSS_DES_40_CBC_SHA "EXP-DH-DSS-DES-CBC-SHA" -# define SSL3_TXT_DH_DSS_DES_64_CBC_SHA "DH-DSS-DES-CBC-SHA" -# define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA "DH-DSS-DES-CBC3-SHA" -# define SSL3_TXT_DH_RSA_DES_40_CBC_SHA "EXP-DH-RSA-DES-CBC-SHA" -# define SSL3_TXT_DH_RSA_DES_64_CBC_SHA "DH-RSA-DES-CBC-SHA" -# define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA "DH-RSA-DES-CBC3-SHA" - -# define SSL3_TXT_DHE_DSS_DES_40_CBC_SHA "EXP-DHE-DSS-DES-CBC-SHA" -# define SSL3_TXT_DHE_DSS_DES_64_CBC_SHA "DHE-DSS-DES-CBC-SHA" -# define SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA "DHE-DSS-DES-CBC3-SHA" -# define SSL3_TXT_DHE_RSA_DES_40_CBC_SHA "EXP-DHE-RSA-DES-CBC-SHA" -# define SSL3_TXT_DHE_RSA_DES_64_CBC_SHA "DHE-RSA-DES-CBC-SHA" -# define SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA "DHE-RSA-DES-CBC3-SHA" - -/* - * This next block of six "EDH" labels is for backward compatibility with - * older versions of OpenSSL. New code should use the six "DHE" labels above - * instead: - */ -# define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA "EXP-EDH-DSS-DES-CBC-SHA" -# define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA "EDH-DSS-DES-CBC-SHA" -# define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA "EDH-DSS-DES-CBC3-SHA" -# define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA "EXP-EDH-RSA-DES-CBC-SHA" -# define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA "EDH-RSA-DES-CBC-SHA" -# define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA "EDH-RSA-DES-CBC3-SHA" - -# define SSL3_TXT_ADH_RC4_40_MD5 "EXP-ADH-RC4-MD5" -# define SSL3_TXT_ADH_RC4_128_MD5 "ADH-RC4-MD5" -# define SSL3_TXT_ADH_DES_40_CBC_SHA "EXP-ADH-DES-CBC-SHA" -# define SSL3_TXT_ADH_DES_64_CBC_SHA "ADH-DES-CBC-SHA" -# define SSL3_TXT_ADH_DES_192_CBC_SHA "ADH-DES-CBC3-SHA" - -# define SSL3_SSL_SESSION_ID_LENGTH 32 -# define SSL3_MAX_SSL_SESSION_ID_LENGTH 32 - -# define SSL3_MASTER_SECRET_SIZE 48 -# define SSL3_RANDOM_SIZE 32 -# define SSL3_SESSION_ID_SIZE 32 -# define SSL3_RT_HEADER_LENGTH 5 - -# define SSL3_HM_HEADER_LENGTH 4 - -# ifndef SSL3_ALIGN_PAYLOAD - /* - * Some will argue that this increases memory footprint, but it's not - * actually true. Point is that malloc has to return at least 64-bit aligned - * pointers, meaning that allocating 5 bytes wastes 3 bytes in either case. - * Suggested pre-gaping simply moves these wasted bytes from the end of - * allocated region to its front, but makes data payload aligned, which - * improves performance:-) - */ -# define SSL3_ALIGN_PAYLOAD 8 -# else -# if (SSL3_ALIGN_PAYLOAD&(SSL3_ALIGN_PAYLOAD-1))!=0 -# error "insane SSL3_ALIGN_PAYLOAD" -# undef SSL3_ALIGN_PAYLOAD -# endif -# endif - -/* - * This is the maximum MAC (digest) size used by the SSL library. Currently - * maximum of 20 is used by SHA1, but we reserve for future extension for - * 512-bit hashes. - */ - -# define SSL3_RT_MAX_MD_SIZE 64 - -/* - * Maximum block size used in all ciphersuites. Currently 16 for AES. - */ - -# define SSL_RT_MAX_CIPHER_BLOCK_SIZE 16 - -# define SSL3_RT_MAX_EXTRA (16384) - -/* Maximum plaintext length: defined by SSL/TLS standards */ -# define SSL3_RT_MAX_PLAIN_LENGTH 16384 -/* Maximum compression overhead: defined by SSL/TLS standards */ -# define SSL3_RT_MAX_COMPRESSED_OVERHEAD 1024 - -/* - * The standards give a maximum encryption overhead of 1024 bytes. In - * practice the value is lower than this. The overhead is the maximum number - * of padding bytes (256) plus the mac size. - */ -# define SSL3_RT_MAX_ENCRYPTED_OVERHEAD (256 + SSL3_RT_MAX_MD_SIZE) -# define SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD 256 - -/* - * OpenSSL currently only uses a padding length of at most one block so the - * send overhead is smaller. - */ - -# define SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \ - (SSL_RT_MAX_CIPHER_BLOCK_SIZE + SSL3_RT_MAX_MD_SIZE) - -/* If compression isn't used don't include the compression overhead */ - -# ifdef OPENSSL_NO_COMP -# define SSL3_RT_MAX_COMPRESSED_LENGTH SSL3_RT_MAX_PLAIN_LENGTH -# else -# define SSL3_RT_MAX_COMPRESSED_LENGTH \ - (SSL3_RT_MAX_PLAIN_LENGTH+SSL3_RT_MAX_COMPRESSED_OVERHEAD) -# endif -# define SSL3_RT_MAX_ENCRYPTED_LENGTH \ - (SSL3_RT_MAX_ENCRYPTED_OVERHEAD+SSL3_RT_MAX_COMPRESSED_LENGTH) -# define SSL3_RT_MAX_TLS13_ENCRYPTED_LENGTH \ - (SSL3_RT_MAX_PLAIN_LENGTH + SSL3_RT_MAX_TLS13_ENCRYPTED_OVERHEAD) -# define SSL3_RT_MAX_PACKET_SIZE \ - (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) - -# define SSL3_MD_CLIENT_FINISHED_CONST "\x43\x4C\x4E\x54" -# define SSL3_MD_SERVER_FINISHED_CONST "\x53\x52\x56\x52" - -# define SSL3_VERSION 0x0300 -# define SSL3_VERSION_MAJOR 0x03 -# define SSL3_VERSION_MINOR 0x00 - -# define SSL3_RT_CHANGE_CIPHER_SPEC 20 -# define SSL3_RT_ALERT 21 -# define SSL3_RT_HANDSHAKE 22 -# define SSL3_RT_APPLICATION_DATA 23 -# define DTLS1_RT_HEARTBEAT 24 - -/* Pseudo content types to indicate additional parameters */ -# define TLS1_RT_CRYPTO 0x1000 -# define TLS1_RT_CRYPTO_PREMASTER (TLS1_RT_CRYPTO | 0x1) -# define TLS1_RT_CRYPTO_CLIENT_RANDOM (TLS1_RT_CRYPTO | 0x2) -# define TLS1_RT_CRYPTO_SERVER_RANDOM (TLS1_RT_CRYPTO | 0x3) -# define TLS1_RT_CRYPTO_MASTER (TLS1_RT_CRYPTO | 0x4) - -# define TLS1_RT_CRYPTO_READ 0x0000 -# define TLS1_RT_CRYPTO_WRITE 0x0100 -# define TLS1_RT_CRYPTO_MAC (TLS1_RT_CRYPTO | 0x5) -# define TLS1_RT_CRYPTO_KEY (TLS1_RT_CRYPTO | 0x6) -# define TLS1_RT_CRYPTO_IV (TLS1_RT_CRYPTO | 0x7) -# define TLS1_RT_CRYPTO_FIXED_IV (TLS1_RT_CRYPTO | 0x8) - -/* Pseudo content types for SSL/TLS header info */ -# define SSL3_RT_HEADER 0x100 -# define SSL3_RT_INNER_CONTENT_TYPE 0x101 - -# define SSL3_AL_WARNING 1 -# define SSL3_AL_FATAL 2 - -# define SSL3_AD_CLOSE_NOTIFY 0 -# define SSL3_AD_UNEXPECTED_MESSAGE 10/* fatal */ -# define SSL3_AD_BAD_RECORD_MAC 20/* fatal */ -# define SSL3_AD_DECOMPRESSION_FAILURE 30/* fatal */ -# define SSL3_AD_HANDSHAKE_FAILURE 40/* fatal */ -# define SSL3_AD_NO_CERTIFICATE 41 -# define SSL3_AD_BAD_CERTIFICATE 42 -# define SSL3_AD_UNSUPPORTED_CERTIFICATE 43 -# define SSL3_AD_CERTIFICATE_REVOKED 44 -# define SSL3_AD_CERTIFICATE_EXPIRED 45 -# define SSL3_AD_CERTIFICATE_UNKNOWN 46 -# define SSL3_AD_ILLEGAL_PARAMETER 47/* fatal */ - -# define TLS1_HB_REQUEST 1 -# define TLS1_HB_RESPONSE 2 - - -# define SSL3_CT_RSA_SIGN 1 -# define SSL3_CT_DSS_SIGN 2 -# define SSL3_CT_RSA_FIXED_DH 3 -# define SSL3_CT_DSS_FIXED_DH 4 -# define SSL3_CT_RSA_EPHEMERAL_DH 5 -# define SSL3_CT_DSS_EPHEMERAL_DH 6 -# define SSL3_CT_FORTEZZA_DMS 20 -/* - * SSL3_CT_NUMBER is used to size arrays and it must be large enough to - * contain all of the cert types defined for *either* SSLv3 and TLSv1. - */ -# define SSL3_CT_NUMBER 10 - -# if defined(TLS_CT_NUMBER) -# if TLS_CT_NUMBER != SSL3_CT_NUMBER -# error "SSL/TLS CT_NUMBER values do not match" -# endif -# endif - -/* No longer used as of OpenSSL 1.1.1 */ -# define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001 - -/* Removed from OpenSSL 1.1.0 */ -# define TLS1_FLAGS_TLS_PADDING_BUG 0x0 - -# define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 - -/* Set if we encrypt then mac instead of usual mac then encrypt */ -# define TLS1_FLAGS_ENCRYPT_THEN_MAC_READ 0x0100 -# define TLS1_FLAGS_ENCRYPT_THEN_MAC TLS1_FLAGS_ENCRYPT_THEN_MAC_READ - -/* Set if extended master secret extension received from peer */ -# define TLS1_FLAGS_RECEIVED_EXTMS 0x0200 - -# define TLS1_FLAGS_ENCRYPT_THEN_MAC_WRITE 0x0400 - -# define TLS1_FLAGS_STATELESS 0x0800 - -# define SSL3_MT_HELLO_REQUEST 0 -# define SSL3_MT_CLIENT_HELLO 1 -# define SSL3_MT_SERVER_HELLO 2 -# define SSL3_MT_NEWSESSION_TICKET 4 -# define SSL3_MT_END_OF_EARLY_DATA 5 -# define SSL3_MT_ENCRYPTED_EXTENSIONS 8 -# define SSL3_MT_CERTIFICATE 11 -# define SSL3_MT_SERVER_KEY_EXCHANGE 12 -# define SSL3_MT_CERTIFICATE_REQUEST 13 -# define SSL3_MT_SERVER_DONE 14 -# define SSL3_MT_CERTIFICATE_VERIFY 15 -# define SSL3_MT_CLIENT_KEY_EXCHANGE 16 -# define SSL3_MT_FINISHED 20 -# define SSL3_MT_CERTIFICATE_URL 21 -# define SSL3_MT_CERTIFICATE_STATUS 22 -# define SSL3_MT_SUPPLEMENTAL_DATA 23 -# define SSL3_MT_KEY_UPDATE 24 -# ifndef OPENSSL_NO_NEXTPROTONEG -# define SSL3_MT_NEXT_PROTO 67 -# endif -# define SSL3_MT_MESSAGE_HASH 254 -# define DTLS1_MT_HELLO_VERIFY_REQUEST 3 - -/* Dummy message type for handling CCS like a normal handshake message */ -# define SSL3_MT_CHANGE_CIPHER_SPEC 0x0101 - -# define SSL3_MT_CCS 1 - -/* These are used when changing over to a new cipher */ -# define SSL3_CC_READ 0x001 -# define SSL3_CC_WRITE 0x002 -# define SSL3_CC_CLIENT 0x010 -# define SSL3_CC_SERVER 0x020 -# define SSL3_CC_EARLY 0x040 -# define SSL3_CC_HANDSHAKE 0x080 -# define SSL3_CC_APPLICATION 0x100 -# define SSL3_CHANGE_CIPHER_CLIENT_WRITE (SSL3_CC_CLIENT|SSL3_CC_WRITE) -# define SSL3_CHANGE_CIPHER_SERVER_READ (SSL3_CC_SERVER|SSL3_CC_READ) -# define SSL3_CHANGE_CIPHER_CLIENT_READ (SSL3_CC_CLIENT|SSL3_CC_READ) -# define SSL3_CHANGE_CIPHER_SERVER_WRITE (SSL3_CC_SERVER|SSL3_CC_WRITE) - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/sslerr.h b/deps/openssl/include/openssl/sslerr.h deleted file mode 100644 index 82983d3c..00000000 --- a/deps/openssl/include/openssl/sslerr.h +++ /dev/null @@ -1,773 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_SSLERR_H -# define HEADER_SSLERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_SSL_strings(void); - -/* - * SSL function codes. - */ -# define SSL_F_ADD_CLIENT_KEY_SHARE_EXT 438 -# define SSL_F_ADD_KEY_SHARE 512 -# define SSL_F_BYTES_TO_CIPHER_LIST 519 -# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331 -# define SSL_F_CIPHERSUITE_CB 622 -# define SSL_F_CONSTRUCT_CA_NAMES 552 -# define SSL_F_CONSTRUCT_KEY_EXCHANGE_TBS 553 -# define SSL_F_CONSTRUCT_STATEFUL_TICKET 636 -# define SSL_F_CONSTRUCT_STATELESS_TICKET 637 -# define SSL_F_CREATE_SYNTHETIC_MESSAGE_HASH 539 -# define SSL_F_CREATE_TICKET_PREQUEL 638 -# define SSL_F_CT_MOVE_SCTS 345 -# define SSL_F_CT_STRICT 349 -# define SSL_F_CUSTOM_EXT_ADD 554 -# define SSL_F_CUSTOM_EXT_PARSE 555 -# define SSL_F_D2I_SSL_SESSION 103 -# define SSL_F_DANE_CTX_ENABLE 347 -# define SSL_F_DANE_MTYPE_SET 393 -# define SSL_F_DANE_TLSA_ADD 394 -# define SSL_F_DERIVE_SECRET_KEY_AND_IV 514 -# define SSL_F_DO_DTLS1_WRITE 245 -# define SSL_F_DO_SSL3_WRITE 104 -# define SSL_F_DTLS1_BUFFER_RECORD 247 -# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 318 -# define SSL_F_DTLS1_HEARTBEAT 305 -# define SSL_F_DTLS1_HM_FRAGMENT_NEW 623 -# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 -# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424 -# define SSL_F_DTLS1_PROCESS_RECORD 257 -# define SSL_F_DTLS1_READ_BYTES 258 -# define SSL_F_DTLS1_READ_FAILED 339 -# define SSL_F_DTLS1_RETRANSMIT_MESSAGE 390 -# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 -# define SSL_F_DTLS1_WRITE_BYTES 545 -# define SSL_F_DTLSV1_LISTEN 350 -# define SSL_F_DTLS_CONSTRUCT_CHANGE_CIPHER_SPEC 371 -# define SSL_F_DTLS_CONSTRUCT_HELLO_VERIFY_REQUEST 385 -# define SSL_F_DTLS_GET_REASSEMBLED_MESSAGE 370 -# define SSL_F_DTLS_PROCESS_HELLO_VERIFY 386 -# define SSL_F_DTLS_RECORD_LAYER_NEW 635 -# define SSL_F_DTLS_WAIT_FOR_DRY 592 -# define SSL_F_EARLY_DATA_COUNT_OK 532 -# define SSL_F_FINAL_EARLY_DATA 556 -# define SSL_F_FINAL_EC_PT_FORMATS 485 -# define SSL_F_FINAL_EMS 486 -# define SSL_F_FINAL_KEY_SHARE 503 -# define SSL_F_FINAL_MAXFRAGMENTLEN 557 -# define SSL_F_FINAL_RENEGOTIATE 483 -# define SSL_F_FINAL_SERVER_NAME 558 -# define SSL_F_FINAL_SIG_ALGS 497 -# define SSL_F_GET_CERT_VERIFY_TBS_DATA 588 -# define SSL_F_NSS_KEYLOG_INT 500 -# define SSL_F_OPENSSL_INIT_SSL 342 -# define SSL_F_OSSL_STATEM_CLIENT13_READ_TRANSITION 436 -# define SSL_F_OSSL_STATEM_CLIENT13_WRITE_TRANSITION 598 -# define SSL_F_OSSL_STATEM_CLIENT_CONSTRUCT_MESSAGE 430 -# define SSL_F_OSSL_STATEM_CLIENT_POST_PROCESS_MESSAGE 593 -# define SSL_F_OSSL_STATEM_CLIENT_PROCESS_MESSAGE 594 -# define SSL_F_OSSL_STATEM_CLIENT_READ_TRANSITION 417 -# define SSL_F_OSSL_STATEM_CLIENT_WRITE_TRANSITION 599 -# define SSL_F_OSSL_STATEM_SERVER13_READ_TRANSITION 437 -# define SSL_F_OSSL_STATEM_SERVER13_WRITE_TRANSITION 600 -# define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE 431 -# define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE 601 -# define SSL_F_OSSL_STATEM_SERVER_POST_WORK 602 -# define SSL_F_OSSL_STATEM_SERVER_PRE_WORK 640 -# define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE 603 -# define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 418 -# define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION 604 -# define SSL_F_PARSE_CA_NAMES 541 -# define SSL_F_PITEM_NEW 624 -# define SSL_F_PQUEUE_NEW 625 -# define SSL_F_PROCESS_KEY_SHARE_EXT 439 -# define SSL_F_READ_STATE_MACHINE 352 -# define SSL_F_SET_CLIENT_CIPHERSUITE 540 -# define SSL_F_SRP_GENERATE_CLIENT_MASTER_SECRET 595 -# define SSL_F_SRP_GENERATE_SERVER_MASTER_SECRET 589 -# define SSL_F_SRP_VERIFY_SERVER_PARAM 596 -# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 -# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 -# define SSL_F_SSL3_CTRL 213 -# define SSL_F_SSL3_CTX_CTRL 133 -# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 -# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 -# define SSL_F_SSL3_ENC 608 -# define SSL_F_SSL3_FINAL_FINISH_MAC 285 -# define SSL_F_SSL3_FINISH_MAC 587 -# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 -# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388 -# define SSL_F_SSL3_GET_RECORD 143 -# define SSL_F_SSL3_INIT_FINISHED_MAC 397 -# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 -# define SSL_F_SSL3_READ_BYTES 148 -# define SSL_F_SSL3_READ_N 149 -# define SSL_F_SSL3_SETUP_KEY_BLOCK 157 -# define SSL_F_SSL3_SETUP_READ_BUFFER 156 -# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 -# define SSL_F_SSL3_WRITE_BYTES 158 -# define SSL_F_SSL3_WRITE_PENDING 159 -# define SSL_F_SSL_ADD_CERT_CHAIN 316 -# define SSL_F_SSL_ADD_CERT_TO_BUF 319 -# define SSL_F_SSL_ADD_CERT_TO_WPACKET 493 -# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 -# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 -# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 -# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 -# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 -# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 -# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 -# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 -# define SSL_F_SSL_BAD_METHOD 160 -# define SSL_F_SSL_BUILD_CERT_CHAIN 332 -# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 -# define SSL_F_SSL_CACHE_CIPHERLIST 520 -# define SSL_F_SSL_CERT_ADD0_CHAIN_CERT 346 -# define SSL_F_SSL_CERT_DUP 221 -# define SSL_F_SSL_CERT_NEW 162 -# define SSL_F_SSL_CERT_SET0_CHAIN 340 -# define SSL_F_SSL_CHECK_PRIVATE_KEY 163 -# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 -# define SSL_F_SSL_CHECK_SRP_EXT_CLIENTHELLO 606 -# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 -# define SSL_F_SSL_CHOOSE_CLIENT_VERSION 607 -# define SSL_F_SSL_CIPHER_DESCRIPTION 626 -# define SSL_F_SSL_CIPHER_LIST_TO_BYTES 425 -# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 -# define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 -# define SSL_F_SSL_CLEAR 164 -# define SSL_F_SSL_CLIENT_HELLO_GET1_EXTENSIONS_PRESENT 627 -# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 -# define SSL_F_SSL_CONF_CMD 334 -# define SSL_F_SSL_CREATE_CIPHER_LIST 166 -# define SSL_F_SSL_CTRL 232 -# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 -# define SSL_F_SSL_CTX_ENABLE_CT 398 -# define SSL_F_SSL_CTX_MAKE_PROFILES 309 -# define SSL_F_SSL_CTX_NEW 169 -# define SSL_F_SSL_CTX_SET_ALPN_PROTOS 343 -# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 -# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 -# define SSL_F_SSL_CTX_SET_CT_VALIDATION_CALLBACK 396 -# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 -# define SSL_F_SSL_CTX_SET_SSL_VERSION 170 -# define SSL_F_SSL_CTX_SET_TLSEXT_MAX_FRAGMENT_LENGTH 551 -# define SSL_F_SSL_CTX_USE_CERTIFICATE 171 -# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 -# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 -# define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 -# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 -# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 -# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 -# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 -# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 -# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 -# define SSL_F_SSL_CTX_USE_SERVERINFO 336 -# define SSL_F_SSL_CTX_USE_SERVERINFO_EX 543 -# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337 -# define SSL_F_SSL_DANE_DUP 403 -# define SSL_F_SSL_DANE_ENABLE 395 -# define SSL_F_SSL_DERIVE 590 -# define SSL_F_SSL_DO_CONFIG 391 -# define SSL_F_SSL_DO_HANDSHAKE 180 -# define SSL_F_SSL_DUP_CA_LIST 408 -# define SSL_F_SSL_ENABLE_CT 402 -# define SSL_F_SSL_GENERATE_PKEY_GROUP 559 -# define SSL_F_SSL_GENERATE_SESSION_ID 547 -# define SSL_F_SSL_GET_NEW_SESSION 181 -# define SSL_F_SSL_GET_PREV_SESSION 217 -# define SSL_F_SSL_GET_SERVER_CERT_INDEX 322 -# define SSL_F_SSL_GET_SIGN_PKEY 183 -# define SSL_F_SSL_HANDSHAKE_HASH 560 -# define SSL_F_SSL_INIT_WBIO_BUFFER 184 -# define SSL_F_SSL_KEY_UPDATE 515 -# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 -# define SSL_F_SSL_LOG_MASTER_SECRET 498 -# define SSL_F_SSL_LOG_RSA_CLIENT_KEY_EXCHANGE 499 -# define SSL_F_SSL_MODULE_INIT 392 -# define SSL_F_SSL_NEW 186 -# define SSL_F_SSL_NEXT_PROTO_VALIDATE 565 -# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 -# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 -# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 -# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 -# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 -# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 -# define SSL_F_SSL_PEEK 270 -# define SSL_F_SSL_PEEK_EX 432 -# define SSL_F_SSL_PEEK_INTERNAL 522 -# define SSL_F_SSL_READ 223 -# define SSL_F_SSL_READ_EARLY_DATA 529 -# define SSL_F_SSL_READ_EX 434 -# define SSL_F_SSL_READ_INTERNAL 523 -# define SSL_F_SSL_RENEGOTIATE 516 -# define SSL_F_SSL_RENEGOTIATE_ABBREVIATED 546 -# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320 -# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321 -# define SSL_F_SSL_SESSION_DUP 348 -# define SSL_F_SSL_SESSION_NEW 189 -# define SSL_F_SSL_SESSION_PRINT_FP 190 -# define SSL_F_SSL_SESSION_SET1_ID 423 -# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 -# define SSL_F_SSL_SET_ALPN_PROTOS 344 -# define SSL_F_SSL_SET_CERT 191 -# define SSL_F_SSL_SET_CERT_AND_KEY 621 -# define SSL_F_SSL_SET_CIPHER_LIST 271 -# define SSL_F_SSL_SET_CT_VALIDATION_CALLBACK 399 -# define SSL_F_SSL_SET_FD 192 -# define SSL_F_SSL_SET_PKEY 193 -# define SSL_F_SSL_SET_RFD 194 -# define SSL_F_SSL_SET_SESSION 195 -# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 -# define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 -# define SSL_F_SSL_SET_TLSEXT_MAX_FRAGMENT_LENGTH 550 -# define SSL_F_SSL_SET_WFD 196 -# define SSL_F_SSL_SHUTDOWN 224 -# define SSL_F_SSL_SRP_CTX_INIT 313 -# define SSL_F_SSL_START_ASYNC_JOB 389 -# define SSL_F_SSL_UNDEFINED_FUNCTION 197 -# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 -# define SSL_F_SSL_USE_CERTIFICATE 198 -# define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 -# define SSL_F_SSL_USE_CERTIFICATE_FILE 200 -# define SSL_F_SSL_USE_PRIVATEKEY 201 -# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 -# define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 -# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 -# define SSL_F_SSL_USE_RSAPRIVATEKEY 204 -# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 -# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 -# define SSL_F_SSL_VALIDATE_CT 400 -# define SSL_F_SSL_VERIFY_CERT_CHAIN 207 -# define SSL_F_SSL_VERIFY_CLIENT_POST_HANDSHAKE 616 -# define SSL_F_SSL_WRITE 208 -# define SSL_F_SSL_WRITE_EARLY_DATA 526 -# define SSL_F_SSL_WRITE_EARLY_FINISH 527 -# define SSL_F_SSL_WRITE_EX 433 -# define SSL_F_SSL_WRITE_INTERNAL 524 -# define SSL_F_STATE_MACHINE 353 -# define SSL_F_TLS12_CHECK_PEER_SIGALG 333 -# define SSL_F_TLS12_COPY_SIGALGS 533 -# define SSL_F_TLS13_CHANGE_CIPHER_STATE 440 -# define SSL_F_TLS13_ENC 609 -# define SSL_F_TLS13_FINAL_FINISH_MAC 605 -# define SSL_F_TLS13_GENERATE_SECRET 591 -# define SSL_F_TLS13_HKDF_EXPAND 561 -# define SSL_F_TLS13_RESTORE_HANDSHAKE_DIGEST_FOR_PHA 617 -# define SSL_F_TLS13_SAVE_HANDSHAKE_DIGEST_FOR_PHA 618 -# define SSL_F_TLS13_SETUP_KEY_BLOCK 441 -# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 -# define SSL_F_TLS1_CHECK_DUPLICATE_EXTENSIONS 341 -# define SSL_F_TLS1_ENC 401 -# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 -# define SSL_F_TLS1_GET_CURVELIST 338 -# define SSL_F_TLS1_PRF 284 -# define SSL_F_TLS1_SAVE_U16 628 -# define SSL_F_TLS1_SETUP_KEY_BLOCK 211 -# define SSL_F_TLS1_SET_GROUPS 629 -# define SSL_F_TLS1_SET_RAW_SIGALGS 630 -# define SSL_F_TLS1_SET_SERVER_SIGALGS 335 -# define SSL_F_TLS1_SET_SHARED_SIGALGS 631 -# define SSL_F_TLS1_SET_SIGALGS 632 -# define SSL_F_TLS_CHOOSE_SIGALG 513 -# define SSL_F_TLS_CLIENT_KEY_EXCHANGE_POST_WORK 354 -# define SSL_F_TLS_COLLECT_EXTENSIONS 435 -# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_AUTHORITIES 542 -# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_REQUEST 372 -# define SSL_F_TLS_CONSTRUCT_CERT_STATUS 429 -# define SSL_F_TLS_CONSTRUCT_CERT_STATUS_BODY 494 -# define SSL_F_TLS_CONSTRUCT_CERT_VERIFY 496 -# define SSL_F_TLS_CONSTRUCT_CHANGE_CIPHER_SPEC 427 -# define SSL_F_TLS_CONSTRUCT_CKE_DHE 404 -# define SSL_F_TLS_CONSTRUCT_CKE_ECDHE 405 -# define SSL_F_TLS_CONSTRUCT_CKE_GOST 406 -# define SSL_F_TLS_CONSTRUCT_CKE_PSK_PREAMBLE 407 -# define SSL_F_TLS_CONSTRUCT_CKE_RSA 409 -# define SSL_F_TLS_CONSTRUCT_CKE_SRP 410 -# define SSL_F_TLS_CONSTRUCT_CLIENT_CERTIFICATE 484 -# define SSL_F_TLS_CONSTRUCT_CLIENT_HELLO 487 -# define SSL_F_TLS_CONSTRUCT_CLIENT_KEY_EXCHANGE 488 -# define SSL_F_TLS_CONSTRUCT_CLIENT_VERIFY 489 -# define SSL_F_TLS_CONSTRUCT_CTOS_ALPN 466 -# define SSL_F_TLS_CONSTRUCT_CTOS_CERTIFICATE 355 -# define SSL_F_TLS_CONSTRUCT_CTOS_COOKIE 535 -# define SSL_F_TLS_CONSTRUCT_CTOS_EARLY_DATA 530 -# define SSL_F_TLS_CONSTRUCT_CTOS_EC_PT_FORMATS 467 -# define SSL_F_TLS_CONSTRUCT_CTOS_EMS 468 -# define SSL_F_TLS_CONSTRUCT_CTOS_ETM 469 -# define SSL_F_TLS_CONSTRUCT_CTOS_HELLO 356 -# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_EXCHANGE 357 -# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_SHARE 470 -# define SSL_F_TLS_CONSTRUCT_CTOS_MAXFRAGMENTLEN 549 -# define SSL_F_TLS_CONSTRUCT_CTOS_NPN 471 -# define SSL_F_TLS_CONSTRUCT_CTOS_PADDING 472 -# define SSL_F_TLS_CONSTRUCT_CTOS_POST_HANDSHAKE_AUTH 619 -# define SSL_F_TLS_CONSTRUCT_CTOS_PSK 501 -# define SSL_F_TLS_CONSTRUCT_CTOS_PSK_KEX_MODES 509 -# define SSL_F_TLS_CONSTRUCT_CTOS_RENEGOTIATE 473 -# define SSL_F_TLS_CONSTRUCT_CTOS_SCT 474 -# define SSL_F_TLS_CONSTRUCT_CTOS_SERVER_NAME 475 -# define SSL_F_TLS_CONSTRUCT_CTOS_SESSION_TICKET 476 -# define SSL_F_TLS_CONSTRUCT_CTOS_SIG_ALGS 477 -# define SSL_F_TLS_CONSTRUCT_CTOS_SRP 478 -# define SSL_F_TLS_CONSTRUCT_CTOS_STATUS_REQUEST 479 -# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS 480 -# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_VERSIONS 481 -# define SSL_F_TLS_CONSTRUCT_CTOS_USE_SRTP 482 -# define SSL_F_TLS_CONSTRUCT_CTOS_VERIFY 358 -# define SSL_F_TLS_CONSTRUCT_ENCRYPTED_EXTENSIONS 443 -# define SSL_F_TLS_CONSTRUCT_END_OF_EARLY_DATA 536 -# define SSL_F_TLS_CONSTRUCT_EXTENSIONS 447 -# define SSL_F_TLS_CONSTRUCT_FINISHED 359 -# define SSL_F_TLS_CONSTRUCT_HELLO_REQUEST 373 -# define SSL_F_TLS_CONSTRUCT_HELLO_RETRY_REQUEST 510 -# define SSL_F_TLS_CONSTRUCT_KEY_UPDATE 517 -# define SSL_F_TLS_CONSTRUCT_NEW_SESSION_TICKET 428 -# define SSL_F_TLS_CONSTRUCT_NEXT_PROTO 426 -# define SSL_F_TLS_CONSTRUCT_SERVER_CERTIFICATE 490 -# define SSL_F_TLS_CONSTRUCT_SERVER_HELLO 491 -# define SSL_F_TLS_CONSTRUCT_SERVER_KEY_EXCHANGE 492 -# define SSL_F_TLS_CONSTRUCT_STOC_ALPN 451 -# define SSL_F_TLS_CONSTRUCT_STOC_CERTIFICATE 374 -# define SSL_F_TLS_CONSTRUCT_STOC_COOKIE 613 -# define SSL_F_TLS_CONSTRUCT_STOC_CRYPTOPRO_BUG 452 -# define SSL_F_TLS_CONSTRUCT_STOC_DONE 375 -# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA 531 -# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA_INFO 525 -# define SSL_F_TLS_CONSTRUCT_STOC_EC_PT_FORMATS 453 -# define SSL_F_TLS_CONSTRUCT_STOC_EMS 454 -# define SSL_F_TLS_CONSTRUCT_STOC_ETM 455 -# define SSL_F_TLS_CONSTRUCT_STOC_HELLO 376 -# define SSL_F_TLS_CONSTRUCT_STOC_KEY_EXCHANGE 377 -# define SSL_F_TLS_CONSTRUCT_STOC_KEY_SHARE 456 -# define SSL_F_TLS_CONSTRUCT_STOC_MAXFRAGMENTLEN 548 -# define SSL_F_TLS_CONSTRUCT_STOC_NEXT_PROTO_NEG 457 -# define SSL_F_TLS_CONSTRUCT_STOC_PSK 504 -# define SSL_F_TLS_CONSTRUCT_STOC_RENEGOTIATE 458 -# define SSL_F_TLS_CONSTRUCT_STOC_SERVER_NAME 459 -# define SSL_F_TLS_CONSTRUCT_STOC_SESSION_TICKET 460 -# define SSL_F_TLS_CONSTRUCT_STOC_STATUS_REQUEST 461 -# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_GROUPS 544 -# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_VERSIONS 611 -# define SSL_F_TLS_CONSTRUCT_STOC_USE_SRTP 462 -# define SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO 521 -# define SSL_F_TLS_FINISH_HANDSHAKE 597 -# define SSL_F_TLS_GET_MESSAGE_BODY 351 -# define SSL_F_TLS_GET_MESSAGE_HEADER 387 -# define SSL_F_TLS_HANDLE_ALPN 562 -# define SSL_F_TLS_HANDLE_STATUS_REQUEST 563 -# define SSL_F_TLS_PARSE_CERTIFICATE_AUTHORITIES 566 -# define SSL_F_TLS_PARSE_CLIENTHELLO_TLSEXT 449 -# define SSL_F_TLS_PARSE_CTOS_ALPN 567 -# define SSL_F_TLS_PARSE_CTOS_COOKIE 614 -# define SSL_F_TLS_PARSE_CTOS_EARLY_DATA 568 -# define SSL_F_TLS_PARSE_CTOS_EC_PT_FORMATS 569 -# define SSL_F_TLS_PARSE_CTOS_EMS 570 -# define SSL_F_TLS_PARSE_CTOS_KEY_SHARE 463 -# define SSL_F_TLS_PARSE_CTOS_MAXFRAGMENTLEN 571 -# define SSL_F_TLS_PARSE_CTOS_POST_HANDSHAKE_AUTH 620 -# define SSL_F_TLS_PARSE_CTOS_PSK 505 -# define SSL_F_TLS_PARSE_CTOS_PSK_KEX_MODES 572 -# define SSL_F_TLS_PARSE_CTOS_RENEGOTIATE 464 -# define SSL_F_TLS_PARSE_CTOS_SERVER_NAME 573 -# define SSL_F_TLS_PARSE_CTOS_SESSION_TICKET 574 -# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS 575 -# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS_CERT 615 -# define SSL_F_TLS_PARSE_CTOS_SRP 576 -# define SSL_F_TLS_PARSE_CTOS_STATUS_REQUEST 577 -# define SSL_F_TLS_PARSE_CTOS_SUPPORTED_GROUPS 578 -# define SSL_F_TLS_PARSE_CTOS_USE_SRTP 465 -# define SSL_F_TLS_PARSE_STOC_ALPN 579 -# define SSL_F_TLS_PARSE_STOC_COOKIE 534 -# define SSL_F_TLS_PARSE_STOC_EARLY_DATA 538 -# define SSL_F_TLS_PARSE_STOC_EARLY_DATA_INFO 528 -# define SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS 580 -# define SSL_F_TLS_PARSE_STOC_KEY_SHARE 445 -# define SSL_F_TLS_PARSE_STOC_MAXFRAGMENTLEN 581 -# define SSL_F_TLS_PARSE_STOC_NPN 582 -# define SSL_F_TLS_PARSE_STOC_PSK 502 -# define SSL_F_TLS_PARSE_STOC_RENEGOTIATE 448 -# define SSL_F_TLS_PARSE_STOC_SCT 564 -# define SSL_F_TLS_PARSE_STOC_SERVER_NAME 583 -# define SSL_F_TLS_PARSE_STOC_SESSION_TICKET 584 -# define SSL_F_TLS_PARSE_STOC_STATUS_REQUEST 585 -# define SSL_F_TLS_PARSE_STOC_SUPPORTED_VERSIONS 612 -# define SSL_F_TLS_PARSE_STOC_USE_SRTP 446 -# define SSL_F_TLS_POST_PROCESS_CLIENT_HELLO 378 -# define SSL_F_TLS_POST_PROCESS_CLIENT_KEY_EXCHANGE 384 -# define SSL_F_TLS_PREPARE_CLIENT_CERTIFICATE 360 -# define SSL_F_TLS_PROCESS_AS_HELLO_RETRY_REQUEST 610 -# define SSL_F_TLS_PROCESS_CERTIFICATE_REQUEST 361 -# define SSL_F_TLS_PROCESS_CERT_STATUS 362 -# define SSL_F_TLS_PROCESS_CERT_STATUS_BODY 495 -# define SSL_F_TLS_PROCESS_CERT_VERIFY 379 -# define SSL_F_TLS_PROCESS_CHANGE_CIPHER_SPEC 363 -# define SSL_F_TLS_PROCESS_CKE_DHE 411 -# define SSL_F_TLS_PROCESS_CKE_ECDHE 412 -# define SSL_F_TLS_PROCESS_CKE_GOST 413 -# define SSL_F_TLS_PROCESS_CKE_PSK_PREAMBLE 414 -# define SSL_F_TLS_PROCESS_CKE_RSA 415 -# define SSL_F_TLS_PROCESS_CKE_SRP 416 -# define SSL_F_TLS_PROCESS_CLIENT_CERTIFICATE 380 -# define SSL_F_TLS_PROCESS_CLIENT_HELLO 381 -# define SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE 382 -# define SSL_F_TLS_PROCESS_ENCRYPTED_EXTENSIONS 444 -# define SSL_F_TLS_PROCESS_END_OF_EARLY_DATA 537 -# define SSL_F_TLS_PROCESS_FINISHED 364 -# define SSL_F_TLS_PROCESS_HELLO_REQ 507 -# define SSL_F_TLS_PROCESS_HELLO_RETRY_REQUEST 511 -# define SSL_F_TLS_PROCESS_INITIAL_SERVER_FLIGHT 442 -# define SSL_F_TLS_PROCESS_KEY_EXCHANGE 365 -# define SSL_F_TLS_PROCESS_KEY_UPDATE 518 -# define SSL_F_TLS_PROCESS_NEW_SESSION_TICKET 366 -# define SSL_F_TLS_PROCESS_NEXT_PROTO 383 -# define SSL_F_TLS_PROCESS_SERVER_CERTIFICATE 367 -# define SSL_F_TLS_PROCESS_SERVER_DONE 368 -# define SSL_F_TLS_PROCESS_SERVER_HELLO 369 -# define SSL_F_TLS_PROCESS_SKE_DHE 419 -# define SSL_F_TLS_PROCESS_SKE_ECDHE 420 -# define SSL_F_TLS_PROCESS_SKE_PSK_PREAMBLE 421 -# define SSL_F_TLS_PROCESS_SKE_SRP 422 -# define SSL_F_TLS_PSK_DO_BINDER 506 -# define SSL_F_TLS_SCAN_CLIENTHELLO_TLSEXT 450 -# define SSL_F_TLS_SETUP_HANDSHAKE 508 -# define SSL_F_USE_CERTIFICATE_CHAIN_FILE 220 -# define SSL_F_WPACKET_INTERN_INIT_LEN 633 -# define SSL_F_WPACKET_START_SUB_PACKET_LEN__ 634 -# define SSL_F_WRITE_STATE_MACHINE 586 - -/* - * SSL reason codes. - */ -# define SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY 291 -# define SSL_R_APP_DATA_IN_HANDSHAKE 100 -# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 -# define SSL_R_AT_LEAST_TLS_1_0_NEEDED_IN_FIPS_MODE 143 -# define SSL_R_AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE 158 -# define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 -# define SSL_R_BAD_CIPHER 186 -# define SSL_R_BAD_DATA 390 -# define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106 -# define SSL_R_BAD_DECOMPRESSION 107 -# define SSL_R_BAD_DH_VALUE 102 -# define SSL_R_BAD_DIGEST_LENGTH 111 -# define SSL_R_BAD_EARLY_DATA 233 -# define SSL_R_BAD_ECC_CERT 304 -# define SSL_R_BAD_ECPOINT 306 -# define SSL_R_BAD_EXTENSION 110 -# define SSL_R_BAD_HANDSHAKE_LENGTH 332 -# define SSL_R_BAD_HANDSHAKE_STATE 236 -# define SSL_R_BAD_HELLO_REQUEST 105 -# define SSL_R_BAD_HRR_VERSION 263 -# define SSL_R_BAD_KEY_SHARE 108 -# define SSL_R_BAD_KEY_UPDATE 122 -# define SSL_R_BAD_LEGACY_VERSION 292 -# define SSL_R_BAD_LENGTH 271 -# define SSL_R_BAD_PACKET 240 -# define SSL_R_BAD_PACKET_LENGTH 115 -# define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 -# define SSL_R_BAD_PSK 219 -# define SSL_R_BAD_PSK_IDENTITY 114 -# define SSL_R_BAD_RECORD_TYPE 443 -# define SSL_R_BAD_RSA_ENCRYPT 119 -# define SSL_R_BAD_SIGNATURE 123 -# define SSL_R_BAD_SRP_A_LENGTH 347 -# define SSL_R_BAD_SRP_PARAMETERS 371 -# define SSL_R_BAD_SRTP_MKI_VALUE 352 -# define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353 -# define SSL_R_BAD_SSL_FILETYPE 124 -# define SSL_R_BAD_VALUE 384 -# define SSL_R_BAD_WRITE_RETRY 127 -# define SSL_R_BINDER_DOES_NOT_VERIFY 253 -# define SSL_R_BIO_NOT_SET 128 -# define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129 -# define SSL_R_BN_LIB 130 -# define SSL_R_CALLBACK_FAILED 234 -# define SSL_R_CANNOT_CHANGE_CIPHER 109 -# define SSL_R_CA_DN_LENGTH_MISMATCH 131 -# define SSL_R_CA_KEY_TOO_SMALL 397 -# define SSL_R_CA_MD_TOO_WEAK 398 -# define SSL_R_CCS_RECEIVED_EARLY 133 -# define SSL_R_CERTIFICATE_VERIFY_FAILED 134 -# define SSL_R_CERT_CB_ERROR 377 -# define SSL_R_CERT_LENGTH_MISMATCH 135 -# define SSL_R_CIPHERSUITE_DIGEST_HAS_CHANGED 218 -# define SSL_R_CIPHER_CODE_WRONG_LENGTH 137 -# define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138 -# define SSL_R_CLIENTHELLO_TLSEXT 226 -# define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140 -# define SSL_R_COMPRESSION_DISABLED 343 -# define SSL_R_COMPRESSION_FAILURE 141 -# define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307 -# define SSL_R_COMPRESSION_LIBRARY_ERROR 142 -# define SSL_R_CONNECTION_TYPE_NOT_SET 144 -# define SSL_R_CONTEXT_NOT_DANE_ENABLED 167 -# define SSL_R_COOKIE_GEN_CALLBACK_FAILURE 400 -# define SSL_R_COOKIE_MISMATCH 308 -# define SSL_R_CUSTOM_EXT_HANDLER_ALREADY_INSTALLED 206 -# define SSL_R_DANE_ALREADY_ENABLED 172 -# define SSL_R_DANE_CANNOT_OVERRIDE_MTYPE_FULL 173 -# define SSL_R_DANE_NOT_ENABLED 175 -# define SSL_R_DANE_TLSA_BAD_CERTIFICATE 180 -# define SSL_R_DANE_TLSA_BAD_CERTIFICATE_USAGE 184 -# define SSL_R_DANE_TLSA_BAD_DATA_LENGTH 189 -# define SSL_R_DANE_TLSA_BAD_DIGEST_LENGTH 192 -# define SSL_R_DANE_TLSA_BAD_MATCHING_TYPE 200 -# define SSL_R_DANE_TLSA_BAD_PUBLIC_KEY 201 -# define SSL_R_DANE_TLSA_BAD_SELECTOR 202 -# define SSL_R_DANE_TLSA_NULL_DATA 203 -# define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145 -# define SSL_R_DATA_LENGTH_TOO_LONG 146 -# define SSL_R_DECRYPTION_FAILED 147 -# define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281 -# define SSL_R_DH_KEY_TOO_SMALL 394 -# define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148 -# define SSL_R_DIGEST_CHECK_FAILED 149 -# define SSL_R_DTLS_MESSAGE_TOO_BIG 334 -# define SSL_R_DUPLICATE_COMPRESSION_ID 309 -# define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 -# define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE 374 -# define SSL_R_EE_KEY_TOO_SMALL 399 -# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 -# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 -# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 -# define SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN 204 -# define SSL_R_EXCEEDS_MAX_FRAGMENT_SIZE 194 -# define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 -# define SSL_R_EXTENSION_NOT_RECEIVED 279 -# define SSL_R_EXTRA_DATA_IN_MESSAGE 153 -# define SSL_R_EXT_LENGTH_MISMATCH 163 -# define SSL_R_FAILED_TO_INIT_ASYNC 405 -# define SSL_R_FRAGMENTED_CLIENT_HELLO 401 -# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 -# define SSL_R_HTTPS_PROXY_REQUEST 155 -# define SSL_R_HTTP_REQUEST 156 -# define SSL_R_ILLEGAL_POINT_COMPRESSION 162 -# define SSL_R_ILLEGAL_SUITEB_DIGEST 380 -# define SSL_R_INAPPROPRIATE_FALLBACK 373 -# define SSL_R_INCONSISTENT_COMPRESSION 340 -# define SSL_R_INCONSISTENT_EARLY_DATA_ALPN 222 -# define SSL_R_INCONSISTENT_EARLY_DATA_SNI 231 -# define SSL_R_INCONSISTENT_EXTMS 104 -# define SSL_R_INSUFFICIENT_SECURITY 241 -# define SSL_R_INVALID_ALERT 205 -# define SSL_R_INVALID_CCS_MESSAGE 260 -# define SSL_R_INVALID_CERTIFICATE_OR_ALG 238 -# define SSL_R_INVALID_COMMAND 280 -# define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 -# define SSL_R_INVALID_CONFIG 283 -# define SSL_R_INVALID_CONFIGURATION_NAME 113 -# define SSL_R_INVALID_CONTEXT 282 -# define SSL_R_INVALID_CT_VALIDATION_TYPE 212 -# define SSL_R_INVALID_KEY_UPDATE_TYPE 120 -# define SSL_R_INVALID_MAX_EARLY_DATA 174 -# define SSL_R_INVALID_NULL_CMD_NAME 385 -# define SSL_R_INVALID_SEQUENCE_NUMBER 402 -# define SSL_R_INVALID_SERVERINFO_DATA 388 -# define SSL_R_INVALID_SESSION_ID 999 -# define SSL_R_INVALID_SRP_USERNAME 357 -# define SSL_R_INVALID_STATUS_RESPONSE 328 -# define SSL_R_INVALID_TICKET_KEYS_LENGTH 325 -# define SSL_R_LENGTH_MISMATCH 159 -# define SSL_R_LENGTH_TOO_LONG 404 -# define SSL_R_LENGTH_TOO_SHORT 160 -# define SSL_R_LIBRARY_BUG 274 -# define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 -# define SSL_R_MISSING_DSA_SIGNING_CERT 165 -# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381 -# define SSL_R_MISSING_FATAL 256 -# define SSL_R_MISSING_PARAMETERS 290 -# define SSL_R_MISSING_RSA_CERTIFICATE 168 -# define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169 -# define SSL_R_MISSING_RSA_SIGNING_CERT 170 -# define SSL_R_MISSING_SIGALGS_EXTENSION 112 -# define SSL_R_MISSING_SIGNING_CERT 221 -# define SSL_R_MISSING_SRP_PARAM 358 -# define SSL_R_MISSING_SUPPORTED_GROUPS_EXTENSION 209 -# define SSL_R_MISSING_TMP_DH_KEY 171 -# define SSL_R_MISSING_TMP_ECDH_KEY 311 -# define SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA 293 -# define SSL_R_NOT_ON_RECORD_BOUNDARY 182 -# define SSL_R_NOT_REPLACING_CERTIFICATE 289 -# define SSL_R_NOT_SERVER 284 -# define SSL_R_NO_APPLICATION_PROTOCOL 235 -# define SSL_R_NO_CERTIFICATES_RETURNED 176 -# define SSL_R_NO_CERTIFICATE_ASSIGNED 177 -# define SSL_R_NO_CERTIFICATE_SET 179 -# define SSL_R_NO_CHANGE_FOLLOWING_HRR 214 -# define SSL_R_NO_CIPHERS_AVAILABLE 181 -# define SSL_R_NO_CIPHERS_SPECIFIED 183 -# define SSL_R_NO_CIPHER_MATCH 185 -# define SSL_R_NO_CLIENT_CERT_METHOD 331 -# define SSL_R_NO_COMPRESSION_SPECIFIED 187 -# define SSL_R_NO_COOKIE_CALLBACK_SET 287 -# define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330 -# define SSL_R_NO_METHOD_SPECIFIED 188 -# define SSL_R_NO_PEM_EXTENSIONS 389 -# define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 -# define SSL_R_NO_PROTOCOLS_AVAILABLE 191 -# define SSL_R_NO_RENEGOTIATION 339 -# define SSL_R_NO_REQUIRED_DIGEST 324 -# define SSL_R_NO_SHARED_CIPHER 193 -# define SSL_R_NO_SHARED_GROUPS 410 -# define SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS 376 -# define SSL_R_NO_SRTP_PROFILES 359 -# define SSL_R_NO_SUITABLE_KEY_SHARE 101 -# define SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM 118 -# define SSL_R_NO_VALID_SCTS 216 -# define SSL_R_NO_VERIFY_COOKIE_CALLBACK 403 -# define SSL_R_NULL_SSL_CTX 195 -# define SSL_R_NULL_SSL_METHOD_PASSED 196 -# define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197 -# define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344 -# define SSL_R_OVERFLOW_ERROR 237 -# define SSL_R_PACKET_LENGTH_TOO_LONG 198 -# define SSL_R_PARSE_TLSEXT 227 -# define SSL_R_PATH_TOO_LONG 270 -# define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199 -# define SSL_R_PEM_NAME_BAD_PREFIX 391 -# define SSL_R_PEM_NAME_TOO_SHORT 392 -# define SSL_R_PIPELINE_FAILURE 406 -# define SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR 278 -# define SSL_R_PRIVATE_KEY_MISMATCH 288 -# define SSL_R_PROTOCOL_IS_SHUTDOWN 207 -# define SSL_R_PSK_IDENTITY_NOT_FOUND 223 -# define SSL_R_PSK_NO_CLIENT_CB 224 -# define SSL_R_PSK_NO_SERVER_CB 225 -# define SSL_R_READ_BIO_NOT_SET 211 -# define SSL_R_READ_TIMEOUT_EXPIRED 312 -# define SSL_R_RECORD_LENGTH_MISMATCH 213 -# define SSL_R_RECORD_TOO_SMALL 298 -# define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335 -# define SSL_R_RENEGOTIATION_ENCODING_ERR 336 -# define SSL_R_RENEGOTIATION_MISMATCH 337 -# define SSL_R_REQUEST_PENDING 285 -# define SSL_R_REQUEST_SENT 286 -# define SSL_R_REQUIRED_CIPHER_MISSING 215 -# define SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING 342 -# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 -# define SSL_R_SCT_VERIFICATION_FAILED 208 -# define SSL_R_SERVERHELLO_TLSEXT 275 -# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 -# define SSL_R_SHUTDOWN_WHILE_IN_INIT 407 -# define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360 -# define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 -# define SSL_R_SRP_A_CALC 361 -# define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362 -# define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363 -# define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364 -# define SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH 232 -# define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319 -# define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320 -# define SSL_R_SSL3_SESSION_ID_TOO_LONG 300 -# define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 -# define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 -# define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045 -# define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044 -# define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046 -# define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030 -# define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040 -# define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047 -# define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041 -# define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 -# define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043 -# define SSL_R_SSL_COMMAND_SECTION_EMPTY 117 -# define SSL_R_SSL_COMMAND_SECTION_NOT_FOUND 125 -# define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228 -# define SSL_R_SSL_HANDSHAKE_FAILURE 229 -# define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230 -# define SSL_R_SSL_NEGATIVE_LENGTH 372 -# define SSL_R_SSL_SECTION_EMPTY 126 -# define SSL_R_SSL_SECTION_NOT_FOUND 136 -# define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301 -# define SSL_R_SSL_SESSION_ID_CONFLICT 302 -# define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273 -# define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303 -# define SSL_R_SSL_SESSION_ID_TOO_LONG 408 -# define SSL_R_SSL_SESSION_VERSION_MISMATCH 210 -# define SSL_R_STILL_IN_INIT 121 -# define SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED 1116 -# define SSL_R_TLSV13_ALERT_MISSING_EXTENSION 1109 -# define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049 -# define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050 -# define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021 -# define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051 -# define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060 -# define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086 -# define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071 -# define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080 -# define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100 -# define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070 -# define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022 -# define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048 -# define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090 -# define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114 -# define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113 -# define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111 -# define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112 -# define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110 -# define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365 -# define SSL_R_TLS_HEARTBEAT_PENDING 366 -# define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367 -# define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157 -# define SSL_R_TOO_MANY_KEY_UPDATES 132 -# define SSL_R_TOO_MANY_WARN_ALERTS 409 -# define SSL_R_TOO_MUCH_EARLY_DATA 164 -# define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314 -# define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 -# define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 -# define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 -# define SSL_R_UNEXPECTED_CCS_MESSAGE 262 -# define SSL_R_UNEXPECTED_END_OF_EARLY_DATA 178 -# define SSL_R_UNEXPECTED_MESSAGE 244 -# define SSL_R_UNEXPECTED_RECORD 245 -# define SSL_R_UNINITIALIZED 276 -# define SSL_R_UNKNOWN_ALERT_TYPE 246 -# define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247 -# define SSL_R_UNKNOWN_CIPHER_RETURNED 248 -# define SSL_R_UNKNOWN_CIPHER_TYPE 249 -# define SSL_R_UNKNOWN_CMD_NAME 386 -# define SSL_R_UNKNOWN_COMMAND 139 -# define SSL_R_UNKNOWN_DIGEST 368 -# define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250 -# define SSL_R_UNKNOWN_PKEY_TYPE 251 -# define SSL_R_UNKNOWN_PROTOCOL 252 -# define SSL_R_UNKNOWN_SSL_VERSION 254 -# define SSL_R_UNKNOWN_STATE 255 -# define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338 -# define SSL_R_UNSOLICITED_EXTENSION 217 -# define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257 -# define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315 -# define SSL_R_UNSUPPORTED_PROTOCOL 258 -# define SSL_R_UNSUPPORTED_SSL_VERSION 259 -# define SSL_R_UNSUPPORTED_STATUS_TYPE 329 -# define SSL_R_USE_SRTP_NOT_NEGOTIATED 369 -# define SSL_R_VERSION_TOO_HIGH 166 -# define SSL_R_VERSION_TOO_LOW 396 -# define SSL_R_WRONG_CERTIFICATE_TYPE 383 -# define SSL_R_WRONG_CIPHER_RETURNED 261 -# define SSL_R_WRONG_CURVE 378 -# define SSL_R_WRONG_SIGNATURE_LENGTH 264 -# define SSL_R_WRONG_SIGNATURE_SIZE 265 -# define SSL_R_WRONG_SIGNATURE_TYPE 370 -# define SSL_R_WRONG_SSL_VERSION 266 -# define SSL_R_WRONG_VERSION_NUMBER 267 -# define SSL_R_X509_LIB 268 -# define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269 - -#endif diff --git a/deps/openssl/include/openssl/stack.h b/deps/openssl/include/openssl/stack.h deleted file mode 100644 index cfc07505..00000000 --- a/deps/openssl/include/openssl/stack.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_STACK_H -# define HEADER_STACK_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct stack_st OPENSSL_STACK; /* Use STACK_OF(...) instead */ - -typedef int (*OPENSSL_sk_compfunc)(const void *, const void *); -typedef void (*OPENSSL_sk_freefunc)(void *); -typedef void *(*OPENSSL_sk_copyfunc)(const void *); - -int OPENSSL_sk_num(const OPENSSL_STACK *); -void *OPENSSL_sk_value(const OPENSSL_STACK *, int); - -void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data); - -OPENSSL_STACK *OPENSSL_sk_new(OPENSSL_sk_compfunc cmp); -OPENSSL_STACK *OPENSSL_sk_new_null(void); -OPENSSL_STACK *OPENSSL_sk_new_reserve(OPENSSL_sk_compfunc c, int n); -int OPENSSL_sk_reserve(OPENSSL_STACK *st, int n); -void OPENSSL_sk_free(OPENSSL_STACK *); -void OPENSSL_sk_pop_free(OPENSSL_STACK *st, void (*func) (void *)); -OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *, - OPENSSL_sk_copyfunc c, - OPENSSL_sk_freefunc f); -int OPENSSL_sk_insert(OPENSSL_STACK *sk, const void *data, int where); -void *OPENSSL_sk_delete(OPENSSL_STACK *st, int loc); -void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p); -int OPENSSL_sk_find(OPENSSL_STACK *st, const void *data); -int OPENSSL_sk_find_ex(OPENSSL_STACK *st, const void *data); -int OPENSSL_sk_push(OPENSSL_STACK *st, const void *data); -int OPENSSL_sk_unshift(OPENSSL_STACK *st, const void *data); -void *OPENSSL_sk_shift(OPENSSL_STACK *st); -void *OPENSSL_sk_pop(OPENSSL_STACK *st); -void OPENSSL_sk_zero(OPENSSL_STACK *st); -OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk, - OPENSSL_sk_compfunc cmp); -OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *st); -void OPENSSL_sk_sort(OPENSSL_STACK *st); -int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define _STACK OPENSSL_STACK -# define sk_num OPENSSL_sk_num -# define sk_value OPENSSL_sk_value -# define sk_set OPENSSL_sk_set -# define sk_new OPENSSL_sk_new -# define sk_new_null OPENSSL_sk_new_null -# define sk_free OPENSSL_sk_free -# define sk_pop_free OPENSSL_sk_pop_free -# define sk_deep_copy OPENSSL_sk_deep_copy -# define sk_insert OPENSSL_sk_insert -# define sk_delete OPENSSL_sk_delete -# define sk_delete_ptr OPENSSL_sk_delete_ptr -# define sk_find OPENSSL_sk_find -# define sk_find_ex OPENSSL_sk_find_ex -# define sk_push OPENSSL_sk_push -# define sk_unshift OPENSSL_sk_unshift -# define sk_shift OPENSSL_sk_shift -# define sk_pop OPENSSL_sk_pop -# define sk_zero OPENSSL_sk_zero -# define sk_set_cmp_func OPENSSL_sk_set_cmp_func -# define sk_dup OPENSSL_sk_dup -# define sk_sort OPENSSL_sk_sort -# define sk_is_sorted OPENSSL_sk_is_sorted -# endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/openssl/include/openssl/store.h b/deps/openssl/include/openssl/store.h deleted file mode 100644 index a40a7339..00000000 --- a/deps/openssl/include/openssl/store.h +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_OSSL_STORE_H -# define HEADER_OSSL_STORE_H - -# include -# include -# include -# include - -# ifdef __cplusplus -extern "C" { -# endif - -/*- - * The main OSSL_STORE functions. - * ------------------------------ - * - * These allow applications to open a channel to a resource with supported - * data (keys, certs, crls, ...), read the data a piece at a time and decide - * what to do with it, and finally close. - */ - -typedef struct ossl_store_ctx_st OSSL_STORE_CTX; - -/* - * Typedef for the OSSL_STORE_INFO post processing callback. This can be used - * to massage the given OSSL_STORE_INFO, or to drop it entirely (by returning - * NULL). - */ -typedef OSSL_STORE_INFO *(*OSSL_STORE_post_process_info_fn)(OSSL_STORE_INFO *, - void *); - -/* - * Open a channel given a URI. The given UI method will be used any time the - * loader needs extra input, for example when a password or pin is needed, and - * will be passed the same user data every time it's needed in this context. - * - * Returns a context reference which represents the channel to communicate - * through. - */ -OSSL_STORE_CTX *OSSL_STORE_open(const char *uri, const UI_METHOD *ui_method, - void *ui_data, - OSSL_STORE_post_process_info_fn post_process, - void *post_process_data); - -/* - * Control / fine tune the OSSL_STORE channel. |cmd| determines what is to be - * done, and depends on the underlying loader (use OSSL_STORE_get0_scheme to - * determine which loader is used), except for common commands (see below). - * Each command takes different arguments. - */ -int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ... /* args */); -int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, va_list args); - -/* - * Common ctrl commands that different loaders may choose to support. - */ -/* int on = 0 or 1; STORE_ctrl(ctx, STORE_C_USE_SECMEM, &on); */ -# define OSSL_STORE_C_USE_SECMEM 1 -/* Where custom commands start */ -# define OSSL_STORE_C_CUSTOM_START 100 - -/* - * Read one data item (a key, a cert, a CRL) that is supported by the OSSL_STORE - * functionality, given a context. - * Returns a OSSL_STORE_INFO pointer, from which OpenSSL typed data can be - * extracted with OSSL_STORE_INFO_get0_PKEY(), OSSL_STORE_INFO_get0_CERT(), ... - * NULL is returned on error, which may include that the data found at the URI - * can't be figured out for certain or is ambiguous. - */ -OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx); - -/* - * Check if end of data (end of file) is reached - * Returns 1 on end, 0 otherwise. - */ -int OSSL_STORE_eof(OSSL_STORE_CTX *ctx); - -/* - * Check if an error occurred - * Returns 1 if it did, 0 otherwise. - */ -int OSSL_STORE_error(OSSL_STORE_CTX *ctx); - -/* - * Close the channel - * Returns 1 on success, 0 on error. - */ -int OSSL_STORE_close(OSSL_STORE_CTX *ctx); - - -/*- - * Extracting OpenSSL types from and creating new OSSL_STORE_INFOs - * --------------------------------------------------------------- - */ - -/* - * Types of data that can be ossl_stored in a OSSL_STORE_INFO. - * OSSL_STORE_INFO_NAME is typically found when getting a listing of - * available "files" / "tokens" / what have you. - */ -# define OSSL_STORE_INFO_NAME 1 /* char * */ -# define OSSL_STORE_INFO_PARAMS 2 /* EVP_PKEY * */ -# define OSSL_STORE_INFO_PKEY 3 /* EVP_PKEY * */ -# define OSSL_STORE_INFO_CERT 4 /* X509 * */ -# define OSSL_STORE_INFO_CRL 5 /* X509_CRL * */ - -/* - * Functions to generate OSSL_STORE_INFOs, one function for each type we - * support having in them, as well as a generic constructor. - * - * In all cases, ownership of the object is transferred to the OSSL_STORE_INFO - * and will therefore be freed when the OSSL_STORE_INFO is freed. - */ -OSSL_STORE_INFO *OSSL_STORE_INFO_new_NAME(char *name); -int OSSL_STORE_INFO_set0_NAME_description(OSSL_STORE_INFO *info, char *desc); -OSSL_STORE_INFO *OSSL_STORE_INFO_new_PARAMS(EVP_PKEY *params); -OSSL_STORE_INFO *OSSL_STORE_INFO_new_PKEY(EVP_PKEY *pkey); -OSSL_STORE_INFO *OSSL_STORE_INFO_new_CERT(X509 *x509); -OSSL_STORE_INFO *OSSL_STORE_INFO_new_CRL(X509_CRL *crl); - -/* - * Functions to try to extract data from a OSSL_STORE_INFO. - */ -int OSSL_STORE_INFO_get_type(const OSSL_STORE_INFO *info); -const char *OSSL_STORE_INFO_get0_NAME(const OSSL_STORE_INFO *info); -char *OSSL_STORE_INFO_get1_NAME(const OSSL_STORE_INFO *info); -const char *OSSL_STORE_INFO_get0_NAME_description(const OSSL_STORE_INFO *info); -char *OSSL_STORE_INFO_get1_NAME_description(const OSSL_STORE_INFO *info); -EVP_PKEY *OSSL_STORE_INFO_get0_PARAMS(const OSSL_STORE_INFO *info); -EVP_PKEY *OSSL_STORE_INFO_get1_PARAMS(const OSSL_STORE_INFO *info); -EVP_PKEY *OSSL_STORE_INFO_get0_PKEY(const OSSL_STORE_INFO *info); -EVP_PKEY *OSSL_STORE_INFO_get1_PKEY(const OSSL_STORE_INFO *info); -X509 *OSSL_STORE_INFO_get0_CERT(const OSSL_STORE_INFO *info); -X509 *OSSL_STORE_INFO_get1_CERT(const OSSL_STORE_INFO *info); -X509_CRL *OSSL_STORE_INFO_get0_CRL(const OSSL_STORE_INFO *info); -X509_CRL *OSSL_STORE_INFO_get1_CRL(const OSSL_STORE_INFO *info); - -const char *OSSL_STORE_INFO_type_string(int type); - -/* - * Free the OSSL_STORE_INFO - */ -void OSSL_STORE_INFO_free(OSSL_STORE_INFO *info); - - -/*- - * Functions to construct a search URI from a base URI and search criteria - * ----------------------------------------------------------------------- - */ - -/* OSSL_STORE search types */ -# define OSSL_STORE_SEARCH_BY_NAME 1 /* subject in certs, issuer in CRLs */ -# define OSSL_STORE_SEARCH_BY_ISSUER_SERIAL 2 -# define OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT 3 -# define OSSL_STORE_SEARCH_BY_ALIAS 4 - -/* To check what search types the scheme handler supports */ -int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int search_type); - -/* Search term constructors */ -/* - * The input is considered to be owned by the caller, and must therefore - * remain present throughout the lifetime of the returned OSSL_STORE_SEARCH - */ -OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_name(X509_NAME *name); -OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_issuer_serial(X509_NAME *name, - const ASN1_INTEGER - *serial); -OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_key_fingerprint(const EVP_MD *digest, - const unsigned char - *bytes, size_t len); -OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_alias(const char *alias); - -/* Search term destructor */ -void OSSL_STORE_SEARCH_free(OSSL_STORE_SEARCH *search); - -/* Search term accessors */ -int OSSL_STORE_SEARCH_get_type(const OSSL_STORE_SEARCH *criterion); -X509_NAME *OSSL_STORE_SEARCH_get0_name(OSSL_STORE_SEARCH *criterion); -const ASN1_INTEGER *OSSL_STORE_SEARCH_get0_serial(const OSSL_STORE_SEARCH - *criterion); -const unsigned char *OSSL_STORE_SEARCH_get0_bytes(const OSSL_STORE_SEARCH - *criterion, size_t *length); -const char *OSSL_STORE_SEARCH_get0_string(const OSSL_STORE_SEARCH *criterion); -const EVP_MD *OSSL_STORE_SEARCH_get0_digest(const OSSL_STORE_SEARCH *criterion); - -/* - * Add search criterion and expected return type (which can be unspecified) - * to the loading channel. This MUST happen before the first OSSL_STORE_load(). - */ -int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type); -int OSSL_STORE_find(OSSL_STORE_CTX *ctx, OSSL_STORE_SEARCH *search); - - -/*- - * Function to register a loader for the given URI scheme. - * ------------------------------------------------------- - * - * The loader receives all the main components of an URI except for the - * scheme. - */ - -typedef struct ossl_store_loader_st OSSL_STORE_LOADER; -OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme); -const ENGINE *OSSL_STORE_LOADER_get0_engine(const OSSL_STORE_LOADER *loader); -const char *OSSL_STORE_LOADER_get0_scheme(const OSSL_STORE_LOADER *loader); -/* struct ossl_store_loader_ctx_st is defined differently by each loader */ -typedef struct ossl_store_loader_ctx_st OSSL_STORE_LOADER_CTX; -typedef OSSL_STORE_LOADER_CTX *(*OSSL_STORE_open_fn)(const OSSL_STORE_LOADER - *loader, - const char *uri, - const UI_METHOD *ui_method, - void *ui_data); -int OSSL_STORE_LOADER_set_open(OSSL_STORE_LOADER *loader, - OSSL_STORE_open_fn open_function); -typedef int (*OSSL_STORE_ctrl_fn)(OSSL_STORE_LOADER_CTX *ctx, int cmd, - va_list args); -int OSSL_STORE_LOADER_set_ctrl(OSSL_STORE_LOADER *loader, - OSSL_STORE_ctrl_fn ctrl_function); -typedef int (*OSSL_STORE_expect_fn)(OSSL_STORE_LOADER_CTX *ctx, int expected); -int OSSL_STORE_LOADER_set_expect(OSSL_STORE_LOADER *loader, - OSSL_STORE_expect_fn expect_function); -typedef int (*OSSL_STORE_find_fn)(OSSL_STORE_LOADER_CTX *ctx, - OSSL_STORE_SEARCH *criteria); -int OSSL_STORE_LOADER_set_find(OSSL_STORE_LOADER *loader, - OSSL_STORE_find_fn find_function); -typedef OSSL_STORE_INFO *(*OSSL_STORE_load_fn)(OSSL_STORE_LOADER_CTX *ctx, - const UI_METHOD *ui_method, - void *ui_data); -int OSSL_STORE_LOADER_set_load(OSSL_STORE_LOADER *loader, - OSSL_STORE_load_fn load_function); -typedef int (*OSSL_STORE_eof_fn)(OSSL_STORE_LOADER_CTX *ctx); -int OSSL_STORE_LOADER_set_eof(OSSL_STORE_LOADER *loader, - OSSL_STORE_eof_fn eof_function); -typedef int (*OSSL_STORE_error_fn)(OSSL_STORE_LOADER_CTX *ctx); -int OSSL_STORE_LOADER_set_error(OSSL_STORE_LOADER *loader, - OSSL_STORE_error_fn error_function); -typedef int (*OSSL_STORE_close_fn)(OSSL_STORE_LOADER_CTX *ctx); -int OSSL_STORE_LOADER_set_close(OSSL_STORE_LOADER *loader, - OSSL_STORE_close_fn close_function); -void OSSL_STORE_LOADER_free(OSSL_STORE_LOADER *loader); - -int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader); -OSSL_STORE_LOADER *OSSL_STORE_unregister_loader(const char *scheme); - -/*- - * Functions to list STORE loaders - * ------------------------------- - */ -int OSSL_STORE_do_all_loaders(void (*do_function) (const OSSL_STORE_LOADER - *loader, void *do_arg), - void *do_arg); - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/storeerr.h b/deps/openssl/include/openssl/storeerr.h deleted file mode 100644 index 190eab07..00000000 --- a/deps/openssl/include/openssl/storeerr.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_OSSL_STOREERR_H -# define HEADER_OSSL_STOREERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_OSSL_STORE_strings(void); - -/* - * OSSL_STORE function codes. - */ -# define OSSL_STORE_F_FILE_CTRL 129 -# define OSSL_STORE_F_FILE_FIND 138 -# define OSSL_STORE_F_FILE_GET_PASS 118 -# define OSSL_STORE_F_FILE_LOAD 119 -# define OSSL_STORE_F_FILE_LOAD_TRY_DECODE 124 -# define OSSL_STORE_F_FILE_NAME_TO_URI 126 -# define OSSL_STORE_F_FILE_OPEN 120 -# define OSSL_STORE_F_OSSL_STORE_ATTACH_PEM_BIO 127 -# define OSSL_STORE_F_OSSL_STORE_EXPECT 130 -# define OSSL_STORE_F_OSSL_STORE_FILE_ATTACH_PEM_BIO_INT 128 -# define OSSL_STORE_F_OSSL_STORE_FIND 131 -# define OSSL_STORE_F_OSSL_STORE_GET0_LOADER_INT 100 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CERT 101 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CRL 102 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME 103 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME_DESCRIPTION 135 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PARAMS 104 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PKEY 105 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CERT 106 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CRL 107 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_EMBEDDED 123 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_NAME 109 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PARAMS 110 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PKEY 111 -# define OSSL_STORE_F_OSSL_STORE_INFO_SET0_NAME_DESCRIPTION 134 -# define OSSL_STORE_F_OSSL_STORE_INIT_ONCE 112 -# define OSSL_STORE_F_OSSL_STORE_LOADER_NEW 113 -# define OSSL_STORE_F_OSSL_STORE_OPEN 114 -# define OSSL_STORE_F_OSSL_STORE_OPEN_INT 115 -# define OSSL_STORE_F_OSSL_STORE_REGISTER_LOADER_INT 117 -# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ALIAS 132 -# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ISSUER_SERIAL 133 -# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT 136 -# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_NAME 137 -# define OSSL_STORE_F_OSSL_STORE_UNREGISTER_LOADER_INT 116 -# define OSSL_STORE_F_TRY_DECODE_PARAMS 121 -# define OSSL_STORE_F_TRY_DECODE_PKCS12 122 -# define OSSL_STORE_F_TRY_DECODE_PKCS8ENCRYPTED 125 - -/* - * OSSL_STORE reason codes. - */ -# define OSSL_STORE_R_AMBIGUOUS_CONTENT_TYPE 107 -# define OSSL_STORE_R_BAD_PASSWORD_READ 115 -# define OSSL_STORE_R_ERROR_VERIFYING_PKCS12_MAC 113 -# define OSSL_STORE_R_FINGERPRINT_SIZE_DOES_NOT_MATCH_DIGEST 121 -# define OSSL_STORE_R_INVALID_SCHEME 106 -# define OSSL_STORE_R_IS_NOT_A 112 -# define OSSL_STORE_R_LOADER_INCOMPLETE 116 -# define OSSL_STORE_R_LOADING_STARTED 117 -# define OSSL_STORE_R_NOT_A_CERTIFICATE 100 -# define OSSL_STORE_R_NOT_A_CRL 101 -# define OSSL_STORE_R_NOT_A_KEY 102 -# define OSSL_STORE_R_NOT_A_NAME 103 -# define OSSL_STORE_R_NOT_PARAMETERS 104 -# define OSSL_STORE_R_PASSPHRASE_CALLBACK_ERROR 114 -# define OSSL_STORE_R_PATH_MUST_BE_ABSOLUTE 108 -# define OSSL_STORE_R_SEARCH_ONLY_SUPPORTED_FOR_DIRECTORIES 119 -# define OSSL_STORE_R_UI_PROCESS_INTERRUPTED_OR_CANCELLED 109 -# define OSSL_STORE_R_UNREGISTERED_SCHEME 105 -# define OSSL_STORE_R_UNSUPPORTED_CONTENT_TYPE 110 -# define OSSL_STORE_R_UNSUPPORTED_OPERATION 118 -# define OSSL_STORE_R_UNSUPPORTED_SEARCH_TYPE 120 -# define OSSL_STORE_R_URI_AUTHORITY_UNSUPPORTED 111 - -#endif diff --git a/deps/openssl/include/openssl/symhacks.h b/deps/openssl/include/openssl/symhacks.h deleted file mode 100644 index 156ea6e4..00000000 --- a/deps/openssl/include/openssl/symhacks.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_SYMHACKS_H -# define HEADER_SYMHACKS_H - -# include - -/* Case insensitive linking causes problems.... */ -# if defined(OPENSSL_SYS_VMS) -# undef ERR_load_CRYPTO_strings -# define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings -# undef OCSP_crlID_new -# define OCSP_crlID_new OCSP_crlID2_new - -# undef d2i_ECPARAMETERS -# define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS -# undef i2d_ECPARAMETERS -# define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS -# undef d2i_ECPKPARAMETERS -# define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS -# undef i2d_ECPKPARAMETERS -# define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS - -/* This one clashes with CMS_data_create */ -# undef cms_Data_create -# define cms_Data_create priv_cms_Data_create - -# endif - -#endif /* ! defined HEADER_VMS_IDHACKS_H */ diff --git a/deps/openssl/include/openssl/tls1.h b/deps/openssl/include/openssl/tls1.h deleted file mode 100644 index 76d9fda4..00000000 --- a/deps/openssl/include/openssl/tls1.h +++ /dev/null @@ -1,1237 +0,0 @@ -/* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved - * Copyright 2005 Nokia. All rights reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_TLS1_H -# define HEADER_TLS1_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Default security level if not overridden at config time */ -# ifndef OPENSSL_TLS_SECURITY_LEVEL -# define OPENSSL_TLS_SECURITY_LEVEL 1 -# endif - -# define TLS1_VERSION 0x0301 -# define TLS1_1_VERSION 0x0302 -# define TLS1_2_VERSION 0x0303 -# define TLS1_3_VERSION 0x0304 -# define TLS_MAX_VERSION TLS1_3_VERSION - -/* Special value for method supporting multiple versions */ -# define TLS_ANY_VERSION 0x10000 - -# define TLS1_VERSION_MAJOR 0x03 -# define TLS1_VERSION_MINOR 0x01 - -# define TLS1_1_VERSION_MAJOR 0x03 -# define TLS1_1_VERSION_MINOR 0x02 - -# define TLS1_2_VERSION_MAJOR 0x03 -# define TLS1_2_VERSION_MINOR 0x03 - -# define TLS1_get_version(s) \ - ((SSL_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_version(s) : 0) - -# define TLS1_get_client_version(s) \ - ((SSL_client_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_client_version(s) : 0) - -# define TLS1_AD_DECRYPTION_FAILED 21 -# define TLS1_AD_RECORD_OVERFLOW 22 -# define TLS1_AD_UNKNOWN_CA 48/* fatal */ -# define TLS1_AD_ACCESS_DENIED 49/* fatal */ -# define TLS1_AD_DECODE_ERROR 50/* fatal */ -# define TLS1_AD_DECRYPT_ERROR 51 -# define TLS1_AD_EXPORT_RESTRICTION 60/* fatal */ -# define TLS1_AD_PROTOCOL_VERSION 70/* fatal */ -# define TLS1_AD_INSUFFICIENT_SECURITY 71/* fatal */ -# define TLS1_AD_INTERNAL_ERROR 80/* fatal */ -# define TLS1_AD_INAPPROPRIATE_FALLBACK 86/* fatal */ -# define TLS1_AD_USER_CANCELLED 90 -# define TLS1_AD_NO_RENEGOTIATION 100 -/* TLSv1.3 alerts */ -# define TLS13_AD_MISSING_EXTENSION 109 /* fatal */ -# define TLS13_AD_CERTIFICATE_REQUIRED 116 /* fatal */ -/* codes 110-114 are from RFC3546 */ -# define TLS1_AD_UNSUPPORTED_EXTENSION 110 -# define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111 -# define TLS1_AD_UNRECOGNIZED_NAME 112 -# define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 -# define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114 -# define TLS1_AD_UNKNOWN_PSK_IDENTITY 115/* fatal */ -# define TLS1_AD_NO_APPLICATION_PROTOCOL 120 /* fatal */ - -/* ExtensionType values from RFC3546 / RFC4366 / RFC6066 */ -# define TLSEXT_TYPE_server_name 0 -# define TLSEXT_TYPE_max_fragment_length 1 -# define TLSEXT_TYPE_client_certificate_url 2 -# define TLSEXT_TYPE_trusted_ca_keys 3 -# define TLSEXT_TYPE_truncated_hmac 4 -# define TLSEXT_TYPE_status_request 5 -/* ExtensionType values from RFC4681 */ -# define TLSEXT_TYPE_user_mapping 6 -/* ExtensionType values from RFC5878 */ -# define TLSEXT_TYPE_client_authz 7 -# define TLSEXT_TYPE_server_authz 8 -/* ExtensionType values from RFC6091 */ -# define TLSEXT_TYPE_cert_type 9 - -/* ExtensionType values from RFC4492 */ -/* - * Prior to TLSv1.3 the supported_groups extension was known as - * elliptic_curves - */ -# define TLSEXT_TYPE_supported_groups 10 -# define TLSEXT_TYPE_elliptic_curves TLSEXT_TYPE_supported_groups -# define TLSEXT_TYPE_ec_point_formats 11 - - -/* ExtensionType value from RFC5054 */ -# define TLSEXT_TYPE_srp 12 - -/* ExtensionType values from RFC5246 */ -# define TLSEXT_TYPE_signature_algorithms 13 - -/* ExtensionType value from RFC5764 */ -# define TLSEXT_TYPE_use_srtp 14 - -/* ExtensionType value from RFC5620 */ -# define TLSEXT_TYPE_heartbeat 15 - -/* ExtensionType value from RFC7301 */ -# define TLSEXT_TYPE_application_layer_protocol_negotiation 16 - -/* - * Extension type for Certificate Transparency - * https://tools.ietf.org/html/rfc6962#section-3.3.1 - */ -# define TLSEXT_TYPE_signed_certificate_timestamp 18 - -/* - * ExtensionType value for TLS padding extension. - * http://tools.ietf.org/html/draft-agl-tls-padding - */ -# define TLSEXT_TYPE_padding 21 - -/* ExtensionType value from RFC7366 */ -# define TLSEXT_TYPE_encrypt_then_mac 22 - -/* ExtensionType value from RFC7627 */ -# define TLSEXT_TYPE_extended_master_secret 23 - -/* ExtensionType value from RFC4507 */ -# define TLSEXT_TYPE_session_ticket 35 - -/* As defined for TLS1.3 */ -# define TLSEXT_TYPE_psk 41 -# define TLSEXT_TYPE_early_data 42 -# define TLSEXT_TYPE_supported_versions 43 -# define TLSEXT_TYPE_cookie 44 -# define TLSEXT_TYPE_psk_kex_modes 45 -# define TLSEXT_TYPE_certificate_authorities 47 -# define TLSEXT_TYPE_post_handshake_auth 49 -# define TLSEXT_TYPE_signature_algorithms_cert 50 -# define TLSEXT_TYPE_key_share 51 - -/* Temporary extension type */ -# define TLSEXT_TYPE_renegotiate 0xff01 - -# ifndef OPENSSL_NO_NEXTPROTONEG -/* This is not an IANA defined extension number */ -# define TLSEXT_TYPE_next_proto_neg 13172 -# endif - -/* NameType value from RFC3546 */ -# define TLSEXT_NAMETYPE_host_name 0 -/* status request value from RFC3546 */ -# define TLSEXT_STATUSTYPE_ocsp 1 - -/* ECPointFormat values from RFC4492 */ -# define TLSEXT_ECPOINTFORMAT_first 0 -# define TLSEXT_ECPOINTFORMAT_uncompressed 0 -# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1 -# define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 2 -# define TLSEXT_ECPOINTFORMAT_last 2 - -/* Signature and hash algorithms from RFC5246 */ -# define TLSEXT_signature_anonymous 0 -# define TLSEXT_signature_rsa 1 -# define TLSEXT_signature_dsa 2 -# define TLSEXT_signature_ecdsa 3 -# define TLSEXT_signature_gostr34102001 237 -# define TLSEXT_signature_gostr34102012_256 238 -# define TLSEXT_signature_gostr34102012_512 239 - -/* Total number of different signature algorithms */ -# define TLSEXT_signature_num 7 - -# define TLSEXT_hash_none 0 -# define TLSEXT_hash_md5 1 -# define TLSEXT_hash_sha1 2 -# define TLSEXT_hash_sha224 3 -# define TLSEXT_hash_sha256 4 -# define TLSEXT_hash_sha384 5 -# define TLSEXT_hash_sha512 6 -# define TLSEXT_hash_gostr3411 237 -# define TLSEXT_hash_gostr34112012_256 238 -# define TLSEXT_hash_gostr34112012_512 239 - -/* Total number of different digest algorithms */ - -# define TLSEXT_hash_num 10 - -/* Flag set for unrecognised algorithms */ -# define TLSEXT_nid_unknown 0x1000000 - -/* ECC curves */ - -# define TLSEXT_curve_P_256 23 -# define TLSEXT_curve_P_384 24 - -/* OpenSSL value to disable maximum fragment length extension */ -# define TLSEXT_max_fragment_length_DISABLED 0 -/* Allowed values for max fragment length extension */ -# define TLSEXT_max_fragment_length_512 1 -# define TLSEXT_max_fragment_length_1024 2 -# define TLSEXT_max_fragment_length_2048 3 -# define TLSEXT_max_fragment_length_4096 4 - -int SSL_CTX_set_tlsext_max_fragment_length(SSL_CTX *ctx, uint8_t mode); -int SSL_set_tlsext_max_fragment_length(SSL *ssl, uint8_t mode); - -# define TLSEXT_MAXLEN_host_name 255 - -__owur const char *SSL_get_servername(const SSL *s, const int type); -__owur int SSL_get_servername_type(const SSL *s); -/* - * SSL_export_keying_material exports a value derived from the master secret, - * as specified in RFC 5705. It writes |olen| bytes to |out| given a label and - * optional context. (Since a zero length context is allowed, the |use_context| - * flag controls whether a context is included.) It returns 1 on success and - * 0 or -1 otherwise. - */ -__owur int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, - const char *label, size_t llen, - const unsigned char *context, - size_t contextlen, int use_context); - -/* - * SSL_export_keying_material_early exports a value derived from the - * early exporter master secret, as specified in - * https://tools.ietf.org/html/draft-ietf-tls-tls13-23. It writes - * |olen| bytes to |out| given a label and optional context. It - * returns 1 on success and 0 otherwise. - */ -__owur int SSL_export_keying_material_early(SSL *s, unsigned char *out, - size_t olen, const char *label, - size_t llen, - const unsigned char *context, - size_t contextlen); - -int SSL_get_peer_signature_type_nid(const SSL *s, int *pnid); -int SSL_get_signature_type_nid(const SSL *s, int *pnid); - -int SSL_get_sigalgs(SSL *s, int idx, - int *psign, int *phash, int *psignandhash, - unsigned char *rsig, unsigned char *rhash); - -int SSL_get_shared_sigalgs(SSL *s, int idx, - int *psign, int *phash, int *psignandhash, - unsigned char *rsig, unsigned char *rhash); - -__owur int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain); - -# define SSL_set_tlsext_host_name(s,name) \ - SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,\ - (void *)name) - -# define SSL_set_tlsext_debug_callback(ssl, cb) \ - SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,\ - (void (*)(void))cb) - -# define SSL_set_tlsext_debug_arg(ssl, arg) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0,arg) - -# define SSL_get_tlsext_status_type(ssl) \ - SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0,NULL) - -# define SSL_set_tlsext_status_type(ssl, type) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type,NULL) - -# define SSL_get_tlsext_status_exts(ssl, arg) \ - SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0,arg) - -# define SSL_set_tlsext_status_exts(ssl, arg) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0,arg) - -# define SSL_get_tlsext_status_ids(ssl, arg) \ - SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS,0,arg) - -# define SSL_set_tlsext_status_ids(ssl, arg) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0,arg) - -# define SSL_get_tlsext_status_ocsp_resp(ssl, arg) \ - SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,0,arg) - -# define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen,arg) - -# define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \ - SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,\ - (void (*)(void))cb) - -# define SSL_TLSEXT_ERR_OK 0 -# define SSL_TLSEXT_ERR_ALERT_WARNING 1 -# define SSL_TLSEXT_ERR_ALERT_FATAL 2 -# define SSL_TLSEXT_ERR_NOACK 3 - -# define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0,arg) - -# define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_TLSEXT_TICKET_KEYS,keylen,keys) -# define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_TICKET_KEYS,keylen,keys) - -# define SSL_CTX_get_tlsext_status_cb(ssl, cb) \ - SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB,0,(void *)cb) -# define SSL_CTX_set_tlsext_status_cb(ssl, cb) \ - SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,\ - (void (*)(void))cb) - -# define SSL_CTX_get_tlsext_status_arg(ssl, arg) \ - SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG,0,arg) -# define SSL_CTX_set_tlsext_status_arg(ssl, arg) \ - SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0,arg) - -# define SSL_CTX_set_tlsext_status_type(ssl, type) \ - SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type,NULL) - -# define SSL_CTX_get_tlsext_status_type(ssl) \ - SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0,NULL) - -# define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ - SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,\ - (void (*)(void))cb) - -# ifndef OPENSSL_NO_HEARTBEATS -# define SSL_DTLSEXT_HB_ENABLED 0x01 -# define SSL_DTLSEXT_HB_DONT_SEND_REQUESTS 0x02 -# define SSL_DTLSEXT_HB_DONT_RECV_REQUESTS 0x04 -# define SSL_get_dtlsext_heartbeat_pending(ssl) \ - SSL_ctrl(ssl,SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING,0,NULL) -# define SSL_set_dtlsext_heartbeat_no_requests(ssl, arg) \ - SSL_ctrl(ssl,SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) - -# if OPENSSL_API_COMPAT < 0x10100000L -# define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT \ - SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT -# define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING \ - SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING -# define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS \ - SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS -# define SSL_TLSEXT_HB_ENABLED \ - SSL_DTLSEXT_HB_ENABLED -# define SSL_TLSEXT_HB_DONT_SEND_REQUESTS \ - SSL_DTLSEXT_HB_DONT_SEND_REQUESTS -# define SSL_TLSEXT_HB_DONT_RECV_REQUESTS \ - SSL_DTLSEXT_HB_DONT_RECV_REQUESTS -# define SSL_get_tlsext_heartbeat_pending(ssl) \ - SSL_get_dtlsext_heartbeat_pending(ssl) -# define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ - SSL_set_dtlsext_heartbeat_no_requests(ssl,arg) -# endif -# endif - -/* PSK ciphersuites from 4279 */ -# define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A -# define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008B -# define TLS1_CK_PSK_WITH_AES_128_CBC_SHA 0x0300008C -# define TLS1_CK_PSK_WITH_AES_256_CBC_SHA 0x0300008D -# define TLS1_CK_DHE_PSK_WITH_RC4_128_SHA 0x0300008E -# define TLS1_CK_DHE_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008F -# define TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA 0x03000090 -# define TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA 0x03000091 -# define TLS1_CK_RSA_PSK_WITH_RC4_128_SHA 0x03000092 -# define TLS1_CK_RSA_PSK_WITH_3DES_EDE_CBC_SHA 0x03000093 -# define TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA 0x03000094 -# define TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA 0x03000095 - -/* PSK ciphersuites from 5487 */ -# define TLS1_CK_PSK_WITH_AES_128_GCM_SHA256 0x030000A8 -# define TLS1_CK_PSK_WITH_AES_256_GCM_SHA384 0x030000A9 -# define TLS1_CK_DHE_PSK_WITH_AES_128_GCM_SHA256 0x030000AA -# define TLS1_CK_DHE_PSK_WITH_AES_256_GCM_SHA384 0x030000AB -# define TLS1_CK_RSA_PSK_WITH_AES_128_GCM_SHA256 0x030000AC -# define TLS1_CK_RSA_PSK_WITH_AES_256_GCM_SHA384 0x030000AD -# define TLS1_CK_PSK_WITH_AES_128_CBC_SHA256 0x030000AE -# define TLS1_CK_PSK_WITH_AES_256_CBC_SHA384 0x030000AF -# define TLS1_CK_PSK_WITH_NULL_SHA256 0x030000B0 -# define TLS1_CK_PSK_WITH_NULL_SHA384 0x030000B1 -# define TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA256 0x030000B2 -# define TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA384 0x030000B3 -# define TLS1_CK_DHE_PSK_WITH_NULL_SHA256 0x030000B4 -# define TLS1_CK_DHE_PSK_WITH_NULL_SHA384 0x030000B5 -# define TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA256 0x030000B6 -# define TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA384 0x030000B7 -# define TLS1_CK_RSA_PSK_WITH_NULL_SHA256 0x030000B8 -# define TLS1_CK_RSA_PSK_WITH_NULL_SHA384 0x030000B9 - -/* NULL PSK ciphersuites from RFC4785 */ -# define TLS1_CK_PSK_WITH_NULL_SHA 0x0300002C -# define TLS1_CK_DHE_PSK_WITH_NULL_SHA 0x0300002D -# define TLS1_CK_RSA_PSK_WITH_NULL_SHA 0x0300002E - -/* AES ciphersuites from RFC3268 */ -# define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F -# define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 -# define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 -# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 -# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 -# define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 -# define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 -# define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 -# define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 -# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 -# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 -# define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A - -/* TLS v1.2 ciphersuites */ -# define TLS1_CK_RSA_WITH_NULL_SHA256 0x0300003B -# define TLS1_CK_RSA_WITH_AES_128_SHA256 0x0300003C -# define TLS1_CK_RSA_WITH_AES_256_SHA256 0x0300003D -# define TLS1_CK_DH_DSS_WITH_AES_128_SHA256 0x0300003E -# define TLS1_CK_DH_RSA_WITH_AES_128_SHA256 0x0300003F -# define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256 0x03000040 - -/* Camellia ciphersuites from RFC4132 */ -# define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 -# define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 -# define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 -# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 -# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 -# define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 - -/* TLS v1.2 ciphersuites */ -# define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256 0x03000067 -# define TLS1_CK_DH_DSS_WITH_AES_256_SHA256 0x03000068 -# define TLS1_CK_DH_RSA_WITH_AES_256_SHA256 0x03000069 -# define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256 0x0300006A -# define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256 0x0300006B -# define TLS1_CK_ADH_WITH_AES_128_SHA256 0x0300006C -# define TLS1_CK_ADH_WITH_AES_256_SHA256 0x0300006D - -/* Camellia ciphersuites from RFC4132 */ -# define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 -# define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 -# define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 -# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 -# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 -# define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 - -/* SEED ciphersuites from RFC4162 */ -# define TLS1_CK_RSA_WITH_SEED_SHA 0x03000096 -# define TLS1_CK_DH_DSS_WITH_SEED_SHA 0x03000097 -# define TLS1_CK_DH_RSA_WITH_SEED_SHA 0x03000098 -# define TLS1_CK_DHE_DSS_WITH_SEED_SHA 0x03000099 -# define TLS1_CK_DHE_RSA_WITH_SEED_SHA 0x0300009A -# define TLS1_CK_ADH_WITH_SEED_SHA 0x0300009B - -/* TLS v1.2 GCM ciphersuites from RFC5288 */ -# define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256 0x0300009C -# define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384 0x0300009D -# define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0300009E -# define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384 0x0300009F -# define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256 0x030000A0 -# define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384 0x030000A1 -# define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256 0x030000A2 -# define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384 0x030000A3 -# define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256 0x030000A4 -# define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384 0x030000A5 -# define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 -# define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 - -/* CCM ciphersuites from RFC6655 */ -# define TLS1_CK_RSA_WITH_AES_128_CCM 0x0300C09C -# define TLS1_CK_RSA_WITH_AES_256_CCM 0x0300C09D -# define TLS1_CK_DHE_RSA_WITH_AES_128_CCM 0x0300C09E -# define TLS1_CK_DHE_RSA_WITH_AES_256_CCM 0x0300C09F -# define TLS1_CK_RSA_WITH_AES_128_CCM_8 0x0300C0A0 -# define TLS1_CK_RSA_WITH_AES_256_CCM_8 0x0300C0A1 -# define TLS1_CK_DHE_RSA_WITH_AES_128_CCM_8 0x0300C0A2 -# define TLS1_CK_DHE_RSA_WITH_AES_256_CCM_8 0x0300C0A3 -# define TLS1_CK_PSK_WITH_AES_128_CCM 0x0300C0A4 -# define TLS1_CK_PSK_WITH_AES_256_CCM 0x0300C0A5 -# define TLS1_CK_DHE_PSK_WITH_AES_128_CCM 0x0300C0A6 -# define TLS1_CK_DHE_PSK_WITH_AES_256_CCM 0x0300C0A7 -# define TLS1_CK_PSK_WITH_AES_128_CCM_8 0x0300C0A8 -# define TLS1_CK_PSK_WITH_AES_256_CCM_8 0x0300C0A9 -# define TLS1_CK_DHE_PSK_WITH_AES_128_CCM_8 0x0300C0AA -# define TLS1_CK_DHE_PSK_WITH_AES_256_CCM_8 0x0300C0AB - -/* CCM ciphersuites from RFC7251 */ -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM 0x0300C0AC -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM 0x0300C0AD -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM_8 0x0300C0AE -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM_8 0x0300C0AF - -/* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */ -# define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BA -# define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x030000BB -# define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BC -# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x030000BD -# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BE -# define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA256 0x030000BF - -# define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C0 -# define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x030000C1 -# define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C2 -# define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x030000C3 -# define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C4 -# define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA256 0x030000C5 - -/* ECC ciphersuites from RFC4492 */ -# define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 -# define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 -# define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003 -# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004 -# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005 - -# define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006 -# define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007 -# define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008 -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009 -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A - -# define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B -# define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C -# define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D -# define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E -# define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F - -# define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010 -# define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011 -# define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012 -# define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013 -# define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014 - -# define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015 -# define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016 -# define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017 -# define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018 -# define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019 - -/* SRP ciphersuites from RFC 5054 */ -# define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0x0300C01A -# define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0x0300C01B -# define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0x0300C01C -# define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA 0x0300C01D -# define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0x0300C01E -# define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0x0300C01F -# define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA 0x0300C020 -# define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0x0300C021 -# define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0x0300C022 - -/* ECDH HMAC based ciphersuites from RFC5289 */ -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256 0x0300C023 -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384 0x0300C024 -# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256 0x0300C025 -# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384 0x0300C026 -# define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256 0x0300C027 -# define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384 0x0300C028 -# define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256 0x0300C029 -# define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384 0x0300C02A - -/* ECDH GCM based ciphersuites from RFC5289 */ -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02B -# define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02C -# define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02D -# define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02E -# define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0x0300C02F -# define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0x0300C030 -# define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256 0x0300C031 -# define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 - -/* ECDHE PSK ciphersuites from RFC5489 */ -# define TLS1_CK_ECDHE_PSK_WITH_RC4_128_SHA 0x0300C033 -# define TLS1_CK_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 0x0300C034 -# define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA 0x0300C035 -# define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA 0x0300C036 - -# define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA256 0x0300C037 -# define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA384 0x0300C038 - -/* NULL PSK ciphersuites from RFC4785 */ -# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA 0x0300C039 -# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA256 0x0300C03A -# define TLS1_CK_ECDHE_PSK_WITH_NULL_SHA384 0x0300C03B - -/* Camellia-CBC ciphersuites from RFC6367 */ -# define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C072 -# define TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C073 -# define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C074 -# define TLS1_CK_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C075 -# define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C076 -# define TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C077 -# define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x0300C078 -# define TLS1_CK_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 0x0300C079 - -# define TLS1_CK_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C094 -# define TLS1_CK_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C095 -# define TLS1_CK_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C096 -# define TLS1_CK_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C097 -# define TLS1_CK_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C098 -# define TLS1_CK_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C099 -# define TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0x0300C09A -# define TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0x0300C09B - -/* draft-ietf-tls-chacha20-poly1305-03 */ -# define TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305 0x0300CCA8 -# define TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 0x0300CCA9 -# define TLS1_CK_DHE_RSA_WITH_CHACHA20_POLY1305 0x0300CCAA -# define TLS1_CK_PSK_WITH_CHACHA20_POLY1305 0x0300CCAB -# define TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305 0x0300CCAC -# define TLS1_CK_DHE_PSK_WITH_CHACHA20_POLY1305 0x0300CCAD -# define TLS1_CK_RSA_PSK_WITH_CHACHA20_POLY1305 0x0300CCAE - -/* TLS v1.3 ciphersuites */ -# define TLS1_3_CK_AES_128_GCM_SHA256 0x03001301 -# define TLS1_3_CK_AES_256_GCM_SHA384 0x03001302 -# define TLS1_3_CK_CHACHA20_POLY1305_SHA256 0x03001303 -# define TLS1_3_CK_AES_128_CCM_SHA256 0x03001304 -# define TLS1_3_CK_AES_128_CCM_8_SHA256 0x03001305 - -/* Aria ciphersuites from RFC6209 */ -# define TLS1_CK_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C050 -# define TLS1_CK_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C051 -# define TLS1_CK_DHE_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C052 -# define TLS1_CK_DHE_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C053 -# define TLS1_CK_DH_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C054 -# define TLS1_CK_DH_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C055 -# define TLS1_CK_DHE_DSS_WITH_ARIA_128_GCM_SHA256 0x0300C056 -# define TLS1_CK_DHE_DSS_WITH_ARIA_256_GCM_SHA384 0x0300C057 -# define TLS1_CK_DH_DSS_WITH_ARIA_128_GCM_SHA256 0x0300C058 -# define TLS1_CK_DH_DSS_WITH_ARIA_256_GCM_SHA384 0x0300C059 -# define TLS1_CK_DH_anon_WITH_ARIA_128_GCM_SHA256 0x0300C05A -# define TLS1_CK_DH_anon_WITH_ARIA_256_GCM_SHA384 0x0300C05B -# define TLS1_CK_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 0x0300C05C -# define TLS1_CK_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 0x0300C05D -# define TLS1_CK_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 0x0300C05E -# define TLS1_CK_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 0x0300C05F -# define TLS1_CK_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C060 -# define TLS1_CK_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C061 -# define TLS1_CK_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 0x0300C062 -# define TLS1_CK_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 0x0300C063 -# define TLS1_CK_PSK_WITH_ARIA_128_GCM_SHA256 0x0300C06A -# define TLS1_CK_PSK_WITH_ARIA_256_GCM_SHA384 0x0300C06B -# define TLS1_CK_DHE_PSK_WITH_ARIA_128_GCM_SHA256 0x0300C06C -# define TLS1_CK_DHE_PSK_WITH_ARIA_256_GCM_SHA384 0x0300C06D -# define TLS1_CK_RSA_PSK_WITH_ARIA_128_GCM_SHA256 0x0300C06E -# define TLS1_CK_RSA_PSK_WITH_ARIA_256_GCM_SHA384 0x0300C06F - -/* a bundle of RFC standard cipher names, generated from ssl3_ciphers[] */ -# define TLS1_RFC_RSA_WITH_AES_128_SHA "TLS_RSA_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_DHE_DSS_WITH_AES_128_SHA "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_DHE_RSA_WITH_AES_128_SHA "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_ADH_WITH_AES_128_SHA "TLS_DH_anon_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_RSA_WITH_AES_256_SHA "TLS_RSA_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_DHE_DSS_WITH_AES_256_SHA "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_DHE_RSA_WITH_AES_256_SHA "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_ADH_WITH_AES_256_SHA "TLS_DH_anon_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_RSA_WITH_NULL_SHA256 "TLS_RSA_WITH_NULL_SHA256" -# define TLS1_RFC_RSA_WITH_AES_128_SHA256 "TLS_RSA_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_RSA_WITH_AES_256_SHA256 "TLS_RSA_WITH_AES_256_CBC_SHA256" -# define TLS1_RFC_DHE_DSS_WITH_AES_128_SHA256 "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_DHE_RSA_WITH_AES_128_SHA256 "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_DHE_DSS_WITH_AES_256_SHA256 "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" -# define TLS1_RFC_DHE_RSA_WITH_AES_256_SHA256 "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256" -# define TLS1_RFC_ADH_WITH_AES_128_SHA256 "TLS_DH_anon_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_ADH_WITH_AES_256_SHA256 "TLS_DH_anon_WITH_AES_256_CBC_SHA256" -# define TLS1_RFC_RSA_WITH_AES_128_GCM_SHA256 "TLS_RSA_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_RSA_WITH_AES_256_GCM_SHA384 "TLS_RSA_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_DHE_RSA_WITH_AES_128_GCM_SHA256 "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_DHE_RSA_WITH_AES_256_GCM_SHA384 "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_DHE_DSS_WITH_AES_128_GCM_SHA256 "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_DHE_DSS_WITH_AES_256_GCM_SHA384 "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_ADH_WITH_AES_128_GCM_SHA256 "TLS_DH_anon_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_ADH_WITH_AES_256_GCM_SHA384 "TLS_DH_anon_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_RSA_WITH_AES_128_CCM "TLS_RSA_WITH_AES_128_CCM" -# define TLS1_RFC_RSA_WITH_AES_256_CCM "TLS_RSA_WITH_AES_256_CCM" -# define TLS1_RFC_DHE_RSA_WITH_AES_128_CCM "TLS_DHE_RSA_WITH_AES_128_CCM" -# define TLS1_RFC_DHE_RSA_WITH_AES_256_CCM "TLS_DHE_RSA_WITH_AES_256_CCM" -# define TLS1_RFC_RSA_WITH_AES_128_CCM_8 "TLS_RSA_WITH_AES_128_CCM_8" -# define TLS1_RFC_RSA_WITH_AES_256_CCM_8 "TLS_RSA_WITH_AES_256_CCM_8" -# define TLS1_RFC_DHE_RSA_WITH_AES_128_CCM_8 "TLS_DHE_RSA_WITH_AES_128_CCM_8" -# define TLS1_RFC_DHE_RSA_WITH_AES_256_CCM_8 "TLS_DHE_RSA_WITH_AES_256_CCM_8" -# define TLS1_RFC_PSK_WITH_AES_128_CCM "TLS_PSK_WITH_AES_128_CCM" -# define TLS1_RFC_PSK_WITH_AES_256_CCM "TLS_PSK_WITH_AES_256_CCM" -# define TLS1_RFC_DHE_PSK_WITH_AES_128_CCM "TLS_DHE_PSK_WITH_AES_128_CCM" -# define TLS1_RFC_DHE_PSK_WITH_AES_256_CCM "TLS_DHE_PSK_WITH_AES_256_CCM" -# define TLS1_RFC_PSK_WITH_AES_128_CCM_8 "TLS_PSK_WITH_AES_128_CCM_8" -# define TLS1_RFC_PSK_WITH_AES_256_CCM_8 "TLS_PSK_WITH_AES_256_CCM_8" -# define TLS1_RFC_DHE_PSK_WITH_AES_128_CCM_8 "TLS_PSK_DHE_WITH_AES_128_CCM_8" -# define TLS1_RFC_DHE_PSK_WITH_AES_256_CCM_8 "TLS_PSK_DHE_WITH_AES_256_CCM_8" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM "TLS_ECDHE_ECDSA_WITH_AES_128_CCM" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM "TLS_ECDHE_ECDSA_WITH_AES_256_CCM" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM_8 "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM_8 "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8" -# define TLS1_3_RFC_AES_128_GCM_SHA256 "TLS_AES_128_GCM_SHA256" -# define TLS1_3_RFC_AES_256_GCM_SHA384 "TLS_AES_256_GCM_SHA384" -# define TLS1_3_RFC_CHACHA20_POLY1305_SHA256 "TLS_CHACHA20_POLY1305_SHA256" -# define TLS1_3_RFC_AES_128_CCM_SHA256 "TLS_AES_128_CCM_SHA256" -# define TLS1_3_RFC_AES_128_CCM_8_SHA256 "TLS_AES_128_CCM_8_SHA256" -# define TLS1_RFC_ECDHE_ECDSA_WITH_NULL_SHA "TLS_ECDHE_ECDSA_WITH_NULL_SHA" -# define TLS1_RFC_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_ECDHE_RSA_WITH_NULL_SHA "TLS_ECDHE_RSA_WITH_NULL_SHA" -# define TLS1_RFC_ECDHE_RSA_WITH_DES_192_CBC3_SHA "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_ECDHE_RSA_WITH_AES_128_CBC_SHA "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_ECDHE_RSA_WITH_AES_256_CBC_SHA "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_ECDH_anon_WITH_NULL_SHA "TLS_ECDH_anon_WITH_NULL_SHA" -# define TLS1_RFC_ECDH_anon_WITH_DES_192_CBC3_SHA "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_ECDH_anon_WITH_AES_128_CBC_SHA "TLS_ECDH_anon_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_ECDH_anon_WITH_AES_256_CBC_SHA "TLS_ECDH_anon_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_SHA256 "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_SHA384 "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" -# define TLS1_RFC_ECDHE_RSA_WITH_AES_128_SHA256 "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_ECDHE_RSA_WITH_AES_256_SHA384 "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_PSK_WITH_NULL_SHA "TLS_PSK_WITH_NULL_SHA" -# define TLS1_RFC_DHE_PSK_WITH_NULL_SHA "TLS_DHE_PSK_WITH_NULL_SHA" -# define TLS1_RFC_RSA_PSK_WITH_NULL_SHA "TLS_RSA_PSK_WITH_NULL_SHA" -# define TLS1_RFC_PSK_WITH_3DES_EDE_CBC_SHA "TLS_PSK_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_PSK_WITH_AES_128_CBC_SHA "TLS_PSK_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_PSK_WITH_AES_256_CBC_SHA "TLS_PSK_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_DHE_PSK_WITH_3DES_EDE_CBC_SHA "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA "TLS_DHE_PSK_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA "TLS_DHE_PSK_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_RSA_PSK_WITH_3DES_EDE_CBC_SHA "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA "TLS_RSA_PSK_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA "TLS_RSA_PSK_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_PSK_WITH_AES_128_GCM_SHA256 "TLS_PSK_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_PSK_WITH_AES_256_GCM_SHA384 "TLS_PSK_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_DHE_PSK_WITH_AES_128_GCM_SHA256 "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_DHE_PSK_WITH_AES_256_GCM_SHA384 "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_RSA_PSK_WITH_AES_128_GCM_SHA256 "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256" -# define TLS1_RFC_RSA_PSK_WITH_AES_256_GCM_SHA384 "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384" -# define TLS1_RFC_PSK_WITH_AES_128_CBC_SHA256 "TLS_PSK_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_PSK_WITH_AES_256_CBC_SHA384 "TLS_PSK_WITH_AES_256_CBC_SHA384" -# define TLS1_RFC_PSK_WITH_NULL_SHA256 "TLS_PSK_WITH_NULL_SHA256" -# define TLS1_RFC_PSK_WITH_NULL_SHA384 "TLS_PSK_WITH_NULL_SHA384" -# define TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA256 "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA384 "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384" -# define TLS1_RFC_DHE_PSK_WITH_NULL_SHA256 "TLS_DHE_PSK_WITH_NULL_SHA256" -# define TLS1_RFC_DHE_PSK_WITH_NULL_SHA384 "TLS_DHE_PSK_WITH_NULL_SHA384" -# define TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA256 "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA384 "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384" -# define TLS1_RFC_RSA_PSK_WITH_NULL_SHA256 "TLS_RSA_PSK_WITH_NULL_SHA256" -# define TLS1_RFC_RSA_PSK_WITH_NULL_SHA384 "TLS_RSA_PSK_WITH_NULL_SHA384" -# define TLS1_RFC_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA256 "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256" -# define TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA384 "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384" -# define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA "TLS_ECDHE_PSK_WITH_NULL_SHA" -# define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA256 "TLS_ECDHE_PSK_WITH_NULL_SHA256" -# define TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA384 "TLS_ECDHE_PSK_WITH_NULL_SHA384" -# define TLS1_RFC_SRP_SHA_WITH_3DES_EDE_CBC_SHA "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA" -# define TLS1_RFC_SRP_SHA_WITH_AES_128_CBC_SHA "TLS_SRP_SHA_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA" -# define TLS1_RFC_SRP_SHA_WITH_AES_256_CBC_SHA "TLS_SRP_SHA_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA" -# define TLS1_RFC_DHE_RSA_WITH_CHACHA20_POLY1305 "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256" -# define TLS1_RFC_ECDHE_RSA_WITH_CHACHA20_POLY1305 "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" -# define TLS1_RFC_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" -# define TLS1_RFC_PSK_WITH_CHACHA20_POLY1305 "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256" -# define TLS1_RFC_ECDHE_PSK_WITH_CHACHA20_POLY1305 "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256" -# define TLS1_RFC_DHE_PSK_WITH_CHACHA20_POLY1305 "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256" -# define TLS1_RFC_RSA_PSK_WITH_CHACHA20_POLY1305 "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256" -# define TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA256 "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA256 "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256" -# define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256" -# define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256" -# define TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA256 "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256" -# define TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA" -# define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA" -# define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA" -# define TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA" -# define TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA" -# define TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA" -# define TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA" -# define TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA" -# define TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384" -# define TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384" -# define TLS1_RFC_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384" -# define TLS1_RFC_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384" -# define TLS1_RFC_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384" -# define TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256" -# define TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384" -# define TLS1_RFC_RSA_WITH_SEED_SHA "TLS_RSA_WITH_SEED_CBC_SHA" -# define TLS1_RFC_DHE_DSS_WITH_SEED_SHA "TLS_DHE_DSS_WITH_SEED_CBC_SHA" -# define TLS1_RFC_DHE_RSA_WITH_SEED_SHA "TLS_DHE_RSA_WITH_SEED_CBC_SHA" -# define TLS1_RFC_ADH_WITH_SEED_SHA "TLS_DH_anon_WITH_SEED_CBC_SHA" -# define TLS1_RFC_ECDHE_PSK_WITH_RC4_128_SHA "TLS_ECDHE_PSK_WITH_RC4_128_SHA" -# define TLS1_RFC_ECDH_anon_WITH_RC4_128_SHA "TLS_ECDH_anon_WITH_RC4_128_SHA" -# define TLS1_RFC_ECDHE_ECDSA_WITH_RC4_128_SHA "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA" -# define TLS1_RFC_ECDHE_RSA_WITH_RC4_128_SHA "TLS_ECDHE_RSA_WITH_RC4_128_SHA" -# define TLS1_RFC_PSK_WITH_RC4_128_SHA "TLS_PSK_WITH_RC4_128_SHA" -# define TLS1_RFC_RSA_PSK_WITH_RC4_128_SHA "TLS_RSA_PSK_WITH_RC4_128_SHA" -# define TLS1_RFC_DHE_PSK_WITH_RC4_128_SHA "TLS_DHE_PSK_WITH_RC4_128_SHA" -# define TLS1_RFC_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_RSA_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_RSA_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_DHE_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_DHE_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_DH_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_DH_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_DHE_DSS_WITH_ARIA_128_GCM_SHA256 "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_DHE_DSS_WITH_ARIA_256_GCM_SHA384 "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_DH_DSS_WITH_ARIA_128_GCM_SHA256 "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_DH_DSS_WITH_ARIA_256_GCM_SHA384 "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_DH_anon_WITH_ARIA_128_GCM_SHA256 "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_DH_anon_WITH_ARIA_256_GCM_SHA384 "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_PSK_WITH_ARIA_128_GCM_SHA256 "TLS_PSK_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_PSK_WITH_ARIA_256_GCM_SHA384 "TLS_PSK_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_DHE_PSK_WITH_ARIA_128_GCM_SHA256 "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_DHE_PSK_WITH_ARIA_256_GCM_SHA384 "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384" -# define TLS1_RFC_RSA_PSK_WITH_ARIA_128_GCM_SHA256 "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256" -# define TLS1_RFC_RSA_PSK_WITH_ARIA_256_GCM_SHA384 "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384" - - -/* - * XXX Backward compatibility alert: Older versions of OpenSSL gave some DHE - * ciphers names with "EDH" instead of "DHE". Going forward, we should be - * using DHE everywhere, though we may indefinitely maintain aliases for - * users or configurations that used "EDH" - */ -# define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" - -# define TLS1_TXT_PSK_WITH_NULL_SHA "PSK-NULL-SHA" -# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA "DHE-PSK-NULL-SHA" -# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA "RSA-PSK-NULL-SHA" - -/* AES ciphersuites from RFC3268 */ -# define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" -# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" -# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" -# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" -# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" -# define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" - -# define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" -# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" -# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" -# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" -# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" -# define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" - -/* ECC ciphersuites from RFC4492 */ -# define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" -# define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" -# define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" -# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" -# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" - -# define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" -# define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" -# define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" - -# define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" -# define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" -# define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" -# define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" -# define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" - -# define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" -# define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" -# define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" -# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" -# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" - -# define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" -# define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" -# define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" -# define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" -# define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" - -/* PSK ciphersuites from RFC 4279 */ -# define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" -# define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" -# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" -# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" - -# define TLS1_TXT_DHE_PSK_WITH_RC4_128_SHA "DHE-PSK-RC4-SHA" -# define TLS1_TXT_DHE_PSK_WITH_3DES_EDE_CBC_SHA "DHE-PSK-3DES-EDE-CBC-SHA" -# define TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA "DHE-PSK-AES128-CBC-SHA" -# define TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA "DHE-PSK-AES256-CBC-SHA" -# define TLS1_TXT_RSA_PSK_WITH_RC4_128_SHA "RSA-PSK-RC4-SHA" -# define TLS1_TXT_RSA_PSK_WITH_3DES_EDE_CBC_SHA "RSA-PSK-3DES-EDE-CBC-SHA" -# define TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA "RSA-PSK-AES128-CBC-SHA" -# define TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA "RSA-PSK-AES256-CBC-SHA" - -/* PSK ciphersuites from RFC 5487 */ -# define TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256 "PSK-AES128-GCM-SHA256" -# define TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384 "PSK-AES256-GCM-SHA384" -# define TLS1_TXT_DHE_PSK_WITH_AES_128_GCM_SHA256 "DHE-PSK-AES128-GCM-SHA256" -# define TLS1_TXT_DHE_PSK_WITH_AES_256_GCM_SHA384 "DHE-PSK-AES256-GCM-SHA384" -# define TLS1_TXT_RSA_PSK_WITH_AES_128_GCM_SHA256 "RSA-PSK-AES128-GCM-SHA256" -# define TLS1_TXT_RSA_PSK_WITH_AES_256_GCM_SHA384 "RSA-PSK-AES256-GCM-SHA384" - -# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA256 "PSK-AES128-CBC-SHA256" -# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA384 "PSK-AES256-CBC-SHA384" -# define TLS1_TXT_PSK_WITH_NULL_SHA256 "PSK-NULL-SHA256" -# define TLS1_TXT_PSK_WITH_NULL_SHA384 "PSK-NULL-SHA384" - -# define TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA256 "DHE-PSK-AES128-CBC-SHA256" -# define TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA384 "DHE-PSK-AES256-CBC-SHA384" -# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA256 "DHE-PSK-NULL-SHA256" -# define TLS1_TXT_DHE_PSK_WITH_NULL_SHA384 "DHE-PSK-NULL-SHA384" - -# define TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA256 "RSA-PSK-AES128-CBC-SHA256" -# define TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA384 "RSA-PSK-AES256-CBC-SHA384" -# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA256 "RSA-PSK-NULL-SHA256" -# define TLS1_TXT_RSA_PSK_WITH_NULL_SHA384 "RSA-PSK-NULL-SHA384" - -/* SRP ciphersuite from RFC 5054 */ -# define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" -# define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" -# define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" -# define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" -# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" -# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" -# define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" -# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" -# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" - -/* Camellia ciphersuites from RFC4132 */ -# define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" -# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" -# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" -# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" -# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" -# define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" - -# define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" -# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" -# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" -# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" -# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" -# define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" - -/* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */ -# define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA256 "CAMELLIA128-SHA256" -# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 "DH-DSS-CAMELLIA128-SHA256" -# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 "DH-RSA-CAMELLIA128-SHA256" -# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 "DHE-DSS-CAMELLIA128-SHA256" -# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "DHE-RSA-CAMELLIA128-SHA256" -# define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA256 "ADH-CAMELLIA128-SHA256" - -# define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA256 "CAMELLIA256-SHA256" -# define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 "DH-DSS-CAMELLIA256-SHA256" -# define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 "DH-RSA-CAMELLIA256-SHA256" -# define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 "DHE-DSS-CAMELLIA256-SHA256" -# define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 "DHE-RSA-CAMELLIA256-SHA256" -# define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA256 "ADH-CAMELLIA256-SHA256" - -# define TLS1_TXT_PSK_WITH_CAMELLIA_128_CBC_SHA256 "PSK-CAMELLIA128-SHA256" -# define TLS1_TXT_PSK_WITH_CAMELLIA_256_CBC_SHA384 "PSK-CAMELLIA256-SHA384" -# define TLS1_TXT_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "DHE-PSK-CAMELLIA128-SHA256" -# define TLS1_TXT_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "DHE-PSK-CAMELLIA256-SHA384" -# define TLS1_TXT_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 "RSA-PSK-CAMELLIA128-SHA256" -# define TLS1_TXT_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 "RSA-PSK-CAMELLIA256-SHA384" -# define TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-PSK-CAMELLIA128-SHA256" -# define TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-PSK-CAMELLIA256-SHA384" - -/* SEED ciphersuites from RFC4162 */ -# define TLS1_TXT_RSA_WITH_SEED_SHA "SEED-SHA" -# define TLS1_TXT_DH_DSS_WITH_SEED_SHA "DH-DSS-SEED-SHA" -# define TLS1_TXT_DH_RSA_WITH_SEED_SHA "DH-RSA-SEED-SHA" -# define TLS1_TXT_DHE_DSS_WITH_SEED_SHA "DHE-DSS-SEED-SHA" -# define TLS1_TXT_DHE_RSA_WITH_SEED_SHA "DHE-RSA-SEED-SHA" -# define TLS1_TXT_ADH_WITH_SEED_SHA "ADH-SEED-SHA" - -/* TLS v1.2 ciphersuites */ -# define TLS1_TXT_RSA_WITH_NULL_SHA256 "NULL-SHA256" -# define TLS1_TXT_RSA_WITH_AES_128_SHA256 "AES128-SHA256" -# define TLS1_TXT_RSA_WITH_AES_256_SHA256 "AES256-SHA256" -# define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256 "DH-DSS-AES128-SHA256" -# define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256 "DH-RSA-AES128-SHA256" -# define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256 "DHE-DSS-AES128-SHA256" -# define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 "DHE-RSA-AES128-SHA256" -# define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256 "DH-DSS-AES256-SHA256" -# define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256 "DH-RSA-AES256-SHA256" -# define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256 "DHE-DSS-AES256-SHA256" -# define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 "DHE-RSA-AES256-SHA256" -# define TLS1_TXT_ADH_WITH_AES_128_SHA256 "ADH-AES128-SHA256" -# define TLS1_TXT_ADH_WITH_AES_256_SHA256 "ADH-AES256-SHA256" - -/* TLS v1.2 GCM ciphersuites from RFC5288 */ -# define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256 "AES128-GCM-SHA256" -# define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384 "AES256-GCM-SHA384" -# define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 "DHE-RSA-AES128-GCM-SHA256" -# define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 "DHE-RSA-AES256-GCM-SHA384" -# define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256 "DH-RSA-AES128-GCM-SHA256" -# define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384 "DH-RSA-AES256-GCM-SHA384" -# define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256 "DHE-DSS-AES128-GCM-SHA256" -# define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384 "DHE-DSS-AES256-GCM-SHA384" -# define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256 "DH-DSS-AES128-GCM-SHA256" -# define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384 "DH-DSS-AES256-GCM-SHA384" -# define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256 "ADH-AES128-GCM-SHA256" -# define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384 "ADH-AES256-GCM-SHA384" - -/* CCM ciphersuites from RFC6655 */ -# define TLS1_TXT_RSA_WITH_AES_128_CCM "AES128-CCM" -# define TLS1_TXT_RSA_WITH_AES_256_CCM "AES256-CCM" -# define TLS1_TXT_DHE_RSA_WITH_AES_128_CCM "DHE-RSA-AES128-CCM" -# define TLS1_TXT_DHE_RSA_WITH_AES_256_CCM "DHE-RSA-AES256-CCM" - -# define TLS1_TXT_RSA_WITH_AES_128_CCM_8 "AES128-CCM8" -# define TLS1_TXT_RSA_WITH_AES_256_CCM_8 "AES256-CCM8" -# define TLS1_TXT_DHE_RSA_WITH_AES_128_CCM_8 "DHE-RSA-AES128-CCM8" -# define TLS1_TXT_DHE_RSA_WITH_AES_256_CCM_8 "DHE-RSA-AES256-CCM8" - -# define TLS1_TXT_PSK_WITH_AES_128_CCM "PSK-AES128-CCM" -# define TLS1_TXT_PSK_WITH_AES_256_CCM "PSK-AES256-CCM" -# define TLS1_TXT_DHE_PSK_WITH_AES_128_CCM "DHE-PSK-AES128-CCM" -# define TLS1_TXT_DHE_PSK_WITH_AES_256_CCM "DHE-PSK-AES256-CCM" - -# define TLS1_TXT_PSK_WITH_AES_128_CCM_8 "PSK-AES128-CCM8" -# define TLS1_TXT_PSK_WITH_AES_256_CCM_8 "PSK-AES256-CCM8" -# define TLS1_TXT_DHE_PSK_WITH_AES_128_CCM_8 "DHE-PSK-AES128-CCM8" -# define TLS1_TXT_DHE_PSK_WITH_AES_256_CCM_8 "DHE-PSK-AES256-CCM8" - -/* CCM ciphersuites from RFC7251 */ -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM "ECDHE-ECDSA-AES128-CCM" -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM "ECDHE-ECDSA-AES256-CCM" -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM_8 "ECDHE-ECDSA-AES128-CCM8" -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8 "ECDHE-ECDSA-AES256-CCM8" - -/* ECDH HMAC based ciphersuites from RFC5289 */ -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256 "ECDHE-ECDSA-AES128-SHA256" -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384 "ECDHE-ECDSA-AES256-SHA384" -# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256 "ECDH-ECDSA-AES128-SHA256" -# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384 "ECDH-ECDSA-AES256-SHA384" -# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 "ECDHE-RSA-AES128-SHA256" -# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 "ECDHE-RSA-AES256-SHA384" -# define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256 "ECDH-RSA-AES128-SHA256" -# define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384 "ECDH-RSA-AES256-SHA384" - -/* ECDH GCM based ciphersuites from RFC5289 */ -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "ECDHE-ECDSA-AES128-GCM-SHA256" -# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "ECDHE-ECDSA-AES256-GCM-SHA384" -# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 "ECDH-ECDSA-AES128-GCM-SHA256" -# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 "ECDH-ECDSA-AES256-GCM-SHA384" -# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "ECDHE-RSA-AES128-GCM-SHA256" -# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "ECDHE-RSA-AES256-GCM-SHA384" -# define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256 "ECDH-RSA-AES128-GCM-SHA256" -# define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" - -/* TLS v1.2 PSK GCM ciphersuites from RFC5487 */ -# define TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256 "PSK-AES128-GCM-SHA256" -# define TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384 "PSK-AES256-GCM-SHA384" - -/* ECDHE PSK ciphersuites from RFC 5489 */ -# define TLS1_TXT_ECDHE_PSK_WITH_RC4_128_SHA "ECDHE-PSK-RC4-SHA" -# define TLS1_TXT_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA "ECDHE-PSK-3DES-EDE-CBC-SHA" -# define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA "ECDHE-PSK-AES128-CBC-SHA" -# define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA "ECDHE-PSK-AES256-CBC-SHA" - -# define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA256 "ECDHE-PSK-AES128-CBC-SHA256" -# define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA384 "ECDHE-PSK-AES256-CBC-SHA384" - -# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA "ECDHE-PSK-NULL-SHA" -# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA256 "ECDHE-PSK-NULL-SHA256" -# define TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA384 "ECDHE-PSK-NULL-SHA384" - -/* Camellia-CBC ciphersuites from RFC6367 */ -# define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-ECDSA-CAMELLIA128-SHA256" -# define TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-ECDSA-CAMELLIA256-SHA384" -# define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDH-ECDSA-CAMELLIA128-SHA256" -# define TLS1_TXT_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDH-ECDSA-CAMELLIA256-SHA384" -# define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDHE-RSA-CAMELLIA128-SHA256" -# define TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDHE-RSA-CAMELLIA256-SHA384" -# define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 "ECDH-RSA-CAMELLIA128-SHA256" -# define TLS1_TXT_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 "ECDH-RSA-CAMELLIA256-SHA384" - -/* draft-ietf-tls-chacha20-poly1305-03 */ -# define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 "ECDHE-RSA-CHACHA20-POLY1305" -# define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "ECDHE-ECDSA-CHACHA20-POLY1305" -# define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305 "DHE-RSA-CHACHA20-POLY1305" -# define TLS1_TXT_PSK_WITH_CHACHA20_POLY1305 "PSK-CHACHA20-POLY1305" -# define TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305 "ECDHE-PSK-CHACHA20-POLY1305" -# define TLS1_TXT_DHE_PSK_WITH_CHACHA20_POLY1305 "DHE-PSK-CHACHA20-POLY1305" -# define TLS1_TXT_RSA_PSK_WITH_CHACHA20_POLY1305 "RSA-PSK-CHACHA20-POLY1305" - -/* Aria ciphersuites from RFC6209 */ -# define TLS1_TXT_RSA_WITH_ARIA_128_GCM_SHA256 "ARIA128-GCM-SHA256" -# define TLS1_TXT_RSA_WITH_ARIA_256_GCM_SHA384 "ARIA256-GCM-SHA384" -# define TLS1_TXT_DHE_RSA_WITH_ARIA_128_GCM_SHA256 "DHE-RSA-ARIA128-GCM-SHA256" -# define TLS1_TXT_DHE_RSA_WITH_ARIA_256_GCM_SHA384 "DHE-RSA-ARIA256-GCM-SHA384" -# define TLS1_TXT_DH_RSA_WITH_ARIA_128_GCM_SHA256 "DH-RSA-ARIA128-GCM-SHA256" -# define TLS1_TXT_DH_RSA_WITH_ARIA_256_GCM_SHA384 "DH-RSA-ARIA256-GCM-SHA384" -# define TLS1_TXT_DHE_DSS_WITH_ARIA_128_GCM_SHA256 "DHE-DSS-ARIA128-GCM-SHA256" -# define TLS1_TXT_DHE_DSS_WITH_ARIA_256_GCM_SHA384 "DHE-DSS-ARIA256-GCM-SHA384" -# define TLS1_TXT_DH_DSS_WITH_ARIA_128_GCM_SHA256 "DH-DSS-ARIA128-GCM-SHA256" -# define TLS1_TXT_DH_DSS_WITH_ARIA_256_GCM_SHA384 "DH-DSS-ARIA256-GCM-SHA384" -# define TLS1_TXT_DH_anon_WITH_ARIA_128_GCM_SHA256 "ADH-ARIA128-GCM-SHA256" -# define TLS1_TXT_DH_anon_WITH_ARIA_256_GCM_SHA384 "ADH-ARIA256-GCM-SHA384" -# define TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 "ECDHE-ECDSA-ARIA128-GCM-SHA256" -# define TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 "ECDHE-ECDSA-ARIA256-GCM-SHA384" -# define TLS1_TXT_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 "ECDH-ECDSA-ARIA128-GCM-SHA256" -# define TLS1_TXT_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 "ECDH-ECDSA-ARIA256-GCM-SHA384" -# define TLS1_TXT_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 "ECDHE-ARIA128-GCM-SHA256" -# define TLS1_TXT_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 "ECDHE-ARIA256-GCM-SHA384" -# define TLS1_TXT_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 "ECDH-ARIA128-GCM-SHA256" -# define TLS1_TXT_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 "ECDH-ARIA256-GCM-SHA384" -# define TLS1_TXT_PSK_WITH_ARIA_128_GCM_SHA256 "PSK-ARIA128-GCM-SHA256" -# define TLS1_TXT_PSK_WITH_ARIA_256_GCM_SHA384 "PSK-ARIA256-GCM-SHA384" -# define TLS1_TXT_DHE_PSK_WITH_ARIA_128_GCM_SHA256 "DHE-PSK-ARIA128-GCM-SHA256" -# define TLS1_TXT_DHE_PSK_WITH_ARIA_256_GCM_SHA384 "DHE-PSK-ARIA256-GCM-SHA384" -# define TLS1_TXT_RSA_PSK_WITH_ARIA_128_GCM_SHA256 "RSA-PSK-ARIA128-GCM-SHA256" -# define TLS1_TXT_RSA_PSK_WITH_ARIA_256_GCM_SHA384 "RSA-PSK-ARIA256-GCM-SHA384" - -# define TLS_CT_RSA_SIGN 1 -# define TLS_CT_DSS_SIGN 2 -# define TLS_CT_RSA_FIXED_DH 3 -# define TLS_CT_DSS_FIXED_DH 4 -# define TLS_CT_ECDSA_SIGN 64 -# define TLS_CT_RSA_FIXED_ECDH 65 -# define TLS_CT_ECDSA_FIXED_ECDH 66 -# define TLS_CT_GOST01_SIGN 22 -# define TLS_CT_GOST12_SIGN 238 -# define TLS_CT_GOST12_512_SIGN 239 - -/* - * when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see - * comment there) - */ -# define TLS_CT_NUMBER 10 - -# if defined(SSL3_CT_NUMBER) -# if TLS_CT_NUMBER != SSL3_CT_NUMBER -# error "SSL/TLS CT_NUMBER values do not match" -# endif -# endif - -# define TLS1_FINISH_MAC_LENGTH 12 - -# define TLS_MD_MAX_CONST_SIZE 22 -# define TLS_MD_CLIENT_FINISH_CONST "client finished" -# define TLS_MD_CLIENT_FINISH_CONST_SIZE 15 -# define TLS_MD_SERVER_FINISH_CONST "server finished" -# define TLS_MD_SERVER_FINISH_CONST_SIZE 15 -# define TLS_MD_KEY_EXPANSION_CONST "key expansion" -# define TLS_MD_KEY_EXPANSION_CONST_SIZE 13 -# define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key" -# define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16 -# define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" -# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 -# define TLS_MD_IV_BLOCK_CONST "IV block" -# define TLS_MD_IV_BLOCK_CONST_SIZE 8 -# define TLS_MD_MASTER_SECRET_CONST "master secret" -# define TLS_MD_MASTER_SECRET_CONST_SIZE 13 -# define TLS_MD_EXTENDED_MASTER_SECRET_CONST "extended master secret" -# define TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE 22 - -# ifdef CHARSET_EBCDIC -# undef TLS_MD_CLIENT_FINISH_CONST -/* - * client finished - */ -# define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64" - -# undef TLS_MD_SERVER_FINISH_CONST -/* - * server finished - */ -# define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64" - -# undef TLS_MD_SERVER_WRITE_KEY_CONST -/* - * server write key - */ -# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" - -# undef TLS_MD_KEY_EXPANSION_CONST -/* - * key expansion - */ -# define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e" - -# undef TLS_MD_CLIENT_WRITE_KEY_CONST -/* - * client write key - */ -# define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" - -# undef TLS_MD_SERVER_WRITE_KEY_CONST -/* - * server write key - */ -# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" - -# undef TLS_MD_IV_BLOCK_CONST -/* - * IV block - */ -# define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b" - -# undef TLS_MD_MASTER_SECRET_CONST -/* - * master secret - */ -# define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" -# undef TLS_MD_EXTENDED_MASTER_SECRET_CONST -/* - * extended master secret - */ -# define TLS_MD_EXTENDED_MASTER_SECRET_CONST "\x65\x78\x74\x65\x6e\x64\x65\x64\x20\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" -# endif - -/* TLS Session Ticket extension struct */ -struct tls_session_ticket_ext_st { - unsigned short length; - void *data; -}; - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/ts.h b/deps/openssl/include/openssl/ts.h deleted file mode 100644 index 3b58aa52..00000000 --- a/deps/openssl/include/openssl/ts.h +++ /dev/null @@ -1,559 +0,0 @@ -/* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_TS_H -# define HEADER_TS_H - -# include - -# ifndef OPENSSL_NO_TS -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - -# include -# include - -typedef struct TS_msg_imprint_st TS_MSG_IMPRINT; -typedef struct TS_req_st TS_REQ; -typedef struct TS_accuracy_st TS_ACCURACY; -typedef struct TS_tst_info_st TS_TST_INFO; - -/* Possible values for status. */ -# define TS_STATUS_GRANTED 0 -# define TS_STATUS_GRANTED_WITH_MODS 1 -# define TS_STATUS_REJECTION 2 -# define TS_STATUS_WAITING 3 -# define TS_STATUS_REVOCATION_WARNING 4 -# define TS_STATUS_REVOCATION_NOTIFICATION 5 - -/* Possible values for failure_info. */ -# define TS_INFO_BAD_ALG 0 -# define TS_INFO_BAD_REQUEST 2 -# define TS_INFO_BAD_DATA_FORMAT 5 -# define TS_INFO_TIME_NOT_AVAILABLE 14 -# define TS_INFO_UNACCEPTED_POLICY 15 -# define TS_INFO_UNACCEPTED_EXTENSION 16 -# define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 -# define TS_INFO_SYSTEM_FAILURE 25 - - -typedef struct TS_status_info_st TS_STATUS_INFO; -typedef struct ESS_issuer_serial ESS_ISSUER_SERIAL; -typedef struct ESS_cert_id ESS_CERT_ID; -typedef struct ESS_signing_cert ESS_SIGNING_CERT; - -DEFINE_STACK_OF(ESS_CERT_ID) - -typedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2; -typedef struct ESS_signing_cert_v2_st ESS_SIGNING_CERT_V2; - -DEFINE_STACK_OF(ESS_CERT_ID_V2) - -typedef struct TS_resp_st TS_RESP; - -TS_REQ *TS_REQ_new(void); -void TS_REQ_free(TS_REQ *a); -int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); -TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); - -TS_REQ *TS_REQ_dup(TS_REQ *a); - -#ifndef OPENSSL_NO_STDIO -TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); -int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); -#endif -TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); -int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); - -TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); -void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); -int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); -TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, - const unsigned char **pp, long length); - -TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); - -#ifndef OPENSSL_NO_STDIO -TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); -#endif -TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT *a); - -TS_RESP *TS_RESP_new(void); -void TS_RESP_free(TS_RESP *a); -int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); -TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); -TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); -TS_RESP *TS_RESP_dup(TS_RESP *a); - -#ifndef OPENSSL_NO_STDIO -TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); -int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); -#endif -TS_RESP *d2i_TS_RESP_bio(BIO *bio, TS_RESP **a); -int i2d_TS_RESP_bio(BIO *bio, TS_RESP *a); - -TS_STATUS_INFO *TS_STATUS_INFO_new(void); -void TS_STATUS_INFO_free(TS_STATUS_INFO *a); -int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); -TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, - const unsigned char **pp, long length); -TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); - -TS_TST_INFO *TS_TST_INFO_new(void); -void TS_TST_INFO_free(TS_TST_INFO *a); -int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); -TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, - long length); -TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); - -#ifndef OPENSSL_NO_STDIO -TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); -int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); -#endif -TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO **a); -int i2d_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO *a); - -TS_ACCURACY *TS_ACCURACY_new(void); -void TS_ACCURACY_free(TS_ACCURACY *a); -int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); -TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, - long length); -TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); - -ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); -void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); -int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **pp); -ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, - const unsigned char **pp, - long length); -ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); - -ESS_CERT_ID *ESS_CERT_ID_new(void); -void ESS_CERT_ID_free(ESS_CERT_ID *a); -int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); -ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, - long length); -ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); - -ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); -void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); -int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **pp); -ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, - const unsigned char **pp, long length); -ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); - -ESS_CERT_ID_V2 *ESS_CERT_ID_V2_new(void); -void ESS_CERT_ID_V2_free(ESS_CERT_ID_V2 *a); -int i2d_ESS_CERT_ID_V2(const ESS_CERT_ID_V2 *a, unsigned char **pp); -ESS_CERT_ID_V2 *d2i_ESS_CERT_ID_V2(ESS_CERT_ID_V2 **a, - const unsigned char **pp, long length); -ESS_CERT_ID_V2 *ESS_CERT_ID_V2_dup(ESS_CERT_ID_V2 *a); - -ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_new(void); -void ESS_SIGNING_CERT_V2_free(ESS_SIGNING_CERT_V2 *a); -int i2d_ESS_SIGNING_CERT_V2(const ESS_SIGNING_CERT_V2 *a, unsigned char **pp); -ESS_SIGNING_CERT_V2 *d2i_ESS_SIGNING_CERT_V2(ESS_SIGNING_CERT_V2 **a, - const unsigned char **pp, - long length); -ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_dup(ESS_SIGNING_CERT_V2 *a); - -int TS_REQ_set_version(TS_REQ *a, long version); -long TS_REQ_get_version(const TS_REQ *a); - -int TS_STATUS_INFO_set_status(TS_STATUS_INFO *a, int i); -const ASN1_INTEGER *TS_STATUS_INFO_get0_status(const TS_STATUS_INFO *a); - -const STACK_OF(ASN1_UTF8STRING) * -TS_STATUS_INFO_get0_text(const TS_STATUS_INFO *a); - -const ASN1_BIT_STRING * -TS_STATUS_INFO_get0_failure_info(const TS_STATUS_INFO *a); - -int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint); -TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a); - -int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg); -X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a); - -int TS_MSG_IMPRINT_set_msg(TS_MSG_IMPRINT *a, unsigned char *d, int len); -ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a); - -int TS_REQ_set_policy_id(TS_REQ *a, const ASN1_OBJECT *policy); -ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a); - -int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce); -const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a); - -int TS_REQ_set_cert_req(TS_REQ *a, int cert_req); -int TS_REQ_get_cert_req(const TS_REQ *a); - -STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a); -void TS_REQ_ext_free(TS_REQ *a); -int TS_REQ_get_ext_count(TS_REQ *a); -int TS_REQ_get_ext_by_NID(TS_REQ *a, int nid, int lastpos); -int TS_REQ_get_ext_by_OBJ(TS_REQ *a, const ASN1_OBJECT *obj, int lastpos); -int TS_REQ_get_ext_by_critical(TS_REQ *a, int crit, int lastpos); -X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc); -X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc); -int TS_REQ_add_ext(TS_REQ *a, X509_EXTENSION *ex, int loc); -void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx); - -/* Function declarations for TS_REQ defined in ts/ts_req_print.c */ - -int TS_REQ_print_bio(BIO *bio, TS_REQ *a); - -/* Function declarations for TS_RESP defined in ts/ts_resp_utils.c */ - -int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *info); -TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a); - -/* Caller loses ownership of PKCS7 and TS_TST_INFO objects. */ -void TS_RESP_set_tst_info(TS_RESP *a, PKCS7 *p7, TS_TST_INFO *tst_info); -PKCS7 *TS_RESP_get_token(TS_RESP *a); -TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a); - -int TS_TST_INFO_set_version(TS_TST_INFO *a, long version); -long TS_TST_INFO_get_version(const TS_TST_INFO *a); - -int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy_id); -ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a); - -int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint); -TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a); - -int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial); -const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a); - -int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime); -const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a); - -int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy); -TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a); - -int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds); -const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a); - -int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis); -const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a); - -int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros); -const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a); - -int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering); -int TS_TST_INFO_get_ordering(const TS_TST_INFO *a); - -int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce); -const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a); - -int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa); -GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a); - -STACK_OF(X509_EXTENSION) *TS_TST_INFO_get_exts(TS_TST_INFO *a); -void TS_TST_INFO_ext_free(TS_TST_INFO *a); -int TS_TST_INFO_get_ext_count(TS_TST_INFO *a); -int TS_TST_INFO_get_ext_by_NID(TS_TST_INFO *a, int nid, int lastpos); -int TS_TST_INFO_get_ext_by_OBJ(TS_TST_INFO *a, const ASN1_OBJECT *obj, - int lastpos); -int TS_TST_INFO_get_ext_by_critical(TS_TST_INFO *a, int crit, int lastpos); -X509_EXTENSION *TS_TST_INFO_get_ext(TS_TST_INFO *a, int loc); -X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc); -int TS_TST_INFO_add_ext(TS_TST_INFO *a, X509_EXTENSION *ex, int loc); -void *TS_TST_INFO_get_ext_d2i(TS_TST_INFO *a, int nid, int *crit, int *idx); - -/* - * Declarations related to response generation, defined in ts/ts_resp_sign.c. - */ - -/* Optional flags for response generation. */ - -/* Don't include the TSA name in response. */ -# define TS_TSA_NAME 0x01 - -/* Set ordering to true in response. */ -# define TS_ORDERING 0x02 - -/* - * Include the signer certificate and the other specified certificates in - * the ESS signing certificate attribute beside the PKCS7 signed data. - * Only the signer certificates is included by default. - */ -# define TS_ESS_CERT_ID_CHAIN 0x04 - -/* Forward declaration. */ -struct TS_resp_ctx; - -/* This must return a unique number less than 160 bits long. */ -typedef ASN1_INTEGER *(*TS_serial_cb) (struct TS_resp_ctx *, void *); - -/* - * This must return the seconds and microseconds since Jan 1, 1970 in the sec - * and usec variables allocated by the caller. Return non-zero for success - * and zero for failure. - */ -typedef int (*TS_time_cb) (struct TS_resp_ctx *, void *, long *sec, - long *usec); - -/* - * This must process the given extension. It can modify the TS_TST_INFO - * object of the context. Return values: !0 (processed), 0 (error, it must - * set the status info/failure info of the response). - */ -typedef int (*TS_extension_cb) (struct TS_resp_ctx *, X509_EXTENSION *, - void *); - -typedef struct TS_resp_ctx TS_RESP_CTX; - -DEFINE_STACK_OF_CONST(EVP_MD) - -/* Creates a response context that can be used for generating responses. */ -TS_RESP_CTX *TS_RESP_CTX_new(void); -void TS_RESP_CTX_free(TS_RESP_CTX *ctx); - -/* This parameter must be set. */ -int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer); - -/* This parameter must be set. */ -int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key); - -int TS_RESP_CTX_set_signer_digest(TS_RESP_CTX *ctx, - const EVP_MD *signer_digest); -int TS_RESP_CTX_set_ess_cert_id_digest(TS_RESP_CTX *ctx, const EVP_MD *md); - -/* This parameter must be set. */ -int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *def_policy); - -/* No additional certs are included in the response by default. */ -int TS_RESP_CTX_set_certs(TS_RESP_CTX *ctx, STACK_OF(X509) *certs); - -/* - * Adds a new acceptable policy, only the default policy is accepted by - * default. - */ -int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *policy); - -/* - * Adds a new acceptable message digest. Note that no message digests are - * accepted by default. The md argument is shared with the caller. - */ -int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md); - -/* Accuracy is not included by default. */ -int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx, - int secs, int millis, int micros); - -/* - * Clock precision digits, i.e. the number of decimal digits: '0' means sec, - * '3' msec, '6' usec, and so on. Default is 0. - */ -int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx, - unsigned clock_precision_digits); -/* At most we accept usec precision. */ -# define TS_MAX_CLOCK_PRECISION_DIGITS 6 - -/* Maximum status message length */ -# define TS_MAX_STATUS_LENGTH (1024 * 1024) - -/* No flags are set by default. */ -void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags); - -/* Default callback always returns a constant. */ -void TS_RESP_CTX_set_serial_cb(TS_RESP_CTX *ctx, TS_serial_cb cb, void *data); - -/* Default callback uses the gettimeofday() and gmtime() system calls. */ -void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void *data); - -/* - * Default callback rejects all extensions. The extension callback is called - * when the TS_TST_INFO object is already set up and not signed yet. - */ -/* FIXME: extension handling is not tested yet. */ -void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx, - TS_extension_cb cb, void *data); - -/* The following methods can be used in the callbacks. */ -int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx, - int status, const char *text); - -/* Sets the status info only if it is still TS_STATUS_GRANTED. */ -int TS_RESP_CTX_set_status_info_cond(TS_RESP_CTX *ctx, - int status, const char *text); - -int TS_RESP_CTX_add_failure_info(TS_RESP_CTX *ctx, int failure); - -/* The get methods below can be used in the extension callback. */ -TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx); - -TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx); - -/* - * Creates the signed TS_TST_INFO and puts it in TS_RESP. - * In case of errors it sets the status info properly. - * Returns NULL only in case of memory allocation/fatal error. - */ -TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio); - -/* - * Declarations related to response verification, - * they are defined in ts/ts_resp_verify.c. - */ - -int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs, - X509_STORE *store, X509 **signer_out); - -/* Context structure for the generic verify method. */ - -/* Verify the signer's certificate and the signature of the response. */ -# define TS_VFY_SIGNATURE (1u << 0) -/* Verify the version number of the response. */ -# define TS_VFY_VERSION (1u << 1) -/* Verify if the policy supplied by the user matches the policy of the TSA. */ -# define TS_VFY_POLICY (1u << 2) -/* - * Verify the message imprint provided by the user. This flag should not be - * specified with TS_VFY_DATA. - */ -# define TS_VFY_IMPRINT (1u << 3) -/* - * Verify the message imprint computed by the verify method from the user - * provided data and the MD algorithm of the response. This flag should not - * be specified with TS_VFY_IMPRINT. - */ -# define TS_VFY_DATA (1u << 4) -/* Verify the nonce value. */ -# define TS_VFY_NONCE (1u << 5) -/* Verify if the TSA name field matches the signer certificate. */ -# define TS_VFY_SIGNER (1u << 6) -/* Verify if the TSA name field equals to the user provided name. */ -# define TS_VFY_TSA_NAME (1u << 7) - -/* You can use the following convenience constants. */ -# define TS_VFY_ALL_IMPRINT (TS_VFY_SIGNATURE \ - | TS_VFY_VERSION \ - | TS_VFY_POLICY \ - | TS_VFY_IMPRINT \ - | TS_VFY_NONCE \ - | TS_VFY_SIGNER \ - | TS_VFY_TSA_NAME) -# define TS_VFY_ALL_DATA (TS_VFY_SIGNATURE \ - | TS_VFY_VERSION \ - | TS_VFY_POLICY \ - | TS_VFY_DATA \ - | TS_VFY_NONCE \ - | TS_VFY_SIGNER \ - | TS_VFY_TSA_NAME) - -typedef struct TS_verify_ctx TS_VERIFY_CTX; - -int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response); -int TS_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token); - -/* - * Declarations related to response verification context, - */ -TS_VERIFY_CTX *TS_VERIFY_CTX_new(void); -void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx); -void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx); -void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx); -int TS_VERIFY_CTX_set_flags(TS_VERIFY_CTX *ctx, int f); -int TS_VERIFY_CTX_add_flags(TS_VERIFY_CTX *ctx, int f); -BIO *TS_VERIFY_CTX_set_data(TS_VERIFY_CTX *ctx, BIO *b); -unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx, - unsigned char *hexstr, long len); -X509_STORE *TS_VERIFY_CTX_set_store(TS_VERIFY_CTX *ctx, X509_STORE *s); -STACK_OF(X509) *TS_VERIFY_CTS_set_certs(TS_VERIFY_CTX *ctx, STACK_OF(X509) *certs); - -/*- - * If ctx is NULL, it allocates and returns a new object, otherwise - * it returns ctx. It initialises all the members as follows: - * flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE) - * certs = NULL - * store = NULL - * policy = policy from the request or NULL if absent (in this case - * TS_VFY_POLICY is cleared from flags as well) - * md_alg = MD algorithm from request - * imprint, imprint_len = imprint from request - * data = NULL - * nonce, nonce_len = nonce from the request or NULL if absent (in this case - * TS_VFY_NONCE is cleared from flags as well) - * tsa_name = NULL - * Important: after calling this method TS_VFY_SIGNATURE should be added! - */ -TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx); - -/* Function declarations for TS_RESP defined in ts/ts_resp_print.c */ - -int TS_RESP_print_bio(BIO *bio, TS_RESP *a); -int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a); -int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a); - -/* Common utility functions defined in ts/ts_lib.c */ - -int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num); -int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj); -int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions); -int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg); -int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *msg); - -/* - * Function declarations for handling configuration options, defined in - * ts/ts_conf.c - */ - -X509 *TS_CONF_load_cert(const char *file); -STACK_OF(X509) *TS_CONF_load_certs(const char *file); -EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass); -const char *TS_CONF_get_tsa_section(CONF *conf, const char *section); -int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb cb, - TS_RESP_CTX *ctx); -#ifndef OPENSSL_NO_ENGINE -int TS_CONF_set_crypto_device(CONF *conf, const char *section, - const char *device); -int TS_CONF_set_default_engine(const char *name); -#endif -int TS_CONF_set_signer_cert(CONF *conf, const char *section, - const char *cert, TS_RESP_CTX *ctx); -int TS_CONF_set_certs(CONF *conf, const char *section, const char *certs, - TS_RESP_CTX *ctx); -int TS_CONF_set_signer_key(CONF *conf, const char *section, - const char *key, const char *pass, - TS_RESP_CTX *ctx); -int TS_CONF_set_signer_digest(CONF *conf, const char *section, - const char *md, TS_RESP_CTX *ctx); -int TS_CONF_set_def_policy(CONF *conf, const char *section, - const char *policy, TS_RESP_CTX *ctx); -int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_clock_precision_digits(CONF *conf, const char *section, - TS_RESP_CTX *ctx); -int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_tsa_name(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section, - TS_RESP_CTX *ctx); -int TS_CONF_set_ess_cert_id_digest(CONF *conf, const char *section, - TS_RESP_CTX *ctx); - -# ifdef __cplusplus -} -# endif -# endif -#endif diff --git a/deps/openssl/include/openssl/tserr.h b/deps/openssl/include/openssl/tserr.h deleted file mode 100644 index 07f23339..00000000 --- a/deps/openssl/include/openssl/tserr.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_TSERR_H -# define HEADER_TSERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# include - -# ifndef OPENSSL_NO_TS - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_TS_strings(void); - -/* - * TS function codes. - */ -# define TS_F_DEF_SERIAL_CB 110 -# define TS_F_DEF_TIME_CB 111 -# define TS_F_ESS_ADD_SIGNING_CERT 112 -# define TS_F_ESS_ADD_SIGNING_CERT_V2 147 -# define TS_F_ESS_CERT_ID_NEW_INIT 113 -# define TS_F_ESS_CERT_ID_V2_NEW_INIT 156 -# define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 -# define TS_F_ESS_SIGNING_CERT_V2_NEW_INIT 157 -# define TS_F_INT_TS_RESP_VERIFY_TOKEN 149 -# define TS_F_PKCS7_TO_TS_TST_INFO 148 -# define TS_F_TS_ACCURACY_SET_MICROS 115 -# define TS_F_TS_ACCURACY_SET_MILLIS 116 -# define TS_F_TS_ACCURACY_SET_SECONDS 117 -# define TS_F_TS_CHECK_IMPRINTS 100 -# define TS_F_TS_CHECK_NONCES 101 -# define TS_F_TS_CHECK_POLICY 102 -# define TS_F_TS_CHECK_SIGNING_CERTS 103 -# define TS_F_TS_CHECK_STATUS_INFO 104 -# define TS_F_TS_COMPUTE_IMPRINT 145 -# define TS_F_TS_CONF_INVALID 151 -# define TS_F_TS_CONF_LOAD_CERT 153 -# define TS_F_TS_CONF_LOAD_CERTS 154 -# define TS_F_TS_CONF_LOAD_KEY 155 -# define TS_F_TS_CONF_LOOKUP_FAIL 152 -# define TS_F_TS_CONF_SET_DEFAULT_ENGINE 146 -# define TS_F_TS_GET_STATUS_TEXT 105 -# define TS_F_TS_MSG_IMPRINT_SET_ALGO 118 -# define TS_F_TS_REQ_SET_MSG_IMPRINT 119 -# define TS_F_TS_REQ_SET_NONCE 120 -# define TS_F_TS_REQ_SET_POLICY_ID 121 -# define TS_F_TS_RESP_CREATE_RESPONSE 122 -# define TS_F_TS_RESP_CREATE_TST_INFO 123 -# define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 124 -# define TS_F_TS_RESP_CTX_ADD_MD 125 -# define TS_F_TS_RESP_CTX_ADD_POLICY 126 -# define TS_F_TS_RESP_CTX_NEW 127 -# define TS_F_TS_RESP_CTX_SET_ACCURACY 128 -# define TS_F_TS_RESP_CTX_SET_CERTS 129 -# define TS_F_TS_RESP_CTX_SET_DEF_POLICY 130 -# define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 131 -# define TS_F_TS_RESP_CTX_SET_STATUS_INFO 132 -# define TS_F_TS_RESP_GET_POLICY 133 -# define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 134 -# define TS_F_TS_RESP_SET_STATUS_INFO 135 -# define TS_F_TS_RESP_SET_TST_INFO 150 -# define TS_F_TS_RESP_SIGN 136 -# define TS_F_TS_RESP_VERIFY_SIGNATURE 106 -# define TS_F_TS_TST_INFO_SET_ACCURACY 137 -# define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 138 -# define TS_F_TS_TST_INFO_SET_NONCE 139 -# define TS_F_TS_TST_INFO_SET_POLICY_ID 140 -# define TS_F_TS_TST_INFO_SET_SERIAL 141 -# define TS_F_TS_TST_INFO_SET_TIME 142 -# define TS_F_TS_TST_INFO_SET_TSA 143 -# define TS_F_TS_VERIFY 108 -# define TS_F_TS_VERIFY_CERT 109 -# define TS_F_TS_VERIFY_CTX_NEW 144 - -/* - * TS reason codes. - */ -# define TS_R_BAD_PKCS7_TYPE 132 -# define TS_R_BAD_TYPE 133 -# define TS_R_CANNOT_LOAD_CERT 137 -# define TS_R_CANNOT_LOAD_KEY 138 -# define TS_R_CERTIFICATE_VERIFY_ERROR 100 -# define TS_R_COULD_NOT_SET_ENGINE 127 -# define TS_R_COULD_NOT_SET_TIME 115 -# define TS_R_DETACHED_CONTENT 134 -# define TS_R_ESS_ADD_SIGNING_CERT_ERROR 116 -# define TS_R_ESS_ADD_SIGNING_CERT_V2_ERROR 139 -# define TS_R_ESS_SIGNING_CERTIFICATE_ERROR 101 -# define TS_R_INVALID_NULL_POINTER 102 -# define TS_R_INVALID_SIGNER_CERTIFICATE_PURPOSE 117 -# define TS_R_MESSAGE_IMPRINT_MISMATCH 103 -# define TS_R_NONCE_MISMATCH 104 -# define TS_R_NONCE_NOT_RETURNED 105 -# define TS_R_NO_CONTENT 106 -# define TS_R_NO_TIME_STAMP_TOKEN 107 -# define TS_R_PKCS7_ADD_SIGNATURE_ERROR 118 -# define TS_R_PKCS7_ADD_SIGNED_ATTR_ERROR 119 -# define TS_R_PKCS7_TO_TS_TST_INFO_FAILED 129 -# define TS_R_POLICY_MISMATCH 108 -# define TS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 120 -# define TS_R_RESPONSE_SETUP_ERROR 121 -# define TS_R_SIGNATURE_FAILURE 109 -# define TS_R_THERE_MUST_BE_ONE_SIGNER 110 -# define TS_R_TIME_SYSCALL_ERROR 122 -# define TS_R_TOKEN_NOT_PRESENT 130 -# define TS_R_TOKEN_PRESENT 131 -# define TS_R_TSA_NAME_MISMATCH 111 -# define TS_R_TSA_UNTRUSTED 112 -# define TS_R_TST_INFO_SETUP_ERROR 123 -# define TS_R_TS_DATASIGN 124 -# define TS_R_UNACCEPTABLE_POLICY 125 -# define TS_R_UNSUPPORTED_MD_ALGORITHM 126 -# define TS_R_UNSUPPORTED_VERSION 113 -# define TS_R_VAR_BAD_VALUE 135 -# define TS_R_VAR_LOOKUP_FAILURE 136 -# define TS_R_WRONG_CONTENT_TYPE 114 - -# endif -#endif diff --git a/deps/openssl/include/openssl/txt_db.h b/deps/openssl/include/openssl/txt_db.h deleted file mode 100644 index ec981a43..00000000 --- a/deps/openssl/include/openssl/txt_db.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_TXT_DB_H -# define HEADER_TXT_DB_H - -# include -# include -# include -# include - -# define DB_ERROR_OK 0 -# define DB_ERROR_MALLOC 1 -# define DB_ERROR_INDEX_CLASH 2 -# define DB_ERROR_INDEX_OUT_OF_RANGE 3 -# define DB_ERROR_NO_INDEX 4 -# define DB_ERROR_INSERT_INDEX_CLASH 5 -# define DB_ERROR_WRONG_NUM_FIELDS 6 - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OPENSSL_STRING *OPENSSL_PSTRING; -DEFINE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) - -typedef struct txt_db_st { - int num_fields; - STACK_OF(OPENSSL_PSTRING) *data; - LHASH_OF(OPENSSL_STRING) **index; - int (**qual) (OPENSSL_STRING *); - long error; - long arg1; - long arg2; - OPENSSL_STRING *arg_row; -} TXT_DB; - -TXT_DB *TXT_DB_read(BIO *in, int num); -long TXT_DB_write(BIO *out, TXT_DB *db); -int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING *), - OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC cmp); -void TXT_DB_free(TXT_DB *db); -OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, - OPENSSL_STRING *value); -int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/openssl/include/openssl/ui.h b/deps/openssl/include/openssl/ui.h deleted file mode 100644 index 7c721ec8..00000000 --- a/deps/openssl/include/openssl/ui.h +++ /dev/null @@ -1,368 +0,0 @@ -/* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_UI_H -# define HEADER_UI_H - -# include - -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# endif -# include -# include -# include -# include - -/* For compatibility reasons, the macro OPENSSL_NO_UI is currently retained */ -# if OPENSSL_API_COMPAT < 0x10200000L -# ifdef OPENSSL_NO_UI_CONSOLE -# define OPENSSL_NO_UI -# endif -# endif - -# ifdef __cplusplus -extern "C" { -# endif - -/* - * All the following functions return -1 or NULL on error and in some cases - * (UI_process()) -2 if interrupted or in some other way cancelled. When - * everything is fine, they return 0, a positive value or a non-NULL pointer, - * all depending on their purpose. - */ - -/* Creators and destructor. */ -UI *UI_new(void); -UI *UI_new_method(const UI_METHOD *method); -void UI_free(UI *ui); - -/*- - The following functions are used to add strings to be printed and prompt - strings to prompt for data. The names are UI_{add,dup}__string - and UI_{add,dup}_input_boolean. - - UI_{add,dup}__string have the following meanings: - add add a text or prompt string. The pointers given to these - functions are used verbatim, no copying is done. - dup make a copy of the text or prompt string, then add the copy - to the collection of strings in the user interface. - - The function is a name for the functionality that the given - string shall be used for. It can be one of: - input use the string as data prompt. - verify use the string as verification prompt. This - is used to verify a previous input. - info use the string for informational output. - error use the string for error output. - Honestly, there's currently no difference between info and error for the - moment. - - UI_{add,dup}_input_boolean have the same semantics for "add" and "dup", - and are typically used when one wants to prompt for a yes/no response. - - All of the functions in this group take a UI and a prompt string. - The string input and verify addition functions also take a flag argument, - a buffer for the result to end up with, a minimum input size and a maximum - input size (the result buffer MUST be large enough to be able to contain - the maximum number of characters). Additionally, the verify addition - functions takes another buffer to compare the result against. - The boolean input functions take an action description string (which should - be safe to ignore if the expected user action is obvious, for example with - a dialog box with an OK button and a Cancel button), a string of acceptable - characters to mean OK and to mean Cancel. The two last strings are checked - to make sure they don't have common characters. Additionally, the same - flag argument as for the string input is taken, as well as a result buffer. - The result buffer is required to be at least one byte long. Depending on - the answer, the first character from the OK or the Cancel character strings - will be stored in the first byte of the result buffer. No NUL will be - added, so the result is *not* a string. - - On success, the all return an index of the added information. That index - is useful when retrieving results with UI_get0_result(). */ -int UI_add_input_string(UI *ui, const char *prompt, int flags, - char *result_buf, int minsize, int maxsize); -int UI_dup_input_string(UI *ui, const char *prompt, int flags, - char *result_buf, int minsize, int maxsize); -int UI_add_verify_string(UI *ui, const char *prompt, int flags, - char *result_buf, int minsize, int maxsize, - const char *test_buf); -int UI_dup_verify_string(UI *ui, const char *prompt, int flags, - char *result_buf, int minsize, int maxsize, - const char *test_buf); -int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, - const char *ok_chars, const char *cancel_chars, - int flags, char *result_buf); -int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, - const char *ok_chars, const char *cancel_chars, - int flags, char *result_buf); -int UI_add_info_string(UI *ui, const char *text); -int UI_dup_info_string(UI *ui, const char *text); -int UI_add_error_string(UI *ui, const char *text); -int UI_dup_error_string(UI *ui, const char *text); - -/* These are the possible flags. They can be or'ed together. */ -/* Use to have echoing of input */ -# define UI_INPUT_FLAG_ECHO 0x01 -/* - * Use a default password. Where that password is found is completely up to - * the application, it might for example be in the user data set with - * UI_add_user_data(). It is not recommended to have more than one input in - * each UI being marked with this flag, or the application might get - * confused. - */ -# define UI_INPUT_FLAG_DEFAULT_PWD 0x02 - -/*- - * The user of these routines may want to define flags of their own. The core - * UI won't look at those, but will pass them on to the method routines. They - * must use higher bits so they don't get confused with the UI bits above. - * UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good - * example of use is this: - * - * #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) - * -*/ -# define UI_INPUT_FLAG_USER_BASE 16 - -/*- - * The following function helps construct a prompt. object_desc is a - * textual short description of the object, for example "pass phrase", - * and object_name is the name of the object (might be a card name or - * a file name. - * The returned string shall always be allocated on the heap with - * OPENSSL_malloc(), and need to be free'd with OPENSSL_free(). - * - * If the ui_method doesn't contain a pointer to a user-defined prompt - * constructor, a default string is built, looking like this: - * - * "Enter {object_desc} for {object_name}:" - * - * So, if object_desc has the value "pass phrase" and object_name has - * the value "foo.key", the resulting string is: - * - * "Enter pass phrase for foo.key:" -*/ -char *UI_construct_prompt(UI *ui_method, - const char *object_desc, const char *object_name); - -/* - * The following function is used to store a pointer to user-specific data. - * Any previous such pointer will be returned and replaced. - * - * For callback purposes, this function makes a lot more sense than using - * ex_data, since the latter requires that different parts of OpenSSL or - * applications share the same ex_data index. - * - * Note that the UI_OpenSSL() method completely ignores the user data. Other - * methods may not, however. - */ -void *UI_add_user_data(UI *ui, void *user_data); -/* - * Alternatively, this function is used to duplicate the user data. - * This uses the duplicator method function. The destroy function will - * be used to free the user data in this case. - */ -int UI_dup_user_data(UI *ui, void *user_data); -/* We need a user data retrieving function as well. */ -void *UI_get0_user_data(UI *ui); - -/* Return the result associated with a prompt given with the index i. */ -const char *UI_get0_result(UI *ui, int i); -int UI_get_result_length(UI *ui, int i); - -/* When all strings have been added, process the whole thing. */ -int UI_process(UI *ui); - -/* - * Give a user interface parameterised control commands. This can be used to - * send down an integer, a data pointer or a function pointer, as well as be - * used to get information from a UI. - */ -int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); - -/* The commands */ -/* - * Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the - * OpenSSL error stack before printing any info or added error messages and - * before any prompting. - */ -# define UI_CTRL_PRINT_ERRORS 1 -/* - * Check if a UI_process() is possible to do again with the same instance of - * a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 - * if not. - */ -# define UI_CTRL_IS_REDOABLE 2 - -/* Some methods may use extra data */ -# define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) -# define UI_get_app_data(s) UI_get_ex_data(s,0) - -# define UI_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_UI, l, p, newf, dupf, freef) -int UI_set_ex_data(UI *r, int idx, void *arg); -void *UI_get_ex_data(UI *r, int idx); - -/* Use specific methods instead of the built-in one */ -void UI_set_default_method(const UI_METHOD *meth); -const UI_METHOD *UI_get_default_method(void); -const UI_METHOD *UI_get_method(UI *ui); -const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); - -# ifndef OPENSSL_NO_UI_CONSOLE - -/* The method with all the built-in thingies */ -UI_METHOD *UI_OpenSSL(void); - -# endif - -/* - * NULL method. Literally does nothing, but may serve as a placeholder - * to avoid internal default. - */ -const UI_METHOD *UI_null(void); - -/* ---------- For method writers ---------- */ -/*- - A method contains a number of functions that implement the low level - of the User Interface. The functions are: - - an opener This function starts a session, maybe by opening - a channel to a tty, or by opening a window. - a writer This function is called to write a given string, - maybe to the tty, maybe as a field label in a - window. - a flusher This function is called to flush everything that - has been output so far. It can be used to actually - display a dialog box after it has been built. - a reader This function is called to read a given prompt, - maybe from the tty, maybe from a field in a - window. Note that it's called with all string - structures, not only the prompt ones, so it must - check such things itself. - a closer This function closes the session, maybe by closing - the channel to the tty, or closing the window. - - All these functions are expected to return: - - 0 on error. - 1 on success. - -1 on out-of-band events, for example if some prompting has - been canceled (by pressing Ctrl-C, for example). This is - only checked when returned by the flusher or the reader. - - The way this is used, the opener is first called, then the writer for all - strings, then the flusher, then the reader for all strings and finally the - closer. Note that if you want to prompt from a terminal or other command - line interface, the best is to have the reader also write the prompts - instead of having the writer do it. If you want to prompt from a dialog - box, the writer can be used to build up the contents of the box, and the - flusher to actually display the box and run the event loop until all data - has been given, after which the reader only grabs the given data and puts - them back into the UI strings. - - All method functions take a UI as argument. Additionally, the writer and - the reader take a UI_STRING. -*/ - -/* - * The UI_STRING type is the data structure that contains all the needed info - * about a string or a prompt, including test data for a verification prompt. - */ -typedef struct ui_string_st UI_STRING; -DEFINE_STACK_OF(UI_STRING) - -/* - * The different types of strings that are currently supported. This is only - * needed by method authors. - */ -enum UI_string_types { - UIT_NONE = 0, - UIT_PROMPT, /* Prompt for a string */ - UIT_VERIFY, /* Prompt for a string and verify */ - UIT_BOOLEAN, /* Prompt for a yes/no response */ - UIT_INFO, /* Send info to the user */ - UIT_ERROR /* Send an error message to the user */ -}; - -/* Create and manipulate methods */ -UI_METHOD *UI_create_method(const char *name); -void UI_destroy_method(UI_METHOD *ui_method); -int UI_method_set_opener(UI_METHOD *method, int (*opener) (UI *ui)); -int UI_method_set_writer(UI_METHOD *method, - int (*writer) (UI *ui, UI_STRING *uis)); -int UI_method_set_flusher(UI_METHOD *method, int (*flusher) (UI *ui)); -int UI_method_set_reader(UI_METHOD *method, - int (*reader) (UI *ui, UI_STRING *uis)); -int UI_method_set_closer(UI_METHOD *method, int (*closer) (UI *ui)); -int UI_method_set_data_duplicator(UI_METHOD *method, - void *(*duplicator) (UI *ui, void *ui_data), - void (*destructor)(UI *ui, void *ui_data)); -int UI_method_set_prompt_constructor(UI_METHOD *method, - char *(*prompt_constructor) (UI *ui, - const char - *object_desc, - const char - *object_name)); -int UI_method_set_ex_data(UI_METHOD *method, int idx, void *data); -int (*UI_method_get_opener(const UI_METHOD *method)) (UI *); -int (*UI_method_get_writer(const UI_METHOD *method)) (UI *, UI_STRING *); -int (*UI_method_get_flusher(const UI_METHOD *method)) (UI *); -int (*UI_method_get_reader(const UI_METHOD *method)) (UI *, UI_STRING *); -int (*UI_method_get_closer(const UI_METHOD *method)) (UI *); -char *(*UI_method_get_prompt_constructor(const UI_METHOD *method)) - (UI *, const char *, const char *); -void *(*UI_method_get_data_duplicator(const UI_METHOD *method)) (UI *, void *); -void (*UI_method_get_data_destructor(const UI_METHOD *method)) (UI *, void *); -const void *UI_method_get_ex_data(const UI_METHOD *method, int idx); - -/* - * The following functions are helpers for method writers to access relevant - * data from a UI_STRING. - */ - -/* Return type of the UI_STRING */ -enum UI_string_types UI_get_string_type(UI_STRING *uis); -/* Return input flags of the UI_STRING */ -int UI_get_input_flags(UI_STRING *uis); -/* Return the actual string to output (the prompt, info or error) */ -const char *UI_get0_output_string(UI_STRING *uis); -/* - * Return the optional action string to output (the boolean prompt - * instruction) - */ -const char *UI_get0_action_string(UI_STRING *uis); -/* Return the result of a prompt */ -const char *UI_get0_result_string(UI_STRING *uis); -int UI_get_result_string_length(UI_STRING *uis); -/* - * Return the string to test the result against. Only useful with verifies. - */ -const char *UI_get0_test_string(UI_STRING *uis); -/* Return the required minimum size of the result */ -int UI_get_result_minsize(UI_STRING *uis); -/* Return the required maximum size of the result */ -int UI_get_result_maxsize(UI_STRING *uis); -/* Set the result of a UI_STRING. */ -int UI_set_result(UI *ui, UI_STRING *uis, const char *result); -int UI_set_result_ex(UI *ui, UI_STRING *uis, const char *result, int len); - -/* A couple of popular utility functions */ -int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, - int verify); -int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt, - int verify); -UI_METHOD *UI_UTIL_wrap_read_pem_callback(pem_password_cb *cb, int rwflag); - - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/uierr.h b/deps/openssl/include/openssl/uierr.h deleted file mode 100644 index bd68864d..00000000 --- a/deps/openssl/include/openssl/uierr.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_UIERR_H -# define HEADER_UIERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_UI_strings(void); - -/* - * UI function codes. - */ -# define UI_F_CLOSE_CONSOLE 115 -# define UI_F_ECHO_CONSOLE 116 -# define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 -# define UI_F_GENERAL_ALLOCATE_PROMPT 109 -# define UI_F_NOECHO_CONSOLE 117 -# define UI_F_OPEN_CONSOLE 114 -# define UI_F_UI_CONSTRUCT_PROMPT 121 -# define UI_F_UI_CREATE_METHOD 112 -# define UI_F_UI_CTRL 111 -# define UI_F_UI_DUP_ERROR_STRING 101 -# define UI_F_UI_DUP_INFO_STRING 102 -# define UI_F_UI_DUP_INPUT_BOOLEAN 110 -# define UI_F_UI_DUP_INPUT_STRING 103 -# define UI_F_UI_DUP_USER_DATA 118 -# define UI_F_UI_DUP_VERIFY_STRING 106 -# define UI_F_UI_GET0_RESULT 107 -# define UI_F_UI_GET_RESULT_LENGTH 119 -# define UI_F_UI_NEW_METHOD 104 -# define UI_F_UI_PROCESS 113 -# define UI_F_UI_SET_RESULT 105 -# define UI_F_UI_SET_RESULT_EX 120 - -/* - * UI reason codes. - */ -# define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104 -# define UI_R_INDEX_TOO_LARGE 102 -# define UI_R_INDEX_TOO_SMALL 103 -# define UI_R_NO_RESULT_BUFFER 105 -# define UI_R_PROCESSING_ERROR 107 -# define UI_R_RESULT_TOO_LARGE 100 -# define UI_R_RESULT_TOO_SMALL 101 -# define UI_R_SYSASSIGN_ERROR 109 -# define UI_R_SYSDASSGN_ERROR 110 -# define UI_R_SYSQIOW_ERROR 111 -# define UI_R_UNKNOWN_CONTROL_COMMAND 106 -# define UI_R_UNKNOWN_TTYGET_ERRNO_VALUE 108 -# define UI_R_USER_DATA_DUPLICATION_UNSUPPORTED 112 - -#endif diff --git a/deps/openssl/include/openssl/whrlpool.h b/deps/openssl/include/openssl/whrlpool.h deleted file mode 100644 index 20ea3503..00000000 --- a/deps/openssl/include/openssl/whrlpool.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_WHRLPOOL_H -# define HEADER_WHRLPOOL_H - -#include - -# ifndef OPENSSL_NO_WHIRLPOOL -# include -# include -# ifdef __cplusplus -extern "C" { -# endif - -# define WHIRLPOOL_DIGEST_LENGTH (512/8) -# define WHIRLPOOL_BBLOCK 512 -# define WHIRLPOOL_COUNTER (256/8) - -typedef struct { - union { - unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; - /* double q is here to ensure 64-bit alignment */ - double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)]; - } H; - unsigned char data[WHIRLPOOL_BBLOCK / 8]; - unsigned int bitoff; - size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; -} WHIRLPOOL_CTX; - -int WHIRLPOOL_Init(WHIRLPOOL_CTX *c); -int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes); -void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits); -int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c); -unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md); - -# ifdef __cplusplus -} -# endif -# endif - -#endif diff --git a/deps/openssl/include/openssl/x509.h b/deps/openssl/include/openssl/x509.h deleted file mode 100644 index 39ca0ba5..00000000 --- a/deps/openssl/include/openssl/x509.h +++ /dev/null @@ -1,1047 +0,0 @@ -/* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_X509_H -# define HEADER_X509_H - -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# if OPENSSL_API_COMPAT < 0x10100000L -# include -# include -# include -# endif - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Flags for X509_get_signature_info() */ -/* Signature info is valid */ -# define X509_SIG_INFO_VALID 0x1 -/* Signature is suitable for TLS use */ -# define X509_SIG_INFO_TLS 0x2 - -# define X509_FILETYPE_PEM 1 -# define X509_FILETYPE_ASN1 2 -# define X509_FILETYPE_DEFAULT 3 - -# define X509v3_KU_DIGITAL_SIGNATURE 0x0080 -# define X509v3_KU_NON_REPUDIATION 0x0040 -# define X509v3_KU_KEY_ENCIPHERMENT 0x0020 -# define X509v3_KU_DATA_ENCIPHERMENT 0x0010 -# define X509v3_KU_KEY_AGREEMENT 0x0008 -# define X509v3_KU_KEY_CERT_SIGN 0x0004 -# define X509v3_KU_CRL_SIGN 0x0002 -# define X509v3_KU_ENCIPHER_ONLY 0x0001 -# define X509v3_KU_DECIPHER_ONLY 0x8000 -# define X509v3_KU_UNDEF 0xffff - -struct X509_algor_st { - ASN1_OBJECT *algorithm; - ASN1_TYPE *parameter; -} /* X509_ALGOR */ ; - -typedef STACK_OF(X509_ALGOR) X509_ALGORS; - -typedef struct X509_val_st { - ASN1_TIME *notBefore; - ASN1_TIME *notAfter; -} X509_VAL; - -typedef struct X509_sig_st X509_SIG; - -typedef struct X509_name_entry_st X509_NAME_ENTRY; - -DEFINE_STACK_OF(X509_NAME_ENTRY) - -DEFINE_STACK_OF(X509_NAME) - -# define X509_EX_V_NETSCAPE_HACK 0x8000 -# define X509_EX_V_INIT 0x0001 -typedef struct X509_extension_st X509_EXTENSION; - -typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; - -DEFINE_STACK_OF(X509_EXTENSION) - -typedef struct x509_attributes_st X509_ATTRIBUTE; - -DEFINE_STACK_OF(X509_ATTRIBUTE) - -typedef struct X509_req_info_st X509_REQ_INFO; - -typedef struct X509_req_st X509_REQ; - -typedef struct x509_cert_aux_st X509_CERT_AUX; - -typedef struct x509_cinf_st X509_CINF; - -DEFINE_STACK_OF(X509) - -/* This is used for a table of trust checking functions */ - -typedef struct x509_trust_st { - int trust; - int flags; - int (*check_trust) (struct x509_trust_st *, X509 *, int); - char *name; - int arg1; - void *arg2; -} X509_TRUST; - -DEFINE_STACK_OF(X509_TRUST) - -/* standard trust ids */ - -# define X509_TRUST_DEFAULT 0 /* Only valid in purpose settings */ - -# define X509_TRUST_COMPAT 1 -# define X509_TRUST_SSL_CLIENT 2 -# define X509_TRUST_SSL_SERVER 3 -# define X509_TRUST_EMAIL 4 -# define X509_TRUST_OBJECT_SIGN 5 -# define X509_TRUST_OCSP_SIGN 6 -# define X509_TRUST_OCSP_REQUEST 7 -# define X509_TRUST_TSA 8 - -/* Keep these up to date! */ -# define X509_TRUST_MIN 1 -# define X509_TRUST_MAX 8 - -/* trust_flags values */ -# define X509_TRUST_DYNAMIC (1U << 0) -# define X509_TRUST_DYNAMIC_NAME (1U << 1) -/* No compat trust if self-signed, preempts "DO_SS" */ -# define X509_TRUST_NO_SS_COMPAT (1U << 2) -/* Compat trust if no explicit accepted trust EKUs */ -# define X509_TRUST_DO_SS_COMPAT (1U << 3) -/* Accept "anyEKU" as a wildcard trust OID */ -# define X509_TRUST_OK_ANY_EKU (1U << 4) - -/* check_trust return codes */ - -# define X509_TRUST_TRUSTED 1 -# define X509_TRUST_REJECTED 2 -# define X509_TRUST_UNTRUSTED 3 - -/* Flags for X509_print_ex() */ - -# define X509_FLAG_COMPAT 0 -# define X509_FLAG_NO_HEADER 1L -# define X509_FLAG_NO_VERSION (1L << 1) -# define X509_FLAG_NO_SERIAL (1L << 2) -# define X509_FLAG_NO_SIGNAME (1L << 3) -# define X509_FLAG_NO_ISSUER (1L << 4) -# define X509_FLAG_NO_VALIDITY (1L << 5) -# define X509_FLAG_NO_SUBJECT (1L << 6) -# define X509_FLAG_NO_PUBKEY (1L << 7) -# define X509_FLAG_NO_EXTENSIONS (1L << 8) -# define X509_FLAG_NO_SIGDUMP (1L << 9) -# define X509_FLAG_NO_AUX (1L << 10) -# define X509_FLAG_NO_ATTRIBUTES (1L << 11) -# define X509_FLAG_NO_IDS (1L << 12) - -/* Flags specific to X509_NAME_print_ex() */ - -/* The field separator information */ - -# define XN_FLAG_SEP_MASK (0xf << 16) - -# define XN_FLAG_COMPAT 0/* Traditional; use old X509_NAME_print */ -# define XN_FLAG_SEP_COMMA_PLUS (1 << 16)/* RFC2253 ,+ */ -# define XN_FLAG_SEP_CPLUS_SPC (2 << 16)/* ,+ spaced: more readable */ -# define XN_FLAG_SEP_SPLUS_SPC (3 << 16)/* ;+ spaced */ -# define XN_FLAG_SEP_MULTILINE (4 << 16)/* One line per field */ - -# define XN_FLAG_DN_REV (1 << 20)/* Reverse DN order */ - -/* How the field name is shown */ - -# define XN_FLAG_FN_MASK (0x3 << 21) - -# define XN_FLAG_FN_SN 0/* Object short name */ -# define XN_FLAG_FN_LN (1 << 21)/* Object long name */ -# define XN_FLAG_FN_OID (2 << 21)/* Always use OIDs */ -# define XN_FLAG_FN_NONE (3 << 21)/* No field names */ - -# define XN_FLAG_SPC_EQ (1 << 23)/* Put spaces round '=' */ - -/* - * This determines if we dump fields we don't recognise: RFC2253 requires - * this. - */ - -# define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) - -# define XN_FLAG_FN_ALIGN (1 << 25)/* Align field names to 20 - * characters */ - -/* Complete set of RFC2253 flags */ - -# define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \ - XN_FLAG_SEP_COMMA_PLUS | \ - XN_FLAG_DN_REV | \ - XN_FLAG_FN_SN | \ - XN_FLAG_DUMP_UNKNOWN_FIELDS) - -/* readable oneline form */ - -# define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \ - ASN1_STRFLGS_ESC_QUOTE | \ - XN_FLAG_SEP_CPLUS_SPC | \ - XN_FLAG_SPC_EQ | \ - XN_FLAG_FN_SN) - -/* readable multiline form */ - -# define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ - ASN1_STRFLGS_ESC_MSB | \ - XN_FLAG_SEP_MULTILINE | \ - XN_FLAG_SPC_EQ | \ - XN_FLAG_FN_LN | \ - XN_FLAG_FN_ALIGN) - -DEFINE_STACK_OF(X509_REVOKED) - -typedef struct X509_crl_info_st X509_CRL_INFO; - -DEFINE_STACK_OF(X509_CRL) - -typedef struct private_key_st { - int version; - /* The PKCS#8 data types */ - X509_ALGOR *enc_algor; - ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ - /* When decrypted, the following will not be NULL */ - EVP_PKEY *dec_pkey; - /* used to encrypt and decrypt */ - int key_length; - char *key_data; - int key_free; /* true if we should auto free key_data */ - /* expanded version of 'enc_algor' */ - EVP_CIPHER_INFO cipher; -} X509_PKEY; - -typedef struct X509_info_st { - X509 *x509; - X509_CRL *crl; - X509_PKEY *x_pkey; - EVP_CIPHER_INFO enc_cipher; - int enc_len; - char *enc_data; -} X509_INFO; - -DEFINE_STACK_OF(X509_INFO) - -/* - * The next 2 structures and their 8 routines are used to manipulate Netscape's - * spki structures - useful if you are writing a CA web page - */ -typedef struct Netscape_spkac_st { - X509_PUBKEY *pubkey; - ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ -} NETSCAPE_SPKAC; - -typedef struct Netscape_spki_st { - NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ - X509_ALGOR sig_algor; - ASN1_BIT_STRING *signature; -} NETSCAPE_SPKI; - -/* Netscape certificate sequence structure */ -typedef struct Netscape_certificate_sequence { - ASN1_OBJECT *type; - STACK_OF(X509) *certs; -} NETSCAPE_CERT_SEQUENCE; - -/*- Unused (and iv length is wrong) -typedef struct CBCParameter_st - { - unsigned char iv[8]; - } CBC_PARAM; -*/ - -/* Password based encryption structure */ - -typedef struct PBEPARAM_st { - ASN1_OCTET_STRING *salt; - ASN1_INTEGER *iter; -} PBEPARAM; - -/* Password based encryption V2 structures */ - -typedef struct PBE2PARAM_st { - X509_ALGOR *keyfunc; - X509_ALGOR *encryption; -} PBE2PARAM; - -typedef struct PBKDF2PARAM_st { -/* Usually OCTET STRING but could be anything */ - ASN1_TYPE *salt; - ASN1_INTEGER *iter; - ASN1_INTEGER *keylength; - X509_ALGOR *prf; -} PBKDF2PARAM; - -#ifndef OPENSSL_NO_SCRYPT -typedef struct SCRYPT_PARAMS_st { - ASN1_OCTET_STRING *salt; - ASN1_INTEGER *costParameter; - ASN1_INTEGER *blockSize; - ASN1_INTEGER *parallelizationParameter; - ASN1_INTEGER *keyLength; -} SCRYPT_PARAMS; -#endif - -#ifdef __cplusplus -} -#endif - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# define X509_EXT_PACK_UNKNOWN 1 -# define X509_EXT_PACK_STRING 2 - -# define X509_extract_key(x) X509_get_pubkey(x)/*****/ -# define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) -# define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) - -void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); -X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), - int (*crl_free) (X509_CRL *crl), - int (*crl_lookup) (X509_CRL *crl, - X509_REVOKED **ret, - ASN1_INTEGER *ser, - X509_NAME *issuer), - int (*crl_verify) (X509_CRL *crl, - EVP_PKEY *pk)); -void X509_CRL_METHOD_free(X509_CRL_METHOD *m); - -void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); -void *X509_CRL_get_meth_data(X509_CRL *crl); - -const char *X509_verify_cert_error_string(long n); - -int X509_verify(X509 *a, EVP_PKEY *r); - -int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); -int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); -int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); - -NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len); -char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); -EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); -int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); - -int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); - -int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent); -int X509_signature_print(BIO *bp, const X509_ALGOR *alg, - const ASN1_STRING *sig); - -int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); -int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); -# ifndef OPENSSL_NO_OCSP -int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert); -# endif -int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); -int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); -int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); -int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); -# ifndef OPENSSL_NO_OCSP -int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl); -# endif -int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); - -int X509_pubkey_digest(const X509 *data, const EVP_MD *type, - unsigned char *md, unsigned int *len); -int X509_digest(const X509 *data, const EVP_MD *type, - unsigned char *md, unsigned int *len); -int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, - unsigned char *md, unsigned int *len); -int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, - unsigned char *md, unsigned int *len); -int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, - unsigned char *md, unsigned int *len); - -# ifndef OPENSSL_NO_STDIO -X509 *d2i_X509_fp(FILE *fp, X509 **x509); -int i2d_X509_fp(FILE *fp, X509 *x509); -X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); -int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl); -X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); -int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req); -# ifndef OPENSSL_NO_RSA -RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); -int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa); -RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); -int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa); -RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); -int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); -# endif -# ifndef OPENSSL_NO_DSA -DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); -int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); -DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); -int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); -# endif -# ifndef OPENSSL_NO_EC -EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); -int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); -EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); -int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); -# endif -X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); -int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8); -PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, - PKCS8_PRIV_KEY_INFO **p8inf); -int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf); -int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); -int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); -EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); -int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); -EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); -# endif - -X509 *d2i_X509_bio(BIO *bp, X509 **x509); -int i2d_X509_bio(BIO *bp, X509 *x509); -X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); -int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl); -X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); -int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req); -# ifndef OPENSSL_NO_RSA -RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); -int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa); -RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); -int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa); -RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); -int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); -# endif -# ifndef OPENSSL_NO_DSA -DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); -int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); -DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); -int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); -# endif -# ifndef OPENSSL_NO_EC -EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); -int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); -EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); -int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); -# endif -X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); -int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8); -PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, - PKCS8_PRIV_KEY_INFO **p8inf); -int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf); -int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); -int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); -EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); -int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); -EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); - -X509 *X509_dup(X509 *x509); -X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); -X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); -X509_CRL *X509_CRL_dup(X509_CRL *crl); -X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); -X509_REQ *X509_REQ_dup(X509_REQ *req); -X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); -int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, - void *pval); -void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, - const void **ppval, const X509_ALGOR *algor); -void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); -int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); - -X509_NAME *X509_NAME_dup(X509_NAME *xn); -X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); - -int X509_cmp_time(const ASN1_TIME *s, time_t *t); -int X509_cmp_current_time(const ASN1_TIME *s); -ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t); -ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, - int offset_day, long offset_sec, time_t *t); -ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj); - -const char *X509_get_default_cert_area(void); -const char *X509_get_default_cert_dir(void); -const char *X509_get_default_cert_file(void); -const char *X509_get_default_cert_dir_env(void); -const char *X509_get_default_cert_file_env(void); -const char *X509_get_default_private_dir(void); - -X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); -X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey); - -DECLARE_ASN1_FUNCTIONS(X509_ALGOR) -DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS) -DECLARE_ASN1_FUNCTIONS(X509_VAL) - -DECLARE_ASN1_FUNCTIONS(X509_PUBKEY) - -int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); -EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key); -EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); -int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain); -long X509_get_pathlen(X509 *x); -int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); -EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); -# ifndef OPENSSL_NO_RSA -int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); -RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); -# endif -# ifndef OPENSSL_NO_DSA -int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp); -DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length); -# endif -# ifndef OPENSSL_NO_EC -int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); -EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length); -# endif - -DECLARE_ASN1_FUNCTIONS(X509_SIG) -void X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg, - const ASN1_OCTET_STRING **pdigest); -void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, - ASN1_OCTET_STRING **pdigest); - -DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) -DECLARE_ASN1_FUNCTIONS(X509_REQ) - -DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE) -X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); - -DECLARE_ASN1_FUNCTIONS(X509_EXTENSION) -DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) - -DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) - -DECLARE_ASN1_FUNCTIONS(X509_NAME) - -int X509_NAME_set(X509_NAME **xn, X509_NAME *name); - -DECLARE_ASN1_FUNCTIONS(X509_CINF) - -DECLARE_ASN1_FUNCTIONS(X509) -DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) - -#define X509_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, l, p, newf, dupf, freef) -int X509_set_ex_data(X509 *r, int idx, void *arg); -void *X509_get_ex_data(X509 *r, int idx); -int i2d_X509_AUX(X509 *a, unsigned char **pp); -X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); - -int i2d_re_X509_tbs(X509 *x, unsigned char **pp); - -int X509_SIG_INFO_get(const X509_SIG_INFO *siginf, int *mdnid, int *pknid, - int *secbits, uint32_t *flags); -void X509_SIG_INFO_set(X509_SIG_INFO *siginf, int mdnid, int pknid, - int secbits, uint32_t flags); - -int X509_get_signature_info(X509 *x, int *mdnid, int *pknid, int *secbits, - uint32_t *flags); - -void X509_get0_signature(const ASN1_BIT_STRING **psig, - const X509_ALGOR **palg, const X509 *x); -int X509_get_signature_nid(const X509 *x); - -int X509_trusted(const X509 *x); -int X509_alias_set1(X509 *x, const unsigned char *name, int len); -int X509_keyid_set1(X509 *x, const unsigned char *id, int len); -unsigned char *X509_alias_get0(X509 *x, int *len); -unsigned char *X509_keyid_get0(X509 *x, int *len); -int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *, - int); -int X509_TRUST_set(int *t, int trust); -int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj); -int X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj); -void X509_trust_clear(X509 *x); -void X509_reject_clear(X509 *x); - -STACK_OF(ASN1_OBJECT) *X509_get0_trust_objects(X509 *x); -STACK_OF(ASN1_OBJECT) *X509_get0_reject_objects(X509 *x); - -DECLARE_ASN1_FUNCTIONS(X509_REVOKED) -DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) -DECLARE_ASN1_FUNCTIONS(X509_CRL) - -int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); -int X509_CRL_get0_by_serial(X509_CRL *crl, - X509_REVOKED **ret, ASN1_INTEGER *serial); -int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); - -X509_PKEY *X509_PKEY_new(void); -void X509_PKEY_free(X509_PKEY *a); - -DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) -DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) -DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) - -X509_INFO *X509_INFO_new(void); -void X509_INFO_free(X509_INFO *a); -char *X509_NAME_oneline(const X509_NAME *a, char *buf, int size); - -int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, - ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); - -int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, - unsigned char *md, unsigned int *len); - -int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, - X509_ALGOR *algor2, ASN1_BIT_STRING *signature, - char *data, EVP_PKEY *pkey, const EVP_MD *type); - -int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data, - unsigned char *md, unsigned int *len); - -int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, - ASN1_BIT_STRING *signature, void *data, EVP_PKEY *pkey); - -int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, - X509_ALGOR *algor2, ASN1_BIT_STRING *signature, void *data, - EVP_PKEY *pkey, const EVP_MD *type); -int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, - X509_ALGOR *algor2, ASN1_BIT_STRING *signature, - void *asn, EVP_MD_CTX *ctx); - -long X509_get_version(const X509 *x); -int X509_set_version(X509 *x, long version); -int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); -ASN1_INTEGER *X509_get_serialNumber(X509 *x); -const ASN1_INTEGER *X509_get0_serialNumber(const X509 *x); -int X509_set_issuer_name(X509 *x, X509_NAME *name); -X509_NAME *X509_get_issuer_name(const X509 *a); -int X509_set_subject_name(X509 *x, X509_NAME *name); -X509_NAME *X509_get_subject_name(const X509 *a); -const ASN1_TIME * X509_get0_notBefore(const X509 *x); -ASN1_TIME *X509_getm_notBefore(const X509 *x); -int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm); -const ASN1_TIME *X509_get0_notAfter(const X509 *x); -ASN1_TIME *X509_getm_notAfter(const X509 *x); -int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm); -int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); -int X509_up_ref(X509 *x); -int X509_get_signature_type(const X509 *x); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define X509_get_notBefore X509_getm_notBefore -# define X509_get_notAfter X509_getm_notAfter -# define X509_set_notBefore X509_set1_notBefore -# define X509_set_notAfter X509_set1_notAfter -#endif - - -/* - * This one is only used so that a binary form can output, as in - * i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x), &buf) - */ -X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x); -const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x); -void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid, - const ASN1_BIT_STRING **psuid); -const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x); - -EVP_PKEY *X509_get0_pubkey(const X509 *x); -EVP_PKEY *X509_get_pubkey(X509 *x); -ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); -int X509_certificate_type(const X509 *x, const EVP_PKEY *pubkey); - -long X509_REQ_get_version(const X509_REQ *req); -int X509_REQ_set_version(X509_REQ *x, long version); -X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req); -int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); -void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, - const X509_ALGOR **palg); -int X509_REQ_get_signature_nid(const X509_REQ *req); -int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp); -int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); -EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); -EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req); -X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req); -int X509_REQ_extension_nid(int nid); -int *X509_REQ_get_extension_nids(void); -void X509_REQ_set_extension_nids(int *nids); -STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req); -int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts, - int nid); -int X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts); -int X509_REQ_get_attr_count(const X509_REQ *req); -int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos); -int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); -X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); -int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); -int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, - const ASN1_OBJECT *obj, int type, - const unsigned char *bytes, int len); -int X509_REQ_add1_attr_by_NID(X509_REQ *req, - int nid, int type, - const unsigned char *bytes, int len); -int X509_REQ_add1_attr_by_txt(X509_REQ *req, - const char *attrname, int type, - const unsigned char *bytes, int len); - -int X509_CRL_set_version(X509_CRL *x, long version); -int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); -int X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); -int X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); -int X509_CRL_sort(X509_CRL *crl); -int X509_CRL_up_ref(X509_CRL *crl); - -# if OPENSSL_API_COMPAT < 0x10100000L -# define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate -# define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate -#endif - -long X509_CRL_get_version(const X509_CRL *crl); -const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl); -const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl); -DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl)) -DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl)) -X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl); -const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL *crl); -STACK_OF(X509_REVOKED) *X509_CRL_get_REVOKED(X509_CRL *crl); -void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, - const X509_ALGOR **palg); -int X509_CRL_get_signature_nid(const X509_CRL *crl); -int i2d_re_X509_CRL_tbs(X509_CRL *req, unsigned char **pp); - -const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED *x); -int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); -const ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED *x); -int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); -const STACK_OF(X509_EXTENSION) * -X509_REVOKED_get0_extensions(const X509_REVOKED *r); - -X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, - EVP_PKEY *skey, const EVP_MD *md, unsigned int flags); - -int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); - -int X509_check_private_key(const X509 *x509, const EVP_PKEY *pkey); -int X509_chain_check_suiteb(int *perror_depth, - X509 *x, STACK_OF(X509) *chain, - unsigned long flags); -int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags); -STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); - -int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); -unsigned long X509_issuer_and_serial_hash(X509 *a); - -int X509_issuer_name_cmp(const X509 *a, const X509 *b); -unsigned long X509_issuer_name_hash(X509 *a); - -int X509_subject_name_cmp(const X509 *a, const X509 *b); -unsigned long X509_subject_name_hash(X509 *x); - -# ifndef OPENSSL_NO_MD5 -unsigned long X509_issuer_name_hash_old(X509 *a); -unsigned long X509_subject_name_hash_old(X509 *x); -# endif - -int X509_cmp(const X509 *a, const X509 *b); -int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); -unsigned long X509_NAME_hash(X509_NAME *x); -unsigned long X509_NAME_hash_old(X509_NAME *x); - -int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); -int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); -int X509_aux_print(BIO *out, X509 *x, int indent); -# ifndef OPENSSL_NO_STDIO -int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag, - unsigned long cflag); -int X509_print_fp(FILE *bp, X509 *x); -int X509_CRL_print_fp(FILE *bp, X509_CRL *x); -int X509_REQ_print_fp(FILE *bp, X509_REQ *req); -int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, - unsigned long flags); -# endif - -int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase); -int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent, - unsigned long flags); -int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflag, - unsigned long cflag); -int X509_print(BIO *bp, X509 *x); -int X509_ocspid_print(BIO *bp, X509 *x); -int X509_CRL_print_ex(BIO *out, X509_CRL *x, unsigned long nmflag); -int X509_CRL_print(BIO *bp, X509_CRL *x); -int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, - unsigned long cflag); -int X509_REQ_print(BIO *bp, X509_REQ *req); - -int X509_NAME_entry_count(const X509_NAME *name); -int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf, int len); -int X509_NAME_get_text_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, - char *buf, int len); - -/* - * NOTE: you should be passing -1, not 0 as lastpos. The functions that use - * lastpos, search after that position on. - */ -int X509_NAME_get_index_by_NID(X509_NAME *name, int nid, int lastpos); -int X509_NAME_get_index_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, - int lastpos); -X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc); -X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); -int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne, - int loc, int set); -int X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int type, - const unsigned char *bytes, int len, int loc, - int set); -int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, - const unsigned char *bytes, int len, int loc, - int set); -X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, - const char *field, int type, - const unsigned char *bytes, - int len); -X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, - int type, - const unsigned char *bytes, - int len); -int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, - const unsigned char *bytes, int len, int loc, - int set); -X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, - const ASN1_OBJECT *obj, int type, - const unsigned char *bytes, - int len); -int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj); -int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, - const unsigned char *bytes, int len); -ASN1_OBJECT *X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne); -ASN1_STRING * X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne); -int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne); - -int X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, - size_t *pderlen); - -int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x); -int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, - int nid, int lastpos); -int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x, - const ASN1_OBJECT *obj, int lastpos); -int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x, - int crit, int lastpos); -X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc); -X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc); -STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, - X509_EXTENSION *ex, int loc); - -int X509_get_ext_count(const X509 *x); -int X509_get_ext_by_NID(const X509 *x, int nid, int lastpos); -int X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, int lastpos); -int X509_get_ext_by_critical(const X509 *x, int crit, int lastpos); -X509_EXTENSION *X509_get_ext(const X509 *x, int loc); -X509_EXTENSION *X509_delete_ext(X509 *x, int loc); -int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); -void *X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx); -int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, - unsigned long flags); - -int X509_CRL_get_ext_count(const X509_CRL *x); -int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos); -int X509_CRL_get_ext_by_OBJ(const X509_CRL *x, const ASN1_OBJECT *obj, - int lastpos); -int X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, int lastpos); -X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc); -X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); -int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); -void *X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, int *idx); -int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, - unsigned long flags); - -int X509_REVOKED_get_ext_count(const X509_REVOKED *x); -int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int lastpos); -int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj, - int lastpos); -int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit, - int lastpos); -X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc); -X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); -int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc); -void *X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int *crit, - int *idx); -int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, - unsigned long flags); - -X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, - int nid, int crit, - ASN1_OCTET_STRING *data); -X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, - const ASN1_OBJECT *obj, int crit, - ASN1_OCTET_STRING *data); -int X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT *obj); -int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); -int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data); -ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex); -ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); -int X509_EXTENSION_get_critical(const X509_EXTENSION *ex); - -int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x); -int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, - int lastpos); -int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, - const ASN1_OBJECT *obj, int lastpos); -X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc); -X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, - X509_ATTRIBUTE *attr); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) - **x, const ASN1_OBJECT *obj, - int type, - const unsigned char *bytes, - int len); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) - **x, int nid, int type, - const unsigned char *bytes, - int len); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) - **x, const char *attrname, - int type, - const unsigned char *bytes, - int len); -void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, - const ASN1_OBJECT *obj, int lastpos, int type); -X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, - int atrtype, const void *data, - int len); -X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, - const ASN1_OBJECT *obj, - int atrtype, const void *data, - int len); -X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, - const char *atrname, int type, - const unsigned char *bytes, - int len); -int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); -int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, - const void *data, int len); -void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, - void *data); -int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr); -ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); -ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); - -int EVP_PKEY_get_attr_count(const EVP_PKEY *key); -int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos); -int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); -X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); -int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); -int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, - const ASN1_OBJECT *obj, int type, - const unsigned char *bytes, int len); -int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, - int nid, int type, - const unsigned char *bytes, int len); -int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, - const char *attrname, int type, - const unsigned char *bytes, int len); - -int X509_verify_cert(X509_STORE_CTX *ctx); - -/* lookup a cert from a X509 STACK */ -X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, X509_NAME *name, - ASN1_INTEGER *serial); -X509 *X509_find_by_subject(STACK_OF(X509) *sk, X509_NAME *name); - -DECLARE_ASN1_FUNCTIONS(PBEPARAM) -DECLARE_ASN1_FUNCTIONS(PBE2PARAM) -DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) -#ifndef OPENSSL_NO_SCRYPT -DECLARE_ASN1_FUNCTIONS(SCRYPT_PARAMS) -#endif - -int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, - const unsigned char *salt, int saltlen); - -X509_ALGOR *PKCS5_pbe_set(int alg, int iter, - const unsigned char *salt, int saltlen); -X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, - unsigned char *salt, int saltlen); -X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, - unsigned char *salt, int saltlen, - unsigned char *aiv, int prf_nid); - -#ifndef OPENSSL_NO_SCRYPT -X509_ALGOR *PKCS5_pbe2_set_scrypt(const EVP_CIPHER *cipher, - const unsigned char *salt, int saltlen, - unsigned char *aiv, uint64_t N, uint64_t r, - uint64_t p); -#endif - -X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, - int prf_nid, int keylen); - -/* PKCS#8 utilities */ - -DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) - -EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8); -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); - -int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, - int version, int ptype, void *pval, - unsigned char *penc, int penclen); -int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, - const unsigned char **pk, int *ppklen, - const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8); - -const STACK_OF(X509_ATTRIBUTE) * -PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8); -int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, - const unsigned char *bytes, int len); - -int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, - int ptype, void *pval, - unsigned char *penc, int penclen); -int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, - const unsigned char **pk, int *ppklen, - X509_ALGOR **pa, X509_PUBKEY *pub); - -int X509_check_trust(X509 *x, int id, int flags); -int X509_TRUST_get_count(void); -X509_TRUST *X509_TRUST_get0(int idx); -int X509_TRUST_get_by_id(int id); -int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int), - const char *name, int arg1, void *arg2); -void X509_TRUST_cleanup(void); -int X509_TRUST_get_flags(const X509_TRUST *xp); -char *X509_TRUST_get0_name(const X509_TRUST *xp); -int X509_TRUST_get_trust(const X509_TRUST *xp); - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/x509_vfy.h b/deps/openssl/include/openssl/x509_vfy.h deleted file mode 100644 index adb8bce7..00000000 --- a/deps/openssl/include/openssl/x509_vfy.h +++ /dev/null @@ -1,628 +0,0 @@ -/* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_X509_VFY_H -# define HEADER_X509_VFY_H - -/* - * Protect against recursion, x509.h and x509_vfy.h each include the other. - */ -# ifndef HEADER_X509_H -# include -# endif - -# include -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/*- -SSL_CTX -> X509_STORE - -> X509_LOOKUP - ->X509_LOOKUP_METHOD - -> X509_LOOKUP - ->X509_LOOKUP_METHOD - -SSL -> X509_STORE_CTX - ->X509_STORE - -The X509_STORE holds the tables etc for verification stuff. -A X509_STORE_CTX is used while validating a single certificate. -The X509_STORE has X509_LOOKUPs for looking up certs. -The X509_STORE then calls a function to actually verify the -certificate chain. -*/ - -typedef enum { - X509_LU_NONE = 0, - X509_LU_X509, X509_LU_CRL -} X509_LOOKUP_TYPE; - -#if OPENSSL_API_COMPAT < 0x10100000L -#define X509_LU_RETRY -1 -#define X509_LU_FAIL 0 -#endif - -DEFINE_STACK_OF(X509_LOOKUP) -DEFINE_STACK_OF(X509_OBJECT) -DEFINE_STACK_OF(X509_VERIFY_PARAM) - -int X509_STORE_set_depth(X509_STORE *store, int depth); - -typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *); -typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *); -typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer, - X509_STORE_CTX *ctx, X509 *x); -typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, - X509 *x, X509 *issuer); -typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx); -typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx, - X509_CRL **crl, X509 *x); -typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl); -typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx, - X509_CRL *crl, X509 *x); -typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx); -typedef STACK_OF(X509) *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx, - X509_NAME *nm); -typedef STACK_OF(X509_CRL) *(*X509_STORE_CTX_lookup_crls_fn)(X509_STORE_CTX *ctx, - X509_NAME *nm); -typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx); - - -void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); - -# define X509_STORE_CTX_set_app_data(ctx,data) \ - X509_STORE_CTX_set_ex_data(ctx,0,data) -# define X509_STORE_CTX_get_app_data(ctx) \ - X509_STORE_CTX_get_ex_data(ctx,0) - -# define X509_L_FILE_LOAD 1 -# define X509_L_ADD_DIR 2 - -# define X509_LOOKUP_load_file(x,name,type) \ - X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) - -# define X509_LOOKUP_add_dir(x,name,type) \ - X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) - -# define X509_V_OK 0 -# define X509_V_ERR_UNSPECIFIED 1 -# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 -# define X509_V_ERR_UNABLE_TO_GET_CRL 3 -# define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 -# define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 -# define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 -# define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 -# define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 -# define X509_V_ERR_CERT_NOT_YET_VALID 9 -# define X509_V_ERR_CERT_HAS_EXPIRED 10 -# define X509_V_ERR_CRL_NOT_YET_VALID 11 -# define X509_V_ERR_CRL_HAS_EXPIRED 12 -# define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 -# define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 -# define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 -# define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 -# define X509_V_ERR_OUT_OF_MEM 17 -# define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 -# define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 -# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 -# define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 -# define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 -# define X509_V_ERR_CERT_REVOKED 23 -# define X509_V_ERR_INVALID_CA 24 -# define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 -# define X509_V_ERR_INVALID_PURPOSE 26 -# define X509_V_ERR_CERT_UNTRUSTED 27 -# define X509_V_ERR_CERT_REJECTED 28 -/* These are 'informational' when looking for issuer cert */ -# define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 -# define X509_V_ERR_AKID_SKID_MISMATCH 30 -# define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 -# define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 -# define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 -# define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 -# define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 -# define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 -# define X509_V_ERR_INVALID_NON_CA 37 -# define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 -# define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 -# define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 -# define X509_V_ERR_INVALID_EXTENSION 41 -# define X509_V_ERR_INVALID_POLICY_EXTENSION 42 -# define X509_V_ERR_NO_EXPLICIT_POLICY 43 -# define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 -# define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 -# define X509_V_ERR_UNNESTED_RESOURCE 46 -# define X509_V_ERR_PERMITTED_VIOLATION 47 -# define X509_V_ERR_EXCLUDED_VIOLATION 48 -# define X509_V_ERR_SUBTREE_MINMAX 49 -/* The application is not happy */ -# define X509_V_ERR_APPLICATION_VERIFICATION 50 -# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 -# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 -# define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 -# define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 -/* Another issuer check debug option */ -# define X509_V_ERR_PATH_LOOP 55 -/* Suite B mode algorithm violation */ -# define X509_V_ERR_SUITE_B_INVALID_VERSION 56 -# define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 -# define X509_V_ERR_SUITE_B_INVALID_CURVE 58 -# define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 -# define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 -# define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 -/* Host, email and IP check errors */ -# define X509_V_ERR_HOSTNAME_MISMATCH 62 -# define X509_V_ERR_EMAIL_MISMATCH 63 -# define X509_V_ERR_IP_ADDRESS_MISMATCH 64 -/* DANE TLSA errors */ -# define X509_V_ERR_DANE_NO_MATCH 65 -/* security level errors */ -# define X509_V_ERR_EE_KEY_TOO_SMALL 66 -# define X509_V_ERR_CA_KEY_TOO_SMALL 67 -# define X509_V_ERR_CA_MD_TOO_WEAK 68 -/* Caller error */ -# define X509_V_ERR_INVALID_CALL 69 -/* Issuer lookup error */ -# define X509_V_ERR_STORE_LOOKUP 70 -/* Certificate transparency */ -# define X509_V_ERR_NO_VALID_SCTS 71 - -# define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 72 -/* OCSP status errors */ -# define X509_V_ERR_OCSP_VERIFY_NEEDED 73 /* Need OCSP verification */ -# define X509_V_ERR_OCSP_VERIFY_FAILED 74 /* Couldn't verify cert through OCSP */ -# define X509_V_ERR_OCSP_CERT_UNKNOWN 75 /* Certificate wasn't recognized by the OCSP responder */ - -/* Certificate verify flags */ - -# if OPENSSL_API_COMPAT < 0x10100000L -# define X509_V_FLAG_CB_ISSUER_CHECK 0x0 /* Deprecated */ -# endif -/* Use check time instead of current time */ -# define X509_V_FLAG_USE_CHECK_TIME 0x2 -/* Lookup CRLs */ -# define X509_V_FLAG_CRL_CHECK 0x4 -/* Lookup CRLs for whole chain */ -# define X509_V_FLAG_CRL_CHECK_ALL 0x8 -/* Ignore unhandled critical extensions */ -# define X509_V_FLAG_IGNORE_CRITICAL 0x10 -/* Disable workarounds for broken certificates */ -# define X509_V_FLAG_X509_STRICT 0x20 -/* Enable proxy certificate validation */ -# define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40 -/* Enable policy checking */ -# define X509_V_FLAG_POLICY_CHECK 0x80 -/* Policy variable require-explicit-policy */ -# define X509_V_FLAG_EXPLICIT_POLICY 0x100 -/* Policy variable inhibit-any-policy */ -# define X509_V_FLAG_INHIBIT_ANY 0x200 -/* Policy variable inhibit-policy-mapping */ -# define X509_V_FLAG_INHIBIT_MAP 0x400 -/* Notify callback that policy is OK */ -# define X509_V_FLAG_NOTIFY_POLICY 0x800 -/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ -# define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 -/* Delta CRL support */ -# define X509_V_FLAG_USE_DELTAS 0x2000 -/* Check self-signed CA signature */ -# define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 -/* Use trusted store first */ -# define X509_V_FLAG_TRUSTED_FIRST 0x8000 -/* Suite B 128 bit only mode: not normally used */ -# define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000 -/* Suite B 192 bit only mode */ -# define X509_V_FLAG_SUITEB_192_LOS 0x20000 -/* Suite B 128 bit mode allowing 192 bit algorithms */ -# define X509_V_FLAG_SUITEB_128_LOS 0x30000 -/* Allow partial chains if at least one certificate is in trusted store */ -# define X509_V_FLAG_PARTIAL_CHAIN 0x80000 -/* - * If the initial chain is not trusted, do not attempt to build an alternative - * chain. Alternate chain checking was introduced in 1.1.0. Setting this flag - * will force the behaviour to match that of previous versions. - */ -# define X509_V_FLAG_NO_ALT_CHAINS 0x100000 -/* Do not check certificate/CRL validity against current time */ -# define X509_V_FLAG_NO_CHECK_TIME 0x200000 - -# define X509_VP_FLAG_DEFAULT 0x1 -# define X509_VP_FLAG_OVERWRITE 0x2 -# define X509_VP_FLAG_RESET_FLAGS 0x4 -# define X509_VP_FLAG_LOCKED 0x8 -# define X509_VP_FLAG_ONCE 0x10 - -/* Internal use: mask of policy related options */ -# define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \ - | X509_V_FLAG_EXPLICIT_POLICY \ - | X509_V_FLAG_INHIBIT_ANY \ - | X509_V_FLAG_INHIBIT_MAP) - -int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, - X509_NAME *name); -X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, - X509_LOOKUP_TYPE type, - X509_NAME *name); -X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, - X509_OBJECT *x); -int X509_OBJECT_up_ref_count(X509_OBJECT *a); -X509_OBJECT *X509_OBJECT_new(void); -void X509_OBJECT_free(X509_OBJECT *a); -X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a); -X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a); -int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj); -X509_CRL *X509_OBJECT_get0_X509_CRL(X509_OBJECT *a); -int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj); -X509_STORE *X509_STORE_new(void); -void X509_STORE_free(X509_STORE *v); -int X509_STORE_lock(X509_STORE *ctx); -int X509_STORE_unlock(X509_STORE *ctx); -int X509_STORE_up_ref(X509_STORE *v); -STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *v); - -STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); -STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); -int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); -int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); -int X509_STORE_set_trust(X509_STORE *ctx, int trust); -int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); -X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx); - -void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify); -#define X509_STORE_set_verify_func(ctx, func) \ - X509_STORE_set_verify((ctx),(func)) -void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, - X509_STORE_CTX_verify_fn verify); -X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx); -void X509_STORE_set_verify_cb(X509_STORE *ctx, - X509_STORE_CTX_verify_cb verify_cb); -# define X509_STORE_set_verify_cb_func(ctx,func) \ - X509_STORE_set_verify_cb((ctx),(func)) -X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(X509_STORE *ctx); -void X509_STORE_set_get_issuer(X509_STORE *ctx, - X509_STORE_CTX_get_issuer_fn get_issuer); -X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(X509_STORE *ctx); -void X509_STORE_set_check_issued(X509_STORE *ctx, - X509_STORE_CTX_check_issued_fn check_issued); -X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(X509_STORE *ctx); -void X509_STORE_set_check_revocation(X509_STORE *ctx, - X509_STORE_CTX_check_revocation_fn check_revocation); -X509_STORE_CTX_check_revocation_fn X509_STORE_get_check_revocation(X509_STORE *ctx); -void X509_STORE_set_get_crl(X509_STORE *ctx, - X509_STORE_CTX_get_crl_fn get_crl); -X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(X509_STORE *ctx); -void X509_STORE_set_check_crl(X509_STORE *ctx, - X509_STORE_CTX_check_crl_fn check_crl); -X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(X509_STORE *ctx); -void X509_STORE_set_cert_crl(X509_STORE *ctx, - X509_STORE_CTX_cert_crl_fn cert_crl); -X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(X509_STORE *ctx); -void X509_STORE_set_check_policy(X509_STORE *ctx, - X509_STORE_CTX_check_policy_fn check_policy); -X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(X509_STORE *ctx); -void X509_STORE_set_lookup_certs(X509_STORE *ctx, - X509_STORE_CTX_lookup_certs_fn lookup_certs); -X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(X509_STORE *ctx); -void X509_STORE_set_lookup_crls(X509_STORE *ctx, - X509_STORE_CTX_lookup_crls_fn lookup_crls); -#define X509_STORE_set_lookup_crls_cb(ctx, func) \ - X509_STORE_set_lookup_crls((ctx), (func)) -X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(X509_STORE *ctx); -void X509_STORE_set_cleanup(X509_STORE *ctx, - X509_STORE_CTX_cleanup_fn cleanup); -X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(X509_STORE *ctx); - -#define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, l, p, newf, dupf, freef) -int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data); -void *X509_STORE_get_ex_data(X509_STORE *ctx, int idx); - -X509_STORE_CTX *X509_STORE_CTX_new(void); - -int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); - -void X509_STORE_CTX_free(X509_STORE_CTX *ctx); -int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, - X509 *x509, STACK_OF(X509) *chain); -void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); -void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); - -X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx); -X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx); -STACK_OF(X509)* X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); -void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, - X509_STORE_CTX_verify_cb verify); -X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx); -X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx); -X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(X509_STORE_CTX *ctx); -X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(X509_STORE_CTX *ctx); -X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(X509_STORE_CTX *ctx); -X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(X509_STORE_CTX *ctx); -X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(X509_STORE_CTX *ctx); -X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(X509_STORE_CTX *ctx); -X509_STORE_CTX_check_policy_fn X509_STORE_CTX_get_check_policy(X509_STORE_CTX *ctx); -X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(X509_STORE_CTX *ctx); -X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(X509_STORE_CTX *ctx); -X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(X509_STORE_CTX *ctx); - -#if OPENSSL_API_COMPAT < 0x10100000L -# define X509_STORE_CTX_get_chain X509_STORE_CTX_get0_chain -# define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted -# define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack -# define X509_STORE_get_by_subject X509_STORE_CTX_get_by_subject -# define X509_STORE_get1_certs X509_STORE_CTX_get1_certs -# define X509_STORE_get1_crls X509_STORE_CTX_get1_crls -/* the following macro is misspelled; use X509_STORE_get1_certs instead */ -# define X509_STORE_get1_cert X509_STORE_CTX_get1_certs -/* the following macro is misspelled; use X509_STORE_get1_crls instead */ -# define X509_STORE_get1_crl X509_STORE_CTX_get1_crls -#endif - -X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); -X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); -X509_LOOKUP_METHOD *X509_LOOKUP_file(void); - -typedef int (*X509_LOOKUP_ctrl_fn)(X509_LOOKUP *ctx, int cmd, const char *argc, - long argl, char **ret); -typedef int (*X509_LOOKUP_get_by_subject_fn)(X509_LOOKUP *ctx, - X509_LOOKUP_TYPE type, - X509_NAME *name, - X509_OBJECT *ret); -typedef int (*X509_LOOKUP_get_by_issuer_serial_fn)(X509_LOOKUP *ctx, - X509_LOOKUP_TYPE type, - X509_NAME *name, - ASN1_INTEGER *serial, - X509_OBJECT *ret); -typedef int (*X509_LOOKUP_get_by_fingerprint_fn)(X509_LOOKUP *ctx, - X509_LOOKUP_TYPE type, - const unsigned char* bytes, - int len, - X509_OBJECT *ret); -typedef int (*X509_LOOKUP_get_by_alias_fn)(X509_LOOKUP *ctx, - X509_LOOKUP_TYPE type, - const char *str, - int len, - X509_OBJECT *ret); - -X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name); -void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method); - -int X509_LOOKUP_meth_set_new_item(X509_LOOKUP_METHOD *method, - int (*new_item) (X509_LOOKUP *ctx)); -int (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method)) - (X509_LOOKUP *ctx); - -int X509_LOOKUP_meth_set_free(X509_LOOKUP_METHOD *method, - void (*free_fn) (X509_LOOKUP *ctx)); -void (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method)) - (X509_LOOKUP *ctx); - -int X509_LOOKUP_meth_set_init(X509_LOOKUP_METHOD *method, - int (*init) (X509_LOOKUP *ctx)); -int (*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD* method)) - (X509_LOOKUP *ctx); - -int X509_LOOKUP_meth_set_shutdown(X509_LOOKUP_METHOD *method, - int (*shutdown) (X509_LOOKUP *ctx)); -int (*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD* method)) - (X509_LOOKUP *ctx); - -int X509_LOOKUP_meth_set_ctrl(X509_LOOKUP_METHOD *method, - X509_LOOKUP_ctrl_fn ctrl_fn); -X509_LOOKUP_ctrl_fn X509_LOOKUP_meth_get_ctrl(const X509_LOOKUP_METHOD *method); - -int X509_LOOKUP_meth_set_get_by_subject(X509_LOOKUP_METHOD *method, - X509_LOOKUP_get_by_subject_fn fn); -X509_LOOKUP_get_by_subject_fn X509_LOOKUP_meth_get_get_by_subject( - const X509_LOOKUP_METHOD *method); - -int X509_LOOKUP_meth_set_get_by_issuer_serial(X509_LOOKUP_METHOD *method, - X509_LOOKUP_get_by_issuer_serial_fn fn); -X509_LOOKUP_get_by_issuer_serial_fn X509_LOOKUP_meth_get_get_by_issuer_serial( - const X509_LOOKUP_METHOD *method); - -int X509_LOOKUP_meth_set_get_by_fingerprint(X509_LOOKUP_METHOD *method, - X509_LOOKUP_get_by_fingerprint_fn fn); -X509_LOOKUP_get_by_fingerprint_fn X509_LOOKUP_meth_get_get_by_fingerprint( - const X509_LOOKUP_METHOD *method); - -int X509_LOOKUP_meth_set_get_by_alias(X509_LOOKUP_METHOD *method, - X509_LOOKUP_get_by_alias_fn fn); -X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias( - const X509_LOOKUP_METHOD *method); - - -int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); -int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); - -int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, - X509_NAME *name, X509_OBJECT *ret); -X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, - X509_LOOKUP_TYPE type, - X509_NAME *name); - -int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, - long argl, char **ret); - -int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); -int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); -int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); - -X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); -void X509_LOOKUP_free(X509_LOOKUP *ctx); -int X509_LOOKUP_init(X509_LOOKUP *ctx); -int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, - X509_NAME *name, X509_OBJECT *ret); -int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, - X509_NAME *name, ASN1_INTEGER *serial, - X509_OBJECT *ret); -int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, - const unsigned char *bytes, int len, - X509_OBJECT *ret); -int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, - const char *str, int len, X509_OBJECT *ret); -int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data); -void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx); -X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx); -int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); - -int X509_STORE_load_locations(X509_STORE *ctx, - const char *file, const char *dir); -int X509_STORE_set_default_paths(X509_STORE *ctx); - -#define X509_STORE_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, l, p, newf, dupf, freef) -int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data); -void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx); -int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s); -int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth); -X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x); -X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); -X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); -X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); -STACK_OF(X509) *X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx); -STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x); -void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk); -void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c, STACK_OF(X509_CRL) *sk); -int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); -int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); -int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, - int purpose, int trust); -void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); -void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, - time_t t); - -X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); -int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); -int X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx); - -X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); -int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); - -/* - * Bridge opacity barrier between libcrypt and libssl, also needed to support - * offline testing in test/danetest.c - */ -void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx, SSL_DANE *dane); -#define DANE_FLAG_NO_DANE_EE_NAMECHECKS (1L << 0) - -/* X509_VERIFY_PARAM functions */ - -X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); -void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); -int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, - const X509_VERIFY_PARAM *from); -int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, - const X509_VERIFY_PARAM *from); -int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); -int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, - unsigned long flags); -int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, - unsigned long flags); -unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); -int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); -int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); -void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); -void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level); -time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param); -void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); -int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, - ASN1_OBJECT *policy); -int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, - STACK_OF(ASN1_OBJECT) *policies); - -int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param, - uint32_t flags); -uint32_t X509_VERIFY_PARAM_get_inh_flags(const X509_VERIFY_PARAM *param); - -int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, - const char *name, size_t namelen); -int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, - const char *name, size_t namelen); -void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, - unsigned int flags); -unsigned int X509_VERIFY_PARAM_get_hostflags(const X509_VERIFY_PARAM *param); -char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *); -void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM *, X509_VERIFY_PARAM *); -int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, - const char *email, size_t emaillen); -int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, - const unsigned char *ip, size_t iplen); -int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, - const char *ipasc); - -int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); -int X509_VERIFY_PARAM_get_auth_level(const X509_VERIFY_PARAM *param); -const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); - -int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); -int X509_VERIFY_PARAM_get_count(void); -const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); -const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); -void X509_VERIFY_PARAM_table_cleanup(void); - -/* Non positive return values are errors */ -#define X509_PCY_TREE_FAILURE -2 /* Failure to satisfy explicit policy */ -#define X509_PCY_TREE_INVALID -1 /* Inconsistent or invalid extensions */ -#define X509_PCY_TREE_INTERNAL 0 /* Internal error, most likely malloc */ - -/* - * Positive return values form a bit mask, all but the first are internal to - * the library and don't appear in results from X509_policy_check(). - */ -#define X509_PCY_TREE_VALID 1 /* The policy tree is valid */ -#define X509_PCY_TREE_EMPTY 2 /* The policy tree is empty */ -#define X509_PCY_TREE_EXPLICIT 4 /* Explicit policy required */ - -int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, - STACK_OF(X509) *certs, - STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags); - -void X509_policy_tree_free(X509_POLICY_TREE *tree); - -int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); -X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, - int i); - -STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(const - X509_POLICY_TREE - *tree); - -STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(const - X509_POLICY_TREE - *tree); - -int X509_policy_level_node_count(X509_POLICY_LEVEL *level); - -X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, - int i); - -const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); - -STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(const - X509_POLICY_NODE - *node); -const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE - *node); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/deps/openssl/include/openssl/x509err.h b/deps/openssl/include/openssl/x509err.h deleted file mode 100644 index 02738531..00000000 --- a/deps/openssl/include/openssl/x509err.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_X509ERR_H -# define HEADER_X509ERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_X509_strings(void); - -/* - * X509 function codes. - */ -# define X509_F_ADD_CERT_DIR 100 -# define X509_F_BUILD_CHAIN 106 -# define X509_F_BY_FILE_CTRL 101 -# define X509_F_CHECK_NAME_CONSTRAINTS 149 -# define X509_F_CHECK_POLICY 145 -# define X509_F_DANE_I2D 107 -# define X509_F_DIR_CTRL 102 -# define X509_F_GET_CERT_BY_SUBJECT 103 -# define X509_F_I2D_X509_AUX 151 -# define X509_F_LOOKUP_CERTS_SK 152 -# define X509_F_NETSCAPE_SPKI_B64_DECODE 129 -# define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 -# define X509_F_NEW_DIR 153 -# define X509_F_X509AT_ADD1_ATTR 135 -# define X509_F_X509V3_ADD_EXT 104 -# define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 -# define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 -# define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 -# define X509_F_X509_ATTRIBUTE_GET0_DATA 139 -# define X509_F_X509_ATTRIBUTE_SET1_DATA 138 -# define X509_F_X509_CHECK_PRIVATE_KEY 128 -# define X509_F_X509_CRL_DIFF 105 -# define X509_F_X509_CRL_METHOD_NEW 154 -# define X509_F_X509_CRL_PRINT_FP 147 -# define X509_F_X509_EXTENSION_CREATE_BY_NID 108 -# define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 -# define X509_F_X509_GET_PUBKEY_PARAMETERS 110 -# define X509_F_X509_LOAD_CERT_CRL_FILE 132 -# define X509_F_X509_LOAD_CERT_FILE 111 -# define X509_F_X509_LOAD_CRL_FILE 112 -# define X509_F_X509_LOOKUP_METH_NEW 160 -# define X509_F_X509_LOOKUP_NEW 155 -# define X509_F_X509_NAME_ADD_ENTRY 113 -# define X509_F_X509_NAME_CANON 156 -# define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 -# define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 -# define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 -# define X509_F_X509_NAME_ONELINE 116 -# define X509_F_X509_NAME_PRINT 117 -# define X509_F_X509_OBJECT_NEW 150 -# define X509_F_X509_PRINT_EX_FP 118 -# define X509_F_X509_PUBKEY_DECODE 148 -# define X509_F_X509_PUBKEY_GET0 119 -# define X509_F_X509_PUBKEY_SET 120 -# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 -# define X509_F_X509_REQ_PRINT_EX 121 -# define X509_F_X509_REQ_PRINT_FP 122 -# define X509_F_X509_REQ_TO_X509 123 -# define X509_F_X509_STORE_ADD_CERT 124 -# define X509_F_X509_STORE_ADD_CRL 125 -# define X509_F_X509_STORE_ADD_LOOKUP 157 -# define X509_F_X509_STORE_CTX_GET1_ISSUER 146 -# define X509_F_X509_STORE_CTX_INIT 143 -# define X509_F_X509_STORE_CTX_NEW 142 -# define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 -# define X509_F_X509_STORE_NEW 158 -# define X509_F_X509_TO_X509_REQ 126 -# define X509_F_X509_TRUST_ADD 133 -# define X509_F_X509_TRUST_SET 141 -# define X509_F_X509_VERIFY_CERT 127 -# define X509_F_X509_VERIFY_PARAM_NEW 159 - -/* - * X509 reason codes. - */ -# define X509_R_AKID_MISMATCH 110 -# define X509_R_BAD_SELECTOR 133 -# define X509_R_BAD_X509_FILETYPE 100 -# define X509_R_BASE64_DECODE_ERROR 118 -# define X509_R_CANT_CHECK_DH_KEY 114 -# define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 -# define X509_R_CRL_ALREADY_DELTA 127 -# define X509_R_CRL_VERIFY_FAILURE 131 -# define X509_R_IDP_MISMATCH 128 -# define X509_R_INVALID_ATTRIBUTES 138 -# define X509_R_INVALID_DIRECTORY 113 -# define X509_R_INVALID_FIELD_NAME 119 -# define X509_R_INVALID_TRUST 123 -# define X509_R_ISSUER_MISMATCH 129 -# define X509_R_KEY_TYPE_MISMATCH 115 -# define X509_R_KEY_VALUES_MISMATCH 116 -# define X509_R_LOADING_CERT_DIR 103 -# define X509_R_LOADING_DEFAULTS 104 -# define X509_R_METHOD_NOT_SUPPORTED 124 -# define X509_R_NAME_TOO_LONG 134 -# define X509_R_NEWER_CRL_NOT_NEWER 132 -# define X509_R_NO_CERTIFICATE_FOUND 135 -# define X509_R_NO_CERTIFICATE_OR_CRL_FOUND 136 -# define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 -# define X509_R_NO_CRL_FOUND 137 -# define X509_R_NO_CRL_NUMBER 130 -# define X509_R_PUBLIC_KEY_DECODE_ERROR 125 -# define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 -# define X509_R_SHOULD_RETRY 106 -# define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 -# define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 -# define X509_R_UNKNOWN_KEY_TYPE 117 -# define X509_R_UNKNOWN_NID 109 -# define X509_R_UNKNOWN_PURPOSE_ID 121 -# define X509_R_UNKNOWN_TRUST_ID 120 -# define X509_R_UNSUPPORTED_ALGORITHM 111 -# define X509_R_WRONG_LOOKUP_TYPE 112 -# define X509_R_WRONG_TYPE 122 - -#endif diff --git a/deps/openssl/include/openssl/x509v3.h b/deps/openssl/include/openssl/x509v3.h deleted file mode 100644 index 6c6eca38..00000000 --- a/deps/openssl/include/openssl/x509v3.h +++ /dev/null @@ -1,937 +0,0 @@ -/* - * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_X509V3_H -# define HEADER_X509V3_H - -# include -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward reference */ -struct v3_ext_method; -struct v3_ext_ctx; - -/* Useful typedefs */ - -typedef void *(*X509V3_EXT_NEW)(void); -typedef void (*X509V3_EXT_FREE) (void *); -typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); -typedef int (*X509V3_EXT_I2D) (void *, unsigned char **); -typedef STACK_OF(CONF_VALUE) * - (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext, - STACK_OF(CONF_VALUE) *extlist); -typedef void *(*X509V3_EXT_V2I)(const struct v3_ext_method *method, - struct v3_ext_ctx *ctx, - STACK_OF(CONF_VALUE) *values); -typedef char *(*X509V3_EXT_I2S)(const struct v3_ext_method *method, - void *ext); -typedef void *(*X509V3_EXT_S2I)(const struct v3_ext_method *method, - struct v3_ext_ctx *ctx, const char *str); -typedef int (*X509V3_EXT_I2R) (const struct v3_ext_method *method, void *ext, - BIO *out, int indent); -typedef void *(*X509V3_EXT_R2I)(const struct v3_ext_method *method, - struct v3_ext_ctx *ctx, const char *str); - -/* V3 extension structure */ - -struct v3_ext_method { - int ext_nid; - int ext_flags; -/* If this is set the following four fields are ignored */ - ASN1_ITEM_EXP *it; -/* Old style ASN1 calls */ - X509V3_EXT_NEW ext_new; - X509V3_EXT_FREE ext_free; - X509V3_EXT_D2I d2i; - X509V3_EXT_I2D i2d; -/* The following pair is used for string extensions */ - X509V3_EXT_I2S i2s; - X509V3_EXT_S2I s2i; -/* The following pair is used for multi-valued extensions */ - X509V3_EXT_I2V i2v; - X509V3_EXT_V2I v2i; -/* The following are used for raw extensions */ - X509V3_EXT_I2R i2r; - X509V3_EXT_R2I r2i; - void *usr_data; /* Any extension specific data */ -}; - -typedef struct X509V3_CONF_METHOD_st { - char *(*get_string) (void *db, const char *section, const char *value); - STACK_OF(CONF_VALUE) *(*get_section) (void *db, const char *section); - void (*free_string) (void *db, char *string); - void (*free_section) (void *db, STACK_OF(CONF_VALUE) *section); -} X509V3_CONF_METHOD; - -/* Context specific info */ -struct v3_ext_ctx { -# define CTX_TEST 0x1 -# define X509V3_CTX_REPLACE 0x2 - int flags; - X509 *issuer_cert; - X509 *subject_cert; - X509_REQ *subject_req; - X509_CRL *crl; - X509V3_CONF_METHOD *db_meth; - void *db; -/* Maybe more here */ -}; - -typedef struct v3_ext_method X509V3_EXT_METHOD; - -DEFINE_STACK_OF(X509V3_EXT_METHOD) - -/* ext_flags values */ -# define X509V3_EXT_DYNAMIC 0x1 -# define X509V3_EXT_CTX_DEP 0x2 -# define X509V3_EXT_MULTILINE 0x4 - -typedef BIT_STRING_BITNAME ENUMERATED_NAMES; - -typedef struct BASIC_CONSTRAINTS_st { - int ca; - ASN1_INTEGER *pathlen; -} BASIC_CONSTRAINTS; - -typedef struct PKEY_USAGE_PERIOD_st { - ASN1_GENERALIZEDTIME *notBefore; - ASN1_GENERALIZEDTIME *notAfter; -} PKEY_USAGE_PERIOD; - -typedef struct otherName_st { - ASN1_OBJECT *type_id; - ASN1_TYPE *value; -} OTHERNAME; - -typedef struct EDIPartyName_st { - ASN1_STRING *nameAssigner; - ASN1_STRING *partyName; -} EDIPARTYNAME; - -typedef struct GENERAL_NAME_st { -# define GEN_OTHERNAME 0 -# define GEN_EMAIL 1 -# define GEN_DNS 2 -# define GEN_X400 3 -# define GEN_DIRNAME 4 -# define GEN_EDIPARTY 5 -# define GEN_URI 6 -# define GEN_IPADD 7 -# define GEN_RID 8 - int type; - union { - char *ptr; - OTHERNAME *otherName; /* otherName */ - ASN1_IA5STRING *rfc822Name; - ASN1_IA5STRING *dNSName; - ASN1_TYPE *x400Address; - X509_NAME *directoryName; - EDIPARTYNAME *ediPartyName; - ASN1_IA5STRING *uniformResourceIdentifier; - ASN1_OCTET_STRING *iPAddress; - ASN1_OBJECT *registeredID; - /* Old names */ - ASN1_OCTET_STRING *ip; /* iPAddress */ - X509_NAME *dirn; /* dirn */ - ASN1_IA5STRING *ia5; /* rfc822Name, dNSName, - * uniformResourceIdentifier */ - ASN1_OBJECT *rid; /* registeredID */ - ASN1_TYPE *other; /* x400Address */ - } d; -} GENERAL_NAME; - -typedef struct ACCESS_DESCRIPTION_st { - ASN1_OBJECT *method; - GENERAL_NAME *location; -} ACCESS_DESCRIPTION; - -typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; - -typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; - -typedef STACK_OF(ASN1_INTEGER) TLS_FEATURE; - -DEFINE_STACK_OF(GENERAL_NAME) -typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; -DEFINE_STACK_OF(GENERAL_NAMES) - -DEFINE_STACK_OF(ACCESS_DESCRIPTION) - -typedef struct DIST_POINT_NAME_st { - int type; - union { - GENERAL_NAMES *fullname; - STACK_OF(X509_NAME_ENTRY) *relativename; - } name; -/* If relativename then this contains the full distribution point name */ - X509_NAME *dpname; -} DIST_POINT_NAME; -/* All existing reasons */ -# define CRLDP_ALL_REASONS 0x807f - -# define CRL_REASON_NONE -1 -# define CRL_REASON_UNSPECIFIED 0 -# define CRL_REASON_KEY_COMPROMISE 1 -# define CRL_REASON_CA_COMPROMISE 2 -# define CRL_REASON_AFFILIATION_CHANGED 3 -# define CRL_REASON_SUPERSEDED 4 -# define CRL_REASON_CESSATION_OF_OPERATION 5 -# define CRL_REASON_CERTIFICATE_HOLD 6 -# define CRL_REASON_REMOVE_FROM_CRL 8 -# define CRL_REASON_PRIVILEGE_WITHDRAWN 9 -# define CRL_REASON_AA_COMPROMISE 10 - -struct DIST_POINT_st { - DIST_POINT_NAME *distpoint; - ASN1_BIT_STRING *reasons; - GENERAL_NAMES *CRLissuer; - int dp_reasons; -}; - -typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; - -DEFINE_STACK_OF(DIST_POINT) - -struct AUTHORITY_KEYID_st { - ASN1_OCTET_STRING *keyid; - GENERAL_NAMES *issuer; - ASN1_INTEGER *serial; -}; - -/* Strong extranet structures */ - -typedef struct SXNET_ID_st { - ASN1_INTEGER *zone; - ASN1_OCTET_STRING *user; -} SXNETID; - -DEFINE_STACK_OF(SXNETID) - -typedef struct SXNET_st { - ASN1_INTEGER *version; - STACK_OF(SXNETID) *ids; -} SXNET; - -typedef struct NOTICEREF_st { - ASN1_STRING *organization; - STACK_OF(ASN1_INTEGER) *noticenos; -} NOTICEREF; - -typedef struct USERNOTICE_st { - NOTICEREF *noticeref; - ASN1_STRING *exptext; -} USERNOTICE; - -typedef struct POLICYQUALINFO_st { - ASN1_OBJECT *pqualid; - union { - ASN1_IA5STRING *cpsuri; - USERNOTICE *usernotice; - ASN1_TYPE *other; - } d; -} POLICYQUALINFO; - -DEFINE_STACK_OF(POLICYQUALINFO) - -typedef struct POLICYINFO_st { - ASN1_OBJECT *policyid; - STACK_OF(POLICYQUALINFO) *qualifiers; -} POLICYINFO; - -typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; - -DEFINE_STACK_OF(POLICYINFO) - -typedef struct POLICY_MAPPING_st { - ASN1_OBJECT *issuerDomainPolicy; - ASN1_OBJECT *subjectDomainPolicy; -} POLICY_MAPPING; - -DEFINE_STACK_OF(POLICY_MAPPING) - -typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; - -typedef struct GENERAL_SUBTREE_st { - GENERAL_NAME *base; - ASN1_INTEGER *minimum; - ASN1_INTEGER *maximum; -} GENERAL_SUBTREE; - -DEFINE_STACK_OF(GENERAL_SUBTREE) - -struct NAME_CONSTRAINTS_st { - STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; - STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; -}; - -typedef struct POLICY_CONSTRAINTS_st { - ASN1_INTEGER *requireExplicitPolicy; - ASN1_INTEGER *inhibitPolicyMapping; -} POLICY_CONSTRAINTS; - -/* Proxy certificate structures, see RFC 3820 */ -typedef struct PROXY_POLICY_st { - ASN1_OBJECT *policyLanguage; - ASN1_OCTET_STRING *policy; -} PROXY_POLICY; - -typedef struct PROXY_CERT_INFO_EXTENSION_st { - ASN1_INTEGER *pcPathLengthConstraint; - PROXY_POLICY *proxyPolicy; -} PROXY_CERT_INFO_EXTENSION; - -DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) -DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) - -struct ISSUING_DIST_POINT_st { - DIST_POINT_NAME *distpoint; - int onlyuser; - int onlyCA; - ASN1_BIT_STRING *onlysomereasons; - int indirectCRL; - int onlyattr; -}; - -/* Values in idp_flags field */ -/* IDP present */ -# define IDP_PRESENT 0x1 -/* IDP values inconsistent */ -# define IDP_INVALID 0x2 -/* onlyuser true */ -# define IDP_ONLYUSER 0x4 -/* onlyCA true */ -# define IDP_ONLYCA 0x8 -/* onlyattr true */ -# define IDP_ONLYATTR 0x10 -/* indirectCRL true */ -# define IDP_INDIRECT 0x20 -/* onlysomereasons present */ -# define IDP_REASONS 0x40 - -# define X509V3_conf_err(val) ERR_add_error_data(6, \ - "section:", (val)->section, \ - ",name:", (val)->name, ",value:", (val)->value) - -# define X509V3_set_ctx_test(ctx) \ - X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) -# define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; - -# define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ - 0,0,0,0, \ - 0,0, \ - (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ - (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ - NULL, NULL, \ - table} - -# define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ - 0,0,0,0, \ - (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ - (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ - 0,0,0,0, \ - NULL} - -# define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} - -/* X509_PURPOSE stuff */ - -# define EXFLAG_BCONS 0x1 -# define EXFLAG_KUSAGE 0x2 -# define EXFLAG_XKUSAGE 0x4 -# define EXFLAG_NSCERT 0x8 - -# define EXFLAG_CA 0x10 -/* Really self issued not necessarily self signed */ -# define EXFLAG_SI 0x20 -# define EXFLAG_V1 0x40 -# define EXFLAG_INVALID 0x80 -/* EXFLAG_SET is set to indicate that some values have been precomputed */ -# define EXFLAG_SET 0x100 -# define EXFLAG_CRITICAL 0x200 -# define EXFLAG_PROXY 0x400 - -# define EXFLAG_INVALID_POLICY 0x800 -# define EXFLAG_FRESHEST 0x1000 -/* Self signed */ -# define EXFLAG_SS 0x2000 - -# define KU_DIGITAL_SIGNATURE 0x0080 -# define KU_NON_REPUDIATION 0x0040 -# define KU_KEY_ENCIPHERMENT 0x0020 -# define KU_DATA_ENCIPHERMENT 0x0010 -# define KU_KEY_AGREEMENT 0x0008 -# define KU_KEY_CERT_SIGN 0x0004 -# define KU_CRL_SIGN 0x0002 -# define KU_ENCIPHER_ONLY 0x0001 -# define KU_DECIPHER_ONLY 0x8000 - -# define NS_SSL_CLIENT 0x80 -# define NS_SSL_SERVER 0x40 -# define NS_SMIME 0x20 -# define NS_OBJSIGN 0x10 -# define NS_SSL_CA 0x04 -# define NS_SMIME_CA 0x02 -# define NS_OBJSIGN_CA 0x01 -# define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) - -# define XKU_SSL_SERVER 0x1 -# define XKU_SSL_CLIENT 0x2 -# define XKU_SMIME 0x4 -# define XKU_CODE_SIGN 0x8 -# define XKU_SGC 0x10 -# define XKU_OCSP_SIGN 0x20 -# define XKU_TIMESTAMP 0x40 -# define XKU_DVCS 0x80 -# define XKU_ANYEKU 0x100 - -# define X509_PURPOSE_DYNAMIC 0x1 -# define X509_PURPOSE_DYNAMIC_NAME 0x2 - -typedef struct x509_purpose_st { - int purpose; - int trust; /* Default trust ID */ - int flags; - int (*check_purpose) (const struct x509_purpose_st *, const X509 *, int); - char *name; - char *sname; - void *usr_data; -} X509_PURPOSE; - -# define X509_PURPOSE_SSL_CLIENT 1 -# define X509_PURPOSE_SSL_SERVER 2 -# define X509_PURPOSE_NS_SSL_SERVER 3 -# define X509_PURPOSE_SMIME_SIGN 4 -# define X509_PURPOSE_SMIME_ENCRYPT 5 -# define X509_PURPOSE_CRL_SIGN 6 -# define X509_PURPOSE_ANY 7 -# define X509_PURPOSE_OCSP_HELPER 8 -# define X509_PURPOSE_TIMESTAMP_SIGN 9 - -# define X509_PURPOSE_MIN 1 -# define X509_PURPOSE_MAX 9 - -/* Flags for X509V3_EXT_print() */ - -# define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) -/* Return error for unknown extensions */ -# define X509V3_EXT_DEFAULT 0 -/* Print error for unknown extensions */ -# define X509V3_EXT_ERROR_UNKNOWN (1L << 16) -/* ASN1 parse unknown extensions */ -# define X509V3_EXT_PARSE_UNKNOWN (2L << 16) -/* BIO_dump unknown extensions */ -# define X509V3_EXT_DUMP_UNKNOWN (3L << 16) - -/* Flags for X509V3_add1_i2d */ - -# define X509V3_ADD_OP_MASK 0xfL -# define X509V3_ADD_DEFAULT 0L -# define X509V3_ADD_APPEND 1L -# define X509V3_ADD_REPLACE 2L -# define X509V3_ADD_REPLACE_EXISTING 3L -# define X509V3_ADD_KEEP_EXISTING 4L -# define X509V3_ADD_DELETE 5L -# define X509V3_ADD_SILENT 0x10 - -DEFINE_STACK_OF(X509_PURPOSE) - -DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) - -DECLARE_ASN1_FUNCTIONS(SXNET) -DECLARE_ASN1_FUNCTIONS(SXNETID) - -int SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user, int userlen); -int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char *user, - int userlen); -int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, const char *user, - int userlen); - -ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, const char *zone); -ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); -ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); - -DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) - -DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) - -DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) -GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); -int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); - -ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, - STACK_OF(CONF_VALUE) *nval); -STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, - ASN1_BIT_STRING *bits, - STACK_OF(CONF_VALUE) *extlist); -char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5); -ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, const char *str); - -STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, - GENERAL_NAME *gen, - STACK_OF(CONF_VALUE) *ret); -int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); - -DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) - -STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, - GENERAL_NAMES *gen, - STACK_OF(CONF_VALUE) *extlist); -GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); - -DECLARE_ASN1_FUNCTIONS(OTHERNAME) -DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) -int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); -void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); -void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype); -int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, - ASN1_OBJECT *oid, ASN1_TYPE *value); -int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen, - ASN1_OBJECT **poid, ASN1_TYPE **pvalue); - -char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, - const ASN1_OCTET_STRING *ia5); -ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, const char *str); - -DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) -int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a); - -DECLARE_ASN1_ALLOC_FUNCTIONS(TLS_FEATURE) - -DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) -DECLARE_ASN1_FUNCTIONS(POLICYINFO) -DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) -DECLARE_ASN1_FUNCTIONS(USERNOTICE) -DECLARE_ASN1_FUNCTIONS(NOTICEREF) - -DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) -DECLARE_ASN1_FUNCTIONS(DIST_POINT) -DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) -DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) - -int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); - -int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); -int NAME_CONSTRAINTS_check_CN(X509 *x, NAME_CONSTRAINTS *nc); - -DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) -DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) - -DECLARE_ASN1_ITEM(POLICY_MAPPING) -DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) -DECLARE_ASN1_ITEM(POLICY_MAPPINGS) - -DECLARE_ASN1_ITEM(GENERAL_SUBTREE) -DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) - -DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) -DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) - -DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) -DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) - -GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, - const X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, int gen_type, - const char *value, int is_nc); - -# ifdef HEADER_CONF_H -GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, CONF_VALUE *cnf); -GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, - const X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, CONF_VALUE *cnf, - int is_nc); -void X509V3_conf_free(CONF_VALUE *val); - -X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, - const char *value); -X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const char *name, - const char *value); -int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char *section, - STACK_OF(X509_EXTENSION) **sk); -int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, - X509 *cert); -int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, - X509_REQ *req); -int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, - X509_CRL *crl); - -X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, - X509V3_CTX *ctx, int ext_nid, - const char *value); -X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - const char *name, const char *value); -int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - const char *section, X509 *cert); -int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - const char *section, X509_REQ *req); -int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - const char *section, X509_CRL *crl); - -int X509V3_add_value_bool_nf(const char *name, int asn1_bool, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool); -int X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint); -void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); -void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); -# endif - -char *X509V3_get_string(X509V3_CTX *ctx, const char *name, const char *section); -STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, const char *section); -void X509V3_string_free(X509V3_CTX *ctx, char *str); -void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section); -void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, - X509_REQ *req, X509_CRL *crl, int flags); - -int X509V3_add_value(const char *name, const char *value, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_uchar(const char *name, const unsigned char *value, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_bool(const char *name, int asn1_bool, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint, - STACK_OF(CONF_VALUE) **extlist); -char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const ASN1_INTEGER *aint); -ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const char *value); -char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, const ASN1_ENUMERATED *aint); -char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, - const ASN1_ENUMERATED *aint); -int X509V3_EXT_add(X509V3_EXT_METHOD *ext); -int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); -int X509V3_EXT_add_alias(int nid_to, int nid_from); -void X509V3_EXT_cleanup(void); - -const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); -const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); -int X509V3_add_standard_extensions(void); -STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); -void *X509V3_EXT_d2i(X509_EXTENSION *ext); -void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit, - int *idx); - -X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); -int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, - int crit, unsigned long flags); - -#if OPENSSL_API_COMPAT < 0x10100000L -/* The new declarations are in crypto.h, but the old ones were here. */ -# define hex_to_string OPENSSL_buf2hexstr -# define string_to_hex OPENSSL_hexstr2buf -#endif - -void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, - int ml); -int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, - int indent); -#ifndef OPENSSL_NO_STDIO -int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); -#endif -int X509V3_extensions_print(BIO *out, const char *title, - const STACK_OF(X509_EXTENSION) *exts, - unsigned long flag, int indent); - -int X509_check_ca(X509 *x); -int X509_check_purpose(X509 *x, int id, int ca); -int X509_supported_extension(X509_EXTENSION *ex); -int X509_PURPOSE_set(int *p, int purpose); -int X509_check_issued(X509 *issuer, X509 *subject); -int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid); -void X509_set_proxy_flag(X509 *x); -void X509_set_proxy_pathlen(X509 *x, long l); -long X509_get_proxy_pathlen(X509 *x); - -uint32_t X509_get_extension_flags(X509 *x); -uint32_t X509_get_key_usage(X509 *x); -uint32_t X509_get_extended_key_usage(X509 *x); -const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x); -const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x); -const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x); -const ASN1_INTEGER *X509_get0_authority_serial(X509 *x); - -int X509_PURPOSE_get_count(void); -X509_PURPOSE *X509_PURPOSE_get0(int idx); -int X509_PURPOSE_get_by_sname(const char *sname); -int X509_PURPOSE_get_by_id(int id); -int X509_PURPOSE_add(int id, int trust, int flags, - int (*ck) (const X509_PURPOSE *, const X509 *, int), - const char *name, const char *sname, void *arg); -char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp); -char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp); -int X509_PURPOSE_get_trust(const X509_PURPOSE *xp); -void X509_PURPOSE_cleanup(void); -int X509_PURPOSE_get_id(const X509_PURPOSE *); - -STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x); -STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x); -void X509_email_free(STACK_OF(OPENSSL_STRING) *sk); -STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x); -/* Flags for X509_check_* functions */ - -/* - * Always check subject name for host match even if subject alt names present - */ -# define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1 -/* Disable wildcard matching for dnsName fields and common name. */ -# define X509_CHECK_FLAG_NO_WILDCARDS 0x2 -/* Wildcards must not match a partial label. */ -# define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4 -/* Allow (non-partial) wildcards to match multiple labels. */ -# define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8 -/* Constraint verifier subdomain patterns to match a single labels. */ -# define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10 -/* Never check the subject CN */ -# define X509_CHECK_FLAG_NEVER_CHECK_SUBJECT 0x20 -/* - * Match reference identifiers starting with "." to any sub-domain. - * This is a non-public flag, turned on implicitly when the subject - * reference identity is a DNS name. - */ -# define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000 - -int X509_check_host(X509 *x, const char *chk, size_t chklen, - unsigned int flags, char **peername); -int X509_check_email(X509 *x, const char *chk, size_t chklen, - unsigned int flags); -int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, - unsigned int flags); -int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags); - -ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); -ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc); -int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk, - unsigned long chtype); - -void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); -DEFINE_STACK_OF(X509_POLICY_NODE) - -#ifndef OPENSSL_NO_RFC3779 -typedef struct ASRange_st { - ASN1_INTEGER *min, *max; -} ASRange; - -# define ASIdOrRange_id 0 -# define ASIdOrRange_range 1 - -typedef struct ASIdOrRange_st { - int type; - union { - ASN1_INTEGER *id; - ASRange *range; - } u; -} ASIdOrRange; - -typedef STACK_OF(ASIdOrRange) ASIdOrRanges; -DEFINE_STACK_OF(ASIdOrRange) - -# define ASIdentifierChoice_inherit 0 -# define ASIdentifierChoice_asIdsOrRanges 1 - -typedef struct ASIdentifierChoice_st { - int type; - union { - ASN1_NULL *inherit; - ASIdOrRanges *asIdsOrRanges; - } u; -} ASIdentifierChoice; - -typedef struct ASIdentifiers_st { - ASIdentifierChoice *asnum, *rdi; -} ASIdentifiers; - -DECLARE_ASN1_FUNCTIONS(ASRange) -DECLARE_ASN1_FUNCTIONS(ASIdOrRange) -DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice) -DECLARE_ASN1_FUNCTIONS(ASIdentifiers) - -typedef struct IPAddressRange_st { - ASN1_BIT_STRING *min, *max; -} IPAddressRange; - -# define IPAddressOrRange_addressPrefix 0 -# define IPAddressOrRange_addressRange 1 - -typedef struct IPAddressOrRange_st { - int type; - union { - ASN1_BIT_STRING *addressPrefix; - IPAddressRange *addressRange; - } u; -} IPAddressOrRange; - -typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; -DEFINE_STACK_OF(IPAddressOrRange) - -# define IPAddressChoice_inherit 0 -# define IPAddressChoice_addressesOrRanges 1 - -typedef struct IPAddressChoice_st { - int type; - union { - ASN1_NULL *inherit; - IPAddressOrRanges *addressesOrRanges; - } u; -} IPAddressChoice; - -typedef struct IPAddressFamily_st { - ASN1_OCTET_STRING *addressFamily; - IPAddressChoice *ipAddressChoice; -} IPAddressFamily; - -typedef STACK_OF(IPAddressFamily) IPAddrBlocks; -DEFINE_STACK_OF(IPAddressFamily) - -DECLARE_ASN1_FUNCTIONS(IPAddressRange) -DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) -DECLARE_ASN1_FUNCTIONS(IPAddressChoice) -DECLARE_ASN1_FUNCTIONS(IPAddressFamily) - -/* - * API tag for elements of the ASIdentifer SEQUENCE. - */ -# define V3_ASID_ASNUM 0 -# define V3_ASID_RDI 1 - -/* - * AFI values, assigned by IANA. It'd be nice to make the AFI - * handling code totally generic, but there are too many little things - * that would need to be defined for other address families for it to - * be worth the trouble. - */ -# define IANA_AFI_IPV4 1 -# define IANA_AFI_IPV6 2 - -/* - * Utilities to construct and extract values from RFC3779 extensions, - * since some of the encodings (particularly for IP address prefixes - * and ranges) are a bit tedious to work with directly. - */ -int X509v3_asid_add_inherit(ASIdentifiers *asid, int which); -int X509v3_asid_add_id_or_range(ASIdentifiers *asid, int which, - ASN1_INTEGER *min, ASN1_INTEGER *max); -int X509v3_addr_add_inherit(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi); -int X509v3_addr_add_prefix(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi, - unsigned char *a, const int prefixlen); -int X509v3_addr_add_range(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi, - unsigned char *min, unsigned char *max); -unsigned X509v3_addr_get_afi(const IPAddressFamily *f); -int X509v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, - unsigned char *min, unsigned char *max, - const int length); - -/* - * Canonical forms. - */ -int X509v3_asid_is_canonical(ASIdentifiers *asid); -int X509v3_addr_is_canonical(IPAddrBlocks *addr); -int X509v3_asid_canonize(ASIdentifiers *asid); -int X509v3_addr_canonize(IPAddrBlocks *addr); - -/* - * Tests for inheritance and containment. - */ -int X509v3_asid_inherits(ASIdentifiers *asid); -int X509v3_addr_inherits(IPAddrBlocks *addr); -int X509v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); -int X509v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); - -/* - * Check whether RFC 3779 extensions nest properly in chains. - */ -int X509v3_asid_validate_path(X509_STORE_CTX *); -int X509v3_addr_validate_path(X509_STORE_CTX *); -int X509v3_asid_validate_resource_set(STACK_OF(X509) *chain, - ASIdentifiers *ext, - int allow_inheritance); -int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain, - IPAddrBlocks *ext, int allow_inheritance); - -#endif /* OPENSSL_NO_RFC3779 */ - -DEFINE_STACK_OF(ASN1_STRING) - -/* - * Admission Syntax - */ -typedef struct NamingAuthority_st NAMING_AUTHORITY; -typedef struct ProfessionInfo_st PROFESSION_INFO; -typedef struct Admissions_st ADMISSIONS; -typedef struct AdmissionSyntax_st ADMISSION_SYNTAX; -DECLARE_ASN1_FUNCTIONS(NAMING_AUTHORITY) -DECLARE_ASN1_FUNCTIONS(PROFESSION_INFO) -DECLARE_ASN1_FUNCTIONS(ADMISSIONS) -DECLARE_ASN1_FUNCTIONS(ADMISSION_SYNTAX) -DEFINE_STACK_OF(ADMISSIONS) -DEFINE_STACK_OF(PROFESSION_INFO) -typedef STACK_OF(PROFESSION_INFO) PROFESSION_INFOS; - -const ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId( - const NAMING_AUTHORITY *n); -const ASN1_IA5STRING *NAMING_AUTHORITY_get0_authorityURL( - const NAMING_AUTHORITY *n); -const ASN1_STRING *NAMING_AUTHORITY_get0_authorityText( - const NAMING_AUTHORITY *n); -void NAMING_AUTHORITY_set0_authorityId(NAMING_AUTHORITY *n, - ASN1_OBJECT* namingAuthorityId); -void NAMING_AUTHORITY_set0_authorityURL(NAMING_AUTHORITY *n, - ASN1_IA5STRING* namingAuthorityUrl); -void NAMING_AUTHORITY_set0_authorityText(NAMING_AUTHORITY *n, - ASN1_STRING* namingAuthorityText); - -const GENERAL_NAME *ADMISSION_SYNTAX_get0_admissionAuthority( - const ADMISSION_SYNTAX *as); -void ADMISSION_SYNTAX_set0_admissionAuthority( - ADMISSION_SYNTAX *as, GENERAL_NAME *aa); -const STACK_OF(ADMISSIONS) *ADMISSION_SYNTAX_get0_contentsOfAdmissions( - const ADMISSION_SYNTAX *as); -void ADMISSION_SYNTAX_set0_contentsOfAdmissions( - ADMISSION_SYNTAX *as, STACK_OF(ADMISSIONS) *a); -const GENERAL_NAME *ADMISSIONS_get0_admissionAuthority(const ADMISSIONS *a); -void ADMISSIONS_set0_admissionAuthority(ADMISSIONS *a, GENERAL_NAME *aa); -const NAMING_AUTHORITY *ADMISSIONS_get0_namingAuthority(const ADMISSIONS *a); -void ADMISSIONS_set0_namingAuthority(ADMISSIONS *a, NAMING_AUTHORITY *na); -const PROFESSION_INFOS *ADMISSIONS_get0_professionInfos(const ADMISSIONS *a); -void ADMISSIONS_set0_professionInfos(ADMISSIONS *a, PROFESSION_INFOS *pi); -const ASN1_OCTET_STRING *PROFESSION_INFO_get0_addProfessionInfo( - const PROFESSION_INFO *pi); -void PROFESSION_INFO_set0_addProfessionInfo( - PROFESSION_INFO *pi, ASN1_OCTET_STRING *aos); -const NAMING_AUTHORITY *PROFESSION_INFO_get0_namingAuthority( - const PROFESSION_INFO *pi); -void PROFESSION_INFO_set0_namingAuthority( - PROFESSION_INFO *pi, NAMING_AUTHORITY *na); -const STACK_OF(ASN1_STRING) *PROFESSION_INFO_get0_professionItems( - const PROFESSION_INFO *pi); -void PROFESSION_INFO_set0_professionItems( - PROFESSION_INFO *pi, STACK_OF(ASN1_STRING) *as); -const STACK_OF(ASN1_OBJECT) *PROFESSION_INFO_get0_professionOIDs( - const PROFESSION_INFO *pi); -void PROFESSION_INFO_set0_professionOIDs( - PROFESSION_INFO *pi, STACK_OF(ASN1_OBJECT) *po); -const ASN1_PRINTABLESTRING *PROFESSION_INFO_get0_registrationNumber( - const PROFESSION_INFO *pi); -void PROFESSION_INFO_set0_registrationNumber( - PROFESSION_INFO *pi, ASN1_PRINTABLESTRING *rn); - -# ifdef __cplusplus -} -# endif -#endif diff --git a/deps/openssl/include/openssl/x509v3err.h b/deps/openssl/include/openssl/x509v3err.h deleted file mode 100644 index 5f25442f..00000000 --- a/deps/openssl/include/openssl/x509v3err.h +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef HEADER_X509V3ERR_H -# define HEADER_X509V3ERR_H - -# ifndef HEADER_SYMHACKS_H -# include -# endif - -# ifdef __cplusplus -extern "C" -# endif -int ERR_load_X509V3_strings(void); - -/* - * X509V3 function codes. - */ -# define X509V3_F_A2I_GENERAL_NAME 164 -# define X509V3_F_ADDR_VALIDATE_PATH_INTERNAL 166 -# define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 -# define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 -# define X509V3_F_BIGNUM_TO_STRING 167 -# define X509V3_F_COPY_EMAIL 122 -# define X509V3_F_COPY_ISSUER 123 -# define X509V3_F_DO_DIRNAME 144 -# define X509V3_F_DO_EXT_I2D 135 -# define X509V3_F_DO_EXT_NCONF 151 -# define X509V3_F_GNAMES_FROM_SECTNAME 156 -# define X509V3_F_I2S_ASN1_ENUMERATED 121 -# define X509V3_F_I2S_ASN1_IA5STRING 149 -# define X509V3_F_I2S_ASN1_INTEGER 120 -# define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 138 -# define X509V3_F_LEVEL_ADD_NODE 168 -# define X509V3_F_NOTICE_SECTION 132 -# define X509V3_F_NREF_NOS 133 -# define X509V3_F_POLICY_CACHE_CREATE 169 -# define X509V3_F_POLICY_CACHE_NEW 170 -# define X509V3_F_POLICY_DATA_NEW 171 -# define X509V3_F_POLICY_SECTION 131 -# define X509V3_F_PROCESS_PCI_VALUE 150 -# define X509V3_F_R2I_CERTPOL 130 -# define X509V3_F_R2I_PCI 155 -# define X509V3_F_S2I_ASN1_IA5STRING 100 -# define X509V3_F_S2I_ASN1_INTEGER 108 -# define X509V3_F_S2I_ASN1_OCTET_STRING 112 -# define X509V3_F_S2I_SKEY_ID 115 -# define X509V3_F_SET_DIST_POINT_NAME 158 -# define X509V3_F_SXNET_ADD_ID_ASC 125 -# define X509V3_F_SXNET_ADD_ID_INTEGER 126 -# define X509V3_F_SXNET_ADD_ID_ULONG 127 -# define X509V3_F_SXNET_GET_ID_ASC 128 -# define X509V3_F_SXNET_GET_ID_ULONG 129 -# define X509V3_F_TREE_INIT 172 -# define X509V3_F_V2I_ASIDENTIFIERS 163 -# define X509V3_F_V2I_ASN1_BIT_STRING 101 -# define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 139 -# define X509V3_F_V2I_AUTHORITY_KEYID 119 -# define X509V3_F_V2I_BASIC_CONSTRAINTS 102 -# define X509V3_F_V2I_CRLD 134 -# define X509V3_F_V2I_EXTENDED_KEY_USAGE 103 -# define X509V3_F_V2I_GENERAL_NAMES 118 -# define X509V3_F_V2I_GENERAL_NAME_EX 117 -# define X509V3_F_V2I_IDP 157 -# define X509V3_F_V2I_IPADDRBLOCKS 159 -# define X509V3_F_V2I_ISSUER_ALT 153 -# define X509V3_F_V2I_NAME_CONSTRAINTS 147 -# define X509V3_F_V2I_POLICY_CONSTRAINTS 146 -# define X509V3_F_V2I_POLICY_MAPPINGS 145 -# define X509V3_F_V2I_SUBJECT_ALT 154 -# define X509V3_F_V2I_TLS_FEATURE 165 -# define X509V3_F_V3_GENERIC_EXTENSION 116 -# define X509V3_F_X509V3_ADD1_I2D 140 -# define X509V3_F_X509V3_ADD_VALUE 105 -# define X509V3_F_X509V3_EXT_ADD 104 -# define X509V3_F_X509V3_EXT_ADD_ALIAS 106 -# define X509V3_F_X509V3_EXT_I2D 136 -# define X509V3_F_X509V3_EXT_NCONF 152 -# define X509V3_F_X509V3_GET_SECTION 142 -# define X509V3_F_X509V3_GET_STRING 143 -# define X509V3_F_X509V3_GET_VALUE_BOOL 110 -# define X509V3_F_X509V3_PARSE_LIST 109 -# define X509V3_F_X509_PURPOSE_ADD 137 -# define X509V3_F_X509_PURPOSE_SET 141 - -/* - * X509V3 reason codes. - */ -# define X509V3_R_BAD_IP_ADDRESS 118 -# define X509V3_R_BAD_OBJECT 119 -# define X509V3_R_BN_DEC2BN_ERROR 100 -# define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 -# define X509V3_R_DIRNAME_ERROR 149 -# define X509V3_R_DISTPOINT_ALREADY_SET 160 -# define X509V3_R_DUPLICATE_ZONE_ID 133 -# define X509V3_R_ERROR_CONVERTING_ZONE 131 -# define X509V3_R_ERROR_CREATING_EXTENSION 144 -# define X509V3_R_ERROR_IN_EXTENSION 128 -# define X509V3_R_EXPECTED_A_SECTION_NAME 137 -# define X509V3_R_EXTENSION_EXISTS 145 -# define X509V3_R_EXTENSION_NAME_ERROR 115 -# define X509V3_R_EXTENSION_NOT_FOUND 102 -# define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 -# define X509V3_R_EXTENSION_VALUE_ERROR 116 -# define X509V3_R_ILLEGAL_EMPTY_EXTENSION 151 -# define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 152 -# define X509V3_R_INVALID_ASNUMBER 162 -# define X509V3_R_INVALID_ASRANGE 163 -# define X509V3_R_INVALID_BOOLEAN_STRING 104 -# define X509V3_R_INVALID_EXTENSION_STRING 105 -# define X509V3_R_INVALID_INHERITANCE 165 -# define X509V3_R_INVALID_IPADDRESS 166 -# define X509V3_R_INVALID_MULTIPLE_RDNS 161 -# define X509V3_R_INVALID_NAME 106 -# define X509V3_R_INVALID_NULL_ARGUMENT 107 -# define X509V3_R_INVALID_NULL_NAME 108 -# define X509V3_R_INVALID_NULL_VALUE 109 -# define X509V3_R_INVALID_NUMBER 140 -# define X509V3_R_INVALID_NUMBERS 141 -# define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 -# define X509V3_R_INVALID_OPTION 138 -# define X509V3_R_INVALID_POLICY_IDENTIFIER 134 -# define X509V3_R_INVALID_PROXY_POLICY_SETTING 153 -# define X509V3_R_INVALID_PURPOSE 146 -# define X509V3_R_INVALID_SAFI 164 -# define X509V3_R_INVALID_SECTION 135 -# define X509V3_R_INVALID_SYNTAX 143 -# define X509V3_R_ISSUER_DECODE_ERROR 126 -# define X509V3_R_MISSING_VALUE 124 -# define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142 -# define X509V3_R_NO_CONFIG_DATABASE 136 -# define X509V3_R_NO_ISSUER_CERTIFICATE 121 -# define X509V3_R_NO_ISSUER_DETAILS 127 -# define X509V3_R_NO_POLICY_IDENTIFIER 139 -# define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 154 -# define X509V3_R_NO_PUBLIC_KEY 114 -# define X509V3_R_NO_SUBJECT_DETAILS 125 -# define X509V3_R_OPERATION_NOT_DEFINED 148 -# define X509V3_R_OTHERNAME_ERROR 147 -# define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 155 -# define X509V3_R_POLICY_PATH_LENGTH 156 -# define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 157 -# define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159 -# define X509V3_R_SECTION_NOT_FOUND 150 -# define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 122 -# define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 123 -# define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 111 -# define X509V3_R_UNKNOWN_EXTENSION 129 -# define X509V3_R_UNKNOWN_EXTENSION_NAME 130 -# define X509V3_R_UNKNOWN_OPTION 120 -# define X509V3_R_UNSUPPORTED_OPTION 117 -# define X509V3_R_UNSUPPORTED_TYPE 167 -# define X509V3_R_USER_TOO_LONG 132 - -#endif diff --git a/deps/openssl/lib/libcrypto.a b/deps/openssl/lib/libcrypto.a deleted file mode 100644 index 82b978bb1c187a2f7350d4faa52c7b57a6c04a37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4904256 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%0DMF=(X=4BTLA(nzQ^RHUCDA3t?jjwI2 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�KV4Mj#>7=8Ch4SU)lS zq~c0o!f%tr#Rv?sCR_~iii|kc1%9zC!H>JU62F1HfYYvCt`U|-IbU0@qUA&6dBchB z?k?4q!Hbr`iNOqn>VJ!iJINK)R4&!-OZh=`!F2$_X^KFuk>_D&qGM4qPDrN$*V>cX_NvO@5E~f9rxqjoN5q`MvL8Vi96DRBILW@FX_6|CN^sK7#Rv>Btt5)& z%f3o>mW}0PRBn15v*9GRmySvngLPHYn^*)*Vq3_4&+1{FWQfF7GE_25;wHRDMN)Wv z&Uy=TaID$lPD3b_B$XaF1IHJ+4mbbS&@h zc!zUJNzH&zO6uu4bd&dXE?dooyv_>2Pg5%IeYW1=`Fa4;by1~wW4itmeFFI^s80m( z;`NWFKGBq~U+EL?&;q^Vm5Fyq;ok9@#5=ffw|F(;9i;LO)%FfiYY%Ts*VVcL)AjF) zCMD_(=*dEQLr|1O^oFLM{HfmXUZ&A0UTJtM3wBA+7~cK`d&H{?Zy%NSG7E2|TDbk? zT7pWzY#l101pVM%NI!TMqaQp4{SXG}qa_ti=aYV*grDk%`7oPB^}}pFwHW;{L(D0x zAEr=7fmynsAE-pWeju=7^uuqs0t2NMMO*<_h-e7k=ihS$Tz_9gqbE?0ig5+T@aYAN zA_*!rgm(ozMTjD@8tqP59BS=oLZlYjXez|nd)^fwKn*c2>Iyg&b_JYEas}WS|Gq2W zN)6QPwcrX2~Aa_zz* z?O1{XX6AbXxa^vr3)u1L z8uE@TEX=`yXenl?1)eYE!v&2L1{b z=44oyliO)b_9$U?2Vv3XvnqNSy2F$B6JZs-y-Qe_%qdJ_hBBfFopv-8SCg1Zhz2@MF&PxQZaf?i@M|MNJ7mB{4T4FGh;fsQCpJZPbc7 zRm>_X#YvPENI10v2?MRl@g$}~qM{}!khlaztyfr48?b?{TnX5Bge53ygWo3czc4Mg zC}vtN*k1LtyaczqZ6Q6aQ-s16a-IL{XXT2soRiK?$h+|qa!1pfFwIF4*1G77Jpa-m z^?O5UeolL@W~)7TY^|b=R>Cx$*8Nxow$RHW@Y@--tIH6VDgC_nVRKOsc0wQ}Law>@ zI6`9+d>Coa0-NBGtKI}3CTxNipswX_%Thz>VFM;qwLX?xIH&?!<#{MTsJF=rFdEzB z)tIpPJ(PYsEU+OfqQHi%Q1yl^0a9Z_mIfr+1W0U?rwv&gWPuG?A|#-M4Otuv_K1Cg z;i0n#Xok|kH;cAPAgaWHN+n~sY!CT1xXqM8ZHbd z2UTFG)KF+V_V^2@3IsTf;o{*q7~xcb0Hd*sO^pjfx*g{UaOJ+nd4i+@=LxWqA)F`R zAPbx)(11j%whQM81dJNz2}C&B#m@@o3ATgkwsfQ*9K&pj!gPoL(KJFNy9a@Y;&!`X z2R$nbQ_1eJvQQMs-{D3(Kr~JnB+w~?FwIj2h4XRBAWZX=LE(HlWe}#`-&Pnsf65@V zz`nMkFm$>AFq)?e3RT1Hwhq-iT~G*sJ6#Z(f4ZPhwp5AJ1u~`Fl9-PKIcouSMH2^p zGW0)097wsuV}VjVJpd%BH%W)11fT5}Q-&DSFAIUp$8bqYtoz9Wb?N*Viu%Ysswm}J zae0q`OW%EE3=Jsjs?ughss^k-m3zXxXg8(`p~pSLGmXwT2U z(4OA`LwoYUAnpHCKBl8g8ap);Xdfl`5HG+}^I~BTey=59vamN&I8;*!2U|`s!>S*${IKc101i=4&gLRQ5-f>EF((z#eQ&Ck#@8# zAl77UG=?LBHm-(gZd@&t&uv@{Q~!{J3W@;G#?^emE}YK~Wl_%MPO(^)uUM`S6L&g>96c@2;V^s^AVw8K0*ZZAwZR2k3$4|%s~|}GCVFEpHmwc z0Y<~XsOy9A2>yjV#(J@^L0W(;(H;X*u*V!^3HCTxu*V$CFYWQX|Jq|Z-}l@0xOnSp zD+}Qbu&pfkzcv^q*E<0=7&1e_JU8DaD|nlnLQNivg7s{tdWy?KJtgFc8Ds)o(#SBoaGn}@y}Y;P zk_KfPBBkvHVJeqK@LH&nYL@Dzn3 zrlJ+$-4d4sr6doTv6*_m$T#{$zIcSSSo~o>D-6%{rHC<+i?VBHjV<)FW($9 z84$`eD>k90-xLO^YRYiqrztjJ`VWQ$LH(2yu5ULs4{vs;{f0F zfx5ye1U`-ahasJwl_lic*W>fukw08ZyGZ$x&Yv_xvD)~AC6R#Syt`l+MFbd$^|rcr#?q$Hym!ho|;&j|lJJ$Kl?9^AhlA zEaxKB!#S2K7X0~^Kbr92Ga!PTTh^=3hfe4(!EM7q7BsA5C_lD2I12>BNhwuN; z0~69Co);D4luRG+0{8sx{l{To5_-h@KhnUo;3N9yLxK4G>V7g2kBLy=KXw0yT)_8# z^!*>SuZTPKNC~4~bP%QAaVXH3O|GE?sbM4v-^MK-G=Y(;xJ1o^r`$mX!^pBINM}zK z!C0&#S1BJh|M+P%VH9EY2=*Fx0#$_7JcJsch6Nm!{~h${9BMvf{vlMZ;UZQzib0Ni zUo=-fxn^UfP9JAJxYMW#Y{>V|M{Nb!(TB?DgtkQ%;9NsvZZF#)88$5Ilc zF#tusrFa;nF&tnYewi4Qp~W>H{+b%PH-%eJ4xsA>;abC0_6pDB*c(!!9`yuPu}q~{ zR(R|+Pgt)Zms*LpOvsiMSWx1cR0NP43I!lFmX%6^1WuP_>cyp!plHBw`fBJhgutt@ z)KpRl4BRq}1*hV{l*U+g0zQppr{V#nN^4Be&`#k{b4gHOmK~%*Bz|YLq%8Lp)PefZ zSj3N^t6Mx|O2fz*x=A)~kPp?QksqZ5_bSCZT9jFJ;4k`d`;72AOCL~@JJb#D{W7iy z($G_wA?3UC#j7lG>LC}x-uIFe8@Cb`tl`=hkIY_4>tVrau_zvjck{vQ8kgym1WC?* zK>;cWl9n6`3Q$RqaQxK*R6GnF@4iezA)M>JAfpqihzWCoWfbGr!b8}Cw|}H@r@raH zD}G_~K|p(6HT`}haSz$&isf`byn@fK{BH6757EA>&wcmuE4@tZbu-Kc;3xmr3nBTV zE%6VPS<<;?ic_tK|2y}8aBkMWeE)~7jWvI<8=dQ(K7QmJ{$O|EbKRWpgn?j8sK@-d zZe@{C=kw^lJ2}L7OsEVVF)sRZ96qG~u0Qv#0*8jfM`e9*ewuI<=g&==K7$9w|HAj3 zGnjvHkBJcAA{VhOd`iLpzw!?mv7bUQ@mzNl+9wQ;FakWlug-~^2>9#;eD;6yoH$iR z=fY!94pS*+3eJb`LrCA9@X>tq5us0k25JKQSk7}x+2xd)eiK^hQ2c`7dE7o){;U$T;*?)|uP0!D_*>Grz| z0fdv3LOw#iP?1w>>*W-u=m5ZJRDr|m zxh%J11~vxho;72_UDpi0=6QJ&~*z_6W zV45ps1GtSnvUCnELx9T^;IauW*1_~Oj{ecMAfdUcKyGV~O9n1+3FK6lt-&#sOE!Dc zF%Xk$hLPABMBus=igV|U5I>05noyiOc!c;NI*D+TGFa|dgK)SZkl#OZ1eFPATKN;s z98CWCXa0DzkSK1#;SV+oiQ@_+~<#;^}OKQcMw>rtlY2#C9osRNRolx#C;oq7<6r;xDwt z#fPt7<&w&Q6l@2#J*hxDLd81N?FbQ5)a?isQ`GGUQUzvE_gq4Rb_9#<2o>8AB(~!o zpH;9S-2SNo4cRAFqHajIn4)gTb}>cWkT9BS;LHp-N!vH2>n# z!9rpD7j;)B}D*Oi>Sb zgo>9omk5FKQ9^HAj&NVlmQzAM^2Mc)G;pj_pe>ihdem)65L47`IV+~9+Y+M+ZYWMDe9(RPc_HVB>o(UQpKk5 z?2lpLH5a&1tt}!7wuRe6S)eW1Vm<1%WQr;3wq%GY>b9g~1ERocYT~4e1Ck*O2sKAT zAbMdX*S1J63f<9uw5V2sWP*BwQY5{5XUo*krplK0(_+K-DVJX&3BneE$ zYie*OuXCZhd2Pn6?J2^~oU%r|Ep~c1 zjzIY7p=udF)lzX&Fx48G)x|#2l6$;iVIa9lo?k51{bB_`MCc%RA#lGqu|%O+CQGw3 z&0m{8albaxyckPQG{05<){G?elWPCfx?En^W~(dNnYQqLTXKB)|{*M8)+HYp@M%wtmW@c62AMm>vLo|jsGa{DpngOV1;B+O}$_sGd@ zR*HRm*ZzyG9@N}EUuhYgy!B>!;+7in2`!gQJT~0Q(7FD@7N?tzujag`-SYnRlO!oy z6YTGfvTEzU%PLR7+)qAkxvz8Zy0qAJJ&s9d_TAOy-O-#A&7uZf?{n*A?#IdX=IRel z8Z&QE^Y__7&M^`7TMb%%YN6G{o?AUnIvF{PO1AWUayqEK?Xk^O+hG<^U2j`}4 z-m}{s4VyXQ!MB|?#+h`Pdn5I8larETjjl6yENK#cy*%xRAbA-%!Dc@A5HIY>U7wgHY1$( zZjyN}Qnl#3=$i4YomaOGYR!iQ8bKD2F7P_77d=t)jjJ-Md(#*se>r=0l zH@XqTEy;pUvBWqy=R=qH>y(3;#Q*L-bGhJr6b>b z{rL7=z~11yF15@ar|#(-z5UvwZO<)BDNHu)YZ#qy*yX|VkWJAy4%t+CJYoNhruUn4 zU1Kggy??CX)HK7yK6^flpS`DU=RWl}?&`DWvNWY>u4M4M{a@#&=&mVUYh^~Z^INtE2 z*VkHoLRww^+I!qJ)zMRB>pkr8DfYOkH2()5o@URwHjf1J-9Ipji`{oUJhW>v^eeJ<@jqebn5n=YCC742Mm!Dng3 z+=CU&lD{AJTId76sI@$wYH`BTJyiHB5yL-+A_ULq? zRajo5R{Dy0@wX>gpBmL@M@Yku^8SDHAC{No@zUVhA&>bFW#y*4c6xqen)&X4UD5Rp zOp!N8eOqqHt~rYKmLZb#F3(;j8AO%u-pJ9{_tUL$itet%4CW82(cpT>v|4s|-zC5A zx7crQgSu9eHib_0>z2MUdXlXF1_P6}_okjpFsXgVVr|~qrw{e^N)8@pFV6RSHnwJ0 z`Q=h`&VAhK{ccm2&}#F#IOHY{W(-&Sb!McmYp{_?y&=2GiWr%YG-mUWrflmE5_0u&I9g*w^bm&%5??$KCQ>w1(t7 z%aG)4X;}J`&qE)hv-Re_+E{(}`MD|Etq1;CsJb80t8?b8v8z_inYa0i*^q?F5B-?4 z`x>@#y5%iMw`JVdWhOJ0$yPMpntr=wy9>R>_Evs-kg4dTWGdtYdJbx}%ucp+R9Bxm z-#6BocG7?G4qK0gnUxmx@(=L|taPMv%8!R-&9Cm*_^@%`xScnmo!4dj<#O|!=af+| z6y^M9X@y5_+1==_f0fZk(~ot{HFY1D^u*sf*Lm8z$))>kskzOi`@K77hK@M;v{wHy z!Q(IbwNIX8c~|RN_KBpFovs~yBK3F8I^ekNi0#dUd2QENJQ}9cuY%j~$uE69yFN3S zU3u7%jULAL>u;&8yxwT^@yuNgKJ)GztKZPlWmuc!X?<(2NuJ}#mOo$W$TInmAKPn< z-yE_1TGjB{y4D6;JswO|Ub4D>JS*|MLBG6L<*Lg}AGb1hKGLCy$L1!_B(LUM)|s@p zua48(fKheNYqfm4rrB0&C%s)Zl?_+BSNH!seNafFEmBv{?A@~x`tG#NyCSJ>5w`XA ziTRVYeN6R2Z#xZ_cfK_8*7&%+AGUeUY}C?c-mqN_zg>Tt@zm&oiBDwimG%n%>WWXV zY%ids+Z>k zFP5icI^D($fRyg`FIQRdc*d=lQ? zzc=-uTS`K$rF!n?Voql!ZX2$6AAagfj@5r@CJtwPu zM=O-&lJ^SewQ74yNp?c5HS0 z<`5N zc<*_C$9;!=qdP_HtN@Jz>` z7iAKSGV>O?ckh|8xwZ6sy=6fcul{-F^TE^4FMfUHRO4FapJg8ODXpxqO0K&<*DtWc z!y86ZR&Dk+s(9SnvrKBn<3q#Ddv`PmKX5#K(fu!~Mx(=;&zZI;=1^xBi$@#e!RvBT zPjwzv>D9M9)9s4`&rnUB+LmA;#oW%l~E zbH~v|iO1^1gnPzq9$?d3f3#cY=r^$+^X$I`9;+9dJbwAcC-b_V=@_xT=lQ!wpT-1w ztpCH;rFO!)Et4#@dYJc6o|`&3{&MBGu2HYMmYL9j)%SDz>!qPn=0d9l3uA7bS?E+s zXT#UQNy*)JHLua9TBkEp4)|1#AK2VF#O-YS{As0*7?xd>v(Rw=_qEIZY}#z7!-lNo zQOY|`VecCI2MyR)*Wt+IIaTlVU9{0VI>&p^w4G`8;rn%D?`7IEhJMkF@03~7Yh~}a zvHe#`vT_B>Z`r*-g_Ip?ARc2||pqO>_mfo$UcX~nC>Z%v*j^}lVSobL=u4DG0nt^>P z*m-`PcX^DmvEglBEr&{}c~6Fp`?TP%Dv!3#9HYJc_=+_{SAEHA+cWFWwkOJ^`er>{bS@huBk$&SMdk=~AuCTYBUcEn!7aL8~`~HnJ z&-+~Qa?i1Ux{hn0xOl(Pxn-T3{jf|*UOO=7)1AK8GDZ)nx@MWYhl4?Q zr?72;-P`R>WU~A9oho(cxumT9sp+?Bk8U~t!-A=$TD!dHooAJ_^{o4u@H)(ZY^LBW4NiXFQU~&8Iw6V3;y}EC;b&|!OdTtYk&pj}DN#c{_ z7xk{iCFBgB+Hl|NxVDQfM>(2~zV7$r;D}E5j$Ms5T4?85_H##RuHpHKliVHJIlIea z8xN?nG|R%S`jMq(ryrUa-dTH~p}%a*llFe=y=CRyomN|!k2u`Y&!l3V+hKtdEo|yq zcrt^nLzPcY^<6qpyVi}I6CXogc9B$cwb_2IQwzV=-EtmiowMCiyI)F{Uz=91Omq(a zaX%}vUe3JJyF#{3Prf^^caH(f_Iq~K=@W3hLa8r#bIlicL>fNb(#lQWUa3nQiOU3pzUuH<^|4&@Qr~b_J(tCl6Kl)Z8h3@BLYU*}iqx4d^zy_d~|nHgScG z$=LNL>*(#!iOzYAtzi%)Yki=S?+t%xhDHNmyD}N87%lesad3=o|g7 zKfWD|>Iyfbe0$HE!Mj(lvo z*F+JYGk?5(bLXv+>aD^epM2=j(X`S0+RY5##|{5{r|-y5HgU;g4J$X?y0BVW!W(0q zooj0{dmB|PZ|Z8}kv*;KuSVWH+H&Z)ai0$%EcSX_&*IE zYFU5GTRLsRmPgO0PI|kcp4IhB*Q)#9j~#!y%)YcO(o6jfH>%>5ZM801ojZ8N=Jb)$ z=CjitZQoX@#S`zzkqf>LWU}fe#pUfcJ7>85-MKv#*R7dXhe>|+WYLG|Ax3Mhhcl*Y zEaUS`x9qR#AJk;wx|0j<9^Q1I>C40>Bey?tZT8lBS7zruNh@Pqmp*H@DRsAVhQZ=1 zWpCD~;ijd%vdpXx?ZWO4>mNS*LI211PrK%tE_v*w>QnmM;hgv#QOS|7(q^4*@T7^X zYTSdIu~uK_K0R>g?38yyUZlUB8FKliLAQ*yb^&+lS@|ugF?u?4@so7r?oCa`H(3*B z<*@hks8wSpjXrwkuau2ex(goEp3?B{t3JbOJvHn1VZ!5Y<8&@p)9z#{U7R%N-m!X3 zM$YN_{pRI4Z5K&CT(MZKh#wHSDEUDzgC6;P+c)+;2gdZ@Wbjh8=14{5;1>@gp6V~@KQ;Z< zt{+W$Sw0!%!NgoIrMrCJ*{Sbmt!~;z*WgX7fB~gW53ipX*5#(p*2)i(ha8;|v)*(} z_7l_8%no1s9e%k#A#q{2x$pWl9huMdT-T@A{V12$%iwt#v(g89TkV-S_IPjIH5Y9)hW6Q{$9$m>dXfFiQVig;OqnJ#Z;~zsZK_bys?^2ddXzd7;Ia z;7_bimR9+9F5UYkc8JtIBuy~bll%5mR_lFB8qH|;#3JpmmcxuqH5XXE^1O5K?iC}4 zL@l2)W1_ylZB+i*%Py<^<96sowi)eFE%Lq7<5At;#J0Y;{I2e#$}9a||7bH;`8D<9 zvzv+DUoSlP=3#xGeII#8(j+#{owdcKZ1aAU#P4^~+Y zz1wWE9@i?e+4KOP0Q*lX9ZLO~J5!O_UT;I~F6O0!<}r@`=@-SDvqbVMiU0Mbq7+@BI2#UpMaj6=kW@Q>I)pT2EMfj0loF5OX|ow&-?Sox0!iIXPqh4U|D~!cYB&fbaT@(*SGli z-mYWodf^63dmQK+^X$f`8G7v>81>Oz6Mk!Ot^GIZewdT-VS>M}m&wR4SCa;w{-|s; zMyJQyPah1YEDQ|`+uN<5`GhRjZ7*j&Txh*-d~%a9ZFU>B4ru!0arM#bj+vQ^-~E0~ z!z(w>)Xf{yOzPrwy7cDP8%CyouH$h0m2nxZmQfe2Pgea=KhsZtfYM<^1uvHcBkqLf z%^cQE*6*O+{q7S}pJnCzvEs{zhZFWS8!g}FIDet-qi1?|*Bt3OM(dR8%j|vqTw1v6 zZ$9(#(Uu2)49N96zWAj_)XvD7ZBGxo-{Rwnw{{0vcDTc9+vqkmV(y$T{eHo)5gF^B z>uu}sxIwSWw=T^Y-F1t+#@Z^|ZuCt2(W82mEu)OXo?G7a51T9x*Y7c086I+gX|i(A zC@l~3^$*<*-X?U&ncciajT=c-vJI~#m$~?Hnn`%lf*O+V5j%BP-+4Sf^GeF;869?5 zwvkI0I@+fmy%S&I#Kc`S+UnhYbz*bGwYv`e3`Y0T3hn4BIUemf&Z9!JE4RH*D5p<; zKH@^TXLmQeX%+aFqwBK3)Z9n?e4|E%Y|%@2{-`E1MjA^^}k9&5l zR=Vx;4U^(Cb8cS=`t;|-`aavX+sEsNE_hHTJb35jVe^OVJY1)~RoK`K&P#pAOm1@M zYCHd!elD%qA4{K}X?SYsh$Cm3*S{v8yszPs)w_3(yc^x`+1JU>W`7@@<+5B*SIpPE+-&>(Ov~9(6JEie!%In^&g#?v@&_kkPE$H;@_C9A9}q@*uwHx@)}Q? zm%H>{cb^oC>QX}h!7Qq|tp$r;hk z?$MH6Ge7Kj+fUwlhKJD_lfbbvWo1&oL^^$LI;cUbkFA$X`sx^Sb-VW-%c>K?*J@uH z`lI~0y=88FvpQ?4e=_$0JNxt_H{0GTq=}Wgc?BlvS_IrUE|&!B+}pT9KVk8+m)_HD zH^l2Qk}iF!>yO)+@V3IuX$-q)riuCKkGpsOF}lSWuOUNHneY7$4}2VPscd~izbc1T z)YH2*Ev0gg4wpySd{}mRN$t|g6^Y7qk4L!AU4E^*U*CktulwRU%p4ojxo@czy%aWS zo{y*4-5KOOs&1~He(VlY>psWE44DwN)M`svi7 z_kL+;_~P5!?G0A0ebmulVMB)l^3|u9Dy@4=_RVD8RI%%7|9M-S^W4w@y{DY|{7iDE zUCQ7%|FCz?x-JV3o}S-oP(sz{mwV5xTX^)s;1dV#e~4@s+Pz)FJEi)KThMW&LtrE4 z=d-r=8FHh#lX7VCt(g-lOB2F%bWFEAiCVgl@$@a;^gUTBW`VVwn}uc zd3)5(dAs>k-6n12QFVswj9yne!0MXU%^LRU0i)kr*yf$F9JRXt`D>FG1~#pfxN+|m zJ@@@_d)_azRd$<49iEF19 zSE_O8c_b6(-Y6q_q}SYfW}dt6$rp{i@zdu8+R2WjQr)SlStG&{@aYSy8{EB2Jq zt=lT5T+{dCt1Zf_^rGTe`QvI{ij=%|^Lo`9-PNs4`iD@zeZCG?M|H71CRx2K#yKrX zIicO9Cg!KQw>iHj_F*_cP-ZZ0f zO}%f^KDNF7|B?4D@KF|5|M*4_qCz%Suy~=a8f_F86Rtr~cO{F95QyBwYZ8(G5lCV# z7}P*8P_wSlv}#|pt;W_`Y^#lzYD^Wwr6k&_QBhOtC0c|;P@++D0)$M8f4m;*|?PG3T{`AIO+jqNv72G)Jo0TgQ=bW?_ zS4q{<`UiiQe|h7VSAIR#@zzyM&)xP}@|LInU9&y zT{CvuJ-Oc<{o{XS*G$=vc=w>KAFn=d@2KTBtysHz=4mh2`xm|b`~>gJU8ye|nYa1n zho+tP-qZhT*;$|SWWk>v`Pt6b+s--S@D2A?Cye^6^nxEgu;thvz4O(ZUBho~el+{_ zS@(^)spay83s)vw^UD)jM?Z9nf4FDYv2UJr`Qe^Z?s@f&d!BRu>uKN3hyUp9Ipd1Y zxciNg@0U&c$+Y`U9Q^SI@4a$iS@R>S-aYR4`R5;gYstgIPh7Te(TvS=uRU{A;zyIt z*nLND)7w9MRjclv zJn*hrS3mpB*B2x`{N;*$cPu)i^J`CiHR{XOaRX0S{O7Wn=l$kq z^Ahej<KX;#Xc+<-d9ewoK zcYS!|-MjWwyz-MfPQ2s7Gml>LuNCL)bwB#;JMT<<^xb>jJ!{L5BhM&3ZlmXj#@eF;8phzKWa((Q2*uc{v~+f$G=*X-o2-7*Il;~{HDeK_06K0M>P*`yy%LNC0*amXx@6; z=HjyMOTVqUz993epWJ=N>%rUsNv>sIU;E3z z_tu|r=Ds28f4Xn^FXp_n>R$i4pAH(l>Te51@2xoZ(eKZm{rAL+UVZV$t4_S)K)xDhL6T{tOs-S}Pa{_s~j$M62}4PX4}`R0GOOn7ne)*~KG4s5#NxsmVp z9slB>#BHV5&K-NT`|@e;ZXeXKt>CO}tzKwm&-{#bQwrSt;yB_`b&%f~A`6dG-e%{oog~PWx>5XC>vQ z{yKH*6Zfs0)^S?jF>T{+UX!jmvJHFl?}Q?x({(d3WQF|I{pDj;V{Lb#1jvfBqCl_vbBDdwc${QL!bq@HK>)y?sDd#Sp^nUXN5AL0t zcJsC8zWmvf7Z!}U@9z%`|Jy*{@lEyBJ3jsJgp1d{{obyY(zpJ0;gOG2zj*x>-IsoG z`30}vn)R|Pb^8M^J&^Xw%5Qf6WZc^?zBYEwx$Ca`^S65^R^2@4uR9;F`EXzJl9{U> zZ~yDB@2wendF%wSt^$UaE8Fj~d69YG;Y~8Z^^FKcI z#qdktsT#MpByaI&JO1Y1boH9q4S#TYuP#iv<%tJYzcqS?=Z5aJjkoo@-xFByZNqDO zuXt_nJ9p0a|MRgA-^@rzD7*BTcazGGNiVo!)~cW0*>d*e?3;d2QgHFBr&iwe^Xs~9 zzkbtKC!c)9^*?XE`IW45PCw(lA(yn=cjLY_ALk$aaN%V)d{kWKIR0m8o};f@{+1)} zogo(wn0nH~P48WiTd?KhdpGRdeabDb?s}ewi1(HqU-ax}JAUwc=ZU_XumANIUB~&~I%n33PiKre5lg*~zPNa8?a=YguQM+D z{N70y4!+^;3FjTLHYxA?hc3RMGq-j~@S&5=%9wWaZ%nE$O1#6+>>S zzjwham$`=i=r4;Nxar8Z`qF;->A=>R#VrMwoPPJvQ+NHS=HbV(6PA4PQSGlEtH1Z( z!H>*A0C_J#j`|y4ha=wmCn+G|d*7`*-418oYY4r6A}l_^`wlpR;O+p#+4u84Lkf7` zVdMvZcok*jtAIFJF_NDc$NLK-`FaHD7@Z`)0(A0Vzr62oo5A_wGu&$Yt8n#kJiI4h z@Dmt{ciHi;!cS7DW46J0a35|8{#E#o73vsg@KG9v3=!{FQw;hUcQPKVxV)cSURaTX zcTgg~Y#Z-8h7s>SPmFxSc|s&QJ`x=li5}v+)AIeqG5Wn3_3>O+`uL2DNn_F`re(NX zEQ?v#=Vwi}WSkN>eV`Li;hALU_MOvm~URE5!x`6DgqC^Pki*ToO`f7k#=!l1ze z4?ps##3PcNLxuu94Co-BM*>ZTv<`*TI!gxBoBY6G>b~gT)JwU<(e}4 zvh2CDF7js0aV=cwnw(c!T2|sIDJ?86FJCsgq-^o|j_`Gx2mPe(<@DEn&C4~RR=m?r z<$1r{OoMQ)!?R-!zIKT(Ue5PkifcO;eC{kc0{@pJf9`dbj9BC>Iqf#wEV9VCdPYhz ze&?pR@Ox!Snm_RR?!nHJYRI9P8T<=#_%yTF!aQaMGgI)sEk28w8JwGfH)O9&IdPHK zxe9miEK3=ei7zPPE!P`UCi?@+QasO6^Zr0Zihq&cx#|sn;Kr0}UZ=QeuWR>ViyAT$ zTD|F8y_>csXD0m3oBob>(_itl)0^Jw-PAfHGhwec{VVULO?VQz#1I{xgl=$%ZZHyZ zA&C?SkqQ~k%1n60oBon_(>8E@%bWhDcT*dlzVN1h=H0XzT)+3Gf8*V>1y4c;u0n?= zp#y)R!&AFAy-jm@&71zVmVCcA{ZlRFE^qqRnzPV>i_qao=)gtjC~qp{Jqz->Aa6=$ z!auy}FKR7p_NKp~CI7^m{<)U&OK*Cg){M}BtI**|=)hm-27mvebKQEJG^9?b8$XK3 zgQ9=Ij}-ljocnRB5=!K77W0}dEax?wSkP-WtCAkTk{-a49>9_wfRfG}P>_w@yLTu0>#s;i@2JZ>>3je8 zFIM*W>z_!eLq=x=SK%^=6`eDJ#a%Oki@N>6;$DC7>OOz{>7Q?Lp5$>%3%u`N^K}hK zoon&qaNf*c)JEvOy z7CCqS-AeYJo$NT04c26(ug+ZLEPZ|we*Sq!gEiX!Aon}SebTh=ahnpqa)4BrcbFh_ zv_F)0G>x9JSy1ok_%BA#-mQ38K|cxeH6dW}ygeq{?8j+dZL7z7A1>5ZRG5WqIP$~f@2TU!Y5*M=dShEn$L zA$)o#9%q?MErSe?6Y8p&;YF+zczD+Mu%?1jbIEKrU@&6*M6x9Vk*7`#HQV)M~vQdF9%4K~jjcfe6eMb9; zE1}UuwxT(^ZrHRn|8h7y1E;O|1^`W_dX;(29zTY7kfLN{{TI55OoE6j^*F{~e`^Yd zfOxg{Y-E2%{m2Yz0p_vA!Qa2lL(J8g==FfS_In~TQnHEsle$7>VFoeoDW%^o6=$!C zlUGBZFIAKx))c(5L(*#-`Ma_S1p{(tDX5*R^IGu)TIcGb4m^PpgkAVq*$Wh+C`p|A z4?h#PwE=-7&ehYB@dPoPt1ofk=d!fjW#PK1+Z*JXvI9_R04;9`l5wy3JKhLuowV7HB_WOH~`raM<`Irp$;YalwWp4~4{vC1MD(po2@TT${3-aB2 z$vGDLZKkTmVE?URkN&3YP1RETTd`M7!!CHfp*+ta`%jRG6!xCWSQAPLn9Gu7$R$#J zgFo*f>fTrR^G_!DCV$>ThCaamZsunne<**+7fj^~bcT|t?}>k@nz}C{Gez5r$^H$p zXEzvw{eHzhoT)DrdzGm#BQv$1?ElK2mq4RhWDcB^;Hq5q{|iZUQ}8|fp?XTRj>6LG z~#r;rPs<*((jFw9=cks$^m5p3oK#rph%LL>YMy|o0)on zKj?W>N1@7PKL#ZGKVp8q<YF9k==;1OPD3@65bqR+vrOjGp z3U$V6XFE9(dG%XVCA7V|wxYphZN+GWtqX=?rIffAax7$bTk0$nd-K`dvdyZk+JP!)Z@s_6SwMc#Lqel$e;*%0k#L$n_a5tt!8u%Ikd z3s?bxR;U!}1RCokqqarV2~>g}gN?rPCKrCu8B9RGQ*t#%Zzc0FdMjB4+uA#hW23!q zgQOPO-J1P$MO6Ie-TFpLkRjI%J$r{xH?yXRUx%VAJe;xl{f#y07 zXqXy%IZ1Q%rHHK(UcDNzpJQxtq7c*>q<9Ni*!u>5{xdmPpnFww^$M7NqXp4IAO}i# zld^x!M@lv8S}~sNxdn>>(!Dxsi=iwt9jUz^QgV!3enM9It57cLB??7qXJ$%T&v-xRU-MC`$}|^{I2AgUQ=ws5^|SR<=!cf6&}uBgLA%30 z!-5>)T!C2v&lY$RAe?(9#v`N~i^WXBQ36jDI7DD37X280qQGGS_hUhj{+|KDB;9*7 z?p_6i{+9zX9p0afCA5)lAV~=50v(+T|HRcoDgYl9uH|z~2CnXC)qK?YB56X-tO@3f zt8(Pb%J$8iGiOFlQQp`w`FW)|*`X!Fob)jnVWhmgTwR7L>xnt}6=h?`9P)jq>EkTx z^~-bemKRnm(Klmh>0+(dXEPrz9nSUo&WOxtfAc#+@?0v=;9Ps zKdxo3hkTUN?)tlLt5o=SBw`nskzcdPuT8}M?%Qe-eoKU(3w+4WIGCylQeG+ejkVv= zj(9Ay5%{t1cTk1=XHw*CQz?AbRCh@1T3(cwe_rXG(1 zPCw($!Gjfdf;A(#M4MS(oRO{!h2tjfpzvrrkF9f7)*EM4{1{b~_mj4$AEh+ z;L;BFJ`dHYc3Zd8(kutFdi?=!DsHFk_19LVV#g68;8N6Y$-0O7W>A~QPaNJ%J?Q%u zpFTiy-XQ#3X!pUU5*sJd+}HNmI878z{-6hmWr1>9svma@243nW=O}tAG$J|IRa+LB z^rWA`^^W8gXj3e-NRjgnkuS~2rwRGBL*`dS_I2W0Xk9jGFH+K0gRD}2r$oueO9zp| zF2%*Dh}8q0$dIpVBl|8~lWYjW%1XOR?IT(AkE-d3r-M9#v+0nWPk|+H_I-%Z1n|&gQpG|!PD))qAhm@i2U#$HkAuw;db8Rcq z@4-Jxe0y#8AiaLV&d2i)S?ZK?p*bExTU@d-BN!L~-V;Op! zLA4Dc&(o6ovqQgC2B!N0^xX`>n`5WT+S?;}XJ^?HWyskm5L=W7QieZj_SAxUF z>c^jgb}5|lR2|Tzd@$akEqB^%`F2f%-1<5*5ZzR;QGurzbd;e)sTcOH z$B?EAf~5b?x%{HiC52@Uo?Tl~SVa)&W@(h|ON7f7tXRXS@Ky;wB~Ey+gx?w`-1Lu= z;)J(KiWB05n_l^5O&28}PtYhAFIpCwh!Y zw+wV?Slgo$ea57_6Lc9uCwh%Z_YCM7g--MvlWqs-nuSjE9FuMcbl4$uqVJe={1#{i zPC(G9!3p@snm=3#x@4@b(~170=$=LSU=HGb2oU2VcLgAhh`KKW#L+$XTtF1@a4#Ur z%6+={pDg}KfM^li{{YdkfNg+`w;7P}vhag(lY1l}x+?eUXibUVDR2*D#L&zAdq9kR z+`k3H&~xNHfS8-OmjGfE;JyeDV>9=7K=MfdMAPc-MAqql7a;u$sS7~xRN?J_iAb^) z5OO9}0is<^Dg}h-Ng03?k-Z2-f)1$CB*dXhB7(m`T|fw11vUz-5tu8`BhV!fK*cKn zw9d1@OX1lhfO`o43~wa@w-^7!dllwzTq1Z4Bf?z)$nXYag3g716<@-sAL6F|Qa_3w znWdYKFs?J3c?0Kx5>p|>v4vk?3$L(+FSdn`wuSTjv6cVpHk>0IYj~;+-)f_; zu!Xa3TH`x%N;&b&=j1fMq!cHNL$gnfs*v)c#l`s*SZw56G%Hh0PIWwbhGG;KUKg6z zst7qn#YGj?Bs8ufOjAJ?hCJiEXjvZKTDQtnQMN1xD{~Qk%L?;~D@z^p&tDE0njzha?zgwIo> zP|e!xe|KG$^FTT?zc)BXJ^Ytx@jTiC}bqhL=RJt1QV^hTW1*D|k^%)8G&f6p<2jqHJ1ybP=#dMl{C&0~RR@-|-|o*g~& zLOyD>0N+O8VnGJx8K)scVVKF+kDtNR*o8$#M@OuP+G^_X#O_~5;gl8sY9%3Zew(b< zkx7uDc?Glj{A)J($tm#iMi*efx6c}sXbH0Vr^fML63f4BO&z?IgqHOUwWdv3u+kl# zN~?WAqi-c|Z8aA?SS5ShkJ4f=gEanNnqm_*J>oKsCXn>oHZgkv-ww>Gdi`rQCn^F=ves-CBN0-=5!9oO(4iv$$c#QRl0O_tJ?coUIud})rXwRQ2}e?oI#QF41mKfz zTwygSGpI@q%K^Qa0reQMc9g58+?fuCb^RkW-wb4R;#+YYm^x$KV%^hBRnMXy(T^SQ z{f&O)I?;M1majKvxm<}Ftd}gH-QYQDrQ!wooJBVxMlW=oi5RLR4_BID4GT^}=2{hb z`WHqg`5iDQ?a6FvQzb{qY0vvK2_^X2@$j}vfmJM&9t!6`D;M|c_|U=H+r!qSq)^`( zi&z-s04HpJU4d<}GnWOj2tl~+!^ImE9~W<$4yYRL#!4cJeZcp3W}W&W(Cq=fk42XH ziy*S75mgQT3WaDTC#t7#?0JYCT7}dksbLaQ;|}B~5*Pd|&s4bwdV6HlQ9;A3dS=PObl-J>yaqG840oag7Rw&br8M+1UT% zHf!#uP&?n0Db*ufXvqp-!A{TzIJDAqNeFmzNYD80WDDh zsMq;FQxOxuMpY~@kmXi>ubQh>XJD0(D_IIfgvWG*mje1BTKF$?qV4_x$hc%4ogZ}| zmZ2?PWI$Ek7MQmcl?WeB=tkV=cI5$hs-;@>BiZY4{)AI+#Ws@rJm?$BidT^(78Qrw z@vG#>9rP&T_WTm&U|K3AvldjT2bv722eIb$25zA`B3fuq#QJ!e%^qUgfu#*nDxli( zv)Ixh#UrITw_3;)v5;UL(+^~A4`yvYH>=aRE=!5?Hh!_v{r0)OPN!OhS8B@7dfWNr z+{7heq#`jgf_G4VCyyDf@vk*VB6X3wZ&y-YOfZF~77Sy|y6j+beZ5-Bd z^UGG2R+OC037+~HoljBz6UR;+4&@)|S_Qpb!>I6V@!@&|TvWI@|1m30c&o&?T*IjN zE}2BUz=3}Z{=G86dn^wBCN9du4T%%KHBpB@5-0sqnG9X6$)e;Nrv2ld8)(46b2`y) z)OubD;9sm~>ooX%afoe@wa^pzFrF26R#m zG3mG-+92z?QXVnsxE`7+>!wmJG3nHLsH~ex`NX7K3x4Zm-Bijcif$vy5z{Pn#*XWq z8Ni1FZpS18RoeX(>;O|%_dS3k05bs@{sk5h2yXzSKfiNLx^~zdT99aQK z{#OG+Ecdwr2LO`Kw*#R}te3t8NIp*kGX4|de*++F$~_0r3HW0P{{Z!X>AeWZc=rM_ z-rc%>jO>MdQ@+0l{E5Iz1daq`JZ?{8-tGP~Am-5SKL8?V_^$wAQ|_N?+&vMH`8Y}7 zV1aufJpH!=a^1NOkbG7FlFt=@n8LfK0b)tPeZKf}PLH0(jkFb=3;ggmh(Cl~@F#2) z*eI|@V6H%qK$k!O6|WL73A!-rBp(w8L(@L|6F5i9t$=jUoyOruw;qt;roB21e#A}t zwpeh|(tUw{#SeBuM?DZX?bQO|XWE|?f}8f_cfj!%a!=UshY(^7KhGB4Yzrr?mA=+S zKgSk+hYkOcjs9g@_ysn+&_;il4Ntb=dU0{ev~0g`wpyl*xu_djvE`8>S%$=cP+8#h z6|4S^3$!_f;%DKgR(V4l!WijCUtd^Ol2f!oRx`tEyq5T7g;==lvW~zva%8^ z?{W>-LL~c!+FS1-hS!<%%>wZ9yrqRXOROqMNp;j)tar8)YHmP)}a;F>eHN|181c8iQvav|5oCFY?n{RY1|@TFeo z$DPj0kYH%tH}*Xman^m)C#CT^4LIDRvAkRzG&5_zFe!(9{TI!oBNq*c!-ao1w0Q?S zm)m@%B6HL*4xGW!O#esgzc=c3Sn=ay1{SK&ZpT{xJ>WUo8sU>Tl9Ayc5WTvwTpA9~t^yGn#V}nh6<~7OjSoQi>oMyK zyqOu;)fP_)R*X8 z)Ac=~W!CvNW+IALf6+9vF6+5AUn|W5GmiC~PPh5CDzwel!E`tmgeZ-Gm;=n)0C^xH z)`sfg7vPLk9T&oD_{v6=Y*;QX(s8JP8hv_SQ@>Npkh#i?m+^|u3@>&B=gFo6y- zYv9KJDvxHP5m^+~h+l;?vxt$3b$(;#uV+w-t4<1I0cMi?lcTtVPG5!QOW+qO2boG6 zDY1y0;9NHy{6tPnXan9f#k{sEExhId3P%t7JxMohBLxppBE+d- zx?q)FI_@EL#GD)&5c}~&>-R9{x=zi{NKV#jQvfzC>39;M_znc%zbcd_5tk8whzL+C z@oF=`TnY~wRZO@(ga0a*hNY>ni8oJmIG%nLkrb~U_TgFv?*NHqnA@SVZR-tPL>*e z9X%!d;S(wj^h$Hos>P}ette6X)mA0itY{+Rp@p=>D@{~NjY@*aMOzBB)NlpnPh0RG z6bQ<=t_Zq6kV}-nQX8E#zq)O;Fo$>L)?41vHt8-H7{>a&y|JGKKj!+xNR zE@+FxK8W3~>=*HUUOuD9g(uD3j8=ZLf3k)BVPZL3gEd~v}pYXKN zdnhFG!IbaqHhJoV%%o@N4%QCr_F?30x65M!BE@pp?ZM8^$n%;_ZX26WJ=|fVGv#9F zjXnH34xQ11OClV`39QB0Y!8SS>`-S8(ER4Uwjh(#zAL`5SG0^DCXOqW-8)%AS zT0e9~U%56qqbI}1@EvF#1hR{!>$T@kdq@2)kCToeH2J$O4xL>ddwH4gBTq3L4-8kw zNyo%8^4!@Eok{oZICLi5@HOqS!A&{1`jNZ8ayRnY%hROOAB~fd@TY~oXsKFL)`F1(PfH9R<&O}Q-)jS;opE}`Z%GdC7+0r%PMlK_UU2apZ6KwGfy@7sPxZ!WYjU4~e z>j!rIoBTA`_&Zy8JbC{Vht8y9_{Eds2Qm&AB!u>Oc710E-DwifjDJl!2KKkE zXY_4f*E8|$u)luB@VnSHuCdPxO#TXOboTV@_+Yz-;A)=|&kaTZ@i*wtZ0Ycv4qZI@ zyKVG1o1|Pk`Uh?FJYPT;kN!y;J+}zy;?e)rM*pHFk4yi$js6E>K=JtZ*ytOCzX3*% z_I2=h_IiYgD9|tPYm<&K02`fsykoZ;Bgg;rd@?yTQjj`9O?`I>-rqdVu(8h@O#L+V zKTY_JG!X>115?j`Y@;*$OuOKbh@)(DCOtb}yT2)p6%xPBcu2%Vfj8Uu-zxq_Plj&2 zjn1CF!C$h`nRP=GZuq?shtA}~i2H$!Zc5gioN49dm4#*A;(|GaWkq?*W>zj=h$|Wx zGNrJrqG(Z3KHip{vZSOazpz|+&%sNzg=N!<7nLYR8+vb^H**@ZaGRa9795#lhb0+&J{*js@+_ZC)G6bfIVL&&rO&_fgvEW|?2rWF=| zMn#%cR8BD6K_0(~zmK zsI+2s;kA`W*C>x(jv`gKj&f_!7L3jh7p$XTbYT_JEhsFo6gPZVq%$%45gB7aN?2T4 z+kCP_n_5z~Jg>r`2>i*A(VgMA{TIf_J^iNtt4#MO!n05E@Pl zFMD>%9figDd8O7u%@1q6+<^pjHg!$XH4AoB`x8naN4xhqQx9R_ifL5WKX zSBh~#tzl&$ZN8(R>jh}2)oF^FPmb71K&ravlqRBUj8(m?u3(rKD!tNBbwhDV6?9ZC zUG69|)m`LNGU@DwD{HuZ&mw17T$l^-rG-n8Sr!ngYnYhXkHj)z=qprX6jnyT=%r{^ zz;kJy28Bx%EWJ(vq+~66YvY6$^nkYknkj1{DXao{hOw^GtZBK;76pY5D2zgMF zu3M_1Lemh@wt>dlvN2f9Ovv*p(IB9qW{;tpL)5J3md+bRhBs-#XlEkzfko=tC!Gqw8B z3>444miyoB@n zm4(2c1uOup1SH+rfQtZ60c8B);{Ot4hA!RD1Hz5u>BMV+J8=H_O1z5Ehr_u@e^4hN z@eaY80G9&aAb1^M5%3zpa{;dbzCiE{fg=FVgFg@bGJYT4r&as`uLRy9coU%FFL)iG z6X7+2=Suhj!7~I;6FeC(8}x~ScVhy0GVm@yrq>Ec`I-e^FR%)5GW>G^aW*+=f%sfH)$Y#QRv7zDN9Bf{zfK_r;KZFQCdl zAnQZB;2Q+i0gi%yDIn|j67lx~o(0?^xC@Z!jS##qS@Z1#JQMz{fM}PKn#F&;z$(Bq z;GZku3&cM|U@9P{oJk`9PY3KnBXBriCm@zOk~#pDegT=E4T9GRTmp!t;-qXq{3ZFt zKNXPm$0axeng2e#Y)5{b0-FI-;NJ*H`PYko72qkrO9jscWPHEiE`ewv9H+v+8wcsB zpDsZ1Zv{k>NzH<<2c$d=f|ml4-x9(70#gB9@J|M$Jc;7pJw(gX1*rG~W+S{=@b!Rf z{~81@1yuY6_Xy-Y!6$*v1&A&n$pMJ2Dyi!zhvP?poq*)u3^)ULli&@27XhymdLTQnL0>>P>VwW&!U8B>#3m z@^2Nq5s>*=FF1~-bI&`eRPby-rso&jCC~wgCNHUbu)}dFU>6|yw*r!Xv*7Cm)&ZhP zOR54yQ<1a)5JQ2a3_zxz2FUoyfM}wU_#Q0r?m;3qAew|EzVA34aD({Q0kZwB5j+== z{1ynFCNLQgRX(W?m6Gij-`gbr4nWpNzHdvsQD6-qs&dj2K=R8Ke-9w@mm&BFKon(C zvf#ZiLh6h6=#d}azEON>ocOB)oCjDV{<(m&fiDm|1JDCJP4Hwu*1tr-yTOd$R#46hTo1P~^Wlnn?| zOY)0Fz;1@~0iqxd4gN4(aX#B<_*)-@vm9N2clcZ5QGl5{@!dcq-(kdrbH>2wpAx zIDVts067?+?E&3SgkP_OA1CRteWDvE^lbm=t`hlM1^*5F$gdPeNXL3gyatUL9o0m< zRl@%&INN_ZetU-DO@e=I^npf}Zan@OUWLj)cdyWQ2|ixrZx{L-CA<}tmTrykYeZ$F z>lFGbG|qH$@lXD|&yVgl$!~|?SBpKc6QL`T_?&Ohonq+GNYR}ucoP~ux^lre4x>vD z`8b}VE2MqEF9V$+oeTfOIS!8j!`Ld-vYJ{GhA>Fx>KIdO_ zyqAFTl!`u|5&BlaA7i7&aM8~lh(o*;g9W-X*~kFz7JQ!34+a@@_ZazH3U&Mf`ce0# ziaxs#PTVj0+X(w5-U&#@`yLc7<@X@UpLm_b|6cf&N_h_x`c$F6Lh$usAJZj%2hyeU zN&FhI*Uu%qQS7@#@Ls8p=ZJh9U(vOj_);H_7Ccw%eZJ85N&c1#-XZpIqTt<9KhKu< z4PyWQkZ_Kx=su9}Eu8%1GHtdd7> zaD{_IEV&>V_Lhy4ke}_Y0=dDrJg1;=QC{V;iku4E)DU07^1^FF6thBW*`bZN9BViP zvg}#K3X1THyDt+>6}2A~K@w5~6c*k(h#-mBVu%Qdxm6lL5o^8PP7rI0CxXUWz*e0> zT7U3OQMvr7<-x7`pwQjIR z1ccPj4T*@5s6B^>(8%rBh@gn=-G~sCBel&D;mxfJwToSzqxWcYiYf}1hbo38m<%EV zE&2;>XQ&-9+*cCfU@>snmbZpRmvM-bl}w5wW>~0>s6w=)ER|MmtXP>vZkTGJtl`{R z(wD!e9h?{n(#=Zz?DO96_zjN<4aW~RIws84;MlxT3?c#zFET%Rw>Of)QUAE@LEO;oX&fXGJ6_{MIqOlYXKSQ{KmV9bWfgvW}59K>j#OpF+flL?B> zI=dtj8oN<4p&_j*Yc;<1V;v!8VH=5{7sXnW4e#)UB1c!=kXeRy97Dt^zs#Aj_fSZr zeMx;Wl1DUd#xqn@s$ny}(T$o3u{CJMJF+n|zAEp!A)}Xf&dl^2@65}TxC)td;l;iw za}|D(Z>DdycSg=kZwuGZBmYR#znJcha*gzIoEd)uACw}6+UG)K1phLUpQ@U z&K&IG&b%n>H*3mVUq8MxGksIT97FrSVICsew99>&bEjqb!n71NOg6`N$vof8DVA_b z29d{(QAGNNsHlsZcsrDQkbo@_?x8QtTds@WS{L#P7FI08_5Y+{yC+`*kQ<(OMO2yn zOMd!FD2~0&A3WVR3#*0j{7@g{XR=qA>+AMds%U z%5(A;YFJjdH1u3v6nf|{`5kGPf6Ed^1k3*Jr{X>VT@#tW)nMK&j|xZd67?WIDS&EfZ2SITH_~TVDl%FJ z24tHpambJV)B%@KWa^HmgLe`4<*RG)t44G)y8a44#P|IImHPs`M4dP9SB(f(?!#?S z7Fz55`z~{_mA(U8Mc~Kca3i&ef$LQB$nK$6!ES3O*;g8C37S3!PslR^fr4<``@!y z!}|Y{y)wD~ReSy4$xm#1H73%(z3Td9zN5(2=DtleyrzE>F7U_YV7eWR^xx6u+r##! zwtCNCXZ?dTfqdT{d=-YC!C{+tpFKQ+b2kkP%zHan-4(3VjY7~r0u4cT3x^5HDpl)t z8e>_B(s)~73wyN?k-DYrxzX_2_!NFx?#B-j+zU?L<{#o$QJUM$xD?-mf3%Q$)P3uF zda`kf%zkBEtoqCQ_M|&O^+$7t%y#hv8a_>+8s_?WUAjW?oLW@0bA}FN{D^6T`q-EuqZ|hS$C=-^e93O8fvSz<9i(*mT-5R@EQrHwZcWkZ_@re8$%Zr-le?N8IPFZX%b_h zri+T-C_cGy!j;kx7B9XTcT?YRQT&^zbhvo>>yYqx`ZI&bc>3dhK3zQh?R z_M0Q&`q_?zs^o;^A%hdS2hTA$w+=hx{(33DsB^NU%fx@X&`CMQq+4d;C*>KF?oQBk z3O^~=m~_v8uInJ^c7U#1=%k!u^5gyb$#M_BlvhkT-mkwv=yJhZId4+(PY#weDX61;lJ0@ZV+QCP zU+8ny2coM0U82w(s62iNx-_9%sI?qZFIz!ZC3Lw5pxXnwri0)&40XOw=nhmKlR=mK zrOvO^&zSNRke|?nT8J3-ax3UMgxwSo_#3~CfuBQRH>N1#ifLtqyoFBE! z{Eh_iF8I?eg}#Y5;-9VryosCso`X2z%s*Wbo{5|B1nUfO(|?~X;WdgHHX;07f}bGt zW;}BX{1tx*zeD1O`csK-`p0aEZ~9XXS(QAnE4o<{KNs=nek=5*eS^MkSoey%8$}2p7|w} z#deml0)?SHNbeAs_qOn1VZ}|oK&Q4wn2;8ji_J?4@s$N8t2a^gigXCi!FzM1e323_ zBde_ii=4Jh8!-%PzFr#2Qz&vl;j%(}4VVeo;zxx@_9Fa6RU!S`c-Z{y8pkF>LQ`#%yw^iDG_WN`OH~Nrn=Age*-7I{_k8!*7I4RaX&;h?w zZTOgZR;Lj}Ng3*%1>?RHU!#rxT@lmYv0}^MRHBh-@c9MPa8D3BOCb? zRVtsO4sze73F#k$7+p|!4ay1eLi;wtTJa@sWk1IAAfc=ysdZwr8q_UcSj4zBylNCA z55deo;01H%az{*-Wg3YuM=O#GU+5}puSPgv@z}q|vzgnPLe;_$E6eDrEh>)lDBHRsn!9|m2)WJriNZy=4#7rg7!__B z_+}jv6>i#_cSiG-g9 zh_=VgxfIj+6tbaWy8j3W!*%~0kn`N@0a4WMIReK6qA7K!0m5L;V?m=yb9(^6YLH7H zfWo;s!1;x7d-0%f@!Kr8DaRXuTgds&T?Ec~n>C#44pw}z4X?N1To1C+Pqp#8)E0iE zE&LiA{*I0QQd>CCi1Z$?;lH%udT_5#JcTZR$XUcMXNA5$r$f~-8uk4-jwY=KZqy;= z@Cg@%@+^&25|NWpyHM$g98cT8+q6BQeZ5 zn?y8*lE(;^{f*by_|Y|M;BXcgV9^kj3@Tu?Mv_zaGX~Krz2J#1N6sTrCZ9Z-U zpzFR>`RW)W{Iy>>)K0I{w>jX`U32IN2tT7wag8BSL#VZ90mYC3B4Zp9@HMOF+A5bEqETp@hkAAN zaNq$C3^DY#-OQ1j5JdFa>gI@nnUayY#lY+gCF40jl#D%mQ>_P>e8IXJ+N^BGSMD0{ z(Q2r#1|P1jQIu-*6&_nDo`ss{>*&h7&E61Ct{&=~T}gsqb*t8g$Y?|jqHs9kmEeG{ zuC}@kAF)40apm56T{va*u8tmFuZU0mbwNoR)NV2(Yi(FR=w*{~k>WS>Y$fF-Ky=Qz zhOBZPlE9zejx4X&qN97KqC5PmAl7lk9E9ur_2YL!mKOGSk}F>$G~O7kaVi8Fe+uN@ z=F1FyPZrYEa#uFm@;4?dQYc{$xdf4h`h30Dh3ED1oN8=ZON;>r%{c*}hw9SV!~^5g zxKjP+`qn$w{$BYg#VOywwy+ohgeh+8P=i&xT7HzzG8R?^zk-4FL*IsBdz&kO=(Ng^ zwoXfZi4NS=m+1ZsvZonOQR&Rg>+lCIl+38-P-enn+w2l#!PzbtgOy{dzkqeL)$!w@HeL+?qp%tR^N&eVoy?AeJA8~ z<0(cdoQ(vZ<_3t8R}r*%T);tG-H2)r+a7)-i8#~IswBU)9IS#Ib;H+brlIYciL`JC z?XqN_UaEQR(4?;rjN(y z{3$U~Ax1aEz^FfR1`in%?8j3U^_xGPCw7nE+bM;odzKsE*>V#@>W7x2oW0G@08x53 za(|-ZQ65&ph=mEQH7q0`KiZCI7Z%oH$0HPL)`SSwcaZpa_FLFoGU4?w13c5eTCIt z0AYOY`4T=|!hZw^)wz!YM5Q_J8z79|3&{Al0y5rGK<@WWk?;%&PX@%;IY7O6aQNApAU$r z?hD0#qWE*)dj$O7L9>ev*UfuInC>HhsHtZiq3sMAo=_pkbJHML~V2z0m4Mw>@r*^ zk6b`R9pn+{5(uFDA*0@hMS0S(bKp9Osehjd&M>;85yo&+zfM8oKtnDMPgZ=I4WENR zYxs+{@DVnC3vA&*8-BQrp5Ew=DUHayQJ&%3s8 z4qB}I_S(X$ZMfTp`)vI0xACKW;V1C;^tSi;t~1w8* z;I^}E&z7iuudA@EtOUErOmtBWUc%-*$vL)n>Wz0?3Bt=tAp!MEf1xEOvs6@G9Kk)W zyf{6lq9ms@uZ%CIQHuNu+-sa;T@BLfP&qkV+$vqkr77FelTBQ%6`>q*mK7E+u2>S0 z9^X?tKv2<&Sdl7tg|X5JH>|ZX7OpJLTh7I;*_UO{h0vCF4%D3ngi`yHjUDBX^aDBaJ0ey(K^@zCo47%@$yP@4jWL$dyZ>;CjIiU8Tb_PMzzbR|L!c*1^p8SsJKtxa`zJTL(J>aoC3~7_a&> zl{orIM=tRBfUV~^9Q*VbCbTX_dj6w7=UFs$#vI^~oa|$A94upBGcy07bM0ub(&PVH zJhd#v4@Tz8p*n9fI%z#J51o(4FhmCTYACIT)oN56egnb0KbFSy@IDoX(6t$u#jspM zV{a}z1bkgR#o}3;fj0!Qqbab|Qr&^bOxetE4o@JX>W*&saYNEXkTPBhnTLF3^=@RH`Mv|Miq%%X zy- zIi=-=HuL_LOP9C2_X0J=+`E<%#heN%2*2FG&Etr9s?4E+*k)ArB(@Z*U{Ubcnm(JE zP(_b|jZyS{JwrjEOT@Bqebp9YKT3X6#71^jy&i2QX4gAh{wi=RD6p=&Nly~5AAt#D zFBXFoqwrob(}r~2O4Kn55q`S(ZiJUvAIQa|!P{H~A1#eVTI`nFw%Idr*PuV}p}%$y z)G75%&$J&@sho#j;S)U>4_C%jpfc%qVG!J!oQvJq z|JEl6fa+@h9LDYzB6Yj~fx1GgLV<<%8pT_xc!WLF?(wMn;eAiOpJ~>7+I;O4#LB_c zU{yNPRn@g9A@uH%-U{a)AtHC1MIEx-LHEpLXD6|K&cBp7!8@Z2US^bjHFnVnANyR^1 z$@e-4w0xQw7c#1nk*;3A2q!2;sa`VbnT%ML9D6B8{m|`blfBJdhNC|?9*?vFL~2us zn6?^zd`rnA^|f{ns%6L?xzM4Sdc719Zv58H13SGfp$rIO2BgvJ#UY07=0qkJsO$=C z!mKGA~cB@brcshDcBkM0hHBp(F zm59%#WT*sPGGTj3hQ0KmAbKGNS^=0tpv@n6NlU2ueCJ6uh-ccnG}9hf)@fD8Z(04j z4dg9sTVcvaV4Ui0{sf3(X?n#xhHA6ai+*}(6$=AWAQ(8PV^ayT_G<}oAp|zb5G&o#hl;H;az;<3lo9=CHwaB3I>}6=! zc3M%9Irb0rPP)TKMZ@cy*t!U2wdy`H-Cu7y4YQhzdJxgyt=UtfnPabM-iR5&t5`kM z@K$yuW}vB=5y)ysVy&Qr9BjsXjWYuC*3SrB)u40_53>`iy2FPs0Z~onI$9Rwf{kwS z*Y<$9ug3^i6_BoyGJIWiRIKE#o%MvM+xk#Z|iR_eM;F}8%W1ogfg=+wTPqD$8Tw1(F3 zQO;_7(*$l@^B+&attU3Q!KZB$Ed_SeNUr7xI^izRn}TST-n&(0Hr#tZqj>t7+SDYN zHU^r*aIn43)G6#Q^d!v?JfR-+IXkwifNC{A>_-4g;}Y`S{_Lriwp zPB2mQG?fE(rFG8H6qgQkWj#k}?+(8nwP^cPM^V;JG%+*-=?j<=7^u|REgaBhfgTFw zPec=qR&bG-kEKQEGg^lYh-`G|KAJi#vg?rTSx8YF`RkorGeLYu5 z9&iaJu6sU^wL@1EF{vH3-RMA=X4qqZbM4vmP!`S>8e=&56^#srjhuvl+%0xVfE7265jZi6XxW@x;WYn5M>3TLuP3usbw8w)emjNILO<~-D0ayJ#V9Q5Em+- zL3l>gR*i${1sEs7Hw}!-wJ*{FExUst|Mh&*GzB5(YlIm$MvKF}K!|g+5{H`r5#q=R zm`3HP58X8Dk+EDyp(~F!P4Y{zti#!%Iy=x{m1R_{x`QW>77DO?BcM(++-k3fpO44I zsQW51@7~Dvv4zWXPjfSPT40lsiE(ZZcYsR6#X3vpqmFx<8%&mZrr=3N_29Y^TsarO zOkB;#Il7rWVn+U9{`z@(uAo>eQI9}Oh>8S>U!2Qv6k+{~>9GN3>#GTfHJNV*B(Dl#6MVG~#{C98Iv6l%8i=Sl@j z7+62_T$TK9L&pJ8K z$@MA&*C+0vAr4-Z!Lz06#DKsRVbwPyx;cz-E+p_a^Gb9jt?4z6)>eu5Y(w)6foGo%jLpz>xUJL|)Sp<-7;Je17+D)tK| zcF*KcG*u)NE!DrNYXByp^>=j{nP`%h173=uY6a?tW-Eq#D@aM-vzzIN9Kpoeo>(lvKRETG)N4ao*-PO{^Xci*-%9OGRfl8LCLtcwUWr zcn16HpA88fShpSN)IQ7KhzhHc`ISzlUM15NN+wlhK})FmXs^qkuNXQ{}q~)>M1C;lY?vLA&s5t-P=d)x=@YV%p8MSjN>0BD%*9_W{em ztH;k!y%GavW+f&RJEE^ysuGtCh;ZYbLOx)lI~1N(3Uww3c^c}A*O{mcOK0-wU}l&v zQ>YC0yc7~lonfZ^yU;>*&IqD~te@AasKP?r2XYuiD@^it;M9_37(o;5x^1^i<5a?4 zMyVgl?*w_9vkkqRDpp6X&?IxT=10OlB#Z_lI$^dxTI*FKFsxz}9B)?AVd&D1P;>~- zfIG$O(EcnWY184!UXLG9Xvr}$1hbxz`ck_!TWv|0@zeiCdtL|GOnc75Lf+=JraqhY zocE?^T^vH=srX9cd5q$Fi{abzsnUnC)l~oCiNvtXRzH3>h663P8L|Vko{G7b@#=>@ ziAdh&pPE=b9C1aqo?Y5{u!9v`ojOA|QUTQy%?Pw*23610jaZJj&8SLG8Cm_%sVcqo zq4d=7L0Jk-;LmKagLknZRxJB%Lcbh{JpaaU^B-&z8d^Wbf{YBAQAF0(0Ih^sp$%06 zvpU#~ZhZv0^`TTD2RZ7!N?pu`M>5;sHs5wChL=sMW!|kSQ^BmQlQuc)b5v{|PY+)l z1~M?Ptnyn%kJX@WsbC~rK!$94n=4Jbs%F2c89`F&&bRG7H={Y#d6J`u$R|Xkz}=`o z?1}WV9%doGYMAvPcs{+_FcxB0h`7y@%4a?2jLbj0Ss_&xIr)}2vZD~*?6s_)LP>JY z(#!<(#;}<`s&Kh~ly|X3QiV1!L-S4chkcN_uQp?#^Hw!FPEf^C-KWJ;K?5XcCnRk1 zv9Co5;i5OZ^ATK`j7#ryDb3q4X|uDQS|>-Y;DoM|46qYn7lgT?C;`Yo{e~r}+tjIn zp0zr%>Z{gaek%&+!EAJ1oGEBx*stydqzw0|GThfwsLK#4R0~y@1!-CII~|en$*DHu zFj@8rhanCI<&k@iM!)FlME`os+Ka}%7ly4g_bnpIU5B_y5bA+tPQnF$qMhy3PN|j% zAsM(nQtMczq&9uPU>!XVY4R>AZrzC*fzSh-99)SmV0so^h(gRohUHL*U8a?Z=y64; z4hl6z^MX)Si596kp`lK7X29rCFT3?{EykA4eN?=_@i;cOKAmgof<^N zH}~~4>5!;!9`2?4xdu_;jS}7vC%(CN`iwa7a}#xd8jZ%tpX&%6UK=NVlY}pg6YgSt zfaBf;T(tZW&ar*0a1SO@baHP(RD6DClrA3sUJ0KWM?W4Z_?tAFDE{VqYAtcX8`v1a zNjXQwHy4QiO4~_Pcq7+0;o3Ba3a?S!8@>S?Cw|BAI%0C1@Gdq^aC{L7E{Z?TchCul z3a^oX6ipTt-X!6t#o^y|l8$(0obcq6b$Gn=(w*zz=gihM2 zm~=xD91hRhT0Uv7V$zKRU7yfNyA_j;cLmhEtNBU$6_bwhiaw!}b}S~{A3>L^Zt?y8 zduh*N(rpLb5}}iJEhgQ!pmV&h<&*X;CLQl%Tq1PR&c&pg0lFrkllCYkow|?l1D&q4 zdok&FA7hQsN&6R*j(5w|eW>{zC|xelbP1ibhcWqa*D7(B=64fRq+ATU=Y5Q&LMQEG zOn$tNF|k|oGyP$#dc^w}vv+GcX)j~)djfRrA8R^kH)GPh4Z507G@Z1cG3f?kNVlO^ z(@8rTla4P-HhiY(q&pKCg4*J9G$2)ZtzOF4j^`3{ZYC+%!Ze%$Zxm3vpE zy^Tq?4|L{!(F4iHZ!DVoN)IGoCg=`^-?D??chAY{d-v`NKtJAlxmfTN!C!P?qZIy+ z0itVnPXxro#XS-btI+P_(cfT5;{F~P!_db48X$%c?t1_)2CM)i-^qYy0S*Kl2l(|! z{oYLnAciFFKLBDQ(cLKiYXGq~>gM-6$^SAy@=pYu1=xmu7HzuwaX{=8yB`8XbsN4G z5N(ya5Rm*X7yop?(}Dl{1nvJ3AnBh2oB;nn3%*{$>jf_cL|M2!;y+&epTanR={^id zK0gOM2ly&LrhggW1%P7#DMu`BYy|1w4LA(o)bS;3S`;+)L08Rpa1)v9TBH(1e zV*sIg_wyL1kbWZ|`OFdAFZh{&vk{&QI2iDoAFBHg+&cj=gmte4r2a|)nU6()%NoB;ef!LI;hc(&l_fTsdKQvAOkuH*e3kaU{_{}mvb z4fm~pQvpjQyimeF#(-fw{Qm{WbTKj;{fjv|58BmEfo9|!1I8Aia8qncLFm0 zCcp{6pA!6DK+-J-B;7*sp8`nzI{~Th&tZ(`18xCiIs6GQ1MnU|#=9Mm{I3C=0(>E$ z5AX^==Ibax($T0%w*uo>;!6REX93OzJ^>Kb)_pP{nhp0V3`j^<4oJFlP#KAz4M_Y_ zRLV1fPX`=}tYiW*d=enTj|H3#d;nl3;BQcQm3;yt+uc<6MQlt%kxa}KS}&=Mx%fx#hnV63ivK6J^8!_NIusAdVyaq z{E8n+{T+aFfiD#QOU3`!Xe3DYUx1{W1vm}(VSp^hcTgEvpB@He zIhFxl2)GC^3(yZZ4{$Ro3H9&?z;xvMBNWP+z~2R=9^M3GI)4XbI=|4+%@q*(UoZZb z0A2$8Ouz)d&rztS0DcHay0-uspEnfD0KOiO>D~dzbgBTUw+RA=17-q03h>8(y-+ss zzX6h8DEpLhN(z)jq*_4n7K#MnN?ItSLLnC#yoDAbv|8mOX_K^x{fbEgDH2Ud zqPbinRY5z77!}4Ss8zuUk&hHQCL)8yVKh28ToEx>>X>m*<0t?3U2E-g&pG$pv<&lm z{=et>ou|!v*WPQdz4rI_-bU{*`loPo9_&#zgbz9kABvyk`zq)O)>&~wW@^$|_)Da| z!~w%D!#cw%!?J=s%CMdTOKZr-HJXg3d2Z|>c^%OKp4-_29tr_gR*h3~qHz4_nj_))L%I{^-8@8+2{ zn17QLgm0bc=jI76L;R4xMXh7^m_A0vc9?%|Ug}y{m?&XMh3H#C^ru5~3FQ0Tvybhk zpAFgn2>$!+{~VHcYKVU%#Q)0>|2wq&!c@N#L-el^uYUi|4cV83=&y$SJ3ge(BO&?= zA@>^*|9<}}L-g-M^3i<_@N*B1-~EXp{To9x$M1gr%R}}rg#7zjNS{xI?5_*ie;|~e z3q#>w6LNoe$o*$S^z0D-lOcKNO9jI7NXR|!-tvd{;*frvfAHJi7vir7(NBcZ?}Cs% z-w4_3Dd^zKsyGQ;QQIPCvUx_>d#X|{bXIe@V@~Pzb;6m%BcVJ(j4L==x3|bqVjSf) z!-htmA+PnrrOOqyt?u=6J>yO0_ANKGu5HQFd5W$g)D*u9?L1ZWcEN+aNze}% zUQezTjHk<{eYZFmE-Ef=!tbCvi{j7zM!&u*nKIx9t{5mxJ;^Y_yLQut!b=Dkc)1wi zDqiZ}nt$3}BQ0!N%PfoQC~>`I5wE6YknGTmOFAh)u3QMb-|JnQS*^vsvB7`Eg8za8 zOOR>?aMhRua)7)Fy zaZ`d>2hyNcY_6!OzWl1IR*)medHvS9d z+yxGD*C(CWBfqG&ygL&jm1=2k!yODht<=EtwY>$^=X$&B(-Fl(fBo7`?YLSY(krv` z`4#4lhy!C`mI`KecYmo9$2%UjwDHb|f(l%3h+wR-QIQ85P?NmEdm|{e@SfEC9)Ck@**xHE-+l*UDs{UpPO}Qva zmqtupCFK2Mp3VDppm&`2nVfnXpH^XB$^TjKJ);BNFI#Ex7B?4zn14kVFV-~Q>o*2O z9_U_;H72jhGYs8hE%2XdHUgvr4*y(Sl866i;6HT@ zC}=tGlcQ^t|6E7cDSd^bTa>PKbeGcG9KBQN9gZGQ`ZJE+ zt@J-RdPM0lNAFXb+tuaEDm~%oNu~eb=-A<+|Dl+Vl&?(bQb*Tmco#T2uJ#u=xPreU7eC`lF7nQ+m+RWh#Hz(JgBKFOIG_QuODRdOG@$h9j^3?w zwWCLru5*z_ff7sEn647tW(Pc{i($R6H|KR8frRN-N@m-~K z+|e~kpYQ0n`oF@_lbYYwIXb5HosO{I$QM`x8zIeJp* zW=FTEez!V0rtx*Jqr238)X`;X|0_oisQsZ>XV6dM>sUvZDa~~V`Qqxn!qF8&N6=sS#l!RXH#{YRtkGkT`=pYJr9`w{qk&ggQZ)inRNUY-K1-@0X6 zBOYMnpjM_xWxmm)S_2cN5ymZR+uCl}ibp`qZXu`Y8k<|TUD^1)_Qp0(@Iv3*tKW-- zwK^V+ai}R%pQM|&Y*^L2xlx4jb+XpRwl?9o*a&+M#fJWL8?xa9oJ6Al=EzDqMus&a*NJ@SpL!3B2S3tyF`|7wl=!iD^IM)E}6YScsI9gxT<-BrlI6~ z@jO_1Fv-ogc`C$#S-DhYh+x#*(v0%Uxxzr!4BEKpryfBYnZ|b3g(AgTLWP-Or=ZWv zygjE%IrlW3jMm1D8pRPhn0uM_jZibNNKnjvns5Z>wIX!%&pJm~a}9&}rI>pDHI4}F z{0lNgq`OFtj3Bxf2CXa^&xOADRz(W^KryS3MXn-Nfr=`aJmS==uG$)WrHV>O0d8Ka z^|LF@rl63><-t`0ssJ10S3F_W)TnueA(KE!5dF(2^u%N^m%DN(4k*fJ7iH$F1Zj;b z(I)g!HA5iYTeikgkuvJ@HCtT$b<*VC=r~)E z=Czxe+hm;~XeT!q;%p|RE_E(pwyAkt%u=Sg0m`9bg^10~ZJXC_t8a2v zP;py)J>F=Bj#|OSIr(15C#Ga}aoE@(-UgkK!K;9a*h}n&90%hB_gK4t@F#DvZf|Xj zSz~5ak~(pe!ENZ9#9P|eZECJ(Y{%4s2}29(Q#45X8}|~^xRB|^dET8fLEh3@m6xlQ6&mV!`@ z>?U>ovW`Ihr({_Oi8nN^U)#QETU=v7Of=n*s-&QhK^%UtP?D4a!Mu`p<{5d}Ai&5h zymlM&B%S+WnY34N^LK0W_2@1*kA1lmmKKXZ?U=(z%0_Ej%;zrNu(gpj$u`wfw6;!C z%t=7WKwr`_lBcrKD%0;yq-mk2rN8EA+l*d*d|P7&%CX#U-?nXQYokA(7Oe<83&{t0 zN>aep7M^jwBn8<+wMYAwwd*!Pp{;SzviZhFO@BOk-@awzmaR8zaXG`0uB30;fDX*I zrp+E7s$o3%?d398kFhwQE9Ei!Ibq0BW9sV8R6Z>5gKnQ>1n~k2Y zzPypstB1ngmL1;Mg!L5Av(^}<3@Z)G4d)q_7*5SrcN2!=hGT|&Pm*#64R;y#8Fm;p z8Llx*8CDvW8_qKL;&#=R=$#9Kf%COR~+;E;@iQ&{N^WSjXaLjPXaL{mSv$zgdHZyA1mbI}Do) z*BGV@D-FvH=NXn5PGPYYKW9xCjvI~{4jB#_@;(ys_ZfB=HW{ulOc_=hmK)A9EHRuy zr6T?tjvI~{a(S2bgNC~d`348gI}Do)*BGV@D-FvH=NXn5PHFu$Yr=5caLjPXaL{m< zVV_}#VUyt+!<1pAVY%Tv!xBRP>(yDDMm!pEQbPlLr{O4 z9z8s6vuW$v20UeqLD>e*(`~_wq3qj%QSEvRp|;tEHPYy0w}Hdw(1u)etfq8QD_sc_ zTKpa2g%$Dm;);dXVWQ6zSRl zOdM#R2oELl%UWE-ArIvtHjecI6KyddY;;1}Ee@IH|m%RniS5rEk*v z!hL&E{K5kF^Vnkn?wXi@oI?M3pA0<1Mf~n@2fgi0}kD?h#0uS_0hN=JBOWP=Bsz^|hJz(4n2f}o4_qPRahQdv~zW6N*X50h5AE5U=F{6)Gi#May zS@;OOkqz zoLDvU!kIuW!nMUPap9c6Rcx<^sXUA%hKyRhfhlmmp}&y3+@zU>wHBfpN&*-Qd@&W2 zUL4hXF0D0Bvt4j@dQ0m>8rOe!W^uoil{#FP2PWhXHrnP4i9=@-qcIi|<3}6d$&xz~ z_3G&yjOlJ1B3ZwgcV*Cw&m;Knqin&W+PhsHmYL0a!jYl_s1bG{Np_)p;}XEzBu*rv zIsDQn{Q`asV>O>y=ckDJ#r|HO+WPJ=o^3DfMLNQACz7w_+Q-D7(j#5{>E1_SeP{0vAleWw#V$Dx z)lU!|%Uy^+DXocl@f#v{5<=!Nd+KW`dL5!fm(^?HPL(fKXGwdqV}DkJGvC7x)V9b& z>CQnU$G~VcmWp9ITD{Y-PqDWN8A5&{nkB%vNKjtK&U6kMUEPH{S!w1nS$AibyETj_ zqgh~W>aP#(le4t?Jf$^*DwovN-ac@dj^ zC>4E$qQ0!6UMr%0=!xRkWwd%1XyhoA2Z_OSZwmTJ6lD7OlQ#oiK>=!y*R(CtC1LRV zHPZ)GdpUASAMWg%XA$k8=4XxU~x>PAF9M}dp-a*q`YPw;#3k`*3qK-Awppceo6g* z3Ne-(`i*myn+5+-t)m8bNMfP?_7!lRkAP54v+5)xQhw)289{;1^wK3>d#C^B6=u>e zssc6Q^pBp?UN}wlcR~TxKhsi@>8B*$V`1U^&YBHzd6*n%SFDk#W0 zY8j!tn8S2}7jre#y!#pLsO3B2)>C^%{L`pw1pMEM@6g>5j^Cp zBGM{CBffp7=iGNg6qypipn?_=F2;`@z4f&1NP zYxrTm8NUMi8df0q7AaqW{Z953@tvqpV87e!7ZkD2n*EXLvcUa;=Idksh2n|N(jOT; z`o6e%#%K8;l5Z1qj2oZjhe*ELz~|&yzKG;|&?nFGMe*gaR4k0SZlA&&oE)5G#pBp>gK+hu%~uOj*W zO8x$<@+^Nv^6|d7LF2Q07Re{~#TlRFw*tPO9i{j0>;t|Y)yAiRIB~O-=Q>UT-3^3y zbFTx&L8pM|JtWRFd!8Sm{b9h_Fn=8R`*h%4K%`mXCLr=);z}SkU@lDok;fC~1L@CV zAc|Td4y1o`ft2?L47@OgO8g8+^B)3f{w*N=xzo%)VdmR_$eW3)&Ai6UPXSWzqkz== zH*idO&jBg#G2oe?zhLH{GV={aUt{!AAd)9B-^^cU<}a40{2u}-{~JJ5QHjq3>CY#D z^ruxZaXygYdLxj0F*D~q6y$#zNdB(_=YbvoGM;WTdydd(zY_RH*k5SoXPfzJf#oni z5{NvM_#5go%KaUX?*3IVF$l!OMPirXbwH-i8-eHI;zjBwVcZZP?!Jw1vuolZ;5TX4uJQf}u}3-NcN^lH>kb3>&#w>mq+LIu2ER$Wb{TOXbc=AuV!cMYc72o4 zBW6#rbnn{TM~!yvjpA^K*>^V`oyc>MI8aOkIb zUy+|aDdZkyAYeZ;#Q!@u_Pd`5@gEYhKQ2Ub^y7E`qmcWnL;hVJ(r;mi{(Xr5rjY#B zkp0g?^e006$A;{`8nWkGbbkH!h3r2ca=$!8w}kk!A^MPz{7lH+yLp0}3*9zBcXr*k zlfG7N2+1Ea7qVeda|COwws}!Qq&XMNu!*f;m%cE|_WLV?+xPVbhURUJn`>>qk{k;6 zZ(ep+CImK^i$K}3>NZe`Npc&O`qs5?!z~K$l+Ee2?rMvmzhPscCG7c=<+@NPeq1FR zJGlwkmJ37Dgh?(Cfc=%p%a_%z+YTLc&9J2%cgV=@quR}lo8^89p19B7KVe>aHd~q- z7PaNCe#m7 zSW1589!y$ZzI>TxRDaghefOHj^BD`57_gj#@{rq#fAYdJ7cRo8vHKP-uB=?LsN&pW z>&a(VICfo6Zr-ZP$v^n>Z~l(&V>C!*9yu*?uQA#9xSQ@(BD`fdA;16|5t(KZ1T=tZRM~DYA@vS;fTJXWydpyZ|1~d3> zIDAF#mI}D%#@jIkWy^(+YY=3nE`R^RE8>rb<=cWU*5Jh-tju6_hH=DqmpHZS{0uD1 z``)Dq={v2w`;j%Lmsex@E&N{kalFwRhy^adcTR|Ahi!x;toA@pycUmCPOrx7+@sV! zz4GZ5={@*`r@2;+kIrO<#cI&91tso>WM8KS=I#9NkRGi6FQT~opYR{)&mK8syY!c5 zY!LGAI*rTx>ymhYJDC26e?0xl*;B;JB)3*%K;~T|8U5jfdlXoof5qId=s)a_;B!g@ za)WPPS?7VdZtVn7iAr&X7j~f6q>8X9T|98p-TCzE-20W@Lscc1V;y&I8gu;x!A2B7N+FR2nJnv_&H4%S%N3wwqE?vO?3i zXrStOf`vNxzMtrCt2Of$S^HU0#JvBg*6iP3#C@H$4#n)VX3udF zK9i;d|CX__!FQfQfqjkHUsS|?!0ZQ#*jHKmhB*U%1@bYbmv6?6SH@;^l+7qR>hKcA z35z-AM`GiD()l<`pMv=_@-c3A+B}=3LnPlO@a;MXzT3bzV0@GE)L#-3$2YX39KH;xZsA@TI(O`UK3^@T~^Y|B8IY`JV3sIgj&*(S1P7 zizT{&$l7zS29iGscGUuNcXjfl+8a$$paK~a_GTPOr|KVtp zM{oGweJk<9Pk%T>{}z^hd*(ww&HlTeUJ>HIAY@-3vTq5|+d};3hwSS@_VYvb%zrTQ zKHjVCr|%27|6PdwUWksmT++LQRR+z0nF||0bB;kKBe;3lH*=65qH;eO@6W`(h$zL6`H3~WmZVM^BYo4PeU2_ zI`*KAIP_bIfwPVKU=;7g2g4q#<^6_;Z~CZl6;MKrTr7o|#LZPJm#?fg)jc8N z!e^bQoqv}vtG*;w>vzn6I1}L)1B~-^W4I0U4>ZnSvT*S^%Btgh9*y^J9DlXr{R-*E z#k}#pqyMMl{j*W&@{6Nfp-G8xU-XqUc!lGACkJ)De5=qH`9G@;J);AS_iKE5(NPQJ zv5MonEZq5pFCg+j<9)j4H)5`KqS3S}Q_K%`yx+t{61b>D`u#T0&RtAf-BZem2OSpSA$!}4 z$k_nhRT{D_v$=x6{%MYT{NtxG4Ad|dsh$+Qus~)L0QcgT)2mVRV#iCzBeqXC$CUMH z6UUH;gEl@Zi!q*m+s-oF>y=9XGS$7mO8j&CGSe%^u~U2BiZr&aI34JZPC|Uur^CW0Yo36qVz zx$8V$yeeCzywteRV@x-MvWMT}EImfAjC=C&HJJT!j}({CM2T>9Z5>6dd&FbJhz7Brrr#iSQ%2wK9R1F_`o8UL&7Ygeur({M3d z5*7r5V+`MnmCKJ#cb3giUesN=Bk)F(_hu@iIjb<151hPkdhl6F6F!tFbAuWkPzRyD zMb-JACc5RVP+nw>foUjan1e1sf$Zata(3nr<)Qipm4ux`k=dOX3hY57c!dTX*#bdl z1*zGBg{Lx*GuV2DlRHq~RRsNq1fCR;V;CLfk~M{}$Fw!o+`KG9l)D;#^i)Xx5%Mhf zvR?7CQ!m^;sYgKA^;U%$yUB7ZR#tx+I}E|b7(?}0Ve>t{y1AGA1xP_MdgC|Pr%hQOR&dG-v zc8MO@?#`L4+=uX|8grbOxso~zx~-s-ejFF-ZyyP9uc60wR6?4rboCHu{O^b>$|L80 zLWmytgYyg)`yhWPmA;5fBlf!-A=n2VB=z%DjC&a|+xrmQ4l@?TYn&j_ZH>P4-?5+0 zQf?-W!A0cQF^Kf)ou~x*&>(d!OZVS|8e_C~6aK;lqD;0G%g+op*=IT`#FJD#>hAs) zaADssp{n#lTA$ua-rSd=p6-hlN9C#h+sP$v^BII|@W@kpa0FvFvNObgpki4@RKSE_ zDt)``4o*M5BGaqCWIwvh66ZIm=M&~}_-qH4AZmLBQfDV(u5U$u?=|o|eLMG-uSh?- zEYs_4IM2KO2wbP?A0j8>v>7F8n31Nz4et(@jPM@1uvkfD?w9@J;w5(e_TNrH$#gh7 zyjk4XUhS0wtaR!{J1Dyglt#TIuI%c*KOb!mNureYYO#`i>QHn99k$_TJVgVElv&Am zC{OoRK^F}OjYgB@;Kz=03QSku8+p{E_k38o?aBO&?a7P}Z+miZ{iDidE?3Q=X-Thq z1{rpYetElVYbjSb)OYq^ zxZ^m<@X#_MNGuP|*596sI)0_Q!I-Pcb6c0p1lzI|&-JLv1@75hmS$gSg-m-kA8Nlh zZxA2c2}Q0LWmY2|E-ka#Su0|6dV=X&=GCWCm)XMBlNt}w?+x--NV#@(u$_fNZpgxW zRA0=nh!!@9CL@i?SNaNk=uRtH*iU$Y&?aT8I>UiBU-;B&m05`kYpFC2P}>D$bBZWJ zwsi_7P!dr&vblPON!{J~4EkiV{chk`B_pqBtCjEcTYtX}@rA%4z0j)27$e_5{3c|% z{vp@RlS3WwNc46Yk+W`eY55+B#O^{>96>=o^BTi>pxI8*9_T-M<4^MoR2n6ebXTHO zUn-&Ds3K;POCU+wrBNA{YPx1t4q4_NipbgIkqjpXaPleTx($?`dklX@tM~GErg|?_ z9ZOf=CDJo1@8Zd#&%lPpnfATvsg`o+DhG;ChFi+Sf*Jl+f2f+oCBt14*YKyxv3!`7 z<1qd0gGp|=(`YRyEN7@&)(|DAA$G(4U|P?$K}|WOv^RGdYP~?IsJr$tcdoh0m%fvT z*9ycRbhZquD`sBqvr~3GoSSEASwOWQr%pK>6WFPxhoE99?ePcjqhL4xbJ7iW;=8BL zDDB0-Py+{_$7QgL1-Y`)TZ86oZ(u$zY|i}b;(J_DQInFbvE(Nl{7XNMe!&=`R4Y(C z1mIN;1^Hd;hyUTZl+enZOgYsSDdK(~ zhgekL!xNjL-62Bp=rmcN?GOzeql=EAF!M9+nRy z`R)bZK0BXb`7x4@>xzAU)OfLc8Oiro@a;4{%b$^aJjc;ArSdGFM)Gkld)(G4_W~<`cLL7@ehBzh;1=LQ zU>$HiFabobHgO6NeY?aQ!x_Lh=!eiAV0J6Z06Y_jV9n+H2Rc%TEbtWa1IvMIqS5FiZZ`9cz|%q3 z0M7uP1*H9NQSY1${4y|se;FX;CK`ZfCld>R=L3IrgzEEeKuql~{RR*dQHi^On5$oU zI}q6*(F~;C%gp?EqyK{X4|T-SUjWa6{R6;rL4O)Zy*~^@8YXT8a=p0)$ndQOE&}}; z;K{(JN^~826iEAffHdC>JPCLr@KoS)sE@fmeJ7CqbOI^24M=xMAVzSBbB#U($aHxc z^*rPM3?TLT8xp4+_)8$;>wX~3w*cP;tOhOt-iX8@y$VSBcp%fM6iENxgUBI$1(5WQ z;2G)f14&{|#AY1dwz3_jAXeR|Po*WU0QYTCQ@g{S#RyY^%q!S8Ykz+Qd8FNUk=eWUd$zfE{f&L#6?x|1Uh^*t3A^&d(g|{wbUmvpnZpi*0LiWdn>=PmVc+Z+&|9=Yc9~aX1&msA|htBVQ zUr65JA@|RP>|YAets!|ULhgSQqAw5eZw=YM5VF4}WY3!x{QB<-(c$wre+tR-Hlv5H zUB@l6?$KPHzLu-lb(4B+V@nfm!EIf;N#C`_dU({e@4CrhTZbM9sMgDd`OraaqnTYS z_eFa~vf?l27G$G@_cSEmG!zr+fo=0)P3`v8q9Jkb2FTG8d0mq?RI6I@h9WLH-O#wj z_l9ePCm|;dI9_snqd5sgfCaR%;W9h{>5iXVAuoNd#r3l_a<{YJ&hre0`NvN^r!YVH7>C<9kJw@rf{dFRA*h{Knx|PXme+d1$pr)JY-b;|mgR5?uHAs#pFr zK@SlAqKAYe43bAyx8NuZP6D}uMBYoPzF^9w!0r)HGT@#@d8IU8IVkOE7a|#j2X_X@ z%k+}VLfJH*xg>@xhlQ8|@h*JLJU$Or>R+K~H_i z?@<`$C!t#%%K^@2o#gniBBp1v;xxh8EH|B94q7)meFDGSiL2u5Rzq$Crf9A2_$dgXsxxXF!gF1cU>2l~}{Ubb*`mw#>$@1XuZa+)g4ayl^qEEMCkN zi-bsK5V?lHwVGJQR>zr)nm)_}US{^4w=w;>l4FN#_H<9oO|RTv+Orj+bNG)1ll|Qj zuPg0&U%=q?r9JNt7#vsH(;F~2zO?67pF!eZK$P};%5QWGs-n^!CVuXI{DHEQDP3Y@ zl>E0d;KPmH1qJIA~Sw^J`Pk3VxN)gnqrl zXVqOfv$PjEM?*oC^L(uJG@tFjui;(f>YwusOb8{1hCpah@@*usV(TTDTkpa8j;-g( zB4v+cGbTD0UzErfG+XcKWj(LHGfmxverJjARbk(Azk`V+gyo3tkr&g*6o;Xn*;o4E zX4>{2_7h>kzPkEj`%*I=efc@Kz)B6GvfNTy>n!^+Llw~TZ=wQM>R^bBeM(%^V}(1c+D$w>1KkLxze~vk zEHx#!;McGw#+>G37%8k|gx~6`+$Hc53($`uGRATJ*uIC^?mLNNG<}%Oub3?SLmE{8 zOl}4bPC|OkhpfymL0s-b%|FJaxatv=A$2s=Z^5D07oJ7*q|*2)i^74bW^e zz_=X7zNobPbt3v1$)S(KP68RI`f&;{p98%91k0l@?XCXrk?KfmV<{FTR4tg-0(Ejw zUa&rXoz%z7^cDfAj}d3<0tSe)^#KFK89P+YiB-R>%seBlewmeWAHW|?JgaM2Xc!MZ z!+8>t&Y&SyT*28CG~_bA*Q6nSL}s}da-z3D=4mk0#9;n&_2b7%nHWEXi6q8!(N|bM z`qBi2t}}~<7gPRR$j0AT?%nuf^?@0qw8U~3(b%nTLtj_${7z349u{8B=LpR>3P+aP zri$K`9ZcVR_2~Kw<^hV)%endLfp!-HOY!V<2mD|j^7lvFei!fFXLM?D_aJIRb_rMS z<6=6tLu-7xEdZ|1>!BBH4w5uow&Bk53vG2wm#J%|%xDBcfcdNd?Lh>btmN|W0CTsTx zzJKM|!yPbievKh}4F#g@yy|C4dyc0>Y(y!ru^p&VyLmeya;W+P8FnJamP`Aptgu4+ zQRC8H`O1b1m&CBeW$sQ9$}qFP%B*Qh%k}Wc?`9Kl)GUrzCwr0R3SNLODSQwidxx_k zS+YW0EEeN0LWJVwGLzG)#Ix{sYlHi}EPPS*C;J7i=9Bu9U4q;S6{>aAVQgfimb%Vw ztQ!Oafe6)NTHobsu`W1wwb=KMVBT2g@)N1`gR z=b_2a;wa=KP@(hoGcSZGKR$+415O! zBq3hJM;XEtNv78et)l&~t6gt63lTJ}9Xoois9!k1NDZeo6PZr@1B z&_@S|_{B;FStnT%s3uu0cztOvzHuH#Gqc(c`5@4a(N=X{vh)o zWN|WqW9{}yiM2FFP#oNT6cGS*t@g*bO1t@mvArVz||>%e97wMK$Xg%rVOf^=t_lcrnR-~8@O60vYlcskV*q(3I(54Q%i}skXlG9 z2WwE=aS_*=l&c<6d5M!y?Q@>gKB!NS-B|ijRJC)#T%+eZ#M!H>ueJV>`hwmZWc?nI z9xl&JpB@NpxRM|A;=!LDNS^9(spMZxdO*r6O%FKf&?J22>G8i^pa1`szPeuc+TR}f>!S$? zzqI&)@e>Nh%kJ#|!_rL@PvUoS=o~jpuuh3~z5`tj zuYXYC)%W=adAxXbbt;ur&%Qy=2Ji>HCk{1|LscQqa`m)Dt_UYqNQm^h`{%IVnjESQ z3pr7Q&Fs7CyAI!LP+gj%V-{*zZ(x?mgpI zU_TFQT8@ug8*tuRwl9nOZDR zD6p?H`}2#~514(i@ON3p-BZMUjTM|?;jc6MV&UIu_Qle7((H@rUxA5vey=YQe>KOd zeNp|)zNmf&upcq|V*Y36s{h5(kDGY;6-&PgvoEH9mDv~5zvTe-17^=PHGBp6C(e~6 zd@B_S>|4x!W|8>s;?xGd?6u`c~B4av_}uxe z>G&Q5U)JPJr{D9GXXm`8%P&XGf_}!gV48G08+=aQbm6@Qd?O}rx^VP>Z|orW?)B+s z?PX+o@GMKYomaDVGm`JG;Hxn{Yd<6T7GRFB($1lMuSmSS6C(427!Y7UfVgf($6LdHb?TN1g z>CXp&^k+4274Sr0J#Z!vc`NZ3^e-{&U-}{tLyg1(z}diEKxFF#H-?}%Czb=zoF(1_ zq+YXu2x{VPbTr^~;)6i(2S|TT2Qoe4K&HoS=onlD`klaYftLc8!{4_7F@#DS4P?B| zHuEe3jck$l29V*o6-d3e0})k;OM#591;Ew72N5XT?hJNAj5MS zkm30~B9Gzu0g!s%4W!;YcTM*<0_pxGL@xFIHjsLM1$YVc{xtAV&|84iyV=aEfN+<1 z4UqDGjzmcU`7YFDz+vD@;5UIQfCIqGfxC>(0M7&645S`>FN%6B0b&g>Q4XX&Zvws> z_%sp`eY3;^K=OYLNdAukMGo*nn6Cw*E>64)NWK+7@|_C20`!}JR|4k&DZdm*`5!w% z&mF!CcqZryU=8s1$Rzj@j{qs}J|N}Yhs31&wLsc00@D6eAnj)Z8$kaKiQ5F+3M4<@ zVOk743rM|B09FHM8~rO}0?K&?NICxmWPCIN-vB%o$awf868R$F4}s(#1(JUdxB>Jh zf$M=iz(!yzuo-v`kb1lkNO#8o>FzhkET@A09FXQbH%0RWNPO~7f~W#M31mEf7kDv{ z=VwUo1TF)v1yav*fs}Iw5dY@#yy_y*_X8IK*;ggsD&Wb$i-7L{o(4owO1y+feH-xm zz_%j`?g27ie#YpVfXt6K7+nvn1bvy&rvuLceWcL?2q#3(>N2b|tTK!n#tgFvKlwSY zLL4ycGORPKGK?F>46}$gac?+a*kxE}SY;SDj2UJTY2w~+z_81(&alcbZWuGn!m+qF z95C!MtTU`Kj2p%bvxqnRoHb%NVAy3?XINzzHw1_~p8uSO$e0J@c||vWvrI{;-`AME8_z#(^4$2H@2bgpNs%6l)d5Mj82wtKM~r5< zp*ngb!b2M@hxZCyZM+g=ug_s5B?TBq(@-R z?`QZ=+RZ<>ZL}z`H^dkcJm<|yVAXz|KNFN(r&(ErNx(cjz8;+ zt}=rb$OF6g&4YVCeRIhE;*fnmT>AO>+fOeExj!83ir@Zuq?4a63CW)d(d{AmPlV|I zK=}OfdPD9jkY0ZKw}k9_Lh@RWet!PDLiU%0?0Jv6pFa}{-|evU+y5;jkN2AU?YRrz zPhT3Mj|j!@ijcfpL*bhh3jc*6Ivt`bLh^qc3eOFp@O~}iUwMfC3nBjdL;mq?bbok9 zLiBN={KI!3{ro#Z{QnTre?ut#21E8&hva=HM1L-%?{Ojb9}oHesZjWT9^(INh@KaU zpKpfTpB=Kdd&k|QVq06b>!CH@?cKF4t<76-?vh7yc?fP<^M=N@ZOKg=aLR34)8^Xs z&0BEj(jDAgxvW->c|wvL+~q++zc4wOn?Ic=q+Nzx^bT~j@37OV@{ksff~uwGJl?>l#}=osja2{?u!F>IL;tnUd$P z!?ukL%lI~1(8@cM8EJQYC1#l()miA5Hai?&>i!y75)2iabi>BpfM$}y3vO{ z-7}C988mK|y0}&!hxBE}{6mj{nD@U7DKheW^xs!NiyRo&TIr%ot1n(<91?OlT<#^X z@2q*C0#kEgv%}@C8jflpw3x21-Hg-V7N2ZFNir2A3hmH&;0X&CHx;#Q?d#s#Siem! z1CTT2@Q&?ALnGe$Y-;2wbC@)@`3&++u)Ja^r2p8t=Hldvw_kCkFL~?x{iz;=p1^D=`~_5S|ATyx!4dqK$ntV zK;(hWp}YMUCD!?^z@!u9xexP3n6}G*3-D8h(6f&aLwbg(^w+8Q zYVe;Q<+=aV@iZE~!q3kA9Y)$X;H2Z@lh%-?4u{ zJu6$G&k3%~9J3;g7ap;j5U=E=SC6Gv?!`sjLwGr2H?~Ssd!BCFY1k*oTfx)49atB2 zN(?}`0h}li@FHp339Q-`}w4$H;qM-;+Jn0jl z)A-8k)00D3X)#}WAVmY4S=nc|@FLJ1B?xp#@1*LzOe8dT5-u{mk!*c|{lMXHuUGdo z#eK8q{t&p&fyxKoZOHU?a8ff~NuY6)vWv1UKdScW>Omycpi8QcpxQ7#7rH?U9rz@4 z5{V7MS3RhgeIp2iR{VD1H~x2&iE}4o7i5%)4G!%)zv7VL9q8iq>Y3%p5i{~`gqF*@ zVTaSeKL4MWaAU!N>N5V!d1iS@YR8@u8snu^OV(6=zw5o~K;@yr7?sKoQPd~iB7;7O zGqI!9eUzN(eBuG_UP$-zCU#s)PcZe`5u{5>EJ#driIy!Qz7vtrK7=-^s84`b>xnPn*YG#-2NCsj z2_xzhM7+d+YcBqR%1GQYN8!*ma{ma9m%pBlB)%&_dPIL>{*e1ytpmpU??8Np*5*>7iG4Loslhiv1xPj^xn! zVX=Sms;+ePZs@hUP_Lv4_?QUb5>`O3AqbH3qnXa#%*uEu7Ej^wHtLsQCxPvO4#x$5;4j~wmPb~0+3#}H8DK#; zEkkv8K7kB8SB(Y`=6^@WX}C8prgKPAC{z7}oyFL(w+r0gc?^l;ZQgZIOscI z@M@okkY`o+s01>=jy>=umO2#Vj+`iz9>cRU%TNyf*gj@ib1YT*byP8|W+b12dC$*h zq?U}8cB3`-y0B~DKDDEB{AHNAhg$xM-?5xL4ba^=iEPLnZ>iBesGrecV%)8s>^lU1 zv!&l&wBrwSN~5a2R-@fRO*azO3(}L+L8D<539>4z2KY z?^OE7D_q+t1qrEO97~=m{m}X17kb=>X%tWy6t^8YAy23KQF}K+O13|!o5d}9z;dw^ zPEs&l`d2^be~P8&l!IUj+*-ie+xkL`YB`P_=*-vnQ`>j0wB=yZ+qF(o?(rJOp68H+ zPX&|kTCJDHrHji9(EVqmnLp&`2?wtnSU>6Q25@g6)k6G)6^I;ue?L#+!2t|3OOuEP>D&Dl}vm(-pdH5{&K&E(m5|^S^PPK!tfuNFeFH;XFiKr%*76H8U4JWxr4;Xwq`n!r#qzW+)J1Hj8FE{=}kE%H1Zh+3x{Gq4k>^elv1bGnuo8fISS&YU58N&S)OL@@BKL;qZixnmDJ zhd)+v4S9#iTCRO8bkIm9Uh2WCAA^gJ0t27)t6;)=knt7Rb3KjUX$l4QlV;ETGx!SZ zck1*(>^Ze5u3ew;f~~c5b{RseRK$CgjEglN^PQ@e#MgfU80ufbn4+p*l^wme} zzM^x0CxAZ2XkKph2GE~3JO_x$fW+xQaSw!u#NQDAq(2YD6jOrx(M|*&YxoOH@SyQd z+y$h6yvLn|PXK9t2aw_Vn3=Z%-vs(BGcPxD?oUH&koZ0NjhMnpJOjj( zQDQfc?(YUtZWj=J2HC$x^9D1&5Euu|``=FjRsc^1a{mMQ<^bt_0$n@&O#C~r9Q(M& zfV6)INc%g0bhp{e*O~dVC`Sum{w?6?zz+k@fP236dMfCRKm;LC3q;Z^T?u47F9TBk z5+LQ50P!V$h4P4DLSh(r3h?7V%4q^3NfMU;sox1esE{}kI3LLS(oX|E2PFR&fk=YH zoj_!PrQDxH`g$Ps;CV9~0{)QizmO@Ie&axftd5`l76?DRIz)%>f&YET{xu=`Cp5i)}ExmIqhIhyNvPS8*1k4V6@4H=3 z&Q&wnP$Da1x^^YBtZuD(cTIJ%i{aTj!eZ$57VOQSYBd*C*XF&|<+GZ#ZEZJfZEf%_ z^!9F6=i*wSsZR-R52?BA;;R<2?k;t= zsx7+)u&m#>Mb$OdwQXA#)^6Kc+p@NGEf)U^?+&l!vU5Fl=F~TB^e>CItgQ#_q|2Il zNQ36$yi*@EpT&0FjSabFnMZQ5GDv9_)G zMqK&r%N_0(a2i?W@Ee(c{9-iMiZ#0260%*eeW2UHeX97DZ#5IyBCg)ltwcUcwQphc zA#Cq!Z`@K3?U@~9&rPd)d;o#gyrY)Eyn;x<%LyKXKh-w0uWiNRZD7?mzc9bWcBepS z@D6cb+DTSmo?zZU>BRc&!bS1?w{US~<&s4e=N7w1e9@xHinE1X?-6fn(AC>lyKY;y zM5~H8>M4GXJ{-UKAKef64tCvk*;|yK^60h#qpZ_eA-%$NTPMejGaAqd@PDSRXLO)- z+clZgRvfUFiN_!U5pbme; z54|T@W)O50htV9E_u`yN?%IRrzli+k23tga9KVJ?N$34@Hk30W*}ajlx>+XXF+N$1 z^zbf%(G>OFXXEbbvN=;K-(3k+t0-F5-QC6A7ST*!Ot11q_i^ML3@j|lB^8hooI{+U zw-<{rysyrl8Tco_kAb6)UuOGW&3o^nE9YD^Wqp_SVctceOG5-DigHJeDMXI|9hdo61)Si3UslX7mPk-0eN@$Xn9&40xvf zK5=BbFoxh{2v@!iUYn715z9#|s8(U!C$~}Fm+O)o@AJP) z++|jG!T;W?;6P>O*FYsExxXDALJ4;pxoHUlU9XX}Ia>6$6`b5C9GUmb8Z+e)a4D0r zz&Ij4<!n`xO(Y0$P}|oM~&y5z83y>$f;g9;%tHA53_a}o`MDMjE^n1hdijbx_KO? zxfK5BY6Vs)GB=_Y0`7Q}wGgu!mM5~Q^!?m?#f6W|?cO%5yqudU2mkdCyhdf(Q4Xcq z*1G^0)mFgann%e8x zFm-dE*0947I5J)2Ku*r4>hZ7(`XUdre7?L7H&WyM_rLpB&b|VRVa|e}=KTcv49THi zfsiP5eHzaB$+Pjd=DR}TY^yrEMx4DEc4kdH)$?wBlYN0AJhFe=Ir;EC;2&nz6)xto zp0i?)ldyK^C#SjW)tiOh1pyFjnEAR(l)-2;9v|5tdOtOvZu7)atd}hdRI_G zLo9=yS3P0PHFG|c*1iI>UcWSJ`^1=6LbGgDiX-`1A@U`U3L|5H?uR&Q3Jr%`MZ|_X z{oUceAzME%6LwBx*X_)gt4**S<}d}taV8QtIrLe_?;`#N+A?`i(>_d}xRwF$_9Uf4 zn%Buv3mH`(Bya-GfdN_}yB_<=zrXyl)~@1rH)ZwD>BFK~a%d2Q$TO!}j%!ehM%)MQ zOFtbP%I%npHd)M_cz6+{4bP(du&&9{&+SQe{d`8U^xJ#fUDkp8sp+i)$rO@$0v(Dh zB(Y;LZa5;SJWMB1+@*krXj5bdTcCtokG=}ke3--hU@7a5!$_NG%V|t+?Tj1`XVUV~ ztrzcV_jjq7P@8vmpaJh;7aIwN(o%)6RA+NZF|du*3%{oc$~L%taz*BnDwe%;^@E;J zZL+_tLbI&W(V*5ylP|ZOPHJ;s0;#+jBiP*Md(5AL)$kU2-9P7U49=26Tu>5Ua_q9C zbf30qI**$|`>n&t(U%NAHGC%uw~WHZ(aLCe+(qjkGm%rP)_Iphi5K)7eLbRJ|~FjEHc6+%J=?&*cY~szVgM? z$9CN(RU4Z<>4Km7UYhqlTNR6{ce}i|k0)=RinQn%m#6F2b>=9%ev5OiY=M=ON-5r%E#O!{e3}8w{hUFUjtc)V! zW;J+S-GB(5rTJMm>%B#z!YrTyL0h!R%&DY$7?h!)j^;zru)s2_GSien4wsakhSNHzM|E@e&)-3Pi z#ML;eEN+sunPI42g;K?4g>%fP;QTg~utA}rO*Uv##$uD7m-b1E!)6>d{@C*BD;HO2 zHX`l2_gA>`<1aPYY3uIgk{7~tw@mzuvxMh!vXwffv&>e9D%;O$)}540g?|2M6$drQ zs?xN3Ls=C0W!B#A*v~cplwDDuiJ=stvUrGRLoj)=M&R}ufEBOa6n>BPF2i3+PL1|f zx}V(-(GCqn1uV2%&IJdzeDhz3;^ffTt~W6%M{Fn~*Mk98D$^^Tb$3)*6Xlb@CKj#h z*F^$%)QU2>a&afVrZV?aNhc*!Q z*5AP7?7yGK>zsx3+a;ays=uL7^`A&a&?w4uREZ+84Zc4v!X6UnUtErv+TrWqv2vt) z%W2*H5TP*blA3n^jcKvuP@Qv?+azkrVL&LwJcJ~qgiJ40!*=3S|Lye9i;r6|7H6V} zZ~cqE0D;2|o;(S*<)KVRxd}rIP=+mYvZL^UHW<-E5Dmzd2+QBF%?)KhP%@KLdJZwXwMYC|Z$F(b)Z!#gPE zt53B5jVh#la@vz^jwtKeY!BIi>fDF0`dxn5x$KsOIaK~ucy%zI(qoe$Rga&` ztSV;R}Ym&j=?bFd$I1l7LGl z7!kX<_^VMW{Y#GPvl@83QYa0()`%Y$HW}A*_V^j&K@%#Ic`e8g!+&()kof?c6_m8I z=ci?IicyR*)lwokmcQ$@K|%LJ9nObenv*11@1)ll|G^7PWjQ~j3^GzQU#%QZul%bv z!d2Hk=Ei$2KaE2~KJigZvKBTeIc_BRePNP30OhL6bdue&y2i?A^?r)t+iL9M$V#D2 zC$8Sh-gmRgfE8B?ZJ;8(Z+G}9&4rNss&X|Q==%LJ;uf7XSK2_g+MY*B@nkOpR8*q@wWboQ$aEVJxY!xcX^^;a>H1 z3SpRsSLwuxRSWA0d4^hNn5(C{D-ZM5j;BUrlC7>$$6!3Pv^UQ<)6X~)JUNc?RpKFj z#{6nDB%%}ITSJlVus3@;7fgf&7`gkG)r3ZnAtNC~o|=0;}9*VpbI2c|ocGRCZk z3^s`RXaKb}3$Im$ysW@ZgO67Czz4MdojU`KKUb<;qrnr5ShPp#O9bV5QRq?B2Zdq{ z_L29BkDY@yrT$P0M7nA^BUI$X`Yw38tI%5+QTETd2l+BN@OG##Bm+vNqo_y0ILaaLFbKS`yo;whAkt`7I zcARnfG?tr9z1+12JkxLYZD=&OJ|4D8K>0qzs+9kqP{)j21i-Y?iQh+Itkcqc=p}X_ zxpWG43g$%?qHh&Rke*qIES0Q*)WN8RjNJ_#7IcD_Dde>;`n$di3sIUX?qZ8u%i&1d z7=NUE87ZC|;zJ67NCB^x5&Fc&ix%wbi0IVuh6C5B<8O581|Y-h)CJlntnadYw-pN+ zW`7jhGgSqYDGtiV(aW>BK}@UL^W*+b4ESTYG5+B%)iK}9v6Y9);})vFlE>DDF)~JD z#+z5%6$cogcmGLGm`NIyR{su3fO<%7XF<8jtk#MPrdY>VV*MeD7o99%XH@26Fkug$ z*``*a1Z9Ou^fr~$#AdzSen;j$uPyiL8*%Hee{4Ql<1f?c8e0noeX;upIw#Q-yRkku zqiKiMH*k*!CmeLX{QtcCS2dp#I>Cso$MsBC`Ivw3F(LzBl~FG$7T9xAkl)V~3hc{J zK=^${p}>B`>^Bv$uRzh_w|165f%}2kV$L&l{0i(x%zi-;`$@Aut%!Xb9d3TVRVa{O zhT#f7g97`wS#+pPf&BnS2Kc(w#}X8(3oqrg26$MI`aD6nrad+CKo#82I^>abY; z=`#Cb`DeG;7mJ?}vo97ulLzp>OvYPs_dgXa2w#`kbA%pcKVtT$7O|f+dl{=o$j@RC zjbE|&khN^!e7Sr0$;KGRblqU>YuFHUpiC76v(fz zfIlVHh4Ej;{WSQlC{ljv=BvHj@g5PsEhnk{WkuYNSj1eY^pG&Spf&uds|) zEPqy+{Z%TaK>ol1?0IOJU$OiVH~V7gYuUf(`SX$=pf`li+9&k3qR*eljqgQOCz6kC z%!Kh-dlkud8~6tHslS$QBKaN!U-?tYXYE%c-}B&WF+OX@BKeL&><|4|~dE|TwF@b$^`%*!uZev0IK8hkCrXYF1jAG=dyKhf}Z zA&%sWNZ$o08}Xki-*n;NJ8$L2XYFC6zdSp-^WRmTwTqE_cYtrq_^f@5f67_s*pr;BI4^EPCB3#JJN-+4P2d3@*X zVB|gTlXvqp{vL%se!0CjIbD9{J8yC0o34K5J8y%=XYG4r{PCT)eJ{K$pSAOmeD{K{ z&)%D~_CAu2@4W4{_aUv_kL2S!Z@cW>M{EBh`S{M;$bQw&`T>!AE5PU8=d=DmB;Pjh zWhYhMbmiy{@VWQztbY(GZ!h>_|E2P#X@pB`I+^QOjEET6s&{R-?qOdJc` z2>dY$I{qad#-9e@w}BggH<gb&!hXBfplLF>;|1O^QC59V)Wlm zQNI5Gt^nU7z?*;rK+3t@>|21BfPNQnJ@8y$3V0fjd?y0w->;Dnt3W>qWcW@7V(6GC z0b&U{@#M++F4+fwCxEU89uNHLNqR5L$AOrSN~{4c1)c=F0QiUbu~;WC2Rsz`B=8X6 zeL!^06Wf6^fGdEjffoR&*I7XD%`F3Bwm$LGxV(#(*axKfqrfX*ekbre;4Q!^c-;;> z4D`E!?*JYHq`bp{boVU!^9<*1U;}UvxB>WiU=#2r;4oI0^PlY3{5%*B>g?$ z63_#{YT$c;9l!-Z=953aQRDIFK<1Bs12Vr111o{MfXjg&1yWuYkn-D&ekX7p=rhcG zzM204nfFqd?+4P|bHM9B{|k_E2Z5A(r`dlPcn#<^K+0cf<|hFuXP(h46qNHE5|{bu zV?bn$#0|jNz;^-}&Qs0)a3J&1Z;%NX-;V%q0^R|nKOX~9zxNn@h0&!z#{YjJ@!ya1 z$^hqqz8=W@Rtsc)s|KC{d@n3n4=e+21RihnOBlD3?gt`^CT;*C>Jup-{v{UT5A)-X z@rU+%fVAHY#E>}g55QxA8-et<21tKPfir+V1Jgp_SAmOw*8#5w@_or0fK|Zv04spo zfir>4z-J+JGw^;O>z_{pssA=0^_>rVEwB`L4De?lUIQEkQjaeJsYe>f@LvFAe4Yhl zd>#vAKHUSy)Uy^y{}u!3-(28o;88&4gF}FH_aZ#01pO3{_KyK6cL+%Pe*nG<^m^b* zU=qmuajw~)0i?W>jOKfkfZafr&zpb@_nUyshmRqWM1LUVw*hJXb~8WU%wG>={Wk;1 z`tR8}`o1CW>1O`@BoHDK9|VFW(FkO`UkKa;oC9RI4+YYn-yfy^>;c{k^Q}PqOI&4m zuHgxW97xgr7lxyT_ZZ#^gy=+@A-6}6KF{pu0-3JAJwn6Fy$sZ2$mp*cT?*U`zMsz4 z{Kj`DH-hc}z74nucoEX25qKHs_W&v9G$6c4%m6|};@?U%efoh+uXh8l1y%sx4gB@t z`i|qbfv14}C=gB)Z9uRjl0f`RRN~K8`1e-eTRwzcI7T0`ECKyJ@5TuIGfdc?gd7lW%SWN z=C4`64Zulwel_rM;90}#F96$tBf#^4-vM5Pa1Q|S zC2j#y&If^%QwQ7zx(xV1;ICo$0U-PT=64$#|yUBKgj_?MW1(DlIo1fB~V zG5Rw=y59+;`+6YtL7g5;LLU@Yeu+B7C*;hkGK?F>3>m+)|Nppq_rN-fYHxU#OHGxM zfL7|IuN!EwMK+{Bp-{mc=!O)U5-#PYn1nQK0%;O*p%JX4CXs{?s0!y4MUD3!4{AJu zZeu9{E6wo*35v&hImh@~CHq*V=ZG2*?DzYvwdT3)XE&+(*EenUde+REHEY&fo|$=O z){Gh)GT3FX+F;sX(qO{i1oR~F4GtOXGFWXeZ7^vtVQ>O^k@yCwN8()usXyXrgGqx4 zgA>TS#5Xu(u*+bz!L-4o!GysHM3(plhYWTZtTvc7m^7F$H~}T&arUUeA%k58s|}_N zCJh2eyhjn4bBZ)Q;GRR{k~s$YeY%UGXX5U=NH^LQarYhM+bBok?z_irM(@6J{K#BlHPrX;8AYk?z=-V^h$gJog>}d7Tt*HWVlyi^!`*k9dklBqB~Ckt?W|KCV{UyS7U z6zD%l|D{O&c~5LGoW~u5_!m*1gZMcS`pF3WzeeP_Fe1+{BI(~0(FfNkg6VBQdkx~- zBK)6@@avC+-xx{%S=8SkKfcF<_>qzHd4G2>9MhW+{?SPMx(NNEh&;s+{OL&f^hV;} z5s|k$lAq29zwHryy)lBXh|qs2lHQs~{=Xlgr{$TTK3<6EX+&O(bwlyL6-n>d z2>p@>eS1XSsR({d1YZ#0hcRg={ql%@Y40_dzi&nGSrPn-2>-()`QH$sSA%(S-CwI1 z8oU*^QLcwMN!qxpyfkxNmGf}7q2V6B8^z$Hc+}R{!8RXmFufJ`d-8s?Jce?~om_l3 zgBwn1+AkoC#N8OU{Z#Kpl{*N$4?%d2% zyc{A1khbB*4w%lYQgZKB z)_~mZQq}-5L&KydgQaCf(OM@4I;HfS^2LW~2Q-V4fNK5wTX7Q~bK4s9@dYwp-$O50 ztZCd}A#JchD)p6xq1g*u0oYIjGP@8E>A3Q^>U}MBRg3^_U2z3!Ka8oiwl)K$u&_hv zs(}}IsjI^4V7(Jp-`0Vac0qaTD)}QJ$rljwF_As`K(JSs+B~TbKc3uL7$Bx0OOGi; zv&$Z<+BVkKSW@&=`<>3$vVkmbY-y~6Z^OnqA@>5>Yns-n&oRlh)iy1O#lPz~~%q|tSlinC>*%hO*>JuZ3cgbr|BG1z$;hEy~ z?~PUKxK~|u#i|R|UL|&UBVp+5%;y4LIf{!nt7>==ZO}gI`kID<7s4_}!4AbPhV{Lv z(|~6H)mO>Jc2qPpAY35pYJphB&DTN!neqMoH?`XL4MbKCuM8q68;tK| zFA((*o~S$i9kN>MI~wuSd7rX5-4)f?2eF6wv$1m&<4)=8WMNxQ+J8=+LE9 z#}+rfkIgh1C~rm>*{)i%YGo))suo|HUSL>rrQsXSp-cD#NGLzX#)o={_QS9s7qk~?_;>sp?{2r<;6=M1*&OC#UqQ9A*XFW}%v|05Fs{rCSI zzq@<69fT?2lrcjG9-+5ou6GR2I95%7BN;3(J>bIZxRX^aNoJ6twDxrn;9RlbH#Gj49AVcWEqkj z#nCewAccKdXZ#FNnDjWZGc5chWxr%4guJ2llk^`_u0r`S4>7}=_+zxr0@djLo%-~Yr=IqcPojS5tOa+G}F6EY2p z;5U)mXrajMq@@`>hc0v(rDMr^io_99x!19Wp9h@EMwoHogkX4%dz^y`NK*l!b5Nd$ z(7D;R>fvW19Pa|U9M#h=_*(dnunbV}ue^l{;Fpb%0{FT`9x05T^+LsS=i*rZ#m)gV zL<0wxgGjrnfz4A+3Fu}WB8F%xreNu|d-GJHFY|n{lWYoh9QPOB|9D@;^LJ&Q-;T4s z-$GxJn*)Y^bg@X_oil@-)>2pAe1B*mF-9|TNX&D+&;}vIgvO`#q9*4duyWkqPWbK7IPM|8M=lnwLz!3ao&a}chURVZ=y1u zfsa-K*9rfd=i{I2p9?>)mlkExdZFA_h}%$clu}qo#R!pVrFkx|(u@hc7>KUS@9N1J zmBzQU=qe4Z26$b)@^Dh2$xi8M?l}Ey**DG{1iJiC6*A*o;I$oOXv5nS+(!W4K7(Bf z<*=_j&ZN>5&jt@Y?^=#X=#dtYk0=WpAf%dzI&c=5hraRpB@nOkcw1U=FB==;LA6B* z^l+}ZuMSaOi1gVIuR9fDjz|+W`Ok{BG#mBL{k4Nt$l)0~9AiX>DAOgYrL2~Ht zeUD3cV33crO~!tYfdd^6N<1?XkLpS5{?tv|EPi{)9X85rav zV@0%Z7xOVVx9pA70uP0%7PdpdP;K`_QVQggnp;n^!vhshZTV#)iSl|01tFE&?{IL< zeMEt@bR~=j2Kh(@UZgBN1xin#?Hf&J?J%0pc8MYaa5j=-sYi75F>o_42wNnyn?V~D zAngmlM+(4KO|S%=0A8XxX2naLWTT$99&^7F!{LZ5_c~duT6b$q?F7!7g?d%o+YCP& zxxsSjU_GMne7^NHdYwFKI{h&Qtp@0SQc{L=UEtdV9+46(V={wt@4&{xvh4L<3HDRK zA`wAshjfKn*smC%t#6OeY#txzc*;_ehKwOP5APRDj~gA!vNw6@-HIpZ3AItI#XF%x zCIhZe8ovGdq;~z)j7p(8b^me}>r&535l7Mn*|_kLVvS_m2J?N`KU0?FX(ge|y@2Ra zE;(f+gU7B|X?9u0MH)Nl?pL-iI7TAq5fZ?$U9@Js6G{^H1A}~I&8kwyaaFs|%TK^$ zgmgz68EJ5C7L($#Y`>SExA|hYeqjreku2`c+y^?g(?wl?BBFGiTCk_U4<*tUDv<$H zqZOGw+Vdb(Rg*i1v>Gib(TuE@b97~5uU$8y(wvAKc*%^HuaH{fO_f-8v_!xF9IzZA zjE1!+JY3uOK;}Msmv7m{S5m|-IA3Bm{>IC!Bw**JgyYBl4j8z}Ou?2)gvv8L<=MsI zcuB{bW(!fpf$fFe8P*3=LZFR308clme#1>!xzYkNy<9LB)VXjGE zJ5ZdA^w6J;qd%LJSdq#s{0Eux;M{MQkpKUB{AKE(R+7JoAeB`ni1z9i_7m#w)*jqc z;9l$CwEw}NMc;jr-a1Y1Qc3SsmtJ}8<}u;*82S##v#bK)czq39c6A`Xi*=4U6Vidq zE)+?@@mJE74~Oe&^;V^I#fce4ZZ#Ov=8nziOFemv$lk3OS8kr%`9Y@6i<8_S({*wv z0q{a7gyTF#%n*Au;BT}uFZBx(Q*>*zDny$X2eG@1`NY!Evi`@TBdV1cbkgAZ#7qzfPSID)Gb7=#EML4}JnRZ>048Ycz2rwf717a!(01r5 z2xRR-2Cc~IBrLP&$W@mP{N9|S$&p(8paG0vBvF?A4mgR-xu3$@8YU|mmOJ`04@uBK z#Y60B&u2V%4|MEux#XyiscIAS-Vh+yz8Rj@;*&n;?QBajSyf9Pk&yThK{p0$-mbm(Xq5LQWv9hL~hvNIML{hMi#D5=dLhGz6U)9w>E{Z#&4gJF@pE4`~8I z;8(^n1VLD?;8ED^!Rn-$=Zl}Ajx(w?6RgO>s4fZ!f--o!^4v?AjTUY+wT_W1}b*2C5j&5?GGa%i8qB; zGlJ2kzX?o7`YGw)+{fmyzMP6TkEEZw2j13PpOWVKRIXc^>(BG1%{oZL6(o!Ji9wXS z0I^NKs4`l=6~1mA zaSl8}MTHAjv@=BQVNrbul?Q3;2^1BSWSLu$*<}mvmxBzlv!+1`EU2xrTtK0q53KW` zafzYBd(gijiY)czK8T3oJ7~TLONhzZ97i~)Tu?zjiB6->Y#b7P9kob!c6cCh2 zLC_D(rl22>2&yZt1;=M4X#W`3{6ojr``z~gE+(N=v@WBujfL!Yk40+b=a~(>5d(KG z@NKZibb%l=44Z^VGnRg-Mq{D3cV8#8cEDpTz9DFh(Hg?#LzSg_Gc+73dzJvNPcxHf z=x7cUuN?1R`$~=r>UfJtp*@!?Lx8n2PqV@G#!&lri)l#LYx&TD^aca6nh71KgaZ{1 zvt|Cq)4>j{>RcXmFM;lna~jby5tH){-04YI5ql(ZpP-%_Pf8QQui3RDHn3`+tW zTC27HQFpCj_vUOwIb7ehaW@<>GWgx%Vs2y z@O&Oz9{*&K_!kUM&(ZK9O(!q@M6rhd9|d{g+*3feP(faJsfE{QNM88RF&eRu{@r=P zB?b6ba|jGqDBPWw<2wj0FZ~ibKlw}n`6jSTO;<4ge80mL%)f;f7pQ+}_B3#73Z%c4 zy&Bx73&rO+53Z1W)fQezzO5Gi7iE*DpRI4zfI{Wx68>|6_zBKK;hrdvzwx95C(;V? z(l0q)16C9Wue9(&`ERlCLixAiEog^s&rk50g|q$z9bmj2x@xmOX8lYoT_f^P{&VGL z^*xr3OFqL!XZ=nr9s7j7|5Sd~|HRVm1zok-?XrF-mhLEMf4kA$jyU3C@++^^Uue44 zFU9hE5BO~}I_sZe>3Tr7bwc?ajP4=O^_d+j>#t(@JqNnPr1G*oY!PsO<9qrIv zI|I8@v_n@pjom5ck9O!BKkF}J)1@7{(*ITY4pv`ihpzJvN@x9NEI-`M-cn=WBpW=N!OgfJ*?+ z0Gwy|%WuH~1MvR>#E>kt8}MkrF9Tvale!J?I>4&{sow>Flv z`Y$#A;{eZv|7!p#_n+US`162Q0{;=<*?|3ka{<=^t^h0tWImPxG9Sf&CrZwG7u#QQk)Za~UGJ5NmK9e@`AKLT(y z;1tGhYXQdrQG}_707?I8K+?Y%@H*fxVjyu1;J*V>4%(q09qm1lt_P5EQ~@%73jx!B zuLop)Ucoq&`S~Rvl&2GLEno)loq#F8Qvs)rRl7bv1Vj@_-2r$l z;AIA91D*hU@|Z;8B)|zk?41^SPsG0s{2hS2X!r)eX243oIzY;C9bg^sO28`sGv-hG zPwxf(M!rNdjO9Byb=&DbsFGGz}EvZA4PzSmz!($fdH?E|EB>-cQ+vEwg8guYQR~* z-)jEHnEyUB9@fWkz!Lx;0$c>x3V1%?y8$l)TmwkC&IF`fzd>W04fr%5{l5-K|9=9! z6mS#ZC4kohQjW_2DaShiN%wld3cx?2@)6$w$a1(Fko;QB|0+PnUj@kcC!7BQz>DDj z5-RQ0fWHAO2Yd+daKN{)GUNX%C@j|d9|Nud{376KfVTpk3b+oC{Ao{${Qru=1Wf%N zkb3_P;7Y(x12WzwK=Qu^knw2ylJQc2lw%R#D!|`RIrzUDkm-L0km)x9HUL%uUIn-m za3SFTBGarNzXn_k_$fg0r%hDyuK~Om__>OwP6oUQ`0D^E=LD2UId=k5zE1)&{zm~B zza5bBH3Cw;bJRbT1SH)&#pnGAkuL=PYrqo#p8#aN`T`*7J`PBJn*dh=r#%+t^B6$p zlNUwT1AYx~Js|g)Z9vi926!UyivY=I1t9*{+F;UP!r%millTUQ40ai;HkdY;G?*|rfyffy;E=&CgVhGp29pL8 z1}Bg&JkB09IApNPV70-t!K6U|iPr}?Xjf>M9&pbWBPYQ0N*%jhc&e>))Q z-MS6yIdQj6!$n!*Ze8ZyQOJw*c2kD-~AH&_c25rtte2nwx@J`WiR#3Rl8NW0j9o0noO5}r%drgSDb)0WP z9}*5Z>3#`1;%=SkVv~pVA?dER{ER0Bl{0R_Z;s+;7`bJ2cV}Q{dXhjzX5^4@Sh_mLHw7I`0t6xGaiZm z+X()Y_5+@NJ{RHt=?K5B2tE~|KP{5~J0syoMe_G2lvgl6zmLdsP9*-vBJ>YL^3xT; zFNnzdL`47AA0icX?UD2cBluV({aYgWxio@b6p8=Y2!4Hp{?tf#OGKZ%xHYIR?nwyZ zOC$L$ir_~_>dWJi_|Hc4QyU4V{l{Q>eG&O-hcXz>=OBI&kRbkYB>vAL_;C^WUl-92 zzl8<){aYmbrxAV4iR7m#692y<`J)}oAb;BV3*vu?D58(+BJzDH!k;$H zgXtxzuB_mx{My#W^{~X!Vs?epEP-c}hzH%TsH?4OXc3bkVz?+`Fa?%GJn!K1x;pu+ zq}FC=o=9zt++5Sz5cDHAq|ngP09!6%Ac-f{t29D>po<=)2&Lp%NXj%x`gLj$1x%Ov z){|lq^x|FE+|=$w@huu%dDUfCWU4%?N3`f6fvUvzx=z^N5ql#r1_6aMt#39Rit!jb zc(3X)ALdQY@VC0$M+1DTN8!BGY0lIdKnMxv%k-jj;UH0CC_J1*C@6$j9w0O;g>R9d z%JZQbAXW3aI#+dkD%eq?kp?kaV78h_F6N-j^o$Y*j4wE?X}LhnVqqvmEw&guA2D*^ z7Z|NbtW&EH0p7ly94j0@0D^yG;?BOOZrC=&Ui3 zu(q+Trqy|PHCT0$sA8*tK@!!Smqo8;U0U}(QJY#&ijf&MqYh3`cQYs&U|)%Loz^w0 zQJs#K_GWE-6qZd!q^ zht#vFgC>CZOamwfGYF)nf2{jrUK^Tf5S1ATJhFzG4WN*X9}&j29GbL}Pxn=AP;t`+ z6@d1MAY;{y9qZLBjaZ{|7JFc)rLfL?6FMOpwQpC`*a15?7C)f3gIVxVaWy8Dv#GVA z-OTOS8>zOn4hHc2W{H}w9_&9tx^e*&Ez@*sU1M{LY0-s96e!N)k)Mlp7$wt6C6@JA zvrzTamjZ6AYp-u!XC90$ElR_QN?%cD?-E)#Q^|!Y>>a2{zA+zXCFjB`RBgmb_G?6K zMvXPzs+DC|m3b)F*2I+>+y;JNmFRN(%-?~ks#@zT)TgTIs?4=mxN{C`+~P3I6vz2Y z&_&Q`?cr2g{1~qg%jxXl3>lw#gS78Xe$HVT)&+^zLi}RMJI@}@Hj6g~ zxE#TVCu;>HWl{5wf(3a4ow1YsUvgpE|!F?J$l}l&*W4~vv1mopOcEHlfqhtGkTfq7RUCvGd zLKq<@oDZDWeJ=*2!-2 zRY%jNhNg8@RjXarghPwzEouBFz>h44A)f_>SWefUY_&*fgS@P+UG3@YQE*ZJi`#mZ|C~U80^Voh_Y+ zE1yJK@dJ*aQgQBK5?8JGn;qVwIM-L=T&-;(Jj=q@8NSN!I>WiADbC&4(5y{*ePc&k zeZoUIJNFP7Wq6nlE~U-82|c@kB>Kxnj4^eWYeKv*k&k*cHMb|*I$BzqTiY>+@!U#% z%9C=s{<9LNN$4zoUca~ue2>6)8+>bGy;yLP;m2!w3;51LT}iPX!7b>+5AfNY2I~!$ z8{|8T;foEjUnO2-5P<2-<~WD_t!w8e8$L_|xOd`@{jGCX;vs;_a}d`-USo3&?9a+1 zgtLBjFxvUTuWCIe&SHz0y)ivdY;B+kM3q9b`0C9_;mM6R9&{bE^yFSYzBGP3c>0-v z@gVzgZ$zj$jO)jxfhIMa`sxd1SpD5^y$$@5)~Frs`f-%8xS5U%x!z4jevHfYQvtU=Y~K(^`|&|%$#`DV^}8Hri8Ec4f*-xcoP3dPZMuH9#1wO_al zwBId)a@a<)fLV>_)ot>jqyG38BspMshtusi z$EXKy*{kl{fS-{v1`f_026b7M<)Gy5;B6Iy#^BhIv-r|vAl39EB8P<#f` zB{;V*d0<=;NxBdmd>>qPB}Kt^YLB<3L0&fMw1fA>Z|eb-olAFT%mxy{F{yuU%EB2e z`SNyzr#?+@O5&!n@4p{sQ5ypDq+WY8~TQ1>#Tl z-XH%9Yak9KT0RTyZ|{6X=}b>~TQ-H)P08vp>7Z}d% z1#^J2JQzL!h^Vti4GtOXGFWXeZ7^vNK;mrzlzAqY(0vqt#9e*9$Z%IbNERF?Q6A#1 z{+(fX62j5d<4@>~|8<7D_V6L#7KA74+m7JH5!}XCZlIfY#RA7#Y`OegQFUWubM4I* zqpq_Bw-SWB$VArIbv=_&W6-7=+Bx@z*S4~F#dVce>7sWajInhk6`o3Q8*Jn^qX#KC z4=*r&JNqoR{Kt8C)B38KmWJu(;j9peB>v#08^4WO19au&a13i?UC)Lon3u}OK;g-s z=(?E;IFr389QiTs#Or0>;31FS9G??~8}`;6We*0dT6vz+jo+>{xzaWW>I6SNmSP<9 zX5|uMIo&7IyQWMAk36u-jKI>$6glTO9Rnh*UPfeM$bbeRI!nq2JH{qSg`w310w)4P zES?|r$4}k+bUZY3J4JYlS=zt%_8#h!jXYRwvx65{D*r}@E-QPq>Ld8-xB zr`3ut2m=^Ghp{kpVL~s{hLbg5!g0tV@hnmlpQp_5WDqDn<%37g1rLN!22>N; z^zfR(^s=zYdJRj{@r~I`ffX&GMl4|j%X7c#Cv>j+a>)jSkZDq{%rbPn3pqxZ=2(XA z7`BVJN*S!re3l%BYL=Y54yLc?zGV(Gt(`HgA40oaRs8tGVGsk^L^J5mn7s*3DVD+< z*_bZK`SY8kS6^&WL&M4|W)=6aZ&a->2SAf8754p^z1^GlT1N(}# z8XXhVPNFAz+{924*tHZne#Yf|kA$`YC`DOO_-s9=n<^40P`PN=`GDBAE?)U8Omt{N zO@{1vtA1pD*u$X=;-mCA)m7_C*h$BAR_Oy^^f%j z`VghEpk)sJq*Ju^4k&GBZ)Fk|Z?pp4T`xqNCkHzAs!*t`TDpAWE!&S#!N}J^qk-D~ z*|Gna0S|`)r0=G|kda56KPpxCC@hxk&E11a;t8M{T@E%|NuG7&;xBAE>HjUyUtVr` z`eA;<<><;g?X{=fnF(<5Ug|E7=#-~iXt{y36!6QBRO90 z&-@%_8h?(MPXZko^I{HEjPu3nN4|rRcR$X?f^3eL4=hJTm@Ka~)BC98=l z@K&ac%Kl4A@Qm_6MW>M`bj40CbRnC^kOK~iTzN?tQ@lsY-}-h&n-ZgrkbOeqizTrh z$+O8axQzK3`7zij3H_xgeh06SJ)VEq*jC*8SmOT;b}X#)O~QP;qK9DjvBYZ+@%2N( z3)w04RzI57WA(%49JPtenyV9T!x^-p?j{AS3L)2G*b;?#;X@XFS%L8V7XGUO;S1o1SEc^^jCr|!i8|-h^Wb(pGZC+3){b~z8uR#1E3;%h6@GjPHIJPRd zy!73N?~@9Im(JFJr3J!UESxV;xIF&D7G5ZS6BfR&K>Tq|FyZW&L>_;hL!jfj2wYxx z%N+5S`BGeXmxUMNKQvAFsD&@lWb)GAKTZ4+n{O^G5P!OLv~oM|ZS5;>y@-5Q;%}?b znVhk7jiB3Rbk^Qt>9~$IYIN4_V(IuA=(BU?2TOM^<(mN=*U`4kfR5{ELq=!qGFCo* zQ_b4>c59!pbhHyuV&~frmXC)(H{a;2y~gsRorqGSvvwOxM>`RdMrZ9emX3BJ(smC1 zB`QMMt3m1&`!im_#JVC z&yVdnE+0G}`wp!09s!6nQ@@y_=Q1A#d^_;_0N)1K0k{~j0uU3=6z?mC+UG4Z{2hk# zUg{Er|Gr4ho~3>O2)fkg0Z##J2gHtw)J^I??`pu)fS+srrRIMOAZFjGz38WtfKLE2 z-7Fx}{gUBBhJOT*>E3SsJQqZ|TEnk1{1U^{hVvXQCQPYg0FMUbz4i+Lw*g{&m%0WJ zWt(~{Aat1eBi@Tg0Zsy9y}AJSC; zo&p;qT!z~{2s%*48H}CNv%~pbs8Z4r#N+(2Y4^wiGY<% z6)*{6gwJLq!U-foIBIanV3)yagK2|Fg9(EZh%E694jJq+SZy$EFljJhZ~{W%arUUe zA%k58s|}_NCJh2ey!S#5o(FBA2i$k@Ond@=bgS@3+>Hmf8qWOC{m$sCQJ8c;!5`^| z3`ZRo+>PhXhTa&?%0Ty5i|@uuJr?f9R~syR!stJ2xEnw5axn69doL40o{oZr`i;d~C_t0MFZ zBJ%tM#6kM^MdCjhiGOZ{{R_ThCUq6`6@4d z&}yrzZO7HxRdU_|o0l95?CD=u*9g8g88H+{Y>Z0`;<$q>0kQJVx_Eb5hs9@VdbC9a;YU9t zQB#XNH_NTpE*)gbe8QPB&ng~CscpeQp?Z9Xbdivlcjt6KI`wlz;EYVw*I*YQx0X4b zs7F97^$5h0q^oLLaV{pHC_5>mK0KVD+s=HUkX~yYsOoOT=gx3ue1De=av&l^%iTO3 z8MPyIB+AkGIzsS^`LOCj!A3*FrKEmgQPnRHQI5+sZ)&RIUcIOok-*43$9~PzBOHn| z1-aok%1reRS^XkC^zXh)&pPKU9OrQ*XLN{tO z4#${?<0AKZoAGzwbtjOU^5d(ss}!~h=#jT?@8IV->W$A3y36DlVkY6z zi#5NCmt%0LULg^u`!1baqLGG7s0mCSjI{({OkA%N`pfrC2_NTRlnlqjxGY+7j@XAv zjAOz}n+b^LeV4|3L(FiJ_IUgui9>esok7os`1gHAar=(!)}|*;z(VXzNNSSF@vD-3 zL3}4s`S>JT1^0)y3hvis+|MxfMlbg6j0}M|UeWbqy~ruDPcZHq9BMXJ$}tIGL@Z7Z zVw{b~{$m8=?m2!X*qs)&`k&Z>pGv&@8MqFMFd*CH`Hg0y2 zEXQitul9<5ObdR93GGXa%L8TelJ#YDpXDt6mVL=tq_ezI<@n%$58eG8V=xFk>TZ&- zds^_Zvx_2?@Aj`=+}+E&6?p^FZChgIc_jdi9fF_rC z>}dS#wz$~LnNUfZ4&?qm4$vTcMDR26)nV%w8jh%)JI{k{9J)n7tjxF7ci$anSLEP}f? z-;ED6Um;=lqf(Z|J#`Z8Q5JIf;3M>O+9;6%!N;2(zPrHMZI|ek5PW^lHIrn(A}@Ou z^Zt>SL8~16nqzJHQC2F)eZJ$a-&=P=8NnnZm`NN3I#aA<yR+*K~$*ial@h;euZ7tHPmG%j2lF{}9Qc8w?Hhr4f7$nsfeq%1`4O37?1 z-dQ@51f6Jub)yH}JIV*~@6l{Hx|RcB!d~_ia#aGpV(x%uL{|7|>FS5p_hECR>kC{> z>hHalDi;AB;iHyB6z|UrnUF&ivIvZQA=&Tb-U{Z(1A>dXUwU_O?+uWExThOq&@rSb z^vk8DxUI61>G$^*`C{*^aHwLu$Mvazk;?HAq<%heV;S;{{h|$-+dlJe#rIMbLGEHLAH3h|8l>?`-f4x)ROp2w zMfMol6=L^TVSiY&CY%C}@;ic2;>bD5pn7w!vk; zN1F*(ncn-fc7SM5h_*alM2_c-6-!O_%JjVAUT(ETYf3;QkRVmI6BIXsT+{aIn6;#i zZGqY%Vws0lYZbR*8w!(Lh1M_3Zj8eqJ43AN1Knarhult~BSqeYV1>K~wYTshE&DHY zjUzk)sA6G06wmH{(4<;5EN)+7;X=-uF0mc7lf%<*hTu>VBgul=y( zBmQ+qo2_M8uG~nfIohB?J|sKrQ?GwXDwWf&Uir&{*7tXvN^+QRxzpovl`lzVt5&IP z1 z$+%BB+t3dx(1bd%BSmlU^fO(inVu^t{gY#stCEx?8(Nu^#gW?GXiw4qgh=IAtdk|u zqZ+{7IN{`d;@XKd;y%hFVzQ07)K6aJtwHwPbykg4q|?0^j7Fvc52w2`m6SSYYk zm)7pg&*7cOv3A8oyps`mP}DK>B2tI<;JXNm-}6Mi_DfUshbV%xu0O_n2Wh?G$_Y$_ z%hQ^OHzLB<3N%C+A6dxeQ4|~}T}i3$Vqd9Ps7VfUcon%4>L zI)e8yUJupZI|=Dr;K1N=5s5dxUQtqh&a-ZO#Vt6UC6;3#uGYGHmV2%g3A6(8V!^>> zRp37I11}3!zjZI`g$(;)G)(3&iy6d^qmmfP0*o=Hz~z2(`BXkI2b+DSAXXf)z*)d(22%yfgFX?#Y9ngOV#@y^YkeA@x?QUnpmsy~50umjN|6 zIm;IvK(5d00v_xuI)RV0;s;$dO*x}g01+;^E+ zvfZO>CHrWB5MT@y;NfFgRpIG`83k{&t3W?|Gvd2Lio934Ec=|J&pn{LM`b{OSW5(# z%afqOwQg!ckF`whgNP5!3~Oq7%hE)c5Y0!4tlM(eoDD83qOAYz(uSN_w0|}YC@l-F zQ#oo--paWx+VM8HWqwe5G6mBc74z4!Lc;6t_B2d3ySl_>PANU}nm=R*H z|6LU?^i}*~W$`yMzbNaTy2HDvj_KwW;zw?(n<)Oq+F$hlNAWk`a7*zwH}5?LkMePbkm8%jNi;2vMB*OJQFA;Y^B>4FCe}C>X(#QJT(;@EY`5_ZSgK?T7 zagw1p68qY$>KOjOQKPp0? z_g?As|FQBUL%I8hD)Rn_B42|sy;nDSvErnKA`(Yx;q{2>uhB{U-?DFrG2GD?9+kk^ zUb`u9cV-NMSnSzFAc=&Au51^scYlvAXY5fbSv0^6gBXX%0JPR!M$Pu5>Yk4Xu1TPs zXZEn&rCmDG?n<;1MhH&H;&d>&eYYC12bI~2Rper6=?`*|rnuLt6JxKac&_;VC;IMZ zz+Juk^-8@Taf7^)j+aPqmV{25uFy&)Iu{WvSBQms&$m3z&XG#JtHce*(Wzlh)Bor0 z-Lv}fs;K>b-y4c@?|@XQ1`)Scr=h{5bMHqIL0QAy!cR@s8EcDDOGEh6Noq<&_kC;cBnu3%?u_(f zBL7K90)whMyQf-m<{p9VT?>4 z(*VSZN@myuA7*2I4Qjq$OjdJ-z4*hqXSC=+j5QCe-h2Qlf*EjI&e^CQBa&2bK`(;5)LOqT?R_}Guz4sn zY?K7+HNiEKV3U_1yBp+vNLgDwI~>OgE0FTqJ>^TDEnkAwb)9~1(b+Y&bLbFR$MV8n z)^u@aJt{+4w#{RIqp;Ubec%yJs5K$h&A`A`Sd^)R4+)D+9*ehug;VxW*K%Z=b0sKg zDAZpLP19fQw912=Ay;TT6}!rpJl>CAtpR&@ngdJ0eMPxa<$q}XG2*D0BCGyfF3U(Z zAC+$vW42B{!NVk&|IbEMxW{ER(BDH!yjf8U8d)Z#A0_ctN9;bVX*&@Oi)!r!%a3eZ zb`3!&jA4W4oRa={2m=*bLeU}SWZq(Sq_4LIIq5aX$sCWyKxgp6170FkQs0Yv(1vvADMv-l8!v>~TIYZ9{B6Bh3sPocphM z8NSs<-Bam zu2B$s-@Ao0?wrt}p5rZi4y;7#XW{Tr{gttc&iq`5i3}fX5buv&E*C9us)7O3K5y&- zoMRVwSal4}%TV}<+efJ7ol#f?8liZ+NB6-?f+N%<9CMy}!Z zY4es}dEW>abw$Nq4qMm$>aNVMyhbIJN(aBfA_>90YTm;dID_P*M%nzH@9?P{BRVAn zgw3t725aKDVQGLwl5_P-TXB5<)Q_{9tOtMpInGlhm!d|nD^afHMTDyd(mXWT32j>w z&S6!bofaw*6KCjpKNS6r96PrC2JB|!OnB(bv%En5mi-n;IpOyI@cAF%T2A~&aPfIu z)>7AmjhHmjSJTnhp2$0U$9-S5-nqL|8=7hxJJ!`D7B#L*G&VHVB@?G|Qy_lvb6TP` z@$N-!HzXIeowum%wTX8Vx#6{m)*BPotXgx%>3*_YVu`pC-3Mg9k-$6@@1Dcbi7xsd zmN+a80EZ{{Zx)6%(SJfAgrxFFU6dKXL?X%fhb3mEG5tF9e-fAR{~`J33{W_NpSVDl zqIo9{#}xv)zd8RF8_W(p_aZK3b@Jko-4L7zr;qxJ@)cJoJZa&Z6z0Vrvhb@4gu4{4 zC=gz49N$?We8|H8nadzC@~8Q}fICA$o_t*vzPLd6u!ZB(1zleJaSId zH7|b4F&h4V6y$|(wQ$aC;PS%d;wS`sMMLt!hxxvR+oB*ZJpBd@_(p+n9v-2S-BmH^ zk78#7-E#`^_z&6UMef#s%L{k+cynMC7hb|o@Ni2M)ArRiF`kEIiv zyL*+++J7t^&xaNnoi&G8I-Ud zpNOU7`OvLKXZ=Mi9nXi(pVV}>AWPz6>J`t2b{U=ZAF=#+K6Jj_BX0djEFI5>4)51= zpF2ppJRe$b_i9_e63dV0Lx=1fv-K~rbUYv0H-q!jToZKXtPfTmJRj=#9gL3WL%S?p z>wjY9?kh1&UfCrGEh;B-Lb zb-`hP3vs^iFUQM%^Lcv#iT|hJcLHLiDK(W;JBCjg>^Jx=^v4(+rP=|P16~Dq7T{@s zSk_M+33xW(Pm$P(fIk9+8s~iy5M$X?4`3-^J0QlnsRj!_-u#a-|JmmM2fUvy1l_Lz zF9!S(;6;F|04YZf?>EBF0=^w^0PqyREr3k-y@p?9cpG-pG2MDVhL;24-IXde|3&8i z3v5}t1pdzglKx3R()R$SfmfUVTJwJa^C!x&-r$!pUnYJ4dv6FIGx#c2REY03c(K8^ z7<>jD7{ebh*aC>YFLe#zC4fr-PX>JI4NBK#u*Tqv7*8<%vj)2jo^5cx!IzKK^T~Sw zN&h4uvYr|?{6hvWHF&&1nq@r)bY*~N0P_B4>iZ}_>gQDqNKXX*A|UY`;0oY-3_fH2 zqk!*(|HlAN2fWw(Zvs3Gc(vi@0+s_`X80V#k1+f{F@B?7o&-D-@DalY0a2AxTL7`N znpy|Qbgl!WT<06kd!dOR1-KO9Qy4E&{yzZH|C4~!&pJR9VX6ucMYUil;7Z`H0nA{b z>rZ&WQxE$98SiI?KWq47hCgC>Kj1sa7qArY8uPyxa1rpd;co<_o?kgi`Ts8<`R@fp zQKrTKPXf#W&H?-^AgV%&@844Z2LVZc2O!(WO@NH|UcgfTX|Ivt7XdPSF(CD{!2JJ; zj`=*`&j8YY7a-{$0K5QrC*ZpPs{mI4o(~9>q>cq7{c8Y8|6M5YRN&tRB)%Px;h!-4 zR=^bgHyU0Ih$4~ury)v;_fC`kSPTC#GE4j^K=S)C;IY6zYW{uZUjvA$nMwnm0(h4B z&jmykO8pw066O6KAk+I6Ak(`H@KV4GAo-tR{>6YOlGImGsR#!FDaQu^Nyq!Csh6_= zsTY30CIA1Kt#rJfnsftzOy@R0@>y#*&&MN+slyHb0~X()!qgBT{WlrxL*IWA@CHC+ zB~<~){9Oo0{);U9b$}2#H4e{90KWlHiau^g98|fb$$Q{XcL1w*j)8dG45W4F+!jB;6H;p9**~aE@~_sA9BTe?IWj0hy1* zfQ)|(AXJfhIw5Ys69CB4g7*WGt`(4Uh%5C6eSqL-tDMX%fcohcY{L(_>Z7*;qKiJd z4-j4S(OrP(QjhKgWKp#MBE6&Q0io)ns{!$^ah%kC7jqs|~*zP~sc@xbb)M{u3?S z&GWx#;cj0474T$yH;?~>;cnjkkfrD5=_D0;R06usK7GR@1=!K~;u)Yy@3L}7b9>NZT-D%U(5xQNqrLOMgs>Yf&&l883TU(o9 zEJB2AqlJbW>wwz1dt`K72W~?3^Z+vnynYp@{+W(EGv>Mu-j@n$u@?c@mP^5#}lMn*WkVNo4$@Mi2xcW4hP2Tn7!5 z(#&843_7?tG^{{F6f-yTKxx{VT5w-#JMKpnecE$dZB0|vx?4J$c^|1D_Do&7J4PGY zc-^#rVJMZkzM&B@XojPSx6~?1&bNlGFvJ^ouu@f0r*p-mcIsnGYjZ74`Md95RY5&& z=&0dco>q@N)BEzx%fpCK&CtNpHGZd4=w(j00UTk30A@VFMc zHq=DTC`8n1MBHVdGqNNBO|q8Pv@cw>=CYNUv(DsA12FI+O&NE@;k%wTB(`?_&R3-k z+dlf)J)(zpZ`3)<{Ch-cb>ts>|KD~DUgzT9aw4f~F&~o` zNg~hwMAW`R_&!mN!|C>$T%*RXoRc993jI!Jern47OZhA{v ztSkonWIc>Y99}7OA(qqGi>Nn#X^DzEV2z)loFmq|XTpW}lQCDsUPKn@GiybN&2Pd9X_hzFFSl(@uS!{=t`7+fx{;>+}&r9NNV`mE_}a+XB?i^aN5Tc zH>`M-!z-1(+2Ka!Kof@ZeD1XHHpA~Se4XK+G`!C6ZyVlX`1cLpXgE(X)2%n$btDaj z7hC(g$?)S0zuEA!4afXn#lGyHvqUu$@?;SGjkJ|gtJhTm%Vrwrd@_@jn* z8vcyo8w~%o;kOumn6=k-!{2B)8mXjry5Xt?|5pck980WkNeCi#kh~|)yQQYJtq!*Y z;tE5)_l3$m$OZJ__x#4@bsdek@O|C7ggtW5>7HfiwXUt%;jJA_2^(`#6b{M)C?r!% zl8`ZBRb9Z#+5Pf~Fy`aE@9H6<`i}wbB8JDEL*?jjf(Fup@`JGs#$}+IBm*RrWLBt} zB!)`7F!RQ`q?iZW*wEI-@Y=@awz_27Ef|l~C2wqnoiGfiU0@x&8X>MAMs zL&CC}DJeW|bWE znj#(qUkDPe33Xxdm1mO6i;Qg=T2&BWeqtH6imB1~C z!SWo$1DCjJXB4>q6=QVvBmVub<`H-Qs|KMDu_^RF>i*Z|%Sx9g#hD$s8QlL`iMo)QePe6j;IG+6Y#}PMz`CaRfoi~o>eJ$MQ-hCdsQ;g$} z01@Kl7+c>Ot0NmX#8ZpbVjhxdc4INV@HE1rz*&M-pe)PcGqusX;|V7*SoSyv4%cI2_a1oa>3YbH12DYC z2fLuVcj172@!Pr(%h@qVhvdUC2-tfVQ=xcC3J&ah9yr+9y?K{^LL7XtgS?0$gwKGd zp#ygxOljm02M+M}Kj|{PM{S|_dB)(=Gpn{1HJ~he34D}1CeO&G85DphD5lMJ4ppvz z3Fq16m*);}UItmy`@wK0T`#Mh>b!~RW5iCK{|FPyvg~hN`tHOl-^EZSDg;1!v1wm4 z#k+0&OPKs4x50h!etppW=4_2leL2=`9z}u5UFktk5Ak=~`*sri{3t(PmzX$sdEuP7 zEc-|Jgmp>nV&nTHln{w{GeZXFj$`$qEcrj&rmJH~@0>|__r7rbQW??H z&=}QjWL5O$G02@DY!6lmS?8=SvzmElv%UHjDqn3Hp+r#U;Eh4`W5t1HUtc6?iFVwCV^obq?x}2{pg;DmAXJS`9N4k70a<;AI~{FsKM3=Z*YU z>he>G{7gxI#d8#PpP+KpOP|?in=;u+p}JIPE8yKviX$E`~Cg>BrbLbrPX#w_JEP2)j+TF>6hJ0Q4O?Ej- zeAJ=co#{LRRM|{6hd6AQV*&>lgGWg!#*23@RV$x8A5pf@OCSVx2tkE&iEAG&e~d2} zxI4<1{J6Y-s{Db+&)dfeH_d)1gFrn`PUn}*;v!-$y^P=);uIi?RTii zYF9>|2nN`*JQv>h}LiI9!^1$QfgVgCiut0# zQ1M*Qeo>@6MW1TBY4e|V@&(}9R!Oiy+IR_db2>Xuf$>x*Z+Y$Kra<22NZwXQE9l?Q zeoDl)o#w%_gB-rfmm`U#fAVkKL-W}^!nUBXIGEmDR&qK#&`%-I8>odelGpxrXC@GZ zy*!31Jxe6IU8{)Jfb4Icu)(~mN-R3<$EEEoxAZ|P>4y79w1Qxb^2hgjCKhcEa^h-J zkOjwcetkc5`S^AY$k$mE5wNT%)Psj4bmIeUuX4oE%O4uH&kI8DR=(0F<3wKGNk7ia zYZLga-_dejLe{tBqXwjdt5ATd6Lyt`axe#%7tWU&9XoBfyl`51p?j}_yzmzD87vU) zKIX7Xfy;~Eg(^>Ha^{7PTlgoGEHAtT-4k7%g1qnv3xB3S_%Pc#+=B}8;?u$^-PbiF zFT8{c8E}gghI$vQS?5sD*bGh@ZyvlWx6&y!gWwZfik#;iVj&!WC*C zl@{KiWO?z&Eu8ze;PS$;Ct6&g_2QBjWbAps+ArR1@#nOb8=c7+OV@~$N{!Cib1dC` zpxbVA)~;jec7Sfe=&XIm((MIZxt-6kdJ;>=b6P`2=lZ3%{PLXEn9*6gkLAa6T4_7) zW9>hdj_0)cjL!OjSUR55Dz$Sr)*r;u$vG{fvwk6#j_0(}c1~t7bR;gOeC3>$(OEl; z<;Qbc)kfE4?Bevtb6W0xL+dwU`SG0AsPVJ@BbJWmw2JILLhDCj>9|L++UO3J5AJR3 zG`fS;7oO7^H#+NIV$^*^!v zcus4N(OEwfOUH9sr7&Gfcd&LY=d_H@`lVQYJg3!Vbk;xR(Y=cPYYCQg|HmNDcM$)) z!A`(afFEJ_9`vWgX@3@VI<*GyWWW?4*2PlC10D^?eI6$QzKZ@EYMS>Gz$Eay0N(+) z7LfF-0CBD*bqXNqj|U|Et9Y-F{y{+ce;APdFBd8P0w8hjZ@~a9wZZ(~WBw-rQjRwP z&ISA(-m^^amwiU|pifVI0g(P5 z2c-Y4fT;cpZU#iNU+^}-6A;e*1IGd$1}Ji%Oo%@XxDfCGz~ccw0!Tgs1~&ncf1}~6 z4ClUQ(#-;VJHo#Mg!23wAo)LNIPV)g33wUciGXJT;{QDEGa}CO6~uX-;`PA42FUpD z1Z4P93x6J&q27K9h@wgD0A%>r02zM}ka{~GkmZ;HB%ePdG~RCj8E*`b@g4*$WACzVcacrwvc;Uclw}JuHj;<7NZAfr*?okF~NtxVFBo7Cr&x*#&?qq@-a!A_sXi$<`uoU%C`%pipXBT4eK0K?3eD zQVLJKvP0Z$vlfQ7-y8bR+v}~Oskbkt79BQ(XiUUGPdlXj)8~|y>b47ae;?BeT;TW2%fI_8y6Rc%zR2d3 zUe(crz31zys#dR*i1w3=!2RGySvvjx1W&%3ZeK&%NF6LeY?n6%VHjF(Bmx%Vw}elT z{mEU3hasNqY1j&gcy3J!PwJ>j{@E+Xd}ju@PC7}_xSt!o<1sNkGntT^ZXJO(%;{V? zMdyXAFOWM$J}AEwKejE94NhI+H$MV<{QiynaKh+%I z!L=|BT&3Zz{kl3h)AJAK*Z`XR*nUTodPWpT7f{blx6jG(`LMF^9Xu{M4YaFY2g$hi~eot)EgK6uE^zQa_8zVo~9;`*JEBT@TOk$V^PYM*FW zfO_W`ztFDr_KA#HI9o0r$MDq#6MuXR!iSkfN%6$-iXQ66i#|B-%b46s7l)5M%vLhEUcV|ZN3&YN%{FH|~<|G0xvct#u!CMeQ?}3g{$7fs_ zbDvQQzQPh#mf)+CjUE6=yQ&@&q~7kJ6_~B-2s3wmA6gCqi-p9yWA2`C_WNx-h*8xbk2Ip2w%3lMbDGzS`?LfuDJLgL1JYKlxcIgbR{Vfy3UY@bX_)cFv zIQIqwLvh%Ou7Vj1!f8R!0x9Ff{xxH+*Hwb%H#>vetb13hBMswxwn_-8O z+r|X7`SJzeXk23vnsyQvk&xd{v8xbiKEav+C8)Mp2kt#bDNy5)S1se7B%YL~TrVW{ z_1R5`A4Fr@$Z^PE>?Q-B)}J!Dyt*~G>`|<^`Ipf$jxv`ngWaywte#*;#PS))Jmu}k z!)~!)dn(1|qz`~AvV|>E=e6TeS;|Lk_CHh$Qo?4uW#=<_E?7B|soYl(YM6dr)uNQv zycfk^D!g$^PAv=pZ+Vj#3>{XM$ELp4+c+kxAiVq8zlP zN-WewXwI77;Jil>71q>I?MCqAYHj!`tbAc1pk-IM5>rerh7-Sr{} zS057CIpfQWs?pt)U5u@i+))DGYD#D z&=#-KPiGKtAAN2f18KLq!NdBay$$9=Yq2eh43^2HC9`m)i~Gmbo{P z_lq8}gvpiU6G~TxCdrNIj8lfv!~m+hvj~YVQg-m(4H17(1U6G18<%F45J~IhD_G>0 z5y<&2w%!!@QAU5&i_TPp?d|mctLN|7!k1YA5vvvcv?LJn~}9QKRnczh2n?zA(76nFJAmanEguI7w3hi=Z6Ub>4*7~E{1=4 z@eJdW&X3={ubOS8zhfVFG51$YtmYX79e$)x1X}kt;c29eB{Deo|Kj~!mgT-RQMt91 z9KQ-d)B90gW4aOS8qnwPhq(gk)>!e*V{rXjU*?;|Jvx5Kj1_-Fdq`H7`ycPC_~u=i zZ+dq1IjaN1F>e>`Snlh16$nQ(<*|W|eIfu7%z`dkz5)z;q=6w8?=k6}FNyc>#-2CK z2G9rWIq)nt2=GxAEk5^qnb%>mNStu zqrv>R>)1vEocH+hbE_M!n&M5Kye<&8z}Ur95VHUK+)w$OTyeuU20EhWI72zv6WdLh zpz}n|&jL~EKX*H>Y17`TI`92hDt#kf@jKbKI2GFP(n-AslI_PWF4(@85_e)ejr~d6GyJ zs^co|mH!A!#`*2tD}@0*a4xCvZ#Z2247fOrxj-qo^koK>c+8 z?I>R%thF7Zd|C8=um5ou#q?wau%ihva~+xjHrOvaI=~&hs9fl&W8WPuB)!BZ-H$Z| z#}ySphKf+o+Hp1(7cdMS!;nyhYNn@Q(bHPvB$NYdcW6TuQ3mI}9lXo36Cml&Jfytv z0>qef)SYyA7bwt}X_L>5M#CCL#R+zYuD^<&8&8iQ%;qkC_45?`$L96iA(Kq+t$4z?N@zzN|59~3uH%bR9mA5_~p8u7gf5OZ6|xes}FdH?rS$ubfQ zoRbsZLyg~z3pTjMEZ?;9_S|w+w>FV*U#9r22xejzweerVqRQ18y6k*jVo_@Oy2L4Z zc>X**wAQuPHm|EYFVRxdUhnY{8wif+dSEc?bV`yWQtr^1bGJivaQf>!0Xc7=<8%ow zFMP;+78VGX+KjMAl`b#-R`dmQD++{@-yg;~HFMU$U^7s#9;6Qh+g1m6IueMPB zN;x!#E0n+LX~MT!_!Y_~Fa7-%UMT&NB8^xm-0f>96kciZKUFCGY514S(TLX^5T!0;Fit2@No-Y zqHOZQx#^3pQ2Y`LFBG4Pf^>!UHMcy^j{d*_>%Z`xi{IBgX7>bGJBg)hL^`8JXYD49sdqLOvTcxvpE|%^nXt#Qw(pi5OOUHf9MZZ%z>-S>m zWM8w<9ZWB5+slpaV0w87bm26WulTs;Fi?rXl*=&WChO_%$cD~-h3WzqkGfRuX^Amu7XfiDDpB;fIY z&%Rd6XEz|jzh(GW4gY6A6m9ArK&F42g>!!~>CXT>8R1I|pAE?L{xV0yc@M%nfIn?G z??C{cjbBi>;8TFdBAoXk&_4}GeI5abFOhQp0qf7tpcJO}G$8Ts82+%~Uow0p;5!k% z5O4+H5rE{g2TEKF_Qi?szTo|UOnQ^yHv&S1a^C_}kg72M z;{cJBRI%YxXq$}3`xoG~U>_jMlXd{#4)_f~=JO$g4*dsI#D8XR8{ir6zZa1D<)!Hi=Xrz^fYYv{)OWz8z~2OT z79j0QVlRuFOTd|v)SbZ7fa?Lv(1lzMcp7jnIg#ITgS1ai{562gCpXy;{~dl<@BSYk z@qfh+L{HrXNIu=>&r7gL$JHYIpLZI5AX4ft7^{F)>SusVe*}=_e;**rpLX~`nmP;+ z|5Lx!QBP_F@J!&J24p@50oktm0RKPcz6L(ds>*w6O9@~}Kx*kw-8HMohKMjlq=9ucD*AR= z)IsZR1`s0aD;3bb|Npt?K6B@pnM}&M?{9BAInTN0+;hLb&%KxOuU32zp1|GWW`$ve zL4^T@DFlLiNref8g9@7!h7|@C1{9{?skm2|P&lZtSz%aVP+>q}3Xa9S!i2&>h0O}X z3WEv*3R8$LJ{KnyCKL`TY*rXn7*q%#?rw!+x&I%K=01drctUY1BoVjk61IibGzK&W)xDjUov!ZfJS?SjJMZJu^>lCN zd6z*x^)>Cf%q@^f+|HBFQhEZ76wOJB2Nj<{c*x(Z_#Kc>JgoS7xFMcWd|3Gh6+d2a zyDsr##o4&h@Saw>4=Ns0`F0&BWcdwyfbYVP->yTIE8VUuF&iX&Di3Xe-~kQKhan%% zJwrJz-UfLt{#$Um_;o&duMhXXzo7Nr^Y1r4{vY_{vwd;>`-%_$k}tehgW2WZ=8NA| zKL5z;@;~k4=X)D2{p&zne2Wh!(WSrMCy(cAT>1hu(k}k8&prDIm;Q4f&TMt*DIfk` zpFD1#yZkdgeyiLsr%mMiLr=?=HeO1Pdr|cefOEC2(LXkex;=6N!MvJaY~UQRGB{wdV;6wf8P=ZL^xkP;~C;>+bH_(d%0I&Z`LOeM5)bJwnSUo##F!TzocuFqb+l0Fd7f+E)3CuF?x|UC zzcNQ_a)NK%*%Yz)Y;1AAG7g;}%5G-svk%r=oJPqCEKdhyS@ht{ia7|BmC446K{Q_` zh{|YU@c}(7q;<}o9ip2}JOsnrTGcC??QAdldUohz5RQj9zLrC=j@X#wca%-ZcW7zj zs>(I;2!}ld)!MeB7w>|!wV7YYse9hme{$~){INaeKg9=R6^;4p9 zs0uu){0U75UadHbXeUsWiTgDgks}lpo6(%8%>bs4L_+NLmNb8L=uD;B=jl&3IQ!ojj?4iwj^knc z#Wc_?)`7q)2IkV$M#@Sa_gI?~Q)oY^3`$5e>VMw#%Nj_CDW8TTFW)xs1&z3)8lD_J zj$dKMY7}yx2W2%xQJzDbPjJ2FEr6J!g~EVz8dL}% z_;&$$PT#f*cLV3V#F}!&o7I9O(wmj%?}0n)Tyx06yL|YF4}X^rztD#d`fwcnRfUJn zE*a#a8^=>m8Efs@#m>I>rDyEex!w5Aw_l9Gf1cIbUy65( zAj|C+nKk^OosqEx=dj0Wq+hf;Pt?NI^IskHN7$6`LRoZA=3>NrG^(xPI19Dsq-e!l zhkmtZ6ddh`E7?zq-elHUL54m(M1SqIi7Hj@E=NyznRrqwg2Z@e1)l+g|qr8RRT zgbJ<_Dm^=w4pA_Ebd>UxdclRx@;Heod`N#5jeL&!y{Gh@(OY)Y3tG#NVsyn0JiW+E zFq0-e0`F-Be|!OZ%|V7o(qrs$E~7)ekTy^gC79u#o4%vz)ou0C4o06K0qTg}VH@O- zD42SBn@LzC#XXbc6P@HYx~Avi)2Ic05MPu1q>L^3H40EkgvpCUMcxjGwXMvOhKCh#ct=UrK6b8h|X$z5a zmhl?-MPG0-!>fg?deK9r!%ss5(+dGeWzuz@ghy^6M(NgC5RdMGHAwv>4_@T?9FHbY z78B6)e1nJrdK`S^h%}+f-gF})+ys0|pjJeY#gj~Z&Heg4CJ88;2YJpRou$;FOXT)Q z8d*JDV40|5uP9%GkUj-XfNdydyr9jbNB+pBL3E8pCs)p4B7CM6LPs8Rg6^BXWA(y= zQeU%6Gq-*?pMcNI;90K-|EpNoB0QTZ!YL+mY_uA2jKJ|EHoi2DZcSi|a#^ITba;~y z3>VVQ%-Ea|0qoc&S9$_Ou#Zj3+aa(_a#W~^iK=EZXeNCJQpbde8N_ore@FJ!4*RUf zKAV1%u$zdP<2K~3_PCwHbk3)o-1~E$t1GN-3kuY2^`4u{16-G)60NLoLHoclE#@1E zm~FZh{YL|H=#^?yTYx^O^k4ycLh1SrUygixUu?`!a_9*T5MXp0DTkg^`ZB|oLoYVZ zO6q-oEyjJ$yohpZ@GCijvH+v$l$Ve5tc3DudgbNY3%)7k3*uW$9=$Q@-6fUJd&e*j z-(m2@L{S{2+onJsKI+|dqaC2p^voMR>fN;~pQdXL-;+ppw1A;|0Z#?I9T3jOK4S7? ztRE2Lxlkt{+U}*Bjs59YseM@O-=g>_igO>I?$UsC_jSehD{jV9fzv+>9R8i&1PHVJ z3PTU^{X(oOgdPE;`+rcJx=qAy0YsSy@m@eU3H=t97^2EPJn7%ZACN*{0i>M20i^vH z{$L0j`k3M$QP>KIIYDTn;+HGFLUG<7NO`ZIjXwqO-vR0G6d=s$-vVSj_AC6PvER=9 zdeXUH&+zR8gs7!A8yLDCkaFt)87}rQq^|;Gc+OY6RPjZMKMBw1?q2{I9^OyLdHY`h zVr(9|6A*Gv|2QC=oPL|ZmmWl5Fs=)+{KM+>FEDg~bqbd&WUmNwdJ2EQw>YUVp>R-P zv%;{#ph5s~R|Uv*0z2=5EWrm)AcxUI=6-I11eo99N8Gk2V~X4M<8j4pd+`h4Tvr%W z_h%~(Am&`ylWyC;Qx&)EWddC4RQRibxH$V97hmt==P?wQ&Uu!LLw6?&zuAWm`0xoI zezgzZXp6;ihu zZqMHT&<&C7EsZ=|39n_HWkpqW=AF52dFkEVF8D96vxLzI(Aaeri*p%)Khvyo-Jut6 zkdxCG|N6PLuh9>?&O$u}{AXh`s3ZYg$LPdcsMh%3nQKr&QY%9eZ2*Isg0R!9BL@~+ zXDNew8n$;dgBovx`4&ZBS!|spg~pL4D1Xu3n0_lTjzm*0)JMZmZ2v(b2iCC4>sEP+ zvQ2Kc--OHXL;Iey|1bgnnP(*>$WuVL^Y$MYApRIW20tr+z~^Ih9$yx7?w>IC-f+eD zwY(R7Ji0B!#Rev|Sa9m`h?zBbrNzSrud#Tgaet%50|saRC}xkr2P~d2_+E=Q8+l){ z__V?0X*vohGyK|5Bf|~;6U*OV@WU4GHuy^xZ#MXGT3!NSgO^)8W$+6vK5KC5B^gs9 z>Cs^EaYJvic+%jV7N0iwkj2Z4`%hckidEPq!v^RXDSeCL_bI+raq3~^Gi&Q3Yn#?? z*eExXYQv9p>ZZ1SvqP&^Y-as-Y)ZjK9R;+pZT$he3*5GyE8U8b>=V}2x~XbKH5!oa zolUL1o;$UcK1&^QOV~QTvbJG8`?WT16bI-zp4-LNbn7kN@xm6gap>@Due7Oe%Zm24 ze)M1V$YRqLuAqAihPVQJo|U^SZ{^g*By}u`&TeyCTepPYb4N==y8D*4olWiATUw2( zjG*0J+jds1tX$<-^>lRO_1$)31E)LMdfIl}+7{T-(cQy`eDQoT9trkTWC9)AwzX}= zBgqIbo*&+dICgE`j3<`2Z))2S?Al`Ndffc2F^D#084AYCVhZh7rCu@f3U!||U*OUp zn%;T8E*o@`Gd4_+kS96c`-p7@zR+wuad2cIs zt^UmKi*=$1!)R1Ij~r4a6`xlDTruIA(6W2OAE`u*P-`#F>w- zDK?I=;aaJVj$^@cj4PYg#l|sH8qbuaW9Lidn5R*m zHS-s(BS8^)f4yLVBF88u<) z@dyN_jAX8R4$1MT*qPX7;8qJ(OV0uO0^=joAvVEw^^Y$d{Y~s_aePEyzlpBO+%-6udFmfN+k}qb;2_KIP zJ;ve?r-w)AVZ33H|DvPp^=w_d#^N)J4s%1&u(EV_4SkKy(09osyJXBf0h7IHr@wSJ zLkmt5G~|fKDM_yB&Ya?PH!LF9K=LG@tXvkIDII2u0?D)3}Xcq73y+EGZOGfISAN&K#StVqaJ{Wzz^uhWU)=ZguSwxDx7)B5q z+}ZSl^u@Whgj;$>{`%O^bL@9_B}>oyb^vUp=Y4Y)dM2gk{e4Qn7pDc>ofL5AxPY;Q zfZcll>f&P~0(K7q#NuQ90`BY<@XdAs-);sd-L;wFt`KLX=j{&Dy9$*x)*zUAaA&h% z>g(Ozf@x6N21_e6aNGBkR%meh5~URyfdOn^?Pi!_@!i#M85JIz!=`qQ;Q}!uFgAKB_k?3>UM$@$<#gx~=Ee=) zb(xu~Wz4;&RY~UEE(XT#Pn-Q4+yfGCMC;TyJ4%3?^u{hvfT=1ee#)PWu+0AO@N;G1 zk%3oA9~^ik^R}Zjf}E3}ki9ZIQ^`w}*tiH6tAmIWE^cDe+Stsr3@1+{H!HPN5bROY zfw|TMSBKdVa!1R`6|F7ZxG&_=b2eWZyar?L_3P_`(5-3P(TQQKsBT{xJf|nq^8cDu zEVnxi%o=-n*CQXD>k2g72Zd2?gYa)qJFj~{SrAx|L$~KfN{o{ndI~KQ4c9SYa_B*6 zHv@sb0`y|z?dm_Ec)@7=bH>}tAh(9HbzJ_i@h30eHqiDfpQcA%zP;eH<9w!z7`x99 zZ3Aasuq{2SnUL z_bSfybJ~AM;k61c2gLu-?-5ss2yxw+?w$lB|Hl;HsrY6<@?QwZb^o^mGQ4jEgc;M4 zzdZ>Ae2Wtb2NgCe3@Z#O1Q7m<0Xg5W<5Q+B*UfExVOLGu)(_TG;=szOJ|} z?++<%>&LL-K}3S)*Z4u4Xa3;B-{-@Bws~n1xfeEB`Nj__;oOzYh<1M_gJq z;h0GPPlA|$6 zyMBE!+65ZQquY(Bq|0fMGw*9P^K8;!{OjRXj_!j6HZU-b(cpSE#pY=-4Og?eXooyj zrD+s=tx{Pci_X(j-X4|5cimKu*q|+JSCW8b_{%oH|Nh4e{AV1?;eh+a0N#4Dt%D30 zWs7^jV=+2UYsNU_CFRk1;{uJM7!`INT7f?g zeguCeBlrU~B_7sxRlw|ZsoWIBWC>SL_Pr#MIf^mrQyCdtCWDO6h>Z0>gfrc5+~T(F zz6r6xrGdi(Uk#Lwv8i#wKm{PUf48`QkLSKx{l+M50yjIF3kSu2=2ZI4B-=Rhj`DeW z!*dLgiA|n2Kcw%7VwN|K;Hmiv{)`B|*%RC^f<+4-Lu`0}I6&68myYK4KlU3SPeA3S z5fbEjd|`3Iz`z|cmJnpGzs#fsN8OmjB$4k&(o9_yxQGHj1l)6LB_Dw$o$%JntUDR) zys#2_PP3xNY47NS@D#!{EiQ)#QYZ)<&O!(dQ_vE#zgG#;%OvN(ePHHwv5q7HfeRy_ zinR_rg-CM!Xp)u31SNA#eWp|}#I|Hcz#f?(P59Ga#TR0SDS=$&m(p1RoljvR5Pf2#Ds-jbukf4bbS^tqx^eA%^ zw5N*dz1I--(x0!|+py{z7UtZ@?hxdedc-PZ-?ir;Br?IJ42i4Flow!uz_2=+qGa!a z9rKClB;(kUDS*htoqjR1KD`%Q zkqMr6$O`cPf&~JcL{6uK054G@sUnF5fNB&!&N9i7<&515;*3PlX%udUw6`(#F2{3H z>}gv;Rny4EID2R$7R|;!&`U{q=qVO!m<;4Z$dAFNc$H6$@e(^Ktw31cpu=Yz~2Fgt~A8= z4dFC&q0$!vqP+{fjCAKbfb%@kc`pY@OCJV21vuwn^yjl`&wC>n?iN7w$swMDCq1n6 z)0O@*m|hS2!+@m!D+Bd3w5RmhzFd)4mZoD**O(y3L z%@9I!8opU|Q-}-=*Q4C|#3bxs<(X%EIOjhu{d^zZ=EMKShjWnNy63lxv$DB3)5XPE z;az-<53lp#fAHaK!d&+^`S3u~`nCGpLdMJ9akl0Yq#V!EM9U(f8;(gY+YxG7VawmY%lN7h}(p{&?~#vGs~0RMey~yHWP= z?`8y{q45ex_R;`?ySA$w@Z0prvPSx;e$6q>OIED8IHO4eUp9xeN8oM85akkg|u`{Ka@4TeOuzTm1D$rPn7rFD2dFj=pv>qk_(H;dhLLLVU zep75es#5E3g~Ei5m*IU6 zygO0MxWNZ39xM@go*qf1!S`Ew((q4Myur{Pv-q^3+x9*%zF6eFWa&wRAGP?j!Fk`0 zn3TcaX7O2rpKI}ek-yU7DT8bO4G|_h@3Qo;ao=q5S;NnMUrd9c^Ug#uK|{a8;*|zZ zSUha-af>$__usL2x51yZ_@KdOEw0{JfH97wk8LP6E6#BZ&347lR~*Aw;Wr1%0)Z~Y ztsZQ*;@g!U>ubXQQN?=||CHkGihoJ*TNM9>;vI@VruYuUpH%#2#h+Ikvu5${WyRYR zKUM4J7R5t~Z&kcTaTDvzU#}AgcwbrFL2EC&7b*`)-$DJ&fU)c8?b^{MS5i=UNcvSH zV*Q3|u8kUkoR-aDheY+wutGXy`uaC?gALcz)vkRHI><j6pAd6+|#mpB$of0qBYCY3&Ve>EjqEm>EjZ()#Os z2ffGzXuGYWC!0-UfUs1}NnCehG>CK?^|b$Ys5L7O6dojWjM+S=Lifws*V`9UV0 z%PuJ$lp&dGZKc>6Q)51IMl8kVZSA_hr0#R(S*suyP1wBkxu{2pCVnyBWhdl$2f}>{ zM-=ueY*)BZVN7AQ!U~1u3QH6oK};!kMj^*)#HSSQSGZ3h*O*D~SJ5HsuE8T~Re9KJAOx*7c<}S`%a9nX(*3wr!Z;f;xUjx0&9wmx2+uX*J3`) zfv96NxSmb1@%F5SYfv4QVKD&ZH_(iRLEDBbk;TT_-EdFC`$=i`V9`Q91xIk(ugedEsH4~n(%O3-y z;mPC_iwK@Qy&ojWKOAc2vbihDTX@b{_t*EhtjuYo;WXA+yT*MhNxjwhz# zCmQz5TYzwuIhy?v+=3rZ%2K5VPgjoi&4>f;WPIXWP))h|AigFso@crGIflEDi5~(H z&h$6%1sRWeGRBsk>O}nzf_W%wi^>(oyOkpo|Hl)yg?`8zS<&eSF9b4)7|~b!4b;Yy zUf}FWb4CZRJAEvFSXYSnpTVsOE5e1eIxI3}bD+OO2=H=RK1S;g$Ln9svkj2BcdG0m zc4#QBKS6!T>>zNb$CT>bXM%3hjZ2ZXKK?D(BNJRhS1)a~@s(%UXTUps-1I=*N2Zs*w2HSp~IFTu|E<$H~5pD;tLyrYe0>BcnrctaaP zfUi2T2qFKf6)-&T2zGK`Nq;qDc zOpC8XqDq)GEG7j%3M-p}n-QkS1l2YqR`7z$_1=q9w!M`0#cM&9Ga^yzMjI+ue=KPC zb?g(Je?(_6`GV)d+zOUL5ze%;eNL!&3^y|IqQ`IB*}sMj5)<1yt9U|pk~yR~FZYs2 z-pZ~?rtG?MZxy*mtgEzXt9bng%7o}t$Mjl=;Uf!5jdC!T{6N?3vq**TvLQ!T&cLKh z0320HBuFs3eXf-BLwl-st6{4v1=n;Ar99pFvAcUt8!-SL`;<73CPgOR1sm}&Ej5N0 zowfEog?7m_c#v-@qCEF@8=OpTv@US(8A4X+J|kw@L-rlgFb7;(CO_T#V#sF_%IoR4 zF&cy?aO{&;;9X7MJ9r19Pr)^60ir=g}_KL8M!V0jRJ+c|9} zl@-FsTkOcQeVI=lR)i>To5&mX%j38T@{kLCNZ>}hhnm0juJQCuB|Q*7xI;=x$?&~9 zm$f;Gc`-I8&GO5YwRO?J^6R>`^%`i+3ecIRuVg}~W zgKEPuD@+c(L2a%tKp$5+8&jAZ_jXZv*idrld(fcKu#&^%&}Wq%F5tcreHzXA2IRPJ zR{BW=-1EFD&7B71xG&@A0ETTPOb)$L>Ffsb(VLZiY61G7(h~*f!4gAwTLF4l>B|bx zyOsXK0`vw<2xtoBzs{u!zx(x{>~812R|M58P%@8qYFMRbRi2htv>Cbk?R&vjUgSL+ zrU#pxpz>+?%`5LP_%4an=Kq>>(Q=)a??&(ie{cA-eCOrc z1-@#%=S9nTUcRq_FRXl8-t+Q30lo^omqp8cUOsAP*!y6#{O9FchF*G~%F}v~mydUS zSb16>^78TBFDoyByb+V99Pr(*GF|7>`jJ=OBj77hKCLHt`JQv+X?@Ad$9KP`RG!wG z9KJ5ptFy7bSOtgySm=#_rvaV-2yd2h+I%|jUjPz+1d#Om72m7$PbhvpAi^HH81PKM zr_pY_9q>DV5E=SAK#)R5(4H*?4 z0Lec9NO@g=U=3Xfh$WQJU#R_)NOQ{h0U-Il3`l$92w(+pK1)wL0m%6MrQ#!i7|ew}sP^wud%lNq7VN2OLjFZ+&j|uPL%#(?KArwu zz##C?0g~^Nfb{1^K$y@~_``6&1CaLkmUQA;74c^LfxN|Gg+YZR(msVhgh_=7g@X#4 z6^0cC6$TWh;150*Clw|X4k~O`7*-fm2q5nM2q^mdw1A-=k?8M3C`~1P#O=7D65qt_ zIN_&?+i}50#ce-$rsB5W11j$AIN(XeZNK{w<+uH8J;KBFXFINHQrzpuK_lIci&ze1 zy&8Np&G@UtR?lh7`B;g( z5Yi`FKV3M!kvaJ;H!Ww-PQh`jv)p534^6n278#W!zTDwby{9z5n%SoA?AwNu91dT% z_iToUF=$TwksLO{yu3nBA80ydZ*;rDoy(C#y5c4{lIr@3g;1S6aQobWxj8!j7J2?$ zGHPIM1iQMi;oJu0FE1gwJu9CcnWnm`l1ZS1Ycss(z9u&Q7{uJo-K9G z=6H*uW5wo-{#h)tV%2I}xV%I*o7Hpcn-$ovs$S{b=hWNO)!O^#*{=$slc!-nBv5gT zMK~T|pDt#;`&C!H!SGWa-GWc@m`ek2RnTmYNpTIa6J3Qso#%RRYR;W-IO7Mb8uGCKus zXK<>N-i;K*ntEzc>1{rDw}1=oevG+AWP%f=EO+&E$5RmIxd(jW(gNp@`_%1a4A4kJ zxG*Wgr6rLnOLY1DUoZZz^!xuW3>`czy|3iJ(6M}UrFApkZd z7&cyFqpM@*VO0vNS?4{91Z1Ke!d<}Ar60@h`%g|`>@W5EevSAp>tc|t>teD-tZVI( zw&$5JA}rYYIgc-4(7&nJLIzK-8Ask-5S{iOpun1A<_LC?a}mfj?hkv99vQtm$#cTJU zkf9~-i&xHKONQs}@hna4tXE-)b3Ig^I?^!67rXQ-wjogsG`+)VY|4w|SPpt1NR zny|>k=V2qENcS-lZQtT^vXwH&mV8Z|+~Ya9LY?61?uOWL95^8GDMWJy(UdccY-FUf z;z|>w&zL3$xu;3JZ~>y7eveRP^Xh8&F?p}`0`iz3+|n8mb zktT^c!$duJfXy`HcDr;_koah9=ure7;q5y#!h8Y=-4s2`B}w!S%#_5=LEDR1z{z6# zMF!s55F7e;V>xgrJo0{=-$Kb8I%p~q3+ce2ItZ^F?T#7P&|vdC#mg};j$mftfaj`f zF^HIa1h_C{?Z{?r-r4(FBJYk|w;oCu)hGlAHu^YwfG%@z)RZ4-_%k`m4uA4ydOWt| zXD6}{eBb(-zR0xUrUy8OJWP|(aCPiBY1B<7vv@CzG$3Q9?CtktDx(E*%BoVp?NmH^ zIQ@T3GmcE;utiJ4v?&QmGNIC;^0_5}`{ogZZSq$(Xpo)6Zvyhs&N#<(B|2IXPL}BW z+PX<|odF)e6L^4>W$tWUC3$V&`}S$Fwl(8`3UBsS-Xqob!} zFw|DW4y3DNLr4gCkjp?D?h;|FTZ^+Pxq|;)V+}DUmO~I_YGsZ*H1~~Dw)RTF*4jIP z!nzmJu1PM#Y3)7CCTBEy82iiBH$>hWX>tdAc0U<4$k`vZZ8*kUuPgm1I!^NaRBY&Z zu~{=)x+}lOf4i6-a|JQmV`?Fwg0h#B@T2K7r&-zh7*;murZGpCid>5x0SKhO4wvaw zw4oarmm=>5v;$<_XCA3kJr$e&H>9zQ8_eKATAq(BF=3c~ojZDQQ;nC*M<&j;flrGA z(=`=Nt*QK}6*5UD9n_Q;KD1~u*T}TFuKyk4Kc85W6iJUE)~aa+Um7umcpM5#%n4+V zEpgKFAqC99_w}@srBC3#KQ#QDSAT5P zIT)QnFc|@kKpv7H>j-3b0+>;*!`SFsC^_hwhL0RAbxxXZ1BcFseKs37F*kSYnEVl);AN1X~ePT}5OBD5@)WTOt$dtP3mhC$K;S@RvD)JP$Y% zTHHy%BIYW~49v!(4~Uf~fe zpP(1`(Tm~a>-gl)LiWq`(;5Ao(~vQk=1!Ywt^{g`@=f$^=BGD`WSyLjnJVZE&+4Z} z7{=+?P+G$1^~zHtSAhT>y`hIq;2Wn*OQdZTsvPprj6)bqisvBhVtfnZuCqP=sbtGl zsmUGqqXhtYcaZMvqKi?dL*>XW-_(_vqx>I(eo;7Y|6#AOaMKA|Qe)EJX$K~yG^+uw zH&H`_z(;a8CgZXP8i-chWtX`E0fV?qJM50(GmSMf1x*PYA2HfhUj5F5*H&11g1hyy zmGCg$mm-N_y-murj6T^SX7npDePfhXv0*I!$~?U}=H1!Mkt zwwZgeDmkagLl2_=qj|A_d%F+zP1N|71q*ZJr`Y_${D|c+kNhM{B#g4u4 z^jW2!SAZTYHH5Df@P8T$Ni+rJD}9+^%ke*m#XOpSFd&CMt@IBRpxZUmg7;28gJuFo z^AF8xuD(kRWbc2@@M%8geYvhL8Cw#`;@3eB8$uePSWg;{p7v zev0OAUU`SXcS!X=G@tYGQGdq12c-Ftmyh~06Dm*hJue^iXRJKU|Ga#=z!%f|0q62p z^kZ5xlzPJAwU%2rDp&JfxnD$RRTBxh}JFi zX+WfH=tjUZ08a#b6X0Q#UpNVk15(c40#eR*u`G!(b?AP;MSxoszd`Y{0g?5gr%`|4 zB=l22y89X+{)fJ(_{RZBA6C2+5L*wS!|)7cJM>*Z1SNDAAoVrg0Z6@!5Fq4*mH=WZ z8=65RDCcK@^rv0%n-o6_knT7peVmfRy(N+Ewy>0g&|1DBh(w-;*Le3P`;Z>fJE@9MThh4iH%s`XnIvt_P%? zYZSi_5J?dFF*28Yj{%bJ%YfwLy^zG8#UIk21|&X?Kcs(Aaq48f1^5+ee~H@jJ{C+0 zLmvVpztvOu6EcPPe*%Ja=@WqHwn86P`yREwQt`_aAA}tIU)-!PtT3pMMEqZz0zY9= zVM5`c!e)hGg+YY?;;s*nv$-TPi>4Ys;}k$+b434Bw(!uA7P zYa?#keYOQcM>(On%i<^mG)ym{BY$arru11rnlCGE`_WSrH`GAjy}*@Ktls6r$9y=4 z5H3IJUKZZ$!)ttag%4+6;mZ5E53lz5|4tvy`+QvYzwx;z&808%@&Cw2|CkT|cOU;B zeYkfQOU|oL_WBm{YKN~l|~$+t^$^(KVDvuJ9f76#w_Xul=D z4uyCo3KfpTj1mONit*Dsx82mi1FhS;x3%@^9W_}NdQLyXk4rHNUX@ejve6eF*H;Ay zqN=fAuDvlxWc|9Trfb%2h;C?Fzv0^2b?bHZYrc+;hZUDpW!??%MX`Xw&rYKPff5s|c^rcB{U^3nFj*pt=|Sw%@#}t-H-U7tLs|+$oZAVlS%wevhdFu>e0PfW zB^U>=&tqCOkk2s;AAj1EJCx#|_FT?GLGWU#cM)Pa`8Isd&@E<}SYG66lnFkK8(MC zG)9lQ5+dt&u!d|bth|aTcaWhS1bPheFdBB`MN0evopZVNT$n7>;&ypFxr{ZuO#0-~ z%X8?GRy;c9ozcy9FLeJy>|qlhyM~Ajr)&W^boiS!|JU}Xl}RIJ)Bq-3mf54&dINLl zvr4ZmKo6^ns|wKfC>>*DnjHD#Md;H?*Wp%nruRf@y65HN{JdKEH2w4P9R^?J zJoq?2uTVbCkG%3YKMyLOrfXil8^KpT4?fP%ZF~#KYXlGHU%YRT@Lv%pw8fzx03wT* z9stDDF?6rOW+i}{Bz1$)Az!i2&>h0O}X3WEv( z#2x1j9PitDcM0r?+j723aa*qcQE^+2f2+7Hw{R-%0mN{8PkFZ9ZdN=@MwoSg;=kfg zz>fI1;%^7kPvPge0~c?Et&20SUHl#&om+M;ojRv^FOteEyosrt>amHpBm*Yg4_fuaf}`uqh7C-L!BNPuJ^bG;&hhg^GV0_Ql==e4$`#4r-D}EsU`0&he*aMy^y{#9baLvgu0e7cb-#8Lm@bJ-J z!fqi()EuLxZ!kQsptK2owGZcN68K-T^a~9BqQ&20@MkQ}Sb{&LxNhWNRJrGNEPsC) zzbEl~9KT8Y{t7?ey&K)K&x?IrzC#p;+MeC+F{-RsxkF^2?IokUZVt9FT5br=z@9NU z1fslMG`8v%hGA?8N7>_cn@woL4==)epwp1I0N}=NkE8y`@EYv@UT6H7#SI9QG3D|G;k9!etUJ`6j_=;{yl^mmYB&ix+mpj=^Q@xH>7p{TM!6hQ{ZHAGX0Q z*Wd=@eG{4BPQ;`4n&dP|X_6}rIq>ol%8ibD5*h8C6_A6CW%Ck&WPl9@?+TG%@U~9Z z(eTb{OudXcqol{xnQ*3;yD4D z4=|Yb9%CKBHS}@3pb-B7YR0&+mtqy&AA^`5-7nMDmwt;Zn|SbzO!ToO zzd=(KZ@ec4QKR+yk-qoXY{R7^V4R9a6Cz3Wa?$3pKu;rSta{Uc{XhXH5&uz0_`V!x z@t9&Z=XsVabFWX()_;gSA|BxhJb6BF_uGwUv#j%__lY_tU@U^-z80a@aHcIAFE5D? zq~bbNXQMH;>Lf76;t$(6$%NOLe-1wvw*G7T1FgA3PEelE9dgv_%c4(|j@@j+bj04M zgM>!b;qD$3HS>g;QA46`4k8q9e8eQ)3{)c?;Z-GE<^ctf;y(MTThKz-h=77w`Lx_V zGM#4ose9s?`L110U@K@Nnny3DkY0ejS+cM5md>vCcRDvp8k{G|`a0!e(2lmv_L|KA zmPO@mNyCJzHhTMd0_U9HvmR@YZJUE@F~02B($R`Xl7k!U-Qt&Gv;>yx%*EotVDQo) zM2iI42X3tjR#f&^o+n&&xVh69zTM_o)z;7w4(Y;^Y%OpRh~9J#j?S*mHeq9!q*sIHz*OM*f)c)_l!;=;*-OVt%2Yq52Q|Vutuk5Z$i; zLNI7=^a^8L;ApLCwq&ptLA>@1VNRH42N?)e-Z&7$6Al?5I z%yj<)K)U0(U*i9uxZUsE3mhgisPtQv-lg!pfRxAeS-O9_+P_WV6188b_#Y5Bd@g++ z5NjqO?hn!(&wbPWYk-vZ5w-7E`!0pt&m%wg&Bz~CxLoZk6hBiT=kgeDgziQp$UmlV zK;d?UHz}-Fc)3EZ>rihX2?$Y(6AA|vHY*G(3@QW={&B!^%oZ*K6j>xrH}Y z`tm zJHa_&^PE#$Pp5s9keK~;0<2rGI1bLpDwcC5J#R?N`i>jHt$i&!aHiWPTV_v}cV)Ya zJ4{vc?uecY7Y}s9RcM>>%;IZW|EXS6U1`Q3at|>s_5Sm$|IF%!pr+mE_`X6GYvudtcae#i)fyZ&+n^RwuiCz)o(TUoy8 zuLNO`g!6rb7zkTQxWGp!0bv~p7iJM;t8_K(L!Nz}`4FdK5C9epMzQ$J|6Bp*ud}!} z*1UMnP?)`C=8`>Ue<#Lgk%?;SyWN*%W^mGqePo_DtDij>X@(W|ZP`(I8?;&TRqLP0 zGvSw~;fJ3&8n2%z-Np1t;|J$6!!rv?ZwqEDj8~D3>OtD$l^{=S0cZSCSr_>gN^fMM z4i=Ja8e%U*_S^=J6iRqx|JhueEB6iTW?Zq|o(j5G546E@l4TOh4j&Z{xR>X8kX}ow zY!*x5xe;8G@3u@J%rKdB(>LuuY17muP`G8JsO44sC?P>bq16QtQk!(ps}Mgb$J3v7>?L9ulqeN8Ug z!aQshU^DfP!&Au$q{h+{n0dFu#w~1KY0jx%SX;q~U971yu4u>DT>Y>F@;+%r&}&VQ zN_?|e!cnA}4!o?Taz#dIA#44f`WjkaRK8rf{@E<~2g8-XZP8(sl5bDG99-(9ZQi1D z210!Q=RuZ8W4(z*hoOZcOn+s-JBmg4 z>9-%wA`{=T?h2$|L;mzreU(wDyGVJlczB~*lrrmq8T}cQ(=gfv(ePm^0?jIZCVw*e zFcsMXJ$)DyYjbDJZgvMmu;dyZ{==fu-AqBXh+y04nFaCs=Sp{-1zWAy&kfHkEZxl! zg;*eptmtWupzzJ6K(3^=NrGO{W5g#rJOnChe<(YCD7>J;saE?qumM&gs)v;ExUZ)%dPTiumE3<$;mtv!%N@uH?$DR5z}c z-+5r9{@L53&n{a~dfyc8w@*_n6VTiPap!@-r$PB4UdYWfMLGRdnXFISwehOQAb6zy zrP5tz+Yn%Iwljthzz)kolnsG<>6*HktCJ>0{b+ zMmHY0kw8Z((#Uh`VECDZ+`KEjjfsT)K&B7)aPzqCL00|VOBx=NW1*qNgB<8cg3;D3 z5F~iX@+=0Ve3JMl3cc}%S3j`HkZEe&@HcRL#_a5o}hs%!27Z@}tnYWsjn{~Gp# zvNRsKGQlXR`KW>Idb7GXuK<0I(r+$6=b|jl9R}q1zenj` zEI<#lXuG5#qW~s{o@Akb`Go;F^aREaG=!aBQRORi9ya*A;nRAKL2d52*=>-qPx;Q8L*8D{63VCb zKCiq7z_(xdwEpMiI}E;A<q46T=IB!v0dK_ z(Do#+zr0VrLHV>^#(}?NDBSx%XPF?-^)&l$Y;b@O3NSTsMI{u0lI^F7{EE0fHy=DB4Yol0shuM7D>x zOpM|lx)AW~fM)|<1bCXlr(X{Q|Gx!@HYfBYzzYF~0nZ0)2V4&LZoo>wvjEX`giZpy z0B{!VIO&H0&jLIMSOIt!;F*B`hJJ$k_1{&v01*E}UxpBD1%$qVe)ep@{eTGX(hmZj z0sMW6p9hFE3h`nl(jP;=Py8W3;yr+L->&#&fOKD_IL|SY{}+Jdk1PHW#rZw}-SgdN z(yNi?#6y6@v9BZYe!tM*{{TpN_b5(Xy0d|QSaII*N&4>q>Hc5whxG3&&ing`Z&#fA z^u)gf2&<*spFan93=k%?77#%@o$W25~rxib-_&+Ir z6(Ie6hvKIJ27$BvqWi=`DL0D;6*emjD-0?OC``c-g0eWNFrjczVY9-p!l1%{!W0~f zdxZ&wg9@7!h7|@C1{9_cZhS6IDoiLGRM@OAtT3n$K-|5GLRp5)9zuAiAJB{+4exLy zZpRy+R@{y+z7Brs2iWoazu=p=9l!8WAL4tAxWF@j#O?TwZ6t9!o_v$?+wmRGJqka{ zKTWCf+wtR!((QPS;UK>qe}0i}C?EBaW`ol0`1b+D?Rc>tJmk0LCyLwg`g-->&L3W< z{@d|*Qu*!p{R-u0xuJPp{R?P(&R6#=2Q){lJk&dyLyFt+=IQF*&OcZ`7+yOc`WwY( z(Z0~66u0Bee}+6*d4_rG;(Z9Gi=XSm*+04TqdvUNCvTh2zaby}9v}S{pS&R-&VJAJ zA8mIQe!Wi~d0qZb`RE*Ty7Vi2xKRt>qv)dVh=&EJCP3Ud>B5HxFfytOIa(ElBtdQS6d^s!O813!tN)N~ z=|Ayf4xQr=y*z2aKvJ{A(_F~}#b-q>`=+?{DP!SicI2p{IJCT49})&nt0wEzJxMth za+qEdN{{MiW0G2)5{Q#nK0C=$pBE087RV%zT(Vw{};0G`NhF8ffV6)8nFU>95hCmQM7@pA? zaT^A)&HS}-_2cs`{7@MZ14bhF> zqyb|~mBYnln)A`GyGDcSSryZ(sZe=gO^X=hG0n=ci=d*jL>AMlY1e*fzsegyzf5`7 z0ByJ5gv;>bn9ToPLOc8q!nz$D0(Ftty*J=TLwWo$9~j0r;diXY)1#qKY#ja`!X{ZL zW++KCUW_)&nLy26@`v$dxAzW$Ju-m-zTH;kb_;K&%)2h@=*5gsx@^o<8=vI6pNcI# z48pltB8~FQ^(4IAN2q{{2niKFLNy2#B%GH;5FHu5Zscg&82uM_pQPEYi_5-rflU&9 z2>D<%2_LZb{Q#FPu(mz(-~_TIHr6;HQN!Vr;eiS4@MC-*NONE?JTQ*iGcN{e_NonK zD=2i0O9Kz7!$-`U$KsGP1&;cK=fQt6KA59QI3hJXaIf{@4DsQCKO{g zz^$6H8)WVZrdE`Vi`}T83PC?}vj>5l{5m+)1AEnKqyjh3<7sGaVn(p}DGr#+SJ1(I zjst8i2vap2B=tLteJ8{}kiHau5d1@Mcmf@AmCZ(F8kWC9vo!f_$I=8)x2?=39QN08 z?}<3Vb0(rDF@OUxzvBtNqaql47|3VdtGWtetB??fu|xT*(mSXHf}oIlwDGW)gm+`B z@>jP94#Hgd>=*mRs0R4d3bwx;3;IPp&vpNT>9}sKa2vzrbpb{kcj*L5L?LK zt#oj@?hk^FkRs!;T_#7h4%(cU$ZYz-d)LvYtk7LU#`(->pGi9uOyoSbo=kBBu9vFs zVzY@n;8`nxX)A|+Uhl_?ild+Kg`LOm;^2SVLD z7Tq{1y4|BL5zMo z`4Oin&?hIPQTj^?;(lOjAFd_kD;GTViQU(D-;h2KHqe$75slQ#ki2 z#7v8`PUL7?aTzv>vHGRKW*hM~2J|UdnSf^9-)!IGwh4mt0XIX%MuKTI$v^5+o*ZDC zIQeU9X=*1k-|nk2zmdnzJv2zVlxgj=%26|9z$5GyBk?ougby8%RL|t8M0BZPPDw~? zCB62xe75lP*IrK8M zInRuua_C|7XEfagtS;a_!NLZ^)*mLveM;$_1>`qi#6WYm0XgpN zKH_Nw=x;Rk1<#xH>w2=LZ{Bs{8ps$|K27JmeA~ch-|yA*&dbL&fv~l5A$_*TGA z0=@FK>B~Y;(r7}oa@-6bMJ}x-HLx&@m+wF zvl)=<@U?(Q-q2qFVyY5a4v6L|#C;U>rlA8&d%%5wrvo-APDk|T_aM>R_Rd%cv)Lv$dkpIEo)=Pf~8bHWN{pvkVLI@snm z-nwZl_!?+U$JVwUT^03w&Rsc$NOLpgjy5B;cT-Q!?W8s^vM6ZpEwX{4%%&|J{e8Hn zRKg{TqM&A0b(`8-dfKxRLD%|(p9^f7B<2-WFLqhBz9&v?n6hpvGKjdxf>3nb`r2#O z>4KnGW-)u$8tHPb-g4w~&Ctn#HWRswSZ0PpASzDHlC(+GEDJ$23;C+*y4soy7t$P= zhO3nLRO;DP%d1udGp1@)b@iGRm6y?jE99J9Rb}Psi!TlaS5{r@o}0UMi(Ur$ zUtQlDL}x=2M0uyNIIa0Zw<2b~@1ahjKck^Mx=oy5&Uqc{`ks}8zE8}PCHkR2gX>uq zTi=`3aD~+c_vO^Ur>sH`lJ#n$)AG~MjDsS@#|JZt8=zBdB@(N6_7!U3lzoT#$x zqCu16{TMjXj@9V=G3?Dp4n|Xyp~{<_da!8?aDK6C4L)QdBD25?3^p^|zwv14E_N`W z5ra>;W^5sGwhlOO9i+ zTz*JhQk!3hvlPk3H@kyiGdAenYj5p+F?BU47$(A#QXdny&>aKg?bco zA3z<1gUMbaVuOg_3R+fJr>%uE@nc_|-cM(|jwP#JPp#nO z8E&xgB4F0lZn2K#5xvGt-WhV8M;86#m`Rp~29XkvK4lhj&IFf}TOxC8$sMS!k%`+t z6K*?iPYDJcTu*&C>|dYYdwP+^$OgWtw=w2k_=Cvs0-nBc#ArVPvtP=RPJol}DvA*t}uipHV&Qra&N81Fy2STF)RSaqY0$U{?SwLHxa{&Io^YWiIF^Z(7Ygf&Qo)J zaO=Dwml!!23k+bBH{|fPmwlZuk@bdL!n`2|K6yh9Z_WM3QG^-K#U--dkV}|12|Sa^Q2`kV}|1kJER(o`2aRBg zs&+)7J&f+ba?CzoA$u3uGlgsq9w#izJWiO9=Lli>4Bp+dPZ1_YuEP<%zCBKf!F!gk zLl6^qp^$w7DuJW}5`gatoBEX#(w}O+JZ_vBBgadKq>$YPCm0MiJMeL>L#5`=5< ztfDWF2$4QnXL5!iVov4vt42bE#s1-bHq~Z9O%fi`yDM31y+;CbqQm|Xxyz!&7a~X5 z$sylPK-8vVYknAy-ch<66Iu}Oz?$dA8zMJGZZfa^NnlD(%F@Q?c&C*TthtWC&Ylv8 zMYFLFT#wf5hZ~Qh_gMyWcrk_afv5F8AC-?LFW7cNWAT{0 zX+!&a(UWn0dOP4r*y`jv94G^!w=4V>`UK*4Dts35i1VHsLh6#z9k2L;lh7(a{0~u| z2LG2Hk3V1yrA$m^o()l<&jT+3{4gN0BEy|0CN7@3}za9X3b|WQ9IIT_Tfh!Ynt)l;%EBsFZ*!6 ze$4lM^!NMlbw2!CKKx1_o|(#6eHaej>uWMIw#*C+w|aGK*;(7!fq9lskA$xB z1u6mRWsWJPx4@lY8g_9s6&i1YNnNv_0*lRS4yim_d18=9t3iYhQKr!t7^K*|hU<$o z8#TT$B);{6_K0&kp*73!QAR}X1EFVFw+tlVKj&_JNh3{S#=JzdOYcw?COG{N}l{+`_@ zD)XF4=O{g;z`9D z6=!^Cet{q5+4}T8#cloggyOb7u>5ha(2lo)z@6a8w~KS%*u`6X_<#?;+lQC=@B=>l zs1IKP&s_iX{zEoq8TED1Ms_bQ6f&m;x2}X*ZWG4x*m=>1;Go_r+bA6?a4}+6M^6{7 zD(u0tV)olnl73CP;*M&x=r_avZ5=&%6rWWwx?{x-nSIb5UTtgb>E=$8ymZD%iLqu= zoyR)sximY!$iKg_GXMTY)#??_{9n{gwVNw`|5E~Zp!1t%vJix|pP~C+gjN#gY@Tpu)0mD#i z9*|J(36+;rd5X?^9xx97@n0HOwqfo(fKlg<;S(OfV>O%y;9`n_SL1z04n}`B2=}A) zug2?VIRG7rzEFC{a#&R*hX!Uzqs^EsFScUXkBtVH(tmnmH!!HNIrFT9W9_f4G z_UH?8O-yE7T?QXU2VQk25*Xg1;l)7o)#2G7ACurr4j4YolmS}Mo<5j$&*;kdm+NKo zbsruXc%}5g=qtlVmY05<6KR87>M3hdYMP~4w^$I0o4x}SCYR-=6rrb-u6j&4@{5h|O1;JR0VerZKzHFn==u>v=+trN_L|JHL2MMexwoYZ`NMi*@ydT{)8eGqc{ZsZjT6TYzM4r-g zslzY=$M6+0#rnHSbsSa!? zd5S0Ce+jbx{~<&KVEeap^ZusT?|`qEWZm#$hVEWySNYXjZeT6(v1?bv>4aC6I! z_jh!zzBtrhy}AjYwKbq4>YCbXFAbix{JO4fecRi5mgC`!^}Ss?TDG<=e|Oi8Tb6Iy zxqW#DiZXPCmZPmXD-d1x&f0a+^~d0BTgRs5ZJk>?I@@|eh{{=bkE1u(ax2#TTQ+TL zLuzCU-%{?_*0$r)U~6kIw56eTZ7|fbqqRL~f*lOi&MTlDovqvYHn#;s+qbv0cJ=g! zw5bYh@94a|s`8>W!B9uf&Ym4z2#6;zE83geZe<#8?pZDpntC?hvb?^f^_uk?>HH#~ z!B9QTZDbuj?es)K>|tvg8f$BK`?|wX8(F!cY5n@>3din>b+|vizN!A2bsO^A zuFAE3=annA!*+cvQbot+6S`CxWL4D)MXrvnT^qT&YIS9$T3oyKV*RSGS*2f*==ycF z`h8skF#UdKEV4eP-_f-V(BfLZ;rfh68&|AaRkcRx4cFAYr)p)T71?xcG`eoXwGoNd zx|-+}jqm)Ql!cjc$EpdVt+GM*SK2hdFBq#Fda?0Lx2_YZ{G4$G+szvMHY%U`lf%b0 z1?}Qej#UVEDb(@E(#^nOPTzn(q*Eqg5DE2iz*Iyr~AO><=}Yc_~d${$ig_ z`^i~A4JxuTV~X|PoM+O6C}>N>>!mSHZi5z&kq~@gh2j=7`E6PzmHwUCo%<2EcoE-FjZVviyIEDxI2TDIa zfbxQEr~M_RcchsPyx7}Kl~n0{W%0&)^V%QyWywj6_ZFs>%}FhvgNjpZg?$_^Oofkg zP~jt~=}VF05RW2(%Vif}z*nC-7#(MUI~ZllXNX6kOn4wRoIW05EaN}CBM#$rb)3(w3QJ@Cu&tWajta)OynMyh7V!X?i|6JMRYa@`&HWlnZvlXLRY zC7Zlr2|*$Z%#21KSQ)(+Z$6IlFVKmVJQqDKr=#&gK;P6PYt;<-vFC^r)4b)E7sMjf zLu@HnCDWXqqwpoLsBXz&!W6Nmi2+rtoLJ!K2~)@dxQmVQNF=wuVa@e6sZISU^y9%!n;xVF`d zEc&+R(?rUnE<`tNow7+=RYYH?z`DuBm232P1J+I8JEXb8n!M{KNd`P(au1honXFL;tl>Of^t`WU(XoU|wHwYhM?f?e^8{X^PmqeR5 zfv#p81DyRB5Zr@y6?k+|+SmB*el*>~1NWd=Jqbhl*r-^z-TD|gq-WnZ2UYs_eeuS* zdC;vCNh6jmdJEB4KL4&wt;YwsPuP;X`O5g7d4W}fj z5_#<m3Q!TKIj9IuL2A75t^zXARo_*Z3Lod7!beg^8~3dguc0!J(eh~H-j!+( z>J#V}#+@F#aT=>4}>7O?v_NdYx=8UpdH7<+q)zpJAlDX0&f_R|LP)NAzZ z2?8MxCo#y>vF7e>R?XWMqS?c6^K)o@VxwcUb4Q$7JYmZbCyJ+zIGqBMP0J}0+2ou8 z<&yoy$)(ANGl59t4N*?n&vpu5vkSjVRvM}!iq^_#A|6eQ@-NW6E2DSe1?^G(^%vFX zH0E}2VF!}PF6XFA5(CM`eHg&m;#KdbWB4W|8KuGw6MZaZn8=chQlTZ;FUAZNQA!(8 zN*hs1wKV7Qakz*Q_AF|S94A3h$?*@vMU>>SLJT8s){>0yXi3hMQI&oiW1~5m*m&cf zIjGXg?J35C{4UCa_NNF>yz!1=A-SU%4?^`kPsH@jj=9JNDx5U4^OecMdB2C3Td4r9RED zWx|P*mCPzM{7CtWZ@mxCt2G34>yNkYg<;tPKw}LeIW@w`vHb|*q zZK?W^EjwsO_taE9Y|0OiI|SJ)NyIizyThbdWOab;=mtt}JH>Q>A0QYVqn+0Qq6e^3 zU(;N2slfCdjmeP+9y;ByARQ`fVY2+>bTGtJ3Wag?o&Zmz+fkm?T823Y(RZf_~V8W2Y zb%Tv(m^nK>Q7kg1*t$VN<@KwR|Ht0jz{g!&_ueZbjLh2#N>YDJxkkM2N| z5AFl&P~M+_knP&e#o#OW@{Ch=(KNB!X3-jG%H55>^t0AVQ24oNpngtUk+LmcR1489 zN>qdr;xte~6x0SkCeM7kA&|S~WZa+)f(&}&t;|y}nF-jA6FHjh#=bj0yC@CY&69UC zyI@8T&y!1Xq_t1;WN@BimJ-jC%WyPL2In7`75JG&d05PmcU6Ph1es~h4~a-TK`skK z6J&6HL`32Vav9DF*duU`5D~ixUtUbDeJLC*b1?l>QeBN_l*~s*+xFzXWerPT=-c@l zRJ}Xx7szl?C1Wij59!X}r|%pXs_ogw>ax$CLbaaKvh~!VTGe^q>(!YhAg%Jrs$jUA8m$_s`Fz$Ato;AlEz61C$)r?0oe16czwhEF7W<-pC$O{H9+ zJD**UU$X6p`nzg_&Nz$Kds(z*sb{yw3)Zar7<0M_mXX9bdpfi1!>5cqcT)7N=n34` z5^Hs>J3r1x_CftNC+`x|GW7r~BN;J26ZNjbnS}x~g5}75IcTWaxn+6;jX8!h1I)%5 zW6qx;X0+25^{U6;q9>dgU=qCDT+X$R~Q4x50B%)FasTjkTS3bjYl+k@6vGm)KnYs1@x%-qnIk>Ef{S3N78mv?x&G<-u z@gi3sqnrezK;)J$5Vy?~OpXWLCO$Y651aVR%&qW)`EhlW{1mwwN<2lc1XprvM8u)w zC+gLyOdAnVsUDFy8&66@K0WAqvXqn5le2~Xs8^j-&RRlbE>j<+pNsoElj##f9j4Vw zhq(|;9+2*D8=_IJ5*=%lF-v%#oI+_$56YqMjjcHgv}n7gGHz?%+}2#b!Y$gjsfK)J ztBXL<22M3(qVZ+*M0xJC8sb|VUa*x@8ME&#t-1S*Vz{SM8Mn3Xvew*#4msG|sfPTE zt+_u^N#_~ZYKU)d&3)AnM}7d;{C#z9nOrsGOLEq-;o@tRSd2KoHlnJ>%&>x8kjgRa zdt=Ue!5KwR;j(X6JLr#t81-JM-|@R!_A|sJT3$Mq={TB+zL}|eDc386yK&-XnQcK* zU4`A6Oh4R`9d5X$1BT+kCAi2#?mm5eO-ood-heFsa0iRzCmJpU0lj3;UJyrnR|DgN zW~Q%(WdC+7KIE?{Mlbz1({Z0*$$fV$ABy@H@)Vj1jX>XZ0%!*M?n z-Ck#NT-OFerxR=e^FrskimVFR^O*HxcjhdgRm;rCX8L`6~c%ckP#(|NVHK z`J^My>zvNoB}1#+@OA?Ue6%{Gap`sT|B%t;Npf?eN`G>6Y}%Z8eU&{b*97XF)%f} z%11D~%K7!-wenEN1X7IdzuhW=ji)Tz=K9r)mX1Vb=F$gpcFa%?Zjjo!7C6fU%rX(y zD_NS(<@nbny*K+q4ngfaN=fEtnG4vCv&s7ctgQ6P7mi#*zXi4)z^@_PjkKCoPA|PEjvDFn1uuP)i7Btjc1#z|NA3V zm62`h!;ZS;cRs2ivj1U~y67x^HDoqI+)x-E%CCkzKb~#oPv=+0?3+KDKA=n4@A=X3e(c2%)|PAY_sAZU=$nf7`G2{1 zpI`VZ(cM!HU*VaG@mCegk$sB0)$FG({wgMmC0DI`qwNnb-p2A3J3Na|<{USD%;KGJ z|FZuU;R{dirOV&@y?ref!GDw0FPYj?6~TJIIDh;) z)q)|MSiOsn(7vj~?#>yo$&Y}f8*hj&9TdA>wyfYDURH2|RM)IQ$m+)1J|n>oHy58$ z@WM}n+YA!N70V~8EdR91eTGY$mKWYxwQ~u@7aB^>C6LXDAtgM8M%B8{u*-6ueRZE% zvHi84OSm+kr?_mOUQo`e4BawfRqLMS3Qs5HJv2Z^=Mn}meN?GN1y$=@!fH>i*?ZBu ztD+aHTIUiJn9d>W!k^N05Ho{W=^TRMCmqtqIwKXIL(tvK4eaQybT^IKa%ZoUq)}w| zGw!p$+dj;C{eE_WxWOPH^E$8E#x;Ysy{)-(b+(&N);`+$vR#d=+B``7;}LCF(VG7* zclzLWLCALPNF;lg^2P4MLB_tmkRNL6v(pE11(*iPSpY$E`mGi& zyiT=n{SoL&u_D}QpoA-^9rrr~TeZJ%VxQ2+zH}ci1G<>SbC%Lb*vb7pMN7e@DDFf8 zIN{0tlGwTv3E+e$_sei}BH<9Fy9aYme%-e`JWeI-36^_H5$s?BVTC96%fiyZ1aN}I z-BL2{jTIq|aooV1``F9fVP_3?#Agk5 zOtmotPd!?z^8WtomG||^Teyeb=dPXnD=IHX4BEdCS6`hkP~FWt*vW#vidD69q6hQOSTo5g~yDd)Pl zLwcfex0)_rR*(nj7{j0H{n5VDU5Y1sVq^Pj<+m0F^u(8J;GU*vohZMx$kR#5FRH=c z_Z-CZQKk3`susVM@${O#mqoAf{^(x(!D^}Q8ULkwt;SC>@3G&_@$B8N@7h~Iz zF+7U>>Te%k=?;Ll<=(t9y6$Lvfi!A=0QSo6kNWeU41{g)3lBuS>zG@yc=#8J_)9;D z(mh<9=Yam*`tIgiAGYnVGTONT+-w(*q2HzJ<9x;EbpFA1G14r~*d&;(6)i%AW2epZ zjVYtgs0uaK%-`y)M!`fI)Wm^Zs)6IKH&qXX`)dB`Qgs|ywwgG^L^zJOT|_y@ysems zZmkJ?{tR4shP|8Kv@fHLD3uM-pUlbY5xBj*aJiEK$LEm8+yM?Q85SM#YVSV&^=Lf% z94l-2ddvV7!wRQm{cutYCg=QN z+6v(5V0OPSe>Ww6)Q8(My75S;{#0-UvQ~4dgT2?{Y|D|sox3>~!)>VcBe~99`rPFU zV%X*FFlU?!xw(pj<}a&kqsfq)a?9r?*9n7@D9m$8u5=hYe+;DxJbwnIB0N5TQVF=b zM&Q7w4IKEif$yF!a8=*o3>)@!oa$>Erh8y_j-?m+rhzEE!!B?ROzEKu>p47#Tb+P* z>D8)N40ng!`ozam=Hs9N4`mI1e2h}6dpP13n-jk_=vw!S<^<|Uj z#MGDhDV#jZKBzToP5^Af*?V*A*eA91WICQm?mNBF9hQpvSArQmpSw@ylh4M;M&P8b z9yq2<$9IzZu55IN8d~3JD}wC)KY4r}XE%L}?8rxR-?Bz`s>ind6@{tW^`jUv7qJX@ zN*N%Bsb`S-HT8~){Y3KLuAk7^u6#f7ON?67Y`NuYcD24>zB_VXu}S`{_7gg+t4rK* zT^{=xugh0bkgCfv|2^w6!hmvZyV(+ItXb#d)7)qe1T9s@bn8k3g}t7N!Mc^Df#QvxDwtYd0y7Z3 zR4rsym<9p?OqJ2J#dAcN>EGfh=BbKrUKVZZAX15K9Wlgg>x^L($y2(UGWs0)*U;}p zzYSfF{ys909!HiA_TJg(e`N3HJLtba??!i_uSef< z?D+AO=!?;(qkjah?q&Wd`b%h~C{};K1mv~IYufdXR3w!An~L{eGEQF8@8Qlod+{BZ zj8IoS$D~g4@3%1jX0%`Y7KRhq{~3$yY|9v)Xknkb2Y=nT@Lew}wtbNm%e(-~wWqFIzj;P-o*FfYOu3|JU!*TgxO2|` z_I=8I#_xv2_IRF7nV6cX{K~y+9lq$vuO1oJegc+m8L_G*&w6OB#}q$?nz+HybGGu| zTKg^dUMI)jyp*EtO}zm+a9+~1Z z&F`Fyct?#_+Hwt18@mI1Wa<%4h{(f{srsh2L(${WSmwecDoQ_^OF!DAw~7z(F)~r# zl%C+lFwm4@NTmwl$rrzcbhQ)W{D{%|83y=%1tKn|kh4r7*X% z12-C#xxFcHqp!?$9vu1MoWPBGX>K7sD!jRc^ypvBEu=>Ui!*7$lGV~+>GGD-gLLiX zKxvfTlS}U@P1meTkgFrUY#PIYIwwfbApB4)GKkU(3ToCR$W>!sDD%S-Ixk4jE}H~1 zPiAsF%M(;oLaDHX76u6#ur-10+((@C2`Va~MPUhD93-fZ9ba2K?V0rnDk`BRVF@h@ z64cGSEV7$Q{zlSluXsh}v?460D+|f8RT_7wFushXvsyn}W!4;)S!<9u&6MJsX1Cb4 zerJ8+ib^gMmfXr9aa!YZ>uPS(BImX)W_z_PYHh2+lDjrYoX*O+ySI^DX>!+-ezr<( zby#vA4-&W95~ts&_geeb@2pQ;QOT_hOKx3|xK)-Q{YJf7E6&;PtWR7~o7)hU+$}-k zGL|6yM!l`}t>0OnxT2EV6qekUAaPpW&h_fo-B5Hl4`+Siib`&4SaNp+iCbZb({I$f z%)a$I>l3GvoBDPz8EbJV^c;Vf!X=g}{YJeP+qZs8Q}{D6GjmncPXfX!y2#R{-^lKm zx|^n@X`FSFnxgjSIu~DnVds*v#OXKcJ^@%Ggx#n=p3#UK27ntkSZ`Avued~ADC$6aER)pNj zl@@o`=5#GC*Q?*C_lSM#ch)DasN|M}CATa{+@vK)zftdD`_}KQPh3&SEecES;vjJo zmLUB`y@%{uzq3AZMJ1OCOKxG1xPz7;{YJe{*|&aYed3BrZhlyD=LLxyw*=`o>OElJ z`knQOD=N9hu;k7O5;tZE(r?uJsD0~q)+es00OnxUl5h zHk4;j>VvfHxAf>Y>b=*#^*ig+<_eDOxRavZA&a(tquzV$TffoB{V*oSGYg*3)+PIq zLfva%{YJfe>|4KVQ7+)HCi{ErTH0>lunxLBqwT_I=b+)~*KdLK>U(6uHWsz*$@Zmf zIJ)i2ZBKL9?PF@wvo$iLoc$JuW!s}ZEZa84n>IAHui6^* zR}0N{V0~z|GmE!}ui5sDwr*Rirwmk|zwB!sZHZ1IW8ByK>hl62wO?Gg&@mw!M^@y@ zk(C=SNnX$+r^JBvmwAwAoNu<5kFmXc)J`F%k7;{Z`^?8|dzr&shesYiKWaOWYdgTf zVKz^rv4>m{9*xq6IsRpvuiCuzo3x{u1usQilN|rjuJw4f>j;~#|JmmI&}|#n<}2mn zzP0&EJ)p|)@c?Jh<9%GK92GZT4^`NF#Vy<{war)D!p&0Ke4VJU`HEZF<|}R?J==W6 zEu?3guai-Fk}R-fY4eqIc?&&NK3(_Pqk3*@xj0=mt)EQ^I&5X?%Z72KP*993`2@NB zakr;D%M(;oLT~|v5;`wPklPp^v_0ino}i)()#OXJ(TN-{(dA296sN`0MCHL_laqBE``i)FXkl$0D?TITYxwT=*tqT(O zaZ8+j-Muy^OVbd3X4>3_u;gwD5_hd7PQOkFsFQa&>l0U0a+|`E+Y%&hr6o?kk%{`w z+3&1RTv40b8kXE0LE>61ar%vHH`(tg|17jQzt!qldY3|P2~&8brBJ_7Z?LgklEQGS zbv8{~ib~N{Q9ln0tLQRIqkf~_U~9P~jkB9uah;1Vz_4?<*b=8-Cn`B-0+WBX+MgR1 ze948w!a_@&exu%CPx)u6T9 zp7Lx@T+x`93CFyUi9X#Dr{AbI*i)YEi7P5OH~sM?*BXp@^_DpOM!mtF@@!9BQOT_c zOYX`baj)3&v3?`lP4;`rvpsP|CATExR+a^cd(jf7-^g~8{hsn{Ph3&SEecES;vjKH zEOGjcdME8$zlQKLGeby)CATn0++jdV@XX z*5g(Q=aXKD=N8$u;fk;5_iB7r{Ab|%)a$I>#Jp0a&FVf z4|DZF+8(v^=r`&ewr~B;`n0)%WAlyu(+4ct`i**no#XsgD_e2LqBGfYGwgc}Tfaq{ zwAyXWD*iF=?VYr!?yr4PZ?yF{xtcWkGA`)~05it^< zd9*dB+n~Issn6zmzQG$I*8E57^b!ag!Fq4L>$c z$L%Vn+hWzGq;MS^T;R^%xLsX+3S4a%+tpQ`$SR`C-ff;P+rOe~S7NnK+*v{wc%Cl% z%c83*v9=N2RYDiIr@J!O#x89g33XpB^_d(Od2^kCkSAWGcWx6dbDia2AO(tD)ZARl zJU-q}#T|#B?T0HGin2wca|}67aWuzl8@x1min48kcR5@K2RBR}*#cd+jqP^7+4C); z9A=y=5Vw2nHobY8OxStaVUe(bZL}Y`X507NUiWn+w88MP&alO;9qw`acwaqo23KeY zJKn%neQWs@Nu^!FgIU^cjykDth-;17@Y6QgnyaIp@rIo~TU6)9sB>e!&K*Qv*Bv-fCiDw86;Jrba2wk7Qhx zi#%>V&cHq8l_a($noCOE*ZWoHmLS{mx<`^1SpOEk$Gq)Gw>rWcrvhYffFez`>q0yd z0&k-B{TVNZk2~#qGF(ar-i^5z@hw}KO=Y|Ga3JEtoF71jlpKm==*huk=pmV{D%2#Q zIr(eT;N(R!O@o8vx*Bw%c1iQA7SB+cUv(T};wAM}$H`0cBeNDaC})*z*{<$Ha{K$a zVeem{_Cly6&VhVJY+NG}lgZt3cZ-^rwp83sm5rZO}; zB{_?m)HJ^+S+<$}li!KN4+K}qEi(f-i$R6KM<9cdT3B3TiowWPtPY+IW^xvThEYtm ztnL?s3AMQLhhPuu?}8KA)g&nlgLZBP>yD=M?pP>8X;sz8uJb5?ctOU=$6OQW9PX>5 z;s;MGNq~G2{48ISd6?YSy1y&RA5 zsKwONd`&LLIoE1(WBlNHDMH`5tq9_xCKDh3;Cd-aYu{2T+Fn025c@ddzQ+xOajEN+ zWUpPJWG~mBmSCA=uU(;JuPSJg?4{lzc*vz9rt2ffEuX8EBjyFyC+G*%H2oi3A8nZ0S2j2a==b?3*X0M*O zX>7{ZpSI2WB`dB6f0y!{YWC4U5}n zJS>7avte<2DDbk%usE9DE@rk^wq>c@%Rz_olryxvN1e>iZgVW+N&Kb6-?94FjiFb~ zKGCw~x<{-vBu~3>;3Ae2=b@+Q6COw3gWit51-%k|-#;Bc{yXSjNBJ8$4tck0jBPISzsSz zNphF98%B*W)+M)N9>DC=D3YJtcnP*anl#mPj5s~S6fAbkjN2SEnD$$Bcg(nY9a!v` z8LxsVW?a1v(}0*6uYw6P-Zwpt&EET%^AJHl=c$&ICA{ba=8uRV3)9vZs|3qDWj&Zj zh~VMrF;mpbvf4X!6+KYKRbeLoKejQ~p}7}L{b+6VsJN?)$rX*@t0;-&7n|Hdz;}6B zgb`eB`4PORaR8tT@l{ff93W1;xLTHB&|1stTp3cO%3Fdo6EegGt|e$fB{agfINTtk zI$4H9Y|57SN{~DTod*@YNpcRk)X~?Zmjf8{vEt5mc|)O{&`fA0dH^lG-7_z)S2zB| zO%Ha$s08=AkFzEsN=J=mcuwF!0pCi6n@B`j~Xr!XYL#afpe>DeHcH z&kOVLz1NwCZ6mI;idhtf1J_H7RoMA)Du}p+ovZDG9`yv6ho06Zm57sqsZND=pzq4<(tY;oM%D^@`La?5jXFeQccmtY_T2S(0u87;>RD_#hh z9xGlBnGUO*sVNO^`-~z5)(j#A)(j$5fzv99lnFAGOk{h6%pFGkbdTJji8o3w_}bf2?TT*^7%U}G|hR&9#j zqSty#rMKwc%$m(V(Pe!T{U_)zpx2_WK%awN!rIJf=x2E!_{22vn`rEAY!*VITgzmP&HOeu zcFUegA4E)j)bVW& za;pc16KlCaSPilwl6!Mw1KHbPMa8#eEp{?j-{!}P(r~O;l=)WE zpeMgp6mmmL#k7Eku4o8H?nc*r3)-yE6eh}Gj)G{pFwGBm779p4D~^-sx_Fp-9B!VL zkB>`}OE2hF3lgdNx`tGuu7R9u;2S@D155FR#+`4$3`a1O;hCFY%6{+H`AOkqejIIV zM&IM=n=lIRlTVG7@1-MHgqIP%wxMb<>KnMO-E-8iE0m&(ILQ@G|PnERHS z`NIhXoL|A9DH?<&Et)BP!Qa9=%x9feUj{$=K?nZ~kCi^L`s6bBIS!nt z``kwobz2+j8c#o^VF0X!xGTz=en*@y`&2$1`S-~E`)I;zMen`W;rVnX@_4|cgm(*i zeB9wFy{6*#*3$01HR0_*&wtY4Dcz=GykE-J-^DvY7vuN$7VM6Y`J<5qZ!&;M0t&TF^#uNO~z z*qLX3$l>iJzd4YzIEyKN|K*q6`*EMR#+iRjW)c0xZ@t=?e?<8SZ|g78_He(+n;-LL z{guxBh4(n~d*1vnN>Czk{@E8e^Ib0e=kIhSeEuNLe9rCm=2~wydo$%t48t2DzRkp7 z!&+xvgnN>_kKZ}FNp=Xv^-=H4%O2OSUT?=R_3Qi!9@qb0^Y*yD12TAAe=ox>w^(KP z2<`5@yIVVM=qNlxuNUyvuUp@=rp)!DtG3*J{jHmMC2dXNUHTiZzv-4@m-3hDn_M{S z)_2_g*-cx#ZT+ogyVSwFZE4~)y_dIi`I7v*_Uk)tXexa$@0&0G;8p5R9d*RgPn}2% zDI-#7l-|o*QIs*}oc~!QkEn5v6WgI_@6mfO`LJdE)-8r=Kc(--#gIp+15%==xE$lh zcE~Hdm$z}#^&MN*bl&>wH{H5!&6<_1=F$I*c{(X?-vu4TB?U1bRgd8iYQ1ka>9LzV zz5Sk^x9VNG4e__kg=k|0=jk;|_1^A1yG4Yr^latlT1@R^f* zrH`_kKf!MPL3Z=Ub!v#+eC`6ZJ-{vn?i>K&T{g@?Ob&w-R?^${wkG#AfVsaiq-Esk zhSt;C_D_q^SQBIZ^cYaTciQmpofbpkPmiJS4TIG#rG=|3W zwLe&sDMz@RMY{b(t1+cGZUgS#{5niIT-$E<7OlXP<7mSToM7#x9Ea_;dxKS%QiQ&9 zGdaXllJwj>vXRGLpGfwqqu>I_>cUH}!pJN22bK7gT71N@SKPQ8_a}M&z>oV6LYMwv z@gHE)&aUdANcdm;DSmKTd^$0ZyCQ4MZYZ*LFMZIn5yDnXlDyXH)SFE`F(k1U++LTHyU$PW{120{&GZ-rC>kk>BN2PF8X8dR6q*8)~vZ<^X4LZF}*llsyCHXSQiB6 zeb&ueZolc)PkQ9i@$it3%sda@twAGDrE#tG-fQXjwHJCSib3+v(<&laYdnm{`FPNq z^z`B=&U8E+BK!tCEulj6VTR+OA{1+tQ(RVj&RA(Y%wDCwfPVa~c+2!#o6htvR~K-< z%FDX)(Ua9#?wyDz z19KWAqIQN=9iIDk;rhi;a^I;om{xFSC}kwA4sDzkI^RJVzw9z_1^U$~|FptA!~i** zYkwdUjar^^qLDy}QoKJQ=7OuV@nw{~>`b)p4=$sW!8uUS#^@Ft9Vta=?Q3B40w*{$ zQjVj835U2cwI6eT{@6%49>)^)2M0z<5$wSXEDR9CoQzgl6?OTz*`h8G! zZ8W`KM!>V>xMh3!(PXdM1H)s6`;oypP&c;l{`I1pZr!4(Q(iHBlPc|Q63ynENc;|! z{`xxIttwWv#?$?NJoWS|&bM13IqvZkj;VOQdrj8ny5qRh zyPubx|4!$-|3XZf zCAUGQ;`qOc{7s|;b>siRFoT?P{`ZfqFJ)aveoz``r6_CD-b#{YHa}eK2LaL3r?!$R zkN?w;*Ks_~RAefs(j?V-pM8ms*RZFhan(Cjpl;*;ZPU$Pk9yC|-uGHEOyl)x((AL* z8xEn?c)i4D^af9F(9`qQ8P8ug5WaYlW0-xI;drh1Nh@LsZo2dXuBbF#Gt@RRupVPz zJ<6T>V~i?Cy+FiCd7?jTG!X@@tb>BDbLYjXeU!vGuzR9Bxv&1zk%>86 z#AHIazxmEj*I^Dd_kFsqIr-3IyaGNWs{cZEl~YA5z^>8sJqkD5bx%Vw+r}4>9xj@l z58v6?xAPSEmhK1jn@IL5-=`Mvlib%UC!_`B+U|+I-q-qu2_9R|4kMrCo~b_pG6j;S zJ)bYV#6I#^>lqXJ@@W4XG-kIGng074`E;4jJea#WoUIOBZMrMb;eMifUxU0xFJ-ok zswHKj2j$Q=H`lg^9?izJi{?9*ovN0g zD)n%4-?Fm`HL3}8HND50&#)%QniH!j(j^N69GyMJk%?rl*3CJ1Bny{f)Xa-k3cmH^ zQ-AaA?;QNw@BZDP|L=eQ{lwGHeDCo0pZ!0RQ_uawkstihVO~oRjKLo_k8eyi-r}#_4CAnQT1k?4LX54R8GU`RBgr&F7u}mJ3n~-ukwM z7rNiK|H7h+-to?h7hm$OB}*@DTDJVMcdxkoiuYW3)i1ucx#jBjwT8~Jr{DienQK1q z%PZSH_@PxF{>VqKZU2>zt^QBHdi@O@>(<}+$qhGs>gHQE-g?`nPv5?IOXp{Ped}jG zN9s(y!x?HUMQVw+{R@51Ygq>wdYK$YdHPlPw*4MY;h2i~Hox!k3v}k<+g=7PK5ZD2 zntA@86XOQlzl=%Wv-nj!^Lf6ir_A?Z3O|Jj3FG7VJYRO;dA@BWcJXcTxO}1Pgb|Oc z@ACE`Kd5L)F67%Zj>{hBmzWoaOX3eD?8?L{-m^pLHIO5+NPX+f@oqgN9e#@Gh*MF83?T!uWJ8oXT zjyRp@dd_lIdy4tEH8(g;4q~WE>p3T~-aqaq3h{b>Y^RJ>&NluloSE`-HwE-mw1aQ- zK#8*jgUMj!{>-|IcQx86lc^+oSF9}^Lu6srG&w*W8_7^ytIPEu=@iZfZNsYfZe-lxsg+J7?|%(Q@X42$ynMb8r0N zvZjD>dYmI*gjqAh02;O3Bj!zoa1fzavo&ib^u*Wa)aWjky+OQ!(B$pFtik$gKV?mQDI~ z_ubuXh*_UyCs3#QZ&4EC&S*uPWpXXfvLd`I<1BM{VU}&MEYok)zs|n(JL|LTL~5CC z9Oi3TbDU*zEzYtcyw*6&9A21ZAGd7MZ`5yh)a-ZGXW5C=vTH5N{E(N4vrMkVSyqI% zGR`uG7iO7mhP(UWQU6N&*6*y(vJPXPI1!v#bd3+BnM`UYKRAmQDJN z`kU=rzq3BePNbGysbs}{+3GmUHmNxxD5GW*u=tk1F&sbx!) zthkn~jk8Ry#aUK_w=T{yhZknq#gpoO>vgVwK&U)@V3NR=J3KSJIAs~zfpgq zed~ADXW5C=veT8UxRz~=vrMkVSyqI1N1SC2FU+zA%O?Fs{q^>(-&vn!u9lH;tc&o? zvJ8o0ck6)dNgSAZ#}CLRFN8m#WZAPiQSU44A>`~gd>#F;y?l#we{C`N=V^Lhv~T@# zUPZ5?L;i62>*(#g(0a(fRnA+bdKCSzJ?!irML%35ncLwyIJijWp0L*spo`q?3CY?X zzGmBmlgzERUqi}Z-*)M+ z%ZOF2^MN|AAeFLT&TBwN>*w0%_xY`5?7XVAem?B!WxS68PcJ4g)Ae&5Hc)z+F||iD z-TJxWd!kC~=O%C7Ej$O&~MK6Isdn7 zWz>f3hPL^wxuva9Cvs-mIO=7K2BW>}sOHYQ3B=ogHI_gb3R99hhwSAaL3mEEUL|-7 z!dY8S>qPKKO*{^~&j^oW@3rv=uWttNLI_GtJjH7!c#40(N0TQbGUKmAd--6cMMlgSXWTo$`Y{?hJCp^?| zVk=tvE>e_d5=XE?8E)0+A$iI$XC$M_Fo|O=X;$p3Z?))`NE*vzk8xDs+ax{P)ssl} zevvQEfef>!G02hDT~zadNvqoZ_S(mAs}qLvC}tl!_pXePL6w(3<#MTTuf&qc`I}Z2 zWnUMvS50tV3L!Y^MOw1|i$_-MlkSO5sF0Cu`;l{%=}7k^_iZ_OZ0QTY>7WAmP#+>> zda{qzWuHBT9%`xqo+kUC^-am1_p4x?pfYtsp`bGBuJo+W!@dQ`p-fO&MXYi`WmV8B z2r8?H=_*PfsH_T>P6C$*DyxE7K~Py0%u+#R718?UkES10gBVQ@JEPAT+hyd^8W`qB z91jalxga)#>n};*oM+owE;B?v3rgesiQK2X7_ZuIPW_l-L&bbTp5JOKzJIy{`V8=k zH(@f4UUdaO6#U{8G-St+z3d(g*G6OhKqz(}L=`4h@8l!2`{S^>MQQ9+;Z*F2U!8m{ z_gyYswmg46!tr;vcKkH?J39nHnq&Shw!c>X?zcT3C3@n6#^Ix6o+y8}%hO58FG}Y) zDc8hNOkX}H#NX}r^fE?`v!I@yx6b%HsrXB!X9fJ7X#LyscMMr8bGo;Oq~o(!+I`5X zeBD56?p$sSbXVi+cERjfhftkwlmF@Xx^r7bz6W1-9ehqrJou*>;lV%E#v{Dx__{b= z@Le_W6t9`!DPD%h!AYeTzRv8A=6MFh<4!O3wzZEA8G+ml)1%o%4LFP7qDHkrb_p^) z!3?fzRKsMrLOO2DBUZy=(B8-(^aJ=#&m&gDT%_a|U8$^w$^61F;pu7#4xXN;dz`k; z%RKOOpW`d$=?V`WafEuz7Y4_9qBi!93&O=56IZyubDtb^g{LRD!sC-rip7ANme4Tx z*H|WLMRIPa2QzqErZP!)@duW(9g%hIJ$Z?-)vz_>LpOM5rWz(StcQ!PC0SjXBFdx_ zdcm7B)#y>fjNxj@j>5*-XEipids;TGJ7(j$r``~*dIY&A69My4?Zhq5bUx;x1Qj;w{6RIot{?j1>u$mn zANNkr*XhXrbbQ_Az*S9RrFFf~{`L~Pzr&;zv)9hjadGKH&%0jw?!x_L__><*mpR{; z7*;}3XjCov7R~S{QWHM$vHi93a}$33PxQq1q`18FTKKt`PD+tO4Z}Z)pKFGmkLn5W za|xf$W)VY8czVueeA$NhTjoM^c;59QZ_g0ENGWjDu~j~O1DF}?{}%jR{EkI%eKHVv zp;u+R#0ysI_VWr+_Tf{a@w;2@S3Fx@dfDCIVc6qvnBJf5VbP;Gd6#O6J$8jPmAp$c zAl~!PT*~0vl@ea{Lb&>rCRz+{*~t_O{v$S;W}bW|v+X&R1oCI6mSGy1-qZQ=WTt-J zd8^=qt3NvcYHrSK-!0OFYc--9O1RxqH0l>aO$hd$sC{}IL{HbmL4a}%9D5=%SW~JH zlfhaz#H1z;F%eEq@!>WS-$%$QmYxa=S#5o`ignkwXcf9%m7dJ$2|e(5Jd`_31)j(5 zF5Qz$BdTMsp2QgeWg=7e4c2-mM$%3>_QC`toaMVPg4Dl+5>^o%VYLMkK&j=g-!J?cMUy^^g>F+4N zc=UeA>Y8oi1?Q zH9SZ+^Kho_3A(I(AROSe1uR!}8h(7ICoiBL&>{RMW z8qz%vHRBY$^vdz_)axU&0xR`MDSF@ zWCk-B2;!-XrbWxW%29vMbToa$*(RM4_I#u1LFc$fMljIw_PRY<#qh32t9D@&?&tBI z^I!dhH>%M6=ue~D(U+lr9{m&UoSlvA;}$hy!#BN_`)?C3 zsqP*>F8`)V?zR0c?&6QPVu~MrFBV3v#afq@U4F379R%JCr=}4tym$6)2N#+tT_F}u zti&gU_B@~bui}zVoKJ3QTAr8lv#G;LwVQ6;^F;aN4XOaB37^>5u56bkFHOz#URXmw zPyBHP#z}Fa2)bp&s@A@COef_%Ov1J)E}Nj|qbgQ4uWIdUFY@tf_C6Y*6Q@m1kl)}z zW~lrt@yT29C;n4`i%;&xu5=D#W-y^sRW4i@9%wUCw$F_en+k8LPqMMiFo$R}Ucq2U z8D?W!LeRty;GSlKI}J?B3hs^dY}dVP4@N{6mu|<#C@=BL`bDG3y{X`CjOgC#PKx6`^^iw<0uVce7n%iR4{7$#oue9cxH#*DyrN2Z~ZYU?~@4SMF{p z_l#R5Xo2gi1SK9-{YLHgR1fi<>QF+Q21n6WF8p8!AFB;JdUdzv&CIjmVoI0NCd)*vU$>`iZQnW*eFTps9z z;~I<^LS{I@Titzn%X=_bdu7g33};a+4aX3yx|X82g*b46_11D6EyL~3udtTGwfMHX zXl=C|hh?|j!K!L0g1y28jbJ^s6ve&aJ(lqgCZ@-x*1{o7_58=`h$P9#o|K*_v?bsB z(w2BqI;hcsyFKkZR2|CG&eK47+PNw;>I_$LjNis6 z#c>Ua#^N7UD~G$r6bcwA$B7#h+a-R(ryR#MsQfy1DMH`5VgKFd`frWlW0|nW)-Ftb zvi$A*tc4Vn0+rabl-74_>e77Pz=-z^diXHL68i50!HgMq61|IgU zC4o0 z-=QBs526*W)c=}SS-!j0`K7AKXW!2|!cy{YDxOb$z{yGfOWfgU7ymvc9o1Ejv+qEq zT6{ManOdljyZmCGI|g2*dDRLB7n-S=$y1GIHm^;dD%%eyy#KItX<`52)1B+qblkjo z<8<>X@%Td|Jdr}9YVAMl^0SlpJV|VSt@Em-0X@YfuTF4YwZhX$c>)a(qg)dkFqJ%% z$8eTf^QzSzyV;>97I}K!T610{@0v$#^5J)5sxD7AkBVuZh-vaRV%cOYK6Cwm=@P4O zhwGC4DinGFrJqjXD08O0m(TnY^jDJo>OOMmN8gh^oZLOq*Y=e=(_h(J=VgO^lGs7}7?BgB zFp0UJ(Q`jj92J~C>ymd}u`u8%qy~J{m!q9nc4GUB!=C?2%b(#!UaGnA|nQnJb9-X=sTI?p3-J9_3&o>eI zajI6o+s8VYRNQ{^`@Jy%Oo*19&vWZdpYFWgx~9&JLVqpi=2pbV=8zA`QwQrLsOYEJ z&yD$X#Qj`sf35x84FNrso%&7nPba#5w87I!c~kwK=tzF4FGRiys#ZVO=TV!zseaGm zZ%$&bYf4*Ogk1Ps@6FLdq#n^J_rNL^N9ckN4(yKY;zZq26aZ@+1a7Z;{h za@$6=6Nhut<~6^*{`#Ap!$(>^*t%xZ?Kgd9%?+R3vL3)G_T`ta@M7NA zp6ca>h0U>|oUap++j_4SvQe?z)*)|?+oQ3pz-PLi`y_mzR4lhOMaHWJRcwzNZ@X0> zsZzP^aXeJ_V@3JqRajPXtR=T~!pBSJC!|(khP0h);kVX$^PnyEvJUROG{U&5{dJRG z)+Wm(3TjoM^xZbS5tiSO2y%jlR)ji$>Eg%4;tDqSgd|jNsDcSm{BI<=S49M9R|}qp^aV$T@ikav~e?Wy9x-QxDLr z5%GFS@`4_V$$+PS)NfL0x8BoN3s(;%(Pl>9ES*Q97n1vyHNq3b!djQjx%~O!Zc9Q0 z{kVO^0zNYJUkSL-Q%MHAi$F>E*{&mv$$sr}a`)m$W@O@|O#c~*sixWLE;X5(m$_&p zx%1)Vz8A8u(i{2?Qw2FyA!Ny9_5CS*WSIC^4n1;lQ>@j~7k5tPW!h7&*6XsOIB7j^ zlzwGO+=M#bykmhdop0*8M_hge^zz-buKvVPRo^;wsi&3i*5jTZ4(E97kdha4L%_@F z^^qrs#CHx`PQ?;H?KFfkhehEr<1|_D(P`A+GK<`e(>xrtSA()zJPnkk?W$1DEmRM2 zqB@iir-2fppe9nUzKPJk6^&;uOrj!x$(Lo{!`$B;nXs$6S|vU_GI6$D@{L9wN+b>( z$SinXx1H06oAAk@VSTn86?K-} z7v|nFE6^73q}@yQcae`Ljwf27Rii!866p@ImLRTSB16Pl zqDQXT_C3N#w9Wf&!H&Z*ljMg-(+_~f zk%tFpml7mOyL`a6$?TQeVClu9*d^{cT%jL%`c3oV9Gt{q!aGb%y){NdZZc?ZE}-E6 znmH(^R4<=a@VbFc_HpXq8MEs2%i-+Ado9D=YZJNp|0!xybF)vMWD*2V$v$%>(>(+o zp4Rg}#b6ltjO^1%1D~0FW=R1|Y7Bf%_GuRUkw5r`>@#!cJz<}3%s#WCfXPV1WR%$W z;ByeCXII3hPO-3&>)22fHUqhVlU}-@;=`C|Zf~&o;Du0v_%M#SIx#ZQs6;ZwrTTHp zl7h_4d-X5Lh2xn8uST6uF#{SIdy74UwBJqv-K#t93yv`d8*YofevO+~t>p2Hv?f*u zSCjY*YdFNelK`QmOw_SMQ+uwfCMelgW#TUQpT}zi8F~2OM;{#>9UJ?rzxwOH{>C@P$De%iZ~o@n-~QXb{qA=U z9s2vfpP2aG_rCxAXP=##dhWR+M}G99=bwM!g%@9Z>7`@Ge)5xl`IlE;t@G+tuP#8H ziJCw?kE(ms{duGAf{67B843@l{y>mjp(!S)`-TQ!j3y|^x1^nh(4R}8`0SDSC9Kb%!S|qN1sjDjcDxn z15Vi3!9&&Q2O@Q7R2_Ey^~`jAogyecT?su2ja_dd;$DwgUuOra z0dfcvgf)d;0vxk$39u9zvktQkcjZALgGv(&41bN_orQT8{u=Suh(n=!K=e0eC%jU!pCkwHxhm$1=2`{@`=VIgRuk0AK^C=ek0*yM`IE` zb|NoD55bTAT?RC0-5!mT%4ZI6mCGF9*z2)lqE$_lbMz=yX&dVBhi;gMi3V6m6~L(q2z@HytErtz*mKaFs!|J@1AGqfIl!^kW5-0FO4xJIrxN}g^r?hB z2Yo7G&p`v91AGqfIl#fk9~wAzOv1JVSnA!=KlP$ufvWzFyK@N zT+oR{nCL_bC_1qSa}juCdmS2hBXI2aLj%XI?C~88sXqy=>^cdptUZY^fH%_M8%cd5 zaO`#1aR&xGF(-vT^c=!I2|b6fPeRXu_DO^Ryb*XK@J8U+@rMSEop_p}wD_lIR&>yq zRuFWxIHa(ofTw_CM`HrV?!fBxg<4<#R?yLy^_ajxKw|<2|E<{3n82}R&gxv2^~r2;{Ho|sah%KiIws<%0`GI*{1 zgS9^tSI)Uw=f7;7bRq7o=v^Mq=R-xjTfjT&@qB(%#M=R0=0`4EpDz{hG;`bJ@qGSN z#5)Y$evhYoG8OMXw-nyt!ExX=blzJyx z_OfIP4L9Am zW%H$^?L^n*!*|qp0q)Y0ZL*5%^42$`T#nW{4=_%plp6PC5ZhHfq^Sy~X1XrFAfTrv zH3$*wOX?Hdj*|PWweG#h(`ojej#0l9muBiE)kDe~&QfciY=ft_!J#Ks5U)6Ga-!|U zAj4S5FJm^1)D86tOzYmO2%mPFn84hHiNCUQ)xwol{++0@b>VGChVZv^I5Rq;UZ=38 zz#GTWccRDars1SW+cHDct6eLzN4>i2G}?O$zk=uN>pkY0?7x6QW<~N?ro%*X-+4|$ z-_B2h>9Fp8NC|%F)$Gd+$^Q57$vaGfB8HF+>Z7@xA{zBxtKadvZTIe_S2GC#7XS<-=vnV=ent3N06nw{?tN zO-z$ZU%0yOoa7XaK6A9HW4Sc-P3_mm8;<(O^qWY6LQd=9xDLDLzEX?w{dQ^3f!%i| z`sPF3kdAs+5uwrZRIgZhriDMA;uH~~JKrUyZQIjQm_u%&!>0( zn$?vbhjm4s@^wX|qTW{hme&{I5P#Q3T;#6=yO8dOR0S{kcBbQ1 z*Hi>`X}F@udp_+eru8nU^Nw%7-()3fHCYjudJ{D{`=Cm_A^9b-0QnljMv2v^QJxVl z>PCDW&2_n5A7A~|o5Z!))-$R8BI~Pv2%e<1$R71BEAcd0@C1^{M~K^uJQUi@lE7nW ze6~HRHd1!}<**yK+^_P(tE1j!sq5s+;I;VMt^WNoPrr=c)A-PeZhnP0qkK4Jc;_(g z)WhGM=FK^n{4buwkuhTNA%B*3`20Gx4FmMN z(syXzRARrj#C}7GT?aWs{{@b!^gM)n?tIOb+X_b_3Qppa;OO*b?)qCDjSeoUahj4N zOKaAw*|>fqZ|Sb-*l@GAiSIL8{M>HGE$gqpb@Tc{_~P~oFR7gE(n`hKXTiL<)_n#m7x(NeeaMGcUHQ>yeImotg4+TLXI3tHdx3Ms%oT-7;cTi;s)x zq`ZgK&{15DVfv_2O$(|PAGgcLE91Rv_4Hy2wfMM;Kve&opkmVw)JBZ2Yrw8_W-vv& z5?`nIO2>K0=Zuy3I+F`~t?tYX;4hX7>tw>V<=)Ij6W8Oq*r7(EK-9jUed{64g6>7i z#2|wUb|+efcdER&fcR*AaO=Rtg(ml%8(r5k4HOY!r(M@m3#V}gIP+`bn7FgbVn~Un z#iY9y4l${TLrffwNyptppFB+lL|?vRdIZJGaAttnIAhHDGsKL(ymbcA6V41UiQWt` ziC&0lvWGR=XS?RJ;r%7rKXO6j5FVoFmxG!}*6AI8pn+ zw4rd-ZlD$pF{z0|OgxUUG5!jN&9ySw2j!MXZeK$W!=1hHiYGyI)2Qm1l-<>##BLfW z@u~{df##|q?y3$Y#A%>}C@AkNH?{XPS?FBwLl$DLeW0nmyU9br;Rtl+P;gVReY|O> znj$p=-|-X8rO#6LN!*(rXGRE~zb93S(rV%nz?tHXlfNrfjw9g+;5^5DD?2zsUeMPD zCxV7s71ni6wKiE(;3&ud)`9%Bsd98=BMb!c14|K1a^OIbTh+t80Zn}xbdq2?=H z03+0@FhX^(94wzzDTQj4N}TS}Z^c!M-gbNI(uXm6FkBVG(&yZ|&21pgNse&F{K|0b zR>YxbeLH`%{IF$izufX13gdHdxtsAYxPLutH_L(NFLzgg=P!3xgvU3_D*<=Z2pssd zfdij5@Ey|y4u7)UcoJ$Rw?yONb^G)qSlRmv700CV_ZO<5X?QJ`)?0b>a>HvuT5mNh z4X?%0daGe-cr6iqT``U}y!OptcpXjmsec?zZ+C`PY_RQcM#xQ%nlvX487a%iIz3_EBf%YOh{VMn8mabUt1){Azb=`(F*Kb_EWkYy@?wc?F z;8kUTvP)^yTBFwT6Dc%G>$?X9sHQG)fKBovJodH5Ea77Nx4z`tuU}OHC-_QG>tW=nY+-NN8gWRTRZq>(7l^Kt>%^0iwEzlqYR= zCe9n|!~ZBd)Vxd25$t8_?^8HuNPCJx#9#g#!TEekD+m?SHRuync8}VpaB=_kCZUz^kK<|;i z6nr&Ri~vEm{!+3{a-ZhHMHTd)1Dza* zo46Y+_p2JZSY#h<#9#7)R(Jo7`-7XnCT5)~Z{ExtO&?N+MCBUCAp0lgBu!wfqLRrq zFVbSvRD(kq^C(D);0&_G7L*hy!!gRRP|R<3YXh0}4y=x-+6&bgNqRlnqQnt0I!uP+ zFm>EjoI~%!W$Mc`Q0L1kPXEboqU96J_>`xIEDH}oB94O?{r;2Bi0#lJBAhSjJbZsQ z-!4ORMuaI8139U?hN{~&#BMfsi82V2icyBB6;HlJ-VrQ4GUU9ffqhAx_SA9upQVWT z)+MjudXwd5RL5YZ4&(KY@oJ>3O`4Yj-ivM0=h}Jp#4w|B%s(u~B$gk6sWR+OmSb-z z$A+;o?B;Up_k-=rhL&w2E|d-*DFxN+J)c?bSr-(%=S*eK8SnXNy28@*yPhC!LT@)~ zrLyT?elNaRz%v5=P9Hb9RABFES)J_HQBmx7e=W(!OB`pR>RipIC8B@%9bwpaX}qvH z;7aPT`@3-{iP}=)Vuy=dHdw7+mFZ}EfTJJG@*c=O#$l@TWNWT@b?fDivDErjg5X}^ zc`}l%EZHuf$7fkB`CEcAx`lga%V5iVJfDJ{DlDp7-3oiohhxt^$JbWQ@wGn3e+z0Q z$@*0&$a8k9c7mGCRw={D*W8EalZcN&gJsgPbf~3UI(&CD^>!R`?T7wS75kxeBHVw* zdIpV_{U3{azoN^=n{4=-0ozY*NmV4W5p2@>)VWHlhAQ(i^)5LV2&li(9rfnM z+!DS9Gtt9_7nd=Hn9e<3#& z{rg*l-hW1;rQudAE)8$7@-oI}0&2sa3-M8>Dhx+D_c)xroSwQe$p_~vTadQlN&XdI z6wqS~gEpRU={1x4Y|6s3YGHDbdaV!te-*17FNO7YjvE4!iDb9$Y}bLRfo3ewZTUcd z#Su~wC`TG|HVj4IG(xm27`tIw!Zb0>iu`d;o&%J{)$><&%Q}LYrhl>eAW2KpG;YIrhS*wFeGOfV5%`0Aa$TceWR1SZ@#tN9p*={JFY-A; zo(DaXTF(78W$8cTQFyMF{rAPxrp!6lHJGnZu8x1y;#;kEpe*(lhGt_?+<>uN2y z+eM)NjCKp|kvKR!x{ySnye=|A3dLAULinsN77Z!cu7l-q^<}fjh<-0mbh}YOB6o2|s1dGL6yD zlFD8Qk>P&*c&>}?qjNawdLR?MLxFSu0w#x{HbSezjPn zWZf*|VOqh5SR!lLe>_f+&mdcXA^X(-tIu>p@WGNH*!7W1O61Qtd0du%P*BH+R&8$g zr*AEth54TNEQONYx`^&rW1baM54|P0j+2Yc-u1*^uvHQwFSDR)zW**JrE8#v76>FF?-8;9&8h2g>>N3u}*2 zC%gf&dU*Xta-bf|{_vD2{Zz6?>tB|qh#kpJHY9tlmBV^|G+3}`;3BC<4P0j_QAuqc zOoA(c)dR-mWCD+v?5VsDj@q)YFTI$(5k|i07CNs&e^Y2LMN4}V5KT;NFw$L<59ND7 ztAYz-XLZSzuU3E0FlS1O!O*WL#diU0cvQdS8#9=0(aBO`Kd#EIFmilP(CBEZb)~hj zH2+g^TaBl1CKU;<))tt$c)p2V5`jmKI_r*8Fa(t$gzZ-(!|V$9QQtRI3{O;DrSp?3 z6{s79-8{h}P*e*m)u%$8E3CPOIj7sW3dSYJGJlUtk6S!(^Hpk9+qf8a4ZenIm?5G4 zim&l4J+@xu*n$w_cY+j=gKlUwI)&CKChLB&C5$ou0G*coFPFB)4*~VXY#HH(he~ul z?dbehqob8^i+S9t%eZz%q+mVK-Gj0r(m#9-yS598V%rA1*)4N4ztvVNvu|Q7$Y=J_ z$JrBBZPs|%-^pr=M9=QDb8d{W?!?>5oZY8e>1>6Z*Pt@>zw52yQBb^X(yxb}dDm^H zZ9_vkXB*PyWhrYjZGihTv|)1rs_)F@Bgx*cLo4R=SUFr2OcUJ}r@OsFle17a5Nal8 z7kY^HE+fZ=uXl1$?Aji$C|+UM%=Fl&&$Vy&flEAZrV$xaM-_>PPk1)x^mqf&F{e1Y zb6sQi@1pcF(SyyPN8d3bOTQH%Y}j0201LYXOA+s-syq3R{M@gNi?7Y4-L&ji2WDQ~ zql4K8bpR!f=Wl_WW5uy8Su}marw*{+SPPAIx z%Z33h#l>PFLT=UdjS#X26CJfV$sVJx#aLI-;{&|Ct&la(imJO`X)$&OK!Q+CDT%QQ z=&PdWRu1h*u#ZQx5Ad#hfcYxvSB?vb{uDR_>3K3+Qu0i4e&FfdLhdPAIrkMkxB>@1 zELk3#LlE0DD#rG>>zZ6Y!60a{rNzWcE0#&$1u6HSLUdrA+=%Le@0JGY7GA^?x(fUi zPuJXYn+j}`%cMR7<0a;>E%9#IC~!63qse;SAc-9ZN zIx^@Y+c8ET+fBB4d#G(hPj41wy9VOKXu=lshUsp4=z$;#rx69@ zl9}H^joYK33*DIO)>up_YS7uPUBvQKP_t^!F7q_8izC8XU)SCk@L`e6Y2F?*^q>jv z|0f|t4=yRx1v(|r%|%U^m^#v~LnWg`a2NBlrzz_DzmU&@c-05!0MJJS?Teu~f9lmZ z>G+~v#qoDj%zeUeO_Cd91jsthqcX5+K$AJ-&An!dmEhGIGU^a3vu-RT9ut-)SE60n~{5W5Ul73BRPXo5&Bwp^ud=wQdIS{tf&v0^daE*|NWvCU59df8>a0 zy>`qIFk#^>sft84IwA{=NG?xgEzWW1UOKz0T3TF&@_t$tV}YMMvOMV4Zz+krAP9qr zVJ9N@+|Z*+eU}@{A0?mijUkSpU&X}RUJDg5=CI#dm&s3=ZNBUu5AzceFN&2w4_crF z7Qj^t*FjPZd=)5kkl(NlQp5TR3-2n``*7WU3-;^D^F6Rmjd98(}Wrr@89c~QU75J?@6#RmDR5Y6#vMbnFu-;Sxs;rjSYB8IL+DNp` zL=Nx=Zn-*1*zaf`qAK}}E-VEZrBPSQ^W%iCmae4#o2$?V<2>?XLp*}e$NR1&zZ&Q& z%!Q{Ul8MY!5-;Qzc56q#(-I7$0}qv(4V8yRR7 zU2$*I2`i_O;p?D%?Yk72%bk*uF%2{x8E7%-{Sr(W#G>-Zpw5a~Ka4?Nc!XS0+77x9 zY=l_;QQYo-HV&3qD#yjTal7u3)=c6o)N3&n$H$@V^R4;@59kzxbCCHZE)D4Y%CXk+)rcyN)-l zzkPG!!p&Et7G1b5b;C_tE;=$>&p7RNzy%lDI8He8W%aoK#Ton2!KGOyxuN=Fvto&H09Xo!=J)yZ#lUuSwV zcK?rRYLGyw4HhZyp7=8dDTBx7)!yNJmBBS=NZrB6j4Fdqz;Q}FS%v;^gM(KKzxz}N z*GPvdqi+Yy09PXywiFqvASsfr#T zKu``&0)d1-_DsmY2_!HA(a@?h$;>1f$)6#~Kv1JYlVHXn8e88m>+aI8V5xaXys$9y_KmH%;f|BE{A zLsDj9)&!{X-!wZoys3_Rue)C!d{+4%ma-M|b@gOwyx%@=%x8vrRONq&B}OvKLfcm5 z?$NJ%582o^86#n0J0W(v;@iOg@R7jh?Lkex z``{aKK5rLl@;w4y)BgzaynU$2_Y8c8|9Bw6S zUzF$VO-*@PPPgB~^>(Kw-~I3nIiI&bHTj-^?}+nxJ5-bJD1625hV=9Hs3zYT)RhV6 z^LD8w-<7IU{}|+*D4o0DJMQwlovJDCUijKvp0`&u`5uCAmGgPKRg>>&_>MWBw_i2+ zPChx8+w)K1J=X9_W@^;m3*j4cK5x%z%DV-=hKV50+qIf}s@wU=z~}8-O}>x8cf`-Z z^meW$-;?l-N{fr}_O6QWTW95RSF+FIt02W;_7mWnp+5rN0ImVA0#~{Fb>O+smxIh? z7UqEB```Iojx;Fz7`z_*8Yufe1+N7^1eU-%!R6pma2a?ZNLen-1y_M*g13VIN&&hY z90$9>dqBxs555sx;qb=To1kiq^O>Gj1EI5^f$pS@Drfyb>7f?=n{A_cma3`_!7r` z^rJ}1!tEeQQaBxaJ@_^HXTJ&R9xTQCPe8@H8&o;IBG83z{#q`#0QwW4!h65dJ&xys zn8I^S!F>!|0^I`61hr`B4dCC?A67Wu02R(KNV8Gc4PFi23N8c}f=j{EK==xuZL}>o zg@?eo(4PRW1V0K&&O5>1hF%IPpUwf#0bd3xA5Q@l?*C@IApXAwFM}QiW&d%vecRJz#gyD{gGKNNDF1&2O717z{SQIC@10-^*aM31t)Tc`51tME3h+|! zBv9$__=`h5|07W4Y&-Z{;DsRm3jdw)l=9*C!3OZHpweR{sPwoVl>GC+)zBw_N{{cJ z8p8iuQ0@o8v#|d&Q0cQ5RC@G+if1<{zAHhc$C+;b61V>Wfh#@!5L7yR2$a0LLB01n zr*8!%?*`D~1)dFkhTEU&_TPPBc<--*;(r1Z{}8Bj+35Cb+GsD@q0a>ULs0%62j%ZCogQ}l6UVoKl5;)yI`A5|Z*sc9 z>3>zE`THuU@V*R6{_i@y*Xfl`w>f>j(`P&V^OJ)AXF>V@s?%R~`hHOH)qY30?*dhS zR)Y%vTDQN<@k~eU@#C-Xs4uLdDjr&2GoW^}1O-iF? z;AlD;`$3w5#_b?gxv>`{tj6^qRj087q>41I0x9y1Z6HOpu>?{?8jB!V)3^vE2^yP0 zqBe7$<1yl`_)dU|?*UNp+z%?A`#{BW52$$dgNo;NQ1R>q70>mc;@JTzo~uB`vkg={ zOQ7Oe1QpLkpyJsKDxUK|#WN2oo^wFO6WNBNSQ6!#LyrB99gaoEykpLB93k>I>Nw=s z@7Up3bj&;E9LMo&{vC%L`yD$Ri;j86oZ~q0=W*t!Iby5P40RRng6LogdV4!%c%T|j{1TJ-F>tnxGUY{9`yz1INeVs$y|WALr@}j=yrS3oKcYf*b8}&JpPDlOCVW;yHei_v>iyxIlM)gc|)R&xt zo#?0^(Re^~)Q6l7o!(EadMrBXE89t*S@6Vtw`w0n&zY;x=qnI^*c0=9@;Oca68<#3 zA;X`~@L!qXSG$n*KbhfwS4N)nA8G!@8CvaD+Ff&EY5IMc@V}FBAI`Y{C_}%Fv`Nc* zMTY(e})t^YatG|?{|0U!9P=;QR;XjR!UD|&W zM4CR5@jsjiUvoui{@XJAzmrLit_*!yhJQzf-k0Imp*iXBuFdf0+Iu!_YiG8Siy&5S zZ13FM%XP?ZwPsU0hx&3E!}|8ljoin;k-oj%-CLM~%(b_^v8}!B`qo?9ufAnf`?~IJ z%_np+FH1`>+Kgp)IAZwf6*srv)ZN+B+ta;i+py&$U-G+{OjYfy)>W z*=bi<>njax8HorP0Mb$Hf3?kt!=G=^hDwq;&4cY(_P(8FD+RLZ`G~Ro3`cJ zO&%%iWRe4s-fWo?c;y)8g466aAsj81EW43x>mngtw8e~!;dOE9?c2uj&B(DA=ML<4 zrkHg_M=5JV;%w^M=+1Zud_1UVgi;dbszb5p&01~j*}Ao7)4EFQ1wDkcJtP3dYe83< z>@wF%$4C(y-l2W%hSlqct#bD2Wo@O_n-ZIwZqmE8cW>FUc}oR@$|Xf>eYaa%VP$T- z=Z@~ABvZm}y0z_=8+CkjS6{D^!!yY!0yk9hQ@%Pk!hxNkBHgtf3%!gzD2cq5a8=5d z?k@6U?dDwjjZ3a;-_+B!U@PZlC$(lZiL}lw{Eb#`-85gPZ(9sWvdUDB^5!*ft4dRa5mpCyLGwBh z?Yh=)Z?{*`nh6UaMV+WZuimiE%c=_f+N2fQ+Vggu8cspA2bJbKxy2p3RB_mLSFc;F zSlV7DRCYokSaa7V7FmS+<0SGe?Q6GmL#AuBPAHG|-U0@uB-a9&Y9UfWmfdhm>$NJF zCfCbVAc%X4(bFqsV^uZK%0-H(PBY)!Mf^lt!<@FDET&2E)67)zr!C-*qzWUsx_|^WKaBHlk%fCtMFqM^j)6sx%8JbFKEu23Fj6O z&GfNFHSZUaP9vA+AA^qbgy$B;abK_eU?NSoMB{Lc!Ocwf+@cBkBQlal*D2S`I8b9$ zh<-sdQ=Kz(%;m&!YzO@e$s0r7E2EGUBJYIfAhqFN23?t%_?}K`cwb?rI=3j^r#0@r z@+dD9(s+u!Uot_jVo5(-?m`b zbCKsUw=eNL9z<>LAfewJLS{Rf9rU!q$(`F*v3i=hAY16J_j3Pj_&=a$j&ahJ4|`jO zuo-bzV#H2}z0hnbn>25STK!Ea-h1Qf@XS#fu|D}4YpYJ2gRpZ4OSpG0AaEC9yY&c) zjkSx2JGETLE2xQ?EQM!&bCam7Syz9YQ=QJ^$@nQRaV@dD9}-{US8^uZf+FaLeQ;KT z>}nakn9N3RPXkr`Yi$$On=^bfqJw*pURUP!3}3LF`d5*b$%w6JJLSGlKbZI(sOK+! z?*g~Yh1%oxDdP95rbi4XVocwAGU3JeM!uMCd#2#ay9dn!rA?HVO}C1V79OJe?`Hg` zW$Afn3itS4AJ6c`5mK&lsk6E{ohZ52<$N3vI?&q}U$THcZ0>f>=DWlCZd-G~B~n{i zmmHTOr{lOV5b?DWr=mX<>bUp1dp-ZdQ}`cu_dg6FSB2m23I4^vSLNR3oq+vy+^uhg zTlRcV^$*lfYC9g*p?LhO)}e@RDgW!8&(onM-v;=4ry=h?`1VXg-Xrksb3RX>n&CbJ zUxVNG<>^$DPwVD}ozK&&if@GUB+Uw2K)M?Rt(~H~Qs^NcQ0W(R9f+J-oxZ~93qblz zg-wJZ|JOM#0O_g~P5~wF8^o1)u)69t#(@3h*hC{u1+Hp3-!7 zUgDw*|NAriSv|MHO3S+-!~bU)I;Fc>-G`1-<8yC=!{9t2qCzuK$e~`ky?q;s!lfl| zl~XpM(N0;o7O%ah!b6~(S;UfM*WR#lg>l)yd&#m}qV`nIzlBoZ;sxd$)PKK}v+bS|mTQ+gNkiVDKiES+m|FTy& z*5euddvqg7{McmF%Vs3*{JRrHb$k2rrHLaC9UiYyx9mqA?N4qy71gVFg~+MK=Xn}= z8MTixMS9MX7Y*Xo1SV!KPfemu4IUMk+Q0*ZuRL1BM?gbGy=EK#X`}e*pYPH0HgP*s$|UGX@w;8$(lwxJF?Ymc6BH z!#F;}8;<#KVGR<-wrCURn=8Y4ZefVOW84DsP!4VN%e5Vam?|sq3SYc zk_EXco$0##Fs+Qapo56|CM#5XaHv^7(2c~6tWu!Zfz6?^tTZonkXMm*L3=}jI)Rh3 zIDRe!qs^}aUrZwNezkaTO{gwWL?`zInkd_OTVQIF@x57Ysiido;cVH;qm|Dk8bQ?d65@km&hGFX@Em-nBC_}NGbrROBcFgUA;upnb{@OXZiwI8jqeiwmXSZLU=PjAS&{uw6R&S4 z;y+{j4@Q1F?Y_omuzc!5axP}_J(NPQUYkHgtNbQLg|yZAGYMR^$=mj;FA&nWT;<-M&RY9aa%yGWuUk#IduqvzUpA|=6d99grE`})F)A=r42rzIw$>bg z)*O^8ODL@uID5HBq@#SYm&S5I%p{JEQnxQ>g)*vBD?-plRTvcl3~5|xhMiO^f~j(E zqQuGEU&npeJC(m4u*&}!pDr2uO4N`)s!lxSo;vc;U6`q-FB;{p8X12-%6s+xNp-YK zKMj2To;CS4z}Nq?z~}Ed;p}YSGWtLc`4lD_KU&U(60pfEBrb?(gXdJ^hZ=- zKS+PSuoooDXRmkqElw|X`XZ;FB@!pYuX#nR3jY;Uyw>u=P@%8{B<~78rEZJj9?`7O?%Fs__Xr)8i ze@jMQQ-;>pEzSRvjQ@{j=&(}9RwJUYvL@XYVa1h%6*iSi{9FrFYuR6qEx+5?Z5~*n zqSaBhx=%~JdhW15Ww&+P>Mc@Y1rFAN*a9REQ|ocG7_D;Y8N3@ecOf{nNDMnde0%p6 zmVw2$FsayX>Rz{c8;j8*y?Il3ykqr-zV7x&DKbH0g)COBwBN}AFXn|4U&@5oIKU;5 z)fFDMY+c{8cAJXo^Ipd?zj^TjQ)>miR#$iLmb6-{<~o*PWpG}hxy~e=;lVojl^$DW z%rVlm9cn)kUCngYv3ym+Fp@`8XaZ7oK&|*4H>e*6UXt(@C3{Sgx}D zs)zAQIV*TOSopAHLGJJq;p9}R^=g0 zugTEYWoYrH`Sl%2)7B6r%doAfwB@|935~7cwXHW?y(F}av|Kejn4qL-3hWtD?bYTD zT~V(--y0NbR^~5Uv}o~y=F8^Sx&QCt1s7kMYJXVY8=9Y5`gF~`jA?d_HK^tHKt2ZcsP z?S$klLf$22Q~5KMem;&%-sAG}nMT21KM^{WetwasTi$&fpfe`XM`(yVxhq6Y)h@1b zc}16Z*yTB?_HBK97OEc9Y8S_0RGu}{sq6yN?V=*2f5lI6t%xA>bd0x)O{KxB#2%U( zYXn~bS=yVj4bNysjA=xnGCE~hoIEC`W2P0cm_ICVG5QhDCl+QH{gp`Xd!f<)5b2>n z|0vSKfmZ+DOg_*rjdXLM&y933(2FA77U&xz-4W>Dj&yIJ*G0NN#P6<1?+f&MB0U`F z4@P=4`2TpM$Ai1wf~N={3-p(w`)Ht#M0zaH{}}0Fpr4I&Z=jQk+aJO^-BL{f1o~Bx z9t(6K(oKQBJks)#GTq)JEOYmbPQS_Nw>iDeX%yV{)ax`g-k$Dp8cmZu-S0H&Cwuy& z)9-XT&U5n}F&FI%m0=uUPyg&R3VVBM@cK=qG5Y0BGY&BNe5bcK{d%X@I(>`Ny-u%l z8l8aoe}~gMoQ~_5);ay3+<@DE`?s57boZjs8FPy&J=@)x@ftugq zbEeZFRm#7bW$fD)HWk&8iIH~Vl+#r>*O78|inD#~3zLNN?Pi}lh#Qb*Ksela*?Q8DR<`KDz z@^dH=Zt;uD`b8^d;fzS%+ab%;)__R*&H<6-eF08Ix76OF>|xtgLf{c0xizc1@-B>>I%_uN!v>NT6KtJii{Sl^yv ztcZV%aMGd5TPD`9CNmRT+jNsx%HGzsHedD|k^=j!AsUQ7eOpyNyjYH*X5WUst@-i` z>J7H`^=wp*L+V%iWr%c;#e6x!_xCHwVU0h zZh~ojr{f?TklfUhb>m64)mK+y3 z&U2jO*x-1am$C32)t420*iqdI(fb{>cErMUT<^HbvE;bOah~HG#|B4@FM9T;{pl9L`Ut$@Z~ zV)UG*gPvx?=G9$luqfMGS%{*Jxa}z0#(uB9O`UNkB;=Ov)mw2-d86rdpTSZd!hS=y z|CPo!3+6Yc_X$yR>W^=%-6N=95Y1HMkthe<^I zdY9Ml@|>LZc;o=#GZe{b{y;j~^mrteO`#&k(C&Gg^m-xgSz@-4v%<$wd@$Ws+#cqL zcg;m?Vl`MSYG!b-@2Ix>46Yb|ZcNwkxQZraKcUDZ6T9pwNUcZFdWYi!ea{XslRdD4 z8O|{&N6-NsmM8Oxex_nU!i#xD0uFQP(79J}d4x{Dxsa0Q!* z*g#_gFO{6hKP|I1dZ*rI!d=acd(luW_=&Ty=CN<7}(@ZfuB7Y zOU1yFphwkOSxm|ixX>cNY^-uPJtZvcUG!m ztxF5Jj7C)?6Q(}9mSb8l(%Bd8Hz_BQS{%xX#BwS;x7W|(DJ)mB9FRnEKp*iITkvDz zUFk@enZl!;RXd+x$w9?@uiDN|Bvcs2EiwwZ!Z5xuqj@Y$mHSlvl7643boo{N5>-7V z*yX;SQ)Dj2LUvkuW zLZaW{sO4djdozfa*{=jqwG{rDI10Z6o(!t35`G$_3A6R@l(@p1p)rL#KX}C{UWS0nEL?nM5F4Krlki>)7NC^-5FXHKFzO+k)}VIp&2(fB{8U@X1rv@W&z9~_oYCxGx_{2FL@;9tg{{Ny+WxP?p zzwvzZsmH8Dl=Z2RR?XMHS}mFB_BYhOkcs-#4hpIIJkPhk5#_}G#wsdL+E5oNOnbZS zYftR5`dOU|BtsoBb6ZB9TPHA8|0UF zKJXU4^W1_m(6^t3RQu>^>{&j*eNY2?w_A5(cP}93L%TQlQ|XZ1E+@;<-8=RG#aZ|0 z>v*X30a;FJ1U8{3E*q2g($3GCl(-Z#a4mp~56+yxsq0Gic8Ga!Wj|lY{oG-v81Rv7 zD((I3D!J_aOdDYQ1G|^=xbw66r8A?6EACbIkuy$%22ZnSgt>V7BQo|cmaKd39-9{XOy-QP(&yx|3dpD~9YHr@S?DTm^o z+h+{gm1&RtXwKdLRN=BXiNa^>-8w(0SII==I~IED{?Zk8rQWRHSylC7Lm4j*nwM|` zAE{Wn;4!jvKg(A4$7I@>;y9_5oNpbPd}EZmw{O@ZmXWJjwbG%-h$HzRCf%H~a=&qv z_Ufj-&sgpa>@LRlm{cn=$-gJ&&e0j+^0~V&^2e4BaB0!qI}YPqob?`6IH)5=c_IG=L~ioWiF(P_!y=}2-=Wq$s-X1G z_sjWE>%AgFO)-bPt$U~rp@g%^np7|CwR*&(?k&;{K9`#pT}$V(`mx|eH5F^MfycvM zr}pl(sx`1zC2vxV2K7?U!HX6_TWQ6MF3ukEiwFl=AKAI%5$+HS6*j!f_d+Om(YuV6 zI$OCRo2#1k+TCu$|SdP?vxfRr#Y@R+p(FURkT>1M0g=g z!eu`@CH#WJ7WctlD_!t-Y2eo^H)~u>o9&^ix6zsV@ypJ>nNWf`Ss#*2mrNE-!9J({ zEk-r6!sPusd^p%vxlh@D|2c&csBtqTpfK0*g&52bR{~%?)z+4d%xHEQuM*&^Ko2-V80j zY5(_U=+9+nm6tUC`!jTQ9CLTZ{jC}LMF>mFLubgLWlMY3b#LW}J3oz1R-99%9=(ks zY$GG9%ycwUcPF|@1`k2oE@itP_H+@mF3BcG4lJ`{$lB3CuI{{zDWBWg*RJmIlfOc6 z*Ys>!jYYdoH{%>X@r2kAbT~_^9JQ6bbbncZc4J%X4P1TJuCuTa% zL3$r1vljn%#y9=?mSHp=k%{!LI=*>I9x-uzbBxNSu`i88zaW~a#v?~uPMdouQK{8* z_EYKIDT*?jNR}b$DeM_4thtKTpyMkyDLthH0c^ zOqT@a`FQ!K!t9Z`-X8o%?F#K>)jGN+Eazdpk3mi|F;HA$8pb?Tmq495t?+ohCRs0{ z17d6g1X@`;^JmBL=cK)2JxEpmZ|Bjx^sA}!nNZZ4zb1MX$kAqsl@sPaU(@V2) zM}u}Jroxqf{Dz~Ar1*WBTU_aH>9q%2pOzwcBag&%yu8bD^o76wu(I!GKYy)Qj@UKm z@4Hfb-shIOxpU=_(u^^STj$EB8gT;Bs8+HGAcwd$BU!h>X82@RHlp#A)>DXYYdFQuh?EE=hyd_cYDU0k$-MCNg zNgm(OK!1)bIus*F302=e3}Ll)-$qP3cT6Db97vB>5poSu%+)%-mYBUolVd$;ONxC_ zf_S3aCui(g@fWjpOUsb9p7p`UuzzpsUmV~n@&k0yCjZnpT957AK8NsVI4tRjb2U|vlASxwY(UPCF>s0ZSb@DFwik5kaQ^;a?j+l4087I}fL$!M;cNmohzFXRP zv{=#JWj2o=YJE~&bmC4kSXn{OBMxEyU@cDv6?dYo&Tz}fry(rd$=|2gg%{9lQ`lB% z<+0z2u-|k|JjWwfMY;d2P|zp50%yYP3Sq9WFh`Rx&vj3!$|oJSy+o{hyiTlqJX+-& zPgTAn{>JkjJvoXc@<(DB`aG7g!r`57!rql(g2aliKG?P&c$Zq7(26OMycPS;#II%K zudoPdqy@?$Jp0h7{7L8-9~#OZ1JuD~^C*84UjCRPT8Ty?DSw$n@$w^$Vav!jl0ftY zMleGAj$5z;txuMdJ*NL4mNui{RHJtYP9E!`ueEB3v$9 zF{h>eYiHWq+(0Pe6{gv#O9EE8_qzKdb=;fXhx$91D*r{dnO(=dV+#Mh?*0jtkQ(xn zaiQAc8t%mxn!WDOlBtScJcsj@b=-&Df4%gZN?*|I`zGB##k=UQ95MT2py=OsTIU-QM&Ww!Y;Yk+m!t43-x2Xmf)wf5!yrAA!hZ$PlN8$P2{N83NO&F`A>Z^qZvrLnW#C!hk4R(1|L;M?=Nlki zW`7!#ymcUdXWr;|8HhRarQrFv{{rGXPHr8s~v}^*qQc*!@7rZ6qw|tr{CZ zXjskIy+??gnGfO2RG^~AaTbm`4mtKab~qLt^NxV|lfFyq$;QclnZr)U@wD0lo7cu( zhPYPfufFYcY?tnEI<`Xv$>Tq1cL+=RuGr4<7-&#N`bD|-22y3HLO=FN+~nRNkC+cT zU3B{IKz}s%?HT%hY}4*nXK2l&q}|tM{Qo3FD}U4c@6OO~%JA>b(0eod>M^9{y)Q!_ z%kXz+=o>Tifeigm8F^P{Xtmer@IRBGKcAt`&d^`a(67qKZ_3c7^GYvLmkumhY`|wf zFr+WF2-`hV7gn%5AyFOjTzescZ$@QPs;-1UQD=*??fwEg=bn2V;&xFUwYM}`e_;Dv zB{;bU0zzvM{2B(RJ9}8f9&cr++z6|M51T6X!X|rQ@wjHwf;Bx{d;r(xty`mdQo>C= zY0Aoto4KRGNVwJ#@2y-UfM4Wn-V}Dp+RFAVt2sxEAC`BQ-z!->vEs%XZn1PqY?NpT zkvt$Ztg+BSPvX(ly>@lqhHY`JeaN3`>&S*LUzH!1Z^VtbNgOS9Npuv(hRvO~aqg*P zr^*70`n$T^+WUvvxBI;GpqI^GlwMc5p=V8fJ*XPqT%Lc7W=Bu7u5>~T6DBV|m`JM` z)xX+Fndz?cIM?-yk|)0nG`y;d5dDH^rqWwRIeg2^v`UkbG9KN;W-7g<_S?yH@G+8E zg*-hT;A89hzzUI5=`Htr2Tu2Z$w>d{qK!rox85H7XD+C3Vs`&;zd8e0w~*zlPsx@&B_y;xEO`eG?r!BmIjw9K0;CkHPLIIOo)Ka0|&} z>AHQetyzx)KsaH3IesVs`FDxM?To?gVgP-Vxm)6>e!532E6>2i%c?>)WMBDE4CL`qfC-cUQr)vl4a z6CqJ5HV^_kGWr*qu9`MY(MJ z&lwl|mWrmTG4EmVHu~aSs=bNTiL06FRYmH3WuP^bk`R%H6%mU;pzmr(6HRHNm?lbT zqK%q%5}9-G9T{OAX|8;lm{%qSzKZuJc=dzoDF*w@BuH5=SUCrB+|PX)T=C4$zIANY zV-2W)SggErat6tBY@k8EI$VD@f^*hrX2lW|eNE<% z4z4)5^XD_HS(tU>V~Hx0QsL)*)s1f|wvTyiJ%Tmjr*-vqkAM{;)dgFYt;Wao@;jeU zm={IAv3*33YUNS>EBu!IX|}1HzRqvVQL!3ST=AZUv>q%JmYwCq%9uC!wa?) zgZN!3o>;wE#bb%k(&TdV382LrkCpV;K+7DWL_@|L-7m;wrshI905CvyYru4a@%HX(Cm5lMm6VkvH@#EN{|bR`pM`^CigicUGy%`#XjBkal@^GT2b%>TiD`N?d% z(9oh&qRiYIK!vEn>~l&L3{&MkWY(PXtPX4q_q=zO-w=FO`R_kD2)H&tmHU{xzqO9L z&R>(!^eCpvf858vppLure=@HLQ00Hz-CteDJ!-t_`EORY2qQfcrb_;>yLZ)b&#QgK z{3t+`|E7lE;A4g=_hxrTmnT!@9@lxOt5wT=$o;RY?aHt#p6z*+Pxc5%szHbWm zVRuJIDpU3TWA3g7rk49Lch?u8mV1+rH}&DH5rT?Wb=X1|_{iF9?dwycr z`Me(170V@E?=kt17lTY&#BhKgbuO^@7Cq|vm>v2s!%}-26-cu=gUaxD)(lO-~I5-aXzpAHTj-^ujqW<4%Fm3 z3SZp!f1>!E!8f6Q8tzi`?MBV_eHy-1&gbn% zO}>-)hP64Lw<9(AE`+b-eBPc^@#$s&bVP;2j?eOa(EN|qCB72WyoK;y$NTxdPzDOR zPfC0`Cq_8i@h5!WM2~^zfcwF7!JiWsif>^Zcoz5;knEkUbA}ZD5=Wh9Dq826itkmR z_-47i&NY(zPe?1_gyY|V)WyPo2hRo{0Ox_Xf|$Y!K)e?I31Jt4PlJ;CUVi36-{kh! zy8X++3$XtIk)|yud=-?xCqSHLe;j-*^qt`OU^jRc_}ie|SAgPQ;CANx;`#^3Ai(g4W+KBvF!bhFb- ziND-q|8FMGqGNyRjnO|SqwQdFA2KSJ+X0G>{X5EJaHn3%XnnriWB*P0DY}>XC8P2q z`k2S(XHLid+TXf=@ygs1Y3i-a$N884G55dB-D7`wBQ$@B`J)W|eq7S-w`J&eX82#9 zasOb({TALYEl+E6)AaES|7jWb$&CBwGxY2X-JkK_lcC?5iSO4lw9VbQ&<_B{zTvriAop$2q$Y9!YdNS9?c! z6-2P_>*d@PZu}O1yzSey)d0uu{nVm!(fZpOVJF2UmtJ-$mKeL& zN{JCB5~&9=wa($xw(uj!hke|mc1E# zH+6*%s!we`!(^R?S_h47@9C%E-ZDZ**F{&&`*{3=KHTPeb~T3(&@(O~ZeJ$V51x|< zkQ&fJ)nN{l&D;E?Cx*^uJ*a_ac)eu)a#x>1O14^{r_`xChe`wAJSd-m z+m?whCL%48@;dn-HKUuUwxvQ&Clr?Dgo4l|&nLK`Z@=~>OHgv#g> zrEFxgYNa}JX)=Fi?{E5ZEjQk~a2Mh&sF(y^9(HT4JH+PBRBUv~QOgM8LLx*(y3&w< zQ9>(c)OAQFR8*4Bs8DiOXjD`4IZ~Du(V?cNTVnhZeXI1P6w?tp6})NTuJqqj$N#kS{lq^i{Il_|NZpF`sSH0~ zC;a;Q@Jjzdcb}cFV0veo>0k8lD;8hd$F7sCO_|Z~tPHO(qfV^|SmmzuUozhcQ00Ei zZG3r6m3tF~Sw=cHOqILVg2>eKKj!Xg>M&LQkGZ?+J*wQ}zTSHJ>t@;ynR@=)+`XRv z-YNX=o5KI_6#mDi@PBLy|4k={_p2BGW_Pdq{!{qxox=aVDg4KNN)PIeJ*QnA5 z&BcBx|4qIx-pg@Kz76m#ay~E5HThIlk2#;0%bI+Tz&GK1UcPJcJp*5duQxxDJn4s5 zIiHvJn({7zug&>9-)iznKU{J?&;Ocy(hnD>Ay4|@xNiPL@}7dPc^dMhAD%aj_(?yU zpN2f?hv!T~p7g^_(~u|qaJ&cnMDHv8aBdp%q#r)+<>f^3q#usu??m}4{ctRQ_2lg) zOnRV&cYu0a%@6&`!W*5Q4>G-9INxclmzTTNm18ygQ=t4GaC$o^{f6p?GwPx=zc5-VrGY9 z(J}9sa~y|Be4~y-j{S}ujz!13W6p7$@OYd#>Nw=s@7Up3bj&*f=ICeUA>+OD@yT^9?yY3#pt7;F$-|YOKiT=G^zQ^hK z9a-lzU}nPQH@W|TNPB#>A3^fR+?_|G_c^`V-P=68ue*EvuB+=V|835{Kl*q6ZB92i z{aJVwMl|2b(Av+DcK>pQK90wMK&WUPwB++PY zU)|g5s<3EnK_u2ExPPjS{%O(Tg=zg$uU;jsfU2c`YEzxchmuX(c*1*N=BXjX^m;vv zbksk&ntj^q+5go$CX%PBwx0;BQUKNK*-v;6OzcRj{gvsZgQu#!iVltGam=>-Gu8Td zZFZAUJ0;W0M<#7Nn8a$T_3?XLUfwJHapWm}M~I(KB~*xJIC!vvE=2N&`jl^3X6j-G&%qYsKK&rvDNRb$U8s^{SSv*;h*5en8%~E}7(V7+ovPO>Q zQ|6hg*%YxkcBrU>=C#65=^2*uX)GSb=R1!!OaJ8hm(+T4l%>h4L>+$|0d}OeJ-*H=hdt|V5nh^$2CkILZ6&MYmnu41EnL6-5D=3$M;>`zF0o2?;362!s z+uJO%xW^E`zC+suERrJ&EwvIj{T}bNq_MDyL3PL~Nrk=Bu5rF4an?1?V(Vq4^XxO| zFh0B%w~(hHj$%*{rA!d#Co+m{9t3DXu5x-+MON6_yncMea}b(rk9*Mh%tJlLiqRd% zSg)w*G9(@2WlNN_chR~WT!x*;${fNzb>lKs-mPM~K4A*0tSicgGrv)etJZ_wxe(}I>A~=@_UK=C0eQqKzRK9c( zxGODGBf_lERiUhFoi4>^*8*6gxG{1F@>Pn{1HK}w_rKXAz3WnR(bA6s{K(J_EsgH z)T6Q(R!m=E^0?<+xt(fIZ^!=NZF1audJj_=EhG1lCl+dasgI_;?h5bSIzCt~C`T-| zF@b0gsupHz^4H&!NajM)#Ii&B5X-w**S+h!3clVZlWCuTbg9v2o3tg>wuiOHN#a;@ zunXs;J?Kd4r`DI3>*is5wzP?B)s<9pDiWs`IR`iJL*gtyU5O)&Lq+0fi0@*XJo(3* zo@4YN`?0LBwjQ4KDCcGToWpoNAd$9?dbftjNiiyMOs+MMFN&2^t7i~*I7C!^u#k*> zqcFx&_4K6r5VaiaY^uHbMEluPI<$oIKc5bbX;k1(-s8c97;;d5k1P(gj^I-`Y)Cvv zqE+P6ELjIK`<1vtKEu0dI?T8Ri{5%C0c!OCPUAX;bC45RuV`6Sd3@%x_&wD6bO<-r zbDbi*Vwe{lrV0N`UhAM*xmfTj&IeKC%Bl_cF4otx|q&Q|eCDvm4Rl<3yO z%Lj{#0+vc1`!>#MIlN-N&B(wTv+UjJpdRf})6tjAJ+G?g*NkNl{f1z1*rL7vwswZuA zs#)o#>%`-W%)r-yQ_tI9Unbo(_R;QcQchgon`(W0tpQWv4nU(HlPD0dyb+dML zD&4h~?QXU+;5=)uw=nkc)TIHTYj|WJDYK(klF8wd6h9!w{$En;EvLo0yDx3q6m8$0 zmJ&~lH7Olw{*xpBb=X>Uy7xsynWq=bdS5!KuSxrAh`!DUzGlq2m+rrOoiywHwC)~% zeelyV{*eTTuiKK3GRCmAkl$DKna}uCdzko~8-0EV+xYz6Amx{{c9ZTFz8aZ<6~CD5 z4KAFWrRrmERuQYVvg|!A%~9Uv*pdt5RM#VP+l$d&rCqs0qg%|hZc+)^i^MHymfZiW z=yY2DUxH%4a`IaqO$1q8E*F5$B`(&7y!?eUK%d7hG(hDzm1zIQNhrFH=@8oD*>Xop zhl*{uC26GYvB#YzCr--iRoeKpO~$@is-vE~|Dxpm%Q6;a-#-MUx6bTG+IckdeWWY0 zci|l~{hjQ~tMM2u>A1b+{4cc(a2g!nj~&OB(u6&#PRl_GTkc^sI>w_YOG6Hir0HTr zvo~osn6#v;!ne{T(>by}kr(qPPpT~DQUmK)EBaCc{s^Iu4zwi2{5Q*?Z>$KtR+5bn1tr-? zD#_F+CrM`IF(lc-DWyH+(jH1lQ{$aTOZv2X7v`pvrcbKkHk^{Cc0ZA}(sIqR^YbWU z%)V~nc)+DS5Tr?a^ROD-L>l!*MZa7g`P_x^^xa4M6_O9Blkb1)u|f8#QXhCIoi?!I zDLqj;=I|M$$D{)d8)z2kp{cWS9LP=HOXgUJ@G#U=g{-`0`!*PM?s$rW<m{$nK1I9K}| z;V{pqIBAUzhc@S}7+pT_8008@4IWpFtQh!O>Cnk@@x)6lolE4x11XuyEgyW#$nt?V z&z)mIQz0j}$vGy)?$uBy2x~ZmHB4AMt~fwg1Z7H+s-P6OJ|YV9fWpitVahffe;PVK zaSLS31I3v*jgtk(LH1TZ(T|l~;H!q?|7D{g`TxtNVu47|MtABOSeqnZYQpac+Q3bx z*lt&pw9r+!6K4n}^mH+&y!M&Yk7E|TkuT~MG{Q;ON zceTti8fjvx+%>e6ska_t(f8DBJolWZAD_?K`{l-*&(pCc-v+{2bTr8G^sLEuAAJ4J z=jmFL?-BTp{4mJ#^sUMF418lh3VboYYQ4v4q|SQZ&*$k~Q{E-;#r<-g?lt)|SKZ+A z@1Fiue1AhPGS58oBjAN#34AU1cjVi7;9r5~gWcd+;Ex%bp96jsL~~g9EO-&<=j6=( zxVzu&?wj5HZ6Hn3>^Hgl#qNHVyT8)iPj&b2^5K*GZ-A2j6;S>^3Z4!9A*Z*3d@u_u z!Hd8)w?7S({~uC5Wj_hZ|2IL!|5Kpchur-S+RK~U%g(ODI)2T7tri@U!Ld=>OtUl`6W)R`vYYXW8em()AGhxW5bUJ2Cv|9K!C zhQdsck8|Pc)L*`31s%zueOn&^~rRyHIf0x_;FUlxIuAq5$@x33M2mRO78BAdXKWBqWK)I84 zc3z~~4bfV+K~gu4f+TI@2uRX3E&@rC#(5xojjEpn*{F31{53Z4gK0d>kNF49KWP3z z^ADPT(ENkuAH+0@;BV$QgmBbx$g$tC!?Ea?cLdDe+d%ENibjv3N8RGnPRH-TD{wP+ zA|<17u;|#{{scSGvHh2ZMRW%*CsS}bw(q}-o!n!4-pTVU$!2~<=9WlP=w-eH&0k{v zIYZx!OWOUmG^yf4FcV_4< z8T$H+{}*N4Z_kAPTN!s1u5^4>XXJe>LrV{u=6@#Ru2E;&{o#!KwHf*w8UEkMxZjWo z@01LEUxxn=GVV`j{z>rU;y+SI*;TTZGitgqF*t$WK>w%yp$ z23uCb2BL5~V_0Nzb4%Ep6$1+EN_0U=+x4xtvZRGOR?3o65!$w8gRY8Z&ranIt0>4W zThXcyUva^GEw=9C#wFLa+XJ5MwwENV)myjrtm72LD1q%~^eQ=3aqH^j*2&m`EOS-c zaHWi28Dp=Y0}_MP>TR2QbV%d&5QJ7=*qMzMV4zs(5jJbZNOW~`tvp9DDiZW;y_<_g z_Z_`KjFzl)u4&)KnT=aF*nKnp#_7#nb{P(@-g@;dzHQ5yl097EA;}%LCwmeO?ao?r zSNoed@&DkA460_Qg`xTJmlrOhY4=d;ebnfaCXiuZ2$zjUv-zH>5p>ZMGi z`NsW9`?c;jDM8-JJU8=Elq@<6{eozwTHg}o_-7>dh{rGb&yZ8@*BW+@dB-sX5VhQT zemn^(L{7E7Wz6Li9gn#@C)I~pAD@MD`KRAkwO^~((`OufGtT&{+OMVf>EA!eJWb!E z=Wnz=WI|rqBIGEYl%|j9!uhtGZk`S*$52E5HqbI6rHZkmEaNdZsY%>$@g*80W=$Ve zrz8lJPD!`Y#LHoVj&|G}rKnw+o+GUsdsCu2B|aF>f6tm|Ykg!R>Wu@N!tm+2SbnnO zr}yBStSY<%q~BIh)Cr_e0!iP(Rl$9><~Yfc0)0;F=K|uJDW#j%Wkz!)4=FNtQ-+pX z+Wndg{h|!5srWQMXUs0UG43I@hJLG55<2@g^VL~eN;|i&<+~%Vq21ThR+bQM(2=@4 zTZ`)V4TlY)+7gPHzi`o_#S5A*n_s6LTF`uPdi|a&M9M4pYOUWJ)(hqN$0%LZ=dNee zUdW6&Po!geuwd7QRI1?oFgzy)qV^)_db``>++nOcKdOJ@YSb1OyNC)cdXTZD1Q29-1fYUw;y2% z1l5|=30lZhsl!&KDh;aY#Ad*r)iyAt6=td3-R)dnU?@sq%#^;C*l675WD!!Y<|GR< zcDsJ}SZHiA`dz|u{cc<$MGpQ){QteuU!|dJ4u;37nm_6+_1yd2M?Lqc^n%5I4Ic#e zU!~WYOZXI%+>vSUZGf*=(?yti@^s$*1N#1edfU5PXe+ES#1^I?t^(9dL{}U+xx4QdsumSg0 zrx$@V6<5u7`a+Pl^(thV{~}0GGxLss(J#O<{oPaeqDRGm8RuVg%&+UAArtdA8Cq^> z_s25yyEF8{4E>1=-IJlSoSRV8Tgm9RVpA}1NoC>!-J zUWG-w_q>gN&+`L2bUx}SAO4r;o*Q^<=fug(Tu;n;&xep#+I!091)9$8JY!F3#^cX@ z$2%X7ejA4gg{iK>{JLHJ27>P*)0fYFf9; z)^uLiz%x_fElq=c9LvFq|K2%*ROd+>3o`4=^9s*8VuRbg@3!+eOU3z=X$=LxxyiTk z(xpK))S=53k36;kW?($3lRqY(Fpd*5YQAC8vU3WF>&2*aohs-aFp6qHiHyap_TYf1)cD=mpqsWlC?6O-;mtT3RH5%q6 zedQwAQ!#RmZE7d}67&7=M3!WX+pMeO-s|pKJBO+AKUIIL!|(C(@ay)s7I}Zm<581u z0}<$VK95fo-;b$9G+l+i1!+?XqaX=b_!vk&7H)R?Yd{7QS81K1_;kOS`eiemewH^? zKkNu7_x}!32CjP0X`PcsTXxlMkWWJ4Vo?3ACa?keuZb&th{BgaM9%&Mh$(!OABC&7 z22*$sKMGeZ45qM=ABC%S1yfMJMB!d-WUjCnRJcV@LFXL-qmP1T@TP=q^D;5Vz5uQM zSj^8qcN#GBI(~6Z%=sC5C`12AhW<{5maMcqjj_}8*D~~F8G0~7FVE1cGxQx9y4+uj zi!XeCXhusC`(j|YXx;l{Yu9$I@3u}=s+(n&mozWFv^{Hi>HJGBsj^%&fANAU%Zr;Y zGfM&t9WNf#txE1DO6#<}%Vj$4*sJT*zQT6Y%Xr+fb$!p;ZS#5e=i3jPzhKd&i%i4A zxnC&qS7$a}X7x7IsayvIIhW@jqkfp`Mm^J;4=(-kgNZbC(fVPMCo|oC*xBCDNFMb# zckJw3PM-saenB)-^~0i^_qm5ZdTI0-(4(7Jsvkyrr|6|Ex3nZ=ZrJ0s-CwAg4xZvS zLEP zT(DNZuHk~peq9svb?^?;sdy(ZjGUxjrzF+CiigtRV*a16@qSH*trm=X84tA{kQ^3M z4heN_ZAll8^o?^x?o*|`D~2azpXy+Qp2!$6LC_(3I_!ApdlK%^z`5herdhk!;m4gv z={K?@R{zTycs`=%K`xvgV_D=FevgR4t{9^0n6D{h1Kh;?HWQM(sO=j} z39xSD(4(qhapx5sNEMw)wJ~YVAq&&Hm&uNl)IA23`yR*euCg-fIAUnq0+L;>6Favz z)A@Q_oa*!jrQ@f|q_%&3tW3^<{2*jZzERYlqbMTFIdKQB2R+kze@!`|S(A`{C0i(u#^_YDuOWbwXM8Mlrt9bEBbY2dLCn7YRFe>AADGVvOD$LseLwx)y`- zUhCwJn&jNGoku0#&VCzMd6ed3oLC+Y;(O<@G3sHxLx^d(h9r^U?OpGQ+B?efensa{ z>wSW0H-8KHV$^K@%(8ZaU>S7K%4_R^ySJZg`o7q3HO<;(?jOe81&>a<;oKh@3lnfF z0zBhZ?581_XKuS*!P}8?2S~a7WXe2GF-=UC3-DH$4ywCM8}mZC&@Cf>0%5F^+I5qb zTh&0B=a%64%k;NfM*b}E{N4CetCdfC{D67x8!8g5y<&jSlR1q%`m|J|it77Bx1aF0~CC!%GKO zKC*P+jIeLs%9d3*QY>jqFAC96JNgCsBnS0Di3MUjK7>eBG^lKhN$H(V)ZWqZxWwA+ zU6Zw!b}oW%ny!COS!@QLXezhoQ~7Tu>mG|`c3|Z*wiuxk9QbN@Kg&5aEEf{f5p~Q4 z4n2CO;BhL8m9DpZR>KYxGc*;J2%X;{7ha zB`xWmME~XXpK}WaRy@62Bcrg3ZN9~n(zAErw`Y2-SLEXER*T$mekp=fsNCdHe!TZU zmfLV^)cUQRzec+_8gu9{^4Z?D>%W=TNBAW{b{vLfm~q^Jz^2N$cVQ3Vs?QRdoSnzn z!)tAxdf?U&Se;!-)5uoQy$i2QM>BLu^%5!01I{_8nln_UM--Z(W6|Ki6zwt%A3ik? zedF|N%_;es(sri$izjZs%KHvc?Z=x4QT;x5SaTdNq{}rl>pj{f%^b&%1saYea~vUC z9u9A$@7ECE}3DsuCMgA6J6{n>b(*~G007VVr zK;Qi#Klbi;YOwEqKiVZ-^UcTQCU(c@VCz$q#(lo}Z2p%Jv5!yLK{1(}SX54xhwwh1 zOLAx>@AEgMfv=PXzO14D^1ZEI7;K0UuO4Q^k$tPb4DUN!eyfq4J4Q0E{vntK`$ocB z-5cNPk-@%u>%CQ%iQRF4QovjFr{Ai-=38AH;&J3qPA?qa^~}U}h_7d~^|m{1PQCky ze%Sa9z8o8EIr=95!tXh)=TZJM^ESWQ_wen6W#7X;Bt|VGA0;N>_ zdenGk!>qgfd32#~rwXVQ9L6ab6xK1?thecrAs|z02m5)pRI}<}?NYP6*a(rb9Ab>p zX~(D?0>5%36gq~qv{h@2b>+ywW5Z=B;n0xpA=tjV-f+>cSjixoL-zMBT#UC&pep?- z&cn{BqfauNAE@LcL2qhs?jKaYOlLKBlXHKenp?AdsaQz%9OwSe)!d=e%`rVd2Us?;6*vsRo-!VuD5T^<@sFOXK2=~9s%kx(7de>8C(>%23f z&Hvk|d3;P&^BdQJy}FKj+sPr_ZVFK4f7snGt>b>o-F5FBrpo_5eY!BVhOLJC5E=%V zdh*BJooPFnD*0M;AXCphKZSeI-R}uvs^pKk`}uX;ZQ>8Nt~&0$>K$QZQ-PyVpyfCT726 zUQ$PXtiJX3uN?mlop_9wZ@S;L&oRh-H}H8mugSN8cpU%7z~|+?Cf|MVHUCrK^Kw~} zPh;_t^LhEN$@dI=qmx0N*MpjTTHAc!`%{N|34Ei@=lNPw-kaeYnFgQkbr_xo-vg=m zd3mTA?o;qJ`8g0?E^6{g4Km01y#CbW)2US*&gb>0CZ7&{-2Q`*eqNty^66fOW6tOG zswSV^>)_{9c>Su$_XP5q{hW#u<%jNdnCE<6-)hR!y$)^v9NyzZ>8yJlMx5_N>8yKy zN1e~>VO6*~KO41f;a^bR5Y5?N2Sxvt(;svC51qcl>D!%N?)0@zp9#JS|4mMx0?vc} z8`=X#_=Qh_3g?d;_c-c&@e=NjgVepkM?vza@F7tATfwE!M;L|vCin%AdDOy3z(wFb z@G@{ccsY0(cp<1Wy~O_`^uyvm42u6CDE{9C#lIT70{jW>=6vu;a0&QH@FMW{K&6Wg z-&1^aIIHL`r+*X7LoamtHQ?)@PXb%P$7!!ABZbd`^8XI-Wax9jbHL~L9tgkXsDrQ0 zgxQ1bi*@ zF1NqS?R9_cGVJHO{dsOb1AGPcKYL-2a}>060~N0=;8|b~sQl^x72Zlvd>4ay|KD)? zMz{ab%y3T27s1!y{varS9|PsDA3PgchwjP#Hn+bTJRf?o+h64Njo=*Yzkf%q&wE5WBpT&3?_{3yS#0F}NAWXYfIiB>#L0$ZTRP73M!7^wLCIVkrJ zfiHu8FL*7u-Q733dkIu}zuN89w#eW2`B8e0fs*$HQ1(OoD7{|_Dm_mJCI2{WwbJn) zK+%5<%AfAdkiS0y_5So^+he63;mxO;=+RNE6f80Me8+Y7s0=MdNYOkE-9OekxVFaRQ_&HjaZ- zxyB`$3YlaUV#08~1>` zQe!`eY1|&{XZAV{!G!zFe#Z{SqGR4M=Qs|t_(vUw9Qz$R9E*;5$DHFhk>GLWsN;}h zzhj4E(J}7`n7?@>Vm^0r?!V|I5fsg4r{nnIEaEHow(#D$KZa4X(oN=5{ELqL!JY2^ zn7c1`I*u2*oIj2aqUggpJlj$;NIvxA# z3!IMq^PTXBKlaDfM-(0V-&$`iI`+5kbUOC0-|gYY{ z#59mjY5MVu`>XJqcE1jvX?k0R9?j4?*Eh}oWXAn3GVT)@nzo_B|3w-1lQZ<}OnlY8 zq{Cm5k@t%XO&eUn|92VxYA@6BK9+HB$hd1?b(();CcU*EChh+E4F7Lu;xn0{b*@v| z|71qqr5X3nXXM|T;lC%tukS%x{-YWG>of0jL56;FhSqsjX?g9L@UG3!r)B78GVzhD zw7gel+#`pzvq+c<|JUGCBc1x2sPb_tc( zK$w?hH{8;CEy)(FDh?6iHB*dUrh^StMd|JCqJsVA4PCKV-qGH@sdICeA9Z9eTxmmU zMve+^UENu46*hQ_w9<>T3a1t&nW5v1i2An8Ax-=RLlsZIawv$EHfc%{mfR5h`TOQL z#Omss7bWL3HG9^!EWh@~n=HpGIF!{D9Kj+co>9NjKHy6)nZJN}GmP&)q570}0oT5F zzKu3Em**eD*yn`%PZrV1mFblqOr+_zM9Ave{~av^Ll&mpShrgb86_g${XXV+!*1%7VLj1IxZ|F zwvB%oqG2rEnChDJ}92{f-9OmFzM{t}a1gxIgeHM0MCGT3E;?9DP!=Ap^ zUNQA6=y$&sY;;p-1|FHZ2PtmbjNyg)~B znnY`*pvax%O?WQ93E3AS5LfQ8n$TC%)L6s+@09;~-+#;U_HP|ts1GWgd(o1SVR64p zrbNa3FIFy2WO?Bc4uT)kDlFTc?w1Q`%??F^Wr2PKP%De5WXNE_yrHLp+l_?Nj=RCM1l}NIZ7(9+*+WefKuPE zbBxu77MD@4PO8{e9d9bfGc5NRXnkm~^`R?TpPsc_tpO1prwJNC#zW@UmV264v`}*P zbYY2Ja-G*O*7)dqh?Ylt^B&$0tEWP;Qc=+h^?iA$&~l)divDAjVgWGA z>f*vvwbGL%eq#Eg;$t-yCj!{Q{ZLKG{6iiKYHgBV=2uO)hKzB&TT(-1Clkj;{tXJ2 z{K|LQME6bpU99I19ae=|@09erGWGnWzg^;+u0MU_(gIRm;$UP;ZmXVicd+=bXY;09Z|-((EYK*GA*HRqvxiiI zpc|Ko)iY517X6921DPuK-e8|w6|l;E%-wIUr{u_52S{;eUJz|9NlN>V@Ct?&sEdzkYXrcO7>dcjw}FDgUdS&)>5q-v;(kf|@~v-N@Aj)e^jeK2kiKnWv)ea;6wUv`-n+opT~+zwr}ROp zwuwrw^}*!;1;XP%S||hoJ;zDppbdmawFuaxY1#xr5}E{pPBbMwn&TnRap+h_)HwQ| z>EB^6*Rgnr6cRuZkkK$QP8^wg!%V#NtPjc38 z?Y;KeYp?x&ube_S_**t&aL{0{!8(IUgK>i~gHzyx&t)S92MzWbtTUK27&izY{&;KJ zO6b(hfBhcz#CcyWP2AketYgl6Mt8n%LUS>`xn9V~(EJqtbmu+=nj!oXpD=uz;UiEA z%@6QT_gTYphBrZpG*985?z;`Y)9?!GXD)^tWtt!{OtayxU%-JL-P^@A7Q4aRdnq%_ zHvsA0i$tbjx)5ikqvt2_A6ybJ%NXa1&18GpqPp803Kroo;Yp-&oqo#Al{ z|4Q?pggwp8=6}fOzX=?Fp7~S+e=F#M?&n6_e-y!a5G6>@x<81&9KpHYG3fqa#GP(I z_t!`0|0?2sXT<;25&SPBIPQMz)B zuJ7Wj6tHpxo{g?Fd8n*h$YLGEavuRs9gVkb?!-!3h*`kW_yuf)WdIK_YmPE93u8j; zU0Au=ShJa*e-!wpbX;ViJytQ!UngIt81-JTm=;;z0t*XAmbPSh1ItCYf0Zw3;0X;` z$6`Q8EUtNJQt4NKdL7=mDDnyg7s6T^>vt4eJ#y0f3r2y(B#{9NtRB}7)wi^?HRw89 z!<^`87d#O!u2&D)3uaizQ?QL;?O$E*2eZ7^R1%{vEan<55skoO5$@E=Qd$9 z4revWf2&Rwe2>@nEFAJ<)yH;Qs^lW;C`Y@0o$Vw|Tz=7yMER#IN&J|ou<^}&>lBBL zG-+_$_&E+}i`mqAW(~erhsPr86lseO*LS+%41eA_1<7eBAOEeXqSb#iAx~4nuEBjWRjOpAoLMFIxc)Kwk>6epr7jvC7!mW0lB{&yaxc`_Ep<*(>I`4O-}eoK5E5X=)_FnBK@x)ceH`H*CZ z%K?$}i8BC^J~C_q{jv*yOM4ASQ-lAYkm%cn@NE&C$_>)vz4Mx`Bzih$+fE88Y*&<8mJ;O5|0y434G9Q*A;#**vUKqI2|00% z(IysJFC!DJh4dTCAcE!@sxEYr#52id7=B@V;e@GGoarrQ;&^fAcw5Yr;@lsoM)6l2 zUZ(hK7(tp@#aBB#RwDdPb9kBJ>m1&$;a7XO`oGTMyVbqX;T7t>!{JHA?{avp;-7SQ zo#J0`_@Kq#;X{f)?C?6p#~nVX{-1Yvuj11luJqjBCT6#~bAM+sgL+i-vD(~GPYb@r z@LLVPz;NU#ap!yr&CQ0t$MAN;KWKQP;kOyyW;o|(Xto>9eaHTirw#!TD?tw^(iIYHsOl#!fr#N#hf6#Vps!yt?ZKvoY|;FT{94 zUb@X5!jXfApb1#JxfMs@#R^X10Y~a(kC*K0vu#WCBH}vnfZXo(Gzm3v+ZrXfzvaoH z=1Nx5S9c%m6{BZQlzn7MSZr^VK1K)4$a_X1Oy1!0Y_O0(eQl}V8ow=mdwok+V{A)n zTq6=kYlY{Tf$K-ewz(D5&0FJJo3}T1bjIa*W@jhKpjQUiZozmlD`)|C4#c^ZfjxR% zEnOY)&bGFAOZ|@Rjj`6YfS)*G9rIYkMLF1mXmZ^aZ*A+0L&->+j>g8VoAGvZytyOZ z(%1oxP4%t#X$01~y|XFawk?iK=uDM$7SV1DB1 zhM%lKoXEN#MLfa!9p=O|>ObJiIL}5{ZjkeB#7hhw1~cN*2H7_tK5mfJH1T}~_ZsXs z*ko{%!L-3jgXIQS8!R!%zOjUBaMIwo!MwqJ2KO55H`r|u^^fq`WH4>8(qOs4)doup z0#J|3*dO9Nl7<~8_ed-*Hv%gn zJ{Y$T14#OiVLvb24-NBMZ1F@{6w?v6k2%1+{YK+gXa2k6lAmM!DBvg`G$9e^>o+zT zzuoFLHW~N$h|NO#je`iEbDFzRAlMfR_8VQEr+n1I*~0nQe%NnJz3FhJ3Q;X9L*jLxJ57txISh$8M<)|Wa?bAT0)0hyfA3zlf59gA@#xF-n`P2s&qf0>W8yO5Um`M ziX*Jm2&-&^KFU#(yKn<0B+}UfwP-!k+5Kq&dy)bMDgicRGZg{`$^phQYw(L8F+Gu) z#Sq>;Ihwc6DgSfQKF2c8dSBztIX57ojLt014m=6VvCN1^^oS!G%M5vz58#Vgx$gkU zPbl5Rs#cM=mG0vFyCQMDQ*kVFqlr56cgTF{z5|R7=1#bU%khxArz|-$bf00KbxaFg zvC`+#TgidPX5N6GbWZqd;$$dcdglSElf|#JkJ%q8a~A2Ge5RMallG(2%hID$%hFl3 z>^ne>BeV7k-wYL>ZV)A|+vddhPHEDYIa z`W|1D-J_ooUZZIJ`VNpDx#1LsixkT3XYTSS^-i%*fpW$&nFJ@qT_f<&n{L=cAAVZ$ zw#M|pfjY(~;D-FS*Kw}ONybR^O)sj-W}b(2-vR!j2COFQ2C@6ZhNZo|ql@|h%%=3A z>z4NR{RZNSGT1v3W#p8{$Pr~W^B}^O>%;~&4l+{d28q>%oD{2cc3?LG+mI9BMOC+8 zKCsMgA{*EvF_0KWeD|wwf{5={_#P8sAX-etx0`%7mvG_s(yr)(HdO)Oh0~I zOcq&89;OxtdIn1$svca?3l9C&gE=XzeKU*F4bPQ6v|-g?-_uaiszFUUl&xteSfIQ- z4~?aB2j~O}7Mq-86|@)Sk0!xbVv^0Ua_l=GRb=TsqGj$ZbvCN^e%R0O=^frb+*AH2 z>&=KF8bM;NY=ZxH0jau6cb!D%mnCoSp;d(G zFVWZ|(Q&oq0hViV9m`CB5dM%B{JKOqmfpJ_L1`XD7X06k1CfCvd8ilCAO{je;&B$@ z!6f&RlXaQU1d?+piE;DZa7?x*50Z{&q(W0zMsrsyrV z-y%>%nKy;#LNUCXgEfSsJfui^h4En)1<^&Z5?Kw$aEau4xuw|%M3OY)$4)IfW$ar@ zCXk;m;}x!%Z@fa$t@H-3$#qQ??=XOPlo?SJDYFNfh-LTJ0ce`$)G8-dg?hRPOsr5+ zJE(e;-vHCHc>0{>hnvf=TUL<2I7)|Pla$3I(<&{Jd#0c#(F%xXl~_ZUY@f~zFj6K2 z$|CtiID8Hq%yY!$dUa8L`vqhVY+@kU{k4t}yoyy$tO~Wm{+Y&6QjC$EsTDOLU6A!d z*B85V;e@94l%WRX1L-rD?)opHl#F`!&b>I?E#Em@`}vTMDzKCs5WjNEwzLxwYfPex z79-Z^@helke|!yO@@;qpx%OWj&1yuW)QbT=@bCv?+}8saIY5w;t~$mrtL3;*9M<$; zd0`ZTsdzg38h9XcnZ_R*1qU>f=y&9L%B<5NV!G7#ssY3y_&w=jpOc|SR(kb0`Az3m zP`Y$(IafQ=7eANHYyfp>hVjYCHwH)?{>T7Hf-8M(=}EoxCF95U>j-I|BusS$Mo1VX z-4w?N33r=zVU#4R4>h@WZot?QRy%-sFBT^f(1ML7~nHEM72Hkx2 z92f{bH~F7&|C1%n2+I6VR#LPb%lr=U&@bj&q0H6vr)9A85^Vgz*I4F|qZrFDs|ayc zQfNbVPaZZKvY(|!)7j7N1E|XG{}O=ak!*(g)&3CbL5`AW;WF|w81G={xI2AGb${u{ zF`~C|$4Brr+)ny|74;ZLr1I~D3N=0djDGrhdcotpq}bWhKL}Ww367k5<$7MaO%-ul z4m*>tx>quY<&vIWvCd|$gQk%G_NM!AA5ZBnb~7O-P`Of{Q}Hmxg($-zkP^Xn7u$Guf|32bsw^bCTfBXB~Yu1bmVPfl4MQ)oZQ$ z4oE(*Lqr`q9_jwCOzPeSEa#4n52+6I1W>!ai zXSra!p_G?_m~+rs={@RD>c=IlC|MpZ$*@`}z2|HM>M?8BFGXe1FVQ!qbNb9*q!&Gt z*1@WdHV3LP<&_zSV~Eedx#aV*%hsf7*rUuQatFxk>;r-};6nH@&Ad5bQ~FTJ&Zm3f zyT1gDlrY{y`o14yF!jsQhfb*IduCDp2^C0Kaa6%_em6N#FkXx3;r#^H3Ev~-CO1I+ zru$xrajSH!wE8KisX_)=_Lf3cs?@#%QnA_)i}NbZMu%7rGIzPe+EoE}Z36HStR=a$ zgIe+uq*N;ZHCIc_v~#?E5Cb%;VmRySw3X{Yi(QbNWvo_FY$Ue^yv&t7649ogsg}Xj zZ!V-ZmoY(ZfC(`ABBm#w!%hC#J^j!!ZsyPJ=ZB2#*b4PYj{-%Nm7ZnfJ+p9#1oL?v zm2+&z`a)dCGBJF@A2J!gE|GSv^xi6{0g1~jn%412W(mIg4)7QK;9B^AyA^RxLkC`vx$IH~kN=Pr_Q+%j54$f&A>PdFZ z?MZ`|L@toezDS~+%=STjq|m~kLp{d4V5rxwUXpNw7X?0VKlRd}lR88-D4kF;ocS^n zNp``Vi zZH6v93tz;`Eg_!b>)6M6rz?{(70e>wrIN47S9PFjbmhSaxN)AkNj2fs3Bhq5D+E^w z=*&wNIn~){Cj1nFu>@l&kp$yM&Sp2!dW^n!9HwytqrJTt?Jb}xu?`n+AWP+W&z-1q zhC5GY?$fcN)(^$TikvzZxsYiXc_foW_t*!F`@snb&62LUL9z?RYRnYH6Z$TAk(PVl z3@O?oflj0qWZCyoP#r-%552LDMo1+Ak#mwlk-T)0i=Xxoc;pH~K8|&v(^v!bS7TC+ z{6=R=cD^V!HDAc>r_Ij)Ni^Bt^%n?d5*FA`*&E?LDm9iH&u$W7{LY!5$vz#Rlj+3R zFj6a8C3lc&pli^=8!l37*P8qRvWQ6Bz@HA*OkS1_)J)4k+JYZ>t z3Xock1T&`kr{{>vU2xGvtyUW4ykEevkF-AsCXu;SO-io3?v%-Awk4$>LzNbrVS79C zdP%IFig^a&9GF25D5&yPnqhjQA<^QFLBu7g66=QR(|`Kt6H3%8j;qbpAD6q4=FC};4;_d& z{BdQk6GPX&hTCy1OJzGKMF@i>O;sm(V%A%06=8#$HC z%?Ay!?c68i%xycwgkV(v)}OJN>_rs@|hF7QvmXy!V{+WjKb2*dEj zxck1})3@Xv6znyytipf0-3v}R#1x@xfkTtsw@i6LbQ}7X-m~Q1#naf=kig%=faqjj z_5dKlNDKm^)=b<7h!T?M2SnAA_+vo)C3fHkX}9WH!>=%W6bq-AFG=hN#FagXLBsDe z{AR;HX!x4|mxJyJ%Zl9UQT=qOz@fbJmBjATL8f_@jgI?cM2foSPFO&;BSyw8NXIQ)EJ2> zK&UWrDj@y+7Ko;P%vS3)_i280R|++WRn_A?{`?VkcF+E+`a1+A65arKHejW}MSy1k|3@g7 z{&Ro~w*`=LzY`EF66Y9vv%zHse}%e@?o$T;&LBH8w0{r~q9^VKgougT0HMM}3n1lq z8zA$=>j9ZB_TuMs;2#D&6YyrhazLK_J_9hdNb}2YV?v)81SEY9knTNz^p^w#>9V*% z0KqSVU7I2OT}cdNavm(qF{)Y3yuRmg2?^X=G@>V+%9 zk-np|eg}`GUb)#WM+KCdWv|@a($UnsP2Iepxci#K^onzs>ao7#7P~(7n$(q5xWyF_ z)%~xyn^w2K3ZWcCg=aa4%I)n1oAu>F(WvdZbEU({V7D~4uG@lxtN7GoS`9c$imjuJ zM#C+e8=7u`qMOBr2VUE8+iKG-bO#2}6*KMVwW_{KHnwkt?u9o}t*uo*Wh1RBexyx94+_X(3jP6m`< zzWu(NjJnDAl|wEUH(H_1c1}XE2EXXHpwqw>K*L1;CC2v*KpPtYydRL?wfLu@3f(`0 zLx1C#jdxDWe`6badb>AajEim&$H=p`r*{*Um}j|j_jfbs(7~l=cACL?_vi6yOm}}_ z1@ChltA2?DIB_e4fK!G~5~^jE4|pGTOGFnUJ_r++c*>L87)*I&lL0dJAWRC->iedX zGr~NF*W~5C(%|dSP+n~2pZMcwByb7$8H_S5$T-9Z200Z7lFAPTiKY1JDHnwa%oa?z zIP3r=v@?PEu1SBI3N}+F80IB5!j+PzOE4ok?F+-KOTS_>Qy#?N0Wqt=Et#oue1n;M z$Dw6r0?+D_RJ?Q-vjRg@0iDlFQsti0q&f9y=(*~baOkfhcmx?NVzDdbH`FAGjmv|h z3_ILpiUr01V&)p(_hXHQ#`t6EwfK8pLq=!e6wvWK0sJL?3pr545>p0wj|K6)20sS4 z40t0TN?78ZfT(X0+&n_~3Zz9YN&GWl3E&q2p~S==1ESm}-T?@ch~r0DDZB~zN?163 z;4{?!%_u#7)tmxA8fQLB&#qj1 zK}B4Q-k;slyk*|@N-Fd?6a&Ndsz0P4vG#tNEF;H}$!Hwz+AHKSF$-<4KF_)nhWzNa zAA`ep(xR}vI_miu#|L9mF^{q42pALBvzhO_OWx$FvqowX{P@|6MhN3?nh?wR+P~G( zn4w&lf+{hYV627NLfgMhNT3VgWAEFbGcX9Ye-w!SOhd{@c&vu)AD7ppHuUemMeW`* z`&bjWVJi0y=w|qQd~1~{Efz0x&ag1*iGl6-8cqrMiZsYmc@{jScNb1@XoXsOT9&>( zo=#?K4k`h6S!Lfn*4bzuDNqKtoz$fxp`d5lSqg~5UK--E+2Yp8I5totkkUNoJm zl@M@3Cs&)?`7cL)EA8HNwzdMT*DMCI)MC z6eO5UGnjA*1-!|k#$Lr$+7yX^os{Oi+VeiXGJUiX7=IB+HN7=cjx12&_2d8>n>jQyBzhj6@hScsjs^NGD<=^t6UO{dZv#|6w?S33L4oc zqTL8YMWX_QColhay&%@ky6Z>aicZdx@$dnor0kzd_Z?#XLrc#)*QJ9~i{1v}i2uIs zN=V4kE@&=U3F!_WnNUJsr-##HsZF2)8SX01Z3MUX)XI0?os6S#fRn@z9P&s;Y`qA} zB>h9mVsgwOFZL0ECUC#{uT;Rp>7_}P0UWNblkD2{k|?RK=cSnK0(r_2OY-kJ&7nwB zi!W*q#urRrb(A0!HLZ3J*yzTfoEdhHs|_Ha?H^VEjgo$9~W8Pd^Op#eV$?t~W<6 z9*3u?vFaCCr$1HwJdb~9FID|4hH~J!YxXf}FV6ANqjFRWqZL!is_w}dcSJOu~2eWdP zpIM6UnTMcL30W!{d2m1-J_`qv9P6kVtXVj8HBd~^JG2ay%BYV97F}mih(RoiroIxC z{W~0cPZJnc2~n=w3L)-uG7BrB%q@LAQ{c#+feyXo)FM77VXHFspuX$^tBuH7b|t)D z>5tLlShb8p1L~QAwTn+2oId2xTzA}Q$6dHDYWt`okn!p+X&_lDbKO=?;J7TL8iA^W zo~@s?St8#!zc+~Q?%XO=^6gNe+5B)zF$DMrqP0lmf77xN{Sgy;vkArq_uJA782g1w9< z4L+llDlzE;G_G}!aW`qol)c*{%_Mh?hK$omvpV#=0tVL>-=KaAbQ_;jx8mxI2P~EFuvM&mjq?^>Q~>L zb4cg9wxo#r>UrGf3%`6W|ESy1g!Ii~DyZi0si}%=3dt3C-^J?wT)N`anwPTUbnAr@ zwLOOX>YtupYn~(JN#nn%X!w1H$^z|Wi55_4R3aNRIJ#|Mu%2N7gF!7CHa7f^KJzN@gFhwPtM_9 z$66C+uJr4j$9-@f_mO$rr{;0zrU04~6%@oTZtkp}U<%xm=FWP*n0uYM&l!Jn$69$& z|2FM2=l-N|+fQWWuV7ws4Y*d}f5_;p92TW(0bR*2*}FS(A2~$-{`Eo7NxrYbR$M*<+dmt@7bR;x}A_gOp*BV zp8e!YD&M-J&^-V;_nv{3=c3_054t+zXXUym9q-xSXLMG+i_-C){Rz7l-^zJWI_|Yt z{cDYfmG`1_yk~#P=&alqrMn+=C5M&YCy%0+CqdV1bVtiChd|f806M-I-o603OF`GP z0J^Q9t6Kma_quE{I;$^=>g8*ot2H{SH;U5nO@Xx0S^ZIzZpjklzXiz0y*!mhXZ1+| zzdfjL;Feg2dJ*H3#7cu#q8=xHmO05K(+ zXapqv_n-q5o5XtoPX$Z?B3rFG9}rWw2_7dP^UVz>@)g2)G9DDZq09 zZwG`){5_ZvZvjM*iK_uoCnVkth`&`_13Mi!$Fa2kYe3q61n@lI9{{WXtSy$1W z^&^(a6E89l{Cx-TRKRZn(*5gzq<_Hhj{=?o{DWqHt=U61*;fVG#UGn@O#CI-PeKsO z;s#>|r@)-{BL)Wz_8P1+m^2tS7&ABp&*I$Z=>G0O52NkPcwyo;xWUY0X=cokK&9Naq5faZo^$W zzR7UcFG+!h^sb+Df}^*7$9oKS{VFOGaq!}mbw&UB<{ z!#{CnerEn%zxz|>?)s4^D;gfkH_fF+@A`qa8h_VseGW9_pEP}O-xzV%Z@|7OJfi-=E<{v#2* zI)Yyx!7q&9(RbgsN5V(l5DM?Sh&-=G@OT909><`(FGs@fj`06Q1kXq4-8w8@zLwQd zS%}qLVzjcCzcyE;<#v2|{Y!5q=T(sk);s#8^)aRL7=_8damdlo@Is;|8K ziYu$}4z)a2U@O1Pop%P_3P0Mb;uKNe66cp}d9yWP;@tWaKygp-a} z*0%Xu#oQYUmg?l(*u5DW-0Hn&7?>2Eol6_f!aS0-XJ^{?Edo2-d`rII5PVx(Qv=C| zB=Q2^SiAX}>UVo+)m87mQY|c1gHcDYUTV{x_)+$);gG8LzfRWu*H%=a|6&BnGQ0)G7wxzK+{$bc(JlZ~hN-pWa#OVjd;pjeb|40no88Hjp2hfI2 z3=R3w@1{~)XFtY$0FDo~5s0~$!UT+o>)Fh=4}dpZ(bQQxw-5aIS%HQP{XUuy%lY;J zOrsx4Vkauo^AX@?Eg= zPT6yvdLw4P$I{vF4cB?pvI>1M1X)Bb7tx2efzFl;WO+NFC@co}iUPu|4o@KS3}527 zs-oB@cZ&KV+*A2?I0CHg9L6^_ZOiSEd0SObEIch+6x<@|Sr4ouAY!>>vbg-A zd1++R{33+HscT!;^yl5vVFm$r-Gcy8Ww&A4Sm-`a-~Zh6`eFYibNHWo-aqWWY!3f( zuM33zub#s{O3)nZ4q^ZCIsDJLu3&pOoc_w^@XxiO;_Dva@GIu#7U7-Kk zIs6x2*I@n#%fHF|N7gl@wQfM>^vsBUF~f$;h+#Df3*5`h=KFKF&zd`$6PiN**1B=7 zwU|5aT&9`J|Ae_?PJ^a^KMOm}8x$0{^BqST%&E{6xbwY7nz{VDck|}*-#(B3-SdP$ zG>`v@dHm1Lp@t?eD;W>0)C3j%U8jAx6M;qIV?)o0=m4>S$QlG6lGYaET=AF{4-G=9N# zjicqi;JU`q`2BmXYh;jS7<0+_VtlTu#}C3zybqB0TKsU`;S9sSi@ZwraX`9%6_Eb- z8Qu*@dcMO-cb2I*@N)rCMiXnyo;OO+-zzBVr27dV@fQu}d?myAyy01M|ES@dpJX`I zhMx?`b(S|7oj#77WsnhwKVKZW-p(cSf%egGQc71oZq zd3)C`c9^^CCvogU`gWt|dW`tDcIp9hcm0Ado4ac#-{|~)cEdUEL4HGqbA(IW z8TbBhnYq7W{>u zf8^**o|hay!{IFS6NXnHT-rIqIyZ=)4kU+E-o@V>@oL_8in{5+A@eOt^UcR5P4At`rxZu zoVeyQx*;Dy2b&7TksNQLTEq)uj$IK(0V`6u!%?9C3oJ?Ly>u29&bOA+&)!*Rk0Jef zljp(IEU*Nny>}K0qC($5^X-aEd7D}y)6woAb5NFw&Gqf=Hbd>%BXb4pkAD7Zj(OjU zF0Krn|7z>#Xqj)`x0Yo&t|jWt0F%K2qSoH;xHY)#^aJB?PP6jgsxh4P?riMtB!!yj zdq>W`8uPp~Hj`?7x3c=Ulx7a*#8VOzjw=_Bv6OaJ@ym@4<+4G-#Ux$D4I93xnFO!wr5u94l zd9$3^yLr}u2;O(7o%=z#=alCa{BzTJiZfQt4k5R%?^EBSG-C!9jQ}&7z{s4+eWx}$T?Qwekj&y;rM{khaHp6vYdnWs%|7hsRwDVv#%Vsn zB$M41Dlp2VUT2_i$1@L}dFQ~Czzl2NIb!>_k4yxS@gOn+9wUwiR|RGuAQ@r0wkwY* z%Y8UqeYh%D^Ab*;ObK&;oBfTT=cy4+KFi6AK_wVD{?m_^fX%O8&23IHqH$L(LPZN)_0ugIq;~{J$j6oe1er>tRk;X0T)v9k_-YXCuSdD-j|47MP*-@z9 zs?_7koX0E}!J>?3RfS;KU82l4!kd!&@sjNI%@8SNXonXZ3YeSwC&h~#xOcIH+%=Y) z{OH|WoVEEWD!8muh$bq1IoaogI1tTV8( zcor&~h7L5->!CjHd!&E$p6P5C9!*EuWost<3gtfLMZ|C-T%iyRR47DQq4-N5 zY{-ULu^^HUp_WhOIdvj&!z~45I&(botZ;UPDOIevjm3G#MD*n2JA z6$xV-+z`e!62>LbFt`R}Vd!4^%gW9GlY1gewkwkr!i4QqNYD>@)f|rSX!774dG|5o zKE|~Q(hDo4M%yLXqpxQOVzYGt!MLlVzNYouq+CBbuyL<)$@L7%hvd|A=p|&MM_YOZ zHA;bNE$-H;T&BWixIqT~lx2`pz{WW3JvygS<%IgP%P4DEoW@mHzc~E}D$7+L#KrBS zuPnyRyZ5l|#H$9QhZkq74?>pd95RR5Al5sZuz)r9M50u)j;#R1njO`quJb7+Xgbj zKkw?r&C#sQH=2xBu;P!ZnX{jkB7Ro9Z?yMCysU;ZqWAUn+!reyI2lx0kx4;E0bwEh zJ1n=S@^?dFE;n0F37k2za)X!&O|JSrJF>a+$$oITfoqbx@Zq1QK@1NwC7)iDO}j-e zZ{0F{UZzrb%EA&Vy3k6Zt&`egmOLWqj!5B%8J@D7sKS$$sP{$~G~kdxxh{pv)BDD% z?>C#-a8*b&P!$plSB1C0pQ{T08VQ`rkHSVIb*sRqYE?KJYDO|z{<$`62WKT!t;wP7 zYGFd#K&>djS@UwK1UD89j-5tmm7=n*=U0Z}mwi4YCdV_W{I{Zhy91S>rDe8y5Ctah zS8{`{lKTbg4?RJO88*umat;zQYe(?gAekv)kZjfICad8V<1DZB#X&rGCL0+LnKO@E z(>HRQ9gCIfL?6LHWm)K?;cR0#2!`@ZKvb;;dRUIYzP(H#`$T**v>I=Q){J=SRTig` z#TpUS_ZOi#;%W=4GOYQQl)Fos(w=;%LpB)1aHiR>ve@d0R74w9~YopWesM>RT zhd%v^jI>MZEOJcN;vc$1G0X8?Rwm)qs{!!_YxOLuL{x*U9yj9qno4~L){n$6B%HZa z#e`=`Ab6HKAB^Otq!HSq0@Nb!`~3+0;@{PG@Q=z-1d#eJny6Q5FwlksQ^tB$!^3?$wCT1oWX{L0J@GP@W|Xbe`s3#2>@5S#ft5x+a> zjtpn3(Sc!A(x~ne;fFAGnWDy#pwm#&gajcTE`SGiLUH}IG=WGW_UUV;k=9c_nFztw z42QPmSznT?puRLXFpHf&P%iiAU@r?;JLBdh9Dd9YmF&^XRqc(f*Iv6Jjyb6~XY{bi zGO{;8W|SJDJnY^bCVj}n4P(4v3fws!pqa}(DXy_tT;(qCUuW^TMCl6L2hDvi;G)=~ z0{7%{^~e?F~jWfj`#nl=~jT`wZU-$nbcc zi?Gt*Nr3cs0wDc$q5NPfGjTE?^}5<%sljD{h_P3gS!t75ld%mC}^e7*IiE99v53T@Y{3`*^ z0z40p{MP`I{ulV6+&?fl3dnd505YE23_l-`>$@d}|1-LAr2C4&djL-d-fNKObBS}k zko*lV!PVA5dRAb|L>khm}k$9~MdLD87C+Pv^C-^7s+KY<~ zuY=Gua1!@H!*?0(+NV2=pKFi)Uvsa6GHJewu(_`4+S5wIPGG`UuW-?4bY4BRI-T$bB?|bG<9*|BDg-EC)gNH%92c9Knx|`2Sf1e=I`3 zCc^)P2>#m$9zBnycUx|4^A^K#Yo&J~H@>|k@oTTRToG8xt=zl`+h0oF+}Z}~?YJsj zjy=tDN4KqUud`db$;vypg-bVa5Q{6<9w)4)s+{!K+=_Mk4qQ#%xZ~D(rD^TD)edh# zI9VVrdNeC6ag1x~+y>Cuh81#n?2-$<@zK!Mid)Zl{dvb7_39S72^895#KlwKYHtd6 zYZq?u1`B@U4(!dhbu~BOChs=%#<74a_k^=IuCZ||)}ROf*2eAioz1uFEuw*l3cq4E zjRsG0fyL1-`G&K9UW+NI7_7a^+o_z^w$=s>pGwrbzPYGPtk{VzYAnbi{v2Q9nXDS$F1}C9jfr=Z9?~~1_iv{3lno`axtRJt?_#bp-tvW@H>^| z?_@5$L=XX!n0OuG{m6NVOrUW?^zj`e7&G>R0+TAIWh zV1=wz;;%=ozaSAAj9PO%Te>S7wN4{yrMozI4DseHP7&R`N35%&)Vwn&xR@E#9WMh; zDO29;!RnyvNL!$NF_(eG+VhfmEaG$=fY;tbIC_eHyhaEM`%hUyuf481%7+Szg2! zFZ}&y^+aw<=H-US3b)AsHx@OI+r2)wXONA2+1i4#p}KV~v!9KdK;g3S)$p6je*-qc z0V=^~Y=+f#HJ^j$vS0N?KnND@E8OGn{x!xSMY6?Y{Qt9>$YPTYs~Tb)Wx6fiI%E&o z+*ZWy)~!JuG8e-j$--vH(A^3P+>>T=;T-P0=FWLdm;(PJmYCm~!~gEZ>hSa&?scdO zXdYBhz~7ytXj47~?!6`IF+GQTZmcoayEOakUP99!a(wairwY3t(DYc8t_7m(H9FI0 zQM&s;H)M3C*P?WffNuQXxN39ci0QW|-9gZ`+c{3tb5T03Ke>AeP2WZ7xc)R~>rbZl zqI5TcZu&PWpXtAV?t$gHp7Rkvbj1=KfJn+!R|2BFPFxDedHajZehnbke>h;|`VZgp zq&vq4^!GhLx_=dr?t|w38FSwZ$Z)PR{8y;WiBAL4{}>?G9fk~k+TdLVZ!vhC!OIMu zZt(R6e}|cO^7)a$uLCli2LKsP&g?r4ZZ>!r`5i;$L>>@%GjTE?rWO)>e~kEt0Wrm% zxE>J0(L^;M*ME4k1gh7>5T1; zd>i1`0MScMv;d;>mDmDEe&0l1f=O^JzXFiuhxX%uQ0dAMK&W8lCO|}KWg3v{6P197 z%F1#;(93!Sf|m6Pu$J`-IIUz2g1==`KnO<+4jSw=SZ6S4Fm4b){Jjs5>kZEEllYKX ze8KRf(J=4Rz1MK|nuxpl>siBHeFa^KyQ`m0GXJhV`lz|P`iJx5+(_x>j~)b$KhL}q zUqSo}5%;kO&h@4sJ)7ttUK7E85W!E5;OtQa{qvk%5a&6)AbxHHXEz||-Wb7i5&BdF ze>p7l{XX~A!A##Zh}!=$J_Dd|nr%ZJBBr`7r7V(ojY zug9by9+#8`xUmzn=)urCceLO=${o0~>Y8hCQJePyrpJo&&8<951}d2<_qf(~=zO?G zs;EpI%S5^7;EsZ^)sMdQ7!byF5du~XkWU|gl!$OXS*_|j+nRMgT|&|6b$iuPAIogK zy=W;n>+DZS4WGynrU>MceZ2Rn}|$l%R0uEJ6r2-g>B%rFqxxPb^Fulq2ptA zMC{n-q1UbD3^k3-L+@w}%tFUv#pa=NuH) zMx7>Rq369WGCt%-zxz-*qP;3M4}H}0S&k21W{C?XrBV+n>UuZc~JJ6r*`mT z)Hk6LH`XS(63jPmJYm#%<2P&k3}xHWqaLE)2t@aN4N<5LXf z<3Hz)kJZ>bRnpDtWH%n1CJ#60$0!Joi*Tc=KL~1u`!F*A#)!W{-bv+|g5u2$f-Z#x zCLbTiC0yjh=Ug1ywvj~6!#pS#M$^e9av)Po5|Lj*_!VzXIhVk~l!GyHL^-g*)31a)hh66)2}%rE$uc@}KAo29B_UK}UyasC62^$2WueSx~c>eXM&9_qh4Ee-8H% zbH8H_clO6<<{HnG+54G;LWQ3>#xw3cPLs1J9mg|M#?Ry}N_QXVHgS{>V{#YLp}s(u zKEZc)+3)-*;>rHybAarx{uLmq%EV^?L6Z0cAj*8A39tn4CbeJ1P0Oe<5^DibL=#H^ z$@dk=z<%rmAo+d`kbDOK$#*9pOyXAjknei|$u|jz@K&KuEPSb7@~s18P)UPvg8*WG zCLrhN25AA)ivQsLlhua1^!$L~armM6WBl8v;15S|i~&OKpNrs>Kj{C<5u9#8_X{HU z$0GO>5j@bPkdD*4uDHtE^B}ztc?q3Qi?cU_m1}-_9UsB9KUMg2I6MS7Y~E%E@zoPC z1{Uep7{?vWx9h9kpy0H zfE4S03{mlM{KK&SQ5j4KvGsq-&27S;kt>hiZ!&_c((j!l#w?0cOX;Trr0$AQP% z9$$EV@cnPN zp3wJVTn^GR(_%#2H(p|666Uu9QR!sUjh!QWY>CjU z=b0GveI`KOiO(ytBSR)i69}+(3maZEE;Y}}zBlxgrVvl`e1M8nFfoA%h4=8RLvkG7XfA)m8O>1~lHo*>`+Xuz|;w(JR zx``ywI(0JqN8~lIq8Z^7+1PNmgv4Dt-rXXLyzMX|>&;P$KpMOQZkh%XRFekvDk`f~ z{?kCF@h@o`QlOisVLcp-C4)Qad&61G-01tI%=W6Q%(?hf8MflfMfXD@!-KF<8Qi(l zvk?e0TR6TE9+sLH3XiWA@c0pI91n%)m}jw>&~2cRJ9Z}A$#I#)>X|~yM1nDOeFt@V zD*yF@V0tAOZZ5QWHz=MZ3v+Ur8{rm+w4~9%ii~i2#N)*NJzl*Q4Ym8oMez3lt=aI>! z5Huj1rJ#$cH?33prjCSAw0ZF>q$E zD9wcnpn0oLBb9`ICRrv(d%@b3@1&G(=6~+{kxC+SF`V%k&RBQB(v^YRQQxKVPs1i0 z?HQH7ylmubfw!dB5P2kO?pve$M0LXG1?jOSma|8CdZu8n#sa zyB@t$_iYGwW~&B{5M2nY1-}I^!$0tR%ooD_5(0NEg=5B^@67Khh1&teDd>h8PD4X= z?oJtA#Ik4UA!`NaHQ`OI> zP}Z(!m`yMGh0bVy2i3!fc+!%Bf&&{2^zkpJ+>7p;#e6@q0-FtVl%O_bNdVqTz^ezc ztSHg240I`Hmdah-LTC?sXR9CS>p2)Jy>}&Sb3j-D{BDK~FtAIi50>7orT8Fj9s{xW zYzNYV_rx@8d_*IPll+L)Bh}f_RNv?#+>`Ri6%7+lEqQ&6wpHYL3U~@F&srg$t^e=L zO4-M)D56ziIn@RP8*2maA!9y7c53tPs_=dmlJPPm15b?BLMPPe%*I^Y*b)Zc@ zl!8|F$#~@c7MulfD& zY25trhou`9F4w4#ToG<0#ZF%g>x5r~0ciyVV zc`fIScLK%&A2A68^SGT&TkgbJqaEe+SJbfI3&SK08TK(~c%BfZz+L8K;P8EM zE_C0`yatnnhmzd$~Y13mi;8V-(mJw0zy^tUMyHA-em5t zGxwjOzM}ni0m*M15KgPQ0GY0JfcQ&Xg&(?C0n(j^8W7dQ?~#Y-{~#dUzYj?FdjaYH z!+_{AB-kgU{S|?eE;U!Cbw zlJ(w|b+E+WvZTSdL0Zy&3Uq`c1_urH8mu#zG#EDs;Q8l02yUO>-+>wT5xRDc-D~2m zU3koJ*Us@AJKbHo@C5i0ckRHmxx03cbqn2HJ8+HB$C0=+P57s~YvT~LH}n)@L0=cn@T-5+POMc7SpkK zt%vlnJxsP8Zf$AYv7@bU{~=~P)n56qE5|unY>C7UMr{1!#5nHs-?81t{Ei&m*`afE z+gsYU)VH*>wcWyvjFH>#ud1!S5_e{8?zm-hJMRPlyuGb?t0G%lc!*y%KcaKV4To*| zl7I+6{^)1MHV1g%Rsx@gAXV31wYjGHy7X05?nVI2f6I1C?8r_s{-bRXv(WXADx)VqR#}s%)TOd6SpPWs`a-SosYPW^!J<#)v4Bg$_%Gb_!I(!bT=BZ{Bq@F}G~-^10N2PMVK zD$f3-;!6JkhYxA^w>Uhe?mZ4qs{6+rUZ(E59ll%nf8OC`O8=n4<4P~n&lI3S@n@WS zQt^Luc&+-M@^E$kiHB==FFSln>6bB+(X=c6W{3Bx|I-~_r|xSVKB4aK@NngSt;2hj zo)7bi*{$>q4mWEDw#xNy5X0Qj|2&OuA2<9q!~fjy9fp6!@J7SGZumCC#|`f={6~gw zH~ja8W5)Y5hR5*>4c6QQzsPVDTEYLw@OHzS4R1EQ$MBmCzu)j%3?DZfV{+kl$Z!qS z|BW_7ffh?Yt%smUq!Xc**4S-r!68J~ngNkk571*E@5i|I6P*sYnOC-}zTcv)tXT3W z13zT@9zS^Mz)f0-i}q6xwscfTB4Y4EnbM1(UxEQb8F2;I@#dj7gVloStjqSWfsxj-)^EKt&R}5Gcx!v-opHuAj(%iU zLuc2H#u&*3+Du@)v#l+@rFnbI4zbt-Vw_!;&gQmO$G^F?p>4;G#)eK~cxP*8eRr&( zt*d2gytS=U!i;w|A*j%NWQc@z$=EmWa=I6JiI^@2KyHcXc2- zNH))llZpZIT#NLk5X<_8TjI?f(9Mn=UG1F#@tCfNsz|t_@wP5p$JMwsj)dL!?L{L`wZ?i*l)1g zV3Wa32Ga)14X!p=VvzeUBwT}&2FDGuTR``H2KO55H`r~k$>1h~X@ivp%MGqJSYq%n zlq2CA^InL5cRnD+hj0pu+m_;!PN#!3<9vfwT%66xlfT6FlXYQ zxEuF#oE#jNv;PZ!p5b>8*YO35KF3YXt=l_n!;TDUU?roFPVB~(IuJN2iwpXXYDUI6fv$>?fG)3K}GJ$ZX!cr2~Bn&qVJfbMaz6at8U8%nII$a+r5ZLul*4$hyAmtdWaMme$x3bx zu%}U&i-DwPKxTf4heIPRe8BI zz2G-C^ImxA>p6t?gMy6sjw%_+Cb=ctB$xRhsD-!0i?4%R9 ze}A@g6dM?^6=aHAL7?y~3&$*lt2O4-z`VDg(v8`lT6u zfioVRIU!r~5*~)*o&xW@q16YG{d^cKdYgOBMa`7TQ<)*{viOSLma=x^=|{YYar6ww z>UQl&uI5nRD~lecB1*5q8$5PYGnCogy@GSnr^8-zaXY?TEw=`$Oyxfc8_~oJmjt-o13Vcv7)@ZC z$qW8V6LO?1*`gq{4MJ5A4=%&bDqDNfImHfG-1U);(xpP-y{D2!t=kv`9}>p z!?sKBF@$uY3yGfFd&mOeHY0AaL;y~wk1eAR|K@~nO~u1b25nd)ewir9iGAYtm8jny z@hck)>p?O6dq)7lr%+<1ppgi}lrmf=439W^C(Jp*Q1FHBTsi&_x(Y&m&*OQH%kk!Gc<>}vw{U-7LP=WXB z1K#DTIXP(0Gk~HiHZ9DmS{6i}o9Sa<#qq*$xPT#w2s7VQAd|4FckwUN{;1T(K4aFg zE~1>^P33=F!1#5_7|o8)?fGXANRj{n_k`S zdbUlfDemXxM%upabg;-i+6;a7|eFrZ;ME1xMbHd-p&Jm7j>fp_UwEa+!1_l(HeBm54(nL5 zI~vN+c*s+%>!}14ixC`qFx|DGa-L%#rr7u5JC*-{7ov--HJo6OtfgipgSm<()M3^7 zOk#S|6W*N~x+#@2K@A8&O{oHe6*lZe(>$au1@7*A?w99q??ut0xm-b^e{=t@bGXl% z`#E#C$59v3{HcNh{v+mIIfuKOpyGTfOo4yyr=#KiESLiK-V(8oG1nDycl(B3Rk8yA zgB%CJaBK%t;4Tv|a5yB+h3>N$2GM+cj_`X~OknO+P{6-zr8<0T4)-Z@-!+GOyJZ{` zqkuo>iD>4Ucc1+!D~lsXj14k;@%^!rMrZl3C>@JU`_Gl1<;S9Q_kr&4tkPM&EK0`$ zAOD5YS^g|acMx=|jn49EQ98ERj-Tb%qIBFJyVv+xzAZ|3Bj|>V&hl?jI__c1+x}w9 z$3^KL0Ns?`i)s0}C>{65PTD?X%hyHeen`fb;<@2I+8$dT?`;{%f z7p3b2-Rf5~-7Mc1rMn+=y+&vGzbM_4pewh1%~lSI(j5ZbZlkmEP(as(jE+uK;vzr{ z1{3E1!rQ9FfNuf*bCfrz?Zj^aa$oT`0O|e!ApR0L{9uwU(E`YQ##;dCewo?-ca(SX z{VpKwzYIvee+EdtSDAa2xt|1xmO8P@@ZQ&{|1LoK=eb?-JI(N`5HaFafOLNz^%wD{ z0f~Ru@OHz`GMw+S(fucA0!cpwNStR;8P8h`uQm5-!{dOI@4py+1obWbzXVACPZ*vz z{2hj$Z+IK(Z_;lCB>fuzA$sDc7#z|5UjS+UH-`U(;a!H`Z20+xmmB^XK(xb&pJIF= zd;rPkuMHnGycZCnBtB^N+*d)ma{*xzA3^(s&%||r3$IH9{MHnz8dv&BXHVt z-!kgdL<*4h7nwcR8HxW_!%G42mv|YT$oD6J^v`uf;sb`S07Q_9eaIZt3*S|f@Bm4F zB_R2v0O^nWJ88cha24>MArkmJ@t*+cZvv3+j{}na>xO?qVWQjYZ#DZgAo|UTcNo47 zko?XDWWMEy1^BHPzjaj*S1cVTV` zhK6Gw(mV5B!(IR5Wrw3M&^(WS(#MhcXrlXu$tu7u#{0*D_-7+{YlQxuh&v}+g8mZ` z{Im%DXCm(2rrhh&*HovfusNmS7Iz_+cQco_cQ|rYDHnFJLqyMT=?ZXQQ;e(#hd0(l zcL0+?bb~JK^pdW?23u~u;cgCpkF9UxzktQfI-S_3OBS~KM!pO8-jX7;VMm1xZs8Fd z-TV{WWgNPGG^jLna9e;wWQs6M|0}SWNJ5fLJWf9!;+|>j?TzgHB?o`MlXKlzyZM^x zcYDNDSH1sAv536}=2-Uuuk&8>(sgxvNzGeZkKTiVYU)45{V-9zVAGbT6R4ozUa0@9 zdXY_K0nPje$}irHN!%rWEcYulZfV%s+@MPN52O#TrU>cdqIi6L#adXY^V*7v3op1J z9=~|~`t^F@a@}hhx^~>&xNiOWwHNytC8`%TpS3JRas0!u9i9v}bYkoO)bT(MjN7l{ zaCD3Rp#3`6KOyYA{W=pH7saY6Pr-g2Y}#wwQQxxmLh-P9^L5pmu2aAKtusEZ|1|MU z>6dy07~X^o_t%8)Lkjb2H-3BnSiMa}_=T7OnQy;NNmBLZ=6kx|wTS)V*x~Jq{f9vpjl%HdOZdH@}CR~Gm(M@E(&T4ezw!p2jeNpTsWCnJ}YVl9Q zzBT{ZWvjtI`s>GRWIl7}p+Q8>%@bpGn=5PC1LYWEr?dNcrC~a|XSINVGJp-)ObM}p z1G{m3?KA^T=k^DzhU2ixX72V}2YQCm1N%vx&G2em@l#d$P|Z+k=Zl9yT-9GQ1bpLn zQhopO&Z_>6-vM$HkZ&cc`fvJeTHACs0qYTF!F@bEs_IgA)6+WlJtGL?(xg*rzTByb8QK@ ziq<27H+k*@2P%SsZ;d!)Gj+brfC`QW-v;)Jubj%gbBx;4s0<7+ZFp(Kq;Dt6c{J%; z^b7^C9A*@l?#rm2n~5p%izoRS6WL76I6SGC)xD@(dLcQjOu%ksDL@@ez_8@>VFHTe5|(_aClgRa z_LNUgCZLEcp5$vxL@)u%L1qH>L%@CrNGlc4lbKc~T3BW}m}nxigd$(c$3$xa8InkV zI+$o8vv`uPF$vs6tAHmHZ8t>Q4bf<2qB&`4rJ{M#(#nJqX@$RhDF+j(9b^znfI65^ zBBpqfuQ3VMgsOxm6KXGn+6$p*WkNYQX=Oq=IccRr)%2#x96Q_br7Hf5%wOT(TmdYsYF_Nzw^d96gpyF5Bkbkk1kIDPXZ`-fFsBMl998m!oo;or8f7DGLGNsymkvON~M# zm*un)4>B55MgkVA&a>9cX2en%MT&GzEA}9x-O5P7V%2%pTHB0RDx+FYsq)nTl1gA6-nh2iK#v~9Efn~--$U}rYM4*+4;H09JiQuH7m5DH@8J|f>TNA;li&iFr zr>-#}G!g1RU?Pk_gb}czm5Jb_qLqo@q@tCHuunx`BGT4GaO$F!iQuVgObAVcCJ>ki z;}BsSY-nX7IH_o5A~>mNWg-lz2uwuUng~u^v@#Jqb&Uz3h=5nHLsdoz$WglpSPYd= zErx1kF|MJFqq50|d>+>3&i-$)n5T96zr}(BJk6#5rxXixV@3~S+NWlsA7|WfmGtN< zC45ex|2;r)vHIw5%CM6f73=?8nqK}(d`|Sg?>M!2bus60ll^xPg5t<)ai#b~s=s>) z;K&uDhu^p%SChYD^u^<9mXG6eqPjn|RIOfFwgF*O_rHe_B)?g?A$QZz6{G)pe9iKI z!Y7=rJzlMT3ps9@sOrA~V%>xs_S@wfAVjMFgM{$%>gzY;diGs0`lBT^%U{JOyx#Hu zvG*NdSslyYbAl*Vuw%#G4VKtrKq0;wP;3br3yLO|*rFILC`3_SUx`E|Vr;|~Vk~Gx zv0%W4iHV}IS1eI5MA2Bla^{i-IeWIuTSStO zfDEJOX|)L1FyeVu%*QsG2*X53&(F)y6oCfWbfrt-gA}D~h8LHloI-39&k__6N3JuG zX=qI^Xepc`I3p|?C5Nm*#`7dI(T9FYZV{PUQu61NA~FrHR~;;cY3e5!HA=3dWGqdA z7=I~WkxGbssSV{)m55Ae`GA`g6<(y4(^4rjF_@-PooHyvOG*yag)2vDWi0adgUa|=rLN;J38MqDbt+)_xnTF5R@*-p%*+7URbkc2kC(iVY0P}SfO zwjiErv{N8<0N(fP?>WG8pywd-)nns6O<0!83-+f%XtovB$xgAI@;KKL$d<4~COMHoXpb+4c7LpgeCQ*CA{{Af z$9U^LxgTQ-iX*-p!50}V*flblKQcj(`B?|}nr5CE;?-)1N}0%{P*!7z*)=DKl>a;z zS;dSpe`WnO<7Df`5t09xacE1_yqiX!7NXUPahG<}4m*bz7SCY^M9Vie(&T*_+OHLf zk+jEP?7~?|&YC2?QK>!y*!+{3#c#ue#L}LvV9=~CXmUGLUvjF) zVu!SJx&LY795hl$EJsq(X=IEPIn$=CXEo2J$zBnj)lAUz4MMF*0=!Wq``tu)e>d+B zCW?;FzdaH}U-f~t zdm57EWi`P&GLq$`mEp>LOJI3nWw_XrUs@UR16F8wX=Q+2%L^)l2V+}EVxCSQ7cF=x z>1F*uE(9^lODiK?jL^*T(#kk%XL)I5$j?Txto72$kketo^3uxSuR+H0(#lA*V|ig^ z$j>^F$xACE&aUC5l@V)ac|m2waH3{?I+WtPInqy5oXNcwxM~m4UpN&<|wmu&6}-(g0nSHaJB{t&elM|*%~M~TRRFlbI((Le+fi3do;u0~Z6ap*iJ+W*}u~22zG*AZ2I< zQif(AWoUM!c4!7z9hw1l_@BU9B-mIEBv{A`*1*nS4eSioz|LR|>?O+Y~ zI#>g~4%VXMk@LJfw)T+lV@&XKM4Uz?ZQwCV!|;vLFnpsl4BsdX!#7I9@a?6s!#4_~ z!#4_~!#4^PpjqE2kpG|RqcxX=R_C2J%bgJM5l%%miov*zVlZx_7>wH}2IICD!;af1 ziH_SSiH_SSiH_UDUJ*KOy(HFfcZpkI)p0XW12+RTa5GQ?Hv_ffwgWYw>p%_YI#2_; z4%C3I1J$8h!|O?)0-O$%kr_Z4nE{lM*@4=T8CZ2>238%JfmKIlVAYZ7Sgql15}81w zBV#BAGKOMDW`|;c)1esPbSMTm9f|=?hoXbChPz5AB6}SQ=WT~#&)Yzw=WU?T^ES}v zc^hc-ymd6za2J`k$WP1Lo|%!oo|%!oo|%!oo|%!oo|&FKo$uw$#>v1vNGNECuvgN#E^qvPTnZ`!S$2Dae6?Jf=d&pJmyZ$Qy-` zQG&v!UpQt94;2KnqGYLv1KJ%C$#nWeDq^Bk#B!{NW3>L3Us1eN!~tz{NJSjb85EHw z6|o#E;uzT|zoJ;FhyyxZ4;g6J^odMGmZpV>UTV znH2>{MI1QDp+g@*_60BE8-Y!kLOq9CKYkuz@14P zpED7qB9>!C9J9$@WJYvY%5dNydyrKIws0m&MG-caJCoVi!BPovZRFoswSP{o)tw0dWi0Vm2 z95~1xq`iH}pdw8wVmVgCu@T&h}ZigdGEkYh4U z9+b*6#K{DCTq@GVF2pg@TXO^#NP}r^kupJp$<4MoE(l4*q`6vn^ajcQD(?U)qR+zy6*d!S8vk zCl8lhj02gV_2dAVz=2HAdNS7(?SYAOnV|J#?&91jIVRJzp3Hrlj?)`LT2JP_%|aYY zWo+7j<3ijT%yAM82Xq^Yo-~+w@rwivW?uXvL4(P_IY+GsB29zoM^So%av-zOU@~wP z;uu}}B2EpaD@8S!!BUY0tYfdgP9ku)4oYcmF zOweF5a2DbiT?`{mhWYm@j2x!^+g4$?#h3^B!*ZbK;P3Bwei>RscQD&1LfVLf|Ap^) z*(Lv5h6H&CH%*$1gI8IS<@Twa(F_qp5-b+zRMjN(R9BfQofB$S3Gnc zamzzC&V08#B+-1!LsD|YEf4ux$#=^`63w?fBqhgm%R}Qa-SQCUxXrgb^88*!SXP=i z=B@plg5CcZ9}lo5@Xo$9nz!jSw>37$HIu|qZo2Veb9AB)KZ?>BYq^zgl`bl@Cr39< zmW~nVtBCAQr_?>FdCtsnasEskJxvXtM(1}Z0+}5d1~WNtw^W;%>*5@KTgXd6?N{z1 z-w@2Zgsgs=T>Q}0tbEEI(j|=4@ZO|bB+N__F>szYS%_)+0wXz@E~r=nCFk~uj-hSt zJ4ezqA2PfB71sP^5I@P6NrH6cLnxn_OfJ_%By);*(ojU^!z$dyvk;9be9j>n4}2np?&=7<+U<77dcw*!Nz;9J>1o=v4-M_jG*&dNMW8R!4~$*?RBx;jL4 zl1*9q$Zp|l10O59sm#bB9M*(%4x-O;5SbIW3Pmi&eXU zM;;_!rcrn;eVIm1du5I3|3D+By|Tto@lt(BsX6VHHM)^!)|YAIv{%-c{0}s8+AC`e zAZM-lG1`(uTjhFB4bKw4h(ZlwW|D}}#DL%SflPPaJI_(Hb^aY(SJ7%rbZWzbK8vRa z!XL2qwijynZ7(93Ye_pN82Wi~lfd0Y7Du)~lWHx?&qj(YU(oDy)>(|sxJ{aE8SyAq z%5Y0p9&7ENZX~7?8jDpBL@TB%rh?$3we8FZA*HJ|3LQD>#RzBw35*owbKbkCxUf+D zv?ZQmZV8@`b1Z@6^yi0ImQ0X1j#4SyMGq$jr=ky86V5W6qcjN0m>l}#+{c7NGxA@t z1hM9|1dp|mZxRl$m@Sc(-x7lGQcGwE{+cC-`OlV+IC!#ZQT}X+!*)x^nAsAtrJ4sZ z8#hc-`=TsOGn9O{R>gR2e<>L5U$x&~{D1uZD!H}g`CBBp+|4(KlXuoFwvgDpZqz)q zS3pp_@PsTKAxl5V-sJi?o%|qs3qQ!d^zZ}uLG~4Xki|5G_G`uKUrNg>&ZgPR%kC8m zFTH8Ty<+og+o&Pa@7vLJ;-GB0bDKeMb1XKB+xp0#^`(a#i)`R|roztADWO*t=j|!< z8@Fzz-+QL|7H^e&wvdYwR=)X7{-uMdM5*Bu>96QGTsEFiRih`G+3*U6O)}emuZ2{7A=xAOwnQrYtJ_+-L6ck(Yb`2C6cG}@g`wA+4@-L%&Si@Xenau zpCI&;Q3R7NAoNiRtFo&}kW|K_F}@^oy<}oWuB&8Skut@4MyJZWHO=-4i#C((`OD7- z>lusnv?i`2GDGLD05g+rP1c!DStK_Hv$#2DQ^S!}&qJ)J>CAIth<(9llf)S59V_M+ z#%Elt)=MMu&0VOY`DRcLA`dWO>7tX-c$Ox{v%8)%ug;+H>@Gd@p@$!-Z}quL z%|k#oN<2hr(;HQMZVCIqM({3L(=|=8HLI0 zX8a(}`j+YUd+)tyfrj}dmR)bK_mK=nbRtcW=}N7ms2&*k4S&!1~1e>J>fXlgqgXJ$Snz*Z!*WlN;|nYlKC~gV#{>c*9XANEE+(+|KZm*IQtC9Fk zD@n^VlDi=&uIUQFdIo8cMshPq;>xVxay3ZvG?I%!61Q0emyDlOMH0{ z`okvl*-T=8z(myxkYOlKKpw6h5;jF=^mmw{WM!gt^4Mx2f$$1#{k|Y|8dP(BV zjM1X{wDO2g0V>Y{Q+Z+yl3th?gQORRCo57=FG+;KrI#esAnC;jHb{Cg#u+5N48!dt zx%DNjA7D^TW$>3&S{$*rC_g6g&X1{1EC!=q439jFdP!OvjCx7j^Dyd#sb?_ig>f@8 zMvLB~ncCIPYc7&Y9(GfyoFw}mQ>nlp={1uhX32rxf=e$FFY`*0UY-ntOD|8lLDCCz z)=rZ9O48D<^res_mc2n7gOZIK1vIQ6OYlA9=Y7M5lK{XYroF2-=8>P2!g z81*87nK4?tUo==b&x9yBOARy^ESssCUUQ9Q80@C9rRQNc74NLUZYo|{9`^nQn8T8N zgQ_d4Q~TH<8DhND@ARK~Lux)d&z#ma!ka)vUI5|N6N*^V7Lt2WN=o> zMajS-1CT+YR5ng3J1dpBi6^lM_8Qf2nxt`%l2egdv8!a}z$Vjc6Z12REt)0k(_~i0 zXph{iDqgDMK&s+OqM5HLL083+tcqiFGhJ7u5URscf`gQt3WUl< z!d5KFsx-`;pROuKs^UPZN|&fOpc|HERV>M>G|d0O#=!aMwu+LdIFPnFD^YPk7ngKY z!t5-`s5H#Xq!%zks^UNta6~en{~!+vvLZRKg>!msvac{1D`1UUe$1qUOOqNokl?rx z+6Q$`5UO6-e`J1r(yiqATDD_bP`dTq0<^{_TTMv1^%Eyrq7b!3uE5hht-<7Qo2!=G zf2Vs}Jzae0ObdY^@89&;wTzD~I-4H{&|@!GI&mtiXF$4__5I2g+j3zS^7l=u2D+Duh_nILr$jVo`%)MB5`{vfa~V#O*%Sc+)sDY+GBZNuh! zz`=J}N^V7tCv#lV_n7F3Ci*rLJ>Ep$V4}yF=xa>$SUX*;fjIacpt2GI%HF{@SuEj* z&scJ%iw;)r1LS6v+LVL$9xH!TC0oL-QHny&cWvH#sBO>>tcc%N2@Kj}3A@QML3_wa zC(CTJdeetMNTMa|7R!Vr+Pt^1Og#NIl24%bwk~1mLdJ_2>9<%|XoJ;zgHNDue3!7R zLdc8EYV+Q}QgQTqEIxsKHgsVOB-Lkw%{z{z)>ysQ_yi7!>k@WdN)3p!d9PuqSn;zr zfdkf9ILW~}fEa^fyD(Z(9~5izK0q$+g==`vh(c@#C;8A_vGqAX4({dCd#~Ao4y35A zV^1>0$yY=&y*ZG6fHc>cXsrmwII)w+;U#FK6^YesTPPY4`HuhI+-Z{?Oovh^4)jONIH9c4q zdP+%mvJ@qXL4A#>E+%Sr{_|{NKj`1kC-QdSTwL?!qMsj~nMGT0B9D+9xobk1S+t!q z?JOKq@*EIl3LhDzTb`N5@C5!fNG`{?4TzbLZ{aF9?g{3V}fn=uDE-DBf|PCsNUb3K6}A3kM?AYO z7^G@Cu_C&Z)Dm_;bi%wHRPN_kW@h>2KWr010~h^fi?t8UVkpk8)CF=n(?eA4a6Zje zv|)l?VYK6JFwoxNQJF3CNZ{m=pMI)^c56*3QiL{&?9wzB*vC|{>1S5LV-4+<=v(^& zN!UJZ1hTX8(H`L{UFONSq_K?S=(0qFUE{ImZZ+|k$|lk!EB&0!pV5hpYf~|~Fm_n- zl$^!Rqm@Fa%+K@ZT{zJj=xmgqeG5*$U-a=>oVOCS&1bFXrJ~)Q&~~7WL7Waz8}_B> zK4}oMeQCVcj3HRH!U|S9NPATft1N`b-OwzmODn8=5tzsSC{YmoSc8BoyM)#d>yLPzdZ+g<04A_wk&?_=>?68->2rED$$y?hrL<<={%uJ z(?^!n6dJo|Fcb}39NbUcC2S#0%eA8KN7MNA&-m#GQ>r4S1Js-HOj1OBdPIbXAICwu z9zYqTWK@$8x}P&(zgFM>!u*Ic()+8M-uT72C9TVfvrKwJ(WhHRe-f#Du*KZ(wCd8k zXnr0(MQPYlw~r_v{a}zf*Bc|epU?GHBfOu{sjBBB{;cWo2;Zj^d1~$Rz}Dx%%-i(c zCL$@ftI3G-_I>7ehTR^f+Tme{YRJ}y=Cw2moX%fS1|+rz9m>{*0&AbFhTd6pjl+`a zoldnw)f19V2c6y)QBmpit#2z6K~XW(q&F`UVeNB~?ts+nbCDw#btaL*eCZZPu4b!u zdgf+oK4$E?Jw$ua5$Kii@{0Ipm0(WK*SNI#wSHd0LNgP}H=WN*h{FxETyT;~AkRvO zcL>FZrk$UlB?R%}B^oUuh@}RK(GmiU1R_RD2x6&$Vzh*iC}XsQpq-zfC4_jJ?@4id zz;^@P4CY9j&G#pctkF&)_{NHFS;0f=3w$2IH^%0>hbfD+QwhFNqkNO=(5Z=0zI#g3 zk%>{hiS#sUlv|QS`s)(TPY{Cy_|8P>jrv@J)<;@G~6Klq>%y)(qWC{ zZ;%dXBtL_ctdT4RX^%$oFi43SskK4crjgtYQoKg0CrM%>NQdfXkaVc721(!X5;IaN zqY%`g@}yFd^gT*3!PK~Ps60oMT>4J3m@jHvI#iwtGM9NPO3d?!Q5*)*p`DeaHAK>_ zm}Zc4Xon4wZbe@45A+s-IDO7AHvr!VE1|QfVp0jw8k(={TYcl5V01 zgQVjKHAu6xOoI)Qj$@piWX3UEQpE`kJ<|Y5T1F(j@csr#KSJSW2;_27R)i zYQOeJJ8%NAeP@zuS#!!__eYW_1$YE;;Oo{Tz?HB0Ua|Y#j+dM~u+Z|h$WwDwqd7d% zyawCdV#i4V9(HIGND6Re+P6p9q*m#soIH|C7ViAyfm(v+y3ssj+x=U|NYy-6QGQY` zO$xB}?cRB#B&UaD;Sqy2QYB}M4A|tfDJVF}DZCWm0gkejEXgv6k^!5ZTv|&`9{21! zwuzD@LIwdc;94O!@lv3k#F8P?;$;vj1Ah^alWWPzl_TbOVy|epq;WuNt7QCmL9xn! z{4R*6+Qj^fR{mL%w-`94xw6z%S)?isq$)NO{Ya82L01(cXsn83ns<7kO6(N{NC^&T zF<7)VL7`nTQ-V+>Ha-|ItKyjER$f=-AtgAFsv@K+4rrfUJn5jbACdVu$8}5 z#epnftW?DTIri3730tuwtKt}K)`(PHRcon=1F0%hs^UPqJuXlQRV>M>I7Yi}x+-BS zKdFiXS-=>niUVr@;z=(cOR_4CX`b^1Dxu0%um}_lM?#AS{y6Z_tj$Q$;a4Ni{VH6zFHJN+V|BW_|d+v z7D|uwL%RCDS}>>D_tnPnqkUgZ%z3qaHT!zN-}B+kbe2H=0*Ra=>oYliZAp?olj9eY zBpuLRpZo@rBz-c&?-)taXHfhyktBU4$FB=X(kGexUXY}}=fnI0{d+!apI-Wj_q;r@ ztWOawk|ZY5`t;Jn&SjqCwU*Ss=finszK6xwDbIEOJs&1h(1cdB6Z@gHbYUO+4DY{q zKCGQKq+?2=MA~#T|74io$@%A^;?+zB;lTdUAzsi#gir^9xeiI+8Ta$x^X z;8(VGCe!{&AYR^FJ9k75%qG7m^x2%h zNYy6tf6wr_75+WLmu+IW2>zd&;q!SpT3`3Dyx{V$*hmVZePy}-OPda9Gp{M8jWl`B z+}h`WbUHzYu4uQ$*d#K(ANclRJbh2mYI+8(rl->?e!5)2w|bwYwQ$-65XT<$tmxED zK{|0GR@f;e@9$KnJ5q{RXQ!0BKTnnrOA}MzbnnT$I6tvKPR1DfMjB1N)@vq6?A2A-=p9sjCqF5$QjVdSn!7m{5JN^G%Z?!j8$hh`ckbE#^r<+Ts`1 zktuq1$x>F>Gu|%C-#eP)MJXFcvScagnNgRGm$JgPv36Ph3euM2q-+eylEvf-oh}s6@N$a3MtB?uKkU$x?A7NtaEOvSd0kfu1ja|IsVNkc}l-Dvl)SvT;&Y zG_n}GEPoY}Gf+b|ie#zLNRloaBW1~SqVxD>SgBJ|U6c0~YgamwON;ropbYD~P83k} zg=APiDMmpetsi92xm-HtM<+E&j1J|}DO}$;I+089u5<*qPppq^0L6P%rjXPR$e^>h zZWKn*L0pm@C{EsreoQL_V!Pi9FLx?=TWlfL`M+Vw>!bdD3HU9yr;r*%5 zVkdBBl8C+blKasjjj!{INM;)Sv54#Z@_-oc?CIC}#TD~>t_J@6DDG8@9Z+3}4u-r8 z(aUaZzYvkUvHce{)AjtCRB$ec5Rr#BWEuOF`EkNn zhG2gE|Hw5$o*eV%@G9`B242DBbPfN1&M-s&#|`r;@LynDR^N2%J-R&bi#qcrjgE9OA+S%DM??!c_namA6gi?yp#G3w<37?WxqY)j z+dGjHzU4$o_0A9@Q`6*`AsGcDystRVFG-K2$-z70O@^{8CBpa0T<qAYwV{ytjoD4a>jWRPN7w;_N(MKU87Y;k;KA zFT?74R+R1RFE{mqIqz-nqCED9XzyZHc=}KQ7s&ix8i@?xoAvT6>rsDP7_$#W;J7T+60AYDnQn1Z|NkA)Hdmi^zMlM1ix>5azGwJ+1v#S@tKin?vlOI;pQOLyJw-lenJygW zMP~~R_L&!*Bcm=v1u+R{&v}tf6cz3#1*6@69zPK^(wS1F7d?&=DO!?*FFlUZM~}#! z-ac~7i42L?BT-sJe9jo31{4?H;GCAq>-f@7rC8A?Kb6n8$eI(qka!z&CX1C)uCNCM%acQHr|E zd@L3>BWb0<_&$^-rbQ1ki7Y~%gN^!267AuyI8PM)$^KDc^f=95uvmXI=4aW`{8sM_ znljQv?FH+9=`!U7t9-N|B4l2$o|h(5@~qnJB)f{`Ij~e0SN+5i9?eQ9vJ|VSVkL)i6S3=pEOM-lWXmXPOQ_%0Zk+8-xHNXpK_uI^dU#EX@lXr)nYFQ(e@gP{!$*a<-=vkE|b)Oo8LZ7fK8@8|^-V-nOm6*D{rA=Xq{Y z&R}s6#mulY6am$<2q>9475$@R>yH)(KaGV$;^8n`CXsQ3w4Vq?k_fdVvJ)qXP$Y>k z+u~p$dkH#+M7Ow^t6S@j`SIGwOk^SlvCc>`qLB*I6EHy)4fRh|Cg_BQ=@ON!IzcBW zOqY;k6$-kkD)ahR{o6k&O-Ays^EIL-BD%M9f%=L*KE>+j-~LI-dih;$%4N`h(LBbQ zB5&;&Z_XFz@)zB={s+8~=JyEuvc+uCrg+I&M6~5~vE)o`?_Y60s;zIl&>x2w_~mxp zVIE542Aznz5IvrT7!h}+c$^k@qd4IZTUqQ4MZBZsmRq95fp$@h=lFcjarvHO^E{96 zj*;F~^c^A!g)Z`gLHZN(zyFizJ(5f#SR%j49mqw9a1+8WdEzIsjUL5I-hn)Y2yY>r zB)Mp}MN5jMB>FF=29m2Ll}#^SN(PV?{&_&kDkam2R!Y($y3)8yOD-w5X*>-|i+GoO zvC#fb${iX;L()9RZ3Tt&e3!hXkVo!_VDh8jo!liQqaJPYkP`_{^2Fdv&zbJD(L>H8 z$Z>`Bgtzq<-@@l;w}%+sA&(aW61$}Q=14m}XO&Pr#)ROy_mZc{#lgG zD`Es~O0lJ=9HMl^DImk$F2Y6cLBCJOsq`y+BGp+-tteB)t3_D3hD@a&qGQXF zwHcA)Qm!f1G@1YuzQ<ukemTH7HTuDn72t;ya zEtx`*Tt!Q+r6pI@k{ik77dy1bvmPby8*B4v)2rK2%-!rCj^>xQqnH`yOOdZ{M=?*d zr^tyjO`XNWS$~`V={B9dzG=)K|LS~HOy)ubPJ>PuA`DKCs zi}TBWXa6;xC&cveM)vUm(~SL>n8bOzv`AMDa-F|UaAz0S#Ec~ z3SP4BD_FwVg!~_{gfZWd3l#SDlfMqN&E>yfiC4kl4 zDV2S~SdtebT${u8-`0tzihIFohW);>HeUU!{)Ara|3^>@uvZ{ATAIkF$wIam35n{+ z)Oz`-1)1uek6MVStxZ(nz34yd59xmjKOxPt9`V0tUqT`}Fa7)dmxui;2A1+az3lO- z%ej}uy3;HD3vV}1NxD}Hb87Eb0xq_K9X=g!f5$hWna>*K>KY&Pd2=-eb*KhCKKH;$ zo+V(_gwt4XZWEYx^8pr_J0Dt9+y{vdd?0LoeP!>1(l~Yf6dV%f1(Q!Lgm;Hk#jieG z3iJAQ!n?ojRXP<-fJ50<^^W%*ygj}>*2XsIy>+`9n)V$`su-d=6grLfn)za%BM0%9 zIZv>H`%v6{YMWZpe+2Y8zCv-FFa!#0YOj9VY7CxBD2ZkEtcL~5K2YB~y$L^_vQ)`z zv>s+S-BnI!-GMoG@coijGY$Wfzk~=!e9H0SDJav!IC2j zL$ePR^i$%LnlV+;C2ptEx^D&!JMj$aKj{oVt?!N{n%qS{-@A}>`W-A8nG1FNd~k1{ zAb9u2dRTTgP1%2J4Svzl2RC1J!AQR$iqD1naA?)X(Bym!ENysCT^c(aw-$b;4jpq6 zN;rNEnRi!X<;BaDVGD|&y5eoMbM6iBui6Z}+Q#DduEUkEj$xSGtPeVUHy7(X`2i;Q z#lp;+;~~UF1c5?_LY9mD~&+d&eq|+g62|o^Pn$S>HqB*$hNiMAz@1gd{Vy;#C+O733&Dh7B7BFy&K*E+*&V##$PAl zXW`!|GvECMc7OMU`ec0x^cr6lFYjuH9Shx4ybD_3-DMxCt-kIHqgz~1i^rG81C2)F z-RRD^W?l%c+^9hF`nTZo4%K1q*a6DUUfvKjp$QCL?1HX0Dniq9*I@iRx7Cy-#c;cO z0G23T5kmLps@^H>U{>uOYRJg;a60=NWzF@DaAI{gsNG^Q1o~ElJIhYtspR8ImnOZT zjAwnN<Ee^MW8`~(_Za#MTXE(5u-hm@@8w{d=lOAyxgG`6xi zs$ONj#}YqnRch`(2d_6js?>S37LHabsIGXg7MyFb07Isp!9MM);kU&L!TE>&>a&{d zq1EYF3?J4S(%nj{3q5W_#m`qMA5RK_oM%s9*uVpLDDs-xyuo&uQ>?H$dcz4kn6*#2 z=lLbLFMA!AbZUj?*Va(GZu<_-ckHbAPYHyR2^X+`gIjnPzJ!OqJ8)o+^-8HzXW`oc zouS3R94NK;EA`;0hxEI3D)L>Tz>1`l{$3KR{xU+1ymJXc{T`}g z)e>-d&|c+A;d`*a=Oljg^Kg7CXbD7lyF<+zVQAeNVcOs%<>ByBaPv`BEWgMb#`w2TuO;-wwAcHoAAjYC)hFh_cQNmwchnZe|4v10 z>o#6de7&LF&=Fn$q zEyo}6llPZkSobRM;fLRY4XW#IKyV>PoU-TucbM-Q0;5Kzq&v0yWe2Zes2!|E% zP1JqVru`rPs#N~)d$@FYvl{(dBUpT+f_i?$hwxdS6A&G?7f*Q(RD))xW6wiDu>8_R zSUs#39Q?R84BxO$ExH|`hh+~A-s6Ja1&cuH!q3sE@C3#4^kzJ_@i_R+SO<@PEuenA zV;c6W{FA!5T{af2pQC(KuQ^6-*{^=_WID`!-%|;0e;FU9+=VKqlQ8tP3gGwUD)7BH zO1b@WS8TcNL!4+S3^xY8j#Up=z?!G~;+ygFu-CQK_|B&rAhb?N7-WsXGt*Wo-3I_H z>bYFq|LIe#_oEL!ot_TM13Re43SGqjul+D@*K(X$`W7|_RiVX&H`Nc0SRk@cQQWoW z6jYn?354JO9MYa;;QObxe6Suu(>AK-lj2b7=@)o$^a*s_ zv`%dlmIS}mT!^(FN778b0Dd?M;c>qL@J6Es@LJVuDA4XL@b6X&#(%vH_I6Ie)D>&6 zt8|=wWJ%n8e-4~Tn*m;pOQ>A} zIzW&1uDHHnEp*7O2sKZQhH_yov24w&c>B%P*!EmOm_N-QvZi;0<8^jmjXMQ#)8`++ zpmM*!0p}%ZlinE^RAYg1>q%FvG<&GhfA@Y|e`p*8S8f2u-|hredQ^idaYL1FHparJ znnBPZpdI!o=B>=RyB9A$D+Q}BwneLT5BBH25GL9fjZnF@s7y1(3 zD7R3tC|9B9YukD7RDW6y`Wb7O{K<%7Pzo#Hau*w z0^Fhl)U}PG;K#cb^~@KJ(4b>2W!9O^@b0E}vEspH*fe8~`r-DT@H{kLS+aEsJbY3F zvRt=u9lSEW8Qs~UsTM%00u-@gO%8?J{&Gs|G3;^pyoT&k=bJru_!xZ?1OA3>{M zWIXEeNl}3qYuX4I)gubu?Fv+ zsf$hCTc$d#_Qwr1GN5Cl53o|p`f66-dsu(!H%g0-8$!_Rda!hMMYwhBeYNJSI%MAv zwbu1;oa8Vbs}!FGF#%l_{{=_!>+dhBt4jIf_MzpWT2Kq<(PX4j?6pGR?e~Ln{Luy| z<{qh}|Kbl5udReBLp}x1tlP@fYlZRHwW&(q)9ql~9Dk+XgCp3qXdNZ&qg~K=P=Dt= zrDn=BsJXN}9(yAhiiWIKa#!rc0yEvA?0~WO=Hy$7_u*Q&(|sq7y;BzJHmiVvXIA5T zC#&L`g^n0nu%`0Sl`*)_XDf6awhjJx-5oYnXox*GK37_PoQ(Bay$@$TipQd@3qg9O z4;&xzqk6wW2sBC=pdNAB0(0U^!?@0;@Mybur9h{OP-6ZmwLz;iY~LvuQp&D|z%>(~ zNSR5n?Br!Nw$M5J_@R#y)NU%o?|WB0?v9n0_Eif_F9{1ht1GYHehw9zmx2+!QgQWxn=n3S4O~;tL(=ghxaRR?6>F}A z0(<^YW_;HfYX7d{&|TT!*rv1kp`{BxDAhy#^~5Z^Q*av={dE&wzm%+$Y+4yspE;lw zo>TyvXLpA2VWZI}`xflkG6O<7H&QBY{sRVnQ$ekCvkExdK2hS<@4^iSeel^kd%!yF z09eWeVB^KP%Eixzf=BX748D5}!nQ5|NDhJD=H7-K%NIbe)MQNDV8Jd|L&3M;6Wrz5 z35Gv927BD*;(6Em&}nWD_4lyJSmxLlO8rz9ELbKKR!(w+1ef`Ev5qs8_gJWQsaPD| zyU|AZX<8^WbiD!>0#l*fJ7utRrRlJ|!xU(P*eEoV`WzpbC=u+vbvhL`79JBQ_ZkxFZ=0{#til6U>A1|q{3>p3tZ2mY%`TFQP z@Z*7AN?VUkF!%Mb%7MqBXiZO7SByIbUk*iOcI{DcD6~7yIKC8Dt2@>9CH{bF7sjbo z&UwP&;uF=W?GIpjyF~SV-vcn!eJdz&L5DzZF&Gq*RyTD#%3Nq*R( z(ky%{z=knT>cXC-&XCdk3$>ne24??S7_FNt;X7RhE9XxZg*lF^lu59F4|&&xzZGs^-P=(9+1ed-C-lFLKl$scfP<|^g!MhmQZ?}9pg zc3)Uow3xbXL>1^#>4q{scn5Y|Jz6fD_C z`%QpubBMN|9H5UgBcn|l64uTNpqpN%$JUOm1j4OEq`?=Is4qpBU)MLG{aKAtBj|Ur|qW=W^dEylK z{$>hn8(LI3S33Z|?6wSkyIl>BZrzH}$xmVXlR5CH+z6PKG8$hy5slxJTn`X127?Ma zDb1$V!<3{zsBt|O-2L8Ge`%ftji)?R8*OrejkPmzh3B_0#rq8Q^Lq_vjto$*e>?|% zZu*HD-@yZWHZO_y%KU+!7I#uZ&;5a`Dk*BeN%!EVcF|M*au%VfHu5czCneK%<`n$u7uXiY(O;vDtYlfnhT~G768EQHAx3E&TPt|(+tH6_4 z;mW}o@H`1o;+v4 zGIdWl!RwA8x^esfAVe_5?IXZ#x{ex81Gg-iUxBvwhUSOPTPFdRq1K{t`T5a@4GdA94AJC2I8M zGElB&X`D7W6Lvj0q|W-)23EgKxHiNKqJCVY{&qJ9<|Iy{@6nPt#qzf5{pkXjaXClv zo-qll_B^BR=~^0p{d%7oRG}k!-fpd)Dz^+4w;P}~u3QOsO<#j<1@FR)j{}tpEndUG zfOTqzz0>id%W=v(*EYe;YpKva=sZ5lDWja;^Al9tH(Q1`Ml5-Xf93QapbQcFc!uy_RvH0XXB8WgCbRI){3^zQOdYRxQo*gH`TJ~SMs zpAUf6LASAZmD8%%>qYSEFK4MSbq+ztt$p!ulW(zjU@tte`#G*}+(4Ood>Wjlwpr}v zGWej@IMrccCunhIDrSD$5{Fnjz~l3E@z(h)c>Mhg*uS7Rtc~xFrB4pTl3lNZf4wEj zp@j+_?etL1b~ul3MxMgKJ4V9(jNjBj?|uo#-G5dm9lwX!!B>=1RaV0484I!a`2oh~uU-fe|I$U|;N8=ykcSa`t(D*fQd0jQ(Li zG`Lz6>#dpqg$wn7wdXIuwsN3WS?~-O9J{J)n-c)lR*!=%MK54@u@tpow`SluezMZ; zTtOT&&{Y|?VJsAK4uD#Hrb6d0%3@lVJ&;`VYvt6#8c_IVe^~WdT|CpT5)2vK7Y26! z1^O+|hCvsnD<8yPgIZP7)tc32z^#l4N}pbz!ig>q@%8y1qnGDFXlLnwJHj`r113+x zc3XPjZSRfvbLbYh_@Fsdd_e0`mwj=yQ-JzK^e?bNJ)*RnVS}&I+d+ZR@H6sxX#3$lt8$EJx7VE6bB;QX-Xu%yj))$NN0P~p%5 z<@bB7VV;*GyuW4xcKdvn+Ns6QaN$^(GI~NuXgR;FQZ^?Tzr(7KlGTyM#6tKy*&R!J zpHm!819}Wwpj-*5iNAIE4s*Z023I#1Q3kJS3nRyUtMuOBh~e|L;_Qc?!Qg%&xa-JH zyy9CPllzYZ=R*_lTucspyEPbZ%zgvnTc#*ap1uL6iVRh1q>hBe)gGuD(%-`pzn917 zeJbLNx)X83@S*Uu#M^i>Z7x3lSnNN?MJY1)XL z%Dodwxc}U4WwFC}SloXT-0H9uFYLGq<;z#cpA-C`O=1pq+NNN?sROVstipht7TCMv zJg70_2JV|%NLe>#50ovrRQYo6Aw2EZ4oel950)y|l+<&%knvS#C3^1=*^|L>!%q6qX>ufY%1LX_<0PqEs}Pw}<6&G5{bEy|T*cko$sYn=AJ7h0yT zS3kj_@adckEYW={JeheA<{nC;cbZN8q*N`ek}?Hcs12RU{!O{L_ZvJ^^M*Qx=253F z-NV+4=0I{#H#Ks=F`Vxi4P{FW!9k54C?mi31+|ZpdU{MecG*~3jXjWxzxRuRlnvwY z@X`qNM!!p7ZQ4~?bLk8oPjbW&S*@@^wJ;?Gv!Kbj_Au9fH(u+Rg+06%<7azal;X3U zV8#@8?BTHtzWu`nzt?;OQ|70rC#NicLG@92Z(w6*9fTX5=c*Z~sGFU9PSKY@{_-@vtdCnz!RUq%0sjWF#^>JKfZ!S|Jx;h2_LN{OoL zud@uC!K3p#lu_kU@M!EH@VUDXj(rsb&DXt#ErN=uU0Pqqn3St9 zYhVNp`~En%jrtW2HQc5QJuwMB?z9BU`&Y!iU-nln2G7H&kB{NA2~V)bQ47ospMg$W zrz!8fGZ>tI?XPBcnn~}o>*|8w;rRI}RKj+@jTb&?2}38^GX(aqGU_aio zJxAxUL+~Td)#}pjd$G%=6!lR(cO2zkRQ+*qAAJ5(DI9;lBaDgNr>2$K1wG2Phdsl; z#%b#Yt0%%ggVy)0YW=aF!q~-am9eKHamR*xSf}6t+*xQUHYxfD9*+1#aenP9bUNA? zOa0gtdrh05oQzx!y_}A#Hu?_Q&~l^N?C~r(opcJK5=X!lH3x8EHkRLGfkMq&!k!A- z)Qj5yd&QQ4)k%L~+vEH2y)Nxxq-#@nn0pb*ZTuQ072S`er~eLPR@TOLJzs}yyWfR9 zi_(;#wZpN{xD*K6vkZHW48!oNKSGJDu~@InFxar6soK0{SA4oN5eFtBo{SG_v{dK0EQRa@M|EjRdsr7*0Be2T8o$WC0Kv^a zhn`CsDD$!wz^MK?N>ULAcq`&Q{8HByO8@wkva!-GJVEQO^^dQ@?dnS0FtG*f|M0T< zvv)gM|EsT@ci#toC+@?EJ;z}8S6``T>H8((>UemP_!eBLIz;u2TLtaj*bJqAD1x^1 zeXua)OFWrWOjQnV!e-&)m4V;&gN@tgz`!lzp<&-M81ZZ*PMzILb$r+ndp51BTzoAZ z28V3{-*$cB%_>WkBi~-c{@rZwdG!SR#x+uD^~HB!Yww5W>kg)Mx>49Z#{wH~zOEGP zwH;kXtWvEfd*HUj*-G8ZYw*&Dr^?-NA@EkA!SL4b>$s?GG3eJm9ebaA2HnrZLC&RA zWx`|yYHbJxw^h5b&8Vihut8ZEd8nb%rt5n!{YVcCn?q~t)waMT+dgo(dL_ooE(y6$6O;z6uEVvj8bSH2G0;5vGi88d7M$NPQtjmG3-ulz$IFwK zz}hxdp;t(Ic)Lzd<=29HVD#nX*lN;S`19gjaJ_mos_~DM>szivjghO>_=eqKM@^pMmo?p$kmYaU$XeZSaMlut z*d2`HXMc;OPn}cG4m^&}9N&b24nKlJ#U1GJeM78TzAS`A`r-${g_M0h^I*^B7Fe>! zBFK2Rm2%a61I%vF0Pi$=9lj~0LYaj$57~bgy&so{JHLkFmZsw%Zpc%d+&KsSaQa+* zbbSe4_-2dx)V3Cjt=@@i>V1n#R#sB~82vt8b{(gbI(-X9El*JQF9h5dI2`-V+lyN| zPFF|n>BJRU^YlXO8L2$6X2Rfi!xa}lZ~ z4y!8ef@1+Y)dvxyV8D`Q%AvuFVNB6?aemMyoN)3mIR3Z;eqU2W-FdeIWCfQ}hfEE` zxF7bZO>Uot@57s7;5VPZ-rY5o31u5&?o11eD>xNTH%(C2W!8ZH2R~4s-}o6F+Wnw3 z7}5kT)UJu&?5_g@r==*%8eV}xmT)!r==U(?;9cCZyF02)UQ?cYy%&0im4+kZ*I{n8 zB-OI~M@;M71&_H}pomK;3@vEJCVVdI{7wQi?zdA7pLN)@7k-`#i~F@ z7_8K)S_da612EvjTX=9qJ0*EdHvITw8+6^|4t;%>Dh+(jz=Oq^P~N=<+?~-vz5Z!! z%$YbqnKo+@Y*dq#g1_~`F`I8GPb+VSu-pM^@5E5>N$3EZLwCW@HzL&0Rj$FM%(hCI zz^(x0VqtdivQW51D=gV}9&E1B4tlTs1krxDiQ^Nreg*O$s>Hn*x*5hG6j?jqu2_p3u21eY1T0z1pnKLiqCR zei&Av6tsVG1~X^mh1T)s6O z)-?`NOC<&14WDLk_`yIp6cem?)$qn*p0Vn%(*5A;gTd(4awpb5zX!(0xr6_RB&A|c zH{3a3jdCOVckH{bh!8kCx3ZZ zjXJRvr?&}H8a^q3!^T!tUVrxBLV|DotS9JzY`D1M%_ zs6+}a4I?ELQDhWJQz)g#Y^j74l2jxbDkCFJG9yBfXz-0BMImWOiAYftNuKxb{{Do| z{oH$>_xqgJIT!JE1vsNSk;m=(L-`q35j9EzFI)}y)4*x8!C8%tj$2Ca$JcVF9X2%S z+aw-@Dmr`Eg;g(aLhIrr{vWHP07=1PsI$UiK?C^k@+`77{aNeI64c#zM{Z5Blo4aY zmp<*LIflnb;#<5x{Z_wm{Ec3KW?YIwq= z&WO{JoS$^f^EX6y?_}3+_t5Iu?PT%tCe`dZg=tE|uxv~umiaHiGm{Ja%&{?8>YBzs z&CsE2)Uqi@e&XxD5$ulXP`Jn~r|#4DaJ}LUTM@H_PIjx&g~?msyF$43>-0#zDU6t!R`+qC2ri4WgE|IQ~;e}x{vT<2OyTkG z*3fh|o|NJfDSmSb*9$SGhl!)G>#re-4b;K1M-e$OQaLYAX0FL_$wA@h;lhXvR0C%t!4EHMrkeM^jqH zv$UGA(7)-!CkyrJA0Oz$#`rvL&v0VW4;rYnG?;q7Dk4JrH2%}7B<^oalW+W>iSHi6 zWy@X)XzIo1)(@ok`UTI*d_lRY3B19<9VZ-;>0^Bw5=N-8mu=ZE_UCafi9zTw)=AoN;3~I`K!5W5rlC4Koes5Uki%pQXs$)54chbJCg7@_IJ>4iD4Bg0USe`bMI$X@?`>OLi zHn56dHvstTpdS^v;v-OZL9>7g={d2Hw~Q95s*h`Lud zDDdF`h6>L=0BN+jaS@c~llH%ZY|a z$sIc4*1#NMo543L(Sj?*h%$T&oh4@}&#f0;!ZYmSAAsbgcC_cFGHc1ZfeITBW^~D! zwhapBY7SGd(ZH4W$X%m@b?@1>zpqh}zLIOtABDz2-&j-44LsTXhN-o7KyLnJHa2S~ zF1Qvj+e5*qoz%`uen_CEb1YL@nv7?6ZMa%hFbPT)1$rjnYIq>I+?A)2F5zAY^Fm<9S64YKF|6U!?S0^FJA<+w{719=XTZZ^D7C7+ z;_U}^WAM_A>|2!&evO#Jz0QfleZqQL`F$*fHc4>5Et(VDvRqzaGNSM1(vq^#`0v<%sGr+|lvG=mi>tKg*(i2# zt>BR^=;eJIT}WMQ1D~t%8jhVM?03{2qze2~@ubJpWUj=f>x@RfQ!}D%#HqV8jK50x zK|i)R^Q%eU5F?ydk*#GkUg|F!u=E&Z3}47Xb4%c~e=qs>^+2*ZiS&H}sAtPPT=)=; zv&B|PS8y1CyP~kFKNVI1 z4-qCk4-JO%c=O#RnwIkj=lcAG481cy!mc7kEr~zo=csS+QRH(!TDL|YSuzWV2Mj`d z%`^o53*(BK=5!%&4W1>nldbA43Q&#(cXea)R@NcA`8{j1eLyl@b68pEQ<~;EgFH_6 zgQFfQed?H(@|BqxRpQ*!E*?502!n-e{lC1!a2)DKO7hF7O5q(-9=8$6i;B5OeFqI# zTgz`<*?|Rni*R?}PHO6TOMae(C`->}iLuM@WLG%I~oSB_@_H@N7%BBKv-lr^V{ewJEM(hGai_J5CA?xm!6 z#}M;#WVuU@pv&KHA$QwJ81;TAW`E%zx3%ybSxYy@D)Wbhlc;@67^M~pyxCVxeze*R z8z1gsLo3JQcHKz&648R-Z-)>f`k02B-sa&sWhAvbht#S+V#T$m$Y?!>ac*-_SSU&( zgL)C!=#O%|WwM>m&|c|5(!bm=u4yV1%?e0K^*R4x^^qou%%&L)t8lj~36ldx(xAD% zI29y|!9U+3t?3wbzf#ASVHNb?&{}ru+I9M^CCjqnt4Ktmj5%t1(&?ic`INb`=!&qW zehqQRr!3}bavLanyaFWz=VHOVC~TMntV}V4;nv3_`}#5Sel$+d?w;}=pUla2f*7qW z{6Xb~N6B{Ndc0A-gt>(;fX+;8%j?1A-TR;vB={g15qM|FXuWO=#@Z{=#{+S!Hb0pz zUz!E2)Ht;K*vbw_i(;aDb_w7vn9GP{B$2*{Phk^9~Fy?!S-}DO@qtc%%zgTb?l(`35rs8r+32sQPClM zZ%b(x&2P8m#?iK@d1u1*OD>^x@%QQJS92(-DGGDOL7Z5v#*=&Iz%KqDcBBNM|8pP~ zC9Z_|^3hcBQVd^rMw0DRE84mzBxGbZt4h=dcO}`5&kuO_8SR+p#Yp zKVY)+5MLB+jfsvI@TpIezE%yQkf-$&fAc*b^hFlg2c8LgY#{j>M{$SG{{&V_hR?Bj zL6Hq>m_?u*em^Wo;L0BC9DSHRKeNY) zm+AagbqH;AjA2tZoI+BZ8#8bz#!tl*7-}6Qu_tT!vHpC@bW`Pz`hZ7&qo}>*6-B;y zh6z7Bv2@j1_HDB@X8b+M>_-XAcD+3Iyn0FpyzY>plmf~Z^&)KJDFo^VF{jq8D6kOt z+Fn0Y3T$(QzX|QlXhZ6N6O<8pm(BkjL^11cvn>m{Y4>AYT2mfKwQ9{QxalF)7xt0) z@sX4r5l1r9CejeQmHdHuJ${;7(Jr+o^sDL;>VqT5;H?(F*KI{vI+xg-w;FJqT8jyi z`IM0&i%q7n^sTgrg`fS3rjJ8dak4nt=4!J3{plzkoJ?gNskk=gIo#J-(a7myR3x<- z2J>I@xUhXte_lF}7gqa)w}*rj6j?$I^UZUs1hNfUpTOd5V=9 z_GkTM;y#CI$j`^@o}oIGoZZUrbp_FBSy{f)!4jT*G3@(1LB|iPprenv>G+~OEUHBt zKi=#W*x~WC$Zt9OmolD|1H_oslS2CE{e#_oJ{>A04hY?ni}KfIJT1}yy-km}lh1N8 zakA(Bw}!&WM;q_TnrK^Z71oQlP|oTX==d0qog*gG{^gPsxVRN-`EBHWb7ONB9i^YI zyGY26;`z@ld`n;=eJ?A<{1N7ud~h2nf6j#G?Mdv*)j;yfFN3f=(h;S5l=vhP75m4r zd3OX}t+SjTGi=6GrAh3Ln;9n0P2dl@=3~L~Fn%HF8EtWjrea<}H>7&dE>?z)s7~1G zOrswYw~^SU7;3V3OR;`tsI)3)Ki;O(_JIF*?N5#>gL(2JHS~|NW+BVH zp%*rdEp(ElI|*+5P@5ynY8=T&*OJx*|7IWd-=L8tf$X_%2flpWL{r+OC}GbTcGF7< zS5*>uhxHEZ(ko(P2O0@n)?CB~?4+stX7OY@VJ@zg!Lo}BaKdc~kK7SM-=188Omz$$ zU(?7x>AWYqh=(xu)SxLUwM;yGC2hRu&BaHVBE0exi+ZC^7dH%LFYh?g=nNm)wzdiH z4EC|ezXNI0nRhg`$B@cDX7ecXC@fX}Mkg2QW3cHD%FVkCPxbLw*!U1Wn-?(kh6^P5 z@dJO?U_#$71uecPU>%0(CdKUwZ^wL_{gAlhoi{!b# z*}JNPom$M{^Wc{9;v>aJb3t2N{Efa^JiPpGj=N5 z5~_`9#@g^Ke@dN*L&7gPlFfZRhNPL8cY?$- zJDQ^?%u5#+vPElFP^sop-m%yh;~MJm;e-vzHI$L)y8x6ZwXtod*F#suT;N5=p;cih zujo97__&3bJF9`*=a`ac#wXN^6w>UgEkY&84lX{U8RJf_VU;SsFn*d6IaVH~MG-kP z=rUWmW8YB9zGvh$YCkUS3#S0h-84dY7F^aQ;nLd^G+4x+)RW{$_sVSYJ93HJ zirj-pq7l}9s70hz5gVCofX20R=~=2F&CAzi(c4tXE9N79^a%c0aTc9g`hm*VNU-V8 zXVArm@9DMAFM9JPkMi$!(7&{+^q+<_Leg*Zd|{ujT78qo4=F@=jT2c3y1ki?A(NhR z7i`F8F85pvOX$&QHR!kL#J|{Q~g9tt_=SjchOHa+?9pbkk-PE#GWP zD;D|j?pX%d{PQsHj@m{uH7mK!wy%iEh^Gymli{kwKsonm@6C}sMb{4pzW;>Ps)f*B zv7Zk7=K`;RS*Y)P3I8dx_(kREND6afYS&!J`(_(fRfvr81Cl}$BL5r`)5$AHbyJO3waY!yccpr zX$`-~R_i(I%pO3Ktm9eptdn%F`5m-p>yhiQOUSg2#)M`^I9MJ+$;MDhGTnt9PTexr+rdsec2T@_@Ib^+#c z7s+hd6h7+9ZaTAT4EG%uKsP0HDDueyJWqLoO7BllP7|j{JzLV!zDTEaLrK*+g4#nb z(2I4G_`~5ZvDwjvM@vNEW8OQQZks90$z%A^ag%7oA{#zIs|1<)e^}1YpGe$#j#ir= zBft7uR*>Q+_{a`WbJL}|rapK%pTsmNAAVG=4FMLR@NYgxV^`#3(C>Ma_x2|nRrHyD zmTkk1J!QDiW{NSQS#*(gp!A#`_V&Cawf8~7J~EWa&k}{Xf#C589JTMhS+pW}1ijpp z#=~WnqOPHz?{&UKp$q2lx0$kZk#t#1cqjS;Eup!x33L9dr%4&=bn)eWs+6y%QGc@8 z0I{ufspt<~F5gN{yqHY&2O=wNE3*&lBLlIE7;qwi_6_`k&RPa3`H7?wYYLr+Zq{db z6Qxr`$js#o{TD0AK5H40&+JehFfbmA)6+1v-yN0?mhA643)owilA^B;qzpU}tMQY* zrwyi?4}>Nf1AqSEelxcAf1xn>-S|7vgsDLaK2{f)^!my4rp7?X`y7U@O$rS?oCC?b z;=KPvx8P6C;j7v~e>NG@=7v+aBT8&Yd?lV8En$|g9>f2Y9o|ROLq;i;7rWFzWp6OA z&Gdx5h9UE~{2k(pa%k2- zL^rpYLER#Xd?yKcl1s-(D*F^`Xc>p89@i=9Un(s>{ha&#mB%vEZ|q&uXqsMjgEp^f zrxNJ~axVFg6i(Z-ZVkpul0zr@uC%O@wC`_0F4QqLfc*mbAR)8eyuwZ zHa+`zQo{s#H$a=EKDU6+XGt2r-wR&D!r86aAIYgSk0%Uphso+{sK#WH>?3c!=28x< zB<{1};l;4)h^Ap}OR+x8i_!vLLHFn*#D4U{B>(-~u5>PTe0fO=M9+~*@_Rb?{R~Q~ z)cLI6+Y$fA0@22mbju?X#-@4bS}_?B7b{TwD3<-!?7&EyZhq>A8a>*eKygYwI8u6v zrLWpfH&UkZ*DRIX=St%E=OVa7YVn=jS0HuAlp;-j&;_$NKr@9VMy-dDtpqj=ap8_0 z5!7qaO#NcPcy(|Sm-lSL#yQ$dS~C%MLi7YistB+C=y4sFZg`I|=ZPYpv2)QlTGA3o zo$oaHtat0MC!&WOvbWRy!vf>{A_sOFe(ZY4b2?C3PRU!spc@jwjdhiAKqHg7tF}`5 z_o0ICzaLVQZs1VIMLK)$DIOi!K&{67&K3G}z0^Eik`si%?}vG`N1@@)Lg1r^o;CcFAVc)y4CaOYiY!Rvdd=agCh! z#xZgGeDc&?g*#WG@#4!;J|q4v-90~-zfaAfxHC7-$&P?JDKd{>+p5l!;_^}LGsc& zenDdpq+DZZsntKa;qn7wCEnCeKZKp?CEgd+a_?)B^l`{$+*ixNUeRN$W!y=sF$%y; zuLG3rI2RFCJF!%~nZ(X}Ql{}(Bv?Mfd?7E;F6V$f7b@U*{xGKQddofB(`eN#;+@*r z^nPj@*NRi4wIW1&-ru8wv7fobhK;mzLJ60ajG!)WPP@uBljw7C_HOoh>^d=xIj9v; z#N1+jcfl~)rP9Jm2aD6~V+Q>F=T!31|H2x-X4BMr)%;g}FYb>pWBwZ%J{-FN(fSfH zJiG!)uWjf;atSjG1&p@MVrf<}czt9gT~(fo%aY^S!5?b)R(6x34n8EM!uznx(ZjXy zgG32)X@asOueD!|^`US0B!x0sFFFXW(@W{QvjepCXTsyoNT&L8AEMbix|C3Wzax(_ z-I=~*@UD+ms^5X8)e-t)Rz%1B4zn?%@=0}paJ|E)BE5GQmp?rb9Y&e7*JT0P?`Ja0 z--&czt%t(a-k}@f(d+M?~obs;&rS61VGcW3nZY{B3xBh-IZ8Y{_`=U3$29 z9jT{8BV?QpX?11u(MHEHEx3U9R}P}my+KSRt%)u=KcRMoIX0C4o9t&m-A|^GT`R7TAy%+HC z+{Xe2|D#a9Shi#FX{=HFMD3qGQ~4`D9_O=#^1Q!7)%gnyhiXy4@gqoUFytAR3ef!F z6YqSx1b4)}*qS&kxciJo-1c>(*0Gsi4621ICGlyGULi!ul=UY2;)26PlF@iek;Jd4(D4 zjzh>UN!+@xOIkTP)wUSKFb+WC-FR*=eI<|(S zQS|Ze>_O3S>@o9Y(F0H8LZl`=+V>kB?#sE<8c90n`<0Y69$?1H%XA?i0a=4)utl4c zNnxD{WqtO<2}66n_mjXa{aC`IT+NV_{*4-)cTqv70p*$#w4dLm*;8)|{NH7^bfq0G zD$CNgm*z-){F!2=PDf+LN{s3F4=0=K*s6zW@bIx@jUWBttG|#2l%#?yjNqYnpW__; zB6%c2F7hqg^tl?FN_4sYu~K?6T?fAHyXn@ob{2d<@W-S#Q1K-pi)^bcWZ83I5xWjq zVF!_zIE2Pje!#_?PF(QL!`h4KJVwYD++EwkJ}mI2i831??|Yc84~pRN!~N;Pqlt*M zKaL^t6Iq;MA4Fz#66y+|o&JeEZyf;b{Nvo`o+v%>I81jH%JF6FYnZLx0jWSgI``BF zr_Fu&pM+9+6%vG~`H7^|W{okkVg&9glH||dBHx=6nTn$vy*|)PtyhObJ8wAuv1bSk z5|!ZNtevsDu}T&$oZ!|Bp8 z7Tg#^IiDoB{l`tTcl32W`0r}`S$TsrHx4G;^29PB7r$uebC!PW1M>8b(W_yOD4tY_ z)TCb|{pB``e3OTs6bF`Ys)uIpk6_#X%!Tff34Cn!BODy^hA-GE8+kcorvyBay_PeDU=(n)o`4WS;y(ze^WN zeYLUsp*?BrZHJO~7d_FMf+E3dS}Cxw*X5e|w1xdpQ2k2+(S)njo0#g0@93Ih$-i4X zq3ThWc=hJPROcwcPo;Gr`H4TBEli>Is6tljG#wp!34DM^C#0Wd^2~B+Ap>2*Ck>lU zxZ=&Pj&-Lvvr=4&8its_)$H}Wf0(oV7OeOSQoSkg;Z!GB9aaCr6uHg)D|Xn)lZpk8I_wiPmL zpN~LybpyfvC7sXshAU&1prk-t8R|y+jf&{zqZ0C*lT0=#3~r^{*a}$= zsnY}b8U2Mgnw?K37cY?4`gmNg45P|pF?8<20*c$;!vED=z|RpgV5@!<+1K3=yf%vF zds(nx`3^d-x|n^-n1*>#+v)NQ1A5dE#Mf&+MTEm_{#ss=j75yub_FX^9(MzG=8V9# zw{>Jbn9=*|&b+nK23wx=^7RVx^dd%%H9qO10r!&l7HtuXI5Hi@TUH8MOdEx!>tO$% z2wFG)BivtV^2g;~5bs&R7WVmJu~QTa@;8I&#`)yYe2K=|pG8gRAT0U0pG9=pk^79% zIJ#^AVl+q7a{b+Sv@IIbhnLdU_cEId)V&$(>DnB<#UIleo?9GjIw~MceS(q~R8iRlJPS#p9sY z7EUUQ@_4In9lACo@fB)Aak1PG2VeO>>AfclbNdE&$4o?Rd<@HCH{?acVy1lp{$!7) zg14`^vi=BkojHxB#^;n)CQlwWKhhc(B{t)?IE`K_>|v>5==9o;vBK9ks(*yjz`a@& zD%ruyB>Sj$)Nk7C(SbVyv#I<0TvF^fL5XgOWL_|Z^8TI?^pG2t|stbx)MG3-6|1RruP zGM7g-q^;YEK}kC(rZ^tTM&*C!H6pQn;(zT>GZ5G>Ekp$U$Q*ksa1kY;*BKFfu zEStN798~jZ^_>rNb7CJ%udb(kidk4=Qp46*oEA9xYL>C#G5xmfVQHSbDKYOpj^5r6 zOKwAfKbF(v-)HGm+;(BE9L4L(-4Om^KWU0}Au%`-zGkH)zWXg%zhU(6-)z47;y&7| zc9@l0R?)e#IvTgGm&AVuvQ-;Xs8h8WI*w`NzC3`hzMw{z4_QDhLxm)AEa=j9c{mCA zyv6Th@Fb1#p>Z3Kz$TLKg(i}VdB?VQY{EOXo61TUYzLfS3iD>7?bBtt-uH^~OhnFCA032Mwyl|&I~ny znOFw<_jnbgUDl8vE5fiNddyNhl=|!MvyscvvF_S>zF_lAQk5;>I$!zpaPws|Fzad_pXoLjVYLx#+)XDKO|WF&)X!7)k-z+T;R8zC zbb@Otci<%}=gBwZak@*DDX8zJk)1`x+ z+=EeOIEWOr!Vx`8$V;zlp}#@ZEKlHqt=_GqC4a)8?y8PW(q{Oju$N!kvWCVM4rYh- z6wtp|jvIWtPO*};d|^f~<{usiQ@2*^zN(C~Ylo1*IKh)m38vMy_Xy$lDSYW&zSHC| zwO(pvL6+aCa>O@wVYdR^+VTdsu8qQd7f~j;&_|d(Z&8Ae4}}z%^QAwWX{_5YYJ4-7 zlGMMFyQwoxlG;nTKQ^P$@+>W@`$OAO?3iCf1lo@cXN~3ZsN6e_Z5#R(ZX3?BkX~{8 zxSYnfxOt)I^m(qVwN}tCXJLlsD!Tk22G#;kbYp}B8?@{bmGcOg-KoG9(F5FbYbyPF z3VyX>9<-MAGA%(b5?i#3TW{5%kGKD@Qxt&aP)W3E$-s;Kq?(i{A-^Tc^F}_P8{2oY z^bviOwP6S!uVX}FQwGo<2OW%)3u8CK#bD=M!3s9WBF~odz4MLsU#_3VbxTg2T_ptIXf&?R9H^;LC5o6SeA<#v^f_jR%Jz4OU$nk4&a_6wFv#xUE@ z%W1Wt0TnfV5&RTOx*>E2xb1t(Un>oxqj!(NwmKhMW?MsON}>8uwfu&WGc|rTC8hT@ zxYiiSC*2=~tJ%Ytn3XNPOW%NNRZaBxxCZ>~-cxYF7k+Bb5%Ng=#?{`9CY{l#^m%sy zMt_{l|C2~ZBR|f9rtLta$#Z(y{t5G|19*q_L0m7gp~!i*}Wa_%5B;5e1?rNQ?a@(LExQxNwm42o(28JxPL>);@Nl> zIKT~xmnY+k^>=!3y_}+l)C+T-8VVD`s72~F?Kq=B+a<=c{?Y{eS2vI}?uC%gg{$1s ze;%#guSeoq(=m3sFIgu4#;XKlRHqE4w^c=anN2(uPuWf?!Wnw>V;X+#m;fWAk3vpz z1o>+#^HU~Tu!z*eJiAK>8Ij5D_6pfc8Bh9^_>+d+4MNt=r{o}H0af}{5g$Der#w4g z&t!Sq`6@~l`l{4BZo++f3kv^g3OA!GKYn03IXEvyZL|ypzo^EHd)H7lL!EZ+yhrzq z>Zo;r2b$h>v0{;dP~1O{54;#i3VNwL;rJG+ZV`u7x)@%U7|?K$McB7zFa6m*6kmKt z(bWmXkh>$#J}mDgpV6~;kd`9d7}3PMVyDt?z2$i3>xL6ffvD@2qwiMc zw;nfWs^WfLy2K2V4!+?l#$TnoLI!l{<9~26zrrL-r=d#kAsg3jjdOLwp<`V`!_0HZ zulWGEKMiGGw+w07$y;cM*a@#SPE;AJ0!PstdbTx?Mr~DsU2!5k{TUAZ%1}Di-G>1w z;uz6$2WN(GD3r?3hG!pO?WaLw?#kip=a;PK>mO=fGKt^38$|8TG}tLq6-eH!of zI&z4t>uV`)8itxr1W$qTT&y(58oQLrG*?_$7~7>ZP>0HG*IKF;{2qzyY=oMm@r~!j>CL?)>}u5^ z`6*q(x#mW(hfP^|h8UE`oa9dXKI5_72|9K^nZgpjvfRznko#^Pr}|@vd+W^?b_~YH zZS$yaR5u1r^yq3oLb5}fmcEg-Y=g_wnfAVS)C5l zCuB;iOlGjZrpC1Jml@l!wHtcJ7qE8g8i?ySQj&!UBm-t~?Tli|)4zjNiz<+oQOPq_ zDB|S!Dt^wl2x1$}k^FQksnon+ZNKM1PW}^#9x}!!Ut50BV>D_1abwMM7E%1BMAq=C znH2V)#r&Zv!p``c?Q~4Qid{Ro=D>Mml@-ZE_WRJUK^vL-Up?aI*D#ZjlF)9qVs;;z z@l9hk-+nHhyekygD2Y5;IeG>1hi%2IIesMF@sdow`H`zhIq5BPpvQH6G^4g0$3mZw zc5@hO+fstCI8xVv`$$cEhU$HDFwxnN;_7plxYroeOzS27;WOnXl;GI?IXGCko4hjCk?0F= zHYZict1b;>$KTGS9P86u?aDI9d;TW3yN#rCViHcwyaxB}x_oF&B;v&OP?6IzygRy& zvP?JO>E9Y|Q+SX3X)3QSh!VQ5M$_o6!u|F<5l!vODQblXC0o|wLcuXg^jnS}rpG9& z%AB4qyT%KX6CfV{n9ET)43=55#1-49bcT>s+0#gdGL>k0y@g~u#zCxApM1o!*f@oB z@_PH2sb0GeiR2kb)Gnb3_Q8Z79ilq84S9-f&7+VCfki+Xr32_p{h4vD(t;`@AklA(NQdJ z=%<@O-6yCiXBr+R*z(_7>+oQMJs#O^rk(A>xaJ|DpN4IvS>Xflc!MH~gj{pK(0R7a8_yoN zK(lBd%#~HS{I;_++_^;P#A%^_OYgFqF77xZ;=%TqoPpHEVzz1aKWMf{vw5T1FiZX( zeXI7v0Q*W_+Wwey1m8YP_@mV5)=D+XdSud@zHtZ8$5_T6hFP*r=*cr#0eoNGLau!{R6S&Pz=K|#z4??M&z(nM zUo#Q5bv@1WIm@QJh{i*!>3r=-U#dx4gW8l3NQ{_@$uG8$#i(9ZEcuPP>R> zbfE7}Z7|i@#Fz9ABl)xyOv=*;^#>E^mZ3bYPw$4x3RgN5vYtMFwMJ)+EMGFSjo#go z$Iw4RXxr>f^yAq!+S8oMCgnY$qHbe4AeoOq@_^BT(RW8cz@r|(&2 zXFUBD^o)IvfI&9T_>sfe@crIR5pi{7sW_Skw?BlaXrYkQ`hICj|={KB$m7GxX>|$}E;09!`7ipW?o0lOVG4AFovyiNf)+jFv=@i=QW++VtY& ziA7w=crecIt4Hh#9~25qh^LM%=?zz5VVRdOEBpZ@gtnVub0;y~1&-ueWWr*se<4^o zgxwJ9!_yb)+}VFMKHsuJ`jEevl&*{EsdCu2c@23Mo}&C4CH#%67V>;vqxZ4~G;Z0@ z6H#l@QcdIm7oO6B78ht#ZKQt0F;UB0gdU&CY!Cd#x`I>|zNrKl>I6Bvbi8lYU_Cu; zbRu1o&uJ7g?02Z7@1HPV2wKV3qqHnJ9|1wWbkfOz+V3P&my-nr zz5Ya}LcXKmL?koQ3a0fbNmR6YEWMMwMUo>5g|3roI^7TjwO<*+HOL^T%`uD&1itI# zeCqrqLVv|0aCt)=U8)G=eJv9(>tY|JYTcoZxdIz;@~FT)buqCgMOf&t5-&UA@UV0e z^LW(-*`@V-o^lJV%5~)-;+FKv^fb~!Tji;ejId`q6xJtv8sMPZ_QZR2@eYUf7rX2m5~94O7tT(HHYOI5sP zh8zw2+{6Ff93k{QOyWO(k7=h`gD%ATtiE1^*@Q0IydD2xETURKNw6z7FIAH{pe5vKXVoC+p z>pQ9f#9_DSIZ5jGQ0q}|W+P*QXXP5){N8cgdV7+c9c7Dhm0(_w@fNO*XDMo7995|= zdfMtQWeAhoWPm9{X;2jC{jR@bcsjg6{MiF*~I3t~!=> zEs>=YZ*J31ixTobP(`PQo~Qf&XC*dffh6Ye1NJ+}V_pkQJ+y<$7bl`c<0Msu569Sf zLojn>EuZ^M759z&*v{~em|&yIzX_inl+=sGyS)$bEmW4fCa0ib!9qG5Uw}1VSF(o7 zfp}r$!s-(1VEi$W{&289$sXUT1psy(3z#y&L_M6YFr3PrtYlsJjQ4R zTJ-GsjsP7@StanUH~mS}X)Iq^vW;4q8=QrG-o4ov!9_xU>*aVJHrR|(9yzdex&AP| zT+ejAee zcHH6==^p6eXGJ|IGyMc#-g6e;gfm=!Y!9g}(xTX3gE3WGi|r^|izDHc7`$DKR-7~- z2eU2oDt!v62d*HOD1Yv1kp_#$EBPNCHyZjni;3pip?&;Ne*M`y{MQr&$5r3yll3^Z z=Iu24c>gi0EA=Mx?4cBF@Elncmi+I(S>&|Qh4tUNOd+o>(^Y{}(#+k&#*`LO*pxl& z1tYZWRG}n|7F=o)JQ=yM`1^i5GZ1pxraq5g@aO}rnkmWF{WL;ZZZ8>BSCiif_bXw@E-E#F8nk%)SGj=66D=NY$ky3v3%3cJV?P0Dq+O**NFcw%JLApE0l10w>4gmtfJ$qUEp}liN=_D(~YcLcKGZ-L1SIRUrCH0 z`}Qg9^0{U@?59t2=_To({>CrO7dXplzwof&uaKYBgrkKy-FT|U!`0_gdD{bM6#v2o zl`1~|ffowC#K6!z7MlvMvcHY{;WPge?no}fv1BnW9dwbVkKIml$`;^mggF%icA)L{ zJzjUJfL6>|BlL+k;a-0q)SHG=)#(T9$gi=K^5pg9P1)3H`iS!XA7@BYS5iO1Bi?=pYj zYfTO7E8wm8g&IW#M(=zFdAHQ@m2PWbH(Z;~eYJzmy>noX9Tjl##c(cGt${khZ>zrE zLa#>)didWUp$GUdX9E8npaWC!wj7jy zBzkq~B@Ng+lqL>$g~mmO{xN-|m@tVC_pidvQJQ?l<`{_A>G9XYHc@G@8xL1{426ID z`K}Zb;kR6&ij~`NE#nbpvLD!g_a-0VxQf0X{7Efg1ypL^fbvPxQCT_yV?Nqb#>GeI zsXPSzJHPmVRCBD`dl~Zb&d1WHQi`YjOGqA zx8RAQI;;Mrjr7!9>RsW6#EWvMfA2tDHp_Y6)-Ck9&W8BOe4%$ogLIx|QmL&5_PSrD zglH#rX!9rXy!4ChDwRN?RTI1iZ@|ULHr)4TmC(m@i4tPQ(47Wp`YRhvdrT&wCspXL z%`7L46QNX;WdmNO~$`ShR&L z-PirgJ3LziK1-49S+$F7oVKu#=Q89H8N)tr&%+xvbsl7Lit^ZMAod(NOl+l!a}jhk z8L&Q*N`ogz@nNn#n3f+&CtD)mp>ISBUl&l@*U5aM_Ej1?{3lD%eSpbFPt*4+K4e>L z%lB~++LZ0Uy&X2ubvJR0iTHy*jUq6!-;I?ISFqt$pD1>x5vz1REcmX(SBzUhJ=u}m zJ6IRt#sU+e980kU0;^yUM4fy8L4S4`ZVA;M{`0>hLGmt%r4-@f?l_bjRKJd&l z&g8B5mX4T=B3EY_X8mv_(tk_Sz;F73zj~fE-r)FtAb=g-c$dzsIl}*0q{AvZlXbna zr0u$KROv5H!~9R-x!+r|t-C}W&CRrL?-d@u%MNqj3}CN)ODMSP2p?u=MDs;$c>4Ll zRGwy!C0AWgqol^io7KS6*B!>ji)rMU<#hBw9(9dY=lV{^2&zz?~oNF z+P^W+{B0y6dyMjzG()R+6RTNbOJ*mV*z+OHsCR8<)~#M7x^V~_;K*=p#W9-OeTzP4 zy0HcKoT=#PcRuFDe+UIxqNMOF z^A>tV)1-}|ZnTfKW+>C29j!=wIs`7oZ&1s}@#Iham~_@2!?sUHuHRF>rDp}z916h8 z@R@l0bv!#a`!+6EUuN@mWYB=sp?q769gb8S<{AgTk-x=Kyzi<)^z{nV?|h703tPUa zREtjL>}6-{!*J~QXE=kyjq+>TC6A3{?3 z=eaz&k!WZhSHGl)VQy-IZ*`x(cBL@gbuw5n?SIsL30zfG+waZ6DZV^;Otf4UAwPMqk=Q$Rt9*P| z8M$OnHyL{6X*uGle&Uf6H{^;?Z?Uh-yW-QDdqu}uPl?oF8RD;nm*uduT4t;}u_UG*C|)2pWVV89Y_>NTu^ zc33F8nf=XK&o2?$MGE7bK6YE{d(dt|9!^X4~L87!!^zA%a2R%9o>bQ z-C6_<+9htK-e8;%He7U?5ddBdd`=;2r=$z3`G?#UrNHhEseiiHYZWY5WoRqUZ zxno>d-&G{%E-*G>-+I8}myLSi4~xXwD@+I8?e%KyX~Jh=Y4OCi>9YHzD{|<{ee&&- zKgf+AJtS-Qd_$Z{{!W(i?IvFz@UGd`9wuKJeihFG;(I7t47slSOzg*7W;C4Wlzw>D z@h;v+QhMEwX7`C7%DEkqje+&%iZ}0XG;W;r71irtU*W>O;?K0%M%A=*d2YczX{+uf z@3;TO^r~1*JbHYBd2&ogxo+XRGUQD^Q8Qz#(P;T=BJ<-v%~~txsvn>jgmlgwz4Yd&(>NB;C+ALepT%S?>9=Zx4X#{U{>UTJbg zT>RGG%&K%=d|vw}F(II>eEXAHV&#@+MBSVyb7^+2$cTCq?=+5=H9F5X4mE5muRYdW z{M;v1`geTSTwM)wKclkDYLg<{oxE$VIvOf=J>5Y(j&}`TOYCfHeI`w8TaaY>2h5Vo z4la}_@9z=`R}Y$>ZnleMZ~kTG`t%gNkMtCe)oCP#P7E>3A%DmgUj&E)Q!2_GliL{b zg#`KZ^N)x=7fT7BpQjnAO+OG%&$*1YOa z8Zq&qn#Sh?>&XduZ-{Ff?~C5!HkrrPOcCcIR>&g*a^<6!FPKM%JtqhBE-T`;4i{_c zE|*o8kCB}ou4oL;N|m#Ed~SR;=a3k+a+NSv48Z#mx)^=h#K;j-Dw`L}%*DGtH_GJU zKZ!?kzBiT*-6O9%?ZUg(O!@2KRx-5eFc~$jk_?#?C|zx2j)|7q`uPrsNa+wLfXce~roMHe=T)G^s|PQB;l z`{BMa_P}|OV_PWv@NUCB{)f$9&MpX zV0_UhMt*wlplP((Bxm#sGXBE8(XgI3 z(fysBMx)YC zh_Qb?BJ2yVi{;bak%>`<-`qrE&%#ixV&&T@8=0^t`Wn;&RH%47D*W5lRZXcQ}57fz(J<7}ypCmpl zhR+Wc{okuB{u(pc*xY%hG#W=pXWCI&?!%eJgil|U)9{YKIX5F@zgG9ermWMo-$iDKmDfsD*i3G zbig9q7inZvI{dKg_V_sCmr?8Gz}e&Ff^{}A=<+6W^v3zZ|DKo3o#!p?_L^>QoeWCOVCy>-))%Q{R)@E_=uoACEV#ra8ov13Tr}*ZpPhpSznO zkF1s3TU9hpSHm;hgI>mWr((ow6EH7{&6c5FFPP=)><~B0uMl0o#k%vS!{nA~cqV1D zLyYY*ReGlXB~~BHla1C6F&7=bD>wFNC;qNHNo-wr*qFE@3GWO2QZ&aq{Rc-(5bYZD z6FqA$l0SNumG9r0D0d#cCWf`i6z{)xQdWDWq0zocS@F=^9`cd30b<=RK_V=;sqpCN zEuKim{N?qt=GNYWal^J+XM{5T$-@X`JXf zMvQJY+Ng46u_#+QPB=$>AWwRf5pkE6%Zu8*O@K#Ov zeN1(^59`kn;T5ru`(2}3+2Jzv#%pGsN3dtH2KI)I7$6R$UpBH*PK&1gcjVzM{l!Y( z?nZJ0A-hysAP<#Kl;6L0*?8m8NRc*rtn|;udmU$WFiKt6CtCD7D&AilD38@_Y3%R$rnz2E4hPX24Wn)(VH)PI-hI}6H8QJhrw%k^`wfxEBm~r{NoiYf|5;h&= zlzpcUGKW@uPfU5Jj^R_|w5(I}kX&%9oxId;rl{NRh&a9SzPWzI7180yXk+a5yK-5J zAB?8qF>E~l->`#e_vB|@KAXx`u3T7I^1oO!O#c3ES=OydK5 zXKivyGo!+~CE}wYBgCr8%jDbMKH~m2o8-YyTNp3-G!)C0RF~5qc!}B<2jV?X3q;i# z`;8C24aB#xT8VORI7Lj&&E}ye9+IAsb!E+l^X0MYQD*x#-Q~0|M#<#wUlT7qU&XxI zthD&dG0S`r-Xgk|9TNScY8#&CcgZpfFNw~BzY=eJc3D1nVZY2-8Df03WvRS9dZTe~U!I8X zdC)K$wi3RzCdnz?OtJU;HgmcY-zW%bDld%xTAaN4KE9JwR{lC~k?6UwzO47VQyz6j z$x)H@#NcIX#S5pen61XYFMJ!fGiLi967yolnz_+)@+K1z??C%4>anjp`4bkRji6F+={UFB)g|HT>89 zA)})@%1c$NiEi^o8oys&A@5AyZ@%dBi5&a5-3U6qO;pIpFyGjX^!++QEK zJ3sV+e13H|Iq~gD#?8HLV_Mw?^44Qz&7iZVWZ6OQna@2MEt5Z4Z1$}6qr6z5tKpnGLS(1CXGCut zB4*b}kW=w~-iKocn48P@5NAJKEq-6PPmXDvX!KwItvprwzS(MUUAdywA=$h`85uX{ zh#58fln9ystnvB}iDHjW9b@ftrDf*EcCyi+gJMnOI#JQ{RS|IKQ6oBTh^W7Ky_~;f zjQneEbMvKno^s#yh32%ygRqC_L*wJ}wT12Vs%FFzA=55z6B*@F{XAP6}hf4N=?jOFdV5&d`E zGCNgwiaYPNG7b-KD`t*aWInnlP%QrY6{GCiiLz~@dg5{1mn{3uWU*w&aq)ijDD!TQ zc5>6-x=g-QlL+Nt=JCjB9p?Ae>pJ7J& z?rGxnW%rC<2G77d7#e?PhVR z$~qa__^NEb`J5Qm>=XG%-+mo8B2o@>=dq<7A&m`5-FUy#3P;^4p+`qU_erV)7r|ji^Ap`|xg-*}YmLIi~$J zv(1mkvCpckS?aasVsp36W^(^5Id}dV@$;5TVtxC0=D^N@a`FCBM)$psi_(v65nrTy zAf|OWEE;2<*4lxArkL}-*jE3R`P$#-WQ&OpM8un&%`^+e8yN^Q)0E;CxSf zD{Zjx?AkJ7weLm4yI~*Mrc`<9$fzOS{`#tUHlU5T(Q%n^GOn4J_f88l;c^q%x_blp z)H`=&IQDB_TRA~29@W^Gw)L!-<~VLn!SiuF(!MjdZ(J^uw_g$6?p47%B(WI$$EWgq zmsjPOr#s7At?C(xfqoEs}fr8SaUJM9(?x?Pn&+=~#E zu5J)-4}8^#8yYSXpD1O>`x`{*sy9rBPfKxVM`QEuq;_)GgudpkhyYn5;I2{g;0CcK zY>nt~Z@g#}u|)dg{;(L_&3t)LqTJOx$GG)Gd(rgZFY=u?cgr7}{Vi*Uy)Q!lK4&~L zskJP#-X^=G927IY{?oX0DNMvxI%2L$-y;vDc$nnPlOp>2eswTIuxM(ETE-fnc-(xiY=DhG*(A3=fVOM!BvzqZv!bjpk^lI~+3%`n+ zHOGjtsXOGA$kt}xHNVKKUtg31f2b~YkC|o6!h1|ww)@67_C-TE*y9!1@qMSjqrI|O z|14ql>0{iPxk?=BJn?vjZ9;cfHaz3HN3wRLja`zvJIYuQHfCERMqM8>c$`EYEz|QKnu!CZ@!EEMtQc zI# zdE|sVQ2k9Ad@@9qPpL1mN*|H8@X^r*_0#3O%X^L3s#C>ZBj1;0+eOOxc(+883wPyr zeHxi-PnDOpUUQ6h(@)73jUz?xEziosulyyFes+q~HJwG&ott9F$EC!GFNcX-dx$Zs z^+8ek!$qRzqVn?i8M6(6v_y-H*hvyPS+si9u-v=Mc*P<%P#mQ&oN53|b z8?PUc--wO!gB4D3e(xwzp+Rl)=!x4h^zWa{E#a5NPt|4_D-!0)$BxW5-wpju#HK%D z?jKZNj<3*PE_`l-^z^JHmi>BKmT}e>?N3*cO;fYwRmaC-%7hQ=-%?>TN}&@m+}7UADfwvRX-t~kMR(GM}HGjruoY@7eA7?sbP$K zG%>#&2rs2hjeG{5L~6dMUrUIigYk~QB1iHgno-3=VKI41T`k8O6X_@>Pkc-ZuKK#S zAJb3EE0SnS}7EhM-J8jOY(o<%UX_40Mk({y!R_w zz{w~k4`F#q3F*UhSshR7kj29XYk81{V)FEVA@>Q<0e>hVelc9jFM12?_rn4~ks~ik zGa6w}sk{2&Gfm4&%Ku1~yX8AkSvGPYLoomUk~f?iZ&8 z6HAb%u)I$Raxq&A+Ls{rXL(8X(^(!?LU_M;EvSg47I*c}pPR5BOOX3ueSwZwH5AML z7?yvJ`cq$&Dkcv})&b8!j-!~|e}$G$)lf{H&hjTqDTQKku~G;8u!Qi*EKk=Vi-iwa ztpk=+zR4`#Q$qO2FLd|~CCL50)bimaq(3=D%lniNKJP0n#|(guV*dMY(1McWi7X$Y z)ry7BV>wrYV)B@cIv^KAF}dF+EuUM0{dAUZFCqOgTXet?kh^RD^0sSvYzg*bc4$GT z66ERsLN3yDz>@lxfh;d6e{xvY6VMysN~R z>TP&eDqAiQrPL7oI`|*_wJGV~@re*Us(8;S)vIzD4oB@~Z~WtNWu-^s6m?j71LMlh zFXJq|!1HaDLb4l$|Ky`upT{l5?2_I`_)j>Y^|=2prbqGb#lQbatw-Y+b^Js8cSr&6 zL!yJnHO1^w{B@8I*Gg+W9^bgt>kYk_a$1l3S+{x-&|AfNJl=7uw+MOzt7v;ArJMZQ z0ljiwT93y+ZtY!yUNY-(J$0*B32kH+>+yKVtzJ9m4Sa~x3)||j@|#KWZwU0JR@Ztw zK5}bsHuO^d4ZXF{yT*DvUUF;i1oV3C_}qz=o!esQWUQoVTqy-`iI9*v(0>GdsM zZ(E=SkMiYovwG3%fzmw)dWozz^dIzQKrf5+czoqHJuB$SX{qDoah6-XL(rSrTI=z6 z%dOrWve#DY@wm&aULE8~0_%1ChjjFYUNY(Tg59acW`bwc^v5RH9e z4;?R!^Ged|2R&P$*5mP>+jK-hFNXDK+*ionGjW~^z@vCSf?mhxv^^gGxwW?!dU=Di z9*+av>fIp!g0vow2i@vbFN^%cYv1VLaiLqiuFyNfdOSXKt2Z2akuPg||5UH$Lob2# zc)aM=-X`ezy{hf;xY4cN575gRqV;(E=vL3O9PR;zXgwZBy47m|y^f(;FMx~9-E}kw zdLjRY-VEp^u-=e=u(tww>8!`&D7XF{f?kth+P@Y5VDAp}Qdn>9Kj_sdFGQ^{ZI8#F z#p0#*sWn$zPtpad>IHF47v#rOJTmHm_GBhrq=^W{ua|OGxlMA9j1T70F=UC z1d{$%rW2VCW4bfr6U_e`6@tQ@VB8C&@E(`zCGo81O}; zvo_|zePCCnXuJ$W8|HhE=~Si{0E57f1X8%sKs>47I~W)Wv;nEy+5>w7t1v0)vn?{SgrNX04csNfD~U6uombz#tFc-pkD!!AKihZ*AYnZRR>b|yj2>%0TO>1 z(}_UxBZ9F9V-3a!E7=dA@&icr-vLs%`M_>M)O{U@w%zv`AlYvWB>fHOz{sz6fD~>z zFc9uQhs=*+x<6xg=0D8zjb%FA4?v1HmFc$`-(vo&Ot)uj!u*GsF2nS1$=c3-Ao=qt z<9mz~fs|h}KNi9h@-W7}jI9`J12O#dl^Wc?sZmg!i0oDP38IbbF!SqOA7tl{L{|Uy5K(couM(1k=<9m$3z)A==0N5Gm!~6%c zwEj`X&l#ry$mJ&0qBV*WEs*Jt!%{)J&$e=FnXK(aG~=@%G# zF~2s`d7)Zw50K*ffN?JKhcexcu_5#ChiLtyj2S?R?+d0sWIBOyBJ;x-Uu0|pq;x+Q ztn;BQkmwe`{;>BLkgnG%K(c@DH6bbkF9RP1?f}*Sz6Ugbj{_-u1t8Vu8$&gH8A$d{ z0NVif0tW-v0b2tTn8vG46#pflANW0huK-&CUk27;x&p8j=sQES{*OSSGl3NDOCW{& zm~kGE;)`M&3M9Q=jDA20Uz_o_SFv;i`YhuZU~|yHKwta~0JZ@3Vt!{}GtfH_X;a`5 zAWZp=15$qU0a8EI71#vVQ)}Q8pvg(frwd3N>3t8ReEJqx3YZ3@e4Pax02~G+y)Hls zSC?tZ9BY|6BWNT?l*0yY4S0@eri1Co9xAnDg&{(Usw#J>t8 z{$3#IuVQ`@^CvR@MdtTnz7O*~nSTqN2-!IdBs&{`Wd9T9&tQHC^8=aRmT4bg1?X1> zQuzDN3*iI2%9skI{Ok)v5`611T@Fb3|NV2io!tPW^7$M{{AIv;$loa7W1vR?>i}&` zcLhEQx)G4{y@0iW4+d)bGUGvDUGTRsy^L`lko2c89m@1`K#Hd|knC4wc_rW@F!eVo z8HKw9tOYy*tO>+6T9wYZKuYIOrn>;CUN;8T0M-CL47}H0(BYd4glXU7KxB#UM#dz@ zDL^F6cMPyPurFgh;6tE$!8odz?~}l4@NZ8)A*uqm081gN1whLG4yar--lz`r1l~fS z6MYOw^m@km%pc8kAEp~HQe`3iA5qv8ekYLVHB8TCdN|VoOh3*jQ8_5w4?qgHmFf2w zCoz8@)2*4V%QPO{RN+no$<7w0lNh6!AH;NfrXOa!i^@dto&-|(txQh`s&WHTe)$8v zA@2b60yYFz0eUj#p;A$Mu^UMGtAG@K9@B9^6p=4Jucof2=YZ5cbOx3MUPmRP>+CF$ zu77MzSMAFtrk63jfa&Q>j{?&5)*DFS+X2aLT_D;07L^vuk-qCtS;?;iB$Cn@&e#)3 z>95E10}v$t4oLjXOux@`6ytNuZ^?8;rmuPE@ZSKz^8JiyJJX{X`!c^N)8(1QCk9mf z`+*dGHPcR}gMpNB>6Dr_hvroi1IT8g#r_0{26^1sj!Hj zgTf+AXG~^{VGLpPXY^qdj5#P|6`nDfF@`aO(Vx+WQ84D9&{cTGWX2fA5JrDSA4b8L zgThkb8Iu`f7(*ES8GRT9V-5;Sg=b7=jA0C6^k?*86pT42G!>pPnK6bjgwdbThfy%* zAg~J0n9LZ%7{ch!=)))&b5PDWEtAfe%oxKM!syTF!w68}o<=&Vz(6GYq2mIOXlviy z1MrBp_Swy0eQRIcVB{mot$kQMn6~y^oo3qFXSIRtS^KJHvOQ}bRbSS(_D$7cfBa$) z5XW1V{TM|Gy8bAB5v%D4fbu6q(>ahS`EX5t&vI*D8Kqn4f28HTNe*7f9!=A}IJ$=) z$#ix0*V-32io;v`0DouN+V^*aqjtc?HhWBX=|TQj%9zf z*3Yu!Ob@5@gXhy#`@4(f);^$j5KQ@p@iZOj_$U3CJw&OozE1y_nx^)U^sRkB8##V! z-%l>n);=GMX_UUTujexkZ|&pBWq+)FI~$m`_UX*#@YcSZiX7hBhqK>GKbO}mF7Irn zw_E-(J)OcMj$}?>8`e*W)9D+*@%b?gb>+VxM{q>5J!>Buy<3y=!`hb?1|3DS{w|JB zaQ?qT`W`~$bSKN0%a9!Z*1n-H*q*gd=m^u+z997R+MhHPTrA=6*1n%9EVuUgcyM^X z-CCdeXNoVI>A&C$(bm47&yXKppsjtb$8b)xb@8j5&C8L>uT>E5U%u}Md)Tl{0l20Usl9k zvm*4hBKi*%vG;rt`I#c&uNFza2p$n095x=!IZmEzmw(#6HJ=9bZqvSf>rTOw!zYf$ z`(1;lYI0IoXhi75;IYvWQ$@evU?`896xFh@a?6O|i1AZ&3}eSnRwtv!!B7-ORzM&+ zizpTWv|q6GXy3X`aNlvGK}3ZPiwF;%6dn;C25PYKr{$Pe!Y7WOB!WkV2S<$`HZ3X~ z=SW%pIa^g}%x6M5vTcFRh;X=(FGT1O6UUFuw}s3pL_^nw4vmO-10GPcu2D^zFwup9 zAc_IglO~AZG0OFU6T`#CkBt<;y`F!0;GhA)W5dUW5vhw~(v(njj-X-IdGP2-ivC3dzL@q@yqcrWGSNcv4ho*qGq3QDcHfgpNiSoj=2e@oAf2 zbs9b)Iusl(lRl%z5fw~+PYREs&`hDoQMHKdIa>KKE_|fraQMj3sL_+dMKE}LrVBDS zGJ06V=rEPF!I2Y3PY#WOmX##8LUtr5a=6kRFfgG13orBw4vPp69XAPqkqTW~k;nERdW$OxKv6Yo}I&rNd=>oz<#m0c} zCvyChHf`Fs(Zr+)ZCo-Uk_jsy$l>_cMT%^hFfnRuYh^_JqV6h$2SBQx`r--pQ#$Gw zIzU}@`J|1OBa|PSKT!ckgVwEDxA7@BTDR}mu~Qqr4y`-*__X(H4M7_}lD78qd$L_S zP)~MvQfr4)7!f>rY-B{s@nq}B{a;L)DxsNG?LL}gk%Bf@_~0K0)^J2eqDweJ5SWf^ z*0E?}(?8jzBRDuJd}@?F*Yu!(!Gj8D>+A{4yXYW$+U zgG|Nz)Jhw%u;w|6MG6|?*PG7D(+EXJhIKHJg80dlH`tVXgroVfIw%Y2pX`#4g&YL^ z?;Jrk`(<0~jTGqG9GHU=2%A0Np3OdUmCYWVY_kU~wmAZT0g1rHzyu&<0Wr4B_^H_b zp+aTGM;4rp;?vCd;d*hKOH z>BVIjowB@~+u2>sY_9yUg&lQtrEGy?Nh%TT60cDVHV-)+NQPqu5~I`Qh>B0K z0#N=TfC9=0j=Wsas2nQlxD4dbQAa_1R1yeIP&Da1A$O3D{19nMHqK{#K$i$+*N zzPMy-(R^v;k}n=QJb94d<%s5)(P1jZnRls9(IcWgRW8#t-D+Z;hL4prCU z(osfv_DUOUocN6EbvX6lD91F1POTuQvSc;)rN337DXk)Y1jIOOKK3kBGM7R}-o!Y{ zDXvSBQS78+IUN*Z@9D#FH%QXnM#tD|*c_?KRK~AxP@g(dwS$VIPFcq>Gsa^|L;IA5 zHb)xq`yt{U9#cJg*r$5-(``tgL-cb5-V4Na6ORT=*kbom3o~?&s_R}AN3`^+HyaGB zL8AS!&wOByzUK&dV9#&_+_Uetd96QSvu6$6<5f?|ZE-jJ(Hx;kiq5kK-9SR~(E8*6 z!3sEI%M8dSQ@||3%z(Y{$}2MA29}$C+a$1rEOG>; z$L&Uu9dMCnL7s(h*^Z#S_M^7?I1fD2FDxLvr`!>y#-o2jdw=A9^chDP`#zgTGpgT2<)k_$Q%6&H%BL7HnoswH=-}R6 z6ZD(R^5?Xqm|S&o(0f7$DJHM3`J$xfUON7Xti-|ox!s3|Kf!aPW9l4@mVO)aPH0 zSKGCDQVn2zLMntsPn;ayu3bkxVkL|2$E|9>JI-LFgjcr`za>&d?w2WNNI z+UdH!ioC9Re3^p#&@Huyb3haSY8;&Cuk~z{Q8-e1{-2G5eQ>j?55mX1jQtPr&2=2y z5PbTlYoZPQt+oQE|MsEA!Dt6tA1m4ty0n4?ZD%5nn-h`kHfOvaS`?cD_bov=%A+?x z$CQ?UrU9L448Wc=g9wKrZ1zlT(>XH*-80E;rTrG>$dRfzw>=bxj9MIfB@8)9 zi1Dsno#d`i$%s)pgEyO# zGC-x3*+B&vqOItJ#qLW-(1N|g=kT#bQBwcIyBS_bIs}q+?(Th({8q{18gL6gYS6Z5=Av&A=FellnL`tA9MMsjh zU|o^gVO+5)h#sOl(rBQrZ4|`s2!hu~F<}`9p;x@O${9tJJPID6+7pa}ZD9cq3dX&$ zc;O&rnw#`Bp)@#BH8>S;`Y2%siX=?QtxCblI@76AuyWxf+K^Uze8Ylh3Y#n(rInF^ zXt%T(`;h{}oV`{M9kCUJV@;#0aodX{t^BkuY%5Rb&L z3Y$7&bGC;~eKEx4VTMF$)w+%}Ixn$cYeAS_utcC>si5*JXTiM1$LdWmZ;6|ELwGHq z8+z6t+Yxj_MUvYD%+~1^yLrG3`)-b%M&qbZF1}(I?=y4{*Z)Y}|EPwppbF~#M>j;N zx*gsfXXrU(tCdp93Fl8|yA^v^*>N>4W8D2^0 znmbR)8X8`kvr(p`jfz5HRm8d2EQc1#H3rQG8yQ88sEneM+|u-;1yph3(s8}fN$y5k z>)>IOJ#%L|bU2|_<=fdYpI2fBK^H^*HCQlKbDih9UXS*`YnWr}*=|_i4b17Uq3&-h zh+JK0UiD%Sv$YPP=E?TxJNi;ZVAWeVg6>!shq73jf;gaM^=WDj?dp-X7kgtMTt>oG zPh9l+%|gzgnCSAfC#hQKa4KGYN2WDgIb$Mhm+{0uBm8L z9mKHZ45+7VCLVN)553rD9UBVDD$r7J5KKNm@@ z?gQ-cK6J_2@y#MiExn=u7EoR3tjOq$G#ySQ;L#Zca-=E_kItw^wK!^YMnW|@qZ1yT zVO(W(YOX2fMiqlll^81bs71CO4Yvc$iwm>UB{{~ffCycx&Ym@8G3#fcZ1psv?@fDt9`;OQ?_=SPvIfkBcq;NDdMdGnd1+L>I<|tI$`Osp&aM1KeyVnrJ$CU^6n!K!^r9SE=|^&`Te2wWqaBdUHv0$r<2G$o8vy(sUy}iN_}$?t==f;p+OEID0-2W*z{1^ z@-xd?e^T=Wbz>uQXVFZ_ziDFSXY37H_H&y*YMf?IO{DABp#ftXS}auQ>Fu>S;98H^ zoER{AbC$KvWiWQPKLXh7rwgi~T`it?ZJv2e8E&9R z%`6x$>cIObFlVQldszyxnK5KmN1_$-BTQG4RGpsF+g>V|Ar>(~iv1i;QtYdjJo;Hv zTWi>AB_hVfX6(LnqVzhQ&3+1A#K6QqdQoyptr(O|hxR&lUyP1nDiwx`fzCJv9#QLn z_OwW)b6N@8s&YUk5i`G`(~X>-p%tW;qUdK$X_9Doj)bfNKt)mZv{Bl0zd~II`{+f^x}z z+O-?dT~iTWo-$upPZ=+)H#22te#_#zmT0xb4z-+Mb5ygb{^GVhzBdee#p3}Wj7jMn zD=5^IVz@DkM#&NQATHOapJmxBGNt17GsInEICGUfdIgqIR#DsRx{~6= zAj5%eE{^C`j=&W3Yrpk-xOX_SQ=>PIG>PAZXpdUV{+ z`7xDaKl{g1wdF`aKZm9q9}|UGI}+1=4iWn)#!o%A`y;}B_Otf*7D^WHqrh29L6WzE zkIMl#M-&UQr3A1nr_f#!g(Y7FX^OI^38L&&k=2*NxSR)CBexEi zu__vh&?~+y=zU5@uXvyZQx}tNTwAAmZFVZlN#un+{th{jy`;w$@}kEd_w3F*;v97( z5gxxEcLDovdXpcVrTs_T^(j0y>Ki=~=0RIEr;EC-t< zQ|L^x0H{If3R1TKa90Pva1oa+ofVl%k|yrzkifdDL!4B_vF_@)aP(arF!Ws=obXhV z$H}Rxor3T1jgyn4lVfEjrNNTu^rTWkaLrIqmgv#H)2V}ULzi?7(P5&Tqagka0P7z3 z)v2SiBB>)y+@~Rdb)SYfsfuIWr*Yw^)R9o%r@={))KRi{(qg3{PqD0Ylfx`=Ek;XO zCs@zJ3N)?MQU>6Di&C;DH6g=xr;md8S^%tj;8&-X&Wfa#G_meM0&CraIH`(bt$Vm| zRBB16*FA8;sZG^xx=vQCG9rnUKF*9t1hmpe=T^^Os6dknODL!tGuu`#wuS>dAJerQ z*-(xwW06Eb{5=#+X8axe>fE5SBDq1DSR^5VwMc?lC%i%vLusYDIJqY4`n0r9DrpQCa>wS2dR1U8kN_M(PsaT9rT7Ma99e50SZcIha@% z>LCO5grFbP{tM@l`cf=Bzf>(y(Kx7R3-KIjs zzJgUpweo|;9|O&RoZQWH`SA*JZ(ctxyrmZ7j=*HtTC8@M*#pzD)pko}z$Ws+5wOXs zfwZFmql|P%;3lqn0b3l=o9wrn(=B}LCZltzZ-JYrvITC+-9=IBExPwI1MXl>E=C95 z0n^JKc*7BRqj}&RtbJz&&^;@}lxM}{??RUIil;3WShunVEXt)JkOOz60v0&}7QyX% z*d1m+<>C32-SaCLpcVdryxgw};?2nn_<v6pk*>t?Md_@I1jSRbQmRZwk;-!F6UZ8N=?pe`#F23cj@PRCtGYpsfxmq->v zDM6*+X=Q1DMMKwGk#f;hveGe@Mqz7w`-}|~T19ecN?k^)g>RNqLi1~T!FoZ8N`FAQ z&57-+1;cVXhPw8&sp?|WjWc$CDk^gu-FU&MEku#=dUoU-2ufXqw2+YA1LL6H2?6OK z0{`d{cYapygup*Q1pUz?_5h`?cR~=xgnF9eNL4mmW`LRT5ikeOFi@kjQeJU-vjBFO z(`t&&7>Clz$iaOzQp(MyLU#rs8G7B+nHB@K&EaQt1)5Z;VwTd-=Otzwn~?V?^}_yA2DC?2g@M3Rr@$B}Jim&2*d(Pk-S4$0x6P>T|#i+;y9R7bGMfy$QlGw9L^b5epGi@sGg=svRZfUZHQx&|FC za6bWxa6bl+5I+mQUbFQ^1IttLj`;J`ujQQzhTU}#DDQILR1RPwZn>cHy!rf-$^~7b z85dBA*@aUDE=0lzTo?sNh#!excPzL3`!jfk{8Dvi$2U~L zkY7ECX*Ee)#i6At7V=G1L!ED<_otJtk>%j3t{cZ(>Om>T`JRt;nV_;!OwDJX{C6%F zZHV187f6^9v z1-Xh&3mfEBID5tx1Qf?}l-h~RfJ12M-~n!4gw4E^>4|;=ep+O2lcX5$T%rp(;1V7$ zpwMwMvmf({tAkUV)$xk+QzioPurWU)x0HRq{eaEknGGuLyhp})Py2q`@oTn>9B;Ls z!z1VnMt5iQEeGt$w>458(t5(|_1e%GuN~=lCIIa0yR4;BgE%hwR+jB_PWy&R3`Qo+EHCu<3){7~8QFC3IOJrRfax0`sqGww!+`}I{^YRPIglYeJB86H~wu#M&-dLT25d$6wo__>@UkI}}gMKgfA_M1JTksKwTRc|53$xVb+$b1||c z(H=A(78YC60!MVBH7_7%qGOOjnE%CaU86l61H`{x7SUKm(Yi zCP)A2_9?x)DE_};cM)#YST`nJcS>1vaEB{1f9H{^-q!Z1_$JgiVhvQm|I@u+YG=MG z0d98m9z4r=z0<>0ZtZN-RSS*9|Maa>eE-eIT2I4h=bBAFO9%|o&l1MnlU|E5V$NeP zDV|lKZOqubG#gh~;r*3p8ZnI1&mro@t;o$jYdyndJ*EHeJjSY#{M ze-?LRVC(e0nHjjiaG{|9sUWE$*aLI=(UZDr!w(iZsav%NVt}c(w_mgG>u2AuOWJyt z7o$pBmw+6vxP>acGtVe-LcrJ7Q@+T9ENEQwihC9st&h!v2;*GpQe*d_S3s*Bjk|33 zyf(L1LDlxyZW#gw9e?K zcH{OAbRCm&{l|z{-xJo~IZ_FY%~kH;$zf~3x>$A2A76Ro3s-gXrqmhUpIcegdgdbE0My1<@(w%Q(a$1(GPGSVObBkl)r zx1{|D)@+$|2L)3;1J91Lc^zKgdq;KG_qdCV2N6H+&Idlo$gS5D(H1P0S=VRW4L{dv zU=O^6(mR8)p*8k1SYxO4CC5z6+h~gs<~{8aaEfamr`7ohZB!L{h*>{vO~s(g7R9iI zYFXS~zx@25=a~O*rWdyJYc$++lq0{}mP4|T2@NoZp%Y3>9+>6yDao-CUF?2?uKGwT zkBftFq3{AQ?fzmewS&0dU~Q!==m(Te3}vL2r_-q(BCb7b^6W(^DT!8!AteWFT04?x z5Q>YF2BCWQmTr`x_8%WqO8?36pN9WW;{LA)dn9H0Gbc|?%KEax$_A&;w9Wndy^pGe zKU-~kSjNz{<^GKb{;Sg8NXJ#o9Ial^5ku?Cg&*-&4C{M>YVPhv9;4Ps)Vq4!hEHU9 znvS_x`~zu5g(F1$(%iK0k;3x&CHR+9UhC7oBOJxT`{>u`(6?3G$|G5xRDykPEJx9? zMnf_C=`3GJ{j!_*L#pb4Ej1JipU84`56(^a7+Utk(Lh77@F^@mr}Md(Jdsv}a5UCX zOrFkide;GtVsgJ)TENLHCiiFg`mz+*C??OVr^AoYP)r`;qXp4gQcRvxU(5e4A$-o` zTJU5E;e8rv`8YL|FP^@{rdnRDgz`&iuI0l@vQO(+IJ`@c`*Fd4t<|)aK3Bha|3aS9 zN-NU}D~@8}{b^MnM+XhXmOoTN_<<}RTY@~DW9|57Gr1*VUPV4eG ziuo79^0g(%t#=rd^uCjUyD<8}!R@=-_mlL7?ZLa0n&fugtsb=jDZ91aUhR)ty+vei zkJhXF4|+Qw^JhJ7|J~ZV1idqRwY`vkuvZDW=lzY=`&6m8JE#UvR581bTj~ z*XtkRrFX6jWYX5ahqNB|8*cR;kiElNkDCd%dJWNbonbxh zN8IZ5gI@9xZI9anw|Y^~Tg7_ZuejBtchrQO(Dt~0ajUl%dZSp6`x&=-H=viodfeZ* z)uVS+FJ?XJchq6MZ^sq~seTVgSDg9$p#9_i$E`j3#^xy2<9^7k-hAk#|ETS8f8UnzNy)c)w9`{pj^;$qL54XJN;Qq?3-XQ38yr%WI z-*T%r1A0EWTJLL}%Wm~nKyS;xp+|Sy242_pxIc4i?+)4fMeA|%>sGH0`t)qpYw!>L z^@iRV*5iK8t-T27`QOy>{{9d47D2C8p4Q`j&#k>3(DP$G?*H8CU4mXm*5iKAtzIRJ zg)MvBAGy_Q2R$3x<9^Al-Vo^dvmW=4ZuMqE&+?D^Nw<1yp%=sU{>i@+&|Ca(`1b&M ziLA%{r`vcNq77KZdfbl|(<_CJ0Ix*yJ%aug)ysDckmxzU-oR_9XsAQJCm9z39|wI8 zn4KSQi)v#E{B&34SoQ@(l&H26hIv1J(gT<*A2( z{-7_T0ug@0xSVk+5Y3_Qb_6CY3naa>FiPmdNRg2I8;ldl?lK_76UX!nAh!DWMgRkV zPXQ@>DVCo{$3pshfE0cQ5K}7OwLsFJ2_*fVEN=!ReJ`fV0egYIh6+x4dl{1%X8M?qlKt0#M27*%{s6`_TA@PziG1rUdC%f|XU zG4~tkaM?f#x18w@fwe$)XOs=`Gyv#4AY81Q4Xg=zDX<1GhOs@6{PhNs|F=;oiT)V~ zSA5S=CB@$%Ad1j84T!4v)KVa-xbIXTs;Uuz)&`Q_cX1JrAKiTP_my%{`N`f+Ao0HjRs+2r=mA^-r2I}~oWVGXaS)?F zV++P=K&%G(RtAVIlK_#X9evfe|V{;&-qlP6% zrKke>ZD3dE2LUPn8UramD>Cf~tPVO4m83WDXCT=*0wn#lz=y!M11VfE^9KW|90mfZ z90Gt;4jmX9FnTfmg~~_rt3XQUK1L_wAjZx>@}oAe3+X?s^XmYR_^TNgGJi6V^qyjD z!2B|dzaepyUmJjwA1i>BK_>#c11AB=pO(OGz^Y82L82+XO+X6wCD0SJgZUGf|2mM$ zvo{b+EWYi5l;8A*8=`*(QvADt?UA2LfNem(0c-~x!u%j0={*W0e>{O?_XijuzYYP3 zUJfKXvw@@^2qZhLnBN3Q*ION68(=xcJE+V==P=UiT`2wQfIWc=fE4c(#teEZ^u z!nJ4qql^aQbzHQRPe*}N4%>msPv$!qCo(@6NP1lv8!^8;(PR*HQR% zAnC;e$?nTQnDFflr0dcPh#a{7B;tAQ9+ z`0{(neV+i)3G~Cj4nS`ph9`Bu!H=>Fq;xL>mInV_U=PsK7@r1`ACCe_zdFzZ^nEBl z1-uKSa7UTW08;*~0#dorULC6ElbC)HsPdWV28@+~Wbbb%Q$A%gE(cP)ufMowsAP(PTqz9^HVi-dh{TY221!E5UC;fEBWX2fA5JrDSA4b8L1OHWc z#$?7A#t=q-MjuAOn4{BOCY>>vF@`aO(Vx+WQ84Bpauq*gGGh#52%|rv52IkrL8jrf zOgdvSV+>;mqd%h$BS3{qh9C5vSU+Om*o1SUQ`%}eo#_xCO;2L|7~~%vBk@oA*1G;H z;L~@fyfL_<;|TtV9?0}FY%d2F9~~o@w$|;P;E_FRo&FuBt#$c3tnZIXLkE4QhV-p< z=L<|*>)aviPa?;U?px_w>-3RKTkG=l{XVj1t)t&$d)B&m4b(f5TkDLpo

MZ!OuhZHxxap)C`KPPA_-%aUH^2O9Sy)cx4Y%A2zJImZzI{Kp54n~9 z)te{2t@_@}a%*_mdDU;U?{(n4odqH18eh6Hef6SiUbV`;`bS)s?;=-CKK|hT z?oQF)E}Yc(ebef_$7&_r8Q8vV@%yP=Uh0~cyI{!Z*S9V1Ui+h*9RusMESGk0RgE8S z^q*4yhZmm-YP_xXf`c!Yo)fgeP5bdn#7WNwp)2BC%dherUq9`+BR{NOTceJ(Q~zn- zOi6joy0>L<-yW(?)jir*rSF{wIjB>YiWM7n|G4Xb*6ZsPCA<}X%eP=@n+pTFn2z>O ztZ=45l@}lQ9qDb}bs{+Cozv$kZi`;Ath-02nZEBH?=&slz1800vR}Adt6#VFu(4Zy zt|GiZbI?L&_e%dtsZRc_w4^i-Iu^sRYdat;`1xPQCvDSaPk&ACwW+|Vjx}Fzcj&SHZC@RqS2OzMu|t3E_{;d6u2rwsXp(zj z{aN4J@l9_`wBEU39ox3k12-z>&7TlZ=k%A)wEAuI(3Bf1PVf7?`tF`j)@?MU$?w(+ z1Fp=>%6#na7pfQAbiDKMpAFsW*S`CFgIczEMibaL4l6niZMaadrs%#w5#v zmwFczKR@sJgyCDuKC5Gzd}3(rkHQ&Nf+>}9b>!)?Iw zv1i&@+Rq5zczyKLX%9{dulm%uaq#l` zAKraE7{1soVGkr4k;PfiKwcg$JMN`i&o?8Cw^taM) zd!}w&eD<@SKXz|2Xwb5$u??@BEN>EWyk(#Mk6f91anORuXUw+9Oo4$b3SN%zY*RX8 zvFL-9&h%ny>6jmRnoBqEmt@y^2CNe*4ta-&%I5AJSuEr<+R#_r7_nA5E_md`CbmO5@^`z04vH2>=LxhA)9J0GrbZsiM~JX1CJZ*xh0lf@ssv-v}p z&;>t3kt%y`Oj_6a(|Iv1PjtEKHRZdEec#Po*s|+Ow(_jzjo%D^L2C?-%-n7M_)`Al zw8~T!8+3fCxJ;-ye{8o0`wS^?$(c6(??D6mXSZLTlKS9;)Hi3%spfL|&l6Xk&42KZ zOYimW>V4H`e%(!1T6~gzu+{bzjVC;tkb84Ym-)4y|K|3@gt+U!{=I+vnHdY`FRQwA zbXl{|l0O4ye=^|WwZC4O(JuR!=uZwOkKDFxX86m8w}pmPH`{CF7BKMcnPDA=t@-Q7 z_mRJ7{RO3q%1_75xm|yHO_iU??WVPFzaY(Cf(?mu4fL)ud%~7!H-BlJJO0Jwu(sch zX|SVaWV`S=yT*_GEjaMe-y{5<|FZn()9>zoyz7@;22{)*y>zF4V%Ms_AKf+F^G5N= z98+}BsiApGd)%4z^={LyA1-zKJK<$>-4U-=A3v@82>%^dcINec>!ly2be_3w&D8M= z#*VpuGp^ObqVD?Ag>u#}-g9Z&4c&ge^;4rEZAN>kevs0I_gYOGYsPE&b*A~tKhC~k z_Di#+#QsjCt4izT$&u5i&5Dhjbv^aBSsz5NZxR{#+w#cR<&lS`zdU{IL$mk1Jblm; z>)*WfM2&^tE&uzWPcQEDEBM8){^@3xgllER0iGL1X0Gn{^O!of%c`zhFz}rr-}U~u z>FJRhp6&9K>yEf74XW=p1st2?`oo;`?Y(c zjf|{kTu0nhb*D8nuHmfBx21%;gF2?wd8^C&2Jdw|vi;UIRZ$>D1X$ zD`3yjoy-0)n`TbC^jW8Oe?B(Ttd|!4)=-QVH&Xh+80Zn{?&5b6za0) z!_I&1y}rEqGu2~0s(WXu*X-7>W|lrv^X&$g>bZY4^T%wH`{C#bjh8mRG-J!P$V}WsBz<}H~qKITmMYs zd8?XFeXgagUu%!FbaB!?*pjHb!^aD5*Ng5p>=ln|PyBZ3w>0z8M;8WXcr|^Z&fvzT z$P)M4$6OI&dS$MY))O({M9)lZ~Z+pvS7cZcS!Sb zPbXPEGCee}=8`Edo;^POq+4*mMV;^No7=zOgFBy0TJ-&*c0XS8d@6iYa_x2vO=n*I zXjfdlS7tu3@Jmb6K+hM;8@l^sjGp_V-*opWY3=Haefd<=XAApM+w$G`2_4^f6RVTz z<^iustAA`VVAamh6H)6M4<1w<8;Ml8^+M7{;Mb|=F!L^3A2jim?p}w|bjhylmWnW4 zRmM-7Ha%jvIb~GOxNYVp$A^rcKV;gt@qaxxK5t0lozuQ<{d(#6@&Am?X}m3R{Oc3i zB%UpPX#TKX16rK>`-77;Cy)MM?SclASG?w*Ho5oS9^>1&Jik1-Q&@*{HPTu?l+my4 z$}81oPdoQV>0h_E&pGj@uV1g}4Z1Y$bL`tc+En>z!;Dj>bI+fvSva>g{<~M{aE$aVjt@9g{I*44|dw`}6^p{bwF`o3%JT~BN{+VSC>=|9&q z-FmRew?4IV{5#L89rVXh@1h@Tyx6aYzwe`)Mt)a!=ddPc4%GKr@>TfN!4=nsE~_@( z7ubq^G94*_VlAa zes=mqZpUdaJhl48sj(vixBi&a)P3&yslF|Cmel;XoyUW2g_HYD+xF6#(66u7YS-${ zk%Xqd{OvY0Xy(XgmVbD8bI_#~Ezf;=sVt&biVa{|ll%EM_3pf8$njmjEIqgPmliXgY|($!^dCRZ-#en~+PMqPY<+R+ZA)_G*ZuKZ-2acN9^y|#7fVf>7uyAtu{Nv z&Fyo-ud;tt?L7>dC`GGW{C(WRC6AWb;-Yz)LtG->TWPE8W!?iBVwao-9i*eu1gOf< z&z>ngdwRm-ALDtJO1s*xs82fG>moNUFYEWO{2$+&sLBV8)5!|9@vX^ZkxDzYgY?q< zui4$1x##IP__j*X1KZVg_{!morp3!vZH-ZSs5zNkIW?KgDzKxxd$}}6NpX5nG|sMi zs!&s&{c&Ud;FB-6G4HvxWs1sQvJ)AkY|7)oNeNG$3i;{qThF~$(%`v9Q{8&F&O7^R z+J)q^ABFBYkvw_b`RkvUng_kG^tpjO9&9jbyVt&p&lQzSn-cWVcRL#YK4AK&scTjY z>2~3%>-+Ye{G{=;&xg)^c;zR)H-`E}Zde!A_(WJsTO3cW{x-0KWn;)Ku@8+Dzn31i zaGGv)=Z>2Z`}UZL^Pc#lbHIY_bL&hRcO~te_3!k3vB#zTy%&b>xlsMh0}*#yr@r<5 z%&htI9||pB-*icvL9<(q{;c#Zn>|Lvl4UIjs zb?Un5tD9J6y;FK-L+`?Fca|;Pf27p%>!BAsFAc$OzULR4P9-+0Hfr$mdyg!<+A#j( zwx1Q|g)iLx!E4LMj+-|&N+Wz+XfEXWGBdhQ=)df>O&175w^ z;l)+Dc)M=gxO&FK^M5_?!ofH9tNgm3e!B2_z1KGQF8=1l)TriBH%`Cbx93L({)rmf zrG4hSIep50UGem_e%_v4TAcgv>VPes2T#9tHFR-@S_?ampLU>CpPY_6j|_gvv}D(> z@136iMU~HV@}26Z+KV6d_t@TUP~@_X9^P$JzWQN#{>wEdtUHnU_rjvWyHT(I)_L2p zm`6I~R^7aROr0l2dUPzwuh#L&BVWHfsBPM{eqa9L=exXSgLk&Ij{doS%bs6Ho_sIS zH^x$@UQUO%Ixn1bwTDaVcegG$v|{6kpPP(m9(ViC2MZSjZ6AL zrswdD>yK=@_RXw@4;;1ArTCxRuNv+=3m!)WrWLnABO++Oh`ud^ml$9e5~zV-{%L8Ty&@5tS+Aqt9bUA!owjQ z-v2JGYI51%4f~H@@%4ZK0rTq(Z|+z0MZHI+?+bo-$jK3Q@l~R?nak_8eRA<_B3{zrFkOg%dvSJlxv#*5X|| zcAsv4=I4E_5A+#4X5S0Pe5Q_FSkd#769;dvs~GZd!_a1*9hmLk!0V5dV<$Bmd$?=0 z=yeADX0GTxchk<$&DV39yFR_nI)01Fhku(MgFIt;lOsEa9`r65`P!YxElH2nnYHWV zH5U%<=sK+J^j{ZOxl`7u+NSdt`tASn+^(cn4c_e&5jt$gD+3SC-LbdRoL5$l@6w?9 zRj>6iPxt8kY3!nTtSxd*l3-iETgo$Pj;}>G9$I_2vsr4ct)eYyGC)q0mkJ-hp2>Y9t5x4wPwoxk4e(!T%Cb;hsSlV6ek#f5KU z2lOp?bxY3%e_xn$BJv^E{H1rdU48aS%C-f|T;Ct!RXAr2Uq_3@o$%_Jo;5_mxUjk zTi(2*`|IluyYI-Z*ZXXZ`VDUvkMqCyNYNXXHEkBnZa<~wpu2z6pZWCf+YYDB-u~wF z!{3bd|0=r6$}>*V@%jg=9^B+*?Q;0fWkF@jR*#!F_|rA@Ret{0^gEI7%ua2#{2f~A zd!hMvA@6-P^kk~JL5&d)U0(S0{Ap?1uP-Wiedw{B@87xFsz=o^&rU4+r^=2){{-}3 zFf6Bv+u|NBZ@9;ds`dH8($uIg8pPl2KH*xMSDXGZI&4p$x$Uj}KaQMv^3vQ7y)XRf zGBPMHfA(7gU(d^Zsrk94O&#kzj2-{}gYTSpXwk0vt>64+ONX3h56@ga)YPC`&5L8^ee(37$5u3|+b_|j_Oa?a z@(z6T>dH~?wqM?0b;PATt8chH^ZMe)1N(e?q1x8NKejsN*-p`{-aE%OE+0I<>#hZ7 zYM%OfbC(R)*ZW_X`rZ8Zdq42p$(d+vm+b=DD_w3MbcQk+Iqh=}Q8wXyS^v;Eq&wcsb z=&8HvbhvXdDE!QZ>Z5L~?%?S>Ie~iH&b<*|)W6NxPGqhpu*8F?`LCKUN$) zG;;XE`|78}9&2V!-rlZnM%tu55_&$>{r#DLdYsP9_u9Rw#^oJH6MJ6oxcJ4iHy*t3 z{g@_gX5BeDq~jZR58i#K>DuYRV@ry+clFC~`J(L`)uX3=Q{#zO8t(Wy<*9FaB`;bt zbmH6=NBU-5{@_)YFYXLk>k<@j;N8{jQa+xzF{p!QCHmjjUKTE2+kbqi;AGjstO4Kt z_ICHrZq@wUJNv!&KKt7B`>+j161uz0ToCZ0>BU1)1K&RSO2^+erTyl)_-tf3x+7PuG6_WA4?Oas9$(Bx+5AQy=|IL8ex7Hr{FTAH*`cKQX1n!!$=hq)SYwZh5Yka-+ z;9HzFh0Nsm<&29?mm;Ix(Zg z;`;BNIz8<1VC$5LM~0U?(?0C&ua0!;y0v_4jnt#f-TIWcJbNGeC5-Do$#2BAb`SY2 z3w>zOo9;uKz4Ogtm&qr7+`0Vur#EafMXU1rzbilPqtE^FvwZ%Cdv6SWA}?HO?L0!Q{(dkoA2ydx};6er?IDBdM70tL*K`q-t$D#q?7$$Tfcqw zmhad03BSJSa`4&s8atbAZ}-;kZhYzGDLn$7+Bp2nh+12&tjqkn(HpCt{c-O;zks!_ zYkUsA-MPg>iysPJUv0?r-k+^q^>dw%FGtonGxI6`%Yc`Xc(qpV@BFZsD=(gSJI-O* zg}yV3%fY{p9ys7SEs2AFUQOvSzY>2lPo%Rd@y}=fr{!~K2l+I=qpPy-x44r9=#p$W zK-$%P*#m>>vD)H01cTvsp7}VPPWfWMm$q4onI5}bS9~MEs|++4?mvNI-J;QppmTsznYIU=2ux>* zPXZ0BgUC##W-g#l0`J3vmncyBjyIOByk>!hgNB1ff;I&m2l^|XWru*C1f_W10-X%} zEYqc+6M*S^y_oqOoz`YM>5U2(W-Fnw2?a1rR^zy*xyn<2x1a~WrV zA`aJ7#!;X{frA)ZL5BeQGWG=Z2lim>0y-GD0_9A^4>}0AgmDq*Kw#QPLjGGp{eW{B zXMkFOQyE8r4gd~fYz6HP?912_^f6!$#x9`!fGbd*Mf{*GflC+{ftrB}7;go|;}q9i z#u=b}fKwSqfg(w+L5!`Ey81Hq1nmHS55_K_*qh>7AJMjsook9K_fP+7sB9u_tH`U=PMFpjb9`t&sJk#(7X5;1b3~pxuBA z7;go|Sl>05aRz8t;8ey@pk0827+XQTfPEQzf_4V>VC(|g3AjSmw;J@_z>dHrjEg|Y zUImQldwZV1xr{SF+XJUEjsk559K_fP+7{TCu_tI7U=PMFpsj%`U~G~9_}2=!gmDol zm4^bxTS2Kj~k5`ZD$eeFWHpu?r~WcLnM@Zfnr_kPicw zFsAd69|A65ycN^~IG1q-D3za7#tERIz)_%$L4(-c3W{eGuD*;tK^p>lFm?fL09;Xp z^#FYkxP);LXnkO6e@IXIzM4C5F5?VPH{evpQJ^?u#x;ns6%<{kt1n|uP;`l|9*kW; z>i}1vy%Kf+MbqS3!ng>O>Qw>bt)Qs7uDOgeKv9)kQyE8rqG-DYF}8xDsJZ$w_5?-N zyLvEok<_)6aWT_Eruj_snC37|W17G;glQmC3sY~VW~S~;K}34IaBFp{?{E&Db54ldh#?eE1hL?#KQcP?_nP z$^J2vQMlH!e|`sv8&l>YdG^TXXxuz69HMVrU!u&amYjXT% zG|qHov41|}tt>AFjX7QKu{=*S_H@zsgydgj+>Y&a5S;^EnarO-6#&;|#tGFUPu6{B;dYbfjcnngfU0PAb@llZXGkMTn){R5@{6vmwg zNj#6kmoomF!>=7I{a0~*TKy${fWzNn+>671J4E{DbNDxhO1zK5FR@CznQ_!GiN9qW zj=>LI)W4H`b1^ugi(V)td~k%sG3@U#QsU7Z-x9_{7?(5d$mKU}l;p3=`uYY+JcaoS z84qOnAx}vE9UT5VV;WD8J_)0x|5EmMA0u&9_RnXW!2VHVrT=lp=5Z1aVO-950*5ag zFZ~a)f8hj)|5TV7TwD`XcuaEW^5XF3i4woS{`r$6ew48VgLt~yp>5NDKa;9GVKv{a zj`B!Y&2KldznU-4W~}D7Hy{t}+Ldg;6s_K$?)8|8i5|ZVpvMECj~>%G=z2`wWzb{1 zpl64t8|2eD<9hy=4LHCMADx@6=g%?V>jwGsaa=urCxg5Sga1T>yio>!dTy?lN1v6| zV~la^@NR>Dk^v7i#7B9pmq+6#J+5ouUu?kN8{)@U#4h|!1GX6A``Uo%I|%ytXBhmc zn&|z*4F3P>Gpg#Ns^SpI;JD~;pSWmzvr~TUG&n}w^CwS}l0y^W6B`kW?~iN3@$GSO zAD0pvjAKNTOu_gVye18wo{x_WP6$m5jfD@1mVN;E+$zEbPfdxANsi{vt4e42O;|({ z92$u)!badbnDL3>IN&!qLeD^BWxr-p&6g3`@Snlo)!@okr-<4F8K8x zm48k)7z#x|W>RuuSZsnYilEvzWMNmf!q6e`H+*$g(+{6=j|dNriHH*{ID*w@DsG)h z@rlJ3K@nkS*o@$?s2RbLq0#z}*2YF8N5zK+$4BadlZ8Z92)6+LvDQ(8h0(=9+`-9n z5+Zcmr1I1`D(^yL^?qbB&QyC3EsEec;c<`8ZmdpHtWN@J)U0mOZ)##F zszH2wOduSS9UPI-j*iG_M@M9mqa)7kb#(03%iGZrrv^JZLZw7!DmgkrB}Yf7M z937#Oqa##Oj?#jTB?u>MPhbUQspsPD?bI3PdpqTR)W?}~_ny7S+sT%>N>#_snWJ>> z-0jg`_S`I_r@@)aCrZ8(*;LWk*-*swuC^lX#I;xV(N0`Z@b#`-Y*FypRc})qQm&kZ z5*(eul|`UF=ml#g8m@QMOySJcr-u_)6ewq|y}XsHuJ+Lx(fD3G4z9Lc-Fo`^_V)39 zw41N<@5OiX!AbVwlHZG;l`Ov&|K-g;?qCX31;bV`F2wZClurXhGk&)(DS-mH^Hy5vFtrnIyumPSNf_xsMdl4Icj3B@O6@rm6`e2FzPpyWJBq7T2~!;i9d>_8shzCW)>jEg2AiO>RMS1Yr28y!b70dp#Y(f6* z*q`bvikO!f6w1R(()OS~JSBgXTw@o~x8SYEjK#0Dot$0o!?DCgR^{(HOG4WB2V zOSGF2iHViBn}Jkm&G_M>d??WyNVwYme z)vgyHe#$eKu412rUAs;S(U0^aUF{SE{x=u5qwdx$vCu7>UeOxU3YIln=PK_r{cj1T z0*cj|e$ajLC-(8Ux)WCUgN{nz7|t(~yTl6=HcOnNaB)4s|BAw;QrbpD{PTC zP2oU^*C-q!@#_jFNW4qoG>MB8E|mDV!rsz;zbkB!__o4<5;suwBSd0Pg-tR&7KOd* zi;zJYmi{vpc9(di!WM})D{PjyP~kjjpA!n_OZ=e*3-qQach23TP>vOwjvPl0f3K!QA@&_yI&h=4Y zi^ORPnms3a3fDO5q%7&n*fkNO?sHr%8N8 z;T(yZH(`D9Bp#}8zQp4d&Xe&aD(o%OlcsQ?Y{(P@+h{WXz zyGwhj?^&D75_h6W16_quAFINpQvNuF%Oy@wI6=x^u5g;fn-#Xm^c+^$B+KIog^Oi; zmlZCTxE2j;=qi=@ZC2P_hWAm}Eb$Q(EllebIVY9Sv zvcjgCqI^HCaGDIiN?~{D|BAw9iQiV(TjIS62TJ*$DV!kfQKqm(^1IUTfUZD^eH1p! z_GzNRA<}<_!U+zM_nyL7tzO5C`m-2lTE|hq%!le>V zQn*~=ScOeeewxAwvcFrcu(vFauP9t7@h*jnxx6ZzCd2=%aH-6{D+(vb`ck7grzc0^ zM-q8 z=SzH6;RG4}Z-w(^_-feHCaye*8z~$j!?#kH*%V3Q<(OXVzk#tI;~d7L7>6?sWBfYf zWX8`jewuL};};pf%y<{$6vp2(Udi|`#(&*q)K3K z#&a1z#yFYr6O3PBJel!Q#z~BqFkZrV9^;LSGa0|jcrD{2j8`x|%{YVc1;*jrU&~zME-a(-o&^M;~9*fV!V-Y0^{cy=P-_8{3_#_jNfFO#<-C2 zYmAE-FJ^p(aU$bOjMEw4X1toQ8_(~bX55akOr`BV9wjHo2S-N4M8ulHeWLM1Hjwro zL?lNfCMk#Ej!ucuv#`Nnc*Go2csxDD9q#{RFg{xymu!j%3y%s8i%kj+j}YI!wmFCg z$Wft*c!nPx7a4EDr$VjRaS)r3k{l5{1ENGwUb@n|i*JesBci0}X>q|3sT6XIA35N= z+0l`67~A^_geX%I*n7;dq4fNj5r;&S!O_VPu}V@z7!;9PFnq)lf1LxRC_X#_Y6>2h zz==yloSr9Ts(}R#b{rIkkJ#}6y=-P?TRJ)gM^bVEbva^Vb#Nr+h%ntFf7*W_H-Xr@ zN5{>=IwJN%V4r|pfY_9nWJG{;i(InzOo&H*Ck2DY;GRgEP-4Z?etVzU(Q)DNvyuNY zOe*Dia6BoQO39dIvkkD`RKcN1aovK&9s(b^M+5t2bZ%mc26ijJb?6YRf6}7pwD{PF zMC2uDNf9PTC&W-0lN?;kLtD}+TMvxCEM4f+oG5xIXTOUNjh8G;;bo}vbzhgKYN ztjC@L$dQQ}2+s1Eni8pFo+WAt^HU1Yy~jj{i2;D~R*Z%QTm@`NLGI|>HKpvGX(XX4 zWdgCwG7lz!M1f*AC?xjJ+SgT`E5vk%9)6mFDlohP&qTil+UDdlT$qMGKq>$bG@+S z#26b2kDeBhluR>4XKp?{dv@#X%%evSU*(*N`5kN%p|D*90?@8^&DX$8^-J@c5gut2 zhQ@$d{$^oG`3Smz&@HbG&M3~&jxn#PYn$>6JKa@3T7HpahDQnj!#K8 z$48nIL*u5wEhRECBGH^2A8$^g9owd`(73qxWHUDlx}m*&I59vrhsQ@GnTb6qB_Sa` zG1*MnWU9oE6rnv6SZM%Xg06=&(++*oQ06!*ub+9Dqm#^YBNF3Lw9TT6Hlvj>Pn~0? zz4TgeG3pd)L4`o#rbYV1>ea(ubrIOdY2>H?mFX3YiG6HBXma$_mT+Q5>)cW5$~m(~_e!*Mta^3O$={$Yqv8E+vfWDvF>Tw>AP}UX*XM zHkjl5g>)`Fcriw{T(DPCvX-67Ezy?4?39!ok)W}~Mkgh~7B=}wCe2BwS{z-Czl;*t^PeQpv5d{frqW<#{$7-r@Y2o(NkF`whKF296ZK_9=mRnYdVxVsRvURrWN%#ex@Z% ziT~uQ!7(nrk+ean7S~nsKx1KTEeu5X#vx%OmmrLFim9| z#WaYim8maNPo^GBU6@w5aQsY5m=-ZDV7irQF4GLAsZ67o1~IiV^=0bG)Pt!D(~6oL zKhqMXMNA8rZe^OwG=pg>(dVxVsRvUR zrWI%;Mf^-lm=-ZDV7irQF4GLAsZ67o1~IiV^=0bG)Pt!D(+Wf`;%7?lK@g_%6NnZt z-O4nVX$I3&rcq3Tm|B_oGWBHY!PJFm#RD8a(-NjdObeK9Wtz)0gJ~+$D5gP7txSEH zdNTE3>cW)X8;2@2&NHRG*@WqR6{56FmgrWdxlA*drZSCU8pPDf)R(CzQxB#tOe@g& ziTIh8FfC$Qz;r89JkJ&U8B9}|MllUyYGvxn)RU7Nk6C*;C z;I9iN`6#4xqyWKU&c+f=|D%2TJs$P-w(Z-;0K4*i`(i`3S*DomlVO)Y>8}2Jx082f z*pM!T(aeeWdQjcO^>6p>*XI3CB#*)dB14vw1jl{*_uOZ%qYzQyA@_0K2HHBf0D!d?#-DCt_ml- z-EHUyr~}GrCq3asp`Cxp-D3UAR|ZKgDxB@*EA!+}+*+8l_XaW-R6y?v=z<=}RMr$_ z91&GmtIH?@Dy&&gSgo0dt=TCurRfWs+!dNcVz@ zyLizI(z8-sWRkNGLHZnGrd*MJ#EFC#P}>R*YO?emS!v{<7X}%N_gldBu}E*`A#3Il z7BAwm>VbzInDxNZ1~LzSM5V`?-KZXF{_Y{Tm!9H<31vUBT_)a!%cQsA{3{Oo(5a-^M# zF&C>Yxc!)l{zvcP-=0C_lU*+k*6}MC0U-5LMQ9}|B_f1gAOYppzE#|oJWD~Kge+FN z3=%FfgUUq)mCNF(@&x|Q^F;H|@T;MLX6t!VVp~zQK zI+b%N)4x<|tQ@iylyWX1QL-+vvi5H)u2iu=l(a*F6zQl?m}I3YX@<$;G%KZQr9-C? z88g$*EVL2&elA)jrynb+V8t zsl-TebCGt8JWeyU%Gm_CKm#AC0Rl^ptTggKZG+g9^W50jWoT;^x0aYJt2Zf{DaiRO zYY&Nt0J%#<1gM`xf>^6tMC_dEpthI_NGFXSX0e#>Wg05rls?_NucG<2*w=SaCsm7>NxD0B zB($J{sGvtmxhxVQCC)n#ju*WRwSV}fA4I&7T~uomsr6r?y`lK4b9;|$R_*;o&FrhN zN?$sm=M{W?6 zhN6F>@S?Y{xahTaYoXcCUFa{{N;jw?j4iuX3<$Wrd=Gc3z3dO|{R#@;A`++4G)9FL zxokl$quH0zr~$QDD3|XRBbjBM@R04Wkef?<+4X*VkmT+I(94xJ!7Fyk-lVTe6WS$+ zP79LNi+V=Uxu8o>_DjELA^yYuS0R^LP$3(%lyM2uVxrPh6rT#!owpIfsQ}P0VkvE! zR&1pxWu=Oba+Z#UrX)i@j4))&i+k1bX8M;PM2QMb8WvN~H`BOw`A#*%R?hu&vXwtduvPine+31%v8#0FjXM;|1EQzPn#1)6gPN>i zW)#E{6hxbDOWQ(70dn7j0Wnzz;j-)9ME8%cz-l7<=k!4sMs;aJGS>asV3?c3@P23KI=N1B~(pm`IkM^Y0p~@Lr38$%SD8vrb z#0J^aVx!SWI?xP5+6-pQgn1MwyIv8RR=r>IR zsP-UG^mmzje#c>dRdEU-1ReBVB3yqcQEXKYSXB%Z#JECDDyZ@I0+THJzv50+qlbjL z6P3EE)p%Dqh_Wa90!oSUe-{2)kyHgj)rmr=Rj69^p>~||^buK-A-V{hMT)bT;3P{^ z)lDfx)xi+Rc=AYfXi;_<|5U8ZS`1doYg;Xmv)sdiRSc$drFFD)Ek$5m7t&ATB`s)B zoM6!^Z?KuCiuXZy5umrxa?ErJ^ieb`7>hr6xik zw;=&3<~BfoBgJI-@72mspuT%j^Vjr?=uY`O7@h>A(tlXM8(9AY6Q|ss_#(RU^2JauN=}1G=O2&U4_UdcnKPUQA z6JoDFT9Hcif7GVGhb*e9Ti5hPj&t5Z?~lmlZiD~IOwkW`Ss&Zj&huaCD`&kJIl{^+ z3YdSX-oP}Z)O?X0=>>s81&6tLRvLNSBdJN6B+6!Q2Qzu!BdpF$YL$c+tu!;i$|4P( zl)cW(WSf4d@@KP`-RwjgFR*`>#oOMTYJ3d;%#^D%{=#T3(~r2Em7gq259i_2FN*QF zUIyl<+KLqQdq`9TwLMw9`o&{()gG(xf=y=UJwjDB|DyJsj3*~9`rN0t_N84#^LJhp zQGJDRp5A`W(`#q1I)42!{fN;v-_ZQi%P~j~sA$bBD!{lw<*rkX{OoBOU+(kr(Av`zK=mcPNnzbB6p4#-|`1R*ku>yt|^(Ne`B9yB& zjTF=-HjXPg`ry-a{4yuR_zfARQ&_aj`cS->iPVWzlq{F@GY_QSfGv1Q^t{^#aJoYR zGp#+)fl{5817?w8`}G0U-)m)LiDR3A(TZ)2O^hLBbwuk$jfO=u8e&07_V*?@>=CVZ zcD)YOs6(QqE7=69MMPU(iBw>+N@7$qL8DkqT5Wmd(0&{9OK8Lsz4XGG>vy|A>FYPF zVdcou67(>r0t;!LYL}Rmlrk}Lk?trZ6lvKka;IrsU;h%fbh{uE;l-0vDq*x7CaPFT z<^hqy^oqM~I$KmDTZEIi?0U_xaOzj!SF!l+IVXSAOYBOSF`& zN(-`!9v{LEw&B@bV3l2Sp`2eqZ>6Fdezi78$x0(B_PM2RIvm?$=lZJ*k!3^H7TMU# zMFpFZRmqNiq(*kV?{M!|FxaT%RH398BEUX0?Rdg7^U%K(jjSQjG;;DQ7-keL2SvJ? zCOQ** z4OhQ{AdOvBt8vl>NIMmJo(e)(DN1=Mq_vX%C5UhpZud-fkbp%jSs2Bl2d$uCR-w#1k9a8kg2eRijpFiN0{!n|1Oh;;q&At`TAQqix1rXo*I78C(wj#nRnG(>Q1T?yvz}LnUztAHx0@sf;+0A6P>M#QWoPIfO4}e`-0L z`FoQYaQRB&5I%wZsbR+D;Ge_(J1X&)&qBnvgq(&?p!NsX`%+efE-zko05S1B*~9`fqKdWFo#?WI$Bw8B@x zeB5q2<(mXP_upi^TtA)iEdiek^Km=slZ}l&=liMl17iJL{Bh1o+C8JlWnl<)d%DxLlO+a=Yu4Zv*(e|CD^|?vdVu;M>Z4 z_pUH7m{4EPF}kNX3s z^45Yc#6`&M87_>8RKX&iN?$tnh5kLAr z!4FFOS0RLO87Sc+pqQw61%M6)J&*pF{C@-`|A#?G1AmWx{0Y!#&@rGH==l6W`+yDs ztpV(&?plBn#dVvlHZ3{XAG#}$bqFX>cK{tZ72TcP- z_4A4b#bUSD1W?jz1Ssj{1=0^&OWN_ZFJ2vAB_6Hu~;E2t0Xm0HqH zZ-bJ5I4H$G0F?A>4cZg*wu{MR0sS1b2k2{{9YH&RQaol*iuaqE5*L9IzJ|Jm?$+xS zP&j$51Vy#Z-$1(n)8kl@`voY;`55$3P$%QX`LP8q*M_7N%yVCZ?s(pTZR~ z&10IzG=!;zshO#XX(+(Lzr5anwf%#aP-~>eNR-a6VP|M39EVgVWgAxud8wXG=w9p=EZ492Vpf2 zLUSx|2;AvP;qYo5;dzul;xCrorbD2F)ja<;@f7lYPgZVn%6eMJ>fvK zr*zfk@M>PUo%Ks#|2W2K-nWYR)jVwk%ahVj##mo>cJN|Y?l>OB__9~}W&3o4}e-7(EiLsiO1~PvRDg#|}@FRPudHqSoYMr5w!>e_P z5{_T3&o_jxWAG>0dim!J`V2PUa4_rnsejUA`o63l|87V> zeGgXeU)|u}*`S|zkw-fQMSnaBz2PGc+@T|12uLn*0t`VuXi50uv_fbcu!;_wUQj#FN|?LF*e+a2{|3nV`1D9`^*POD_`L_#M2h5Leh=`A+MDy*FGG^L>WYfG7-g* zM&j%c6$y?w5ogAjg89H0ajq1dtwP+oPm5B`COhEezFEPMbf|_BL5a6_l?n+9i$f>L z7ssgL^aNW-sUDq`7wj(!6CKx(6s3t3MyJy*Dc^;wO{_TaQgbKOP`kuQTS_TW^5|S8 zo4Ld}5E_#dCJ*;g-#;Zm_&8@`ggzK7rXBXAq>HSedn%MPj6-y-)ovd`pY*zWf$)3dv|&0^Gs&xk7X7Uy+d5tmFp^f zXk1E{!ZiG+ABH#L`nT_Y&f;+@$wOCcqVKuT7y=-Th`Q)~&3k>f2`|BjE0qKAISi&8 zEC92Y5+!J`%o@$j_#LQn4y3~7V|Kc0HniM-$YsTr(~J0%hqpC=*#{=+*;1Gs5}pO|CSsx6!;GAzlN zXx`R=Trgi60a+wAkT5Rdp&#joWj7O+*#7e+-j~V7Ad=oHRQt8E44C%Q$#*>|Dyw9- zW(uw{(g?c+@P-73a@-$6;l+M9#G&^cjI|EDA8Xa`9}#q(*iRG(++%YFZ5pjDZqw(uV^adnG!Ym+*!?a9U^hz{RW7^zQ`q&P($D&Q zOoqm0iem8Y8IJq&_?e)VdeI6CI=p@3Z``RJEU$pwuYe|!l3#7#_ygsf^bqepEw}n+ z2K*u!XlrujK&#L(J=Kbx97CK6whF;m9b&0tmjt+#`F0yIEwDy!XUC!U%V7+#`&*_ciX< z74M&mwpP5)24mXq=Qa3So%+-J>(CWeDMwt;(JzqANcTawho5i{sWiMTY?Ll+f*t?8 z>|^&1C$fOrc$iGIcIRz-iphtJ#_eFKy$_kNRE8foQiD7ri)ageW`&s64L$l=2)3GeM9J%&``ug30`otqfM z`v$mtVJPB!pP1!e@Wns}Pv+zD=v3ZX@F{s*E}inxJ~3aG$K}&0-!I@(`yaTRI_0B% zVkOt)J_#e6&w&EAw&rb}Endi4`&*mvg6lv`?&v`MA70<)eLKAvdJ`xLiBsqkUpg|ALS9 zi6t-}*8`{WXrEXC^KpG};7dY#(FD)8qd}`-dfN=NCGcqgtf_c?3rgWO75R9E?`X04Uujxj(sg0j2b{VZ0B8 z8iQ-E08ltJqw-6%7bvb~h(lm*ewrl!BQIT}K-+_cfVKk-0&NRQQ`$D5R?ya<7SL9p zAQV5hl5j`55Kj#=Q(9;sT#A203z_CIO=B9u)WX!v)WozD@!+;bA=5mjX-q?yT9}%d zf{1X_p$DBWr`D%vKZPsuPOUG!4nFa`7H)J=J40CYU-57wtlIONj8*@T2S4&x{lR3$ zs(pveguiOfzhqnpJR-HtNx9KMHF83XAO`J!s^<==|LG2 z*N==t7%x`-97a7qH?#i{_D^HH3sfiG)B*l_Jj{Ua8gRJ*_cP!>Axtl?57MK@tqu4= z1Ahwx{@j2`7X8$<$Kbyb9(w;2gFn?by?;Z4{#@Ubc++hIzX>bav0?m#k{0{}{Kr~H z4HnNf_*-adm7jg+`G)dwI8|R;{@01oAIo!o1#@2FBPKIU_+~(4D1D}lAB@su0P)yAThi&F`znHZ_GL>YK9!&> zu7CW(x;c4tVz0Giz}e?<@_P;9p&HLll#TQcS2#4;QKiDbO{T2Gi$Xc!R!&@S=Hi0} z@nKr3D0c1f3`ftiDa~m5IQ<9NIRoPQpPb9-)3bXI`G7_|pNWZ{>ik?z3?JkkFEhm? z`q+D(%jxMa`Ml8{(4{c-v-IQU-t=#u%LH^IDcCmzc@#EiDEeh;cpRV0-1A&cC5IN` z=~|!-;3Z~tCBXmtJ@*J9-$49G=g#>3*URoX zgjmzCExZ=cgemioIK!qT?B!QLPxa1I6xwQH0`d~eKlCoX3l?o@(NiwkQdso@?l0aH z7{fNI$_|Z?zEFTH{x1|E1(D*Ve@Hj#!E}Wx1!H zeIWfN6h!e;>ziUVAFF2cSc6u^eik8i(un3Tq>Mrdm^i*eh5fF=~Z*+xGdV|@{=m@FS*X_<#Aor|{ zT(D;rS&?h$zgNd{bGh4cYGv^BYOIJAi&S9^Gptn(+&x=Hvne4hs~``zB9<}?&rN0S zPJ9IC;WXl;OCIfjXGgm+mHI~a`v~_X_-W@-@VOCKGozP(g*j-BEn}wjep*PRnYMC~ z&n3j+rwb~Sfw06_kOL+i)}FD@`lHR11k~vy!p9p0EEol8&kVcp!p1|%ol2{eE6Y%A0b*7Lyd+c*S)gQC=TuQVZR3^ zI-NGlYNi-61vxM4x^NJ+9(U}fum7cP%cDfJ)yE3?Slm|iUubKq&}A0lqsB+q9LQDe z#d+{5Gt)nQVx@-p zwx+=0G?8Emg;fVB*uK>$w;oQTpma%HspDEg^JA%o=*MVufD$L46-!OUV_wzI>2>@I zS)|i36-_^xFu_G6(?Pid#7-Tlh|cyn9|cE$!f%$zb_mKu8@KGQvJ$x4aF9;>SXnTd z2%!hJgbu8|b$a7q*)|j`QxG6eiHK15=nWGU+O(kd)U5+*L>H0s}zR2;FZ9p>zF{m@-3fq$n=on_1CN-d;hu=auD3P8Th(^f}ejqVq*Gm)O zpLGcT0lYt^WFcoJfoIS28jG_rmQaba#Y>2!H+$?=3e%~i?QSR+NBjAo&kS^tmWS4s zK-f%;g4)VZJhJ%;i*tMO97MZlOw@1VXV^w?kM=ssuDzx)vudv+5SL#;p^8iuuT6$z zpuJuy427bA$JvyMzE&5vCBv9cZt&oa|GY%D@+>0c_Wdf->Q`{s7@?1f(4l?zP(Grh zMO9YPF!Zz=uk!)7I7c1fQ9S4|tNmF(Gd00nRYacCD6Ag&s6zI*VACCzENWDBxbl9X zU(i;V(ii-KfLL`#)*7~alvR>(GQaM(4@&JJuvF7ObiLm>R(Q&->!7ItS9K}54cVU_ zp@@R3GJFLxL{z2pR14ZO^x|BzQZ0f{Bw8j(v$Uj5Wq1-fI^} z(<~V-ja6!s-`l|jwTuiZc|>26HOG?a|E&yDSS4%Rx4jRzt+W+2p~76LLS}19YOqm- zSKxs1P=aI*km5@;6^w~_O-dRdBt;t~O(03sILZm$f9V)$|kIzAs-HyJyUWR~WJ!ELvzl&&Sc8bG}4siy^PE(bf z(G&(hRbFK8OW}Ch!XpLRV28$r+3aR3`f&%u!Zfz?%WNABRQnc4M zNG;Ri)N1R1+?G@|R=*h7518aTM+-qD! zK>#aP4kXUlo$L11h_qC4ZoSrjh>^R#k5Ki+Hh;67BZox=yOTi&N@Xxi)fErN0x#z` z+`m!jd2WB&Uw6~aRB`*j?%00AzA>r4yIwin_|IL;?*$JGVzIy|wgc?7#Rl7YfV1>? z7}7JuK0UI^C7}PH60)+4@IIjg!Lo_imHBN@;Og?oUp4=FT zsm|lRXnsnuK@oLV8$mm>4+9snZ+ zPrIQREs?6R`0rRTo-VEU>X zD$)m7ls?0RKDCTPb$flh|3~_uoyFcq-kV7KTB*__RY)234*lOckDhFq$C>PQfoPr7ir3#RmQlMoA&oso2e>pf5BUYXmBatavHQpr-B6+S| zE_Bb_mw?3RONljeX%w8K^+lU5S+aJLv)$;^L3EzfRu&v&TP`J4O3L)l0nmIh^gd~@ zcP^$f+@Iy#*Yt9jxB%i)aE}VZF+;QbPw~qQiw{x?^j(e`-+AjR z8@jd1$20W&`6b?`C#E_jV)p){1YD%@c0vgjwo2HM}|J&t-em%xXdz)aF3G~=UWx}ryQYKtLd!aG` zo~E)Vr3SDLjO6gVL4o^h%4G!p9EGO9B}q{q03W-FIM1gGfh`ec$Sy5fVtCiOH=n#7W-Ql!cb4TJDS zmLgpWE&AG`<`1f45-Z?jT=6|awYZ6;OEYRa4L>Qhav{?!5mx@q`Y3plqr)Qa3_1X8SN1V7KeJOtC2zkn{<&7(aFxDt2h8}iyqjd^px3^u%Zf_YQoho%lgX+AM79!YgGlYnDj3R7PVi+uql+fEv zSGy{0Kd3zX-yWYkv|p+yXlpvQ%xtSGkK^l+T^~0Z<*obJRfu4_HV`648bwUkSyC%f zy5(jeLNI05D@N<$S1{TrqP-BIs%wr;puQ2*Wf3|pTanYgBj?yZ6%;|1U0It2tjgLz zp-rw)n<+B>O3RuM!8W;z;ges%2BQeMoTL&&N~p4?O9aZ9V|(-eaQVtdGVE-b0IY0z ztu`4V&S;3|Wzy|!$q!+~7ZGi(An$ddC12-tTtvrqUoN6cGDc@#kVs)=_sR>B>OY;V zC)ny%0YurQJqcK){bnsn`vRjf|FiL?5X`B3MF^%-u}`tkTw8sPK$Yh5NO~LIkJcqzjp6rBQ@^drV5`Q=v;irR}k;zH94w)W4KM zlwEpKfmM1&3T29n%G@tKLIkI$ju7#MQG|VZNQwWN9*6OUt^A4n*N-(abZMH4F4?c3 z#Hi2)QsJx zF|jBvTSaqLZ9YV*>n(wZOLV!bE1w|<yEL7}ziZ`H9VB|6)RV?}A)FW){yet9nGmnU#FL}@XK(xQ*jo(-Da(6Es65J4W| zzsZmOm#cl}j2k@apVaQ0IcQ=c$h|Ibz69wh?t`LlFf(RY=$2s!f4uNiS7c6MUelcX z(NmR-JFNdw+2IY%YoDSMr&&mc&8i3HL>6@NS<)j3zZ3Sx+)Qi#MZhkSRCBcdS^87 zG0a@gFa{rJy>kv{ILzs9-8Yq4pIy05UCD=DtTDDjkO#3kFem@RIfd(h<9wKM1zJUl zsl$=ppS$RxeCw@#2CC3{Yi{F?ZkX47(*?QlMdOZNT2l1Y%zT$PcS54=ha%C^F~dT) z3`3&1Z>;9YFJb(_e{1%khHPM$Z`r7kGJQN>^c39&qQ>6iD%_Q!+^ujE37hS1s!ZU} zze=k;&72VNN_sIGaY&1-VBijku|d?tVxTC0l<%dhv>OIrtM7>}hu1Itj(2sNa2Y-1 zA6rozu;KqWs|p{I!7m?k{Z(@Ehy`jVMq;vG#ZtBr72FX@{@6SByyEvvE0Hn z_gkvm52d@Er4q_Wg(K<@#6$UOx$DcflX-PcQiSm3Fj3*gGvm_td0+Yoa{^*78tiql zlr5=}wQ@$>`U9u1%Ry7Zc4e_>-3Y)uks=)!-*fhRVSL$Bs$-&u6*7!fJj0y z^%3*wI~3_Ld5{Rc`toEX9QgOI~ zw&bWf@Q=ITv2x3uV+_j?o{b)i@`Qdn7-iCPuZJprnrcIj#t3<;_}#{L1$zztD(VA0 zAM#LTKc$rA$$Ggeeg}<0J*}Qo#UG+|uIEo4s`>Pq^xW;Cir=AJ$isM$YI`tLJ-z4#fP=Iz(x51j7#&)0E(;0(_=s9yPg zmgn!TW4~LSDW3Ows0yDhx6q@p8lEbCxAAAx;SU?%yjf*`pYdDj*l#|^Gj6EEA2Pnq zqvxsC-|Q{cYd=`=S@#~d;cwBy=dtz;4Tak0^UUAr$7%IO}T54YyN?k z`_mZV?UlX}FL(DCaynyWz~rpFtm&@K=h<`sa+>YyHaTlQ)zs(KyK4g|kF}#}%ISQb z<{x{xhsOwq&ga=C}PWQNNIskWXMXuZAtlF=s?;hmVo7`CWK=-(Xan=^nTF2cS>)xXm@Wr^m=IpGI!lPsdL;-Q$)%06E>`HpS$uT~{-nb&p&30m$hd zw>>6j^=wUjy2mZ0jnh11$>|=qDF+~@d)%52Ku&jYnsU9;XL4he&vzl$@}FMcSo!{8!iU4!pEczcA=mKVUT!S^-HKfL0OamLZl=juyR@de zk096dn0I%q{HJp_cA4B*@q89?tL*;PvE;5nZi?NbYVFpV{(Coa`%KQ-uQla9joj`% zJ{;DLtts~)aswqVXYJXVa!(<*$KxRB$DDH~o!wf~&#h;8oxX zjvu`O%t8;*UlILYQ2tp1t^)sXW-9d#@Ntl4%;ax?a`%H~-ecyAJZ7eYuYrG%@t;1! z+uQ9iGYfnN{AM$MiJAZV>E8SYpxn9A=vNzkg2&9EX8xyXUhYOv`c@dN-PhR9TwvyB zn)#Pc^Kx52>Cb!2tTB9x@n3KJ@15%9zX3}AQyw$@hVL?b8z}d$_VnZl;B@Hir+AzP zivLZDs?mpm7og`$Cwlvz1rNgh`#ok>n0cp}|2XaCz5`0`3m!B7 zVCL^P^Y@+L<=zEKZobFNYs~ySGaq7HMe+3+P;x7cUS#y%v$9T*fZ1_0iMdCjSivM2l3g{ca%fb2J8^B8qPd9$r_7Z)4(v8uW4PGx&4zOfF9TnP{42mK!I5L! zy%m}5hF>)NnBh$zpF(Ceh?PvI(Qh^SdB)=uKTm;*pMufdMrXk$_!B^qDzlxAg6NH) z=of*quK``zzxidJ)_wD$zePuC8T>my$^AVjbKP&d2)fkS__eQ!sPsDnRJt4n%Dq1}dj5l;LFr3@Jefz1^zMEGR6OWD8~I~3sQiBscriE`RJK*_(-_zlJ%CDV)lV^I8A;Nj3mfro)lyvU!g+5t*#9w@md z`FKRDP89tVEN`M(JYszX3%*49flkM&D+1-e|R@r0>}VFR%00mO&4I zve#$k*MZ7!R~tPWl)a0M{w0A>{BAYWK7%u$uLI8l)1cz}@k4$3eI1+weFJzEcqw>2 zcs#fi>^{W1zYbJ5USsrmM*m?VcXlH81StMuqpvmkN~2$6w9W$iJLF$scqAzQO#s`# z|2f#-tE+Wu3fEFldS7hxK}J7?q4>IQQ2hVkXCCzT4Yz~mK;HvO@29~_LEXKy1UwRa zJGh0+yAb?1h|y$CWJ*tu;mg3cK>vZvEc_;@^eBRo|3`2!bl&Jy#_uxvT%)HMJxDsC z^3ZO>4#O71v|-9{l=PDPu;HL#w_%52i(%R@WjIPYI{St?*Vegj*kRaWm^Mrqj*`yK zzTu#u@`cPh3|kD-hAG2Q($(2F95n1U>@aLGOdF;QM@esI-*C{d+pxp1#V~D{G8`q5 zoPEPV!*0V4!xqD|Vajk6%g(;xpkcRRhhd9h+Aw7}O1krU=&<3SVYgw2VT)nf5ODTp z?dkiB4)ei(FgncN9*6%WALbkH z#2wKCW?x5EIr=EC@At+J^M@}pI?U&tO}=sR)Z=XIy}2LeTPK)*!~E!%%)hHncGgo`Gb{VeMjvbX!hG&L^G}%HJICA)^Lb}j zd<`pLJYO|B%!hpwa~FO~&&$j|`8C)5{a|zbEMP67-uA z`nwbSe@M7@CHXDx-k}Nmy4NJmUzE_dJwfYowz$07J#kv+y2t6uNv}A)C!z1Y1pO4k zarylTeYYg|pHKK_WkUXng#Uh@pl?gq|8l~TCZKn>EyZ+b}d&w zbKz*)>#w@TU635zC+%e;(%)+8N!^+n?wQt2sPQ|Oq<9 zResl1*~{B&b0f`l?Nu@Gonm>R-QOI=E`~0;6(gMg?Jjh77w78cVEJi*H*;4NhbyrY zS2+7n#tm_8#k%F?OPNQK2E?zr5 z+?(-&?lqr&{sre=kk;ew%}}!-eyw?`*1hH$BT1!wJCb4eG4IcqV*MkHujmOh%{>iO zF|y&G1HC`v1Jk^`^vUi_`ZNC{qZfF8M$lv3-_++BjEq0#-NG!NUgdk zmC|}C4d2Y=Uk_b~=wIFX(`EPqAKQPU{X-m?qWcVb)k9_r344~*w`6C}{#@bjX1WU; z);+aH`W@G8Lh}2q;%5h7k@I^M>O$LN`x>`5aIq}M{`73;L`=@(ZYYXXb>4>CFXi3$ zn`iC~&eZip&xWT`jUS|2kt%5r*ZXOGngD3*%aMf^^y(aMo%uZz4l_pLU@|iVWKZsp z2ALvP(we`rMcwv${b}s6TnImi6Bp|vyKLE$(4`XUiiF&*u8RF|b>rvhpT%ORWHE#f z_Q|(>XiQmjRh|dv_YWqwOt~XG!rsxHty^TB9i4-Qn+*qqJ6mscq(6K1Ox|r5&~6t{ z?Q`m#TsGa~OtoWfVS|go@@6t8nnCpI%D!Jaj^y3CS~mM9opCC2{KY#Uob|9N^@OsD zDUMM~#izZBU!NisgGm*SQ1swozvD_icX~*}A-8?2SA&RgV@}{AM6s*Noj0@IjUMO5 zmf%L|ZBp)clFjydhLj|gC*WfzRaA(%9zx38r7{;eO?O9{jz&|d1rooY!;bKEUa4vS z8A^d{@yn5YE$k{mMf+w^vcBnS6N3QWlF5`RlXTg{*+-B(pRg*EN~jBhU`yIpjNSoDj3$qBr%*z9jkVHPWiDCq zPN(Zzk*=Fem&-TWC5T>o*GAq!Hrn+JA7tnE`aH!1x}4u!%}VAgbMs8+=8qyb5A|*i zYCoXQuVZ-lwVSLt=UwOQU8Punj~R75-(X&WYXT{5im zTO!#co$K5%Y@rOPv)!ph|Gr$|rWQxApBtKddQ($j-44%p5jEnXuGQt~N{&@RE^k+I zRH%iIs*>}*GG|I9XGxipuH;eNU&rsVeB^I%S7P%FcAkqD{XGy8&>YWcz z8Q)rsQ5D}ZtndG^;%npH7H7BqktwumhvmKK#F9Gg-JPx765HvHs+A{mJNs7gUCEGF z9YJcZ9p%^g<=0&Kb!Pds*J z%b!VUE}Z5JL#9^aM}_A|uFz1SaRwTF`Qv?aqf3)=TYDHchAUcc|AykN@09lbNf|1r zZ1D%!ab7Il&cZTWA^6>clF0Wd7IQuKyU1+peMW`_Gjtc|{o0v0Zw?2JdUWz_n-92) z*ssTI7PzR8<8t&N`*LOT^at|a$vw^CDB%#FL43jgSDf>+E^lhQMN8hw4v=!5g#d$uJsaBIp8DDAKhE2ONUKw)$PeaMBfF;=su;!UP7d}6qVb_ zJ5-N5@R#C2Ln2V_OS5BED(&^$?>@44N6kfFRu=mw{X5;dY;huO4WFehorLkuzPY&N z9NO9H`nLFYfE=&)kHEau@At?3v{oJOln^zQ_1vOFlnX z4$3>Tg8R*Na-2wiT1q$GFVHHTMlH!q6*U->?;DkUSIv8YG_6$=p!JWyBNA9A$GyN= z#H0z(Oh#b01acDSaZX%rTol25SX@6q)93urv;Sx<)k*2T>{R1r59M!{NWlquWd*0w zyIgSYdv6w;XBDKv?LNz_8_4Bf{JUJC-;?Sxy!fHq#*$P!{kb3gB6slZitk+BL*aIp z(wv)|+d2Dp4G0peSe!L)cViDZB^JjMiMzgC^1sHghctZG0@Xwf&Uw&TLW5ZLjS$Xd{fx*ybp3T7V(#I7MpWLn;R0`sCCZ z(-XOpCf9$v9P<&GcYYv1&MOvik00)oN-9Ly`(2jZ>5C@PZg&(rLpUJIIPJ5-JagKY z0s0Pi&feAFf?06EMAD~8Bx&AH!X*-zW-WAbN zN$<+<*1?K0{?*vE<#@06l^U`ko??QbrYF!EJ!<_GH zaQ+PmkS0r~oCz`HMm{KtX0;AA_GmpI8pwrhL-t9wk{6lC9TxMWx3!|^z`kNVR|dsN8n7WocD>zXA?`k@~6b%dj03W zRt~KW4xv9P3-S~HhY&<6dM??;N0|slR%zHj=@1tTw?*3Lk&pyhNxyYn&|aEHQ5#*J zXsY?%3zv+L&Xx+6tuQ^>w{+vNsI*5{A6T>`oR*o2R*7QY&gaVBQ)Svle_ zmXF^P%uAo5N(kzrjBTk)3qqCd!QQbb(`>=Sg(YMxGE8W<43zFxF%)Id2dQ?p_C>BK z@~rG~HKN&zs`igb{6j&Ue40}}?YUo2-H5ZqS%Rf(@$ZAJ(g+1BL2_0L{d1*Z=fqt; z-MneOuf>^;SrvZ?8>n%TiI~~hy2-0+-9+N8k}fxPRb3I$%<7rz6on>fq2FoDGmh?c zyF_$#!OOkJ9pA?L&3W7jF}$hNhkLaufb*O`f`@(ZeFeDv7gSBIfl;T#K84mqw)n{? z3bim*jrct-n0XFbbd6Z&%XhkJVa%voM`i5Fky)+Ouow7<^o6EXafO-i`6xu5=i4=9 z7aDP)baowE>xP}D%F;il{0(`^Ck0CRm?t#e@?(p6>gOWSUFm}+T#q%-UD$3{Sx)NW ze+A$`Qg>P8MnZoZw$IyDIEwYO(OFC$rM3iRBsds6u9rbR(?Lr8mSMBKH=dr!sN zx2{sz;W9&IE2gupR~5@G{$#gu8LZY1yvDB`-H^ZiIReykzkX?HEI>;j?ih9_MCSYV zI|=bLW&(N2g{5ahw+^Q~?|JWBTX)dV z+vhb96BUVGaDLwY?1WtBcWUJ83tdcvF73RSyNPzxr=-4r(uZgpW{bL*#%1}^(-`}N z<0VzPQc~rSy`*Pm7hEJ{x9^{DrP|Lg=Gai{ikEZRr=`egtNd|aZzysGN@o*~POLx% z(ZFAC>0!$GC_d8I4qi!oo{IU>x%{};)K1Pwl0q{U2kryZOnKQqJNu@Q1Bo?RDLTc( zxckW6oaPD|mRl$Bu>@9!ia^J@S}c7>o)vZBRybuo$L0I>5iT@3aC5JIDBH|+ukwqe z=cq`J$%fKd7EAvoN39{@-2Um|*qI#J3DsBcLhrWwEUgNP)d9WJJlj_|GeeN7YJ-vv z>%l#*#?AlAy;nr;S)O!WnIqQmfmP^NeCFGp)8OC69U8wXkN<7lJ0cH+YbKB+0VU*E#=nJM2VuNB;{dfc@$A8PhKmyUpE#) zpG>+ArkNV=g3-uT1>ZVYXY7pDZ{rt{$hUSQ)tzjr{*Ls|7T-yJn4SNIWkmOB&|F=Q z2P&GYE+b_Xs{Tp$Ig8QJ`K4}D@Hxv4Zc$LX@t*Fe%^DU zTI!FvudQ5{#9h72xq5SyeYN!7z7X_=l76UkySx!8569A0tyQoSXluKrZ8F*7`y#hK zevtDp%{`k_F4sRjVpWE4Q)AB;D4664EHECRLuuRmS6sIETBnn!VzhbVcK6Y_i-c%b zt{ZX5QI>tBbHuekP^`%AP$*}$Zf@*(i$$i7_GVneMWsM)Kh~pNPKM;`C3_g%~u(qv+E;(-s@Vg#1?(8<$9A zr)$U&R)uiB58*&#Pc{nSI$7tx%KD!X3Bhs}L$E}Y?$!?yL8KzTT;Xa^msH)1(Yah) z?Z6$*4;okZy(RU2G|XUBwgGZenQVd_ER$2h=Ml-L39OuwuaL#%plKT9zMb8hVUXit zhJmGhT);ahlk(h(ufT{p#LCsgu>Y6~Za~<-hc7zR;4YMT--9i9aIJ@F-bLU1j%sj6 zh8BZ}P=k9ls=+^lC$@e&q&U9WZJw~zLj_mWMstp;k>hiYHvh%I4hdoR)04&aQ3f&k ztPgBIkShI_pRc#@gOj>FdaIf{-lcK{s*aZ*gxbN|R+oMHCuvSTTU1xhd`5-KC1$0M zVxlNluFAP&-NWUr4GrE{?^7rZB(lei&c1(cbAH}qrbAY;e6gy$*U!Yat%#Q0F3N4U zW~q;tY(Aunto?u>ti;saE8*3JP)2T-FIh{+W6R%HGo40*ZU$}J-*cbKEt^`OZtP>6 zM}B3MVR4XG-9x;o?dcD+KCLdmaN@9Ow~n<_V)neoBT-fPv=}+lV->&K_`B=yJIuxv zb@)TZ_hZ|sD*a(U+~=Xnep)R!p5-2@_yflOo}#aE3zjqJIKe^cUK)Qq zRrb@TdHz(-sp8L_=J^+UsN$>Fpl8BOZ%9p8-!!4=#fLSh7dI8NBx>9h2zDR&!kTkIS?OShVGs-#Cu&eE@@++))BD5VFFrDILG7ZdL0 zQ7>odSyS#jbInWb~{vr8_^v`?{lz9&*xwnC2$;>rI|Cx%I*UVFf zPk_?IP1zs&eAH}l;nmA&tQviC{wmC&~t{jqc^#jI}TL!jh( zLCJN2FN4m3CxWj5o4{khMsOl1`DchM$v+HYl(`!`1pEw0b&;73D!wiTC3m{fCm8() zJcCy=_koi8A}BdsHY@sOqhDq8xkjI4^c15H1C>sXV2LEo+zp-u&H+yX4+7=ir%80_ z-wjg5W$ptN-yNXr-9`sP@!kR|-G0F`0NH;lDDy^8@;@iiggPHc>97ox{so})@0{Yz zPX}fGN>Jv%XAT&zW=f#w9UxxIY&H6gM$a+&)u8O3YxKX9D9zBH24(M`LFu^_l-x$6 zF9+q$B}V@z(|D5q5h!_`Dmm7V!@&7^rD*0!bP?|1zQ1-qE%6ys83yl5} z<-FvMXD)%L$Q*9?RWgt4-37|tEKvTNZuAtRk2LzpM$i8xD0!U&B>8U`y&gOVdb!d6 zain)|E6AslSpEIe1C>9I0vo{Xe5As6fkaVef#E*tJEijv!IQxAjD8uY^uCor zAAQ$7pz`fapz>W8DEHn1y6}M$p>=j2QIgqhxXtjrpybzrlAi}241J{WRo=_qPYiX2 zB1w_SgR=J?Q1;qAX0m2}ftgPM&p_@e3MI+wwi(Gk0GG) z4)ykb1G>2WcQ%7^XFW(3%q%wZx0?AZP~lA*z8I9hRY*zS??@!+`86m# zyFfm*%xBH~qh@{sNY=^d91Ee&84_wHT>i-#o@1z{t;`QKe2T;st(&@p-!;6?P(3^O zqaTz%R)VKM&o}cnGe5`7HGV1igU$R=ES(9x%kb+UpHk-YpyciZ`J3F$kMjHVX0FkB znZL@+bxx7W&6k3wgI7`4s@#|jO6~$sMdRsaeu9}loATemy&y&z$^bo?4ha4ZZ81z6 z%24K`2nmM`2MxOoI}BS4(}sYv_ZGshb7op(z@u}UM0fD7NAuRALp%5TygNSMvz`y} zFFLei=LGsRaZ{;5cv{~Z9^Kk5y4wssVEoX|-hsLJp2MdzFqc^(mbv z6{nAYh|}w^AEzz8%{SC(34M|d6!|EC0fUc&vS6ZQ{I@FynR)44Qp|DBwmzmc$i zUBdmR6a3dD^y>`oxc;_;e$6k&`KKo2Z%ODMPRP?HsIWgJA-^Xx8v@wO2}_a z@F@!_Mq#4Y7uk8X^bX=G^kp4t7Qb zmc}?%B5-RR9zmEnJ3?njM4Niq2YuI9 z91d4N@tV#B%NDHG7I_Q53%XpaI9*}k3b(O$?aKHm2kvx)$a5BbYu0ulLjX83V9naK zOP6=GuX)!3Z$#K{>RP?hvE9ylESI<8M^Rp5(>?mIT;ATEbQRy0)9gU^vRjT?)hw0!JPwGii-slN5&BDKGAGOXq(j$E|ky0JB zm+2C|;C<9V4{bm9yvqD(WXil7NREqer@eHpZC|(IT{>l@ea`HN$xE~OYt#(qqK_go zHJ|o^!pc*ja=d-iO=hXt3fX4g&i9)5MeUM^;AJZRwA-roQ4b&}bG0MX)==|huH<;6 zTL1F8oWqG1{M6bfk#BpXa+}0vscr1LlwUuvn<_N){Cq;sGZ@lYw(;51@JqPU_Zu{` zvqc*6erz~wHu<5`;ID_>!+Xlj$Rt#BNvMC)dz}i}pp`1ra7%ik_nNZd#`P0Fj7J*# z(#|YeTES-SN0`3x6G7T|z=wvS`utPNI<*O>wsh>?!Pvf;Fk$ZYKH-SANU*7)*=yX> zvp&t7^4X@pXMF=y+IWRrTA`bjYiR5x$?I&>soIC$>_)Eh>zLA*ww|gQ?WN(osj#?K7mJN^NfrO# zR3xJMjb+0qs!#N8xu_=3j)u5)?&^!pjVEwgSu0VzrH**zH(S2awebXM1S=0)rVnSC zMz#+*mZ@XOJSYD^TRzGKyO>?mYGKBc%Cl=<@?OxQ;~`$R7Wi?&A%%zi+hrQ)!{Ri<(_);MkD+E{DXy`RH{91wEr0|XYo)|ZW%7MJnQ8wyfx)+ zLvH>7$ZbPzmC0HB)YSJFaz&eOv3RN}r+K4&Hs50LRVAnKI@%tYUxFmfWSvJ#5@bFJ z(jLkDlbNpp8=#jOeJLopZ%y>~1nBN4KAp@PLD_p9D1ExiiYIfFnKzjE0xZ)O%4l5R zNKof;%bv!=WN(-s+54=SYy3v$=kSAy%#(yo_)?I1HuF1#8^OG#71pTQ5?fT6eg%_Q**tvFw z>*yO}#_}4Rs1HgRR3ROyaVloOu2K`@L~3GYQJ0mDtm`2J4UuYf`Ndhyaf_VA7du|C z%B`_PBge-Ssu~{fz2W+HqGJUQKrnv(o*!MAv2fkus7G4Si?;K|QuIS#(79e0HD6@i zR@V<*rK9xX2Yc1(kIq%zP4mxl4F9|18OoWKfA%nltw-Z)dIGKfkNzoE+;gDkdcE$Y zUS9er4^s2-fGe}B&-K#Ci5KR#y?u7}nruX-=9-@HF$`0YP&B1BGrvd|x9Xukx@PU_ zr7NyCPJ8<`t@E!bi_Nu;ZKywnnGA_P7W~L)y#8&`^mSO=P9q-WzdiU*eM+7RmE-kq zrd&JYmHdt8|%s*i<6-#b_CMdqMB(=JhY5YmQ^}<-)@=0 z>PX=+TERw3nciMLI}JJc+n=exVxz_rx*)rQZbC*HNSjsu^B_V> zDqCea8Iv0xCMwCsWz7tWlvEvXBnEH1P(X~t@9NobS1Q|h=k{#(&nILX@7-Qiv^*g%`8^X9+o@b<>s|gEnP8tt=>Zw*Q)BF= zv+XXo`a!&^RjAq(pp%$r+E*i02$ z_~GOWi;FERcQ0(%#c%^zvTcOYVh?@WAx5`w(zAE2``&H5i})S&17^|pj}P2?h~Hsodie3MAQFXTM9VBF zxkp;$gAMq59Z{#xips!;VK_f;TmBof3$5GC`w#QgFu*f6KEM-wFY@0$#^YGlO8Upk z0^5AEvvmhfDT;SDel2%Q&ohiKTK>dEw<&Mb9D1&#NqkH1SC}PV7Q4D4r1>i)WofPv zfmzv^m1B^9#x5E6+vK%6=%Xrg{nWWY8up+61JY*e_n@6msKjiKKshJ90yjfN z`w678#qS64kdxl;^(j;%m9DC-7q-0Vqa>o5iR}?$UFpXmNqj2~bC@eNsE_g!r#jy_ ze>)96>2}}~g74A}zfV32-`uB+?xdBgTHPM0M2gw>>e4H}ZZD&+%1yY2f8Ce5yD)EW z{wF=Zok03G_I`{ure*bQJ$nvn?A6ZXvcVyZy;|^6HaM)Y_wEXV7onrVU{Yi6J7Wf! z3Dh`^y+eu`{`nlXWe##i6A55sbg(nJB5pL%8R<}tNa_%0^vAf-q0Z<}aU)&b*4V2B zDUrnnXQaCtBBR5d(J67GBb?DYWb|X=C0cOr^2r9Bhf&Tb-y$qq`}v{BS%0`P%C8|@ z+Jua<867^EqqWYrD+Q=0z3DQY8=GmFyO*t$zrwqphD z&o^obn%*Wfe$c9MHd;Ji`b0TO`3Tx}Z^}+_;=K=ex0MltTf?|LOffd4+Lm$H^(pPKFXeb~i?kLWB8sq(IBB|aB23|=F%xLU`3k(}+RFgqP3 z^`V>sT39h-U#{u68EvtDh>Jo9^7wKm%#TIHN_b#@wM`eg8c}TQO?>kokW~MqQz=2S#n**6CW$al*%V-yuUNGC{CVF5p{@_}3zhXdZOZ=h@5O@_?|hy%;W+9{@~w~b zYzTE4jhGA#%7+juGzp0jWzTU?$D>X$I^a~@Rgv{D{%t^TcKz0`fGQp_9Am2?mS zK9GlBUg6Yp?Ps~nVq%T95~4IhNt${ry%{n9$({h&dk z`&3U}nfGV6>O)#o_Qr`7-te7kOTOt3Wb+SjV5Srj;}6CZs(OwBrBcg9LHWmG$LFew zDZ-llhn=mv(4j1=%0QzDMfdKzHFT#u%hwC#Z1Xc1TW=M&f09lwt8t+9qu#EX`3wwL zUq{-ha@49P9KqR82W`RWEikEv+^+2lok*xg+#yBQmFXEi>?8Lzz<&CfTqiy!Z{;rx zA6Hjd^AswEX)d}HrMu9*3pYm9cTrQqPhW!bFm4;Rc=aDtD5+7F^3_jg>m!w)bkuv0 zOiF#>|1UokQ-XeUw=<)7v5zUQ%ZNmcd-j`Vz;0mf6s-={B+=dE@0AMM$7 z_s8ve+|Nr|{PXeGp66_S!pm7Y)RbF>TbuWKIZKb4a*C^cCTHnVQ*Ik_TYls9S^CtJ zdkndu-+DPqrTBEN7W$!pp z?!3gze@p&83wk$5jg--S-lu>=pxpfeD0ioWvUjS{hk&O+|8|ncpBm~uZ<&A2@E;6s zHe6)bW;oOEdo)Z?nfWFt_a0(cfGLa2*FnZoGF!lt!9^fbDVYmFL^E6HteptX2ag3` z1bNRW@52BPOkzOfWu(e^bJ!bdiMJV&-b@ONn1 zP=x4Fn8IPhLBnpt4#O71v?1W^tp~MlB|Lf+JzxeJ#B=*v@RXj98XfApg3;Z0Ue7y? z4)qy%$k`9|*P#j=GNHaY*62{b{Hxgy_0?{(AL=LV*=@v5m><26cZ{M(=^dww3Htd2 zeGbBL`F#m~2F-E4)>FjkXA?AKV+H@U3I692`gP!AT%Yn|oc=|^{*Hux<bzx`K;t;8kVt0FKR$2{fZw~|A|(i134hQ2}BM1hJ$ns#S+qXlbM zE_KUloGV&9;(}Ga->~8eMGfS})-Jp;aYrJl-M;WfyR0+8bJpzsM2p$PHHeB`zp#d6uX{%!JiDKf%Ti~o zSjtY5*I)YD_BAWY@5}7noVm&F0}SbDr0Z3^ZuaHv^Dk<@;9S1N7rK6D#zixmWBW)} zu|%cfV!pq1{mw2bQ9WV(PN1o4|El#n?Nr8k!up+=RKO?7pnCnznCoqV9@+@*`2m%F z{Gphtc-sB_h>=-xJaL6&*uIXU@6D#ulJ%T-ZTPntLnXhNJ!iWN^(WgCn(O_1#sO*q^dcQw}j@eM{ zpplux6;+56fb+ZLfit08)AW=%1u{nQZZ_NIb0XJ`5Qf{nCKg zh%Mo8GoL5Ps%F~z&)-kR**d+-_5+e|6AbPIY=rj(-!OD1-^6s>BOMya^CH0qeVCM7 z_%t4;F+VqWx(;-MaU;>D6sPbaIjI?{S*@duz2q!;(GS>}U+2i378sT8D6LFF4VJC5 zBME7%lXmg-{v9FxEPs(6!{|`D3_0}v-sAJwZt|F4ZQ;V?uM?reSYG)5au@Zuy?t~- z?hw3`^6P;#OtN)8WQa=gfSc(&Ng}M_AU&2y<}Hy-h|3*Lg8c1=H;2G2F0$NN%sRdD zmJMEn(N&#*hZ$FEK<^awi_xx|kmySbdx2q;ShIqV-oTA^zQZhxqpsedMfZ z=(mYdmsu*}n=YxMk3r&f`ld%2!nMs#egxQ0u<9d-d4YlR%Hd2`*>$Fxr_VU|yz?)( zaOOqXOD~(vo=u*$D#T*X?fzYHT=5JVrTG+|Dt?FZ0?)ha@JIQU^}N?Zm3{SB_0-*; zVBPw8;`hW9pO}X2Uo2l6v9`kpVoaXANVltP21S<0q zkb)tj6Yi)wGTT6+X7V~8{^K=Xz;pbcF%Y-#+`wE3UleYN99X z6R*8K|DxLa#Ai^rmD~4z3TC|Z`9n&mv|RM-^Jm5r&KpO+AwRm-45on&?R)=OYyJG% zuJvmpYtWVJ-vj4dvmkvG8L1&YCXG=+bPK{WUi*2b>1iV5 z%_-6R*u)~p?m78>SCc2tM3pt}eiDzjmd5up%Bs_> zRj@!&ri$9+s9O}GovnBAn<{CWwEgj> zjlXb)w_hj2uPotr`){Xg{FMvcrmtKJU3PAOHpM3AwX%~L`M5tWxK$Z6A?4fP!Q0(- z9&SSD7uX|pHgju{jv;P*pIV5O0Uk_P`J%I8hYYuE&YjL?RiKCTuv5%?ViE_plFqGz zr8fq>{p*G-bP2t0lC7QF@x}8wC!~vb=WTXUw7;RW7fWvWVf9|4({Hf!OefrMr?D35|h9R!|rgO0I zMdcOdQU8$4O?DU3zw>>Mr|n3F$xDp6zYL)W{* zq4M(+eR!2sl`|Oi<|$VY*Wi!WPFrH_D$`%pUQ&56oBy;@g2&vck~^Jph>VyS!9Qwu zXul(6$gBPlYUdfPdyK7$f5kn16x&}r&1F;J@yQp)?JK7g7SZYI<-qPhuS1iDwy`7=e zPR4+d@j4lD^kbA|2j;C>#8@+9d~;i`y87xlt}(D;jn2v`JLp>jaTl*&w_r6*g2WJ? zM!0kBVaRU=!TRgk1r_6dv?icjD%(+fK&*f+%0P}8SFkU-jmHDg1Yz&}J zO@&Q-gr=)P<#_FkFfX^n^o^K4BM-Qpu^IPYj->_)38m9m?F`pM2o4+|S~=WY)sJ_p zd|Oze#b8pgTc2QjS@+Y>TL<}J7;6$ymn||`?(5L7?CvyiV_FK`(qf(cJ)yIoIMl(9 z%Wd4-Ez5~&AsU*qp@p5T_aLRQ8?|LZTSd#5HOS?f7Z;F(xM)KP(Thf6`~c&rSo8yP z6YyLZn45*QY*AgEJ&(u}HE^h;)72>ter;3og3m=}IG? zPGji#q|>9ej!&33LPr5gEIZ6|2X9!RU&R_EItO#J)@^CLB@z1B-pA@IWsA|yz|vkB zb9*@BeA;@ybwTh0aZ2+|IWD0n>lHl-WQz-fc^31luD<|xl!yX>p@|d?qt%jp%;N~v+PW-AHmy=a?krUqO zTwfBoeu|9MV&$-WzulBb(#F>b;WOf^B76$#h|liPR}*{LOf;zE-FidNTxh+AYlylb zD+lL7jnoMz{(R6Aa;oAPFlvVaP+9dmgYnvD%{D$}`icA6>)$q;oVimaH=9CD?J{j2 z;X|0Lb7JvQ=2TB-jt7}P$vloBh(kX(3Z<+eT~c)oB0*sQP8KDxq5GU{Ub3F78|X}Tej3CIA|9uJYG;P@=Cz{T`F0Fs7M{5YdNqtV|FsEvQG!;56_;;H=zC9s zuXTrUd2PXn(_c%-pPJx5mf&liCT_owpl2oQe=Nb*7Vx;Uy4O9MkTuxwHbAXdwlj@WXNlhf`18VVN)-x`w|y zr^7Y;!(_kQS!62&B8&0CKMP&O;TzFNpyJ1!L0LHtNE+3h*T1OtxZlhRX3UI@`>k1! zXyE^??fYR04LxZ-QaypD3{yGg+UPPr(Dwa*P$=q=KFWpED22d~3|?USKInP5?DG7{ z{OKuIri53A~%H5{Vo4PVywQlrG z<&E;SY94+7_nR>ucqQd99*Vc`rCR@L%F2(fp9H>;$J+OEsr094+{D_{`FVR2BQ5(1 z>-N%^P_vHF#?~onD>Bwt^o@XWi&@pan)N%KFG6GgWM`^rX}cE;HM?n4ga(-H{)o0y zEp9xa*C{anrL|3HxOMsiRgM0{7?Af)&yKWqh0nHgIX3Q9HInSY=q$t8`L+jX*$m4q zuxRLVB=i=eT?b-k>#dG-w=Gp&lQxh%Yh*vdTQB2B%`B2OTRaEC`7gxEReS+N!M+fO z-8FSsw;|(noSW2fL|lh!XKF6W_gS15?(|;xEwyvDI5TPeyW}a7YmaOCJL|1Mq->PX znDrX(a2j77#6zHNL}Lj6VIivh%;WcD8fv zilDco1`u&K5Oi82TMgJEF_p^i{FhGX-($^IjAI$Iy4b2RK6PV^95 z$UiPi{gZUnMZBx=J-+#pixuBH@;)C!!S87(W{Zo^=A0^Nu|mv;p~L4i=w3*Aaq4*u z;8{8X^NR9h&QBlA@wXS2y<9WC-{%}$7CHC|984(PqORdMYGye#?~K$utoYDcih{as z>H&=rdE`Px-qSQ*v&9=C9Rs}igh5f+{ke>2TaZbkdHj#B`VOaBU#E}O^W~x&(3t5A zcpuG0$M?9~0eAa8mDG>A?dwVkwl3dFwpWFL7wl^ZzC($Y&FraOHnZ6r*|5dE6k2b! zlMFWQP#`PIziuh#=n0N82rDsE{OxRg5Qa*=VZ$NA%?_hZo_durf`V$p0De9jDPPn) z!&@lrdia>L#m{5ny%<)y{I`m#o(Yudh2zgzD-j!aT7HQBGkNF9n>)x{sq!C(Y@|jacDGNZY zZ@`UHA!E^FZY*+cd_A~PQdiJfDzr4ji%Vak^{QbLJU^5iNpR6_dSC4HemjVlY;Y?o zA^B!3uTWbTTK8@rJ$P2@uEr0l<-_`(*ceE@m8yP&)%gA^sp+tNWB+)#BJGEf!}n7H z#`LS)MV&s|A-OYpnA`k$`u6;HT(}Y?mkW|{0 zVA}FYYkD%crb$5-CkmXe(YT9H?!rTqZhTim+KK*QUUQxE9%1TMZEByx{Wt0Y_y+Oa zGSGEJrzYQe4?}RXS|4fb(?~qLQF3t+9rrlC%XQAGdQ`CO>)%CI@#U`H!ChozPj@wK z)c~mXU}(d8uf?12v!nKRx0F`aKRa6=Rv?L3U)T7QyvV!0JA~agt9wsM7*oRPGf|BA zq9Asp%(ED7eYZIMllD_?R~`T%H{G!`gwea=zJUz#zNmKAtwOoaS=ZQ-^AAm2XZ^z% z2M>nCNhrvA_t!fG8iuY=Fb`uTk5>}CXvJrY;4=*(ZcS*J7$nexgkWoP_%J*}r zrtNHZ=X~v`({)?fq9)CK)LBo#2ZjbysMbb8wK-C++VtgXvf7L%ldkHD9Y;|*0XnAN zs!eL`bz4~9I$pII*L;xE{Jtm@-{OtfAal8fGcnTUju(%Ts7^-G=F4pH{gIvxUXR6S zGZoVTt6J$)sk!STR(BG|^JLW=i3?BGC$faI#lMd%|3SvF4hrE>eLqA;#eY&Rg==PS z)neJ=?UAa_Lnpc>gQyx$&7f2B&yku=Xp7-NqGk9%^4hgd$DNUm6CxeTugy{7+_s(b z{y6TB6A5u5S!RU#sC-sqsCwdSpcjRKL3uR({F5i}MCCJR{88ioiL!>LnyEq=byK5*Oc3a+#Wk0z`|cs?lI(s?Ob|`hbp;m(Mp-hJjynZ##83YAkCi4 zN5NyjTfk}H%^;=1_W@r(wRv z%$Jz?l_07z)6D#MGuOESG9LxypC5zLe=kUjBXf(H-)!b@1<4|rX&_@QnPZLLX#9N) ziclkDz6(m@^NyFO>HyOScr2mz9J1BeYpzK`?(uv8OZsxBv^XJLmY0Mu7CI2WW`62LR=#PLW zf>(eH0cTzf9t)laO72vUA>qtK@Eq_lBI|5$7kC!3J{UZs}0Wwl~1OE()(*X zE%zS*rT1Sz#n(s7{DWq`5@duTb2)e>c#83lHU6InB%PMb&q3+?2`GJE1NKL<(J1m3e?O` zz-i!jK^H!d9(Cq65T`QlG5#9kYrT>9XBi%A{6^zH&c~&A-3?0b_dw~r8&rC3HuHWn zZ#ViHqt5|PLhd9`>H96pH>J-uP~Y*FL7d9mVdnp6*lGAC!^=UrulrEt{&8T2zrRo( zEB&4T#UBO5-wx`#{}(gA!_40Uo`QLYnX6?g`3u2QF+U8HKAi(0eUE|Se+y*zHgmU` zf6B~zK|ZC-Y;X#Aj-l=;6#XJl>GKzqD1EfgUwVHDO7A!LISpDH&t(2NGhYEJUAhd_ zcoKa%C^_vD;cv3e>QlOE-LcGd8lTLyE>h|96*K?5nco7Qg!wzoe6g8d3Z97hL&}9< z4?p@|)`I%ZE(MPV2SG#+?KbQ%Y%xq50!}WAu+Ci=l>yIBd5^EByu|21$0bkTdGSX{ zUp+JU7ai))NyhIW6X|&r8g}$7OVIxXC(hrLpzll2dk~JxUzgBFnpW^Xli**Jpw*;| z>-&9z7B9~KWP<*2Lf_*F{*?*-j}rWy3Hoyh_ctZ%-=3g9pRliy<+y)OOwgw#^nW`+ zYyAX&(bJl+|F#5uW5PdAC-~1N^r=k}*PopC|Hp*9_JhUc^*zMtClc;&OVH0I=>LKctUV|% z9Y~(=pfd$fsuK;|8ep5BuiRi1Rw|A~26%}`ymKQH*Q2>{VIse=wS=}`lk;^rfWcWO%q>h$o zaMFc8IYjwx#mW_(sOK~i7r)9#?xxx`UAo-WCw27&ql;!N)hceEiBj!LXDo`5e3y0~ z=nLBCHGO9MK2Z5h(Oq89{kN|7*hBrSC(U=PC(yJ>)GlF}hJOxpy~kYBBYm>lK)a_w zDqi4vkD!OPpL@c3Y$H|2S3Kjb_gG>U2F;fCV=Cx5{AX2dh05{Pdo)ob)3sUWOOx5q;}3|kD-hJfS_y$p=^UodlYh&N3{i9ZbL zq0i>%kbcvR4(W9gv~)y|RhjXoo3B%q)BJ9(WXnl4uH#1SBbk^6HJ5?_j=a$ImeZ$S zI3w*I-Gk=Zq^lQ~tKZb$TK|T4P<^Q<(0^_H`(les>6?hYeI&Y&pKd{Ts4vIdPZjjg z=XcLp=!rk(-N&q&pyf#r;*$}PPe z&HxsV9Gk*_8u#UoxuEiJt@>B8`me~R&^e;-IvS?xAU}J0Csby|Dyuoaw#cObRVaD(f|!CC_{dwYuh`ry=UA zu|LOr$-3hPzNAis%=60S**oY`#X1xCrB-?7+T!vkk6LWID?IFsqn}X*clE5&2g4KSP@Ylu zxaUCo6HD|#@<<<_XlgDW@j@BA!165U`7hb!*=_#xl>ffNyKua7;c_D#>06IJi!+N+FEC#Ds6lo;qwbgZV{#L`VpGf$QG3f zp~&GiRl0;9+nh)_+qUm(`cA!KmVu}(tjpS2YU9lOOsiiVQkeH}exBVB)nfgjjeCc% zuI`g{KX$g7YmcSH*x9-p5RMq`G8{H68cL7kwipf?4mflx&Fwgi$1cOD^bl$9obvIY z#ZQ5s75_`{Rb4n4&4TwngE1!b?)Gl&<~`#0)ymy*3;EVt{aREEQ>8A?+Rw_;T>gF? zq+$2RaKeNrRsuCqd9p8YsI2uv&gvOv6_IBT*9MQsRnI>HeqqC{Atc=_Na@C}xv~BF zFqun1q1)1p=1sOa;g3W1%ikGZ7KPC&Uz=GtXT0$52M-@|IsO;{@J=VOfd zk$$vW!w?twaYBTZA?2+DS`oCRoEe=)jWxY5MwXQ17DF%{-bE) zdq^hL7K?$ekU9zfYbJ+i8?3f8XqGlrTgrM%o6V9kAJMa!DrUeey{+1kzA)!estqDd zSC{eSG8>wr67p5r?b6#n>5Y^j+2T(ioM%xVE&mw~CdKeF6ke?2VkmFp4plJmn<)R9 z`c)CTHO&t`+QH|XEuIG9Tnn3i{&(xw*uAnoOrgBUvogwkT;i^0rOsSt$tQMRICptAlIKHCpLuI$ImMUpNwp4aQ zW@eu=t*l5K#DDQRJfY%UsL1W?n~5{tx_jl&D}}wWM^_i*3eJp5=sRDN?cCFU%=J7= zOxz6dZC4&2k?Z&6vW`eh75Wvvp6wiI`VdvN4`?rp8UdYMaM6?HfGYkc&So8JzHi!C zf&LbXeBtV&3h%k(D)cK5jrShiU>?pn&*Ta&8M!St*MG>z6rBD^YBS^-XJc}{?t2*{ zdghlM^AY29<{eS`zT0`^5)4%jBC8bf!K{^DKB+?1@#k&TIB9FD!eJ+E>7Alr6t&Sw zTk*cP@AY-2uJBV{D_5tdX$$!3t~G1A7M*@^+0s=Dp#Ktui-f8jz7ym*{_RGqb0_`h8{KTQ*0;+3A3^c8 zZcOwxqi+S3KJPPnEqDsFwlb5HnNvWmQ=9-w?r8!eJta_b-vlM6bz`pt{|TG|t_4p5 z=Yd*RH65G`P6f5zZvyx-@V`;^3UCOd1D5%i;Rg)0KI}xywN8l^RYupk${%Nf{7pWR zAG!ZqBIjgKV^`uo1d3lY`fj5KLHS$fpBx7+1Z6)5GWO-p4c5BWej-=-WFtt>Gs{8c zlh=V$!4^>Z(c$umzH{Xhb<{9FlsI+>IP3;-;?NGm7Q?h5;P~3;a3paP#-HvodM=q! zk2WxfKi}w6QL6Q4gL053%)bmeDwX;f7$2YfU7$@~yQ#zv<=|W4Lq^YgA>y>sBTlbR z$P@P!{Ot+*Iv74~{|^a%@}3^a#^qNg?30Ho_*W$8-UO}kF0OA!g4QAXaei_=nG!S3 z|2agQJ~zRCYl1&LL2L7O-2U4W{?Yl^alZ0toaURWpw+gI^N&r)e>6eo6ZHCodu}aE zbo|SuSH3=4JQY@2g$q#@aRRj1ZEcG z)Y27;y1Zq(lEt0$5<3nic6tjZz=Y-weyA8k$4hbhtnlg5H9a-_*}m8i{2r(FA0Xu7e7C0r}xW?ISS@BDPGzH9YToqbv1 z$%Sg%+08sK+FGy4y?(a4lxMM;fn`p#)-BwZLw4|iS;LyNWqxUwvX!mR!jI8PE&mb^ zuAQh^E5*(x)!ThrwRVy^fp{}_46$-sxH8<$E*<}>^<6WYn`84atK3?>*!1%MH)I=pqwUwGeZT7^NipYx9XJ)9=7 zo&m-;LHYo@6B)DXo!gFQb3o4_kt%)OTl3!H5YAlTN=0!l|9y)tMuGa2qNVHf!@s#w z?ACi@uN(fAyGg(6AV`<2-er^bx@ZK4K}{W>kSd+b&secjv8XN07-jjqrk=eWQT*mv zqQ<>3I<16xvRx?EeA%#JQ5X(-{o9hl-`8_G`g}BL-@P35=J9k<8_h*q5FGYn^gbev zgG=5VcH@d1nB|0A+MbGTKfHTCZ(CJ-Fp#7jMcLxVgS(|i!W*tLt)y{$ulSpi*Dl_? z9phoMN+TF<$=PjJ&LNk$>a`R9_(RD?ZV9ng&@S_GQifBn5^DmrV$*q@lLLA-+=C}x z?G^fb6-Hzg=jBfp-dNe)@>=27lH>Q`G#^rT1l{^Jb_sX3?r>x|isCu=1m#h8;6k4w z!-bgarVMYh>v8G-L4^47(+cGm_i;pJ$vs|Z4zAaynt$`WXrIPrBt`WrROMILQ)&Es7x| zDgx%SW1)3NlnYzpsUNGqs`6va^uGoDQTjVC9Ey|93n4EuMjx{muzDzbRq z?V(Elz&QM-25)hoj{T#(dEN6A_S<}dr4Ju-?ei2yP0rG(rra{z3i>QPYRahv)BKd5 zpBPJS8*)ob&eE@@zQ>Ro{DaqL=~z=vYn?aQ`3#nxHRaAjZlB3@quV_-;^kW8a{Ilz zmcBLhX&!OV=3^|KYs%e)-2MZQdl{nMm&~7}6|3>=UxDNiH-8~}--Z_dU%=y_b#I2o_um4Z2wn)L z!Iy!Wx0&>RvG*2WU3BfAI4Io`(%mWDDM)vBgLId4N~e?{0)jM%fS{Cwl!A1Fw1RXA zNbL;b^WgV=_T7Dd*Y36d{a-s5d_Qx}eV@AL%$b?{Gjk4rAYTIV7r-M0b0C0#&yrak zKrlZU0KxnYV1C7S0|>@90SLxh0|@lxtMA#t`e*@RkdFZ8X$O(;T7Cg2vjO2U0KxX8 z14s#=Cx9StU=JV_fZ!WYz#on{@B{J>Bwzr*Ltq@h01#Z~2h6t)K(JidYlH_79|(U2 zjseJ1BmfAedk7#CfN}tWyap41V7g17^DqMV4L~ry8$d8V8$jTS${Y?LSdP_oJUM`@ zKo~GTxDgit`EUV;AO}Dm0Mh~F1`sTl2Eaf7r2(`8@Bx6v0Ez>s4WI;opr2S0Kv4jt z0OSP_I235C00K=xqXQ6VIvN>(fC99|4AckNcLu!Mh3r@!*zxtzY>o z2$c!ol^jR|Ze!PS(5~R73e@#V{woNDa-IM0>mv9{*>%z@4M~V_IgtLQ9Gpt(W>^Oz zybBTT19H8o&k2#g9fW=;M0wN@`g0KZ#Q^rXnZFu@z9xh|8DO8A`jFq<+d$|;@+ROo zcr!itz30ua1Vs9Jz}`3Ieh~F-f=K@WLY@o}7Kf<+E`%Hd!hSUn`qdEi+kudS>n7f; zFDyj;Y#{QdhtQt}65mV@?%xbQgwSt+&<}=?7ech}JA~W?qW(b;<$-VF-7Fs;B0pY; z_H06gNg?vD}o4v>xA5tLqo`~K5mzibOJt{yISf2 zplwXt074B|YQfqKn4SUn^!>zoId2#9dDZ z@JIANmGEmuh-=B!v<1JuzyBlty2dvpKt&Xk6xFZRq4=c>&J5t_^s6Djx)#5iX=Y^s zto!!w7rFq7zmejvc>%5y{iDpu-PF$dD%oFrsH+9Qm0A47hW=H(-&0Qf&6xsA)>?S} zW%29D8bG!Tm~!AM`bKT8R=)*iLHJAk+8B1gWDXWCMox|(!}_OXuO=?|H9ZAb=HK&K zfCt6G>(@gWWTI>1URlfB+SLqrF$-9F1LRu&%=}l!0Q<~ek{gHZkN7_h+b_w@!v=J& zU!)q)C$F;jMM1K-Tu-e5*8OUljXw_$z+8H;16H{z{#UK93%a6l!3jHnl52$<2i4UX1wwWs6==U3am6 zFTTN)|Ct)FD8StRW5&PFV3%L>j(~&j4SR$20ft&fhhNONhl!m#Fck?H`m=y5i@O@x zo7h@hcWy|HeH~$WU(cnLDTX41g&wdZ70^FB?8<-!s3x1JB0Y?1m_mKaVf7iawr}FwH zp&Phg18zy6$bg3-;5qJJw*L|T4$kueZoo6|)dtLm|HlSY_mAy=#J_{@H-cNv)i3be z1LOzR4}7of+Gc-b`9I>{Tdwn)zs`>pco+op`@I3pw)(vfA{FotJ|jYYFCGY#4?K5X zeTRwyc+#|CWCT*F?VJMgk*%jIU_-$e>@lzg9+G1I~!xlJO#NGw~F;{h33;UIJ0w6%a z9Iqm;=)|k}>;Iw&4FTEjuJT8duM+&t>;b+jpsQTH0}^qydu1RX1@LM~w2CN5kzEe_ ztqu;IK=Z)C3oz4f9&ZHb`hOVc5B~NK`*b~+0n&oD8MwkKi=%h6#rNJ{K=bL-IbW#tT^Cv2RHDr{;^$Mvw#@DR|;kNt@-K4M>#HjEe@Cu-ebEH{3ICKo;KRP!{(JK*kzMl`*YyWZp?~I;5U%yE z+wqTj;5hp`zw7q=qh2zgH*w92T(|2V^%?=af$Mc(uiN)8dJ@104-7t6-#LK({f~e> z5CD7wAn3<00TB4Z;Q@X?z3+fML7oHj$AEhI0D^i?0R;6xzZ<9r@&|ALo&t8I2CxS} zP_G$4P!II)1GW{401z0Zn0)~R`3{g@0Qd$Wt?PJ@X8>%=4El!vUPTCe{~y!`{YSth zoEiKU4d7XX4uQ6U@!(Jd+`}+~R|=r-2z|JYe+wXRYsn1y{SW~R2N0}3;FE_U0}!Y) zxLxrO^gvZ|fP5JN1nbEFAjm@ie8?3K0s8r^fH3I4HwKUgK#+$3eDzm61nA!v1;U_T zpA0}E071S1X!jN00GQ^AZ{P%Q9w?LvzzF~e00c*GIsm%?qy?}AKw!MS;u`=y>xyr{ z126%IX9X|_XpbQ|uA6@Yc06&E$ z3WT`<1lj=dNLPFV1%Pxw7#QcT_y(Y>T=5NnFYtB(=s=~ezQi2RF`l+j~zk|$%_m^$UT7LbTj=vgj^2dc+EhB z-$RrS@L0)9^S-XuuWv;DcY3}5G~6$L*Dp%oKXh{cVaQ+3Z16*v z-=@Fmy9Ua<;lTgD!(V;Xe|{Z~D}OcUocm|L^{*+T|FrA>S;zHtU2Zht%2^FG;eV^s z`i~y*k51`7G$35hH%{39Pq?11>-xXmo&2}A_+QVL{}~@I;GJguHM{|5lD&lyI~Vs= zvMU3EjMnc6NJS1_&Oa4@M?fmFvqLEUj(}8T<759b$KMfGVPxRXulf7Zf9?L;-);ygc)t(+|Gw7!&-$x> zX9JlZ5Fhwk1|k*kj{)vn&(Hav&eQtOcH!dwe|BLd`?cNZFF^nMe|Gr?ySTeq+g%&x z|4--9HNkb&4cNGNdHL8`dD!^K$hcV9fVf`+3L7gcHz)8VDjPRDFZWe~zx#_fFs3ql z@p2n+|253~<9DgxGyCric=m_-cjL^tD>yO%&#l*Keuw|7U^~-N%qpA1FXCof34uu&+P~%-X zhbfHBVvI;ah4}?@_CY)ww zm?X5*B7A`;JtP&+4lml)b;SgcvdhyTKLpuh+RF6CPvNtk<(B?#m$f1`PiWQ)LwZQ{ zBgH2wyk*C!h!id>TLM^J)8Sht245gI5_-joO*+!n@c$5*MxQpnO1VI7d7 zoAoI$*xS4RFh#7#b4K9F_Co|J2b{^x@9~9ClLzH@X*D=A9XsAINZOt;?J(>l#G_JL zRFOoQ)p^P=s}<*E9pcnK@AqS0BHw8+ZVvSk#Ppbh^W4MS&|D=`q=|RvaThBp)Y*Lh zwG?W-TLR`;3zO}_hn+xHy?Ja7qkM1AI+CRa2A?;5UTG5CdmWJh?ZB966ms6DV~NmB z(v~$ijmN|n)Q=wZ_#|BhnOb^`$JJ-?>i(5j7n^mhGX%mI{fNxsew;t>8mQz{F z{z|>P`!AN@(*lm99Wae)LORvodK!V;DlI9eP%SmVaJiAEPW|3%F$%HG>fPlA@I+&H!nr-qTl(MlE#K7^PlslFAZ zCd|LD&Sg2CCKcuRrC{6qp!|^&67GGnz|&4-3*_iPTb2tE_xWILnZpn!-+SAmly$cg z0|m#_GeusgjuGzegKfuYO@`EkE;Zjhnf{ zv-nh&3QoHfA!RAk&@#+N2h*Nz*AyQ7a=JXjs? zaoy=e&tOPgqWqcNBUFDp6b6TEldsLOw(8k+4r3(7)ev5ooPR;7V8e`J{)USmX9{;M z%WXj406tduk(Kf?vzo{8fdeVa^VPyG9&1tUycb5n1NYz4;`)APdQ}`I_53v7__k~| zJ?*pn^A+cNWzJY}aMF&Jo(Voy10ncy12|P7y!Kofv!crGsP@^CjKn9O#!Yb8&RFhI z`kZuqlB-f4S9z(qlp7%<^ZgFA`==*tJJudiKCT}PI}CKP!+9pk@bmI3AKGp{uW5CB zwZF^G@ib+Lg+bh6{rdS#z{gXQ|ZV*I|%@c6kB!g|k;j7`@Oi`>hoY$wA=#QHj@B<<6> zS;x)+fd=_?FNDD~X0|VK6IK}F%%puxxOKv+a!Ex6taP6!UDwqX`de5K($c0&_H1ke z)^df428H>Ah^-jp0=rHM3rOlvn5CnwWW7|iMU8rEirE(|KiSk67zS!5q4K9T?=HT> zy-n*Rn=CD4EUj~5x%f1KOyAXVIz12X^o10aR6@3iuP2{%Y82t300RSdI*)jDI{RxP zs+wF2r5YK<+`K;TF8;o;gAT#7TGcl(bOVh@FhuuadPik5-@}opxYvs1^Jnr*Jsfi( zHCFlj097*bQsbeu;L+k&Tvn-XM}o7c#z%r#R)=vl;b*UpKg1?KWq+v{bg?!`XS|;N zf+&gk>~=cJ`R2yY2U0!?iK|ij6M0J={bwB$@8=$g$|syRr$LurXxrE~=Cf;9dpc3@ z9p2xbwijMRM0koMZJsINFUpcpPVg+%C%-K*C25?^l=Fclx+XSG`0ZUQIp2!UVeg`} zEGj-AmZ7|s*s-$O;Mi@A<7W){V6#0crA;@8sNseq;-O@Wc=EyQUi)ovyVt{lFMP4d zN^7%16Z1M>7Jf{QedwO&3a4i-%sM+V8{Ff3Qfq(=<#V3o816{==|uxgvZi1jyKC36 z8>$uxhEDFGf9IEg(7We#9>SF7%Pel)HEr9RVsXgiD|z=HBb$FLwpou!fabRtRrOLw zVHIRM@}{)KEM2BL_O6LGg)U~S%Oo!v(>4?e=zt?^8c6JP(9#;h__U1FE+ji@XJO67 zpVODzRI$E-b-{RdI9TyXXO7BZeGAe9nwR#ocb+3lzd`sM)8Qitr4fr85c7b$7H-0` zpd#9>V?8-3kD>@DQ*o1O?X4Cwg^%q_ zQJoBAAn^^RS2oAC= z{J=uwqqy+X{H+uM6~6UK3o?puHp^RLtMO&Q1?o9ubh3~@mpx1Qbi_zn_9J&FA7;sP zT#LPkT;xekqEhadg-$me@k7Hr2kO#$P9=kwmXfyyi^56m=SeMM9d^%7AK8f88yCn&(B+Jq{rc5L zT`voWmp*Ca#@{PumDgEp6TkSW_c`*Jxi|IYnxCciV1+W%{+(2=%zkX+1mr3xIU&Es z$ff?GeK@};s&kP&rJt@5;Wh6&0)uqiU=zwG>yq&+g{H%v;o7AZn3z_I)fcVId{-R^ zR=~^q`cj}T@p;Z{Rf>|)BPriV-BD8C^NmxC#H!NdM5xN)pe0E%G^50!*y115oJLd1 zsIK9bIqw4m5ajG6C}D6pv&Q_Wy!jaNeRvbHP1oN)>KpB)Sth}AuuDcxW{1)akkXou zA|do*54Pv@Q(7ZYv{ZF#Ssd53 z^5zNMPBSk2h~+Lw2gldVU94n^)U~JUyzz?6_B^_9-R)_r9NHN9WUmH11=hz39}LCh z%#kOX1}a%WFtq2h_72DIGch~MJz2##ZF6oiuO~k{`R**11j`E5@`v zS!{T`$6Q2!Xd^~hWX_PJz6E)41W){4*gEl)c)o}}YBSnU9to9ep&~Mmg%N=vk;<-# zDUnsM(BjLd%<_jXLYCOZVRR%y9QKoFT23Ckvi^X^Qb*_B3C*sXaDQcGfHUAI!q>`N zn?Bb2hbh+_MFq<{%IEFPnR3vy`myNf&uI4c{9_gD)Ol06(jH0fC4CTiW;9vWU9=g^ zl32-U$r{VXzhPcQ)GiiqH*gP&T-EX3TcNatS2IJ68m~iCCB=27a!=LzF{|SA?&lc! zY8aq-#~_rrG+A9@XHFG4^f9DZZ`5!t|TOhk5_k-1x-#o_j*;DJkDY z95e_*G+Do$G(=N>)!T-D|8k416}wwf7Hu7MmbI=>CUi^x3nN}mM@r52ngZJA;o0t6 zAMsWKt!(<+4)*1DMW9!yvAtvcMa4eE+w5zmeB38(kbpAA4igWxF{@B7*;yVT}lUh_bX)S2)%r17C(heFAXsFIkiK(67?}e*Sc6+Zf z=$BEuKR#WE9`~4lLGAXtCM9jYW+Om3;6gY@RJzuJ#J z=bv05nFSKEPpvc8r}2+}j-zsoYz1lxO1)^1n6eDDsNJ7t3=ixgL`}Sxn(MyHwNiMf zy=gK(?!fUPlB^})8yBmFZ-u|I5jAd!y+QH*%o2$coYnS^jjHA1sAbelQpDA^=B_&tLH`?G_u=3pX>&vsOh_*Ty_!3ykLsIR}Khz8r64zz2 z`1+o-IoQh}@gAx;#T7OQxguf9yp84czx`ucQm2w#ZfnqL>0|Nvhu8a6mFJa((8>-U z_*vYZ9NKGst>)Wv{~?>2l+1?_v?TH7H8HnOu$kWBD+jVoN;Tnx`=o6{PL#>HVUzPL zuRiYChw{0|bu!@}W13Y+#UuM7K%1r}l6Ly7`AxOyowB}d9zI5&6aP9OmKudu@43Zx zYxGBBNnVs9`W=}Jc8k*!vZ^uWAGjfdy5HMX#Wn@~WuIyJVcXE7;_}FE3cnoV${Rux z>K6^pe#x)C0;_-;Q&Yn+d)hGiAZ{oC%e5Eg=edYL*LEkv<2{l?w!;$<(HDoVjc4&IOxyRWpKVgKFzs+2DFeg z=v_%oS&CDL_=tImFcipbNmjUOq-6LHHHMbrymn!pTf)EKwJv%^tJK;8&A-N(Cl!rg z#XZUEW_oF%!|-t;4AHy#-P+iFjSQhxmlJv9x591bE^|r^97OsECPi)|+OjAK2J&0+ zQ834W^7gA#JzY!2BsQ>LBD?8CbFiyeEElz;ZZGhp$9-6haw`iorE?44gR{k>5N+E< zf^joyA7L)j>iK@=yq+OSx$!|Gc)VU|!^0=aWK*ZwSk`fqM#c?ui8)a&AeLlNN7w00 zM^|eRt&w^2%gCzs>29YiAZ5?@>+k6;W~ifShiouPZ0FT|unRC|R8+ znP+s@NTYh&fev!Bc$>gDYh$a{vDXIf9!d#1W z^DH&n`ouA3L_wbs){`=ruB2gwvll;L#f29 z>FXBM=%UXu6NhiuMSpvd8GuYmZN$L;nKM+D!tui)wMjrQO^czr^h`5_&5VA->l~vB z>iBo>&hA+~85pITB_4RkENAj7+SX4j>x}i@*KEolt{m$ z#uI&k)#4HsZuX%1Hc_Y;zr}Y(shq%!P9$0uii02OB!|@Yh@6QpFXKN+7eEE5)>_Y$ zg)7$dhAr~UyThvX&nhoR2IAo#p@$dsq?TAOb&*cky>ugZLW8@gI3RYuVa(lK)qso_ z7euvUzg-aSHTq4ZmwfrFPf;_%5bbX8Sl{bm_x!s@W|`ulwXd^kv37T+t98`a9Co6= z?Doz<^YP9~#LtlqeZy5Q*Z0KOCK=RDd)YpRak=q2r@O~N23C}=cg$hSHCBnR!l(Sr zyAq^%;@ujP@xASl%rSN!^xBB~&JQahD8J?M)R-jW#8e<@MM?>gPC2IswBRK^_FCln z;Wc&2RYt77AjTcN$=T+kwNbhwmdg(q0y9{iUcUc4KWs0R;$X*-W)HAgw&o>cAZqA>eaTY&g&v z)>vUBw2se*pB44CeF-i4gETxVbE{+_yl*3%`@WXFgRi*s8A0*){&1XeJ!;j)Rs@*M ze0vIf+G)vm1LDlF?xuauF*4m%XmzE#-Mw*_pUD{2RSKcBJ|ZC~P#QmbmK~G>79?R)0emvAo?{)`Q>y=BAJ@!NGLA<(559@wm*pT4TM;|ob z8g^72RFV@tIx?ijkrArb)G4V)Tg+}t^%fo0Wmsvja^8!~B7R?uR4eZ7g66!fqQ6Xj zKNHbI_2ZmQt`@bgXlHDS_U%Njka9Hk8I5OJ@3N3Q8cpVgx#5?mV?0G#@C&fwUpRE+ zlTX^$NEO`UpnB@=2KR^IJx1|gtr&%3NUI;Y9yJUKS0-CGafM2D$eS$@mrs5qTZTHL zJYbqlWz7k+AKDs1oX-D-{A2ux0xmU6GvI)}E7fJ(C}{`Kq17`(K zz8u6qmYPyqup(=JWN(7a!Zp`xJ{JC32f2q>x%Sl&4Pl9&_?lBtC=!a(MAK6D&!%8= zBhFX{-$xupy&cL&V^(li>RCwLa*O?!Z^=iyqn`^IOh*m| z^fxZbbawYsRN>)-Q&hR0#8PP4d3MB2ccIW5F`D{I&J0 zP3}0<(#WgJw)K~iKYi$bEFu(-Xo^XmDLnnmI}O`i9n(MXy9rSP^b)?p%kjEPKkh3M zC_(P%nm0&jI~Dz0sfthO?Ftv_MDskdhaanvl^r`nlM#Iw`>}wF=hS& zRr1FVo@zXUF@ElQPcS(C;M=~wU!r)zq^|O)7~EjvKDZD`mx-m%(Q-BbE|?h8pTRf;XSH` zv^S@&AL_QCfST&pAn^u9JRhY=sKY?CX4UYJ)68ejBd8qWY(9Rxn|9Z|XOcjTcS6SQ z@j|(ZGv6X^5Bvun<5mY~=9BjCP(8iy`O;FGi-D#_A*gXZL{jbQz3VP-W_X^aqJ8RN zjbH7)OK2h~$m3oCS5V5N%#~?XBBfNDsZfEPaO^|c#rDkR9-01yBYmFk33OijXEki& z7NZAIGDbX@PuIii6AcWXWK`hGY9a@jmUUVyjtCH~#z#FM9?S}mjP|vT)B8?J?Q+y; zRM*i|y-~5U6A;11@sWTncL)Dc#-Q2JynCeti%C21=>pj*X32DNQ|S@GzG%Fe#~E?a zAr@(i(t6p}Zjix!bVtKm#?;*1PFU{aV-MvbVOMXb*CNnBhtR;D4Yl-RCb5e02_+Y_ zEew#hB{1N7%QQ~uF2CS&i`S=aDSKFcgx&~wu6G0=>R#Y<3@;VFda79B0RtTJSfZ(FI`soCce*tnLONQ3-2?(3%Z(ZqwB$?v zB92k=@ln%ssKDUdVZA&p4wU@97v2Iz`?O)K$3GOmMZK{tw`U0=NMz8n6FN{aru#DS zA@xM8cScTeaRI4?h3#8)n7P9@%)#ShRU*%6Dq#itd$LwyTT9X^8k6LHDJIT#46pk_ zFwOAI7nE6oi$vbL_FA%;$x;8{?Om;?DBR{hKj9WIy{LTDlD%+FDWFcX9UPjHWA1=O zt&N!J%=3ei1v|Gkb+jKFxlEU%v!uXqlo(;ZX*K6DL#q(fqpY_^Bb+Qp{OveDxHi!4 zh<=|$R?Pd-s@I4~^i;A!rYF?G>i)a5nBkOiEK_%VMFLGk$;bfLy^8$g=e1r$Je|qz zhfB{rm(DDp(VrX0G-U;#&3h}-k-gZ?C&f1{lloF`{va;S=>r4X*MzwYlEPDJEv0NZ zE1?PvqcxnGWRlmtM^Zr+$+3iC6t0*#2TdGogFEw6p%&KYDtY#H*@Dikg|`WK-IsX- z*7P_zg2O2C2|rHxEg*Mw2p*%yBqAqcN8?!AvZ$_j@=xK}^)<93^jK@2Q%y=gCnP

nRksDCl2Flr1+2S#SFj8JtB$<|-)-!dgXYeor7pG@<*0kWFDnv+7ns6VZFJ zMQbLLll!<^uC@b82;K2e9)p2cyV=`NqG^l$m~w<<(kpKF=$~P339q`X_9))DSP(nw zNYaPRjO_2`<2Uz~QtS~-^}2Yz6Kr}d8Zd4_=zE6nG$gGy;0oIfK^*N|gN zvulBUWW9#c(K33?^SI*+*@j9>;;-G!?##%n^xHN0O}BJQY;S!js*e_x2*^2aR=?b5 z@NOoK&TMj#ty3!gsIrlk8g3@%{p8(fIL!uGR)#P3&Y^?SvMVl>HOd<1L1Prj-TOfl z13tVAm$hdaJbcP#+xDB9=UC}>7;1jO=KX4|-lXD9Tm(;F8GSXIbz9sG^y-xm{3-Gy z$eP;M_CA5wJX!ve^LOdB7sqN9Ewks5CDDBB6z~onY&mE8_qUA5_MYAH7E{a4M~$Qu zeQOm{R8+#_DyB@^co15RR&GB0{9bV>eVAj=d_>d|j2QlNmeHYCLb3;2S`+D;X)8Ym zxn7^ZQzFKgDtEs8G*%%yftXlO646Bn|M2#wudj-=zB5CYc?s1JF3hQvj0ePsJ$BK> zKk`KMeE%~(WWD^MNp~DGv{FM+80L48QsIo-ToGe!FbS;3R0dmyYnNCaat_7$!W2!I z7jr0T8LqV}Ec)^3L8-GZOKSA(_{CgQiLid&p5#tRuo+Q{vp1F=-f^mG%u~xTcaKro z{`i=nPCXc5VEYYHO-y~YK{Bi)T7r&#ifcsf>_XYb7Yl|b+~}#I^cuzd`j>Z7xphf= zD{+E5s9rAYXlKTZyq!xpv<-u+G1Z)W24iU472GeJx5YhxTCK^}Ugiw_k_9(V_B&P9 z&UW04N2d#^;+BMv;Y)a{!e zgDIiPgGV_p(L8$rZK4voA@o#c8o8!;+6^pU_>nQb@s5HL))|uBatJQCZ)5sI0To zf#B)+{8k!fU-u%OA?rzlKB5WJr0X;Zo8H!D@oQ|z8Q-=xYT3#u0o1C5+Rrh!*bTW$9ASC67J*bH; zjD+|&KPNWkCj*lkcjKy>8g0U6&X)iE_(&)pDPjNQ1DYkVaMq~Mi6}`1*>PS$C%YFu zxtYbV!iLMm?_@0CblFHl7ODXj~YKW#MAobV4 z)*WG0N)tHwkoF3hnOGKA?LBD+s{oWYb(PgtB4YA{s~9>_T_KX5nlsXio;0mAPa(A> z_?UT`r$n4AHY^n5n;)2Cg*J?{j_ss;<54e~U@c*ZYcp0zNi~Wd|H%4Y920vgMUosD zia{74yYBY(B7Sn-|M7RD3v;|5({jTEWFu@XJW>}E4=50f9#v!?jH2WpbR|}yPbbZy zy0%VQvxHlZ%cx^0x`$7jdJrd4MS0vUG{(R?GZ~Ds`B5~ex=KQcYi`lRh)epqRG{gb zJ?gR4Qg?*o7svKzlbKTP+C<9M@SFpRD_->>4v#qZchbBcQ^|Z@m|n(}d23v$V$}2~ zqf$^5N{wei9QX2gUSxW@*imC5*=zItJuymaa+;rsNj~+{^8%WjRoN&lZ;R}1@p?2B z+lX%F3b9(`JjQPO!1A?=gucQ=nB(bO5)6ase4KYf7Rp4xbOp3s<1ow2hFdcNrfxeI z>BDSEf={BOT|Ywm6*uh$#nBO&pPib7)nrjRJ`%F_PeyI>q&wj*+)~D8qMxjRuf8** zDejIt6&G&fUD7c3GOBVzf&P;dk+LtkV|2`mQ~O?pu(vPPi|#+J3;IYVO=V+(0iTh8oZ2b&4!7Y4a?PoaP93t+>rCD~%53)I>@X|7?WnYqM;Mm%{nu zinsHr((kaMiF#1V9$K;=H;QAz;$`zdL+8{Tm!B3!)mKM~W_E^s4*%L$|KX=-sef85 zf_Y*>wJ~jN$AOC4C@N<>CGSuV8}W3zWf<4xp_TIUFrTdX3JAK)}L3uTchj#j z37JK{<^UT{Id6JSy(DPiD8^am+fMvwe-ZqfVeDy?lZh$hjyS0%t&)=!<;ApCdW~-6 z<>Red1$DTyL4v(*Cf6*QAhRB#t`nI6c$liwjVE=QADyY!W{)PkPx8i^Gn$qZl0>pv zzd{v><{l({j)i~4gGHin5T+_Wh8W$VrX!O!cbL8WCfCo%RrPJW4TtT+*^KF0_Ue2B zm71K0Xbp|t(P`CiFT^I*zKLf7HFs^TU$o_PAO~!lkhYFsI$%Hl7Q(L%zwiv_<9oYF z*9`;_3mLs~`b$KIE`&>a`GH#k>nH2WF*>*iO(lbY{`+bN7jN($^=a!2_l=HX zv+)qW$qnS9(R%VTQQjfXc${ooK`kavFZA#p(sG1T0IpY4lW4;V+0%fqqCz+&gB`0i zW#Qf>8fL4Ni#jV}-{Y z{o$EE_oy-~KOMgRrv5j_JZpscSQiP?1Rgdl7i{M(5cS-j3(T8{9qCdD(GRpTd z#s9QBUR3oCK;_W9c#brje9n2IqHaqS%M4|sNVU|-NueCGF^j6l_(jjr^S!R%3KOgk zm$9>`i=(&5duLo8ovLhE6bT~bp>R>P%J2nMSP6D{Q}S-#_jS{KKPf&JXozj|q(^+B zyRYj!rgT0w7QT&^JJsfI#qlC_z2&w9g{k}3%-!hFL3WP=BUjP2;{n)RHpCVz2Vs6Z zk&7vtFTHH=m@EA@+(G+Ees_(FDcY!FcIn-Z$4*SKU#s12Nuv}K4-DL%iB#bD93sw8 zZ?-X+!+4_4v)28&#jUwJ;(qjLqPPLZy~MGHGHi*2l6FshrfwFPWul-aw%@cW}HveCepOP)}5ts;Q@gQTOHJ zc@?irvU6zPnfz4ni-q?*sQa)R>9VZpaD<~oPKT=q9)O#He?|L#^#c`2>K0fx2UqgC2nWU|o zp^Is&p`|IdUH4JElqieLG9i-27e?4*j;5f!57nA$)7@sho?;38PradA(V-Qln|zYV zGnpEYD^JSqaN|nFHagKey8D$OG|Lmb5F341axe)e(ch*MS-YAyyBnb}WjRpt-C)?; zVi%_K;YTkCGWZ#PxX-uh=YOK+E+25e@*rB@kd7C5l|&);G^U{2(`Wqo`z(1kmG2UV zZd!#{LGSbif|tY6qiTls6pbDi609(Ckf;)%(&O3IQH0#(lE9#hVil#^%S*+3oFz3$ z652Pbqx0TX4ksC98+9JXR~}a#V~5?BmjBjirkYXz%t;*0)2~f=Qny~FYGqry;3%zT zg+$xpvwE+zQg^OW4h?cSYTy)@7_Q|P`>obuyU)7JyIO&i(m3HG!Ibyf9 zX$ULevh1c*W6Wn+Poe7uvrko-a^#;rX4Q1WWqSfwY8!?N6~rjykZ-2bEuFpEW%9h( z{cV&*4Q`lRxFfxTW+&m<%-IL-ZTp10Tw2vH4D9@?W0T ztzER|L+3%vY3kb8krUERcYz~b(Xv%K2*tP6@TwfUjVV)G`DAvQ7SYEFhm(^(vzTl{ z#l*ZG)fbQMGGO}2#%%PmB~{ENRNQ#)os&Im>f3PC3reK9>zcVDRAPM;QJu>nRR^&v z`66C?(K_jEUWn<`FBdDgRA*^#p}h$;ZAA^?#k%|G@a0Dl%puz-Is0SDj+3YY2TJZ( zw5M;;|{q9(}I@E91%ACP&_gl&{j^>RZmcj8-c&lk}4r%4^%W6%}$h&AiK1 z^ry*;QGeHu!>_ZCIUvVH?qKNfBtFKbmu+rFtnCeq!g18&Q$tQiq^D+|Oy9jTQQUS! zpmCu_jOYH*c}RpcZH$Rkc2x6IfNNcpeszl{Frq6=aj&WUG6+Y$sH6Sxll!HfsH0-8 zNcSq&$N7|7=tRVC(Ovlux_!T#q3M)z2s&o2B2(Qir$40Zo_^V!evwfZ{AJ}{swQ2$ z=6+&_@idYSigpp5EVgVHsk{hTbvl)$fUXCh9cuqlBJxMUvOfOl7s>)DpAhcF(-HKG z_cLi@Qx&ak88=36#NN-zaJiM;r9OJdZm}^+G-0$5+|SSIQeX!A%(>{54NrELQRB=| zRNpX)`={(_5!Sd$Jc)a-m)K+$%)0tY-3>UsUn<&Rys z4rr1tXy0l}1smv<4$rkFC#dlc8L(LinOb@;wS>)QEcm!Q(${*!jXIagVPoQd`I@G? zdOcTd1PMDVSO=+%5jF@zH3!08XQGE{?I)z`MsVIt3p4>`!ZI2lLD)RR6jE1Rfh14C`V;S=sOOkNms)NE3fVyB6vAW$GF8k!`&fzXJbrE zF0HBqB53?PmW;`uy(`J9T3@}wSLsJI=9-Tr z(__+>URI&5HN)G9s@oP>_1+^~BqQe# zsBTjwm2kAO8(6KdH{6}$l{oyWZ9QLX)w$l$cl1hE#t18#=Rra8alii}A`;i#{Vd!g zZ4$E0jd~NWH9^`97MA8GV--vrQlB4&{P>V2|5HOtw;9>*VEIvTdX+)Y7hJy?&sLp+ zjq$vJFEY*z=VTqjoTnotRq`BBVa9aC`%LKhvM;t>tps=)?l4tx-crwVli!@Ryv=N| z*ReHaReW-vt@fc6hB5a@?YI?_eINXN`cM=^rK6&)*H)e|*zSwV6{Z)F{zh^%sPK`V z&V`*_(L}R~aeKMAq|YVcl#IU5drhA*P@Q@0M!-fVb#(QRByr)K=hW45Rjf26PV4oW z<6UAJN;B1zq?b-(3E#=3!T=r+C9}TpGfTGcL?2Mb!t49;tf=z5Q&h*9wJBP9^x`zI zumWr64K&%FU7cQZX(HVYc0KObVSLjk1;L5K_@7iNl6M#MIWahg*NqNOTf*&Y-$^0+rpLw34w>;X7HLy?MJBTwWwr zu))t1d!e|#cXZplVWer9v$ogZf^@9^UMM zHH?D7<|WdPN`qaX_CQq-hq>zGv1TC~nRl?~AjZ~hvh8I2DxLX3yrn2JYXJ)ej0Ed@ z+UuiEvd4#rM|^3t+)o}w3tHwItn&zxDeRt~GoMc9&J<6uXU30s?(~b6j^0Ne3aQ3x zF$(p{-o_|8*~zMJQsa3gdU8&TbvA?iF1U_hClS^KFM?s$=FT2vH?%}6>V6>M%cWE1 zQ_py+FDl<&p{z*gZj%qqj6Cyw>PjUV_GR$#IeSBBX3h-%o6*6E&6zviu~4B*)o$H` zwxX|BXJId0Bn<9VFP`=7QM0JG&CwgqwlqJiN@x6WrXf+j$K3T&Tmd;vtx&r8tJC-Q z`()bICglwAKX{(c4q+UGl&$#G`<*&%2ybvdsI@gCT2xQVQ^cTkZ8wYknit-fF^woT zuEHT*sDNd>L{*4>7ultfUj87ve5(u&tABvGfZlpB#{IqyW3gpj(sW0vAs?Pm%ShK} z_JKfB3EI73J^06;ysNFer<1l{&6-QWNA7p|D6b8EF*bL9r`#Rbp%s+xm*2KkQ61h9 z9H59SqV{aJc-5YWQgO-6+O-K+t2kbH_wLZbBvtOzlnLdXY-v}4U^YYSKxRP2$k7Ez!)k>>GhW(BH+(aZ=&B6PC?TQD>xn!B=qa?`dpMdHmT)N?jQHQa^6a$b!?N@c)LedH>HN{w z_5=2gU?N926xTN^(HVXbGn3WcHLn-E_lw~Vk}#_nvIqqS_50n3y8Jhv)U@XBO3#Ex z?B3y*W4&bMt@VAPEvOsAMNfAt66S;7tw-^X1U&iHM9UqTd3iX>6AX~#_ZxpuK5Lk` zJmn&A9-JMP!IwEbGv=S9_LAG~MzrcF%DEJzq&n(Lx^e z@5TZ#I~ACDFC^WYn%=Ay@-^I03AT$zcswoYhKp1@zU+I*bs%r=C!Po3REq`>pLxsED*J2);5Q2bX?cUv4{ zt$M(Gj|y~6C~0LaRtL_)An5K`mr1!XmA@^_;BKW{>2sw}uluWz7xqvGPH1cARo?}$ zcJZfeQS8UvEqc3CRabNRI#r{5$Tv~KRZaXqUokaZKCdc7M(8O2m1Ic~xnaX?GWye% z%p>Y7{1_kF^c`7!qtM)%za$=R4Kh;zakkM!gJFJV`IfImWS~Oee9St$jn))}EudRk z3n=6Xp-#VH3AC)IL09@~rD``>+Dg%7w*p0x>wkh3t>(U$9#-{&Ioh_R#JgzpMz!r( zCJZ1gVOgr?=eXeL8LS}wJ=lynHMn2IFonWFinG6{24UOW^);sX=ppTxEBC999M6raMtVP9p#L(r#`p$XO|S=@?qcaAv&?A<10r2FqqI`XJ?m?8VMn|LVw^la~{NqqO6s5CesnosXjX6_LaEtzW_r*Nx)9 z8P1|OzGfm&{!E-FD%7~)Bn~jOds%i6)2JTOV7-!GkgTgzntQhY z=a?{Ra_RVe6xTB~&aeL#;7j=^VQUapEqS_)xQF5Ukf91E;V#;N z^)B4v^a7PC`0wN}WdVuq){p%?xy%2Lghqzh(-z-)q#Y#x4q$P5)C!O3x14PI(AbMbzvEg}*#+WC4`LgRoN5#!$~Ntvl+xYe@pKvi`d0 zp%_p7`8+9L1|0wAZPNJEo=%<~$T>9)IeWPbzSt+LN|wDV-vRh!@55ypj6U7bZgJ6( za#qs@R9|eINtHk1s9QPO{c+B23DpiV>(3V5X38t6d%k^I`^Ib22u9%0Ep1w%?&E5s zmyheCuyr2ZgB;8hnDsxxGaRtR$yPQ&s&AwnY^hOYG2V0_zebO2bsu|fhC6HRl@!<~ zcXH?4g0@3KIkNK*hILLwxQe85eT9V1L&6U?zuR#QGJDGR;CMIsn*Tpid+OlP8396l zj0Ma1m$`(oyEiJ$TPUULkmf~bP-fHn~xF)BR3<%@MlUm5# zE0F9;oW2=Ur41b+ob^&UDG|ouBVAy#Q)YN_QfUgmd?WqpXfq`12Om+Ee*)#FMZz zd#lGwWEpATF!dVKS>6A!pFNeQ+6dp^fK|4)2Cn&WqHvP>c4@J~m@Sr7lnG#jQgpBASZ zyi%4B|0_f_ScA7CRHA~n$O_ffRb7(Evn}i*X8%IAi)%sW{7Bs6*J+HI)-lko+{y%i zuiHEY9oRwv8-T_RV_E!(v6PN1cCR#<4iW^U#{Hz4qEkqjkf9#n*cpMA=-2V9{5&@; z6HX1KAu|zSsOe*9Nzi4yqXuE#42$)54H;4?ZMZ?~45EB0|9`UoVlX$I@p>RLPa|v4?2F9w&K^7+z6(CQ7nSTZXLz1>AXdqW35#iUDkgDty8+S}v)9ssvA2Y%v+veLV?`c$0IE%w9@V@x}6!Ww!IH-)uV$ZObGlC;sx z+PvNr-&ZMxuEf`9t0d4_PIJ_?*nWV_mBh$EhhMX~9VuGfu7tjoxlj0Dvw+cOpkG~I zk**AuXqJDqG(oJ|j-=LBHoZ1<9sK0u!P+LfAJ}R5PiNFKY_jaro%NOq-pu-T8m5iL)m7Y770Mk%i&>l}J9oJwnbZ89zcxG_Gc%dvjVX?VOf6P_qM>(= z+s|;TxL4{`$dtNycyF$q+uT_yp8>-7-+OetPs_7g&a>Tfk&0-4km@;9rHPh;bEb%7<8yi9~3b!VvF*ZtW?eSy)c5>t*9O^A@gWtzL%{ z(+so=?^Gz#a~#LWrF1b-wM=TQX@77j%>jP+X6fAkO`stIdkaV8Z`py<`-pD9Dm0U% zHC%*B%>vE4@l@W4`shsUbtPwG9W*N-IMVx9wy3%gHLxFg(4Go-M#93MRBaU$1w6`ucVIC;mBJHL z+1P0;UX|m5(tF(c0JEPM>4#8z{(&djE%aPB7uy6`3eT3<_af#<{<)DB(4)oIz z5T?Ziw~Zl_7_r0N{!pGU*-jl?ZA}nL@!UcaX;oV$Yz4=i1d#-V;OGkCy2?!HutJy8(OPe;9lLJ#9H~fZl#s!UOeU3~Iq+k$XYP;Z7!q&82NGXvUNEZ0T>rzfr!wOt|k4k3Y3a5UvOoD7e8 z@xP&MM-onf^mu@2!7~$P;lavFO+s%tTb|xPSICD>Crl<%FKmstskW$m4OK+B(G&?6 z#2@^H3|JY}##D2l9x>mm?g*?;qh zvYvjsK8ELx%4%V^YHnBqwAVQc(U%SDUmkbUhZcIGWrE~TKFAZZRLTCSb&p{m4KYWL zF3jN2S7pV4y7dQQuRaWD`6UYoR6_}7T=^XS@_VJfB~tpBeO%%Mz{Oy%ngJZYVKsCV z6}lInZ(ho7Pp~xk!rmUsnkJ!W<7AVh-3;W}G7|;fBj0Jy)?lDHlK`T9(Pkq#X$pnO z%Aaj&eC_;K@VqQ$weZEr#ls{|y4=`}F(vF#`%{#UkD-01!NQ~m+ z@~U5f%Nn%tpSU$ykjCM3Zdjdft+Ip!xM!_{h)CN#oHoazighvlnxAP-w~Dd8Azmmg z{1Ev$91hzebpc<>1bg!|Ovhey3pGVS|-r-p)le znW6R~eA2pc)+9E}0jrL}X`y#0`eSy3ur37oUXn5ks#DLSFFSgj#Bp2ed$NDx1<^DZ z4z>+fXitcj2-d8^`_|x02_sSUUxA@FfODJ??`ylUbK1HF_3kjl_S{Mk@8f&^W zuv+c;7`oYDMsB7mraNk>o~wKLOR_Q!w&OyU16|ddO?(DLYEGo4)P9~@Y-Y^Y+m6}X zKl)SG%*KbiU`9{2<{=;m>6$z+ zwtge_MrP^so)McV*Hon@dVBIlKR}J}H_OMs4jM!JxRfsxGQ;B(g}Ztx4d^p0?elCB zIkvBWAdTKSRpVg3w)Y7uejJ~wP&q5`5M)^Se}u3xif8qFdxs#lm^rQi1J#zZ55UD& zLUX2a<^-S^`}t9bb?EEZi~mHrnO(-@WFEJZ{e9oAj!TSd=LDE4FS;`{1?ajAd3}YI zEIptl=g95#*v)pt#aJEwsqa#`2GOY#{|;MsTs$zjSKzurBqY5Ix5?C4^y!+o&7(*Z zw`oGxE)Moa?m?4u20%p+KUW09RGt4+;jsdBI*n>W&?+H;8bd9rO786uZ-}e2IL)^X zN&}{z)K^$u==Z&Ix6%|JT${w2RZ1)0R6ZKMM8uI8r0oRPsuPIEwO;IdlFc-VjN}%D zJnLy@R7(=bdK>KcO<9)s6&PiBB6*yr#)rM#R-5pm04orA||wemfr z>HcKsxv)+KyLUm#_)lY>B>fU7S`?aSZ}_afw>n;5(*Y;!ubYvoWkO|41t>!PUIPS! zv82b|IhN+IhiIj)Qa!Eqxbzc>8kfwIlKTfulT2Nn6+bDwtO>E{P%J6YRB`5I>j*wv zw=jwI?@yB)NtEI*xC^^tuZem$tk|FAg_e*MwbvPcNd$YE%Bw%odKwDtH5=A$$UY$+ zU~BPq49>ayk=o%WtJix_D4u&;lw(z;8GI+0{HmewLu-*+r8>P&J4BDjVrgYAE0)Tz z4bIf4ofA)NjT_wsKe;5B3mEs`oOid!SFYVZqPrp`lN<6vQ#7MWZB_n&oc&?DC1tt? zIiNF%A^+hJusC}WQmRz8X29y^@{}MM6ppg;G7ZXoqGlI2iv*MT$7vj{c(Iz8TEA-@ zPgYov`bkdSAJY|X>?i!^c5-tA&P)Qo)`@v-2xNKL%}hq{a#}G~cSmM5oRB4P-F0ic z2ONz;pof>d#-|#Beo!)0$+8k%K~(#~ zeNOHT_q@aCC}wT}D>ou_3btp~paixEhgzz#;vJ=jh?OKxub(wS{B zrbA2w&sK?vovF89KCVZz?j*^2X%P}4Ab{&Aogr%Mvgo)nwjFpcq5aek4gY1*B`PgU`&RJ-S|#BwPG5HMYU%Q7&0&|k zXway8G2o7vOD3ypeUcus59#0skD;Obr@MeF{Q$LR&6OvAI3V{2m(%B@iCfMGM2SDG zgO4&{B5agf0-!s=2KmQhmB%HpdrmQrR9_R(#_Er2Oe=OgfexHMex|wf;XizFf;kQa z*d`fRhFBnP@b?U4^O?fyW-1l}VcZBFdUkce@=_aznOPbRW(AW*JZ)kZ4{Pds?KdaZ z=kRSJTertp7sWeaksm0As6gP1v%9Cdorr<0+`VN>K;R!|$%{J8y#94lAMRJ9`TLkN z^C+-s!Chq!>2e*xez36~tNKbif3AvC7hhf(aM?iSfdRf;uu?rSLndOq-t~eX^IcSd z6n4cEo;ou-;3FRl-cL!1b^jpjw&lJWioa~z;fMQpB5;po?KOI>N5t~X&;vNC)JOw- znt?d8tbokU7jB-&$D4v3z5|PEb4HdgL%?8rUDhu|wcexW>)oPh|9uBjqIn`Q&jOTf zr8f!tBaZqdjodz!xOGt#zcITWX6aZ=fa6Vw1{LTuw0|%h}$m5hKBJAOkFpV4KiImc|0Yx^d@b8)`c66`{mUj}249756$J6Vylw ze~;VjOTcY_H6Zneg=IJczHt?E3alM+_C}7Ot9v5@bfw9*G1$W5P~#mghkOI%3?A7)V#Uk#bZK|6-uWmu9F~W=P<D7UOM)l1gpnBvHr06&EyREkDV8B>D8~6`kDq!_V%I@Ae~;n z&;Y>Ai!~oGKj!#HoeG(rXa_pfLr*WBXdeU#l8_cER80q`pq$l{qON6t#)?J$VbF{K zkN_LMGZ40IiojTvbSX5@)xlZ(wRGSW;%D~h68Gi+0*1W|QvHY}qCT{&DFQCY@c&HV z(VTOh##v%ZXorcp%$6MHh1!#3(4zvoT`fEpYv?-DD)Qs-pQoiB zEdz*<^D&--DR|*=KYLiN0!6fu_6!wa{Jy=7W$zSItFz^9&80^p9bbEmY#=%%!c4kF zMtKOHI9UJK7uASzgrDvWqE8BUm)F>Gpz9`{Lcbl!U~_qbuYj|o0CMBp+JaD#9BPz@ zUBjo-<__h$Rs&dNE(HA|Gh~fvS)XSarcf2Gd6OQP$^2rjxn#yPDQz*<)2{1fPF@1D zR3s<_mH9{Z39HPCBq9StNF4 z?#W7>;LS>1R4~46dg50ZUEP1&w~miZeK>Y#O7-L|cE<^n zN1S*Evzc96O}>IQd2Ut=I3?pi$J+BZEnu$XW);5b4HVBR)30aHfke+7_uG_F%oIA3I7T)Rks2;;Ao4sTXO zh<6nNYQLurF=>owwX@#R`UI6i$rnv+i5KPYAmCq6b_uJX3v@sF<-3hSq|9f% zCNW?Ahk+(o5J)X-Q00UEN3S5%za5htf$p zFME`-4lqT16_k_|oEC0nDl4gaq|M`733-xA#R zvfx%MnmcD*_}40izD5+Xf)Cx;umi@+1M&GZ3`QBA*BAp_F7x;oL8!Wjh>Le7a=_d- zJdY<2931Hz(h$a=_uy!ReAM8;?5z_b@SB;7v_cYnstcAtLP%X^%NzS#`|H+xgo_Q) z)S6bV!iOej;|(IQ%kd$--#=(P1m|GXc}{AA&`Zmr(My=+^$~7+{|YrNiuFj z5o2jjB0;^Uv?oC+tl%2bwF5U9)525&nsq>|`%~Db?&b4+@_$%y%4n8{98v`uZ_Yat)w$%p4*gTjP%Rekqs7)0 zA;=+;2fCgAKA9Y-T}xgp+T?}(Gl1LMiJFlpi7UUJfne376kQ=JkW(R~{nt@Y!)k;w z$YF)JYRnh^O!qUP>lE@6xaHI|IHFq(I#$*yfnT}+X2t<4YVUZn|-u#>6CMGGg%?|oMsfg zSHENs8VujAU4|u*Cxg=qw?3=d>@=TSJ-n}6bzgq%R~iUJ`Y%TK`_g&sTaZ_yZy6gnlFE$Z*{1_MWP`jYbuc<@Jf^?zGVIcSSrS4yFNVgUa>CV4m8;!ttAPaHgdXU}Cn+!`+ zG2esEtvOV%KLl!oCfGv|1DTWaM6uSusbMFCaYsggwAzaggKnGu7vDz{n&jwyjX9S5bP1^SqFbZ8ebZ(D^lD>nEL1E$*Tqwt*(N@tJZyap1_ny+ zUk1YQzRly3Tm5|x=66toa3=6c#n-xjWtY>T z*nNre)On9{z+c1I(icr6eRzZhgK$M-{O{#D_vGD{+g+teB^R+2`;L09MI!D#w{AZ1 z5$YZWq`X}purM7$ceN}PE_fu1XsWsbHNA0;U}vCp-n1ki^iJg^Vf|j-jj%sd38W=R zNZyqq%w?F386TqG4sLNbibBU<^R1$nmQTmS%J+FZqyd^`(+^p2U9g%hf4dCxCyCR9 z`HZa5BS1xZi2~DJ5;6rsK|QT4SNo}g`s4Br0CRy=3i0V^2u!6s3u|ZmVOtDDu6$dK zCBZRuD?mYuz#$o_!X~>LfI`9Bb+vwyQiuc=xC1;=blD-YM}bv^#IR z12Cb6?aTJff!Az~k<;-5QJQfw?n?%&4)wxKTyC=>gIC5hUNVbAT;RKafY zx;h(RPsIKG;VTP$^?UAr6Co|VGpMMMwJkQUQlihaIrW$yJkI z`+9Cz;E9j*yO9Yugbf(La(vvwwVC^>rKzy4L^vG}ill<%XSUt9cyXGgBW~%1IYroA zvH@VoR7#3`iTg-@(+$}SsSXgPieC+b)fQ+hiO8i)QSZR-OY7#IEa!Q)jz?b&#M{~+ z%9~2|^nga(W_`SUx?N;I`}L@0^7dsoN-{Y_cD6^(b_k7Z1Aw4K~$+%p zaV=ko4C##X`RyCy3tR;3_SjybH!4w5*o@~nmLqFSe4G_im)Q53K-a*dI$--UaR3ZG z)wnp4gr@f@(P(*+UBBlC2ENX8+NxCmrJBo(e!9zf5a?e2^rg{p3}KUSpjxNlE}nd( zU8hR`gvtR_=RHw5O$U+{F}qgxIQbzoqyQLp8J5U+ya!@aqB(XF7YYh-k0%I^8jb2k zgtB3#w&TBnM;P~c(&in@QFmgtp2gOc|M;ig(^$8VZ5UMdwBNzDOAg!tC@X9ATwG07 zR3B30VZ{@F-SA+H`?SZH|1&U_g!r6x7ti|t8I}sz{TucR3HW3FEJ8`4*%a#eZEs-1 zRI}v_nxeIO=kn^ma2Jt4D!{3#0{Osv6&9T%VA!|R@^ffO*6d6D`Q z;gaE!8wGz;we0DVkKcoI3@OaAu|yWI-YQx}5vME+p@CLtOO_)xz|NVS6;JAMGVdiK zQw2##?!}|NF|q^klyFc_rB_n3n3WwuEk3j=L1&z#W#|&A!yF}wnbKX>bPNb630--VRhT#AN zE(VA@>uy{vW4!X^-lJ`H^y;>No+%v%nG#Vl!0 zr+r>Tl9H&CQBEP#=!+9%@Qo=p!an-mG_i%Q>Bn`{vK!E`b6^d?V<=u>t+~WXUs63u zDV|TynojB+E5nVr4W-BdA3ki6+63xwU9diYW!MT0OL1PyAesD=)Jv?R$CCH4L|ZkI z?7Wk5r=nAZH_eA`;9dt7V%l?o|IU!o^_fgQuq&)I_oiwPMJX~zT+#$)1-0(4dEg9^ zMOhz%iD#e}ZfNCNO1J2~W?4p!B_5)4rZ|-x6oc}?9KD9*mJUzPE<1Sq<#d*)I?a0e zf+P&VUO|8}P=FakBNdXf6w`WwVek}d#FmJ#aJl;g+x70Wv9NS7Z z&RumHDgNVIj|Ds`vbT(*{x<@{(kvIg7cP31Fezmm1`OT_@P|b0#_g<10n6*LuRF9H zy-A2REht=zy@9V68t{I&+8jFu5a+~t^C6Rg{6cnCY+76ardDu1b@W6ETcKWg4+2=J zSc%ujH;=V-wxpZrw`1xW!w(D$`?M|}|ED?TmF@c!mSLmyfS9XMag+l8w%*&^XsC=4 z#apG$AWT&t+Sr=b#1w9K!pfUjEn>kU%gj)_sc2KS-K4ZZNgGk|Pb`R~`);%u|KZ?8 zgT!M)12x3oDIPs8R7LH2pEQxnm+>Hk%8vkAD?8Zssw3!L7ksuduQeg`+*BS`)+Yx; zp$p=%bcbn}xa3i>aqEOT%H7GZG0=(3}_ ze?!cOC&R3x?WT@_%{d1yE1o$*>EbHoU;>-dXK5ufWsuB;CDc@T${_{Tn+>y9?SXd) zqEEgHO5^zN!C++X_Jj-suvUYFudyU6z9RqAR5;AH)@DdjxMb;ndfhKSHv12Q7q0({Jfz6+9&CW_v*`JmNPEGe6l^3`pyZ5P6}< zq_gFm8Oz>?BXHEHM7a@?0Sh*>3xtxU@+5ouX{OveHGBZW$=>|dAlesCI-xJVUt%b8 z!P^?Pv7#YXQK`RWi2z3bAjUZfX-ORE7l(b)Ef|+MZ0a>o&RXvaVZy4KB~&@xfIL6D z81Fgy!(Usu5NYn3;6o7g;{0V+XQ!WR)y`qta@ee8;t*-hpRO)}f@zoufX>DdzA4#Y z1G!QcyK<1#N?MmO87#ot!JkO=qATF*kmS4Wpb|H_1L=X!mvPu_9Nwr( zea}p2)j#xWuacn(Hh|CWCM$w!Q~)p!mc9Pin)O3GdqBE^oFx9`%7#pIVuf}mKLdm==!?;?ULNl+Sb7eBmWlcy>890(_Pn|Ydeiev?%!p^leA@N z@RTsXHFg}Di({W&@MdIqW_Bf~O~43fugv_+k9Lr@F3MuFHMo7#0`$)O{o>HT`VNrU zIJWQ2$?uDrX3=sh@hZK{bXUAK#WN0vH2Vn|vM|b8@_qNBkHhuzfxj#8#dLv1ey^^j zB?YcjJVUyw(ul=YYJl5ym+gJC?ZAq2Ak$GF%x3Pk{Uvq{U=SA_W~_GY(Y^D*9+UAy z?ipeo!DW}7f?z&;)m-T2OPHgPY|_0`42ubqjqvK^7QkDcyp$_F)Dbyok<(QXaC6sM zY={*HuplOOH{e;ifU4}t0e?}BQ)n7NgD|fsf#~sY1D8v|-jUnGTw(_?tO0Ch`ToOt z1=V-esIvE6zLJ?@@~|X1H2~$vdG&hjK@*cb`nXA*wWlm6BSNIaxPwO-%RS@*6YT*! zK~By@e&HvPnQi;6vom$ShVIIiswL(xkoJA#s^#QBHMfivN*j9}fHG;L;wPTTapjls z*$}{X%RsKcXEBMw2*dJNdF#`i@20VN2r&F@BBwS6-+p4V&}{8~!+UJb`%WQ{X^jOc z`E}!FC3ksDZCEzyD&ZPUkN1u?|hqV(eF+uz3VrBl$@$Xsck*4-c`~`YPFw8yu4+~)=W1&`AHCsDx z@u4K_Btlb-6k93*clmoxgWSBG#d zDIIeCnT5c?EAO)QLX&$-iI(tjj(qa19w7WaA4;E{NAm=iDsV!l_}~nr>$A2*{p!%* z!NDn?bNOCSonabBkpMm>e4Un@U%@lJuY-khOA&<{CuAdqc4&@{D>cmdQKFP{zd1eE!|X!XrqXk{g}K zCHXTvcm_-NU_@F+kflkDEUcir2e=2cK>Iq6|7k5Y9-X9Q@5_OfKBKa}TT; zpL3h30BI#zQvazOG{ZsA;;AO481CH-SSf`zsHM&0eVu^}NAsM|VjzYk@a?ee5WxB( zHT15rq!TqkF)&NHBHJq9lE+)5>Y?e1J(*)19?jEit%{0h&c&ykQi)Tda^ z38u;aW_M?}BiEBa>U;TkvrTg!jdO}R{om9MM6{Hj4BYbOWXn|q6--CJUV`Rd=a{G;;vcUfCYECugE(7y1Ibp~;N z=%2?<@*>J}oX8uWO6H#WH+?52RuvkA5GORSL&6iL0W1lI#w%7_6CL*P1B(?G%EE#j zxIQgxmdQTxZI4R7D!@Cma*x+bvv;t93^tD;_OH^pRgG+Nr3(AM>6z)<3fwB^x$m4* zmyi)L`<)V3br$(YX!3;li`};jv)_l~xV)V2aZ#r-{lPyrn>fcmf0v-Wy7VirZV`?= z5%;}ltNteS-nV4%4WH7?QTA;yi3#N0 zj}LkgGHkq?YNEwlzM66NBbWPN_0K$6J%25svLTiRx+K~d%jASJRKp-5ZWt*nF^J$~ zFLF|M+!vWDD3porg<8LRMq;3L0P#@9HS`OmvqL!*|H-`XQyL5tGI6)Xu=iu&zcI{| zsZM>G7qDAJU&ym$&=O(*ZjUIFB}duTb+`*zPWH#VlC33T-6Czh!?}(FShmO~y8G6! z%>Z4*Vh}eIXbgQoGcAl;QP|I3yNsS`kIUHC2*&tFLyX%1KD!Eq5iA*EJC%ax1_$qGQbI0~2y_HX!<$kMxr4KHNhHv-P)BlImJwJ(r1Me7 zjhu96oEPw)J<|To82?A&C?GR90mON{zw_dN;+BL8h|s+k1olyZRw_N8JSGw7EG@GY zzBVBpDfq&`ZG_v;pLoj-`dpe@Q`hajphfYT)|LmKj_lmFnpwETr!k-4;`#4IZPQDY z?%eU7^gNsYYzXsA<7*E#qdAe(+lU>#zYWZ|mL5_ie#^i2<-wSpfhZKRM+M8B>Ux~r zaL34K9R$bJ@UEzv%M%!wE6fMRhW>WE$A6WYDo{6*duwB>P0=UZNEyCI;M$ncog@OH zfvJRLHRy*ki8>hFF*ONtT*#0g;Tu{jrQ#m`(vz2KZS3N|C4%0i3cd8!_MBgzcT~$+ z6p{0>u7=yqNmg3UCO>&K6EYq{4^;x8iNbG8xO3XiomJPwI_?=bmxO|9VDjcw9<^8d z@{nP0U*de@q_HY&@2mzV&t080PKFk9<$M@xo<}{hmO20>t1S0z@s47cNbR*)H}8y7 zRv-Z}UGZLq->278wP89_#ekGT(N32cZZ_7uz_TB8AZ8d;#O=h{(IK5m%)y?8TLAE4 z#Gx?u0pG_UX!7%H&=p6%gf#9Xf1fXq3`&+h^Dk4x3tCt7y#U)dq8hK?cq8&4XNBw_ zBqxz_d6rw**(z8Sigv~9(rNGd;=hah4vCY)Yb3>E@%*kAt#h+!&&^&d_PUP%Y`b^JbEdYZ*rG|VoKcA zjGyggF~Yezxfj$UC=$P2U;k}HN@ca=@#F0#P=bKSy_tE zWven9>9Zy!Q1tF1SOcko3UYP<&m97uSUrzf_)si8*0KM11m6eEaTUF2fQ!v=me)_J z!!Uo|8k9@@=p_*Vc{1GV9X;@$KRUhKwq=~=J$a-yCn(c99n{01Y46@^q6f*iGqs=J zF58zKfa36ahv8|0O5DB;Sv^r$9BfyUPVQ?jV}x`wvw62RZPVtWyqn`QXtag}{Pz<% zi8mQXzh?IpQ#jmJ7_*aN#d7{(kc3WcLD3U(1W|aav%Z$eK=5I1e?$x&i(?HjZO|@K z(YilDisFVp0D{YQT48XjAv))ru>4=n#PID9nh{(WDwFa{2B1~v>Vb=46yt?V`N37o~@cx6ORQqGW$@! zqnW%-O;e&JmJFl*qQcSfxJ4TLFr}d(>~=KQTb?SMtV@SAPJ3$CmRaN3f)Vb`MF2hV z2NJm??ixW_G?$kyMP|?pm7i3w~C)3H%LA(HX=WFNTI5ja) zWyLp({&5;Jn`8KE2J+@RnK6u?!4#V&Nr_h@*{O1kMj`A5#iWD9 z%Pg1vtkH1$KXO&$RVCs?@x%sgZmD4o zh=<*%Xh+rL2;~(xR23Cowy|>O*9o96Fs#;{Lu0}pJWq_CbTS3}Q+NuUye&7`RFsoXeHa@KfV7>?g68OGUKZGz5~*8wf4()B z;t#h1o?8s`15@Y(?lqE@e4{I4)-)i@MqgW0td_EJ?^R;3k$WFp?5iQ@GrPy(c?uUn zpE@YC1iM;CD*cc0;SIDjL^{u$0WsWEc^VOcMWd&3N#hO3+Ns^R_HdTbJq6)SZz;N_uJ_&0-e#z=U0y{@< z-l2(J7=_ftwhkYY<~amg`qaHZL`}GUzBF!l7*xDja-AXNfMXEXnAK4OtRSRKI?HB3 zEGHk{ampJ0g4+*E_1N-xZgiVIS4%d>e{MifOZ`Sa&~7qEh>`FZ z+|+-{u$be9j%2ksJeWl>orR0MdSh%CPqF5E|H_^FlP6kgrZr!sn0*QR9pQu$;3tm2x;T(>45`8E`JK&_R5qvJR}i22OP0mV0>aqYPvzC z2F>N-)JaK+7Ab&e_DTnxWHU8TsOg2sz`simLHrXT<+M9drg#RoqufIo+ny>)>XO(k zZrc_jWCE0U)t|J`MVqb>oyOa6P7z;OS4f^7{E0uK90gYDgA9-#w5f358p`&?i?8m9q&{{&nB{Hu# zaQ_=%X}pPMJOF)k=taky1tq_42=cOJN&0wTk%p!Yg!XJ52yh^Ftk*?`GPN<<0Oo*- zn^I$MkpVt$eJxl>4(NQ!WY*{p>nRL7wC8(c7w~2!%XS9Hb(-0dNV2i4c8^8=2p`P3 z=X%%&Nopx`?-}rmB42T%aDh4M&GW$HtK2R~9}8SEhP$+OuRCRw2oT_9kkppN zcaAAtt2>pwJsGCMHg=ihMzWOB_1<+PYbd!`EV3(xfXz8MxuA$6neaNu0x(SB%j%mS z;BA5g*R76dtZIr*N_#5ljd1U7igk0{wsk{1TXItKOX_GSk%ufF1Q2>D3GbD@v9St< z^Qpxnt{F?uT~Rss@Wg5`_Lrl~emt*8|tBKuXTp8NqaT|qFG5w$q zX!@u9y_~ClorKDExSeq_Cp=4b;_K?%2=e1sGiGobTUImJTZ|3-H<$km$Lw&8nYfFlhSA*1G|@;cS`^TN66tBKTDm4 zObqGow?)jmrlE@SgxkT}{jwFySv%-u(Ldi5Rk{&~9|oz`pGg3p@4w(5&2ox=vekp)nc>(8-E-=b{i628yo7+lS`HsQyn-` zG`VTs&4>UTAXmq)hMG|#>D{Q#HNBNM1mg{tRfXZf2zFkRH6^LvXM&5PE;3gN#?-a= zPJnlLzu@HTZ@?(44H})a=ae3q1=J|3ZE(`ILdE+S7OA6+BFpL=eGp_pP9pKx_0Y50 zpX<#*ZViT`E5Jr^ADhK;YG(_uY)zQm*8hBsF5b$;`OY?Z9Aww^yP+<3kM1zCl^d}o ztmrPOW%tIn7&`n+u+Cu`}3hmyx+->(@0Ewtv!Tk1UU*eX?QQ{FtIYNt&gFu1Qugin95H zynXVop;Q*xK>eHhcsjZm^Q&I@DKOYB6;S%uip6)`!JijgSrZj`rC+JDVvlG>P`R*G zF#jZ5dypmZgqk&8nJ)Xhn|^7}+K1zoZRpm)(3M=Ll`TAOa%CZZ(yRfHJSK#KCBBcN+K-Rx3ev1&)dGEwonC@T3xYR(3xMIE5b$l7bDc!W|ZwI&XZE7YF-||c9 z&=QsG$qZ{x!XOitm8AjU;IV70s`>A`#TSFgrdl{&K)Yp+mQ|;4wjBtZPy-w+ezIL~$tjo~*L646&{H|Lj!Eq=xuzM}db)jW64^ zhb&87DMSh&%~$9|u*O&+eSL6zb(Zz{A%(6Kx3Xsgk3@%!)x2Isyr~nx(;|`C&b)a- zW(S@}LS#IBcJwWHC-MxoMAUKQu3=ssN(jZjHWDHB>eEk}ycK@+D`KlOEZ=B0Prq3Y zPiLNUP4m~AW`p=0dr2|4!HUE?a0XFbk~=a8AP96qZxtfTD@e#1QvC0EG#3)TF=$+n zlyk(7QliRDJR6TH5YmJV?3*pY-(=74Mx}VI>pw&B&U1Ui9%3IAhBG%O*6eEb?brdU zf*=-VYv>snfjWcRwVBdUq9b65OYplo47>G2nslyd>osRP-V;Z~Sm4mjOg$_JxwJ|=7k+qF2GRa<)Qg5k+taH3-W}sp7TdIOWtO&ml zSanJK?Hq~K-yG5qzW8T*wTzJ_r~g)b8eKM%-ZEtb#Wf@X&2%OZUi`p9vAdl3{84U_ z2F0&hZbKa+uDn10|7&)*(^dWb!bmatA~GY%{l`*k`x)et5dVpHNhKwj+txg%Eb$y+ zp@lBV3xV8xRMM>?d?lTaML+7BvDPQPA1q|1fdmw_<_GQg;L?Ud9olNupNbA50g~lO z8;o$THpv42`b#VB5A$GQYL0~ltv6=Sbkjd)cTCRv-iUE6OVv4MYijjS(#fdY;ZL$& z5Byk6@^fqMov)q+2W2yhSPiKu$1bnMVq4yBv%=G^&vIPaHADl|8H|QS;eO$hUtox_ z)ungt#9*p %wpzxBLHFdgeW@lLPFl{n%2L_aqon7j-xIGghJuJ3bGxcnPHZ^@{f ztX9t?9vONG@vYawjf%fSUjvwg40Rs4aSHTl#Kv6=dw<2j8N6?t=b%Zry^f@bSPyHT zPJEz*&_7)i-Y2UO0fWQLjo>r>DM=2abGtw!t)=wJmk&w5!iL@$&Y@?<36Cg^M?@Hg zxJx!bu??i+rRWA9j>xVjM^pE)4vqU#dN#ZsCPU5J{3VVA#yp z0@UpVF z)~Va3FK5!emxeqsEgEQ2Iv2$ntd++Rc)7lu?cUGD0hsUZ*7B>Wo z>H$bzdH!=CtuXX+>*bD36=bmve2);=?1TuI22x*^z-|uNxc5Z_cv>=Fa8ouJULQ>EvVXGFix@Pa`Hx z#E?vjK8Tj~P>P{A=ea50AOt@uE5^U6A3kl6eJawUxCQzvVmo%3aaJf*T%#w!@__gcMxPG`c>1m;RV@h+YlC79;(ALJhr|gN@{2$vew(v3f{TuL2KWI%@1C++myg)>N8>x)M(i*27R|J0JB)Un{hr^oy0vo-REdn zUOE9lSAvZjJf1v97cn8LwwZjVqOc6|i1@;@qexuyBo~>HK9R?U*2_7ZdD>nc{M2K| zm9^be?N6)=xMOP;wO@W|{Ge`R$??#-2zPU(EU6J+bSRd3mWG;GdGld%P-dzuoAa9Q zB-8JtFEV&By(hzzGZj6s+9@${^3{R$CxG-q3@*nP=Qf4B%|NOToi;6cWm@#+bbso^ zzdNw)jdKkc#HdCoSKi>TTN-b57O0E4Faq(^Gb<4c^Tsk_`~TRT5?OTxzge_L8z^da zXFK{jy}@@nmnnFFvk3a%>ULxIj_wrYO* z!7h_zVkjao($Z}0_%>($Mw&&th02})4Zl$AA$o^WSb__bdQ%Ul6a+A$rl}!7x*R_M zJd}3sPJ&Qfx;*&o{M(?w^R$ylfm8X{P4Y-$L3Cl=3H#(t)*@5$C6hgbb3|8!%W?D2 z^1i9XHXf#n7}9rg-vY+hr`Ed*ykU<5sXDr$w$N_vg^=`^f^M$XCB};#!0DnL3oC=s z&hYU^#5bcW-IA1(#|(h_j-b9B6_ZOIbPC@1^9+I$eGeSmf*JqH=G}x~8ItegZuv!W z+1DD!px!CIjhr!?xq^FfIO@|Rwhl*4Es}L+)Rj9_>}HQfr65KR zlT0$yC#?G!O&=|+?(Lh(=!QVJnrE9EA>9nb{*Z8e7I0Z({PFt9@*p&{i;OZlGi_l? z{_$5#Hf4P}$K_Rb=tGl?=Wyw37nN5hHdA1~&TOL_{LKk~bA0?J!~V1WDw?y3KqO+J z8~?Xn{Cp&mZiUQ~#EZe_0`UPS$B`g(s}n{mzaYe%=q0Mcelw7EF{J>h6s*vWH+kk6J!4!IBK#P1R7l4> z+ZwH##3W>SmTzRqLBeO~--!50i}oawOD*9b-*KhbVr!bqgOnF-vb2HX`Vo~fmTzVs zr8?E*vw_kUy*+}PgIp$zUlIMLT0p`Nj#xL;%Wbf%RT{|iWC{Ij^>uAR=(^`hM zaQhP*GXkt9n^~2?M0*1)2)$s$4~7~6&49^8SK^{RCZHXthcoWh^AIhS`x}!oO7fv_ za%fwIOG(OI=0Nd!tnspu-%U>^?hkgms-F4fD8fmK0Q6V86ZafINR@B~og`;n~n z8lG0d!Z_HasvQpt(#O`o0=pZ*ItHqEid9)6q&NvL+BJk}#zRxw5JUqQd-j$D2vLM2 zyWbW+RH25F)mvLasUMO&&^@zm%gmh~^+UMX-GPOkJlBECUz1d;mtG2a=?87A zYdX&gv&T&l?h6<5v3eBb-mjlMj;{)pi;7dr+q3#{IPq??^j$znT8#+H>Gbg(KeJ}j zB+Z+^MdVx{xR*O&|C72&Ws>3+=C4i8LBrYew(k~hr!f0Gm0MuSxFp}7`~SlJD%FdY z3!UNjU#z>${F+6F8^A+SCPTMFQPgXW*R@qJMRSCGx>Ob0j|hQvlO`T4rJ$`4?8Pm_ zH}LrpyuXwO24=u74aCX2Fs8sB!(^*|dHh~PaZq%t9ozp5d8QnPLK61B@tfv>onYz7 zPtpLDg^Al2v>)X&19hCtjdM4s)7j4XeQ+;-Dn+NQY#T zV>@J#Vmxi3+JYHLRlJM$sQ_IY0P(`whXseNC-3x8Cwi+`j z61QY7^KJ?+HGKXK6(|tXIeX4fL*OTZ3gyTG$8vaH=l4JmU1mgMayEp zkn)WtLoWO?pZNkZ@ZDZ*2QWLeFJ%nR_#wM{&ynq(v`;Zm2XHT?>=U4MMJjP4Jf17C z`!KIpRW;>t=XZP-HQE|*Rug-&?Dj=2ApCsa8C~d~zR_66P#X_K>q4ME~^%Z0Vo8h{f7^9N}gc+MxWe~e`dNvp+qV+G}yG2i#@zp zDZR(gOCF$*JVio&<6&?=EXa~kcOWu*bH5UE0|jMjVL#zHvA z3fFcx`d2IKs#83u2WN^H+q7j6#ld37ozSxT!QzcO(rYFX?cc+;eX`Y?1AUU(LoyKY z@UkzNbH0FkpjG&&C!ZhACzI{>-kWmAnZ2Nh4J9aE5@##d&Txk4CQEp<(;LGd!Rn?FzY2z|IxDIGa71>i{R)K{o&QF`)Uy4h*1a|9oLqje zlqKkHG_N32o;MFlt!2F9F^ga(NPH#|YYcJmOqFr@X30?%q6!U@$Ih{+BfW-+Srs3K zE=BpA`7f@b>I^hImEG7glP)fGQZ*)R@P>u?<tZdAB9!tmIjs< zRyomMa3Wu_1Ot>{sG_i8_(N}j$$Soi5)#jrO126TVi*!UIElBKTOkPvd^k4+vmP;E z=RWYxFN4Jy>i05Ok2Nq+HPw+cJRRVG>PXr_?xh^Tq)*R|9_KX2;qiJUy(%%K^iv`0 z&9CE{ULye4gj}6(gG`L{(+C6QEi;J(Yo@^OX61>Q(+y!Y7Oc@=r0)3Nz@i}gv&)3V zNJ{63w68!=u_n`)fpaN=K-Z>!bQdZVVxmc9@oc^)E*kV#8pQ6Vyrtmm>6%i#wq3p4m(G z^hCiIa~x1bNk$m636K@O#>I3@Szc{mHX1S!a9AxO(3m)}gyGQyeriloN1$6}3sprc z9{NY6slZ6^+8LBKG9-LcDK=(^DzRL#L3PydX z?c4Z|qeUKq(0YGba9I$xO&#r*#<}JyN!_E>i?ePz?vhKl3(RMoV6wV`?r?62{=|Rd zx8@UW#q#gUZ_+fLl^B~vYn_N@s~06t-S55Nv}f@FgDF6FZI zmm>p8y6QyUr!jtelU82gVQfVg_1tKPqp+w-l`gzhx2RyJFID5-46SpnEkpwlVzSOh z=l?hPu6uasMKzc)-lK*!g^Y{aM$P)m+abogZzfskLga!RN1Zb_Oi`njt<7R_w-Gw< zz4`1sJInAjA&y7R+si*fQ=`4lwMTXKdS{C9fqtond4VW{zrx6c30Ot1>IdJ;MLWp_ zAC1PWOnb-vqG}L^uBQb2iXBX{TC|@1!$I40F0#~HOCwu~l@;>rJtf+p-%g-zVBlvF z8+Gq+@Vl$dZSeMW@lx}&_Bm*;w#46#gjt!W`Q1~nAQi%S!%5n<(be1VPlk~9$4Or! zT?H@LvX-Z6P9Ehz!<}4zreVV%#;3eDJk?szR>v}kWgXfRezuDd*WnM{wGQ#l?lTYbRP&{fX#vn-~W#IErewp>~PxwsTtE)vmuBnwL;$RR_=0!LT)3H zm9twwac}(=GZ@kLfsVaf+xq!p*#cS&UL9~G6JQ&^P44{;V%IeXbkV*N0F3m*!s7&* zL{&7Wo#LLvHmH&G-Yiy^5O7CdDrk?w(1`!oC2?WhhPziJ+K-fma-S%VyNWcuOWB#V z>JaN-(S$~hq8rs3^vEzA<>0GIPbCvYi&$o*m(cnFzkU>5fevA)K8Q(H-VutrU`^z0 zdU}Fx-f*cI{1;v%6yz&cKp_EF#xvMIay~XYfprs`E~Vy(yC7(4)pgi#X@7pd_WMz+ zsi4*pJP4zZhq_c`>*s1cvaaiTkeazVTxh5Z^lJi8Md$IJ%>u|LpmTdQM(n5}=~eE{3_6*pngS|BK%Qi*seXC5VZj_DeNQE+lH ztQ;qOQyBR55cIcxTcOC4BldxBHFU&lF+##x+}o1%uk_ojVBo99j+&7EIE-$T%NAkf z6y-ztgx3c+`gkB$v$gbqs9_O3>a7!b&Vy15k!sB5!&V2EmZz!#{=8tZ9XVDhJEsJo zMVlB$t&QE;xYbC|4XnSyE|xz!(sKAUmJ`xkAN zq;sWCveI)3r_l^IX=k#^#o{y}pJu-X3kBy!klr4)Na_1oCT5pW08^mFBmwd5)XP}N z25jBrMke0CIIWBbfiE-Siq>n8ej7)lCyouWKde>_OKTI`U`Dm%js2z(9y${5nRlb= z|Jy`-!D`NTxj;qltYELGb5TixDjYdYD7&8M2!j=4NZq{3?eT-`7H-iF+aCuv8<7Ni4{wbY`AGKnd<*8Utif$* z*r|k23Wg=bin`|sZ~RuC(nw*@Ta1EVu2tM#Lu;%NbP>R8^(Un)G$j3A1l5!ce70~k z3QR1T9me{&$b15d{>I~C;3a(n^}pr61&HAHGWKt59w!r}b}u8qrrcE~^d4|6!&ixT zQ3|2Ui*oLBQ7pC*1g2gqiMY^CmQMV1y8)AfcA=gohQ$1?#bsgwkv_XF_zdPTRo~Q? z_pMjr@9vGESz9BqZZJPs&#hoBNeMkuCtMJg`QEilk&r;=(LE!BoVFZxUOk)B!Rf&g zV9)&RI5QupcvCM8UFoqQ%>XaQ!t|_=;$Q1PLYQu@h=3%G18mmMa83D2CQX2TzZ7%t z0=T^b?K4B-O|_5NHC8C#VFYx8lU_E+vJ*j4_TE2(EOzR_R=GzmZtPB^4`OA$6xgFs zyx6oWM%9{dR~e}m3mh0|DnWQ0{?zM?^xwd|K?AO4=mT)iMZC5fq$G;!Z5r{yBuvm6 z6$eykdt2Il(#c}>@63obLY6LR?FWlb#gv5&4Nb^A=Xe!pC{zDc5Kenqne4UIz(}K1 znkW=iolC!W*ZWweRiT?5NrW1x*KQa92~1%yE1A?w!T`M?(U{tyzr=pXO;dloG~73I z_FqcZp?)2>mceKU(x!luD9<=CL3CaOCd5ps$R`UO$QseG`N+5~KPN1hnhVe1C60!8xJ})32x* zSB5gqZGws@gL#JF`>4c`=mg)>YW3?IZfm>nA0I~%TWJdLx)r{OGi=vB#FoC5+l~QP zL3xn$s=o3kY6rufuq_o`R2Jlpkb+(=Z*4Vl62zk6bp0_xmYm!b_M1_SxXxxyC!z&* z&7R_*FJ8aIa|AkPPAFt?wr*?PR)@GUdAaCeK7R31hEDCI#Nj@f6y3rOjDJ}d?yA7^ ziWY3S?Zg#z=$f;?$75wSw5=d-+xo4*Dg>Iz=vA%tp>4O=9$J@_%ZjCDq~8#N0tT$( z_t%Xc1u9o+<`ZZExePTPuFSL|c*{^$)>F2JJFDLiM@T}@4`-V<<$lffi#t*-u}}&d z43Upp>j{8}brwp3uQm0(Dk}S&UxN=~>-;J)DVy~_IGq+M-0(4yLJ zOq~M7ORKNJn+4QIGI&;RTt9;aHZ6@XW;C@kgiX_tcsPTaLD{Vjvvb+#{Nt~g5X!v9 zstE`cgBJ)94-Zrt^0xuVBbAUDlEP&{$DyN-WG|*#<;h@Ajai6#G*1p26zRN(x%oAO zefgTUbp$eE+7JS4N0E^tZU;Oxc>F}!+aPtl8>_+oENf~w31!^AWs2{_dtHD)RfTf> z{Sob!lQ`OT2xfFPz168T|6R0HeAW?^+V!MJ(f4XG>$|`|OpUuLv7zA6>!*ibsS9_F z_)Z?n=_=e@G&76?gvZKZO7(IK00Fu|rRrwL(gUKios*d0-mCHgY+ybtY<=TH_8(Go z6_WC!{NmTdvw`-{H07GWa5ITLiI9jZovr6NQ7&DT&%W_cUS8(Uwc%HRF!0^0M z-j^Ndk^D?b%HTe1qG3k72Zj5=q##x-gr5Ye)I>`w=s*?K#jDO%@x~SX5N9xQ9ou6o zv#`B<$NmzCL*}uy>fJ!&eZ1G z^wJ5wZsAidE4foH^bZ)up)@Q4%$vo+Ml3@4)&n@As1#gJ_pcZzi=YsIzphn3Sv7H3 zeFVLF=NBSQyPT;g@Zl>FRvWM}*yQYb?}r0>!vWyWLqH zPV+q962=3d#kK?$%DIH24H|ghyu90Zs?jG z+2-as8J~brR#b}u$ zsR+b`dgQ!AFFBjade9mP6(rOT%_fZ-Sqw{>7V(n(-9jyrBfm_nv94pU zqLBu7=;c0b%(6R6X76`|c8=x+i5V}3d zxAKf*P-Fgjw8;NsUQHY3AmTbp8#m{8s{}+8i z%QhYw;NDQ0U)(h!c8Ufp_EX6xU9kJSM{U1~Az+%gV}3X>;JK7~wj! zrS~s35{J$4Q_eh6ZK}eZqgL^4*O;+!^2MAvJvf1HTVcFw?mph=I7OwA4Uwxjb;nq} zc+yzBz2z~ktYf*~O5Qx276Mb!ABeGw?TM+N52lRnpqBqwl$oJDC~T|)9~8mU{`zf= zKzDYC6=pe87N9erZ*mLl6`VZUR-0^-{R|293dEzXOHbqRDG}1!>S;9Sd>|f5XHm@g z9y`b+J1HKt3v3<}Jr@@>ZFi8BMgSQi`Q~jj4w&a6n%(rvR5gcDit)=Q#ufvCz%no! zWs^-!gGM=VCx0M-zs)eT*9a_OD&K~*PkIxgwD;@>ob93iLeP8SVC1sw^LDBtyy?)|8gUE8p|`5 zD@cYF5$NO*7VW3bm;p1@a4jm}?;vOBGV#5?ainHqi5lj;2v~xJI&FCZ z>DE8DJls*y8Df!&c06P(ad6k*x5Ie-K5W zSL;o4D$&DPA16W`#loe0XmMZ5dwB)MP#?>%PSe)e4(%!H!h=RfTmI!nd_ zaUgL+Iu={+#Yh6}FZz>EIrcH~3X^BaqRJG(mv^UPeyk_%fNoOkin3TH=H}t>{>ihj zcwu9{kY8=!Qg^SLbz~ufOLm zOFp^nJ*q_JiZI1<)fK>MW_mFPmzNqN&WOlZNn8!)!9nqJV~}CxeLJ<4m6_|_x{ZZ4 zT%M(}N4tzd==9vP7z1W{OS%%x92UJQD9HG$+L`kW6SD3)V}})e-8kABF=eEichh9Z z?sZ>r!DOv=1YJBRM3E|S13`x={Nj+2sFr}j>$4-BuF})i&w!=d*1eEyAF##qx7$+O zq5|R6-j3$*ZR?qLTX+|Fw}x|3%)=&*q!(m}*YljZR{Ddl(*{g@3msX}-Sv6f$! zzm(<$&8PDs$D!J*OP4hr4#SIPf(exI*%)c1dT=ko~ZJ-YZX%@cpMQ7yND? zFCvngwgxzGuJ>%pStMHS7gDI4_K9b#h1}y_D^SpJ`QFv>z6S{PD>Ia%KWMm z%b*ZXA`^n7JJx$oe+ntg*ZQwvw1xtnoIq=@2c-X>fU8(@z>3E0E)v6jP4Z4qp1&6n zSSmi0my%rpE|3Ce$eU47sK`0mrMq?>m6Y0?X8GwD)VOAi^=eC`Ce#;n5Hk8FVBVdn zW{$^Xxl>Amz!n8CBVhkHon`!&$i-M(UbPC}#fyWonNXNG!Y{@Ao*f21+QDilCo6FX z{)3W9fo1#mqN=!*tW-%)=dypKt-yt_CYiX7sf+GguhAoY)A{6H0h_w{+sqVrasGQ7 zNOZPnSU_d2>m5#ghK$4^C>sXqFgsB-Tfu3F5QjEq7D_w+u^ns$2821l)LvX!xhfYjt+6%go zD6?N~(u?uZ>)RY6)u{vVCY3LQ*2I!gFwQ{D?-F(;*940ouAFZ++T6Kpg;?+;P23Iu zc|wK1=JI6f-wE8666if_@|!n@L>ttpHSuk2EVfW*{w>F}igQbK&J`UbE0Ga%7Q6pt4uU9(IUZW;{MJ zIH*0B6Wwb&{@QaM8jC!vd@)q!td~TyaTij#3Shpt=-;rOKrXZoF+w@lXKFYo%rQib zjZ`Hh#a);}@z19+zQmKE^j~8KXiFvjfS)O zVzmAIY0=NGrr?~{nY7dRKP}|(9Nbm1;lsvkp8EuJq-k#*mgYx$vq zb&j)78#H@Ssy&SQ_X}z4C}}T2Y|e%wvz7$St*sDM9KHeh`n5~vXHLL{nOxy`_PRVr zLdsA@A<>MgFx}^Rq#C*;?vLg1-GMLYu*vQ=DMbU8>N+HWJKT%q(8Cq487Z1!gOm{L zK&GD0%nNQ?ZOB?c^lZZz*^>C2aXHC1=+mxbiy^?$2z#*IkeAN7%NuWwn~`Ac)`Uvy z`N4{j2awqB+SLuJK}q<7^tm^r4Fz2;*LfpX z>sLLO>0bMy>$U01I2GZdjAQ|Hc{29)cDpjSOF#d(6pu44nyc4pB27|Q>H2*Q2>_hJ z*inZ$^`#3fCb&A?y!?tg1fA(ACplL-l)SDxCQED5?IqimH;Y;-6})&q}{)6iyu7yeOzEQ37TG@H@1lDs zPOlR1c?~NE9d6VMJI{+R6BCtX@U03KJ!{T)4j@3Suif6$y&~G-at$%`+TM1L=)y~UfbU7A)om1!5~yqG zS&e;q2c)4%vn_zQBB!GmX<~>Z!9#_ll|FvVO=`Za7IrZw08Mwnrjmh5r$PAt$H@F|#Ha6rwnD zv3LrUt;oEcf#GWaG@RJ>1l({6gtVr#S0zTkA-!PUYD`p1RCD>ljF9_tIFc z)2b+Q$LH7mXHwjl%&)_U%o#~b&A2VFYA&j(KE}`l>~GXEsQ($olFOkVV>;w`(T!)b zh{rw6;ad9y-gj=0`?P46yKV6Bypnkxz!$_5YHo=EzE-&`GnS3HqB=o3$uE$l$e8>U z*`%2_5nomZl)_Sh^5h{8X>vevVE+Qo2j({1jM<8*EPbR2X7%+R9Y?>Qtz_~eX863e zT%M|j1`M}s96%THB!S5_6sFW)V~K&Lj@hZNxR28KQNlnfe5Sd+MB1WwQDPeJEtxX9N{FxU0>(-eKWBnuGB|m!799AT4FW(~Y~9efjD4XFhw$YRj>Y*QHuT z4IRpkKB51WzojePm6A4I@UJ=e(TmpdgV!ech7GU5uR8p*SvpjFseOCWfzLli?p@MW zppeNd&YV%Wb!R?f*b}ZF_nQ1%V8KUkN=kR=1=24?Lb^sxQvK7U?r)&Ntl@1zMsglP zD^4@<7C7}J056h`k>yD(GRI}MFqK35v%#|g%o5Lq_HqG+0Sm_+IanJa?iINt+ZUrd z@co*^|F{=f#@>fe(9`65Sw?^70A&E}!J&W-1HX8dDv*Ro0aj3&oL>7TBsOD`3a)KH z4CATv?5^Bv42@B{huFZKTbRpI5g3_)!+YnEIkcA*`i4!T}f zOaMnx6czrrb0duQZO%HZH@sc`-@|qMCCS}$D#JYs?qx4Q$a%KwzZ^xCGFovdnr`=K zmx$R%(u%Tw&LHf0O^E=+Mv>{KK3<=EeMNCG00TH;CVL5}f}hXkYJb~0M~_3f?42>g zRyZhzvpS|5Hfpdh7vmFb09t+A_*p4Zr~7rrC%i45EW(GfdLqHHXrgg-ANB^~oOc9q zxoaC8%dH9$IH;`EvZ}7U;Cd+&pZi`ISvMCfmg_l>sL6)Zq3a%A zYysbT!?p@Z2a2NGN1>u+kx}l}AZ#QR2Z7VE(P&V)V1aau0q3z||A6!QvGoHUEX(uV zv48K{r;+@qIkoCxwfXZ0x7~xJ_kI2m;!wpvZ$Ad|2hFFPhjuA7Hr}w>L09F4Klrsh ztl0Bj(y2}YpMhd;2I6mIrS#6ixw1;*E&5-UT@@YxEvLhqp|B1c!xM#DW;Z}LM#coc zwz4ld#?1(BO~XZ&*B|f?;qg|uXEy!;f%{Fs&>@ghqV3?T#s-T2>6ChcsG7Ukusbaf z{RQmhwfLMd@{y7w5Bg15ve-Q<9D^22Q)hB)oYBvFW_J~y5-mS8x)Yk z(rxjW8xVlmc5=054==d=g9vu>@54)V-q(phtHNDF2DSsN?pxsBQ*O=8B{RHY=<)Ky z15bA$c@Nzi%u+=ma>|!-pV1utY7JWJ`-Ab^6$zp|KrDkmOWL18R6@Spj&m{^&+N7K z9hye);kzh8|5{6v{0&!soi#Bih6wOA;)|iF(+;q@53{Ad_|0>46UH=`XT_^VUtBEW ziYmB0`RrWq`)H{_zCC?Ce_R@aMLp8TsfWOzX^-;CaYRRPRM*1nGPh1jpX@g6Ys#^` zJCtmact!HzHAU72tm60TsDz7O-I*lQY?I(uPS6g1Jp~e-T`=T!0NqQX@Mj;nC#5v% zM(mvMN}A`#n~PPX|JWyRh-BUL= z6QSRDPjw4(Mg>2;C1FW-Rv5o*0ChLWBLMrEcmp~w2M_vJ>Pimlwjx4W(q?#eUfw-# zsy9gZ1naiA&G9T6Srt<}XihCbPy1~;AMQw`K9YXbuc8I_*#wqIN$Nl|N*%s0y-c+9 z@kLvHb<9e3gRfurkJe+jn$M?8Kn~w&FV>3Rue}n&GhfzDv3H{t-etoK_BoC_M)hk* zf#xhN4Fh7RL-^+JXIR-6uv+g#0-DnjUA0QV*wPDWkz+x#Jy6Mt3}*MRB~C5Z#U$dj zvkZ0_X<=xLuRHouB@~Slp}e2<>uGlJi?JHrCEuGq_2yMn(QM1}3(N$7km!|3?^{{H zno1C;S(N@VyXnlzi7l;#g5LMxW$N8ay-~9@jO}8l84e6K|4>0kPG2+u$m51=CORN- zAM!gBA6tdg5aD_kB_;=IuWDWKC_RDU5)U3DrPq2L;Q(NJp+v{;-q^c0qDJt}GC_ zh=N`JU6%1ZJ`^oS*m$6Jqsagbj!MOIuzTa=d1Lj!V!&WP&Vf zSW9eCRG-1s?tWWIEEr&+->G`dPL;vU%3*)lMSG1)^22?p6(p0**_%72&`B z^d~t<2*b>--0cn3om+x+>?f%nOD;S!tL9TPYzbpwi{ zO4udh3=B;Pp5R5LyS|c(0Av-%gmS1ct?2ivyXTi|w8XdU^sJY&ry@Q;wy0hJ#3lrV zl9o=Ul`>v%R-~p`ys9F+LRnu-aVfd&f-(BNXknVVQb7=9rWPV-W0JN5jgUtBQ4(5o z*!8K$B`3$IM|YN<=>IY0Gh7*7lVs@+A)R0+BH=HnZ2iieMkWN7Tbr*u7?V~^;GQn; zZxqNgql6Im(b29mnPirbFji3WuWnY)IWDd6S5P!0A%h=V_Ky?|&y>&9i7o`QSPW8x z?3*zSs$o+mb|xyVhrEvhqi@L728&#)(u4d)tWN%-g{QH3cW;Ee6_dFIrJnB=*fGzA z+}9Oq{*fayYXP(bD-$orv>X`Ye^e=rX~C`G*Jf+ba?J{pZ2-?& zHzH$}O4lvA^=h?hM2p4ow7KAeCMi&(|LPjFOvB>Ahn1T@AQy`aHPPw^l2vU4mVf&d zqGl^}zft~PGEfMV07hP(S5KTJFWPo0xrbac@9S^i;P$VC*i*}11i1{ zK{UlR+R?2b%>uZ$XmxeS=Jx=3msNG}(yR|px#&1`l&T9tLuEnT*!y>y<7By|4z=2D$J5X} zp2E~*8PQgJ=GuTS%>U)Ts0VX9jBt^v!MkPa4!kWLFm(syi$T~uF3&q-p4Op*Cb7@$gxUwkwC{Bkqxucmn_wyx?ku1Bn)v1ISX`dN% z19yHUBffs(?>Gks;X?G%f{@QvKcCMChhYifX`gYi`Gdh^gPzQS<1W%cY_bu+QMG`0I%AB)LKjfFGq;MYw4{(VsC1Di<8fxl1s6vS>@?1tOr zIve%*MAZ8J;}jXzGkwa?#O4ZIFT<&5m6mfJ9m=VGMyDDvJOr4=S{veA=Q8L$5;9Wi zdP_0ehOT9dd@u;@Xhy1B7Uu>z?9;T1MR2i(xtqbpJ}yn|1Ou){Nb|)am!E8)m3EN| z9IH$hbAN1$E^VC-l$Bzae4kXoxERxgIB}N*GDRZ(K%}TkgN;URdAh%{S;|;Dr)i~^i;|%k zYKY`T@;c~Br?qlM)p?0$>G>JFCikFDzx(J?G0@pSeQ>uO_14ee=JsRRgfL^Ter8qN zoXzcT)kH2U`L}ZvE0#{SIWGIZ{Bibfk3fC9iAomSO=HXjz4Jb@E2MP0?2SUQ+kg_5 zg)Bh3_5)#3S6VfJ^(*>xW|RP^mM>O2BA{(;p-fICs?#W+fk*y|&)@iUFzTKqm}Zr# z@Pwk+KYfN!qWrTSX`Lotdvze*rMQzIK*I8-ZNTeUGx^gqoO7~1DR>d(hSt1r=cCdz z6_m~NNpGhP9LM8pKsOEJ_m?}DlPwqC(0{!-;uq|qYe{cW1u5g_P^~s{F==Y`@8^S} zIpxI9wBZ=%Hz#%OL$7EollP*%06lPyMgmp!VX!Zcm)zy8704(`kfF(>Rt!gtQ?JwQ zj6E4&yqXpBju0SUBsVH}aX%s+2p9VGz{n6Q`>-cR1!X|$!vZ0vzr%{(WJOt)t({Oa zAP|@niqY{uWQl3;TKw0Mz3w&Guj=}035^Gs-t*o;lc={kr}FHLZXha@8C8y#V`>JX zQ;oTb2x>a2BoQrq#^($?5t?;z#?DCkXKzo_bF<@nayI>W)Kyf04LqUlD5T{pXoeif z+f%qIE6}(nCylq7GQ5uMoA#8EFQKtsu;_VoQtY6B z3by)@a{_2yy|ETw>i%of3gb;6@K^y%e<4mtpnO*JHnvEYUtn! zpn6~C0TlcmlnY06HT0c%*4SDQ*kuo?xX(<1y??6XfX*8V(g>BUkuoO+D5*kgw8ZsF zv}&mAga(25$qUL0WRXQwU`t&5&F{4m-JWg-iToD%lGoHw3!UO^5d)hX&|jpaWf#ab zQUis2wzRaesp2051_J2t4bj2aSb)6zt7M(K4=Qo8xkHHr?>##d+3t}4b>~c?I;(|1 zki2`!)L&rxUB}{Nr8J9Rg*6aL$^SvBC|sU$P>L-T>&Hy|pcUy|4{eVHtMBQNo1W3B zN2}XR6?Ote*ZzzR-u^7ES3?!=r1cr!Fa}Z&HiF}PpLHcySigwL1>3f4)L3jC))y&y z%OL%cVCUQ|8{+Pz7^Z&>%FG}1E1Jb zfS_k&Ga13D4!>5ueuH9XL?p<#LD(RRj=eHZrMTNj1$q)T0ASApBrb9ohah>YhY zkbN(X_^cRQ%`(1s*E7HU>0ay7*IWn+6%in_`z&xR=#0pP+w0)A7uEqDJkFydtTS^~ zj$uJCYukPmkNwb{xN>;40!Q~J;a`1aPiyinKt0b_3U5M{dIqLt(JFp~bZVIipxJcP zToEQJ&1$6S~31S(K}>?=OP8j^iZkyeL@+O-qlu>;eQ`i`BFMy3~BY zdVV4))&GrMZ#cg(3{BKwO>bTkE8K?U?+}#d>tYFLwTJ-mL(?0khKAzec3`J!afrE( z5j{qL|7yp(!}TW16gJ@d-Hxl&?k&&2n^)_|L9RQ=6-)rkvZL%eU9S5^v6>za&ovTf z!G*$}G^zWofXNo}6VTp>!3&=ExKFIeH=>vO#)+Gv=hz~dfVY>nwMDtzImSXUsl$}u z#|C>ukZdM$LN?3IMo>7Z2(3C}cVv9EYm;oF#=K4GWQ!k%d!~`4V*Ai2^(NWDf#5)$ zT1(jS_UaKaM7Cw6`ICtvix`6}lJ(0Bm*Mk0t1x@`sJudUF^grm7Y~3^e=P$VMU=mJ z<;ooeQ{tjj?zpDwl2%C6t(=QozUhXE4y3(=NVE+vq!w+_h(S%EPyon|s(SjE2Vt_Z zPO5Y8}PQpBOe3s(2#9arJGwU&SU74px-00;X{f;nqts1#~ToalSY=o|A!ush3R}8Vd=v z6{%bBqh)Lnsz~Ij(>jJB)8(qCc_vQM#KGkaJpp!bDYgZ>y7*8nyYFUh;;X@P_lijJ zBDB=+b)`FI0$mW~SCpnxiwd@WJC{Yt2mm2s#tx--cvL0(ET=aL_mTs@dXC{soS~A7slIe7g-+`>SS4hBA&F00{$G z3~6}bG74w{c_ealAlwd}V!!6o)c zxEW#`0qDBABQLBd*>;OQ=95~M-F&`Vz# zZ+{XV_%tsEPpif$5`jc8cNBbkR)(YG@fx*)5Ku8MiURU0)QqTZAE2bk7+8KK*p)u^ z7MoGD5c-bYzYwVn;B$%XspJn_chE`g9`4GwUaUH-SK9Qajfpc5xoKux4qOyMpem}t zh^E>?T8JGQT)~`T7ihQiz%ExMD36bvHRKY5kW`j|&G-j_3=yVpqw{Z3A6Aq5u^#($ zD^gd4N01C`#=W>}1R>MUSFM1|qJ(HIH@2yUHT)-h&FJ*4?Ydz!@IrE78YNa8^uATe z3DSTIN3g91(#itg?oY>Fk;~WcM7j|Xbu&=XHp^4rUUhMn8&zmC61Ln_q$QxpteVzl zMf85>#zyIDl;D-A(MFkZ*aRNs_DJYu6EPlY05dP<1LYl1!N)-r-ukTc`pK$IaSP2v zmsnU1cg;}>Y1mIxZ2>U=?I8SMXJ{v+>;$w}lS%V5%)|CZz2!E>2cUdMM~g*#<@FeV zk7j%1a3Ua~1M(E^&5ZQUO`HE>u8a92-R+6RHNdP@L`2(UuM+1!fYi;tG}h@EikC2{ zN5G5VGY2T4>?FS}vIf^IjN=MCxfhT%TPgutuJzz@jKf1Yqi+{i>Stki+<{10eTn(y z!63NL*!o^;-WX8TlaLp(&Q`1oGJUN%fe!pE;384As-4*OVMcrr3HoHq;Q=i+-A$Z6 zPMa`lu}SKyx1X2##m3?gebTYCdfu-i#KK{{Sks1=_!MUAS#)oIYk^%#dk!`UPoy#A zOpyu0GN31n*yHWWiq@shl|KqPW%g(`d!p-n7L+!L>5p>ctsj_)Vl@ehpvVGo$RS-L z4l#hcdw=`B(N$hhXNr{)5eTWE?;nLtY7l2#-B%1sqP6HLg$(Ek(jQ6 zX4t1(5V=^ZG&|cm;%6yXyuj+rM?|iP^=kEdd}f@H*WC4Bu@~%`ysgUJpL=QS^=C9j zLGzdkFB4~}_wk3Z80$(Q9eVzd_c9c8Jg){7#GsMo`DInR!y8YucN)|XmflOK#j zMlEa`7S}0(F&ttts=-(Z@d-JwW3TiY`Hn`6_RXdHpF%7aag#fBLnCM}*PI_;TC~b3 zmfJzVJn?CTL1^Oieo#Qm7g9}lE0A3?NN({z`)wp+Fp^u5T3 zE%ENc0b>IX^-Q{BNuDNUYf zwd)-tm{{D(-~fN8$NWj(4q85^zk3Cf(M);*&3=n78UYl>vouE$Xnbd9w;iD8Pd_Jq zUcT9h?+BO(F3Tm-2SJ|IeWLgA$+;1NVaKmiS&@O}XS`tpCKLyM3tfgPXC(*c5Ewja zy~=A19?CmDype@K!7H$#IimY9S?=E8(UHBF(Zc-N+ zu%c7V#7eXvFe4_#9mAr!YIG<-OdTm?kb^N%3E5iiQSnH>fmRrMS%2lsLex}9u)#Wf zalw(|Y2B<+!5fAHeTz=)OiwjB+q%xG7&Y5Y?9ibGU?uJKI^PinOJr_rqpZ`}hJv!)KT zHLmJarB9AX7EUfWRec1Xm<(<&;J3BONhWrc)6yGj_M@)H=T2a$miWePC;vt^(YjzL z_2=-Ll1sFFA;^*~g2Ab-W6t%W{iRfqv9F@grX7HlOh+zAOTrPh&~llk;MCm?$Dj=GA?YDztUM-PWj#3WN6%TWp?hoAtPS>#0HvP@A$N*Rrr8% z-59C+h{mpqV8W`qLJvSQ5Ad_2tVP{D-c!xReMBbmK8>m*7xB6Jt!ppEezn~Kxef{#uYkrUqM0LGUt-F3mC zP?&JVHBhcHph1w9YY3utJ5&A3{^-Kj8>hS0XZxKA=8n~}*@a35Ei{Wd_$DL>wM8AD1ctEc|4*UebEQS%^o-XjRv$vt34_*rKfb2Gj zBc`k{nho><1;0G_O^PurXvBd=bS9h*7*KWxgDi)>`XDkAdp%bStU7S7WlMnBN@Z)w!DEa%rDR6hmq|)cSvuk?qS*D`jC~^k4 zkED0lm^01QKM!33kNu>+D}1glH7TjtO3%e2xbnhWferLI0An+o^9dq|BXXFx#F>Nw?f&=(Dlu80Q3}d+8Qj{^5sFusB ze1@a#VL6J{%KyZ7u;N$@`WdNBV_j4|i6UO{nzniG5UY!TJw3csH!S!?2QaJ1ie*ZC zwm2ujf+6QXId;UePvn?~M!t7DU-+jN@_hu{E!kOK#nd?@jZNn0b)?+R7Mse44b3E{ z{tZ;6S^eZSvG%;=82`ce`WR3tg<@@mNy%d}TxLH*2^8|7)@`Szc~5)HG$Yd&N)B=c zA~DdR)xOz*9cH$z(G}Yf0{hnR(nq%+)f&-%D|Rz5S@}?_TCeZ>8*zRrzbo%QcrrQ1 zzWMeIM53SK71Hl62h5#wO)i?`1T)IxAk@AK^egy=x?mXy?|e0SYrCyFjXF zps!BDW<-K@Hy-?wZ;+ar)ZRphJ{v?$Ii3FB}hO6ak+LNs#uCZ8?0E@tk&3324`-j z<;G%j|B&^?Uf511a2V8Pz}ZH63A%?zu^j>TN!${1+j@BN2C#J6NLVqN51SKWR*1)$)(uXnXBkvem$(S&uNs@4+`^ z==e7~CTh+l&c^HBo0<+6EY~Q9Qh5X2yi@^&RSsK3do!nl1`d5oN%HLf)D|=zAGe}r z{|c5_m1LkP=OiZe@rqX7VpJ8V^W)TRWuJGb@U6N@#3xGaW;)b`XJ3H zdxXR-EOJQ|<3Sl&RUXi7%Zw5y>b!3bVgm0wYaSY|1L0JUEJuv`>{7sTsK7aO>5w#9 zX>+pINkeFH@!>xdmz&`-E^@Rs{|cCpCz1u+bk-A|h@4y(vHfdqB3s_4MoZhivbUvP zL~csckpWlL=J!vcE)Dkl;Td>mEjdbI=qXyNeoW_kKVQgW&i+uVH?zt{sp6un<8LYw zhy!qcs01pA1NUj$SM7SwU6Xg3Z^)62d>|Izn3?Tkt4Yc)mfwA+L|hW1azHdBhKk(< zR{O*LqTM5)GB9)u{6QN+Ifg@C!5|?|2OB)dQLcRZ8W+OKsth->`yj|{V%f4TzeHNN zT<-o^@R(&=$`4|cQ9v<%t}K#kPVH+Dtwo3btLdTN^>J=ghm^t|NFH31FlCcXY#|Ai z+oH*ZXE4ggZ(!(aQc~b+UG{E5RUI(ZkB4h$&Vw^AXcF?&bfCtfyP$};_Ds)Vg3$UVyE>O8u7nq=iv=pAD zaX`CAtka#NFInI_W`7e^TR-N>)UW&pCbDic?ou|Ex2!Mhg|Pa4CfyooxbizEL~OM3 zKtlO&$|Sm)-sHw9rk2>7L%n%79bFl ze-vn7b|ul2RQAOZk!!rkr*W|FmFgpI#h@*GUEQJ7wnhE)Jh38?w%K|2ao2NScij6m)?MUCntvm(DmTF7SO~Q!j)aV?vf;&v0NRJvu{m6 z!7Uj=(}?*p(cFYgg^qinAJ!(`2y}cCw%lgK+Ge6Qw%0hC8^6AT2Fvw+;}p;jzst?# zpk-P1Z8xegUg@*z!ifH0AaCwwVGI2;pzuLI+uSFJkj7RFB%O-C9b~uNtz9NSD`smt zzXdB&n~X=X{vB;bn?{5bVrgNjpO4=HNd>kIQNOr60?K>C=o~j8M&tipGAt4QWK#C% zvLBawZF8K84G496aFp?+o5eYZS}Z^O!b$5|es^pg{@ohdO#|EW{I4}tTJCSx{ZS&h zaI8}Z)hQ~Al-1)m+YR7NSM>2Hi!vC>pXg0JQUHun)i~A;DD+a20uO{T~ z1iz2h&;lR_+OJrjZqq1XYmfkA$4k|m|8QnA}}GYCWJnlU84G1@Kp=ctw7 zi_-T4g&}yDK{@QIP>tuQzmQ>AvLcSe;i3m32)zUbGcc_6cHjoyDs8UUS zU2$0*vDM=lKA4EtVyEiINb>QkurR0PgZ<yIkE&l`o&6Pi?No)9KFPGZ%(+$4Ue@UD&_HTvB|M`-0YNB6VZ#l_E@^la%KKi|Qcj|)gU zp>YKaJbOAz)w8}YnY+zhX*R$$I$J@q-1VSRn(Y%rv{`r6#iB4h*hl6c+<}Vse)m@h zn@SoJG^5oK^^?;n`AVt48tkUp3tT$9?bp(XljNVemq%f{v^7J!Gd1{fXiXfMvmEf! zD2ydjv9Mj&qw3a^v<-de4J(>KlZ5`*1CQjPI*IJo)z;#gjv z^*sHj?ra#x)1i3j&S;9I zVLC#p`0ELalKVl;p+zEDHi=A|!H&8d4skZGYX$gVup-i@5&k~1S7E+%Q-anEPb;f$CD-vwU+Och z50z|B;*K4h2CsLcisw#L;S-^hyNUEv=(jJKG}aN1M?<8ds;6lI01g6`uhdB$3lfgt zB3G1^f+EwTcsS#>=L!NyodRy-P`9Z!`$t&d891J@EP;0T@E1DLjuWkf4wbX;fJA$3 z;Cj|C^scDi_Bu0CB(PX&aXAP z#3F}d3%_dpu&6y+!8OClEG5n@n|Z2b-tgyy%W|5zBBcQ#7Jy-gXKvmGK4tUf&Byp( zN_D2kwHks7qP4JmE2TevkcR}x91{DdIt9)KAW(7|uqo*TAES`8tzq3_edK%LaTDNc z9F`h*y36C*)4yX7y2*2Y26SXKDWNtedzB9LR`L_=0yi_HOku-DBVuQ6KTUT|d?m{x z8!Zs56NRIKrD_s;h~3SbkIA`qDiE@{WYwtjanxC|z88k(j$rOx$)uQkWTPXlscFap1`xHb{@ras5(vfzs z4-pObV>0x2^ZBc{;H9l(^-NS-PWjNU{u3wt6*{4`^mGg*Zhf1%MNTpxb1#1h2!i^r z*f&d={HiJ33me13e_%R#QAVdd)>Uc#!MNerf`&oJ6&P-DmmSG{e@Govf@zt?X-1$( zE>Na}6|0={Rj`fbpaEC{)i^V{SeI7wg!(G(s=&yw(PCx$(}ihIdeJTu6(1ip{$)eJ zw9pPwX7I7)IDz@2+ymb-)|H*Sp3tiqZqGcZ+kWv+!IwY_&IU@>c*Lbx{a8v={lnZX zxKn|iJy1#1n-_F<0{tX23=-Mf$VXkT+m!k=VgZKh^an4O(Y+T~>%4o?E}mEArsWY| zA9{p_Nbo#-RnnfbRWA0T7i0(FqJqyGkF%O<`6=sq8N;_rMtUL_qkYl#0F0Ioz1>r* z3y2H=?591TP12fbB$gw4&|vHV0R${z@m-$~lLXOlP<5|>FhJV-v#Ghpl|Q*K7?gbg zaqM&qAC=o~WK|cGg2Ezyc%4dLmJyA!l?aEoe9kDM^F3L-8f5co)LV?l%srbu3m^h` z1T*7{GC#)+nz#R9eb|14k`ZTZPM2Kx5B3(`3J???mxsfZS`EuZq%8uQx;v5>Zs_N` zndmF;zh__}?hqA9KF-yIRDq1ykSi+r@OSqbBvQNUS+3iboSCh7CS=+Kdi(%&VWplla4x}F6nK0FvWFFR6 z3rg~{61Z+zn4yT!3zTA48#c%yT-m_+mmlzEuFXS^auG&|!xbyHf0|hl%#{s7Hg#GP z_TqY9_wdavqHX%u9d7&;wn5a(7QjUm29%9=x&cq%itt`L!c!d zH(9hu{ylF4%1@{GmO}W+g=N$puz12d`>48q(92J3)NJXfUkbK!0ul<8$gZSSAmOSs z@Iu$ybeaxTt7wcO*H%P%#$Mv2XoxRKnDf}OtraO~Q^|x|%uze>))%>3xC*Jw;ohT8 zU{zsD$iY$yg-(lC#9y}{m8P-k#N!M!=U;ey4;&cKY23VTKT;z2lw)PES7fm3ogIa|Vxl|%TJ1?^KM zmuPHnVRl>z5LVnvT*!Kn0kfVLydGw z2CHVoBf;`9cNvN=S7sXo$6Ynrd@9b45)FjQbtbcYpREA48*iWoGok)?lwcpTX(9t% zsyFO|^*(h6cJdSJR3=!c zsU9b`VrAwe<`tG;Rlb&_ zeRkn~uSJPuSu*j7oB+rr{iQ{ojH_WE+3PQ_g;OVrhP?Jec`g+4NF#ZNiX-O6S(4Zn zo1KG7_R=F)G)g&hrGoXhsc0dW!x$;pI*7V}2XrW%&M^Y*mN_KE5+WJ@*X@Qp=Q96LE8{l`|F8-V; zCyA-B7al5Ql|%s`(cva8YPEH7pReG0m7h!2fGXm`3I+<<`}q$|g@E(A+b3#C&ue$u z0aP$Do*-Xx_Rh_?x(jMUHxIgDNdSg+2%$eF&q6iYj=8>)IF*FeO3~D!yrJn5Xq}sw zXfkeJTnE`IH6Zt`~G>R=v^Ot`;<55jSau z0b;XW6sa0I1jTzTby?hYnG#wTToTAX^56jJb%+@ejP{;Zv=gCYW7`stW>McQbQcB6CTwZgk2`Zkg>1B&hOqg0g(V+2d(V^tM+JL&>p)-^kF0DY6`7asilKz=c zmX>6nN~I?YT(;dMVcL+z-Fbo+8ff18nW=eHV&Ojl1y1PD8%Hf;lH3u#p9l{8MGOny zB|sERuoe3RCz;6;!e1SxHS6L%;OR4EF;K2hs^O*AOZ-LgSWJG|X zDYg3>B_Xn1t}msPPPQBlU?HguS_9#dIll!n6f=f9QAgS>+EjlT-+0sSPA@4Qb z1E!C=vn67_EhWz~YmfW@!uWg<=2DKLZ5}sFo5&rVC=c&8bq2o9fiEef30>e_gD^fd zlQl4?yQw#R3R`iZ!>*4j9`;s@0-pq~R)*BxKHc;y32 zByzsGCIR*qG#QOnGp|(hXqK)8@!eynm z3*?YKG5D;(I+=)tDTtGg)&aHGOnu!x?k8rM$2855VoKCEjXs0(nRGI!Qv>x&eUTV0 z`(&V#YOdOrl}pWcaUX1ZtoBb_M@G%wGSU5_a5n8!_9oZpuwKDzfEYZm)ReH@_c?am4)1}xAUP4E}tEr2u9u~r-I$OIluE7 zNF;`3d1^IzQlRZ#n2-nB$ULyjen_#`0}r{(ACwTs zI4Yd_?am};BRFhzBLgiNSR#-*jssrm8Rby1k#$1HWhlDbG6#uxeg74LH9=JFe+Z4T3+9aXXrqpfyS){|3!; zoelw^tnQ<%-^Ul6E2?9F(`?9e{}e`Zv&5B!%wi9j$^hP@x zL`2kF<9xE+-EERsW=c2hxD|kqNiB;LxOyMnd1Y*fdJ6)>pqh(_RpXXAP6O=In!XS7 zxUglqdNv{dP>xInZnOjoq>fM@Y=(SvNg7s|VxSlW{^hZ|2sYg8i%$O_CqNh=?aftx z@P&-?mF#nk!??qX-=A1pZ?+N-nBA4W0gf{c2^zii7+H~CPuj`eAw>`Gx^kFjlMCF6nU`bR{xbDJ?a1Bxu znP1k^do%V3TlpM#vVEC@0W7@@2JvssH0hilYwC_qAvu{2OMGus$3JymB%?NB=^|jE zgde13vfI%^c-R;WobOC6KvuUZVW)p+t2Ly4B7h|`B> zNo23Rcd6!>8{f&%PzJo%`Iz7~QDi;uC@t5vg0A}mfI!&wv7O3y9Q=-@|11%TO3P%$ z9CnRS&b86-4s^9?g%|7T%sFszf;06Zke}i|T*=34R=QM<4;}gUifw?LC|4?|@vvb# zRA<+eEdxMC#x&SR-nBj_Q%z2L_p690cNak3zh=(2vvE*yGHbe@m>N2*Bs@Waldb6B z#K?bJjfSgV?wV({^F}!<`qKHa3bln++?R+&^UBbPFv*x6k}hO;Urbgx7_YqznsRp= z=7OGAA_o`wrC(9x7Xu7v4|xpxg#TRlWd|;8t176+GAqb6sk}yXPZ(oust4v>rUNJ@ zs74xmHGsaZJuw*4_)$E^{XY?sY~<$>gWxzz)oT(~dZW;31b)DCOEN$EXL8z)XD`B_ zk9{mnQ2;ED<;vpA)6PY_ck=M42hYagn3}mB5+gahg{;UtetT1OJ9PrxS6_0CFW)z} zWd8;I9aGZw5{Ld(9I&=(sRYhfBsbZ7i7KFJn`ws6HLQY9GP1Ost6~)7T{ZXPFYzg>biBLn=Jn%)^1(quJO6z+YvZCV(ka zdIeoSlt#sfZS_|XK355wrK@YQ(f_R?umh_sgY#+K$P%PrIZ(1xi|KalO>ur`(`W9~ zl(hhRNS1Sln{e;Rb(cZTKsq2Cg>Uyjk&pfA)>6|j(v4S@J#87UJwMEM*RxCND|n8% z1HGj}4U!}VK#Y~F$oy9POcOY`UM^RO&rIxw;CtkoCN;!qq5de#*nK-PK}T2L6PX!qMrqU4J+blClmU@Xz>WEuh2K}0@WZ@KB-t8V0ak!CMleaxrHw>D;zQ$3ZIUVW0i)=Uz41e1KU;x7 zku=Hg`(}^cBcy`(SD)MG^wknNCrmgzilh5|v0%n;{Y#K~9I|sKvt4ZKN#NfcX6{hK zDGyXc&cLdht!nJ0tF~9XsvCR?!{~e#RxA5cr2{&$cz*>>=Rx6Y*^uOk!zE>Tb$%M7 zC0EG{2K^usk!Qso)(eY3JUVW1sq5?L_iN2DaJJ^Yrff2&LktPc9EG1fh&e3r6OSHN z^@K}c>58V9y^Hrjs(!AloAN$GMKp15t zZr%Acyqd+Ogj%HBI7!OvZ#g{>DL;F;3feM7zowZPrCt-n?(%D1T2QGvli*uF2Jd|L zE)_$m_@L33-60$rziJI5Y>98V1#J};99FXKm*$(01 zj~}ZBxF#vvcU9Ab!j5h=Ih{1hsqs5BGCj6%v8K^CD818ph_U1)*yo*UxuOyzL`g4>up@*t)RK&yl&N^2B z^-C=MWf|QlPElL7ljD;i&*y67mrX?V;iTzc?KuAcmQGpc0uK%fFHP7(A&NQfL9uO% zzQw%bu2zb;>R>cCFQpm^o3RTPRvOwMgaf~2otaeo4j5WpBu$}l1bcHKd)q|3l8)U0 z7|T!Cd9+0Odz0RPPyLu&nN(0yCx`GTs}kEDQ}6Sog0)yoM)D_v*fz4iAoG1qs=uSd z@+4rnS!~(tGXze5Q#vX95N^*}D>Xq=!&2t2{X+xAe|lFKEqU`wJ%Sdm7sjOF3SB}o z&Cn*Bf5dy6?U`dR3$kl)GcS26RS*%F6qX?|i_-OnWWY{_{dXdkku5n9U+rqULV2pS z*_r1@+>`(ao1u#!j9B_ggz^%F4_D{YntAmC=47tRl9WqP@8|2@|Cqw%m=7>8A2xV4 zzG3wj7MjbL67w(hkkn#Tyu&kM%cA3wp%waj8BsRo(a#%}u~UpJzbV~2xOvy%j-M zI#Uw84YH<7$yYEWxIF1F4l>>pYDi3Z1Upq6~d6FYz?MFVAY=D1k0* zFUQ}iKEh)3M`88Euq3=jm_ka_Pi=+bI?{8z z-@GyijNQ&**Fo}`RyCDioirK%*V{_&k>rW0YQHrLMs;r!^mYJ$J=$cFx)_?#i=wAu z&C;@NamitaAC$VyT}r;Ai&0P&47bo%@Z#vuqdODLE@7zd>}o+o@NhD_X3#abBs)Gz1{yGkOJ=#;-=0UPRAaUyDYgpBtW&$ z1)Yz6)VZI4t}2=GSz+-zIH;%idGbK5U{+xTF{Z8&p>H3c@#a#$$*#gZm1zX;5eEp^ z$-Z59cHiEg3dXMCCcz>4wU_7YGAHE)kBM%^+aG}l#A&-Zg7C*L_#Xa?I6+SrlcVRz zm>-SR9j&PQTm90%&d?#eVGZVPf|`R1QzFu@Sa#2#QPEZEaCYLxT4VmHpq?)L{e8SDtY$Tii`Bh42TE>Y}SnZH!(CsVJR4w9PYG128D! z*j%}VGe>l}8OYYWgI9n2IQ7LTDL%~Y1(Ztx~K+9FI zb>_IeXHk2XdybEZW4JH4QC7z6AMl866i8H7sdYLgm5!3I+WaCKZ-chaeA7EW+Y}vT zWJayF`!_fptCUawIJIAV^0q1-MXA6_guSmvAiko;Z>il}iXp zj=^b-TuEEL62%m7JW>Z6Hrs$l`eYm|&KY7aS`aK?uz`!iVB^SLAWu)L(qetjg2~e$ zP=UH5o#HkhoE4^kQ*ZgPDVeY1`EV(1eQ zZg>KSu$u5To)oh0Te}cS%46{Zm?4GxHK?9cRiKaoAYZ>BPH zy|m7LO33CiRgWT^ny19=mPA~|(0zQv(yO~AS7WKBWAoRo@?(Bm-|=%Uf;Y~caUZ#| zYN6%fJQko^BbZ3!trg|=GMsht&+Zk5`0?VUQPtk7=bKS<5Jb1gxLDHzso4+?3$XxA zw^G_Dv9OY31j%&^n4&~yZ29-7uCN8eGWjeR9YQVy$~H!xP+k1?jK@sY$wydud$Mes z8)8swt0I8k_?rm_9okO7>tgsw7Cd0#?J_6PP?VZn4-Tjq{In^wRDUJn6$M5`#k1h`qVq@hgz`*)Z=-MU5*%XuZo6v=#tyhZWJ_XQ^H!yM zB_sz+s30vqRKuWuL7gJwG5R6t)EiTjQpPE%34+t6CtwwXy_ef-bD!4pF*bu1n$ZS{ z;~UijE=;3n*c?#~J6KuEs4~I*{cFydW3BJZ;FyHqi{@E|OCe1Ic;$mxc=qUe|*jdBRQ)~!56ytm?w_`wUjrvN!1 zuhXlhM{d}>`|kpU6097NX;hZ%LIPDSegWVql6IdCg_xIRj|V?v?@{+mNz{k?nn5M} zOAdMA{XG9m19C<-Kj^k4hGW~v(r>M7BcH}>xr@eYTI3l5G;@C`ws}3|e92u#Xj4Re znv@GFGU}d7AS07Lc&xALs2QKcL0q`hb%;~X_HM&CLRO}ae~{WK=A+LnVJil0um>D-65~a=+X^O;j-ei$9gvkPkesom?3%% zKP(_=xDFsF|F>E9PBH%6?Iv}|na|ZzB*ld5wm4By&MLLB^rQSEjQ^)vCK`FU!xIbt z7K_!*+9Cj!-qNa9l3dl>8Rif3qpGSq{T_%7Mk7m_Dqb>1z!qds)EHa?b{;s9uormp zzG%C%H~AJ(zqr2@Ly0EAhNWbD$f6m9!(8HVWArtH#IV+%4i4_*zu@`jT8YatBcS8 z{xeTP@#Ls&aZZ}g@E2`H8O!xM5Fk+h!0cks*q6`T#0uDfui3zWb|^ms*l~C0+rwOa z#%>s}9lXgqfV=2e4)$(u%#{;OphRLA)?z%TQ(FoVBVUe@t9~1F%6LfaQ9j_?8rL{5 zMlw99w*&%&&9u3oX<(}%7(&*uD{lJrkzv*I4z1=L$0-^Ah^h)#wTBL5YfRt9%nV<~ z@^p&c0nGO1)i0NeF=d1cwl@Dib>yWG=0$$G#kNI34$+~6ooxhO8u|C}*O1;slBO2} zUcs61N*x-N>pj=WMu7K`Pa?SbC@9EukPBAl{CH=o&LrrkVLk`6sOv)3JZTO8IPc6| zdgbDLMy>H3iO0f;{YHZcB59z5cfl{(a$RvP9nZFf9oKDpu$=mH3T+C;sr8F8E}7Hq zf{ZMK(A|K;P`{v}5Y&Rv+bE^kICPzTlsWav>7cRbe3%&y{^i!)odpXS1K+r;pArCr zGCFWm{X4{HVs>L6Q9$JY6B)g{#i;drV$3gr+J*ZmU!9ge=vhZ;3gGl|wW7g){%W&r4JtO z&2rl_y2s~7vUGg<3A}s(JWvYtkQI|WLaJ+FU{A%$51%%&fYWT7QDMg;4X4wW#;IbM z{MMacQ7kmUSggJ?al={A0|dP(wPlY&LYwgs>R z_X^SIc2c`GxEJP*6WsEw)UyPzH7yNCcN^>eG6;DFoPTA7Ib63Z1OWEH?bHj`ivgP< z%zkd3~T}vKuQ#kg%7oMZ8~+lq|{tw=po$1cmo|$>MbV4ZyW&y4vs5;>KRN6yPTmL z?5gnVwPf2Noi8+S=}tKx6iUP!?h2ukstf%-8`JKmWlj|xPJ(=H?&oHif%+rv4U)G7 zs7mZ))T)pzEk;Bw)p{r2mC;S~p|(c5@o{90kWh&I6VqiLw0Ef!^#G_d@8OpRA=jy_ z7i$0fpoLnR?tID~^P_N?<4aJks)mw_ zu}@tTivmezT@3wZ99Z-l>wJZnX0fNNhT%2ltRk0XBHfKA2Y|L6OgxaF0u=H{iA8QU zqP=Rl6r8j%kTF2u2}_(Z{zISAqkI{c*n>$Y9^G?*k9=`e-a8uF(fMHmqD?*h&f$Gb zfzUD&5DsmsqxXKBN*qu1b1vH#XI0ZouKzu+aZYdL2K1t;$3M<`o^@u4#@MJu&+3$w z4o-uSi@oEGAq0$6Q_AG8#)0nUR_NFLIvR;<>lR3*`%3%G#=aO zOHgdE--hm)3ZGoT-7S1uo|u(FG^dB(+K@vi-P3fib~m6=19?Co2Y_HI zd-t&`g)tT3PmjeVM`Uhx_F~`WS|?HMzR|PqKS&QR$9?2o-@d|^j@dGKq4*gBCmF%j zPANL401|bbask4fN<)ZWYEW;Y)1QsfNX;FcG0l*uwA1u(!LI8H0FC?)X%ia#IC#}p zK*HI%VZ*v;CY_Q+rd+WlV9+dDMnp$$;e$L&G*KSzcy+8AK`$Q3*7X>qi`G6Niu^Wd zBvJ}d?dJ-HQ=9PKH3Md2jmdeHN(#ls-F`C9k{fD{Ai^ojI3iYDwTmc;O zMxG&yh*{gNKmyJD;Wx|<l6}B7F@;d!2`QTp>60Ji8W}c3lL4KpP#P5rMT$5Sko`ccP&^9X+yptB0eD;E`$SMoYm)PXdv)^2$ z!+*%v=KdPEXq9V(HP|`A)2|YZ0Tpf_0SIC&E5?Gjqf;d0;MHOQrK4~}g({{OaCmeT z2*+0gg0w%q7_C?oZ>~8YnW0LwCB^d{nt@V1?NpHl9ooUw?A>VI!`<*2)(Z%UrkTHG){2v*-js4<{up7r}-lNu?b+@^(p@gW)||47w%u@yPr zq)RvUhX~fyFTdezRsvDueNDPtLgLlMSdU+HYu_#sWA-XQh>4n*JMH<9F;+3U>xa|R zN~LMU$Jtsq??h~N;rNej3 zbSCyYk6!giqh*g_GM?-2pWMKQS42Ld*`hjU@eOGZPLrwMhzJq+D>fVL97%@sI?B$I zk;RX5EqyXH`)uxCmp8DNW~F&Rz@S}7FRY>JFEv-+ES_amy&y!Cb_@x2Lo4HRc^X+e z7U563hRX1k!R;DE5Ea>41WF%6JF%>V#->72CHp*`!-7 z)Xk)s90XvCWLs3VqrCx9c&~rfor=TqOPoYPL}T2lvA9pIGa8cV;DT*vsuLqsTx^D2 zM*218-imJS7)l~Myf5HF?WRcA?g-6v)C!Xi=if^5|LmqtcS;RN^Bmsd0~*hYyvOa> z@SIvHXah4o@_ngB#b{sM`mwC|maUgniQ?KDXVppFz4SxfAt=@S78(>8W)f7SrCQ=( z!@suajCdMa2bEDm=JYZbNT^oFoqDx0R1ZYJgC8g$*YUG(#!=uk(GHOXBIhdw+YU?7 z-Z|=M#V0*`Y3=zx`p&ypUdR*=E2y+MF7BgbmN&Bj%E!2k61eE&1pzH>gz_SnkBh}Dph-D2G(B(IosmT-!Bm*Tb zsYxx45JmZGWhYV za;cDGyj7?T3vf&^-rEFCD@N!tY`h=8&7S;Xv8z6VGq*b3u#2=gnT(ta%cq#CT3k28 zfiPbXbq~q$URO}=&c7Er!e0g+vs%=))OFHiQt#n) zgm`=qH_VRFAZ98IS8F@}tVP(+o7r{wBA|~Kx<(8N?~Vetc2Sl=8q^YoBy`4}#8t02 zbMnM$TQ*wmdtzP`2DL_4=LcQsGro8X#BCoQ9OC#dBJVSJmaTx1v}(`oONvZ-J;CWW zYhdT!ZG4DGC%juasv}Va_jHcCdnNKumAT);m$8Z~#8iP6&#+0QRgwm^!RJV4t;@^B zZx48NC&<^y;kbaSPFBs^KjGSGjLzz5nftWnM_S7Tr-cwN09EQgZA8i=PG|*z^oE?S zw0-hoDjT`KM~uR{*~zrtU`)g2eU#XesC`(JL|KC7PFspU8cyL(k%a?rD5^dYyUDZ_ zA-My}fziqci8wtLe3};+su-aX$$>C#h)~y_;K~;DCi>%crjajmj`yrQb+o8GgX$_- zQL3oEOfU2%#;b_K}ADP6aSoRj=2sSaUU#+mQ=Y4c*ybvx!aNlq6uT-tR~@v2D8bE z>_;RDw6@r4NF@8?pTQpzU_U#K8qfSDR+RJ6Y9fYKPNAi084a#_+WWOZ5O<8<;I|mF zCfQ{aMd>!NdR1cB>3n?(i?+y(s=j6c z6}R7Y8xs_LEy?%fkeBr|n6=j8XXwKSsQL8NPr)82)!;XRukL(kgxp`NB?)Y@rLorD z#ZY$Y$n085j(+g?Rbi*4mSfl0FFi79T3+F3yu~<;*>63XOA4S(sKHeOs_q$t6i9S=zhJrBI zY1zjWX+**mSOqPrrsXWMNs{I6u7*?-coUuDi7#)r79U(EI`!x_;2X?q+w}=YULl+I zO{zH$El{$Ep+{M$6}uQAV*2#p{SQ*VE;;33NGYEVqz`|!BI{9VdrD-0ez`N6g#MNA z9B`t{**O*FgBO<%|T)O~h2I*N03v_pyT92B>N=V7R)&%%7D`v#zGL@2Y zvvZtTP7iIBXv{HO6`v$}q)sT#;SCSiBmu9BnEM@q%|~Xj+kF}{=3u!@2{Wy@9;Lh+ z$vDb9SypsbCXK90IFMvZzzGBTK=#PC+SW{imtW(&k4$Wv$KG0p?u+G8ldKM*f<=Mu&Yo@AQ zV20Gc$DVAOySH-vMv40*p|O92ICL*lYhH&s)*57WDTcB^NTooi)*Ouh7(}T3U_?N<-h(0+kR$rObs>P(JlT{e9+`-KjJT zP;43=)?z)1O2$S@TGB&zB+$fZgfry#h&`dRD@jQs zMI5lN7h%pnWH>fV9OmU^PFuuu@1b7UK?a2~u4elCEUA6kI`w$4n7c1^>^J^}*|bOj zTK;Ix?rjrzEyq=wZ_X*V(!|UyBgFfvko^sQqCQ}>5>iA*mK1GpYf;5^s1nqvY0qC2 z-!z;@Ew^>6;+Ov;8g`oB5)hp=U6P3t#v)&X`mV=OZrQ~Az_FaCY2n9ASq(LR^?9pM zGh@nmFiKhfniRHgA}gj@Z367CHEt~J2J}Ymn^&5XeKi-_SbllYj{*e6M9QYlTzo!- z*k8?Gqm58yKTiu55yeL!IT?E?sfYJ3do!B&XG0Vf%RBPaEMRu zIV%VYjr2*7j5k#{8@AYzd-F)?TWh`Iwq0^>*-b@^mAoRNH(|dCh`Sob z=Z*136TE-$MjQ=%=z4lq`+Csxe#l{@gqV#d+2-6@3gL77ofAmeB*P&?1-2+PPX?zh zY2N(y|2}?IuNKhX|2(X zN6XdYZj-b6Z{%UKBHNR;->320QI)yaCz_GukJmRSnJ z!gv^x?NEj$k&ji3w-fmbIH}sN$m_bmL(^&TRMlaBHw*G#uHy&V_^1x4sGY=iwjrCM zgDd~Rfp*f^Dy)|>ID+|!x-Sv|Fi7MWXTFrz;S+8?e1a5gB=5B*UHEQfR^6Nih#m>` zfH>VtaxX5K#mDGzgtQgu0;%#34GJ>O14_ky)Tj*rXUyXFr$(x@*E@d5IpVj@tv@31oNP*Cbw zO{j^dZ76qt*u;{Q_s^o3&%#3qayfEW`OvwLIrU5gx=M)hl_Th=TCbpZ0`2BagA%r8&l6DKwccPbVeky}Er0Q-ATphRuRu955Qso|*4Ry2Et5Ml9hBf{x zO=Oepm_||fc!Dwv^YC*Rl?x+@r+}=e4S$xHQ=E9mI<*hly?>9JrbUI_Y8Q9g@&Ro?gAxCy=MgNYg)=yAdGTjTlb+Bd1m#bQ+-MK)DUR3mt;nB zi6N$x1a#Wr_-Gsfjgx9rf?~lM#u>{xA3hDOtDO4yQbX#uv?FCT6(xaSu3@bfT7=QA zPk*?)uwV2kP#tR{U;MGg3kP;A)Z_fFXihRj#zur)Tv;6%j(Hib6L)|hz{i}WJ5}z= zt-68BqHAsKApFnowi&uo34FM~muM~VV7xG@oW#fCPEP;(m$x`_c9LBiP$4o<3! z!r$Y0GDCG4ZOALZpHACA3UAz$`n}5xQyR3Ab0sx`>P8{RhYXF`1x%PPrA(LhUUPlr zD&3|+Fu(VAlVo~i8Ndgiv1gac44Mb2`qgre_FJNXJ&sp_|M+Jhb$vudkWe9FcyFo& z1c=RFCk=cg?)a6oYd|Y36VVE;l{b4W4-RlKba!ne{yPp4;eF0DZVLAyNL|o8=S6%eH>u!5pT3NmU&aGu7UHub$IsFB|b{ z-Zb>WbNY3oq?072Ov1%8xO{j9U(a!FJ|78Afo5iOi&q~-cHp;7Y45%HfX3bYxrc|! z?cvu?rZ(pYZ{1&kg^#P!$vhpV#UEA03Y z(VbilK49m>w~ar;yiqDSy^)$Pa4qRF!Ih_^eH#_A3*!n48c`zS0?4}lRCu0FX@XEX z>bOAuFDJ)O7wQX>>vwo3=UOVT zUdyaZP@5Yh_4f$=`BbS~jr3ys=L-_VDV;R9`xV*Hz#lo3pHaFHRHsh|#1UBv753X| zrZ~#KG(1#f!TikOxnOnj;G7{K=u;2cnR=PD#+XDS=p$52opy`3&q*9oun_B3o}mDT zzFrHCL5j6J`PQn-0B2q*+1~pj=@EZ4AFO#v%3D~#YlSTqiQ{lQtglpJ-Q*c=Q4_@@ zdz00~#YgDkR`wp}TyuSLpT$I)_of76TQlUhIyR>`W`i$u{&1w;8lS;`TU5AI;Fty- zx*9k&`E;6|c`d7MR4MmKsSchamRbdnaBEB_%CN~Gki$YzgMWbNqIzZpq@L5G8il~} zDfM#vLS$W4%sk8L`{&?R=r&1?k)2OawSqZOvi4pBWx1S9Z^EEc1qoHCzE%yfY!TW* zqPJJsNN92^XWi4J7Hg>jg?wXvJv&AXb1MVKClqQE0o3av(veV42nci|nqR>0Kp?NByc` zZ(nLFoHx~kQD0yU60}^(vgnSNkj$dg+kVD9u*i9IzgOyD9;Ma^(K9PoxMN_Q^j%*(Qr~egQzvjlcQr#620i-m7R7F5rJuRJD|BykD zO1AF*u#10SNTjTzRVrtoFkEK6jA$@eLf|y`hlA$!^Xn?w0!Sjk1zkRNYy7ULWsf&7 za?0iCakYTGlO!d!vm6AgQ!Z7UY!d~B8)i;Y)hs|w=r>t^^K&(Sqow@h(S2+W>-?~a ztW>3CDXexzCv5fm7a-U7tl4WXE@np}5QvZbLGL@&g|ifTQPHP%eWfSk+Gm1+#ATq+ zYQej~H=7u$Gm2)EgYI@A^oS^#}cBC*-ml))OrLl=K8$b#LkTgngGU%?ax z->o;UsHa1)bWC$`o}sU%J1!4JoPI;q6|q9%Xa0j&O2ShaEW*7*Q6Pz4{8Ni7R0!^z znyC3ZHVAG=!w_FL0@83^j5|~}AhbYMV$8e=aXT!=iyj5R%jzaSfbCyJ_#`AZ>#NSK zYx(t4YkbbBqM29vGUh;#&Qz2rHmVTpQ$I|!pXnBPQRDg zT?|kHMh_zqM;vzvf58b40(`TM1&ib5{!2Y+tH8@sMjz{mlJ%S$)vHF&zONwxp8}k! z(saTN>C*SAHauFnNT5!hklWibZ%a})_CYpR2IE* zT~w?k?uz1JYL(6L=9C~OGe2h-4Gr@Wbz~I$TFRvNGJBW1YgSeXF92d9sLDrgSZQ;> z8m(x^0=}#h#znaDPD}-c13p&QLwF^XtH+(%R0~b$Ch|Q(wL&0=o9j-tsNeRGS%Oy} zta``vA?ud*Pp@;bs^r6Y8u7C>lrECIDSD#W*7$ya|DYm|cRlK?f@ySKTj;V7`+e>h zD1d3Pz%Lpc$@Kpk0T@IQttQc?m0u|?=cR$bF?HMY@;WHHHe&S7dJj|;(QI_~Gx(_U z$I6hY{$+3EA*rz4%Ei@RkyS-ucoy(My;%EiLNr8gGz7xi6gHGqfPb5oTK*v2^O~cX z=vL`jolDQuiX4})@wkusFJOp71EdQyWjw5L@L1P>vX%vnK(J)Pn52%!=e3F+1*OEQ zqyms#NMP0Bxm84jh>B6on!r|X(2r=!K-_~?g%QhN7vAhR1CkYzbT?L@`7xcl zxg93)v{_V~PPZu(RZ}0QZf`CazHy+VY7*bk#}D;({${3qQyC=~#t zW&q;A_wSXm2tnpMK6R!z;K6+otRQ1tjPviEa#Jh~snn0(x6^zcXzZ|bo8_g%`7=6eOf_;p)h!F>Da-9!4Ig@ff-LA!!jh`$U(^9{lVZ#fj&DRcyl@h z2)n%mSp{et5YZj{FiCByNxUP%Lx(^YdO>m4o(OQ6)u3qKLqn`J=NR(s|h)d9jdb;KtuDqIhwILK~=Gv3^6 zz7_l;C5dkgpEEyT9;Prp5X0@1c|L^`3*lCAEWl_S*a1KTlC>4F$N*g;?eYh?gCd-NBf#QtL@)EA4wX*6Si$!t zw_{YUvHHp#4+Q+88;4QtSxsFL&=&LH_L&uF(=V}rQ9%lSQpqxY6~OG^s2vCkd(aI} zzly55ZI&h_O~;9{nf_$>+g^3Id8^aPcCq4gX;;?W2I9WkHEpT$FA?3#=UC@!2WS~M zh+QAa2y%XNEp|8ThGMIOU!kX8l$~U%m@^6QayRUE^syI=2_7r;W{YzJ*!x)Qo}_B% zt$Q=HHAEN-yVI9|34r@edS&kn&Zv9-dWHCDFAg1u)P7R}Yi-OMsN zu7!y%<0(}d(L|KGdK&sCBm(VZ=?ZtDBrQ2870oZl5-iSAp-FbYj-*pXaZ}WtMUcX@ z7!a{!dla`a>Y@j4E~US5xSKpKp5+p8w)T*!MCDNO`v#Cxy}0dq_iv_h(VE{3JBJa) z`0Ahb?Wav1bnIul1w}&<2r>`fN3oKZy9dkqR^%ySkLd^C^AEajQuG7SVtJi2u=l<* zPr?41wR<%|m<4A}!&$qH`b?;;RW=7PFA2lYIsnCIP<08<$L|szaGc7Ai3D{2*6OLz-@f`-i z^rTy>xb)!5-1@acLlY-~V{s#JsFNLG_bqL|N7vyYy^Nc3Mt$cg*5K5HbRVqSVCrrT zgZH8a+JwZ|BU@9-P_PtdiJN-a>qIt<+_ZNgvHJOL5S(32Q)Kj;_X{?wrb(kWB~Nq= zpi@G{$95W#SuBMxV}yppsuiu9UAf=4-#I(R$mEi z*;}H*__YG`?Y0Dx1-Wv!8%*Q08RF{8P+EkbKY*POleM4qj`z&>RAUJTh~ke!JDa-m zFP8#GoL{Olx2X#+JT>xK@XJTe-lc-9q80b!_=@oZB0;8m$zTw{2?SNI z!!1#-Mg=VDRz`vH^RJD<`jqsZl{&QghhGrI)Ik=B31z*1ZH^D<8nC_QzF#6|onY9+ ze_1<2J2+P8leTT-;o+fXkyuGjA`aKo_g4_!x8H(kTmMr*Z? z)TEdJvqYMd zzTQEXIHgZ&REU#~W88ZLpqxSGKgw6?sz~-na2KolL6C~%RHEB!S11dP+T8sr$Gq+b z=)ZR*^ldZK2PFyOzeK{QVrS^wkHeb5kz;T;-PNU*TJ|Khyfi8D@1a_%3zkz-7BkxFGk>Ut;!o$@erTRk) zJA`t|V4# zM}ahr_twY-&}!-diw9f*m+r5})2^aBPO0(DM$)0vg8}72di38xwP;dH)x7B=PB70T zKO{D85*GM}Lt$+TI|FK@CVY1-i$%yAubk(7Qn~@eCAPa^LexeR4#!J-C`-haOD|Sb zQpb~oWgtqTxc*7`BR{1q_0j(87gI?4yuKT0n_ZxIVr%~wR=u9dW1T+e{!pwm+qztiOlenH^a~r4R;U6=)PZ{}gfRk(eZ!(Z)WgI6{Zq9N-@kC@G zXEazdvZFNjz+hYvxU){`?Z#^=zIW`7NHa0HL*WK-v1auj^fLNRWpa_8Mx#H% zK?Dy-v@V*M!LTlIw5Ob+lMlMfJd8pa))ZVIZiW_QvsZcBkWP!NMIC7}1W*G`_N-Z_ z2NxxmoSfJc1;c;lsDBgz7ruoctBVURo>xvNtRxs^)nqn_bR|O#iKA#<#cp1Fidx7y zLksB=zg4y(`GsqQF#y-}3r)^cnw3JK@jB@A*ZI_ivRsvKk-FOdnc%Q{NGH< zDEQ8)xT60y3K|9Mxqd(wRdVKN>Xu-6ocnh?`}?&$g&L(~=&4IbA&VP|Zkcu_Y$ys6 zlqNQUeA}gigGibl=4~N_p94_WeTB_Ktp^PPt69bp+DNW9l&w-!=Ig>qWWm?@EF4UH z%&X;!sPM>xI9};P%eJGeyg#D$*Is)Cy zJCxem6w$Euej&qziy}Xhe0oQzQi2Oa{fct-US7TAY+2YlTs|!<^7Vj=k;QDgw?I&h zHXNaqCZR%Mws7hh>pEDhU^gVI4w$=qG00RVUR8|1jDIlL<{)J){*#G9SMx{l>G5p+ z(iDB1U$DzhEo9K_qxV5`j`042ty~dfI-nyzWJ9-F=Bs#$)11idHL-Pkzi9OhQ!aJb zJ%Yvv<9141_&3jr=CW0pOogv9t3BUDrIYkrqV>a$OY1LU8e}JrO-a1m@T&K;dt0=- zaQRW?edVGopXBq<&+m3z9|?!$?5=rz7Tpe#GQoa*`l9%q1Cg&VyTArw^jT|XBK6|+ zA7&k;ZaJXz5hi+lfJGE+P$ZjLbp==2V4g7=A2Q6ykA2oNlua#UgO<{LYLCmMe+S-s zo7<6PSNj&1K_xvG6aPT7)ty-|>cw{cu$NM6{M=fPtH@|+9F3A3koCtS_X5;&mm$Lg zLPy4D`-#p?gReIw|J%?^u3+TT7S2^d{d*r_C#dW`9u9QjCc_WGYI1kW^7BDeW z(BzKPbu-^w+p2d@RcU8wJeKH|Gfrpy)AHNhFXiLVneO(uyKpbA%TWfoQR}FxlLfrQ z@0s)+-HC?Hj-_YwBB+_}8pU*iuDONOm7KFMeMQt1Y=Q5=ybG!Ry6vJ_qzz(k!#66^1ny}qI!S=YG)K4G;dT; zj${u;A9nUGJ~m^}Hk%8RQ=6B>kF0ZWG?!J)UJed8ggHF^#A__F+=7 zCAYRZ@)0YN6mU1ZQ`=ztTC2!KMx*k%AXOs*st3gn&PKhA@&30}T^dOu(>&mv zR5vnPbOQFZ_qO7;8ls~zHh7=)4vD%u4Vo+E$wOrP4M!AXa+#LL9kC$3vllr7??^c~ zv0ZbL41Imwz@jPq!D!GvK$o_KWZXN+s444XMTrK@}WiOal7@u*3w#Ta1^4 z6L)G#hKB@XH`;e9BE}n;1rh5&Phce_OH=*%~@v#$36<6pee#~0`GAUN3gcU(`(P0 z0C!O^BB(efD!*G~LEl*&)xe{t!2LoIsP1EMOl``3q3qn*VC{#v3soeoAW@Fe*17_5 zrU+y0>j|1Tc=Kip81<{XS8H6ns5udJK;(x^-*J|5Ukn9+uDAREe*tq;F|O z_UxFf20$4>Iv{$cBKEVmK_HNj0F4v04Qo0zf|R8)s;a8T*+-marCy6t_5Z~qFEIil^P!{vYI+pt>DA6^vLfd40l2a4Wu{sz6AYA11Q~0QPQ0pZ6TG~F#k2d zDQ^pl_XtI9>O2&TXVP777iAveOBjR{2*fzw=Uh_vC#128bO{c(A2US$UZ7CAobp=t z6{g2Vc&I+-URNx9Dw;$JKcr^mLOuMDtvgIdMOV;ai#@(abdtbMI`JHxKIW!?^Hbyl z7Q#0an=#~u3kqQ=@A7j&diPg7@TV!KkA5MXY;JEDJ|vZqk$Es3zOhd|6>uu1l5sDL z)-*otGPkI)o__*`*XS>@#dqsBypf^Sx$rb=Mi%%5ny-n901ClEefub|8MyYdNiWIh zf8(v7rNDfUSbQ3tRZ&kBv(^rI*|zUyP&;|5ro0S#r!E9OB0OJ_8cT=8X$0?G9NNLQ zb9exQ4tiDC{L+QbRk8D61a^FU4`YDkM$0M%hi0yRkbo;835gtXP2gy-JRGb=-L64- zsJjiS4Gmn4-fk{Xf|5y z2NpPu1>V^DUt%PnHLLI3s@w&8&Foa49qsr+)XKHfvKZFmi{dP6;Lr{t;=rU08(*4f zf~Uj4arFlAKMWW&4O$Oak9E`6A`TL}PIWd>>CA#xUT`YNnG9HUB20|x6~CV~=x|;^ zd$^6XQxsqf5I`c&svR$7jS zWPT&+kkVW7#Uo4#EhNPic~Z=?Yvd+f>yj*x>3|bTatT3*M+BPwGOK9= zinx7}j9`rh>Oog!l+QO`zv{=f1fl}eN6T6AYL&uKMT_ot?dNfeX~)$G^U!+ zG%UgaV)R}qOxX7XtIntsLzHrq9R5tolC0!1<$9^7(14F~iCg`ErHG6O>`|W1Ld+g3 zVJh8Uvi(4qk2(0~0l;|LJb+Z->^ePbR2B)-fTX@uS_a_ zCxq0;DCGa5h-Vkz{H1B(C^c$O+&anmdSM8m4hRnV17Snb9_N(SqmruXmUO&O?@c@O zz_d*fWQ?V1&eRV8eCp^Jf<%a482ep;toy5170Zx*&EM?5uT^HzBTB4X2p=c&fJZOp z(5ITif8|IDM$sA7h#nA+(!`ooSr+J;%IVpGc>{vOnk;2FT;+ddSAY2Gh89#G;&Q}~ zR<)Pq=bZEZDyvRyB?r6PI*F@=f|7<=BL1!%1S%2uHH%CJrQ-tMmGesg$8I%aP2R_Y z+w=$uBe$mshj6kd$}PQ`%fw6^4e0(*b#BHBihd;boX6ChHs`msl7uc+b$hP@SfCB< zkBPXC<=NSKG=TCG_S@LzcnF_)iQap7)Gm^VZu=*?@k>{v+4Rqp$* zt2Jj6e2&AuU6mDPR8!H4I4pR;Q7@I?#yZ8Mo2cI*8!C9_C&Js(PCbw>XoD>~e8^e4 z4mFd0oK47`j@Kr#4zMAcU#@#5uawg}Vr9kq!q9V#?C6aQ!jJ7fB1tI`8eGWRkkZ5V zNvy&29+$h{sH?)qWlT-8uY~Hw;^z=X9koh4mm6(AiNvK_l6vHO>TtUOKBT6;aGBuWhIv6Y&s~?b0DNhzKaQ@3*?51lZ;s_)$&=m3a#{NZ5snnXK@<=6p!L*!R51^hW3p14?O3y=uKY}PJ*p2EdcvD;## z?a%Dh%4uunE#%wQ^0MV+hV$)eLL*mydlQ9tRgl;2j z!JrJK-h5Ise{HxX33Ug7#0=+{1qn7PY$WL<@KRoNrpm9houmi);E)%CW_`}X71prJ zrcm=vTWMJ!w#2VWEKh~U_5wdvLP$H99o5ci0acfjnb=md{@0tM(Sa-~jOj{~<_|PP zkJ&2y6eg)r4__ESb4IHPbo&60FS3c^faZ991<~b*s4N2I1LEZEof;8`JPSq% zcpMI!TgR)(aZ<=p=gA$+$0$yeiwOEW9r_<2PtGA{K3tIe0!(MK(Asb<)uau97|P|s zU76i!TywI7sia)qgeN7rW5nK4$a0t*FA3h`!jm4LDeLr@WI={j7SVCZFeDOE0rQSFtN-Uzw)Bq-=o|U;AA&HmbtM961{ z82T+Amc)SEa5a?u;vhkI@MCLD5F&9_Q^6})e|N2j_C^xC_UYXf4+Tsi1%fMI4XAc{ zq+%=RVlYi5yY5xVKHy)V5jLAroo@86e)c_{j{y^_RhV`$nQ`M|#H~l#%s3P!{pyw0 zBS$ry%C(8*7H(qBNQTgdvBzXvYe;z@vXmDt&>az&agXU(i_F9M+y!IGkg$nB^K$-? zR{wx}{P7x;VC7NkBBH>XpqlWUszh?Tzy_ZcfPV+5HV#(Y-JY0Si$fnSQ5N&k8Djqk ztyIP80!|Ck2TZss0paA-))nE=H>eqVs~SE;wnfeO-hKv+@Y(}jXzBB6nmen!g>jlM30nuca-3#7j1`bZx>bw!iKvU8 zKHjPZSJ!?mvt`wbZPo~1fIH^&CAGo4!wn!ve@ECQuxJ^8PN?9^hXkyzbdc6#ek&~P zL%7W&0`R-G@BY(-D6Ty0PoyPY*XGP#262%0Y0i`)Y-WZ_1YeGt4Ue6+7dY|>Q1{y3 z#s2syJj7_O>yJ`rkRiIoFfvv+TkIO$9~totRCr9f&s%~w&r}q#zJU4fcV@7`V3Dbz zK*ynp_<)H4=-^AjcIhg`x%3WYMb5nY1;?7AiVzO~u5iQzPjYcfh$URR8RGrad}#=T z=qj>zWQGR4Us;HTsJh=45iYxJOD@Zo`AfBPN@k1AK12Q+nu^qCDhVht9O9`T z10H8;%}S#~4k|IjzSBqVRXJ9Z9qM!HkBKCpUb3$>pk%X0f=sn#Ql^K;+>adC zAjM%qJOHZ>uv0Wk{bDd~(}s`Kb^`xHp?6YjVlMP{uikWlQ>@MhWQM9|BGq!`a#3T~ z`s*-ry7wA}t5=4NLC46Upi-JBAj=_$n5`Jh%pxUoc_-ke@r^&SY zLNW8cp_i&hlF%6Ra7U58NR9#q>Q0IK+w&qZ;TTIN&h~kmzTc`?%H^G;g;8@z5mnb>$225K?>Vq(L>U;m>?xIXlB1h zyU}8(x=D%F2+gYo>BmX)5f1Qs?S<(~MLU37wVqt7tZl*LG3sbEuoAy>(mf$0T!(mA zaqBo0AuZ}1b1zDc87h12bn58F+dW&c?XsQY15=pztdW*SHZ|NFb1{CYxV#!~%< zb!i$`u+HyEjrfUDlZXaF>R`;iVXua#6WKW?vXIXnHXve-8e?QoCEz0;0C_813SFD7 znNv6lc8iWv-4n^t`4vcb^ZICn_FR#TK4xv@4s9Dm)}uQzoo=twDK5n zutChNAuOan1Y1-L)~n%b=~SvA{DA6FPA|ht=#5>QCGbVAJzg7+!|TU$yM1A<=t`#r z#^T9@fKBGWauPM-$Ir-WC#Dy7W(@c4*Ww8` z4Lm+uXqpBq-CAW`>J%;0IyMH?eT@bm;P}R>v~?3A>d9s_H4XVID(%Ck)9JN&okL6W zw}GbR4vuxY#2xjlJUEL$_@@^(`fU@Eoi+8RkMe8o&rhO#963m$NmcGx0` zM+AOU43+*X)8%Oy)X_d{4Rvx9yf8X{;^6*yHjfPMrlj1bWRD;FJ!3bS3^97GBKO{3MFdC+mOriesNYj%>y@evZG2HZYe<4cpS0_vVd4C!r6 z%H>@D~O2yZC zz8H*I)KuYoZN$r3o``o?2#dE{QJPRtdJ8?E!TL2|lJbgkK7H%3Y%0#e9EN$^dXH5p zE^l^Y0W(q5#9@$-)mnfo{n?>5xUx7msO2JN4Sb+MTZQqO!F(6vZy3v(+5P{)Wn`YY zbZI}rUU;ACqOsjMqgJHXX?9{-y7l|Duzajz}I7~2pl{x%tm`& zgiJs*RGIf{^GLP5j~l0Rf{c>Gf?L%!gp$M(_XvOkGkNjw90y7T+NdNgOvhYn#6tmc z4$JfJx4?Qc*9ts~tQX*Kxr{nhrwQ49(~au8y+ll86Ivf{38h2Ge${~l?bUR zZl|Sv?S!1224PXHyj{-`stejl7?x!09?&R^J+B{Mx06Kfq8y)3yjNHS-~cT$CR*=zqNzigL&IYkm!P+`xvfjpeO60STEwBj`f~{8IR5v3 z>5oWHI6u-zhhR?$hQyQ?SFqNo^NXWYl7=M?3o+4+iWJ!QqnbaTtC=pq24{-KCkbp0 zd1-9twIXacacp2xGHh37?+K80rBgc3|Ls!vV~tgB3Ooeu(zKqNQ4-#$I@_973LeDi zI9=jLH!!~_6^D(%we@`G2%;nTYs!e65}lue0>6J5zr2(&GAA(bo12}boHL7B1v?;> zW)Bi0YqTU^en}snco_j0@TzE(Nt~S3X^W5%?s9p+^sJSY(~C&Z435qo;XW8|)*kGJ z-s?loAJ%J-T_R1_zUbBmt6aBQg(rVuSm75>9QdJawO|34^m-6_#FyV9AaH<`f(w5 z0}}uC^$$^dJZ|&8va6d0dV!|Rl(M!jSA#U41G#m->1-jpTnX?J;2_%YW6&GSuAt=! zDeyWR!dKj!&PdOm)yMcYQWO^q{!ll%6t~mB zL!Qi<7&HzbeL}$E7Uoal-UY!_81BgQC7g3AG>@esGEGv+C!kM&2MF_44Np2{BEki@ zD9T4b9+pc(b4sxI11uRTajS=CmP|tKPliHl8O&VH4qMujzQI|+F~K6AeW+Dd9L5eoNp#C6~JArAeZKmmN)3b-kj53PA-EU!JGCC~HI|{nn z5ZIl>198NpcuOc6*!e+O)#R;Z=skx(I51xN+TNRs@lLx+L2qbM?)pON>7Ghjr8gF; z4<@;jUjY=Q8S9ueoSxF_*HMlaG8t{fKT?F|kGTv79Z*;lN)npB57s|xypqUaSES1) zZ~j^(qy?K@+8##4{^rmzciM4S)R2=lM?$j{g0cHPQ1dP?0OTqf%YBO$ewmI4sGrFy7rQp#%)pALG300(h(4f1@XJa5HnM zullR<)@2&`<`KBXB{d6EMqkOWu6A{%lP~sPf#`XL^aX^L?52e1iZxcX%WZQwp5by7 z_6ok1_N8(|GjeeIB5&$fUdE8>Y?KV6jV3A^Xk~|rY7^8%pAX!DUaeYKMl4`yn((pF zN5o{2WYMw6orlOaOFK*>Ydd=v)F9B=Fc$?SY6%@vfbY1u5e8jJyJR~{kh*#lqm$Ix zk`YB!R+`+UFrN}~@NUcbv5*t|hYd!Bl_|QpeZl`eGSjF;7R!uO7|Xo>Nl(-UqZovS zE==)Q)+lj|pQ+7Yx3&*97>4% ziOm&_=RK?$xQBcZfUC)iH5hg^LCH?d+#JjUT4Q-CGgADD?AR8VUxO#Pve z65Ps9-=-HjX}|;W7XeOS#In%1nF?bWUnE2V5j){Kp-qn=t~0XBrB zbAkxvXaPl-g^0aMshP5yyo_({O`ohPY6_1RHtxFtW z3(K>l+YO9g*&VgVPuf+&rOwwp79C8CN+$+=a4^p40w@UJ*?9%k-R8fZq5>N23$=7k z1~*rIGN)y(Yd^doIr#DQMmU=r-(Zn+!-t=u9W9k8`%FA^(N4;Eq!7kO-99j23_0F- z3XBp{K96wUg&x`~(9D8m8>RzX$JWv74*VRFVh6wwP}m~~P17IGL;%aGI@gNlwWGUP zLHj>%g5~$ehav$Q3s^$;>PmS#LSS7%fbc}2-lxqXCgE}<)>)QG>PZthA6M^@DYS}O zvh@`55C)H)w=jjptw*9|pa=Fn4*4|T;zR3Q3SFusKtwcJ`%{0P3~OkNVyIR&R;--D zX`Hr4&bsR#BUZ`W0b5P+6Ah3o={ROftHdM6<2Xr`_n`mj@kGjC+p#x zIWmV}P{6p@dD#(FTH1hT^~PP*eslDv#|;E94dMeDl=T5~&H_64Fzppm?~z~Fl0dIZFt7gvX$Ns6ocW6)TxJll9vK^<*zzQBZPS$WltrN>%gu}JEl7n(-P+ixSjk7V((!&r z1aMIG3M%jRMG8@4jW5mTT7~a#2Nl7H0fCn? z&8x}KQNrs8f%IpIOs+8P&KT!y6us@dhRJ&H)cFV=`h(Su*;@P2tG+(dfOnP=JCHn4 zFyq9?d!(M;5xQj1!UEbfLufnVjie1W&wkj6kP39Pp;t_EHvc)KkMgr{Me56fr1I&` z>!pjMxxNQ8e&c9oT%QNItLYCG@=?{ymP4j(Ge?Yw z03}1tZ<5)bKR7Tc+62eZoq#8@Op2EE_AoeWrE`A_a1CXkWUDjkB^ZF;I1@FuxvGEl zW19^S78Nw6rYBlCbS2Fi3UIa$R<(hanf-J9Bj~!}v}_+;k=mmGzHS%+0}ain{E5l1 zPjm|o+WFf74VQ1%F?nRg*a~X7S@yp-SFz`Ww5aGancT*y)JD+8b`^XKMeON`mLDABiM1FPc(?*4&)Pz3 z%gDwzlBj|6Zn=~ECKDxi@U?Ah)m1IxNp$Kix~u>&JY#x@;B;}%%hz(zY|Fm!Y{TAx zo-ms^u3&A7p$C5D+@5(RY_mZf0N?bIxKhUQp%z`PgxCr<%^Ts%5@^(RWCgTFj3Fdr< zjDaox46(}-YIx3d4j)ZaSP^8({q)ctw`_@icU@ISs;M_OBRoK>C*_hcMSK2V@HvR~ zS=&xmf^FbSPmdcdDeeqK=k@vHa&a3UE2pOC3H$~?{5cM8H5~wsf z3+%kk_4=B#rc8(Z4|77(?*i>|`*7QiT-W(EN9$3lc*0j9AHl!=JHIvdS;QY;*=w}$ zA3Af(AjBgm(aEC~DLmrynm#}@9JF#Q$lza^1LNg6QWv9@hgFJ82;pE{9?%^MjWPs^ zc+)OlNeZ7D!Dbf!*d^AI)}94l74_s_LQe;wPnDUfis|yJYSD`Lu$G{U&5&vWRKbEr zf0fc!uTnGz?o@gdv_({&_`Ga^Qko$z5IuJ;wmE)L2x!=v7HJ_=;*wZ}V7qbHA=jJ# z)b_6H{IaGe-N~Og1Q%;?ZWbTl){tvwN z`fA*&z59y$JF1rFiul={HPS>KpCIB)RPzJfXsl`FQT<2Sc=MM4$Sh#ktKm9sJ2crC z$|J5D3bg2#2S{f=KT{XS@X`Fu<_2(SiA0Sqs8UrBqKw=OMtFty%CdNI1LkFryzfyqa9xh?EXAdPnAxCvh=LvLAi3I|?0h?oKJ3Hj*U(3Ys7#f^ zTSPTA)t}&^>g{!O$ZV4x8%Di@BW>bRD%nOgkk?tuy!sNc6g^?55n&Sc)wBMD6ic>?L7yuZD6jVzuJAIB=>b5)OCzAgpt; z@6cP9-+7Dpe}O(wnHh%iYlTMaI8Yxo)wFJ}Lj1*23UogjyDSyEI4&tPs2Bd3>%(-r zX5I12Ps;r0<;~WF2Z+9)=d>J5$lWie6}=5nfQR8Q?18WGyhJ_+VG5{F9u%&JzDF2W zl?`%3YWEiurfAc{2gZkfe)Tf*Qd0Q(It0?BQWYWL6wI_rO}moj-nOI`IH1UMtF|dh zId9||0E9*RmDfar?OUZ)pSOK(GFSZH%u3)qQ^^GSlR2+EM^ni3J)x8926=Df%a`_1 zKBxH19>EO7IP>C?jK6)Ob&_oQviJMM*StU@Y+0G+q;`5mUtuq{{~-a@O= z%GY7LZ!IR(ZZrw6FB+98ma{HlC47LTs4tLY^?cd{t}tOa>JA7gW_3ph2tCF12{!iB zK~gy#2+Ly{mUj?1`?UOKyDEfP48le70{MKZKs_F7Q%*J~v7Ap6vzgi?+Fq{_&|GPp zy{~wpvqqK<9r{2^*_!+)vl}A|p-SFmx^Q^1!L7jOLamI2mYI zj*;>2@fQR_Z&)?9wc|lUygz{XZWK=KUR!`HpEVuif^<%FHJ`#Hvh(c2nwqXq{E_~q zVUc|L6UJ-C%!yj@GRG8)CW!;>XSCw<)_e}MR?cad_xqUMEx=3(KKa)y?(L|<;O|2H zXtKcn^N{TtBnVdhr-A6Nu>jb5tCdm>F+Nss5XzXO#y5Jln_%~odNPRx0J1G=^{R!CYuP%N-+X10p`<%rZZu3_QUO9dH z$~LX3j{w`m2vcz1Y>#&&?UgrrQc)2T(pxa@4Z7EmoRA_L)Na$3hJ0AJ_QilY=sc+E zxD9VhOR_iqm(mR%EmG*OSpM1Dn2a`uHJ2x)RFujl!fVjNQ_fB}E1}v3MqYi1op-Pj z>~pY3KBcYkR#&>aEk?FC{>t(R{%IF3&g{P)JtzGK_B=S%!HOje;S&G%HGm*hY<|Zy zO@&zMx!mvheZp;KhSq5#UqFSb7X-il(JB54N0Xj`Mwp&|qT*?mYCZ&I9^;}2&?E|I zx17(;r`tnrjWa>@uk6g#K}B=j_g2b?yq4Z3)V0H+)1GTj*+`rx_%6GnRAcgI7zdcw(Q)K9PcmH!S-7*zNv|Z|*+xmanC# zKiuUvXTTjgu&^<;Ya_5X@QEp(m5&Z`|n_{2%gZ7jbqg^V`4f|Pnkr!VO2AT!+WA$ggvm-UI2>l zp~B%lozo3#XXn%XVPzL!aQpu?4q~YJWb#i!&NlafCfc7t!^G&ezG*N0YWo8XaBY*h zP&!YcgAA>*K*;Y~2voiYGFMxE{t4rP_*&toKs%&(c9r5*FjU=3Ef)$r@eQ;l8=MCJ z1@s(-FdU15Zb-d`tn2(UX=8Dzk>^M0?s~q$=TK+YkouLN)WdtLaOQjKV6JTidpTq} zV;8CtP!Ka8qLV|0xT^~{JZ6~{;v&~J-;r?^c8fKrI~eghk8&OA9yn}nmN~ldvbmB} zDd#9kMtpy3vIz?J)eqkZ;QRTZtEsJrn>HdJe1%q}{4&|)06b=7u#l@v*BbJw4^@UE z5vTRln{AlkHFQ5l!&x|f%q_Cid&)@necUlG?41Zq%@YuJBjfm8I}Nb+(#vkLtqm&( zs^qI?S)Xo}4mIA$Ze|ujQts6r{TsHh+CiJelg+x;hS4>Iie;4%ofXnFeH&}^$|7Lo zHd#;pmYR>^W0ttD;CN=-QY3HuDqoaFXg;{BgU7)x+eo` zE6hsu7rDjC;VMtAMR?Q)NJrpuS`=aPzN4+0IQZamKttRtfC2 zFyC$@mPleu1DnyiknR@1QdV=@{)ca4IO`LpH33KXGG2o`lg|>f0|(|ue;RJLThJ9G zoRkbtUV`}6P;w$xo>o2qXk|L<>AUdB%I zhPfCI-A5zyw7NzO9A|rTc~>f=;M2yZwh$b&H8Att8T*x3#F;-dHq+%-$W%B<{$bTu zPOiQN)x>o_!@JAK*gSp5Vv>sRfpQ}#8u6x1KL|4}x}P2dm5AStL!3$K-~2?n?UBRW zcy{nmy5fgBd+-~Kltb@`IKe`%KoQhh6T+v_Zj$o^QI20}_K3?cMDifPb8UNL;0%u* zWB%p=+p?%3;>$_;i^%oNMDNWT8+mhR^uYZm;_@d zl^_JAI(Ia7(RO+dFzeb4*){>_we9?U&z(#p)pTgGTx6m;jx>4hC!xC?UsqGiibx(7 z=75EM1C`KFCMkoG^0K4l}llknJ`BQ*YIe?g(kY|JT*G zCnD8t&9#%rRZr-aC#DfzB7!X87|YS>Y+M?p^@I$rfkViouYc1MSv0_^kpzN(kv&W% zX+9r^N0ZI)^t3$PslMmatv+YarM=j^a|O7;GXQKzqFs5DSS9DatA< z@b>P`1HG?8P31+i|H+BRf8iw?57W0sJ)&#<0Du zPIn=3LIqEEMVLM|=U{+sHn$E%L08|~H%Q79?&NPV)M=aRWv3-L^p47nR0QjY=vquppPZSj z=~hv@I&&$&YPujit=f*`qbt+Xjhh|mYJ{09bFj3m!>Sor zgck`Al%4}#&ZiNf%az0l0I+{gJ#Sx&@{cEMIk;VymmEW`sj=1m+2yaOd!4q0^faIF zj58J`5@gKU4ZQww)CCgSP^8J&jbcz@I!rfMDbWMb$7wI?2RKkZiK3Adw7uTp;np>R z6JA?%Fvj5;W=Nh8lE`!>E9&d#7mc;nD8q*j>;RtsdGJMsg>9`~5g9%t-)zrMtV=#Q z;T&7?DV)#_mMjH|IGv77zF8~x-q38|Mh!?OG~iv^Be^|FZIjKa)AybU3k%E{g;npD zaDw>js6JiwRM6W~lO>7JE^WM;$b@`q365!tR9sz|OPLn-ht&aAgr)W|6;1HjA4MLs zDtXHGt!1)%wa9a=)f~$YL}*XiL}BJ&$ho+_VuY%OvMPUhM(_WRYs_(^$RMN*f~>E9 z|97DUu4#ALwZAz(7P)$>b1abM1HGONl(JqchJIxAnoEW~W;{Iu^GDpf2E2||@dh5sC#d87ahAJf*ghzdq)@}eaOwD=fuz47g_DeP{@BuhKRkj$3e%6g8RI4452A2mz|NmIb^N-qC>E>^GiVJwSwQ;<~dBgmtzQIaZk(a z9)D=%eGkFE|I(qwWmr*U%S`$aLiboDv%rXoHfAn?*P6neQ(N}-IxoHSbs4I1uO79@KH=h7(XcP>Ht;ZF#dK<#cdq7&gR98+zgh6+IGdTu zgU!?KJ>&JhC%dSU7yxf?HRe9O-+IjEJHMT*(K8&#%dXsE=;jHz{^SAp^;4urqL5c^ zG$+dn#Q_`48b&T8DbA6KnJ-Eq-2{8`y411h9w#Da!syW_Fn;CSAQ)U^(IK370d*`S zZwLv14*CZa2Jk6y7+`ngJo3<+-VfW}y9INE*(EYaFK8!(Wn6{+2lAo+W3%^ zQpQ&@P1~Gsks^?jIK3r1d7AK6H{?s>pYzF9`VxU|m9QGAD`8l8my=egghdGfvUussxZ5S#vK zg}M1Qzm}`hlBM5K-@DbmEdhNOY~R3Rd8N-O%7zpjQ3EE0q<|2;1;v8Lfetw%Q0AQ)8Nkk^!VW8#Z1j{%+28ADWUp& zT-EW*vJaqZ+sw=3yu<|nx@yGFGSV>H98m8(iq$Uh+?`30;D?;g(gIgvmn_GAUEJN* zPz!FDM`S7ye}MP8{fPGI3a~1I$ynegJ#A3AziLmPLW+k(r_c#zQQIqVNe17wY3EnE zCb;sd#~<=tGlG@blU!%;i6iEFXJ~phtXUhC*&+Xhd8f`C0fqZki32xIbGyq(j$m)H zlmLk-Gan0Z#`tfBvGxII2r55gSEA zrkh}DK%ooBlW8-$Jmn(|)ZSxYMnxr#kW@_{Up+BAJV0XpzMdqeat5`aPA7329YvXq zf&Y2Wd5=RT=z#S%&T|vrWug5cI{r`ZM5mS$RnPV3@pEfujE0Vh7REL#M2yEM9A|wo z3SL;{<RSGRwP!T~)Vt~9=#rqh<#h&p= z7izn`Lnlez^ZsV~84tz>RlxFM!BJD5q#Pmgj&b#h=g3Epk~zxT+@6fZp{ zlwJR8Rwpp*^DV~dw6(gXZa&r5@syih%BmWLx0jbYaaJLvic$7q3KhrbS2JlVEbQXv zLU>4}XlP}x|BZqCXyAgqW7#uzk!6cq+GHqmBzymmaFRj7n9`@oOCkMyfL6Mfw&UCC zWJLma9PhNV^6(`IeTi!5|%$0&qhGyv*h1e`8v3wfc zD7ZS8M!qI?ji9pD2Z(u!YL*R`{EkxicgKks0dgU?09h=Q}lFIdrQ5fhtE zjxX;ZAu}%<9{D5P7b+x&R?ixpjmm`)k4VzqhuM9{@~tFc#9;6_FkkeQ;Bj>e*X0lA zU}8{))q(}lQ1_=^*EwXvx^=P8^NcAI&>>A$r}L-MQZLN}FBn=@-{P7S-cR?kpQr3z z47iub-6DG(NvnS>F~%5d*O^xuq-s514a%TnQ_&@JAaTM{vc6@aD(J!}G3)?GtCUGU zIF4f2c5Le;Fu+i;Hr#2f+EaIwL;E9^$BjyMX#BGKK(t+%hFcBp#mv8XXx7t}G9;HpcL#z2V+Le#`j^AL{nkhi$rJmX$sl9$ZfJ8-tk&yJ z_Ws-prN%P+{f2?Eht2#x%|AY*O0t@c2)H!BCf({rJ-x|I@1<{QOo~{Y`J!y39WPbW ztKHGf`Wnvo!*X~9)ROK_4B3=BV#*)1i_#I?UUU%${7_hR$US|n*_~t_owWNgY0ml3 zi^-y(cWkkIuWKo$xnd$M_so%B2G4PjV|nS!19C5O%lU;!t_kxLgYN7*d|rf7y# z1|00HfPC?R(+FEhFyrWJwF51PB9ijB|E~9ouf+B^|CNk=#UC{-<52KKv=>soHD&;L z7o~Pm(F9V5h4x3g9Zqa{6~-b~M_a#V7-@$C`lisvL?~8Wf9-uoq63@HGse~-H!VP1 zzV_y5{pq(ZF|Xl#LFdwvCnWXf4wrGfLjNA5XIyRE^dDF%h#-5LaCaf_E%YDI-aVmc)9h&CVu~N*8-16AKQ0jQqsG zgf!9+!6`fZ9fMbg>-bW12EY;mF9K|mn|tnQZ$I?fLhqn00}12}_=DaG@OhVPBY|<- z5Mm#A;67Vu_jGa-%MT|^!`={Xr7}Z=nU&*N4nX);}OsfF(>PHLG13r@oxYxmDG5S*F zVBu7YUH~7_8IZbiN!)r$nhY+NrXkl4gg1{RETw^+>B01$RrtUc#-rA!;RvT|j3h(- zn6s2ODAAGK{%;7Ug;;Ge(=LWjrO$ zfWNaM%!Kh2_O8VTojkZ?kDq7)nuC8}*v4Y(>BZ!gscQ9! zmUS0{w7Y3WMsR&W0_4AR6q1ZgH7Z*ZzRIT7=?$DA6Ck9ouw>AAQz{44I2qM(PuTHiVjF zx?rwD)nLxc{nfBq4S_>#w2;i@*97_4IcGC`GYwc890EXm=4fIOrT`xbpEo-}@0FFS z;^_ru68@YSUoVA=S7#GRxGX6H!1dUDS2r+ZmG_AL#VPbExPvmmz0D@-8=Rgq1e}JT zpIG0SH?cUCJ_9t+mC_-L`i08eoxMNz7vD5vw%sDpEAvbQi-o6%?^T!MsanEm4If!m z*g(Ua{Z+Evg?Dn_bjKVnz0>yT%w5p_U8o@1Fzdt#?bEyU*IvEBse)XiLVYbKkeHR} zJCv5%INN0J_Dx2* zA*y2sYvKF&lcIRhvBtluAk_l4^$&VEIm5ki)|C2^S5MEFeSBe3ArWT{UVPN1#iuc* z8JkTfMS5ZyQOKDMrllNW77WWsUeAcD`}YX$-S?tw9;-ZmhUd-*y@Mw{!77T5Tx%={j~Y7r zu6J!BXn|A0avmOan)dNcS?QWJ1de9}OwoP)Uq@W&L^!d+qP3Lo65U7k%7p+u2JxRN z%^ndmgd-{9(j7!{(Q}>P@Hp{P#*apK-aZ`SAl&s?M6T+Yg=+dQ+W-aG&oDVGXc49o z!KHN2G)a~Ii&n*B@Vy#DYyk>Hns?m$)|VLaBMhu+ci@N3rPJH!64!En679*;;0rAoa zP#m0|+`L7D(VP?NRr|+x&Z9Bnwe>yA^3o?oYu;aPvYRub_7Jv(O$3hHg&tIX8I%Zm zX~U>a%csDM;bm_AaimaBjH8@G6EAvnG4P8q2f(_f#8W-X>>cGk+NiM>f>j)|RRzN4 zc`pos$B;bjj{Z%bW}7C#`rycpIdC%g|`UUnpdZp%zlR zHx1p=fVemf5d~KblVy7s52p1sV)JK8qkXv+I2e54^+)tdIonrDX2*&5HgH`bx;b*R zCoc}l(nhz0I`{5JCd3_&NMuEIyhPQ7&-4fS1a(x!{c3VEt`D&ht&HDpSj3BjRF<<7u~ z8~W%}+PnKzZg2HHY8HrZ7a$}`q#XaXx8I2UYLlSU5r#J;OydI~6oz%X|9(yUG#?wf z1ZN_#!4Qu|DtzgzYK#!3vo=uBpmnFf{HroP<2;vkQL?umBX zDg7eeJ}O{x@iy5m(|;yGODJg1tqjN?m8S?VLSvcX2MF{eD^`$1ts>Fooc^@2vJDU$ z^}-DuROJ5?HtRcqfF=b>EWOqU8&+MVdQwuC{;)x$y-&<>q!R_fmEhzw%?b9DQ}negc}Wd9gTqmS$S5aZ#o0M`q?#I zp1N6_52SZ>B=*5^7t1R#rs>K@DpbYTEmdGOOQRM?c@5xA`TdkIVw|ZYVbrwfuV`IE zw^pH!4QxOK@+X*R7;_YUw-OIYd2~kI!`lT6JHSGi8kLs3A$hYq8;c4qAS*_*bEQ^I zB}ZLmu(d)eEhO4Jb5m)#JKC1Hc4y%b4$6Bx1IRS*D{D|;MWOj%@ zb8<>g*JUdABJp}`Vx@N#lM|%X_;BmlwbdxHyVvL4S~oHa91Mnw=rO9>J{QDj_0a;~ zSyY4kk`;cM%@6y)>MII6M;o~Prm#r-=nrp9BI8@%e&`O+3uyIx=O6-KI54u&LQTM! ztLb-bfz#5F(Q@V47YWMRWEFqyj~`j9PC1r1yMK+U38Ie4YQDMiWL57}HrE9m(&}`L z*Av94(P*G^No@!h;9)A$=0*TD+JhJYu4ttEJ!)y7EzrrNxuF7stLw-4FAFxLOO(S0 zub7_?UzsLznT5uSwQ=CBe?}`>V!c{Pc&!Wsg%uRHg41D_|rL9Gb&Gt^#Y&H8U?GjFu~5zegrTWMgJe6LdC4uLGYS#jYHMP++6 zi*>%f-}iFrpVoAK1uI1tbCP;-h13j&Hty&`Y>6$x6G8n=@Y)kX5Jb1P+ZyVW(;uN< z{pC>wP8yV5BWO_p(HOqZa%Uq&m z`~60`&dYb?sOwAKuI{jm(>J!>c6sQS#0&dJVQU0Tl(GqyANMss5{o3T5f0 zqT|rH0u(=?v(sb9do062G*@muj90`SFiU>*+6u(UZ^EO_lXU$X=ayC!_!>V;UC@tU zjB1K1%G!3aB?tBg?^9O%BzV&Mr3ZJAC=(b`XEaHJ#NgGR_FHv$sG&a!AhYyo&#L&xwV;JO(O;~>8i83UC`JMgIjOA7!-CvaKyYX=B*^{P|M#WE>DVqhO_ujpPYUYcZG zyti^K2wzCB6gYZk8P4)&@^+K$ZnF<#Y+?gw^*h%LBUPX_C(cQEgLv^(Y^q=_c@5IV z$JPDY7y~UdD+i~IkF$#7jeFd^X*EJf$)Sf>Tk>G7Mk$1{)v|tY(dn%zPlX9ZYAoDY zQK~nX7+1iQpNRuorSwtUYR}cO<2Bx57ba1Af&>yU#7sgI0>%@eBF$-)d?XsyFV4!o zQqgk>rCHP#r(+RXgKW?3eHiUkWWwi(&Pm`l^(VCqiOe~LkQkvVJlLxVi7?YUw;C%H z)9i$+^|M*Og=)s6zVc`aGCUttq-{9Gjje_e#J8|c^XkNxe3vN!cpUno&?E=x;V;O~V-J-dM8+Gi(ISsTj_eutIDNXYe|TT|Gn?O7 z0U4qF+>{AQZC^RFe8eWWQtn(ePiqR38}(fe5It#+W}mDtQS@|7Y#`NvXH-ZoP0Q5O zA38;sYq#rLz0t+;! zB}HI^Gmm16Z09TU?I@G=KS=Bvizy1}=w~6CZF4xYs+dIHHGY63O*XfkqeDGYR$s{pZwWORiiF5Zwem1uW zhxOcge#>VtARibgx5xiWM1nJbthzNjFbAQ2JJICi9v*-}=inrpNak?waDEWR@}-mr z(Y+E>WuZO4p%?M^t;v-abX0iSY|E-q zoiuG5Qn%^2$K#$_YxUojpfbtj@x~-jW23}pHV7|&2pBb?UN&9iHqor=xbca}u5*Os zpvYO0EEG#JTGxf)+5rL3w70yJdYcPQLq!YA*!!O7{1<*Q}2vP(DkBmMPmz=-i}VNFRxC=Av3^OjEWii?TVLOUY~O zr!m?fyw+xSAsvtrc82V=%}QesaC0bQa%h{vC?S0ABu!}8pP|$1a=<&?joTbZE@4vG zWExc0;k2v7#>A|Z?*K+@3aahWHWiRZcSD9iDPa)WKQ!niuT=8ZCH;-r`JXk2i$;8} zMhB)L5Yg)`IQgrwu0_ilq}thdbAG!#wLk3SeNLn<9(d4CI18<_+KMSi)>AL;o)Rlb zVWJlvM|vzu%jCJO`Q$Aux|eUCH9eQstO|x_Y&59&!ga$$w31HrUDy|)pT{xZjX827 zcviTxy1Vj_=3r}q1dFctQApC{lANnXAjfMH^L(Lnj8RN|hxrP%PXD{g8L5zsR}{9g zUaZ9U7=q*$AXG=i%%e$ze=?5rTLMA0JoH9$>GOpU4^ZE)E8JBu1}}Da7FVVv89})e z*<0m35}`K<&TKI2~a)RJMeQX{(+;jc8)0r8`C zk%*KMy!s{iGg83KYkyVjf9Kl*sNh+)X@GTmw7qn_kNMsbUL5XMgiFR)oQC(Qeotu+ zHl>fVVDz8BcI7tvw<1W@aBCIg`aAJA(m!eQ-^)^Xc{BMIwI%f>-`c65d?>AVae4qU6soPs6xmt5%~iv8yIsoY~CqcYl-}n7=n_ zg=TKoi*pHW=NUPVBbLL8Z0BaPFsQzQq`;Z9P7D9)xVL3U`%Aoo&5mz(^P;yb8<*dT zxb&oUA+$!MAHMZ{VY$*91I-B4GK;_%wo`r7YaAnaB5G{(B*bLdlHK0_19S4LwQ+bT zap@ga75FlyNRQD~z|-}Q^o37oC3PnhDk8%SHfNwg*wDsjk_#rOMM7iv2hZ^niN_?K z4NZ{BX&HuPoT5*wibSehMm)DGe-tEYI?;6a*x z2H_3rBTz73KSwZ^eVi7Z;5yyS`L55Ty473*NTg*8MAuy2Wb;RAmJ{5;SA#3)D|-hj zeAVg2w6P36Hva`O>r8s@sWr+?`VjNRXn*-qv$xw=&jJfjJ9iA(mLEJJNG|FX7~t-( zSF`^)fb!tYB+0qt`=dr$$u+&2s|}|D6K8+?jKy)O621JA z%izAxn(xblwZZtgpgmVm)j; z9DYxO%j+s91$&cUvW{SvnSJX=9xn7LI;FV8nWpPDwUOX)9FiZ^yCz$Ep5n}areQnn z^^SUe93Q$vfbZqnjTIOdg6bCe@Sj;Ligy8P`~-p5BdKWfPiflUMEYA2e`fdFnQ>2f zDsSZWk8Qvm6Zq+^-n9sP&a|spno$Bi>?*Xp5ck9yHl#YL6wyvg>@GL5h zI55F(PW5+$zEBwD57uRJiY1@cMv-j5@PGdcgF5DrubKldG+>l-dh$4mUwJ=_6azqY7@vJ){l#%y*mC6x7s?B&)5M)rUL~);VI52wstkgq4mJAo~)7@A}ffQb- z+j5?Q<-Mm+ho*0f+Gz(#0xnlFUr0NwcS_Er^G8r)O+2w{D-Y(8cc> zM-a=h2Dsr2bu+YnuCZ55am5)w{R8cLi`>9Y8N4x1Gy~nWAY+WDQf#J^{kG8KEXa#N z6JN6dHR1R|KBOhxRx#yVxUNlp@~zXg-tD`2gB`eMSVJyuR0|tm-KFc4>mZPw%MgNL z5!pA-@sV6HYgtSU1PcxisVK64iT_1{E%3S`Vfp~(d8{f|^)`+dh=L?m!#)u)9a6dY z@$VHLhDe?j7u4Vq)S)W4G4WFaV)$_gl+i!hs15d+osB2l7N<&(9L1>jF-18XwVn0o zuwb>Vy)^og$&aGF_|%*f`Xunv(5WN$F!fwkn~dU)d;&=DSG7QV zH-*z+Mrh4u!vWwYIvC<>?HC&=10iGBIG2ZlNU6O`$A_kwvV^8c%)8MfH#>$B5pS>f z>5MG2(L-spuZ#)1qeS4ZjMQKdBkdb*{DGj~uKZA;kz+bxg9uHbx!X5%^a*nHp#&WkdM0t%01`#%mwcfPGuTiVuVu ze>n6Jm>P3{Xce{798i2`i00o1O3I}mq0V3M*dy_t0|(Y|4!a*lMLNwD;&3aGKr&Mu z@X|7yu?iRn|CYC^#8*6qde|~2n#8xSob4)@4P!B^UbCO0AU<5*jE*zg=*?z=Vex=A z{cGtrlB`$uNu&nRyV(9t2*XX z3>>OJ3D{1HHWV=3&To2F(B@~KSC`63j39jWmo=h+dOiN)Y6*SIt6|? z*}-lH_u6L1Z@i6sx=PKQcom(J!*);^zR%Zod@VIUcA^5h7is;qq z*`Mq!@eT)Shs-+#m4r>>OhBhNQ>PMM+o8DONh{K=rN0zWARp{DkAk*&>$qm zJ?O->f$c+!Nc~=USo7HrP3xTxVoDa2b84*Hdy>Wj51ya*jlxB#;n(~gW@sq!NTdJI z==6NxIE6Wc!qjUShMFjmpcp1|v2kW#Zh7xA#*mQZMown?_+}o|Vt}JgCvycLN_1?L z6DO(UXM4~f4%}<9BN92M1q$o&lP$hM(KbI*EcU)KhV zZUa`Is7W%nd(SQ1=SAW@9o>Pa;@0a++<5h%=Pcg?i2_WluQ{BEV&kr>1Y{I3e1zN> zcW{f3zt;8Jk4|;f*zuJ^@=<9Ej}GDpN_5Ojl9fMtieG)Uhqt zpCjLgTSUh0BpnrXuNcQ!Vm$Pu#G$VD0={t9<-kDlGaGXBkVR_h1mFJq@gyPV??sp1 zJmvV=M(|}a1mWlA$I#@CqWr@fJ0*vjGk%0a=0i6~Q(2qEFVRm63Tn&DEzl>!Hfa08 zyl8rY3D8&scluLvE2N!GN*xO zLX)K(7!;@N6cX$~vu9vC!J1$n-$kXDOiTZ32hubF1tg)D$_W%B4Ek5(DwG4mt-@l1WaL)xoqNVsV{>C5yIQ4EyivuNz>}*>=3lY-Nh>%Rii>&13)hwDT zXG11)k^CH+_wQ0a!KaX$q+Dj0x$m=C+KpO46E6iVl3R)}rTILoyPmGsq;2(kZkRR9 z6E*)_Yhyay_n0xd_zb&-Z}CAQ1=P5|rxV`Tbp>{Tp?aSdPWLt(?FseIJ~|eWq(D3$ z*6M1i{OI5Om5dc{q|Fm<8=0fft}iqdBuII1S!-tATe|bzwraAx=29I!-3W%~p^J8g zWe4gi+b~J`8rF(LhtVe4%?2P66ccKg`!~*9N) zWEb5z*FJmRd>#bA;ptpibjwf@vLz`Kg;q5j2pa&zmH&KHw1|McOzvZf44#_zGJo64 zM2MGOr=jgdTaHp9>4_<%sHjZHqlX7Xkdw?UjcYG^Q z|0l}@B)H{bkT<>Ki;KFFO3p1EdP~+fE|s#ya|#5?t~k^#C7ue)JDtO8l|$WQEi1DC z$}t)kdO=*cGjZ0)Li8?>M~={d30x)V8q1iUb4n|LW7tcfMM@swFLJ_**WlYKX1Shrt6ywsE(LhZbC`ML@@I z{C%+P$^dx3U}G$!a>=>1TPY;EZJK|2ZpLYq3ozcUuy_4AArq)-KP^Z;Z zVlI{W{`idlikjN{e5O6k4Hhga_9IO1>X47)#pX0xU8boSRfaV^iqns-io^#eg$7XC zuIIOElaL%E?+GkSGI{8>{_HV0$qxH#ABUh_gH70I`|z>m!5xM^@J)36@n8(ru6XDV_Vg)mAdcgCN z2`Xx5sA3^f~Zop4%@WkMN`QC!>56! z0=}bZ1nlsPoQP57Dd?qX69b(=ss|SQ##rZYgEFrH{POvbFYmCk#+$tzL>< zilE=-B}O4f@SK(0{{2xh%AY6;L&Hq zmf!&AVxu?CW?dDMJ_V#Z{{;PNIrL5pQ<1 zykB7Wbl8*|02rm{@MWV9?*yH;USRGeO^v$E6**dRG!eD9;lM=PKxd2SB(Td2PaW=4 zdI*VfR=D1w$#EVsJ^O&5u3e*n`}izo^0w$|X^@oYuTgCo zI)G7btiFMOkRgVDOVZ;!MsMGp{d{uhPAGE9WoV4=^h39Oi^ww09nt5Tkdrs)>+&xm z`Iys|m*nL{%5W^PF%iotnN8n$j)*0g@+No+blCAM5jsta`U)quOgI3QfV4VW5@gE; zQP5&m!cjCuSe2xGS3TD=M4!JF3|Bd0^6ahCs^8ZF;db27*u(KQsK!)SN_Sp+)RI1O zw$$37me=qPnSQ`_fx&)9rxh*~1U0v9Dij3qmf3Rz($_MGy zuAZYhG}~AtSFf!H;HD1qGcwX?@eSaAW6O7zCo(>4&!8O+e2E|3yVfz-^--pF3?mvD zuVLLvUaHM@p?SHqN8{V>IIqGs3W(3@ z9H+hg5XP2cgsL*BcRBD1*@lHbcDIgqZYe5MBs4!YdV@lPhH=O-#|dhX5XXJn7PwLS zk9So4-UhGizcXtKw~~cl5Ip`AVcKD&{Wtm7Y9>rk<`X>VI9Y`$sAJ=DOXZ!OUF$Bn z`ph5>JGs6k8s;TmyZ=2s3CtQpUS)q_&SW_~%(e_*wCUxcgR*KZ=f|PNhu2jCzpdU! z{Vq*tkVUK+0_YL&5%X~-b_{`2@3u;f?-%<2JLHok{YS4d2ILDr|FvAB9p;V(acEQz z{fe+|8Dw{l3MugIvl@ek!$-?z8R*JS`%W0n-q)%Q5lKh0Q~ccdGPX=S@|b34fFHTm z8Y;vJ7=&USs1~trG6CuM_3i6K;NzE{OegZmpU@E?g#kh%ZjR9xU#3<(Xe%`;9;Pmo zs$N&Tkqz*9A}oH&UDfM52P?b|sWnFz%SIW1rgffI~rvyr2wv`NkoVp5v9%1zBB*y20R9|c0CQ6uex(+HpYLQ4Es{voC6Hq z$%bfABeGSQ)hl2Vd<-@Ms|>J0l(vDq7PgG;JY2N^XGlSKqMP)AG6``I2c=}3ZI!Ko zeu`s@@?n+3-GEu&ToqJ$ByZA|O53sk(T7J)PIsNsH--l;Zk`%y;0j(XJ~kXwqtEF+ zNRxDpxpaTCJcM>fX|~jnWy-pY3PuE&&Qi2hk9I>w(lBV>690YJei`)l&<#Lxv>|1a za2`vK%Jo^UI0Fb9@$YZOqnx7lG1>|h!lIP6PI)A>dZh)cLps?0iEk=8R7xho$6noN zI4Uf%**SzjIXBZ0AI%DKre1Lw%;x7c(!oMpSdh7vZq9+d#|hZr-{l0WP!Nv{ShCk| z7o^yDt&wefi7rm=R`m+3;2n~4iz*fXgr|NYoUBrGAnG0OFb#9z3NT{&l92q*$VVPqv zd4p|b$UEAPZ*B!s2ARsIGtp#09EOBIzG`%KGC+$13&YGzV|?a{Ep!>Q%~Zp%vuWRNBtL03EgWK|PY2g1*z+mupJ9E+eH(|wDEq6?#R z${v{xsSDS+!eZwv6ix{xIiHt4cpbQ>iA=8w6a60g_Z$60AzV_PS|%F=X(>y#W!t$l zmX7U;omm4iF32_WV>LierKj4fI4lCKi13{X(?7dru+QaAHSq7+X^}!~<0Lgw_?&

=dWp8)T!B;LyB>VB#;$NyGiA7+>Ha`MzHG9~r*+sF{ow{E{TT87Fq?hKdn``N*5o+;DCaHfmMbTOFe zQ2%Z6JC-?s#G+Y>`EPn7%#82x^V8;gHhG3oV44gw0eqR#Du>1sY7>1r3df(y_v};N z*UgNOX_n7=CRA8`@Et7-PVGscZD@-`4K_A#?`z|&3m7_-6nScR%{r!FeTJ|ju=*KM zV!)JFqN3|@yE#72v=(FN>ZjJfSH4Q$p%s8p?q(Y1q}zT863_8*fCoA7Z0082f$^TC z*OBoV$Qa9TKuk3YLt&2Ot>$qAipk-4HA_g2zI_mzJ@=gDl$v1(s#)R}R z5IH_7GXZj)FUYG3R13@4YTPvNf`PCZBw*VVBZ%$)s^oopwxT1ITT!ZPZbxifzA_Y8 z`{M1dolPH-gv{x(YgBW;<`>wrC-M&u-9IN!9XJ8AgEkmjck!*t!vd3e$~3+}`^^s? zWz$(oh)06p4vBf43MR1MiilNUsZ$@>rYQ za%d+S$kt-z`S(!8s67A6)CDTf|9nZn|K2a)<3#~??iMgSB4FDNfHnEy?E<#t0HCC8 z5^!g)fG@WLDi|Q@^ZV8ef4mBT>ho``S~Gk@6<|f(Sl!%OWU_8-P6gk_ z4Ugo1w8pj$h|3yr*}^Guj`*@~S8fy2)RqVN4&LNxQUQB$gUN~B`D_W z_g21_UxY$tFIDKmx?=X^*HjG^EAl5nf!ghv2(pDN6sU(WtHo?`h6?HmiamoLP-s;{ zo5%5q(NAM5k}1B0&EuxIwP55vXCI~~Foa)Tf3Wg4OmQRDiJ{_|n6IFH-)0k<0(X~Wy6(i`h5ui)qINEDW&i6cGFLt}$j7is&XQ!D``(dCvf#FHs49DS) zE%D(w`7^f%8gyKLn>0mCO~EKAZu}49oy(^ggLDWld_W9Mcv}7en%%Z%ep$IS86Ue$ znWQW4cqqMn@Rzq{e(6nwMr@l?Zn|S_n=Xgb4?ckkv**2D8JiBymO#kf;);m&iZ+mM zadY`yi(Ak?WGeT|A5qY{ga(g#l9>wIHt|APenYfvPPn$s2`OzFP#{Zfo6;Sz;mQ0N z#T`Q>c;b)YN+4hBRo;B=wD14RUj1WoG5zG$gXQZEZO{Coaw`U^ruwzi9}*ijC(HEB z|KirnFT6L;z7F&KiOSn(dS`2zzy$R{H~$AU{|7m7{eCSylkw&Chl10?7d4 z7wyNl2A)610Qdzgc4M*!{~ob*=Ls(+3yv? zB4@CH;2o9ApOFu?%Q8oTOS+uTpWpvf8JR;dxe@H?7Q~M@gcK$f- zymQ^2y6-eS9JDO+J1u@f|)+BWmJ*`#9!Jp_=*l zdBnfr<2A$|^Kr@9PkdaSe&yrxzW?asmoogR5-Xn)m+{{MAID0~MB+Rjmp8xI$2n?D ztn_iBo|DQ0tU>8gd4Ru3aj87OHz+QZ2l!hQm&ybDt%^(K0e*|(Qh9)HQCuny@Vw$u zd4PXFaj87OKce_)c&7W5;!-()e@^iviEv+3TwXTtJ&McA2L7Pp^0I*clj8Dnfd4>o z+iZTUxKuvSf1&s*@l5xB6@Rrs6VKLGnpS*);&qC@RPienPbt1q@wJMh3lVpd;u*!? zuJ~1o|GnZ_#YYua)CX1Oam><_2LGnT6@Jg+X+!^s#TyL%bBi|_{I?eGHTWMao-_DK zx}G>OV(?QezT4oZTfAuS7g&71!OyXH$>5h*e9GXjv^Xt{a2bnN8T@q?Pa3?@;7ZtG8ATZ50R>e#rkqb-$f z>+I}m?)Lq0S4qb}b7!)x`{uUJp58W}($&`0(|1d9!{Ek^ZGFCX&xW_OwG1RXTHCq@ zIv~;^HDv02KHOU3Bb%1gE=#tw^)Wnd|5s=x9l{4EEjZgvhMKQQkfq(5#QGUAx9du3UYs zk2Jh?<=V@AbUici`pbL|(s5z7U*Om$+|!lBOW1&7xv{Og4e9UcORQRZZL)u`x3{Nn zz-J!l=xR&$4>Wi6`hI5HhmT*oa&3c;ty}FsU$went&gp&caUs--Aadaz5iUd_Knv# zq}Q&x%BQWp{@Uv@4qETz%dcmNE3aX>C$2+r5~3UlGOuqCc;&jQ1YUdPYXq`F2%EA? z3DTo(?KO*pl36K$#ZG@y;(Q`2%9@X6bC5iu2Qktd_s*MXlqTH`oxBn=<4Y2 zXQeV;J^hJ|*v-+I=)#Vfo|fds=8n$6zP3aQP=-sgjY@61rDrhN-`+FW*_!O`8Ay^L z(c9eLFI?S&ot??v=Duc}o72{p=;+4(ZnhtZGAeAKy?G${w&wn1Ye#?c28jtGd%Aj2 zrBkc}5YaIpsY#&u*$R)uB{l-@PM{@pqroMxkEp+`@8%7+bR+6Se-93iA4qicv}|MB7eWq|GG^2dsWffRfe8aMeoIB=xJ5_RLzgX z->dXnO*$fUb69F3adnyeHB=b_r~Tm~;ddy#T>M3)t3DP9U!@giSsD2aN-rlrr}Wij z!tYmlx%5|Y?HU{{Sa6Z_HOQz4<18UZ=}DO{Qrk~V_^Q7!0p}aZ5&5;8KZ8?!HbT!S zeXU`O&`U~xO&NME?O<>Z84w9C8w)|xY7(JW(SA1#J*jjp=1BOo(*MPXiO`cYyTiT0 zfC#-w>F+N?pHli+W$4Kl8^ZU>&=Z`ZfMffdlb92Uf27*bKV>KpdIQbta5ozeq3>7v zAIgN^f0haO(=y?UXB$FW8G7wGhH!2fdXv&M8Iknml>YfL;cFKfLb?90N$LG%!k3gz ziy~Yk{32MquM>RZ%J&({ zqKlDt2fQ1`Xs$eZRNHkd-(K)#m9LGm=wjp@g!c~R)9-vNALkH9l~2F-v3xu`X~#EA z`t-XW%g1wAN0m>%|FL{LhjqX5eL*r2pO3r1*Z#1HSLRZocJTLZqG-!y!xFU0ZT{c+BukOvCq1@U1^! z_*6fMjrTL)YxrlwcjYwl9s%Db*3C+P% zY@k4k#aq&*DXH`l+XjkSO=*HTgh17z)j=m-X6z_xRd7PNrA~)N#!FPxI#wq-bxdXu ztMZeIsQ=G*t#|FS&pszj>o~vX`9II>Cpq8!zUy7@y5HAc3%R_>S^uV@y9bcV{J{Iq z`Z*QlPMXMkw8>e2r=r{}U)#3epN+%mm=3{a@N19 zD7PHBz9Vq=PULnRf!zJb?KHXUVd8IpLf>KQzY{pO#PnG|tYSFML$2TC4wvs2CG?$r z82`Nkxk1xs{j)N6SD|1U=bm2-z5*N}!|)n?$8Z<85c&a-=6uShK%U;a!6x{P;G4m# zr*gIlcmhZ>*n2E^4fOBNbo7*8fE2XVBOa&x7{qF{A4GJ@cR>E8Jj4(7SKse(%4a~* zK6)Rx6l@320AC9dN73ac{uti$U;~2eGG;7V#t1}=)K^COy;!jBP9L}hONy9GQA zxp#o4f=%F3_zj@+oeLsAtwv`-hWgQ|p!`t{${z<|${+s) zihc}KeCz@hAD;t>s_5h3anSdIw9U~6%zQb>5@~c5NKmKz3{T;u=pn<)LB-chP~kcs zRD8VxRD3-_ASHh#D7iVH;)yA(f{-abd7r_4{DEob&>~8=sg#K$# z?j8#g#nEGQ0EFueUv2mt^IGD6(eO6IxrVn_d%ZKkCCHs)^oLII{8ygr`B_lz53pb> zxi5jDPc+<5heq`K!C9C$gK~Epb(iGt0A+p-DD&S_=PG~w3RHgk9=I6%7O4EO7bK~p z2aNw2<9`rrg@2pzHyK}T#~a|k9+W$?&HOwwKSW|)jrp%Z=~r7w)>!=jxCs7EkSs9e zA3&0D%AKJ6bt~w~0jO}C4od%jk_i-!kAbjOzYmn2yFlfWcZ2**S%3L2_OYdhv>HP;#dOrqYWy;$@qB43DcoFz2qo;!>K~FON z(V7ck zy8@J+I*`99GxIhVLbQYNSFXN{f`u~8^_Z|{K_U;5_z78boMJqv^oU#a%{j1IV zT#)#fau!I|jFgCE$>>nVhws-QS#io!pu&H^=zV5B1d=7Ee8uQJAX#I|`$5I?yFtbC zZJ^@$?V#d$Irt{{^FaL7tNsD;6J6}-Dd&OszxOQg8u(dHPoWOcTz_;bh*zheQ_t!h zD8>H7?S|ck8x30xml);^XB$p4oNQQScnGD^J7T!caL};daEIY`!*0WkhOLH64D*K5 z3?~~_86F~1c%3+6xX*CVu-|Zp;daAr!;OZmhD!|dhO-T)8BR8=GCV}&JNFIu84eou z8}2aNZrE+O(XiDpZ#dgO@_6GS;LIs zFd1HQ1BQKu9fnPYwT4;4jNvf(+SxbkGwd*IGORVs8fFZKi414ou+Ol=u*tC2Fl(4G z943D``-Xjn9fnPYwT4;4jNvf(#Mw9OGwd*IGORVs8fFZKvFz*{_8E2)3~LRuhJdqoBJrSmj>5T!rx-nQxg^*RX7oX$2aG;s^wXrH&Y@rE z#WOkHbq;;s*`A^HS>{>(^&Bf2_cHSwnVHVJJGb8Ce=7U@*P8r*X!N-Q0f7%1J^V^< z|3Bm(cwyc4A7swI;#bd$jSlMy-SC|Lvz&3}E$Ehivh|+6Uh?oZsKV#@oM@RZ_w*OY zce1|_)N{VcH<|o(A-rlBcuu$QPBQ&JviJ(?U@uqr(Gk`~RWFJT>umGo9x{{Wd40E; z`(YhI^@rrcy2DQCLr0tWM=MA&59?0EQ zhz{#k7ZX3C!#ZX??uicTswbLxSSM9`AoH+p-9-9`4(rh0F!#f{vy5aO)&aj}`og;T z=|+cj+7nEF8}{@(i(RK5f9s*o;pl}%cbj}z$KGK63G3D)=AW=meVxgNb?GZiKCDBl zzbp5`y7RmcUyPge=o1-dj=%N%(#*p;@qPL-@|{oXF^~j{F_i@?VGf?^rXhHTR!3|AlqiMrg$2=jWt6pZ z68%Ye#_lEbJ%l4^{sO|Eq#sJ@)7*E`T>beZJ&H0P ztQy(tNV~JU(c8BRcn_nZ(P5DJyAEVw@Vz7_E)Z9%hiTVV+9q#Xzlv-s~WY1t8qiCc3Giq zsjRpgA(pOz%^t5tf4??zm=Fwi-&*Xhu$JCK4|nCQrDmFg-g8=t_2TKiu|hPr8uRylV!JOZhfY)qROI} zx#1b@Ym%|yiv-$pknk*=_f0bnZ4TTe@x?8(}j_8<#GYM;rZ4&`hKD;VGXG zW!}HYmd13;TYW^tcc>$08N?kz-PpXkt(diyR*io1Yg*CD^^I?9S+_PL%d6N4=%U0s z3Ws=Wgctm&Ft20_@fZnse(c}2wQE;#95zaqQp}oLZ)()`$xNyYI&V=B*<_hAQ68>n zARkmTu!snTRtQ2NGb_psKA~J{u3ozCCd&h;EmCc3+Zs2lHAZQ*q0HEfr9^alMyc2> z>xd@#1<_IySLVHes|uPo+}hSc47Etq;(6`5#@40mm`u9j%5st0wsb=?0t%2XEIx-> z7VritY!%pKwhG*2l9y+K^V!v%X=K-Jswn^mGVkC346sFR|;j_yA^Ut!lhJ^ zrxjUaeu&F`f>$i-#+2?vMk^`1=^UZVV3%xKR$==sjwNEtGZd2R7S%1vnRJC##tWu$ zT>F~FwQHKum@JPswl7_`Jod`l+#ctc^jn@|k{qTj(CMmU_4;K#S=c3PIqGJ20KTtQ zNjjgYioBv=kyk0E{W3LDM6Bbip!*P{4YX zhz>z`#=B1-=*gOe?dXwTMvDD9^SKuo?>>PM^H;6u>o?u;LPbMf<35rz7x6djk=}*03xySM`@mBh1 z9$(K``yUT+AgP{E4$}MR{uYg_FGcSGSvQHcfMmz09VEv_H-co*NC%h@j_9=@ZboxK zt&3a$YJK!{Q0pFl2{P1;bhO7`fzRSM#-#4Pbn<=l189m&^fgfHC69rGJNi7R^`MV~ zRp31!Dx!CTTBp7hJPEuBd=aR52(44Gc9vmC7}bHS??f{}%2IR|$a-vqA5?!t=vFz5 z0O_5`zZ<8E*7F4dEnavIK_uy)VUVPMpQ2k+^7)kcM^p4WQ}X>ObCvm|d)KAp=cN4m z&6ND4l)2JBsqf7x`3))ho|OEw6n#fZ{?jS*zev#^O!=oZMgKS@e^$y|>554FT$YmW zNXcK5qJ1ms#$$dEV%^mB>hSt5gfpDCC>SJ|i`=l&58%`T@{$dexH9&G78~06A>j23 zD{%FxTm|;Ls~ak^{oFyhaz53opv85R{VYKuB$r=RL6lG4DscHAt^#-Q{0hwad<7;S z)>YunyZWk1Y`*KOAbhpvMBImS6%6hEt@8NLjiD9f-Is(F__=u%n0zc)fy)<}6}bBB zuL9eB7g&MszY?rq;6Kf*V4yD#V>Tt=M4qGW|4qM$UZ5V||7%;fX59Xt>#Ssbk<;{L zcd`I_cKkc2P8Cm;_VuCT(&h~e>u%xe#Ky)2^|2u@Tg^g;F?XU*L2sjxG}R?4$LmjO{!)+X ze?2vX(^!r^(*ERD+*i*+^ZEzDWPei0rhn;`AAL`hm!o)Ge{%CveWXD?eID`1(>kZ^ zfnmYku6{s@UH^w;-$dto9~pA+z#a$p3_9o?0D{~;v0P78{m6W;J4`O$^N9Gx^E(&x zb{*95V7-qVlzdOG)N^L8)c15rI|su_Z5^lm*Kt(RfSjmNJ~r7w#qUr$ureK{#w+IWNil`!CAa zrCkHZ2;FGnRp$Th<9EtG zgX&j*5~LqKcRhGA^n6g`gDD{Lr>Va$>;%=He*>s-g!*q)pz0{uZvtht)-Y=bIQ}e9 z>#S0yN3U+(PcJ;X`4=4?jip70bh{loVXU!23B5W+zdc2NJVn1IMSnL%E1XI9wx;M; zr)b|NbMu&fii+-{x@;^5HLhUVT>Z$TsbhM^vX$dZl_%%e{G4~`tf?qBJM5kG6Lv{U zr4w_uTBTVq&Zt<&85)f%nYJtQVY5xeRhljvd%kLB<@u^hE(+6IO(zoI#$^}H8n?f) zP2Sny-kc>SNS&m&~^gT$l! zw>|61xAc^#9IyY=Vg6ZS{?od=^o8e0`#<}#?)!pF{!I42;)7)Whk8eKkMpwT0W`Kg z+Q+qLy)IWI@7G*N>*mh1D=a>+H#aP;oLuUUdE=Bkj?yaHj^ zs!@qQ%Cw4go;Wjg3*WR>cg}Wtb3=P;Cn=t2F~fyOdaG52^UPX>)4k?g7+B{L*sybMq58n0d>l{Tx?0>U_LuPv92q&f1;=@vliP2-BJ+2(_s5;s*`+*Zf7 z`JSZwUSHNml{RE#JbIaYRv!E@!kh~4=tCq6;s2nE-DiKRT=PwLczHWPecXq7(}*h% zo47*gSt7IF#Ud|5g^Bvzd|7#TKdBL0?}a_Uu6vXIA0xb<^YU+y{D*@){vugOmC;9B z?5kqim`$b!Y0Pn+EgH_;eZO{0bbovr_BfR$NY*zvl-AV9@=|3 z#Yvu7Jk)b6rO4M&6P*8!qK>-2=?HhPx)@Ns?`o@^#qjUsm~Iz-Z&p@)X&WD@_chvt zUH2Em64xoNCR;po+~pGrms68*MakPL)MRIRE$^0=e+*g<6N8^d5LaI(`Tih3`YVPO zva}b!`qZ+PXLQ-`7?+`h70w{%b$#q4OB09f$D1Qt$+W5j+Pg%&Fv%8+sU;_PA#uKQF z)h_ne_oyE2ub)#lq1w)0uMlyrb+R;d?bluZLTfCaZK1nqjY_{`ZR+zL_BD3{9-dFb zK-1sQzf0}dxz|vWhvwdwy}K6@Y>Fyp;*%NrN-u(T*HyW4+|XaBn=C#4#%k9W(TDAO zbNjJxvm`TNIN!Qt%vTZVz7Z3xlk=UQPbH6?hn=w+P)d^vU1$N`=NnW)E1PdH%38ky z=kOPDJND-G$QyfePYQZ+PpYW*YHbxaca+>py`%a|leRo}Vs)nrLu8q5%f^#X?s_%O zf{yoBepLy`jK096tXht<1UGf{EZ#xeurq%SRUB8#&^1`RjoZ3O?rkoI(o1#y(z{=Y zqAi>DP^z-L6{CWd&rxxK7=4fDpqmu5W|)hpI^S4p+)?O4uf_pq zcIvvkJ5F_xuh;HvRmvVnxqD>3I;x{P;#7-$;e$^fh2U$D15G^Us8OGE_MRMlKNXh6 zbk_q&_`rSI%cec=nySroNXdoOU8Yd+OU%09htysX?9a*VsP4SZQ$#UQea;})E!bsE z)XZ~ogVnu>K<+CBa$g+Cea^G{Tp)D?7Ewyizy){ob4()nU{>KwX7nt6f){%=qaj0A z#`Jk#X7pXidz(-gR__1(6(OR?Y#HXL>Ft(;-j`G$o4@Siemk?0`NDS#{%(ds?%pk% zwjb-ShLEE@4cj?Qn&ZN&AH8#uY;5`M-0H3iakU500UG&xrMV}!eapzP`R1YOM>}8W z#10{LLQ<^gUxbw{IsA`B~TXYwyOl2z8HO zJL4+7bA9O4v2>9r1MC`fg2(c~V0KLQG5^P%l2jL`hwruHdcH9M|D- z{cZKQj#+0Ug{9{-Wai zvE9r?kQqM{Huc}zhh6I7+z3_Huw}mV+5gG;Yd8MpJ|K7HT!Fhd_vWlYbk=sKp|x;-Lye|6`((B|?eJyr5@b?1Fa#=!5lj2u^eo4$f63Q=`y z{8wcBpX$!NC5)4}*rUYC$<>{ACiRZARChi>Lo#|CV#E=H{K-CCdOfxHs?RU2g zaqk`%lKM!bDjNNvZ;Ke}sU21qJVcNmr;lat@66s9J!~xi(bLhlE4%&`zgVh;9yvXo zd^5NF#aGWvcYbt}8MI+%8Wq>%Zd6+0xoHw{*Vf$aTf8yChgfFx5I#^8jp5lJQ4;a& z9l$QlW{>09!#j8<3S7FnpHf#l&&M~qBVhWs;vC0d+_gHrE_ltkJ;chP(W|88FRROsg&(b(5&Ao9bI)lj2(wWF_#RZk)<>VxXg*>!25fcQ-3YB9Z9 ztr$`C_9IIbdQz8@!FuG6x4cebBUq2A#(ng0es_X_i<>U z0M|x}1(H`+AT49*9^|^LMDklUW~pDMnhjNPy%!!UPh6YUs+L`0ch)RoUFIOC#O~{z zn;#BWAF6(>bk$I+=}&}Qx3rgxpDZs>^%e&{u3qlFumPuc-59*0tM%f9(xom|*Ou&E z<072m?J)6uzBTe+sITcMDM+z>5;9ySWwpT}j5DKtk#N(HRdFE<`-rT4iNvqbl@%ecmE@)Z)s%-OyjnQT7Rc~CoVnz1S>@@Zl zowI)B+gjGHm==uAiH}{sx$T0my3u?%U3?aiy>#vv$`0cP*}H6RiJvMsvr@V_fq9&; z9HsjkR<|{pzh{o8``j#k7$bNkiKmRgqkL2HxONau_63ezW?tj@nd7P|o7Xbep{LG6 znfd6~zF8l0pJ&t0sN8uhe#+K; zRSCHQZgLh+73EeTTdPe5JQiOS#2;$yxkWlskZ2p6;d|i^qy` z8j?+7%1MvKXGJ;fBk49di`O!_JBjxbSeMrN23_zd3o`W?od%MpqAHNMkN&_9U9r;+ zg4$O)2ol%PCQ$NgLCIeS@)ynLNAgp_mqP!Z{J}UN`V}bt*FjWAdyKvtWGEl40+}d` z8jXG}Nb42NGWtaz>sQeMM&;Ct(Z@kr$*2kBFPg~@!H)ibr=;&+z|+CqpxoVM*lXrX zKw5;2zMmU@-S~Tqe#Efb`0q6O7Q;(Gh5t;Dq>3J< zk1T)cJACQ=w4oNu#Mk%n;=kSSd@u|DIqDgi>pKCNj~YH<`~jmMH2eUle2@bbKPQ5+ zujvfg|1Celf8|H~A)~)y_(@RquK{I$0w}rXj`j9_ZTJYNbkQ2C%wK8zGYuyg|G8t# zp5a$O$v4XQUGfqeTUqR8|HvAIE zo{*>wRC-?uD!nfNmEI(~o+(TCQC3(8l4PgkL6YEZuZYTHEC|M`=3kMPw%VWkTTbRFKPeNDVjRH#QgCTtuJJf z_BB#S(#uow`VuE;{*e@YR*IgPqH9z7W~S&zQ?%a#)V#LsR<<7T!MeVbyp_#8Y*^1- zHSg;BT;se&OZ>;@Y{9V?|7j^-6yD5NxbACG|E`Ti(qf-!vSG-7q3yKkzMPi%?yGOn z^({qOn)%+@wm@y*R+PpStCs3>X=(HyF&e||Ix2n|&E8-C#c;~M?R+2X?DC!4GWY#2 zf_N5(bl*vW<)n&+?yczGD^_w*ioROpW}#-{h|h?Pa$kWuvM7DI|ERVYJY&cW+i)cx z*lW?=;x@iT)VG~+yaZ180CV|DGfpH*$%mGnkaqtjCzUcj%>K>3$qXM_N<`l%`|lt{ zY3EjvTER!+8th~UJa?%qU$5vR`y77%`561TF0SF$A@}(GTnwQ8toymbc_CpxSD;nT z>z_K^Jx98q>o+tOdcuCLTKaL9i*c0uxel40CfVg__5G^MLMjfrG-c0t`?;3T3DQHK z%{_zYOFmS$CC_;Kxi*@+uE|=T9dNP+bZ+RabHd56b#5tcGAaimD{6+Ib zr1tr!bizJYD_LQy&lQeWc?Zkr21UB!6rqyX9sRJ|ePT0>sm&(E`;gn*{AX!?bZJ;p zV0V+(V{f}z$1sHnG0ry4E@zjidF=@Kl6lfEJ&d`-qhtv$j#<+BzrS5Wd*{M-jUm5X zW2j`iMun&hQOiW{WLIbSos}#R`ZB*y0;BrzdHQ-Pa3zXcjqqC}=NT*CQ=4@KZ%*B` z>aI6oC6RZI&$<#q4l2}nsY2Z};@#)3p0?~R6%+G;ZM4!b#4n{%60Vt+x4l`{ObcuL zuxnAGvNJ#HR@`lyNVju*(_m_Yh|g|ro1t3>mPJ*a;O59%t)h&c z?IL5Cik}8d9xUV@E-rpP+>?7)o8xr2?C1xq1^}w>`k9kHaIT8O9`Eb8-gY5C)f}w~ zZQ4mKx`XDRuUbWUB90TDas4F-|g$j`Be{ zf<7$QWa9+NYGZ;6v(H41@U}M+-Ng#U?G$ujPcEh(dG)5Pc*Pu&@PJRRDva?pn@2Ap zwbbn!y$CP6>@08elq|PHmM*uu?S4LwH%d{(qI>w&_aW_`QrOBjS0#2|jrO_C9mxcX zt0cc;Qav;0W9_uvUd(OV*(ecjwQJLgS3PG`bANY!^HUwNlUQQ$OX8Yrahbzq7gxt6 zDm-ngQdq+%Mzk4m_J@e2yKsn{!Qzg1Ue)b!T-9tcrLLGvbZlkm z%>`XI))ULnTv5Ncn{3ie=c$`6TCpINM1x-l-_%!Ob-jPI!~EduMYHGPI;^f&wwE`1 zuGJWfSIf0Ef&B$J=_ix#BKO0zF(3*4iYq4$g zz0&fSZ>I;{uC%T+OOY7rPnITz^(YpzV(Yi~<(qkB3z_!U^ei4MTsg_2z!lrm z<sKOV%jT+rr zl%)RJG!#mcuZ0Q401ch;9RmPuxF{`AulKeGig~lmx4t13T*K4PSBiUv2vOPk`1}yM&~37yKI)_QG==BE<`CW^T_i8vuTYb$y#FWG$4?|x^@Mo@ zPyP9Rn^(5Aa;#vuR@~ONHQS?@DL$%Fc$5W79y)~X(dj`vW#+ZU>Gk0#GuOI?p5M9Z zr`-Nfl{Y_m4D(^vhT!lR?jJOdf6%KbbAPMN_pBJhoM|NYjCEd5>o2JAc+8oy^-2}7 zdj1!hoW)Z`xmCz5Iq3CSd{va&hTOofyqv{bMY)HO+y1PVv-qnhcL2E#TX(g1tSF~- z+*bQe+TydKoYrxNP0r%AOm08%egf+{J3%^5kv8LNo$4(hwO{lmQ0uMNfn<@>YC)}g zP6qjlzD9&g{xMMUt3jrqqGnL?mw{Rzi$Ln*=nUikf&8NN%x6H!4S@VbpX5jS-VM?< zkFEk`KL^Ua3(Wj@kp6yjh#y{~1EAKc9yWS2sP*0~NHj$Mg`wm=XQ+?iMb9yOA*gk) zUlAEE1t)-tk7vpEa##11peou5A{y0$r-L7-*DhN3i)6uno9O95Q1oAb^2abuv)1Xf z1(32Dod9aRR-dIw&tHOaZz3r7b`dFZ?`p$KK+1r-uS4#AhH@`64==iPJ$b1XL%dM3o_7Yc+E_WE z`sYlLXp!8+Vb7m9VAyBaVc29?YnU|zq;I0uzqFng=7HZSNBFPhU(ZjC4)vDShh!e= zscVrDJxn6&(FC37P!Bx~PjskvhM|+|cSA;pdR66-zxdh7Tawm$lKyLmBz;ke*1B)f zygOz87b*GEQu6Oj$@it`Ldw4KMbf=}Df+i5dUr}+bIP1DUZO9bGXJL(t?mn~__-`a zpPQn$rR+~j(eFsfuT9a1S)ZFXe_=j%ty`bd`kh}sn&;YIEweSYY)rD;N|xi%82fcR zEjJ~UxRa=t9qrnl){Ty4#ZK~Cb+V3vTcukOQ}SD-1-jBTJ16B<>ZGmNy_GJ}iSG_9 zFpCxw#TY}yx?9^eaHdz8(K2@$s5lwk=R<`Bx2&G{e9$r0=Vr~E5uXpG9f_-# z`{lWBJoocIP^TV4UFh;Xb!cWGWjK@NpNG2tu;(n)(EjKN>vDlsJ*|K0X7?QFy4(sX zbv_mDza{ujZ4-}DA%4bNm)mCz;}Wa9@&r=)!b3E+hIipq{#~1qT9@07`&xU{ z_@M(`*o)6CmA~{aClq}82}k{mu`cJvMX7ZrH$od@ZRT+t)_8G59$=)qFG*;V@jfP! z=+9_nOlLC4tB5eHZy)Jde85>_wlub->B-Ld2)U`byI$qR(TX_ps{SjfapqxXU}=

l*cXS?2u6I>fy>-MJ2|2Fr-&d|zxw5!2vN9R9=;<=hCfaur86HgF)YU$ znK}8Y>R$Dl!puX`i%g*xmrF~0sB*_ggYg7wi3j3+>}|<$x}Rj-p=_V@3sG0hfZLft ztScO>+cI)Yp?zC*=W2vqMDQ8rmJ#MgcVoTCU@G*o62{u<&ZQ-cw(8EF5*-_>JJl%; zI-+e5e0L<)PHe`WaalPF+b<<6&udL&x=#Z)Be!F;3UlUycL2&9J6OuFSttdB$vTQg z@k65>qbtf>VDN#PZi9Y5hzpR+^A(OMQ9gQ}v+3jpyqu=d(o=5}%kr|Q6UJxSzsXZ(o;A*|y{&R{3y(QfX5MG! z`c}P?{#xsZX_mT@d7qiTaSU^9p4GF$Lz(-hdj6Q-FH{|}c_ouepHr>=NIm}tZT`vP zscarda;x~?XZkF@D$1#b-1%GYZk$AQr%by2*m);ga9ls=VdSdpy9A5Biuw*9*J1Ni z7LOI>H1E}Kau%Nz84?)di4S|}k8U)FE(e1{+ z8I)WDsQH^0gB0XQ9dhyaPw?|v{{qV11EBc2PfGJ>w}A8*dnv&4zqc>>h@oDPJM z-VcJ5p-AI<>CwG-vZwvxviAqlM)tm8*bmD7`#{-$H~5#}n?TuL2s-;9&$#=g%tO6! zjnSbVINj`ra{pyB59Rzdm?!6%p2Qqh{Cqw|%PeVrFh#G!Flqjwl=*Eb`t>RK^gi%A zQ}Wt1kkmgnW&X+(t*|BK)AK~HOqt)1vVU`mUYVi~Gq2N7AJ6H;b2#;`87Z08@vP#s z&g$jGSshdHr_bnUI>GPVMlD38t=O21KUE{4)JzSm%2O&nL}5w=vEuZJ1;{hPRLE*} zH*3CR1+x`wQeIv*g(AZ-b~tl>_EF7`Tr&OQlKsnTZyI}k#FeQm3C^SWk!e=u93%BJ ztN|d;fXM{<1@QDA+My$zANeGem>%h)>do{~3AKuGl=CAyOiz>S^0ZO_sNXWfQ~cQ8 zF%v)I&5u-3nd`aMLuOC~D)FSFsF7QYHngl;x=Ix*Px_viCev5tjWb!|QT_{$!k&D_ zn{R0~eH~Wlrmyy@8UE#0^uA++Rl zKj($Lc)msc(!ZRbt;%HiKiX%E`Id#Qe_yhX(rr<#Zn?E4)1BKJcJp#D%ij(_-;vw9gPo6bdorV)-fxW9v|UX( zPZsl>PFU#}%8R_Tg&%LGb{;CKq-k$$mN#O}9aQOd4L56s!fR%S1KRg#YHnur)4A=c>TRM@S2Jh>#_oMU!G?jDn$ zJAtl3_3g^`(($0k{JHEj8?c>b2RLv`TUq=LIGsepzG2P>^3l?ck{47SbMgL^^-r|5<627F#tWF1Qx3^O0$ zBLlw;^b=Ch><=nc!O`55tDvYgjwZ9-iXN-3tbRKx>#r)cp3Njr|KD|FnZDM}W!&;q zh55^Va-1t?73=dI$@$AqRCo3U@ATw8;kJW5Q^Gi|x^r#F-cEx3p&GKg2yhJchw9pd zB7^Oqa=FN04pgJPB7-^5b4!#m2ihdY-&oN}%*+fGquQd z`N(G}4Z#&D3O>1SnEdT$8)@(QM|BC4&kRZqHNni8x_As5Kr7ojF1DwlF8?^MSv60i zh4$^E(#Lcp2Pv`pmv;$mm%CIn{kZ4tjp4OEJnp@Q6SgrgS*e<54@vK+PWN>#1ZQY} z<+JlK#0RAZ8kO$}?e|wu?1@{hsUcb`CrH0)i9%g=%y|8G7uaNtKb9zb-~Nt%&e@@o zY37RrCC*2@=k>LeW^-xORfpX=jap^UWpUTIl*GgO;I91dE1D(7ifweB?l{Q_>y6W# zDGpFc#napU$k}n&W8@#whh{TAyhu~I$$K^qKBk!z_HBNI7JXMY+PpJ`@_n0w81Aa$ zhkcuENZ0ijf_P{vH_Fs)whWn`eU~nK2hVG>C9xyz8>hvYMiat1x9G+4#Cy_O&w!CQ z0Z7T=G>kQeToOL=@j={4_W!PTzASblN1V2vIEI~X9`*5Z+U+N>A4b))3&D|YxJ*u$ z|G%1VF1l&o&H4UD$h>3%3n-tq_+`i8kk)Fge3j$BM2rmvebi+5@Nf5zbrhoxex0ic zpz7N#N|lXA&*9gWdWOmSUYE=JuFv~_eT)zGv?mtCoXHPl61U!L&7JK;IVSly+U@p1 zdKXWIjrHXH5x%D>N}R|kjhJ$VWNyF*h3_7nlr^E7hRIZSGsN9B3$;$9=&2@HML#E0 z)89Pq6h4bf$*abujV^H@NB-975ti%aO8A~}RD(0+)#B=q6%)VOK|2|i9FID^sAFtr zcp>*y7hw8Ln{|9ghFXZ!=98=s(HtTBhEg|;M-mqQ6(4KoFwEHK=Trw0^ zrSEgG`i)}oM1Q+iSxm{l!8k62kHm^YS={cs`A&K0zH(WVlWTs!`K!>?ip$>H&E{47 z#GqC~PX&pBsO_4S3gXLx?|L~wIE23FyWcDRoDq>^elp$7<|n@dh?TnPZ3A^3!^hNB ze~F_*@60#%`e<8>U;HRz%ceW&Q@_`xNp3r>lTQrAzmG=^fIAn+Jg$~vXHgT69?*C_ zA>)`>Mh`t45_|3~1eOCvA81m_XdrQq-h8C^1V$d8_q;HF&X@Cr7rIopu}v6k;G?X3 zv^VEd&dNhyvJ$yZ0zJ9=@;&NU;A@SU4&^WTW})kiI9T1KX^I~Ap5MGjxiG$#E3v=B zzT?s!Tj_}NCuOGFv&PS$KHfQ_RpF}sQr&FVk?e-*&hP#)(E)msOECFAP@a=Eebr%2 z=aiTde+q9mDd7rWb9<*w*1zPN)mwav86G&kVKL6`Xcd6H=$|-Ib zNS1I-%%3NV53bDu#d7XI;yxl}necYRN2WZOOj1eP#1a z*=6h2-omklYd2=!(!RQ_WqFo+@7HBFV7_YU+iuM+Uwh*#)@OB+%K7QfJ(wJCHs4Wy zlsv9jlrF6}bGj|=`7ee>JZWq3{`|5k^l}qw~BJA0Y>cm6idH~ zatDy>`?Yu1(y^kP*59k1@p6`)73DNKT4-{Xt`+4pkFoFndVQ9@73DgS8@6*0EuAaM zsg_(~`y4F2E6P2I+>q^Guyikz`zY%;(^x{-1fIjadpciG>)oTw!=DF!5oC5g+6L;o ziXV`Vrh?xFPX~2gAb-(E_>uiiQ2JhP^n6hI{y+hK1=tKqZw)BDF9fCc1t3N9v{4#B zic0hi@NDqCAk+NORp1%mt3kOx1C;wO25}<#1CGf3MsNapE&=84Au_Do83g6d>p8So^6v!YuNF}Lng_~XCxd5!zlJIQeG!!ZJ_$jcntI}7@^@#^bJsQs|;ruo<7mZCzIJECXdY=TP@56@LcY;XtW}{yN@)u3w zhq@{H0*U$x@TWMY_+J6a-#TbQ@p%y_{Ug+G(*JLu^ncz^!)O) zUkT!d;>~?WbS{Xj{57!&CVvxa4YP(~ia+e_O&l=nGwd*IGORVs8UoI~!t2frBoKPK zMe|RZxn~Q%qC-2Sp_u58G6Nd5VA0q22o&@5%inXF~HAKmEKVX}u@u^mj?GB|J&<52fVSq-dSHn3UHg zX-WFdl>Ckq{a%EV@;c`-Nk5gMb=pzV{5vUq=cH)LZi&3E=1SWCL5kKn0ZDV6W}c*T zDSes(PMUuuW&Y-r`KlCMo1)X-VJ%DPQ!hN}-hmW-nEf$Fuoq_SO@H!U82|Op+I9{x zT)*>0~CwCqFvRjeiOC#OtT0Ff_hYGIdve#8>*W9@NmZiLT z*H^CbjtdEj-$0|6($ApebS0L354C=SJNU5mrbd4WY}hulHXLDixC0H@aO1y#!r3F) zts}pzU;~bgA{r}v5QU~OHuRXVH?43Htv;Z#9YEUYgQ9UhmXdGA*!bfPS&WtW;||Gt zN4pBQzn(#4K5tn|H<+c}cO5gzRaQr$e(Gs)`jEag>Cpw%AfpSH$5 zN4g*AX&OI0(kHt$bTU3G_sjPKah9e&hx1Q*zfI7iBV6>HLZg{{j2*Ma+i$be>}So! z5S;)uJ$+}y^+Jit@%GycnZ8=nr*pbPQzjP8POBL?n98qf8&lsm?ZExJG22e#eJTyV znyZD*M)60{r~kW(tRsGN^U0f^lHW#TDNIf9y-A8bl%k(W(SF^lX#c5{`ACXBkfMiE z^!^kb);aw|68FVkKvsJ6*bYs%oHmVj)+4-?-nnNaj81k&L(YgP@Di|3D{5)aweP^`Cv<#GJ;q0vv8m(VSSpA%{+8?xjCSkPA8QpJMca~@=(Rxe5 zs@^#vCTML-7`@RMeZsW%rL|m>5WUuk-W#+mNElu0jJBJWZD}p%Cq&P4qFYV$&Jxi= zt~*6{rs$4R+D!?kSQ{D4rdT?euY^VXJi>@4q~(`*FSwa+FV#EuGYM0DHdyFd6?7!$ zr0r;?Lf7(O8t3V*;v{V>rD@c(Kk^Be>YPhUVyWJ_vlFIgI@3kLw9vIMycQi@P|niL zIVFx3y6VeWwP_YnG{87AM3Kgxg|16usouGtO_+Yjna&QTg|1oQwdl2)a@Kj}tZC(} zspYI}nuTxANciU^&Oa}UrF!R1N|-)R#aQT?oG|?joDk90eiR;HZwJV!>Bq#7Z7N5ZA`&ZR@KRPWr@gy~{u`b@&KAz^y4 zGd&ng3tdlz*P<^+%2@}>S;J`-zI=+7C&cAXc`tPBkEMF&{xD&>*O~51nC?lKYL=nU z^<=_S=Y|B$JL^-Q3 z%_45U#0WLSfZhvT_Xep#*Y@xlVgL($2@8MYENqLVdgtDgFx})#w+7Qf*PY=ts4H}J zm$N#{Ssmr9ca*a>ma{gLv)am8tIAoe<*emt7LoCps$%Tvz0lPZq*&q#uOYZt_&~zK zd!2(X-8>~hwua#l?_>%4N- zv~t$eG>iCo554*j19~rXWrI|q>t*3J!~hoFp0IGUvoJZ9>Yc0mOoF;4&h*q^TIiY- zUW2+q*Gc89s&dwZa#p6C^*p-}M@l-iU5Cn9&y=$cmb0EJXN{Dz4wSQo(=4KF*~DU` zyqR~Z(^#r^?hOgkT4%a1m{NC!*J6|nm9xHD&KfLd?I~vsl(QZ#XZ4q}?oYD_=62@d zLfUWRz0kEYmg=3W-K@b>U;h=l?hB@ct{vgE7|c(Uv--+e_m;D^m$SB&v$mGA?ks0@ zr&$E^>x^SVKy)2Wp{p~N>Ye+~3Df(WX-6<+qegfw26JOMYePA!t(>*0oYk6U;oG?h z|LC25ZYg@H4e;OePxZO$mSpr3&AWVFW_io{jiU4)7bNLnSZP|(pvz@oBSh>D6Gq3KtMegT9XVkou zPv*sonwK?aM7fuxE$eY64pNe=%UvfQ0P=}b;*B$cOJYTst|7Nzfma>g zWA)8TSGTNU&Q(qXLum}}5rjpl2__7a+GA&fMj0j^oBu1Dxn!EnJ!73`IqBz&%Xq^4 zVfwrNA2VBo(&+nO3;1=T9|xC1KV%rZv*cFbuS$gh^O6T zxZLqyN@$J1Biy!6jgq(VIZlOrmv0>s-t0ptT+@`PYGqK+PzL zt_QCLwN5U2I`}&9Z167drJ($y`}u@b#{WGNB%*(5_@AKc{{&=>H2R*=-vFP!f%H5@guQ&eHM$a?66qNm0;H$xN zj6NOALBGi8Q@|^rk2Csr%w5cbJ_ySG2zWX8L!-X~)=hB{|e?rVR>E5T`?>`wt@U+1q1PXr}*EO-w1EK>ube*tE}14i!$&xQV`(O&^y z0sW}anxQxw`qM^#9GnWh-DvG=n+Dxww5A}=gkER#Tfozy8;yP)cn0(Wqw7KKhq=V) z>EKz=XM+lt_Khe!)rM8Z|2>0s@qcOfpP<6`6Hxn8z6Z+wSIvCD@Ig>=p9i&Xx)F@tZ>%mjNR->Ch24~S?qZ>fhsiMn`eica3k1jC!6(B_?dYRFuf+SINg3-r- zRDscN7}(0ar$K@m{kzdW0QrlCjMjNbSc!DcspKC333v1AapU%CJ`?`l!_<-?0W%Nf3KVW>_%PP4J!&^bQ^H%UR;0mL)kLgP2>x_Oan1`-4 zdNw#8Is)a7GeGHmkzuv*Cm4N*%1Y+H1SS6;M*pkfw~aq&^uvZamq+rSGWsKix(`ASAlZ>3a|^DW3+~i-O$sF&Vsi?YrrV^lfid`$AWV2Ssasl+W#s%z>oOfH~MRa zkAt%RD7X>SVF{u?4Za=hGkQCCE40pMmw6ZXHgJ>C?O-SLYNK1gEzoZ=dNFt#bOR`V z2}<8O!<&q+^PI$go#8@|zbMbo zYOvPm+2DF;ZO50sX`t-s0~X7nIU!2a@Ks=t$CQs27v8&a+C=6I15d38m&$Df!D%;h`^BqVGMv zyu-C8C2#$!V48V26&|&tN&h{DWRgB1W&VMb|E8tF^R-lXUY(MEOUi$$r;_feUzwy| zno5r!ru1Eul7CAod}`;D`lz!?=uf8nzagdnuTthWq{8=-l>DMp_!tY6xcAeP`M;#> zpOgyErK#|!Uy=+DW7`t?T`B)AOX;7U^8d$D@&Ce<|2~lN&rr%gx^F(|pP`h0UXn83 zk@C-vQvUhtlz*O1$?H7nqp{NJ4N|9evIsh^Y7e}BsTPo>=ZY05oynv?c_l5+37lz$GU z+^b2s_lA^v?@Q_bd`jQFDfga8g-`vyr2o_pO46T7rN?l}{(DpQk2|r{{*@{Fccs$n zsg(I!QuO7i@LZB|KYh={k5cy6rNU$5Ut+~S52fTa&Pj&7_tBKTnv{RoHQd&+X8rnAjZ2p= z*M42Qa$-Hl9J1A0JB*q1Z)6_5aidN<3=F2hOBs@2L$*mUNAK*!oG^V}%9Uzqip7@7 zVhJak;CdyBa2NlQ$o^P z6beyxWAo}%gcLaz^dch!y~wd}6&WF1MUF%i^JNYdIp$E25gaOV%%LJ9I23a%*qO$w zFTb+!DwbZ9Uy9iw#9Cw9(gasYrbsE}hNvoXQNFQJOIj|@A_g(Qe=yR7BnD(EX_3dLaH#(6Sk#PJn4u|=0Bi`?}aE-dPCSu~ij;MaH&SvJsd zE{ZvlhzaL;<=-IhJ)h*nesDQD$VtnrnxZ|qvv$QYAF;$`{B9m7GF)87#x5>nD#T@x z;qnKu7ITW;NpeG6#$s{#jybVK#btu4xQt1~WlY3z7jqQqmSGB$8gB!4bzZfsq>w7GG8t6N|%X#gu4u4|s< zZLD5?p^u^F)}{Q-sA+6lyXw~IGi!{Epf|UC!fptsUA6m)Wr4EfOR{{OUKG)u2kO`& zBbnqukE=?{MM``y-BWSci9O>a)6=txF=we+v>Q?z~vhIipq{#j3Bk&FQ>kF2wS3-^u?C8$8r17V>;YNR{z91CsR2qh1@eKs|QPH ztZq+O)iiq{_mmf5n{~pd#~F>7)&nJ43c2AD8m%n}t4+@8{-E^@38S1d+GkpyEYZTz z&?)+>DS9wP?@7@EDf;0Q-JhcGPtiM5^nEFMM~ePLitbC%_onFWCA7bmhq30&NDW3q z{e>Av(B4eXT$it#p1JnAx=1e(8|mydvuRV!W95<9 zE`2o5uV<`%SlR@uCzR*(KCBTm@)r&BqjmFrMh}7Ljs}e$04YCFztKBEt#jLaWYhCht?Mr_dLgKF_`K1zpw{tc8(jlx-@r7Z zv!K@TCmTHpWbGrWGCBiNwj*2bhz=5G)C7?dka8UjgZSsPCk?-5{C_t3K|`C5h&}~f zg}sk~sE$4aQfEi+1*Pu}Q2JP7b;uf#pi0DL8_)m>pjvp z3zWWThNpv)Q{BasNJQ8jjSkiO@p_N=$@3MkBf0p|;k-%uhLpL&nKb`sioPsmU&2ZG z1u0r*>mvD}5zXB6qUzq@+5^<>dBb9UmrF-gssku*tCPHSwsdZu@7^>TI(`wp`6@G``b z9*N&)HYQE1TZiY=g%6!PSADt))B1HYtfS_7YvbL2I`iV<{in@3DS`VZmYuIs>YxAa zcl}jV5_+-}UOj>SQ~P&cHa*fuInQVx8ui3c_wRxp>R9*uM9LD6ITLfn>)#EVh1y_| zN=f~@CHRkeT2C->#CZL?EcW&2+#fx)M40r2=Scf^Be+kymYGdspp*71_3z|A{U`MY zcg92O-(?G%o-ec?DlC5Hu_ajHWX-?Bv0c)t7DgvI+HHL9P7ED4%gMQgV|1CHUg{?F z4M@$FAe+xO?p#`?44m`@wWeD*lzwd0uQ%gkNM)=nWAskz7?J_bM@o&C|~oGnX4bDXDs^*$Fbiwj``Mc%y*7sJ~WQ`!EwwdS^Z~q zs7d=U>sRYtdd4zeIF5PSIObc&G2c0kIb#U-j5R(Pu=^D)|CF6$I2GIV{2w|3xmC#3 z{LYVeEWcIMw+*@3CTIDkqTIs?eU|?!${j#%+7akGiPX!Q+~M@8k39JZ z{$$k=$lZrr<_P4p2QZ|^;llAeatAHlEPqyvKb^rgas+Y>Kf*QYSyoS2dviuM|6GaGz`4J8n_8E2ffL7F1p6dnQL(LLZb)GJhVqwn)yyMxAcPRp9p`Okz=IyLHZ%gy!i|BxoaEUxWZk^ zs8#qRQ-_uL)8*18#gpdJCbFadrR&#BXN`H?($%(aA*oo_#}$%*1jp4hu8=gXShe)V z3OhlC$rOcpLju);9l1>k}8voEhI! z>1Po9AojmIejTay`Ca*6PoV$Q@#}Xr0OOH94LPf*G;?Ac<+*f0&sDO^^BX1`laF~f zW{o#~oyPc3kLoo&c_uS89;~4fH`OI7#~Z)uTw*=Rc$2>H9O?LVJMOEE?WV#~J6UP` zDyQ@xx3R&IBfv0zb@$+v+{>eg82vpzj5HZ9&er90f#Pa{EgQwr7?GP64(f9UKe}{h z?Q7Q2S+@6h&Sc$q-`%BR zI=JTO2?E9>K>NYqM?XuD96*Nge2q&_?(xhQba`1afh?Y@h-dlTlS<38MER>EHDiLo zNRK8X7{h1gaQB~PWJa$gp-t$SV7q6dMdOxD!|17Z{7u8f*pJ{mrdg^-JNVgkJ3m}l zrB4#;`r~PdaA8#!F6gvy?}6DqwOF9SRcT-COt?iz-m3|w`!LbRHS^Z_%MW!`qpB2K41_B|t_Td3hptq(dSuvp^1GaC>w{~- z5q%kBv1#roVz~lmg!}H2YCG!!)sykX!{s-Z5b2Enm$>!d+k;c)Rn`lfQzJecy0;Lg zxP$R5by?gMja?lk;vHBQTi_BkANXn5;*!se6t4?ELv6onGcp!^DlK)s2yRhFP+7(A$EXMSO~ z^9ScpZrSu?ruuI6<#_u;b*IuRI5U@b=ZsfX68s=YbYw=UVdI49sU=vdtT>m`7yX*# z3`*%eZOlRW^5t@7xX;Y#d~vL^mWb5lXozx;U_!C0Q$l$ymiNM91bs2b!ia^G>szfJ z(EYl(;liLV`^kINm}leeC1+o=isYTDTDvS#If6A^eLP8W>RZWOpMhn`>7>aZ@~Nv| z@x@d*Ca0dN&Fz z^US67*c$mrV>5iDQ-A9E_XQt?a`h@-Sz?uMv#UGj1x=w9a7}fwW^@|Q_8ME9Mh(?m z7=uR5Hscuz3BaXqbGQvkeIC!FM5^{z8%7j)o1;}S-kTc+5DWJPhTEYQ`|?)!-Y(yw z+s*~4P`3bmwlP7D7B2?Xd)8}I%($+|gU$ixH(yom5W_b`*2}?fzCs*rDGFQ7xt_?{ z^;_63z(LRjEM0TDh^mu@-jlUbQP=;wU@t_}V=#P`7DDPO$;mDyd)kC95}OzLvgP?I z*Up2W3zw?d%jA$q>e!^;vQCGqio1L-z#=#JL4C7CwW>-$SB6gU`g|JJ)+kL>=ehcB zRJAttNoMZIdY#c|Q>Uza&u*;Wk$Y(BG1Xrh zEHpeU2c2P0!^4FJYa|w?!{f?Zq5Ub<#<~t&3FErZ*E)B6GHuzIC+2DsoSxdeVvb8^ zsrpGZ*Iw-3vWZK}?@orCnWPY*A#&jqBR4UpZ-c?+%+mGiTh?t@xt6P)mabgYviwz9 zhN#hH-aNW&^>Q~{&0ab;s{w06-4Y$We%<`n=cGA)bgLwf|BboDd6n_z;nhLoDYL)T zIO>vCG9NPYMXJOr*sq~Y)6?LgOn--&zj_Sw0W*JM4D+oMy}=8;<}&>|mB)E5@K9zx zY~~-NWb>4ncQ7!}^A!(e<_k6Oam}-dz210FTM)7$tGv%SyA6Mw)+DAVC$@(eWU4WAyzK z{5d)w1+`D?{UBNSw3Q%(HFwU8=-*cPeOx~S{~G=vC_P^QrC;Z{$iB{Vk^EI4c{e)S z_%Aj7cPKBsM*j@T{x(qd3ZU$*0m-A$^`P`_A~2#`K+%67P_#+WGoa*uZul8c`aTLO z9{!R30G;*dMo{|S2ul6}kgji}^Dabx1>uvS9|J|d8I=5WM*kKj{ekG948fm*dL7`0 zd70>AAhmXMyO`kHLA}0_AB8^;%D%qWWjqtjOG0Oik1 zjj!_#6c5LM()SEy=B1!IU5o;vAyDCX9F(4q8(-x~<{jAM?|=N>qBh*qe0-?)F67G)#_3XC;EsH#g zAE(dg4;n2qJsRDck)sc!Xhn9?{Ff5|{*Nj1fs}cBitbC%%9s2VA2*S1_pdasZM)S^ohKNLEgLoz6zhtW zYnHBxd1lowt6cS(`B&xKT88h>BsKBwjf)E{MJGzUv95*L{Sr>{h9B20s&AaPXo*`{ zNi27SP_Rz1E?x#Hz4Awv7rr)kgR>qlO~f3&^<;Zr!i6Hk`_+X#)7Z#bQethwhie4^ z<1kHU-AgZSTfTHd3;P8Z=B~Q#x&?lbWIYUv2`!xXh-zdVW96EJ=<<~i6>jk<3BZxu z=To|-5mc`BOB@Nmx{xio`iej8yNp>E&#sx}cKS7)*rHE)ZSP)s-9yz%6J;=y^;wcS zKeMkSgL;1W-M+=Yb;u4+plNP0`nPI|6xqE#FZvF9zt1!c_IWg- z(6i&M9>cE%KahmCdF|@9rOg`}+t=K(a?SF_#s&4UAuqM2Pn((b44{uDGSm7u^zj@g zQ=)Rbb(GqT-qI2}C3*(l=Jk2X^;KHKyKpN1w1@F`9_JXnMJ$gcp!G%7|h^sqTGP})ea9DRy`o!y4 zekNFP>!zTG@dRd@_G!<3fl2FvOb4cfzI5z zn~M(f>P^Xc^*=p-D1O{5bl1NrDw6q{-W>g!>dyZM8RyN;?Kp4tA2#FsX?gQVgSWHX z?VZI;`=_~`3f_)#CwBaIoge~9$9iWk=VJWK3K@<=QY@wa{Xff&Durm|~ z6_g!;VBH6a9wd4ic4B!4Wn%#~Pu(BCHTqTOlr5sW1>Z%UlPr#SM4zi{>SH$$u5HJ) ztvJwa4#-CZRX}*O54X1C)>f=^&oB7GI=XahogGf+0~?ti&KK@!bI{caR8ZcL@9}~? zUa+TEg0U+&lJUiT^PWE5OY571_(gmhh4%pa-tsTRsOazs#v!p$km5$Gcppg9IGNq@8%^#Qd3(_1Z6C#iAjGT^F66X0lF8B3I}JM) z6n2vp7W6itG`AyPm@qXY&Y_-mzxg0E1}dn@_;33k@~>;KLODE~=lk%yN~U~|$0?m~ z7EP@hGX!mkeRZ3k8dkCvSX-``#aS~}et$HRwF=CY^X)DxShnJ3+R}{PFobu|x2fN! z1TnmrIBn<)KEf=w-3XPRkSzV=p`GNM9oX-~!d4%$?S$;BK4fqbA!Ak7AAexkYIFx3 z3D@z+_v1r7lk%64cW?U&uL_5A)c50teaV#jY;GuQ>dqIwM;vtI3%#mP5`Ilw#oCkf zZZ{e_^1GZnOuH}W>GCy^t67}aolSf{=zM>VYMgWc217jTi#1KkpYu&Zzb{|-CIxJS zR~4{f)jy+WqQY;?>%6}-OnZunfYseUrgOR265m>r|i4ZqGfkOIT$WO|wNQ19r(WVcp}y>iMOKwa2-Yr~@|d872_Qj?8%3KBcz* zpO>dTB};i1)wkD$oW>Jz+fCl1e8p||CRueOh0tKTs#wkEps!j7$OKfc#pVLDxUqJ5 zQ{4b`q-(fPNwCu|--{#JBu+Vk!%ApFyR%ndp{m5~Oeucz6pBJrwd}B%n8rx%aP%~Ly3eip_F967;x{Es z*=Lu??I04HE%K0qkdiQyv!)>BF$se6P-%>YWx0Or=c&1YCioSjHod6h(mT3!oim)eM?({AYiN;>V@ z0(6!{;k+v>oT1tRC|T}MjDA|2pCSPFY6{ZVDh5-=mtV185H=m(Hlk-~aJaOkdyWKR zjA^``Q6x`K70$&a7GDPdAT+uJ*(82)^y*7y-+5{iZHUMuQ%^G!Vvu4Y0+9N*U9?*r@@Tt*)9q*ir*_BJ zPWIy3=#x3=unVxiG8NAkML^E*lHg>LQyG6g*}(jT&y5DF;eL1FP6y+5cQTbd1_^h@ zZ@e5^k9cCnZ$G20b|xDqwkC_V?0yBA@7M8^q80PB18gYi&au+e_B$;yF7t$NOZPNk zM=x`3(y_C)zo&&-MvK~wB!GG2q+%S)NV8&PU))F2b6Zs^-c%^{XkDO*vU85I@&i){ zEsNiB4-%IX$+i7+B~$TRzGB(;RUYK>)LviN{oYWIH&xDqvMW7hCmS(G%AB;GfmMDW zw+oyWDIa@Z=;f8INN!UV)6BfD5s|7o&+uYdqssnojBwI#ET^hIuZX_{Rf>4aBuJ5B z-HM0HtO6Tj!|m)}z@79bEJMlh+J|5r8(~On46L?sf5y-j&B3z2daP8GSemh36`qbAsEGL0BJih9{vU73N- z5Y;+6BpT~Kr!`JSqS{~B&cj(BXOvW@^nm!^?-S2g&$Xr+( z3=d#LT0ftB1UllvT9ttJTee_q84&yLK18vY=JeM#HnY<$DB8B5v1V|=^exGv9c)Ra zAla4CETDro-Yy-q=o$3-UF_W44D(lNG#@k=VFeUfk$eSMb3+4D1*{#urT-ZD%E>$i zF3mW~fz13!GxJyJu+!gW#__V0V9pv$65iBJx(z{5TDqAznGv`TL`x-QY4;jNfwG*0 z{6OvR%Y9?)h#;5ju%q@z8b36wA$HNK)Zn=JjeXVehpG>nQ`J3Cs)Sk)vPJV7p8;XP zL33&*^j7QRw^Dxt7HW=V??Petv}~|cwhC*9QeVW3T;77g!>+Pi=4(CXGB6`n_n@SP z*+=TPBZxDDtz=Ckh%+3`3VTPqUOuecu zZ`U=|*^JVm^PMO%WQ(35>_|!4-moG2cjf5heJ%Wn9EN}TNBJ|(ZhLaJz+Wft z|AOSau(86!kzUSxqGjhgmN~TLkhfm#soBnQp}ph1tD1p$8d{SDz$CxTk)F+n`QvJ} zX2?yJ;gR1Xv{;)s&c$nJ)Lv(#<|Q)Pcj#|??b+oco9?9Pw4 zRwBNo_GTbCo>I|D2PBgohG`gTtDNbBhAQ+1fNk2YL#x{H&Oa2D9>6QZz-CHpy#RQi%`tMv_2NB-&*>(F*xhnoG; z4#}>SzYYzQ%7+`^k@W{4%_pZde4fPx@A`h(KbKy0K%hOKSRPdbUUtNO~u5ayGpdINP91V}PaYxnB14 zSS|{*34n!>z;jX(!%9 ziSN#+XnkANf6&n7ElRrw#)&D*ISuANXs`oeXpYWT*ot9xaC=i3ZnL%0K75It`4aOF ze}x-(oVeNV9tpn3pF;M(WiZ# zkb;p71n8U(*s!U-yDz)iOLDxZSgTd1D~N#PYX=blqp;NXI(@`f+q@v>$sV@%?QtIX zo9#ijcS ztWOho^2us0w5-yi7Fbr@r=ogMj9#=VTd54thv*-C{ans7G`d7v?8)-l zDJ4>jx5%L^lmPW^O-N?3$0F2*3MAaqEV)-vL?s_UL%K_Cr7cu_<+tZ|H$?7Yv(pCr z1Ke6h_KY2T2HE!P;I%lrTGe?P_FHo7;1{LU%ZLosVz6tGo`HyNT}jI;GC;o#g^hz6 z)m~PDhDt{tks~Ezw3lKXDJ?rUH~tu{qaPp1{$H_$*-~ggYNwzY*5@1f^@X2LHTPk@WzV~6_eNGfZ(;n=K$d~2P^sqO1&p$!AV-p^5X9&fz~ z5Ul$Ev$=_r^clBF;*HOu47RzW78eXXEs;G;9dU6$+P6>5BG|fk3^scg%7Aje@~biX%4J zDsroL6Fd6R>s#R$5j~bY!k5Pa`J=ohHcq1>PI@DVCTR(8IkVv+P@i~vdg+KLj!%wU zJ`)e-i#7&m0^brdSkuwd%sGP8id5-~*&B_L>Ldjju>5xh`4@fE3m-GXO^JnCbmR=} z;>GM4N>nAwWK~Z_P`8qrH>uIwyg!;IUVsdj)HfE;ap97JW0;aYj8d>t!zH!amwCfl zNeavOR41D%N_o7WxReZ)OJ&yJ@NqLaMCDSZqrsTvXsVSGaQiGdIxqKgLKQGAPhIZ^ z(o=I6^~!|aLso8LR{n0JtfVg|HN$QuEvN&#qU`S4f z1P7{4b01ZUahDiL8!_&}gC%{`AqT^=2^SKiRlOqIu7fX+QM| zW7uMb9yBslRQ(X_p{}WdCmg+akWo^q4>;BgRXa8Jib9P6Pdb#L+O55}W z>iEMoJE~HMQr*;CIyu;PIi*9$vU( z`jeMA3wJP1_pVY3YpwZ#WDRSER2Gj#p26174=P({m&G5h-O=*0J{tjB?LCna^xaf@ zPwN3?tbl4)>I%htCp!yCLbE0Q1Q}V3WhYBUM%JuXc|#~hr&L_cAa+C{Y+U^2{U8N* zrSV(BOSd0`RVH(MK+jtCWZbKS)IgEwX`;r)167lQ=jdTMYrvkP*|lb(2YeGPeJo4= z6E@hYO=CL^Y|qFA^mEF}@N&voacm1eHaQk8aQkgSeTYlI2NY%>WPl$bc}B z$&W2H0WXbCl3&N^aAnL&Z7EGQ;&D05^>n@?!nw`{6YVcdn9p}PE7HS~zNnmO2L?bh zq5fP0DR%i!ve0JG{JbYwY>1)a>qCwAG_oHJ&Ap3B#)qY8OA&f;s?BOk$8H<9!~IU{ z>vgFeFl+Wh6D;qQe=if06th3_#H4}JN1T|PDjYH~;W5oZg%Zn2TY_qkDJatn zW+bQ%RLLrxhxF7)u?tTxZuX`ZH%F%z-hNRN=NDK`3}QJk@b1=Y^!x;ijKgVb7vNTx zm4)8C{EC#s-*mvr<-cq-Cz~R5$Q>_qqR`4Md%Fbr+1ikwtqp}2@hw|MTV$gD+aeQp zwK%)WMdo^^<_;YzxPgqLVF#l&a=~VtD-BPJM>bw&H~b$r$9P1DF^eZHf@5cyIK{gS<)4`%ojV+*gLcu z8o7~x{)e}u)N)(x2;T-nP*vE6gfJUB{qZtTX88Syoc@Hm??)1r2YdO;bW~CmzoV9S@jc5cZsRa{`tXTOB%uF>LG(jopzG z`)|k%j1hCQAxGYra|5Hp*nDmwH6dkzYS>7;ts7KnuTyhpmJ8cXwksm!ack~`Qni`O zyN%pb$UXo2-o^`hlR^eKUaZ8ejTgTC9oa;nrchh*_y*SDY43d??}Z|Js4(K=KH1V+ zptXtZKfHC(&Bp_H!xJw+dKCGpV91zug+LL0%WbA@w&vLAiaKdg&vz)Yv8M(;9$1KnmkuRjfCAtT^WQ zPGBIv4{@G>?7;lDsRZ5-Od$C=C7n1nq_zhLe zptscEGd#R4-gt1b2zSg2&H&k1i(F#(A$3-==qYEGXOO>JGJ*hi&Araso&@Zg+*{3u zpAb6zNpu5jIMmz=xdSy$7k1H;IG#)I(bB8abZnx^v<8KtGjxh7++C!CrXU|#M%D<9p~_a>R&fdW~#kf$O8^5_4*6Aq67KQV6$|`B2SZOIS)|q*N!349a(o z1>__y=7@(58gExy#B*tdOYo}2?`al+f`!^i+DtucCWnk*XHvS#-GvhG03YgviQ6a> zPTU)4B>v@o;$o12xp+&x_ML3OQi));^w7Ie;jv3Z+N2fg$`u)!gm~|>mtirn3zLCe zq8SVhL#V|eQ>59wPSgi_E zKogsDi|w?=b9Y)-g6{8wGP)=9(-bP>WSTQfkul6}ZADlHGw#VaG$71vAt9bVSTqxA zmR>7Dcq}U?@;w8=Nx!y0f8$@O*OUGTVp!IPmG1ROk=}~m!2AqQWtKvLw}(DWX8Ga@ z2h-qTYA*t@38sS(Dov-0v|KP}z24z0wrw6GqQO!7Mw7-R406xbt&Lco={|vd(LW$) zxc{$#witV+!_nt~{XGHOGqkF8qnHlXar^yW%ZSNWRx|kQ~EJ% z5B$w@|CxWOq8~VnLoGe5PE6!6Qr!-Zu0f0iYqElXOq zHbYaNc^p5Sdea#vllk3S za&HUemu=z;6WRNQzb1{bJ?t&Hw_AQIk;Ofk-@PTb+4Af4w`)h~Z;M7&zh5zXOK!^Y z%lR4G@1Dx<-jaJmsQvEA{O&Ee6OrFiYrBNA%6JNVglmlL;SiI{dfSt7KVWhbdsuEu zNDp`}zsK~jHl&9=Dfh;Z9`>Z%#~_!s!LtunPv$w9;jf`F+TXn;_eYjr&pzy_{O&Ee zU6$VjR7(4>r}DeEu0=zLVoYdHA>qtMH&Ukw+(auj;gDD?JG=zXKmV`#@Cm9JtHdc!F6b)(SP-bYG* zXcT&aMibX?`mGy<-aHDuV-)(pDD*O0xDA)T%2DV|M(6ofT-MqY;cxRO^mU`q+ee{y zj6&}kh2CfM;mRM|N6RuCy&USSQhO;gTGzwZQ%fBZ1?m`%HC)sE%GubZv$ z&lx6uJ5QtX8m9d1JnMw(3&YSm_~rnvbB9Skc81dJ*jHZuV%18o8YX{rHA=VroV@rI zNu_^$82vV%t@Lv3$9eHP>Xd%6f;{?=(XSsye%XZ@ar`jlx8@xy`qKHaqSa+ZWe4nA zx(=yKMKm_ecD^i%%bEcWJ|9?i!?=&V&&-bSQAHcZz_%QH9b@3T1ALuh;A5Ze8Ux>} z;OiX&A73Bs8w1~L@b!;@?_%%`jDc@0_y)(o$G!KVG4MSPzFlMBlkbAJj$Xf0(Y8v* zz_$Q=WndwW@a+U&#TfXwmoR4xeDlCpIR?Hcv&9RuG1 zFzR0ZY(7~~&$GeT>ZskYd1XPqi@`Twd^W!<$hQ`J({5IIHqR``cQ5#wGsDDll%n1HSfKRG!U03(A{{W5CmHRX&?X7UWw1zAodl`Dj7Dm6Uh;=<@EQ zJma(ZX+e2g!B={R%CmWDLB5^fYj0CNo39q+n}{{RoUbdN&07od%>!SD@!9;fAm63n z>;I0*vw3VmzMH|&*r@a`MwOkb^HJ*E}Q=riq|RF9H6e;R^t%m%+1Qv3~&E1b8dr-2>PL{L6srfG-DRIX(q= z2jFplivGXOCsD1W?C!*2z=6Zmq#Zvf5&+yZz2;8y|vd^%ho0B#5TCg44QEJu^U z%K@pUa{+$@I17;RU&4L@^Y<7a^R?kL#Xk<%j_~~f$;THp8UI;8#$N}>@KOu^(_BsO zK0wlMFnBT``F{5i4S&+$KLb+UR}B9l_C1)7uK`j|*8nm<^8l%*{Q;?`H|D6E9e~W= zM!>HD-VXS6z+(aL1l$*pdfI-9rr!?uP2hhINWGkB;eQACRp1Yutn@noNk1C!vw%;X zr1|=1K<4MmfXw$rfaFU6K9BGZ0zLENzdyfNYO<0aD)e1}_7A z74hl;{~h6HTlj|nUqkp2fQ+}Fh5uxxw&PB~%?Q5_uo(UG7Qp*~e-@DPj{s!3_N!3% zyAu@N0r)7wR{^pe)B>{H6AjiKuYCIeGW_v!)!Us5k<@^GWaykH6j_(4p95(>69G@`yWI&c<%M5Fufd34<+Tcsa z#$xvY-wH_mZw9;_c&ml40Hhu-2c#ZP1^g-Scc!b{V*$4#d?FyzeSKOi_Ah{&05=%z6@9l{hSBb0sJh(|Me*4|JjkszZQ`CxybO& zL@f3R;5P$44ftU|(!YH~EcO)O=K&f1&fh8QGFW49`xH&T8<6S$BOue~XJ3i80Dcen zwT6FdvX0{)2Yeji69Gxz50L!7J6zkd-}M3I9{?mjKio#Wp8|LR;LstOkFNq! zA1eT10qlpI8vxm!zW}%m@Hjx0=a28lo*>|_0q+9*I^d50UBDj$ zehTorfQMW7ffl~~V2$4e*aLb7kaAi8zYTaMAp7m9fRwWzAo>3DAdR;bko=v1-vV3; zNd85Dc@?8)31Yi>& z%YPam-cb^?o_vEr1sT-VVOA09pV01HOjv62M;rzBNJZ&Z~f=KL+?ygx?ByD_|=i z<*Wg`4fLge(vAQ*E*t|$IfnuMJLuz${;N`zb3fpd2>(7{7vP8ED|JA-)uIB++E*J1;Nau5ahN4WIS;TV7MpT5U^U<=fYig0fFA>X7~mOz`&#&)#$(9?{I`IWfG+@& zzX$Mi;12_S6!31q(*VB$I1lhfz`20e0)7N=G2p3yp8}i%corb#%mh3I__2T|10HJO zMSv#(f4d|Wn+^CIK=MBWcp~s80cQa|Y~kMmoC*AEfE9o@S~%CoCjkE(;PHSLS$Gv- zIq;7F9tZeg3qJ^O2Jrm=j|F@amBMsi2AmH37l6|Mdo28Zzz+kz2k=9HU$JnW&pHP9 zmjI^%UT)#%0UizfY`~)cPqFYL0gnWJ7$Am*Df?RZpT@;v7#gPVTg!h3_yQpF(+vny zKV=gjO!}0&E&Mh>nC>Zj{|_d6%C#2GeL0xyDW3wI1bCK(&jf^No^mW8Oz@OLExZU2 zCU*+mioujl`3<1x9}p&T%9DTx1JcDc!@mUxlQ!jRfG|;0ZnW?(0K)W4`5Yij$drpL zocjmw1O5>}n1m@Gw(x@h(dDP?2Z*ja<;|Gs9}rz`$}a%Xb*A)K`2B$B5>xI0M3bEY z8zcE?0Ynp;@+Cl2<&?`U{5(LYcFNg+DB={fJ>fqR5J^sf&Uj6MObMs5E<@G_prj>$ z{eYJO_5niXfg1oxZ#8y?Cjl2BJYnIx&}hj&1W5i~K+0*i@b!S? zZvtEhSO<6^U=r|rz)HZ204EuJ7aBe3Lx7|Y0-guh1<3gAMqh9Ab%2b&)aXg0R~mf| zAmf)AeF&Y2@&^Gae*lp2I{_(wz0rBDg7j8E#-9UN2Ur1^1mw94;{AYU0=5F43)l=u zdWGTBjNXsVdJe+-07-8)d^I5BPXnw4Oc=cnotbzqAnB_C7XUT^GJeAFNk;EQr~f#@ zy8uaV0z_Xua48_;PXe3|SO!RX7mUJLfSrJ(bKGWm8URTzGrZL3ouyj74nWcy3||Du z_@#g>Ukoq_$o+2O8vsdP1jzE#0g_JRLwwghO5Xs;^0fn!UT1jH=(}K)SiT`Z(%S)9 zzV(1-0^$R|Qoc%~55ahyh44W@($@pBeCq%iztZqIMjtHJ@(lozzRqyIugv&!09l?2 zqYuCc66ZcG>8*e)PctCnR~SzJAf)%hNV0r=fTTAYz8aA9X@D$W!svalqby%9AnB_C z=L0qYGJXP(<%5|O`ar4J;eEOcwi|3V*kG{IV8UR`-~j3aN$=BTu-#y@!3Kks1``Hj z1_$=B_y$>zl-F#q!C0o0qMZ;HrQaW z(qO`1%pmJs;u~x?*le)DV5Px?!I(j|2Z?X6-5}co!y61%8cZ0B85{tU#5dS(u-RaP z!AgS(gE4~xXa~66r^{fw!DfRE1}hCF3<5~Jfup&uD2YwPq?B;w1qxq=y*LngoCG7u z>v_YQ3||O)MS8E{Ny8H``n;-OpGaSAIG+s=?=$=xhEKyF!fT!3&4y1tQ2F}}KhW?B z3^Kg<-7v~)HT>TUA27Tg?Su3=7@T;WZ}>XHkF@j#4WDRuB?d)aZ6>KHGE>r$L z8-1POuNXdP_|FWlyj=NjhkaoD^@gVnA2R#_!;?#upH3&q-){I(mi{io4>7!Mnety^ z_y)rl8Xo(c($6q_k>Mv9-r>ek{Rw(}=hOaif)bKvT4};M<5dRz>c%2DIoZ}L&`|wY^ z+3=H%?wz|`Z@72Pw$*U&Tj#YAJLmdS<8Pj-{J-|nJ6!SWSbvD`oooFu^$pxRr}~u1_s*q$)o|||>SmMg zojd)4$@9*c-sthq)b#d&Y|8h}k$%YX-#eGt2mQnm=3NJYpZEa!887ay5$_TV z3u@Fe@pXp3fc8dw$nbMeUg8P-^Qty_g`%qC~`cEekcPsVSy{FYgK@4b`rtUP7Le~y*MdoN^(m1n^6d${48NASAE%HzEULhpl; zp7H<5@|Upmry8B}E?!(ukl%ZcCx_9os&hpQB7_Y^~zs~Y=p5?d8@NZdt zc<*gogmRdwBtFjshVfe>^sB%Xrk@bOXCVDBJ&yFlIM+X6d|rfpDDoGkmqqfkF2Wy+ z@c$$99ghE2B>!KG&_5Z8e={P7<9`F|zc9W$lAo_f{2z|UdoZG(e?~tD$A3H$|CxyVdtfKR{M@Gx;|nA4??V3!)8C5lKNOMw zQiT4Ei2l+MoKD2U@+%_v`y=^zDS~f}vDuUk~;g3h?PekZTBXllv!ujR?K^XV^Js?=F--8&YbKDB!O%Z)?Up!1- zAIXoccRlg)`be0c_hCF%e@)ZkC0Ey9y<}zmk`?lnYW?Szd@)v!z!l5#gR5#T$PWxe zT)L#7h@4{uzKay^~+W)TN%zkURW+i{k2yuZi)n5-grfB2+ENcR^M2Ft58@@ zhU%|uyd+O{ZWvR#eCgt=m)0-7W_7IoW9NUe?!t2!Z|1By^^I3HeX+iAWe^T-hC}59V4O9dsH^|j{JLb#`Sl;Wa8doTYwA~A*?8rOt5?SABcw}KT^7)^QmIp` zYp?o!R5@6PNRW?eWj9{Z80E+bVkPGUs9@^Km!v^U!aM4(Z zTDS9nL*Bjda+L7)r*e?^%4n+pj5CQL~Z(r zY17mY4YoFy7p!WC23x_R!6utsCfb;D!YsOmvAv>n^;9=%)U!N3>d|MNbaI#;L6QHH zXL|~*zhwE9ji2{LHLkqs#9719B%T$-j~D4fE0_hi zzq&pgM#GjDw(_bR9Mhs5@<7W0;Dj@mn>efs!1wEEP10B5V6vc;479~(Rc--85djTsufgM zZhdP=h$)wab(|Z*S`9)%=A47^id9$SG&UC55A&KBN)>Kmf`*$|h|c75=uACC_faoC zi-{@^%NNw6OPdYoKI+k>%?9)^s%>`VRm-(1kP9|;!=#z{m^2Z=C^w`djZj~I^~%MK zpRaFR`uY0H7B7Q{`g&FuhuNi{&r={~HucMwthjvT(mWD|&;pcDXs-Rd494qfNXczE zUT7q*HUKPJae1tM+12$;i?3R_Z1M8tU#!3Knk82)U)aFCf$ z35uj9#;^YBWnWqnt3S7{=9~*ISWqu5{b~f5#LKQ)0wk=x%U3PF>QbK`v~lDX!G5J8 z8*H)~YQo4I1bVDqdyfdPHlHH^4S+HhGo{=jhl8xh;h-y^#VZ?QY(234%U0mlOP&H@ zk8+wXQI9U|HK6;bN0;^*(0$aWLq6TIUNRcc z!f3r@GNAdWpCJvs%3=srq% zsOw)2^QgwY{?f%O7YD6;+2RvtHKK9W1=TFg0HZ@VPaG`*4(38bbgT{VaJIr6%vY`q zO9dcLZcdoRl(5`}ZYF{j_vG2pUf@knBE+0|F8jcVv;3IWrF^l4h`v}Q`o(3>!T1?b z8E}uoROE96xX0lY)R&gzA8S%d>G(d*1v8bW!D z+dfCmPZ4Pj^VVw<_Jiu{tE(=o^3hn*e+HmEY>v_52FJ%|E?Zu%qyA}H?HIq zW!Z{L>+2U(`$XLAGI`CWi)kmRydlWL)(tPyfFkwvOP1DOcGco5mUwt>d6^$x{2mIg z4bUU&z`L-0ywtlVoQnT4-b}#89`CxtLG> zlNa0JJSX_BFMh{qW*5IncL?LUXOu9taj9MSP?Llt<2CqFT`#`<JNccc zUHG!k5WWmE=+wT7Pr3M?oa#@lc@-aXJRa#Hm>-}5XXF#N_+TEs(rh28c50r_QePo% ze8jS65J55d7>sb^6SooqZv9}<8;oLXGoQeRhwu%eEf=D`@ckj&Zd3XTn;L{~A-)v- zpi^t#wpHc_^Ozw;zfvUPdakGYP`;4p);tdtcCse(6e76UmDdor37UJtRwd+ti`)ICH(~1({zgc2A>D5Rf*^_PpKmzzQQ+jD|+u+?I zN>yhi=+!ftX#(UMgHV((i@+Wc2>#tb*V(7{kZ1P#-HOSmS^Rt7KvEUB8J0U)oS`Nt@&>x*NV zwsyTI%54+D@}V_pL@57yG?VtE+a~edT2=|_YjY<)_=HxKbT)R#UE2l$nRWn+3f`7( zO#)S0+$Om#)+AgN;7aTTZdzlvtw-zy&XxtP$VobxbrSHze5VUxL{LgHC7qI~mW-CH zd%!QGt0Bc{HVKqmfFGzOw8mg@2dCh(TdmdZZQG%mYUkNx(H2MUk(!j7-OE%6M)$T} z@Zp25McbVFc}s1&>-0_{oVq2R!U<9(v{GuSyU3B7tW~eybX{rC$zsh?sF{YVM{@19 zNyD0vUrSo^b8FVc*KXDPtj9Mb+v96#{QXau)wClO)rM4v-fmQ(8&zAZ(N`Nw|z5 zr=vN>3KKHJ2wCU?A5mQEbqy*gbu7Z%8idudS+hi~B?oyN;~4{0&EPEG0Y}vaT0@ND zj42SQwCU|C^ocd-6Y15Ww@j0Owxt3#HUy>KEDY{OVL)FagPS1(+IN+>PLP6SS27d$ z)Vp6@qa?gYlFHNxXiEy%SP5Wy+AIw2MqzN3!Of5%l5jm9?B$HaWd)XG{A5*Lnd%K{@#+DFGZug7j#3)A?pI3LUjicM3-N~@6yk)} zTizBcc=KY)O08LUOgt4fn0&zGTV>QC%+oz|8j*mQ+`#rN#Gr&0tA=lmXqVljLhjn83CJV>MBOzUWH$?&t30mq zxWWUCTdg2(E*fi#w9@MMLkE;rJDI7fJ7kp85GOqicqfOu8FJe_IB9>mQHm?~$B=FT zn;F5~NHLO(!%2>lsT8pa8rxWR$s?b1^ad@#kAtk@-g#Q%rYQzrvs>rNU8-whs;dZ1 z)!9-zy>Ee&P6}DT{O-Y0dwEzko$!7JY7~ZK%kS8F zYFh6&Tp2#oice?jXaS~{$KL>Tf%B`R^OBek)0tQn*~Ylgw%8?S^CYQ?7tpPF z=S6{ve@m-^83u0GtgA%A@#}A4h_nde$z!^ZKlI@_1ZbX*RDwREl@kc(34AlTSSbO6 zH+st8D6wpg1ydquaSi4)_&3x=;?uWC9=s6Ii3I8$N0C+;T6$3gDlFOkN-;jk?4%Pw zT={j<2gp5tSb*~piq>qC% zOifrmC23K`uAV4WQPYl&O?v#HiKR{-G#XH4%<>e0&hAy~Ej;!ZgMpWd?EdZP$?5n)wRRJ&gzn_g)~DJenKS0$dyNyGa;};u zrox-|2oc|GQav{kr91B>48Jnd6xBPKFQ||sF+SJ?0 zquZpRI|`(uNlkC@DDLJuM0WR;3hJwN_SN1fbsc3ot3>MOnQG@;)HXY<)OH>lY8&7dBO*h-Q7YzqWKU z2wjM(P&ZErHoxhA3U`~2aDE#$fqS;u?1Dy1$Lgz1I z2AGo`5DI_&m}p5Bv&>1qD0KcZW`H^AexdN!kBR2RxstA_Wt$+phA6P!u=W??lHt#c zacGqx8Da~^nnh+7!3v{hW>+;Vla0m23o)SM-%xiI2J{`+y1?uZp~akBhZPaT*z|vh{Z$y;jREXkld=xb2HP} ziJnZJ+80l~NESD(sRV;?+g3?d?eB~<(@U090o}WfaME2s-85NFlu4f3#*ozOyN~SK zUrn=)`ff%d>TDG&EM}zpts{=kklm4A6_dm|gT-~lkYif=(V4wROEO`3u7sopFr9>+ ziZ@m;3g*-jv%pYs00=X?w79A4L`TcrJtM<$ygPfubTlE}>Tr@8+I_UFP#pPn^}go8 zY+6+0ZEB#(f{A?@%Aq?NrE=F66Oh@3K}s5vPV9xv-6%Y+^0>kin%MhWE1Vo65t|vx zvI09l7>uw2eK6@_wZ$5n0H&ejsn4LxA}!rna^*hRvXy&ZpZ?6_l7smE@gvqUj(*3! zWoMtn=NtxNU|(emvE5m9XRw*pt{nlJY3{;1Q(J!P^re2wtr8AA@f)wiCUP<}{<{Ra z4)DKDKl3li%$knCmZ#RNuZ-Vvt|Z0HBTmr0l8G8yx+RGHqLF)fPdjOTYFyKYs4$cB zlmut-Ixx~FO=HQlTSz@MQc|qc(F0R&VM1^Ocm<6=RQST00`ikq-JgQS)|38 zdn9L>Rk;a2EhW-<{1_AZ+;9n9h??|O5G16*UP80OI(V!Sg|K9~X&1}V8>p;9bkhM^ zexJ8RcrRk^&ORp$vLk`zZYn!2+4u~4Ray7Tu)`X>YJKVtMajk;@rP!YP56_OSt+Vm zqg5|^eupA0H_dR`GuS%kCf$ma6*?Bpslk$DV_*ECl7qSjXx~?Z)ur5Gm3z>HA=aPM z!WGwPx>3n@u2P#Rw9H#W-;1DFHi0Z_YN|3RDiG^4O(h5(Q)w`rRV#FM=Rl=!PgCa_51=_vz?frhR4(l zbbs9a0=9&DHqppRk3(Bv+Ev{H<1olJ;MNO)1wjaj2w^^4$#m6og9yGj2(B(REW<#L z>E)W~SUSnRFQP9Z`&{9R-*6_<)}U0^`%+yKQUj-B!w(#(Y!UYDQy&sKh0%yfBv*2l z8Z2@%6g9ou5$Fmrr?I6k1l`qN$?tOmGX!&t!ua7B#W_@F19KU+HRp^;Du)fYF;oS7 z>(m-^QrOqDqQUBIg@0E^L!^PpGP|vID<@TT4~`SfQ!H!N20&^3Zq2;=xo|YA_c&V)wpLslfM5WF*Qaj6>HSaj9cDZZbaaZYs zOw6?KjIRvONqz0-^E(UQKolv{(a2KmJE=cmj}Z_5Ea(llc4$I3DnumZ$9HSqL8KE= zxP|Y`Sh(xNg}Wv^GqcxbRr$$R>--3-Z{)M~9hn{GW>CsQYRx;CGeJ$cWGyeBS1v7u zS~BUOUEBwi=~}HjVS!VNhO~JAfta%P3ux;Tkm&`0G1y9g`7nUlo4at^lfDzb&@^ZA z>%3bh-HKaqlLg!*XaZO~h;BG|-wMmj2!j?Oo5Z6f+0Dqb4WZp*bBQ~lWNLYZlO*m| z6+MNlbs`4FTjojgLMxNm`X*-q2mpL;&`CciTy5kkZX@DKkh__=PxTZzZ#_3KeT&o9 zAte6J6$a0|F(hQ(Sc)9;Mv-FPRJPD*-WZSOjnD>RO*w3{obBDD2Nl=&DoGJSHZG<$^W z2-cI{02v(6UAdbp)fP{kg&@BaWPu6C+GY#3a7&VzjZIA7c{5pr-RVQMnCR$5Z>td8 zcK@a%S@hSW^8pLlmR$CiX)I7?GfO$&*)_jtXueaXWKa0AXNAZ4YqAK>>poHHin_3( zDtbL4#}iNo9%j$klC;Ro61IXy&{2~v-PBgO|Rp+SFio?;5!n1dC(dDM4Z@JBVR4R5aDAZMeX|iGh;xOVl0ZzI}$pV~o zGcc_(q>2I$5wVRqzBCt>wR{3mt zXz&f1bpde)uj5ibSYvX4CIs$%EgD2t?iIZ*z zV`?*h6Y(29i|#XA*SgNn7S@{~WnnkWMIB1V@Jyp$#ut)K+-Mp}N|*?XTK0t4yG)xJ zo+o?GC~NlVfd;OGwbj|paB48KYNkf@le9s1xI)c^vU5zl;}s#ty2FyjO4$%#=cS-x z+}UYRnSQ6qQ9{uU_sr7NV8S^wu+A7a&_t_xDoaBe@Qt>aUT;LnOVejG4l(eWt&4&* zyy1i6QqNf-Rib2JTC$~w_TA63H*(0B}NbP;mED4?Fq%s zX;?R&1!k}IM6-E~n0r$;9Q17B0ZU1AxO(G)ZJYQ6gUh z(NWz!s}x6&u!@Z`aa_ij&Ttu)VPuoSLvb@i59nPplpz`&reUL+2A;;zcp?dFgw5^D zoD8*~5fLR|9!b@6-@5zd9MdAg5x%Wtzh-bTee8+UVz$a#F9b^o3&AD%|3AtISWW!O2V(nfzsH0p?^T2}OPjq=sizmRdu>)Ec6x-Q3xX_T^+IidgDr1qK1xTtMimNOBt zIp8^%*qQb9mv2R{C!PHe%zVMz9)blY^CqW~v4z8PC6ZS+(}`d|{+4RD9R9Ywi zJjc%)=cll;k_70J?VEK5HL!n8vyiA7RCkvZfzyo!x^a)+_VZ<<6PdFJOl8h{Eq0 zv@w-8ZQ@!D9fdulvh^dlvv97@{O~W~e1S*cqAVbcQ^E2?M})MVQS4@{_fcr;*(JW3 zy2e|3FK$~$4LAZoeo*uwn>)h6jSEow5Uf2Z7RgE`m4`zgq`7=T@ z(b!OXtR0G$PK+?kgKVe)88tLA4UO!r?K1*44%f~n>l#e!+j3# ze_UAuu;DMh4>XqRA5Cro%#^*SMX{nh zI{i5FqF-8EdGvw9B|Nr3DS7mYDM~*|K_0!q=<|l5w;O%tF!TYVBm2DaxkiB#Q0rSkoBzmVpX)}w%}zfwM{zk>2!1z+>OE1%V4LB0c^y$!!nKC91ye6zvVVSHAv z1^GBB>@_~C--3K=!8c%hUU3V3SD4S|`;E`)yP&-1!PjSetarI0`m4lycZb2<==%ZD z#7}z@8HCL8UmJWH5KX6i7G4L#O1u2pa?yGDQZxkUru=+B)P4DmX-a?Q!y5iWK!#ro z$ao*b6Gh7T&to+FFCdaW6F;Ok9jS1-!SM;j??NPGz5HZA=C23+057VPw*u}5xXNG+ z-~`}D0ph*8a(>U{XuyvF5`O@ZSU?2#}D~G z4oLb5fYj$s6c*!l`BQ+*C%@ameBWp|zt_Te7XhMZbFQ%CEKX;{d6bCqN|q$Hn-V0N`f<8UJWNhVwg> z)b}@wR6o}NQa{yzly{WD|3D+BK3@XFBd7B1fKWww2Ves5pA7#pAoW}eh^SNM0&%@i9%0?M#Ntx67=4~JsU#B|LiPs$~Qt{w5<(-fkrz1y>V~~GYfnG@^~c; z_r|ebB240&LRu`oH%>Mg-5Xar4fn<|PBa;xot{^Vm!8Sv(SQ1r^e+1IBVJ(v<$cWe`eOttiNK_@|DZfzmew&$;*P0DB5>arJfLSg2cPn;uS0FS1!9^N&Rv- zc)B22HM4%c_X7Tb>OX@FKeAQLU%wduF4GM}C z^5X*u;f8|w|4x6NSmQD-tz#50$zSe)lr zM%>J>^2E)IBo$Jzx=IMu$Ow*S!p>nt&Z;J47v5PU@r8!uIdaKW_2q@Vxdinnl95!j zj;^>G?m8mP=Uw~P2&+HhB_fA}zA~);2l#p@=>K8PDJKo@{{fYM{FRW3Z?gT3{vWzd z6EQJwedgg9lQ=GMY?N!P{vU2RRrx88afeQq@97X}R*L?P=Ko=x$>F%li+&$44#pB6 zlX-)Lg?~o#|4{i66;2O>U1M?%7#TtShnLqEs_`cM;C!C7^ zGTub|KXf2{OnD@6j`5wqj{z(_6XP%ha-L9!e_qTd|CuD_D(~6<1I~vfW_H;jH21uc zmRBe=^>(baW_NroCggg^hOYzQNdTUX*AC%bNc`jUPfrO;q8kc0qf-@c+fv=SaQ96$ zyJtS(Jh`DLnK_Acc#*&x0)055ln9?N^3SLJ-%h_Sd_L~~CI1w<1D@lbqKW!+3i+qt z0xX&1%mU}|a{N}!Y;j=%4i*)pS1Y#N{e$l~8S-HXg%w=`MW@-m>DDo(>Jc{SiB zON3A+XNV69szwR08g7|%-O35i2+JR&IjG9@g%P~9UqLO=RfZfXvKIz(snhXPLtJG{ zBCqJ_J1R=*a=bRPjMTgdbmetvIkKrQG(girceS11MP$ly_2pGN?d)uBz#|ojv~iK# zwbcp8BmuM;S&Wu$O;np(ahsH)SQB+sj4LwWLPKS=RYHck(4aKFawh@iLW2mZnoJ=V z8X3uD_sckZs<*C!;!J|s$8$L?g|HRNt2YSL7HM&_aG@dZvR1pd?}FB<<&lW<0Pj(L zO8{OpECJzlA9w>~o=|w&*~DAZlzYD+jCSf%@f4PtY@w_Nx0NErod$0_cN)wLn8>9{ zk~ibg^E8**9V1n!Bz?(uMt)6d3z{qaBEEJXX?W>H)Wlplqa9y+HWSnbPe@lRL$UN` z=t3Ba+f;KK=P=rgjjGPTc>tg4SD-Ge(mfHvo!bO(kjmbf@miDLHmDUmNf48%uNu=- z;&rG%u(m%xhUQcYt}zmb;k7)a>WiE9u3O6%X@|n=u}LP)DCmow$e9=;dr4bg6>~Dx z%%Al*(`Kpy>ERfGP|Tx-WJg_bh-mK(Un1E@RfcBGRIKr=jq1zoc%xTT>~0jLsM$j! zNJx9nOcKymCO}@{vchZ@26v+{;5}9{xEa3Vg}1uGo;gy;H_Ebz+3~9SUF0JsDa-3( zd^pL+q|U}c052cH;BMqQXJ{J2;AY4W$p^o;iw7R7nUC?9TLumc%0yEUDh~pb0H*>d60ICyes>n$JH#f#fd_k>@4(~c!>Du+mHivqv4kh&!$Wz52sa*L zEL>&H@#I0nB>A(!0%l8jwZFD(qa2K(%mJocUD6=w&x3bfL>37yJraWx zj$i*hhFeo8XOQpPW0$B*n${zg;F{6O8J4;C5Td?ejo4C38!o(|Tse9y8}cr;=b*=L zH=2ZIYC61q=$)&~szY`7L2X((ZYxJSoar#S=ksHLtwP?S#=~s6=P%Dg1sI-V3x&V> z#xh_UhyrJbClhlMq8&h8eCT_`up-7Sv|KkKqSzT3krQ%7)XD52CZ=HaGTLOmX&FbBp*b(RR04+j_)r ziMG2oYur*-*Gs#jgAfhfEbT7rx8OpH_7ULI$T4-?~* zwwK2lc4MNYk(QUohn9zSvZLC$7A?;tO3TaRoK)rX%%AW=wR0WXo^eXs%i~1b+d6;3 z^VQDflfl`?28CCYDpA=s)~Ge}ov5&0bYMWECc8LMk>-tAj}E9Nrl98`tyj;U%x9zW zeH{IdA!*rTh6J@ET>$SkJt|ekUyk1a=A=7?!e3*T^LrAHE?piJGJhE{!0@_;Q26Ub zl(TvovlQ>m37x-;8DMzPN+|sGWAa>{#)M0kyM)eP#tbkV(-#VV{g^z1r!jHD>`tNc zmoWp(5vQHzy3=#~!^3tObE1>JLt^rmF#`<8u!O>2KTR5ajXB9l-z;?gGG>6`wMwDz z*N@3zKx0l;hm@|krDV*t!p&d2H757`^<$!I>LS2j^40}oZqV&$JMtIfUO!f<*F~8T z^GA~ib#@6JZsF~_q$y?O;i;|0NuIxFf8AS2IPHF~J)M_oY z2!?-5V$*p_wTbLFEeC*etO+bZcpDlld*lTd6omVHyFim$9p zYB}zLDIn8JmM0)Y{M0N3ikH9ed!l+7691Xzr)DRD)ol@KNh11wYA9a()KGwv3B=%S zP}Q`I-JYKs()ZWVU4F4=hmgQe%@8o?RY0K;`~WDCerg68D~qG`ym8>ChFLT}HN4ds zg!rj>ksLYxkLa=@%M%8}tVE>cIl2;&ja1$5#l!}iD(XukbeyqY-mIsuwRoBvX>OYL zILugq3C5?ZF0T4)RlWa$ef)@Ku)IhAGV7g%YYTaq5%)5g@&AUyDyW}IwzI~Gt$2TZ z_bUaw%*1lNWblYf;05M}bCJ7bzMGeje~>-qfJQXo)-+?D7ji%YG}i%5Gndsh&3}Uf zn$Z$62Q>K!>7Ji0NdpHowiPH-2q!%o`c?x3M>~&ILVtq63ke%cHqK`O>ac{{N%;2Q&#- z%{&J*w_|6^-$AAr-2fTZ0S$GAic7HKK7qL6fCl?IAqO<4Q{*rXXd+!}qDWXP?K|N+ ze?dL(&i;>Yns?)y=3TUq{}2173AID>KqDS%M(|A=sn@0;d_@J(})`KED0zG+tC zesq5{OR)j?-`5|_RL>vHRG1z(s-eGp&mT>Kj{>(jUr2xie>4OUe>79YAI(&m%D^?w z|M;UB)*sETQW*D)yugy@kEVH-Oifn{XloLXSqgxu`lST$e+6LvXsU7BBX8DXERiSk z2#{MmGgWS~jNp%^)gokh64?CFtQ*lE%_79W1dw^sym01}nT=O#=#Pew{%9@~t~PQN zw-M2ImEFzEeaIh8osjrDSK@g7Xc!XmN5fL&_@kjnd96rg3!VOG7?1vF2yIN(l(E_g zM%eTMl3mlU=Z~g|fpC$-i8U5Y#Kz>0hMJE0qmi&-{Lu)_cc4P7C!NHvPW^c|S6|M~ z^+!X3=Q1Yx=DPT!p(^OB1O8~pi`$St8VT`VXw36R6Bh0{4G8?vP+jJaCPz-#AB_ka1KN^i3_D3@f&CFYm3pGcbT7GFB6z=(>k-p_NzXLrdu_eJA z`LB^pQcQsOqX`E%=`tk?z>{cTT4n5OnwnQ-Rh*8A{@qN_YV8f!Iz)8RQ;~Ul16Ha` z0^pq=!TuYteDfELkXd$RPZr1`A{$vE$NbSKnOm_@vihS@IyYeR>6N~CZoB5w8+B%~pEaMQ9oq4wa7Qkmr7O(Boz;An0cD}m{e~@$Z(;}my8v-~6Ap0Nc2S?M z06(5OzG2n-K0LtE3>=PcN-!@s&Mkq{8FPGNJmZJsq2n9l;VF}Xa^N(D^(u~Uq#C1+ zZ%BoM7}Bbpe8)GT@EpfCLHNjyZaQ1>F#RF@gx!fp5q(sLy4eMX)j{{yp-eDb9__DbT;$X zcYMR7(Yzvk_&PrXtEzm*H;m-4g+SYZb02klBQ%W^a(rW<%W~c~FA5yrkRE8Dfa9Bp z8iH47+2mZ&kM|1gaE2+z@l8$oVgy%TEv0xio za^K!RG%rnm7%A-dCRdp7_>ON1(0s=?xiodQhO~#I{Oaq>S{XTm3Q@;5bYNnRZ+MFX zcx0mEn{dM_MjWDDm(djovO#_d}X*^-Xaiz^= z5a2t$AtFk^^p;tKgBx>vqw!%{L^#6D@eR|*UJM=I@D_9lQO7sD#nW8;`i^fHq`nhy zkOudBSU{+lx=q02IEG|INuJ{yD}Xq@$xQDpFpY`ho99J^{G|hv0E0J1p~$aJ zVm!w;+7*1qH)7ISW&0C{^w{pbIgdEL38iR`Z|D=k&G45=2AGqfV+fpc<8L@gN753< zH=5W|nRw(TrjBnSsloBhR*}hHrWRmupDz^oEsz==-)L&f3#L{HdL%VCzIjw+@|URv zn3JJPMtIKPZ-Lb4_(oG}DwtYBG&Rrh&4VJAzf3T|;Nnv#@>?K5I=;~aR~AT6rRS&F zjyCON?iI=WWtsuzWHtyzehZ|DM~If@>Vj!fdVZQ+lIC3^nZHakz?@9GP~^8jnt1qV zX@0q2nv|ZO=76Mmr%2{6(+n^tvtB6jTOdt5wzM>x3#LiwW>0dQ3MJrF=nhEc+dOWD zcTAU1F?^a)?&Y^Yx^OBawn&B2sgREra4Hm{g`5iI8lX<`|6xzwHcN94CU?V)fbYk{ z4K;DYj(`WC963uW24J?0Uw;I=nTW0Hown7&AbIv@8@baGIu**Lb2NlgAqvv5FYHu^ ztQ@y;CwX#$KIw{6A?5Jb;GR<>am|%4(6qQviPKA~$H-QQZ1whzRB@_6<kvfWSH>69fWz&LLl5J31a>EYKJP zDlilPa#G0zfj}OA$QRh90;@F!feH)-Kwzbk2?BvU6_GD+Kn2dz7z8RX6aay9luQr^ zB`CF!)o_)%g6@uS2WTe8EC5|{q84G2^}N*u}% z&gH%zE`F4Zpl^~`gfGF566L8MB?=KgN|uD+;zx-AP+Z_gsedh!2XS8xtX1+5I(Wcu+F-XVhOGO3 zl!)Ny0r#=Pev}@>FvF9_-v4O+jv6?l9mDmI$xVQlviFo+FX@$f1D)hv&4vy~k68@y z-H_{2Kw_3z`6j>*%0c^=1@+tQ2-KPJ7etW8s^6D}0EeBtp z@mYQ4$vX}_ci_L1-wejZdXvlZ19VPmpPR?uQgSQWBd@9W--`eBFDk#)W1d{{?ZkiA zua$3sR}-FG(0Gw=B4~rJDxayZpuBnD8!|qt--3KxMwPy%@~oZ<^4$!+gz;H@7vy^o ze3OjN>b)Qz_nga&kM%E?S6=f+)r$Ax>96P0fQREe$mxKPSw6$yp@49SQckyfcx$12 z`-$oYY4Hi_|L5a?&{_G@Q8AKgff2@0pfL~@=1Vj1ynxX;Lna!e@YJkqREuc1Vq&G=Msva1ITht z1*DvP0AV`IZ${xt06zzaDCIA}-wSkq+6930-}8OEoWXo70VH1%kbFxag!J7IN`3ta zko2bkq3ZHh!!I-Z2tdjy0mOT~<-h-+@^1$ue;Xi*QoaB%4tP8u^Z9;2L@9p-k%{y3 z08D2iB2i8oAaVM0V!mESW?1eGfQVXt&_RlS8<}PJyaOygl*o8r24uV!p-h|)EB_`S zruyZ{3F;S#ewASF%YO)Eq3Gqe0TMsa@Ck;`gZ*TF4gsXxEQC?+!+;E52gvgO9U$qY zNCYY_|2h!LyAY7!UB#;ZyA9rA@Gs+3-xmT>KgR%4AABytbm;$)@E-uF&%Xye0+8!` zsGz(K5LI6OQNt$#QqHeqVw9)!0x~}tK-PaFAg(D%{ve#AF~i#dQN;ge{3~6UQ2$C5 zC=dN9d44X=H+=9^WEj^e_!pata9#(Kj(=}_Jc0TJ-jon>j6Ug!cO9wt%K*f^@hpRT z;@ELy=3{7ji0X{+1HXp8{XRz$z$`kM9w|qafy;bK9`8@L9a^`_g~<53CRra zd5J_^`{9EBrJ1u5!8P-wIde{(^?%rVANaVdGT(nnTL|(eaYd<0b&w)O2&Pb=i0n=v zqk}fP5$M`gF)5)?v_OPLi%WMWrjZOoFuJgISKS+3y!QHMZ&n3DFMm?3BqF*&Sjg_; z-l(XF7A?wZ^}6=={+#oineTjOCNssdzrA}ouS}lrbDrls=Q;oXpVM;Ysa5V@I<4jO zmQ{|u>jmpO*IjePx>K%}tV;JSxiMK%RM&_Yg*?CcVt%XfiYtQwBql`Y?W*-JD_yx;a_c!&JyctClW)Je{Y9zMP z@c)6cNtB4Jb$?UGo4lhv7T&4V&+h)Fk@c=WLg_jay$Qw)~b^wvi%g3%h2$Q|&oL zTrR!KOUiGV%=hlfGK!1`WIB`Yoyw?7E0f}N$Vo0R;{u4C#=)bN zMXC;Y=_SjDdC-#d;kS@isdH=g%w5hL0NZkBxLoRO2rBBcX2x_ny z@rFp#Q=Bm7)6?f$z~_#uj}J}U^Or^cyXHwR|H|h~$*ZA6C;1NF*dOa+a4`Ky<5tGB zL?Z8c>VeU}*g4q#$c^bowl8QLkmhsB0n*;Z79}AP-6Uu`(W*Sp!QS3+U56GTRna{f zMG6TqNj!|}Ml@WH5)a!~54AshpsCCO>fb9nqON zyS?}}st@JM$R!~GyGj$#zo*H4dmZ_7)9O3}Yl4^~fpR2}-b%HUL;$_=S2ww0+OqJBmeXJ*<&*C#{2O zDrQc-F|Xce)nY~x7fY5`ZaSiz|Bfb7crn+?S1Mz--tA}N6z>x2-<2ZmL;co4dJs@w z-xFX3$}0Ts6z`m-$(ua3dv==Jd6?k|HRjx(xwsG&CnxI3-093jdJ0>jC_Uv0&J7oM zY=%fBX;fdi+=GAVaaw zeb&r|45^zQL->25{OB|j&yUa7?}=#q&R2e)uU~7|uk*#9>rXsi|FK46y$m%{vHGv$ zzgT_seEqY3{mc2v&-3-q^Yzbj-T(T3ss8chX_{N!bXJs}p$&-o8$!Ph+x;9n{m413 zGL{OiJz1bLI4WKED5B z%g^)e|Np)7I|r%_`L8_x_I&>S-ST&NeO#QV)m-9UKMBNKQt9lSo1mhbP%?8{tv{hX zJ4|!IYxB1BB1V}!8d;s&sp(s$u`@&ICp70q*JLDo2J2ruYYrmhb&rX6Y71r{r#C)aS1CCZC;VQIzPO@j=}BT4T*D_R93m&{>Nd~Rt@<={V4PaH^l#=KE^zyZ zE)k_oo)*jBk`SMfR#u3eHPd1J%{{eYdClo_HA3cYFddw~j%8IPDd0lqQTf6(^pgBg{3-|-{i=Z^vGajYgB|^ z6bM-Xd72^@n0qt-T&A%+?1Yb7-ciYVU`G=yW+4gkOjdH`Gd4(&=NBn8cORXPO;Skr zqF|w3BS%o?tw3Q<(~~S2z_LwpT`<+xR-U-%+TU*2;|$x3fBsv z!L%=~3ZutdZY^lH%3`K{I@jlleZeD_pZa{kloZ9AvZa?23ZchTUPQAZId?jWxGeu6 zOGSA<_eyWu)OfRMG+mH{A7?vn8*l!ESBbHMuclP&iX+YT(P*r~6k_#)V~N$nL#$@H zSu7el{Tx{yQLv1J#0_(cE7)Jf(;cnydFY4+9JP*VSEP%Qkip)?Qn$Ky#6BvoZr;O^qL7UoZTYmeFF0ePZsniz8GjotaFxl7GSu;5oh8 zOpmr)pHd`v_7$9Z&lEcEnP15`ZA10jNl ztHj*--e=CXq$Isitrrr>SL@TI)q4B%M4$4IM1(NxTjVrf)OZtnfFsd*Qu}QGuNuO2 zn7-UU;(2LuURm8&V$ZU7G!lN_gom8gO_5zdFQa`r?^?c-T%6|~b54~;C7Jkbcw8(3 zQT02hoOP6W7y*sOHx_ZF_tGm;)t53XNw-Xd2Nh;*L3babyA8}cF!NZ(h z<46;ytXOPMk647NMhKmPkbZXM;&dSbd~9gacf<6L(wo45s^?=d@q_a|dO* zA5Pua+n*X-*_3a8wC_9nTt0)V{R1%-r*3Tjz~JFcWC69QbFW7_8FGfuQlhp@I&P40 z<i&(=;XV{Iuu6WjoDypXYNT&rA>(Q%E_OnrTEvEsipYS;EJ##H!+uz^g{KA z-qx#?&ZAyuJ|msmP;O`zRR^j8RsW-Jm)d{VpG{HleuQvgliRJ%?RnnqOlGn7f*dXN1BU-3WwR6_ zbCbT&_T}BOjrdD5?ss36_RpO^|KfR>B1O7(#6;a;Gf~oeoi+s)tE}bH56yjaKfLOR z@w({PZu#Cd>ruZfKtwAWOQ=b;vF)2h1{YISo1=8E9~Qa$0~9sV4ewku6#Li;+(b6? z74z*6<=TJaJKSB$?QOQdjlT9o`WeN0KK)Gp_`Y2F8PwQIL-kDR#+5Hj4fg(=%IW8+ z>;ntJcY!{*@`c$gKM$$M5h34q>)-MWL*p-y%c9-w!v2(wX#U;5`2g3xxb}JLgbT2C zD?OX}fK@*CPv!4CIegu)+`dqc((rihej0H;+Q0_SGKR17EGM;3P4vY& z28ErUVSJNya#aBES0#u6)RrkKkVy)&3m_$G$_r!+fNrCi#V&$aZW0zc6gK8|r$^_m zUg&}WQOBu@!}lrj=OjgN9PNFS<6Sr)IZnQ?sh&x)jUTQ&AE2u8;>E@y$`q`PaOp-~-n;uGyPQw+&j!GDT1d9X<%$1}9P4$P8I&{#!Kw&Q*2z=Dl z57F9j-qE^*lCpcK?tCX?o`JyUU78z1bRh6~1_GBc5_qhw@y_&Pt^Ipr!{UYLBnsn! z%W^!r9qpJ5X!=n^iVM>&ijLAT^#i_;GnwINcdmKt#0M|St$9ptcJ6JEu)*}_oNCcw z!sj$hXuPxivFJGAv#}5`PWUY21jT(@-X%qwrV=m2OJa6WsCj))`W#<5?Qt@y46#Dm zywH@s%QZ`bzR8SE!|WlPV~&`frH6%Y2Q}XG0-}PihQ^zHo$LMmDy%lWlIxSC;K}Db zf%i{bwc^iXpmmVLlvY&E7T8OoeycSxGleSJdw7u;{gDD+r-ht}eNjS{7$|6})C!s& zROWSY7Q$uu(2RKn9J{h>+5RpX5VZYIp_(qX!^JEv^H z3`m27>)ltMj=rz-DPO{h&HvVuoepXXT+=dAXj;OEb_-Sy?2t5{Hwry8r3AHqF0)9@ zN8Ytr{r5Lyy4|46?^{=2XS<1}&-1K%ML%-+q9CfI+d%_pb!?%pfsf;bK^t0<{lXAV z88H(4`&{s!Rm*-HPWPjeaY8W&+Hz0KD7AdsZSA&ub-kp!`7^KHn5pla_yk@ssXpPi zp1u10Qh)xANtdM0+c7!Iak!4jc$GjE>JpN{^{M1%u}7kMfr`%eLnhKLn^x{#+!VSO zH^sXbiPz9a(AYTq$mR2zqezQ-%t^=*Y@w*}>7j#}zZ#fkX$_s zrZ|Eb77qtXZg(Ue)J=TvF)h`i zz}fGqRq>naOC#}cAmy%)#KVD<+ZBt4_tl7p&9y2fi-&cwcsNjUFNwv&fs)&O&2>GS zu72(M_x8Njt~=>2$q#PIr$V(Hs;6r7q)Dkp54o-yJypYfM-6&c4SG)vdbS3AxCVWs z27R;!eY^&Jss??g27ONrdT5BNrB9QUhidd>4Z6l}GS%FtYS24s(7S5Tduq_LHR!`N z=p!}gqefrsp9VbAFM*}(ewgFlVO;0_eQT4{;5N~!)oDc($X`gs{U$BFxB)+TE?vA zf5(yDeKr4wH4llY=KoZar&sfTM3Z?K%co`W)1-BBOttjuF?u!kGn(1NRHJujV-}`r z_%zRnspkJ4qgQj^qOBX4YV;mNo_=W+`KgmUK|6mjW%5T)_H=i-S0#Fjr@zOS^D_72 zy88$7N4}mYqg(PP7QFw0#DdLD3z`l;q+uAYWw<$p-|+2BfMTo|u(*6=(+3Ya?+B|F z9A6uJo9p1)2wztne7C@tse?~>qNNVLC*fOC2jAg}ojUkd!Z-Wn+VS!Z_@?UM+X~-U z9ei4o7^#ErQTPVy;QI}HJ$3LcBX6&*gKsr_sXF*J!MD5)zK_G#R0rQK`1XFOc6w+Z z%1j-6dL4SQ4!+mJH(CeZrSNU5gYPEzvUTw3&iD;=@I3)vM;&~Ns5@5G!Kb;)WF36E z8@R#vtY1^H-nbsVJ;rD4Yel}>;M;5Y!1_5A`5uC=!^*Fc;czM>}E8{zqb-MxXNB{n+ zMB;B$N@tq5l`=8KH-3(&yzs@%`#F@BX_$ zxgP<_{+FkE`x&78`#4baUW3O2#rMxEy!~AUKLM0JA2j^y^rxlAXMu{R4+5pnYM|oj z<-qp<7Xc;z2e0+|eHEzq`V>&{^*W&9>1d$h=?N-w`9BI&yxa_wp68kUDL}>F1I?a( z8&LGqfad`Jm2rUdx)&&YhJez015kV?0j~unfeUqoKX4uRJ&Z4Ifd39)4*Ziq&h9n8 z11NcU#wQ9_FHqsS7^rYv1iTt}p5dF<^RLSd;3v? zw*VDCTMTalUIl)%+26IyyW0eO9rhWZ_`i3Y=X)oxAN*vXJ6FNgw{V8f*h*q5p*OsN(Ss zp!h!zl)NFJ;_E#|e+^LS_fnwrc!ah0jljEs!v7p7z1|E|y1odg^xVDF+kXwH^xOnI z6W9!tzu!K_hwqC(#b>9%-!KkW_?`wzpKk%L1pfl?2J+v32j;*(3{?JG4V1j4!0Ul8 z1YQpOHsgKqKL(VZUjr&!e+3l(5b#fdF9gcnVjxAg`TH;RdQStz|8=1FZv%?|;U%8` zt3dI88mRDZ1ByQn+zh-FDE{vq?dAlU{{|?1RsiMS@j$s>416DO?@PS<9|Prn7f|l^ zz1Z{r97qvvegr7~2Y~YLE}-~72;2hf0?OToj`HsMfpXUkl)FC$%H8=uxqAsv?)JRM zyXyvC3jPY9^u6!*yqqrqCFd`IlJh~JG^*Q6#p)u_)i6r6`NlI6yKph`Tv_EJl_aV^gjcN{vM#{mm2-w4)@{vE>QG;1WNvu zK!tA=Q2Lw1A>cy7>2XVI+DEH?B-w$jC=76s-`$n_Z9Lt|! z{}535<}*O5qNN`Nz7%)^a0&2zz@vee1F0I8z7BGa_N~s!oTzcAVFJtG!U4{QLQ4V*!^>~$bZ z_M<@A51M_K*{?PG7T{UXn}Dl;4Zt&iQu1`*G#-jR1{8f1DEfAw=vkw88GWtMwf-Qw z0=W{nmq5N;?tsEa4DT>JWB6Vo;WX%bfZ`tko(kM%cm~)4o-%w7k@Z^eS)lm00Z#!A z8=eB546gkqqBj8l9H>a{1I`l3Cjn=GqK^Va-wqUg82B3CpwZVFy~F6MfG0w4F}e~> z?)Q>taz6uH4%Deb$=?nXeZ=U4z!Si;M(;3s#^^1;S3_TJ^u1&Px!(hn{Au9vz$u{Q zj{rsA2J8c7fy;ne9~V6X6g>s(11<-?3YY|nzK6^u`YcfNDPR&f2^4)BQ1oG-=$nCb zQI6~}dI~5ydBxF_z+=Fd0Ofw1{D4;nj~L7v>@t`#m^7F$I79xByK#fcKf<#Hy9}lb zCJiPG&X8Z6dxOeX&b`4dgUVO3PZ~@ZoFTtB_XbA{W({^3Oc_iXOc+%Da_$X|7|a^% zGMF-$G?*}`eB|64RQ?g3HP~e^WiV+lVQ>a!=icCm!K}e9gDHbag9(E(q#vILj~g5@ zm^IjCFl8`l5a8U+oWR(d$XG_DAowcMRqt$t_f3{k-w5A8Wh0|{MEJPjHygg>b)NnP z!+Q*Wqq(0n{CcA&&-VOZG<>t+df!m;rwmtnEPOeYrp&vHo;7^L@M**U()e4>@%(oi zK4|#=Fnq@FC(ZpTDrcD&7=76AUmAVZ@P9!U>67{ct!nYazl;L{}e;4^w^i0b0 z-)#7Z;ny3!*YFX;J6b*eF2lDQ{zbzR=X&~u0Nuzj%1`Dx@}=-`{FM1QKjC|@m-!I+ zUU*pN{wKbjd*sTDnftJg{RN|kb?aXmUGXlX`D!PRc$4|tKsWq8^DnGBe>cdd5tcdD z=p8i9GI|eB^1?duX9AtZT;>}_59`E-2l-8&{78Gl&U zZ4ds@`H(r@!Z)mj9&?@1!#b_@g-Kpmmwkij7uI2$apUMzvNCTC;ioeubBy6(UG$}< zUsz}Tmf>Mt^+n2$_!rhmQ^*h=)>Cff7-XJ#!bBwKC#P}Bx-%)udkseW8?{G%(BPd@{{PCFlu>U(Gi2Bb_{*5vJ$7BBA9g}x_ zjQ@g|yw}C>zlnwat{8q>OnxdR|E3uI3o-iFWAcuU(HF(od7#lTc9&ZfpKv_yfSf z>5BIzI?WP?5zEM9k5XvewO6g^6m!J>@+$V{U9=X~&a1BW&&)-gh;&KsWks4-nKusJsxbE_6 zOEQJoT+sT5ZJn1~2a`R?s64E2c5k{SVxyNKOKn!1b*kB1a6xBJFGb;+Yp%wLi$Z1h zO&hQ6><$liN~$t^x#gy7O1b2;%vp(r(~g{2V(Ao&TRI)fED0RxUhcfiQqIdQl|jk% zWxkhL%6Zf>mM$d%T$of=N^D)A%4}Vz%59ZqK8se8;XH_@hDj;6H#rqGSy5^mWR%*v z6x_Ie-BrCkg$#P-`YXGy1dYXkYOJezuPn1K*ty&!9T6JKj-@tIC1#_5l({OkaRCrd zA=i@0H-@@PInkjpt-WPu=e3*G@rG>ohIe;fw(bgCb#^M4J=e*qEJ(b}+qrT5RhMtt zP(q^q4YsAV-DMQ!YfE`mnym)YBc7o>AlQnbP3wwQRy8`SKk7*T;e{8j?(9~QT)V#D z?6PatgG57ddGESwE-lba?7DSDD-#>Fx^mq{UeZk{qRv=J6UV1wtB`Kpmqcx>lty_} zjg;^xER?zkk6e}7DBWT3py32Y9D=>aSsAVWVq5nQHxlG zG8wUQxu}%O90DSI=Cst(96QU0^x3_$ zyYkdi{WH7CF5cO_c8y%aE5(vkA^;lJjqWs>ygWCBiiG@+l9 z2dwv<-51agm61HTZDG8BoGcb4vI4>A9ows}-4xLBcXmxqm+7wY7+vl}hWUb~f~(?3 z&3AF>f663H-Z0}G$(ux;MS;bDV?&?y8#*t$X5E$R177-W@30~VlQnsx2$8&C2=<2X zEx3%I)B8|XA29MvbFfV;QfP``oOzBfBTLgG9sFdZmwt*z*q9{Wf8*|z`CZ?=?cd$P zolRUtwO_jW!1?wyONs_&Y1 z%@beln!N+?HqMwOr%THJV(*I17k|&cduNvvhVsgtgYoj(LH^rQ`5w#vTi)qZZROU+ zwUp}WVnJUUi&EKSDm6A0STDv-)t%TS*QUAos%+|&`%auk<=S+4Wue&CEB77nhIo)L zYXkLJ(bOw9I97Xwk?JKTL}xX6(zvV9TWZi#Mt`G+W&RHv{a8;aqmP@7?dL6{helre z5in)+lp1TygC3O8*~{QewR1!r+*vDQ;V;{ls(wTpzg2bcZG@B5?= z`$U?*1!O--^H+hSN%O@(_LVg2N$ZKL?8M zVxai64?%ode-WQ9s}!I1(a?Wu?gh%<4M6d~9Vq^lK=FTyFp&1m9|Vf;I-vMA0>!8G z1kry&9E<)Ppy-bRMc)i$Urh5AK$fzaRnBF9CJ>dX?qAV91jY((AHvIk+J`{>;PxR9 z1#TaL=(ETXeF{hy*zH3QeH*ywDqo^Y54zlLAA;y9qpvc05=a-{?L!b zH#lN2Yp}~;%3#tUz`45=$69x7vhl-q!#5bN^%c>zz9e(K;Y)0M0P5G(95s>nABHPj zGEec-y4$!IF=PCMhk9Yc@K6tQLDM=r9_X5muD_(nQOR{KIoW5$+S*Ny~ zdFsk!^7NJ!5IlKBOUoH6v0JfX#p!1_cFkXOGp^pa@rrd}7Nhb!hW1`1lKe25$CxIs zRWsX^u`oSyg9$iwl$*z};$HVW#scfWNgnl6qJee$H4?m^^B4^#XO$GeY^L(29!`wD z((Pk&cF}*#V_duG8cj8N)7e=%?~tOAl3C(GVwB1~YApB#t6K9SYfavWl)_9R&wU@YXd zOFwy~`X$5#pLLr9GB5JG&a3=abKk!^6&)wW?u*yGlCxZK$T(7$woj-lk-4gvj25GL3ByIz4kYCb67Tw%dPab|0(1 zgEbYsa6jDtJ|fQ}Q*CZ)Eb_e8H1Vg`LZk%u!oFMVvdOz!n|%Z`NoOyzaVb8Nb6ciX z>x}|#_~cPzy$ONPQ5X5}Yx1t})Pe4UAIGt~c~dV5w(3E_HIuFTzBTud^U5Cj>eq7+ z7kL|!H25e*+&ju6{vGUX_%@6O{&^SOTDv-*Q>5bY2+p?Q*D%(D=jXvjiEE;VR5&|5-FQRF6URw8A0h5F z3CaO4cq~+TP*U-%P%o*)wbX0I_8|vZ3zdxN$+<5Qo|5d;5zS78_ZzxuWTr|lVe?Rl zODUIkCSBes%Qp&2NJ+0ODw1PH3FUU)U?8gXtTifc*E5ub+?MZs)P4Kd@89L8n%eAr zi~ij`&yl_*`FuX*!yB6RC^xwun~O@`&nyiAQ?`-&if5FpRj11Qv!8qJO(gBAU{{W| zxvXHfrSm=rS&S6m$(XzzXKJ4!TK6E6r!6SOy~OYu;Fs5weF!5<-SeBxHN?y$?At;nrvko#xOjkr~r}OjG78^6m$|#%G}%_=~Ge zVfoJzKyJ&R9`4NbQf7x#U?aK?sN_~qcMx^6nH|obL?XL7?_My%y-KcA-MK{jNvHj- z-o7*d_NtN!T#(e1Iq_jv^l}duUfW(s7Uw;lx#JMcCF9dnW?wE1)2?D7AZzD$)JR!E z+|%V0A}wxTEBCpf4hL?{0HOg+74b;AIOkMP&Talyxh1S}i=Ymdm%JX47rVJpdLHd}-XkMru^RtLt@h><) za(|0lsSxyCbb#dkTTJf410+}Hj-vWT$3m6jvEKOA{^sXG?pIJSDmRRqE9ok`diC9d zzKT+f)dUYzKKpq@E@BT@KGXRQ#Y52dK;^Sv#N-~ReD&2uDo!tz;& z-vgD;og;1I`}jZG*$=SE%1%h!KW|}*1`8Ad_8sWY5jd| z9ei4UPu0Pv_4nm<@M(>)sSdu+!?$;~c6#WJiJ3b1G(9(22j4RC-e?_sy2o={9eldS zGg}9r?(y7E2j4FEI_lulJ)W!T;L|;x$vXISk7q+2e7eVT&kudNSv^y+9O)j<2FnLl z-&Ew&J)T{9gc-AoyzNY-d+a3d$DYsXpNjGpEux+?KC4G6^64JW<-5H+tB)%3=^oGF zpLo9c$ZaOZv-C2@}~AVvA^d(?R_^|R6mBTFS*f6 zQ$YErdt`*`-Wd5eqsRpg1LdFYi4m@QVdS6gg%LhOI>|rX10#G8DF3pCw*cjz?s*Y? zn)Hx=Q$XQap#0lxxW+m1FKM{?neuNEDE`er`PXB35-9)R@$%3Mrw4Z#Oc_iXOc<2j z;u|+OVo-WJ_Xbl2lLiw8XJB&f4UQPh8tgKdGMF@&FgSz0d>%Y*aKvENV3)y^!K6We zbN55^(Eh8iFXEGgOL&*-@U{5LqGd_(6wJJn9rlH@RV7!8Qx;}KEf}0hv8T7ExgO{PZ-^z zBXPXpNuxI!-edSboBUD3-)s1Y;i~T?f86j}&A%zbzh?5XhQGz|VZ$}ACigRjf5qgf zT*zqOsOU|Gzr^qs!_}`5J!SZpO#UA4JaM++DjYJpcf>v&emno8_^)I5Kn(w04F8)L zu6tmj@*axOFOK1Q-aE>FZH!J^RYLzrR zpOc?D?O4ViJBDv!*r!;LdtU44N%|1{__26GA;AUf*sjO$~aANq~o!4IRe$F44$9y;pTu|1_%+t=xodfm#4cc`CHi3T97FT1=~opR6K@UbfsKbIAmO~HU;gNalzWOEVK4P&^D&O zi76+TAV&x_K}msEQ913@m^eiT%GxR9f>yzoI5!dExT#NVKktfD-TqwvuhxFvm8YIz z+kgFj-fK7cy}bYM>!*Ip&|m@8wyU>kZk|7ne8p9lc6P3AQ&a?_@vcnL8n^$9=aDt$ ziSD~)${?Yi(p24N>k{)-zd0cLZl6Doy!CBFd2DwJ8%VZ{vGp}<5}Q@3*shksZZVh& zyT#zPEn@788DVe9HuifuS7CeJ^XHMZPfXh(3wy`>H+$UL_h3JhIlFzjvA@B^G-t5c zygc_ZX81w`YJcM?jj!CQq(~I@3HI;qD%;dF=2#dgu*Ytu@dFxvDD7Nw_>E3%2-Hp{ zw}WZQZz2l&-Q3P4zl9b@Y;)?JENp;F;bh$J$9$rYCGx%D8>R0mczq%}qZEos_LEcZ$zgm{oJ zwKMaXdi4!5Y`Vu<+hFVCM_4s_(pam}TWZi#MrV#%rp$kpbD3j3rHnpqHqW0&E`Lw) zZsP6v^T__(@bl-9|8t&4zMk@{IoNO>`D=!U^T>I_$8G-guMMwu9$E8&Zhlvl2Ie5~ z^9%LF1a`u;ULf;N{Df=0L`LfsnvV?TtA?wckkPu7=%HS_!SJM`y0>mhDzQ&u4@<%P zX$&8V;qoWS|Kk{bF~lhS(=q%HWBljF=%>W+`1xek6iej4B8F?$fx8=ZtD~RkJFoS^ zi=LA+$xd+TJfOVNL{o8IPd3b#M9(36ccpgH`Sg&X{__gtM+4lgY(KQeuBfzZ){lCy&p3-CGHQ>ylXo=PJiNsOw{cD%9XelFkD)O6` zB@!3NVn5FkjaX5GeB-X?yoI;n~P6Y9ZX(#4X* z*~fLPbxym*yq=k3V^jk&zSzoy%m(@C_y_xis88&&duPO~M zvzYhjp0w#FSD{A4t?(NDY@H`o#;U-g^1 z=8qx=hTL6soMgCH1}ZR9fvn@a*+dZ zkLG^Xc*mxu1v`JxaOl$|RtN3;K~v0X;m#i{aaPkf-1(D(a=*y^EO+>@4iJwo;t=xO zhZ#f9$xpPHMT_hCENaoz*ngR5`Sfg5i`jB5idF?JidGf1SUsF9sxe$pgOkG(sUB(M z<|~-12Mq~Ud%M!p;({d7-H_1{SymvTOJ|? zpCK|V~hMm&`$~uPavq{MrYNk6~{i6A~ zyz7u>@@V7_(Nh{GN!{^W``s>pzA%iE#6-Y=(uvP;K7E#ZLfLxmRs4s0G&7Oi4lZNp zsK*>SkyQqe5pg1Ww?_i&Bq&O2{tfwCzXVEL4=K$ib~J%m^rlDq$CNXg8b5SCz*2*2 z3hvJg_0DAa9uP0Hb)%W?`^1+y@zH-eV^_?8Yn}&1si_(<3HjBJH9nuY;U!h9#3f6lZ%gXFZ%t z-_|&ADDLv<+qgrNiB#ur<6-6VsjY8q{o~d(truOG>DxVsi;}dPB1bU~*-N0-kd@lE zx%l^qH_SJ`?4%rV6jNybn2Y_!0qx)*#c2wUOC!{3r4g2inocYk58~CE0-6Bh^C46&-5~kpz zWn`-w5vH6gVZK`I-!eiZ{QwIeUjuKF9L2H;?;Rl?wjnu4Bs~b-!oKZd%z2DuZAG6$Tv8{1ymX0%J@I91zJJb9hm2P>L@t<{0$ljy#)FjnwVln8_ z$LCO2B$VVX>E_N+Rv+Rhx$?Nrh=aNq1Q+?7bFp)-VX$4zH#Q&fHa}__TysCQ2sZb5 zo1ZR84Q}}g?ci{`7jpj2*<{;bde>?swR=hD@0?rSHrW1E-Q3XbMV-I%M=foGYaUpg zzZk2JN!Iy0f4r(~@ZyOKR+;?AlrIJ^o?OiV^7i~4!p`6MlZLjz-mk63|MvWS-s-1K zZG&4LT%BK!)oshX-R>oAgX_P(I)5d0U+`8>q0^Q0uv}PWMUQ6rVEP-SHZ6ncZ*%!0>BeP7fk(!P4Q6lPar&S^pm-@Fy^4r$hVw(sNOY@I?hR!^=8IbTV`j$6QQnWSul1Jc(Qakw5@ROO9zhk@6&XC&F&nH_|8oK-0@VuV~sZ)u9jeE@rzx9&_0&wK58(t;QoEzMJKNE z7&r+PqI%GZ4W0fBjl+(Ar?7fTUdx)TVMr)fO1}HFDdXNd__yPO{L2g-aSzT~$Mywx z^cJyC%zc>Jy^z)@J6+np6ROf7BWg+i4lL5Y0~>dIfpZs_($=I-@=0p#bLe7gm5Vtq z3~e-r;)Cx-m2l4xS5wYaE?jV7O|ZH{4`ha3{2glTyI#nc$fAVIkvn%YPNp*bn>Uw7 z$rq&6&=H@-S?ie2IXHJAO8$&W-{rxe(v_|iNKfYn6(nhtYX~&$vhCLx_-4%q@O60O z%|1i>_|@&Hc?Nt8Q*wQB9vm+54i68Ft!F>Td&LN{LH;z}(Xn9XcN-3U*pP#Eez&QB zEZq6sB@UU+W$3=90SYsYGK-9Van$j_QOAcw9545d>Fqkl!RJGxj$aUUd|1RWonw3+ z%tnHCjvJju;-slGPL@I^iDxKvEjTNVwHO0$l|`ODez(exZ|B=A0^4$Z;}LHjBQN`? zSNZ3Q(SkMKdt5&y44I)O=C-SO3!^$+OQaFE^UeA6K*$2HCFcIri$0<>an?sgxNJG@ z#kkBYrD+aSMOij%A8%{CqxG=XoijwKL(V@ueduJHyBUdLYu`>^3fd9VzDEs4j> zXJpS5N;DV!7+a0|W}9%!$Ie+Naj^BU{2EOYj1Ru$aID?fdYaDDB>c*9c`63wyjJpu zFp{`^yz!0|9$dFz=MNhW{jDJf?fhX=0a>{7hf5Cq?FyViVhgs?fz1r-X!A^uxcguhmfd%*T`SMnY#s{MY+9m)Uw zH`VFK{&wHK9sj;>-~W#BT#x;e^T@5{pX_f$R@na%9j{F*cSOh9R6_TR;1Sm=ZFAt( zVF!i=1@Z%qmQPW24`jWK2R4Ws=<=4Hd&pstF1m&Y69b=zM`mt{=yTWj4c$5_cPBoa z>HCg&G7Ff=xpl3RHRM3w&XnwPLz!~RzMTppv<}hw?vbzKa5vtdXH-#IDi#KXUd6>( ziED#867`%#J^RtboWK+%L;_txiEd0?G8dD4?d=?pR!+ z`9YAHS$y0k#q+lhJ8-K-sRa2jP_XnF zhxvU`3fr6xidrVL@gx~lZUz^G(pMZ<5>1ZuCTP9@7KfM=FGu_1gZRq25ZvLs+xe3v z#HVPf!S`{o-94TdMxsewM+dQWaPuNQMJ$dCp3pYU-0Dhhx6&FVU$bD?V_M< zaKjPBv~Y!F=WI(zkJclL3F2vUtIXkGrjf56f}2^~zDk`FEQaqZkVV^JxC((1ed7IY z+-~G!xgiJoi!J9G_PqOFVbps#EMe5EZ$`c9eUy)S5u5lw3@KC{ zC;7?m7Jl=Y&GQi>v|mT$s;}B}crD2h$IpM(i~*&YOn{~LG?i`RQ2SG2)ThA&=N{v~ z@_isTI4@JRmFXirY11&q{sU3+Qnt=!};d7c(yY7 zlqr4@?GvVqKCVFp=C+2)@{jW5M74W!Hq59)UHjggjym`@;@2wUv-o7np?v?RdO;oE z@%|PzYgFLV_-VNYE*Oj7GI=M%^CZ8~?|VMQvok?nNBok7}DEnM01_Zv)0E1q;ui{PIa zd<#(FJH+sPhkE>TK*jroKr&SG?*rxTY0_PA3Ml(OGW?A|$$5}}qHi{MFi`RN0|H6V zoAu7R_-+OA*L(v16pr8EnZoriK;aJp8SXTzzbe=RRCrzjB#Sh^oBBw6x+g_)b&r9< z|NDmXtx9Ame#tCN@(+@`&jNWzX21#3k;{Roex&G#KH%^DEFs0+3-;B z{xh-~`33VO!$Z6BRR|Gs;*J=88^kF6!5E&7@n009FN)!(#Q4vP(Y5-`U%{xZi{jeY z5XFBMlc!m~DE*um{pJ{5`;w#l?89}9bz~>5w}@=QjLJYGKI5^Jhp0bWVZe0k~8?Lx&UD;#T z?&)it9CuG&7kIljZMJjX1*137FCd$( z9Zr6~y+`fNmB*u)N0c|LcTD$w;2uPSePoEsOo!hdW|&noO^8+8L^~ z#3=QiZ3&gsf~mESbQJe8<5t*IKS|yQjS5YojQQk|TKh;teU~v;!^ETH1%r1R!nfcu zey+}oz4y~Z<11PR4U6txlA0a-WTcmVG-Yc03Vm@t>o#@m8~t71}9tRtBY%9 z{oYePSu_bpIc-&LirKiVDGv=gYp6LrI#bxB!M9&taeFh_0+os`p1Sb#?H)mfmQG8z zYT8>81;6^ooL`MwyTq;qzP$4tpJ!M$nq^@a4GJ$!_%}ba!migx){L?uYa7A*Rrq7@ zkHWv5gPTYj-!~PO=hQ09;Yabw2pwnT$%p~xaq!K(XE8!p@xkw&LKDT)@T_y}k->nB zpyRfZ^Q^<{lo$+$m9xT{ z`o>Jq0qvrX%}86fOCiv+OtNY72=j0~4)}K~n12Qfnp!mZ#~MaZL60?TRge?5?=V@q z4xUf%?w>ulaUcbUk5^Lc-Ucw|ujW%eLLHtk5X;U{TLa=={3hAO6jBix2RifBJ ze9HUZw>v8Vk?qqi{>HGBv7^bK~oK+?* zcQ{R?i%Vxh8hzG-R9UlU?#)U7zf$_%Qe9OJ$?YX)l}G(qJI;9Y)*fQf;T56klrlc4g6^_`XnAt;iiNRhWH|LE-1meP`x>pDDG7gqkG#PqV>? z{lQi+)X>fSnTuAp>$kA+c_KZ9t;)-kf0O9~k5OT$hHTg2cc817#wiGed`m71TPk?A zj11u_M7ufxaXLLe1<%yn2strQ==*oEI?L1AZH4k)JwG%^fGf-HfvJX|o5V_Ox6^(m z!RD*Rt!f+#tbeg{u>Bi1roU0xZLcGB>@lB~E4W-u@1C?_&tm^?WjWOQ&CJl2e?X){ zt;S&Ij~22DzvzXoZteSy>W>}z#}4$|!@2`5@yK^ukDb!){~cMd#`OJc@nW+Yg=Ne5 zYIpj-5ML@lqtT*OXiZ$?IdOMMCgo`q8QY8HNtZ12qRvkiqKy{dS^xLi$k#`H-T$+F z$4)igvF4k7-<5@9?)!l>%{~3duMc&}htz4d(=9xAaM2+y{BHIPou=oW(loGZ52;$* ze)t)OhT9KBTBw#m+mWbN%afuP388`Ra*10~pZC-%?>9QFLm79SfN9?_PDNvEGK!1` zgrw}9+R-2pckxdqMQGXW*FGMJ!5IjIU=<20FS>jgbF&u!^bHXptWw=|Q9wRP}q zgfCSG-!1ShuY>Py_?qhAdlJ6APg8AT<_m}J*`F~!%MTU9yAr;jpXG~+eD8p7>gV2H z%O4f_wo2YJp3m}0MLylL-}P^v&+P<*R_v|Y`I0mZkEawooT z1I0H5bb0{AcO_7K>wuJz=2oEmT?rKb2|)2{(n$RGQO?D$dt=2v1QdT3==1=J|01CH z_3oPH?;i#p2kZlC-u_R3a(6yZ?#=?rozh42+kv8M!>8yU1B%{i_@0Ev?*uZJ*8Dlc zw;FsaP*L(mpn`BFP^z5(lvntXkVv9kW~nSmq9gZWc`R@b@KwNRAZ5wjvrSSQDSgB@ z0z4MD4Jf`WkPg1Pe_MPV;Nr^wj|HZH;#&@6F3H`?Exx^YEw+bk}B#^MW^$sTwJ@`9VdJA?LOc_iX6p_D! zXK*h#Zg9k4)?k;xl)jF;6~jLj z!#|DVsC#`!@k3+u8)NwQV)%tI_j*5ozk-Rc|7h+xN~dlp!6##QqO&c1p}Y6w>Ps(W z4d9w9HeHwCrr&ELi!PB%Y_$xr?%JzXa1(OL?HsyawUT}O(qwsdRmo*2ve8Yvg}YE> zQF1woEMj+~n4{=*DHpWZ zzoU|M$7;bM5@Cvfd2ju7^4+>n%#}sR6<1weOe5~3?(Ds)d&Bzfcduu)MlPKDa96L8 z!aXWN2w+J%Nu7#!;W{yeD{u`vV`an-T{-LSSJ|(1oE0lpom#wK1-YmBg`7(3IIa#! z;t59UIC_(zn(3m^k{LIifUDinkGj~Idhb)Y@b^5wS4y zs6h4EwG5fEh?!dVizMl^$b^3O%o2}>|M4i&y3keEZVF`9u}be#S!wcU^PG7mCa>Vo zK5DHqrA%I^@0D;ayvO@AL`;c_wbq%sl<+dvUL@(PSX4S|nxzfy!~PMi71x=TzdDgf zL0kTsMB*6)s5uL5f`Y7{`tqo${@;F^|B!X2-*ug8f8Forx|X#w%pfsArI}E_j>R{J zhm^tGLBziMv-;E`&||ZT=fXK7oGe!3Xz3d9BaGLOC%DHc6)>*qdG87R^o-s$ag=eST ziWyUG!_2`AvSN|-G3O?!qpwGEiAKdWGp69OY|Yk6)#}_)%W`dnm+k9ZLpvLnwubiE z65SP3CHkYZF7@#G>$v4TS{QRv!?$mcl-#Xa8)F?!$9i>m#*y7q=+RK6ur}ODV4=-9 zXXn1$<%i^)&BM+)yVD(Zt6Y_YFft9_w@cYWYj3vhQiBjF5=CKwXGxT&N!+zo^;+!y zlD^%ej$PLR`=w|%={ts{jIHDS6Q8KG*QvB$R}3%Cnp5J)X8Enax{HV_&-IhHE3WqC z+nMuUvt5a`dg$UOR_ETatbu&l6ylcafcJC#??uWNe*I6&g^@6lN5fRRt~7D06(fHA zZyTj)xZo!Nv*qV#Sgo{0!dg=1i0$b09aaY2!TYi`i@(V7|HP$WrJk$QHTZX8hS`ODj zg+j<&bnMJLzuc0NHS!?Z!Ss;fl zv3;9TZ~wvdFPfaoLem-PU-;70zl&P3c!!YfqshuuygX4i-kV59_FA~3(S&@4Yqu7< zEE`=`J)3jj{b!&&>#2{ip8ELjx}N$t`Hnhe3;S_&oBDW26zmGsu2UREv9fA6q@%1V zFVnF`-aB5h>N#ehHQu zPF+B1IJ@%gi$c9p&%?^lf_my}q{hK+B|EdxF z0sE5b!`JV&Zz_6>ofziAG`lj6)Ec8hqI=@3*EiE(*Q)aIl@@lJ2w6ZnlpSpL?ZU zj?coLC9WkjH(VvwH|JVTD`zxelnrfe!hvoZ3+^9u+JsDGi8i!lkIMnM^v9i^oa$6c zqEylAMEgM5wYomsR>W;vBsX`jDC+6e8Q?f)dur8=|$3`}WOT`WACY zoDOZVZ89OZsU8WJx)oC6Hu&}w%Yt0FGGlVK%tmO1Br7RBTW;fosb;>sKE*)z84#{A z^f!@&M2_5cxHV+Ot?{ggIM&(uHSkj+2_9tgiF{TxgXF7v%_nBVtoW%Bn}#+|O>e#*{a^;e0%u-;W|Us?7C>T}J%AB$)_MAvf(=T z+`h6p__VLAs}4TxUC9`qmD7sxvKqcA$PT6Mn5Lmgc$oG2qn(Q6|E8i9QE`@LKC*EHx z=N0*GlDs{h&&qp6zAwW!ZG2YlEAl-7->~hwwDMoZ*G_+rK2`IHK>C>HycEb_sQFhk z&w{&wrvkrc_&*w)F!;AXmVldwfUg5y4P@S-`67d70FMVh9w<4-7{0)uE}{|tR}6j# zNFTcSPYiDZve#|tSwOk}SL!qAc|TBk|Bc}v1WL|&p!nYj6u<5@kpHI}{WqNLVDC=z zlR(k`7jPBu?+pJmP~rXyp!hZb6|M_`((AWW4D$aUfecKV$AH=o`PaY}pawyw0N)QJ z`d|EZAbrc`@1q<`avYR{*awxY1w}Q2dY6K8XK8p!n|uivKo)A2s;! z3q1cPfZ`tpihm1G{O>Y&vB7_&T{;8%j{;8yzR%!W4Xy;r-IKI`Cjcjbl6yN)_L?0M zywzYc@U`GSXZq=M;17W(0q+4ykIw?d|51ZC8tewH#Qs%4xqAsv?sWfx+&u!6yK#eG zGI$G6?#>6w-8sM$fs29C^WPSG_x~Fx_YWDo&)_zo+`knl_iqNu{fmHde=tz~|9p{m zKV$F_gI@;9eHXBqzclbP;Oh-P*6<~U>z<;sp#KyozFUFIfo}!Mzc&Kq-}Lqi?_oa;6#pnt z{DZ(IVAkx{n!V00Q*@8i9wqT7%wF{#MbhnSmHl>b$;kpKI&L4U?6r?o_S&~9`AHx} z#_d~`{S@Jq{7InfM}V^543zvHv(K1)5-9l^$B18%ipYZ%F2QkwBL=euy9}lbCJiPG z&fwU&H#lN2Yp}~;%3#u9!r%=0@OkjK!4ZR5gIxww29pK>&fQ^zL;F+1zN*g{K1yQA zoMLzbi7KNThsEDz_%Vi$8NS2tCNhW29~i#D@JkFIH(YI%V=H_-hPL8vaGXgSdjZ z7bJ>nBS92@XAJ*T4Br&PZ;au4V*W{XRDS%vmh}*$^er*>J%lGpKQAWlk{JI{F+x@}k0Kk!%~8Pb+S1j_vSeoARd4%QmjNoZZT0 z+n1e%ZDo#KZ&L`X3t@B@GHR5(4r!d_`<~&ebMJEqS?LC7=TX@v=)hat32isWa8FP7 zl|6n>wqxqOO1e9X(>ncU*v#zcMXSj3kG1wupQf8!Y7;#EMG_pZB!J>AMR3TTzB-Y(*!+r539$82Joz%A1jH*-r$VQY9HI~8mq zab9(^xc9eY$GFo?nWDraQl;FkoMT0z^TJH)3aXdH3o!e8U(m|aSK70mddKsMOV_Wf zzRz5Jn?zDR)xIxi+}c(3i(~?R2;cfyvt9RnK|AQg%1EBv&d^z-f4|@R%)|MaF00IE zP==~Fv7B~3w1pBIOs##~Nd*RzGOiWc(6=?p)EEZi0LaZ4}#6p!lOR0=oN^O^&) zkGpSo0@b4XirD(pzvW5R9y{@!MZ&$a(xR}a&Sr>4ZH8DBUXgoJ(KOdQFZ0620VUEz z+B5U%_o_ONww~nOvUsW;G4~{xt|@qzH`K3A&S@4j;7SC;a zPUMQ1eETGOS;mWd*6O@K#x4q)VYA5FO7ziY5vLQ&{@RB#%IbgRJyyhZ@dg>zvtiZB zJkJ@T(YBzGkFow;+=5Wtl2+X3sdotDo6?H$<*t=tFWT8$u+-n+^wcIwuC?I1ct6M^ zCHI3&H|lcv65UJXcAyd5${V8;+(JaK8N+t3xLsxG z?c9;`Xt?-6KJlcfWiED|YX^>d*OIse4cAim?>*!Z@&V~~c6&UOFC#mK2<$42z{0-n z`Qq;^_UnCMxHRzlu}L;;KGDcPCWV^g+=!*?iwZ?&zc;+TLuJhGT~-YmNf%-&6brX! zN$E1?)1`VgEXjFZIltG*CxicvMq{L1rLd{^YtI%S5pi)1X`EAnYBxr;Z9 zWJ2v5Uyr+$^jX5ZvL2kKi`cvrNL)A1F7o#^KLLCx_&AWf+WaM;_-+C+58M1^AXACW ze*hHUQlR*nfZ}_a{2{(|K=G{s9t}Jl$UJQGa-jHM4ix`0yP4_B5b1n9Z>X70!6!GiQo)S{C@*vinIAIfeQb7 z48OwgGl8gB^`3?da>>i?J_Y75-MlpQiJO-uD%?E^qN~LdeF{i#)Xh(ez71UTVWV#b zGKJ~psYOp2eU;IZK$7Z!-xK{eghTVSVSF@e_!65>)mpXaJ%($0yzoiGo6$@2sVSh$ z_xTAA^~`I<&o9&~zc6~JM-DN%0w?p=;F`Y-MtyhTq_s157~W#I=5s|)8oq>Y{tD)* z7``iptB#2Bzb!^TH--{gD~K$b8%HdU1i%qGXcL*=Q22aC3pPiA@fAcW$Pvz!y== zX8)Yt(aQ>)MfA1;XHmzLotIQHGZ*o$=4}Kq-spr^*`?Cr4T}5uoS=0Ct9wqVsQ9y* z|5{LfXr8#f-9`JYM4oJr~knSg5~t{-)qGxgpxaGmi>p4`q-DLc{odCx%B zlMzk(|a1XF2Ud8 zmVE}b{`83&&O{i2CByK=>1a{qz7O<2>vxuU5!xU67BXe@&>o#%g-%=VOtt-a+d1ha zWBym{-zhzZjnDL`$fq_@fNtTKsNn&clD*7Yw4oa=u850 z+W)L9Fp3DZ@6q@X9^&H!=+XB4baMmn#??KMHt4FttuU&T3WzFCYFEdtbpWl9*!sk? zs{c-1an>10XH@@Pz420C{Us{hvofkcCcV1!c@v?mdYjV!+CL$q{;EvC70>#GGF@-| z_b~~s|PLoW%b}Pqb?|9EVQn3Jnomg8!M7E@I+YRpm%E0RA=->{$u1IX zxjQo0DUjE(8)e0*Y?%oBvN-khGl~}7>#p5&dJ!$G!53Uy(|u}@?Btylx9}d|k5?h$ zM~U4E@33Gezwjn3)B9irEbJJGFhoXX?#8)->M=JZ3;m`(ER>69v7UcsNq+`u^Ymvr zX!{dMei-#FmLTNW^tT!`iHiGahFvQWAT>iBBfa!f zXCF4r+wQliI6mCpd(~?3SGspCY#CUrT%}b!t@yg09xJJgD!1&_5^iqIq_fL6U^C5n zD@1P-hMKA9is@zHo|>BL^Lg)U_4WCvUfxGj@_?_>ulxVld;j=2t15qdLVpmDI*}i4 zcZFpN1%fb|mKK6goj?Yr&_D!=)s;=sG;Jbj67vHB5}7gyW*7odLF@WsgRWRt)T|3^ zj0IDzG`K7TmJjCR_OmPHI zNOa;eVyoacujU$OGlFtV$lw=1E?|ixzljJKTi{TRn@Ldq_`EDB1>Yq7KgVty?rR#F z0;}NQSy|o(6LUue2XUyzCI*is!NDu(!Q~I6ofob&Duid-pRofXS*~BVGaqmhvR6mb z*+5P#iGewkW(ZHzI0+lG$s&cl7Y-XNJ$Vrn{s%Ig+VISR&RRC{eg6-wc@7#a4lCFd z6g~VnM`df0ffeJqeQFZ|cMTkl1K9mbue}RM<~;mM3>=O)zWwy&_AU5UI=*A{RjKfZ zjJ$?2hfXZp-zuPjOAIW$%ZU?bocG}$eES{W2z@z=?iyGa18@Q=8Nh$We#}lhO}677 z?8odyAE=q=1tOK9rDSBNa1WMlecxjHOWvscIgeAm?BG$_{v7u}H!c|>i~k>X>70n> zW#=61(($#g#mZ0i=X}bW`Nj9=xHD~rC}esDn$~I0rm#PJm(KOblukW2dIctXm*O}slhpF%D7=^}m2V}OxcPD{ zT+Efq_e?Oc!NMDo-vb$oq}r+tkz3f?f5U9ii<_ZS5`F z-W6&OUA!UG({^i1=l06Bo6Zh+ENk$^uo=laPG2i>S_#_$U7_%hgcc63DiR(k5?)^< zyivoq8JHvgjE09zNKUwYFVpXfIpJ}A&x#j{&({pN9~qDnKds>-1;Tl+INdG-a^jmW zF3z`xobU+O18}?#0xlSICDic&x^cdQ&T(wyV7QWa>>9G{4%u z^3n~0u3qme(sq`Yj(c$S=zT@n-ty8t4?25ak+!?MbgzMKTJJU5WpbOBj`kv|^j;(9 zn^&H4p}mNh?u*m*n3o^zMRe)DINLw{`_nGMOGPDA6qSJ7uXPgO$$(!+dxowm+zWU* zU@PF+fSUlJ?+ITBNV?+zLx9hse~|76fTa5pAn8T{N%vtu()}wcm~{UHcoyJy0GaML z07?H@K+^XDlAiY;L3I*-4sZ#!cJW>#=yJmk0+Q|)g$)Yp0rBb;=DG260RJc8xlnn1 z6YwKNfHv5LGAl9HDAF_Z*RKOzCzjT^x{f{eY+%IUi2Cn9@a* zt`ZR64LtW8k!~LHGTk{qrpxvS6`kzQBfl}=q}vThx=}#V@eK`gqU_TnT}CuhH7?=4*|4NV=}oDk=#CQpcO;~%b3>gY5#$%rW2o9OIcq->szkM!{E zd!(0qL&`?;onr1@+rT@NTsJgPZV$e;VO^Ei2NdpIk&IEorbuD@M(v3-XN-kqfz!sm zvb3jp3mht5*#IhZ0>F8 z)h|X3* zX8+mmSRsrfbQZ^)$$8Tb^Cf>*948Yv^23rVFoA#M10+sh9lzTx_Fd8Pv2X_bF!ToI z!H<0XuGn|LMlFN5MvQ|Q`Bh-Cr2Mo53_-E)fNAA7q5Q~%{H()t+-jc*SL0W~2j4m2 zDx}Y;dpKy?%+1OD2lhLj(aL(h;LYj>iwTy2 z`Re1hubyY0sl%`@jgNi!1b~B+`U%D|f+`)wAoGos6`rw%Thwu%Zz-+`L=>0&>E0;5 zhFf9%i_J$d{mtcuk+v$!HMcYa;`U zxr$R;7))ke6=a583wuyOrlB?KtE(?uTXn(O0`t}SDof6Ny=2q6v#GgZ=eG4`;>x$b zR|dKe5`!x?Z;j)nkdE^VoyF01ey@4!Z5(*v$d5zH3|>NI4@%CwwXLbQNl4{iLxXoe zOi1~#J<~TO{u`Xp1cTiXgdTpZ@_ciP~U_xnB;79y6H_1MY^zh+)uRF$+#OOne zCzKz!+s}GP=D-~xno)-~iQi`RJh!}5x@c1H#1hFjxAKi3A z1V2~dv-)^#Do~S1pIY;6sC@#_v-d@la@8R08!)tHA_DK)bK)z(G@8Vn72pybV^Ay= zr$9i5@ojMUNN{kqq>if@aG8p|(c;2sXSW1G1DO*rIy*A(lltHiv}40ysN6CjPu_`e zQFJVLC%O)zM8{&wB78E*51TOR0}wVGI|t$W=9VLLx4B*AZ4x3ykt*NyB9}{vSMg<> z8VnJCnHKmIig_$szXQlvAM%dkf;|n_bsX@oo07{R%;h7Xft8D0Pmm4GZfsf-g|Ume z-Ld2&y!A{j{E++4w2~3B??ng*NGjekk;KnDLx8$5dES>f1&NQR?sy)2aj!(#)5&k~ z(FDGTdzi?81T!Q!5G#8oImt&5jHh<#({7Y|g1aA>)zmNLYmDeRw)|f#byHKUN;dOr2Y`Br%(&1;A&yCk8Km4v{zsXa0yL-^nnWs zlm5_tZA!crbQ=SrGnBt?+NTrb0Nzw5|rftWfd5#yPBPEC0!P83TqUHTC!?Mxn zg-Hx9W|spJfj?TO;bjsdujEi`mJOQ#ddfMh9bC0yaskL(JR-L+@-mkZJ|%}}!9tSH zaC}G8Mr3q>b65nv_JZ0>-d_)TTttGU#XLzp-TB=Ws(J2F_7*Pu+il878&)bIBJHFTXW;KZm8@ z;3xzU5mR!lWn%7+f;g2^PhO7 zaP?C&6Mx1%Qh^n!os*=AhiY$y48l3Xbr2K7&?#}h?Ie02I*2e7)}U-;j06*$v;_@5 zTDxLAF@OFr06Y>?Wth4$&w(il+%Mk<%`>@@e@60^9NK1OD4x)V3MC{9AG=!0CS<&A zLL53xhe19cXZ~CR>47M}jKU0<3{$-OS1xZuiLbD0iH8vXNQNJHV<`#5xRS^m6>EMr z_~>yJ`(7-!-hI0hFPFudUkEf;iYR*_Z!|OU|@IR7fAOv!zZpWkz_2xd~}zrnM~oE z1qcQOyMlCPHB&ZjDzm0AElEOAN}Seo1EGkViawO56Kz2bY$xI~IuW~x(~0mL2z(NY zFcvyl(v=570t@}Cls;A{G}m9cw)a(5h-`Y(CJIIHxU^!wHs6DC!})>+M|-(&IpM|h z8FTubUggWHf2alH8KqM>^U_hD(fjL{Rt~#g9>(*W{tB!(Rb}SNJYK(zgMUz77y& z6+R9SMH+q?|CsI!Amw;a@m+w7cL^YxK=^b(@>{O{{O(Tq#sTU7NkGy!17Z;qP9V}r zfENSO|1?1QzlH@W>R`iX0EzQEJK}VEyJs1D8h>h7neR#-6{}ms8mk%%Z#i#82S$6>* z+&JI%+;~7wk{kV()fE*|gw@rqZ{R0IiG}Y}h?P|^IhruH*2(eoS@!kP6!>J2N3gc0^VT-QkaWHM zRFy3tqu)b+S?qjU0lnVZHToG!?3Hvkt2!^|ygs^0U=J%l#D7Mg$G%$3P5TJgefYC& zrPT9nmW`hu{Npx^a5a9?hxNNmLHoT0%41#C`BmBPay>0AYQW$R)o)rm`BuMaaa$fs zH4~+l$FUf<>8yUU3gg&m^vKa~F8*DP-^=J4wL+>O5XRF$1aBGT65{<=OuuRES%s7z z_lb~S9Q-)O!m%kiu9$w4`^xCz%8&Pjk)L(QcB_3R^w&QVp=-aiRe2ALIQB@p5D}4K z+ZNve@dEbW_HWSy{@ecTf7`!Z!mrhJ^BHOn^<+&8Iy_!Y%^^zj`C$$!0QA5A`u1-> zDzX_-ypu_u5w^@%HANpwrDtC!RhR15dOEx6bcV1X`%3{BH+xXw9*-%91D<(!v}YPwK~_He69w1;c;CtChF>HY-uLp{KAfYby00FdwT zHvpo|g)0H^-XA_0ko)nu_(Gcv|2z5%>7D|l-XjG_y4wLscLN~l>H$f&29R_QV4+94 z`vIv(=>ufCt$?KeGeFX>10?+yQ6|(kaQ`mpZUH1+J0R&QH2h_hF~eU3Wcc%d4DSKN zUY76<#rZxAQ3~3%<@-OD!j2u=8PH>C>)5UB2Tm1D7a)q_%^^UlX1Hc0&K{1x$MMse8|V28 zH;%Ix9{fLj_)mQJg+9F7hhOQ#sm*q$$9%Z)0CxYhU=y^n!TQ>0v^KjV$hT$Jz5Q7T zxh>h*|13V94bb9)?X0x<<0Zo$Xpg5z;ojsd9_~HO;!(n;X2Z#_FR*8cJC8g1cIGHM z^7*+HD=ZBwsEKT)bYUfL*mVgi`=1=m2jBOL?ti*qz00m)&(1e$ziz8ez*a9{alZEQ zhrTbaRK36l841qn1%@$Lt)s{5)C)8!A9=w<^tirvS7PvlUN*-S(+jNR3pQL@J3}>I zz%gD1`oRw((qUA}x?*~P1r@^DPg;p`BtPp))eFoc{nHUCgh`_w61epOl#4$Og$TBC z;;D4^hUf+Ua6JK!eFR{rCpn#efA4?m30~hlIaPkW$|k%p)+XzoPYgVdEmf5$ZQc06 zH%fhr#M@+D8atI{H>y>F3|n3abf(V!zqSK1A;LND!=>2)G26=>I}Ff0{g=F_r#=;} z*p$Ko73J^Kkg+B=CF^GLRUEdL&D5rDsHjbzyn0jey4B^$=u>mTL~QkB?P4_gx%%&& z;(E!YY*^gRh$+-5lhXei3nTx<^dJ%2D_&>i#GGrN68j_2iCQ~j^{5Z1HDCfe31v=_ z*FdQeq{Z!&{1?)z6t??qFL@i3jVrG4MjA{8Gn_OvI||tbi_;lS`Q(oOU?YUEF6FdS zbY^x7msX6pm=v2fCdH;uz7rtJI{?U12l1yN$rQ9|6BrA}Q5j>KV2%sBO))IO=+i;g zA#~njv1IM)a@*!{hnKnK%4)p3jOp?Y^WMmJGx@zydZrJ9FXv3l_l?psb^7?eQF^AG zu5y6bZZu0UIJ19!0?I$lC?Vwbs9#Pv-Ub=@sXYGt=d&*1q zJm?x#->B^(FCFcm3@cqB{UGaC?4YP#axs3igR({Gw7un|TZi{m?8OY%08%fv0&o@f z6>(n_&K`wdMSDF3@JYav0UraT9gh0|Lx3Lz1bz4nK(xv5@qo0~u?&#(pGSZB6Tn_T z=;Xo|0g^wDWiZ|20P*e^=6P18^S=QZZ!aLz`3NBCIR2Ba4v=)zgOP3(AnE=$`Ze{O zUjQV3>NgpWb`$Ul9j3hk%0;^gj8A(BjK3d{@oNCl_rhlYB3~Q+7?66{|12~7z6FRP z34aQZe0a|h`P>FbJ|PYN9qNbSzXW9XAwY&F08azFS@FvOnU!Mt&p7zL8GrqNC@Q(v z3!mggA4+@%eDF#y`cUHiz{>%<0EveHQ5B*OB|Zf{_**`vko<`^DvT%$DP$o2mZ!mo za7y8r!nndlg%O1zg#Z%ow}?#rsnw6LyopbsQ0b0VyaK}0@!ore)2GYm&hA6A^T|CLZs(7mfJXGMXcu(v({MXKP(R9WJ0I-O@Hh&QZX13Kx8ptg zKXE(0{~FJ3{p<$hg?NR;hV2>+k0@TD;Z=$+Q9Pu$-`@G%@COUWJ?+E$eE64qINO~& z{>?z#_&@mYQy`B!9BtZz`|V>q;E(UaU-iYOzR1lV`re)H^Pkt&xz2wsqV4qsZSC8h zHH1Nq9z`%cJbGZ=6bBO#9;L7K-rAhc+pjk!SHGX-;MXQoBA*{~>gb?tJd?8Cm4=(v zLE|8z?Iok$Zc}P_aJKo`JX;O33g-zgMOmE{)N=Bb^zW;y76Bpf&dzPv2I%C)+MQ5& zvmvFctsRlkv|jhQ-L;rtKk2OgdKBXnUtqx~PGBAN&5PNas8l{%G(rr5P*i@$vNBm-gvIpNapl*jk;ar? zHTY=}D1{*?roT=r^{Da-AfL)dd`i_{bKIuRnuYxe0H5t#LVo;lJYt@8io#RrF0cMN z-#)b{)GJY{Rq(T?UJuMMA^6SM{c3nNY6ZOhV`I%V<+0>w+|YRZE8ss2fBUx2{cTzO z=dQzJjN{V{`BiMHzf^67vxg2^pcyL{)sy**#xIMLzfrqQ7~*9VN4*^F2J+fB|~9hdKM8A=$j!ot05HGOTjD zvJzLXVJ9nccE`rrgWQavVs=BPGYW;wF!B-Kl)Aqk0(r7xYGv2{G4RnFpZ>LUO{fRu)(2JvE?qFN(dV&b`LnBu9>@ z969eNtC0%dQ|-M!Do+mGTTpNq3c^2ur0Ck=X8_S}!+RBe6Aj&RrwsJJPT`e+7#qUxQ5<1(r$q1%?;B!wkL&UfaERuduV6Tnq`yhp zzz+lGde@G>2$S`st*5x+wqCvu+`Ybh2sqnNevt=%S$9h@YO=eDa9UE|ewXcm{+aR;9vlQB9aJ&3)lD8hN zL}*dX{XLw_C=hLc^mR11wlv?^vdtuK+2jc0KTv@D|32pgE?8ex9TEroA05qDaNmE6f%dMYph%sY|O|AJ@iLkIhPyuaGOY9^rR$aVp3hHZyUq z-;Dy-zUC3J*m|TN@#(C+usJ9V$j`b`*CQ*TB;g#e8_EOfmE7wQTc;dL*$)@XzfIQ< zxgPm$BYbgV$fYRLNmh_dV6?^I?0d)hfuCJD=^p^)ACvM1*04OpdaC0-o%9B^7;zA4`%oAC$xg z!7~uB;gt12WN8(=ZS$(J4ki-1GrH;L-|wo%Y6FLec#*z~tB9FZm~FDz=p1obrq6o)6v=MUX8#_~IZo zJy>+j$H&U>c?bqonm6Nypaa67HU+t0Dy()%S#7dR_YP;)TPdpX@jT<@n5s9)RU|iq zTQ&u3%x*qER)$riq<|%+lLF}KW;Zs^z-j@%^&w4swXJ&|##Q)<9*a0e!lDX$z;OUv z<*iL!vJ}YSICI4_`1uS9FU%r5@ascJRd9jl^myN-ux8c6iHH-d@zwNlk?0R zZ6GJUH0}d;c6Z1y_e9`WcuvKZ84o;x>k z9{ki4{O*eW-JY`GkW|nYBn6uZSf(+R;ue{Cp=lf|ENCd?QlxYCK9oWJ%q*danm;r{ z?}X5f?01?^lD7TnB`0FG!0eP*#k?G_mP?%G<83tBW|C#7G8T6_d8~iexyKHV?Zn3R zo!UyklA6|Tw0ag&u@5F*Jc<@+2032F%pM!Q4`euIxo}*Cl#Hem18LlM^D9&zo|Xjf zPLl|A7<{xGn`-u@Da@U*nYy$;&tCDRs3Kl4&f{*VJ?{ixuO)+uruE0esJ$KHew z!A=gbcVb@#Ied{hyz9hrlR;N+m>*`Qkw2kC{uZM|nrQf(GbT3RUoyHsgE@v}Zy6xd z!XWtQiRH=7`%}^V(zQ|U*&-cg+d(nA{hlb>0J9f~sipFb8#iX{+Q%u6-4!DyE=@wU zXO`lkQ)U2t6~ykbH~T)y`NP%b?A=@#(i0rewu!iQ8xSTI9V6=&U}_`zJ?*!L&@>iY z_+D9Z^P%LE$)}%KTE&sXct3&9$3Pa$=#GYpOwOU3=q*OII=?_Z zUU_9@Om04m@lWPATp&fu82dzqV)L0vMbeAN+-)99nV%YM+A?tB92(}Qg9oCs$Rli- zJa51ZU!V>|pCU%qwW$Ee_VQ7S3>yo~Enb@q$#|-6Zz2Ob4`OyA@#==)&_xKrcp>&T zup4V{S@0h1@`l*js1Rbj;be(9@1S!Z4A|S7X6TW5$jnWJ2aG+w0b|dB=rm)ZfnJ2G zxkf&RZjC&oJrhDY_$Vf{DY0_Zw0u;k1iw!_U{_le+2OzF<2}ae$Yt_Od*Gy z9Go0x_<|!t={@*N1ONSr=@T~mJEQ9*X;P}0pF#-D;PXcX?>PoD_NWO!tl!z zWy!w1vF6_nFTGHh4mE`T;@UG~CAi691l{HW9 zDVt=41*6YmjU-b$M*(C6d0*he47zrsbFW!sc;I(D6B>Lp`nxmYWXg&07(6@?MRDNG zgzXiyQ1H8)lx*qz6tX;GmXJs`on|VLR z1q?CC=xgSNFmxW5{`n7`PxT&0+ke;woVj&gmJFOzv+pU{m!7(L_mbhD%vK|2Fg8Vf zrbLX+>x!TboA=x|Hy({(&(ax+b@xS9Mzhl#$i4omxwk+3Zes9dM@7wbJ4>WCU-qx~xM{C=MZfxJ#(b@Ik?w;Phn{MvE<<@t+ z(upLR3o)*6r#-lgG%}!&wt_1p-;{=b(vaowr@oG^(07v7!=`y_`^fpOu^Mq}@oQ8% zZ6|r@+CgXeX?w{_cOU3Rm7lhoymWg(*ROPZs}kq4UrzZB;n$^fT2FcTaX;U%(rJ6j zOUM0uUB58pqU|a#-3LK8p<|u4ue@~J&sU}QpJ_ejrIY=9O1D@(WIvzMX}inI?=_@r z?={o*mzR$F`O>;CQQKi&I_~G2(EWjn<%9Q{%_yC=%N%}3L$iyn8Qz2TOZewd6yTL3 zT&?hUg@-Xo(!WjN&(L3pKLfZF-@CpGh^}|aE-bRiXCBL8!bw2x$D`dDh;!0c75=!~ z#Qz*1F41#1d{Gg0qM{0e1snX zWV#;)WV#0 zjB6vh=cDvT%$DFl#s?BCo+X2(_Dd-i7JIjtR)=Xi-%>30n3G$kDMN%uGS5pPub zdx#^BdmJQg$Gx}WncorZIQLV~6Sw2qHpT5Y%s$6(JMQ99@OnTxmOsNof=OKnu4rH% z9vD8R9(?T}UZvys|IlzdZ(OJNjM87B^mbnA)$nl*A4NF+9QS!2-r>W414=i&`3@Mp z>e8!gqjED-b7$8rIi4LYHwPM8ZtCJ!MtsuS+TPiGBk$ocp4ge?_2j3?s8DVcV{OE1 zg~;GpPT0iNFP|#6w>RzR32?K{P56%5+}5^sYg-4lcXiWVT9ez$k4s`%`JJ=EMgTS6 zmX)BOJvT#t3A1MMZzNU^D+r`oEArukFa>kr*<4#AZ`o9>kG0Y!R~7jr-`?GV9bviy z&V$_A)DE%i_gH(uf_!Byb{=`{nlxMMK!z%lwt{JM}nb>0ya_BR-gyqkr>zy zEub&jS4^}Y1Jq1Z`lEda9+@lg&z1A90!7Z5Ud_b0_%8_=;p?H`iei^oq~g1*JLF_c zz>2>F7&nv|JVKjtNR*U^G6$iI@VvA~^t*E6aE0jAsUX*{pHTGi+qTuyNjSbeBTby3 zd&NuD)V>2_bTeokPd-1L)~tuD#K3!=C{}R}X&z5Pkn7D$@x&0nzot+Z5lRIJ*tQmn;4s zNR#+MK#URLCjhYq4DVC_Zx|Tl11ty5?vM5u=9tWN@$rCgr*PaM zT_YgkFOMh;DFhIIgqigoJ>WLs$MxA11K`H+Bc4|L5#U@eS$7j2Txj4)AI{$A4ySx> z{A?e7u@C3^(M{jr!&mw6Km&URHgos2w}`bCtR1eorlG43*IssacXEe%Z+G*~u0R8p zC|6z9z-?BxFE!ZJK+lcF>HR>;~kS@M*? zfSaTGczLQPR~}8Ox~V7W=`>0&>yy2ijDC zXF~!Z{NT7RjCME+xtTLeNEPG2SsZPb?N{bK`j@)?XwZRx{Ls$jGVBq;*SY?%eCky8 zdru{ktW$9vk7E0{#&tjm>3S<2GIM(?rVW-6oQGwx^~cOA6Uiwc3`ELW0??mZl|lf5 zJ?jtlBd$lPFbQH@ki@wjsRsUbz*%SntHF@tf?bcWDEK2CW!6_ZJeBTbAC&oyK5xDv z>8D649|D;l;veQP1o4A92Qk4?Fy`4`37<1vKB-70Rp&=$WMzQCkQ#6N4`c={RieKi zk(gIyljyI42Qy$i`ui>a=B_H4y)y{Q29B)%YpiG{L-3POjb)Cj>NY9-b{S}1)hUg~9JhauK|_x=f{{fQ>{2&HX(&n`t1q!^J(OLOx>GtsQtI-jv;!%D%>?4l0jBY_4Ed-j&#*JVV?K5uQjSMH zgMfkfoG4{yIs!SWN36NO3JvT#=-88ScpI?|L(@s5GYwVSCCgzG>LlOLh+ z872s^1&bY*Wx>JIJRar2K@OgpJ5W?;O9o%?-*5#WD&rjhlb?r|Rt9Sh4fzZy9my_- zW~Wg*tNt^N4g>=+9N{d(H(g(g`fEvH#Xn*JSTpf}C0H_X?(px4a#?v`y3g`!W@UeBwQ0mx>Eg>nKq`{Gw zY$-0Ql=$cnyY?9d5_va7*RwV5$h#5QcxP_Vbgl4yX$)USnqf#2&y{8v42`$+2wV8O z!Q4zgvUg@T9*D4m^fp{Dt zblMoP>z5lP5R@Dqgtu!d+qFLqj~l+f0q;Ki)!}!E{*C}T`=a%`ce3v=zP+PN)54om zx~nzb240iepQ0GsYbI#RQwqx#$X|d&#lqwe%Z*L}(H)md^jrPW|I8IV6^XHsQhkT9 zTN4d3eFS<4epkm-mF*!S(~x2MHz=c;iCuoC%MptGAI^>e&jjhbk5~C8$6D^wMxiEf zp=fY$l}P67>_z#=?&aqt_h6mDG>@DYCNR4dkhW{SNAoxPbT}D%(sSkTD_}gyfeXd< z%n8gPzczVFz2vlA^_|rpsof=}FB>bkTV+0R3v-<<=LcOSEILJjk z!rZ&&@7ouDu`Ku~c38cZ`GSmwGGCew$ThR+fL|8=)7Y_kneY%}NwcZV#!Q$<=gaOF zNjI|M19+pYnMnJyd!8q$kgM*oxx4OpwpQ%Q#n3nMR*%fKtNc3{a{m`vc6Ph{Kf}{x zowEkl?nd}kMr6z;XfVd=IXBN|o8Om(+cbvs#H*p;$CiQK?)SSF@?%u~B+7nr9%RyV zm`GwG4l-0ThcS4tm(9j_Eh*m>kRf>Vp@hsi%tcD58mwz3Xpq3uEUC`RuD8Jq^&*Eg zd3B_2dP$j6#bz9Up3t)|J|X**v*Up??r2Rod6xp_c*FU?T_`rd z@W&gBkH5FSTmG(b=5{c&AA8Jw2!AAvlnk$3JEx6+00xIwnKj?p6m1ycBsxKq;TQ7gKVMppx8t>|W`dT-J?;D-QL%{XtH;OSiwOz?3qPDVtcN(K38urTt4~Q8?qvAL ziW4NQi~VWs0549vc?Rwm5CaYS#~4T^-(%x3C7cz)iVtTFei(f8?uudX$NE8fm2B>m zU930&mYvQ-j%`Mc6xh{FTyFWLbbC5o}5`05|@(2UAmj`pU^HQ zzleVr4VN9wQRosh6{#FM3Z3OiD&#C7+(M#E7w2EP`Wo*iOmu;1Qe6&InkMmqL>h_ z0y}3x&c!&_5I6&jo#~pyy6D#M<6H?^RDv|{zUNtB%_uh>ZimH}zAl z?|q2#u^Dg8sHr0x`GJFp)QRQ>YrIr)6<2a)E zIi6`aepEPq#?O)OW6ZilcSa1p*->BhBmHuwyMK5HC~-?aYKF3kAgO@)TJedjhkmVC z0nU@WI^M8mA5Yfwvml`_1dkyZI*1-XT-#ox5NgP5WX0bD)J%NYve5RD`5HrA-6|y? z3QaY#TKb z-|&maK}iSMVCnF(-^Fk7!t0MQ z0k;(hpV9E)B|?xBzY*{9bXyF_37^vNAet~-PWTMeEp$r?@K19C5L_Yt5suSvoIc=k z_{WQcPigpt1>%bV8-&#q2(PE+46ac9j%xV34OxzSGa8;K5Z=h89b63t7Py@F<5cOv zJ!3#lcpP7j=`J@QCwxZ33)O%9+f2kl^{3(&JTFx7&v=uD)Bb~ux z<9VT&(rLNprQ_L!F{RV~mzR!TaLRvX($#*FmyYL!B1)(AnU{`x7Ay7KllIHJblkF2 zq350!OPA+`VoIm|G%r8ucp6Kf<9VTerPF?!m*3|=H>z|sT5b8--+s_dDBWW1>M-bL zlur9|-gHmIST?70+OPA{T@1Q<96zPg{+*X@8|eDguDtg1ymWViE~MwOw7=)2dl+;v zrCY519R!`VQ(vgPybDYJ5cZM26A;C7($na`mB2p>NdHkl`fmZmP!qmNac*QH-G5?y z!PFL>10?BR4=7I6&S~(!81PKMwSeS*j>5MBGW=QSQ<#q@0apQz zE51kZPXbc@VL*{j!?$So1%Tuq*6=eGa!K z14#Nc>d*6gOqX*d{a*?M0%rrC2E>pM{th7H{S6?)KM!~YaBglTi!?k5rxcDUj4NzZ z7*QBf7*Lo-WQnhEOkrGMqr!;7kivk%G~~hK@+pO53gZeJ6-E?>6aq-R{b*M!@s@Zy znPKWsQ4-OHdOyJA=zqczt`@VC&<&VLP&fYg}Fw8Ng zy;(G{(ubdg_(^+DHFkAHKpDpSvI2@z3?)kNfB|KK$K2`saLj z+J~DXl&*L7?732xXLnP_Hd?7Q)Hs3JeM?s_&xkg(^cz1M!p!lzw5_YPrQ1WMQRQ%_ zKd#r)ME3b@tdB*nk>js&(lvV3A4>J9a|rsk^JhOTZ{2;O=NC=uIxs6-{q8tu*DZ?rGD-o4#8J|ZViO=(L>7#}Tb zmyfHkaDt*?XUop!u3H+KTX8~GFd7*a%#{NgBeuqejg}@y2xQ9%F-5(-t)s1{HPF!3 z)6mt_-P?u(ueUUG-qh0F-qh9A*0Cdp1ykt4=@chSTYx=i%d;lxrP;C}6g7{R$*Lu? zCv%$HTbeq0cu|9qGh5&|3caJP10j~wInwKD-=0&v9z>7y+T*@E%?aPvf4-*r0`K`= z9M)O%d<~{^xxY3LGD8pM%0=xiSCRm(3*!Nu#W4*9_`@QTC z{cej_82n=v?=t*9W%2Q&h5r{UK4rqkEna2fKWXtPL;t@lK4$P=T71UD4{E=`fq3Cx zY4JwG?_!Im4Stoy1E#*3EIw|^yT{`5CcV2Y-euyCSv+mh`nEc;m@d^|EX^YPrdB1M)fC>Mh z#Um!YpIW@$;0qR?G4X@Yzlcj4e6_{L4gM~Rrw#wBEk0$+bBD!e4Blt)w84ihK5y{d z77rMCzHadfga5$d<0k(vS$xXi^A?{m^i-CJiyQflvv|F!zY{FpXz(*F9x?TKv4flZ zZnk*Z@b9qrj7k4C2iNvx@la64pHEwS)X4KSi_e(!9=EuPZNa^|9QlEUk1PIT#kVOw zulV;Be@*evD*h&YkA(g~Gif>o^9>s4}{I3)r zQT&^VKdAUu6n|XtM-_iT@vkW^JI+yQcPhR_zjJjezEbhsioZkgJ&JEo{CkRDt@xJ| zZ&LgY#dj)xpW<=F`xXC$;twnSfZ`7+{w>A-Qt@fUM-~4U#dj$FisIi={Aem@;1Y_j zQv3^wzf9ihoh@{fa-L_)Ciat>V8> z{NswB3MDGtCls$%9C{dOPw!QHOz~}sKcIMz;$Kz#4#jU#{Nsv$PVuiOexu@#DgF_~ zXB59p@t-Q*uK2OK-u{^4rz$?6_{ECfr1&PqKdN|#;(x8U>=Q!%cPjoD8vb{R|E=OI zBe!d6>FH<_O@!!44BFq@urtY?;hGry>7kIgFC?Gyrff!EA8}49R&tKO-ol7$e$F#SD)(L5DZNlH$ zs)nx4_FG^^V!g>>^Un5mPd0F)QA5kNmh&3ia&PNw=xN&l{ekccw7}>rQxP?Vqp6{y z$fdZD>zjHzseowO=?_O*hf+Ei;7%I%Vn{F0eW>asA3}U%~eOuexn!RDr3h!v?$TBjx zFY`NFdRuA8#??Z^%l37tc|X!{XJ#tzfpQNVu`4 zQ&?lQi%wCoeKcWw#1QWEF}5j;a;`!m=1Ul3VB7XvvgK&-yhIJ%u+fO{9Afp)M!FX1 z7&S2kyk3$pIE+GyO-B}bC(IfFuvf2_VFGp7b`wj>c-^$NpzoEnm#t+L`N+-qkqzhq zi71<;P`aDfHtcNLftG|(mhB+W-K?`lcf)yW8`j|Oe945=e$ROqR`oY<7IbE-K3bb> z;j9+|=MW0LuPd~@sjVH?=W$-k_1)UEEo8?CJ~Nu?wy_6rdrNnyx3e?UL;bEZ$K`S{ zvu#Kk2}iP!u^rXixpODJkc2uqdqX{aU0t2sy%2;`ktM)@CZTORyV_fJwsc51Jv+Nv zx|?XREhm^}E5&nXUwdyGqJ=uQhhz_@6&(42Jx@(yTN`r$<C-xhIhIb0qEwh{&P# z&L-;QQFO*$obg3L_R^Pz;zDxsaZ7&}Dd5-C5#oqL_5qJ?caM~}+cUJS)lV1NmWQk* zhh4}HVL9=2$P#}?K3|bz6boS#BaLkiZSCzXJDS=3Ee>*F&v+^n{4ISC@e15vp?9W{{RTl1o>0qLPK$dO{t2Xu|AOo&E;7v#qCxHR);$Y_V9a zggU!JR!Hp?9i1U(}|9aI~U4ejg_gN+vL+S(F=sk+YYw%*pAh~tbW1$^}dz)gs}Y9;!7QHPQ*4maCz z;ix8@O+xCBt4Vi6SnA!1p$?-@cV}P6wjNJlSNC=wo-Mfi+30CPBa({ci-3$W(%<-H z?Pe7H&E1_c0%0S!ceum*O$cj1slpZ+!F#fAV72CvpF})P)e!~vtuE-kOO2nik8VA< zEycc+Fd&$pa;D;|Oe&{T0OA`=SU)SAGIy-t%V!l%E1XccN8xUT!wUNqwkq7BFs86t zVWq;A3dU7F-3o^l_A6{v zxJ6-1VYR|ag)0@7D_nqfMABC{t8iN3gu*=vcPkuL*spMl!kEHpg_R0dDlAvHfRBWd zuEJS`(+VdPa{n3Wb}QumGvfUUTNQ3m7*klSuu|blh2;tt&^aW1g|iB$6;3GJqj0yv zVTJt)TNQ3m7*klSuu|blh2;ttkhr9;a8}{8!U=_Y6z*2Yeb)F}-mkD#;TDB4h1Cix z6|PiRu5bY#U-7tnPT{P=X@wIC_bB9jyrk!uP{MwNtqQj&j47;ESgCNO!g7TR7?dP^ zg}mvF__RWPt|h)l;ckW8cP8m8Y*n~LVN7AQ!b*iJ6_zVpFyr6yIfb(drxi{p+@o-} z!eNE|3R@L!Q5aKLt*}zzN`>VL0XQx%=k^EQQ(jLGxU=yiK81cl_b&XnkIXvKxlnm_ zUL;49#?E13FjlaG5HT$ zxMp4s)UR;%-gsCR+eb2?{L;#=5(^CUSH}Tubr3wP#*b?e|2~p_q)(Ok9KI{xheF~y z#g-w!Z==HKZyL|T#z%cO`^N*9fk4g4M z=7D*I%_HT=Zc-&58x`=#FaV?+1n@{1hlfW>dZdQm(6lMvAYm?DISmTW!7-~n;BjJIeR_CcvpV0gfYiJA5 zP09P~0VMV0P!}EY@eSnguCrts;){C_CDQ3^^3Z zeRo~A0(DbY;kgX7V)!klh43C$X)1n^k`O`DX7dBnPdZF5GReB-Gc={hw=%zcD?Re9 zqK~%v~Lkvf^Nkt#Z zGs~3oFAw1wGoN*V4rn`F z3^rbG<0E0~t}qX1US4O{AZrVRk1F}P0^u_n-i_`9m&+ex3mxAl;c~)@>4hqPgF=K; z`E&F_tHHDuzj~$9eB`CWUWGub(rJG3(%lETxYB99^3w5)$?U5}KFwba-50U$Mjpe| zYha7Yh893fP2u+eVhtFM0^%?HZM4L4!21BPWDR!!9s_uu`X8hI|Aca6_`?c&0ZCT_ zh$VgabU=*m;XejM(Vuj@!dHRN{}+JtpHuiGAYRSFlYo?CI|Csn&&pEn;}w4u^^4U| z_}>62{|kU80PY3EVkZ0>)GX%Ka19{3S$Msv=~KjZHuQD>jItu%NkE7c?gfN9g)h^;W;w=2%~Nw}SH`~%D7jS3?QLka;T{45ahebc_DPz=6r)*~Nu&G-o}SRn8_ z#ceykLvh=#>lIh>z;k#YPwT#e2RFXjhjRt#4nH4=8{h83`JU|#=lj1Kf4>hu-iLFH za?{`J3y=B2u^-1nkNr;`JnoDCkT2Z4cVEIoH`jGuX-_7ZJs5Vwg}j;@FZt-{95~W# z6#VGfuz90={4}reJgmZR;GH}1L0`Q1UEJjbYJ@i9ql*dVhXaP2*ZGE>ybG@ZSQGBu z!-1Oyev>pl-5t)69FDkp_yj|1_J~c^+jZ~;DdNLHduPtSz+8N1^cn4KTZ`&5TctN1<7u~eNM z2)q~ZBk#bu78JT${~(OSR4jgsOiC;k5{_M!4QXOnhOr*=P$xJm{WxMY6r351<9PAJBx(|!rEx3cK<2xsuN1z23=?FZlcEp9+K3h!U(;2j*w zGWap2bSzwkaV$94$yZIFQDhUCAucK;n%=|vT8Ih05If;Y1pg-4@3{M zxr^m^JpT^MfDG&2=8Xd}@2APIg@b_01d&e6uid)_zOb>DSoqz|6Go>7%9>;Z!jOt@pH>O^^!Kiqt zzifC4D^@oHx7{p?UyF^VSS zh-X@hTrI)d0#qr4!t>?N*m?D}uSib&ir6|Z?du0394*d4M&4_ZZC_t-%WVxy7HVJh zAkJxD7kNDwX=SO5{*R>-SFm9)bq&qG&oO zc8_6NP5Q`Hph^rJf{DU)Ox0x+PHzzr6Ys*SFP;1i2Ao+jxJYA*vyxe6`TWArs+ zjgaPJoi1VRXmh+`>%*_ww8k^I3^$|C$vTw>y*5{#DkG2D?lV0A>Xghf7@rLe)?>s`&Ic27 ze;OR@^mv?sYi~Rr8-jyeFJ_}Op{P9`TZ4nYfTWfp{2-9v;6b++?BgBBgBY!b-KOo5wBLa*S+G^g{H>J%nX=kj_H{Xn`h=W(_)^P&CL7FGxL`r1H}DPfJ}|+ znVS<*1Li6+=%~|Z@@dnWsQ(($0UJc@L?%SqOtxiu#%~V3?(sMkS?X>p!Bg{$*Ip9U zpX+#@ig?<7Hokj2wd#30PKF?=Ow#C9bE&#RM`p}S;~p;@{=VrZN4`j-Hv_Ku$gCC6 z|9ItE4e7G-IrCAZzes#Y8tF&Tn~}!w>PM%W%f~MjInK+@FRzSLZW3>K#$+J+L&Eu% zS2%tuvc({ZBC2=S2J-bx|j4AI}32R%Rv*jl{q6OTUoyRa#r^W?0kQ!NDjP~ z>|6LQ=WfhQTanl#M^V!|leAkZ3mB*}FkHWea-C0>$r6dSZd5Q+K1W&H?IAJ& zO4N<>{lXVsUL?FWPq?n-ZU3xLlI(cp?Y}FFgolcRR~8AcDiU5@Bs`WAF8!fMdyf?B zPqp6W=O0fBwNGtJXum7H3|!-*G{#7%NO)zDaNh)w!@s&n{8)i-+qb#)@qQkbH5JxN zoKO6phjYs(fBx(}+|tGd7P24zWLlLprFi;7*?wil{*bF*b0W(|)eC>zUjDx5>pzrV zUL2b1UWu)m&goyVW-}ni-h_KKaknN3ocAfyKNIsuV$IW-Nf%k@{d=gw}-;@ z?d^}G^UohHdAlHQS21}(bOngAi`D$)(}hbtO!>$;oX&URoE3i!R3+v6Y$29_t#RS- zyYpKh{*c=Ou^~cJ%evb+x*-E{;zux((aG1!Jp3bEbiz?30hbfMUc(FJze~eU zED(RRNc?dPr#>GpC;j;%@hi$r#6tB~rQuZNz~%6-FA~2?!}U8uPW&+qFH}BL8eXV; z(nZ4g(T1*2{7{kbh=v!EuTjJQ$Rv}Kzj%@OV@1NJiiD>%yiohI``Zf1U!nR={XUc< zf0u?AY9FH-&P5koPW-fnUtb_R!WVnEw;PZXze~eUE)YIiBz(L`_>6{gISH4O{(O;e zYd@z@d}}|aPyNZO576~8M@Iv)JQzU%8NO%QT2XKYjM^%w2AdbusztHN3k({22`|)V}96T((5zX`dC`Xa#qg0XgzT zG`vv#G!_YuYj~mYe@w#*$v36ph2)#p@Iv|5al7DomU%tTqU)2KeF3XcE?5Q!Vsq3O z9yy}rke992!UQmyVmIrscy5Hos{$^4S}I2z290w^;en4*MRZ zv-O*gAMLP@mB5d7*mo-lcSl#V%xaxUl^OW=1M=(dzVcN^&HOQ8EJ(8ZK)vHtNC=&DNK_X_ALl}^`XdGmWR-c4+N z7i(9wptJeaby{A2?Vz*utLwGAblf{Nq4F)(PWOUtO6hcb&&%(Si{D~&w3szs0>5>j z+oN>4uF9M42SGPh0^K0!c9%f+5a>orpnD#4!zIwY20B|Gi{)cA-tqcN;I|2MT}roD zf9nNZYYB9p16^YYbhHg_+uvgC^f2h^mEU4?C*qwiRs!9{po^41w+(dFCD7dsx~dZB z9tK@y33LZR7gD-4i_EJ_@s3xDeCLAB%GbRJzw1C}+uvgS?KaTa_NVK+y#45}Kxf=f&n<-mzfY^J4jE2c2!ti{;}!7r#Q~H-U9K`fT{i zfTsh-0XG4D2=Gk6M!Z+X0Ivtcw0{!MJ7H`N{}#N@2OJ072>2i%!f#416&4p72ta@mZB`eKgS$$CE$KQ><0}G1Cswc0i%F#1-u&YI6(4Wrtn`eC!<-0 zKMTn8MgbYV3Gl7J4-f(TE+GEGSL5I1fV4YLe&-thlg?0hG$8pkVJ$~~*8{@qB<`m~ z*@gcN?d3AS89)?4cn2W)Hvobz+=$2^T^>;wQb?xsPb1%iQwqlv#uYXyj3^8#3@A)v zjFtEb#}vjDHY$uL3@HpKOryLdzQQquafOWvBML(b0}9h9cZsiXOkrGMqr!;7kivk% zH0nj-D;!f8SJmiP+C6vh=cDvT%$DGVq~BeKL-IHoYJuu)+|VMt*> zVH)*}$K_KB#}vjDHY$uL3@HSVcyB{Fa-Xr)qy7~B#6uWE=&B$m@iF}9{sEA8+lI?SQz|tAsVY9^*3Ir)>T;{uZU5(eQB% zZ`ANQm3K<>%WH_q-|9_=6t{ZNAKUz4u%r8`mZ#OTwJW{VTk(B|{6;p$R{3C$JecnW7ZOW@krPfFPE!POH@?G0@= z84j)+CwyK^P3&6w{3%*Kf3n9RfsRg>Q34lt*g*1z*{m`h+P!jeB*HTl<6Cp>Rcjiq zdw+eD*4lD}_TPn~MU}_fDec^wQz$ycaD}*v-0SN|=kj)Cled1r5JP*D7+ByrHnorG z_t!XHN{jh!Y{{O&prmSEN!rV$#@4E*?Jy^D`3Q_tdIF?T@m3Ol0L@rhN?R7jo?XLs zoF0+mcqSV@UsuMND$FwFRFL0KnvP>C)$(>KM@-Rrd_`)SOBG*Nin*jxhiu-C%-Py9 z-rkF7uD;}ohK{yvYdg1oD2IE2V=x80wedSw(`0MRb#BJj7uEbGY;gn{JdM1ev$?mW z*Pg4%2C*bOL0U0R;hA$bVvtV^u;!HGq692G*duG8mB0Mab3?T{XhTqJH|EA8S6pKR zGi}BwY>rGhfvzgf-Vg1mAHO&HSRSwZvZ$TL95H2-Q=>C$W7Uw_@zinw|ktjW4lXCp&%_4o;{@$JPxzIMhMFk^;P zttUEJN(Ym1B!9TOUF3~yn}rF~0dMCv<;G5iB&u?mi_t&FtZ|^=IV~Khi}nLj9Pd z`@(anPWHj>I!v`o%xCvyU=*8Chm)HJVef@DC^i|h1hvM}1a|q2&M}oWN0Lv#xWaXy zh>eWYlW=4x1|XrbbMPY|GbgQBp_8}ZA9f-iK>Mzlpn^vzv4apsCWe>^SO6HqZrtyH zAiIkoab{lX|a5#lZPnk+L_7^s#Mwmox>i%|u%I9zYGTGPl84xj>U&s= zJ350lGy}FA&d~-Z(Ae-4n4}unPh;AdN&3B{H)p!|B8{!BGuUAdFqbTce;P7m{f~ox zTKs3>PsIZ1Wh-o|4u`JFuvy=f-D}uFTc6!WnmAl#$|JdXK3R7drIB{>ICKvAxbHPf zqH-ve7J{)5@+EjlWB4vldLesfV>F%o8lG+TX3aHejGXDiKiQ>QH_Pq&JRdQO?fbF^ znNQ_BNGN{DQ(YPxaUni7;%ZT+`pm&GX+bPPtKNoJK~mLzMAr21YuiExl>4PSr1Iu`t5%DlsWOq(G>4|(&pqf~b@;CIRy`VFkjBYo{VcMOm ztUNr^$o7-OVM}!CQ-XK6$AC?U7i){AO~+z)55&rFoElx))GCQl2(!}g=4AljAy6F{ zW>cn>CCjtjpIu)jvYd0mQkeE!mN^=S_SxsuwQu9U-8XOKNBcL8KYzorIzYgnj%-2#i$I-)9T+4F5fY77x*IkNi6ms3Kd@L+H*SJE9adLM9@CcAwer~5 zQe7+Pk`mn@kGmqJQE5#T`&%vA9ZfY_s`06h`Mp2)p8K8ed}n5N6YTTq)0g)(-#OoN z&$;LR|99^F-rEZHQJ!ptty{lJsaVUzNrND2rm}HM-rvu&h9}DtHy;3b4No?1$@?Gh zsP)Y9#Lc}R=kjFZmb~xgxtS-+6E`0Q@u92?=U(g;uVgxW%geD)+8HL%6|_tLf5j%bf2)mHR=X-&u#= z$QV(kp8KrP7kaiT`Q1jpv<`iE8ut^^_}{3pBj!~eRQVs)l{5gwRMAJx{e^YtT1S?- z%7ZHROaq;n^^O}-vw9k5HJG*g`%j0BZz_3jgKxz6tbEm!r~Rj+#%JZMCZG179-4tX?LVEELHIQ2o-{rye>MHp z{?jAIXXUUapZ1^TkNW(z@>r8k`%gQJ&&p*LpN4k~PBWWz+0Iv~FVY5s7Z(K+RkdpeM8%ba5PPa$G9?gcKw{`Y{C z$;;OO72Y=i_4-2`34aDC{9z!IzRV|qC=D__M&D@kD}W5_GOsiG^MQ;RGEd+={B6KS@ZSW|u4J^_tZ=G-c_mpOebRYAol~|D*kn-a zyTTRebAgk%I|ryKvEYcoA%pz}yA7@eN^TY?Ii!(;gvG%LdrLf58y!g{8AVE*~ z@5UecsU7f$KlH0-8y@=MH=4ZAuRd+=LqDP!f%BijEc0W-C(Qrf$Ii)baAfV}a_iw9 z@rQB78;qVc|6c$d_Q?EE0{>V7Ujt{HU;7Q> z`28Spd@O;hKE&z!6YkYF#p&-%(3=xDZA1nCHxu%+2|Rg@pZtpZ_pb^3(FFbv30(UP z;_mk*=&w!CwXZGC|D^;zlyIMF4{JCqxozM`yqJZ*hOB+dZEhXLT}`-hdHHm{#9f6E z6YCwEb9Zx>ZacJt_PN8!pR?~*N#rtGq!nl9M%G|?S>oTq(&QG_UllBFK4Tq8x1rs! zq&<0;nNcK@^+|v6S(&@qn%m5(EuG{QS5#h~=GLUz_35$;<5oL4u<|UyDEV${@7}g$ z9RaRPE^is*;^wMtT~%ym>sHK&2}$RU8LYA9CKjz)`D=@AzUy{w0QJdQUdsx$F>kv! zb=w+SGJp}GVkPe8ZR@$_>~=-H@(4wLxL~>1aH!(?+gX=Oi1n5sK4r`nINj2n@|or5 zCDFQ`GRC5wYPaC%3b;+3#E^XfI#1Ev3l>{myLk(n4m#Jhr`p#q+3MGl{rY0LM73XW zW3J_fEA!l7xT5{4>nP%Q9NekcO>yr-o%Oe+OBXNEdR#iJzftz$3vhq;zyI|YG=a0! zY^pxev-$dZ zvS=DLn24;3*{l!Ywn1CtQTdHUQED`TvD5|QH6Sh+rDonr30CLVz}!HSr7#+D>L~W9(l_`c6dbtH(?}Ba2h^upzMN_-8IX|0Y@Sq;s+ChV zUFMaOLcZ<$fCLQ8{RL&bWh4*cQ>~M?SgJWzOSP{$*5wgvB7q&N6$#C1T1Hkxtd_uN zq;p3@0{ayK64=F$sBv$Jj%6sgfKDSB{&hc~lan4#{!O2M~_B5mR zFRrpQw-t@nRF!@@()af?E3MG^`(!r_f8Y=DW5NSp#ezaIJTv8Y<-_UhmBpthX$cPL zHD=y$j$Ak;kt&6j`d{W4d0$VKHseV{3pgIxmKVKy|Zea;D}Paa)|9L z%s#cG4!y}bAvL`i&*k6Ue>j)?)!wd(-fQkNb?C!JKerBjVj6lQO`(jcHKxk{4x`^( zhknrL9d+nU*3Z{-k50mwdV0)*rf&-ATu+a==YMG> z6?I#WjO9yBzDHv6EPrb9Jp+YKp8=ornBk5i%eR{Hq{r0NIWm_1HTk5+ zY<7pQ9y``SSe>bne$r!h8(%$ny1!8RxH&-Sk@iqNUIJVKB(F37L3x}H{1Q-ltd9Vt z$NC+h^nE!XW6X@!ihd3Fqm%r-2HyqpJ44@*oQD1182-nG4;rrTyhNAoliwNthcHXu z_dTHWhMxtZ7rgv0f%Hn5L7@0|0mZKomGHM3F1A-hxVw+;41TRy58gXSqXY~0@nePaenP)iQ_t8HjaNiL4QMnE`4mAe^G*e zIDy}jz@-n2yZ`HiytgIzl^1dTn-chk6Syf{beW9%BtmMG=Jpjga5;?ZuDR~2>pfxh zvZhPcum^hW+Qsc_wr<_re)C=JTYK!A1GkB{nq+RIcW_QRxsN#RB1uT_$HEpkQ|-pH zwrc|yx;wEkwhG&1h+}+FP_e80oFINpg1-#HsVI~d+Ui@@x40<#JlKq6CRZHGH}5n$|kLI7%&FDxFmL zQb8iF#Mo=`n*Ap`#G=XRU4kM-%9QltWzEf(ENQxUNgch*l8C$G`5W6eu3chEm!!Uh zYL(i{lS=E)>s$8t*D3$U6V#w@33YC!`j#LjDG&SJKoeZZLq8GeAJ_*T#c(F+v3O~7 zbpNQ*V`-iApxbpFP&_@Rx~C(n1jM8b20WyPlLvjK>G5eN&C8Qp^(RhsRIPuSa)0%R z$ys6W5aCnTq49-vAx80Fy8YD+ma)C&Y7s&tXBc@3C&p61Bh%@hLYjtf?lpPdwHrgM z3-5vpdE)sm&*t-}|3!6`(mId&0O^@RoE0uT3OeKvPTpp2+}wfk`ULjh$)n1@PnQE@XUaVFCD z@VGRad2}PrEN^Qgto$O)1jb5(NAw^3ImcU7(X-w@bzvQPuhB26L!WNmvsxF5U@Uw! z$L+1i&KjSEvnJmL`0~bQ;jPK1c~6J&S-7kC9)M>KXkCWt#gV2qj(F?3c)aE zaCol}%#A!6I|cK4USg=Lb8%eZjpLgC#c}#=_t|D!>(X}JZ`9QlOGGIw}u|>ZF)}qz_MTU10ky&{8c|tksJ~7|7t&={*U%1YM-MB z&G01)->>?CW5<5g4^+16)*nTsXy*OEvSdH7thygq7V8I=P16r73;lrq@Kcik%(U~P zOO`f!PCq|d*1l!kn#JXn>Et{~^~jBI(>}`jkSL5{y-nqR*vFLCKot{krIQ{f4>;3# zfzJDokvzS2P^r<+3F#FGM(y{M-(8xVFh(9^aKbnvm1hubq#(+{>H33Fb2MbGCQRNs z(fnS#jU--DSO9tnY673chPvgZtaVlvgn?;|={3)8agu#4t|5nA) zURWoK)^(UiOfZj#)<_S5@UR5NjbXL@Q*pt+L*}3HR{6`4Rk)9#?{I9Lt?ZXP)=Fs| ze>BAO@lwWU87sfzfJHHUGZl|z`8%9&f4nOLx_(Z#VHCFa79M&hL;J$+9{%%%0e$7z zw_jEZ!Xn>28itpo+-9w~H~M~1TEtXor>u+HdtI{FBDBA#ejBK8Tnd!?IY7Dlcj6-Y-vTA?Pl1x7iY0rc>uEr3qiO)2W%jt0S&-*X zQC$Qi$W{7`UhMH|PKUv)!L&huqkjk}y+${}WN=fV*LbVppMPq1=sv z$MqZ!fJjv z4XrnJZDf%q#bG--5vh79CsM&gLvQD}N*z-khC6!D&4k^uZfo+E+S^_?uJt48=?3p^ z*iGDyU!Q+Tw69e9{7zfoc+TT?%9xDC*)my!%6~mp{AN6E|Fnc)Bu{QT_;YpRILGZl zpSQwE>+{zVKiZ;S>GMC&Jdt$h;Gyk4Aw%1&@208@ZMsansc{y;pK}~m zP0xD!U+MEn2h#RGO`rcdJ{jS?LNNO7D&Egs2_DaE=`rGXvY*Q& z=;eOr$|Xrf4mMR?2zH^{P$NA}chI>6?}9$(`1JZqmc;Zqw{P39!RvCKYkx3diKF&g zCg3O9A836=CiDmD6r2~w*&nR-VxqRO$NGZ?Z{-md4;StFIxorpF9f(YC!xp5;GNLi5?i}9`^xiHjBd2!3&0fIv@2C+y7rneyo{y3NA#bzSN0mpRME4}+U>QgNuO>$ zHe&0b7QU+aj`FvaXUO<0oHhA2z}Ihl7T%hCnveAw--~#6Cb19GjkTV`dg?g{Rr?$2 zn-Wg#Yv>=@i|Oz*P)6w#Z;$1Fy!{RBr(eV5Fw_l<&}}>()dhVuEC<2~({(ywkgj`T&|p*H){H zs?8LByryP*7=2F?_N|1CC;kww{|ftEwh_@gc|tpNyz$QBpdtfIz;x}c+6PSC_SDu5 ztLVMXnY$yTruz_&di(r;wco`h`kZS>y{X2>7l=;kXO+qr^(XQ1@onJo_W8}=@yue+ zc?GU^E>6EVfrs|}hHF;j+FBQ1)Koc0E?Xx?%4I?rF8j7y5~kV*6LAp^>o1OL+ed!p4# z&$7<5^s_QMnD1P*$FXYd%+@VEmkzvP-SS|xZn?+_WZhC4 zL|%_~>i&n2bstaK?4GMUopq@*)lM{gy@X@J!XltEGT*_IHoM~uUoY+^%&maV0R0o5 zCbN64@^p6SpYmjXN%BmL)~03DHdmOSr>RFz8+Sc=h<81Db{h99rlEICL+>{FIUZKU zZ^-EN=9v>l*H{o!GvM0*U&9Re?uGBjzfJG&Bk&!X0pBz5jn07YG|Kwk8Sv@b=|SVObgh{#Ixk?4 z@mc=Wc6!e*mN`X5MW0 zV&FO8y65w3;E!f`{%-=scfa9x0p;&&fs(H_MEohU|6^{qRKg4YmD%oJ`8*b za4(Qq>gk&Ni@yUX{?$O*{?q51eWTeo08yQtK8`1iz)>KoI(NS8=|GKj=?hNRxZ^b7 zIv~2E)AK-7TW%lUslYUN1CTIDk94{sgXlREgjaCX;E=&ygB=F52Ga&p1}AXr+#4J+ z*lV!EVAf#TV9MYG;o)`8sKFtFy#_lBW(}qd0-U>haO~Fm$TXQ-4c}|H)F+}JHGH$- zdCRyq!}l1jK0^GHhHE3X@MaQEMw{}bj}GI!zcqXaDD!R}(IwhIbhLM#Gy7 zpD_1X!*_%8i_C8%@B>idbk*xP{%Z;T|Cyj)p1}Vtfvf$9%cCu+!2dphe=vb7UUB!& zB=Aoq@HZszOV3WcOAqe?5I$j>-aC2Ew#byt_x^R+hq*zN@Pw#|K-z5t$Q8( zN&}~Ra#W`2-8;hhl>WOv-E)?m&yo$F{P6){LAT85y>}efpyR9{O++h5ng^yz@8;jQ z4tcIocLMHCJ1KQM|7v}wl^cO+B7bRaWM1FZ;u|}lnYwd%%7iRt!&cmek9>g`HiGCQ zKV1?x`}e(U2g1c~8gou1W+WzNBtN^2wJDxr8zI4q^I4j5-#QXMuH4#jzy+eXYMelf zb7beRPW&yl0djjM2_KP!ZES}EB4g1RpZ9L9<+B!r91DH1ZQQ#c)+H4n$Ezgh+djep zqIp^Q_;dL1qqxKWFHCqb2lKPHPvl>{Y9v4FYXp=?aE@=`r!d(fosYnwd?B6~#hmW` z>(Dory~qjYyJVyM)uE$4Zzo)6qC6$o2vx)Y!?5doZ=Jt zka5biLxhR_@WA;`64cTn<|m-SCCyM6>_7FUcMNOw8_SgO!ezz&vhL+ zUcWeuu&RD>_G|epR?;=(z#)#e?fc&BdArg$D)FT9om4j$!5xZ4DB)_E?XzAoI39sI z^}R{?o$cTD!lFhF7Io{gUsM#V7M`P8oRggoaj2mATkD3j?738a1&43 z@P+r{KRXS5#WeJe zY3SWXuNS{Tqra(6{Eti{KMWTBx{muWhN`EhAGdp{EPZO~gDU&{fKPh*#u@NQ2XoZoktPhzB=(6f z#8P_tBgSX>Tr4d8DE(z`6U z8pzOa!NovSCkuWJh`!IA_sdu`BRz@ad>20{OBtPKEBkhXzi#$lA)cb22b4eRxiAY3 zL1)P9^os<^=@;?B=@+H%(+ENIbwJTOfTBy!D7y5FvTrndjrsUFJ)`VL@kIP1K-u>I zW#4V~>&$+U*{98ZzS+w^esi)0(*|WJ`w7oCXVl=3!Cr$M2D1j!1_93f-vOmN3iBM* zGwGp1yGL3&T!EGe-y4T^Zy|P$9~m-#%p-XXrssOd@YRNEG$Hz4!*4bGsNs0+T&dTv&d^+JC96X>|A)qP?B3n7L=Ey>s1d`i9wm)9f+nSK7Dy z&bF?uckuPGbLBM!k(%JPuEk55Ukk;(L^=*bit1eHcRItEYS#kq08UUT!7O`C773}_6CD_2}NBHD%R6&jOvryz-Y7WV%h*EvYb zE(+U)ogQQTt#@>7{$+kI(!`>IOxo&2z}4>PvFbEqea3!G$T5;9w=1ZiuaQNyK4Z%J zd4imm$SvlZQOD|W3$91_pH81~$ifvW!BOO?>I|c7p&gg05ILPbuAg^Pn?g%E#-miTiCF1O(#xh-u%x*4y6;;j_x%h>cS@4ikX#Ui4s7#tRc#f0 zuSR3V?Lj#(HVK+yN;aWZJGjj7>TlKgFmL;GFb4O-e2nC88F>|ma}>g&@d^|v@bkXsDUyK}N2_v5MbmP-i3EN_} zdzy&69kC(Mge{AJ8WA~&b#+72eA_);aExx)cljv)le zUlEoFRX=B4iOVG$S9vL%H~C6T3x*0}`N;3o2LWTdwjxD-*NWkd z*!OL}2T5wGqErnbYa7ZJU6WFgVErX_7lf_xL-~Q-^1+3ZZw^ZPq4~V_S9#_8+?id8 zboc;4i%#=0ZK&IUKi`GJIdM|hOpi^fv<3%0q!&33f2^5`KnSec;a?eEXQe#uFTG5z z%IAS4LTy2DK004^sf+B}-cPXA9a;uF?S!C5cEwMX-xsCUqDy7(yxb7_kpDT3N*e3? z;9o2mzR1=tk+GK43%ErBR(WSb`C_y4rm#z25A^NVe`?-6DyshSyK(_v-syO1he``P z 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 z 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 EQ|ec%u99QwM^snHA@u{QJ#zaB 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 z zFfR0jAz=xHYQhT(!n`mej0-(sNLWH5O?Y8Jm=|V*aiJ#+2}>wc6JA&l=7kwyT<8fy z!V&_T@WO&HFU$zzLQfbHmQYT(Tvrqpgn3~`7#Dg%fC!a#*psWC`azCnUVZE!87YT z<$px-DTJZp8du7@b78&(9_3^5{~Y~s?cQfkLYDG8r<3kt{ER&AAG+Ui`qB8)T_ycI zru93P;;s^RWSaW;{URhh8l?va4cp~QfLYC&fQNFY zhFi^`8n*JNmd8m{IQ_?$Hebfn@GE&!!}V1a9Q#z0K~P-FvKiUqj<&+8dTu98x-#?3 z&IYUUs+Epn9b02Jq}zACe$QSbVK$}Sv3q~w^$E)`YE%dnwY~zV@T!?#VY!U=F{+tP zX8X2niGBOh+Y|e??cI^uzhlpCV}!8@r{LiHFvl`>?LM$`XVuDEcI;2@+rJm{+p4@h z+x92wxjWjo`UESr&D;YO+o~mOEaO38uTNmIUi;1+Z%b_7zhhUzL?fO(TZEFvSaZ@y zMU`qrh1QKzq3wM`(j+Uf`@k;5vmYm-RYZI>royY#7II9q6&0rW!GTNu)=2v}_?sgi z%U8*K+-lwMF;)6Lj<5WE+-eQ*FOo+%EKmpxmsg9T5pQf)E!Stt#5fK!pFW~fih&#XvRGTA5S<5lErzWan6qasl) z2cMLmS&^)ijZe_WtH`Oid{PyTPo`3SHF7?#Pu3P{ji6&yq${wSCmHn*bS%5_cV5qz9>c&nn!`N)Fsw0dwfp!#U(b8g$FNIy3HUl{sNbJt z+4E=;LK8KBi!65jy37C05!`WK_>#?)j4E z6-c#FfXAq;)nxx(3NS$e``U9;wKn+WH-*eTuzdVV*&rtWSq3a3+6a-ecE0^Yum{C3 zH?=QO$pZhFjgZYQ+sqw!@vU8G@eUH>+#|WoikY3Ku?zbcPFmp+HpgFWC9tExNTjlh zvQfk|ny{yE0bNEhb@4D8zH7k7%i45V(V5*rv@v{Ozme7N8_oSjO!|E3I$FX8<$OKl zHXz6Qcx&4^VRMDt(5}(ObUrCptaD+M($XnYn_(-{9Cq1KvRmr6*KPpM9a-E?`E~hE z4aY`2n8vJ;BJRuI?pf_|qy_nPtj_#*(>{9wkW$6_dNFIvW{8m%XuZUz6}jH7Gkg5` zaGeWbj{Na&w(gg*C8@)6>NZICr_Utfzqjvq#+4uTyMfia=6B*GfSqHzW>Fx>ac=*9 zblQ~`c)0$miPn@HpK%wH$c@_UtomIEKbxb+-(wQ*+x*)|T?XzWuf(63KKvQ`>e!dC z%g#6PEZ;uEH*ZGo;tz0@w0oj&E<%FGDU81p#YWr#+!5J{;@vsEtF&|c0FrS2r2!j1 z2@Q+*K@H9ixQyjz_t7_HYm(|O4wJ4Ngia+MW2o`OV@UhlSmHBA@A$6I-0d0BUvL~j^=K@X|s;3-b3sSle7fhYv(732abg8@ij1phWD6Q>HRlC0VQF%V>(*XFgJ=gkL0*<6H4p zx?J;s77xlRM@b#0M0H)vWb7$^nGkw*#6q~pNG1PC+3ggkg@wNv}phX)d}}6yE;}3^

6`&iqW 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�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�YD;$pNd>^J&0*k&mS@edGEh zmoMZQu6+#J?c+mvn6d{Z;(h3BI_wvS6YMjTeGIO<@L6mi!1oVKaRYsL|0MdKq3mNU zR(a=Wz#W=yD@T)WNwMFtw1KwXTIz3ty_JfJ*(HuAer!;Aed;*QtRn~ZKtJXi9*@YO z>|@ZLE1x2rbnj7l##PqLZB~fWc>FEoFQ0vkBD_x?4`;q7(zY{SN3l*Ok1bP1!Q>xl zoIlcEy^mBBvlp2X<^6I^r;WFfu_BG@8@$v9XvKwZ^RwDqDvu?ieXwQF7fa1J2H6)& zmG}2E@>p^O+@=QMw&`@xiReysNAR{*UU@hI&XamzgCdEmb;-{_vJIPvYW#9PgU!su z8Y#?ZfZy3Fbfc#FRagzTO;bgM9ae>Y+&n7c-N`uI&3&w!ck?&00A?{-`eTXmzNezE z2A+z(5{PY$ZX+A8N3mP6OK}5nYjg)88QsCeC!(t*wq)t*bG8Ii$Dn}doNQ4g6472H z3jdI$sj07_T?sp{k#w*^BlZ!(&?cF19GsND5d2)S&+vmF|32xvGhCGVu!qY?ePs}- zaSy+d`pQ1(S&;fTE8t^Xx!%;uNK&Jxz`wYgYuBQPQLe1uaW)aeJrmw~?*tjgrQksN zr|?V5FaAMB@y=~@NBU`Amu*|ok4nL%Gl)U~v5s_L+Xi+?#OEmWX`418*ufPK6Kx{8 zCw(L2x)fYa&eZ7J(Wex5FLpSs7Bq`4QP6xrBDy}l;#EX^n}}br{xPh82joMCA|L9t zt=JI=u0BcqT?N<~V`;T>wFgDpY4zC_d@TBE+n#+)IYRqwNC?}2OU2JIOltH1R4MLm z24MnQ74Jc9k&J?HbAcv5#FWO zXDKce-Fkmxq^n=JwCs6gx`7$ z0kNbUt^r~xJ$wf6K;VhMQNUw>7)`>50WseS9|XiaCH$|bHyD4y-vDCl7`p-pukf`% z?6-#J0`Y&CXX7v>3?Bm|Kli`M|2qB@fc_QmSm1L&%*Vn%0iw=@JAmZ>ED-;Xjp5HY z(35~Te;XbLJO=nWdSCMW5=g#oAmh6Rh=DI$uI|M^@|~qL_l}MO%`3eO$9-+mF9Su6 z(hn%jecj{W-==hf!SIzphzP%pvcljNeg(+zF944K{fyE-0v-x_H82ER3?%>6K=N~r zO8$$Lo(3d;42USkM1Xk4AkR3b9n%AZ`^ZkkxMHPZL@}fY5PsQLLqPkS2j#hsM^8SF z;vZ?-{;$Gs(zd<-R{d@J4ynIw&m4ouZ`<#C_|1I_`##f-pKx-XJ3zSUjXwG;A3wJz z-TeRN<7Z*G{XgyFf8NJWUN=8y@NT-p$KUJo|DKQLo{>BJSw5Oq{zvc&ALjRFg1 zcJ0q)Ggh43EVVa*Z3ztWg5R@Ngk-7@Bf9*|is-@xTp`IM0wEl$xt^d|#&vaJPX*CD zXl4P>rJRe6n{~1h`e!^4^OCG}AdWv6Ujtp3tn2}Dp2abi4^`$ru*k5)GXAKKt^p(DSLz|UY6QaFPDxmLpZBKek_gFihg-&>}oAlpoXVjI*gzLBaXI#tEx~24ob(T5| zw=Y`<^|$hDVN037FXiL2r1jU}o-(Ez=6dqj`s(ji%=?kP`RMDA1`*&}Djpl1q3}1N zzrqHy{2SCCb1yzw{%edozd6h&%YUf%l5ILqSN(F%=Sv{CPx(~OoP0~b*ROo4Z%#hG zmsokKcNX7$;Ng7#ULeX)&R?R<$oWgs)o|x~0q0YsPX(eb$oWgs8$hF-j$8@EBj*#* z^gQPiF)x>SEcrrULc1Hoawc5~L}reRD25aP;!eHgycZqtFh0(;Y_&1Tg1kN5i{e=AY`fe`-T!MoI;cG3G!5Vk;^VenY`KRe!6=w<@t z?FV^_PsCLl3jT=WeWl8=^|%i&yOh_7jsWc~>ltdiUyqk}KFwMg$NiI`?O#p4C5PPi zDa1>+JZQ9h*5KuxKl`Ac_SqhhLyh-^Axc46S$W5QwDJCAgk@Xr#G*0dXXM0g(DQ-) zX9fa0Q90b>Kh`I>Mj`phdNLjVKI)_6f0=s|#M%5vVxK1w?b#aLNwLZ3POOghC!(AC zg)H67O^$l}rgO4IH+y8013N0o7Ho8s_X#hgY|};YiR70h=?@;mWsQ!%BdMz^C97I#lV6*T}IV(OADx{B=G1e%F zL1M*ACcw71j?hJ89jjQx*1DQJF&2BB{h}#xn&id>v z@135i+P0$CQ{G=ggtolbBFBomUx$lHOmc;$%9i(^;k7lo9e>d}wx1i_8BB2iHRbJ8 zsvancf3oTK1y3Q&7G`FVls5-&ER6-!7Oc~MW(c`fLB`c*5<#-U*sY7WL9(| ziBeLWhCw^D%oelpAq4>4CGWS3(PU`Qn!k@_SpU4^hnXyd85b5Prtn>@`lO6x9!wG*c!{5&E zsfPxb?=~5&1)DgxG;NEux%~uIPvuI@m@*vc+}TY}^=rpn-VQM}Z6k{mv`yPD*ik7l zJgRz-Be<~u8u3?2aAO4fgZ6i9AN?KNShnwD)D-n+173_0>+WYV5>LReHGh>P4jZrA z-svNxq8h{6D5th*g~5((i1R726ArVYn-KtXpzTrqDhQ_TF&h1tB2C=TXv=F>DMUVE z)bo$A^}=B0R77ug*i#Qln3N`Foh0|>Cy*6rAVNv@COS4iw5iS#=K;ZX=~XpgYU&$U zjLwvV=@CRvb_((%JqP1%dYb4kV_wd0)AhKOw{qow_Y;% zKCYzGyARCyj2a-04tTn|=#Jnm)1|TPACXp3x+BxkB@rk!bsS!@ZGDxy7{>Vsm-8N} z#=`A(el6pCOokf+3g%qqKu;q2qNtnZ28ej1roN9!s;#shRx_led1pacU&zO52Gew9 zhSl{U1DOUnDm-%RzF)%GBQxDfpDrPIeu*EhkkcO+LJciFg4AkJE7~92SO`BrjOPUU z*&(14kRP#qk#jRM>ZMt=GlI~}SBQh;+3grJG{sw^yI7gpR_sDsk6IRq#I$lo$0iQ( zA0Sxb87HeSkGlCO)0|uSlhIu=M(;}hkaJ*DWX~ah$?n6gWHii7iNV<7_5> zKf~ZHx+g_eH*yS9^d~v5TJs$0?V+gqGw^R0e%}uKD{wLJC;0aql*!BhhBe=QGTCAx z!Z41Ru5bQzBO=|TMG|`0V1&^6wLYQQBPx>Co?BP#{Jd@G?ckJSZa42s}bW)Ggt;lh} z7PP5ys-*Kd#2umn`j_jkZ>jEH$HsOzh3uI~tPfyAze}@=uiRoQh%$d=(8-4gNud9R1%Xh&4~_mYsC%>7PmplCZ0LdLQ$=GNx+jPjzq`;>Yt2$XeN*DbE}#B zG<_{rwj>YaV7F?-!09FUtNk&KxtV-29Zsf^ehwa+zDVEH=yy=!#oY%WlxUcq!0?i} ztp$&jlM$8My!|47q{Bij$=dgdtyWC0^g8XwTUnN!Q_MuPOW2a7o7=YR zO_Xj%y0Ho^-)^(vd;C>R603FOuV|6Q-Jfw1+a$3_k0+zIQv?{Vw{qo*>0xKwBjSCv z&n@}eBDvL(EXAb-nf?z95Vj7PabH!Lews;s#_8$nKM67K5tf_ zq^?n1C)Av7{|`)9i0#2yWufAlnnrx#AaGt?Jx=b`LE=35s6lOGZA}O#+MIZ&=Z@Fs z?AF5PB|1%~Qq!pwei^mgYD~BKLD9f;=y;$@$LV==oSx%40k+et19B8`MqnP2F{><4 zqq!g{lKiNbiv@btrg~Y!^1#w%H`d}3LN!0=zzJ>UdByx>)A2lgO1)`(vi$9NyT&~J zW&0Tc?Beibg>O**@p=3^)&JiNW{2lA2hYg{viv*MA1^I@vi!T$zaITSF8?wPo_O{( zA+y3);uVxnzVyY_KVSN+otu2&dxr>b?c!)@X6Y9hWAw|HKMh0pcdEZkb#mliC#Ix) z=9+#YEB=rktoof{%ksB&qAoQ)S^kxLTf@Wi;&`(B3&)AOJr|kfA5s5f^OUcum-jwO z@2eck_wLp9fng~3eUz1bhELl`PQE2jwd{4nr|l&t-&*i(c*F2%y~xS88GN0}r}Zl* z-!7LtZAUrzcps&#-^8o+B_|*4g)dY-ZC5$@t^r>}`LuoIlYGPup=$KH3X!c+c<+ zR&KNx-l}}suCwG_dZf9R!}BH+ao+JLASTk`LLh>VeFyV7tgnQ(0O`IFNcY=-D3kDV zAYOgLOMocL@I2sAz)OJV0cQYlTqQgK7y%vxECK!r{SDUA!Y=|T_h}&Io&uZ%I*nH> zypDu_4wU$TsD|OYfaJdoNd6`uy4G+F5Ks7W^}kg8PXbPXJMGRzf&YPi@*?1~K+2(g zJ<2&5cmn8Sl^z8=1@s$Zv-(Rr}M|uEAnx8=D{jiPdexJIp24d(6e+EeXu2=V~fDAuZ>EnTyf<72H8~6rZ zk;uOjNcr1=`++|QMMPU-I{y+P@fO1CLpt@NjrK40l`ls-b~!<7CInZx+s0W!X?0M7tj z0W1QZ2}IQjzlHh7WZ;uPyoQJG1cvc{Gw^ia3?RmU@Dw20*^EPhtk>^i-h?U>{td7I z_(LG;{RSZ8y$i^ATY)1%*8%qj27#r(zd~pT_#Tjazf$@IrGE@O4*riReTVv|l>U^` zmn%J0>C=_o2_-K?_$@%jvkAy}z6(4W^d0K{6?Oljy5FGgHR`@V-6QILj=G<$^zlj` zs`Noh|8VA{DU!?SO zrO#C41;k6hzn{`v6Cu43cs%e2K+3&T=^~|RFNE=a14w_`wx0?565!du^VR)8rD;cn ze6-h0e;(u@&HJj9^97}EQkH6~ z@Cm?)$gd9(2w5HeH3I`52BK<)zYV+$NPErnYQdkmpc|C_6cAY?_f?Sv;fbJ61RkUQ zdoYF~so^vbDuug%jQ3xGjFBzqry%fz+=UNd2Y(sb5(A3xL$`eGD4Z?{OgH$o*AB9c}|X4SHS+M3)*y zTMHma7t6#EcZ!Yg(v#uY0SBZ?u#fMOr?z|WCAik*sa#Y)A9Vn`7n;bx-{#v^4RB$_yY zOd|dsLU}*dzR#8;Q%T$R*FH-lJRjbNqQ8Cr?1dZYK6>K$HGY$}?~gxMe*3<78#5RF z_WdxT^6mRzk@DO3n^l%Zzs+Zl)ko>q;6{1&eSHRgOZ=Y{_P`gF-@dQ$+#dby`x)1P zgvLCE58pkw^lRUrn^Dcv%H(u?E>Q!jVz-O-4Hy=~8R z;0n2Sub11Ic3lN_#7p)pYFxH7-jHn;loUEy~Jb}sNslFhn) zh1>X}G5blE#_Fo(it5ET;F>+GkirP?WEcZ>^#7OLT=c=7g8k*Dk56hq5)xDzG8Il9%7k zHitIBdC|+{ZojS3hEbZ0R1U4^#@VHA#t11?ap~uA_tb=pk5)ddcxr0YB|Br|0676e zzKfJ4)0m@k7R4>z*1O^((*}s;O$O%4c+; z*=+@u_bIEq4przmW|b9}l+42izv-W4rGb5mI~Q|sW%rMP3JP`y)53N-Vc3JLZMC)> zDxA`G8F&y8j&2omF4P|Py4w0$dI=N`dv?(Dz#tuYNU5(oe#DCcy z=wiIo@M*v}$j8!nN8)=D--YBEt{sTxiH4u@Ff;~sVDaluboz+*LgOlj^FuxZrxa)G>+p?b|9vmW>_mVgEnB|f~iMf;f1o^Lr;&$ zq3(sQpJe3q;w6+%!4xCUQ1Y(4*#0Jt$G<}U@Yw_HDv|G51qNop53=x%?bw09x)j%@ zxL(LL&_D?PKI)_AK0@wuUO0k*1Hk_m+kwa&RI~Ry|5tx|PS2Jd?RQ||MNhHdWL6;$ z)|zuZDXiqH$1v{k;W(JXZsh#`m;XHHIFM-BZ4M%Nj<`LI#3!S>J9=Q&)*PBmGdp-U zxqn2k9gEt5bO?Xs;1Vt^r?Guti2V!ri%wWXaZU;@H{Li>#=~^wp!)F-AxisVINK>_ zblm)G_!$n|P0D#D@B|S-`@Dgz6h{q6Fp{-f;;)SeZhSsb{-HUbQ^cy!E^ONVBR2i8 zh0A01Ir8Bb=xH?{p7i9ylR5LDH#;ACJ^5e`-s9{NRcyyvGgZc!Mp4;Q0#_qu@sk{@ z0jJH6-kdphD*0V?99avwCgV&LdY0Lp&411)U`|e%IC#n{t4N+9uQ}9;y)f#w&7J9` zIO&Cx){7i3=;Np?enupR8a<)Uvt+!dG)+^+vV)i;kAU(@l6q$jjpE#&^~VuWO_e!+ zY>uRf(h`HFl1ijG#5kwcJcqWt=k5z-JYZj9Pozo*;@tC*_9FK(w=L$6hIDKOFulMC#A%-*E;Rt8( z%?MXE@n&>8b0M@Dah0VlBoRdl6g|LOVc(Z~5I$9q%YOHks;=C2mp0u;_sZ?(e`RXV zm;8h7Bz1Qbu7=R~y>zaNY`c3x*SEaNx}dQy*DtAHpWzKeQpq?{)q<$twk*J$}-u==30`E=kv1^qW-$}4{ zZqL6vjx8OuFNO|%h_f@;sFeh>Q|$ET{0+_1lB5tsKyCr@uuyu43&9eJobqJof#b*^>m5C2u4?#A4M z`I9Y;?bK8(TdLT$(Db2r7Zo6KHJd}8c&t%!An3S>8xvWrUD=|!katc-V|M&#?u zSZ&g&VHdR!FzmA&Omz6CT*KZC_jJNN>U`(#_q^>QX$`S7RIi_1Eg0wXrmx4TY)5(C zwEpo``ayo}ZC8RllRv>^B-_6wRH^m&`Lj)4;gK!#bnbWqCs0B~cE3}Up3#M@ib6HV z>hvG{jK0cgk$6Vm@8>ypM?>G)5!?74+QWPVJ(jU1e@fZ1UCQ~8Z2yNs+2(a+_nCj- zU2SH4ZT^@MG~55lLW(Pt;?sQKf38%*QcUSHBT33%O@%ZmK z_~(CzJlqWM29(UdPetWs89j5(MEu@?Ae}yk2cHKz)|-70?$DcQ8Jq3@N?^}l&o7dt z!(F`FPl9^=PdDFT!bP|kcH`?OTqk-DnxaPMXs)Dqc-nOuj>h|(v?p^S50?}5IC+!C z7*ksX9p+BD=7o6kr1S@@!znXFx$%l~{txC|rzt5>f4K|m0O3Ijk6HQtau=;?SJYqb ziuafFl^r|jFFU=6Sbw>bHXQl-{_Wukduoq|+XTLqG2`o*^A3`B5?w>} zQy#~YcRjdkj*fACIYza}{A&Kh^3TC3W5ZS|M6TZ9_V zg_}szfJGkax+WHEjdaj^TP-S@vk~>D7sM5RgTyfR>F&6#keltU4IV+q;c7nKe-*;VTL9w+2I~}@mckmpd??S%jvht3pcTGGdR>*r$B$d~x zkA1m4D#yB}V*a`bnB#bWvN_46m-ABrBx1|w?k+CVx)RlwVpjG|z3b@eZGXy4-JYn6 z5Bc2Q%Dek)|Aphs?OWj{w_O0a6~uF!M@o0D&&`3j&?`MwlE-D}(a~2o;eYD7zK_lu zT&%^NR`-iLP3NXudH%Bw9*+a>iQZUx5~f!o!%p|c=IT= za;Q9i8yr<$=Wy9-1}A zMvu72ufU$|m$iIXVEIdtW*;2dt>$*$#AA@&vD<}W@L;~~=DLL{!PMFWhLFN+d60}S z5uGC|PkVKO$yb7#%!d!E$a+}$+@0rCc}<9xzt5M<0g@kdg4FD9O2oDK+Mn67%l5A> z#J!QYp~KeGOzT3<;z&*f9X{*iTwRcJk#vaq;scQCLtV4IC;zD@+-1T21?~KZz&SD1 z2ql9-wv!zZ?z@HQH3j8$LHHpFgE&m%-?;4&?H3g85qB*<2-}D+e_c;gJ=An_ zgRp1v#VGF7nDrfsY3IuCPu;GPA|2yvt@4a>10!tNsqY+^zccs!8*|?eOI^3cHQ$d< zX5K=xd$*Qe5%ko$RtJ5()^6wNGZWmRT5lJKri;Yewp0=A4^y`vQ(%;RCvB_kT>OU{ zbAQ;GORTixYmAcp^{~cxbn5nx27wpmMwBjIT33;-mft&bzn!{$t7F-E$QOxU^Z$10 zj;p-4AHr=b0B;V+DJvt|g>id9+7;lZ?NAgLtw_b_XG*Tt+;3x56V)EVZ*R=~c4zL< z8*`6_f=$PBSJ)4#FAV+Iu~>L{!twHrns`xTW5j|%@kBiT+8TWek)_M9r{L))Z%mfv4&bk8hZ zMEU6?vq`VWJ*0;|0|HvjFi*`F{GPnpMj=lhpecXh#@rXwi1)kk@=70J#O<$re(DZw z9wK0fW|*r{Bs+?8bLL#m4{6nR-yP%j24zYgE0+45P(RA@e&lH}KwmTTg?* zEVuUXYMlz*y%-|`xsk4&x4RUT0v3R}-Yji=E2*7JTOE0dP1F5$k$gX4*b>nv&s_2+ zhU85L=|&3*UlkmpFLEm{Orf|<9ml50lis7KcXj)#Jmsp}{8avsvSPVzO82($@_x=V z!1hIfr0epMZ!eO3dn8%!7icF=a&;`4i5@gv?D{;0F;(haxjn8FyBF`#^5S;p&Lx%M zjBLKs-mq+Yg0dJ__5Ya?a}~L*UlmET9%<$G3#~EgYWP@nrxnyQQFqPg6%8KfWz}kFt*RaV2Fyh9>MKh$x`(%ZvRouQoA}) z5yYQ2KQ?IP6!)d3T+i{3(ochWq+j%l^;BVQ)M)SHwmp&#^Jm#n*`_ISm`GCeseH3C z=s#&7BP^$}#dm=1 z4xKM!2|fXsHQ-u=%BTC79pC9%d1ukY>P|PY(jqy3(De<7k)6`Rkn&Y#608Y&CV!D1 z!F<=(;VOE^#A;q|fNia{vR|*3ZgHY?h+uP7?A6i$b?LY47vE8&#T`xy_ds7jRNL-> z{dHAd`@%kRyiF}AQkbmEIHIoEIi)8?N>exrTFbbrU>OgF?!`UibxCgKPFfFYf05`5Hjkqdn7 z3BF{yAyU#m=yOgY{=bF@3EW*y5iYB8CWmC(JHiwra!G z&8h72g=>~>ihgrnr{$`a=1ud~Zft4t!NIF7wZ3ITYW=Fssg5)GB4Njwo16rQ4cK<# zGe#X}u4-Gjrp?5)rB=1+?#QM!EoBTG>3nz-si&6BUl=SFU649M7ZLz>@8N<}5L`2B z_SxsmIrqG|=cm#~rm`LF8#ioRzp4j?|)n}a6Hlyu=qqwAhTAPVIO222c8DvuWS#WdwuaerRH4g1!;Yz|=y}xV%$d!ce z^8T_FAXgGT;Jlsfg|guxMy2$1YDTV7`t=rGDg90huay4*3$K*^$QbEY+XGN3{aOpJ zlzyj$S4zLn!Yk!}aE$cb;dsjLkSoPd+MaNKtwTE6%dy->;nhqsUt=}oCvd0zVji#TLszKgp`pF*Gz&P}iJ+A%Z&`7l^V^=!p4YN`vd7hFd^RqW<&!nI*@GLc{oMjzwed|KB_DUjjrt)TcijlSNn4ix`cp!iQR|L23^uQvJ!!vm*y{`Z0uf93{| zW|vtFivQK1^jc^WaC}?__Z-UFf{h-qMG$=W@87+H$^1s!v4V0X< zM!yuShn{Qn^NgNq^bcr^?6PLQ0}$lfhc>IB*X5B#n#k%n*1E z_;qj+_&!kW@vWfR;}zhM;CzrKnE5e{Px0RgDxDiarE?WHANoq8j{_yQ3KZX8CVReb zgBL;fgYy5R`QHS-9Qr!&Jn+?E7F+;|??O=NybzS!35LHW^P=xD{1~Ww+-&$NQ2EIk z%C463^(>GjROVL{n&kf!l>7lu;V%b|0H+(uUZ2YEyP)#l2P)lv1C`!-Q0ZI-D!%OR zDg61MY$&9(Wk|8Bpc% zuZGuvCqc{p4_#em2ql!0;DTG{!Z|v&|fh6 z!{AGx-*5D_;04fE8Lczaihl}7SAD$Z@{0dQQ1pL;ivJU%KLINKM~%J~RQ#(zy5Qqq z0xJG_Mr+?w@lP=N*JMWVe*udB6QJUM6g(074WQy*Z*&u=_^&nkbWrh6F?uI@)1;?p z|A?kCr52;$L5w-!XdDUIe|3(kes zZ8Im=a0ES`hyMYu&y+z>;eFt_`0p{g)36bwE1gmYD!djHf7)o$baXB4fFvfR4b@0R zTf3Mv;M>QfUc*kqM#Eaev|-9{h{Pmkz_8b_)3DL7)-Y|DG902jU3|k{LzTb$8x3m> z(}pR-A(&iz!(PKq!$!ke!?a<_aES8Z=cEC{Uc*kqM#Eaev?1W)ZAK5-!wdU$^YM4~ z@pw+<{)K#sZsfU^n`m^{f72-rg@^s1Aqx-tKLok(u-~H>SWe!vojAAuD7t2br!&-x z=z617PNKtp+&-hj{?6kjFYM>&vrkSwja=?z+KK2vlXrfQr-p_5q0wQ#?3YG|{jp~U zeP(+8j{~~d66~SuHM;s#AO20FdyT%u=$g}f_}$2pJ-~YY%Pj$&JwW5X7(a#ASop)n zujf`yUn&>>i19b$Cw@K0a_=+#u>Y(6NBo_ZKGO=v-)Hi^Yy7)h>{RNt#y@EJz1;X) zEquQ5>-mvWf2Q>HJjnHfj<)*!zJ-VV&>0pU_IG1&} z-bDE11idRkUzRA34K>M^x2S* z|AR!h<^}Qi?@7=pO#HQPT7@w^UK%#&r6D%5VlU(xoTWZz!mEW>c%F*X(;Avk9AuPP; zH08WEd0)6>MegF=wrT(6a?2Xw9;Zx3ObWQ#0k0h-Ug?=CEb< zredYN^|GQG$4(vQ%MxBKv)3fOTybC?uANu7r4|$;qlgtuAjS*d*+g`0ER=)u!PH<| zYk9ke@z}xeVayC(@KQl}8;DNZLRq!0YG13m)u)cu6}R|MGi?n`t2S)h(9$G^c!9SR zg+xyVrB=*Xlp4ko>vKz%FJC0{g{>WJYfD<7_q+&mh`|_QybeNZb~^nF#suRkc}?XT zOT;zcl2jt!SaC(3uE30p$?`@*ON0gQxGpk}$#b%CQ-eQtP-soz^a730x21xIZ*T5F zQ4>|D5%CgeGxLE_iF-qV@um=b{6iP0l0G2>#2!5FRbqXP;MN?9P7R zYC3?nxBOg!za=y`@V6U!Kad3gw^j-fM z-kck+{lMu`1SfgYrS?cuWn!vR{=vyU--fpKK&BcR=4V%A3uLOseB5?jpkJq{%_Gda+t=|dzf%{4SIK0=g&!jcGrq%W0 z!zl^MF5)`s(}apM9$ZZN46`|kHu$lR;O!zolP7_sM(+!c1W762}e|ZvH#^ z^GO$8i2P^TLKIm`F&~*@xMnoY-$jnDcD+qfR`bVS-gh~?M)5dji?D3}B@n(qoQ~B} z)l3VZRb*P=Hn@rOQGmPMg7|gz8A^u#{!etB;0NBg&w)B!1!l`v`uao^Z0_3!XUYA+b9XMJ|M=tzWsUDD>|~1pSgJ%ntpV1tj^Z%zsXT?;@rL^JF0zyWd&HzU8T= zRVhvXWKnxww)DiKAJLjBo^?zpw$jr{byAJS_gNoO5}vjKXU|x!B)rkWGZn&jS-AE? za3%5kEL;y%x$q$iXK%G^cR|sd1)VWIMgVu7TU(U*h9-{pDpkCv%aw^NWj+EwN ztwzqut1O@Ps_Ko;%B?Klo$y_5d{%yC`3}b9Svi*F)A^tv&&snbpUwvb{j6L|_>QAn zr))EiQ9tY}XTAaQ>L_y`$T)et&c5($X5MA=Hjr^M^G2gD0qM>%3yl5?X)+9CbOC~X zGxKGTB&PKne#Y=7kg~{ZGx}8^Ta1|tLA}4wwRpvQ9;o*of2C~X|0huXzwnrO03_+m z?V#j+(89GZ!xSQu1=-rns2&yX6mS~!@kVP1VX81?$kUSsK;{Nh`i<@cQDMqv5I3ck zKa|Uq8W4Gt)Nj!RxcKl*8h{q|8g?2s8rB-74FSjhZY9G1;QEYiG>`9t3J=fG`GFrL zii30mVxT;8t|bT&bMIYGzQO>PgW zq@%YTreyzL*gn#t6$AHW_ImJ*KJwspfJ%iIHfq9ps^GEUqNPh0<+4lMUJk1~H=vaL z!o>R4q6K@{w1_RtomYvXt2b`6J&7Vsy?3;nbQ=<}MSQf%kELLqQ7pgYEzNLj%^WRO zbIX>wqH5l>i3Pv6#V<4ZCDHvpQyFiq{mXc330>+<8+f|w)pKgjpY4~ne!be#-qt?W zdbL;2SepMhtygE-Gv_=Ke_CzgF)%%N zk-OLQt4Rnk^*s}R$6Ei+Re|F=-Cx$4N4oJKRl{ItsuzhIYyI1A@-*(qZDt*7U9F=j z#q(z+Jk`k{u6NMHE3AK|SNN~&E9~jI3hQ6iH?`csl=TW(!Ps2I z#rPbuSvHNxtGi}cDLH#948OWgc%Qp@%B{%4irFp1oPfib3b0PYlKAb+!SKSKt6M0C z^>KZCee6WTjcM&eTqHh|xPH~x%&)L6{wz7q_Rqt|vxjx@trSvnU3{lw>0W%N*2U{# zARF;@@c}d_C3LFIm%lM_X|c8zEUXZ*@t$ z62eP%YP-DITAN%%Yi&&qh;$9WT3ZlXYnQ6Wd5Yw^dy8Lp4{F^_Noa*#A75dI`hUjO zr>NlE2d#g&-B9H(r}tlS`ktj+c&P6+`hG+5>fCpXe%MgYo1C+V367Y*LF!N8hjrYc z|DI$&stv7sNF8hRX@**(xCF-dQ)B!W8HW5VH@e9%APg!kZlfl9AvlcI0oJ;wyZY_1+HcKyW zxq1V4BvX7_tBs$jl^Z(Rn%AW4+f{2)PHr~U*0zpa3@;$fFDC;mmZA^@@ppd9)h+F- z);aO3+B-Hir`C8MrRP1CY}}Au*4)~$re#%o%f<~U-h#!+OPaT&a~qmkTDeTRUfH^~ zc}o#JpHDIsb7-nk#3C8lt2Z?_2LTZ=uX&Shw(^a!W~ZdY%TM~H<}IV>^rLCnB8Ne0 zdg+FBTT;!YmLujjdmVky8lzlLtd8I4e}~7f5YlPC{@_DO!|lPe^?pgXn?oXFx|dTD zKGy!p%tLyjo_fmkE7>QI-1+?PG(OX_EZ;i#F1LLa)3+?2+dnZr)4POE->YPvleq=d zzQfBw`h?86AXA;p>EJ|`^tu})Jl^mLNWh!HHK-!V-2eerL5wOc>N}6xE8JXq_EGh*KoJtPQy;aR>QT1%Aexb8`c`m zHJoXfHmo+RGTaX`cDU~eGbXt6jL37}6K0A#rIB!|%$;XccrCQT6+eWNwMp_9rVRl{ z-vnx3q!S@>_wrwKcpiQzny|1w`K{4?HlVrlUhoHZDZjPv(Pui(@U;H$tW8jX06m)JK7uEN}U(^e8q8`+YhBX2(}?n*duZ00!sH3 zHgHga95l3VX>D$3U$uH2=M(768#>xnU5!V~m)sTtO7rD+9x81$xSflr_`-n}-h0P9 zpZ>l9mJDW{o0fC?2Ko$QeB0oE{hhpUvANZrlRzIq`_O-D-mH7uIiQ7yxrT-nd|@+C z5#IM)|6B6(D72_Z%D z16{3g>_na(_1)9Go`s0^W2|-l^=&?!r88zuwNcQ;M`>i3y2I=uEq>6MX41E6x;y&2 zzA`MGSqt)>+?m~+2kF{CI-M)fb-78(R3?Eq8cIe2dZ`N!^UP%28vxU8k_|Yo8$l#dTGvbHqbYa9q zVfy#3xp!$~b9%ZWQyqCe_3BD8|6QhG&dYr^X@Z&Z^2UdBSYYal=G%7&%#PZ=+#|%5 z7)n+$hExf@EVdn*IQ7jMtX;kI%$XszRWJn=g2CINy2D+85gmcjCV!>H3!)A$67^Hs z*j_c`a-!rfO%SE$qsXLEojmwo*p?WoSS~1KO{l9|n zW!1g%(3h2O8p1Ed#}@d_+e9bXp_u^cRPd2F&+YB z8}9(RaIwYf(l1@i2!54Q<#9ZMDkDLavtz1ggU2)IyHYM|rv!0#xvXU&$yz_t?ri^) zfjxgNzsy7zn?EZD>bhRRc9y<4w{oECs6yFd0-72kU?8N@Pk#J~6MmSlKIYOhXC+DO zJ(7wxjj=gdVc)0FA7MAJYw-}ZdBB_hJF}qsyZE*D&HO?4Cz-Nm`+zb_uu%FWl~ULTKY0cqplw>&Gl0V?{L$%h{p%AD(d*#4WgFMz$Wg(~K z#W+)(J6tY9p}z%*`7?r8XKXus=1r;0jiqwHQgO|)NJv&fe&#fGMSnSE<|^Cm5pS-6 zq%n~nZ5eN#S+pJO%5SGadnW&kMPIgm14MDlcsPjeuDyI*3iS~ozlcAvI?`l^G~Vda z=zu7yqwq9dPcZcpDkcEQIhiCZw*h|?0RDaNtNgs{gkPF+yD$as|mZ8HDO;}b~$B7F&g4ahx-?ka%gzPLw?W!RS(%m z1oa-EV;JL$d?ZM%)E9fS&C3T2BC~o0JMQVOt&iC$s_w0ig*ZdWjsBfzviAlRM9<_Z zrb5~N&qH|jP_EBcu-nIfOs2j$f)~UcvhwhQ>vs4GL25h1uz}0Pc$H6XAKD$@Y2NQTZ`0a;s&GFe zYsVwqlcMu-NH-->Ki-xjTulzhH;c zeeHka|+_pN%#GnaO6b>Tm# zq5%}~1a%DV)t;M|>H0bw_C0^dz{x~#Jp!?O2>EcIGPyH<8u5!}h`cVD`l4F@ovLTv z&Z_zcf3A^o4`nfgUWdrdP?Vdl+#|}*+s^cPJw%fV+~j*}M5`PafL&nz4$XYG-9uLp z=HpR%$tTc#yI?y58)eDUcKBNTVme^D@GQ6{Z2gQATBd&)zkD}`e%kVDLw{OmuhBsi&*ZjO>1Pikn(NzrUr7!qS$hb(_;`(ssfW+;?B{9JnvaiV=&P=px{-6&rd(Ot zxK1>@L!%L^Uq>X4ttQ$_;oPYv+APoP1Els%?M~7P?JHfBKi?Z_3_j86<2pyiV4Kyr zccwGlHxhQJVfgOiW`6CxMf^RJ7tu*&`#UCt?jrQvwF-928#*|dwT^$$g)WakRPEkU zLo4KwT{-0D4~O!uSc`iVI{Dc15$PZ4eo{!x%^$Yg3e9(}-uio_{7vu%Bs$AtH)7<+J(h&` zn$IyFOTq_OmCM;Vuaa=xPnWyQZ@QL*2RjYEmo0kL;^K8yIY?dap(MUu0?KKziz^A= z#e7~)>tI|-_<#m=oOT*>D zerkpAv}SBLHytmRKMVhYXDiXaSF3y6at|fp{!m=y@J3C{ah3GbZk?QtW8q5Vk63uE z3oZ?>(Z)MYgFdb#eyfF7O25~_YhCox_(Nlar?r8Et95@%<2PD(rSx}Mc%}ATt?3X> zQy^SP{%S2;6Vh_wtz*RR9V7npyxhumVt=U>)l*Md|H6!{{5_EBVb5p%Oj*8lq_x}l ztiLJCr^)NCyq9PFPFX&+`MJOLeAfSzu)`u^+RR(j;8bv7@yTwSw7tZsd?1P zvwo>8-<9y~HoJz_Kb7Tkc4B|$&Q7fHSwC1-KW8V__-akPa?hLW#10vs^^0ZY z$xiH{ap*U3B8mOMm&<7B%1-RD*qU+hIXkh&H(L4KhP-;?8|}H2o!C9bXZ>l} za*>_bKI5}~wJe|P#P*Lvp6tX9j3Mt%`r*?#&vXlT26!bn8$1U*8~h#P1pB|4pMY%r zWj+Va1m6Un555wlug+w_4FCQK)Xxb<{}p;;{LFw@T^AV<8nXiJhm6zTLUIhI%@cH0r zhF>Rf(XAkSnI>>PxE#!Z7lI4G8DJKC0wp->lX(ziYbf(?pyG8Jt_SBq*MmobF94N~ zLny-(GV?Gm&IVh-8Q|3*Z6Wg-@G$bR3{<`@HhMZJz9T@MrOZ7Dr%hzu4xR<> z1QqX6@HFV3lh_g9y`bdm1r>fPcp>y^kjE}_k@wG>0iFYWEJ$~oIU2-e?n20^;JZM{ zThE^wunCmB%Rt3j3M!rX=Kt$So*n|lcOl5X%xwO=g!*`lLJ%!GPof_LCHI@4`1N%q zq0V7T{wF}m?=}A$K>lS~_`|E&%w?d;a~deVqd>*~1<#Q3`)yGE_kr@i9#na+H+nTV z1NsVZI=BdYIXDe;@<1n#LOTV2^;y#Qd!YR91;w}5=zj%?l35R)2VM$_{}mQ~0Vw{n zjD9xA265(kgw=r=@DT+Qso8E;Exq)f}-)gFK4v+#Zh}|GZtr zG?^#qNh$>45JH6mhP{TJhK+``hH1l;;Sfr@_=dfPoraBuwT5ZKl;IGOU3|k{!%o9S z!&<|%VajlbeDQPAfMKs;r(vUEtzp^_aPegCQs)y#$ta&AJJjm_7$VUI$!6H6&_rxg@=8DebSm_B=nX2o_P3`3HjelgugnW&n1cSJt0B=H4%S9B7Rqbz9d2GHB?+b z^}liYh(vlXNzgj~9_O!3(4R@j^M=2;_p4*TP3_KHA7@>c&RdZyK0&NQx}2-kp# z4fevk$*v+Vo#QRAAh~tbrncsWbuCy!aY1|`WchZ8Eb{6A zh%N~Tl1l=-N60s(_C~w(9%F0W*lNb!h@+B>HTt43S75KqE?Svui2SYSt>sm)Qx}+A z-58JgN$Yqlnoe%s3iBzlNtaM9b}7H82Z;HvxS~F1l3X(Wp{fxJA11wk=%2RwQvg~>IvFryNtMi<=iOeVDcAn@l{59`Dj%hz2 zZSl2^mD_c)zX#B&O$F~&Byy~K1p_Qb<h(E~EvZ9{TSJx|+}dvDye_~5?WkVLtc^jk+b{x?LBJHEUr<_=s9<*#7hv0n|6Llc~$vHY|ay_YVWzIW&Hw)$h6 zUAfzNFWsM-xZxx3W~x;6;PKYEys!rcZ9>=AV5_FR~|eQHlXArwr1cgLO}x{o60l>)3J6oX2@|oqq0woYr+@M>UYo^OvLs!Jd~g5e3OAX_u>3}K@}efYkhj>JSamY?Iro+9))A7 z;oM@mb02j*)8g?s{t?bu^}MtYP<#w4aV}5iO>~?%mXpNEt&sj`=T!brf7*?mW%TD5 z|F8VRvBLkqw4d5=PD|(T+<8JeJDmXJ=rKM$a~|O36A!|JKs0O62{d?KSJjn!$UojX z*xWPc({ORtu;7J=ZC^P|%=5b^WVa1fXX)9HrjNnF{&vCC-0$$YUO&4!I92v7sH>p3 z`!L89q>v~HZrh?Gnhb{OY<2hy9a^iq7e5l4gq&!h-5jhQIE+LtK$e?09K(+w%}q(7 zW6q&}iJcRqJoe=tQg_pxdx+$iYx#UJ8`4~Bk{`R6Ygq}nQj1Y+uTUcIF9YxxsO+GVD;%1s7(=6q1a(KA^ew=Shr0 zSlblMp@+M2cR0rG#doM)A7&a!Sq&G@p*7ug)}8g4K*#Px-b|gisfdEBLwY4sk!`T; zwW&xN0oi`NMe^)!CS9#jxtyUWeO-`tFd1MfB8X2#-sN<4^N2ysBc9{wpzB|G1s&=7 zglj)43|+%du^o2)M5yVwlR#2s* zpM|0?&**lA%^G8qaJ?x-?}`n{g_UnGs`;3)a#y-H`qHg(S^D`nv-EqGsA59*%)wul`&fgG4*+CK7UAkHBpIBM`1Q@@L9hS=PjPHbks-WPOx6 z7v=XM3SEf5OcL&i68#W8rJq9cIM{kvP1&E5R`}TGy8o{HF0-0#|E>Dn@W?KeMi=*T zx;ln+HF96B41U^e!Gt2OQi3jx;)$< zrMkEF70$`C8PmPh@5hkxfKra-_NAn=ZR;RIzZN&NC7L5_eO&`gP9}Vt)AS^@wa>|S zx2KRGn~&Wcecdbl%p)qg5p`=iZ5Pw7kHuD`-RGQk3=O&jv|}ce3nNE+VoL4tBKCNF zC*-w>g-BAS5?MxWJ&3;a+46)bwXb#}Glx{TF>7AO6&U7veOlEk?zfJ5r|+mcefr&7 zcao*fl8*WW<>-CBXCbC5?^hM&=mkEoOpbbEIr=Zp)muJCc)Qvx4Ar*R5pI+3jtX!S znetD$Yl7N4pb4&KS0&rOfTP|9Ds?SgrT}97sngW@(|+nQ+b`?ZJBQ3N#c`g*ZDPw z@6H{hJq>qFsB2n$ux{I*CQjXPszt18a(k;^LKT;`dqyq3AU~b>bxjD^cIc>*Xx$Z~ z{YLVAv}ct>YbX~@%cA_}qi9E#L_4EmG!2-R+7Ttuo;tEj-dx$#MbRdgL>sIa&02&N zzZG=BY)kwe+qOq)LVfMaJxFR)1vk>R4u_=;SNYY6Ya$`bynf#V2HK#X)=9FLKg^utn9*FAJJ$G!O7Z!AGTJd1MiS2H? zU!0%iWBORW6LAS;eL}~(gt|gP#KNDPJ<0r_#%;09FU$|rUYQqcJ#^Ov@HjQd#|X2- z5jp|p9NeWJ&e4?^{BUli?|NWS&*3L1ysM*cQP+L40>hZk)<(aj zu`lN&`OBCnwxx>KAKq)_?dN}GYR|u`ik+gHtGKfpS^(Buh8de(1JJ^~XU;wb9Utmn zdT5%Vj1u(e5R_klr?*LCZJOd>BCmOgA5mOSpjd^w`2O93jzjJJE=`tcflDQiB--q- zYyQLe3)KXDY9F5%6!BMu_2OuzDdURMU2hIM9mk;?h1gD{Q0&|8X)N^DzJ30U?L#Ui zot_oBq<@kQ?=i1P2K=39@?X{kJ<0}_@qD-XrkJDNid>aZA4>31wa%$U#U1mqA{WBX zNW?Eeo@>xQ@7NUAMFTwY8^{Es;ri%Od-3sXhzED0tuD}=aANVVk&w@n!z@NmQ zC-{=>An5Zy3BIRWK9?rqC-n$)GC#rpw(ui?LBG!>57H(aw!kXatl&3 zPHU^*xUQvX%LQrOd4QbJc2sJf-RMop%yNMsaLLB>r5$|C^{STUP4ICrgs7ard0oLX z)#`q)Nv%1vskN$ob5T?bu|-UbDze%~z$GH@7t@PVhP3|;GWn0!QtL7leRExfJS9bzctuDS-CNpM=v1NCW=Y5T z)nqHRa>atV?$2_6MD3!*^(p@Iaju0+E>692;qrwSEy@KnU&@9AE=a5N_`Q;Z(mo}O z@yKJtwHr2Gzac6;${X*cu}l{tdp%~f!P1sGBb}PLp<~^;Q^lS$rPI>d^M^Jf9P~tZ z9120^pW4T|8&?wEYY&=RUX=+Svha+TSQ5Y5I#xFJV+U+1`SCGDq`<&#`(h44NWb8=et;Y#8UTKMz|;qJf^ zVU@!5eH%H==5QtQhqTtfo$8?^yxIoJO5wF*gtuC_sZk=obBy?X7H-dZN&Nb0Uh$9l zkdkm+a+7<)Lut5P>fx4oC<$-0@JjjLW#N_Tug}6O)z8ov@!bcK(5+JZniqJ*2P@_O zpM7{G{n8d*Nj|TtoU8O5!t@XP3~~UO(%9%kt^|`JQp`>Hc}& zIQVq`yx;h2+$x){?w^lGKixkM`i1#w+5Qi{wAt0L@vLmRw@BWve7V@TR+jHh_&Ux0 zhK+A!`3}O@Z+xSb^U=)p28?gC_Hqt2AteGtC2 zzZtvTKM7x>@m0#l1&p7sl z@Fws|@KU1}S@^j|&ocU0kf}}PFO2`Z%gg*XsC2&$D&5Z*e%!DZ6yKXb@ohH$*BKrM zDj$zAA5lKO4vN0b=r@5Yq5lbN0DnQ^i@_g(O7C9qWzaW+)4;73zRALufUm{>e2^)5 z<|L42m$?t6R)cqgl5?}sHyVAp(aViK(dZW%{VNhv{GWr0|5>9yW%NdnIZWm}khYyU z6O`U3Tlk*|6g>he{#(IC&~Grh!*GM)C7}3gjs7Q)DSGB8@G`FCKMUkdYvwonk^ezZ z{yzpK_dB4{`G(;=h93ka_g15?2UR`|;1%F>a0XZfHiFLrCFfxVmW!Zeo_`g%3>4qF zp!jBi;+qPJ?+|Zo#P>yT9{4Gcpv-Pi{O{|QQ7A1HY{joxbXd7#Se45Mclo?!TA zUgj(Q2&nk`K$6OQ3WOzdBls$C3y8{@HK62O0g8W_;U$JMLCHJb=tGmaa}NCjQ1QM6 zx^xT&4BrPXCj9M2H-N8!*2{14&jnTfr-CZ~Umfl3H^~0jV(9OI;`hd*j~(D28GUji2* z=W|AX98^AJFQg8<+5C4JUIOOuUjQ;D9REV_V(8}^{VZ?+^j|4Vg?|H_4}G7}-Js&X z1d&4E-*n_5H#H&~G&Q5>W9M z82xNe@%6pM7Zd-X!+rekgQ8`BWC7v&{-fw_Q1RblwC;Q7Bo921aLs{~{_~A~7O41t zo#?~A0V=-ikBI*UkS3MU-0l?U*MU@dW-X|GQgcJmml&-%rP}X_pz2wNg@~8=69iS9 z`97%d`$2_&o;m~W?ahX-H`H|_#b0dnsi2;Z!$I{Mj~&L`7yKzG zIS+yaP5Y*yz8f$4!=U8sHo6T|zcClob9T1*KOdBwqm4e?@UIiRoF9Rbqxp;E?go#5 z)_2?FzuNp?3QmI7xdi#^SdI7}Px*O-4bI32pm=pmo~Ndq8LqbYm9e+GNa zzZ1+tZ#KH#um)u6Gv!#2=V?l{`HztAEc7raJqAFYhbjG_=v^R9amr2*H>H+8CxSJg z!mB~1N>e&{9uPUH(XiGqZJ06~LYVjl40{bb4I2$>4bz4x!yyuN@eO+oI}IBRYYo$e zDMQtZi*Km<5Z!6mXjp5QHcS}~!R+E2_8N8?HX7C%rVUeuLzEXkCk+_(8g?2s8rB-7 z4FMPL81f-IEWznH6&?2H)=^HP!+zXh79RFzPq6rdCg86Y9`vH-(3X41_``ncJw}K9(_dQrupg*?(&dN7DX0EeblC4xJ&F$dtLg_uhyBzy z2L06#agSPf*e`vag@^soTLVp_mHVXehy71|#KY;sLnXJ;^b7lkf5cC=nno;qkI`u! zUb+9|zry>B9#(#!FQ;>mJIH_0wR8@0-{HULL8GsfKG3_2|5ghhG5V#*b9QY&xpkDq zRQSWaXvPc|9^Uu7FYs46_SDynKW*}^5BwH>z43?lG4C|~R?824nUf#h=j=58@c!gB z<5%Y=$DGF7!J!kE`=s%Q_ZSL$1kC&4+ z{|fF43A%}pc)0AG#cAz{#_7`&;o4h`hyOA`>#>N3_t3uL^pOd9KS99 z-t!Xq)1F#9el_hQPV2keaa!YkoNi8ppO*-Kd4j$vL0_Dp&HhA7d-M7R_eD@=x5B>> z_utNRzGaRnc=qV5LYxi<7Gfe7X6KkxC$MmQ!LvjM8$9h#C9G+_YE{QNzU+w^pjbj} z&994j719dck?7zPlODXvWylqR(lW~-B?gMT4h>6|&c`YXAGd_n6<2o26%G3M>HLMu z>lbCO(3dkE?E=lnio(k$YC;w+S&_Rqx6DP1WmfS#S;(looam@byR4mU0eyaei z1Eu(C=~8{D6+22UCk?UV9}OEg)X|`m8<-<$aECR@e%N*GrsxB&1?x*PG2h_qF!?%+ z3@llx7MWP`r#2!U#5k)-Yg*b`*R9&3QzgzsO#7;<8!DMo@R7j zW@*QHwanh+z9)oDpd%gbleCHIiNX>AtJbV;UriL*uPIn;5`iTf zZ@$T8#Wlk za7s)?mOkITmr2#KFw%Q8_WTNVl}_Zh{)-Q`aQ28_<9BxNQuhQ#bV<>DZ!CNtr|`8x z`zo;Rk#yzmjD7Ep8zkQa5>R`VeZbUJ+HxwbMQlam3df7alU?l za;Acs<;6u6=M}q{!lk^ed%_v~i@gk(itG(Jn>haPJ=}eP+uw_G#$){L!Tfzb5nWtC zhTT;_k^QlIa{moaP>>4%GM(eH^l=||khuF@cocNAf~)V^3$J=Nsx08zs=Ml)b3u1Y#XLaBX(xMbXZiZ&y;WYF&}8T9AhC2Ir0ehr&?c0ung z{Mwu45BCV(!!j}3e>^4VRg8T}cQE*jX5xmM2XV6ywc(y_ZMavW?>AwG3pHpyxdZ!h z_meO>-mk0&D+%2H(6ywmN+;DerY=~H7t-(UxSv}jp$sVn-NE2$oL#ka%>&<>!gcJz zZR_n?1zQ7xqrM6YTu8q(k}gqdYTM5?PH+6{JUA$xt?W94YZk5`&6KzDP_WC8j+X}+(1no^_X#Z7-I+`T%WmT8QPI5~oehXC#+7^uX1eFw_2+syLy}5{Z*EtKvTtrj-Tght%F8M^jFRxs^D9d@x~zmZOTu}Pg!@L3 zpxw|?9cm?E#49TuHjW}elY&wSf5kWdu}H%4WhAH!G!>x>8wl4BqjFHq#qL43ZF zeUqy~UBY!Yq7P9vD04K~EDSh&gMRbTsi_H0oy39jXFw6>u_c^8@SOd{oHpLYMn?3j z$1Ida#xKAdDu>ixSR!+em$@b>Q#aL{RG>T}E`K+#EKua(=8Fpydfu$rs4prv&Etij zMI^zSiwov5pWyGQCChFYUv>94^zXHW{>9z&-L4Up1V*;aoiKH~9=CAU_yp=%0oGfP z^{vB}VLp}Gl~r>bvDv4^BX%nP3n$~Ce!J`Kn!I?cPu+{}*W~3*gdpqyA60kqW_^tg zhz6~sHY2rTkc!^+L~1Vzq^9P+{Y9ON>sq+9iDyzUvA;l%hzp&~}=_W9RWcJ(=b z1xz;aIOrxG2lH1WE&AT~mTDJQ5_`raQAr_4lrpcy_I_scN+(s@u)#{7rTm$hNKb^8~rE z=0AwyNI%xxMUv)yqz9crPdQSmCP|mt zBQ|w;C`KDpQmwvOu#6bArf#!eznIZunCMe!>(;=2?-vt9#J~h6yd>6^2*n*G#%rSr z56`EopJ@K7M{U&avHrdJ>kIuw7azm657mQi8AV|YS!sTRvs8PJB)3tK`p(KNI^YUL znwZ6CeV$+8`)8u71^>_hXZ~XBbpGaI3HaLl|aW?1JX-SEb_ngSvugSzmZoIljNG zFSa99=$~klLy{70wb*bayA1AI^}+m#xbo+?Y6!*SYUbH^6)n4&Q2WJn_u_jra%pb^ zC7DnMGlp&=O}0$V4sAY-Qh*;*%KWG7l_K*rbvFF>7HzJSmn%m<4mwG0u(NTW!ka6G z?ix2ZM&V9>ZCvCvTMc#3^wUpXa|iP8qo>HPZ9& z@g-}WXnrX^W^#grR(d6^L<^cc2PUtHnJ&-!33+kWT*1&?gNMvk%KuyYm@LE<5J>QZ~!3KcvFwT&@8M^KQ*y^z6T`3QHaAe7dU4H+yC9 zcMsA4H6(DOr-3fI*{-|ivuC%k>uwV}>pO~oowR{3zUWzR#)619xamFT zY*wsXpGzs^$#ovvNtN?LbzMKNi`iwh{Wp3M-}t4;K@6&lxRG53Uv*NL1(rVax2WrD zi|G8bU3V{H!Mv#JdDBBq!&l=q6Dd5{SG#<=A&O_$X{5(`yBf9Ynr!Ah1f8-Ls*KIK zm$ZDVccxQROJ;Pa+%tY753d);Qb5gKB6b83ak*Cp&rmQ$bCLLbR?jy!bXA1L_ycVO~MTR^?VpJ;Rvo~Tf6|J(dk zC*B)|atQg;1Xb<@75GB)3;9e};0yT*^;1)U&rPsMPZLqOmn8TqmFpzWUih1~U)Nf> z>OE=Dp}_Qa{Bf71d#_>8`+lQ;6!bD3@<#vBFqG>=tM_9KLmo~y`dq_MZds$ldDu`c z>&^d-hT0I3yUFMe8HVTdb4GvFP@SKTQT&%9TPrwdz)6jUCE3NfR79ur@vn$no?5tk z`AV$E#Qe%ww$XWjrWBupYSTCB5Yf`s)`78{t2ivAqfrE{!#>V+&5l^P0dqEMQXL*H zY2K2aw{d;zrj6@c+L}|>HgAbh^Rn@kZcPgFKf%M% z^_yC*YgyNPb#wZ%miD!4Hm$mTLy99R-Y@dX7Ud-y&x?xX%tB!~s;I;`ztrBkQAh76 z+xZZiT2^1*tQXF5u1_UEqxTAU5qR0>#PzJ3)moRZmnH-h$9VODj!cN2QiZ#Bx+gFEd?a zJV>5dbWkpuOGUgSx43@A6)$u4hZfL;(o3Y7BbQl2GB1R2VMu@ZkKv)C^z)2#svsej zD*B`sx^{`EVt117IK$&!2&}OV)t!AWK9cHqbPiw6t#HbO>)ftf#zTqxJ`2~%30D$6 zXyG#|gon97HEPkc*Q`W&%O25X!E2Up=;g!-4=UytM zKQKo6BV(kmbINj+(yz7f`zy4cYNq~jH~E?^so!2}h_9{?uFH;c)}5EcPh0qO&sGv% zKSq3g|6Q(9{N6Fb2Q9q0g8sE^F3O$ip+vvdF~WPt2p_cY_f#nV@ZI6g3i^#$!~01E z{RW@w11jmS%jI&F!fVC|Z?y1sFQ%k?hAe!4h48*z~=1DzzIlAN|u0c|Pl>%kr&*ugdJjSbtHL z?-t1$hy9s5;hQ-Q`!fe)@~j^zo388&1$m?Cr_I#bapb5Pj_j8ywUWNeW4(4 zH2rjZp>Z7g$-dCqap))eLP6eW`pLdfkT;rs?eKMuLqFLU+BpvWWM3%A8%;mi7Yg!h zyeQiaWM8Pp?Bm$DQI=2kg?2ye+r5n+W%*=ZXz*vA&z|$Le6laJ-}vl#FUu$ULgSGq z`$FT9r@K=@-e~FSF8Be{&&Hdw`sogNdK`9sbO(LrIQVXZuVx&4vM)5(_-s5XtDo*d z_5H%vhmA{R`E<9wYS{DH_*9lp_JszF&&Hv$eCy!bKMp?G7aAM~-<|LsFg_c<%BCy( zLN#XB$i}gNcN=}J(XTRGY5u2!oPx<52_o|N!$75zpXTN0c#q`08noBs;Kv%tytA8X;qnEz3R_c9T972!+4#o&t!A7%a}x*w#-GM@%7 z<>>u~!IjW&23LV=z#Mo5DE-a>S3sWxE(3qeJWuf-1Qov>dtKsQexUUI_i@ zF-}hA0LUtLqhA4{ zTIMAnNoI~SJOWfX40BvU`8xpCgL^^6|1>ChH-gKcUkkn(tOu2kODz0kkRr?+2{wRF zF;7;!FM}%2o53YugW-$77efzHNs9M*Q1U(lD&EZ?s%6%h|JCMy9!L_IlRTYyHmLG? zm~{btQD!f=6uc4SjcH~LxCp$!{AIUB^aETFP`*uVS zIBt}=8B}}Q2};i!3{Nos=NnyZ_}G!&e$1nw_`eP+{#T8by&3uUn*Y0v)@vyFUuXUs zjb3ZG2t>8a<7~v84*mvIef8-J4X zFt{B0E1>+pWd0v8|4#FNz4^b!{AEu@{O6nhKbybqX2}1KpybQGjOz3Kp3dl=x9amX zV1|FEgD(e90ngxh(Y@s?^dCXd{|(kc|HSA|fG>mosL|JgihmV&68tX#75_Y=PX-nL z1fze=SgH8G0LA|aQ1L$s&V<$&uK3p*-2^KBYmGh~RQywn{xz9Y{9k}Gh<_)j_+K#k z!=U2JevHDe1r`4)qhAQp#GQSZi@?7g=F9DmhCc*p(wXlW-3O{&bb~a(%p1UY;Pn>1 z3Z&^cdoWZ<<_PE)ldk5*3!r}w)`7nQbKp-wRG79AJO%n{kfO@yvdO9786Z`Y(OTkS z@Uc`X)d>Cs6yM#T`jtMABFWqgsvo%)L~dp-hzc2Gxq4S5{3jiPSvYJsWH@NJ->~1X z&#>2Ux8Y91PDAZKN$y(1%MI%dYYpcb9t+adPN@dzvZiQ%jCMC=0F<0w{-mLIf-eO- z&A-uT+56$&q`CaLfNqt22?!y7-wInk$Ohdq*}wYq3U1$LzK60z_8b_)3DL7 z)-Y|DG8`f?7vHegu+y;7u+}hbm@-s7xcG*>hMk6uhP8%i!<69=kzIVlUc*kqM#Eae zv|-9{h;riRqyfWT!%o9S!&<|%A>iU^4qVuq!0-9wOLW+u`<~HZKW-M~rtq-;_9^lq zI_$T-)%e5y+IvEL9tyc{hxkT!Sp2Y`J<<5X{>=-GKkV0>Pg+VZ>_1go{IK72M$m`J zkX)D1VL$XnlNa{qUS#2g{Wzn;{;1Z*N>81q++h|!ZS-q`ehmI{6RbSL{@fiFuE~p> z>_y35OufC3%v*TakCXi~rPpZur&)P~{jdebANId~hD>LF<~S!l^=G4lJsuTC?wbkvCPL!juSkUdXM(<(^y2)gw>Yi&QJiKDQbd0y5q}c8#`&j^ z-#EP>5&o`({MRSs-<=5m1H$6+W+dn@CG>eHk=_TWmw5c^68s|x`YVa}wF!OxEfHRy zi2s~~e*c_^zbrw&A;B+Q*RmlJo7WSN8ure_jq7tGEiVekqb_k;;ib9reC7PbpUAXlF7cG!@$4=4_GhBR-2jl($UKvgJzJq@7*~(N zojmKT*){3N&6+cJ?)kH8&YLqUot{&}pR^C2Ra0~BIT)guJ!`J9J9{+EbOK}Aqv>T# zPNn&e)3jM@^Gfaj^AEWJ;|Vl-G|nCk!?$zewMX+o5X?G*QO>HNpIxWaSL&KU? z?W-c6q&*t#+sIYfxISFmp*z4Tv-DY--u;4`)>z3&rU;L%+NUE*lu`i*X+aN%mR zzRs#OnY#wj%|(@_BkRuJKXu1R-VZi+pYvYy+B+M+VW~j;LwW7=X@ zB;ncyn(e~!^786Ii=HAc@jWY5;Q%ZzR|)LU5#DuSLO>hDK1 zZQ9b>zVWQh%)YNX`z&TZt_N&Nt=!Po+T5g%TuitoGb9w=DP8}@e zK(T0%qW>fFWFr=GI-yj&nL- zjdzIZD>8a6p(hO)4jS$^)VfsR8V7{EhPw@S8g?4C8m=|G+_2uT)^M)jOvAKcwPBTE zBZzbR#}v*K^LM+9(34J6AkUoiljB{3+xKwgwOVG+sJltmV zxg{$XvxZ%fn;)&eVt%XwQkr>1ODHo+$V$kqjAZY#5Ud%BS@Mg?SdrDIQ_BTO`KLR7 znNu@+uAlAr`OD_^Ydhi-nE$OkJ-zRgYqkC_&>FM!KlGd9oxgO^*yJQnKRel%eX%@B z<}ah$(+m5NHK7twMqO$@FV#X{E3v_iHQxyPfAcLu_+Dp-Z`luIYOMK2l?@yNrXK^V z)31sa?i#rt)?@OT*D~AJddj(m23f%^1gG|^uyJ*!$Xqh1{02Af`38y4Akuyw$oGq9yJiCp(It@Bq+g+4NXCT zlp2~pDBwT!g4?Q)QWsME|Ndsq+`W5uSCUi8|KHE2^U>d?ea3?P4pu$A!(J4wXg`%wR+E zvE0Q^Ah#7-Z6BG0w?lH<_YZ=-@vAO|+LLQv-UAx;qc)SgF_P!c4`j1>q(|lR0@WP( zJ<~Vww6BqWY`J_NZ$#q|%c#-rQQKJ`HcwBZHYH9N{E32AJz;PMYn+gE=wL$~Sw7-U z954?ZCpEJ07lih^H9_r6z_+3hN5cB2MjLQL3QxBv=`H#L2aCu3{f;j#_M1jqzS$UDJc}c~|23`sozaGC zbvFNdokvGmq5uCU`(cY&9PKCnuhB0$|BpTA|Jn0Xs7G-}-El7NSLr!?2i{SM_+Q}H zY2Szc0?{QR?Xz3rCnTgd5cue1moK6F^P22+9R1sPRknPS9*2t4$*6w)e2^vRMuds3 zmi))`54YW?zbqGe>^tY$pbFtN{~?$0pe+2D(Ze#YXDj}%qy3T7w-8qrzQO3&P*kM1 z8hu_B`mPDW@0}q0=mgte0RgwYJ67i75TKEV!iQM`B&sS9Fu4Dpdz1apn^QB4;A^epCag| z^gEXrx5;1oDJCON`za;sRF4s5{ zlZTAXc&2}xc`Z=m?;KF!E(a>ysX)5DnHfNmn)wmseH!pDfTtrz zY;RJ^b4jSw+*lMuBVA>$Sg4<6A&I~weWLc1w@M$tzt{9T5JcJTqjLp!K<*u_Vo$X&os^9#EvEV&w< zWmi&X@>=kdoktjFDj!7;-<93QFTLgV8a{0J0{j$S_Kb3U{DcQPoL?Y|zsOy~Qyf2< zz`vE?zYtk*em%$WD--lv6Z9V>@E<1R&rRSTNbr9$LH|{PzB)mdeJOvD`dCS(p5x%KyOJ~d4 zwl)@tS>%o_XNEQ9xa8m$Tc~tiEi9q0ZM(UpZT-zHH?G}~ywjw(m{)aiIUb8&M~jI)j0D6i^p0|yY>QSI#OH;j)yP$#u8mVfOp3mqdD9k5tDZ_;&euDCQkl%Ot6^kR9pVa%z9Aejz()?BH=kqt5DogO=gBz+k4eiH>~{z7EBplIH^NUxAtcVHjNVt> z59M2e;)&SG01i9mf2we~V)KUq*El|{uc%7#F1nMMNBv_X+2l^z#rsjmXh$piK6{fZ2Q#OHxxHj?$)RK`+W1Wx5P}`ll3Qe&bi+ zsOV19OAvFrV$XV1F3X*r;0s+(^-bcgq;muz&_h2h@b-s?1Pu3M2k*ca;tTp*{-4z6 zm)36#@$3u_217hoCE^KuNqtsU;S2c@QnX={zrU&UWG5j7vNVCd?7!4DvJMS6d&DFs5j5I@FCp^w$wKg@&lb$ z-MN5QgQr;dYgXm5E8Izk*(FPx8&|Bl&LMHD)>Ir>nc8|=XFCS)DL+P*6?Eg4EgNp? z;EX*k$lZF|a;^Du3F6lE?VIg+^Nnqb&p+Rgb<0=U)3yui>l@dtW9DHC0sJ|9n>Ggl z?dvu)$K-W&Y`AgL=37>@Z`stfxvhQaI(CA{oNF^dH#8T;Y;L~^8*R?_Teoyc>Z*3s zTDwv4Z7IzO*99t_qHzoj##U_|rqk#)%nYxC`7*y|PxC!2qYoRsTKr+ss9OBNKBQXw z%@$*|_4aR5XQIYTNm^`Z&75N^F$s13x##;7;hd|m zj;V9Q#*EM2&x-PNZrIQ>UY@pY%+&@nz|)}D0m;M6&xwOP&wK|+cR2F^@C@L5-~yoRxf!0$IT`p;;7`dj z#u%9&1L>>Gc@X#t@V_wp6Tox8KWg~RK<45yHyVBpP~p!2))HQIPT{rQDEvo2h5x?c zp93oVrwzXusPH!eN#dN#fC{gB^n{-dRCwL{CH$upmcsuSDExCkh5s~gHn_%_3jbEa z+kguHCc}Al;mH%ne=7OF-}GbX4|L~Pp!cjp9-lsBQ0rm*&C>U1E^wRquK}J8-fVb1 zFb!_&u+z2fhMpzoS=57T&RX$m-E|)LUc+|*6@I7T>kV%;ya7l$XDv3o&fpm7;c?a> zAZ_%l5uoJnHGGfZJqBBWxLG;=F*iD^0Vw`7a4xu}FoX}IKXRuJ8dUm)w;F6Pm^PR) zI0}>ah7ArH>@nDCu)$#3V9MYq@$)!+*x;bS9)qn08w{om0$jLO-iLY2{vIUr1;0Gq z!<(UNT{O(UUu$?Pm0wQZCeg2nb?}(a8eF>V@Nt^k}T>#X&=U(GiJ1cs<(Y0Sg zc<6`xmFV~lnY=pV-;1Bzu;eK`nJ>4_a21B!$4p+G@h>+#^aD;cJoGD0QF#2;SbV1= zL-NP?$t^Vg(9bw-@ukT(xu*>e{T%HdQTSb+oLV9}erZepRrrhEY4mf^Tllcyzhih0 zesYIRp6Zd@3Zr{0<<`>`UWF>BbA_Bd!(}HSyvM??HF|^N=DPtjR_8MXB#z&gp!X-} zf0v+Zzg9f_U;_VQ0>2Br;{3NJ=qiUeUF~Ze*ZD|sT+ea*9}{>F#5g^=zXGbV+Dq=vAxI>d`csW7O&&ptRWW{v>TWEP3Q3i+vNW6mBpP6 z*Ic~bNxJca-YxFH{kGW4%T;rm*=~nbubzO7T2P={77>dd|w5VJ$xXWp`_FfX4 z9nJNA7kFZuF8e|%6I=*4wC~U`zhw7oiwjj8_s5p2{fc%x?yzUr<$_CHIgjlYF3En+ zRZOGDofMZyzgxI`U#^y~OXBw{-El9!0k_mgdx7Ked!AAs@k9!Fh9b)P_`>tkMK|I8 z-HTqyE?zme|7FA4MSgiaxh~G<&hH&e^MIRZU3}Qu_fBg!15URyrJs=}y)OP0Yjh+} zx@dpNOdv>)KyX@j?%1+5pvYg+xT-Ni-S&v+$UcT>Z$(6Lzt6a6eb?r{h(`n*VqAtvMuYbhyhX`I_EGrsUfGomIvm z3Uc3R_#aX9tmlp9+%lY6BZ7bTU@s(CHwaJqUiK$Oj(LFiQJE{OUue zR%MRl+Uh*7=Kb^BMA!DB$ELmz1+@&oGLheutF^1JPT3IF(cIdDTSe$AsRCxcb8S zooIjfI#o1W=noGusq4NaC)giuH94W)jqs8xZFN*gQ`yB6{!P>$PTM@tEf!$c3qnW_ z{p(ruo2Wk==EZtKKstf61F2o;XKh=cIH42uhjoj%++qpA^)MN0j}AY1lKtU&`cmpR z?P4Ibh72QI)E`z9;r9}rnFl{%XZyg_Jmix5z<1Hf+ewGAhyGU&d#%^dE+6RI%6~J45ERNoX1VR_| zO-@vwqj)WH`G*uHF57Q2*LLtoc3p9&xptxV_sJm5$1_c3k;@Nw{@XCh>uZRJ`2juW zraY3{{)pPL{((;6Z4Wsxu;^SqAp2H82s&%$Iywskoj)u215JZy>Zon^xxjvpy4!X= zF#FdvIyb`$iK#NM=x-qGyH+vxU53oS;RNOHb2|4guki)ow#h4t3pf8-T6FiIf@%T^ zDUZNr6;;jdwp*cHVbT-dU04m(_r!1KDU4dKMuo;9tv2}Bz1+Frkz6xVT7(~2=_2#I z2eR(#MXlLgY0G{+T18v-g|KB`^)K48UuGw`{b-Nk2v<-i+ANZXCdwCqscX8YX&4nxci5H}i)Lt(s-^9@Awwi}!E!UsDBZ%KcDej`& z5@Ov*bYSLQzV(emJ(1YgAU3;jnB3;AlE9@kxw8)TXZL{ZvKq{&5e7%BIZg)m{ohmO}|rAmCA`O{0UF)6ocJ9 zD(T=%?Z`!4bFMckmWx{XV!Wz@Y#WDm1t|=NcYj4KG2`&ZAVu#Fr&bIs(oHt|-WPZa z_2SDr%G*S_Cr~I`y*Jr=3oq7769%QHdj3Ntmc%iWL@H_zEOEo)*n9#epj~4$mq(Dt z7@cPg-5Dx-TVu=L{TjAcuuJ|QyY5tEx7vG@S{j|JP*NII?7GvA-7`JQJm3sinIbUyTu(6MU%eT%ExHRPEy~ z&_lnuTAHs*$Zx#z%IwOOElaX1uUxUTdDYTumZut5ugYDsV(F^uT9z(<^))S?BXvvr z*7cj#r5Hi^i#jzm3OJAE-iapq-a< zy^_+QsPpeJdd6WTLsjRq*XS>*LLV{u{3>)m60aVA10O}XYVmg(y;}Ucj9xANVWaEQ zhbzm!F{5jPL?wEi28pV}D66Lx`8L8g{BOQpwE9|+?{4@G8K2dgihNox z88tquKNa~7$K+W(s>mlh!ys=w{bXl&Y!doujxKe~r*}O4WM>%Uji;aN41+wY?-kP_ zJHr}_*XmV8KG}Q)c~-wF^2yFH$QzGOc7}Bpue}cy<;l)4q}S?YMLyXX2K~lMhwKc4 zyz%stoneqSUc9n14C$@LcMTt?vuV~|4m=0=6W-$m!2LkNWOQGd=v}}wf!70H0X*B_ zRG|2tqJ5$)GoJ%8ip_i)$QIigC7Bs9kXS>DEu3Se-(H- z_=ASu3!Df3al>x~o&kQN`M=)$F9M#1zw93+_hcaNT1NMA%maQ2DE|TeT>!50k!JvP zKbh#S2l6-jBK|SOl#!hhe;J*BE4u88c%1!hAVrf=-5{$ocLEt2XKnzV$2lg~07+^_ z=TXqcTz)!G;bn)V@CDwDso<6&1y`FOy5^oQ1pgUTP4GuR z79TVFfzUIz1J4Jp2P*2<014vGSCL*rAe3K;T_NG7YhIlxKX*^od|)%U{Of_th0R)E z_z~n$HD-+haqc`8>c^}e5czMDFR+1s@>e?|IdwqZ*;%b9g{bKb2Ga(mto%p$Cpc_y z&|r_jR)Y-&(*{!pM~R2W>B9yG4fYspHP~PO|!ozoc zo#72s0=aO$OZaYo!RS3kzt`js;xDK3bR;i)r(b0J;k!Iy^za>4JrjTU?rOWrEc}j9 ziRISt6W(d~3yIIIS5O({^i6Z?6-I9muK109gs{RxzvxelKg>5%Hypi_!j}6FlOOtt z2Mkwbkkfl8dBcX!Hazqje;C3CI=s?vH!qjm$%gACm3tpQydt+3B#u8u*f@SU^5Zzu zza{w5MEI!*{$&aLSBdayFXHkKC+Oc!;GamuCp*q~_+KXQGZOf1iS)_7CLVrKg8rQZ z{@w)t*$Mr768NSBo~8Wa@o82oj=wA+U$i*gA1D$xp5oXVTSsz+S#G_m;*iK&5S9<1 zs`>|O!phPjt3q#J_o}P00Q4q;mBwS9QZ{%iH{;V4<=gQZ4K$PQ2K62 zUb^^wup9{T#y{t~$K*Abyg`#^sQQlT(nf9`PwG>KbAS|?mKzojztXcC*a;+Dw7#n- z^pl>D9R!?^tGqs;Ir4DJhnp66{jd`f{2ZC@c#h#tG?*LPo@k)|1i#gLs})5-6U`^J zvi>9&-kaon5@S?#O*66=!p%~Jpz9mi3+={Jxatmd#EoBst2-(jpdix~T>bFi7=yWf zYk1Ez`Ko^GE@Ma=e#~&jmaZ-u>TEz_;&g|53Ei8_tliSFuw_F>WWlq1Rradv3fBq2 z#Aidt`VHL2*Rrj$noLh<~Zh4y*w2{ z*yilfH*UD0dVA`|K53tFwWkY8S_$ z1A=ApC~Hq|;Ix6FOWLCcJyb7(Q@aveye#E6k^N23E7+s|oJo?nOJ>nT_gpnwI=7i3 zb<|v?x0wuQ9-z!k)ZQOtazL)Z61kHKtjB{)4#-vpSEAxX_B=JN@%HVt0v}`oGoF8w zZSQw8$#gy87tdw>g31tY?-A+t|1t*Z7Z5?}^xcRLx+2_cOTxZk_1Q_Vji? zld5&g_~C@2!tHSAlqeVmx_fMmdY`JQ%adU1)cepjR|IA(V^&YtvTzgERWKLJNH0(% z{S`tin+LjfI+6WmaOE;TZu%7NS=hc`YR7XRTAz;A$NN_w_2vmpV|gBB$p4K8Y6!N> zAB^UecYT8L@|bM?+4}tnte;Ciim=;PDAe*P&K`Ajt0ZgmV&}V$dPPIhP2q-c&xh92 zk*715j@Ryx0bL~ANtBRq6cp2!(S>MZxoPXg+@BpQJVe1ID`~I~Nc*G0^4-q_J&q(_ zrZ*#J-;EMBF!MuH_{O0(fH?LLvx@60F1~?9x5BcoC2*j?XhngIUSQ4%Yz^!|;2(;r zO&abvDV6O$iFc7MaaJkW(Ix$kWl6qaYGd!gDNFhrrpmm@@kA%O$w;MG{-GkeMIgtR zJ2358)oWbE`u3dd8S=TQy-!c+{dZ2mQuo-^RhiH%x|YUr-{z1Q-(+wen%X3IN>$IX*SA^v_IL3@V%yfw8Ds~t!-%1I(0PM>7x~9S z#7~2&Tsd?gMgGg)Z?xz+YMx<>kq&o;L&2EacEQ{>rv9cU3sfN9fG7E%>g|4#)-C3d z&pyeGGtTx4t+EfgBF{HHD7#K|IQ1^&yGDFX&}B6F?t_N-7x&Wa(b~S(i_^!hSxhIc z>5weGFhIi~t>C^Tz1_o>t7U0X*Enhs`w>y#r&JI;JM0jIIzz6J!g8M*66P9DpE2sT zqTR69j{Q@LKA>uY&liJN@&t0$Rm_gZ$0 zcwvg++Vn5w;FlTY@ZskPyNMZH6XfAJM& z4^_^$kdMDt-h<{nt+r3&hDfp%db~wdRE5vNZ!KrxqdXVRwCJ8!yF(owX^AY0LTzM0 z=kog!?LM0CdJ5CI=#3hNonr0Fz~}oZckr}NjVDd(6?Eeohh`Gor7*OFXX4?L`daaY zya?4aJ47`wlgEfgq*hVNQgjF*Aw`cz0`;BP>ts6vMm1RW8sP0@sGH^MSiT$1E-$}G zvVwx7t8~H%e}xS`3h#X>1vn(2$*nif5rbiVO0S4qjg2b8{tNG0 z{eO^Go#VeZCFD~w6(QZ#=z)Kqf3VyQzKn`~Mz5B>Aov0wO&kxzDPHFh4Iz26o2WUDl2=h2N<|1{UX+xW)I z7um4|dG_8{j92I79s7l^_v6Xad3ha#8?$)FE4Qa&`i++_ zQ>PZ?Svygt-&rU`b;&$KdvgZxo4|8`p8_rb-UECE@OmJ5ky!wo3!DQ)joF16{=B|X zAY;tT$ANT0Guwd-N-~W=rgAgdGe;g}<^o>;e745R`4^z%JPte;|4l%qdonKpqI2f6 zw9|C_GdqB10nY?7n#`OEtOve}X@S#$Zv!%x%iIE#d`%aSw2b!skVlzofOCMa0?Mv% z5sDe+_s#@DZTW^A-HRqqFxb=n1VIXeK-vP;j%r^}Ga}RG(n?#Z`Zv&$8ob!MxZ%qW83H&f{ zF7PfOD$VZnFmn?SH)j?9L|+ONoidS|gD#p-&ydHePje`Hxm!9xUPTpH54;Z83Tyzb zG1zP{2V8=G1CZGccP?NSSPy;`Z~<^NFbyQ`S*HS50M(D9?VqLfF?4h5W7h(Y5ji8j zS!2K^;1S?8z)>J=wp%}24jch*1|9@11`Y$6=9)DGd^K<{a1C$|@G{^a@Cx8=U?XrB z@JirL;2#2efJ`?!yF!L#Ze5PHb=G?PF9x;(l|E!TNZhHF;5i__Sq;F~0T%X85||B3vY1HV2{C8 zgAE4L22%z{(Tm6F!v+Tp_84q6*kCYi5a7a5cFs;PtYeKLOzWAWV!&x#PWZ48+|{I8 zxax=8Kk}PJg%9gYl%c1SKDh(X#2@Fb^a@I^Q;q%bq=s|0;oN3NudsorFHWo1k|j z;(JE||7L=}J&_-$CGubAlg8tJZz6sz;Ku1myV=16|Fa2w)+hAQ%x_%Y!i4;xMEGAO z^iSC_D@n6SXUA#QhFr7P(v)TM;1X{FiUgZmyQaD+qmN&74 zw{2`++tKB%aY}E{R7tsmH<7bpo##ke14C-tys>3-``Rs=IC=+Eq1LXuWdk>9n2#9B zjDF27I8i>q6bSRuE$iF25dUWEf{_}t4T_brEN~;!;iRaDmLRB9+ct05x}j~Ym+eyB zv8io+dmHBk5m{&3hNz^(jZJ9W{@bCk94wOUuv1PUx@qhBlKSYajms-!iT|}1=w8b3 z!gvzuSgCYv-E?EAjdIbJIFZCsLaA7z#d49nZQsfXsO8!P3QDLDH+0;(Zml@Mw{G0h za%212tzDZveslY6EnQpI-UOx^pm)~HjAJnst&=UTQq_v&SeOd-$mNQ9Ce*UB>}c~^ zbw+BnbhdBaz;5MuBXQ$~4m>KV;z>T;@c4(8^_w<&WbKv>JjCjNs!50Z)U45FobQmJ z5Sb?$=oTqt&uhbTOb+jBiClLGtkI!iT6aDS39IT5&6f7fw{B=_cSl+!YJ{uCYqzeo zdTbRH-+H@kHQpTiBIMO?dDY5nV=G{y~f z(?sj=ZD+fA4;Q(zum@ao!1YWb%|kYFB0FkjiGDNqsTx=o@icj7c6FW3u7vvvouNip zf%ps1O4)KmU75 z<@-RqV)^bp;lald3|WZ#7>m`NakDA2W6F8ErRW@?{-(olYuWk`72_DszD1zl6OMJcFA!(K;;4%amV0bd*s*2V-}&M>Xh06IF+3d7D6n>is$hB zrsee>ZH?ZyqHUm#r0TXBBeRM81DfRFFejfE1Km$?R9C;htWodDj_c5xG_dZ!*s@E8 zS+~{jhK3-A@?Cr4K~$A{yPrzc-noD$GX4QII~*|9fAB;9Mg&ctWia$X=TJ$_`C}?figSA`F3=0uPge1 zqv)tJRtdR2=#c+kclz?40%u`Bt4!gRb)(6UHu6G-jihZ?3w2oS4m6b)0R6(~CVfA;CRU*A0 z&IqtiT_IFc{iDDrN0oNH)w@H^PR`7>p44Z*phCm)G=p;(Po{W`o|%$E{*Lu6+0cOg{nTbvTe6K^3xbKWk$EH*1UW`Y_a?VncFB z4arP6tUyO&4aq0)Mko#8Xpp-H+*-)~>>$V>hOQj5w|bX_KkS;g~>k)tE+ksif>eMkEF)YD`S*gNtGy7QWo$5>@VK zIX)yi<~q3?q(87|9k1;^8Sc7_p!IX@wWjkAWFLnOnU7zZeX4d~E?&|l*Vgp-?Wff2 zTz#PS{;mVPzg}B=hl;rN{_KI?V{fayvoS&%sZ2)W<0o*WOta&|<0i6uiCN zkMmi(izjsOSwLGlps7wDTgI5TMLy@&_FWI+^XzeVgM#JRxwShQVw6~JW@>ln^IIVd z6kkFINqef`iirnu#uaqIXZhpq>+yKu+w|I;3Fr=W`dwBzlSIl*A}7kV5eyoYnsB+iEx@>wykl>PA>ohaNj~xn@60$ro+9DoP@m75X8;t z12a!8N+i2sn$dgl^K1Kj4_s!L3WzeDHBNqkCcvrY3I3}i$;kW`}=P8}+xNwx_Y4)&Yx~Hsper{mePiay6yB^Q=KemKSUebTzye0js z=G83ef5W^wey3U~6~02O#GkJ1`zTNL4W+HBiweo*aqayzk33!DB`p(e)7-YUsg*Pksl5RCrNQ z)_E`o^~D|vu=(|kZ;F2-<957bXr+W4$=4kJTK~b`!gQ(}SJkUYBDZ|kfVa8rl%2UL zj~@RatYdD_?7I9`xzsQDUrvuI#5avcR2y1V?7Z=azC-n_mZN+dl78b?KSZXeTP+i} z7K8T#zs)bvzNDk?8HsY;I@g%7z2q^ynyy&NzFhrYp(ADdM=JA&@ligPRw6IWrK1kA z>!Dq2^2pRveJ*qgaxG1BI+7Urmo9{*nsCKb7f(%%*_qeJ(nlFL)Tn5E9PXL-Ej!w? znBJ^!_@9-?Fo`kdcK#iq|9j^$ycNv*oTJ))h|hCw$_N6TklKft$>5`-Nh?vAFgfl# zOt91YTuJ8#hi>HQIyA}TF`|wquh_p+dmPo@%IWJKeYk-bT};-N9xCxUNRNs=8zBc= ze_%1+C%i}S-sIHfh42aNYw>t2b3*N{mN|)}hKP`pDtuG_^h8g@WzoYt`QktLsuXrJU{%Ina>m!Lqgyj(FveGKXq+t<#k?NjeWxr4_^@(Aj< z@;hJUr>vW%$y8rQyDJLrv)1#_!^-|dtQJYPucwTeTo=d*_F0OT>$Qb4b&=oaHH&J@ z25@?Gl)@4An%ub@lm_MzS9)!Hho<~Y1NU6pD|2W4OK!^7nfl~==x%-D9bwek_QL2j z3GpBz<@R@#)Sb)lML8PsOPe0A?R$ws?P{sE)xJC7h7|F_uUK;a`%rwhXz*QofnsU| z{LI-A^Q3+$&id>m$SpgQSGJK!?gpi_gw0*KUI7GDK%&{?4K{JnM)S)9yrQ{G0J5%bANsD z&mu+K8>nn^*;<^S)EA{VQ9@%BzMplpKfXWcCJ-6&9C#F7yHdbU;uZHHhWykfM7MwL z-6#2aI!5E7Ossvl?&2qEcYM&NWbF2uolQTGzaG9{d;jVm^!}1T2J?;@5d5I`*!8t{ zY3A7>!|9#bAMo`3-eW}`kRs3bd&Pqs@il#)R>O~^R3T%YVU(tH6xKr{Jtaq03^D^q2=zWkD7Tk3|jTiR2%Z0Oi< z3swoYtlj1y>&3Th*t)fS-O8>Twr*~3-;!$I*0!;0UCbk5iAbsD5Gs{5?$rFVx6I#i z2`>c?sozO0ZN4Nmf8Dv^@4WDUPip=eET%7kCEbYKM*Eg6mt4l0JH{RBt|%sSrLRvR zJ0e1>)w50Br;I*gbbVcLW%Mzl&#yvHTY**!-(d7=;X94~`&IPcHO)tSQs}{0o&Sg{3%^&L0NmLgl+j0xepZ$6r}%KGDQ{bmnzF5K zO5F>dU$YBd<>yQJ?R{EbpX0~v{blj6^8TwMKk|I`9#`bsh`jp4p3kzSBH!KcEigWN zFDvprI7xYjCn-<+uY!K|zE_M_HpB~l?9*ZIeMP=Ez}IPf_Wo4l(_V-5li<_-t5)N) z_MoCXEsNxic>V0XsK}?@NVD--`%sZj`>%2ZFVEVEihSCCwd<#zZ@lzs|J6?88&5y& zzY6lK{iqnP_Fru?dDf0pD`|7yMMi?nv9BA@nOrEPzrwLca4wErsX>$7&K zBHt_EtGE4d)*e;lTLs?&+vjHOQbj)5j@KKXwNGVyBeY-qW!h;61z&D(kcMk9_)g$O zz?%)e$l&K_S7FVp2VM;P5e<&;tw8bLVDK32xBPz}_)6db+WSSo4;rioA~N&4KtyGJ z!S{lonePG#l6epaDYG2NYCz^HAlW|q<-jw+Ut+j6nF;^ZEKmPCp!mOG_+5r?H2f5x z_-hUSI^VJLz;^)U|4yLd*$O-dyah-UnM;9^d!fySoc0Rki{Vk@@v>@BeO~ z{5JySe<4u%o?`H7`fG~!Vj!w#{s4%G%v01w`F~M$68K4=^msQ=dR$}lvw;i2e@r4! zDRT&@cn%u;bMyZcP;%b~6n`I3>Cm~>^MKa^nWmoe3LxLO%$bItZ1m|sh6;0@qRkTh z?|{Pp5~!s7IS`iFA2R%I!!HLi6v#Pp-S7?|qBE}p5+p-jr_#XPAm}?weF?(3bMS@Bo?m#* z-~u3HEVn=IG+>SSA3=`rQK0yTfoFpc0fp}bQgpL=fVf!={3Ab0&c**d(P2j9^j3on z2Ga&p21iMR_=XJ*8tgIHYOujz+F;7yD1lvggM$Wp47M6 z2@n1J&scn&LbSE?@7e}frNbV#`(t*{LduhJ)NN6me6N?0{?gd?@ZwIVM^ln*6A&7 z+Q%8FcWm8!8%FmW10JS^9Ie7({>iB#zga1SvI!;cS;iWU@K16Fe`kpABbGvJ4eHYA zxPjeK-1+kE^qQ8=F6}s4w~0Lin_DVw zODgy5Xlq%g-AC*-Xz|-v%C{AT%L0HMZhw%j+rEYULEPTm(Z*a_K%!@)Zh#)H4sel_ z?8I>Ue%OeSye0szkUE!9fiHN5B$sV3iZ=hmBt*;+5k=Z>S-XL4KxM_+=63_Z(Y2Y~ zKd}ud(UzU05}rVaTh?xEWBZRQgUxIVtF~(=mfGTuogmd|RPG%TVH8)pRNJ?7xs7VB zoKr19i5B*2-L#RtFv;5h%FxU@}JkW|sRVeYnM)eOWD6vin5G_D8Q%@^xn~Py4p8BgLoJcDZcb)UtZj zs~4*wwENo^vLz*Q3l}Y3eDV497cHu?Pvzo;^@}~T+o!_juUSxI)nEKp5XqJy(VY9!s5~l>S(%Cdu$(w^NjtQ zXn)G74EE$c=Rs;G^5V{tA9+o*Kjomw8@3RO`4C9IVf3RvFIOURqWviv_sXfiEO*T0 zd2HhSDT+*8f-&OPH-0dkN*%`YWS-S0k&|BfDGHS@R-TJfi)F#QH*Tf#Bw?dK&i?AJ@zK!11@jT?^AY?hfVKEI zyEDpP%7WoSEFYs#=%lr5%rVSMru%UDV^yzovZW47sQP*1l~=@~bjo_Fzd(J_GOxls zfW<$gJjEa^VUQ8+XXuRQ7h5t$Vb_L_5rYQ}4m(H|d0kQZKvvVDtN=eq&SB;}=qUN7 zLD|G<7FXW+t_MSay<{$%QDlj|<8%T#l!Up($%fh;ZwY?A+px~=y8+biD)}Rx_I*gy zftl}QDx`5pv+G{0+qY6DQ7#7@+EDiuRVK1`J=`+n11$3(*FSZh8On_krI9L zkbEHP=CDwo%=hH5{P|c&OxVek(DFTA%kMHKXdF_HbuwB$3O8Er2cV@uTua?2b|5>1 zU~CY2yFZED?Z;|&Fv2D0htP2kmyWwwFefJGKl13#)gQY(`?1LCcA->)E#Ea{%5!)y z_H6^J59ZiAd zJi+`C3H~;K1PjCyJXdibBrNGa==6H9@c#cmFK^*<2Gm&H_^_fJnAwJ)#-YM(BAFc5B?FES*w|?6o_Ut?EF@L=59jl$Gq4VII)^Gbh%O3j<@9`7B|i+Aa*gm ztE`Pa^C6uoCtX6YTGptUYgzbL49jGZQKTvh$&_ zen@w!=KAkDB&R(-mvEe4h)hb7yyS5yICG zjmq|^OsF4M5~y+LO&~5PA-qKDseAG*h*ds;!Axly4+1sj{}?1LQ;F(Eloiom^$TRoOQ%Q@KbsyUZ+p@nV(rg(&P_E=oO?v^uKA z4Fuk&E^;w_SI|^O>2IjZO%qvnB@EoRHxv;UJnV6aen^0p_3F6f30|^?m4O2@hXLp< z5G#$sc{MJ2muIq%rwyp4TTWqK|ZLVD{^f@IXGK0o7DAx!#9d3DxcxkZK1W z(Fz!n94&v37yqJM|EuESUH2=ZwY^9dwE6p7O7r))Xv4<0{D4D?g4)i{P5DOu`MJC= z_xudk=*Q?UdTi44C9GiWvI zGWZ&Y)FvJgLsYC2l+a5FMhU$PKnV%NOK5-|S1upY@Lf9b`=WYZ_%6+T6wNkOv8e># zr;or9so)y%YZ#bt89r#L7T?_^&*NqgTJG`R zI>KD77A;ia!u7?d5uGA033Hz|0j4CcPYUGGv5awYXo9hQ<%b=RM0X?B+k8a zyJ1VbbAL^BikM>WoL8pbx2nYwpG3R+1LA(*ucP!N+uhGV2_^Mh+TDA6%~?^G+x{pO z0_ENJN6ke4eLG$8eJ7W{M^Bca&#_Iu*9k9qtp*n93h{kfpA3Z+-nvP@3d592Mo z3?J2GW8COf_#3oq9Qr>es>0_9Mgsl}fC>U}6FpYIMVn6IXk3Z2wNo zzFb$^Fr}lq`3)bhGcT8L+y}|k--g4iwt4N=_335q)UEWD(Rpl_q&c**gOi-NM;VI* z@wp@0(#zI%a9iz7?JyKQS8<@xCF%KCUzFJiYs$AR#k$5;jx@U@^$IPU0NfP(C8>=j zE!Bw@teK?zVQs1P?b|L%-MC>RteaC?CA~B^PE%1Pmaybe@BLG!(4656bIt;wC`L79A;F0E?kxW??lEPcEjmF*l`&ECt>S&?re zI;=6fD@$)hzPsUTHa<&tMLtdF1$mbKihPIRtK&;2XZcXZ_c8K`rRU78K;q13YI1%m zb@`dV8Q@2llw&G3^S^<#tFymj@S6rd0VFRoyA5v#ivN1UR~lSqFbx#{Y{UPRc{K6= z1St7GGWe9iy+HAQ%5d$sCupY4@D~D42j9i?4=QKg4V0WFAZgB=13Viz*Zije72hwJ z^bz0B4IVW(3{-sg8U8-t$>6U6DxP1^>InY{P;!0%l$=8bpD_3-pyYhm@Ed^AdyV1e z0;TUf!}n2-NlK<0h>Drl10}y1DEUhbzRKW>fs%i+;iD+UW9ILH;{OYv(*1eEKLAwx zcNl&fQ1UwrzsX>$!3%+suXENV?_U^gD*QhHg@4QNgNAnlPltXgQ0baw{(na$Qaq0X z74EMLY9uMV8;D&_W)<*k;ML~;a-hPUV)#sh(+z%)hF$u}E=+Ph3M9(RR^S5QCi7nk zl$ z{|CU?_|G)|lgxiVfs~GLe*BlfCFgSn-wA}(*}a_xTx|F}PtWLFXZ|wZ=AYyo1VWnq zh{1gZ^?jC}I(J(1n}9C|&j1zfH1q!hgQpnOxv>iOW1zyx&Ig$31;Ucq0Gtc_T_CS$ zMymwkn`ZDK+E$u`%zZ%le-?Nq`1^t4?>GN<8QcmK|0cuN0mb)5!<&F-fS+gnl&O=8 z4i2sX67{TRAkN*B{8Hc`2>#Q147M6#r~28L!CIB=GAKcpA<)|Gy>hPeY8;TNC&@68!H=$lsZu ztDeN=CGCgqP0-b2kMs8>=<^f$$o?(P|70S(>@MT3DMKb;8wdkI|ipTEd$PU!bU0v}G`f0~Hz@dW;72|U%(yyBWQ*R@=kU9k!SqE}y| z!)3F}-8sk{oNG2A*Ic zn5{a@_r{HDb#`&$lwz3^$$BUpeeR;^P|OY|*aF3@Xq=a#lc@@aB4gOoqH~t9 zA8A{EbIXm+)ThPHt(KQRuXXFTt><%QtG82ehyQNIXv{ru*r|gdUOM&YdHxMu*z}BV z-_yByQyV+@6x?T;J83qitXc3#iq0|CNTJluXj7-1pj&DfRXiovGRiW^n9Y+jNN+SB zXZyqXuGuSB#eITJSq00V>Lu%$y~KFU@&575W`wmFBcYP>aFte$iY}gD3$oE2SF1W9 zo3r-Kn>TH?BWX9Bzt-FFc->Vz=3%Nw_B`j;r;BbPd!7sG1ADONSsOogHkCYgmT#@U zBO=WMPUfcL+4Y3>KiKsIobJqXvg_%xMkCnu3?qpC?g`uV^q8De4a#0qY16bi{ogV- zkzLPj+9$bI_n*EG{h_!sa^y9UUC*%)!1P;>JXA~#q91>9fx{sa+4US#VBDG@&-eSh zC;#c5ua6KO=J9j+I)mOYPLa|7ON|ma{h?GH-m;q@Tx8cH9{m(Td8jfzQD=5N=@L5? ztw)CgP_+t0hbPR+_3r0Dnc~?a754pGScRj5SqxXFlcxN+hQIl9JO6v>uWXsXeWj$f zm43Sw)aqpF8&&vRU5dq#VDohidU%flt5w&4M(}Tw0wRik2>NJmUfczFlhx-_7T$jZ zny*>5^vdf}Rlf)}+ZCqN!sJ(Ho95*Flw5H}F2zT2+iiXpE>dxke+p_w{tfn&sY35G zI%8(JvhcgSzs7WOW%Oa^?e?fuq=yjI;t&1)YVkK)jMd_24CP$4{lZ6n<>#L)f6C^c z)Lt!-1a~9w@#CgvMZS%&)fk`YTaoYXm^{j{WRgw>n;3$7`_WAw~e3pM~qHhI{r=(ac%f3{IJ8gL(OnQQ|}5mQ0}#cH#jVn zlA)xLoR8)U;`qS?{{000j|p7qh=+(2bWzb(s-+$#^gFWrgIHmf}4o4)tC7lElWnDh(@RqXQ?xT~>iu zQ_Q|4&W=AWmrW`WPX)2w@V{!>D6U}FA3FAKFfidb;DUv(^rHqF2TXAP#8l#G);o~q zhnr{|u!fgjE{p>L{#?fa+D{eaNtc6s@R^T1;cn#$Um{e>li9`Sj=4ho}VS z@l%@>?w?R(YJ2O6U*iDH^S_-20uYS@$U@B#yL?n0YCLeFu9AH}*0HRwx^wSFbrHb8 zbB;Fg;z6Ddq$iHZR-*iOhAco`rBYW2d#u>=ubT^&(bs&34g1j{GJ5!}| z@$yzj@8fA-BmWqJ3{eV=Lk%FF{Xq5@&#A&)WJbyPv7?FeV`svEF)sI9#LthFnXt2U z)dp=R(Z!ucq>P#w{&?$M=c~*u=%{=<$36=D1B#~@_^c=}NwJG7yh(de$~PtI2L8oT z_-2J0n5iq(8i$sF_!K%*W=vJGBW8S$Rzu;7Ir?pX_??O0;08~d_o&gq9>w_W=%=|;A)=ChkR)OAt52MQ|=!z)6%+lG)1c|zG zqU6LwSHFJq<34W>@Eq-@(LHh$u5<3)i+mGZ9+O)8~+E-oa;WBhNmC(WDV%IVZvIU8@3(R++O-?Np`_Zr=O z<0{A>F}m7oTv_;u##g(3>Bm==zKY|VB?vxfe3s6Nd>UU3PGbC`@zrkQvvgOKr}0&g zXX&rVcQ_``@}Z1R_e*PhqO*Opj;1Xle4jEO0P;PZvk}O*ETi>5;SE5V+su3*Elo!2 zP_)pqzfKM_ZpnNFD16A^7Y%BEzxcHdDEjq4jgz!art#A&&Hohh|24YH|KEY)|FMS| zwa-MExfdvTA2)h8kWY8!Y9MVu<_hya&v3P!lA|_q21yUmPVJ!Rt@6X^V$T)l;cCw+ zt5#uQh&7sO3sNx_Tk|Ph&@s>C7VQf9`teoewUS#~$^-a4))oAp%RcDy*(V(zFWubr zo7o4whL=sQ)9P`+pX)g39;;-MC(*JOQNJCeM<6(jL%6y%pez+GX1%gh{-cl--z|$S#Tad*B48ymmDO1`D=VCn}+x}Nebylk+?jp zl#h_cb(O|R?)2xd4_X;buXz9v?NP=|)$N0REu!fy>w<|6=&~IPeSK|?hD}?TM~_GY zhx)zBvx~u&C>THMi+e^!X@1}DSw+T|iBX9+VL|>|YQh*zU(m9x%V9m|zwLU8y*9pX zD0|E)&*IM29X!H&5qnkQY`^j6{wfk>bsl$tFQg~bRoS(~UGrFapvFe969w9a3NZc@qg5w zY`(pWo;IJ1=PRR!`P^##@lFddze@O1EdFZi73-~EYxeMT1!VozK!rL zHa<&FMZUY?YcM`bS4BScr-M98Um0JX^z*uA-VLNFobv{t`k${e{7N9rMdk{_PX?+V zJ>Brfh=YD+=1V~JxAy>%Gh6jY_&W`62a0cn`RB}E{aE$S7Z^U*;1OUAq*0Gg9|j5! z{n?%1IM{-+7N zyg!0WYasr^4U@{(PSGnlIIUC4jnPQNoh3i=ny7zy%;dG&OSGOwOI^fH^i#J6S0Zwv{^c6e zXT;>0{kxaMe`KzY5FY07bA5zl|C0FA&<;Y}fdjXRy;hou zcIp+b_0jl*xJp;t6^0gdkZb#tiRdDPePPO%O8dfEE3GR;r+*aB?(luj0mH8y)Wj zunr&)Uk5l7eROJujz8H}Eb(`M}7SLx>UW&zRlW~_o%dNd_6J0m}8FS!MT`M#mBqsyYf@o?*EtW zW2Q$n9cqm5r34@EvvX<|<1U$;Ko8$#-n@z~$IgB%@he~Oas8@EEcm>_Com*4s1@1!yu&B7jJ{W$1DuV+%IG6TpYPeq z=&thv&DJ~0=xNKqc~!zU8@*ci&I!T~PCy?q`dL-t4;{&B^ohpL+S4y*`A=(GdEe}= zW1i2-p(5W#bUb3~R#qMr`80kWH9jksihLSB2YHsi75NUw5}-vesD->JY$ z%wPMQh5wZIfHHCC-qYop^B_3$)0w{j3f~Q+?a90!$k1ZWP9SYbM*IE*b?!Ywh0JNd z*}&fe>hWj1mvoIYM}X9|%>M?;Uq%gr-!!QCD~0>G;co$I|KyttUJX=uSsf_cVuK3} zYED4mpJ%wv*r18bd<-c6yMYR)c>=O1vld9wGiLzj0JZK#9lHDw@TK5?3DmyB4;g$L z5Yd_Ifdt8rCdZ!xA%A8y0FggEZBR@M@n)%m@Iv4yQ1oG-@Gwu(1CD>mx*vV5lKGMu z;F8aulP@SlaFpbWV z1pR>o{rL&}rUafmuUz#lE`M%9zgz+@pI`Fpn)abDS?dgbVP+}O31Hz8dreu9x;Y%% z+vR4HN@T8dE1ac)omX*(tn z`??vSG%p5D^Kv`mFNpIk{;T2RCYRKCfahqu_3R0Jr#m8W&&Qi zj@)X2_L#gL@=@}FL;U*iEU0!}ZFAC|^$?zEybsYCS%U_Ii{{bPr0b`ARCM$YPS_>a zY5P|n?dR&?-tIBx81zjjbd!SK?jy{~sE^8|&6wI$e_GzFz0a}y>Z42myn(W165~2R zw4~cT)}MW{7(hux#4)%pfXxvK5_cebSb&Rs6$2A5j+Ad2(IlKc8eWCDJSn`7@Tb&5 zB0K^JrzwkpJA_lUcbc|}>WLTwbeD*H*I^e0^BRX3Y%{ImEIpNnPC**K{eEv zbSQL!$WbgIsX4FNX_9HT&X@&8{@=e~$K? z73L{A8ZZzEGkobo`(AsGHiY`v&!PGKO^24yiY)1GLMHFje7dmAk7l{Oeo4?2!ogfdeZATp>NC4W zC3v2M=WR*P=i&Kod8+*ECh3CA^ZW$wT%J&p@_drSeuK7~vU~?1lqI907{kM!;f+Ox zaQn4XlpqR?E7?~c&Nn^TIHbvesK#5v;W#+MABKqJOXXQrQlCpD#^S~Nns^?twEbue z`Rn!JDKZtcr=;DH%W$-MDz?)y={a5&T`-q?N}EYDZm zk`nD$u_`4+3TN;SCccp2weWS17hT>iLwFPVo2+@@<_KNQow_XB)V%7tD}G0&Io#Mi zU$=Eb0G3at(g|+!L~iyD#|CcLx}k0DMtNV>tkYA{S)FEah4YZ@&&saO&P|)SQv3?( z8JzA}!}x)B^9UQKVzH6%UPia4FCHgR57dgF_xU%qL zM*r6;;m6d%;Hv3gSL5l`^lvcwM$c9jKXX*hRkKIx`By(rYWZ7no^J^fYHZ%s^sLC| zbTB^Cw<6!&F?p8n75N^7uk+u%ewP0g`3}RkZGw47>7)779^zg|K}UjWU1sGg^4d~W)!IT#%}`2gUlC! zlKWYp_&#CqJwU2>rV}_7_*$U&t~UCW2486OAHb~n-46oke`nqfWVJbSEl}aE0ZP8? zbOjfgzt*;epK0(WB4g;9SpsA@;O37-KM$NfK;{e}^URkY03qu#8-S9315kXL9~RWM zI$%b|s?3{aZU+iq%RgH8%xWNGzKrIn7~^Fw1uCC452te34^+9_0n~i(dw{Uaz6GfG zw7*{XtBpR_;D1mbdCVLIitqmb#rM~S?>GD*gC7RsoPC_)c^ioMZ*<;%9$0c#n*TC` zi;SKoGX8#J^RzmrOY^9q{k_ZZ(B6VNdT2kDPvQ^lr+M!FT(-W7AtZS~#;e znD5yXB0lY0e#gFn1OZF`;NvF$>_9a${*%exx~^L~IX7)xyKa9paSFwuYIc=f@pv{J zw8nvC95@`m$dE{j3U-v7Fcv0o6*hi2T-Pnhv&tN2 zf=x=cVTb7YJbpsbO-mP#5wJ|~_ef53UK;bMi3rAx#?>3AVH@@{%4lm=3*M;YukX_{Y3m0ANCtm&e1YMguCp@QY zjJljk`&U7ONxCI)_;_CQL$fXVEbE!|J`^kT@c9BcY6t|bhCn{BcMJn~D@;Jfy z*C6K?3X5BHwuj+=GD$5hH*C>69b9rBPe>Qv%E(!g9UgBRJf*i`2}2y` z6TUninP|RwkH*ZnZ8JO^y70NpH>Y3i*A!d%fNNfrzDG3QJdbDn=+~t5{hH73L|tsY zd91(dX#eUX8Yv!;7-nn6@;gU)+WvG8|9k(PsQ~(xnuSm&yzqK?b|1yq(R@`Y3R(W; zyN@~%{Y;#8A1*SuU{X2XotW*#GSEh!%+9- z`=j-QL&?2iPC&zdn|qcbPWab)klF8^VLj&Kc8v7KTx6cH_iGKFi}}V!#QE^+L?2ka z-v{Z}<|yRvnCc?Uj=8(Hk}~Q-Owm@VPx)AwY-y<3zHRDBgs$yV-S(L^%G34|9m%Ex zJtKI_71r`ko16rgDG)@P=UX^v+mD=5m$M@oYCK3%6e-KRFh z6~SsA_DLI81`07?vx>(azP5~ZM|EY$Dq>trj6OVAesNR}$RPwQSr}}sg zWcN#>e0D!2P3v;6la+6}S2Lf(?j7qM$#;df?|>usKa$x_p#G*kwLA9m;OZEY{2Aq5 z?GBAWBClTO^{u$q4(Fw>dBoM{yq<}B^*gUG#=Y{+>!We6FFUVK#J$c!>)IW|aj!f1 zWYz9CD6jAG&*y`Z;@%}a6pF8a_orN(|7Q~XU`7cfQ z)BHJpeJ6{0hPKI(itm@u?O#*7ZK1$bmTr!9f8h*g6TL{DDqV4>PPBeeqpni;SdC&0 zQjLb*d^9}dUKP#o3MqM2jw(K8A6!BX^az#n$r|OU_iJRE9#GFur9KDsG{h{b=iB8m zCzB?&cSw&kW@-LU)K*5#eCcWBIPV#K zR+AzZ6h-QBk|Il5-DCaPkGPV}H+@8{?uQVg;#zn`kV`IPJ(qYjhA{?%jDfg{V%YZ(jI7&P?$@Yi_i;p->q!F>>hT?Vt7$dWQ; zy%y!Z;%m~P2YCnnFL&<)A7@eRjc-e7Q~q=V7Og^YfdVabF)b8Y{%+bVY&0pcZLlD+ zNt3h*q)AA!kfM?8O#@j%pjSbw;=KV8t8(uf6}hn@q<}OaNt4NlGV1rn(}es?3C242)XT98<2_BlDdW-|C!;zv)mV5LHA!-cdahY<_)KR zP`F|V%Xg~xcgJIXIB`UkOEmU?)!7^|FGToB1oxqYRAE} zu@HC1klDYaW!eva`yCs`85F3DkuBhiWbBb9F-i2N&$yk8qNS|_l}lR52aZBkz5p`Y zO6b8>vUestUd-^2ynm7I)X_`;83EG0sgqxt_q|A~l!q+~>`QW|-b)W1JfpAo`uB#W zWCl-VahTTRAUCZ+O!^$y=j_g<97BAtlro-F(65SbU3FwVBUiVY?s8~+s) zwp;&V2KB}lLILQ(Z}Zntil88xi%zp;R6U6KnJUGPo1#D}eL58!d%IqkCaxMzT8h&( z+5QQ17+2rP(4S=dmh)kqI>qynu+zrmD~AT%e#2hTCU-VirOrj&NmoTDpR(OYw+BlP8OjT&%Z<6wVBK(|qHC(Q`4y!<>|ZujIG8?5Gi^OldHGmBP4`!J z{Q1Y}%g9vppXk42=Vs!u#KYPitd&0zej@>kAg3Je0ms%4hDXVEj%SAN!i>zeO=N~I z^)Zu!o;rS{c9vDZQQHsWJ-L;-X^W zQ~?w}j6ck|^!$M1RX+JM__>jxM1x3*`u--Ubpf{mXkI8Y&VsXIS!Rce*W22V= z&uPyG9RCG2HmAdzWnFCi(y9(n09#-Fq4A^g9cTvF_$R2Z);8kQQ5j~tZK<$I+LZ>D z@(8mdoz3sReRP{ib9!yi4hVUpr1Ft3O1C|L{WbTOJA;k2?CF?*A&B)~N1BX2eGA?B znaL*8=jr&!L9COpyI7iGMu#b|G{aO68E`R3hkl^G)KX7SqcWs}?uLK%2q!_cL*O9n zsDh4u+O^x%rvpvz5m}Pm4!(KP%bj5E^k(QeNH2x%dLfj>(wo@a`Lvaxz4??ov2l>v z`kR?vb|tYfY^`T;!X%aK>P({Ou<)vhGCBx0sK1la4n@@ut7W8XgwYZLSu#xpGnh#n zdsnXh#O8nJnEm=_Vp+^!8}`VOt`DXv4KW$sEXpZPNxu9!KzaV5d9w*(=ak3Pv-$AE zfNAtjX49U@R#%jA`UL!~(ypDbC!f4!CKW8Bz2&M$?$O)kS94?EY% zJ8#Bp`e4U+j{(Z`JtkEybEOsq;&ykIapLasguNIYn={TCHd?FT%H-vmhW?W7oYrr; z6mL}ewA&fWo*R5iXvcC0ZMs7v^cXv)&wIt?ZEqU1Aw*myLJHoR!PKsXC#{>+*HVg3WlzW<# z(XgTDCUo{W(@=P`C@WR_C*MrLh%;rckTCo(I=*1!-uLbK>(WZN6J?SO4!vC|YBJ%KYb+S_WXTj~NX-=?;-|H_Y*<5bi@Tf@30 z9+lp zKIfq)Z7%v7l3-;;KNy6$=pRzLr#`U3dp;y-z=2{=QcWjh@&4C8%1taS4|^cR7U<5DI5KZSn|iR z4Ov$B3iZzye_Z|ZrEg$A;gjnBg*@@cX`{l!o*z$^e4Eu@L6-l(e*8z&U&Y7@Kd$~) z=ZU|CS`?mh49E&Up#Fh8{v+zoK@v|^_;K~mm%jn5gz-7Xgv<&bI?DL-yD>aj{v#a3 z@!XWhzlvrqJo)NRT>bOOH=zEf8#Y<-kE{PxdHkz5zrmBwe??2PhAfMJA-AyL$=AQc)ql4k%L?D36+g1I?Q_;K~` z&Ep^EiUFP;1G3^T3>c4p&f`Cz{#uQ)!jGu``FX+@9%npcD_f5A6=}!RkSBb<`s;VQ z+3}xX0_LlKg<5g77_!0_seiuuU!nf_>VI54^7Wqs>i>M6^lhdU2v5HF2h^Y6<>ASa zKcIR*KKZo!@a6k%d+{%z?Bcmw*yAV1`H>}X9#T3Tr*qOZf^PM5hM(5goOHL5pVH~L zos;eX&=vgJ@YD8{lWrI2DwK}0%9A4<{BFBL=`_D{^5b{gElM|M0)Cgf_-X%LC9>3E-$jwf5he{1q(qI7VI*r9aVjB@guGday~BKgWd*Q5L<%9nP~ zZC1L8_}u}zElT%=3G$hD=@tIYq*wKXoavyxxkvfwu%44{CME{s2S9f&=*E=phzaDY z1zl36+6U2Kj=nDQ|=q4IJo&{Zt(y88) zGv0SVH>z~1|Ky~bGY#_n(Zu`D6UbKvx>)wgo;TLrqnZj*oc(sB05_?8;yXiNdb zPSoJ|NpiPu@LPb;$$~cnegN?96Meo<0w-G1+_$C5j%nKGP+>5}M0RI!6<&{m z#14$$6Bt-f*Mq-C1t2^Ha3SC}%!>%mR=5p;1y}eo=555UQ+SBNComtR`&R*(j&?w% zV?N+&K<=Bq0`N&h&V2eIAoFP*U|HGt$- z30MVq2$&uTI0+C>@J=vCUmd&y@CY2qauy(Tj9?HDdt7Eu2V72iz)u0zBk)ClR{&1N zxhWNjU#R$5iU$>c3QSjk{;Plo<9Mhq0>Y#dyaf=Zq1iVY_u0*WE8#v9umW&5gkU@` z0y3Uw6@NnUA1nSn#s3NL6QI9V@zsEb0lyd!@y=eR{)^RrmbxDScqr%&1B3}~_IpS) z=+}P(ko>j)GXBc}OM$OY`~t-nDSiqd3s!>XFC23kn!CG z$oRSd$^QyKbRWTTK+>NLI1TXeL(Ta{Lx6PeH*o!@0K=f44Oj#CTV&SxfR6#Po!tSr z9Pl8?Zj{&X)Wc|GikoC75ko9*O zAnERdu!J0IE&x1A@&BAEcJJVmfJ4k*mM8K^$^*@rPp}_!U^#V*!p(r_l4i6hUayex91Hi5;*5{siU4QBonPY-=Xx8V z4-j3~j3go<2`bH6yNghr$-XS#YmVJfbiJh&0RyC=MElrw|Zb z&x|UR4@8(6QW#LkN=Nr3%8PJFVZXw-!YYL!g#m>=g-MjJgjd+FFs`slVMt*>p-*8F z^+3Wa>{l39SfwzeFrd(s}zP51{C@f zCJ|V|E9_SoS6HPmq%fe+r!a|f!t2x_h5ZWS3ab=`6b2LmNVvZN$~jhaz!OEfh+F$o zH}Z+NwI}@y`A*#0k5(cb5`K;e&-2V?fQLO#<#v=a{q1_e2IAmp&qw*1<&XZ4Pn(Tj z@k5lqT@S!8WBBm}&*?V2;_s<^)_%`9hRCP>r$Lq(aI@#Bd{^bO_HydBq#rrK@ZY4k zwP*954f4kIse9u+kR>1ocf-`T@mxzA*WZDE=Kwf1IH|(&BRrUZ&}@_PrM6XYF-WN^k9Z z6-Xb?9kc5_zr{Q8xaRjS)!(jn)gtfdzZrT4pJ|E@C|;=acKvKO;un5eA8tYz;&%OO zuF}Uf{2A&$qWA-f+x4`^QQi!1*B7qW@OC}pJjLz$#N!%2*vRvBgk^YZpZ~S;v-bS2 zBmd}c?elNi_|Pfy`HH63t{==)es(>AUn?=ZU4J-5`B{7Zk&0XUeW}Vf06mY-UX+id zPw~x)k86I^KpwDno}=OK#(x1HH_o}Y8xMNukM;Qf3i7$>cYE+NJ@jjk-){QXfw*z) z?;Ux0&#v45aZmVLJop2i_&BF`hv&N+r|ry*-;eTejlRP-}CpY~y9{)m*Jj*@uKZd~W@Mn4aKkt!;ryjfMuk_%VN5$1$D`&#V zF=!Q)D=IEt88$bThzpNH!`XOxke&6XYkO;~&AQh%ti!GgU$myauI8#}i`lsml`SAq zyU)WM0;l|Na#qY9mlt(&Rd)}gw#KM#O)*?-h&CRvC+D=4E?*VCD7<37hwgRYL_FM) zQd5l>m@qx`Pt&K;8OP|_#%f-lBKgo}Pxws-IxX$i)KHs!&q`(*aIhfu%0zWDjW?%U zJ~rEnqSdkX`evNNw;^h-hVw+WC3ivi z#_Yz~hz;#g?8m{&+GbZyUsKo06BqO6u(v`vn|sI&;WBd=k>_+b)zE}6Wr^C`(%Rgy zA=*;iUXMczT{7i$x0J3!3GFG1C8aA@;o=%p!KigInYQ%f;bmzziQCp(OQ@GhM!qW{r>WUwpeyw}7gJ7o zbfwa{$|pm9oy`!bQdQGE^o!p%JyE6-- z4kwD%x;@=x(%hmq3*m50cP^&S!?dSvS`pGdDuFU^hc*XdE-hYJx-5!AHqqRRQK?rd zWyblL6)P@YeQ9)Ac*Uw{>GBINb{#V6x)^C`sncf|*A8sWYpShot<9(bqYINz!aPf*|k?6AWis*&Q z(o=bXqAh4)t0j_2@$CfTADmwFwGk~3S z`a(G3k#kAgkUgh0gO7cl+WV*XsLDV+68!>d%lo>oJ;?xgTA+{cu{e0rG(q!#JO_F% z=~@bchx|kqFo8*!NSwev+2?eY6t60_zPMCL`P8e^C~ z+mJl8qqrYUzT>pNb3eybh$;)zFu?luY+QbmfIro$LC;urYqtmG%-VXfH?<(B;?yije-sRh2g5)N`Ht{by!%oQf&n&oZ^4dp6H9mtx0~y3 z?{E(`dT&jAB~3(|0us0d8|7#D{N0PvC~uMC)WQ{aD}DP8{|1V`c(5FZ#GP6~b`B4F zgeX$RJ9I*G5oJ8Z0u>rL)ihK=N5~n^8_D?+3GB@p$+LLl7Y?}5C5{V8B7HyXz%o^& z@Ah^8lLvj31CidJh;z*k>73|pBu(P>Dgi%PEkLfdmk@HzlX2}em)-Xo(!RbHkd`Kf zgiJmOVsByYD({OSn$Diy+ewoq@Z^=2)3wN(;=yVs8LXJd2U8BL&17Z7*CK@P)<~~Z z;7IRuRF6H8CAe&7iwEc8*9x)+@4nPU_u+;B_l}lR63~6&^ONU^A%LzrkMb+x$0_C?1U;Wsv)x<}FI6a^$3IqzvyFekxBE z-4b*e=o^E_0%A!hI0di(@NJ|6uSfkS;8fte=V1omEr5QkvwRki;b_+*J@0!U{h5Fm z0)spkA6;_r&q&)LfDZto`Ucs{kp31x(sS<_aURl1d=MfN|2IJ52|&ir^%JlRRs*8C z2eHN^{^tWyo&X^F{@`LjJaX?YSk3@1j_ET(fWW5)6aonTdqCPbZMnV&oOUq#9EEq{ zwp?GMKLoMk^)}!xaw$hQ&UZI{wg<2C;4}xj>E{D+jt`v5N6d@sNVTn5nhgOfMACp!-e3TD}JN!yF=^6r)>)x zaM7#ke}6k?tfR$4XGX7>bVw2 z+x)xq+!8cqK331A-ME4d?^DmMP(E?3v_ojL)Xj=8aG)J$J^R&j(Yf%s$^c(T#z;i~ z&{Q*?{pqQOZf0F7yi=6r$$Kdz-sGgAiUJ`nOJ!EIXgLSBkQ6K1ynGX}8 z!;NBK$A1fzWWWmCB-%OhBaTC36if63W{Y#U3Kpd8N1yh%om)XI8bkUBj*Kr3RbHr! zdVU;E(y1>Nk9N%1nJQ-vnFyW|he|~AdM>gkWnD3e8h60`v z6GKXHTLI6Rle%bP@qE#o`8}=keKEo^oK$=p4kw}5_*_RJW{MNC-=h~w`Iz&JkXp#D z>ZIqyAsc_dU7pD5|J&rpeS*b_A-A&4OKEY4N16TjnN>qtKoEIhrcs@E+t!62l+X%v z(8Yu6Z9duW+0pvh%21TC5fo<<2cAlKIG^J}iB5lxYs;rAeIF_B%gl8@u3VUGt_v{t zWU^z?kAc$?ejbk7uA)!h;R8^|iU&6X5eck>KSssu>fDLh2-HaF5mdmPa1Hry@i5zD zm~mOLc<@VJW=&uw4UOMrce8nz+UI1ROuP;P6=r{rp}8PamIz6DT1L$dJmACc+$Y(O zu#ts6v{yLu0I!(&cHJCc?h&!uh&Y6}iU;qqGT8L~%sNQpPeXZ&LyIEjGFa=OACXM8s4gDWYOB={x*z5%~v>gwA2n_Rx39+a2(C zPE0U|@1ToypSRhyyU0_OGmAm5nQ&#Kin@K3HJ7wQZ#aWV#5^#MfpM)F!7dur!Qoxbac*s}tds40u%6>Kf&m5t2 zf(u$61%^iGIse1-e@=h8-}4&Kf8b^gdnO;R7)?B7^E~M_{lp=q?KeIGrJ{In2rh=) z&b*I@i*_7I%V-o1ig18VkFeSDJLPY~8X;`KBj>aQNw%GZ$V|a+#G5Vn>!Gd`4?g9H z=0yJY%b0U~F(R6Q#f~SE|M|`%NOzc-=NCw6+Wz`|@Iwln2VIjqqRTn19_114)_+v> z*jwR7efa;>^OnkyFa84cc*jHce$zYR37;>%NgR({k2i0uJkvdND_1WMufp<#!0an_ z+ho2~R}(x%TY1alP~ckEtb)`fBTZewj=Zc)dHjjQLuk^!H~5QKN~&JR=~ z+}Qz_aCp7Ppf)=k&jEeon1v_He@I*|DHVl_WsQ~^7s#EMLjl;|A_j}$>T4RJox1cAHY0o0oj+;+zvrPF$xla6-Bme&nGtxq}WXq)O$I;~eZ=^g;xW~I~mos({ti=WoBoOFkw zbS=M$jB8e?_viIKt6sKYxzwi-@Pt=+8%PIgWtu@dc)+iwu_u}{4TcWO+%;c zBPSidi`}Yp+D>xP@w?c7-dC;dB_|!fi=C@<+HP{v@w?c~N~i57Cmp|wE!bnyq3s|i zot(p>blM(r(($|41L4QLeZKwhI~(n9KJ3pk0Z##Z8SR<)qkzQuodcA}U;+?hey~|_ ze)oVp41O9A(HzBZ(6B`}cpM)=4#WK(kl}s?Nctf_(sSQ27I1>ifTsc;3l{zJw)7m)G3jKHwR1z!L}l7d{1CjHL= zN&f{vkOtcTj|03M@MC~y0%9l*o(M?#j{uUM-(gVxM*$hnoq*_*g8u|ax@!SR$8T-P zXOX&}qV7L{C*}VlAnCbwN_u{a%=DiMI0x_~K$s?H(?)g@@V5YozXW(9@ZTx^UBDB7 z-=p|dfDFGD5UR=Sa{(FtEX7X%WcXthe+6xd;r{?g`Y!<<54;<2E?@^BM3MWfPX^BY z+Qg#@O99d61s4G#i-I2kL{ftsc}V{zsvPNGRrnO(F>qf8csO7f5TXQ;b_S97AcuT6 zf^btS;K=VnB7npL3Q3HrHDe6n0)RA%KKi zg}_|rvCjgFPd6^VQrwQC@4%V#0~(-2{p~o;@~6KYx35>+>JeP$nSr#&Q7C*O_$NND z@v*<=x{}q)*za*&DWvoq59x39I@VL-Ru8IIJcPpFb2t3xZ}p(V)!*t}n-#Zu&?Smn zy@qR$5+0R<&sF%RJl0;%@}|Gl^RBbu0r?~q9|8@ZZi}n`pA=_(;PW*8$-hVQV;aI~ zQ1SmT{M`6&;OfR>9vppIhW}O%euD?!=D}BcaJEx-eD8Yji#+m?)=f`4ts9^3q5qSI z{x}akEnx2Ok9zP2Jp6v)!9VPw*X1#}LtEDKWMX7CSS#Mw z`E+81{j~;{z?m14n*h#|pylj1WNhT6tL5oX*dVfin6>c6y}iCDm+d%<)0EjDSU1dG zUnE_$VIh_pGtz2y4Y#+-_FKD7iA{@kW320vZ|h`5HMsD-W?_Rnck}LDwL#6cRg+2F z=!eaAvBqW`S7`Dfip_g2H{L}qcdlcF(-pw zW$d!FtX$N>sbL}Z7-poRx((Y5jfyGJaO&!hLpzQ z7*jc}Qn!-lK=&cO4dsCk`SCRbWoa%Q-sk!(l@UI}2Ka^`42PIFln%<}efGCLJFNUZ zqXBz#e6f7IS+u|V(Tg-=0?J?<{FvTB$miunlKrjsRw%zJ?Q9ECE==z*_^C-LgYEv- zdj~X=MwB1Fht?sQ;*e*(yy(vyK#r~6eT{(`qF4Kh;8_I;C`$$D@SterpM3rJcjm-+ zKhQ_)=l}TiJFXu)>yJCayC_a?80)XN#W4Knn4sm4@~*x|@J?rYqP$&`5gJ)j*%2Nk zJr<)zC;Pk36?(3qU;%gg3sZDeGBW9j$T^esvaVU6Nl6&mwPn2*oJLbzdsa4c;SC%6 zjvQ=yTMKYFvRM#HaRtE8VZqIDC2u50&duGGI)QBEJmE(()}~$OKesrx{E7D6eG_c0 zwR|;dbMaseTue?_Bl*Wr33i0V**qMCbc1^3jxK4y2{*`N z{Y$O~5`S|t@Cep2wvszCYAf=a6AZA!8X0yTZcie=(IVi4n=I|hwAlRFzEkdu-|A%i z*3^K>c=F?fJr}P@5T-xHbV+QuqH`NnV4H+~gcw{r+I{LK5J^R|Vh))V#Q6-&TY!3F{o=(evWq2Hc8Lu+uD6~9T9=f? z67S)cij;96LYWHSO=9W|-zU}XzSO(#O0|=P8_D@duUN4Vapty5q=~CiEm#`PSPv2R zzhiyFyIvv^a>=U%XDCDxzmNP+-CuOz>u0jwgKgGW0p#9+9P4e!PxoW2N#+JYx4ZY< zj$`k*J9975KM+SRkn^!}SkF~uE29^Ni&s^y2>Y-}u07TkZLPaH#xEf=(dab`vzI|c zt*P;~)z!4)Be=7D^Z7LqfT)d}!a5I|IiF|sh206Cm#l|D?O3FvpE?2r^z}pov;6JY zHre=O`P=cC`%m#?`HyS4s9iA2pWnCgnPWhfe@Ojx%+K<--z((f-?AV6{pvq2Py8eM z@rSKUo_za;i_|{p=mL4{_j8p_%OR&-v=K2`ep((m>23qvthY@I(sId3_WM^Vo)J_erxgzk6VHvqA7BDe(*e@AV= z&vf85fUwsEBY>zALGJVZAmC|$_&e%kg#m@{qFs^CYk>5>6EFZg4v45{hX84}Jwx%| zA&mvVcK|}=4buL^@Z8_c@G(FPr9s-+Q0Bp-0bySZ9tuc)kD_o1zX}KyH`oV=aKUQ; z5k>GEK-Br*nSgj^Q|CPjxT@E)hk&CGa_p6H;OL5GbO0iX86iMC8TLxll^N7j5YJS| zE-(aQ{E2;(kO*NC{)9sc`xV9&Rw)cA3@8MUaLs_U_u2W>d3dM2(Drk`pg(ZiZzb?f z-1bvJ;>aL7-&wBVtKiP(14nnSAW|tU95P&`u|#S+wYvt@Q9;d`|}Us zo%X%}-1!`jf8zG}A>L`fTded`@b2>V{WA#N_!S-;WuD=Gy$62-f!*Qx?#AbN;`@fj z|2+@>pa=h{hyVE=yv~F3lO6myPsGFT`yQP3dpEt?LL?@(3`3N-xQ23Lcyl|5$%Xbe z?vcObbTJaiD2)%=y(Tc4(K5q&>|SZJnwn3{kp($+l)Oneu3-sj2uv^ja zPGaE(8UR0xE576>eLk8h@MN&upWUeN zJQJt`gEya|3k*Ml9k|_SXeD$g1PXl`=hb15qkd$^oD=ZQf0iL-R5|f>;E&GpXy+N{ zJ(S#649meNIRK6*92Ur}mE6I5+xGYilS=&eZ!dun2vhcPOp50+0CzO^EgCul<_}Jt z$0StdCSMMe2r`xqGKL_1404()$gtTQ$XO4zo;7_w}os#V?kNeLdRm4<1i>c zO~<9yQ8(Q>yMA#A@h140dAvlIYhFLmygGB=u$hN*4xZc25OCWGAvWgf<~s$GRQWm~ z+pf^n33Cchy7Hyg;0L*baM&*0x2SU=QnvzbHmm4S$nvMh%1n>Na4(}f`+KMq(dO?&_{#lTXYck2y0$}XNuDC+r1#|=eqPX4i46i zvS0q+aPhFWDzk>=;aB9eS9=edZL`v}oGWQ5LaG)&W?#L%K0U#POjDMoBx!PuAJ~Wy z@Hm7p)p`ToY_%RkyK`;sNA762tX;=x%Th-Fg6x!t&WnSqzwb!=GK+2Gds5Vr-7dJ= zjXgzXa(E;rh;*m_!R)1J6^0YP1X>0mw_OJ}%M~f@OoGQUxS2G43vV_}GbK%*bLjcC zPT!*UJ_d?T$I;qsZ-EOc>6q9rgZ}Qtg5%q1>`6zc6Tr*Fikv~8G8WmmonGpi<~BW_w$W$tDg;s`iu~OigH08Q;6CaOdoMFN(qXl~JI#^` z1qu-?Wpznej*z9fnEohXhD_3?u$LDyb5LXUw! z8s3$a>=cldGlML%p8+u$XR~q(T)H}+1p{gq4g={ls3IX7@N2u3q|J41OMZxsDmjGiqyT~XEQ$6a*uCmdF1m# zS)wsrt{Lt=BlV1@E-d;smY7e~iADlO||H~A))tlX=ZPJ~O=Kb_+C_(WQyUuAf>WPK>Z!zJst z-5xGk!PAkIS{MsRJB=p1ZL7x*>f9*^UOdQsNg^mJ6N;H?-ngz80Zp$LT>xqXDh9xM z5rJ#HC_~%I_)^cV%Xq%~sRZv<=uqBoeQzn;td!vYEmM6uUU>uAp~6S?Ha@F+`I9f zY6O|#akjrZ3Kz&G9WHwF$0W^3n@)Vd**TJ(&PD`672u7P#e-)%>3kb+D6{mCkW5_z zN)y+7f48apIU>mjGhvk1OOz!}lsDi_6*w+l519-{q`p+QJL)zdwg|G5i78d*Fp_y9 zsAM3J&r%bQB_2j950fZYI8o9biFz@Do^aTS(wPvtbelwZQZiqDGV*0Cbr=pS>FT@> z%lXvU*{#_upHP-KDjbf}ab&sC1kRMj9Mj`sIdLh@7oPPFPt2aOvlJ2zq9Jgj@V51q z6logbsFT7-$uyAScgVwSSEnhkLhSw+S_e^t* z-Z|6>I>X`z3lOX18ixlqhUaezKkqb#4~R^z$~cz#ciqJhUyQP5OG2sb0q~{1Yl*4k zT4fY1a)g@zHg4y_503FMtuz@qr+lm@{FEb1GN&+4-4uSxD@-zSuwfNWnhgW2_~(R^ z{!L5^G9~#~XcFOAwunkW@i60)?914SVf$C~rMfRg=8QSkg)`@`uJKqW4hgf11@#;H zQspkmVsue52pu6XD3(2CMs)M=SF$xlOAwGK?s{|3;U z`CTXy*}3OI&QBwWCqxFM9D_yY9)oZeZD-uND?s{FJ85Fp>g0M8m^kyzkavEFvk;_E z(AD==KKdYLDyCM!fWsu;9EJm;#r7Sus|R9Gm(vXhG~w_|b*qOmNM_x-3E@-!f+*aF zE_9AL2QHKkag)&HCYCW*EHJo)hvl;DgUMpPP|ys6<0kS)NBfTU`H#vribqp7vHH@c zl2LUs_Awl|y(6UMGmgfSL|l?L4}Om?>2k_BJN*u5+#fG95A=%f@+X-GoG~G1kq73J zamb6z<-f5Do%ekZ_`A;+GCK1%^Qr#sxh{w7+>y+i4U%+ctodWVZ*G$OvD49w0+Ic$2&IS|nr_ruw_5H>HJ)K-q4kywct21v>d7{qer;PPrx!_QUc|-HZM&L!6sY#zvPh zP2{<1sb8QRO!0ObmD)BJj0~wy)00Cd${)MjI*0u?=_UO@L4>&0M~FhUM)Huq;Q^KGXy` zLj8Zy)v~l-la&npcktHSQ@yilW26lvp;Y+n)h;T=E(0~C0?j`6A z?>uqe^*DSnjN?E?p_-!%NXc;p8t4ZBB7N+Wm?`}!j!m-dv%3awppzEPeDvSIuAD7W zEGQUE&EUK9a9^B<=Txy5Ne9Y8K^B=)4#aNR(gA6rFSGA zMxj7u-ZU4*up|5cS@ebcn9$>keoI64SkxPXn`}v&DbQ0D$tK(WN<*y7^*=M zWFwp@YDKtLvQ8vmrPZbw_8HpOr+b)c6JpsRBLjw~xFiAmDa zX+4G`&Lrgz-(=3X$&WXo47h7N{ZqH$2bqZ|8K-0Y9Rf1c8yoDcG?|A3lo<5pD?o0% zoJ{Qj-eYq(4g~*MiGNTc@aBLkS(H9?BdA={`HhdVWk6xyPyc~>LA$hOfHdT%D5o(s z@4xRD$~mfD*+=UT zJ3d4`9k~O|PGh+_fO|8a{c%vWJ-Y}Cu?8_!IhcUBAODJQ2?NczA z7=8sJ09eWVf^!T5zEaO9!O`3?Kk{z03gI@P^8UiW44y%C!|0Xecu8>BuA| z2^jv-s&wHeQNC4dO|b#Z;=8*#?*>QdhrdQ4`_N0*l;6$Zy)gu}Wzi3z1|U>BjQZQS zsmv6DrcHLqiw4~rzWbbTzm6@XuGHGvFHsdqR6J^|a}Xg83ioTDA~jD)Bv*{RZa4)4 z2y=x3ygm~G>~jPF11rfeh(N`;T6P(3amsKD%CN<0E!uxnEqErY1d)NUp&emizauR7 zlkNzQn@Ctd;ZbQwFjmnG$NUMUtL?~&L~1Jv2urv)xQwF}`sqTe-y8oP_@`J?#7jF8 z<3*bfb~7C0zs2+!#+6qMiK}IZPZHezXOZD&gyA?$T_?-iZj6?*@YWmNeGYURo$VNg zQyCylMqWymAY|@U%#vSAX zY^-eFW06U3MQX5WJ_$yJu~RE|M{1slBpwqPQewH!6mT1ZYWd148kSJ9Di3YC+R@&N zs#E1u9rt`BJ^oN3?^|>qhFq8_cSZWjlVyG3on?LHqxx}2*Pbah``R_YWt^pEPTebCt+hNKMC7V7;*7kn!cw zP?|VZE7~H427WqpDk6!$2>wqb%7=}H&Q(>cql(VQq}cV^LHDXEGGH9tEEAhV#v}2i zg}s#{iOPEu4-YaZ&U%DSgmna~HoAHjQ>ctb+9R@Al;>wty--3jiVs!Rt3MW^{PrN) zJ+_BO%`WtQ$MgTyxn^mN#j(#EkbLN$k$p7GE(XABk*P|Olw9^BhyDQP^9N2J%4iRX z^3f7mrG-hv9NkKTGiF?-n>Ho)Gh1>-gS?^7RJ&ovT8(jxi7FrV-_QAW$XQTlU2z<{ zD-bSBlRbzJ;^2oRw^Mn(D_ZzL=x#Y1KNX86*nWiZEP{O>z2#X$l@Vz%MUv6Cp4HoE zw%QydB@&O+S;HT4NS3=N_UY1e=|}1Qk^O~}Kb51s<6PD*mHlyr3t# zl`V(_U3)I`-^$KYkg?*fq3Rw63qRu}ea21tOqY@(`gAPrf@b$EO;n1=b_A@sSeZaK z=tCVrks{sJj53y*iTuxK!!jc&ap})4V~LZW)>0x9`5Uw!O#1If7j>F{(@aLC)2rS} zr`xq!^l>h4sXXYAO3kIZ9b8@9S-Zzbwql;df3v=v;E2jum40)}zVr6&@xScDW>M@F zb?Pj#HeF{`AFM!mun)3(@YF;Hd(^NlD1a@jy4Mw;HnP&NY_n{<4afq~j&6ApB+#jl z@bPnsJ>&l}L-j#__dLT0BExWuBSr<*EI?EvcpXM*?A$kk6_V7s8e=a=!o#S=vWQ9< z^Z;1USDL0NBZirg@r(~s6J=s`%R+ML>MTSOsQsmbgH25lK7hV)y3h9`-rS%~vl3Y{ zIb}L3bfJB!dt;dH>KwubI<55_xl-#5N2CR+T@5-OZz7Bgr>12HNC>6wJL(WdKHn3$ zaO+$2=K@Rug4VA${HRlytVE|-WyPLTY}e)zm1E`%Zwwi1b)zQ9d>!d6-?i}tUmOMY zHhK{01n-1E(r{%#6ki3K6-e8#Mx|k)PC>!QSa+o6#;>@Oh0J`r4a$(ipeVeLlf*&- z+XGOR5vK#P8_ldzkq zZ5&-ZCe36>`G^^EPVsmDQPT2cR}y<09z~R_SlCA>jT=|Qgzldd>WMvM<`(I|s|qG{ z?L95zzwI&l-V}aFm9HUGw^3v-b@ARXxE4tD}|eV9Dl; zBDf!ZT5r(Nh=Mts`eYUt>^`mK@>i|N?_Z3T?@ZYK$4c)rlUgE#y^DdfVyl2s%^i;$ppRE_;B0F?l{hn%*=^fG#qPeq^7jcSPwBe8SA0+ zNba07ODNn-TiCUIN+MF23gza|3lmO0CSuP)GKI-xG64_NWBCxq+3Mn5AHaC1yCGn5 zL6Y5K(ZnE3Fz8@A-}Ze_7NkpDX{1A=by-r!ZYu1ld-}#a>dz7RM za#kCnRH-xY16lnK4j)>+6Ut=jE2tz;=eCcDl1F>Y&W$h9W`jJWRmPi+tb4`yMO}?= z)r!in@517;m0=(5s;={0>f7MEG`!Ncp{~uhwz{#c&bQpxVHoj|0<5Vc&O^*$qGM0Z4Xbr@NtaYe9kxN z$O=EiF%8d624wl$^ArD?C;o~fde1 zviWmO84o)*JX!uD>R*^A{v-^oeDcL#$bJ&f+XiIuFXXHkPrmwBr2caZSyuQe^}isG zeEn1)@vv*flNCOIMIJu+__+FW$ikE5KcN1c;N|j9s{iyn@{d!M#>4X* z@MQ51a8Uyf*AVbz`4@5I$CI!9ZC3y98?vnM72HFHr^kRS|D^gqna6)X3w9`vd@TVJ z@SHsDZ$L9%y7nCD>p#JS|BpQUt2ij*$ydMP>YuNE4eTfU$bQ0e@9;$N2h=}r{Zs#Z z^^1F>`Q-B-P>&t|Xo2ULHX=K6Ek}rO026%=I$dX^Xm%R6Rjyw!S0*{W**r=Z8Tz%PY zyKkR%_c`erAw!GOX}0I2yA5<5N~iTYC*1=semZ{Vq}%1dGK8Q$kQfX)f;lg%X9VPN~iimPCB0PUjK~YH<5fdgRVvC zRG-Mn?>@@+OT%xX_OTOmA*Iv)KPNw)&1Ctho{^JoKIp2RHSwyxk&}*R;14R@MCtt; z=!TT;_zBA6ZqN-Yop$#*<9!lzBTA>;eoneKKsTy%s+Z)XJLX`>_n#)cs-NVfD*@f` zsG(CmB_~}Y=mwrMbQAS2w}Ea<=~QpY$?pNs#eZ%1ss56aZWs9}o$4_;=?LB8w+ zUBw>_o$6OP`AwOQ{_kZ&r+QXSy7{2%mwj6M_Nl&=lWrC0#{OjZ4d;>XLFi?d;5@ja z0MYjaM@~2A=zV8_=$gTPKnzz$%>=|0D!2oBAmRDg;fFj7o&iYzBIuXpz)u1cdcX?c zhbTS(#i$tgmjUVC2S~bdz!u=2g8oW49}ot|;Ga<;j|2Q7Amh6VFaY?@$;SWtfU|(t z1JeHvR5&at1RDWA1$Y5qJK#(}^l`zLPxSe&0DKhi(|})9yj}650c+v@#tG(}z25?2 z$`$fXXPxqfd=rX_`0%8g{yAzP% zt^_2XixfWt@O0x}JM8(!U>&{$Bt*3wVRVqW~`keyIBI zLI>3b{KtTd_Z~pT%X5T@*8rXmoF8*Ao)ZBt0GtX)zONz^NcX=0F$E581pEl#m4M`X zE+F|G4M@5ffHQ$Vjl?qi*8u6h0g&z=RQN40YX*J=U<_~XM-)qvjvTnEVgrkFwn>j4?>6@ZNQi=O%-3~-QzKg`s{T@K#6@Ui=egbeF(is9|KAj23d^%R~nTk&b#F!g=9htKN za14-ij{rjL3jPp~{{O1}x2b=N`p;AU52$~E`tL#}GyMI44Brn({ z7|+Xq58AG_!PzWp^`AZR{$B`9~6H^ z@t-UHBgOAiykGIJDSo5k|D^a?faTy9RQ#iW%>Oq~NtXa_1Y~-z0c8A@fENOf0Dc1S zRKN(}p@5`giv^8g^*&zAv90J{N~0bULGaljDZg@9)Pk`L!p3|9b1x&MNna{>DR=K%7a zF#4A&UZOZRr_g_{;xB`UawY*u|BT|pif>bVKyjXrOZqP>UJXcoJRf&8AkRkq4B+o4 z`FxiFQXeDzj{xCy)W0jvb90IF++6zKs`xbq2CD#>&PsJZ5fFdDoj!Sj+W?q<1Ayf7 z&wy-~H!6-kRdDoa;$MaOf$&p93Iht+`O!UzawlYcA?#NeS6HPmq%fe+r!a|fmGBDt z6~+}-DGVtLDD){zq8uf>!hVHug;fee3Ihs#3X>>L39qnUVO(LA!jQs%LZ8AUGEu@S z>{l39SfwzeFrd(wpvj(j0Lu6PvXM4WQ-S)l&RS3b?~qrY8Ox&h@v+^!>?p#1H+5Bmf9+jX8Z z(LWKl>n=Y)JQDsy!=E+=;?^$St^RhM=d0>(*L7Y6E$OWtyaQ~ATZ8sCO;5#1hW}qx zK5O@0uJQ$--|+dEO^@PNDjrvy_Y9K1U030G*~G1#{3R>@$%fxoY<|u&_+QkYmp<}Y zrnt3pzpL~u0rB=7hIS|Xk2m-t#jRbsU-QSVQ~ZbJr};@S7~a~+@4!28YZpIG>8&07 z3`@@!JUo}0=Q`VUk{-|#x6kwH&-TIRa`mrL{7tx#-mZgk?+Wn{!twbv@|U<>2WEdt z+^&lzK_fWEe?C9QKXJS6S&n#!+jY8g6u0YI-&Ojgmf!Kp->z%DjQnPJyN)%e^4N8| zHOjB$2*&R7Jr7#a+jYrClm~IUj^#)FCT`cQo>%^M9c-`C+jZ&BDsI=AXQ_O4-StlO zkAn}N9l*ifd4Ax*F9Mz0zZ#To{5T*PIOKKXyODl3eu{_x`5t~(LS8rh`JVWr9{&X% z{8A6UQZRG#>+{6_fQSAVPkcvv=!ZP~p7P+UJ@lO({{j#HHV;ny$t^F}INbQRJ^qh- z@)x>S2K}3!{E2z+C7$rRP(R)AU4!=L#ut0!VKZ?1KkErU&m-^op8UDh6P~=>{C?-5 zzr+*&yB_%-_QXHSlfG_`Kks*S$Jge;Z}7-}nNIZvHoW!oTLhKjq-Ez&D(fT^P zEnOa6)3i`tU1yog@$m3U9~_@?g`zm)6mlCvZ(|f^o_}tnku$|9O?1tMXgki{mZRjO zHT88hS4Hca+u$Ilx3^Tcw$()&8|a{?r{{2D+Fa+)dyiQ+r_x)2ke-_Q>ehwnqv|u{ zm*eOyEl%-ntf@xaOmA#`bWKBhn~J(3{7I9i9qn~ZZMd)o9z68BCEC_fU4tD}(Htk( z*W=R1^>yoO2q7>oTg1IMc+ZkJMiG$*D=w{AbuszY#&Ga`8f_9>@)L<)5N)n$gFmtz zr1m1oCV63WJTxC3O*Qreecr4S6=z{#vb_ORNM}P^^t!s%W=ANgJ!@N=*W;#3xtT|J z$t{(jMs6-#(uTiH$-MO4mBq`Jg;%bOmV{R>TTxoEs`O&XP7yfkkp8Qp7loIH zR}`0-nj$CnYyPCmc}+79^3TdP6g0#ro<7u)|eF)s4|QgSaxr z?V`oLAcIVbK&hfEQdHua`m3UAg>6)dyk!HOaMV08R5F7#x3x7!YuY!opg36febL(H zXa}2#q9TUK*wG%9+dMVVbjy3Yr_BL-6>6-l-kaIxj)H3&8f$B+TWh21tJ`Zpv!-Dk z>v?-K>q`T#0fjuKdRT|HwwmfD-2bU^uqB(e$IOq?$HtB<*Q*P>v?5H7N}=SLWtDc! zs2J*O3azP`b=wx9d6%rS&9p7H=1NrGC~LlvU0QFZGm;oJ_a3;CkiJ0yVhK;&4G>05LM&iiG~)`KrK<*k45FGR~g8p*u-bsmUY?;v=YgMTbZWZf&f74fso_5ij3GMN?l z=R<+`Px;6@LqOmM^5}kkeDeV7v3~Jn?g+qw8ID|Vxte!;88}8tIY`KSz~U_hf}iW) z#{VLV4;h?m*79sN{2DA?Vf;HS9yk7*E#7bV-)ZrtLk5pp+-K6qdynNQ zGWZP^Pa1w)zmaFe_}^pkq{08g;^PK?(&9cN-}4qPH2Ap1hfI18vhBCX;D=kh!pO^Y zCwT@;_|q-kV&W^ec$J~Ac5p*~t;Ji6f863#Cj6HzUSaTWTYSW%|0fn7H~3F2zS-cv zvUrife{b=C!S`Cc(BMa49ZsHpgP&;e3X}dt77rPDxSl7^kV(&F7T;{rbEU=O2LG(Z z`wf1R#p5RYzdE>y|KBa1H2x1+eB9vASUhR??XviY!S`Bxv!OriaFut&;Il2R&K6u_ zuB!8$rv6x~mHK*~;UdY ziho}5MT&n;@lwTaQT$Vi_b47ye1qaWieInzzbM|TxLtqws^ULY|5n9cQM^;}w-vul z@x#=<{YAx(SNv;=FI4;v#aAf)b;aux|5wF(6#tUq_bYy#;=_u6R`K5}-mEw`q43$L z_%VwAlj5f-j`bd?k731Qimy`qTZ*q!e3RlGikn!{znn6-r)EA(Wm=74sJgu_+EU$K zPuo>pYg2WjuXtr?Eev=KYa8lXm(@2n)WBp=-PGLFa9v$4KbUchcMZa3P3vo#VUI8t z3wdp5Ym3#j`Y_qAZ9r_8BjXi!;$a$7YhRl<+4QZWFD^v11|cDKCOfX#hT~RRyvWQj zd}*iUtHKwBSHR(#XwG@7ud(i$x<SeNNWyQ30u>Lyl8#Vxaz)@Io2+M+Er4Qj7|aWGm_*V+z3AK&5QOV8At zs8C zVVf~@Gz4V?R0l)T-db0OI)qy|c}t_a4z;Pv@&(bQrK_S^L_(Fzl3=JEpHGA@#Wa)D zOTly*t+n7#3~5)2YfWoot-Oe_qy&>zgoswIEWRi#&hBb&LbzQ}^@OUSwnZQ&t!Nob zF;l1Mg^l%Bi8Tv2I;;W1wz*OZx`IX{$>E3beHqk_AlP z6KLDe)Lz{YXs=%9YiI(828iAU%j+6+!fA)r>ZWyd4$gwDt8NOYA=Z*Pv3NZin(9$& z+pC*u(mcdkCdF%mua7mhH?%a?1zKydgkfDxudb5ug4{rL>$=!_j6Z1-x@OZEv#i4> zGf5_e>1a&-LLIOJo5Q`ir5$T34yxIfgAl!U#|9@`OFw%}s&orrLl_TT?Tu^4f-V0S-88 zXqJYPa^=(wf>E$8L{ehbr2JFQPf9L#nzx<1u)VO z(=H7JhIeyIU8@n671;)BZbuz)H3f~{VQ(9*rB{DyCIKt~t!uCMWji^|-4p8C`no1f zixWXB?Dq|*kO3#{_UHk)*v1%Zs$PQ{iarN@q0LI0u$-RA1avI1rmLEouWbro*-jfr zx*A(Qr};S4j*F??mQZVCtjXyF0y&(xl;exFp+{_QZVt#Wo!0kC%&VH*((W+F$usG? z6~0Lwg_8;on^v$HRCC~Z4E`7E_Xiq2>pO)-pqYYwc0oV{n|+ev#{uG*P4yc#w4hGY zXD^0*3i#By3TG)SP`C%iRQiu8991~1kmpU)f2+bR3VRfGD6ChwT46-tVuf=R&Qe&Q zaL-hYU*V|2VTFSVw<_GCut#Bs!g__P6-E>;RybGTEQJLM_rNGA=~p; zRya#xfxZ-D6ChwT46-tVuf=R&Qe&QaL;6oU*V|2 zVTHUL0;E&7D%_&5M`4G;dWEYMMieeqI9K5;g#`-tpz)ADkNzU$S_I*+LYjpoeuY~U z_9*O7Sg&xk!id7f3g;@ErLaKZ9@9>zjwu{fIIM6`;Z}uP6!s|WP*|^UwZe$P#R}&t zoTacpAprZ2sW8X;W*|>0=zwQF{)xv?PxyrJ&wXe1xfCxhRNmdV*$dIwT+RIsTvo>1 zR2Ee1BC;&J#+qvE?utuJCt(!2Uz=>K;Ch<`SG`ub7`|%}P%o%A?!FTid~9J+ApPw3 z{`sP_&NS3jhjc7HGkWG3H7&7*T3xmB`EspWRk;$#{2H^Fkpm8CzQr|+#nIi#x)rik zo&#OC8g%i~SHmD{-D-U^*6}d=i!zh2`5<%M%JO0P^U;3M7eYTsQLWitJn=IJ|6xNJRf=EUg%4u ze4oC3H%oIY{8YtIU7@)1~`_&gZ|&zwO0i{9X5g%l20a zOBVmqe`7!6=2x1preO5-6?gq@O7S*+blCb4DWo645djfZ@%EQz6oV8dLdFWmwf?3d zhJE#+VjM>qTe$HFIEUi9{PB1Ev8lugeerju#y))FxPPDjyq2j4``V|SS24A~2VZ_c z`Zvnc7BKM_<51l8nZlzG(#8Ka>DsC4gCj4I8U%R@hfO1?iDw|^wAO`#tj7x;hj{*N zFMOnR>PCD<`qsX+{?8AY7%LDXqJryt`x4QD#Knh^@aVPx!b}=D@ec@n9)H?Dx^Z2> zzJ0&Dpes4GYtPj7!ohui-1lnnaoY!-Tut#@BP}*JZ z`P)8(UtjxSJ<}pxf1VWSyM9va4b})>suS62lB7N8FiM;jL9^?Vs z3UC%Y!pDZ(l}qXq_?P3%f96avehXvAmi2z9tT$Q^+3_&TpzQPymYse@LHYDwNBrT3 zUw@?JrVlZWl7$~c43kOJa`P$Nw|<{|)|k;r~zg ze-r=v)`m%dpU3(041a#ZpI!X<6Mx?1&%Vfl$0LvnC+08MS56rphnVFHeiP{{nN#4( zpVGwMNa8Q0iP!xLcu2TZregoUpFJL)bjT}{*?tlam&`-!7(oLOkK##_%llSLiQt;j z*b8NeQFoTC-E8^&GLk5pQ;>scPKKpjuS{w`F6~vaWEj!$n-Lz1ifbs!`(}P2_H?8d z!sEDLm;9!DeeEAF-SG%&ps&=wF%`U)DjQl8|Y)>h|XKu-wrG=g_s*w!_Nm zpbS=1-4d;EIb|efA(Q@h?SomkSe1~fLujpUX)r29E`4Hvg%My(W*-c7#e7e_dW#eLE(zX)e*|Dp(-XxP6QJ`-aAQ#qEzt$$-bUDGJ@|}83(v56FqfZdX>bo3jo49!Aw#bETjfga{`BF+hnu{LYZ!~$ z`fDr6f!5z57eChDL97Q;A4O%36WAvjmF;^L&C-W0A6t(Hz{g$RoPhe0ufENKa>jmi zE-EAEg6{gpB=ev3)ZNztJ>W<5TmM~DY?nbtjUBmhZ*{CS5-ZvGc6F?=Eq3lJvo`)M z5Lj6cWpFPnh4ryh;L{KY#Ez%xI^@4A@h}4ObAh2&Kh;P&jdUen?HVqGcI6)Jc`rln zm&XyTcbb2gI@9%2x?Y|X`-^*gPVBt{ml)oTJRf5sB7Lpkwjs7{JrDr?ii_GjN%R;=2E2ZvOuJ7Md9oIZw-rJqK_qB^M8w4nlpYUo{l8; z`U|H;Htz1Bq!$(X=S`UtN&GQUGN%xu`|JLDhW&G=%z+$*k&Ta%#(%`*#8QzVgj1s@ z48LOtZF1iPJiOukg%?`^{PW7J1S6EdKbN>8g8zt*Lx%l^cO=NqBYlwl+RZun6@Dt< zFN_vx#)w@0d8_6G{PQlKQ-s7N9r65g={y(CnS%O{SP}3aaaobOu*|(iE1`hDCA%8@ z-AAJJM&8_zasG8I*-1b$0?7V%&7TxnuY zDb;3NSBv-GsFYCg-%&B!3nSZ82fZHoW@O&;pot{ji}WqURR@>ReTu2GJIb7p?MINP z?~FO=P-Tf_2m=jf&c$gU%K{$P+QmuIJMB#1iFqHj=6hMS zhWB!~>&qJH6tsWgNd)L$j)umRr@j;ldG7w@4JH8H!r#%qymDx|xgr1lLH$MYzghnN z?yFf#Cv5&lV|>W$rP8q;NPEqd|6haF_5VWtkNqFX|8%SelK(Hd`^*0{{pHcnQuE}0 za)SELJAVGo`ro_s9slrKqg~05YU|maoPvS&k;szm7&=EI{tKVu5WFbQ5ZtvVfG(BC z1Ug;nbL>(N{@?9gJxjwt7>+o&h|)oD5WK}fP@%)8OH*1}6(ddR$1Ls@ z9Q+Gzb#v^X;HZ-wb<;&09hCY!cW-QJf@pDY@F2ZBZ!VYn$lbm7ex$#<{x(s}Q_E_# zs{MmkP_Fe@U}5K9yPRB0dUDOO&{&D1d5dtx4ySO#H<$5VB&9s-s{#CYi-u}XKAJx_ zoiWyGp+7O1VRI4gj-8n{C(}9p*-D+wbF*Z45oF|Tpw{k1h-El^LsVGI70Q!ve#4YW|P zhC=Ev3^o*DGKLrfXXpfM2JsPMV(OuZV~B|#Fs%{aBPKq_5AhjdV%Vo@3_E9y#}N-; zOw~0R-weVz_vv?najLOEenU*-hIx)f?u+T4MF4HoTD z6P=uL5ypC|9?XOC(cS*sHlECr|{?;d>oHWop})D}Iz0iIed}6geIu z(p=PbcXM#b_N$wN)veC5P1VG}&olb0UW}1&gU^ zpxY3w2c#a*i~}=8@w3hdMueK8(&~p89ME_ejf$GgphktE;-TMtuXV5YwBOy-|DWsn zKmC2LruSaY^Q>pBXPr;)dQZQ+roFb|O|#A{yJ&uCaqyHaT(oHM{L)J=xwN==VQCo{ zmR(j_ddbBX7Z)#>f9c{&jCl2|bo#*eoXkV@O#2fPxri?$4&D(;jiie&)X~a)55z%|B2immiraC zkC|cppDFyb_gB+u)4@CYvr zch!Y6y)Rtqd2721yl)C8gx(@cfB0wwI5N%qn(!CGSA=tBS^gV^YlSVs9m0PTe(q+^ z+r6UD+k*t3bJ=w78R5@`8;|w8{i*3*R`@aDn-%YNVXyF`!p{ny68=J1aI&@cRN;K# z)xuig?ZWp69~6FF_(P%hYOC*f;aS3)=6K%Fbw_#~!tKJ32tO^{C;XA{C1D}*gZ}3V zONCD=y?!8k@p#YMb>$J>aVJ>37bUs-^|QQ3gii}kU1am`Zs=jY|C4Z!@M#qAk=X^_ zb8^2Rd`0-GQ>?%9gcZV@gr(BoB==d0&uwylK={9ePYAy+d_{P|sWzN9$bU+D&lUYD zVT-U%{9d^Sg^vlJ6aJ@g=4-9~i-c9eR$;&J9n$+xat{l?C;X+-^>=cgFxTq+fc!lq z{HpMW!dHYRF1Gn`f$%i>{|DJ!Ciiv1w+VZN_X>xE&j^1hEO?!b&s^a`;f=zpRZg2+ zIx8M^!Zyimlly+*fasqUJ}vy6@PyNBxZhO$euLa^7TzwrPx!CGC#3)1<(?ECTWs~6 zBTNZfg&z@qPWUz9e+rK|-TI#|TqWEre7EqE!fy%>2w!uC^}k5CTG%Q4?aj9RnstlC zi-gw*YlT~cgTnXA|9{BtquyZ4!$rc^ul2mrt7m%^)6u{D+4CNf{MUp(5KanbooVBF z(n8NW@R|azM0l-mz3`pFPY9n7{y_MW@We~3o=b(NNdFqSn}yqjOBL@m!u7(tgoDB_ z3P**%78YD)?LSX=l`t(_tnfSJUa9nXzuXTCzc2iaaMtBk?-|0&g%@1md80Fr_O1}F z5iS?MS-4$zpKy)h@u=M27yeFo>>E|Dh1Uz~gjM})r+4oKgii?{F_!c9uYAIklb&^ybPrxS(qg*OYkg&z|>Cj6nW z;B4#vG~sU*-vx4)3)cu6gzduZ!Vd{QEgTkpOZa=G$M@y_PvOjSZ1~4k+Wv5!-1CLA zPPF~yQn}wM+#uX0+$kIqzE=MB%l!l4uZ6QPU}XRLUgh(da$g~=60R4%U3jnXA>jgr z^SIp4311K%G0%o`y6|%0jl$c79}s>hV# ziq|P}@0I&o!vDI(w%@M^k4{_nX~HcE?*jRsel5nOzntZj%YBouRk%&~5#d9^M}_-@ z&kK*2zGC4^qL;`${Q_&p@xoT+-|2F{UU;#vLU_G!t*}{mo3LNFOZeg}&y4SnI>zE& z(MN^b748di|3P?iiH+ac!i$AVg=>TxgxiJp2|p>^EBuzQM&pzZE8Jg*{%7IqF0|p6 z2vfq-6#pivXO-FboGF|yyi&MU*eZOx zut|DnTw(j2lZ5XQ|3ktDG%omp@LR(F5>CI=jxSy(e1ot`m=V51_;KL_(myQxiSXA# zZ@#tb)xy(-7YMHu{&cqI6)c?L-7>?@t8W!<5$+J4aFZQ}{fpe67d|aKOZ=b7{gUt! z(T_dC>QBjiy4)8DpFYy_+TJqF`?>IC;mnzq{#xM$!Z!(53Y&$u3kQV%EPO=xr11N~ z-wKaB%7$~QaG`LGutS&?Rw?~HTm^rP$9fM69~XXCc((f8g~F?ZHwqhtw+r7dELv^X zE53C+`sXu{NJrcCm2%bR>sKH@PCeEu68#%!rnsK+bK&oVMbj+3PV(o;y--+)dNA*0 z&wHo%%S2x%JX`wTC;mgi&mU{oBU&W4RrsX%_sabl;U3|o()Ts_|C;DGivC0SzofwP zinG(amBL2xe`VVOIE$!p{qz6uu(;t!O8;ctaSYi#)~5#Au|5>`l0o$#H)j|hi^$18pQ8TD??+oyT|Dtuh{b>Vk}KNr3% zoPqK~e?`K%!t;b5R($SMzU)Zb@y@>qzb$+P`7n0W4DWYpFHcpz3t^T5JzsdO@Fw9K> z>=*vCaIN~;`xO3XgISwBh$V8a{pX7>t^f!4B--Cjj&s|Sn;b7_KW@r;m#W|etyktZ@b!;2jxCl z@tr5ULbzI3E&NCM`?CCv2{(%WvfNwc{-E%)!hOO|NzZrW{;}|7;jFjV^m~o4On9Ym zt*}ejFT7v)i11Zwt-arndrWvhShd{NqdS#eA638fIrUTD6n;YdU(5Zt+#T|NkMOg? z^UKj6?Ks+7DohLS5Dp55gd@UV36HO^{?8Lu3Y&#}!haF&6aGkePSe3a>oc9{x|+_KbaQ8yNF5+`HZ~*d+I5z+u`E45ooT5xl0GSi(A3z`nStWE z&ZdsCbZtYXc7svW+SQqE>1y^FO_`eZh$G#esm(NQ%+$%~D6=Ee(ivxTwj-r%ICYu& znyw}rWrXCDTf5dZWnB1qMqG&aGXU_RV2lkm^>pqqC-6sqFl8bhftHa2%zsv7@b~v$i2!)0AoV4cpY-*qKS! zw6)oMTerD0)8VC8ty-2|vU)AD9BP|7GToi&u8vH)qrJ1uGHGo`rU}Ie$xL#(t-ZCr zu?fjRzlI&6N@b!tQ*dgV8ksN6na+k*q==zK937eVjVME5nkh#K9t}N5Fj+ye_n7CH zR~Gb`Ka!j${?7G*NTCo%t%Rf@hkP1$qVM_1zUPO-HI^s(P7FC3Zp#kz856> zj@fMeMt#QOd}CF`lItp0quw^P*4Ci5s**Z-En2{qE>z5b(At5D=$xpQP3fjg%lgg+ z)Wd+<(%8`uxLIXuyV}u|Itfy&w!v&4$CY&rZCtr4g-4*hSwl3Ro-v!iQW zx~-;mLpZoNhmj43Oh3`Ah;yw$acU&SWVWH@ZBE-h#QrvIejA$mu1vbVu>}pGbC`}s zj>Z<4j`VTP&P;nvXDc#Jgs_$tG~GUk1(vQxpWibTrzX6qlO*% zrgWyQwHBo{S;%%`9T}utOD$vDsy@{)TnDHjkTt>)S;(!ej)IP?79$;v5fHfbfD+{r z2#unupre?WW^U!UWL>5`B-+{DnAwOLYerwbE~m=ITe>1Cr6i2d7}a(}#;=qSuC0Di zQU}L-8|TXcFCF2^P7^6u)Rt+fYiwB`6Kc;Kf`x2mI}_2$QjTcSTaX_K67ejHh*+i{ zqwr|Njn7O7%2CtIP^g{F3x+93by|``N;kDSI%Anv7s?M3Zh>jzV4(T!$Hus9@OH2i z5YXDmVd{`e0KXO)W+c-?6h8n&dqMijHCJ5~RHZPf9m6h@?qQ-a2Lo?E0!GH>gH5Fv zN3k&FQY`4`YEw}~5jIh?v`}J4=ussmKFUXx-!Lf}Z^<#Q zL3$wOnhk%pXY|;<&HQ8$uxag^> zNOx{-b9Bx&I~r;>WFpO$=~|6a^i7JDE68>{V3-_Zsdz+V$f~bcwIk!!w{|uLr6)vj zqXDChwK|AS15{+3#lh6oNSYSJ=tpbZj!C5jT({0Fa>o!B!h71P4>2{deirGKB zW15+_Cn)aIJ^!oNz4v{0i0{y-slA^Mm80@WY#bCFgdA{}Efx6}r%a&_a-7+qN ztZ#>@9;eJ@^FwZ9YJC1}iD+G-m9s758UU!Jiy z2s33z<5kAQTT)@##$YZFhMTx7sR+m@PNliRrU={FYK|i0Zh{Zyx#l(zABpivhzm(| zjhJe(SYwR+HmogRr35{3Cu+2fFJ-vMa7dv#G-r_*J=+1O=>sRb=#;lwPM5**dHu~uPL*4%&}0(P#$~)(yi;Ez!7b zIW&^spo^h+oMXCRL$vkXYC`ISeEW@-Wj3|8Zr~7rO%d#3q)Z?Iy+v(QoE}sq4c|v+k+Qe-IQ5Hodtu8Ji`tdR;Y03-cKWaKm_=bVWY!DopaC9_XsK;tj zqAo0QG}fbO4kiAIs>`j3FBbkvs(}`UMXOzY|IlQmFvkRr+fvm zb%dA}TL?A83&M74vIxzXb^18`&o0ootLm`R{EREG9n|+No41Jh+X29dKFg9;bx0)6vR2pkL(V6t7%1_e0vb)fJV~Fd<4r#A&W80Z}HGCWBdPl*b`EmP@fb8H;UBp`Z!3 zb~Umt_&ajp_-n$bsjVLsmj7sw5Zs7)SN=HpX`XD3&u+rHm#dYwK$w~lY1l<~ov&tZ z(FloImuc(7`d`>4ahlCM*D*|O6~`=>qeTxTUeMwoY;9lB%@!kJTR7XzL{!>YgPp8}tC8{5$>y~Y^@bg7ZV9q7tSnS)#`-~?lj-K(Hjkzd zN~p_W9X>muE{Ek@32ek1Hf*Vji}=Bi-|d{n1hD(c4VbWsq;eF@T*DjgVPARM6UI7U z-8H<9q*jO=?i1M3mak|95*XIi!RF4!4lL2cbGW6I%T*m+&Fr3B4a<|$iOm~hlheGB z*w%^?5sYy;qK+nJTL%_?Z0SobSrp*te2QpMOj~gI^_cB&9f-&y)zywDhk8C5k*|#= zFHajCH8PJ-v>}(a{0%t;{KhOf`aV0>kXx_rBnXD2EuChMDO^BZ!L@x?P8s0{2?Z!L zVK9v`R$bH>|-z*-aU{a4Qn_Nwh_cGgWuSR!lfGq6dQfx91&L}Q4X=|g;I${ z^~M?vy^?u$++mdk<97avmQhm(LgNiiUl{>IXPjeBv&_M@QmnB=kUebc8yb<%;tVq9VSf;6HWQS#!))c)mEH!HLBswpECu0Ko zaz9KC+R`;0n{jllzAlK087)QTIrNNhu;+pqW`cZt>}2HKyjwBzyRtm=aD6fU?Q)l_ z2;$5$9jFZ9wS!zHib;*BJORrMUi?wgAy}~i6rB#6IX}m#t`?|)~K!Mrct+6Xk&W&&upU8?e_>_q!GrCBZVV(J>wDigJ4~>OLN@&YTPHM6ZJ!f7^ z>fua9ja+<{jl@WUPeR`5r(vR9){r#XzB%S0rkzeCamwkK`KOykB0SY3A*tCXJ>Jk; znmMc#Um6TDZ_1uPT9T)mh8Zpke#Oj9DW4VU3FzO|`9`$l;rXWFMbIC zj9^wtr)}5++jATGKnkfDwCN=KjdrwmG3RZX%=sa<7U8MrA*P|O@3B*%Xz8=@gGA7U z$iYnt%iUDd*vUSlzO~(sK^@smjCAyZQL^W_;*GkfXw{SFs+h(vz)2{K^muB??>srX z=ecp$nVS6&o+DB(9PCWlNo+^^#`bik7ALZ}e2VQs471TJ8E>|=W41R(cgfm1+c9?! zkW|qSqKvNw{We=>$aOfnC)&RJ5jA+%j*Q{^$ca-VF zRavv{YhF-b!xd=kXluf8rUcLa%#K|+ma!NyvzwF?F|LKSV_vA%g`Ie&+s-YlH?xrv z9HFv{c-*BmMPfXUp(77m~=uf~iO z=icmoca)otzOfZ~6l0nL#TZf{^KBsNqfk6BJfdD(?t-YYgmOt0aj0)phsFJ3%3`e5 z5k1fUxqVJA#YT}I#*@)+pgpJBBwq|PgktEzAP^@y4FjdD_2$IQyO6< z=#BDoRr~b;`p5JWhofo zwxTjo{j**^m916|$5xj-DM7IC#8DP^!u z;P2Q)RryN2IC+$48Y^X_jr$-`rP)BvnDhnrlsO%Ve1u-F`Wn+yw zl-JPOg#*3pX?+QEHXOyhiLXuvWc0OIwqrFwa&#qduqcH=8TTK2Rq|swKGiDXiZC{i z)?u@o4J38@!)z*1eai{9wzCzx`#4|{kB?#4ZY+@%o;yY@F+TCqS{tSht?gLKOb!(9 zd?qXI#999YjYxYOb;9CqA{Uk1&DPAzVF?Oa@)+sA{gdD)Itw?uU5UXX`Sa1SAJNTO z3r~?Igb-Q{P2^(_ESYX!kGFkjf?ihxUHhLT(zqU3&o^h2nC++mNp!P?gF=s2FS*&B zB;s$dnRhVq==X)xA0~@&RBbOIU_iF$i-sLY0l;qn?H$IEJ%m0M23TvtZJG*>=D zv{=~;agxeqi0zlj5X~=3AzDr;3Gw_A5~jsVM}%k3a)e7pn4OTpVRoK;3yB1I#-5Q= z0Jey3$c!@`t<7xI?8w7s=b^h5mjpJ4H+i)Btz)p;>)~|-7qs1U54pKo8xi2zOoU+U z3scy5^Ck8`i>0_-{xIEcxksx?tP}@5fnkJ8a-7w^xea%Hv~xWReNlqeczKU0IAq&w zLQiO$E!~y`x4{mSzianCp7fFfE~E zh1q_A374vnKu}cJ)SBr9G-`f`(f+y&hG2oywrUi`xYaB_2d5KSIm9=^tpek6lyAVZ46(xrGz6SAyYS9z=zUi1UI#|V|P7FZ{>W`b?*4 zX>8}*28`VkwpK*@-H-x*eLhjbL?d|UDnEFUR4ATq*xnrDI zyfe2Tm<Af?zUM;OcuH4%QpZw~@6Fmhcy*5L{iln#;|$v^ID$=!IJ9ev(>v$|%g zChj1?YB1lL3%W^niwDmVv^C%$FY*;~yqoFJLWpN_{b0ceGTO8)h#_9Vw#`F`WscEC zi&fNfFlLF;S$f>{Rpe+i66*U&4OhvaSqoELO`x=ES#l!mGx9{&@uQJ-)Ob{phgdld z#q{bGt5&D4Tbo{v>mMqvu2e%1r*e)Or9DhhAVf?|4 zo24hQvkY=0)Z6CN2sTi*hYoebQLj^I&)0DVN@PGNrtxSC41VD%i=Mn-o9 zP2-48DN)FFgyvL<^+joO@*VT!77Qy<@62wEe}e@DbW9r}b_Lp>z9tY7l}r_XchxEn zs@bhyO9@{@Y$@SOr7R`zV>)wtCM|lO18u+yiMV!9hq?TdjI2SntBsKCc@W3&`}3$) z8pYKGp2)J9j*Cm}eF40?#-^6fFz+k5^kQz$H=SFXpQxq;MDiy@!73onNTO({cv(TS z&|tRwtgM~5o8LKaco?d`wpnIEw_84TuxI!tx0BW}AkQnBc&g9tQ7RtVu;k4RMuF+j z%r95Nq6V5lNdl>>>=J2UvYPhQY>Andm5e^pLklb1taStpSA8*4p!Hr`I2()?c9*dT zFeB{@CxH>pGowH5?`%ByvFbr#|Wx*2R*hDhYvkt-()l&ZsKGS-d# z^8lnVYqZ^7-;PCj+h$sMt}KOi2r&4IH)EVuC)_f}BwK*sc(<2^V3|6d?eNrAx>YNy(o1TZYSR_m*Q&v;r)!%H2iqpLYQ?F+A|CfnSY$ie+pyK2 z`$n*#+c`)ZueiWehL`090Xfg+4FGfDpbN}#usa><5W)eXfP~)0OX3_NKs)recE`kW zjdzs5aMPy1=<9<=}Hh$N`(XSyfe!#nqOKRJY@?PEm}Ok^wNbF7Z)!qEd#@{ z%SuZxxfry?3l?8urK@N0fFQcH3tPS5`Q|IX{PR(sH*E$;)9{B+3wYJj@n13i@Vo|p zqh#cHcARV(J@kXexuMhJANBD`r_G@s>oD%sm1|e~PXEWM6YNjw!)Ful9U9NuMA8vn z55YZYJEe3^=wDi~8s9T<&syoJ7Gd;No<|$^zZT!faY7-4KAldn#B@3uzai-pc#H7u zpYS8|eG=o>j1?kWrr)xO_YkC)E%llBF(O5SO4};vWBdx{dfstXFrqS@&NOfoh7(}s ziN~)E_VFo}uSw(!^|=S1&}wkMiD%&tpMkzj`-G=b-xh0Qkh}+@547liY zD1btKimM8Le3*{>n~A^K_$$HRU;3;`Wq+0$Fs0AE@WxX8U89aa9^xBC{gvaX zY~_Io*l&cbVE>lUY~{1|w}MLbR~|_9ex;PrFaIBlKR)eY;?Hk1I)f_{j2MLxV^bP| z4@`xO$ccFUg@vbWg9xf`IQ_F-FG%wtle*0+k0&)72BvZ(u_l&)+PmciuW%bn4EQz& zCXNofZ01ys?r8?~QKmpDyVvUJUp|(~EY2kN|im4C$l-o&jWhf2~I6*z53eipw)zCFw%xFQ-ZG8!P) zzX;;+Qfj=LLK_Z=?Il8`z5SJcv}H>66rnz#lx;yd-?q+1=zvl3M%q@m&6Mj)!weMO zNf~yEq0`BDGDJiJ>9ELXn1GuGT79O>zyILDg9yIp<}bVQP;KfX(=)q<88Eu9a)kc& zRX%0B=O)|3Fe997LkJUp$jQoK()Sd?qfN&CEub)~pt^s#EfA<>kQ(mqvXw3SWcD|` z<3}OnU4?foq3VGnZ#E$;-<7I;)%Mi1Cl3C^gwWevM^MPVoY`tbKD{L%d*{CyRFq4qAJd_2o2?5lhX{{w~y3AKw-;bO8M>4CrhSH+~j z788Ch7sccb6GF6@>_-OX7L)yLT1N^MlgCVS@tH*HKg{9aVS=LsqdCkm z1&Df$ouN|nSW+oMpZ*?{qfwNXI{a2P2Ll1iCQSVqs`t23x*H*Akgn!?6=- zJZy^|a&F6h~wW7Z<(l7k~~g$F-_ z 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%0D{d{)iqO-Ce-?*6o5$bvTLrdT(khyuX#yZlVb%` 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 A2><{9

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

?u9(B& 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