From 4fea67e078479cc00afe6b1201c54c997a41fc70 Mon Sep 17 00:00:00 2001 From: Jnewbon <48688400+Jnewbon@users.noreply.github.com> Date: Fri, 2 Aug 2019 13:11:47 +0100 Subject: [PATCH] #6390 Updated OpenSSL For better security with TLS1.3 --- .cirrus.yml | 1 + CMakeLists.txt | 12 +- dist/wix/Product.wxs | 20 +- .../windows/x64/bin/libcrypto-1_1-x64.dll | Bin 0 -> 3405312 bytes ext/openssl/windows/x64/bin/libeay32.dll | Bin 2099712 -> 0 bytes .../windows/x64/bin/libssl-1_1-x64.dll | Bin 0 -> 681472 bytes ext/openssl/windows/x64/bin/openssl.exe | Bin 507904 -> 542720 bytes ext/openssl/windows/x64/bin/ssleay32.dll | Bin 356864 -> 0 bytes .../include/openssl/__DECC_INCLUDE_EPILOGUE.H | 16 + .../include/openssl/__DECC_INCLUDE_PROLOGUE.H | 20 + ext/openssl/windows/x64/include/openssl/aes.h | 81 +- .../windows/x64/include/openssl/applink.c | 13 +- .../windows/x64/include/openssl/asn1.h | 768 +--- .../windows/x64/include/openssl/asn1_mac.h | 583 +-- .../windows/x64/include/openssl/asn1err.h | 252 ++ .../windows/x64/include/openssl/asn1t.h | 294 +- .../windows/x64/include/openssl/async.h | 76 + .../windows/x64/include/openssl/asyncerr.h | 38 + ext/openssl/windows/x64/include/openssl/bio.h | 707 ++-- .../windows/x64/include/openssl/bioerr.h | 120 + .../windows/x64/include/openssl/blowfish.h | 99 +- ext/openssl/windows/x64/include/openssl/bn.h | 802 +--- .../windows/x64/include/openssl/bnerr.h | 96 + .../windows/x64/include/openssl/buffer.h | 127 +- .../windows/x64/include/openssl/buffererr.h | 30 + .../windows/x64/include/openssl/camellia.h | 77 +- .../windows/x64/include/openssl/cast.h | 78 +- .../windows/x64/include/openssl/cmac.h | 59 +- ext/openssl/windows/x64/include/openssl/cms.h | 273 +- .../windows/x64/include/openssl/cmserr.h | 196 + .../windows/x64/include/openssl/comp.h | 86 +- .../windows/x64/include/openssl/comperr.h | 40 + .../windows/x64/include/openssl/conf.h | 158 +- .../windows/x64/include/openssl/conf_api.h | 61 +- .../windows/x64/include/openssl/conferr.h | 72 + .../windows/x64/include/openssl/crypto.h | 876 ++-- .../windows/x64/include/openssl/cryptoerr.h | 56 + ext/openssl/windows/x64/include/openssl/ct.h | 476 +++ .../windows/x64/include/openssl/cterr.h | 76 + ext/openssl/windows/x64/include/openssl/des.h | 119 +- .../windows/x64/include/openssl/des_old.h | 497 --- ext/openssl/windows/x64/include/openssl/dh.h | 300 +- .../windows/x64/include/openssl/dherr.h | 84 + ext/openssl/windows/x64/include/openssl/dsa.h | 320 +- .../windows/x64/include/openssl/dsaerr.h | 67 + ext/openssl/windows/x64/include/openssl/dso.h | 451 -- .../windows/x64/include/openssl/dtls1.h | 239 +- .../windows/x64/include/openssl/e_os2.h | 300 +- .../windows/x64/include/openssl/ebcdic.h | 11 +- ext/openssl/windows/x64/include/openssl/ec.h | 1032 +++-- .../windows/x64/include/openssl/ecdh.h | 138 +- .../windows/x64/include/openssl/ecdsa.h | 339 +- .../windows/x64/include/openssl/ecerr.h | 271 ++ .../windows/x64/include/openssl/engine.h | 349 +- .../windows/x64/include/openssl/engineerr.h | 107 + ext/openssl/windows/x64/include/openssl/err.h | 300 +- ext/openssl/windows/x64/include/openssl/evp.h | 1166 +++--- .../windows/x64/include/openssl/evperr.h | 194 + .../windows/x64/include/openssl/hmac.h | 106 +- .../windows/x64/include/openssl/idea.h | 111 +- ext/openssl/windows/x64/include/openssl/kdf.h | 97 + .../windows/x64/include/openssl/kdferr.h | 51 + .../windows/x64/include/openssl/krb5_asn.h | 240 -- .../windows/x64/include/openssl/kssl.h | 197 - .../windows/x64/include/openssl/lhash.h | 330 +- ext/openssl/windows/x64/include/openssl/md2.h | 44 + ext/openssl/windows/x64/include/openssl/md4.h | 100 +- ext/openssl/windows/x64/include/openssl/md5.h | 99 +- .../windows/x64/include/openssl/mdc2.h | 80 +- .../windows/x64/include/openssl/modes.h | 61 +- .../windows/x64/include/openssl/obj_mac.h | 1148 +++++- .../windows/x64/include/openssl/objects.h | 1004 +---- .../windows/x64/include/openssl/objectserr.h | 38 + .../windows/x64/include/openssl/ocsp.h | 579 +-- .../windows/x64/include/openssl/ocsperr.h | 74 + .../windows/x64/include/openssl/opensslconf.h | 365 +- .../windows/x64/include/openssl/opensslv.h | 22 +- .../windows/x64/include/openssl/ossl_typ.h | 131 +- ext/openssl/windows/x64/include/openssl/pem.h | 311 +- .../windows/x64/include/openssl/pem2.h | 75 +- .../windows/x64/include/openssl/pemerr.h | 99 + .../windows/x64/include/openssl/pkcs12.h | 299 +- .../windows/x64/include/openssl/pkcs12err.h | 77 + .../windows/x64/include/openssl/pkcs7.h | 196 +- .../windows/x64/include/openssl/pkcs7err.h | 99 + .../windows/x64/include/openssl/pqueue.h | 99 - .../windows/x64/include/openssl/rand.h | 139 +- .../windows/x64/include/openssl/rand_drbg.h | 130 + .../windows/x64/include/openssl/randerr.h | 89 + ext/openssl/windows/x64/include/openssl/rc2.h | 84 +- ext/openssl/windows/x64/include/openssl/rc4.h | 74 +- ext/openssl/windows/x64/include/openssl/rc5.h | 63 + .../windows/x64/include/openssl/ripemd.h | 90 +- ext/openssl/windows/x64/include/openssl/rsa.h | 602 +-- .../windows/x64/include/openssl/rsaerr.h | 162 + .../windows/x64/include/openssl/safestack.h | 2775 +------------ .../windows/x64/include/openssl/seed.h | 91 +- ext/openssl/windows/x64/include/openssl/sha.h | 137 +- ext/openssl/windows/x64/include/openssl/srp.h | 180 +- .../windows/x64/include/openssl/srtp.h | 127 +- ext/openssl/windows/x64/include/openssl/ssl.h | 3651 +++++++---------- .../windows/x64/include/openssl/ssl2.h | 253 +- .../windows/x64/include/openssl/ssl23.h | 84 - .../windows/x64/include/openssl/ssl3.h | 593 +-- .../windows/x64/include/openssl/sslerr.h | 768 ++++ .../windows/x64/include/openssl/stack.h | 150 +- .../windows/x64/include/openssl/store.h | 266 ++ .../windows/x64/include/openssl/storeerr.h | 87 + .../windows/x64/include/openssl/symhacks.h | 495 +-- .../windows/x64/include/openssl/tls1.h | 947 +++-- ext/openssl/windows/x64/include/openssl/ts.h | 498 +-- .../windows/x64/include/openssl/tserr.h | 128 + .../windows/x64/include/openssl/txt_db.h | 77 +- ext/openssl/windows/x64/include/openssl/ui.h | 175 +- .../windows/x64/include/openssl/ui_compat.h | 88 - .../windows/x64/include/openssl/uierr.h | 61 + .../windows/x64/include/openssl/whrlpool.h | 29 +- .../windows/x64/include/openssl/x509.h | 775 ++-- .../windows/x64/include/openssl/x509_vfy.h | 596 ++- .../windows/x64/include/openssl/x509err.h | 125 + .../windows/x64/include/openssl/x509v3.h | 532 +-- .../windows/x64/include/openssl/x509v3err.h | 158 + .../windows/x64/lib/engines-1_1/capi.dll | Bin 0 -> 69120 bytes .../windows/x64/lib/engines-1_1/padlock.dll | Bin 0 -> 39424 bytes .../windows/x64/lib/engines/4758cca.dll | Bin 20992 -> 0 bytes ext/openssl/windows/x64/lib/engines/aep.dll | Bin 18944 -> 0 bytes .../windows/x64/lib/engines/atalla.dll | Bin 16384 -> 0 bytes ext/openssl/windows/x64/lib/engines/capi.dll | Bin 34304 -> 0 bytes ext/openssl/windows/x64/lib/engines/chil.dll | Bin 25088 -> 0 bytes .../windows/x64/lib/engines/cswift.dll | Bin 23552 -> 0 bytes ext/openssl/windows/x64/lib/engines/gmp.dll | Bin 9728 -> 0 bytes ext/openssl/windows/x64/lib/engines/gost.dll | Bin 83968 -> 0 bytes ext/openssl/windows/x64/lib/engines/nuron.dll | Bin 14336 -> 0 bytes .../windows/x64/lib/engines/padlock.dll | Bin 9728 -> 0 bytes .../windows/x64/lib/engines/sureware.dll | Bin 24576 -> 0 bytes ext/openssl/windows/x64/lib/engines/ubsec.dll | Bin 21504 -> 0 bytes ext/openssl/windows/x64/lib/libcrypto.lib | Bin 0 -> 1008538 bytes ext/openssl/windows/x64/lib/libeay32.lib | Bin 806142 -> 0 bytes ext/openssl/windows/x64/lib/libssl.lib | Bin 0 -> 121986 bytes ext/openssl/windows/x64/lib/ssleay32.lib | Bin 75578 -> 0 bytes ext/openssl/windows/x86/bin/libcrypto-1_1.dll | Bin 0 -> 2509824 bytes ext/openssl/windows/x86/bin/libeay32.dll | Bin 1273856 -> 0 bytes ext/openssl/windows/x86/bin/libssl-1_1.dll | Bin 0 -> 531456 bytes ext/openssl/windows/x86/bin/openssl.exe | Bin 449024 -> 482304 bytes ext/openssl/windows/x86/bin/ssleay32.dll | Bin 278528 -> 0 bytes .../include/openssl/__DECC_INCLUDE_EPILOGUE.H | 16 + .../include/openssl/__DECC_INCLUDE_PROLOGUE.H | 20 + ext/openssl/windows/x86/include/openssl/aes.h | 81 +- .../windows/x86/include/openssl/applink.c | 13 +- .../windows/x86/include/openssl/asn1.h | 768 +--- .../windows/x86/include/openssl/asn1_mac.h | 583 +-- .../windows/x86/include/openssl/asn1err.h | 252 ++ .../windows/x86/include/openssl/asn1t.h | 294 +- .../windows/x86/include/openssl/async.h | 76 + .../windows/x86/include/openssl/asyncerr.h | 38 + ext/openssl/windows/x86/include/openssl/bio.h | 707 ++-- .../windows/x86/include/openssl/bioerr.h | 120 + .../windows/x86/include/openssl/blowfish.h | 99 +- ext/openssl/windows/x86/include/openssl/bn.h | 802 +--- .../windows/x86/include/openssl/bnerr.h | 96 + .../windows/x86/include/openssl/buffer.h | 127 +- .../windows/x86/include/openssl/buffererr.h | 30 + .../windows/x86/include/openssl/camellia.h | 77 +- .../windows/x86/include/openssl/cast.h | 78 +- .../windows/x86/include/openssl/cmac.h | 59 +- ext/openssl/windows/x86/include/openssl/cms.h | 273 +- .../windows/x86/include/openssl/cmserr.h | 196 + .../windows/x86/include/openssl/comp.h | 86 +- .../windows/x86/include/openssl/comperr.h | 40 + .../windows/x86/include/openssl/conf.h | 158 +- .../windows/x86/include/openssl/conf_api.h | 61 +- .../windows/x86/include/openssl/conferr.h | 72 + .../windows/x86/include/openssl/crypto.h | 876 ++-- .../windows/x86/include/openssl/cryptoerr.h | 56 + ext/openssl/windows/x86/include/openssl/ct.h | 476 +++ .../windows/x86/include/openssl/cterr.h | 76 + ext/openssl/windows/x86/include/openssl/des.h | 119 +- .../windows/x86/include/openssl/des_old.h | 497 --- ext/openssl/windows/x86/include/openssl/dh.h | 300 +- .../windows/x86/include/openssl/dherr.h | 84 + ext/openssl/windows/x86/include/openssl/dsa.h | 320 +- .../windows/x86/include/openssl/dsaerr.h | 67 + ext/openssl/windows/x86/include/openssl/dso.h | 451 -- .../windows/x86/include/openssl/dtls1.h | 239 +- .../windows/x86/include/openssl/e_os2.h | 300 +- .../windows/x86/include/openssl/ebcdic.h | 11 +- ext/openssl/windows/x86/include/openssl/ec.h | 1032 +++-- .../windows/x86/include/openssl/ecdh.h | 138 +- .../windows/x86/include/openssl/ecdsa.h | 339 +- .../windows/x86/include/openssl/ecerr.h | 271 ++ .../windows/x86/include/openssl/engine.h | 349 +- .../windows/x86/include/openssl/engineerr.h | 107 + ext/openssl/windows/x86/include/openssl/err.h | 300 +- ext/openssl/windows/x86/include/openssl/evp.h | 1166 +++--- .../windows/x86/include/openssl/evperr.h | 194 + .../windows/x86/include/openssl/hmac.h | 106 +- .../windows/x86/include/openssl/idea.h | 111 +- ext/openssl/windows/x86/include/openssl/kdf.h | 97 + .../windows/x86/include/openssl/kdferr.h | 51 + .../windows/x86/include/openssl/krb5_asn.h | 240 -- .../windows/x86/include/openssl/kssl.h | 197 - .../windows/x86/include/openssl/lhash.h | 330 +- ext/openssl/windows/x86/include/openssl/md2.h | 44 + ext/openssl/windows/x86/include/openssl/md4.h | 100 +- ext/openssl/windows/x86/include/openssl/md5.h | 99 +- .../windows/x86/include/openssl/mdc2.h | 80 +- .../windows/x86/include/openssl/modes.h | 61 +- .../windows/x86/include/openssl/obj_mac.h | 1148 +++++- .../windows/x86/include/openssl/objects.h | 1004 +---- .../windows/x86/include/openssl/objectserr.h | 38 + .../windows/x86/include/openssl/ocsp.h | 579 +-- .../windows/x86/include/openssl/ocsperr.h | 74 + .../windows/x86/include/openssl/opensslconf.h | 365 +- .../windows/x86/include/openssl/opensslv.h | 22 +- .../windows/x86/include/openssl/ossl_typ.h | 131 +- ext/openssl/windows/x86/include/openssl/pem.h | 311 +- .../windows/x86/include/openssl/pem2.h | 75 +- .../windows/x86/include/openssl/pemerr.h | 99 + .../windows/x86/include/openssl/pkcs12.h | 299 +- .../windows/x86/include/openssl/pkcs12err.h | 77 + .../windows/x86/include/openssl/pkcs7.h | 196 +- .../windows/x86/include/openssl/pkcs7err.h | 99 + .../windows/x86/include/openssl/pqueue.h | 99 - .../windows/x86/include/openssl/rand.h | 139 +- .../windows/x86/include/openssl/rand_drbg.h | 130 + .../windows/x86/include/openssl/randerr.h | 89 + ext/openssl/windows/x86/include/openssl/rc2.h | 84 +- ext/openssl/windows/x86/include/openssl/rc4.h | 74 +- ext/openssl/windows/x86/include/openssl/rc5.h | 63 + .../windows/x86/include/openssl/ripemd.h | 90 +- ext/openssl/windows/x86/include/openssl/rsa.h | 602 +-- .../windows/x86/include/openssl/rsaerr.h | 162 + .../windows/x86/include/openssl/safestack.h | 2775 +------------ .../windows/x86/include/openssl/seed.h | 91 +- ext/openssl/windows/x86/include/openssl/sha.h | 137 +- ext/openssl/windows/x86/include/openssl/srp.h | 180 +- .../windows/x86/include/openssl/srtp.h | 127 +- ext/openssl/windows/x86/include/openssl/ssl.h | 3651 +++++++---------- .../windows/x86/include/openssl/ssl2.h | 253 +- .../windows/x86/include/openssl/ssl23.h | 84 - .../windows/x86/include/openssl/ssl3.h | 593 +-- .../windows/x86/include/openssl/sslerr.h | 768 ++++ .../windows/x86/include/openssl/stack.h | 150 +- .../windows/x86/include/openssl/store.h | 266 ++ .../windows/x86/include/openssl/storeerr.h | 87 + .../windows/x86/include/openssl/symhacks.h | 495 +-- .../windows/x86/include/openssl/tls1.h | 947 +++-- ext/openssl/windows/x86/include/openssl/ts.h | 498 +-- .../windows/x86/include/openssl/tserr.h | 128 + .../windows/x86/include/openssl/txt_db.h | 77 +- ext/openssl/windows/x86/include/openssl/ui.h | 175 +- .../windows/x86/include/openssl/ui_compat.h | 88 - .../windows/x86/include/openssl/uierr.h | 61 + .../windows/x86/include/openssl/whrlpool.h | 29 +- .../windows/x86/include/openssl/x509.h | 775 ++-- .../windows/x86/include/openssl/x509_vfy.h | 596 ++- .../windows/x86/include/openssl/x509err.h | 125 + .../windows/x86/include/openssl/x509v3.h | 532 +-- .../windows/x86/include/openssl/x509v3err.h | 158 + .../windows/x86/lib/engines-1_1/capi.dll | Bin 0 -> 51712 bytes .../windows/x86/lib/engines-1_1/padlock.dll | Bin 0 -> 29184 bytes .../windows/x86/lib/engines/4758cca.dll | Bin 16384 -> 0 bytes ext/openssl/windows/x86/lib/engines/aep.dll | Bin 14336 -> 0 bytes .../windows/x86/lib/engines/atalla.dll | Bin 12800 -> 0 bytes ext/openssl/windows/x86/lib/engines/capi.dll | Bin 27136 -> 0 bytes ext/openssl/windows/x86/lib/engines/chil.dll | Bin 18432 -> 0 bytes .../windows/x86/lib/engines/cswift.dll | Bin 16896 -> 0 bytes ext/openssl/windows/x86/lib/engines/gmp.dll | Bin 8704 -> 0 bytes ext/openssl/windows/x86/lib/engines/gost.dll | Bin 61952 -> 0 bytes ext/openssl/windows/x86/lib/engines/nuron.dll | Bin 11776 -> 0 bytes .../windows/x86/lib/engines/padlock.dll | Bin 13312 -> 0 bytes .../windows/x86/lib/engines/sureware.dll | Bin 18432 -> 0 bytes ext/openssl/windows/x86/lib/engines/ubsec.dll | Bin 15872 -> 0 bytes ext/openssl/windows/x86/lib/libcrypto.lib | Bin 0 -> 1012914 bytes ext/openssl/windows/x86/lib/libeay32.lib | Bin 824610 -> 0 bytes ext/openssl/windows/x86/lib/libssl.lib | Bin 0 -> 122290 bytes ext/openssl/windows/x86/lib/ssleay32.lib | Bin 77144 -> 0 bytes src/gui/src/MainWindow.cpp | 23 +- src/gui/src/MainWindow.h | 53 +- src/gui/src/SslCertificate.cpp | 9 +- src/lib/net/SecureSocket.cpp | 26 +- src/lib/net/SecureSocket.h | 14 +- 282 files changed, 27521 insertions(+), 41439 deletions(-) create mode 100644 ext/openssl/windows/x64/bin/libcrypto-1_1-x64.dll delete mode 100644 ext/openssl/windows/x64/bin/libeay32.dll create mode 100644 ext/openssl/windows/x64/bin/libssl-1_1-x64.dll delete mode 100644 ext/openssl/windows/x64/bin/ssleay32.dll create mode 100644 ext/openssl/windows/x64/include/openssl/__DECC_INCLUDE_EPILOGUE.H create mode 100644 ext/openssl/windows/x64/include/openssl/__DECC_INCLUDE_PROLOGUE.H create mode 100644 ext/openssl/windows/x64/include/openssl/asn1err.h create mode 100644 ext/openssl/windows/x64/include/openssl/async.h create mode 100644 ext/openssl/windows/x64/include/openssl/asyncerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/bioerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/bnerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/buffererr.h create mode 100644 ext/openssl/windows/x64/include/openssl/cmserr.h create mode 100644 ext/openssl/windows/x64/include/openssl/comperr.h create mode 100644 ext/openssl/windows/x64/include/openssl/conferr.h create mode 100644 ext/openssl/windows/x64/include/openssl/cryptoerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/ct.h create mode 100644 ext/openssl/windows/x64/include/openssl/cterr.h delete mode 100644 ext/openssl/windows/x64/include/openssl/des_old.h create mode 100644 ext/openssl/windows/x64/include/openssl/dherr.h create mode 100644 ext/openssl/windows/x64/include/openssl/dsaerr.h delete mode 100644 ext/openssl/windows/x64/include/openssl/dso.h create mode 100644 ext/openssl/windows/x64/include/openssl/ecerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/engineerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/evperr.h create mode 100644 ext/openssl/windows/x64/include/openssl/kdf.h create mode 100644 ext/openssl/windows/x64/include/openssl/kdferr.h delete mode 100644 ext/openssl/windows/x64/include/openssl/krb5_asn.h delete mode 100644 ext/openssl/windows/x64/include/openssl/kssl.h create mode 100644 ext/openssl/windows/x64/include/openssl/md2.h create mode 100644 ext/openssl/windows/x64/include/openssl/objectserr.h create mode 100644 ext/openssl/windows/x64/include/openssl/ocsperr.h create mode 100644 ext/openssl/windows/x64/include/openssl/pemerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/pkcs12err.h create mode 100644 ext/openssl/windows/x64/include/openssl/pkcs7err.h delete mode 100644 ext/openssl/windows/x64/include/openssl/pqueue.h create mode 100644 ext/openssl/windows/x64/include/openssl/rand_drbg.h create mode 100644 ext/openssl/windows/x64/include/openssl/randerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/rc5.h create mode 100644 ext/openssl/windows/x64/include/openssl/rsaerr.h delete mode 100644 ext/openssl/windows/x64/include/openssl/ssl23.h create mode 100644 ext/openssl/windows/x64/include/openssl/sslerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/store.h create mode 100644 ext/openssl/windows/x64/include/openssl/storeerr.h create mode 100644 ext/openssl/windows/x64/include/openssl/tserr.h delete mode 100644 ext/openssl/windows/x64/include/openssl/ui_compat.h create mode 100644 ext/openssl/windows/x64/include/openssl/uierr.h create mode 100644 ext/openssl/windows/x64/include/openssl/x509err.h create mode 100644 ext/openssl/windows/x64/include/openssl/x509v3err.h create mode 100644 ext/openssl/windows/x64/lib/engines-1_1/capi.dll create mode 100644 ext/openssl/windows/x64/lib/engines-1_1/padlock.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/4758cca.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/aep.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/atalla.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/capi.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/chil.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/cswift.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/gmp.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/gost.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/nuron.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/padlock.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/sureware.dll delete mode 100644 ext/openssl/windows/x64/lib/engines/ubsec.dll create mode 100644 ext/openssl/windows/x64/lib/libcrypto.lib delete mode 100644 ext/openssl/windows/x64/lib/libeay32.lib create mode 100644 ext/openssl/windows/x64/lib/libssl.lib delete mode 100644 ext/openssl/windows/x64/lib/ssleay32.lib create mode 100644 ext/openssl/windows/x86/bin/libcrypto-1_1.dll delete mode 100644 ext/openssl/windows/x86/bin/libeay32.dll create mode 100644 ext/openssl/windows/x86/bin/libssl-1_1.dll delete mode 100644 ext/openssl/windows/x86/bin/ssleay32.dll create mode 100644 ext/openssl/windows/x86/include/openssl/__DECC_INCLUDE_EPILOGUE.H create mode 100644 ext/openssl/windows/x86/include/openssl/__DECC_INCLUDE_PROLOGUE.H create mode 100644 ext/openssl/windows/x86/include/openssl/asn1err.h create mode 100644 ext/openssl/windows/x86/include/openssl/async.h create mode 100644 ext/openssl/windows/x86/include/openssl/asyncerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/bioerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/bnerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/buffererr.h create mode 100644 ext/openssl/windows/x86/include/openssl/cmserr.h create mode 100644 ext/openssl/windows/x86/include/openssl/comperr.h create mode 100644 ext/openssl/windows/x86/include/openssl/conferr.h create mode 100644 ext/openssl/windows/x86/include/openssl/cryptoerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/ct.h create mode 100644 ext/openssl/windows/x86/include/openssl/cterr.h delete mode 100644 ext/openssl/windows/x86/include/openssl/des_old.h create mode 100644 ext/openssl/windows/x86/include/openssl/dherr.h create mode 100644 ext/openssl/windows/x86/include/openssl/dsaerr.h delete mode 100644 ext/openssl/windows/x86/include/openssl/dso.h create mode 100644 ext/openssl/windows/x86/include/openssl/ecerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/engineerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/evperr.h create mode 100644 ext/openssl/windows/x86/include/openssl/kdf.h create mode 100644 ext/openssl/windows/x86/include/openssl/kdferr.h delete mode 100644 ext/openssl/windows/x86/include/openssl/krb5_asn.h delete mode 100644 ext/openssl/windows/x86/include/openssl/kssl.h create mode 100644 ext/openssl/windows/x86/include/openssl/md2.h create mode 100644 ext/openssl/windows/x86/include/openssl/objectserr.h create mode 100644 ext/openssl/windows/x86/include/openssl/ocsperr.h create mode 100644 ext/openssl/windows/x86/include/openssl/pemerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/pkcs12err.h create mode 100644 ext/openssl/windows/x86/include/openssl/pkcs7err.h delete mode 100644 ext/openssl/windows/x86/include/openssl/pqueue.h create mode 100644 ext/openssl/windows/x86/include/openssl/rand_drbg.h create mode 100644 ext/openssl/windows/x86/include/openssl/randerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/rc5.h create mode 100644 ext/openssl/windows/x86/include/openssl/rsaerr.h delete mode 100644 ext/openssl/windows/x86/include/openssl/ssl23.h create mode 100644 ext/openssl/windows/x86/include/openssl/sslerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/store.h create mode 100644 ext/openssl/windows/x86/include/openssl/storeerr.h create mode 100644 ext/openssl/windows/x86/include/openssl/tserr.h delete mode 100644 ext/openssl/windows/x86/include/openssl/ui_compat.h create mode 100644 ext/openssl/windows/x86/include/openssl/uierr.h create mode 100644 ext/openssl/windows/x86/include/openssl/x509err.h create mode 100644 ext/openssl/windows/x86/include/openssl/x509v3err.h create mode 100644 ext/openssl/windows/x86/lib/engines-1_1/capi.dll create mode 100644 ext/openssl/windows/x86/lib/engines-1_1/padlock.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/4758cca.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/aep.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/atalla.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/capi.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/chil.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/cswift.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/gmp.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/gost.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/nuron.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/padlock.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/sureware.dll delete mode 100644 ext/openssl/windows/x86/lib/engines/ubsec.dll create mode 100644 ext/openssl/windows/x86/lib/libcrypto.lib delete mode 100644 ext/openssl/windows/x86/lib/libeay32.lib create mode 100644 ext/openssl/windows/x86/lib/libssl.lib delete mode 100644 ext/openssl/windows/x86/lib/ssleay32.lib diff --git a/.cirrus.yml b/.cirrus.yml index 09408928..22a8c3c7 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -55,6 +55,7 @@ macos_task: install_script: - brew install qt + - brew install openssl@1.1 build_script: - mkdir build - cd build diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c75ee5f..e162d631 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -289,12 +289,16 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Windows") include_directories (BEFORE SYSTEM ${OPENSSL_ROOT}/include) set (OPENSSL_LIBS - ${OPENSSL_ROOT}/lib/libeay32.lib - ${OPENSSL_ROOT}/lib/ssleay32.lib + ${OPENSSL_ROOT}/lib/libssl.lib + ${OPENSSL_ROOT}/lib/libcrypto.lib ) elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set (OPENSSL_ROOT /usr/local/opt/openssl) - + #Try use 1.1 for the latest features. otherwise use the default + IF(EXISTS /usr/local/opt/openssl@1.1) + set (OPENSSL_ROOT /usr/local/opt/openssl@1.1) + else() + set (OPENSSL_ROOT /usr/local/opt/openssl) + endif() include_directories (BEFORE SYSTEM ${OPENSSL_ROOT}/include) set (OPENSSL_LIBS ${OPENSSL_ROOT}/lib/libssl.a diff --git a/dist/wix/Product.wxs b/dist/wix/Product.wxs index baf3049e..dce91922 100644 --- a/dist/wix/Product.wxs +++ b/dist/wix/Product.wxs @@ -90,8 +90,13 @@ - - + + + + + + + @@ -130,9 +135,14 @@ - - - + + + + + + + + diff --git a/ext/openssl/windows/x64/bin/libcrypto-1_1-x64.dll b/ext/openssl/windows/x64/bin/libcrypto-1_1-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..5c03a95d1a3769e97d916f884779ed22154f6229 GIT binary patch literal 3405312 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

SEF?eJ1LoJV9nrXxI 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�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ⓈMkDnyMML@^4MU{L441STaws8vzXrj4a|rIpHzLJ5#CNo9H%MO#~~wos1OjD|8MPmW|H8ezV7|*z5na?N#^YLUVH7e*Iutp z*LLYzE7FG_$zCrpt&B>xGDP*El`>}&?#HK-+EhRZVzj=j-Wi63KT`JcDj~-Z{sMAU zJy&ou#Iwy1Q@ah(HjO`bATgyZb@ye7^2fMCeBz_%`M_32>$F9u@snr|wiD;@CVEN( zhHPh$M#uMvPJfGPgM-F&amesaF$dd;g&Q+O^Z%01nfy?NQ}$Rihw{k@o@2&vc5)1T z)d|Tl+=@85tYP<}8FuNqMdu~!xMo^IlXZ?%yV1^-VW}L+IF{5dpuAAj6DWt1t1joB zYk+d5bl|*>b*`StsRDXNx7e=Rn+j$G`&%nV`{QkPd{a1hPgHE)$w`x(BdnEK_z{Q8 z?jhm?;ep%I`s}2P9eOh@b_s>jrO+r{C|?(vn%eS8ZlCt>WGWDLg4j+irm~01>50ne zF~s0y_t?(Ua(P<7-2tv(srKm$-s8h|_C`HE?CeT+;V|yAChpqZni?3~#6&>yEov2d z9uAOR#2_pPctWop*xi~I7|@gg&5`V1n`|;Z+TEHP=xgs;SIdN@x5;^Q#+I8z41#{l^_MUN)uF#*24dWa+qAt`%q z&SL^OzBn{F{GePT{$Z;r5HHm z4|{0N`Tj$`($|B;);{O4GBksLe-L+47PO(2Leks{nv302_l}G@a4xaD182%VM}^{P zR>Lp~jf?dCD`jYLGFGTZu0?|q6-q(+54)u=ll1*0NQ{Wckr(kPHKI|HDx4oaruXYh z8pk(~wA`-Sukrg34qA^t-WuQP0~wGq!7$AJ_CMcZ51)l z;F7Yx3G2N@6=7p2OVCW==rGWjWum#Vt>MG8&BElZWey?kK^JH8R(~~23We9D_Xflm z6mM3&fHBq@75ME69{KSz7Ub{~K3NVNYQ^QeP8S_U-P#o-8852;i(K84mG~d|<#*DS z8ury6Px}O3slrKfbWD_`h9|d|`q@Eg$)aw4zP%K¨=e>P>Ykc#Uw58f==h^iOCU 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

8W(9GQXD&7Q%Nm)+p4Mt39?&DH!(_K4SmCR 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

Z`|fv}%kSQt+qP-WZQCQFsHg@*?JH;1 zuGfIDmzJlOEwwW=ZkqeRe=QEW{Is~5C0)F{EP=Xlm3!bBuY<_+$B-#cc3u(Z0nF=( zP=r$#0TXxY;MR}cY7EQ1N7bgs`6uGvj8@vCUPs0sy$phEhvubwf+K8ud>oO?3 z3VuLYuH_4bWGDnX;gpv^+SA;=e%RHQi5ay(stL_5C#356 zxMdR?K!>xy0YHn*uhI6b!C}(zTx#2mZTzeIrQN;1CE$*XU7acoT}wkSP*M?ptp+g$ z_oG%|6oCMtjzl{yp^j$B4XkLgvvsnAftYr!dd4rVBRaqlp6C;0OCWE9D+F$v)bm&a zz!F}Y>{>?iTUuiXS0;u)tfSHDFKBRdsJp1Rok+3y6pK!PaH;WPA&JgzIoIq8W52Eg zZp$$3#@|V~LdwDK6syA})S5FTw=^}N%gB`MMwvh~g)$QLk2w_JQZAa6&8iTiK}Ogh z9Wkg^eq+}51}eB~EAY-#eHb6o{MalBHdMm42oBS*l#$*>Vd~yNU0sI>jZ!b5Ce#y( zomN5ECy5PpUN)ZYCi+n9O+v72$8JjxQk0*#zRDmkgkMdnA2IsMm`bbmD)FY3SXM_P zK9pfUi!w;`NT?tmD6A#Z+%`oS=}o#({nzfUum7Bo{VGp8d|Nw8c$uYo`$6U{L4x+` zZMh2z5%rsu0*jp**ol2J=oYh%$55$BE+h%xhViMO`&v+}-07!|(!Pr7RWW`9zlved zwa!SlqN~aB4x>8DyYA+Mjz3?0gdJ{l5v_z4v(bm|p2$8wHd$eWsc?f-_+~xIyR+3M zsW6!e5_N-R)2@6^`>Pcw&{c7isW>B9@nQ9Isc2DAN1sOreHNK^<7i4cn|;n($_KOV z21yfwQ9!l~dJF}6O#GYDPz$NDIkj69&O=-6_|wK~QuyO7%EL}$&kw2)_ez3(Y*FXx z{SnC0ILU=|hrMc?9%aVLUyE@F!E?5#We-tpM^KzfR*)+FmnHk3#0DClsWz~AW4;QP z%FwjWVON}&t?Uib=i_%j-f`wH#L1Z4`w~nx?0;u*_y1KQ}@P(~ZfzD*KR&b5vcfLQ8^IUIw+#vFaaK>Lu zdSEjl90UsxEg_$3S8ePn>=1LMw>x!jf8*cSa%`gKNfm6OH^>q<2Yyb{_eoL~8n8zC z6pf4N`>Vl5YU}%&E9BFFO1WPH%Gn2;mhpCFB=5U7$|h`Aj$E0wz{P~72$!^Zv*j9u zv)!C@yHUqA7Qm|OcI9KOAOI!0SH_?erFuEId%bm@wv2%_*=|hP+%O9i|i8qdim?+FCt9a&)-V^R{EVK&9c(r zI{n94(rCW)A7>mfIc$`Ju#a|5B>^c0M$KQF>tu>|fA7{x@^QHedOXPT_UH!*d za-;duf1D+PiR9@&&XRl0m;U1{*=D}m~@AlfX(u z_VhXTXjJuMYB+~)ULJ~^RKuQ?Cq+axjKP#_r(xwFjpoxZO0FUuE=p|3k(kJaRA+$k z>_h}SIS2gOf$I;VlffdS*j|;br!rexJgpca4K34c;IGwJ{mh8p0{MO?Uo1yp-gX3X zc8||a4P-eB(ql`o*TOPS1}AUQ9gRG8fe|MKEW)SA3%BiR4%{a%sJ96#!jLstHKTu^ zaGumOoBeChr3hYnIorkQxrolxfV(vSc~1Zb10C-AU6c#);8DCH=Xch4OHL0QQYRr! zYUlR$$D4WQqNF7Fw$-#}sF026GN;Mn^vkBNR51~Y8F?(P>qv^16GZ=Nz?Q=IvU*Wu zgh|_tJ!a(yPZzR{MllXc?ov+I~L9N zSH~(M$M!$+xRm9*_7Qq3b$&**y^mYv`eJ+?=QBC}UXXAO-pCj&I0XklM zy`0!G5bQMy4j#TAm-|<`Z~gz2-vX73+_#O+xr>Pn@7Qf;V_x@s!1g=kxQplAcfD{c z;%KaXEdp-yVA0Jw^%zO5C)I8&6x@pBg-92Ac)5{9+NJPRP z+B;z3q5kR?PQUqw3z1H5(dm(CZ?Y7BC?iSau@$J0KC}G_OdE>1_XI^7C6h&knHEkJ zH3M>*ap_?KAU6lH_(?E8eUZ;9cgE$HQv{sD=x}{N5_0|FRDD!__G}XVqkYVL80mf= zBc+iXwF@OlsCj^%MIvJt4!0`wFtf3_Dr|z>GUlg2<m zZrTz5ST$PTEySrOaDHfOTDT}YD?L1qmyLG^hS-h&GF3X33)iw@8UyyirYM7RJ3&?>Ek!*(jvYk9iY*ScD`0cR>1#74wI$ z>tG1U7WkIqqWkxq2YqLQc-`}JyMI@N>&!WGot!MmV#yH*{oo+2TS~6hxFt_AtYP?V zj>|Vwnp5~>lzam^-DZRV>$w7^J&z!otCyw3lv;v9} zaJanq;{$d3pnY{v`?IR@Ib7=Q&k`Sx-H~x$NF28X)vr{+! zQIA*i!un)(azZv6j{{mCeQZGVS8_P7U=MLPAI8@FE+z1;?j>w!-CAh}pXzKz&a@j4 zC9t^;943u0Z#kx=C4Ef4${vtCgZfpo=%NC28%WOU^Zsz@-yih&HAy@0r|u-p|O;e}?~fSMR3&f^PY1p-l(pU)U{w@4X+-FYT89{9_-_KiuT6O7UjqsCUJ< z!o9itW*OGjKawjzBuerBD8Nn@PuTYmrR{e)JX_L z52)XDs}&iSYKNCdMSrC4^}6GMW#Jh=Lry;~-46SHc0@T=Z~PbQZA)^QBmu!H$t%>j zQWmcGSpn1g3^;w}qIJuZ^EFrOlZ9#3EBT$Z^X zmWC%69Y_4KT6owTcvoyoeWhz^cEl9Nd75^O*X0EViCQe4<(VfS{C-)t0dvz zjNDj$B1ylMAxJFc5D{x*qK#_58$|1$$Yh1Xo|PazN!TPCAi9U?G1e?F*D?3YXiYsSxH+Q#>lam1D-A0ayaZnwy7rbu6k$aap- z1R{xOha- zbgS?Y+Vsq--y*Q){(S|nBv|#$^5qbHe5;x&@@uWauQVR$VI2b6g=~u&4O!;%`+_{JYU|7I$4j@@JR)aY0qnOO z+TTBzrQT;>$1>D< z;e0*MScdTG1$Lv@1%O0L?h_>1tk!L2I(RgS105Xy6$k~17bFvX2~I-xOjWr=S()AC z@S^vQw$1*0hvrwnEO$M-j0W%h4TBoqAr@=zhW5pS1Kn_GiT7|M+}AyhYEB$Wb~5rOMqaOCa~TAf{M3TkbJz%p@pB zlgM`yDv@HCLJ=m+(7tSyg!H_K=e%%Fij-jtz8lY=2N!bbv&wc81kSqpN@xmeZY`tr z8?BY~Y1^;rgYs}mBY!mM=Qe27zez8(XQo*7uO_+^+Hx)*3}rk+Nt^>7buXwAJ)c%F zSVUVYLzA)>nX&`BmF=VIrR+(RWxx#4>yMnxK_{0WVe;fxvAPrSx~TLnrGdsv_{VM( zCM7E2G<$Y2+jQ{&DlBw zQkda)yEWNYZTS~XUPX@R9C0%g+eta0rO8%yRAY^9@*!#R=#Mp7Z<_4at;v3Bfizi2 zj*^JDZfn8Z#-+L?TUrv1Ea7vCE~j1f=XL-xx)a6I)K%t3`?G& zYP?RDYm~+uzQv%F(0;j`O}%-}B6!AQV)6{QLfjFQ%_{X0!G z{-vweGiWWj(07my$VU9NYZVTtn_pvoK8mSZp;w9diH0kaa)KWZP^||Z&yp(gf^R79 z2~Lnmc*5fgz~eGLr(JeJZex=khVb!GW7a6Fl0Q4i_cIOTHyR=_oa$18BX}_HfR2IR zuD1LULCi;AjEC zI8C>Mn;X~Zk%%%Uc5)ILn@FT$0VekeoZPP>|AdN;2tD8E7_3w;+kM_iG zK-X+GHU0X?I<-cpJ!sNKk>+z|{naEEh+)tW9k z#1iBxMu~6LuaaD+-TAxP4_gIWDE?Wa;>`jHVIsGvpWpqyz6SvqWP;i=5BBi4a!X-y zHL!>BqD}s<^;~~Q4cNnbX$$snwNF2tC+I~Pmq*+t)FngRfs$DBh^MP(w0NOYnmb8& z#Q7qlA*iDy9N`NeF9Y`q)dY$B67UK(krZJQ`IBT5FZ?4?o7=>cK9VNvm`?_qScR zpbsb(zQllHQ8}I5nT*HhOnTqvOxh_OoZZRP3uKZd>cAU-WWoLvWDQKPWF13`^Ov4O ztpnU{*ZQ2vwfd!-lbp%*STp6~P`I^ zCqI>sz)A=4ohMM92VhQRLF5{w*CUcQ{SKK}R3>&4!cx2O4Sq6VFX@8I^;(h76(J%U zUhMw;f2INSj6h#oGGWPa;s4C{Hogpv{33NecE8!S9MJKkyOBlhmE%Or&Vwgm$_>m5 zem{tik{6HBVunF=eKLn}377zD)AKeWhCf@?V>%pjph(M;j)r?Y^XHnL4D97`&w`${ zbSrY&BriH&WGcFB*ZG)GU3mp>_Fb!I<*(jF0IJD?T6$)3P;StBJD&IFQRbjTTi5-d z9L+&_l^m3(H_1+tQ*IVm#=+2XTh~FEp+=x@GzTTrSfa+_!!H6aFX||s`Jz#){w5l* zhwt_5vFfjppZF2rEKs}G4qP#Id|=Vo%D@F<&k0P>9WCWBp_3VOvd&jH%`kG(`_=T0 zxGh~h0xb~YRH>OX)@C+kRRvpLKe5)vF#^X->6GaAMK0rMPJYXK7HuAH^1Dob*CxMD zG0Pz;)U6!cT~$r~q;C1&{p-i`hj+^lfKvz8@6#=R-RO>b+0a;Ib`=eu1M(&6Y z7|F|Vey6giV)zD3|I=_R@7voqyd{{$+r$vkm`Ls|NNu*i?!#InYgcSCs8#%hw}$NB z(_H=f2XfukJ~?RCIfvH=`t2T{o6F%?eW)70;Q%yuquPLa1+@J%y}6#B>%VtLqP@Km zL8iKw(=t3wgd5+=#vH*<0Cjco=6s|Z!AzoB4(CN5O(bahGi*Ox`1RC38{>SUN zKK|-$SjbMsMjB&ddzHKzq<#R4SB}FbrF`tcV%LCr2zgCSbeE8Noc`SV@yX%i&DvCo zh^pt_H*%^Ot>K|EpnQKd<}=SCt(J@Q=uP?bn6)n5lT!DC+*(?-v6e0f@_XS)l@ydvr;p*QvV&onj={a-NQ47+hG(}RkP!=^go?@+UUO}?>|J^>&M zCt1jkJQUWnq#F=UdsY*^(ApAt$VJw#vdx<=;$S93{1gEStag=tc6ms-b7i*Jz08t$ zWW}u2KmpBVi8lw9>-PrCYAwzlGc>tcf$pnyEB4G?tF;P>=dRWi2D*ey8R*AWYZ>e- zt0f21Ybf$CmV=L-e@ zjE(OO>0o?1*ugs7zdN=i^!W>x>X9aK?C)Zo431^rNIJXhc-C!$YjvDNFwSOdN^;cG zPbCnn)kQ2>pPt<$0p>kh5L}arOt(|Sms*$!QJr4^$q4pg!-{h1;_skS?Dk5^U=iDb zuh?@1K-$QU!PJ_+LDyup|$f; zQ+QQ7)SQ+yvBFX-S>=nCKj{4Grsut?K?BxLz@a&lnYS}2;T80*yhbZ#iPlPwFETlf z9@p6x`d5Kn_m5^$aT66~V!SofIW+h^0ybFnPnyEEv#q{)eyIe&>59+ZPDva9Us>GJ zk>xzmXPeCrEa)mamzol`rwfoP36HJNK7D{RTe&! z%Ux>CrHqOu@i^?QUucQ`lIqSj1Sz3^Eany*4)Gnq2QgyDOIvDA$Fi-Tx1==Ki%Rhg z_|5LZPi^rr0I~}GHI2oINz{=|E>4tWzl9qe<63;B-E;*l$#Q?6zpQ>Emd=rH-VC$b zOKnB;*jP)tU|sj4RyMMJLX7)KSvZURBvGOtU}Kh7H~WWgEcf*Dm$ob_Og4U@Y5c-u z?+d3XpU{O08H|Cj&Jd%oexc|^+S99q+NIYCddbQr0{AMj3RFeB9L zi4BN1hxRRAl;doexx8g>cD$LG&3je}42N$hZCOablTY`I1MO$F2^d|37x_dNwkPf9 zd+=X=XNgIqweMQP^DjDw2`!r1suUyfW})=)%5s?JGlly*K)nTCvHs z8;9c9yOe)kkO|;auy_xat|$AeH%1o3%RL*Nr_B38+<~yMERPp1j&E3+TKZfd9iK&f zS@&jv8vh{ZQiW$bA+Lx^x6V^r9&e4E17H>}&MsT(k*|s3SJ+9km^JjUo5t4QFsZZ3 zK)7Sdt8qWxQ0{3>$~*iKG}-HYOH%-BHgJ1~B6J~G1woT(LuE088zN*azdK~U9#r^p z^u$Rm6VvPG^@f~ZTT)vQsZ0$HY)gY4n`5FP+`kM7noOhB7anY_%oe}u#r5mwe~Y3v z5H8(Na~9W%eq|+tgT2b*YvS#IY*(l=eQ^;2!joP7Bp~cf^s<&$vnk^1^E_qVwCm)B zhQ(LPxoJ9ZwpWA?b&n@{q~|XSDeUVo2LhcJ_qLbjmdBeb!l{t2k?Y;@uuAb3!5;8L zmNtbV4eJ*T#x$2GIOU#ZSx`H^erayYzHBJh;&;fY@H9^j_Xu16sf#E4)Ong{yO)}6 zi#3_%se)V#@SW$AjMNF3kGYK0q4x+Q)s2VhN1pId`|hSPAaVnfd}^;<86uRRi(^Kt>EU9f@7BJT_c}EeXF1)NOj#uJ!kXbhrA4nfl1w=6tLLp{mq}2mHiVy2cZ! zJAmx;PrU6!xP7bX-R#ibAy-+(5V}g6R;Rb{LR7|!H*^a^-Bo>)k?1KfbcuBrfrXFIvjq zS&I&ZPw@W&`Nn7zkciy>+>0Y3{QE*L9aK0+R}fmcM1FF$m|o7ad~~rKhR?dDoPq?p zOPr4)*PSP3Jt8@&5;%E9;yGP?3$_EXF5+d8?C!!&f^~!m%w7k$Gshksb+ zSr=YdE4LiA7-K2v;*V1JL74~7!SI@_mWs!Z3LM5#(0blButP856tS)%Xnfw^Nl{+6 z`YfqlgW^1rF<9`ZTH<>~@-q1?mSEba(}o?OS-(7M_!0LQiHo@GWGX^@^|3hShCAt> zB39Y6s`GEin{i_Zt~j=tRAN!|;*PtX<%!9Ly*$(5Bg=o|mU0PkV+z8g1c7ZPdM4{l|ROTm`?qDt3fXL zEN5`O^P3g?l$+ah;`%uYmsilV-v|6^tf4*t*>ErUN&GK!HkA!0(rKI1An+;k$ooD; zWy9CfHEUR)D%|HBAH`iow;Jk93uIK3zJA4nwzGD)#4Ytkf11byCA_*r3Rt1bNlvUg z{m0kA-+Zk9t-Al#ME{$lf9V_tVzt#Z4)f9wz3Kk#;cGqHb^lR|WK1OIr3Aj=C+@JI z(zF=>Fx7`1OH*GOQg3si&|?x19>{Q~5q*+hz_JQ2^ib#EtER3>$$c@yy1iv?SsB_b zfjo9x7lMX&Q(vmSLIn+dy>0%<1zzigqzi{4JjLj>8Xlogw4FT0Rh1bG=n4YuIkE(m zAk5M-55oLQa6{j|P-|tz6BitGTyVa2Rj9%-SJUt!YM)CEgID)qn z^#}wz+KHr8Ko#m7V%5j^;83(0#LMZR>0#BEnB2>9b2Z*U^L%597tO8U`KSsOcTPn$ z?hfl0oy1E8n&0hRyLaeSeeI_B^Vr#0w{N)O9NtKtTZyC(m!$IH&E+u7&nMw?$ps?X zK=bybnSF?XqnwfTLTxffrMT&r=?QIA8) z5;%^b#>m|x<6}lHTGvGnMZLpuk++GWR0b&NS?UjnT%}4TRZ#iF+e$~)Akg2aE|T81 zh*rfM{*k=q^XcL;w~J>5cD%GoV7j)_(nTHyu19TaM^l;Bu4_!ocTtiC?bWiXDpQ&j z+ZMqpLICU~@zX(n9i`C@2}l@Z{p}P^4(C`I&WqbjCl;O5ElL+AiQuq_5x;Sbf$&PV zRFr<5%#rv8!v>v1$O4g?JZcIFIP%r6?lSF(GSA7xJd5XoJ8O8{I5;8sDD;hPt5t5R zKc}o{$0JNQdJ7|<(Rq|nSKVeByMh7N#Qe7#4E_}{Fu30>^%~hp7>wzDpLF5zS5v{j<7zaZ()K;N)+fVb zsoO)P+e3)5GR-?MSBNfS$pjvhQ9t;dX-u@^-QiI~!Prc_eHUHe{6>%)b$4ZQ87H1+ zrtl8fAcHxY`WjwhS)Of|ZeI-gaYDdKb)nx}q{mYD1Hl=Mdzx$k@>wZ?@0C}-%&2zb zG5~IsdtOuAt%%E1>X ztce~Ey9Vqop$F6pu}geTGXuEEF%a4g$CSv`jZnmPe@HqQk`gN>v5-3kcGy(I+x`%B z!)BSnk|KHF54iJ#|joQ>xwfz`e6>V8YN^kepQeU`2Fu$7ZopJfq zTnBfz6tH7v$WM`%Muk5&47)myEup#eyQ$**qHrgF46BZ4N?wBLAVE#J6HXm-4lX3e zHk078>O*KzSoPhSRWFb)SoL*=RX<8THLHF&tokv0X;vNE4a2Li_(_6SKjZFtxtET8 zS$Op`hAkCdoohkf)jD~zS`EV_kIcwW*y&mNh%^x;mzk-uXZMR3y>6`#;EON%d_vYQ zu#j@~#<_L2#8XPT#8k}Dptr@ZlpCRlq1B&7UFEc^2Oy_ztP;^0T*CArNd=cOye1Kg zCUkSZeOTWUwVjmsrenJ%wjxi@m1cHYO|SK}LN$~Z%cwcnPf6RyUnQAhvJ@<&?QFO0 zNz(RH-P#@}ZSRPk!wd4RsrscDC?%Xew&F3;M^!Z;QydEPx2h91NwX+?x2x&(^7BJ~ z>EDB|#gH{s$kXkdQqQV;nV$}jl4xd&Ze|e8$hrA1ZThrD4b%-V8L5?gUNk8L{Q{8x zaz$PFHumshUy+~Cwfy==3{$K|=oHDKM zr~uC%a%80K+K!^a>Ci0ZpE<7tMIPx+7Vv*guovM6;_HbFu)Sf2(K6@&@UR<4C**@ViX9_+)ukbqKMo*5@1zD_8;Se` z(U3dY^GKK1(NQ!CgF%h^+!|+)bI@G+CgyT&1%fAuMsMk#XH9pwv!+5<$RI5k6gAFj$f_(HhYts37F97IcDwO;{qD zHSx~-P(`?4Yn53QkkGFhNL-QSdTo$`B_25A*^!FKNsqG;<*73fnn1cFaFq8wYcaNt z>hJ6!vHZmm3E(CyPD36kNJMBs9M`>LIgJQ+xZ*Ej1!6U<0TIfHSHbBSkt|TfxLb&t zwL~@0uw>&C{XvL%Q>FfgRKZY&X0i0B;-ex`?*d`7@*YWMB=7k=Jw}MeH$)*0(g>7f z9DDV?-KzHdS!k|<-Z?u}{vc^UJGqQXLhyG6g6VY$2<}&t9;8Yn zZ`I$V=2q3t!5Cf5m;_`3AeoSt3A=!LaJB)|Ms*y0nV@r4{ZV>MvzQS|KNDgo?^<_f zT=i!GRN#kn@_RSw5|ea6a$NVDam}vnGCoUH_rZrx#)g)P(w4E>A2&}ASDxUJRTw1a zcqH#bD2|N2w~RhTz#GZ?m0M)@)v^Ll3soL~AM?jxBIgrWwR3R-CY@@u+yEkZcet%S zKnqbrF1Lzd$I%3(Dq13~Zb3P&&POC9oe$IZhSum30S3Nb)K>GUD*g{YGHD)nOy46p zIr+bkhn|ly%w`P6Vc|hpj!51y?g&nm5fo7_S?NYTsBwCt2D{;aT5M{)b)Ol~e&n0c zU3xF%g~hp@e*U+-b2iIrjx+x2<^Kvha|X^G8x&k^k6q` zWN5J?DZariK1>f^0?$N>i18pa^W?u{yxj8?+?vb{b{X7ePJazntng8Zqo>^>GttW&$!E!r%7DSH8qJH zwog5CuV!SmX*2eR?0exumeUY)M;NJMLr9&in(maSGiD_S^xdL(aUBN4xd0bXG5fRX z_3H9IJdLTeKWHQ#n;gSXGlt%bA>lpLsircD3a3mc%t=CeD3hW(=CW%*>jbHNxs6MhJFuTI~hMm_qmqB(BS#m|jI&1c=z92=P&*I+ZQ zD;9K(3w8}v9KAoI$<3#2r=WxynuO&Hz{FJZL8^(-kj3MlY|mxy8ID~68Ijy%}+b< z6OM0dyb@=IVkwO@I3v#|>^N7d4!<>iCwEt`Ro{zan*c;seF{G!=M@-T*iDcQ60g}w z;(ONRMr^)M+H}@g!yYJH!N^$Hnbzf}-339hhM7lC`F@uF&uAo#zb|{2BDtDr?btrk zx&(FqZ&0FlIY%v9vyPt20GztM>v6MarWlM#e zQYdCbH#nU{5Gz1g^-JnWUL>!9PtkW#q0S_lvb=NZHu@jZ2REG(tH?mbDsllPTh)2| zSTE}u>O_|!6nnCBRX+Z)R{afpl#f}IZ`C{e(mQ(wOc|<4FL7q|4v$RjYd8x#er~=j z&onlKj2|f=p*AXfn2Qqb)__OOJO!(aiv50 zg5^G#_QeU~|JBeCF!Tpf;mX4*fwvla5x^ea5t(xzMiSUn5ldW?5#(Z;lI)a4;b55~ zg0y-1^ph0lqI`WF`-^;p7UZWGGeCVP$c`w6%tWUAKlaW9KI-b+`w0mUfjB{pqM}9( z3dV&J)Id-(Fu{o=5*HAQC^c58OQkZSs4T%rlP^BftITlXK-ybg(tAynx`Yu{ zksWW0S^i^ToYX=+O6S5vybTMWKf1Q_Pk|_3 z|KSo2&J24sHTtO4el+48nwXGZ zxiY;D9&3oU47O{nDTaz`1F*`Mo^lPezfCd1%|sN9$yUB%+jj+8ALC=*&L2QY=2k_H zi|s6o92VPI6X`#1=Y6C_hg0_p)J=`&Bdm|He4MV2Q}~#ukKyxn{s(0vgXZlV0@jOM zU^PmWZ>Nr=#3hu_V47RyUh`o}O0A)O+Lfd+>GX0l@!L2UYzf@@M_uQ&iz819!AID+ zj>MLhIpCmrzF++~ssjnX|EKKpr#0&Dzl{enRLgna`K+?od?GjP;8`=bQ+r!&wN)t$ zgJ>?C?zGf#YAldQmeEpg|B>TY?QGF@%8{8%6pGfe$_(b%+b}}w&;X<2F(v3RTzHr$ zJWBC2zt!7!Z}rROKWH_hG;`YM^*>b2wdVW3(eG7eofM&NjX62ljz4YIpFMr|^O3ov ze&Zy%tJsV(xDIgy90p6;Zw5XSD2mN5FVa}7ASA8(*ROVKHBPh2)w(~$9N6!(tyz}^ zT5aCP5WV|6-_!|Vp1tK6s7bCnU5`zbTBge@1^{5$TSea^WhbK#?m z8JOnt=pOiRuO9^!bRPF^Vt71Xy)If@&pqq(VqQ1xpBLR4s$PL7dYUIgMsf7EvL=bs zdjzW&&z+Lhp`HjXOqXs-AB~=f_!LcW5aW7?6;Nc?6)yP%rG*RD;w#^SayCfYTS7IO8D9`^Y*F^1;dqszBE_e1 zLu`DB83;Zn**A&>gKg)y%I{t2FxuXrpJ3a$F7YLsxZ3OhQwQ57xWpAUagF&CiCSMD zn+d*rZ1&$=+|N)P|85r*Qo+Rg;9aZmvd7j}wEOydmUHyTeqv42?JV6E@Cz=~OKJ~p z55`vLsThz?ADg%?Jfc6(S+g|3z+LU33OuQE?nQjsP`KYwqlJy1>%bmywM^0sGJhE` zZyAii=35*J>5$=PWjKm0t@$*=qWp8O@b5dF=(lMvja+eswqdVe+k6(=%tP*1>=^** zY%+pvaiw12QVC(FXZ(;KAXBD4r#{$rtJ|VMwiTFhm1J8!Z5Y|+8|W5hYjCQATI}8kGQR{Lor>E*Fzc2ykDx!fZk*nSt+u zmUiG9u3=QL?MTYVz z@Z#T-Rv$+lKfTCozLTu@=`34&glG&MDS&^NtN-Db+_CD9PB++A=@K`SC>!O+SYm>0 zHhe{*bd^n9Yu+GHz;AKRKQ>lxc2oYs$G^dOux!HhXIa>gnnp*0>r|LQ^nqwSn6>A* zNI|zZPUerTm-7iH&14ahIAIjk`ZkCx>7G9HQ4qI zw`0fK3WOR5;*+)HeCi6;Ow6^P{<_hhMbEd)po~sawl>~Sk(sf0Ha7*ZR+;a9y%Wr> zE1W{uQ_juVx1;(-K+IaQ_MthD4N3+-^YLYlXFibwi=OL^(_~9;X5MJMxkwvWC})Qv ztwRi__s5u&=%IVsLzh&_tVc!V+hUK)@aJwRhN-mYYg941F8&zRC(yE;YKe2wdiUy< zm(+IC`dY8$u3H!P&1)!F7EEs*H8Rk;l#It12IE_~ymy}Q=oX!7ePVom@Q|&+qEOUB3o}4U3>vly)*@-z!5*|&O-{NO&0|Kr#1G59?r6vV|S!4Ef zgKmvcI_#m-D1GOP0xOGni>!+IOaa^THq|2D_ht(OvGnFI;AaP{`c!MhoepE4a^w2OQD^K@n- z20FOP*oLL85D3cJAt1BrQvF7oG2l{0k!vQta0$K}iFRUE@)KCpH}4>R#`9Ca&!--i z{|hrj&vw&C*RUjJRek217rvG~=gt)Ww$ulME4LCL#J_~!u}sGF%=t_&tEn1(OmtiA zus;QVn{VC~R*4tmzdwW=HHl;zx2#K^C#!z z?_iU<*00XVzmT)pHUHq8{3CE+>YBeZ+&TaL-HdNzPJVee<9jS8|NL&o_wAhgh2!?@ z|HhpBo4Q%Q$vOF7f%bPDe|1iNOT(V|2j}EJib&VB{?5}o=l|yXJ@Yr_OY4xUSjtDF)7eEjBX@`XLSiacisdBA}m*k(8twFmJoVyiBjaPVYvhw;l74rq?@n zdb^_j^m;SBwUn6gM;m1#+j!!1rniLYQ2-MZ7)mkk|GKo*xsREz`X&sY=cgMAp6A{% z_dVyFz>U=cT-u6)3qaI)sr|V48|jOJY4g4_GHz{sxgc7XUZv}yPlw`tcprE7OO%<$ z`JGwMm9-XPvgkI9efm4?4QXFvXt>mB#rfuMV^ z{UH0R__;5D^o7KFdwzD@@bA!?Y5Ae5kwmXJ<<4a(8C}#z~ z+mg;JX?lKOVNJf6XUT>cNZvPMxB8IGeagVXGXbUL4!*V`TEmB@0t*8!;We8OIjr-( zQDEVCv7s(|dA9sGDEumy_)Ax(%*n$tC!7~pn3MlCSLt;imWBDzR92*7Q?PBKC5z+o z&20X~x%&53qi5W84U^x9uB0P~$b5h2mi$w{7Gssn{SSZF^IUwN z-eVlj^IkAZEsL>E`j!QVmj3&v$1IR*y4I$Q-z?Rni!xp(yUazm+4WH%97Rb%tB3pa zS}FFhqjEXLkKq$3ABvsBd^4tv58O6hyppwKm|+*tz}sPOW=Xv_wJ0&+SaEvi#&Use zY1rGAe8sL~C$ODO6B%H8;42o`%5v`S?gno++x#4Oi@FM*25%Fy<#XUE=<1Yb;mw6! z-woytaTQ;2FgNtVt}s^sO>!_7iDp1&g*o>o3p&dSE0D7A+gf8bu_sy3N$N7J1)U}A z4|wbA_>c`F`tnXNv`ZS_^;XPkRJG1pK6sq5ZcK>9cNcKEQm#=){s-!UkZItSiIB`=`@#OZNTd8Cf90 zD!Kv&oZcZTbNLRrXWj4W0AeL_edd6+bs%?3>BrL)5EbH zh0(XHB#yF)quQP>UHt0N_-bHVRqqb7a>N72chaPqM^ z1J(^GCeU)btwLC&MCorSQSV(_;(R%A6;AYwkd&nlx#Jnu-FSvE9^OgPYGudNdL^rw zTw{~e;!(8d>qm3j`yB1{%*@Y!vwAW|OmgNiv@pW=z-c)|&CSg=x9Rg5U^9PXUg%t} zKk{Le`&&=`48pfp9)3o ztWW&0wwYS<`F;_|Z|#?~-j@7UH}Q!&BmUp6648-izAtNk9$HGILYL6f$dJjx8{b+*|?U`~Xc% za3KdF9g6?R`uEm)yYzVeHQSD6 zjrpUPRqJJn=eoB7cHov9UFT~+6N&`O6X{X|dD|=3>zX{ihz;D{wfb1N_kJbZg&$d8 zl8#;#CRCKp^LVQqud(=QpG`+IY5d?q-WH;l2U;$rRcoy5imX;}oi;<%J~rQNrAq~a zcF5{#A*()g8}_bq$f|NBDXNou-G$?AD&}pT$>d?@qh$=AlzN@m1_`o5mams!c7hZSw>>$Y%aj%-HPscE?xe z311acvT|ik|GD@r7hjd@t>B)oPhj@Dp{pNuL04d_N3VCz8N+;JbsxjvO)4mnkd#7u z|7hd~X;8S-;XblDg@y&ydmyXc*g`F`x`h(J`<46>pnJ5QgOHlq=m6X_{NqXjcs?R*xM+@8;QY1ZD zVRf#u2k=N*U_h~RbAf0Qj4hneuR0I-|6^Z1|HJ*vjH%O_vwnIKyW`*YdlUXgR%TGg z0MrN3;b!RF+B+*#>W=1v=Qv>4pA}xPoPRQu>mzF$On!?b-*`Klq8Ln-08rGJpL|i` z%Cd0B7_1#6@>GjhrDb5Dcmc51x9xC}@pKr^ZOYhG^n?lk(a2>aIN8 zOrLU~>=llkmZ!MztIQv!*-h@Rlkz!*PoNp9I(tIr3BW2mf90 zK;K{&^!yX;f-1abJ?tY^d>FPGPCvu1F)!SeUC<+$)_G^U1;tGyZ$StDxCQ;P`3d}@ z)2(!8JM3<3S$zTf%PH*gUe%J}c2rz$wmxl1^Gh&0r;^Pzz2n-N&GvPw>p{uzh4a6{ zZ|ib6&3?d!UBm|xB1XI;%0Eb7dPlgafLqbmZ4Y|4wx0VE?}HSqPQT0pD1&8eK9JYk z5N=l2C&o0g)nPfb1zG|$QQ1CXOk?1C?L1*nkb11%8^cr9P&U8@+P2y}2Xu&0ntNYz zk#^r3Q*IyLIhf%R!)MHZ>Mlnjz4k&qn7_Q|0 zq)>Vw&u#^)w@^J4ICHrPQ8nD8x`z$9abT!mTYW*gVq5ISfqBth9R->WYuNe%Xm$bD z85k;jK2`$#egmZ|Zgs)H_+2O$0@?hB$%jP%M5hWwrwd|dS`Z~BqI)6h(mOuf*f(#` zi+%HI`S}_@Px5mVYp>LfYkI7@NAz%xZdLG6 z8K*hA;t*u>*0f?6dO-na#HxEn52RF$i`wEJ@DDjwoSWlg)xDzo5Uf4tNEGF&ky)nz|RVP#U zH>qc@Jpk$7B*8x~7J~0O-kvhF$`Is}6XBt-arN~$Jsl2@>-d4l*}=B!wBw1=VdN0s z`MYNM2y)$1X3-j`+ks>VG9*SN8o!cZ7FLVTYrE1_{&1Wa`Bf&4i>%w{8ezSQmQ=QP zj42T+25{nI%ETlVbc`vtV(^)CWQ_z8hYk~)3Ep&|?JEBbYnqEM?mEt&zkP)10@D&v z7uLmUyuEsdA2#C-wj~&!S%VZFY`e|PXONxGTJtE0df;u9`9W3YD~i6^9;{BJ2WJB7 zYh}aFU?a+%R_=ITJJya@Pknr3sw`i$JGw=cDNp2FY`Zr%(sSGE`kf08t=aai9}Y+q zfiBT_sR?1d;53&wV{$y;4ApUq>HU4|+HU6W-1Y}`-~Kf7Cu`^Wo7#7}^HmjYC*`VT z$F9h3gARNcG45rTQT8d&4=QH8tM>6Xb+NOikzdb-Zib zyS%a1-R4uo4Pr>oJs=AuvSgGw2H-+H#3*s6>4tN|1viAH9++g#m@Cjk$EW}%<{_jU z%hOD_W5}FF@5_y?Z_gQ$Kj&On?Qqi^s?7-mfutZR+rb)<1C_DRCyRF|Daj zjD>TX7!Ia?ABrE}G4@=*8}%Sv%12qlu&he%=rTL|xBbqAhtgwwc*e_oyWKV|_a8Wg zeHRf>8l|#uxt(Hchc+ryBjg2l)ao|j#AYSco8Qf}> z%m1vqFYig-&*m&N3W*-!Mpx%eA5e!=p5C%RJzXJ&C^knIo^&BrdpMmfdx!mcu~zzq z$IF|ktrrMxKAGw1ij9a6t~L{_VjY}K_=qKxu|7+>_HT`UE6kl7zKs9w4@pLeaz30p z6otme)0w&SOO#0Ttc2va)Rp9$3m{bZK}$qkU+_zjvi;opU%Mq4Jsa z-l}lCfV~UHuP9n@uSTLvrD`!g2E>U}$VXXye8vFtA;t?o*WRjfvtwO(hgHWPYPT6} zWU%cLHIpdaz(rt@nEHv@snp5^>qr-{N}dFE+sM!8(LOR0uxnaM<68Ty8}$z=XV0Gx zkCw?8dX$An``F<}daCKnI`2T~6_M+_zUKL%WQ!LreQ%6NZGSZ3GJ&ONfLm{ z@JxlO`Rw_B>j38NhdqJ!A=X<>&=%;sedS8g9qIp3m}sC0P`5n%81x#A16VEu9}CE1 z&^Ta%vJ1#ZjaD_7K3hkiLEmD7`kK8?pn1EWM=-5mn~tKnQ;F1>sr}Ubs$S%2KXsdJ z!F>M7?C3pLXLfX|rmP3K8ZUw%x*eUV9i5r8qu&+>>y2YaQ3kD#EDOgE(4Q6g1#ao4 z#(Vi&oNepx*xT-^YQI?+?k;D@{b@(~3#^+%cy9>iFSdKlB(G+n+45dNVKwVr&vr-f zV8ir|pKgtkuNWL``z~uz7e79JeAo+^bIG@Wz{B9-_z4n_smS*8arqgV2x2un^^9g(0TjHMN4sGN#ov&$x*CiUy*BM=d2Ps)0vNcV}`Q#=W zOD|fKnD*u5Vx}VOb%aeUjP`lr9?-7!%~Wz_Zv5v82Tsr!T#c@w2kOKMh`W{lUo1cm>+1L<^RMA$n_&3z8w8(=;yxmN zBuM9!Fz=YL`6t@V|3nJcjxhsRk~{|hmtzp=9sm|<-S(TVjo2W}C;;ep%BKLp9L$!< z|Dr}$06-_|Q#&63YApc7X4d3I#%D5tfP+7;j;z13g@7xqYMA3-%;)OK!duxwz*e}7 zu=kQBo^^U4DSI+fCw2n?lerV^AmBw9sof#qA&E%f-MV4bp_0546ZF`Nj zJuF%U0Q}>PF?(*mlmA3oyV<|{4`$dEoAIWczBV?ZB(sk%L_Z%MaeYzb+_3j_I8oe( z`I??kC0`YEiVk<7S0r^uxX4V$!c}dENIKpKX&$6^6T?j}ndorUSceKm2Cuy?7?2m+ zm5!DzxS3TG&b->KWJ9S{dkTrWcZAscwPvC81X?r&N3bhq*X|#?Y@JKv zzej$@LG)U&IX0ruhQxgn3LhP3-=c%MjMj0eG51z#WXu!NIsFpm&j4k|@wNx*x70T+ zHwR6YpP+`0)*!p%;QWi0EV#vA0Kqfh)R);N&bXNcc-{PzwY25iu)px7N!v=@Z0x5b zSy!)foN&49KsyzCUr%>YBu-ZeH}ZIi&^979_t!New)w~^dpd_B_T}kilc6SG>yH8J zt|itNxUrkte0vU}3%>A$@M<@b?24M<<1|xY`N%=S$s!Fa%=O4Q9Jqcu;J*TSAl#J# zKnpY`LBt=~o2-Ze=bh#IVxPs;+zuA~)QFRF^ivss>3av*wL(E)Hll`!ZO@PPo!3;T zt9G$*g+0Vnb~}H~cYxNb%u4p%d)ke1jW>9vV|1bHWR(hNKAg4@G@gZ7uB!DG;R~ai zhl`L6ybbgpxb=1la7$-&^Q^&X9K_SBMlTNyPTRT_gc zsnt4#y%aMT+t9SFk{eqgR&pc$ABUPBoyDrj+B#p3EOm)~r{ZD3{0k3n-(1*d@#y)5 zhliQLto8VAhhxioXnISVXO$1VKmqhe1zLYcwT$~3d!idf%_Ny&NK|e+5?_&F^HLHu zWC@83wDm-t-XC*%hnly(ARR@543OBBWH24`V6Ef7zvG;ry7;PPoAa^ZN!jK$n(x}? zrqf*Nzp~|SblvWqEqAnuQZ9Lk#TU0)mpFSuLh%vx@h=pmTC-Izb5)-io*8k48ELzi zMnn{d{y__OjoIO3}R4 z=4HehT8^Gyz)MaOi~M}A_@($Dxq1!@FEWMlpyEh}?cZSYaBOoxY1AjV&V1KzqqJZ< zUPkHV!RkW;w?^3Cs2{)SP`Thw) z%z8#^xH(M^ zh<8q1n=L0=M7hJWbdItc;&*X-<87E=Z_*O84(iN!$o)I%&zxdpq2Py@c3U z(rx%JFFPXQ@!+mlXHH2YG-4<;0;ji9?>G?BK?sCm;aY#m%6XPRsHo4-`}H@WDSnMB zM4ypF>`%iY5eu#4yC;cwGWOX~(hYtad!nSXvLxc4!x7Z@I;0`Rc5(3+EK%q&&iUke zueqJ&vaXmCdoHX?Zw|+1hVvpUvR!FZxn^(};NvaP?W$ACO>_wk-#?hvytRm9*N)T| z1s%<=u?;O*AO)k2)?xhS$n1S=r-i7{RHB%35|?`Y?~E?>_o;?RbYOKYRnh?G+#!8t{++GCg~UC#(*=u5NclM`O1#xroU8v zl`GHl*HMfyc)2ISN28WA|FsY85Xb^3DszG~TbJFNZl?E?o8OJDJ@z}her3qw-Bgf# zz32K@XX+OZ%&h;|W4o>I`sa#r-n%udV35zVJh*l4&>n=^)pNi>arOTko2!Qj|FD_Ypwf{9WK4jOQQb?c^_47GT^uCFQLJ$sLqEwGkU%c7HM>5)K_{*43n`8Y zSn~HajH8P}<5c_Ta``QIX6v;IB>2($!${ydCIz2?ue znNU-L9zA8AvC5o4OFNYkr{^aPzqVyNdb6{@&JPfkuRaDfV3l-k=?U~>pW@4>;p;uP&Px%~ zROdfkV>}}D#<%_8NSN?|_zmPrbMkokI=;O3y`2&qtE4ur33+J3lY9*|$MnkFsOztB z$a2Dai&rMUEdel5{NzzEz|)RmT=swmTB4-ad((?_)9QFwB#dZg=0*BF7QYjuuX9xq z&h~Xk0@&+#eZRoB?m2|HpAjjpZ))c%f?0wck%P3(w9&i{(y7!mn}?|{8S;1!z>Wds z2xwO?k4w!h53;aSdTY$O6K%bgUKEplMQM*h$hdj2ujX<#a|yOdUP`X!A5@(~)6qfl zKy!W|ylK|h+Z;F5)+ja|FtJn{dRT!bu*Qr%T_brv82fmTl-R4yS4)uaOsc27T`kvz z*Ur@1aa4o6Rf|m-g(lZzFwc~k>*}eDV>&A^*8Ev|6Q>^^@#qg2iunMRfqNy;63F)- zSm%oevCdOejvD&``e%_K#Bj5SJOsc#uF_&>6y#qH-}l*?1wZE7nXRfDRB(;C9b7^E z{(k+jw*D$Jg0X7l6neh$Df6&MQ*7z9oV&K&YQ(!aH2;H1UFcQkQ4lIOKg?rJ6`Moe z%NV~{(}m@Fvm8IXk3g$GI#SCc8%3Z+$_+C&2hffsA5i?bZfr zKU5@23N$qRnX9NBd4=lkJ7Rk?Q2!<=q4-H~=N81dKPV92Tmy(>ihIudp6&(X&R=Al zBU!brf8q|!@2x+a#&ti9_*dW2q?DP6@PQoclquQV$w$AeR$Gx9@QWQf?-L0_k-_Gx zB46As68uaBSidfI1cwbB8*g20BG}U;P{EjsEt#|O)`&-IscWWDvOb}^7`$4W1d#n)2#U!Fm+MCoaMt);dWQIN-V zN6ur;b;8{a`X2->+qI(~lXt!E)3>J%_vz0YyP4Uu!*t~Loi1P_#Lwe!QZzbae)txWl|yDz^xeYi)vdz-5aedxF=8$3_26oy8~AV%0Y7Y1~a z%p`h2p#e82?@s&r1hL#?1e>N`Jorr%h!8lqQHXe|+yX4k7;ZQI^fAd-rB8&14O?72 ztGvc~jLOhM<)OIH(bQlcjhhFN?csO|3?0yA?7 z(y&u}f^>A5JFG)&XQEy9LV2L&1K|mnyO~UKcY@5FWu(%rIEW{@aDld1FeHaCa$DL3^*@ip3cVsN~4sERu@ z_6n`pcbeP8&*GoRWC-n29|&#dMw0meu}hvy20;L=;rP+(9OjvM~(gcGgjG1QnV?Jz9Xt8^6j8u3l>-exJ9 z4zRWmAkHG@1vS7piX{?^*VzHzohnrKRk{qe1>GQiNPi37;M>vO-_-(eR5;XDSZkir zsMy?s(;UikraaNzQCh5dOLa8=?;^dONa-K=%h~gVbQ|%}oU(8efV@6}|1~JlJP3sZ zQhJ9+;C>sicx)@p1lwfRP3GIW=M<^zR5Qz#4Ya&O7A=)1b&|Q%PwjB21C-im8vRsh zo8_m*iyCmg7OS@Fca0D!NYx=ycHdNwEtpucuEkTOAf2w~XUo+{U3imC+L6rPk7 zzWxwSiZmIRlsXyDEzurrcF7oTf5B>VZvoiHx$LFM*bLaYd$dzZY z>oes~p7GHM&1kN^CAf>OL9}ky!DR9qe# z8G=+|3T$fR2BpljB>tD@xDroHI3|zZ-E%$NYq5o z_--8W2M2;WekU~sH6)$AN`gp~k?6l0N9&>$4N<(KNjLWsG6cPhjEHt5`p5w0Zf^NUL_zTcZ}%dp)wj7PT| zx>=FklQ6Ii$Su`5Uf(tEzIW|Xp@g% z!ePk(RgdzBS?Msp*gm#c=aT&mj*h#7LH4h3?1mylfG6v{ry~=I5nqP^wt**YD%vyg z=}Pd>=$BXVbhI}?;JBpqHoG~DVnwc4;F0bM^snRC)WxnRfX&aX1#?Nz%g=?o>;Sra z*!A~Uz4RTs%eI*yH(>c}_-GI*wu3cv5?%#qMQ1GFKW3k&E{IO ztlSRzD2X!vm2bZfm-!)4`ar3`b*=dt3@|<1z8qewvOT%fa+_<+(I^39?ckU-vF+j6 zCz{}3(Wf=u0CO^5s8Mw#@5^d~Ner&nql>ufuJvqOA~T9cQ$MMX|EOH!F)!5H#+3l>v5OzlP63)1c3dyt#LMB2JTg>Mt@E}jzKPN7-*u0?1*9?GR-sexUn=4()l+NxRQ`Lhet?Wuyg^io*wI&YKO_2@19 zM0~#ckH;*NtGQZxm`2RXEDLXYHN5D}g76hj2EsVy9WPkemqFZ5DfQQiP7PO$F9s76 z3jK8__1q)vB99-7Khu%n#8?7EZvahPqDqOEwMfyZMwk!|Fli z9PaPt?b*i=ul1Wh6gd#>jUFO(JM<~m*D||P|7dPa>q)$YocoHuOWGB*SKoIqnfLm` znYLJ^5bA5hQiMg_KPKj8$l6MbXW4KGtc6xDd)yzW0=>tqye!olp;MA(Fjkcp z*|))lSS(%aH~qYB8A;c4U7bB~eHcJ*27rdGp2N#KxPHN3*n(pQ;2qQiqMBKRw)<*@ znVjmqU!NHC!O8)=U)eU|wpXjRr51hE!}r8Z^jlxBl4H-Smc4-}+Kc<`O$dIF7CfBF zu})B#`8rq+zTtyK&zI+Bt$@?vRVC|B(mn~X$N*Ra-zq#^6`GIX3Yzo0Qqdi( z(goK>r4p!ct>kzaC(TdxQ>>%8Fp+2uSDCHDC9`389%NI+-TL>gKf^#{I}W{W?{L#1MBB3h2j+Q&^9bpaGsD|U7uy5Pr7`&A8NH?O{CCoifX{U9zD^1p276Nv-6(0zR2 z(#wN|4c>m`_2|^A8ZhKS;4ar|31191joFW*RbQ}<{6d%_wK4!n= z1^HVS&kM9R0d@t8s+R|DJD;!Y@Fu$9eQ9qyyh;r(%qI z8yeAK6-d!&X8cW7~JF#knG>@6r=$Ivk|V_x;)bDv=I%lUOp@bvEryuyTm zT@;#stDQ3FC3+xld6d>A3P*4fibdOp6gUuuJqJ4wSH{|C9TF$VrSzjK~ zh#Cc%HPTjvfzJD=TZi}ofHs=#sC{@wV*bx5U)!3Vxqqk{0X)zeR)_eQhXSoK4+~lw zAIy*J9jthvU=yQOBaln?5ehs)JOIs{g?O+mQXPza(le0gPsJc%4B!L7NwC_K2r;?A z=w3q_jd=*i9Wk+r38OB;snY?BF@m$ox~AhPmnf_VH?1>A;ss>c=$GkNYOOGWXkEdX z=x>*p_z?=_ue7EmoOU;oiuVe35n%Xsy;{up{M~>7)w!r`S?Sy<7F^C>I_-TN{2kO+ zZsb4Yz#nFI94q)s%9LFfTihc9!?yWA>k^W)wYOl&0av`(CsX@G^O&psGm5ndxPxu# zICW08j;!X?c`#dNvbn|9N!_?W>O76=09U5PmYK(>eq)+kne*C&pMq_dY8cb_NBj-V zoo|cYZ$?op+tm&?yi>AWtuq5%GbLilHL&{lKK3LlDDN~;dyccBRRVL(WDE2DLd8(e zOw9q{f6>AF7j+|&UuF-vyXxo*wc*5-<;gY)E@u2Dd*;2_mm%CPukEl774g|`)O+je zPz#uv4Xi5@sNp78^=XF-whTg}_%I~WL%)#oi$v%Xj}Wl6Ak zL{H%a9rI}K-&tH)SnGYIkmus(hU4xL^6zVvf8 z{g^7-NAh+6B~&&0y2#NBuB2TR*7M<%I+jw5i#q$5zOL}a6b^gC!tv-P;picus_IBN znmTk{A#a8#XuS3hqO9S9E%64zAVoKY;?cFKne~Z=RUwcTKv;{X-vqpP8aA1G(TIBu zt3>;v7U|cAyxKoN@x0ni70aP^MR6LA&*&t0(PM%I?ZN70bB@T;2A|Z;>8;V;&uA;n z6ck>me@i)^*V2)79u{|F4OT^rXk^`8DcoX1!(fMTw}Cc zTA_Hu+7OEsiq}4qjIjl|YlX>o0_(+EUG;(1YOU6avR*AVbhiohTCe359hN`Pa*fGZ zt`iCtX|)Dt*T7$`#$KJPbppx`rl0Hw%&`3avVAUF#b35VvQ>7OkMY=J*#a#a7_aII zByrH0c~EWj=0NM6`~_nXXtnAG5p&9jrReRgtymK*SPjZutf>c^H|N7cc)Nhwl0eHC zM!;A9K+6dC^+}-RM84p@S`Kw7eFC@KMeA*s3Ty*E+!Bc0%%9n|XG=3pvi8-2tzIxySl8ng2#+o4>kSlbW;~r>3q9ZIUOM#@_IU1oH%ls*tDYR3oNHPiTj=Gh&25o}fs?;uXD zE>KXYJWiCEgG|fm$!K`QCC;}~bhxf79{d;K`~TOwk^JT89T&r#{&pz4V!pH?D|Tv^ zAay9H2>*n}y4HIq=%F8J9MFL3d}xDr_F#P+?Zbx?JM~9dFiniG3#@axv)xVMa&l~D z;m2Zfr&=aAdTQ7k!R5#3fhL4Zn(?W<81NL2Hw|~t>Jx~1RN3wnS&u!>xRg=vrNW7e ziW0S4LfR{Eix^FGic>nszK7uD&4yRh>k3w+U(UpslB|Be_;sDj9%>(vW-qwZC=%h^ zA_u>g?Ey-CyJOd}6XF{Z`Vu>oh4<6RFu%~Rq!NNguH0Zl5 z9xO~AO6k}qhej)cTbJiYCS(VFf$M%a-6tB}0T1>u`>OLTj5YSjKwG{bGALXA3$A>j zE&nd%`ftGygHpFM=CAUNQ@2DKnFK;eC zm-F*;es)#$%lj2S`p*0)|9>0);63q)ZDIDuT=si*lsj-jSsFMFY;>7TbkBNXnr7tum-Y%Ai9cn(0g4|oz(mwMFLBUWl82!9e6)OtXz^PA96-woXu2$)L z!Ky`ur#n);P*Bwsv{!5>c%N{ix6h;}FwEzLi>6uYGA{Z~Y2i;nr}?)4OR!CTm#I^` zvPHc<8Q}AsyUc4SdR;ly`W3ZOd+TeFtuIGGAn@6b2jneKyf5bs_e-ljrgz!qoORnS z-9I0Cv^iXnvq4$2%C)ffR@-z2XJYH^9yfSj!Yi6PKZLg5j9C(Wnr!)BkT)Zjd?pO2 zk54e*_-OA2@45PT)OdF_Q$4*nZhyxIv zPKQ-0-9oZ`8N!Tt`F)8$zCI6Nn(kyEltl#as|zg5*FzL9(bW7!??ZiVop-_MLg_2h zFV_>BNWt*N#b!_C{z9lKIz4(AOvp@Ke8;c04lhbEE1~&-lNmvv%hcW3@hPSSjaFvI zH!L|B08w?cysC$(>6ySIwJ3|%TAga`G&SbcPUTmbdEs3mP1M>NQ|Pb~7T1W|92}~u zj2tOB>6{W2jqv`+NgJG;v^+kcCLFId@rFsMxv>5<(t(sACQX8C1kf9dxdsI4O{l>H z?=|3IurY#|)Ud&dNk(GQxT5$uC0Vs#aBKTKiAga2OZOC$&ig0>u9fB_yg5@R)_YUJ zO#0MztcWe`*N3|T_@Hc!U8Yd}pN^le)P@R-?ds9MCp$8`x;QzA6Wp>sa*UQg(E1RR zC%eXS-=p-}Z0UWI+rX+)9v5>qgWjF6kV0Q>s*AA*Ux zLiiUk3;kfF(VNqH!-$guEvp!qdBGalW}Z}iddck15%q`6@S<0Hh6^q#!iU#zWIC+gnN5BdRBUQU2J(7?aX>y?Zf!1(Lk#-NzJpT z=S41clQ1DR*aN!U|FJpk(@7F1x?91k2FL;E}h;jO8KSZU>3IBuw?C!hU z2B1XzqdVk_&1&w?Bnx`x?4T|yQEnyWT%iM!@9u;^dmV0yl^?;?Ohv|P@b(QpT0*Nj z&$Wt18J&sf-7uAZrc6U_CRq8D4IrT{{9sGp8bR7VNz(R(`-Qw~i|Ptq2zg^myovq1 zGm*BZY(^i!5v!dPpRg|ZbvxRINtq+JjwP+($Za-hxCWFGHHx!dJIR}{jwJ*AO@NEp z8kra$Tj(tbRxA$1uZ8azTN0nxFFtm^<-PK^E}9pu3KkG|X6c-v*@NWE+%InJJbI5| zXI$RPB1J_AN&c4A=1~7W#Ll#=ynaNst}lGwm#w?Y%$1E&v9cuy=QeT;jqp(N%zZ-D zPe$u%t2Yn;l;IXoX6qtoV6FFFsN((Ff)CI@3$DuZn_n)QUt1$wetvLkZBb$5Y>q~l z$Q_hhUOOp2R4_C(S^yGgeO>3qZ!J4IUvln|9bJui8J7Wpik;SG_H=&jq?VOLzsrEg z@owwae3;q#Ly}u}0RMW^X`l~=BVjOL7mL+UrPk+e8e(W*)AoogshtPWJv7t;)9#&K zLLf2Th%3UxU3cjn+j>d3j2x?b6%MK{tk8M0jUa`t(^mvD0_wHHgaxnfDEU`uvVmz4x=)ji$j*)@5QQahp<8qt?E zqA13`B|VyFPs)qVkvwyKcGGThn|9y_nN1s*3~p!6ws=im&h}1lCEs~JQ}XEK0hFv* z6)Jc)^`koPrQ}D9H{0-RSG+x2ynoW5APH4pRx-PGxAp!3D!9x&mM1B)H7`E`<7apA zKAhGpI$B|_z#&}w$Bfm;tjC1#urWXv*zekkS`gEOJoES;t(V&P3{dTx3sgM?RM;5e zQ(WNtGh-{$;Tp{ybW*Ocx9hAU8FSS`8+6%+=fC68q z1TnL5axZ;@Py3LbIE^xM3UYSx!>wtez2&u@+AnXy=ze({Yx?D#$@fqB-S;$?_Rr@O z|9=nve+Bkj0c!>EUpKKLL*sH^WO&zJBz*-(OW8RT>Rv3oebh|Okzwqa_kjdFGw-!_ zep^Fky*KhfRKN>Bgu5go#$cp)%)V21L7lBjkP? zJhoM?kE0FZ6G`}l@ehTl6i(i)?hqdN(;6d4lS~QGm$`GVmteFh@2x_{*cB}JB=AU5 z>!==UnqL$3544I0S|F{92KEPyDN#Jkb{j`P`@r<4TPK=MlU~*lo6O$0eRO8O&Mn3k z`U@J&iw?_-qASDj^xK(rsWHFc#!6;UQm0zxGj#_}2JN&EPPp}9@1TNf#NZR!xC06( z1~<>#Yo{J9Q~j6twi96jU$O0L0*@p|LhUk63l&=kk6F|5cH{*7^=BO-<--80eAq|I z2VIA>vVXFeI&H7fV6aV6dn$lL`EuKzZGzswvi%52(^pT|S8_dUu|I4LS6w>5ML?7v zj+VsI?LYC6RB(ztkJSIF6sKA^M^|8EBYnP2=h;*&wn&1P`5L@;<5R}ha~B3AQ38zl zH~lUQUN9MBC(0%8#C+=1d&kuK@4ke*?ZJ6(v@0=w)jNR&oBPcu3dbAJ?0qpU|JsMG zaWwWaiS7aM2YUrtJ_e_-fxUv>^@XXu1CMM+WgUB?M{I4`)0j}A*U{8Av9^~qpPCoB zDBN`Be%^&(lGVH;j_lCS8w)0B*cPAiYJ9>Qhz=j}4CK_JrJnFA;>I>}2c+Jc@~TJs9?2fP)o#*|?hJV=kv3{8 zR>vuPco zH8BwH6Rh4I9TBSjC^|gD+~daq!g#6T`CtK$F^wuO&(~Pu*lbXgU1m0}fYsulBoj=g zdG^(a1`}D|OzrFde9_>IWM(~T%yRB}EQnD}$5q#bIXxXV|ErwT-Jb8= zA|Re6YMX^ioA$RP14pi`m<l!F&#`gy+(WWub^TP2e-=WMMZV{w)bWx8VibE8SmpAkG?wI6%6;k~tPDa!fyqR;K zYba}JZg|`x>^iRV>Q;(X|DI9b^f~a(NiteLAoC6|QqCssc+J^%hI{{|dx5CbXy5uwchJoBns3niQj2+ zg7f}#8f!uiRTLqf&FfMRLLT3a9GW{|yB>j-(`NU{G0csx<1&VwYIx^LHF!%|smk@{%05q}NSnhF*P9$*ix2aL*ea;vf-Oe>v+p6dmmvoX(lha9ni*EqB9uf?WeGxA7sb z<7QgIm&1F;>OrLyTL9Cq*@Q-1T{7o<|Gv;})7jTvl-K}N23kV2<4@-RrsJmKbgFs+ z0{|pU>0a`alv-w4sQT)XS-;ZAAjDC$+-uDsk#ZK;SM6mXLaj^jh6Nh^_-FhM@Uzzj zN*CPEVYv0Cb0_!X?dvDgFH?j2)C0Up`>D+$gx^+~kAx-4EF{=rRIc=%x6dI3y&k}I zWV7uLU#tiZ(nb36S6SZNRZytChOM-JL>A5`x|)9%jjvRc#X}2F)zG>z90)yK=k+lL z{AT;{yXcxfdLhfMak!P3M<1*&1CAcCwWg#bGLW_+MJTG{lZxU+Zp0iDg%KMJCJYyO zxX5gb?86T_+oy3EU-}+lW8~NF7BmYHz zbkaK;W-t3nT;0PKB7V^ij$CntLYXIn3PZVAS= z=U>}5w*3$P!`i0NY`MRKHJ|fpjOWHuuoinqTAQA!mRk;r!krMMPKdo`GVSA7Xjp z@ejKRQ*~)U7hwGG0{_^ng;sw?j6(Oa*uKB^SMA+8#iDO~4&eo8L>z<@y({^1ul5>(guo>`$QzkQowR*I4TClA~r-t~MFAm@~8j$Ps z=+WVlA4n5N9;8U3@!AZ-b`W8@c&DC{G_YH%KFdJElj^-?{9;JD`EE66Z?5D7chtu# zQ$B0q@}*o`OIBuN{}2fE<9E4B#lQchUB1}k<@YfW4q~#dX+ypD3JhzYr4-)4{2arK zUP`#NH-FisabAYzPFZZ4RN;sy3_0+LIK7sgx8;0&0AgK+7g^+q^@HOqO5C8i}s%i2&}L^))Pj1QRVgt*CGTxz#v*?ccre0xhBFA37ItA~->XV?Z^O+r$ z)62|()T=hLp7pm4Y)_W73sK(3S!+JRtV45y?6mKw_j<`}&Wzz^)H!XXmzZZMRJ~!= z%fYsvx;20JdAH_+#f!Ab`GBqczD-m(4*4K452(Zm8 zB}?XmJkeF`BAXr3c{7(KrooM4rIThlclI9w>;H;IEGgGb*a7%^y12$u*-vx*e=^02 z%|WjUKTo6Ts{%&` zy=jHswt26&lPAt#M;Z$4ec&hbegYDiCXA@#!9!lk>j)mX6g^+xz}MSb+O2{jaMv=p zNE$}9_jQ`A^Lh#X!2qtRe4xa|4kIfWM2JznTC!tnifk$di;FCrQV99}`J8 z4yau3GraABi%Frx8ENwp;-?srlO5N-qWbx{$J#~;HU!hl%|KcYRd1Q~V;LHTi~6iK zgYfdFa9*+81PtSpLd&@0IIyr6mnr&$V3)rILjNYNBUWDHZ5l>Q(jqX%>>#*;c-;;*pk_YTm6jhgmxi)K4Y#%JM255 zjijVnblMod#e(#+T;~b2%4xh7rhQy;vkruK(zopi8C_!0txdH(rq?BZJQbn75u#ZOI)&FYA}rla2fmzc=vv6@E|j(>fva z-|H*$-s4XmU}_bcYq6IR%NFQk;jMl#ax}MzBmD_SQKpw@4%Bof^AZgS2&?TpZ|f&C zkL(%6$GbYuY7YY~53ow9W4$v9d37UFDz~G24`2OBRH){RhzP`Xd>lDn*(b+#^t7QC z(PTnq@j>#QHYE@bE=AbYRv$~uN?q^IP0>L6dS{gJ_NpymyUzRpOz6$|Rc19z82266 z#Wh3=3c5&{hdtY+t$)nEIx1St0w{U;1p@1W1Mk?pFhuoWEfS94fuyM|P?-G&p$(op(0m^2g=mk7S@- z^DA=lS3a?4eqWcL!RP0Jfcz#h@SFUh8-e#UODRc5%UVSRa}0&0CLhn=dIiY>O6LH& zd}Z3Z*R>Z|i1_imMcZX%oKyGI&&FuF*%XUw*| zUVv`20XC3z4lKmyw%4^!OK7%)Qi8ZUUlo~?bOf;4na>g1?eFAzn#%xxXDeH-#P^Hd z^)rE=gZLTc|J`M3pXpC68}Yd!i6;g#*=dz3E7^Yy7_)zedx=+Dygv?mMxJT%XS*HL@#uGW7v1s6H&01K3*7oZ|Oh=(6MXL6qaIkG2HO-j_a95J-W?r%IP zv+AAL*H@UaZ&{P@{Z{a`lJtgURPwGU8Zo1UAYJYn-MNx(^tr-(3o{-7{)KRCSy_5{ z^^B5P8|_M5NDJ9{cCJM0Sf$&|)Ob&1QM1GOfg8@G>~K=%w{U}4sQ2HkQXZ9(C$mtO z-f`5I`{m_d-4EYXP8>gb^K-eM_L%_u->i_sj}_l%dAU2q@i;z%7fLcDcc9QJ=l}v6 zDT&=sm>=!qjV_DlD|tz{13&|2yYj7>Y3e*@-eX(#J==?=@gF%dA85IV`k5|I7O5YY z>32vly)MTJ%R##c`LBl1F7^tqD2vkE$TDX6!@SXjvF#rRTC}$)Zv!nc`_VIU8CW3_ z#uYtsu!M;7AkKmQmY{*W4~E2&BT z2Oqpi|DITuctO`8vLafNuE}=Ex+VtODH3;2?}#=P9F@n((8)Q0 za*4+4GMdnmq`=fMfp%fS9W|)>{fpo1jhGPFoK{_1v&F0^!U|?K=3n&N-~TdAZP|D1 z{%`9c%EbOhMam}M3P+3#6IfUh`>5A-<=&ll4~)pv@`v;*VXqNlwmx#2s}lJ`mi}O; zWAhRBWQvg;=CyjvLV}DJEz=Dl%M`JM3_d(3DcQ@~>YkW^ozDMxmfxHC=}F&8`&*YM z7v7)!ww*5~1}4iKJrw$jg7Y?KxUdVvh4GKvA%RH*gjMD#_NyzDY+GdS43x5kdxG26 zMZF>?n-|0`05X3BWa7&l$h^UtFKFeT4A5+Zt=k=FB%iD@^SApjV$ajx2O$ohZ2Xp+ zx%jcu7+U9Qy8OpnJ{Fd}0RA!tECiD5i`KZasQn_&>23q+8pRZ^+}-no{kr^JvfJNn zRf5FoZ2#}j|9wj#N8uOElRA1VqF#Etl{B5ZAzH-M{KHs-ETs7+?4vzPRlBvD8Fu`v z-Nzg6zk9LxS-X!ne%9{e1s&~H!P!5<8uZQg`rw3Zic#MX7=-LA|BH3CmFo$|wXKH) z<7goU(!r``b?;mwk^&yyeXybcm6?NSip37^)=Ose+4!iI|2o&dU_Vv87rEYLeU%ve zu#M+LIDhv%k7dW&f#MO92Ji|f0tWY)P=8txn#Vl`q+rlq)g?*ACb4=fbg|NFb((3< z3XeD_S|8ln3#7dhjmHQVIgR_-o(qM9x~(4N<}awFcFW9Z*zd(y*;h*vrP~*~7=M>6 zfn3|mTwc3nogbEQg}a=$SWE7f8+=P{1EH{WEfbC0ACmhE5z~4bt=D?1)xl6H1+;Qj zcy}GcLnx`t{Ms>wt!L48QrG`67qnBCMx1jv0W&g#<(3UY*O0}6#6i>=^>G@NHx~2- zyH0q5p>nGk3GBTvliL?6U2ESUqK<#DZzp3E)7JW;2Ae4T1_jmP4BS^!2U|bv#pKAX zB~kj(B9}SjDXZ|f{Xue)kE)`(DzpN>a+EQrN*OaE_eP*o#=L?UM4VT!DWk}a{VM!q z7<=nvHFhQcxDd<__C|k9ohq38a`^FMl z6?>{@=~Pca_IWq>IEC}fPpp9AU$VoM0_k#0mEgJ5;uXpR|IPsm+4Gvpl|)wV8SRI~ z$eURhSg@@qb%-~+Fj)O@bRYPJ;MU$nkz+Y3$G^eZI!bmW-hNMi9DSXflKRASu-Bnp zRdg?k^i`39u(v3d?ioD==-IkZFt^5>jsAusaQjqHj-cpPJ3mGK{PIIgzMI!59ni(l4l zCg}B&{iwfJTc+Ql`z4GnwV%RhmmZ>la$58YXBYMQJrEFMzO5d)D|v^-56{4LKdu2= z{c51)bCO-%7^mCPwDip5NT1$|I_yZHQeJ~W0%yKt{u4Bjtak0F{n@YZ_mIxN4J>u? zK>n`ti1D)4+=B%kY2esj(Vxb6$e0;A%1=qV17+w~&`1wZ-wkHOH^CY%RfzZeC)^tS zV!4}u2TPaK{g~K|g>256XgODbN+?)E!C-82Z*#LPId@Ry+ulnd@3o}v(31b~HDI^9 z!9Ae7z5Kk?tdLiLm^9}Q=`3m!4Is!hCiUap3!PW_HfumrsRr7)l6F+8-ZmAu?IXBf zT9LyiO?cenT!YqxNCA)$suB3wdyN%K^{?d~s8y1zF(06CAR_C=|HIz9z(-kJjsKf$ z0)ZrKR3e}VQ6om<1r2Iwu-%0X>_U(zTCj+sQN)5uWmlmf1UISKKCV)0tJYrZ-KxD? z4Dr&0AR(aKym9dYw(1jC6j4b4b${P8^E^*B7b05v_Wi&A`Z4VDJTr6V%sFSyoH=u5 z##8mAidaE+0r^M^@*d(yg;x)frgT@!eLSVW`{=D%u66v~u{g_B#NSc;oygz$q`7+c z?wykAcK1%>A(g-0j0Wl_z1RO=HI%lGAGiyl!*#ndvOf_zxw^hAmi}R#^pM<-_z8Oa z8_gxG78Nx^^q=Y5Fqn$Ra-SyEyrxS^55!dS6>*wrr<*?S+qyI(S7Q-0TIBRv3A2vu z@4xtTxmKY)-lMj^7S^H_B4iuPKca&oZT-WG3b&MOS+YZg_vapMCEiV9Nn?11gjAHv z3XI%pn&GKqYm8^i$9o&RH0?EZZG`(`%!K>K#-_x%{)?*sw5!hi?h28!#d)%^!%uCJ zrmVDB?&DNpo{!~6XE{Z5oXr0S8z~kyomc#tdZmQ(Us%cVX+SUgRD>>+tF$oO%^V3M zA^emcf@^yq-Iq$T=&jC6&ZGV2pJIyD3?H%iJJD~i{6_TK7F14{zNZ>NJOCEEn(QiX zd{wQm9;DxXd>{sh)^eT;xG-d$xrRQjiiyX|DR}6pcEK-4je=*ZnV+Me?-4A$CW zxr+(FQ5tNOHq1_N2=7!)u6M78H5(pRtb5H;U&Lfi&hW=B5c|$NjVU5*U8xYaX1@-A zL&sfm3jUlQgONE!UCCgU<6jWhmXRLKw?=oFKXF8mOv~4rf5!ianlF7+B5Kh7bh6_v z1!1N0Rg8F(D0yG(!bxWNGOg$tz@@j%h5Vvdn~1n??}`L6s57XNA($L`J9{5Pd3Js8M6xH zJ?@qmf9Ny!A#W(HXnUNQ;^jG>x;L}t(fO??gP8vH?tO+pmTP5nq>EjRAzL~}M!%+q z(n4S57KqqS1`S(} z|EbZPQk*^yHzzxNtnn`?edI5?rZ3d#_+;c#u7N^U0ksYt)2TV!x75Ma!QC|-JRhtI zcY5#WaAG}9cwzRjFfz7MX*?FlquvMq3eSIVFHJ#N%drV}@j;wMLnu-AD*xC{qbr|R zvo}1oth+_0D#!JqowJXBx&!{mVQ~4t&i8B0zP+8Emoogf6M_7{11qPEn!Y7Ee=M+F z(d`U;J5~{$eryuFKAqu>MASRMi+@Me9}94O5`1`#&=LzC^+&tn`-IM~GXIXDxC6e; zf9V3>u;IU5TAJK#IAE4=O17Ck;x z@YW+E9q9XnPS@@43~xm@?YH5*r`z8d-s~iJmv)91{Bsw2me}yNDR^gehIgz55B~#= zQ+eut;IyH=^^CW%^h>*Gf0dTUSoSEp{9C_0SovUbdEm9sojb{wVZjsOTJU%>Ao7p= zQX!A6<($dFRtKy)=mp8AMuFQ-rOv^z02?_BooSd zmiBe!?<02k>}N?-bu9nQ!O9OxrVsG0ONPgLFgac0H^G80^c%@Gns&s3w2a@1LyTI#;-)tM+9tH36&hRE!@M5{oLM)YMH?a}zWOSaO z=kL1GGt(}geTQBC=wEePUejZHr7aJq+4(CET3?^8^*vyh&wiK2Dtv$Q%O2{Rt@ASk zKl!MYzja3s`AeMqb6}2w-_%q7Oeg9*@38at?kWESC;zBNEPP&my$AXn>*ROv|7}nC++GKLFLd%d_@wrfe}a?$*F8-eQ!e1&k~l)6H_ArMG}df9SdvgIRuSZ&?})^)|2B!ungfc^`fx zVv6+Yq5}V1FBa1pY%SPse$`jmfU0>iU zS+fWyc&1UkJk^hb7uQ8fAeN`a6AYx-a6FyFB6rhoK3Ku^UX{%ft_8tmy+122= zR+;}L>M$QBp5zMMiCzjT5?O~2jJ1Ot&xa(bq4Tu=vtnvqz`d38Wz_b7p|pujyfnsi zF&!$ZZyF=_-{32CbM270{qjJvpk2DVA}jTuX;pc$UF8r}<-kCNm)aUao}%U^uLU?G z8p!Ao9(_QczhiC6a@nntZX*GAGlB-&ZZ?OeN@$RDib<-rU_iBPTgV$(NVx1*WOMw{ zWfjs4`kKeQ{cp1Ome-WtvYL}lPq7cVr=7!-7BAGQfGjM0nI!=sGyZ6lz!dGs^M({x zxciQK#G#g_O6>$vCq#Iv{s^_Lc6h3O!HcxTQzdcBx;x&h?ZbW&p`l2|*B9l3R zIf}1V9j+V8y+|}0F6;A_P+`<9z4#pDwuH|jxA#ygRzA;;&HLKlb@x?kRT3Debdgd+ ztThL8==0>q2I#m_j(bEjfZ&P~j6!y6(M0r@D$`XkzT}rc#YL#S6eG>jsUlxPE%_Q? z%U3_e@eE78I^3Bl+Y#JJF4l<^fwVGr9}d#$@{_NB2`e)wLef_$B+v~p;WslY6S^4GO_kh8Q5___mLsK~p zBf-MIg=0U{M^r#SR1+AMpu^1HsyzZl^mQWlCuDHJMfgbb6Xa;gTsyW@K8=dh(4O6pJ2-_ci{+B0FU;)n6=ELu{_$pLI$&Ujh~%n~3c zcbGqWTCD;O6}v~y;@%z_$A$)4s@fLrXHFrC&Tc9Dr8CW^{wP_wIxSi#J2}i&{B=$X z`?B$eRpzIKjQ?80G(U|S0aUmH^>Nv+Ec$+#DT|U}gUMAmP zxO~tlZz-?*y`%F|LPwf!(uwV`a)pN(`$MNM-DB1+Z#h=4dGmTj6}ccvj!NO+^Vm4W ze`oog*ipht%`tQv;(p|!3YXV&&uWo3;-JFmHEy}aTy0A-C&@s?_;IxKF@&f%Qs4Xj z$Q!-gD;wI}Zg#5zNo%y8@avpr^^f-WgW)#PDM?+OQ|`@E#0RXH6q>{ibqP;jZ+`V> zd<4@;Vz8hQ&XGutse8SUa)|jOrXciWYlEbgduPlx&;30`b(+)NomACJtU=8A*ctaj zdGFG`@;Ov1>;E0wcZ~U%%z0J&XzVC)@OEzOg+Jxv!5aJfKljwwAmIf6{>DNOyMJ6a zn+m0w5;JHXN1y^Kc?b^q8_UEDS!YgS4TKp+rY5qIblA{C&(qXq{N4Fr$MHDj=gIE~ z!L-SGWBQxlv~bu;A2Vm&#~TXLJYHmm+a=B42vLj)tj^~i2Mk~BNyxu>^pC`78pb2v z)A=sgrttCekpsnA70*9g*UWP3D*&kn;aDKU+%MW3{z*LlqkI#y>uBn!lbMOVG`kwV zks?I*@%;9Dr;pP%3ceo;Y@wd}ej)3>Qi&ELSpu%&o79sh^~93ux!kUY35m@E9zRc} zZT?2DqZ;9_tUqH2Nc`kLssCjmbMl_#ju4UiKoe-VER#y>?-CmtcV%ssU9CnA=bPto z%B}}1#5&{y`WG}ll*&Nn9B2EJ#u4t=7QVi#>JTNi^vke2GlJE$mc&a*pCtw^a`yKx*BsJE{5n5B_Y@u=$ zj%l{iRmpn#-f?-UVQ+-9I$fc&>*kVKm~kb)@WvFm82=Nt9o}SaK<#TaG($A$ESlt% z-9+FJFIVN&bJ!P9d%Cd{mIO)~Za&9>Ia9;D$ANjHxv+bfty^>r(e|xkGjw&GXmvPV zt?~a_i@rp#?bkB# zZd#Vem6uV@+(f*}m`QCnw zg?*3m{UGy{3}oz$Vum!5O;P6y@-8s>Bd z=FO%bm@@v)5PY4kcsM#kH!v*yceTYI=^vl|*y&B7@r*`d*^${C!sZ>q* z8f&oH{qANSHkmxSi8i#Jw%SjdOuu_;Ao5;Hc)jp6k8_!sACAg*qhhJt?_T3$m%_{K77)dbcV|p2O-=&oac%%@*DT=beoT18BCk|gZ8*=erE(MOl68yTVO#TpF;bD}kN6M3 zAifUF$i+>R4XS2I6~l)f{WB!e#^5}26=s=@fed=HN~_sU*xb6w=kYg}1oHHaS8@VD z%Sd{2)G;9s!F)L+8YgGc{quntirRjTT4nqKTh$$}K=mi*m1p{6@cxed>ADW@;txQk zVH~?8ON+MqH~}U}o{H+FVcf*v`9ZzkT`#-;T$@_d%NF@v>345dIn>Lh7QdVE0ADgL zIRGPdNBG>0T>qZb1v{hI;aw(8S6TM*->$H<5cYB~!@N|R$2sOWOhxSEfo3N9C$f-( z%{WPDLII@cN7H<@r-P&U`ki7npTQ&F_ui+?=Cyo;R0o|+cR)qG*z$df#)ZN5pTPSK z@Q86VYh~7~g3&|YGT)iY3(g+1_xBWjxIWm%LVGX}>*bg!Iokx8Fqb`|(sRtktWm0l zj3&UWLqkfbz-q|R$qhN(YDfwn>wZt;L~8T+MQV>A&6e7G%zh8IOKsO?9r70~Z-tkG zsES|85(LD&-AL2Bfg(;ic3|PJQ*OE5;tLB#ll+yRmri`my-D(_>wjdrRe$y!B&zzC zS9V*!&c9IShbWiX`FrER>IPq(e}bJq{WLrO=59I@<>^n|;FoFRm+Rp7C;SEnt#A8f zc6%KB-dfT_{zvTmxlh{om3I#x{O%`<)7^CYX4~bn7un@+?y0^Kogex=`9q7|O;7fK zU#63Punk}KWgWcz(^UJ}wsV;c|Eli&uNMEE{0=^6_mqF3&QDMMv5imOoNn=fUJJU? ztHdtfE}Pai>~ zJoI6{%T(m#L*GDTevT{TPIw23j&M3bk{oJy(>lUCNx{>1a{_ZJFvSMUGjEet>edy> z**a&iy<42yTM6#7&m7ME^AGgkay=pN9QqT>9w<27ME^2>bS33u*>3r8F0fSc$9n*8 zY%$Bp0n(gm6od=N>MRXNM$SB?OzRUb0GzZ7+zS=VKh@;pG%|-xi z#X#t1o+dN$_8aSuwW_&5RdY=&P$V;Nvz4Y(%_zRg$x~)Opa!D7q^Fz$a&LZLBX@Df zQVo>y)ygfIE$;}gqL(wUa~Z?;cv0K^9Q)f>dy!`513(HSHgG1!Yv%W4dacFiJZvq0 zbZ$PVN52aybk;s?c4rNZDvQn=sQlag%q-EViD$%5{&2joPW&k{*k8;qh>ik$Z2WVW z$lJ{m!H!EU#V`1iz9OJ61)?`(z}&lb!`zldLbq_B?ivfi^)$n8tOQ8w-D1WRnQuU7 z@m^12azrqPxu17mZJ2zZxtUCocqcLM9P6I0)diCluZX6#5KBCP3JUpxx4#@jXb(f>L}*PU$<^pR1r1rU974uGv474W=pmw8avHDDxaLScpl4s?LF{10=zgN zPl>UoItD7SK#KX8?g%&eV`Ih2^?nbwU65yfdWEoUx5#cD+&qQPA|aq)hnOio{@6d0t=vgX49;{s&^4>x@Ikv6xd z>JI43#L!bUQ$284hlhtCAw*Gf8hsMEEgubY#n}#)y>S;5NeK1Se)e!)(Pnz=6BxD< zJ|ma4lIao2w9U#y+{6oryY6e@(cIQb5ZjJ)K?MUimccgbeH4dyLk8%ryrgm=j1K7Hbnr)mI2 zCaTy3v+nyG7ni~Er)Vmwhi1_kX3uT{PM z9K=RSnBSu%Gynz!QDF4ISu)d~A?K#f@5r@iKfR5YQcb>m&NyIT9-AYm#GCN*$wv2! z*)bQ(zWiNeB2~3Q;k7u&Trydzn=}wYt+`VsCE~=C;cM|y5~4TKW>&s3&FP}?qc`Nl zO5MTe87*_v+VMJ5-L-C2rZh*(MWi_GdlO)^?*<_2_H8jQ`H9uOKlf7YvkJEyL%ANi z-v5b2JzhUi4h;%-*aKnpkJQk|ppjks4&olakYwcgC~fa#A#qGI(-X~64*NQY;bT$9 z)`yqs8h|)cAl?r|Wt>dqO}P74+}P-qURvcjCdxB+Xj^9~w#y;ejkRk1DLzTHCl+Wn z%^xeky_IGuZuF@Jixn{(37ZLcM$9(z1Tm=9h^bWD1$=i@Tlv-YV1DWYs5WB5)|n4u zJxgcKzOO~_e_p2E(J=$fcf+c-;~nLeW;LK5b6&=;;T9e;JC|45+xEM zd%-6Ie9U2Y^BT)`32tKI9?knf;Mx3H;Xqhx0%4yJFv$@8wd#bKW;v4K7@`G+X3jsc zpcOOklA?Iglofv$PD+*T1U(Dc-mI5NKKo4uW!z zpT++%$6o)R2qeZ}&fq2>i4%+!*U{N|w>YgkSE3D6SPKVIBlEH6fKs$a_R)zE^MreSzh3avWj2x3O?@aSj8Cq0Ys7Q}UH{#n6 z%kceOG9nTGS0B!mP=~+MbmY~NQ;F3|NW7qm3~CY{eO~LkHc-p!gfh?*eFN%We+$%) zy-10~5cMS>U;3yo!~w^$N67m{cc~sH+QwD{9VP}{t5RP?9s-ts@5KqKR=sBH#m6Uu zOhpZgSSKtLa>4R9-%Vn9fF$YcX_887KYw-DS^w5GF#}-Elj{PGD4G4t$b_~sD|z>J z%kYQ9vGSQRR}jm1%@3_s7B@C|^GTBq+>?SxmY0vmTkYEi(cEuBw6lfIdN5r`h3$js zSr}n~rg4^eAOmVUms?WN)dwM`T0gesv)ZbUGY9@jWzR^XB|Pm4ER6{R6O+-1c^J6F zbwfr^BDXS*p|#^+ko9*hAB7fVQC_chaE$5n%%t=uAz3?2ogNQrN=W%4tm)3_>ypy@ zqnnp7-$FlRVn`^->M7%;+OsPHu5* zmZR>Di7d!Z38e={9-+ec3OIn+I&AbUHBcaPkp+1vVY~spg0hlk4q}VCIVd9PE%4PU zr5wv`hO_33`QVh8kYVFOK};`ty5(+3paTw3gxiV16a7a=*ji`Md@rCWt5qrS@PlMF zbAg!P#WFLEEaZCKL8u%RdW@+)0by8QCUJYlQCtaUER-3=(MlLkQi8G0{FPG2uglC6 z(g4U;dx|8*a^Hi*GLyJX<cE&sBt%aGfLJ&l>ZIh-!ggW`uq(fT6u^I0Q^%+GU$kCp^FmjsIT z2}T++Nca zF@OU(3MNQ&2nX&A&Kj>C8LPOAR%(F@v#LdZ?M8kITF(7?a&Mu28LyJ#JJl3)wk{u( zK$3T~zLk}up#YNmJ@=XK({0LF@`TtD4b+PSvA2p~d#wDMw!Kxy!UisYGXv3rKy)tE zutfpF&j?0G4^++ZH4!wZq$o2O9bX{BQ(2U7c5Bl`K-N0T!TZafvum}lJw9()sqO$q z3cjZ3w;=64esXY!!1)W8jhvg$UIO6&riG695SYSBXTgG5>@Oq_Y^k z;|#WA3gVuTbMr#(=-fORl0f8Zsye;^Me%=LcNf-vDCihRpNkdaAbbv8-^9T(cG*7&y+M) zKr`1gyfIL|q&Do#Y1qNLytwsGI%m+#<$Y2wayIP9$=oQ3y))Njt_>P5k{FWkp}FSX z>j?kl!DwhO2l{Gy%WsaaW?YJAIfn)D;BIKi@YPI8B~!@CG%n4~l`gqLD#y6qZpSEwe&1YoKAO?=V8%wLG@kio!mv;42Rw#XhYPZ_N>kY_np zjcoNS_oWcS>sfwb8dBp!!u**V`Iqmh$QUm?x%Cg+4?5zdPTPh3V=Nilh>VR;A!>5) zcyBX?6PF!g@8OU}l!hx&s&Okpsu`oCZFtQX5w@BMB5NabhA~>yYQ`u@8zISKde=;_ zCa+y|>KFOI`p}@tr1doEzqopcs3?>3o49r85}$L4W}45^MOFEgh;P7X@q3ofPbrJd zN-6a$54$HCn|uv#;W2@78Bn1#1!Acvg?+w;w{!fNZSpbI`W4a!BhRG!Gk2@QnIz4n zsJmO0pR{y38V~bwSTqCC<^Oa2)FG`LzJi|Orbj|P;t%nA9B_M?P zJRx0vR8pSLXp)PJ^U)MF9EsM1rhs+o0k))a-I%0|;hIq%NJ>`^B=z#wEOh&8=JgIl z8i`eT4^40Zoki|8WN5!Qe|{v<=BaALeH9y*5oziz*FU;jxJY(WB+>hpZ!&D1c_#F) z;M%dOrT=_huC!=K?4Yq2V$XrK{Maqf&pE0!`gx!{U(zY7ki*WZo*Q;RFUTTIhb}>5 zb2|k#U47Un(DEwml#{wOmJ%^%Xi_iu~M^GeucyGD-5ogtauw# zT3-BsinnqPp-8dfu`luoOx`Loy?i1vx0wd;Sein^R72h#nAt{`;gb^BHd@BBTVbu* zvKyqOEuvvQP^6%7`Q`&yIJAIBD}R25T;4}pUPgpUi&nG4&=*<7WyqiOzU4B+$UKep zl!{d%MrkitViZWM^ULl7PO7e##yF2T`jH0f^qQl{q#G=GGzr`d?+mP&O#k5jy~3** z!C2`5Zm#9Nr8F5BjhDFhyWyRjQqHmlR4F%v@wwD^-N(lOcPlo;Q5$WgHPiR|YjXTG zT*p~6KhEQBT7^?{_i!4zgVWFz zPO+cpyTgFbi0<&Q+9bqMO_Zi3x2qd`h94$;PU{YzBsw1|eF_c}KKWk?AH{ObG>h+f zhY6p-UkabD@-y%-;nV*x;gi!HK6c+am>hP~zp@S!J{jHNlO%`9{T<~|ulsyyQEFFG zr-4#w)Lj~#(DB}lp0(J2Q*8?P4HP-*yzk*t=V^yaog*fPMV%wIhee&!jk@CVCDb|H z`mo@Gn(2y9Qa3tOb&lFQEcl>?zXU#A)j7k$VZn!C>Pz6$RmU)F9u|BU#t#cVm=#^| z`4Z|JGv~12gW1&;pCmavm^vTr?@DVgIQ>_j+uHey|0@6TC32axcI*U0|YfQB%6tUsKvzD!W9tspujNau$5DP6&YnPQ;zsjRqJR9xCEQ@Y(r=W$AQ=HJWxi|&_w&_cjj)}g;1#|N`t6X5KhF;s6HV13X4R8YYo_$7!Gok)3LRDZ z#^D6v0eZfZ!IU|}Uo$SQPOXfgBRay>7W`=I}K zxLGZKqTDA|nu zoXc}TBUiqcxmPdqEbq(Ss$j`RE{u3diB&4^vJ2{vzxd7y;sQDxU_Lo4VEP;q6kL)$ zw3{~J@;n@EqN5%TFjVG^f5LwOQ?`KCY+Sb0G(aAs0&hP)3tT|HP zXJt5wQv*v6xYAs%MK6i}t5_Boy|R|_#Uo+9_*n6uC?WAP=`4EZSJL_4(h*&J{ZUNnfSC9lR&+uij5PU3~?$|&Y%H#(4a8~UR=$Xb^ zVlrKJUEQ_chSv$d9J`E#Z-)KOZrUmJ>YiC2_skCLf}-c~q{FeOP&e&?lU37L56?zB zdcTc!qx7V+((P)%+ zCd-qfk6Q%yM!pOP59SLmdptSgbM|QcTB3t{Y~zXE*JcyFk|W z|7m{XT)x7HlkrJk#y44!FNFSeGMMQIr95-kO-_VTQS;2GZ1U|XKB+Sz%HFYto>Gkk zBo7*GWyV_7&^}MlyIe+NJV&*%IAW0y<2=ljHIn!9^CGsnL}`5JSii>LaZWxhddz+?RBI zrY&E6PEs5c`QpYxi78U@wTu4ph2)Dskq&*J^ZU%m$kf`wA_T$*kAG!{++E^7Bo0V6 z<;)2Bqfaitkx&qcGKlOO;JIDS_~YEKN|)dB%Qc?JqmteKRW_v(sb4MUFmb=1 zNF5vymF}6+4B!#QI?f|0=EJBDJxl0T{9Be^PS_AvR<-nHWo&rlvy^bJOj#xzF82c7 z2MFna!vk`k}BH^nsXb||>H%mzP_xv&68|LU687nrJH!T2v zW23r-$b8{!R*FwnhhN6?oWkGNh0m}HkN(I^r?9#YQUr8bPSBV=kgJARx?3pM4ISVz}d=mZToKSPsD2x8hyd}{el0$z!2sIT8MhQ=ZA&1C@2PxQr z4HvAo*ih_H(qh9uL+xyM;(En~xC;KV*f8-dzBR@R6(e{!!2w{g;+Hl6Sn+KDaK4Cj zIp@Ed6{<5k{7628#Gc&g6E80~Ua^G^PV2D!F+!l$f%v0p6UR3S{C!qsIPdc<)Te7kkBl~`eH7h zk^q^R%g*QDN>5}RKb(4ysP`A26^^$&$!pzL_{Y5H$^rU`_+g3l4)8ARC}|9xTqmop z(&h4WuW7qUczqwcO!k=@2(o0K+*#C0jT}IFO2Bxp%wREmb)fKlg+l03))rO$^CmfU zzaJk%1QILOa=mY&syTFo&Vgy!l&JR>pBaANFg^xf8*%oTG~@5Q-72lpKExYuK;WRmIx#cve%AZS0P$F*IBo^@l^Of@~J@)_vlz{WH{29L56e(YG z`2ZPmL|4sdeRYKld37@QaT6WM$JR%7^qm>`YO0)!6(En7t5K2Xf;_UoMmaGn&vS%) z=b!RK?xY6PoXKcYQuiIQi0E4ztUkR_c={tX+Pp9emG+#OMx3%U+RS8DPIvf>QboJG z#dGq#VXx=$USb-AdwCuon;P#Y27>jRYCPk4d`%+v?fPL1sE@B0nU(A{50ptVd%F`7r+g-x+sIfE7+Dy; zT)q(|-~rrej9Du|;?Y8f9w~HqM&DgGSo9eEgt>~C ztfY;fcPIvmZ{?y9l*PC55WL`yT;cft7PpGiSseXO&=yV>dpsU4ZNKDL@GsmUmv`>x zzQb5sko2QZuiBDT2slbK3HcJnDZ zmotIg(fOS3%FKyJj+2&&Q`{3tq;hws`XKWuYxh$u_g1Ny>v+tWR9Qr&D(+cAaVxC) z9K+wP?{w;mUp_Nh9QiCYd_o}dX<9g_3}lzF+Ol|OXcM^?)^Pmv$Y%q>1!T)1b96rD z@qEnV`TaX(_T=;u%NP^`Q7&YPXYN@X_!} zlHg@%c-ckG(d_Ym)w_in>)zV;s2A>_R*F;0&h_c`w?W$bD-CgjeUtcn`AqMb9S}YUrF%C88?u%jEceIh{G4 zPVHMT#JZm->hdMJyj|FQ=yURC9=yIsq`q07Q-0k5MGZgmgglUTko~F@E<9*q$n3qu z+G;Ha2bd8Jhwi8sXP!3i!1>CD8%CQdV zbB!gUnXMv>qg+m4K01^!yU`tttac}w#3n5Hc+ou)_Bp&`g{e0m<9R&&_mAt?_4FBwm>6U5l?Nt9YJBH;z#7)98{{ZoQZlf)yHR;!O9Y+*}MU`Yb0x zIwiEaAa>!7%Kex7J!2aZjbm&4{mVHJEx2^Q6!JvmjIYtF`RMW`8iR?3vXbW({WehX zyhVtW5F+K~fr&=R(wFZ6U2xtKRi+H@qE`_)A@@(X+5h5q?-rLM*0snAR>g=CfBvXj zvu!DAxfo+qcEJnp31#;#9nL{hk7u)wRQw1U^&I>m;{a+T zg2VI#CP^K|${PQ4{)xsKOdHNAT*X$NlSck5ziTL{I@MDhdZFUsvHLUN*MTEcedys4 z4?B8zE-A7*hf!s!OP*tQH{%Wz{zQtGbH7`2>i7`&Z$H;-8USXfa{RToDy$?L|B<5~* zxv(mCGv$mn^H-FNXGx`VO&6J%sBoMecCR2y*ZsyR6vW=;^{~(9+DTbE3zC?B&e4>N zRpr+x5}}i%{lkSiQzf@j%3h(JqE3Jr6kqd{1~apdC~57I0_ zfx_Kchc0nmi^GE~yo~gV9_qkhL8)6NYSyU%#E}5mtEF%i{yJhn%VwC9Q5DIYef}zk zvuR)Z9L`Q)24{2j0aec8>{?u!HfM*)G_Mn9D^EV$oK^ipn3GXERrtBHpW>%<7CmKE zEL5T{1e&GjVNHTfxx0tiYMy2syEy3(ikBU@H?>iJi>#XZ`Fs?EQg2;p$1Ew_p>~EK zIZ7ib!`K?$<$RFG@;CCN%%?fXoy6sH6e_B)3De5=g!Hr0qJR2wNa}J#l5-lh*?#X|MEPiw{HpWm81BD?# zi+tMKQym6Bsr;0QRF2tUROQ!`JD6BgCYX5cZHQ*voTV^JtPvhe?NBEbBAt1Zz;m(L z09L-p zvpHba@|yFSBCi{qR~GA=TI!wG40-*t^O`2Fzu?vHdHR5|%6tq-yGztw{gcsc7gI+E zO2pDCOJk$P`65jlrRkO$ad1UZCEqv8q(pviIA|12s`$Y5nX(71I>2CR_{ZZP) z$EUKK(q0c}3bLdv2c(Y^;?T`vqr$ZK_gCu=UYP9_2UaZcgkJ68P97#qn|S zZx;V@Hn$JACg)02jBSgvkC}hd1D?N+ZCk;qU`!&e&i4vYi=~4OM*%UfPwH35xKchM z;JrLbz^jJRE}O(fyIL|p6A{kik41J1f#Z@8$W#cVOU-yW_%{vTSXW$YLgWEt6?H0tuUs=TiWET1y$rJ{5~0fg1&`{y6_ne8*~-ksM2P zf2wq+Y}a!Biqf)O)A)Odzwf4JyRP6bmA~=)4d5@tUnPI8^n?GGlAfCGmgH1BPuj9{ zgnwPHY}XOJvt4KLJB8m`;B4TzhQD0iKj7~ip4albn7@9MIf6e|zn=d~>6h9$gS-7h zT6(YE8U51bL!Z8x{rY9~>)S88Z%51dzi*Q#oiN*&(IWRz7o0%?0O3Vuy8FGbL$(mbO6=aR@Z_;=CAHCS-Ohb4(_hY&WOFia)l@;2in-P)@)&T2KSeHRj+_=C(~T5V_*V z`Bsbu9uA?aRIMA$wc^{O$nT|UBQsdiZ{E@9Ezk0cnV4ary8}k=8X`dw`udLe?T1wi zy!KfMzA3e$kIV<%n$kx4)(4!4$9<%r`tQk?RZ=<3d>6X07$Yx_cMdh@Xme4aqX@+? zK3E|w^-S6B39cao0&Z`^q2P;MlE*^8&3&Qhh|`4<$5Xt3;@o+mK8gcAp7jtL?N)k9 zR|0>8Y+M~qjynFN`s^iNA1J>kUCXby4V9wAB`Ag|yGv8UlV*C(c>ddc!x=^O02m&> zklg8m$PE@NZ_Y4QqKSvcOSp6+gD;!r4XAEj{DRToDOk0~b7@22%5WQ>H{R4>Wjqo` zqOngP$rjl-&8DFuCrb-e7jYp=dvw;ebqC1qbk&g{5vCNO1PD!5Tnr_o51e-<8Hs0f&tH| zl6@mNUI5BU4%QSv78F75MbGFpIN<$-D@)e;J);}=TUXRv`y2x8GhX$z?reC+9ZS30 zT`w-{{(rw#HOYjI_kv;IwQV$k2$f6;oen@2?s9Od(rzKSbT#_0e)$Nrwkdvq;- z&BbZN$Sj^E?oa&jlbP2F!A~cQDqNszYuzDLW!>#=_Lnq-vl2KiR{Bd`zI8l6L7goaKRBW z99L=nEO6k4*_(YvZ<&u{9wmnj>gl4 zV8!B_8Ns!H_v8R*BYBzx8D(u_akQ2HbjJ{!P19WJZAEwaZH%!DED3^z>H&4Lo zk-&mM;F?&cI_QY%?Tf!oCegCPsi!^j$9PX9^SfBYiFMW6mu!unZfpbo$yWBf4%t^* z*`IQ4$4aCkVd1Zi$S&~b% zSkbO(7LDfM>oZz7^Vw%SH&H@stMYe{7XyS@_=qxNk1tlry63B<#&dfcy)qKiFUUrY zhl_LvTerlI-P@?Gkm1@2+1r@r_mplC^*J1cX_9SkV@7CjWPb)ewAw+KAD+_Hk^MQK zbHhaSwtH`5p7_@!Eq4BNJ_e2F$OSfp+dKNDXfulh!PXDCA;-tcnSrY&?JJBXUPd@E z9A$_*X3ku@|~6kDKaC2A2*O})Qn&M0qb;Y#)>_=`_F zI^2qy-VL_Cl9hgzJ2}V1$52D09J+puJk^(q0^eNSEF&JCA!A)+XHF=)w1n+I3~v*k z@e{z)%*{I+EB}##i6vAvwzY1rd{RB)PuPaiKF4X#MB`ae2zk`WSpAnhk92?S zPhqXSReQiAG=u^|R+N#QyN{LoEns+-_u@9AbK2?UdAgnwWETBvf#33>1}|p5XZcu6 z|3+ip#B?~kYdU0zWD zHRLz;w7w?h$)4)Hi$`kyQ6jD6^;-+Y*FQrIcdKmqWlx@Y>jzr2en9EO`b1;(-X+hm z;2ApGDtD^S^K>tYS;be$DQ*a+SxPxhCPN4=XYrErcf#wd_bwPdbD33c*g@*cR`rEW zA-;Zf%KXii>^KL_bPaDrbYB1WaI$--GJ$Ff4CI2U&=EXmf5Nj&dDyrTZtZ3{1j~O7 zW`A?cC-aA9CIk&w{^`G_7#4rm0$xHHXF+VU;A30sUm0_>emT>8iS>_RMw{h(5ro~` z03M!htT77+wujsqv9XDkzl)y99eMvSS6v3MgrR%+ML#l)zm2M6S#@;oXlNyw zw3#aH2_kY6=J}+z%mb2gAh}25-Nf|!yHlwB+^mzvdUzb<~G@#AV(GN z3dx*3G)?AlFB)r#OI@KOmhK~K<-9)V=tM(tYMAKW=ZoE;qm@2!qIXvk`S}$q@)MuL zvz%2MsZaIPeK3@}>T2a;H}hep=IX9;?V~u22K<_A(%dxAiIsB;hmMu|7AtskotJ6S z)AWZ#{MrD6k+Bhdw>%{f3#Qa?Jmp0xXibpu;CXcPdF6r>niWh5?@~3DjqaeuhkP zg~BpPVBta(=JZUZFlTYJQuh-1pZzNKijFY5WsefrqP_lDpn*tR)Zcs&)cNwn@-gOx zJk5Da1`7q zG-By~k*wa15eo9ka{5r`d5d{k9*kc@VZYI2Ja4{RAlWEjY@y%CZ5$M--o=8_YV$aD z79bLSV>KN4Ga^kDSv>xNHQXmeXjEqN8L*Wn+Ln7>sjLydDLCz*BKZvNxq0fd4Buw6 z)Gyn-yfV)H8(7uuADp5`m)*NH8@SYCk0hcp_L(hx6^TPfc5u^0x(wqq?QPj9}d^NdPs2xsWe|6BG6Jpqw2oNH_3Ynzx2M7{R7!2HaaCXe!2M>3vfb^ za`XF0us-eHtKEaTUX}LHnUafuWmz8BY|hG+x^N*f`EP1<-U6#fnDQ0L(?{;U1fVsx1^-tWi{Xt0m4)-XLH zyLGhIR$em3%1bz7S4H+Ve#Q2u;!1T6ur>4hC?hn`NtWWW#0v^ zkjZQ26Bw^qHk)sfbv(bI5CVnR_`kum6U+(JtF!N*Dov_n40PJZ5=h2?Gn@fRMV)`^ z?qRwXwI^q0w3qqwZi{QC97~0oDYwbeyR^@)>EFhbBu49aqjkF!Q|OlxXjJpPVNRft zvN)1Ds*W#vz{(Hd1A&TW37;SW1}fGi7>OXK7iyvkdgrLOKpJm}++yG|v*K9!Kk!6l z#f{8XSjp^R$0YH(N^DNCYOL6bpKln9TIbcWG8+{bE1#}q7O8Y)y(rV@>RVjWB@ih*vugHkEZt={tN>$t4cUrZbl*rx7b2qhp&8qDfYQtf=olApzsIo%~zv%uR-CvK@ z*hbDTtAf9w+@^G|Jn$d&N*DfHOm(oXQT8$f=1tLIMlZJLUT>uLyUj7Frv@svvN9#6 zYcV_@F1-gg1qbc4nYT00Se*#7mQM6lsYclj;VG!V$LM5O38jhL=SXmD?URr-&6ab| z*S7Wt>|Cjf0$HSLnAJa2+Pz55c5@TyN^IgMHN5Y}2k~}_@v`|A@fd*5A;g*fd&e-B z&XOwnQWnUu4!@Qn82(tt>aj%rFUJSU(3NAE62CSzy(;!$OGFZha3RuOF-q&97_Etw zS7<#n#q`huF)n2J59!0Mko{1s2%1MLyJ|gq0X+)YjVdm(k$blcAtqVqc^4&eze@w_ zdRa93Ilr2O9}+kl8~=&>1$(>L2-zZdS)>~|su63PZRiZ+N; z$Tfbk@^9Gm{5v+THr6oUh=9{XHC`6}a8jqp$QvogDOF=`An8tdF9!TU)(Mb3cxj*2^LE;(*iO)uABvv3h z4iYmp5^s=(vo1FNhbp>9CRKmM-r*M!dlcu0GU7%461ispUIx9%bk^R=w)9kw6ZM=s zSSl8ySDJSNzs6b`_#Fki-t;Bcd!w%Rn+hjs{HraWu_UBKtK|Ss9TePu_@#Y5_Vzz5 zndPXaEwoYwdJ#Mx=L<_BpC!V?JZIlstOf8zzQxKX!~#1oLdTh3#q3u@wwk$!$;m`+ zQT{C9BojHPW{Va!k0N%kMnua~-5;`Izt2zeRQKW0c-~l#z>2u$;<1ovUkRUaDTk&D zuo=REE}{za&QkC~#fjV-d2*!WZSd5hy5&4ACEsU$;H$OOt4VrGBaPkLm=l`TMG9wt ztCqq|x2vuId`~j`-46Wu7W^Uw-|h<^2>c4*i{u^P1a{endDW)4YD?rFDRy&WT zPrjqtQj*9WBfz_=(MQkKYV=xwcTl6y;*FO3fiDYWsi6Q|O)OCeUkXg=Jm)01hXtSn zp(>2}f|15}iUNATJW^qNi9dYol7gvD0BN`?}-zZEcq`YAB4@T$I>zG;i zYQJNpzshf&!9U38d*?7|$m7}kt(tuRx?MK^!#(a_tG>(pefUn*ZRxYJNz^|+-Ws>Qhz=<0#nSaY;U2H;rnY*>{W54^;l-YRz2~=!? zNCEd`vP|@v-(xN#tF)dwWovE9n0&HGElpfq6@H$2{n3hi_L`k(uir{3Ttou@63PZD zWQlj0-<^Rtn>yI%`;s7N4gkB9c^nU)#&t0?So+IU z8A)d_)a#8oatA7ty64R1e%P6b`P^L46yMBwbw1Ce1dl{MlU;R$qyk@nd50k@;|*6* zXe%lFnk~BOsFxPS@naRE7riuPRj#I_(k(9@!~3Z=;wF0mb@Ms z5^%p?_XG#UmN|=4LxXL3 z_AQlF?Ts5{aQna&FBKM!v{-$&5=bfXTN*WPP!{~%>iRU zu}?P38GGO}of|Hf;h213AB>j!;-+MH`Iat@-y_^#t*znGpti@#2yv+B;QN2ul8i}n)7ij z2BPyaxK_)Umr=CKA6=LutKqZz%Mqfi@%;Um0j?Ig^hge0>F*;zHr&f^%u9=B`i&Dy zjn;TC{wX!ymf~fc&E#A9i3#9HN(IV5(r=Y(G$rxFj(@Or|Mh^ z=}Y6ud9~!6K+dx0Y(#5zoq|z8(A#+_Z1*2TTIZJh+!_gCFI`{jHM@1iLo9h zNEtv{wh^S}$j{Fy8d;d<^4z(c&km3bS&tl(N5>l9t{(#xlk=?sSIV1tmN%fy{HV8R zM9-Z|fRVB=Ux7JgVVUfZ+*d-pRdW@<% z$C%LHu`kZTW+-8+(%Y=QGx+Slc*vMovC6z;po}~f{r#s@FzkF1n(iz7Bv`Sk%)J{F zeI;#6V9n$V)#{@M3zmzE5L4qht_qGnWb0o^W^GFBi4Qm)giQTP+CoQ)CFA~}ur2<& zAl2Lp)l{-D$H#d{6_b(l=RA`Z<_I2T6;0-I1CaQUDgsY;@amzwAVnwh^R08TU61j% zia+$0uUBx*_9*&P)0i|V zs>}afmmeqvxpjF$28F*0u(|>;_&ET4wO^AS8Owc$F9P+B&QJrqe$?_L!hPLkxY__ls$_O9U zmz@{LIzU0os3Vf&stCzz9+tGt_RY22Z`##Cx(wN1%a_qWN!<4OHvt;R6W_!Kx z^QhV0r!dNy?d|48&-UJu&&>Ab#>!up*PkYBPK!`kfiTETgG#b;_75 zV|8JZ-)+hp=g9fpJK}>T8mr6;$d)oYE9m}6W%d{D^1I(;ILfj}f#;2ixDwQBp2%TK zfeKTmn{whJc}mP%`?JZV@EMNN=6usr%ppMId*L(DFK=)t^6MuJb3=f7(GD2F3Po0^#)k4ekAZv)t&adRFKRr2x#a z{W0Ujkp)liI`@;sTBZ=k6K0?%4VD_T)yBb*)%~|b*CwG|Uub@I!{^S=toh&igX@R6 zZ|zB%<2myYD~O@}vdMdG81`HwSYfjF%&#_{McP81+uxDy9LpZ`G?mF*B*o=tE^^P( z9b;rJvMKRKQ6jn!k+Y^D620puAeWV{qd5P{o`&EFk@XI1!mTcryQ0xpm=)i_KTIOF z#-9opMN2<*q4pP#Et#DW^5GRgzYaQ4wC;Ow#hkoV7_wW2ntUwm#0lEPE#9TNrDU+< z!Y-v=A_!}wgO$yY1Ua^`!VP)8J# zE~8}(#VoV>Ly{bec&{v5(%gv{j=G_zvSO&s>W?Yj(pL)F^r)q1WMLL&^;?+f4v;?s z1f1yWa{eWlia9O){6!UHx1O$UJ_InarRykYOwKCVueHj{Wfd#YDkIG`*=Uu?S%oiC zcXV==f^AN<0WW#DC;^HVZ(3#n1pURn9^0H=Z(c;m4{EFWQqqbNEf?`)<6T`W-|Abu z{LEbTsW01g-so)Ck?{Pt{EgyyD}SZ@t>xX-JEgb&FV&r9Jss|!^iBYK9lZPfuTQb; zH#N}au0xz;BY@a%{aC0$AoKIEp00jL$N`W+2YhS!5USPoYS;TB_SxVYAh>x#{(D1M_f4aL%@sZV>dYA0>Ov0raJ~GDfX2yot)P%X0 zV1A=9jxjcg=`Hrs^X4#)JyuaHoD{La+)EIAG@M4BUn#I6H4fl*a(&?^Yy492cX>3) z+|i^2gY^`#N+tFV`lv%Xv>$pInV^U{9!F17>#rbIgx2Re>m#&2q@+5z;afbDa3qHF zVThJVUItF{TyUOdRDG&t;p&sA;U|!5%e@#@N<(eH?tc(|0c&Bl>Ov7?|TeQY!gS z)tbfsRR@=scbU7kQ%~lTgOc=_Z9iXULy!&^8ig`i+}ViEB_`G8Fh+EUiq+{ zn~G_QaECf6w(D1dwYzef_&pJV<^{c8GCe4(2DWbmV=KV^m|XsiuZ5S5$$?tp==iClPN zZeGhgK!SQX)`C>OF=;qCm|>_--i**tIk}Z+@$_bjsJ##}`kOzJaz&C!qV`E%OR`F- zl$1e-0`ZR>AO@t|PMTsv{F4pw3`xNy$f>^VEqItz)q)&J6^nxw_>J{oPdh;9et~Xy zS*JiHn(ttzv`AcTr(8ydT&u_xp8*KJ@f;w≪GWyxt|RUvXaVlh;D$_2=?B*m)KF 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

3rdT!@SArc&g!1hj@HdQqGX$A~EC zyt(NLT;~IKFKmPhn7=M@YTpvuzgxr`1Y-GAX^3O3-rS1}qPRv}0ih99 zh|h=H4N0y^kD(bnS_;n+_W`|%!`!Pns3pzIGMo4l{8e}hRC9AT2B5abTrR|xQkma{ zaU-5mqvckL}@Fx7bh~it*>&@Cs`gRJ&y;xS{UHTi@Cp|_Q zE~Xz)|3v^`e_+1AbVH#CJ1i5Gx<0q*+x+^y-sE2@uQ78nt^KquU1sLGOuAfVdKh2% zCbF%zuQZ<#Jkyl7(e$;AB^^44I+AXbc@SZ}3h88l`RiY{BQOy1s961&5+ys6tPTOs z8cdO(Jy3O58;`0}G1lI}6h=Ve!spMXgFu}a(`CHKk(VMYIR>pvMitv3uOnFg+r9<( zJ){2&c3$3k-Fc2&M1$T6Y_W|%1}KWn4adKe7T1!QUz51xZsqd)gg3gy^+&a6fsN*d zXSdq|7bd*0O%pI3mq|X4@+d+^NhEo=I5Rkt!Ck+j^T~ky(Tsj%@Qnh#QJ~H&-wlqC zPtMqwRoQ?19q~qJoz8>Eg6;tV5GIzDHmxpy)o=Ylfg}9BZ^`Ei%;Px1Q3R?%`PwyRE&&}z z5?4mE$tm-e$|P1(uK5h}XIhTKN0I^POF8n*FG=mtNGXkQqiy>%nL#L;8|0Fl;Qp%i zAl=lHDxWN<9x%VHu|9sWR_8V<1P@jSu@VNq1LZnX>V(T)OoYq!#<*XUJ4WA$moJaW z^+uaqfABJyPdBs&tAUG7G?!!71C$z~LjwA`WL|0#SuM|Hdzv%p92W8+4|LY+b`^+%v5G z3ZA$ht*m^{aKCVf!+ABM(D8H5MeG~%bB1u}Nm&ryWDuUc9;N9)=p*7fiM0G-GGX}G z0~1FDFpi9*H0rHXq6DNL4?QbJA=iN)y@tA~!Ufcj|C|W2A`DqSPkEQ}8V?^1YoqxB zMdg}-MoRf(JNdoFh8ipP=7#SQlOeb>*YEwQKXCxeyK}(sFd(oh{jy9b*A+UEI-ndv zTQ(jToePN~X3Q?>ZQTgJM{#6%!q17oFH63BY5;jn&+wfOY9LG@P7GIC2}F48MiH#mn;&hIkt`)-LLHM@UIWMsmXPVvOlZ0LeYHpQd(@c+di2g}TE*lH z^K%MgOiTF+e6IYy4SZa1LJ?i+ugk$psaYvZl_U$@YkNf{DZ^LkpOlmi{)BSOB+GFh zT@*)}Xk-PMZZuLOd^+PSdEfCGap73!hBo6lc!gdsWCfuqF2Icfci`xiQT;fL1B#69 z^X3AYmdO=egdLFI1F787NG;gRl#Aq2x)YyO2?Ot!ww+(89?A78G^l1pl5KK;m&y5!7~<;mNF4Cj>X>PVe=t{nuxy-x+Qd@$J+gn4!S!WEhf4B47{%=l(_7xi>w>r=O_;(_!peMDjr&#x>t8e z6hk`_$7q<`Rc2UsPRY$NZ&`5-+!cqfj4c{k##0SXDoUn_cnC5O;Uinzd4oRMXx@F>-Q48=-FLY-BMTjxWo+ zm=L9!ddL^R&T{yxk6M!iZ_1<`wDo$`+0c4Sn8u3{FND@cLu*87FEs08WOI(nXlW@+ zug^xLEqKH>XFnzqX1c~~ZP4CSWLo{eK9BC$c=MRUX!(Rp%Lni8KTs)2?_OOU zt_IAhxK+Z9&3%WCbK~M%5u7Ld!gu*WM4mI4bEvnBpcL$xKx75yT^oj$KPo)FCVV7T z@TGWUl@{<=hsK&F?-> z_fJ0Xn|!yFzcKtx52@I}6xfCwG%9rH~?PQ2aG_msonM%(Xea89Ar86rn&7P$DFOtb6}}q%!x5rcerH zhI>Hgv?@&iXZ^ zLpPdt2$yOPBerrwJcRNEvT2=pPScZTat=Wye4eQ&<61}z9T8n-&Y@nd_mAy&9zDp{ z_d_E~?&&omoHdcZuLZyIEPsoG-@YUNa~^&4ljiVh?9Z=Sf9v;Z^eBp#iw;8NU*fH0 z`mGV5QiQrW#(i;BD-<6tbHyHFOx0(24DU{xs&Zk!9!bLm_3c}m8;4O(oaEtbDu zG5V;*w9J3oGJP_i9M)&QZ)&MoQmRrI=OqOqoSZwJ9+NZkI^u-zMY<|)m!j3qcO&m% zH*{N^yurc@C9DPwNJNeGGmis{41!OuH`MuAeMZvL^P;f#+ z$>ouvD)W2xrmyA(O|BpymfADL}1c_X>+qlFr$#W5ic)kx5V+P5WZpfyFqEI70wB@Jwo)FZvIy=WvwHQNGLtu&@c zBb#^$^l~WY;|5OQQaOqs7^42@PNrgo9Gj-OllQixmm-L1;Xq}zHkb*L2~y%l2aF)N zVSAw44`YQDZoefG5U$@U(RxetmXJggmF>@OKC>=UT6aONOqJP-_|2y2HB zh&8?8efaIujQ_q|qv!ae_9e<|VbD?hp62@Fh`q7YjqF9nBK~6tgCJXbZiUBNhLt5| z^)=JCIhA{I*k7<#6qvEXiPW;m;^noi`^)vph(Qp0*!3#5!tJ?U4Cs4NHjuMWYYE`v zjZyo0K_YLvTl;DOML4lq2whkp#oRn1(Y(RWo>=PIzC>J4q^^0GbD3IzZ0vCf6Tq8n zAcbt+sFW&OfDIY>HKr3JHg+GGYT6mC*MMg)Ut7|yGkGg028AoN@eo;SmJx@>b~KTy zc-YpR@wf=EQRMeQ)SZOy^@wj9Mqe@-=FomM2YyLnhw7EdqHBV76&aAus`M;Gq z(o_HJqb?^jzFuaDdv=6aQS9arT&hmXRuq(L6QSj1w${C}k6YVZuzQ2k?=Q_4OmlWO z2A$i#bWe$&Q@$B!4at*NFUWv1zu#IySGoQ0TxwxPn?sKGm!QXf*$S2QY)WrZ^r1C? z0gFB2{p#9d4}~V;VktB^0W>){v#t?g3K_?W37YHC<20%yj{^v^`e*+d_mFq8k5fEDBdEZ*>{$Z z{MiH-xhl_E@^8C*kb5QUBl z0_eD)71zA)_%r{(4cO&%bJI|6{v`!%hxX@oacI9(nQlWW9M;gZa&qI25FFZ~Y8oIX z^FUDGU^%c)6BJ0O#}x6tJ~5x86yi`IKBg$8n)6{2sI1$a3O;#1Wl`8ll~b zoz!?v`MpwPC|$^pN1)BguOWY=pVNhW4t>e*MgDNe07)*5syffS$& zAoPB4M>yHkAhr)XhAL++%g`t?k#D$PEm_cDJ7Q%RLUANz7wcr{QozoMX_N9 zzdR`TrPuE=_@!(_fM2Zfi$yUU1!u)UG)Qtd0O5dFnX79po_XEknVDa*c;*{VT0En7 zZ7JdZw=aTcZqa0mXX?!sWQy(Z%uD;@8BF@|73zp*0*?!Vx!$md`${P^2ai)Wy0 zf^2V|TA~Q5nYof7%~>kLYmaRr@l=e;f^A|TPr)`ZC>y~xF}PFgu2V6_h|5SS)?X-{ zx4=Gog;v{2OJE@|-aS0EVWXl9HtKKgf5&2@E|56dNmz&e2f;>BQG;Avc(LFmG;SDQ z2`W;Y1lyT#FuU>g3C?2wJ6>5%oH&EtxZHT;AA-9Ex*_yniNe8-45hZEAReiSN9tff zl)(U9t#(pnijMGTbR%oP5P3Ay1Dp{LJ>#Utfs8-{kqz;PXbO*^?Y>$S_5>XY7R8jc z=xQ4E^66lyAd`^gV320>jTM4Vqg0?Ym}w81qnw*5-3yUIJXA}2Zm1s2=!Vb;ONT&B zTIebY^#Q#x3N3`RjB*W>06T#rL7nthu@5B?OA`v8B?;jq`3!!Nbic2~VvTWJfkW%y zkm7>-#zE8VWiB|}a*kz4{dGty`94h-+NPO`(|2ABsQNh|`m)n#9Nae!=tOI68}Dyh zd6rHP2-z;SwuBDM0s&*E#nYrkP~$0z8aHy{fEqiaiHZwVQ%jV@&@%I$uneHb__Uay zM}>)U&?8D>oUB0KLAkr-#8ebnrNLo72t``JLdJ?1l9u*EkrOf~a#=_EOMqSoFadfY zzy#B2VlST-7Wr%SE-a_Vf1_cH_&W)X>vxcGJRV{u5vTQW)`_6J1dTG6yZ8vP19vTUAXfi zm`rt076uYbQ`0m=GO>`mYEd`(D;)gOd+9RYtSZ!caD^gU5#G?s0^kb~1PE`)FBo(< z%+#;~ezCnC20#rj;1Nk6bPzJJg(mfsc z#|M>vtQG#TrQ3|c1==}(#)D3zhK(oD+B2kHJ9*$Z;lCb)J>(BB57W(AsP$@JK36!u z+HKun+{i0?TsWQDrf%?s{q5M8_3)2&M7ZVBlR+qIPvT#*owDbC_n)als#y^ zEerxu9Om%DWjDHBPOx51uwHC_T`wnCFDFcluV9FJBDB3q5IiE~OOdq52EJeN$F}9iWhL9?-z)jWZTT0AWn#Phd6Iv0 zTmF;JcFeDm{GGpro>~baX;>&7al=vKVMxfj4|PL73TWc-4tQM z;y3^`Wmmkt-ztlVJeq{{L_;JLqE!8qbRn`X=IQ-4*l!Sd)JDpXs0VMyaMe00UcNXM zSw$GcxIdV9xd>pzNWL|Q<{^8xdbN!wR`Ls74Zace2*IdVb`0{m(ZS@2gtbp*BKi^k z#_`rWY`n^){p0DY^5Y`p#5A}E;rDQ_lB{&2g1wa3Z)^wahT5ZxEl{7a<5Z4lCF_s; zTstJ!5{yTy|jHQeqCA3XOlXheQK_xo`hog+yy7|xab7_370L# z6hXR!cKShn$nG?wNSqi-d0Qm?!;|3+1elrYcALy)cuS++QAsaSMMS+7M=+J$rB;** z&7e$cR|`ZwM%4sSJSI2`T=EuX<<*4h`}B3|Gx#gRkHGvn4R z8@MQ~)^#|XI2x!4!-E)VGjQFvcj#GM^$rV_@Mm_i5_|vbpN*1R8DDZE)M@v<@Dshb zHK)NW6Azrq7Ca9`%P@(fG>s?Al1}cNbQUWxeG@ZWI;)tX6-Szd5;ev8&=dEj`55ys z368hMY7{rTLZXXSt7M}a9=feK&5)R=M8c!j!l86i7pK`L*f5%#>N@53DV`#hCD|iAmlRMW|U9QnsYf7f&Xh|+S=$7|HL~I$FzU% zeBEU-pPOe43O{kQeBuX+%3IRO(*c<5Tf4}zG^19rb3@C_gOu9@8OLXT)!fsrGvP7|G08Rix%oiskr%?QnLmk{LFvy3O= zDM*0;`=v3>kjW6Uoy@{ioQ*+@;0VmJVM=5->$+Tm>xDx42J)oR_hA;4v1?jFiZC0l z%#V*RoMb;nqW4k|KdHoC6+2_CG%799GJ|#e3$x9>E!uE$rqn8?QEjT-*R|B9pwt8@ z)ss>({2`g)3;M4(pJ6-RriB1bmJXglpPF9Md}r$vgmnrsWzvo5B~4!zpHTr-QH$HH z@rH=x^;%X_gbA6<{5HW;{FZ_YMe{NSl>$8fgp5l;d-Qm)^W#5h|JoU_{*v!Kz$y|| zMkHV2bWka-sU009gKnxl<5*$^j9V}PXfn07CWkx6UJ)RZ_QyQp@;s2-EOoFk;#V^Z zCfjCih3yKxm zFZhBKSPF-Jz7iFA&Yvh`=?TesL~@j>$aVh2XR?}amE`}DWF;#|R*K?ENuDmrN>`Aq zB!w%<*GRGw79=Z8ai%1Xl4PYUNLHfacu78& zv-#DdAJ4{d!Et)xCBvZ){PWAkACm=Il!hwT$r{KBx{iITr~L6e*kd$a^3wE8dOU(G z@T`2_yk$)ksvgq9Z*r=Z2n`lc4|hu{l8w|uDmgTNepK?-n2q+An|I7A`zSO;DS9xo zsO{Y)^q6@>-)+pGW3@SrN3p@sk}R9pMg%=tYu-{^9jFW8 zio%XxAcK<=38!$ea)O#om{v;l_kxYUU&&MnC_Gn zo8sBzDsmPulzj`xg{z9gTM;`CF*9!?I0Nigf@9E}AjzMsp7z%mlpFIq5 zi^k`D!7X`l#+ix~*P0tw3ot<|ex@C*_@WZB`k~)zI~6ONyJVs@uQtOK58^naF$lz= z9i79(jxh*6Zn)VGg^c~yqs?!-fC(~{-_zCL2Joo2SL{G6E7p#mvUEIzS-_5k@E?)M zA1L_9Kl?=Im;h}?-i`a0ce*FTf5qzUM1`v)63RjOuXHQ_H3$l}1OL@uy@}T!-Wv6Gn0Gh>$uM0X z(qH&M^ADTECe~cJT2H`cFuSl-K>s`HrAqp{*i8+_}G}qNhJTThiZvGid&_T2|DXRPa%`3$v~2 zK1BJ_6*(&Pw8ld?AZO&Lv|z~i?x!gh_IA|wg@_+4e}3W#UqBK8j<{5D#2PaKM%L0$ zLdFc{&882dy(v`vBz{s*Jw(`51Vsk&SiRJ zmUsU|&#cK}KnohVK@e#YkK;;0t7V+$|963?9k{i^6Z#6d@D^gJfJ>wmntK12LX(g& zQ_8$`;$b#9AvUht14?F_IJXv*p%6f(i~VR$RfsJ$SmeqjvrA5wz~W)O)Jv{i5wOwx3`z5m%&hlY z&;9Vjuy5%Ii21=;?s)H-h3wlX8rKCI%D$ZM?B-Zm<<#!!;t+eroD>bMSa2<83+W4X z9>41Pm>)w6+{t_139YMbJ}LCPKeE&ArrNzBZ*h7t<ngkNJIS!Uq< zp!xFms2h)0)^(;tH)TotlMl@|j+@_%swW<->St}$vocjH*4v>r7c3Hl4vr}p z$uEND`H0N?5kG{nd(OQ3JSW(KTcyK(?;nvNxazl%Su&{KvV-7cBwow%=3|`&x7%X3 zQcTX|Z%|ASdVr`vSxKQC3Xl;4Ppeyr}U6yB^j>Z<(5jZDIgu~U#fmxb*X@ne3 zvuTLVgolRbUtCL+g^C=c&!-?-R@oq$*qq8&B(q1i>RkEhUhQ&AZw)Ah)F&>k?IKmG z)+aw3p1)qJc&n%&^$uQ%D14&A?f>zr6@0vEeLh~b{Et_Sa1wiU#Lg5YvpY9OytTURZCwB|Kt=oYaG^c-QW?^;nZbt?~NBM@Q-)Ieho%saK<^ zrEPnLP$!0#7wtux{w(}7CPn^Nvnx$edaM{Qo zd`SkX#27Lcd9M&2t=BoNuC`zU)$vZ$dsiVxsG9(Ce#K+d+n4aaoIUt-Ec{;hQ$9;3 zz>^5aUJ>Qv)K>kF0|52)HkvI@=o~8aEOF<&r_l3C+~elIaMkE`05pte$L~8N2x(5R zw{X>`NK1I$D2V9&`Gqql45BR;OZz!iYIP^IUiABN4RR*53Zb&3ji!R zSOF}lGH_J@SaKVcutfc%-kbFAZgJ>Kc>4r&2xH-v@Am2z%8c(6%{#BvC=vpFmj#D{Ppe>e~nGaQzIrT47uOxTS=PMv= z8q7^7_yD|)xtZ1f*Z*eX_kZ#03UZa_uRr-@#E64j|HO4X)phv~Z;6qNEz z_}_f!w}*#8MUB~Ne)CQ0+8Mwc#qa!ms>py3ClJ31XWK=!UN=|!fpeX=19m*>r3c-f zpZqNM>b(p#^6UG1XPFre!pvr>V{-jE{TjBV@}(_^nCW3fk=Ih$oHGq;khij@{n7F#&^a(%d|X6?0WNCoKO<^>;S&W4 z?6YA{3mAmCwMwT}Czk8OU?s%f;je1%AT|&c-B`2&N2Jywr2vhfm#7y_3R0XkD5Jk( z@*szcaam3~gJ$L@`$h?WN)~h6`-d!y#K>dV;kiHMa{~LXBYuN;{8Z~weEw&4DHdf) zPNk$>4#+=Qj?7A2#7eXv1p8R?f2nQ0;^+?ZZzYyWXa;k?#<<^?Szx5hyh!jRfV-W7 zPjnU98ngC9&3Ecje8l@e`{0z*){=d)`o$mG_9Qk@K};e@i-f^-hmXl2Z3+m`Efu0Foih(C)Q2{>KNFLBDn5>nJaWggM&wsXUid5}Pd1aWm1yu^y$ zSDfayVShlU+V?{M$2~)i$*NqQ3qV}z%XC|V8&N1Zghk_?%gQ|yZ#@ON{#ptOj%lWi zMdI@Aj}8H273M;uRZU~5!1mM7C-)cjp(hx}`SS`T(xsWaxEHGPiPXs?B_i0F*ArrK zELi|?k(^}fC?ME>HnpEDdC%-=0<>Bq6J#tf8GmXF)f<$}%;bZ+YK8{$_i6(L^0{FuA|@(_Z{?UCd?_ z4zS9+R`$)Dr2;UmGP(Z~7MXUxTtAEMN4D<2Usjo(G8G@RU+n&k*!qcJpFK~N{!PC{ zHNOA$Tpj5DXCCBxtcVI^JABTzUvJCX_OZB><}W%}^FjMRJVg6nkX1ZL`_~_&{T;03 z0o^CQCAK`AAyB8*Afd=s6%DW0m@if%%!)Jd$R&QwD@&_jg}^4;*E-^Y>;-9RZrBPWpHw2^nKiOUoCTjH)x07UwaVx# z`hjTPKhGkXQ_1tk%*x0j#6+v(AgACRLge76X^RDM?SLdBIx zhGu>#?){}5KSM<}_C4~=4Qy^oAoXvR zB6MIMxUWD2cF`TWQJu=E`C0yy0YtAwbRG5fgy&uhc*X(cqab!!)w$ypT#3An+)^a+ z6U>hgBobH|fDT*M`n-jJ)8CjQe+*(+u3EX@R((j4#_f|NH%R&xNpLWe?r|0hBOetJ zf0Xde*enn+)7*;L86T~Bkz#?SCvSl?HnpVn_DOTI3Ub3$3)>34u3X>LW7-NOfmO#EAX_ z%28yam7==2@`@$W_Rnd1kpygJAKrRyo5AlJ=6dKG)Dw#}SBlD=zmyu&u2hqWQA%6Q za8IZjEGQNdtqRHcA$-c`!8AMsTB*WCg@G+FJK?lqTdGMChF=81k>;553 zpvunzebL6-bd2`?KJz@^5U!-X@<*l=itc4G>1JC*Hf>Mi6{H|nH*5f3WMW%2MTeY& z_8A#_JGHIPV1Y!YBbl(x9CQtOtB?U5h#|*Iu&E*jp>qvpJ1;5$*<#XSxf5{@x1!@Xr7-bUHr5Hi%NN%m%g^OT?)lW)6eJ|n;Mb*fO2 zr^&If!rTo;7bZ@uvZlKJ=ssLzt-5rHUasg%4ip*e7wAkhbuGfXe;`zn3k$_qX*R18 z<;$uT=Vo$q;|xWERj=xDT}&_$e>jaY!E4NXduCRN3^H;PbvAODk+713f=a(8gR&xX zu~sQkYj#jeuqaV{^-J}}Lmf-UXMvzZAPAf~+=YGyryO{5XrMpvmLUUb=``z(HWWG5 z)*G&BaryS#_1e%m0j7Hs3W)Ur8P=Pelss2-j&W4xtJqPE>@-q5f#T(kkXC~&TIyQ~ z9Rwxaaj_QNNxuc(eMbi8_ndl`oTqa*PhU0TYalPUoJRQub9G0Z(O4e?*t$^Ub|PMByzn zGn76{o+uuHyRoQ{eiUeAk!PT@SE5mlqBo`G`{u|OE)#1dluoS{Dy-k+)@Au0SS#%} zek<83VqMMduj$C)p8cuB#axM9nBy6wG3MLarF!$Q{_3Fn+r4+xQXS^;n1N*mBv@jt z`4RjV1VIcUqTVbAf#{HgM{6BX0An9fslt7`smTAXg$ zO&fZpuJGpxfAE{UXU$z1u6l%D5y?%id}Bz$>xVQ$xPU2Tp*IrV=c97vvv_>$-r`ig zIwa=p#JYY>OMLf>2$RM6s@CKt^0sq3jl03b`z?>Ba-KotmtK)5Z^U8j+|hoIXUZaf zQ~N1zEw|^k#5Zh>OC-8RYLE7EPHnAr%<6Rl~X8kq{+>= zZ-(&1N)7G`r1s?c2-t3rhM4f==8& zdv_~*2IuWHQxqaO(op#l?l^gyH#9%xQx2UvgkUXl(U^@tXT;_2dG*S-OYS{_d@ygm< zM{a}OM0A1;+t?S$P+96oQM*-its9n4udPz9FSYX-CAJE&uMYj zH6=rF{8fobbXFp={hpCtqDu=)0Me~>(`(&z#_lJn8c$`l)uzU*^;}ZJYKKzS=La2^ z%j1BXB7vY%*+;=R4xE^enWFJttdQz6Hw4qU1Mk!O*k`~tb4v)r4)}g48%sc2vt;N6T*+y$mb}=lM`=4 z!VBsMqFiRF_*1k!R;MGDqcWbun#IE}r1}$kQLh!vRkz$;<(|Ke+|F& zU6`VC3lQh+++DMdjHYhRb^IH%`OR-SQwpJV|31GkHNw7?N{dOD(L_l)*_lum&3Vf1 z2z$!432;6YlId+lq!_N+$c*dMujWC5YIChsBg|ZZah?bk<#*($^s@5(oQj@t?^uWx zvy6kjd8$Oc&!miaoRmot-@dC{vt87j5ccjAQoW77o8Exk!0M766{q;Ugk#AvFH5ii z5Z)zaIE8W{OVIEae@HVY`Mu6DH9>*1r2x5lX-l3t`A4eyV6WuLU2$&7dwQpqu=an! z=0ln!F6z57&{ryCpms_efDh$`Oq3K|il9J5Q}fh8Mq);+gvUcWAq!%)6aTts5rKZ~ zk_Eb!J15aG;eI-wmi}~>Tf9^ZC<l8Cg$dd+DsxvA!D_z( zE!kU9n1PNZqG4t!FXBEm^()h+2j53SpOUZtEXY4g?^{E^2N#oPx&S9y|QdtQ_2LB3$)qeb; zdW5za9T&)MYPgziiVM*m$Db_mHp=%6_XiN7>y40JWVJQ!UkN$B4I(CAjm4KO#T6NL#qNltbzQ8+o~Eft05U!b@}O2m7EEuvhh zAYx=q;uDlPSmZ*ermcuZ4nP|e$ov{>0GfPM=0=VwO+%=yt%_bsKg^+A8AxZ3FgS2v~7Upr#jQiw63IDW) zxZk5FHutX;2*TFLCpdlI_zo4ia+Y8DvtCHTY%*aJ)|xfsaD7r*y?*Mo_(rpUM7`b( z!x==84W>*^Z@=&RHj)0S$(=E`-)L95fDB@_sq?|Qh%qNpUio2VghM77akvSExY!a- z$?LV2=x3BCh*5sLr16#`#NSNr)8R&Ey-!Cbt8MZ>>7)6uAV&5ht{gXrD+f9kHOFh) zk7Jl>^M$Jvh&ZzmSfK(UwpLsOR?nMhDk%(C{Q_s^RwtTmtS|)7+;5X8EBf&3d@Mj+QjdrPO9=_Vvc-mXzZ7`22dla6#5d(+} zzDNU`lJ`x^I&J4F<#5#>C{X!cr|{e?P^)t98Ngm^=3`hUpDm(oM^%>qx18wLUTZUs zB_n}-QC&>AN94D{XBDWxufa?Xs=vc0G96aG=$}rr)i;wtb*&@j4g$z)%^5$jxnepS ztjt=o5WY;h^50s8h|c;MggVp*`q_zQ_k*^`o$Xpx$uL;4!8{k_UQI4LLr$FmAO@Y* zF{CwRYlaT*giOY{q-6&8G&**!XFX>6)gt)60f7g1Bowd2+)DQ7UGU1%zs{LfaDV{` zBdtEQaz;L?qn-ogp!Pf8g&0|8I2_X$sovT&a; zljAd}Z4<33ab@-YcsF1;Adkt|)6CSRd3XTcO{ z@@@J;d$N*G{M6RiPLjNT`({B!7~@cFLIxt%nk~WHtqh7?Pccfs+RG|E4lyBn?EdTJ zcWKitd|pnZfdOnZn7b(<9ZONa8J%V;R49}H0_H^~T}oW5UuZDh^a~Xa2>vUjBfzvm z{j;VkM7fkapOSJO!i}$CG}@9t{$$z*kHaEq(gz*Akx!K7BC-^orG&JAOn~_`jj?r4i+USU0=bR<%y+ z+#o-nHZrx9#IQ&r$lbvJm^$x8bE0;VAz=Wo%M@(HM}HCYR#ZodgPLy@s5*ysn?#>2 zFOnC4n3$J23s?aP>!&t-*>?0Uk`yd5n^uBa!Lfi4KV5BgAT(`vKWV#Cqe zq0AB?*lRHFDfUmE9USxHAQogce#l3pLlfwov*0HA#HxmoG##rWQL~VH{#&H02_L;n+`DvO+`GOs?%m?Xy;ob!$NnY9|6$Px|0(pz z&A@*APoRm|G9KU(z8J~KbFGdt=I5YmU=-dDbW?A(L9RAk!;UF_bI|qq*1d&vxI{DE zmOLdWSwl&$MK;9rudre%8-E8^_z3Zl&* zvxWIwdrR1j>~T{AgCflw-bV|oH0Zor25^ppwc6~(rIH`dCI(vk)WO*{`iyrpcWkbq z@vISp26zA3Uo_BYk7bhJo;nx{oRB-{wCswWC|c4hq9rv5bcf{zRqM@95aEH(yVL8^ z@V(3EG)CfI_TJ^Q(9>Y^l3Q|TFmR-j%WzTaMg(`aWbcSnuWsS*)ufk;#2(AHM9JdY zHn7)|{k*Zc$Zq-~hGy)aWnT(!eiWTZb0%ko*@d;AJQn-6ak)ydgB#U;))q?lI9*ySY?)+if6uy44WHw5lbE9+DHpB41YH3(@6<9~0qZc9;XhR8B^Dv92Tc72bCJ;5vL20^ zrKp|1~m8#m@mm#4b{ZkYQT=fAUfQqoTLD>Yj|I09X(F@|gl+9iZeg zDX0N!YnzOKY(O(;lb?oo0nv1{<|-F8ct|jg;2vqqVxEtHYTEbrI~Qty+npk>16F3D zawN$}a5g;jO?x&Zdj`aRy;+Q6P*}&-!BpOnpOrjW37^zhHs&TX2MK3@|2vf9py)4S zum{D7_Mp&F99TMmnZWw^pn=D;Sz!KHz6p4~08a}YDcoEL#QTBSN`R)}07jFt&tTn%o7jX|!!@9NR zd-_hhYt1};MDo;P=GaFOlngXUUNR98a+Nc?*IulEKMy!)s-DjeX}C}PAvPGVJjaL6t#ds4znt`aXnSw^&tovH?>r2_z z%6h+@|5pZmU&JW)K|K24O{|S*~a1n(m6|AG2=k7*x$P}})4WC}TM^VQ zc@e~SzakxRv{yv-qNd|)yeoM-iOC8p#HkhVq0pZj9%z;DySSj}Yq>JT-NUYD@ zV*tShS0@W4ao3kymBdBl2$(%CzbNyHut0Nti8d42t`|olzTP|M<#ZTH(rh^g=hUj6 z^J)3lowFw^U+Vo@v;411Vi|^=;h}FO{GZpbF{9z3JK|VbhIVBNBNGn~-EQhv>;S|O z-Zq#TeMFtK+Wb);pDJ8HcVI-zJT%!HI#^yy?(Qdda42&DH%SSH_q862mTCSjZNB|91cQ6)SJEH~pG?Wi4^?uhmh911viMLX zf1oA%w3Y0pCHL>-&V};nJ9<<(*S`R`j)8$8~*Kv)5!5yg`>E2dy z_Mu9?@tAzNS6j(TwB-I>F4a%>ZYy?%c3Gw`=<>{i*2~p;UEAvIt~*4Ruh5QgJws-2 zYYtU%fR>c7N@OiS+HWq*N;?8LTW(<$aG5Fib@Tz}AdD%8$7zL*v{orPgW=B$k2nCz&DvLe@jd5KO=W& zgU7ZN`-*l%AUo*D!h_ZuruBNZ)jR7@9l7rj>GJVyC36qj;EwrH?1Z*rFE5h>S^S_Q zMF*|7Nb7;eGvoXv^$t2C`PvbQrxh&XEG@bJj9jM;p43)s0>xtC`NLzSH72?H81$4AmO%ep2aumWmoBB<<_tq zK`mn8)T}YlKkrB{%F@FV)wkI=b1ykqj7bWnLEjUC z4T~{eTNM)j{+COCEQ;ell|E<&I?`i(*aqecLo)Q(ZJS!@u`F_gNvM`z=&@3v#|XcH z7mGE!5JS%h5=y8l3GK|SS}??7I^zGh6hPO@&mg4`t#LCl@_ruk?IUtWZq?G%K0FrK z#{wSv+eavPuGi865c1rxrH=#6lqLc9#|mfDr?~%3VfD~O3UgSXT=%o){Y`>`lz{TT zC;7sp5270TCqqPuiGa-%;`*@$sbL8zH6+TT^q+Z*Zo7RuYw%0l;>?q-bm2ZUUxHKIIL1YNhn+G=UNIxw> z4fuE!KUos*Y4GRyG7ZQ8q^&^gv11K5tB!W~9L>N!A*hp2=!BTDG!=}xV+R&d?~olh zky;wf=Pr>CiDKXO+$?3Zi)v`e^(96~#qAcqD42j>&K14IoTUO!|F`gqHT5qUtXp7V zR%w^6=17shAyr%*KZ2%QZ)|=tk5E%bnqKg3&3VqkVpi9@`UO!coGlCO_kNA<3t(hl zPg97EKh(Zk_|r_h%WE>|N-*W_A^GEy)vDypfTkz$Uz0A}?XHx3= zBSP+iM<22Oxw~H$x0H2nxwWr%+BLinoq9IeU3mBwwp;Ttu4t(I&O3W>N6f;jWF|^S zGiX#Fti@S;@Huki`{m^MW3KjH)J~<2>CLxQgIBzzW5-cKVaS(=U@z!~!fxueeAE99 zMyT38ipoe^hxtJ`^M8`pemyo03gAH(!#mO~+3+=__Mk|3`6Ib#7BP4q7KEjkb^Ae< zBH>+_pPe>5R!D>%I9Hj|5qh*+z&@0a>=fA=A=NJ6#q{BD7x3C? z|Jw_=-{RYNH+chfC4s+YHfd>hCe$_N2g6APSdj_zJdHFN>nS?cYXnjOSTh+}4D;O~ zWKD-JWa1b6@?8Cb_Z&5M`tEi<^ISLZ&pE+2KEpRwkZ_Q1?WYNAEzzv2<;FoA>J0vMOXBNH^5nojlA}))g4yBu`L>Kx zeW5M)+F=PaRh|~;p{TiD-_#gj{cYuEuXzpXC0zn&cUH zYf{jRxJ|&~SkT8Gs2~98EF3D87Ga(wJELy6u#Duis=zwT`k`N}X6S^VXMX4HqJtC7 z3}VXJw8$f}V2K=H4`AXT$WwvoBFGCd{D;hfZU4!$DU5xH-}#=yZ9o6KkI??5t?d^b zZu>`kl>WarAk+Uw(V@xwh#XfYNL~&;LwDFS?Sp5?p3gtD?GuEFXiCg#|E9_E9eKEM zUI#0CTmE`m-YRSzuUbrBwDea;?d)iiADsV(D*vky`<2hcE9quy#J$aEI^}3D5jprd z{?OUK9D?$u;?r~XiV!l1b;LTyTWPMoaA!JIDgDsx&q2OGBHYp`dF1Kvj`!6TUcBPW zd{2~RI^-0ulhyt}Ae8;b{maC^YK^1#dE2;{224fqi4#BPHUWMeuWup79O0@>j3Q%v zEi%wCYStiLfm6a&TUhf%WCw0JbN`!1@I#ot;RGt3KR&1S<=ng#wXgJ%luorT=fg|q zt&o?H{pk#cF@^WhT_{<*H9xOWGP~xj$isPkBbiAdKc|>b63rJ65|+M?LwqQH^PTG9 z*>LJKP(3_U+m!26kM2aFWKd{$PNr06DV5X`!@E+d3m?Iqth|2cSviBMyAXajy<}*0 z&Y;RyyH>tQxJS8`tZ6fY!5--D}`k>#C2@0cHjl z5zu4l#>o0ja8i8y|EMRaI)IAZ$&KsumHvyfw2JsV|bpdOm;OtxEad4v-v6d z9pQ%*l&V7tNY%p>+KQ@&39wa<6j&Qz3ksmdM8$%9*f*|bnkqtE+Tql`-bZIDmr=*EnH+Xn zG;fbn`$m2=uSF6&1-~+t@ycbLqj^M+y`iwbi+ z>V=1bbE=P*YVBJgZ~5-cTs*G!AmRDr2o_hyH5u~peAbACdYOfa$wJ9G#X|aTXIaSN zO?fL=p#oC7fB>Y#3Z7Xkw{lsoQ{2EDVA94!nC&--?hJ(t@n@ot_=RAG>JTqr29`=6 zScXo7MUk9gIr>0WXMG@xD0O#)qSd!_m0KNz2@cO4#pV$E_x=eiyQfyBTf$XKpn3h_ zxs`QYkqo+_Ce+32D$`wW`w9fvk56R&%j+DkYEJUCa8^82o8HP`33#`LUdvBr1ok;! zM`NG+$n&`Uipq3kit2OiR_2Rok)bm$5ZP@r@D@%?pU@06y#R_AbB2jAe_{(xSmEkd zS>~93Lt$>b_D!aB+3wARVP6_eJro4U=CDw@aejr02xQ5!5p5zF5jX$?m>Y#+ zWGtHip;+;9H}srSxwI>v?s^*$ntM(-0mFoHZd|RJb8iNW+;n}knoE$0@l+#&X?@JM zj||x6S07CwJ76heryx|jtxxq>po9N+$-zD`?#JG95T5xHa^xWNp2cOZc3Xao8<1%# z=52CFj&V~miP(ZVwauW7mRR-Wd!yC)QEr-uR!{8|tu75!A6-3?ms>i?u`yZf8pQe} zxXB13RnE*OUkPXZhQFWjcRzpk@K?p(RQ_(}Z}(rrS#R?9Dt|BX_Y8k4`Fonb1^j(5 zM*L6iN0|ZTx5PpKdz$HmeJU5t2GrTHXTRD(jv`BU%ZPZI-w04786n$w$qL-Jb&>)M@47Y>nqwur433WLnlNC&@ke% z!x`7bnGPLvTw|nDhc~iBrlA8zrUP>icU*S0N@aM#*ceNcRnzeu{)!FGbm*WX8+ceN zCQW3<~>n{u6Va19Ld&TU?`ga`JX_=7~KYw_TSoneCDmeTV>zipPGs3o!>5BFF zXe*ZAaa_GJ<2w8m>yhcuL02sIuvQFM$;mWx;JBnO-ch<>?e`ZQyQBhX$af+snji#;yS%JttM9lJ0P~`ttW%oM| zqFyJ?f=x%sSs=&2^RW=hfITcR_#ccP909NuHL@@l$U1@jqXIvQa=AfD(Z4qoLb0h& zG(afch#nUNr$Ds$Sf_aLAuy%j9E-ZWk-ZKLRo*aw;IIx7Z)EGHI}paB#p}JXeVowx z!^8hz6K_~SyG`efENs8$I->312=PXqmN~gv&qqDh4%{o=u>SPOi5zNjq()|P24p7Z zV55588~c%Pq&I9}hfxh~8`b*5TdQcMI|mz8>0z!_rj3IQiG^}mC~suqBdpb!4x_rb zZB&PK#Cjty%k=1AqndD-Yn5r^V554z@=2w?!gJ*cB5&l?-q^z@M-&_Pv5lI}br0b$gBnFJj0%Norim&?gFjyS1s1hHqNAdO3%kNRx~ ze+@ccJ#IJR*YNyA=j~@5;Z*k+kP*JpuZlbA)7BVHtLM93nb8r!#gFb(J-$md5-S}k z^Qhw+j?je%=5t#vEP8IVdU)q(_4w@S;W>` z-4YBXkpH#BBU|GBupE_lP72@X{)4FY{N|%V&7TyWh+eZth~GvOtEH2|SFLa=Ye>JU zac6kehzF&@-=&n~kaE%Eq>O2i@|iLn_Vk}by{`_Ade;n$dNT%iv7)F~ahf-y z(5vY0U0x7HXv;XR=B5Q${k}5pXlg(q&$)5J7nQFkB<>7X%o>kNMSVhV){-#&?T^_c zs9`Jf)ZGa`z%*9N=0cR^=gNM%m@j*=EN}puKb8~x0>=8@18HKcxN1(#F5&E#>f`(J zSf`IWPRSZxT=lJ*y{BY(OKM-u%|j;j3hi9X!bvUCNo8|z1m)+w$X2z_xu7GHDOw;! z@?Olm4)m6@wYNIxm?2V~;``^+@Wo-p_x~jL{iSxM`2JK4pC>=~yjsA?cc6bo>sE@j z6%E9^KWINtG|SEm&)UjjFyES^yfU>X9?;N!Ob`5 zZ+Xdc#|E{tJe*`l1~9hSALWbTCAGiOYyQ^h%M#f1&UiH!f!gPj<#X|0&QS+t02M1) zSh56qxQy>g8o|arYCBf4Bw2ogpDv=UcAgE~fIIt+=KEtyYVWZA zYIj%nBZ9e)sa8p2vi#O?>QNxHDPM|x8Fz$=+Uso0+RRanNpkvPOHfTSRYEm7 z;&0&p(uHuL&+L6AyrX0p;^+|=k1-pMce@~4o{Hy~?FM|O1A<2a^)xnhpw6HP%0YsF zd$4Vkbg`S7WYpKIoM-E*tfaEAZ&?XZjVA(r$qJ)5TBqry))myP%}#YgHfn3TEO=yq z+72G~gM+s6$EFH>KVoJh0^p~D;2N9yx_!jj*~`yw?La>^mfMoDlCnZ}MjDvHrl>nf z9UjM~`r3y=TRaUmeX*V)(Wn%-xzFq78V$a@|p&zGv>hN{l*0q6}g9Td2qGUN2trDvMF%(-9LG55621J#p2Ja8`h~hm>l?U^W z^n;v#nCe3mTq^|8u>gxzQ4f>KOL(BR9-y-o0l4eiFiOtR^kkS3xE!(L&p51Hh?SMGA~+^(cCaC)@)_C(m?-U zH4Pnk8VnvUR@35a`J+i~(BNG-}27v6IZRIi}RNw@>0YMV%RKF?o70fjeq^3%bEty;7 z=cUIOiee>myXld?U83%a*$A_Z$>f-8XklN2_Hn}l;V3l13hke-w}|_`!Q89$A?;o% z1eVOr7x=WdgZ&L^cT}-8S^g{Ih{-YYSu)}4+MVnxEtw~B02P9?>PupxU|K3+CD3jx zm}@H`S$;Dj<6!$}Wyy0)s1llyLSwE`t}O{e8#DmgY?W#Dkbq5PB}+R;-q?s9L0^Fw zS;T@&W(ITT2`1fkQw${;jZv{XeHtlQH$WOKNB-I(E-N9SuT)Dg_Idptm}aB{)o*3$ zuyD29X?>0e9-pV7LZ(Lu86!&O9<1pq*J6J*q)O9D#l)YprNZKjm^d`&n*-dw5l2@) z_(c6G0JfrNbs*5vOSB3~_N-4tgK#ZqTg&8FIWuFE6wXWudC6iWY#cuyJOx8A7+yB} zf(0==sNG%zQ2LMJyx)BQ`$eShFMRTMdyNH=o99WeVPtT#5kF9Iv5jXOw6MR14poQT z7M-}?wf|hp5}I#IBv#TGD_M+gz-N<0pZQ|cq8asI)Rbo2z10*v>*tb-xStUFBWS8T zs2!l1@Z;SC3;cLDwIGpI5X^sAUzL|UMF*v2e55r16L8YB$h*P;a((Z6wC}=ZB=Aa5 zw3JC25-{BZ(ZdWiARF$}7ol#YCOL;J%>fjd&LBYHWD_Kkrtrq3EPt&d0oE7Q!Bh#F zL)!%L(iii7w^2PM$Dn>9%7e$f_7OZ{ij3)&<+DshWN+Fu5-5lI^dF$1FnGaIRWjGa zJ|t}0;?1#=XW@6de+JqiG+2uHa;>wRSMLGzTr;KKpi)L6} z@(g`#qdqt#TOZ7gFtT;}Aokf8>4U}52#shv>VsIPHxKa3bDQR?qQe^df3rq#hQ zvm)KE64QjdEM*KS)DJV-;E75-{rT!3^7D(;K_tPp>x1R%(gLVtb9Jz9bB1F2fwjVa-gF+SZ<7nDAeyc7EP!O_JtG<+MfEh zWU^GkY>jN|bit;NB*?a27i4DuD3A>j{<)p26{Y~73kpon1WXk?jjpm(!Qw1c@K}mE zQw57mZ~LBO739Ld_b_0yRY54ae-FLgR#k9iWiWo778i=$&f=h(tAw)PkwnOn10*p( z`Ar+vwjCSHA0!?*ykvfn@NjI&{6kb+B5e@97Z1k244XSZWh15Rn*6{JM|V2FGuO}6 z2F0@=t4JM0kV#%JMsG()%3nNbU6>witwvn|23;DonjTd3xhdZzT41@iuDu;44NYc* zdW?rkAK2(lml)B;xJL$$q%<%FW6Xk<4-ulugFCHJY>{jou)s6!PIN#Iy!a1Z$(v1f zs@vhg{MkYh4BHTiBh2sh4B~o(#k$z0w(QcnAFCjQ3!@^(Y z!7ohXcjDG%CHIGFG9PN9gGbD^Eh~AqGIey*hih^6JaUvE0neu5jSS{r zsVG*m0p08t|Mo*1(r+L;U&fy_L@2Vp?19PV?=b?9zrNL=d?jPCiu^rF9|YxdlU+c_ zz?z12=9b`~bu!jHD8C^Y%jNw5-rK9bLHVt^)vNr$=*`YS`6J2LfS|lCdNVL6e>@p0 z2+A9xH-$m@;$*BSC~u1197vYQY32nAE3S6>gxuSv#Ad6gTz!nZj; z8PfnKM6W7?@|%;fDqdAZuTBigf0c|);8judY9bF)ld(y$RJk9@cX=@>8Jm(C;h)dr zxilG@8cQAPUnF=DPsXOjQl{|V|jsIfczZm#02L6kIju^09w^@ANpKm)Ap8%WrZmrIPvFTOA!MS3N?05Y7 z*=M8kHT(N7l*_DGkpRizMLOCV9${%59+$Bm9faS)v2=?s2+w!EfH7_%1s|)~RRhz_ zCiV*(6l}rCMebbA<8!<--*e8%6z04z(-s%;|fp z1;7r+lCHEl?mK%E&Bu+Ogt&X9J_iY}oB+SZ7mI3t4hK^7cnoKfzj#7CK1N5ah4|Q! zEqC8L{S`B_ZvUvpDdebljw|UB->7-FM`Dkfk9#KiL`N4nS8T`EQNRmYhwHM;aU2kw zHfqe|2JP4DY_iCNQxvUa95^mtM~pd5a6D*S=C0xZD`?#_UCn0;w4}6d7KeSoajwlZ z-9!W1!b#@Nu;PU&e}}#`TMEJu%}-DXs(x z+~b$(H;F#{`Izq8vC|&2=J()s&F{+3UFnZW8dx8CY`jxvHI%sg~iA zCo^8;9@;0Q`;w)?$wJIqTN@o4?C>1X`#o6hHdo}%=;@A#MeY{=9QV(0_apy2#XnDR zm-8H4r5=rIB!8%%9eIcGnr-5P5t?;W`LZxSNjXk|42}cxj%08=|FCQv|Ij~$IG*O8 zLL8r?r=U*;&F*y=WUTH)4I$P4rVsji_Ovg}Ljj+kiXZ~9-QRf7B}FvS0z<7EfvqBe$4$f7A9eUo48{ISF)Rg z+a8n-VY$-aTkHGhxVez9UqYuY$_!8G1X$QxIS$cqT!(Uq-V$2Hz&Zd>C%cN|!6aVItG!1Eo*bx|Vauxz;>xv) zlxLWQQ8|b&UkJ}z#wHE!5}Q+&yHR<#<8boo)>hIaFDct?%B(>Pxe;mRPHkue3(u~c z+z{`!3_jNNh@H9jbtYW;MOrH&F-c|cbQmwkIoi^}UFMW+2a#8BT`~zF-edO5bWMa^ z(e_r$0Fd~r9Q-jjZ0!+Ju*MSDCBBx4G&9n6lm2gf$jEm)?_`(SkciZ1s2slr zGf@$c)t*_ftSsbzC!=ix{|!B{a8mVHBt>;aI9GYKF%!MLakJdK7P8ig6AK?Uco{S~epnOh`1gBxWnZeXbTRNwGl`|U^ft%~UUZ)ndVqB2fH+g?@U`#vXZM4|P{5140<0d^ zRwAJ$b^>6lcXFKDa+yXB0lJ?PM+h({ln0G)FLsm1<+>_q8Yx7cy~}l_JS%fABX!>` z78l41GybY0dbuUf8rfc1t_&S5?~(MNq@iUKfBub=yoIL1`R^ou^vDmg*P#h9WjRQE z58UR}{=tyf+iehgAf#`y@nP23*{Fb(!6&-YfaNiWn7NlL^M-R;b>WnXZn`|uJu!Ia zoboPz(7LP`^m^jrieUSS)c4~oh%u=VQ|yMpkKECNg_`QU(u;oce9-pMu-7jtpaHwE z&=R$Gw+|DI@j=Lr zVSLbY!N$yeH0W!UUAgpDv!0ukv^VjEV+_Fl%vvB68{^hL=h7NwoU*)o=ho@;rpe@^-fo^M3zWIy+YRb)T! z|5^LzRiCtf-fdm`=js1!|GcTg^F1Bg`?!7m|4Xy+nbv=Oi;Pn_Zw_-ec_X}7vMDse!|Oeo+-`eCJv9z5g1VLJ20g0= zY@w!(E^=2&Q4dBJyKUH~>s@d4Jn$%6tGlteaH5EbDWuN?7>uz-W}G<`gZFH>cU)k*xa0Q|N1u6EsOhAA78R+AeBH1z32lS&ow-~~)$b|;4dlhtgp%}r zTm2f*m>ADJ@3g1imJZKDJ3KFS?dzZ2lJ#6SK_eg3YV#Re_$H?g7RtUIvT!53@wqw5 zbVa@mw#|sUXLDlVM)qxc{Ej9ln$FvW8*}+}iE@U9IkEUvU;$QTb1DmGNS#qaO8ypx zf2E9ZGr`wDNX_C2>7^JAaf^Q$|Il{uYXP`(-!=FV$^%>-MjA3HV}!ON7BA0+`TA14 z^o_}_Cs@Djz8lgRWd8e4TCBfz-`~xu+}iIS>*V{}vB$RJdmHZz|2^wM>E4Q329Q0@ zqs_0+Q#+QUq-U28>rj3^HcEE+9v#ZB!Ksy9{)zMWj{4t;#hzWhx??%6tL*Z}!t$Dh z#Y7f$7lr_02I~tepE*@Nz%Owv;g34e7rWFYWWyRe`Q6&tM!K{dUXwt) zo-_cuFCNx4v3GqnFU3&D*=POEqSMr<1!VT@?*2)Ftk%a|UEh%P z*?9k1ar(3UU86oLvP-gCzp6AfgmwW&JQzE`RYPULve^w*npeI|d2Ls?wdnW4{M^D> zG^efT1K2yzRn@W}7Eu8$a;;?%cnHGe(wMWxCZG8_X1K-k7GE zR4CDTG^X5K0|)p9{KYu_E=Kbi7h&X&nY}cxb}w1`&`K$@u1gw!%UIoGawtIP+vz|~ za-_-jVVa+(D1|6q@4@_>Fe5b@Vi+ECr;@H~bNi14F#&*!asMn(5`OnHsUgW;@nB?b z5*bXhss7i~QmjtYf|Dg4Ov{ZY&mZ7km71I!S)dhm9Q~b7Ep@LOuIeA=zlaRqJXmwq zS}P}J!*E@cy?f%9^)slU>P`IR>q7oPV`8`Z_2FfwIKJ#44Y759 zOHGb1tjXQEx6n2Nv~7sc_6I2*$!=+#k%gA!2w?YMTXA9hS>y9g$CIP;m35Pt1b4!l zew;y%xzj^VW@jm;4-g&xAh%>qdC3|+{(8A$dH%+Is$e1S`UV8-5Vx;cR!#25JIK** zY+RgfyKWu<`_n;c{It}VgUeIpF*g%ec*{68!75=t1P3CgKOXW}s?0!9G`n zH+k%8e?~3$N!Y}nAQ4*ZCrv2X)1sZ-r!RC*&6YPJR(CT0Lsm<>=#rpj_Z2N6NDny21K4kQEm%*XmN~Dz1ld<`-Y4!8 zoRsV8_cz4+G>w?!sLjXKeC!ePzWWfjam#f3LL&=Sx;}6>!TDWYRt}w9Q2iAqprB+; zW%5FZ6DaAI8yGRddbk=(6UOm?1s=35`|fAsHB#5`Tz*pB7|47{5*ukERReNrp6EESF{z)@_ri3 zt-McHO881O=}P}}U8&SMQzN<1{hDpYcydIp&XT5jC*aY#0z|fsHh_eo zGPV~0W$$z^^L#IRrh9qc-KF#vT{yYA!AOdQPGTx$~;` z7H+`F8*TlWwb9%bcoP-e$8Uh0#^DA0Cgb@p_@6qDQ^&aMa`y`5e4gl0!G*|NAh*I@ zg3D41wUYBs$l0gR(slRQr2k$yzSV5f>j$G>1@%g9pqpRg=m*mWe66wE*V`wHfCvUc-sJmC2J+O_9uz<+gKLINI z2R;Z<;l5N#Rn3g3umT@~G~)-+sp>DKOm)Qb_~a=*Nsam~Z0l+FRq92W1FFL5i{P8N zUJ#!r%_Y#qv&SI<*jVo4_9irNfo=?P<5b9Im&(})oG*hhblKyf=zCG-;Qm3n2m zRGNtPuyfrF?CRBQ+%@r3y_Tf_lP49x+S84_Aflu4H4Woy#n0q z_61#uFG!4t)wr&SBV+7cCH4V;Uw!J4xt@7TRgF!>Hz2boyH8~hHZXu8i{Lo=+j7F| zw4)y{aE9N0yvmhMTLRDSOR1Z{igvqrAjpU@?t-)#pd`=ApB{W1Y$v_&9G>wF<<*|( zeHUYm8oSuc}_{r-W^H#KTDI9u;dG&oxtfIhnXZK=EGwY6<65AZ4;T#{R| znrl#Uxsf{q!KV79oWu^Etkc+*sXA3f;9vMk46yK6O{{MjC7D{y{l)&72rh zz>amv^JaSAg-Z`^c~spTYxfq~HRx0bWVtrjyWF{KOvUQ1qYnN39WS*=eLpe;wBi&S z$APy7E--O3iPHE3$jhn!kpH}3?YYaxZNY0TH}M)(%nirc+j5OP#6V7E^8P|S1%KDw zyEpKwOg|sDSlCMNR|(E4g7cB;YZ5z4?5uE~p`D4=`%$}fzX}35*sppY6~as4yxLtU z(8|4lz9cLECWu%VtRL=eiPb3z2VIi+SYDPIwViu?d&9v#^$L&Hw2YtvgYUyQQ=@KU zTHbW$u)tcx`zyesnR#P^F(wDO^NCN~S8c;=<_s@~QvI7Z^@k?L(2~pftIkoOL^M?I zO|y?sqFxm4Yh6Yxq$ho}9@VY`FHd|APa2prcQezD0!BW-^}#<}8T{R_&UoDM^cAZ+ zou(_2r(*#2A3<+YQ7-9;TJ>5b_X4S3T{$akR|X;e%?i|tkaQ}PseZ*`Egi1<-pcLr zEiJ|W$TD+vvrj8QQd+zSmQ)=*6)h@h*i3)-{A}3^#?NYob|v4Y@vy()WY>HSV|Ape zj)Q>>hmW}-UrqBc-$zxh!mKa`OY@m&+Xz2h?93u8{{t zJ*j^0umd7im>PAb8-c4TiZ7c0LE&7N0Re6f3*E(~e9TBtB+K{@g%%e_u%o+0eSD$+ z*yDe61W!(ab=dDL`WNzd0Gw3S2_T1T6Ojs)*a7}Bzyh1w}jeEY3` z49A;eliMq7|9t>YRh<;If2ushCYXHVeqy-=%TFw`87s)lY>Wxt_8IZ;oZ23qi`l`_ zczf7*PmbVO_LcVVM1$Q6!>`l9^3u2e$@9_t+IV*j+dsvKc|t_Y=VrIhf=N~tR3=M{ zwn$~!`quSPFEHkhF-#MKn7jKv^kdoG#`5h{{GW7J>DuJYMV=_sB2-~)`ik6=?Zo8S zc(JnNv~>SlWo>r|N3wkES^fkGhXQPFU3P1Zq&J^4%#cH|B51+gGA4Kwk=g!Of5zYP35)l!o%L%yzk+2~wCEvGq|Lj5(#!INxPLI{ zSlx|$)q0d|{I&M28=$8ib@}{>4|9375AnU~er$CwQt9@39t4hJbupgpdMxO14|c;B z9Lx)MDQdU7L-UV+0O2_gd(M+&mApI?6vQ`4{_iQGP)pSHZ@sGe^Oo$t^giQX!atrx z=bM@tr!1;XxQ>|HSnyhTz~j4a5?;=BlwO{u^zR$Fg_JI`b%~WiSCeZ}fQi{td9{aA zAg$zlGmgyfWCXtmB(v6k(6YBxC^ad!Z)I@JgA_V{Ok%Frull ztJw^F9V{ByN%N>p=2+cj{NM5?{woijjofz2+_?~a%TIah?(HE8YjOt&I_=$>K9*Pe zdkV{vC9&YyE8fgOF^mT<#PY6R^3f`is_)TI^F~)WjEDuD+TAOiJ{V=W+hjz%!fik? zjwcDYOMbr~mRJ9`9WVT<*HTYY@OW}WvE=u7_53&QBFS$ZsS4Z;ZYEn|s9$}5bd9h` z>h{2VYdt~(djrry0zHGD5a=a@S9k(l&Hjt)xv{idd7#Hhm8_xO-jxYe*&uixj@zN(oT zdO0j!kq{VYFx-jcdswZF3i!qk;D*iaioT+znfsAAiKo5a3g>aTTZ@%T!Nt68Tjah; zwP7z`3ZBN~x<7MIaO_Fe3$4mB>~Y?j{`?$=PwISFBll#9^X0g2X*pY9B2u!7*9Cgb zUu|FJkg~9PnCyWTdJ;=JPy6Pchn>EtUdu?dcLps&aJ}gwHR>T0ypPzt*s&OIACG1Ndb=OuW(=A_ir7;Wv4bdr#n;%nQ)iL{ zH(-3&Q+NZSetzrwd8btvx|@F1x)HvgH9!K94yYNDe_4KAy@?s^_O{U)xVdnukbT8sO(iB|W>IZ5 zHT?T4wx_RdO%Z*4eNqSdl4C-?8+mQ;*vNB(*Ji(tUYqv_UWvRmquJ$v#FpC(d%q2- zX7Jlwe0?~(o%n6;qk$~H%_`~0;YR%Cej6q>+i&wezLzcdZK?#@sJq<5J7)Q9hN(Y< z#rb&1+xcyl5EIefZ&U2Xc4uk{Tg^=E_VU2}FHUVceI?x79kV2ywTK5uV|lldO^!-f zfg-;5tDnmxh!aRFfxyd&nev=qle-fc%rsq1Ny+mS2<6`^qAfYxr1aa8(mNXi&YL%k zDq)n~au=WuN&(-Omn`7o(3y0eIg?m1ikZff)W=XbnH|C_TbvPwR!^4e5@EXKUBfVC#wPk_c_rdyuzJgZ!%do|-wZA~;E6=O1s& zp)^)oA=EUoaql*+ZL5Ga=pcPnh4_S`1eXZP#^Exia!8rmKUQ}KUoev2(uCN{+loqn z#wJQKMuO;nBh+B4m`f>Ya%c*^xX8$^g!Bw7fe(frmDnG&x4z}kF5Z`_IxVtakHNuE z(%=Oo+Lt7i=>XCvCdGquNNJTQB>hIC$m1Z*SepayEr!cTcnM= zxp}oRltrXB_VU#67Z4lLVj}I>#ENB+n`5&l{#cmAW{%Cl03JCuuf?m_A`7Y_7-5dh z31gUCQ&BxB#;uW=)8(0(z~ueoZ)wNoex_=q$#69#BEu@cZ0FcKh(210BgyK(&YE$o zf$HvUOj?wlU1e`V2pmEiGr$eTi%nkY)aAIumbn@9&0c5(6$@G_kmYtqqw5t~_E#}-)(}djW<7B( zrVwXz%9A}~k%{smCQ3u>qgCEO>BeHqbt^a#Ms3njH@k_;X&uCzBHB^ZLh{0by!y9x zyzuMZHd%j**_1lfYWVqtQKbjVWKxN%5XCz`}Do89H8f%Nl&xqez# zZq-WayprK3Twv7=hL50&d52)*1Y%3gE-h*uD97xX{xM!8-@++w7Sd0+85g=6{L#M3 z;M&N3OmJp~E8XjRLD&os^RZ^*KdTR7(H`*^PoyKYb`*t^iWg&wUhd}fv1QBnOSN`S zUj#x9vKpf4(bVMYjc;n@)WFCWyOTS9U~Z|%CAL*Asm>7-z7>83g!D50NyAS(P)PQA zJLaNoZMFzSVE&LOF{bgN~+f&x| zwEMViZQC$+DS<%{&>9~2vN(Nzz2365SW5#nLr{?Q+}7xx)<+vJeY3S^V^4X7L@ZED z`eYcy^5tU1qWJl<|6pUS8Ok*QtMWJ=LLYEUKgf76o&C?YL^UUt@Wl=BKo8dWT;AZs zdf}yTym__H0G%ImAI3~@V_w@5*HhrHyA%_ATrLfK#O^Mm-q-LoE|&)8(*Wbms|{>$ z<8t}vIco9IpKFG7%S-*z-jB{NX>$ww*Td|*9{9-zUndHH{M4w=FeomX#Gy2iaqiH3 zcBi|cD*)!`e9$;kO>VsOnRv~N+??vM{3*z(9$7I{oRX5yXcSZN457lATE6_TtnyQ^O*@v~ zlvRFpC*RM=DqsBM=HH*1RlW(Qc*pjKWtAV$N&9o&!}=w603fv%mOPKhDR93=&t{TOgMHT*SlxSu1*S4xMc|DG)V7a;kT;jaN8w%x}EzQ_(1-ay`=}pbEc^|7gmrCwfVy{iHk%H|HeSb;S#>N+( z&zk+aa1LK#DQK2@#pTP&$yp%i-FILFu?6}3wAo$3Cea%AlGbAA`SNNi67cjz?rE%3 zU(MYM9}TN)pBia!N9kuUvv!Inhxr9;O0NIDk%#9~y7^Jc8eE zxkiIaJ{pd_$5Ug{o~K!qm~n}-_nGqGomj9o7JTH!nNMgLV{&EuG%qt-i>tvEdQ2V|IyD<;%hFpno?+56pAEzTKJf1 zdVBMDy&GDbS6jgkciv)^uqsx%V+ke+<6UhJM!xP?odTs=4zza2sr$OSi3mCvQ%RVA zK+f(J?r^gi$7B1hV{H}L8Dl6EjdTSb?)qYfn@Oa7|0roZ$_@!Sl!)frj};d*~yolFb$Roa*l$L3Q1QX zMm!be)oSzB9fJ(vtOrgM;-{z~8&$qrZ@%902Msf?c4w+eybkN;k^7N#c85Ci5lJUl zJVdF^b4>bhC!Oc8v3+LsZdbjv{I_5*|G7yhQLzO*`Dvux%y2$(FUSoMjinde#p)i= zXLVL>Jj@Cm3p_+EZ*Ns(GPhplvUa+byKX$2u|KzP7GEk{shX{V ztV1iM99l`|PW%tr|JrsAvTa{<&_7Q0mx1l^5U7*1Twl^=1b~s)O*&Dql9=y&B*teF z6qgu={j#qCukL(iIV6G;O)_|AL~7h%7QS03ea2eo8MQD(EkK+`7sJ!U**Ze2WC%nc zHyPC2P0yuqoI&~#cl~AhGq>8jKw))F_PnumZ_&-rG#%C7#@EnEGe^Etqf%}ai_|@1 z0U<^gt@ara)t27jJp4aMtEq_Fs(*=zXHCIo_%+S$vEKl`X(N`2qymP5de_?(B3D?B zZ<`|4??dR4a0q|MF1Dh%X;sC+eqadsbVN%C`6PFE2zlq6P+Ben z7%DDkHR{EkrHjPsJZElppQ3|9CB_BB8}YrwTKoGU7i!9-qIgzOFP_MhuV&jjHEOQ; z35Ar*%AbM6&RY2e6~To?99P>0By9nO;e4AuRsbY!U25;S}^6_%Z?lb%-b3L~9GdfAnhHn4! zXHDpFY?R@8{27{PXY_py&eo1poq6ssp6vL-Qq9yAzK_aa6Wai!-mrXPAG=mNwYDNy z=U&mI!--e%rYv})=AXM%Z&yi-T}3b<7xA##bp8ZIFfmDTBovC+=hK*t(tj;*EgN5t{wf<^=UA*Evd!~FF~u58wU%=?Z3RCl5N^(B z*WT`*)80?f1vB{W_^Si{Lwf4tTW&{B^?zRrg8gn(NJ!Ao3l^56?SQSLA z*d}qz-W8&Tm#Se4SZ5Q{KbRQDwfF@i={QsV+2%|4*`_0|PQS}=S)us$;DZv@;HChE z&kcJMQSBzff2ZcAPVVAb(FK8;O`;K)SSOMSo^u{jD5siw1y5jMxQV^lhHgj@{WLO{ zee9>ToxWfL)D{mWpo$UTLu`)QOREwEW-6XDSc#=V8D12;o|@66mGB@sj@5mtk5c_> zXhA0PUN7hqmKZJ)go#$wza!=)jQ{?n;h<(HH})>I5beIc+B3@t`WVq(NbyP$J;b#Q<_VWTiy0ya$a1wF?77#XW(goH{gyj?}fN2xrb|ER2M-t4nQyVjpjNh;B9;x%Ktke?AhcV62=r9WRsgfJHAZk8CucgqRBO{WNCrT^p?8x z?eCFkpY8pAE7&vF+~?u0GXLFpm!;QIxY!S{#Ztg%P`A34`dxbLUAnaB zbhuO{LSASQZ0cYIbWpSL!0KM^Sq!_@J!{(XFYo0hv!T$sLrvQNey>Jywf1oJ2uOwI zGZtl>#55Neav%ayG9Jv#tvRNxx}dQaj=miC9PVd<_dK)_=FP~foy21DF1q8;)Z`l* ztK~&AbKcbR%<0;%m36b+?PI=(u`u6_@PT~y=LhYJc?0=k40K`qd`vJBCEMG5P_I&X z*q(5KyNXRub+Cpg|M0xR{K8o(W`EbMks2N>$FZ14$2b-PTf{93slBD8^S@Fi46~I$ zzK3)?egS~Hvu^?DL2q!ybw%JREg-@@8dAZzPYKP#;hXD3A+g48LPcW^SjcfZVTNfg zMyQhaHDD2sW!bEBXTzjX9rkzc+j?3l2WuTPrwPsqzbf!5p@l8=D%qfj_WTQv^!r9` zAZn7@f7`Iy6c2jElbpcjj}BtPTz^YSQP=YW>uJ~4JCmf3!7R>GjH4wZ0OB99s{Ptn z?vAqdY-vNdO|Bl-AH-3X-rI0kC2}BZT~C)CpzR4_qPk>0+*Kb|{?6+4sYrgS$O6(@ zfoho>5q;uPFH(WLyW59kSSq#46VdtkEg%2yP=oP54W9iSo9J0TXGn4#J!RfGMk3@~ zN;ZlDa2OiEhM8MG%V4HdLu*Evj4*S$X)JiA!OS~^LWLh1W(Gg%F%t(feh+oQSZFJmvb2z>ps}AenZz8@CibbCr6RbBX|4YdR?Q;<| z_@EfVCho067 z++izJHF37ux1ej(!ZKM$VC;v!Y)pJI{zsI$U$ZSAt6NEHE-qExucL!E`&5f+l>c^z z_+*S~BfN^_F%`+~g*r3^n9PamxoQ)nr{G7$eA2-fI?(ECc}A@>;N?oS!PwkS=#Oy7 z#xN6PmY?gohpBSKVhuG~p#Ss7azKC!K|cdfsWl|6ccVa-k1QR~#) z+!blhT`qHne@^6an44mrnI?BzdY>_|mt+K!_%u|2jM~$cSskIp?F@x^8I{)YQ1j9n zUwZIc@gp1F9wEE~$RV*Ayc2HCg0~sLDH*fg^b`|T5xo5)c<;432Jd&#p8lQiX5vRf z|HbH^8m4WRVZGa!pN9W@`~dib_C>oxG8}T|HHwG(qk9^CN^uYQCZq`nEJk`W6DKPi zZjt-wCDV&g#kO}pfByZh?r-;H9D5 zCeSxD?)5H=9{h5vMfMs)kv=jYO0BnIel#Gmt-DLNk7%!&*ii9vOpYoTneyL3jKT*w z_S}3_3@Gv-PmhOVpJmbGi|*Dx7(Gt#^mrDP(bNA(;&k^WZa>lE*`mks9qDnO7c=zu z?CTLWpvMl7bR@_%FX%f@kYvTn5ab_P@vLSD@;7OMj7yL41o<=fE9d9wO_MlAkh4RA z>;bD~p8C65t78OtBCMh1+opCldzvKs9?8Fu9NrWe`9DvXAyIEepE=h>)9LclbD7A{ zXB7)9O`l6-l|Y{@kLqtb`s@cYHTt~W>KJ`a#N6zJK7;0vC?Qn05H4c8+%MA%8GpG| zsPh`(F`<2bOv}<#5OeC zKqt0zFs$t1KYBO7#net!ecvClIopl4o160L+O~RS zsNw}GQ$KWdpTVjAN?Mc%9zhN1j+59@)CxEV1)?G#f{mv9W>=nD#%DDfce}hSv0shr zpP0@)9*G{TkXAzfk>jXC8dV5L%O%a~q@lB-J>F15yC;r3dPmI1L~;H1L(ctU{xaOf z&ugJHz_|~0=Ne$`$7mh-sf&jFaJa7 z==AMpdJJ0)VJOP<6TYE5f@-S<-$^B}-_J-HHryY2!2;0B7;+9HD$-3w?RSJa-lvqI z|42v|Fg$mFZxF$|n((pEQFH0nL>G?5*M*H6Tmd=$8qsuH$fyT$UNmYkyL6s>%ktF|H1fZrx*g zJq-v=%XM>TSB#krne}6!HI$bLC=YnalI9BI(N(sf#N?V1vy9z}UKum~G^$G9iNgWV zcc!^%e-xa&a1%r2v74;T#>5%^?TGO0YoLd>Cf%N8t%c1uxqH(#cl90hN{k>LUgqa_ z-)Dr7$C%%Ix15gr@&hH>1qn&#M8VSRhFCusBUy!8hoUXk%BJr}uQJrJMJr`XNGN$8 zj&!^+S7D$(CIKqNOAiVqO|B5np{I!Ies%jXqF9|GbX&{Z#Zm>R@y_q{*OqCa5G%#5 z3ACQ?zWTiJCL*Rok#D1|JJ4E@Zd#we`xwrh0cTABi)6Ae~;T##Zsx1wMTa z7Ce7??1wbS{j^Dm9hg%OkdN@f{6ovy!A-(;72D!v%gzkR^sPLvZ`sRt5J_$h@*=AB zK8Drj^w|D&v>u0g2*P|a_rEO#ZI{F_X=6nljmCA2LWg%^{PelaB!9NluW3N@kk-+@ z*Ux{7;JIhEVI+iSpy1iK`{l!=-|WKeGw3%v>9QPzVx+_P^JV^kpC z7r9oG42Ff(*bH8#Cik)hpQYuyMOM$+e3*Lm4~DaN1biKedS-E$XNq~e)}7A^jabIN z(^4o6#m@9AXo={#xhz(_WXU(@9gOO#CjiEzAs;$RsIaL z-?99$tn%(~;*RAvWt9&_7<4S3kyZXW3P{KDQ?trPb<+Q^tnykoZ^!TV$SPlegRW!w zCzof9zmxt~XO*wVGu`p~$Fj=1chdh&S>>Fe|-?moijaJgC2k0CEWY9Qy(`MHUJsdLY4)8;Q;;f(i+Ue zmiYSY4GS*A5tTQtS$61QX8J2Kj|T&YEOFD+lAA@S-T!P+rHF9}b%xD#*F zbKX4V1F(Z+-VJEc%Zhqxb_KqZ?bONXG~aroyA?-8MR+rfou2qE@0s6NYmJGAW;g13 zgUnn|I^Y?rJCpw-@3VW)1WS{98j3-|{HN5Ept&O1%eAns$c6A*%^4*iqb2u=mv@!;dUSEZ0%V)D^$3Nk%}WIgHg;u8CC9Br?w6&; zT82*%F;k`VXU}q$(#=|8ph)S+tNkgpYmVurT%_^>ag~xzrwPAWD$LwJo?zz2Dq~!4 zcPTKmvgbdyP?Aws#>bPRSTRcz{b_7^e%!B^cw0m1ki)uEe-uw1TNFzkVW&XG**6MkcPOntWAl1o5^w1{u!S{l<>E=f#d z!9U}qaH|}8VL|o5^*Z;d3D=dRuJluD9-D7m9OG}`z-L1pc z(HKe!44mpdWO=j1euwg^rS=1q=SsizaCEvIUF-tjqtorIanCRIq(KuRjcL;Ireu%9 z4ZKG!DqO63PmTUq-$+jyv4%snsPz#$Ip8^w-L+j2aP?8M`v}`i3+Oez^UUe+`$d+l z2}(bF%6QH`X&6WQ=I^eLko%-N7#Le_;XP36xZZ z@=Z;Qnu@*b{PtK`+*pcNIIL3_*KUz0B)jcOZ z=$ZJiro1Z$@?FIhpSJN;-c@-##Ol7y|B5u4g!A%4oHy=7>Et2rd(WEJ6$|XhR0ib* zrfLe*E7%|sPLyE=GmaQ*uJIzv8llURl3iLJh+e1q-$J9Dq*phSbKM51y4Jeg1aKvV zni3_`&7KSQDOhb~LX`y40;E@n91F%w&K*N6y!$Qnna;h_NKfzr!Wc|@p1}IK1!{sl z*YU(m_1KL9vTBjDZ5lP*Fs&8A8c%X5MDntNm<2Bhjj!R)DfjV8v#APN{#>VTSGb{w z4>6<5n1UF&n&*7RJz>$3lJfxo9-^*aQhnVJ05EE7zpnlhILH4D45G7Koo_fXHa>I4 zVMaA*65o0xymSvMsCi8AMrH7>JM3Q3^tzHY<5FKgqGDKE-j$bwXOVVe#YY=Z;PPgR zbYgW+ir_GUrZHa!{oc>l)lz)Tj;ubCso90sqO}I9)=QRh+gF)x`??0n!xUljOf$a0 z>4n&7CQud)Pjx?HOz`ZOK`Z>Zsy|kyYAwNd#h{leyRC?Kdr2g-*DpPTSWKfzyJeI* zs5z>uiVF2@b{p>W6?HBzXpG8ZgO<<-ReT@KZiQ7#OtUC2E|)TquJ7+fJx8pbPABl) zf~bM8^&9+WvAo}n?io*=(0%aeZh5~O-ed6au6sA}qsw6a&e}xeGB=EOt4Ni88Xvat zf}P}voH{01p5qoivQv)bIgKs&i$;>_@z+O%NyfO$^}ZPH{B+BUM2d#woQ0w|fkHJUYl{%syzv7>s zN8X|bQrKH6tkO9p@zm(<;J0UGuw(;K;V;e^-i5~zT{f(oGrX&Qb=9wK?xKfxf^&@M z9;~I!i*{AEgt6TRy%_JdtmfVB?j*Kj(T2+nFok1I(S$P5Or)EDMkH58r-j3OA#uK6 zFEmR%IwW1?H@%U4lhU$ptNnIcJAK|BUiJfzTXSea6`8Mn`F+0Jz0U~_qUezl*DL5z zPSH$N`{nD;2-`yvwmWW7)N%?N2-*mZj$0J9toZ{z9cj6pHTSFxIzq8yrSZ%q6hk^( zLZRS-qNrj46*~fz1tU$xvx|AI>hRodOqE>t;SZ?oqvJc#k+O=U9Ut zs}`liC5YH8?VcKc7>*?Ib0Y_adMCS>vm0W0h6m-o|Pb#GXUKc=w4J%{|)p_Zu@69m4C z+#dKTV!>jY3%G!viL6EY|ItrVX+s}y^?6_tEvROCX-;Yy3d4G>t5VTKwXTYp_G_=b zECD^KswqCz?n&-XEHHm?!6KftUCh!%5n`G4cDFrit8p@J5z+F459_b|!+Evau?V!t z5FFo+bGKOa5$;iekQ~96jw;oO#RnfzwQ=el>VVZru^`W}X#abb(gS;YsS=pnMaBP!1 z)6AqaHGFuVZ+FjhyLJKT1#Ya`J)3qpoR52oqxa43C|Ifp?RdS0&u|o~+2-1P&74Cd zWfo|fq5b4YNcFp(=2N5QGeeu)r;pI0C5__RyKlk)iieeRA65F3V*kl^(x1HMmg??Su?1=&R=1J=H3I(FX})GR9}gkA-RYj_lNYnTR=B@@RfL}ytfHhY43)%%UGwy}*Q&pdW9rqU&v9j|wyD16TqXcOp8nqMd zPY22?c7|C#Hy5tt^Q==d|Bf@+|C8%NsYLK3oT#8{EX5PXpCmicXK@;TR=5&AF#V&s zLZ>oY#sm&ums?_XQT2hTsxyVVw;486q{Q&Cd!VWK!S4RwnvF*?BpG*d6~?(^Q5+2& zM7jt^REZ~XL%${>_MYDj%&~jH!UdY#-;U*HCwnah!Z;+jvoBzCD+xT;!|;>5VSw+y0AJf%(F7u~c4 zBFO69S`=gvz5M7Qzc_c|9lN8j|CrV$YjnB0&@bG1AJG~Tzt|NbakUD5fP*QN4d!9r zk&k0_v#8ecDF2y5J9xoe9S95L7H)Gl!M#}wqr?1ndP~6FVXQYDzQIwY>y!zuIj~kO z^XS%^CsDz{tDy5?FDLT!5rKA9G)17@<9c+%?ICY=E#11kutCD@;;+T!v1@X@LJ(w6 z{Qwrq_$NvmUc|74sP7r%F}|)plmDQT-R_Pq7P|65eE6@MQU!&vpm9&g^$dx`xjWK( z+#nTnk2EczkL;6^(_JAahgEOy5B{#*)7JbW<-vQgE8fyRK;G=#azRtg%mF#oJGu{% zw$Q}@V>CK^uj%idcjd=D*)h0}>O{}nYnww&?hM5k!9dP(gD=uxMW5BZOP0FPGw^YZ zwCe7V@A>^2Q}bZoZEg@cq?;?L?swC7FBzpkD zO9J7Zx$3aVZ9oqc0?u=Xwg+L92f->Iycq}wq(S&0VzM0;mbnR=gK)=hA}sV22>T0! zeM1l~OoQ-i_-+;!8qtBlf>pkcZrWqvZWJMpg>IXJ@B+M{!$cIML8$2t2nPv-I|6mc zys?x$76!Ekq0EC|m5Vk5p)d`?EU6ROw6M$_zc~m$#~Smr07>U8xEoq@1tAEl>mm?- zB^OJE5*JQ0ELi1V(oK6T+;+P@Q*7;L&|U`+R-CyR7IsgApsj`lx;4Z7{AzvK>h&f0@|;ih}&WLSy*@s zUIZ;zCm>~+r0SjZ(HuTXRh>r+!UZkA=ev5DQYt{4OT_^TwE3LteWm*5 zlofSiA1%%)?apyjp=ftju?hkeY*^g28ZX{_+hB;)c{d53qbg-oskyZ9u$;uD<=8~y z7#bFf`v|Ft8i5}wtRobB1$}|%d57^0^&&r$43~B$3l5mB?k_)vbPA#?N-MDC`6LdR zR|Zd;f#P<&);IUo1~o@U5&~QMyAl={;TTxoP1gAxR{EmL`L+l6I(uHyvXH<3lUBoj z+x{;G{xdNke-5TB`E7I{q5xC20RG^vo&XCWfh2CsmjkYDTVD=C+spM&v-HIF+AeHz zC(qYPf(19U&XljP*p-|kR+y3Gqt9pUp6Uhn?6$|mc7o-3MIR!F$r=`lB`>YsipBzl5V(qW=!^Msnm1+x+nP`zvlt z%bSKaaJWak?6sKRm;#VhATpz&O;5W*|-Zw zCuTDYN%JT^?kDn3-UCwJaT8HJBYL!B46LineY{(F;=uOv#2;W1i9!w`70{tO*F%H( ze}d`5C_avpi{q}>DwtWO?fB(xozxH*LCv%wMDlqJ^!AB*_p<2g8@R<;uglzpr`WRI zmv7K|`p|})DB-~wT#)B!S?iiJR#{>Cb6w9##hDvYWc5dWTr5ynRVU zK%f%HoKz8fZ-88S#83Rq4KN-`k|YRSSe|m`nd$qz^hGTAle+`QL4?e_*>P&3n}PpV zuM_g}=E=?E^R-E5vz;1Ffnp=rel^FCDtLIw-HSO&wjMUD^P^WsLncgzbUjjy%%we2 zJJhufR-hxQ-U|2dx7796QuiJlKrikT<4&@t5{w<<*26YpZH?SHI|Q~nHC{7w2wo(4 zuuC^I=I71+Ilq`$Ks_`BRf{@3KA&IiX&eGN+{*T(fS%@e+0#&ehy~jL>Z>3DK`o+L zrLH!xR!k|7Pg!+91N*ZbfWQR~2hT9gqAJc|LP&Vw1yt%V&JCLc6Q*B!M z-oorz{u0FZzwk-t>-DiJ#xCyht}>$EVhfWsyOCMB$rR_Ahqk}};~cp^pEgffvzvg? z4X%%5?!omrd;qSI$Rn7lc)kS$G{*9oRVG@y_8nF%EA^eN9=YiwVSlzISxb`E^uuV^RZG4tn>uPvzyo&pTol9 zd=3j+oId`U4a_pv7l)`7wF79YF|_51Vf@Qjo9_;>Di5HEwU1Sa;ePr2SQYhTP54j| zLQ6mtscG|-qjhipn9kvv9V%i)Ul=N41JQgJwA)Y2^RTm@7=OEft3wvYleLAjm}W~Y z{tD^n+;6B-Ld*o`6aK+$*vW%WeiUx}L9F%K6pOZj$D>tp@<2o!A9`+S^*&ZAnYlNw zAf<(TnHqHiGIOmfqH@a~dLQUYE;HVDhR4ft?e1HsO6;gzI3hyuLhJo|V%t2=7;p9F zh!y+v#bqo8G{jOZlX$>BFbBoVkC9jVdp^<*o42UD0a z*x7bhojUD@2 z=-^U0ueyNyWsM+{4e&pGUvtY` zB~!YYd?{v}?$l8X8gmgg&E98=q9Zt0@p0>R?Ej22%>`d&TVmg`U}SgfJ&Uf2NLs4m zTsYJ02HUXC8@Ec_8cwsq^}37KtE<1lj18RYm$w3=QYW0{xqZw{LtB)*NguODQ4CL( zXJFozU*Y&N`N3vY*wB!hXotZw!7Hwgg(pMlLKG*-f`Me`v)I{C`YDx04XSEOwN{iQ zqKQc9u)bhR_QPiV=WN#hkg)&Rh?y<+{|_@Zzf}K`z8^USY?iCzbZAvdv`{GE&34m5#c z@q`FNuFhCp4gZ_>69U-dYB8Fp+z-(rz2Gdhi5FU{Bu*{3h}0$CG5Rz;W;sTEtjJOF zYQPWdWR@JG@`|?pyrWALiZm{~0m@ah-t|ierEi_PEo8LSbtC(3w~--k&AyupFYna8 z>z@=BynS~m%neMS3-RO#%^pR=CtP5Z0cIwhbx3H<0fF-71jVcU4k~z=^muL0=hWE zcQNQ1dw$7vr+w}t)|Wl>rCL`JUmoSZL|^9SPqf$vf2q0cpXks@k=wzy8K+`V@S=Oj z%&vHDkgpv718P1NNR~rd(Cy@*Ywc6>aTmRZEvmz!wk2-qY(QOiXQZjgp zStud@FJ^mi_n}g~a)3n2<;HoLHOTQD6g8U(H=>dTI7k%_j>F6#?oW9m;`x|KemeTN zHSD)6*hQW0uDT@6QJrux_jXs`;WeS7@-y^I1a&(D~?SB%>!1wNzo0qT7DldeS zcKrUatnyPj>Hnsz@-_r+$M0ukm7mi||EFe^{{TNj$M1(_mDi5gynK(W@&(`Ay!?~W z%=l051isZ-<*B)wfB#rk`CgrTe^XZZ)mLo({fw;g#W38C<2yC0d=u`xOnJz!BYh&| z41;`q4!)RChgV{iyAx?Ewd$H%Mfqerte>v+gbbGD4WCJ!ILnWAB(gSDRg5}u zx>6zBnhg1B#|uj|e7|26I*Hym+L|I+fqA!9xryfpHBGh)FF8B7{(B)Eo$KkS<#N%{ zLg;93H^ld24jRk|GabIQ2$ab+B$S-~6SZa(vU{11NPy+#uIC=24w1$&XWPCFIHJ0R zw5MC?Z1`XJE?h4e`yF;)bY5NAe!U+? zS5~Q+NxkYTTJJ62!lUqo6ZQoaLj2kODu;tDa=63c(yt5)aj8&YlEqX8Z@OP-)^+iy z;z>5*8ZfN5@(*(X|c8Dc+zPbhQM@kGofb{wMv19n3EG4s4s z4;v$Qg`M;~MnX4uQTNVVjkOe=;AH&!P%?Y<<=l5{|AeGS+Slh)!CcFk_(g z3-GzE#cBNe{VUIe{XO4i)800e!3}z2Ot6uomr9sjD9R>WByc##XW|BuB_V_@cY7Jr zrD&boAHGquv0L?lAh;snChTT+t)U5YHoIZtve3EFT};XBw#&!S24?O7w27H}f4%lS zg@YIU>NtLeFgJ(Q@tV7>Ho{(&us1>21CN)6Sp#&eb>bqAuUEDeBkk+A3uO-pv#u1# z+*LyiGg$e^Xq^{^kI1>B9jmsZv_Igqj`~&xV>s|08&DohqDHg34(BW$TLmEpFV}2r zt3Cv>sJ_Ir`7;=6s_Md2{17<(Ot%1C(X2*}NQLK_**+uc{TjX|&|CX(9~8Hf&s1hL8=aRt?xsORFr{e`n=Pp7}-G{Cv1!2t$4NbXc>m2oI{t`gdp zF;B&`m^b@;G?dt{{Ms|5Y`Du z1YAc2MG=h#6^LjCf_w*ph9W}6g^D7I3&ISbsGv!dbR27I?NfKFwbfd!-5}tWfEWI{)|Q-tQ!n5Zr2?=lT8qKVB~~Gj~1r+;h)4_uO;O4OE^1RGO84 z#f1nR8rle-D<73L83Rw!dufOojit_|4_ozyOO$KTq- ze+L2H44Zq6X7{L;YSqo5_o`cP?iZS`=ABaD7<3=X0|UCL8}` zM2C_;i#jgH>u+#59(^QuLvhHwbgfFQHUlpZj_MU4#@bF-VLLVZMl|Ku9-DUl3OZPq zCI0#AYV$d=RIK(Q$Cv7-TfX#i@wTPDdcWGd32@t&O1%$MzQ*iG>0fQ`XP4xtFZyG^ z+Y)i$ePO}FY$xz0n|?lccj7Dwcz08M(M*4)kD@3w=TkF2d;v4v#pL+KFR{fFS6Dci z#MP!J*uWz>}xIHOyz2GE5|3ydyv*9`*7q~o!^J!Li0xoCt9bXoUAbK zoK16%l2)6qP;H?vtR$8KnD+*;=qnZ99P9Xd5yUrC+B3ZjI|k(U*$9~o)i!sHeR;kf zfz|;H&7T!r|2lJe+N_M7;{v8lHuqd@2mF(v+H_d-E=4J5iryzt#jG;7()7Ee0ljVg z2AiRGBn>8V?E7N=g1T?7)PnlYp>xmpIjq3qXQbUiShe>Pv#~@2(rznIu>ukl3q2NF zoPIySZ)uW&Mepu4egB2JIBMSNukvd|U;Chusn~o~<8Zz=sKV1G$YozE>{gq;Qj#G- zE2);S2%-Loi71N--QbsOeOZQwIo;s6a6`KlP$6p%mLr|uQi`Dyyq3Q9&SM~M?M3r> zG3{GXeW zucc_ohoHUWct+C@IJ1rd!af^IP=e+Hd*Mf+>)!k7V>w%Y61r|xO)2-Uibo_n}-`)eFv7MR#mi= z?d4RchOMIwkE31mPOBtp!)WiCKX$plRsmws1JrRmbfVdU7Fb_Nf>loKPC!%~iN^A< z`{tV8MFpKzn9uV=c717~jEo){TV**WyR;SNU}%(T_{Oa;Z@|-C#0jsef1-~inG_X4 zItK#_qytZW)LcRLsr40;p6dx(HyXXnry@5AG5;TM?JXf8+J_U zLp}}k@$_ZtBSs(XO-I{@LSEQ2r_?^~-*_wFYYFjtW;*-Qiarb;-W%`u#iee>LRQwC z&yu(HrQ(@(o$Y?|BudTmFZpu6H$4*61g6(q;aX;6GBQ?g@8gDe?V3sj+CM_!s3o81 zvwtY|aVVC=RVG?&Iv)!>%xl0K&^^*lYiJpbB}Oiq$cOO#BR+xlRG^Iymw(58=I$8+ zvHrsx`9!!1Lo2q;>R~2J5nEi=4fIhUnsi8>y%`~Mps%*t;2if;096#&@UuI=!TtWF)@V=)YI8GKH z>@H=IR!OW1Vvwa&hCu?sDpSmNxkB7W>qRD#hbXgqqp;|A499PBGbtAL=r|3>EMDJ~jhQqiWYy5v z`{plpa~HUIEOi?FEAg!q7$rjl>N;~0yZ;jQpE5c7_lOm(VEzr3suT&{vwPEkBtvOyAog>l+&X(lx&I;(Rvb@!_{I z^Tgbyd64uW6QQ8Q@%$|MSO{V>%=0IpD73G0Avi&n?RqKd+W?1`K*i5zzmmqJk%%zuW$&Wk-;OF{6=}I0L{KSDGQ#10Zno{;ov`s6Evn zpyfEwM$Q*Eod+5R>9MEi82Dsq{3bg&+I{P}riIfqdY2YkV@^UoYts9RV@oCf;vzS5 zXEG2=W2u=t2`#$*Vg?*W&sGf%81_0708%|9w83%v zb)TKkm&^@p*nGqGudR-`CRD!hDS-{!@ zj-4*|0187b8&D3Vk4d-{gsgH~{~WZ`0BV&3^|K38OmB@Txk8OmzWy#tb*s%)R?1sU zLI`2JR#-*L%oMC#i9w|Ua6pe9?(ffp>wT_oz_mvaFD6_Q1)yj{bfac?wK=?@!J^I1 zyR@54aY169hUm?3tLpOV1Z(edj?Bye60D=~T|FPt9F-F>_J2Np-S-s3|G%xK#hsh- ze>eo<=(7>lKVf8S?MSSl8=vN^55}R*iS7{vndpp>vBhDD+1E^s<&4+D*&+26=3bby zGk37X{g&HXU;jDS_H1rHoKIv$o`-jRq@6RZNa<;=c)WbR_0QQ4<-_zuS++V}^Ru^> zCbd}M*T&@`HpaR>@!P#+Q84AVTR@Ii^~auNe9Gog^|zj$l44tB^pc2E{}FG z>tst~;oZUlfj1?N3T>;)jPx>{hPm`vq=UI8jCF^Z&(>FlfiGpfJOsX!%V31u!$EF* z>=d`74w+I!Sp8DcLe&`-th;*7)h8ahu+UXz6ud;iZLaN~cK%AO>>sM9W~!FEqji%ZLM8rc~k2EBaD$N(h!2S=bfFS#2H#nfR@VDcf1V zH}w;3m#=$P(?yiKZ#emDX}16UH0LkUCkP;T657{i-gf#d46k?nugX47Zd;rgIZo>+ zX!7k&ifiX2H=p=*<|#Bfe`6C=ZMHHk#&ArB+OE&$Mo@Pi6a?|+=LcHIID_MClW>Lh zU}&r9b)~vOj_Vv@GE)qh6uSF1n)Do8CMXh)om!=s>e%hn*U<)Nuc zA!f_8(znh0^$5EL4sK9deT{e!?WZ*2n`kmI6LIO0C<;GuG!PKqoq%){{5Xf@>P-?57lp@)pd3| zLMWGq@^yHNd_B3i^*Y<{SxfX{3}TISeE+Ys{GITf=J`cw`A4)+f8VtHg)P+IwXYkw z`v2gp-P>QEmVadn^`A(~UyI7t9KJi#@_*Vw`?J&Xf8Ij<@oD)x`=z(<5!d_HU`7M4 zU7V58*g4-E{`PhC7iJW+KHPkAB7;RB5O%O*{A|LVUv?M?@s6AH{XD*>#CVgyu70bq z)W`t;O{As!IIP7o?X}Ue?()lTm3%Q|l>`>jf1RU+w8CT!ryvB;!p+v*-m|1J*jiRB zV~HJ8y1p|e)!$CcEbqm=Ep*Y3F3cvWA@(`?Fzy{r`H=aeJswF@ zcrbf;1nX0OsQW9DYd}gqMS0+I1x>#ue0X6v64wr_dF#8mf?ABF{6TN;k%p_%SXpo+ z=XmWx@xk^2r$Vt^O-MXkOk@JVAsYVQI&*ez<`7)X$N_sTKSGvje?YVLdw;9;^D>9< zLe|%{ud7xK#KnkWnd!gM{dasO@_2WDpwsf~V@~*{uF~m56&vAo=KcLGA115$vEyl^ zy<{>WZa0&WQfq%$WuCUyR9s!-`4^t0i$f=iS3Pc3Hawo=`J-%Vu~P3K)fvD^A3(aO zuhJH!KS$Sa)^ENh;ZytWAEN&srRcw#KUB7dL>wiju<%8*Tx(6f*zx=%H@Jv8YmR2g z`$z#raArRK8G-rP?Y(5}z>;>!=w6;2 z?mvYPGYw7=#L^p#4Ql?<{y5|qW`=P>j>^AjI8*B-mRTBmksYU}9elfRQElX)(muRZkUMx_hg{qglQk8~ zqgz6;nncdNHRa1P!3{({JXd5>5GLNQmd{~cpS4_hFX4E8e&)dJ&QYzAikc{Q%4(Jj z-M1!0MSTqy4bP2c71rPax!iI?8^SYCvbaUqb{iZCzB~>Jr5yGZ<{e9E&=b$Mx&)=2TIQ|bt?Vi6rEx#uWy?Om7((-@IR;zjbovHjQb6J;* zIj4%@_O=Yl=v{xU1O#7NCc$E#cm23Y3!elk7igt(n9Q2K2-RVwRiI2?fRF7c|2T8j zIil2pTeMkTX_lfOhN^W>8Rl@%>0%D+bYI3?WDUPoxoAgns9KMrn9-z$suj?c;#)^M zUUCwNG<@ZwzV5Qpl#ds|ccRQH$`CeRb-UTR3tip$w(cs^%620?%W@$W#P>bcOkaOP z18&x0(uZ;6-vK0_jzMYtr4(h$w7RTq8)KOPyxBT7@pd1d!s5c7^&%?zeK= zZkS*giDM}7oV7OuVd;LLhN?`Y@LN9ubycBU%W7Jl-?aLhcB_A{(D(KAQ}T2`Cm$D9 zp7t`CtnyIx&2AdrvNO&N`azAGn{OFz$MK)_9bM}TwhcHFwVHd+ZftB1#0!>ud2IEe z0@24Uep3W`(z7hO4}TWmNjdIZplQ=tMs&2NR9AO(6Q14L4Kh$aTj7^=_OHCcEqo$W8k`Ia|cXUI`{j;=|gQzm3II z^bndxsCtzK9?xGby2OsVWv>i#)`_l_Vl_2cP1zU(0^42?qTTx_?#?wi6jx*8X-tNu zPY<=bnRe>*Whx|A+TA5t+RHp~t}H&*x8qP+In#%3y`U@OK~A76zR>JVgC((T^=)WV zks`+}%3wwrXg_n3EM)Q?S;D5F;e3bz6Rk>G;zXQdUhuN?>e#E#waGB=XJO=Wjd_O|S@+(6~ub5I#SA0MbZUsIcW&Yy1{S^|t7ilaF!H?W|qw{3A=q}{f~ zek&VGV{gh#+z{_*WbCC-wc@4w^?8t~6%CBgQ+?aA2L~g4Ng14Z;+z?sxT2L@?3HiH zEX`Vzcoi52^Sjn$as4HgT1!>*^3!rBl~iVjA~_UDJUTM=Jjp!ea~jB7qrr``gUhpn zYe)N`%y6)~D31|9EA1GuceZB5Zb1bqZ?JjRZ*epVPb&FxlC>I71&N{R3!&cBB3^&0 zUBu>h7{!U>2^O}gWM}pqawrnpLDGbaXCj4}U(GzzH{CHVA0`t2i{t;rR z#iTXj$j@1%Cic+`Iou0dUL+8hKQ@!%i922D+|LI_FX%ruGdiJU-qBucvsYe+ab$a7 zeqip-IWtdnGc-IHInoD!32Fo&u}%}zyz|6jRozQHyFPQ(9~w#mKNf#KkhN#};j&$* znsuuszJ8>Z_^M?7{eL=GVP`5|6dlG-$@PlXMcd9T8WgCUArdVbWS^>x9_l5RSp0o` z`zRc2NdSSDpezMi!mUkw;IWj8R!qxxxt*X*#YwV>(-S50F3J>XOl9tQ7tD*jY^KAP z#0y`CJBkvfdT|#eHZT^VSrO>$9;MT#Zcpg*AwHA&&p)E^TzPylf6X5c&RC=?(V`GN z=~EJeuYU+{e!3Ke=q7YW__mD_VtS#46WI5Xz=DdN(jpdSY=NB~QoAstn9rixXtB=i zC-Cw>#BcCX8g%}0yApr&*(pwT?F6p)rD%JH7Z{qb>@(2~oEKfumCO~UyR0lar&PJ3 z4Uzm%^;C=f{9XX261CPYCQ;52&@u9V-`mWWCc#RD0?J$xh^>q>2WUOW?12H4twLd}>MJO}e+NN-HEVe=&=sI5*lhFn<)ZU7L8v zpU3?h_?0F*pi+(V`GMw>@s1tA$wzna6{`Lju$T`~VBIyJK!qNB2vy(ehJ6$TC19Rm z*x|aNOg)SvK9tx{L)q^#uB9N`5r(+K*iMc%o~D=`sux>|wo}??DdWo<9GKrBqtDuC z8{`fO+(+z}(TZPI#n;<{LL^<#|DB8Cq~Cd>ko$q9e!(uepz=5&{%4jGRUP9nTL1)Z z!mRovq2eqIi17H0lHmv#Gh3S*0In<{uyezO<9`AtROby(=@mDdz-c;x{K#GKks4s0 zm$}Nicg6D$pd|YX;cUUNO16H0tIbLHbYLkySf-KKk-B#C0(!qWVWi5ia{g)dvnA#* zi>u8`r@9u)n2Hy|YH_Jryg)5FHK3gr*X88*tqBty3(zB3B~=CZke0@Ce!FR}j71%V zW8X>2j6ts}jXO^+d!$9n_t3I=ud{%`raR!Ko^z=Y>1Z}^78I@<=H?RTs}O%lFlGMyf2Q(sc*Qc^?J|KKa>T}hV{(c>h-A31zpCV&cGFcG`yxvOVy6};}* zH6*9|w^-fEMA6t%NL}s;1%FZ(=h2$z?av_2ZdMWxHcVCt1(>WmDeaWNggK95^`mg^ z5t&>?eoDy9XehMI3{s&Z{X%mnlz2_W<*w{Z)b&5v>002d4zIAbAFA7>)49ta@e_huD z?$bbm+lQ=4ysS;gZn#T4ZEIr(wbZv?G2!u;qKB}xHj;Kr-M^q6wl;|SvlCbCQvwS* z6o?HzI`hde?=A=1$i%kX3c}2`&ip554_k~UBo=CuOzK(T!D%s zAaSp536ujtEtz}bftUomc)udAd{@qle4Y#51ro=GI8n+!?g1(B1bZvrl^wXj8FEkk zg6v|Oy|>K{RNg_iUY)fyr0gZKHT1R(Pj3~fUL(CMYYP=u6gw63L8*YwR(j1`LIej1 z?%>HUd6}uokb3$Yh2OS?SD34@$k=@AKY5w#GrY-ofz#rD#PMOMI-wro`IopF4Atad ze3t8A51JJUN>S8&6jXi*X(wPBb%|pZO#ygm2rtqC3da$&5Fh>ku6nPSPtf92^;FI= z*tXZPkER#xhoyqD0r(HxRBe%5c1zryzuJwcOyL=U+iG^BKF7~vI~+fk{l5!F*~Vsz zN1rjadMcI8g?^b>&V9E8oy`zOSG(K$T-&PxE<6T0%iI%tO`pa3QdhR(bIKwoe;ah)`{NVp^F=;0iw2CEka-&@(72YoC z|0DKZgEOO?;jc-&q_3p25p9t*(AGYsv9(Q`)YHta$v#5|u816JJ9;C`DI}@kU}SBh zlz0x_l^cPTEM7uUb+)IT+z=f-%-+^W4}Fp9jl=ile_H-C=mO32i_-FsIAQnt`=;ej zJaG5?U7t1fUjnahY~R1Cb-IEAmGT}VFOy=~cJDDRb+zzdWZ8=2u_Qmos?R>oJS>A1 z5~06uOYOjM{HaqJ%Z`Vk_4EccQQC!J0*88VxqX#v_{hzIq@^da#UdcXozHq zlmG&spW>SxE7aJ)HIX?=$MNY@(h=QV(n@0k9hDnBCyZq-HF1@=Q^TtN6X~{zxjQ4VwV^=C+Ek6($gwb5LF-WL^q~vro5Y@h%3*v9 z%pbyP8<9yAlM`o0+k{|L*CcWaUp%olt-VzFVre|Yf&c2#KuIkwF_OM*kiK1F%PbB{ zP#h(?>k{wJJ$YcXXzrZMfl(fpdLQ$?%!Q(}fnZ~#!UNRF@Vm$Qfv1lyjU}mvxubp2 z2Tq}+<*-g(SDE8miTQ0A$>q&la8|%X^bBDVQYew*G^KTmC6_rrSUmT{y^)^^RNvq0 z^Ol$OQaGz?PwzU81~M}OH@*irkgLgNSy>{La1PAxRIxmAAof9vO)owp6GV>G$Gp>fIB@@M_WRz57unA^IO`EzGW>DGVtqvKH|j{1UJH_zr^zFQ(=B3n8Y zw)*ne>SE^GRJvBV(Q?2|LFo5&IZR@G>|pMfnW`$Mjgqm*1(Ri{_7Io-Vcn%TE=`u9 z`pApTIw(GJ%`OXQwabITo%{@`$NhRN5aJxSe-b}$ihRzdei!C?E&yT zBy-+xaTng~Bz7$4?Vk#F9QzA#7dco~DQ$Pe$s;6L78Jtvq6UrH){Z z-iuC#iPwyX&{ZpaL&RxO|{b!%ax zm-DY1nJGJU*XUrqD(7t__)}-+O?yo(=1j&YiG-lW9pVz_4l%_%c>HdQ`BhurwAY$y zT;$(s+!kK{5{YFpkAGl+#-GJ0!*cLB$<*y6Rp%go02pAq02waWIzhDYvP+#a#Kop< z8f=Kh$qn4*OZf)bQQs(!m8zT%mC!)2Sk$azr$3M%yWTjXi+9|G^i@xt(|fwa+I22e8KE;$fpCA~SBm#Nwzc+sJ4@rojpLiWNwM6T^p)8+3Ckf?s0a}Hv_S`s2*6@D5~p^)|e9Cfgd!d z$L7C%`u}GG{p;3g-LVd%pILSwZ?R)U{!?u4AQS68x3>;!csN-SmTI?94ZSNFAAY|% zIjt-e>i-1oH}AWp-@Eaz2@W)Sf5vK^S8oMYFnKXO9zc&ye4>X&4*}4NwR|L1%~MCU z#Job)m-x$D0@3`MLbS8>n0&+_rh8}ZPVm!-!2{@QcMjMR;Co1O_`UP(CiuOO_66sQ z7QX{h_-*eXZpvP~Jv8hmyY`Ekw%^8YKVjQHKGpssoIUKuzIuOs`@7A@noa(yZ(w5B zq0Jq64SYaviSF%u#z6?G_pq7iwXB-zK zI>XBv4jzz}j-4GLv!)vQ{yfd6|Be2jYNf8_n1i{4!3Hr|CT|-XQ}J&{yAdt2Bf8v; zC}hR~oR89$@tE?@zCG0gjK6I%|Lz+OhJ}sDP3GTfzpVfj!SP>FQ%7>30+clanRXn6e(B>i6M7DBidA%?IhrXsmzz^E4(j6^kPk zm`|m@I{PxMbtD{^-BB*Px$UL|D<8HEzspeuiyfF&&%u!?NR5r@$#i=YKCb?)|f zF4K^F5oVY4f=utVeMA-`aI3vT(&~x!s${R$o=;Aw`c9=jNNTA1E=NeEw#Eu`i!Iu5 z!z}vhZo!#TA$kY`z%nI1C-=I#oNB)7pU5~J&uLTkwO{RemeS_pzx$f{BkL_b?4uEi zJrk&is}FcgJ`;f5En_$vd-ym$Jv$WD2b?9hM`hyq{;bO|NSzfJIZUs zE{;--i8~tE#l_-8Hg0A#$BQKrQ%xmJI41G13deJPVS7n2iIt@MBS?m25@V#C;mbH6 zkrj@8Xm4@aBmT|^dJsPe#OFo2nXUsqPTKoBY{@N>dI_y zsVgT`@mY$v9-|(_^+Nsrs<^Jc2Or-=G5@{!j$gH32adS83U4Zq4Wd5}GaM#=gILE0 zA~1*d(0>T0mB^em+p5J)_}6um;Cjy$pQ!wfau~=Qo;}BPB%57Sh$beu0u!aEb10RN z@I`xo{vJD2Tx+hl*2hTEQ1x|=YyFCJNw3#Qq}MBNm*f$v$`>@_tTtxjvI8$u+l`!E z)5*y^#4@o2-}UeNGO@HNuWm%7( z*-0*F(8B@Tu}J1`y4JSZIWYe;{Eb#~AHXI=Kkl;&sS_WYnaD1Dv2gjw*mD@C;j4RT zSKQW%pOaayb&$Sm#ob0jn9yvLX?XmhzB+mx|FWG0ORwfy+z!l@@;!)k{Ok&-pg+be zN3EAyYPILW{`)PISxXt{wboj9J1()mAY8LV$3f8N2q_1SK0BfQ`1E;Nb{c(dJH*lF zKoUit52xres{X635vP$fCn#}J(2`~u-~S!bY!t0_XermS;s0<5DIc_TDjm3Yf_R{b zzy{HLbC=YSs+@IXS+-US1flB9{1pa^S%|$D(82-|%!6X#PGMBE^bTZb=k_sq@v^H@ z`<$s5GBG^N2vvVdMrjp?BKeyRb{u;jkV2G(T(4@n>~7t~e9>5TP%v>c_#Y)On1BRK zhb)rpedGJ79;*IQF#MCl_)zs%e5Ki++GdF_OCnuj!t(Xc{}xX#A*hKev++fX>3A8& zp`GThd%5+;s>|-PJ<%n7&Dk4$TNvBLR&eT>IjtOVkk7H_10g)uo%`tPyvs3Q{VeeOHKB; zDSix&95*yV5LtVq(?E05)X$^@eWUt$VkQ&q)X#Ux@zu{mNo`O+SK1mYOlK9Zk3NDSjb1FSZm6zlR(9TP->|9Xvr=@D8=(%Jx~W0 zFPJ=w3LDy1>mi>1w9Qy;woAuQAd{*oK^{rZjm#3?o}P-ngxd~5K?uMU+hQ+R!hDBv z)D^sxg@YPW`DZPXI?3#+oc5{2yGYbZRhZgE)A_;bJ(d3A!|%ihx5_+aFR={Ma*VV^ z2%z85gMx=3qb+KKlnzyoqrUk`(jq($nA_RZA1iePsiA6x_9cDm0V0MK=6Dj_oAwZ6 znaGk2jFkmVpHI>;J<924a4J@PM}g|mQhgb+BsnYyn!pfrwPxP{xySRLoNgOXfxg4Flemt4}76fd^=?yKx2mtwf{d1y|2>Sc)# z=-SIiS5Fq1e+!ztsW`jF^V|4&xi)VZ64!H)fIEF|eJG=0A^NYV9*d&>EN^rZeChs} zSYyw{hu>~CpldSaFOg!YTD%0mTYfsz{;Cao zoCyGF{6=pKfBa*o>dP8WlecRFsK=+4oWqp4yh$@YJOQ3B`484Gl8g zXYHpY%;x0cNSfJx)%q_RiMiG#n(i=o?@4`aUyfU&^4iAP z%&CbZ$?WE5b|+JNE6ul!%W(j=;#}!K|O^=4$*(S8lj35i`nDaTMIKK$1(hh64AwPKHai&PU0Hp3iCO@CoKJnN!Z znVfceuwjGIro~Ghzr->s#`g zUQ#1D@1zoSHqo3-9!7^LHu)=i5_*bdlkErq-U6T8(W8M+4v=| zK2N%qZzmF;60ftfae2dRh?z4R4^Yg_#&**M7gzSgeXRu#>{}HA2+%n?L{0+3}YTs-76+vTj2lZ$ch7m`JRURhLAh z$da;~kJ<*~`2b z+c+H8J+7K#i!RP>jyNw1>vZ;7!dc>wxi&XkmAXinY7czT#MNw~eE*E)5iWJ@e+ivP zZ;Iug$+wYcq5bWCC>(2LZ>rZc+@EjhzIqShX@tuccOOZ_gq4Lg(r18b zap0k(7RR}#M1TIDO{0G-^Npol{`$21D>=()%umJVTIiRE9e34FK&RZubwfd$!2U#x z8PInM$$=Y|Xx1G`T@6=9i}dURpdF5fgBN#|oH>RfX6?UF-jd+~S0A4@V^rb#M*ACg z2aeayqN^=isODlFdYIo(K9#j|FE!K8W|j8HHI?My`0mBW=Y@-CaM}~8lB;dW(4S7ZEZh?qr@xwy=f`P5?(_%Q>WW5ImlLIy z{_%BM>ML8p?;G)}5!Wq!Yw3MeYf9ajfd5p106tY5YV&9ok2CR>O|mh&c_( zGjG|WL9|a}THDbEZtg`@e>1qGv#4gGfDUhkn5x=Hr>Z!X$(L^S53DiXL<2~7P>@z# zbQ!?RHs>+oaMdsunIe-4h3msrm!q@s&dbkeun-%%+Bg|_M#g65+AV<8UcKCPVJp-b zM#ZgG%jY){L~LL_FmD*Ggo_P0r==7p*?HRfLBl%IG~M!2fvq})J7 zg;XAaJzHOrOSm(VM?jIl^|OIW*DZdnmYE!3Dx7@QE3fTdTGVUx*b678PRuB`f8{xr}9L~&i7_GWdWi;(qPM3dzn#fH5y zO1X0k@PFg0RnjG`f@U#FS^bO5y0xssko=X=EqQ2 z+j89|s%LtKY(-b_0wr4#Jtmb8s-S~`QEo+cd_)brw^I#l2`tFDgp5g$e~;9C-T0hV zlgf7tjC2kxXhTMHvscx34s{Y`fdvN&jBuc2GkoG`^P6@8ZJAeFAGF|g*}i7`+Jka_ zMB#%vmZ{4ARXHVmR&^Y#U+TRtU(96JyLdWg7zs@;u*e|wg-5Y>uXb~=>bM-rT3cgP z&bBJPwmd=qVe<6n|0zpPr7;2_cf4IZQ4v2EDwa_)KYaed84I)Q*S-1L6rkcU)x~6) z9`Z=v^TP|5C-bMBxEOfrAv*#~Eo@3<;Zc`H9-Lo)^`kWS#nN@dpYeiS~3UU^NclB%IFNH5?O zEt}cSTe!t`nGAU4n_#N7=Ex_7u1&VT*fJX-k^a2+)fzjjhux$bAB5L8HU?ug7wluJ z%isR0YD|W=_Jc`P`;BGP)i5;k(idHXlfZ3Dh(Vm=+XqJGdW9=ZD;+|_z-0_v#xKY_ zyM^`JbTv84s<(bL+ z*Up3f)U23Ku(GB!KGIeScyNRjppNk5v6^Il5Bjh#qLs!f)o>W==mzMvB<^L7h-bGA zVf)_moQ_*$=akn$n8q^Qap(YxI}UzYKM}U3@PEB^d}p^Q$^2)>JFHw z;M#1g#NlGTl;-753QVZs|ME$JD>ml-D=;T?AL%7|dHmj_-{Hq?IoyL62b+{l6$sU+ z)S7V7nrXlFie8$|(XK^K;OP#nCRKG9tI!WcFHNhL&5TXM?9igoz>Zw~*F&3=L*r)# zhsLLE85+MT&*z_$2A7{WtXFh|7a!Ydc)TmufLoQXOLgFEXCL$0oA*JCN+sq9xNF^x}70+Nh9lNBBVV zV+hBx+D1Zeq00no#jLp!M$wY zH8>H(GcJL^#6|U5tYc)Dj6c|$pHfA+e}DE8{K-xq+d1QM{!irpMf^XT|I_)Ok(0xJ+VubB zr2b{5zWAT5n*Gjd_B;FEU-SPbwSZ;rpz^eMIo~-Ry4yde&a3?MiShF-PqS|Y?eL$E z|5EqtM25Of&FYYmQd)ZpCSO8RhHrQLZLavwwPU0K7cNH!_5#B= za%HE~@?mXYL8jEx{Q^(F==@U_)D$g_|zrHux;Z*);LrYd~pQW-8H32pW2L!>Pq>)TG)-s>O#t$r;iPb5@g@th8~eK3O;|L*bDs zA|EL0#9YOM<1auX$iQ40ktD+hr(Q1TR2V0P=14mDu(k6)xm%Eqoe@9nSYlXTX108x za_Fz9&pxPPGONwRm&vGVEvUzO5cw4Djank6Q}B zdmu2s-oC=P)x7X2$j04%hpM5A%bNqpgVJYm+`!!xyg6}?f%9n7_FcHZ+851Nn_k#i zD18Q{m-?lp48_a*($mdyN{6biCJ{9MhBBbpST}o6^D|tgKp)tiAW~MLwp`9I5c7@3X<*FB7f7xDRv!I_R@SDQFT zD^#jjDC<$Iu6_-lKLCyVJ56XbcKgvi<@$BnW0tP$9sHf?;lp~!=Z|Ypdo#&Ztu!s3 zmP{E_ToBSb^wtZp*sC?IppNn^+538en0R(Es*H)toztt4m7c<8amSVq=y+HyhEvgV#OPb@qnDA1#g- zW|Xx#*3`;5gmu>)@p)-0w!|k1Q}K=mK~3gZzNeT=OZF=r7!CCOt!{Iz%GoNOzf49j zT%GRcGgLj@A#`(FN1!jRC$qdI-YsZ6Oipd!LU))YtYy zgqE5{=U@uO4v29g-vI!`NxM{SXz-jU~NW93zKt`-gYZ?d)i_zA~#5l-UyFQK@2T*lnU<>{BMQcdn;A`6my~`l$m(5}n zQqbAa8!$U>W}9bVco~U<1lBHPeyWc4|7klr}YkDIxKCC<0Hj!sPrnObz;_gs2H){$K_`|54z6 zzC^RP&a7J?NY@D!y}|swzLxM4YAh<}Pl}7{xDdLBe#S2`msz~)fwJhnv^PbnSv-Ft zbJt zrHh!!^BeFj*PNrt6Qyqzs>`A&Y!`B#1{NKKG+cWPRd1shE$*~ZbhUX=qpY&?Aa?RL z$!csz)5hN8$SZMiAp*#%>Z>FH%FN6c?E+D~Klt@VsovOY93Q;GJf?c6$hdT2^2=3l z_6=-3ENgO(Uh(|Psft4=6-^mh7!QF&@I!46jALw$ovP!le#TS{LW^pcs(uvEYUobx z?qkI@ymzA?cLNG`o4p@C!SXL(%H%(ono4wVi#|AanJKbr^&H{uGQ_)ZZgDsI8txxo z5g&1^nYIPo|1OMq7>@-QPW3VJ`7x1kQl;u=Flzk+ws4(kf)-H)FYJE zXA0rC*seBz)#;ei+~mUlFgY5;HI{H@Ix4)}Jj!(k{ON~L_ttwAnbX#tsk*FuRh;Tq zw49>MuQ=62T*Xe-ZE=mqL2el{{{t~Rr*F-Ez>W{@vp>XUG8me?R#rgO%}Anw|25PQ zdCsQ>vd65G*5LS`-gm#3WMRUp1iH-N_EZnpn;4vwXK?_km2 z=498#sT(~L+JgiyH(OER5@DKn{ccSh+R94vG&MDGs1BHNXMj=gqI{Mo8 zH+JqUQO!YjX)NRNciq>R{{dXFdH(ve{7+ah&GVl~%g;t&G|#^?Eq?%NYh%8@-mPgh z2*S)%zi5md-0R_qXy@!~bwMALdK8fRw>=urqn&%%C5IX0G=TG^vD-88E6agG|7PAGjB)P}9bt&+g z^UuaeGTj_Rg;4s|k{JEGW^%v;#H-!I7hkxQw+cYxW2ZQ&d9j&=r%?S&fEZ8|$_2z*WY^Tu!lf*4JR=v8L(n_V(Wvw&QtAZ#5B`1I;28m8B; z{w+R3)s~6H^LOlW>|l(vd%3Caz*${v%*LbzNv~2sD_dMGUN$AgPe<3oXT}UDigdIu zPQ|@J^*0I+u_@RdmS%&b$mnqFDV;m#vLWaVA1S;+j65uzQ>7VkQ4b>lz`C6fU zLE5IBZq|oG$?-ET!G1gxm-LIwS?_O7#!r!AF6Xwh&c(zuaT(L`XUd1FM^f6fm&R{B z$)ZQm(tr6aovN0~E=kePUNn@F3aO?-Pf~`7pV~?*dID1~F*=p!>~tPl5|6erA%qzq z-~3w&Hk=RGca1P6M~>s|F6x%_oNVgY@rn6N)-Hd;opxk_3Xy(n*}PLSYj@_(V{J!z zPEPbUcd9H@57T)cRaP=w@~pflL+gJC>%WHeKg6#8A$g!EQ1L6}*R@5E)LS)YhX ze~101$OLY>4EtpGI;@Bp88fE|DnhJu3&&6W3a6didF?`cn>RdjC>PZo}m z;67248!ZG^1(*4|;N&;~+hxsXGnyu4=I#fD1Vm z1mk4hZl$33&jIhG@txo@N+nJwhgylQkB6Il!406At|r?t3K1MRemBPt}mom zXyIhOqOv~l8HgbuxL3Zp4<1j|X0g0-tL(kRK*d26_3DNNgA_&%9OTt*>`x|AZN$O& zmKJ#Jmw8pENyr^SR&TF;t)JVI++bsFFLJv#bnt9?7qYrn>;8mp!bqj0X*o+nCd zQ;p3`k=Q(fqrpC2?YopPUeRZ6Ak#FEi#0Z`PWB2doZ&|E@~4_+Y*H)C=g3lkDG=MN z&@~`0YlByHIWfXN(_;yJ8{)VfXsdR-gR1f2i&?PS%|UN(wr^+6RWI2NgV{6tO12(B zlC27@T-Z=$m)VS3s(f2T=1HOkl*XrL&Kp*Y5TFKboe@X$g@dZziwe+e<{OjejpwH7flu|`U~s+k-+cPI>3 zjZ{dJNXKxjLr;?pe+*ZhNZ_uzL?6LgN-LpiM=~9!(iXP2*74!bn(Z4!ei%nk)tp^n zf_NmX+#Oz7LF~eS{6H(_f3_LxteOfwasDqEJl9g=#a|I7hP(aVpfByp{23%u8f&M; zUCi8uG{HT*+J8dA>%wu4=COcLiKi1)vQ>1r1UmfO-2RrZOC#>0 z=s4sJ2<4mzo08RS>!|C+1|Yfu6;IgjtIfe~=P8%fVltPRY!X&` z?k)J6wF+GSd#Z+!L*)rLY$%h6<(c8yjk%@mYp~a~!q;3H>ukKNX3hx5xKSJKv(6lD zXWnh2=h?2;h!7rxWm&@Fr0agEmTkl3CuKyl!c`|hO(F}QL2FnNqNzcd8<6}yC#yVD za?c)9U5WYD(clr_Cy^^m9m2Ozwc>z+ueZ0PsBww82*Zc^Y;F6@6+GI~Vph4K0nND% z&5uwmh2~?aWQWPBsG>|1~8yA>A9fy=9+19KwGIl~~pMQC^ z@8y6tG#-l!zOh6@vGWNs{zEhB>=WZ}u~S87z3ZQ00W@~z@{7{)kHDDIJb&M`{E3{-G|%7l zv&QyIZreS7eOmsN><%02%f5f2Z{PpBU&_UB=r3-d1FfU^5~@BHtfPlM`H|$r3bW;D za?4vf;cRSM-&(NOH@TBWe6}VxzWCiFAY95`*u%jFCF4Awe>_kSJkdOKk6>&#FFBB8 zt^b37by1}V(6<;~;iM09J${LN!w=|>n^w+|taR_98k5CG)sXJr>wv`SXMWVQ=*?~x z*p}%ngy+reci3gY0h??)U`wp|Kxd0^1BKC z9ev&zcO!#-iE+8{_(m`N;?aKifa+Vox0&V_jO9GiE0_u%FrhT|+nyWA<{9$Rs`F(I zdtHv-u=n~Bc6bHmc$O;n==k1GI?DcbM%?usuj+3-=TbL56W&0u{F3;byin{F-ADQp zmOAd{#db(B*^9VdL9YKR5}$d}N;Kj<(KxK4$7Q;5onM`BwEKG$98$ALl`$@!U*~7s zOa{6i^c|5s{q0Nl;?}<6sy|HuGgZ}yGZY(^S09w#i``o3ys=ueI zHm^a~!99KleO=F07meiB}6vp59Ptu3zb`8Ub`+ zZ?kBbmVvRF>@(oXtKN6o>Q7(&&13PAv1h~EdG+Ci(mspBYfWj^;&83mCwx&&##x8v zNC~W-`SiW}9KE4uYj67|ug~+|TFxdqv?JPDZGBsfr>oX^W1-ke+uXBWpT*u<<7F+z z8>OvVLM44Rn)}#2VRI^Bl7lFf&(wF#SkzSjSzG7(Qis^bBj8t>CCF{`0M>@n#?h#i z-17-L*b6U7Vd#+$+@x*AY)iZqnZXz*n|b`u9@;CzyiR&zZ&1di#yq+LaTaSg&>&bl zprN6w{DvO34Xrl!arQ?;`=ZR8rhp%<0G97k$5)sNwaTmY=BYnuL^b69^g*VStc%E^ z;iXej5DxGgE>lMAG=MC#&*V6G1dN+Z^RG>ETUu#6Tt<@1N{Y5z)3p=|EvE6le&Zcz zBb0ouq$tv}U*M*$Tq(0JL^QrMR3;pF?l%5~3b?eS2=*;sMDF=9_M2J?UT z&*ITzba})*x%cTjupzgGoW2J&a35XJCH9+T$vgG#C7dD@^kSpB%Ru-Gj6@vZFrlAb zqzP3FmRsI;BsT}aN5* zy~)(BBvWi`oYlgmiXJ8#Z_y&#(-rE;at-wbp~v&jS8LmzwAnvu0?2vFd4nAIhP}uD z({N6wF~>J5-mMH@Po+3TOMD~@ z;&x{s8rn;!E9CO^YdOaxj!n`yN9DU|oTI=zD*Xq}VGZI{|4>oD6Z^0`-WBGFH`U83 z^Dc{;+2}nveaa@k$C&>DWAXWiR_Ejt6It>AOyo8)9TNeQjqBEgXqM()yD+`EW7OP4 z+Z+~WPAs)VdGn!>l`MECjg<^g+hQft5Lb?soctTxo;iRln!l<^^B*vDldT+h3B(0E zX@tlz%Rg+;Sad!F3pnu}e()lr?u4BEf8FYDqW@GfQY~*i9AP#-Zu$2i@az%d--G{Y zkw0m%b zv|q<=y1w`(Vt8jgpXB~t&dRr8C1_1}=jNG}3Ny$n`iZuHB>iXo&w3~L%Wf&UH#1xI1D}Gs z`RQ{#jYH|&*2khO0;(VQoAhaDm@s>va?BYvgqQCov-vt(xp14c3DlOvCuM4v7cgrU zZzi${l8}o%iL8J1Y=XN(wVOx}T9wQ6U&^u|;?y~|FCy-6F*k`c7 zU_X@=k3X{_o$87w{*#3z!tM0#xzm)HyaxK5n(?lu-@~b{??=;dxHDz!pig8bHB@M zek?SuiRlMxS~NKK%Hr%OCa!R(ygoD1o+*xYsNRQ7>5}TZQ0A6!VQNnZjD^l>l1G0{ z+{$C22~F~wh0lK>mdTl9WDwk^9md81p>S1`VF_e()%l*hFNp99lEoc+N+qaMUM}c z?+8X@DX64N4cpzzIWF$WcG}Mz!v@=(UKBeEH7iunTP^jEqE4uKtQvn^e(+V(yZa^{ z*|Mu<2Vr?+W@rS(THD{{ep)*GK^if64*mvwfu}X=wN%1hsQM9=7-NArmtD5QSlM^M zSbBdJU-!+n_-c5+2Yg)Q&(ApeHSe=Q1~pYfn4BT~tA>rp^q=u8OjN|q4*8%oB@cxlGD_|-huBEqX?GyPyO4Zq(JpD8*_eeO2i$FKT2 z`nceA2kuWSxI^(}vxc-iz6s%~4l2UG=rU{qO@?S`+pS2m>&=&=|;9X9NER9E92BZP37C0$E_c^PtuX&)c$w_sg;_NI7h!33Q#5Or| zx8xMjf6XTfP}QijN~%H=BxBm?Pk`}8vq^FTUQ!ntCk@WF-b9wES-r2~Lt^vX_{Pt) z_~ZQ$x%CDamaH7{GR6PVu&ipzYzj*NkV*Hpd7JPx(7y13&~l9mC)h@N(y4j!a`McH%#bt4MsYhQ#n*Zn zkEx(fPg_3SVu2)E0l1YTOTbm&7(wY~ELJ zu|*5$BIM4b$sI>~u^sf%L%k?Zbq3pBEJIR1>S8f<+19ls;BcVo@BAp|nsT7zEBeD3 z%~jhartY80{DL%Ht6gRuvdCLz&Ujj`2)JdmC2P@{U>L_koH`yfFTLOcv5$c8bIenu zrotv)$>#lEHish;`WD?{}VW@eceAKl$@o%&BGw;MQ)zfMWjUR)Xv1-dCac3(w>t`F@=ru zF#cOhomd@Q+5Cw$0#=UH!?#7RMfM9-zu~%gbtN0KQ`Jz_0pYsV>Wmop_Nrj0`W;v1 zuauEd^Dq@-9RNZ8y`+Vz-=%=bv&lHf$R~@l7BET>0(`{xgsAVCUaYupR`Q*2DS(LL zwmQG|X#4nJz0uq|B+qojLb2m`Qm{k=prXtgEiD7Q2RmuuN8%W>_SOx7G1&T6nR%q* zYo19I16bx~DQ0SGTtZ$WuTQbrGe{N7wBhl~cfl#kK?gkU>T6+_(JP4~8m(MED@R=K z67qR8D|zKa_4PjI5pXl{!P7atVPZ_ViAiGYG;R1{Cw^O`x9Iv1)gPg| zzx=@1xJDE6bNDAe+gQR)v~pah%xaT%hvSTfK7PI@_P@DW1HB`}8!tJ$2Lz|R zCuapyz9z-GYGu7|IQBK~u$PqBnSlyWI^cvr#ie|S4H;+s{(r)EX}ax72h8jqsQ3{- zO9m81_L9bP36t)kI@Eiri_b^tfFZ#^<$nC~VqnYpP<4dA^|{K#iA6q;CSNf7=5F1PFe|Li9MHL-?zkw*WNZ}|I3CB`FUbFkLa`C! z%6B3~V-nsw8vwqVpSa=K(~Ef}J@J3&Ko@w_9nG&}`8c(hWO>z01+jaSbIL65dYS=h}g zGIHtr81n@xuDY!vOHU~1_;Zzc&!$FZ0`h>g`ruikr!N71jCsZt!xjg?Qrs%lNkstxC)61qMroy`R=e0uTYYO=TST;)AwmLS3E%?S z%3{?UA_8jJT;}&Z_dYY3Kv-Y!t^dFIe4fmG?sM03&OP_sbI(0@wPgpG;&y3Dzto}h z{6P4wLYKSN;vExdEyfpt+#+7QLgrtUfYA9V5)eW!mVi+DsS*%UKTQHc>!(XVh`mGt zh>9{^cs(OY^L-5Id~Knx_$w|o#TkMxkt#fKglliKKHN$72Se_+f^yILUr5fm(BmhOimT{O66wpZsfwfsprsV;ZMTZ zs`#-fRql}+$+&m?@-{M)tG`nNbBUbRYErMVv}3w9N3_!9O~-@6KBdp}`c7@DZ_`Zb zGeo27^QYH0_J3Pn`hLuxM{CfD_{!zft3L;M~c~^&A#yR3AV| zGKnI>$nCthkP^p3YYbG)B%daaBYKM*lZt7>+ulM3-zS(xX?%B~ini3|`^Vqbjn>~E zVuPgZdwA!RI|>7%*B|GWF6{mxR*tpJnoA9Ay5SI|i8gS6m8^XWSF|Q=2)-JB$=DCF#^)evevU zeou4W&vSmi>-_#nerNWhguy)JJeTua#WR|xeakz3n|nz?LArr9!k1q2M6WXtm#u7c zrNLMgenMq`3q_bn=y2FUohq>JbRugo>-I*!YB)(qYtb@$akNPdNUu!il^| z!ZGEL3WozPHwD!ZLj{x~AsRwe63U^P{AL23_^1Q9eBk@MpPq z+!PqS5U<1cHvd_?4lhrvr);h$Xo_zrB)bkdC77@&R>JwsG)1SdD7!7OX@Qfv?S+uv z1Cp`uv^*<(tn@}jhZT>poFVm!>N`qA6^@vO-^Yn{uy{-$ycrE}!u>!3lL9eDE0Q6` zQb8LO=;aca5o1HkA352w>k+Rkdl5%it;moZ9V)OmNXr)@I!S~ou;Q(S@s>g&a`~3& zk6e@Gj||DS+>3;(>eZn5A3gza9L1Bt^Pi`>yWZnj$MZ7JVxEqv>i;fQI~>sW&z5$wEA=K{6 zZ-%r}lnhllR1Be|h&V19!qqU7*d2Me>CdtkZeJa{r~x{jAov>Ro>T2|&#BCI&+#)r zG!glw0YaO8p<5jgvb8)b^BbXz@qFln0!|V&5*7l+ZZI#u(egAJs$pdj5`r49wu}_o zA(Lg#7wh;Cq~MDj9VrL-^TB$gJW~e>Bjp&T)QKEk4uufl6O=)KPr1HGdA1A@4u!Hg z5x@+9wxhm9BNk5VaM!w-s$v84!VS4{q&%y|v&dc%PUPNkBUA9MAOIiTVA-|PvggQH ziYEYeCF5Xed_BX%uR~5}Oqjkn@e-)kkuvO3Nd-8`q&l46ES>kP6!^5kpu#w+7_VBc zhP46@_Z(mG_(&G=pL8@segy;)9iofSKZl7)7;;kN=oC6S7kDrXisaxtW|v|wTLnej zm?b)i5rodRIKSk}$9t%d#+G!_*pea*l|~vZR`{hI?#Me3hw!ygeuyluBEA_!G;Ck( zj}^ZpcJ)9R>(!Kf79G#fsCCb&5np)jIg_)wXHQ6nS`6t(K$DIHG{@UP8^`max!w)} zDWcgy%^|huDgz%VC1iP)Me;4rD|S2rGlg92ZGg&WZw3}Eg$7_kJ3=X%hT8^ndAcVJc)28F0{lxG`j*j}E5M%IK%NyN2@&=COFnc>3}b z@f^eR-ru{sHt?+GS;o`I^ADcC@;t`#f5$z)_%$c_KbujG*UcA4=m|j1D2a+j9~D3a zxz(~yEEb8Q_8gdg_<4Qh5K0I!9cPT7dK9lvpm%~EtU>$v;;BN(wV&`m*yjW1J_FfW znNJLY%+QQVZl`h2$>kZ2djePwR1BNu(21dR2^mtCP!2a5O?9%S=v_Xv5&X*}5evvb z%p_HBB9_@E%vA{{dn8wLFY(x-*%tvgT&>PXSh$=O8Ja~lDJq#Z#p?Km1Te4@HD{m4 z)=B@fvoDBr3M3XL>ib8sF9^St8{WkDKAQ2}@&N^W&OLq)Y3RuH_?U{s!ocYI{_Z(l z%lb!pmYuyKa*XbJvfD?|?Ih_4HK4)};?V3ZdSbC2_1B0Y=NCkwgFkW^8W#7*++4hM z?yo?o`gye@BIUfg$#-KkXbF{ukrW$#C^}Lon%1AgV>zU zr1Xb^u`?(7Sg>x$&6;mFhS%lxnIGSo6`nkWahrwA60Lmr**p^VX^i@3M=Kv3J2Plk zJ`;#l{<6}pk52w2N`vUg-}w7{qG}Ku{q_<++ct^HtgXzvo|V|`>xjo~@!TBQC zEKRIu*)t$fkys{@KdsYYx`2$|_J)vP{SOUatf z_Q&??Euy~$ku_cHU6#GN<$rj!8+;M}hsXke?A?f8*$q;VzeO)OBL4T}m-kJkSpODN zksn^GMNR)l1T5xLO4$ZTBh{M`CdlHAOnx`MxiC`w0e7Rk8yVS3#72AaY}P0d|9_?< zPx>FWu#}CAe7_=Gmlw!tRqB zC#|H=_eroxH(fW5M!M&`f!hdaCC^S=gXAO5&3AtN4>*Ci9vk(f)Pearz{q`(VcQ@h zB`ik`Th7r#;0a5JT8{%p0YjnsVTOXm(b{O`YsvAz7+^dwDtyt&Pnlt%u0!VX+5U(9 z9vrg2jF+ll)&~sr+&gZEBB#$tQY2$ytQiykPN#5R{yMtgj1a~|>W!c{K`~k0ZJ%XF zyDX_UU;YlLmFk6ByVxIF_S%*u4!P!AHqHB|CSOs`LRmtukdxrcja+?^$(tcrU*!4^)yY5n z!jtU}>Fvw|CR-txbkYsj)vp~8`T9JQf5{~vKF{^P(L{EQ@DAwg$t0a=9tS209d@UY zVmO~hlmvZ|({wV8Li3Gal0j-zn`Gbg*^{4=>g?;EZZ~jRKM?`I&lNsqj$zJQYehz6 zc_U?-RICVGks_^#H$$^Q$boRSW`*!C(z1GYX1~Y;yhfVIk2E;}yK=jz>#rQk1U&7f zU%|Y@Z=F6Dg6?JD^W9w+@|?-@Ri0ycI`e$|TzA)Io;ie{MoB-re;$&(C>Ƿu8qfE6ZsPgkuLi#C!QqC0D1i%| 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

yE>o)_}OKmVxq`OZFu-jdl__YnqZ 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 z zG!BhmGxN>F^aQm97y>*NSNq(B$!n2P2$G$O+&?ilndsO4KWB%{B=sj)7LcEBT4{GP z{{diJj5uj`;+3Ylud#JYZ=HUkoAbn%XyL5}v*s)RhjnVr{M#AA900WYjUR755UCR4 z$Ll^Fi%bl98QjG&talUA6Wpg`$IYF!Pi5`P9Tg+|V4{k!YsY?=#(J z)a-LlsK#1vR!20xdXCFIe*ZqVCoS@`ZVCI`SFFyh-shf}ybf>3u9G1N1NlPTmec!R{X-DpGkP0*7(#Xr3-{BFsXgK?EOn7QpAu0>J)t zLrXin9qsineCAw=Zo()m^y}dBAH4*h?r1NJ`sM?ly8p3XrNZ4WM$BJ*-Am*1MBz96 z-om@!lT1rUfJh~Ki6M0_USddn{zv~2r1pL&9;q!4eru!-15w8z^$OVWtU8TB%(^(N zYJ_5$@*e)Ze>7}-_vyBL@dDUt?8O?j;q=};1)rCG)hj_2z)YA6Mq@R)3)9X=3dj>a z*Zq3nk<8^>8%YRtdV>r$xZ+{dmYDB;uuhZm^{}exgHr#REr6rXAI;0X#%VL*Z!gjv zwu~%ZHvURx1sZmAFjz>d%T5_IuNNXNa9v^<({ne%m31yx^`U|+WV_4vk{n?ToNMB$ zcz#VYSUv<2opc9MHOWyw0|2O>lz_R)RzB1dclqNa-2R}@83O|}6zawUd7oPc{O%zi z+dwEi2ZkZc0==Jj(P98XHk*Pi9o*#y(H=YTceaZ~Pl?oS=FJ%BUUC9EmN$C3dkKR` zSjj0V=?Q}hGD?#X@5TDWDkuf#?>MNS#9i=-IcUW~)UaSc?wV-&-~Zklbq$|u=GDya zYG&7%c|m5*PnNTx(uz6g_LNdw4=B4210zys8Mzw6&Si`f_YuL#Kfd*eUc}{N1vF-GJ z_jB=BYUGTXJ6gLkJu%28|3zAhBgL1xqQw~?fGjl^i!)43b@?!`&Tw!kK!q*V_b}`pR9t5Iu5ciRyz5#n==nI~O>;`p0@3n)DJL zJ0o0_=?fRmQkRe|Ra187s8}5Ry%t22RNDI82;T?7!d4{|2nK@`iN@<2A z_E=DNx7LZBx3;Y3;%J$he*f4ud?u3>MlR)C;8P**4_plrP(Qtzb6q0ptFVSVCuaxfNg)WT&dr?tjNiJGHp>j<_XcU9W~ z9sttzm^~WF{a2;i{+}13;q>Ba&@7Oyeg zzLlWjBkVxN?BC}*HQuIc{0(dTJ!@oS+QPI)rJ~ZIXsn!Bo7n}uS~!ENg@u4K*aLR$ z(+41SRk)p>Kr*>k&WpN z{&QaQ6J)f5R*+wpNi z;?{XZOL0Hc%LPtZFRRAyQmu=e4FT8e30m5VR1O92MNRl36?SA_jef;UHt{hfNPjWN zKp$F&Vwl=IeB>>ZrAoAk=a2F}ci$xk0rU2|m#mUP!;5L@E(%ybWf!>KGAx(}tOj(0 zsujVsp#_IVz>%CEAq)&|ECp z{R&-!{a5hLEGlWd!c{DC{K{3Xy!@q=&`audcd-X zDnh0+`6G@jMK{=rA#V?+#GsZes)yVVWBlJSl-hGg,k@;0*)dT9*2AFF&#hwEv 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�z=CjXgNK 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%0DrFx*|E0 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

px}% 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

5O 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 z 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 <4FFgb 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

|GevY=+(n9k74FvGq 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

`wZ98P$!ruZ;D5NH^b@I%a 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 z�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

UHSVq{L(R856mqQ#X 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%0A?$ZSwf2`RT=C!(q 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%0AWm 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

QZ~Q{iD|=5wuY_&8@)(9>55ZBHu{Mu8#tRu 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�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¥nG_K&L4nj=ZvLasA#|| z%3fVmT*K|rVD_VLCo$@0as0TxP8guBu#FuW@*ocqUc**j32oV1qQdyK0`%>+1d;{0 za<>~ydR1CgrGlwoe-0?pY@LS%=c7d2?vPck3&0~y7Mtv#webW+S%$x8^fGm zsx!B#3okr1@>=lAN6y}*f~=wy_v84A@dF}3rhCa?5WxuqRj

QLjb?Eb3N9f%5aO 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

7_ya5%Dsiia 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

ZBB$?zB?$Ic)anE1oSoth&`;+axFmR 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 z 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

9te6Os#qu zsvBts)FU&@n;9d)5p7>NEO|GA!I7zRQR>dGXHPoUD+l_!Q)s*3 zpo(SR2>+i~<3A?j#+M6h>RFkqYS$`P=#?BZbc>W*34h>a|EX0Vck00}YxZR7w2W#W5uOwkojN#b)vq4-axFF4$kw!Kq^_E&j5C(<14mO3nRcX;K3jT0HHT^g7HC zc&(`A3cXn$42aa=%af*u($8C`V$F(go5^2|r{(Z!G(8h$&E&NsIySsj%hdiB8k4d2 zCRZAb9T^o9mE?cgNu6fHc!*%_^55mZWovkzC~lf#Q@V^lkv7|e^N5m|TG{DqeoD6| z_ZV_b9dGHe)_GHM@ptRk(4Qj0Qjd)EtO&4)a|bwkfC5H z$E3~U$tfnxSF`lbpy`W6+Ab6$!&%uSy`q!%c+<^C6m*MQO#m99P3X8hb5)156OG9ig_)I))5I&k*OVus>k+EkaM#KldybOOT<7K_9grtyWdD5Rd{Ru8FrNq>JTuW|*U$%LA5|KivJx&>5AofboMX3r7Kno4haj3;N45|$HbW2 z{*{o)DDwR?ULbik_T7c(a6%=-`;xnBYimRa*u}BqYQpq-^nzI{!KR z!;cnx`I)ISJs!oZ!|RsU(y#2EvWtH{P1%dgnukQiB&Q;|=Zndm`Y|*lF`_`ev;=Ju zky4V#;IOE;=IM#(@YG#mSVMx7(kd=8IHnaZ@cie9q%vAYg@m$ZB`3q*dV!JQ!HLad zTebApe_8{vj)ey&-(n^o=%2#VJ_OU^$q9ciO6gg_iLqfVxbgPy;*Y*kvl#=yAqgq% z<_TM$M{!pf3f`OIhxXsgKdLo&3Fekqhm`HFcT)evk=AR|J85$8<%shqGxk}3 zI_2dRnffPZF4&d)zPWGHOw1teYAwDNO=|A%A;D2}(hOUo-Yi2(==CBn z4qiDhLvv-w&L4gIiQXP<6~~-K?+*(0zbW(I=cj&5yD)#4Yf1~Jv}nrSsU`C7k(d;c zQjxrCEmJzV>-mo;UoH=?;(14t{y8BbPh4zE`cvvg9zimGrmr$>yxbNX9@YBw^c(v` zv}LGfIEM5a`%tH^>_hsEeWF{@*)rrq`i*@OV_R~U8sEx4)nwT9W%$h_;$OX@#Q21_ z?UP)?$@N8*1hW&1QHHwkS6ZIbK-FqNwUV1F`Rw@-5!~WAELA>%7zRuy60$O}wVPjw7p?^ki+>T+eD307Z$b?z#j4 zki-fE&H^AsxoQs&fCJzx0i2_A0Fv4|4wE#F;Wq7Np7-**ecz#W$9weKyb@FDg6zxf#{X>6w{l8|jnJHPI(dHEN%n zLEjD@L}epYA{szN9!A8tMTTdTJ{v-GwKcy1h0yqK%NYS~cM;Rl3&aAN>7zHRq$yt= z4bZc=%0A?BXK%dQ-gE@;_+8>Sv=rFkB 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

eZ?+E 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ξ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 BM27$X diff --git a/ext/openssl/windows/x64/bin/libssl-1_1-x64.dll b/ext/openssl/windows/x64/bin/libssl-1_1-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..baa5a0d0d5fb4049191f76fb2249de01979e43b2 GIT binary patch literal 681472 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

qS;We1gOmW(+1}qv)D@rHLHtBl{F_g> z^SkLWhx9niB;}!{FX_AZo2TP~#z{4F{l~?~2qDHE!-Bkf2IAE4Vzu+}gxm-8$|4Va z!W}5i?(e2Rs)AZK0fRP};6~q`>%hoU%Q}VuoRy@8&mx#x{>0kUs|vhZK`YkKo`^%6 zrGC~iG+@32s>4zc*1Bw&DdwV81b!HRstb{ey<^e@*JZ1Epe)jSKzLxA@9zj|>eX|2 zKbB0pQ)UAvmBYLjy^*b6cuJ~yY@3XC|G`~GUE#WH)BrZJOWmLC;5x5bEh#ssPf>*g zkZ5R~*Azxf$I?ozm@f@)7!joEIT>Ta2Trx$1|_Yi?_UpSQ_IA$aEtAH`%58bSX%~c zSX+K9j{4Tpy8U6U$D29_?cd~~Ke-bGB|%QWrYjTKdsVxjGvOlSD3H#J0WI1OKqf9i zZoFxte? za=L4{Qx_MWj3jXFcNY@DwI3{Fw3#C1*WT!3t-{Izu7Ode+6`bdOuzAutU&`N zAYFE#*7bJsPls>oL`3o(W=7j{{$vU`%8whaWt` z79xe~E31BSMUH9q>FaKFM4KK}LL{J$Q8%x6ZQJ>@e!YnlU9*v-IP zq%Ptr4fJq)%}QXHe5C?!5XY@W&O~&oI`+4T$xN6ir4Y;rX?H;qS@S5ZoN&jhO|Gq-AEo z<_+g9P7K$gU`~LENkKl}{X0T4vlj#%%q?D22jAlJfoV#2HU*PgXUWl^cA?4foY4DW zZq#rz#r>Bi7bBm<&#&l9r(m`(!pfpgq=)5FE?78j!Oc*)pQ=UJHRi%3BWSO93~dkE zk35Z6Q_rCNJXIM%`*&1rs3vJ~y?XIsDv)U$FHBfCtySgN(WxJF85XoB~!;u26)9ia7APEE*C48pdLaIi(N-MV47u$8YuXBERAFLv% z&r^{>eL7s1eRJ!wyQl}4`4j0#STAhFElA)m%Ra?g4U2PJUjR~v)#S^dAH_uTC8L=PnSE{uI3U?vQ+|qTtqBFI(MypC79usPv~5F8yz3N4+d~>=^3t|9TNxF zI}R>Sz=ejnL0u3B6<)0#0(Y|O%ic$EEwZ!SCER~di-#wHZVY?W<|R-+p=AwfJy6Xh z(W`0|ei2b##F2>qLw;F)Dn=)(knNt8$u0H9V7@go_KUQ(y$~t=V?Gjv&g@gxMt4YI|y1zk9sHk{m6#U{J@hCIeT7d zS|OxKqoUAd7S^q|$k>E}o6DyQzeAlOFJ@psCxtTcD_wp;$`WPsJV`bJF7waLBLf;? z#YXt7XucKAv!V-_){0g#bCcgG?gAEvq)Q0`o+BP+F`q#D1yyk)r7M%eiW*0M224IU zfjF7qo$rIyWypcCKc9Mn)-is8WzyQsNZm&rk8cHap82&%Ey^KE(|O|;TJ{WI?x(1R zr~E-if@8{19rOAiL;G<`!m%n6W>N43y~_44jDfB?9+nd5u=$H zEQ&a4*$BG|w0?u?j7p$8&=(O3J*{hP?;-|T*LoVhq1Fp75iu1iEpyb@mOeZUJXPjJ z>0%xtkGw>;;6K&a|0&?WzmpG5RgeBdMgWdO0DZftto4%8bBL!a3{jGnOQ1W>R-=R> zM`o)fLZ&0Lb6>|%g9ju4MGDnO)E;aL#Fk6^5f?w7bPjluj{HJPa@1;)TYOKOskLOnq|#_ZAfUE^i+gMwI_ z_)}AUK_uJt_>BSZGlbMe9o@|6Ywnlmek>xE`A|OXqz)#(k1Uo5pN^O#5r;71dL6-2 zD#&q@L=0fW`8tB0J`r&dB5=60%8MvCvy|k~6<$QDY@Kk4uF_zEFi0np%y68^WXU?& zV>(%yBs+=)sr#gA({({jd93p>jA+miV|B#q5;2$&%XLJlj;NN1;~4QP9dSR)TLHBA zt53jZ>;v43G&M_@9t2t>NMZ+oU;g-!;a2qUQwP9bqYc{Gm(%WART& z)eor>VcZ;*ZkJ6*8i0tEmAVt7vPe(5Nu;;SEL{pThm^w0e8fszWWxtRtJG(%PDua` z1iOqwIS$U8Utas3=I&)HlL(D!-YSr02gqWns4pj3sqg4k(AKZF%SHo20)Ct0n}{!I z6_4?!`El7hZ6N8w6Y-lnjK{JfUohfXT+31;)tteT!UtQCYF097T37rc%90!>w5?8x z8vg$`-Tp|8$Vovs^z^{TNjkHII;rdM3fLp^ienIzz(xlIAS4BFW-*!(jLv2%D>|Dw zi8-i1_3!9H#+U?5&BzW=+Uir#zLS8kjpHd_iefEW!{;jL0fd7wzpsdg7FOmJ7u1J` z!bN5{GZ^hv%&OeQta!29)gVNZIT$T95$<^A^ai6{kcgkH=v-ahHbBaxdG?+9Ws;V4 z0IyXu_Bo)}1A%u1|GBS2r{TpB21x%vb7yoemlJ+DPEF~8+ORuMhL?vWsIi)O7a7lH z_6YsR-HHfKZ9H&Y^F01I>W_CN9da9Zb)_3Y86*yzsVOCU=kK~wQdkb2mds1GACMG{ zkRsIy_o9$!ge-{#Wuu^UQ_w|i3ksnif7QkK+;nU(7Ll=JzoF-d60lF?KOW3q*xNhz zFfENj(5B_NSgU}u{b~_gl&Gnttv|@<_PVOtXLPqqX!IMhALvD8)C*gsE1Y}A>B^y> z)Gj&}D8MaUl*h1#QejwDkoFC-65Lr-fkf zZfws)SMYOF2D&C1k<_k)!njQ?XSX|lB5Pm zyIR71ap>)AoL|0Ml1QDUy8bH6^vu&qTH2tz=y8n3Xe5ykBlX@@IQk?Rezbyy{&mg# zk!J7IqiY@o-I0(l60G)kU*XbC@@v>}_8829WL^JvV@3#pjeJBZ7 zruwai1MP0Dnphx-#!4bFu@(t!uZuUxD})wrhP(V+Q+}kHNk9TPV7Dc765alUk5hA? zCjnlkCNuDWZ2Tk=)wrSIWo0N^}LQWXL2AAdcmI|Kao(=;mo0m==f_)>Zf& z$B7#n@dJGk>@>_GvFBUTNoD!T8Pe9e_nEHC)J6Y4wNL_OjaDzD(R)2nV z8`6R?;pCW)o(?UdwZt)Vz$P%q=ZWK^IYAo-D}wNO4s|z_Q zwEyz1_6Bf@xrX^kGNYcooH;ADhQlyE=66vVmX)$V`zf8UXe{TWi|C-p%kf-fuL)3g zYG~PLz@z6~nHM563{kvEp>!0w%vI=4zm1pZ=J$atMS@ExszQF2n zcBS1!dJ?RLh4qjXT?U6h`kkn1hreX}nyG4>sRK>BzO}nx0}lNWx)>TY9A1Q_>(q0~ zcKv{xbV9?+cD3+56fUnGJW6Jq?6Z(o-yp=j8-H~w!v3lwW!$e*UqissJX72rV!o*p zZ_*^T$cjne-bpYP)!*^b~ZJV+S8M(#TwM5Mq+7cPUA-x&$X_;3G12T#$c7!t_ z!Yo8(tk@}^?}9Z-MXlv20#R#ny-6NxWb*UO3b+5Svi?8@1v-E4G*s zXrqs`2!cdq&?Dkp@+QRitB=RurmL|x?gQPQYZVBw8sS%C`Xst#N=cT}RS*q><_RxIxjom;I&WpPrzQDTh zXX@)W9r~YuVVUE<5?-U*Y9Ka%ae$Iw-=Q@Sm!dja1JShD%yP7L8*Tf7NCpnrpuS~C zV@#ApBb%kz1r&Q#3)E$FPab`dL2mTlF0mt#sjL?G+~FIW9`0j2`p)bIt7Ulet+*J8 zY>yfCxrt$)ZHB$q4Eugn9PFC#Fc7lgQ}Ox6VJx98!olN335EGDa#VXN$U`ts$^d)2 zg8e3QrZfKP)aDhRjkAyN7sfJX^fOUg-s;Qt# z2B`aERnt*H+)f2FfVXUhTrTp>S^B;i63ibFh3i#rl`$-2!%|jJjKWyX#c1F#MkmvA z`Do5`2^s=B+6ItldMTi&8y^+~vlJ_8Psb80}UVU9k~g&;gI3gLWoUCJA+p z*bDJa7GBeI|9_et{MXC#;f6@D85&j93_Pf->V+Y}sYT88ap{#384QOg1;Jw~CdZ(N zJ@yYp_CMSs>gUdg3dx8H-BcIhAOO;V^>t7kQ?ucZUECWy;by{sr=lBS=rA6$BU#-u zhz{BdOsf7!b)BSQW=VL4NoXUXWy=~@cDfq5>qA=4A<4{nRlv<9C!)pWd=g)zIn}dZ zCVp7h5hD8i$WC9NO}{1!eI{$66r`o}zk@p(KiibjeIlhlIg1~gDH?Y3+b=<4uGA89 zs~P<-%v#YBo&lc7n(35frHQ)2g@nlIV<@NR72<~HJRCODe3^o}lyG|M>}*G2K2~lW z73~t%H>tyc?;tFKi4EQnO;icOn}%uwOpf0Z85!$z*8on&Tcm2Z8i_(sY}Cl2*vJuT z2L!9e3W=GCE}}8S>p+m5n%_A*671us;*ai#MgvWtl=~2BvM)hM*YJz74cSK6S z&S61&A3>oDD`-iGqWhv~*5pdogeAu=De+fl0&2WMYBK6zj7GsmSP9y|HmEnyM9Ai? zW`@2F9rx69+&LKi180(=iob`uCTO~d4e5eXWGl9jC*kQpy?QeS4$Bx^NgY^zYrbk}X)KYr2pN{04!bZka7U#utWXwqrf}A! z)4_-8#@`xm{P`yq#sU)>dGjN-X)1aNjMgp8a9Y?|T1ew%tvz~4L?_rlfPb>d5VT2n zj@IeUdD4p#CAGB|k*8`6RFj-(nwLd(K_?e4ke8IbM81Oc+!b_f@n7Bz{jamzAFTl8 zLzljWgU#y*i>p@&Z?->%{%{zrE@GJj4t6%1woNBPp-kv0e*+kYi9QSwtI&l>#j(;- zym0qya&auGfA;c~A{5}+Z2ij9FQ0ym)vxLL zRj)IU(vYDPA0eM6>9}fuCn& zfG|Md(5i(FQA?4R5%)+$r9?y{^0F5Y5R+x9xw;7b0m*-+;jpPpaD>0=_oxXvr?elG zl)q-bL?b#DsZZ0XA4{ZuLZ`lfsVC{wIu@zPT~NnnlR8uRb>aF05-4O2#wv*u*~bIx z`5-p;1J+{GRB5hG1RPBjcDi7?$%O81L^5D>5%Q>~bZQ-o z)RsMCNcF5(&~;!740(wTH3WI9kXt!_LG?;qtD|Nly$^-a~!YbiA%{{F4k4v1@{ zgnyd-)Vob8tNn}M`lnhX>(j*v4Efb--9|X@-*lQ|Mf@z zXbNg66sXpzhpEgG?RVtIZ$t4cUm0nh;;HP$5gf~W_lfUYJj=^dp1|IzJ#TgnURLTW zE$?F0y9nfFlhKGnQWGVc@2`&jcn%Dj&-@59XdVDmo6ynFM#@U#n4lg`9*HlD?J z9>Oyc&nP@s;kgdaEqJEknT4kk&jLJ;;&}?svv^*_Q-`Mk&n7(Y;rR&9=XiGFX~EMO znD*f5i)SF7qwypi=KM=`ejJvPnr41?ihnzxb9$Gq-MaVa>B;EjeC+M~IPAba&d*He z$6*J>fAx+3>ev6^Lk=DAziqS%eNOjO9;oT_jK?*7jvgiSx%rX=eO`Zvrq9XdJ=?tR zGVjODyT-g0y{G4Bh^`%?41-n@_a zM(3Yw!n4i$%kT7eC;SWZ{mgy&H_PvLnM z&x?5K@HF5_8tD8>c76;5t(xDR;@{k~>U`|&{1|v(ALnPL^JCya@n3!8zcj5fc-a3k zf?c^QofnH{@@Dj2 zHKOn8fl@BPoUOMNI1x;J@q26w4DnQ+&)Geene-^~+z+-s`m)5Z8Jx%x>vWVmaJV~g zs5{Wt9q8>2^l%5#-GNkhV0UJ`p0Q55+<~v%fzRE6kKKWPxC7hVfvxVqTkgPX?!bC? zpw1mwmwmUG#9Vl}LX1W8@+=0pN zz)kMJ1b1MZJ8-2taIrg3;tre}4=lWVOls0ZJP%)rQ;>Ks#B&OsU*UNi&$D=j z-gu_s_e*$Q!}B*hO?XD)X~r`U@yFr$Bc6ObXW_XJ&saP+;kg}8C7yfm^hA0G<{|i< zjfb!ZX9eQx@w{oC5AgmR&-Zw`U$@A2SkJVx8`D2bQ`6&$$EdxdUIi1DW086^M1p zaR<(I2gbVtQFq`OcVLq{@Uc74qr1Btci=*IV5&P1bq9Xy4m|4)yzUNs>JFs$a20x_ zJ21>0xY`|<=?*M*2mb61yy*^XcL%!lbQOA(I}mUOu5|}0-GRs5ftTHZZSKH#?!ZAF zSD{1Pfz#cAQSQKGci?BK4gk-M+L&tKN@a> zV_4d`R}pmS_OTF3F6#}gMB@#j4Vr%8{bH(6J(%pp2D=qajImz#3$A1c8T`!zC{T-9;Af0`@$zE+fw-7OQM6_A4Os~$4ytE(z6!j~UZWGcKV#gU!iZIpn zMSF4$sM}4FX9y~?!iOYD*kO)kUSJXwn*?`j7}UwZPWu0__a*RARoDNM4ZjoSp zuP2fZM9*0z`t)iJCUezvpl$z<>tKH|@O`9|xdHVM5}_Nu@dH$b{5;t4M%s!j>|}$< zLZ8pbvMD9YJ0{EJCd)nSQheZtCiz5@%!4^3Z!yWEB>B2)U6*Gp>Z6M?STCQEX)`i~ z+*NFNkj^({d$a-YN`suSh9BcuExIBi3Q9ENO|@Ohaa=b-V{l{$Dx69n#|N?uYg?^z zbWfn2fIiX@Q`s3XB!ICG&)&bneb-Lp>wn#=q1SSMg@~#?Uy>x%+tk7fA?d->$+=*6 z`mi=~G&I{kg;+x@h8K>&@<;JYUlr=E9z;H0x$Qd<6Q>jFFnRDh@k14oy5O^Ey_y7d zBmUxUbDAWg#8>p!+Ihl!{-cd1jiz;kHz01AJ|KS=UlH&e*z zGG?vbgzAnm)xCeQp!}&$@deqlkJ9cse19FJ&j*t}w@`dVWovZq;Sy`}g6!&7@of?X zK79L){?>76z~rE#5p-veeWQ1C|K<0BG|{<5fynqBwNKzwFBAVo&IS#NOaZ3k<4g-6 z%qky%BawW-&2Bu6K$2tl#G80jSKTk?BD{4IZJdfTU059Is#saXVpTm^)k0L&_K+-p zto5&Wugl;6Bzw$D5l6Pv4rY`10X*;QPk6=(VH;v6ZbNgb4BJCkPcel*UgKYWdzSbJ zRGg7FIB8V(i@OC{Fx|y)DrcfTbRj_nCz4eoNyl69o>&zj&op^+^ z?ZWs{?ue;w*l^>Uh9}|&@SFPXxsoV{_%XTEi-F5qG%*-s2}F(rKNg6G^ThUwlm8e> z+leDNRvPeOtgzwxSdFHD326kyoM_^93_F0!z0pLjR8)Y*8-SBeiCC$G50v?Xk%Jw^ z7XsD0tZs*KO3d-!gc{0`&5qj`B3c7OhIr*vgQ(j!j~=e<#`jE_4_Rh%r>To{wyWq@MjugrNbW6A zuS?|;t|b3=?09@k130fXhl4AT-W{Q@mSe=4;zM2`5BAI_zY$sak14F_TkBmueM4Ya ztNtzk8P}p~NDizzMkK@A9C^Eea}sjpR#wn$$mdMs&UZCdAdwNPH#`kCX@aTl!XhMX zw})m%x^1^}v%{fLtF5KD#(r8FA{Avj?ahpt`vHEz?dC|-OJvC97AT&@{kEN8@V}rd zK6_})dW9bp1JFaBD3pkaBX z2s#FqKQe$oH`IPO#q@^WQnQsk!;e4mf5FpO;1w5h=qe!dnepE==`&9su zJby9Xg$fAM8~?1D^53GkJ$X6DN$zt31PjoYaT3}NSE1IaR@8@-Gx*g42t66shuclYeREh*~8zT80-s+KFD19S9dKKN>*cST++s;#q5Za2UsM7}!=*?!++0 zs!sqiZx}LsJpu|48XRBJVGloBevyJN7oaU5$`Y_;I}t_uDigXN4egdFllg=Czns3c z)V_sP%pWP9By6T%B69C%7)ot!J8lAX$f)_(2;Do$d|_0~qyk~^YhgoB9~kOkH>)1@ zjty=D_vt&HDI2xI-rfYELnL;>^0yk6*Jl%!?*K?1AWPMQzx!H@r==G6JHB9iB0qcg z7iHGZyTgODO<9@t-nC7rfke%!e;=LlMbp>tBE-$AqXC|^{Ec4L{55!@>}%E6q7;ay zRlf{LWyMj7ap95MqwEnJ6l2#44Gk8~21rHB)_`n;!Xk*0@hO#M@rtrG1~1HqrU))_ zQQB_21iyi8=XEE9V8aj4YGY${^KU&&)7Jwo;3bpuK$bnJm66*5;o=>EKsKd{A{353 z5+Jfz^#$^>fjO)?T*q5F7aa%0^m^X8y;A@_btAt5(Wh(GE^fERqPcwS!B?4#))t}Jg3BCS@qD>2esbb}+ZmW`fc zEqg(Iib)4aImc;laY|64dV^_GJCHM=wCZZ5m<&`8FMOUETI6)o?QnrF5=$+s zd_(IbwDKjZ{Quu)U;YaBa$0ID4e3ad0lmJ1Ka({YPsU- zR-*$#jZUiFjom#koEy(*BSjXx`~knwyFsRRmm*bjKG7F6(xA~!F#5bI@j6&|4%7yU z3aRiV9)&wM+E|B#9+AnW=J1KpMp+~g_#?bowuJ8d4V1{hBtb%0+p89DucsP)gA!r5Zh%oJqg+~aE4)(|n z|6XYw65(Gk+bLNwOG+ZvPr(X0Na(sPb}LkDXICQ<1)SBSORi8_T4)4X>fq%nIe^4q zOt^aK7MULym51EbR$qqinYAf_m5^SD)s%@a>JzJrb1%Iy{ivN`_HQ3nKnc zi1B|0HZa`^l#%H{mZDnAf)^Ene-3wg-T(0KQ*J=TACefejOcL6^ac-7nYW$oA+SJYU%6& z!GhIYb~Zf}8xo40_?0?~ZadMr+3D3#(4+xM*)|$4i@_@!-%8U2BIUiB;ZfI#rs1ER z{rTP|#(;qJWnj%zm*`3Y2)LBP@=~Rf#umzZt5ZQl%FC8*xtn( zOLGe^R|cG>rDP0eZC{ZYnN(XG0KtslB|CgvIn*4zx39>F6uK*-TXNfa%b#!-qAt%J zMp72;fh>_sP^&&3LCfC0qBNX=wYK*a>JO#M2dAreUVHcx8POo?)plDE{E%*Nw%PR? z!lTstH_P_uu+r@`FY zwp%&r!P*ucst037mAhM@nYKpA4fJeW1aBUPzEGCH{lw?R=Y8|*8EV%A?9O9#d5cjYI8S60C67|Fo=OPQ zjxBd6?ZiWSO6+w`1kVEX* zS{T#IK{&Q82*(Dx%?p$017dpZvgT_;sm#7iuH^VjodP)f<>z?TsUK$sqy=cdb>J{k z->D^ojikF6^lo`7QgiX9wPkEyk#5z;1lYGq6-nqJBHEC)^5lES z)w33I*R@raxuu!q^((Eq3Mt#M>TcXIwq@csDnA?anAb8~Q0 zvL|vxKN%6}!}0at&C7ah5TMdr9duWaFYah{ns;Y9@CVndPH-|d06Mddv3IPjsRG?O zBKpbU;r!Z9(%ONcxzSJhg%5OBY_H1?P-u%-0;gF&s{KTLhRoGGC^_58fxf#U_Jdpm z|F&D~9JG%cVSUr=*ja-^?rpg!Sphnh@3{5(cy?bXo`MUj5JG^eKuR0pg>~zS3bzLm za_#nKk}#5Mqxymp@T)b7o%r%AP&<+Q8sbrW*d&;2`}obBEp-r=sjD$(t)C#Puj4&O z=O5Hn{u9(B=3mSFo{pnJ=YMx+7xj--gP5P*y%CFyl0Uq?#fP=PoE_(t@c*63yQbf9 z`vYCV2f~XE*WR-~5yIHp<{{40?JokO&fxK7^l>2Q=R>Mj(LYWCbuqBXV*ZW6W7tpf zn)nDf1KlK4SYIvFzTg z{}Q`^fYATRQ+S8|4DE@0SWI|N$bAFK+fg6HD_0==I}Rv8s&|3#tKHz0+@d{!rNM=U zKjHrIDe1_iK1W%8BT)&({*qUN87p@`w`xaeE%xJN#kTc(F@6+Al1LEQ1} znX(p+1)UcE=VdOiXszt}?ZjiKQC+c!6u)&Oo}peRZ-Q$?VK=LR!q7w%;>svjVukwz zkN;)@J;^k*8soma26RGS#2#@H2mDS6M(--8KANjm!(BjK9P!}aF*kCZv#!5lub%|bO@-s5bcNqs^_GA zR4lv5bE7-cB7F_H3TM~+q(DfM)BYqF30Bf)L#+8f#2E=;J98ns90>wc2ji*;$p#E+ zG^oHJQ6+d}nSoRp1Q$kAkg)?0Ay-cZ7FQ{FC1M7hqeZH=&AwV?Bx{TBw*qWP*CMkZ z_2LBeBTTz&4*l|7VAKEqB+>s0QtQZM#yi9rh$vHvIZ!9upd~A}mgqy%lz_|lWbWr7 zckxyrRxtX+5UXx8(nD|a)R-pK%w6uOYy7$Ry`?b z%Y*@_BM@yLGOIFl*)Fh#ClTDlc26IasqS1LxIP`Mej4hti)R;wy9eE}?m2B){4iZ_!f-M$)(J5GT%vg-n(yJiXN%Sb!M)2Q4@U88kxB0 zyyhH?cWASA!w|h@0Q5=p3gAs01c*xKvTX>YI_9zW$avO|cTYbiQ*Ei2>AN_3J(hU) zlaYpbKNyD*K{=4s=#eHy`{bjoDX{xhBUeR+jEjokqJRR=^3jn^tP0y;LA z3aK-%>ypCj>1ZHZ!1NTtpNiEC9CijirtsjB!3?k z<%o09R?Nik=p%J#5r)1-n_awcDny1zFT40AKG@czRrSxH^_xNTu_3vGf2=ZvQ`<;y zlt*agt8*ZtbPvTJqJYW`Ohx>ZN)slxDd;{Y>x|4{6Q~K<$Xt+4bzKn;7wNFXsw+VP z&IgzmCv^AW3sP_Vu1=V%Cu*rX7Y@v8XuGqbVP>s&0>cATL{ds)%y0l&$AZ=g2AKA!GfWP%- zd^T!vtNsdf#T;PMFUuU1!~SjynuFdjL;c|xIBmM92_doMc%vr-VY@MeGOfHxMjjY~ zcsIwYgIwJ?8gn;f3vv5H`aBiBl+vvEA0b;XUJBGfQbqhkD7Hd*mD~$e%0{RXv1c=^ z`4nlfxw4^)Itx3>)AOd{tq1lZpE=OlnB5lB>~t@oWTQ3zRul_myyO&Y3_+v@mZ4yW zx_75l&*D;?8jPQs>11ql+GXD+_}DS$&W!4yi4@IsK9$V`qs^b8Z3c}tt%jfr`%Xnc zb10)Zh?vTl=?DM@XbmB>^8l^Z;eY~PhVo^9g2XMaA<1y3EL4*uw{;`Kff4csU5+uy z^gN4=7N$5CF4u6;HK1M}%bhcc2_yuW)6uN>ugF>E{lk22eI@yWAZ{Y9q*onq7!8Bc+zCq`0*HUe!h zm#VlO70{JXIWmq~4a~c>8M9f%9Rf!jLdRquV>c2z+74x+jl{Nod^(&@*?f8%SgEaw zyp!g9a!rpkaJaeZTnI(v({}2wm~sa@7pHakD>Dy)RGe z)tb?`ElfvaZhSGz!1v3F`JjNcPmmgdtDSqnIsco2EdCq#w%0`IGKs?I@uo)-Uw=2d%o_hDbXp?(1DU641&_OgvYQiqa!7a< zgqgvxO6!IYJkuJY*Y6C3K|ekjGAq;FzwLWL_eK^aRfD3UyV*b3?sMu+N(;c!Q$#cJ zVt7)pqpB~d6^R^9t>BZaBiwisJS#w4zYaM0QH!d)o#Z`6y|>ef%{V!f;ES_1f#1pbsxpxGypO(Jq=6 zmz4zIbOuuq)as@n)lKhJ)Ni)xZsXDb$a6)t1ZAkvH+8p`znLwXCde>BaK$N<9stQp z0m=Gj*?sJUQo28g-5*4j($TVnqiN;J%+>IWHV;9hq7REYgHZZ#V3&Qc>Mw+d!b+=7iZhC)-&%YCcBIl)j_KjI9)DS%*Tm+^ zq{(^GM#SLjbYuf*#c^DmD7EA4C6tFX0!?JR5@%NW6sZ8=WOJx3iy;p)L=NB)l8gb$ zt@I${o8VmRE1V;Fn5_HPIwz%nojS+!uG6J=9nZU*j^|yy<-Dulq-kkr zyu6<3zhC+Mkp8R;amvu66tCkeCv%monZ1r+}-Zm1w*eaSae2Hhd%m@RiF) zpqjjN?9LuV5R>OWRD>R6N;vIJP~8P_`0D^eWON|}L)y#f=hr6;yxG4@RLCRElgymqNON$_d`=cjvbFbNuYO7a&n;=xcN3LoDTmI;OHajX`Gf5-i-HI&|d zCxTiZ)&DSRZ=F~-Ck7qJ`OuVY4i68yeQ@jRE@o`h-p!s>gAb=@+l~Ar+ld{lr&rb% zIBgL(#id+W|LUe#)`LXElEG_?j`j4{+?So->h-v5mKoj($)8-3LJEF=l4s1f=ZX}3 z`iAGfnD1wBOw!@}cQDU?^{Kd=Xv?8EQg9-y=X--4>nHCi^PL=ar&&$Dl5hIJLGq}k zqO@?|aS#P+X7z*tdV5n%aUk-cwS4QrsoDGrh#$D>J0mX_nmFU9{E=z{Juxq&ZU*vx zC91@>24}Bu(wg9@ACDczX?q;n7%~I*1*h>-d`!s}q7zL~L?#iN(~}`RLO;wcrnT&! zZT+of&*QH;vIgyGPoi*CC0kDlY1o(j89GlB8M;^E64X_WSRHM%>;xX6XXAlc4#Yy> z9ypj>pWp{<$@%5sAIX>FJPW<}z}K*Ys!LFV-tJJ)GUJ0t6{ghYTLKa~5{_WK8Zkm|W-9H(b!-V?384 z=?qaE!TJqetNoez_dIkyf7k1$ai+!qtdG`%^Y=X8{&~vxtS-LKP5J&B;F%nYuK%o* z?@xB|y*TCjDF9dJ@&}}RzrKs|yRJ<3|B{a19ZZdSNq+}XcA|1?kQynRqFa4&Mv-C* z1jYtC6r_p723AV}4zCo_ifI2cESS+G;*gif^T|SpY`7;9`K^DxM-2?*`9uFk{2K#2 zNV)SdRvioJQN$0&H_~&yE*=>AcZENGr~SJN=kMXau8>f8*5uM=#5%lCOHBaVFaF?0 zOcT0|?FKI#V@pSkw0}9Pk9RrCs%OxO_;iq`vhkZSr+aj z!%*B#(C;raf1D*A&VH<3M%~^vLdr=MLO^sqN!;2OPo$?gqn)nF`$6*R-?v zft?t2qf2B3}lI|PXJY7;tu!rdjFc3bi$-UiaP#31}OKGF3}ygyLXgIfkxn|MJ`^#zsn z9nxWR%*E+4``Z#_2L9lYU64l^j|^pBfKuv!{@Xr-%I_@h(CxMw+OKqEjV*@D-$nM7j^Al@}Gok4V7ppg}`?TH1&3~XKyOF0= zU>^A|@wj5Go#-d+fPtv7m?&_>qk!J1#j2kpN8dvi!w9% z9661ngC^4-)>fLBcw$o?OUB1!qCtZo1S)VusMr7svLIbaBuY^Xj-D>JaV zA>JYa$aJ)5P9IR(8i5)^C7_(dovOCG;k}oggJT<*H>qxzbim_K{c$1312-{P>@t|2 zqjOAxSA;<84R~387=Gah7-W5uIv2DDWq%;_9Eob8W_nZkoIhPYhC11&w?t`Mk9mR( zng)&on*q)j_3A>o+&I5eJN~=NfG)L9kX+j5Lp9E>gr#?7>dc-<*J3KL~UrE0UrCr2=?D(FQp_6XzxUjzNN#j!q@0oWK^3u{?mD4(0qI`SD!X|g?^ zBK?l7#IvfOAw_ytD1?9U?qfBd!XrzGH#5Kx01wIxyh+IwN8MEBP&8F{f)A5@GDb@L3<$AL zs|7#QNpq4(VUxs7J24pOCm39+J|NWG1>8+o%WmgwuxU8G5LXE9t4=ZE%*`G-&G(-o z9L`Q;2GR*YYuSLQYAQO3g%T7GD#%{FndI$0G~`|18}{gWvrUHxOK@S3xhSrl23_Q4 z;FozdXddgUQeWW%7qylRor;cxA2NO8U<)Z3&ty=jIgWdODO!LBvQHRqw=(*e++Yiz z?JpOt_ZT(-O?!F|Z6NwFTb?W}Q-;O?uGH7D57x40nQb^XrXmc5H)d2qNQRw zU~_ccI!daH(g8!x?ENX;JgsiJP-?(&(bFobpL@#oto6HK%03*Hp-}<2hP}vryD7YP zR;COaj8+UU0;D`;%6fGuaL1d4sOV`#nX*p3GKf7vw>)Lav+A;e8G+W{qI%-MErJ7N zajiQbcyzgd|A!@}(wpHI$m*$ga{kg*DubhB~kYuWC6SD9swWc4|=tVe()xLl-7P1hjIK-JI%gI>P2J>6!S)F(--HSNmVEZ4qx=L$` z3vft=IGEj#^;2VIw|pSyRZHk(mmjEuAbFs*aiZ}R>B!T6tXD^9^ge{bPbK9A5DWE} zQ6w7}mryGWB?4s~h4XhnJ38UqzI;u^-;2(X`HMDQtk*Avg_Qa87THmP$Q34Tg^WM)Q%G=$^XpY=HpLY`4rQ&K5AWQ_EZxtIftB!1~MuqcV4AnY*>j z-GVhOUZvcZG$z7F0Ol=Jd_NH@vR|n90q)MNx)+dYP9q|g8iVCXMrzQocnNdsd&^1m zjf^H5e1d{n$q$lN*WybK|4dmSin1Oy-LsLGDBld3E2NJs=6Y(SEC;d0E@OnQL6>&} z!63W2;`=!}-fn)cTgk@Ak#@$C(~*Iv z7xOJR{*MwSCU)HI9%L{kj<^jJKpwF4U?`7bT!UvgZVeZw>y(P3%*YL52Y51&Kr5qK z`(f#M{T_^dhb6<*WQJ{67F^Ds!1ytAky<{&N6MGfuZ(PWCff87Gg?JtwCcvECSG9@ zk3b@C2tnH^adrI#8*=As`ml)7l}giM#Q+L?Jm4XgkCfK5)!gMsZmne3qN0-lF#?>a z`0#4HMYJs_w$wCzJAgq#!1a`=-ViAW9>I{Rq01)zJXQC7E>cN8tC)DD^u?;X7>WKU ze?){he8{)0e?rYx0o@vRr}b z$%p3sK=b|@-_f(_%=Ek&n%2v&S4WFLY}G9{g$_p{oTou>FMu+H-JD?70W@Z`i>yMR zZOZZ>{a64+(rGM1NP8sHc*>W>t2Se~(g3tRUDP-pwh`zw`EgrNx|F41Pv}>q35(PP z<1fFio4mS~LeC?Fxb1MRzNd_W?S6)cfw2vGD_H#4A6meTN4x z>OSGBRvm9p_>$zJbM>MT?Uu&-wdz_)3`abVbY<=eb%o~17h>Dg&)dSMsi`^@HW6#p zm?^@@PT=zh{XD8=!4~MdKokPYK`I08O?-ui!}2vTd88qRFgk3h9Psqi6QQvv23nqI zCb!di(v;o*DvD8t+a(L{BTPu;_p>GoXpJ|_z02!Z{CXqD@t10~%;`Ry57S(J0u-{` zGkY{5V~5RCUAY+op11i}Nf7#Z#jGZxAot@m<} zaAySi2MO^vd~>6>1I8j)(O0SyokQ2coFQvjk)5F7KNgJpyjqjRt%Z(c8mnakUYo8s z55*oSQb0Dh6-A7$1GYAHfb7ypb)rx3FcNY`Ldpt50G3;8hrt-r^i5 zG6-I?0eG*EIG|wv!lC8Er3Ricyry=FkPrq8QY0>^7ml2@v~|mwf(phpf|&O+#%$~9 z5DxX~&;%BN?o&>w_c~SI$_LKBca%Q-WHak9g>_$cZ+;6ih7||jxlI_jy`5eW2iNY- z06Dxi*B^j6T!)_`j4iBccYg-|Ti0))6jn+`=m@V;6%eA9?nAS35)f7EJWFLF*77UAv5$c#=VGk~FYHt9}@$Nwl#Dq@-sgRX3QF*NCX9| zB)x+fAjJQ9c~eKVQ}bP@hQl@hcaAPk)yGR#_eHfIzL7nx!WL5v&ZgE!p~4$uGM~?L zeNFdvW$V~4xE(_6Be#ykmz4S!qf z|C`oJ`jI30Afv=Q-w`|?wOLd^IKH7re`G3DcYQ|=K>Nohh-H)jw@Pd4ICI!hK27W? zQhyABRP%17NQ~oms@@Pph%N6R&0x!V_0cIhabs%Y-%R3PSQ;o^$pfdt+2tM1o511q zdDGMIlQ@-r65pOASTMkS!4uTitDk8k8f%WB3ag*s-u#Cc9>@ zPaPL0{3&!rqsw#bDVYH0|6$JmmL$47E$Gr45*yIvK_6Y3b@r!|*?Cy!9d!PUauVAl zub2V7hG>Yt>70I*@@A`9if*clCK?jAThAvZb2RQY(r@lbvb4j;5+Ipa@ANGZAGqTo z0^xN5!s%Qy>tx)j8-~RZ>8o5&ReKH|uJw*y{V&T42q4k^yr|w1fyb(Q5otc2tPwV2 z)vaJ6nqqGCXOk%QM8M8U0I{&-+`Q5A4$}c1JpV+-6j``_y_ToOw6A5(Yu{o;XJgF3 z0XRrouTIv_2XjU$4fppu%8?Jn$Tcbq#}fds{lP8)AgGWARF;}LK!Vi_Kw+)WY+d&4 zYPa{q1f%+$2O0Matzfvk%%62k^vPs%(E8#4cR;)x3!N-SNGWz=xFoQ=k3V0C3UCI2 zXVrb2I$uMCky~|CiTRV5WfDathWRQbv7m6Lsy<0)kdLikV@JR~i1OLf>Qp3BTY3ra z5*kTyy?Rm$bCvCnm%KXf1xbQ2cu1&!|Pxu&bw;3PA9j_VdT{(6q}eGDrvUr ze~yeWVYBKQ@PM1=J#bSB*Y3Kxt@=LuL^zv7wrZ)*ID{Wp^WOw>6~zmltZTRO={wSq zc%e=N3T?nU~yPTf!3p$9+hjecV_@072Lp?iBxNI-co0;TAS0l`Ue6YRh0TN$aUi#qbU0 zfUEe&s{b*5JJCm3OCX%=);zCU@?DPxmZeCQo#M^94;la?cgldJKe1ZrkKS4$43E?s z>F*CWYU-tD4Fi;gQdjK9?7S=(9irkqAw6vmL(`kM) z+v&B5H5NK0YpwYrZpSl6IRzpn7K*WRWVYNx(AT+e8^LjJ+A4q^_|~nN0d>sBpovXR zY=I=k7VP9V*uE6#YhAeG^;cw*z3e)5>~_q%$qHIH)QR26{65hG`SzKZf8pU$Y}i1s zj=7I3NrJy66^xgwiIf4!1UajI;e88uQ=8sgwT=^@hoDojYj*~6v3_RaieF~+nIV^c z0ZY^9I#s-v_FBdF^pxie^9+iS2`{s_0{E%J`-)h*gU#V&SxkJGXqaFp@VF0%s{sfs z{CRB^G$^;o3g#n8zPF9?+!_z_{Amtosr5V-Co5y28(D}UMD!{FY+wEZVLOC$f%2Z( z2I&IuWb6A7k_La1`nOW_LH&H}7a%eAu60>LP>I9(%Ckn{=^(u`4BozpdYpJ>K?l6G z>M0F-cW9!I8R~VvuW%*>dP-p`BK3^u2(T$xd7#N}(5=775pag23aO zG!c#E16Znf8wq)p$p-S$?IRL4ohMeyJTN|z6433Ey%#BR^UM+wzn z>c@$mZlb)ucZF;u=Wa6FijNtA?(5l;*|!sAYzhlGm%_x+4}9y&zfA7%~DI1tSAA6tS`&<(G#0MSql+DdoexV-gxc zUwPU~ZBIP~{}TxZbD+L=oS>XvCvG7wDJ1~wKd|bsbq9M(hzEYFeixEM?uqdHLUKwO z(Q)A&n8Xx5Q7C52ggLmibS_A27d1a`5C6Oj%#g3R)4osrM7Yuw9SJ6z_3F5Q*l^j zTgx(?lAYmxxUlJztf~HxtsRCc+UDYQ);7H#wU$8`S*y+}7Mb)F!&#@r5@NJxL=iVe zpr{A85~mI8#dw{V82V|N0?e8Y%yQuT!sPKs5k8(xALkJppgPQK)`Hs1_&ur3U%9M> z+C(Ylu_BUiHlXVRTayb+T{5-|pC}|5TVcp&Z0~@vZ56$fQ?kyQPd7Tjc;+!qfrz@A zv03$W3Fi?ASYmotKAu*wQuc`MogxD`2nT~Oj%i!z)>FH^;Zi#bu9z??WIPcgTXeT} za&@vdXc?g0cr<#eN34Eov+DKg+z-h&%oKc@tW#|GA z?NQ)kwKBE9K4cdEfmIp)KL!&BOM6`QOp8p%&cVCS30Dg(BjYv> zO^G2qg0&%wzK+li&vek{@pcZciA^EOg%(#;bn zAUkb$`ykdgY==F07s1OLwpg!}U2+L`^*rUj)E)=n@Q-8}mN4^gXKv`C3M<@RY&0Le z$whIyeGy>-bLcBkD_ZXFUzsZeY*6vUHW=32v;i-6f_i#dOTVnr;pQFYF?OQZB;DOA z5;XIXI*Cj$7B8AQ!JD2BS`wKNo%;&Fi0`Xa!Z?)bnSll*1ycaYe3LXI#sNBv8VHw< znwXvcs8uQQq%l32e6(Jb^eDi<1LW4_=)9K6xm};5IW#11a%U%QgN2LaZPoLT4EAqW zswF$ClZ^LnBw%JHwC;!RI4dp29$nwwTOH1V?jVxiB5{HUBXz8nxng42WO$>0X(L%s z^OFQ>#%;B-c(AOM0;wCV!|$ldxc3vBmqrc%t*6jvZrokn17;t8>V+fLndtVsbOAbNBs~ zai@j|xy(Jk=IYok4Hz!-hzKMYw5(+q(fpgSMb@a%6iz5K_+Z3Fpv6Zx+?Dt)?!twT z@lK2nKs?oF!jq^9>B*;YAPJEopXogdSquYx^j91xHEon$45R#5t%K-6))7AxYT5!hsRD0U1k5=sN^AD19KEYkaKr`r$0@~7RpJOi#UKJr&_529m{c6#n^iZE zV>C8Q+DWbBR%b(r<@|z5lUS+H;}`A3Mvw!w<_!@4mM9bXGcERz!|#+_x!1)d8RQZ@ z<2p6(O)?6}OKyqH0j}gt zGvmJ4{9bn)v+Q`rIMa*1k&Y?sr%tBG00cY0XZi23LKl8`$6b3zW}xk!pnEdZHx=N2m7!3{@HVOzC0zBpJW_v=m!Xg z1b?RWja+{iNf^h+-Scx}+zk!^s7*?R+Jk_GM$J;}Wk3kUGsx^AJ{=vS>$nJYP^M^m z%qUkQ=NjUU1}5SoWUav@{Q4w$EK0SxcH#t<#;N&-Li(@dMfWn zfLN7!Lfbwd&#CZw_Ampl+QovhyMg7zyHFXm?QXviLLlM;y-RB_UWZ=AEAxF7)S0() znL9EF!%r?7-5HF)$VagDQAa-?(dtkU5UuSICwhH$V75gn5<{8*yY0@F=uEVmLbiOS z{N)JIDTk5&N61Lwna^LvPhyIUbw&6{zhl2aCqVPA`7&m*y5>C8Y$yC`iAn0%WYr7>mgiMWn{V`wz`%csQrLS@xY2=GH4>kC{Eh%r#0|+5+Qq_(D1~5J+ z4aZ99&BvjFANCB%Z4_Q(+nc|<%NUlBb z3F;q&RSJ*BX~z+S)m<38-B`sh@vH!bFU%HX`h0c3QF=x3pcI732rVk>NDM}+J4)=v zOHq>b+>3fp!=s|UUl%{~Xs@0#)kaEJWc#FYDV1?;x$8%5R>!=W4te9cVcLZ4NW2wK z&*qkGef#6;0KArLn)jyNc%fFo;6a z+WwZT?+#sGMwj&skj|qHK?4BcODFzY%1}BbkqgS9e)e6#rBNT45L)o|irL9M4L>gspCjUUiJVRt7;14uDLd#!k#EGdK&FVZE4THfnup!JN zkfKh)V(3?^8oLDoP=rhaihbbDtd+Y{$3UVC2S z(%wR^z0}6@*?4Zby9$lU>A$)I-T3l$J>cl}UmE@m$18>+>HjpSD{|>(Zxw0JqscnO})NPR5${*K2o4prs5y zTpR2mCgEcl{(+ak_80%qKfdrkJ~GAp=;!3;6t8R^bocyghtj8f$IQe7 z0w#AGZ^u_TwJYU@Dd^O6cQ<0bA)Zzw3#$G|e?*Cjj4ZF)KDSt1jF`PmW zj^m;$FsIGcK&VxmRS}Hr$I17lnN}$zWE}Q^C>rFh4d{H$_l3ieX*sP(Rc8)*wDUC`^4R3EnF{FjLE=yH79*jI?97rVFFz5Y$WU6b zQviM)KBW7)W}$w}Z|+=(IlP&}(2m>hdwstG9KS&%@2CxAPEQzJ(c$p;Cj zdI7iGXrdH3%ubNBptr-(TdD(p{2Yhyh)(PyiEC8^iSEj_!|lZH^@o4{MCU$Na^Is9 zw@BhzH3^A&jm+d4nL~#`HSB2giAr9f`!78tWL^q6YtlQ1zRj)z3SL~cxYDmazOZkQ;ao>$4w8;0r6zsG03rvZA*{!_d|3pmJj zLqmJJ%^TH@4NKC(bEB)%?HE!xJ{Qb|KTLy<|M2%3ATN}aG)MZvKQ)3SI+-OK z!vnAt{x)&uW;eK9#|1{p|J+`?T0vt6$srJ zeInm!-@-q8RELfs1d0vbReWmp>_Z^C^cDkIPrfaSftZyRIp|%l*?O0I*Bn|f}D?YQR+lH>kd3k)&hFSWym z>v&n#vW$|gk^VMzv2a!~A+xMxQ}}Rj=J25cu*Zu+B^#?>7M4jN0tE8DJWip|#`EEi z*PWa#Oklmb9+M29JiFt`07!dy^!5q8(<4dM!A&d`&$?`ZQ5_U`tAkYhbO@YS9ltEC z`(SQn^rYU1J3Tp{WTzehy>Rd(Tc=Vs1R^qroJL5E@RY@@81F)DJaHM!KPjto1%npc zG=>5Q0{fsFZ{48R>u*rl7}g~^^k@ahC02QN6zK}@zO6L9Ud|f)ZLJsL6HzH8X36`5 zOk?A-aj%8C+-+sKppeMyMn?NlH6}I8p ze`pw(OjbFXvm1{@CCdk6hSW3b*j_n59fnWL2KP;c{7#8QJ*dAII>p!KB7Pwxg>J?z zM10^}G#_klVcfTh67+5U9Ly<03r>}NK6`KtWLF3Mo*i=HXXQG@leb2Wc5vDmANZF# z66GKoQn^o2BswVvslS)h6PenRsqujW&Ov=cnG!pEzTUA?~6lQOEX zcuag1EFdncD!sr`lfNwl`;vOOGtYt5Ur+4F#DmVZQ1RK>v(FPb1^c0pdq(!CXTT#5 zD0l5l$L+>Ndc?Gn!K5J|8>G1)z~TNRx_wC2uv-h3JX8HjTX)+H_KrEdgYA#Q*a(E> zg6!)1IrS}7OlTE5UMRB)41~+lBYwCGGgW-q z)(Gw#aE4!=@6Yh@Yy260LQ-Xh^O>45wJV4$Kp%)YsM??8MJU06lyY`2X#Hq)`oFXR z>@*)b9?4k)WF-Hw@lqQ5r}VE=unSE5|KNBjn%}hBy6W#cL~gH~?cTPspu$qF4i0kPo=Ryba` zjSlU4XeIF?zDoQQ#)RpQQ9yOAH_B;gp%I9ou$PD_8ei{)x&ZJJeErXgf1>->Bej2B z;Ol9Qo0;dClS}xaP`t8Zd>8yhucvW<%ZPM`{Vh`h~t?q!x*%u@B?3u)hDV z@l@Pqh7_qDXXhM!N~&rC88UhPD)7N*8uL_TY&n^%xoPllOV)<{X}Wj8)SiEP@F z`~cQ01RL>rJer;RFGv?(IX(<%@Q72BL(ug7=e>2$!6#bpML#`i{M1v1{-=E3_V}LP z&r11zO&8^hQ@-EXMfn3#zSnp0eOIq!|E}ud`%B61h>tP-;FS0n+Q2j9E-b?S4dKj; z#V4G`6(S)ROM*fMZRWF(@>$f>>Y2S88%*BK3he0?#)QnEpU#ieiK5*JUnSZg8gYz< z1cJ?Gm7g$NC!9iW2&m6@0|XChih4v>-vN6}XT$bzt$G#xK^@}$;2HhAclQU{+%xOB zIixa=6BUy;c0N|OQeXql?Q=6R!Y>!$?GfO3MqYEGfp9G8Y1W0x7JdbsvUubiW3_MVYwFaHck=k#)HxS)>33yemK4W763ACamxnYs@tC*Fq!x#Kncv6eN^oL?22JU^5?H*w0*=&?FfBhCzCM9=mHssq^j z2`N>%Fg?Qf**B-Sfp;RTTURIrr3!O0yaIg`&O&Hg?Pd@8+zo1#`OeD|K5+h&qYJ%- zL^S`}@={%|`ZG50tPOiU?Ojhjf=Oe_J4iv4+}9B5xVtUJRMdamg{=#}LjL1d#BMGJ zyIiaKn0n?)I?{^EU$g2jlee{MSPxz59K4&W*=yAh(_3Pwq zt@?4c{>o@7z>Eu6qTFE1ACQJxb}Y{|P`b%fb+fMO0;iz-P^YE*L-`&nzrY!H8u~ta zKc3tliXOGfxex-8Bv3&Jf1B`Et^8{`wxtV7kzv#`!P=(97@vd{hT{!rP;*rjvH;GP zD`-nvN51tdbay|v699BrzB$IGjsI$NuXx)ERJhU`QhTZ&KFKm?nF z-hhlG1KwQ$)B&E{aTW1|5*o_NB9h~cvmxX`^V?fUGJF~XVUeL?C&P4nhDAWXmR0a; znHzMkLG1W9_b~>g$|rB88#t1i+U6eYWzj~71rxq3UI{rA%nL5~9s#?@N-p;q!QDdL zp+Wx{Gy8l)Ez%i9#JDm;3hg0caG~+eYujWrg~gTLMSz6E1S;g5o7C~T&S8Gz`MPm9 zY+H-V4+8yPu+j!p>O1Z|a3;auAK(?(W2RtR)mv?*O!jREE@lxCzMg;XXj-b=LSst0 zC>PY)ZV%0jblYy{W`_}iQhTNIZkKvKOSCaIyqWM~N+pqqmr~U2V1g#%2VGF?PzPxd z&x`o6US$iL)Db^?AGC7EaJ~9({S6beUadp_FssQ4G9JTygW{RmMsdRx1m%;RF}Z5&AHtT}aP^e2i&Ry`gTxz{F#umcDiiOHLUowU#iS^@n;9 z5D|;^?aMjTl`_;6A8U65YF`g)QpYo^{S#`9qK$8%F)Vr@!%J4(J@Rabmmo)UZhom% zSC4ep&WrBM3|~8r{xZU|VgH#KfJZbeITYvYzprxj$Wpvx_W820PS#`HHG^Yq={&8C zkZ3#$8i7$uRQfAzLgLpHOTO#_#zFXizR$?ZHJ5-+{@eg*1BQ&y;Q*3H*m1*Gq}Tep z*%#dNt*2{*_>@rsi}G|eKt#cCC_V)q4%VxH&}%w|ms^)*;$H?aL$pNwE?72@Vfdsm^G z;o&$Jg<0I>KGN(!L-^_KuVZ60{lq;_SaF#-Ua!VVR}o?btr{x0UVSHv622V}>bsn&dGaaAu+)#6un$mBL2-qaW&%!3WVUZlKAiV54iBL4wBK12}SQ;>)IE zhe?u3DOMebezC?;sBy8Wae2oYbCNYqL5))C;q*Y;?`YFdYD;hu3a6Nl9x}G@WIpGA zCUY}MUloiG9FN+8wy0ZO_W)%&J#?*RqZK4P^?={X{bqFnk(ml+s;E{(Q0+?o7yhJ|sX|r{+GyCU8j+tegd4vY(AsTi=H@1bNOMk=VNBe{OJ*RQmMn zZdrQ1hJ*ALHp_Cg)&6{yU9&U8TEMH*-rfrYC{5i7-3!)Eh0mU25G#-{*7#7+n@?-$ z&AcH?mVJdTATq*9pUC7USx{%Xe7a^q71KFOc~V0PUEU9}R|i@pM0#IRD8k3%=MU`? z_`rlyOPZwLwp;TGcF?xIX$jcK_FMLAZj4*bpj%tRZgZ*Lh0hgkY$4t?PbWi{>lEW9 z90_DCAzUG?oEcXJvmY>UWC!331OK~b+HfB#c;ESkC;74F#y+BV7evqMc_~4-S|~w^ zJh}$6r9o)Q2}}1t2Ux`M2r$8tL$(B%z+gBoEhw<<5)|oszHv~e(|J1sIBclLO1I}n~h!y*QlTd$tcYKRnRs!6BpeW1M21?2f7bncp-ulXvRZl;k%P}sLCR{#KuNx^!E>dbjyI!>jSF-BrB;!dPsy^7O zdVgIt)Ry9g<$S%=ppjj#BIqb&A-QVEJCsIt%vx|ELHRU6snt^;YOr{m1PP}DD2=+7 zw!*#)x*7GfEfuJG#CacF|J!3a2=5$yNs9J&rGS8X}PsGcy7Dbt9QZ3QQULe zyoZ(w^2P8uI0{wi5*62tOlf@WrYj5PG zhJBaQ**+_((>%A(9pr%%R_Z#F@Q>5B$rS8CeF(5?u)MYI^(s918lB+z#G8wf zc%wBsJt(#AGgguckH75*JbyQXbo)kGfQ!Av;xG1hLzj!7c2z09se;yZP1>WVgb4)+E5zl` z&v~m29_w(6LmSCx$D*s~jHZxoMdvReNsnjt4HYz#rr|~$3)J(RM|@LBPVvNOTYb~C zXOl2L<|8xQ;ox3@xj!T?@QnkXc{IZ0))Tja#-~|J;S6jw>n)Ue;Bms5PfJv%V9kl~ zOpL_)B6V6L_*(yrRVPliV0r>=sl={Fm)q{Z)=Wgs_^^-9hIIkdFVpSB+tS{%JRF*d z1I4Wr|AzjC+h6e|1Jl7}<1+)JJ}^cnu_esmeT*&HDR0ZPD0`!ne)TStj{QmU#r~u- z@J?3!2Vqc7Y^q_)a1rYCtW%y>FaMS$ZjchdkwZ|L#SBA4H>rg{?=WpZo5~agUK@IE zCyo{BfFoq#@8BwJkddHnf1Gq>3$kds!r9fARO7=wI*UuCQ^B$7K?+xF2b@`2>Wq2+ zneW7C#_#p6);RI|@+vP|osRt*&e6c94<{8G=X%(0dNbEg|GrSHO-8$9d5--uJP z-kN_1aszEgIt4s2C1$Ffm>kjg3-^>rFJxGbPd7iN{~Wm0gZb=*gaeIh>wWdtW8wxy0SaIkUo_~cBA0KKn#I?@NvKhl_{5J9G7s^-$9X3K%5!Qlmc)*<&?F)gJ&&WFdL+h zcGXMdS*z|dv@hY(bPXSZNm8(;O~!JD#gSw!eyA5kVnawweDrX4;D1d4dyv+v-qmIQ zfX`TU4hG}IZ^_3WV|paHDj_nlg*xOisDP!j7?)bWJaKbv4?`82azNBEJx^1onqEvm zdU8-|jOqE|OcodZro@ZtU{hinX*xce{$`jGFC*FQpE}ULi$rGCHQ|dM+mr9;UjGRx zHMo!&2>(dy-%TUy)p9MxO-O0rHy^MNBRhy9E~N$UgrQy+>Z2Q}l15kmrA|oryIQ&Fz|u3*aOzz z{h`ECztd%w0CS!Hok}df{Po`VKe1z2d}kn`^>*_T!i%BJ%aPO?GwC+c+h#NSaeSJ= zr;&X6KA&>=1RH^MYUCZ71K7Vv*V}%6?u*at68%N4Q@u@=gHp2~ZWyy{YdeqywgV5e zr1Cy7;%IaNAL$CE>{LoC(~#&f|e;)+&eYzg6YdH`8O#|VP z#Hcpl7Y#b%S?Q-x;JyMV1t*onBe2n2^*AI$k#vh5*Flp5+Bx|)l#}()_JkI~d2{s( zhC}&N>yJ!)pX;_rSGd{Q)4x5pIiH{>Yoo4D5$x^1IBFFJRRDA&&4kj*z$nN;Ou^Qa(PJO@wwK z{$)s%^cOBUBi)QwaBnyUzilINCoAav{;E9&dhYD`Q7YLEV9Xo zRcvAG0PJ*RlXD`n!aL*fvdKXSey$%QRhMsqSOn&|mV2D|luhbgc3T?)h1?}HEr*v# zy*#HBR=|v4pdFubIal%md_yNMZvBk-rG<}aWyOoB{0tw!c#y-GZ4t7?&m376KV?Si zv&>14mJjfOzDef)3QyQUbb~m~fCsaol=zTNuF%P?l(DbfY2}x1g$1K)mfFCN?v%68*Cqk7MF7 ze&IiRg}=vq5D)@wmMjDv9c2y@?8ZA;GJfhUlmOycM+dq3)}tOx$#=cQmFJleB0To2 zQkW8^hR5E=CWYS8{Ezr+_}|Muy-JJB`6B<`6TL_q-vyZ>uP7@Ldk5|Bdkr9MW>4Yq zi~W7my+>;1q`z-Elp$5bY}HNTY?WXh^=zH=rcWoo7W@ox^;Mlc@kIU#o8Rzz-cnly@t&=I8F`oU+0Oc@ zQXG_sb6$0->4%$j-;X@~)cvTI9xq~3mOwvMhMoEx+eJ{PDK*scV#8j!Jxb!9Vb$e} z`Uv`|@&=!5<3jds(7Oll344|XI9`H#!YQ{~OA%?H)F`K*TOb9)*OC{k`8P0Y!3$Kn zR52?^cp=DGLpfXpK&+U~E`+U|@&@X1%VM`s<1IQSI@=4y$K6$)8Svu=QkhUC`U!{! z)TeyL+%V>tUJITsD8Rr@}f2W8D=ebu_B&1)^rA6I#jqD+LQZ` z3*{wbO+MA5)9vQBp)C1(W?3)g#3GCN5%Fu@hFS&h{EmbS=(RIVqKw>))?lu6J0Oe0 z#Pf}8C!YhIp^=JJS4(~m-AX0()Ai7C1)O4c4vJZIr07mX(#7F|Fu7lHNxD z>D4Db1ud;o=Rv|^atnvWK?dCy)H;a8OnlHwl&d@H0&r_4lR(4XEM9THTKN-zb{tC7$P|Ar zRRpyO1Q=37;Nf-WvSB&S8jg9%c%idj(a|Bd5~;8q7lrgA9Tp|5xjxtG+~?JMDk zj043y9E$e9fg4&g&@<}94pdo4Ak5uWcELj4qA4#}ayqh={a`h3s+FTyJqfK{yl@le z^e5C>B%ZDKevZB4_2&1wm29-?|G@9@81t8vv}!9fJ6@l2DBQi{{Kds*9pwxa1lq2b zezsl!*udg)l86Zm1Y*@yqXIpMlc3Ln9%~c1ef*X!^5>=+!V&u3O10>ZJou1qyUc^x zn8UiA*h2nAr$J!F(K=IQfJw+3hkmY8s+JJeTIdM5TR=u?9QS6*b?%9!%9W1v$-Cw8HIQBea=z+(}kmZI$aPSyaT%FT_4a@$pPIYLJ5a+Jfp)Jn@(>Zr0?Y}f>q!zi7tMHKwtZI z6B3(x9#p5Jvw1j3_He7Ay_6H`#ecSTI5<_oyaq>hiDn6&Vg7cnD4|SU2|$TPWH;XC$%U?MO+SNruK;@ z04!Az$F9B4iIh80Z{x}65D=aZV@Sb6HHX5N5Q=w2xM}-23(rH5)(1fp{E?1kC7tni ztSUxv;O~W4ybwfAKVAzWhaxjan=8c$AYBw~tM0nQNR;?mGSvSS`riWq9Xzb{X`m?m zcch2hXF8t$H`7zvb)t|8^1vO3=GfpE*bk zx@(mEJK0r>m7I-_euRmtf(&N%9`UakK=*J2**G^hle$0!=Zk`ptN<-GJC*T0eOjZ(=~E18h6BpTn#IOV5pNU_s6HqCFUC;*V zY4u&&pv1?WSOiH1%Sy7w{j9R_a9vvR+6iJLuV`FyJ$19vfmBkva%7pCcbGZ*jlp8*1pS3>>w9mxjV&v2`5Bcvb zuntGtKY@*-Hv>t3>sFF}yfwKTUxQLW^B>M6uaT_Slrguko9`lf${pr2KNj!_v+AFh zoaBEU4*zrRzL1MAs{6V4Vti8c9RVT*r}?Q^7PJ(dcCKRnmK1AoIXhU>C-nsFslY&} zYTX_&n;>}Ti)p;WG8Q|!XbOeGJ2)wwRVvdbT3ntMk+}`UfIqJd{CfT+kV|zeCwJlp z&rLB6vIAinT)Iwk?=m@-t{pt3LXx@uW!VJ|CXIa&osS>tcB}&27%$84QWG2S@=eHh zxaUM@PP1`d<*dH6*})6Sd=fGaBHhK;5gS}y3r71<_~JJ4;PF*=Aiioo0$*pi_&QFX zc1ohG{G}AiPVNt7h3P2!%6OveD}7ORQuk+vGOkb9HZbU+CbZu@mqOe-eW{G=2d!!v zY3Wz@LR|&kps$?PkxsMAdtKcdyiIWBMa+7;8)6YQ;uk*z_6n|cxnGcxg$&`v6ua56SI>ch}Z7fH%s15@+25Xi& z@m7qDT;~CE$nokYFi&9llpGkUQ3QS?fa{?$hNqs3)r2&wY z*r@c$4nH@&yx9WYXT%{KaWnjp8-bFAuF8~7X&}YjMuW(##k(3KVelWeY1W6-heiqAD5&J%H|>(G`~pVh}9$eK``up^DM$29oD%1*%WL1 z$TdaFpIlK7VhuJLc7oy#SXYcDx;XT|wiu06hnhWY8Aj8Scyd;n0PI!04kj5*O-OYQ zY1}3A#xDshaXNnn1xqk(z z(0@Sd1YUVYM%!<{;kRSzDK3lX-7r_gvCK=%i`Um+r-tPdj_Bk$rP>?!R?H2bJ*1GD zNZf~|nUk5({zh)z=9=*7g*BKexjpMJfZToBZ~4ogH{@bd5*wuq+}{YVc7O5n#0B`X z_#Bt`!r8j08pFoeoxYAHIf#OB_T$Qm`!RU*Zhkv3)e7yyhV6$W6yvFLtkB!EEKSK6 z{~A0K;I*5X_kL5);z9;uw_hUrzYImo7UTwapV04ai^m7~!UEdA3mAWx1i_{bu zaGYBJxg$8?IUy`;! zOnUGNa3domH@WO5`6k(nk9_DbrvqH7@g1hW*KZxK@`V;@bfgyNArR8C1H!5Uk(dpf z=~&%E(R?7n6F4yxB}P1fV?ql{5wzvvz#w#IaA?nA@vP9EA^l@k0}Sm=1P?=rkQxWA z{VkVwm=wo6@ly#YH~}e`hKGdOwldWlYH36wA_uJx?HLz5!^w;sC+n1~;Bg)G%z_4c z;K;|vA;F;_igCe#PVWB4%|+PwHYZ!yM4;u1!)Bm&evO|;qJkgjXNVqN3h96cecxcgW8G(FA zORZodSQWd}cewt8#zd=lkbw|v^V(hr8{Yvw3MHnzjn5 zn^B7Nrr~YN=nXJDt@r#*0;)T-Hy{UPI>c5+@MvN;FhVH7&>o(d{S6E8o9>^XH;FAz zIg|JiG6MwQ3_q>!g5w3DZwC<`-r)?ZI1g+SZgCT~VmWVWvm!&sz5q*W{fc=K| zeSc)^<=py2hCYN@hBvSKBWIk+6)rNg7zub2!(+F8e5Y*DTwJys+JSmGRN+N)tzQr~ z_*;Vb{PyJO(7<^^G2H4i9vMRKW0|FUjeS1UVqIq9SK*1XX!)f<3vte2 z7C#%>Ghj(;teZ=R98%Dm0fgylLv1}~T`r&m41Yvley7-(_yDyLq(`W54h8FaJ8*Pp zQ7ObLKqTd~W)#2yXFzL4KDK7B*e*!4=2aHDTq@J22B2fJqq5#5Ubb*k*s{L@hO{Kr zg5Y$zn@xo*CyX(23+^FUE8KJTt5)&CT-6E3MKDmD*<|&odzs^#tO@Vac+D*=PMdjb256Q) zpy+U5$1J=;yYD|vtQ7?pAtlv*GfLd4ac(a(?>gzg9s~|Gqde`EP0B#=+Sad zJ6zN3C$(7AL*^$(yDWP(nO|b!wcfHtR|JOO|HZ)*@ZSoKMwV5mL!YAz=96B07$TWi z7;<|e#h*NcdNZ2nycf^*hZkM!4c}BsC4=RZMqJ|uP(k2iJTMo0(R*(Jap|xV_QJVz zcvxCY>30%{i!~9K*5o;J-L%`u-U64L;DHHdf@eP<;(D5%APTdZi%6<--MIuJedkzA zE(+z|h>0+SID;Y`b>`NyNa#JUVvpe!fF}|YJiwn=0Sm6jyZGbKD!V=_W~6qI%E8_X z3qLi>1$69)+y1h(WI@3S^(QRd&c(Jvna&$}V{-wu)l)&9)UBqXDL`OQlIxl5Lo!&8 z%f#kmbwPR+i&Nnu+yOlr-K$3%Fvrt-^cL#x(<5>4&|`@)^lRqk4M%q(tNL(tsuOgt zjz1tIkV6s(4Dyz(odxz0K(M+lpPf)||4fhnG8FAIz=NCthR8ON1Az0Y6KOOhoiH5W zRESG74Z#C?53iM^ua=V|UJN%edc4BG0}^4{P$c2e;{~&g4`I>6@FqJ6F8IVVtOIRI zOum-r{4@9s>Fx-*=c=nUvq1Yh4QS2G2YrK#pfI%&XiaVu3cvv-^jwM7FADkwpw__o zLMcQz0}KM!PmaQEixhTnK=EPqr7Ij`V;&|9?y^t;bqEAN08JGVC7wc6(?~eqdy1&*uU#HsW#?dqo>Yfr7i0xEz#X z=C*QJ(j)+%-5D4plKtk#0EZ&}(@%eJaCn71rU1~?GL|gf0S4M(QoI3t-^fU998Qjy z{Awg*pr*DZ&MnEX9!)GF5o!S{#CQ;CeM)~6`IHKng5;%Mb*%3Qx4stP%altKX>zIT z&$L|n;2KUmNSMZt(ZtBu*MKW6m!7ea0)J%aahS-KNTFx!epKEpLK)nK%0||B!X0MheVjVz+eSR%wD5Syg#9FQalnyXy zjK-Vf0T)Sy+V)|l8h5;o7jduwKfW=G^v$CvOL>&Sfe2j?atVcJ2SQKFil0DK^ND`4 zjE;%5{EAH{N3`!1j!2cBS|Vt`Szt6#OTMu3dEHCoP=l5T&BV011WxwOE9Rt9tvE)0 zv_yLbTb~GJ9-&;yY*PJEYc>0;aSNsd(7-Tn+3W>csyZ3d-kx}IItf!OgwQNhoH%bm z9E#A12aqtb1O}?%KN4X*fqe#Qzw18K)f+8(AQG=QgL+1I`f>W4ySlZhQ__h#llLGf|ad$#1&pByouBA?^K=*k~@}$be|N3Z1>73@@<2gDKL!-)m2&UuQH?^go`<$j* zc6Q(UoGdxqKyLup|NUX8r{M!oJUNn`D?VGukG)!M@JJ&+yHIGD&TF{f+ubkb`+jP?{~hlad*pj*?dyjg&+CUC|M%W6mgTp%%r6J!(8UHpQu4iY za^x>7!$jbfs=Q7wF9w2BxTPRHomlbzC-5ds(1BL$yQY>D=dbsl0OUbGsj;sZCqFfb*Yx zpIdzybu)``2aglfS`MA}R2F0hQ}3KBD++1@A7`2o>^kdt1=sV?e>wd}7(hnjV|b=J zkzj=~$<^S^Q;Dl2C7c)>k9oXDTpOX!$I)tfRHPiv{1FS@=X6CV@0#y}qZvH#^TffC z4rVa;l!*5PPt)6XuSOj{dyCqHv-+?m@~0JkfJ!Yr3#h-q{D2c{()slmDzqa5&KyD~ zi3Z^j$*_snsUJ}MVkwzd|1Ia&B%TGQQ8dl7+Z^=+)M$LIKgR9ur_cJ9;1WA}&{Co^ zwC6-)*=V*iGW7lBNWy{E#taL0AYltvUxaUeR=b(l!LzSTP&;CSaWTf(gWyn@8@32Qs?(-SNY?Hy_~^4wi$Z=QBN0Su~*B9%QZ48v&pCf*?7BuRMJ zO*qVGs@Dm5lJK^hkR8lN?m_Z$pZjv8yc{bpWA4kLJb~ED1`zywXe|#KX9SC|edq}B znGI6ct>Oj`p5YTO#;YW+LpNo>@V(;4xV5PipWE=6jn8O&rs4B7J_B8zff<MM2iNF*$ z7)L$=OE^(sg88CT4o|x{Qu&U+awuBY(s~H03PnZX$l6S!YBTamMmZZV1!*>BoEf?O z2QHoF#U*LOR*H2?n9(PLOlCAtKCSKy)cr23r>VNxE~)!(PTi!GMDQrojgBWthOLs6 z09#euD@At6QkqDkH(oL{?f!w}8y8?7OkPwVHx1qRU9rKir?68_!>}9`%=T2^y9VF; z@i__4ui*PEe6PiK5Z|6b{L2`WIVfvT_Mibdc=(9F%s~SO<^Jml@)O8i(`)zvmtI3{ zyFz;kjb&b-%O4q0)9ey#X6-^D*oH!U`?9ts-q6}fvAcp555X2l%&(E5Z$ga&m0PZlTLcqm`@!g8gEBKs=&(Zko z#K)77nUy^tXYfb-4aEE0L7zYa|IB2%%Czkd?J2$m_Y@A;-{g{$r}iTK9%?s z;PWMX#^Gb(Gu`;pJd{k@7Q>(azWVRs%gWk<#c6FLa%TolDtnZH5N;mr1|G=w z1V7h$9@4PFt2vlDu-hFHr=nTC0;WPG@*V6_Z^;0*#iWObX484wa%1->pX1Oci-8uNDC0AE94tyGu;{kQ*V0ma+199@_5y^hMpM>+ zw?p7KFaA}U8OHRq=LQS8D4dOzHZl`2IH#HtQ`U@L4q9S~*_i6_<4xz5q7BZa0dpW& zqDxJ51F-CUmi?aDaur}87?B)F>sD7mx#~2|3a?_T;A(xWWbftv3nwzi_M0cJzedw8 zDz4W`1V*@C$PbP4qa2(clEm|Vu#4CvX{qCtqEDUK(s3(XuhP?2JV2y0Z4DY|me4)oErK->8;3*keDD1f)12KMmRM1S+7BKk*Cppa;Wi+0Q#=FKq zb;mc*){%HatggFX4!Z{iM=^??SdP5zg%_jgFI2W`+!)J$j~^O8jW1Kx4j9!~XgHQy zw#-H>DM?@xr4#8*j2E(mKUph9>eve8Z$(xa=OESyj_A#JiIEE6YsH#H*`8{ge}5mJ zy|-t3=3y3`hUY`@@#JLWWaeb$e8gWi-w*isDf)jZRqHc+D}=Ln#eliR3@O;gz5xv5 zDKBs}{$~fy!vA9fqfOXrf`%iw?im=M|KMOw6E2rU>-B`=AvXMqWj_S4VgpTjcLiQD zL#?vo3A|u-R4zb4=l&8FXXXym%a>^s8F-k-m%pl+)4l2S*f^MndLDwf{tu1{`7K!O zwPdwCFQonN%I+3?$nNi5?wsxISOSe@4YF+=x_hz9XS0{-9bo4j?hcRyJMOEPGa=?> zM1I+ahuEc0+=tio*@u@VkHI6r-TX=hwu@w+?d-$hSeDv{=YSckMjgsW=L|cX#ga zD+8AArQ(k+^bB1-CD&ix9lQY+<9uo4_Q7n(EA*Inc_NpRP#rv3p|R0t)P93x_u$hN zh`oa_IuiW#O*zmbcP77%EIOK7d;+{x=At;wte)M!Ke{cnBP+HA?1ih!tEqhA9=}0_6H-L%TK-_1(3?+B4#rqW zz368VK%3Edgi4P-cQ76h$QX*x3mj*~aCAhY3IY|ZXd7lQ4E(2KJwti+;&cu4rM+lx zEeXMa3Ge)Y%Im`XE!P&5Z-@w2o*7yz=i35sRJd0=pEuB*0B8#7d)gdAQS@g_3j65JwTMi&6n%7-J# z&w_G2c1L`ElH{*Jk{NxPxN~NZFrLRSoC3p)-o{}?vCUxRR>sDh#;BHqGVb}$#gE(3+NN)tQc3H?Kuvg_wX?qvOUEi=&SIl z!si=}*`DS2`~V++6Rtu+`jdFR6->SnA7{@tFn7?fkNg{)H*5$JhyH`h(tnEmi!k8m z&r3j`YT`0k^|9FVYPaNdOkTU9&J68<{`N~C*Q97mPZ~$Gt>pWO7dvWVx?JLX=+>JZ zAtAFdg3Z|ShAZ%8Wxbeqori6k$RnXY<-~|ogXWXR9zqG!#Ix&26-{w9u7^scI_l!8 zPy*`WpQ3aq0d?_SJRm=46VQ6n^CzG){*6vONmAitn}U{r;+SzXQ5M`7WwEzROU(|B zK#FLOtFc>3OBpFCW2H>2SIW@fJXdWDvqHMs_)M@&Fo|gZNe-Vh4pd-L;%+qugJW+g z0ru_-y4d@T#@=IT*b6ME0-Qmi1S0f32S|N(r$!@u7d-U|Dy@tr`067=7tTU+!^}T8 zzY*=K9opPhQ61Txmc30qdNz&|v$JG158#L99!~QxYQg)_bQbN~boY>GNoegnNEN7+ zrykrET!QT*3POrFpdkA(3jGKkfedKq0U7GcGf?4eUM!2N2{~}Kvk64pQ68=L1jguU za1tp*xf=CqAWn^GW8>~?-7C=xrU#D|>UkRbIAlMNdTevlBVsFQ`T@W`(h1;1`w*j% zF>yhHfvZD_VMfy;4ImdUBh`OTt1`4!?hXtb6-pc~6oXY9S>kC~dbi50F<7c=8-UsZ zXP~Cw{T!8N{z!4oXdJ97?2nAtyr#FX4@8fMu>;3S4^iVKfDuZ-1^gMExj!<;^mtgO z9ymQ1E4e`@j*(tvr1vT^;6lW5r)~d~U{PI6kM~-P`zX z0IYTR-ivR6nB>(&WH~3$~p#MLsCVf46a;dW(VFBo8HR37Wy4q6t|RS0=>zDs-OvzIlZbkd%6>F#BW!0Pe9p7puVvs8_Ff=9LF<4YHx+Pk=O zw^<8SRjI}})-42%ta>p#73SDvvs!otr(Z~+XSJ#8NJ;Ie7JFB(E`8d%dgbSuA&_<3 zGSD_}-?p(6AJH~3co~f?;6HBrijlil`$ErZgW2!alF9c<;yCoOhVA?dh3%v@3_D~o zh}FUNGyb(+MXlM@@a-LEEISHNK^5b!|3EhZI^)crX~I~LA`Bj&@C3iC)jKJ?ho0py zLx#BygpeBJ=s3KU(KWoC_WIsqmC6QZYbifavIYmV3_&qu?%hy*2cF$b%jWLw*q^rz z3s?8fgJH!Mp*L=vVH*FMGcv~4)`!*`;Y&d_a;aXACtt@dmda6U#C#`>qRJj7kp>TU z+Y~Y1OG|b79ULh=MRWQtEm+NiCptBG%jBZ+z~N{nF4;jeU2M`)I20mB{e3~m`@YC? zF4+hkdEiKhDlM3g9`?eYbgwTM9pL9&*l-|qAfkV_+E&kJqiF$1F|BdQ4OXs@$$-1x zB7wn81}j$5O=Fiz&>F-pxl0%9H*@dF_H4a7+mpK@+j9&)d+;g3yH0#p;`;~q4&nRL z+Fj54YPKhia;5nG3O;w;o9)TQw~f!k`1}yRe~0fnd71zobZjG6i3ba5iEJ9_;e(cGGvi?zS;5Y1(JZlM;%Xp4!axE z;Vi&g<-n@~JaL|IAPxYVb07}s3sD^*&B7tAPF0K*xv6d8*<{dD0K;ryNdTS-!1|^F zX_tWI^!r6apY~byRJd-{x1kF?2<8|(!&%>NJ4M!Z2BFb+gK7~TVM7Cl*po(vy6x4l6Ml8&HR3f1Mc#p@E5kd3_t;cN;KKH{c7F z-5@}rHm_j3?NS?RuqhSXK8?krRj%cRfZV5XjUeIIs43P%fgN}W$gAi1>JP$n#yfN5lJctGho>vqh%_;!;mwmSK_`jXy(1 zyCS=3gVFd19#`S?tYh@FxR~jp8*bB!*f)`bBz7cKi!CL9s)O1_26X>{>zAf@C@kSI zq$VzLm4lAOT2v4fJsoCXBrmV8@C3wWaGU^RSy5c~1Pg_g70(?Txw^-pvEowx8`6yAADK!$-4UAL>rVOjFgQ*AuJ zowJx|9_h4P~Vj?Jh8w+=-S23VqA$hv(Xtv|!cM!of(UFSt zc{%P3bEbBr*m09I%YK5Q<@mSlePH+VYHWpYd~E1wsVn#e;_sV+zh}`-aL}P|I93cZ z`UnQr;h;M5nIX-_G&*VVsI#ST2|I_vj3Pi^I$OG@oYr_1SaMlMOFY%X7S+p%J3 zh#z4$6H?iflG}!qO*uu6p)qBTmGzi}mOyWCorGFD2It6dk?Qh8NU2S48;#%AO*9(W zX3U3qp5RQjHoZ@gp^Fb4;7P2|-3p#Xq{o1C9kYHto@8oZ_@?aO1WX?}agX`MBB=9k zcSaz9NJM?%U!M+tFya55@K;Gc;#Fd~NKU`)NJ3q2{61M1trH+;)ODpg4|VA?s*w@D zM;3dN`o>9eBb^Q6V2CQ7Zc35Se`gZ@50(}E0c{}Kf5@?CU&YZfGW$Qa|H)@zfV?(8YHV7%nr5pgS9 z&Y~0<`^;~7C;)nu2e_r`*YOA&xo&k1mI*MwEA+&X?OV#pNm#hm^jcqsr1RmBG#TNX zU=DR1lDgH_1)%j&X%0zPzYrG`SO*SQj(=@@k9I}!^Q1q-$u9Lf*f?EzuVblf{eWLO zxnPpI{r&HL6JO&0!1LXXpIJGy0;wgOH+R4l-_PhAK-g-1kz0>McPL6gE$UA4tA0Z> zCgz(N<;h=};lH6^guZ+SebL%#BX7-u41A< z0aMAuVN6^O?khC*lG=z(0!HYY+$A8|YMo_oR98zeTos~D##5+mpg)3}Wxk>B?G3## z5Z4-It!v+tWzF8K7NLcxxR}gk6kxl(dGNJfy+IS$q1ef?luxIN8{xl-m4FRhSLhu1 ziH-aW2dAIGT9IR(`?cOPm7%MV z8MOpgP!*ZtMJ#uWnK}hS0SbGU+@G@_F?!W%iV~4y?nKGd{!85NDhQ;Ow_=0Z0muRJ zCRXv-a)6LgA~~y*K>Zk{TRB8P-6nMrRveD0z?qVS15!-F;rw_ApyIG9qm(;!+PDJG zLYv&u)03sWeM*0srE^Tja*um`%;=Yp8M32#5)ob4jzOQ}H@az(WihNf=C>x#OF^Lh zo|)=rSpMNx73WJ_g_+{^q1vx@26Ditp$K|2{y8h$SXf7%n-r%pxHeq3#r*>^17&Eh zy|4gp$fL~qH?C&aN&aC#|l@I z2(nHjPCCbLRqx zh7)oW!#%XT3i&2F2LGyHknwh^;WDC~YOH*3<{)3|K-G6@-n$BLog3Hd*Ky5ao_9y< zN@$mb?@O;d6mXbllar?qdB{>q@lx+tTAh@^QhJkm0Kdog@S3p-vcw{NfFDx|=qnI2 z*#!x2WJ<33w)Aabe)Ok6h1o(E$QVNp)BrN_mOucMs!I5)pnwf=xm+uT2`)eR(Wg^I zA3}y!E_t}z32|Jus2gvUiFZ9+H%ffHr9}6M_Tg z?WyFdJJBcXzK9uF4*lUL^x`S6td9CNjCui5p0WR41XI zLd29de&gsM#uahsnH~Qs_)q+s>i9Iz7~WX86dC!w!uei_Z@8GP1lYu8uf5Z!?;O0j zK(_I$u}(M5gQn^AcvOt1iO})_CSR$OUwj`<&4(%MqBm!mLkK=hZ5$sfT@oi#bS7Aw#<`CbT|F> zdR|)iH7Fa+=#7#f(VJhw)pM!|ZxJ@Q2G{O3u0&DcSYPLZEjll_N3n$HF*-4GQ~``K zj=Tr&C!OXGuVk9v{ADUIxQ=IPf_Sk_f#KrTdo-9c6pkA}ZQJu?%v z>U8`xTWo;Pcp?8dO5QEk@31A{+MR=UTx@|ug2t>3&gJZXs1Ur6ccGDl|F6W)6a9zQ zef;rqXHv?&w@`PGrOyNUxKeOB$_mb<8=jRDj)pfX3Gn;CUE~4?YT%SuF(9Zh&^>wP zQt&#lyp)RGg8|-3RJE|mPR6S~hx{6GK@k|1llwG6dyLRTVuP$CE4K^nG(eN+(P<#f z=o1_{NP%;?esf(>vqmP@?~@4eXGw^zEZ{=iaSg;kuGx0zkKj4H`MP~iZtFNeF`ILY zr{t~KJSjun1(;aLWWqfIc$x%bbgQZ_hhoaJ`1n>5G*^fRuM!%TdnuknUea)EByx`5 zO5*yW%mghS(9wc=c^inJ{P0KocGlGb_Jz!>j!Ldg>Ut+jyA;7Tf@$+u-(O?}MC4H? zWuBBu2gCB?r2OI_pF7c;@jXt%k0Oj$E=$e3UrU>(c;jE;dRs?8kZw^GJe07)3y!~w z`G8dyx=wvcCcIiNv|4-Dv6KrfGs-d?XOy6#ErPaN@KT5L?vmg1e{l$gqpkNgAe}16 znPy82dAQ6H6y>bz;5on!3}gq|s1lj0?c%^#4xSc&?MQYE81t+;@tQHz{F2TjV$1k~bQ`|D6-^9$2nVuYbpDHODHr&@XepgjRAQu?>Rh&V+a%qKFFNorb`Jpi2*imeE^VG*Ve41% zg}JWJU+Ejq-a{iIwb%|=*E#A1*w*y$O7jmE_5V;lnIGKeyY`!NE_Md3MVn`!_1Uh* z2m=e?R-d7v7xlVyDUc&#p4aX~hh$7Z?C7w1^GbIBEPWbKx>bQ1%}5L)yFWYV|OMOMuMHiDir7V{2nSIte94KGSCoBPrYCOcoWXN;JGVo_e+oB*ZAJ?*y&p|06+8y2 zSu8L$!({gMJgK`KC*VVCmd%mQT7(AB0$2h&=-kJzc zKZkWD`o9{D@Y@X({;{3p*DZ%Qn?{swlZv#j*mgGLE6Cui-J8_!^*Si{ex0d4siaGN z4+8-^im3FuROg?xljl@P-K6f9CTgH@7UM42IRUsy-I)gTU8d?~ze}Aa#R9isJgA>W zN7!20%&*cNlaPizh$zi#0fnOKqqLTAm~O99Kfu+zIJcsj+7_24?@I!ACorNtOmONB z2wVd#zxkodR*)ANz+CNgb^s>RrV z=R?0$q1O#8@c%SB5ctP?Ok|p+phAe(di$f$<|Xo5xZG0sGp*1)>&*-jSM% z^}9PV0SUpdNwp5gvp=LQvo1}kdxj7PBsmVVEcz1ZS?l0s+-J$;>Nf3N>gZuGTsHkN z-aw|Y?aQ2Wyr(@)?cPFOJRLF$b#!)DGEvm-54#H8U#SaZq6dEHsNLsLe*F8Plw$ma z^VE}gazv=QbP+10cFz{ptLHS;?y(7uVjX=WgxdvHx9m;T6+^+^dSWlYE)7gJ8jXjg zP*P>@>WdQDM^M47_0cgUxi_jeDUUGNp>(US2HQcKsKHNwq}WS?jVn&|5-1vMw6R-# z;}G-~xa+IIPJ@G*)USbMt--EKYOu)z?w5s4mrm1Q_bL4lOQ&hD>$C>jhdWo_8ANP% ztLh;f)1KI)a771p@&ow}oqaoo0IK)uw*^Myi^5(+PSpsb!25l?R0GhHj~}fI&viAQ$VBxMkPqXfKZC zd=(Fl>}GGW%9?lJcc6-S2Vn8Rv=pxcs2-(>@K$JJQ*n3ArQ1TM{eII63r9Jfl7JU|yX7=L^nOP00;>#Y3KWw= z&gE5ZxGbVe4LMKvCZa+L-|SK+0J~^Fk-a}&m<+G~bKnIL`^P*3AE&u!E%fmb^8)pQ zZ1N;@PyHfCKh>!(;R*6Pc1&Gr_^*kvV6E0PvFVzD1;>bN9A0f<;z0H+Qoaii+z3Aa zuJ^c%-`cU1xtOLFO4|ZBX{HZ^Y)lF#=|jnZ+#&<%CBVpl`A?Ht*>0g@jp{#ATw-OK zR%dB4_;+SZPTLOP594ZNKEPPQDG{!d3Gi#uSB1Jf7jhB^u!2Yd0)Ph(jC)pijn4KG zvlVcW-VJsD6T_snSlJaDN3RtgI zwq_6B1ut~HL&{cHU<3m`g4>4_I76E)uX1>_HCDAF<4~pV z)wwZYQy|@O2h*({fmQ$wUk8ujX2ONHoV|=@QD3Mn+p^EgRpqlJ$4UX^P|jz?q&|jj z9R8K^cM@rR;bdpfaD%|uEiE(`or|5UR`NY99mw=Yda7Lp<_nu@*$0X_*QLHKTg0oGrY{jzgP^?qlC;5 zSF6nw#{c{s83L^n#1J6>R`@4^f6nTDx6GVt92L|&4>ik3U}UdzMuHQM6X!Lo08l4B zjch(-V<`@wWY@E^g-Q^2{JPbTP(bF;XSvFM^vI^hPqf4{ct5LofjQH%{~{N3sd1Jw zp4y)~GNIuqZhR#MnfbR%i*I~VWjqLSnRIgtJy?zz;`o;6vDVV49`c)#o zlIJ0*f;F0+0}dT!vax&(euyg8XrxxFXQCIeY_BT`3^F5C88P^R1Ge4`M87?VKe%nF z1qW5%`jGy-dK(b^o=)?JS24|bjbF3mmrX^rx)ufe;Yayw!u(^D&d7|NB;l97E#b8w5XkoTr)a#{VxaceYiO^#(D)-YC0L{?AaIaT zu&}ylhH&mWzg<<*YfVBfNEMP%Ezyz;qOudfFEnb@bsrF4UFuXxHJUKvq^fmD2fNb^ zK!(`Gf-@Ff>l8f=MPoCZrag+6F}Tt(BuYO>1S9Q(#1c4bV^FUI5;qwQucKOD@g^V< ze6vP5QOAKp;*Ym1*lT4A7a4KogIO?j-7SN?dT)lOCj1jVu`bTI>2bca9?JE(Rcx!7H#hbrM2T^Rcb9B4%pM<#6lDg7WY2$aoYJcX0o zXuPCztU(TdpeZHRigfiAM?58zzv?{qYABM;GGq558&iLa)Of(rG`wF$3PPknB>Ky) z&((*K_Av|GJ!Lv+ITH;*g_E%q*SF!3b2nJv8i9_`=97F!{tOIs7e9;)E@)+~ztn9? zJR$AYv7CgJn$fEOTUeNy3yDo%aZ>BEFDmufH&yuTMagSUaIN$upSVr@XomTplwKI% z`T=`i1%^mvRmxI+EsDnSD&>?Y- zF6+tA;+pJx^oB=hlTAnuccdi)$_nb4bGg_{%XGM-m()=JBM>mdW$)Yz-Jkgnt&j0l z=tZ75!{r+{pPFpA4wf|_@?-WBEE{u7Yhtcb9yDGWS-Rd0T#YzcBW3f6ZRc#Ywc3fP zi;ghJG%rI-n(7eJFJP!G;9M!?jWR(&sh|HyXOrijzUYW8+tm-zIgHtbZfLWGuwrS0 zP%^aHoIat=c)IkPk85#Fhc-i}TWK{85Gqgi-Qi$UmR9BsoHZ#R)5taqf{x#OnSylF5@CEO@Dl91V zrLx$D=``-O=Z#WtzDI)8$4(<>G(HCD&)yF|<4zERH+;JV^(XThjda&B^0NSDTbd9Q zdLOqCh~dqy+Gd5?aSK7s4v0YvZRp&X^k%Lp_Swq| zS0afA!;Ukfe?oq&Tk45-rC-bejG!0H6TdBaZ^YU6W_i?d$y8GZao}Y9Hd`oYQkQ)h zu;PPrHVZ)$7BtzEw+K3NMjaZ!g;yFR{z-6BkX7>~o#BhfpcgNlC-wuRqY+;FcFXM9 zU>Qx7c!8&az;J)03hEa*EK)EA4IFRo-axxhuas9uBjrdGfNdm(@k=Z8V4*&9HUkj- zcCZ#Qj?wrB8RPRYA8U46#V=y?Evu|%r_t~b6XY&zm}8b$<(;<-^4qs7zx{eV7Y~-- zzS1(5-7Lkc)24GKd^d3S!F;$ZWg$i#<2q*G%85)XoMlBS_Zw><#Z1hd(~fI(?Cv?Z zJp>VVRhBSQ<1X5V9j8dhITnQRTr^gl0HOtEMXOOvS>j~kcod$@mX)A^*wrXUe?)Nb z#3aev!W<_^4li<;QAVhs5iI6o9T5mpkXBdS&)ptk7$MPLb`7= zBx?(mb7`S7T>-o@)gSk;swKymE!gG@aZD#{x5eki#P2eB+?yB?({=sA!&cxqSckC# zz#iD1^HBrAnvn|<@TSjEeu2HXfLZWzBwi+Tjwr7bRi_+KH)DLI)qOM?U1R?eZLSqt zNw>Po1P39~hDv{GaJmE>eTG6;w8n23V4^;B`zpY~1jC8&DNsr@y|!dj>v*S&*CwmM zjJ0As-b-9u4R-|*_OMXQN_l=>bjf-S#91uV@-Xto7xDL@@|)uuzXpb{z>%heRASQp zTnM??UgJ=KxsbAF`f2$dv%niX4yOcyqewC<&X#4Ng5?$n$UD%r_(-9M#_K@;Oj#-^ z5(`&`MsM6*P2E1MSM0ze=qT(zv|;womjCnipM(LCKY7I1(OX34Vf59)vt+%)!fgMV z+DXczVAgF&gJU@fw$_VTi*IPAVQXl}#?V{1syVdoL*prirM)Zz7x{Vfb{J2YnP&SR zoyROI45k@s&$hyOe!Du?N%3iSFxk#rVY=>MU()-T^K}j1LERekjT-b$4f@Xj&BrXW zT^_B73Fxq(z!FjUAw^X9{!YwQ=ifu775K6r`aDd&iMf=Z=TAkWwd{$$;O-2K+|x_w`Pu>#jr@2x5CxM_A$?kmJBqKFFp={?`$ZmZjj zN?=3LFAku*h-H-sHKT1*gCSDqrE$&zI&!bZd(7o|skwZ~dR;~ETZ|SQ1P7~vqw|q& zTk>^V23e6cT#)03IS-bd1LwI~jE?7KL=zkaGn%4;QM25`I72H@JJ>C`ZfuG;5!_vY zWwyt(G6G{PdnN|If$fyh$+t5nWTW!ioEy85c(__j=?Hg}t)i+cJdSsczXG2uyh88q z{VpZnFX=9Z>whDJf}r$as@&DJZ;|We@GSV3brvh!%oH{}EYXYTmHatihTy{WZW>N_ zGZ(xZ4^QsOF9QVN{GHfcaC8v9+ok+>iDvS!NUiv9&(T?~i(MnZGjhD)m0CH4r`6MS zz5cM=2h%5%hgNJSb!01m5y839*n~$p@WZw7!{vHy6eW3RQ7(+~PavI$<{lxQ;L&Z|yo^C;Pk_hKU%9I98j%53pbOhFiagw zSF>mMI{;&w@G^<9cKmQK_LOAqR<$w>IvM=r{1`{L8^S|sJXh(ecg5P_7vP`0(;rzz zp#gQm+E@H-*y347dYVaO!90L-Iydo_NS03ry=jJDu4 z=AJ)%BS=|~jrtY5Fdg@}Zgr-+35(4}8Chjx7yidj;h(e|{qlhIsE)%HD*^Q+7G72i#)ZQkIOk!;W`Ym))s>aG{IW#zOU>WNQAbMdfo|;e zfml4i%c^r5Uoe_J%*HGNBlN+FZ#4WBzbt#8FSKqSwb4!(cIaJj@1;*}uU!Yr7N2VJ z+Wp~~xi#gRjV9W^YgiFO!29jLf-^4suPo0B4f95UX%HsXIDh1_EPyukI@hMxIj*K{ z{_sgvHe$OI=&y{1vr%kvBs-h_NF_DJnAT`FbTZ5^{sk2TFVIItjm8hbw2}2Bs|=IE zXu?_KzQ{3}=qQ(*t{(#L&UAeTk4FALi$_uU2u)N)a);`uW-phCi3CR3X3%WQ3AHUd z8HC$LfNd(IDkRGG>B!9}+k8{&gxapanI>-sCFVUWsS5 zvm6PV$$slmf!RVeuh<#Q=naClF0~5+m*4J*JqPfq_FU?;XA;^I`!KTb(a4*`k)kTFV&iv{$=@J0@Y-%wfgaKt%hkke*^U0O9V^j}NbRZ8RUioc!?t39 z%0(MuuL-!`n(Tacb~?gErK9_X){9CN+bn3R%nqJnwk$zmR`57c!625stJtZ&e)TQpV)7~haabfkc8GczIJwqqZqE=EX8{_`E<9* z#hRfM`XhEHW~C__U09=6T~~}C(PKujHlrr5i}VYArZ}pPj5Zhc~zxf{UL59b4}2FZ16Y_PMph_gaJ8L#63p5E8uZb_tphw;yiXSRmiH2Zu zhMucSmu~-A>&buMemV>!^}l0e#T6?6mfM?4l0={{+ZeF+>m-1AoD<;11>EbXapP0U zTxdeIiZpf6#uv#YZy3vouw;DSi#7&a4S+)7$R!}bEC#CAPD=;brH(q8#Xq$&dMJQ% zLVUb3`ueoW4pc_JaR0|BqaTs^ow{h_Gf_q##L)GXm*{s;hZ&}xI!Ol5Z(okh?1Z6c zdlfFru;2BEZ{Lgo^@To!UU@q7J$^g0Dsn@HFZA4gT+HdIiOkEyw|QRw$T;#4wMFoF!ZnJ99KevsnLFB0%4^p_XYt3}V7{HxYui4Eu|6dHN9cCT6F8bv<2M)y z9b~g*hOBg5F^jd7Kgsh|M$`H7vSu3=HJ+fN0{YZ_S{5ipl0ZCH^2~tZuuIK5$8J&;O8{BuD@gY|*bOLvaMOq`Qwb~u z9iKn&3glO#9SmrJ4r*J+?eAA=(66!XpjxZ!N%8tS)0HY5uRl4s-^c4uPIharzb-Xv z9L^AwquO+rKE(Btp$HrgYgjXyh8E*k9Z41XB<<2S7Xl&ZV1%fVquOKeS8Cz*3=GU) zP5b%S5a5xh=Ycr~^@wyzP_d1iI!%8Jj&MhA$S*vQfkes(4)}!!i01g~6EXKe+(AW0 z5Y}G6g3twZ&h>sJ78axNynH!OEwfHAkBmD=y;MLZ=%{%7#R5&3_LM=N6IVrbM$ zCs4S9cSJxc$i;Y?k(q<_SyX=j9FEwNSvR3LwjK;g=T_}n?V(pO)MQB~E6`{+}?eGx6 zcw_bfc1Kk$@ogry0tcowyQ&sP+R9+c0i8p6p-(G@EzCNw7>vU(c$fI>mr+tZehP6X zGN^McVf>h+7&jhuBNLX+T`}GxMTlZvdR3HDy1hV{zx=1fkG!U(b5Tfprr zlb_=B7g93YM30{%o#MO%vc8>-qk%62EpzhPdF8p9$6Uj4n}jx)EnD%Q;|2ko`Bvd4 za29UYCHeSz7+=CB%i z#lzTPG<_ehF|@iymzQ7~fvgIU1Xj`ffS?4^xoWfOzyOl+Y6K2ll~%MNmz;W>;A*N7 zLlOiM7>kM$=jAiIc3Z=pjQ0@a0oO({DiOHCW{Af(-9q> ziG3t#{$6Ck#5P-II$ipaWD+laxLILGLn2i#LB1kcq7_YtJ4ToX-J%(~XnZ~aK9A{; z^e~HmiLch;6M*=_wA7vCOo}$uxpLxKCp7T>gmQM=uYf8(EHF z6jTm{OLX6i{t7LF|Dd|!WmomRlD+!R=HMVizyD-82nmWFj ziX%miO~~(;skP-orCxI0*Wx`?@CdonE^i)_WX4J)*Z`ox^~7kr#)YqSjh$*4a$`k4 zRQOW#Jjg0oO3#YTW&yh!K%vV6J5pbhe8K$aEMzfpngNSs8G%LalVL|5h(~I!WYf{L zy=6~pifDQRxdjwBY?rz~gBl*a5}*(qIm@*F7JD06kT||ajYhIpM}IBA+R{1@{&Lih zy?UbX@ev3e7`;{+aVP4x{~BY!6nFx(j>0z$;m^G)o2UHfe8~mw=!w|^UM%tOo~EzR z0e1PUz_F=_R#AXfOR$!>1`R8m!FTwr2bLz#dEl`NL;-`N(wD5)D7+Mv`s}|Ei}8Z! zWN8Ai6(1J;qWmxg%3no-0r5c8`z`>(+3WFTV&fEvNu31If(Hl^=nRFF-T0=9_21;X zOTDv|?>DNAo5kvXC041VcHvCa19+DJo&%h|0$7_x!LadoM;nmV^n+jm|A(`1|DVrQ zbtIzCR$zG4Ge-z_!ydl|GssSz+qs%UWrNGeb~OR<7Ak$*mmrLY@(madKbGTp1Y3d$ zRX*I5u*0fd3fo6h4=ON?HQb8Mfw^7BZGbz{JI0z!ec3dk~DK&DSMl1#scH^7J{{*xiH;lN5ulA`|$rI6J=AS=3cz4~A@k%Y>~ zty0zfk5Q~cPq@$7aZ0{^gpiXsC2vo2LQbuXUg3vM<}T(v%%>7zCEDK@HlGqY9XsBM6OthdUGGF-&=(@I#Yxdc_A|!{KhT49tsbmP z*9*N`_LJQ2S@vBkStFDyXFI-&kr4^Rlu+-yK(6F$-lEKO!0;y_CY>6uyc#9fprrO> zgj?hJcq1oZHmb-k0Wo}suCFb)I=Ru)evJc~QEl%IfCP4_J;w;e+>xXhdN~Ts5B%5r zLy10-2poCfd8P_XLG|TBU3&1_TXFLM_>3{8YG+@2p!V~C>PyUlGxmV5Ko4m-9;>*0 zH?Pyj`*wc@y!(o`_@R-^0!NwwN`W6`5dki#+6jRJBGFz5O3RTC8?rrCWEx;VTS1+w#_i4=@w1%gS;JpV33)vcdv+#{hYj#3?fP&~s`Kw05OUzpQ zDqL~T;X8^F&hlQNU}#ay{SCv-Xqh?>)-N->{kH4@WWJmuP^5d{af~c zmY+hnV~A-8LRLszYCRIo#%MZ2a1f?85FS?+!^+v(j7rZ?M`P%y3oYBiN`n)?-EccW z(rOffR%H~9r6X?(KH9evv6-!`J4w6oJj<2`Fx(+p=Lk<@qv=_an%%%G(D88L*7w*O zYntgMGbcPX-+l8`b1B|58&-JcNar2sfhEJYU;{9<053%$8?G+F;{pnu;c6_pp<4Y| zfk)x5;c5$y(ZjjsTbZZ>8Z)VSB+S&H6pmz%athi^^kYap_HV2!?cEt6RMU;f)MHYsVn= zS`)AaEHRd~BUk-?DLoE+bQf?gn1Ht&AiBSB6s7<~u?tG9S@N0?W`n!gBt=}|yAogg z3+>0%zf{PKe_KPXFz$OEr1~wm>uORBoc9rAS|p}&Ayb_CVC@=0aDt{-agh?T1;skl zne`$FG*C<#hewPsy6cAP(d9m*f;$i=XXM-=$QpbFgbDJ6Uxjq@<0!bJdL(<4M1iK_ z8$Jsv7RRw7LhnPy6aR8@GGCgY(T!bS*8F}Vlk0Ak$^3KwFH?ShW>e}rB?sZwYC zcj5uyk_6W;xB^&Em*ok4+i!Uz^V&hss>_l2uaaHqT0J?t)C`LLWy?xH97aP8(?V-k z0)QuYOlaTXL9m=w)G5r(*ZZ24nq{sRLdWIL!ig9u0fu5aW*dRNsW!c3C0m#1O3E z>}DMPt$KReq9un?eI(QYT(=|BhN`Y-sXUPkp|+uzpT4YL`m(y=1x3A-Vil^)6p{sb(gjX7mk+)1zFQYh~Tb-a_eL z%7K0=qZz`GIk>qJzSQQRW-7GI+~!IgXfcO3S7zfYzqxV%zK&|HMEqj&$mU8o+?gYr zD|7L6d~@X>d>z+ZIT&9B&6QZ?q(+3D6g`gLu7C*HShy5*`m^+SP&1&mgX_X^bO!bN zjlUNZcB$IIAK(ryDEd1!+Kbh61Vba*o^f&<31S8J==iTwhwGtxnGzk|=*MFxASiS276%=umJd2CCLHll6`jc8X}~;9-8W%bhOE zw!kkId*3TMCL&Z5rolxp!bR}_BV6DN5KbGOz4r4C-S}-=2nx#45?L?Ed%(7_6xQIr zX8TYW+z=aJB??7R3oMEkE18As*)B(C{?Cmq&d zEmy3l<;d!(pLX2aZ?`kF^^3T}02>!$cqN=NDhu$z_Pw&g3Rl*;d;qh58g@iDv6i

*2*0e)BU6(A%<>rR-qXnQhbyK#icA^{@N_(09Zcv`qWD>>>1O)j50BVxX7 z!$KSN136fdEu%U`YXs(uXX?`4{TVWdmR(uE06y#%wHmnFC?h6Qn6H zedTR_qq@ykzQLvm>aRweD{5Ecd*nK?xHNx#@~i7yAnhk95zi$E~wib*DI z8Mnew@^E(*2umn#{91)NjHiZ$n@c2BWC7!;oaXu!0OiOA#+pg_bHep2@djhT*D?SI z=0~(cKUXf$0&h^MO1EQeF#a)~%oa)~kdnR*eM0mGPM`w3)~eNREa?J^`-mj8Pdy}` zssP7F?1!`-)}blt5|1-L1ESw?_IQnjWR{lwr2M9 z%2;!5K6iQ+ePb+eo@Rd`4xmNIaObou?vJNHBR!I}T%SYdTi(MEz{p>kTVqu1w(KTm z^>Q;}tXYwdd~>|z>x?_j#8c$l!CnM;Savd==|s|W9FuWAYS7Xz9%eKiieH4oy(e~6 z8`Vn~zu2oXI!z>}7EPh;pwLdMe7muXRcTj|<`1~s>N_F6iMKclU<}9qso?!qzL8%I z{$Ejm-&g~z68x^f?}~TvqV`?9sl^q4fzzRIgY+iB9H-2JNJhPH2^!+1%Mh`QYqGGgzEv*0$L^W|s0+FVvLHe>uW#?)&!g4(**lS)u zzDUnw;-LOHjw0m*?mF2t|Fa&vF-9*100?z6bTg%WjCxUPmH%EhlB{GS@Y5m92RmYm z&BS?Z@-VBIO>T?glvE;KFC%a>9%EPG->0Iue{E*rKhAvvp?!O47Z+7U)7HgjB-MVu zP)Pf7%Do$s56J~IViCl@275rZe+pHYFQ?q zJF$Y2)PI`cu{$)A(ELI81s`Lt0{o{!$bs|q@eid}P}t=@+|PVP_-USRjbX}~HX1c$ zBxi2;a@4Spe`vz|&eDY9cVkA2kCCWQ*d!sUvo#mh1=EHRrCfkEb*rtiBXcjBV zBtnsc9If$NfCv24`65;VXh>M7l*N+SD@(Hn1;?{*Z)Gev#G1Ws&I)ts7cvq-s3%m$ z!oQo*%Q$M05!cUU*sd4UKCH2zkUC*cXV6a&i-B<1%P4lR(zE2PtVwBHcC==|I46f> zGcsvkY!n^@%rHE}GVt$H&C~y_nMsPUx5GY4BUze$tQLc%%snozdFY!-{V(+6dQZhe z^s?wR7l3lr+aDk^kY7sarc`x;)yW7vjYOVwv~r(;;Q+D^4z?O=rsZdCEuK~cHxDk% z#+r4_(+jI9O;k9d17ZnlmH7DmfXktzZ-(EVo4Xd@Ak4cd-kG7>i##=$Yd(9%EW`U- z>}hiSS?kq#Fc|slnp}h>C4BP0@ZBPd8EaL_Zo=Gj#r*~@4dKp+_!6a4nGRN49MH8dg^YvzI4b#3-fXiMl=N<|7A>q96#hMq(= zJOV+>SP+lcVJ>4~JX&~UDflD61AYaNDSc~2eW>DETvC1*o{Xx^bTwJivo`@Bg_`j9 z#j2s3UK4(XVBx+L{<#1RKTd$k3s^oamW}VxdOII(T7QDAi(HTgWQUKwZ+%V z0IDI*^k|xddEm&rkXxwe-oAHlg7&Xk9ZT(+3fREXW2s%bKDo?ZgvMZ*ZNGxcEQ4uq zSCd?6w}6QXXN`aNf6?UO{j55s#0l@Yb7Se(lXC-X|9#LhNLR#7oDT>TBI4XO5cd~J z+@%h2LjkLa`vOiH$PlLiQ4h@4hkA%Nx#A5XnZDx9L7w^+ro#BP@c0-tdL3CLt@O!Y zg&!*#tCyAjQ#(cC(NZ_RjCOha|Psv z>7wkv%Utn?Wzt%DuK2?;cWuP#mD!8+A8Y1 zfkqowNfD)(oxn73ZrOSO#5<6)<$hrk#Awil09AXLgstsa{Gt`Ib@iN>M;N`43O z2K-Hge>&T^hjtM?TCAh5lV#6>%p_TiH50LmyGM3$vlEh&R+XJzPf)A^N7`AIe+E93#T=b}lflM&NBy-*hA1QyBM1)^62_cE_eu zg&JB^2Mxh@P+|_xsDA?wPAj;=VVeq1D8GGEfm*^Pg+a77smXs!$elicA_P$>sL`9U zySTJi_B8Zu@<{5NEm-{Q^Jl3KI@vs&`U4lFc<4vnIL!?LumVTdgwGOQNusEA<^KZn zQeJD`aR(`I zzh+{NkvHgLI^U!JzVJO2c)}MI1^AkUFWLQg?RDmc`cnMNARI2CY9C}Vu(;XSB%`+% zt)F8iq#}n)I$*ucQjBr;u@nk?e2F5$flodLJq%%T3@!&@VYnXQ^Xb?UwC$#XRxT=} zY3AZL?Ogn(p^M+Nbn%;}E`HP2#cvwB_)TjUziIB`x7fQPl|w$JDKbFr`P^TjmpOu_zI!c+X59h%1*nWT3hKXv4ua#8atBUrQtt4<$=!_Jge;(tl-zM4 zSh7$e!YW3QNS*b;M_3ejnenBlKdV4#b&PJgWj{g0!j53oZ&(4iH3)2hN$JSSlr%q{RFY=0*~2%J=_&ciZ;S#p+aZXo~ z1gLO%E{X-{S+ENA*rLcZ!?f6HCdN&zKF1dxXx5*T0U%=kjUu;*)pRX&j9D~I9%|~v zlcGKBjaUkFycy)ey&f?(!m_W2%_GOMUulM(bz?>I4X}p1mESxQ_K{d_^Hi8hCJk?{ zhJ|!eeslEz7+nX=>8Q@}cs5k$dYWhcKlZ)_KC0sSfAfMsfExr96eL2_P<%w=gAmbN z*yxRJG%6qpDvDBkwFtWc$|GSDVS8P{SHad+tW~kria%S}fJ(wE;r;LhY89>4SynAr z8v-i%f4^t$-Q5Iy+y4Fi|IO#Kx%bZF%*>fHXU?2CbEe(wi`pX(yld5WaCQ=*qnfAMbh%S909fjH!(Js**m?Vf%-ylU-f%s@|!eAJ;LLhnx!Y%rCE9rneLLA|J2Cto<{odov zY8o3VTY^u+5l@l4o;iJ4O$hDGD`JN&<&DR= z{|OXTOlya?sJyku+uL~a+4IOnxEA{chmpDt&cdn1Qw7inaQI6P?Fg-vX2Ri017ssi2qUhn|TC1+p3p~ zNl=<6dM1zofuBXo&@Bs{mK)6_hQh<1pgb4e1$7V%MWY=hFe78QUXoo%QsB~6yh&;Y zlV)TBFvMJK_Mogpqc$?w0r=s2H2?R%!!9@vI1--h(j)bfyg7wOZO?-{rn(MgX*lPD zldp+Agv<0Ef^qkFDXe5(tUXegP%wu|=2=B6{b%YkkKB90z9lEVa`<-D7X8k88=fb| zsB3^27w!ECEA((252c}=xzV0U)qVxY7d&K0V8$0iH6D(Q<3S%sH4q*BCzJ#UpPOBg zM6e_tM$tZ$K3)9{MCz9QG|&$cOYxs5=~(l0WYYL_bHN7pO7(OiR}7cU>CO)iYYWTi zdDQf%n_&C`P3t@{d6s^5aV$vH?mnC09()dYc6|kR`8We26=zEv+C)}NapBk(Jl((kpLw1@!2cf zG&nt0_im;c!ZtF%S-MJD>&#GQa;`)T=(RpMCXz>b?D3A^-?E|OXa{=9i(U*#C6O!f zMtLlgT0vYwpTn$g?Ubz05z^LvU*&#rM{_KuhVbwd)fY1hrjNt5u8%S&_L!kkL>W0S zJfLusaG{T@r4KOow4WgNQoeC=+6lg|L4fxmq%{aYt0$9lq6BcFzF+s|v?qSwmaL0% z08M4M4ck|0?}n7~iO=3g^~wNVuUAm;1|KI-b7m~*dKKiAPXdR-IOlW|9xPI!iQKF_ z0042nuhk3-i?=6i*J6KhlI08PDjVN=9T(gAb(KYYu{gqyx8r7j~LW62IAE9G*SJzJV!&-pKkZ~q&AxD|G zFB>uqFn9%5e&g7;Z@?*d(V9Rh;5DyQ8Gu-{ed+=xoq)Chd4-%@4~G%FGzN|Em%ELS z7N8~42rnSRjLBf~PDmcxtVci9niv-Dv;r;**YYFqm3nZHV( zp`U!=W1qMv4KgTBB7nqRE)AC!n~^@Ke5t)h)!j$zifx!U#5oS(+A_$bc09+7^aECj zLv}Zs4#Sl>6bW$WIMxEX{3jWMd$t>i%AZ%#MV5D zuBF(olk+_EGJK{L_VchJ;?&%?NGnFwUjT*{A~*(Jj8{?_xXpUy2Zb~K0S4l`JESsx zlWL8{fWVZ%C>Bm0*!=WGnl&izfI3st>u4Tu&7<)PGWXSCK3+RtOrzdffhr69wmJ@l ziY^1m<7YN1w19RAq~zLk^_C1#+z13w&Jz>22R(*Qs1pf$)Ee&Ryu!VcmV- z5R3<>3;Wi9s0tG8xc^8FX8*k$@P6oG#2f?%N;TI;v&e<{6&?Ta{;%3;W_eg+ zy5|>N)5wLdJDt6+%-%yu7(7;dn^)GN<&AO&+BEndeOKhJo?mj)tk zVe@LAH!7%(hqCE5bXUi@Q$a`lx3;jipf#+weX$iTO{uC4?1{l@qT^^cotN~`BAx)7 zj`yD$Z0ZFIn((F9YSNNRGCBBqNJkn~m8cVSoW(eOaIFxf9|DOI zT%f%*KXGn4eg`JT?g$yX{|O7rmh8achY5M%Puq3R2Wuu{Zx{I3V^lxFmtai=1B~kX zB)GDIXbXxPR0K{(V8I*qXTi@>{UgFdKF6Vv+sa{KGU)dB@TChA~)UhuPaQ|If+8Y4ML zSOLw)XB9_+Y1!EC@MWcRw)$P15Xlnrhui@W*V0aUP0)sko;)zz(c9SEthS*AIH6Z zjVAPQbQTs;7B-QEk=$vlKdjn3mpWrd#4t>80!zdWI~O*>%qe@iXDpIyc4Nc^{+AMS95 zRjAK91TKXwOsTy=-Hm1;@=O#P2;m|;&Vbl@yXR7BEOUG5R|s zCCXj}%AyTW0q|oBKFpdRqGDzIUN7Gr`8^158_&~fgjEO@{F;$o04RrVwJ36nssS+- zd=xv8*=r>G!@5#6$gDf%R0QaploMxDj0<;rRO-1wb;gtO)qQwsDjctmRk+6~;2`7& zn|{9o#kS0%*AF{hb_O+84(Fgt5@~dNO;Y@^hlqbLDgFzzyLJ94N%3#n2ghHY6usAj{Enpfk{0nY|2aD?&pD~=%Gn?Qdp|ZPDTvXY z9K=$NS4eL>Q-u#-TIB-9VSweRV=(w3u+07|LW0eQ!*^mUuW&i8+hh06L3;@1tz-Nr z2WwyDYMT^}xg39^Vv zr+~uy4*~!@8^k%lw&4B3Xcz= zFn}zIgZ!rk`CEcaT9gUY@rQ&;(W^K<4OyJlzt7<+cR&4zt%3$e7NnNIr#2e_eyvlpN+$y0m!SB`a--#O(5#V$_5A) zxD`t_3TcYp4~daR#0Go*c79?0=o-&9A_w0_RVpIXhS_At+#w3cjU`W@$9OjjyDOaW zzUeqgHX~;dj11Q$J4g=E^AG?V9NGWFig}X?3#d(i)J@%ice5r7)#E(zG=RpQR=W|X z9<649o76OXXcHc>`-GakN!Ky%mHd zg~j@@HpqFiT7(d!^x3tt@w8bDMdd)1U7A-G{dFpgIX0>2EI75lTbRHm^(H>hgerWx zO?XvxL+M_-0WD_@Ir?=)_9G8_XFoy#7kYyeQ8=n{It6j+4mPP{5YmiI z&sx;UsnAL%+e)2HH31D!2Ds~ZS;EH`qab>%IQgO2!VdIXjo)<2E z2h@Q6<`?>PpZW!69dM}jp_5T|K5Y{Umu$gO%x_knla7S`LJ-BrXdQ?D6(CaaA1jQ{ ztZ5H237u?4uErz)Hldz|TqO+?K%(viN=Mt7mHUJwPpI72+ziq@s?gAG3JLT&0M($P zU=yIhUY8XC)o_2->&1akm_frc4!}7q;M-(q?g(`yXc3GFNEN1Z2LMDbU{>gt&841Z zbleeM&c?HAK_*_iRBjIQ9|KWnMCE>r4UfIfG`#Bu@f9yCiW*Gg;o4Yc5ulsKL$xI? z=$Qn)OMswsT>0hi69-_|5(do85>Sebht|Z}nnhcRjfdCZbfr{pHeqnt(>RM0Qw3@< z4moQb)p>r=is|s`tCuo%#*kxDaZpTbh5{E8J#s&V-n|TuJ*IZo%OLVWV^z>>-j)0FC5H+mID{I-!ycN7N(zI~-Uf{J;>{nEWQ^*Xabc%53V8mG% zaU)lnp@D)*{RP4wHozGH&!0(2@fWi(z^DhFOe^VPa`gc;jLt8ti6AC$c;Sm2vqse& zfEr={MZE}5s*q7V8lm--&m$NwPz_Wr#4G2k@$@Q}6W0-}fV$PF%0nWm2y(3EbzH>e zVP%g?>nCGR4IYF`=~;_g?bv=hv$X%K!VV;vQT?$%M^2-&6jAvF`OS>>5xVw@K8=6o z^N?Gb%@;UO;qX6o!mY5t!-Y;C(~|FM_!g^Ah1wu%d(qqeoji{thMLLyMwvx#n}+Y@ z*wK}ru`%$$UylK`v9j42iK{uDFM1hg=oXM`jMqZQEN~4_ec1ji7Q)Gy05rN_LJ&W^ zg^Pvbb*XG7$1|#zA`sFLH{Pl7tw4)-XmgYL7}gQQ%6Q%}0K@jPqklzQgbV&C^>xWD ztNcRP=b26?m|$b6LK+=(3|g=u)(zNU3s$54tA$=r@eS2$Cuh9C{jkC!|9F`BW^*6v zD!WV3EN6Mgu0^|Qjt+oN8?~D07!MP7@tf#a%zG#rMlPwZtN~<%imy{oEB;WQVvbe zjII7r5A^R?IpGha^lZB387>Fs)w-3!CG-v9&~U#KpYZaX39q-^)(m+qzugJ zBmKcu2tzdwy=?)`BPvHGTXUR={$S0jy;@E?igkZOX z0*&e`Sij{$6K?%THoJpgqy#c)qm))+pKZ_EKmn;cY^jD9y-sgc=Oxo+pmWjdLYuO> zH+&7TJWZQ5GCi*}yj%6)HN16_u4si$c~JvUG}{D&fOr=d^{{S$2mnQSJJo(OhcR5d zBZ)n43o3ysT!bn>Gu)yIHRLjZ4n?oagk<>YV#nwzL|6sGyTz@*c1ck5x^Yn*0MA*C z(QnUMMZo7`6}cFnjpwGP`mtV|#U5XTklyH+OQuM_&6RZzwPNbHodyce?#M65)R^TX28oq+FbAw8C90+$D5y>K16; zahc52EzrDcudQEZ2H~ua68;r_TdT#=fmjgPA<_^O+>om-F52fWqh#W&Mi?pu=O&Z{KDTJZ&d1d0)x27$NZU3se6F> zV4WbYA3F&YpC9UyG!F&ZM>t`@jP;@|q5CKs37vnf4hUPj;EdVf!6_@9HNvr)Wd@FP z=CT#SF~BBH`~q%2gH36-b%Hfbc%}!Yn8Bv>NuMCQ4B$g8|KQ&P=F`HohsRy1<)Cru z@E7BfoxMxTbRx|eRnH{ihD934~)O#i2sktd7u%&Ls@(@$2qsRA zAW76BK~WuQwHhPDn8SsUGvOFj8}U)J%cx$Brz>TsFW|ZYDYf5>!m$I4s#g%L1t6oE zJG;KZ$GI_RR6nmjxG88x5omMy_!{M5NMs4jTwEx{Wwg@Y>$Ol%4M%Cv`f z=j_RACf8`jjWG-D2X|Kw?tTv7(cBJeYc>yu$rN1E*T*(~#ZdfFL}78?<0sH*a*K-k zx}vTAEILmM)@EX8?y-y0TMn!E`In^*|G1|DYesHqAbEaV&piU>D*(Ot1S*qmkc9?T z1Y)`qTIK2pM#3OW+oRYah4NJ%JYu2~5+`G>)?j{~00TLIt5AV-P7);H02q(o{A7$q zzuTU+PJ4niY!4e0@Q2H{s@&&E7yh$U1?-vOUQk-gI&!&eqIz0O7S34TpH02dZ7QY? zspGFfSHcNVF&Kv|6xdLy-YX406F>p1J%L#O7JK%)w!gvC@@FcrPWXYjY5^DM^>*R^lt3 zteXE1Il#2P;1fPx z|7F<=w*&qBES5cjdF%|kVkaM9LRGUEYmd*Q+k~oH7^<7UQQa>1zzGTjs$c$$%%KTA zh+Kir>>F+?l!VL7C=We}F$m{H(MF9{?fxn}uId6pq-rI;I!pB*hr{uZVh{sHxmi8B zR=A94ef7bl_0fH3CN1C|goXybD9uQw1mKzu9B5Kc-onbrc7)upoP|ie9kD*T8t>fR zvt)keWUZBYaN-ZX24fQO^-otRW=$K^04<8%gRjbIUFTx14qU-wzXO(1Og1AaP!SV# z99nJFIsq`fk517YnbC-(6d$OCNktslqKK1NM3E>N?ahHJS;JzA$mQxnGzPL1d=ZK7 z;-$T$Qk%Wl1oefjaI4a!;bS)(*P@&?k{iG!xesjtZ`P^^wF$@Q zTme4cH@9b}ne*>}l3u%?8}= zMjEm66LzAmhjeB}&QHKwb)$yo0Xzzccj?hlutDwPAcu87I0>CAaX4|SM4T}Ge_-A3 z^6&Hh>~IkHGT0#t0nG0>+^h1}$dF6SDc7LmF*O}^9QpNA#9H#45_=)RufGW|CO^v_ zt~Kr}pOZS+<^XNC2=0*`tQn2@B;DV(-eeDjf6WuYu{0t4-KmHX0Bv8hlP zh^9ObnXz~jyTV|^A_EC@U3#xTSZ_9$=a8ZO5}(04XwAoE)7)Bo`VYB%t2bw{_f}cg zodhB~xI7h)Z6&>Pi@iB)=FS&%Kslr*s>&5itsX$TP@O@f;L}kPcgowIOBDW;d9-F& zPk9S5Ws*kGNX`zjn!$&QQq&?E0N-NkeY958Eezko3I|SxOI!=sRG)`9Y_xG^C^8#C5yT^?RoyD<$Pm>= zNiLwAbgX`;W(y*99tape)K1q|Op@OsDo+2;Cegor&nOTbc)GN;L7kw5+r${S68OUy zIHE5*FoPe-W8eeKhOW#~A0#MF5gOXJm9S)da1qvBcAQ*$(D{q>P`Pz{NkOAYr+quP z=7zM6V=PHm{9%bHt`k)y7^*My+-zyldUYG}gCtLl3!Da43TRPDAGT;%>lSsB7Dc-w z96%`22sv^bLc*xUw`gYjxjOqCSql1lcnc>E2y_W9lQ9f2Eyx#Ql@i2>cmdwLq31>* z6n?AE!f!l2$78Zp*MgBGNdtuBHycfC4P?957PggA0v(s4T7;y|hd>Kb=FX#F8#hLp zQ(^q~ETl6lbU}V>k^t!M0_dZwc@**#qY90tmEy;TTwJNfVP1-LbXehf^)YC`Tlic9 zilQb>!BIN0RYL zX9KEa8Jo6jG)Fizh%jdevYDm!0fx$A}$g*-uhh!Vu($p>WC3YW3gezcA^1HKv|$2k4_~>56HzNUbs|u-mMyA>wW& zhj4W<8Wv%C0O~st`ZooZp#$~6wlXUUy9R!mG@r=`JSuLI)T4fgoN)Ao&cFr@&P;%U zTpOjNNp1lm4mMLt&xgSX`e^wsoG^_usrBOH?QuQ={7ie=X_vc$do@t%vUsPQA1%gy6n(|Bb)ok zP#ITpJ>JCiF}5NyuIZiz7Y@yVQ`qlgkkN!1r@RCM%+!oGLMsRiGj%kj%Uqb12~VpzR&O-mgML`~=Hoj2MU*|b*RO|I@BbBa<0ib^EGWzcV;o1!1e z`k;m8N1rycY}}%Q`_m?%198;`4|d~#MX)y2!rhPI!3T^bTWK~kwhmtUaiyb~wFO4R z>Z!%TpYMKFz&a}%IGV&noQWW{;Rz9b&u9CwVu{!FdPFkpc7&NVyIHd`0Rcq{Y>~Cd z{3oX1sL-biz0s2;NsGz{hFHNFnZ*I<$~P$+*w@;UJbq5)=S#?gdðWLBUQTGDP( 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 VnD)T52c|tR?SW|z{NM1v{{y5=w6OpH literal 0 HcmV?d00001 diff --git a/ext/openssl/windows/x64/bin/openssl.exe b/ext/openssl/windows/x64/bin/openssl.exe index 5c4b361bf2d82253fcd9b9e6cc7fc63d123e59eb..7af7dda836c9b560a14cbe29fb9b4bd5d2cb0720 100644 GIT binary patch literal 542720 zcmd?Sd3=;b_V3>;ksvf3)CleYqoOFriAxZ1(%LN@?F^_OxS(-B#T~U

BYUR@#SF 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

GO*1tV-i4|Wd=i@81 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 z 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 PA{AZ!zkmLXHSj+G`(n=y literal 507904 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òmozHbyft|Fj_rjjeww+tIH2_d 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�_-FW;@aEw>^LnTrH^N0wGrVvObQ`?zvrrmd_%-MNyzpP42jGP( z9?3HY;mg4vK1#UZN5PXH%QJKMmhgILKD_W2s2si>ocDO1t@p~nen@qcaKk}b?suU> z@Y|5&!{E#j;&|~Ci~kBg0x#U~Bi!>{;Slr`a^bJNd<;DKzoTc|2p2*#;DyVeIq+5B znkU?MtH6~{l8=#>gY8f)ehQz48sUX+{8^r9gBP9+?SdDsf_mVYzc3fPI^P_UKVZ?x z^iGJE@YvVn+x$}mE`X+AMEwSS0ZPFO_d#Xw!slL_Zz|x0zf9$udU)XT33FMI^*f)|#~ z&o}o;4(@tqzIg~<_$c%Q{3v+OLYH>TJ(<=W=v?6h-}zpr!!q!dH|CpKry{#L?<8{yyo96iGee{>i4Z5u^P4~9o0-Ukm;8xzf)_psRlp0)UnmRk!cwROz6|^Ur1*}4PeZ%Vzwo2a5oUN{ zCo}}#55CP5m~zrZ_!+1QUU&d%R(gS7&o40b^q&X8z5?9nUGUbz0$Y!@gLh3SFm1@w z;GM@8n1|@srNLi9&%z6@dqsgc2{*z!q1kc|9{b7yGeDSy?a&asu%W2H9D;8I_d!L3 zN7!>hftd*}yca4{IKfYySYTFAM$+ITkn}JNe(+VyJmIDt{0b!bAoyEoI_;o2iLgM0 zyes?)G#y^}9q3K)!bhO_@WWuotI?18uHZ9}{H!{;z`BLAA2Kt0A84PYJsVRF9OZq7MQ2-N7(u%eiJs~ zH=&c@2f=4%p>x7u-dterIIY0k4Brm^;&k+en=$b0x1cL{;lDub@WNx?N*v*Zo1g>m zjo_L&F1@P2wZ#RdlzdVJe!B!WgspKd&*!0A^eo&CDUPk+Dd&=BaFYU0JCCsOZVC7& zNMj9CiVogJ9^&0H@E~NzAmDlD7ufo$4E(g`)8Ktj17RBkf4HE)?8Ki@@ZdWO%vAB< z?-%l}{J)^Ud;=Q7z3@wm2oJpQF=!lq6#NUMd}0@|taRy>0#8}RZ{m^y|5{EyQTcioVPB078Lyc& z1?KV!@)P~WD)6(=Ovcy3KS3q%!s9O`obW~9Z!aUC%b&|hYp4aeaDOFv310Xh)CoTf z=3Rk5xEB^f^WlZ1?ZQwO1F|F;@z_6uJ#J!uLWu;f0qsP#3`q8=)cj z1O5~mfgc0sZy_$!d%_!`G`#Q*=m5O1cq{c7yzqC>A$YT`z`O%ezeV^Hr~zL18>m%o z8mSv0oBzS-*AO@QW5OGur*R`3gr<|e!qF!DffwF-t;<*K;P;^e$b}8p(FVZ_Z-)-S z3m3QGCww{hU$1xi83yxipiUs)3O7On@WT6{hv0=DeJ}pNw}U@|hDa~rcWy*i@WLmd zarja2!|(H91E>C-i(?VE{wDGp{#1dFKq@c8;Ph7V7`*V~&~{Umh@JnME$!>675MsWLQC<|9o4};%;cHu_&%w6afUYK_` z`h+h6zxX-Y7x;eggwK=zd6zXm=E?!eID8d&KlChagik`#kqe9NC2a7*S3~pQg>Qux z!B(5ffqgwwZIFXf!g5B#f9e4%L}b-VH7;Ovd|nxE?f#3Y!1S=Tv2FFf)}0z&4Cxb z3z`ovyc}8qUj=^d-G#OuPJ=Vo7Mh*-DSZFBLem2;{3P@Myl@a2ffxSdszTF>KV#q} zRfXotYIFsjP)&H$X9Ej1kOs($z^kEg+zX593e9xM!DUbiUU(H$0$&AQ|B*t|58n#@ zGqjU;g};Hi;D!5dDKz)N3;zKcffs%oIt)JyPWz}!$0G2)+tD?C4uYTm7@!+36S!nAqb0<3dd-5B3pbVV%DbhKAa|B$vxQfg+fya-w!VPqDz-@@F7V0WbK?O=_@o( z;ie3{uAlh8w}SnU>_x(}zJ$9P(jEL9v>0C4?|I?FP$hEVI8+NSJnqZr1YWovx(#0V zAe4p|{t)Vi7ydIe2tNugJV3nQS<7d-zguXg!uNyoA1pM(@MYkf@40w2f_FSjKB%Ss z2XB7_J;Mtx8ZI=Y@a14Lr24-Vyvy@xaN47UhkjiVc!TF#!7o6|c~|)P$0&F3!h4{4 z_K?1CPG7v_(UzVO1O&^Wws0Ge7y z9s`?yWMA37@_kkN8uzvCYu}gN z*S~LY-|)WCePjDfcTsn$yQI6UyS%%qyRo~qyT5y&yQQbSXJ?N-NIeX+_O|u5_wMXX z_jdL6_YU+9_73$9_ZIcd=u7p@?knjl?JMhB-dEmN*;mz9-`CjJ(%0J8*4N&*voGD( z)z{xQ&^OpO)HmEW(l^?7xNod)ybn*urkELkNl#4|rDvp5>DlR$bZOcY9b=gOH?5s* zo$Z}FJJX$Ao&B8yor9f2ox`0Youi$HJI6Z5JI(H?yG_|KrWLnkdzTaYO5$IS23pWT z8(P?j9=g!P0J<33JG^%UjT}ZN<7j0ndYOS{W}}-@w6h%jRHC7Jbku^D+R)QZG}VQ! z2GG_J`WiuFhtb(MTAPaA_;BMfwoFdlo!UKcj{<#+nGOs|ckPZptTakHzHK-1e#h4{ z?`?*UF%5E>-kDCPyVCvXf%IT{C_S7WNsp!vr^nLcY11*aqo`v>N2+6XM@dI%M_I@6 zj`EJmj;fCOj>e9bj{2^~u9mJ=zA{c;m`ZM#L4KG`jwmHhWb|Uj+;>a6_+ZhoW+pI# zKF0S>MH92p!g4f#FmM^%+0v=>7~C_oXL!%Zp3yyr_n1cK zu4;Gv?#A6MyIXg+?QY+_b9Z`o*Y5t^1G@)z5A7b_J+j-hJ9kIcKOamVYZ{rx+PNpa zr+?3Y{gS>jzQ=SGbcg0-! zLAgPBK{-MBK)FD9Ksi9^Uuw%nrA>LIyHZ_gt`t{#E47QdXLQfDrDS<`r7b5d-EH0N z-RbTwO3PsPaQ8^};qI|+(=)YaMo+4zq^GoJc~5yyRZo3SOHZpUO7!^e^603)dh_P6vZXNjDl>5lR(DD z0b19p{fJ9jwAxbJVhC0fwge-Ks5NR;-0#!4K&>HwI^XyE+-GJIwEcWuzdwJz4D&qq zo^$TG=bn4+x#uoV>E)|EK99$fj=y-^9u26eOhqG zuqktHn4eua@7C+*U2}7G#WlCwa%(92+S%Fj!nb7Ka7%XJ;>p=J-#TmdsDAx==eVRF zICRI8dmcG+$k_=?xWgSXQEDWknv(tmQpDUwq$qc_M9} zXLxoWZ-0;HK1k*xR1*J%9>H^#JXT2xpS>PW4@pY>dKxpdFp=)_lmk>FC4PSVu2a?= zm+q-L-Q&p)qb{BK=`r*A*Nec|&=NhbdIp$hr;bxmI9^Z0@H zpZ*&an!O-|%qQ=4>&d#a{4W1xgPT$FW?d7y2JQY^WPqk;Eq))uZTS2?DNhRHX)#I-;(gGXOUlzg_+=-leQCvlISY*Gd!m7y z1!in&y4tkJ=TRkh`aA^cx5noQ+Ao!%pOn_d!$T~4c_p5U?C&kR&Vwhbc6-n$Iv6iL z)3SG}uOeR0)1F*($Nqf%0Ix>F-v0A5`Syz|y&fz2XigP)2^Rc;*x{cw@U1zJlikkL zSidpT(mk;W_XT2O^VCZVeV#~5+_E)}71>f|UTx02YO@u+DaW#+i*x+J=&YRlU^JAI z8z}fg4RkKlFTT7Ezk#T{zMM52JjMq9^{aS1cI)0i?2dgKshZarLu*hV;Oy%x(|*;g z{?0SZ<1tqK0%?#jo-U|uN_d}6cb8kVx|MZLGL89*u+gRMMQ6;xHWHwi^sNo>iTx_x8fG$^4KJk#Xn(G1UJcH^Y z6JQ?afAE|jIrQiR$q4`h#9*Milui3RG;3ugaG)wsBhLYI5G_{d6szEW9)b))C*WZn z9#9G@X~m}GR8mh4hJ0l7U8C+^BpbDt;@{@w_W%(8vy@zyNoSzuMIHEgf{#srg(j>8 zVCZ-}e3ynHbGHj`6m5+bTh2cqJy7u{sJx2zq&Qqohvb0M@C9TU6vF3_uiGw4lyapm zrH#bPK*qGcr_fBJXd4Sy3W6^qkEJl1dCm<|%E~GvTXr?&VV4aGM4#S^C!^t`%=ua1 zfqg4ju(lIF;hPR@sv{G#IyR++CLmL~n{Ab&%Y`mZGQ66kI>wIhhE7#|?m!2(rHrP% zKFj_E^EOcE0LV0oS__+&4Nh=Yp5Sa3tSal*d`_k*#uX`wsZ zLIMR(XQ6~p`r7nxMNrquw9AHcY)VI(H+1oVP1&r%c=Lc?3-ZF|>MW#yj1)QQ+=NJb zNmDMTcpx>Zq1MZ)1ed1@mjWO)2t?PCk}C(`R00yRs|RhP=CEY#RDXLztMR9hzVn%z zIOoDdsrROuK2@AszO>r9R1tv!DKIpUvicc@Bi)(GK!TvaS`7}IrEVdw!(wQNQGkea zdc(tAUN(6gtdGFKDhIEPz7efSrrFp?$1^`gMRX zY6hpcLz=Gn9LOn>nN21eU)PmaNOC?yL%9r?_Lr6xR0vA9Q$6IuH3F{G{?-`kPuWMy zet>Oa*>^Rf@DjUk531iZ%Lbzr?^(WgEW4iUs?*VHExSbxX7Ak{j7750TR}ZOJ>M-B z6(fxacHeW<;rSZ+OZ-CJ>O3ggr%EE*GD{*qZ6E6$3uif_gzuedGo+~H`95mx ztos25Pn%4LvITU*J*qRwY6HcKf-!`osaVf67i%r0?OKK`2o_{@$J_xv|AVD?URObV zo>bFoK?TUW$sK$3Y8PTQ#yriPUqh57AZ`(e<>U;#hAn8>RqU5mw0gHB?i69#t0~6# zrCGGP`;p(kLK5`|_e<1+_JRlv!vPLf_PS8uCTLfYh8Zu*CJ~J99_MQ*5a2FcP-_>3 zW7_77QoE!KBY(D)?5u>`GF?(Anx#1B0k8UCI^-G}Y{qJGJdN@A)A0}DaijLG&Un1Nw;mDz z1#a{C0|zB!G-TmPOKrayf6MN13Z_l*3q7E2)V_qaXf96oWYbdIQWic#MJlO>Z5HLV z7`Y7|Khay%?Z{x_8A!CESCx_3M#zY1lbPn~9>gBW{@Q)3&R)iGIFTi4S-sSfO5`_? zN0Pa0xmU>a6*4=O^AFukIaUFeV*rGZH4NI|zo{KV&+;l@LU@lt?BT2f%O52rPrApb zc_4)n_g4Zd8(6du8V8Qgi=W2h;_(3gMG?Y{2jcPCIIcX9a-kDb zzKS?0uih%dF~)@1EG;(ph6G6n+^E?IRQoCm>6akgEc}O2^DvSc(z2-laIR>USZ}lj zfX)O^^eW4_9WWHeqdS>7sZ7OhVN2``MsF!o58mbVL|&2+pV}2R8z3rB`va2zgv2rG zc^mGe7FXOKg5NvfTab(v=W0Db@d6qf`yoo+NG6=8@DH65%v0d_;X&wMbogj!2~YbB`mNPq2~e|w>7I7DFRki4RHQvGNo9hj zQUfYx{iS$;cdI@DOrmUb#Zy%V%185MK;0v)@%W@OS&9Audvk*~J0U%LbNfh^*jG~= zE))Y`#Eg}VA=Q`LE1(BpX?e`E0%#ow@_Jf7?E zw*!Co4Dxu&27@E~{S|*1$9Oy^;BPDb0z=R}@%tqH9v%QDJe~mq(gq~|^Ll;BXFjB- zcY7U>k?wVT*SR&Wpr7OYzbsBo{M*wQrTd<>tKJsz{dAR0Lu%o)+J zW*8J>g8>-ojK@!aT{QdgvU0mEPylT(YAnGMf>!j|9L55y=wEW^pINpPz|K*1Gbe%j zU?jttu^DB~6VUz=`|r$}i>$R-;WHZQ+=BM^k?wH+cy^k5P~H@EV6M-z@oeNfHvrMH z@0bxe>^Ev3MT%+nIBO)VQlvA@SYac(T)^PW|Y0VK(2PG4d4ge0Rcs!3$D3_wmJ zcoKQ03JRTFYVV|c^Mm#_%YI7@zbOrT$0?FaoK-;J(101X$BJz8M%ul``cd+4aT*hv zKF#c-3fqm9Ct!qNiyWoPUyR|%tS4tqffPCgotBM`YN&5+0nB*?(92B-vQ?CJfTXJP>3lKhvd5Ln*PzQ)3f948+D+YBoTfe*i8ijZqrz zB*L-T%zr6AfV4E|2BD=Qojr`&eVxcFs=NxfN9cRY#M-$;~kJ`gP<-Gv8dzbpGe2M23AJT~U>wBsRn2_%-cj%f2V4 zkzjeRs?XpjaIDQF$?7e;k&MXIRab9*)jw^zIYmNpek7_=0*>4pv@e0}hC?C>+fX$O zmazIMAe)gL@gjQ%U37%)Fb2?q7v+6o#xE_mI|Bu?aw?6QWnva}Xu*xIF+!%}Vs`bT zuq%Iuw^h-i77E$obcqxcZ$p!ey#EWGpyjSv79y;&1@iUcMv zL(xlO6ML)82&y@?K*v;P28FUfWg;nP@1?e%Ld5MFaS;%O8_jsVsw1iw>kVu@lw6 zfL!~fQ8N^eiTI%zEA|y`HCB8D3Mk8rY(sgAq`Xck?{i&Vr<51)9S9VDYpi&ZB7w>v zEo1|yku$muVLzL)^mVM=#v_QV%X{Eha;U-uJ{6K%=SaMdNyAt))9syLrs9>SoP4g z?EftZkf;XH(|>z8i^tr#8;!MmtKA;HT^)Lq^O`QWl9enh0a%(8&oIsYaIl}~12rfg ze7lnY&LuKS>|N^js7`6^C!sNzh&_g9vii4cFkKmG*}Z7``XXaFGSu&o>T<6;FkCK{ z9E=X*Y$D&J&+%wZ6_aFQ5!vErY~H-`>Z_8zE`47A)XA>JgUf5#U)0Y4ikgOz5@ydf z;pTj4Ms~)Vi>xwa1fn-%ru}v>dUIQm{pp1RhhhBf2cxqV5;JP1!l+!xd2zUBvuO>$ zgJqkU4SZ;>CJ6qA&&z+USSic~{9w$;XfoN%9zSN(W#v}IzCgk38R4GxHiyHAWlscX zX?f5-7>NF!WFkMDyyQ4yY=jko;?p&mS$EL#N%n6@Z~!E4}LJK&Q?zqvz4coV|k>X5qTUK0b~8x zY}4K~@)h4sGv*&w*fei3nfO>UF*(J=$zY=JC^UibXd_I;fa2h7AK z+^rUrWBzWFHM=Pl3<(bk7Cfnd7w&@x43D0$H`)iyP>e_CO-Q;Ze^%D8aBms?oc%~J zvb>fZsX~6x{>m6o)rcn}YeJSWppF9^Yh%GRj%>=dqNv#V3#|AiYvd-rl=zyh!e%Yh zZ#9$m{wyif$sityXB#VihKE4(Nh(^Ppkhp@?}3PpbwGaSmB#v>Pn(G;_JQXRALvXA z9}9li2kp#)KHZWwCq#nDSJu*^>XT zwx@a8XQOItx&!_xT$c}>m(=OmT8?kzQScFfP^X`o37w8mr=z}v&JF`R)d%A&W^%Ha z^zis*AJf!i6a&dpU99N1OxqVtqZ)K=YVQ*9q3_fs-X$fjK^2_mu{e=r=vJLQS+WzI z?5Lk$Xf?1zLC~?&N+O%QO`m7>>7k(KaJNhiy|Wf_;I-O#otv{buaqw33l~ zN_=lwg|96Uk2tD}&IF1x1VF)9X&YL;#NNYRaoZf26i!0VM3!ZjmP03eEi_Sq0_jts z>)ig5htQk!S^Ksu0Jf<$SFpX84!dqOUopA89|;AOSs~04O55ViY8l=OI~RYL;``pw zn(rpz`z`YQ%O1L1Sh6(8)rvO-qeaRZ*+d@Dn@qd2q_9y}rBzpDCa5^2z{}f{*BFF{ z3$4ov)@Fbj7tmag@V#ytnPW<7h3GXNB-3+baSF1R?Bem2Bm z#io|4_lp^^4WE*1ybm>M51`8AXzXQb2CC+Ki$F+F8#l2SCDn~s93DBXw*b&XEYRgLaNy1K4QQZ%A@)j2`tL?eRj4lvQRnW+*3dWors2C_E< zo9NwMPe}A(B=|&6x&&;S^-}=gXk@z*&!+t?!a<$npkan+`K2;%b=UvFHK7>I(m;;@ z2-A!}VSea%H#3fSkIr0x%))((UunnohDa4?2BT|SM)_t%>iOmg3tRb`tyj(_TT{u_ zZBP``ezU~hVZkLELO#YC>(kFMF$ocUZ?Xz^E&if#sxt0*3UpGv?S2rUl^7>YGL6J? zK+ILd@Es|Ugl_?BtP;97Yt8n!LcKiQhcTiP!az4Kx$e5;{)ZpeACRa&c(k*~#g<3lA*bRBC@3*|-+zF!nd2Ow-;$|1#aQ`{uan5|!1=gzngNdr3uf z`R|19j=JZ=OV-`RvWJmX(bY*jakr}q;b@EXj%f86=n;c2j??-lY*BzOTxxz)9z zvO&T5Ez%Qh?(vs!#Ye0_iT!P8LC~(>i~J({TRQz)ri#{IfhLFWO#AOl{3{ai+u=VU z+cJteJNzTO_}yp5x2gM(6@Zez$=1j4AbM^^>(@Zvuo_j{(Is)6B%a_Fj>fD)xme#6 ze=sV$94vcW*LZEHS4YH;`lN;XQaC66l}0W!$2H!k!D?Gf|JjAogvU@4+jQ%FbSC@J zM<}5E%*c{5R?jr<-v*Z3iwJfY{6SqNjwBd852z65^pY$xHD0XocLP<<0OHNnd&zSZB z3D+Z9KgOuJFpGY{$|_W<)Sd*)7jx=ZY0PslPK&gI(Wi1&Bh7pfGDgm`IS=8@UNFe4 z`Oc`hAI}AU+KYcfXP4M7iO!>uds+6fY_xVbKsi2*av{gb&_lESIZ$!R43_KeKUq)? zNTVhfL?S;&K=?E~xcElRadcshI^GY$XrD#1*t>BG!EEy8Kc^cJ>-&Ntn4 zOz;^V`cfhQ)2IvYkhcCO3vcU>!Xu7XaNE81+mXY$ONPFb2ypMw2ydnkeg}kxT%c0M zmFi2hC5F+J&moy{^jxzZ++mu5ss`;{L3P4aBVYf!$4NsM+KU4GeFInQ^{!ynWy` zBn)rrXhUL2;hy>Mw`g6xm?&u!XD9%NxBRd@Fnl`z=6yKMSRe4kFOCiJ1*7EMSbrS; z?o3ORKzc2vy_~La$J_R9;58k}G}gD|y`Hx#Ha31>Pat-gl-|@nREiG_f4k|QLx*oN zJKiN9ZHad9RCz)Li1G*QMxdKbotb&N0(qNbm&Aeg&!L!+3Yi1DO|Xb!&Ebv1U+ZY= zcxU+TK<{^ohPM_O>)*!TX0u~=m+=Ml3y!HoHPVkU!RheLy<5iB^*siaXc;>^IOaBK z5*NRv!tY#v(|ydW)+5gaoQh+~HbF7WnlVGbstkc7~k&m7|V1edwk^_0jBC34e~ zx#@xy7MMhCMlv^}B+}fYBofb^-#bVu&d)KZU|k{8+(3OQu^-@A#ePZ!pqCcZyEYJw z9b&hL(xIOaC~CoSqFbuFU>{6-i*o}a4eVWi*7}rj27A|9D)_%JoA-A#_cv;mz+#lz zUt9LT*0Q{M05?Wvn(jDMrfM#m9rx^1|bkswqlhl1A^*fLi1-(4N$f3hAUw6w385Bhh()M-0D3Wp;4G7VF*<@lyc#g@JSpy z`ba*PE4d4`Ri(-MRoU$$$jt4!nDkUJx1kuUww2i1)en6Rz)X5jJYCAmbP5ut|#uairAztU_{kCU}9}%fmJk7=V{b96IfVbod6|L zgIJM?nnHPKP;#)STY$b0w6Do-@1LlTy=EQgGxGSkRNz(1-lr5Ev4#n!6RxLv18uXsQ&0`=9X)JNynel#*KY_pHtBDI@hS z&Bcj8)Lisb%LqLb&~WwUpv7ouQwRq%!gpl*Vp_FnY7!B?0%Q?_H?h(+CH8CB#jQ@k zVnTg2ies8Na;xQQ4OTSf?NI}fVQygTFc>S!h3gKCo$e^iSJb~kQ*O7 zZV__re+24gpVI_G87m!)+`5^$;P+ZAYK*PB@|4lVb+b;v;#y+;<{{Qi9RHn`R-;_Z z(p4>95;_pACXo9UEZD#|y$m^2Gx*8LScbHbs-?ePrLjJbkg^?J%^xY?W=*q_j3cIi zA2p;~F$4u?1PB(?6CgCq=Km!`bmfgZdCKz8(E;K88!66Qy} z2w3MEQQ-$TOmVEg4rv%2qR(hakxoG+0{0K=cWuh+ER?E6eyCWQaUI~)v-(+JqSb_P z#bp&d&o@1eOwsIL1FoDw2eGM8%TetvNGb$`M;?Y_7o%ApK*?nP3XNC5YRAgP)8rjS zfzD_Y{Sw2y1S-`){~ku!%%^NR@DD`X%ZTj3lLeqT*;1EXwtooLhj26i8lVFdb?X4q zJ_xD3=5t7OQx#I7;3q>gmaHR(kB?PKF#C30++R@~w}LoP7J&f3(IUlVGA!PyVICKj zSQ%$Hpc1NYYp-jO&=#+15QiwxcpsI6(a%uF<3aXbadTS``xvl=X-ZCj6R=$MVi8X9 zbY>g1^`MMBmigF;z-c8F&2Q8`fk&$%kP{%@oFHsCEQy>1*~Q^7Tg}s@h}J)#IXwoP zwlAXA6RFZ|LvuqmY5gaqZ(uGhxl9ZH8E|)CatIn>;+PRf#en?^DrWZCtv&(QwT-6n zShE>#ZXeE;Td51bJDV+cFNh`jyBZ8&j)D)$?=JN?ei5w#HdVtki;2O)$l&f@f1M!W?^|@eA{e=T6BO29Jc*UA* zq<#&}OL%m{XebBkbS|gDv3{2yo9@}b%~lvgMyuYMlSD`*vL*M5&9X|X4`N||p1ENh zDZ+CY0XLR}yxBF*kday#?5LVrXMD>Y8{>Nda(%gU(V~|O! zdkn#hU$Q`#hh+&FrMR_4Gh)S`r~+`J;_mN{_7mg-M)iQ_q9sv2jP&;#wd>hJ_CnMg z5{NFD(NzM|A(MBwIvt%_rrwD`jj<=7F3+-y01mg%w+#y;Wr!@|2o)W|jA&}29{ zmMjjjtJh#<32S3z_HM*mXmcytus5@A0Mq<+3(>BnpoL(j-X&0`KEToe3y3s(vB3u$ zfh-$LMH;<Y{7I*y@cjvJ#el;^ADSbmd6UDZ@20DyIP}Z)bNOfoIQz61+Q+LzPQX@ z7~%?rZ$V~B#Wu^=nK*FZ$%Y)u!o%&&Z1bM1Ox+A@ZY?VFs);BPd!M`}s@FbPjlnB6 zzd|5arwMRmvp3-TCg3}4*)z+{_!ja!5^PWifx^AUJ?BdNzBsc8Vb?CKToR&ad}TOn zRAgCTAH4>RMw;G+ej=8lvH+%;QV+7yO|x)FNvjoFFw>}|J7yP`qitqL_t>rOzesw5 zpZ#|xrfTTU6VRQ_ddyNh4G-WSGiLQu=Ymz&wxYAN-$ro12JZv#_FX8x%&M4F&aQ&h z&a!Q32t7cXu!0Fq+D1A5m$x|7qPRRAC0rxwOSX5qoX3Az1uoDv^N$QgOOJrP&PKjU z=kP4HAX`Yh9meVvgU@i(yNComewgI5k0<*a`u!DdccXp5Dr6{U2yJ8bRN1WP#=9Fa z1Fh!(q8`AQETcoltLce&H=Qb&qJ2XCpi$c!fI<7|8Tg@QMwzdk`@!q6_i=JR08#x5 zJ#lF9svfe`aR-_ccJ`6uVP{*^MHeQv#2Gc8Vc_AYU8V-2x!}_8QwRBAuOdx)3%MM{ zbJfM5PTCIx0mCU1{mk}bkKM^%aUE2j^x+CW_VP)G2}COc>S!Qh#zI_fa46hntePZ+ zCP-6X_kT|ctpwuc4wbfy@5$ZhHg)ylvg%FC(H^Gn4V5=Wx@t{dQcA($v5c@(YQ}U+ z?AqO|2I-z6^(oy4{ThKsj5I+yRH!<-a4=SzCHePfdW?_Gk{ZtHiznamD%m5_^$VVt<@a`A&iwzB3GrcRC{-6EY>K(5}BbJ2v6Fh`~z5|wC5AP6)!>9O{jc! zN$mc0Kr-vIC|2s(uiZA}V!UZ&)viIdF`$+W5GZ(IExaCV3Kf~^ zYJgFwC$S7h&s}ht3{Zi6yG7mA7#HwcFsLIh5Hx21`4*ziJ{{Kzj@+zHbDQZ^046D7 z>mr(Epquq4W(k)+U~VQ^pMtz5YhRp+o`D@w)5{WM-OYJ{k^WF%9!TZTE`*O5QB_xjFARC7%V_oSk1`EuX1`|ehJkVrKSwMJWYm!Au@&@(IM{4 z#}x2;?D3}!*>R^A`n^ldMxtiCD8cxdU>u!Dj)1kqoezKk3!m`Eb2z4pefJL|FK>qz zt9?NjAoy_;;b>I}hj(*5HnMO?cDP4}IVdZ14hO0d7*>pH1CK_8f|KNgv;K^l2`+FW zfxG+}(Z2d_@)>@O>#{o3P^R%e8jOMNB>pEuVT9(T-$ku}`(#yEfylw^r5CUTdi9VN$nEdWR~r5WBpi{+Rqvjs zCoPGy2{&PShjzeGfvYyxO&T7gg?%uWyhpa3%x(*pag&ASrw@9Mgriqgftcm{2Jv%@ zvQz-|yINM3z!fcST`b>z_*LAUf~ZJ1y{>Gh0z2z<=b}PU5Vps`Yb%0$#%1FdX9tAG z=BmBm2?!qNFQ89>M>MSu`jFPM%;^hSU=wjPy@~YVT8Wp;3ae#nfSGayi*_pfJD%2I^6BuYHJ=$=AVJ4evKzLq9r&_ zXq;)l5i{06mmWQ7zxoAnxB`?Y3VNc~&eSYqC5+ixP2dy|X#blS0uk7F_`F4L;hlo} zz_|xZ7S()dL>YSo(_AnJ$r{sojsGo%7K?YP8*v~J5<4GG z>^CSFd+X8O6r?OD{cnOqd%vsO`xRZ%BPhwNm&K|%TJPAD1(jvt^V#-~ihx8*L_m8q zR#>n`YN1v_sE(=}4FO%1Qe9wM(T8M#BupaU`8ZO%(tYWd+!>H5hr(Oc6yzl2$V*f( zsGNv$+8-d=vBC)BgGSBM;E-u2YEnkcLvDg6k+1>@$%c|GO&un#Fu`EFQ{4+jFMJZL zFFhS4yxU9Lh;|fc)^o}#Z7!{^9z6$jx*HQQ;!On}gnsw# zC%b$PLYcy@jw+2*Yf+L@gH-wvg?KThH^%0t8`HOcV=OD$g?~yva9UBmV6mh11~4c# z!TKl0{@=7G4>lVsnjKX)IJp;eKf5nAlq%(c-+N3gy0Y5Ny zNIFbqc*23P`raCo-YjM#J5~EQI9<`ARcKut{arBH`3$pHjB;uvm?>e@rL$|)$cKOk zVL;elKl^1X$iOrKHGx!CkGdTN!wt$Wk=RL=p%;l4wLz617b z#E`_}F^BV0}zIg`sy|f=^2Wr0-Fp)Ss;@Yq4 zCL#{B*=tpB5@ElNCfcz}y>J$Ex&oXa`TnmFZS%cNz9NUxjeBOpSi-u6I+H|wA8?g~kv~kzps7Y=GakEZYhGi1 zT4>9;G@h124Ho%;5BJ`MAcV@EeNZcF7Cco8tk=KsE-D-sgnG*wUCE#GRSI&`g9;iZ= z_(9d18u6%4{Hj}Bpm9F}T9X2r-~#C>;M506CRnjejds&}0Ga&=A&<9&#i4G-m!KiK z6W|ksn&RNkK$EM<_aUkd1B74h*c|<{Kwz_2``CoRLm^K=- zH?+AMjUFr}5bnV~H4jkEMA#T8+_|Cy*f*AQE?Sof2*djJ=}xt+0XwxIaKzuLTJRJv zTR>j9v~tNXcqEfSh>!x&EtpYy8W&dDF~l*F!BP4@Ml#4|t7dbN?+91sUuxSKKF`Z# zDBIx`B-k1dduzmGKiLeR$$7I4l^(n3#7 zH2yD86dV6{Qs@8B`14$#yM6?;1}UzFlnT(&YY_BKHhh6jE45;iz1ZR*Z7&UfkZ3e$Z)ik!IE( z24n4ou%%z5X<@(mfax*qPUG;@T)x9W}w>D0fiQ(_d z*y6Qc^43N<5n$S1L#k9v44>HU?Zn5O3EffoSfEbc+Ssa2$7|x&##Z$%;<$l=jWwt^ z?pBP{;WrSK*O&I;-WNuRD}%99ru-T=2*qw$7qI8!KE<6T`~>7KtHAvz_zj&XcPTE$ z(2lzlv7H!)lrW6pE=A`g89pZ_Zbuw9f)bXChbEtHa8f=o*bvi@y)doK5{U{U1Oj#%1S2)gc=7Qb^WRWB0 zGRt8coJ0zFoumlnQ(avEmAOEwf2Ka8^gqaQuqZDWmkmx}{29prFHg{ngH_V(iJ@E5 z{Dsi$UKM>yB;qWs>JNkA(o5lQr0Tq(iu4NV8$qqU(xq(_wM3y0zjjL)>`#<%w&p=_ zSg%Dc#K&V35dDM)o8rWo+J@Dj7}-GLX+~fZ{FMufsrV)^>ok zWcCTjHtQb;4QwG|6*eN&q2Z{RZltb$9RN0X2C^OvTvykvfnbjuhe4q@i^7IYUJ~bu zXtj>u>) zL+DoaxDJuO80F>&FEs;kmd0DC zrmZF$$4g@*96My2x@WkVoc6Rxxp68E25aR5TmjT69sF%TtFZ z9ak#@YVf&UeRQ0yh6D_GY$m*oQ3dD(3C+d2kJLY2Rl~w!8E4{dLcKjUIu1ryXZq)$ z<&2uA01}%%lxMZcmBT&z4aB1d@*udSzmh=@4BYI7w$8=z-2B@P0u7O46uq2bBb1b`p?VsR1~#M*?t>Dg_{jLeBAtX9lqW z1&e-&hGKU=oDf_mw}7X=AfKJ;lA%;9x++k~e&QHG>{2b(4n6_G*w)M|HkVg;JZtdR zj=v?dJf1(|?=}48&GvYv;_rU^{RMybUWXcAk3kuKbMY6(`z08pq1D~~OH1qaYIwcf z-+jLB@9F8?-!n40zxTj@T~m7Y?D}RHnVH?+d-dx6-n)1A_aoo>^y!|`w{Q3Ne*L1#f2)eOWccU!iT+)5@9mVkZjkbpf8q46y_M(w-lunb1SXPL%b zyYUE6%w=GfuEcTy98BDRCmOhxjujo@d`yzV+$cR0-G#kp2iB-!(=OKsEKX20Ct|jD z6)0hGolXxg)q4oIc-`y1uI6h+QD&qwBYaMYyAq9A)bVGEv8y$KP0H`<)vp}sm*mQE zV70)uU!TJHROb(p{3XoaF8SNab-wDFzm)k;Bj1|amOsG`jvS&+79qAUn%IU%NyPPX zV7QKL*juu(iqNSFP$`s~7CHq+H1gqqs)GY`5&zajyoN4s);|L*r&zP-4doz|6WKd( z%s>r!NJBOY{UyRslcJBIbz5UT-+P@bKck=*+{b<7`8HZApP&|uVLOLa6S@u2B#MsA}smlHvy;xUz zGc-M0)4Q?#XK1+|q2rR}U9IyMCGrQ8iP<{wb_pUd4$we0ViSI;&OyP6ExNq3ZZaB_ zS609%)0seYhwE2a0~& zF0~umxZ{npZ#9&n*TW-~zepFoSx8ZcVIW+v{j@@g`hVT!qr{{|)%tp-zS- zMmkRjkF9-o!MWDlR*oy@3{jU#3&}=t9LIy@-=S)UPziQoWC`ObayTuNp4Z4Ji|`T2 z%yL~dvLb^CJc}}2qvZYvxF(QKbwL^o7UCnQoFAOw-VGe$hPBv09~lN~H{aahBT`R$ zjl_*Qu?jy8xo}g>$o9CtESx@j;_^Mn0#QbN?;a;HykpNj(q27m83ZYtlS6adwB~BM zuPne#h-`Qi34_9Y63vaR&yfvudOe{r$&vJ7tzkJZxDC805+mtt>W!nj`FWY@+s82P z!KW|Ks#oAnS^Z13ao4x8>4A;r-XxogB9xcoIhVD~vb-;`5s&^j_CcV1p_U7<`>|Oh zC;RZ|{GMRbD(@fVkh*k>v3QOHIQEf3FGz&*^q+<=_G41uiG^c1L{8PK>jvXoW@lp?0T#1 zSemmMn?@^14Y3)0rOWRD8Q+Q{m34iv8dmt#;`hMkHUv{gLmXIFI5WxTjhfFx2f?R^ z|7vwYH$K}Jm&R6j{1neFguK&aBaC|GQzo=~;J#0;i`TPNw1clj@2Pv3y? z*46@q-fq}OqKGNO1_pT?W;^G~WQ*0IkxZV=z(p`OL4fXrS-kT|Jq_Q{A)~qKMLe)! z9E8WQ*qA>5#Ft0oiIi^EQ;5U=#yA=qf3u^Ij*0k;s)Dr8&?MA+4fQFY%=!|LavA}L zgYYu z-aaL|QTLsDsT~NuwQ0!ELSC07N%|s~<6;YB_jgny-z|#09e2 z!IojHp$sjm$1+|Qiw5P8#ye!~@7SJ2_7@!A0`@-m`l~@HQ1Fz@IE)&9202<@g+z`v z@DAwXaMl%wu4zOAyP0+!n>}){KW^(uHoTh`ELcO<_4h^cZ`JXlk3m=}7qFtgk>R*kbbL zKG-ir+ORE;w!=N>7u6J!$NpS;`qbiV&EM~V>0E(93TB_zlwZ#|cmn^SY?QPS8k%4V zS4EtKqu@LiZ8yt#5@S8ezckJL;zw!BpH^2hfUX0sg-8qUHP(-h<4lMgw@5jnM$JOh z1bL`1eAQ-e)5n>8+U(|$Te-5j*(}_4`^YX$ovQ{vD6QKc%u==sz`I%hOYr6VR!pEP znesU<>(IP9>SI!5Yf^92%G4Xg*_L`ko(u{}yeu}1enVbv>J518#;LqHsW;?RrQU$I zCiR9q>U0XPE%k;xu{g={vLODB&1pt0^b)fPHV~s}502tcgWKbU@tx{=OwwSbPL`1Z zeZya-KDl26_Wf5{V093f6UJ&HX!vl^@c1-bx_3S$Z#I2~W99oOdlR=&>dqaS)=l~k zYGREpu}4Ju@Hjor2$1XsdXokXyPy#PrD$YJvuS@(#A_sKfUEaU;0!xj+gPy~Akc-# zR@iNvs!OPZuiY&C%2;s?a#?-cU_?n+vHRo~$25+H#wTXKoQg~RtO5;Z)NTW`+={$I z_3ons*yOv^{tk5K-Gx@D!Yd|>{AsSDwE_{g4ilnvTXgs23;YExc(6b6+S>==P^xvk zrL!Y%sB_-x9a5TsH-+p z#rb724EK+IiSGI0;UlEn1EFAK-il1Zz9dqPpj78UfTj*$g=cqboLxAD3bYX}+Im4l zh{xlUcSD1C!rlAd{TlQAFLZ&=2qs(6ITe^{0xISF5k0Y6apgctTGJIu3E}_{MX_PFf7Pn^%GHO-v4t>8_+i=`$KNui;-a@`G20vbO35c;r)#ziW`?+<}%i)*Cc1a=lpf!73!*&coV? zn{Sr@nyt47$nF4R0t>gc|4`VnR5mQXrRi1(-7(t zv`!0K-r(l&E!?%pGu$FSkRnYox-$#)8~KgX8^6#IY?5rlK#;0hyJo?Ys@kK3JYqN% zrrR{r`!&Ycr@KOa_?p4&9CT|r=&Q#MmQRZ zWBa_q5C4vAPOx#D2F?`VtI5W>N3ijIy0FpGl@0eO#77^4jcu@LBD~G+BCJEyFVPY~doPV^nZxV#IyNI9 zJORVXk-*V9Xn?x5D?CR9Iyg1AQi8gZ^KwbuLue>bU-gmhl+(bQS^saU(X$}0?sh4G z_fY_Q%>}z0U}A<7=jwm!qprSJYJZQ5FP+DMDqTr5yj<7!H^9|Rp)n_{P?g=VE&L3Truo$e-0Wwfx=t<$|n*knc8 zu<@{)ihK1{$@4V67x>Nybc6q0uiT>|dq1QQ7Erz&&=WG6o$PQ&xqN1mPw8$|x|{}J zIg_QkL7AXZ9k^x-ElPLfNDY9xR6rm!k5m_RG}YA|WRLjzXoCkDVHCZBPmqeWbamk- zlt#&aun+Ie-X!kLEO6>K9=Bo(4|GW}IHZS}1%A@Z?V2h7kTS z4W9*gIMW$U5BNAK>-!s>>lJEiNbRIP|4}()$oRd+*t?hVy@eQGpgP^G?_WGr11vHn zr28k0^CEDZszXN@GuOPnpkdYuUE$FHmqzrnY5!HG~5Qvz`~(IAPE&!BSqJpghx9i92JVeVz_%+^RVT&&bI_ z4(^-jg*Pmt(N#h~7@>!>Fc#hryvzsa7f4b2ARv9(%BXo62_^Q_OmL^(XFBI*&mhqa z$hE4SNM#}>M}REN!k%~4C=^<;$Uamx;29Qd891f>#lg5)e+N0<3yJ*B*mUef|7TB+r{-NF%B$zq0GAIx8xV(m`#tZLb1HJX znd<{`ZXRn*u5-cb?$GNLnUKGRLQcED;l67#3(lHjzK>xdP`Qn%40n_p zH4B90V)XLFB9J$1Mrw`*gO7_(#z994iQy+1pt#(hXN|aSsu(-=kP`!`|qmv zcicA@us;ge|Fqwc50P}DC@kj~Qn&+^%*^T%L*pJSaV1lkL26ePiB_Jb*|I+~z0-gy#wEs#TzDs;h znp1pyv7`~|=^h~H>q6ns@R3k!Qc#~A)U>`v5;dSwf(1o5BlN19^Coh5(%?#7amiv- zy_>^jU?{?s@z$X4!+_7h{h+JPlt?LbB8a)3+1y zR-Tm8?~!+OpM4JvrTe|3G60*@5ow{1=={{i@GtxK$GTA~f!d9n#{Wuf?K~3y31B8b zvtQTf1AwkEUQqXH3=kJvrnOT_o&!t@YK|5ZHdFo@uxyUIMT8Gj@#n|Qu|%Mj&N-sN z)&SaVuq!k~arb5@(y6)9E2cxF+jJvbqDx)Haho#e(3QC7Z4CDZ;JqbkC;Y==RUm_K z94(}l_$1|X*p%B{t~?-D@~&HRkt3A)_yT8hWZG}x``IxsUCIkI8Wdo*5YjZqVVRw>slNywP;78ltW=1 z2OJsK|ADvxmp2pF>*ITC%P@-d&_<31xJ=zaU~K8Z;i*^ETF8yTRJ`m^8^5Ixcd5Df zuS!8ZmTKaXI|k#X}cIS(-nciiD8 z5sQ^O{JSiN@_r3J>Z7)B5Mely8*JWg;BImjiS37658Z$^0{Nd<5iNs1VAPCYC&Mxs zB6A_eB@qGUp`BcOGIdF6eeyfqCQrZRu7K)oDf4IGOR>iKVl163O>f$p)%59*J__rb zNbGN6i!9`e6OlUu9%DJ;w&32L z0WNLRk1?0mO7@x$7udu;=*Cd5`0n-$^(X9k1{6nG+$A|5pRI5|`WtXhl%1*z>m`Nx z&4%LvsTVZ|{hRkE>C;hcvGbN-Oh~S0I^XK@Nm;f240NM^<}=oi`NPi~+jWwFIOI{P z1c&b3tYCCqJ|NIHQ8a??{{uyYb_^2;{pFCT-YTj|rRao5C3oDMtJ$6hTwxhIZq8EI zf`q%=3P#(faqx~!>!I?os^AtLUF%OViMs^IiDf?`wYVSXIG7kY?^S9MX~WS^#!4m2-VyM)Fg6S0oqZ{rH?jm+ygINM|LnoQtb1WdM>rONsA+ZpXsj zLAq6W9WaHAbHms()NQxnD-rk_=>5>u68-T~`xml8d#EoClp-}5j~S93>J>SJU5J-6 z6(5PHVgseL_E4YDiOCOi^3y-C0g-p9wd3YEFTv+5v6szIckHKz?4|!NALRU-2D}k~ z4XZ&gHlYUW{Yf1FobwxC>3GZ8xc8XqJYIi`vl+V0&v0%=kqrCNT5i#la&?h6I}?E{ z-`)(}nfTu3Ks1JScKE@~p|aj6G(W~IKA_pg>*n~W%{I`KrKZJjI1ne}_covY7d4Dq z)Qp-(kk83)v;OAhJh_JaRrTyX4w9jZ*@6o|Xx?(UiF}u89|_}I@JFhKQBx0O5LvYj zzoxxvF%s1UzW_n`t|Sk6L2}zMPV4VVw%@_peWH_}K(g~XM!saV_v(y=$dIpWPCm8jL)R`YU=OdHpdvtmZ(%TItwCV&O5`;2INneOvvRKVUwemWgoorl(fw_x;Sb^X_rXA8bXTxx%& zE)l&@fUQD4Xvi#u*Ad}TB3w;$(n~0TrXOE)l(KfHPk;hB))vV-_U7zRzE!}*ZTeVU z`~=|mjV zu6cz)Q9Xzx(2k`*yg?($R6y%;Yzqs!&m~g zMP<^Rm?Q2)5I3#OfUSr5W;q;kWMR~j63g8qg#mmw6Z}LPX!3pG5{%?^fDRN4Lv;79 z7m-N)kXkysFyAL5G|EtX>vfzrr^AYUS#xj+Pj>9$-pc#}R-1uVcc+)$kIw6< z`pm-TA8{R0x6ePG-tbG{lEnsH(wlpz#CiwmUFtXOUQaa7aiHMUKXB)#QTsf|bN8ol z7p0)KR&ZnJxJ>R=7AGUxCyGbSWWdG^7cItmZ_~ld!X~5k2G9xQkHxl(tMTO47aJRK z?SMwWmrwD%Q`XP@-YGkvg%5}`341lODSSRgbrKvp?v-@kBH!cFrtiZlC%zQ;I6#wM z3Z#%+947f-$kjcSdGB(C0jlrhzqb&Uk_{o z3GUYy_ApWplvAmePghKRc>{D>`+Uixrn(L^&u@?qTYNRM@Rop4yBP^3v1!;+idM&G zaK2YwEF;izKaCtak_qv^2BZ;7L^t5 zZ8jI303=U)dQo)t33hRgSzB}hzO#pxw~GhirLR$2E-ypyf++W7>I80Y#7ZI>o|zBA}Mir zdEmKKeN`;}R?WY`AGLZ7;EnZJa^b0dOK?))wsE2CknO_8O`45>urVW5&r8S#ja2QP z(89#0_3(wsR0Za1%nJl_dJ6LxV&c*-aAa4?kKS2aZ6*EVgc2+Q2~mPHz(EQ6gBF$G zjn6=0sNiZDU_%t^W>vTwq^MpPZSk$2An&!6k4`Gj>y!q*>5(v&46uS~+fJd1UUZ4N zlav_}vtsENSvZ14vPR9nvA~j?M8-5)6VNaM;5v!&*u@_yKQV1UCshO=J|y|=JC0D1 zqXF4ID+z{BGr_JEurpC9x1qoO6kr!7nSDirjRY9Fv2^(zfUx@{8n*gFxgL0ZSz4dh zqDQ@qrtdb#+=GR;)C`W!2+lcRq@SX*t?ATo2r{`0}r^zpn8$TCmH^YT87M^&eSbL z*9+LpZgXXn98V+UN~S2$WRy^ULxb5ZR2`Qrc9?TW z;}@j|GIolJ;sd%&s9`y9P5KlmM7_G43E>g;f%cpRYzh?v9_uF>v>PfSGZ*^+g!#Jq z!^fwC^8m*UEQx&xhK@0nS&&;!%1oij(y`Rtf$BRDM=b6iyGiPSb zoH=vm49DxmyHEr88kMP!HyLz}+51fhsE*nD0BTVhnU9GPF73n}zqt(s{--YhGItgt z#j?MKq^7$H3y$PHg-#XaoaF*n@;>-k3jc3Ri@e>`h5u737c8Yy|ApW9x$K=h zjuz>wu4XMa2L>x@JA!B9lAMDsJ4#~{`lyqB(GBu*hB6NWnN38wd+JK<{S~i)Z32o0 zmV1j-UZWU-n4QRGV-ymCxE-!+xt~{?i0k8sWms8k3k+08Y2@~b7Na)iv_gw1tCX^I z%``uu#HZr3HN>6j$JE@}%*~N@+hKByO6D+QG$UTD)3>Ujq=&a?p>DTHo0+7ME&~1H zmnuy|ZB-w<3!(bxte59tk}u2bw+Jhrt||)uB-Is%6FXHsVWqX7nG4T8Fkl-tvAlXr z8n)Da#c9?G^pxLe(+Yb_{%+B~=uJ@CR7wfRirS1qp_s@|j9_(%AcXRPxJfz6%~#Tc z;-<3LJAYLdXS_J%?c~Mg&2C#XKhFi0sQiI*?V3)kz z(EpnFq*Xr>6#W`Soa*jS`DB;bli__6sioIkNM>w{vULv-kyo-8@GBVZ4<`p9ECzxAxt0)W|(Y6MZ^mN9(YT?^j0#eB`n{BeS<E2EsbE+$)mtrtwZOz2M zsUl+h7m_P4p-D1zt+*l0$$1MX|D93GfQ=8(E!e7NQb$UU zy=Xd!TrwPggxl%_avG3{yVi+&U*eV%M+d|-UCiMCxK}ew4CY$+R{P%kU*`#(Lv13V zGY`phf&Ax}=Ft-RY#p~!CJ%L@c^77b;z_4*E-ozmgM0-~)SX!9d!`}eQJ|ZgHJ*t7 zP3mF@q5LgUre<8uy?oj5UCDZ$$@&TE&-kGOChTMr_N;{6`5#?t9LUmez<98VqRA*i zBuKv<%t>KUVX{3%HggNGKYk`SFsxz~YpuFvLM68-$xSud zpwcaKG@JR&Dn1jh*?VDc1>>Zj&eIdbG*i;0lyrnB{FgoS$S+AKlTQk>D^2>bf|*~W zsfnsa61I?#lSw{q!W0|}O4lCYuhv&^LJ(KU3eP+L8Cm9BDXL9@ryG!8Y=A}!kn&>b zSIJVBX~7?hJ;xiBDCQneE)0=c;vYCMWP2uTU%X+)Vt*ry%Qx9m&EFmQy`+fLKEq$t z#)@0gL~6!8E1?gJlcY|6p|1!yXlE`iyyDF@BxwKOCz(~>S+}4rLiFQgIz!R{CeqM8lSVl z$GNdHCX`h<1o#R`=no!2S1+p?oR)c$d`B%m> zY1evj>gD3d$-3MhlbaLvOHmIAdzVd`j5mIpJhOEQXNu9F#447fX*kDcCsZy7aaY1B zrc`h31A2y-AbzRMgbQ(!zN%?1>GjC)<@POl-E$pTleUL{)j3<#4w^|OiHG=Bk4U!= z#_mG~FuGKV&4Iy-sB#wBS-)X9%UZ~p-?e+6A&fta^LE58FXj||0mcq9Uz5(%Gnu!h zUDM7SK4n={fXy=4F&lWeN)8EnWk@H8>KX9a-5@)?P2)x|y}e9ytF3DIJ{h6jnkbmui5=7=Sklz}@69D!ZvC zp>#lPFPmnZ!#*5IKU%8jc&cx3qS7Q76`|S@)Z=rIakF;U8nD| z6r9RAieT9dK(!(REpF1(AFQ~oG_IaXFXa}^s8!W$X(&B*qhEfxZj4Z8s7Oz_ZL!MF z0X`<)d~NEUOcUS1{I3~xv{Ps#X`Xo{&4p4>2*}=YV05`X7A@#O#2{R zetwC+x>0zu>gSPR9vmz3BI8b4xN-n>i-U&Ij96;u4we@Uj-|SgBP_lE!|fS?>%#5s zK(YKeKK$+3!K?kz=Y@5CH!(h3^i&X?tuIT(WL_xjK*GA1_CZWjee7!n+p{p=XRE*mzm(rITPdb2^rn*A{ndDGprW%z2^pj|yK8OsYUR*WcbHiEn8& zlQkozk{Zhjd>TPwXTCx#ddtKf{wCRwfhx)Ef}Er!=G9FGN-kO2DV(%MdEG5VSAV^! z`=yjdE-`$fA5*?=%YEvS(}bpG|E%ZP{tZ-1y}n%EplGt1LJHS3kl0wt4mhiO0jTnw+#TC`psvxdLjcd;ZPnHBsU~P$ zx+xi30>HXbtw=n7fW*5iu-&@E2s zFIzY@Zbwpd&8G_G(MKfM7kNapemYFC^f36Z_=}^PO%qV9G-LX z1jpS7F!Y@K&nl+xkChxQv%mDod5nGbA(`{DV2Hv9&r32w&tZLPNUjvx?`U0q%~V$} zd#g!C*dHA88{*4A+Dh!S!ijm_<#VM5u_5RDgaI+V86Wg%cegUkS1fydI}x7kiT7>o zFFt;uBs4U$>x3lnf+ItskL&Q9?%_hp_<(L91#wL@XB$f7(ETz86fVf|*0S$M8U8Bz z6xJPlsJ*P6!=1(6m2__7vJ)S_!Cc|<4^cg8dla>`>c&$|U01yXSEI;AO;>ApJJcNA zJ4I8k?_Bx1l(@ zp8%|}K)rmXdeA@{B+x)wOI39yVT^>%{aicLG}1X5FD*yDVA3okjXn-KniVdT*CpG2 zjyVZBr|L{5FuEWw{wMGfOqxyRaxz+vxc6;y4Ya7ygSyj zi{m1xNxrx#b`Lrf2kW!QE+>I%Wz&`YQPCC{7~8f$uIQ5zu#rb->#cc8r`lRva3*&^ z9pXb@s?(6z5-M;7KgV^RTws%E@sE@9mGik)Vu!jw!wDO}4Z&Xt9xfyF-V7d)-WPwu z(U1Pu;5R|zC-Z6i4ksqvvwUlypSlfqNOos@J{?Ql{w~A4GkzoQw!SwbUd5}N*60_uL-gJB_=N<7 zACdQO<3Hh@LS0g*y+@MuQJ-M96PJ@p>Q;F>@q3btMlBTYElKJ@FP`Y$IY7!9?vM70 zf1*Q^u+{8uNcjd~oH_FZe^$7tz*{p;Z$CKmfVSMF>fRdh3gcWd5$KH#b|U_J4Xah% zxK~)c9OL!YxJ+h^do)WXDO#(mOe7<9(|;-RS{=3_PwFU}GcBBlF1Mc_qwBmeM}A)Y zLU+3#NlHm_IxmiYs^huIV}iRPHqY@g)vD&}1$Q7Ln*MZqrnkO*cyz?m{=^o4(HC=e z#=oMwu(HM)En65x%pT4URy3;mW6;|poykNI=ESNApAxl!C{UIa{k>oD{iGx{Y=TRp zD^2z8)q$F%74}x`<#3PsIm0f#xGP4h5%#FHUlM#nS1=hYeeVVht@0(0zbn$x@FixU zWIK}>X`tE%(D69t429Z~0X>5bayY>%sUA*{xy+Bg!&SdS9h~h@4l(hMWE)F*l|NS9 zBGX2cJ3w`N+o8>T$2XHecZIR0Bxy}B6-+J|MEs)yz}9~9^kwZ%ce-@ADsHE3Yjv~^ zEM@ao#PL1qv3*!7--R3YQrX~8UfSfPKQF>6 z=>G!vQ8pjVJmRexqVwM+>4n&^pB6QT`1aGFjbwI0cdF|oluh`%G~j6H(dGJ_$3@t1p3``)B77JYgE>5>@=WHrlII4Vn|VS!5A(djvzO;TJj1uT zT>E$?G`n2a^DO1LgXdA6mw4Xb`HH7s3us@M0>&jgH}IT> z#8v=ompjdqp3y7wtgPOB`kwWF{nziT{!Y>X-t2)#4I11d`JZJdOy5)<8}eE{ z+)BjD&X+~8clWYg{FZrkCqAf%T4Qt{YvQdS_2xHk<*3pDnEKe;{bN_^qdNLP8fCFm z&?(7Pz<1MkgY&*WxLAVo8=A(0RRz!GJlFEv%(IB+A)W}&I-XZ}pmFd2H~&1T#OcYm zjNZL_Wo9J}p`73E>OVwE5oN$LLf2Rc%T_K|MhOz|F8`ZQ7kw#L(fLb&noQDD4iVB83d z_L$yFlh76udP54bAYSsPxN)o8s$TBGBuCP}V$zqU(rZkz<3}Ot99S;Q&&3H@F=T92 z&yg3o8UEU;mhet>k0YOec?~e_E5W|l5cnE{een-s|Gp{rGmc2aUlt)G`q1j+U^tSz zQn^7fx$dQ>-pUGh<^@hnHP@F0H)I<@5;XnlVlqB?DW``+qT-|+w)ScW>zlKs3I zlKpMH?po31CWtw66&xQ|5bTY-X1A2qGz13CSjBxMvNq`LPi#sw7NiBg@Ya7hvihKG zn9u(i4I|0E|N2W-+jFp)TaNlLS!xT#4_4G)$O=SsuW!=9O-|lzln}MG)8h9(YU_o^3^{Cp#rn}*nOQu z>mAcO%!0f}=ZJgW0p|af=p~eNzUTxaYaWR~#qk3QBQv|;gg3LoBE$aVSf@4@T1_ubf$wvbOthTqBh;up#I zWa-~Y@>`Pl!y9E~>k1B0U#`==MLxAmco-RjeyhLj*VKnZe{UpQw#web{o~8ejulij{?NcNzXPK__?f{dWQY}GYR{_EI;|@ zce8B&K*A8>{lm+mz5fR!jx6hzf4LD9c70DPHG>&)+L~8ft~YtE+ra?jDdkzm6WEEj zZ_XY>_>oU7yIrnhd5US@a}jemC70FVV$8>E&Q_pw56u? zT9>?1N9X{xSl*j88Hk4zn{$#!F*H%b2XCD_&~DV%QpGYJ+{&q{+(r=;lk}fSE_Jd@ z*ST%pbpx%sTM57gyt^7{+~aEe0AH}>Y~b#ayQQgP(UbV`UB^j5ikjK<{r6?$2+Z9Z zG)(8l6}cb_?eCX%yU+gCXMbI0rxwyDRG6i+EZdIOdjQ%%z*$e1KqzgOrVkgWn_wgC znYak`*=19#Y8W1MV*GO=a|+j}#flSUud1>{gYlQ_U3Z}y$J&8m@~4j+p*YHCf7#yO z(ps$cj2ERHFd*S9BDu@ZaRpzl{)t-}wWo#sC4(1p{ly2p=Xz%}XAT((cVb=mNB(qd z>Ju1MicT|KoNa8)^lT825|B|^n+R~pPoimSdO^A|D-RCo*fb!JZ8yaxxnnr2R#)mBlT16kS*>hlsW3WbP^v zU4BZ9FUmT7pIHtls~l`ww5Yz1cD{mvuwJ^GRrd-8Y^wh=L~3L4U|)fjCtd9t%vj9^ zhcw=GTEmRCZ$n7Hz52N15S2q~q7oefc?|c|8I%1_x?8d{5@z;S?-daxx6K#x@1vM8 z@!LpbGE^@t|B{cuFiz`+cnR0#K<;6|Ogl81mu@}Vq!%^8@pf6Z-FOnI6XW>f33%xL zc4Op1eH(k4ZptJI&i=0{U#5R4K9gJyzDMqNn7xjVfng|T*$4BtS@=G%KTQldYmZPs z56*C%?9e!zsF^n>+$Tl@Tg1kuewYqzZ4QYdLlO(|5|uMK>WP=D;Mooj2(Op;wBQL6 zO?ECB27=BlU^KO7a=)PHM0C*xAn=%t8k|WgwW*`GlAXHAk3YOH&m}4pOrf>usnh#VZ3#Bsbo zJ&##XmqY3#c@iPnk#Q0wLT!Ac`jB&RPfvc=ef^mO95pG4*ugTEfp&DbmNmZ;o}8_I z@-$dCFPAX+CwjZ7vUIHUSAQ!aHK$iK#qwm-h|_U;yjAyQHc4YcZn+wxL|;|DRbn2>(IuvOe-|X7ck+Dxqf8z2pzy+CYP-)EV~BA^G0eE;AyBc) zd>xJM;2Gg_=SGtVBr0d?;(;T4vMZ^KFEg;Dr!b)PRgJ=;SYKON_NDCW zBo8R32L@Dslh?q&=~WkUrMa5yO-;0Gx1lH92YVjJ!Hr`{xKA5otEnQp2$eJJIY~>x zB+JBOln-05DKvq|&BM#>hxb#n^4QvGbf5Cr%qo9u_LTOagzq)s!eR*@OgLtQFRR}_ zDec95?EG?4GYh=pXjHJ)YsufOIbu0(ou-xAy~++??D4|rN&sk4xYOVGDYiKi(#t%r z`aPR0?_Upc>(><4EIn5q46h%gaV;nzy!|AVK19 zm*Xvyb%j>Z>AmS#MYA>%d_(Qtgmz+j>2i#rn(g-(tG{A@4|`g*o(RuX%emqJk-ikm zILqF)l>-rOtl^GpF8AyNkzV1ZEU|jR7)kEMEQk=3Xp&8l^hi1Co7i}FNyL|dH6pE9 zx>1A^4u<-$6SF4_mx|-Cs6w0D<)~j(XamAKZiWEyRr~>?JJc_b=%gU|;9wlq9j^=c z3`|pXF&5TP>Qmh}y(=#f;$x%6#VHkcl-X~n@#JPfwX#6KO_$o;!RDP_2?P5iC-xX( zt-35BBl%>Lpsy1neB4?6Vdr0|G5X>O1M@@DTY5q?rM;=%aAJ@KSy@iN&`YqmY`A*C ziFigLU;{e*P4%P`EXz3UArPEKI#rQryhl|Q=)_BI(Z~J+9%lmcpwAQukan1+yoCB=6Egh=-VM3j!G5xF8tc~!p1<%5p=3M4I++y$ zim*!Dn@I=7z1c81h!Pb^r+Tv{Q}T+5E0T`Q!UyNhpT%wWP`&XuwCyN_)d#SJ70Vvy zN81}9T-5cUrcHH&_21+5-!b~{srv6}`mgLVH`Sf4|DK`$o~i$yrT@;=e=n22GVCV< z{W6{_d9LG`$#XMLfaljdA)ecKR`C3W=RuxFc~(2WUDy0}UGSThy4<(xQeV-#i`ub-QBwr>@#1b9(v!;ZJo1)Ie?ht7b>#v`&thW7I!o5)E%IID(-S zPo8?2V;F60qHU8EPS(hsME-p4v8Wl{22d6jA%5~d!xbp9`#G>P`#)uNXbtmFg}t_u zAFe+bL&$z!t?(yUdM_5^Mtx4IBRIS~ma!ER?fS2Qf);uc@9GTcIc6rpbSO)7bQol1 z`0YdOOd(6N%W>vaEaQiJV!bs}q}LQaD@-bosl6_>pJ~;J;6V3S20SczA6BpZ5tz}i zq=M~xYh*wR_x$6ZU{dyzIy`0ztHr)qI8LRy?FA+wRITMQ6^nCa^l~MFYc;827v6{D>q~sjQsWrO&00F%_7!RZ{AO0W2|${)m#+~J8dIGB%gk&QiSv9lO`Y$m@V@A zxjHOt!W^gNLrvjt;MOC4jz(Nd6#hc(ye-H9pkpO8Hl&FZ>s`e(_CFsL8lrNIkG&t9wO!Q%WRB2_<{SdO>Sl_G}_khF!Y93cE1SlFGidMr)S-uMRNO5yMaS(qzk zkiETMenWWS2)Fm{22MH_buJ!`_>s9$NA=H7NEEw?&Ee)ufms1e?nbu4|2-;jE`Lu5 zAkW+t0!~S+-z-n_MX}Lm`s_wei`{5>c9zF(Uqh74fd#xb@ZNrglYT-h{a1W5B+?g@ z+aHsCfs-Ved=0Vw)mV%9J^RZ&rm_-OTy*<~)PIR?o0*2J_lQ;Z=d!1*Pgf6rM2>xL zk@*Jlz0NuosUi=_8CTRU^^^=i6mgQ2nM(cl4|=kz`Gvrmj$cB;=?UsnC)^BB@wz23 zm~J`_S+_g!XOmA1Uy7ahH=OuCJMjaF*E6EyWJIHQmlOGKYFQpLK7eSeB>~m{2=uOU zQp$|$9O-lLP<|)suSZ6`q0Vrk?k379d=;-6MKx4M1{V1#xGPjWEOgP^|6;&_`ou3e zIZ{)Zly*5{z}?5N%rRoqoTILw?+Fj9VMDyWSi?8&Z`8pxoSVsZLZl4!2_bs17M~{D z=b8#Zii}U>Q|1Qwms~$SDvVbIR?XDmH4O#qmI8L6V=%-84ecvBl z)}Z@<;c#|De{nMVw3I^Aw`~6XUjpb~A)MEA3 zz)v>Ma5)hZwQ_jIbX8c0seb*k6*GiD?z>W((As>r5IG{9Kcr&e-!mY;OcI&fUxSgS{ zGPpH#>v6?Kyt&+HO`evCLwfysK}GzHijp)AN6u!$Tu)Th&C@`meE{FPNaL?=&fyzP zMKGhx-rUaIxkLShekFp#G-=MN^1?snk;Gf`k)#*nLbk$WcJtP-Q9%6$`0QEfY6h8b zMG)?E2QH9F;{y9)Rzq9-o{NXyZyh)+3-?OPemD26{N3f#n|z*jwTz{^`5>S zaroiZ$O!xwkc{lX;doaF^g|tJZ?O(^$ebdUx|CN=Qte;C*v0p!SjxOL1F5$C2EQHK zOByxl_Yi{qK;JO|Kb8RI?9=)6*=<M(quS6blFkE zkCOfaQk6-Y>OAY}6h0|aYSTq*kp;Rj#)D-{koKnx6semCb0a!jIl*C^(UE>xAaIL? z>0J|FAibGp%*%fpWq1vAmeyY$(m%;@)>lCE727~kVl|(UP{&wmmBD)9<`At91n0U(*4-E7|*y%NPwk6HVc7v%Skj=a1g7pUsio zTfHpeH-G(S>+ohZnXP^;dQ>zE*INb@8HZ1kT%6{{rgGIG&}Td0_Yz)a-y_3U!poNJ5{%fef;?E~cXuDA^$x?W~Fa6h1ytcJ+a zTEj@GYcqfshjUkqloiq6^+ff+=;2h4l~Ds(lLuvl7o^y@RDmhx!KYy3pYzVNou}?i z!hhbpG^?k1VZc8u`Zv8?H8%zegH~_B;Pgny$i61EU|lP4?SmE5<01zYRM>5FxBSo4 zH3FzZE=+78g+DfK@n1Y_4Hxs6{#9n*H(PL)TtYqjH!>@zLh{j(^qG9WoykhV-c^tl z7?iXR>4VF@M5DGHM?BZLIo`B?r0V5lJOC6VW*sArK0d$C0DO;d$_(+N<9gm9(c+|9 z|J_t;2y!~&ADmQo5hPPE+lJ0X5(R37j$5+myY*@#wYt_sU)deC$tKJ%-tW7EDl*}? zj?lWdJsMw?YeJ6^|0GBNo-aLdnfkH7_O6f{H`_<28ask`DDs3fb`3<vUHR^i~(+PJwx31|7i{Eq%zyXWhk~3+;Z5 z!cT{&Z|)IXThzz=7BvT^`Rvk%tc1>n*;KDN&GpAoV-X&A8p-9Kf9@_kK0-F>ZD#b$ z*J9BFqlE!<8$B{|9BIj(`cO)AJO5R5CV__-h>xkIz^TuYZ1Q!hMoKhykEyMz&;ziFq`6M2R_pRMPQV1*YSzm8cXiI@yVTQsSqx z>KHQTaZ!%KS|~KjiH#A<0b_8S`ks#X&)ouc$pZcH5+8&B{UsF9VM|X<^~sM-YuxYzeNtLT_sJooYA$^Q zqz(A9__j+QiC;;7?j~ExYjQm`MOb(@u|d{TNr53lU3!<)(Da<-JdGsTs?HEQ>GV*6VmUQXynR*7CbzL-ENBj`SScudp4XZ_om=a4w z8y~F}6=Sy`P^i`#Ls-u=H5Yi=W!=L5qNEcb4$dsEg)6WMV^2}F)0TS4jX$S-(ymB% zJ5iDx@7eF^Q2*GE)p1=b=+cvSVQk6F7`{_-2mo{%h@NtGc#C6)DO)R+jk1% zlWnZ?!@nMp6CCKkY7R+C`A2|B8IhFen9{#D5ooeS-Hli;zw8sqTlB`m(eY-Ba=309 zAXGr6dg&ieg!p9F-TsP(E#{rV_Q`2sfB3}_f+hE=QN8es&W5FIv?VGR2oHHvsvUkY zOHu_{JYdy|1|Ev`lU;%E=4o1O3Y%X;0+t?LR``8&A2Bh0dqapAmSoca;ScKrH?BYh zZ!$@{0^?b`@8?C`#L|_f5^tR*;0g(VJy-CHK08DrHqyp^Pq}Qzns}0+7}Xk2ba&ui z`!pf=H(w($-r7g`>x^l}iV2hTdbqAlJ_1*T4-X4+MTT*h&LFY($WV~VOV#g!mq6xX zAYRaqwc%nT6y{OBTTPws5w`JNb(U_#7_j~>>VW1fyL8KRszN4A82akD? zUibzbIFPnFCA?t;e9{#>-tH@g9RM7M6_6`9p!%Sg?kwrGb%NX7-V58=$OM+Cwls&# zi}_{)Tsv#*D4FdJoT%nAK$4q_!G%s*)wq(8s92{iP0RlbTviJJ`);E=n~uwY#`Gv_ zPR|a1lx1i1V#M?fGCMkcV~3{eepD8#oGG-^dl9h`@n=`VKxJ&I5(?Q~{*i4z-ZbN@P=I?}|exR=MmWBQim5mrsvOzzxG) zLV^m$ID6FLHN2O{F2ZUX(F+F;urtRMnC840M8_`Vg7DqpiRl^1E(-aiNm;8$hXt?p z&^@$gxnz%wR?Bd8`VoUp%JbRVq7l*PJHh4A(AuuA=&HxNeMFwpAFb-t<4B+Cm!OvA z%qhjp{@v%4efisjyF??x8p_So7Q1AKFIJXTR^71I0rzXPm3Alkwh?rW5J)vwOM3nX zE0iBewytN>P@QB;3l8eCH(*xmt3I)1>mfzM^BfvlbwdDCZs6L3%BmZ6sX|q@j{c?T zswpbH9deSg68QKLmJ+nbVp?Bt5!b?F94ggk6$@^y*p7z;9zXl|vAFHX*SA4j4r^xs z4(2@t2q_YJi3FyyWopW8J7D=;IcUNdd9IBo@COF#^>rpywc$FMFkHb|$=Mi8&IvEf zb_LG#o836(MLj{VIM((j#;xw9*>Kt)8-++%99pDgpcq;ehRQP!BLj^Fab%!d)IcaG z5~=7|1~+;>L0LOC_g6PfBcnY&y&R(zZhy$8Kjf&dV0mI}p(h~hYog<22&3g1Z?s%e z&J|5b_*0IAU##J`Q5f)r>l^s!87Jpx_^ZDcJ}T((*{OQ4iAev*NiKQy%%b8VV(7KZ z$ja1$*EIN@A2?#Ecgz9X86RR=8eX190UWu6&a%rt|m$3DmsQxXhnFHa9|5Dw-F z_VsSuQsnX0-o!YcVU7BtPG++iMao;dlNSeHBzVEpAC70BgXCh3<@0r<5OMr$W`nTG zDB3meXmjqsCwj_Ob<+S-C7Hfy>X~J+SaB)j9ACa)!`hS~x>K3N1fW+^MMY7ohbo%i z)WpCpAf&0mQj3`so$^Sbba;cbGpc6U@`63?(tn~K2{PEfI)5|^csVj^kW~O$nVSyBd&*`CoKW*H9G9Cfy3}Oh7=Wst2&=6-~xfAVseiZDB+d3-qNnY9Jlx zl5VMm;(ay#&xVMm3l&q_>aEg=%k1qK+mzcEf!}3jfF7W)%gnxkv{9yW+=%(36S5tE zl2rg6BGwn3pXH0rogH49j$rscAy#5DySLnv@^?P8ia7ocCi&FR`jucA>%Z~=*)^|a z|7fvVQ=8`UKL3i{nD2Q)E(!>aOv<&vA-qZVq2q=x7{cZCqmoTbY9yOwqMy~# zr%^!sc49P(if?w(h2YALnPQX!3%ZpR)RMU<&U1mG-1_M>FvgV|SUTgB7 zO8z9#bIBoMAx0g-!pbpC(ku;mNXCHZnm&b3ixz4O@hD^32)3@auCmzFV3xstM&EZQ zZdhg#r6x&o&7G?+bhtCCT4(a+l3n}D3cHi5beYtB_D9%tNW%tutGPMCI0EBjTL+H> zrJo`h&i58RHM)WLz?oL~(6GRm`n&lMQv6;xW~~1nU6m01XRWFV8`j*yX(dt*_0~R1 zVrRm&3ZIa9z#ROc(pnGkeh2z8v$;-m+}*u1ilV ziKGv-67IyrtOT2j;f6%;z0$&?y~{G0nC;00wY$BwF9OwRFs{JjBi*~~kNgxDJT9nt zYn_(S@`G$6Mb{YzeZdp=>ueZ{xvYXGeycyK%*XHa$7E@uE?GRe zo}sOVY7tx)s3&)flUUg3Nu4|*fJ;;Sf=hA3oy^u2D_IA14CTGGXY*b7_&d6glXP6G zdTN)XX;rWDD|2Fh6Yg}LhY%{+4Pw^q2(KYuy0`XU+UD8m!08&+J{=?$$|S`8C*XED z4hLJr3;37xuX_3^WNcM?oz7MY7=F;KY z%DtuU%heJ?P@&bQ7n6&{6*&9)!i!#Kv)WsGI=~!qMC)FbY-X?~LNZvLk8quQWN-%~ z3B(V}Yy5^2*L!Q@45 zkg!~Zv$DLkOLRFCvqJ@h-Xb4`Pl$CS6E+{V8|&%l$-J>Klo@qH?rwxbQ{@m&=FM_8 z)`eJrb;*{Ze=M+7Z-)87=;tAiCZe;HOe5Y}H$vBZ!RmpOirI zmJT$!!|e`^EWELxPS$YEVJ0sP&Re>*dHneTILckHDdu~PuFbQAr~30#`h04S@pHcp zN_FvlvwM!8XO?ywKdbo=bTfb~6Wc$9S;YDe`Hj&2PRfr@1|^A^Yg#3jn0PT5q=cR- z6Ol#)LeF{eQ^*jWw*V2X+eJ3jiS>^hfQV(Z5gEH|fJnW?>JwUD)ZxW8V(^exh*ED6l-$HHw-xuE z>r=ck{Wp5J%Hdw&S7#pke|)LVa}svd1Dd zn`00;L*xG+BHM44;Gdb`UOLz(!Iw+$#U}VYPUu^8I(4zrMvS6(GwJA~su7uV{Wc{$!bJ zecp-qUiDm_jY*7phlRK!paswKojO0==boR1oDe+CS?)z=Wtnl3ErvFB2s{g)kU2)~ zNNH7T2Qi%Ot?m7&gi{^SxHuAv@iHl!7YLy@$jlJlJTtl5iFvWna1?9Zz~#p5duO$l zJxlHPv9Ykf!tF=x?xp=%m}2)$PLWvkHJo~nrQCi-5Gt$QDiUZ}_$RpjR-Yl4qlnQb zOirWCIOqUvnU$-o+%wCjUp+YdQD$lFhry{BUlbv!7KOjfSbT1UJ)ms*W!aoD3H^9j z@D$E~a))tAdgJ?9eOsyzN-1-WvR~oQL78V;V#qC=i?E_MXO~T%K$c#pNM|-roJ}Gc zaUz6Cp2*1x;I}i_kKzKOux%1sjU~qveZAxu_cgQauXEqV+mw4=wiUg4aQxTA6}`K7 zuzUXO+;=6EI0?Uwa150=()Uq?=VUS2nq5A9*6gyP*8|6u#L{y)Qc^y>Au;6LCqRjH zYxL(cJzFdmd6s=ymX&*1cF|W$POHBM)T9T+`DHXdv9fFD_OB{F-;A8EhzxIB#b0r_ z)UzVN44-|teXy_Su+Lk5*jMz8&wKGV=DaL78xC2ZZLiR2qlWpZSY=FqZBi`#^yZ0L z{_y2;oAWMJO%Jsdd!|=<_8tko7j<9P-V55K*CcQ&!u)k)$kP9UtsVE7n#29L3aw{p>+suA^ zmMEU^&zl1tDi?;Y*GKwddhRW?zv^25R~Z4u?nHgmIU$%4Tkt`9Iy!-XFlkhCWQ!}Zo6HpvkyO+<@SDk2Oov-BK$YUJEq|_l#7V75Ip+8Zz zKnKADx-2`H1fS6l=&7pIC!m560 z4JaX;FV*UqYiN>s)SRN8xsi7@U;)6*>WW*@;Titvb&|sueO!LjMN5+$?*gAJn+m(8 z>P*;O@YMPT!9@Bl8_?3|Cjk|ELUXIanL*Qa-(ip!ec@f94RP&zM*tZTvu4$^x*d9y z08cXunH8B#D@2Kur>n>vjF#33`)s{!ppKIS4NH%5xLtI;pc!980iI5|0ai8{@FP0R zTg&2@Y4nk`#LJBUdGxJ666um+^u>&YPm1=J9&c5bMBZk$QstEY2Dsr0Y^GStKF|22LrnS7w2WjKO1z z4tZ#C@j2z8(=4?&qs$zkI_IT{k^V>IbG-zbt|DxY zhP-ael=TKVEpNpE?_c+`p*$9-WzpMAaScIs(fhwhGHIqaNvPW_xu1MHX=P&0ld`98 zC0jPAP>v>+&pzbKO^D6Dujrt6nIe&19nLs%J)b14B)kM`FeO_0z27(X3TY!5<2rfeDdMlY02K;P(Ji+laq za@#fR!88qhzml_m3x>@A_97ZpHjU-lrD^H~dLkEh2tv{!tRh`Y?;Vfu;WUig2kDo~ zlnUyPp=5#V_fOyH_cUq{P9fmIgyNIUeo9l<16P37>qVKKfW@JFmCM2rwC=**b^a@g z%12ktJ+U4c!?lWC^##n;I_|J9ZHjkYdD;|zVtdWDz=v`?4rA&MOQU}p4q_-gOQTQA zXpw6; zC**$aIjjM$W|K~m+Rfs^4c2yl(Sfb%O2EX|@R8!Ie_+rtg5O@=HJ#p~UIQx`wp{1k(_%nTkj<1dk}(G+$DX~@3~7lgU=32KUI5JmD;=7PpTI+pzxb37}y}cq#N?@tD%DY zc6=&Io}yiW^J{l6$#!daxtpRow0-#z!a<- z{Fk+U2Grq#y8MKyfEb9eD9={Pvba5ym*Kp~AQ)YAYA~nVwz4bGNenBq;X<8Z3|Zv7 zNHEhcT5A|}KmGuF6|k-K^nFy2hgAnJa)@!LRX0bV#fF54$9BHxSM*em-)sgWYkaSr z_xIPQ13pH5u#7L0DpBV7z@%onO03 zX^tPN3`-QJK3e`OhFmJwR0Xr3N+iGO*7aHuURG7^Db7+4Vg)7pUJD0lxl4BY5y|8j z0ajw+!$X6x=JD(>AtFyEW2@g&nWYL*_1TlFioOX>>84Q0wpNP%NORYqGe;1iWqoRura^wL{{Vv*uBFPGly7cF&VxUNOe2#!eY zz&Mv{|FlL#iQf{}euGi`@JfEYF!xWdzZ)T^=wRTOlww5ox)|JNlMf}pxc0MP@zXFc z9!x?EC{-Uu6Wx2_#(dxiezL1bhHR7Jx_a3Rid`5{88`M^9iQ@VQ4WHzELTBUhT;`X z)r-e z>O@)D?oUEmCy+#S0HjR<=|8&XeHYSC1(L4^r27fd$U3c?!dEY#j~H*s^C-ojs6vci z-KN!ou^idr?81KfYvI}#Ks<0$RR7`>XaT1#bs}G3gk3Hd3XmltH|59z6p9`X&Q{&O zffAQPkRrw`Xm;_&t5xZX-hyN!$8t?qz}U$joixo3tp-$de3fkY>x6zTe<{3#i;87~ z%&Z^7i>lIZ{Yf`@Z~FKuYduwl!jrRnxh?wE7CKjs%&)QZOzzB`DWcz!>F)7Wl6&#X zg>wsnzbq~|FL*<7!F+e{8vdpQf68A^aI!O^qI0WcH}y_XT%%#{WWdzP_M28wva^4r z=01KM%NkQrqeqYC*^O~woVA}V80B4;$@JdU#a9y!oqBQAfT2^n&!L8Qoj0m!ie(hr z`m@qd{PtCRc-Y?WtBP2E&hw@8UJn~MJF0b;|3&>uFpOPzn;Ji}XAiysZK*~snx~~} zjaJ|S21sRW>R@%z&$aM#7AV~XC~3(jNn*fhH;tKUKWVyw_)KWw$aIfO!)Zs7gcdA^*ry$5D+*YJH86-qKGi%o-N%Q563V@WPc2qg0{=; ztW7N4C8bE;2^9`Da?Y`cu^1i@h^YmAA>6>u^`%*A5ZAJIXOI5rld4P$3X2p2JEv_O zt#dc_h|LxT7qS_X>b5|3_@tcjf)((&7^xe+m^xae$5+xm`W$46F8-J_bFhm8qBG44 zH+YcO^VE(N+HklRaIj;h8d>Yvi%FQ12==lT2$bs&_&kk1N$xix^?eDpxP8d>qsN6D z9)FfE;s)6~xvtBi*YL_^M4BWzA0~YiseyDUA6W3Ggg(jau>uAUT@mL`vOd>~B$C_a zI7NUbRM-*GqiMS^9IVOOHCFjPCPuUAIO-(rUR(1ke{;1Ylz)aJ>AEJ%NWxG59{3{3 z3H(!lFRMVggU*28s=a9&?$I2QbUy&z@%Qy7VZ^y@@DiC(EjmkO*48w)zuBsiyuPUA zH^+U%8&@H?C(-NSe{Qipx|c%+HPryDz{QQ>kiw=3r!(%nq~T7GAIW zuD4e7O0^9eD=oO9pFdvTHyzpsdrn|rbG4{qC{uRXUB#H1=@{7rKz1fb&&b+|yHG_E zs&ho70BbP;3_)UHxzEu&^=zZ2?xVT&y6>0(njsa{L&|Aee{{W!KIhAs_3sqC{n5!Y z_3{B4I5vVk>i(TN6L@y(?CkG6ev%J0*X92@8AwAB#wPNpLKP1aqd-((W z4L89~n>>EcK9o-b=TPG&sWBgY`3N^nCI(Y};R~Ee%-^jFIPc9KaI*S$qAru_@003} zB2`iswB*|FRDXF$S1Tf@BoT|Q7Utm8JGBlwf`2{w3td-dT*AM~!s}(P(iON&>`xg; zGI9e09RifwKSS&;nbz)g^z-HRPm7awoeXFZel4|d_Aya-bHi(Kyj)K!acB+L{f*z|lo0-bd9v4eByR1)NemSu% ze9)SIk?~-Zc>S>UU^JV(Iy@Ma^P@c&Y4hKvy3>H(R42lCQ{5T*@9Fw)rT#lc|IO8Z z&y>Hb^2tAh=UAQ-cuwItgXaRCLLMwf7=~`#4tYFj>HNn(zWJBocK1q4%i^C~{&fGB z+3iEpCmk_5{YTnQpRb$ZD8YAuin>f>A*}>oaZ*YN-aw4czAhb&kY&H450+TDd+|ai zu0O|=+6VPoj72OUM_cx1r9~}sW!doX0=TUn!Lj~-;az3XHmn4+iu@^wJP2f1af3v* zODo8}tN*}Wu{$gdw_Q-~*&kaj49Hj1Ij^r}f06q|^=I;(zuRsOw;g6WX>4Ovzay6o zjD)A@zyX_6_v$FL26Dk|j#U)*h98kan6JR}9Us0DK=I$X0e%`k9f`!1Z8f%Yn)#r0 z;2qJ!B+rkQvTIqZsyI zxP#k8LnzH98p3aGkZzqix-0FQ+;x-#h$%_Hyof)%)Wy0_jjlvot6R$mQsV`T?h*?} zIbEVQM0fJrwK9QQ8>K({?H6U=W5wpo=3K<@3#83o>JLQGhluLGSeo4LL#8{uwC3%= zAfNsBJV_MZ+PBnmK!^M67l#u>bR88y3q@IY=r6_Vp)dEKa1_Q%spoKRBlSqMm>nI@ zR?B|b!q=hwU(eP99VE3IEW7zYhitm#@21e1<74T=4s-yPkDCyREYCJyQRBS+@Fpww zAcW5I{`K&L*!d!XO6lI(Iw@FA#l{R9DUF?fKz$(E)LKD$T!{F2$3yOOgxrJ+xhsX- zlccZdM1Ff}$N>OK>OoS?@Xi|Y>pNuc`E_UgXKx~G``6xCH5pRU4DS~$UwfCX&>yjq z?C_?XAC52DGpB(Y%q5>Rk(GEu^DUMMF@3c*RQ6l3lK)aVW^AJ=U*vK4T63csjw(J< zbKF|$(fDaL*R~#t+?^p`ydEa5@zboXfJD2m)ZU~%Ko{shAbvP0zwJu%jn0(a6>#uK zD4o8@3%Urg!x{_HzJfnWH}TdyM!CMC4)1LjX-QGM$w+;0j`A**!r5yq7LrPOh(UzH z!?mge7x8F=*G3&jW0i3YZf=u0S7KuK=nRG`G7B8&5El{*#F+_SQM>oHzwuGd21~JQ zVNdJEPhXRwy?@n^5sbyj7`pP@7R?tw7$YS^hQL;OWn&zD($V{8D%5E)VOX+LxUw8QN;A!v| z4Bngb5q+M*^U%RXYa2kHpBD48%lzy$KW*kmnVM&!4uqhpuVXUh!lwH+{wwi({p z9j+OxO2@u!H(N!A=c1j5((OlEHk63TtbzIcT*Ofh|B@niE15=QS)Sdc_I8WO&E77P zu*|??8?3P{eOj4Yv77oxaEmpzvE$XlE!K&x z)`?rJP+Le4YdNveI&rhF2+s<0ax8m$DM;t;@RW}p?Ok_we?3x8+{Gkro!HQ4lZ=Yf zF_IQ~Mm+vRldouxcUhij#2BBNJ5=mSOo0dX_{8PHO~@PhAHol?V9J?ueJRpGxUH>Q zf83;bLj%pn3w!}!GrVu_nBi?Vj6z}zqxe50w2F4k`HNNb#@x{qWN-K7ZotOF4o09=E2`~;EMH=wiv5>R`B2Ok$BAcRX3Du$whEg~n73Ta| zlw|?pU26Z*vN!)Q1GbPuvn^HtKb*u@^zobxdM4?@|AWa!Sh$@2aYP-Oov8D*GIi=I z(UytRgf;4(%QS6Q%Q5gw2EhV$Orm=Uet(pM4=FtGi2!_RY%@%|APttb9tC zEy}>V(YtOisT#3OI3}^lm)n@%=*w>u6WxZ~?fKhFdDo03zsX9phyL>u0)dvRo~V-NHcw zz2oPoSlGOE2hIj>ru<$^@q-NB#d1H8YvmV&yYyTP<{qSN`~=sY@}p3KgUE$j^^j+ zNXaq$43Cr?%g@M2$q0UqkCYt8&vB8Gx<Ht-~^n&dZ+rJToUO7>_1ilJY4}_5C8)a7Mbj_EOYj8@GA9f z%A4>#0eBxD!rG>Qm4|2U6!skUc@~) z6DpYfNYrPp%mL3&8)?=Ah3doEDtsrJi~CWg2~Y*p{@30E30 z7v|NfR^qx>nB%n6{Ae#?MLzIEE~q@VI+4ws{sY!nu{flhq@W1bKz3)Lh|Q?<$tG zE$Ut(*vp>fkKQO-U+VfgbN*+!hNWxRJl-z|C5mrC;a;T=)n3H3YTwAcy55@cyw@~OqZ6AOg}=aktUvZMZr8bZ{{K@=O{(IIwUCOJ+W)caL&3SKB0V(?!Rtdy($j)hd)IAvh`28kIOi9KYFUnWST%{e|*Xm;?ZW{+?Wr_lIW(z%lN(jGHsc(cddEp}k{ z*rVr=S9nu0@7L_{GR(Mfwvjg}-4%bHxAQq-IGC@{5;q6p`slX|$S+iL$lnX{XUypn zTGHEtMJO3*k{rT%%{@kHat$dV=R4O6IrVYg6%a*I&&$-^wVhdU0_NB5#avqASv(?D z!K`4mq3T8ub;V^HnhPSjCCHWpLIIONZe;IPf8wP6CT={+1`4^MYu zqdGQlQ!3_P$(UIt=F$|zw~{eaO-zARhsI6H`Y;(&WXh@?D40R#Rff(l6K~c1P6#%d zdPs~Y1ZaWZ=$Hp2rVlZAT{d;Bs^0LFLv?Ln-^Ti_w}Kaj$I7*5DSFaS@_Tz=xHgMG&`XC z*~g|9*Xvs9TFCix*^2jR?djHD?yVEj@fVblvew; zRwOVw&EDGBnQcYVN6QNdeWO`ughLQDX=K|RdVyA?(sVr?(Hwf9XFzoAY69AG!wGj# zljtM}LPz-Nb<#!B$Ql<*uh_)H3_kDj?SQiTswZV@pN&zSgLSIpxS%V?PEzR|RQ!hM zDY^A$VnX4qY3hav6Ws%Lj-y&_ z*?{rNOcmD}bX`ARbZt85w)gc#Z=8)St$a8+`4UQ)J?+XIwq5gL6NOpK7a4-|RqEd- zxn1oi$#6h=k~)R26)OB!sxyy2u?rtmD}79wa{dApk1W%xm?_F*oHZ%4uP82K-Y&EM znKWWf&X`92+FGt>!=CcqNjN9b?y4N|ZXhG6hrHKz)DiODdjuRI?-fsG-B|#F>N-<~ z7JryzWldU@zpY%f$B7}OY$cWEqwVP~iCvzqeuS1yy)fQLVj*@t%Z((4LOvylmD&fo zB(d@?N$lE+9+KFle0E7<>D<^L#%nVnOZA}>Kz!+C)rWHU^~OZBsy-wWT3~YZA&>k{ zsy^hExRn>`xPkJ1$4_*d(LRfO>N(!E2a=T(Bh!+Aip#Eltk%eGUx@71m&o!$?TF1= z`w6jRE)WME-tJPIWyClNE-zeE89YtBV~H5I|GQ$`P9miD-UldubgmZVj(*Q{%|;2M zt45#xf5`jy_$aGuj~}1OBq0bm;if1EQKLoU1&#J3MC%MpTdNdi z6e~)?B$DaFC{_Y=B6vyT2hE-L+*H-Dl)L5TzgoGIh6lPe#-$ppiNd zr{P`eiU14;&)#TLgDc)P2dD2}Ee?#%gDOt2d2MdSPWyRsmakJH3g7>vk@B zg$>rnLXfst_J&@(-o7?^!BCDhoBH_(P-8`F>LWEVic6OMV9If%FDxTTxF znKjmQep}01;pQ{>J|{{AMZr)U7uL$Ot8Wqvh(XJmZ5&HmGB=YPs z^YK3O6>G4j^-3TH6?(>-#)>;y^(KC*4#h$nwP#X<5Ku2h4bX!d#k<*{D#}cm)l*F8 zMmdQzFw}s-z`**}+k*}6+dg#R@T&!CRK?S#xhnukG0jzrbnrABfy^L=imzC7vB~bhNe9_w^aTBZx=}Yy(bsaRT0^XgVk@fPA-yJkq#uE)u+Gn4T;=meP?FgFUi=u zF}%90brAaw(Ym)6y$E=lSZJMteF>&@Mvyq!GTqgm7aG1otvy8m*^q6n3`7LUHYa;I z7iBD~Y~-8wm$0T(yTp()V{WsFM6gn`$8192%noUxAR$zhy0$Gwrk+P6lGDp2NLSmV zRnMaRZJl0;b`Ciz20pDv6PI3JtiXV#4^-_<2DFJ3L5WihXr`nuo05tvkBP%hgPVe( zn0uFSAE~XMFUoM#a(A3jMsY@29BaJ=ak8U`iuRY)S8Zs$EGV=nX+EbiU=R*(mK=y3BEUd(9%%!$qWdQ`ZFsSX3v{fJt^1?#HpPwmLHY?G7O!b!4 z8N!hJ3JxKr`7Y0F4a^fs@uqNNs;k~-Nh<#k*~tfe+w9rhnom=vC5&~s0gb9l`m!47 zAJ>PuUehL7GCfeaoMKQ!L_W#v1AD`1eD&bETo;s2}GZ+_NL$)lbF3Yd9?*UcI=qdGjr2G%hYGPMzAgxFnFOh&J{X zSy}gXiw9qzJACQ*BVrmCYvKDh-Y@|#x*!x@`m|yX9Fr=gfTH9HjR$b2^O#8)f>Qp$ zycOe*hg0VPmcqvs*0UU~vWrV^>1aHpUVTBZ-^XHo6!G=mK!u-+Tu{{SW4S(Rq3iux zA5R917O|>A(J&vWknD2VTR|eM5#g-#&EzsSl*ubZWVP~(D^Z9HP`_n|JjT0s95c8P zH(xC~=;-k3OG_FLaL9E70etR2zrnmubVrH8bxNsmjzZ6(Zr{@9fU=+A_e^B;m8L9X z!f)hsVN!KJ6Mi3$@+q^ImdM(FB)JUc^iN8s26~O3%|53Y<+K72rj$mT+C3U3)I5pb zo(llpE>>WjCqXbJ>Yb-<@s~`9nRvbQ*C<_+=YdvWqP=ZgccE_a63<%U?~uOOT!7;) z-(!Hgd~W9SIkC)qCjU1}^My8QWnxOQ=`+@;j4`;KHa;_T7UgP*;w>M8XO4#{$aO_t z&{zU=@*Le{Jx=B{47#|y*Imk>pW|b)eZpV8}fk8f2opT(b<;?~zjQQ~!FvHTw zUi!>pboP=5y`TRZ-cZzwK*5}kc~77j&7Gt^tD`dV?INGQGE!;Elq3@?Bk2+y$%RZZ zO*gcP9KmOnF?+czr?7wLTUoAxk1}VY7<=l9u>-}o;VRpjE~aI*=$aFU>?f9Vc%`{e zhgZV(4NBD-$wmuUthn9T%RiK46tz720x1OK)%8&IP*a11P`H^Pfw4d(EQEcsjT1z2`n-T1JBL z=6hcyzW%@8_Ya!;nX?~uK5YWM>$!f?{`cknMcbz!-%A(eS76trZ#^TBx`s&OS!&_6 zsq@#pMRpC_gZwgVmrUA&7=IohS@KJ!KXBRa_s7+# z>U9hK{>a$=I2{Ar>?IF?<6rmwaNhr|H%|3?;|8Yk|I{0YpEoq{KMFN9it+yUAN%l! z|3~<5@!{7xlkxl(=ET`cz6bo*d+%5O-{60aiZq(P3H|>9f8JFF`elLcM(634s$F&K z7tF&r2X7J@H;vJRSQYd48*?3o*U643^{)D~S+CXh$%jEal}?`L)8@La1!KWDLZ$?F zs>wwm-pMB8;vL4SRLJIEzAf}D1T?FB{5ayg?G?x=rjvD)WS2Ah8`rtF%rdw=w+whK zd5ez%#s6Q>i~pQia2>0A0b~}= zH3C+o4$>9clzZJwdVjwT52GbRzs9=QSMVtOt_|B272zFNn0);H`fSN&rOQ(g(rxBg zK>zUl%9sD%ufA`5o%nwBUB(d}!iDN`#8^5s$AX)32*_(1>f{p#DH^7_^H z2!?L`>-#naexFodM(O&MpHVse!k<&VeAw!`ZmKooE9wTB>GiIt6JOS4vYdM~t8sT1 zhW|4eJslJLO5O5Vyx#Uj2RXQ7H*R0I>)cXl)Gdl;f;v(?AnHykj%Jt?2~^Pb+oZA# zN>z-C6xPMelLoh%h?+vgkk(+_ZV|bSs^MeJEAWpEuo{Dr2D}D$M}uyo2gp{Tm?S8f zu!x~_;_(5qvAX3G1o9h#U>0yELLA5t%(6%@V6b6l;ld~&C|?lVBmE41W4(u`8d=1u zJR4Pvv%|Ax3!VtG)jKZ_PsvyJvj0%cwYpf-#Q_RXMv4t%%qk`4txAaS{e{kWx@JuB zAL$Q6#OcgUqQ7vg1rZNrF8w}GO zWlk@mZfWMKJMsfYQ2hd(L^$-(suBXvsL{=g+Dl%PUN@sAdTuUJKkO1W_f3nnw?lau zMJy6AzIU2xMa#@}NlcRi+{{<+et6q3SzhIjw8>dUa;kSRk~CVxgtUk+dc)2z6n}yY z=`>@udZondjf~ixI%aQVR3ueS9QwpJ&>o;qd@)yQ^<4?K-f4PVqPPTc>BpBg@*b;Q z`9QI>VsUq4&%g0Co^CJVfPj<0+9_SBj&+UZ(4fI~a$pe7WnIUpezpX_i3Rq)u2@Y) z>TURyyEVM-pX1_H-Asjn4#u!c{zj_$)(ROK0z|BJ7Dg$POB}a>Q+V`0stZmcIIY3# zR3hu0RxY&9PG+Kf{5z5MJ3owD5r-NmuR;Zrm?>8%%Oso$sUhCIPwPoj7xj4aS#7H~ z5}{5tG*s+;ibRlufc^;6s(pobQ)X@Yza|)14~0N(VlGk{D^@i@?!(n3J#jlF~Bi+ z8k}d*0rwjmc_D9>E|ftmGi`V}iKy}rsy>vO2el(`lW}o-sqKRIpcXw}K>MaKJIlsx zRooQf=m*1AvLkzuLU6Uz^s*+yzFp4f7o-g|&6FS9BbqsuD4HqaX~%2O{~yit+xM@C zi0aZ&z@NxA>~VruJ3hi?gbv%hnNhPP-TZU(bdG!V9$I;5F|9NM{Z-qdGt{D#Nif54 zLN7QNM5h;;u*Rpq52qWod@P$4Xx^A)?V$X15O8(1*PtV(^BlTg-CkI;+{t`=AMV@i$c7&HqGEp<2EA2(G){_lTOiJh|ieFrG^X?CKYcQJq z_dJgLFD>rN^FuVJNkqZS0i>unq2qQ?n!f z&1w2z4@4xqbfP{mVul8sY073QO&XXdb;lD04e&?2gioKqz~~^u!JI6(0k^NEn*EKCgtnlxcD_ zYa$(92Rd!ViGJ2luDetf8-D#ny1mp8(F)@G<~n-Q28uAr{D}ePFz(lGyY#8C zqsSmY0})Gys>s45>X*t-66;qSTu!OQ3AeC!<9`X#M9aIn8lR-6Kx}}VlBW&Esao@| zP2@Ij-y3`ss~0IaOrE(gr))k|i(?9d$RUp=v%CHN%r z0HNiO*zgqexQI^oT@2G|$0wB$iA^5T_qePuEfv~@)Zm4^ggGIz`vebsDGy6rjCtPzRXI1jl5b?|ktQt#;Z2bt{aa!K1 zmqX96OINiq?G=TazmG=-w>#QeubJv-_pTw()6I>j{Z@NcA2cd|-zv+7S-|d1fplr{ zmzja!gLs{3B(_1$%l2~(FDiqTV2qLfOC|p&k*d;$3#Qvf2~m;*9@9^*sCut;2%8#; zD|2LiBlK_TS;Fx6Go{9<`%5_e6Fzab4}Sxx%eW+m+`$wGm@l==l=^ROSJiqZ#y=q0Yk=b;ewj zm%5LkZX;WHe023}3vyPBV_hO9~GUGDDBxE!B z;*z`^@&S@5-ES^HuSWs0gF!$z)wO{Q^mt)$Rm0*6TRr-~@+H2R#ZyhBm7XD~kxpy8 zE48qt{Z5D-(HS-AM?W-U{gu3gx5Y?!B`A(%EHxjpK;F7-;q*6*)ZFD%q4f}v{-OZ0 z_y9=a7lkVS8@$LtW@glMrA>`OkVki#x?uv~kPqn2aY zTmuijcmb$UW<>hKFwCDmNQIjA;Wg3nbbF&QalGHQz)0eDoUXdvJEv|^*cZE z0u^2LFHRUcp{%QZcWLSAEnW4mhKh;?cGY_m%1TSS>fb!QB~;W^zo+OJC3)W_*-w&V z%^)u`g0MfxmEk3e2#3q-ce?fa!{rTLcxW&@G+v&GRu~jYudfsiNs^sWvo|eCAeg+$ zjOOHgK^je@ifY1rR76t6Cyb^+U*WASOHxHmKdGXZJk~`D6cOsyW&YA9k`|jKCNnAL zfl_h4Yd$LaJ483QnTH9RA@OIGwqcFFZEomguN+BYA zNFj$0x|IhS`p8NHG{q-7E|p{&YP>h3J|r$E$PH2KY82!``vi9)u)|*gR5gW7-Uk=h z#uOWw-Q-}i_F=NHEfsE-9fg5o#VSQDco-+}@i%;M9O|-l|xo5(9mXSlbShx}SvcvHr|e zn1*0m>%Ny>YwQAPL~;=Tn+DO4c}}gl7Bu-~??JYgnKsF*nP^6G(-s5#(pZgxiMxTI zce%(miP$d}Z}Azs%WUiMQ8h`QgB?ld0SewdxqWp)c`Q9M!g zL_B@qB#{kV!f!8tu^$J`UUNfnDPF+bv0aiMbhVi9NflCM+PvFx8a%b9t zhNaH41qGF2ykF3VR}vWQ7qm}-qvP(9M!?(D_+wFy!cLPNbnw+|+ZH1%NrX(Vl~h8v z?m`HO2y^X`aXtj}A$&(Ge{sV%K}~g+kK#u=-YMTlo_09C0&X;t%I83PqbQzB_eK#s zFSQ!>6Z+QgbT|hOgU#*SUEJFtCHq_JRHj6r#|Mk%4$1sm-^PB6*E7;?1*hc#l}l|6 z5<&-^>R#17IPNwsH!!uQM)8@xVS=?M$MwZ0hXd;hrD0M2EF!pEyN=6umJkeuqo#us-h-l1?iS1% zPZX$*0m55KHFg5iow|w=0I%)z_P|O=dEPp#V$Fa~Im!&^sPp><^bg*s5mq_w8(jFA z^Yo*sL!8(9&JD^5JjOGjnf>q4MoO>jgF`L;@PSVPMN}fvW_zUopXrDK{@Z3Z)oSa* z$9^?>k=d1sn5CvS4urI=Kh_MCZGFa8X$Hmn6>L#)7A*6s@v!^5b`ehtt!sh4NvrWHm&IS%yip3pef>0zM{oPnc91_o(r!=?W;4`lQ82%7YXGPogD=6lpb)=v)UAmIOz|H z7v0!@{!Zqk_Ef0maERwrWi1xbgjiaoP<+!1$o_EsmK4Kf%WG?MR&x%*0N47ImIJ>d;UTe@B+#XKbNYH8!W$=mFdzl9+8z~90 zW(BIv$>H9M<&n@6mSJSN_zqS9_srGM7Q z-w&-GBa%G2K~^Cc9B=c^GP*XqMPYZ=ZHZSLR^oWo#Ok9`p`PU0T?ZeXJc_R zyk>(_#TB#N;bl=uPq_DK+b0_li;iZ?czT>1{FxvLVGV)|cEd zSu()PYIIKR8B=PsYM&WFb@^So)lrwjE~hFqCM|MT#gsKz#xkIhXoD>wuYkD4;jF#u z@ek%miZHvy$aXckBCX(Mh)GpowUZ3Ah zOr`Z+W1pfY1UU5fQQ;QpWJH_*J_w&tXNPvNWUSj6ZW#>irWxTSAzt=&vV|n=SD{Th zw4ARo-8P=WX{gSoMcYo|$N?Z%sGZr7Q_kQ53C_VBrMC8iU0LV`b_tA-U?*aBMiJwc z$TXVF{+^?oQCjbG!JeR6U_UuEfy!&Z2BTN_G_eWyF6IJtJXl-_fU zaz(+RDt&9<{EcM+Rr{?OH~YH*9VZI-T&d?xBoC??lA1>~nxim$aRS=-zA4L4zaCyi z{h)QPL7nRj2^24uD;p|`v6^YwK%(g0cKUA}Z(8#->vV|^!D(lRNu#hPs^>;qYe~38 zuHfgy>i!;H(!vK7J*PhOveUaUvsB_V5_Gub243>D3;PWH{d?J2aid@{EFnMTBCx0^+_WGflxhdl2~RG&XJ`3OlIoZn9fxBNu__*-%Ac5i)| z$Qk-0q78kb#Jf^dNt+p~cn2og@6uK6P?`;l1Lhg(KdNct{` z9HE|-q_OY8o_m!(TK7U~90=8@zBR7E1F2Y_5~}A$TWERe>?0D5I~;9`InqQgwcJKI zJ=#hA*yhwJCUTqi`R)Grj<7`^jo$^{4lnMMKdZRZxjpX~iO6pByO!m}2NXz@(^YWJ zE?PK`%8?a6!$K)nE5*+@p-%cR&3-sVadU{PZqJj>+)%xpZNHba(N%~A{xwhO{E;1V zr;`;x`$W&Y!(N9h-cQ27B=bBYOX{Sui}1NCKKnoe-c{W9bU0MJF2)^G(8YSGtZY&j z*PLsm@m7+RB!Tbd#m{5Bt4r0^bR+TPNo3meDg7fOKcbBk3tgo=RU6|WeDA()RUj+H zYF5vH)HMV#x3u!zD~RJ=31q-Q+Z#w*w?2uPSXWn`f&79zaic7eGZ7)Q6}50)5Lhc& z4|%F+PRHvALi^_+Q;`C#$wss$d*bYiRc#Efc@7xVKkNsr4=*$3QtmzKQb~BMmecLL zBjJVDY_%)cJ{fNd(gQaSKTRQ~GGCJ9+Mm-=(07wB5N`ekKXW84%;hC&j)}!G%S^xa zbdX|Bx)=WUIX_kNH|Q!sA6~Nw4!A$uGE04DceTPTjp{akL#wM%yiEV{F?}qt#M@O2 z61DvnF@ec?)v2(KZQkR=8P;KU#4>pf8gAZWSci><)oVSAi+ze`#XG_LShn{L3(^>O zldh!Jm}^_%gz$cCdsAJh(a6q+rs)n-sdlI044F%ZkkzQ9(2`#e;PeSIUHbu4qwX?n zY2FQaouo5K zpHNb+=xh0qjDXX~k59hBEzCvG%xL->+;2-h0|CR$*YhG6F;zl)Gd6FpI^wiuKF0Vc zuWai>-BFZO9)H3uXA{X@fq?LN2a6IAI0oWY(9}e>xl-~Jh%4InFVlzaERuUaF2d2_ z>Sg9LXmft0M5ob%_|nW5CzDnx!{&4p8AfJHGB^bb@V2v>%}2JT=PI#nWk1@y5jIGF zmBYquFQ{+QZBLSz*>W3!Iq5^}#A&){LW?aRQVr^6mSra$QVSc*r`z!9@sVbTEP?%c z`jMd$@429+z{P-1TW&eoOo2ZVXQx1;YR_1zWr6I=9BzJzug1uFM#%f%IOQ>;m1)!R zxhJSLMCP+(%rd9 z=^~_Kj`$qr%e-2NJa-kZs5``vF5}f_F&8_Tvp8~`sZonM&@^|lAZw{n(8p%`)c9VhK`aOLa!7FCv`!xcW%S3jN5S)=Ep?gtH- zX^&68A%UaR|azhCX&xf>DnUcUwW_$;if=&y@nY!Z|Nd}%D zWhEcPpMem?)KK?8Zio@2F@v^jN1FpAN%!ME9kO=_-bkfsBZn`iV@867fZ9$}*{P%L@v> z{`x+9|4W3d-VDh&RlBQSKtEgW!bRSdY&c{Nz2vxW#A=H>a2nCu4vPrQe;0A5=K~E& zqN6x{pf@#OP)E-jggG)Atm{smwobEL2z3!KfL}EgeY(n1yoHB?;8l;HiIr%_!<(_UR|TxMG!|(`zg(N-a|$ROdYGb;OW_sfyd`4=3UI;QcW;^eg|;Bs5QFNF$YE*KSV zfq!t0wCT=hNe7dieE$lW}=vudO!WhwCEMmgKh?0^HqjhenhOG&hM!{1Y)MJc>aUJ|UilvAokTPjPCx}Ed?!Jkxh<3&ZOvVH8Lg6*dkdiU!V zq~nF8Bd7&^!YSVI2A16CxOU6i4VdvvDRreP3%TaoTMUW`T&P3-+9>=RMz4roX^(C8N@~&Z zgS~P0U8DMZp1qTB^C$q*3I*N#Q!G^$QC8I(DruhXf}NGfesQoo%va!#ei>#S{qJYs zcG})Xy?V$hiANiOs@q#Xne4XKO zfj?5vMxL!af8p89)5DX8MZa7~W5|;m?N6{5TY^2;670)rFRMw7MbOEU>tS)7Bs1*8 zaT`Ur(d;$l>Gt7YMZqCWB|jP+0=WZiqTvdE`8XQ}y-oOYewgGYJf(lQ4`Rc={PWe* zBq?c8rPG=qYU=Rg)p57m>pDP(a9(4``!^iwb$85J9<6QOvEnzyIL36aEKPqE!ye{Iuua4;iuMEa=Py!k4=D|r)Ewr0-7@Il^J zWFPRn`TX~Y^PG1`R?>Z=@8b5^w5JCEP*y)qZ$Ng2r91JsIth1)ub`;e9z{#s@?$=w z50d74yi~WNA~~5cce{Jr!>gy)7D=LQ;!AdL5%TIc>$co{liM+$&N4I>0j%ASwav*A zZ`A%EH2A18=4WC(~ro9+@*$X1DHhY{4<2R~C77(XOB*9&JvVK4A{kh$uyDhac8EwtqN}JAoYDynsKx*3y7shO$eLqLN*BI*A}R zE>|^1e3zF>)+7qLy!x-X)C+oX0IZCP4O zdmrq@lx;N^MAJEAj}^B%ou2akN;GRJlQPp}H-3!Z+9%tlhUeuzwcKpmaspkPEFv~C z%^So@#20r>4VhNEWn{{+f;@oOEx>+7^zX6=yIi)nCW%mLHh@E@6rS(~GOYG+9``4) zQ6_ttrkWM>PZHT{n|B&RY|u6TG2uoGGoNdY_z6>|d1IKbBQq=j4F2M7b;7Y{yx$H0d)+-y?`!ebvebD3@mHor8FF9C5(Y4zJ}--ShJ~w(vaH zQ?=(#PJdLC8r^h2rKARU)qo58xC8=#(y)C| zx@fR2AN;xC*Vf@|dz35gdYIXAFfZyJs&`+Dx~b_+uc>kAgT2XH(+3Zw&T4Q`LAIR| zzq?ZZp-J(or<`=pOlMz@HfTEzB58MWnBpQQv@5tU{we=WGmWm~B)^~~VSua_~tz< zc4qGcKFEWjsW483%q(qG!FW2Nf84`%NOWKQbXBVpjnqcH)>a`L+sz4;^Np?Zj_^8f zkgjEKd6hlNXgIc^dUMR(?Hvo|L5>GJ9$=>A2AbWGb!J4lJ=ARo^tX?({#C7wOn8|D z<5(@XK82e<0-A=}{~FJ*C+Ug3J$De1K3H<|?M%c|z5=tH-3hn+<9{+Xp(lD@{$22~ zC@FH~zbkr7b{4q-zY9IKlJXkd7O^H-fn40+;*&~?_DwRp9TU$w!D!{iE68MRG!a;(%aCQ zZA)*fU_;r zJ|`;|n*P43a^61JgUlc5N4H0T*87n4FAXb6Z;SXHeHkzUY-LQ>%nl5%duKpT7Y&dc zCt65-io+qD_r|+s4Sna2iO%nD3QM+m&+&z|ySM3|`jy|nF z|3%3E72ey&3DLGfEuK`kr)(L0oV6DZjn;J}IRh&L zr$z7NidABG-Rnoqw{zqB)R`~CU9r>5lr7#=qvA*@F~j)!!1*(LySK8xm@)7BaDm2b zj7fg`1Wp1eIGms{Z`|VTd`{_8!-(btkoV7bg681Qa|RAUkQ%P?7aX4(*|aUd+!y8@ z1;(AsO)wi$;2;Z35gu6gk<&Ld);DiECb};&K|Pxq98WJS4t=LdMoki#JH@+JT==o>A-w%23&;P8ygp0-MM4+F* z%nvPfDD|0GO;M`W*KtJMY15ltF-)f}+IWjPrm4~NxiOJ;xnut53#-}#q14fQE;=?T z2LW=oaN!w>d{2?1ay@uWqk+j;`bC{_iGD+YWL@0-mT)5O-i`bNYHUu$qqUdRBu7MR zooT6~S(iUI0jEPX!mP6iJ*?323Z1wP63m*1$VU`Oc9uToho}dL+PglOJk2Z@q0kj9 z8<1j#tO?`7>a+B#Ip^?~w|$|%rqkK+242hfhfx5N2;O>GFg9^$O4l+3qczc@o*E6ozHk;VHAj<90DLEI{dT z+2EFlBGk*Wo?mGS23h@atfow=f~mn8Cy3>hI-gUBb?fK9rX7|Gr3wq6UF%)1Qo?th zz=)Xf$We41#Zqq!Ne;*IIv{2Y;dgEAmliG5!Mh~bS!3vI+i zfBE*V?=#bJXGX9ZAW72)W-63K)*PD)H+`Tf5N=7)v5_^SXkesuQ6(BVl+cLa69V27 zXlO-?FE>MRheja1a2gg5PI{peNPV4Q4>y0>eB9zyzop4%9nqd-;<~-xLyzDv;pU-! z#KS~X!#lQK$Yc+M@9p%~(OTFJ@nRRn=WfmoY-1k@2%IDb#k}xnko5(s`c5Y@*Ac0Np2s=0Go4TViq82aps)h9OkBIY514pjjksaz z_Wr3^2+-RKK$lpcCt9EfnBK|_Zh1j37Ibw*+HO-sgMb)DgRJMcA1XZS1NequMXpdfbp`juE+ zAo&ZO1v29I6Z78@XobA}?B8Lv2F-SPw~V#=b+LX#(fep;l#V036H}%|4PbP+yeUt3>EAxuoOpL(cDh!n#(w}?=+6v2D^LLo}D^*{oapu?Ac8qx+W&R>6 z5id5-*#=(ncZ~kh>KlPD#d9l96VFnfEYCeW_w$VAIg#g6JZJJ$^VITO#8b~RmFF^^ zD|xQwna%SRo`-mT!t+a>M|c9kqEK;3>44+-S2pmdL4$`J9WEa_Z1{+giur%@zheOY z*yBc7epW%Zn*Ab+kLU>Ct76lrK2CTYWN>{?ceBpz?akW*zb~RBjm$123Xya~2C+Z3 zMZ|OBneswJtGG{()f^b2T5ua7=O+jZU)3)H!*u;3Fw|p_Z3)fk5pJJ{0-qv*sN=hK|NFy155l-EY2%-oQ#CB=)w8{^2jJsgcTYv|WkTYZn)U zv^+tFq}MhJq~w|F>Ig}AImj$UczL53P4=ZD(PUS9W2jult@xOyrU*9UZ@v?-F7B+5 zFE@ALmZ_A0KTPJ9FBOdZ7lo{4vw@wEe*{^aiKC>3$>2d&!F}b;>7p~^oVni=DH^s; zlQX>Rk%aG zk5@~LBTa4IZ)hP!4pj$y$`<)Kip>2oYQVQ19yl`jPjA?bnDFf9rkf~Bffdv!)>4Iv zX(jK`HW3Y%lM9@Bmdh@NVLX0hdyHojbwuy>uC#ibt}@U~{_mkHj7ZP|G?z_0(?-T* zt=CG%!^WhL{9kqekL#EGT<>$H9tMy+W(fNsOTYQ|WARQ&=uaoICw%#HhkC1@#u--v z&V#r-5@|9u$OsDe0)7r*>V;$#^5j4aacY-!N+F9r-|T0hu+5o; zBUf6O8HRD?&v*SfXW9e8d-tDXmRF@TpCooCc}wp!pZ6ZY@FJ+|9N_Zq$rs?SMBYuf z-!`M}wiz)SFwSt7S2CO&^n=!{RAUSlNErhHB%}#K~KpAY-|uyAHpc=feGtd$4t%uXI&xBjN1E&JB&Q%VWtX#Z{uX`ZpUgT=iu9N9?a zvFxolrTr5)5Cx#@NIak8sru#o>`PwgWETeU;NW()QiX>#QD-ab_Gg`R7cN1zd1Kjv zbh3l%?7aBy-_5*0{jt?sK_S|s)KN>Un3xmmgzaX<{xv4WPA0{tXLlsY?oaG14$lhK3wUD1FJnLX4! zks8hkh^{*f<)VVj9r`9O(uaF{_34XxjQc74&9n7AK1STHImk`r-gd+T$dZ(=><{@% z9&U&NO62w5&!lXp_LsBx3E$zW!DjiB-ZVtL&z+Xm|JlX8+_Av{DVa{RpB1#iy5BiI*)Z~~(9mDBn9a!vD(g$0>0kNVombr+pN-`= zn%DR8Mnvz%GXtFLnA0;&?2`qu(<;0su+|zBy-EJ2&j3CbaO~!tUBhtmU-ZJgzGXta zClzonE<<_W&8u;%#?^a+u%VN#xvG=PZ*PCj3GLFBq2f6qQ#j_r$%)SJnjKiR-Tr$g zgcH3krO0Pn^bpxp4u!C%bNiRf&SE}Xyy&x9))wfMUp||i`SRyoJF%EHHq)pVG{FAY+d(?<~(wcUA_iOd5^@_#4zM}J7t04cuej-{L*e7q9jg;_vT^mylJ6Z|aMeC|8L8N?&|Q|M<&@ z*Fb(u9xD??VZJP?92K2zCQJqSymM?58eF*U2Uv*EO~1jV`{eB4fq2ORL?%%6UT?&U z>Jt27vI57gY`}faTs^=H(Q+FRXzgW(dJFg&bqC+;ugN0Gv;8&MD6=L*V-#4+?s=dM zI}EeY99XO68NsqZk0$(D28&=L$ngz=O+6c_FTY@0LktTx70yR0e6Z#=ZQ z_vN*GWWg8gsZ}xR-fXm}=L`kZr`c#p&o~9tk=f|ro?!~8_p;H^JtYcgIhT!2?Ag!n zTCM7`(OY_Q3Y77uO|zlrMFq9WYeQTQ^gN}YmV0e7&gpqfL9P4Rw5`$eTLrZMYzrVp z^{iA-E5Wuv1wkzb)@n)E7KjjBq9Dl#Qd91xwOS$a&T-zauGKn`_u@eA8Y71BULMGO zcI`+TUx8WFTCE(3j|6fP*N(F9fne^ewOU0IkK?41%(_7D#kphFYDKB{vfNQ?wXW2A zdCR8MbS~TD%sz5g@A?kitc9@yn;tkZSaKp0I_@5AXIJs_U`2NDMe)qocqZ)677kHr zHp0B5c0#f->e{Q2dA4}Z?9w_S_q_I?e;W+k$MYke-|{@l)5Y@)&r5p$O)&6ho|k#v z<~hhyM*K*glX%YIiSS&?a}Ceec^2{Hc=qvxz>5Fi`TxTDRs68x%C>ff&zprHV@PMo zcOPP7u6l!$X|7zw7pRif0b-L(>UM44LN-5;j99U5B9YAEzdtN3OgAEamvwB>@-Tj=if5BAthY7k{g8S@c3d|yaHUm-MauK$`@)k?n>;#aNg3vo`gFW_WW?d%I>R_*T#@TnYV z3I$H+3-HP53uRW#?F;a!u`k5Y*S-LsH2Vt$(v$fBpZ4^HsMs{>A@zn+`+G6raP!Yh zf^FUge#K#C@~a`8#YJpZ0RFxDA};`AW5$8XA;!kc$iJ|I|6KrfzV;3h!lDx-0F&Wp z@4L@~?3vgJbGw>PP?s8zK2ZSPM0E(j28j80i?AUv2?{%KLWfzOB>R4zQ$Qb=ePcFu zB{h0A=KV0)_Z0iNUsrQROTB=OL%ZASE~R%QZ_I+PFlVpbi(*I02WIVQ-a8zling6i zP#byKY0r4!Yy7Jj5biKOGf9>Gb2fW9*-eqCEza~-ne5ZZPTt>Xi*WnZhh^8a&kpHl z6JiR@3r7C$e=nb}mmDGcleOw?rUUcUy>U7xrPRWve@OKu-op9kXIM05)+m}E4S&?V zv<5xE7~Hl>4%K4399ss~;cKQ5?s*WX`Brnpw}`$qnGRW_O5Ka6pQ38m>p|^yEkD|( z<0lkIULZY#<9bL8 zWTO@xIE3oc9WNInua)kTU41EHllS$f3oC8zH13~KRP%hB)9+PHSg`Xhb*;$Qv`<1UECCH z^Pbp2CjYYNKTrxna$c0YnP4J2@&}f z@KXAY7o3^jn25|{1_{u!J>``X57$A}d#6PRB|f;_BsLM5$AlcVck?U)W}%%K2!{;3 zD)2^d*o-m!5r#pZc`L>0G($?ByRX2%EBJ!9zXJb;moxKE`5|}Nh;tiW9%T%~%k%vE zPfX<_`L}dJY|7z73T+YRBM{~scUh$=9{zo=VY3fZPE&PF8w8Kx-|#c5j|y4f(znzE zv@F||I*NX#MGk~Ts8LhhoBrTX>I$FT6!$(EO8^=fxnU{Vg=-uEM-d^e6lm9%+|GaP?Yq2d# zbBRflGMcQuA`_VCR0uyK;x-ecAgst=7ZnM}UK(R)_LVOf$_z6%5a!M@ak8Nr*OxLi z+$et-l3}F$lSJvx^_t*KIX*Q~27_$Pk-$ANL`*IouINLy;sE$1k!cApx{WMNP>P5E6~Z#Exo^D(HDf8)4bnqqm*pJJa6?@UR-mOU!vBH=5vhB zHwJ4JiR{G?MUF%@%)^Yu90F^-kHS-Rww$l$%SlpB8y_f)lN-Apt&bxR*s;1Awu6qvArWQCKxZxyl8HmH}GThqJ` z_>5$7Cx^X>xu)FfeM$}4u9*weceRtAwYh2ItJ`hbzY!59woGPD^^`G zn@GN%#~x{@BgVn0J4c}liQ#1p+nm`inFgaC^;-O@@5)#4opMuz3ck_*wxAF*RqdEf zU0mx@?PRk`>#g>?jrv1qxs6*gLUtHsDBYy23z<^%gxTh#k)y*AO ztXE^91L$+Tqm>OZBN^>=`bGD1k0F>lBZo)QScNBnG zJk0x*DRG;(ZVOiDRe**G(Ro1%^zP=1{O4GLRn0|c%v*2$B0;bd2_3hgKx~rUMrKI^ z4KfOxkgCO!ES9QvX8(zS2w?lq&8YI>l%47@>%2!%Dr0KIeY)|C{4jiH6IVHgdVbHg zuxR4)Awcp20^TnK(|wB8a25HGmJ=&wU^@SyN3|O)SMTZ5Tt4-iU95kyB?Ipd_1)iM z&i@*FQcal(CZDy={V_6+nQR|8+<`eudZZ2p0~TpS04b{EmaeRKv5Ya8_Ax} z)3F<;KQ>cuSG1+e-Nte-9P7k_Z<5KM+A8x6?U<2sf^d-|#Wnoizwe-IP`6VUL*{Uq z<9L1L5Z=QoKl9_tmF5?Uqu<$Hbvv#Z5`14ySO&BX>BIH5RAxi<)2wEj`R0AVS~Cw| zU!$N$-f!ZzP5-H?IP@Cf*KZLm0se6FRp!$&Yf&ZxaIHW{V;G_Ptgh2kB?)+=)=<&( z?jRF=UOne&p;dF~X$Ggca+Hc8Fq3ypG+vRSnk&ovc)bT~d_?bBf|-fN`ySp&&&+AI z>tzDtdEag0E4-V@sG&KF-*|`(sm*lqohd%24_1ViT+fTHSI{gj#yVs~EuI-~F2Nn~ zg6Zy-rkBSB0*$u~=-r&&yt}u zUhM29CK24j-^iYP+@3_;6N{co)NQ$qV~m^P+2Yznl@KvrwZrFU=CYOvWfX+n)*Hdp zJ6I6r#|C%%dF1g%Fq$-}g<}@hfGGh+n2~oaCTO^X8Nw7HO@gq&gr*Iv2u81EgJj(p zIz$VY5&Xh(7r)iF{yE)yr^|?EKP@bC2HI3{Qkk4)cXqQ$1+yrWdf0qDf*)RA`Ec7z zit&meD3%#c#3mPAlR5sasIGdlK$Xgg2;H;FF$t<1X_0M$+bSqb9G5 z@%|lP82kt>R(18{;x~cx7s|u^>%4p4-<&5fpC%>5sM|Z!zO3*nd0AIx5;v^yP9lV* zHFTo->9ySV81OuH*{OKBA=%$#f*M*v=gE^wwqXVKPQNFK@a!tX+Geb*K_bOx9DL*0uii_38#`IhMt z7q#qqV%-NdZ6%u@w!e~q@ANC@FB@%+iKMOj+wI3lgvJ7qahU3tCA#s6z4U;ewU>4^ z_~0MbOSk$7{$>(R4>ojH?ere72__TeBgRZ{OmkQ+adK6K9{1+kl*dWpF(o8s zcY2q;h$0svNB1y-4a>dfQSn#=n`hqW!!O&H72Y+xtcxgRwjtpCrW5hV&_^z-seaPi zFaF!KLG$o1=}r?jePBU&={Dt@jW9Fv%v#@;3y?7We?XH(#{XDN`G#3immF?xr6qi) zIpEmYcDi}5GJnr7f6p|3&oY0dTj@0Xy0h&Z^RAOioo#rx;O_JDSa1>SetMvIn0ZkXbdZ4gfxrOl~=P4^)1DHZzspD z+sWp*gRvvooE+-y>Y#KqBOCdx+n9{^VxH2;R{X&Ui=JFJmZah{a*Y9>Is3IfK69$K zlpNZ7^y~7yko5uKS2&xcpI_&g9g>B zXi%4p=aZQ{6TE6ZAS*NyVRujuV_#O^-v5BoN}A$bEIwkEa*LK0Gz-g3f0)j7-^*Ab zuO9OQx2N9yhreD=xNX)U$%?XKy25uc<6bsC{Ynv8Bq?F>wx4ct2(}Y+mj_5mK+HV? z+J>9sRJ1pGMllEKv*MD$+<^2?^l~Us`xB8wtp5K<8q{j`s5cXN15O9mt|ZR87aImA z(_%=ci1(xH)M?=6FrEqbzf62KE1rv|0$;rJ>Yr00yIlE}$&lSm3Jv{WZ#rBhk@>Za zcp-VK!^N9kEs<1XBirqj*LMOG!|wn~wCzsv_grquYH8#>QTuR&@2T<8wtM&m<_Us1 zQV-0#A2Y}W&sRz(gT6`dn2?_@-27gN;_Ca`6r|YVFo`7gJAASEIoK_G+MeSnrGG~j zt={;>5sANVYSm0MrA1W^2bqu_Q##lHU@7+o#=lgMzGGtoz z@HNLBcv-z5L_GgzHN$rGI8$bJKVNKD_h^tZzqS!CB+oWoy;X%~jOYX;wyQP%boEF0 zcJaH~1C5Ss&0*bx>Nwv$7%;S7rQNROsu`a?tN3N5mn@Tk&m=P%CM|01g!`~3e4V|b z*wkP%Wkz{l0Ic*M4NmJ+VltjD-&b7;>C2J>jQMYFFw2!&#st|PO1BTtH94bE>6Aqu zqXPoDFl!Ng)izW#y=j1y>9Z;QlmUS-TT7*>QgjlBa)T6~1HCyDmp(Ksd3O5HiOJKW z*}>N^>su*E|0ZXP&x^Soq3%nvBdXjE`e>l~DD-6R#8|d?w4ajRQ_6X9_t{C=!Lvx! z`3mPEX79&sSwrZfM953fD{Z9m8&%i(DxGlq@uG5=Vyo|WkR#d_BTdisqI-ym&^Yy^ z7RQUxDLO2QRucBU3(%O(jGX^jtzp#Zq~_xa-f(i_mU&;*82eTO-&6UdYv(IMsCCX+ zp{=%aNyVJL^A=L5lGUI=eh6@wXku-Zj{9IE*}c_fEb$ld`;`RU{oXIbTD;$D+Lp+= z?Zl!kScqFbNa{3|fPg(u0m*v`%$3q<7DFVT1Tz(wCLN%ow@5vD5woQz*`{q5t@GN}iE+w`2I5|586)_;TtyE;z?96!~;AA1WkP6BK+{h&_ zbD#yV%;aOGlm}C@&w%MebKUS(t)>DoA z#A>bo%hadivo|C{`=!?0;$8TtmefQ3w!6siy+h>lQQ?cc`dM=!qw{N#OefS>NpWP3 zW#$!o&41E(|IsYr(ytX6OjpmL88f~K(Oqm4=3gYJE4<+(M+tZ=4twg|4eMm#Abg0K z=u|`vnP|Fr$kzbL2L+lAF+tVj{TV!ga*R^Ci)^~fNf*mTVm*0;eUCK4(FLE$<7mu< zCbTEd(%N3B*2x$})jnm58>!-^*y2X`#pSMB7g4J0GBeiRu(btAb(ujgFQAwTKaD!t zdm90z5ToJsUL?jyExA)wN7B~O{*sy&CBeEK{4wiR?=*^&bb&`Nbu;4c0V6OxAdf~8 zgIDs?Ck9`A_;x~mzy12kiYxM3U2BXzS)~{e;FiU{2!Ongr#T~4)w}P=A;2EM!2Vr7 zp2RH3a}qVhohIUEih%Ln&#%8=o&Pr$tOsZf3)aul8t<)jO7s0j3P`xC)pn<;b0!e$ zn!K_G_jO}mBcgnOlnHnD;YM``3p>dZcc1jC!APH87KK~Z`>}r_m#oX~d_+aNQ%58kB0bN@z;*~9V8rT4rnYNQRFa0KqmfP{icmW-ZWVJx*x_iV3+>Gk< zy4Uoz*F>yQ1nvDfzkYjv_*dFHN|~}leyCDEqOiX9ZWmBZofUq2OK7i%{8n$U-&j$m zMD1@hf#__2rd!abnwM9@&6G&nk9KC?TI_XEGVjd$3hz^77b=I-ADCu;w~-%~&6pIg zpU%w~>Gg;TsI>dB?kkadTWzX=;We#NUgrkzQpU?1-Qa$}ea)o)c?%-`nj?CGi^u7sKrb=RN52CFn` z-RbTZjeVeGp893vI1RRgh2) zX;d#S7i#?p>;zBXghA#dSTZ8&b}bly1?!6TTnRt-wlj&15$j5FYijKzOFB;4+eI}18OHVFlKle^e0C+sp;*metX>qI{>#bA-)8cM^WA1)%qoS@Wc`U^Y$2gl~ zV@6TE)qCZOI#;^l9oj$d^cjUf*sHn;1rY0vdd6a9m{T5n9 z0;KN{ggKGL&L-}Df#+*Z-2Ho=_Sub8qyILlZ|#8MnxXAsK|OL_sI8M{ey3L2GmT7S-tRT4Wuw#Y_D(gM2$xnU zy4{q$q>-O+d80z%p~asGm$!UC9!?vZZ9^?psH zyAdugEJma8WMoExjW<${w@3`fu<_sBTv*A^;!A#?9ienLc_BBF_ys||41C|fz&BBA zR42(HUTL|N4_{VB=19AK5pfKl%!Y*~{*RUO`1KwYpa`m(BCJdEdq{h|$OJLQaPxY7 zkO?qr2le5oVoGnWY$Q6|tiO_Gl-s+8qVO&fKSC!nA}oBoyyb<3mr5d5bE-Dh?OYtq z!{q&yIRqIyMQ}8m5}z%6tEEuB4Xk~@d`kMal{=wa{^Ih!EeYgoAAXLVlzF$GZCcQB zFDn)rjQV1SLmO56AXM+RMVUH?y!CJm>HFI9ga>3xGC5Y%5wrfJ&HNP;{aJzRnmMA(bx z&sSKZA8Rz;sQN!#O##BcCIzGDnnHJZa9bRmXv&Xf!_`F$GVRQxgi;Odcr+vnHi63-E?fiePj0k7Vb54{{FzQY*Vr;$c`j}GOS|0+GaElos_pa@L<{d-x`W7}6_JO(rSgmo2O z@ZUv37N_XMfu;w`erb#n*nK%x>&QnCW<(vz)uGlzJ5K}T`YUSAsk7U&Pw@Ti7ov=} z|Gu6E5{|o9j`E(caSvJO>endUO|*`5ZlTh9NOZ(7rAA|bF~HgP0=EDC)(a@&SueQt zYkEEp`SsPJm*^#-agke<28I-Ds}y9{RaiiRWv$OJgJo zZ+@9p%xL5byx&<3dEvVdQnMa1-()o7uKDD~Di>y&0z&*k#Jo(CRYLmH{BMkyn5C+~ z#9}i+jJ@WeqX^|fUg$0FsR4KkZu?Jwg=VbWhCSC)-hziENSG7OpHfr4XPa_2UyWE| z+GtFCpCVKhhd074Gf8(|bsY$(&k8J7F$(LIh zLt=JyYm2lf9k|+uOr(5M*D`eD*9jAvYB&iRSUl4&xT|qD5P*ZKNvwkjt%)Lq@p))X zE2IQp+DJ@h)o#TfmWl+$MhKV(9 zJQZ4FkS!w;=Gg0`!7Zm}5zXzN!KU9Ut}Nutr+=7aCVk?F^c=stx!hTI;)f>&=#YRD z{?QZjhc_LNL;U2RrUSa~C>hf3q#6O$Hmu6n2l-}s{#p9we2tH&>l)mbImZ!`RCfT$ zX`s`zNf6`)@UnuJxLc!hq}Z(p5f?hOHJR8_l5;T4Z3O9Xq^z+aC^c!(X=KC=8s|JuE1)Lr&%0 zi-XbJy^$DO#2t^ZvE`5D|upSFHahICb>i5*=skoBcIryo6ya zR_SJ0t!UnZ0}+Vo)zPbjnqInv@{!K+$MAL2xo0StlJe{qLFAi zXs%*t{-t>r_Jx}tGVi*BE4=g`-V@AOIsL|s(i7_B;o&vGx}9v3$suaTgm~Td`ENzB z_ld6EN9ybdIMWjyuN2eOf5Cd!yU7rY?dnyC;{d}8vV$Xtc(Pd!?Ql3uPyfzzGLtIw z0vVlzKEN#8CXF}!>SVr(3_8DjPUd*0cS@P=fKo5Bs%0H#?WxoL)vBg{d>gu1k~a*? z&>Z3PV!gZF_@@GU%bXH3LrR?zO%Pnu(MIg))W8umFjlucIi_C=-?V^GYlJc7wnC0V zjolk9D$-S~EH}FX+RC?Z`6;+bx#;0wGXMSDBfmTD=PKr;yMuEwQR7bFL0qY0R)tTB zMCGigYp*PeyIV~8hF$fdH7@|r4<3b|WCvxcu z*P!BY6YG1Bqn)|3WB%JY%#hbOMRPJvQ5<7tq8sWiFPpzX5ZF5VklZ?!{;7lpwPc`* z)rS7~o*({zI9~eFst1~2GI+l!V{@bf?NKM;LogbJcVJCKST5*I_>or$8z(`w>&#!$ zWt1-;rLfZV538JfxLi+7T#BD|c0I?j8BN zXLMu@3sXiveC5+fEwiH8D~r7!{xBHuPNVTk^wuV_xWAtUKBFTL?xpAP9(DJ@HHGE$ zmlLjM6=n|Z!}^@rZ3{v0-pOZp?Z5DSr7%43#779CA3S;i*s{f&ohGx*l`%OIwU4U6 z)Y; z`H|h?{Xd-j3w%|@)&Gy5T!26VCnzYjT4O~U#S0cMiIJK^PRNM_jN*mXTUssBYAcll zu_z>*1hTt5fUUK*)s|kKR(n(1J{Ur)L6o3T!An(YzZHAkX{yy~0k7xx{;b*id;$-hVmo;l<)~s1;&6=4{9t}Enl1kFE;KXl*z_OmM077#(H3 zU6|*OdKF7)9q-1DK!Ui0^Kp2#9+n;~ig)VnyNuk^dMGu@k$8r(&`jyH>^18d!HM+@RF_}ej9 zPH`P?zDD}^nqFnTd<)x;3vXhVINn7`9_}D+ErKmi1}7dS_ya-zRQG(Kh3zaH*%Dv- z{o#`P+f}L{_t&LVAF{S6SE5w%Q@ry}RBW&TjEE;?Y_P^^<%%eq8G$_8KynKig(Yg< zX*Fk1kz2g;5(*xC$7WZm_)`hu z!RjL&q!kOJ+I|{HP}QBZM{5Ny?~u1=C$-u1YFMRs{T8n-H8=rqlvNvs4!$?as?knH zhRg;Ul$(Z&+h*@gOfqtxDU1&a%X{UDsJz!`bBcMMVm8G-N?Far#bDG`Nk0a1!hejy zqPW3ZtT5jd)}g}u=1JVow41kh@1IJRl+&Ubz?kCp@o2kp&x74!3dh%m=ePil}${1l0~kq1N)osYGC0VJmL4!ZZyfUTqUY$4*(fN4mC+@6hJALmg*RUs1R=u~O9Du<_a8c3U`Bc=tH@j|H93gq3 zA!%?yAM#T^5L1G|nHD(^ToZyBlk29l9MuXPM_KJ8AzLhho27limP}R~Pzj9#!80dE zn2Z60h9J4ttFXr{$3SrH>?p-w=~ZGkgfJ5|54V-`-4~VdZObtSw%V~BM3SA07Uv~z ztqU8G7Ee_>TYcwM!)Otvd6+BosAamOLf9?jUP7^gK7t0%u(Sr+&YBFHpLC5KedP?7 zY%@YpT}f{(g^!4=Ad<`Cg;XMYPSqeA5v?1ZJ3gw~I9Ih?RZxHPnrl0Fu{h*riKMro z3QT&Hma>@)3WBvKXpKj7v?c7Kt1E2W*f>=qk;7Vda4C@gw{d$xh}#PnMYw$tkU-cO zHS@_~icek`rD$>~nxhm43}eqA5#gr%cF`!BxT%;DuIlI~ySgTOZn@eR+gGetg+!IA zZi(2}Kb2K2`%!8ED!ao}P)n2F?wYl^LO{3+6kcE|=vVLq9qhKU$r)w|dqIts@DmH> z`i;$Ivzd8v)PU_)mJI+(icwO;?hbU6t#%ik+Nl;Uh%7GXLll?vejwgCG%?c^>&s^E z%D%|Gf?dU=VXmvv3d4B0T9lKAnr5H%i;jvR^UsVSFLCQ9S^MjXV-*_g%bVMd4Yq$n ztj76uolR_StX4U<2b+mdoj*=s%3IzHv|!XJZtl`NkfWF7EsSH)Of&$!9#Irij%M1{ zQxpC(%6r$(-EN0}5U1~IEgt~?_x5e6C-Fuc0yxt^r}R|2)| zcJB%Q9p-Mk<}(b`=g7IcM|~C);}<>nj^&y&#kLg$U;C!@bJw3O)F^YL)buD3xy=?E zfr79&>3+0r36Qqg;^JFz0JrR zgM$H*Fg+n0VO57?e|J!a8gmG|3?T9@A@48(FHjOC51o-K!l%> z&T-b7I0^I?R)no71x<1-*SetQOV$ndT!!-R!u59!;a~kvq+r7{GKpjYW@rH`#`hmxZWgPG~syHMp_dE8}78YWMTho1|-w- zVjH%Xa&7>-?YnzOVt0W2%+lVhLDQ63rClqy)D$POPl^q#vq)QJh;QsxWcQpxR)vth zz7YBA%HKSp&n3=>G0GtUEM@46g$kF^(N6ZiOLh~im%?91yzbd;mAT{hpZ1zQ| z&DUrDK)X79meX_JlwSf{_=*f`x&IoWC%eD(A92ft7KET2e0;K$;?QE!iaFMIz60^Is_(qEEd-&&&My%=FD=hH4c zLzQ#<7%7GC;tdq<{5q18RL(U#ho_1DI_XKApn=x;`g*5zewkc^Q@Pk+lGsSmOpr6) z`4Rpmraj*A=1auK*W69w@RY0KecbxPDOa7p=Gj>ESoS417bJs&-*w{Q7nGO=x$q$O zJoC$uWR$TOn+B5ARjr4F6Chku)p6281#hMl>V+y)$T3H=5ROQ#V}mL>M?N`BpM&4B zN)80`eh?LK90f!I%8`KG2@JlambD(j_inz)X#&f|}tuHiiH*C6TQ4f=TiN z!8EIjVZLd)0j;u3@%qQn)RlL<9Ewz>IRp`Wf$Pk~B>oIe!cBL^D${?jh%yzC zi5xBDAc3`q#8xG0`CgRhk70A1Fj+CC-u1MTqj#|is@~McIFHvq=yk|+AQ)kP<}4U0 z`#;19Y$H>-o?p5v0>2XQ;2?+*4%@@ThlYty{#lgx+~MZ+pGfzp=z^a0!h>?-$?ah; zu#dz_dEr3!JhC?eFcAQrMv<%Sr6dd~1+yG@-9?T>&-Z|+b)$jck@F%Nc+MIo>{*lF z!TO%C=>0|cFxh%-Ou>CbN2-{vih#47t{jSoDu7?;neOBye-wax;eVQyh@9>`kO%e? z>&u9Sx4IhM3p-UiX9yTkq36kLYJyOuMk9s&6vBS33H!~Jk+A=YHJ;Ug8pg<$u6R4_ z(-3s)X~Qyp7_%o<*m@S}$t*R1764mAp3xa>MNRxw3r(2Jeb&=*7GnC z3M?cr*iA@q=t#}t{$*0zNG#p(JQ!(MkEwc#Op z<+0N}p4TJNxzX$$7x&Ee^??di2sNkCRB0g=Rc1O*n$}dA!0D zy|eG%W-i2i z6c-T6CnglVK0v)Oedgpb%(iO`-$4f!%MTelHvg-PLCC2z2KZLqxypTvgqD?)uXdL|= zcM@bY56ct3Ph`(+@xH6jYLal^jdS}*Z@L{iK{Hq<5^g=h`;hLuadG_}vPlStyUi39_t9^e!-1NE5G`i$%wI2^zRv3B z?gL5s4^orLlz&b$T8hXSEGXmLlAvUs&YLLfZ@5B1oWs%3f_maK6Ja>G=J=eGgj>&h zcCA6qG{2%1yulxzn2V3j&;7MafllTI@~&*V_HBgU?ke`erAfD@VG9~hT?NPP-CcI= ziQ+nwE|xO`{A|0H*E8pw7<6{2NmvzQr+!B}6uxA%XU~vXIGANir}dse1FM3l;u^1G ze=$5>-wEyl3>E`5{Y7X$?m66m;9pA#!5bN?;V}L-V;lxVd2pb0-dSrC1qDov z%}gt1PDyaGy$l5RTT&aE0I}S^&E;-;FdVf+sV#!<=b~DZPJa|IyI_51Skf=#R{$TA{?gLD#@_FrP^!U>p$W|0`TJP2>!5j$MM-*>qSLV{TVeOR@M>=#h zup;xz+aTF%zw$Ijf|?wRu)L$g^2$e)XKCZPwEuH?GFrgot&-DRp)+2{%=#C{w@}&i zzD4mh=ZO$A9~n!Q_+)&?4KI_C)J)m0Ye-7)5x+}G^~xY z=B=WmVy(7H_f1`z5-?;D1OCAD4)TGm2kOJtp4SMObhi)_Xcq5k659s|(vm z$Cwun{P49O?l{xN#4X`PRSc|LVI(+23FH{TCg)9)%MwhcLD|I2wtqLL7+1(m zBl*zxtJ>fTr-ALW{7DDXf$)PIgm&6R-gobBiR~LvG@dt%Bjl`=>S@}Vv4ydP{Fd-b z^BYarN&FV`i;emJ?;qC~{r`}W8;_#Fz%#nfqgcY3XmeNa$w!^hzQc|{wh1R<6*n0d ziGpl+Uq2$qhQz`VK}NOnM+DiptsM>uZe2m?;oS_P7@8~Of^NQDC`K`DcQ9c9)ZlU@ z>1DV{%57?Y2byra)r!WZyId)M)WZ7E0UW=#+>|DdqIAzB$d*->bk7uf(Jr(*g#vCX zmD$Pl$U&)$j#6~r$Lkw^riv8DxPRhzf4ujOg4DF_sh;1?`to0Ycgq9MruM$XZMcnF zf`b#E>ubODHjbI=xe|Aey@OlcD)b-R5*%K%Go&EDTSX_h5OYRbN%eXazv38-018cc zMag4|j+tM4{n%`2M_qC4EcVscuvXczy!f`$W3d}YQFRX)i;<`^Y4CpjmGK36?J|X! ztCRI|)W1^|P5)9CT3}c3j2sfA)@`A(X`J=(43SBh*E4vP|6DjD$M5Sn6qFVg^)2-5 zEu8xnrh62A#?rD)*l}YEy>5MqOUe;V&sXVOa>1*)BMyzl5zBMs$`|Gw!xr|vx8`+ zST$Epv?{I~=SIKiC!dV+`Sq)v4vO8c9vpC)NgmuUSz)D{(015o^d2c|{q4)ZOjQUv zFOiPC;&8P?YO!+mAk;%>O*SQQg_6{`$ zvMk33PCo31$aW?#%>`t1AVDc8M1mBh26xFA{pd;(cjs!5|QqMP`4_6A}C2P#%juXL)wVuwKpvBl)o!%^1vDTy20c@_- z_680<|E{DLt_U*j8FhqCMK`J9XqD{yg60Ayy8r=o0mUvruwB6GVj#XRWL?0YEMOow z5fnyw8#CC|`csGM+f*AbX^&>BL12 zH&E#0cAUpJo2K;*GtS1nyHi{Kaq#CJ6w~w$Oit@FzM0q?3^Pt|J_f;%-94o8_ZODI z&s@vrpD&-p6de*A7vb5_&L@XCC;Y*r4QSYxMr!NFaqPX64FbLMWd6>K{}k`RC`OYx z|M%-!C1W)y+yO7SXz-^c*=)M!8Os`H0j?z5yi7(WE^TB-ciUvPsICWW8waR>pUcF> zH=Cy`N6O#at_SiN-h>!Ov`<%K!S++MoWsvW5)#)D1b5j`gOu^ zH$`_}3TT~O@fXOig!g23b<%ra0dKO}c2qf!(uMtrg7>mR6Z|4=@JSS~k-a-n*p&Ga z(}=H9=Vrdh7WYS5KN{3AXre7WZOCO79b_ocf0fe-Ru<}{|IVrHWJ+EBL}St8-rX0g zG;iG^dpLP7y?GxAV)73f2>$Xadlepgpg^lW1hHnhl4jc-s1S7@D{ zEcmg~HF>>sJuWj^W9W9z9^2%9?KTS3_5&1+^aj0W z=DjOJ%ybU zY1;XQpuIJR3Jd?a{xws0(LYhQGjDo#BHgHt?F2V@?e`3SVV6~}+{VXPke+RSRL+O22++Y`H z*!Gs(+Hj)hT_J5&sm$cZzr+03A~hEa3{K}1&)tC37(6`5*XXiAxy zd7sgzY*-gAV-3H4kypPsgaA)g0X#G&cvz=8=&4Zxp7O}Tkyu`e=1EQASHZ86-*h~L zgHGGg+*T(#P;!ROYjn$xP9kZvW(Z^i<-HEmE_5pkw>{apCpfAU}oe- z%96mxj9VLSP0ID1^*{a%p^UR$B8$yu?UaX9n)1I)DXyhV5?Dd$DSr&hw2KfOygHiG zh%;W^P#&LXeMZxtT|ujdEgD5v60LS3wu(sWv+{-%p|yl6(*k8ur=@)O_}3f?NL7Af zls9V}19$8~Z`K5B3JIE_NG-xcwXOx>U?*&H7=P^-YNir19>Mvc!t2%)A)(J8Co_%g z7a&1=i z^#!gy?Phw>!=`p{5IuDCs}F-8gOdjEbe`<+(gvf*pPq&i`-u!zuNfDx<*lySr0!VW z^cv9|=D&RL_;~siOKQz$#?^tO->v~k!;KG)*lTOuYagdbOWySgZ(&oW{3VO}>kOE< zHCHfNt7>a>9<$~q%8~4vhU82bZw$vpu)}K}SFT>5NMEXBChWL-@9g4a^{>Q((N)i!+*-;#bv4{e-arViGm7q#vtzvLG`>6D z)FFNGH8R-vb&LJ$iqpaPnpc;8II)Qkrh#p4VS4%=y!f`oyNU=6+cDw4LM_Frl72&F z{Jxt@XvAdAgKg}%y|;|_p&3~JlQn(uuE$BVu=?gI0&(Q!!yl6lCNo{e*Zh*N->N7w zO(EXA2k+oJS$*#^zFQ}!&pe2F&?igBA)_p6UpAg=^>8K<%ejjM2qd1x$?EHhTUpH- zU~%li;OS+dQw)d8RWCWN^&Cc)dOlhGOMz@lG-Vo&OLaUbd<5ldS|sed{@9QgF*0+P z0kYJzNJELcDkw5&BnNEp)TDPEtISK_F$2LVK!)PF?m%}O`b~&ftr~qPg4og% z!Ixl9J*wx>?a?%+aRd|JZ<71b(vVZY;zn3*=ZnFKv>S)}0PR7ozOcGOb%}RfWKq9r zr=0Zt#VRhoPTd|EW#SPG@nfBD8I1_3X2FZF1Lx+-{x8js1HrPlWP3ZiBskpau_L(4 z(ri|9`nRTl62EVqP^fv5e(&hFem{xZ=W2GwyZ%n1h1Kf}wa(uw$7+qysOz^ALY67y zwp%89^lc(^@MPTjl?@4!sDr17p_@6a%*G=@VUIR;^fjq^9S^2dfk)9mXrb=)q#qjV z{bDL{-c|I{h-!{g71U$64pBLaiyG4F5TN}6vodF>7S@3uI9=r?I&?`*xEpR|qSFwx ziLT{pX_i9|M?LSJ>i-INK52Ms*-ylh#MMUa{&=VIU^l;P_RlcT{T(Q_-g2VYcbudZB6^NEt2e@A&z6G_|n8GT+| zvDdJ8aIezIi}!E?|G-W%GjJ#B%U}0AAHk2V3W?GA$-2Os6^Oo(<|*mFcBwX<{`c2u z3hU&|_(ymTo`ID7XxSTps%C7dBAiheQufha6pGXr+ zFp!_{FvL|Ulhff>O&K;_aqd#^GJA-QSyDVy${$?WI7~oWPOvJVYA!Y#3+G=(8v;rY z`ah)eXeM#EyFhV<$+JNxg+O=330AFjK8;Go$pSg5x~@3B1`A_WCyjJJC_+jp$bk|9=NP9&9Pi5%=(!8aJ6lb-O#qKX*t1yLrQ7Qt*Ggz+IMNUPi$`HLi?$ zKRP`}y&J#>D@i+#8GBHuIb+J{)JcC&s`?&HA8iwZCs7X|K~tVez(sc=h#kdO#zo^sbouuN;sZ1|V6}6q2URfM#s~+Z2GE4>M!7-fgO^y}6 z{D!y{Q_3w@D(;EkBjPG(*8{<(7V_XX1+R5%B+VSD_+OfJb>+d1r=NVZ)qCwa zcFhfbGApQ|d36~@$6CiTL)Gy=SPc9JfX>e9B4A;y8NWJ1)j zi8h>H7g@4_V8*{4TYhL1nF0G(hRdG1Bxf0BOC$^E+Lz8tcuns+sO`haOo~c5J85S9 zRBP+?5L9faBE4^N+r?pA!VWr2W!8VhrKsSMtUkMVNj#KFRMK)Aq1Y+v{VnU6#!{Jc z(YjFxHkK81pOs}pb@uGy#&l57_NRJp+|U8(eN*sq9wSU9#k*icF@Js)r$Kg!t%n7t zdxT6`eAPn2stmz+*QYGr{PeJk#5>Q@cY0IEInUtByGPj&l{IxHs%}1tuXxvstbFlt zw0&s986O|BkB9lllg%TYA6h%emq@OLaq=XVJ$WmLGRY%>Tz&q;H6i___aXbW%dqWc z&(0E@!}v`1`~kGU;R+WgycTBLE9o>&d+`Unx-)_||J$wa9KkYGNMP~KlP!HTHX3Q9 zcxMqM?@4a}V6ml(cTE^BG2P=tk*>Gi5f%fu8-aW*xagDcDrS0GcDpq384Mw9E#-S4 zI3yfTgQKC=r&>R+u(vRZQk}L-7%lCj!+%6IZks!@Yp$Ky-lOIzXgj%m(*mVvoi@BR zrtNUE+_?TwJrU(Hvn~%_e)+xZ;8}*D^-+40NUAWt>O}y=H{L5ci*MX?IFJ4gMd@E& z51j%M8wkp2PioK^k633ZuXWaNS81qOSEWs{WSSYp$t6Q5c&0!NdwVyrr&%-8WG1)X z;#zW{F@blov_Fx3HvJy=OYa&Uk6zDXB0V=!v+dzX)v!(X=wnp8^JX5*TAl4YXY3ig z5K)!U2$-X2DkO7}{vW{(xvyN4Wo__%#B8@m)%+4&57%$0ZYYj-jizepl_k*8JHTrq zPoipUyz5_l(6V{$b9C4~aOMO31M^x#IxyN$_9=r)Dm7f%c1uB7+mJxLd#cocj(+hG zv>FZs7d>ZMSm!eEj;wLPLC}lCH6+9?6JZT#NZy0j5|rK)4r8e_>E*{!0r|H@m2M6) z!`|27VWHJ$S315pmHh2DOl_XjRw1&S@dwA>UNs~Kf?rK_eC}Q8=yj>1ve3B5_Jpto zd!WpZ%3;N>L*5jtfUs=GuF034Id?Mp03FUhe+6*7Q}r1+#(qKpADDh!!(=JRVFiQ0`iB=K*6Vw-Rs#&_8@4H^s@sY^k-ke zc6`BvRK}eH7(8=1mXC}(sKw{VvdM9B1rHI*6lPMj?=PV6u}hLc@%O+)>qifq2!W{R zqbQn^UiVe`Jp>N!Rz;)eq>KIw(Nwf*P#tG2u_Uv$N1ta#bh2R|If^t+hLEhecLNs!9(8y8bOoagUEJ36ha6hTP6gj(9_!ybTY z``e@9gJttW@(X#sar%8h<7aYIxFeX(hpLWI!pc0yk-_nFS)xaH4lUIvd--6aK*0~^ zj}HSJfHs8$dp@ncWB*_nsCgv#9f1P+QA22(|BeBj9d(UeFRwVc<{AzMd)&XUB;IfhXS-a8R`qaj zKFU1OYTH4_TvJ?dO-Zu)%Hp43A!V5Wo#5Dnr0dk-o2G71X)_)R z-bLQvtg`KVy0gkI#s4*5qYUi{!~Q%MDMy}>?DyKrmCBr565LBg{p~C|C%K+*$q|0h z)4Ms1MP35vM`(f4aZ#djPBHyrlC&Rg)}6B(EOg)_&pMQtDJEu&RL+yzXGFs*rA!&=L(U>g=Ak?@%v z*;p-JCBwis!06yTbasnP8)t zaFOw#uM>UFHXCKeKf`remv(j;X(m3@%E z12vDfB@@}c6#rQ%T{%^zwM^NR)U>DD<zmE$!9Wwj;v?9KcPQ6@N=?ilG7Ka*es+ z_MxkK+D&5=Di}x0w{oin+Ef+ClugNQsoBz6-qTJist>{hIv-2-^QGS$z4Bu^5W8qc zYT9!g_SCrdc`Nz}75xaOem7={ORV64g6ZD)#yMES8^%oAo-BFp>}nl>=-@&4Jw&=%|YP;;MvIltvW+~cA}?Owa-lc7ztU6 z`_qMr*CIn3%JGiidA`Nw@fZ_NKgK34EqY*bZh=)yPw2$bly_Y%8h(n6t3U(5{N|?1 z>srhMy>PLnls&DdzfT}fZf6P>KPl=)n2FWQX=$BBZH`iHHn`e&ybo1|$$U$e-cqKN zs`qlG{DDjPfa-lLYHgSpa&hTdT?m7aiq})lLJzFlXpHzD2e{stWh9OZQxv6)Zu z&?x+LpeV0l3a_&N@LIv^KKCl@OaSv5VE0xZ3Ud6BqPSE|E_E!VRK)LVC@Jcj)-cJP zsDCu1Qc~D=Y{MiL$UYWKq0iLpSS@x01(*$2m?C`Q)Dz zym~&%p`z+(Q8!h0w}ZeEwfu+F@&^zJ#T~DfzX!TXFTVm_o=CrUP}}igOXRw&I_$D3 z$~eVkJWm;~6G5got6j08u^!%fGIh2VXDu!se2w_fz&cu2Bsou!=RgigDtLq^*AB=- z8m!r{DyZ3jnS{jtH(L|{a&FUl%sR_85p8elaeCOku4hb6?<>SU1n z;T|hpo&35h(0Y$%*sv5-7GEnxBi;8#x~`?ntGj}gWY_!tome-)ZXlR8ZDga4559e# z@HU%MeWrMf{}r`p0)serl;SSAv?MW&+n>v>LpU7>{(0=k?4`lQWXHZIRb?1VJ(>GM zNSWF)4rE+?rJzpR?k{htc{ASdCfmUp-cudoU7a*@I*TzVNfPfT!Zg$HhPUcAgIL#` zx_tf>G?YeVs;Iey<1{ru;u{OPS>sEL?w(b^V^sGneHC}lV$m-#wtE))TM{MRvqtfl z&^-%>ki_`zS+K%HS@$e_LJ|jb&l<~PVmFJ=8x!T-vq}+znl&e1UUx;pmd2WjYD(|aYHik`p0j4_kX6H4u0u?T##`upespd3=V`An zCruXSq}9Tlr9;d(50)h}v)@q5cyhDVjNq2#WPauZ&&Z? zUwU~5%;1j{S&6} zaf$RNu$#=a608f;c9ffK6fy&%*1=L<;=G|Tp=qcqyX@Q$RSwlr4+RJZq&? z(lF^n)F-B>1mgrWI0u0%LA|6;NKyDk4H_aEoVnUuc_ zx*Xj-ru)Kz?z0PPyRTv7&mP;2L2cvglJ1643;P?$zOA7o)_vjF?z6{{f(<|YW#P~m zlS==qEd6j9I%c>;y5m>xBGf;llvC6(vhznIEgJ@us?VHIqVSY%?@-pQdDR?nJ# z+e%JbN2X8sPuA-={arzdJ^5Or`7ipAIVo9vLcHrc)}M7H9R8h6Y?7d%`!FhKe|$5> zWt$g?rB9_xG^=#U_ZXqL9(ro>=W^r}t`u{N2)PmVdSeMM=NIzl5)Kfme}G>7Booud${37J760c^gMCiM$(gu5>rN>FVcAURE`4#aBJ1>Q`S?aDbZ;E@c*A#I+VNt~qHvE(y2c z0?p93Pc;dotti@dZ6s0)yYDM&D#G9BT76jxC|$>Ym>YZ!N!%aV@?NKCilg*9=!T&t$JMxK$-A5bzgh+-DN`=>FC3!h zl9Zcb=*^)I3;#P@@H7SAFQbxUBE9eOYMdna1hxx`i5N-H^1JuA<>jgtrURk&3yG#! zDl}RPIV2dSH4C1|VZq)kc;YO0;w*ULEYvWQEE>6Qabsk}yM=;>Ia%Y%Z=ej4RKLben!mzsFUxmP!S?5hxho%oC6! ztLIZO3+*}s+O4Ni(wmS}p>1~9QmL>S83%Md;z~@45#$8?yPUCO|xl1f#wK#nn<)CBepkbTy z6FpN1@eiEq-g}mY71dT_NvHVuYxKD zJI}E)(VzT59rQbS?@~E)Pj{NMzc<*FQn9u#wFQmf(3~RuM-rk)f79ae((P-lV&K(E z1#U_|JO)sYS&BrD*y5JKqTq{`)O79-<-AcZvp~)V;wc9RX3iN;vH1$R+#dY8g~B=3 z!8S>m^)h$3Hgj8w_N%}F%-r?zXg;j3*;^shSTKYrAflgDM!RZXEw%kJw&3llnjK54 z)sM5FJXpy%I;^)M>Z(MK=qRWGvmUV>^;)fnLItzwJ>mCpEc{ZtazNXe0I-WH5B(Mj zl-R@;140=nKeWsUoS6#`4UWbzkA8XzsW+2arJqkSE7q=cs2vk*CynX1`xgo1c7S<3 zlG4IrSXm^07!%((!8746l;Eq$|Qui^AC0~U(Cc8SsS z!!Sd~vRY@RGRq3K#R~nc-4qt!oVB%^yKC_B0g>*{`2rEmZn!*gE4y8H@J3#A!EtJreIfCPpN`yB{3}jpzKaT zuLOG63)i3FZyh>4{Z?VyjP%QD^g%KhcFUxv(LJk;F|uNbXKbe6lp>P*h8d|0%}Spnp~wGfU9` zyIJO9g7g1fa~4innsrltMgv2$CA%Zy8)uEhBy=iIbN-sn2d>WE0tlfxF)*KCQeJ{H)V=l)1~3sd5KeFUvJSjEXhWCAY>(T>{2 zwtr$0SL6W!c&*&+g!qB8>f=EZV`*ra-}OUMZfdG0eoMSzd(E!vF5~8;f#A0+Du>iC zFJ3-6J`soXdAP2p%H!p;E8-JtEBKzy_jE2$zfjjfV+Wt>&#ny*$#d>ah`;{6nysxL zr)kuIV}M%keN0H)G*xXUq3oB;ZY(9Kk)6zrPuE3TnE@ZqUAn#t5>umW4%^aM%&f^C za#3xIFkJ1t7EZQQOal8n@4;ROrU#8UJG2%w>+}7u&HB~xc8pT5EA$b6>k;9T+-~J_ z2GA8#E24T>6(qwa0W4>9XoN+pR0XKh}z4)$_r>A$7Bv zhbLs56nthD7G2wyIBmPKcM zX1cDYR+R6bG5GF7@`-50a5)gv%?V|>wrSyh-L{V^{GwCT?Av>3O>E6c>IaqP$|l9| z*WhJa_v?Mv|Dpfv`NK?Op$4?6mbZ_2KhyZPe=a^LuQ52#Cg=LQ{dr|YERDq1RA?;t ztM?n5PsZ1bAwpY&wt{4%zt+eLrC+vnJ`!#&|HGJeI7fsJ@n@rX@uzL|(6RyRtgQ>ha(Kj@YgD zj+;7?k$ldis@tdDNh9Smlu)~aquig$%>2Qx-_54qE?HTvQWKftDcTf}*`Nl!e5a(F zEpHX2caKRGou6W@iB+-qPq%cBv#!y7vcDf%)^z#ovPOSrLa9h>DLILvYTw46gYdUd}aX z`-*0<5QmMovsyq--Cf(IeAR zlic8{jo-JWyJ>1e$Q>8DOOj_(TPx|j2=tSpKF+q?%#)Y1o6{>M!Qf`IP<26VBA)ys z8cs>FXlt+ydq17lh{T;6UAR7xlJu#YkaKvZ!DGi=H9YOQu6-_x3F&YYP zU`M9Nr)vi?ML5YcL3Ri+FV`_rGMr+;eUIGrcoqC>Nh-STQVeLTZ0S3PMFt~nyMm@d zILstJ69uAULYgBp`ajfWwdfbo`9+S~hlA_sPmta%^|m5I+eF|mC}HDMCC$CCdVa~0 z^P_?Ib<(DnPl`#oo--x*p=Cw6o{1+gA+=7O9;mjjP`UoCeGLTvZO^lQ#zHrzIJ1Rz73)DyvDY;)+J-9nTU z4pQk&qCH%|+D(UjrBRi+3rA{lzPzwgV^v-r$mzSP&q>9*ene)>@6AovmJ{0waLYDl zjQD-4bZFs1Z#9n~5y{fQPK)OKpfZLrlVP58y4^HF>yx*LIE3NazdOh{q6t_A(c z*59DCBr>*?}TuejDoY2>AskVcZ! zy0V_ju-KPmxYt*I3v*Pg?IS1$t`-Sbjs5X9AD|GC5D5)HufuptW>#6U+pTRGHz&=QBHxl_ZD>maIj14cM!>sTIF-rqE0C4Z?r%j&!G-lY$R2V+DZ!}cP4 zG*JA^kn(*8V+Q6}HjF?rzYlS_*Wt2)mw$gAJX;I0w57WNm$ z7)wSYR+qC18~s%R#8*l8Sw-7s6|?FW!^9!YTLq2i?#F5`81CUdc#YKp1>&{fHc)q} zZ`%pI6l%S64{&JmSFVV9>6Bm!aq1<2TdT-ZM$LuHvOwm>79EsV(XA6_lB#{lIQ);YeeKn;wtxBi;=OwhPo-xb02E~Y zKeVPod8JgDo~$Zpoh}$h0PAY$P@>Ysvtb7u3C{O83rr(PC zwz_(q3h+eF)l}AM?2NXj(Gb$wGmvUH+fl2K9H^;INnMmzd;e)mO|!7bUx9O#J})M- zPKjk7Zd<|N9t6F)-f7r8f2Gp3d_t?oeYrR@++SJQSk z`n&4=pvix$$$u$twGc_G~L~D+01%1M~bGii7V0NBy3x32wAS1ExqNnKhh5 z3tpmw7SX}tx$F>wb=~FI#miz{cR6zt}l;=c{lwq6bJWio~?0?wEOi*4>aTb5H>aG$GHC#hek-V(O=C3-aXS$jJYnFNBG zbf+7AyuXc|wM{B}uGzy5R`XOuj&NrpZ_%}Lwahw5r;chpT_tB+$;VJ~uhwBAW_N6G zJN2?6S=hFI1!0{sfX5pBibusPXAMlhS=ef(>aROcuY4L)^{jowCa9!Lvl~YRJM;K(!A@Y)QO);R|J~s_`~~gHxWjcg69AVY z0Os4S)A<(96q&$h2WDi03DY%vRvhN`8jt2n{fC8ZAlo0jc49%SX5S5e&LJu#gT86V zL-g2SC7B`|UE>&ZlZs3}%160N)PUIQ90Z1*&Vl~11O11V;Wn5aOx+Lk(4EnEb@Rc} zD(gs4`om|PnZL9Yf_a!aa&7!LMrH64b@%{|?DC)L@^d)wO|^`&O;y%7^hj_k%t&Mu zv2i!Qk9O(PZ^d<$qF8ZdD!XAfxsaT|H8;=fcUxsNe{F-TAUsXzb<8FehAEL?aH_L^O3gG(r;bd`q9j+@7%>MsH}u+RcI@+B1cosctjtAS6l)IW$pE;@cWkY zv)Rln_BWpwU$fP^?656A(Ak&_=+2_{OBuBOP3bb8jYR|5mlFP}N>x&D!}oe`IB2f- z6Wa6=;dw13!`GFDss!2-6 zF(CNW^Ol!fpVZ&tBRHA%7_-{U*e8%Z)->`;f=<%)@N;<^{jZ3!d}g!KJ{)`uAmWMw z6MJ_ikE}f}>D8VWVbu|p3%l=C?` zbaPC}*m0$0<0lZnzj*n?0}h;|x5)<`tj7oaoARL#3O(e*5wqaQkc)SIl?Isar0g?J zb|cZ>r9m{Sgr@7*aubzjEbYEbdzWhekbX29oP50aV|?AYWJQ-+rU#>URPbGfJIZMV z2mZO!{tvlInbX_V3;xras8THWBg{t&%Pxz!nN(u;HQRkL*ahx3mRE=?cVAzzFW>P8 zMgRO#E50NwzKnIWd0-Y?=@OdR1UL#m;W)z2cHzeL`^~!;bVAIJcX9i2RjIXrf#A-M z2nWAA7qQpS_oq-7hu6`k8X6V3fXOc4)m*?E#~2K=7Fxyr>;j(8rFhB$27*WRWD0fr zc=EX6n3NA1v8@s7wO*9$4PLphy!5b6($|)Z$bfb|C6^coA^(FFi2rtMv2KFo2OHp# ziWln-jt=8dNRfb&Q#sihv2d;qqqXq3##VuF`e7*hSx!{Qr2Y~-22++eKk~@1;JLG;EMEWF-n%GVS+6E5+3qG=B$!+g ztRu4`k6_Rc`F%!pq9;KP%jRaDt4Nb`KWJxP@%u|l^jrgU2=>#0uG1NVdp|}lXJz`1 z&gE2~TofkO67HRr@~)ZE-%txB#n=K9YbMgW2Fu+wRoPqn2=p3~6ysf!;)h;z4Qi2{ zV26)Az1gsc-(r5tu55#bZ5TJZ|F=o&vYNfJD?x!Hix# zs@wwv^|gpc@Z`mMw?!3Z^myk^cr?{K9fnPk4T72(f3^F%)0J_Ld-S+RACKU*X{vJr ztOF1kKm>6HHX*PNLbSO*{fR;(myds{kVcBr6VrKXin9~KS@H}6P9tC+^Mxg%=8E9d z?@+jo0x+AESfYF?g0V*%lUsYbKKiWSHAavsX`-P&ej31ouc}+UHO~uA8AU_}4>%e* zlK4cAoRkLNz+6cck5G;lmt%K+j;$`ohb+gxmE%E|<6z}D!Q}|@bI9CA1;<#9*Og;E zIf6^jz(A)&jW1Le64;bkvt3#J=iG2LPUuXyI07hYPwnE8wzA;&X;Ot|=FGYc!02D2 zc{ElFC6@~XBp}F;0FR&y;zUwDHkDa-58uuiVXw8^ipd1_@U$4| z-TgdYJa)Us1{#~Md)#B63yit15+1=Zhak7~{F|!xuPG;>LO5k6AMiQO56UgL+F6vuTi+m zVJXOw^7~ztiWxAV-YuMshrq_2uhvG_QLkJmV)!0N4*nh4QvAwKROB?g3kJ zjNG4ztBE-%Y!7~1LvmEhDm=-*yW4>0R$~pHo3|5)n7@<9)^I-Aqp@Q6SEwz-qUT>^ zmc9}8-ze3tl-7*l<%V><5&Ci#L-GrvEd5J)H;eyJp7;;tRq+T`N03Z)Xv!qYn~>Zz zv{M<>26m&I_bu>ndc<~adKSsD4RSo#X{=s}eTs3^0125J)U2NcTS#Mqf7MpkLT+lK z{0&yHLr3_CSLM3U_1_*z4yu1RKdoSlxC}1-*)TqDzI~FxVfCYb!}augA}DXMZ1?(k zBHdk?=6~Xeli2h$m{i*u8?>nRKn7s_wUxPB2KdirGn344RO;o0GTDlqu%ce-l>WVWW!>JqmP9lKHfwo zhVPxr(fOxya;>Q3DZ2eO0&IRTS}_um;BPa-p^%yA<{-_tZys)}E_d{I)z;phgt&^% z0o4YmNFq2RxRKD1hN1=!`(Grk_9;Ms>ScJ^7ztJ8D5*VN`X7x*4=?#Y(k~s6UdC6A z!T%Zl>?r-Py!9`*AQ*Tz*Q#b-B&9ig4tjt3hh6$`d{3vy;8lq&s^#ys6wG-o=gSVo z345&vI5TOfw#N1)+N)x1ugFe1vz=^9Pwdt7AOg6Q9eOnC`sU$AT@_T)36h#*M=}12 zl(>%!j(OZ9Ssf>%!?jj3Qy)xa7Td?FdS0e}3#PnKK^%@6(f-l?@Tp;4($`OCMD1!D z6+Cq~W!gq_=lhz{&&6b*J7BS!7_1ae}g`6_g_Qki^SIV?wxh}{MWE;vmoLudL4 zWK8s!wd4oj=496U^0UEAWsh-(zCH_liVGn6q3t6KG{1K-e+K zHBIa+`0J%KlV^u!dz%*!;;x7DmUFY3R?k{b?EN8-Rl*;50)08qqmjEI*m@}F$Su)^ zF9lUEui6xAfmkG7d&`UCb~cOp-!Jh>J^yFw7xs0rb$~Z6&9g%=MU!KLAAVS5=q>`k z{RE}+)$@*E&omm{YyocLr3?R<3x8D!-N8LnL4{CF{MWkssD)A<7<^OUU6Pd7W8qo%jLsJej}_v|pPKSkyg&!C=Q8hxp}1O=r@Z+k*>g+iaSkD( zJv8LBrB#;%kvQ`4%Ed(E#fc$p%kF*B%}p;rM6F(3)moyfnV%OIGAz zE$eay#s$}MI*ETv`cR&8i=O889lv9}u!mJ_b+62qxsWE$+d%9v)A2iQ2d2zo_F~!0 zBxavvwdl~)hBI}PSTA{r^+{rj&L#d~l*Zi(M|>_Mk!Q5KZXz-Fkaid=8+?^eTSvR< z0_DH#x9fB-D>CGUBh7gsWBUMeUU=-V<9q)4ZVe6Qq;EGO6gY0^x35>AnoLYOvh6Z$ zA_UN#Ile7y;)lncU0fLZJHJU^qU(7+#4o{n6TeIOb@F?guu7ia=64UjNBNDTlVTG_ z{wpYS-$lhyI2OO?b-yQu!2Lq(v$QN1IzC50`SWp0#qgNSEPGPZ*a=YXT~MwF`6V_X z_5PZwVF_W%XbJAej~SIf3Xg8U;iOl~EeVaJ zbsXAk(2F89bm{v!LHdE1lFQrF*PCOjH(<&MnM80;QqXLqgF(C#j(~rFQ=7vf3e!3L zFpYcBzn9iue~rl7OY5({Mx^Ye_19mc;pL@mkojwjWIVSUh%AP9+8+M8lqIjVtokd| z#-u!7;UISpiG$_F)qTDDJA*6jYfTjiP~_W{&P(enmHC=|`D>c_+Qd&WdiTv#;iZ@H z9$X1OQWdY}14DeW^H4aa%9hrEGKs+;aNRC#q({u)iX?hrG-;SA0(^BZctx>~;h z?;B2vCM6k~yt=0Tx)#8Iyu>Ikt-pA)S&Pgup1Q6_K{VLp;1=xvRMrJhxpkI!U0;}B zVz9&|Z~=Wf3wqsp)sNhZg9{XCr*NR*i zwA9+?!uL%925bovz!R(s?mE!c1qX)k@OnIW_#hQ95PS}NX1riJbjsc5RV(X&R%73% zjy>i!w`@F=tawrv%+&b@H^%KcUT&?jVYR?Wl!0H7GJF1R+4HY(9lP$sO5yra%`__5K@~CIJ0g492rM{U)%NQu zRP`gxa$mEhjT0Xf3^@=|5yWYWRDWFsl_zavz#nTlovFVxRWqlY68;05k?7>gyY2ve z`B5*A3T|})eS%{cbtxdc5XGc`V2q@_Q1Tl(PwxZ4jH4{<`CPVV)rb9Q1?V5?U)94v z_PRI)=pS*hkWNMgXU(<%P4h1CF%F>xYAMUz^Edg*`O<@3z!;ZeN-ki}M5|OqF5s^& zAP9kKeWDn03GQ~`yYs>iQusGq_^UZ2e&__jCEr>~K6C zrN1}_=xuZP^jmVMo#g;AZ-up)YyktoNqU<27ZDpz_6jt4@ZsDHU4awWotmQAlS+}A zTia<;zxy5n6JE*IdVa$Ih_<3Fbz5=5i{UuXv53O;%KYKn%W^sRc3s2PoDW(L$=!d& zFx3cpiymn!F+qaCrrBtE%KxULt`{WJe$zF@3#~I!{zbIX3p%iNAed0jQ0`yxk#PN= zFVzO+4fkZGx^VCUclg69B?4eAy2F*wrxQ_f{&8b1H*;O&97hhKr(0h*_qm;-zWfx# z?{i_T%!K@VCdU<7$6@nYf3Nl5mQv$qFTq<5u}42p$_0) zXca8SNZ5}Jwe~`Lmi|Q-&atD92Ob>C-9>lkKATEN98Yc;nn{7h zZDa7)2L=^r`&hcBkZ;**hAMPeaVrFrZs#*?C#=RSs&$lsaXcQKDZeQ~d%&}r8t9LX zEyh=+&p$^^=ntpQZw%xAhxIl!eb7w?hU0$gZLYtUM)@1ddo^6({nK$}$Oh|_iH4bE zlX{Z|gDw&KT(A&RsN79~IKl+s;2j;oWBbI-s;?yH6Gb}}nmRB4R=M>3nypRohOL~t zzn)ePzG${b<|-u;)KHoi)eZlHzMDaCcziQ{xMv_YD41E>O$Y#K8vvnSX#^p%A9ON* zsYS_N%b<2+>II#1^lb?b8rLiU%sEuE;3^@T8GmmAdqVS*h`LV)pPfK#aK8WF>mTtm7z-KpU$3P?Xu7%fAW{2mREXBJHdBT7 zk6)h`?!G8G z|H=y%;==e%G7yKXoXu>%4?aE4*oVB~G4m5;JGFPrcsXdWm=()&=dHUF0Z%2kiKdoE z&-R2aiO%_LMh>6mx4G@c%kf#r->--}Pl8b42;IXmHAi)i5x7B5-1{gK!zyO(Bh@RP#wH>>A7C=y#!pz1rBb!61I~;kfY|zoRxkIrhsN zMt&E}EP|Tpd-ip*U1#ge!szo6`;>rcu_w$_tQ;Kdvq7I?uFCl%ODaOQ&+po&?%%b~ z+wD{L^^)}4d@!|VMtxtQA;0{QL=WNLIAtV1djPief&A=NsPBXLS?&A_db+_Qm>+>0 zc&@WWQmWyvRq^i9 zL%*>iIFPzU$^Xle7r<9hmosO*71Uae-%M>M3#5We``7zY{!LZ`ZG`ztIS@M@QdKX_ zKM~eXjGQoP!!r<*O0O1vO#)M8Z!frtS55-}yz=L04rUgZH8%M1n9z(o9jPFVbM&#f z)F-;s>qs5hQjZO;%TLeHOd*=yNQy+y43eAA<)$f+P4MVwwZcC2=V#^Spg^XV;8^Si z{#p>^b{cP;>ELUTLt>t-PWx*STX>fa-oNHH{_>xEYiV_8zGPIcPY z@-+7kxN>pCI`tu<_F=gt|X6VIzQ{@(^Zz|lzxA8mHXNN z9{%cDOQ*m7>ZH9xnjAw^VHcrvR^e3pDFRa555s#fKy18xb&8<)#5FPy#>>|(u&;IK za#U>fB0an{O2XG-_oXs}Lq!$d8XM$dp$9VOr~F%&SxQt~Y&1bJY5djg1X1IeDxOz- zL~8xjol2KkE5{Fj@F5ELJWmXzr9pyzw6rPjJ{3y#31p{1dWQ4y)yJ22_d8*>{x#3= zCgEfMh5kUf@Ic_<7Gso1B`zf-c-mTDMkVjQ1xEL4U)6&SML@qbkce@I(%|P{;Z%33 zTr&LCiX%9thrc#*xl*ou%5|m7H6_aRikvL`)ruomx#e;_ zl5;#y6ZL*oXdYDTP!OrA#lL63zG0o>Z%_KGEQ|kDK?p9Q1MwhGq=V(Hli=jteFGu# zh44AsjO!;j@eWWI7^u-I?-^mZBURm8Q5*mI!#MT?5215LmLOa@$R7)CC=vM8uHG7F z-kKHzyxLmGTVsSHTb&${jhaJwb2fCQ(XZ7l20y}(b^TZ*UwXO92EQEnM+ZMCayCH; zo_i8Vz|K3C{Uc7dsA3tcDmPn2{$+m?U5dNp^p6c7tYl8!-4@1&<-bUz2;prShw|^N ziWY!R369;r{0aSuO4Z(kwh?GdH~5vr1q&Vg^d_01xXrEKc6BM6Q0h;dVXsV!VBegF zeT4tf|5tt>Nf>{B{uzDMRu=5p=55orbnXa-v!q0IaOc1}E;nOD%L`%51S{*DR^ zD{abdt&MN&FM2*v^WwETNndt!c3aVFiJJdhyRk>jk@C-*+QKPEs9qOyaGSLG^K2u+ z1caQlw(bod&BX;h8tkkwyfM^2+`gk7*7@?q4;W=6P<=}z^l|CobTS4nAQl-ZIJH=7 zJom-`iG?av^I*J_O$Lmlr`pi&H!aY+zpjGlpa?gAY;=}X*HEn>aK=;B^Q&4fVvtuV zrDvydM8+GKvITb7!?*KCQr@kWGPLh_wxMn~!+Mv&J#Ou`(w!y9pUu>tSTvk;gBp&N z4n0C>{_5vlpgnSd<*J<5VUJv3$_3gZ7ufCs?U4&K-ikMd;&Oqnx|H_F1@<}Y?coCP z>mtmvGkE;fk6HY!7N5EG&f(g59TpV=>e!;F;J{1l_NDNU^;+9;A)cZ8BcBLPnZXpc zxdb%aGHhMZLttVr)c(V<*R0uX27;tNfw7PZuN^>+6W3x z#|X&OTL_f!WcA*^s(X$Lf7Kx6%t(10Cx5(DkSh48W-GDI(7((1eun;C z-+32#wdV~C63i0biRRzcNf?~pSq53Q73F|jsCZOqL|?`cdvxQo60Z8C+R_l_-=*2e zCAC!hjbFp(!x26l&AtzTydrcq`w#}+iT!%@Z`uXrl~g z0xstetk%+0wb_ARE>N54J~mx3;C-+InA2x&9Thgpus_7>$avuE=98sSycr9dG97*3 zG3*j{bC03r8Fk{?R;f|KJsYicqu|3Ks%FN`2S2hA|vnS zWuQGw&!PSoVv=WX`ZScdU;j?0Re~CqRDAih;A$I1+k=#fcI$LpcRqeEl%}!w7Z^pa znl?H+?54M^T_CpFJcfa-i6a-Ws$ywc6uiYLNJf6PDgAbYoE(MbXHsSOm*1WnnES0g zQU14U?>(Y%_585D{Y|P(eY|sObFfrD=gv4Blt2EhKYkj4+9kWJ z^N~C*xSNX190g&vRWQ7UukZa_a0hnSnr&^^n&(f!*=ndI__0-*8yF#4r(U(G6VIgq z)rk`r^Suw|bz(mdr1E?~Cq97`YMporFq<^soqhaS)?h!l7u|ULn}#+!{hfc`ex4I! zkBh{+(}Fp!Yz-&80W`m0BNg|Tf8U{~>`})>TC8`@e)f<&d82|#1y{MEn68e zW}07OAU1KLCxSy_y2kyu8G9OQYAb8ww`}vrB+zIP!>=zHDo@yA38%L&FUek5g01+y z0__?-yAnH~HwWA4NT!N~m@*nFwC-tfG8c-MMavCrg7#t#eNQfno>k3 z(Z7)YjZB~C5ct9A7miFXt361`A@GCKpBkkfrr#H#9*}VUfOBcIF?gK;*@us(Yr z_WkJpzoPuob%yi2kKQ*&SslIGO7(HU12C3hde>bSFcr=S`CRbxJvn;Eom2FFA8EzN zzXmPk)B7|>@B75G9-;*zru7^U{x5p3H<zwh91zEQY>_&i}7)ehd zzckjdIK(3KzkGz<%Q|18h~9X^m4-onAowqR`0J(v4$0UOg(u{sd-N4+JA6M#cGOL( zzujU{f$~1*5S9L5?sA2to+`S2S)YbL>pB2IqCm>)zz^JGw zE>T<(5uJevOf&(kpjbC5invpq5!^6w5@Gx}inUeS+7@kHT3btNt07uVKurKy+z`Pk zS}Qk11+`^W@_W7S{mf*7w%_*q`~RQ+^ZfJV&i&l&+;h)8_uT#58&jZbYbX~_FH}!A z)gD4`ygwkY5%h9-klv=-42%^~?3u;Is3f}LhWs}hkae7>5VF?A!r&tE{f(nuqJs|_Y zWb@HY060iBaDuC;r2ul*+ZYf`Lp|sl=5CU!1l=p+rwn6hUtF?otF4}6D4fMo5I(04 zLFHH=q*}~2bEfiEL23D!MeWM&uLiYZlGX`xw?zDijXGBT1xxa?XiiuV>~@ub$E+7J zxCw0w4$ldBGy7F|bBd!Um}4Q1JNU!1mqeqlP%D~d*4cnn=!TpCGPS#ZX#)wl?P_`( zPRVH9_@9V5I(d7ZVyNz?!|wykjrdB>-b`TWDQOeMBe?D5X@NQjkhP85dC?QMjSm;Z zN*kH!T2_9shb6;$I6Fm#L(S=yUOokQ_UD47JPR}vNWtitA#Z@Ul_5N=TxZ=Gn2moAvMl(if&S`OTUVKrBG3L#F(O(zpH3h zJ}YQT6Wvo!DS7CW)RjPcb2(~ut*Eu@OenVqd%sqLuVg~wZLacmn!`ThMO(C7NyQv2 zI8DOVt$LBM-Jp;TnWUX@gTmAA+WO>ZS9#yu&5NWc0Cy<_`%k>dIZMKO+$AQf79rB&}=<#Nh-B`3#zK>{>NG*^y#H+ljBEQX|b zgSC`Dqs1y6HMGqhJ*<%!QQ(@)K)a}0IpSSugPE$?{odtp4XKLb`yQEU)7!LD?WDCHo=1P;`@iA*tq0}Mp@h^#Ep@*9hiZm)#9X44LuBj0c6MYB zqWw&=By|w&4rQJ?hz6j{-7w~tAaWp^rcE~UZ=TnoYwmhp$I+*h=%y%z1ATa+MgY8o z1dcgp3e}H}T>Mk=8Q4!zK5%U-E7+j=hBasIq zSGKYu5k7W~i1%J3!Gdeuu{FT(*I#neW2{X2XYxmp%NpvrWbm?8KPrHLULaa%@sDMd z)#giDoQ4C>u}6dU>0%#&6>7$x-I`quz=2FmJ1saj!Ww%+O0F+2${8 z8q+OTWm}&i(y1j;GWj7ZRa6*(<)a>ITlwZfKt@_%1(>x; z--%o?$RWB0-!qfW4T5{M~%`4mEiABd0u@vtX)U z%E!frPXY9ty=znG<|h&r7>#ST5$HpyyrWF$TeQL>q`>II&oM}+R(^dX)&tarmtQ|AT0mnNuE4POOKn(%;vZ$}2IU#k zjM-$73jIaFpq3lB55+&u@#2~x#y4i;aioqHd0G%Mk2(-) zkUo$+GA{ArGt;q4?JIUc#h&eF_?#b?4BrcT-a?$-s!;rc?69}i`>fGYzTDf0H`fZv zJ;O(!V!78G_L?K*Pd_35B0d)BqkFIAp+KW4-~qK*PZ681ZPDELvTWORmpf`li=^8t zpGeVeA=|}zyv_M~e0c#HFNq@xqKNkOcxwSJQJq7FUTb_=PI+|Lk%4flwcF!+C z;I?k@){^+jqS{>#f_AK5d|8kfonb-3;?G-LvqT=;K~C}vha9))K{dpjUR9f92UO95 zKx12X>KwDBd&^icB1+ub3KBOLY2-Cc>=0=Dw0q)=-ia$&7Im#VF}5EPVP?h&9M_+% zmDp#OH(7Z8ASbW~_CjFO%W>4g>E{Z4)TLiZ$rP9V{&f1@e)_&jPk)?FpZ)FWC9k=U zQ%X!T$w85p9gP`#^TRCL3mc|szBr4 zdtBGU^f=Hm#RVLNwJG9r&`dj#)~eP^5pOK^&zPviPNfTFN%wgGFflDOpMYj6p~ra-YSOrkpI_fphM%YSt-BQ~003{hAoR0w(6D-|;^e!I8PQUzuEiqWio~-ovOtF0NfKH-kUWy7e_>{l zvDTRH8m2naNxnf0jH;3k4O8u+)w%?Y*2B?g?K81I-bCq9=X=I;#KjtNuGiAqG_cY3 z@Iiw`xt+1xkA+l#;!ReJ1=5!hs zw|F(vUTwZd9(%!mRUjzs!)7CaZASpbZ*@LBJN2uKpdnad?lj$q3qU9}a)bHwugY%j z@h*?Q;}UKws6HW1<60xOl|N2qn5#JwycpN0b+^14$v6q@?+#HxKcWCi^Q48vgh->^ z^n}gFulB~gtRjT(AzpUIN{~)~*Fafi&0w--9W|#D;&@wuK~Wi4`zLN{G6k0FPsXXE zhGUZXf8tfkCvpSzw+kAwrPLepFkU?Ob6M&v>W^`U7XOe4$L>ej9g~AL6}7T**Lr*llV;mtK&Pg_@_jdzLG080?e*mXadO0t2Y6(ksEBR zhi$B#CahTbJyTHF*hM+l+|c4*xyaumz?2Xtm3pR4{isd-wdrP4zuJ#NHQjjdHxd30 zu|aqWZ6cBXDA7`2&a`0uV8QG$FT(s@em&t9)6n9l2>{ix%KZ@=I5QQPA<@(AH6^rd zPyCAbQ7v|-s22eeEw*r0G0km*`HSU;t>#gfT0HigWkW+V4AgB@Of>|_B_6s;o^=&V z2h5;a%?~$-^#XOEl4AdeZC)$QN(uIv=x|?X}Mdvwo(Rm<Vp&{a2WTv$jIqb93(c)IA3KdcM&$py6~wKk z+S<03_G9KuMVU*8O6%vI(rR-&IChyq`xAOvIYoCXY|0bK!&P)NlLTblEw9@O)>%@~Rf7ms zCxZxzdL@{-s$np}VmD7?xGX1;C97r29NVVl73Wnul`0O{2+rcn^$a3;GSO?TKc6DyP40ez#VIjh+uv(#^BvH=%%04$CW3n|Bn=&sL`z=6h$s z{0K{=E3GRye@;#$j(4uv1Lq>GtqSR*sSY^c=6#VE`^TGdv)w{v`yt|oLtWrF0z(Z9 zLbDoAqr?b`LbDYV9QOw`CW)wT{l;`a`%4XFBrzk^mM9{R)r)vK<>r-FC4Mz*8ZLC6 zi(6;%Sut{3$os5{Xre8zWJk)6i5&`p2Z4i7x)YR=llp}k)Io%j6Z)AMVAA$a0ZlNh z!)CiA&prQS##lM5p;(}9xuSRzi$mUfX6{>-ohHleya8{ZMBvh_q@3uWzK$+WL6^oV zAh{*VUS=Wy+aL{-{K>;6+tjrPp4=?+fyA|K4}})T+Xj(QL7heR{rn!u<2)2hVmV%r7-VWS6+RoQBeVjMDqQjTq^ zJjYiN+~PLZmz@GE2GF%Hi6PmEvJ(rj)QgVGw-zxt5e1o$TxW_@5KE-Tl&;k*#nS93 z+5deaE*5djc1r0YT~27*%+7(Y-%DloKc(s~)yfB|3!>vZ0mZ(>S+O4GD^>{n4HipP z){fscJMpBAr&I!^dzCI-jt}3Cde%^xUErUcg8$H7@J9>&j~)DD?NXY^FqR@kk`o8R zRDUhBOY%A9A*f&}uIWe6_2{Wq|1I6S(|`OBq;V7N(LPEV`9_lGavGii_{eRVFP9|e zY@ES-h%not9*)`&sKH4cm$yQV!X_HroNHHNFuVtwJcg_Hd&AB zITwF@QSJ0%b)P&3!AxLFcI@X`PAYK&e}4>-d4eT)mj4XHePU`=&Q7u!(2ELQ2RT9w zbVXUFMj5#CnukN30Kp>IM#35q(&@t!?-CE{Fx0;2yrsHwB^VmGJTg5f;<&C2$jk9?y|jjmn_;BNDcOgS$~~ztO%*j&{R!)YLeY_ul9Wcg$Z&x@ z$$WtW0SGRQ{HKGBxwX!Etoml%tyDOMsP4RYx&AYBHLirUuNt5f5-n>TwJM}|lP zFv|30f_KxsEmb47r{2Gs!1!`m^ibOhD-%^G?qFNRUaLOLfgS{C=Jq+JkFDBnWE~yu z$Id%3;_U<4`w)j@1;Xe^k`cd$`M}o2gd&08*X&1uD-+=pancpC4TZw@TTUEaRX(>k zdWtup1g_svpk96y>CHW?*C{sAh}a*BXNe>9APQQl$6=jaY}RX@%XQuOD>SyR3j%i? z1;NcKOC+lq#4K^&3xQysam1Txe&;-ERKUb@!(k7sQd#9MmSF|zYKiaN6XYAb7FfI{ z3$N`fMgO=WSD~;tFiH4{sc&43mXBy6?p(N3|UW91(A{ zi_wi7+usE#fdi=sR&;`Q&m?RR+Rq|%fe@PE5K;t-(BDvQ3qm%cMMxp$kAJraSzojX z;nmJ@&*v0|HC0ymi^W*cDz4{XlgVoTzsZ6*pa)h-k3n~2Nu z#!pU+Wr#Cxrcx&2*5baLb6Lx~r$#PVFEZ2W|M z*p%J)Ip0XF^QfJvk58pO%cZvQQKF<|$p;?9f&lZa%gG7vaP4OY>VCozXkt9!f@GOl ze$Z_S@|L!(kS!TDf-HUgJg=(PmKeACd0ut6G$O*+p{%E&a8 zlzSe*ka<2MsT)=ND}3@CKA{GvuGTO)*YA&BNk1U*QAWR zGP~j zi1-E1-!emw*=Nk9ogi)%6KJqjTA93%zSycUSvsQ(ZO4VjL^@jBD5s;~mUXE?A)O}ORcDr!iEftA?Hel- zL*3Wf%mtLp@#z9}FhbuSpT>NRHU4S_4I@3|KNjMe@3e{}H@gw}zu0g|oi92*1)H-) zugB=N2I}Aj3L``sDZuQ6{T3B$wzXI$V{DV+6B`RH!i);c=~kG~aW+Xi$^IHkAD#)~ z2LkalATrQ%qX|LbZFtK=tIYzJi$BuPQ6}!A%!F$>i!bpg_g?ocuT(o6!3EMLX6ub= zpD(J_1}b)isPo*N8qry?u*!1I0W6dpF8qe2#p|ccHfXHAc>QIbFJ6zcI5Eg}1*Q)D zLnWEj^=cK{=YXFX-<2K98~J+sv3f9`CBz<`W6H`At*HTJm%(JmlK8HITaS)R=M9#f z1-Bj&xw08nYnob_OC_MQqkAMiryz^_W*J=gF^k@n2{!|<>uIU_yaXn6^1{4t*}yfO zH{7>vIxY5_rt^aHv`xp>c1DRPOrVbNEMIRz?-bn6)u``-vh*ceX>>I81?X!)jJz-T zoktqU@A)KU45VrbiZ>#njy44Ep=!+{7GxvI3yWVYAX@5uIafW`iaS!1gf_0cuCpy$ z5bR9H*5R9q?4z6+#B2NjwB2+*WNL_)61$RTN-VK{J`)h+S#e8TWa1yD z*E^)0GAaX|uKY}7^HX(sYV=MIn7?_wNIb2j#njp(Pyf>RJEGNE_zb;dB~VBY(yTV+ zxL7K;(_qby5m9F&9w^UARN9vv?iG)jeE)jZ6xoSmJ6Z*? z5WPv0{Z)$*k~t4?PoJ$I&CA(iH2L_&Z!RNh{v%`rVV{&0sBlqC55nF2e5Y+*_bn2A zn9NUh&WN&MDb?RcT;+Ucr84K>^8zJ6&OnGCJji#)n)ZCNmUyg82@B3$7`zj4jeE>= z1+=ssnqCKR)8G>&3q)j2Z1jLlhPUOxH>wx6Uo^ml>lK*cT&wiAb^AXK!>hq33r~ou z?7~jlI2je{pMOy2#QBH4(oamM|L66jpY(0%wb*Iycj+|;vwGTt5c0bumd^GvFu-E^ zUif01Z1`qY35S}#4&Kx*_*i)3z6IVFF!o;XuI&o%8QL`E>jF;=yGWDR)FF#@)u>2m z2Y8>^)^z9dsw8ihJ)Q&4{XU0nv9}Nv@0oX(GKpXOCDGVRl7DhauVi(BnPgiXlUNo) z1}R^didsG|!acTY)vR=ZLh6#+bFovpPy6$=gS@iD4t7W8-F!u3x|r1IuO^g1Cz&rM z$|DJW?@?Ut4vU%FgLF_O%FdI>AnLCLf+qE_vZ*7Rk)O74BQupCl4x+reJJH@{Mh{_ z9aJ1)?)!lqC*MuKsx6_6kQ)g}`|$8`^2~nbQv61>1n&N&MTp@+>ij{(ySdD2gQ_DW zep@&zIyZ%~LlAU+MrJK{A2 zr*W}(Z@BlH*tOsXcK2Lsr|V#s+9DhP4~7;W4Q;fW`Os43bv{RD>@N5>7n{|dBIIaZ zQH_d8LM2)h=SK_-ir1nkf>C4sTVJPNdZ6P7EuKkXwEJ3avmmlgN|n$GZs|{ho_b_U z@JQg2yEYNFS>Cac@_&^A6k2?Z2r~6ZVfw`qhiMRY-s?V@le6h2L$_j&-lz0XIeF2| z;SUGDW2MCnJ^bS{Y;}jawvW9otPwsb4IFxKCAw?;#FzpX>s#iIFa#)#0|)1?dJVsgp9@`Q8vaj9zppUL2*M2 zj!U@1FF|ob@{EGU0(?#IFV@ws(bDud=ZZ9zC~TNqp7(@O+wsO@s>FFn`9Co> zraf9f29E;rburdEkJ7ZqGUrh&kCu25mi}Di-?^~iF077UQ)rWOX(Ynv@0)nRsTwoSnG zcOQ#?R4W|Eu^m#^_tU7QEYr|rvn@+!<@iHetu(d-Pg?1!CuDH#uNIIR@2A})$6e*! zDSkoOd7$ps_%I@{QdvtBKgP|gCuJ3kgW}Dl)uUQtCre{P|Effv>O@gh;s;8Kr4$-Q z`-!U(HGV*5xKfr>C3+A^-jT$7CHn>tr@qv?(_)c|>UNB~=4XrhYHIxXCkZx3W?E${3S5`903T&*a|_s7fCD{FS&@ zMfa9;<<89TCc-WFE>TkRuaBB-2^a>^o3&VsdBx~a(j+H+X0EeM@28@==APX;Y;`p5 zLom@75k0h6+?+i9D>Kf<)oj7ef1TRMbe>)0e=5&iI^e2@(P1hGZx1JUJ*zyfRxJ<* zNVK2IsGz_Lbb1`ssMwriy$kW_o-Og_2{SiLceR$;B_$lGmPL!qF0Jpi z*rW0!0A75S$jH+jqs}Ve%sTjNdcmzxp3Zn>Z&f`oQYBrYB(I!xj|;Sru`XtJSqR=#G+6`X&!Fc z_dn28z08KiZ5paX(=qw04vr&Q%5&hrrqSk>HlQXqpqWf}AdX3~d!z0OA{ zOQ3`KSnXbKrb8Rf5wwlmkQ&drt@l<6!*=t)FuUeDLAlaQ{+(r^p&eWk>v`Qfj@L@H z(bTzIrYmGUum8v)`@XBf&iRK{`qD~PFLel@IZQ|Ig@SDlG?1+F?}h_)wiRfpigluB zacJ?WmgVy=+y=|r7st$MqC~vv5>1zHv?6#%1U(}M_k7bOF*6I!)WMrU zsp0WqfD0`i2W$;GZv`Ta{os~)3qgabC22)!V9uz0r3U7!&7kcXQh=H}szvc_mAmC8 zsZaHmwtt-F-;}(GYGgu>8(*xJ0_1n1Vcp-4oyrKWqvO|B^TKgz9E~^wjT`s5j&Zs@ zeIBv|g-@nZspd&G#+-*0I99ky@c4h|6ZKEi=eQj0B``7=vn8(43}9GQm3Y=RdTo&E=--Ew%j+%; ztGyDrEn~w)0&%vx8Jw5MZ4cYG17i9tcS>9Jd9+jKs?US%s{%Gc@o1}zRlbFzrHD09 ze-+>@+!El1%b#VSn-v`$PFx=bxmFxt7O49kA7KQ;;epIBvA2r3c?K* z!bcXuE^|B(ys=?Tfu=>0XK8>n4bpb3MTXd?I5!g!M5ZcL!%;ZemQg4T#^ClT-WlOh z&9f(5KPY}$POSfk){(F4&QCHDL3^utis^fME{{}%$w9zXXV3oH$(?c?En+cTTBdaV$*`H``cYKw7vqL(|I#{P!;fxP7EO|KYzjbjDR?J>_=L5@Tl~ zYZ7{`nQFES9!@-M#emz)*0#2$DH(TH#PY!@Fuc_^!6p1i^0&hx>Qj{7WJ@Y&keh!J z%gpxXLH$C|gNv)D@2K>e#rdU?5lgDP51EryGK0SBJCsFB(^Oq)$m5&^<*V>o&~o{T zIrgt0TkE*D6_bMB*9ohpr$|=M=VYFFma$xl&3>^}jCvV3icwcStqkr_ z8}_dyprrR2>N!1I?_4v#(ngx^clg%=$9DL8{?G~hIt%=23w)QEWr3%#clBVg?+DK6 zES1Qa5+mNEsnr_Olv4p!tn8J+8)`(HL2I!`3|EIb81_O~HOjiaMDvq&)XXPZn0sMm z+J?~5WU_Gg7GJxoSgcm)XWY^m2i|_sw}*l(jG;qQS|UqL?@tBR$Gh%#Gzf3(%&_;O zI5xy$%p~2tOucsn2Y!b+InAyRBm3Y)$>gTNEh3BC} zqx|VLM2TJND_=|g=m$8x=K0C{u$xWs{CW-4z2;_9G{62{|C0g4>iP9HW^U&R{98Hg z_9I0x`yVY*K~pr_2)sqw&ni%NDz%_1N^foSV~w!$xboU2qO#ZFWM4<{78Rwptum;b z>X9t(nSm%DYTHUN{Tk`0t+V+!eL8j;{_z%tf`o0@k%SHM5@M^wJ-0xJws%S2(f<_= zIi`9tXWQ{}=lDg_CJiD=Noh(XsWm72441dr9X&el6WT~Ja#7%bWXSlO<6f@8#OF=~n;-@H7qUih-RhG(+pQ2Due!;55)2d&r z2c5OiSz=v0i=8#xS(1}@Mx3?7#T3_d&K#+ZC-7H~eGrX@=51NJNJ)}~XS8c5mCgD~ zz-+gqvhO@8_JQenf>vX6oQC)#iI2?4G0TbEIR$kqG(T8mC1RamldXy&K>f`bPx8e} zM%IIh*rE^b9u?3G{S9B~(Li(-fg+^>i#hNjl+8!KwQ-z3Dr$)%I;Y~4C{B}$i)hex-rF+Rgg z+v_o^q&Jj=qRy2I8LR4D2|s2kN(r4uQ}pf#BhWwl&B&jBmWV`K|42M_i0`o0@10%% z1&Tbogpg|oe4|?Dp2SfthJkOGD#)p=SU$@?V^k4e2n2F;o*_Fd&e4E)h3Nt6P87z| zYBAD{SoxRuJv280g~sI$4e#9H72ZZK)X&=;M#n&W6IYAR9bDz@LZwPcmDd*b&Kws1 zTS2sYV?L?cd$VU3-<=)!;ga~0?)8j5-Gya_WygN1jjO^(X3@z9Dpp1O3%{XlOR}Rq zs*)#M4Z+(F!I@*7bLAX>Gmo&Zkrt%ggH;s>f1bJp&)6m~Ps>w*x;y!$MMp2z&*Zqt ziH?n%ylDUUj)Fk_j|hw;k7_4*o7Q^RjTl(Jfz7mkTDV7TlNG2iZ3|t*zU1BZL-##Y z-}Bw~7j58l8>t7_)U#dc`F`s5OUdK+igG?5OYm(!D{g|(@%kx0ss+7F^6{j6ium}6eCR5Us^=pV-&r#I+~|Z*ye&I=n*A;1 zHz#@^zj@KVgcro7LGTBO>|=gHlf@iQPoQq#<8Jv}&BxXHxP*^s3OWxUK?^(x@Y*(u z^-+9Sy!Q|BUXPFY2@%By^AkYCVtzuSKEV8hd-Vb4Crs4`n4d744_ehngTL+w)$SJ5 zz`T$2TlW^fA>Ofw?>H?mPor$!%Bag;^mn#Iyt`@_U{~fY>-Yew_lfVy=X!5)$XbM4 z+x}`;$sw=nJK(-o>01L}A`c=mHT(u%#ClU!AiS>a@5*gk#gVLw=C`=8RvT8a&W`Ro zQ@-Xx1>dGbzzNcF+-<*b-xd$``YD{|x$lpO(>@o^uk{h5z*z-ZS+hgY6ZHvx(P8=! zA^YkhkKx3LL?0)Lj^m@hK1TELl>i*i$G(=>id;l0>S1?QiQ}LlB?^MrLta#5h&|*n zK0?W$NIH9pC1=scj+|Rll%_?;;unxS zb#-3Hbv@=b%wo*nFk3LYF_(WtMPzr+>E6A2E=GTO z&PxC0r@y}aquay4_zmW5%qq;&nCCGsV>V*`Z{fT3*0t)h)H7&3isLOWNfoC`ul3gG zKHA}D(f{~F4hl+jk25Xa(P!A@`5qget5~4|jtS-e4Mxa_t5m?VZ>%g-P~e%+zRaDh z#|Xrs-e)1%uL!eGt{f)6&b(}T>L{hUy(ES8E_+%mPv( zc47B)_D>RrGL7@I|D;Ry4DTLluO;|#WU7j+JN=p1jTCle0NWd}&N_1ZbcaSY;-|v9 zE{811{v2pz^DO@+T>2A-wVm}a{N>`G?cy8FteLN$qeMiZ?!|wOpB&o}TCUJU;c-~$ z^JSguo27s^-5fltQH{m+Hb%LB1&i&hQL%*O_3G&V>Kh_mtY7VAlRG-T>R{nJJFCaU z$!%`<$gQyc>xmp{=mofr{y*;;J2@+x1i4Dk&bUvppSQ7l*x0jN>^_~aUDV@U)Q2;o zR(vCBj)mI8n>e}l1LYx>S_s&PSKo@|O`5fBNl~nF+mZse%yI@Ki)w)WUBIf+ev)q& zb;`^=BxB9xO2TINVLu}*)NnIN%=cYrwcg32xg8^$myU+Y&drJ)UcZf&IDvEwk1ms? z7wC}F`HeUvr}OWXFH3UcCjl?T5?#lyTCnNbfL(ph5Uau;VuLH_^Y-SSaV|Wxcmtr> zaajewCMTI>@xfTeYl zA2|r0&j3Q8{->mLlbCyGhZJ@>9_F2ed?)f(5r=*zdTpoynS>96St@%T@SMze{O9;u znGrqNOcns09V1166MY6RwbNBb1RTd;%};&?18vX^%DIEn`vdmA=N*KU504gfEFJa! zEuW+}1MJyZt%frZxR8FrEsa}83MYZj*pG1Yc`1w4@*R?HR)x1yx^CuZZh#(}u!ly( zq1E1icnAGNrMJG)Yj5vX>20V4Z4|54jinaDEG@9e!_~|M%zd=pR)?0(DQ}5!%+28x44;4-XyOx~(~vU2b`9Z_=Vrw6F8u z-Yl1UGX%v=8+%+|xP8oU4ch{BR}d2K$c~+>!=!=w^Ke#M=>77m5DKIo=@V=tfwh_;yZk3!*D|)u=U{S@!`|zm?Q9uM9yT?!eeL$Q zwyzah1JK7wV~ixSb=N53eMi+6`?P{p)4S^_tS?^jYyPfpR6ikV&gZ+*+r?q_I?)4G zk9-yOuqNe&y{QG>)ZTiE2L)TNMvu~78DA~Yg8`|pwb6lS;D=J@R3*l9^)$B zmsj?2uEyEJ@?7%cD4nvC=<#VFJs&M%8Mj7xeoBf9SG~9w*0HcKgK0RdpthN(n1 zcRpgJimr|};2!yD;Bdy+VfLZ8T|6J3h*sV&88&I;wlLRBk@QI2i;8DN0@rMpX1Pch zWmOCD1;B$?R=1p<8d`*7M&PP#JZ-%|-x9O-;PqJVE<04OkMxV3R6nOUc3ilA=HS?o z;reMMu|vc4bB4uAxMY(5P*T$zR;`zX zN3>cMkuw6Fq)z_p%Lxfy|38&b=fUk2v3#FymF2<%zM=SzTDF(a_6757qNud`8S z1j-J1ZAReBxAZ~Kn`@P7Mkug$f$rcc?TokBLZd?(E(@=D^ZQk?nIY@F-gDUd5t zlaU3`5jBDa+|8X<<%orNS}6c%$~^fR$jm?iA-P8!M)Fo`H|)i@*}w|k=)gl zi6GZDBBqjsgxFij3Pp9Ht1Fv7%;!4Z$;HWvj>z;is{SS_GJGk#(K|hILtb-cy5_li$`b z4&6wYS>}<4fI`DMToYvkP!&D$$YoYCaYUBKBj*u;UT_x6>JwJb^k->ZpXERuU%QsU z)L*m=Q4XkBPLE@hrG-sC>(^#yDGQsmIr)Fe=YW5cPj~VOS>=>Aqug+h?q2sp7`CFS zi=P-C-5Rn=Ky*c@%w5^>LCAZl?M_1N zT-YvWT25%c(Kh_{>%5lsYuwY^mzm&?8OmH?6@av#J6gOpdt~$od)^^B*e%)aW3|l1 zj&0}(%=Y6OG?i>Ws)49k?T6ZFX!`-9#l_KmM~k(2_q$MGJ*yIjw)bu5&3EL%O0Vwa zHD~5i>~7xJ5*6Wq*;iTgC+~9Tmtp(pf7L!nBiO9=eP7I%)%!)rBK>d@T#@Ok0k$&o zoqX;wcVjtDN;d0~C9maWg`}GKhqlMnsOA{?&mmqSr~TmS#G#6tTLH-toC^dAX_6aG zl*Df?304QfU+Km*J$#J~Vsg8QkLvP6V*#_3m2u=>|3I8sv6cX%Ju1o%b6TOiYBoMQ z_csIetfOSr?$jZ#z+KEnxWzI!FSZ|U&&VkIypV9v)($IQe` z!TbV~mEA3;Teohx82#lrEB%|_+50e`)VNRgYZ&+OXrvl@gW9&akFgp}J@AZE@`_^L zt$6E?-iKk`w7RB1-IFkyhJm(2<#+~J7iIO9PMaparOl?n+P}4fJt?ty0{1CL1?shF z;wuZb?Ah@OYaO@fGxWTE!;C1A7q8Pv(O-qZEm|>hg9fN{h8nD16{hoKJY?QB=E~6f%s;*I$mkJ8X9RuTeCnW zyeuh^Zz%p%exPn1Up2c%#EO8e_9{RmvAUV%)}QXjd<5z4vXxp{zE3o&A+exUPyc7; zd*l&s-)dXEsy)lDrnOw|eirH#;)5Yv# zW403WDsN1QEx3!hK{3}^26iz&p<2VNFju&y`S zbHlxMAUN&n!-1jgE%u|o*Ibw@5JdC6er;o-tQf_?Jy>~!CJZ!MSWQR0bF{a2dXZoG z?I(I;hJn^_)d_RTJ_oN;i;9kds%r7=gZvMR-X-n5QcfbF-q>S4Mtn$xkXvTzJ>Ip+Q=qWjw)XE40N3qc&1yOhQW)$!AdE2pZt_jvwQl@tNFTKfoH~L zlV4p^Y*QpH&T3BOdYeris1KoHLA~7~fOs!Ut&#+s__)d1P83S*k^~*6g4SSZIJ8vj zP!Tl{u`Fu3H6CXkT4z~T4t>`U8v+GkoDRIo!VIBGsgB{|l@fCgJM&fmIc(~#BN_!L zwgpJzYbC|);|S|4&O2>#)0Q$YvfY42^N9YdIE7=^Kio;2`!&?kE5V$3`G_riuJ4Du zclDUTz>4x|1<{_BURL?k(!j*2DBubf5fIyy?ENz(Pm#?PQQ6hLew#g8LV2p zkMR=&TuPKi4HQzRt)C_yXXSL9M2}cd?5S1LnVwWOZ_J5sTzTHZS~eM=@yVcY`Najg zZ-zloLAUfvck2<$Bc4}BKOo#=#2n%$rRf&UiY7`iH1{iZmvge2?KSvTPs zNltl}vx^(ecQ_B%ai7>a)bJ5ajw=2I)#Q?7Xtr<`*Qt=%|SDBU7=|JLIR9BbE~Dq*y9cM1Cv;qW~gtZjlc6B#t9H zVfhH$i*n;?#PsEX18N{Cjl!1iyBX!%9vs|M%Df^~#N{d?SytLC|6LJJr-)~Q%4_K& zu895Il9N1NkDg0=^7EUJB4#ET|D!ypJ1b@?XEw7PTCVzLOU%yWJ{a=-AMU{Gk4N=%(xftB#;(CK^!NHyE zuq@q#z%MN&GCP8ll&GW$Rnml5Vmr<<9rAN)ByoX3h9c9dx0*XSUaK>#+FYvgE0No!k%-PkPlKA+Ad~|Id+xZpdyBs!B}Rn(V#u z2}XuyQ7wK>a-Yfh8uJ)#B=`X&P%a6R4f$6%Evp^ra2s!+7> zF(R3AIwmxibPs!5YetolnNVU6%sKV*;fgt*y!v{ zqRi)G#XsMAtTqvA+rub@idZ5ziy0JGvJ&D}TMO~3Ox#Kn>uonB^UdztY&ZJ^$_gqI zgBc;NFuUp{^Lr07Pu?NKTH0m#1@#+#~tO+G@G<-PSt6Sz)jNGc&QvVe&J8*I5hEn%wFY$9s z7WQ36og5kQO1#)57JW>XOT1Ixvy?cIpHFlx&>bP2F0(9zL7foZ z7X+;ll4Y){=>?@q76$ZvG~XjP0ApDNON;(Ozgl88p|sba7WyOR%sP^g!w3!5hRZM5 zbwlAqA~4YprZyCU?Rj$QZaT_{c=1W7^^dzqUjA+5R=>R>&R1^6Z z6KH;}!1cJ>TBr+e4XmD&DES zJ;S%}_U&hU`#s<8w$jBv+PBa4?YX}Fm~XH0?K@ce5d6n{`xW2Tnuz@O`1XL+K3v}( z=i3+h_FUioxoo**Enubl-ld&;F^8p##!i`=!5%2M*eQ@Q}Uu;p(l99|rfa{IIa7 zlOL{o!_oI9-@engf8g7X`1T)tyV19o`1b3*{h@Dv;oCWHI=Fp(`yk&w!ncp}?UQ|b zjBlUr+u!x=D}4JV-@e_q@AU1T`1Wsndx>wq?%SJvJLfGQAK42Yr(yga^DL%2)Cgc+ zheat4z7R+``2WCIw9e_Cua}4Gr%xReMn2DHkFc)Di!(5A*jkygo4|5OZ z0nGmw{D6x1_|9y5g7xZG93kql<2!Tg3D$?@m(kt6ni0SJH5XrYD*g%b%Z%@xSyj7v zYZk-hgW{XBxpuHCn{|X_{%?J5DD_)?mTxbR)W`tvuhQS*x8h5DyUMqZm)#|OgeR3s zSPs8Or)vXs=kSY9A09MgYvw*&@m;ymes~oTT>l$}hoD#P)8c!wYj+j(6#!k+a!-WR zZY}~q?XG6|%)3EprX$7s5B=0Nr%(FZ<}?c{C0XL6MZP`Hw}0>3Z~JzKZy$!d zSNw^-J=?c`;oIlXODTM|Z$IGM&!+r+asGgBclh>Uz8Ih9+mHM9Sf79?J6G=7&3!0& zbZC5YK$i@%1NC=8FmnCc7s8+V_FsMbUOF_<>mbo<9B~76W&GA|&N@)^`oPjl{*GRs zwL5y1?Puw=Xh0{u-e%ln%je_w3*Yv9M*07%y}~bF%KoX`wY&O2(dh8nUHPTh#c*p7 zTMg++KmL{_KD|@}_+Kgi84I@c&CS|_>9%if);^f~F+ax)zzoG4ia8o{BIZ=gILrjh z*_aD4Gcea+ZotgN+=00pb96t_U{1x1!%V=OjkyprLvC0>97M#yj-cwmp7U7QE@>fO~{xKCGips1_6 zPv5TYefxEF_aD&JyK-z*tNVZwC$zmYC9e?{fqQ;|nBYZuetmg; ze4s9lE5125dSLD5uLHCIgc6Ty4TaZW`QZ%p#rg}m-7LF7c1n0_RvfU8$ESq%YgQP2 zm=@mO+vJ2%zrk*7ynm-KI?;zb!MA7l_8q?cm~X$}+iQJ$k8dB^jl&HjCmhB;zoy9 z;u>h2>KSkJk$%{>m-+TPzTM{A*}jAu=-Y?;_PM@&qi_G%w-@{NYrfs)+u2K9i3a-i zvA%t#Z-3vn6TbbhZ!h!h&waaxFKG|-?T~MO&$n;%ZQCb8!NtD&1K-~1+Xwm-4f%Gh zdOj!NZ#yY^6n(H{|B%|vU#hYS>4tf*GnxOB=Up*&J?HEz{0{SCxk)~W$m%GjVXLF) z>4QJWPq$w27Cc>?oAn%KDP{#``oP?*D=}~Iy#ez#OgrXF%x=uSgzb+x7&8Jh5;F=j z7IOyXEX;YBqCvS?#h4Pza7-zt3=_meFuBC(g_%t&%gQe4@|TkFOSOz>EcxDC1Pj zG)xg?EXK^_dlqI6rUo+~vjFoTW+CPY%pyz!W({T?W+TR6wqkZ*vVc>7DdoEi6U0O? zMVMkt31&E^3Db&k^rf>nsPiwsTlY=}Uj;q7I1lRCtE;s=U$2;d9)(9UT4(xepC(vNGxukA62liPNs z;*u^6#NIl$UKVQG;z1c#TC@^e;A=Q4N#m#kNo-v5!wJ=|zb}Y(TTwax#?SfZ%K7){ zoD0phcVW6*^at67sH`zy>&R!G5~*OcBShST!o$8hIwzj1%X*GIA7dP}nqw-`Kb zt$aRmo2i{8Tw2WoSEq5(n^S9{m*C+)Ou7<8xR&>T zIh%m`rrY*YsvAiKkcR={PM@~l!p->DkZSL4ZMP<`EU5PGSjd;tFFgc$wD*ng&WQy_ zzMj02rRUY=bBmW1T(3ucW^YEUKwIsrX02sJ%QnZ6 z{nLJO`v!x{Udg+eGMk(f;vMB~7Y)TYpUu<`&C*78KP(llxz^Shhp<ta4U#hw}LO8Kg)5-sr{VV<_ zAjSX3kP0Bj0;H4wb7FxscNao|_7b&;3IC!^O7 zxu{Et8fviouLAh|50;kyXUP7q_#a;BlogMMspFS$w@b-xPLLAGZ{Bi-d_9D zH1~)7)VGtm@yT?phs=!@wSOmXm+iZ^ytU^&eWClLC}){2%rjfC+$30TrY(1x<;MG& z?^5Pm()NXYq5104Z)dq}X_hMn(q1f=!TsO7|KQFa4M-uii^hQ1{R#P)eA}Q~&HnJY zf2K&h_ZuI%2Jzmz8N7E9iQ2Th<;&jH5pSiHz3VTrymweylgnQm3(NwNg@7iP&rFGu z7m>WmDIgyCdX*Pn2zjX71RZU$+K)3cH`k;aU-U$xvW#2|N6d*`nRUEd{F_Me0d%$MddNp{!iqK#!HaW zUivKsj%io5O7$m$6sLESGx)zDPsVwHx`*ut_h%o}2e+;~v_b613EVzeZnWPx*En3L z|ESEB7awQlG=Er-yF4iia{A+rw`aZWhIrd3js>J+{=~)ngjuCU z3dwW4d39P!UNU;}Tg-)>?{41j(mX+$R2hyj50b`GMSXiZO{$eiUt%PA)v(143&ah7 z6`x9)=kI$M`=29UiX1PjqgRrLW6)Z4zp8cp6zJ?KrEwn?oX7 zc%ScrO?+&}bOicTbf-20b-Jr>+3P|+%+y`vfX4OC6J(XG%a4U zsi8zjsOs(BQV!9Ccn7=hj0L0dtGT`hZ}@aHl?{w-4F{f~5XmXsy%iOl2kv8qpN+7j zqq%HQY)hc=^8*5nTMro39Ju{V;Bs!KySG$v`|14CH{f|Rh$-E<^}Y1~a_#6p_Fjuq zz1G*fDVyTE@&b2l;5*_~YzaIQ$q76Y%x(UlAh$I+<|~?4{fmT!a@WG+4>yX(cS8jo z9QnParX*mXu8ufW(dTRaYYF@03hi*QVY{wfeQI zr92_q5W=(l`|{rAyjOBQA=GdObZh^vygzf^k6G_|@*XSiHs^ht^`0;9Bjx>p^PXzG z>*d{F-YcAUAL~7qEE`oZPJ-U#O1j;AdA=*Z+3Y^Hm=E|6CEvl;{a^0sz~HI7N;SuxG0 zm;3o%r+k-Nyxn}_0EhR#nNQF2Nkzw%>icc}|DwMSI(#zc6UTl}WotF#FO;3`@3$dP zMT_ymX@zj|=hNPK^!KmgvG;ts8v)EGtRSf(6$NVsh%ZRuq|o$X7!&DPgfgYJbLnbt z{u2aMdo>HO%u=w~duIIre!dnVJF~vP0j~piX3zgodS-DQn7E$*To<*{;&BTZ*rGVT zUGiOlxUZlM4T*jT*mGR9C|3cZJ=8Xm6+$I|k#3R=QoXKRY zIj@%@|EZ`@y$RS6R+j^}|CzwRGy4Ue8J{hz z*67^}F4EjxqIRs?Z;3@3pnJ7CL#|sk{bwu)JXx9Ze{s;R>>$s1L79Pg8 zwSZG5!*yPip(oxY=E&df(TYWNB;HQ(cjsI;mh6~@wnM3jIT|Q8M@B83eN-ggk{8L{ z5gD;AP=6uwEZq{*Y)E4|Rv+vgDyP99co8R)+tC1zpQx7hwFKHr9{WUkOiX2oaO1Bb^&0y`NLVN6e~|gHogcJYPt8Q&XR?Ni&7KUYIE9moIF9}f_hrJe8W<{ z?bTM9>7Rd1VQ(CrhVUZ?VZ-k`C$wc|_nFFTwYl|Qz=Cwa$b*q9*OgV~z8CS%nx-aE zsT4;cVayVn{ETVw@@_GX#WNeNft(UF_jqGPkGy9PXDu1R?rYv)Z zpLLEry))3OymYEsUB3AhJ`BcP!C8%9_A@~m^-4jVS!a%U+a{sNt{o*tsx~4#2y9z^ zsAU}E3sUX1wUOqZRQs~)FIQ@KGh$=>WFD4awes^A#7w9=iLcOO+|hs;VvDetNlaFt z0#(g-mnn322igS)@2d@iT~=ByrrS^y^W-E%Ru9%;-`nyvbFcahHy+>EOqeQi2{vUp z{&$_#aH5Hlz)1+WEA_I%(#UiUD(G=#RJf_(MXIjc>gqv{Cv#IAP$q84Xm4m94ct$D z>mq4q3sX-j+0%IQrJL|dYwg(>)K78xEl^Bj2u?@qxp`-rd=q@MCPaH&hp z?!hZ@>3-qFr2#XD1R94a#obEr3@H@Tt5`jPbWCCCX2J=Qf_xvdrrHIk0HlDY0Gnm% z{Ct4-3*e;yOatr4u2^bbB1$3`>7w~DPz%jXK<$L6!useYs(Ayqx;tT8KzEawodI3z zl5O47(19$ya3kZlZpw}B3&j&qoKiiiXd4SfhiX<&LfL_5`UDy`_n{>WKmjeBA zjVc}dZC;7{)>-Eis9ND_gPJhElBo3w#yO#^w&MW?!4{Vgn<}7OUd1Msk|s7MDmL-T zi*?Q2pWg6b*twCdZ1N}^&$l^_rbDpScOuC%B3yqqo+iv)IRJHUZc?=DK!nbVm0*L1O~zRWo;*ABB3xmz3NS<85b^j z5~|>G28!;+=79^X30xkZt}?Q?XB+=fXQ&(~$Gy`TKd)L>&z6p;emoR!+7r%g zreR#x4l)&&*%H#aOsj;UU!OMhC4TB7y(wbm$45+gJa@{{1R1svRWu;G(=xIfNdnhm zsEDfaOZSV?sQ~#dqWjPL(Q-`1>8{bV@1xf`4!boK_^oAs(A#XJOf*7yc-4$aDjrvlwG?Mf*)Ie2jeMX4hWdBBVC7;y?d)jOKDaAA$xZ>|D4cS9-F$}PyNmE7@~G9k4-R{1nDZK zHf^(=h}hzVg}EiP1r>*;*9Y9pwDGp0t@LjjL`oioqTOGmrEJ^wpVV9!Am+r3m^8`6 z^qJq<5FY&>8p5%F*_%oSib_B0{vT7R!z``tq>@d2k)QgTR9ZsRu2ixKjwV5xN>&KC zhA@xl3Hv6fZ3w|}84aO(IH5-${||TX0^ekj^^Z@|rVYK26k2GxrqD{|W^AicK~15B zAVp&>%DSi#Q1M<%iin6QfrS#PRdK~#cDFxum33L)F0zQ|y9PyC1hFD2c-!crKDD|A zWC0b;|9j3%(kE$=?)%yO{C(f&^O-Zx%$zfqGiT0Ro_S_K*C`&*fIL%U4fup*`Cf#d zR09?xw)n!2p~5#M^|I z3(f@NKyZ?R4=Ce;H&Xpk!6(Db1t*`lf`2BF(C4kUEPwaMYJ4JMi7z<*dKB$XC;kfs zCrukEI8#?E>aGQU6R5ETXMzhr(52wRxyExRalzL{3O*g~$bgU;Kq1|>^*@}Vt(POF z_`+X8h5vIxj|(5x-a%IpDLhlpSJYh#|29x#3(o`-K@csxuC4zX==DAa1e@D>)kIxe zA68NF7)=6k3{=USGEZ6y<6%`J+(Bx9h~k7|e^e-*vMk^AV?r?o3B~i}O5)2S06p$0 zb~!uw!qhl|k*T}#<*z`Eh5yy=LXxnM~bD-*RX*W_)FHjguo1JrQvr^ht4 zWC%^lcWE=~_&!Q3rj$Q9wLX~w6L>x6WqiD)K_s90E$`*itp@OYlk&PrzHD+mK7VhS ziTr45NE~Q2!1Ss~ZKPOE?UFW8ROPvOUCaLstTODBfaNOl{~cCUnZE-TEg4q8%!HYR z0WDtyDKHjvmhj1`wdRsXs7ZS?XTx$UaSNv%H6dMI_@I3b3+d1LYB~hT1#c|;RAc-^ zHt}C*=TM)A(eTGN zkFwB_fWy~uGpT=D?ci<4tt)|#8wrn_@p4{Ec@wmoSXq&Gen%hahsY?Ok zjyM{+(4yv8`tb7VIHSjU9?11uPH1aLOF5q*Szo@;S^tn12)di*2K!f#>Zo779{w%M zHvm$}ob?SPxc-Mp?3V9cG8V-oyq4uOXplK-pjT)8^0ly9_)JaCT8_*b2O?`{N3zz< zei+W&^6j9fH0zfK0FlL3viuKIyi~a2NDSQ3=!l~!VZSyi;?Uq25^=P_kpV}-{<4zm6BndYJkztaA4;Xy zlT=ubjeYIf`|y?5U;5ih{jE40QTrx>7$C%4Ms#Y=FrpD&{qxOgL+nVl<#P%dUN>QU_p zcyhEPl95~l@T$#oP|V4A1v)nMA?9zjJK)LaB!3Zfk}RzRA*FnXGSG1!2GGCZ{*=*4 z+#={CNLmV`r{NXovl#uKS`IuD_Lpw4!rT8QVmPEF!HYhS(Z$ZR?lcM2=k!CB;EGdu z$~fs{dzt@bT7m~1ZcV%7khYV$JA5a?$08Ec#!lz-mD*CBt4Z_fT$)y+bG2!6;qu*+ zC>G!o0$tW3V}!^~Lx5#-0+!*tD-(P#lHdx@=u&LhL32k&ys%4gS{r2(xAJNwx@hg1 zfueme036{NQ~Df?EDOMcY4t*(6&Mr-?f%nN8G+bcFxZb`h##Q;71r zjy&*f)J+WueK0${GJYOt1CwyzW9=k)AvB$Tj_vngzcAJgsQU=hKPuO^YiJO>jp!Rd z-%(Izd6pt2fAU;No;Z{l_f6p*HkHyGl~M{Zw;?M@c{`N%*GQx2XvzGt1x2)p^}5dU zvav6rYzSIH)@LgE97PhKyzLl2zpMrabY{J!LchYNFe=fbD#CdS#>xnz_t{W_VTDyMv5JY_%JlUrWR46OfUgN) zYCdRuDr72$+%pLu7@<%d^hs3xoKSQW)3H(U&oHhoQ%tGNwXHvEom6+-<4G^+0+mtYPA-y{0& zkd}c&Xn*X8BC>f;2W_^T+$g`&yAko$zXHgw^vT*ycCa@Pm3nn&B>yCY?JBS1C!rg) z_s*cW@SDTy+P&XW7U|d60DI!wIgRwG&0zBbZB3Eq3H}0HL8i1!6pgY|16xa1j%&%0 zrW`ZL@r}y$G;$nQj`PWJNIA|V$Jxj%#g<2ozpIe`QpoYLa(oY4YgLXAIkqVW z(P~?j<85+0qZ~WQu|YXrAjj{OYk# zn&oLMkFYTNBIif4{9eAr1{u`c$Rvv{-ACTw{AgK1ZSRKC?@6BMnkC!S5UoksXzQMI z?%-OrB`={lq0vmTk#Ao)5#xO&t=h&nWEhBXko!){?*cLoed~$H=ckm_Q9*3)Jm5F1 zx7DVQ)`DI`F4vnq_$_KGlEwZF?X}&c5CXVV0=*c=NSBi89x9Lgzbf*p8W(N3OrQv@ z<#YU!Smr;r42Og@O!=XG6H4wZxicI4zDn+-l!-s>za?L6xv^^(t9rVYYm)ws@hs@v zyxz)x!Au>^Ji|8dLq{!2=n23@5# zj`vl>JDakOeORqpYX;R!XQdRNUZ-Yj8OTwrH~1>!o7_!&*G1!7*nNE4(0!dGzN4fL zwZn-`hG|z;CnsXQ2h~IxruXs53M&-m51ADXE<+aEcz06 zfQ|Q_JF3>?{{hF&ddH8!+xK`wkFpdx8vR^2tK>?m-P&YdI9yxOaTYAkEja%C07S&G zY=`F>G}zgU`*Ou7T%l~8XxW@5M!iv+>w^6aPgl1N|T*W&RdSjjqyu z_Z>JCYF~kv5X^G0L>FwcqMkw>H&JiV}w~r_#sx)wfl<{YRAXUrwfskL}IP z@Ebbw!0NBl$@e{vzEt)P4qbkx(tn}Y?Kfcr@(AH6CL1~^?zmQ^KawP6=@z$~`;A>q z+gNSd@zX$sW}jEIvmQ&uPBPHmP8$q%X*vsFFcEcPN!m$68fYriBe3|=aT`_5A4xCc zE(K`zL;k#SsMZ1yo)=qlcsp*MdAjj2E>QI!s#v)C% zpZoygtR1tJPP?M9eJUyk;(9uEFY><@6N|L>FvXSQQJ#QdcQFMVaq7(C}73(YibV5kJk2Wn2Z4hV|7yb-v&+Cipg0PodST0i$(Aq|G~2C zO#~cGuzDs&^E*W5_x}3Mt+a*O>Bun(u?C*JjlKe1WkVL@Bq9bat3Z}0Hie@J2G6-r zA6NR2ddnn-1*r7Xas8xmzE^38ttD`gJz1*edvoH61UoV43|5t$DgX9gI2~LBB4?{maK{gg{Ct$nhG2c$$;jVF= ze`oGUUqQ5#ez3{>k%(YqazG2AjA+~gX-x?pyR@P3pyu8Sm$67?fvm?W4XQKR8gC>1 zyiPqEDZs6fXDoEa@9T?! z1U>;{^z~(pWS>sKK=v)m9w!F)Q;-J!=*N2n5~M!{Zlq}6z#q>Uw3?(2yARM|_xM+M zl9hi>9v@gRkHi$m*uN3ZT35v_@Uo)`Mo$*uV8gxH>9>Tl7Rita%m72Ol2>9BS1Lte z^_GmO9f*Iby(QRa>#Uc9UR@1GO34)Z>PGo+bb-9()P}5TqcLbe6_qtC{Aj9Q|@(ks;f{P@@hOgsxFrC&ddi63e zk2^LVYs*!yPf|b{5PBJ9*f0IltjFHSm5lCK*~wDoCo3xYjIHGU9q1@9wdg2ru&$s} zA-?hdgTy}>!_IHPb>`(((os(T&+PQSKdwa{uN4f(N{W9w%1pma7mmWft_^SaMx~vF zp(L_&HI9eyO!H|5&p8B!VBfWcKR!0NdXbWQcNi{=CDqgpJt(%OaSE?%FOxSq3DI%e zR$96y)c=BChkGjzbKq1QFcWyLGRjybL9 zIu1X0BJ5wYGITQzuuEtQe+*t&?tKEmC+EjKh?4nQGCy;{lI364E+T#$aOwCluah5_ z0J~#ml;dNOyN;>R`WQ;ibE8#eg_Bv`aaz>xgbjY^#_*4H)K4Qns_|G(-_b3naUaeA z6mKWY?J!=L`;?pfo`rb~rc=5j^T#9_XF-wEtpwqKcY;yW9>X*qby(2e2RZ1ZVEsvz zh+$xKQa6Kdu*DcsXfL39M@$v|JM9hCZ{YIeQomM4bNX+l`iIi39cjLAZ}Ct=p#wY` zCZd*>SXL~-J9^%WA2<6_wT_^W$knze$mnP3`*L+ zYx$R+6fHay_rKxq1fl%}v9uor-%I^>Wct3Jz;{(!roU3Ov$TFnW;p9DY~RIOcKcq5 zlUDb=z?)_DOXRM=PtP+w=U(2#;~amf75yu` zD{u@J)eqOx#Z(kKih^G=dHvc4jA(K08-%E;;WKso50>TEbDUVIDVb))%w`EjE2@G$ zxe;>A^J!@Jk2?AVl~{t&q2@$17&K5-;|e3G5_q6E zzfOTBfmWVL3b~ZPaMsGSyr8sl8BCCM~Q@GV~#V`KiTdqv6D1(VA!`yJ1>o{zDYs@LS<7u4#@%kLsFqbkw^ce zgr1)Vb->qGmtOgDW6Lc#oBGxSao24)dm6?HlMQn^%ygJd)i@gz_CU1Y!FVr#{R`lK z3zH8s7v^pl2MmRYzJ|Vi>5OT*e8P~@_doHZBGNRN^xl!!E&O85=o3|N(eoc{kch}y z$+->A5Y*Gmd$6SYNq+=jR8L3FT@DXwgEynn8e9vos)F4PHf=H_4PzH@>*p`ySKOGH zGy1+s_J&deuAi&NS_|Vu6UPhEN6NT!C7M1dFf&Jo$vcgrAsctXU_w9>{Asz6&$|ZU z$1LAn**LB@8n7{ew(QkU%C5)iFR4sap;&KTe~%1^LB|Y9PXz z(HboXl_Q7gv;Z8Xj4*@q*O|3O(xSxWL)s&(LRz)oQDNnGD6GLnBS6M|i)q4)X@Z7o zj__zQtv!E}PPq>ekGMyiflPGZMAALl8OW*1BEC-T;w+xWS$v0zeYO&1P`$1Vg@1&Z zoe9Uxmx7c@%I~{dlhI>nM(BKgLuAObc9__Ts~QWD70(#xX2@JGlDJ%_-+^~@!I%?k zJ8__b6dYdnfe6wc<+|C8j$ORIb+#1BYa+=T>c&y}^dI+B?%%&4!K6iUN>D2q0)CJO z#Un{ilcfIi51v8wkE8wo+_Irf?}i6{yB$Sd4Ot)JuS~R98usLnPb8Mk94UF`u}&MI z@O+=wJZTE)xemYUdm$8-%`0c3uSZKS9lveK8Cyr92Ow3khyM)0HVx8!m*Fe~_ZWC;O!om$UArY*^Y`yq@f%ARczBq?o1QZS@uzh03zNJ#eN6 zMlv1Z|EcA?_ct7u%6Q`=NF|d0iH3x2RD$BIqf`lA1ujbPYh4NQv`hPTmH^U2Ytbl% z@zs?Unw`sXP$P*eN=j!@RD#Zi#-Aa1AbKeq&V<*sPiPA3k14Orp_jN44kWa4(d!`& z(UhYVrmrs>DIKaWTt)gSru?P8qFVWtEYtPx;6vhQl#|b_Ky%5{7WJWmwIpK| zQ*v9D%(6L!s}?7m5&h$m{sPc<{MG6IwHI#7W*_Bme5;3(*dS4gn8Pua4awb}TT^8DN2QHZkIkp3CowRchVPXBT*yu4co zTQJ_=3Ga}^vmm3|M&RN6o4d~>h8;x!gs3+HO1HQo9N#(yZ(4E&vpk7d-cHhH*-TOd ze&fInEYc?e}`5B9B402hE{SB;h!m)KY#iH>fkkJK-7qzZ;p;Jf!5QZcI-hMm}he@3TIzm0B@v8MA4X zU=+@P=|{6R9F^gsU0)lB&bQtDa~wtK3qngWDidjLtVl@m`pzKD24CO?2-p80t?%MT zQKHl;&_B@XYQ1ki`7RIe#z;%qtF(Jcr8gm(o@{b*z45ZkOD~sSW;ReCL*=-iVy4~w zxL=%(N%7aW!NcD{2Pa_T=XW?5(f_sf33^_d7Y!$F`d7%@JWQC_3Q4)p{s;_t39@C` z_gsxD=y(+5&a&)Fc0b(6=&y&{WUpvh_LlUgnHaSy|9!0#)Afi+egU>DdxkOYqhiw~ z)BY8b9h@?)-(cmRKMmbSInqiv57gs&?yjhxn^%pYOa%(IP&&V-S9$xX)gD_MvJlYru(;7`0sD! zOub$juFUoypXz^Ws(-gu15C2#!tOBR`)NlyK!qQfsDNB8q}T|@iG*&1P3JY(X&mpS z(`C-Ud9ve%;48{^h?k3xrAhUOucY@9ykkt(;#&)sAQg!p z%kT=TKw9IZ<&YL-1Ywj1Sd=_0N*NX<3X9T%MM=S;RA4!!)d)-WUcR^q36(wphxAZp z>N+!1Cv#CJ^He7@QztW1Co@wgGgBusQztW1Co@wgGgBusQztW1Co@wQ%?u47<@oVa zbkQu(ui`sRgX=W3hJyA(72k(d_>M^UOAW4k4qP)0fl>M=BH@z$bVm7eC;cyEI8F%1 zYDPGvg z84SS2JbE82WiLSQ8S=fA-c9nojo!b(G6(SY)BBh5JxK2#$#;$3-;(bkdf$n6mN!~` zQ}VVJ0T2dnS}!fi2s|kduqb(0lrk(z6c(iii;{vxslaNM)^S)TkvB}SBKHM^ zFl>mnLCdmhh}Qoctw&*&V_8POr#k&B3OGuZ8o2Dz#d*hnN7BW4_pfkB7Zm|zt*_f6 z-LepMvJiE$5Ow=ym@Gt{EJU3wL>(8xzoJp19Eas!u@J%|#)YcV%hkP@Bdt z@$3O@`zGtr`({QF`bh-N1F7SU62Tos_$TQ;#bQFZUn0y?2pQTwiO?pK@OY4Zbu{o< z8Mt2sUXH+p(ZFBHKrSOX!*db1G8%Zd3=ApC!3gxKzyi%J1DP$fG(bbjW@HQlu%g#! z07g>Ofe(Q9IVFu{83k)!n7A;_GE&R(U&E7V{~~FVL5oG4vaKbkV|i}fq9jn@;0#b` zA);1|AX_#F;+vKx-&^UOejEc%8@(S%=65Q*rpb3ItM>TY!W9t`_s3Iu=g9*99-R1Oq?HV_f)5efaUN;f?z6 z=C0wyRTV$Am(K42YNcm0Nfkcme2Ezae-7ulF)FxTW_G7%sJ5Lri)`adhSV#skVpL= z38TY8dqftIf`|xj*mE8bWm$IOpG0h4SgMPGE5avZpm&M^r(MbzB-K%lfoh4`24Z+y zqg_dnJaF}u${6UKV%Vb{#p-NC{CUg^Qe;Hx69{cSz6;Yr)=`oTlm<&3ey+@8ENXwG z_l`8}zhpGzqCMF&5hb&|go}&Jl>Cu0>B+$hC60p$OPJOpKM;2$@F1VQ5@Rd}!B$_k zf~=U2 zk*W5j6l^YmQoLY=RWp&wX<>eVo@775VXM|o#cg5rEW@VYpfP3-Z(FZukeVBRuR3XT ziz5rs7Pa4Vzkobo?h!lZz>mM`17nwY6ZN(9(0muawz!d=W~TyDp-tEA?3_cj80T|7 z@zI|L6x`)u##iBI9Ug9jmgBRKT9RFa=zE?dQdpKfBwbWbaIKIoDy;C_4J_h}@XXiE z&o+WJ*u&w*n1N?u*w1Iz-h*n1Ou{sf$f?|~;fql%#nELhMp)W<2oN@|s!k4Uq0}tp zn2L3nIDgR@*;CBEb$MPOK#jO#MMSNK*bt~$36uB(Rz!yBXrfd=&4CPo5%u>`EYWFU z8wKTa(47m>3drqSXcnHEB8@l%{P8~OhZf^+JK1ZanG8o9jX=gqAu;%#Q7y?+fGM?| zTD|Q|hI8;Z2^>h@ifXloh4(95uf;arB7F?2FKm*HrJPmiMb?WYkeWLV7bY=+|)p386o!}A$B z7*1qZ#&9x2C&LRFRxrGXp^IT9!zzZCF`UWp3Wl>7Ud7POkapUI^XD?Wj^R9pH!{4L z;jIj-8P+iLFkHZJA;U!s7c-=NdEtC7!=((DG5iI?l?+!gT+Q%ahK&p#V7P|iFBz_7 z_$!9%82*-F6T?RtKF;t7hU*zV#c%_|rx`Xg+{kbf!_5r0Fx<-U1%`iR7-0Ak!|e=r zFl=S`D#P6j_b_Z@xR>ERhHo?6&+uJ_?=$?6VUXd+3=cB=l%dA(bB13q{0GAj!@~@Z zFg(ieIKyulo?!R`LotGC!N@R?VG=_#!xV;T40|)QGVH@JlVLxG*$f9T9K>)4LmR_k z4D%SC#;}0lNQR>sj%8?PSjdp}o1#539LMlnhO{3woPRz;2g8XB%NR~(=wx^y!wQBM zF?2DkWLU-UGKMo5Ucqn{!>bs&8O~-nm*I5`=P|sI;mr(hWmwIyhM|Yy0)`72E@HTt z;Sz>khD#YPWB3b(D;ch0xSHV;W2n@P{QdyLH4J~ra4o}MF>7={=gW_X0*QHIAEe#`I#!yg!m0+xS< zi419lH=J)~n8GlPVQ+?3hJ6@jGVI4No8bV4gBT8BXk$2xVIITN7#1)b$#68ou?+1D z3mFzOJe%P-hUYSz!0>#A4u%sMmNA^n(8=&Zh7}AiV(4O6$*_vyWejIByn^8@hF39k zGn~zEF2m~>&SQ8Z!H~Jq#BxT*z<{!^I4jF!VB9%5WLOUoc$Ba23PV z4DV&w$nXJ%YZ(5L;aY~jVz`dsZy7c*e3aqi44+`Qp5aprH!ysfVKc*x3^y^{%y0|C ztqfma_*aGjhA%PP&Tt3AR)()K+|6(g!#0L{8SZ2FHpBf4-(~nd!w(q-8Gg+0Aj3}? zY79RI#CX;BMZt7`DMs|KV&ABSc~f*@fEqu#Jiq^S zrF9>R(Da61i%>XRx&!+@;7uE1L5(@A8G}#jVL3~TNem8MdgIe~VvF73+CI*0+pO0e z+ZGNVt~DNh*|}|}wf!8KPsgRml?`K5+I@$u4m^s?T7;Ky)?9YBZtayQ0!YyIb7wf8 z_xoVI9y$18+;jK_k9uHr1*ST%*Vz#>rLOnLmsc=3t&cT zT19TZ>F;FKo2sx`k7jNTyw8MJi)k!;DAg8I0p2hshF_t2;}bNTHw6%3`beT|Ni<;e zD?0uC>3d(Gh$|9p5l?*YO@Afg3BswDBjY0S>k7C=vhtjnijxF@(n3O1F$-idpN9OP zm}X?u?r-ICjzaQU4dKHRpD|2*R5`K8$mM*L^5-{wM^?S*W>iLtsS;3@tpabdY?rCG zNOq}g7r_tTEAR_QrUA}}FGJogqAhKlH=1kME=R5%sJn31NA$VT|NL>v3#7`02|8v* z;jC@sk6afzeRK21A*_Oy%z;4v`=Wd}3Le|?EARyajsn_HgJ{E9OF6n(ye-MWlN`sT zmvyE#pM#&F)UfNEW?)tH;b~7e>k^e-NoRWVC_Q&)dVH)#b!>WlK!)#mVdLUIqj(PW zDTFeE88gm{pW*alAHo+l-?bX{5MX{{GGiAU)w<&bB39NNno~L*$6CEw z=HFXdcj($%JvWrr9lqh#Yp0ghg>Lm+dvkdz&aHW`%x}728`iSwzAmlx%qvel;D56$ z^+4U>Dc9awTeQ=EyexGu&x|aO;&`Vr|IV`d>Bs%8^;aILpK+obn~^J>zVrqp87}p; zCgz7O2wTePO_?`2r$r@m4{^kVsV%qK)=tQn%MxB<&UY?%{ zasw!z0cAP%Z|2l}BrG8d?)9>`MGb}GJWcj3zxU!8ji9*(G`QF6qs;lYwwU(g+amF*#k3c1B;OP?aQ>xa4Vqtp$P8`HZ6Dj5 zsckql99pj2nwK;oskYE>dK?tKR&$H#LA+q*DUOzFwt71e?I2ME37PfDc&^`491p4{DHF(swG>3UYCjJ6 zayXtf_|CfsO;mVNo=c{%j{#due{__k(ke zWns(mi=d0NX%s1b-13bR*lmH8ueTF9CUjD~qp&Yxz$dz`M2{t%@S9=NVnnB##AEFW z-JR}-#VD_`srlL*s}A{1PS6y+hn0dv{21d3x7M4^hL83Uc;HxdoQ^{Coi~EA8DZ1& zRN{Xi)%w9!!t4t^Iaa-{y@~7fv}>zM6wKFQO6w6M;+L8EU>}KYW?SR7XUl?j$;wphb3*Y zb`{QF=*ZDpcAySgwH?wsu`tk)ti1?Fvw_;{%cx~^D_SXJYZ)4`j4u)w$rYL^5%tlY zmX2iY_ju{}LPxJX2p?{T%9H59bN$*l2{$$$kwAeT?fg9f72lt3g#vGJvPGogiMRNm zT!jO^XrDzlOm6=gxRE^4LA>A<4)RFPgZ5@6bO?Uh4>c#SgbJ>I1(&|8pD1_x`*@M# zE6Zk6e-JO<2>=yW_VP+oGG4U--=Nk11!#&3nc8~kpbIp9gV&DFSAm7E`pzz{Kl}KWlf;tdZ$0@PuQL}6^qmU zm!5MV7GLm!QLW8}sc&K^`%*=Hc@RdkSlJF8wpgc!EE%R;MAJ1aBRvQH5u7Z3&qyB( zo7n3@0UTGp%%@{%)zBhfE%gc675;5ore7h%btR@hUvnZ{d#7`b=^$R9H~$}7Y1X5^N*OdNz%zWu2|UT_$Kx zMSH>7)MfACm-ZD|1E`1N>X10z^DcmoSaraYxD0>jL7{6Pf%OqA7FOB<92sM0jmIrg z7_RwWbrxm41Fh}*=mO`PuR49-hUMcs;g%VBpyPa4P~ZUM2akMTSaF-?iDo`F!D{e;e}%R!}ht{qH{`_39EvwUa-mYm7Kl~-1^*lOz z*_p}mG^Dpb3xaU|uMhy4X-Gc+cl$)h0`@|GfOn2ZdlSd$IDO_s?Nj6hFGj_W2Gbji zL%L#yvtdJ?1NVVC>%It}9rzE(Vf{O(Kh$udf7ffL`|=xskGQ9YiuRUnX+x)`;p+x_ zgtP8OCa}Ma1{KbRhxQ{7I-5t?Kc^5xG9fbRZ3uEGBXy2^@dI&#MgcU|rbOt)MiZ|- z9QE>63dCsK<*Z*$$v|Ek*t2xYT1u5C70XxRRV$=y`6UJVMmN5+y0A0I0lNx8n7v(v zX&E+Q(zFZlVfcfaTtb#L*yfINizv|sAW&+KaMmiG!qui6eQ#hO*R*;wRoc3|Hn0h& zoDsKZ7#GpGw8@&(Eq*?wGvu8OXFU(A1AmZ?rya_?1T-VE7M)A%?WeI-Gxm;ZcUi8NS5uafZKSxDv2gcXj~jH2HMSzr#Vt3}%%7^HtLw zEcfkAkigwhZ|v6&hgVJKF8a#$WzjH?R2#(nmthz?X07t+yj<1+x*+$57zzXp7obPUhzDj>;=l6rR>Sdwkx}z zvcIjAbe}4Fud+8Od#$pUDf>ocU#9HI${wriA`004k}uu`%3i4K-z(du?9Zve z2;ptTH#@SwQtrdbej!8pzsi>I?o#$nWxuEF6UzQj+25m8;qfM-b(2k(ERj84*^^az zw7G};M=5{$piJ&`mHt8%evz{2w@nJ~qwHK|4^#Fw^cob-lN#7xtN3nH^n(?i%PjG7 zlv`eCCA|Hi?}`2*RqlG_UZmU^%6>@skCoNwU8($UQ{_I4)<^N&tkS(**)J*kMwPEV ziVqhnx*SD!m9pPMii?XwozfZZ>D*HoaSE}#{%AT$GQiuM7@^x6*_bU4?Wk0X- z6I6DZvbQVxSCrkR`1Xk6_T9>+F#{g&V&$$=_NOZT zFO_{z*{`Ya{mQ;c`L9*^yhZW%O2ywa6+T_r6O_F`)z@K_{s84aSk>zj%BKDwkM|5! z&*!Q5?}_kL*(;P?s`&VwvgwaWqTi$BnxNOxc4K-{z=tO;YJkRN)I%dUq=OD;3`W6`rK* zpQ-eZsPdF3{0tTD#`K-?^}NDMRp}g4_7PPNXQ=oeR^@jo_an+aQ`tXP_6$Y;wW6n= zIVqi6lwG6h?>kk#6y;Bw`U&r_;%`XVhm>trd}&qrsOTf{Cn)z|Rj)Ht`6`wDFrx`? zg9@)wbPH9y#mc@{#b2rNwNdfQuJW6y%08^(Ig6ta-WkfC zr0h~t;(u7t9ar``mF|No-S?IKXO&*6N`JkI=VyxUe&wE_`?q+mwB~vR5cM`)@`Q-n&$}&Q;;# zl|59|V^G!W3o1QYnWOmoE4(k1J6pMv6y8_Lf4M5xDi!`DmYs;cQMvC^_HKoLwxZvo z+~bs6MkBnETzEZ-uOpP5&(R9+aAm)!=qIW2%~bx26rV0r?&&JLMCD_(ijV%1!{fCp zd#bX}S9ZCwUsU<~M)B)XRbQKwo=H~qJ6PFvW#6UjWy*e2rTaH!U#RMp|2RiJXtNgO z$FJ<&imyLsZ|HfIkB^l5n6lqj`8pV>Pi4QW?2ncGsj@#%_D9P8MA?5+wx;Y`Rs6Rp zyI9#1mHj8hhrcNI3(8)h^4X~DdzIaw?0RM2r0S_w$?F1TKd0K&Q!2hERXXba-dxx_3 zDf?4p3xzjK*^zV>sPMTFJQd(l?x&S~g|Z)w!_(e`<84clb|6#Q!S5B`Hfg(F zleTzA+Cde6v$DO)4!$kJttww$mCv@{Byu{9PZ-&Dy`b=Rt9T;}>S1}CuaNQlRLa{l zSeE18UEWAJe`@tBZvNNGd+DVW3yN&j*VK4yw_Rtuxcb^#;bS{*wN#9Qp#<0leEQS(srCD?Z9MdH_ecCW0kbsmq|Oq=ZM`l zTejbSwSBl$ye^fFOUZk+^0z6wdV);Xs@&q~p0$sjmN!z4pGtXy|Dp0m%K1~PU$>IC ze|!D@MD@LUrj+N1{_Ckc8&B1K|Cf}v`cFM;zlQ%KV zmgk>(dH>z={8KOQze}DY<@~9Q*Bn3l&*E#>`p$@Bk~@}5$jQ}E|)lISn8MUF@n zM!DR9fpoe^6DcMG_TL&36O0K}6_+kJv!~;B+Oyjq@eL9K5$^!ePxMB7sfe+cpmkwN z?d0K^B1`lUeT79>MF!_CStJURpuKgGS)mC3K%;$pr|m80e|D3!ao9J{E8Xo<&h5vg zeX{ROH#F+F4}0|L>OPpL%(FT)#b(=l?V1J%v0+%K1~%&!J=g z8U6gfrM&+xdH%mr-m-sb;3EX>3&uD_V6@Wh^TKY~-|GYa#=9)_K3(5kZ*--zbw%sq z*!9_w!0(Wpr`v61bdmTe5_Bp zi@Y1ZP5Sf@-qW`GLL6OB+wMA@TvK*>O1DX0KG4~SxChU^IJ%y)^o6*5_O#6(iA%4i zZE$rQoudb3Bb3ax&h|iV2Z0_u+vDob+XEUxX^W%lsle=yr|V(GZ;vZq=ZyZxGaQUh zuZI=?zOLS>&an*}e>9x>@#yr~ze1dX!0`?a7m-Z?`?oBqE-rr&9^_gf|m( z<%{I6CrxQhH|g~xyDxM@*ArbhtDAiGL>DgZhK|nqJJqwS8#>#mh!FmMH|4|Lm{UF{ zx}o#hPDv&Xc0(7ipPFt^TW9-=V)uY?mSpgURp+fPAv zvidJOMfq%zg2vesPLZA?4nN{7I|ZFLf*5C4bVC=ju5l7!o2jEC-Vxskm25KdHv+uG zJ=Le6%Z}jR@)NPCypjBox^BEm z?qfUtrEH(pe@L5f=n1OuY~?>LF5G^#q<1QRS6sMPh0j#}^WwtAHIjaz@?RMj?pEQA z%3tP6mVxu9!q=Z9+@<#EHLLI!lubONCooH<->Ur6;=&zQ%JBWlUs84IfkqXssqo`* z^xm%|KWV?b+#)U2>&mYFoTbLD{;cNKDu3FJt>R(Tu)eE5tC~&9pNI)RoGQGqM4(Ij zk`t}UpSH_OT_xfE`1lw6GcGzQ)2phYgPVKKQdieZ~K+M z75@5q2r2)8QGdxP>mgYWge&ohQV5&!@2pQ5YFGaF^*N?K8!Js-iqU?lv?-3r^Tqc8 zobVvqhy!*eevZm~OAZbrVN^Dfkt&2$#f4G%s!+Un2%D$E;Kk3H$jiUkuD+yeIVcIo ze=Gf_>@LZI36+$X}? zQQ_R1Z=MCeYp=PpsBmoc+}RxE6hJccP#fU~RbzcHL5%fWyU>$&%dO;ReJlZ+AVkzJ z&u$mP;8z#*TL|I8J%C{1*c;|vux$ci}ho?>KH#4<1LK!V?1w+Ulrr6jP+x@M))l|1Np0=GDsQP0GW{P zyhV!^&7F;6K%c2{)OhCPO)cg4T4VgK;P~3~epM20e~h2R3&Jlj66q|I={5~W6yDR} zzE-+zWr<=n@lEo!kodL%ek9AvuZa8t@YB^nG5HDntKJ(8Tj8C}e(prkd{s3QE6PAvBs~Jzjs^4Rhz`-N`sjCgH}**qZq@bMowGlAjxX^pCOf z<9w3;sh*tk)5RFiC1T86ml#ugu^3};itJFoU}jsNfYl{L6Ml@eqaF-66X@Y$tLXbc zQYf*_=+4bFi_C*b!h%EhQ#@v2s_G?Zew~#8Jrhb0xky;=HVp1120xk}N)7gEOAeT- z6Ws}RBjPvoOA`I6(nP8fEE|B>JE%=~cmHcMF_@)pI>wTlp_9wpZ)qBNfH?clSSG-)bVx; zhaU&dL5?4S0UV-<_tVE^$W0Nsh(8zgoQt~6t;`Jd30kWSeG)~Vy{0zQfjxJ4iWq*R zml$#|1u~T?Qs$;XrqYG?H$r>^GYdbk=YltSx1m2atUbWoYfB8E9xaeZ59F~5c`fcG ztc!$L0<%uh#=6nyfGdD2;&C&TY*SpEk5u7)NQkFk5);829`Aejmx9Yfzl(YH8V^sPy%=C*}E6rD)T2Xw!?jw2uJfHD_!uVVhedY=)7dcPK5G(q;}M zsk9viC5N6uw23oCzzbH@VO@>Wguc_cxeZ6!lN)szX;0vvxymYn_*s1RS|RfA^E>fQ z?>1zbMCPN(L9|3S>4V&XW-;(cvamqjQouh`af)cZS%?!bZl*_lAzUDw_$#`EqdU~$ za~ml%x^jn@AzQsfKM&%an~ZpqL})9{>B5it0hKSk+px+kR?STj%d2_`Z?T!$S+xO& zb)>(9I$?Q+99KcEi+hROLM6|XchuFu!YDW0xhaV#2g!0O`eY&2!;JnX@qyZA8kidI zPknbMo}s@{^e;@Y8%Csw5uQ{r0(lyNJdHq}MidSRWe58OWPZ@L5LYhv5p7?jA8L$J zZlK>9@pEeKaUovd^dUF#ew0_{O}e-pcne_mM{waE>xcYMnb(S!7owi|oSGYQvlqG3Q{KxN2Xj$SQaC6Ke2RtPmWBP1vkqqq@tyTe3hSGk5#aAjT#M9GM(fZ;d`V9f>5yOZ z+$@Y=4B|E%G;u+wi?h&2WX?_w$(|hX@%RBcGQ%J?!K|hD$Zub7b}z<(I?bGh=;GGX7>1g} z&`0}JXSl5{iygd!oD6`T9$*+G(u1jOy#h2^kuu#z<)A*hYPc{T$rE;iLF|GteyK}7HgA%z)1F7MnV z5x~#u6HYUTCY2ApTgj~5FxV^xLzV`kEe(e34lcA-=bVv>_u&}l4Cq!)0w}Lxb&6OG zIb2kgByupm$U*zeDNGCIY)BOw_SK?KS)gzKJl3N&<)v{F)%m;<(Kf~){!nBP_HQMh z^lk$V;>f6EtzggfB?=#On+a_k|8I&an1zZ)@6H*UB8FCFiJ`@rV(3QhP213$x+&e6 zR7XnI92Xcw-!g;P5Q#(QHe@7-jM<4n(pR~SX3^+@d>z5q5PdA^aQs&&-hc@)E$MJf zybu=a58VoXy`KRG&&Rw!B>OKLTBbzRBXTK>zkeI-tGSApQ=+dI5RYyJZ_q z7JUmNV}c}MyBr5S!mPphpw!3e-3BY>f=i)asZ2apNftI7+*l5?o$)EZaeg$GLi?hz zRF^OT9Td?+2-nAD7?vW2d0-$D!ypsG3bR6egBgLGd=thogK%n@NsXo>6|t zF6;9A6p;@;<<~G>n@f zLVu zEm5SQE={OsH&!`T!yKWwh?fWPI|k~S{5HUdA7mQwZatmMYdZ8*8uFSdhSWs#Rf-7U zkd5i9A@eF8y*sA}GG&-9;%9Tzwp|ckDc8M(&0`Rs!05-|F@7xn=^}K6L7e?_oPo&W zdD&j|eg=nGIKaPbl%3@Z;|wWN$-=!6_npEVSNYVt4LI=VUey0m@MQsLZw23Ij;7OR zE{>--MFbx-h;!G_;g{fBa-v8kxry^PTn5MIzT zU+03KRVm;r`h!ZvSC3h=-C+>ZfV-a3fgHxVsqC>hh9RI|nh~-D)7w%5y{gUbWLFY& z2anY!qOT1qU6N-OdHWK@!0l<6f68`cyBB&0CJpU?($c$ghG0DUfRXj_IE3YnP86e& zHqF(7sEgBPp=~i8=~d{RF8;`CoS$K6q8M7q{j^>7Tj!(SD(<%5YNWQZyO-E~&@BF3 z)k|yuudR>L3IO`|Gg5@DDnr;X|F_lj4P^u^ZRr8ocW_==ZY#`()J-msI7@kr<9jOir?Vr^j{^zlIGV~hmROUk@bxM4^l z#*kTp#y+_vDWc?vRgA?!Ho5!yi2k0w$V;XO;8yJqVUBQKP%j9N^+TVf!^s(gzS%IU z+xF`Ke+)Jg#ti)gIA3jrtmTeR5#tZ`5u^6?6~nh@ih&qsnyUtgz>5YkD_{`wjKnw6 zzu*CI1aJg!L>C<7Lq{X$QT;KG>W6t$7UofzV#HxJkD~eAQsiYunwW9WB3#A2F`mc} zLu)XWXyci=+t3&N*letURjW3Tsn!biq3_-<^)~)F6BBXZq?OiDz)!tf^~F2}W<7v) z5&ZjraWC{9;cre6o4Z+ep>QY6ERK`fY;UHC_tVEE#|gbe-^!%woME(%AjkEjGovzH zoJ9Z5iFaV+e1+OrtRIgRYtW}o>n)}oNfZ|xG>M{pNn*tIWHAVHfDGsz>QnLWov4I~ ztdZ#5-1ZSiB<-Bj%~<=&iL@0r%`Pac3H*}!t-rA68igNbCh2GzyWvuIa$h(MH!i4k zn0U9IM$RGAF^5dU91?R$lz(^)=8*kOqW@B?8&ylamfIhBfllbNF9UUG!Q2aLS{X+1 zP#>e%r_#~8C0|o{j%48RJjMsb27zBBMdujHD1v7gMK8Nij5bL*(7WZ>1!ErYn#VmA zW>Ha$aSX-{+0acip2-k+fC78^ysvy37D`kawi!$99W5PkE&N~syBUJ8(2 z4#p$-bNh0 zU#BwY-LjuL3;oo{Zqp=vDCf;1^>e7`yqWc7j!ERq##orv>_}e{?`TYZxl!B*vzF3j z*(9Bm#(vx2zn=V=&*_5P)|p1}g34pOo8pPm&^lvW{Dw??2SK~atV|BdI8koI=l&VW zZKiZEJ_LVg{W;bjdG(}-XMp!5%ml&(k7C`l&H?=nT7fuX=xL1IjX$@`O6caG`aZEe z9dj!DzKlH5I-+}qQEY76(YQ+=ZWw`eHt2t~#@3b@kZS=_#*qHqC?iY( z)c~-F>sau2PTT6bMso_Y{(YRe>&T|jNdGpuQ7_07}Q2!A_i~Q@|)E8L|XA0^;NpDm`-lcxGi?%w95tkZ86=avnt#@-jREfIn zpNMe?)=;1)gTTGmXB4X$AL*0K#QQTJ%pzkMcnY&Y#jSVqI%_4?Sy@M69#*KnMR}4% za1r!44h{|x9m#Z+T!Yj58)lisEUblIjUAblK)8I0rw{;__j8y$`zJAu{;-6^DtXiSbgnK5>9 zJPJJyQ-FD7?ohKBdIbIK!CoSLAL>nCtz=z& zo1kwj7z1oKipyd4DSW+K$_V5-vfkvux07u~;dsd?_Vd~z$!e@0_YKe|nT5$gx$YwK z)fO;{?_tJa{UDe0INBHK3%$P~oA`V>_*?)!pT>MP-~e#n!BJx7+>v5X)flV=jTVCt zW(i@IhI%m2`m13C=@eJ)8D?Ndhz7l?$ zI4=-ByzAXDG&I*hoC0wQ#3>M`Kpc9UsO~^pVtIHpA`j5ZuNp-o%ojXw!JI(nHe8t~ zuJovN0_qP?$Jxbl49NNde6+V3g>NV1!Xn#=-W}~j^fXnd(>INx4CZmBLHWD*i5MKi z0<&0vw9h%18eMyp>n`VXJ8x@(-j?eQ-K;-D9-8+VMF)%xbwh1i?>1~s6PuwQ+?c-& zDDEo;JfL(W#!$>h=o{8aN_UITjN*J4566YFKxSk8kbn-yFeph3I?P`<+{t$6-NA`s z@R4lDLO)@{A!Ey6woqIo3kUnNI|qkTwW_>Qc&8if53~Y!B95MQQjOXTfDu|QtwGWp z0`s$`qek%_j16nqoX$QgyDvFr6n64MmML8C*3&Q_P-om1q3=mSTcNh?_`)czfmy8L zh;cK&5=HQHqqw`HbL^pa8^$Gzaq|+y>5mQy4yev?XS*P$6U<`55wj@RhwtXwaTpB7 z_ui0E(6#LQR5~$kN@t-_+;lUV~bb#KU zb!RvJRA%t4c}#-%3PwLRjPX-=j-mu{4~!m9?`OzPgf3F+>#@4YEqRW76(oq~VA3!j zkmHtkKkOUS;pF6*L_b3xq2E8_hV0~yN)e-u^cKUh_A(G{#kw8G{(zT`kqP1!m@1B6 z#JFSoZtxO)H|Ogh^h17v*bLL8=wjR~8yM%<5`-nUE3aexb-a%8S3GnNNf5t*(ep6I zPvNxv6YL9X?Fy#EJf!u|-}K@}apf`=i} zZ#RI~Op9`&KcPM&#-Dfy-GV*qVhc><8;Ra+n4XBe3UdF4Y@gUiab<#d4<_EZn;*2H5#msjez`&fc%W8l@WLsJ{_rHN`{mV?EY{^;q(|2A3+V zgL-DbaLny38Dyxt0(5j{OjE)j=;fbA`wf}26{JRPXOxH z&4jeJ_y(8OegIWZ@hC zmPhf;2XQ{L7QA~Tf%gP+dPzo+g#At#^!*n3vjE?MZ&wlgcY%8xrUZM489x(abl_!H zC5uepW)@njdksj!n9L#uV68N>y01Gzd*!dtzJHw{W`LG#1Ep1IboHV#4#Tx>Do>Ms zn;`bU_<=_@uZvP!mwB@rsD2=8={1;t5-stB{V*>qgkP2k<=l#Xdy8Nl!DYdoFjW@L zH|Ji04z>S$V?iSGc}M3a3j1lO_XXHj6f|OE6~Xc^&jK5Pk*B%|_uxeAVf|wLoUE-yi_f1bU@_W~Ej-H0?{n%{uAzcUT% zg9wAMuR%EIZCE3qF^Fp{cmzY^8TXms6AX2&tbwa*&`FhSQsbF z&tUF?`3=k_nC&q8VLpfX0VZoyqBslYa+rlMt6(<3yaICorUT{#Ox9@hg)pTsSHN5k zb0^IGFi*fd5Az1hS1{>gFqVNi2j&u(t6*wjmcslR=4qH6Fdx7ihv_>uQH+3bz+3@S z3$q%g3FZZuw_v`6NyX)I{b9z!Ooq7%=1!RVVg3NK9p)_<4My0puLR}{n8`5L!`uV& zE118)?1T9l#(E~=gP8%d0A>};Q!v|MK7jcFCa*A2l)=n}SqSqW%tn}XD5n$n29hmU~Yt23iANW<1o*`yan?mjPaaAF#u*1%mkPzFh7G?4ATU& z8RiX`&tQz>z!R8ZFoiG^VP?Y2hPf4HDU2Ux9n9k}n_ymt`3xomlU$N0PJ=lMW-`oW zFgL<1fw>pv_b@NO?1woFlX5QP6{Y}Y8jKs}CYZ%A55PPH^YZ`4-uJ-ARaN=lNefg! z4T@S6^r4_ZD5QVDfc%*>Nl9p%4oO;yf|E%yX@(}5VP?{%h&m{070~zxt%@4|QW4## zs9j+-?y6fA-KgkRMa?Q|ch^4=P^;qd`<{Eg_x+nm8&`4N-*!GZIrn?+J@=mb_uY5j zefNRB4f+`<@m$m^Xa(pZP#5S0pld;|1>FkzBJSP#^pihAA2Hgw#chIjv$6bIr12ux$L21wyPyuu;=;ffBK_3Bq5%gWq{h%cmqMd@C z1v(#;0$l+b230_B27L&0C+N$dZ-MRyEx8D5jG%Kt8$nsnwV>C6-Uj+0=nJ4(&>ui2 zBo~`!gIYjoP!UuC?E+1Kz6AOa=vN@qj6MuH9rPSfD`*SoYS2qTyFecV{S)ZBpkING zU5z||o(t*$jeuSWdIRVd(ECAmg1!j)KIneX!=T5vKo7JE)DC(9Xaw{!&|5&eL7xVF z9rOdx1E58%&;yN|+szL1A@f4>Qj<@NCf=BMN#YHOa^jdoeFC?(*zdF~ftMK)YZIM` zb%}&|QQ{@$io|uMVm@i!lz4pNF^RFnb%~M0MB;|Ts}naSZc1F6xF%6byfU#q(UGV# z+Y{F(7Mc4ER>jPb<|y;>#E!()#K*8R{%MIS`+Pw3leQux%!C7CjQPGo0u{`!<&G!c!Tqa_Au)caLDyj zaNPCx%t_|d#ETO*<1L8pL@x0m7Cy4mpSUXVD|54HG%L+H z<~ioY=CO(65>4h@^Ct6Qv)i0!ereuoo@>s>`wK5JXC)dEyUc~=BJ*oAka&9H8Hu-; zq!~`U)x0XvoH##mVPbV+OQPAdn)^(fxy7t87n|Rh17OylRX0Zq4eB4e7x&-oCZ2(d_ng-`L<_wkV=>e|~f{+h6v*!olMHiVHi^rEIB` z%a5jW16EJurJ=F%Kz{qEkwZe${lmHJXgNKSEf3`fR1|iXvc+vkKP1|=JiVfZmKDc? z)zq#|5xP;$s9sxFS9&;~8Azk7(xq}SH@c-{Qf=$g#Vm#0ZQb1+8#)7FUoLM$hds6z zbLH$j(s=mpu2i}uGu)qUPUE9bnGqv`E!oj*F@rc<4l<>()J?X(m@P*`xC}%?!2Fhu zRC`-jdLUcsFXjqmRE@L%Cmzg=4utWRY&qSRE0^Lj)MiLaLXBodvT+$IPU>F88`h`N znSlYcqLD(8je>=4qZ0qYViuXJ3c%zggd}yy0D&!{Qp%Pa52Dk#Cf(Ar8AY1S6w`yl z8C0#>Lk|>5t~3;r!Oo}zT_q|&s>{>J=wNQV%A-~?2ygpcBy9@Q{pC<3{Ua>=4X_X( zohfeF7NjAPZJFV*Y`VOoKr4|y+n~Uuh&6CXh%BQ0NHc)YR+4tgmgZX0{;^UyKa$2v z_Yq$=t{%%tb8+KnI5rtz!`+H;m2)Fm zoURaw1>G|@xTAIo^c%<)%53|Lh#n*PfuKC>*hr7zJPI3~KByJHYaoVVb|k+o>uS!o zMlKRI%eMG}BJ<@^K%t`a<%}=xCH1H+HAg@ z4>Ik`OW9#uGo!`>#@dDix3XwM^TqR3l?{+94B;veX@*wr`tZD7HLVCW-t6d>+-OkE zHqv~4Yc7kzbyuQrWg!ph?aYmO4rB*2W5Z>XV5zhn7lK3hrpGX%M0$%D;38oXg-m%U zTI%sGCQ81!q1lM*G~!>or-{!zRAyph)twS2lWB$ba27uYoJfScYB2+L1Vf^v2P>d-L zm!v|GY`Rn|7b4j&j}+1aL$%Wozij`(e2b;bJgP-pMciu(SeeqR)!NV{ zGAd3tcXuxLRlDD3^DNwu%s7~SH~Il>>tYHM$-q2 zx7t%WO>O{p6}j?`^iXazC}l}nyOVVJNa+OPAVSXGgGrMU;NsGlE@ZPs8%0R!Pc-F* zM~0ZNUwCMW$)huXuxE{Uqybk&9&Xi6-(7kg#>9$+5s{<^wZS_fI>d6=9~mM-evw&B zSYBn9?OCCjN7W?M3H%9YroSIe-Da+O9x9T7T#;AGvA(NtWi6%4d5kZZN%~6CSPmLy zSgyWu2gI8>)r?DV%QvdyV8(jMbh=t0Bn=e$GyOwZv^>p-8!v;Yt~BtH-g4Nq5n5)# z($qsZJ`J|FDC*BUacN-v`RHA?mAT3CKt4T`867AMWwvUI85q;522Y3QuG#TI9)*I* zFK%wrBbYB2a~YkNV_d``U6=@^OJfBImDQH*-$~fcU?)L(C8WO<2UkH{F}LK)ImE2$ z+J*ed6yS1qd9rzgz}_q4mc+-QfgzB^raz+BZ)G|!u(*0EWW{4eT$fz%AVwz+ZbYm6 zP+l2ZD87%In1uVGB$6!_^Eyme6uJQj;q>OS8_!L5_iX5Dv-e=R0lgJqkm%?j!a=_f zF40Lx0^xFm5t$dFurO*oCL}JCL7R@<=!rI`L~gwC z6Q(?vM1%tSH*z5vmS-?e53BogC<(PaTvOXwEkl`-3>*Ep+-`CG*j)p2CDw_JayZvl z%oKN^nR0xzw~w3zV@&ev(#mc3;jpWjcNaA@XdUx$hTs5FwUJB1p~D|<;y9h@>nmor z1w#=A0XH_Gn}j06bp^{1y5gs?geAdv&pUu%u(N^fWi+^5l#8J>6gQv=*2^7Ia0?Vx z7`vYonJaQ}%P8pXo-B@yfL2yL;#sj?IARG7Wc$Xn_#{ktmLixHEYA7vqr|WJ9!jKD z_fI06@21E3X$OwZnyp{xW=C+1kwnC?!NZC|nczK;tD;b2jZAn%&D}2P3TwE`oliN} zzZC)9jZ|1E@QNsg7j0~Cxj)iH?r2+);UesjF6a`YRf?|iSW%=6)w-XNP_^!5oV@xz z#`#p;!&ndh{zXve-X(yc`<9R}G`xt^jUbWbtg6g!&y|Plc!;+2@R+w++vx-LDJ#5vH(@2+x7t z@2+mRAzN~3AY0Xg=gN0sUrtE&>Wz3#{||WoCM3HJvL%pBg=BX_HV57IknCrW?S!n> zZ?~k6-|NY@kzYZ+hP;vdiR8aWUgY-^@~@NMLB5Opdh)BtH<7O)Ka>2alSB z)lu0-K2H8Va*rIxNyx9V7q6NK|0VJLIJkNaJkJo4M zs|+*UtI7Y7{3_b@IF`c(>YYHn7m&Y>^4}8gAzw;4USG87>>~d@c^Cc9C+9XZx2>^q zziuz9$hJHDDtHaq@;hnIEcvnIpJVxao_vPo_7;}oyO{0`^xsK7WurBf%gEnE{vz`I z40kQ@b>u%`{68nZkNhk2-$%Zc@?ErZgynlB%lBCNuP4X0U-?zGvA*tS`cJ0(B-ZQu z$y>=~>zL?W!1!O{%9Z?;CHd3IaZH^2D*en?3)5ds|8b_bgZ!6_@5%H(lKgU} z{~+^&EnGI<zR(=-ae>3x+B7O_`a`NYsZ>0VM)Zaop zLSAJ3{ek&AnsU4{Vbi;xzaGVd~-NQ5)_Sruzn_doTG%nBFl=e>dZ~oO;~WU)jj^dKu%nmEm5; za(y}5FSc*n^tO}lApZ*c!3UYHoWX%#rAVG9znc7&Y-c!{*oJ!{^K~BmpG*EU*5fSe zmD94yFKFMB8184pONo!9UB9IK<;>Ts>3=JZ3Ba#1LHt_syBQv@D_VbSAGf@TSfeo& zRW}v9mTmo?MSiMnThJN5I zE^@wtP??~;uOYvQ{8i*zSx;kZuiMD~p8e`J#&;{z+3hg-l`Pi}5G%uLgS;>JKKXv~ z`^g_7KOXls^7|68)34wjMSex{=aEk^{9DN{r2JFFUm(AS{3qmw;hs+J(%DA;0T+%Q zDdG>4Kac#~v2bf*cwNWpU^k^X;fU^Rc^&rPwb_RN=DT$lXUp9?uxoFmN1ovg9}$3_ z{2DyBvSPDI!iDrcytu18+>$Aj$BNk&KDYn4$kt)M#aLm@*l54(xoI0M7xBf5yToTx zu2>$+3~wCWE?fG{>yOwtDo=ujvjc78@`w$=kscoN;IkWI<-FdH6Lkw~hT@5fdh zQ#hh0TO7%aV%5@#Okq(+i6CEGlg)^&DJ=Ei0SjJExO6OA+>y!_2lK^|%xFJyF^262 zMN?lLd&ht|J|yiKlJz_Y&G$qa6j*b~FR&*iT63jLABxWgUZ*R}E!d|}GChkru+WT$ zS-ESn-RrPdt6i3euY$F$vh2AfTXa^gZR_f6TgRQS<^nU49g*Ei*c%L2|46}LkFdB3 zDB}yoh1Dx#k_PL;{X;0nB_^G2NtX)QetDE)AH3ngAzrJ8yi^{rPabrc6we;Z#rzK4 zm}54zbZzYH=~&;kd{v{}g^Rt)X?cuv&MNa-iG5U(e2u!q48)h|#~N@h-B`qH%B6U5MCYZ8f#HomX~rTdtTN9g(JB zkfyBsGejP1<~b}&O65uUV)1qh>Imu3NAhQPsXiS!8PE2QVL?8k^iyq_hmpe;NFjNqH_CUcPMkGL~`7Ul;ig9%3Mu4+n_FP(+K4C*p>g!~Fk9 z37jdPuDYUx<;>!?;+g&CFg{!!hug#9{&09aI6NL6z8)OD9{$bD2l|Ic%i;OSVSKne z4!4J3zJ9nr9PST?`@`Y>;O^%Sj|YdxgTv#&;ql<`c%bW>@$nG5`q4dt_VK?IcWzv_ zZrS=)ZtpP0;_milw|w2zvdVf37jZ{xTl2D()h!kvP-|Paz?D93U)I{)y(}&^t?kRO zEx20V29H__BCn;;EOOc;HVUpvOyq6d%U3ixt6--l6Bj$XYRKEHU2%`r_BLx*TrPHm zWpJ-J`>h@9#BGFOifNHK-VLnVQIimS?pijYe+1X=UtzI`lb z^=N5c-?naDN3$z@#v2#AeAkd`ym1eg@3>s@9hXUdUHG`+K|W!xRF9t@m(RG|&u7FV z6n{h>Z3m28${z{G%UtZdctdy3xvQ25YdV+A$yYQsE|2>#ysch!OK6S9hL8EUvZ0Yu z?$X`j;&^?y;I|GXZc0s z-ED2HK`-!1gkqx}<+Fb=U5zj1TpPNSU>@AV&N{ow*^* z)=)_9E=6&9x>zGaF@Kg)FizR(m|tDno9|zx&iJdR3YsqEAvK#`b?~5FqfkP@iorq;;MW`)g$?;PCeA0neVWA%eu}UZIhe2gv-x=uJXV1 zzT;1|UvrJ`0MIc#wzwj0&?0i5<)Wa@K zUr%;yO1z@i3=+KxxR6V4KlNZwM9-x+pWYnxurJxylP%MS(lgt%T<}_gujh2EoiI%7 zlwEbQx7FEMPd#jdwXX)qHsFQmHBb+>;Z$_l6Sy$FB=zuRX1m2coYukY+)TYEQcvs; z>o(7mzXJ7^QcvnGQh$h~ak{$xD%5*QNH3Be_7#g>ygYYN?=0wvjY3I~)4h&%Rv;4+ zfBEgEUL*9xJ}J*6=umpo)LRZc3A<3eebigQ{E6;D(wn2+O6n~%e@nJ&`^5a%*1O~} zk{-*m0=bYYm!;G@8+sxW5`VE*$d#w{fTz=Ipx!yqbLF`Zy(IOX13igf%5x!lo2l2t z{E6;D^a|8FmwF4$-%je`eH*_#Bk8d`nAOK+BX7eUX}UlRU@ z(mOysg!RXzh3M6fFRn=1&7u5>F_N~>bs#Cv3b>Gjm7hnw)uH??M6Zc@Eus7^L@!0X z)=>TyqBlgnHtJdX7m&XS_0~{tv1B@|hr+2Zy;FuT7 zE1)M~7pgZ)y;nldmHk4}J3zgi)U)<4z|Q(>7FQ(ftEeY=jHHJ+YL!a^^nm^zS$n{jyinWc+rxTZR1Y85 zQw1nFJ&$_t2XZ2c`Dy$bc-71moodXv<9H|>-(<>HV8 zLut%gp3~HOPgu{3>eVXGS?awPdJ_La^JlKr`g>nkZvp9f)O$belr$sx!}YILdugKH ztzo@zdeEztzZCTn(`HdplQK|4i&UC#o;*aox{#jO>hzl7uGJqZ)LRtNb2`H38wYn$ zZ*fR38A@-yad3)yM}+h$HS}x;N(B9AFZGUuo`g?=Jdm?>zH*tR-ccdFg_O$y>MaTB zxwM4OS1wCmr0wicA-!bC&iTrvk$Ojm^eQ#<;^op#y^pddE>CRU!yQ%lskY1&RUc6kUsaFp@36G|OC%`=kg|ezV@=@#oAsTAJR)AywjbpTs-O>AJVJT(2JK#6ZM`zJ;|FF(wnazwNvkj zA-zbsz~EZr%Vz35DWvD}X3GWRpy(A~!)}n&ll%(QTN=_!Lhf|s9FJP*?WEobA-zfs zy?D7yQt!#ovllL8&ZTATL>#s3+(W&mP*3b%h~7Txok+c~&cV_tCYn?5QC;lkj)x&ZpNvy{CojT!>zhdS1xRN{#g5^{|C- z5WSt$dj|9*e3B&NsI+hCe-)Hc1#Tf%p1Y}cN=Q%qJ&@C@b$#DUy;Gr=L|943ai>=+ zz5UdCW=O9BT@U2+YNfZNqV@hP+L=K3By|ZYi)ZaqVTXLP|4`Y^p{gc8>Lfw^1t^74mZ#nc3+}7Vh(rc&Qim)Cc zNFt6}=|OCNg`eRQa&S$5U-`sul_&2f{*iKgp3R0kg?hb|4=`OxLw>_C-1tM)n|fZI z)t4|5cIHl%*Wac5oImk*#h>`|pFd_t`(+;|*2U~Iytw=@=KJg{r$d#;-S5zL-Z07j zOul-xF)b}E!E@_)e1)y@dS2lF2;ox)P|^6|L|D&$=D-^r8|ljyJu7|W)A!5o5z5~q z9sfuMACbVxGT!+Ycx{_f>GjQ<)9YK)-5t+svnBXQryq~MwCuvt%4HXBM=gp;9i2U5 z(*M4C%*|7vet!G%Rot&hYt!$6UV7U zp?1{Yr`HMfo2Ry_!^`))(gl3J4<8HYS4RP#b+I1}u-(X8-ne3w_iW2*r017YkUp%$ zr=|Q}C_S*fxw}2Rx}zuEvH>S6rB`3x)7Gs6S`Ga^e6kK7*k$0Ccoj+cdTg1+T+3`Og zo-ekDk@yAn{NIo-yq^D3<)It)f^x2nwKiOR;8Q`7eSQnah0G55tcZ8I$6-gB^YU|6 zHesU>wqLTo7apJ59fZezQ?q!{5sTt-yA#uIPeJ&2xIY)`+4Y|P*&aQrKEQvj|JUk_ z`8wzupnE{y1bqwiub_RPZ-c%A`Yz~R(Dy*!2Yn9odC(U?{|tHyZmRZze-ZR0&^v*@ z3@+!Bz7uO_?*Y9J^yikx-@5*hi6iTdTy#X@h`J*dElw=1TfAsdVo}|qMRkd~y1KuC z{Lg$XVed<4zo&d+miS)fGhb9b`EBLLvZGGyRb07E?|UBWcDwkG26fFLb+G*PQE}vZnQ8~KDw&@PHvDd z!z{Z{J|1g79`8NVlaGA0ZSG00S=W3qzW>?TgNc2RkMYpD4(0(+4AyxD@Cn55Icbjo z=Cn=iLHyBaoH&Z+E$H&JO6Oucj6U>#Wj7 z|6F@!W9iSuaNM4!&0~*WZjp5`lpC?!iesjVrnNHNW!H4lsdddAo#}OLofr4Cvwa2O zr8~>o-l5`sr2QARJ{H*hNZa$*j{o56s*ha0rESa4&o9@@{#15CogWNwN)N_}1!{(d>YS?-!ruY{D96RsIf=z9!JVJ{teQqpynp zPc6TA_=DYlE~LI5PAod=u}{0`CGmI zEn_~w`j_=&sR)+;e05yAjBB(*X%bZxTa@$E^>?WJ{H6UH8suxwr%7u?t6g>>o9$`d zg)+;m?ngNs;V*Loc}w`e*mn10v%b$9io()y-mx@CPDFK;hTH^H)6 z@|7z>_R81nF~RW5>;DLLg{b+)GdoT|{?hosom!6@@ZDG$>zAL|c;?kKqx%SHyymPTa1L}^=->)%1S!nM+c z6PxfJqW#75Ys2Al)>!VW=^qb&7^B4G%&$ji{P^EizP1gXxkB6GnalM{vS>+i;osJH z=DE_SteXu?-B92Ut0ANL?W2G4xPTfs*oYJIm8WRc{Uct^G{?AoHw)!)J%{Jx@p$J8 z7neV*%X4w@q46fWtar$8599YNf8HnUTfQzVD-pPFES+^~i7{X-@$k(aPe1SM`Ja{# z$}`XtmA{nye=6O-l>LX}(FXK?tsHDm8qV1-9Z3lY)-~0?&GOigYU@N_OSg7(;nPc* zfre*dN_U3$EVcG8*Ps8^+QFu5F*k^%eEBZhdC2Uc?JMEKXF5Jg*#zPL|B}nN%MX`( zspc-6Uf6>@9=bp9FCqW`wcHNpOGk{qwQ|^!FO|<-WsGn+4^pf|8@Kn$!F~@rYUc{F zp^*M^|J2%kmIMJ0_xFB39Q<*FnLUd!G#&*0IGfCL_jKt3J>r`$J&B}yV@FThYMg|% zp>y5kVuQmiD{T5ch9Ay^bpGec#9Gn`$~{Qm?KyGhV#=|$wZe(Nlnm}+bi@|wrMSCzcB(SA72 zEn&Gx9IHyFmX1a_$U|oNTBEz)a`#PWLk(vyUtw=@8ag+0w!wvy38if{$j(XeSlhMQ zt{1p=?!rm?Yi(C`a2MQcrNUMz{36-`>q%R`F;QBtJIZHslkVIB_DP4JTZ} z2|ow97LLYb%Vn!nDD*P46MpbtLA@2!Tj7V#&^Uy#=Q%qMXQN#~LwvgYYPq;wFq@7P zgdSCAjPx_{N8`2j&bKhKWe0xmCE6*J|$>mY?fa65h=dNAOM6e80!<*&4HYY;X{73zYMD zuOxmFR(`hKo+T|%M$#a?%dqLhk;t999&Qhm1j(-=|FAgTvSEE{UE6v*MBlJR#-}iL zeQ~QaZ2U03p!HggC!f-8w0%O3))TbXtula$zcf(%GStu5(Hxlm){lj2%LIdDhB|F* z$igIY_Z+~rb9*i)q&V~BOSbKxZp`JunNb54DXvUX~IeMABwq^lQqAgWcyKbgU#D zBxMFQPkhpRsv?}PUE*B>H)XRqIY_+PGh;E&7q3LR3e?KST?6gxMJ3Y%z84r z%@#|v@2q*_&u{hpYUV-hJ8NG1p-;b>>c%b{sD0a3db(YXd!vSM;m&&)sV_U2|7v5_ z`2Mo;f<22xtg?E(x=D3(cF3C>8xIl=(HLw4vf)}fZF#|-aD1{pE8io>2eM%la&r*> z)iwNe2Vy@y9=}B*z^}#GC3Bgo_#)xOJPEU5t%tcn&G2FSirK5j@M-iz+Udg8vRBq) zq(zl;{adpVm1#vmSKAp22TR*)h8w_4Rr8HF+Pb=Mt;Z-^9iI(n^Sg4*x{ckqg2`yC z;UeuLoMBs@D=%wlPs6qG(BU8W_*b7j342}{#bdsmo6mMa6G;oIx4sQlU*um&cXd7?cI+S z$%W(fgXb!hxSxwlF_+x&K>c89}B8fd?^{!^Rg zk53w+4F`n|%<42cq-5>c84-Jg9z)>GbW@_~QfX##sCjf7sV@kai|z zZS#Q)ZS==m_U}-8^veZpYIV$>cn4aIu_9a^5r0IqG2X92=>(-_?Xvx3Bkpd(@r4H* z7oPU5ZG)pLmVRtxlq^T$i}_1bF@Jj@^9N3p*CuIiT?iSri{yTa*3!rMIB@YWR#AF2+2*wTDzeAWJH--@&5ojTZZ zn$KTMkoc{?O(N2Q{rZ~6-{v5yAD_9zO{` zYDcK?9V8qhC z3fpEZx0wE2;DRq}x7QNO9mZIJ@b(&PxyI9;7Wrj*ZMNKo*J~+oi;TVCwohAbv0kgt z7VR|%ayyn=uJPKjSnRXWidg#RY-UxA3^>t>c)jLCww>-!MW0Ce}^O{Gi9~{nacje{D97cX}Gg2yf1KH7>)sgZT$m;V;@n^igK$nk^ zg;Keg>kn?+3dMXm-=80r4IMH~7G3$}P#%N0OOPkm^7hnNF;|uf!hYXuaTFQh4bK>c z8teiY?a!+1DCgkzEEHe3eDR7)7W=ntV&QTe8_oBXGr7@B->~a;$hVZlmQk!n40xj` zI%{23{n>s!R+9V`@}s3}ynel*3?@9=GQ(qxz>No3+VgTK#jz*!_ct>+`SCpZ?a{TfTH=aQ=tB zO`(T?;N1soaMbHtI%m%Uk)bchPo^}wyw?7c`Q&B$Vj<>v%epnz^W?dro%fNi1b6H6 z%9ksKT=#7{uKPD-Q=rP1;c_bb1cU3khhNHFTfFn|r1NO&FY*?OISx4)69!xc-Hm<-4NBTQj6oUZEu$##Sa$&6hdizrEvbEVA z5kHB+`om*cb8!n|vi|Nlpo_x~7rvMvqzhNm-y6cE)J9hw4$qW4xvdL3P zoGF&Q9wZO7;XqF$`LVJsH)oNxM(cZ%?zuusA1jV}GJnzX5PNKJBqMb!KY4a3gwfOA z|1NUiV4r*R`NPU(p?&T0%!W(iq9)JBEnc?5LL=XW3;R2~EU)=-SVH5O6L&LTEo}iL$yExr3I+$OBSu4sRVh!e>Lw2Sc8n4h62WyR2QTZ7KajXZSaVFbq22h-aUH`rhsGY4mo`|iV@)x$Wdw6#l)`G3MQ8}HF=_p$kl!rw z*zcz07|Xi+Y-||qif13~q&p}?#3b!FEZI0($_!@L+0v`lHs+{0&B)}hbRSLfszsFq zL=#(;dn3v<6xuCuV^QT(RFiTnB6M`O<1s#QJ3bzb)kv&Ks^0qMZtTZQ zuWh?r)y%+(TpIO{V+OkINn8W@w7%SFmq^f0H;DJj^krSxUj`lZ)JIzqgy#~p3wY6-JMLGObzkeu;Bh%#igW*0c@8MEzN4d0J5wgLZ+;8_9 zFHS1MTe!%Yy!_j-2ANU)E!lE(8Gv?3`1QzP^TloHHC@dY%YKk>{Gz9K&?QW2j(UdivLN>eAX3NgwR-!q|eS`eepMw-}$Smt0N?tK8JZagD;KFag z<)(;PN?O_ku8Npn+QmlaA0)5(LGp6VT!F@k!o?A(ZC#zs_APF;3omTwSir~Th)(qb za|MTsQQ})!V;I$N?yV`jE?eXdIjgUoE3I?2v|Fl{03}k6cBz0;T^A8WY z)(*W0McS#R7Y=EYVLJZsOzfNK@VGPG#xs!Hf_24oe+Jiq0S>$zq0}FfDEq9{&l;9^ zL+PO&71_DV%Jju;oo!vX6iNq4uaGUL8pOu?5&R>MQ_jApl^9PGVdct+~$VLiQ^ zwyV50CEFgP+w#)lhpRaXhti?Hdn6LqbC-B4_ZQ)13z%lmrrX(enVXoTF$At{>(P3x zzTB!j+Fy0J;N{PzV=srgWNq>MmphGb{>xppf3125>$9l@>DDg5Dt{JKmArO(<*|Yt z%=|O7s3&rr4A}j)tS5|9kn6>-Pd#jSO2YGokQ^r!$a%Y3Pmrf^{%&~c#g9UVUY3&`_{&2Wj_J{pz*)Qo~u?(}?@=zYvK8we4!|@Wga;Y%M z7cU6Ixe|AGs-C?N42%_|fF-=ecyJ?uB>!?#fy)`@8=XBJytDAbVcZZs38%C7g5Kdv zb94H7?_!@w=oD`f-Usr@)5C-fwMe!8(;INcHbrlg6Tes95{ZLogYLl%CCRa5+;udN$WA z1Bu7R3;*@aYunPu$(jyiA|z)q`r+(U!LD!OfB@8l)3@^AQj*4*&pCOx9QH4a6$^M8 zD#=FVZg`jTHS&1=CS5A5CwawiWS^*o<>lg--(Z|v+GOYw>Bke3r<=Pw?b66RdU{us zmfmH}oi`pAA{_npjXjb_}pe?76{ck;m~?fyb+1;?{@?#W>L zaQYY%m!rc5gBtuZWgMi19pq)%M}Xq>pK~CdftL%I?hnxK zmqgcr)Lvb1lLjvPK(KB)B%=nlL}QiKEAJ>|Z9d~;xeKrNGTeG@_l;^ll<sJ}zT#$U?d(+qr`qiQj|KtsY~GGzAE#Qp+mxR@D=|sYZ zN>tK`@0sE!k`AKpW z%TTr)u(L$USN4?|Tt}9#aI@QNw#X-nemE?>_~A4~rp`Ne$*;th4cRCem3UnA$kn3#Lu0oMdAGN)RT|vpKVKy8t2=R3VjkjFzMz-eMSSlJW zJT4%ziQ9i5?T44nfctN`aKb4K-3#BR+UHDZ94gb=(RnfA!{zaKiTA+bBkXg#`h?=f zBNSsuu>Rx3$dJX8#8{@Vc!qe$#Yg-K#<%oHjqfV@HxXlb!0HbXWBJwM3F7V4pC-n| z+xpKDzskjbl*W&~Y5kMLH_*SA7`Fn}eupFQNZF=TE$!_&VYP#4ja2{^^?D%ZNSV z>xr9)UryXk{0ib;;vKZ7Li|elPY~}U-c9@};%VYn6VDRgKy03&_Wh7}De;ZOjl`ER z{S@&{^dBN#>FgtZ4gGf$zm|9}@dWXH;#Jf)r>H%zqklc|>xmnQ-$2|>d;;}*iOa-0 ziQmZZlf*X@PZM`C{66BdiRXwfAg(`E?Yoe;k$5$6inxV%oOm1YB=I@K)5Lwmv&3(r zeM_FH={=eL4a9GD`6u2*JVg8!;tKIwiFXnAGrlR}0pc0rw=w(y;#-L8pQZLZh2cHo zYl$0)$B5gBdx(39-{I^dUP}K-;*G>p#Mcqe5I>Q4Kk@a%2Z*!8^$luoJ8=VX8*!5O zNyNRxClVKkPa?ja_^HGb#7`sML+laH5T8uEpZMv-^{1(Q&me9fK7}|*d@At}@iU1l z#Lpt0Bz`B$cMtI-@m}J`G5jp?yXZgFr1mt>e=qU7=|4;S9^wPU?0crK2m0?K{xtD!;?EFI z6HgQGBkpE=`-xkL%>`=DXBobcc%1(2#9N4mi2sq{E5!dqyo>mA#Jh<R%jUgCeI|32cq#O5MR|BJ-+#9tzA zApSCOJMrDby~M9%dOL}C5>FC;h2i%Qf0cNK_+N+*5dVONgTU-lb3c1mXhmcd5UN_{}bT;vwQ`;(Hl> zmN-ZMB`uo%Rm2U%TZvP|!^Gpn-*f2`pHBZh#LdL}h%X{OK%69A+N$ZFL7XK1KI88t ze%xZ6pI3+Hmbdk$4&NpCUe!xIlay@lN8ih<6kJl=1B)K7sb^Cw?;Vl8ZI{ zKhpjN;-}ERo%j^uA>s>(cM_jPJVo3@ypMPt@d4s9iI=u(`v1lBn~0ave>3rF;sWvW zh$o0IC*DJR8SyOfW@6K!>1`rjO1z)t)kHkP^6VuZC9V+XU3n9~-IX`-Tj;-^_}}So zF46S=gSe6SKZ!RJ|BQH?_*}-fi}>gC-$VQh;(f&DG5i7IU($c+T1|hBI7$2~;$GtW ziFXn|Ks-hKAn`upUlY#}AJ6octkd*+#WrSnJQT0z^fy z|B#Br3EY-U; zU~eRcGZV}GL-10$9HS`TAp-7~mz(>uxovn9h;1?UFf0id?3#9G@<;Z8i@(?3=U&&g z;hEELat2HJctc%|bb_J&gI2_^@9No?%dP#)De^FIi5x%fe3oPpO|*<+{?g3+w$Pu?Z_Q~RVnH#j4| zUU{To^ToY5>W^mY4+892eAt3FGh`Dm3d2>39N~!kjhBlUV&u!EP!2W`_U;2`~;aSRN#b_wa%-2bEERi9y{%HTS$ES1N1Oz zqsIp0TjX(X;GZ8EL01f8|8$Y?K6@A6D9$7Fu-DL?N#W#f|Axc**i80*>2?oaj%Rat zj&5J^m2&arxaNeZHs+pOB(VMx2J;yvQT2Cte|294STYWjJI*j?1=ZvRJ!9a=8HPKz?kiaODy5FKyL*u^fW^ zD{^Q^#)yK0xcPI}3cNF_lBwg5w~qVu{X~;I(qhly!qFBtIh<1ec87ZvZ+5t#xZrT= zu~xt0a7Fzm9PU;BNrwxMv*D+Ftp0l)o_@UbpLMvR{s$bMP+b22^E0K`b9h>DlfyHL zQx4B6E;u})_Uv@HUelj+cuvDlIczliUWY4Bw)XCK*wkCR6!@Y|4Ib2XY=kScCzvQ>fPeuKgIy|Ac!Qn~8O%6{fZg+TE z@n(nX)&3!eCpEpD4$o-#T@FvH|89q8)qmRIImP=NHcM>z?RU7M?fZbk6B=Lr0oR^2 ze1pTD;&z9P_Mah#8@0YGKGyKN98M~paya#9YtOWg)qlpvYTvBGNyX-Ow69mgdk)X4 z{f!PMm)iK-9WH42A&2WVzMT$N)PK_93B`LHo>aWg;VH#)4o@qt|2^%SQQYA0tm34@ zQ^#5RHaqNTd5$|gr{O0YHjlF5CmpU=JngWjc%Q>F8vmTbbBdSzf%Y|Oc+cS}Ex#s* zlj`5@a7yuJhkF$dIb2Y@)8UHZ-40JE-s|wB;#r41ZU5#W+Bc>COC6q3+~n}I;*`UU zTAxD>&#HgL;W@>-9G=zko^p6j@m_}~+5Q|(vHbq%%1^^LI9$;7oN~CLc--MBjc?N7 zUX5?B!%2;Azr#ka*Y*F!^rrRt?m1k~>$$@-n%-uIXB7`Q+)H~L_Edku;YP)i4p-E^ zJq{NX?{m0U+sgrm3yPOMOnZ~G&*7Bfc86y*KSK`ps{gpd6^(Dg$F$Gkl$O`D!xQSi z&*2%pzU_C|)ABb)*L#eo@p}$WY56ocJgM<*b~vTs3l2}I|4xUeX`hcZzG;VN)PKLj zvx=7_XwRHt&tY?n?e9q+Yx(y&T(ABWhdsrU4mT>EcG&3nJnL}1;sXvRHT=>#+LKb; z=#x`0UJYMyct-1I(%}N_ak!#*pTiT1=Nz6?ykrsWnb!KNcX(EDlf%85 z-e!kq)W72JoZ{UM7c~4{hiA3D%sD)vlIHrJgxOH?eL81&p14*c-G;H+FySJ?W@=J+3WC}hM(}U=5LR~=2+Xl_B&j!c*&8B zuTkS`aM)A-%?>vzt~flY{bZ=}kC1r}j@foK%1FXqR8TZFT?M{VY~jJxZE^2JGE%0~7x}zUlymn8#?wyaA9QNnZWh6g1D)m`qS$7-oh91Lwal*HqG5YD5Yomk>$!rpM*YTuh)ld)iB7eVZMYN2&s z`w$YH0goIu)wy#Qbx)v&P980(6fpZI2InaS#qqZFKBs9;Fzs$rkf2UEkk-4jlMO zIa_~iH1h1u)=dzi)L+`>xvPh_9q%Or`B`zNwBWr``#P3AuO!q1t6fBqKRD3X*{xG*5;Qy95i$A{Z+OAGwvxu~5j=mXnWAJ#4}j|)A# zY>lxR&r9X_QrBNf@&vWtKGKx}mC?*TMMgi0jOR9-bgmljoP`^S4d)JduMRKo<*r!i z4d6Z6E&lk9GPBhqH7Wj5g7UR8X+iLdG(q^Uv<=fefXnvVmvT`GXlYhI>aP{%pI~35 zANWV!U$x;vl^QWZ?OYkofcS?WP(dFb711~0Wm`aKV6+W3?$7?{pW77n59#_t!F>Mi zTM6^|yK|kx{_;++{{T1k{f2P3U;+{B^a%UAXUP6Ll3GrFIn=tqg!O}OPz3YisDJHm zMM!}noJ=WXH;jzuc(FW#nYEo+U>?Gc9x&WI`H;;)cK=EI9?ZobY7TBv<8RH7^uzu* zbQk+E%GR!^T+WdR+H_1$l9uM8V;t=b=~r!l!4zcMa<;Shw<*N#u)oxE_*)e<{Hwl+ z5z`m{@GumKzt*=d!us>=C5YQG-#0L-!$rS|5%)(s2#w)7HxAq5&lN%~B<#;V>3<6( z9={vr`f-5|>&gBCew)KT7*zdZBZ2PS3U6;?Jn?Yyig$Q-f=e$vGDN@Pq3KnB#ly*i zo)qjIVgCHdkZfU-2mki!k&$amaBpDee*^if&T;e{OMJ47$GMh_@01wqw*)i8a@E`6 zMUFj_{CaNO(Ds9}!#=j`uvlaBi7TS+C5a66yib&I7aK@+c=Dke?FaVKCh@9`{#;qU zP%@yI374C0i22*t!y#h+LF5OIM}{f?o;zxXoH``q z>w)t`TYvT94kKYqu34e(_0|>$7@g4tAzG zdAMZ+zW(q^rS*V!yd{>_1s|+Xxf=UIebEnQ;!a#uszuSS)&UupTP(do?ZAe zdmBp1H3-Kw3tNU^xqN^f=dRD3viCS-xMF`*SB^ZgKb7MI?>>xw`9ZrF)R*&z4aO79 z`rQOU^#Zx>K6L2@a@Q~!K34lKJX=KQV3qN+8_x}PO&en|g6V35%+O16sD-5giUr3vUpjv!`EUs*eir=m_i;5`Aa?b=;@v-3_LkF)`O1~v*9Y%; z_~Ef#>XQJg1D)k5ei%P-iTsiLCF_lO!g1JtHMhv}-V=>k3b*jLo@7iD+%w?0ry8^Q zSBosqJOlF$xP|`<=tj6_z|T6xn0pXj_^l1b+y}StJ3t0uronGI8{aL4d;&{i?2cb!Y%x0&^oy5!Cwrz1-imN`4VGphgv*3NZU>m{3WNA1DR)EO`0tnwJXr??6`|9^uXJ!`^MUg4=0shTzA-@v-UyZp4bgYC2H{V7+MGn3LBz{l?r4cM|-{2hr}K+YA2L-=L3381RALs{Iq-Cm(e9>!RMwCcf!aCMMzqX0ew zl0GiHF`;hZUj{8fc?y63kqOfPxA3oml2WJO`6UVS5aJYmCSJH*inN4Z0&0Xi1%3x; z7u>?H#i1Hga0|Z&FKmAfZsFes?SotRFF^a@o&*0hUXqkHGY$R+ywIJ5TzL6}gz1G_ z_?tjG;THbIC&LeJ;SYdBZl01bsS`E7!cRCUVP;{!2mTYf=fLlNYQjuNzQC70P0K;} zcR?x0g}>ZOm?5}@-vFw>JpumXXC%yB7^CLE?>Gf{fqWW#>8a}Wz_-&~0skaO`pY!< z`Oi$Ct`=Fo^jXk{Tli|wUbs`>J3$iX1o({&nwJUi9jB?g0{$?_w*O}%Um(fj^yvxn z*<}gyAlx(HA6SWc`TZixe{^=j^uR5=fWtn9;1+&6NNk$|KO2Vz?81xUN$@9}hx|yG z^I;cA!pwp0%t71mB2548+|F{)Efa?SXfI z-iY{x{~c%&ZsB)xzn zZHpXy&kYIV$yfot{zlY0>=AzCYZ7JvZs8|_#^LtBJ3z;xOoV4%3qQDp?*yGMWd(lx zgtmbh@Rz+#+sOp@yI#+_1Hb1DupjfcS@84Ti28y(!ZV;AxP^N+qkq9I{GPWa%)K~F zU>1DYEn4r5;0NB0zKJmA9SQS|ccQIIy?~ESYPtpRn?bgZzXxGKwvNEt-m7Js0{<7# zx+51`{xIB&k(Tgn??eBATln$shrS$W0A2*O!(9RIyj9~&fxm+83GicfqYWcY;b($2 zBfRk551=o>E&N8%gK!JK9b{0>!k=>+(uG_2rJzQ*g?|8)gnJ77CATN+oTLKY@F8t) zjo{w|Nt>Ak|A&u27iBUHe&t7DGu*x4p9LL2Ji^cZ80r*dDEtzT2X_kmjd#E%gctrH z&>pyjH+>xa3U1-+LHEHey!jKz3*0I2C+|_)Jn$>UjXVm!^6wFkxWP-HyWy^YpY$n| z1>7EZ8|ZWB@4{aVnt@yR`#|@>E&Kr8!oPecFyz924LTk+n7b0D`!i^l$YTNg)1XPT z&uQ>0rqQnI7F+(Ve?;4cTlj}S({Ky_2Iv;Jg)jOimDhvc^#zn6S?Bflh>b8vOg92jLdJ?b~P% zNK5z)pi|%${!UO6+>_vS-@&yE;f4R`yRZ#z;fwD@|Ao6A{0E>Jgr5c9_dWC_$Y;S{ zHH&!#+!Npr{19PaoB0va0sRc&8^L?%o&fLtF>I4`!T;eW+Lx!nZ~LiUPp7~iyS^Wnw=GJnCi z1iA2b&=qhCe`TW16yO&A7SJ2v7XF>OIMJ=D<4^*V*}73Oon0*D3I4 z9#LoeOCxv}NbZ}2=Z~y2$HFcAWuU_?;jb zbEd)X14+7b;0KPaGkam1d32rm1xUiofuH^u4bupI8%WZc0{>T#%$bFM__1~7Ug!!x zuD%ZWTWmb=kANinGP~_G5G2>cIq;hwS7+{lTln@Tz$UnbUk6%@YrzEgO;4&b zL*fQsyOi;O-*iHqIbP)8Lnoqap<4j&dn)pa`YM3G_i1(JT7(gPwuiEXTlncG*O@7} z8^Lb?ZHBJ!OP*e5%5V$6;fy-7Q{>=p0Nnz&@H;@a!#xdt*)lELUhr?yJqv!rnOcSu z;Fq4I_Vj{(kM3FUM>V1izy{&BfL6gRd=k_SxA4y{ud~<08SurcP_~fQgFo@?Ix`Ko z@H?AOhH%e-w?DVeG-8}jfxq*@Ix`D*@*>y^l52|a2SJU z_!mIZwr9W}pgY-JXZk_5uYtd#2kis*Uz6Zn8&M`Qe*?b*bo-LUmVb0po!JAo@B^TI zaGT5O%vGRWNLTo0LA&7=UcVXb5N_cG&^>Sqe+6hi+`_*AIsmuuZ-bT~&ROu@%aKR8 zg?|jx0Jrd;gU*Lrc%d}dtvj@unqi=APH|WXb&KXvjBb*NaPdXx6wTXes@3egD}D$0u|sE ze&t}Dxn6X^Zvt6e@RPP6PPE}h@bw^(r@&tUk}+fw{4qnCZX@_5AR7jJgzf_P*Fh4# zF^70S5~dgYQy{T<8od1~b*I2fAPG|ee-GVL;NPHo7W|KN*Ke&e%Rmyo5&Qv=+=H9p zI&&sS#>^ym5oF^8e>>fi;G0G?-Cpo_f@EGKe90*43$_V=VjlGex9~=~g}(qK@%Msn zD`>x~fPb>6X-$K#EU7(7@XR*Ik3l(u?*_>=bPD_lJG4%xz`qKTF90|H8o}QMve$9&?|~%DEclMsYWx-OAA)SZn?Sz|)Db5BEKAPl7LcGsauAXW^%UQg90&2Mxe2{C3cda0`FQ zF8IMM{7oQ{3t#&d*aWxm>p*wFJpuj`(2Yn-_)%{~7`TPM>TQ^lz&!>2rCZQW5PlB) zhPP|kPJrJ7l5wE^9T-1BGX6|}AM;Kv&wB6|gQPAh;Ac!~-W$PBe3zD$2mUsYgqZ~Y zHptc~_^NlSI|;s7+^|RZwV+jS3xCx6F_(Z__{E@MxP`Zau7x`VemzL)VgmegbkBgB zTXDTXzJ$LX^fS1He;KqGy28H&S_=0p_#Z%Go7s(P1W4SC;3bgFBlz1Xp9Fu~ZJ0A4 z%p~}~e^BPNC`0g9-LB;`3;vL}VVm$5e+c6&!V7QvFvbD6Q{eai9oips%~YLf0ZCc~ z@SoE?2mbqyVh#kk`55N*AenQ{ftx!p=87ErO3)o}3-9^_>JM(=ssp$&;f9;(Q>>Fo!$KT*&J+_uu6AU9UcCfU)A{s7j+Bqy5rlfG~s^PW2 z7I!PuX%phK`QtSSbx1nQl60OJU~LS{Ht6~8Y@h!dEt||3t6^a^qqK&##SsBqT6HdM z7sE0zQ?u>!+&OBRF)5WcX&pHF=JVwJz4zYx?|Gir_Vw4VB3bJR`~kA*r|?jpdtnRj zMn|xVF#8$e6}Is5za|%B3zL7#84p`{=-x0F6yYldVZ7DhR~GgNo}7w*FWTybQvpW!>vL-bA9M#r#)-$5s^ zXYhBv81^#{zx(&Zak(!%_r7p%MB$Z4);9?cE$kwE7{z4{;rYYRHsOIUF*eGD7yJYB zgDt!keH1$li%4>)@Hk3PEwNA?6d? zgbfsYZV8`4I=={1_@RgKacp4?S=c=odnCNC4woNg9%v^DA3Mfgr_KysG+|HkorMV< zB>SNUlTR=f>Iiot8H@U-m#AMuyD1l*M0srCnkjRRExcu63qOW@%5C@{l6FS$pBHxY zNzTmQvIKs|o3sc_ZP_zQLdZbbXBg-ukz7WR>iJ%Ia;Ge&+X zYaSj$>#>C!XN(hDxEE!l4*V>7h--x({vLY(TR1`*b%alSpZUcWe(+ydQ*1uiP#^yR z>&o|-Hv9(CxmNg_KO|mZ3m=)YM%cpfkMKuq;qHGUCS&K}7toA0g-`wm>&5&Cx2uR+ zg)Q8NEbKgd#WFr)qrNbOd~D%y^f%bTWiR0~U~J(ppb54P528M6Bz#pQqK4SQBN}zE zg^!^V*upD+mhYeGXAv@sj?3aE`M12y;IZ*f=^lCoC5&jUF*y@+~t{O>f z%)|TiNU#q_aOG>mYlTZ_%rD3lmeAAK!UxcD+7bTi!d9=NO%${V@B8INoAA6 z6I&R6J@>^?C{u$#_TbwdSHf za3_*$g@@5L>I>&6k1brihB?I+Uca!@@LNdQoWM1ghHWO``;oLMJc7ntD?Eyx#-6}; zuMOug4L^NZcJ+Or;B5+0Y8GRV;A8!Q4q)A#W#nx3GZ6idDutt znYQp)8qqi5_t6YnZDf9s^dSwujuh=r;9GBD-%758_adn?fj@t1M5Vb_hgl?j5T3J% z`n+GT;mbBhRE9dj4QMyEa5E}k3-4Rl!k>9hST4L_VW;5nAvt>p zwG8{8J`2x77IqXqhUD5Ayl5+H!L`D#qZYRC^4r)O*a^4?*<35!c{}?GTX+B!v5WAF zNa_fWZex#O3tzsS@9wa5_%03p}(toaZ8Z^B(4eYZLG=k~#zUEXq=@-WyR@prAkSM@alm-ASB8vL{uJ z`Y0&h%lF6c3w^2wZ`;TB`P9k6BKkvY;l}-p1zY$nbQoLs7G1mJ6>% zCn!%t^}7+3z!n}vOW49D+J@bOfBF7!t`hl(x*5q>(s2L6&ck~awhixH*aP_Og*}1K zE^PGy#*L&M9iIPtVf!XLdN7=a^r47)^low!YczwG{yuZdFA*1h8O5-LkD@nV&*1Vu zz^2bp_ym%*u>UBcK8Mo$!tnuo)gMzwKFfk1Knbq3;pdTseFV7&dE<@dvH zBWY&>_x%ZVDBlmCL^okS4d3-K_6>F#UQm)}D3&V&=8#+~bU(pdQ|`eF{*>4tb>J`l z8S8?r!`*0tE&Mb($hC*zGf3K*!Bu}A+QM}Udp+E=u!VaU_I~(HByCP$^poMW!c_}f zxE;yZvvA#~7(4cQ_%K?9J%-OBsUy7bp3pYnoeMh$KZ2y6MY!H(PNW@pGm`Ry@ScV3 z!)MBjnerKYlM{}2J-mBi>uyB74wa}QT!(s$MR@(f7Jd-DnmR%kZNPppzAmTJJVL3i zMnCsr9KcWe{69DYd=E-%F{Sd)Zl++L@yQtwc|!N0HK@3&#g>vPMG|9kkf^D?zk@g9Xc3f~<3l;`50l%D>&g8T8U zI?u=4p|+|WY74DxRom2NTHc}FqjpmHH9;Lyt)=(t&{}nij6=OoUCgy_rOtMqpW8_N zz4T@y|JoefVu`2gHY=UpW#JC)avjg-=qky*cBvGMhvB7HOF&t~qI zsK1joZs)!{;!KZZyw7jv%u$~?=9ewo!!_41-Yr4TWd~##UpO9FOP-znFJ(IOT}Nx! zL+ezWy>kgOX{yU8JG-5-nwmeZ-RD}pj8;#zuj47wqg%P^Ev%TXZlq6pnC&gWo?GH) z+bO*|_?g8|HnGyOZ=~*9f|=G&8`CaIW#8-y*7?2sy@{Ig+JKhfnX-#ct>Sau!!xmg z=PmJ5@e$d}8=tpFU%I>}uKCl~i**Ki5uQU*D$%yurMBJn+r4(bJ!lWxqxQHxX;0g; z_Pnh+S|{3xb@YzWF+1^2qGNTEom3~?$#k-vLZ{d%b?lDc>2>;@L1)+*b;g}ZXWE%{ z<{j15y3uZ|t9OmA*^PG-U8|eyrn>2FuAA=`y2Wm(Yj^!_uiNhqy2I|MJMK=p)9$Q0 z@6xdW?-wPn*qR-+W43M^wrR)hgl*YLyKfKdp*^z4_QamrGkb2UvR00kV`aT;l+ALy zoG4r6WI0t%mow#TIakh?3*}uRbkFciFYYBg%S(DGFYV>L zyjSpwUdgjP-|KmOZ{Q8RkvH}x-qf3Ub5B*YO0*KI=oO=4R^pXJ#i}GLnM$^jtK=(% zO0iO^*cHFhtMn^_%CIu3j4PAMv@)yAE2^qhqt#eduNqae8m}g*scO2Ksb;IWYQ9>i z7OSPIUG=NIYQH+D4y&W;xH_p$tF!97s%ly-T8q{6no%=rRxMde)zY<0EnCag^0h*( zSS!`+nqTYH`n5rASR2*GwMlJSo7Ltu`(luKlA6ls%!OV-Kd-Ocs)_K>dAVlo~~!=*?O*?uNUgYdZ}*L z{d%w7uMg_O`lvpxPwLb9tUj-+My#PXjE32WHxdo2k!++I=|-lJZR8sHMxjw`lp1!! zZ}b}d#-K55j2h#{q%m#G8d@{jj5YP9(KMU!W};~|lg(5!-OMzz&0I6zEHsPFQqykw z&0e$L95jc`QFGj!H2qeu)o%@2!`7%ZZcSR#)~q#eskYXRwqtF*ZM4mHyq&=JlI>JG z-OjYL?OZ$mf6)_1yeC@r-}zz2&e}OUZx`&MU9xT4w|i&ho2fJWvQ)Ou$~Ubu{IcK_ z&&oIBXZU5#&7YNT8fW-r#><|SZ>I3SA$}Ier+j=ThMyGhhk4CpzuWBVD0?{1UY*qq z_F{=Wr?J0s?4xN@Z>3sA_KsqYWQoj^c8sW7Ai~Z&W;a9B9Cy`(&xKi*DDg1QoX>27 zIV};_G~!o|ST%KY;!u&8qlhh8;>g5{5hDu3gL%co-);OliVx=(UK;vn=%HrdqoIdp z@lWy1&@V@USI+RsXgyZf@kk3#%;AAPo;PMh8r~Mi%QASEjZcm6C50cE_)nTK7V(z> zellxnttkEx_(q=h?2PAy_PkGIF^D21qJ>6e$PodibsY~c;>ilH&2qO%GuBGB3V7ta zW#Vl%IW9^r%agZe9fO=yBLAo&pViO@jVzO6Cr@pi3{oUpD6&G93@~wGME3%beD0cF zhUh%@qD0<2QFc}_h@vH;rB+K24SPgAod{PXk}0BAmid{~W6Vo|C^K)EL=l@=h_4HnS(A$gJl6wy zr{&mbIZ9@YcGPUSyuVbZJU<`g<5HRb;*57Uy!Rv~#)*e1Rwvgk1U>I_8X0pEnYT60 zAO`0Ti?c_jlfxHEoI3iPIL4ed<{gc5hQS%b;(U?ed{JOMea;m_JY^c5C!#Bq#v4hE zvxLDp!m?9#hE*;Qw|x9($XQ~_IYQ$MVQ_x1SosX+h5|n2GoB&mg(+tRjnNqF28;7S z20tqhe|*jbL(T+K&I1}}0fTdZh3{qD9DAii_V43`W3v9-)yVe-{%DcsGsKbtIo>C~ z57|jm^14P&H^}E!B}F#R;jJaIc%Nu8CVS5-8hP6wu2|&k4Eegij`PXWLwtEke%8p% zMlFt4r^w1VqE3ly+$R%{*^l#@M*cPMZHt|m!LJK=j!(WF;?+}pTEnLecB@5x&EQQ1 z@~Tgq8sgbga;ZixHCS&856h503&buTA0Lu4r|fDCKR56?i#(aZ*9+uFpWHZPr%#)6 zJU-SkT5#^Yq4>}2Uf@3Xe=u%y1<&@s&~fK} MBKAMq;V16(pGpL%+yDRo diff --git a/ext/openssl/windows/x64/include/openssl/__DECC_INCLUDE_EPILOGUE.H b/ext/openssl/windows/x64/include/openssl/__DECC_INCLUDE_EPILOGUE.H new file mode 100644 index 00000000..c350018a --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/__DECC_INCLUDE_EPILOGUE.H @@ -0,0 +1,16 @@ +/* + * Copyright 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 + */ + +/* + * This file is only used by HP C on VMS, and is included automatically + * after each header file from this directory + */ + +/* restore state. Must correspond to the save in __decc_include_prologue.h */ +#pragma names restore diff --git a/ext/openssl/windows/x64/include/openssl/__DECC_INCLUDE_PROLOGUE.H b/ext/openssl/windows/x64/include/openssl/__DECC_INCLUDE_PROLOGUE.H new file mode 100644 index 00000000..9a9c777f --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/__DECC_INCLUDE_PROLOGUE.H @@ -0,0 +1,20 @@ +/* + * Copyright 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 + */ + +/* + * This file is only used by HP C on VMS, and is included automatically + * after each header file from this directory + */ + +/* save state */ +#pragma names save +/* have the compiler shorten symbols larger than 31 chars to 23 chars + * followed by a 8 hex char CRC + */ +#pragma names as_is,shortened diff --git a/ext/openssl/windows/x64/include/openssl/aes.h b/ext/openssl/windows/x64/include/openssl/aes.h index faa66c49..245c552a 100644 --- a/ext/openssl/windows/x64/include/openssl/aes.h +++ b/ext/openssl/windows/x64/include/openssl/aes.h @@ -1,52 +1,10 @@ -/* crypto/aes/aes.h */ -/* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== +/* + * 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 @@ -54,11 +12,10 @@ # include -# ifdef OPENSSL_NO_AES -# error AES is disabled. -# endif - # include +# ifdef __cplusplus +extern "C" { +# endif # define AES_ENCRYPT 1 # define AES_DECRYPT 0 @@ -70,10 +27,6 @@ # define AES_MAXNR 14 # define AES_BLOCK_SIZE 16 -#ifdef __cplusplus -extern "C" { -#endif - /* This should be a hidden type, but EVP requires that the size be known */ struct aes_key_st { # ifdef AES_LONG @@ -92,11 +45,6 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits, int AES_set_decrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key); -int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key); -int private_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, @@ -119,11 +67,6 @@ void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, size_t length, const AES_KEY *key, unsigned char *ivec, int *num); -void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char ivec[AES_BLOCK_SIZE], - unsigned char ecount_buf[AES_BLOCK_SIZE], - unsigned 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, @@ -142,8 +85,8 @@ int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, const unsigned char *in, unsigned int inlen); -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif -#endif /* !HEADER_AES_H */ +#endif diff --git a/ext/openssl/windows/x64/include/openssl/applink.c b/ext/openssl/windows/x64/include/openssl/applink.c index 2831b39e..238dbff3 100644 --- a/ext/openssl/windows/x64/include/openssl/applink.c +++ b/ext/openssl/windows/x64/include/openssl/applink.c @@ -1,3 +1,12 @@ +/* + * Copyright 2004-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 + */ + #define APPLINK_STDIN 1 #define APPLINK_STDOUT 2 #define APPLINK_STDERR 3 @@ -81,9 +90,9 @@ void ** * decoration right with Borland C. Otherwise it works * purely incidentally, as we pass no parameters. */ - __stdcall +__stdcall # else - __cdecl +__cdecl # endif OPENSSL_Applink(void) { diff --git a/ext/openssl/windows/x64/include/openssl/asn1.h b/ext/openssl/windows/x64/include/openssl/asn1.h index 35a2b2aa..9522eec1 100644 --- a/ext/openssl/windows/x64/include/openssl/asn1.h +++ b/ext/openssl/windows/x64/include/openssl/asn1.h @@ -1,59 +1,10 @@ -/* crypto/asn1/asn1.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 @@ -61,16 +12,14 @@ # include # include -# ifndef OPENSSL_NO_BIO -# include -# endif -# include +# include +# include # include - +# include # include # include -# ifndef OPENSSL_NO_DEPRECATED +# if OPENSSL_API_COMPAT < 0x10100000L # include # endif @@ -90,19 +39,17 @@ extern "C" { # define V_ASN1_CONSTRUCTED 0x20 # define V_ASN1_PRIMITIVE_TAG 0x1f -# define V_ASN1_PRIMATIVE_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_NEG 0x100/* negative flag */ - # 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_NEG_INTEGER (2 | V_ASN1_NEG) # define V_ASN1_BIT_STRING 3 # define V_ASN1_OCTET_STRING 4 # define V_ASN1_NULL 5 @@ -111,7 +58,6 @@ extern "C" { # define V_ASN1_EXTERNAL 8 # define V_ASN1_REAL 9 # define V_ASN1_ENUMERATED 10 -# define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) # define V_ASN1_UTF8STRING 12 # define V_ASN1_SEQUENCE 16 # define V_ASN1_SET 17 @@ -129,6 +75,17 @@ extern "C" { # 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 @@ -159,61 +116,7 @@ extern "C" { # define SMIME_CRLFEOL 0x800 # define SMIME_STREAM 0x1000 struct X509_algor_st; -DECLARE_STACK_OF(X509_ALGOR) - -# define DECLARE_ASN1_SET_OF(type)/* filled in by mkstack.pl */ -# define IMPLEMENT_ASN1_SET_OF(type)/* nothing, no longer needed */ - -/* - * We MUST make sure that, except for constness, asn1_ctx_st and - * asn1_const_ctx are exactly the same. Fortunately, as soon as the old ASN1 - * parsing macros are gone, we can throw this away as well... - */ -typedef struct asn1_ctx_st { - unsigned char *p; /* work char pointer */ - int eos; /* end of sequence read for indefinite - * encoding */ - int error; /* error code to use when returning an error */ - int inf; /* constructed if 0x20, indefinite is 0x21 */ - int tag; /* tag from last 'get object' */ - int xclass; /* class from last 'get object' */ - long slen; /* length of last 'get object' */ - unsigned char *max; /* largest value of p allowed */ - unsigned char *q; /* temporary variable */ - unsigned char **pp; /* variable */ - int line; /* used in error processing */ -} ASN1_CTX; - -typedef struct asn1_const_ctx_st { - const unsigned char *p; /* work char pointer */ - int eos; /* end of sequence read for indefinite - * encoding */ - int error; /* error code to use when returning an error */ - int inf; /* constructed if 0x20, indefinite is 0x21 */ - int tag; /* tag from last 'get object' */ - int xclass; /* class from last 'get object' */ - long slen; /* length of last 'get object' */ - const unsigned char *max; /* largest value of p allowed */ - const unsigned char *q; /* temporary variable */ - const unsigned char **pp; /* variable */ - int line; /* used in error processing */ -} ASN1_const_CTX; - -/* - * These are used internally in the ASN1_OBJECT to keep track of whether the - * names and data need to be free()ed - */ -# define ASN1_OBJECT_FLAG_DYNAMIC 0x01/* internal use */ -# define ASN1_OBJECT_FLAG_CRITICAL 0x02/* critical x509v3 object id */ -# define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04/* internal use */ -# define ASN1_OBJECT_FLAG_DYNAMIC_DATA 0x08/* internal use */ -struct asn1_object_st { - const char *sn, *ln; - int nid; - int length; - const unsigned char *data; /* data remains const after init */ - int flags; /* Should we free this one */ -}; +DEFINE_STACK_OF(X509_ALGOR) # define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ /* @@ -235,6 +138,10 @@ struct asn1_object_st { * 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; @@ -264,6 +171,13 @@ typedef struct ASN1_ENCODING_st { # 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) @@ -277,7 +191,7 @@ typedef struct asn1_string_table_st { unsigned long flags; } ASN1_STRING_TABLE; -DECLARE_STACK_OF(ASN1_STRING_TABLE) +DEFINE_STACK_OF(ASN1_STRING_TABLE) /* size limits: this stuff is taken straight from RFC2459 */ @@ -504,6 +418,11 @@ typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); # 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. @@ -516,10 +435,11 @@ typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); ASN1_STRFLGS_DUMP_UNKNOWN | \ ASN1_STRFLGS_DUMP_DER) -DECLARE_STACK_OF(ASN1_INTEGER) -DECLARE_ASN1_SET_OF(ASN1_INTEGER) +DEFINE_STACK_OF(ASN1_INTEGER) -DECLARE_STACK_OF(ASN1_GENERALSTRING) +DEFINE_STACK_OF(ASN1_GENERALSTRING) + +DEFINE_STACK_OF(ASN1_UTF8STRING) typedef struct asn1_type_st { int type; @@ -552,19 +472,13 @@ typedef struct asn1_type_st { } value; } ASN1_TYPE; -DECLARE_STACK_OF(ASN1_TYPE) -DECLARE_ASN1_SET_OF(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) -typedef struct NETSCAPE_X509_st { - ASN1_OCTET_STRING *header; - X509 *cert; -} NETSCAPE_X509; - /* This is used to contain a list of bit names */ typedef struct BIT_STRING_BITNAME_st { int bitnum; @@ -572,50 +486,6 @@ typedef struct BIT_STRING_BITNAME_st { const char *sname; } BIT_STRING_BITNAME; -# define M_ASN1_STRING_length(x) ((x)->length) -# define M_ASN1_STRING_length_set(x, n) ((x)->length = (n)) -# define M_ASN1_STRING_type(x) ((x)->type) -# define M_ASN1_STRING_data(x) ((x)->data) - -/* Macros for string operations */ -# define M_ASN1_BIT_STRING_new() (ASN1_BIT_STRING *)\ - ASN1_STRING_type_new(V_ASN1_BIT_STRING) -# define M_ASN1_BIT_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_BIT_STRING_dup(a) (ASN1_BIT_STRING *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_ASN1_BIT_STRING_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) -# define M_ASN1_BIT_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) - -# define M_ASN1_INTEGER_new() (ASN1_INTEGER *)\ - ASN1_STRING_type_new(V_ASN1_INTEGER) -# define M_ASN1_INTEGER_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_INTEGER_dup(a) (ASN1_INTEGER *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_ASN1_INTEGER_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) - -# define M_ASN1_ENUMERATED_new() (ASN1_ENUMERATED *)\ - ASN1_STRING_type_new(V_ASN1_ENUMERATED) -# define M_ASN1_ENUMERATED_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_ENUMERATED_dup(a) (ASN1_ENUMERATED *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_ASN1_ENUMERATED_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) - -# define M_ASN1_OCTET_STRING_new() (ASN1_OCTET_STRING *)\ - ASN1_STRING_type_new(V_ASN1_OCTET_STRING) -# define M_ASN1_OCTET_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_OCTET_STRING_dup(a) (ASN1_OCTET_STRING *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_ASN1_OCTET_STRING_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) -# define M_ASN1_OCTET_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) -# define M_ASN1_OCTET_STRING_print(a,b) ASN1_STRING_print(a,(ASN1_STRING *)b) -# define M_i2d_ASN1_OCTET_STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_OCTET_STRING,\ - V_ASN1_UNIVERSAL) - # define B_ASN1_TIME \ B_ASN1_UTCTIME | \ B_ASN1_GENERALIZEDTIME @@ -645,153 +515,25 @@ typedef struct BIT_STRING_BITNAME_st { B_ASN1_BMPSTRING|\ B_ASN1_UTF8STRING -# define M_ASN1_PRINTABLE_new() ASN1_STRING_type_new(V_ASN1_T61STRING) -# define M_ASN1_PRINTABLE_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_PRINTABLE(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_PRINTABLE(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_PRINTABLE) - -# define M_DIRECTORYSTRING_new() ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) -# define M_DIRECTORYSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_DIRECTORYSTRING(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -# define M_d2i_DIRECTORYSTRING(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_DIRECTORYSTRING) - -# define M_DISPLAYTEXT_new() ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) -# define M_DISPLAYTEXT_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_DISPLAYTEXT(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -# define M_d2i_DISPLAYTEXT(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_DISPLAYTEXT) - -# define M_ASN1_PRINTABLESTRING_new() (ASN1_PRINTABLESTRING *)\ - ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) -# define M_ASN1_PRINTABLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_PRINTABLESTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_PRINTABLESTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_PRINTABLESTRING(a,pp,l) \ - (ASN1_PRINTABLESTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_PRINTABLESTRING) - -# define M_ASN1_T61STRING_new() (ASN1_T61STRING *)\ - ASN1_STRING_type_new(V_ASN1_T61STRING) -# define M_ASN1_T61STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_T61STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_T61STRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_T61STRING(a,pp,l) \ - (ASN1_T61STRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_T61STRING) - -# define M_ASN1_IA5STRING_new() (ASN1_IA5STRING *)\ - ASN1_STRING_type_new(V_ASN1_IA5STRING) -# define M_ASN1_IA5STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_IA5STRING_dup(a) \ - (ASN1_IA5STRING *)ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_i2d_ASN1_IA5STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_IA5STRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_IA5STRING(a,pp,l) \ - (ASN1_IA5STRING *)d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l,\ - B_ASN1_IA5STRING) - -# define M_ASN1_UTCTIME_new() (ASN1_UTCTIME *)\ - ASN1_STRING_type_new(V_ASN1_UTCTIME) -# define M_ASN1_UTCTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_UTCTIME_dup(a) (ASN1_UTCTIME *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) - -# define M_ASN1_GENERALIZEDTIME_new() (ASN1_GENERALIZEDTIME *)\ - ASN1_STRING_type_new(V_ASN1_GENERALIZEDTIME) -# define M_ASN1_GENERALIZEDTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_GENERALIZEDTIME_dup(a) (ASN1_GENERALIZEDTIME *)ASN1_STRING_dup(\ - (const ASN1_STRING *)a) - -# define M_ASN1_TIME_new() (ASN1_TIME *)\ - ASN1_STRING_type_new(V_ASN1_UTCTIME) -# define M_ASN1_TIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_TIME_dup(a) (ASN1_TIME *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) - -# define M_ASN1_GENERALSTRING_new() (ASN1_GENERALSTRING *)\ - ASN1_STRING_type_new(V_ASN1_GENERALSTRING) -# define M_ASN1_GENERALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_GENERALSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_GENERALSTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_GENERALSTRING(a,pp,l) \ - (ASN1_GENERALSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_GENERALSTRING) - -# define M_ASN1_UNIVERSALSTRING_new() (ASN1_UNIVERSALSTRING *)\ - ASN1_STRING_type_new(V_ASN1_UNIVERSALSTRING) -# define M_ASN1_UNIVERSALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_UNIVERSALSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UNIVERSALSTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_UNIVERSALSTRING(a,pp,l) \ - (ASN1_UNIVERSALSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_UNIVERSALSTRING) - -# define M_ASN1_BMPSTRING_new() (ASN1_BMPSTRING *)\ - ASN1_STRING_type_new(V_ASN1_BMPSTRING) -# define M_ASN1_BMPSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_BMPSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_BMPSTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_BMPSTRING(a,pp,l) \ - (ASN1_BMPSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_BMPSTRING) - -# define M_ASN1_VISIBLESTRING_new() (ASN1_VISIBLESTRING *)\ - ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) -# define M_ASN1_VISIBLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_VISIBLESTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_VISIBLESTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_VISIBLESTRING(a,pp,l) \ - (ASN1_VISIBLESTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_VISIBLESTRING) - -# define M_ASN1_UTF8STRING_new() (ASN1_UTF8STRING *)\ - ASN1_STRING_type_new(V_ASN1_UTF8STRING) -# define M_ASN1_UTF8STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_UTF8STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UTF8STRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_UTF8STRING(a,pp,l) \ - (ASN1_UTF8STRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_UTF8STRING) - - /* for the is_set parameter to i2d_ASN1_SET */ -# define IS_SEQUENCE 0 -# define IS_SET 1 - DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) -int ASN1_TYPE_get(ASN1_TYPE *a); +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(ASN1_OBJECT *a, unsigned char **pp); -ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, - long length); +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) -DECLARE_STACK_OF(ASN1_OBJECT) -DECLARE_ASN1_SET_OF(ASN1_OBJECT) +DEFINE_STACK_OF(ASN1_OBJECT) ASN1_STRING *ASN1_STRING_new(void); void ASN1_STRING_free(ASN1_STRING *a); @@ -808,34 +550,24 @@ 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(ASN1_STRING *x); -unsigned char *ASN1_STRING_data(ASN1_STRING *x); +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 i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp); -ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, - const unsigned char **pp, long length); 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(ASN1_BIT_STRING *a, int n); -int ASN1_BIT_STRING_check(ASN1_BIT_STRING *a, - unsigned char *flags, int flags_len); +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); -# ifndef OPENSSL_NO_BIO int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, BIT_STRING_BITNAME *tbl, int indent); -# endif -int ASN1_BIT_STRING_num_asc(char *name, BIT_STRING_BITNAME *tbl); -int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, char *name, int value, +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); -int i2d_ASN1_BOOLEAN(int a, unsigned char **pp); -int d2i_ASN1_BOOLEAN(int *a, const unsigned char **pp, long length); - DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) -int i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp); -ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, - long length); ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length); ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); @@ -849,9 +581,6 @@ 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); -# if 0 -time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s); -# endif int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, @@ -860,6 +589,7 @@ 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); @@ -896,59 +626,53 @@ 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(ASN1_TIME *t); -ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME - **out); +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 i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, - i2d_of_void *i2d, int ex_tag, int ex_class, int is_set); -STACK_OF(OPENSSL_BLOCK) *d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, - const unsigned char **pp, - long length, d2i_of_void *d2i, - void (*free_func) (OPENSSL_BLOCK), - int ex_tag, int ex_class); - -# ifndef OPENSSL_NO_BIO -int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a); +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, ASN1_ENUMERATED *a); +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, ASN1_OBJECT *a); +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, ASN1_STRING *a, int type); -# endif -int i2t_ASN1_OBJECT(char *buf, int buf_len, ASN1_OBJECT *a); +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(ASN1_ENUMERATED *a); -ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai); -BIGNUM *ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED *ai, BIGNUM *bn); +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); -int i2d_ASN1_bytes(ASN1_STRING *a, unsigned char **pp, int tag, int xclass); -ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, - long length, int Ptag, int Pclass); unsigned long ASN1_tag2bit(int tag); -/* type is one or more of the B_ASN1_ values. */ -ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, - long length, int type); - -/* PARSING */ -int asn1_Finish(ASN1_CTX *c); -int asn1_const_Finish(ASN1_const_CTX *c); /* SPECIALS */ int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, @@ -981,7 +705,7 @@ void *ASN1_item_dup(const ASN1_ITEM *it, void *x); # define M_ASN1_free_of(x, type) \ ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) -# ifndef OPENSSL_NO_FP_API +# 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) \ @@ -1004,12 +728,11 @@ int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); 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, ASN1_STRING *str, unsigned long flags); +int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags); # endif -int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); +int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in); -# ifndef OPENSSL_NO_BIO 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) \ @@ -1036,42 +759,27 @@ 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, ASN1_STRING *str, unsigned long flags); +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); -# endif const char *ASN1_tag2str(int tag); -/* Used to load and write netscape format cert */ - -DECLARE_ASN1_FUNCTIONS(NETSCAPE_X509) +/* 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(ASN1_TYPE *a, unsigned char *data, int max_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(ASN1_TYPE *a, long *num, +int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, unsigned char *data, int max_len); -STACK_OF(OPENSSL_BLOCK) *ASN1_seq_unpack(const unsigned char *buf, int len, - d2i_of_void *d2i, - void (*free_func) (OPENSSL_BLOCK)); -unsigned char *ASN1_seq_pack(STACK_OF(OPENSSL_BLOCK) *safes, i2d_of_void *i2d, - unsigned char **buf, int *len); -void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i); -void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it); -ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, - ASN1_OCTET_STRING **oct); - -# define ASN1_pack_string_of(type,obj,i2d,oct) \ - (ASN1_pack_string(CHECKED_PTR_OF(type, obj), \ - CHECKED_I2D_OF(type, i2d), \ - oct)) +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); @@ -1104,9 +812,11 @@ 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(char *str, CONF *nconf); -ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf); +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 */ @@ -1133,18 +843,26 @@ 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(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(ASN1_PCTX *p); +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(ASN1_PCTX *p); +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(ASN1_PCTX *p); +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(ASN1_PCTX *p); +unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p); void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); -BIO_METHOD *BIO_f_asn1(void); +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); @@ -1159,262 +877,10 @@ 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); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ASN1_strings(void); +const ASN1_ITEM *ASN1_ITEM_lookup(const char *name); +const ASN1_ITEM *ASN1_ITEM_get(size_t i); -/* Error codes for the ASN1 functions. */ - -/* Function codes. */ -# define ASN1_F_A2D_ASN1_OBJECT 100 -# define ASN1_F_A2I_ASN1_ENUMERATED 101 -# define ASN1_F_A2I_ASN1_INTEGER 102 -# define ASN1_F_A2I_ASN1_STRING 103 -# define ASN1_F_APPEND_EXP 176 -# 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_COLLATE_PRIMITIVE 105 -# 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_DUP 111 -# define ASN1_F_ASN1_ENUMERATED_SET 112 -# define ASN1_F_ASN1_ENUMERATED_TO_BN 113 -# 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_GENERALIZEDTIME_SET 185 -# define ASN1_F_ASN1_GENERATE_V3 178 -# define ASN1_F_ASN1_GET_OBJECT 114 -# define ASN1_F_ASN1_HEADER_NEW 115 -# define ASN1_F_ASN1_I2D_BIO 116 -# define ASN1_F_ASN1_I2D_FP 117 -# define ASN1_F_ASN1_INTEGER_SET 118 -# define ASN1_F_ASN1_INTEGER_TO_BN 119 -# define ASN1_F_ASN1_ITEM_D2I_FP 206 -# define ASN1_F_ASN1_ITEM_DUP 191 -# define ASN1_F_ASN1_ITEM_EX_COMBINE_NEW 121 -# define ASN1_F_ASN1_ITEM_EX_D2I 120 -# 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_PACK_STRING 124 -# define ASN1_F_ASN1_PCTX_NEW 205 -# define ASN1_F_ASN1_PKCS5_PBE_SET 125 -# define ASN1_F_ASN1_SEQ_PACK 126 -# define ASN1_F_ASN1_SEQ_UNPACK 127 -# define ASN1_F_ASN1_SIGN 128 -# define ASN1_F_ASN1_STR2TYPE 179 -# define ASN1_F_ASN1_STRING_SET 186 -# define ASN1_F_ASN1_STRING_TABLE_ADD 129 -# 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_TIME_SET 175 -# define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 -# define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 -# define ASN1_F_ASN1_UNPACK_STRING 136 -# define ASN1_F_ASN1_UTCTIME_ADJ 218 -# define ASN1_F_ASN1_UTCTIME_SET 187 -# 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_ENUMERATED 138 -# define ASN1_F_BN_TO_ASN1_INTEGER 139 -# 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_COLLECT_DATA 140 -# define ASN1_F_D2I_ASN1_BIT_STRING 141 -# define ASN1_F_D2I_ASN1_BOOLEAN 142 -# define ASN1_F_D2I_ASN1_BYTES 143 -# define ASN1_F_D2I_ASN1_GENERALIZEDTIME 144 -# define ASN1_F_D2I_ASN1_HEADER 145 -# define ASN1_F_D2I_ASN1_INTEGER 146 -# define ASN1_F_D2I_ASN1_OBJECT 147 -# define ASN1_F_D2I_ASN1_SET 148 -# define ASN1_F_D2I_ASN1_TYPE_BYTES 149 -# define ASN1_F_D2I_ASN1_UINTEGER 150 -# define ASN1_F_D2I_ASN1_UTCTIME 151 -# define ASN1_F_D2I_AUTOPRIVATEKEY 207 -# define ASN1_F_D2I_NETSCAPE_RSA 152 -# define ASN1_F_D2I_NETSCAPE_RSA_2 153 -# define ASN1_F_D2I_PRIVATEKEY 154 -# define ASN1_F_D2I_PUBLICKEY 155 -# define ASN1_F_D2I_RSA_NET 200 -# define ASN1_F_D2I_RSA_NET_2 201 -# define ASN1_F_D2I_X509 156 -# define ASN1_F_D2I_X509_CINF 157 -# define ASN1_F_D2I_X509_PKEY 159 -# define ASN1_F_I2D_ASN1_BIO_STREAM 211 -# define ASN1_F_I2D_ASN1_SET 188 -# define ASN1_F_I2D_ASN1_TIME 160 -# 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_NET 162 -# define ASN1_F_I2D_RSA_PUBKEY 165 -# define ASN1_F_LONG_C2I 166 -# 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_PBE_SET 202 -# define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 -# define ASN1_F_PKCS5_PBKDF2_SET 219 -# define ASN1_F_SMIME_READ_ASN1 212 -# define ASN1_F_SMIME_TEXT 213 -# define ASN1_F_X509_CINF_NEW 168 -# 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_NEW 172 -# define ASN1_F_X509_PKEY_NEW 173 - -/* 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_CLASS 101 -# define ASN1_R_BAD_OBJECT_HEADER 102 -# define ASN1_R_BAD_PASSWORD_READ 103 -# define ASN1_R_BAD_TAG 104 -# 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_DECODING_ERROR 111 -# 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_PARSING_SET_ELEMENT 113 -# 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_EXPECTING_A_BOOLEAN 117 -# define ASN1_R_EXPECTING_A_TIME 118 -# 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_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_TAGGED_ANY 127 -# define ASN1_R_ILLEGAL_TIME_VALUE 184 -# 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_SEPARATOR 131 -# define ASN1_R_INVALID_TIME_FORMAT 132 -# define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 133 -# define ASN1_R_INVALID_UTF8STRING 134 -# define ASN1_R_IV_TOO_LARGE 135 -# define ASN1_R_LENGTH_ERROR 136 -# 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 219 -# 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_DEFAULT_DIGEST 201 -# 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_PRIVATE_KEY_HEADER_MISSING 146 -# 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_TAG_VALUE_TOO_HIGH 153 -# 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_LONG 155 -# define ASN1_R_TYPE_NOT_CONSTRUCTED 156 -# define ASN1_R_TYPE_NOT_PRIMITIVE 218 -# define ASN1_R_UNABLE_TO_DECODE_RSA_KEY 157 -# define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY 158 -# 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_UNKOWN_FORMAT 195 -# define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 164 -# define ASN1_R_UNSUPPORTED_CIPHER 165 -# define ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM 166 -# define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 167 -# define ASN1_R_UNSUPPORTED_TYPE 196 -# define ASN1_R_WRONG_PUBLIC_KEY_TYPE 200 -# define ASN1_R_WRONG_TAG 168 -# define ASN1_R_WRONG_TYPE 169 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/asn1_mac.h b/ext/openssl/windows/x64/include/openssl/asn1_mac.h index abc6dc35..7ac1782a 100644 --- a/ext/openssl/windows/x64/include/openssl/asn1_mac.h +++ b/ext/openssl/windows/x64/include/openssl/asn1_mac.h @@ -1,579 +1,10 @@ -/* crypto/asn1/asn1_mac.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_ASN1_MAC_H -# define HEADER_ASN1_MAC_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifndef ASN1_MAC_ERR_LIB -# define ASN1_MAC_ERR_LIB ERR_LIB_ASN1 -# endif - -# define ASN1_MAC_H_err(f,r,line) \ - ERR_PUT_error(ASN1_MAC_ERR_LIB,(f),(r),__FILE__,(line)) - -# define M_ASN1_D2I_vars(a,type,func) \ - ASN1_const_CTX c; \ - type ret=NULL; \ - \ - c.pp=(const unsigned char **)pp; \ - c.q= *(const unsigned char **)pp; \ - c.error=ERR_R_NESTED_ASN1_ERROR; \ - if ((a == NULL) || ((*a) == NULL)) \ - { if ((ret=(type)func()) == NULL) \ - { c.line=__LINE__; goto err; } } \ - else ret=(*a); - -# define M_ASN1_D2I_Init() \ - c.p= *(const unsigned char **)pp; \ - c.max=(length == 0)?0:(c.p+length); - -# define M_ASN1_D2I_Finish_2(a) \ - if (!asn1_const_Finish(&c)) \ - { c.line=__LINE__; goto err; } \ - *(const unsigned char **)pp=c.p; \ - if (a != NULL) (*a)=ret; \ - return(ret); - -# define M_ASN1_D2I_Finish(a,func,e) \ - M_ASN1_D2I_Finish_2(a); \ -err:\ - ASN1_MAC_H_err((e),c.error,c.line); \ - asn1_add_error(*(const unsigned char **)pp,(int)(c.q- *pp)); \ - if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ - return(NULL) - -# define M_ASN1_D2I_start_sequence() \ - if (!asn1_GetSequence(&c,&length)) \ - { c.line=__LINE__; goto err; } -/* Begin reading ASN1 without a surrounding sequence */ -# define M_ASN1_D2I_begin() \ - c.slen = length; - -/* End reading ASN1 with no check on length */ -# define M_ASN1_D2I_Finish_nolen(a, func, e) \ - *pp=c.p; \ - if (a != NULL) (*a)=ret; \ - return(ret); \ -err:\ - ASN1_MAC_H_err((e),c.error,c.line); \ - asn1_add_error(*pp,(int)(c.q- *pp)); \ - if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ - return(NULL) - -# define M_ASN1_D2I_end_sequence() \ - (((c.inf&1) == 0)?(c.slen <= 0): \ - (c.eos=ASN1_const_check_infinite_end(&c.p,c.slen))) - -/* Don't use this with d2i_ASN1_BOOLEAN() */ -# define M_ASN1_D2I_get(b, func) \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -/* Don't use this with d2i_ASN1_BOOLEAN() */ -# define M_ASN1_D2I_get_x(type,b,func) \ - c.q=c.p; \ - if (((D2I_OF(type))func)(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -/* use this instead () */ -# define M_ASN1_D2I_get_int(b,func) \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) < 0) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -# define M_ASN1_D2I_get_opt(b,func,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ - == (V_ASN1_UNIVERSAL|(type)))) \ - { \ - M_ASN1_D2I_get(b,func); \ - } - -# define M_ASN1_D2I_get_int_opt(b,func,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ - == (V_ASN1_UNIVERSAL|(type)))) \ - { \ - M_ASN1_D2I_get_int(b,func); \ - } - -# define M_ASN1_D2I_get_imp(b,func, type) \ - M_ASN1_next=(_tmp& V_ASN1_CONSTRUCTED)|type; \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; M_ASN1_next_prev = _tmp; goto err; } \ - c.slen-=(c.p-c.q);\ - M_ASN1_next_prev=_tmp; - -# define M_ASN1_D2I_get_IMP_opt(b,func,tag,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) == \ - (V_ASN1_CONTEXT_SPECIFIC|(tag)))) \ - { \ - unsigned char _tmp = M_ASN1_next; \ - M_ASN1_D2I_get_imp(b,func, type);\ - } - -# define M_ASN1_D2I_get_set(r,func,free_func) \ - M_ASN1_D2I_get_imp_set(r,func,free_func, \ - V_ASN1_SET,V_ASN1_UNIVERSAL); - -# define M_ASN1_D2I_get_set_type(type,r,func,free_func) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func, \ - V_ASN1_SET,V_ASN1_UNIVERSAL); - -# define M_ASN1_D2I_get_set_opt(r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ - { M_ASN1_D2I_get_set(r,func,free_func); } - -# define M_ASN1_D2I_get_set_opt_type(type,r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ - { M_ASN1_D2I_get_set_type(type,r,func,free_func); } - -# define M_ASN1_I2D_len_SET_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_len_SET(a,f); - -# define M_ASN1_I2D_put_SET_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SET(a,f); - -# define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE(a,f); - -# define M_ASN1_I2D_put_SEQUENCE_opt_type(type,a,f) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE_type(type,a,f); - -# define M_ASN1_D2I_get_IMP_set_opt(b,func,free_func,tag) \ - if ((c.slen != 0) && \ - (M_ASN1_next == \ - (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ - { \ - M_ASN1_D2I_get_imp_set(b,func,free_func,\ - tag,V_ASN1_CONTEXT_SPECIFIC); \ - } - -# define M_ASN1_D2I_get_IMP_set_opt_type(type,b,func,free_func,tag) \ - if ((c.slen != 0) && \ - (M_ASN1_next == \ - (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ - { \ - M_ASN1_D2I_get_imp_set_type(type,b,func,free_func,\ - tag,V_ASN1_CONTEXT_SPECIFIC); \ - } - -# define M_ASN1_D2I_get_seq(r,func,free_func) \ - M_ASN1_D2I_get_imp_set(r,func,free_func,\ - V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); - -# define M_ASN1_D2I_get_seq_type(type,r,func,free_func) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ - V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) - -# define M_ASN1_D2I_get_seq_opt(r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ - { M_ASN1_D2I_get_seq(r,func,free_func); } - -# define M_ASN1_D2I_get_seq_opt_type(type,r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ - { M_ASN1_D2I_get_seq_type(type,r,func,free_func); } - -# define M_ASN1_D2I_get_IMP_set(r,func,free_func,x) \ - M_ASN1_D2I_get_imp_set(r,func,free_func,\ - x,V_ASN1_CONTEXT_SPECIFIC); - -# define M_ASN1_D2I_get_IMP_set_type(type,r,func,free_func,x) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ - x,V_ASN1_CONTEXT_SPECIFIC); - -# define M_ASN1_D2I_get_imp_set(r,func,free_func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_SET(&(r),&c.p,c.slen,(char *(*)())func,\ - (void (*)())free_func,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -# define M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_SET_OF_##type(&(r),&c.p,c.slen,func,\ - free_func,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -# define M_ASN1_D2I_get_set_strings(r,func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_STRING_SET(&(r),&c.p,c.slen,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -# define M_ASN1_D2I_get_EXP_opt(r,func,tag) \ - if ((c.slen != 0L) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (func(&(r),&c.p,Tlen) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_const_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -# define M_ASN1_D2I_get_EXP_set_opt(r,func,free_func,tag,b) \ - if ((c.slen != 0) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (d2i_ASN1_SET(&(r),&c.p,Tlen,(char *(*)())func, \ - (void (*)())free_func, \ - b,V_ASN1_UNIVERSAL) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -# define M_ASN1_D2I_get_EXP_set_opt_type(type,r,func,free_func,tag,b) \ - if ((c.slen != 0) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (d2i_ASN1_SET_OF_##type(&(r),&c.p,Tlen,func, \ - free_func,b,V_ASN1_UNIVERSAL) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -/* New macros */ -# define M_ASN1_New_Malloc(ret,type) \ - if ((ret=(type *)OPENSSL_malloc(sizeof(type))) == NULL) \ - { c.line=__LINE__; goto err2; } - -# define M_ASN1_New(arg,func) \ - if (((arg)=func()) == NULL) return(NULL) - -# define M_ASN1_New_Error(a) \ -/*- err: ASN1_MAC_H_err((a),ERR_R_NESTED_ASN1_ERROR,c.line); \ - return(NULL);*/ \ - err2: ASN1_MAC_H_err((a),ERR_R_MALLOC_FAILURE,c.line); \ - return(NULL) - /* - * BIG UGLY WARNING! This is so damn ugly I wanna puke. Unfortunately, some - * macros that use ASN1_const_CTX still insist on writing in the input - * stream. ARGH! ARGH! ARGH! Let's get rid of this macro package. Please? -- - * Richard Levitte + * 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 */ -# define M_ASN1_next (*((unsigned char *)(c.p))) -# define M_ASN1_next_prev (*((unsigned char *)(c.q))) -/*************************************************/ - -# define M_ASN1_I2D_vars(a) int r=0,ret=0; \ - unsigned char *p; \ - if (a == NULL) return(0) - -/* Length Macros */ -# define M_ASN1_I2D_len(a,f) ret+=f(a,NULL) -# define M_ASN1_I2D_len_IMP_opt(a,f) if (a != NULL) M_ASN1_I2D_len(a,f) - -# define M_ASN1_I2D_len_SET(a,f) \ - ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET); - -# define M_ASN1_I2D_len_SET_type(type,a,f) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SET, \ - V_ASN1_UNIVERSAL,IS_SET); - -# define M_ASN1_I2D_len_SEQUENCE(a,f) \ - ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); - -# define M_ASN1_I2D_len_SEQUENCE_type(type,a,f) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SEQUENCE, \ - V_ASN1_UNIVERSAL,IS_SEQUENCE) - -# define M_ASN1_I2D_len_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_len_SEQUENCE(a,f); - -# define M_ASN1_I2D_len_SEQUENCE_opt_type(type,a,f) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - M_ASN1_I2D_len_SEQUENCE_type(type,a,f); - -# define M_ASN1_I2D_len_IMP_SET(a,f,x) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -# define M_ASN1_I2D_len_IMP_SET_type(type,a,f,x) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -# define M_ASN1_I2D_len_IMP_SET_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); - -# define M_ASN1_I2D_len_IMP_SET_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -# define M_ASN1_I2D_len_IMP_SEQUENCE(a,f,x) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -# define M_ASN1_I2D_len_IMP_SEQUENCE_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -# define M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -# define M_ASN1_I2D_len_EXP_opt(a,f,mtag,v) \ - if (a != NULL)\ - { \ - v=f(a,NULL); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -# define M_ASN1_I2D_len_EXP_SET_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0))\ - { \ - v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -# define M_ASN1_I2D_len_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0))\ - { \ - v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -# define M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_##type##_num(a) != 0))\ - { \ - v=i2d_ASN1_SET_OF_##type(a,NULL,f,tag, \ - V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -/* Put Macros */ -# define M_ASN1_I2D_put(a,f) f(a,&p) - -# define M_ASN1_I2D_put_IMP_opt(a,f,t) \ - if (a != NULL) \ - { \ - unsigned char *q=p; \ - f(a,&p); \ - *q=(V_ASN1_CONTEXT_SPECIFIC|t|(*q&V_ASN1_CONSTRUCTED));\ - } - -# define M_ASN1_I2D_put_SET(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SET,\ - V_ASN1_UNIVERSAL,IS_SET) -# define M_ASN1_I2D_put_SET_type(type,a,f) \ - i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET) -# define M_ASN1_I2D_put_IMP_SET(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ - V_ASN1_CONTEXT_SPECIFIC,IS_SET) -# define M_ASN1_I2D_put_IMP_SET_type(type,a,f,x) \ - i2d_ASN1_SET_OF_##type(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET) -# define M_ASN1_I2D_put_IMP_SEQUENCE(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ - V_ASN1_CONTEXT_SPECIFIC,IS_SEQUENCE) - -# define M_ASN1_I2D_put_SEQUENCE(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SEQUENCE,\ - V_ASN1_UNIVERSAL,IS_SEQUENCE) - -# define M_ASN1_I2D_put_SEQUENCE_type(type,a,f) \ - i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE) - -# define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE(a,f); - -# define M_ASN1_I2D_put_IMP_SET_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); } - -# define M_ASN1_I2D_put_IMP_SET_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); } - -# define M_ASN1_I2D_put_IMP_SEQUENCE_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); } - -# define M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); } - -# define M_ASN1_I2D_put_EXP_opt(a,f,tag,v) \ - if (a != NULL) \ - { \ - ASN1_put_object(&p,1,v,tag,V_ASN1_CONTEXT_SPECIFIC); \ - f(a,&p); \ - } - -# define M_ASN1_I2D_put_EXP_SET_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ - } - -# define M_ASN1_I2D_put_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SEQUENCE); \ - } - -# define M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET_OF_##type(a,&p,f,tag,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - } - -# define M_ASN1_I2D_seq_total() \ - r=ASN1_object_size(1,ret,V_ASN1_SEQUENCE); \ - if (pp == NULL) return(r); \ - p= *pp; \ - ASN1_put_object(&p,1,ret,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) - -# define M_ASN1_I2D_INF_seq_start(tag,ctx) \ - *(p++)=(V_ASN1_CONSTRUCTED|(tag)|(ctx)); \ - *(p++)=0x80 - -# define M_ASN1_I2D_INF_seq_end() *(p++)=0x00; *(p++)=0x00 - -# define M_ASN1_I2D_finish() *pp=p; \ - return(r); - -int asn1_GetSequence(ASN1_const_CTX *c, long *length); -void asn1_add_error(const unsigned char *address, int offset); -#ifdef __cplusplus -} -#endif - -#endif +#error "This file is obsolete; please update your software." diff --git a/ext/openssl/windows/x64/include/openssl/asn1err.h b/ext/openssl/windows/x64/include/openssl/asn1err.h new file mode 100644 index 00000000..5a91126d --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/asn1err.h @@ -0,0 +1,252 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_ASN1ERR_H +# define HEADER_ASN1ERR_H + +# 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/ext/openssl/windows/x64/include/openssl/asn1t.h b/ext/openssl/windows/x64/include/openssl/asn1t.h index 99bc0eec..a450ba0d 100644 --- a/ext/openssl/windows/x64/include/openssl/asn1t.h +++ b/ext/openssl/windows/x64/include/openssl/asn1t.h @@ -1,61 +1,12 @@ -/* asn1t.h */ /* - * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project - * 2000. - */ -/* ==================================================================== - * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * + * 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 @@ -82,15 +33,18 @@ extern "C" { /* Macros for start and end of ASN1_ITEM definition */ # define ASN1_ITEM_start(itname) \ - OPENSSL_GLOBAL const ASN1_ITEM itname##_it = { + const ASN1_ITEM itname##_it = { -# define ASN1_ITEM_end(itname) \ +# 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())) +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)((iptr)())) /* Macros for start and end of ASN1_ITEM definition */ @@ -99,6 +53,9 @@ extern "C" { { \ 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; \ @@ -122,6 +79,17 @@ extern "C" { 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 */ @@ -151,9 +119,23 @@ extern "C" { # 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,\ @@ -177,8 +159,8 @@ extern "C" { static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ ASN1_SEQUENCE(tname) -# define ASN1_SEQUENCE_ref(tname, cb, lck) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), lck, cb, 0}; \ +# 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) \ @@ -196,16 +178,41 @@ extern "C" { 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,\ @@ -259,8 +266,12 @@ extern "C" { # 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) \ @@ -273,6 +284,18 @@ extern "C" { #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) \ @@ -299,18 +322,13 @@ extern "C" { (flags), (tag), offsetof(stname, field),\ #field, ASN1_ITEM_ref(type) } -/* used when the structure is combined with the parent */ - -# define ASN1_EX_COMBINE(flags, tag, type) { \ - (flags)|ASN1_TFLG_COMBINE, (tag), 0, NULL, 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) + 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) + ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | (ex), tag, stname, field, type) /* Any defined by macros: the field used is in the table itself */ @@ -323,20 +341,27 @@ extern "C" { # 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) \ @@ -395,12 +420,12 @@ extern "C" { # ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION -# define ASN1_ADB_END(name, flags, field, app_table, def, none) \ +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ ;\ static const ASN1_ADB name##_adb = {\ flags,\ offsetof(name, field),\ - app_table,\ + adb_cb,\ name##_adbtbl,\ sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ def,\ @@ -409,7 +434,7 @@ extern "C" { # else -# define ASN1_ADB_END(name, flags, field, app_table, def, none) \ +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ ;\ static const ASN1_ITEM *name##_adb(void) \ { \ @@ -417,7 +442,7 @@ extern "C" { {\ flags,\ offsetof(name, field),\ - app_table,\ + adb_cb,\ name##_adbtbl,\ sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ def,\ @@ -444,9 +469,7 @@ 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 */ -# ifndef NO_ASN1_FIELD_NAMES const char *field_name; /* Field name */ -# endif ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ }; @@ -461,7 +484,7 @@ typedef struct ASN1_ADB_st ASN1_ADB; struct ASN1_ADB_st { unsigned long flags; /* Various flags */ unsigned long offset; /* Offset of selector field */ - STACK_OF(ASN1_ADB_TABLE) **app_items; /* Application defined items */ + 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 */ @@ -508,10 +531,10 @@ struct ASN1_ADB_TABLE_st { # define ASN1_TFLG_TAG_MASK (0x3 << 3) /* context specific IMPLICIT */ -# define ASN1_TFLG_IMPLICIT ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT +# define ASN1_TFLG_IMPLICIT (ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT) /* context specific EXPLICIT */ -# define ASN1_TFLG_EXPLICIT ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT +# define ASN1_TFLG_EXPLICIT (ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT) /* * If tagging is in force these determine the type of tag to use. Otherwise @@ -542,15 +565,6 @@ struct ASN1_ADB_TABLE_st { # define ASN1_TFLG_ADB_INT (0x1<<9) -/* - * This flag means a parent structure is passed instead of the field: this is - * useful is a SEQUENCE is being combined with a CHOICE for example. Since - * this means the structure and item name will differ we need to use the - * ASN1_CHOICE_END_name() macro for example. - */ - -# define ASN1_TFLG_COMBINE (0x1<<10) - /* * This flag when present in a SEQUENCE OF, SET OF or EXPLICIT causes * indefinite length constructed encoding to be used if required. @@ -558,6 +572,9 @@ struct ASN1_ADB_TABLE_st { # 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 { @@ -569,9 +586,7 @@ struct ASN1_ITEM_st { long tcount; /* Number of templates if SEQUENCE or CHOICE */ const void *funcs; /* functions that handle this type */ long size; /* Structure size (usually) */ -# ifndef NO_ASN1_FIELD_NAMES const char *sname; /* Structure name */ -# endif }; /*- @@ -597,10 +612,6 @@ struct ASN1_ITEM_st { * The 'funcs' field is used for application * specific functions. * - * For COMPAT types the funcs field gives a - * set of functions that handle this type, this - * supports the old d2i, i2d convention. - * * 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 @@ -625,8 +636,6 @@ struct ASN1_ITEM_st { # define ASN1_ITYPE_CHOICE 0x2 -# define ASN1_ITYPE_COMPAT 0x3 - # define ASN1_ITYPE_EXTERN 0x4 # define ASN1_ITYPE_MSTRING 0x5 @@ -648,13 +657,6 @@ struct ASN1_TLC_st { }; /* Typedefs for ASN1 function pointers */ - -typedef ASN1_VALUE *ASN1_new_func(void); -typedef void ASN1_free_func(ASN1_VALUE *a); -typedef ASN1_VALUE *ASN1_d2i_func(ASN1_VALUE **a, const unsigned char **in, - long length); -typedef int ASN1_i2d_func(ASN1_VALUE *a, unsigned char **in); - 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); @@ -677,13 +679,6 @@ typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx); -typedef struct ASN1_COMPAT_FUNCS_st { - ASN1_new_func *asn1_new; - ASN1_free_func *asn1_free; - ASN1_d2i_func *asn1_d2i; - ASN1_i2d_func *asn1_i2d; -} ASN1_COMPAT_FUNCS; - typedef struct ASN1_EXTERN_FUNCS_st { void *app_data; ASN1_ex_new_func *asn1_ex_new; @@ -786,27 +781,6 @@ typedef struct ASN1_STREAM_ARG_st { ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ ASN1_ITEM_end(itname) -/* Macro to implement an ASN1_ITEM in terms of old style funcs */ - -# define IMPLEMENT_COMPAT_ASN1(sname) IMPLEMENT_COMPAT_ASN1_type(sname, V_ASN1_SEQUENCE) - -# define IMPLEMENT_COMPAT_ASN1_type(sname, tag) \ - static const ASN1_COMPAT_FUNCS sname##_ff = { \ - (ASN1_new_func *)sname##_new, \ - (ASN1_free_func *)sname##_free, \ - (ASN1_d2i_func *)d2i_##sname, \ - (ASN1_i2d_func *)i2d_##sname, \ - }; \ - ASN1_ITEM_start(sname) \ - ASN1_ITYPE_COMPAT, \ - tag, \ - NULL, \ - 0, \ - &sname##_ff, \ - 0, \ - #sname \ - ASN1_ITEM_end(sname) - # define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ ASN1_ITEM_start(sname) \ ASN1_ITYPE_EXTERN, \ @@ -873,6 +847,19 @@ typedef struct ASN1_STREAM_ARG_st { 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. @@ -919,53 +906,38 @@ 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 -DECLARE_STACK_OF(ASN1_VALUE) +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_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); -int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it); -void ASN1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); -int ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, - const ASN1_TEMPLATE *tt); 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); -int ASN1_template_i2d(ASN1_VALUE **pval, unsigned char **out, - const ASN1_TEMPLATE *tt); -void ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it); - -int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, - const ASN1_ITEM *it); -int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, - int utype, char *free_cont, const ASN1_ITEM *it); - -int asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM *it); -int asn1_set_choice_selector(ASN1_VALUE **pval, int value, - const ASN1_ITEM *it); - -ASN1_VALUE **asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); - -const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, - int nullerr); - -int asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it); - -void asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it); -void asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it); -int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval, - const ASN1_ITEM *it); -int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, - const ASN1_ITEM *it); #ifdef __cplusplus } diff --git a/ext/openssl/windows/x64/include/openssl/async.h b/ext/openssl/windows/x64/include/openssl/async.h new file mode 100644 index 00000000..7052b890 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/async.h @@ -0,0 +1,76 @@ +/* + * 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/ext/openssl/windows/x64/include/openssl/asyncerr.h b/ext/openssl/windows/x64/include/openssl/asyncerr.h new file mode 100644 index 00000000..5497ba75 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/asyncerr.h @@ -0,0 +1,38 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_ASYNCERR_H +# define HEADER_ASYNCERR_H + +# 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/ext/openssl/windows/x64/include/openssl/bio.h b/ext/openssl/windows/x64/include/openssl/bio.h index 8f2438cd..2888b42d 100644 --- a/ext/openssl/windows/x64/include/openssl/bio.h +++ b/ext/openssl/windows/x64/include/openssl/bio.h @@ -1,59 +1,10 @@ -/* crypto/bio/bio.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 @@ -61,58 +12,56 @@ # include -# ifndef OPENSSL_NO_FP_API +# ifndef OPENSSL_NO_STDIO # include # endif # include # include +# include # ifndef OPENSSL_NO_SCTP -# ifndef OPENSSL_SYS_VMS -# include -# else -# include -# endif +# include # endif #ifdef __cplusplus extern "C" { #endif -/* These are the 'types' of BIOs */ -# define BIO_TYPE_NONE 0 -# define BIO_TYPE_MEM (1|0x0400) -# define BIO_TYPE_FILE (2|0x0400) - -# define BIO_TYPE_FD (4|0x0400|0x0100) -# define BIO_TYPE_SOCKET (5|0x0400|0x0100) -# define BIO_TYPE_NULL (6|0x0400) -# define BIO_TYPE_SSL (7|0x0200) -# define BIO_TYPE_MD (8|0x0200)/* passive filter */ -# define BIO_TYPE_BUFFER (9|0x0200)/* filter */ -# define BIO_TYPE_CIPHER (10|0x0200)/* filter */ -# define BIO_TYPE_BASE64 (11|0x0200)/* filter */ -# define BIO_TYPE_CONNECT (12|0x0400|0x0100)/* socket - connect */ -# define BIO_TYPE_ACCEPT (13|0x0400|0x0100)/* socket for accept */ -# define BIO_TYPE_PROXY_CLIENT (14|0x0200)/* client proxy BIO */ -# define BIO_TYPE_PROXY_SERVER (15|0x0200)/* server proxy BIO */ -# define BIO_TYPE_NBIO_TEST (16|0x0200)/* server proxy BIO */ -# define BIO_TYPE_NULL_FILTER (17|0x0200) -# define BIO_TYPE_BER (18|0x0200)/* BER -> bin filter */ -# define BIO_TYPE_BIO (19|0x0400)/* (half a) BIO pair */ -# define BIO_TYPE_LINEBUFFER (20|0x0200)/* filter */ -# define BIO_TYPE_DGRAM (21|0x0400|0x0100) -# ifndef OPENSSL_NO_SCTP -# define BIO_TYPE_DGRAM_SCTP (24|0x0400|0x0100) -# endif -# define BIO_TYPE_ASN1 (22|0x0200)/* filter */ -# define BIO_TYPE_COMP (23|0x0200)/* filter */ - -# define BIO_TYPE_DESCRIPTOR 0x0100/* socket, fd, connect or accept */ +/* 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); @@ -136,10 +85,10 @@ extern "C" { # 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 */ -/* callback is int cb(BIO *bio,state,ret); */ # 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 */ @@ -178,9 +127,10 @@ extern "C" { # 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_SET_IN_HANDSHAKE 50 # 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 @@ -193,6 +143,8 @@ extern "C" { # 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 @@ -212,31 +164,20 @@ extern "C" { # define BIO_FLAGS_UPLINK 0 # endif -/* Used in BIO_gethostbyname() */ -# define BIO_GHBN_CTRL_HITS 1 -# define BIO_GHBN_CTRL_MISSES 2 -# define BIO_GHBN_CTRL_CACHE_SIZE 3 -# define BIO_GHBN_CTRL_GET_ENTRY 4 -# define BIO_GHBN_CTRL_FLUSH 5 - -/* Mostly used in the SSL BIO */ -/*- - * Not used anymore - * #define BIO_FLAGS_PROTOCOL_DELAYED_READ 0x10 - * #define BIO_FLAGS_PROTOCOL_DELAYED_WRITE 0x20 - * #define BIO_FLAGS_PROTOCOL_STARTUP 0x40 - */ - # define BIO_FLAGS_BASE64_NO_NL 0x100 /* - * This is used with memory BIOs: it means we shouldn't free up or change the - * data in any way. + * 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 -typedef struct bio_st BIO; +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); @@ -295,76 +236,29 @@ void BIO_clear_flags(BIO *b, int flags); # define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) # define BIO_cb_post(a) ((a)&BIO_CB_RETURN) -long (*BIO_get_callback(const BIO *b)) (struct bio_st *, int, const char *, - int, long, long); -void BIO_set_callback(BIO *b, - long (*callback) (struct bio_st *, int, const char *, - int, long, long)); +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 void bio_info_cb (struct bio_st *, int, const char *, int, long, - long); +typedef int BIO_info_cb(BIO *, int, int); +typedef BIO_info_cb bio_info_cb; /* backward compatibility */ -typedef struct bio_method_st { - int type; - const char *name; - int (*bwrite) (BIO *, const char *, int); - int (*bread) (BIO *, char *, int); - int (*bputs) (BIO *, const char *); - int (*bgets) (BIO *, char *, int); - long (*ctrl) (BIO *, int, long, void *); - int (*create) (BIO *); - int (*destroy) (BIO *); - long (*callback_ctrl) (BIO *, int, bio_info_cb *); -} BIO_METHOD; - -struct bio_st { - BIO_METHOD *method; - /* bio, mode, argp, argi, argl, ret */ - long (*callback) (struct bio_st *, int, const char *, int, long, long); - char *cb_arg; /* first argument for the callback */ - int init; - int shutdown; - int flags; /* extra storage */ - int retry_reason; - int num; - void *ptr; - struct bio_st *next_bio; /* used by filter BIOs */ - struct bio_st *prev_bio; /* used by filter BIOs */ - int references; - unsigned long num_read; - unsigned long num_write; - CRYPTO_EX_DATA ex_data; -}; - -DECLARE_STACK_OF(BIO) - -typedef struct bio_f_buffer_ctx_struct { - /*- - * Buffers are setup like this: - * - * <---------------------- size -----------------------> - * +---------------------------------------------------+ - * | consumed | remaining | free space | - * +---------------------------------------------------+ - * <-- off --><------- len -------> - */ - /*- BIO *bio; *//* - * this is now in the BIO struct - */ - int ibuf_size; /* how big is the input buffer */ - int obuf_size; /* how big is the output buffer */ - char *ibuf; /* the char array */ - int ibuf_len; /* how many bytes are in it */ - int ibuf_off; /* write/read offset */ - char *obuf; /* the char array */ - int obuf_len; /* how many bytes are in it */ - int obuf_off; /* write/read offset */ -} BIO_F_BUFFER_CTX; +DEFINE_STACK_OF(BIO) /* Prefix and suffix callback in ASN1 BIO */ typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, @@ -395,15 +289,6 @@ struct bio_dgram_sctp_prinfo { }; # endif -/* connect BIO stuff */ -# define BIO_CONN_S_BEFORE 1 -# define BIO_CONN_S_GET_IP 2 -# define BIO_CONN_S_GET_PORT 3 -# define BIO_CONN_S_CREATE_SOCKET 4 -# define BIO_CONN_S_CONNECT 5 -# define BIO_CONN_S_OK 6 -# define BIO_CONN_S_BLOCKED_CONNECT 7 -# define BIO_CONN_S_NBIO 8 /* * #define BIO_CONN_get_param_hostname BIO_ctrl */ @@ -411,7 +296,7 @@ struct bio_dgram_sctp_prinfo { # 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_PROXY_PARAM 103 */ # define BIO_C_SET_FD 104 # define BIO_C_GET_FD 105 # define BIO_C_SET_FILE_PTR 106 @@ -429,7 +314,7 @@ struct bio_dgram_sctp_prinfo { # 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_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 @@ -468,61 +353,71 @@ struct bio_dgram_sctp_prinfo { # 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) -/* BIO_s_connect() and BIO_s_socks4a_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_ip(b,ip) BIO_ctrl(b,BIO_C_SET_CONNECT,2,(char *)ip) -# define BIO_set_conn_int_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,3,(char *)port) -# define BIO_get_conn_hostname(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0) -# define BIO_get_conn_port(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1) -# define BIO_get_conn_ip(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2) -# define BIO_get_conn_int_port(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL) +# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) -# 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_port(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name) -# define BIO_get_accept_port(b) BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0) +# 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,1,(n)?(void *)"a":NULL) -# define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(char *)bio) +# 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) -# define BIO_BIND_NORMAL 0 -# define BIO_BIND_REUSEADDR_IF_UNUSED 1 -# define BIO_BIND_REUSEADDR 2 -# define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) -# define BIO_get_bind_mode(b,mode) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,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) +# 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_proxy_client() */ -# define BIO_set_url(b,url) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,0,(char *)(url)) -# define BIO_set_proxies(b,p) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,1,(char *)(p)) -/* BIO_set_nbio(b,n) */ -# define BIO_set_filter_bio(b,s) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,2,(char *)(s)) -/* BIO *BIO_get_filter_bio(BIO *bio); */ -# define BIO_set_proxy_cb(b,cb) BIO_callback_ctrl(b,BIO_C_SET_PROXY_PARAM,3,(void *(*cb)())) -# define BIO_set_proxy_header(b,sk) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,4,(char *)sk) -# define BIO_set_no_connect_return(b,bool) BIO_int_ctrl(b,BIO_C_SET_PROXY_PARAM,5,bool) - -# define BIO_get_proxy_header(b,skp) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,0,(char *)skp) -# define BIO_get_proxies(b,pxy_p) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,1,(char *)(pxy_p)) -# define BIO_get_url(b,url) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,2,(char *)(url)) -# define BIO_get_no_connect_return(b) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,5,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) +# 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) +# 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) @@ -539,14 +434,14 @@ struct bio_dgram_sctp_prinfo { */ int BIO_read_filename(BIO *b, const char *name); # else -# define BIO_read_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_READ,(char *)name) +# 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) BIO_ctrl(b,BIO_C_SET_FILENAME, \ +# 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) BIO_ctrl(b,BIO_C_SET_FILENAME, \ +# 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) BIO_ctrl(b,BIO_C_SET_FILENAME, \ +# define BIO_rw_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) /* @@ -555,8 +450,8 @@ int BIO_read_filename(BIO *b, const char *name); * 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(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) @@ -566,11 +461,12 @@ int BIO_read_filename(BIO *b, const char *name); 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_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_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) @@ -600,6 +496,7 @@ size_t BIO_ctrl_wpending(BIO *b); /* 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) @@ -616,29 +513,26 @@ 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, state, peer) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, state, (char *)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) + (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) + (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) -/* These two aren't currently implemented */ -/* int BIO_get_ex_num(BIO *bio); */ -/* void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)()); */ +#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); -int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -unsigned long BIO_number_read(BIO *bio); -unsigned long BIO_number_written(BIO *bio); +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, @@ -650,34 +544,41 @@ int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, asn1_ps_func **psuffix_free); -# ifndef OPENSSL_NO_FP_API -BIO_METHOD *BIO_s_file(void); +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); -# define BIO_s_file_internal BIO_s_file # endif -BIO *BIO_new(BIO_METHOD *type); -int BIO_set(BIO *a, BIO_METHOD *type); +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_read(BIO *b, void *data, int len); +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 len); +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, - void (*fp) (struct bio_st *, int, const char *, int, - long, long)); -char *BIO_ptr_ctrl(BIO *bp, int cmd, long larg); +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); @@ -688,35 +589,44 @@ 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); -BIO_METHOD *BIO_s_mem(void); +const BIO_METHOD *BIO_s_mem(void); +const BIO_METHOD *BIO_s_secmem(void); BIO *BIO_new_mem_buf(const void *buf, int len); -BIO_METHOD *BIO_s_socket(void); -BIO_METHOD *BIO_s_connect(void); -BIO_METHOD *BIO_s_accept(void); -BIO_METHOD *BIO_s_fd(void); -# ifndef OPENSSL_SYS_OS2 -BIO_METHOD *BIO_s_log(void); +# 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 -BIO_METHOD *BIO_s_bio(void); -BIO_METHOD *BIO_s_null(void); -BIO_METHOD *BIO_f_null(void); -BIO_METHOD *BIO_f_buffer(void); -# ifdef OPENSSL_SYS_VMS -BIO_METHOD *BIO_f_linebuffer(void); -# endif -BIO_METHOD *BIO_f_nbio_test(void); +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 -BIO_METHOD *BIO_s_datagram(void); +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 -BIO_METHOD *BIO_s_datagram_sctp(void); +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 -/* BIO_METHOD *BIO_f_ber(void); */ - +# ifndef OPENSSL_NO_SOCK int BIO_sock_should_retry(int i); int BIO_sock_non_fatal_error(int error); -int BIO_dgram_non_fatal_error(int error); +# endif int BIO_fd_should_retry(int i); int BIO_fd_non_fatal_error(int error); @@ -726,51 +636,90 @@ 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_FP_API +# 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); -struct hostent *BIO_gethostbyname(const char *name); -/*- - * We might want a thread-safe interface too: - * struct hostent *BIO_gethostbyname_r(const char *name, - * struct hostent *result, void *buffer, size_t buflen); - * or something similar (caller allocates a struct hostent, - * pointed to by "result", and additional buffer space for the various - * substructures; if the buffer does not suffice, NULL is returned - * and an appropriate error code is set). - */ +# 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_get_port(const char *str, unsigned short *port_ptr); -int BIO_get_host_ip(const char *str, unsigned char *ip); -int BIO_get_accept_socket(char *host_port, int mode); -int BIO_accept(int sock, char **ip_port); int BIO_sock_init(void); -void BIO_sock_cleanup(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_dgram(int fd, int close_flag); -# ifndef OPENSSL_NO_SCTP -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 -BIO *BIO_new_fd(int fd, 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); @@ -786,98 +735,70 @@ void BIO_copy_next_retry(BIO *b); * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg); */ -# ifdef __GNUC__ -# define __bio_h__attr__ __attribute__ -# else -# define __bio_h__attr__(x) +# 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, ...) -__bio_h__attr__((__format__(__printf__, 2, 3))); +ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 3))); int BIO_vprintf(BIO *bio, const char *format, va_list args) -__bio_h__attr__((__format__(__printf__, 2, 0))); +ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 0))); int BIO_snprintf(char *buf, size_t n, const char *format, ...) -__bio_h__attr__((__format__(__printf__, 3, 4))); +ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 4))); int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) -__bio_h__attr__((__format__(__printf__, 3, 0))); -# undef __bio_h__attr__ +ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 0))); +# undef ossl_bio__attr__ +# undef ossl_bio__printf__ -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_BIO_strings(void); -/* Error codes for the BIO functions. */ +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 *)); -/* Function codes. */ -# define BIO_F_ACPT_STATE 100 -# define BIO_F_BIO_ACCEPT 101 -# define BIO_F_BIO_BER_GET_HEADER 102 -# define BIO_F_BIO_CALLBACK_CTRL 131 -# define BIO_F_BIO_CTRL 103 -# define BIO_F_BIO_GETHOSTBYNAME 120 -# define BIO_F_BIO_GETS 104 -# define BIO_F_BIO_GET_ACCEPT_SOCKET 105 -# define BIO_F_BIO_GET_HOST_IP 106 -# define BIO_F_BIO_GET_PORT 107 -# define BIO_F_BIO_MAKE_PAIR 121 -# define BIO_F_BIO_NEW 108 -# 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_PUTS 110 -# define BIO_F_BIO_READ 111 -# define BIO_F_BIO_SOCK_INIT 112 -# define BIO_F_BIO_WRITE 113 -# define BIO_F_BUFFER_CTRL 114 -# define BIO_F_CONN_CTRL 127 -# define BIO_F_CONN_STATE 115 -# define BIO_F_DGRAM_SCTP_READ 132 -# define BIO_F_DGRAM_SCTP_WRITE 133 -# define BIO_F_FILE_CTRL 116 -# define BIO_F_FILE_READ 130 -# define BIO_F_LINEBUFFER_CTRL 129 -# define BIO_F_MEM_READ 128 -# define BIO_F_MEM_WRITE 117 -# define BIO_F_SSL_NEW 118 -# define BIO_F_WSASTARTUP 119 - -/* Reason codes. */ -# define BIO_R_ACCEPT_ERROR 100 -# define BIO_R_BAD_FOPEN_MODE 101 -# define BIO_R_BAD_HOSTNAME_LOOKUP 102 -# define BIO_R_BROKEN_PIPE 124 -# define BIO_R_CONNECT_ERROR 103 -# define BIO_R_EOF_ON_MEMORY_BIO 127 -# define BIO_R_ERROR_SETTING_NBIO 104 -# define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPTED_SOCKET 105 -# define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPT_SOCKET 106 -# define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 -# define BIO_R_INVALID_ARGUMENT 125 -# define BIO_R_INVALID_IP_ADDRESS 108 -# define BIO_R_IN_USE 123 -# define BIO_R_KEEPALIVE 109 -# define BIO_R_NBIO_CONNECT_ERROR 110 -# define BIO_R_NO_ACCEPT_PORT_SPECIFIED 111 -# define BIO_R_NO_HOSTNAME_SPECIFIED 112 -# define BIO_R_NO_PORT_DEFINED 113 -# define BIO_R_NO_PORT_SPECIFIED 114 -# define BIO_R_NO_SUCH_FILE 128 -# define BIO_R_NULL_PARAMETER 115 -# define BIO_R_TAG_MISMATCH 116 -# define BIO_R_UNABLE_TO_BIND_SOCKET 117 -# define BIO_R_UNABLE_TO_CREATE_SOCKET 118 -# define BIO_R_UNABLE_TO_LISTEN_SOCKET 119 -# define BIO_R_UNINITIALIZED 120 -# define BIO_R_UNSUPPORTED_METHOD 121 -# define BIO_R_WRITE_TO_READ_ONLY_BIO 126 -# define BIO_R_WSASTARTUP 122 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/bioerr.h b/ext/openssl/windows/x64/include/openssl/bioerr.h new file mode 100644 index 00000000..f119a59c --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/bioerr.h @@ -0,0 +1,120 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_BIOERR_H +# define HEADER_BIOERR_H + +# 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/ext/openssl/windows/x64/include/openssl/blowfish.h b/ext/openssl/windows/x64/include/openssl/blowfish.h index 83293027..cd3e460e 100644 --- a/ext/openssl/windows/x64/include/openssl/blowfish.h +++ b/ext/openssl/windows/x64/include/openssl/blowfish.h @@ -1,72 +1,21 @@ -/* crypto/bf/blowfish.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 +# ifdef __cplusplus extern "C" { -#endif - -# ifdef OPENSSL_NO_BF -# error BF is disabled. # endif # define BF_ENCRYPT 1 @@ -74,26 +23,10 @@ extern "C" { /*- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! BF_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! BF_LONG_LOG2 has to be defined along. ! + * ! BF_LONG has to be at least 32 bits wide. ! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ - -# if defined(__LP32__) -# define BF_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define BF_LONG unsigned long -# define BF_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -# else -# define BF_LONG unsigned int -# endif +# define BF_LONG unsigned int # define BF_ROUNDS 16 # define BF_BLOCK 8 @@ -103,9 +36,6 @@ typedef struct bf_key_st { BF_LONG S[4 * 256]; } BF_KEY; -# ifdef OPENSSL_FIPS -void private_BF_set_key(BF_KEY *key, int len, const unsigned char *data); -# endif void BF_set_key(BF_KEY *key, int len, const unsigned char *data); void BF_encrypt(BF_LONG *data, const BF_KEY *key); @@ -123,8 +53,9 @@ void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, unsigned char *ivec, int *num); const char *BF_options(void); -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/bn.h b/ext/openssl/windows/x64/include/openssl/bn.h index 633d1b1f..8af05d00 100644 --- a/ext/openssl/windows/x64/include/openssl/bn.h +++ b/ext/openssl/windows/x64/include/openssl/bn.h @@ -1,263 +1,53 @@ -/* crypto/bn/bn.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * Portions of the attached software ("Contribution") are developed by - * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. - * - * The Contribution is licensed pursuant to the Eric Young open source - * license provided above. - * - * The binary polynomial arithmetic software is originally written by - * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. +/* + * 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 # include -# ifndef OPENSSL_NO_FP_API -# include /* FILE */ +# ifndef OPENSSL_NO_STDIO +# include # endif +# include # include # include +# include #ifdef __cplusplus extern "C" { #endif /* - * These preprocessor symbols control various aspects of the bignum headers - * and library code. They're not defined by any "normal" configuration, as - * they are intended for development and testing purposes. NB: defining all - * three can be useful for debugging application code as well as openssl - * itself. BN_DEBUG - turn on various debugging alterations to the bignum - * code BN_DEBUG_RAND - uses random poisoning of unused words to trip up - * mismanagement of bignum internals. You must also define BN_DEBUG. - */ -/* #define BN_DEBUG */ -/* #define BN_DEBUG_RAND */ - -# ifndef OPENSSL_SMALL_FOOTPRINT -# define BN_MUL_COMBA -# define BN_SQR_COMBA -# define BN_RECURSION -# endif - -/* - * This next option uses the C libraries (2 word)/(1 word) function. If it is - * not defined, I use my C version (which is slower). The reason for this - * flag is that when the particular C compiler library routine is used, and - * the library is linked with a different compiler, the library is missing. - * This mostly happens when the library is built with gcc and then linked - * using normal cc. This would be a common occurrence because gcc normally - * produces code that is 2 times faster than system compilers for the big - * number stuff. For machines with only one compiler (or shared libraries), - * this should be on. Again this in only really a problem on machines using - * "long long's", are 32bit, and are not using my assembler code. - */ -# if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || \ - defined(OPENSSL_SYS_WIN32) || defined(linux) -# ifndef BN_DIV2W -# define BN_DIV2W -# endif -# endif - -/* - * assuming long is 64bit - this is the DEC Alpha unsigned long long is only - * 64 bits :-(, don't define BN_LLONG for the DEC Alpha + * 64-bit processor with LP64 ABI */ # ifdef SIXTY_FOUR_BIT_LONG -# define BN_ULLONG unsigned long long # define BN_ULONG unsigned long -# define BN_LONG long -# define BN_BITS 128 # define BN_BYTES 8 -# define BN_BITS2 64 -# define BN_BITS4 32 -# define BN_MASK (0xffffffffffffffffffffffffffffffffLL) -# define BN_MASK2 (0xffffffffffffffffL) -# define BN_MASK2l (0xffffffffL) -# define BN_MASK2h (0xffffffff00000000L) -# define BN_MASK2h1 (0xffffffff80000000L) -# define BN_TBIT (0x8000000000000000L) -# define BN_DEC_CONV (10000000000000000000UL) -# define BN_DEC_FMT1 "%lu" -# define BN_DEC_FMT2 "%019lu" -# define BN_DEC_NUM 19 -# define BN_HEX_FMT1 "%lX" -# define BN_HEX_FMT2 "%016lX" # endif /* - * This is where the long long data type is 64 bits, but long is 32. For - * machines where there are 64bit registers, this is the mode to use. IRIX, - * on R4000 and above should use this mode, along with the relevant assembler - * code :-). Do NOT define BN_LLONG. + * 64-bit processor other than LP64 ABI */ # ifdef SIXTY_FOUR_BIT -# undef BN_LLONG -# undef BN_ULLONG # define BN_ULONG unsigned long long -# define BN_LONG long long -# define BN_BITS 128 # define BN_BYTES 8 -# define BN_BITS2 64 -# define BN_BITS4 32 -# define BN_MASK2 (0xffffffffffffffffLL) -# define BN_MASK2l (0xffffffffL) -# define BN_MASK2h (0xffffffff00000000LL) -# define BN_MASK2h1 (0xffffffff80000000LL) -# define BN_TBIT (0x8000000000000000LL) -# define BN_DEC_CONV (10000000000000000000ULL) -# define BN_DEC_FMT1 "%llu" -# define BN_DEC_FMT2 "%019llu" -# define BN_DEC_NUM 19 -# define BN_HEX_FMT1 "%llX" -# define BN_HEX_FMT2 "%016llX" # endif # ifdef THIRTY_TWO_BIT -# ifdef BN_LLONG -# if defined(_WIN32) && !defined(__GNUC__) -# define BN_ULLONG unsigned __int64 -# define BN_MASK (0xffffffffffffffffI64) -# else -# define BN_ULLONG unsigned long long -# define BN_MASK (0xffffffffffffffffLL) -# endif -# endif # define BN_ULONG unsigned int -# define BN_LONG int -# define BN_BITS 64 # define BN_BYTES 4 -# define BN_BITS2 32 -# define BN_BITS4 16 -# define BN_MASK2 (0xffffffffL) -# define BN_MASK2l (0xffff) -# define BN_MASK2h1 (0xffff8000L) -# define BN_MASK2h (0xffff0000L) -# define BN_TBIT (0x80000000L) -# define BN_DEC_CONV (1000000000L) -# define BN_DEC_FMT1 "%u" -# define BN_DEC_FMT2 "%09u" -# define BN_DEC_NUM 9 -# define BN_HEX_FMT1 "%X" -# define BN_HEX_FMT2 "%08X" # endif -# define BN_DEFAULT_BITS 1280 +# 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 @@ -269,150 +59,138 @@ extern "C" { * BN_mod_inverse() will call BN_mod_inverse_no_branch. */ # define BN_FLG_CONSTTIME 0x04 +# define BN_FLG_SECURE 0x08 -# ifdef OPENSSL_NO_DEPRECATED +# if OPENSSL_API_COMPAT < 0x00908000L /* deprecated name for the flag */ # define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME -/* - * avoid leaking exponent information through timings - * (BN_mod_exp_mont() will call BN_mod_exp_mont_consttime) - */ +# define BN_FLG_FREE 0x8000 /* used for debugging */ # endif -# ifndef OPENSSL_NO_DEPRECATED -# define BN_FLG_FREE 0x8000 - /* used for debuging */ -# endif -# define BN_set_flags(b,n) ((b)->flags|=(n)) -# define BN_get_flags(b,n) ((b)->flags&(n)) +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 not be used in parallel!) + * 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. */ -# define BN_with_flags(dest,b,n) ((dest)->d=(b)->d, \ - (dest)->top=(b)->top, \ - (dest)->dmax=(b)->dmax, \ - (dest)->neg=(b)->neg, \ - (dest)->flags=(((dest)->flags & BN_FLG_MALLOCED) \ - | ((b)->flags & ~BN_FLG_MALLOCED) \ - | BN_FLG_STATIC_DATA \ - | (n))) +void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags); -/* Already declared in ossl_typ.h */ -# if 0 -typedef struct bignum_st BIGNUM; -/* Used for temp variables (declaration hidden in bn_lcl.h) */ -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; -# endif - -struct bignum_st { - BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit - * chunks. */ - int top; /* Index of last used d +1. */ - /* The next are internal book keeping for bn_expand. */ - int dmax; /* Size of the d array. */ - int neg; /* one if the number is negative */ - int flags; -}; - -/* Used for montgomery multiplication */ -struct bn_mont_ctx_st { - int ri; /* number of bits in R */ - BIGNUM RR; /* used to convert to montgomery form */ - BIGNUM N; /* The modulus */ - BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1 (Ni is only - * stored for bignum algorithm) */ - BN_ULONG n0[2]; /* least significant word(s) of Ni; (type - * changed with 0.9.9, was "BN_ULONG n0;" - * before) */ - int flags; -}; - -/* - * Used for reciprocal division/mod functions It cannot be shared between - * threads - */ -struct bn_recp_ctx_st { - BIGNUM N; /* the divisor */ - BIGNUM Nr; /* the reciprocal */ - int num_bits; - int shift; - int flags; -}; - -/* Used for slow "generation" functions. */ -struct bn_gencb_st { - unsigned int ver; /* To handle binary (in)compatibility */ - void *arg; /* callback-specific data */ - union { - /* if(ver==1) - handles old style callbacks */ - void (*cb_1) (int, int, void *); - /* if(ver==2) - new callback style */ - int (*cb_2) (int, int, BN_GENCB *); - } cb; -}; -/* Wrapper function to make using BN_GENCB easier, */ +/* Wrapper function to make using BN_GENCB easier */ int BN_GENCB_call(BN_GENCB *cb, int a, int b); -/* Macro to populate a BN_GENCB structure with an "old"-style callback */ -# define BN_GENCB_set_old(gencb, callback, cb_arg) { \ - BN_GENCB *tmp_gencb = (gencb); \ - tmp_gencb->ver = 1; \ - tmp_gencb->arg = (cb_arg); \ - tmp_gencb->cb.cb_1 = (callback); } -/* Macro to populate a BN_GENCB structure with a "new"-style callback */ -# define BN_GENCB_set(gencb, callback, cb_arg) { \ - BN_GENCB *tmp_gencb = (gencb); \ - tmp_gencb->ver = 2; \ - tmp_gencb->arg = (cb_arg); \ - tmp_gencb->cb.cb_2 = (callback); } + +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 */ /* - * number of Miller-Rabin iterations for an error rate of less than 2^-80 for - * random 'b'-bit input, b >= 100 (taken from table 4.4 in the Handbook of - * Applied Cryptography [Menezes, van Oorschot, Vanstone; CRC Press 1996]; - * original paper: Damgaard, Landrock, Pomerance: Average case error - * estimates for the strong probable prime test. -- Math. Comp. 61 (1993) - * 177-194) + * 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) >= 1300 ? 2 : \ - (b) >= 850 ? 3 : \ - (b) >= 650 ? 4 : \ - (b) >= 550 ? 5 : \ - (b) >= 450 ? 6 : \ - (b) >= 400 ? 7 : \ - (b) >= 350 ? 8 : \ - (b) >= 300 ? 9 : \ - (b) >= 250 ? 12 : \ - (b) >= 200 ? 15 : \ - (b) >= 150 ? 18 : \ - /* b >= 100 */ 27) + +# 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) -/* Note that BN_abs_is_word didn't work reliably for w == 0 until 0.9.8 */ -# define BN_abs_is_word(a,w) ((((a)->top == 1) && ((a)->d[0] == (BN_ULONG)(w))) || \ - (((w) == 0) && ((a)->top == 0))) -# define BN_is_zero(a) ((a)->top == 0) -# define BN_is_one(a) (BN_abs_is_word((a),1) && !(a)->neg) -# define BN_is_word(a,w) (BN_abs_is_word((a),(w)) && (!(w) || !(a)->neg)) -# define BN_is_odd(a) (((a)->top > 0) && ((a)->d[0] & 1)) +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)) -# define BN_zero_ex(a) \ - do { \ - BIGNUM *_tmp_bn = (a); \ - _tmp_bn->top = 0; \ - _tmp_bn->neg = 0; \ - } while(0) -# ifdef OPENSSL_NO_DEPRECATED + +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)) @@ -421,26 +199,30 @@ int BN_GENCB_call(BN_GENCB *cb, int a, int b); const BIGNUM *BN_value_one(void); char *BN_options(void); BN_CTX *BN_CTX_new(void); -# ifndef OPENSSL_NO_DEPRECATED -void BN_CTX_init(BN_CTX *c); -# endif +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_pseudo_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); +int BN_num_bits_word(BN_ULONG l); +int BN_security_bits(int L, int N); BIGNUM *BN_new(void); -void BN_init(BIGNUM *); +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); @@ -455,10 +237,10 @@ int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); */ void BN_set_negative(BIGNUM *b, int n); /** BN_is_negative returns 1 if the BIGNUM is negative - * \param a pointer to the BIGNUM object + * \param b pointer to the BIGNUM object * \return 1 if a < 0 and 0 otherwise */ -# define BN_is_negative(a) ((a)->neg != 0) +int BN_is_negative(const BIGNUM *b); int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); @@ -512,14 +294,10 @@ 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_FP_API +# ifndef OPENSSL_NO_STDIO int BN_print_fp(FILE *fp, const BIGNUM *a); # endif -# ifdef HEADER_BIO_H -int BN_print(BIO *fp, const BIGNUM *a); -# else -int BN_print(void *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); @@ -545,17 +323,21 @@ BIGNUM *BN_mod_sqrt(BIGNUM *ret, void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords); /* Deprecated versions */ -# ifndef OPENSSL_NO_DEPRECATED -BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, - const BIGNUM *add, const BIGNUM *rem, - void (*callback) (int, int, void *), void *cb_arg); -int BN_is_prime(const BIGNUM *p, int nchecks, - void (*callback) (int, int, void *), - BN_CTX *ctx, void *cb_arg); -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); -# endif /* !defined(OPENSSL_NO_DEPRECATED) */ +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, @@ -575,17 +357,16 @@ int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, BN_CTX *ctx, BN_GENCB *cb); BN_MONT_CTX *BN_MONT_CTX_new(void); -void BN_MONT_CTX_init(BN_MONT_CTX *ctx); int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_MONT_CTX *mont, BN_CTX *ctx); -# define BN_to_montgomery(r,a,mont,ctx) BN_mod_mul_montgomery(\ - (r),(a),&((mont)->RR),(mont),(ctx)) -int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, - 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, int lock, +BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, CRYPTO_RWLOCK *lock, const BIGNUM *mod, BN_CTX *ctx); /* BN_BLINDING flags */ @@ -600,11 +381,12 @@ 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 *); -# ifndef OPENSSL_NO_DEPRECATED -unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *); -void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long); -# endif -CRYPTO_THREADID *BN_BLINDING_thread_id(BN_BLINDING *); + +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, @@ -617,12 +399,10 @@ BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, BN_MONT_CTX *m_ctx), BN_MONT_CTX *m_ctx); -# ifndef OPENSSL_NO_DEPRECATED -void BN_set_params(int mul, int high, int low, int mont); -int BN_get_params(int which); /* 0, mul, 1 high, 2 low, 3 mont */ -# endif +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 */ -void BN_RECP_CTX_init(BN_RECP_CTX *recp); 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); @@ -720,232 +500,40 @@ const BIGNUM *BN_get0_nist_prime_256(void); const BIGNUM *BN_get0_nist_prime_384(void); const BIGNUM *BN_get0_nist_prime_521(void); -/* library internal functions */ +int (*BN_nist_mod_func(const BIGNUM *p)) (BIGNUM *r, const BIGNUM *a, + const BIGNUM *field, BN_CTX *ctx); -# define bn_expand(a,bits) \ - ( \ - bits > (INT_MAX - BN_BITS2 + 1) ? \ - NULL \ - : \ - (((bits+BN_BITS2-1)/BN_BITS2) <= (a)->dmax) ? \ - (a) \ - : \ - bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2) \ - ) - -# define bn_wexpand(a,words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words))) -BIGNUM *bn_expand2(BIGNUM *a, int words); -# ifndef OPENSSL_NO_DEPRECATED -BIGNUM *bn_dup_expand(const BIGNUM *a, int words); /* unused */ -# endif - -/*- - * Bignum consistency macros - * There is one "API" macro, bn_fix_top(), for stripping leading zeroes from - * bignum data after direct manipulations on the data. There is also an - * "internal" macro, bn_check_top(), for verifying that there are no leading - * zeroes. Unfortunately, some auditing is required due to the fact that - * bn_fix_top() has become an overabused duct-tape because bignum data is - * occasionally passed around in an inconsistent state. So the following - * changes have been made to sort this out; - * - bn_fix_top()s implementation has been moved to bn_correct_top() - * - if BN_DEBUG isn't defined, bn_fix_top() maps to bn_correct_top(), and - * bn_check_top() is as before. - * - if BN_DEBUG *is* defined; - * - bn_check_top() tries to pollute unused words even if the bignum 'top' is - * consistent. (ed: only if BN_DEBUG_RAND is defined) - * - bn_fix_top() maps to bn_check_top() rather than "fixing" anything. - * The idea is to have debug builds flag up inconsistent bignums when they - * occur. If that occurs in a bn_fix_top(), we examine the code in question; if - * the use of bn_fix_top() was appropriate (ie. it follows directly after code - * that manipulates the bignum) it is converted to bn_correct_top(), and if it - * was not appropriate, we convert it permanently to bn_check_top() and track - * down the cause of the bug. Eventually, no internal code should be using the - * bn_fix_top() macro. External applications and libraries should try this with - * their own code too, both in terms of building against the openssl headers - * with BN_DEBUG defined *and* linking with a version of OpenSSL built with it - * defined. This not only improves external code, it provides more test - * coverage for openssl's own code. - */ - -# ifdef BN_DEBUG - -/* We only need assert() when debugging */ -# include - -# ifdef BN_DEBUG_RAND -/* To avoid "make update" cvs wars due to BN_DEBUG, use some tricks */ -# ifndef RAND_pseudo_bytes -int RAND_pseudo_bytes(unsigned char *buf, int num); -# define BN_DEBUG_TRIX -# endif -# define bn_pollute(a) \ - do { \ - const BIGNUM *_bnum1 = (a); \ - if(_bnum1->top < _bnum1->dmax) { \ - unsigned char _tmp_char; \ - /* We cast away const without the compiler knowing, any \ - * *genuinely* constant variables that aren't mutable \ - * wouldn't be constructed with top!=dmax. */ \ - BN_ULONG *_not_const; \ - memcpy(&_not_const, &_bnum1->d, sizeof(BN_ULONG*)); \ - /* Debug only - safe to ignore error return */ \ - RAND_pseudo_bytes(&_tmp_char, 1); \ - memset((unsigned char *)(_not_const + _bnum1->top), _tmp_char, \ - (_bnum1->dmax - _bnum1->top) * sizeof(BN_ULONG)); \ - } \ - } while(0) -# ifdef BN_DEBUG_TRIX -# undef RAND_pseudo_bytes -# endif -# else -# define bn_pollute(a) -# endif -# define bn_check_top(a) \ - do { \ - const BIGNUM *_bnum2 = (a); \ - if (_bnum2 != NULL) { \ - assert((_bnum2->top == 0) || \ - (_bnum2->d[_bnum2->top - 1] != 0)); \ - bn_pollute(_bnum2); \ - } \ - } while(0) - -# define bn_fix_top(a) bn_check_top(a) - -# define bn_check_size(bn, bits) bn_wcheck_size(bn, ((bits+BN_BITS2-1))/BN_BITS2) -# define bn_wcheck_size(bn, words) \ - do { \ - const BIGNUM *_bnum2 = (bn); \ - assert((words) <= (_bnum2)->dmax && (words) >= (_bnum2)->top); \ - /* avoid unused variable warning with NDEBUG */ \ - (void)(_bnum2); \ - } while(0) - -# else /* !BN_DEBUG */ - -# define bn_pollute(a) -# define bn_check_top(a) -# define bn_fix_top(a) bn_correct_top(a) -# define bn_check_size(bn, bits) -# define bn_wcheck_size(bn, words) - -# endif - -# define bn_correct_top(a) \ - { \ - BN_ULONG *ftl; \ - int tmp_top = (a)->top; \ - if (tmp_top > 0) \ - { \ - for (ftl= &((a)->d[tmp_top-1]); tmp_top > 0; tmp_top--) \ - if (*(ftl--)) break; \ - (a)->top = tmp_top; \ - } \ - if ((a)->top == 0) \ - (a)->neg = 0; \ - bn_pollute(a); \ - } - -BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num, - BN_ULONG w); -BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w); -void bn_sqr_words(BN_ULONG *rp, const BN_ULONG *ap, int num); -BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d); -BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, - int num); -BN_ULONG bn_sub_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, - int num); +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 *get_rfc2409_prime_768(BIGNUM *bn); -BIGNUM *get_rfc2409_prime_1024(BIGNUM *bn); +BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn); +BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn); /* Primes from RFC 3526 */ -BIGNUM *get_rfc3526_prime_1536(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_2048(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_3072(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_4096(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_6144(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_8192(BIGNUM *bn); +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); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_BN_strings(void); -/* Error codes for the BN functions. */ - -/* Function codes. */ -# define BN_F_BNRAND 127 -# 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_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_NO_BRANCH 138 -# define BN_F_BN_DIV_RECP 130 -# define BN_F_BN_EXP 123 -# define BN_F_BN_EXPAND2 108 -# define BN_F_BN_EXPAND_INTERNAL 120 -# 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_MUL_RECIPROCAL 111 -# define BN_F_BN_MOD_SQRT 121 -# define BN_F_BN_MPI2BN 112 -# define BN_F_BN_NEW 113 -# define BN_F_BN_RAND 114 -# define BN_F_BN_RAND_RANGE 122 -# define BN_F_BN_RSHIFT 146 -# define BN_F_BN_USUB 115 - -/* 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_P_IS_NOT_PRIME 112 -# define BN_R_TOO_MANY_ITERATIONS 113 -# define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/bnerr.h b/ext/openssl/windows/x64/include/openssl/bnerr.h new file mode 100644 index 00000000..8a022cc0 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/bnerr.h @@ -0,0 +1,96 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_BNERR_H +# define HEADER_BNERR_H + +# 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/ext/openssl/windows/x64/include/openssl/buffer.h b/ext/openssl/windows/x64/include/openssl/buffer.h index efd240a5..d2765766 100644 --- a/ext/openssl/windows/x64/include/openssl/buffer.h +++ b/ext/openssl/windows/x64/include/openssl/buffer.h @@ -1,125 +1,58 @@ -/* crypto/buffer/buffer.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 -# if !defined(NO_SYS_TYPES_H) -# include -# endif - -/* Already declared in ossl_typ.h */ -/* typedef struct buf_mem_st BUF_MEM; */ +/* + * 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); -int BUF_MEM_grow(BUF_MEM *str, size_t len); -int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); -size_t BUF_strnlen(const char *str, size_t maxlen); -char *BUF_strdup(const char *str); - -/* - * Like strndup, but in addition, explicitly guarantees to never read past the - * first |siz| bytes of |str|. - */ -char *BUF_strndup(const char *str, size_t siz); - -void *BUF_memdup(const void *data, size_t siz); +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); -/* safe string functions */ -size_t BUF_strlcpy(char *dst, const char *src, size_t siz); -size_t BUF_strlcat(char *dst, const char *src, size_t siz); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_BUF_strings(void); - -/* Error codes for the BUF functions. */ - -/* Function codes. */ -# define BUF_F_BUF_MEMDUP 103 -# define BUF_F_BUF_MEM_GROW 100 -# define BUF_F_BUF_MEM_GROW_CLEAN 105 -# define BUF_F_BUF_MEM_NEW 101 -# define BUF_F_BUF_STRDUP 102 -# define BUF_F_BUF_STRNDUP 104 - -/* Reason codes. */ - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/buffererr.h b/ext/openssl/windows/x64/include/openssl/buffererr.h new file mode 100644 index 00000000..3aee1323 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/buffererr.h @@ -0,0 +1,30 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_BUFERR_H +# define HEADER_BUFERR_H + +# 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/ext/openssl/windows/x64/include/openssl/camellia.h b/ext/openssl/windows/x64/include/openssl/camellia.h index 45e8d25b..151f3c13 100644 --- a/ext/openssl/windows/x64/include/openssl/camellia.h +++ b/ext/openssl/windows/x64/include/openssl/camellia.h @@ -1,52 +1,10 @@ -/* crypto/camellia/camellia.h */ -/* ==================================================================== - * Copyright (c) 2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== +/* + * 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 @@ -54,11 +12,11 @@ # include -# ifdef OPENSSL_NO_CAMELLIA -# error CAMELLIA is disabled. -# endif - +# ifndef OPENSSL_NO_CAMELLIA # include +#ifdef __cplusplus +extern "C" { +#endif # define CAMELLIA_ENCRYPT 1 # define CAMELLIA_DECRYPT 0 @@ -68,10 +26,6 @@ * Both sizes are in bytes. */ -#ifdef __cplusplus -extern "C" { -#endif - /* This should be a hidden type, but EVP requires that the size be known */ # define CAMELLIA_BLOCK_SIZE 16 @@ -90,10 +44,6 @@ struct camellia_key_st { }; typedef struct camellia_key_st CAMELLIA_KEY; -# ifdef OPENSSL_FIPS -int private_Camellia_set_key(const unsigned char *userKey, const int bits, - CAMELLIA_KEY *key); -# endif int Camellia_set_key(const unsigned char *userKey, const int bits, CAMELLIA_KEY *key); @@ -125,8 +75,9 @@ void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], unsigned int *num); -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif -#endif /* !HEADER_Camellia_H */ +#endif diff --git a/ext/openssl/windows/x64/include/openssl/cast.h b/ext/openssl/windows/x64/include/openssl/cast.h index 0003ec9c..2cc89ae0 100644 --- a/ext/openssl/windows/x64/include/openssl/cast.h +++ b/ext/openssl/windows/x64/include/openssl/cast.h @@ -1,72 +1,20 @@ -/* crypto/cast/cast.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 -#ifdef __cplusplus -extern "C" { -#endif - # include -# ifdef OPENSSL_NO_CAST -# error CAST is disabled. +# ifndef OPENSSL_NO_CAST +# ifdef __cplusplus +extern "C" { # endif # define CAST_ENCRYPT 1 @@ -82,9 +30,6 @@ typedef struct cast_key_st { int short_key; /* Use reduced rounds for short key */ } CAST_KEY; -# ifdef OPENSSL_FIPS -void private_CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); -# endif 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); @@ -100,8 +45,9 @@ void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, long length, const CAST_KEY *schedule, unsigned char *ivec, int *num); -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/cmac.h b/ext/openssl/windows/x64/include/openssl/cmac.h index 175be834..3535a9ab 100644 --- a/ext/openssl/windows/x64/include/openssl/cmac.h +++ b/ext/openssl/windows/x64/include/openssl/cmac.h @@ -1,60 +1,17 @@ -/* crypto/cmac/cmac.h */ /* - * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL - * project. - */ -/* ==================================================================== - * Copyright (c) 2010 The OpenSSL Project. All rights reserved. + * Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== + * 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 @@ -79,4 +36,6 @@ int CMAC_resume(CMAC_CTX *ctx); #ifdef __cplusplus } #endif + +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/cms.h b/ext/openssl/windows/x64/include/openssl/cms.h index e6c7f964..ddf37e56 100644 --- a/ext/openssl/windows/x64/include/openssl/cms.h +++ b/ext/openssl/windows/x64/include/openssl/cms.h @@ -1,69 +1,24 @@ -/* crypto/cms/cms.h */ /* - * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL - * project. - */ -/* ==================================================================== - * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== + * 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 - -# ifdef OPENSSL_NO_CMS -# error CMS is disabled. -# endif - -#ifdef __cplusplus +# include +# include +# ifdef __cplusplus extern "C" { -#endif +# endif typedef struct CMS_ContentInfo_st CMS_ContentInfo; typedef struct CMS_SignerInfo_st CMS_SignerInfo; @@ -75,9 +30,10 @@ typedef struct CMS_Receipt_st CMS_Receipt; typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; -DECLARE_STACK_OF(CMS_SignerInfo) -DECLARE_STACK_OF(GENERAL_NAMES) -DECLARE_STACK_OF(CMS_RecipientEncryptedKey) +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) @@ -116,8 +72,9 @@ DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) # 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(CMS_ContentInfo *cms); +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); @@ -188,7 +145,7 @@ int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, 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, - unsigned char *id, size_t idlen); + const unsigned char *id, size_t idlen); int CMS_decrypt_set1_password(CMS_ContentInfo *cms, unsigned char *pass, ossl_ssize_t passlen); @@ -290,7 +247,7 @@ 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, ASN1_OBJECT *obj, +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); @@ -304,14 +261,14 @@ int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, 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, ASN1_OBJECT *oid, +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, ASN1_OBJECT *obj, - 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); @@ -373,183 +330,13 @@ int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg, ASN1_OCTET_STRING *ukm, int keylen); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_CMS_strings(void); +/* 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 -/* Error codes for the CMS functions. */ - -/* 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_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_STREAM 155 -# define CMS_F_CMS_UNCOMPRESS 156 -# define CMS_F_CMS_VERIFY 157 - -/* Reason codes. */ -# define CMS_R_ADD_SIGNER_ERROR 99 -# 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_DIGEST_ERROR 161 -# 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_ALGORIHM 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_RECIPIENT_TYPE 154 -# define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE 155 -# 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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/cmserr.h b/ext/openssl/windows/x64/include/openssl/cmserr.h new file mode 100644 index 00000000..3f8ae26d --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/cmserr.h @@ -0,0 +1,196 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_CMSERR_H +# define HEADER_CMSERR_H + +# 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_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_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/ext/openssl/windows/x64/include/openssl/comp.h b/ext/openssl/windows/x64/include/openssl/comp.h index df599ba3..d814d3cf 100644 --- a/ext/openssl/windows/x64/include/openssl/comp.h +++ b/ext/openssl/windows/x64/include/openssl/comp.h @@ -1,83 +1,53 @@ +/* + * 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 +# include -# ifdef OPENSSL_NO_COMP -# error COMP is disabled. +# ifndef OPENSSL_NO_COMP +# include +# include +# ifdef __cplusplus +extern "C" { # endif -#ifdef __cplusplus -extern "C" { -#endif -typedef struct comp_ctx_st COMP_CTX; - -struct comp_method_st { - int type; /* NID for compression library */ - const char *name; /* A text string to identify the library */ - int (*init) (COMP_CTX *ctx); - void (*finish) (COMP_CTX *ctx); - int (*compress) (COMP_CTX *ctx, - unsigned char *out, unsigned int olen, - unsigned char *in, unsigned int ilen); - int (*expand) (COMP_CTX *ctx, - unsigned char *out, unsigned int olen, - unsigned char *in, unsigned int ilen); - /* - * The following two do NOTHING, but are kept for backward compatibility - */ - long (*ctrl) (void); - long (*callback_ctrl) (void); -}; - -struct comp_ctx_st { - COMP_METHOD *meth; - unsigned long compress_in; - unsigned long compress_out; - unsigned long expand_in; - unsigned long expand_out; - CRYPTO_EX_DATA ex_data; -}; 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_rle(void); + COMP_METHOD *COMP_zlib(void); -void COMP_zlib_cleanup(void); + +#if OPENSSL_API_COMPAT < 0x10100000L +#define COMP_zlib_cleanup() while(0) continue +#endif # ifdef HEADER_BIO_H # ifdef ZLIB -BIO_METHOD *BIO_f_zlib(void); +const BIO_METHOD *BIO_f_zlib(void); # endif # endif -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_COMP_strings(void); -/* Error codes for the COMP functions. */ - -/* 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 - -/* Reason codes. */ -# define COMP_R_ZLIB_DEFLATE_ERROR 99 -# define COMP_R_ZLIB_INFLATE_ERROR 100 -# define COMP_R_ZLIB_NOT_SUPPORTED 101 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/comperr.h b/ext/openssl/windows/x64/include/openssl/comperr.h new file mode 100644 index 00000000..edea63a6 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/comperr.h @@ -0,0 +1,40 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_COMPERR_H +# define HEADER_COMPERR_H + +# 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/ext/openssl/windows/x64/include/openssl/conf.h b/ext/openssl/windows/x64/include/openssl/conf.h index fe491130..7336cd2f 100644 --- a/ext/openssl/windows/x64/include/openssl/conf.h +++ b/ext/openssl/windows/x64/include/openssl/conf.h @@ -1,59 +1,10 @@ -/* crypto/conf/conf.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 @@ -61,11 +12,10 @@ # include # include -# include # include # include - # include +# include #ifdef __cplusplus extern "C" { @@ -77,8 +27,8 @@ typedef struct { char *value; } CONF_VALUE; -DECLARE_STACK_OF(CONF_VALUE) -DECLARE_LHASH_OF(CONF_VALUE); +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_LHASH_OF(CONF_VALUE); struct conf_st; struct conf_method_st; @@ -102,8 +52,8 @@ struct conf_method_st { typedef struct conf_imodule_st CONF_IMODULE; typedef struct conf_module_st CONF_MODULE; -DECLARE_STACK_OF(CONF_MODULE) -DECLARE_STACK_OF(CONF_IMODULE) +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); @@ -120,7 +70,7 @@ 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_FP_API +# ifndef OPENSSL_NO_STDIO LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, long *eline); # endif @@ -133,11 +83,17 @@ char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, 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); -void OPENSSL_config(const char *config_name); -void OPENSSL_no_config(void); +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 @@ -153,15 +109,11 @@ struct conf_st { CONF *NCONF_new(CONF_METHOD *meth); CONF_METHOD *NCONF_default(void); CONF_METHOD *NCONF_WIN32(void); -# if 0 /* Just to give you an idea of what I have in - * mind */ -CONF_METHOD *NCONF_XML(void); -# endif void NCONF_free(CONF *conf); void NCONF_free_data(CONF *conf); int NCONF_load(CONF *conf, const char *file, long *eline); -# ifndef OPENSSL_NO_FP_API +# 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); @@ -170,15 +122,12 @@ STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, 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); -# if 0 /* The following function has no error - * checking, and should therefore be avoided */ -long NCONF_get_number(CONF *conf, char *group, char *name); -# else -# define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) -# endif +#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) /* Module functions */ @@ -188,7 +137,9 @@ 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); -void CONF_modules_free(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); @@ -210,59 +161,8 @@ int CONF_parse_list(const char *list, int sep, int nospc, void OPENSSL_load_builtin_modules(void); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_CONF_strings(void); -/* Error codes for the CONF functions. */ - -/* Function codes. */ -# define CONF_F_CONF_DUMP_FP 104 -# define CONF_F_CONF_LOAD 100 -# define CONF_F_CONF_LOAD_BIO 102 -# define CONF_F_CONF_LOAD_FP 103 -# define CONF_F_CONF_MODULES_LOAD 116 -# define CONF_F_CONF_PARSE_LIST 119 -# define CONF_F_DEF_LOAD 120 -# define CONF_F_DEF_LOAD_BIO 121 -# 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 107 -# 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_STR_COPY 101 - -/* 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_FINISH_FUNCTION 111 -# 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_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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/conf_api.h b/ext/openssl/windows/x64/include/openssl/conf_api.h index e478f7df..a0275ad7 100644 --- a/ext/openssl/windows/x64/include/openssl/conf_api.h +++ b/ext/openssl/windows/x64/include/openssl/conf_api.h @@ -1,59 +1,10 @@ -/* conf_api.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 diff --git a/ext/openssl/windows/x64/include/openssl/conferr.h b/ext/openssl/windows/x64/include/openssl/conferr.h new file mode 100644 index 00000000..d1c92f45 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/conferr.h @@ -0,0 +1,72 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_CONFERR_H +# define HEADER_CONFERR_H + +# 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/ext/openssl/windows/x64/include/openssl/crypto.h b/ext/openssl/windows/x64/include/openssl/crypto.h index 6c644ce1..7d0b5262 100644 --- a/ext/openssl/windows/x64/include/openssl/crypto.h +++ b/ext/openssl/windows/x64/include/openssl/crypto.h @@ -1,134 +1,30 @@ -/* crypto/crypto.h */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. +/* + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + * 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_FP_API +# ifndef OPENSSL_NO_STDIO # include # endif -# include # include # include # include +# include +# include # ifdef CHARSET_EBCDIC # include @@ -140,487 +36,313 @@ */ # include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif + #ifdef __cplusplus extern "C" { #endif -/* Backward compatibility to SSLeay */ -/* - * This is more to be used to check the correct DLL is being used in the MS - * world. - */ -# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER -# define SSLEAY_VERSION 0 -/* #define SSLEAY_OPTIONS 1 no longer supported */ -# define SSLEAY_CFLAGS 2 -# define SSLEAY_BUILT_ON 3 -# define SSLEAY_PLATFORM 4 -# define SSLEAY_DIR 5 - -/* Already declared in ossl_typ.h */ -# if 0 -typedef struct crypto_ex_data_st CRYPTO_EX_DATA; -/* Called when a new object is created */ -typedef int CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -/* Called when an object is free()ed */ -typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -/* Called when we need to dup an object */ -typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, - void *from_d, int idx, long argl, void *argp); -# endif - -/* A generic structure to pass assorted data in a expandable way */ -typedef struct openssl_item_st { - int code; - void *value; /* Not used for flag attributes */ - size_t value_size; /* Max size of value for output, length for - * input */ - size_t *value_length; /* Returned length of value for output */ -} OPENSSL_ITEM; +# 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 /* - * When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock - * names in cryptlib.c + * Old type for allocating dynamic locks. No longer used. Use the new thread + * API instead. */ - -# define CRYPTO_LOCK_ERR 1 -# define CRYPTO_LOCK_EX_DATA 2 -# define CRYPTO_LOCK_X509 3 -# define CRYPTO_LOCK_X509_INFO 4 -# define CRYPTO_LOCK_X509_PKEY 5 -# define CRYPTO_LOCK_X509_CRL 6 -# define CRYPTO_LOCK_X509_REQ 7 -# define CRYPTO_LOCK_DSA 8 -# define CRYPTO_LOCK_RSA 9 -# define CRYPTO_LOCK_EVP_PKEY 10 -# define CRYPTO_LOCK_X509_STORE 11 -# define CRYPTO_LOCK_SSL_CTX 12 -# define CRYPTO_LOCK_SSL_CERT 13 -# define CRYPTO_LOCK_SSL_SESSION 14 -# define CRYPTO_LOCK_SSL_SESS_CERT 15 -# define CRYPTO_LOCK_SSL 16 -# define CRYPTO_LOCK_SSL_METHOD 17 -# define CRYPTO_LOCK_RAND 18 -# define CRYPTO_LOCK_RAND2 19 -# define CRYPTO_LOCK_MALLOC 20 -# define CRYPTO_LOCK_BIO 21 -# define CRYPTO_LOCK_GETHOSTBYNAME 22 -# define CRYPTO_LOCK_GETSERVBYNAME 23 -# define CRYPTO_LOCK_READDIR 24 -# define CRYPTO_LOCK_RSA_BLINDING 25 -# define CRYPTO_LOCK_DH 26 -# define CRYPTO_LOCK_MALLOC2 27 -# define CRYPTO_LOCK_DSO 28 -# define CRYPTO_LOCK_DYNLOCK 29 -# define CRYPTO_LOCK_ENGINE 30 -# define CRYPTO_LOCK_UI 31 -# define CRYPTO_LOCK_ECDSA 32 -# define CRYPTO_LOCK_EC 33 -# define CRYPTO_LOCK_ECDH 34 -# define CRYPTO_LOCK_BN 35 -# define CRYPTO_LOCK_EC_PRE_COMP 36 -# define CRYPTO_LOCK_STORE 37 -# define CRYPTO_LOCK_COMP 38 -# define CRYPTO_LOCK_FIPS 39 -# define CRYPTO_LOCK_FIPS2 40 -# define CRYPTO_NUM_LOCKS 41 - -# define CRYPTO_LOCK 1 -# define CRYPTO_UNLOCK 2 -# define CRYPTO_READ 4 -# define CRYPTO_WRITE 8 - -# ifndef OPENSSL_NO_LOCKING -# ifndef CRYPTO_w_lock -# define CRYPTO_w_lock(type) \ - CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) -# define CRYPTO_w_unlock(type) \ - CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) -# define CRYPTO_r_lock(type) \ - CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__) -# define CRYPTO_r_unlock(type) \ - CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) -# define CRYPTO_add(addr,amount,type) \ - CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) -# endif -# else -# define CRYPTO_w_lock(a) -# define CRYPTO_w_unlock(a) -# define CRYPTO_r_lock(a) -# define CRYPTO_r_unlock(a) -# define CRYPTO_add(a,b,c) ((*(a))+=(b)) -# endif - -/* - * Some applications as well as some parts of OpenSSL need to allocate and - * deallocate locks in a dynamic fashion. The following typedef makes this - * possible in a type-safe manner. - */ -/* struct CRYPTO_dynlock_value has to be defined by the application. */ typedef struct { - int references; - struct CRYPTO_dynlock_value *data; + 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 SSLeay library. It + * 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/* an enume */ -# define CRYPTO_MEM_CHECK_ON 0x1/* a bit */ -# define CRYPTO_MEM_CHECK_ENABLE 0x2/* a bit */ -# define CRYPTO_MEM_CHECK_DISABLE 0x3/* an enume */ - -/* - * The following are bit values to turn on or off options connected to the - * malloc checking functionality - */ - -/* Adds time to the memory checking information */ -# define V_CRYPTO_MDEBUG_TIME 0x1/* a bit */ -/* Adds thread number to the memory checking information */ -# define V_CRYPTO_MDEBUG_THREAD 0x2/* a bit */ - -# define V_CRYPTO_MDEBUG_ALL (V_CRYPTO_MDEBUG_TIME | V_CRYPTO_MDEBUG_THREAD) - -/* predec of the BIO type */ -typedef struct bio_st BIO_dummy; +# 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; - /* gcc is screwing up this data structure :-( */ - int dummy; }; -DECLARE_STACK_OF(void) +DEFINE_STACK_OF(void) /* - * This stuff is basically class callback functions The current classes are - * SSL_CTX, SSL, SSL_SESSION, and a few more + * Per class, we have a STACK of function pointers. */ - -typedef struct crypto_ex_data_func_st { - long argl; /* Arbitary long */ - void *argp; /* Arbitary void * */ - CRYPTO_EX_new *new_func; - CRYPTO_EX_free *free_func; - CRYPTO_EX_dup *dup_func; -} CRYPTO_EX_DATA_FUNCS; - -DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS) - -/* - * Per class, we have a STACK of CRYPTO_EX_DATA_FUNCS for each CRYPTO_EX_DATA - * entry. - */ - -# define CRYPTO_EX_INDEX_BIO 0 -# define CRYPTO_EX_INDEX_SSL 1 -# define CRYPTO_EX_INDEX_SSL_CTX 2 -# define CRYPTO_EX_INDEX_SSL_SESSION 3 -# define CRYPTO_EX_INDEX_X509_STORE 4 -# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 -# define CRYPTO_EX_INDEX_RSA 6 -# define CRYPTO_EX_INDEX_DSA 7 -# define CRYPTO_EX_INDEX_DH 8 -# define CRYPTO_EX_INDEX_ENGINE 9 -# define CRYPTO_EX_INDEX_X509 10 +# 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_ECDSA 12 -# define CRYPTO_EX_INDEX_ECDH 13 -# define CRYPTO_EX_INDEX_COMP 14 -# define CRYPTO_EX_INDEX_STORE 15 +# 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 -/* - * Dynamically assigned indexes start from this value (don't use directly, - * use via CRYPTO_ex_data_new_class). - */ -# define CRYPTO_EX_INDEX_USER 100 - -/* - * This is the default callbacks, but we can have others as well: this is - * needed in Win32 where the application malloc and the library malloc may - * not be the same. - */ -# define CRYPTO_malloc_init() CRYPTO_set_mem_functions(\ - malloc, realloc, free) - -# if defined CRYPTO_MDEBUG_ALL || defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MDEBUG_THREAD -# ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ -# define CRYPTO_MDEBUG -# endif -# endif - -/* - * Set standard debugging functions (not done by default unless CRYPTO_MDEBUG - * is defined) - */ -# define CRYPTO_malloc_debug_init() do {\ - CRYPTO_set_mem_debug_functions(\ - CRYPTO_dbg_malloc,\ - CRYPTO_dbg_realloc,\ - CRYPTO_dbg_free,\ - CRYPTO_dbg_set_options,\ - CRYPTO_dbg_get_options);\ - } while(0) +/* No longer needed, so this is a no-op */ +#define OPENSSL_malloc_init() while(0) continue int CRYPTO_mem_ctrl(int mode); -int CRYPTO_is_mem_check_on(void); -/* for applications */ -# define MemCheck_start() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) -# define MemCheck_stop() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) +# 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) -/* for library-internal use */ -# define MemCheck_on() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE) -# define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE) -# define is_MemCheck_on() CRYPTO_is_mem_check_on() +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(num) CRYPTO_malloc((int)num,__FILE__,__LINE__) -# define OPENSSL_strdup(str) CRYPTO_strdup((str),__FILE__,__LINE__) -# define OPENSSL_realloc(addr,num) \ - CRYPTO_realloc((char *)addr,(int)num,__FILE__,__LINE__) -# define OPENSSL_realloc_clean(addr,old_num,num) \ - CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__) -# define OPENSSL_remalloc(addr,num) \ - CRYPTO_remalloc((char **)addr,(int)num,__FILE__,__LINE__) -# define OPENSSL_freeFunc CRYPTO_free -# define OPENSSL_free(addr) CRYPTO_free(addr) +# define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type)) -# define OPENSSL_malloc_locked(num) \ - CRYPTO_malloc_locked((int)num,__FILE__,__LINE__) -# define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) - -const char *SSLeay_version(int type); -unsigned long SSLeay(void); +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); -/* An opaque type representing an implementation of "ex_data" support */ -typedef struct st_CRYPTO_EX_DATA_IMPL CRYPTO_EX_DATA_IMPL; -/* Return an opaque pointer to the current "ex_data" implementation */ -const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void); -/* Sets the "ex_data" implementation to be used (if it's not too late) */ -int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i); -/* Get a new "ex_data" class, and return the corresponding "class_index" */ -int CRYPTO_ex_data_new_class(void); -/* Within a given class, get/register a new index */ -int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, +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, - CRYPTO_EX_DATA *from); + 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. */ -void CRYPTO_cleanup_all_ex_data(void); - -int CRYPTO_get_new_lockid(char *name); - -int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ -void CRYPTO_lock(int mode, int type, const char *file, int line); -void CRYPTO_set_locking_callback(void (*func) (int mode, int type, - const char *file, int line)); -void (*CRYPTO_get_locking_callback(void)) (int mode, int type, - const char *file, int line); -void CRYPTO_set_add_lock_callback(int (*func) - (int *num, int mount, int type, - const char *file, int line)); -int (*CRYPTO_get_add_lock_callback(void)) (int *num, int mount, int type, - const char *file, int line); - -/* Don't use this structure directly. */ -typedef struct crypto_threadid_st { - void *ptr; - unsigned long val; -} CRYPTO_THREADID; -/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ -void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); -void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); -int CRYPTO_THREADID_set_callback(void (*threadid_func) (CRYPTO_THREADID *)); -void (*CRYPTO_THREADID_get_callback(void)) (CRYPTO_THREADID *); -void CRYPTO_THREADID_current(CRYPTO_THREADID *id); -int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b); -void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src); -unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); -# ifndef OPENSSL_NO_DEPRECATED -void CRYPTO_set_id_callback(unsigned long (*func) (void)); -unsigned long (*CRYPTO_get_id_callback(void)) (void); -unsigned long CRYPTO_thread_id(void); -# endif - -const char *CRYPTO_get_lock_name(int type); -int CRYPTO_add_lock(int *pointer, int amount, int type, const char *file, - int line); - -int CRYPTO_get_new_dynlockid(void); -void CRYPTO_destroy_dynlockid(int i); -struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); -void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value - *(*dyn_create_function) (const char - *file, - int line)); -void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function) - (int mode, - struct CRYPTO_dynlock_value *l, - const char *file, int line)); -void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function) - (struct CRYPTO_dynlock_value *l, - const char *file, int line)); -struct CRYPTO_dynlock_value -*(*CRYPTO_get_dynlock_create_callback(void)) (const char *file, int line); -void (*CRYPTO_get_dynlock_lock_callback(void)) (int mode, - struct CRYPTO_dynlock_value - *l, const char *file, - int line); -void (*CRYPTO_get_dynlock_destroy_callback(void)) (struct CRYPTO_dynlock_value - *l, const char *file, - int line); +# define CRYPTO_cleanup_all_ex_data() while(0) continue /* - * CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- call - * the latter last if you need different functions + * 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. */ -int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), - void (*f) (void *)); -int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), - void (*free_func) (void *)); -int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), - void *(*r) (void *, size_t, const char *, - int), void (*f) (void *)); -int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), - void (*free_func) (void *)); -int CRYPTO_set_mem_debug_functions(void (*m) - (void *, int, const char *, int, int), - void (*r) (void *, void *, int, - const char *, int, int), - void (*f) (void *, int), void (*so) (long), - long (*go) (void)); -void CRYPTO_get_mem_functions(void *(**m) (size_t), - void *(**r) (void *, size_t), - void (**f) (void *)); -void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), - void (**f) (void *)); -void CRYPTO_get_mem_ex_functions(void *(**m) (size_t, const char *, int), - void *(**r) (void *, size_t, const char *, - int), void (**f) (void *)); -void CRYPTO_get_locked_mem_ex_functions(void - *(**m) (size_t, const char *, int), - void (**f) (void *)); -void CRYPTO_get_mem_debug_functions(void (**m) - (void *, int, const char *, int, int), - void (**r) (void *, void *, int, - const char *, int, int), - void (**f) (void *, int), - void (**so) (long), long (**go) (void)); +# 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) -void *CRYPTO_malloc_locked(int num, const char *file, int line); -void CRYPTO_free_locked(void *ptr); -void *CRYPTO_malloc(int num, const char *file, int line); +/* + * 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); -void CRYPTO_free(void *ptr); -void *CRYPTO_realloc(void *addr, int num, const char *file, int line); -void *CRYPTO_realloc_clean(void *addr, int old_num, int num, const char *file, - int line); -void *CRYPTO_remalloc(void *addr, int num, 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); -void CRYPTO_set_mem_debug_options(long bits); -long CRYPTO_get_mem_debug_options(void); +# 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); -# define CRYPTO_push_info(info) \ - CRYPTO_push_info_(info, __FILE__, __LINE__); -int CRYPTO_push_info_(const char *info, const char *file, int line); -int CRYPTO_pop_info(void); -int CRYPTO_remove_all_info(void); - -/* - * Default debugging functions (enabled by CRYPTO_malloc_debug_init() macro; - * used as default in CRYPTO_MDEBUG compilations): - */ /*- - * The last 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 + * 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_dbg_malloc(void *addr, int num, const char *file, int line, - int before_p); -void CRYPTO_dbg_realloc(void *addr1, void *addr2, int num, const char *file, - int line, int before_p); -void CRYPTO_dbg_free(void *addr, int before_p); -/*- - * Tell the debugging code about options. By default, the following values - * apply: - * - * 0: Clear all options. - * V_CRYPTO_MDEBUG_TIME (1): Set the "Show Time" option. - * V_CRYPTO_MDEBUG_THREAD (2): Set the "Show Thread Number" option. - * V_CRYPTO_MDEBUG_ALL (3): 1 + 2 - */ -void CRYPTO_dbg_set_options(long bits); -long CRYPTO_dbg_get_options(void); +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); -# ifndef OPENSSL_NO_FP_API -void CRYPTO_mem_leaks_fp(FILE *); +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 -void CRYPTO_mem_leaks(struct bio_st *bio); -/* unsigned long order, char *file, int line, int num_bytes, char *addr */ -typedef void *CRYPTO_MEM_LEAK_CB (unsigned long, const char *, int, int, - void *); -void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); /* die if we have to */ -void OpenSSLDie(const char *file, int line, const char *assertion); -# define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__, #e),1)) +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)) -unsigned long *OPENSSL_ia32cap_loc(void); -# define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) int OPENSSL_isservice(void); int FIPS_mode(void); int FIPS_mode_set(int r); void OPENSSL_init(void); - -# define fips_md_init(alg) fips_md_init_ctx(alg, alg) - -# ifdef OPENSSL_FIPS -# define fips_md_init_ctx(alg, cx) \ - int alg##_Init(cx##_CTX *c) \ - { \ - if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ - "Low level API call to digest " #alg " forbidden in FIPS mode!"); \ - return private_##alg##_Init(c); \ - } \ - int private_##alg##_Init(cx##_CTX *c) - -# define fips_cipher_abort(alg) \ - if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ - "Low level API call to cipher " #alg " forbidden in FIPS mode!") - -# else -# define fips_md_init_ctx(alg, cx) \ - int alg##_Init(cx##_CTX *c) -# define fips_cipher_abort(alg) while(0) +# 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 @@ -628,34 +350,96 @@ void OPENSSL_init(void); * into a defined order as the return value when a != b is undefined, other * than to be non-zero. */ -int CRYPTO_memcmp(const volatile void *a, const volatile void *b, size_t len); +int CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_CRYPTO_strings(void); +/* 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 */ -/* Error codes for the CRYPTO functions. */ +/* 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) -/* Function codes. */ -# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 -# define CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID 103 -# define CRYPTO_F_CRYPTO_GET_NEW_LOCKID 101 -# define CRYPTO_F_CRYPTO_SET_EX_DATA 102 -# define CRYPTO_F_DEF_ADD_INDEX 104 -# define CRYPTO_F_DEF_GET_CLASS 105 -# define CRYPTO_F_FIPS_MODE_SET 109 -# define CRYPTO_F_INT_DUP_EX_DATA 106 -# define CRYPTO_F_INT_FREE_EX_DATA 107 -# define CRYPTO_F_INT_NEW_EX_DATA 108 -/* Reason codes. */ -# define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 -# define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 +/* 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); -#ifdef __cplusplus +/* 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 #endif diff --git a/ext/openssl/windows/x64/include/openssl/cryptoerr.h b/ext/openssl/windows/x64/include/openssl/cryptoerr.h new file mode 100644 index 00000000..10723d04 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/cryptoerr.h @@ -0,0 +1,56 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_CRYPTOERR_H +# define HEADER_CRYPTOERR_H + +# ifdef __cplusplus +extern "C" +# endif + +# include + +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/ext/openssl/windows/x64/include/openssl/ct.h b/ext/openssl/windows/x64/include/openssl/ct.h new file mode 100644 index 00000000..d4262fa0 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/ct.h @@ -0,0 +1,476 @@ +/* + * 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|. + * See internal/cryptlib.h for the environment variable and file path that are + * consulted to find the default file. + * 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/ext/openssl/windows/x64/include/openssl/cterr.h b/ext/openssl/windows/x64/include/openssl/cterr.h new file mode 100644 index 00000000..764e1a22 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/cterr.h @@ -0,0 +1,76 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_CTERR_H +# define HEADER_CTERR_H + +# 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/ext/openssl/windows/x64/include/openssl/des.h b/ext/openssl/windows/x64/include/openssl/des.h index 1b40144e..be4abbdf 100644 --- a/ext/openssl/windows/x64/include/openssl/des.h +++ b/ext/openssl/windows/x64/include/openssl/des.h @@ -1,80 +1,30 @@ -/* crypto/des/des.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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_NEW_DES_H -# define HEADER_NEW_DES_H +#ifndef HEADER_DES_H +# define HEADER_DES_H -# include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG - * (via openssl/opensslconf.h */ +# include -# ifdef OPENSSL_NO_DES -# error DES is disabled. +# 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 -#ifdef __cplusplus -extern "C" { -#endif - typedef unsigned char DES_cblock[8]; typedef /* const */ unsigned char const_DES_cblock[8]; /* @@ -92,16 +42,6 @@ typedef struct DES_ks { } ks[16]; } DES_key_schedule; -# ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT -# ifndef OPENSSL_ENABLE_OLD_DES_SUPPORT -# define OPENSSL_ENABLE_OLD_DES_SUPPORT -# endif -# endif - -# ifdef OPENSSL_ENABLE_OLD_DES_SUPPORT -# include -# endif - # define DES_KEY_SZ (sizeof(DES_cblock)) # define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) @@ -125,8 +65,6 @@ typedef struct DES_ks { OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ # define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) -OPENSSL_DECLARE_GLOBAL(int, DES_rw_mode); /* defaults to DES_PCBC_MODE */ -# define DES_rw_mode OPENSSL_GLOBAL_REF(DES_rw_mode) const char *DES_options(void); void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, @@ -182,11 +120,6 @@ 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_cbcm_encrypt(const unsigned char *in, unsigned char *out, - long length, - DES_key_schedule *ks1, DES_key_schedule *ks2, - DES_key_schedule *ks3, - DES_cblock *ivec1, DES_cblock *ivec2, 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, @@ -199,15 +132,6 @@ 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); -# if 0 -void DES_xwhite_in2out(const_DES_cblock *DES_key, const_DES_cblock *in_white, - DES_cblock *out_white); -# endif - -int DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched, - DES_cblock *iv); -int DES_enc_write(int fd, const void *buf, int len, DES_key_schedule *sched, - DES_cblock *iv); 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, @@ -231,10 +155,6 @@ 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); -# ifdef OPENSSL_FIPS -void private_DES_set_key_unchecked(const_DES_cblock *key, - DES_key_schedule *schedule); -# endif 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, @@ -244,14 +164,11 @@ void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, long length, DES_key_schedule *schedule, DES_cblock *ivec, int *num); -int DES_read_password(DES_cblock *key, const char *prompt, int verify); -int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2, - const char *prompt, int verify); - # define DES_fixup_key_parity DES_set_odd_parity -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/des_old.h b/ext/openssl/windows/x64/include/openssl/des_old.h deleted file mode 100644 index ee7607a2..00000000 --- a/ext/openssl/windows/x64/include/openssl/des_old.h +++ /dev/null @@ -1,497 +0,0 @@ -/* crypto/des/des_old.h */ - -/*- - * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - * - * The function names in here are deprecated and are only present to - * provide an interface compatible with openssl 0.9.6 and older as - * well as libdes. OpenSSL now provides functions where "des_" has - * been replaced with "DES_" in the names, to make it possible to - * make incompatible changes that are needed for C type security and - * other stuff. - * - * This include files has two compatibility modes: - * - * - If OPENSSL_DES_LIBDES_COMPATIBILITY is defined, you get an API - * that is compatible with libdes and SSLeay. - * - If OPENSSL_DES_LIBDES_COMPATIBILITY isn't defined, you get an - * API that is compatible with OpenSSL 0.9.5x to 0.9.6x. - * - * Note that these modes break earlier snapshots of OpenSSL, where - * libdes compatibility was the only available mode or (later on) the - * prefered compatibility mode. However, after much consideration - * (and more or less violent discussions with external parties), it - * was concluded that OpenSSL should be compatible with earlier versions - * of itself before anything else. Also, in all honesty, libdes is - * an old beast that shouldn't really be used any more. - * - * Please consider starting to use the DES_ functions rather than the - * des_ ones. The des_ functions will disappear completely before - * OpenSSL 1.0! - * - * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - */ - -/* - * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project - * 2001. - */ -/* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_DES_H -# define HEADER_DES_H - -# include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG */ - -# ifdef OPENSSL_NO_DES -# error DES is disabled. -# endif - -# ifndef HEADER_NEW_DES_H -# error You must include des.h, not des_old.h directly. -# endif - -# ifdef _KERBEROS_DES_H -# error replaces . -# endif - -# include - -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef _ -# undef _ -# endif - -typedef unsigned char _ossl_old_des_cblock[8]; -typedef struct _ossl_old_des_ks_struct { - union { - _ossl_old_des_cblock _; - /* - * make sure things are correct size on machines with 8 byte longs - */ - DES_LONG pad[2]; - } ks; -} _ossl_old_des_key_schedule[16]; - -# ifndef OPENSSL_DES_LIBDES_COMPATIBILITY -# define des_cblock DES_cblock -# define const_des_cblock const_DES_cblock -# define des_key_schedule DES_key_schedule -# define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ - DES_ecb3_encrypt((i),(o),&(k1),&(k2),&(k3),(e)) -# define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ - DES_ede3_cbc_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(e)) -# define des_ede3_cbcm_encrypt(i,o,l,k1,k2,k3,iv1,iv2,e)\ - DES_ede3_cbcm_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv1),(iv2),(e)) -# define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ - DES_ede3_cfb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n),(e)) -# define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ - DES_ede3_ofb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n)) -# define des_options()\ - DES_options() -# define des_cbc_cksum(i,o,l,k,iv)\ - DES_cbc_cksum((i),(o),(l),&(k),(iv)) -# define des_cbc_encrypt(i,o,l,k,iv,e)\ - DES_cbc_encrypt((i),(o),(l),&(k),(iv),(e)) -# define des_ncbc_encrypt(i,o,l,k,iv,e)\ - DES_ncbc_encrypt((i),(o),(l),&(k),(iv),(e)) -# define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ - DES_xcbc_encrypt((i),(o),(l),&(k),(iv),(inw),(outw),(e)) -# define des_cfb_encrypt(i,o,n,l,k,iv,e)\ - DES_cfb_encrypt((i),(o),(n),(l),&(k),(iv),(e)) -# define des_ecb_encrypt(i,o,k,e)\ - DES_ecb_encrypt((i),(o),&(k),(e)) -# define des_encrypt1(d,k,e)\ - DES_encrypt1((d),&(k),(e)) -# define des_encrypt2(d,k,e)\ - DES_encrypt2((d),&(k),(e)) -# define des_encrypt3(d,k1,k2,k3)\ - DES_encrypt3((d),&(k1),&(k2),&(k3)) -# define des_decrypt3(d,k1,k2,k3)\ - DES_decrypt3((d),&(k1),&(k2),&(k3)) -# define des_xwhite_in2out(k,i,o)\ - DES_xwhite_in2out((k),(i),(o)) -# define des_enc_read(f,b,l,k,iv)\ - DES_enc_read((f),(b),(l),&(k),(iv)) -# define des_enc_write(f,b,l,k,iv)\ - DES_enc_write((f),(b),(l),&(k),(iv)) -# define des_fcrypt(b,s,r)\ - DES_fcrypt((b),(s),(r)) -# if 0 -# define des_crypt(b,s)\ - DES_crypt((b),(s)) -# if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(__OpenBSD__) -# define crypt(b,s)\ - DES_crypt((b),(s)) -# endif -# endif -# define des_ofb_encrypt(i,o,n,l,k,iv)\ - DES_ofb_encrypt((i),(o),(n),(l),&(k),(iv)) -# define des_pcbc_encrypt(i,o,l,k,iv,e)\ - DES_pcbc_encrypt((i),(o),(l),&(k),(iv),(e)) -# define des_quad_cksum(i,o,l,c,s)\ - DES_quad_cksum((i),(o),(l),(c),(s)) -# define des_random_seed(k)\ - _ossl_096_des_random_seed((k)) -# define des_random_key(r)\ - DES_random_key((r)) -# define des_read_password(k,p,v) \ - DES_read_password((k),(p),(v)) -# define des_read_2passwords(k1,k2,p,v) \ - DES_read_2passwords((k1),(k2),(p),(v)) -# define des_set_odd_parity(k)\ - DES_set_odd_parity((k)) -# define des_check_key_parity(k)\ - DES_check_key_parity((k)) -# define des_is_weak_key(k)\ - DES_is_weak_key((k)) -# define des_set_key(k,ks)\ - DES_set_key((k),&(ks)) -# define des_key_sched(k,ks)\ - DES_key_sched((k),&(ks)) -# define des_set_key_checked(k,ks)\ - DES_set_key_checked((k),&(ks)) -# define des_set_key_unchecked(k,ks)\ - DES_set_key_unchecked((k),&(ks)) -# define des_string_to_key(s,k)\ - DES_string_to_key((s),(k)) -# define des_string_to_2keys(s,k1,k2)\ - DES_string_to_2keys((s),(k1),(k2)) -# define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ - DES_cfb64_encrypt((i),(o),(l),&(ks),(iv),(n),(e)) -# define des_ofb64_encrypt(i,o,l,ks,iv,n)\ - DES_ofb64_encrypt((i),(o),(l),&(ks),(iv),(n)) - -# 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)) - -# define des_check_key DES_check_key -# define des_rw_mode DES_rw_mode -# else /* libdes compatibility */ -/* - * Map all symbol names to _ossl_old_des_* form, so we avoid all clashes with - * libdes - */ -# define des_cblock _ossl_old_des_cblock -# define des_key_schedule _ossl_old_des_key_schedule -# define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ - _ossl_old_des_ecb3_encrypt((i),(o),(k1),(k2),(k3),(e)) -# define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ - _ossl_old_des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e)) -# define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ - _ossl_old_des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n),(e)) -# define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ - _ossl_old_des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n)) -# define des_options()\ - _ossl_old_des_options() -# define des_cbc_cksum(i,o,l,k,iv)\ - _ossl_old_des_cbc_cksum((i),(o),(l),(k),(iv)) -# define des_cbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_cbc_encrypt((i),(o),(l),(k),(iv),(e)) -# define des_ncbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_ncbc_encrypt((i),(o),(l),(k),(iv),(e)) -# define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ - _ossl_old_des_xcbc_encrypt((i),(o),(l),(k),(iv),(inw),(outw),(e)) -# define des_cfb_encrypt(i,o,n,l,k,iv,e)\ - _ossl_old_des_cfb_encrypt((i),(o),(n),(l),(k),(iv),(e)) -# define des_ecb_encrypt(i,o,k,e)\ - _ossl_old_des_ecb_encrypt((i),(o),(k),(e)) -# define des_encrypt(d,k,e)\ - _ossl_old_des_encrypt((d),(k),(e)) -# define des_encrypt2(d,k,e)\ - _ossl_old_des_encrypt2((d),(k),(e)) -# define des_encrypt3(d,k1,k2,k3)\ - _ossl_old_des_encrypt3((d),(k1),(k2),(k3)) -# define des_decrypt3(d,k1,k2,k3)\ - _ossl_old_des_decrypt3((d),(k1),(k2),(k3)) -# define des_xwhite_in2out(k,i,o)\ - _ossl_old_des_xwhite_in2out((k),(i),(o)) -# define des_enc_read(f,b,l,k,iv)\ - _ossl_old_des_enc_read((f),(b),(l),(k),(iv)) -# define des_enc_write(f,b,l,k,iv)\ - _ossl_old_des_enc_write((f),(b),(l),(k),(iv)) -# define des_fcrypt(b,s,r)\ - _ossl_old_des_fcrypt((b),(s),(r)) -# define des_crypt(b,s)\ - _ossl_old_des_crypt((b),(s)) -# if 0 -# define crypt(b,s)\ - _ossl_old_crypt((b),(s)) -# endif -# define des_ofb_encrypt(i,o,n,l,k,iv)\ - _ossl_old_des_ofb_encrypt((i),(o),(n),(l),(k),(iv)) -# define des_pcbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_pcbc_encrypt((i),(o),(l),(k),(iv),(e)) -# define des_quad_cksum(i,o,l,c,s)\ - _ossl_old_des_quad_cksum((i),(o),(l),(c),(s)) -# define des_random_seed(k)\ - _ossl_old_des_random_seed((k)) -# define des_random_key(r)\ - _ossl_old_des_random_key((r)) -# define des_read_password(k,p,v) \ - _ossl_old_des_read_password((k),(p),(v)) -# define des_read_2passwords(k1,k2,p,v) \ - _ossl_old_des_read_2passwords((k1),(k2),(p),(v)) -# define des_set_odd_parity(k)\ - _ossl_old_des_set_odd_parity((k)) -# define des_is_weak_key(k)\ - _ossl_old_des_is_weak_key((k)) -# define des_set_key(k,ks)\ - _ossl_old_des_set_key((k),(ks)) -# define des_key_sched(k,ks)\ - _ossl_old_des_key_sched((k),(ks)) -# define des_string_to_key(s,k)\ - _ossl_old_des_string_to_key((s),(k)) -# define des_string_to_2keys(s,k1,k2)\ - _ossl_old_des_string_to_2keys((s),(k1),(k2)) -# define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ - _ossl_old_des_cfb64_encrypt((i),(o),(l),(ks),(iv),(n),(e)) -# define des_ofb64_encrypt(i,o,l,ks,iv,n)\ - _ossl_old_des_ofb64_encrypt((i),(o),(l),(ks),(iv),(n)) - -# 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)) - -# define des_check_key DES_check_key -# define des_rw_mode DES_rw_mode -# endif - -const char *_ossl_old_des_options(void); -void _ossl_old_des_ecb3_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, - _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, int enc); -DES_LONG _ossl_old_des_cbc_cksum(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec); -void _ossl_old_des_cbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_ncbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_xcbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, - _ossl_old_des_cblock *inw, - _ossl_old_des_cblock *outw, int enc); -void _ossl_old_des_cfb_encrypt(unsigned char *in, unsigned char *out, - int numbits, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_ecb_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, - _ossl_old_des_key_schedule ks, int enc); -void _ossl_old_des_encrypt(DES_LONG *data, _ossl_old_des_key_schedule ks, - int enc); -void _ossl_old_des_encrypt2(DES_LONG *data, _ossl_old_des_key_schedule ks, - int enc); -void _ossl_old_des_encrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3); -void _ossl_old_des_decrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3); -void _ossl_old_des_ede3_cbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, - _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_ede3_cfb64_encrypt(unsigned char *in, unsigned char *out, - long length, - _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, - _ossl_old_des_cblock *ivec, int *num, - int enc); -void _ossl_old_des_ede3_ofb64_encrypt(unsigned char *in, unsigned char *out, - long length, - _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, - _ossl_old_des_cblock *ivec, int *num); -# if 0 -void _ossl_old_des_xwhite_in2out(_ossl_old_des_cblock (*des_key), - _ossl_old_des_cblock (*in_white), - _ossl_old_des_cblock (*out_white)); -# endif - -int _ossl_old_des_enc_read(int fd, char *buf, int len, - _ossl_old_des_key_schedule sched, - _ossl_old_des_cblock *iv); -int _ossl_old_des_enc_write(int fd, char *buf, int len, - _ossl_old_des_key_schedule sched, - _ossl_old_des_cblock *iv); -char *_ossl_old_des_fcrypt(const char *buf, const char *salt, char *ret); -char *_ossl_old_des_crypt(const char *buf, const char *salt); -# if !defined(PERL5) && !defined(NeXT) -char *_ossl_old_crypt(const char *buf, const char *salt); -# endif -void _ossl_old_des_ofb_encrypt(unsigned char *in, unsigned char *out, - int numbits, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec); -void _ossl_old_des_pcbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int enc); -DES_LONG _ossl_old_des_quad_cksum(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - int out_count, _ossl_old_des_cblock *seed); -void _ossl_old_des_random_seed(_ossl_old_des_cblock key); -void _ossl_old_des_random_key(_ossl_old_des_cblock ret); -int _ossl_old_des_read_password(_ossl_old_des_cblock *key, const char *prompt, - int verify); -int _ossl_old_des_read_2passwords(_ossl_old_des_cblock *key1, - _ossl_old_des_cblock *key2, - const char *prompt, int verify); -void _ossl_old_des_set_odd_parity(_ossl_old_des_cblock *key); -int _ossl_old_des_is_weak_key(_ossl_old_des_cblock *key); -int _ossl_old_des_set_key(_ossl_old_des_cblock *key, - _ossl_old_des_key_schedule schedule); -int _ossl_old_des_key_sched(_ossl_old_des_cblock *key, - _ossl_old_des_key_schedule schedule); -void _ossl_old_des_string_to_key(char *str, _ossl_old_des_cblock *key); -void _ossl_old_des_string_to_2keys(char *str, _ossl_old_des_cblock *key1, - _ossl_old_des_cblock *key2); -void _ossl_old_des_cfb64_encrypt(unsigned char *in, unsigned char *out, - long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int *num, - int enc); -void _ossl_old_des_ofb64_encrypt(unsigned char *in, unsigned char *out, - long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int *num); - -void _ossl_096_des_random_seed(des_cblock *key); - -/* - * The following definitions provide compatibility with the MIT Kerberos - * library. The _ossl_old_des_key_schedule structure is not binary - * compatible. - */ - -# define _KERBEROS_DES_H - -# define KRBDES_ENCRYPT DES_ENCRYPT -# define KRBDES_DECRYPT DES_DECRYPT - -# ifdef KERBEROS -# define ENCRYPT DES_ENCRYPT -# define DECRYPT DES_DECRYPT -# endif - -# ifndef NCOMPAT -# define C_Block des_cblock -# define Key_schedule des_key_schedule -# define KEY_SZ DES_KEY_SZ -# define string_to_key des_string_to_key -# define read_pw_string des_read_pw_string -# define random_key des_random_key -# define pcbc_encrypt des_pcbc_encrypt -# define set_key des_set_key -# define key_sched des_key_sched -# define ecb_encrypt des_ecb_encrypt -# define cbc_encrypt des_cbc_encrypt -# define ncbc_encrypt des_ncbc_encrypt -# define xcbc_encrypt des_xcbc_encrypt -# define cbc_cksum des_cbc_cksum -# define quad_cksum des_quad_cksum -# define check_parity des_check_key_parity -# endif - -# define des_fixup_key_parity DES_fixup_key_parity - -#ifdef __cplusplus -} -#endif - -/* for DES_read_pw_string et al */ -# include - -#endif diff --git a/ext/openssl/windows/x64/include/openssl/dh.h b/ext/openssl/windows/x64/include/openssl/dh.h index 80b28fb3..3527540c 100644 --- a/ext/openssl/windows/x64/include/openssl/dh.h +++ b/ext/openssl/windows/x64/include/openssl/dh.h @@ -1,98 +1,50 @@ -/* crypto/dh/dh.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 - -# ifdef OPENSSL_NO_DH -# error DH is disabled. -# endif - -# ifndef OPENSSL_NO_BIO -# include -# endif +# include +# include # include -# ifndef OPENSSL_NO_DEPRECATED +# 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 /* - * new with 0.9.7h; the built-in DH - * 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. + * Does nothing. Previously this switched off constant time behaviour. */ -# define DH_FLAG_NO_EXP_CONSTTIME 0x02 +# 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 reposibility to ensure the + * sets this flag in its own methods it is its responsibility to ensure the * result is compliant. */ @@ -106,57 +58,11 @@ # define DH_FLAG_NON_FIPS_ALLOW 0x0400 -#ifdef __cplusplus -extern "C" { -#endif - /* Already defined in ossl_typ.h */ /* typedef struct dh_st DH; */ /* typedef struct dh_method DH_METHOD; */ -struct dh_method { - const char *name; - /* Methods here */ - int (*generate_key) (DH *dh); - int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh); - /* Can be null */ - int (*bn_mod_exp) (const DH *dh, BIGNUM *r, const BIGNUM *a, - const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *m_ctx); - int (*init) (DH *dh); - int (*finish) (DH *dh); - int flags; - char *app_data; - /* If this is non-NULL, it will be used to generate parameters */ - int (*generate_params) (DH *dh, int prime_len, int generator, - BN_GENCB *cb); -}; - -struct dh_st { - /* - * This first argument is used to pick up errors when a DH is passed - * instead of a EVP_PKEY - */ - int pad; - int version; - BIGNUM *p; - BIGNUM *g; - long length; /* optional */ - BIGNUM *pub_key; /* g^x % p */ - BIGNUM *priv_key; /* x */ - int flags; - BN_MONT_CTX *method_mont_p; - /* Place holders if we want to do X9.42 DH */ - BIGNUM *q; - BIGNUM *j; - unsigned char *seed; - int seedlen; - BIGNUM *counter; - int references; - CRYPTO_EX_DATA ex_data; - const DH_METHOD *meth; - ENGINE *engine; -}; +DECLARE_ASN1_ITEM(DHparams) # define DH_GENERATOR_2 2 /* #define DH_GENERATOR_3 3 */ @@ -218,22 +124,28 @@ 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_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +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 */ -# ifndef OPENSSL_NO_DEPRECATED -DH *DH_generate_parameters(int prime_len, int generator, - void (*callback) (int, int, void *), void *cb_arg); -# endif /* !defined(OPENSSL_NO_DEPRECATED) */ +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); @@ -243,20 +155,20 @@ 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_FP_API +# ifndef OPENSSL_NO_STDIO int DHparams_print_fp(FILE *fp, const DH *x); # endif -# ifndef OPENSSL_NO_BIO int DHparams_print(BIO *bp, const DH *x); -# else -int DHparams_print(char *bp, const DH *x); -# endif /* 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, @@ -265,6 +177,55 @@ int DH_KDF_X9_42(unsigned char *out, size_t outlen, 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) @@ -289,6 +250,15 @@ int DH_KDF_X9_42(unsigned char *out, size_t outlen, 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, \ @@ -302,22 +272,22 @@ int DH_KDF_X9_42(unsigned char *out, size_t outlen, # 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) + 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) + 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) + 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) + 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, \ @@ -327,17 +297,17 @@ int DH_KDF_X9_42(unsigned char *out, size_t outlen, # 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) + 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) + 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) + 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) @@ -353,60 +323,18 @@ int DH_KDF_X9_42(unsigned char *out, size_t outlen, # 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 -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_DH_strings(void); -/* Error codes for the DH functions. */ - -/* 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_CMS_DECRYPT 117 -# define DH_F_DH_CMS_SET_PEERKEY 118 -# define DH_F_DH_CMS_SET_SHARED_INFO 119 -# define DH_F_DH_COMPUTE_KEY 114 -# define DH_F_DH_GENERATE_KEY 115 -# define DH_F_DH_GENERATE_PARAMETERS_EX 116 -# define DH_F_DH_NEW_METHOD 105 -# define DH_F_DH_PARAM_DECODE 107 -# 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_GENERATE_PARAMETERS 104 -# define DH_F_PKEY_DH_DERIVE 112 -# define DH_F_PKEY_DH_KEYGEN 113 - -/* Reason codes. */ -# define DH_R_BAD_GENERATOR 101 -# define DH_R_BN_DECODE_ERROR 109 -# define DH_R_BN_ERROR 106 -# define DH_R_DECODE_ERROR 104 -# define DH_R_INVALID_PUBKEY 102 -# define DH_R_KDF_PARAMETER_ERROR 112 -# define DH_R_KEYS_NOT_SET 108 -# define DH_R_KEY_SIZE_TOO_SMALL 110 -# define DH_R_MODULUS_TOO_LARGE 103 -# define DH_R_NON_FIPS_METHOD 111 -# 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 113 -# define DH_R_SHARED_INFO_ERROR 114 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/dherr.h b/ext/openssl/windows/x64/include/openssl/dherr.h new file mode 100644 index 00000000..81e73f75 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/dherr.h @@ -0,0 +1,84 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_DHERR_H +# define HEADER_DHERR_H + +# 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/ext/openssl/windows/x64/include/openssl/dsa.h b/ext/openssl/windows/x64/include/openssl/dsa.h index 545358fd..822eff34 100644 --- a/ext/openssl/windows/x64/include/openssl/dsa.h +++ b/ext/openssl/windows/x64/include/openssl/dsa.h @@ -1,105 +1,49 @@ -/* crypto/dsa/dsa.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - /* - * The DSS routines are based on patches supplied by - * Steven Schoch . He basically did the - * work and I have just tweaked them a little to fit into my - * stylistic vision for SSLeay :-) */ + * 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 - -# ifdef OPENSSL_NO_DSA -# error DSA is disabled. -# endif - -# ifndef OPENSSL_NO_BIO -# include -# endif +# include # include # include - -# ifndef OPENSSL_NO_DEPRECATED -# include -# ifndef OPENSSL_NO_DH -# include -# endif +# 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 /* - * new with 0.9.7h; the built-in DSA 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. + * Does nothing. Previously this switched off constant time behaviour. */ -# define DSA_FLAG_NO_EXP_CONSTTIME 0x02 +# 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 reposibility to ensure the + * sets this flag in its own methods it is its responsibility to ensure the * result is compliant. */ @@ -112,70 +56,13 @@ */ # define DSA_FLAG_NON_FIPS_ALLOW 0x0400 - -#ifdef __cplusplus -extern "C" { -#endif +# 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 { - BIGNUM *r; - BIGNUM *s; -} DSA_SIG; - -struct dsa_method { - const char *name; - DSA_SIG *(*dsa_do_sign) (const unsigned char *dgst, int dlen, DSA *dsa); - int (*dsa_sign_setup) (DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, - BIGNUM **rp); - int (*dsa_do_verify) (const unsigned char *dgst, int dgst_len, - DSA_SIG *sig, DSA *dsa); - int (*dsa_mod_exp) (DSA *dsa, BIGNUM *rr, BIGNUM *a1, BIGNUM *p1, - BIGNUM *a2, BIGNUM *p2, BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *in_mont); - /* Can be null */ - int (*bn_mod_exp) (DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); - int (*init) (DSA *dsa); - int (*finish) (DSA *dsa); - int flags; - char *app_data; - /* If this is non-NULL, it is used to generate DSA parameters */ - int (*dsa_paramgen) (DSA *dsa, int bits, - const unsigned char *seed, int seed_len, - int *counter_ret, unsigned long *h_ret, - BN_GENCB *cb); - /* If this is non-NULL, it is used to generate DSA keys */ - int (*dsa_keygen) (DSA *dsa); -}; - -struct dsa_st { - /* - * This first variable is used to pick up errors where a DSA is passed - * instead of of a EVP_PKEY - */ - int pad; - long version; - int write_params; - BIGNUM *p; - BIGNUM *q; /* == 20 */ - BIGNUM *g; - BIGNUM *pub_key; /* y public key */ - BIGNUM *priv_key; /* x private key */ - BIGNUM *kinv; /* Signing pre-calc */ - BIGNUM *r; /* Signing pre-calc */ - int flags; - /* Normally used to cache montgomery values */ - BN_MONT_CTX *method_mont_p; - int references; - CRYPTO_EX_DATA ex_data; - const DSA_METHOD *meth; - /* functional reference if 'meth' is ENGINE-provided */ - ENGINE *engine; -}; +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)) @@ -189,6 +76,8 @@ 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, @@ -199,6 +88,7 @@ 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); @@ -206,14 +96,16 @@ 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 */ -int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); +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); -int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +#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); @@ -222,12 +114,14 @@ DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); /* Deprecated version */ -# ifndef OPENSSL_NO_DEPRECATED -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); -# endif /* !defined(OPENSSL_NO_DEPRECATED) */ +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, @@ -240,19 +134,19 @@ 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); -# ifndef OPENSSL_NO_BIO int DSAparams_print(BIO *bp, const DSA *x); int DSA_print(BIO *bp, const DSA *x, int off); -# endif -# ifndef OPENSSL_NO_FP_API +# 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 50 +# define DSS_prime_checks 64 /* - * Primality test according to FIPS PUB 186[-1], Appendix 2.1: 50 rounds of - * Rabin-Miller + * 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) @@ -273,60 +167,72 @@ DH *DSA_dup_DH(const DSA *r); # 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) -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_DSA_strings(void); +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); -/* Error codes for the DSA functions. */ +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 *)); -/* Function codes. */ -# define DSA_F_D2I_DSA_SIG 110 -# define DSA_F_DO_DSA_PRINT 104 -# define DSA_F_DSAPARAMS_PRINT 100 -# define DSA_F_DSAPARAMS_PRINT_FP 101 -# 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_GENERATE_KEY 124 -# define DSA_F_DSA_GENERATE_PARAMETERS_EX 123 -# 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 109 -# define DSA_F_DSA_SIG_PRINT 125 -# define DSA_F_DSA_VERIFY 108 -# define DSA_F_I2D_DSA_SIG 111 -# define DSA_F_OLD_DSA_PRIV_DECODE 122 -# define DSA_F_PKEY_DSA_CTRL 120 -# define DSA_F_PKEY_DSA_KEYGEN 121 -# define DSA_F_SIG_CB 114 -/* 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_DATA_TOO_LARGE_FOR_KEY_SIZE 100 -# 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_MODULUS_TOO_LARGE 103 -# define DSA_R_NEED_NEW_SETUP_VALUES 110 -# define DSA_R_NON_FIPS_DSA_METHOD 111 -# define DSA_R_NO_PARAMETERS_SET 107 -# define DSA_R_PARAMETER_ENCODING_ERROR 105 -# define DSA_R_Q_NOT_PRIME 113 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/dsaerr.h b/ext/openssl/windows/x64/include/openssl/dsaerr.h new file mode 100644 index 00000000..d94f97bb --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/dsaerr.h @@ -0,0 +1,67 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_DSAERR_H +# define HEADER_DSAERR_H + +# 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_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/ext/openssl/windows/x64/include/openssl/dso.h b/ext/openssl/windows/x64/include/openssl/dso.h deleted file mode 100644 index c9013f5c..00000000 --- a/ext/openssl/windows/x64/include/openssl/dso.h +++ /dev/null @@ -1,451 +0,0 @@ -/* dso.h */ -/* - * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project - * 2000. - */ -/* ==================================================================== - * Copyright (c) 2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_DSO_H -# define HEADER_DSO_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* These values are used as commands to DSO_ctrl() */ -# define DSO_CTRL_GET_FLAGS 1 -# define DSO_CTRL_SET_FLAGS 2 -# define DSO_CTRL_OR_FLAGS 3 - -/* - * By default, DSO_load() will translate the provided filename into a form - * typical for the platform (more specifically the DSO_METHOD) using the - * dso_name_converter function of the method. Eg. win32 will transform "blah" - * into "blah.dll", and dlfcn will transform it into "libblah.so". The - * behaviour can be overriden by setting the name_converter callback in the - * DSO object (using DSO_set_name_converter()). This callback could even - * utilise the DSO_METHOD's converter too if it only wants to override - * behaviour for one or two possible DSO methods. However, the following flag - * can be set in a DSO to prevent *any* native name-translation at all - eg. - * if the caller has prompted the user for a path to a driver library so the - * filename should be interpreted as-is. - */ -# define DSO_FLAG_NO_NAME_TRANSLATION 0x01 -/* - * An extra flag to give if only the extension should be added as - * translation. This is obviously only of importance on Unix and other - * operating systems where the translation also may prefix the name with - * something, like 'lib', and ignored everywhere else. This flag is also - * ignored if DSO_FLAG_NO_NAME_TRANSLATION is used at the same time. - */ -# define DSO_FLAG_NAME_TRANSLATION_EXT_ONLY 0x02 - -/* - * The following flag controls the translation of symbol names to upper case. - * This is currently only being implemented for OpenVMS. - */ -# define DSO_FLAG_UPCASE_SYMBOL 0x10 - -/* - * This flag loads the library with public symbols. Meaning: The exported - * symbols of this library are public to all libraries loaded after this - * library. At the moment only implemented in unix. - */ -# define DSO_FLAG_GLOBAL_SYMBOLS 0x20 - -typedef void (*DSO_FUNC_TYPE) (void); - -typedef struct dso_st DSO; - -/* - * The function prototype used for method functions (or caller-provided - * callbacks) that transform filenames. They are passed a DSO structure - * pointer (or NULL if they are to be used independantly of a DSO object) and - * a filename to transform. They should either return NULL (if there is an - * error condition) or a newly allocated string containing the transformed - * form that the caller will need to free with OPENSSL_free() when done. - */ -typedef char *(*DSO_NAME_CONVERTER_FUNC)(DSO *, const char *); -/* - * The function prototype used for method functions (or caller-provided - * callbacks) that merge two file specifications. They are passed a DSO - * structure pointer (or NULL if they are to be used independantly of a DSO - * object) and two file specifications to merge. They should either return - * NULL (if there is an error condition) or a newly allocated string - * containing the result of merging that the caller will need to free with - * OPENSSL_free() when done. Here, merging means that bits and pieces are - * taken from each of the file specifications and added together in whatever - * fashion that is sensible for the DSO method in question. The only rule - * that really applies is that if the two specification contain pieces of the - * same type, the copy from the first string takes priority. One could see - * it as the first specification is the one given by the user and the second - * being a bunch of defaults to add on if they're missing in the first. - */ -typedef char *(*DSO_MERGER_FUNC)(DSO *, const char *, const char *); - -typedef struct dso_meth_st { - const char *name; - /* - * Loads a shared library, NB: new DSO_METHODs must ensure that a - * successful load populates the loaded_filename field, and likewise a - * successful unload OPENSSL_frees and NULLs it out. - */ - int (*dso_load) (DSO *dso); - /* Unloads a shared library */ - int (*dso_unload) (DSO *dso); - /* Binds a variable */ - void *(*dso_bind_var) (DSO *dso, const char *symname); - /* - * Binds a function - assumes a return type of DSO_FUNC_TYPE. This should - * be cast to the real function prototype by the caller. Platforms that - * don't have compatible representations for different prototypes (this - * is possible within ANSI C) are highly unlikely to have shared - * libraries at all, let alone a DSO_METHOD implemented for them. - */ - DSO_FUNC_TYPE (*dso_bind_func) (DSO *dso, const char *symname); -/* I don't think this would actually be used in any circumstances. */ -# if 0 - /* Unbinds a variable */ - int (*dso_unbind_var) (DSO *dso, char *symname, void *symptr); - /* Unbinds a function */ - int (*dso_unbind_func) (DSO *dso, char *symname, DSO_FUNC_TYPE symptr); -# endif - /* - * The generic (yuck) "ctrl()" function. NB: Negative return values - * (rather than zero) indicate errors. - */ - long (*dso_ctrl) (DSO *dso, int cmd, long larg, void *parg); - /* - * The default DSO_METHOD-specific function for converting filenames to a - * canonical native form. - */ - DSO_NAME_CONVERTER_FUNC dso_name_converter; - /* - * The default DSO_METHOD-specific function for converting filenames to a - * canonical native form. - */ - DSO_MERGER_FUNC dso_merger; - /* [De]Initialisation handlers. */ - int (*init) (DSO *dso); - int (*finish) (DSO *dso); - /* Return pathname of the module containing location */ - int (*pathbyaddr) (void *addr, char *path, int sz); - /* Perform global symbol lookup, i.e. among *all* modules */ - void *(*globallookup) (const char *symname); -} DSO_METHOD; - -/**********************************************************************/ -/* The low-level handle type used to refer to a loaded shared library */ - -struct dso_st { - DSO_METHOD *meth; - /* - * Standard dlopen uses a (void *). Win32 uses a HANDLE. VMS doesn't use - * anything but will need to cache the filename for use in the dso_bind - * handler. All in all, let each method control its own destiny. - * "Handles" and such go in a STACK. - */ - STACK_OF(void) *meth_data; - int references; - int flags; - /* - * For use by applications etc ... use this for your bits'n'pieces, don't - * touch meth_data! - */ - CRYPTO_EX_DATA ex_data; - /* - * If this callback function pointer is set to non-NULL, then it will be - * used in DSO_load() in place of meth->dso_name_converter. NB: This - * should normally set using DSO_set_name_converter(). - */ - DSO_NAME_CONVERTER_FUNC name_converter; - /* - * If this callback function pointer is set to non-NULL, then it will be - * used in DSO_load() in place of meth->dso_merger. NB: This should - * normally set using DSO_set_merger(). - */ - DSO_MERGER_FUNC merger; - /* - * This is populated with (a copy of) the platform-independant filename - * used for this DSO. - */ - char *filename; - /* - * This is populated with (a copy of) the translated filename by which - * the DSO was actually loaded. It is NULL iff the DSO is not currently - * loaded. NB: This is here because the filename translation process may - * involve a callback being invoked more than once not only to convert to - * a platform-specific form, but also to try different filenames in the - * process of trying to perform a load. As such, this variable can be - * used to indicate (a) whether this DSO structure corresponds to a - * loaded library or not, and (b) the filename with which it was actually - * loaded. - */ - char *loaded_filename; -}; - -DSO *DSO_new(void); -DSO *DSO_new_method(DSO_METHOD *method); -int DSO_free(DSO *dso); -int DSO_flags(DSO *dso); -int DSO_up_ref(DSO *dso); -long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg); - -/* - * This function sets the DSO's name_converter callback. If it is non-NULL, - * then it will be used instead of the associated DSO_METHOD's function. If - * oldcb is non-NULL then it is set to the function pointer value being - * replaced. Return value is non-zero for success. - */ -int DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb, - DSO_NAME_CONVERTER_FUNC *oldcb); -/* - * These functions can be used to get/set the platform-independant filename - * used for a DSO. NB: set will fail if the DSO is already loaded. - */ -const char *DSO_get_filename(DSO *dso); -int DSO_set_filename(DSO *dso, const char *filename); -/* - * This function will invoke the DSO's name_converter callback to translate a - * filename, or if the callback isn't set it will instead use the DSO_METHOD's - * converter. If "filename" is NULL, the "filename" in the DSO itself will be - * used. If the DSO_FLAG_NO_NAME_TRANSLATION flag is set, then the filename is - * simply duplicated. NB: This function is usually called from within a - * DSO_METHOD during the processing of a DSO_load() call, and is exposed so - * that caller-created DSO_METHODs can do the same thing. A non-NULL return - * value will need to be OPENSSL_free()'d. - */ -char *DSO_convert_filename(DSO *dso, const char *filename); -/* - * This function will invoke the DSO's merger callback to merge two file - * specifications, or if the callback isn't set it will instead use the - * DSO_METHOD's merger. A non-NULL return value will need to be - * OPENSSL_free()'d. - */ -char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2); -/* - * If the DSO is currently loaded, this returns the filename that it was - * loaded under, otherwise it returns NULL. So it is also useful as a test as - * to whether the DSO is currently loaded. NB: This will not necessarily - * return the same value as DSO_convert_filename(dso, dso->filename), because - * the DSO_METHOD's load function may have tried a variety of filenames (with - * and/or without the aid of the converters) before settling on the one it - * actually loaded. - */ -const char *DSO_get_loaded_filename(DSO *dso); - -void DSO_set_default_method(DSO_METHOD *meth); -DSO_METHOD *DSO_get_default_method(void); -DSO_METHOD *DSO_get_method(DSO *dso); -DSO_METHOD *DSO_set_method(DSO *dso, DSO_METHOD *meth); - -/* - * The all-singing all-dancing load function, you normally pass NULL for the - * first and third parameters. Use DSO_up and DSO_free for subsequent - * reference count handling. Any flags passed in will be set in the - * constructed DSO after its init() function but before the load operation. - * If 'dso' is non-NULL, 'flags' is ignored. - */ -DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags); - -/* This function binds to a variable inside a shared library. */ -void *DSO_bind_var(DSO *dso, const char *symname); - -/* This function binds to a function inside a shared library. */ -DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname); - -/* - * This method is the default, but will beg, borrow, or steal whatever method - * should be the default on any particular platform (including - * DSO_METH_null() if necessary). - */ -DSO_METHOD *DSO_METHOD_openssl(void); - -/* - * This method is defined for all platforms - if a platform has no DSO - * support then this will be the only method! - */ -DSO_METHOD *DSO_METHOD_null(void); - -/* - * If DSO_DLFCN is defined, the standard dlfcn.h-style functions (dlopen, - * dlclose, dlsym, etc) will be used and incorporated into this method. If - * not, this method will return NULL. - */ -DSO_METHOD *DSO_METHOD_dlfcn(void); - -/* - * If DSO_DL is defined, the standard dl.h-style functions (shl_load, - * shl_unload, shl_findsym, etc) will be used and incorporated into this - * method. If not, this method will return NULL. - */ -DSO_METHOD *DSO_METHOD_dl(void); - -/* If WIN32 is defined, use DLLs. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_win32(void); - -/* If VMS is defined, use shared images. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_vms(void); - -/* - * This function writes null-terminated pathname of DSO module containing - * 'addr' into 'sz' large caller-provided 'path' and returns the number of - * characters [including trailing zero] written to it. If 'sz' is 0 or - * negative, 'path' is ignored and required amount of charachers [including - * trailing zero] to accomodate pathname is returned. If 'addr' is NULL, then - * pathname of cryptolib itself is returned. Negative or zero return value - * denotes error. - */ -int DSO_pathbyaddr(void *addr, char *path, int sz); - -/* - * This function should be used with caution! It looks up symbols in *all* - * loaded modules and if module gets unloaded by somebody else attempt to - * dereference the pointer is doomed to have fatal consequences. Primary - * usage for this function is to probe *core* system functionality, e.g. - * check if getnameinfo(3) is available at run-time without bothering about - * OS-specific details such as libc.so.versioning or where does it actually - * reside: in libc itself or libsocket. - */ -void *DSO_global_lookup(const char *name); - -/* If BeOS is defined, use shared images. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_beos(void); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_DSO_strings(void); - -/* Error codes for the DSO functions. */ - -/* Function codes. */ -# define DSO_F_BEOS_BIND_FUNC 144 -# define DSO_F_BEOS_BIND_VAR 145 -# define DSO_F_BEOS_LOAD 146 -# define DSO_F_BEOS_NAME_CONVERTER 147 -# define DSO_F_BEOS_UNLOAD 148 -# define DSO_F_DLFCN_BIND_FUNC 100 -# define DSO_F_DLFCN_BIND_VAR 101 -# define DSO_F_DLFCN_LOAD 102 -# define DSO_F_DLFCN_MERGER 130 -# define DSO_F_DLFCN_NAME_CONVERTER 123 -# define DSO_F_DLFCN_UNLOAD 103 -# define DSO_F_DL_BIND_FUNC 104 -# define DSO_F_DL_BIND_VAR 105 -# define DSO_F_DL_LOAD 106 -# define DSO_F_DL_MERGER 131 -# define DSO_F_DL_NAME_CONVERTER 124 -# define DSO_F_DL_UNLOAD 107 -# define DSO_F_DSO_BIND_FUNC 108 -# define DSO_F_DSO_BIND_VAR 109 -# define DSO_F_DSO_CONVERT_FILENAME 126 -# define DSO_F_DSO_CTRL 110 -# define DSO_F_DSO_FREE 111 -# define DSO_F_DSO_GET_FILENAME 127 -# define DSO_F_DSO_GET_LOADED_FILENAME 128 -# define DSO_F_DSO_GLOBAL_LOOKUP 139 -# define DSO_F_DSO_LOAD 112 -# define DSO_F_DSO_MERGE 132 -# define DSO_F_DSO_NEW_METHOD 113 -# define DSO_F_DSO_PATHBYADDR 140 -# define DSO_F_DSO_SET_FILENAME 129 -# define DSO_F_DSO_SET_NAME_CONVERTER 122 -# define DSO_F_DSO_UP_REF 114 -# define DSO_F_GLOBAL_LOOKUP_FUNC 138 -# define DSO_F_PATHBYADDR 137 -# define DSO_F_VMS_BIND_SYM 115 -# define DSO_F_VMS_LOAD 116 -# define DSO_F_VMS_MERGER 133 -# define DSO_F_VMS_UNLOAD 117 -# define DSO_F_WIN32_BIND_FUNC 118 -# define DSO_F_WIN32_BIND_VAR 119 -# define DSO_F_WIN32_GLOBALLOOKUP 142 -# define DSO_F_WIN32_GLOBALLOOKUP_FUNC 143 -# define DSO_F_WIN32_JOINER 135 -# define DSO_F_WIN32_LOAD 120 -# define DSO_F_WIN32_MERGER 134 -# define DSO_F_WIN32_NAME_CONVERTER 125 -# define DSO_F_WIN32_PATHBYADDR 141 -# define DSO_F_WIN32_SPLITTER 136 -# define DSO_F_WIN32_UNLOAD 121 - -/* Reason codes. */ -# define DSO_R_CTRL_FAILED 100 -# define DSO_R_DSO_ALREADY_LOADED 110 -# define DSO_R_EMPTY_FILE_STRUCTURE 113 -# define DSO_R_FAILURE 114 -# define DSO_R_FILENAME_TOO_BIG 101 -# define DSO_R_FINISH_FAILED 102 -# define DSO_R_INCORRECT_FILE_SYNTAX 115 -# define DSO_R_LOAD_FAILED 103 -# define DSO_R_NAME_TRANSLATION_FAILED 109 -# define DSO_R_NO_FILENAME 111 -# define DSO_R_NO_FILE_SPECIFICATION 116 -# define DSO_R_NULL_HANDLE 104 -# define DSO_R_SET_FILENAME_FAILED 112 -# define DSO_R_STACK_ERROR 105 -# define DSO_R_SYM_FAILURE 106 -# define DSO_R_UNLOAD_FAILED 107 -# define DSO_R_UNSUPPORTED 108 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/openssl/windows/x64/include/openssl/dtls1.h b/ext/openssl/windows/x64/include/openssl/dtls1.h index 30bbcf27..a312e386 100644 --- a/ext/openssl/windows/x64/include/openssl/dtls1.h +++ b/ext/openssl/windows/x64/include/openssl/dtls1.h @@ -1,90 +1,22 @@ -/* ssl/dtls1.h */ /* - * DTLS implementation written by Nagendra Modadugu - * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. - */ -/* ==================================================================== - * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). + * 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 -# include -# include -# ifdef OPENSSL_SYS_VMS -# include -# include -# endif -# ifdef OPENSSL_SYS_WIN32 -/* Needed for struct timeval */ -# include -# elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_) -# include -# else -# if defined(OPENSSL_SYS_VXWORKS) -# include -# else -# include -# endif -# endif - #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 @@ -93,12 +25,11 @@ extern "C" { /* Special value for method supporting multiple versions */ # define DTLS_ANY_VERSION 0x1FFFF -# if 0 -/* this alert description is not specified anywhere... */ -# define DTLS1_AD_MISSING_HANDSHAKE_MESSAGE 110 -# endif - /* 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 @@ -110,155 +41,7 @@ extern "C" { # define DTLS1_CCS_HEADER_LENGTH 1 -# ifdef DTLS1_AD_MISSING_HANDSHAKE_MESSAGE -# define DTLS1_AL_HEADER_LENGTH 7 -# else -# define DTLS1_AL_HEADER_LENGTH 2 -# endif - -# ifndef OPENSSL_NO_SSL_INTERN - -# ifndef OPENSSL_NO_SCTP -# define DTLS1_SCTP_AUTH_LABEL "EXPORTER_DTLS_OVER_SCTP" -# endif - -/* Max MTU overhead we know about so far is 40 for IPv6 + 8 for UDP */ -# define DTLS1_MAX_MTU_OVERHEAD 48 - -typedef struct dtls1_bitmap_st { - unsigned long map; /* track 32 packets on 32-bit systems and 64 - * - on 64-bit systems */ - unsigned char max_seq_num[8]; /* max record number seen so far, 64-bit - * value in big-endian encoding */ -} DTLS1_BITMAP; - -struct dtls1_retransmit_state { - EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ - EVP_MD_CTX *write_hash; /* used for mac generation */ -# ifndef OPENSSL_NO_COMP - COMP_CTX *compress; /* compression */ -# else - char *compress; -# endif - SSL_SESSION *session; - unsigned short epoch; -}; - -struct hm_header_st { - unsigned char type; - unsigned long msg_len; - unsigned short seq; - unsigned long frag_off; - unsigned long frag_len; - unsigned int is_ccs; - struct dtls1_retransmit_state saved_retransmit_state; -}; - -struct ccs_header_st { - unsigned char type; - unsigned short seq; -}; - -struct dtls1_timeout_st { - /* Number of read timeouts so far */ - unsigned int read_timeouts; - /* Number of write timeouts so far */ - unsigned int write_timeouts; - /* Number of alerts received so far */ - unsigned int num_alerts; -}; - -typedef struct record_pqueue_st { - unsigned short epoch; - pqueue q; -} record_pqueue; - -typedef struct hm_fragment_st { - struct hm_header_st msg_header; - unsigned char *fragment; - unsigned char *reassembly; -} hm_fragment; - -typedef struct dtls1_state_st { - unsigned int send_cookie; - unsigned char cookie[DTLS1_COOKIE_LENGTH]; - unsigned char rcvd_cookie[DTLS1_COOKIE_LENGTH]; - unsigned int cookie_len; - /* - * The current data and handshake epoch. This is initially - * undefined, and starts at zero once the initial handshake is - * completed - */ - unsigned short r_epoch; - unsigned short w_epoch; - /* records being received in the current epoch */ - DTLS1_BITMAP bitmap; - /* renegotiation starts a new set of sequence numbers */ - DTLS1_BITMAP next_bitmap; - /* handshake message numbers */ - unsigned short handshake_write_seq; - unsigned short next_handshake_write_seq; - unsigned short handshake_read_seq; - /* save last sequence number for retransmissions */ - unsigned char last_write_sequence[8]; - /* Received handshake records (processed and unprocessed) */ - record_pqueue unprocessed_rcds; - record_pqueue processed_rcds; - /* Buffered handshake messages */ - pqueue buffered_messages; - /* Buffered (sent) handshake records */ - pqueue sent_messages; - /* - * Buffered application records. Only for records between CCS and - * Finished to prevent either protocol violation or unnecessary message - * loss. - */ - record_pqueue buffered_app_data; - /* Is set when listening for new connections with dtls1_listen() */ - unsigned int listen; - unsigned int link_mtu; /* max on-the-wire DTLS packet size */ - unsigned int mtu; /* max DTLS packet size */ - struct hm_header_st w_msg_hdr; - struct hm_header_st r_msg_hdr; - struct dtls1_timeout_st timeout; - /* - * Indicates when the last handshake msg or heartbeat sent will timeout - */ - struct timeval next_timeout; - /* Timeout duration */ - unsigned short timeout_duration; - /* - * storage for Alert/Handshake protocol data received but not yet - * processed by ssl3_read_bytes: - */ - unsigned char alert_fragment[DTLS1_AL_HEADER_LENGTH]; - unsigned int alert_fragment_len; - unsigned char handshake_fragment[DTLS1_HM_HEADER_LENGTH]; - unsigned int handshake_fragment_len; - unsigned int retransmitting; - /* - * Set when the handshake is ready to process peer's ChangeCipherSpec message. - * Cleared after the message has been processed. - */ - unsigned int change_cipher_spec_ok; -# ifndef OPENSSL_NO_SCTP - /* used when SSL_ST_XX_FLUSH is entered */ - int next_state; - int shutdown_received; -# endif -} DTLS1_STATE; - -typedef struct dtls1_record_data_st { - unsigned char *packet; - unsigned int packet_length; - SSL3_BUFFER rbuf; - SSL3_RECORD rrec; -# ifndef OPENSSL_NO_SCTP - struct bio_dgram_sctp_rcvinfo recordinfo; -# endif -} DTLS1_RECORD_DATA; - -# endif +# define DTLS1_AL_HEADER_LENGTH 2 /* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ # define DTLS1_TMO_READ_COUNT 2 diff --git a/ext/openssl/windows/x64/include/openssl/e_os2.h b/ext/openssl/windows/x64/include/openssl/e_os2.h index 7be9989a..97a776cd 100644 --- a/ext/openssl/windows/x64/include/openssl/e_os2.h +++ b/ext/openssl/windows/x64/include/openssl/e_os2.h @@ -1,63 +1,17 @@ -/* e_os2.h */ -/* ==================================================================== - * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). +/* + * 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 */ -#include - #ifndef HEADER_E_OS2_H # define HEADER_E_OS2_H +# include + #ifdef __cplusplus extern "C" { #endif @@ -70,58 +24,50 @@ extern "C" { # define OPENSSL_SYS_UNIX -/* ---------------------- Macintosh, before MacOS X ----------------------- */ -# if defined(__MWERKS__) && defined(macintosh) || defined(OPENSSL_SYSNAME_MAC) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_MACINTOSH_CLASSIC -# endif - -/* ---------------------- NetWare ----------------------------------------- */ -# if defined(NETWARE) || defined(OPENSSL_SYSNAME_NETWARE) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_NETWARE -# endif - /* --------------------- Microsoft operating systems ---------------------- */ /* * Note that MSDOS actually denotes 32-bit environments running on top of * MS-DOS, such as DJGPP one. */ -# if defined(OPENSSL_SYSNAME_MSDOS) +# if defined(OPENSSL_SYS_MSDOS) # undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_MSDOS # 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... */ -# if defined(OPENSSL_SYSNAME_UWIN) +/* + * 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_SYSNAME_CYGWIN) -# undef OPENSSL_SYS_UNIX +# if defined(__CYGWIN__) || defined(OPENSSL_SYS_CYGWIN) # define OPENSSL_SYS_WIN32_CYGWIN # else -# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32) +# if defined(_WIN32) || defined(OPENSSL_SYS_WIN32) # undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32 +# if !defined(OPENSSL_SYS_WIN32) +# define OPENSSL_SYS_WIN32 +# endif # endif -# if defined(_WIN64) || defined(OPENSSL_SYSNAME_WIN64) +# 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_SYSNAME_WINNT) +# if defined(OPENSSL_SYS_WINNT) # undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINNT # endif -# if defined(OPENSSL_SYSNAME_WINCE) +# if defined(OPENSSL_SYS_WINCE) # undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINCE # endif # endif # endif @@ -150,8 +96,10 @@ extern "C" { # endif /* ------------------------------- OpenVMS -------------------------------- */ -# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYSNAME_VMS) -# undef OPENSSL_SYS_UNIX +# 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 @@ -163,49 +111,18 @@ extern "C" { # endif # endif -/* -------------------------------- OS/2 ---------------------------------- */ -# if defined(__EMX__) || defined(__OS2__) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_OS2 -# endif - /* -------------------------------- Unix ---------------------------------- */ # ifdef OPENSSL_SYS_UNIX -# if defined(linux) || defined(__linux__) || defined(OPENSSL_SYSNAME_LINUX) +# if defined(linux) || defined(__linux__) && !defined(OPENSSL_SYS_LINUX) # define OPENSSL_SYS_LINUX # endif -# ifdef OPENSSL_SYSNAME_MPE -# define OPENSSL_SYS_MPE -# endif -# ifdef OPENSSL_SYSNAME_SNI -# define OPENSSL_SYS_SNI -# endif -# ifdef OPENSSL_SYSNAME_ULTRASPARC -# define OPENSSL_SYS_ULTRASPARC -# endif -# ifdef OPENSSL_SYSNAME_NEWS4 -# define OPENSSL_SYS_NEWS4 -# endif -# ifdef OPENSSL_SYSNAME_MACOSX -# define OPENSSL_SYS_MACOSX -# endif -# ifdef OPENSSL_SYSNAME_MACOSX_RHAPSODY -# define OPENSSL_SYS_MACOSX_RHAPSODY -# define OPENSSL_SYS_MACOSX -# endif -# ifdef OPENSSL_SYSNAME_SUNOS -# define OPENSSL_SYS_SUNOS -# endif -# if defined(_CRAY) || defined(OPENSSL_SYSNAME_CRAY) -# define OPENSSL_SYS_CRAY -# endif -# if defined(_AIX) || defined(OPENSSL_SYSNAME_AIX) +# if defined(_AIX) && !defined(OPENSSL_SYS_AIX) # define OPENSSL_SYS_AIX # endif # endif /* -------------------------------- VOS ----------------------------------- */ -# if defined(__VOS__) || defined(OPENSSL_SYSNAME_VOS) +# if defined(__VOS__) && !defined(OPENSSL_SYS_VOS) # define OPENSSL_SYS_VOS # ifdef __HPPA__ # define OPENSSL_SYS_VOS_HPPA @@ -215,22 +132,6 @@ extern "C" { # endif # endif -/* ------------------------------ VxWorks --------------------------------- */ -# ifdef OPENSSL_SYSNAME_VXWORKS -# define OPENSSL_SYS_VXWORKS -# endif - -/* -------------------------------- BeOS ---------------------------------- */ -# if defined(__BEOS__) -# define OPENSSL_SYS_BEOS -# include -# if defined(BONE_VERSION) -# define OPENSSL_SYS_BEOS_BONE -# else -# define OPENSSL_SYS_BEOS_R5 -# endif -# endif - /** * That's it for OS-specific stuff *****************************************************************************/ @@ -245,39 +146,31 @@ extern "C" { # endif /*- - * Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare - * certain global symbols that, with some compilers under VMS, have to be - * defined and declared explicitely with globaldef and globalref. - * Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare - * DLL exports and imports for compilers under Win32. These are a little - * more complicated to use. 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: + * 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, OPENSSL_IMPORT and OPENSSL_GLOBAL - * have some generally sensible values, and for OPENSSL_EXTERN to have the - * value OPENSSL_IMPORT. + * The default is to have OPENSSL_EXPORT and OPENSSL_EXTERN + * have some generally sensible values. */ -# if defined(OPENSSL_SYS_VMS_NODECC) -# define OPENSSL_EXPORT globalref -# define OPENSSL_IMPORT globalref -# define OPENSSL_GLOBAL globaldef -# elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) +# if defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) # define OPENSSL_EXPORT extern __declspec(dllexport) -# define OPENSSL_IMPORT extern __declspec(dllimport) -# define OPENSSL_GLOBAL +# define OPENSSL_EXTERN extern __declspec(dllimport) # else # define OPENSSL_EXPORT extern -# define OPENSSL_IMPORT extern -# define OPENSSL_GLOBAL +# define OPENSSL_EXTERN extern # endif -# define OPENSSL_EXTERN OPENSSL_IMPORT /*- * Macros to allow global variables to be reached through function calls when @@ -297,29 +190,108 @@ extern "C" { # 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) OPENSSL_GLOBAL type _shadow_##name=value; +# 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 -# if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && macintosh==1 && !defined(MAC_OS_GUSI_SOURCE) -# define ossl_ssize_t long +# 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 -# ifdef OPENSSL_SYS_MSDOS -# define ossl_ssize_t long -# endif - -# if defined(NeXT) || defined(OPENSSL_SYS_NEWS4) || defined(OPENSSL_SYS_SUNOS) -# define ssize_t int -# endif - -# if defined(__ultrix) && !defined(ssize_t) -# define ossl_ssize_t int +# 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 diff --git a/ext/openssl/windows/x64/include/openssl/ebcdic.h b/ext/openssl/windows/x64/include/openssl/ebcdic.h index 4cbdfeb7..aa012855 100644 --- a/ext/openssl/windows/x64/include/openssl/ebcdic.h +++ b/ext/openssl/windows/x64/include/openssl/ebcdic.h @@ -1,9 +1,16 @@ -/* crypto/ebcdic.h */ +/* + * 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 +# include #ifdef __cplusplus extern "C" { diff --git a/ext/openssl/windows/x64/include/openssl/ec.h b/ext/openssl/windows/x64/include/openssl/ec.h index 81e6faf6..347cfb6d 100644 --- a/ext/openssl/windows/x64/include/openssl/ec.h +++ b/ext/openssl/windows/x64/include/openssl/ec.h @@ -1,76 +1,11 @@ -/* crypto/ec/ec.h */ /* - * Originally written by Bodo Moeller for the OpenSSL project. - */ -/** - * \file crypto/ec/ec.h Include file for the OpenSSL EC functions - * \author Originally written by Bodo Moeller for the OpenSSL project - */ -/* ==================================================================== - * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * Portions of the attached software ("Contribution") are developed by - * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. - * - * The Contribution is licensed pursuant to the OpenSSL open source - * license provided above. - * - * The elliptic curve binary polynomial software is originally written by - * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + * Copyright 2002-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_EC_H @@ -78,22 +13,15 @@ # include -# ifdef OPENSSL_NO_EC -# error EC is disabled. -# endif - +# ifndef OPENSSL_NO_EC # include # include -# ifndef OPENSSL_NO_DEPRECATED +# if OPENSSL_API_COMPAT < 0x10100000L # include # endif - +# include # ifdef __cplusplus extern "C" { -# elif defined(__SUNPRO_C) -# if __SUNPRO_C >= 0x520 -# pragma error_messages (off,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) -# endif # endif # ifndef OPENSSL_ECC_MAX_FIELD_BITS @@ -114,19 +42,10 @@ typedef enum { } point_conversion_form_t; typedef struct ec_method_st EC_METHOD; - -typedef struct ec_group_st - /*- - EC_METHOD *meth; - -- field definition - -- curve coefficients - -- optional generator with associated information (order, cofactor) - -- optional extra data (precomputed table for fast computation of multiples of generator) - -- ASN1 stuff - */ - EC_GROUP; - +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) */ @@ -229,7 +148,7 @@ int EC_METHOD_get_field_type(const EC_METHOD *meth); * \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 occured + * \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); @@ -242,27 +161,45 @@ 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 generator (possibly NULL). + * \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 BN_CTX object (optional) - * \return 1 on success and 0 if an error occured + * \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 BN_CTX object (optional) - * \return 1 on success and 0 if an error occured + * \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 @@ -286,50 +223,84 @@ 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 parameter of a ec over GFp defined by y^2 = x^3 + a*x + b +/** 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 + * \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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); +int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); -/** Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b +/** 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 for the prime number + * \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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, - BIGNUM *b, BN_CTX *ctx); +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 a ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b +/** Sets the parameter of an ec curve. Synonym for EC_GROUP_set_curve * \param group EC_GROUP object - * \param p BIGNUM with the polynomial defining the underlying field + * \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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); +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 parameter of the ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b +/** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve * \param group EC_GROUP object - * \param p BIGNUM for the polynomial defining the underlying field + * \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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, - BIGNUM *b, BN_CTX *ctx); +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 @@ -355,7 +326,7 @@ int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); * \param a first EC_GROUP object * \param b second EC_GROUP object * \param ctx BN_CTX object (optional) - * \return 0 if both groups are equal and 1 otherwise + * \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); @@ -386,6 +357,7 @@ EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, 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 @@ -393,6 +365,38 @@ EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, */ 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 */ /********************************************************************/ @@ -404,7 +408,7 @@ typedef struct { /* * 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 ist not zero + * 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 */ @@ -436,7 +440,7 @@ 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 occured + * \return 1 on success and 0 if an error occurred */ int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); @@ -457,7 +461,7 @@ 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 occured + * \return 1 on success and 0 if an error occurred */ int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); @@ -468,7 +472,7 @@ int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); * \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 occured + * \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, @@ -482,84 +486,137 @@ int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, * \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 occured + * \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 a EC_POINT over GFp +/** 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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, +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); -/** Gets the affine 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 ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -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 over GFp +/** 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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, const BIGNUM *x, - int y_bit, BN_CTX *ctx); +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 a EC_POINT over GF2m +/** 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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, - BN_CTX *ctx); +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 a EC_POINT over GF2m +/** 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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, - BIGNUM *y, BN_CTX *ctx); +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 over GF2m +/** 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 occured + * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, - EC_POINT *p, const BIGNUM *x, - int y_bit, BN_CTX *ctx); +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 @@ -581,11 +638,23 @@ size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, * \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 occured + * \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 *); @@ -606,7 +675,7 @@ EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, * \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 occured + * \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); @@ -616,7 +685,7 @@ int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, * \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 occured + * \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); @@ -625,7 +694,7 @@ int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, * \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 occured + * \return 1 on success and 0 if an error occurred */ int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); @@ -640,7 +709,7 @@ int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); * \param group underlying EC_GROUP object * \param point EC_POINT object to check * \param ctx BN_CTX object (optional) - * \return 1 if point if on the curve and 0 otherwise + * \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); @@ -650,7 +719,7 @@ int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, * \param a first EC_POINT object * \param b second EC_POINT object * \param ctx BN_CTX object (optional) - * \return 0 if both points are equal and a value != 0 otherwise + * \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); @@ -659,15 +728,15 @@ 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] +/** 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 futher summands + * \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 occured + * \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[], @@ -680,7 +749,7 @@ int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, * \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 occured + * \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); @@ -688,7 +757,7 @@ int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, /** 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 occured + * \return 1 on success and 0 if an error occurred */ int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); @@ -702,6 +771,11 @@ 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 @@ -713,9 +787,8 @@ int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, unsigned int *k2, unsigned int *k3); # endif -# define OPENSSL_EC_NAMED_CURVE 0x001 - -typedef struct ecpk_parameters_st ECPKPARAMETERS; +# 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); @@ -727,10 +800,8 @@ int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); # define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ (unsigned char *)(x)) -# ifndef OPENSSL_NO_BIO int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); -# endif -# ifndef OPENSSL_NO_FP_API +# ifndef OPENSSL_NO_STDIO int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); # endif @@ -738,8 +809,6 @@ int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); /* EC_KEY functions */ /********************************************************************/ -typedef struct ec_key_st EC_KEY; - /* some values for the encoding_flag */ # define EC_PKEY_NO_PARAMETERS 0x001 # define EC_PKEY_NO_PUBKEY 0x002 @@ -747,6 +816,7 @@ typedef struct ec_key_st EC_KEY; /* 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. @@ -790,6 +860,12 @@ EC_KEY *EC_KEY_dup(const EC_KEY *src); */ 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). @@ -836,23 +912,12 @@ 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); -/* functions to set/get method specific data */ -void *EC_KEY_get_key_method_data(EC_KEY *key, - void *(*dup_func) (void *), - void (*free_func) (void *), - void (*clear_free_func) (void *)); -/** Sets the key method data of an EC_KEY object, if none has yet been set. - * \param key EC_KEY object - * \param data opaque data to install. - * \param dup_func a function that duplicates |data|. - * \param free_func a function that frees |data|. - * \param clear_free_func a function that wipes and frees |data|. - * \return the previously set data pointer, or NULL if |data| was inserted. - */ -void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, - void *(*dup_func) (void *), - void (*free_func) (void *), - void (*clear_free_func) (void *)); + +#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); @@ -876,8 +941,14 @@ int EC_KEY_generate_key(EC_KEY *key); */ int EC_KEY_check_key(const EC_KEY *key); -/** Sets a public key from affine coordindates performing - * neccessary NIST PKV tests. +/** 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 @@ -886,6 +957,53 @@ int EC_KEY_check_key(const EC_KEY *key); 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 */ /********************************************************************/ @@ -920,7 +1038,7 @@ int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); 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 paramters to encode + * \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. @@ -947,9 +1065,8 @@ EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); * of bytes needed). * \return 1 on success and 0 if an error occurred */ -int i2o_ECPublicKey(EC_KEY *key, unsigned char **out); +int i2o_ECPublicKey(const EC_KEY *key, unsigned char **out); -# ifndef OPENSSL_NO_BIO /** Prints out the ec parameters on human readable form. * \param bp BIO object to which the information is printed * \param key EC_KEY object @@ -965,8 +1082,7 @@ int ECParameters_print(BIO *bp, const EC_KEY *key); */ int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); -# endif -# ifndef OPENSSL_NO_FP_API +# 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 @@ -984,6 +1100,269 @@ 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 0 + */ +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 @@ -1027,12 +1406,12 @@ int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); # 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) + 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) + 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, \ @@ -1042,17 +1421,31 @@ int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); # 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) + 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) + 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) + 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) @@ -1064,219 +1457,22 @@ int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); # 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_62 2 - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. +# 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 */ -void ERR_load_EC_strings(void); +# define EVP_PKEY_ECDH_KDF_X9_62 EVP_PKEY_ECDH_KDF_X9_63 -/* Error codes for the EC functions. */ -/* Function codes. */ -# define EC_F_BN_TO_FELEM 224 -# define EC_F_COMPUTE_WNAF 143 -# 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_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_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_SET_WORDS 245 -# define EC_F_ECP_NISTZ256_WINDOWED_MUL 242 -# define EC_F_ECP_NIST_MOD_192 203 -# define EC_F_ECP_NIST_MOD_224 204 -# define EC_F_ECP_NIST_MOD_256 205 -# define EC_F_ECP_NIST_MOD_521 206 -# define EC_F_EC_ASN1_GROUP2CURVE 153 -# define EC_F_EC_ASN1_GROUP2FIELDID 154 -# define EC_F_EC_ASN1_GROUP2PARAMETERS 155 -# define EC_F_EC_ASN1_GROUP2PKPARAMETERS 156 -# define EC_F_EC_ASN1_PARAMETERS2GROUP 157 -# define EC_F_EC_ASN1_PKPARAMETERS2GROUP 158 -# define EC_F_EC_EX_DATA_SET_DATA 211 -# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 -# 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_OCT2POINT 160 -# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 -# 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_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_MONT_GROUP_SET_CURVE_GFP 135 -# 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_GROUP_CHECK_DISCRIMINANT 165 -# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 -# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE_GFP 100 -# define EC_F_EC_GFP_SIMPLE_GROUP_SET_GENERATOR 101 -# 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_GET_AFFINE_COORDINATES_GFP 105 -# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 -# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES_GFP 128 -# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 -# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES_GFP 129 -# 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_GET0_GENERATOR 139 -# define EC_F_EC_GROUP_GET_COFACTOR 140 -# 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_ORDER 141 -# 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_PRECOMPUTE_MULT 142 -# define EC_F_EC_GROUP_SET_CURVE_GF2M 176 -# define EC_F_EC_GROUP_SET_CURVE_GFP 109 -# define EC_F_EC_GROUP_SET_EXTRA_DATA 110 -# define EC_F_EC_GROUP_SET_GENERATOR 111 -# 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_PRINT 180 -# define EC_F_EC_KEY_PRINT_FP 181 -# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 -# define EC_F_EC_POINTS_MAKE_AFFINE 136 -# define EC_F_EC_POINT_ADD 112 -# 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_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_MUL 184 -# define EC_F_EC_POINT_NEW 121 -# define EC_F_EC_POINT_OCT2POINT 122 -# define EC_F_EC_POINT_POINT2OCT 123 -# 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_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_DUP 207 -# define EC_F_EC_PRE_COMP_NEW 196 -# 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_PKEY_EC_CTRL 197 -# define EC_F_PKEY_EC_CTRL_STR 198 -# define EC_F_PKEY_EC_DERIVE 217 -# define EC_F_PKEY_EC_KEYGEN 199 -# define EC_F_PKEY_EC_PARAMGEN 219 -# define EC_F_PKEY_EC_SIGN 218 - -/* Reason codes. */ -# define EC_R_ASN1_ERROR 115 -# define EC_R_ASN1_UNKNOWN_FIELD 116 -# define EC_R_BIGNUM_OUT_OF_RANGE 144 -# define EC_R_BUFFER_TOO_SMALL 100 -# define EC_R_COORDINATES_OUT_OF_RANGE 146 -# 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_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_MISSING_PARAMETERS 124 -# define EC_R_MISSING_PRIVATE_KEY 125 -# define EC_R_NOT_A_NIST_PRIME 135 -# define EC_R_NOT_A_SUPPORTED_NIST_PRIME 136 -# define EC_R_NOT_IMPLEMENTED 126 -# define EC_R_NOT_INITIALIZED 111 -# define EC_R_NO_FIELD_MOD 133 -# define EC_R_NO_PARAMETERS_SET 139 -# define EC_R_PASSED_NULL_PARAMETER 134 -# define EC_R_PEER_KEY_ERROR 149 -# define EC_R_PKPARAMETERS2GROUP_FAILURE 127 -# define EC_R_POINT_AT_INFINITY 106 -# define EC_R_POINT_IS_NOT_ON_CURVE 107 -# 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_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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/ecdh.h b/ext/openssl/windows/x64/include/openssl/ecdh.h index 25348b30..681f3d5e 100644 --- a/ext/openssl/windows/x64/include/openssl/ecdh.h +++ b/ext/openssl/windows/x64/include/openssl/ecdh.h @@ -1,134 +1,10 @@ -/* crypto/ecdh/ecdh.h */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * The Elliptic Curve Public-Key Crypto Library (ECC Code) included - * herein is developed by SUN MICROSYSTEMS, INC., and is contributed - * to the OpenSSL project. - * - * The ECC Code is licensed pursuant to the OpenSSL open source - * license provided below. - * - * The ECDH software is originally written by Douglas Stebila of - * Sun Microsystems Laboratories. - * - */ -/* ==================================================================== - * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -#ifndef HEADER_ECDH_H -# define HEADER_ECDH_H - -# include - -# ifdef OPENSSL_NO_ECDH -# error ECDH is disabled. -# endif - -# include -# include -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# define EC_FLAG_COFACTOR_ECDH 0x1000 - -const ECDH_METHOD *ECDH_OpenSSL(void); - -void ECDH_set_default_method(const ECDH_METHOD *); -const ECDH_METHOD *ECDH_get_default_method(void); -int ECDH_set_method(EC_KEY *, const ECDH_METHOD *); - -int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, - EC_KEY *ecdh, void *(*KDF) (const void *in, size_t inlen, - void *out, size_t *outlen)); - -int ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new - *new_func, CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); -int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg); -void *ECDH_get_ex_data(EC_KEY *d, int idx); - -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); - -/* BEGIN ERROR CODES */ /* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. + * 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 */ -void ERR_load_ECDH_strings(void); -/* Error codes for the ECDH functions. */ - -/* Function codes. */ -# define ECDH_F_ECDH_CHECK 102 -# define ECDH_F_ECDH_COMPUTE_KEY 100 -# define ECDH_F_ECDH_DATA_NEW_METHOD 101 - -/* Reason codes. */ -# define ECDH_R_KDF_FAILED 102 -# define ECDH_R_NON_FIPS_METHOD 103 -# define ECDH_R_NO_PRIVATE_VALUE 100 -# define ECDH_R_POINT_ARITHMETIC_FAILURE 101 - -#ifdef __cplusplus -} -#endif -#endif +#include diff --git a/ext/openssl/windows/x64/include/openssl/ecdsa.h b/ext/openssl/windows/x64/include/openssl/ecdsa.h index a6f0930f..681f3d5e 100644 --- a/ext/openssl/windows/x64/include/openssl/ecdsa.h +++ b/ext/openssl/windows/x64/include/openssl/ecdsa.h @@ -1,335 +1,10 @@ -/* crypto/ecdsa/ecdsa.h */ -/** - * \file crypto/ecdsa/ecdsa.h Include file for the OpenSSL ECDSA functions - * \author Written by Nils Larsch for the OpenSSL project - */ -/* ==================================================================== - * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -#ifndef HEADER_ECDSA_H -# define HEADER_ECDSA_H - -# include - -# ifdef OPENSSL_NO_ECDSA -# error ECDSA is disabled. -# endif - -# include -# include -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ECDSA_SIG_st { - BIGNUM *r; - BIGNUM *s; -} 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 0 - */ -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); - -/** 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 (optioanl), - * 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); - -const ECDSA_METHOD *ECDSA_OpenSSL(void); - -/** Sets the default ECDSA method - * \param meth new default ECDSA_METHOD - */ -void ECDSA_set_default_method(const ECDSA_METHOD *meth); - -/** Returns the default ECDSA method - * \return pointer to ECDSA_METHOD structure containing the default method - */ -const ECDSA_METHOD *ECDSA_get_default_method(void); - -/** Sets method to be used for the ECDSA operations - * \param eckey EC_KEY object - * \param meth new method - * \return 1 on success and 0 otherwise - */ -int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth); - -/** 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); - -/** 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 (optioanl), - * 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); - -/* the standard ex_data functions */ -int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new - *new_func, CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); -int ECDSA_set_ex_data(EC_KEY *d, int idx, void *arg); -void *ECDSA_get_ex_data(EC_KEY *d, int idx); - -/** Allocates and initialize a ECDSA_METHOD structure - * \param ecdsa_method pointer to ECDSA_METHOD to copy. (May be NULL) - * \return pointer to a ECDSA_METHOD structure or NULL if an error occurred - */ - -ECDSA_METHOD *ECDSA_METHOD_new(const ECDSA_METHOD *ecdsa_method); - -/** frees a ECDSA_METHOD structure - * \param ecdsa_method pointer to the ECDSA_METHOD structure - */ -void ECDSA_METHOD_free(ECDSA_METHOD *ecdsa_method); - -/** Sets application specific data in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param app application specific data to set - */ - -void ECDSA_METHOD_set_app_data(ECDSA_METHOD *ecdsa_method, void *app); - -/** Returns application specific data from a ECDSA_METHOD structure - * \param ecdsa_method pointer to ECDSA_METHOD structure - * \return pointer to application specific data. - */ - -void *ECDSA_METHOD_get_app_data(ECDSA_METHOD *ecdsa_method); - -/** Set the ECDSA_do_sign function in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param ecdsa_do_sign a funtion of type ECDSA_do_sign - */ - -void ECDSA_METHOD_set_sign(ECDSA_METHOD *ecdsa_method, - ECDSA_SIG *(*ecdsa_do_sign) (const unsigned char - *dgst, int dgst_len, - const BIGNUM *inv, - const BIGNUM *rp, - EC_KEY *eckey)); - -/** Set the ECDSA_sign_setup function in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param ecdsa_sign_setup a funtion of type ECDSA_sign_setup - */ - -void ECDSA_METHOD_set_sign_setup(ECDSA_METHOD *ecdsa_method, - int (*ecdsa_sign_setup) (EC_KEY *eckey, - BN_CTX *ctx, - BIGNUM **kinv, - BIGNUM **r)); - -/** Set the ECDSA_do_verify function in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param ecdsa_do_verify a funtion of type ECDSA_do_verify - */ - -void ECDSA_METHOD_set_verify(ECDSA_METHOD *ecdsa_method, - int (*ecdsa_do_verify) (const unsigned char - *dgst, int dgst_len, - const ECDSA_SIG *sig, - EC_KEY *eckey)); - -void ECDSA_METHOD_set_flags(ECDSA_METHOD *ecdsa_method, int flags); - -/** Set the flags field in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param flags flags value to set - */ - -void ECDSA_METHOD_set_name(ECDSA_METHOD *ecdsa_method, char *name); - -/** Set the name field in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param name name to set - */ - -/* BEGIN ERROR CODES */ /* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. + * 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 */ -void ERR_load_ECDSA_strings(void); -/* Error codes for the ECDSA functions. */ - -/* Function codes. */ -# define ECDSA_F_ECDSA_CHECK 104 -# define ECDSA_F_ECDSA_DATA_NEW_METHOD 100 -# define ECDSA_F_ECDSA_DO_SIGN 101 -# define ECDSA_F_ECDSA_DO_VERIFY 102 -# define ECDSA_F_ECDSA_METHOD_NEW 105 -# define ECDSA_F_ECDSA_SIGN_SETUP 103 - -/* Reason codes. */ -# define ECDSA_R_BAD_SIGNATURE 100 -# define ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 101 -# define ECDSA_R_ERR_EC_LIB 102 -# define ECDSA_R_MISSING_PARAMETERS 103 -# define ECDSA_R_NEED_NEW_SETUP_VALUES 106 -# define ECDSA_R_NON_FIPS_METHOD 107 -# define ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED 104 -# define ECDSA_R_SIGNATURE_MALLOC_FAILED 105 - -#ifdef __cplusplus -} -#endif -#endif +#include diff --git a/ext/openssl/windows/x64/include/openssl/ecerr.h b/ext/openssl/windows/x64/include/openssl/ecerr.h new file mode 100644 index 00000000..be313d28 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/ecerr.h @@ -0,0 +1,271 @@ +/* + * 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 + +# 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/ext/openssl/windows/x64/include/openssl/engine.h b/ext/openssl/windows/x64/include/openssl/engine.h index bd7b5914..0780f0fb 100644 --- a/ext/openssl/windows/x64/include/openssl/engine.h +++ b/ext/openssl/windows/x64/include/openssl/engine.h @@ -1,65 +1,11 @@ -/* openssl/engine.h */ /* - * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project - * 2000. - */ -/* ==================================================================== - * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + * 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 @@ -67,40 +13,24 @@ # include -# ifdef OPENSSL_NO_ENGINE -# error ENGINE is disabled. -# endif - -# ifndef OPENSSL_NO_DEPRECATED +# ifndef OPENSSL_NO_ENGINE +# if OPENSSL_API_COMPAT < 0x10100000L # include -# ifndef OPENSSL_NO_RSA -# include -# endif -# ifndef OPENSSL_NO_DSA -# include -# endif -# ifndef OPENSSL_NO_DH -# include -# endif -# ifndef OPENSSL_NO_ECDH -# include -# endif -# ifndef OPENSSL_NO_ECDSA -# include -# endif +# include +# include +# include +# include # include # include # include # endif - # include # include - # include - -#ifdef __cplusplus +# include +# ifdef __cplusplus extern "C" { -#endif +# endif /* * These flags are used to control combinations of algorithm (methods) by @@ -110,13 +40,11 @@ extern "C" { # define ENGINE_METHOD_DSA (unsigned int)0x0002 # define ENGINE_METHOD_DH (unsigned int)0x0004 # define ENGINE_METHOD_RAND (unsigned int)0x0008 -# define ENGINE_METHOD_ECDH (unsigned int)0x0010 -# define ENGINE_METHOD_ECDSA (unsigned int)0x0020 # define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 # define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 -# define ENGINE_METHOD_STORE (unsigned int)0x0100 # 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 @@ -391,29 +319,25 @@ int ENGINE_add(ENGINE *e); int ENGINE_remove(ENGINE *e); /* Retrieve an engine from the list by its unique "id" value. */ ENGINE *ENGINE_by_id(const char *id); -/* Add all the built-in engines. */ -void ENGINE_load_openssl(void); -void ENGINE_load_dynamic(void); + +#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 -void ENGINE_load_4758cca(void); -void ENGINE_load_aep(void); -void ENGINE_load_atalla(void); -void ENGINE_load_chil(void); -void ENGINE_load_cswift(void); -void ENGINE_load_nuron(void); -void ENGINE_load_sureware(void); -void ENGINE_load_ubsec(void); -void ENGINE_load_padlock(void); -void ENGINE_load_capi(void); -# ifndef OPENSSL_NO_GMP -void ENGINE_load_gmp(void); -# endif -# ifndef OPENSSL_NO_GOST -void ENGINE_load_gost(void); -# endif +# 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 -void ENGINE_load_cryptodev(void); -void ENGINE_load_rdrand(void); +# 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); /* @@ -428,8 +352,7 @@ void ENGINE_set_table_flags(unsigned int flags); * 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, so - * ENGINE_cleanup() will reverse any "register" operations. + * Cleanup is automatically registered from each table when required. */ int ENGINE_register_RSA(ENGINE *e); @@ -440,13 +363,9 @@ int ENGINE_register_DSA(ENGINE *e); void ENGINE_unregister_DSA(ENGINE *e); void ENGINE_register_all_DSA(void); -int ENGINE_register_ECDH(ENGINE *e); -void ENGINE_unregister_ECDH(ENGINE *e); -void ENGINE_register_all_ECDH(void); - -int ENGINE_register_ECDSA(ENGINE *e); -void ENGINE_unregister_ECDSA(ENGINE *e); -void ENGINE_register_all_ECDSA(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); @@ -456,10 +375,6 @@ int ENGINE_register_RAND(ENGINE *e); void ENGINE_unregister_RAND(ENGINE *e); void ENGINE_register_all_RAND(void); -int ENGINE_register_STORE(ENGINE *e); -void ENGINE_unregister_STORE(ENGINE *e); -void ENGINE_register_all_STORE(void); - int ENGINE_register_ciphers(ENGINE *e); void ENGINE_unregister_ciphers(ENGINE *e); void ENGINE_register_all_ciphers(void); @@ -486,7 +401,7 @@ int ENGINE_register_complete(ENGINE *e); int ENGINE_register_all_complete(void); /* - * Send parametrised control commands to the engine. The possibilities to + * 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 @@ -554,11 +469,9 @@ 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_ECDH(ENGINE *e, const ECDH_METHOD *ecdh_meth); -int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_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_STORE(ENGINE *e, const STORE_METHOD *store_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); @@ -576,19 +489,18 @@ 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. */ -int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); +#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 cleans up anything that needs it. Eg. the ENGINE_add() - * function automatically ensures the list cleanup function is registered to - * be called from ENGINE_cleanup(). Similarly, all ENGINE_register_*** - * functions ensure ENGINE_cleanup() will clean up after them. + * 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. */ -void ENGINE_cleanup(void); +# define ENGINE_cleanup() while(0) continue +#endif /* * These return values from within the ENGINE structure. These can be useful @@ -600,11 +512,9 @@ 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 ECDH_METHOD *ENGINE_get_ECDH(const ENGINE *e); -const ECDSA_METHOD *ENGINE_get_ECDSA(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); -const STORE_METHOD *ENGINE_get_STORE(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); @@ -679,8 +589,7 @@ int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, ENGINE *ENGINE_get_default_RSA(void); /* Same for the other "methods" */ ENGINE *ENGINE_get_default_DSA(void); -ENGINE *ENGINE_get_default_ECDH(void); -ENGINE *ENGINE_get_default_ECDSA(void); +ENGINE *ENGINE_get_default_EC(void); ENGINE *ENGINE_get_default_DH(void); ENGINE *ENGINE_get_default_RAND(void); /* @@ -702,8 +611,7 @@ 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_ECDH(ENGINE *e); -int ENGINE_set_default_ECDSA(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); @@ -730,12 +638,12 @@ void ENGINE_add_conf_module(void); /**************************/ /* Binary/behaviour compatibility levels */ -# define OSSL_DYNAMIC_VERSION (unsigned long)0x00020000 +# 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)0x00020000 +# define OSSL_DYNAMIC_OLDEST (unsigned long)0x00030000 /* * When compiling an ENGINE entirely as an external shared library, loadable @@ -748,40 +656,22 @@ void ENGINE_add_conf_module(void); * 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_cb) (size_t); -typedef void *(*dyn_MEM_realloc_cb) (void *, size_t); -typedef void (*dyn_MEM_free_cb) (void *); +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_cb malloc_cb; - dyn_MEM_realloc_cb realloc_cb; - dyn_MEM_free_cb free_cb; + 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 dependant code) can simplify a bit?? + * use these types so we (and any other dependent code) can simplify a bit?? */ -typedef void (*dyn_lock_locking_cb) (int, int, const char *, int); -typedef int (*dyn_lock_add_lock_cb) (int *, int, int, const char *, int); -typedef struct CRYPTO_dynlock_value *(*dyn_dynlock_create_cb) (const char *, - int); -typedef void (*dyn_dynlock_lock_cb) (int, struct CRYPTO_dynlock_value *, - const char *, int); -typedef void (*dyn_dynlock_destroy_cb) (struct CRYPTO_dynlock_value *, - const char *, int); -typedef struct st_dynamic_LOCK_fns { - dyn_lock_locking_cb lock_locking_cb; - dyn_lock_add_lock_cb lock_add_lock_cb; - dyn_dynlock_create_cb dynlock_create_cb; - dyn_dynlock_lock_cb dynlock_lock_cb; - dyn_dynlock_destroy_cb dynlock_destroy_cb; -} dynamic_LOCK_fns; /* The top-level structure */ typedef struct st_dynamic_fns { void *static_state; - const ERR_FNS *err_fns; - const CRYPTO_EX_DATA_IMPL *ex_data_fns; dynamic_MEM_fns mem_fns; - dynamic_LOCK_fns lock_fns; } dynamic_fns; /* @@ -800,7 +690,7 @@ 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; \ + if (v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ return 0; } /* @@ -828,21 +718,13 @@ typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id, 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; \ - if(!CRYPTO_set_mem_functions(fns->mem_fns.malloc_cb, \ - fns->mem_fns.realloc_cb, fns->mem_fns.free_cb)) \ - return 0; \ - CRYPTO_set_locking_callback(fns->lock_fns.lock_locking_cb); \ - CRYPTO_set_add_lock_callback(fns->lock_fns.lock_add_lock_cb); \ - CRYPTO_set_dynlock_create_callback(fns->lock_fns.dynlock_create_cb); \ - CRYPTO_set_dynlock_lock_callback(fns->lock_fns.dynlock_lock_cb); \ - CRYPTO_set_dynlock_destroy_callback(fns->lock_fns.dynlock_destroy_cb); \ - if(!CRYPTO_set_ex_data_implementation(fns->ex_data_fns)) \ - return 0; \ - if(!ERR_set_implementation(fns->err_fns)) return 0; \ + 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 (!fn(e, id)) return 0; \ + return 1; } /* * If the loading application (or library) and the loaded ENGINE library @@ -857,104 +739,13 @@ typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id, */ void *ENGINE_get_static_state(void); -# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV) -void ENGINE_setup_bsd_cryptodev(void); +# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) +DEPRECATEDIN_1_1_0(void ENGINE_setup_bsd_cryptodev(void)) # endif -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ENGINE_strings(void); -/* Error codes for the ENGINE functions. */ - -/* Function codes. */ -# 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_FREE_UTIL 108 -# define ENGINE_F_ENGINE_GET_CIPHER 185 -# define ENGINE_F_ENGINE_GET_DEFAULT_TYPE 177 -# define ENGINE_F_ENGINE_GET_DIGEST 186 -# 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_REMOVE 123 -# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 -# define ENGINE_F_ENGINE_SET_DEFAULT_TYPE 126 -# 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_UNLOAD_KEY 152 -# define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 -# define ENGINE_F_ENGINE_UP_REF 190 -# 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_LOG_MESSAGE 141 - -/* 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_DH_NOT_IMPLEMENTED 139 -# define ENGINE_R_DSA_NOT_IMPLEMENTED 140 -# 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_GET_HANDLE_FAILED 107 -# 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_NO_UNLOAD_FUNCTION 126 -# define ENGINE_R_PROVIDE_PARAMETERS 113 -# define ENGINE_R_RSA_NOT_IMPLEMENTED 141 -# 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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/engineerr.h b/ext/openssl/windows/x64/include/openssl/engineerr.h new file mode 100644 index 00000000..b4c036b2 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/engineerr.h @@ -0,0 +1,107 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_ENGINEERR_H +# define HEADER_ENGINEERR_H + +# 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/ext/openssl/windows/x64/include/openssl/err.h b/ext/openssl/windows/x64/include/openssl/err.h index f4236562..b49f8812 100644 --- a/ext/openssl/windows/x64/include/openssl/err.h +++ b/ext/openssl/windows/x64/include/openssl/err.h @@ -1,112 +1,10 @@ -/* crypto/err/err.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). +/* + * 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 @@ -114,18 +12,14 @@ # include -# ifndef OPENSSL_NO_FP_API +# ifndef OPENSSL_NO_STDIO # include # include # endif # include -# ifndef OPENSSL_NO_BIO -# include -# endif -# ifndef OPENSSL_NO_LHASH -# include -# endif +# include +# include #ifdef __cplusplus extern "C" { @@ -143,10 +37,10 @@ extern "C" { # 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 { - CRYPTO_THREADID tid; int err_flags[ERR_NUM_ERRORS]; unsigned long err_buffer[ERR_NUM_ERRORS]; char *err_data[ERR_NUM_ERRORS]; @@ -191,60 +85,64 @@ typedef struct err_state_st { # define ERR_LIB_COMP 41 # define ERR_LIB_ECDSA 42 # define ERR_LIB_ECDH 43 -# define ERR_LIB_STORE 44 +# 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_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),__FILE__,__LINE__) -# define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),__FILE__,__LINE__) -# define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),__FILE__,__LINE__) -# define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),__FILE__,__LINE__) -# define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),__FILE__,__LINE__) -# define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),__FILE__,__LINE__) -# define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),__FILE__,__LINE__) -# define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),__FILE__,__LINE__) -# define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),__FILE__,__LINE__) -# define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),__FILE__,__LINE__) -# define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),__FILE__,__LINE__) -# define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),__FILE__,__LINE__) -# define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),__FILE__,__LINE__) -# define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),__FILE__,__LINE__) -# define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),__FILE__,__LINE__) -# define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),__FILE__,__LINE__) -# define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),__FILE__,__LINE__) -# define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),__FILE__,__LINE__) -# define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),__FILE__,__LINE__) -# define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),__FILE__,__LINE__) -# define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),__FILE__,__LINE__) -# define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),__FILE__,__LINE__) -# define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__) -# define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__) -# define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),__FILE__,__LINE__) -# define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__) -# define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),__FILE__,__LINE__) -# define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),__FILE__,__LINE__) -# define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),__FILE__,__LINE__) -# define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__) -# define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__) -# define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__) -# define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__) +# 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) -/* - * Borland C seems too stupid to be able to shift and do longs in the - * pre-processor :-( - */ -# define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)*0x1000000)| \ - ((((unsigned long)f)&0xfffL)*0x1000)| \ - ((((unsigned long)r)&0xfffL))) -# define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL) -# define ERR_GET_FUNC(l) (int)((((unsigned long)l)>>12L)&0xfffL) -# define ERR_GET_REASON(l) (int)((l)&0xfffL) -# define ERR_FATAL_ERROR(l) (int)((l)&ERR_R_FATAL) +# 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 @@ -258,7 +156,19 @@ typedef struct err_state_st { # 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 */ @@ -272,30 +182,16 @@ typedef struct err_state_st { # 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_CONF_LIB ERR_LIB_CONF/* 14 */ -# define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO/* 15 */ # define ERR_R_EC_LIB ERR_LIB_EC/* 16 */ -# define ERR_R_SSL_LIB ERR_LIB_SSL/* 20 */ # 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_PKCS12_LIB ERR_LIB_PKCS12/* 35 */ -# define ERR_R_RAND_LIB ERR_LIB_RAND/* 36 */ -# define ERR_R_DSO_LIB ERR_LIB_DSO/* 37 */ # define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */ -# define ERR_R_OCSP_LIB ERR_LIB_OCSP/* 39 */ # define ERR_R_UI_LIB ERR_LIB_UI/* 40 */ -# define ERR_R_COMP_LIB ERR_LIB_COMP/* 41 */ # define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */ -# define ERR_R_ECDH_LIB ERR_LIB_ECDH/* 43 */ -# define ERR_R_STORE_LIB ERR_LIB_STORE/* 44 */ -# define ERR_R_TS_LIB ERR_LIB_TS/* 45 */ +# define ERR_R_OSSL_STORE_LIB ERR_LIB_OSSL_STORE/* 44 */ # define ERR_R_NESTED_ASN1_ERROR 58 -# define ERR_R_BAD_ASN1_OBJECT_HEADER 59 -# define ERR_R_BAD_GET_ASN1_OBJECT_CALL 60 -# define ERR_R_EXPECTING_AN_ASN1_SEQUENCE 61 -# define ERR_R_ASN1_LENGTH_MISMATCH 62 # define ERR_R_MISSING_ASN1_EOS 63 /* fatal error */ @@ -305,6 +201,9 @@ typedef struct err_state_st { # 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 @@ -316,6 +215,8 @@ typedef struct ERR_string_data_st { 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); @@ -339,49 +240,32 @@ 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_FP_API +# ifndef OPENSSL_NO_STDIO void ERR_print_errors_fp(FILE *fp); # endif -# ifndef OPENSSL_NO_BIO void ERR_print_errors(BIO *bp); -# endif void ERR_add_error_data(int num, ...); void ERR_add_error_vdata(int num, va_list args); -void ERR_load_strings(int lib, ERR_STRING_DATA str[]); -void ERR_unload_strings(int lib, ERR_STRING_DATA str[]); -void ERR_load_ERR_strings(void); -void ERR_load_crypto_strings(void); -void ERR_free_strings(void); +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); -void ERR_remove_thread_state(const CRYPTO_THREADID *tid); -# ifndef OPENSSL_NO_DEPRECATED -void ERR_remove_state(unsigned long pid); /* if zero we look it up */ -# endif +#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); -# ifndef OPENSSL_NO_LHASH -LHASH_OF(ERR_STRING_DATA) *ERR_get_string_table(void); -LHASH_OF(ERR_STATE) *ERR_get_err_state_table(void); -void ERR_release_err_state_table(LHASH_OF(ERR_STATE) **hash); -# endif - int ERR_get_next_error_library(void); int ERR_set_mark(void); int ERR_pop_to_mark(void); - -/* Already defined in ossl_typ.h */ -/* typedef struct st_ERR_FNS ERR_FNS; */ -/* - * An application can use this function and provide the return value to - * loaded modules that should use the application's ERR state/functionality - */ -const ERR_FNS *ERR_get_implementation(void); -/* - * A loaded module should call this function prior to any ERR operations - * using the application's "ERR_FNS". - */ -int ERR_set_implementation(const ERR_FNS *fns); +int ERR_clear_last_mark(void); #ifdef __cplusplus } diff --git a/ext/openssl/windows/x64/include/openssl/evp.h b/ext/openssl/windows/x64/include/openssl/evp.h index cf1de15e..dd1117d0 100644 --- a/ext/openssl/windows/x64/include/openssl/evp.h +++ b/ext/openssl/windows/x64/include/openssl/evp.h @@ -1,87 +1,21 @@ -/* crypto/evp/evp.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 -# ifdef OPENSSL_ALGORITHM_DEFINES -# include -# else -# define OPENSSL_ALGORITHM_DEFINES -# include -# undef OPENSSL_ALGORITHM_DEFINES -# endif - +# include # include - # include +# include +# include -# ifndef OPENSSL_NO_BIO -# include -# endif - -/*- -#define EVP_RC2_KEY_SIZE 16 -#define EVP_RC4_KEY_SIZE 16 -#define EVP_BLOWFISH_KEY_SIZE 16 -#define EVP_CAST5_KEY_SIZE 16 -#define EVP_RC5_32_12_16_KEY_SIZE 16 -*/ # define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */ # define EVP_MAX_KEY_LENGTH 64 # define EVP_MAX_IV_LENGTH 16 @@ -107,6 +41,7 @@ # 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 @@ -115,93 +50,70 @@ # 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 -/* - * Type needs to be a bit field Sub-type needs to be for variations on the - * method, as in, can it do arbitrary encryption.... - */ -struct evp_pkey_st { - int type; - int save_type; - int references; - const EVP_PKEY_ASN1_METHOD *ameth; - ENGINE *engine; - union { - char *ptr; -# ifndef OPENSSL_NO_RSA - struct rsa_st *rsa; /* RSA */ -# endif -# ifndef OPENSSL_NO_DSA - struct dsa_st *dsa; /* DSA */ -# endif -# ifndef OPENSSL_NO_DH - struct dh_st *dh; /* DH */ -# endif -# ifndef OPENSSL_NO_EC - struct ec_key_st *ec; /* ECC */ -# endif - } pkey; - int save_parameters; - STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ -} /* EVP_PKEY */ ; - # 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 -struct env_md_st { - int type; - int pkey_type; - int md_size; - unsigned long flags; - int (*init) (EVP_MD_CTX *ctx); - int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); - int (*final) (EVP_MD_CTX *ctx, unsigned char *md); - int (*copy) (EVP_MD_CTX *to, const EVP_MD_CTX *from); - int (*cleanup) (EVP_MD_CTX *ctx); - /* FIXME: prototype these some day */ - int (*sign) (int type, const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, void *key); - int (*verify) (int type, const unsigned char *m, unsigned int m_length, - const unsigned char *sigbuf, unsigned int siglen, - void *key); - int required_pkey_type[5]; /* EVP_PKEY_xxx */ - int block_size; - int ctx_size; /* how big does the ctx->md_data need to be */ - /* control function */ - int (*md_ctrl) (EVP_MD_CTX *ctx, int cmd, int p1, void *p2); -} /* 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); -typedef int evp_sign_method(int type, const unsigned char *m, - unsigned int m_length, unsigned char *sigret, - unsigned int *siglen, void *key); -typedef int evp_verify_method(int type, const unsigned char *m, - unsigned int m_length, - const unsigned char *sigbuf, - unsigned int siglen, void *key); +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 a "clone" digest used - * which is a copy of an existing - * one for a specific public key type. - * EVP_dss1() etc - */ -# define EVP_MD_FLAG_PKEY_DIGEST 0x0002 - -/* Digest uses EVP_PKEY_METHOD for signing instead of MD specific signing */ - -# define EVP_MD_FLAG_PKEY_METHOD_SIGNATURE 0x0004 +/* digest is extensible-output function, XOF */ +# define EVP_MD_FLAG_XOF 0x0002 /* DigestAlgorithmIdentifier flags... */ @@ -226,57 +138,14 @@ typedef int evp_verify_method(int type, const unsigned char *m, # 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 -# define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0} - -# ifndef OPENSSL_NO_DSA -# define EVP_PKEY_DSA_method (evp_sign_method *)DSA_sign, \ - (evp_verify_method *)DSA_verify, \ - {EVP_PKEY_DSA,EVP_PKEY_DSA2,EVP_PKEY_DSA3, \ - EVP_PKEY_DSA4,0} -# else -# define EVP_PKEY_DSA_method EVP_PKEY_NULL_method -# endif - -# ifndef OPENSSL_NO_ECDSA -# define EVP_PKEY_ECDSA_method (evp_sign_method *)ECDSA_sign, \ - (evp_verify_method *)ECDSA_verify, \ - {EVP_PKEY_EC,0,0,0} -# else -# define EVP_PKEY_ECDSA_method EVP_PKEY_NULL_method -# endif - -# ifndef OPENSSL_NO_RSA -# define EVP_PKEY_RSA_method (evp_sign_method *)RSA_sign, \ - (evp_verify_method *)RSA_verify, \ - {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} -# define EVP_PKEY_RSA_ASN1_OCTET_STRING_method \ - (evp_sign_method *)RSA_sign_ASN1_OCTET_STRING, \ - (evp_verify_method *)RSA_verify_ASN1_OCTET_STRING, \ - {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} -# else -# define EVP_PKEY_RSA_method EVP_PKEY_NULL_method -# define EVP_PKEY_RSA_ASN1_OCTET_STRING_method EVP_PKEY_NULL_method -# endif - # endif /* !EVP_MD */ -struct env_md_ctx_st { - const EVP_MD *digest; - ENGINE *engine; /* functional reference if 'digest' is - * ENGINE-provided */ - unsigned long flags; - void *md_data; - /* Public key context for sign/verify */ - EVP_PKEY_CTX *pctx; - /* Update function: usually copied from EVP_MD */ - int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); -} /* EVP_MD_CTX */ ; - /* values for EVP_MD_CTX flags */ # define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be @@ -284,7 +153,7 @@ struct env_md_ctx_st { # 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_cleanup */ + * 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. @@ -304,34 +173,60 @@ struct env_md_ctx_st { # 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 in evp_int.h */ -struct evp_cipher_st { - int nid; - int block_size; - /* Default value for variable length ciphers */ - int key_len; - int iv_len; - /* Various flags */ - unsigned long flags; - /* init key */ - int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key, - const unsigned char *iv, int enc); - /* encrypt/decrypt data */ - int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out, - const unsigned char *in, size_t inl); - /* cleanup ctx */ - int (*cleanup) (EVP_CIPHER_CTX *); - /* how big ctx->cipher_data needs to be */ - int ctx_size; - /* Populate a ASN1_TYPE with parameters */ - int (*set_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); - /* Get parameters from a ASN1_TYPE */ - int (*get_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); - /* Miscellaneous operations */ - int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr); - /* Application data */ - void *app_data; -} /* EVP_CIPHER */ ; +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 */ @@ -347,6 +242,7 @@ struct evp_cipher_st { # 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 @@ -378,6 +274,8 @@ struct evp_cipher_st { # 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 @@ -397,14 +295,19 @@ struct evp_cipher_st { # define EVP_CTRL_RAND_KEY 0x6 # define EVP_CTRL_PBE_PRF_NID 0x7 # define EVP_CTRL_COPY 0x8 -# define EVP_CTRL_GCM_SET_IVLEN 0x9 -# define EVP_CTRL_GCM_GET_TAG 0x10 -# define EVP_CTRL_GCM_SET_TAG 0x11 -# define EVP_CTRL_GCM_SET_IV_FIXED 0x12 +# 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_GCM_SET_IVLEN -# define EVP_CTRL_CCM_GET_TAG EVP_CTRL_GCM_GET_TAG -# define EVP_CTRL_CCM_SET_TAG EVP_CTRL_GCM_SET_TAG +# 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 /* @@ -423,6 +326,36 @@ struct evp_cipher_st { # 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 + +/* 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 @@ -441,45 +374,26 @@ typedef struct { /* 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; -struct evp_cipher_ctx_st { - const EVP_CIPHER *cipher; - ENGINE *engine; /* functional reference if 'cipher' is - * ENGINE-provided */ - int encrypt; /* encrypt or decrypt */ - int buf_len; /* number we have left */ - unsigned char oiv[EVP_MAX_IV_LENGTH]; /* original iv */ - unsigned char iv[EVP_MAX_IV_LENGTH]; /* working iv */ - unsigned char buf[EVP_MAX_BLOCK_LENGTH]; /* saved partial block */ - int num; /* used by cfb/ofb/ctr mode */ - void *app_data; /* application stuff */ - int key_len; /* May change for variable length cipher */ - unsigned long flags; /* Various flags */ - void *cipher_data; /* per EVP data */ - int final_used; - int block_mask; - unsigned char final[EVP_MAX_BLOCK_LENGTH]; /* possible final block */ -} /* EVP_CIPHER_CTX */ ; - -typedef struct evp_Encode_Ctx_st { - /* number saved in a partial encode/decode */ - int num; - /* - * The length is either the output line length (in input bytes) or the - * shortest input line length that is ok. Once decoding begins, the - * length is adjusted up each time a longer line is decoded - */ - int length; - /* data to encode */ - unsigned char enc_data[80]; - /* number read on current line */ - int line_num; - int expect_nl; -} EVP_ENCODE_CTX; /* Password based encryption function */ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, @@ -506,6 +420,15 @@ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, # 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)) @@ -522,32 +445,52 @@ 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)) -unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); -# define EVP_CIPHER_CTX_mode(e) (EVP_CIPHER_CTX_flags(e) & EVP_CIPH_MODE) +# 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_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) @@ -563,16 +506,20 @@ unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); # 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) +# 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) +# 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)) -int EVP_Cipher(EVP_CIPHER_CTX *c, - unsigned char *out, const unsigned char *in, unsigned int inl); +/*__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)) @@ -583,24 +530,33 @@ int EVP_Cipher(EVP_CIPHER_CTX *c, # define EVP_delete_digest_alias(alias) \ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); -void EVP_MD_CTX_init(EVP_MD_CTX *ctx); -int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); -EVP_MD_CTX *EVP_MD_CTX_create(void); -void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); -int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); +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); -int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl); -int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt); -int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); -int EVP_Digest(const void *data, size_t count, - unsigned char *md, unsigned int *size, const EVP_MD *type, - ENGINE *impl); +__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); -int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in); -int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); -int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); +__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, @@ -608,75 +564,100 @@ int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, void EVP_set_pw_prompt(const char *prompt); char *EVP_get_pw_prompt(void); -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); +__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); -int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - const unsigned char *key, const unsigned char *iv); -int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - ENGINE *impl, const unsigned char *key, - const unsigned char *iv); -int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, - const unsigned char *in, int inl); -int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); -int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); +__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); -int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - const unsigned char *key, const unsigned char *iv); -int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - ENGINE *impl, const unsigned char *key, - const unsigned char *iv); -int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, - const unsigned char *in, int inl); -int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); -int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, 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); -int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - const unsigned char *key, const unsigned char *iv, - int enc); -int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, - ENGINE *impl, const unsigned char *key, - const unsigned char *iv, int enc); -int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, - const unsigned char *in, int inl); -int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); -int EVP_CipherFinal_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); -int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, - EVP_PKEY *pkey); +__owur int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, + EVP_PKEY *pkey); -int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, - unsigned int siglen, EVP_PKEY *pkey); +__owur int EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sigret, + size_t *siglen, const unsigned char *tbs, + size_t tbslen); -int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, - const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); -int EVP_DigestSignFinal(EVP_MD_CTX *ctx, - unsigned char *sigret, size_t *siglen); +__owur int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, + unsigned int siglen, EVP_PKEY *pkey); -int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, - const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); -int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, - const unsigned char *sig, size_t siglen); +__owur int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret, + size_t siglen, const unsigned char *tbs, + size_t tbslen); -int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, - const unsigned char *ek, int ekl, const unsigned char *iv, - EVP_PKEY *priv); -int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); +/*__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); -int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, - unsigned char **ek, int *ekl, unsigned char *iv, - EVP_PKEY **pubk, int npubk); -int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); +__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); -void EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, - const unsigned char *in, int inl); +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); @@ -687,23 +668,24 @@ int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); -void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a); -int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a); +# 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); -void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a); +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); -# ifndef OPENSSL_NO_BIO -BIO_METHOD *BIO_f_md(void); -BIO_METHOD *BIO_f_base64(void); -BIO_METHOD *BIO_f_cipher(void); -BIO_METHOD *BIO_f_reliable(void); -void BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k, - const unsigned char *i, int enc); -# endif +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 @@ -714,31 +696,37 @@ 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 -# ifndef OPENSSL_NO_SHA -const EVP_MD *EVP_sha(void); const EVP_MD *EVP_sha1(void); -const EVP_MD *EVP_dss(void); -const EVP_MD *EVP_dss1(void); -const EVP_MD *EVP_ecdsa(void); -# endif -# ifndef OPENSSL_NO_SHA256 const EVP_MD *EVP_sha224(void); const EVP_MD *EVP_sha256(void); -# endif -# ifndef OPENSSL_NO_SHA512 const EVP_MD *EVP_sha384(void); const EVP_MD *EVP_sha512(void); -# endif +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_RIPEMD +# 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); @@ -752,10 +740,6 @@ 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 -# if 0 -const EVP_CIPHER *EVP_des_ede_cfb1(void); -const EVP_CIPHER *EVP_des_ede_cfb8(void); -# endif 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); @@ -773,13 +757,6 @@ const EVP_CIPHER *EVP_des_ede3_wrap(void); * are rc4 and md5 declarations made here inside a "NO_DES" precompiler * branch? */ -# if 0 -# ifdef OPENSSL_OPENBSD_DEV_CRYPTO -const EVP_CIPHER *EVP_dev_crypto_des_ede3_cbc(void); -const EVP_CIPHER *EVP_dev_crypto_rc4(void); -const EVP_MD *EVP_dev_crypto_md5(void); -# endif -# endif # endif # ifndef OPENSSL_NO_RC4 const EVP_CIPHER *EVP_rc4(void); @@ -825,50 +802,88 @@ 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 -# ifndef OPENSSL_NO_AES 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 +# 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 +# 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 +# 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); -# if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1) +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); -# endif -# ifndef OPENSSL_NO_SHA256 const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void); -# endif +# 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); @@ -878,6 +893,7 @@ 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); @@ -885,6 +901,7 @@ 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); @@ -892,6 +909,13 @@ 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 @@ -902,29 +926,43 @@ const EVP_CIPHER *EVP_seed_cfb128(void); const EVP_CIPHER *EVP_seed_ofb(void); # endif -void OPENSSL_add_all_algorithms_noconf(void); -void OPENSSL_add_all_algorithms_conf(void); - -# 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() +# 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 -void OpenSSL_add_all_ciphers(void); -void OpenSSL_add_all_digests(void); -# define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms() -# define SSLeay_add_all_ciphers() OpenSSL_add_all_ciphers() -# define SSLeay_add_all_digests() OpenSSL_add_all_digests() +# 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_cleanup(void); void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, const char *from, const char *to, void *x), @@ -949,35 +987,53 @@ int EVP_PKEY_encrypt_old(unsigned char *enc_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(EVP_PKEY *pkey); -int EVP_PKEY_size(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(EVP_PKEY *pkey); +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, @@ -1006,6 +1062,10 @@ int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, 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 */ @@ -1030,6 +1090,17 @@ 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, @@ -1041,6 +1112,8 @@ int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, # 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); @@ -1049,6 +1122,7 @@ int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, 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 @@ -1061,6 +1135,9 @@ void EVP_PBE_cleanup(void); # 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); @@ -1073,7 +1150,7 @@ int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, const char **ppem_str, const EVP_PKEY_ASN1_METHOD *ameth); -const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(EVP_PKEY *pkey); +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); @@ -1094,7 +1171,7 @@ void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_bits) (const EVP_PKEY *pk)); void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, int (*priv_decode) (EVP_PKEY *pk, - PKCS8_PRIV_KEY_INFO + const PKCS8_PRIV_KEY_INFO *p8inf), int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pk), @@ -1137,6 +1214,42 @@ void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, 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) @@ -1157,18 +1270,22 @@ void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) # define EVP_PKEY_OP_TYPE_NOGEN \ - (EVP_PKEY_OP_SIG | EVP_PKEY_OP_CRYPT | EVP_PKEY_OP_DERIVE) + (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) + 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) + 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 @@ -1193,6 +1310,8 @@ void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, # 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 @@ -1208,6 +1327,9 @@ void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, 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); @@ -1218,12 +1340,32 @@ 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); @@ -1259,12 +1401,15 @@ 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); +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); @@ -1363,34 +1508,47 @@ void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, const char *type, const char *value)); -void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth, +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(EVP_PKEY_METHOD *pmeth, +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(EVP_PKEY_METHOD *pmeth, +void EVP_PKEY_meth_get_cleanup(const EVP_PKEY_METHOD *pmeth, void (**pcleanup) (EVP_PKEY_CTX *ctx)); -void EVP_PKEY_meth_get_paramgen(EVP_PKEY_METHOD *pmeth, +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(EVP_PKEY_METHOD *pmeth, +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(EVP_PKEY_METHOD *pmeth, +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(EVP_PKEY_METHOD *pmeth, +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, @@ -1398,7 +1556,7 @@ void EVP_PKEY_meth_get_verify(EVP_PKEY_METHOD *pmeth, const unsigned char *tbs, size_t tbslen)); -void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD *pmeth, +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 @@ -1410,7 +1568,7 @@ void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD *pmeth, char *tbs, size_t tbslen)); -void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD *pmeth, +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, @@ -1418,7 +1576,7 @@ void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD *pmeth, size_t *siglen, EVP_MD_CTX *mctx)); -void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD *pmeth, +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, @@ -1426,7 +1584,7 @@ void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD *pmeth, int siglen, EVP_MD_CTX *mctx)); -void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD *pmeth, +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, @@ -1434,7 +1592,7 @@ void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD *pmeth, const unsigned char *in, size_t inlen)); -void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth, +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, @@ -1442,185 +1600,33 @@ void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth, const unsigned char *in, size_t inlen)); -void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth, +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(EVP_PKEY_METHOD *pmeth, +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_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); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -void ERR_load_EVP_strings(void); - -/* Error codes for the EVP functions. */ - -/* Function codes. */ -# define EVP_F_AESNI_INIT_KEY 165 -# define EVP_F_AESNI_XTS_CIPHER 176 -# define EVP_F_AES_INIT_KEY 133 -# define EVP_F_AES_T4_INIT_KEY 178 -# define EVP_F_AES_XTS 172 -# define EVP_F_AES_XTS_CIPHER 175 -# define EVP_F_ALG_MODULE_INIT 177 -# define EVP_F_CAMELLIA_INIT_KEY 159 -# define EVP_F_CMAC_INIT 173 -# define EVP_F_CMLL_T4_INIT_KEY 179 -# define EVP_F_D2I_PKEY 100 -# define EVP_F_DO_SIGVER_INIT 161 -# define EVP_F_DSAPKEY2PKCS8 134 -# define EVP_F_DSA_PKEY2PKCS8 135 -# define EVP_F_ECDSA_PKEY2PKCS8 129 -# define EVP_F_ECKEY_PKEY2PKCS8 132 -# define EVP_F_EVP_CIPHERINIT_EX 123 -# 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_DECRYPTFINAL_EX 101 -# define EVP_F_EVP_DIGESTINIT_EX 128 -# define EVP_F_EVP_ENCRYPTFINAL_EX 127 -# 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_PKCS82PKEY 111 -# define EVP_F_EVP_PKCS82PKEY_BROKEN 136 -# define EVP_F_EVP_PKEY2PKCS8_BROKEN 113 -# 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_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_GET1_DH 119 -# define EVP_F_EVP_PKEY_GET1_DSA 120 -# define EVP_F_EVP_PKEY_GET1_ECDSA 130 -# define EVP_F_EVP_PKEY_GET1_EC_KEY 131 -# define EVP_F_EVP_PKEY_GET1_RSA 121 -# define EVP_F_EVP_PKEY_KEYGEN 146 -# define EVP_F_EVP_PKEY_KEYGEN_INIT 147 -# define EVP_F_EVP_PKEY_NEW 106 -# define EVP_F_EVP_PKEY_PARAMGEN 148 -# define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 -# 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_RIJNDAEL 126 -# define EVP_F_EVP_SIGNFINAL 107 -# define EVP_F_EVP_VERIFYFINAL 108 -# define EVP_F_FIPS_CIPHERINIT 166 -# define EVP_F_FIPS_CIPHER_CTX_COPY 170 -# define EVP_F_FIPS_CIPHER_CTX_CTRL 167 -# define EVP_F_FIPS_CIPHER_CTX_SET_KEY_LENGTH 171 -# define EVP_F_FIPS_DIGESTINIT 168 -# define EVP_F_FIPS_MD_CTX_COPY 169 -# define EVP_F_HMAC_INIT_EX 174 -# define EVP_F_INT_CTX_NEW 157 -# 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_PKCS8_SET_BROKEN 112 -# define EVP_F_PKEY_SET_TYPE 158 -# define EVP_F_RC2_MAGIC_TO_METH 109 -# define EVP_F_RC5_CTRL 125 - -/* Reason codes. */ -# define EVP_R_AES_IV_SETUP_FAILED 162 -# define EVP_R_AES_KEY_SETUP_FAILED 143 -# define EVP_R_ASN1_LIB 140 -# define EVP_R_BAD_BLOCK_LENGTH 136 -# define EVP_R_BAD_DECRYPT 100 -# define EVP_R_BAD_KEY_LENGTH 137 -# define EVP_R_BN_DECODE_ERROR 112 -# define EVP_R_BN_PUBKEY_ERROR 113 -# 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_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_DISABLED_FOR_FIPS 163 -# define EVP_R_ENCODE_ERROR 115 -# define EVP_R_ERROR_LOADING_SECTION 165 -# define EVP_R_ERROR_SETTING_FIPS_MODE 166 -# define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 -# 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_ECDSA_KEY 141 -# define EVP_R_EXPECTING_A_EC_KEY 142 -# define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 -# 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_KEY 171 -# define EVP_R_INVALID_KEY_LENGTH 130 -# define EVP_R_INVALID_OPERATION 148 -# define EVP_R_IV_TOO_LARGE 102 -# define EVP_R_KEYGEN_FAILURE 120 -# define EVP_R_MESSAGE_DIGEST_IS_NULL 159 -# define EVP_R_METHOD_NOT_SUPPORTED 144 -# define EVP_R_MISSING_PARAMETERS 103 -# 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_DSA_PARAMETERS 116 -# define EVP_R_NO_KEY_SET 154 -# define EVP_R_NO_OPERATION_SET 149 -# define EVP_R_NO_SIGN_FUNCTION_CONFIGURED 104 -# define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105 -# define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 -# define EVP_R_OPERATON_NOT_INITIALIZED 151 -# define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117 -# 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_TOO_LARGE 164 -# 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_UNSUPORTED_NUMBER_OF_ROUNDS 135 -# 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_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_WRONG_PUBLIC_KEY_TYPE 110 # ifdef __cplusplus } diff --git a/ext/openssl/windows/x64/include/openssl/evperr.h b/ext/openssl/windows/x64/include/openssl/evperr.h new file mode 100644 index 00000000..84f03eb3 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/evperr.h @@ -0,0 +1,194 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_EVPERR_H +# define HEADER_EVPERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_EVP_strings(void); + +/* + * EVP function codes. + */ +# define EVP_F_AESNI_INIT_KEY 165 +# 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_WRAP_CIPHER 170 +# 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_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_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_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 + +#endif diff --git a/ext/openssl/windows/x64/include/openssl/hmac.h b/ext/openssl/windows/x64/include/openssl/hmac.h index b8b55cda..458efc1d 100644 --- a/ext/openssl/windows/x64/include/openssl/hmac.h +++ b/ext/openssl/windows/x64/include/openssl/hmac.h @@ -1,106 +1,48 @@ -/* crypto/hmac/hmac.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 -# ifdef OPENSSL_NO_HMAC -# error HMAC is disabled. -# endif - # include -# define HMAC_MAX_MD_CBLOCK 128/* largest known is SHA512 */ +# if OPENSSL_API_COMPAT < 0x10200000L +# define HMAC_MAX_MD_CBLOCK 128 /* Deprecated */ +# endif #ifdef __cplusplus extern "C" { #endif -typedef struct hmac_ctx_st { - const EVP_MD *md; - EVP_MD_CTX md_ctx; - EVP_MD_CTX i_ctx; - EVP_MD_CTX o_ctx; - unsigned int key_length; - unsigned char key[HMAC_MAX_MD_CBLOCK]; -} HMAC_CTX; +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); -# define HMAC_size(e) (EVP_MD_size((e)->md)) +DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, + const EVP_MD *md)) -void HMAC_CTX_init(HMAC_CTX *ctx); -void HMAC_CTX_cleanup(HMAC_CTX *ctx); - -/* deprecated */ -# define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx) - -/* deprecated */ -int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md); -int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, - const EVP_MD *md, ENGINE *impl); -int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len); -int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len); +/*__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); -int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); +__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 } diff --git a/ext/openssl/windows/x64/include/openssl/idea.h b/ext/openssl/windows/x64/include/openssl/idea.h index 60759840..4334f3ea 100644 --- a/ext/openssl/windows/x64/include/openssl/idea.h +++ b/ext/openssl/windows/x64/include/openssl/idea.h @@ -1,105 +1,64 @@ -/* crypto/idea/idea.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 /* IDEA_INT, OPENSSL_NO_IDEA */ +# include -# ifdef OPENSSL_NO_IDEA -# error IDEA is disabled. +# 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 -#ifdef __cplusplus -extern "C" { -#endif - 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, +const char *IDEA_options(void); +void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out, IDEA_KEY_SCHEDULE *ks); -# ifdef OPENSSL_FIPS -void private_idea_set_encrypt_key(const unsigned char *key, - IDEA_KEY_SCHEDULE *ks); -# endif -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, +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, +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, +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); -#ifdef __cplusplus +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 #endif diff --git a/ext/openssl/windows/x64/include/openssl/kdf.h b/ext/openssl/windows/x64/include/openssl/kdf.h new file mode 100644 index 00000000..5abd4c37 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/kdf.h @@ -0,0 +1,97 @@ +/* + * 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/ext/openssl/windows/x64/include/openssl/kdferr.h b/ext/openssl/windows/x64/include/openssl/kdferr.h new file mode 100644 index 00000000..6437c271 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/kdferr.h @@ -0,0 +1,51 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_KDFERR_H +# define HEADER_KDFERR_H + +# 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/ext/openssl/windows/x64/include/openssl/krb5_asn.h b/ext/openssl/windows/x64/include/openssl/krb5_asn.h deleted file mode 100644 index 9cf5a26d..00000000 --- a/ext/openssl/windows/x64/include/openssl/krb5_asn.h +++ /dev/null @@ -1,240 +0,0 @@ -/* krb5_asn.h */ -/* - * Written by Vern Staats for the OpenSSL project, ** - * using ocsp/{*.h,*asn*.c} as a starting point - */ - -/* ==================================================================== - * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_KRB5_ASN_H -# define HEADER_KRB5_ASN_H - -/* - * #include - */ -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * ASN.1 from Kerberos RFC 1510 - */ - -/*- EncryptedData ::= SEQUENCE { - * etype[0] INTEGER, -- EncryptionType - * kvno[1] INTEGER OPTIONAL, - * cipher[2] OCTET STRING -- ciphertext - * } - */ -typedef struct krb5_encdata_st { - ASN1_INTEGER *etype; - ASN1_INTEGER *kvno; - ASN1_OCTET_STRING *cipher; -} KRB5_ENCDATA; - -DECLARE_STACK_OF(KRB5_ENCDATA) - -/*- PrincipalName ::= SEQUENCE { - * name-type[0] INTEGER, - * name-string[1] SEQUENCE OF GeneralString - * } - */ -typedef struct krb5_princname_st { - ASN1_INTEGER *nametype; - STACK_OF(ASN1_GENERALSTRING) *namestring; -} KRB5_PRINCNAME; - -DECLARE_STACK_OF(KRB5_PRINCNAME) - -/*- Ticket ::= [APPLICATION 1] SEQUENCE { - * tkt-vno[0] INTEGER, - * realm[1] Realm, - * sname[2] PrincipalName, - * enc-part[3] EncryptedData - * } - */ -typedef struct krb5_tktbody_st { - ASN1_INTEGER *tktvno; - ASN1_GENERALSTRING *realm; - KRB5_PRINCNAME *sname; - KRB5_ENCDATA *encdata; -} KRB5_TKTBODY; - -typedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET; -DECLARE_STACK_OF(KRB5_TKTBODY) - -/*- AP-REQ ::= [APPLICATION 14] SEQUENCE { - * pvno[0] INTEGER, - * msg-type[1] INTEGER, - * ap-options[2] APOptions, - * ticket[3] Ticket, - * authenticator[4] EncryptedData - * } - * - * APOptions ::= BIT STRING { - * reserved(0), use-session-key(1), mutual-required(2) } - */ -typedef struct krb5_ap_req_st { - ASN1_INTEGER *pvno; - ASN1_INTEGER *msgtype; - ASN1_BIT_STRING *apoptions; - KRB5_TICKET *ticket; - KRB5_ENCDATA *authenticator; -} KRB5_APREQBODY; - -typedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ; -DECLARE_STACK_OF(KRB5_APREQBODY) - -/* Authenticator Stuff */ - -/*- Checksum ::= SEQUENCE { - * cksumtype[0] INTEGER, - * checksum[1] OCTET STRING - * } - */ -typedef struct krb5_checksum_st { - ASN1_INTEGER *ctype; - ASN1_OCTET_STRING *checksum; -} KRB5_CHECKSUM; - -DECLARE_STACK_OF(KRB5_CHECKSUM) - -/*- EncryptionKey ::= SEQUENCE { - * keytype[0] INTEGER, - * keyvalue[1] OCTET STRING - * } - */ -typedef struct krb5_encryptionkey_st { - ASN1_INTEGER *ktype; - ASN1_OCTET_STRING *keyvalue; -} KRB5_ENCKEY; - -DECLARE_STACK_OF(KRB5_ENCKEY) - -/*- AuthorizationData ::= SEQUENCE OF SEQUENCE { - * ad-type[0] INTEGER, - * ad-data[1] OCTET STRING - * } - */ -typedef struct krb5_authorization_st { - ASN1_INTEGER *adtype; - ASN1_OCTET_STRING *addata; -} KRB5_AUTHDATA; - -DECLARE_STACK_OF(KRB5_AUTHDATA) - -/*- -- Unencrypted authenticator - * Authenticator ::= [APPLICATION 2] SEQUENCE { - * authenticator-vno[0] INTEGER, - * crealm[1] Realm, - * cname[2] PrincipalName, - * cksum[3] Checksum OPTIONAL, - * cusec[4] INTEGER, - * ctime[5] KerberosTime, - * subkey[6] EncryptionKey OPTIONAL, - * seq-number[7] INTEGER OPTIONAL, - * authorization-data[8] AuthorizationData OPTIONAL - * } - */ -typedef struct krb5_authenticator_st { - ASN1_INTEGER *avno; - ASN1_GENERALSTRING *crealm; - KRB5_PRINCNAME *cname; - KRB5_CHECKSUM *cksum; - ASN1_INTEGER *cusec; - ASN1_GENERALIZEDTIME *ctime; - KRB5_ENCKEY *subkey; - ASN1_INTEGER *seqnum; - KRB5_AUTHDATA *authorization; -} KRB5_AUTHENTBODY; - -typedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT; -DECLARE_STACK_OF(KRB5_AUTHENTBODY) - -/*- DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) = - * type *name##_new(void); - * void name##_free(type *a); - * DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) = - * 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) = OPENSSL_EXTERN const ASN1_ITEM itname##_it - */ - -DECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA) -DECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME) -DECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_TICKET) -DECLARE_ASN1_FUNCTIONS(KRB5_APREQ) - -DECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM) -DECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT) - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/openssl/windows/x64/include/openssl/kssl.h b/ext/openssl/windows/x64/include/openssl/kssl.h deleted file mode 100644 index ae8a51f4..00000000 --- a/ext/openssl/windows/x64/include/openssl/kssl.h +++ /dev/null @@ -1,197 +0,0 @@ -/* ssl/kssl.h */ -/* - * Written by Vern Staats for the OpenSSL project - * 2000. project 2000. - */ -/* ==================================================================== - * Copyright (c) 2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -/* - ** 19990701 VRS Started. - */ - -#ifndef KSSL_H -# define KSSL_H - -# include - -# ifndef OPENSSL_NO_KRB5 - -# include -# include -# include -# ifdef OPENSSL_SYS_WIN32 -/* - * These can sometimes get redefined indirectly by krb5 header files after - * they get undefed in ossl_typ.h - */ -# undef X509_NAME -# undef X509_EXTENSIONS -# undef OCSP_REQUEST -# undef OCSP_RESPONSE -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Depending on which KRB5 implementation used, some types from - * the other may be missing. Resolve that here and now - */ -# ifdef KRB5_HEIMDAL -typedef unsigned char krb5_octet; -# define FAR -# else - -# ifndef FAR -# define FAR -# endif - -# endif - -/*- - * Uncomment this to debug kssl problems or - * to trace usage of the Kerberos session key - * - * #define KSSL_DEBUG - */ - -# ifndef KRB5SVC -# define KRB5SVC "host" -# endif - -# ifndef KRB5KEYTAB -# define KRB5KEYTAB "/etc/krb5.keytab" -# endif - -# ifndef KRB5SENDAUTH -# define KRB5SENDAUTH 1 -# endif - -# ifndef KRB5CHECKAUTH -# define KRB5CHECKAUTH 1 -# endif - -# ifndef KSSL_CLOCKSKEW -# define KSSL_CLOCKSKEW 300; -# endif - -# define KSSL_ERR_MAX 255 -typedef struct kssl_err_st { - int reason; - char text[KSSL_ERR_MAX + 1]; -} KSSL_ERR; - -/*- Context for passing - * (1) Kerberos session key to SSL, and - * (2) Config data between application and SSL lib - */ -typedef struct kssl_ctx_st { - /* used by: disposition: */ - char *service_name; /* C,S default ok (kssl) */ - char *service_host; /* C input, REQUIRED */ - char *client_princ; /* S output from krb5 ticket */ - char *keytab_file; /* S NULL (/etc/krb5.keytab) */ - char *cred_cache; /* C NULL (default) */ - krb5_enctype enctype; - int length; - krb5_octet FAR *key; -} KSSL_CTX; - -# define KSSL_CLIENT 1 -# define KSSL_SERVER 2 -# define KSSL_SERVICE 3 -# define KSSL_KEYTAB 4 - -# define KSSL_CTX_OK 0 -# define KSSL_CTX_ERR 1 -# define KSSL_NOMEM 2 - -/* Public (for use by applications that use OpenSSL with Kerberos 5 support */ -krb5_error_code kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text); -KSSL_CTX *kssl_ctx_new(void); -KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx); -void kssl_ctx_show(KSSL_CTX *kssl_ctx); -krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which, - krb5_data *realm, krb5_data *entity, - int nentities); -krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp, - krb5_data *authenp, KSSL_ERR *kssl_err); -krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata, - krb5_ticket_times *ttimes, KSSL_ERR *kssl_err); -krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session); -void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text); -void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data); -krb5_error_code kssl_build_principal_2(krb5_context context, - krb5_principal *princ, int rlen, - const char *realm, int slen, - const char *svc, int hlen, - const char *host); -krb5_error_code kssl_validate_times(krb5_timestamp atime, - krb5_ticket_times *ttimes); -krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp, - krb5_timestamp *atimep, - KSSL_ERR *kssl_err); -unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn); - -void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx); -KSSL_CTX *SSL_get0_kssl_ctx(SSL *s); -char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx); - -#ifdef __cplusplus -} -#endif -# endif /* OPENSSL_NO_KRB5 */ -#endif /* KSSL_H */ diff --git a/ext/openssl/windows/x64/include/openssl/lhash.h b/ext/openssl/windows/x64/include/openssl/lhash.h index b6c328bf..47b99d17 100644 --- a/ext/openssl/windows/x64/include/openssl/lhash.h +++ b/ext/openssl/windows/x64/include/openssl/lhash.h @@ -1,59 +1,10 @@ -/* crypto/lhash/lhash.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 */ /* @@ -64,30 +15,18 @@ # define HEADER_LHASH_H # include -# ifndef OPENSSL_NO_FP_API -# include -# endif - -# ifndef OPENSSL_NO_BIO -# include -# endif +# include #ifdef __cplusplus extern "C" { #endif -typedef struct lhash_node_st { - void *data; - struct lhash_node_st *next; -# ifndef OPENSSL_NO_HASH_COMP - unsigned long hash; -# endif -} LHASH_NODE; - -typedef int (*LHASH_COMP_FN_TYPE) (const void *, const void *); -typedef unsigned long (*LHASH_HASH_FN_TYPE) (const void *); -typedef void (*LHASH_DOALL_FN_TYPE) (void *); -typedef void (*LHASH_DOALL_ARG_FN_TYPE) (void *, void *); +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 @@ -117,15 +56,6 @@ typedef void (*LHASH_DOALL_ARG_FN_TYPE) (void *, void *); return name##_cmp(a,b); } # define LHASH_COMP_FN(name) name##_LHASH_COMP -/* Third: "doall" functions */ -# define DECLARE_LHASH_DOALL_FN(name, o_type) \ - void name##_LHASH_DOALL(void *); -# define IMPLEMENT_LHASH_DOALL_FN(name, o_type) \ - void name##_LHASH_DOALL(void *arg) { \ - o_type *a = arg; \ - name##_doall(a); } -# define LHASH_DOALL_FN(name) name##_LHASH_DOALL - /* Fourth: "doall_arg" functions */ # define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ void name##_LHASH_DOALL_ARG(void *, void *); @@ -136,102 +66,174 @@ typedef void (*LHASH_DOALL_ARG_FN_TYPE) (void *, void *); name##_doall_arg(a, b); } # define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG -typedef struct lhash_st { - LHASH_NODE **b; - LHASH_COMP_FN_TYPE comp; - LHASH_HASH_FN_TYPE hash; - unsigned int num_nodes; - unsigned int num_alloc_nodes; - unsigned int p; - unsigned int pmax; - unsigned long up_load; /* load times 256 */ - unsigned long down_load; /* load times 256 */ - unsigned long num_items; - unsigned long num_expands; - unsigned long num_expand_reallocs; - unsigned long num_contracts; - unsigned long num_contract_reallocs; - unsigned long num_hash_calls; - unsigned long num_comp_calls; - unsigned long num_insert; - unsigned long num_replace; - unsigned long num_delete; - unsigned long num_no_delete; - unsigned long num_retrieve; - unsigned long num_retrieve_miss; - unsigned long num_hash_comps; - int error; -} _LHASH; /* Do not use _LHASH directly, use LHASH_OF - * and friends */ # define LH_LOAD_MULT 256 -/* - * Indicates a malloc() error in the last call, this is only bad in - * lh_insert(). - */ -# define lh_error(lh) ((lh)->error) +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); -_LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c); -void lh_free(_LHASH *lh); -void *lh_insert(_LHASH *lh, void *data); -void *lh_delete(_LHASH *lh, const void *data); -void *lh_retrieve(_LHASH *lh, const void *data); -void lh_doall(_LHASH *lh, LHASH_DOALL_FN_TYPE func); -void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg); -unsigned long lh_strhash(const char *c); -unsigned long lh_num_items(const _LHASH *lh); - -# ifndef OPENSSL_NO_FP_API -void lh_stats(const _LHASH *lh, FILE *out); -void lh_node_stats(const _LHASH *lh, FILE *out); -void lh_node_usage_stats(const _LHASH *lh, FILE *out); +# 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); -# ifndef OPENSSL_NO_BIO -void lh_stats_bio(const _LHASH *lh, BIO *out); -void lh_node_stats_bio(const _LHASH *lh, BIO *out); -void lh_node_usage_stats_bio(const _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 DECLARE_LHASH_OF(type) LHASH_OF(type) { int dummy; } +# define DEFINE_LHASH_OF(type) \ + LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \ + static 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 CHECKED_LHASH_OF(type,lh) \ - ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh)) +#define IMPLEMENT_LHASH_DOALL_ARG_CONST(type, argtype) \ + int_implement_lhash_doall(type, argtype, const type) -/* Define wrapper functions. */ -# define LHM_lh_new(type, name) \ - ((LHASH_OF(type) *)lh_new(LHASH_HASH_FN(name), LHASH_COMP_FN(name))) -# define LHM_lh_error(type, lh) \ - lh_error(CHECKED_LHASH_OF(type,lh)) -# define LHM_lh_insert(type, lh, inst) \ - ((type *)lh_insert(CHECKED_LHASH_OF(type, lh), \ - CHECKED_PTR_OF(type, inst))) -# define LHM_lh_retrieve(type, lh, inst) \ - ((type *)lh_retrieve(CHECKED_LHASH_OF(type, lh), \ - CHECKED_PTR_OF(type, inst))) -# define LHM_lh_delete(type, lh, inst) \ - ((type *)lh_delete(CHECKED_LHASH_OF(type, lh), \ - CHECKED_PTR_OF(type, inst))) -# define LHM_lh_doall(type, lh,fn) lh_doall(CHECKED_LHASH_OF(type, lh), fn) -# define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \ - lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg)) -# define LHM_lh_num_items(type, lh) lh_num_items(CHECKED_LHASH_OF(type, lh)) -# define LHM_lh_down_load(type, lh) (CHECKED_LHASH_OF(type, lh)->down_load) -# define LHM_lh_node_stats_bio(type, lh, out) \ - lh_node_stats_bio(CHECKED_LHASH_OF(type, lh), out) -# define LHM_lh_node_usage_stats_bio(type, lh, out) \ - lh_node_usage_stats_bio(CHECKED_LHASH_OF(type, lh), out) -# define LHM_lh_stats_bio(type, lh, out) \ - lh_stats_bio(CHECKED_LHASH_OF(type, lh), out) -# define LHM_lh_free(type, lh) lh_free(CHECKED_LHASH_OF(type, lh)) +#define IMPLEMENT_LHASH_DOALL_ARG(type, argtype) \ + int_implement_lhash_doall(type, argtype, type) -DECLARE_LHASH_OF(OPENSSL_STRING); -DECLARE_LHASH_OF(OPENSSL_CSTRING); +#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 } diff --git a/ext/openssl/windows/x64/include/openssl/md2.h b/ext/openssl/windows/x64/include/openssl/md2.h new file mode 100644 index 00000000..7faf8e3d --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/md2.h @@ -0,0 +1,44 @@ +/* + * 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/ext/openssl/windows/x64/include/openssl/md4.h b/ext/openssl/windows/x64/include/openssl/md4.h index 11fd7129..940e29db 100644 --- a/ext/openssl/windows/x64/include/openssl/md4.h +++ b/ext/openssl/windows/x64/include/openssl/md4.h @@ -1,97 +1,30 @@ -/* crypto/md4/md4.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 +# ifdef __cplusplus extern "C" { -#endif - -# ifdef OPENSSL_NO_MD4 -# error MD4 is disabled. # endif /*- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD4_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD4_LONG_LOG2 has to be defined along. ! + * ! MD4_LONG has to be at least 32 bits wide. ! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ - -# if defined(__LP32__) -# define MD4_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define MD4_LONG unsigned long -# define MD4_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -# else -# define MD4_LONG unsigned int -# endif +# define MD4_LONG unsigned int # define MD4_CBLOCK 64 # define MD4_LBLOCK (MD4_CBLOCK/4) @@ -104,16 +37,15 @@ typedef struct MD4state_st { unsigned int num; } MD4_CTX; -# ifdef OPENSSL_FIPS -int private_MD4_Init(MD4_CTX *c); -# endif 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 + +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/md5.h b/ext/openssl/windows/x64/include/openssl/md5.h index 2659038a..2deb7721 100644 --- a/ext/openssl/windows/x64/include/openssl/md5.h +++ b/ext/openssl/windows/x64/include/openssl/md5.h @@ -1,97 +1,30 @@ -/* crypto/md5/md5.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 +# ifdef __cplusplus extern "C" { -#endif - -# ifdef OPENSSL_NO_MD5 -# error MD5 is disabled. # endif /* * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD5_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD5_LONG_LOG2 has to be defined along. ! + * ! MD5_LONG has to be at least 32 bits wide. ! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ - -# if defined(__LP32__) -# define MD5_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define MD5_LONG unsigned long -# define MD5_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -# else -# define MD5_LONG unsigned int -# endif +# define MD5_LONG unsigned int # define MD5_CBLOCK 64 # define MD5_LBLOCK (MD5_CBLOCK/4) @@ -104,16 +37,14 @@ typedef struct MD5state_st { unsigned int num; } MD5_CTX; -# ifdef OPENSSL_FIPS -int private_MD5_Init(MD5_CTX *c); -# endif 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 +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/mdc2.h b/ext/openssl/windows/x64/include/openssl/mdc2.h index 7efe53bc..aabd2bfa 100644 --- a/ext/openssl/windows/x64/include/openssl/mdc2.h +++ b/ext/openssl/windows/x64/include/openssl/mdc2.h @@ -1,72 +1,22 @@ -/* crypto/mdc2/mdc2.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 +# ifdef __cplusplus extern "C" { -#endif - -# ifdef OPENSSL_NO_MDC2 -# error MDC2 is disabled. # endif # define MDC2_BLOCK 8 @@ -79,16 +29,14 @@ typedef struct mdc2_ctx_st { int pad_type; /* either 1 or 2, default 1 */ } MDC2_CTX; -# ifdef OPENSSL_FIPS -int private_MDC2_Init(MDC2_CTX *c); -# endif 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 +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/modes.h b/ext/openssl/windows/x64/include/openssl/modes.h index fd488499..d544f98d 100644 --- a/ext/openssl/windows/x64/include/openssl/modes.h +++ b/ext/openssl/windows/x64/include/openssl/modes.h @@ -1,15 +1,20 @@ -/* ==================================================================== - * Copyright (c) 2008 The OpenSSL Project. All rights reserved. +/* + * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Rights for redistribution and usage in source and binary - * forms are granted according to the OpenSSL license. + * 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_MODES_H +# define HEADER_MODES_H -#ifdef __cplusplus +# include + +# ifdef __cplusplus extern "C" { -#endif +# endif typedef void (*block128_f) (const unsigned char in[16], unsigned char out[16], const void *key); @@ -157,7 +162,47 @@ 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); -#ifdef __cplusplus +# 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/ext/openssl/windows/x64/include/openssl/obj_mac.h b/ext/openssl/windows/x64/include/openssl/obj_mac.h index 779c309b..47dafe48 100644 --- a/ext/openssl/windows/x64/include/openssl/obj_mac.h +++ b/ext/openssl/windows/x64/include/openssl/obj_mac.h @@ -1,65 +1,12 @@ -/* crypto/objects/obj_mac.h */ - /* - * THIS FILE IS GENERATED FROM objects.txt by objects.pl via the following - * command: perl objects.pl objects.txt obj_mac.num obj_mac.h - */ - -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. + * WARNING: do not edit! + * Generated by crypto/objects/objects.pl * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 */ #define SN_undef "UNDEF" @@ -107,10 +54,24 @@ #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 @@ -148,6 +109,19 @@ #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 @@ -620,6 +594,16 @@ #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 @@ -853,10 +837,22 @@ #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 @@ -973,6 +969,10 @@ #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 @@ -1164,6 +1164,21 @@ #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 @@ -1180,6 +1195,14 @@ #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 @@ -1490,6 +1513,11 @@ #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 @@ -1554,6 +1582,61 @@ #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 @@ -2030,6 +2113,16 @@ #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 @@ -2274,6 +2367,24 @@ #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 @@ -2354,7 +2465,7 @@ #define OBJ_delta_crl OBJ_id_ce,27L #define SN_issuing_distribution_point "issuingDistributionPoint" -#define LN_issuing_distribution_point "X509v3 Issuing Distrubution Point" +#define LN_issuing_distribution_point "X509v3 Issuing Distribution Point" #define NID_issuing_distribution_point 770 #define OBJ_issuing_distribution_point OBJ_id_ce,28L @@ -2579,11 +2690,6 @@ #define NID_id_hex_multipart_message 508 #define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L -#define SN_rle_compression "RLE" -#define LN_rle_compression "run length compression" -#define NID_rle_compression 124 -#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L - #define SN_zlib_compression "ZLIB" #define LN_zlib_compression "zlib compression" #define NID_zlib_compression 125 @@ -2709,6 +2815,16 @@ #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 @@ -2745,13 +2861,17 @@ #define LN_aes_256_ctr "aes-256-ctr" #define NID_aes_256_ctr 906 -#define SN_aes_128_xts "AES-128-XTS" -#define LN_aes_128_xts "aes-128-xts" -#define NID_aes_128_xts 913 +#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_256_xts "AES-256-XTS" -#define LN_aes_256_xts "aes-256-xts" -#define NID_aes_256_xts 914 +#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" @@ -2791,6 +2911,66 @@ #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" @@ -2801,6 +2981,78 @@ #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 @@ -3063,6 +3315,11 @@ #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 @@ -3678,6 +3935,10 @@ #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 @@ -3716,11 +3977,26 @@ #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 @@ -3886,6 +4162,260 @@ #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 @@ -3932,6 +4462,26 @@ #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 @@ -3947,6 +4497,26 @@ #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 @@ -3962,6 +4532,26 @@ #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 @@ -3986,6 +4576,137 @@ #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 @@ -4011,6 +4732,41 @@ #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 @@ -4047,6 +4803,14 @@ #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 @@ -4192,3 +4956,243 @@ #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/ext/openssl/windows/x64/include/openssl/objects.h b/ext/openssl/windows/x64/include/openssl/objects.h index b8dafa89..5e8b5762 100644 --- a/ext/openssl/windows/x64/include/openssl/objects.h +++ b/ext/openssl/windows/x64/include/openssl/objects.h @@ -1,968 +1,19 @@ -/* crypto/objects/objects.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 -# define USE_OBJ_MAC - -# ifdef USE_OBJ_MAC -# include -# else -# define SN_undef "UNDEF" -# define LN_undef "undefined" -# define NID_undef 0 -# define OBJ_undef 0L - -# define SN_Algorithm "Algorithm" -# define LN_algorithm "algorithm" -# define NID_algorithm 38 -# define OBJ_algorithm 1L,3L,14L,3L,2L - -# define LN_rsadsi "rsadsi" -# define NID_rsadsi 1 -# define OBJ_rsadsi 1L,2L,840L,113549L - -# define LN_pkcs "pkcs" -# define NID_pkcs 2 -# define OBJ_pkcs OBJ_rsadsi,1L - -# define SN_md2 "MD2" -# define LN_md2 "md2" -# define NID_md2 3 -# define OBJ_md2 OBJ_rsadsi,2L,2L - -# define SN_md5 "MD5" -# define LN_md5 "md5" -# define NID_md5 4 -# define OBJ_md5 OBJ_rsadsi,2L,5L - -# define SN_rc4 "RC4" -# define LN_rc4 "rc4" -# define NID_rc4 5 -# define OBJ_rc4 OBJ_rsadsi,3L,4L - -# define LN_rsaEncryption "rsaEncryption" -# define NID_rsaEncryption 6 -# define OBJ_rsaEncryption OBJ_pkcs,1L,1L - -# define SN_md2WithRSAEncryption "RSA-MD2" -# define LN_md2WithRSAEncryption "md2WithRSAEncryption" -# define NID_md2WithRSAEncryption 7 -# define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L - -# define SN_md5WithRSAEncryption "RSA-MD5" -# define LN_md5WithRSAEncryption "md5WithRSAEncryption" -# define NID_md5WithRSAEncryption 8 -# define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L - -# define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" -# define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" -# define NID_pbeWithMD2AndDES_CBC 9 -# define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L - -# define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" -# define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" -# define NID_pbeWithMD5AndDES_CBC 10 -# define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L - -# define LN_X500 "X500" -# define NID_X500 11 -# define OBJ_X500 2L,5L - -# define LN_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_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 - -/* Postal Address? PA */ - -/* should be "ST" (rfc1327) but MS uses 'S' */ -# define SN_stateOrProvinceName "ST" -# define LN_stateOrProvinceName "stateOrProvinceName" -# define NID_stateOrProvinceName 16 -# define OBJ_stateOrProvinceName OBJ_X509,8L - -# 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_rsa "RSA" -# define LN_rsa "rsa" -# define NID_rsa 19 -# define OBJ_rsa OBJ_X500,8L,1L,1L - -# define LN_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 LN_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_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_cfb64 "DES-CFB" -# define LN_des_cfb64 "des-cfb" -# define NID_des_cfb64 30 -/* IV + num */ -# define OBJ_des_cfb64 OBJ_algorithm,9L - -# define SN_des_cbc "DES-CBC" -# define LN_des_cbc "des-cbc" -# define NID_des_cbc 31 -/* IV */ -# define OBJ_des_cbc OBJ_algorithm,7L - -# define SN_des_ede "DES-EDE" -# define LN_des_ede "des-ede" -# define NID_des_ede 32 -/* ?? */ -# define OBJ_des_ede OBJ_algorithm,17L - -# define SN_des_ede3 "DES-EDE3" -# define LN_des_ede3 "des-ede3" -# define NID_des_ede3 33 - -# 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_cfb64 "IDEA-CFB" -# define LN_idea_cfb64 "idea-cfb" -# define NID_idea_cfb64 35 - -# define SN_idea_ecb "IDEA-ECB" -# define LN_idea_ecb "idea-ecb" -# define NID_idea_ecb 36 - -# 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_sha "SHA" -# define LN_sha "sha" -# define NID_sha 41 -# define OBJ_sha OBJ_algorithm,18L - -# define SN_shaWithRSAEncryption "RSA-SHA" -# define LN_shaWithRSAEncryption "shaWithRSAEncryption" -# define NID_shaWithRSAEncryption 42 -# define OBJ_shaWithRSAEncryption OBJ_algorithm,15L - -# 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_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_des_ofb64 "DES-OFB" -# define LN_des_ofb64 "des-ofb" -# define NID_des_ofb64 45 -# define OBJ_des_ofb64 OBJ_algorithm,8L - -# define SN_idea_ofb64 "IDEA-OFB" -# define LN_idea_ofb64 "idea-ofb" -# define NID_idea_ofb64 46 - -# define LN_pkcs9 "pkcs9" -# define NID_pkcs9 47 -# define OBJ_pkcs9 OBJ_pkcs,9L - -# define SN_pkcs9_emailAddress "Email" -# 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_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_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 - -/* I'm not sure about the object ID */ -# define SN_sha1 "SHA1" -# define LN_sha1 "sha1" -# define NID_sha1 64 -# define OBJ_sha1 OBJ_algorithm,26L -/* 28 Jun 1996 - eay */ -/* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */ - -# define SN_sha1WithRSAEncryption "RSA-SHA1" -# define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" -# define NID_sha1WithRSAEncryption 65 -# define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L - -# define SN_dsaWithSHA "DSA-SHA" -# define LN_dsaWithSHA "dsaWithSHA" -# define NID_dsaWithSHA 66 -# define OBJ_dsaWithSHA OBJ_algorithm,13L - -# define SN_dsa_2 "DSA-old" -# define LN_dsa_2 "dsaEncryption-old" -# define NID_dsa_2 67 -# define OBJ_dsa_2 OBJ_algorithm,12L - -/* proposed by microsoft to RSA */ -# define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" -# define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" -# define NID_pbeWithSHA1AndRC2_CBC 68 -# define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L - -/* - * proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now defined - * explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something completely - * different. - */ -# define LN_id_pbkdf2 "PBKDF2" -# define NID_id_pbkdf2 69 -# define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L - -# define SN_dsaWithSHA1_2 "DSA-SHA1-old" -# define LN_dsaWithSHA1_2 "dsaWithSHA1-old" -# define NID_dsaWithSHA1_2 70 -/* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ -# define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L - -# 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_desx_cbc "DESX-CBC" -# define LN_desx_cbc "desx-cbc" -# define NID_desx_cbc 80 - -# define SN_id_ce "id-ce" -# define NID_id_ce 81 -# define OBJ_id_ce 2L,5L,29L - -# 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_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_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_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_mdc2 "MDC2" -# define LN_mdc2 "mdc2" -# define NID_mdc2 95 -# define OBJ_mdc2 2L,5L,8L,3L,101L -/* An alternative? 1L,3L,14L,3L,2L,19L */ - -# define SN_mdc2WithRSA "RSA-MDC2" -# define LN_mdc2WithRSA "mdc2withRSA" -# define NID_mdc2WithRSA 96 -# define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L - -# define SN_rc4_40 "RC4-40" -# define LN_rc4_40 "rc4-40" -# define NID_rc4_40 97 - -# define SN_rc2_40_cbc "RC2-40-CBC" -# define LN_rc2_40_cbc "rc2-40-cbc" -# define NID_rc2_40_cbc 98 - -# define SN_givenName "G" -# define LN_givenName "givenName" -# define NID_givenName 99 -# define OBJ_givenName OBJ_X509,42L - -# define SN_surname "S" -# define LN_surname "surname" -# define NID_surname 100 -# define OBJ_surname OBJ_X509,4L - -# define SN_initials "I" -# define LN_initials "initials" -# define NID_initials 101 -# define OBJ_initials OBJ_X509,43L - -# define SN_uniqueIdentifier "UID" -# define LN_uniqueIdentifier "uniqueIdentifier" -# define NID_uniqueIdentifier 102 -# define OBJ_uniqueIdentifier OBJ_X509,45L - -# 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_md5WithRSA "RSA-NP-MD5" -# define LN_md5WithRSA "md5WithRSA" -# define NID_md5WithRSA 104 -# define OBJ_md5WithRSA OBJ_algorithm,3L - -# define SN_serialNumber "SN" -# define LN_serialNumber "serialNumber" -# define NID_serialNumber 105 -# define OBJ_serialNumber OBJ_X509,5L - -# define SN_title "T" -# define LN_title "title" -# define NID_title 106 -# define OBJ_title OBJ_X509,12L - -# define SN_description "D" -# define LN_description "description" -# define NID_description 107 -# define OBJ_description OBJ_X509,13L - -/* CAST5 is CAST-128, I'm just sticking with the documentation */ -# define SN_cast5_cbc "CAST5-CBC" -# define LN_cast5_cbc "cast5-cbc" -# define NID_cast5_cbc 108 -# define OBJ_cast5_cbc 1L,2L,840L,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 1L,2L,840L,113533L,7L,66L,12L - -/*- - * This is one sun will soon be using :-( - * id-dsa-with-sha1 ID ::= { - * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 } - */ -# define SN_dsaWithSHA1 "DSA-SHA1" -# define LN_dsaWithSHA1 "dsaWithSHA1" -# define NID_dsaWithSHA1 113 -# define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L - -# define NID_md5_sha1 114 -# define SN_md5_sha1 "MD5-SHA1" -# define LN_md5_sha1 "md5-sha1" - -# define SN_sha1WithRSA "RSA-SHA1-2" -# define LN_sha1WithRSA "sha1WithRSA" -# define NID_sha1WithRSA 115 -# define OBJ_sha1WithRSA OBJ_algorithm,29L - -# define SN_dsa "DSA" -# define LN_dsa "dsaEncryption" -# define NID_dsa 116 -# define OBJ_dsa 1L,2L,840L,10040L,4L,1L - -# define SN_ripemd160 "RIPEMD160" -# define LN_ripemd160 "ripemd160" -# define NID_ripemd160 117 -# define OBJ_ripemd160 1L,3L,36L,3L,2L,1L - -/* - * The name should actually be rsaSignatureWithripemd160, but I'm going to - * continue using the convention I'm using with the other ciphers - */ -# define SN_ripemd160WithRSA "RSA-RIPEMD160" -# define LN_ripemd160WithRSA "ripemd160WithRSA" -# define NID_ripemd160WithRSA 119 -# define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L - -/*- - * Taken from rfc2040 - * RC5_CBC_Parameters ::= SEQUENCE { - * version INTEGER (v1_0(16)), - * rounds INTEGER (8..127), - * blockSizeInBits INTEGER (64, 128), - * iv OCTET STRING OPTIONAL - * } - */ -# 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_rle_compression "RLE" -# define LN_rle_compression "run length compression" -# define NID_rle_compression 124 -# define OBJ_rle_compression 1L,1L,1L,1L,666L,1L - -# define SN_zlib_compression "ZLIB" -# define LN_zlib_compression "zlib compression" -# define NID_zlib_compression 125 -# define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L - -# 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,37 - -# define SN_id_pkix "PKIX" -# define NID_id_pkix 127 -# define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L - -# define SN_id_kp "id-kp" -# define NID_id_kp 128 -# define OBJ_id_kp OBJ_id_pkix,3L - -/* PKIX extended key usage OIDs */ - -# 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_time_stamp "timeStamping" -# define LN_time_stamp "Time Stamping" -# define NID_time_stamp 133 -# define OBJ_time_stamp OBJ_id_kp,8L - -/* Additional extended key usage OIDs: Microsoft */ - -# 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 - -/* Additional usage: Netscape */ - -# 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_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_crl_reason "CRLReason" -# define LN_crl_reason "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_sxnet "SXNetID" -# define LN_sxnet "Strong Extranet ID" -# define NID_sxnet 143 -# define OBJ_sxnet 1L,3L,101L,1L,4L,1L - -/* PKCS12 and related OBJECT IDENTIFIERS */ - -# define OBJ_pkcs12 OBJ_pkcs,12L -# define OBJ_pkcs12_pbeids OBJ_pkcs12, 1 - -# 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 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 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 - -/* PKCS#5 v2 OIDs */ - -# define LN_pbes2 "PBES2" -# define NID_pbes2 161 -# define OBJ_pbes2 OBJ_pkcs,5L,13L - -# define LN_pbmac1 "PBMAC1" -# define NID_pbmac1 162 -# define OBJ_pbmac1 OBJ_pkcs,5L,14L - -# define LN_hmacWithSHA1 "hmacWithSHA1" -# define NID_hmacWithSHA1 163 -# define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L - -/* Policy Qualifier Ids */ - -# define LN_id_qt_cps "Policy Qualifier CPS" -# define SN_id_qt_cps "id-qt-cps" -# define NID_id_qt_cps 164 -# define OBJ_id_qt_cps OBJ_id_pkix,2L,1L - -# define LN_id_qt_unotice "Policy Qualifier User Notice" -# define SN_id_qt_unotice "id-qt-unotice" -# define NID_id_qt_unotice 165 -# define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L - -# define SN_rc2_64_cbc "RC2-64-CBC" -# define LN_rc2_64_cbc "rc2-64-cbc" -# define NID_rc2_64_cbc 166 - -# define SN_SMIMECapabilities "SMIME-CAPS" -# define LN_SMIMECapabilities "S/MIME Capabilities" -# define NID_SMIMECapabilities 167 -# define OBJ_SMIMECapabilities OBJ_pkcs9,15L - -# define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" -# define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" -# define NID_pbeWithMD2AndRC2_CBC 168 -# define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,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_pkcs,5L,6L - -# define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" -# define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" -# define NID_pbeWithSHA1AndDES_CBC 170 -# define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L - -/* Extension request OIDs */ - -# define LN_ms_ext_req "Microsoft Extension Request" -# define SN_ms_ext_req "msExtReq" -# define NID_ms_ext_req 171 -# define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L - -# define LN_ext_req "Extension Request" -# define SN_ext_req "extReq" -# define NID_ext_req 172 -# define OBJ_ext_req OBJ_pkcs9,14L - -# define SN_name "name" -# define LN_name "name" -# define NID_name 173 -# define OBJ_name OBJ_X509,41L - -# define SN_dnQualifier "dnQualifier" -# define LN_dnQualifier "dnQualifier" -# define NID_dnQualifier 174 -# define OBJ_dnQualifier OBJ_X509,46L - -# define SN_id_pe "id-pe" -# define NID_id_pe 175 -# define OBJ_id_pe OBJ_id_pkix,1L - -# define SN_id_ad "id-ad" -# define NID_id_ad 176 -# define OBJ_id_ad OBJ_id_pkix,48L - -# 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_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_OCSP_sign "OCSPSigning" -# define LN_OCSP_sign "OCSP Signing" -# define NID_OCSP_sign 180 -# define OBJ_OCSP_sign OBJ_id_kp,9L -# endif /* USE_OBJ_MAC */ - +# include # include # include +# include # define OBJ_NAME_TYPE_UNDEF 0x00 # define OBJ_NAME_TYPE_MD_METH 0x01 @@ -1041,7 +92,7 @@ const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, * const void *a_; * const nid_triple const *a = a_; * - * The assignement discards a const because what you really want is: + * The assignment discards a const because what you really want is: * * const int const * const *a = a_; * @@ -1049,7 +100,7 @@ const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, * which breaks comparison functions. * * Thus we end up having to cast, sadly, or unpack the - * declarations. Or, as I finally did in this case, delcare nid_triple + * 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. @@ -1104,40 +155,21 @@ const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, 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); -void OBJ_cleanup(void); +#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); -extern int obj_cleanup_defer; -void check_defer(int nid); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_OBJ_strings(void); - -/* Error codes for the OBJ functions. */ - -/* Function codes. */ -# define OBJ_F_OBJ_ADD_OBJECT 105 -# 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 - -/* Reason codes. */ -# define OBJ_R_MALLOC_FAILURE 100 -# define OBJ_R_UNKNOWN_NID 101 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/objectserr.h b/ext/openssl/windows/x64/include/openssl/objectserr.h new file mode 100644 index 00000000..02308dfa --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/objectserr.h @@ -0,0 +1,38 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_OBJERR_H +# define HEADER_OBJERR_H + +# 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/ext/openssl/windows/x64/include/openssl/ocsp.h b/ext/openssl/windows/x64/include/openssl/ocsp.h index ca2ee76d..8582fe1e 100644 --- a/ext/openssl/windows/x64/include/openssl/ocsp.h +++ b/ext/openssl/windows/x64/include/openssl/ocsp.h @@ -1,306 +1,22 @@ -/* ocsp.h */ /* - * Written by Tom Titchener for the OpenSSL - * project. - */ - -/* - * History: This file was transfered to Richard Levitte from CertCo by Kathy - * Weinhold in mid-spring 2000 to be included in OpenSSL or released as a - * patch kit. - */ - -/* ==================================================================== - * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). + * 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 -# 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 - -/*- CertID ::= SEQUENCE { - * hashAlgorithm AlgorithmIdentifier, - * issuerNameHash OCTET STRING, -- Hash of Issuer's DN - * issuerKeyHash OCTET STRING, -- Hash of Issuers public key (excluding the tag & length fields) - * serialNumber CertificateSerialNumber } +/* + * 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 */ -typedef struct ocsp_cert_id_st { - X509_ALGOR *hashAlgorithm; - ASN1_OCTET_STRING *issuerNameHash; - ASN1_OCTET_STRING *issuerKeyHash; - ASN1_INTEGER *serialNumber; -} OCSP_CERTID; - -DECLARE_STACK_OF(OCSP_CERTID) - -/*- Request ::= SEQUENCE { - * reqCert CertID, - * singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_one_request_st { - OCSP_CERTID *reqCert; - STACK_OF(X509_EXTENSION) *singleRequestExtensions; -} OCSP_ONEREQ; - -DECLARE_STACK_OF(OCSP_ONEREQ) -DECLARE_ASN1_SET_OF(OCSP_ONEREQ) - -/*- TBSRequest ::= SEQUENCE { - * version [0] EXPLICIT Version DEFAULT v1, - * requestorName [1] EXPLICIT GeneralName OPTIONAL, - * requestList SEQUENCE OF Request, - * requestExtensions [2] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_req_info_st { - ASN1_INTEGER *version; - GENERAL_NAME *requestorName; - STACK_OF(OCSP_ONEREQ) *requestList; - STACK_OF(X509_EXTENSION) *requestExtensions; -} OCSP_REQINFO; - -/*- Signature ::= SEQUENCE { - * signatureAlgorithm AlgorithmIdentifier, - * signature BIT STRING, - * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } - */ -typedef struct ocsp_signature_st { - X509_ALGOR *signatureAlgorithm; - ASN1_BIT_STRING *signature; - STACK_OF(X509) *certs; -} OCSP_SIGNATURE; - -/*- OCSPRequest ::= SEQUENCE { - * tbsRequest TBSRequest, - * optionalSignature [0] EXPLICIT Signature OPTIONAL } - */ -typedef struct ocsp_request_st { - OCSP_REQINFO *tbsRequest; - OCSP_SIGNATURE *optionalSignature; /* OPTIONAL */ -} OCSP_REQUEST; - -/*- OCSPResponseStatus ::= ENUMERATED { - * successful (0), --Response has valid confirmations - * malformedRequest (1), --Illegal confirmation request - * internalError (2), --Internal error in issuer - * tryLater (3), --Try again later - * --(4) is not used - * sigRequired (5), --Must sign the request - * unauthorized (6) --Request unauthorized - * } - */ -# 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 - -/*- ResponseBytes ::= SEQUENCE { - * responseType OBJECT IDENTIFIER, - * response OCTET STRING } - */ -typedef struct ocsp_resp_bytes_st { - ASN1_OBJECT *responseType; - ASN1_OCTET_STRING *response; -} OCSP_RESPBYTES; - -/*- OCSPResponse ::= SEQUENCE { - * responseStatus OCSPResponseStatus, - * responseBytes [0] EXPLICIT ResponseBytes OPTIONAL } - */ -struct ocsp_response_st { - ASN1_ENUMERATED *responseStatus; - OCSP_RESPBYTES *responseBytes; -}; - -/*- ResponderID ::= CHOICE { - * byName [1] Name, - * byKey [2] KeyHash } - */ -# define V_OCSP_RESPID_NAME 0 -# define V_OCSP_RESPID_KEY 1 -struct ocsp_responder_id_st { - int type; - union { - X509_NAME *byName; - ASN1_OCTET_STRING *byKey; - } value; -}; - -DECLARE_STACK_OF(OCSP_RESPID) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) - -/*- KeyHash ::= OCTET STRING --SHA-1 hash of responder's public key - * --(excluding the tag and length fields) - */ - -/*- RevokedInfo ::= SEQUENCE { - * revocationTime GeneralizedTime, - * revocationReason [0] EXPLICIT CRLReason OPTIONAL } - */ -typedef struct ocsp_revoked_info_st { - ASN1_GENERALIZEDTIME *revocationTime; - ASN1_ENUMERATED *revocationReason; -} OCSP_REVOKEDINFO; - -/*- CertStatus ::= CHOICE { - * good [0] IMPLICIT NULL, - * revoked [1] IMPLICIT RevokedInfo, - * unknown [2] IMPLICIT UnknownInfo } - */ -# define V_OCSP_CERTSTATUS_GOOD 0 -# define V_OCSP_CERTSTATUS_REVOKED 1 -# define V_OCSP_CERTSTATUS_UNKNOWN 2 -typedef struct ocsp_cert_status_st { - int type; - union { - ASN1_NULL *good; - OCSP_REVOKEDINFO *revoked; - ASN1_NULL *unknown; - } value; -} OCSP_CERTSTATUS; - -/*- SingleResponse ::= SEQUENCE { - * certID CertID, - * certStatus CertStatus, - * thisUpdate GeneralizedTime, - * nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, - * singleExtensions [1] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_single_response_st { - OCSP_CERTID *certId; - OCSP_CERTSTATUS *certStatus; - ASN1_GENERALIZEDTIME *thisUpdate; - ASN1_GENERALIZEDTIME *nextUpdate; - STACK_OF(X509_EXTENSION) *singleExtensions; -} OCSP_SINGLERESP; - -DECLARE_STACK_OF(OCSP_SINGLERESP) -DECLARE_ASN1_SET_OF(OCSP_SINGLERESP) - -/*- ResponseData ::= SEQUENCE { - * version [0] EXPLICIT Version DEFAULT v1, - * responderID ResponderID, - * producedAt GeneralizedTime, - * responses SEQUENCE OF SingleResponse, - * responseExtensions [1] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_response_data_st { - ASN1_INTEGER *version; - OCSP_RESPID *responderId; - ASN1_GENERALIZEDTIME *producedAt; - STACK_OF(OCSP_SINGLERESP) *responses; - STACK_OF(X509_EXTENSION) *responseExtensions; -} OCSP_RESPDATA; - -/*- BasicOCSPResponse ::= SEQUENCE { - * tbsResponseData ResponseData, - * signatureAlgorithm AlgorithmIdentifier, - * signature BIT STRING, - * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } - */ - /* - * Note 1: The value for "signature" is specified in the OCSP rfc2560 as - * follows: "The value for the signature SHALL be computed on the hash of - * the DER encoding ResponseData." This means that you must hash the - * DER-encoded tbsResponseData, and then run it through a crypto-signing - * function, which will (at least w/RSA) do a hash-'n'-private-encrypt - * operation. This seems a bit odd, but that's the spec. Also note that - * the data structures do not leave anywhere to independently specify the - * algorithm used for the initial hash. So, we look at the - * signature-specification algorithm, and try to do something intelligent. - * -- Kathy Weinhold, CertCo - */ - /* - * Note 2: It seems that the mentioned passage from RFC 2560 (section - * 4.2.1) is open for interpretation. I've done tests against another - * responder, and found that it doesn't do the double hashing that the RFC - * seems to say one should. Therefore, all relevant functions take a flag - * saying which variant should be used. -- Richard Levitte, OpenSSL team - * and CeloCom - */ -typedef struct ocsp_basic_response_st { - OCSP_RESPDATA *tbsResponseData; - X509_ALGOR *signatureAlgorithm; - ASN1_BIT_STRING *signature; - STACK_OF(X509) *certs; -} OCSP_BASICRESP; - /*- * CRLReason ::= ENUMERATED { * unspecified (0), @@ -312,83 +28,121 @@ typedef struct ocsp_basic_response_st { * 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 +# 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 -/*- - * CrlID ::= SEQUENCE { - * crlUrl [0] EXPLICIT IA5String OPTIONAL, - * crlNum [1] EXPLICIT INTEGER OPTIONAL, - * crlTime [2] EXPLICIT GeneralizedTime OPTIONAL } - */ -typedef struct ocsp_crl_id_st { - ASN1_IA5STRING *crlUrl; - ASN1_INTEGER *crlNum; - ASN1_GENERALIZEDTIME *crlTime; -} OCSP_CRLID; -/*- - * ServiceLocator ::= SEQUENCE { - * issuer Name, - * locator AuthorityInfoAccessSyntax OPTIONAL } - */ -typedef struct ocsp_service_locator_st { - X509_NAME *issuer; - STACK_OF(ACCESS_DESCRIPTION) *locator; -} OCSP_SERVICELOC; +# ifndef OPENSSL_NO_OCSP -# define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" -# define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" +# include +# include +# include +# include +# include -# define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) +#ifdef __cplusplus +extern "C" { +#endif -# define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) +/* Various flags and values */ -# 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 OCSP_DEFAULT_NONCE_LENGTH 16 -# 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 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 -# define PEM_write_bio_OCSP_REQUEST(bp,o) \ +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) + bp,(char *)(o), NULL,NULL,0,NULL,NULL) -# define PEM_write_bio_OCSP_RESPONSE(bp,o) \ +# 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) + 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_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 i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) -# define OCSP_REQUEST_sign(o,pkey,md) \ - ASN1_item_sign(ASN1_ITEM_rptr(OCSP_REQINFO),\ - o->optionalSignature->signatureAlgorithm,NULL,\ - o->optionalSignature->signature,o->tbsRequest,pkey,md) - -# define OCSP_BASICRESP_sign(o,pkey,md,d) \ - ASN1_item_sign(ASN1_ITEM_rptr(OCSP_RESPDATA),o->signatureAlgorithm,NULL,\ - o->signature,o->tbsResponseData,pkey,md) - -# define OCSP_REQUEST_verify(a,r) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_REQINFO),\ - a->optionalSignature->signatureAlgorithm,\ - a->optionalSignature->signature,a->tbsRequest,r) - -# define OCSP_BASICRESP_verify(a,r,d) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_RESPDATA),\ - a->signatureAlgorithm,a->signature,a->tbsResponseData,r) - -# define ASN1_BIT_STRING_digest(data,type,md,len) \ +# 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)\ +# define OCSP_CERTSTATUS_dup(cs)\ (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) @@ -407,19 +161,18 @@ int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, 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_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, - ASN1_VALUE *val); 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, X509 *subject, X509 *issuer); +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, - X509_NAME *issuerName, - ASN1_BIT_STRING *issuerKey, - ASN1_INTEGER *serialNumber); + 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); @@ -440,8 +193,23 @@ int OCSP_request_sign(OCSP_REQUEST *req, 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, @@ -461,8 +229,8 @@ int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath, int *pssl); -int OCSP_id_issuer_cmp(OCSP_CERTID *a, OCSP_CERTID *b); -int OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); +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); @@ -482,18 +250,24 @@ 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(char *url, long *n, char *tim); +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, char **urls); +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, ASN1_OBJECT *obj, +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); @@ -506,7 +280,7 @@ 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, ASN1_OBJECT *obj, 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); @@ -517,7 +291,7 @@ 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, ASN1_OBJECT *obj, +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); @@ -531,7 +305,7 @@ 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, ASN1_OBJECT *obj, +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); @@ -542,6 +316,7 @@ void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, 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) @@ -569,69 +344,9 @@ 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); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_OCSP_strings(void); -/* Error codes for the OCSP functions. */ - -/* Function codes. */ -# define OCSP_F_ASN1_STRING_ENCODE 100 -# 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_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_OCSP_SENDREQ_BIO 112 -# define OCSP_F_OCSP_SENDREQ_NBIO 117 -# define OCSP_F_PARSE_HTTP_LINE1 118 -# define OCSP_F_REQUEST_VERIFY 113 - -/* Reason codes. */ -# define OCSP_R_BAD_DATA 100 -# 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_CONTENT 106 -# define OCSP_R_NO_PUBLIC_KEY 107 -# define OCSP_R_NO_RESPONSE_DATA 108 -# define OCSP_R_NO_REVOKED_TIME 109 -# 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_READ_ERROR 113 -# define OCSP_R_SERVER_RESPONSE_ERROR 114 -# define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 -# define OCSP_R_SERVER_WRITE_ERROR 116 -# 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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/ocsperr.h b/ext/openssl/windows/x64/include/openssl/ocsperr.h new file mode 100644 index 00000000..7d93b12d --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/ocsperr.h @@ -0,0 +1,74 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_OCSPERR_H +# define HEADER_OCSPERR_H + +# 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/ext/openssl/windows/x64/include/openssl/opensslconf.h b/ext/openssl/windows/x64/include/openssl/opensslconf.h index d01afc20..5ec34ae6 100644 --- a/ext/openssl/windows/x64/include/openssl/opensslconf.h +++ b/ext/openssl/windows/x64/include/openssl/opensslconf.h @@ -1,30 +1,31 @@ -/* opensslconf.h */ -/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ +/* + * 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 -/* OpenSSL was configured with the following options: */ -#ifndef OPENSSL_SYSNAME_WIN64A -# define OPENSSL_SYSNAME_WIN64A -#endif -#ifndef OPENSSL_DOING_MAKEDEPEND +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_GMP -# define OPENSSL_NO_GMP -#endif -#ifndef OPENSSL_NO_JPAKE -# define OPENSSL_NO_JPAKE -#endif -#ifndef OPENSSL_NO_KRB5 -# define OPENSSL_NO_KRB5 -#endif -#ifndef OPENSSL_NO_LIBUNBOUND -# define OPENSSL_NO_LIBUNBOUND +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_SYS_WIN64A +# define OPENSSL_SYS_WIN64A 1 #endif #ifndef OPENSSL_NO_MD2 # define OPENSSL_NO_MD2 @@ -32,8 +33,44 @@ extern "C" { #ifndef OPENSSL_NO_RC5 # define OPENSSL_NO_RC5 #endif -#ifndef OPENSSL_NO_RFC3779 -# define OPENSSL_NO_RFC3779 +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_RAND_SEED_OS +# define OPENSSL_RAND_SEED_OS +#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 @@ -41,11 +78,14 @@ extern "C" { #ifndef OPENSSL_NO_SSL_TRACE # define OPENSSL_NO_SSL_TRACE #endif -#ifndef OPENSSL_NO_SSL2 -# define OPENSSL_NO_SSL2 +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 #endif -#ifndef OPENSSL_NO_STORE -# define OPENSSL_NO_STORE +#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 @@ -53,219 +93,106 @@ extern "C" { #ifndef OPENSSL_NO_WEAK_SSL_CIPHERS # define OPENSSL_NO_WEAK_SSL_CIPHERS #endif - -#endif /* OPENSSL_DOING_MAKEDEPEND */ - -#ifndef OPENSSL_THREADS -# define OPENSSL_THREADS +#ifndef OPENSSL_NO_STATIC_ENGINE +# define OPENSSL_NO_STATIC_ENGINE +#endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG #endif -/* The OPENSSL_NO_* macros are also defined as NO_* if the application - asks for it. This is a transient feature that is provided for those - who haven't had the time to do the appropriate changes in their - applications. */ -#ifdef OPENSSL_ALGORITHM_DEFINES -# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) -# define NO_EC_NISTP_64_GCC_128 -# endif -# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) -# define NO_GMP -# endif -# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) -# define NO_JPAKE -# endif -# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) -# define NO_KRB5 -# endif -# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) -# define NO_LIBUNBOUND -# endif -# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) -# define NO_MD2 -# endif -# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) -# define NO_RC5 -# endif -# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) -# define NO_RFC3779 -# endif -# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) -# define NO_SCTP -# endif -# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) -# define NO_SSL_TRACE -# endif -# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) -# define NO_SSL2 -# endif -# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) -# define NO_STORE -# endif -# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) -# define NO_UNIT_TEST -# endif -# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) -# define NO_WEAK_SSL_CIPHERS + +/* + * 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 -#define OPENSSL_CPUID_OBJ +#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 -/* crypto/opensslconf.h.in */ +#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 -#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define ENGINESDIR "C:\\OpenSSL/lib/engines" -#define OPENSSLDIR "C:\\OpenSSL/ssl" -#endif -#endif - #undef OPENSSL_UNISTD #define OPENSSL_UNISTD -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION #define OPENSSL_EXPORT_VAR_AS_FUNCTION -#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) -#define IDEA_INT unsigned int -#endif - -#if defined(HEADER_MD2_H) && !defined(MD2_INT) -#define MD2_INT unsigned int -#endif - -#if defined(HEADER_RC2_H) && !defined(RC2_INT) -/* I need to put in a mod for the alpha - eay */ -#define RC2_INT unsigned int -#endif - -#if defined(HEADER_RC4_H) -#if !defined(RC4_INT) -/* using int types make the structure larger but make the code faster - * on most boxes I have tested - up to %20 faster. */ /* - * I don't know what does "most" mean, but declaring "int" is a must on: - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; + * The following are cipher-specific, but are part of the public API. */ -#define RC4_INT unsigned int -#endif -#if !defined(RC4_CHUNK) -/* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ -#define RC4_CHUNK unsigned long long -#endif -#endif - -#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned int -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#undef BN_LLONG - -/* Should we define BN_DIV2W here? */ - +#if !defined(OPENSSL_SYS_UEFI) +# undef BN_LLONG /* Only one for the following should be defined */ -#undef SIXTY_FOUR_BIT_LONG -#define SIXTY_FOUR_BIT -#undef THIRTY_TWO_BIT +# undef SIXTY_FOUR_BIT_LONG +# define SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT #endif -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#undef RC4_INDEX -#endif +#define RC4_INT unsigned int -#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) -#define CONFIG_HEADER_BF_LOCL_H -#undef BF_PTR -#endif /* HEADER_BF_LOCL_H */ - -#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -#define CONFIG_HEADER_DES_LOCL_H -#ifndef DES_DEFAULT_OPTIONS -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#undef DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#ifndef DES_UNROLL -#undef DES_UNROLL -#endif - -/* These default values were supplied by - * Peter Gutman - * They are only used if nothing else has been defined */ -#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) -/* Special defines which change the way the code is built depending on the - CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find - even newer MIPS CPU's, but at the moment one size fits all for - optimization options. Older Sparc's work better with only UNROLL, but - there's no way to tell at compile time what it is you're running on */ - -#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#elif defined( __ultrix ) /* Older MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined( __osf1__ ) /* Alpha */ -# define DES_PTR -# define DES_RISC2 -#elif defined ( _AIX ) /* RS6000 */ - /* Unknown */ -#elif defined( __hpux ) /* HP-PA */ - /* Unknown */ -#elif defined( __aux ) /* 68K */ - /* Unknown */ -#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ -# define DES_UNROLL -#elif defined( __sgi ) /* Newer MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#endif /* Systems-specific speed defines */ -#endif - -#endif /* DES_DEFAULT_OPTIONS */ -#endif /* HEADER_DES_LOCL_H */ #ifdef __cplusplus } #endif diff --git a/ext/openssl/windows/x64/include/openssl/opensslv.h b/ext/openssl/windows/x64/include/openssl/opensslv.h index 77f124e2..bdf44d47 100644 --- a/ext/openssl/windows/x64/include/openssl/opensslv.h +++ b/ext/openssl/windows/x64/include/openssl/opensslv.h @@ -1,3 +1,12 @@ +/* + * 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_OPENSSLV_H # define HEADER_OPENSSLV_H @@ -30,13 +39,8 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x100020ffL -# ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2o-fips 27 Mar 2018" -# else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2o 27 Mar 2018" -# endif -# define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT +# define OPENSSL_VERSION_NUMBER 0x1010103fL +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1c 28 May 2019" /*- * The macros below are to be used for shared library (.so, .dll, ...) @@ -49,7 +53,7 @@ extern "C" { * * libcrypto.so.0.9 * - * Some unixen also make a softlink with the major verson number only: + * Some unixen also make a softlink with the major version number only: * * libcrypto.so.0 * @@ -88,7 +92,7 @@ extern "C" { * should only keep the versions that are binary compatible with the current. */ # define SHLIB_VERSION_HISTORY "" -# define SHLIB_VERSION_NUMBER "1.0.0" +# define SHLIB_VERSION_NUMBER "1.1" #ifdef __cplusplus diff --git a/ext/openssl/windows/x64/include/openssl/ossl_typ.h b/ext/openssl/windows/x64/include/openssl/ossl_typ.h index 364d2623..7993ca28 100644 --- a/ext/openssl/windows/x64/include/openssl/ossl_typ.h +++ b/ext/openssl/windows/x64/include/openssl/ossl_typ.h @@ -1,60 +1,17 @@ -/* ==================================================================== - * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). +/* + * 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 @@ -104,12 +61,13 @@ 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 OPENSSL_SYS_WIN32 +# ifdef _WIN32 # undef X509_NAME # undef X509_EXTENSIONS -# undef X509_CERT_PAIR # undef PKCS7_ISSUER_AND_SERIAL +# undef PKCS7_SIGNER_INFO # undef OCSP_REQUEST # undef OCSP_RESPONSE # endif @@ -117,6 +75,8 @@ typedef struct asn1_pctx_st ASN1_PCTX; # 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; @@ -128,8 +88,8 @@ 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 env_md_st EVP_MD; -typedef struct env_md_ctx_st EVP_MD_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; @@ -137,6 +97,10 @@ 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; @@ -146,11 +110,13 @@ typedef struct dsa_method DSA_METHOD; typedef struct rsa_st RSA; typedef struct rsa_meth_st RSA_METHOD; +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 ecdh_method ECDH_METHOD; -typedef struct ecdsa_method ECDSA_METHOD; - +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; @@ -161,23 +127,27 @@ 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 store_st STORE; -typedef struct store_method_st STORE_METHOD; +typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS; typedef struct ui_st UI; typedef struct ui_method_st UI_METHOD; -typedef struct st_ERR_FNS ERR_FNS; - 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; @@ -190,23 +160,36 @@ typedef struct DIST_POINT_st DIST_POINT; typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; - /* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */ -# define DECLARE_PKCS12_STACK_OF(type)/* Nothing */ -# define IMPLEMENT_PKCS12_STACK_OF(type)/* Nothing */ - typedef struct crypto_ex_data_st CRYPTO_EX_DATA; -/* Callback types for crypto.h */ -typedef int 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, CRYPTO_EX_DATA *from, - void *from_d, int idx, long argl, void *argp); 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 diff --git a/ext/openssl/windows/x64/include/openssl/pem.h b/ext/openssl/windows/x64/include/openssl/pem.h index aac72fb2..2ef5b5d0 100644 --- a/ext/openssl/windows/x64/include/openssl/pem.h +++ b/ext/openssl/windows/x64/include/openssl/pem.h @@ -1,74 +1,21 @@ -/* crypto/pem/pem.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 -# ifndef OPENSSL_NO_BIO -# include -# endif -# ifndef OPENSSL_NO_STACK -# include -# endif +# include +# include # include # include -# include +# include #ifdef __cplusplus extern "C" { @@ -76,44 +23,8 @@ extern "C" { # define PEM_BUFSIZE 1024 -# define PEM_OBJ_UNDEF 0 -# define PEM_OBJ_X509 1 -# define PEM_OBJ_X509_REQ 2 -# define PEM_OBJ_CRL 3 -# define PEM_OBJ_SSL_SESSION 4 -# define PEM_OBJ_PRIV_KEY 10 -# define PEM_OBJ_PRIV_RSA 11 -# define PEM_OBJ_PRIV_DSA 12 -# define PEM_OBJ_PRIV_DH 13 -# define PEM_OBJ_PUB_RSA 14 -# define PEM_OBJ_PUB_DSA 15 -# define PEM_OBJ_PUB_DH 16 -# define PEM_OBJ_DHPARAMS 17 -# define PEM_OBJ_DSAPARAMS 18 -# define PEM_OBJ_PRIV_RSA_PUBLIC 19 -# define PEM_OBJ_PRIV_ECDSA 20 -# define PEM_OBJ_PUB_ECDSA 21 -# define PEM_OBJ_ECPARAMETERS 22 - -# define PEM_ERROR 30 -# define PEM_DEK_DES_CBC 40 -# define PEM_DEK_IDEA_CBC 45 -# define PEM_DEK_DES_EDE 50 -# define PEM_DEK_DES_ECB 60 -# define PEM_DEK_RSA 70 -# define PEM_DEK_RSA_MD2 80 -# define PEM_DEK_RSA_MD5 90 - -# define PEM_MD_MD2 NID_md2 -# define PEM_MD_MD5 NID_md5 -# define PEM_MD_SHA NID_sha -# define PEM_MD_MD2_RSA NID_md2WithRSAEncryption -# define PEM_MD_MD5_RSA NID_md5WithRSAEncryption -# define PEM_MD_SHA_RSA NID_sha1WithRSAEncryption - # define PEM_STRING_X509_OLD "X509 CERTIFICATE" # define PEM_STRING_X509 "CERTIFICATE" -# define PEM_STRING_X509_PAIR "CERTIFICATE PAIR" # define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE" # define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST" # define PEM_STRING_X509_REQ "CERTIFICATE REQUEST" @@ -138,78 +49,18 @@ extern "C" { # define PEM_STRING_PARAMETERS "PARAMETERS" # define PEM_STRING_CMS "CMS" - /* - * Note that this structure is initialised by PEM_SealInit and cleaned up - * by PEM_SealFinal (at least for now) - */ -typedef struct PEM_Encode_Seal_st { - EVP_ENCODE_CTX encode; - EVP_MD_CTX md; - EVP_CIPHER_CTX cipher; -} PEM_ENCODE_SEAL_CTX; - -/* enc_type is one off */ # define PEM_TYPE_ENCRYPTED 10 # define PEM_TYPE_MIC_ONLY 20 # define PEM_TYPE_MIC_CLEAR 30 # define PEM_TYPE_CLEAR 40 -typedef struct pem_recip_st { - char *name; - X509_NAME *dn; - int cipher; - int key_enc; - /* char iv[8]; unused and wrong size */ -} PEM_USER; - -typedef struct pem_ctx_st { - int type; /* what type of object */ - struct { - int version; - int mode; - } proc_type; - - char *domain; - - struct { - int cipher; - /*- - unused, and wrong size - unsigned char iv[8]; */ - } DEK_info; - - PEM_USER *originator; - - int num_recipient; - PEM_USER **recipient; -/*- - XXX(ben): don#t think this is used! - STACK *x509_chain; / * certificate chain */ - EVP_MD *md; /* signature type */ - - int md_enc; /* is the md encrypted or not? */ - int md_len; /* length of md_data */ - char *md_data; /* message digest, could be pkey encrypted */ - - EVP_CIPHER *dec; /* date encryption cipher */ - int key_len; /* key length */ - unsigned char *key; /* key */ - /*- - unused, and wrong size - unsigned char iv[8]; */ - - int data_enc; /* is the data encrypted */ - int data_len; - unsigned char *data; -} PEM_CTX; - /* * 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_FP_API +# ifdef OPENSSL_NO_STDIO # define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ # define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ @@ -320,10 +171,11 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ /* These are the same except they are for the declarations */ -# if defined(OPENSSL_NO_FP_API) +# 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 @@ -342,7 +194,6 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ # endif -# ifndef OPENSSL_NO_BIO # define DECLARE_PEM_read_bio(name, type) \ type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); @@ -356,13 +207,6 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ unsigned char *kstr, int klen, pem_password_cb *cb, void *u); -# else - -# define DECLARE_PEM_read_bio(name, type) /**/ -# define DECLARE_PEM_write_bio(name, type) /**/ -# define DECLARE_PEM_write_bio_const(name, type) /**/ -# define DECLARE_PEM_write_cb_bio(name, type) /**/ -# endif # define DECLARE_PEM_write(name, type) \ DECLARE_PEM_write_bio(name, type) \ DECLARE_PEM_write_fp(name, type) @@ -384,21 +228,22 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ # define DECLARE_PEM_rw_cb(name, type) \ DECLARE_PEM_read(name, type) \ DECLARE_PEM_write_cb(name, type) -# if 1 -/* "userdata": new with OpenSSL 0.9.4 */ typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata); -# else -/* OpenSSL 0.9.3, 0.9.3a */ -typedef int pem_password_cb (char *buf, int size, int rwflag); -# endif 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); -# ifndef OPENSSL_NO_BIO 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, @@ -415,8 +260,8 @@ STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, 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); -# endif +#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, @@ -428,21 +273,15 @@ int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, 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_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, - EVP_MD *md_type, unsigned char **ek, int *ekl, - unsigned char *iv, EVP_PKEY **pubk, int npubk); -void PEM_SealUpdate(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *out, int *outl, - unsigned char *in, int inl); -int PEM_SealFinal(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig, int *sigl, - unsigned char *out, int *outl, EVP_PKEY *priv); - -void PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); -void PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt); +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); -int PEM_def_callback(char *buf, int num, int w, void *key); +/* 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); @@ -450,7 +289,6 @@ void PEM_dek_info(char *buf, const char *type, int len, char *str); DECLARE_PEM_rw(X509, X509) DECLARE_PEM_rw(X509_AUX, X509) -DECLARE_PEM_rw(X509_CERT_PAIR, X509_CERT_PAIR) DECLARE_PEM_rw(X509_REQ, X509_REQ) DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) DECLARE_PEM_rw(X509_CRL, X509_CRL) @@ -480,6 +318,11 @@ DECLARE_PEM_write_const(DHxparams, DH) 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); @@ -494,6 +337,7 @@ int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, 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); @@ -510,107 +354,24 @@ EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, 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 +# 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 -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -void ERR_load_PEM_strings(void); - -/* Error codes for the PEM functions. */ - -/* 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_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_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_F_PEM_WRITE_PKCS8PRIVATEKEY 118 -# define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 -# define PEM_F_PEM_PK8PKEY 119 -# 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_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_SEALFINAL 110 -# define PEM_F_PEM_SEALINIT 111 -# 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 - -/* 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_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_PUBLIC_KEY_NO_RSA 110 -# 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_UNSUPPORTED_CIPHER 113 -# define PEM_R_UNSUPPORTED_ENCRYPTION 114 -# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 - # ifdef __cplusplus } # endif diff --git a/ext/openssl/windows/x64/include/openssl/pem2.h b/ext/openssl/windows/x64/include/openssl/pem2.h index 84897d5e..038fe790 100644 --- a/ext/openssl/windows/x64/include/openssl/pem2.h +++ b/ext/openssl/windows/x64/include/openssl/pem2.h @@ -1,70 +1,13 @@ -/* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - /* - * This header only exists to break a circular dependency between pem and err - * Ben 30 Jan 1999. + * 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 */ -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef HEADER_PEM_H -void ERR_load_PEM_strings(void); -#endif - -#ifdef __cplusplus -} +#ifndef HEADER_PEM2_H +# define HEADER_PEM2_H +# include #endif diff --git a/ext/openssl/windows/x64/include/openssl/pemerr.h b/ext/openssl/windows/x64/include/openssl/pemerr.h new file mode 100644 index 00000000..cd61b823 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/pemerr.h @@ -0,0 +1,99 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_PEMERR_H +# define HEADER_PEMERR_H + +# 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/ext/openssl/windows/x64/include/openssl/pkcs12.h b/ext/openssl/windows/x64/include/openssl/pkcs12.h index 21f1f62b..3f43dad6 100644 --- a/ext/openssl/windows/x64/include/openssl/pkcs12.h +++ b/ext/openssl/windows/x64/include/openssl/pkcs12.h @@ -1,60 +1,10 @@ -/* pkcs12.h */ /* - * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project - * 1999. - */ -/* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). + * 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 @@ -62,6 +12,7 @@ # include # include +# include #ifdef __cplusplus extern "C" { @@ -80,114 +31,92 @@ extern "C" { # define PKCS12_SALT_LEN 8 -/* Uncomment out next line for unicode password and names, otherwise ASCII */ - -/* - * #define PBE_UNICODE - */ - -# ifdef PBE_UNICODE -# define PKCS12_key_gen PKCS12_key_gen_uni -# define PKCS12_add_friendlyname PKCS12_add_friendlyname_uni -# else -# define PKCS12_key_gen PKCS12_key_gen_asc -# define PKCS12_add_friendlyname PKCS12_add_friendlyname_asc -# endif +/* 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 { - X509_SIG *dinfo; - ASN1_OCTET_STRING *salt; - ASN1_INTEGER *iter; /* defaults to 1 */ -} PKCS12_MAC_DATA; +typedef struct PKCS12_MAC_DATA_st PKCS12_MAC_DATA; -typedef struct { - ASN1_INTEGER *version; - PKCS12_MAC_DATA *mac; - PKCS7 *authsafes; -} PKCS12; +typedef struct PKCS12_st PKCS12; -typedef struct { - ASN1_OBJECT *type; - union { - struct pkcs12_bag_st *bag; /* secret, crl and certbag */ - struct pkcs8_priv_key_info_st *keybag; /* keybag */ - X509_SIG *shkeybag; /* shrouded key bag */ - STACK_OF(PKCS12_SAFEBAG) *safes; - ASN1_TYPE *other; - } value; - STACK_OF(X509_ATTRIBUTE) *attrib; -} PKCS12_SAFEBAG; +typedef struct PKCS12_SAFEBAG_st PKCS12_SAFEBAG; -DECLARE_STACK_OF(PKCS12_SAFEBAG) -DECLARE_ASN1_SET_OF(PKCS12_SAFEBAG) -DECLARE_PKCS12_STACK_OF(PKCS12_SAFEBAG) +DEFINE_STACK_OF(PKCS12_SAFEBAG) -typedef struct pkcs12_bag_st { - ASN1_OBJECT *type; - union { - ASN1_OCTET_STRING *x509cert; - ASN1_OCTET_STRING *x509crl; - ASN1_OCTET_STRING *octet; - ASN1_IA5STRING *sdsicert; - ASN1_TYPE *other; /* Secret or other bag */ - } value; -} PKCS12_BAGS; +typedef struct pkcs12_bag_st PKCS12_BAGS; # define PKCS12_ERROR 0 # define PKCS12_OK 1 /* Compatibility macros */ -# define M_PKCS12_x5092certbag PKCS12_x5092certbag -# define M_PKCS12_x509crl2certbag PKCS12_x509crl2certbag +#if OPENSSL_API_COMPAT < 0x10100000L -# define M_PKCS12_certbag2x509 PKCS12_certbag2x509 -# define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl +# 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 M_PKCS12_unpack_p7data PKCS12_unpack_p7data -# define M_PKCS12_pack_authsafes PKCS12_pack_authsafes -# define M_PKCS12_unpack_authsafes PKCS12_unpack_authsafes -# define M_PKCS12_unpack_p7encdata PKCS12_unpack_p7encdata +# 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 -# define M_PKCS12_decrypt_skey PKCS12_decrypt_skey -# define M_PKCS8_decrypt PKCS8_decrypt +#endif -# define M_PKCS12_bag_type(bg) OBJ_obj2nid((bg)->type) -# define M_PKCS12_cert_bag_type(bg) OBJ_obj2nid((bg)->value.bag->type) -# define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type +DEPRECATEDIN_1_1_0(ASN1_TYPE *PKCS12_get_attr(const PKCS12_SAFEBAG *bag, int attr_nid)) -# define PKCS12_get_attr(bag, attr_nid) \ - PKCS12_get_attr_gen(bag->attrib, 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); -# define PKCS8_get_attr(p8, attr_nid) \ - PKCS12_get_attr_gen(p8->attributes, attr_nid) +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); -# define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0) +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_x5092certbag(X509 *x509); -PKCS12_SAFEBAG *PKCS12_x509crl2certbag(X509_CRL *crl); -X509 *PKCS12_certbag2x509(PKCS12_SAFEBAG *bag); -X509_CRL *PKCS12_certbag2x509crl(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); -PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8); -PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(X509_SIG *p8, const char *pass, +PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(const X509_SIG *p8, const char *pass, int passlen); -PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(PKCS12_SAFEBAG *bag, +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); -PKCS12_SAFEBAG *PKCS12_MAKE_SHKEYBAG(int pbe_nid, 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, @@ -197,26 +126,32 @@ 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(PKCS12 *p12); +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(STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid); +ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs, + int attr_nid); char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); -unsigned char *PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass, - int passlen, unsigned char *in, int inlen, +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(X509_ALGOR *algor, const ASN1_ITEM *it, +void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it, const char *pass, int passlen, - ASN1_OCTET_STRING *oct, int zbuf); + 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, @@ -228,6 +163,9 @@ int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, 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); @@ -241,7 +179,10 @@ 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(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) @@ -254,89 +195,29 @@ 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(char *pass, 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 *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, char *pass); + int key_nid, const char *pass); int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, - int safe_nid, int iter, char *pass); + 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); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_PKCS12_strings(void); - -/* Error codes for the PKCS12 functions. */ - -/* Function codes. */ -# define PKCS12_F_PARSE_BAG 129 -# define PKCS12_F_PARSE_BAGS 103 -# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME 100 -# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_ASC 127 -# define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_UNI 102 -# define PKCS12_F_PKCS12_ADD_LOCALKEYID 104 -# 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_MAKE_KEYBAG 112 -# define PKCS12_F_PKCS12_MAKE_SHKEYBAG 113 -# 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_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_ADD_KEYUSAGE 124 -# define PKCS12_F_PKCS8_ENCRYPT 125 - -/* 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_ERROR 112 -# 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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/pkcs12err.h b/ext/openssl/windows/x64/include/openssl/pkcs12err.h new file mode 100644 index 00000000..c7184ffe --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/pkcs12err.h @@ -0,0 +1,77 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_PKCS12ERR_H +# define HEADER_PKCS12ERR_H + +# 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/ext/openssl/windows/x64/include/openssl/pkcs7.h b/ext/openssl/windows/x64/include/openssl/pkcs7.h index b51b3863..9b66e002 100644 --- a/ext/openssl/windows/x64/include/openssl/pkcs7.h +++ b/ext/openssl/windows/x64/include/openssl/pkcs7.h @@ -1,59 +1,10 @@ -/* crypto/pkcs7/pkcs7.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 @@ -65,17 +16,12 @@ # include # include +# include #ifdef __cplusplus extern "C" { #endif -# ifdef OPENSSL_SYS_WIN32 -/* Under Win32 thes are defined in wincrypt.h */ -# undef PKCS7_ISSUER_AND_SERIAL -# undef PKCS7_SIGNER_INFO -# endif - /*- Encryption_ID DES-CBC Digest_ID MD5 @@ -100,8 +46,7 @@ typedef struct pkcs7_signer_info_st { EVP_PKEY *pkey; } PKCS7_SIGNER_INFO; -DECLARE_STACK_OF(PKCS7_SIGNER_INFO) -DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) +DEFINE_STACK_OF(PKCS7_SIGNER_INFO) typedef struct pkcs7_recip_info_st { ASN1_INTEGER *version; /* version 0 */ @@ -111,8 +56,7 @@ typedef struct pkcs7_recip_info_st { X509 *cert; /* get the pub-key from this */ } PKCS7_RECIP_INFO; -DECLARE_STACK_OF(PKCS7_RECIP_INFO) -DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) +DEFINE_STACK_OF(PKCS7_RECIP_INFO) typedef struct pkcs7_signed_st { ASN1_INTEGER *version; /* version 1 */ @@ -199,9 +143,7 @@ typedef struct pkcs7_st { } d; } PKCS7; -DECLARE_STACK_OF(PKCS7) -DECLARE_ASN1_SET_OF(PKCS7) -DECLARE_PKCS12_STACK_OF(PKCS7) +DEFINE_STACK_OF(PKCS7) # define PKCS7_OP_SET_DETACHED_SIGNATURE 1 # define PKCS7_OP_GET_DETACHED_SIGNATURE 2 @@ -242,6 +184,7 @@ DECLARE_PKCS12_STACK_OF(PKCS7) # 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 */ @@ -255,12 +198,15 @@ DECLARE_PKCS12_STACK_OF(PKCS7) # 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_FP_API +# ifndef OPENSSL_NO_STDIO PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); # endif @@ -367,115 +313,7 @@ PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_PKCS7_strings(void); - -/* Error codes for the PKCS7 functions. */ - -/* Function codes. */ -# define PKCS7_F_B64_READ_PKCS7 120 -# define PKCS7_F_B64_WRITE_PKCS7 121 -# define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 -# define PKCS7_F_I2D_PKCS7_BIO_STREAM 140 -# 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_DATASIGN 106 -# 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 -# define PKCS7_F_SMIME_READ_PKCS7 122 -# define PKCS7_F_SMIME_TEXT 123 - -/* 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_DECODE_ERROR 130 -# define PKCS7_R_DECRYPTED_KEY_IS_WRONG_LENGTH 100 -# 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_MIME_TYPE 131 -# define PKCS7_R_INVALID_NULL_POINTER 143 -# define PKCS7_R_INVALID_SIGNED_DATA_TYPE 155 -# define PKCS7_R_MIME_NO_CONTENT_TYPE 132 -# define PKCS7_R_MIME_PARSE_ERROR 133 -# define PKCS7_R_MIME_SIG_PARSE_ERROR 134 -# define PKCS7_R_MISSING_CERIPEND_INFO 103 -# define PKCS7_R_NO_CONTENT 122 -# define PKCS7_R_NO_CONTENT_TYPE 135 -# define PKCS7_R_NO_DEFAULT_DIGEST 151 -# define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND 154 -# define PKCS7_R_NO_MULTIPART_BODY_FAILURE 136 -# define PKCS7_R_NO_MULTIPART_BOUNDARY 137 -# define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE 115 -# define PKCS7_R_NO_RECIPIENT_MATCHES_KEY 146 -# define PKCS7_R_NO_SIGNATURES_ON_DATA 123 -# define PKCS7_R_NO_SIGNERS 142 -# define PKCS7_R_NO_SIG_CONTENT_TYPE 138 -# 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_DATAFINAL 126 -# define PKCS7_R_PKCS7_DATAFINAL_ERROR 125 -# define PKCS7_R_PKCS7_DATASIGN 145 -# define PKCS7_R_PKCS7_PARSE_ERROR 139 -# define PKCS7_R_PKCS7_SIG_PARSE_ERROR 140 -# 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_SIG_INVALID_MIME_TYPE 141 -# 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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/pkcs7err.h b/ext/openssl/windows/x64/include/openssl/pkcs7err.h new file mode 100644 index 00000000..0ba418d7 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/pkcs7err.h @@ -0,0 +1,99 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_PKCS7ERR_H +# define HEADER_PKCS7ERR_H + +# 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/ext/openssl/windows/x64/include/openssl/pqueue.h b/ext/openssl/windows/x64/include/openssl/pqueue.h deleted file mode 100644 index d40d9c7d..00000000 --- a/ext/openssl/windows/x64/include/openssl/pqueue.h +++ /dev/null @@ -1,99 +0,0 @@ -/* crypto/pqueue/pqueue.h */ -/* - * DTLS implementation written by Nagendra Modadugu - * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. - */ -/* ==================================================================== - * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_PQUEUE_H -# define HEADER_PQUEUE_H - -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif -typedef struct _pqueue *pqueue; - -typedef struct _pitem { - unsigned char priority[8]; /* 64-bit value in big-endian encoding */ - void *data; - struct _pitem *next; -} pitem; - -typedef struct _pitem *piterator; - -pitem *pitem_new(unsigned char *prio64be, void *data); -void pitem_free(pitem *item); - -pqueue pqueue_new(void); -void pqueue_free(pqueue pq); - -pitem *pqueue_insert(pqueue pq, pitem *item); -pitem *pqueue_peek(pqueue pq); -pitem *pqueue_pop(pqueue pq); -pitem *pqueue_find(pqueue pq, unsigned char *prio64be); -pitem *pqueue_iterator(pqueue pq); -pitem *pqueue_next(piterator *iter); - -void pqueue_print(pqueue pq); -int pqueue_size(pqueue pq); - -#ifdef __cplusplus -} -#endif -#endif /* ! HEADER_PQUEUE_H */ diff --git a/ext/openssl/windows/x64/include/openssl/rand.h b/ext/openssl/windows/x64/include/openssl/rand.h index 2553afda..38a2a271 100644 --- a/ext/openssl/windows/x64/include/openssl/rand.h +++ b/ext/openssl/windows/x64/include/openssl/rand.h @@ -1,59 +1,10 @@ -/* crypto/rand/rand.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 @@ -62,89 +13,65 @@ # include # include # include - -# if defined(OPENSSL_SYS_WINDOWS) -# include -# endif +# include #ifdef __cplusplus extern "C" { #endif -# if defined(OPENSSL_FIPS) -# define FIPS_RAND_SIZE_T size_t -# endif - -/* Already defined in ossl_typ.h */ -/* typedef struct rand_meth_st RAND_METHOD; */ - struct rand_meth_st { - void (*seed) (const void *buf, int num); + int (*seed) (const void *buf, int num); int (*bytes) (unsigned char *buf, int num); void (*cleanup) (void); - void (*add) (const void *buf, int num, double entropy); + int (*add) (const void *buf, int num, double randomness); int (*pseudorand) (unsigned char *buf, int num); int (*status) (void); }; -# ifdef BN_DEBUG -extern int rand_predictable; -# endif - 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_SSLeay(void); -void RAND_cleanup(void); + +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_pseudo_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_add(const void *buf, int num, double entropy); +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(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) - -void RAND_screen(void); -int RAND_event(UINT, WPARAM, LPARAM); - +# 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 OPENSSL_FIPS -void RAND_set_fips_drbg_type(int type, int flags); -int RAND_init_fips(void); -# endif - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_RAND_strings(void); - -/* Error codes for the RAND functions. */ - -/* Function codes. */ -# define RAND_F_RAND_GET_RAND_METHOD 101 -# define RAND_F_RAND_INIT_FIPS 102 -# define RAND_F_SSLEAY_RAND_BYTES 100 - -/* Reason codes. */ -# define RAND_R_DUAL_EC_DRBG_DISABLED 104 -# define RAND_R_ERROR_INITIALISING_DRBG 102 -# define RAND_R_ERROR_INSTANTIATING_DRBG 103 -# define RAND_R_NO_FIPS_RANDOM_METHOD_SET 101 -# define RAND_R_PRNG_NOT_SEEDED 100 #ifdef __cplusplus } #endif + #endif diff --git a/ext/openssl/windows/x64/include/openssl/rand_drbg.h b/ext/openssl/windows/x64/include/openssl/rand_drbg.h new file mode 100644 index 00000000..45b731b7 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/rand_drbg.h @@ -0,0 +1,130 @@ +/* + * 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/ext/openssl/windows/x64/include/openssl/randerr.h b/ext/openssl/windows/x64/include/openssl/randerr.h new file mode 100644 index 00000000..599a2a18 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/randerr.h @@ -0,0 +1,89 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_RANDERR_H +# define HEADER_RANDERR_H + +# ifdef __cplusplus +extern "C" +# endif +int ERR_load_RAND_strings(void); + +/* + * RAND function codes. + */ +# 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_NEW 116 +# 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/ext/openssl/windows/x64/include/openssl/rc2.h b/ext/openssl/windows/x64/include/openssl/rc2.h index 29d02d73..585f9e4c 100644 --- a/ext/openssl/windows/x64/include/openssl/rc2.h +++ b/ext/openssl/windows/x64/include/openssl/rc2.h @@ -1,87 +1,34 @@ -/* crypto/rc2/rc2.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 /* OPENSSL_NO_RC2, RC2_INT */ -# ifdef OPENSSL_NO_RC2 -# error RC2 is disabled. +# 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 -#ifdef __cplusplus -extern "C" { -#endif - typedef struct rc2_key_st { RC2_INT data[64]; } RC2_KEY; -# ifdef OPENSSL_FIPS -void private_RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, - int bits); -# endif 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); @@ -96,8 +43,9 @@ void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, long length, RC2_KEY *schedule, unsigned char *ivec, int *num); -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/rc4.h b/ext/openssl/windows/x64/include/openssl/rc4.h index 39162b16..86803b37 100644 --- a/ext/openssl/windows/x64/include/openssl/rc4.h +++ b/ext/openssl/windows/x64/include/openssl/rc4.h @@ -1,71 +1,19 @@ -/* crypto/rc4/rc4.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 /* OPENSSL_NO_RC4, RC4_INT */ -# ifdef OPENSSL_NO_RC4 -# error RC4 is disabled. -# endif +# include +# ifndef OPENSSL_NO_RC4 # include - #ifdef __cplusplus extern "C" { #endif @@ -77,12 +25,12 @@ typedef struct rc4_key_st { const char *RC4_options(void); void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); -void private_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 +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/rc5.h b/ext/openssl/windows/x64/include/openssl/rc5.h new file mode 100644 index 00000000..793f88e4 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/rc5.h @@ -0,0 +1,63 @@ +/* + * 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/ext/openssl/windows/x64/include/openssl/ripemd.h b/ext/openssl/windows/x64/include/openssl/ripemd.h index b88ef25e..c42026aa 100644 --- a/ext/openssl/windows/x64/include/openssl/ripemd.h +++ b/ext/openssl/windows/x64/include/openssl/ripemd.h @@ -1,83 +1,25 @@ -/* crypto/ripemd/ripemd.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 +# ifdef __cplusplus extern "C" { -#endif - -# ifdef OPENSSL_NO_RIPEMD -# error RIPEMD is disabled. # endif -# if defined(__LP32__) -# define RIPEMD160_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define RIPEMD160_LONG unsigned long -# define RIPEMD160_LONG_LOG2 3 -# else -# define RIPEMD160_LONG unsigned int -# endif +# define RIPEMD160_LONG unsigned int # define RIPEMD160_CBLOCK 64 # define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) @@ -90,16 +32,16 @@ typedef struct RIPEMD160state_st { unsigned int num; } RIPEMD160_CTX; -# ifdef OPENSSL_FIPS -int private_RIPEMD160_Init(RIPEMD160_CTX *c); -# endif 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 + +# ifdef __cplusplus } -#endif +# endif +# endif + #endif diff --git a/ext/openssl/windows/x64/include/openssl/rsa.h b/ext/openssl/windows/x64/include/openssl/rsa.h index d2ee3740..cdce1264 100644 --- a/ext/openssl/windows/x64/include/openssl/rsa.h +++ b/ext/openssl/windows/x64/include/openssl/rsa.h @@ -1,173 +1,38 @@ -/* crypto/rsa/rsa.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 +# include -# ifndef OPENSSL_NO_BIO -# include -# endif +# ifndef OPENSSL_NO_RSA +# include +# include # include # include -# ifndef OPENSSL_NO_DEPRECATED +# if OPENSSL_API_COMPAT < 0x10100000L # include # endif - -# ifdef OPENSSL_NO_RSA -# error RSA is disabled. +# include +# ifdef __cplusplus +extern "C" { # endif -#ifdef __cplusplus -extern "C" { -#endif - -/* Declared already in ossl_typ.h */ -/* typedef struct rsa_st RSA; */ -/* typedef struct rsa_meth_st RSA_METHOD; */ - -struct rsa_meth_st { - const char *name; - int (*rsa_pub_enc) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - int (*rsa_pub_dec) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - int (*rsa_priv_enc) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - int (*rsa_priv_dec) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - /* Can be null */ - int (*rsa_mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); - /* Can be null */ - int (*bn_mod_exp) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); - /* called at new */ - int (*init) (RSA *rsa); - /* called at free */ - int (*finish) (RSA *rsa); - /* RSA_METHOD_FLAG_* things */ - int flags; - /* may be needed! */ - char *app_data; - /* - * New sign and verify functions: some libraries don't allow arbitrary - * data to be signed/verified: this allows them to be used. Note: for - * this to work the RSA_public_decrypt() and RSA_private_encrypt() should - * *NOT* be used RSA_sign(), RSA_verify() should be used instead. Note: - * for backwards compatibility this functionality is only enabled if the - * RSA_FLAG_SIGN_VER option is set in 'flags'. - */ - int (*rsa_sign) (int type, - const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, - const RSA *rsa); - int (*rsa_verify) (int dtype, const unsigned char *m, - unsigned int m_length, const unsigned char *sigbuf, - unsigned int siglen, const RSA *rsa); - /* - * If this callback is NULL, the builtin software RSA key-gen will be - * used. This is for behavioural compatibility whilst the code gets - * rewired, but one day it would be nice to assume there are no such - * things as "builtin software" implementations. - */ - int (*rsa_keygen) (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); -}; - -struct rsa_st { - /* - * The first parameter is used to pickup errors where this is passed - * instead of aEVP_PKEY, it is set to 0 - */ - int pad; - long version; - const RSA_METHOD *meth; - /* functional reference if 'meth' is ENGINE-provided */ - ENGINE *engine; - BIGNUM *n; - BIGNUM *e; - BIGNUM *d; - BIGNUM *p; - BIGNUM *q; - BIGNUM *dmp1; - BIGNUM *dmq1; - BIGNUM *iqmp; - /* be careful using this if the RSA structure is shared */ - CRYPTO_EX_DATA ex_data; - int references; - int flags; - /* Used to cache montgomery values */ - BN_MONT_CTX *_method_mod_n; - BN_MONT_CTX *_method_mod_p; - BN_MONT_CTX *_method_mod_q; - /* - * all BIGNUM values are actually in the following data, if it is not - * NULL - */ - char *bignum_data; - BN_BLINDING *blinding; - BN_BLINDING *mt_blinding; -}; +/* 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 @@ -180,6 +45,12 @@ struct rsa_st { # 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 */ @@ -195,12 +66,6 @@ struct rsa_st { */ # define RSA_FLAG_EXT_PKEY 0x0020 -/* - * This flag in the RSA_METHOD enables the new rsa_sign, rsa_verify - * functions. - */ -# define RSA_FLAG_SIGN_VER 0x0040 - /* * new with 0.9.6j and 0.9.7b; the built-in * RSA implementation now uses blinding by @@ -208,19 +73,13 @@ struct rsa_st { * but other engines might not need it */ # define RSA_FLAG_NO_BLINDING 0x0080 +# if OPENSSL_API_COMPAT < 0x10100000L /* - * new with 0.9.8f; the built-in RSA - * implementation now uses constant time - * operations by default in private key operations, - * e.g., constant time modular exponentiation, - * modular inverse without leaking branches, - * division without leaking branches. This - * flag disables these constant time - * operations and results in faster RSA - * private key operations. + * Does nothing. Previously this switched off constant time behaviour. */ -# define RSA_FLAG_NO_CONSTTIME 0x0100 -# ifdef OPENSSL_USE_DEPRECATED +# 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 @@ -234,58 +93,75 @@ struct rsa_st { # endif # define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, \ - pad, NULL) + RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_RSA_PADDING, pad, NULL) # define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, \ - EVP_PKEY_CTRL_GET_RSA_PADDING, 0, 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) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ - EVP_PKEY_CTRL_RSA_PSS_SALTLEN, \ - len, NULL) + 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) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ - EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, \ - 0, 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) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) + 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) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) -# define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - 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_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_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_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) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ - EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)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) + 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) + 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_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) @@ -304,6 +180,8 @@ struct rsa_st { # 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 @@ -319,18 +197,59 @@ struct rsa_st { 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); +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 */ -# ifndef OPENSSL_NO_DEPRECATED -RSA *RSA_generate_key(int bits, unsigned long e, void - (*callback) (int, int, void *), void *cb_arg); -# endif /* !defined(OPENSSL_NO_DEPRECATED) */ +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); @@ -348,16 +267,14 @@ 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); -/* This function needs the memory locking malloc callbacks to be installed */ -int RSA_memory_lock(RSA *r); +/* these are the actual RSA functions */ +const RSA_METHOD *RSA_PKCS1_OpenSSL(void); -/* these are the actual SSLeay RSA functions */ -const RSA_METHOD *RSA_PKCS1_SSLeay(void); - -const RSA_METHOD *RSA_null_method(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) @@ -367,6 +284,8 @@ typedef struct rsa_pss_params_st { X509_ALGOR *maskGenAlgorithm; ASN1_INTEGER *saltLength; ASN1_INTEGER *trailerField; + /* Decoded hash algorithm from maskGenAlgorithm */ + X509_ALGOR *maskHash; } RSA_PSS_PARAMS; DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) @@ -375,33 +294,17 @@ 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_FP_API +# ifndef OPENSSL_NO_STDIO int RSA_print_fp(FILE *fp, const RSA *r, int offset); # endif -# ifndef OPENSSL_NO_BIO int RSA_print(BIO *bp, const RSA *r, int offset); -# endif - -# ifndef OPENSSL_NO_RC4 -int i2d_RSA_NET(const RSA *a, unsigned char **pp, - int (*cb) (char *buf, int len, const char *prompt, - int verify), int sgckey); -RSA *d2i_RSA_NET(RSA **a, const unsigned char **pp, long length, - int (*cb) (char *buf, int len, const char *prompt, - int verify), int sgckey); - -int i2d_Netscape_RSA(const RSA *a, unsigned char **pp, - int (*cb) (char *buf, int len, const char *prompt, - int verify)); -RSA *d2i_Netscape_RSA(RSA **a, const unsigned char **pp, long length, - int (*cb) (char *buf, int len, const char *prompt, - int verify)); -# endif /* * The following 2 functions sign and verify a X509_SIG ASN1 object inside @@ -485,8 +388,8 @@ int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, const EVP_MD *Hash, const EVP_MD *mgf1Hash, int sLen); -int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +#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); @@ -515,150 +418,95 @@ RSA *RSAPrivateKey_dup(RSA *rsa); */ # define RSA_FLAG_CHECKED 0x0800 -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_RSA_strings(void); +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)); -/* Error codes for the RSA functions. */ - -/* Function codes. */ -# define RSA_F_CHECK_PADDING_MD 140 -# define RSA_F_DO_RSA_PRINT 146 -# define RSA_F_INT_RSA_VERIFY 145 -# define RSA_F_MEMORY_LOCK 100 -# define RSA_F_OLD_RSA_PRIV_DECODE 147 -# 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 154 -# define RSA_F_PKEY_RSA_VERIFYRECOVER 141 -# define RSA_F_RSA_ALGOR_TO_MD 157 -# define RSA_F_RSA_BUILTIN_KEYGEN 129 -# define RSA_F_RSA_CHECK_KEY 123 -# define RSA_F_RSA_CMS_DECRYPT 158 -# define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101 -# define RSA_F_RSA_EAY_PRIVATE_ENCRYPT 102 -# define RSA_F_RSA_EAY_PUBLIC_DECRYPT 103 -# define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104 -# define RSA_F_RSA_GENERATE_KEY 105 -# define RSA_F_RSA_GENERATE_KEY_EX 155 -# define RSA_F_RSA_ITEM_VERIFY 156 -# define RSA_F_RSA_MEMORY_LOCK 130 -# define RSA_F_RSA_MGF1_TO_MD 159 -# define RSA_F_RSA_NEW_METHOD 106 -# define RSA_F_RSA_NULL 124 -# define RSA_F_RSA_NULL_MOD_EXP 131 -# 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_PADDING_ADD_NONE 107 -# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 -# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 160 -# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 -# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 148 -# 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 161 -# 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_PRINT 115 -# define RSA_F_RSA_PRINT_FP 116 -# define RSA_F_RSA_PRIVATE_DECRYPT 150 -# define RSA_F_RSA_PRIVATE_ENCRYPT 151 -# define RSA_F_RSA_PRIV_DECODE 137 -# define RSA_F_RSA_PRIV_ENCODE 138 -# define RSA_F_RSA_PSS_TO_CTX 162 -# define RSA_F_RSA_PUBLIC_DECRYPT 152 -# define RSA_F_RSA_PUBLIC_ENCRYPT 153 -# 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 126 -# define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 149 - -/* 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 166 -# 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 160 -# define RSA_R_INVALID_DIGEST_LENGTH 143 -# define RSA_R_INVALID_HEADER 137 -# define RSA_R_INVALID_KEYBITS 145 -# define RSA_R_INVALID_LABEL 161 -# define RSA_R_INVALID_MESSAGE_LENGTH 131 -# define RSA_R_INVALID_MGF1_MD 156 -# define RSA_R_INVALID_OAEP_PARAMETERS 162 -# 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_SIZE_TOO_SMALL 120 -# define RSA_R_LAST_OCTET_INVALID 134 -# define RSA_R_MODULUS_TOO_LARGE 105 -# define RSA_R_NON_FIPS_RSA_METHOD 157 -# define RSA_R_NO_PUBLIC_EXPONENT 140 -# define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 -# define RSA_R_N_DOES_NOT_EQUAL_P_Q 127 -# define RSA_R_OAEP_DECODING_ERROR 121 -# define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE 158 -# 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_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 163 -# define RSA_R_UNKNOWN_MASK_DIGEST 151 -# define RSA_R_UNKNOWN_PADDING_TYPE 118 -# define RSA_R_UNKNOWN_PSS_DIGEST 152 -# define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 164 -# define RSA_R_UNSUPPORTED_LABEL_SOURCE 165 -# 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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/rsaerr.h b/ext/openssl/windows/x64/include/openssl/rsaerr.h new file mode 100644 index 00000000..d5bc01c1 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/rsaerr.h @@ -0,0 +1,162 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_RSAERR_H +# define HEADER_RSAERR_H + +# 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_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/ext/openssl/windows/x64/include/openssl/safestack.h b/ext/openssl/windows/x64/include/openssl/safestack.h index 1d4f87ea..38b55789 100644 --- a/ext/openssl/windows/x64/include/openssl/safestack.h +++ b/ext/openssl/windows/x64/include/openssl/safestack.h @@ -1,106 +1,136 @@ -/* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). +/* + * 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 -# ifndef CHECKED_PTR_OF -# define CHECKED_PTR_OF(type, p) \ - ((void*) (1 ? p : (type*)0)) -# endif - -/* - * In C++ we get problems because an explicit cast is needed from (void *) we - * use CHECKED_STACK_OF to ensure the correct type is passed in the macros - * below. - */ - -# define CHECKED_STACK_OF(type, p) \ - ((_STACK*) (1 ? p : (STACK_OF(type)*)0)) - -# define CHECKED_SK_COPY_FUNC(type, p) \ - ((void *(*)(void *)) ((1 ? p : (type *(*)(const type *))0))) - -# define CHECKED_SK_FREE_FUNC(type, p) \ - ((void (*)(void *)) ((1 ? p : (void (*)(type *))0))) - -# define CHECKED_SK_CMP_FUNC(type, p) \ - ((int (*)(const void *, const void *)) \ - ((1 ? p : (int (*)(const type * const *, const type * const *))0))) - # define STACK_OF(type) struct stack_st_##type -# define PREDECLARE_STACK_OF(type) STACK_OF(type); -# define DECLARE_STACK_OF(type) \ -STACK_OF(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) \ { \ - _STACK stack; \ - }; -# define DECLARE_SPECIAL_STACK_OF(type, type2) \ -STACK_OF(type) \ + return OPENSSL_sk_num((const OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \ { \ - _STACK stack; \ - }; + 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); \ + } -/* nada (obsolete in new safestack approach)*/ -# define IMPLEMENT_STACK_OF(type) +# 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 @@ -117,2556 +147,61 @@ STACK_OF(type) \ * 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. */ - -DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) +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; -DECLARE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) +DEFINE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) /* - * SKM_sk_... stack macros are internal to safestack.h: never use them - * directly, use sk__... instead + * 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). */ -# define SKM_sk_new(type, cmp) \ - ((STACK_OF(type) *)sk_new(CHECKED_SK_CMP_FUNC(type, cmp))) -# define SKM_sk_new_null(type) \ - ((STACK_OF(type) *)sk_new_null()) -# define SKM_sk_free(type, st) \ - sk_free(CHECKED_STACK_OF(type, st)) -# define SKM_sk_num(type, st) \ - sk_num(CHECKED_STACK_OF(type, st)) -# define SKM_sk_value(type, st,i) \ - ((type *)sk_value(CHECKED_STACK_OF(type, st), i)) -# define SKM_sk_set(type, st,i,val) \ - sk_set(CHECKED_STACK_OF(type, st), i, CHECKED_PTR_OF(type, val)) -# define SKM_sk_zero(type, st) \ - sk_zero(CHECKED_STACK_OF(type, st)) -# define SKM_sk_push(type, st, val) \ - sk_push(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) -# define SKM_sk_unshift(type, st, val) \ - sk_unshift(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) -# define SKM_sk_find(type, st, val) \ - sk_find(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) -# define SKM_sk_find_ex(type, st, val) \ - sk_find_ex(CHECKED_STACK_OF(type, st), \ - CHECKED_PTR_OF(type, val)) -# define SKM_sk_delete(type, st, i) \ - (type *)sk_delete(CHECKED_STACK_OF(type, st), i) -# define SKM_sk_delete_ptr(type, st, ptr) \ - (type *)sk_delete_ptr(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, ptr)) -# define SKM_sk_insert(type, st,val, i) \ - sk_insert(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val), i) -# define SKM_sk_set_cmp_func(type, st, cmp) \ - ((int (*)(const type * const *,const type * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(type, st), CHECKED_SK_CMP_FUNC(type, cmp))) -# define SKM_sk_dup(type, st) \ - (STACK_OF(type) *)sk_dup(CHECKED_STACK_OF(type, st)) -# define SKM_sk_pop_free(type, st, free_func) \ - sk_pop_free(CHECKED_STACK_OF(type, st), CHECKED_SK_FREE_FUNC(type, free_func)) -# define SKM_sk_deep_copy(type, st, copy_func, free_func) \ - (STACK_OF(type) *)sk_deep_copy(CHECKED_STACK_OF(type, st), CHECKED_SK_COPY_FUNC(type, copy_func), CHECKED_SK_FREE_FUNC(type, free_func)) -# define SKM_sk_shift(type, st) \ - (type *)sk_shift(CHECKED_STACK_OF(type, st)) -# define SKM_sk_pop(type, st) \ - (type *)sk_pop(CHECKED_STACK_OF(type, st)) -# define SKM_sk_sort(type, st) \ - sk_sort(CHECKED_STACK_OF(type, st)) -# define SKM_sk_is_sorted(type, st) \ - sk_is_sorted(CHECKED_STACK_OF(type, st)) -# define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - (STACK_OF(type) *)d2i_ASN1_SET( \ - (STACK_OF(OPENSSL_BLOCK) **)CHECKED_PTR_OF(STACK_OF(type)*, st), \ - pp, length, \ - CHECKED_D2I_OF(type, d2i_func), \ - CHECKED_SK_FREE_FUNC(type, free_func), \ - ex_tag, ex_class) -# define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \ - i2d_ASN1_SET((STACK_OF(OPENSSL_BLOCK) *)CHECKED_STACK_OF(type, st), pp, \ - CHECKED_I2D_OF(type, i2d_func), \ - ex_tag, ex_class, is_set) -# define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ - ASN1_seq_pack(CHECKED_PTR_OF(STACK_OF(type), st), \ - CHECKED_I2D_OF(type, i2d_func), buf, len) -# define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ - (STACK_OF(type) *)ASN1_seq_unpack(buf, len, CHECKED_D2I_OF(type, d2i_func), CHECKED_SK_FREE_FUNC(type, free_func)) -# define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \ - (STACK_OF(type) *)PKCS12_decrypt_d2i(algor, \ - CHECKED_D2I_OF(type, d2i_func), \ - CHECKED_SK_FREE_FUNC(type, free_func), \ - pass, passlen, oct, seq) -/* - * This block of defines is updated by util/mkstack.pl, please do not touch! - */ -# define sk_ACCESS_DESCRIPTION_new(cmp) SKM_sk_new(ACCESS_DESCRIPTION, (cmp)) -# define sk_ACCESS_DESCRIPTION_new_null() SKM_sk_new_null(ACCESS_DESCRIPTION) -# define sk_ACCESS_DESCRIPTION_free(st) SKM_sk_free(ACCESS_DESCRIPTION, (st)) -# define sk_ACCESS_DESCRIPTION_num(st) SKM_sk_num(ACCESS_DESCRIPTION, (st)) -# define sk_ACCESS_DESCRIPTION_value(st, i) SKM_sk_value(ACCESS_DESCRIPTION, (st), (i)) -# define sk_ACCESS_DESCRIPTION_set(st, i, val) SKM_sk_set(ACCESS_DESCRIPTION, (st), (i), (val)) -# define sk_ACCESS_DESCRIPTION_zero(st) SKM_sk_zero(ACCESS_DESCRIPTION, (st)) -# define sk_ACCESS_DESCRIPTION_push(st, val) SKM_sk_push(ACCESS_DESCRIPTION, (st), (val)) -# define sk_ACCESS_DESCRIPTION_unshift(st, val) SKM_sk_unshift(ACCESS_DESCRIPTION, (st), (val)) -# define sk_ACCESS_DESCRIPTION_find(st, val) SKM_sk_find(ACCESS_DESCRIPTION, (st), (val)) -# define sk_ACCESS_DESCRIPTION_find_ex(st, val) SKM_sk_find_ex(ACCESS_DESCRIPTION, (st), (val)) -# define sk_ACCESS_DESCRIPTION_delete(st, i) SKM_sk_delete(ACCESS_DESCRIPTION, (st), (i)) -# define sk_ACCESS_DESCRIPTION_delete_ptr(st, ptr) SKM_sk_delete_ptr(ACCESS_DESCRIPTION, (st), (ptr)) -# define sk_ACCESS_DESCRIPTION_insert(st, val, i) SKM_sk_insert(ACCESS_DESCRIPTION, (st), (val), (i)) -# define sk_ACCESS_DESCRIPTION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ACCESS_DESCRIPTION, (st), (cmp)) -# define sk_ACCESS_DESCRIPTION_dup(st) SKM_sk_dup(ACCESS_DESCRIPTION, st) -# define sk_ACCESS_DESCRIPTION_pop_free(st, free_func) SKM_sk_pop_free(ACCESS_DESCRIPTION, (st), (free_func)) -# define sk_ACCESS_DESCRIPTION_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ACCESS_DESCRIPTION, (st), (copy_func), (free_func)) -# define sk_ACCESS_DESCRIPTION_shift(st) SKM_sk_shift(ACCESS_DESCRIPTION, (st)) -# define sk_ACCESS_DESCRIPTION_pop(st) SKM_sk_pop(ACCESS_DESCRIPTION, (st)) -# define sk_ACCESS_DESCRIPTION_sort(st) SKM_sk_sort(ACCESS_DESCRIPTION, (st)) -# define sk_ACCESS_DESCRIPTION_is_sorted(st) SKM_sk_is_sorted(ACCESS_DESCRIPTION, (st)) -# define sk_ASIdOrRange_new(cmp) SKM_sk_new(ASIdOrRange, (cmp)) -# define sk_ASIdOrRange_new_null() SKM_sk_new_null(ASIdOrRange) -# define sk_ASIdOrRange_free(st) SKM_sk_free(ASIdOrRange, (st)) -# define sk_ASIdOrRange_num(st) SKM_sk_num(ASIdOrRange, (st)) -# define sk_ASIdOrRange_value(st, i) SKM_sk_value(ASIdOrRange, (st), (i)) -# define sk_ASIdOrRange_set(st, i, val) SKM_sk_set(ASIdOrRange, (st), (i), (val)) -# define sk_ASIdOrRange_zero(st) SKM_sk_zero(ASIdOrRange, (st)) -# define sk_ASIdOrRange_push(st, val) SKM_sk_push(ASIdOrRange, (st), (val)) -# define sk_ASIdOrRange_unshift(st, val) SKM_sk_unshift(ASIdOrRange, (st), (val)) -# define sk_ASIdOrRange_find(st, val) SKM_sk_find(ASIdOrRange, (st), (val)) -# define sk_ASIdOrRange_find_ex(st, val) SKM_sk_find_ex(ASIdOrRange, (st), (val)) -# define sk_ASIdOrRange_delete(st, i) SKM_sk_delete(ASIdOrRange, (st), (i)) -# define sk_ASIdOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASIdOrRange, (st), (ptr)) -# define sk_ASIdOrRange_insert(st, val, i) SKM_sk_insert(ASIdOrRange, (st), (val), (i)) -# define sk_ASIdOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASIdOrRange, (st), (cmp)) -# define sk_ASIdOrRange_dup(st) SKM_sk_dup(ASIdOrRange, st) -# define sk_ASIdOrRange_pop_free(st, free_func) SKM_sk_pop_free(ASIdOrRange, (st), (free_func)) -# define sk_ASIdOrRange_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASIdOrRange, (st), (copy_func), (free_func)) -# define sk_ASIdOrRange_shift(st) SKM_sk_shift(ASIdOrRange, (st)) -# define sk_ASIdOrRange_pop(st) SKM_sk_pop(ASIdOrRange, (st)) -# define sk_ASIdOrRange_sort(st) SKM_sk_sort(ASIdOrRange, (st)) -# define sk_ASIdOrRange_is_sorted(st) SKM_sk_is_sorted(ASIdOrRange, (st)) -# define sk_ASN1_GENERALSTRING_new(cmp) SKM_sk_new(ASN1_GENERALSTRING, (cmp)) -# define sk_ASN1_GENERALSTRING_new_null() SKM_sk_new_null(ASN1_GENERALSTRING) -# define sk_ASN1_GENERALSTRING_free(st) SKM_sk_free(ASN1_GENERALSTRING, (st)) -# define sk_ASN1_GENERALSTRING_num(st) SKM_sk_num(ASN1_GENERALSTRING, (st)) -# define sk_ASN1_GENERALSTRING_value(st, i) SKM_sk_value(ASN1_GENERALSTRING, (st), (i)) -# define sk_ASN1_GENERALSTRING_set(st, i, val) SKM_sk_set(ASN1_GENERALSTRING, (st), (i), (val)) -# define sk_ASN1_GENERALSTRING_zero(st) SKM_sk_zero(ASN1_GENERALSTRING, (st)) -# define sk_ASN1_GENERALSTRING_push(st, val) SKM_sk_push(ASN1_GENERALSTRING, (st), (val)) -# define sk_ASN1_GENERALSTRING_unshift(st, val) SKM_sk_unshift(ASN1_GENERALSTRING, (st), (val)) -# define sk_ASN1_GENERALSTRING_find(st, val) SKM_sk_find(ASN1_GENERALSTRING, (st), (val)) -# define sk_ASN1_GENERALSTRING_find_ex(st, val) SKM_sk_find_ex(ASN1_GENERALSTRING, (st), (val)) -# define sk_ASN1_GENERALSTRING_delete(st, i) SKM_sk_delete(ASN1_GENERALSTRING, (st), (i)) -# define sk_ASN1_GENERALSTRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_GENERALSTRING, (st), (ptr)) -# define sk_ASN1_GENERALSTRING_insert(st, val, i) SKM_sk_insert(ASN1_GENERALSTRING, (st), (val), (i)) -# define sk_ASN1_GENERALSTRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_GENERALSTRING, (st), (cmp)) -# define sk_ASN1_GENERALSTRING_dup(st) SKM_sk_dup(ASN1_GENERALSTRING, st) -# define sk_ASN1_GENERALSTRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_GENERALSTRING, (st), (free_func)) -# define sk_ASN1_GENERALSTRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_GENERALSTRING, (st), (copy_func), (free_func)) -# define sk_ASN1_GENERALSTRING_shift(st) SKM_sk_shift(ASN1_GENERALSTRING, (st)) -# define sk_ASN1_GENERALSTRING_pop(st) SKM_sk_pop(ASN1_GENERALSTRING, (st)) -# define sk_ASN1_GENERALSTRING_sort(st) SKM_sk_sort(ASN1_GENERALSTRING, (st)) -# define sk_ASN1_GENERALSTRING_is_sorted(st) SKM_sk_is_sorted(ASN1_GENERALSTRING, (st)) -# define sk_ASN1_INTEGER_new(cmp) SKM_sk_new(ASN1_INTEGER, (cmp)) -# define sk_ASN1_INTEGER_new_null() SKM_sk_new_null(ASN1_INTEGER) -# define sk_ASN1_INTEGER_free(st) SKM_sk_free(ASN1_INTEGER, (st)) -# define sk_ASN1_INTEGER_num(st) SKM_sk_num(ASN1_INTEGER, (st)) -# define sk_ASN1_INTEGER_value(st, i) SKM_sk_value(ASN1_INTEGER, (st), (i)) -# define sk_ASN1_INTEGER_set(st, i, val) SKM_sk_set(ASN1_INTEGER, (st), (i), (val)) -# define sk_ASN1_INTEGER_zero(st) SKM_sk_zero(ASN1_INTEGER, (st)) -# define sk_ASN1_INTEGER_push(st, val) SKM_sk_push(ASN1_INTEGER, (st), (val)) -# define sk_ASN1_INTEGER_unshift(st, val) SKM_sk_unshift(ASN1_INTEGER, (st), (val)) -# define sk_ASN1_INTEGER_find(st, val) SKM_sk_find(ASN1_INTEGER, (st), (val)) -# define sk_ASN1_INTEGER_find_ex(st, val) SKM_sk_find_ex(ASN1_INTEGER, (st), (val)) -# define sk_ASN1_INTEGER_delete(st, i) SKM_sk_delete(ASN1_INTEGER, (st), (i)) -# define sk_ASN1_INTEGER_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_INTEGER, (st), (ptr)) -# define sk_ASN1_INTEGER_insert(st, val, i) SKM_sk_insert(ASN1_INTEGER, (st), (val), (i)) -# define sk_ASN1_INTEGER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_INTEGER, (st), (cmp)) -# define sk_ASN1_INTEGER_dup(st) SKM_sk_dup(ASN1_INTEGER, st) -# define sk_ASN1_INTEGER_pop_free(st, free_func) SKM_sk_pop_free(ASN1_INTEGER, (st), (free_func)) -# define sk_ASN1_INTEGER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_INTEGER, (st), (copy_func), (free_func)) -# define sk_ASN1_INTEGER_shift(st) SKM_sk_shift(ASN1_INTEGER, (st)) -# define sk_ASN1_INTEGER_pop(st) SKM_sk_pop(ASN1_INTEGER, (st)) -# define sk_ASN1_INTEGER_sort(st) SKM_sk_sort(ASN1_INTEGER, (st)) -# define sk_ASN1_INTEGER_is_sorted(st) SKM_sk_is_sorted(ASN1_INTEGER, (st)) -# define sk_ASN1_OBJECT_new(cmp) SKM_sk_new(ASN1_OBJECT, (cmp)) -# define sk_ASN1_OBJECT_new_null() SKM_sk_new_null(ASN1_OBJECT) -# define sk_ASN1_OBJECT_free(st) SKM_sk_free(ASN1_OBJECT, (st)) -# define sk_ASN1_OBJECT_num(st) SKM_sk_num(ASN1_OBJECT, (st)) -# define sk_ASN1_OBJECT_value(st, i) SKM_sk_value(ASN1_OBJECT, (st), (i)) -# define sk_ASN1_OBJECT_set(st, i, val) SKM_sk_set(ASN1_OBJECT, (st), (i), (val)) -# define sk_ASN1_OBJECT_zero(st) SKM_sk_zero(ASN1_OBJECT, (st)) -# define sk_ASN1_OBJECT_push(st, val) SKM_sk_push(ASN1_OBJECT, (st), (val)) -# define sk_ASN1_OBJECT_unshift(st, val) SKM_sk_unshift(ASN1_OBJECT, (st), (val)) -# define sk_ASN1_OBJECT_find(st, val) SKM_sk_find(ASN1_OBJECT, (st), (val)) -# define sk_ASN1_OBJECT_find_ex(st, val) SKM_sk_find_ex(ASN1_OBJECT, (st), (val)) -# define sk_ASN1_OBJECT_delete(st, i) SKM_sk_delete(ASN1_OBJECT, (st), (i)) -# define sk_ASN1_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_OBJECT, (st), (ptr)) -# define sk_ASN1_OBJECT_insert(st, val, i) SKM_sk_insert(ASN1_OBJECT, (st), (val), (i)) -# define sk_ASN1_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_OBJECT, (st), (cmp)) -# define sk_ASN1_OBJECT_dup(st) SKM_sk_dup(ASN1_OBJECT, st) -# define sk_ASN1_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(ASN1_OBJECT, (st), (free_func)) -# define sk_ASN1_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_OBJECT, (st), (copy_func), (free_func)) -# define sk_ASN1_OBJECT_shift(st) SKM_sk_shift(ASN1_OBJECT, (st)) -# define sk_ASN1_OBJECT_pop(st) SKM_sk_pop(ASN1_OBJECT, (st)) -# define sk_ASN1_OBJECT_sort(st) SKM_sk_sort(ASN1_OBJECT, (st)) -# define sk_ASN1_OBJECT_is_sorted(st) SKM_sk_is_sorted(ASN1_OBJECT, (st)) -# define sk_ASN1_STRING_TABLE_new(cmp) SKM_sk_new(ASN1_STRING_TABLE, (cmp)) -# define sk_ASN1_STRING_TABLE_new_null() SKM_sk_new_null(ASN1_STRING_TABLE) -# define sk_ASN1_STRING_TABLE_free(st) SKM_sk_free(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_num(st) SKM_sk_num(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_value(st, i) SKM_sk_value(ASN1_STRING_TABLE, (st), (i)) -# define sk_ASN1_STRING_TABLE_set(st, i, val) SKM_sk_set(ASN1_STRING_TABLE, (st), (i), (val)) -# define sk_ASN1_STRING_TABLE_zero(st) SKM_sk_zero(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_push(st, val) SKM_sk_push(ASN1_STRING_TABLE, (st), (val)) -# define sk_ASN1_STRING_TABLE_unshift(st, val) SKM_sk_unshift(ASN1_STRING_TABLE, (st), (val)) -# define sk_ASN1_STRING_TABLE_find(st, val) SKM_sk_find(ASN1_STRING_TABLE, (st), (val)) -# define sk_ASN1_STRING_TABLE_find_ex(st, val) SKM_sk_find_ex(ASN1_STRING_TABLE, (st), (val)) -# define sk_ASN1_STRING_TABLE_delete(st, i) SKM_sk_delete(ASN1_STRING_TABLE, (st), (i)) -# define sk_ASN1_STRING_TABLE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_STRING_TABLE, (st), (ptr)) -# define sk_ASN1_STRING_TABLE_insert(st, val, i) SKM_sk_insert(ASN1_STRING_TABLE, (st), (val), (i)) -# define sk_ASN1_STRING_TABLE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_STRING_TABLE, (st), (cmp)) -# define sk_ASN1_STRING_TABLE_dup(st) SKM_sk_dup(ASN1_STRING_TABLE, st) -# define sk_ASN1_STRING_TABLE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_STRING_TABLE, (st), (free_func)) -# define sk_ASN1_STRING_TABLE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_STRING_TABLE, (st), (copy_func), (free_func)) -# define sk_ASN1_STRING_TABLE_shift(st) SKM_sk_shift(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_pop(st) SKM_sk_pop(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_sort(st) SKM_sk_sort(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_is_sorted(st) SKM_sk_is_sorted(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_TYPE_new(cmp) SKM_sk_new(ASN1_TYPE, (cmp)) -# define sk_ASN1_TYPE_new_null() SKM_sk_new_null(ASN1_TYPE) -# define sk_ASN1_TYPE_free(st) SKM_sk_free(ASN1_TYPE, (st)) -# define sk_ASN1_TYPE_num(st) SKM_sk_num(ASN1_TYPE, (st)) -# define sk_ASN1_TYPE_value(st, i) SKM_sk_value(ASN1_TYPE, (st), (i)) -# define sk_ASN1_TYPE_set(st, i, val) SKM_sk_set(ASN1_TYPE, (st), (i), (val)) -# define sk_ASN1_TYPE_zero(st) SKM_sk_zero(ASN1_TYPE, (st)) -# define sk_ASN1_TYPE_push(st, val) SKM_sk_push(ASN1_TYPE, (st), (val)) -# define sk_ASN1_TYPE_unshift(st, val) SKM_sk_unshift(ASN1_TYPE, (st), (val)) -# define sk_ASN1_TYPE_find(st, val) SKM_sk_find(ASN1_TYPE, (st), (val)) -# define sk_ASN1_TYPE_find_ex(st, val) SKM_sk_find_ex(ASN1_TYPE, (st), (val)) -# define sk_ASN1_TYPE_delete(st, i) SKM_sk_delete(ASN1_TYPE, (st), (i)) -# define sk_ASN1_TYPE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_TYPE, (st), (ptr)) -# define sk_ASN1_TYPE_insert(st, val, i) SKM_sk_insert(ASN1_TYPE, (st), (val), (i)) -# define sk_ASN1_TYPE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_TYPE, (st), (cmp)) -# define sk_ASN1_TYPE_dup(st) SKM_sk_dup(ASN1_TYPE, st) -# define sk_ASN1_TYPE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_TYPE, (st), (free_func)) -# define sk_ASN1_TYPE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_TYPE, (st), (copy_func), (free_func)) -# define sk_ASN1_TYPE_shift(st) SKM_sk_shift(ASN1_TYPE, (st)) -# define sk_ASN1_TYPE_pop(st) SKM_sk_pop(ASN1_TYPE, (st)) -# define sk_ASN1_TYPE_sort(st) SKM_sk_sort(ASN1_TYPE, (st)) -# define sk_ASN1_TYPE_is_sorted(st) SKM_sk_is_sorted(ASN1_TYPE, (st)) -# define sk_ASN1_UTF8STRING_new(cmp) SKM_sk_new(ASN1_UTF8STRING, (cmp)) -# define sk_ASN1_UTF8STRING_new_null() SKM_sk_new_null(ASN1_UTF8STRING) -# define sk_ASN1_UTF8STRING_free(st) SKM_sk_free(ASN1_UTF8STRING, (st)) -# define sk_ASN1_UTF8STRING_num(st) SKM_sk_num(ASN1_UTF8STRING, (st)) -# define sk_ASN1_UTF8STRING_value(st, i) SKM_sk_value(ASN1_UTF8STRING, (st), (i)) -# define sk_ASN1_UTF8STRING_set(st, i, val) SKM_sk_set(ASN1_UTF8STRING, (st), (i), (val)) -# define sk_ASN1_UTF8STRING_zero(st) SKM_sk_zero(ASN1_UTF8STRING, (st)) -# define sk_ASN1_UTF8STRING_push(st, val) SKM_sk_push(ASN1_UTF8STRING, (st), (val)) -# define sk_ASN1_UTF8STRING_unshift(st, val) SKM_sk_unshift(ASN1_UTF8STRING, (st), (val)) -# define sk_ASN1_UTF8STRING_find(st, val) SKM_sk_find(ASN1_UTF8STRING, (st), (val)) -# define sk_ASN1_UTF8STRING_find_ex(st, val) SKM_sk_find_ex(ASN1_UTF8STRING, (st), (val)) -# define sk_ASN1_UTF8STRING_delete(st, i) SKM_sk_delete(ASN1_UTF8STRING, (st), (i)) -# define sk_ASN1_UTF8STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_UTF8STRING, (st), (ptr)) -# define sk_ASN1_UTF8STRING_insert(st, val, i) SKM_sk_insert(ASN1_UTF8STRING, (st), (val), (i)) -# define sk_ASN1_UTF8STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_UTF8STRING, (st), (cmp)) -# define sk_ASN1_UTF8STRING_dup(st) SKM_sk_dup(ASN1_UTF8STRING, st) -# define sk_ASN1_UTF8STRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_UTF8STRING, (st), (free_func)) -# define sk_ASN1_UTF8STRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_UTF8STRING, (st), (copy_func), (free_func)) -# define sk_ASN1_UTF8STRING_shift(st) SKM_sk_shift(ASN1_UTF8STRING, (st)) -# define sk_ASN1_UTF8STRING_pop(st) SKM_sk_pop(ASN1_UTF8STRING, (st)) -# define sk_ASN1_UTF8STRING_sort(st) SKM_sk_sort(ASN1_UTF8STRING, (st)) -# define sk_ASN1_UTF8STRING_is_sorted(st) SKM_sk_is_sorted(ASN1_UTF8STRING, (st)) -# define sk_ASN1_VALUE_new(cmp) SKM_sk_new(ASN1_VALUE, (cmp)) -# define sk_ASN1_VALUE_new_null() SKM_sk_new_null(ASN1_VALUE) -# define sk_ASN1_VALUE_free(st) SKM_sk_free(ASN1_VALUE, (st)) -# define sk_ASN1_VALUE_num(st) SKM_sk_num(ASN1_VALUE, (st)) -# define sk_ASN1_VALUE_value(st, i) SKM_sk_value(ASN1_VALUE, (st), (i)) -# define sk_ASN1_VALUE_set(st, i, val) SKM_sk_set(ASN1_VALUE, (st), (i), (val)) -# define sk_ASN1_VALUE_zero(st) SKM_sk_zero(ASN1_VALUE, (st)) -# define sk_ASN1_VALUE_push(st, val) SKM_sk_push(ASN1_VALUE, (st), (val)) -# define sk_ASN1_VALUE_unshift(st, val) SKM_sk_unshift(ASN1_VALUE, (st), (val)) -# define sk_ASN1_VALUE_find(st, val) SKM_sk_find(ASN1_VALUE, (st), (val)) -# define sk_ASN1_VALUE_find_ex(st, val) SKM_sk_find_ex(ASN1_VALUE, (st), (val)) -# define sk_ASN1_VALUE_delete(st, i) SKM_sk_delete(ASN1_VALUE, (st), (i)) -# define sk_ASN1_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_VALUE, (st), (ptr)) -# define sk_ASN1_VALUE_insert(st, val, i) SKM_sk_insert(ASN1_VALUE, (st), (val), (i)) -# define sk_ASN1_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_VALUE, (st), (cmp)) -# define sk_ASN1_VALUE_dup(st) SKM_sk_dup(ASN1_VALUE, st) -# define sk_ASN1_VALUE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_VALUE, (st), (free_func)) -# define sk_ASN1_VALUE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_VALUE, (st), (copy_func), (free_func)) -# define sk_ASN1_VALUE_shift(st) SKM_sk_shift(ASN1_VALUE, (st)) -# define sk_ASN1_VALUE_pop(st) SKM_sk_pop(ASN1_VALUE, (st)) -# define sk_ASN1_VALUE_sort(st) SKM_sk_sort(ASN1_VALUE, (st)) -# define sk_ASN1_VALUE_is_sorted(st) SKM_sk_is_sorted(ASN1_VALUE, (st)) -# define sk_BIO_new(cmp) SKM_sk_new(BIO, (cmp)) -# define sk_BIO_new_null() SKM_sk_new_null(BIO) -# define sk_BIO_free(st) SKM_sk_free(BIO, (st)) -# define sk_BIO_num(st) SKM_sk_num(BIO, (st)) -# define sk_BIO_value(st, i) SKM_sk_value(BIO, (st), (i)) -# define sk_BIO_set(st, i, val) SKM_sk_set(BIO, (st), (i), (val)) -# define sk_BIO_zero(st) SKM_sk_zero(BIO, (st)) -# define sk_BIO_push(st, val) SKM_sk_push(BIO, (st), (val)) -# define sk_BIO_unshift(st, val) SKM_sk_unshift(BIO, (st), (val)) -# define sk_BIO_find(st, val) SKM_sk_find(BIO, (st), (val)) -# define sk_BIO_find_ex(st, val) SKM_sk_find_ex(BIO, (st), (val)) -# define sk_BIO_delete(st, i) SKM_sk_delete(BIO, (st), (i)) -# define sk_BIO_delete_ptr(st, ptr) SKM_sk_delete_ptr(BIO, (st), (ptr)) -# define sk_BIO_insert(st, val, i) SKM_sk_insert(BIO, (st), (val), (i)) -# define sk_BIO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BIO, (st), (cmp)) -# define sk_BIO_dup(st) SKM_sk_dup(BIO, st) -# define sk_BIO_pop_free(st, free_func) SKM_sk_pop_free(BIO, (st), (free_func)) -# define sk_BIO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BIO, (st), (copy_func), (free_func)) -# define sk_BIO_shift(st) SKM_sk_shift(BIO, (st)) -# define sk_BIO_pop(st) SKM_sk_pop(BIO, (st)) -# define sk_BIO_sort(st) SKM_sk_sort(BIO, (st)) -# define sk_BIO_is_sorted(st) SKM_sk_is_sorted(BIO, (st)) -# define sk_BY_DIR_ENTRY_new(cmp) SKM_sk_new(BY_DIR_ENTRY, (cmp)) -# define sk_BY_DIR_ENTRY_new_null() SKM_sk_new_null(BY_DIR_ENTRY) -# define sk_BY_DIR_ENTRY_free(st) SKM_sk_free(BY_DIR_ENTRY, (st)) -# define sk_BY_DIR_ENTRY_num(st) SKM_sk_num(BY_DIR_ENTRY, (st)) -# define sk_BY_DIR_ENTRY_value(st, i) SKM_sk_value(BY_DIR_ENTRY, (st), (i)) -# define sk_BY_DIR_ENTRY_set(st, i, val) SKM_sk_set(BY_DIR_ENTRY, (st), (i), (val)) -# define sk_BY_DIR_ENTRY_zero(st) SKM_sk_zero(BY_DIR_ENTRY, (st)) -# define sk_BY_DIR_ENTRY_push(st, val) SKM_sk_push(BY_DIR_ENTRY, (st), (val)) -# define sk_BY_DIR_ENTRY_unshift(st, val) SKM_sk_unshift(BY_DIR_ENTRY, (st), (val)) -# define sk_BY_DIR_ENTRY_find(st, val) SKM_sk_find(BY_DIR_ENTRY, (st), (val)) -# define sk_BY_DIR_ENTRY_find_ex(st, val) SKM_sk_find_ex(BY_DIR_ENTRY, (st), (val)) -# define sk_BY_DIR_ENTRY_delete(st, i) SKM_sk_delete(BY_DIR_ENTRY, (st), (i)) -# define sk_BY_DIR_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_ENTRY, (st), (ptr)) -# define sk_BY_DIR_ENTRY_insert(st, val, i) SKM_sk_insert(BY_DIR_ENTRY, (st), (val), (i)) -# define sk_BY_DIR_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_ENTRY, (st), (cmp)) -# define sk_BY_DIR_ENTRY_dup(st) SKM_sk_dup(BY_DIR_ENTRY, st) -# define sk_BY_DIR_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_ENTRY, (st), (free_func)) -# define sk_BY_DIR_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BY_DIR_ENTRY, (st), (copy_func), (free_func)) -# define sk_BY_DIR_ENTRY_shift(st) SKM_sk_shift(BY_DIR_ENTRY, (st)) -# define sk_BY_DIR_ENTRY_pop(st) SKM_sk_pop(BY_DIR_ENTRY, (st)) -# define sk_BY_DIR_ENTRY_sort(st) SKM_sk_sort(BY_DIR_ENTRY, (st)) -# define sk_BY_DIR_ENTRY_is_sorted(st) SKM_sk_is_sorted(BY_DIR_ENTRY, (st)) -# define sk_BY_DIR_HASH_new(cmp) SKM_sk_new(BY_DIR_HASH, (cmp)) -# define sk_BY_DIR_HASH_new_null() SKM_sk_new_null(BY_DIR_HASH) -# define sk_BY_DIR_HASH_free(st) SKM_sk_free(BY_DIR_HASH, (st)) -# define sk_BY_DIR_HASH_num(st) SKM_sk_num(BY_DIR_HASH, (st)) -# define sk_BY_DIR_HASH_value(st, i) SKM_sk_value(BY_DIR_HASH, (st), (i)) -# define sk_BY_DIR_HASH_set(st, i, val) SKM_sk_set(BY_DIR_HASH, (st), (i), (val)) -# define sk_BY_DIR_HASH_zero(st) SKM_sk_zero(BY_DIR_HASH, (st)) -# define sk_BY_DIR_HASH_push(st, val) SKM_sk_push(BY_DIR_HASH, (st), (val)) -# define sk_BY_DIR_HASH_unshift(st, val) SKM_sk_unshift(BY_DIR_HASH, (st), (val)) -# define sk_BY_DIR_HASH_find(st, val) SKM_sk_find(BY_DIR_HASH, (st), (val)) -# define sk_BY_DIR_HASH_find_ex(st, val) SKM_sk_find_ex(BY_DIR_HASH, (st), (val)) -# define sk_BY_DIR_HASH_delete(st, i) SKM_sk_delete(BY_DIR_HASH, (st), (i)) -# define sk_BY_DIR_HASH_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_HASH, (st), (ptr)) -# define sk_BY_DIR_HASH_insert(st, val, i) SKM_sk_insert(BY_DIR_HASH, (st), (val), (i)) -# define sk_BY_DIR_HASH_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_HASH, (st), (cmp)) -# define sk_BY_DIR_HASH_dup(st) SKM_sk_dup(BY_DIR_HASH, st) -# define sk_BY_DIR_HASH_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_HASH, (st), (free_func)) -# define sk_BY_DIR_HASH_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BY_DIR_HASH, (st), (copy_func), (free_func)) -# define sk_BY_DIR_HASH_shift(st) SKM_sk_shift(BY_DIR_HASH, (st)) -# define sk_BY_DIR_HASH_pop(st) SKM_sk_pop(BY_DIR_HASH, (st)) -# define sk_BY_DIR_HASH_sort(st) SKM_sk_sort(BY_DIR_HASH, (st)) -# define sk_BY_DIR_HASH_is_sorted(st) SKM_sk_is_sorted(BY_DIR_HASH, (st)) -# define sk_CMS_CertificateChoices_new(cmp) SKM_sk_new(CMS_CertificateChoices, (cmp)) -# define sk_CMS_CertificateChoices_new_null() SKM_sk_new_null(CMS_CertificateChoices) -# define sk_CMS_CertificateChoices_free(st) SKM_sk_free(CMS_CertificateChoices, (st)) -# define sk_CMS_CertificateChoices_num(st) SKM_sk_num(CMS_CertificateChoices, (st)) -# define sk_CMS_CertificateChoices_value(st, i) SKM_sk_value(CMS_CertificateChoices, (st), (i)) -# define sk_CMS_CertificateChoices_set(st, i, val) SKM_sk_set(CMS_CertificateChoices, (st), (i), (val)) -# define sk_CMS_CertificateChoices_zero(st) SKM_sk_zero(CMS_CertificateChoices, (st)) -# define sk_CMS_CertificateChoices_push(st, val) SKM_sk_push(CMS_CertificateChoices, (st), (val)) -# define sk_CMS_CertificateChoices_unshift(st, val) SKM_sk_unshift(CMS_CertificateChoices, (st), (val)) -# define sk_CMS_CertificateChoices_find(st, val) SKM_sk_find(CMS_CertificateChoices, (st), (val)) -# define sk_CMS_CertificateChoices_find_ex(st, val) SKM_sk_find_ex(CMS_CertificateChoices, (st), (val)) -# define sk_CMS_CertificateChoices_delete(st, i) SKM_sk_delete(CMS_CertificateChoices, (st), (i)) -# define sk_CMS_CertificateChoices_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_CertificateChoices, (st), (ptr)) -# define sk_CMS_CertificateChoices_insert(st, val, i) SKM_sk_insert(CMS_CertificateChoices, (st), (val), (i)) -# define sk_CMS_CertificateChoices_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_CertificateChoices, (st), (cmp)) -# define sk_CMS_CertificateChoices_dup(st) SKM_sk_dup(CMS_CertificateChoices, st) -# define sk_CMS_CertificateChoices_pop_free(st, free_func) SKM_sk_pop_free(CMS_CertificateChoices, (st), (free_func)) -# define sk_CMS_CertificateChoices_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_CertificateChoices, (st), (copy_func), (free_func)) -# define sk_CMS_CertificateChoices_shift(st) SKM_sk_shift(CMS_CertificateChoices, (st)) -# define sk_CMS_CertificateChoices_pop(st) SKM_sk_pop(CMS_CertificateChoices, (st)) -# define sk_CMS_CertificateChoices_sort(st) SKM_sk_sort(CMS_CertificateChoices, (st)) -# define sk_CMS_CertificateChoices_is_sorted(st) SKM_sk_is_sorted(CMS_CertificateChoices, (st)) -# define sk_CMS_RecipientEncryptedKey_new(cmp) SKM_sk_new(CMS_RecipientEncryptedKey, (cmp)) -# define sk_CMS_RecipientEncryptedKey_new_null() SKM_sk_new_null(CMS_RecipientEncryptedKey) -# define sk_CMS_RecipientEncryptedKey_free(st) SKM_sk_free(CMS_RecipientEncryptedKey, (st)) -# define sk_CMS_RecipientEncryptedKey_num(st) SKM_sk_num(CMS_RecipientEncryptedKey, (st)) -# define sk_CMS_RecipientEncryptedKey_value(st, i) SKM_sk_value(CMS_RecipientEncryptedKey, (st), (i)) -# define sk_CMS_RecipientEncryptedKey_set(st, i, val) SKM_sk_set(CMS_RecipientEncryptedKey, (st), (i), (val)) -# define sk_CMS_RecipientEncryptedKey_zero(st) SKM_sk_zero(CMS_RecipientEncryptedKey, (st)) -# define sk_CMS_RecipientEncryptedKey_push(st, val) SKM_sk_push(CMS_RecipientEncryptedKey, (st), (val)) -# define sk_CMS_RecipientEncryptedKey_unshift(st, val) SKM_sk_unshift(CMS_RecipientEncryptedKey, (st), (val)) -# define sk_CMS_RecipientEncryptedKey_find(st, val) SKM_sk_find(CMS_RecipientEncryptedKey, (st), (val)) -# define sk_CMS_RecipientEncryptedKey_find_ex(st, val) SKM_sk_find_ex(CMS_RecipientEncryptedKey, (st), (val)) -# define sk_CMS_RecipientEncryptedKey_delete(st, i) SKM_sk_delete(CMS_RecipientEncryptedKey, (st), (i)) -# define sk_CMS_RecipientEncryptedKey_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientEncryptedKey, (st), (ptr)) -# define sk_CMS_RecipientEncryptedKey_insert(st, val, i) SKM_sk_insert(CMS_RecipientEncryptedKey, (st), (val), (i)) -# define sk_CMS_RecipientEncryptedKey_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientEncryptedKey, (st), (cmp)) -# define sk_CMS_RecipientEncryptedKey_dup(st) SKM_sk_dup(CMS_RecipientEncryptedKey, st) -# define sk_CMS_RecipientEncryptedKey_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientEncryptedKey, (st), (free_func)) -# define sk_CMS_RecipientEncryptedKey_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RecipientEncryptedKey, (st), (copy_func), (free_func)) -# define sk_CMS_RecipientEncryptedKey_shift(st) SKM_sk_shift(CMS_RecipientEncryptedKey, (st)) -# define sk_CMS_RecipientEncryptedKey_pop(st) SKM_sk_pop(CMS_RecipientEncryptedKey, (st)) -# define sk_CMS_RecipientEncryptedKey_sort(st) SKM_sk_sort(CMS_RecipientEncryptedKey, (st)) -# define sk_CMS_RecipientEncryptedKey_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientEncryptedKey, (st)) -# define sk_CMS_RecipientInfo_new(cmp) SKM_sk_new(CMS_RecipientInfo, (cmp)) -# define sk_CMS_RecipientInfo_new_null() SKM_sk_new_null(CMS_RecipientInfo) -# define sk_CMS_RecipientInfo_free(st) SKM_sk_free(CMS_RecipientInfo, (st)) -# define sk_CMS_RecipientInfo_num(st) SKM_sk_num(CMS_RecipientInfo, (st)) -# define sk_CMS_RecipientInfo_value(st, i) SKM_sk_value(CMS_RecipientInfo, (st), (i)) -# define sk_CMS_RecipientInfo_set(st, i, val) SKM_sk_set(CMS_RecipientInfo, (st), (i), (val)) -# define sk_CMS_RecipientInfo_zero(st) SKM_sk_zero(CMS_RecipientInfo, (st)) -# define sk_CMS_RecipientInfo_push(st, val) SKM_sk_push(CMS_RecipientInfo, (st), (val)) -# define sk_CMS_RecipientInfo_unshift(st, val) SKM_sk_unshift(CMS_RecipientInfo, (st), (val)) -# define sk_CMS_RecipientInfo_find(st, val) SKM_sk_find(CMS_RecipientInfo, (st), (val)) -# define sk_CMS_RecipientInfo_find_ex(st, val) SKM_sk_find_ex(CMS_RecipientInfo, (st), (val)) -# define sk_CMS_RecipientInfo_delete(st, i) SKM_sk_delete(CMS_RecipientInfo, (st), (i)) -# define sk_CMS_RecipientInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientInfo, (st), (ptr)) -# define sk_CMS_RecipientInfo_insert(st, val, i) SKM_sk_insert(CMS_RecipientInfo, (st), (val), (i)) -# define sk_CMS_RecipientInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientInfo, (st), (cmp)) -# define sk_CMS_RecipientInfo_dup(st) SKM_sk_dup(CMS_RecipientInfo, st) -# define sk_CMS_RecipientInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientInfo, (st), (free_func)) -# define sk_CMS_RecipientInfo_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RecipientInfo, (st), (copy_func), (free_func)) -# define sk_CMS_RecipientInfo_shift(st) SKM_sk_shift(CMS_RecipientInfo, (st)) -# define sk_CMS_RecipientInfo_pop(st) SKM_sk_pop(CMS_RecipientInfo, (st)) -# define sk_CMS_RecipientInfo_sort(st) SKM_sk_sort(CMS_RecipientInfo, (st)) -# define sk_CMS_RecipientInfo_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientInfo, (st)) -# define sk_CMS_RevocationInfoChoice_new(cmp) SKM_sk_new(CMS_RevocationInfoChoice, (cmp)) -# define sk_CMS_RevocationInfoChoice_new_null() SKM_sk_new_null(CMS_RevocationInfoChoice) -# define sk_CMS_RevocationInfoChoice_free(st) SKM_sk_free(CMS_RevocationInfoChoice, (st)) -# define sk_CMS_RevocationInfoChoice_num(st) SKM_sk_num(CMS_RevocationInfoChoice, (st)) -# define sk_CMS_RevocationInfoChoice_value(st, i) SKM_sk_value(CMS_RevocationInfoChoice, (st), (i)) -# define sk_CMS_RevocationInfoChoice_set(st, i, val) SKM_sk_set(CMS_RevocationInfoChoice, (st), (i), (val)) -# define sk_CMS_RevocationInfoChoice_zero(st) SKM_sk_zero(CMS_RevocationInfoChoice, (st)) -# define sk_CMS_RevocationInfoChoice_push(st, val) SKM_sk_push(CMS_RevocationInfoChoice, (st), (val)) -# define sk_CMS_RevocationInfoChoice_unshift(st, val) SKM_sk_unshift(CMS_RevocationInfoChoice, (st), (val)) -# define sk_CMS_RevocationInfoChoice_find(st, val) SKM_sk_find(CMS_RevocationInfoChoice, (st), (val)) -# define sk_CMS_RevocationInfoChoice_find_ex(st, val) SKM_sk_find_ex(CMS_RevocationInfoChoice, (st), (val)) -# define sk_CMS_RevocationInfoChoice_delete(st, i) SKM_sk_delete(CMS_RevocationInfoChoice, (st), (i)) -# define sk_CMS_RevocationInfoChoice_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RevocationInfoChoice, (st), (ptr)) -# define sk_CMS_RevocationInfoChoice_insert(st, val, i) SKM_sk_insert(CMS_RevocationInfoChoice, (st), (val), (i)) -# define sk_CMS_RevocationInfoChoice_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RevocationInfoChoice, (st), (cmp)) -# define sk_CMS_RevocationInfoChoice_dup(st) SKM_sk_dup(CMS_RevocationInfoChoice, st) -# define sk_CMS_RevocationInfoChoice_pop_free(st, free_func) SKM_sk_pop_free(CMS_RevocationInfoChoice, (st), (free_func)) -# define sk_CMS_RevocationInfoChoice_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RevocationInfoChoice, (st), (copy_func), (free_func)) -# define sk_CMS_RevocationInfoChoice_shift(st) SKM_sk_shift(CMS_RevocationInfoChoice, (st)) -# define sk_CMS_RevocationInfoChoice_pop(st) SKM_sk_pop(CMS_RevocationInfoChoice, (st)) -# define sk_CMS_RevocationInfoChoice_sort(st) SKM_sk_sort(CMS_RevocationInfoChoice, (st)) -# define sk_CMS_RevocationInfoChoice_is_sorted(st) SKM_sk_is_sorted(CMS_RevocationInfoChoice, (st)) -# define sk_CMS_SignerInfo_new(cmp) SKM_sk_new(CMS_SignerInfo, (cmp)) -# define sk_CMS_SignerInfo_new_null() SKM_sk_new_null(CMS_SignerInfo) -# define sk_CMS_SignerInfo_free(st) SKM_sk_free(CMS_SignerInfo, (st)) -# define sk_CMS_SignerInfo_num(st) SKM_sk_num(CMS_SignerInfo, (st)) -# define sk_CMS_SignerInfo_value(st, i) SKM_sk_value(CMS_SignerInfo, (st), (i)) -# define sk_CMS_SignerInfo_set(st, i, val) SKM_sk_set(CMS_SignerInfo, (st), (i), (val)) -# define sk_CMS_SignerInfo_zero(st) SKM_sk_zero(CMS_SignerInfo, (st)) -# define sk_CMS_SignerInfo_push(st, val) SKM_sk_push(CMS_SignerInfo, (st), (val)) -# define sk_CMS_SignerInfo_unshift(st, val) SKM_sk_unshift(CMS_SignerInfo, (st), (val)) -# define sk_CMS_SignerInfo_find(st, val) SKM_sk_find(CMS_SignerInfo, (st), (val)) -# define sk_CMS_SignerInfo_find_ex(st, val) SKM_sk_find_ex(CMS_SignerInfo, (st), (val)) -# define sk_CMS_SignerInfo_delete(st, i) SKM_sk_delete(CMS_SignerInfo, (st), (i)) -# define sk_CMS_SignerInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_SignerInfo, (st), (ptr)) -# define sk_CMS_SignerInfo_insert(st, val, i) SKM_sk_insert(CMS_SignerInfo, (st), (val), (i)) -# define sk_CMS_SignerInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_SignerInfo, (st), (cmp)) -# define sk_CMS_SignerInfo_dup(st) SKM_sk_dup(CMS_SignerInfo, st) -# define sk_CMS_SignerInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_SignerInfo, (st), (free_func)) -# define sk_CMS_SignerInfo_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_SignerInfo, (st), (copy_func), (free_func)) -# define sk_CMS_SignerInfo_shift(st) SKM_sk_shift(CMS_SignerInfo, (st)) -# define sk_CMS_SignerInfo_pop(st) SKM_sk_pop(CMS_SignerInfo, (st)) -# define sk_CMS_SignerInfo_sort(st) SKM_sk_sort(CMS_SignerInfo, (st)) -# define sk_CMS_SignerInfo_is_sorted(st) SKM_sk_is_sorted(CMS_SignerInfo, (st)) -# define sk_CONF_IMODULE_new(cmp) SKM_sk_new(CONF_IMODULE, (cmp)) -# define sk_CONF_IMODULE_new_null() SKM_sk_new_null(CONF_IMODULE) -# define sk_CONF_IMODULE_free(st) SKM_sk_free(CONF_IMODULE, (st)) -# define sk_CONF_IMODULE_num(st) SKM_sk_num(CONF_IMODULE, (st)) -# define sk_CONF_IMODULE_value(st, i) SKM_sk_value(CONF_IMODULE, (st), (i)) -# define sk_CONF_IMODULE_set(st, i, val) SKM_sk_set(CONF_IMODULE, (st), (i), (val)) -# define sk_CONF_IMODULE_zero(st) SKM_sk_zero(CONF_IMODULE, (st)) -# define sk_CONF_IMODULE_push(st, val) SKM_sk_push(CONF_IMODULE, (st), (val)) -# define sk_CONF_IMODULE_unshift(st, val) SKM_sk_unshift(CONF_IMODULE, (st), (val)) -# define sk_CONF_IMODULE_find(st, val) SKM_sk_find(CONF_IMODULE, (st), (val)) -# define sk_CONF_IMODULE_find_ex(st, val) SKM_sk_find_ex(CONF_IMODULE, (st), (val)) -# define sk_CONF_IMODULE_delete(st, i) SKM_sk_delete(CONF_IMODULE, (st), (i)) -# define sk_CONF_IMODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_IMODULE, (st), (ptr)) -# define sk_CONF_IMODULE_insert(st, val, i) SKM_sk_insert(CONF_IMODULE, (st), (val), (i)) -# define sk_CONF_IMODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_IMODULE, (st), (cmp)) -# define sk_CONF_IMODULE_dup(st) SKM_sk_dup(CONF_IMODULE, st) -# define sk_CONF_IMODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_IMODULE, (st), (free_func)) -# define sk_CONF_IMODULE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_IMODULE, (st), (copy_func), (free_func)) -# define sk_CONF_IMODULE_shift(st) SKM_sk_shift(CONF_IMODULE, (st)) -# define sk_CONF_IMODULE_pop(st) SKM_sk_pop(CONF_IMODULE, (st)) -# define sk_CONF_IMODULE_sort(st) SKM_sk_sort(CONF_IMODULE, (st)) -# define sk_CONF_IMODULE_is_sorted(st) SKM_sk_is_sorted(CONF_IMODULE, (st)) -# define sk_CONF_MODULE_new(cmp) SKM_sk_new(CONF_MODULE, (cmp)) -# define sk_CONF_MODULE_new_null() SKM_sk_new_null(CONF_MODULE) -# define sk_CONF_MODULE_free(st) SKM_sk_free(CONF_MODULE, (st)) -# define sk_CONF_MODULE_num(st) SKM_sk_num(CONF_MODULE, (st)) -# define sk_CONF_MODULE_value(st, i) SKM_sk_value(CONF_MODULE, (st), (i)) -# define sk_CONF_MODULE_set(st, i, val) SKM_sk_set(CONF_MODULE, (st), (i), (val)) -# define sk_CONF_MODULE_zero(st) SKM_sk_zero(CONF_MODULE, (st)) -# define sk_CONF_MODULE_push(st, val) SKM_sk_push(CONF_MODULE, (st), (val)) -# define sk_CONF_MODULE_unshift(st, val) SKM_sk_unshift(CONF_MODULE, (st), (val)) -# define sk_CONF_MODULE_find(st, val) SKM_sk_find(CONF_MODULE, (st), (val)) -# define sk_CONF_MODULE_find_ex(st, val) SKM_sk_find_ex(CONF_MODULE, (st), (val)) -# define sk_CONF_MODULE_delete(st, i) SKM_sk_delete(CONF_MODULE, (st), (i)) -# define sk_CONF_MODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_MODULE, (st), (ptr)) -# define sk_CONF_MODULE_insert(st, val, i) SKM_sk_insert(CONF_MODULE, (st), (val), (i)) -# define sk_CONF_MODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_MODULE, (st), (cmp)) -# define sk_CONF_MODULE_dup(st) SKM_sk_dup(CONF_MODULE, st) -# define sk_CONF_MODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_MODULE, (st), (free_func)) -# define sk_CONF_MODULE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_MODULE, (st), (copy_func), (free_func)) -# define sk_CONF_MODULE_shift(st) SKM_sk_shift(CONF_MODULE, (st)) -# define sk_CONF_MODULE_pop(st) SKM_sk_pop(CONF_MODULE, (st)) -# define sk_CONF_MODULE_sort(st) SKM_sk_sort(CONF_MODULE, (st)) -# define sk_CONF_MODULE_is_sorted(st) SKM_sk_is_sorted(CONF_MODULE, (st)) -# define sk_CONF_VALUE_new(cmp) SKM_sk_new(CONF_VALUE, (cmp)) -# define sk_CONF_VALUE_new_null() SKM_sk_new_null(CONF_VALUE) -# define sk_CONF_VALUE_free(st) SKM_sk_free(CONF_VALUE, (st)) -# define sk_CONF_VALUE_num(st) SKM_sk_num(CONF_VALUE, (st)) -# define sk_CONF_VALUE_value(st, i) SKM_sk_value(CONF_VALUE, (st), (i)) -# define sk_CONF_VALUE_set(st, i, val) SKM_sk_set(CONF_VALUE, (st), (i), (val)) -# define sk_CONF_VALUE_zero(st) SKM_sk_zero(CONF_VALUE, (st)) -# define sk_CONF_VALUE_push(st, val) SKM_sk_push(CONF_VALUE, (st), (val)) -# define sk_CONF_VALUE_unshift(st, val) SKM_sk_unshift(CONF_VALUE, (st), (val)) -# define sk_CONF_VALUE_find(st, val) SKM_sk_find(CONF_VALUE, (st), (val)) -# define sk_CONF_VALUE_find_ex(st, val) SKM_sk_find_ex(CONF_VALUE, (st), (val)) -# define sk_CONF_VALUE_delete(st, i) SKM_sk_delete(CONF_VALUE, (st), (i)) -# define sk_CONF_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_VALUE, (st), (ptr)) -# define sk_CONF_VALUE_insert(st, val, i) SKM_sk_insert(CONF_VALUE, (st), (val), (i)) -# define sk_CONF_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_VALUE, (st), (cmp)) -# define sk_CONF_VALUE_dup(st) SKM_sk_dup(CONF_VALUE, st) -# define sk_CONF_VALUE_pop_free(st, free_func) SKM_sk_pop_free(CONF_VALUE, (st), (free_func)) -# define sk_CONF_VALUE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_VALUE, (st), (copy_func), (free_func)) -# define sk_CONF_VALUE_shift(st) SKM_sk_shift(CONF_VALUE, (st)) -# define sk_CONF_VALUE_pop(st) SKM_sk_pop(CONF_VALUE, (st)) -# define sk_CONF_VALUE_sort(st) SKM_sk_sort(CONF_VALUE, (st)) -# define sk_CONF_VALUE_is_sorted(st) SKM_sk_is_sorted(CONF_VALUE, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_new(cmp) SKM_sk_new(CRYPTO_EX_DATA_FUNCS, (cmp)) -# define sk_CRYPTO_EX_DATA_FUNCS_new_null() SKM_sk_new_null(CRYPTO_EX_DATA_FUNCS) -# define sk_CRYPTO_EX_DATA_FUNCS_free(st) SKM_sk_free(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_num(st) SKM_sk_num(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_value(st, i) SKM_sk_value(CRYPTO_EX_DATA_FUNCS, (st), (i)) -# define sk_CRYPTO_EX_DATA_FUNCS_set(st, i, val) SKM_sk_set(CRYPTO_EX_DATA_FUNCS, (st), (i), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_zero(st) SKM_sk_zero(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_push(st, val) SKM_sk_push(CRYPTO_EX_DATA_FUNCS, (st), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_unshift(st, val) SKM_sk_unshift(CRYPTO_EX_DATA_FUNCS, (st), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_find(st, val) SKM_sk_find(CRYPTO_EX_DATA_FUNCS, (st), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_find_ex(st, val) SKM_sk_find_ex(CRYPTO_EX_DATA_FUNCS, (st), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_delete(st, i) SKM_sk_delete(CRYPTO_EX_DATA_FUNCS, (st), (i)) -# define sk_CRYPTO_EX_DATA_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_EX_DATA_FUNCS, (st), (ptr)) -# define sk_CRYPTO_EX_DATA_FUNCS_insert(st, val, i) SKM_sk_insert(CRYPTO_EX_DATA_FUNCS, (st), (val), (i)) -# define sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_EX_DATA_FUNCS, (st), (cmp)) -# define sk_CRYPTO_EX_DATA_FUNCS_dup(st) SKM_sk_dup(CRYPTO_EX_DATA_FUNCS, st) -# define sk_CRYPTO_EX_DATA_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_EX_DATA_FUNCS, (st), (free_func)) -# define sk_CRYPTO_EX_DATA_FUNCS_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CRYPTO_EX_DATA_FUNCS, (st), (copy_func), (free_func)) -# define sk_CRYPTO_EX_DATA_FUNCS_shift(st) SKM_sk_shift(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_pop(st) SKM_sk_pop(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_sort(st) SKM_sk_sort(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_is_sorted(st) SKM_sk_is_sorted(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_dynlock_new(cmp) SKM_sk_new(CRYPTO_dynlock, (cmp)) -# define sk_CRYPTO_dynlock_new_null() SKM_sk_new_null(CRYPTO_dynlock) -# define sk_CRYPTO_dynlock_free(st) SKM_sk_free(CRYPTO_dynlock, (st)) -# define sk_CRYPTO_dynlock_num(st) SKM_sk_num(CRYPTO_dynlock, (st)) -# define sk_CRYPTO_dynlock_value(st, i) SKM_sk_value(CRYPTO_dynlock, (st), (i)) -# define sk_CRYPTO_dynlock_set(st, i, val) SKM_sk_set(CRYPTO_dynlock, (st), (i), (val)) -# define sk_CRYPTO_dynlock_zero(st) SKM_sk_zero(CRYPTO_dynlock, (st)) -# define sk_CRYPTO_dynlock_push(st, val) SKM_sk_push(CRYPTO_dynlock, (st), (val)) -# define sk_CRYPTO_dynlock_unshift(st, val) SKM_sk_unshift(CRYPTO_dynlock, (st), (val)) -# define sk_CRYPTO_dynlock_find(st, val) SKM_sk_find(CRYPTO_dynlock, (st), (val)) -# define sk_CRYPTO_dynlock_find_ex(st, val) SKM_sk_find_ex(CRYPTO_dynlock, (st), (val)) -# define sk_CRYPTO_dynlock_delete(st, i) SKM_sk_delete(CRYPTO_dynlock, (st), (i)) -# define sk_CRYPTO_dynlock_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_dynlock, (st), (ptr)) -# define sk_CRYPTO_dynlock_insert(st, val, i) SKM_sk_insert(CRYPTO_dynlock, (st), (val), (i)) -# define sk_CRYPTO_dynlock_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_dynlock, (st), (cmp)) -# define sk_CRYPTO_dynlock_dup(st) SKM_sk_dup(CRYPTO_dynlock, st) -# define sk_CRYPTO_dynlock_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_dynlock, (st), (free_func)) -# define sk_CRYPTO_dynlock_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CRYPTO_dynlock, (st), (copy_func), (free_func)) -# define sk_CRYPTO_dynlock_shift(st) SKM_sk_shift(CRYPTO_dynlock, (st)) -# define sk_CRYPTO_dynlock_pop(st) SKM_sk_pop(CRYPTO_dynlock, (st)) -# define sk_CRYPTO_dynlock_sort(st) SKM_sk_sort(CRYPTO_dynlock, (st)) -# define sk_CRYPTO_dynlock_is_sorted(st) SKM_sk_is_sorted(CRYPTO_dynlock, (st)) -# define sk_DIST_POINT_new(cmp) SKM_sk_new(DIST_POINT, (cmp)) -# define sk_DIST_POINT_new_null() SKM_sk_new_null(DIST_POINT) -# define sk_DIST_POINT_free(st) SKM_sk_free(DIST_POINT, (st)) -# define sk_DIST_POINT_num(st) SKM_sk_num(DIST_POINT, (st)) -# define sk_DIST_POINT_value(st, i) SKM_sk_value(DIST_POINT, (st), (i)) -# define sk_DIST_POINT_set(st, i, val) SKM_sk_set(DIST_POINT, (st), (i), (val)) -# define sk_DIST_POINT_zero(st) SKM_sk_zero(DIST_POINT, (st)) -# define sk_DIST_POINT_push(st, val) SKM_sk_push(DIST_POINT, (st), (val)) -# define sk_DIST_POINT_unshift(st, val) SKM_sk_unshift(DIST_POINT, (st), (val)) -# define sk_DIST_POINT_find(st, val) SKM_sk_find(DIST_POINT, (st), (val)) -# define sk_DIST_POINT_find_ex(st, val) SKM_sk_find_ex(DIST_POINT, (st), (val)) -# define sk_DIST_POINT_delete(st, i) SKM_sk_delete(DIST_POINT, (st), (i)) -# define sk_DIST_POINT_delete_ptr(st, ptr) SKM_sk_delete_ptr(DIST_POINT, (st), (ptr)) -# define sk_DIST_POINT_insert(st, val, i) SKM_sk_insert(DIST_POINT, (st), (val), (i)) -# define sk_DIST_POINT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(DIST_POINT, (st), (cmp)) -# define sk_DIST_POINT_dup(st) SKM_sk_dup(DIST_POINT, st) -# define sk_DIST_POINT_pop_free(st, free_func) SKM_sk_pop_free(DIST_POINT, (st), (free_func)) -# define sk_DIST_POINT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(DIST_POINT, (st), (copy_func), (free_func)) -# define sk_DIST_POINT_shift(st) SKM_sk_shift(DIST_POINT, (st)) -# define sk_DIST_POINT_pop(st) SKM_sk_pop(DIST_POINT, (st)) -# define sk_DIST_POINT_sort(st) SKM_sk_sort(DIST_POINT, (st)) -# define sk_DIST_POINT_is_sorted(st) SKM_sk_is_sorted(DIST_POINT, (st)) -# define sk_ENGINE_new(cmp) SKM_sk_new(ENGINE, (cmp)) -# define sk_ENGINE_new_null() SKM_sk_new_null(ENGINE) -# define sk_ENGINE_free(st) SKM_sk_free(ENGINE, (st)) -# define sk_ENGINE_num(st) SKM_sk_num(ENGINE, (st)) -# define sk_ENGINE_value(st, i) SKM_sk_value(ENGINE, (st), (i)) -# define sk_ENGINE_set(st, i, val) SKM_sk_set(ENGINE, (st), (i), (val)) -# define sk_ENGINE_zero(st) SKM_sk_zero(ENGINE, (st)) -# define sk_ENGINE_push(st, val) SKM_sk_push(ENGINE, (st), (val)) -# define sk_ENGINE_unshift(st, val) SKM_sk_unshift(ENGINE, (st), (val)) -# define sk_ENGINE_find(st, val) SKM_sk_find(ENGINE, (st), (val)) -# define sk_ENGINE_find_ex(st, val) SKM_sk_find_ex(ENGINE, (st), (val)) -# define sk_ENGINE_delete(st, i) SKM_sk_delete(ENGINE, (st), (i)) -# define sk_ENGINE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE, (st), (ptr)) -# define sk_ENGINE_insert(st, val, i) SKM_sk_insert(ENGINE, (st), (val), (i)) -# define sk_ENGINE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE, (st), (cmp)) -# define sk_ENGINE_dup(st) SKM_sk_dup(ENGINE, st) -# define sk_ENGINE_pop_free(st, free_func) SKM_sk_pop_free(ENGINE, (st), (free_func)) -# define sk_ENGINE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ENGINE, (st), (copy_func), (free_func)) -# define sk_ENGINE_shift(st) SKM_sk_shift(ENGINE, (st)) -# define sk_ENGINE_pop(st) SKM_sk_pop(ENGINE, (st)) -# define sk_ENGINE_sort(st) SKM_sk_sort(ENGINE, (st)) -# define sk_ENGINE_is_sorted(st) SKM_sk_is_sorted(ENGINE, (st)) -# define sk_ENGINE_CLEANUP_ITEM_new(cmp) SKM_sk_new(ENGINE_CLEANUP_ITEM, (cmp)) -# define sk_ENGINE_CLEANUP_ITEM_new_null() SKM_sk_new_null(ENGINE_CLEANUP_ITEM) -# define sk_ENGINE_CLEANUP_ITEM_free(st) SKM_sk_free(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_num(st) SKM_sk_num(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_value(st, i) SKM_sk_value(ENGINE_CLEANUP_ITEM, (st), (i)) -# define sk_ENGINE_CLEANUP_ITEM_set(st, i, val) SKM_sk_set(ENGINE_CLEANUP_ITEM, (st), (i), (val)) -# define sk_ENGINE_CLEANUP_ITEM_zero(st) SKM_sk_zero(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_push(st, val) SKM_sk_push(ENGINE_CLEANUP_ITEM, (st), (val)) -# define sk_ENGINE_CLEANUP_ITEM_unshift(st, val) SKM_sk_unshift(ENGINE_CLEANUP_ITEM, (st), (val)) -# define sk_ENGINE_CLEANUP_ITEM_find(st, val) SKM_sk_find(ENGINE_CLEANUP_ITEM, (st), (val)) -# define sk_ENGINE_CLEANUP_ITEM_find_ex(st, val) SKM_sk_find_ex(ENGINE_CLEANUP_ITEM, (st), (val)) -# define sk_ENGINE_CLEANUP_ITEM_delete(st, i) SKM_sk_delete(ENGINE_CLEANUP_ITEM, (st), (i)) -# define sk_ENGINE_CLEANUP_ITEM_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE_CLEANUP_ITEM, (st), (ptr)) -# define sk_ENGINE_CLEANUP_ITEM_insert(st, val, i) SKM_sk_insert(ENGINE_CLEANUP_ITEM, (st), (val), (i)) -# define sk_ENGINE_CLEANUP_ITEM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE_CLEANUP_ITEM, (st), (cmp)) -# define sk_ENGINE_CLEANUP_ITEM_dup(st) SKM_sk_dup(ENGINE_CLEANUP_ITEM, st) -# define sk_ENGINE_CLEANUP_ITEM_pop_free(st, free_func) SKM_sk_pop_free(ENGINE_CLEANUP_ITEM, (st), (free_func)) -# define sk_ENGINE_CLEANUP_ITEM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ENGINE_CLEANUP_ITEM, (st), (copy_func), (free_func)) -# define sk_ENGINE_CLEANUP_ITEM_shift(st) SKM_sk_shift(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_pop(st) SKM_sk_pop(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_sort(st) SKM_sk_sort(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_is_sorted(st) SKM_sk_is_sorted(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ESS_CERT_ID_new(cmp) SKM_sk_new(ESS_CERT_ID, (cmp)) -# define sk_ESS_CERT_ID_new_null() SKM_sk_new_null(ESS_CERT_ID) -# define sk_ESS_CERT_ID_free(st) SKM_sk_free(ESS_CERT_ID, (st)) -# define sk_ESS_CERT_ID_num(st) SKM_sk_num(ESS_CERT_ID, (st)) -# define sk_ESS_CERT_ID_value(st, i) SKM_sk_value(ESS_CERT_ID, (st), (i)) -# define sk_ESS_CERT_ID_set(st, i, val) SKM_sk_set(ESS_CERT_ID, (st), (i), (val)) -# define sk_ESS_CERT_ID_zero(st) SKM_sk_zero(ESS_CERT_ID, (st)) -# define sk_ESS_CERT_ID_push(st, val) SKM_sk_push(ESS_CERT_ID, (st), (val)) -# define sk_ESS_CERT_ID_unshift(st, val) SKM_sk_unshift(ESS_CERT_ID, (st), (val)) -# define sk_ESS_CERT_ID_find(st, val) SKM_sk_find(ESS_CERT_ID, (st), (val)) -# define sk_ESS_CERT_ID_find_ex(st, val) SKM_sk_find_ex(ESS_CERT_ID, (st), (val)) -# define sk_ESS_CERT_ID_delete(st, i) SKM_sk_delete(ESS_CERT_ID, (st), (i)) -# define sk_ESS_CERT_ID_delete_ptr(st, ptr) SKM_sk_delete_ptr(ESS_CERT_ID, (st), (ptr)) -# define sk_ESS_CERT_ID_insert(st, val, i) SKM_sk_insert(ESS_CERT_ID, (st), (val), (i)) -# define sk_ESS_CERT_ID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ESS_CERT_ID, (st), (cmp)) -# define sk_ESS_CERT_ID_dup(st) SKM_sk_dup(ESS_CERT_ID, st) -# define sk_ESS_CERT_ID_pop_free(st, free_func) SKM_sk_pop_free(ESS_CERT_ID, (st), (free_func)) -# define sk_ESS_CERT_ID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ESS_CERT_ID, (st), (copy_func), (free_func)) -# define sk_ESS_CERT_ID_shift(st) SKM_sk_shift(ESS_CERT_ID, (st)) -# define sk_ESS_CERT_ID_pop(st) SKM_sk_pop(ESS_CERT_ID, (st)) -# define sk_ESS_CERT_ID_sort(st) SKM_sk_sort(ESS_CERT_ID, (st)) -# define sk_ESS_CERT_ID_is_sorted(st) SKM_sk_is_sorted(ESS_CERT_ID, (st)) -# define sk_EVP_MD_new(cmp) SKM_sk_new(EVP_MD, (cmp)) -# define sk_EVP_MD_new_null() SKM_sk_new_null(EVP_MD) -# define sk_EVP_MD_free(st) SKM_sk_free(EVP_MD, (st)) -# define sk_EVP_MD_num(st) SKM_sk_num(EVP_MD, (st)) -# define sk_EVP_MD_value(st, i) SKM_sk_value(EVP_MD, (st), (i)) -# define sk_EVP_MD_set(st, i, val) SKM_sk_set(EVP_MD, (st), (i), (val)) -# define sk_EVP_MD_zero(st) SKM_sk_zero(EVP_MD, (st)) -# define sk_EVP_MD_push(st, val) SKM_sk_push(EVP_MD, (st), (val)) -# define sk_EVP_MD_unshift(st, val) SKM_sk_unshift(EVP_MD, (st), (val)) -# define sk_EVP_MD_find(st, val) SKM_sk_find(EVP_MD, (st), (val)) -# define sk_EVP_MD_find_ex(st, val) SKM_sk_find_ex(EVP_MD, (st), (val)) -# define sk_EVP_MD_delete(st, i) SKM_sk_delete(EVP_MD, (st), (i)) -# define sk_EVP_MD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_MD, (st), (ptr)) -# define sk_EVP_MD_insert(st, val, i) SKM_sk_insert(EVP_MD, (st), (val), (i)) -# define sk_EVP_MD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_MD, (st), (cmp)) -# define sk_EVP_MD_dup(st) SKM_sk_dup(EVP_MD, st) -# define sk_EVP_MD_pop_free(st, free_func) SKM_sk_pop_free(EVP_MD, (st), (free_func)) -# define sk_EVP_MD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_MD, (st), (copy_func), (free_func)) -# define sk_EVP_MD_shift(st) SKM_sk_shift(EVP_MD, (st)) -# define sk_EVP_MD_pop(st) SKM_sk_pop(EVP_MD, (st)) -# define sk_EVP_MD_sort(st) SKM_sk_sort(EVP_MD, (st)) -# define sk_EVP_MD_is_sorted(st) SKM_sk_is_sorted(EVP_MD, (st)) -# define sk_EVP_PBE_CTL_new(cmp) SKM_sk_new(EVP_PBE_CTL, (cmp)) -# define sk_EVP_PBE_CTL_new_null() SKM_sk_new_null(EVP_PBE_CTL) -# define sk_EVP_PBE_CTL_free(st) SKM_sk_free(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_num(st) SKM_sk_num(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_value(st, i) SKM_sk_value(EVP_PBE_CTL, (st), (i)) -# define sk_EVP_PBE_CTL_set(st, i, val) SKM_sk_set(EVP_PBE_CTL, (st), (i), (val)) -# define sk_EVP_PBE_CTL_zero(st) SKM_sk_zero(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_push(st, val) SKM_sk_push(EVP_PBE_CTL, (st), (val)) -# define sk_EVP_PBE_CTL_unshift(st, val) SKM_sk_unshift(EVP_PBE_CTL, (st), (val)) -# define sk_EVP_PBE_CTL_find(st, val) SKM_sk_find(EVP_PBE_CTL, (st), (val)) -# define sk_EVP_PBE_CTL_find_ex(st, val) SKM_sk_find_ex(EVP_PBE_CTL, (st), (val)) -# define sk_EVP_PBE_CTL_delete(st, i) SKM_sk_delete(EVP_PBE_CTL, (st), (i)) -# define sk_EVP_PBE_CTL_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PBE_CTL, (st), (ptr)) -# define sk_EVP_PBE_CTL_insert(st, val, i) SKM_sk_insert(EVP_PBE_CTL, (st), (val), (i)) -# define sk_EVP_PBE_CTL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PBE_CTL, (st), (cmp)) -# define sk_EVP_PBE_CTL_dup(st) SKM_sk_dup(EVP_PBE_CTL, st) -# define sk_EVP_PBE_CTL_pop_free(st, free_func) SKM_sk_pop_free(EVP_PBE_CTL, (st), (free_func)) -# define sk_EVP_PBE_CTL_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PBE_CTL, (st), (copy_func), (free_func)) -# define sk_EVP_PBE_CTL_shift(st) SKM_sk_shift(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_pop(st) SKM_sk_pop(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_sort(st) SKM_sk_sort(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_is_sorted(st) SKM_sk_is_sorted(EVP_PBE_CTL, (st)) -# define sk_EVP_PKEY_ASN1_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_ASN1_METHOD, (cmp)) -# define sk_EVP_PKEY_ASN1_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_ASN1_METHOD) -# define sk_EVP_PKEY_ASN1_METHOD_free(st) SKM_sk_free(EVP_PKEY_ASN1_METHOD, (st)) -# define sk_EVP_PKEY_ASN1_METHOD_num(st) SKM_sk_num(EVP_PKEY_ASN1_METHOD, (st)) -# define sk_EVP_PKEY_ASN1_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_ASN1_METHOD, (st), (i)) -# define sk_EVP_PKEY_ASN1_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_ASN1_METHOD, (st), (i), (val)) -# define sk_EVP_PKEY_ASN1_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_ASN1_METHOD, (st)) -# define sk_EVP_PKEY_ASN1_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_ASN1_METHOD, (st), (val)) -# define sk_EVP_PKEY_ASN1_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_ASN1_METHOD, (st), (val)) -# define sk_EVP_PKEY_ASN1_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_ASN1_METHOD, (st), (val)) -# define sk_EVP_PKEY_ASN1_METHOD_find_ex(st, val) SKM_sk_find_ex(EVP_PKEY_ASN1_METHOD, (st), (val)) -# define sk_EVP_PKEY_ASN1_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_ASN1_METHOD, (st), (i)) -# define sk_EVP_PKEY_ASN1_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_ASN1_METHOD, (st), (ptr)) -# define sk_EVP_PKEY_ASN1_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_ASN1_METHOD, (st), (val), (i)) -# define sk_EVP_PKEY_ASN1_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_ASN1_METHOD, (st), (cmp)) -# define sk_EVP_PKEY_ASN1_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_ASN1_METHOD, st) -# define sk_EVP_PKEY_ASN1_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_ASN1_METHOD, (st), (free_func)) -# define sk_EVP_PKEY_ASN1_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PKEY_ASN1_METHOD, (st), (copy_func), (free_func)) -# define sk_EVP_PKEY_ASN1_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_ASN1_METHOD, (st)) -# define sk_EVP_PKEY_ASN1_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_ASN1_METHOD, (st)) -# define sk_EVP_PKEY_ASN1_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_ASN1_METHOD, (st)) -# define sk_EVP_PKEY_ASN1_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_ASN1_METHOD, (st)) -# define sk_EVP_PKEY_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_METHOD, (cmp)) -# define sk_EVP_PKEY_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_METHOD) -# define sk_EVP_PKEY_METHOD_free(st) SKM_sk_free(EVP_PKEY_METHOD, (st)) -# define sk_EVP_PKEY_METHOD_num(st) SKM_sk_num(EVP_PKEY_METHOD, (st)) -# define sk_EVP_PKEY_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_METHOD, (st), (i)) -# define sk_EVP_PKEY_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_METHOD, (st), (i), (val)) -# define sk_EVP_PKEY_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_METHOD, (st)) -# define sk_EVP_PKEY_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_METHOD, (st), (val)) -# define sk_EVP_PKEY_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_METHOD, (st), (val)) -# define sk_EVP_PKEY_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_METHOD, (st), (val)) -# define sk_EVP_PKEY_METHOD_find_ex(st, val) SKM_sk_find_ex(EVP_PKEY_METHOD, (st), (val)) -# define sk_EVP_PKEY_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_METHOD, (st), (i)) -# define sk_EVP_PKEY_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_METHOD, (st), (ptr)) -# define sk_EVP_PKEY_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_METHOD, (st), (val), (i)) -# define sk_EVP_PKEY_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_METHOD, (st), (cmp)) -# define sk_EVP_PKEY_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_METHOD, st) -# define sk_EVP_PKEY_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_METHOD, (st), (free_func)) -# define sk_EVP_PKEY_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PKEY_METHOD, (st), (copy_func), (free_func)) -# define sk_EVP_PKEY_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_METHOD, (st)) -# define sk_EVP_PKEY_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_METHOD, (st)) -# define sk_EVP_PKEY_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_METHOD, (st)) -# define sk_EVP_PKEY_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_METHOD, (st)) -# define sk_GENERAL_NAME_new(cmp) SKM_sk_new(GENERAL_NAME, (cmp)) -# define sk_GENERAL_NAME_new_null() SKM_sk_new_null(GENERAL_NAME) -# define sk_GENERAL_NAME_free(st) SKM_sk_free(GENERAL_NAME, (st)) -# define sk_GENERAL_NAME_num(st) SKM_sk_num(GENERAL_NAME, (st)) -# define sk_GENERAL_NAME_value(st, i) SKM_sk_value(GENERAL_NAME, (st), (i)) -# define sk_GENERAL_NAME_set(st, i, val) SKM_sk_set(GENERAL_NAME, (st), (i), (val)) -# define sk_GENERAL_NAME_zero(st) SKM_sk_zero(GENERAL_NAME, (st)) -# define sk_GENERAL_NAME_push(st, val) SKM_sk_push(GENERAL_NAME, (st), (val)) -# define sk_GENERAL_NAME_unshift(st, val) SKM_sk_unshift(GENERAL_NAME, (st), (val)) -# define sk_GENERAL_NAME_find(st, val) SKM_sk_find(GENERAL_NAME, (st), (val)) -# define sk_GENERAL_NAME_find_ex(st, val) SKM_sk_find_ex(GENERAL_NAME, (st), (val)) -# define sk_GENERAL_NAME_delete(st, i) SKM_sk_delete(GENERAL_NAME, (st), (i)) -# define sk_GENERAL_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAME, (st), (ptr)) -# define sk_GENERAL_NAME_insert(st, val, i) SKM_sk_insert(GENERAL_NAME, (st), (val), (i)) -# define sk_GENERAL_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAME, (st), (cmp)) -# define sk_GENERAL_NAME_dup(st) SKM_sk_dup(GENERAL_NAME, st) -# define sk_GENERAL_NAME_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAME, (st), (free_func)) -# define sk_GENERAL_NAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_NAME, (st), (copy_func), (free_func)) -# define sk_GENERAL_NAME_shift(st) SKM_sk_shift(GENERAL_NAME, (st)) -# define sk_GENERAL_NAME_pop(st) SKM_sk_pop(GENERAL_NAME, (st)) -# define sk_GENERAL_NAME_sort(st) SKM_sk_sort(GENERAL_NAME, (st)) -# define sk_GENERAL_NAME_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAME, (st)) -# define sk_GENERAL_NAMES_new(cmp) SKM_sk_new(GENERAL_NAMES, (cmp)) -# define sk_GENERAL_NAMES_new_null() SKM_sk_new_null(GENERAL_NAMES) -# define sk_GENERAL_NAMES_free(st) SKM_sk_free(GENERAL_NAMES, (st)) -# define sk_GENERAL_NAMES_num(st) SKM_sk_num(GENERAL_NAMES, (st)) -# define sk_GENERAL_NAMES_value(st, i) SKM_sk_value(GENERAL_NAMES, (st), (i)) -# define sk_GENERAL_NAMES_set(st, i, val) SKM_sk_set(GENERAL_NAMES, (st), (i), (val)) -# define sk_GENERAL_NAMES_zero(st) SKM_sk_zero(GENERAL_NAMES, (st)) -# define sk_GENERAL_NAMES_push(st, val) SKM_sk_push(GENERAL_NAMES, (st), (val)) -# define sk_GENERAL_NAMES_unshift(st, val) SKM_sk_unshift(GENERAL_NAMES, (st), (val)) -# define sk_GENERAL_NAMES_find(st, val) SKM_sk_find(GENERAL_NAMES, (st), (val)) -# define sk_GENERAL_NAMES_find_ex(st, val) SKM_sk_find_ex(GENERAL_NAMES, (st), (val)) -# define sk_GENERAL_NAMES_delete(st, i) SKM_sk_delete(GENERAL_NAMES, (st), (i)) -# define sk_GENERAL_NAMES_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAMES, (st), (ptr)) -# define sk_GENERAL_NAMES_insert(st, val, i) SKM_sk_insert(GENERAL_NAMES, (st), (val), (i)) -# define sk_GENERAL_NAMES_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAMES, (st), (cmp)) -# define sk_GENERAL_NAMES_dup(st) SKM_sk_dup(GENERAL_NAMES, st) -# define sk_GENERAL_NAMES_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAMES, (st), (free_func)) -# define sk_GENERAL_NAMES_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_NAMES, (st), (copy_func), (free_func)) -# define sk_GENERAL_NAMES_shift(st) SKM_sk_shift(GENERAL_NAMES, (st)) -# define sk_GENERAL_NAMES_pop(st) SKM_sk_pop(GENERAL_NAMES, (st)) -# define sk_GENERAL_NAMES_sort(st) SKM_sk_sort(GENERAL_NAMES, (st)) -# define sk_GENERAL_NAMES_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAMES, (st)) -# define sk_GENERAL_SUBTREE_new(cmp) SKM_sk_new(GENERAL_SUBTREE, (cmp)) -# define sk_GENERAL_SUBTREE_new_null() SKM_sk_new_null(GENERAL_SUBTREE) -# define sk_GENERAL_SUBTREE_free(st) SKM_sk_free(GENERAL_SUBTREE, (st)) -# define sk_GENERAL_SUBTREE_num(st) SKM_sk_num(GENERAL_SUBTREE, (st)) -# define sk_GENERAL_SUBTREE_value(st, i) SKM_sk_value(GENERAL_SUBTREE, (st), (i)) -# define sk_GENERAL_SUBTREE_set(st, i, val) SKM_sk_set(GENERAL_SUBTREE, (st), (i), (val)) -# define sk_GENERAL_SUBTREE_zero(st) SKM_sk_zero(GENERAL_SUBTREE, (st)) -# define sk_GENERAL_SUBTREE_push(st, val) SKM_sk_push(GENERAL_SUBTREE, (st), (val)) -# define sk_GENERAL_SUBTREE_unshift(st, val) SKM_sk_unshift(GENERAL_SUBTREE, (st), (val)) -# define sk_GENERAL_SUBTREE_find(st, val) SKM_sk_find(GENERAL_SUBTREE, (st), (val)) -# define sk_GENERAL_SUBTREE_find_ex(st, val) SKM_sk_find_ex(GENERAL_SUBTREE, (st), (val)) -# define sk_GENERAL_SUBTREE_delete(st, i) SKM_sk_delete(GENERAL_SUBTREE, (st), (i)) -# define sk_GENERAL_SUBTREE_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_SUBTREE, (st), (ptr)) -# define sk_GENERAL_SUBTREE_insert(st, val, i) SKM_sk_insert(GENERAL_SUBTREE, (st), (val), (i)) -# define sk_GENERAL_SUBTREE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_SUBTREE, (st), (cmp)) -# define sk_GENERAL_SUBTREE_dup(st) SKM_sk_dup(GENERAL_SUBTREE, st) -# define sk_GENERAL_SUBTREE_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_SUBTREE, (st), (free_func)) -# define sk_GENERAL_SUBTREE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_SUBTREE, (st), (copy_func), (free_func)) -# define sk_GENERAL_SUBTREE_shift(st) SKM_sk_shift(GENERAL_SUBTREE, (st)) -# define sk_GENERAL_SUBTREE_pop(st) SKM_sk_pop(GENERAL_SUBTREE, (st)) -# define sk_GENERAL_SUBTREE_sort(st) SKM_sk_sort(GENERAL_SUBTREE, (st)) -# define sk_GENERAL_SUBTREE_is_sorted(st) SKM_sk_is_sorted(GENERAL_SUBTREE, (st)) -# define sk_IPAddressFamily_new(cmp) SKM_sk_new(IPAddressFamily, (cmp)) -# define sk_IPAddressFamily_new_null() SKM_sk_new_null(IPAddressFamily) -# define sk_IPAddressFamily_free(st) SKM_sk_free(IPAddressFamily, (st)) -# define sk_IPAddressFamily_num(st) SKM_sk_num(IPAddressFamily, (st)) -# define sk_IPAddressFamily_value(st, i) SKM_sk_value(IPAddressFamily, (st), (i)) -# define sk_IPAddressFamily_set(st, i, val) SKM_sk_set(IPAddressFamily, (st), (i), (val)) -# define sk_IPAddressFamily_zero(st) SKM_sk_zero(IPAddressFamily, (st)) -# define sk_IPAddressFamily_push(st, val) SKM_sk_push(IPAddressFamily, (st), (val)) -# define sk_IPAddressFamily_unshift(st, val) SKM_sk_unshift(IPAddressFamily, (st), (val)) -# define sk_IPAddressFamily_find(st, val) SKM_sk_find(IPAddressFamily, (st), (val)) -# define sk_IPAddressFamily_find_ex(st, val) SKM_sk_find_ex(IPAddressFamily, (st), (val)) -# define sk_IPAddressFamily_delete(st, i) SKM_sk_delete(IPAddressFamily, (st), (i)) -# define sk_IPAddressFamily_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressFamily, (st), (ptr)) -# define sk_IPAddressFamily_insert(st, val, i) SKM_sk_insert(IPAddressFamily, (st), (val), (i)) -# define sk_IPAddressFamily_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressFamily, (st), (cmp)) -# define sk_IPAddressFamily_dup(st) SKM_sk_dup(IPAddressFamily, st) -# define sk_IPAddressFamily_pop_free(st, free_func) SKM_sk_pop_free(IPAddressFamily, (st), (free_func)) -# define sk_IPAddressFamily_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(IPAddressFamily, (st), (copy_func), (free_func)) -# define sk_IPAddressFamily_shift(st) SKM_sk_shift(IPAddressFamily, (st)) -# define sk_IPAddressFamily_pop(st) SKM_sk_pop(IPAddressFamily, (st)) -# define sk_IPAddressFamily_sort(st) SKM_sk_sort(IPAddressFamily, (st)) -# define sk_IPAddressFamily_is_sorted(st) SKM_sk_is_sorted(IPAddressFamily, (st)) -# define sk_IPAddressOrRange_new(cmp) SKM_sk_new(IPAddressOrRange, (cmp)) -# define sk_IPAddressOrRange_new_null() SKM_sk_new_null(IPAddressOrRange) -# define sk_IPAddressOrRange_free(st) SKM_sk_free(IPAddressOrRange, (st)) -# define sk_IPAddressOrRange_num(st) SKM_sk_num(IPAddressOrRange, (st)) -# define sk_IPAddressOrRange_value(st, i) SKM_sk_value(IPAddressOrRange, (st), (i)) -# define sk_IPAddressOrRange_set(st, i, val) SKM_sk_set(IPAddressOrRange, (st), (i), (val)) -# define sk_IPAddressOrRange_zero(st) SKM_sk_zero(IPAddressOrRange, (st)) -# define sk_IPAddressOrRange_push(st, val) SKM_sk_push(IPAddressOrRange, (st), (val)) -# define sk_IPAddressOrRange_unshift(st, val) SKM_sk_unshift(IPAddressOrRange, (st), (val)) -# define sk_IPAddressOrRange_find(st, val) SKM_sk_find(IPAddressOrRange, (st), (val)) -# define sk_IPAddressOrRange_find_ex(st, val) SKM_sk_find_ex(IPAddressOrRange, (st), (val)) -# define sk_IPAddressOrRange_delete(st, i) SKM_sk_delete(IPAddressOrRange, (st), (i)) -# define sk_IPAddressOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressOrRange, (st), (ptr)) -# define sk_IPAddressOrRange_insert(st, val, i) SKM_sk_insert(IPAddressOrRange, (st), (val), (i)) -# define sk_IPAddressOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressOrRange, (st), (cmp)) -# define sk_IPAddressOrRange_dup(st) SKM_sk_dup(IPAddressOrRange, st) -# define sk_IPAddressOrRange_pop_free(st, free_func) SKM_sk_pop_free(IPAddressOrRange, (st), (free_func)) -# define sk_IPAddressOrRange_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(IPAddressOrRange, (st), (copy_func), (free_func)) -# define sk_IPAddressOrRange_shift(st) SKM_sk_shift(IPAddressOrRange, (st)) -# define sk_IPAddressOrRange_pop(st) SKM_sk_pop(IPAddressOrRange, (st)) -# define sk_IPAddressOrRange_sort(st) SKM_sk_sort(IPAddressOrRange, (st)) -# define sk_IPAddressOrRange_is_sorted(st) SKM_sk_is_sorted(IPAddressOrRange, (st)) -# define sk_KRB5_APREQBODY_new(cmp) SKM_sk_new(KRB5_APREQBODY, (cmp)) -# define sk_KRB5_APREQBODY_new_null() SKM_sk_new_null(KRB5_APREQBODY) -# define sk_KRB5_APREQBODY_free(st) SKM_sk_free(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_num(st) SKM_sk_num(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_value(st, i) SKM_sk_value(KRB5_APREQBODY, (st), (i)) -# define sk_KRB5_APREQBODY_set(st, i, val) SKM_sk_set(KRB5_APREQBODY, (st), (i), (val)) -# define sk_KRB5_APREQBODY_zero(st) SKM_sk_zero(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_push(st, val) SKM_sk_push(KRB5_APREQBODY, (st), (val)) -# define sk_KRB5_APREQBODY_unshift(st, val) SKM_sk_unshift(KRB5_APREQBODY, (st), (val)) -# define sk_KRB5_APREQBODY_find(st, val) SKM_sk_find(KRB5_APREQBODY, (st), (val)) -# define sk_KRB5_APREQBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_APREQBODY, (st), (val)) -# define sk_KRB5_APREQBODY_delete(st, i) SKM_sk_delete(KRB5_APREQBODY, (st), (i)) -# define sk_KRB5_APREQBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_APREQBODY, (st), (ptr)) -# define sk_KRB5_APREQBODY_insert(st, val, i) SKM_sk_insert(KRB5_APREQBODY, (st), (val), (i)) -# define sk_KRB5_APREQBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_APREQBODY, (st), (cmp)) -# define sk_KRB5_APREQBODY_dup(st) SKM_sk_dup(KRB5_APREQBODY, st) -# define sk_KRB5_APREQBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_APREQBODY, (st), (free_func)) -# define sk_KRB5_APREQBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_APREQBODY, (st), (copy_func), (free_func)) -# define sk_KRB5_APREQBODY_shift(st) SKM_sk_shift(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_pop(st) SKM_sk_pop(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_sort(st) SKM_sk_sort(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_APREQBODY, (st)) -# define sk_KRB5_AUTHDATA_new(cmp) SKM_sk_new(KRB5_AUTHDATA, (cmp)) -# define sk_KRB5_AUTHDATA_new_null() SKM_sk_new_null(KRB5_AUTHDATA) -# define sk_KRB5_AUTHDATA_free(st) SKM_sk_free(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_num(st) SKM_sk_num(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_value(st, i) SKM_sk_value(KRB5_AUTHDATA, (st), (i)) -# define sk_KRB5_AUTHDATA_set(st, i, val) SKM_sk_set(KRB5_AUTHDATA, (st), (i), (val)) -# define sk_KRB5_AUTHDATA_zero(st) SKM_sk_zero(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_push(st, val) SKM_sk_push(KRB5_AUTHDATA, (st), (val)) -# define sk_KRB5_AUTHDATA_unshift(st, val) SKM_sk_unshift(KRB5_AUTHDATA, (st), (val)) -# define sk_KRB5_AUTHDATA_find(st, val) SKM_sk_find(KRB5_AUTHDATA, (st), (val)) -# define sk_KRB5_AUTHDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHDATA, (st), (val)) -# define sk_KRB5_AUTHDATA_delete(st, i) SKM_sk_delete(KRB5_AUTHDATA, (st), (i)) -# define sk_KRB5_AUTHDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHDATA, (st), (ptr)) -# define sk_KRB5_AUTHDATA_insert(st, val, i) SKM_sk_insert(KRB5_AUTHDATA, (st), (val), (i)) -# define sk_KRB5_AUTHDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHDATA, (st), (cmp)) -# define sk_KRB5_AUTHDATA_dup(st) SKM_sk_dup(KRB5_AUTHDATA, st) -# define sk_KRB5_AUTHDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHDATA, (st), (free_func)) -# define sk_KRB5_AUTHDATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_AUTHDATA, (st), (copy_func), (free_func)) -# define sk_KRB5_AUTHDATA_shift(st) SKM_sk_shift(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_pop(st) SKM_sk_pop(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_sort(st) SKM_sk_sort(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHENTBODY_new(cmp) SKM_sk_new(KRB5_AUTHENTBODY, (cmp)) -# define sk_KRB5_AUTHENTBODY_new_null() SKM_sk_new_null(KRB5_AUTHENTBODY) -# define sk_KRB5_AUTHENTBODY_free(st) SKM_sk_free(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_num(st) SKM_sk_num(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_value(st, i) SKM_sk_value(KRB5_AUTHENTBODY, (st), (i)) -# define sk_KRB5_AUTHENTBODY_set(st, i, val) SKM_sk_set(KRB5_AUTHENTBODY, (st), (i), (val)) -# define sk_KRB5_AUTHENTBODY_zero(st) SKM_sk_zero(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_push(st, val) SKM_sk_push(KRB5_AUTHENTBODY, (st), (val)) -# define sk_KRB5_AUTHENTBODY_unshift(st, val) SKM_sk_unshift(KRB5_AUTHENTBODY, (st), (val)) -# define sk_KRB5_AUTHENTBODY_find(st, val) SKM_sk_find(KRB5_AUTHENTBODY, (st), (val)) -# define sk_KRB5_AUTHENTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHENTBODY, (st), (val)) -# define sk_KRB5_AUTHENTBODY_delete(st, i) SKM_sk_delete(KRB5_AUTHENTBODY, (st), (i)) -# define sk_KRB5_AUTHENTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHENTBODY, (st), (ptr)) -# define sk_KRB5_AUTHENTBODY_insert(st, val, i) SKM_sk_insert(KRB5_AUTHENTBODY, (st), (val), (i)) -# define sk_KRB5_AUTHENTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHENTBODY, (st), (cmp)) -# define sk_KRB5_AUTHENTBODY_dup(st) SKM_sk_dup(KRB5_AUTHENTBODY, st) -# define sk_KRB5_AUTHENTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHENTBODY, (st), (free_func)) -# define sk_KRB5_AUTHENTBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_AUTHENTBODY, (st), (copy_func), (free_func)) -# define sk_KRB5_AUTHENTBODY_shift(st) SKM_sk_shift(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_pop(st) SKM_sk_pop(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_sort(st) SKM_sk_sort(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_CHECKSUM_new(cmp) SKM_sk_new(KRB5_CHECKSUM, (cmp)) -# define sk_KRB5_CHECKSUM_new_null() SKM_sk_new_null(KRB5_CHECKSUM) -# define sk_KRB5_CHECKSUM_free(st) SKM_sk_free(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_num(st) SKM_sk_num(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_value(st, i) SKM_sk_value(KRB5_CHECKSUM, (st), (i)) -# define sk_KRB5_CHECKSUM_set(st, i, val) SKM_sk_set(KRB5_CHECKSUM, (st), (i), (val)) -# define sk_KRB5_CHECKSUM_zero(st) SKM_sk_zero(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_push(st, val) SKM_sk_push(KRB5_CHECKSUM, (st), (val)) -# define sk_KRB5_CHECKSUM_unshift(st, val) SKM_sk_unshift(KRB5_CHECKSUM, (st), (val)) -# define sk_KRB5_CHECKSUM_find(st, val) SKM_sk_find(KRB5_CHECKSUM, (st), (val)) -# define sk_KRB5_CHECKSUM_find_ex(st, val) SKM_sk_find_ex(KRB5_CHECKSUM, (st), (val)) -# define sk_KRB5_CHECKSUM_delete(st, i) SKM_sk_delete(KRB5_CHECKSUM, (st), (i)) -# define sk_KRB5_CHECKSUM_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_CHECKSUM, (st), (ptr)) -# define sk_KRB5_CHECKSUM_insert(st, val, i) SKM_sk_insert(KRB5_CHECKSUM, (st), (val), (i)) -# define sk_KRB5_CHECKSUM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_CHECKSUM, (st), (cmp)) -# define sk_KRB5_CHECKSUM_dup(st) SKM_sk_dup(KRB5_CHECKSUM, st) -# define sk_KRB5_CHECKSUM_pop_free(st, free_func) SKM_sk_pop_free(KRB5_CHECKSUM, (st), (free_func)) -# define sk_KRB5_CHECKSUM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_CHECKSUM, (st), (copy_func), (free_func)) -# define sk_KRB5_CHECKSUM_shift(st) SKM_sk_shift(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_pop(st) SKM_sk_pop(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_sort(st) SKM_sk_sort(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_is_sorted(st) SKM_sk_is_sorted(KRB5_CHECKSUM, (st)) -# define sk_KRB5_ENCDATA_new(cmp) SKM_sk_new(KRB5_ENCDATA, (cmp)) -# define sk_KRB5_ENCDATA_new_null() SKM_sk_new_null(KRB5_ENCDATA) -# define sk_KRB5_ENCDATA_free(st) SKM_sk_free(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_num(st) SKM_sk_num(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_value(st, i) SKM_sk_value(KRB5_ENCDATA, (st), (i)) -# define sk_KRB5_ENCDATA_set(st, i, val) SKM_sk_set(KRB5_ENCDATA, (st), (i), (val)) -# define sk_KRB5_ENCDATA_zero(st) SKM_sk_zero(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_push(st, val) SKM_sk_push(KRB5_ENCDATA, (st), (val)) -# define sk_KRB5_ENCDATA_unshift(st, val) SKM_sk_unshift(KRB5_ENCDATA, (st), (val)) -# define sk_KRB5_ENCDATA_find(st, val) SKM_sk_find(KRB5_ENCDATA, (st), (val)) -# define sk_KRB5_ENCDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCDATA, (st), (val)) -# define sk_KRB5_ENCDATA_delete(st, i) SKM_sk_delete(KRB5_ENCDATA, (st), (i)) -# define sk_KRB5_ENCDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCDATA, (st), (ptr)) -# define sk_KRB5_ENCDATA_insert(st, val, i) SKM_sk_insert(KRB5_ENCDATA, (st), (val), (i)) -# define sk_KRB5_ENCDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCDATA, (st), (cmp)) -# define sk_KRB5_ENCDATA_dup(st) SKM_sk_dup(KRB5_ENCDATA, st) -# define sk_KRB5_ENCDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCDATA, (st), (free_func)) -# define sk_KRB5_ENCDATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_ENCDATA, (st), (copy_func), (free_func)) -# define sk_KRB5_ENCDATA_shift(st) SKM_sk_shift(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_pop(st) SKM_sk_pop(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_sort(st) SKM_sk_sort(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCKEY_new(cmp) SKM_sk_new(KRB5_ENCKEY, (cmp)) -# define sk_KRB5_ENCKEY_new_null() SKM_sk_new_null(KRB5_ENCKEY) -# define sk_KRB5_ENCKEY_free(st) SKM_sk_free(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_num(st) SKM_sk_num(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_value(st, i) SKM_sk_value(KRB5_ENCKEY, (st), (i)) -# define sk_KRB5_ENCKEY_set(st, i, val) SKM_sk_set(KRB5_ENCKEY, (st), (i), (val)) -# define sk_KRB5_ENCKEY_zero(st) SKM_sk_zero(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_push(st, val) SKM_sk_push(KRB5_ENCKEY, (st), (val)) -# define sk_KRB5_ENCKEY_unshift(st, val) SKM_sk_unshift(KRB5_ENCKEY, (st), (val)) -# define sk_KRB5_ENCKEY_find(st, val) SKM_sk_find(KRB5_ENCKEY, (st), (val)) -# define sk_KRB5_ENCKEY_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCKEY, (st), (val)) -# define sk_KRB5_ENCKEY_delete(st, i) SKM_sk_delete(KRB5_ENCKEY, (st), (i)) -# define sk_KRB5_ENCKEY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCKEY, (st), (ptr)) -# define sk_KRB5_ENCKEY_insert(st, val, i) SKM_sk_insert(KRB5_ENCKEY, (st), (val), (i)) -# define sk_KRB5_ENCKEY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCKEY, (st), (cmp)) -# define sk_KRB5_ENCKEY_dup(st) SKM_sk_dup(KRB5_ENCKEY, st) -# define sk_KRB5_ENCKEY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCKEY, (st), (free_func)) -# define sk_KRB5_ENCKEY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_ENCKEY, (st), (copy_func), (free_func)) -# define sk_KRB5_ENCKEY_shift(st) SKM_sk_shift(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_pop(st) SKM_sk_pop(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_sort(st) SKM_sk_sort(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCKEY, (st)) -# define sk_KRB5_PRINCNAME_new(cmp) SKM_sk_new(KRB5_PRINCNAME, (cmp)) -# define sk_KRB5_PRINCNAME_new_null() SKM_sk_new_null(KRB5_PRINCNAME) -# define sk_KRB5_PRINCNAME_free(st) SKM_sk_free(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_num(st) SKM_sk_num(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_value(st, i) SKM_sk_value(KRB5_PRINCNAME, (st), (i)) -# define sk_KRB5_PRINCNAME_set(st, i, val) SKM_sk_set(KRB5_PRINCNAME, (st), (i), (val)) -# define sk_KRB5_PRINCNAME_zero(st) SKM_sk_zero(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_push(st, val) SKM_sk_push(KRB5_PRINCNAME, (st), (val)) -# define sk_KRB5_PRINCNAME_unshift(st, val) SKM_sk_unshift(KRB5_PRINCNAME, (st), (val)) -# define sk_KRB5_PRINCNAME_find(st, val) SKM_sk_find(KRB5_PRINCNAME, (st), (val)) -# define sk_KRB5_PRINCNAME_find_ex(st, val) SKM_sk_find_ex(KRB5_PRINCNAME, (st), (val)) -# define sk_KRB5_PRINCNAME_delete(st, i) SKM_sk_delete(KRB5_PRINCNAME, (st), (i)) -# define sk_KRB5_PRINCNAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_PRINCNAME, (st), (ptr)) -# define sk_KRB5_PRINCNAME_insert(st, val, i) SKM_sk_insert(KRB5_PRINCNAME, (st), (val), (i)) -# define sk_KRB5_PRINCNAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_PRINCNAME, (st), (cmp)) -# define sk_KRB5_PRINCNAME_dup(st) SKM_sk_dup(KRB5_PRINCNAME, st) -# define sk_KRB5_PRINCNAME_pop_free(st, free_func) SKM_sk_pop_free(KRB5_PRINCNAME, (st), (free_func)) -# define sk_KRB5_PRINCNAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_PRINCNAME, (st), (copy_func), (free_func)) -# define sk_KRB5_PRINCNAME_shift(st) SKM_sk_shift(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_pop(st) SKM_sk_pop(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_sort(st) SKM_sk_sort(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_is_sorted(st) SKM_sk_is_sorted(KRB5_PRINCNAME, (st)) -# define sk_KRB5_TKTBODY_new(cmp) SKM_sk_new(KRB5_TKTBODY, (cmp)) -# define sk_KRB5_TKTBODY_new_null() SKM_sk_new_null(KRB5_TKTBODY) -# define sk_KRB5_TKTBODY_free(st) SKM_sk_free(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_num(st) SKM_sk_num(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_value(st, i) SKM_sk_value(KRB5_TKTBODY, (st), (i)) -# define sk_KRB5_TKTBODY_set(st, i, val) SKM_sk_set(KRB5_TKTBODY, (st), (i), (val)) -# define sk_KRB5_TKTBODY_zero(st) SKM_sk_zero(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_push(st, val) SKM_sk_push(KRB5_TKTBODY, (st), (val)) -# define sk_KRB5_TKTBODY_unshift(st, val) SKM_sk_unshift(KRB5_TKTBODY, (st), (val)) -# define sk_KRB5_TKTBODY_find(st, val) SKM_sk_find(KRB5_TKTBODY, (st), (val)) -# define sk_KRB5_TKTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_TKTBODY, (st), (val)) -# define sk_KRB5_TKTBODY_delete(st, i) SKM_sk_delete(KRB5_TKTBODY, (st), (i)) -# define sk_KRB5_TKTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_TKTBODY, (st), (ptr)) -# define sk_KRB5_TKTBODY_insert(st, val, i) SKM_sk_insert(KRB5_TKTBODY, (st), (val), (i)) -# define sk_KRB5_TKTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_TKTBODY, (st), (cmp)) -# define sk_KRB5_TKTBODY_dup(st) SKM_sk_dup(KRB5_TKTBODY, st) -# define sk_KRB5_TKTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_TKTBODY, (st), (free_func)) -# define sk_KRB5_TKTBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_TKTBODY, (st), (copy_func), (free_func)) -# define sk_KRB5_TKTBODY_shift(st) SKM_sk_shift(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_pop(st) SKM_sk_pop(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_sort(st) SKM_sk_sort(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_TKTBODY, (st)) -# define sk_MEM_OBJECT_DATA_new(cmp) SKM_sk_new(MEM_OBJECT_DATA, (cmp)) -# define sk_MEM_OBJECT_DATA_new_null() SKM_sk_new_null(MEM_OBJECT_DATA) -# define sk_MEM_OBJECT_DATA_free(st) SKM_sk_free(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_num(st) SKM_sk_num(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_value(st, i) SKM_sk_value(MEM_OBJECT_DATA, (st), (i)) -# define sk_MEM_OBJECT_DATA_set(st, i, val) SKM_sk_set(MEM_OBJECT_DATA, (st), (i), (val)) -# define sk_MEM_OBJECT_DATA_zero(st) SKM_sk_zero(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_push(st, val) SKM_sk_push(MEM_OBJECT_DATA, (st), (val)) -# define sk_MEM_OBJECT_DATA_unshift(st, val) SKM_sk_unshift(MEM_OBJECT_DATA, (st), (val)) -# define sk_MEM_OBJECT_DATA_find(st, val) SKM_sk_find(MEM_OBJECT_DATA, (st), (val)) -# define sk_MEM_OBJECT_DATA_find_ex(st, val) SKM_sk_find_ex(MEM_OBJECT_DATA, (st), (val)) -# define sk_MEM_OBJECT_DATA_delete(st, i) SKM_sk_delete(MEM_OBJECT_DATA, (st), (i)) -# define sk_MEM_OBJECT_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(MEM_OBJECT_DATA, (st), (ptr)) -# define sk_MEM_OBJECT_DATA_insert(st, val, i) SKM_sk_insert(MEM_OBJECT_DATA, (st), (val), (i)) -# define sk_MEM_OBJECT_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MEM_OBJECT_DATA, (st), (cmp)) -# define sk_MEM_OBJECT_DATA_dup(st) SKM_sk_dup(MEM_OBJECT_DATA, st) -# define sk_MEM_OBJECT_DATA_pop_free(st, free_func) SKM_sk_pop_free(MEM_OBJECT_DATA, (st), (free_func)) -# define sk_MEM_OBJECT_DATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MEM_OBJECT_DATA, (st), (copy_func), (free_func)) -# define sk_MEM_OBJECT_DATA_shift(st) SKM_sk_shift(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_pop(st) SKM_sk_pop(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_sort(st) SKM_sk_sort(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_is_sorted(st) SKM_sk_is_sorted(MEM_OBJECT_DATA, (st)) -# define sk_MIME_HEADER_new(cmp) SKM_sk_new(MIME_HEADER, (cmp)) -# define sk_MIME_HEADER_new_null() SKM_sk_new_null(MIME_HEADER) -# define sk_MIME_HEADER_free(st) SKM_sk_free(MIME_HEADER, (st)) -# define sk_MIME_HEADER_num(st) SKM_sk_num(MIME_HEADER, (st)) -# define sk_MIME_HEADER_value(st, i) SKM_sk_value(MIME_HEADER, (st), (i)) -# define sk_MIME_HEADER_set(st, i, val) SKM_sk_set(MIME_HEADER, (st), (i), (val)) -# define sk_MIME_HEADER_zero(st) SKM_sk_zero(MIME_HEADER, (st)) -# define sk_MIME_HEADER_push(st, val) SKM_sk_push(MIME_HEADER, (st), (val)) -# define sk_MIME_HEADER_unshift(st, val) SKM_sk_unshift(MIME_HEADER, (st), (val)) -# define sk_MIME_HEADER_find(st, val) SKM_sk_find(MIME_HEADER, (st), (val)) -# define sk_MIME_HEADER_find_ex(st, val) SKM_sk_find_ex(MIME_HEADER, (st), (val)) -# define sk_MIME_HEADER_delete(st, i) SKM_sk_delete(MIME_HEADER, (st), (i)) -# define sk_MIME_HEADER_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_HEADER, (st), (ptr)) -# define sk_MIME_HEADER_insert(st, val, i) SKM_sk_insert(MIME_HEADER, (st), (val), (i)) -# define sk_MIME_HEADER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_HEADER, (st), (cmp)) -# define sk_MIME_HEADER_dup(st) SKM_sk_dup(MIME_HEADER, st) -# define sk_MIME_HEADER_pop_free(st, free_func) SKM_sk_pop_free(MIME_HEADER, (st), (free_func)) -# define sk_MIME_HEADER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MIME_HEADER, (st), (copy_func), (free_func)) -# define sk_MIME_HEADER_shift(st) SKM_sk_shift(MIME_HEADER, (st)) -# define sk_MIME_HEADER_pop(st) SKM_sk_pop(MIME_HEADER, (st)) -# define sk_MIME_HEADER_sort(st) SKM_sk_sort(MIME_HEADER, (st)) -# define sk_MIME_HEADER_is_sorted(st) SKM_sk_is_sorted(MIME_HEADER, (st)) -# define sk_MIME_PARAM_new(cmp) SKM_sk_new(MIME_PARAM, (cmp)) -# define sk_MIME_PARAM_new_null() SKM_sk_new_null(MIME_PARAM) -# define sk_MIME_PARAM_free(st) SKM_sk_free(MIME_PARAM, (st)) -# define sk_MIME_PARAM_num(st) SKM_sk_num(MIME_PARAM, (st)) -# define sk_MIME_PARAM_value(st, i) SKM_sk_value(MIME_PARAM, (st), (i)) -# define sk_MIME_PARAM_set(st, i, val) SKM_sk_set(MIME_PARAM, (st), (i), (val)) -# define sk_MIME_PARAM_zero(st) SKM_sk_zero(MIME_PARAM, (st)) -# define sk_MIME_PARAM_push(st, val) SKM_sk_push(MIME_PARAM, (st), (val)) -# define sk_MIME_PARAM_unshift(st, val) SKM_sk_unshift(MIME_PARAM, (st), (val)) -# define sk_MIME_PARAM_find(st, val) SKM_sk_find(MIME_PARAM, (st), (val)) -# define sk_MIME_PARAM_find_ex(st, val) SKM_sk_find_ex(MIME_PARAM, (st), (val)) -# define sk_MIME_PARAM_delete(st, i) SKM_sk_delete(MIME_PARAM, (st), (i)) -# define sk_MIME_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_PARAM, (st), (ptr)) -# define sk_MIME_PARAM_insert(st, val, i) SKM_sk_insert(MIME_PARAM, (st), (val), (i)) -# define sk_MIME_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_PARAM, (st), (cmp)) -# define sk_MIME_PARAM_dup(st) SKM_sk_dup(MIME_PARAM, st) -# define sk_MIME_PARAM_pop_free(st, free_func) SKM_sk_pop_free(MIME_PARAM, (st), (free_func)) -# define sk_MIME_PARAM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MIME_PARAM, (st), (copy_func), (free_func)) -# define sk_MIME_PARAM_shift(st) SKM_sk_shift(MIME_PARAM, (st)) -# define sk_MIME_PARAM_pop(st) SKM_sk_pop(MIME_PARAM, (st)) -# define sk_MIME_PARAM_sort(st) SKM_sk_sort(MIME_PARAM, (st)) -# define sk_MIME_PARAM_is_sorted(st) SKM_sk_is_sorted(MIME_PARAM, (st)) -# define sk_NAME_FUNCS_new(cmp) SKM_sk_new(NAME_FUNCS, (cmp)) -# define sk_NAME_FUNCS_new_null() SKM_sk_new_null(NAME_FUNCS) -# define sk_NAME_FUNCS_free(st) SKM_sk_free(NAME_FUNCS, (st)) -# define sk_NAME_FUNCS_num(st) SKM_sk_num(NAME_FUNCS, (st)) -# define sk_NAME_FUNCS_value(st, i) SKM_sk_value(NAME_FUNCS, (st), (i)) -# define sk_NAME_FUNCS_set(st, i, val) SKM_sk_set(NAME_FUNCS, (st), (i), (val)) -# define sk_NAME_FUNCS_zero(st) SKM_sk_zero(NAME_FUNCS, (st)) -# define sk_NAME_FUNCS_push(st, val) SKM_sk_push(NAME_FUNCS, (st), (val)) -# define sk_NAME_FUNCS_unshift(st, val) SKM_sk_unshift(NAME_FUNCS, (st), (val)) -# define sk_NAME_FUNCS_find(st, val) SKM_sk_find(NAME_FUNCS, (st), (val)) -# define sk_NAME_FUNCS_find_ex(st, val) SKM_sk_find_ex(NAME_FUNCS, (st), (val)) -# define sk_NAME_FUNCS_delete(st, i) SKM_sk_delete(NAME_FUNCS, (st), (i)) -# define sk_NAME_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(NAME_FUNCS, (st), (ptr)) -# define sk_NAME_FUNCS_insert(st, val, i) SKM_sk_insert(NAME_FUNCS, (st), (val), (i)) -# define sk_NAME_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(NAME_FUNCS, (st), (cmp)) -# define sk_NAME_FUNCS_dup(st) SKM_sk_dup(NAME_FUNCS, st) -# define sk_NAME_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(NAME_FUNCS, (st), (free_func)) -# define sk_NAME_FUNCS_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(NAME_FUNCS, (st), (copy_func), (free_func)) -# define sk_NAME_FUNCS_shift(st) SKM_sk_shift(NAME_FUNCS, (st)) -# define sk_NAME_FUNCS_pop(st) SKM_sk_pop(NAME_FUNCS, (st)) -# define sk_NAME_FUNCS_sort(st) SKM_sk_sort(NAME_FUNCS, (st)) -# define sk_NAME_FUNCS_is_sorted(st) SKM_sk_is_sorted(NAME_FUNCS, (st)) -# define sk_OCSP_CERTID_new(cmp) SKM_sk_new(OCSP_CERTID, (cmp)) -# define sk_OCSP_CERTID_new_null() SKM_sk_new_null(OCSP_CERTID) -# define sk_OCSP_CERTID_free(st) SKM_sk_free(OCSP_CERTID, (st)) -# define sk_OCSP_CERTID_num(st) SKM_sk_num(OCSP_CERTID, (st)) -# define sk_OCSP_CERTID_value(st, i) SKM_sk_value(OCSP_CERTID, (st), (i)) -# define sk_OCSP_CERTID_set(st, i, val) SKM_sk_set(OCSP_CERTID, (st), (i), (val)) -# define sk_OCSP_CERTID_zero(st) SKM_sk_zero(OCSP_CERTID, (st)) -# define sk_OCSP_CERTID_push(st, val) SKM_sk_push(OCSP_CERTID, (st), (val)) -# define sk_OCSP_CERTID_unshift(st, val) SKM_sk_unshift(OCSP_CERTID, (st), (val)) -# define sk_OCSP_CERTID_find(st, val) SKM_sk_find(OCSP_CERTID, (st), (val)) -# define sk_OCSP_CERTID_find_ex(st, val) SKM_sk_find_ex(OCSP_CERTID, (st), (val)) -# define sk_OCSP_CERTID_delete(st, i) SKM_sk_delete(OCSP_CERTID, (st), (i)) -# define sk_OCSP_CERTID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_CERTID, (st), (ptr)) -# define sk_OCSP_CERTID_insert(st, val, i) SKM_sk_insert(OCSP_CERTID, (st), (val), (i)) -# define sk_OCSP_CERTID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_CERTID, (st), (cmp)) -# define sk_OCSP_CERTID_dup(st) SKM_sk_dup(OCSP_CERTID, st) -# define sk_OCSP_CERTID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_CERTID, (st), (free_func)) -# define sk_OCSP_CERTID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_CERTID, (st), (copy_func), (free_func)) -# define sk_OCSP_CERTID_shift(st) SKM_sk_shift(OCSP_CERTID, (st)) -# define sk_OCSP_CERTID_pop(st) SKM_sk_pop(OCSP_CERTID, (st)) -# define sk_OCSP_CERTID_sort(st) SKM_sk_sort(OCSP_CERTID, (st)) -# define sk_OCSP_CERTID_is_sorted(st) SKM_sk_is_sorted(OCSP_CERTID, (st)) -# define sk_OCSP_ONEREQ_new(cmp) SKM_sk_new(OCSP_ONEREQ, (cmp)) -# define sk_OCSP_ONEREQ_new_null() SKM_sk_new_null(OCSP_ONEREQ) -# define sk_OCSP_ONEREQ_free(st) SKM_sk_free(OCSP_ONEREQ, (st)) -# define sk_OCSP_ONEREQ_num(st) SKM_sk_num(OCSP_ONEREQ, (st)) -# define sk_OCSP_ONEREQ_value(st, i) SKM_sk_value(OCSP_ONEREQ, (st), (i)) -# define sk_OCSP_ONEREQ_set(st, i, val) SKM_sk_set(OCSP_ONEREQ, (st), (i), (val)) -# define sk_OCSP_ONEREQ_zero(st) SKM_sk_zero(OCSP_ONEREQ, (st)) -# define sk_OCSP_ONEREQ_push(st, val) SKM_sk_push(OCSP_ONEREQ, (st), (val)) -# define sk_OCSP_ONEREQ_unshift(st, val) SKM_sk_unshift(OCSP_ONEREQ, (st), (val)) -# define sk_OCSP_ONEREQ_find(st, val) SKM_sk_find(OCSP_ONEREQ, (st), (val)) -# define sk_OCSP_ONEREQ_find_ex(st, val) SKM_sk_find_ex(OCSP_ONEREQ, (st), (val)) -# define sk_OCSP_ONEREQ_delete(st, i) SKM_sk_delete(OCSP_ONEREQ, (st), (i)) -# define sk_OCSP_ONEREQ_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_ONEREQ, (st), (ptr)) -# define sk_OCSP_ONEREQ_insert(st, val, i) SKM_sk_insert(OCSP_ONEREQ, (st), (val), (i)) -# define sk_OCSP_ONEREQ_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_ONEREQ, (st), (cmp)) -# define sk_OCSP_ONEREQ_dup(st) SKM_sk_dup(OCSP_ONEREQ, st) -# define sk_OCSP_ONEREQ_pop_free(st, free_func) SKM_sk_pop_free(OCSP_ONEREQ, (st), (free_func)) -# define sk_OCSP_ONEREQ_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_ONEREQ, (st), (copy_func), (free_func)) -# define sk_OCSP_ONEREQ_shift(st) SKM_sk_shift(OCSP_ONEREQ, (st)) -# define sk_OCSP_ONEREQ_pop(st) SKM_sk_pop(OCSP_ONEREQ, (st)) -# define sk_OCSP_ONEREQ_sort(st) SKM_sk_sort(OCSP_ONEREQ, (st)) -# define sk_OCSP_ONEREQ_is_sorted(st) SKM_sk_is_sorted(OCSP_ONEREQ, (st)) -# define sk_OCSP_RESPID_new(cmp) SKM_sk_new(OCSP_RESPID, (cmp)) -# define sk_OCSP_RESPID_new_null() SKM_sk_new_null(OCSP_RESPID) -# define sk_OCSP_RESPID_free(st) SKM_sk_free(OCSP_RESPID, (st)) -# define sk_OCSP_RESPID_num(st) SKM_sk_num(OCSP_RESPID, (st)) -# define sk_OCSP_RESPID_value(st, i) SKM_sk_value(OCSP_RESPID, (st), (i)) -# define sk_OCSP_RESPID_set(st, i, val) SKM_sk_set(OCSP_RESPID, (st), (i), (val)) -# define sk_OCSP_RESPID_zero(st) SKM_sk_zero(OCSP_RESPID, (st)) -# define sk_OCSP_RESPID_push(st, val) SKM_sk_push(OCSP_RESPID, (st), (val)) -# define sk_OCSP_RESPID_unshift(st, val) SKM_sk_unshift(OCSP_RESPID, (st), (val)) -# define sk_OCSP_RESPID_find(st, val) SKM_sk_find(OCSP_RESPID, (st), (val)) -# define sk_OCSP_RESPID_find_ex(st, val) SKM_sk_find_ex(OCSP_RESPID, (st), (val)) -# define sk_OCSP_RESPID_delete(st, i) SKM_sk_delete(OCSP_RESPID, (st), (i)) -# define sk_OCSP_RESPID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_RESPID, (st), (ptr)) -# define sk_OCSP_RESPID_insert(st, val, i) SKM_sk_insert(OCSP_RESPID, (st), (val), (i)) -# define sk_OCSP_RESPID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_RESPID, (st), (cmp)) -# define sk_OCSP_RESPID_dup(st) SKM_sk_dup(OCSP_RESPID, st) -# define sk_OCSP_RESPID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_RESPID, (st), (free_func)) -# define sk_OCSP_RESPID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_RESPID, (st), (copy_func), (free_func)) -# define sk_OCSP_RESPID_shift(st) SKM_sk_shift(OCSP_RESPID, (st)) -# define sk_OCSP_RESPID_pop(st) SKM_sk_pop(OCSP_RESPID, (st)) -# define sk_OCSP_RESPID_sort(st) SKM_sk_sort(OCSP_RESPID, (st)) -# define sk_OCSP_RESPID_is_sorted(st) SKM_sk_is_sorted(OCSP_RESPID, (st)) -# define sk_OCSP_SINGLERESP_new(cmp) SKM_sk_new(OCSP_SINGLERESP, (cmp)) -# define sk_OCSP_SINGLERESP_new_null() SKM_sk_new_null(OCSP_SINGLERESP) -# define sk_OCSP_SINGLERESP_free(st) SKM_sk_free(OCSP_SINGLERESP, (st)) -# define sk_OCSP_SINGLERESP_num(st) SKM_sk_num(OCSP_SINGLERESP, (st)) -# define sk_OCSP_SINGLERESP_value(st, i) SKM_sk_value(OCSP_SINGLERESP, (st), (i)) -# define sk_OCSP_SINGLERESP_set(st, i, val) SKM_sk_set(OCSP_SINGLERESP, (st), (i), (val)) -# define sk_OCSP_SINGLERESP_zero(st) SKM_sk_zero(OCSP_SINGLERESP, (st)) -# define sk_OCSP_SINGLERESP_push(st, val) SKM_sk_push(OCSP_SINGLERESP, (st), (val)) -# define sk_OCSP_SINGLERESP_unshift(st, val) SKM_sk_unshift(OCSP_SINGLERESP, (st), (val)) -# define sk_OCSP_SINGLERESP_find(st, val) SKM_sk_find(OCSP_SINGLERESP, (st), (val)) -# define sk_OCSP_SINGLERESP_find_ex(st, val) SKM_sk_find_ex(OCSP_SINGLERESP, (st), (val)) -# define sk_OCSP_SINGLERESP_delete(st, i) SKM_sk_delete(OCSP_SINGLERESP, (st), (i)) -# define sk_OCSP_SINGLERESP_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_SINGLERESP, (st), (ptr)) -# define sk_OCSP_SINGLERESP_insert(st, val, i) SKM_sk_insert(OCSP_SINGLERESP, (st), (val), (i)) -# define sk_OCSP_SINGLERESP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_SINGLERESP, (st), (cmp)) -# define sk_OCSP_SINGLERESP_dup(st) SKM_sk_dup(OCSP_SINGLERESP, st) -# define sk_OCSP_SINGLERESP_pop_free(st, free_func) SKM_sk_pop_free(OCSP_SINGLERESP, (st), (free_func)) -# define sk_OCSP_SINGLERESP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_SINGLERESP, (st), (copy_func), (free_func)) -# define sk_OCSP_SINGLERESP_shift(st) SKM_sk_shift(OCSP_SINGLERESP, (st)) -# define sk_OCSP_SINGLERESP_pop(st) SKM_sk_pop(OCSP_SINGLERESP, (st)) -# define sk_OCSP_SINGLERESP_sort(st) SKM_sk_sort(OCSP_SINGLERESP, (st)) -# define sk_OCSP_SINGLERESP_is_sorted(st) SKM_sk_is_sorted(OCSP_SINGLERESP, (st)) -# define sk_PKCS12_SAFEBAG_new(cmp) SKM_sk_new(PKCS12_SAFEBAG, (cmp)) -# define sk_PKCS12_SAFEBAG_new_null() SKM_sk_new_null(PKCS12_SAFEBAG) -# define sk_PKCS12_SAFEBAG_free(st) SKM_sk_free(PKCS12_SAFEBAG, (st)) -# define sk_PKCS12_SAFEBAG_num(st) SKM_sk_num(PKCS12_SAFEBAG, (st)) -# define sk_PKCS12_SAFEBAG_value(st, i) SKM_sk_value(PKCS12_SAFEBAG, (st), (i)) -# define sk_PKCS12_SAFEBAG_set(st, i, val) SKM_sk_set(PKCS12_SAFEBAG, (st), (i), (val)) -# define sk_PKCS12_SAFEBAG_zero(st) SKM_sk_zero(PKCS12_SAFEBAG, (st)) -# define sk_PKCS12_SAFEBAG_push(st, val) SKM_sk_push(PKCS12_SAFEBAG, (st), (val)) -# define sk_PKCS12_SAFEBAG_unshift(st, val) SKM_sk_unshift(PKCS12_SAFEBAG, (st), (val)) -# define sk_PKCS12_SAFEBAG_find(st, val) SKM_sk_find(PKCS12_SAFEBAG, (st), (val)) -# define sk_PKCS12_SAFEBAG_find_ex(st, val) SKM_sk_find_ex(PKCS12_SAFEBAG, (st), (val)) -# define sk_PKCS12_SAFEBAG_delete(st, i) SKM_sk_delete(PKCS12_SAFEBAG, (st), (i)) -# define sk_PKCS12_SAFEBAG_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS12_SAFEBAG, (st), (ptr)) -# define sk_PKCS12_SAFEBAG_insert(st, val, i) SKM_sk_insert(PKCS12_SAFEBAG, (st), (val), (i)) -# define sk_PKCS12_SAFEBAG_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS12_SAFEBAG, (st), (cmp)) -# define sk_PKCS12_SAFEBAG_dup(st) SKM_sk_dup(PKCS12_SAFEBAG, st) -# define sk_PKCS12_SAFEBAG_pop_free(st, free_func) SKM_sk_pop_free(PKCS12_SAFEBAG, (st), (free_func)) -# define sk_PKCS12_SAFEBAG_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS12_SAFEBAG, (st), (copy_func), (free_func)) -# define sk_PKCS12_SAFEBAG_shift(st) SKM_sk_shift(PKCS12_SAFEBAG, (st)) -# define sk_PKCS12_SAFEBAG_pop(st) SKM_sk_pop(PKCS12_SAFEBAG, (st)) -# define sk_PKCS12_SAFEBAG_sort(st) SKM_sk_sort(PKCS12_SAFEBAG, (st)) -# define sk_PKCS12_SAFEBAG_is_sorted(st) SKM_sk_is_sorted(PKCS12_SAFEBAG, (st)) -# define sk_PKCS7_new(cmp) SKM_sk_new(PKCS7, (cmp)) -# define sk_PKCS7_new_null() SKM_sk_new_null(PKCS7) -# define sk_PKCS7_free(st) SKM_sk_free(PKCS7, (st)) -# define sk_PKCS7_num(st) SKM_sk_num(PKCS7, (st)) -# define sk_PKCS7_value(st, i) SKM_sk_value(PKCS7, (st), (i)) -# define sk_PKCS7_set(st, i, val) SKM_sk_set(PKCS7, (st), (i), (val)) -# define sk_PKCS7_zero(st) SKM_sk_zero(PKCS7, (st)) -# define sk_PKCS7_push(st, val) SKM_sk_push(PKCS7, (st), (val)) -# define sk_PKCS7_unshift(st, val) SKM_sk_unshift(PKCS7, (st), (val)) -# define sk_PKCS7_find(st, val) SKM_sk_find(PKCS7, (st), (val)) -# define sk_PKCS7_find_ex(st, val) SKM_sk_find_ex(PKCS7, (st), (val)) -# define sk_PKCS7_delete(st, i) SKM_sk_delete(PKCS7, (st), (i)) -# define sk_PKCS7_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7, (st), (ptr)) -# define sk_PKCS7_insert(st, val, i) SKM_sk_insert(PKCS7, (st), (val), (i)) -# define sk_PKCS7_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7, (st), (cmp)) -# define sk_PKCS7_dup(st) SKM_sk_dup(PKCS7, st) -# define sk_PKCS7_pop_free(st, free_func) SKM_sk_pop_free(PKCS7, (st), (free_func)) -# define sk_PKCS7_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7, (st), (copy_func), (free_func)) -# define sk_PKCS7_shift(st) SKM_sk_shift(PKCS7, (st)) -# define sk_PKCS7_pop(st) SKM_sk_pop(PKCS7, (st)) -# define sk_PKCS7_sort(st) SKM_sk_sort(PKCS7, (st)) -# define sk_PKCS7_is_sorted(st) SKM_sk_is_sorted(PKCS7, (st)) -# define sk_PKCS7_RECIP_INFO_new(cmp) SKM_sk_new(PKCS7_RECIP_INFO, (cmp)) -# define sk_PKCS7_RECIP_INFO_new_null() SKM_sk_new_null(PKCS7_RECIP_INFO) -# define sk_PKCS7_RECIP_INFO_free(st) SKM_sk_free(PKCS7_RECIP_INFO, (st)) -# define sk_PKCS7_RECIP_INFO_num(st) SKM_sk_num(PKCS7_RECIP_INFO, (st)) -# define sk_PKCS7_RECIP_INFO_value(st, i) SKM_sk_value(PKCS7_RECIP_INFO, (st), (i)) -# define sk_PKCS7_RECIP_INFO_set(st, i, val) SKM_sk_set(PKCS7_RECIP_INFO, (st), (i), (val)) -# define sk_PKCS7_RECIP_INFO_zero(st) SKM_sk_zero(PKCS7_RECIP_INFO, (st)) -# define sk_PKCS7_RECIP_INFO_push(st, val) SKM_sk_push(PKCS7_RECIP_INFO, (st), (val)) -# define sk_PKCS7_RECIP_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_RECIP_INFO, (st), (val)) -# define sk_PKCS7_RECIP_INFO_find(st, val) SKM_sk_find(PKCS7_RECIP_INFO, (st), (val)) -# define sk_PKCS7_RECIP_INFO_find_ex(st, val) SKM_sk_find_ex(PKCS7_RECIP_INFO, (st), (val)) -# define sk_PKCS7_RECIP_INFO_delete(st, i) SKM_sk_delete(PKCS7_RECIP_INFO, (st), (i)) -# define sk_PKCS7_RECIP_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_RECIP_INFO, (st), (ptr)) -# define sk_PKCS7_RECIP_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_RECIP_INFO, (st), (val), (i)) -# define sk_PKCS7_RECIP_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_RECIP_INFO, (st), (cmp)) -# define sk_PKCS7_RECIP_INFO_dup(st) SKM_sk_dup(PKCS7_RECIP_INFO, st) -# define sk_PKCS7_RECIP_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_RECIP_INFO, (st), (free_func)) -# define sk_PKCS7_RECIP_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7_RECIP_INFO, (st), (copy_func), (free_func)) -# define sk_PKCS7_RECIP_INFO_shift(st) SKM_sk_shift(PKCS7_RECIP_INFO, (st)) -# define sk_PKCS7_RECIP_INFO_pop(st) SKM_sk_pop(PKCS7_RECIP_INFO, (st)) -# define sk_PKCS7_RECIP_INFO_sort(st) SKM_sk_sort(PKCS7_RECIP_INFO, (st)) -# define sk_PKCS7_RECIP_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_RECIP_INFO, (st)) -# define sk_PKCS7_SIGNER_INFO_new(cmp) SKM_sk_new(PKCS7_SIGNER_INFO, (cmp)) -# define sk_PKCS7_SIGNER_INFO_new_null() SKM_sk_new_null(PKCS7_SIGNER_INFO) -# define sk_PKCS7_SIGNER_INFO_free(st) SKM_sk_free(PKCS7_SIGNER_INFO, (st)) -# define sk_PKCS7_SIGNER_INFO_num(st) SKM_sk_num(PKCS7_SIGNER_INFO, (st)) -# define sk_PKCS7_SIGNER_INFO_value(st, i) SKM_sk_value(PKCS7_SIGNER_INFO, (st), (i)) -# define sk_PKCS7_SIGNER_INFO_set(st, i, val) SKM_sk_set(PKCS7_SIGNER_INFO, (st), (i), (val)) -# define sk_PKCS7_SIGNER_INFO_zero(st) SKM_sk_zero(PKCS7_SIGNER_INFO, (st)) -# define sk_PKCS7_SIGNER_INFO_push(st, val) SKM_sk_push(PKCS7_SIGNER_INFO, (st), (val)) -# define sk_PKCS7_SIGNER_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_SIGNER_INFO, (st), (val)) -# define sk_PKCS7_SIGNER_INFO_find(st, val) SKM_sk_find(PKCS7_SIGNER_INFO, (st), (val)) -# define sk_PKCS7_SIGNER_INFO_find_ex(st, val) SKM_sk_find_ex(PKCS7_SIGNER_INFO, (st), (val)) -# define sk_PKCS7_SIGNER_INFO_delete(st, i) SKM_sk_delete(PKCS7_SIGNER_INFO, (st), (i)) -# define sk_PKCS7_SIGNER_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_SIGNER_INFO, (st), (ptr)) -# define sk_PKCS7_SIGNER_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_SIGNER_INFO, (st), (val), (i)) -# define sk_PKCS7_SIGNER_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_SIGNER_INFO, (st), (cmp)) -# define sk_PKCS7_SIGNER_INFO_dup(st) SKM_sk_dup(PKCS7_SIGNER_INFO, st) -# define sk_PKCS7_SIGNER_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_SIGNER_INFO, (st), (free_func)) -# define sk_PKCS7_SIGNER_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7_SIGNER_INFO, (st), (copy_func), (free_func)) -# define sk_PKCS7_SIGNER_INFO_shift(st) SKM_sk_shift(PKCS7_SIGNER_INFO, (st)) -# define sk_PKCS7_SIGNER_INFO_pop(st) SKM_sk_pop(PKCS7_SIGNER_INFO, (st)) -# define sk_PKCS7_SIGNER_INFO_sort(st) SKM_sk_sort(PKCS7_SIGNER_INFO, (st)) -# define sk_PKCS7_SIGNER_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_SIGNER_INFO, (st)) -# define sk_POLICYINFO_new(cmp) SKM_sk_new(POLICYINFO, (cmp)) -# define sk_POLICYINFO_new_null() SKM_sk_new_null(POLICYINFO) -# define sk_POLICYINFO_free(st) SKM_sk_free(POLICYINFO, (st)) -# define sk_POLICYINFO_num(st) SKM_sk_num(POLICYINFO, (st)) -# define sk_POLICYINFO_value(st, i) SKM_sk_value(POLICYINFO, (st), (i)) -# define sk_POLICYINFO_set(st, i, val) SKM_sk_set(POLICYINFO, (st), (i), (val)) -# define sk_POLICYINFO_zero(st) SKM_sk_zero(POLICYINFO, (st)) -# define sk_POLICYINFO_push(st, val) SKM_sk_push(POLICYINFO, (st), (val)) -# define sk_POLICYINFO_unshift(st, val) SKM_sk_unshift(POLICYINFO, (st), (val)) -# define sk_POLICYINFO_find(st, val) SKM_sk_find(POLICYINFO, (st), (val)) -# define sk_POLICYINFO_find_ex(st, val) SKM_sk_find_ex(POLICYINFO, (st), (val)) -# define sk_POLICYINFO_delete(st, i) SKM_sk_delete(POLICYINFO, (st), (i)) -# define sk_POLICYINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYINFO, (st), (ptr)) -# define sk_POLICYINFO_insert(st, val, i) SKM_sk_insert(POLICYINFO, (st), (val), (i)) -# define sk_POLICYINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYINFO, (st), (cmp)) -# define sk_POLICYINFO_dup(st) SKM_sk_dup(POLICYINFO, st) -# define sk_POLICYINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYINFO, (st), (free_func)) -# define sk_POLICYINFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICYINFO, (st), (copy_func), (free_func)) -# define sk_POLICYINFO_shift(st) SKM_sk_shift(POLICYINFO, (st)) -# define sk_POLICYINFO_pop(st) SKM_sk_pop(POLICYINFO, (st)) -# define sk_POLICYINFO_sort(st) SKM_sk_sort(POLICYINFO, (st)) -# define sk_POLICYINFO_is_sorted(st) SKM_sk_is_sorted(POLICYINFO, (st)) -# define sk_POLICYQUALINFO_new(cmp) SKM_sk_new(POLICYQUALINFO, (cmp)) -# define sk_POLICYQUALINFO_new_null() SKM_sk_new_null(POLICYQUALINFO) -# define sk_POLICYQUALINFO_free(st) SKM_sk_free(POLICYQUALINFO, (st)) -# define sk_POLICYQUALINFO_num(st) SKM_sk_num(POLICYQUALINFO, (st)) -# define sk_POLICYQUALINFO_value(st, i) SKM_sk_value(POLICYQUALINFO, (st), (i)) -# define sk_POLICYQUALINFO_set(st, i, val) SKM_sk_set(POLICYQUALINFO, (st), (i), (val)) -# define sk_POLICYQUALINFO_zero(st) SKM_sk_zero(POLICYQUALINFO, (st)) -# define sk_POLICYQUALINFO_push(st, val) SKM_sk_push(POLICYQUALINFO, (st), (val)) -# define sk_POLICYQUALINFO_unshift(st, val) SKM_sk_unshift(POLICYQUALINFO, (st), (val)) -# define sk_POLICYQUALINFO_find(st, val) SKM_sk_find(POLICYQUALINFO, (st), (val)) -# define sk_POLICYQUALINFO_find_ex(st, val) SKM_sk_find_ex(POLICYQUALINFO, (st), (val)) -# define sk_POLICYQUALINFO_delete(st, i) SKM_sk_delete(POLICYQUALINFO, (st), (i)) -# define sk_POLICYQUALINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYQUALINFO, (st), (ptr)) -# define sk_POLICYQUALINFO_insert(st, val, i) SKM_sk_insert(POLICYQUALINFO, (st), (val), (i)) -# define sk_POLICYQUALINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYQUALINFO, (st), (cmp)) -# define sk_POLICYQUALINFO_dup(st) SKM_sk_dup(POLICYQUALINFO, st) -# define sk_POLICYQUALINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYQUALINFO, (st), (free_func)) -# define sk_POLICYQUALINFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICYQUALINFO, (st), (copy_func), (free_func)) -# define sk_POLICYQUALINFO_shift(st) SKM_sk_shift(POLICYQUALINFO, (st)) -# define sk_POLICYQUALINFO_pop(st) SKM_sk_pop(POLICYQUALINFO, (st)) -# define sk_POLICYQUALINFO_sort(st) SKM_sk_sort(POLICYQUALINFO, (st)) -# define sk_POLICYQUALINFO_is_sorted(st) SKM_sk_is_sorted(POLICYQUALINFO, (st)) -# define sk_POLICY_MAPPING_new(cmp) SKM_sk_new(POLICY_MAPPING, (cmp)) -# define sk_POLICY_MAPPING_new_null() SKM_sk_new_null(POLICY_MAPPING) -# define sk_POLICY_MAPPING_free(st) SKM_sk_free(POLICY_MAPPING, (st)) -# define sk_POLICY_MAPPING_num(st) SKM_sk_num(POLICY_MAPPING, (st)) -# define sk_POLICY_MAPPING_value(st, i) SKM_sk_value(POLICY_MAPPING, (st), (i)) -# define sk_POLICY_MAPPING_set(st, i, val) SKM_sk_set(POLICY_MAPPING, (st), (i), (val)) -# define sk_POLICY_MAPPING_zero(st) SKM_sk_zero(POLICY_MAPPING, (st)) -# define sk_POLICY_MAPPING_push(st, val) SKM_sk_push(POLICY_MAPPING, (st), (val)) -# define sk_POLICY_MAPPING_unshift(st, val) SKM_sk_unshift(POLICY_MAPPING, (st), (val)) -# define sk_POLICY_MAPPING_find(st, val) SKM_sk_find(POLICY_MAPPING, (st), (val)) -# define sk_POLICY_MAPPING_find_ex(st, val) SKM_sk_find_ex(POLICY_MAPPING, (st), (val)) -# define sk_POLICY_MAPPING_delete(st, i) SKM_sk_delete(POLICY_MAPPING, (st), (i)) -# define sk_POLICY_MAPPING_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICY_MAPPING, (st), (ptr)) -# define sk_POLICY_MAPPING_insert(st, val, i) SKM_sk_insert(POLICY_MAPPING, (st), (val), (i)) -# define sk_POLICY_MAPPING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICY_MAPPING, (st), (cmp)) -# define sk_POLICY_MAPPING_dup(st) SKM_sk_dup(POLICY_MAPPING, st) -# define sk_POLICY_MAPPING_pop_free(st, free_func) SKM_sk_pop_free(POLICY_MAPPING, (st), (free_func)) -# define sk_POLICY_MAPPING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICY_MAPPING, (st), (copy_func), (free_func)) -# define sk_POLICY_MAPPING_shift(st) SKM_sk_shift(POLICY_MAPPING, (st)) -# define sk_POLICY_MAPPING_pop(st) SKM_sk_pop(POLICY_MAPPING, (st)) -# define sk_POLICY_MAPPING_sort(st) SKM_sk_sort(POLICY_MAPPING, (st)) -# define sk_POLICY_MAPPING_is_sorted(st) SKM_sk_is_sorted(POLICY_MAPPING, (st)) -# define sk_SCT_new(cmp) SKM_sk_new(SCT, (cmp)) -# define sk_SCT_new_null() SKM_sk_new_null(SCT) -# define sk_SCT_free(st) SKM_sk_free(SCT, (st)) -# define sk_SCT_num(st) SKM_sk_num(SCT, (st)) -# define sk_SCT_value(st, i) SKM_sk_value(SCT, (st), (i)) -# define sk_SCT_set(st, i, val) SKM_sk_set(SCT, (st), (i), (val)) -# define sk_SCT_zero(st) SKM_sk_zero(SCT, (st)) -# define sk_SCT_push(st, val) SKM_sk_push(SCT, (st), (val)) -# define sk_SCT_unshift(st, val) SKM_sk_unshift(SCT, (st), (val)) -# define sk_SCT_find(st, val) SKM_sk_find(SCT, (st), (val)) -# define sk_SCT_find_ex(st, val) SKM_sk_find_ex(SCT, (st), (val)) -# define sk_SCT_delete(st, i) SKM_sk_delete(SCT, (st), (i)) -# define sk_SCT_delete_ptr(st, ptr) SKM_sk_delete_ptr(SCT, (st), (ptr)) -# define sk_SCT_insert(st, val, i) SKM_sk_insert(SCT, (st), (val), (i)) -# define sk_SCT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SCT, (st), (cmp)) -# define sk_SCT_dup(st) SKM_sk_dup(SCT, st) -# define sk_SCT_pop_free(st, free_func) SKM_sk_pop_free(SCT, (st), (free_func)) -# define sk_SCT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SCT, (st), (copy_func), (free_func)) -# define sk_SCT_shift(st) SKM_sk_shift(SCT, (st)) -# define sk_SCT_pop(st) SKM_sk_pop(SCT, (st)) -# define sk_SCT_sort(st) SKM_sk_sort(SCT, (st)) -# define sk_SCT_is_sorted(st) SKM_sk_is_sorted(SCT, (st)) -# define sk_SRP_gN_new(cmp) SKM_sk_new(SRP_gN, (cmp)) -# define sk_SRP_gN_new_null() SKM_sk_new_null(SRP_gN) -# define sk_SRP_gN_free(st) SKM_sk_free(SRP_gN, (st)) -# define sk_SRP_gN_num(st) SKM_sk_num(SRP_gN, (st)) -# define sk_SRP_gN_value(st, i) SKM_sk_value(SRP_gN, (st), (i)) -# define sk_SRP_gN_set(st, i, val) SKM_sk_set(SRP_gN, (st), (i), (val)) -# define sk_SRP_gN_zero(st) SKM_sk_zero(SRP_gN, (st)) -# define sk_SRP_gN_push(st, val) SKM_sk_push(SRP_gN, (st), (val)) -# define sk_SRP_gN_unshift(st, val) SKM_sk_unshift(SRP_gN, (st), (val)) -# define sk_SRP_gN_find(st, val) SKM_sk_find(SRP_gN, (st), (val)) -# define sk_SRP_gN_find_ex(st, val) SKM_sk_find_ex(SRP_gN, (st), (val)) -# define sk_SRP_gN_delete(st, i) SKM_sk_delete(SRP_gN, (st), (i)) -# define sk_SRP_gN_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN, (st), (ptr)) -# define sk_SRP_gN_insert(st, val, i) SKM_sk_insert(SRP_gN, (st), (val), (i)) -# define sk_SRP_gN_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN, (st), (cmp)) -# define sk_SRP_gN_dup(st) SKM_sk_dup(SRP_gN, st) -# define sk_SRP_gN_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN, (st), (free_func)) -# define sk_SRP_gN_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_gN, (st), (copy_func), (free_func)) -# define sk_SRP_gN_shift(st) SKM_sk_shift(SRP_gN, (st)) -# define sk_SRP_gN_pop(st) SKM_sk_pop(SRP_gN, (st)) -# define sk_SRP_gN_sort(st) SKM_sk_sort(SRP_gN, (st)) -# define sk_SRP_gN_is_sorted(st) SKM_sk_is_sorted(SRP_gN, (st)) -# define sk_SRP_gN_cache_new(cmp) SKM_sk_new(SRP_gN_cache, (cmp)) -# define sk_SRP_gN_cache_new_null() SKM_sk_new_null(SRP_gN_cache) -# define sk_SRP_gN_cache_free(st) SKM_sk_free(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_num(st) SKM_sk_num(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_value(st, i) SKM_sk_value(SRP_gN_cache, (st), (i)) -# define sk_SRP_gN_cache_set(st, i, val) SKM_sk_set(SRP_gN_cache, (st), (i), (val)) -# define sk_SRP_gN_cache_zero(st) SKM_sk_zero(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_push(st, val) SKM_sk_push(SRP_gN_cache, (st), (val)) -# define sk_SRP_gN_cache_unshift(st, val) SKM_sk_unshift(SRP_gN_cache, (st), (val)) -# define sk_SRP_gN_cache_find(st, val) SKM_sk_find(SRP_gN_cache, (st), (val)) -# define sk_SRP_gN_cache_find_ex(st, val) SKM_sk_find_ex(SRP_gN_cache, (st), (val)) -# define sk_SRP_gN_cache_delete(st, i) SKM_sk_delete(SRP_gN_cache, (st), (i)) -# define sk_SRP_gN_cache_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN_cache, (st), (ptr)) -# define sk_SRP_gN_cache_insert(st, val, i) SKM_sk_insert(SRP_gN_cache, (st), (val), (i)) -# define sk_SRP_gN_cache_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN_cache, (st), (cmp)) -# define sk_SRP_gN_cache_dup(st) SKM_sk_dup(SRP_gN_cache, st) -# define sk_SRP_gN_cache_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN_cache, (st), (free_func)) -# define sk_SRP_gN_cache_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_gN_cache, (st), (copy_func), (free_func)) -# define sk_SRP_gN_cache_shift(st) SKM_sk_shift(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_pop(st) SKM_sk_pop(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_sort(st) SKM_sk_sort(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_is_sorted(st) SKM_sk_is_sorted(SRP_gN_cache, (st)) -# define sk_SRP_user_pwd_new(cmp) SKM_sk_new(SRP_user_pwd, (cmp)) -# define sk_SRP_user_pwd_new_null() SKM_sk_new_null(SRP_user_pwd) -# define sk_SRP_user_pwd_free(st) SKM_sk_free(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_num(st) SKM_sk_num(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_value(st, i) SKM_sk_value(SRP_user_pwd, (st), (i)) -# define sk_SRP_user_pwd_set(st, i, val) SKM_sk_set(SRP_user_pwd, (st), (i), (val)) -# define sk_SRP_user_pwd_zero(st) SKM_sk_zero(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_push(st, val) SKM_sk_push(SRP_user_pwd, (st), (val)) -# define sk_SRP_user_pwd_unshift(st, val) SKM_sk_unshift(SRP_user_pwd, (st), (val)) -# define sk_SRP_user_pwd_find(st, val) SKM_sk_find(SRP_user_pwd, (st), (val)) -# define sk_SRP_user_pwd_find_ex(st, val) SKM_sk_find_ex(SRP_user_pwd, (st), (val)) -# define sk_SRP_user_pwd_delete(st, i) SKM_sk_delete(SRP_user_pwd, (st), (i)) -# define sk_SRP_user_pwd_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_user_pwd, (st), (ptr)) -# define sk_SRP_user_pwd_insert(st, val, i) SKM_sk_insert(SRP_user_pwd, (st), (val), (i)) -# define sk_SRP_user_pwd_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_user_pwd, (st), (cmp)) -# define sk_SRP_user_pwd_dup(st) SKM_sk_dup(SRP_user_pwd, st) -# define sk_SRP_user_pwd_pop_free(st, free_func) SKM_sk_pop_free(SRP_user_pwd, (st), (free_func)) -# define sk_SRP_user_pwd_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_user_pwd, (st), (copy_func), (free_func)) -# define sk_SRP_user_pwd_shift(st) SKM_sk_shift(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_pop(st) SKM_sk_pop(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_sort(st) SKM_sk_sort(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_is_sorted(st) SKM_sk_is_sorted(SRP_user_pwd, (st)) -# define sk_SRTP_PROTECTION_PROFILE_new(cmp) SKM_sk_new(SRTP_PROTECTION_PROFILE, (cmp)) -# define sk_SRTP_PROTECTION_PROFILE_new_null() SKM_sk_new_null(SRTP_PROTECTION_PROFILE) -# define sk_SRTP_PROTECTION_PROFILE_free(st) SKM_sk_free(SRTP_PROTECTION_PROFILE, (st)) -# define sk_SRTP_PROTECTION_PROFILE_num(st) SKM_sk_num(SRTP_PROTECTION_PROFILE, (st)) -# define sk_SRTP_PROTECTION_PROFILE_value(st, i) SKM_sk_value(SRTP_PROTECTION_PROFILE, (st), (i)) -# define sk_SRTP_PROTECTION_PROFILE_set(st, i, val) SKM_sk_set(SRTP_PROTECTION_PROFILE, (st), (i), (val)) -# define sk_SRTP_PROTECTION_PROFILE_zero(st) SKM_sk_zero(SRTP_PROTECTION_PROFILE, (st)) -# define sk_SRTP_PROTECTION_PROFILE_push(st, val) SKM_sk_push(SRTP_PROTECTION_PROFILE, (st), (val)) -# define sk_SRTP_PROTECTION_PROFILE_unshift(st, val) SKM_sk_unshift(SRTP_PROTECTION_PROFILE, (st), (val)) -# define sk_SRTP_PROTECTION_PROFILE_find(st, val) SKM_sk_find(SRTP_PROTECTION_PROFILE, (st), (val)) -# define sk_SRTP_PROTECTION_PROFILE_find_ex(st, val) SKM_sk_find_ex(SRTP_PROTECTION_PROFILE, (st), (val)) -# define sk_SRTP_PROTECTION_PROFILE_delete(st, i) SKM_sk_delete(SRTP_PROTECTION_PROFILE, (st), (i)) -# define sk_SRTP_PROTECTION_PROFILE_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRTP_PROTECTION_PROFILE, (st), (ptr)) -# define sk_SRTP_PROTECTION_PROFILE_insert(st, val, i) SKM_sk_insert(SRTP_PROTECTION_PROFILE, (st), (val), (i)) -# define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRTP_PROTECTION_PROFILE, (st), (cmp)) -# define sk_SRTP_PROTECTION_PROFILE_dup(st) SKM_sk_dup(SRTP_PROTECTION_PROFILE, st) -# define sk_SRTP_PROTECTION_PROFILE_pop_free(st, free_func) SKM_sk_pop_free(SRTP_PROTECTION_PROFILE, (st), (free_func)) -# define sk_SRTP_PROTECTION_PROFILE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRTP_PROTECTION_PROFILE, (st), (copy_func), (free_func)) -# define sk_SRTP_PROTECTION_PROFILE_shift(st) SKM_sk_shift(SRTP_PROTECTION_PROFILE, (st)) -# define sk_SRTP_PROTECTION_PROFILE_pop(st) SKM_sk_pop(SRTP_PROTECTION_PROFILE, (st)) -# define sk_SRTP_PROTECTION_PROFILE_sort(st) SKM_sk_sort(SRTP_PROTECTION_PROFILE, (st)) -# define sk_SRTP_PROTECTION_PROFILE_is_sorted(st) SKM_sk_is_sorted(SRTP_PROTECTION_PROFILE, (st)) -# define sk_SSL_CIPHER_new(cmp) SKM_sk_new(SSL_CIPHER, (cmp)) -# define sk_SSL_CIPHER_new_null() SKM_sk_new_null(SSL_CIPHER) -# define sk_SSL_CIPHER_free(st) SKM_sk_free(SSL_CIPHER, (st)) -# define sk_SSL_CIPHER_num(st) SKM_sk_num(SSL_CIPHER, (st)) -# define sk_SSL_CIPHER_value(st, i) SKM_sk_value(SSL_CIPHER, (st), (i)) -# define sk_SSL_CIPHER_set(st, i, val) SKM_sk_set(SSL_CIPHER, (st), (i), (val)) -# define sk_SSL_CIPHER_zero(st) SKM_sk_zero(SSL_CIPHER, (st)) -# define sk_SSL_CIPHER_push(st, val) SKM_sk_push(SSL_CIPHER, (st), (val)) -# define sk_SSL_CIPHER_unshift(st, val) SKM_sk_unshift(SSL_CIPHER, (st), (val)) -# define sk_SSL_CIPHER_find(st, val) SKM_sk_find(SSL_CIPHER, (st), (val)) -# define sk_SSL_CIPHER_find_ex(st, val) SKM_sk_find_ex(SSL_CIPHER, (st), (val)) -# define sk_SSL_CIPHER_delete(st, i) SKM_sk_delete(SSL_CIPHER, (st), (i)) -# define sk_SSL_CIPHER_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_CIPHER, (st), (ptr)) -# define sk_SSL_CIPHER_insert(st, val, i) SKM_sk_insert(SSL_CIPHER, (st), (val), (i)) -# define sk_SSL_CIPHER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_CIPHER, (st), (cmp)) -# define sk_SSL_CIPHER_dup(st) SKM_sk_dup(SSL_CIPHER, st) -# define sk_SSL_CIPHER_pop_free(st, free_func) SKM_sk_pop_free(SSL_CIPHER, (st), (free_func)) -# define sk_SSL_CIPHER_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SSL_CIPHER, (st), (copy_func), (free_func)) -# define sk_SSL_CIPHER_shift(st) SKM_sk_shift(SSL_CIPHER, (st)) -# define sk_SSL_CIPHER_pop(st) SKM_sk_pop(SSL_CIPHER, (st)) -# define sk_SSL_CIPHER_sort(st) SKM_sk_sort(SSL_CIPHER, (st)) -# define sk_SSL_CIPHER_is_sorted(st) SKM_sk_is_sorted(SSL_CIPHER, (st)) -# define sk_SSL_COMP_new(cmp) SKM_sk_new(SSL_COMP, (cmp)) -# define sk_SSL_COMP_new_null() SKM_sk_new_null(SSL_COMP) -# define sk_SSL_COMP_free(st) SKM_sk_free(SSL_COMP, (st)) -# define sk_SSL_COMP_num(st) SKM_sk_num(SSL_COMP, (st)) -# define sk_SSL_COMP_value(st, i) SKM_sk_value(SSL_COMP, (st), (i)) -# define sk_SSL_COMP_set(st, i, val) SKM_sk_set(SSL_COMP, (st), (i), (val)) -# define sk_SSL_COMP_zero(st) SKM_sk_zero(SSL_COMP, (st)) -# define sk_SSL_COMP_push(st, val) SKM_sk_push(SSL_COMP, (st), (val)) -# define sk_SSL_COMP_unshift(st, val) SKM_sk_unshift(SSL_COMP, (st), (val)) -# define sk_SSL_COMP_find(st, val) SKM_sk_find(SSL_COMP, (st), (val)) -# define sk_SSL_COMP_find_ex(st, val) SKM_sk_find_ex(SSL_COMP, (st), (val)) -# define sk_SSL_COMP_delete(st, i) SKM_sk_delete(SSL_COMP, (st), (i)) -# define sk_SSL_COMP_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_COMP, (st), (ptr)) -# define sk_SSL_COMP_insert(st, val, i) SKM_sk_insert(SSL_COMP, (st), (val), (i)) -# define sk_SSL_COMP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_COMP, (st), (cmp)) -# define sk_SSL_COMP_dup(st) SKM_sk_dup(SSL_COMP, st) -# define sk_SSL_COMP_pop_free(st, free_func) SKM_sk_pop_free(SSL_COMP, (st), (free_func)) -# define sk_SSL_COMP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SSL_COMP, (st), (copy_func), (free_func)) -# define sk_SSL_COMP_shift(st) SKM_sk_shift(SSL_COMP, (st)) -# define sk_SSL_COMP_pop(st) SKM_sk_pop(SSL_COMP, (st)) -# define sk_SSL_COMP_sort(st) SKM_sk_sort(SSL_COMP, (st)) -# define sk_SSL_COMP_is_sorted(st) SKM_sk_is_sorted(SSL_COMP, (st)) -# define sk_STACK_OF_X509_NAME_ENTRY_new(cmp) SKM_sk_new(STACK_OF_X509_NAME_ENTRY, (cmp)) -# define sk_STACK_OF_X509_NAME_ENTRY_new_null() SKM_sk_new_null(STACK_OF_X509_NAME_ENTRY) -# define sk_STACK_OF_X509_NAME_ENTRY_free(st) SKM_sk_free(STACK_OF_X509_NAME_ENTRY, (st)) -# define sk_STACK_OF_X509_NAME_ENTRY_num(st) SKM_sk_num(STACK_OF_X509_NAME_ENTRY, (st)) -# define sk_STACK_OF_X509_NAME_ENTRY_value(st, i) SKM_sk_value(STACK_OF_X509_NAME_ENTRY, (st), (i)) -# define sk_STACK_OF_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(STACK_OF_X509_NAME_ENTRY, (st), (i), (val)) -# define sk_STACK_OF_X509_NAME_ENTRY_zero(st) SKM_sk_zero(STACK_OF_X509_NAME_ENTRY, (st)) -# define sk_STACK_OF_X509_NAME_ENTRY_push(st, val) SKM_sk_push(STACK_OF_X509_NAME_ENTRY, (st), (val)) -# define sk_STACK_OF_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(STACK_OF_X509_NAME_ENTRY, (st), (val)) -# define sk_STACK_OF_X509_NAME_ENTRY_find(st, val) SKM_sk_find(STACK_OF_X509_NAME_ENTRY, (st), (val)) -# define sk_STACK_OF_X509_NAME_ENTRY_find_ex(st, val) SKM_sk_find_ex(STACK_OF_X509_NAME_ENTRY, (st), (val)) -# define sk_STACK_OF_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(STACK_OF_X509_NAME_ENTRY, (st), (i)) -# define sk_STACK_OF_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(STACK_OF_X509_NAME_ENTRY, (st), (ptr)) -# define sk_STACK_OF_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(STACK_OF_X509_NAME_ENTRY, (st), (val), (i)) -# define sk_STACK_OF_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STACK_OF_X509_NAME_ENTRY, (st), (cmp)) -# define sk_STACK_OF_X509_NAME_ENTRY_dup(st) SKM_sk_dup(STACK_OF_X509_NAME_ENTRY, st) -# define sk_STACK_OF_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(STACK_OF_X509_NAME_ENTRY, (st), (free_func)) -# define sk_STACK_OF_X509_NAME_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STACK_OF_X509_NAME_ENTRY, (st), (copy_func), (free_func)) -# define sk_STACK_OF_X509_NAME_ENTRY_shift(st) SKM_sk_shift(STACK_OF_X509_NAME_ENTRY, (st)) -# define sk_STACK_OF_X509_NAME_ENTRY_pop(st) SKM_sk_pop(STACK_OF_X509_NAME_ENTRY, (st)) -# define sk_STACK_OF_X509_NAME_ENTRY_sort(st) SKM_sk_sort(STACK_OF_X509_NAME_ENTRY, (st)) -# define sk_STACK_OF_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(STACK_OF_X509_NAME_ENTRY, (st)) -# define sk_STORE_ATTR_INFO_new(cmp) SKM_sk_new(STORE_ATTR_INFO, (cmp)) -# define sk_STORE_ATTR_INFO_new_null() SKM_sk_new_null(STORE_ATTR_INFO) -# define sk_STORE_ATTR_INFO_free(st) SKM_sk_free(STORE_ATTR_INFO, (st)) -# define sk_STORE_ATTR_INFO_num(st) SKM_sk_num(STORE_ATTR_INFO, (st)) -# define sk_STORE_ATTR_INFO_value(st, i) SKM_sk_value(STORE_ATTR_INFO, (st), (i)) -# define sk_STORE_ATTR_INFO_set(st, i, val) SKM_sk_set(STORE_ATTR_INFO, (st), (i), (val)) -# define sk_STORE_ATTR_INFO_zero(st) SKM_sk_zero(STORE_ATTR_INFO, (st)) -# define sk_STORE_ATTR_INFO_push(st, val) SKM_sk_push(STORE_ATTR_INFO, (st), (val)) -# define sk_STORE_ATTR_INFO_unshift(st, val) SKM_sk_unshift(STORE_ATTR_INFO, (st), (val)) -# define sk_STORE_ATTR_INFO_find(st, val) SKM_sk_find(STORE_ATTR_INFO, (st), (val)) -# define sk_STORE_ATTR_INFO_find_ex(st, val) SKM_sk_find_ex(STORE_ATTR_INFO, (st), (val)) -# define sk_STORE_ATTR_INFO_delete(st, i) SKM_sk_delete(STORE_ATTR_INFO, (st), (i)) -# define sk_STORE_ATTR_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_ATTR_INFO, (st), (ptr)) -# define sk_STORE_ATTR_INFO_insert(st, val, i) SKM_sk_insert(STORE_ATTR_INFO, (st), (val), (i)) -# define sk_STORE_ATTR_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_ATTR_INFO, (st), (cmp)) -# define sk_STORE_ATTR_INFO_dup(st) SKM_sk_dup(STORE_ATTR_INFO, st) -# define sk_STORE_ATTR_INFO_pop_free(st, free_func) SKM_sk_pop_free(STORE_ATTR_INFO, (st), (free_func)) -# define sk_STORE_ATTR_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STORE_ATTR_INFO, (st), (copy_func), (free_func)) -# define sk_STORE_ATTR_INFO_shift(st) SKM_sk_shift(STORE_ATTR_INFO, (st)) -# define sk_STORE_ATTR_INFO_pop(st) SKM_sk_pop(STORE_ATTR_INFO, (st)) -# define sk_STORE_ATTR_INFO_sort(st) SKM_sk_sort(STORE_ATTR_INFO, (st)) -# define sk_STORE_ATTR_INFO_is_sorted(st) SKM_sk_is_sorted(STORE_ATTR_INFO, (st)) -# define sk_STORE_OBJECT_new(cmp) SKM_sk_new(STORE_OBJECT, (cmp)) -# define sk_STORE_OBJECT_new_null() SKM_sk_new_null(STORE_OBJECT) -# define sk_STORE_OBJECT_free(st) SKM_sk_free(STORE_OBJECT, (st)) -# define sk_STORE_OBJECT_num(st) SKM_sk_num(STORE_OBJECT, (st)) -# define sk_STORE_OBJECT_value(st, i) SKM_sk_value(STORE_OBJECT, (st), (i)) -# define sk_STORE_OBJECT_set(st, i, val) SKM_sk_set(STORE_OBJECT, (st), (i), (val)) -# define sk_STORE_OBJECT_zero(st) SKM_sk_zero(STORE_OBJECT, (st)) -# define sk_STORE_OBJECT_push(st, val) SKM_sk_push(STORE_OBJECT, (st), (val)) -# define sk_STORE_OBJECT_unshift(st, val) SKM_sk_unshift(STORE_OBJECT, (st), (val)) -# define sk_STORE_OBJECT_find(st, val) SKM_sk_find(STORE_OBJECT, (st), (val)) -# define sk_STORE_OBJECT_find_ex(st, val) SKM_sk_find_ex(STORE_OBJECT, (st), (val)) -# define sk_STORE_OBJECT_delete(st, i) SKM_sk_delete(STORE_OBJECT, (st), (i)) -# define sk_STORE_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_OBJECT, (st), (ptr)) -# define sk_STORE_OBJECT_insert(st, val, i) SKM_sk_insert(STORE_OBJECT, (st), (val), (i)) -# define sk_STORE_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_OBJECT, (st), (cmp)) -# define sk_STORE_OBJECT_dup(st) SKM_sk_dup(STORE_OBJECT, st) -# define sk_STORE_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(STORE_OBJECT, (st), (free_func)) -# define sk_STORE_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STORE_OBJECT, (st), (copy_func), (free_func)) -# define sk_STORE_OBJECT_shift(st) SKM_sk_shift(STORE_OBJECT, (st)) -# define sk_STORE_OBJECT_pop(st) SKM_sk_pop(STORE_OBJECT, (st)) -# define sk_STORE_OBJECT_sort(st) SKM_sk_sort(STORE_OBJECT, (st)) -# define sk_STORE_OBJECT_is_sorted(st) SKM_sk_is_sorted(STORE_OBJECT, (st)) -# define sk_SXNETID_new(cmp) SKM_sk_new(SXNETID, (cmp)) -# define sk_SXNETID_new_null() SKM_sk_new_null(SXNETID) -# define sk_SXNETID_free(st) SKM_sk_free(SXNETID, (st)) -# define sk_SXNETID_num(st) SKM_sk_num(SXNETID, (st)) -# define sk_SXNETID_value(st, i) SKM_sk_value(SXNETID, (st), (i)) -# define sk_SXNETID_set(st, i, val) SKM_sk_set(SXNETID, (st), (i), (val)) -# define sk_SXNETID_zero(st) SKM_sk_zero(SXNETID, (st)) -# define sk_SXNETID_push(st, val) SKM_sk_push(SXNETID, (st), (val)) -# define sk_SXNETID_unshift(st, val) SKM_sk_unshift(SXNETID, (st), (val)) -# define sk_SXNETID_find(st, val) SKM_sk_find(SXNETID, (st), (val)) -# define sk_SXNETID_find_ex(st, val) SKM_sk_find_ex(SXNETID, (st), (val)) -# define sk_SXNETID_delete(st, i) SKM_sk_delete(SXNETID, (st), (i)) -# define sk_SXNETID_delete_ptr(st, ptr) SKM_sk_delete_ptr(SXNETID, (st), (ptr)) -# define sk_SXNETID_insert(st, val, i) SKM_sk_insert(SXNETID, (st), (val), (i)) -# define sk_SXNETID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SXNETID, (st), (cmp)) -# define sk_SXNETID_dup(st) SKM_sk_dup(SXNETID, st) -# define sk_SXNETID_pop_free(st, free_func) SKM_sk_pop_free(SXNETID, (st), (free_func)) -# define sk_SXNETID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SXNETID, (st), (copy_func), (free_func)) -# define sk_SXNETID_shift(st) SKM_sk_shift(SXNETID, (st)) -# define sk_SXNETID_pop(st) SKM_sk_pop(SXNETID, (st)) -# define sk_SXNETID_sort(st) SKM_sk_sort(SXNETID, (st)) -# define sk_SXNETID_is_sorted(st) SKM_sk_is_sorted(SXNETID, (st)) -# define sk_UI_STRING_new(cmp) SKM_sk_new(UI_STRING, (cmp)) -# define sk_UI_STRING_new_null() SKM_sk_new_null(UI_STRING) -# define sk_UI_STRING_free(st) SKM_sk_free(UI_STRING, (st)) -# define sk_UI_STRING_num(st) SKM_sk_num(UI_STRING, (st)) -# define sk_UI_STRING_value(st, i) SKM_sk_value(UI_STRING, (st), (i)) -# define sk_UI_STRING_set(st, i, val) SKM_sk_set(UI_STRING, (st), (i), (val)) -# define sk_UI_STRING_zero(st) SKM_sk_zero(UI_STRING, (st)) -# define sk_UI_STRING_push(st, val) SKM_sk_push(UI_STRING, (st), (val)) -# define sk_UI_STRING_unshift(st, val) SKM_sk_unshift(UI_STRING, (st), (val)) -# define sk_UI_STRING_find(st, val) SKM_sk_find(UI_STRING, (st), (val)) -# define sk_UI_STRING_find_ex(st, val) SKM_sk_find_ex(UI_STRING, (st), (val)) -# define sk_UI_STRING_delete(st, i) SKM_sk_delete(UI_STRING, (st), (i)) -# define sk_UI_STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(UI_STRING, (st), (ptr)) -# define sk_UI_STRING_insert(st, val, i) SKM_sk_insert(UI_STRING, (st), (val), (i)) -# define sk_UI_STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(UI_STRING, (st), (cmp)) -# define sk_UI_STRING_dup(st) SKM_sk_dup(UI_STRING, st) -# define sk_UI_STRING_pop_free(st, free_func) SKM_sk_pop_free(UI_STRING, (st), (free_func)) -# define sk_UI_STRING_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(UI_STRING, (st), (copy_func), (free_func)) -# define sk_UI_STRING_shift(st) SKM_sk_shift(UI_STRING, (st)) -# define sk_UI_STRING_pop(st) SKM_sk_pop(UI_STRING, (st)) -# define sk_UI_STRING_sort(st) SKM_sk_sort(UI_STRING, (st)) -# define sk_UI_STRING_is_sorted(st) SKM_sk_is_sorted(UI_STRING, (st)) -# define sk_X509_new(cmp) SKM_sk_new(X509, (cmp)) -# define sk_X509_new_null() SKM_sk_new_null(X509) -# define sk_X509_free(st) SKM_sk_free(X509, (st)) -# define sk_X509_num(st) SKM_sk_num(X509, (st)) -# define sk_X509_value(st, i) SKM_sk_value(X509, (st), (i)) -# define sk_X509_set(st, i, val) SKM_sk_set(X509, (st), (i), (val)) -# define sk_X509_zero(st) SKM_sk_zero(X509, (st)) -# define sk_X509_push(st, val) SKM_sk_push(X509, (st), (val)) -# define sk_X509_unshift(st, val) SKM_sk_unshift(X509, (st), (val)) -# define sk_X509_find(st, val) SKM_sk_find(X509, (st), (val)) -# define sk_X509_find_ex(st, val) SKM_sk_find_ex(X509, (st), (val)) -# define sk_X509_delete(st, i) SKM_sk_delete(X509, (st), (i)) -# define sk_X509_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509, (st), (ptr)) -# define sk_X509_insert(st, val, i) SKM_sk_insert(X509, (st), (val), (i)) -# define sk_X509_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509, (st), (cmp)) -# define sk_X509_dup(st) SKM_sk_dup(X509, st) -# define sk_X509_pop_free(st, free_func) SKM_sk_pop_free(X509, (st), (free_func)) -# define sk_X509_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509, (st), (copy_func), (free_func)) -# define sk_X509_shift(st) SKM_sk_shift(X509, (st)) -# define sk_X509_pop(st) SKM_sk_pop(X509, (st)) -# define sk_X509_sort(st) SKM_sk_sort(X509, (st)) -# define sk_X509_is_sorted(st) SKM_sk_is_sorted(X509, (st)) -# define sk_X509V3_EXT_METHOD_new(cmp) SKM_sk_new(X509V3_EXT_METHOD, (cmp)) -# define sk_X509V3_EXT_METHOD_new_null() SKM_sk_new_null(X509V3_EXT_METHOD) -# define sk_X509V3_EXT_METHOD_free(st) SKM_sk_free(X509V3_EXT_METHOD, (st)) -# define sk_X509V3_EXT_METHOD_num(st) SKM_sk_num(X509V3_EXT_METHOD, (st)) -# define sk_X509V3_EXT_METHOD_value(st, i) SKM_sk_value(X509V3_EXT_METHOD, (st), (i)) -# define sk_X509V3_EXT_METHOD_set(st, i, val) SKM_sk_set(X509V3_EXT_METHOD, (st), (i), (val)) -# define sk_X509V3_EXT_METHOD_zero(st) SKM_sk_zero(X509V3_EXT_METHOD, (st)) -# define sk_X509V3_EXT_METHOD_push(st, val) SKM_sk_push(X509V3_EXT_METHOD, (st), (val)) -# define sk_X509V3_EXT_METHOD_unshift(st, val) SKM_sk_unshift(X509V3_EXT_METHOD, (st), (val)) -# define sk_X509V3_EXT_METHOD_find(st, val) SKM_sk_find(X509V3_EXT_METHOD, (st), (val)) -# define sk_X509V3_EXT_METHOD_find_ex(st, val) SKM_sk_find_ex(X509V3_EXT_METHOD, (st), (val)) -# define sk_X509V3_EXT_METHOD_delete(st, i) SKM_sk_delete(X509V3_EXT_METHOD, (st), (i)) -# define sk_X509V3_EXT_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509V3_EXT_METHOD, (st), (ptr)) -# define sk_X509V3_EXT_METHOD_insert(st, val, i) SKM_sk_insert(X509V3_EXT_METHOD, (st), (val), (i)) -# define sk_X509V3_EXT_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509V3_EXT_METHOD, (st), (cmp)) -# define sk_X509V3_EXT_METHOD_dup(st) SKM_sk_dup(X509V3_EXT_METHOD, st) -# define sk_X509V3_EXT_METHOD_pop_free(st, free_func) SKM_sk_pop_free(X509V3_EXT_METHOD, (st), (free_func)) -# define sk_X509V3_EXT_METHOD_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509V3_EXT_METHOD, (st), (copy_func), (free_func)) -# define sk_X509V3_EXT_METHOD_shift(st) SKM_sk_shift(X509V3_EXT_METHOD, (st)) -# define sk_X509V3_EXT_METHOD_pop(st) SKM_sk_pop(X509V3_EXT_METHOD, (st)) -# define sk_X509V3_EXT_METHOD_sort(st) SKM_sk_sort(X509V3_EXT_METHOD, (st)) -# define sk_X509V3_EXT_METHOD_is_sorted(st) SKM_sk_is_sorted(X509V3_EXT_METHOD, (st)) -# define sk_X509_ALGOR_new(cmp) SKM_sk_new(X509_ALGOR, (cmp)) -# define sk_X509_ALGOR_new_null() SKM_sk_new_null(X509_ALGOR) -# define sk_X509_ALGOR_free(st) SKM_sk_free(X509_ALGOR, (st)) -# define sk_X509_ALGOR_num(st) SKM_sk_num(X509_ALGOR, (st)) -# define sk_X509_ALGOR_value(st, i) SKM_sk_value(X509_ALGOR, (st), (i)) -# define sk_X509_ALGOR_set(st, i, val) SKM_sk_set(X509_ALGOR, (st), (i), (val)) -# define sk_X509_ALGOR_zero(st) SKM_sk_zero(X509_ALGOR, (st)) -# define sk_X509_ALGOR_push(st, val) SKM_sk_push(X509_ALGOR, (st), (val)) -# define sk_X509_ALGOR_unshift(st, val) SKM_sk_unshift(X509_ALGOR, (st), (val)) -# define sk_X509_ALGOR_find(st, val) SKM_sk_find(X509_ALGOR, (st), (val)) -# define sk_X509_ALGOR_find_ex(st, val) SKM_sk_find_ex(X509_ALGOR, (st), (val)) -# define sk_X509_ALGOR_delete(st, i) SKM_sk_delete(X509_ALGOR, (st), (i)) -# define sk_X509_ALGOR_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ALGOR, (st), (ptr)) -# define sk_X509_ALGOR_insert(st, val, i) SKM_sk_insert(X509_ALGOR, (st), (val), (i)) -# define sk_X509_ALGOR_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ALGOR, (st), (cmp)) -# define sk_X509_ALGOR_dup(st) SKM_sk_dup(X509_ALGOR, st) -# define sk_X509_ALGOR_pop_free(st, free_func) SKM_sk_pop_free(X509_ALGOR, (st), (free_func)) -# define sk_X509_ALGOR_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_ALGOR, (st), (copy_func), (free_func)) -# define sk_X509_ALGOR_shift(st) SKM_sk_shift(X509_ALGOR, (st)) -# define sk_X509_ALGOR_pop(st) SKM_sk_pop(X509_ALGOR, (st)) -# define sk_X509_ALGOR_sort(st) SKM_sk_sort(X509_ALGOR, (st)) -# define sk_X509_ALGOR_is_sorted(st) SKM_sk_is_sorted(X509_ALGOR, (st)) -# define sk_X509_ATTRIBUTE_new(cmp) SKM_sk_new(X509_ATTRIBUTE, (cmp)) -# define sk_X509_ATTRIBUTE_new_null() SKM_sk_new_null(X509_ATTRIBUTE) -# define sk_X509_ATTRIBUTE_free(st) SKM_sk_free(X509_ATTRIBUTE, (st)) -# define sk_X509_ATTRIBUTE_num(st) SKM_sk_num(X509_ATTRIBUTE, (st)) -# define sk_X509_ATTRIBUTE_value(st, i) SKM_sk_value(X509_ATTRIBUTE, (st), (i)) -# define sk_X509_ATTRIBUTE_set(st, i, val) SKM_sk_set(X509_ATTRIBUTE, (st), (i), (val)) -# define sk_X509_ATTRIBUTE_zero(st) SKM_sk_zero(X509_ATTRIBUTE, (st)) -# define sk_X509_ATTRIBUTE_push(st, val) SKM_sk_push(X509_ATTRIBUTE, (st), (val)) -# define sk_X509_ATTRIBUTE_unshift(st, val) SKM_sk_unshift(X509_ATTRIBUTE, (st), (val)) -# define sk_X509_ATTRIBUTE_find(st, val) SKM_sk_find(X509_ATTRIBUTE, (st), (val)) -# define sk_X509_ATTRIBUTE_find_ex(st, val) SKM_sk_find_ex(X509_ATTRIBUTE, (st), (val)) -# define sk_X509_ATTRIBUTE_delete(st, i) SKM_sk_delete(X509_ATTRIBUTE, (st), (i)) -# define sk_X509_ATTRIBUTE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ATTRIBUTE, (st), (ptr)) -# define sk_X509_ATTRIBUTE_insert(st, val, i) SKM_sk_insert(X509_ATTRIBUTE, (st), (val), (i)) -# define sk_X509_ATTRIBUTE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ATTRIBUTE, (st), (cmp)) -# define sk_X509_ATTRIBUTE_dup(st) SKM_sk_dup(X509_ATTRIBUTE, st) -# define sk_X509_ATTRIBUTE_pop_free(st, free_func) SKM_sk_pop_free(X509_ATTRIBUTE, (st), (free_func)) -# define sk_X509_ATTRIBUTE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_ATTRIBUTE, (st), (copy_func), (free_func)) -# define sk_X509_ATTRIBUTE_shift(st) SKM_sk_shift(X509_ATTRIBUTE, (st)) -# define sk_X509_ATTRIBUTE_pop(st) SKM_sk_pop(X509_ATTRIBUTE, (st)) -# define sk_X509_ATTRIBUTE_sort(st) SKM_sk_sort(X509_ATTRIBUTE, (st)) -# define sk_X509_ATTRIBUTE_is_sorted(st) SKM_sk_is_sorted(X509_ATTRIBUTE, (st)) -# define sk_X509_CRL_new(cmp) SKM_sk_new(X509_CRL, (cmp)) -# define sk_X509_CRL_new_null() SKM_sk_new_null(X509_CRL) -# define sk_X509_CRL_free(st) SKM_sk_free(X509_CRL, (st)) -# define sk_X509_CRL_num(st) SKM_sk_num(X509_CRL, (st)) -# define sk_X509_CRL_value(st, i) SKM_sk_value(X509_CRL, (st), (i)) -# define sk_X509_CRL_set(st, i, val) SKM_sk_set(X509_CRL, (st), (i), (val)) -# define sk_X509_CRL_zero(st) SKM_sk_zero(X509_CRL, (st)) -# define sk_X509_CRL_push(st, val) SKM_sk_push(X509_CRL, (st), (val)) -# define sk_X509_CRL_unshift(st, val) SKM_sk_unshift(X509_CRL, (st), (val)) -# define sk_X509_CRL_find(st, val) SKM_sk_find(X509_CRL, (st), (val)) -# define sk_X509_CRL_find_ex(st, val) SKM_sk_find_ex(X509_CRL, (st), (val)) -# define sk_X509_CRL_delete(st, i) SKM_sk_delete(X509_CRL, (st), (i)) -# define sk_X509_CRL_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_CRL, (st), (ptr)) -# define sk_X509_CRL_insert(st, val, i) SKM_sk_insert(X509_CRL, (st), (val), (i)) -# define sk_X509_CRL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_CRL, (st), (cmp)) -# define sk_X509_CRL_dup(st) SKM_sk_dup(X509_CRL, st) -# define sk_X509_CRL_pop_free(st, free_func) SKM_sk_pop_free(X509_CRL, (st), (free_func)) -# define sk_X509_CRL_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_CRL, (st), (copy_func), (free_func)) -# define sk_X509_CRL_shift(st) SKM_sk_shift(X509_CRL, (st)) -# define sk_X509_CRL_pop(st) SKM_sk_pop(X509_CRL, (st)) -# define sk_X509_CRL_sort(st) SKM_sk_sort(X509_CRL, (st)) -# define sk_X509_CRL_is_sorted(st) SKM_sk_is_sorted(X509_CRL, (st)) -# define sk_X509_EXTENSION_new(cmp) SKM_sk_new(X509_EXTENSION, (cmp)) -# define sk_X509_EXTENSION_new_null() SKM_sk_new_null(X509_EXTENSION) -# define sk_X509_EXTENSION_free(st) SKM_sk_free(X509_EXTENSION, (st)) -# define sk_X509_EXTENSION_num(st) SKM_sk_num(X509_EXTENSION, (st)) -# define sk_X509_EXTENSION_value(st, i) SKM_sk_value(X509_EXTENSION, (st), (i)) -# define sk_X509_EXTENSION_set(st, i, val) SKM_sk_set(X509_EXTENSION, (st), (i), (val)) -# define sk_X509_EXTENSION_zero(st) SKM_sk_zero(X509_EXTENSION, (st)) -# define sk_X509_EXTENSION_push(st, val) SKM_sk_push(X509_EXTENSION, (st), (val)) -# define sk_X509_EXTENSION_unshift(st, val) SKM_sk_unshift(X509_EXTENSION, (st), (val)) -# define sk_X509_EXTENSION_find(st, val) SKM_sk_find(X509_EXTENSION, (st), (val)) -# define sk_X509_EXTENSION_find_ex(st, val) SKM_sk_find_ex(X509_EXTENSION, (st), (val)) -# define sk_X509_EXTENSION_delete(st, i) SKM_sk_delete(X509_EXTENSION, (st), (i)) -# define sk_X509_EXTENSION_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_EXTENSION, (st), (ptr)) -# define sk_X509_EXTENSION_insert(st, val, i) SKM_sk_insert(X509_EXTENSION, (st), (val), (i)) -# define sk_X509_EXTENSION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_EXTENSION, (st), (cmp)) -# define sk_X509_EXTENSION_dup(st) SKM_sk_dup(X509_EXTENSION, st) -# define sk_X509_EXTENSION_pop_free(st, free_func) SKM_sk_pop_free(X509_EXTENSION, (st), (free_func)) -# define sk_X509_EXTENSION_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_EXTENSION, (st), (copy_func), (free_func)) -# define sk_X509_EXTENSION_shift(st) SKM_sk_shift(X509_EXTENSION, (st)) -# define sk_X509_EXTENSION_pop(st) SKM_sk_pop(X509_EXTENSION, (st)) -# define sk_X509_EXTENSION_sort(st) SKM_sk_sort(X509_EXTENSION, (st)) -# define sk_X509_EXTENSION_is_sorted(st) SKM_sk_is_sorted(X509_EXTENSION, (st)) -# define sk_X509_INFO_new(cmp) SKM_sk_new(X509_INFO, (cmp)) -# define sk_X509_INFO_new_null() SKM_sk_new_null(X509_INFO) -# define sk_X509_INFO_free(st) SKM_sk_free(X509_INFO, (st)) -# define sk_X509_INFO_num(st) SKM_sk_num(X509_INFO, (st)) -# define sk_X509_INFO_value(st, i) SKM_sk_value(X509_INFO, (st), (i)) -# define sk_X509_INFO_set(st, i, val) SKM_sk_set(X509_INFO, (st), (i), (val)) -# define sk_X509_INFO_zero(st) SKM_sk_zero(X509_INFO, (st)) -# define sk_X509_INFO_push(st, val) SKM_sk_push(X509_INFO, (st), (val)) -# define sk_X509_INFO_unshift(st, val) SKM_sk_unshift(X509_INFO, (st), (val)) -# define sk_X509_INFO_find(st, val) SKM_sk_find(X509_INFO, (st), (val)) -# define sk_X509_INFO_find_ex(st, val) SKM_sk_find_ex(X509_INFO, (st), (val)) -# define sk_X509_INFO_delete(st, i) SKM_sk_delete(X509_INFO, (st), (i)) -# define sk_X509_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_INFO, (st), (ptr)) -# define sk_X509_INFO_insert(st, val, i) SKM_sk_insert(X509_INFO, (st), (val), (i)) -# define sk_X509_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_INFO, (st), (cmp)) -# define sk_X509_INFO_dup(st) SKM_sk_dup(X509_INFO, st) -# define sk_X509_INFO_pop_free(st, free_func) SKM_sk_pop_free(X509_INFO, (st), (free_func)) -# define sk_X509_INFO_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_INFO, (st), (copy_func), (free_func)) -# define sk_X509_INFO_shift(st) SKM_sk_shift(X509_INFO, (st)) -# define sk_X509_INFO_pop(st) SKM_sk_pop(X509_INFO, (st)) -# define sk_X509_INFO_sort(st) SKM_sk_sort(X509_INFO, (st)) -# define sk_X509_INFO_is_sorted(st) SKM_sk_is_sorted(X509_INFO, (st)) -# define sk_X509_LOOKUP_new(cmp) SKM_sk_new(X509_LOOKUP, (cmp)) -# define sk_X509_LOOKUP_new_null() SKM_sk_new_null(X509_LOOKUP) -# define sk_X509_LOOKUP_free(st) SKM_sk_free(X509_LOOKUP, (st)) -# define sk_X509_LOOKUP_num(st) SKM_sk_num(X509_LOOKUP, (st)) -# define sk_X509_LOOKUP_value(st, i) SKM_sk_value(X509_LOOKUP, (st), (i)) -# define sk_X509_LOOKUP_set(st, i, val) SKM_sk_set(X509_LOOKUP, (st), (i), (val)) -# define sk_X509_LOOKUP_zero(st) SKM_sk_zero(X509_LOOKUP, (st)) -# define sk_X509_LOOKUP_push(st, val) SKM_sk_push(X509_LOOKUP, (st), (val)) -# define sk_X509_LOOKUP_unshift(st, val) SKM_sk_unshift(X509_LOOKUP, (st), (val)) -# define sk_X509_LOOKUP_find(st, val) SKM_sk_find(X509_LOOKUP, (st), (val)) -# define sk_X509_LOOKUP_find_ex(st, val) SKM_sk_find_ex(X509_LOOKUP, (st), (val)) -# define sk_X509_LOOKUP_delete(st, i) SKM_sk_delete(X509_LOOKUP, (st), (i)) -# define sk_X509_LOOKUP_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_LOOKUP, (st), (ptr)) -# define sk_X509_LOOKUP_insert(st, val, i) SKM_sk_insert(X509_LOOKUP, (st), (val), (i)) -# define sk_X509_LOOKUP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_LOOKUP, (st), (cmp)) -# define sk_X509_LOOKUP_dup(st) SKM_sk_dup(X509_LOOKUP, st) -# define sk_X509_LOOKUP_pop_free(st, free_func) SKM_sk_pop_free(X509_LOOKUP, (st), (free_func)) -# define sk_X509_LOOKUP_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_LOOKUP, (st), (copy_func), (free_func)) -# define sk_X509_LOOKUP_shift(st) SKM_sk_shift(X509_LOOKUP, (st)) -# define sk_X509_LOOKUP_pop(st) SKM_sk_pop(X509_LOOKUP, (st)) -# define sk_X509_LOOKUP_sort(st) SKM_sk_sort(X509_LOOKUP, (st)) -# define sk_X509_LOOKUP_is_sorted(st) SKM_sk_is_sorted(X509_LOOKUP, (st)) -# define sk_X509_NAME_new(cmp) SKM_sk_new(X509_NAME, (cmp)) -# define sk_X509_NAME_new_null() SKM_sk_new_null(X509_NAME) -# define sk_X509_NAME_free(st) SKM_sk_free(X509_NAME, (st)) -# define sk_X509_NAME_num(st) SKM_sk_num(X509_NAME, (st)) -# define sk_X509_NAME_value(st, i) SKM_sk_value(X509_NAME, (st), (i)) -# define sk_X509_NAME_set(st, i, val) SKM_sk_set(X509_NAME, (st), (i), (val)) -# define sk_X509_NAME_zero(st) SKM_sk_zero(X509_NAME, (st)) -# define sk_X509_NAME_push(st, val) SKM_sk_push(X509_NAME, (st), (val)) -# define sk_X509_NAME_unshift(st, val) SKM_sk_unshift(X509_NAME, (st), (val)) -# define sk_X509_NAME_find(st, val) SKM_sk_find(X509_NAME, (st), (val)) -# define sk_X509_NAME_find_ex(st, val) SKM_sk_find_ex(X509_NAME, (st), (val)) -# define sk_X509_NAME_delete(st, i) SKM_sk_delete(X509_NAME, (st), (i)) -# define sk_X509_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME, (st), (ptr)) -# define sk_X509_NAME_insert(st, val, i) SKM_sk_insert(X509_NAME, (st), (val), (i)) -# define sk_X509_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME, (st), (cmp)) -# define sk_X509_NAME_dup(st) SKM_sk_dup(X509_NAME, st) -# define sk_X509_NAME_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME, (st), (free_func)) -# define sk_X509_NAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_NAME, (st), (copy_func), (free_func)) -# define sk_X509_NAME_shift(st) SKM_sk_shift(X509_NAME, (st)) -# define sk_X509_NAME_pop(st) SKM_sk_pop(X509_NAME, (st)) -# define sk_X509_NAME_sort(st) SKM_sk_sort(X509_NAME, (st)) -# define sk_X509_NAME_is_sorted(st) SKM_sk_is_sorted(X509_NAME, (st)) -# define sk_X509_NAME_ENTRY_new(cmp) SKM_sk_new(X509_NAME_ENTRY, (cmp)) -# define sk_X509_NAME_ENTRY_new_null() SKM_sk_new_null(X509_NAME_ENTRY) -# define sk_X509_NAME_ENTRY_free(st) SKM_sk_free(X509_NAME_ENTRY, (st)) -# define sk_X509_NAME_ENTRY_num(st) SKM_sk_num(X509_NAME_ENTRY, (st)) -# define sk_X509_NAME_ENTRY_value(st, i) SKM_sk_value(X509_NAME_ENTRY, (st), (i)) -# define sk_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(X509_NAME_ENTRY, (st), (i), (val)) -# define sk_X509_NAME_ENTRY_zero(st) SKM_sk_zero(X509_NAME_ENTRY, (st)) -# define sk_X509_NAME_ENTRY_push(st, val) SKM_sk_push(X509_NAME_ENTRY, (st), (val)) -# define sk_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(X509_NAME_ENTRY, (st), (val)) -# define sk_X509_NAME_ENTRY_find(st, val) SKM_sk_find(X509_NAME_ENTRY, (st), (val)) -# define sk_X509_NAME_ENTRY_find_ex(st, val) SKM_sk_find_ex(X509_NAME_ENTRY, (st), (val)) -# define sk_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(X509_NAME_ENTRY, (st), (i)) -# define sk_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME_ENTRY, (st), (ptr)) -# define sk_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(X509_NAME_ENTRY, (st), (val), (i)) -# define sk_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME_ENTRY, (st), (cmp)) -# define sk_X509_NAME_ENTRY_dup(st) SKM_sk_dup(X509_NAME_ENTRY, st) -# define sk_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME_ENTRY, (st), (free_func)) -# define sk_X509_NAME_ENTRY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_NAME_ENTRY, (st), (copy_func), (free_func)) -# define sk_X509_NAME_ENTRY_shift(st) SKM_sk_shift(X509_NAME_ENTRY, (st)) -# define sk_X509_NAME_ENTRY_pop(st) SKM_sk_pop(X509_NAME_ENTRY, (st)) -# define sk_X509_NAME_ENTRY_sort(st) SKM_sk_sort(X509_NAME_ENTRY, (st)) -# define sk_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(X509_NAME_ENTRY, (st)) -# define sk_X509_OBJECT_new(cmp) SKM_sk_new(X509_OBJECT, (cmp)) -# define sk_X509_OBJECT_new_null() SKM_sk_new_null(X509_OBJECT) -# define sk_X509_OBJECT_free(st) SKM_sk_free(X509_OBJECT, (st)) -# define sk_X509_OBJECT_num(st) SKM_sk_num(X509_OBJECT, (st)) -# define sk_X509_OBJECT_value(st, i) SKM_sk_value(X509_OBJECT, (st), (i)) -# define sk_X509_OBJECT_set(st, i, val) SKM_sk_set(X509_OBJECT, (st), (i), (val)) -# define sk_X509_OBJECT_zero(st) SKM_sk_zero(X509_OBJECT, (st)) -# define sk_X509_OBJECT_push(st, val) SKM_sk_push(X509_OBJECT, (st), (val)) -# define sk_X509_OBJECT_unshift(st, val) SKM_sk_unshift(X509_OBJECT, (st), (val)) -# define sk_X509_OBJECT_find(st, val) SKM_sk_find(X509_OBJECT, (st), (val)) -# define sk_X509_OBJECT_find_ex(st, val) SKM_sk_find_ex(X509_OBJECT, (st), (val)) -# define sk_X509_OBJECT_delete(st, i) SKM_sk_delete(X509_OBJECT, (st), (i)) -# define sk_X509_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_OBJECT, (st), (ptr)) -# define sk_X509_OBJECT_insert(st, val, i) SKM_sk_insert(X509_OBJECT, (st), (val), (i)) -# define sk_X509_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_OBJECT, (st), (cmp)) -# define sk_X509_OBJECT_dup(st) SKM_sk_dup(X509_OBJECT, st) -# define sk_X509_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(X509_OBJECT, (st), (free_func)) -# define sk_X509_OBJECT_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_OBJECT, (st), (copy_func), (free_func)) -# define sk_X509_OBJECT_shift(st) SKM_sk_shift(X509_OBJECT, (st)) -# define sk_X509_OBJECT_pop(st) SKM_sk_pop(X509_OBJECT, (st)) -# define sk_X509_OBJECT_sort(st) SKM_sk_sort(X509_OBJECT, (st)) -# define sk_X509_OBJECT_is_sorted(st) SKM_sk_is_sorted(X509_OBJECT, (st)) -# define sk_X509_POLICY_DATA_new(cmp) SKM_sk_new(X509_POLICY_DATA, (cmp)) -# define sk_X509_POLICY_DATA_new_null() SKM_sk_new_null(X509_POLICY_DATA) -# define sk_X509_POLICY_DATA_free(st) SKM_sk_free(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_num(st) SKM_sk_num(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_value(st, i) SKM_sk_value(X509_POLICY_DATA, (st), (i)) -# define sk_X509_POLICY_DATA_set(st, i, val) SKM_sk_set(X509_POLICY_DATA, (st), (i), (val)) -# define sk_X509_POLICY_DATA_zero(st) SKM_sk_zero(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_push(st, val) SKM_sk_push(X509_POLICY_DATA, (st), (val)) -# define sk_X509_POLICY_DATA_unshift(st, val) SKM_sk_unshift(X509_POLICY_DATA, (st), (val)) -# define sk_X509_POLICY_DATA_find(st, val) SKM_sk_find(X509_POLICY_DATA, (st), (val)) -# define sk_X509_POLICY_DATA_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_DATA, (st), (val)) -# define sk_X509_POLICY_DATA_delete(st, i) SKM_sk_delete(X509_POLICY_DATA, (st), (i)) -# define sk_X509_POLICY_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_DATA, (st), (ptr)) -# define sk_X509_POLICY_DATA_insert(st, val, i) SKM_sk_insert(X509_POLICY_DATA, (st), (val), (i)) -# define sk_X509_POLICY_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_DATA, (st), (cmp)) -# define sk_X509_POLICY_DATA_dup(st) SKM_sk_dup(X509_POLICY_DATA, st) -# define sk_X509_POLICY_DATA_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_DATA, (st), (free_func)) -# define sk_X509_POLICY_DATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_POLICY_DATA, (st), (copy_func), (free_func)) -# define sk_X509_POLICY_DATA_shift(st) SKM_sk_shift(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_pop(st) SKM_sk_pop(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_sort(st) SKM_sk_sort(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_NODE_new(cmp) SKM_sk_new(X509_POLICY_NODE, (cmp)) -# define sk_X509_POLICY_NODE_new_null() SKM_sk_new_null(X509_POLICY_NODE) -# define sk_X509_POLICY_NODE_free(st) SKM_sk_free(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_num(st) SKM_sk_num(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_value(st, i) SKM_sk_value(X509_POLICY_NODE, (st), (i)) -# define sk_X509_POLICY_NODE_set(st, i, val) SKM_sk_set(X509_POLICY_NODE, (st), (i), (val)) -# define sk_X509_POLICY_NODE_zero(st) SKM_sk_zero(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_push(st, val) SKM_sk_push(X509_POLICY_NODE, (st), (val)) -# define sk_X509_POLICY_NODE_unshift(st, val) SKM_sk_unshift(X509_POLICY_NODE, (st), (val)) -# define sk_X509_POLICY_NODE_find(st, val) SKM_sk_find(X509_POLICY_NODE, (st), (val)) -# define sk_X509_POLICY_NODE_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_NODE, (st), (val)) -# define sk_X509_POLICY_NODE_delete(st, i) SKM_sk_delete(X509_POLICY_NODE, (st), (i)) -# define sk_X509_POLICY_NODE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_NODE, (st), (ptr)) -# define sk_X509_POLICY_NODE_insert(st, val, i) SKM_sk_insert(X509_POLICY_NODE, (st), (val), (i)) -# define sk_X509_POLICY_NODE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_NODE, (st), (cmp)) -# define sk_X509_POLICY_NODE_dup(st) SKM_sk_dup(X509_POLICY_NODE, st) -# define sk_X509_POLICY_NODE_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_NODE, (st), (free_func)) -# define sk_X509_POLICY_NODE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_POLICY_NODE, (st), (copy_func), (free_func)) -# define sk_X509_POLICY_NODE_shift(st) SKM_sk_shift(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_pop(st) SKM_sk_pop(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_sort(st) SKM_sk_sort(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_NODE, (st)) -# define sk_X509_PURPOSE_new(cmp) SKM_sk_new(X509_PURPOSE, (cmp)) -# define sk_X509_PURPOSE_new_null() SKM_sk_new_null(X509_PURPOSE) -# define sk_X509_PURPOSE_free(st) SKM_sk_free(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_num(st) SKM_sk_num(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_value(st, i) SKM_sk_value(X509_PURPOSE, (st), (i)) -# define sk_X509_PURPOSE_set(st, i, val) SKM_sk_set(X509_PURPOSE, (st), (i), (val)) -# define sk_X509_PURPOSE_zero(st) SKM_sk_zero(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_push(st, val) SKM_sk_push(X509_PURPOSE, (st), (val)) -# define sk_X509_PURPOSE_unshift(st, val) SKM_sk_unshift(X509_PURPOSE, (st), (val)) -# define sk_X509_PURPOSE_find(st, val) SKM_sk_find(X509_PURPOSE, (st), (val)) -# define sk_X509_PURPOSE_find_ex(st, val) SKM_sk_find_ex(X509_PURPOSE, (st), (val)) -# define sk_X509_PURPOSE_delete(st, i) SKM_sk_delete(X509_PURPOSE, (st), (i)) -# define sk_X509_PURPOSE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_PURPOSE, (st), (ptr)) -# define sk_X509_PURPOSE_insert(st, val, i) SKM_sk_insert(X509_PURPOSE, (st), (val), (i)) -# define sk_X509_PURPOSE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_PURPOSE, (st), (cmp)) -# define sk_X509_PURPOSE_dup(st) SKM_sk_dup(X509_PURPOSE, st) -# define sk_X509_PURPOSE_pop_free(st, free_func) SKM_sk_pop_free(X509_PURPOSE, (st), (free_func)) -# define sk_X509_PURPOSE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_PURPOSE, (st), (copy_func), (free_func)) -# define sk_X509_PURPOSE_shift(st) SKM_sk_shift(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_pop(st) SKM_sk_pop(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_sort(st) SKM_sk_sort(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_is_sorted(st) SKM_sk_is_sorted(X509_PURPOSE, (st)) -# define sk_X509_REVOKED_new(cmp) SKM_sk_new(X509_REVOKED, (cmp)) -# define sk_X509_REVOKED_new_null() SKM_sk_new_null(X509_REVOKED) -# define sk_X509_REVOKED_free(st) SKM_sk_free(X509_REVOKED, (st)) -# define sk_X509_REVOKED_num(st) SKM_sk_num(X509_REVOKED, (st)) -# define sk_X509_REVOKED_value(st, i) SKM_sk_value(X509_REVOKED, (st), (i)) -# define sk_X509_REVOKED_set(st, i, val) SKM_sk_set(X509_REVOKED, (st), (i), (val)) -# define sk_X509_REVOKED_zero(st) SKM_sk_zero(X509_REVOKED, (st)) -# define sk_X509_REVOKED_push(st, val) SKM_sk_push(X509_REVOKED, (st), (val)) -# define sk_X509_REVOKED_unshift(st, val) SKM_sk_unshift(X509_REVOKED, (st), (val)) -# define sk_X509_REVOKED_find(st, val) SKM_sk_find(X509_REVOKED, (st), (val)) -# define sk_X509_REVOKED_find_ex(st, val) SKM_sk_find_ex(X509_REVOKED, (st), (val)) -# define sk_X509_REVOKED_delete(st, i) SKM_sk_delete(X509_REVOKED, (st), (i)) -# define sk_X509_REVOKED_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_REVOKED, (st), (ptr)) -# define sk_X509_REVOKED_insert(st, val, i) SKM_sk_insert(X509_REVOKED, (st), (val), (i)) -# define sk_X509_REVOKED_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_REVOKED, (st), (cmp)) -# define sk_X509_REVOKED_dup(st) SKM_sk_dup(X509_REVOKED, st) -# define sk_X509_REVOKED_pop_free(st, free_func) SKM_sk_pop_free(X509_REVOKED, (st), (free_func)) -# define sk_X509_REVOKED_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_REVOKED, (st), (copy_func), (free_func)) -# define sk_X509_REVOKED_shift(st) SKM_sk_shift(X509_REVOKED, (st)) -# define sk_X509_REVOKED_pop(st) SKM_sk_pop(X509_REVOKED, (st)) -# define sk_X509_REVOKED_sort(st) SKM_sk_sort(X509_REVOKED, (st)) -# define sk_X509_REVOKED_is_sorted(st) SKM_sk_is_sorted(X509_REVOKED, (st)) -# define sk_X509_TRUST_new(cmp) SKM_sk_new(X509_TRUST, (cmp)) -# define sk_X509_TRUST_new_null() SKM_sk_new_null(X509_TRUST) -# define sk_X509_TRUST_free(st) SKM_sk_free(X509_TRUST, (st)) -# define sk_X509_TRUST_num(st) SKM_sk_num(X509_TRUST, (st)) -# define sk_X509_TRUST_value(st, i) SKM_sk_value(X509_TRUST, (st), (i)) -# define sk_X509_TRUST_set(st, i, val) SKM_sk_set(X509_TRUST, (st), (i), (val)) -# define sk_X509_TRUST_zero(st) SKM_sk_zero(X509_TRUST, (st)) -# define sk_X509_TRUST_push(st, val) SKM_sk_push(X509_TRUST, (st), (val)) -# define sk_X509_TRUST_unshift(st, val) SKM_sk_unshift(X509_TRUST, (st), (val)) -# define sk_X509_TRUST_find(st, val) SKM_sk_find(X509_TRUST, (st), (val)) -# define sk_X509_TRUST_find_ex(st, val) SKM_sk_find_ex(X509_TRUST, (st), (val)) -# define sk_X509_TRUST_delete(st, i) SKM_sk_delete(X509_TRUST, (st), (i)) -# define sk_X509_TRUST_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_TRUST, (st), (ptr)) -# define sk_X509_TRUST_insert(st, val, i) SKM_sk_insert(X509_TRUST, (st), (val), (i)) -# define sk_X509_TRUST_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_TRUST, (st), (cmp)) -# define sk_X509_TRUST_dup(st) SKM_sk_dup(X509_TRUST, st) -# define sk_X509_TRUST_pop_free(st, free_func) SKM_sk_pop_free(X509_TRUST, (st), (free_func)) -# define sk_X509_TRUST_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_TRUST, (st), (copy_func), (free_func)) -# define sk_X509_TRUST_shift(st) SKM_sk_shift(X509_TRUST, (st)) -# define sk_X509_TRUST_pop(st) SKM_sk_pop(X509_TRUST, (st)) -# define sk_X509_TRUST_sort(st) SKM_sk_sort(X509_TRUST, (st)) -# define sk_X509_TRUST_is_sorted(st) SKM_sk_is_sorted(X509_TRUST, (st)) -# define sk_X509_VERIFY_PARAM_new(cmp) SKM_sk_new(X509_VERIFY_PARAM, (cmp)) -# define sk_X509_VERIFY_PARAM_new_null() SKM_sk_new_null(X509_VERIFY_PARAM) -# define sk_X509_VERIFY_PARAM_free(st) SKM_sk_free(X509_VERIFY_PARAM, (st)) -# define sk_X509_VERIFY_PARAM_num(st) SKM_sk_num(X509_VERIFY_PARAM, (st)) -# define sk_X509_VERIFY_PARAM_value(st, i) SKM_sk_value(X509_VERIFY_PARAM, (st), (i)) -# define sk_X509_VERIFY_PARAM_set(st, i, val) SKM_sk_set(X509_VERIFY_PARAM, (st), (i), (val)) -# define sk_X509_VERIFY_PARAM_zero(st) SKM_sk_zero(X509_VERIFY_PARAM, (st)) -# define sk_X509_VERIFY_PARAM_push(st, val) SKM_sk_push(X509_VERIFY_PARAM, (st), (val)) -# define sk_X509_VERIFY_PARAM_unshift(st, val) SKM_sk_unshift(X509_VERIFY_PARAM, (st), (val)) -# define sk_X509_VERIFY_PARAM_find(st, val) SKM_sk_find(X509_VERIFY_PARAM, (st), (val)) -# define sk_X509_VERIFY_PARAM_find_ex(st, val) SKM_sk_find_ex(X509_VERIFY_PARAM, (st), (val)) -# define sk_X509_VERIFY_PARAM_delete(st, i) SKM_sk_delete(X509_VERIFY_PARAM, (st), (i)) -# define sk_X509_VERIFY_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_VERIFY_PARAM, (st), (ptr)) -# define sk_X509_VERIFY_PARAM_insert(st, val, i) SKM_sk_insert(X509_VERIFY_PARAM, (st), (val), (i)) -# define sk_X509_VERIFY_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_VERIFY_PARAM, (st), (cmp)) -# define sk_X509_VERIFY_PARAM_dup(st) SKM_sk_dup(X509_VERIFY_PARAM, st) -# define sk_X509_VERIFY_PARAM_pop_free(st, free_func) SKM_sk_pop_free(X509_VERIFY_PARAM, (st), (free_func)) -# define sk_X509_VERIFY_PARAM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_VERIFY_PARAM, (st), (copy_func), (free_func)) -# define sk_X509_VERIFY_PARAM_shift(st) SKM_sk_shift(X509_VERIFY_PARAM, (st)) -# define sk_X509_VERIFY_PARAM_pop(st) SKM_sk_pop(X509_VERIFY_PARAM, (st)) -# define sk_X509_VERIFY_PARAM_sort(st) SKM_sk_sort(X509_VERIFY_PARAM, (st)) -# define sk_X509_VERIFY_PARAM_is_sorted(st) SKM_sk_is_sorted(X509_VERIFY_PARAM, (st)) -# define sk_nid_triple_new(cmp) SKM_sk_new(nid_triple, (cmp)) -# define sk_nid_triple_new_null() SKM_sk_new_null(nid_triple) -# define sk_nid_triple_free(st) SKM_sk_free(nid_triple, (st)) -# define sk_nid_triple_num(st) SKM_sk_num(nid_triple, (st)) -# define sk_nid_triple_value(st, i) SKM_sk_value(nid_triple, (st), (i)) -# define sk_nid_triple_set(st, i, val) SKM_sk_set(nid_triple, (st), (i), (val)) -# define sk_nid_triple_zero(st) SKM_sk_zero(nid_triple, (st)) -# define sk_nid_triple_push(st, val) SKM_sk_push(nid_triple, (st), (val)) -# define sk_nid_triple_unshift(st, val) SKM_sk_unshift(nid_triple, (st), (val)) -# define sk_nid_triple_find(st, val) SKM_sk_find(nid_triple, (st), (val)) -# define sk_nid_triple_find_ex(st, val) SKM_sk_find_ex(nid_triple, (st), (val)) -# define sk_nid_triple_delete(st, i) SKM_sk_delete(nid_triple, (st), (i)) -# define sk_nid_triple_delete_ptr(st, ptr) SKM_sk_delete_ptr(nid_triple, (st), (ptr)) -# define sk_nid_triple_insert(st, val, i) SKM_sk_insert(nid_triple, (st), (val), (i)) -# define sk_nid_triple_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(nid_triple, (st), (cmp)) -# define sk_nid_triple_dup(st) SKM_sk_dup(nid_triple, st) -# define sk_nid_triple_pop_free(st, free_func) SKM_sk_pop_free(nid_triple, (st), (free_func)) -# define sk_nid_triple_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(nid_triple, (st), (copy_func), (free_func)) -# define sk_nid_triple_shift(st) SKM_sk_shift(nid_triple, (st)) -# define sk_nid_triple_pop(st) SKM_sk_pop(nid_triple, (st)) -# define sk_nid_triple_sort(st) SKM_sk_sort(nid_triple, (st)) -# define sk_nid_triple_is_sorted(st) SKM_sk_is_sorted(nid_triple, (st)) -# define sk_void_new(cmp) SKM_sk_new(void, (cmp)) -# define sk_void_new_null() SKM_sk_new_null(void) -# define sk_void_free(st) SKM_sk_free(void, (st)) -# define sk_void_num(st) SKM_sk_num(void, (st)) -# define sk_void_value(st, i) SKM_sk_value(void, (st), (i)) -# define sk_void_set(st, i, val) SKM_sk_set(void, (st), (i), (val)) -# define sk_void_zero(st) SKM_sk_zero(void, (st)) -# define sk_void_push(st, val) SKM_sk_push(void, (st), (val)) -# define sk_void_unshift(st, val) SKM_sk_unshift(void, (st), (val)) -# define sk_void_find(st, val) SKM_sk_find(void, (st), (val)) -# define sk_void_find_ex(st, val) SKM_sk_find_ex(void, (st), (val)) -# define sk_void_delete(st, i) SKM_sk_delete(void, (st), (i)) -# define sk_void_delete_ptr(st, ptr) SKM_sk_delete_ptr(void, (st), (ptr)) -# define sk_void_insert(st, val, i) SKM_sk_insert(void, (st), (val), (i)) -# define sk_void_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(void, (st), (cmp)) -# define sk_void_dup(st) SKM_sk_dup(void, st) -# define sk_void_pop_free(st, free_func) SKM_sk_pop_free(void, (st), (free_func)) -# define sk_void_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(void, (st), (copy_func), (free_func)) -# define sk_void_shift(st) SKM_sk_shift(void, (st)) -# define sk_void_pop(st) SKM_sk_pop(void, (st)) -# define sk_void_sort(st) SKM_sk_sort(void, (st)) -# define sk_void_is_sorted(st) SKM_sk_is_sorted(void, (st)) -# define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)sk_new(CHECKED_SK_CMP_FUNC(char, cmp))) -# define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)sk_new_null()) -# define sk_OPENSSL_STRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) -# define sk_OPENSSL_STRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) -# define sk_OPENSSL_STRING_value(st, i) ((OPENSSL_STRING)sk_value(CHECKED_STACK_OF(OPENSSL_STRING, st), i)) -# define sk_OPENSSL_STRING_num(st) SKM_sk_num(OPENSSL_STRING, st) -# define sk_OPENSSL_STRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_FREE_FUNC(char, free_func)) -# define sk_OPENSSL_STRING_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_STRING) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_COPY_FUNC(char, copy_func), CHECKED_SK_FREE_FUNC(char, free_func))) -# define sk_OPENSSL_STRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val), i) -# define sk_OPENSSL_STRING_free(st) SKM_sk_free(OPENSSL_STRING, st) -# define sk_OPENSSL_STRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_STRING, st), i, CHECKED_PTR_OF(char, val)) -# define sk_OPENSSL_STRING_zero(st) SKM_sk_zero(OPENSSL_STRING, (st)) -# define sk_OPENSSL_STRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) -# define sk_OPENSSL_STRING_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_STRING), st), CHECKED_CONST_PTR_OF(char, val)) -# define sk_OPENSSL_STRING_delete(st, i) SKM_sk_delete(OPENSSL_STRING, (st), (i)) -# define sk_OPENSSL_STRING_delete_ptr(st, ptr) (OPENSSL_STRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, ptr)) -# define sk_OPENSSL_STRING_set_cmp_func(st, cmp) \ - ((int (*)(const char * const *,const char * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_CMP_FUNC(char, cmp))) -# define sk_OPENSSL_STRING_dup(st) SKM_sk_dup(OPENSSL_STRING, st) -# define sk_OPENSSL_STRING_shift(st) SKM_sk_shift(OPENSSL_STRING, (st)) -# define sk_OPENSSL_STRING_pop(st) (char *)sk_pop(CHECKED_STACK_OF(OPENSSL_STRING, st)) -# define sk_OPENSSL_STRING_sort(st) SKM_sk_sort(OPENSSL_STRING, (st)) -# define sk_OPENSSL_STRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_STRING, (st)) -# define sk_OPENSSL_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)sk_new(CHECKED_SK_CMP_FUNC(void, cmp))) -# define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)sk_new_null()) -# define sk_OPENSSL_BLOCK_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_value(st, i) ((OPENSSL_BLOCK)sk_value(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i)) -# define sk_OPENSSL_BLOCK_num(st) SKM_sk_num(OPENSSL_BLOCK, st) -# define sk_OPENSSL_BLOCK_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_FREE_FUNC(void, free_func)) -# define sk_OPENSSL_BLOCK_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_BLOCK) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_COPY_FUNC(void, copy_func), CHECKED_SK_FREE_FUNC(void, free_func))) -# define sk_OPENSSL_BLOCK_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val), i) -# define sk_OPENSSL_BLOCK_free(st) SKM_sk_free(OPENSSL_BLOCK, st) -# define sk_OPENSSL_BLOCK_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i, CHECKED_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_zero(st) SKM_sk_zero(OPENSSL_BLOCK, (st)) -# define sk_OPENSSL_BLOCK_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_BLOCK), st), CHECKED_CONST_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_delete(st, i) SKM_sk_delete(OPENSSL_BLOCK, (st), (i)) -# define sk_OPENSSL_BLOCK_delete_ptr(st, ptr) (OPENSSL_BLOCK *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, ptr)) -# define sk_OPENSSL_BLOCK_set_cmp_func(st, cmp) \ - ((int (*)(const void * const *,const void * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_CMP_FUNC(void, cmp))) -# define sk_OPENSSL_BLOCK_dup(st) SKM_sk_dup(OPENSSL_BLOCK, st) -# define sk_OPENSSL_BLOCK_shift(st) SKM_sk_shift(OPENSSL_BLOCK, (st)) -# define sk_OPENSSL_BLOCK_pop(st) (void *)sk_pop(CHECKED_STACK_OF(OPENSSL_BLOCK, st)) -# define sk_OPENSSL_BLOCK_sort(st) SKM_sk_sort(OPENSSL_BLOCK, (st)) -# define sk_OPENSSL_BLOCK_is_sorted(st) SKM_sk_is_sorted(OPENSSL_BLOCK, (st)) -# define sk_OPENSSL_PSTRING_new(cmp) ((STACK_OF(OPENSSL_PSTRING) *)sk_new(CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) -# define sk_OPENSSL_PSTRING_new_null() ((STACK_OF(OPENSSL_PSTRING) *)sk_new_null()) -# define sk_OPENSSL_PSTRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) -# define sk_OPENSSL_PSTRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) -# define sk_OPENSSL_PSTRING_value(st, i) ((OPENSSL_PSTRING)sk_value(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i)) -# define sk_OPENSSL_PSTRING_num(st) SKM_sk_num(OPENSSL_PSTRING, st) -# define sk_OPENSSL_PSTRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_FREE_FUNC(OPENSSL_STRING, free_func)) -# define sk_OPENSSL_PSTRING_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_PSTRING) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_COPY_FUNC(OPENSSL_STRING, copy_func), CHECKED_SK_FREE_FUNC(OPENSSL_STRING, free_func))) -# define sk_OPENSSL_PSTRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val), i) -# define sk_OPENSSL_PSTRING_free(st) SKM_sk_free(OPENSSL_PSTRING, st) -# define sk_OPENSSL_PSTRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i, CHECKED_PTR_OF(OPENSSL_STRING, val)) -# define sk_OPENSSL_PSTRING_zero(st) SKM_sk_zero(OPENSSL_PSTRING, (st)) -# define sk_OPENSSL_PSTRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) -# define sk_OPENSSL_PSTRING_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_PSTRING), st), CHECKED_CONST_PTR_OF(OPENSSL_STRING, val)) -# define sk_OPENSSL_PSTRING_delete(st, i) SKM_sk_delete(OPENSSL_PSTRING, (st), (i)) -# define sk_OPENSSL_PSTRING_delete_ptr(st, ptr) (OPENSSL_PSTRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, ptr)) -# define sk_OPENSSL_PSTRING_set_cmp_func(st, cmp) \ - ((int (*)(const OPENSSL_STRING * const *,const OPENSSL_STRING * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) -# define sk_OPENSSL_PSTRING_dup(st) SKM_sk_dup(OPENSSL_PSTRING, st) -# define sk_OPENSSL_PSTRING_shift(st) SKM_sk_shift(OPENSSL_PSTRING, (st)) -# define sk_OPENSSL_PSTRING_pop(st) (OPENSSL_STRING *)sk_pop(CHECKED_STACK_OF(OPENSSL_PSTRING, st)) -# define sk_OPENSSL_PSTRING_sort(st) SKM_sk_sort(OPENSSL_PSTRING, (st)) -# define sk_OPENSSL_PSTRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_PSTRING, (st)) -# define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ACCESS_DESCRIPTION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ACCESS_DESCRIPTION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ACCESS_DESCRIPTION(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ACCESS_DESCRIPTION, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ACCESS_DESCRIPTION(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ACCESS_DESCRIPTION, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ASN1_INTEGER(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_INTEGER, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ASN1_INTEGER(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_INTEGER, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ASN1_INTEGER(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_INTEGER, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ASN1_INTEGER(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_INTEGER, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ASN1_OBJECT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_OBJECT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ASN1_OBJECT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_OBJECT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ASN1_OBJECT(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_OBJECT, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ASN1_OBJECT(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_OBJECT, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ASN1_TYPE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_TYPE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ASN1_TYPE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_TYPE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ASN1_TYPE(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_TYPE, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ASN1_TYPE(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_TYPE, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_UTF8STRING, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_UTF8STRING, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ASN1_UTF8STRING(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_UTF8STRING, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ASN1_UTF8STRING(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_UTF8STRING, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_DIST_POINT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(DIST_POINT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_DIST_POINT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(DIST_POINT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_DIST_POINT(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(DIST_POINT, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_DIST_POINT(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(DIST_POINT, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ESS_CERT_ID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ESS_CERT_ID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ESS_CERT_ID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ESS_CERT_ID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ESS_CERT_ID(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ESS_CERT_ID, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ESS_CERT_ID(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ESS_CERT_ID, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_EVP_MD(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(EVP_MD, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_EVP_MD(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(EVP_MD, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_EVP_MD(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(EVP_MD, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_EVP_MD(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(EVP_MD, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_GENERAL_NAME(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(GENERAL_NAME, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_GENERAL_NAME(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(GENERAL_NAME, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_GENERAL_NAME(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(GENERAL_NAME, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_GENERAL_NAME(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(GENERAL_NAME, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_OCSP_ONEREQ(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(OCSP_ONEREQ, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_OCSP_ONEREQ(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(OCSP_ONEREQ, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_OCSP_ONEREQ(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(OCSP_ONEREQ, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_OCSP_ONEREQ(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(OCSP_ONEREQ, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(OCSP_SINGLERESP, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(OCSP_SINGLERESP, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_OCSP_SINGLERESP(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(OCSP_SINGLERESP, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_OCSP_SINGLERESP(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(OCSP_SINGLERESP, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS12_SAFEBAG, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS12_SAFEBAG, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_PKCS12_SAFEBAG(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS12_SAFEBAG, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_PKCS12_SAFEBAG(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS12_SAFEBAG, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_PKCS7(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_PKCS7(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_PKCS7(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_PKCS7(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7_RECIP_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7_RECIP_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_PKCS7_RECIP_INFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7_RECIP_INFO, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_PKCS7_RECIP_INFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7_RECIP_INFO, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7_SIGNER_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7_SIGNER_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_PKCS7_SIGNER_INFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7_SIGNER_INFO, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_PKCS7_SIGNER_INFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7_SIGNER_INFO, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_POLICYINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(POLICYINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_POLICYINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(POLICYINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_POLICYINFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(POLICYINFO, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_POLICYINFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(POLICYINFO, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_POLICYQUALINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(POLICYQUALINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_POLICYQUALINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(POLICYQUALINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_POLICYQUALINFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(POLICYQUALINFO, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_POLICYQUALINFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(POLICYQUALINFO, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_SXNETID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(SXNETID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_SXNETID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(SXNETID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_SXNETID(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(SXNETID, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_SXNETID(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(SXNETID, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_ALGOR(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_ALGOR, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_ALGOR(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_ALGOR, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_ALGOR(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_ALGOR, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_ALGOR(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_ALGOR, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_ATTRIBUTE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_ATTRIBUTE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_ATTRIBUTE(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_ATTRIBUTE, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_ATTRIBUTE(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_ATTRIBUTE, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_CRL(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_CRL, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_CRL(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_CRL, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_CRL(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_CRL, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_CRL(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_CRL, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_EXTENSION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_EXTENSION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_EXTENSION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_EXTENSION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_EXTENSION(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_EXTENSION, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_EXTENSION(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_EXTENSION, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_NAME_ENTRY, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_NAME_ENTRY, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_NAME_ENTRY(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_NAME_ENTRY, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_NAME_ENTRY(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_NAME_ENTRY, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_REVOKED(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_REVOKED, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_REVOKED(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_REVOKED, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_REVOKED(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_REVOKED, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_REVOKED(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_REVOKED, (buf), (len), (d2i_func), (free_func)) -# define PKCS12_decrypt_d2i_PKCS12_SAFEBAG(algor, d2i_func, free_func, pass, passlen, oct, seq) \ - SKM_PKCS12_decrypt_d2i(PKCS12_SAFEBAG, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) -# define PKCS12_decrypt_d2i_PKCS7(algor, d2i_func, free_func, pass, passlen, oct, seq) \ - SKM_PKCS12_decrypt_d2i(PKCS7, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) -# define lh_ADDED_OBJ_new() LHM_lh_new(ADDED_OBJ,added_obj) -# define lh_ADDED_OBJ_insert(lh,inst) LHM_lh_insert(ADDED_OBJ,lh,inst) -# define lh_ADDED_OBJ_retrieve(lh,inst) LHM_lh_retrieve(ADDED_OBJ,lh,inst) -# define lh_ADDED_OBJ_delete(lh,inst) LHM_lh_delete(ADDED_OBJ,lh,inst) -# define lh_ADDED_OBJ_doall(lh,fn) LHM_lh_doall(ADDED_OBJ,lh,fn) -# define lh_ADDED_OBJ_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ADDED_OBJ,lh,fn,arg_type,arg) -# define lh_ADDED_OBJ_error(lh) LHM_lh_error(ADDED_OBJ,lh) -# define lh_ADDED_OBJ_num_items(lh) LHM_lh_num_items(ADDED_OBJ,lh) -# define lh_ADDED_OBJ_down_load(lh) LHM_lh_down_load(ADDED_OBJ,lh) -# define lh_ADDED_OBJ_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ADDED_OBJ,lh,out) -# define lh_ADDED_OBJ_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ADDED_OBJ,lh,out) -# define lh_ADDED_OBJ_stats_bio(lh,out) \ - LHM_lh_stats_bio(ADDED_OBJ,lh,out) -# define lh_ADDED_OBJ_free(lh) LHM_lh_free(ADDED_OBJ,lh) -# define lh_APP_INFO_new() LHM_lh_new(APP_INFO,app_info) -# define lh_APP_INFO_insert(lh,inst) LHM_lh_insert(APP_INFO,lh,inst) -# define lh_APP_INFO_retrieve(lh,inst) LHM_lh_retrieve(APP_INFO,lh,inst) -# define lh_APP_INFO_delete(lh,inst) LHM_lh_delete(APP_INFO,lh,inst) -# define lh_APP_INFO_doall(lh,fn) LHM_lh_doall(APP_INFO,lh,fn) -# define lh_APP_INFO_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(APP_INFO,lh,fn,arg_type,arg) -# define lh_APP_INFO_error(lh) LHM_lh_error(APP_INFO,lh) -# define lh_APP_INFO_num_items(lh) LHM_lh_num_items(APP_INFO,lh) -# define lh_APP_INFO_down_load(lh) LHM_lh_down_load(APP_INFO,lh) -# define lh_APP_INFO_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(APP_INFO,lh,out) -# define lh_APP_INFO_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(APP_INFO,lh,out) -# define lh_APP_INFO_stats_bio(lh,out) \ - LHM_lh_stats_bio(APP_INFO,lh,out) -# define lh_APP_INFO_free(lh) LHM_lh_free(APP_INFO,lh) -# define lh_CONF_VALUE_new() LHM_lh_new(CONF_VALUE,conf_value) -# define lh_CONF_VALUE_insert(lh,inst) LHM_lh_insert(CONF_VALUE,lh,inst) -# define lh_CONF_VALUE_retrieve(lh,inst) LHM_lh_retrieve(CONF_VALUE,lh,inst) -# define lh_CONF_VALUE_delete(lh,inst) LHM_lh_delete(CONF_VALUE,lh,inst) -# define lh_CONF_VALUE_doall(lh,fn) LHM_lh_doall(CONF_VALUE,lh,fn) -# define lh_CONF_VALUE_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(CONF_VALUE,lh,fn,arg_type,arg) -# define lh_CONF_VALUE_error(lh) LHM_lh_error(CONF_VALUE,lh) -# define lh_CONF_VALUE_num_items(lh) LHM_lh_num_items(CONF_VALUE,lh) -# define lh_CONF_VALUE_down_load(lh) LHM_lh_down_load(CONF_VALUE,lh) -# define lh_CONF_VALUE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(CONF_VALUE,lh,out) -# define lh_CONF_VALUE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(CONF_VALUE,lh,out) -# define lh_CONF_VALUE_stats_bio(lh,out) \ - LHM_lh_stats_bio(CONF_VALUE,lh,out) -# define lh_CONF_VALUE_free(lh) LHM_lh_free(CONF_VALUE,lh) -# define lh_ENGINE_PILE_new() LHM_lh_new(ENGINE_PILE,engine_pile) -# define lh_ENGINE_PILE_insert(lh,inst) LHM_lh_insert(ENGINE_PILE,lh,inst) -# define lh_ENGINE_PILE_retrieve(lh,inst) LHM_lh_retrieve(ENGINE_PILE,lh,inst) -# define lh_ENGINE_PILE_delete(lh,inst) LHM_lh_delete(ENGINE_PILE,lh,inst) -# define lh_ENGINE_PILE_doall(lh,fn) LHM_lh_doall(ENGINE_PILE,lh,fn) -# define lh_ENGINE_PILE_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ENGINE_PILE,lh,fn,arg_type,arg) -# define lh_ENGINE_PILE_error(lh) LHM_lh_error(ENGINE_PILE,lh) -# define lh_ENGINE_PILE_num_items(lh) LHM_lh_num_items(ENGINE_PILE,lh) -# define lh_ENGINE_PILE_down_load(lh) LHM_lh_down_load(ENGINE_PILE,lh) -# define lh_ENGINE_PILE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ENGINE_PILE,lh,out) -# define lh_ENGINE_PILE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ENGINE_PILE,lh,out) -# define lh_ENGINE_PILE_stats_bio(lh,out) \ - LHM_lh_stats_bio(ENGINE_PILE,lh,out) -# define lh_ENGINE_PILE_free(lh) LHM_lh_free(ENGINE_PILE,lh) -# define lh_ERR_STATE_new() LHM_lh_new(ERR_STATE,err_state) -# define lh_ERR_STATE_insert(lh,inst) LHM_lh_insert(ERR_STATE,lh,inst) -# define lh_ERR_STATE_retrieve(lh,inst) LHM_lh_retrieve(ERR_STATE,lh,inst) -# define lh_ERR_STATE_delete(lh,inst) LHM_lh_delete(ERR_STATE,lh,inst) -# define lh_ERR_STATE_doall(lh,fn) LHM_lh_doall(ERR_STATE,lh,fn) -# define lh_ERR_STATE_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ERR_STATE,lh,fn,arg_type,arg) -# define lh_ERR_STATE_error(lh) LHM_lh_error(ERR_STATE,lh) -# define lh_ERR_STATE_num_items(lh) LHM_lh_num_items(ERR_STATE,lh) -# define lh_ERR_STATE_down_load(lh) LHM_lh_down_load(ERR_STATE,lh) -# define lh_ERR_STATE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ERR_STATE,lh,out) -# define lh_ERR_STATE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ERR_STATE,lh,out) -# define lh_ERR_STATE_stats_bio(lh,out) \ - LHM_lh_stats_bio(ERR_STATE,lh,out) -# define lh_ERR_STATE_free(lh) LHM_lh_free(ERR_STATE,lh) -# define lh_ERR_STRING_DATA_new() LHM_lh_new(ERR_STRING_DATA,err_string_data) -# define lh_ERR_STRING_DATA_insert(lh,inst) LHM_lh_insert(ERR_STRING_DATA,lh,inst) -# define lh_ERR_STRING_DATA_retrieve(lh,inst) LHM_lh_retrieve(ERR_STRING_DATA,lh,inst) -# define lh_ERR_STRING_DATA_delete(lh,inst) LHM_lh_delete(ERR_STRING_DATA,lh,inst) -# define lh_ERR_STRING_DATA_doall(lh,fn) LHM_lh_doall(ERR_STRING_DATA,lh,fn) -# define lh_ERR_STRING_DATA_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ERR_STRING_DATA,lh,fn,arg_type,arg) -# define lh_ERR_STRING_DATA_error(lh) LHM_lh_error(ERR_STRING_DATA,lh) -# define lh_ERR_STRING_DATA_num_items(lh) LHM_lh_num_items(ERR_STRING_DATA,lh) -# define lh_ERR_STRING_DATA_down_load(lh) LHM_lh_down_load(ERR_STRING_DATA,lh) -# define lh_ERR_STRING_DATA_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ERR_STRING_DATA,lh,out) -# define lh_ERR_STRING_DATA_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ERR_STRING_DATA,lh,out) -# define lh_ERR_STRING_DATA_stats_bio(lh,out) \ - LHM_lh_stats_bio(ERR_STRING_DATA,lh,out) -# define lh_ERR_STRING_DATA_free(lh) LHM_lh_free(ERR_STRING_DATA,lh) -# define lh_EX_CLASS_ITEM_new() LHM_lh_new(EX_CLASS_ITEM,ex_class_item) -# define lh_EX_CLASS_ITEM_insert(lh,inst) LHM_lh_insert(EX_CLASS_ITEM,lh,inst) -# define lh_EX_CLASS_ITEM_retrieve(lh,inst) LHM_lh_retrieve(EX_CLASS_ITEM,lh,inst) -# define lh_EX_CLASS_ITEM_delete(lh,inst) LHM_lh_delete(EX_CLASS_ITEM,lh,inst) -# define lh_EX_CLASS_ITEM_doall(lh,fn) LHM_lh_doall(EX_CLASS_ITEM,lh,fn) -# define lh_EX_CLASS_ITEM_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(EX_CLASS_ITEM,lh,fn,arg_type,arg) -# define lh_EX_CLASS_ITEM_error(lh) LHM_lh_error(EX_CLASS_ITEM,lh) -# define lh_EX_CLASS_ITEM_num_items(lh) LHM_lh_num_items(EX_CLASS_ITEM,lh) -# define lh_EX_CLASS_ITEM_down_load(lh) LHM_lh_down_load(EX_CLASS_ITEM,lh) -# define lh_EX_CLASS_ITEM_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(EX_CLASS_ITEM,lh,out) -# define lh_EX_CLASS_ITEM_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(EX_CLASS_ITEM,lh,out) -# define lh_EX_CLASS_ITEM_stats_bio(lh,out) \ - LHM_lh_stats_bio(EX_CLASS_ITEM,lh,out) -# define lh_EX_CLASS_ITEM_free(lh) LHM_lh_free(EX_CLASS_ITEM,lh) -# define lh_FUNCTION_new() LHM_lh_new(FUNCTION,function) -# define lh_FUNCTION_insert(lh,inst) LHM_lh_insert(FUNCTION,lh,inst) -# define lh_FUNCTION_retrieve(lh,inst) LHM_lh_retrieve(FUNCTION,lh,inst) -# define lh_FUNCTION_delete(lh,inst) LHM_lh_delete(FUNCTION,lh,inst) -# define lh_FUNCTION_doall(lh,fn) LHM_lh_doall(FUNCTION,lh,fn) -# define lh_FUNCTION_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(FUNCTION,lh,fn,arg_type,arg) -# define lh_FUNCTION_error(lh) LHM_lh_error(FUNCTION,lh) -# define lh_FUNCTION_num_items(lh) LHM_lh_num_items(FUNCTION,lh) -# define lh_FUNCTION_down_load(lh) LHM_lh_down_load(FUNCTION,lh) -# define lh_FUNCTION_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(FUNCTION,lh,out) -# define lh_FUNCTION_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(FUNCTION,lh,out) -# define lh_FUNCTION_stats_bio(lh,out) \ - LHM_lh_stats_bio(FUNCTION,lh,out) -# define lh_FUNCTION_free(lh) LHM_lh_free(FUNCTION,lh) -# define lh_MEM_new() LHM_lh_new(MEM,mem) -# define lh_MEM_insert(lh,inst) LHM_lh_insert(MEM,lh,inst) -# define lh_MEM_retrieve(lh,inst) LHM_lh_retrieve(MEM,lh,inst) -# define lh_MEM_delete(lh,inst) LHM_lh_delete(MEM,lh,inst) -# define lh_MEM_doall(lh,fn) LHM_lh_doall(MEM,lh,fn) -# define lh_MEM_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(MEM,lh,fn,arg_type,arg) -# define lh_MEM_error(lh) LHM_lh_error(MEM,lh) -# define lh_MEM_num_items(lh) LHM_lh_num_items(MEM,lh) -# define lh_MEM_down_load(lh) LHM_lh_down_load(MEM,lh) -# define lh_MEM_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(MEM,lh,out) -# define lh_MEM_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(MEM,lh,out) -# define lh_MEM_stats_bio(lh,out) \ - LHM_lh_stats_bio(MEM,lh,out) -# define lh_MEM_free(lh) LHM_lh_free(MEM,lh) -# define lh_OBJ_NAME_new() LHM_lh_new(OBJ_NAME,obj_name) -# define lh_OBJ_NAME_insert(lh,inst) LHM_lh_insert(OBJ_NAME,lh,inst) -# define lh_OBJ_NAME_retrieve(lh,inst) LHM_lh_retrieve(OBJ_NAME,lh,inst) -# define lh_OBJ_NAME_delete(lh,inst) LHM_lh_delete(OBJ_NAME,lh,inst) -# define lh_OBJ_NAME_doall(lh,fn) LHM_lh_doall(OBJ_NAME,lh,fn) -# define lh_OBJ_NAME_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(OBJ_NAME,lh,fn,arg_type,arg) -# define lh_OBJ_NAME_error(lh) LHM_lh_error(OBJ_NAME,lh) -# define lh_OBJ_NAME_num_items(lh) LHM_lh_num_items(OBJ_NAME,lh) -# define lh_OBJ_NAME_down_load(lh) LHM_lh_down_load(OBJ_NAME,lh) -# define lh_OBJ_NAME_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OBJ_NAME,lh,out) -# define lh_OBJ_NAME_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OBJ_NAME,lh,out) -# define lh_OBJ_NAME_stats_bio(lh,out) \ - LHM_lh_stats_bio(OBJ_NAME,lh,out) -# define lh_OBJ_NAME_free(lh) LHM_lh_free(OBJ_NAME,lh) -# define lh_OPENSSL_CSTRING_new() LHM_lh_new(OPENSSL_CSTRING,openssl_cstring) -# define lh_OPENSSL_CSTRING_insert(lh,inst) LHM_lh_insert(OPENSSL_CSTRING,lh,inst) -# define lh_OPENSSL_CSTRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_CSTRING,lh,inst) -# define lh_OPENSSL_CSTRING_delete(lh,inst) LHM_lh_delete(OPENSSL_CSTRING,lh,inst) -# define lh_OPENSSL_CSTRING_doall(lh,fn) LHM_lh_doall(OPENSSL_CSTRING,lh,fn) -# define lh_OPENSSL_CSTRING_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(OPENSSL_CSTRING,lh,fn,arg_type,arg) -# define lh_OPENSSL_CSTRING_error(lh) LHM_lh_error(OPENSSL_CSTRING,lh) -# define lh_OPENSSL_CSTRING_num_items(lh) LHM_lh_num_items(OPENSSL_CSTRING,lh) -# define lh_OPENSSL_CSTRING_down_load(lh) LHM_lh_down_load(OPENSSL_CSTRING,lh) -# define lh_OPENSSL_CSTRING_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OPENSSL_CSTRING,lh,out) -# define lh_OPENSSL_CSTRING_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OPENSSL_CSTRING,lh,out) -# define lh_OPENSSL_CSTRING_stats_bio(lh,out) \ - LHM_lh_stats_bio(OPENSSL_CSTRING,lh,out) -# define lh_OPENSSL_CSTRING_free(lh) LHM_lh_free(OPENSSL_CSTRING,lh) -# define lh_OPENSSL_STRING_new() LHM_lh_new(OPENSSL_STRING,openssl_string) -# define lh_OPENSSL_STRING_insert(lh,inst) LHM_lh_insert(OPENSSL_STRING,lh,inst) -# define lh_OPENSSL_STRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_STRING,lh,inst) -# define lh_OPENSSL_STRING_delete(lh,inst) LHM_lh_delete(OPENSSL_STRING,lh,inst) -# define lh_OPENSSL_STRING_doall(lh,fn) LHM_lh_doall(OPENSSL_STRING,lh,fn) -# define lh_OPENSSL_STRING_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(OPENSSL_STRING,lh,fn,arg_type,arg) -# define lh_OPENSSL_STRING_error(lh) LHM_lh_error(OPENSSL_STRING,lh) -# define lh_OPENSSL_STRING_num_items(lh) LHM_lh_num_items(OPENSSL_STRING,lh) -# define lh_OPENSSL_STRING_down_load(lh) LHM_lh_down_load(OPENSSL_STRING,lh) -# define lh_OPENSSL_STRING_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OPENSSL_STRING,lh,out) -# define lh_OPENSSL_STRING_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OPENSSL_STRING,lh,out) -# define lh_OPENSSL_STRING_stats_bio(lh,out) \ - LHM_lh_stats_bio(OPENSSL_STRING,lh,out) -# define lh_OPENSSL_STRING_free(lh) LHM_lh_free(OPENSSL_STRING,lh) -# define lh_SSL_SESSION_new() LHM_lh_new(SSL_SESSION,ssl_session) -# define lh_SSL_SESSION_insert(lh,inst) LHM_lh_insert(SSL_SESSION,lh,inst) -# define lh_SSL_SESSION_retrieve(lh,inst) LHM_lh_retrieve(SSL_SESSION,lh,inst) -# define lh_SSL_SESSION_delete(lh,inst) LHM_lh_delete(SSL_SESSION,lh,inst) -# define lh_SSL_SESSION_doall(lh,fn) LHM_lh_doall(SSL_SESSION,lh,fn) -# define lh_SSL_SESSION_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(SSL_SESSION,lh,fn,arg_type,arg) -# define lh_SSL_SESSION_error(lh) LHM_lh_error(SSL_SESSION,lh) -# define lh_SSL_SESSION_num_items(lh) LHM_lh_num_items(SSL_SESSION,lh) -# define lh_SSL_SESSION_down_load(lh) LHM_lh_down_load(SSL_SESSION,lh) -# define lh_SSL_SESSION_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(SSL_SESSION,lh,out) -# define lh_SSL_SESSION_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(SSL_SESSION,lh,out) -# define lh_SSL_SESSION_stats_bio(lh,out) \ - LHM_lh_stats_bio(SSL_SESSION,lh,out) -# define lh_SSL_SESSION_free(lh) LHM_lh_free(SSL_SESSION,lh) -#ifdef __cplusplus +# 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 -#endif /* !defined HEADER_SAFESTACK_H */ diff --git a/ext/openssl/windows/x64/include/openssl/seed.h b/ext/openssl/windows/x64/include/openssl/seed.h index 8cbf0d92..de10b085 100644 --- a/ext/openssl/windows/x64/include/openssl/seed.h +++ b/ext/openssl/windows/x64/include/openssl/seed.h @@ -1,3 +1,12 @@ +/* + * 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. * @@ -21,72 +30,20 @@ * 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. - * - */ -/* ==================================================================== - * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * */ #ifndef HEADER_SEED_H # define HEADER_SEED_H # include + +# ifndef OPENSSL_NO_SEED # include # include -# ifdef OPENSSL_NO_SEED -# error SEED is disabled. -# endif +#ifdef __cplusplus +extern "C" { +#endif /* look whether we need 'long' to get 32 bits */ # ifdef AES_LONG @@ -95,18 +52,11 @@ # endif # endif -# if !defined(NO_SYS_TYPES_H) -# include -# endif +# include # define SEED_BLOCK_SIZE 16 # define SEED_KEY_LENGTH 16 - -#ifdef __cplusplus -extern "C" { -#endif - typedef struct seed_key_st { # ifdef SEED_LONG unsigned long data[32]; @@ -115,10 +65,6 @@ typedef struct seed_key_st { # endif } SEED_KEY_SCHEDULE; -# ifdef OPENSSL_FIPS -void private_SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], - SEED_KEY_SCHEDULE *ks); -# endif void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], SEED_KEY_SCHEDULE *ks); @@ -142,8 +88,9 @@ 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 +# ifdef __cplusplus } -#endif +# endif +# endif -#endif /* HEADER_SEED_H */ +#endif diff --git a/ext/openssl/windows/x64/include/openssl/sha.h b/ext/openssl/windows/x64/include/openssl/sha.h index e5169e4f..6a1eb0de 100644 --- a/ext/openssl/windows/x64/include/openssl/sha.h +++ b/ext/openssl/windows/x64/include/openssl/sha.h @@ -1,59 +1,10 @@ -/* crypto/sha/sha.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 @@ -66,29 +17,12 @@ extern "C" { #endif -# if defined(OPENSSL_NO_SHA) || (defined(OPENSSL_NO_SHA0) && defined(OPENSSL_NO_SHA1)) -# error SHA is disabled. -# endif - -# if defined(OPENSSL_FIPS) -# define FIPS_SHA_SIZE_T size_t -# endif - /*- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! SHA_LONG_LOG2 has to be defined along. ! + * ! SHA_LONG has to be at least 32 bits wide. ! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ - -# if defined(__LP32__) -# define SHA_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define SHA_LONG unsigned long -# define SHA_LONG_LOG2 3 -# else -# define SHA_LONG unsigned int -# endif +# define SHA_LONG unsigned int # define SHA_LBLOCK 16 # define SHA_CBLOCK (SHA_LBLOCK*4)/* SHA treats input data as a @@ -104,32 +38,15 @@ typedef struct SHAstate_st { unsigned int num; } SHA_CTX; -# ifndef OPENSSL_NO_SHA0 -# ifdef OPENSSL_FIPS -int private_SHA_Init(SHA_CTX *c); -# endif -int SHA_Init(SHA_CTX *c); -int SHA_Update(SHA_CTX *c, const void *data, size_t len); -int SHA_Final(unsigned char *md, SHA_CTX *c); -unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md); -void SHA_Transform(SHA_CTX *c, const unsigned char *data); -# endif -# ifndef OPENSSL_NO_SHA1 -# ifdef OPENSSL_FIPS -int private_SHA1_Init(SHA_CTX *c); -# endif 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); -# endif # define SHA256_CBLOCK (SHA_LBLOCK*4)/* SHA-256 treats input data as a * contiguous array of 32 bit wide * big-endian values. */ -# define SHA224_DIGEST_LENGTH 28 -# define SHA256_DIGEST_LENGTH 32 typedef struct SHA256state_st { SHA_LONG h[8]; @@ -138,11 +55,6 @@ typedef struct SHA256state_st { unsigned int num, md_len; } SHA256_CTX; -# ifndef OPENSSL_NO_SHA256 -# ifdef OPENSSL_FIPS -int private_SHA224_Init(SHA256_CTX *c); -int private_SHA256_Init(SHA256_CTX *c); -# endif 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); @@ -152,12 +64,12 @@ 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); -# endif +# define SHA224_DIGEST_LENGTH 28 +# define SHA256_DIGEST_LENGTH 32 # define SHA384_DIGEST_LENGTH 48 # define SHA512_DIGEST_LENGTH 64 -# ifndef OPENSSL_NO_SHA512 /* * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 * being exactly 64-bit wide. See Implementation Notes in sha512.c @@ -168,17 +80,17 @@ void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); * 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 +# 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]; @@ -189,13 +101,7 @@ typedef struct SHA512state_st { } u; unsigned int num, md_len; } SHA512_CTX; -# endif -# ifndef OPENSSL_NO_SHA512 -# ifdef OPENSSL_FIPS -int private_SHA384_Init(SHA512_CTX *c); -int private_SHA512_Init(SHA512_CTX *c); -# endif 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); @@ -205,7 +111,6 @@ 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); -# endif #ifdef __cplusplus } diff --git a/ext/openssl/windows/x64/include/openssl/srp.h b/ext/openssl/windows/x64/include/openssl/srp.h index 028892a1..aaf13558 100644 --- a/ext/openssl/windows/x64/include/openssl/srp.h +++ b/ext/openssl/windows/x64/include/openssl/srp.h @@ -1,77 +1,31 @@ -/* crypto/srp/srp.h */ /* - * Written by Christophe Renou (christophe.renou@edelweb.fr) with the - * precious help of Peter Sylvester (peter.sylvester@edelweb.fr) for the - * EdelKey project and contributed to the OpenSSL project 2004. + * 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. */ -/* ==================================================================== - * Copyright (c) 2004 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -#ifndef __SRP_H__ -# define __SRP_H__ -# ifndef OPENSSL_NO_SRP +#ifndef HEADER_SRP_H +# define HEADER_SRP_H -# include -# include +#include -#ifdef __cplusplus +#ifndef OPENSSL_NO_SRP +# include +# include +# include +# include +# include + +# ifdef __cplusplus extern "C" { -#endif - -# include -# include -# include +# endif typedef struct SRP_gN_cache_st { char *b64_bn; @@ -79,7 +33,7 @@ typedef struct SRP_gN_cache_st { } SRP_gN_cache; -DECLARE_STACK_OF(SRP_gN_cache) +DEFINE_STACK_OF(SRP_gN_cache) typedef struct SRP_user_pwd_st { /* Owned by us. */ @@ -93,87 +47,89 @@ typedef struct SRP_user_pwd_st { char *info; } SRP_user_pwd; -DECLARE_STACK_OF(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; - BIGNUM *default_g; - BIGNUM *default_N; + const BIGNUM *default_g; + const BIGNUM *default_N; } SRP_VBASE; /* - * Structure interne pour retenir les couples N et g + * Internal structure storing N and g pair */ typedef struct SRP_gN_st { char *id; - BIGNUM *g; - BIGNUM *N; + const BIGNUM *g; + const BIGNUM *N; } SRP_gN; -DECLARE_STACK_OF(SRP_gN) +DEFINE_STACK_OF(SRP_gN) SRP_VBASE *SRP_VBASE_new(char *seed_key); -int SRP_VBASE_free(SRP_VBASE *vb); +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. */ -SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username); +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, BIGNUM *N, BIGNUM *g); + 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 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_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' +# 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(BIGNUM *g, BIGNUM *N); +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(BIGNUM *A, BIGNUM *v, BIGNUM *u, BIGNUM *b, - BIGNUM *N); -BIGNUM *SRP_Calc_B(BIGNUM *b, BIGNUM *N, BIGNUM *g, BIGNUM *v); -int SRP_Verify_A_mod_N(BIGNUM *A, BIGNUM *N); -BIGNUM *SRP_Calc_u(BIGNUM *A, BIGNUM *B, BIGNUM *N); +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(BIGNUM *s, const char *user, const char *pass); -BIGNUM *SRP_Calc_A(BIGNUM *a, BIGNUM *N, BIGNUM *g); -BIGNUM *SRP_Calc_client_key(BIGNUM *N, BIGNUM *B, BIGNUM *g, BIGNUM *x, - BIGNUM *a, BIGNUM *u); -int SRP_Verify_B_mod_N(BIGNUM *B, BIGNUM *N); +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 +# define SRP_MINIMAL_N 1024 -#ifdef __cplusplus +# ifdef __cplusplus } -#endif - # endif +# endif + #endif diff --git a/ext/openssl/windows/x64/include/openssl/srtp.h b/ext/openssl/windows/x64/include/openssl/srtp.h index 2279c32b..0b57c235 100644 --- a/ext/openssl/windows/x64/include/openssl/srtp.h +++ b/ext/openssl/windows/x64/include/openssl/srtp.h @@ -1,113 +1,12 @@ -/* ssl/srtp.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). +/* + * 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 * @@ -130,13 +29,17 @@ extern "C" { # 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 -int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); -int SSL_set_tlsext_use_srtp(SSL *ctx, const char *profiles); +__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); -STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); -SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); +__owur STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); +__owur SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); # endif diff --git a/ext/openssl/windows/x64/include/openssl/ssl.h b/ext/openssl/windows/x64/include/openssl/ssl.h index 3cf96a23..f93dc68f 100644 --- a/ext/openssl/windows/x64/include/openssl/ssl.h +++ b/ext/openssl/windows/x64/include/openssl/ssl.h @@ -1,221 +1,47 @@ -/* ssl/ssl.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECC cipher suite support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. - */ -/* ==================================================================== +/* + * 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. * - * The portions of the attached software ("Contribution") is developed by - * Nokia Corporation and is licensed pursuant to the OpenSSL open source - * license. - * - * The Contribution, originally written by Mika Kousa and Pasi Eronen of - * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites - * support (see RFC 4279) to OpenSSL. - * - * No patent licenses or other rights except those expressly stated in - * the OpenSSL open source license shall be deemed granted or received - * expressly, by implication, estoppel, or otherwise. - * - * No assurances are provided by Nokia that the Contribution does not - * infringe the patent or other intellectual property rights of any third - * party or that the license provides you with all the necessary rights - * to make use of the Contribution. - * - * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN - * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA - * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY - * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR - * OTHERWISE. + * 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 - -# ifndef OPENSSL_NO_COMP -# include -# endif -# ifndef OPENSSL_NO_BIO -# include -# endif -# ifndef OPENSSL_NO_DEPRECATED -# ifndef OPENSSL_NO_X509 -# include -# endif +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include # include -# include # include # endif +# include # include # include +# include -# include # include # include +# include +# include #ifdef __cplusplus extern "C" { #endif -/* SSLeay version number for ASN.1 encoding of the session information */ +/* 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 -/* text strings for the ciphers */ -# define SSL_TXT_NULL_WITH_MD5 SSL2_TXT_NULL_WITH_MD5 -# define SSL_TXT_RC4_128_WITH_MD5 SSL2_TXT_RC4_128_WITH_MD5 -# define SSL_TXT_RC4_128_EXPORT40_WITH_MD5 SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 -# define SSL_TXT_RC2_128_CBC_WITH_MD5 SSL2_TXT_RC2_128_CBC_WITH_MD5 -# define SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 -# define SSL_TXT_IDEA_128_CBC_WITH_MD5 SSL2_TXT_IDEA_128_CBC_WITH_MD5 -# define SSL_TXT_DES_64_CBC_WITH_MD5 SSL2_TXT_DES_64_CBC_WITH_MD5 -# define SSL_TXT_DES_64_CBC_WITH_SHA SSL2_TXT_DES_64_CBC_WITH_SHA -# define SSL_TXT_DES_192_EDE3_CBC_WITH_MD5 SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 -# define SSL_TXT_DES_192_EDE3_CBC_WITH_SHA SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA - -/* - * VRS Additional Kerberos5 entries - */ -# define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA -# define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA -# define SSL_TXT_KRB5_RC4_128_SHA SSL3_TXT_KRB5_RC4_128_SHA -# define SSL_TXT_KRB5_IDEA_128_CBC_SHA SSL3_TXT_KRB5_IDEA_128_CBC_SHA -# define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 -# define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 -# define SSL_TXT_KRB5_RC4_128_MD5 SSL3_TXT_KRB5_RC4_128_MD5 -# define SSL_TXT_KRB5_IDEA_128_CBC_MD5 SSL3_TXT_KRB5_IDEA_128_CBC_MD5 - -# define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA -# define SSL_TXT_KRB5_RC2_40_CBC_SHA SSL3_TXT_KRB5_RC2_40_CBC_SHA -# define SSL_TXT_KRB5_RC4_40_SHA SSL3_TXT_KRB5_RC4_40_SHA -# define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 -# define SSL_TXT_KRB5_RC2_40_CBC_MD5 SSL3_TXT_KRB5_RC2_40_CBC_MD5 -# define SSL_TXT_KRB5_RC4_40_MD5 SSL3_TXT_KRB5_RC4_40_MD5 - -# define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA -# define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 -# define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA -# define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 -# define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA -# define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 -# define SSL_MAX_KRB5_PRINCIPAL_LENGTH 256 - # define SSL_MAX_SSL_SESSION_ID_LENGTH 32 # define SSL_MAX_SID_CTX_LENGTH 32 @@ -223,64 +49,63 @@ extern "C" { # 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_EXP40 "EXPORT40" -# define SSL_TXT_EXP56 "EXPORT56" # define SSL_TXT_LOW "LOW" # define SSL_TXT_MEDIUM "MEDIUM" # define SSL_TXT_HIGH "HIGH" # define SSL_TXT_FIPS "FIPS" -# define SSL_TXT_kFZA "kFZA"/* unused! */ -# define SSL_TXT_aFZA "aFZA"/* unused! */ -# define SSL_TXT_eFZA "eFZA"/* unused! */ -# define SSL_TXT_FZA "FZA"/* unused! */ - # 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" -# define SSL_TXT_kDHd "kDHd" -# define SSL_TXT_kDH "kDH" -# define SSL_TXT_kEDH "kEDH" -# define SSL_TXT_kDHE "kDHE"/* alias for kEDH */ -# define SSL_TXT_kKRB5 "kKRB5" -# define SSL_TXT_kECDHr "kECDHr" -# define SSL_TXT_kECDHe "kECDHe" -# define SSL_TXT_kECDH "kECDH" -# define SSL_TXT_kEECDH "kEECDH" -# define SSL_TXT_kECDHE "kECDHE"/* alias for kEECDH */ +# 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" -# define SSL_TXT_aECDH "aECDH" -# define SSL_TXT_aKRB5 "aKRB5" +# 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_aGOST "aGOST" +# 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_EDH "EDH"/* same as "kEDH:-ADH" */ -# define SSL_TXT_DHE "DHE"/* alias for EDH */ +# 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"/* same as "kEECDH:-AECDH" */ -# define SSL_TXT_ECDHE "ECDHE"/* alias for ECDHE" */ +# 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_KRB5 "KRB5" # define SSL_TXT_PSK "PSK" # define SSL_TXT_SRP "SRP" @@ -294,27 +119,33 @@ extern "C" { # 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_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_SSLV2 "SSLv2" # 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_EXP "EXP" -# define SSL_TXT_EXPORT "EXPORT" - # define SSL_TXT_ALL "ALL" /*- @@ -337,8 +168,18 @@ extern "C" { /* * 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:!EXPORT:!LOW:!aNULL:!eNULL:!SSLv2" +# 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 @@ -358,10 +199,6 @@ extern "C" { extern "C" { #endif -# if (defined(OPENSSL_NO_RSA) || defined(OPENSSL_NO_MD5)) && !defined(OPENSSL_NO_SSL2) -# define OPENSSL_NO_SSL2 -# endif - # define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 # define SSL_FILETYPE_PEM X509_FILETYPE_PEM @@ -376,8 +213,10 @@ 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; -DECLARE_STACK_OF(SSL_CIPHER) +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 { @@ -385,325 +224,262 @@ typedef struct srtp_protection_profile_st { unsigned long id; } SRTP_PROTECTION_PROFILE; -DECLARE_STACK_OF(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, - SSL_CIPHER **cipher, void *arg); +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); -# ifndef OPENSSL_NO_TLSEXT +/* 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 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 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 (*custom_ext_parse_cb)(SSL *s, unsigned int ext_type, + const unsigned char *in, size_t inlen, + int *al, void *parse_arg); -# endif -# ifndef OPENSSL_NO_SSL_INTERN +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); -/* used to hold info on the particular ciphers used */ -struct ssl_cipher_st { - int valid; - const char *name; /* text name */ - unsigned long id; /* id, 4 bytes, first is version */ - /* - * changed in 0.9.9: these four used to be portions of a single value - * 'algorithms' - */ - unsigned long algorithm_mkey; /* key exchange algorithm */ - unsigned long algorithm_auth; /* server authentication */ - unsigned long algorithm_enc; /* symmetric encryption */ - unsigned long algorithm_mac; /* symmetric authentication */ - unsigned long algorithm_ssl; /* (major) protocol version */ - unsigned long algo_strength; /* strength and export flags */ - unsigned long algorithm2; /* Extra flags */ - int strength_bits; /* Number of bits really used */ - int alg_bits; /* Number of bits for algorithm */ -}; +typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char *out, + void *add_arg); -/* Used to hold functions for SSLv2 or SSLv3/TLSv1 functions */ -struct ssl_method_st { - int version; - int (*ssl_new) (SSL *s); - void (*ssl_clear) (SSL *s); - void (*ssl_free) (SSL *s); - int (*ssl_accept) (SSL *s); - int (*ssl_connect) (SSL *s); - int (*ssl_read) (SSL *s, void *buf, int len); - int (*ssl_peek) (SSL *s, void *buf, int len); - int (*ssl_write) (SSL *s, const void *buf, int len); - int (*ssl_shutdown) (SSL *s); - int (*ssl_renegotiate) (SSL *s); - int (*ssl_renegotiate_check) (SSL *s); - long (*ssl_get_message) (SSL *s, int st1, int stn, int mt, long - max, int *ok); - int (*ssl_read_bytes) (SSL *s, int type, unsigned char *buf, int len, - int peek); - int (*ssl_write_bytes) (SSL *s, int type, const void *buf_, int len); - int (*ssl_dispatch_alert) (SSL *s); - long (*ssl_ctrl) (SSL *s, int cmd, long larg, void *parg); - long (*ssl_ctx_ctrl) (SSL_CTX *ctx, int cmd, long larg, void *parg); - const SSL_CIPHER *(*get_cipher_by_char) (const unsigned char *ptr); - int (*put_cipher_by_char) (const SSL_CIPHER *cipher, unsigned char *ptr); - int (*ssl_pending) (const SSL *s); - int (*num_ciphers) (void); - const SSL_CIPHER *(*get_cipher) (unsigned ncipher); - const struct ssl_method_st *(*get_ssl_method) (int version); - long (*get_timeout) (void); - struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */ - int (*ssl_version) (void); - long (*ssl_callback_ctrl) (SSL *s, int cb_id, void (*fp) (void)); - long (*ssl_ctx_callback_ctrl) (SSL_CTX *s, int cb_id, void (*fp) (void)); -}; +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); -/*- - * Lets make this into an ASN.1 type structure as follows - * SSL_SESSION_ID ::= SEQUENCE { - * version INTEGER, -- structure version number - * SSLversion INTEGER, -- SSL version number - * Cipher OCTET STRING, -- the 3 byte cipher ID - * Session_ID OCTET STRING, -- the Session ID - * Master_key OCTET STRING, -- the master key - * KRB5_principal OCTET STRING -- optional Kerberos principal - * Key_Arg [ 0 ] IMPLICIT OCTET STRING, -- the optional Key argument - * Time [ 1 ] EXPLICIT INTEGER, -- optional Start Time - * Timeout [ 2 ] EXPLICIT INTEGER, -- optional Timeout ins seconds - * Peer [ 3 ] EXPLICIT X509, -- optional Peer Certificate - * Session_ID_context [ 4 ] EXPLICIT OCTET STRING, -- the Session ID context - * Verify_result [ 5 ] EXPLICIT INTEGER, -- X509_V_... code for `Peer' - * HostName [ 6 ] EXPLICIT OCTET STRING, -- optional HostName from servername TLS extension - * PSK_identity_hint [ 7 ] EXPLICIT OCTET STRING, -- optional PSK identity hint - * PSK_identity [ 8 ] EXPLICIT OCTET STRING, -- optional PSK identity - * Ticket_lifetime_hint [9] EXPLICIT INTEGER, -- server's lifetime hint for session ticket - * Ticket [10] EXPLICIT OCTET STRING, -- session ticket (clients only) - * Compression_meth [11] EXPLICIT OCTET STRING, -- optional compression method - * SRP_username [ 12 ] EXPLICIT OCTET STRING -- optional SRP username - * } - * Look in ssl/ssl_asn1.c for more details - * I'm using EXPLICIT tags so I can read the damn things using asn1parse :-). +/* 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 */ -struct ssl_session_st { - int ssl_version; /* what ssl version session info is being - * kept in here? */ - /* only really used in SSLv2 */ - unsigned int key_arg_length; - unsigned char key_arg[SSL_MAX_KEY_ARG_LENGTH]; - int master_key_length; - unsigned char master_key[SSL_MAX_MASTER_KEY_LENGTH]; - /* session_id - valid? */ - unsigned int session_id_length; - unsigned char session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; - /* - * this is used to determine whether the session is being reused in the - * appropriate context. It is up to the application to set this, via - * SSL_new - */ - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; -# ifndef OPENSSL_NO_KRB5 - unsigned int krb5_client_princ_len; - unsigned char krb5_client_princ[SSL_MAX_KRB5_PRINCIPAL_LENGTH]; -# endif /* OPENSSL_NO_KRB5 */ -# ifndef OPENSSL_NO_PSK - char *psk_identity_hint; - char *psk_identity; -# endif - /* - * Used to indicate that session resumption is not allowed. Applications - * can also set this bit for a new session via not_resumable_session_cb - * to disable session caching and tickets. - */ - int not_resumable; - /* The cert is the certificate used to establish this connection */ - struct sess_cert_st /* SESS_CERT */ *sess_cert; - /* - * This is the cert for the other end. On clients, it will be the same as - * sess_cert->peer_key->x509 (the latter is not enough as sess_cert is - * not retained in the external representation of sessions, see - * ssl_asn1.c). - */ - X509 *peer; - /* - * when app_verify_callback accepts a session where the peer's - * certificate is not ok, we must remember the error for session reuse: - */ - long verify_result; /* only for servers */ - int references; - long timeout; - long time; - unsigned int compress_meth; /* Need to lookup the method */ - const SSL_CIPHER *cipher; - unsigned long cipher_id; /* when ASN.1 loaded, this needs to be used - * to load the 'cipher' structure */ - STACK_OF(SSL_CIPHER) *ciphers; /* shared ciphers? */ - CRYPTO_EX_DATA ex_data; /* application specific data */ - /* - * These are used to make removal of session-ids more efficient and to - * implement a maximum cache size. - */ - struct ssl_session_st *prev, *next; -# ifndef OPENSSL_NO_TLSEXT - char *tlsext_hostname; -# ifndef OPENSSL_NO_EC - size_t tlsext_ecpointformatlist_length; - unsigned char *tlsext_ecpointformatlist; /* peer's list */ - size_t tlsext_ellipticcurvelist_length; - unsigned char *tlsext_ellipticcurvelist; /* peer's list */ -# endif /* OPENSSL_NO_EC */ - /* RFC4507 info */ - unsigned char *tlsext_tick; /* Session ticket */ - size_t tlsext_ticklen; /* Session ticket length */ - long tlsext_tick_lifetime_hint; /* Session lifetime hint in seconds */ -# endif -# ifndef OPENSSL_NO_SRP - char *srp_username; -# endif -}; - -# endif - -# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L -# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L /* Allow initial connection to servers that don't support RI */ -# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L -# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L -# define SSL_OP_TLSEXT_PADDING 0x00000010L -# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L -# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040L -# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L -# define SSL_OP_TLS_D5_BUG 0x00000100L -# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L +# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004U -/* Hasn't done anything since OpenSSL 0.9.7h, retained for compatibility */ -# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 -/* Refers to ancient SSLREF and SSLv2, retained for compatibility */ -# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 +/* 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. + * SSL_OP_ALL. Added in 0.9.6e */ -/* added in 0.9.6e */ -# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800L - -/* - * SSL_OP_ALL: various bug workarounds that should be rather harmless. This - * used to be 0x000FFFFFL before 0.9.7. - */ -# define SSL_OP_ALL 0x80000BFFL +# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800U /* DTLS options */ -# define SSL_OP_NO_QUERY_MTU 0x00001000L +# define SSL_OP_NO_QUERY_MTU 0x00001000U /* Turn on Cookie Exchange (on relevant for servers) */ -# define SSL_OP_COOKIE_EXCHANGE 0x00002000L +# define SSL_OP_COOKIE_EXCHANGE 0x00002000U /* Don't use RFC4507 ticket extension */ -# define SSL_OP_NO_TICKET 0x00004000L -/* Use Cisco's "speshul" version of DTLS_BAD_VER (as client) */ -# define SSL_OP_CISCO_ANYCONNECT 0x00008000L +# 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 0x00010000L +# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000U /* Don't use compression even if supported */ -# define SSL_OP_NO_COMPRESSION 0x00020000L +# define SSL_OP_NO_COMPRESSION 0x00020000U /* Permit unsafe legacy renegotiation */ -# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000L -/* If set, always create a new key when using tmp_ecdh parameters */ -# define SSL_OP_SINGLE_ECDH_USE 0x00080000L -/* Does nothing: retained for compatibility */ -# define SSL_OP_SINGLE_DH_USE 0x00100000L -/* Does nothing: retained for compatibiity */ -# define SSL_OP_EPHEMERAL_RSA 0x0 +# 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 0x00400000L +# 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 0x00800000L - -# define SSL_OP_NO_SSLv2 0x01000000L -# define SSL_OP_NO_SSLv3 0x02000000L -# define SSL_OP_NO_TLSv1 0x04000000L -# define SSL_OP_NO_TLSv1_2 0x08000000L -# define SSL_OP_NO_TLSv1_1 0x10000000L - -# define SSL_OP_NO_DTLSv1 0x04000000L -# define SSL_OP_NO_DTLSv1_2 0x08000000L - -# define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|\ - SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2) +# define SSL_OP_TLS_ROLLBACK_BUG 0x00800000U /* - * These next two were never actually used for anything since SSLeay zap so - * we have some more flags. + * Switches off automatic TLSv1.3 anti-replay protection for early data. This + * is a server-side option only (no effect on the client). */ -/* - * The next flag deliberately changes the ciphertest, this is a check for the - * PKCS#1 attack - */ -# define SSL_OP_PKCS1_CHECK_1 0x0 -# define SSL_OP_PKCS1_CHECK_2 0x0 +# 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 -# define SSL_OP_NETSCAPE_CA_DN_BUG 0x20000000L -# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x40000000L /* * 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 0x80000000L +# 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 0x00000001L +# 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 0x00000002L +# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002U /* * Never bother the application with retries if the transport is blocking: */ -# define SSL_MODE_AUTO_RETRY 0x00000004L +# define SSL_MODE_AUTO_RETRY 0x00000004U /* Don't attempt to automatically build certificate chain */ -# define SSL_MODE_NO_AUTO_CHAIN 0x00000008L +# 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 put onto a free-list in the context or - * just freed (depending on the context's setting for freelist_max_len). + * TLS only.) Released buffers are freed. */ -# define SSL_MODE_RELEASE_BUFFERS 0x00000010L +# 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 0x00000020L -# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040L +# 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 @@ -712,14 +488,31 @@ struct ssl_session_st { * fallback retries, following the guidance in * draft-ietf-tls-downgrade-scsv-00. */ -# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080L +# 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 certifcate chain algorithms. When this is set we enforce them. + * enforcing certificate chain algorithms. When this is set we enforce them. */ -# define SSL_CERT_FLAG_TLS_STRICT 0x00000001L +# 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 @@ -771,29 +564,28 @@ struct ssl_session_st { # 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. */ -# define SSL_CTX_set_options(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) -# define SSL_CTX_clear_options(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) -# define SSL_CTX_get_options(ctx) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,0,NULL) -# define SSL_set_options(ssl,op) \ - SSL_ctrl((ssl),SSL_CTRL_OPTIONS,(op),NULL) -# define SSL_clear_options(ssl,op) \ - SSL_ctrl((ssl),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) -# define SSL_get_options(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_OPTIONS,0,NULL) +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) @@ -819,7 +611,7 @@ struct ssl_session_st { # ifndef OPENSSL_NO_HEARTBEATS # define SSL_heartbeat(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_TLS_EXT_SEND_HEARTBEAT,0,NULL) + SSL_ctrl((ssl),SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT,0,NULL) # endif # define SSL_CTX_set_cert_flags(ctx,op) \ @@ -842,48 +634,23 @@ void SSL_set_msg_callback(SSL *ssl, # 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 -# ifndef OPENSSL_NO_SSL_INTERN - -typedef struct srp_ctx_st { - /* param for all the callbacks */ - void *SRP_cb_arg; - /* set client Hello login callback */ - int (*TLS_ext_srp_username_callback) (SSL *, int *, void *); - /* set SRP N/g param callback for verification */ - int (*SRP_verify_param_callback) (SSL *, void *); - /* set SRP client passwd callback */ - char *(*SRP_give_srp_client_pwd_callback) (SSL *, void *); - char *login; - BIGNUM *N, *g, *s, *B, *A; - BIGNUM *a, *b, *v; - char *info; - int strength; - unsigned long srp_Mask; -} SRP_CTX; - -# endif - /* see tls_srp.c */ -int SSL_SRP_CTX_init(SSL *s); -int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); +__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); -int SSL_srp_server_param_with_username(SSL *s, int *ad); -int SRP_generate_server_master_secret(SSL *s, unsigned char *master_key); -int SRP_Calc_A_param(SSL *s); -int SRP_generate_client_master_secret(SSL *s, unsigned char *master_key); +__owur int SSL_srp_server_param_with_username(SSL *s, int *ad); +__owur int SRP_Calc_A_param(SSL *s); # endif -# if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) -# define SSL_MAX_CERT_LIST_DEFAULT 1024*30 - /* 30k max cert list :-) */ -# else -# define SSL_MAX_CERT_LIST_DEFAULT 1024*100 - /* 100k max cert list :-) */ -# endif +/* 100k max cert list */ +# define SSL_MAX_CERT_LIST_DEFAULT 1024*100 # define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) @@ -895,296 +662,13 @@ int SRP_generate_client_master_secret(SSL *s, unsigned char *master_key); * 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 SSLv2 this is 16 - * bytes, whereas SSLv3/TLSv1 it is 32 bytes. The callback can alter this - * length to be less if desired, but under SSLv2 session IDs are supposed to - * be fixed at 16 bytes so the id will be padded after the callback returns - * in this case. It is also an error for the callback to set the size to - * zero. + * 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) (const SSL *ssl, unsigned char *id, +typedef int (*GEN_SESSION_CB) (SSL *ssl, unsigned char *id, unsigned int *id_len); -typedef struct ssl_comp_st SSL_COMP; - -# ifndef OPENSSL_NO_SSL_INTERN - -struct ssl_comp_st { - int id; - const char *name; -# ifndef OPENSSL_NO_COMP - COMP_METHOD *method; -# else - char *method; -# endif -}; - -DECLARE_STACK_OF(SSL_COMP) -DECLARE_LHASH_OF(SSL_SESSION); - -struct ssl_ctx_st { - const SSL_METHOD *method; - STACK_OF(SSL_CIPHER) *cipher_list; - /* same as above but sorted for lookup */ - STACK_OF(SSL_CIPHER) *cipher_list_by_id; - struct x509_store_st /* X509_STORE */ *cert_store; - LHASH_OF(SSL_SESSION) *sessions; - /* - * Most session-ids that will be cached, default is - * SSL_SESSION_CACHE_MAX_SIZE_DEFAULT. 0 is unlimited. - */ - unsigned long session_cache_size; - struct ssl_session_st *session_cache_head; - struct ssl_session_st *session_cache_tail; - /* - * This can have one of 2 values, ored together, SSL_SESS_CACHE_CLIENT, - * SSL_SESS_CACHE_SERVER, Default is SSL_SESSION_CACHE_SERVER, which - * means only SSL_accept which cache SSL_SESSIONS. - */ - int session_cache_mode; - /* - * If timeout is not 0, it is the default timeout value set when - * SSL_new() is called. This has been put in to make life easier to set - * things up - */ - long session_timeout; - /* - * If this callback is not null, it will be called each time a session id - * is added to the cache. If this function returns 1, it means that the - * callback will do a SSL_SESSION_free() when it has finished using it. - * Otherwise, on 0, it means the callback has finished with it. If - * remove_session_cb is not null, it will be called when a session-id is - * removed from the cache. After the call, OpenSSL will - * SSL_SESSION_free() it. - */ - int (*new_session_cb) (struct ssl_st *ssl, SSL_SESSION *sess); - void (*remove_session_cb) (struct ssl_ctx_st *ctx, SSL_SESSION *sess); - SSL_SESSION *(*get_session_cb) (struct ssl_st *ssl, - unsigned char *data, int len, int *copy); - struct { - int sess_connect; /* SSL new conn - started */ - int sess_connect_renegotiate; /* SSL reneg - requested */ - int sess_connect_good; /* SSL new conne/reneg - finished */ - int sess_accept; /* SSL new accept - started */ - int sess_accept_renegotiate; /* SSL reneg - requested */ - int sess_accept_good; /* SSL accept/reneg - finished */ - int sess_miss; /* session lookup misses */ - int sess_timeout; /* reuse attempt on timeouted session */ - int sess_cache_full; /* session removed due to full cache */ - int sess_hit; /* session reuse actually done */ - int sess_cb_hit; /* session-id that was not in the cache was - * passed back via the callback. This - * indicates that the application is - * supplying session-id's from other - * processes - spooky :-) */ - } stats; - - int references; - - /* if defined, these override the X509_verify_cert() calls */ - int (*app_verify_callback) (X509_STORE_CTX *, void *); - void *app_verify_arg; - /* - * before OpenSSL 0.9.7, 'app_verify_arg' was ignored - * ('app_verify_callback' was called with just one argument) - */ - - /* Default password callback. */ - pem_password_cb *default_passwd_callback; - - /* Default password callback user data. */ - void *default_passwd_callback_userdata; - - /* get client cert callback */ - int (*client_cert_cb) (SSL *ssl, X509 **x509, EVP_PKEY **pkey); - - /* cookie generate callback */ - int (*app_gen_cookie_cb) (SSL *ssl, unsigned char *cookie, - unsigned int *cookie_len); - - /* verify cookie callback */ - int (*app_verify_cookie_cb) (SSL *ssl, unsigned char *cookie, - unsigned int cookie_len); - - CRYPTO_EX_DATA ex_data; - - const EVP_MD *rsa_md5; /* For SSLv2 - name is 'ssl2-md5' */ - const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */ - const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3->sha1' */ - - STACK_OF(X509) *extra_certs; - STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */ - - /* Default values used when no per-SSL value is defined follow */ - - /* used if SSL's info_callback is NULL */ - void (*info_callback) (const SSL *ssl, int type, int val); - - /* what we put in client cert requests */ - STACK_OF(X509_NAME) *client_CA; - - /* - * Default values to use in SSL structures follow (these are copied by - * SSL_new) - */ - - unsigned long options; - unsigned long mode; - long max_cert_list; - - struct cert_st /* CERT */ *cert; - int read_ahead; - - /* callback that allows applications to peek at protocol messages */ - void (*msg_callback) (int write_p, int version, int content_type, - const void *buf, size_t len, SSL *ssl, void *arg); - void *msg_callback_arg; - - int verify_mode; - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; - /* called 'verify_callback' in the SSL */ - int (*default_verify_callback) (int ok, X509_STORE_CTX *ctx); - - /* Default generate session ID callback. */ - GEN_SESSION_CB generate_session_id; - - X509_VERIFY_PARAM *param; - -# if 0 - int purpose; /* Purpose setting */ - int trust; /* Trust setting */ -# endif - - int quiet_shutdown; - - /* - * Maximum amount of data to send in one fragment. actual record size can - * be more than this due to padding and MAC overheads. - */ - unsigned int max_send_fragment; - -# ifndef OPENSSL_NO_ENGINE - /* - * Engine to pass requests for client certs to - */ - ENGINE *client_cert_engine; -# endif - -# ifndef OPENSSL_NO_TLSEXT - /* TLS extensions servername callback */ - int (*tlsext_servername_callback) (SSL *, int *, void *); - void *tlsext_servername_arg; - /* RFC 4507 session ticket keys */ - unsigned char tlsext_tick_key_name[16]; - unsigned char tlsext_tick_hmac_key[16]; - unsigned char tlsext_tick_aes_key[16]; - /* Callback to support customisation of ticket key setting */ - int (*tlsext_ticket_key_cb) (SSL *ssl, - unsigned char *name, unsigned char *iv, - EVP_CIPHER_CTX *ectx, - HMAC_CTX *hctx, int enc); - - /* certificate status request info */ - /* Callback for status request */ - int (*tlsext_status_cb) (SSL *ssl, void *arg); - void *tlsext_status_arg; - - /* draft-rescorla-tls-opaque-prf-input-00.txt information */ - int (*tlsext_opaque_prf_input_callback) (SSL *, void *peerinput, - size_t len, void *arg); - void *tlsext_opaque_prf_input_callback_arg; -# endif - -# ifndef OPENSSL_NO_PSK - char *psk_identity_hint; - unsigned int (*psk_client_callback) (SSL *ssl, const char *hint, - char *identity, - unsigned int max_identity_len, - unsigned char *psk, - unsigned int max_psk_len); - unsigned int (*psk_server_callback) (SSL *ssl, const char *identity, - unsigned char *psk, - unsigned int max_psk_len); -# endif - -# ifndef OPENSSL_NO_BUF_FREELISTS -# define SSL_MAX_BUF_FREELIST_LEN_DEFAULT 32 - unsigned int freelist_max_len; - struct ssl3_buf_freelist_st *wbuf_freelist; - struct ssl3_buf_freelist_st *rbuf_freelist; -# endif -# ifndef OPENSSL_NO_SRP - SRP_CTX srp_ctx; /* ctx for SRP authentication */ -# endif - -# ifndef OPENSSL_NO_TLSEXT - -# ifndef OPENSSL_NO_NEXTPROTONEG - /* Next protocol negotiation information */ - /* (for experimental NPN extension). */ - - /* - * For a server, this contains a callback function by which the set of - * advertised protocols can be provided. - */ - int (*next_protos_advertised_cb) (SSL *s, const unsigned char **buf, - unsigned int *len, void *arg); - void *next_protos_advertised_cb_arg; - /* - * For a client, this contains a callback function that selects the next - * protocol from the list provided by the server. - */ - int (*next_proto_select_cb) (SSL *s, unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, void *arg); - void *next_proto_select_cb_arg; -# endif - /* SRTP profiles we are willing to do from RFC 5764 */ - STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; - - /* - * ALPN information (we are in the process of transitioning from NPN to - * ALPN.) - */ - - /*- - * For a server, this contains a callback function that allows the - * server to select the protocol for the connection. - * out: on successful return, this must point to the raw protocol - * name (without the length prefix). - * outlen: on successful return, this contains the length of |*out|. - * in: points to the client's list of supported protocols in - * wire-format. - * inlen: the length of |in|. - */ - int (*alpn_select_cb) (SSL *s, - const unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, void *arg); - void *alpn_select_cb_arg; - - /* - * For a client, this contains the list of supported protocols in wire - * format. - */ - unsigned char *alpn_client_proto_list; - unsigned alpn_client_proto_list_len; - -# ifndef OPENSSL_NO_EC - /* EC extension values inherited by SSL structure */ - size_t tlsext_ecpointformatlist_length; - unsigned char *tlsext_ecpointformatlist; - size_t tlsext_ellipticcurvelist_length; - unsigned char *tlsext_ellipticcurvelist; -# endif /* OPENSSL_NO_EC */ -# endif -}; - -# endif - # define SSL_SESS_CACHE_OFF 0x0000 # define SSL_SESS_CACHE_CLIENT 0x0001 # define SSL_SESS_CACHE_SERVER 0x0002 @@ -1230,22 +714,20 @@ int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void (*remove_session_cb) (struct ssl_ctx_st *ctx, - SSL_SESSION - *sess)); + 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, - unsigned char + const unsigned char *data, int len, int *copy)); SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, - unsigned char *Data, + 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 (*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, @@ -1254,7 +736,7 @@ void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509, EVP_PKEY **pkey); # ifndef OPENSSL_NO_ENGINE -int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); +__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, @@ -1264,52 +746,72 @@ void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, *cookie_len)); void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, int (*app_verify_cookie_cb) (SSL *ssl, - unsigned char - *cookie, + 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, - int (*cb) (SSL *ssl, - const unsigned char - **out, - unsigned int *outlen, - void *arg), void *arg); + 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, - int (*cb) (SSL *ssl, - unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, - void *arg), void *arg); + 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 -# ifndef OPENSSL_NO_TLSEXT -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); -# 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 -int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, - unsigned protos_len); -int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, - unsigned protos_len); -void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, - int (*cb) (SSL *ssl, +__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 *arg); + 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 *len); + unsigned int *len); # ifndef OPENSSL_NO_PSK /* @@ -1318,376 +820,122 @@ void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, */ # define PSK_MAX_IDENTITY_LEN 128 # define PSK_MAX_PSK_LEN 256 -void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, - unsigned int (*psk_client_callback) (SSL - *ssl, - const - char - *hint, - char - *identity, - unsigned - int - max_identity_len, - unsigned - char - *psk, - unsigned - int - max_psk_len)); -void SSL_set_psk_client_callback(SSL *ssl, - unsigned int (*psk_client_callback) (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_server_callback(SSL_CTX *ctx, - unsigned int (*psk_server_callback) (SSL - *ssl, - const - char - *identity, - unsigned - char - *psk, - unsigned - int - max_psk_len)); -void SSL_set_psk_server_callback(SSL *ssl, - unsigned int (*psk_server_callback) (SSL - *ssl, - const - char - *identity, - unsigned - char - *psk, - unsigned - int - max_psk_len)); -int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); -int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); +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 -# ifndef OPENSSL_NO_TLSEXT +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. */ -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, +__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, - custom_ext_parse_cb parse_cb, + SSL_custom_ext_parse_cb_ex parse_cb, void *parse_arg); -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_extension_supported(unsigned int ext_type); -int SSL_extension_supported(unsigned int ext_type); - -# endif - -# define SSL_NOTHING 1 -# define SSL_WRITING 2 -# define SSL_READING 3 -# define SSL_X509_LOOKUP 4 +# 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_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 -# ifndef OPENSSL_NO_SSL_INTERN +/* + * 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); -struct ssl_st { - /* - * protocol version (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION, - * DTLS1_VERSION) - */ - int version; - /* SSL_ST_CONNECT or SSL_ST_ACCEPT */ - int type; - /* SSLv3 */ - const SSL_METHOD *method; - /* - * There are 2 BIO's even though they are normally both the same. This - * is so data can be read and written to different handlers - */ -# ifndef OPENSSL_NO_BIO - /* used by SSL_read */ - BIO *rbio; - /* used by SSL_write */ - BIO *wbio; - /* used during session-id reuse to concatenate messages */ - BIO *bbio; -# else - /* used by SSL_read */ - char *rbio; - /* used by SSL_write */ - char *wbio; - char *bbio; -# endif - /* - * This holds a variable that indicates what we were doing when a 0 or -1 - * is returned. This is needed for non-blocking IO so we know what - * request needs re-doing when in SSL_accept or SSL_connect - */ - int rwstate; - /* true when we are actually in SSL_accept() or SSL_connect() */ - int in_handshake; - int (*handshake_func) (SSL *); - /* - * Imagine that here's a boolean member "init" that is switched as soon - * as SSL_set_{accept/connect}_state is called for the first time, so - * that "state" and "handshake_func" are properly initialized. But as - * handshake_func is == 0 until then, we use this test instead of an - * "init" member. - */ - /* are we the server side? - mostly used by SSL_clear */ - int server; - /* - * Generate a new session or reuse an old one. - * NB: For servers, the 'new' session may actually be a previously - * cached session or even the previous session unless - * SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION is set - */ - int new_session; - /* don't send shutdown packets */ - int quiet_shutdown; - /* we have shut things down, 0x01 sent, 0x02 for received */ - int shutdown; - /* where we are */ - int state; - /* where we are when reading */ - int rstate; - BUF_MEM *init_buf; /* buffer used during init */ - void *init_msg; /* pointer to handshake message body, set by - * ssl3_get_message() */ - int init_num; /* amount read/written */ - int init_off; /* amount read/written */ - /* used internally to point at a raw packet */ - unsigned char *packet; - unsigned int packet_length; - struct ssl2_state_st *s2; /* SSLv2 variables */ - struct ssl3_state_st *s3; /* SSLv3 variables */ - struct dtls1_state_st *d1; /* DTLSv1 variables */ - int read_ahead; /* Read as many input bytes as possible (for - * non-blocking reads) */ - /* callback that allows applications to peek at protocol messages */ - void (*msg_callback) (int write_p, int version, int content_type, - const void *buf, size_t len, SSL *ssl, void *arg); - void *msg_callback_arg; - int hit; /* reusing a previous session */ - X509_VERIFY_PARAM *param; -# if 0 - int purpose; /* Purpose setting */ - int trust; /* Trust setting */ -# endif - /* crypto */ - STACK_OF(SSL_CIPHER) *cipher_list; - STACK_OF(SSL_CIPHER) *cipher_list_by_id; - /* - * These are the ones being used, the ones in SSL_SESSION are the ones to - * be 'copied' into these ones - */ - int mac_flags; - EVP_CIPHER_CTX *enc_read_ctx; /* cryptographic state */ - EVP_MD_CTX *read_hash; /* used for mac generation */ -# ifndef OPENSSL_NO_COMP - COMP_CTX *expand; /* uncompress */ -# else - char *expand; -# endif - EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ - EVP_MD_CTX *write_hash; /* used for mac generation */ -# ifndef OPENSSL_NO_COMP - COMP_CTX *compress; /* compression */ -# else - char *compress; -# endif - /* session info */ - /* client cert? */ - /* This is used to hold the server certificate used */ - struct cert_st /* CERT */ *cert; - /* - * the session_id_context is used to ensure sessions are only reused in - * the appropriate context - */ - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; - /* This can also be in the session once a session is established */ - SSL_SESSION *session; - /* Default generate session ID callback. */ - GEN_SESSION_CB generate_session_id; - /* Used in SSL2 and SSL3 */ - /* - * 0 don't care about verify failure. - * 1 fail if verify fails - */ - int verify_mode; - /* fail if callback returns 0 */ - int (*verify_callback) (int ok, X509_STORE_CTX *ctx); - /* optional informational callback */ - void (*info_callback) (const SSL *ssl, int type, int val); - /* error bytes to be written */ - int error; - /* actual code */ - int error_code; -# ifndef OPENSSL_NO_KRB5 - /* Kerberos 5 context */ - KSSL_CTX *kssl_ctx; -# endif /* OPENSSL_NO_KRB5 */ -# ifndef OPENSSL_NO_PSK - unsigned int (*psk_client_callback) (SSL *ssl, const char *hint, - char *identity, - unsigned int max_identity_len, - unsigned char *psk, - unsigned int max_psk_len); - unsigned int (*psk_server_callback) (SSL *ssl, const char *identity, - unsigned char *psk, - unsigned int max_psk_len); -# endif - SSL_CTX *ctx; - /* - * set this flag to 1 and a sleep(1) is put into all SSL_read() and - * SSL_write() calls, good for nbio debuging :-) - */ - int debug; - /* extra application data */ - long verify_result; - CRYPTO_EX_DATA ex_data; - /* for server side, keep the list of CA_dn we can use */ - STACK_OF(X509_NAME) *client_CA; - int references; - /* protocol behaviour */ - unsigned long options; - /* API behaviour */ - unsigned long mode; - long max_cert_list; - int first_packet; - /* what was passed, used for SSLv3/TLS rollback check */ - int client_version; - unsigned int max_send_fragment; -# ifndef OPENSSL_NO_TLSEXT - /* TLS extension debug callback */ - void (*tlsext_debug_cb) (SSL *s, int client_server, int type, - unsigned char *data, int len, void *arg); - void *tlsext_debug_arg; - char *tlsext_hostname; - /*- - * no further mod of servername - * 0 : call the servername extension callback. - * 1 : prepare 2, allow last ack just after in server callback. - * 2 : don't call servername callback, no ack in server hello - */ - int servername_done; - /* certificate status request info */ - /* Status type or -1 if no status type */ - int tlsext_status_type; - /* Expect OCSP CertificateStatus message */ - int tlsext_status_expected; - /* OCSP status request only */ - STACK_OF(OCSP_RESPID) *tlsext_ocsp_ids; - X509_EXTENSIONS *tlsext_ocsp_exts; - /* OCSP response received or to be sent */ - unsigned char *tlsext_ocsp_resp; - int tlsext_ocsp_resplen; - /* RFC4507 session ticket expected to be received or sent */ - int tlsext_ticket_expected; -# ifndef OPENSSL_NO_EC - size_t tlsext_ecpointformatlist_length; - /* our list */ - unsigned char *tlsext_ecpointformatlist; - size_t tlsext_ellipticcurvelist_length; - /* our list */ - unsigned char *tlsext_ellipticcurvelist; -# endif /* OPENSSL_NO_EC */ - /* - * draft-rescorla-tls-opaque-prf-input-00.txt information to be used for - * handshakes - */ - void *tlsext_opaque_prf_input; - size_t tlsext_opaque_prf_input_len; - /* TLS Session Ticket extension override */ - TLS_SESSION_TICKET_EXT *tlsext_session_ticket; - /* TLS Session Ticket extension callback */ - tls_session_ticket_ext_cb_fn tls_session_ticket_ext_cb; - void *tls_session_ticket_ext_cb_arg; - /* TLS pre-shared secret session resumption */ - tls_session_secret_cb_fn tls_session_secret_cb; - void *tls_session_secret_cb_arg; - SSL_CTX *initial_ctx; /* initial ctx, used to store sessions */ -# ifndef OPENSSL_NO_NEXTPROTONEG - /* - * Next protocol negotiation. For the client, this is the protocol that - * we sent in NextProtocol and is set when handling ServerHello - * extensions. For a server, this is the client's selected_protocol from - * NextProtocol and is set when handling the NextProtocol message, before - * the Finished message. - */ - unsigned char *next_proto_negotiated; - unsigned char next_proto_negotiated_len; -# endif -# define session_ctx initial_ctx - /* What we'll do */ - STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; - /* What's been chosen */ - SRTP_PROTECTION_PROFILE *srtp_profile; - /*- - * Is use of the Heartbeat extension negotiated? - * 0: disabled - * 1: enabled - * 2: enabled, but not allowed to send Requests - */ - unsigned int tlsext_heartbeat; - /* Indicates if a HeartbeatRequest is in flight */ - unsigned int tlsext_hb_pending; - /* HeartbeatRequest sequence number */ - unsigned int tlsext_hb_seq; -# else -# define session_ctx ctx -# endif /* OPENSSL_NO_TLSEXT */ - /*- - * 1 if we are renegotiating. - * 2 if we are a server and are inside a handshake - * (i.e. not just sending a HelloRequest) - */ - int renegotiate; -# ifndef OPENSSL_NO_SRP - /* ctx for SRP authentication */ - SRP_CTX srp_ctx; -# endif -# ifndef OPENSSL_NO_TLSEXT - /* - * For a client, this contains the list of supported protocols in wire - * format. - */ - unsigned char *alpn_client_proto_list; - unsigned alpn_client_proto_list_len; -# endif /* OPENSSL_NO_TLSEXT */ -}; +/* + * 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); -# endif +/* + * 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 } @@ -1697,37 +945,114 @@ struct ssl_st { # include # include /* This is mostly sslv3 with a few tweaks */ # include /* Datagram TLS */ -# include # 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_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_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)) +# 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 following are the possible values for ssl->state are are used to - * indicate where we are up to in the SSL connection establishment. The - * macros that follow are about the only things you should need to use and - * even then, only when using non-blocking IO. It can also be useful to work - * out where you were when the connection failed + * 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_ST_INIT (SSL_ST_CONNECT|SSL_ST_ACCEPT) -# define SSL_ST_BEFORE 0x4000 -# define SSL_ST_OK 0x03 -# define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT) -# define SSL_ST_ERR (0x05|SSL_ST_INIT) # define SSL_CB_LOOP 0x01 # define SSL_CB_EXIT 0x02 @@ -1744,16 +1069,15 @@ extern "C" { # define SSL_CB_HANDSHAKE_DONE 0x20 /* Is the SSL_connection established? */ -# define SSL_get_state(a) SSL_state(a) -# define SSL_is_init_finished(a) (SSL_state(a) == SSL_ST_OK) -# define SSL_in_init(a) (SSL_state(a)&SSL_ST_INIT) -# define SSL_in_before(a) (SSL_state(a)&SSL_ST_BEFORE) -# define SSL_in_connect_init(a) (SSL_state(a)&SSL_ST_CONNECT) -# define SSL_in_accept_init(a) (SSL_state(a)&SSL_ST_ACCEPT) +# 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 2 states are kept in ssl->rstate when reads fail, you should - * not need these + * 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 @@ -1769,25 +1093,20 @@ 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 2 options are + * 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 -# define OpenSSL_add_ssl_algorithms() SSL_library_init() -# define SSLeay_add_ssl_algorithms() SSL_library_init() - -/* this is for backward compatibility */ -# if 0 /* NEW_SSLEAY */ -# define SSL_CTX_set_default_verify(a,b,c) SSL_CTX_set_verify(a,b,c) -# define SSL_set_pref_cipher(c,n) SSL_set_cipher_list(c,n) -# define SSL_add_session(a,b) SSL_CTX_add_session((a),(b)) -# define SSL_remove_session(a,b) SSL_CTX_remove_session((a),(b)) -# define SSL_flush_sessions(a,b) SSL_CTX_flush_sessions((a),(b)) +# 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)) @@ -1846,6 +1165,8 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # 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 @@ -1855,6 +1176,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # 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 @@ -1865,14 +1187,12 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_ERROR_ZERO_RETURN 6 # define SSL_ERROR_WANT_CONNECT 7 # define SSL_ERROR_WANT_ACCEPT 8 -# define SSL_CTRL_NEED_TMP_RSA 1 -# define SSL_CTRL_SET_TMP_RSA 2 +# 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_RSA_CB 5 # define SSL_CTRL_SET_TMP_DH_CB 6 -# define SSL_CTRL_SET_TMP_ECDH_CB 7 -# define SSL_CTRL_GET_SESSION_REUSED 8 # define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 # define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 # define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 @@ -1896,7 +1216,6 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_SESS_MISSES 29 # define SSL_CTRL_SESS_TIMEOUTS 30 # define SSL_CTRL_SESS_CACHE_FULL 31 -# define SSL_CTRL_OPTIONS 32 # define SSL_CTRL_MODE 33 # define SSL_CTRL_GET_READ_AHEAD 40 # define SSL_CTRL_SET_READ_AHEAD 41 @@ -1908,55 +1227,51 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_SET_MAX_CERT_LIST 51 # define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 /* see tls1.h for macros based on these */ -# ifndef OPENSSL_NO_TLSEXT -# 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_TLS_EXT_SEND_HEARTBEAT 85 -# define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING 86 -# define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS 87 -# endif -# endif /* OPENSSL_NO_TLSEXT */ +# 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 DTLS_CTRL_LISTEN 75 # define SSL_CTRL_GET_RI_SUPPORT 76 -# define SSL_CTRL_CLEAR_OPTIONS 77 # 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_CURVES 90 -# define SSL_CTRL_SET_CURVES 91 -# define SSL_CTRL_SET_CURVES_LIST 92 -# define SSL_CTRL_GET_SHARED_CURVE 93 -# define SSL_CTRL_SET_ECDH_AUTO 94 +# 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 @@ -1969,50 +1284,54 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # 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_SERVER_TMP_KEY 109 +# 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_CHECK_PROTO_VERSION 119 +# 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) + 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 DTLSv1_listen(ssl, peer) \ - SSL_ctrl(ssl,DTLS_CTRL_LISTEN,0, (void *)peer) -# define SSL_session_reused(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_GET_SESSION_REUSED,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_need_tmp_RSA(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_NEED_TMP_RSA,0,NULL) -# define SSL_CTX_set_tmp_rsa(ctx,rsa) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) # define SSL_CTX_set_tmp_dh(ctx,dh) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)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_need_tmp_RSA(ssl) \ - SSL_ctrl(ssl,SSL_CTRL_NEED_TMP_RSA,0,NULL) -# define SSL_set_tmp_rsa(ssl,rsa) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) + 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) + 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) + 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) + 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) \ @@ -2020,13 +1339,13 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # 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) + 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) + 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) + 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) + 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) \ @@ -2034,25 +1353,25 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # 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) + 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) + 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) + 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) + 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) + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) # define SSL_set0_chain(ctx,sk) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) + SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) # define SSL_set1_chain(ctx,sk) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) + SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk)) # define SSL_add0_chain_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) # define SSL_add1_chain_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) + SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) # define SSL_get0_chain_certs(ctx,px509) \ SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) # define SSL_clear_chain_certs(ctx) \ @@ -2060,207 +1379,311 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_build_cert_chain(s, flags) \ SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) # define SSL_select_current_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) + SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) # define SSL_set_current_cert(ctx,op) \ SSL_ctrl(ctx,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) + 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) + 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) + 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_curves(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_GET_CURVES,0,(char *)s) -# define SSL_CTX_set1_curves(ctx, clist, clistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) -# define SSL_CTX_set1_curves_list(ctx, s) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) -# define SSL_set1_curves(ctx, clist, clistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) -# define SSL_set1_curves_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) -# define SSL_get_shared_curve(s, n) \ - SSL_ctrl(s,SSL_CTRL_GET_SHARED_CURVE,n,NULL) -# define SSL_CTX_set_ecdh_auto(ctx, onoff) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) -# define SSL_set_ecdh_auto(s, onoff) \ - SSL_ctrl(s,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) +# define SSL_get1_groups(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_GET_GROUPS,0,(char *)(s)) +# 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(ctx, glist, glistlen) \ + SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) +# define SSL_set1_groups_list(ctx, s) \ + SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) +# 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) + 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) + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) # define SSL_set1_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)slist) + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) # define SSL_set1_sigalgs_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) + SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) # define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)slist) + 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) + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) # define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)slist) + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)(slist)) # define SSL_set1_client_sigalgs_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) + SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) # define SSL_get0_certificate_types(s, clist) \ - SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)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) + 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) + 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_server_tmp_key(s, pk) \ - SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) +# 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,(char *)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,(char *)plst) -# ifndef OPENSSL_NO_BIO -BIO_METHOD *BIO_f_ssl(void); -BIO *BIO_new_ssl(SSL_CTX *ctx, int client); -BIO *BIO_new_ssl_connect(SSL_CTX *ctx); -BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); -int BIO_ssl_copy_session_id(BIO *to, BIO *from); + 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); -# endif - -int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); -SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); +__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 *); -long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); -long SSL_CTX_get_timeout(const SSL_CTX *ctx); -X509_STORE *SSL_CTX_get_cert_store(const 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 *); -int SSL_want(const SSL *s); -int SSL_clear(SSL *s); +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); -const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); -int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits); -char *SSL_CIPHER_get_version(const SSL_CIPHER *c); -const char *SSL_CIPHER_get_name(const SSL_CIPHER *c); -unsigned long SSL_CIPHER_get_id(const SSL_CIPHER *c); +__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); -int SSL_get_fd(const SSL *s); -int SSL_get_rfd(const SSL *s); -int SSL_get_wfd(const SSL *s); -const char *SSL_get_cipher_list(const SSL *s, int n); -char *SSL_get_shared_ciphers(const SSL *s, char *buf, int len); -int SSL_get_read_ahead(const SSL *s); -int SSL_pending(const SSL *s); +__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 -int SSL_set_fd(SSL *s, int fd); -int SSL_set_rfd(SSL *s, int fd); -int SSL_set_wfd(SSL *s, int fd); +__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 -# ifndef OPENSSL_NO_BIO +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); -BIO *SSL_get_rbio(const SSL *s); -BIO *SSL_get_wbio(const SSL *s); -# endif -int SSL_set_cipher_list(SSL *s, const char *str); +__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); -int SSL_get_verify_mode(const SSL *s); -int SSL_get_verify_depth(const SSL *s); -int (*SSL_get_verify_callback(const SSL *s)) (int, X509_STORE_CTX *); -void SSL_set_verify(SSL *s, int mode, - int (*callback) (int ok, X509_STORE_CTX *ctx)); +__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 -int SSL_use_RSAPrivateKey(SSL *ssl, RSA *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 -int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len); -int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); -int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d, - long len); -int SSL_use_certificate(SSL *ssl, X509 *x); -int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); +__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 -# ifndef OPENSSL_NO_TLSEXT /* Set serverinfo data for the current active cert. */ -int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, - size_t serverinfo_length); -# ifndef OPENSSL_NO_STDIO -int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); -# endif /* NO_STDIO */ +__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); -# endif +#ifndef OPENSSL_NO_RSA +__owur int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); +#endif -# ifndef OPENSSL_NO_STDIO -int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); -int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); -int SSL_use_certificate_file(SSL *ssl, const char *file, int type); -int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); -int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); -int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); +__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 */ -int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); -STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); -int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, - const char *file); -# ifndef OPENSSL_SYS_VMS -/* XXXXX: Better scheme needed! [was: #ifndef MAC_OS_pre_X] */ -# ifndef OPENSSL_SYS_MACINTOSH_CLASSIC +__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); -# endif -# endif +# 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 -void SSL_load_error_strings(void); -const char *SSL_state_string(const SSL *s); -const char *SSL_rstate_string(const SSL *s); -const char *SSL_state_string_long(const SSL *s); -const char *SSL_rstate_string_long(const SSL *s); -long SSL_SESSION_get_time(const SSL_SESSION *s); -long SSL_SESSION_set_time(SSL_SESSION *s, long t); -long SSL_SESSION_get_timeout(const SSL_SESSION *s); -long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); -void SSL_copy_session_id(SSL *to, const SSL *from); -X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); -int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx, - unsigned int sid_ctx_len); +__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); -SSL_SESSION *SSL_SESSION_new(void); +__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); -unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); -# ifndef OPENSSL_NO_FP_API +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 -# ifndef OPENSSL_NO_BIO int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); -# endif +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); -int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); -int SSL_set_session(SSL *to, SSL_SESSION *session); -int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c); -int SSL_CTX_remove_session(SSL_CTX *, SSL_SESSION *c); -int SSL_CTX_set_generate_session_id(SSL_CTX *, GEN_SESSION_CB); -int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB); -int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id, - unsigned int id_len); +__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 -X509 *SSL_get_peer_certificate(const SSL *s); +__owur X509 *SSL_get_peer_certificate(const SSL *s); # endif -STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); +__owur STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); -int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); -int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); -int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx)) (int, - X509_STORE_CTX *); -void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, - int (*callback) (int, X509_STORE_CTX *)); +__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 *), @@ -2268,40 +1691,79 @@ void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), void *arg); # ifndef OPENSSL_NO_RSA -int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *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 -int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, - long len); -int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); -int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, - const unsigned char *d, long len); -int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); -int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, - const unsigned char *d); +__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); -int SSL_CTX_check_private_key(const SSL_CTX *ctx); -int SSL_check_private_key(const SSL *ctx); +__owur int SSL_CTX_check_private_key(const SSL_CTX *ctx); +__owur int SSL_check_private_key(const SSL *ctx); -int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid_ctx, - unsigned int sid_ctx_len); +__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_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx, - unsigned int sid_ctx_len); +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); -int SSL_CTX_set_purpose(SSL_CTX *s, int purpose); -int SSL_set_purpose(SSL *s, int purpose); -int SSL_CTX_set_trust(SSL_CTX *s, int trust); -int SSL_set_trust(SSL *s, int trust); +__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); -int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); -int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); +__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); -X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); -X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); +__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); @@ -2320,161 +1782,248 @@ int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, const char *grp); -BIGNUM *SSL_get_srp_g(SSL *s); -BIGNUM *SSL_get_srp_N(SSL *s); +__owur BIGNUM *SSL_get_srp_g(SSL *s); +__owur BIGNUM *SSL_get_srp_N(SSL *s); -char *SSL_get_srp_username(SSL *s); -char *SSL_get_srp_userinfo(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); -int SSL_accept(SSL *ssl); -int SSL_connect(SSL *ssl); -int SSL_read(SSL *ssl, void *buf, int num); -int SSL_peek(SSL *ssl, void *buf, int num); -int SSL_write(SSL *ssl, const void *buf, int num); +# 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)); -int SSL_get_error(const SSL *s, int ret_code); -const char *SSL_get_version(const SSL *s); +# 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 */ -int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); - -# ifndef OPENSSL_NO_SSL2_METHOD -const SSL_METHOD *SSLv2_method(void); /* SSLv2 */ -const SSL_METHOD *SSLv2_server_method(void); /* SSLv2 */ -const SSL_METHOD *SSLv2_client_method(void); /* SSLv2 */ -# endif +__owur int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); # ifndef OPENSSL_NO_SSL3_METHOD -const SSL_METHOD *SSLv3_method(void); /* SSLv3 */ -const SSL_METHOD *SSLv3_server_method(void); /* SSLv3 */ -const SSL_METHOD *SSLv3_client_method(void); /* SSLv3 */ +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 -const SSL_METHOD *SSLv23_method(void); /* Negotiate highest available SSL/TLS - * version */ -const SSL_METHOD *SSLv23_server_method(void); /* Negotiate highest available - * SSL/TLS version */ -const SSL_METHOD *SSLv23_client_method(void); /* Negotiate highest available - * SSL/TLS version */ +#define SSLv23_method TLS_method +#define SSLv23_server_method TLS_server_method +#define SSLv23_client_method TLS_client_method -const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */ -const SSL_METHOD *TLSv1_server_method(void); /* TLSv1.0 */ -const SSL_METHOD *TLSv1_client_method(void); /* TLSv1.0 */ +/* 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); -const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */ -const SSL_METHOD *TLSv1_1_server_method(void); /* TLSv1.1 */ -const SSL_METHOD *TLSv1_1_client_method(void); /* TLSv1.1 */ +# 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 -const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */ -const SSL_METHOD *TLSv1_2_server_method(void); /* TLSv1.2 */ -const SSL_METHOD *TLSv1_2_client_method(void); /* TLSv1.2 */ +# 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 -const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */ -const SSL_METHOD *DTLSv1_server_method(void); /* DTLSv1.0 */ -const SSL_METHOD *DTLSv1_client_method(void); /* DTLSv1.0 */ +# 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 -const SSL_METHOD *DTLSv1_2_method(void); /* DTLSv1.2 */ -const SSL_METHOD *DTLSv1_2_server_method(void); /* DTLSv1.2 */ -const SSL_METHOD *DTLSv1_2_client_method(void); /* DTLSv1.2 */ +# 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 -const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */ -const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */ -const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */ +# 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 -STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); +__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 */ -int SSL_do_handshake(SSL *s); +__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); -int SSL_renegotiate_pending(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); -const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx); -const SSL_METHOD *SSL_get_ssl_method(SSL *s); -int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); -const char *SSL_alert_type_string_long(int value); -const char *SSL_alert_type_string(int value); -const char *SSL_alert_desc_string_long(int value); -const char *SSL_alert_desc_string(int value); +__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); -STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); -STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); -int SSL_add_client_CA(SSL *ssl, X509 *x); -int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); +__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); -long SSL_get_default_timeout(const SSL *s); +__owur long SSL_get_default_timeout(const SSL *s); -int SSL_library_init(void); +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_library_init() OPENSSL_init_ssl(0, NULL) +# endif -char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); -STACK_OF(X509_NAME) *SSL_dup_CA_list(STACK_OF(X509_NAME) *sk); +__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); -SSL *SSL_dup(SSL *ssl); +__owur SSL *SSL_dup(SSL *ssl); -X509 *SSL_get_certificate(const SSL *ssl); +__owur X509 *SSL_get_certificate(const SSL *ssl); /* * EVP_PKEY - */ struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); + */ +struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); -X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); -EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); +__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); -int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); +__owur int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); void SSL_set_quiet_shutdown(SSL *ssl, int mode); -int SSL_get_quiet_shutdown(const SSL *ssl); +__owur int SSL_get_quiet_shutdown(const SSL *ssl); void SSL_set_shutdown(SSL *ssl, int mode); -int SSL_get_shutdown(const SSL *ssl); -int SSL_version(const SSL *ssl); -int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); -int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, - const char *CApath); +__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 */ -SSL_SESSION *SSL_get_session(const SSL *ssl); -SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ -SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); +__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); -int SSL_state(const SSL *ssl); -void SSL_set_state(SSL *ssl, int state); +__owur OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl); void SSL_set_verify_result(SSL *ssl, long v); -long SSL_get_verify_result(const SSL *ssl); +__owur long SSL_get_verify_result(const SSL *ssl); +__owur STACK_OF(X509) *SSL_get0_verified_chain(const SSL *s); -int SSL_set_ex_data(SSL *ssl, int idx, void *data); +__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); -int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); - -int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); +#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); -int SSL_SESSION_get_ex_new_index(long argl, void *argp, - CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); - -int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data); +#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); -int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); -int SSL_get_ex_data_X509_STORE_CTX_idx(void); +__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) @@ -2504,18 +2053,20 @@ int SSL_get_ex_data_X509_STORE_CTX_idx(void); 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) - /* NB: the keylength is only applicable when is_export is true */ -# ifndef OPENSSL_NO_RSA -void SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx, - RSA *(*cb) (SSL *ssl, int is_export, - int keylength)); +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); -void SSL_set_tmp_rsa_callback(SSL *ssl, - RSA *(*cb) (SSL *ssl, int is_export, - int keylength)); -# endif # 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)); @@ -2523,641 +2074,365 @@ void SSL_set_tmp_dh_callback(SSL *ssl, DH *(*dh) (SSL *ssl, int is_export, int keylength)); # endif -# ifndef OPENSSL_NO_ECDH -void SSL_CTX_set_tmp_ecdh_callback(SSL_CTX *ctx, - EC_KEY *(*ecdh) (SSL *ssl, int is_export, - int keylength)); -void SSL_set_tmp_ecdh_callback(SSL *ssl, - EC_KEY *(*ecdh) (SSL *ssl, int is_export, - int keylength)); -# endif -const COMP_METHOD *SSL_get_current_compression(SSL *s); -const COMP_METHOD *SSL_get_current_expansion(SSL *s); -const char *SSL_COMP_get_name(const COMP_METHOD *comp); +__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); -STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) - *meths); -void SSL_COMP_free_compression_methods(void); -int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); +__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 */ -int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); +__owur int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); -int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb, - void *arg); +__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 */ -int SSL_set_session_secret_cb(SSL *s, - tls_session_secret_cb_fn tls_session_secret_cb, - void *arg); +__owur int SSL_set_session_secret_cb(SSL *s, + tls_session_secret_cb_fn session_secret_cb, + void *arg); -void SSL_set_debug(SSL *s, int debug); -int SSL_cache_hit(SSL *s); -int SSL_is_server(SSL *s); +void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + int + is_forward_secure)); -SSL_CONF_CTX *SSL_CONF_CTX_new(void); +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); -unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, unsigned int flags); -int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre); +__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); -int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); -int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv); -int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); +__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); -const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); # 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 -const struct openssl_ssl_test_functions *SSL_test_functions(void); +__owur const struct openssl_ssl_test_functions *SSL_test_functions(void); # endif -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_SSL_strings(void); +__owur int SSL_free_buffers(SSL *ssl); +__owur int SSL_alloc_buffers(SSL *ssl); -/* Error codes for the SSL functions. */ +/* 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; -/* Function codes. */ -# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331 -# define SSL_F_CLIENT_CERTIFICATE 100 -# define SSL_F_CLIENT_FINISHED 167 -# define SSL_F_CLIENT_HELLO 101 -# define SSL_F_CLIENT_MASTER_KEY 102 -# define SSL_F_D2I_SSL_SESSION 103 -# define SSL_F_DO_DTLS1_WRITE 245 -# define SSL_F_DO_SSL3_WRITE 104 -# define SSL_F_DTLS1_ACCEPT 246 -# define SSL_F_DTLS1_ADD_CERT_TO_BUF 295 -# define SSL_F_DTLS1_BUFFER_RECORD 247 -# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 316 -# define SSL_F_DTLS1_CLIENT_HELLO 248 -# define SSL_F_DTLS1_CONNECT 249 -# define SSL_F_DTLS1_ENC 250 -# define SSL_F_DTLS1_GET_HELLO_VERIFY 251 -# define SSL_F_DTLS1_GET_MESSAGE 252 -# define SSL_F_DTLS1_GET_MESSAGE_FRAGMENT 253 -# define SSL_F_DTLS1_GET_RECORD 254 -# define SSL_F_DTLS1_HANDLE_TIMEOUT 297 -# define SSL_F_DTLS1_HEARTBEAT 305 -# define SSL_F_DTLS1_OUTPUT_CERT_CHAIN 255 -# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 -# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424 -# define SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE 256 -# define SSL_F_DTLS1_PROCESS_RECORD 257 -# define SSL_F_DTLS1_READ_BYTES 258 -# define SSL_F_DTLS1_READ_FAILED 259 -# define SSL_F_DTLS1_SEND_CERTIFICATE_REQUEST 260 -# define SSL_F_DTLS1_SEND_CLIENT_CERTIFICATE 261 -# define SSL_F_DTLS1_SEND_CLIENT_KEY_EXCHANGE 262 -# define SSL_F_DTLS1_SEND_CLIENT_VERIFY 263 -# define SSL_F_DTLS1_SEND_HELLO_VERIFY_REQUEST 264 -# define SSL_F_DTLS1_SEND_SERVER_CERTIFICATE 265 -# define SSL_F_DTLS1_SEND_SERVER_HELLO 266 -# define SSL_F_DTLS1_SEND_SERVER_KEY_EXCHANGE 267 -# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 -# define SSL_F_GET_CLIENT_FINISHED 105 -# define SSL_F_GET_CLIENT_HELLO 106 -# define SSL_F_GET_CLIENT_MASTER_KEY 107 -# define SSL_F_GET_SERVER_FINISHED 108 -# define SSL_F_GET_SERVER_HELLO 109 -# define SSL_F_GET_SERVER_STATIC_DH_KEY 340 -# define SSL_F_GET_SERVER_VERIFY 110 -# define SSL_F_I2D_SSL_SESSION 111 -# define SSL_F_READ_N 112 -# define SSL_F_REQUEST_CERTIFICATE 113 -# define SSL_F_SERVER_FINISH 239 -# define SSL_F_SERVER_HELLO 114 -# define SSL_F_SERVER_VERIFY 240 -# define SSL_F_SSL23_ACCEPT 115 -# define SSL_F_SSL23_CLIENT_HELLO 116 -# define SSL_F_SSL23_CONNECT 117 -# define SSL_F_SSL23_GET_CLIENT_HELLO 118 -# define SSL_F_SSL23_GET_SERVER_HELLO 119 -# define SSL_F_SSL23_PEEK 237 -# define SSL_F_SSL23_READ 120 -# define SSL_F_SSL23_WRITE 121 -# define SSL_F_SSL2_ACCEPT 122 -# define SSL_F_SSL2_CONNECT 123 -# define SSL_F_SSL2_ENC_INIT 124 -# define SSL_F_SSL2_GENERATE_KEY_MATERIAL 241 -# define SSL_F_SSL2_PEEK 234 -# define SSL_F_SSL2_READ 125 -# define SSL_F_SSL2_READ_INTERNAL 236 -# define SSL_F_SSL2_SET_CERTIFICATE 126 -# define SSL_F_SSL2_WRITE 127 -# define SSL_F_SSL3_ACCEPT 128 -# define SSL_F_SSL3_ADD_CERT_TO_BUF 296 -# define SSL_F_SSL3_CALLBACK_CTRL 233 -# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 -# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 -# define SSL_F_SSL3_CHECK_CLIENT_HELLO 304 -# define SSL_F_SSL3_CHECK_FINISHED 339 -# define SSL_F_SSL3_CLIENT_HELLO 131 -# define SSL_F_SSL3_CONNECT 132 -# 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 134 -# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 -# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388 -# define SSL_F_SSL3_GET_CERTIFICATE_REQUEST 135 -# define SSL_F_SSL3_GET_CERT_STATUS 289 -# define SSL_F_SSL3_GET_CERT_VERIFY 136 -# define SSL_F_SSL3_GET_CLIENT_CERTIFICATE 137 -# define SSL_F_SSL3_GET_CLIENT_HELLO 138 -# define SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE 139 -# define SSL_F_SSL3_GET_FINISHED 140 -# define SSL_F_SSL3_GET_KEY_EXCHANGE 141 -# define SSL_F_SSL3_GET_MESSAGE 142 -# define SSL_F_SSL3_GET_NEW_SESSION_TICKET 283 -# define SSL_F_SSL3_GET_NEXT_PROTO 306 -# define SSL_F_SSL3_GET_RECORD 143 -# define SSL_F_SSL3_GET_SERVER_CERTIFICATE 144 -# define SSL_F_SSL3_GET_SERVER_DONE 145 -# define SSL_F_SSL3_GET_SERVER_HELLO 146 -# define SSL_F_SSL3_HANDSHAKE_MAC 285 -# define SSL_F_SSL3_NEW_SESSION_TICKET 287 -# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 -# define SSL_F_SSL3_PEEK 235 -# define SSL_F_SSL3_READ_BYTES 148 -# define SSL_F_SSL3_READ_N 149 -# define SSL_F_SSL3_SEND_CERTIFICATE_REQUEST 150 -# define SSL_F_SSL3_SEND_CLIENT_CERTIFICATE 151 -# define SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE 152 -# define SSL_F_SSL3_SEND_CLIENT_VERIFY 153 -# define SSL_F_SSL3_SEND_SERVER_CERTIFICATE 154 -# define SSL_F_SSL3_SEND_SERVER_HELLO 242 -# define SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE 155 -# 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 318 -# define SSL_F_SSL_ADD_CERT_TO_BUF 319 -# 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_CERT_DUP 221 -# define SSL_F_SSL_CERT_INST 222 -# define SSL_F_SSL_CERT_INSTANTIATE 214 -# define SSL_F_SSL_CERT_NEW 162 -# define SSL_F_SSL_CHECK_PRIVATE_KEY 163 -# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 -# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 -# 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_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_MAKE_PROFILES 309 -# define SSL_F_SSL_CTX_NEW 169 -# 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_PURPOSE 226 -# 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_TRUST 229 -# define SSL_F_SSL_CTX_USE_CERTIFICATE 171 -# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 -# define SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE 220 -# 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_FILE 337 -# define SSL_F_SSL_DO_HANDSHAKE 180 -# 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_SERVER_SEND_CERT 182 -# define SSL_F_SSL_GET_SERVER_SEND_PKEY 317 -# define SSL_F_SSL_GET_SIGN_PKEY 183 -# define SSL_F_SSL_INIT_WBIO_BUFFER 184 -# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 -# define SSL_F_SSL_NEW 186 -# 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_PREPARE_CLIENTHELLO_TLSEXT 281 -# define SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT 282 -# define SSL_F_SSL_READ 223 -# define SSL_F_SSL_RSA_PRIVATE_DECRYPT 187 -# define SSL_F_SSL_RSA_PUBLIC_ENCRYPT 188 -# 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_CONTEXT 312 -# define SSL_F_SSL_SESS_CERT_NEW 225 -# define SSL_F_SSL_SET_CERT 191 -# define SSL_F_SSL_SET_CIPHER_LIST 271 -# define SSL_F_SSL_SET_FD 192 -# define SSL_F_SSL_SET_PKEY 193 -# define SSL_F_SSL_SET_PURPOSE 227 -# 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_TRUST 228 -# 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_UNDEFINED_CONST_FUNCTION 243 -# 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_VERIFY_CERT_CHAIN 207 -# define SSL_F_SSL_WRITE 208 -# define SSL_F_TLS12_CHECK_PEER_SIGALG 333 -# define SSL_F_TLS1_CERT_VERIFY_MAC 286 -# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 -# define SSL_F_TLS1_CHECK_SERVERHELLO_TLSEXT 274 -# define SSL_F_TLS1_ENC 210 -# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 -# define SSL_F_TLS1_GET_CURVELIST 338 -# define SSL_F_TLS1_HEARTBEAT 315 -# define SSL_F_TLS1_PREPARE_CLIENTHELLO_TLSEXT 275 -# define SSL_F_TLS1_PREPARE_SERVERHELLO_TLSEXT 276 -# define SSL_F_TLS1_PRF 284 -# define SSL_F_TLS1_SETUP_KEY_BLOCK 211 -# define SSL_F_TLS1_SET_SERVER_SIGALGS 335 -# define SSL_F_WRITE_PENDING 212 +/* 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 -/* Reason codes. */ -# define SSL_R_APP_DATA_IN_HANDSHAKE 100 -# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 -# define SSL_R_BAD_ALERT_RECORD 101 -# define SSL_R_BAD_AUTHENTICATION_TYPE 102 -# define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 -# define SSL_R_BAD_CHECKSUM 104 -# 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_G_LENGTH 108 -# define SSL_R_BAD_DH_G_VALUE 375 -# define SSL_R_BAD_DH_PUB_KEY_LENGTH 109 -# define SSL_R_BAD_DH_PUB_KEY_VALUE 393 -# define SSL_R_BAD_DH_P_LENGTH 110 -# define SSL_R_BAD_DH_P_VALUE 395 -# define SSL_R_BAD_DIGEST_LENGTH 111 -# define SSL_R_BAD_DSA_SIGNATURE 112 -# define SSL_R_BAD_ECC_CERT 304 -# define SSL_R_BAD_ECDSA_SIGNATURE 305 -# define SSL_R_BAD_ECPOINT 306 -# define SSL_R_BAD_HANDSHAKE_LENGTH 332 -# define SSL_R_BAD_HELLO_REQUEST 105 -# define SSL_R_BAD_LENGTH 271 -# define SSL_R_BAD_MAC_DECODE 113 -# define SSL_R_BAD_MAC_LENGTH 333 -# define SSL_R_BAD_MESSAGE_TYPE 114 -# define SSL_R_BAD_PACKET_LENGTH 115 -# define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 -# define SSL_R_BAD_PSK_IDENTITY_HINT_LENGTH 316 -# define SSL_R_BAD_RESPONSE_ARGUMENT 117 -# define SSL_R_BAD_RSA_DECRYPT 118 -# define SSL_R_BAD_RSA_ENCRYPT 119 -# define SSL_R_BAD_RSA_E_LENGTH 120 -# define SSL_R_BAD_RSA_MODULUS_LENGTH 121 -# define SSL_R_BAD_RSA_SIGNATURE 122 -# define SSL_R_BAD_SIGNATURE 123 -# define SSL_R_BAD_SRP_A_LENGTH 347 -# define SSL_R_BAD_SRP_B_LENGTH 348 -# define SSL_R_BAD_SRP_G_LENGTH 349 -# define SSL_R_BAD_SRP_N_LENGTH 350 -# define SSL_R_BAD_SRP_PARAMETERS 371 -# define SSL_R_BAD_SRP_S_LENGTH 351 -# 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_SSL_SESSION_ID_LENGTH 125 -# define SSL_R_BAD_STATE 126 -# define SSL_R_BAD_VALUE 384 -# define SSL_R_BAD_WRITE_RETRY 127 -# 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_CA_DN_LENGTH_MISMATCH 131 -# define SSL_R_CA_DN_TOO_LONG 132 -# 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_CHALLENGE_IS_DIFFERENT 136 -# define SSL_R_CIPHER_CODE_WRONG_LENGTH 137 -# define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138 -# define SSL_R_CIPHER_TABLE_SRC_ERROR 139 -# 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_ID_IS_DIFFERENT 143 -# define SSL_R_CONNECTION_TYPE_NOT_SET 144 -# define SSL_R_COOKIE_MISMATCH 308 -# 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 372 -# 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_KEY_AGREEMENT 317 -# define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 -# define SSL_R_ECC_CERT_SHOULD_HAVE_RSA_SIGNATURE 322 -# define SSL_R_ECC_CERT_SHOULD_HAVE_SHA1_SIGNATURE 323 -# define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE 374 -# define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER 310 -# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 -# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 -# define SSL_R_ERROR_GENERATING_TMP_RSA_KEY 282 -# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 -# define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 -# define SSL_R_EXTRA_DATA_IN_MESSAGE 153 -# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 -# define SSL_R_GOT_NEXT_PROTO_BEFORE_A_CCS 355 -# define SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION 356 -# define SSL_R_HTTPS_PROXY_REQUEST 155 -# define SSL_R_HTTP_REQUEST 156 -# define SSL_R_ILLEGAL_PADDING 283 -# define SSL_R_ILLEGAL_SUITEB_DIGEST 380 -# define SSL_R_INAPPROPRIATE_FALLBACK 373 -# define SSL_R_INCONSISTENT_COMPRESSION 340 -# define SSL_R_INVALID_CHALLENGE_LENGTH 158 -# define SSL_R_INVALID_COMMAND 280 -# define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 -# define SSL_R_INVALID_NULL_CMD_NAME 385 -# define SSL_R_INVALID_PURPOSE 278 -# define SSL_R_INVALID_SERVERINFO_DATA 388 -# 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_INVALID_TRUST 279 -# define SSL_R_KEY_ARG_TOO_LONG 284 -# define SSL_R_KRB5 285 -# define SSL_R_KRB5_C_CC_PRINC 286 -# define SSL_R_KRB5_C_GET_CRED 287 -# define SSL_R_KRB5_C_INIT 288 -# define SSL_R_KRB5_C_MK_REQ 289 -# define SSL_R_KRB5_S_BAD_TICKET 290 -# define SSL_R_KRB5_S_INIT 291 -# define SSL_R_KRB5_S_RD_REQ 292 -# define SSL_R_KRB5_S_TKT_EXPIRED 293 -# define SSL_R_KRB5_S_TKT_NYV 294 -# define SSL_R_KRB5_S_TKT_SKEW 295 -# define SSL_R_LENGTH_MISMATCH 159 -# define SSL_R_LENGTH_TOO_SHORT 160 -# define SSL_R_LIBRARY_BUG 274 -# define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 -# define SSL_R_MESSAGE_TOO_LONG 296 -# define SSL_R_MISSING_DH_DSA_CERT 162 -# define SSL_R_MISSING_DH_KEY 163 -# define SSL_R_MISSING_DH_RSA_CERT 164 -# define SSL_R_MISSING_DSA_SIGNING_CERT 165 -# define SSL_R_MISSING_ECDH_CERT 382 -# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381 -# define SSL_R_MISSING_EXPORT_TMP_DH_KEY 166 -# define SSL_R_MISSING_EXPORT_TMP_RSA_KEY 167 -# 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_SRP_PARAM 358 -# define SSL_R_MISSING_TMP_DH_KEY 171 -# define SSL_R_MISSING_TMP_ECDH_KEY 311 -# define SSL_R_MISSING_TMP_RSA_KEY 172 -# define SSL_R_MISSING_TMP_RSA_PKEY 173 -# define SSL_R_MISSING_VERIFY_MESSAGE 174 -# define SSL_R_MULTIPLE_SGC_RESTARTS 346 -# define SSL_R_NON_SSLV2_INITIAL_PACKET 175 -# define SSL_R_NO_CERTIFICATES_RETURNED 176 -# define SSL_R_NO_CERTIFICATE_ASSIGNED 177 -# define SSL_R_NO_CERTIFICATE_RETURNED 178 -# define SSL_R_NO_CERTIFICATE_SET 179 -# define SSL_R_NO_CERTIFICATE_SPECIFIED 180 -# define SSL_R_NO_CIPHERS_AVAILABLE 181 -# define SSL_R_NO_CIPHERS_PASSED 182 -# define SSL_R_NO_CIPHERS_SPECIFIED 183 -# define SSL_R_NO_CIPHER_LIST 184 -# define SSL_R_NO_CIPHER_MATCH 185 -# define SSL_R_NO_CLIENT_CERT_METHOD 331 -# define SSL_R_NO_CLIENT_CERT_RECEIVED 186 -# define SSL_R_NO_COMPRESSION_SPECIFIED 187 -# 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_PRIVATEKEY 189 -# define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 -# define SSL_R_NO_PROTOCOLS_AVAILABLE 191 -# define SSL_R_NO_PUBLICKEY 192 -# 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_SIGATURE_ALGORITHMS 376 -# define SSL_R_NO_SRTP_PROFILES 359 -# define SSL_R_NO_VERIFY_CALLBACK 194 -# 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_ONLY_DTLS_1_2_ALLOWED_IN_SUITEB_MODE 387 -# define SSL_R_ONLY_TLS_1_2_ALLOWED_IN_SUITEB_MODE 379 -# define SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE 297 -# define SSL_R_OPAQUE_PRF_INPUT_TOO_LONG 327 -# 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_PEER_ERROR 200 -# define SSL_R_PEER_ERROR_CERTIFICATE 201 -# define SSL_R_PEER_ERROR_NO_CERTIFICATE 202 -# define SSL_R_PEER_ERROR_NO_CIPHER 203 -# define SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE 204 -# define SSL_R_PEM_NAME_BAD_PREFIX 391 -# define SSL_R_PEM_NAME_TOO_SHORT 392 -# define SSL_R_PRE_MAC_LENGTH_TOO_LONG 205 -# define SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS 206 -# 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_PUBLIC_KEY_ENCRYPT_ERROR 208 -# define SSL_R_PUBLIC_KEY_IS_NOT_RSA 209 -# define SSL_R_PUBLIC_KEY_NOT_RSA 210 -# define SSL_R_READ_BIO_NOT_SET 211 -# define SSL_R_READ_TIMEOUT_EXPIRED 312 -# define SSL_R_READ_WRONG_PACKET_TYPE 212 -# define SSL_R_RECORD_LENGTH_MISMATCH 213 -# define SSL_R_RECORD_TOO_LARGE 214 -# 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_REQUIRED_CIPHER_MISSING 215 -# define SSL_R_REQUIRED_COMPRESSSION_ALGORITHM_MISSING 342 -# define SSL_R_REUSE_CERT_LENGTH_NOT_ZERO 216 -# define SSL_R_REUSE_CERT_TYPE_NOT_ZERO 217 -# define SSL_R_REUSE_CIPHER_LIST_NOT_ZERO 218 -# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 -# define SSL_R_SERVERHELLO_TLSEXT 275 -# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 -# define SSL_R_SHORT_READ 219 -# 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_SSL23_DOING_SESSION_ID_REUSE 221 -# define SSL_R_SSL2_CONNECTION_ID_TOO_LONG 299 -# define SSL_R_SSL3_EXT_INVALID_ECPOINTFORMAT 321 -# 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_SSL3_SESSION_ID_TOO_SHORT 222 -# 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_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_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_IS_DIFFERENT 231 -# 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_CLIENT_CERT_REQ_WITH_ANON_CIPHER 232 -# 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_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233 -# define SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG 234 -# define SSL_R_TOO_MANY_WARN_ALERTS 409 -# define SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER 235 -# define SSL_R_UNABLE_TO_DECODE_DH_CERTS 236 -# define SSL_R_UNABLE_TO_DECODE_ECDH_CERTS 313 -# define SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY 237 -# define SSL_R_UNABLE_TO_FIND_DH_PARAMETERS 238 -# define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314 -# define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 -# define SSL_R_UNABLE_TO_FIND_SSL_METHOD 240 -# define SSL_R_UNABLE_TO_LOAD_SSL2_MD5_ROUTINES 241 -# define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 -# define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 -# 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_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_REMOTE_ERROR_TYPE 253 -# define SSL_R_UNKNOWN_SSL_VERSION 254 -# define SSL_R_UNKNOWN_STATE 255 -# define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338 -# define SSL_R_UNSUPPORTED_CIPHER 256 -# define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257 -# define SSL_R_UNSUPPORTED_DIGEST_TYPE 326 -# 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_WRITE_BIO_NOT_SET 260 -# define SSL_R_WRONG_CERTIFICATE_TYPE 383 -# define SSL_R_WRONG_CIPHER_RETURNED 261 -# define SSL_R_WRONG_CURVE 378 -# define SSL_R_WRONG_MESSAGE_TYPE 262 -# define SSL_R_WRONG_NUMBER_OF_KEY_BITS 263 -# 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 +/* Return codes for the decrypt session ticket callback */ +typedef int SSL_TICKET_RETURN; -#ifdef __cplusplus +/* 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 #endif diff --git a/ext/openssl/windows/x64/include/openssl/ssl2.h b/ext/openssl/windows/x64/include/openssl/ssl2.h index 03c7dd8c..5321bd27 100644 --- a/ext/openssl/windows/x64/include/openssl/ssl2.h +++ b/ext/openssl/windows/x64/include/openssl/ssl2.h @@ -1,59 +1,10 @@ -/* ssl/ssl2.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 @@ -63,201 +14,9 @@ extern "C" { #endif -/* Protocol Version Codes */ # define SSL2_VERSION 0x0002 -# define SSL2_VERSION_MAJOR 0x00 -# define SSL2_VERSION_MINOR 0x02 -/* #define SSL2_CLIENT_VERSION 0x0002 */ -/* #define SSL2_SERVER_VERSION 0x0002 */ -/* Protocol Message Codes */ -# define SSL2_MT_ERROR 0 # define SSL2_MT_CLIENT_HELLO 1 -# define SSL2_MT_CLIENT_MASTER_KEY 2 -# define SSL2_MT_CLIENT_FINISHED 3 -# define SSL2_MT_SERVER_HELLO 4 -# define SSL2_MT_SERVER_VERIFY 5 -# define SSL2_MT_SERVER_FINISHED 6 -# define SSL2_MT_REQUEST_CERTIFICATE 7 -# define SSL2_MT_CLIENT_CERTIFICATE 8 - -/* Error Message Codes */ -# define SSL2_PE_UNDEFINED_ERROR 0x0000 -# define SSL2_PE_NO_CIPHER 0x0001 -# define SSL2_PE_NO_CERTIFICATE 0x0002 -# define SSL2_PE_BAD_CERTIFICATE 0x0004 -# define SSL2_PE_UNSUPPORTED_CERTIFICATE_TYPE 0x0006 - -/* Cipher Kind Values */ -# define SSL2_CK_NULL_WITH_MD5 0x02000000/* v3 */ -# define SSL2_CK_RC4_128_WITH_MD5 0x02010080 -# define SSL2_CK_RC4_128_EXPORT40_WITH_MD5 0x02020080 -# define SSL2_CK_RC2_128_CBC_WITH_MD5 0x02030080 -# define SSL2_CK_RC2_128_CBC_EXPORT40_WITH_MD5 0x02040080 -# define SSL2_CK_IDEA_128_CBC_WITH_MD5 0x02050080 -# define SSL2_CK_DES_64_CBC_WITH_MD5 0x02060040 -# define SSL2_CK_DES_64_CBC_WITH_SHA 0x02060140/* v3 */ -# define SSL2_CK_DES_192_EDE3_CBC_WITH_MD5 0x020700c0 -# define SSL2_CK_DES_192_EDE3_CBC_WITH_SHA 0x020701c0/* v3 */ -# define SSL2_CK_RC4_64_WITH_MD5 0x02080080/* MS hack */ - -# define SSL2_CK_DES_64_CFB64_WITH_MD5_1 0x02ff0800/* SSLeay */ -# define SSL2_CK_NULL 0x02ff0810/* SSLeay */ - -# define SSL2_TXT_DES_64_CFB64_WITH_MD5_1 "DES-CFB-M1" -# define SSL2_TXT_NULL_WITH_MD5 "NULL-MD5" -# define SSL2_TXT_RC4_128_WITH_MD5 "RC4-MD5" -# define SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 "EXP-RC4-MD5" -# define SSL2_TXT_RC2_128_CBC_WITH_MD5 "RC2-CBC-MD5" -# define SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 "EXP-RC2-CBC-MD5" -# define SSL2_TXT_IDEA_128_CBC_WITH_MD5 "IDEA-CBC-MD5" -# define SSL2_TXT_DES_64_CBC_WITH_MD5 "DES-CBC-MD5" -# define SSL2_TXT_DES_64_CBC_WITH_SHA "DES-CBC-SHA" -# define SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 "DES-CBC3-MD5" -# define SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA "DES-CBC3-SHA" -# define SSL2_TXT_RC4_64_WITH_MD5 "RC4-64-MD5" - -# define SSL2_TXT_NULL "NULL" - -/* Flags for the SSL_CIPHER.algorithm2 field */ -# define SSL2_CF_5_BYTE_ENC 0x01 -# define SSL2_CF_8_BYTE_ENC 0x02 - -/* Certificate Type Codes */ -# define SSL2_CT_X509_CERTIFICATE 0x01 - -/* Authentication Type Code */ -# define SSL2_AT_MD5_WITH_RSA_ENCRYPTION 0x01 - -# define SSL2_MAX_SSL_SESSION_ID_LENGTH 32 - -/* Upper/Lower Bounds */ -# define SSL2_MAX_MASTER_KEY_LENGTH_IN_BITS 256 -# ifdef OPENSSL_SYS_MPE -# define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 29998u -# else -# define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 32767u - /* 2^15-1 */ -# endif -# define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER 16383/* 2^14-1 */ - -# define SSL2_CHALLENGE_LENGTH 16 -/* - * #define SSL2_CHALLENGE_LENGTH 32 - */ -# define SSL2_MIN_CHALLENGE_LENGTH 16 -# define SSL2_MAX_CHALLENGE_LENGTH 32 -# define SSL2_CONNECTION_ID_LENGTH 16 -# define SSL2_MAX_CONNECTION_ID_LENGTH 16 -# define SSL2_SSL_SESSION_ID_LENGTH 16 -# define SSL2_MAX_CERT_CHALLENGE_LENGTH 32 -# define SSL2_MIN_CERT_CHALLENGE_LENGTH 16 -# define SSL2_MAX_KEY_MATERIAL_LENGTH 24 - -# ifndef HEADER_SSL_LOCL_H -# define CERT char -# endif - -# ifndef OPENSSL_NO_SSL_INTERN - -typedef struct ssl2_state_st { - int three_byte_header; - int clear_text; /* clear text */ - int escape; /* not used in SSLv2 */ - int ssl2_rollback; /* used if SSLv23 rolled back to SSLv2 */ - /* - * non-blocking io info, used to make sure the same args were passwd - */ - unsigned int wnum; /* number of bytes sent so far */ - int wpend_tot; - const unsigned char *wpend_buf; - int wpend_off; /* offset to data to write */ - int wpend_len; /* number of bytes passwd to write */ - int wpend_ret; /* number of bytes to return to caller */ - /* buffer raw data */ - int rbuf_left; - int rbuf_offs; - unsigned char *rbuf; - unsigned char *wbuf; - unsigned char *write_ptr; /* used to point to the start due to 2/3 byte - * header. */ - unsigned int padding; - unsigned int rlength; /* passed to ssl2_enc */ - int ract_data_length; /* Set when things are encrypted. */ - unsigned int wlength; /* passed to ssl2_enc */ - int wact_data_length; /* Set when things are decrypted. */ - unsigned char *ract_data; - unsigned char *wact_data; - unsigned char *mac_data; - unsigned char *read_key; - unsigned char *write_key; - /* Stuff specifically to do with this SSL session */ - unsigned int challenge_length; - unsigned char challenge[SSL2_MAX_CHALLENGE_LENGTH]; - unsigned int conn_id_length; - unsigned char conn_id[SSL2_MAX_CONNECTION_ID_LENGTH]; - unsigned int key_material_length; - unsigned char key_material[SSL2_MAX_KEY_MATERIAL_LENGTH * 2]; - unsigned long read_sequence; - unsigned long write_sequence; - struct { - unsigned int conn_id_length; - unsigned int cert_type; - unsigned int cert_length; - unsigned int csl; - unsigned int clear; - unsigned int enc; - unsigned char ccl[SSL2_MAX_CERT_CHALLENGE_LENGTH]; - unsigned int cipher_spec_length; - unsigned int session_id_length; - unsigned int clen; - unsigned int rlen; - } tmp; -} SSL2_STATE; - -# endif - -/* SSLv2 */ -/* client */ -# define SSL2_ST_SEND_CLIENT_HELLO_A (0x10|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_HELLO_B (0x11|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_HELLO_A (0x20|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_HELLO_B (0x21|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_MASTER_KEY_A (0x30|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_MASTER_KEY_B (0x31|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_FINISHED_A (0x40|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_FINISHED_B (0x41|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_CERTIFICATE_A (0x50|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_CERTIFICATE_B (0x51|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_CERTIFICATE_C (0x52|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_CERTIFICATE_D (0x53|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_VERIFY_A (0x60|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_VERIFY_B (0x61|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_FINISHED_A (0x70|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_FINISHED_B (0x71|SSL_ST_CONNECT) -# define SSL2_ST_CLIENT_START_ENCRYPTION (0x80|SSL_ST_CONNECT) -# define SSL2_ST_X509_GET_CLIENT_CERTIFICATE (0x90|SSL_ST_CONNECT) -/* server */ -# define SSL2_ST_GET_CLIENT_HELLO_A (0x10|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_HELLO_B (0x11|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_HELLO_C (0x12|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_HELLO_A (0x20|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_HELLO_B (0x21|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_MASTER_KEY_A (0x30|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_MASTER_KEY_B (0x31|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_VERIFY_A (0x40|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_VERIFY_B (0x41|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_VERIFY_C (0x42|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_FINISHED_A (0x50|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_FINISHED_B (0x51|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_FINISHED_A (0x60|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_FINISHED_B (0x61|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_REQUEST_CERTIFICATE_A (0x70|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_REQUEST_CERTIFICATE_B (0x71|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_REQUEST_CERTIFICATE_C (0x72|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_REQUEST_CERTIFICATE_D (0x73|SSL_ST_ACCEPT) -# define SSL2_ST_SERVER_START_ENCRYPTION (0x80|SSL_ST_ACCEPT) -# define SSL2_ST_X509_GET_SERVER_CERTIFICATE (0x90|SSL_ST_ACCEPT) #ifdef __cplusplus } diff --git a/ext/openssl/windows/x64/include/openssl/ssl23.h b/ext/openssl/windows/x64/include/openssl/ssl23.h deleted file mode 100644 index 9de4685a..00000000 --- a/ext/openssl/windows/x64/include/openssl/ssl23.h +++ /dev/null @@ -1,84 +0,0 @@ -/* ssl/ssl23.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_SSL23_H -# define HEADER_SSL23_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * client - */ -/* write to server */ -# define SSL23_ST_CW_CLNT_HELLO_A (0x210|SSL_ST_CONNECT) -# define SSL23_ST_CW_CLNT_HELLO_B (0x211|SSL_ST_CONNECT) -/* read from server */ -# define SSL23_ST_CR_SRVR_HELLO_A (0x220|SSL_ST_CONNECT) -# define SSL23_ST_CR_SRVR_HELLO_B (0x221|SSL_ST_CONNECT) - -/* server */ -/* read from client */ -# define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) -# define SSL23_ST_SR_CLNT_HELLO_B (0x211|SSL_ST_ACCEPT) - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/openssl/windows/x64/include/openssl/ssl3.h b/ext/openssl/windows/x64/include/openssl/ssl3.h index e681d50a..8d01fcc4 100644 --- a/ext/openssl/windows/x64/include/openssl/ssl3.h +++ b/ext/openssl/windows/x64/include/openssl/ssl3.h @@ -1,125 +1,17 @@ -/* ssl/ssl3.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECC cipher suite support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + * 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 -# ifndef OPENSSL_NO_COMP -# include -# endif +# include # include # include # include @@ -158,18 +50,18 @@ extern "C" { # define SSL3_CK_DH_RSA_DES_64_CBC_SHA 0x0300000F # define SSL3_CK_DH_RSA_DES_192_CBC3_SHA 0x03000010 -# define SSL3_CK_EDH_DSS_DES_40_CBC_SHA 0x03000011 -# define SSL3_CK_DHE_DSS_DES_40_CBC_SHA SSL3_CK_EDH_DSS_DES_40_CBC_SHA -# define SSL3_CK_EDH_DSS_DES_64_CBC_SHA 0x03000012 -# define SSL3_CK_DHE_DSS_DES_64_CBC_SHA SSL3_CK_EDH_DSS_DES_64_CBC_SHA -# define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA 0x03000013 -# define SSL3_CK_DHE_DSS_DES_192_CBC3_SHA SSL3_CK_EDH_DSS_DES_192_CBC3_SHA -# define SSL3_CK_EDH_RSA_DES_40_CBC_SHA 0x03000014 -# define SSL3_CK_DHE_RSA_DES_40_CBC_SHA SSL3_CK_EDH_RSA_DES_40_CBC_SHA -# define SSL3_CK_EDH_RSA_DES_64_CBC_SHA 0x03000015 -# define SSL3_CK_DHE_RSA_DES_64_CBC_SHA SSL3_CK_EDH_RSA_DES_64_CBC_SHA -# define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA 0x03000016 -# define SSL3_CK_DHE_RSA_DES_192_CBC3_SHA SSL3_CK_EDH_RSA_DES_192_CBC3_SHA +# 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 @@ -177,36 +69,17 @@ extern "C" { # define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A # define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B -# if 0 -# define SSL3_CK_FZA_DMS_NULL_SHA 0x0300001C -# define SSL3_CK_FZA_DMS_FZA_SHA 0x0300001D -# if 0 /* Because it clashes with KRB5, is never - * used any more, and is safe to remove - * according to David Hopwood - * of the - * ietf-tls list */ -# define SSL3_CK_FZA_DMS_RC4_SHA 0x0300001E -# endif -# endif - -/* - * VRS Additional Kerberos5 entries - */ -# define SSL3_CK_KRB5_DES_64_CBC_SHA 0x0300001E -# define SSL3_CK_KRB5_DES_192_CBC3_SHA 0x0300001F -# define SSL3_CK_KRB5_RC4_128_SHA 0x03000020 -# define SSL3_CK_KRB5_IDEA_128_CBC_SHA 0x03000021 -# define SSL3_CK_KRB5_DES_64_CBC_MD5 0x03000022 -# define SSL3_CK_KRB5_DES_192_CBC3_MD5 0x03000023 -# define SSL3_CK_KRB5_RC4_128_MD5 0x03000024 -# define SSL3_CK_KRB5_IDEA_128_CBC_MD5 0x03000025 - -# define SSL3_CK_KRB5_DES_40_CBC_SHA 0x03000026 -# define SSL3_CK_KRB5_RC2_40_CBC_SHA 0x03000027 -# define SSL3_CK_KRB5_RC4_40_SHA 0x03000028 -# define SSL3_CK_KRB5_DES_40_CBC_MD5 0x03000029 -# define SSL3_CK_KRB5_RC2_40_CBC_MD5 0x0300002A -# define SSL3_CK_KRB5_RC4_40_MD5 0x0300002B +/* 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" @@ -251,28 +124,6 @@ extern "C" { # define SSL3_TXT_ADH_DES_64_CBC_SHA "ADH-DES-CBC-SHA" # define SSL3_TXT_ADH_DES_192_CBC_SHA "ADH-DES-CBC3-SHA" -# if 0 -# define SSL3_TXT_FZA_DMS_NULL_SHA "FZA-NULL-SHA" -# define SSL3_TXT_FZA_DMS_FZA_SHA "FZA-FZA-CBC-SHA" -# define SSL3_TXT_FZA_DMS_RC4_SHA "FZA-RC4-SHA" -# endif - -# define SSL3_TXT_KRB5_DES_64_CBC_SHA "KRB5-DES-CBC-SHA" -# define SSL3_TXT_KRB5_DES_192_CBC3_SHA "KRB5-DES-CBC3-SHA" -# define SSL3_TXT_KRB5_RC4_128_SHA "KRB5-RC4-SHA" -# define SSL3_TXT_KRB5_IDEA_128_CBC_SHA "KRB5-IDEA-CBC-SHA" -# define SSL3_TXT_KRB5_DES_64_CBC_MD5 "KRB5-DES-CBC-MD5" -# define SSL3_TXT_KRB5_DES_192_CBC3_MD5 "KRB5-DES-CBC3-MD5" -# define SSL3_TXT_KRB5_RC4_128_MD5 "KRB5-RC4-MD5" -# define SSL3_TXT_KRB5_IDEA_128_CBC_MD5 "KRB5-IDEA-CBC-MD5" - -# define SSL3_TXT_KRB5_DES_40_CBC_SHA "EXP-KRB5-DES-CBC-SHA" -# define SSL3_TXT_KRB5_RC2_40_CBC_SHA "EXP-KRB5-RC2-CBC-SHA" -# define SSL3_TXT_KRB5_RC4_40_SHA "EXP-KRB5-RC4-SHA" -# define SSL3_TXT_KRB5_DES_40_CBC_MD5 "EXP-KRB5-DES-CBC-MD5" -# define SSL3_TXT_KRB5_RC2_40_CBC_MD5 "EXP-KRB5-RC2-CBC-MD5" -# define SSL3_TXT_KRB5_RC4_40_MD5 "EXP-KRB5-RC4-MD5" - # define SSL3_SSL_SESSION_ID_LENGTH 32 # define SSL3_MAX_SSL_SESSION_ID_LENGTH 32 @@ -326,7 +177,8 @@ extern "C" { * 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_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 @@ -342,12 +194,14 @@ extern "C" { # 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) + (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) + (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) + (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" @@ -360,7 +214,7 @@ extern "C" { # define SSL3_RT_ALERT 21 # define SSL3_RT_HANDSHAKE 22 # define SSL3_RT_APPLICATION_DATA 23 -# define TLS1_RT_HEARTBEAT 24 +# define DTLS1_RT_HEARTBEAT 24 /* Pseudo content types to indicate additional parameters */ # define TLS1_RT_CRYPTO 0x1000 @@ -376,8 +230,9 @@ extern "C" { # define TLS1_RT_CRYPTO_IV (TLS1_RT_CRYPTO | 0x7) # define TLS1_RT_CRYPTO_FIXED_IV (TLS1_RT_CRYPTO | 0x8) -/* Pseudo content type for SSL/TLS header info */ +/* 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 @@ -398,55 +253,6 @@ extern "C" { # define TLS1_HB_REQUEST 1 # define TLS1_HB_RESPONSE 2 -# ifndef OPENSSL_NO_SSL_INTERN - -typedef struct ssl3_record_st { - /* type of record */ - /* - * r - */ int type; - /* How many bytes available */ - /* - * rw - */ unsigned int length; - /* read/write offset into 'buf' */ - /* - * r - */ unsigned int off; - /* pointer to the record data */ - /* - * rw - */ unsigned char *data; - /* where the decode bytes are */ - /* - * rw - */ unsigned char *input; - /* only used with decompression - malloc()ed */ - /* - * r - */ unsigned char *comp; - /* epoch number, needed by DTLS1 */ - /* - * r - */ unsigned long epoch; - /* sequence number, needed by DTLS1 */ - /* - * r - */ unsigned char seq_num[8]; -} SSL3_RECORD; - -typedef struct ssl3_buffer_st { - /* at least SSL3_RT_MAX_PACKET_SIZE bytes, see ssl3_setup_buffers() */ - unsigned char *buf; - /* buffer size */ - size_t len; - /* where to 'copy from' */ - int offset; - /* how many bytes left */ - int left; -} SSL3_BUFFER; - -# endif # define SSL3_CT_RSA_SIGN 1 # define SSL3_CT_DSS_SIGN 2 @@ -457,292 +263,41 @@ typedef struct ssl3_buffer_st { # 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 either for SSLv3 and TLSv1. + * contain all of the cert types defined for *either* SSLv3 and TLSv1. */ -# define SSL3_CT_NUMBER 9 +# 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 -# define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002 -# define SSL3_FLAGS_POP_BUFFER 0x0004 -# define TLS1_FLAGS_TLS_PADDING_BUG 0x0008 + +/* Removed from OpenSSL 1.1.0 */ +# define TLS1_FLAGS_TLS_PADDING_BUG 0x0 + # define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 -# define TLS1_FLAGS_KEEP_HANDSHAKE 0x0020 -/* - * Set when the handshake is ready to process peer's ChangeCipherSpec message. - * Cleared after the message has been processed. - */ -# define SSL3_FLAGS_CCS_OK 0x0080 -/* SSL3_FLAGS_SGC_RESTART_DONE is no longer used */ -# define SSL3_FLAGS_SGC_RESTART_DONE 0x0040 +/* 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 -# ifndef OPENSSL_NO_SSL_INTERN +/* Set if extended master secret extension received from peer */ +# define TLS1_FLAGS_RECEIVED_EXTMS 0x0200 -typedef struct ssl3_state_st { - long flags; - int delay_buf_pop_ret; - unsigned char read_sequence[8]; - int read_mac_secret_size; - unsigned char read_mac_secret[EVP_MAX_MD_SIZE]; - unsigned char write_sequence[8]; - int write_mac_secret_size; - unsigned char write_mac_secret[EVP_MAX_MD_SIZE]; - unsigned char server_random[SSL3_RANDOM_SIZE]; - unsigned char client_random[SSL3_RANDOM_SIZE]; - /* flags for countermeasure against known-IV weakness */ - int need_empty_fragments; - int empty_fragment_done; - /* The value of 'extra' when the buffers were initialized */ - int init_extra; - SSL3_BUFFER rbuf; /* read IO goes into here */ - SSL3_BUFFER wbuf; /* write IO goes into here */ - SSL3_RECORD rrec; /* each decoded record goes in here */ - SSL3_RECORD wrec; /* goes out from here */ - /* - * storage for Alert/Handshake protocol data received but not yet - * processed by ssl3_read_bytes: - */ - unsigned char alert_fragment[2]; - unsigned int alert_fragment_len; - unsigned char handshake_fragment[4]; - unsigned int handshake_fragment_len; - /* partial write - check the numbers match */ - unsigned int wnum; /* number of bytes sent so far */ - int wpend_tot; /* number bytes written */ - int wpend_type; - int wpend_ret; /* number of bytes submitted */ - const unsigned char *wpend_buf; - /* used during startup, digest all incoming/outgoing packets */ - BIO *handshake_buffer; - /* - * When set of handshake digests is determined, buffer is hashed and - * freed and MD_CTX-es for all required digests are stored in this array - */ - EVP_MD_CTX **handshake_dgst; - /* - * Set whenever an expected ChangeCipherSpec message is processed. - * Unset when the peer's Finished message is received. - * Unexpected ChangeCipherSpec messages trigger a fatal alert. - */ - int change_cipher_spec; - int warn_alert; - int fatal_alert; - /* - * we allow one fatal and one warning alert to be outstanding, send close - * alert via the warning alert - */ - int alert_dispatch; - unsigned char send_alert[2]; - /* - * This flag is set when we should renegotiate ASAP, basically when there - * is no more data in the read or write buffers - */ - int renegotiate; - int total_renegotiations; - int num_renegotiations; - int in_read_app_data; - /* - * Opaque PRF input as used for the current handshake. These fields are - * used only if TLSEXT_TYPE_opaque_prf_input is defined (otherwise, they - * are merely present to improve binary compatibility) - */ - void *client_opaque_prf_input; - size_t client_opaque_prf_input_len; - void *server_opaque_prf_input; - size_t server_opaque_prf_input_len; - struct { - /* actually only needs to be 16+20 */ - unsigned char cert_verify_md[EVP_MAX_MD_SIZE * 2]; - /* actually only need to be 16+20 for SSLv3 and 12 for TLS */ - unsigned char finish_md[EVP_MAX_MD_SIZE * 2]; - int finish_md_len; - unsigned char peer_finish_md[EVP_MAX_MD_SIZE * 2]; - int peer_finish_md_len; - unsigned long message_size; - int message_type; - /* used to hold the new cipher we are going to use */ - const SSL_CIPHER *new_cipher; -# ifndef OPENSSL_NO_DH - DH *dh; -# endif -# ifndef OPENSSL_NO_ECDH - EC_KEY *ecdh; /* holds short lived ECDH key */ -# endif - /* used when SSL_ST_FLUSH_DATA is entered */ - int next_state; - int reuse_message; - /* used for certificate requests */ - int cert_req; - int ctype_num; - char ctype[SSL3_CT_NUMBER]; - STACK_OF(X509_NAME) *ca_names; - int use_rsa_tmp; - int key_block_length; - unsigned char *key_block; - const EVP_CIPHER *new_sym_enc; - const EVP_MD *new_hash; - int new_mac_pkey_type; - int new_mac_secret_size; -# ifndef OPENSSL_NO_COMP - const SSL_COMP *new_compression; -# else - char *new_compression; -# endif - int cert_request; - } tmp; +# define TLS1_FLAGS_ENCRYPT_THEN_MAC_WRITE 0x0400 - /* Connection binding to prevent renegotiation attacks */ - unsigned char previous_client_finished[EVP_MAX_MD_SIZE]; - unsigned char previous_client_finished_len; - unsigned char previous_server_finished[EVP_MAX_MD_SIZE]; - unsigned char previous_server_finished_len; - int send_connection_binding; /* TODOEKR */ - -# ifndef OPENSSL_NO_NEXTPROTONEG - /* - * Set if we saw the Next Protocol Negotiation extension from our peer. - */ - int next_proto_neg_seen; -# endif - -# ifndef OPENSSL_NO_TLSEXT -# ifndef OPENSSL_NO_EC - /* - * This is set to true if we believe that this is a version of Safari - * running on OS X 10.6 or newer. We wish to know this because Safari on - * 10.8 .. 10.8.3 has broken ECDHE-ECDSA support. - */ - char is_probably_safari; -# endif /* !OPENSSL_NO_EC */ - - /* - * ALPN information (we are in the process of transitioning from NPN to - * ALPN.) - */ - - /* - * In a server these point to the selected ALPN protocol after the - * ClientHello has been processed. In a client these contain the protocol - * that the server selected once the ServerHello has been processed. - */ - unsigned char *alpn_selected; - unsigned alpn_selected_len; -# endif /* OPENSSL_NO_TLSEXT */ -} SSL3_STATE; - -# endif - -/* SSLv3 */ -/* - * client - */ -/* extra state */ -# define SSL3_ST_CW_FLUSH (0x100|SSL_ST_CONNECT) -# ifndef OPENSSL_NO_SCTP -# define DTLS1_SCTP_ST_CW_WRITE_SOCK (0x310|SSL_ST_CONNECT) -# define DTLS1_SCTP_ST_CR_READ_SOCK (0x320|SSL_ST_CONNECT) -# endif -/* write to server */ -# define SSL3_ST_CW_CLNT_HELLO_A (0x110|SSL_ST_CONNECT) -# define SSL3_ST_CW_CLNT_HELLO_B (0x111|SSL_ST_CONNECT) -/* read from server */ -# define SSL3_ST_CR_SRVR_HELLO_A (0x120|SSL_ST_CONNECT) -# define SSL3_ST_CR_SRVR_HELLO_B (0x121|SSL_ST_CONNECT) -# define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A (0x126|SSL_ST_CONNECT) -# define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B (0x127|SSL_ST_CONNECT) -# define SSL3_ST_CR_CERT_A (0x130|SSL_ST_CONNECT) -# define SSL3_ST_CR_CERT_B (0x131|SSL_ST_CONNECT) -# define SSL3_ST_CR_KEY_EXCH_A (0x140|SSL_ST_CONNECT) -# define SSL3_ST_CR_KEY_EXCH_B (0x141|SSL_ST_CONNECT) -# define SSL3_ST_CR_CERT_REQ_A (0x150|SSL_ST_CONNECT) -# define SSL3_ST_CR_CERT_REQ_B (0x151|SSL_ST_CONNECT) -# define SSL3_ST_CR_SRVR_DONE_A (0x160|SSL_ST_CONNECT) -# define SSL3_ST_CR_SRVR_DONE_B (0x161|SSL_ST_CONNECT) -/* write to server */ -# define SSL3_ST_CW_CERT_A (0x170|SSL_ST_CONNECT) -# define SSL3_ST_CW_CERT_B (0x171|SSL_ST_CONNECT) -# define SSL3_ST_CW_CERT_C (0x172|SSL_ST_CONNECT) -# define SSL3_ST_CW_CERT_D (0x173|SSL_ST_CONNECT) -# define SSL3_ST_CW_KEY_EXCH_A (0x180|SSL_ST_CONNECT) -# define SSL3_ST_CW_KEY_EXCH_B (0x181|SSL_ST_CONNECT) -# define SSL3_ST_CW_CERT_VRFY_A (0x190|SSL_ST_CONNECT) -# define SSL3_ST_CW_CERT_VRFY_B (0x191|SSL_ST_CONNECT) -# define SSL3_ST_CW_CHANGE_A (0x1A0|SSL_ST_CONNECT) -# define SSL3_ST_CW_CHANGE_B (0x1A1|SSL_ST_CONNECT) -# ifndef OPENSSL_NO_NEXTPROTONEG -# define SSL3_ST_CW_NEXT_PROTO_A (0x200|SSL_ST_CONNECT) -# define SSL3_ST_CW_NEXT_PROTO_B (0x201|SSL_ST_CONNECT) -# endif -# define SSL3_ST_CW_FINISHED_A (0x1B0|SSL_ST_CONNECT) -# define SSL3_ST_CW_FINISHED_B (0x1B1|SSL_ST_CONNECT) -/* read from server */ -# define SSL3_ST_CR_CHANGE_A (0x1C0|SSL_ST_CONNECT) -# define SSL3_ST_CR_CHANGE_B (0x1C1|SSL_ST_CONNECT) -# define SSL3_ST_CR_FINISHED_A (0x1D0|SSL_ST_CONNECT) -# define SSL3_ST_CR_FINISHED_B (0x1D1|SSL_ST_CONNECT) -# define SSL3_ST_CR_SESSION_TICKET_A (0x1E0|SSL_ST_CONNECT) -# define SSL3_ST_CR_SESSION_TICKET_B (0x1E1|SSL_ST_CONNECT) -# define SSL3_ST_CR_CERT_STATUS_A (0x1F0|SSL_ST_CONNECT) -# define SSL3_ST_CR_CERT_STATUS_B (0x1F1|SSL_ST_CONNECT) - -/* server */ -/* extra state */ -# define SSL3_ST_SW_FLUSH (0x100|SSL_ST_ACCEPT) -# ifndef OPENSSL_NO_SCTP -# define DTLS1_SCTP_ST_SW_WRITE_SOCK (0x310|SSL_ST_ACCEPT) -# define DTLS1_SCTP_ST_SR_READ_SOCK (0x320|SSL_ST_ACCEPT) -# endif -/* read from client */ -/* Do not change the number values, they do matter */ -# define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT) -# define SSL3_ST_SR_CLNT_HELLO_B (0x111|SSL_ST_ACCEPT) -# define SSL3_ST_SR_CLNT_HELLO_C (0x112|SSL_ST_ACCEPT) -# define SSL3_ST_SR_CLNT_HELLO_D (0x115|SSL_ST_ACCEPT) -/* write to client */ -# define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A (0x113|SSL_ST_ACCEPT) -# define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B (0x114|SSL_ST_ACCEPT) -# define SSL3_ST_SW_HELLO_REQ_A (0x120|SSL_ST_ACCEPT) -# define SSL3_ST_SW_HELLO_REQ_B (0x121|SSL_ST_ACCEPT) -# define SSL3_ST_SW_HELLO_REQ_C (0x122|SSL_ST_ACCEPT) -# define SSL3_ST_SW_SRVR_HELLO_A (0x130|SSL_ST_ACCEPT) -# define SSL3_ST_SW_SRVR_HELLO_B (0x131|SSL_ST_ACCEPT) -# define SSL3_ST_SW_CERT_A (0x140|SSL_ST_ACCEPT) -# define SSL3_ST_SW_CERT_B (0x141|SSL_ST_ACCEPT) -# define SSL3_ST_SW_KEY_EXCH_A (0x150|SSL_ST_ACCEPT) -# define SSL3_ST_SW_KEY_EXCH_B (0x151|SSL_ST_ACCEPT) -# define SSL3_ST_SW_CERT_REQ_A (0x160|SSL_ST_ACCEPT) -# define SSL3_ST_SW_CERT_REQ_B (0x161|SSL_ST_ACCEPT) -# define SSL3_ST_SW_SRVR_DONE_A (0x170|SSL_ST_ACCEPT) -# define SSL3_ST_SW_SRVR_DONE_B (0x171|SSL_ST_ACCEPT) -/* read from client */ -# define SSL3_ST_SR_CERT_A (0x180|SSL_ST_ACCEPT) -# define SSL3_ST_SR_CERT_B (0x181|SSL_ST_ACCEPT) -# define SSL3_ST_SR_KEY_EXCH_A (0x190|SSL_ST_ACCEPT) -# define SSL3_ST_SR_KEY_EXCH_B (0x191|SSL_ST_ACCEPT) -# define SSL3_ST_SR_CERT_VRFY_A (0x1A0|SSL_ST_ACCEPT) -# define SSL3_ST_SR_CERT_VRFY_B (0x1A1|SSL_ST_ACCEPT) -# define SSL3_ST_SR_CHANGE_A (0x1B0|SSL_ST_ACCEPT) -# define SSL3_ST_SR_CHANGE_B (0x1B1|SSL_ST_ACCEPT) -# ifndef OPENSSL_NO_NEXTPROTONEG -# define SSL3_ST_SR_NEXT_PROTO_A (0x210|SSL_ST_ACCEPT) -# define SSL3_ST_SR_NEXT_PROTO_B (0x211|SSL_ST_ACCEPT) -# endif -# define SSL3_ST_SR_FINISHED_A (0x1C0|SSL_ST_ACCEPT) -# define SSL3_ST_SR_FINISHED_B (0x1C1|SSL_ST_ACCEPT) -/* write to client */ -# define SSL3_ST_SW_CHANGE_A (0x1D0|SSL_ST_ACCEPT) -# define SSL3_ST_SW_CHANGE_B (0x1D1|SSL_ST_ACCEPT) -# define SSL3_ST_SW_FINISHED_A (0x1E0|SSL_ST_ACCEPT) -# define SSL3_ST_SW_FINISHED_B (0x1E1|SSL_ST_ACCEPT) -# define SSL3_ST_SW_SESSION_TICKET_A (0x1F0|SSL_ST_ACCEPT) -# define SSL3_ST_SW_SESSION_TICKET_B (0x1F1|SSL_ST_ACCEPT) -# define SSL3_ST_SW_CERT_STATUS_A (0x200|SSL_ST_ACCEPT) -# define SSL3_ST_SW_CERT_STATUS_B (0x201|SSL_ST_ACCEPT) +# 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 @@ -750,19 +305,29 @@ typedef struct ssl3_state_st { # 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 +# define SSL3_MT_NEXT_PROTO 67 # endif -# define DTLS1_MT_HELLO_VERIFY_REQUEST 3 +# 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 0x01 -# define SSL3_CC_WRITE 0x02 -# define SSL3_CC_CLIENT 0x10 -# define SSL3_CC_SERVER 0x20 +# 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) diff --git a/ext/openssl/windows/x64/include/openssl/sslerr.h b/ext/openssl/windows/x64/include/openssl/sslerr.h new file mode 100644 index 00000000..a50a075b --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/sslerr.h @@ -0,0 +1,768 @@ +/* + * 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_SSLERR_H +# define HEADER_SSLERR_H + +# 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_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/ext/openssl/windows/x64/include/openssl/stack.h b/ext/openssl/windows/x64/include/openssl/stack.h index eb072166..cfc07505 100644 --- a/ext/openssl/windows/x64/include/openssl/stack.h +++ b/ext/openssl/windows/x64/include/openssl/stack.h @@ -1,59 +1,10 @@ -/* crypto/stack/stack.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 @@ -63,42 +14,67 @@ extern "C" { #endif -typedef struct stack_st { - int num; - char **data; - int sorted; - int num_alloc; - int (*comp) (const void *, const void *); -} _STACK; /* Use STACK_OF(...) instead */ +typedef struct stack_st OPENSSL_STACK; /* Use STACK_OF(...) instead */ -# define M_sk_num(sk) ((sk) ? (sk)->num:-1) -# define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL) +typedef int (*OPENSSL_sk_compfunc)(const void *, const void *); +typedef void (*OPENSSL_sk_freefunc)(void *); +typedef void *(*OPENSSL_sk_copyfunc)(const void *); -int sk_num(const _STACK *); -void *sk_value(const _STACK *, int); +int OPENSSL_sk_num(const OPENSSL_STACK *); +void *OPENSSL_sk_value(const OPENSSL_STACK *, int); -void *sk_set(_STACK *, int, void *); +void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data); -_STACK *sk_new(int (*cmp) (const void *, const void *)); -_STACK *sk_new_null(void); -void sk_free(_STACK *); -void sk_pop_free(_STACK *st, void (*func) (void *)); -_STACK *sk_deep_copy(_STACK *, void *(*)(void *), void (*)(void *)); -int sk_insert(_STACK *sk, void *data, int where); -void *sk_delete(_STACK *st, int loc); -void *sk_delete_ptr(_STACK *st, void *p); -int sk_find(_STACK *st, void *data); -int sk_find_ex(_STACK *st, void *data); -int sk_push(_STACK *st, void *data); -int sk_unshift(_STACK *st, void *data); -void *sk_shift(_STACK *st); -void *sk_pop(_STACK *st); -void sk_zero(_STACK *st); -int (*sk_set_cmp_func(_STACK *sk, int (*c) (const void *, const void *))) - (const void *, const void *); -_STACK *sk_dup(_STACK *st); -void sk_sort(_STACK *st); -int sk_is_sorted(const _STACK *st); +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 } diff --git a/ext/openssl/windows/x64/include/openssl/store.h b/ext/openssl/windows/x64/include/openssl/store.h new file mode 100644 index 00000000..7b43e8bd --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/store.h @@ -0,0 +1,266 @@ +/* + * 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_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 occured + * 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 transfered 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/ext/openssl/windows/x64/include/openssl/storeerr.h b/ext/openssl/windows/x64/include/openssl/storeerr.h new file mode 100644 index 00000000..33d0ab79 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/storeerr.h @@ -0,0 +1,87 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_OSSL_STOREERR_H +# define HEADER_OSSL_STOREERR_H + +# 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/ext/openssl/windows/x64/include/openssl/symhacks.h b/ext/openssl/windows/x64/include/openssl/symhacks.h index 30019579..156ea6e4 100644 --- a/ext/openssl/windows/x64/include/openssl/symhacks.h +++ b/ext/openssl/windows/x64/include/openssl/symhacks.h @@ -1,55 +1,10 @@ -/* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). +/* + * 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 @@ -57,429 +12,8 @@ # include -/* - * Hacks to solve the problem with linkers incapable of handling very long - * symbol names. In the case of VMS, the limit is 31 characters on VMS for - * VAX. - */ -/* - * Note that this affects util/libeay.num and util/ssleay.num... you may - * change those manually, but that's not recommended, as those files are - * controlled centrally and updated on Unix, and the central definition may - * disagree with yours, which in turn may come with shareable library - * incompatibilities. - */ -# ifdef OPENSSL_SYS_VMS - -/* Hack a long name in crypto/ex_data.c */ -# undef CRYPTO_get_ex_data_implementation -# define CRYPTO_get_ex_data_implementation CRYPTO_get_ex_data_impl -# undef CRYPTO_set_ex_data_implementation -# define CRYPTO_set_ex_data_implementation CRYPTO_set_ex_data_impl - -/* Hack a long name in crypto/asn1/a_mbstr.c */ -# undef ASN1_STRING_set_default_mask_asc -# define ASN1_STRING_set_default_mask_asc ASN1_STRING_set_def_mask_asc - -# if 0 /* No longer needed, since safestack macro - * magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) */ -# undef i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO -# define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO i2d_ASN1_SET_OF_PKCS7_SIGINF -# undef d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO -# define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO d2i_ASN1_SET_OF_PKCS7_SIGINF -# endif - -# if 0 /* No longer needed, since safestack macro - * magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) */ -# undef i2d_ASN1_SET_OF_PKCS7_RECIP_INFO -# define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO i2d_ASN1_SET_OF_PKCS7_RECINF -# undef d2i_ASN1_SET_OF_PKCS7_RECIP_INFO -# define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO d2i_ASN1_SET_OF_PKCS7_RECINF -# endif - -# if 0 /* No longer needed, since safestack macro - * magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) */ -# undef i2d_ASN1_SET_OF_ACCESS_DESCRIPTION -# define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION i2d_ASN1_SET_OF_ACC_DESC -# undef d2i_ASN1_SET_OF_ACCESS_DESCRIPTION -# define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION d2i_ASN1_SET_OF_ACC_DESC -# endif - -/* Hack the names created with DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE) */ -# undef PEM_read_NETSCAPE_CERT_SEQUENCE -# define PEM_read_NETSCAPE_CERT_SEQUENCE PEM_read_NS_CERT_SEQ -# undef PEM_write_NETSCAPE_CERT_SEQUENCE -# define PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_NS_CERT_SEQ -# undef PEM_read_bio_NETSCAPE_CERT_SEQUENCE -# define PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_NS_CERT_SEQ -# undef PEM_write_bio_NETSCAPE_CERT_SEQUENCE -# define PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_NS_CERT_SEQ -# undef PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE -# define PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE PEM_write_cb_bio_NS_CERT_SEQ - -/* Hack the names created with DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO) */ -# undef PEM_read_PKCS8_PRIV_KEY_INFO -# define PEM_read_PKCS8_PRIV_KEY_INFO PEM_read_P8_PRIV_KEY_INFO -# undef PEM_write_PKCS8_PRIV_KEY_INFO -# define PEM_write_PKCS8_PRIV_KEY_INFO PEM_write_P8_PRIV_KEY_INFO -# undef PEM_read_bio_PKCS8_PRIV_KEY_INFO -# define PEM_read_bio_PKCS8_PRIV_KEY_INFO PEM_read_bio_P8_PRIV_KEY_INFO -# undef PEM_write_bio_PKCS8_PRIV_KEY_INFO -# define PEM_write_bio_PKCS8_PRIV_KEY_INFO PEM_write_bio_P8_PRIV_KEY_INFO -# undef PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO -# define PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO PEM_wrt_cb_bio_P8_PRIV_KEY_INFO - -/* Hack other PEM names */ -# undef PEM_write_bio_PKCS8PrivateKey_nid -# define PEM_write_bio_PKCS8PrivateKey_nid PEM_write_bio_PKCS8PrivKey_nid - -/* Hack some long X509 names */ -# undef X509_REVOKED_get_ext_by_critical -# define X509_REVOKED_get_ext_by_critical X509_REVOKED_get_ext_by_critic -# undef X509_policy_tree_get0_user_policies -# define X509_policy_tree_get0_user_policies X509_pcy_tree_get0_usr_policies -# undef X509_policy_node_get0_qualifiers -# define X509_policy_node_get0_qualifiers X509_pcy_node_get0_qualifiers -# undef X509_STORE_CTX_get_explicit_policy -# define X509_STORE_CTX_get_explicit_policy X509_STORE_CTX_get_expl_policy -# undef X509_STORE_CTX_get0_current_issuer -# define X509_STORE_CTX_get0_current_issuer X509_STORE_CTX_get0_cur_issuer - -/* Hack some long CRYPTO names */ -# undef CRYPTO_set_dynlock_destroy_callback -# define CRYPTO_set_dynlock_destroy_callback CRYPTO_set_dynlock_destroy_cb -# undef CRYPTO_set_dynlock_create_callback -# define CRYPTO_set_dynlock_create_callback CRYPTO_set_dynlock_create_cb -# undef CRYPTO_set_dynlock_lock_callback -# define CRYPTO_set_dynlock_lock_callback CRYPTO_set_dynlock_lock_cb -# undef CRYPTO_get_dynlock_lock_callback -# define CRYPTO_get_dynlock_lock_callback CRYPTO_get_dynlock_lock_cb -# undef CRYPTO_get_dynlock_destroy_callback -# define CRYPTO_get_dynlock_destroy_callback CRYPTO_get_dynlock_destroy_cb -# undef CRYPTO_get_dynlock_create_callback -# define CRYPTO_get_dynlock_create_callback CRYPTO_get_dynlock_create_cb -# undef CRYPTO_set_locked_mem_ex_functions -# define CRYPTO_set_locked_mem_ex_functions CRYPTO_set_locked_mem_ex_funcs -# undef CRYPTO_get_locked_mem_ex_functions -# define CRYPTO_get_locked_mem_ex_functions CRYPTO_get_locked_mem_ex_funcs - -/* Hack some long SSL/TLS names */ -# undef SSL_CTX_set_default_verify_paths -# define SSL_CTX_set_default_verify_paths SSL_CTX_set_def_verify_paths -# undef SSL_get_ex_data_X509_STORE_CTX_idx -# define SSL_get_ex_data_X509_STORE_CTX_idx SSL_get_ex_d_X509_STORE_CTX_idx -# undef SSL_add_file_cert_subjects_to_stack -# define SSL_add_file_cert_subjects_to_stack SSL_add_file_cert_subjs_to_stk -# undef SSL_add_dir_cert_subjects_to_stack -# define SSL_add_dir_cert_subjects_to_stack SSL_add_dir_cert_subjs_to_stk -# undef SSL_CTX_use_certificate_chain_file -# define SSL_CTX_use_certificate_chain_file SSL_CTX_use_cert_chain_file -# undef SSL_CTX_set_cert_verify_callback -# define SSL_CTX_set_cert_verify_callback SSL_CTX_set_cert_verify_cb -# undef SSL_CTX_set_default_passwd_cb_userdata -# define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud -# undef SSL_COMP_get_compression_methods -# define SSL_COMP_get_compression_methods SSL_COMP_get_compress_methods -# undef SSL_COMP_set0_compression_methods -# define SSL_COMP_set0_compression_methods SSL_COMP_set0_compress_methods -# undef SSL_COMP_free_compression_methods -# define SSL_COMP_free_compression_methods SSL_COMP_free_compress_methods -# undef ssl_add_clienthello_renegotiate_ext -# define ssl_add_clienthello_renegotiate_ext ssl_add_clienthello_reneg_ext -# undef ssl_add_serverhello_renegotiate_ext -# define ssl_add_serverhello_renegotiate_ext ssl_add_serverhello_reneg_ext -# undef ssl_parse_clienthello_renegotiate_ext -# define ssl_parse_clienthello_renegotiate_ext ssl_parse_clienthello_reneg_ext -# undef ssl_parse_serverhello_renegotiate_ext -# define ssl_parse_serverhello_renegotiate_ext ssl_parse_serverhello_reneg_ext -# undef SSL_srp_server_param_with_username -# define SSL_srp_server_param_with_username SSL_srp_server_param_with_un -# undef SSL_CTX_set_srp_client_pwd_callback -# define SSL_CTX_set_srp_client_pwd_callback SSL_CTX_set_srp_client_pwd_cb -# undef SSL_CTX_set_srp_verify_param_callback -# define SSL_CTX_set_srp_verify_param_callback SSL_CTX_set_srp_vfy_param_cb -# undef SSL_CTX_set_srp_username_callback -# define SSL_CTX_set_srp_username_callback SSL_CTX_set_srp_un_cb -# undef ssl_add_clienthello_use_srtp_ext -# define ssl_add_clienthello_use_srtp_ext ssl_add_clihello_use_srtp_ext -# undef ssl_add_serverhello_use_srtp_ext -# define ssl_add_serverhello_use_srtp_ext ssl_add_serhello_use_srtp_ext -# undef ssl_parse_clienthello_use_srtp_ext -# define ssl_parse_clienthello_use_srtp_ext ssl_parse_clihello_use_srtp_ext -# undef ssl_parse_serverhello_use_srtp_ext -# define ssl_parse_serverhello_use_srtp_ext ssl_parse_serhello_use_srtp_ext -# undef SSL_CTX_set_next_protos_advertised_cb -# define SSL_CTX_set_next_protos_advertised_cb SSL_CTX_set_next_protos_adv_cb -# undef SSL_CTX_set_next_proto_select_cb -# define SSL_CTX_set_next_proto_select_cb SSL_CTX_set_next_proto_sel_cb - -# undef tls1_send_server_supplemental_data -# define tls1_send_server_supplemental_data tls1_send_server_suppl_data -# undef tls1_send_client_supplemental_data -# define tls1_send_client_supplemental_data tls1_send_client_suppl_data -# undef tls1_get_server_supplemental_data -# define tls1_get_server_supplemental_data tls1_get_server_suppl_data -# undef tls1_get_client_supplemental_data -# define tls1_get_client_supplemental_data tls1_get_client_suppl_data - -# undef ssl3_cbc_record_digest_supported -# define ssl3_cbc_record_digest_supported ssl3_cbc_record_digest_support -# undef ssl_check_clienthello_tlsext_late -# define ssl_check_clienthello_tlsext_late ssl_check_clihello_tlsext_late -# undef ssl_check_clienthello_tlsext_early -# define ssl_check_clienthello_tlsext_early ssl_check_clihello_tlsext_early - -/* Hack some RSA long names */ -# undef RSA_padding_check_PKCS1_OAEP_mgf1 -# define RSA_padding_check_PKCS1_OAEP_mgf1 RSA_pad_check_PKCS1_OAEP_mgf1 - -/* Hack some ENGINE long names */ -# undef ENGINE_get_default_BN_mod_exp_crt -# define ENGINE_get_default_BN_mod_exp_crt ENGINE_get_def_BN_mod_exp_crt -# undef ENGINE_set_default_BN_mod_exp_crt -# define ENGINE_set_default_BN_mod_exp_crt ENGINE_set_def_BN_mod_exp_crt -# undef ENGINE_set_load_privkey_function -# define ENGINE_set_load_privkey_function ENGINE_set_load_privkey_fn -# undef ENGINE_get_load_privkey_function -# define ENGINE_get_load_privkey_function ENGINE_get_load_privkey_fn -# undef ENGINE_unregister_pkey_asn1_meths -# define ENGINE_unregister_pkey_asn1_meths ENGINE_unreg_pkey_asn1_meths -# undef ENGINE_register_all_pkey_asn1_meths -# define ENGINE_register_all_pkey_asn1_meths ENGINE_reg_all_pkey_asn1_meths -# undef ENGINE_set_default_pkey_asn1_meths -# define ENGINE_set_default_pkey_asn1_meths ENGINE_set_def_pkey_asn1_meths -# undef ENGINE_get_pkey_asn1_meth_engine -# define ENGINE_get_pkey_asn1_meth_engine ENGINE_get_pkey_asn1_meth_eng -# undef ENGINE_set_load_ssl_client_cert_function -# define ENGINE_set_load_ssl_client_cert_function \ - ENGINE_set_ld_ssl_clnt_cert_fn -# undef ENGINE_get_ssl_client_cert_function -# define ENGINE_get_ssl_client_cert_function ENGINE_get_ssl_client_cert_fn - -/* Hack some long OCSP names */ -# undef OCSP_REQUEST_get_ext_by_critical -# define OCSP_REQUEST_get_ext_by_critical OCSP_REQUEST_get_ext_by_crit -# undef OCSP_BASICRESP_get_ext_by_critical -# define OCSP_BASICRESP_get_ext_by_critical OCSP_BASICRESP_get_ext_by_crit -# undef OCSP_SINGLERESP_get_ext_by_critical -# define OCSP_SINGLERESP_get_ext_by_critical OCSP_SINGLERESP_get_ext_by_crit - -/* Hack some long DES names */ -# undef _ossl_old_des_ede3_cfb64_encrypt -# define _ossl_old_des_ede3_cfb64_encrypt _ossl_odes_ede3_cfb64_encrypt -# undef _ossl_old_des_ede3_ofb64_encrypt -# define _ossl_old_des_ede3_ofb64_encrypt _ossl_odes_ede3_ofb64_encrypt - -/* Hack some long EVP names */ -# undef OPENSSL_add_all_algorithms_noconf -# define OPENSSL_add_all_algorithms_noconf OPENSSL_add_all_algo_noconf -# undef OPENSSL_add_all_algorithms_conf -# define OPENSSL_add_all_algorithms_conf OPENSSL_add_all_algo_conf -# undef EVP_PKEY_meth_set_verify_recover -# define EVP_PKEY_meth_set_verify_recover EVP_PKEY_meth_set_vrfy_recover -# undef EVP_PKEY_meth_get_verify_recover -# define EVP_PKEY_meth_get_verify_recover EVP_PKEY_meth_get_vrfy_recover - -/* Hack some long EC names */ -# undef EC_GROUP_set_point_conversion_form -# define EC_GROUP_set_point_conversion_form EC_GROUP_set_point_conv_form -# undef EC_GROUP_get_point_conversion_form -# define EC_GROUP_get_point_conversion_form EC_GROUP_get_point_conv_form -# undef EC_GROUP_clear_free_all_extra_data -# define EC_GROUP_clear_free_all_extra_data EC_GROUP_clr_free_all_xtra_data -# undef EC_KEY_set_public_key_affine_coordinates -# define EC_KEY_set_public_key_affine_coordinates \ - EC_KEY_set_pub_key_aff_coords -# undef EC_POINT_set_Jprojective_coordinates_GFp -# define EC_POINT_set_Jprojective_coordinates_GFp \ - EC_POINT_set_Jproj_coords_GFp -# undef EC_POINT_get_Jprojective_coordinates_GFp -# define EC_POINT_get_Jprojective_coordinates_GFp \ - EC_POINT_get_Jproj_coords_GFp -# undef EC_POINT_set_affine_coordinates_GFp -# define EC_POINT_set_affine_coordinates_GFp EC_POINT_set_affine_coords_GFp -# undef EC_POINT_get_affine_coordinates_GFp -# define EC_POINT_get_affine_coordinates_GFp EC_POINT_get_affine_coords_GFp -# undef EC_POINT_set_compressed_coordinates_GFp -# define EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_compr_coords_GFp -# undef EC_POINT_set_affine_coordinates_GF2m -# define EC_POINT_set_affine_coordinates_GF2m EC_POINT_set_affine_coords_GF2m -# undef EC_POINT_get_affine_coordinates_GF2m -# define EC_POINT_get_affine_coordinates_GF2m EC_POINT_get_affine_coords_GF2m -# undef EC_POINT_set_compressed_coordinates_GF2m -# define EC_POINT_set_compressed_coordinates_GF2m \ - EC_POINT_set_compr_coords_GF2m -# undef ec_GF2m_simple_group_clear_finish -# define ec_GF2m_simple_group_clear_finish ec_GF2m_simple_grp_clr_finish -# undef ec_GF2m_simple_group_check_discriminant -# define ec_GF2m_simple_group_check_discriminant ec_GF2m_simple_grp_chk_discrim -# undef ec_GF2m_simple_point_clear_finish -# define ec_GF2m_simple_point_clear_finish ec_GF2m_simple_pt_clr_finish -# undef ec_GF2m_simple_point_set_to_infinity -# define ec_GF2m_simple_point_set_to_infinity ec_GF2m_simple_pt_set_to_inf -# undef ec_GF2m_simple_points_make_affine -# define ec_GF2m_simple_points_make_affine ec_GF2m_simple_pts_make_affine -# undef ec_GF2m_simple_point_set_affine_coordinates -# define ec_GF2m_simple_point_set_affine_coordinates \ - ec_GF2m_smp_pt_set_af_coords -# undef ec_GF2m_simple_point_get_affine_coordinates -# define ec_GF2m_simple_point_get_affine_coordinates \ - ec_GF2m_smp_pt_get_af_coords -# undef ec_GF2m_simple_set_compressed_coordinates -# define ec_GF2m_simple_set_compressed_coordinates \ - ec_GF2m_smp_set_compr_coords -# undef ec_GFp_simple_group_set_curve_GFp -# define ec_GFp_simple_group_set_curve_GFp ec_GFp_simple_grp_set_curve_GFp -# undef ec_GFp_simple_group_get_curve_GFp -# define ec_GFp_simple_group_get_curve_GFp ec_GFp_simple_grp_get_curve_GFp -# undef ec_GFp_simple_group_clear_finish -# define ec_GFp_simple_group_clear_finish ec_GFp_simple_grp_clear_finish -# undef ec_GFp_simple_group_set_generator -# define ec_GFp_simple_group_set_generator ec_GFp_simple_grp_set_generator -# undef ec_GFp_simple_group_get0_generator -# define ec_GFp_simple_group_get0_generator ec_GFp_simple_grp_gt0_generator -# undef ec_GFp_simple_group_get_cofactor -# define ec_GFp_simple_group_get_cofactor ec_GFp_simple_grp_get_cofactor -# undef ec_GFp_simple_point_clear_finish -# define ec_GFp_simple_point_clear_finish ec_GFp_simple_pt_clear_finish -# undef ec_GFp_simple_point_set_to_infinity -# define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf -# undef ec_GFp_simple_points_make_affine -# define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine -# undef ec_GFp_simple_set_Jprojective_coordinates_GFp -# define ec_GFp_simple_set_Jprojective_coordinates_GFp \ - ec_GFp_smp_set_Jproj_coords_GFp -# undef ec_GFp_simple_get_Jprojective_coordinates_GFp -# define ec_GFp_simple_get_Jprojective_coordinates_GFp \ - ec_GFp_smp_get_Jproj_coords_GFp -# undef ec_GFp_simple_point_set_affine_coordinates_GFp -# define ec_GFp_simple_point_set_affine_coordinates_GFp \ - ec_GFp_smp_pt_set_af_coords_GFp -# undef ec_GFp_simple_point_get_affine_coordinates_GFp -# define ec_GFp_simple_point_get_affine_coordinates_GFp \ - ec_GFp_smp_pt_get_af_coords_GFp -# undef ec_GFp_simple_set_compressed_coordinates_GFp -# define ec_GFp_simple_set_compressed_coordinates_GFp \ - ec_GFp_smp_set_compr_coords_GFp -# undef ec_GFp_simple_point_set_affine_coordinates -# define ec_GFp_simple_point_set_affine_coordinates \ - ec_GFp_smp_pt_set_af_coords -# undef ec_GFp_simple_point_get_affine_coordinates -# define ec_GFp_simple_point_get_affine_coordinates \ - ec_GFp_smp_pt_get_af_coords -# undef ec_GFp_simple_set_compressed_coordinates -# define ec_GFp_simple_set_compressed_coordinates \ - ec_GFp_smp_set_compr_coords -# undef ec_GFp_simple_group_check_discriminant -# define ec_GFp_simple_group_check_discriminant ec_GFp_simple_grp_chk_discrim - -/* Hack som long STORE names */ -# undef STORE_method_set_initialise_function -# define STORE_method_set_initialise_function STORE_meth_set_initialise_fn -# undef STORE_method_set_cleanup_function -# define STORE_method_set_cleanup_function STORE_meth_set_cleanup_fn -# undef STORE_method_set_generate_function -# define STORE_method_set_generate_function STORE_meth_set_generate_fn -# undef STORE_method_set_modify_function -# define STORE_method_set_modify_function STORE_meth_set_modify_fn -# undef STORE_method_set_revoke_function -# define STORE_method_set_revoke_function STORE_meth_set_revoke_fn -# undef STORE_method_set_delete_function -# define STORE_method_set_delete_function STORE_meth_set_delete_fn -# undef STORE_method_set_list_start_function -# define STORE_method_set_list_start_function STORE_meth_set_list_start_fn -# undef STORE_method_set_list_next_function -# define STORE_method_set_list_next_function STORE_meth_set_list_next_fn -# undef STORE_method_set_list_end_function -# define STORE_method_set_list_end_function STORE_meth_set_list_end_fn -# undef STORE_method_set_update_store_function -# define STORE_method_set_update_store_function STORE_meth_set_update_store_fn -# undef STORE_method_set_lock_store_function -# define STORE_method_set_lock_store_function STORE_meth_set_lock_store_fn -# undef STORE_method_set_unlock_store_function -# define STORE_method_set_unlock_store_function STORE_meth_set_unlock_store_fn -# undef STORE_method_get_initialise_function -# define STORE_method_get_initialise_function STORE_meth_get_initialise_fn -# undef STORE_method_get_cleanup_function -# define STORE_method_get_cleanup_function STORE_meth_get_cleanup_fn -# undef STORE_method_get_generate_function -# define STORE_method_get_generate_function STORE_meth_get_generate_fn -# undef STORE_method_get_modify_function -# define STORE_method_get_modify_function STORE_meth_get_modify_fn -# undef STORE_method_get_revoke_function -# define STORE_method_get_revoke_function STORE_meth_get_revoke_fn -# undef STORE_method_get_delete_function -# define STORE_method_get_delete_function STORE_meth_get_delete_fn -# undef STORE_method_get_list_start_function -# define STORE_method_get_list_start_function STORE_meth_get_list_start_fn -# undef STORE_method_get_list_next_function -# define STORE_method_get_list_next_function STORE_meth_get_list_next_fn -# undef STORE_method_get_list_end_function -# define STORE_method_get_list_end_function STORE_meth_get_list_end_fn -# undef STORE_method_get_update_store_function -# define STORE_method_get_update_store_function STORE_meth_get_update_store_fn -# undef STORE_method_get_lock_store_function -# define STORE_method_get_lock_store_function STORE_meth_get_lock_store_fn -# undef STORE_method_get_unlock_store_function -# define STORE_method_get_unlock_store_function STORE_meth_get_unlock_store_fn - -/* Hack some long TS names */ -# undef TS_RESP_CTX_set_status_info_cond -# define TS_RESP_CTX_set_status_info_cond TS_RESP_CTX_set_stat_info_cond -# undef TS_RESP_CTX_set_clock_precision_digits -# define TS_RESP_CTX_set_clock_precision_digits TS_RESP_CTX_set_clk_prec_digits -# undef TS_CONF_set_clock_precision_digits -# define TS_CONF_set_clock_precision_digits TS_CONF_set_clk_prec_digits - -/* Hack some long CMS names */ -# undef CMS_RecipientInfo_ktri_get0_algs -# define CMS_RecipientInfo_ktri_get0_algs CMS_RecipInfo_ktri_get0_algs -# undef CMS_RecipientInfo_ktri_get0_signer_id -# define CMS_RecipientInfo_ktri_get0_signer_id CMS_RecipInfo_ktri_get0_sigr_id -# undef CMS_OtherRevocationInfoFormat_it -# define CMS_OtherRevocationInfoFormat_it CMS_OtherRevocInfoFormat_it -# undef CMS_KeyAgreeRecipientIdentifier_it -# define CMS_KeyAgreeRecipientIdentifier_it CMS_KeyAgreeRecipIdentifier_it -# undef CMS_OriginatorIdentifierOrKey_it -# define CMS_OriginatorIdentifierOrKey_it CMS_OriginatorIdOrKey_it -# undef cms_SignerIdentifier_get0_signer_id -# define cms_SignerIdentifier_get0_signer_id cms_SignerId_get0_signer_id -# undef CMS_RecipientInfo_kari_get0_orig_id -# define CMS_RecipientInfo_kari_get0_orig_id CMS_RecipInfo_kari_get0_orig_id -# undef CMS_RecipientInfo_kari_get0_reks -# define CMS_RecipientInfo_kari_get0_reks CMS_RecipInfo_kari_get0_reks -# undef CMS_RecipientEncryptedKey_cert_cmp -# define CMS_RecipientEncryptedKey_cert_cmp CMS_RecipEncryptedKey_cert_cmp -# undef CMS_RecipientInfo_kari_set0_pkey -# define CMS_RecipientInfo_kari_set0_pkey CMS_RecipInfo_kari_set0_pkey -# undef CMS_RecipientEncryptedKey_get0_id -# define CMS_RecipientEncryptedKey_get0_id CMS_RecipEncryptedKey_get0_id -# undef CMS_RecipientInfo_kari_orig_id_cmp -# define CMS_RecipientInfo_kari_orig_id_cmp CMS_RecipInfo_kari_orig_id_cmp - -/* Hack some long DTLS1 names */ -# undef dtls1_retransmit_buffered_messages -# define dtls1_retransmit_buffered_messages dtls1_retransmit_buffered_msgs - -/* Hack some long SRP names */ -# undef SRP_generate_server_master_secret -# define SRP_generate_server_master_secret SRP_gen_server_master_secret -# undef SRP_generate_client_master_secret -# define SRP_generate_client_master_secret SRP_gen_client_master_secret - -/* Hack some long UI names */ -# undef UI_method_get_prompt_constructor -# define UI_method_get_prompt_constructor UI_method_get_prompt_constructr -# undef UI_method_set_prompt_constructor -# define UI_method_set_prompt_constructor UI_method_set_prompt_constructr - -# endif /* defined OPENSSL_SYS_VMS */ - /* Case insensitive linking causes problems.... */ -# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) +# if defined(OPENSSL_SYS_VMS) # undef ERR_load_CRYPTO_strings # define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings # undef OCSP_crlID_new @@ -494,21 +28,6 @@ # undef i2d_ECPKPARAMETERS # define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS -/* - * These functions do not seem to exist! However, I'm paranoid... Original - * command in x509v3.h: These functions are being redefined in another - * directory, and clash when the linker is case-insensitive, so let's hide - * them a little, by giving them an extra 'o' at the beginning of the name... - */ -# undef X509v3_cleanup_extensions -# define X509v3_cleanup_extensions oX509v3_cleanup_extensions -# undef X509v3_add_extension -# define X509v3_add_extension oX509v3_add_extension -# undef X509v3_add_netscape_extensions -# define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions -# undef X509v3_add_standard_extensions -# define X509v3_add_standard_extensions oX509v3_add_standard_extensions - /* This one clashes with CMS_data_create */ # undef cms_Data_create # define cms_Data_create priv_cms_Data_create diff --git a/ext/openssl/windows/x64/include/openssl/tls1.h b/ext/openssl/windows/x64/include/openssl/tls1.h index dd1d8c10..e13b5dd4 100644 --- a/ext/openssl/windows/x64/include/openssl/tls1.h +++ b/ext/openssl/windows/x64/include/openssl/tls1.h @@ -1,168 +1,37 @@ -/* ssl/tls1.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * Portions of the attached software ("Contribution") are developed by - * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. - * - * The Contribution is licensed pursuant to the OpenSSL open source - * license provided above. - * - * ECC cipher suite support in OpenSSL originally written by - * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories. - * - */ -/* ==================================================================== +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * - * The portions of the attached software ("Contribution") is developed by - * Nokia Corporation and is licensed pursuant to the OpenSSL open source - * license. - * - * The Contribution, originally written by Mika Kousa and Pasi Eronen of - * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites - * support (see RFC 4279) to OpenSSL. - * - * No patent licenses or other rights except those expressly stated in - * the OpenSSL open source license shall be deemed granted or received - * expressly, by implication, estoppel, or otherwise. - * - * No assurances are provided by Nokia that the Contribution does not - * infringe the patent or other intellectual property rights of any third - * party or that the license provides you with all the necessary rights - * to make use of the Contribution. - * - * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN - * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA - * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY - * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR - * OTHERWISE. + * 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 -# define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0 +/* 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 TLS_MAX_VERSION TLS1_2_VERSION +# 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 @@ -174,10 +43,10 @@ extern "C" { # define TLS1_2_VERSION_MINOR 0x03 # define TLS1_get_version(s) \ - ((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0) + ((SSL_version(s) >> 8) == TLS1_VERSION_MAJOR ? SSL_version(s) : 0) # define TLS1_get_client_version(s) \ - ((s->client_version >> 8) == TLS1_VERSION_MAJOR ? s->client_version : 0) + ((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 @@ -192,6 +61,9 @@ extern "C" { # 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 @@ -199,6 +71,7 @@ extern "C" { # 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 @@ -216,9 +89,15 @@ extern "C" { # define TLSEXT_TYPE_cert_type 9 /* ExtensionType values from RFC4492 */ -# define TLSEXT_TYPE_elliptic_curves 10 +/* + * 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 @@ -234,24 +113,37 @@ extern "C" { /* 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 -/* ExtensionType value from draft-rescorla-tls-opaque-prf-input-00.txt */ -# if 0 -/* - * will have to be provided externally for now , - * i.e. build with -DTLSEXT_TYPE_opaque_prf_input=38183 - * using whatever extension number you'd like to try - */ -# define TLSEXT_TYPE_opaque_prf_input ?? -# endif +/* 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 @@ -278,9 +170,12 @@ extern "C" { # 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 4 +# define TLSEXT_signature_num 7 # define TLSEXT_hash_none 0 # define TLSEXT_hash_md5 1 @@ -289,10 +184,13 @@ extern "C" { # 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 7 +# define TLSEXT_hash_num 10 /* Flag set for unrecognised algorithms */ # define TLSEXT_nid_unknown 0x1000000 @@ -302,23 +200,48 @@ extern "C" { # define TLSEXT_curve_P_256 23 # define TLSEXT_curve_P_384 24 -# ifndef OPENSSL_NO_TLSEXT +/* 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 -# define TLSEXT_MAXLEN_host_name 255 +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); -const char *SSL_get_servername(const SSL *s, const int type); -int SSL_get_servername_type(const SSL *s); +# 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 - * zero otherwise. + * 0 or -1 otherwise. */ -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); +__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, @@ -328,79 +251,107 @@ int SSL_get_shared_sigalgs(SSL *s, int idx, int *psign, int *phash, int *psignandhash, unsigned char *rsig, unsigned char *rhash); -int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain); +__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,(char *)name) +# 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_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, (void *)arg) +# define SSL_set_tlsext_debug_arg(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0,arg) -# 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_type(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0,NULL) -# define SSL_get_tlsext_status_exts(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) +# define SSL_set_tlsext_status_type(ssl, type) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type,NULL) -# define SSL_set_tlsext_status_exts(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) +# define SSL_get_tlsext_status_exts(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_GET_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, (void *)arg) +# define SSL_set_tlsext_status_exts(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0,arg) -# define SSL_set_tlsext_status_ids(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) +# define SSL_get_tlsext_status_ids(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_GET_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, (void *)arg) +# define SSL_set_tlsext_status_ids(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0,arg) -# define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \ -SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen, (void *)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_CTX_set_tlsext_servername_callback(ctx, cb) \ -SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,(void (*)(void))cb) +# 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_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_callback(ctx, cb) \ + SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,\ + (void (*)(void))cb) -# define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \ -SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg) +# 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_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_set_tlsext_servername_arg(ctx, arg) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0,arg) -# 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_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_set_tlsext_status_arg(ssl, arg) \ -SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0, (void *)arg) +# 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_set_tlsext_opaque_prf_input(s, src, len) \ -SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT, len, src) -# define SSL_CTX_set_tlsext_opaque_prf_input_callback(ctx, cb) \ -SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB, (void (*)(void))cb) -# define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(ctx, arg) \ -SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG, 0, arg) +# 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_ticket_key_cb(ssl, cb) \ -SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) +# define SSL_CTX_set_tlsext_status_type(ssl, type) \ + SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type,NULL) -# ifndef OPENSSL_NO_HEARTBEATS -# define SSL_TLSEXT_HB_ENABLED 0x01 -# define SSL_TLSEXT_HB_DONT_SEND_REQUESTS 0x02 -# define SSL_TLSEXT_HB_DONT_RECV_REQUESTS 0x04 +# 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_ctrl((ssl),SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING,0,NULL) + SSL_get_dtlsext_heartbeat_pending(ssl) # define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ - SSL_ctrl((ssl),SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) + SSL_set_dtlsext_heartbeat_no_requests(ssl,arg) # endif # endif @@ -409,23 +360,39 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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 -/* - * Additional TLS ciphersuites from expired Internet Draft - * draft-ietf-tls-56-bit-ciphersuites-01.txt (available if - * TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES is defined, see s3_lib.c). We - * actually treat them like SSL 3.0 ciphers, which we probably shouldn't. - * Note that the first two are actually not in the IDs. - */ -# define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5 0x03000060/* not in - * ID */ -# define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 0x03000061/* not in - * ID */ -# define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA 0x03000062 -# define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA 0x03000063 -# define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA 0x03000064 -# define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA 0x03000065 -# define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA 0x03000066 +/* 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 @@ -434,7 +401,6 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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 @@ -497,10 +463,46 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 # define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 -/* - * ECC ciphersuites from draft-ietf-tls-ecc-12.txt with changes soon to be in - * draft 13 - */ +/* 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 @@ -543,7 +545,6 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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 @@ -563,20 +564,287 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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" + + * 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_RSA_EXPORT1024_WITH_RC4_56_MD5 "EXP1024-RC4-MD5" -# define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 "EXP1024-RC2-CBC-MD5" -# define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DES-CBC-SHA" -# define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DHE-DSS-DES-CBC-SHA" -# define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA "EXP1024-RC4-SHA" -# define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA "EXP1024-DHE-DSS-RC4-SHA" # 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" @@ -629,6 +897,38 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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" @@ -655,6 +955,30 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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" @@ -692,8 +1016,34 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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" -/* ECDH HMAC based ciphersuites from RFC5289 */ +/* 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" @@ -713,6 +1063,70 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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 @@ -720,23 +1134,29 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # define TLS_CT_ECDSA_SIGN 64 # define TLS_CT_RSA_FIXED_ECDH 65 # define TLS_CT_ECDSA_FIXED_ECDH 66 -# define TLS_CT_GOST94_SIGN 21 # 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 9 +# 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 20 +# 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_SERVER_WRITE_KEY_CONST "server write key" -# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 # 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" @@ -747,6 +1167,8 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) # 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 @@ -796,6 +1218,11 @@ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) * 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\x63\x64\x65\x64\x20\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" # endif /* TLS Session Ticket extension struct */ diff --git a/ext/openssl/windows/x64/include/openssl/ts.h b/ext/openssl/windows/x64/include/openssl/ts.h index 2daa1b2f..3b58aa52 100644 --- a/ext/openssl/windows/x64/include/openssl/ts.h +++ b/ext/openssl/windows/x64/include/openssl/ts.h @@ -1,197 +1,41 @@ -/* crypto/ts/ts.h */ /* - * Written by Zoltan Glozik (zglozik@opentsa.org) for the OpenSSL project - * 2002, 2003, 2004. - */ -/* ==================================================================== - * Copyright (c) 2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). + * 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 -# ifndef OPENSSL_NO_BUFFER -# include -# endif -# ifndef OPENSSL_NO_EVP -# include -# endif -# ifndef OPENSSL_NO_BIO -# include -# endif -# include +# include +# include +# include # include # include - -# ifndef OPENSSL_NO_RSA -# include -# endif - -# ifndef OPENSSL_NO_DSA -# include -# endif - -# ifndef OPENSSL_NO_DH -# include -# endif - -#ifdef __cplusplus +# include +# include +# include +# include +# ifdef __cplusplus extern "C" { -#endif - -# ifdef WIN32 -/* Under Win32 this is defined in wincrypt.h */ -# undef X509_NAME # endif # include # include -/*- -MessageImprint ::= SEQUENCE { - hashAlgorithm AlgorithmIdentifier, - hashedMessage OCTET STRING } -*/ - -typedef struct TS_msg_imprint_st { - X509_ALGOR *hash_algo; - ASN1_OCTET_STRING *hashed_msg; -} TS_MSG_IMPRINT; - -/*- -TimeStampReq ::= SEQUENCE { - version INTEGER { v1(1) }, - messageImprint MessageImprint, - --a hash algorithm OID and the hash value of the data to be - --time-stamped - reqPolicy TSAPolicyId OPTIONAL, - nonce INTEGER OPTIONAL, - certReq BOOLEAN DEFAULT FALSE, - extensions [0] IMPLICIT Extensions OPTIONAL } -*/ - -typedef struct TS_req_st { - ASN1_INTEGER *version; - TS_MSG_IMPRINT *msg_imprint; - ASN1_OBJECT *policy_id; /* OPTIONAL */ - ASN1_INTEGER *nonce; /* OPTIONAL */ - ASN1_BOOLEAN cert_req; /* DEFAULT FALSE */ - STACK_OF(X509_EXTENSION) *extensions; /* [0] OPTIONAL */ -} TS_REQ; - -/*- -Accuracy ::= SEQUENCE { - seconds INTEGER OPTIONAL, - millis [0] INTEGER (1..999) OPTIONAL, - micros [1] INTEGER (1..999) OPTIONAL } -*/ - -typedef struct TS_accuracy_st { - ASN1_INTEGER *seconds; - ASN1_INTEGER *millis; - ASN1_INTEGER *micros; -} TS_ACCURACY; - -/*- -TSTInfo ::= SEQUENCE { - version INTEGER { v1(1) }, - policy TSAPolicyId, - messageImprint MessageImprint, - -- MUST have the same value as the similar field in - -- TimeStampReq - serialNumber INTEGER, - -- Time-Stamping users MUST be ready to accommodate integers - -- up to 160 bits. - genTime GeneralizedTime, - accuracy Accuracy OPTIONAL, - ordering BOOLEAN DEFAULT FALSE, - nonce INTEGER OPTIONAL, - -- MUST be present if the similar field was present - -- in TimeStampReq. In that case it MUST have the same value. - tsa [0] GeneralName OPTIONAL, - extensions [1] IMPLICIT Extensions OPTIONAL } -*/ - -typedef struct TS_tst_info_st { - ASN1_INTEGER *version; - ASN1_OBJECT *policy_id; - TS_MSG_IMPRINT *msg_imprint; - ASN1_INTEGER *serial; - ASN1_GENERALIZEDTIME *time; - TS_ACCURACY *accuracy; - ASN1_BOOLEAN ordering; - ASN1_INTEGER *nonce; - GENERAL_NAME *tsa; - STACK_OF(X509_EXTENSION) *extensions; -} TS_TST_INFO; - -/*- -PKIStatusInfo ::= SEQUENCE { - status PKIStatus, - statusString PKIFreeText OPTIONAL, - failInfo PKIFailureInfo OPTIONAL } - -From RFC 1510 - section 3.1.1: -PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String - -- text encoded as UTF-8 String (note: each UTF8String SHOULD - -- include an RFC 1766 language tag to indicate the language - -- of the contained text) -*/ - -/* Possible values for status. See ts_resp_print.c && ts_resp_verify.c. */ +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 @@ -199,10 +43,7 @@ PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String # define TS_STATUS_REVOCATION_WARNING 4 # define TS_STATUS_REVOCATION_NOTIFICATION 5 -/* - * Possible values for failure_info. See ts_resp_print.c && ts_resp_verify.c - */ - +/* Possible values for failure_info. */ # define TS_INFO_BAD_ALG 0 # define TS_INFO_BAD_REQUEST 2 # define TS_INFO_BAD_DATA_FORMAT 5 @@ -212,67 +53,20 @@ PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String # define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 # define TS_INFO_SYSTEM_FAILURE 25 -typedef struct TS_status_info_st { - ASN1_INTEGER *status; - STACK_OF(ASN1_UTF8STRING) *text; - ASN1_BIT_STRING *failure_info; -} TS_STATUS_INFO; -DECLARE_STACK_OF(ASN1_UTF8STRING) -DECLARE_ASN1_SET_OF(ASN1_UTF8STRING) +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; -/*- -TimeStampResp ::= SEQUENCE { - status PKIStatusInfo, - timeStampToken TimeStampToken OPTIONAL } -*/ +DEFINE_STACK_OF(ESS_CERT_ID) -typedef struct TS_resp_st { - TS_STATUS_INFO *status_info; - PKCS7 *token; - TS_TST_INFO *tst_info; -} TS_RESP; +typedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2; +typedef struct ESS_signing_cert_v2_st ESS_SIGNING_CERT_V2; -/* The structure below would belong to the ESS component. */ +DEFINE_STACK_OF(ESS_CERT_ID_V2) -/*- -IssuerSerial ::= SEQUENCE { - issuer GeneralNames, - serialNumber CertificateSerialNumber - } -*/ - -typedef struct ESS_issuer_serial { - STACK_OF(GENERAL_NAME) *issuer; - ASN1_INTEGER *serial; -} ESS_ISSUER_SERIAL; - -/*- -ESSCertID ::= SEQUENCE { - certHash Hash, - issuerSerial IssuerSerial OPTIONAL -} -*/ - -typedef struct ESS_cert_id { - ASN1_OCTET_STRING *hash; /* Always SHA-1 digest. */ - ESS_ISSUER_SERIAL *issuer_serial; -} ESS_CERT_ID; - -DECLARE_STACK_OF(ESS_CERT_ID) -DECLARE_ASN1_SET_OF(ESS_CERT_ID) - -/*- -SigningCertificate ::= SEQUENCE { - certs SEQUENCE OF ESSCertID, - policies SEQUENCE OF PolicyInformation OPTIONAL -} -*/ - -typedef struct ESS_signing_cert { - STACK_OF(ESS_CERT_ID) *cert_ids; - STACK_OF(POLICYINFO) *policy_info; -} ESS_SIGNING_CERT; +typedef struct TS_resp_st TS_RESP; TS_REQ *TS_REQ_new(void); void TS_REQ_free(TS_REQ *a); @@ -281,8 +75,10 @@ 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); @@ -294,10 +90,12 @@ TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, 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); -TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_bio(BIO *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); @@ -306,10 +104,12 @@ 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); -TS_RESP *d2i_TS_RESP_bio(BIO *fp, TS_RESP **a); -int i2d_TS_RESP_bio(BIO *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); @@ -325,10 +125,12 @@ 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); -TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO **a); -int i2d_TS_TST_INFO_bio(BIO *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); @@ -359,11 +161,33 @@ 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); -void ERR_load_TS_strings(void); +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); @@ -373,7 +197,7 @@ 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, ASN1_OBJECT *policy); +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); @@ -386,7 +210,7 @@ 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, ASN1_OBJECT *obj, 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); @@ -447,7 +271,8 @@ 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, ASN1_OBJECT *obj, 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); @@ -495,34 +320,9 @@ typedef int (*TS_time_cb) (struct TS_resp_ctx *, void *, long *sec, typedef int (*TS_extension_cb) (struct TS_resp_ctx *, X509_EXTENSION *, void *); -typedef struct TS_resp_ctx { - X509 *signer_cert; - EVP_PKEY *signer_key; - STACK_OF(X509) *certs; /* Certs to include in signed data. */ - STACK_OF(ASN1_OBJECT) *policies; /* Acceptable policies. */ - ASN1_OBJECT *default_policy; /* It may appear in policies, too. */ - STACK_OF(EVP_MD) *mds; /* Acceptable message digests. */ - ASN1_INTEGER *seconds; /* accuracy, 0 means not specified. */ - ASN1_INTEGER *millis; /* accuracy, 0 means not specified. */ - ASN1_INTEGER *micros; /* accuracy, 0 means not specified. */ - unsigned clock_precision_digits; /* fraction of seconds in time stamp - * token. */ - unsigned flags; /* Optional info, see values above. */ - /* Callback functions. */ - TS_serial_cb serial_cb; - void *serial_cb_data; /* User data for serial_cb. */ - TS_time_cb time_cb; - void *time_cb_data; /* User data for time_cb. */ - TS_extension_cb extension_cb; - void *extension_cb_data; /* User data for extension_cb. */ - /* These members are used only while creating the response. */ - TS_REQ *request; - TS_RESP *response; - TS_TST_INFO *tst_info; -} TS_RESP_CTX; +typedef struct TS_resp_ctx TS_RESP_CTX; -DECLARE_STACK_OF(EVP_MD) -DECLARE_ASN1_SET_OF(EVP_MD) +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); @@ -534,8 +334,12 @@ 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, ASN1_OBJECT *def_policy); +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); @@ -544,7 +348,7 @@ 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, ASN1_OBJECT *policy); +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 @@ -657,42 +461,25 @@ int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs, | TS_VFY_SIGNER \ | TS_VFY_TSA_NAME) -typedef struct TS_verify_ctx { - /* Set this to the union of TS_VFY_... flags you want to carry out. */ - unsigned flags; - /* Must be set only with TS_VFY_SIGNATURE. certs is optional. */ - X509_STORE *store; - STACK_OF(X509) *certs; - /* Must be set only with TS_VFY_POLICY. */ - ASN1_OBJECT *policy; - /* - * Must be set only with TS_VFY_IMPRINT. If md_alg is NULL, the - * algorithm from the response is used. - */ - X509_ALGOR *md_alg; - unsigned char *imprint; - unsigned imprint_len; - /* Must be set only with TS_VFY_DATA. */ - BIO *data; - /* Must be set only with TS_VFY_TSA_NAME. */ - ASN1_INTEGER *nonce; - /* Must be set only with TS_VFY_TSA_NAME. */ - GENERAL_NAME *tsa_name; -} TS_VERIFY_CTX; +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, - * they are defined in ts/ts_verify_ctx.c. */ - -/* Set all fields to zero. */ 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 @@ -737,9 +524,11 @@ 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, @@ -747,6 +536,8 @@ int TS_CONF_set_certs(CONF *conf, const char *section, const char *certs, 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); @@ -758,108 +549,11 @@ 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); -/* -------------------------------------------------- */ -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_TS_strings(void); - -/* Error codes for the TS functions. */ - -/* Function codes. */ -# define TS_F_D2I_TS_RESP 147 -# 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_CERT_ID_NEW_INIT 113 -# define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 -# 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_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_RESP_VERIFY_TOKEN 107 -# 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 - -/* Reason codes. */ -# define TS_R_BAD_PKCS7_TYPE 132 -# define TS_R_BAD_TYPE 133 -# 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_D2I_TS_RESP_INT_FAILED 128 -# define TS_R_DETACHED_CONTENT 134 -# define TS_R_ESS_ADD_SIGNING_CERT_ERROR 116 -# 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_WRONG_CONTENT_TYPE 114 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/tserr.h b/ext/openssl/windows/x64/include/openssl/tserr.h new file mode 100644 index 00000000..3e049256 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/tserr.h @@ -0,0 +1,128 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_TSERR_H +# define HEADER_TSERR_H + +# 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/ext/openssl/windows/x64/include/openssl/txt_db.h b/ext/openssl/windows/x64/include/openssl/txt_db.h index 98e23a20..ec981a43 100644 --- a/ext/openssl/windows/x64/include/openssl/txt_db.h +++ b/ext/openssl/windows/x64/include/openssl/txt_db.h @@ -1,69 +1,18 @@ -/* crypto/txt_db/txt_db.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] + * 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 -# ifndef OPENSSL_NO_BIO -# include -# endif -# include +# include +# include # include # define DB_ERROR_OK 0 @@ -72,13 +21,14 @@ # 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; -DECLARE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) +DEFINE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) typedef struct txt_db_st { int num_fields; @@ -91,15 +41,10 @@ typedef struct txt_db_st { OPENSSL_STRING *arg_row; } TXT_DB; -# ifndef OPENSSL_NO_BIO TXT_DB *TXT_DB_read(BIO *in, int num); long TXT_DB_write(BIO *out, TXT_DB *db); -# else -TXT_DB *TXT_DB_read(char *in, int num); -long TXT_DB_write(char *out, TXT_DB *db); -# endif int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING *), - LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp); + 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); diff --git a/ext/openssl/windows/x64/include/openssl/ui.h b/ext/openssl/windows/x64/include/openssl/ui.h index 0dc16330..7c721ec8 100644 --- a/ext/openssl/windows/x64/include/openssl/ui.h +++ b/ext/openssl/windows/x64/include/openssl/ui.h @@ -1,78 +1,35 @@ -/* crypto/ui/ui.h */ /* - * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project - * 2001. - */ -/* ==================================================================== - * Copyright (c) 2001 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). + * 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 -# ifndef OPENSSL_NO_DEPRECATED +# include + +# if OPENSSL_API_COMPAT < 0x10100000L # include # endif # include +# include # include +# include -#ifdef __cplusplus +/* 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 - -/* Declared already in ossl_typ.h */ -/* typedef struct ui_st UI; */ -/* typedef struct ui_method_st UI_METHOD; */ +# endif /* * All the following functions return -1 or NULL on error and in some cases @@ -128,7 +85,7 @@ void UI_free(UI *ui); added, so the result is *not* a string. On success, the all return an index of the added information. That index - is usefull when retrieving results with UI_get0_result(). */ + 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, @@ -207,17 +164,24 @@ char *UI_construct_prompt(UI *ui_method, * 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 parametrised control commands. This can be used to + * 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. */ @@ -240,8 +204,9 @@ int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); /* 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) -int UI_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); + +# 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); @@ -251,9 +216,19 @@ 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 @@ -269,7 +244,7 @@ UI_METHOD *UI_OpenSSL(void); 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 wth all string + 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 @@ -302,7 +277,7 @@ UI_METHOD *UI_OpenSSL(void); * about a string or a prompt, including test data for a verification prompt. */ typedef struct ui_string_st UI_STRING; -DECLARE_STACK_OF(UI_STRING) +DEFINE_STACK_OF(UI_STRING) /* * The different types of strings that are currently supported. This is only @@ -318,7 +293,7 @@ enum UI_string_types { }; /* Create and manipulate methods */ -UI_METHOD *UI_create_method(char *name); +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, @@ -327,20 +302,26 @@ 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_get_opener(UI_METHOD *method)) (UI *); -int (*UI_method_get_writer(UI_METHOD *method)) (UI *, UI_STRING *); -int (*UI_method_get_flusher(UI_METHOD *method)) (UI *); -int (*UI_method_get_reader(UI_METHOD *method)) (UI *, UI_STRING *); -int (*UI_method_get_closer(UI_METHOD *method)) (UI *); -char *(*UI_method_get_prompt_constructor(UI_METHOD *method)) (UI *, - const char *, - const char *); +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 @@ -354,12 +335,13 @@ 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 promtp + * 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. */ @@ -370,46 +352,17 @@ int UI_get_result_minsize(UI_STRING *uis); 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); -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_UI_strings(void); -/* Error codes for the UI functions. */ - -/* Function codes. */ -# define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 -# define UI_F_GENERAL_ALLOCATE_PROMPT 109 -# define UI_F_GENERAL_ALLOCATE_STRING 100 -# 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_VERIFY_STRING 106 -# define UI_F_UI_GET0_RESULT 107 -# define UI_F_UI_NEW_METHOD 104 -# define UI_F_UI_SET_RESULT 105 - -/* 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_RESULT_TOO_LARGE 100 -# define UI_R_RESULT_TOO_SMALL 101 -# define UI_R_UNKNOWN_CONTROL_COMMAND 106 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/ui_compat.h b/ext/openssl/windows/x64/include/openssl/ui_compat.h deleted file mode 100644 index bf541542..00000000 --- a/ext/openssl/windows/x64/include/openssl/ui_compat.h +++ /dev/null @@ -1,88 +0,0 @@ -/* crypto/ui/ui.h */ -/* - * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project - * 2001. - */ -/* ==================================================================== - * Copyright (c) 2001 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_UI_COMPAT_H -# define HEADER_UI_COMPAT_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The following functions were previously part of the DES section, and are - * provided here for backward compatibility reasons. - */ - -# define des_read_pw_string(b,l,p,v) \ - _ossl_old_des_read_pw_string((b),(l),(p),(v)) -# define des_read_pw(b,bf,s,p,v) \ - _ossl_old_des_read_pw((b),(bf),(s),(p),(v)) - -int _ossl_old_des_read_pw_string(char *buf, int length, const char *prompt, - int verify); -int _ossl_old_des_read_pw(char *buf, char *buff, int size, const char *prompt, - int verify); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/openssl/windows/x64/include/openssl/uierr.h b/ext/openssl/windows/x64/include/openssl/uierr.h new file mode 100644 index 00000000..72fd9a9d --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/uierr.h @@ -0,0 +1,61 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_UIERR_H +# define HEADER_UIERR_H + +# 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/ext/openssl/windows/x64/include/openssl/whrlpool.h b/ext/openssl/windows/x64/include/openssl/whrlpool.h index 73c749da..20ea3503 100644 --- a/ext/openssl/windows/x64/include/openssl/whrlpool.h +++ b/ext/openssl/windows/x64/include/openssl/whrlpool.h @@ -1,12 +1,23 @@ +/* + * 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 +# ifdef __cplusplus extern "C" { -#endif +# endif # define WHIRLPOOL_DIGEST_LENGTH (512/8) # define WHIRLPOOL_BBLOCK 512 @@ -23,19 +34,15 @@ typedef struct { size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; } WHIRLPOOL_CTX; -# ifndef OPENSSL_NO_WHIRLPOOL -# ifdef OPENSSL_FIPS -int private_WHIRLPOOL_Init(WHIRLPOOL_CTX *c); -# endif 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 -#ifdef __cplusplus -} -#endif - #endif diff --git a/ext/openssl/windows/x64/include/openssl/x509.h b/ext/openssl/windows/x64/include/openssl/x509.h index 6fa28eba..39ca0ba5 100644 --- a/ext/openssl/windows/x64/include/openssl/x509.h +++ b/ext/openssl/windows/x64/include/openssl/x509.h @@ -1,123 +1,45 @@ -/* crypto/x509/x509.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. +/* + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + * 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 -# ifndef OPENSSL_NO_BUFFER -# include -# endif -# ifndef OPENSSL_NO_EVP -# include -# endif -# ifndef OPENSSL_NO_BIO -# include -# endif -# include +# include +# include +# include # include # include +# include -# ifndef OPENSSL_NO_EC -# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# include +# include # endif -# ifndef OPENSSL_NO_ECDSA -# include -# endif - -# ifndef OPENSSL_NO_ECDH -# include -# endif - -# ifndef OPENSSL_NO_DEPRECATED -# ifndef OPENSSL_NO_RSA -# include -# endif -# ifndef OPENSSL_NO_DSA -# include -# endif -# ifndef OPENSSL_NO_DH -# include -# endif -# endif - -# ifndef OPENSSL_NO_SHA -# include -# endif -# include +# include +# include #ifdef __cplusplus extern "C" { #endif -# ifdef OPENSSL_SYS_WIN32 -/* Under Win32 these are defined in wincrypt.h */ -# undef X509_NAME -# undef X509_CERT_PAIR -# undef X509_EXTENSIONS -# 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 @@ -134,19 +56,11 @@ extern "C" { # define X509v3_KU_DECIPHER_ONLY 0x8000 # define X509v3_KU_UNDEF 0xffff -typedef struct X509_objects_st { - int nid; - int (*a2i) (void); - int (*i2a) (void); -} X509_OBJECTS; - struct X509_algor_st { ASN1_OBJECT *algorithm; ASN1_TYPE *parameter; } /* X509_ALGOR */ ; -DECLARE_ASN1_SET_OF(X509_ALGOR) - typedef STACK_OF(X509_ALGOR) X509_ALGORS; typedef struct X509_val_st { @@ -154,152 +68,35 @@ typedef struct X509_val_st { ASN1_TIME *notAfter; } X509_VAL; -struct X509_pubkey_st { - X509_ALGOR *algor; - ASN1_BIT_STRING *public_key; - EVP_PKEY *pkey; -}; +typedef struct X509_sig_st X509_SIG; -typedef struct X509_sig_st { - X509_ALGOR *algor; - ASN1_OCTET_STRING *digest; -} X509_SIG; +typedef struct X509_name_entry_st X509_NAME_ENTRY; -typedef struct X509_name_entry_st { - ASN1_OBJECT *object; - ASN1_STRING *value; - int set; - int size; /* temp variable */ -} X509_NAME_ENTRY; +DEFINE_STACK_OF(X509_NAME_ENTRY) -DECLARE_STACK_OF(X509_NAME_ENTRY) -DECLARE_ASN1_SET_OF(X509_NAME_ENTRY) - -/* we always keep X509_NAMEs in 2 forms. */ -struct X509_name_st { - STACK_OF(X509_NAME_ENTRY) *entries; - int modified; /* true if 'bytes' needs to be built */ -# ifndef OPENSSL_NO_BUFFER - BUF_MEM *bytes; -# else - char *bytes; -# endif -/* unsigned long hash; Keep the hash around for lookups */ - unsigned char *canon_enc; - int canon_enclen; -} /* X509_NAME */ ; - -DECLARE_STACK_OF(X509_NAME) +DEFINE_STACK_OF(X509_NAME) # define X509_EX_V_NETSCAPE_HACK 0x8000 # define X509_EX_V_INIT 0x0001 -typedef struct X509_extension_st { - ASN1_OBJECT *object; - ASN1_BOOLEAN critical; - ASN1_OCTET_STRING *value; -} X509_EXTENSION; +typedef struct X509_extension_st X509_EXTENSION; typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; -DECLARE_STACK_OF(X509_EXTENSION) -DECLARE_ASN1_SET_OF(X509_EXTENSION) +DEFINE_STACK_OF(X509_EXTENSION) -/* a sequence of these are used */ -typedef struct x509_attributes_st { - ASN1_OBJECT *object; - int single; /* 0 for a set, 1 for a single item (which is - * wrong) */ - union { - char *ptr; - /* - * 0 - */ STACK_OF(ASN1_TYPE) *set; - /* - * 1 - */ ASN1_TYPE *single; - } value; -} X509_ATTRIBUTE; +typedef struct x509_attributes_st X509_ATTRIBUTE; -DECLARE_STACK_OF(X509_ATTRIBUTE) -DECLARE_ASN1_SET_OF(X509_ATTRIBUTE) +DEFINE_STACK_OF(X509_ATTRIBUTE) -typedef struct X509_req_info_st { - ASN1_ENCODING enc; - ASN1_INTEGER *version; - X509_NAME *subject; - X509_PUBKEY *pubkey; - /* d=2 hl=2 l= 0 cons: cont: 00 */ - STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ -} X509_REQ_INFO; +typedef struct X509_req_info_st X509_REQ_INFO; -typedef struct X509_req_st { - X509_REQ_INFO *req_info; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int references; -} X509_REQ; +typedef struct X509_req_st X509_REQ; -typedef struct x509_cinf_st { - ASN1_INTEGER *version; /* [ 0 ] default of v1 */ - ASN1_INTEGER *serialNumber; - X509_ALGOR *signature; - X509_NAME *issuer; - X509_VAL *validity; - X509_NAME *subject; - X509_PUBKEY *key; - ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ - ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ - STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */ - ASN1_ENCODING enc; -} X509_CINF; +typedef struct x509_cert_aux_st X509_CERT_AUX; -/* - * This stuff is certificate "auxiliary info" it contains details which are - * useful in certificate stores and databases. When used this is tagged onto - * the end of the certificate itself - */ +typedef struct x509_cinf_st X509_CINF; -typedef struct x509_cert_aux_st { - STACK_OF(ASN1_OBJECT) *trust; /* trusted uses */ - STACK_OF(ASN1_OBJECT) *reject; /* rejected uses */ - ASN1_UTF8STRING *alias; /* "friendly name" */ - ASN1_OCTET_STRING *keyid; /* key id of private key */ - STACK_OF(X509_ALGOR) *other; /* other unspecified info */ -} X509_CERT_AUX; - -struct x509_st { - X509_CINF *cert_info; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int valid; - int references; - char *name; - CRYPTO_EX_DATA ex_data; - /* These contain copies of various extension values */ - long ex_pathlen; - long ex_pcpathlen; - unsigned long ex_flags; - unsigned long ex_kusage; - unsigned long ex_xkusage; - unsigned long ex_nscert; - ASN1_OCTET_STRING *skid; - AUTHORITY_KEYID *akid; - X509_POLICY_CACHE *policy_cache; - STACK_OF(DIST_POINT) *crldp; - STACK_OF(GENERAL_NAME) *altname; - NAME_CONSTRAINTS *nc; -# ifndef OPENSSL_NO_RFC3779 - STACK_OF(IPAddressFamily) *rfc3779_addr; - struct ASIdentifiers_st *rfc3779_asid; -# endif -# ifndef OPENSSL_NO_SHA - unsigned char sha1_hash[SHA_DIGEST_LENGTH]; -# endif - X509_CERT_AUX *aux; -} /* X509 */ ; - -DECLARE_STACK_OF(X509) -DECLARE_ASN1_SET_OF(X509) +DEFINE_STACK_OF(X509) /* This is used for a table of trust checking functions */ @@ -312,16 +109,11 @@ typedef struct x509_trust_st { void *arg2; } X509_TRUST; -DECLARE_STACK_OF(X509_TRUST) - -typedef struct x509_cert_pair_st { - X509 *forward; - X509 *reverse; -} X509_CERT_PAIR; +DEFINE_STACK_OF(X509_TRUST) /* standard trust ids */ -# define X509_TRUST_DEFAULT -1/* Only valid in purpose settings */ +# define X509_TRUST_DEFAULT 0 /* Only valid in purpose settings */ # define X509_TRUST_COMPAT 1 # define X509_TRUST_SSL_CLIENT 2 @@ -337,8 +129,14 @@ typedef struct x509_cert_pair_st { # define X509_TRUST_MAX 8 /* trust_flags values */ -# define X509_TRUST_DYNAMIC 1 -# define X509_TRUST_DYNAMIC_NAME 2 +# 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 */ @@ -369,8 +167,7 @@ typedef struct x509_cert_pair_st { # define XN_FLAG_SEP_MASK (0xf << 16) -# define XN_FLAG_COMPAT 0/* Traditional SSLeay: use old - * X509_NAME_print */ +# 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 */ @@ -424,57 +221,11 @@ typedef struct x509_cert_pair_st { XN_FLAG_FN_LN | \ XN_FLAG_FN_ALIGN) -struct x509_revoked_st { - ASN1_INTEGER *serialNumber; - ASN1_TIME *revocationDate; - STACK_OF(X509_EXTENSION) /* optional */ *extensions; - /* Set up if indirect CRL */ - STACK_OF(GENERAL_NAME) *issuer; - /* Revocation reason */ - int reason; - int sequence; /* load sequence */ -}; +DEFINE_STACK_OF(X509_REVOKED) -DECLARE_STACK_OF(X509_REVOKED) -DECLARE_ASN1_SET_OF(X509_REVOKED) +typedef struct X509_crl_info_st X509_CRL_INFO; -typedef struct X509_crl_info_st { - ASN1_INTEGER *version; - X509_ALGOR *sig_alg; - X509_NAME *issuer; - ASN1_TIME *lastUpdate; - ASN1_TIME *nextUpdate; - STACK_OF(X509_REVOKED) *revoked; - STACK_OF(X509_EXTENSION) /* [0] */ *extensions; - ASN1_ENCODING enc; -} X509_CRL_INFO; - -struct X509_crl_st { - /* actual signature */ - X509_CRL_INFO *crl; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int references; - int flags; - /* Copies of various extensions */ - AUTHORITY_KEYID *akid; - ISSUING_DIST_POINT *idp; - /* Convenient breakdown of IDP */ - int idp_flags; - int idp_reasons; - /* CRL and base CRL numbers for delta processing */ - ASN1_INTEGER *crl_number; - ASN1_INTEGER *base_crl_number; -# ifndef OPENSSL_NO_SHA - unsigned char sha1_hash[SHA_DIGEST_LENGTH]; -# endif - STACK_OF(GENERAL_NAMES) *issuers; - const X509_CRL_METHOD *meth; - void *meth_data; -} /* X509_CRL */ ; - -DECLARE_STACK_OF(X509_CRL) -DECLARE_ASN1_SET_OF(X509_CRL) +DEFINE_STACK_OF(X509_CRL) typedef struct private_key_st { int version; @@ -489,10 +240,8 @@ typedef struct private_key_st { int key_free; /* true if we should auto free key_data */ /* expanded version of 'enc_algor' */ EVP_CIPHER_INFO cipher; - int references; } X509_PKEY; -# ifndef OPENSSL_NO_EVP typedef struct X509_info_st { X509 *x509; X509_CRL *crl; @@ -500,16 +249,13 @@ typedef struct X509_info_st { EVP_CIPHER_INFO enc_cipher; int enc_len; char *enc_data; - int references; } X509_INFO; -DECLARE_STACK_OF(X509_INFO) -# endif +DEFINE_STACK_OF(X509_INFO) /* - * The next 2 structures and their 8 routines were sent to me by Pat Richard - * and are used to manipulate Netscapes spki structures - - * useful if you are writing a CA web page + * 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; @@ -518,7 +264,7 @@ typedef struct Netscape_spkac_st { typedef struct Netscape_spki_st { NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ - X509_ALGOR *sig_algor; + X509_ALGOR sig_algor; ASN1_BIT_STRING *signature; } NETSCAPE_SPKI; @@ -557,22 +303,15 @@ typedef struct PBKDF2PARAM_st { X509_ALGOR *prf; } PBKDF2PARAM; -/* PKCS#8 private key info structure */ - -struct pkcs8_priv_key_info_st { - /* Flag for various broken formats */ - int broken; -# define PKCS8_OK 0 -# define PKCS8_NO_OCTET 1 -# define PKCS8_EMBEDDED_PARAM 2 -# define PKCS8_NS_DB 3 -# define PKCS8_NEG_PRIVKEY 4 - ASN1_INTEGER *version; - X509_ALGOR *pkeyalg; - /* Should be OCTET STRING but some are broken */ - ASN1_TYPE *pkey; - STACK_OF(X509_ATTRIBUTE) *attributes; -}; +#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 } @@ -588,22 +327,9 @@ extern "C" { # define X509_EXT_PACK_UNKNOWN 1 # define X509_EXT_PACK_STRING 2 -# define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version) -/* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */ -# define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore) -# define X509_get_notAfter(x) ((x)->cert_info->validity->notAfter) # define X509_extract_key(x) X509_get_pubkey(x)/*****/ -# define X509_REQ_get_version(x) ASN1_INTEGER_get((x)->req_info->version) -# define X509_REQ_get_subject_name(x) ((x)->req_info->subject) # define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) # define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) -# define X509_get_signature_type(x) EVP_PKEY_type(OBJ_obj2nid((x)->sig_alg->algorithm)) - -# define X509_CRL_get_version(x) ASN1_INTEGER_get((x)->crl->version) -# define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate) -# define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate) -# define X509_CRL_get_issuer(x) ((x)->crl->issuer) -# define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), @@ -619,15 +345,8 @@ 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); -/* - * This one is only used so that a binary form can output, as in - * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) - */ -# define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) - const char *X509_verify_cert_error_string(long n); -# ifndef OPENSSL_NO_EVP int X509_verify(X509 *a, EVP_PKEY *r); int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); @@ -642,16 +361,21 @@ 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, X509_ALGOR *alg, ASN1_STRING *sig); +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, @@ -664,9 +388,8 @@ 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); -# endif -# ifndef OPENSSL_NO_FP_API +# 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); @@ -705,7 +428,6 @@ int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); # endif -# ifndef OPENSSL_NO_BIO 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); @@ -742,7 +464,6 @@ 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); -# endif X509 *X509_dup(X509 *x509); X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); @@ -753,8 +474,8 @@ 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(ASN1_OBJECT **paobj, int *pptype, void **ppval, - X509_ALGOR *algor); +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); @@ -785,8 +506,10 @@ 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 @@ -803,6 +526,11 @@ 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) @@ -823,10 +551,8 @@ DECLARE_ASN1_FUNCTIONS(X509_CINF) DECLARE_ASN1_FUNCTIONS(X509) DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) -DECLARE_ASN1_FUNCTIONS(X509_CERT_PAIR) - -int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +#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); @@ -834,22 +560,34 @@ X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); int i2d_re_X509_tbs(X509 *x, unsigned char **pp); -void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg, - const X509 *x); +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_alias_set1(X509 *x, unsigned char *name, int len); -int X509_keyid_set1(X509 *x, unsigned char *id, int len); +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, ASN1_OBJECT *obj); -int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj); +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) @@ -861,18 +599,14 @@ 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); -int i2d_X509_PKEY(X509_PKEY *a, unsigned char **pp); -X509_PKEY *d2i_X509_PKEY(X509_PKEY **a, const unsigned char **pp, - long length); DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) -# ifndef OPENSSL_NO_EVP X509_INFO *X509_INFO_new(void); void X509_INFO_free(X509_INFO *a); -char *X509_NAME_oneline(X509_NAME *a, char *buf, int size); +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); @@ -896,26 +630,61 @@ int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, 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); -# endif +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(X509 *a); +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(X509 *a); -int X509_set_notBefore(X509 *x, const ASN1_TIME *tm); -int X509_set_notAfter(X509 *x, const ASN1_TIME *tm); +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(X509 *x, EVP_PKEY *pubkey /* optional */ ); +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); @@ -925,7 +694,7 @@ int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts, 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, ASN1_OBJECT *obj, +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); @@ -942,19 +711,42 @@ int X509_REQ_add1_attr_by_txt(X509_REQ *req, 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_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); -int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); +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(X509 *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); @@ -982,78 +774,82 @@ 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); -# ifndef OPENSSL_NO_FP_API +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, X509_NAME *nm, int indent, +int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, unsigned long flags); # endif -# ifndef OPENSSL_NO_BIO -int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); -int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, +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_CERT_AUX_print(BIO *bp, X509_CERT_AUX *x, int indent); +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); -# endif -int X509_NAME_entry_count(X509_NAME *name); +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, ASN1_OBJECT *obj, +int X509_NAME_get_text_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, char *buf, int len); /* - * NOTE: you should be passsing -1, not 0 as lastpos. The functions that use + * 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, ASN1_OBJECT *obj, +int X509_NAME_get_index_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int lastpos); -X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc); +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, X509_NAME_ENTRY *ne, +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, ASN1_OBJECT *obj, int type, - unsigned char *bytes, int len, int loc, +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, - unsigned char *bytes, int len, int loc, + 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, unsigned char *bytes, + 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, - ASN1_OBJECT *obj, int type, + const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len); -int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, ASN1_OBJECT *obj); +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(X509_NAME_ENTRY *ne); -ASN1_STRING *X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne); +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, - ASN1_OBJECT *obj, int lastpos); + 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); @@ -1061,37 +857,40 @@ 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(X509 *x); -int X509_get_ext_by_NID(X509 *x, int nid, int lastpos); -int X509_get_ext_by_OBJ(X509 *x, ASN1_OBJECT *obj, int lastpos); -int X509_get_ext_by_critical(X509 *x, int crit, int lastpos); -X509_EXTENSION *X509_get_ext(X509 *x, 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(X509 *x, int nid, int *crit, int *idx); +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(X509_CRL *x); -int X509_CRL_get_ext_by_NID(X509_CRL *x, int nid, int lastpos); -int X509_CRL_get_ext_by_OBJ(X509_CRL *x, ASN1_OBJECT *obj, int lastpos); -int X509_CRL_get_ext_by_critical(X509_CRL *x, int crit, int lastpos); -X509_EXTENSION *X509_CRL_get_ext(X509_CRL *x, int loc); +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(X509_CRL *x, int nid, int *crit, int *idx); +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(X509_REVOKED *x); -int X509_REVOKED_get_ext_by_NID(X509_REVOKED *x, int nid, int lastpos); -int X509_REVOKED_get_ext_by_OBJ(X509_REVOKED *x, ASN1_OBJECT *obj, +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(X509_REVOKED *x, int crit, int lastpos); -X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED *x, int loc); +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(X509_REVOKED *x, int nid, int *crit, int *idx); +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); @@ -1099,20 +898,20 @@ 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, - ASN1_OBJECT *obj, int crit, + const ASN1_OBJECT *obj, int crit, ASN1_OCTET_STRING *data); -int X509_EXTENSION_set_object(X509_EXTENSION *ex, ASN1_OBJECT *obj); +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(X509_EXTENSION *ex); +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, - ASN1_OBJECT *obj, int lastpos); + 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, @@ -1131,8 +930,8 @@ STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) int type, const unsigned char *bytes, int len); -void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, ASN1_OBJECT *obj, - int lastpos, int type); +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); @@ -1149,13 +948,13 @@ 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(X509_ATTRIBUTE *attr); +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, ASN1_OBJECT *obj, +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); @@ -1180,6 +979,9 @@ 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); @@ -1192,6 +994,13 @@ 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); @@ -1199,17 +1008,20 @@ X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) -EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); +EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8); PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); -PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); 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(ASN1_OBJECT **ppkalg, +int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk, int *ppklen, - X509_ALGOR **pa, PKCS8_PRIV_KEY_INFO *p8); + 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, @@ -1223,106 +1035,11 @@ 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), - char *name, int arg1, void *arg2); + const char *name, int arg1, void *arg2); void X509_TRUST_cleanup(void); -int X509_TRUST_get_flags(X509_TRUST *xp); -char *X509_TRUST_get0_name(X509_TRUST *xp); -int X509_TRUST_get_trust(X509_TRUST *xp); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -void ERR_load_X509_strings(void); - -/* Error codes for the X509 functions. */ - -/* Function codes. */ -# define X509_F_ADD_CERT_DIR 100 -# define X509_F_BY_FILE_CTRL 101 -# define X509_F_CHECK_NAME_CONSTRAINTS 106 -# define X509_F_CHECK_POLICY 145 -# define X509_F_DIR_CTRL 102 -# define X509_F_GET_CERT_BY_SUBJECT 103 -# define X509_F_NETSCAPE_SPKI_B64_DECODE 129 -# define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 -# 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_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_NAME_ADD_ENTRY 113 -# 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_PRINT_EX_FP 118 -# define X509_F_X509_PUBKEY_GET 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_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_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 - -/* Reason codes. */ -# define X509_R_AKID_MISMATCH 110 -# 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_ERR_ASN1_LIB 102 -# define X509_R_IDP_MISMATCH 128 -# 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_CERT_SET_FOR_US_TO_VERIFY 105 -# 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 +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 } diff --git a/ext/openssl/windows/x64/include/openssl/x509_vfy.h b/ext/openssl/windows/x64/include/openssl/x509_vfy.h index 50626826..adb8bce7 100644 --- a/ext/openssl/windows/x64/include/openssl/x509_vfy.h +++ b/ext/openssl/windows/x64/include/openssl/x509_vfy.h @@ -1,76 +1,24 @@ -/* crypto/x509/x509_vfy.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * 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 copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_X509_H -# include /* - * openssl/x509.h ends up #include-ing this file at about the only - * appropriate moment. + * 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 */ -#endif #ifndef HEADER_X509_VFY_H # define HEADER_X509_VFY_H -# include -# ifndef OPENSSL_NO_LHASH -# include +/* + * Protect against recursion, x509.h and x509_vfy.h each include the other. + */ +# ifndef HEADER_X509_H +# include # endif + +# include +# include # include # include # include @@ -79,24 +27,6 @@ extern "C" { #endif -# if 0 -/* Outer object */ -typedef struct x509_hash_dir_st { - int num_dirs; - char **dirs; - int *dirs_type; - int num_dirs_alloced; -} X509_HASH_DIR_CTX; -# endif - -typedef struct x509_file_st { - int num_paths; /* number of paths to files or directories */ - int num_alloced; - char **paths; /* the list of paths or directories */ - int *path_type; -} X509_CERT_FILE_CTX; - -/*******************************/ /*- SSL_CTX -> X509_STORE -> X509_LOOKUP @@ -114,187 +44,41 @@ The X509_STORE then calls a function to actually verify the certificate chain. */ -# define X509_LU_RETRY -1 -# define X509_LU_FAIL 0 -# define X509_LU_X509 1 -# define X509_LU_CRL 2 -# define X509_LU_PKEY 3 +typedef enum { + X509_LU_NONE = 0, + X509_LU_X509, X509_LU_CRL +} X509_LOOKUP_TYPE; -typedef struct x509_object_st { - /* one of the above types */ - int type; - union { - char *ptr; - X509 *x509; - X509_CRL *crl; - EVP_PKEY *pkey; - } data; -} X509_OBJECT; +#if OPENSSL_API_COMPAT < 0x10100000L +#define X509_LU_RETRY -1 +#define X509_LU_FAIL 0 +#endif -typedef struct x509_lookup_st X509_LOOKUP; - -DECLARE_STACK_OF(X509_LOOKUP) -DECLARE_STACK_OF(X509_OBJECT) - -/* This is a static that defines the function interface */ -typedef struct x509_lookup_method_st { - const char *name; - int (*new_item) (X509_LOOKUP *ctx); - void (*free) (X509_LOOKUP *ctx); - int (*init) (X509_LOOKUP *ctx); - int (*shutdown) (X509_LOOKUP *ctx); - int (*ctrl) (X509_LOOKUP *ctx, int cmd, const char *argc, long argl, - char **ret); - int (*get_by_subject) (X509_LOOKUP *ctx, int type, X509_NAME *name, - X509_OBJECT *ret); - int (*get_by_issuer_serial) (X509_LOOKUP *ctx, int type, X509_NAME *name, - ASN1_INTEGER *serial, X509_OBJECT *ret); - int (*get_by_fingerprint) (X509_LOOKUP *ctx, int type, - unsigned char *bytes, int len, - X509_OBJECT *ret); - int (*get_by_alias) (X509_LOOKUP *ctx, int type, char *str, int len, - X509_OBJECT *ret); -} X509_LOOKUP_METHOD; - -typedef struct X509_VERIFY_PARAM_ID_st X509_VERIFY_PARAM_ID; - -/* - * This structure hold all parameters associated with a verify operation by - * including an X509_VERIFY_PARAM structure in related structures the - * parameters used can be customized - */ - -typedef struct X509_VERIFY_PARAM_st { - char *name; - time_t check_time; /* Time to use */ - unsigned long inh_flags; /* Inheritance flags */ - unsigned long flags; /* Various verify flags */ - int purpose; /* purpose to check untrusted certificates */ - int trust; /* trust setting to check */ - int depth; /* Verify depth */ - STACK_OF(ASN1_OBJECT) *policies; /* Permissible policies */ - X509_VERIFY_PARAM_ID *id; /* opaque ID data */ -} X509_VERIFY_PARAM; - -DECLARE_STACK_OF(X509_VERIFY_PARAM) - -/* - * This is used to hold everything. It is used for all certificate - * validation. Once we have a certificate chain, the 'verify' function is - * then called to actually check the cert chain. - */ -struct x509_store_st { - /* The following is a cache of trusted certs */ - int cache; /* if true, stash any hits */ - STACK_OF(X509_OBJECT) *objs; /* Cache of all objects */ - /* These are external lookup methods */ - STACK_OF(X509_LOOKUP) *get_cert_methods; - X509_VERIFY_PARAM *param; - /* Callbacks for various operations */ - /* called to verify a certificate */ - int (*verify) (X509_STORE_CTX *ctx); - /* error callback */ - int (*verify_cb) (int ok, X509_STORE_CTX *ctx); - /* get issuers cert from ctx */ - int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); - /* check issued */ - int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); - /* Check revocation status of chain */ - int (*check_revocation) (X509_STORE_CTX *ctx); - /* retrieve CRL */ - int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); - /* Check CRL validity */ - int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); - /* Check certificate against CRL */ - int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); - STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); - STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); - int (*cleanup) (X509_STORE_CTX *ctx); - CRYPTO_EX_DATA ex_data; - int references; -} /* X509_STORE */ ; +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); -# define X509_STORE_set_verify_cb_func(ctx,func) ((ctx)->verify_cb=(func)) -# define X509_STORE_set_verify_func(ctx,func) ((ctx)->verify=(func)) +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); -/* This is the functions plus an instance of the local variables. */ -struct x509_lookup_st { - int init; /* have we been started */ - int skip; /* don't use us. */ - X509_LOOKUP_METHOD *method; /* the functions */ - char *method_data; /* method data */ - X509_STORE *store_ctx; /* who owns us */ -} /* X509_LOOKUP */ ; - -/* - * This is a used when verifying cert chains. Since the gathering of the - * cert chain can take some time (and have to be 'retried', this needs to be - * kept and passed around. - */ -struct x509_store_ctx_st { /* X509_STORE_CTX */ - X509_STORE *ctx; - /* used when looking up certs */ - int current_method; - /* The following are set by the caller */ - /* The cert to check */ - X509 *cert; - /* chain of X509s - untrusted - passed in */ - STACK_OF(X509) *untrusted; - /* set of CRLs passed in */ - STACK_OF(X509_CRL) *crls; - X509_VERIFY_PARAM *param; - /* Other info for use with get_issuer() */ - void *other_ctx; - /* Callbacks for various operations */ - /* called to verify a certificate */ - int (*verify) (X509_STORE_CTX *ctx); - /* error callback */ - int (*verify_cb) (int ok, X509_STORE_CTX *ctx); - /* get issuers cert from ctx */ - int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); - /* check issued */ - int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); - /* Check revocation status of chain */ - int (*check_revocation) (X509_STORE_CTX *ctx); - /* retrieve CRL */ - int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); - /* Check CRL validity */ - int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); - /* Check certificate against CRL */ - int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); - int (*check_policy) (X509_STORE_CTX *ctx); - STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); - STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); - int (*cleanup) (X509_STORE_CTX *ctx); - /* The following is built up */ - /* if 0, rebuild chain */ - int valid; - /* index of last untrusted cert */ - int last_untrusted; - /* chain of X509s - built up and trusted */ - STACK_OF(X509) *chain; - /* Valid policy tree */ - X509_POLICY_TREE *tree; - /* Require explicit policy value */ - int explicit_policy; - /* When something goes wrong, this is why */ - int error_depth; - int error; - X509 *current_cert; - /* cert currently being tested as valid issuer */ - X509 *current_issuer; - /* current CRL */ - X509_CRL *current_crl; - /* score of current CRL */ - int current_crl_score; - /* Reason mask */ - unsigned int current_reasons; - /* For CRL path validation: parent context */ - X509_STORE_CTX *parent; - CRYPTO_EX_DATA ex_data; -} /* X509_STORE_CTX */ ; void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); @@ -314,7 +98,6 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # 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 @@ -347,7 +130,6 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # 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 @@ -356,24 +138,23 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # 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 @@ -381,23 +162,34 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # 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 65 +# define X509_V_ERR_INVALID_CALL 69 /* Issuer lookup error */ -# define X509_V_ERR_STORE_LOOKUP 66 +# 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 67 +# 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 */ -/* Send issuer+subject checks to verify_cb */ -# define X509_V_FLAG_CB_ISSUER_CHECK 0x1 +# 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 */ @@ -424,7 +216,7 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 /* Delta CRL support */ # define X509_V_FLAG_USE_DELTAS 0x2000 -/* Check selfsigned CA signature */ +/* Check self-signed CA signature */ # define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 /* Use trusted store first */ # define X509_V_FLAG_TRUSTED_FIRST 0x8000 @@ -434,15 +226,16 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # 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.0.2b. Setting this flag + * 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 @@ -456,31 +249,84 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); | X509_V_FLAG_INHIBIT_ANY \ | X509_V_FLAG_INHIBIT_MAP) -int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, int type, +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, - int type, X509_NAME *name); + X509_LOOKUP_TYPE type, + X509_NAME *name); X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x); -void X509_OBJECT_up_ref_count(X509_OBJECT *a); -void X509_OBJECT_free_contents(X509_OBJECT *a); +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_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); -STACK_OF(X509_CRL) *X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); +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, - int (*verify_cb) (int, 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); -void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, - STACK_OF(X509_CRL) *(*cb) (X509_STORE_CTX - *ctx, - X509_NAME *nm)); +#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); @@ -489,68 +335,170 @@ 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_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +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_get_by_subject(X509_STORE_CTX *vs, int type, X509_NAME *name, - X509_OBJECT *ret); +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); -# ifndef OPENSSL_NO_STDIO 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); -# endif 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, int type, X509_NAME *name, - X509_OBJECT *ret); -int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, int type, X509_NAME *name, - ASN1_INTEGER *serial, X509_OBJECT *ret); -int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, int type, - unsigned char *bytes, int len, +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, int type, char *str, 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); -# ifndef OPENSSL_NO_STDIO int X509_STORE_load_locations(X509_STORE *ctx, const char *file, const char *dir); int X509_STORE_set_default_paths(X509_STORE *ctx); -# endif -int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, - CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); +#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_get_chain(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_set_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk); +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); @@ -559,16 +507,22 @@ int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, 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); -void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, - int (*verify_cb) (int, X509_STORE_CTX *)); 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); @@ -586,19 +540,27 @@ 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, @@ -607,6 +569,7 @@ 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); @@ -615,6 +578,19 @@ 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); diff --git a/ext/openssl/windows/x64/include/openssl/x509err.h b/ext/openssl/windows/x64/include/openssl/x509err.h new file mode 100644 index 00000000..b1d6a870 --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/x509err.h @@ -0,0 +1,125 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_X509ERR_H +# define HEADER_X509ERR_H + +# 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_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/ext/openssl/windows/x64/include/openssl/x509v3.h b/ext/openssl/windows/x64/include/openssl/x509v3.h index f5c61560..9ea20275 100644 --- a/ext/openssl/windows/x64/include/openssl/x509v3.h +++ b/ext/openssl/windows/x64/include/openssl/x509v3.h @@ -1,79 +1,24 @@ -/* x509v3.h */ /* - * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project - * 1999. - */ -/* ==================================================================== - * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * + * 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 -# ifdef OPENSSL_SYS_WIN32 -/* Under Win32 these are defined in wincrypt.h */ -# undef X509_NAME -# undef X509_CERT_PAIR -# undef X509_EXTENSIONS -# endif - /* Forward reference */ struct v3_ext_method; struct v3_ext_ctx; @@ -124,8 +69,8 @@ struct v3_ext_method { }; typedef struct X509V3_CONF_METHOD_st { - char *(*get_string) (void *db, char *section, char *value); - STACK_OF(CONF_VALUE) *(*get_section) (void *db, char *section); + 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; @@ -133,6 +78,7 @@ typedef struct X509V3_CONF_METHOD_st { /* Context specific info */ struct v3_ext_ctx { # define CTX_TEST 0x1 +# define X509V3_CTX_REPLACE 0x2 int flags; X509 *issuer_cert; X509 *subject_cert; @@ -145,7 +91,7 @@ struct v3_ext_ctx { typedef struct v3_ext_method X509V3_EXT_METHOD; -DECLARE_STACK_OF(X509V3_EXT_METHOD) +DEFINE_STACK_OF(X509V3_EXT_METHOD) /* ext_flags values */ # define X509V3_EXT_DYNAMIC 0x1 @@ -206,8 +152,6 @@ typedef struct GENERAL_NAME_st { } d; } GENERAL_NAME; -typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; - typedef struct ACCESS_DESCRIPTION_st { ASN1_OBJECT *method; GENERAL_NAME *location; @@ -217,11 +161,13 @@ typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; -DECLARE_STACK_OF(GENERAL_NAME) -DECLARE_ASN1_SET_OF(GENERAL_NAME) +typedef STACK_OF(ASN1_INTEGER) TLS_FEATURE; -DECLARE_STACK_OF(ACCESS_DESCRIPTION) -DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) +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; @@ -256,8 +202,7 @@ struct DIST_POINT_st { typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; -DECLARE_STACK_OF(DIST_POINT) -DECLARE_ASN1_SET_OF(DIST_POINT) +DEFINE_STACK_OF(DIST_POINT) struct AUTHORITY_KEYID_st { ASN1_OCTET_STRING *keyid; @@ -272,8 +217,7 @@ typedef struct SXNET_ID_st { ASN1_OCTET_STRING *user; } SXNETID; -DECLARE_STACK_OF(SXNETID) -DECLARE_ASN1_SET_OF(SXNETID) +DEFINE_STACK_OF(SXNETID) typedef struct SXNET_st { ASN1_INTEGER *version; @@ -299,8 +243,7 @@ typedef struct POLICYQUALINFO_st { } d; } POLICYQUALINFO; -DECLARE_STACK_OF(POLICYQUALINFO) -DECLARE_ASN1_SET_OF(POLICYQUALINFO) +DEFINE_STACK_OF(POLICYQUALINFO) typedef struct POLICYINFO_st { ASN1_OBJECT *policyid; @@ -309,15 +252,14 @@ typedef struct POLICYINFO_st { typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; -DECLARE_STACK_OF(POLICYINFO) -DECLARE_ASN1_SET_OF(POLICYINFO) +DEFINE_STACK_OF(POLICYINFO) typedef struct POLICY_MAPPING_st { ASN1_OBJECT *issuerDomainPolicy; ASN1_OBJECT *subjectDomainPolicy; } POLICY_MAPPING; -DECLARE_STACK_OF(POLICY_MAPPING) +DEFINE_STACK_OF(POLICY_MAPPING) typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; @@ -327,7 +269,7 @@ typedef struct GENERAL_SUBTREE_st { ASN1_INTEGER *maximum; } GENERAL_SUBTREE; -DECLARE_STACK_OF(GENERAL_SUBTREE) +DEFINE_STACK_OF(GENERAL_SUBTREE) struct NAME_CONSTRAINTS_st { STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; @@ -378,8 +320,9 @@ struct ISSUING_DIST_POINT_st { /* 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_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) @@ -414,6 +357,7 @@ struct ISSUING_DIST_POINT_st { # 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 @@ -501,20 +445,20 @@ typedef struct x509_purpose_st { # define X509V3_ADD_DELETE 5L # define X509V3_ADD_SILENT 0x10 -DECLARE_STACK_OF(X509_PURPOSE) +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, char *zone, char *user, int userlen); -int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, +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, char *user, +int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, const char *user, int userlen); -ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone); +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); @@ -532,6 +476,9 @@ ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, 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, @@ -550,19 +497,21 @@ 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(GENERAL_NAME *a, int *ptype); +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(GENERAL_NAME *gen, +int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen, ASN1_OBJECT **poid, ASN1_TYPE **pvalue); char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, - ASN1_OCTET_STRING *ia5); + const ASN1_OCTET_STRING *ia5); ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, char *str); + X509V3_CTX *ctx, const char *str); DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) -int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION *a); +int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a); + +DECLARE_ASN1_ALLOC_FUNCTIONS(TLS_FEATURE) DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) DECLARE_ASN1_FUNCTIONS(POLICYINFO) @@ -578,6 +527,7 @@ 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) @@ -597,8 +547,8 @@ DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, const X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, int gen_type, char *value, - int is_nc); + 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, @@ -610,40 +560,40 @@ GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, void X509V3_conf_free(CONF_VALUE *val); X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, - char *value); -X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, - char *value); -int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, char *section, + 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, char *section, +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, char *section, +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, char *section, +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, - char *value); + const char *value); X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *name, char *value); + const char *name, const char *value); int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509 *cert); + const char *section, X509 *cert); int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509_REQ *req); + const char *section, X509_REQ *req); int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509_CRL *crl); + const char *section, X509_CRL *crl); -int X509V3_add_value_bool_nf(char *name, int asn1_bool, +int X509V3_add_value_bool_nf(const char *name, int asn1_bool, STACK_OF(CONF_VALUE) **extlist); -int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool); -int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint); +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, char *name, char *section); -STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, char *section); +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, @@ -655,13 +605,13 @@ 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, ASN1_INTEGER *aint, +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, ASN1_INTEGER *aint); -ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, char *value); -char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint); +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, - ASN1_ENUMERATED *aint); + 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); @@ -672,26 +622,28 @@ 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(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, +void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx); -int X509V3_EXT_free(int nid, void *ext_data); 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); -char *hex_to_string(const unsigned char *buffer, long len); -unsigned char *string_to_hex(const char *str, long *len); -int name_cmp(const char *name, const char *cmp); +#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); - -int X509V3_extensions_print(BIO *out, char *title, - STACK_OF(X509_EXTENSION) *exts, +#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); @@ -700,18 +652,28 @@ 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); + int X509_PURPOSE_get_count(void); X509_PURPOSE *X509_PURPOSE_get0(int idx); -int X509_PURPOSE_get_by_sname(char *sname); +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), - char *name, char *sname, void *arg); -char *X509_PURPOSE_get0_name(X509_PURPOSE *xp); -char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp); -int X509_PURPOSE_get_trust(X509_PURPOSE *xp); + 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(X509_PURPOSE *); +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); @@ -731,6 +693,8 @@ STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x); # 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 @@ -748,21 +712,19 @@ 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 a2i_ipadd(unsigned char *ipout, 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); -DECLARE_STACK_OF(X509_POLICY_NODE) - -# ifndef OPENSSL_NO_RFC3779 +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 +# define ASIdOrRange_id 0 +# define ASIdOrRange_range 1 typedef struct ASIdOrRange_st { int type; @@ -773,10 +735,10 @@ typedef struct ASIdOrRange_st { } ASIdOrRange; typedef STACK_OF(ASIdOrRange) ASIdOrRanges; -DECLARE_STACK_OF(ASIdOrRange) +DEFINE_STACK_OF(ASIdOrRange) -# define ASIdentifierChoice_inherit 0 -# define ASIdentifierChoice_asIdsOrRanges 1 +# define ASIdentifierChoice_inherit 0 +# define ASIdentifierChoice_asIdsOrRanges 1 typedef struct ASIdentifierChoice_st { int type; @@ -799,8 +761,8 @@ typedef struct IPAddressRange_st { ASN1_BIT_STRING *min, *max; } IPAddressRange; -# define IPAddressOrRange_addressPrefix 0 -# define IPAddressOrRange_addressRange 1 +# define IPAddressOrRange_addressPrefix 0 +# define IPAddressOrRange_addressRange 1 typedef struct IPAddressOrRange_st { int type; @@ -811,10 +773,10 @@ typedef struct IPAddressOrRange_st { } IPAddressOrRange; typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; -DECLARE_STACK_OF(IPAddressOrRange) +DEFINE_STACK_OF(IPAddressOrRange) -# define IPAddressChoice_inherit 0 -# define IPAddressChoice_addressesOrRanges 1 +# define IPAddressChoice_inherit 0 +# define IPAddressChoice_addressesOrRanges 1 typedef struct IPAddressChoice_st { int type; @@ -830,7 +792,7 @@ typedef struct IPAddressFamily_st { } IPAddressFamily; typedef STACK_OF(IPAddressFamily) IPAddrBlocks; -DECLARE_STACK_OF(IPAddressFamily) +DEFINE_STACK_OF(IPAddressFamily) DECLARE_ASN1_FUNCTIONS(IPAddressRange) DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) @@ -840,8 +802,8 @@ DECLARE_ASN1_FUNCTIONS(IPAddressFamily) /* * API tag for elements of the ASIdentifer SEQUENCE. */ -# define V3_ASID_ASNUM 0 -# define V3_ASID_RDI 1 +# define V3_ASID_ASNUM 0 +# define V3_ASID_RDI 1 /* * AFI values, assigned by IANA. It'd be nice to make the AFI @@ -849,207 +811,125 @@ DECLARE_ASN1_FUNCTIONS(IPAddressFamily) * 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 +# 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 v3_asid_add_inherit(ASIdentifiers *asid, int which); -int v3_asid_add_id_or_range(ASIdentifiers *asid, int which, - ASN1_INTEGER *min, ASN1_INTEGER *max); -int v3_addr_add_inherit(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi); -int v3_addr_add_prefix(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi, - unsigned char *a, const int prefixlen); -int v3_addr_add_range(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi, - unsigned char *min, unsigned char *max); -unsigned v3_addr_get_afi(const IPAddressFamily *f); -int v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, - unsigned char *min, unsigned char *max, - const int length); +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 v3_asid_is_canonical(ASIdentifiers *asid); -int v3_addr_is_canonical(IPAddrBlocks *addr); -int v3_asid_canonize(ASIdentifiers *asid); -int v3_addr_canonize(IPAddrBlocks *addr); +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 v3_asid_inherits(ASIdentifiers *asid); -int v3_addr_inherits(IPAddrBlocks *addr); -int v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); -int v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); +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 v3_asid_validate_path(X509_STORE_CTX *); -int v3_addr_validate_path(X509_STORE_CTX *); -int v3_asid_validate_resource_set(STACK_OF(X509) *chain, - ASIdentifiers *ext, int allow_inheritance); -int v3_addr_validate_resource_set(STACK_OF(X509) *chain, - IPAddrBlocks *ext, int allow_inheritance); +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 */ +#endif /* OPENSSL_NO_RFC3779 */ + +DEFINE_STACK_OF(ASN1_STRING) -/* BEGIN ERROR CODES */ /* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. + * Admission Syntax */ -void ERR_load_X509V3_strings(void); +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; -/* Error codes for the X509V3 functions. */ +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); -/* Function codes. */ -# define X509V3_F_A2I_GENERAL_NAME 164 -# define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 -# define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 -# define X509V3_F_COPY_EMAIL 122 -# define X509V3_F_COPY_ISSUER 123 -# define X509V3_F_DO_DIRNAME 144 -# define X509V3_F_DO_EXT_CONF 124 -# define X509V3_F_DO_EXT_I2D 135 -# define X509V3_F_DO_EXT_NCONF 151 -# define X509V3_F_DO_I2V_NAME_CONSTRAINTS 148 -# define X509V3_F_GNAMES_FROM_SECTNAME 156 -# define X509V3_F_HEX_TO_STRING 111 -# 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_NOTICE_SECTION 132 -# define X509V3_F_NREF_NOS 133 -# 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_ASN1_SKEY_ID 114 -# define X509V3_F_S2I_SKEY_ID 115 -# define X509V3_F_SET_DIST_POINT_NAME 158 -# define X509V3_F_STRING_TO_HEX 113 -# 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_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_V3_ADDR_VALIDATE_PATH_INTERNAL 160 -# 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_CONF 107 -# define X509V3_F_X509V3_EXT_FREE 165 -# 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 +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); -/* 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_CANNOT_FIND_FREE_FUNCTION 168 -# 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_ILLEGAL_HEX_DIGIT 113 -# 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_ODD_NUMBER_OF_DIGITS 112 -# 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_SYNTAX_NOT_CURRENTLY_SUPPORTED 158 -# 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 - -#ifdef __cplusplus +# ifdef __cplusplus } -#endif +# endif #endif diff --git a/ext/openssl/windows/x64/include/openssl/x509v3err.h b/ext/openssl/windows/x64/include/openssl/x509v3err.h new file mode 100644 index 00000000..6b3df12b --- /dev/null +++ b/ext/openssl/windows/x64/include/openssl/x509v3err.h @@ -0,0 +1,158 @@ +/* + * Generated by util/mkerr.pl DO NOT EDIT + * 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_X509V3ERR_H +# define HEADER_X509V3ERR_H + +# 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/ext/openssl/windows/x64/lib/engines-1_1/capi.dll b/ext/openssl/windows/x64/lib/engines-1_1/capi.dll new file mode 100644 index 0000000000000000000000000000000000000000..f1e1d5426be36aca5c13e14b66d6e08d163818e6 GIT binary patch literal 69120 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 Q0-e8333N)}r%B-d12kRh7XSbN literal 0 HcmV?d00001 diff --git a/ext/openssl/windows/x64/lib/engines-1_1/padlock.dll b/ext/openssl/windows/x64/lib/engines-1_1/padlock.dll new file mode 100644 index 0000000000000000000000000000000000000000..2fe182cb68b029197df14dadf1489d6926148146 GIT binary patch literal 39424 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 YkMqYNbTCGDE7(KX4-wO!|7-;QAC`~D{r~^~ literal 0 HcmV?d00001 diff --git a/ext/openssl/windows/x64/lib/engines/4758cca.dll b/ext/openssl/windows/x64/lib/engines/4758cca.dll deleted file mode 100644 index 7b678fd94e0229576dd8f9c3756639a586d9483b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20992 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 diff --git a/ext/openssl/windows/x64/lib/engines/aep.dll b/ext/openssl/windows/x64/lib/engines/aep.dll deleted file mode 100644 index 616204c43132bdf2436924b32e3af857ba206936..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18944 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 LyI;0_t_A)B6`HJ; diff --git a/ext/openssl/windows/x64/lib/engines/atalla.dll b/ext/openssl/windows/x64/lib/engines/atalla.dll deleted file mode 100644 index 0aad54cd101653900285515615d39f803fce0bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 Dja9fp diff --git a/ext/openssl/windows/x64/lib/engines/chil.dll b/ext/openssl/windows/x64/lib/engines/chil.dll deleted file mode 100644 index b9914c77cf1093853568b7ee3c310362054d1832..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25088 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

CLKgQ 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 MkV!v0|N0vEFWIPA9{>OV diff --git a/ext/openssl/windows/x64/lib/engines/cswift.dll b/ext/openssl/windows/x64/lib/engines/cswift.dll deleted file mode 100644 index 5d6dc83b635ac0c1eda0552f8cb6927f83de8344..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23552 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 diff --git a/ext/openssl/windows/x64/lib/engines/gmp.dll b/ext/openssl/windows/x64/lib/engines/gmp.dll deleted file mode 100644 index 199bef34f740654049855c1b37ac0b238ac96c8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9728 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 W>Z=p4=IpocFW&!I3&3Z)zyAZc<+*JD diff --git a/ext/openssl/windows/x64/lib/engines/gost.dll b/ext/openssl/windows/x64/lib/engines/gost.dll deleted file mode 100644 index 29ab5be7b72a37d8e827c1fc516233563dce5361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83968 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 diff --git a/ext/openssl/windows/x64/lib/engines/nuron.dll b/ext/openssl/windows/x64/lib/engines/nuron.dll deleted file mode 100644 index a0cd8ceb5d322921fbba0d86e81353d9df057d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14336 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 diff --git a/ext/openssl/windows/x64/lib/engines/padlock.dll b/ext/openssl/windows/x64/lib/engines/padlock.dll deleted file mode 100644 index 455a98aaa721c0e01ebbc0e7a3b668eabe8dfc3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9728 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 au<7>@>gyA)=j^xbFWLWP3&5AVzyATm8otW_ diff --git a/ext/openssl/windows/x64/lib/engines/sureware.dll b/ext/openssl/windows/x64/lib/engines/sureware.dll deleted file mode 100644 index 29b52adeeb016d2f97ea14c1e234354f36d32606..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 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 YzNc+_Q};Udy7&IaJMcx#|BMCxH%+y(LjV8( diff --git a/ext/openssl/windows/x64/lib/engines/ubsec.dll b/ext/openssl/windows/x64/lib/engines/ubsec.dll deleted file mode 100644 index 3d8e4a4e3456edd38509882762e69a72247e74e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21504 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

Ht9%O7o;n&YA_(^rpMmdfG z_kJADpzzb4##$7fFEW^;=LPB!epYE5L*WGDP`0D+^HoL{6iyZxjNznk&hdYff;P$l z6i)Rv)}inV)`_wR6)rnY)4uXN3cnm?JcGg+=3m)}!mm0Q%TVE_<1G15sN*dBntUkC z#jk5KdleiD1A`4 zLi@@ERG{y|pQjtop>UP<723WEf9Yr}MFrN3aIMxjg~DIQ8GBK<-osdf!rxdoN;4{) zcidpzDCGJE{GGfh>ruE_Y%D|t`Y!xqnn9oc0k;MlJ5cy%7h?q~kT)m}%8jEayl8;2 z1%(zJjb*5C)$!s-f@0+`3N8B^lxYcfbTXEsP|(t7K!vjo?h_R&2T>>-Xi!HXw5EM! zF)G}26g3CM$^{hK%rH)%P)xnbArxLR#CRHow%v@CD7>_VQHKhr9qpzC#R_9=2QTYm ztVf}Jp+SGz3+Eg!FA0j3{V4D(kYh6nujpVbL4|9M4zq${z#!eJo-OX5wLT6%?T2wgUc+Ie&SfR{o;I7Wb3RJk^cr9g=Qz ?RXvY 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

Y%|qsI=3(=9^N9I} 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�eqj(>8{P^X=8!s9#1=$ z0=ga4B7F^amSb-O^a&@oKuMxzH}#V?j4c0C8)g}Iw_%o(IXF={$(CAyA<(zh{c@s_ zBHv^)L?R={vJTC5y5Rn#!_UW5zV4s@*p)wiA!f7Wi*B zpsMBxCzJQMxRPy?H&QyhwA46gHMC*K+GuWU8Py5nlNu=5iEku7Zmw`%g)5c$-N!LM z*^Iffy9MMy5Be86vrwwc_l;S)CguqJ>fk#yUnTE{F~!+SGtDDg|RPTI4``!lZq$P)u{!7UI0o9&*yE)G59i z{hj2(hxx~&_c&xc|D_e`hxQ!1_M%50ROOnu@=52THkSZn$$E>+5hhj#A`Q2$>4KC&QY-V3a7yGeJ0co%Pl+r1X5eeiL4p{p38wCMz8yAA1oR2jINa0X|zjF;&aLW8KQBrg90xl)V;WFxZYFjc!`YH28Fr!<#l(oRQXVW1oPg>rf$% zI*ql6tUlBEN!h*P2v2h-!36la1|SyGSo<#av+Czjo4(Wf_VD%cskQhQ4ZW=gB#tb0 zcT*2}7}#8EG$@Y3J#IFMlphaCbbqZL+tMS2;I;@{u%HubhFGv4cn7^2Iq&AnjW*eM za+Sng&Zj`TPb1%bVUeF~-ShUc5V^G#Vqh5VXkb<{K@C=iXzrh`aoN5+71GmTHb$ro zmgCzAXntFJ)=SBQWWK9&{aJcU7ATzo2}C(zi-3p`mEjp}Qjg=2Fdw8?yE)I{Kr5nx75w9j~J0Xm$zFP@+6 zLcF8*qI57L+ZBv-Yr;cdW19obG(aiMwMGMnYkHJA6eaQ{bV15k-<-1<<+~x}D_HLn z8l1$w%RHb6$wP5=JTVXucUedwXEG;jWXN!7^V?`r6F2k&6>dF&0wD*^KA!QZRT;gy zUJREC2U2hFL7fa12sV)3cP)p^T%$8P1npVx4rK%`%=vD&gqRX`ev0?6Wzy1`i23gw z#A^r}_ zrQ7A#Bs)pr4J+TinP9jU+Bydp8(M#yI(&M-BQ2WTOkde&E}hHuAKq#L4WAc)l&83Qi1ZL1ei}hUsFm)S;Mg z5_6ZD(reH)Qf5~qPDg90L$sZkrH9lq3m9#Z#Q&)j$>{3}d}NiKkv_FRi3qIq8?~p7 z9V@}rWwN@OOu*M;BFPk{h?5$Oi%@NBZgET*+Ka}uLlf;J6qYdXc8poD=t0GxgDI;X z=&7)P<~#N(atcP~ly)^#LW*2H;@uWm^PJ{!Hq1afESTg;BUEC)?pIQ**KgYKrGm1& z#le@iRmvcVBl#qYNSeqZl9HSwoRlEp$pRGOMEQBzd;$Msj~oZ1p+i@MyTiSSU|Pap zxDFTDZsMsTc!Tndyc}9G9wv}k3gL#lRHH6k@!?8)3(G6sBDe8)bVl=VPbzI?;2T-!HjD*EN#7K5v5$_1x2c?u+1{kCwEp?G(X z5D1VLHKfV@|4~q6PjlanDOCAM)}f%t$*zl63D8x0Tge4avZunaSUpj$*khk8JtB<;tKCF=Y zxq%vhz6fucv%G-%qq>FYPX1KPj3PBEW@1}mEL?(J?E9n<#2lzDMjBR`8I8>6`zJ>U zn#q-yiAP?&0Xv1GEBcDoe~R3Up{Eo1$8{wuOY%{6@=CR*8Ae z8S1XUc}~{Aa2cK{tf%GbPIkg!ogbUhELU}=GFQn-4u%?dvZw$IrH`wTKtbHt7b~igBz?s0-*mOa1c$#Arj_{^)QQ7o`z-cZ!aPLtV2Y)6* zlx&<<={xqj8%Qj)>1 z+C{aeFnck?^{w&2VP%Hg^VvJ}Yu!Fj1NrWKu#fffD>`A^M2$^eC&YHAQO3s3k|u+V z&0GsMv~i7+bRCVxqg#{e3vp5xQgnBFYdq)Yvxx)dXgPw#5+^v?NkKE_(JIJ1 z7z4q?1_-AaDTI7@Bc$o!4asFFG3G%XV`O>JXjw8VG0z)A-4!^`s~R}Xvr3%Iq{@(5 zl*tQm=AdgNiB%7bKjG1nJ6Znj8m37sGE565OF}x{B4Ou7f(J z+FR`$Bz3l3gQUh4Iwzck2s+jR z6LhEqhL*G+hMLw8Lr*J+q3_J;$d_ceUzHa*{9p!(uD@9a$3#_# zuW|vNx4jAwxI$27(5;>k#({?^S)5iN8XbVn-3%Tf3$?GuTMRcW`=oUs#I(!&B|E9j zgpw$4A!v$m#dy7Fjw&mI8zYxMnm2>q5HOWssp;YyO~cxZ5}J6dmXnJk=_JWr4Wxd> zaNKbSB+dhJd2)ezLJhg&Iz`jF786vQl$fG$&pB6xCoU#PtnoW&(=xHLH6^k%*10Y$ z@Tq`b&ZbCk5->?RyqFAj2Dfz+k%CpncT+?*b(6H|9K%K930R@aS0wp#GLgtc%*3>$rs3JQhl^e)|a9p#&QtrcIUGF}L zu5==)(b;OMJ4@2^z~e~uZV&^Q^9$6G?7qThw&k8q zZ08DG?q@_QhXUGahAxGK^lFS$FAziK=so&q4S2Ago&x8%hHmzA3~E=U4Q!_AK#wmj zu4d=+i`n_{{-+?w(}Flp^g?k8=!AaqML(~cBL$I;W+b9zIruL&-Y%a$w)cf*01uDP zK0tRmLloZ_IC$BQ(s;U#M5-kR8upsIBgG)NY`@vzYzS?(+ycd{uzQMIHVP!OdhRLg ziQ|be&taFI0_6wKPJHcaeV)wq$6a(^7AD)xUWu0|URxnH&v90O-AN(Gj$9)7XG)WY zmj=-D=URw|@rg)eaTLvz9I+jP?=m+WZNuuy7)Eit<+Fb22ZnmCO(-Iz&J!Qa?|?B- z_#K}rwq3cCmYSrLEi;ooYA;1LrH9?(W{T{CB%-bW?~Qw{fSPlFE&Or!Fxt5ZX3Wn0 zDA|v2j^=iGV6ND9G%BLJAwC5&xxCnvh-k3a4{}HurB^g%ALDgfDNLXMgB~3Xa)l7J zXkf;CfphD*d{RL53T2d@ zmtJ8X;{AM-xa_4t8iIc--V%KeQ-c8Yx>f=PJAFyE$5F2Rnq-#%D__wH+V_FGh^$pE z>}g{PTG~Na8~o%-Wg66IdJwTFi=u(e!YJB-j796Fi$0kgJ?hga5x8( zL7s#$gEcG44%94;-U%*gm&>*9>RVJwpC)Fb02|nh`9rjBS`lf85J&!aT%_LSXLWLd zv2V7vt}`5iAMdnqfXxb~m57S*iUX2eu}TjbE(!!06Uk*rJB6sBFt~Yb{ol1TG=g`2 zm(#lozntFP_jNi40*K^QG$9!_fq<&8TC|B=)0e@_ODkU9P#IvxB9Da3UX|#_%TiWC zpy{RRiA`pvQG-Fn?qSjEm>7nHVhNdN>UJioH&~nIe zB=aspMESmEV&CRfh?XvM^sp8#Al21gv+V)cTS-z<@~v|c+d>ssPFF;2EA8ptH=(ea z(X*tHhzx5RaaH&7fKuoPC8rBX@*3@2)MDvw-M458oGM;viQ<`+WOghjO!JBAfbiOE zD%SKV+}Hmdj3%w|<_EVB(soSA@nD|1?ylIffnTlGUl4^pP$ zNjeA#$@U`|1GXX+`c#n$ajHm3+*PDXpDa?6cNHn=lSNA6jv^&_XOWU&vPdg&DyvD~ zQKX%`vq(Ez7SC$4p`VQDjw>l|juIah?qW!_wW-Xgc$(9?1}-eah^o-?K|mp4fcHolGH#tv>93LjKibmE#SC)f#a6XT|_6@?q6L`KM zS8}M)l{<|xiP0AmLjN5jYQCf;7dIQ5CCi)J&BEj;#_@CGn};DdvC(0`HLnoZl@FO! z%LY(Ndj1R7XK}u}-CKdQ)$LLoOPV+p3PmEI&jW#cavyGOWB73U)`-P1g4aQa(u(`(=Q;h zS&#F~;poB=SI>B4v%8*SVTum~pA>~qZC#rrs85YRJ~3%>`|#O4--%KH zn$x=i^yg;_@bR@kIUJ~(dVKjWZp(q49Efc`Z$=Y|{a23ey^YTCx4?P+8fu?8^YD;`V z>*@b^e(-j_e|A3m*TLzLb8ZnROhiKei8)8HUyc5;|zQpLTLijG3K zB4Uh4Q~@{PK?K1d;q3hQSv0Z=|a-?XRhx$$vJu^=kz3si?fgD$ZRInph_7(Smq9Ja)br`nz=^J<6aegY*R|w5rz-J?s!K$X4Th+)1}s^8xP&5 zc`Jl5YXvq+pQ81eozLDo84c{=8`Q({o`Y01tg{xi8ss;B8tjfi1=JseYDCnUDBKKk z8XMHY>T~yp&Jlpneay@+ZnSd42=7MVtd-?66!=F8#QR6%)P-`GH+=_L5O{>Suk)`8AX7}D z5MXa(SwIeQiS*+#6r;+TDkfmm2VsIFA|`s?k~!GFI6gd|;TH-F&x-wxjk&#MX9EWr zs`j2(jz>(=t+qZSOiv@e-CO0d*`!YjE<}Gs;B<&WlIEV|oaTXpNH}R|ul7zb+EWFA zrB&#Fn_5i;*(q6?VFy|~=JymFJzCcKbFNre!loqvLogF1o+8G?o2 zrz^wqMZnwDxw;$l!VRUKuT(S z!VyX-;mC?9vJK@_8HP-j#7$(f9j(-&lBEa9{cl*gYez&JImtr_hCF(O!#fXVRO-Tg zdwHo&&m10Fc%((dJ@!$!V<$cjjdKgro{(@sF#6&<^#Ae2cX4)r*A>P_iT#gKVs=)1 z$k2FzF4>4o}6JCqwZ!?I0)Aw51l-qiWI*q)*B&g-@f#5qz@ zqM5XrAa2GcIHSe3QdCS}m2D0J^$_$0>4v_tMlv5XRTzuYtK04lRK@T>^2oow9~+Jv zxa}(!i2JPx5yJQDn!E9eNK|P_$AJ!%U9>Sc}5^lvZ6Un4XIk8&5;#F^SOJoHxtITckFQ z3o0Bt`iA??oJ%MVi@&>??pmm15f3unFV)aSEn#N!&5s*gm$X&!Y<7YNJg}nyhbKL6 z4a&XEnhynrWn%t)&pG%LCTHIsaL@p*On=Vx_>}Q&ZuYj1ZL(S7koAT3NbqSz5zVUJ z^=;tu7PS=l(>#1v%GZaNRof8vAgWiJ`4{2Jjni{?F)6FXo4uRGGvBKWiL}cyMGP8& z<@(2}x2Fbw*_!2+g3F?1^&O~({90>USTL$IZAt+jpCs3Z?AUyJ`s;4-(kIM?fAfL? zZ9Vi{GXt$1PM9o5=^#Aj6qME8V$(80tOvtL)MI-0ulYk5j$n9NB2cg?bS_J1Cenu4 zfj|R$PuU>TN9q$aN2}INTBAu&cif1Z;-HXK<<5Eu5~Hj$WXrxtkmk;~10Y zAd24vDqSi9sW@bFV^2a83rP}<;H=1m5~#klH{cihXL=<3V_UngV&{C)=Zj&XZy$JIraQgiettf@xETrvW!awiBS=r zGAyC(%9g?~k^DlOJrmy3FZrRP2C zOI8gE&h?Y2V3Re4VUIpc)fS=dtTBaSst5{sqUMnLliE{QrcFl~cE$fc)+7qbYg41_ z%3&Foq(v%}9o4Ri|E=?+Rj={=r1}Y8UIm4ebwAB0=Us_3F}rIj<&$Hwwibq6#g*1t zhMTOpjW}IB5Ws_n7$hxtUT9_J4PqDzpMPvJ^PwHS;)S z}!)HicekjsNH0z-Ty<6iUh}(O)8Igx`9DO0m$mqwT42ZR$ z#XYklht2} zyJRZz%14gGQs1#;D`6ZLBD_(OR#y3$q9F5q%j{#W=*TL-+okm;1?q{*#8L!@pkTq@> z@$>cf+q+Tvk3C6Ol7@Hl{mV=EU&T(VZ|(}=3mmh)H>bU+)jO=n|IVWzq4GA|)v<

95qaa2pU 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 bJ@0QB(41$BmMAVdv`5AK%u=T%C-?Y&4g|@6 diff --git a/ext/openssl/windows/x64/lib/libssl.lib b/ext/openssl/windows/x64/lib/libssl.lib new file mode 100644 index 0000000000000000000000000000000000000000..f26a5e36b05a4136e5133233417c2da3dc7fa8df GIT binary patch literal 121986 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

_{26p!x)!LWPoX>8kj5nHW;E_0+V?3(_PK5u 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 V1 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 z zGRaOgEKw$CAC(}2R0^$L;=1{xR3wv1V*e-w(jsDl)GgxdX2tGf(Dsw4H^1HBl?xf6 zotpTR8ahy(W_64uy%?}qc7H8B1_HCsqZDrE$j#=yu9DWG{u1!tpPsFEcl-P{w}PDU zQNmcD^PtvlWGJi&k9+SKhjzJ6${z)`07?{tum9Ph#t)b}&xIK3rkWnEe5$VRiCz?4 zFLRI4@ORBcl7H^Ge8N2cR#v5@N#r2bqPFDxhEvX-D|^e&YSm)5G!8l9svIORag?)H z*yz;7PctlYen`5rRfKI2&yVu9+fL6(2=-b$e(yhA5efb#`~NV@ffDK-sc!h{Pm(Mn znKh+Z${l8Mty_GvN_=)q_QC9EUo02ClHsB5KqMt=#S3o+zy*vWBzEfQxuHE-73XC~ zT6LSqdxn?vN~7#l4rcG#LAX1nhGXGQiIPC{i!w($OSIicj~I55+IV87AHH=`dRORIG;l3w5v}hn&%4z1N!0N zJw>d2K+G@luropwy^%iQw-+VDlFOb%9ut$8AC_b~s#BU6z%)EZloW7hb}E9?Y8Vse z0gabZQH}`SM6h%RST({awbuYfF*Mg7-KtzC$2W24zO9Mzve8B}3@;`jUdh@e&CnMk zhZVx08lP_aW9ez%c^ES!tA2Mf55_$6 z-b1hxJH046i`8o#T_74?rUC7Ue}`2#!VLp#L25(a3G-NK6QR~Q433XLXXp-_n?f+x zt^{>v`%0(a>FRALPrzK%)VE+-HNog#!%uo$jlwBzHc(rFWAfUK0$~Yh3P+t-^Y-At z3E4Z1^}6=N@MVd6-IHr>A)zW};E!UkNnoQ$LSoD&A6Ytkr-Be)#`vPZ2YV(a5#n38 zhPP(V3e0cl0wPQkb=+w1d<;gKqD=KrKl!`?v7soC2WuB;iF@S=_j}=#F#OYv)0sDs z)!$hvPyTE-OL#1)C~92R;R~&kUuFmdwK3v0tN3VqQ?g-=BtODk4z82bzO*m zCg2|UKeZ}s=6{8*ReM-8Oo0Un(cF*2wp?2zJATKW4h23*Q_~7F@9R3_zC9Xns0C7C*{5*RP>_o@xn}+p0M-}iTxLiS#E`Cf9oa86Rg(LnMI(x5hylIXyr=iUX8m8?lGB;Zo4( zyAC&U<=%$C-&?}Q3TLNG1GdpX`-e4fO1Lr?PIkC7IQ(DHL7>*9M{eI_uit9`@N)J+jXcFW` zE+Di)S+f=bpWEo_{o`E}(3etX%d|+N1*>z8EJnhV)yP-G6Qm1#G{3Y5D3anG0H*M; zzujFR1)o#T2lwcC1Xt0loZYU?iv$WS3J)O($PM}+6^~NWVQ>d%_V* z*0zciv-QIm|K4JlN*!xX08f1{XY?W-+iBH@{qC1m)Bp^gA`#k-JCUvNwhFrE#uN_3 zg?ga_Cw#|B`v+o~HvevMFTExIjh7TwBYzW#5ZEankycWLr_%(<;t8S;swlB}`3UqB zSHx7;X|Ol&fRN60f#-D(e{onlcvG87Ud$r|o($L6X^`JGnUK@^HTM%_u)uH()Q7;z z*vg8-n)-7z80k8NLdD^#wTG-jocewRHSK;4ID!{{BBDLh4blG!Xj0M_S*lmP)9MW9 zup$##LPj)LsTRebh>vvwzhl}cx|+|sb6Bwx@@Uv={Yg;I3F>P9AUVaZaCz$NoeB6+ zAN>K3U#oIXp4cLw33l**|r9rX2!^J*A(KVNNpa_0!~K z_YOOXk0LQ~kMUo71c>>FXB35Wo>U9%dPvRB(girxSfa0LC?WkgPJ;#&VEc(Ga{hJ4 zq^{&!yWUjZce|a^2L)kMWiiw`ihZ3h2_-0U8RV`Vzo+kY(Bs?-(HES?-({M7oeP>h zkFfPoMr#rc=BYZh=~9KIB_GL)|Km3$m)MaP?awN0Pw#YIlAt{Z#a*O4dfjBZUQ$Atvn&h_x>0b5` zrdB!a`v%aGxwy4EIqaptv3`F0iH4|fN2Oql_(w4WR4MbKd8{PbGi)3*!l0HXyD`7P z*~m4#vlEK8C6e6CJBnrV`OzxPu=LkNpeOteX+{fHTUbEZ#5bEwp+(rMO#(4blUC3s znH|zTv5J)!V3^%snmZGh!cT|28w^kiRZn} zQQVUQ2XBn#%ne1T`~u=Wr^thMn2}B&jqRm4R1Qv491KShSyUCZN3bEGJ*w~So+dmw zb^jWSyBbMiA$I6J5LNYBMDVkL&^4BoWA{+8pztY|$tQEzDerXBZS?zcsZSEs{mHuU zz5QNX`cvbUt5?Ie=ng~Vcb5cd|8mgStGO8^iTAq!1MEa}h>|Fnx6gZ1dzKWh>su`rLCkw);d6mbkHf9uKMbe7IPC&w_4*yK z)lA{oV#&4mgv3!-6cPA+9p{0CVX2?UMY%1C$)o;S`QRLY*mtUh%9ENd5Cd^Nu_|OP ztz^1fs*1uYfG95cli_i4uG-j7OzgGe1rT3M=Hc`QV|8!E`OWwii(E=P z_>#&iu+G^_@I=c_gY%uR)T_EGcB+TXqR~H~x!ZncEs{*@Jf@6dfEaiyosV9_r8^L_ ziaP+7va8OG|2*#NPy4HuI7}68eDg71kC}*4NQ-eBF+Y6duAF=8WaEI;R+?(r%Ej=8 z=h}de7h%dI3%21J>fd$NA9(ZYR$scY{xEVqN1D#ff4w^DLy15Z%pH0!Q5x++K&*ks&Ve73i zd<|v|sUPI|fS#_NG#-^~qIYS8cem)uAL_w0<_%A}cPos(|HKBPwi>=wnOARAB$Ij# zQr5fDoYi(}B4*q}ntK}&fC3DU#>N6dDFDQ>p=y7rV2wdf)7~>$L@}`3zzi`1mT?Ns z;|s^*UEqjI{Y)Cps)@##sM8+lY%0Abfdgvt@(&)JidjX!ZMVqmcd&38F(KMPjraF*HEa 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%0A{*n9^yK3u{hg_|yS$nSIO&1dm zKh!nKLsKmTh24Ob^3Vh`0cy8)30|{??1sky%(Dpu%pu+IJmAGg4xmzkT-lgjB|J^Z zPqfy#Zm#!yKxD{H+*MYhb<#wu@}5gCHoTmtZ6t7!J6XI?)CKfHQ5T|tRj?&?ue;J) zMmzs^iBiy{#dTN3&!9R79HgDT8lk4i=tvbP7v1PZ4qM;{Z~t#FDs%bXFto@`6;eHD z0+n%`&6q^3r?yZV)>oC6R9~1&Gr&5whFS+=*wXSID3>=p7Nr)+O6Fy)tIJtumVKRs zn?9*OlgzTGlPt2MldQ6zld@5ev!2KVIX>{>fb0*~)4EVZ?JS2eFd`7RRu4RWocJuE=%BzIp2m27-9z;Y!?2SZ)&5N7qdQ2 zfQ(f=ZjE+jMH9nU?1Ao0CVT%^sbp1;Pu9~-LprE6A)#3DR|4`EnSTRejVg2rvTINY zaw^_>wD??qqR@56sPvgFYf9yJA1(h#Z8E93u&|N0v#7vT+V~T(w+#b4JKG>OG7XxY z?L)vbu#6jw(ZKGd#XANqAl1IXCFm3nBN4bRYfzrAaOhH}R6QL3aB7Pax=3~HVU3Pm zbTQYTDH)OeBInMgtvd$Y3QWPc!d8T+Ha+4}IDqKeeM2hCJf6e>WJyvMmj8dY4f|#>c=hq1FYIht2R46v=y>x~^@G4~_PZ zh?KT2-p{kw(j6w!Pa6up_CZ`KuYCYK5R_$HcZ9wid%Hs8&kQToSA;duVU2`&Jk1R; za|2?X4Y5jQW?>UuDW%$-)SMZV*b%9LI*Z1qt5QmsD_Nx2Rml?_+b0>vqR4>-Vk~$A zq717X9Jew6rGN0~F?euoeE*2B1psW&DwB5c5`Wx&I5Dt#yR2TSpPXJA*mDT2Ju>!4 zd#d!|A_U6##`v_+WnGU_4;!Lmvv9jdT7otYg2fMKN`9qW+l;+waaXuBDzd`GQBfE^ zOT80rwkqXpyG?>jjOWLqp3|MkGNEIFEG zM^9KW^Ve)45=bl!hNj#c$&GF?(--^j5v7;J<-TbP8`!WpQMc9&zY)9EVSd>rsvd0QsD z7Lk%F4PF2Y;054S5DYTlhD|KshRZXK3bU%gVAc=O-=HviUn70i!fPbV8u(n7hlE`O zGd3kPK0X_K2Bv1O!}hZF0Pu=B0S8ZWl$Lu5hvwCZ4=%>~4eb#m5V)iq8?^Nk&6Bi` z$nkga$G9$M9&CKDbt5m8;B{Q|PJT8?1ww)jn(on0&5^v-W6n{Uvk;;d80djT+QumA zz+HJ@;#%Gz5+0>`jH0B6*L9TKBfi7j5?L;hDiDH|lZ@_6@_zh?edMof7)E?tsaUyJ%Ft5TVvwI%x zHckyTwjHwbHJhlk&N|hMA552Wx}2uI95{HFcbW{sDH8jiiB$Hz_z00r%*j)BMc>G8 zi2AZ-hdh2GE8GV?jmv12VPNd(&$vXPlZcdnV`IP6m+`urrIIcHh_P}V&wmJiiR!7Z ztr+FtH(a=_CWb>`S=bHPCWnKFJ;#!M8$4&dhwQjX0rII!m4_{~?BysAPt1~QtbB!Q zGq7tORIfbT?pI5(-lKCav{rOOYKrj%2AsqP0jbkW%l%>z1nTH4^z^-mjH4PvI`zm| zdL*6f$tKl79#Vak?)RC4kdxH|NX|*2Nw~j(3zDwmk?dsk(`4+$;toBQQAs7A+nf&v z6Lr8WSj&KczpiXXGYnZdAT$rAX&AOVs2=oT`nXZNEH31-a+=MD=$BYEwgGl(7D1u64!m@z=tluCk~(6V59h(808f6)(Lzt zoVA>M82fgHtRcRztQ|}XF7Aw+g(cNxjRdr=4CctKGe=Hlj^dX@6C)xQQc_2x7~E2< z(gw|6tP(arPOz9-m(Btuvw;O7?uVN0(sJs%Drkz}KKtl07lg*(=8S!Vq#Va{VCD-B z59v2ybW#Na0}KL&z}zX`2RB=`Km01F_c1dF{b?7&l5ZPOzT+8` zKj|nLP-?O@^e$U;!Vz<{RbU2-g_F|h@i9DKWdHZqs(k?vjtYPlqeW7IPc>}LZ8 zX#1gu+1v77(^uLkw0JYDMV3y%$?+l>KU=o@nz=bEY+YuL$770@L=(A>o{PpZ4@j5f z5&vQ7gaz^#zgk7REbA;0fN4Z@lQX*6Qset%#V?X2XDuDk@RMms)DWvGFS=(2-qux> zpMz^|%MxgUUzaDLX1(5(*bSC7^Gzl8?e5?Cm?tw@=>3+n*s6UWulV(mijC>T!a@f{L)uwoPWaWf zUsKsPa2z?d{Q~S6x+7*hh=GmFe`r zi6G*~Jop8UxqwNI)@E-JKK*dnNxukocVYI>?U8&K3?IA&PoA-H(OZ#U#Ic}8H{lEp zj0taoW>;MYz*4Kk7-(wITJmTBtfWf8FT4Qt?wU>1s7_Y3Qc3{#GMp+~#$o2(4>=J<4oJmHCCSSjsa?Dp)^dcmw47R|rym zG?(s9v{C0B^vA=0h);b3b4&sv7hT3KfNr3Pj`Nx#LvaAk3U+;!QjOg|#T>bra=h-l zeBgL#&0f0Xr1eVdKW^iZGe*!)*TB0$Re4057$}!9YH|oMNvM&=fL)qw=fDA5J9m%) zE5b^AgaLaTQi;p~o5Urg28`qugACYTmL$tOG9->KMvm8t%U~oXhsH|3gAC6^fPsf6 zd@>ITdD=K^T=aoEO4W7RyV1Y3x0Rzbk%L;b>F%;!aDp1KuRkdmeTFVlE~>;BjDz2F z6D@VI=`=Rwc-RZGHr)gH!I<@(&>f6if3SH^c&;`b{y6wbiz1(SiGO`(^gvGIWeM-M zzxRU8vHIYs$PhklhZ0KSrzwwj@_?861Gu+ToQi6&nt`*MN7@x_l6yT?he>W!6Fra{ zxl5KkQoBH#L|1nW?6ralXl25C`%6_R|tBLRS$X} zn`Ax6rU&gw1v&JfZUj9FGGpp_6mMuj$m$2pst~*7E)2at8@(@uEN@KfgafVCZ?rlq zQ7plnprRMEhDx69c@z|eMy6!-!E=?7*Jp-<(cl$lh<)__v(Y^MY7hPRJLo} zc{t(6S0P$gC(fe+;2*PRLuQMl1sG}7&!X0pwNw4LMr}%0t95m2g=if|4by92N5*In zEE`h|dWF0j18`^&H$_{12;!`Tt?)4|FKDaP)^7^aIm4uzNfinR!IY-X|q~TD4aWZs1sz(1isrG71&p2PRO(FdGrqkwsyXs0zc z&!aps@zCAc?)XK?5KRVnIlzV_+QfdX_E3DNR_B2kNUYAIO*nKn2DKb_bX39pEO}EI z6Uv`mOXRXj&YoAXq(PrX;+j*a-87fipHzuy+*66hQod-n2d-f8f`KfLc2`VAk>2P5 zYhw*2=r(GjQJ?a#tdLkiFVLf$hCW`-@iuDD)PBtT5^d@siok0*CTH9!^LL@40GEl< z%|5jH;EnLp!7ct1h(2FgUNyUC0w$0QMe-_Ij#nRyK)qH)9+M~Yl?=0cPNi9f79e~K zT|9F`Y!|V%FHc#D|K*@}V-!O7|64%#yJ92*}g(0pUC{r+QuIp&QVtkm$x# zA$D2Fg#LKjVac-&PyX^4t`o^)NpK}@K13s-lbbpq3+PzSP1FDbq8P!J#PT6ephv4f zA+xlxWxbDF1@@w){ZWJ^a5+ayLhB+>Dw8+*XNljyVvly=WFAwh?I_+!0LNVqID@}D zt87tAWL9EfK>L7xn+7yI_WKBEc@VAF+2X!Z52JS*feXd-<661n{y zCIORMrTLu$iNqDvEqhk&!bC5DE^QLuzous$gEGsN$H7nOL{%@~1{8q1PABVy{2YZ) z_Ub9z(k+qpmOabi`Q!-IpP#D!dgQE*cAA&%0wqsJ+;zAJ1`y<7!KHcKgnANbLO7TK zsP`Ns)aDdL`b?R6sB9M;)DW3q*vwP-A0$8@IQV%|tik{>|gNy2?7?&CGs?e}u z?=GxW&)OVWf3Z0h;kgUXAv{k!hX>)i@Z5*zZai<{>BnQr&NgSue_7d<>})Ia!7-#i z3C|)t<#_JJ^G7^Ld&Ga{Y|fsIAN`+o!*w8u*ZdWCuHjkuyv@;$-N&>dzna-=nY|{}=Ut5ZDINP5Nfi+@0S68jg>pLzUoA&r5EH{Cqh>!^rld zaLp9;(SZ~fZlXzqL!@{ht2(U!hirV^jaSn}uXHPnuUlz};dgxEU}9C{glrOpLp?+H zKt#TxUW^r+w|8)?g$)uIdp<;Vrh17H0jcqKkR3wR^KPO9bcG0=0Ag#}VcH3>)O-(D z<%kwHtC+ipaWKVCRwoz*fQY}0%>j0>V4*g~aUL12Ju``wgsTRi|<2Gf`7xRU!*mAS0gcAOYqu^R~&L@4x`!o zJ$$vagNS?aI3FQKjP_@%@vBVf##p@pk&PD`R_D@uEZ!axQ^iN2n0xR7w;CK+Oo5JH zSs(S_Mcb@Q+KAFU(0$yCZ?tCUZmfOyJ+&LZ(F0kLc@4^WfBA9mrm9W{N1K67%M(boIy70S1 z+Xqoy^Li9g)=QNsMH{KUTT77q#ihd9td2s0T^lwvB+4v$3erq8*R5@a z>>&?**hoh?PhajGWCl_>f5+M+D0VaNQpbd z=^rXrS)VlVY@FMTlAl6h9f)twEUZG?+j@(+c%QFBnXp%xZ~(1=Rc^zEwx@xd+V;M` zcf4b1wccTAFYaHzb{X2F9e_A;K{e}pK6S46D`vAdy8i@a(ss;dy6M~z-S1SQmlBIW zrih!X>r{ zpjhVh)XBE&UH?sP%ZKZ#?0&6-j6jPZgLJR>KI$xTK7Im??<8z5(VZgP2ckrOgPD!E z5;LTlev{I&1SwFy^KPxXY-{mWnlWwHHZ(N!^>iG_(zbT=oNn0){+Onbx78X$|97na z2GXoiDGhB_!M=ddhHelZ&fCS!Ro?Nm>2~4H2jbG)W$j}z zq2P0Ew4AZpjTzU`N(;aRc+yR9g|%<{wbo$W*TOWG=4FYiha(nTbGSDH;H;cl(pzjmd0Y zssd}vs=x4e| zu}Y{aCz6h#M!qSl*>hY4vO-e07@7?jlAL!r{iKyN9pafN>$yYZV*iuP%_-xX~UJ6 z`)!Z+-;d>*bT~@Y=IDOM<6p%Rh+Bnt(FW(*+v$0H0j=oWNQWfMh?Nk1G|ie_r+q5U zoDNZd;HxyjY^=ANwI|n2D<4xmWMi0o(1oL)p1k5&bgeX+I7ylGDRIQn#K}tZ2VhYU zU)~xpYcFiB8aKvN{ObCgYPJFTQ0wwNqfDm@iU1aQTCsV9N|SM*F*FOi^ZxvEr}*C*>68yHSUs`=~b*x zW*Fa+SoJCh(y1Ap3MJ!DB}(*Wl9dNot3Zn$obo+V{jufU|95K$A_PDr$hpMw{$W6QCMG((PsdFp{I z>jGVvG&Y=ue~@a;$S{i>c>7Bjl+ws-|DDz^Fd#U@;aM+Usgkeb4yMp}bOGG|kJ~ zgKXMJVMOdK48^QE(byExwnk_2Atrs<>ctQYs>uqOb~fX8w>ZlqG(HBjhUGCdo0O1#pz&5#L52vS^*q=Mbm5O;qcJkk#gyAb)j1 zw8RCmuPB*9L=;~n1QuUsOEH`nX6umm!WGzyjLS5V)c)E!!AwiX`m6~|GI4&kwK7X3 zw{n(^+zh|?E)M^pXLREy8)c1Dt*BMDk(}0e#6GYiwc_@RDV;0&R3d(@_O!Nx>En8H z>lE|4tk&6Pl>ec2+06Ad=GIm8(F^2rYFitALU({R#Bza?@UNyfM7ykb=S;RAtud1U zX+H?QgSH!4AN^e08hzdJ(Y=_6PStL-q)se{4ptp%dgyoe@=2-=b54M;mr1IcW0pnW~RZ+vq{HpnBDquC7 zl3=5)v^;??6k~;@HcYX|u)s}^c-qIk#}@KhD$FLnbv^}H>BBBsm^|}`LtJ))j1gzn z0)61$2{%I~!sjN}OPT-nod z1AFG=18f9m7aqGf(@1!&ObCY!RPyZ^B_jxa z4yX-Tq8Ez~K&jXHnSpea4Dvk1w$tQ!20Kj807lYrVS|f1#wMKl0q4Y4yO{1yKBhp4U~(zy(sRPMi3C~)&|Lxzyg)9-+=3q4o3i3puiQxwi>f9UYYnkS*Ka_`l zU4%xd>!_7HpKpP0Yme~A9)U7_)~50evKTi9KZOp|O$Tk3pRRTqbr?&2Hfn$PY8nFg zQ9064Eew?{fEC(~0kr$orUvWk0VSV0c**l*$=JR0&R6al=fhMq_l9$|Gm3IhB z^fj|TApU$3RSjc~$jO03;k&3hEr-L%0VWFIMj4;t&{1@gH*InrKN==e0^_alY{pZ8 z`y=s-)(kX!H}e~W@fb9l_%~jZ^)>iGh;EDpIZ?P5t;KpUM*RtLW&kD!fZ2d@)SntL zp$K14gYuV2e&!3zD6|XoieSZlkMGVf?nWV!lgJR@WU@(>HmG%uKV9&i{N znwtTH0suin(V=;=N39zd80yKKdd|-mDeE4qoU%! z1C!|j8u0>U1wsvDoUuY3UnmHhKpijii|1M4MQD6mXi-L~S!m^3btv^l4h~)0a~0&! z^XEvx-Iuq>B(V?ULu;`p86nqa;wE`~Xj;-@LNjla`W!(kHB_{J#8COrQXVRBU(5or zm88?JLZdF%AIu`T_$VzeVbqydQCfE5m4+54@#`?QK{@#AzfmFkj2Om} z9@Au-i5n4_B1_yE_lHgijgG!)4v_pwZy#-eG6t90XQQG`Xpn>^EgL-~ zmkEk>mvFH_@|UK`Hvmtc)RzxFss9B2W3Wm6Gv-UMoYv2q!$SkOyR&c#ifms{YK6W~ zU#{jGEit;Ei#9HxVuu(pp+rWJ_p7KTZ6(;!YEV9Q^2@)4ULB|xhAzk$bt|AS99@MUAeum-rOZ!Z z_I$#&%|*l_9IeNae%^Kh`CEW|h0J|v#+m|j_VNOZ5=|t?B5$V!5vv()OY_pk{zQC6 zmlc_mX4>KgLyBK)0rk|H$R1gn;VRy*1>D64d z=b_;yGcbo(+<@EiLGi2RCKqxd$t(+>weTbs7l~g(w4uABRc>E}qL9Sg&nc!C_ zvIA9iRTJB2^1Zs^JTwu0MkwRrRK}*M2zFRLuym0uq4?EsIWqZPUAZfxp|=Hrz^J{} z(qY+%29~0M$VUw{&v#kK&+8m!>|Np&EX@QAOjKBuy^USi%zk-9;_6PeQ23|NQW{4& zUM~&9cwuB5K{_o;*WH2daA?aR?^Bxh0~FEaG&CRJ4PwFekTMG$_lmPYhP4~*G(y9+tV#;?}_BYm=(YbXdAE8;QTAL-Sx+NZ#aoa^*>_ zPFuzL{B=VnuD&!M`N9{`hSIlr#hYlXmk^r6mFS1tjLp5p>MOYqcK^Bm9NxfbsQpd-WZJ`V3M z;aP@f55i35EIa?Rz!q1&CI99o-@e$3Ei-#wK79}QY-`p3r9L(U0^pyC9)Q-=LtL#d zci{`*XP$ypqGmYEj=$o&SeBVski^Cr8p8>2jld`l#>S#EG%hVuwUu*y&Bz6%cw}Vg zGEPC{dpYujF4qfL$c4D55YQxBY_S)vFF`zThcPc%a^v$k_!yFc!2fduUWMy%BC^pN z@+Vu+2Q6i2mj3A!f<9-<&ql9!0iV%L-mV(vIP|rj+tF3SZJK{9U(f`7^aj4Xu-@We zJ}85=CkMOuv|(vm3@E4dOX{2KxqS(`?-h$8lz3G*!U;b1uYd;_OfPmKw-Y@^(QbYB z@fgur-hDiPH`;tmvs3GBwHNMcwV%I^_@FM|{w2dUtas4I>I3=V>K79u_D9Gn3`XGgUs4Ouw%scWQEw;eJPB6K|A|5nibB?-f5l|o;KZFt zJtbf;il5>B`es<0aE(?|8Gz`S6--2m#N1TDO>?M;mV<~a!WnZaBu>o)gI^Tq=2Hwf z_%l(M(tIx+-T;-)sY8cPq{{W3(IT7W$vL2}XbA}sJy?+A<~s2h@sj!uY0vUkh|Axt zbs7oDR}1Gz!;F8;E82+bk73$E^G2Ilgq6)pGIA$ie9gs}AW9IPfZop|?@3Z~=7My# z9?r`KpAE;_FW9lb15`)cFQ7e{^XCod%+o-_yL88&fc3cD0d01IFUBm7VwGIG1)+3^ zvVghb`|#5xJ>+XO%m6=#cp4&lzyR;XrauY>csE85L(>UP7RqQaLG*@m>muHT3f$Ux z@LgC0Ua-Q~WDWaNvK&&~FB8KWA)Y{>JJ?*DsnV4d909BSHAn;!y9`*6WanVD?|V9Y z2jOy8Q+BM$rgiye)rl?d4mU}w0xA?<^!-qVMscHg6E1Dm8x&ndOxZuEP$ek7YGbCX z2>mFkOEeaVv(S^Ewp-M&9u0Co*$dh0$B~P!b60LRVQx@<5AyTeA)aiOA9D_6RO)3| zxC{r0Jjmq|CZ_L2o_WvCmNV}Hv=^c1b@8((Ef%neXF$G;0$2T>z^enEAx)(>4^P1w zH%?1N46!BRS1gVr&3Q{0^1$bl%S)=m$c-w z(*tw>>pg0z_J*$F%Aq~YL+zofMK!Asge zx9!MW&q*p}53pG39sm*q#6|m>yXYNS$7mBxs!MFD2DF$(2-R zur{%@NL;U=bh!&%4r`FJq=GB9(uy=h^Vn%v8atBKv*UYZB250a!swozx)%;nw;r>w z2A%uxD5DIf_^O+Meb{q8`p{2! znpmC}5Z7Ev5MeU|l6DO~Y)5STVdFV5lRrBw{u&7L(n@3glGjPeVj{gg5bd{ztE2s2 z503yzBNGu9R?lzAUTb@?S`yX$O%_vaUVTDeC!%;GQqbzUffZV0Zi98Tmw(b~%zOpQ z{XLq#HgQimz|u`%*#bk4@iMql{XWnKE6=A4CDLqCkGjZLKmx8n=_fYXV73|kk3RYt z^DA@(*Fu+>|0nBm?Voiz9nK%Wow>fZjY03ynuOLfe^L%~!M3}JT=&?tU=dEfoe`Mj zpDkiwd;wm7af+Fkl!;>qJ&w+#q=D2Ze^CDCT%+jsP0atW4(aGc6SOn<|2LtW$gD3j zJ_{^DTKw_j*9AkUqtM>#_%#)6r1h2_iC+p*5MWBV-N%Pthqb>N!kM)8wLO?QK5eAV z6w?m$CVui4xXLNp6l?a90*?F@(uR&vjGbgT@zvY8nvU_&fjI4hfNFY$jLpd)(#2Xk zxUjsMT$#Zu3pNwP6HLZ=ASAZzDDH-t=6JGJQPz^k5PaSW7xQ`3@T27<7F$(2it8Z@ zL+!G@T*?-PzQyBDG+N<>hwAjJZX}sCTm0lIf}OkP9h4`dix8by>QTqZ1gklLt7i)m z9J#bBW#U@BG}1I?mKK%?E|jIkn`Aq0Lug#(cXAJen$;i5gn69M8L!KTykADX8>B`% z<70yACMw~qpt_rWPYbGh>G#B-YJC;I1wqwCzd5yP34YPt2RJ7-S#-6Bw-qy~^(I4} zulwWNPC9;?Ph-LA$DN_9MB%u*VE9U71G6m`-pNT2+6s!JJxL5EOf=?ThOF5{DA0+$ zcQ@&n7&7!SfOx$dw>b8uG9EhlAyL`Dw`g-|&_0 z=kbUfaP(Lcv5byTufmv%=%L<(>UkY+%kc)T;7FuCgT8C<>8LdS0caduRsueSw%$-~ z+Y96!A-I+}h{Yy*>VYrjJEY6A>;P5R+|g(fF#cT zg@O^To(Wqr)%6aR#^q`h?Zz5-po}LBA2$4qY{C&S0m~4%FR}IQIHNLkD`_e@_PI$iN9Y!t$;PP(tIug z#2Sd^W7X5>`w$HmvTBpPK-=MrqnLwA^KbQt=rVXK!^M*<+0-WDx-KhjeuS7xn+P2Y zE~|9l0xxZ%GZ2H`X`(A+idEw-N>9jM8>{vRKUiqF3O27rfvpoK`>Bc8xn0pua~f?5 z-$bHL?bG-<&|{yaO)Ao!Mqr-StyLC*81&5oxN>4Q71hONln9e7Pn%Puy^rmE%UiU) zXT?Wns9wUSIO8$y)XO~GM3gyu9nlUL`wnmh=)wdM@XNm8dgX~5!=6iGt;99y@>99>{ z*|Mq;Vpj}O_SkA$_yRd4PsDf;IhFs-lIq1B$uNX~y3z!{oM?4;C|4YoMAvGJ*(Blw zF=j=5SOmy&P9KFn-jTR@DL7tw$owctqwhgEwSf&(!ZL8J{9rydG@qo#283nCus{9r}>=-KCgzF%3O+&SA##yK=T(G&Jqpble zj)f){v@;=(1ZP_Y7Q{7+I0V$J(q18uz|uwL(3mpH?f-@*&cne#7=ZYmsaI+?qM5SY z%GxT#p{jy4I0g^Ll55NHqjjLHWJy<&zMZDt{d#la|EWHd?8|cQ%Q~zqAZU`~_%h9K z2Ep9Hg9xE&af?8Eoib&&Z?4xFP-c>qFBVi5N_`BdTmdX$jTT`^J-Q&Vqz-T7*jj16 zg2HCto?OZ6jm_ls0A6(i&V+@m8N6O9kOmyrI&NvYg@#;dCIdw+hx1@qU0_Ebwg4S% za^7vOuFyJ2v-Ak6Gz|+>v5yj$wutO?vd6+~VzeCFsk{-P^~|WAk2vT9+>LIN6N|j@ zG5iTi6rfbr=xkPT7Ufy%mI4bMDWV7NwSAT)#$(hm+ zT7;SMb`LUo8Aq?qjE*Ivmvi*jWc0scZ3Cbjq~-!R9b`2i&p{Bo^*Z+O zU^fOVwM=hJDGI57Coc>NBv~t=oS9^+A}3`o^oxshaLs3#ne;NjfXa!yE` z%{gKO*mvf%BITK!#+gVIB<5u9erj@x%{UQy2#^fWFYv0`L@$cDka3jO*`iD)=jF5Y zLPnqvT4D}-K!thZe~8|i#~aB#AG=Lj!iAm zy1J?%eK(n4?NdU(gZE0VCo4p6`u#k>6FNJ`k9Y)}APM8(|F2z{u~q8;!OQ4E1|W>~ z(p`?w`k`Ukb_`33MWt}G6=9axBt0YRT}jW# zjEt5uGN+;)tX$5{mt?IF0MvP|+9XL+WDp1F>(@wLzs@*puHVI`43g$E-sRx<@!(X> zkwN7kj{z#kt?wwUiEgbXD(CR)RIXO1NPndzj3^w*Kd)vAx72?aMH(ubQ4hv!j@B_h zjmo{NQ#qr&UFj4~HYxsdts9t*Z0bN-^+z^~(3i9$k8{SLe}NA|2OOreKyZ!K+z#!e zPNPH?3=;{xp-D%YBeldxZv2X;uwyOTA~XJY;OQCNUIP~p#U@K05cLy>fp1ww>Ra-F zsc*>xO8##JB&@R2$jkD9JY71FN-rsE>RX<2PJK%rFZC@a6@OQ_aG6@Fe#W9`J8vW^ z;gAYT-H(j}WIdxm#?s)A{6~Q2g`W?e2agR;pdf7wP_=E!z?*#uK5Ti56vGJ66C`VA zT(Zmj@&w|EbHL$Q6R$~yn)cC}w^v~m4@N)D3gi5<1^4THnhn|pvy-?Tf8COCYa~ne zA~3imVAO^;?^#|D{WJ&ECRZ{BC4^2zxM_J7e!aD`jos7;q&$IA7Q}M7J)}VcD@#9V zz&wsuVa8SAC0d}$SLrR*7 z>N-7DnzNI1?jQ=G>zkEkI#fgQBTO6un=>Uksv5w$*Uk!M>D=3?Yv6JTtb1<#99GT| z<&)7;mZaQHE(lSkQzw9Ys)aZH%RzULy^X}?dhCd7}nps;Q*BK{UZl@NT@dF2-E@aUM z;52;zY=m$mW#bXxczx;VVaShCYm<;zrmjY<0RD-mr*<5i8Ibgl@DFQ{4V*Syb~Ej3 z%G2`AGb*Bis&w#gm@UCyr;^AtAez{k-@^q-b7cuvqqbkME%=wY7^thu^Bn3`m7%>nvW7}FcJq> z8#+ga!7B#=kYZU*rFw_NtjE}3f~_~Gq9gp{_V9XH!h|yk2t9o&-g}IA&oSbQju9{A zT1T#5zd>|BKZxEkL@J$JK5oXmYKkch{>gZU9?uRylGUX0+x2+cDKMfPBwnguy5t3% z8S%$j4<8}=JQhSfpj3nL)-I&g3+DoyynflW9rNKPYzSK7=mLSjih>R~VzRx-iU#!C z_@wprNafqVg!08K@TIt%idH+YZkd-;p%LPO0r9wp3Q3dAX8RI5*-wOC$G)QmG8h}| z{jjAvna^+Go|6~A`y&(!#+ir*ipL4->G6x}-|b};__<75u%Upe$msf@zp45Tymo~8 zt~*M7=R+<@D)&E+AX;`D^|7lWN3eBQE-yNGr{(Q)UGEgTfWh>df5;m2vZ6-PL3&@FGPd(7L zwF%coku<`o{+d>{9}>ZW{UgNIA#;$rG)CU5Cbob`lNpm6&2{>6ahB$OBZFUfkRDX8 zety>^sc7j${p7XuLiN9lREecd(N8jDvH|6af@0oY%IAXaB{t7t7+S)y?vUsVn_&qW zJz$9xCYCM~+ux+b)>zZRWJ;^jaurI`a_dR2gL98mYnIY75rNSLTc2TuIRjSF(bpg` zhm5jbsp{4`angg$Osl-Of)oy+J*4;P?8?aoZ04geu{tLew$fn=kHEC{U`wBkLo{$H zKi_~aY{8yNu%RR;+Y6AABY8^tH?6v&em)W#a4;gC(yFV{BC?V>9?+^6q(xYg5qE3V zYFdOfvJN&9;ZBS3mzxIp_no3-4shrkmCRK#UjKJg5GK za_jJpj@HA5RKhQ1f?Ku+$;m%Npsd!VI`v-oB*NBv1)G@eM$==T`hYI z;tjZF@aNGcC$t^#tJq9N&{~ZP9wNe?P!fPsJOIhB>w;og$_MtV%t&!+o~nD)iAalgCUXf*mrmJ!ao6x zor^BT(sFREPqwmlBnT|_`7SyGT$u;sVkp@13F(#QYcX}y-vH|+#$o*SLolS?mkO!s zs; za^`F^J>^?F&HG zR>9x_-BR0#rCI7wHxYTXiuZG!c5m+lOez7-!F7t&0&N}h;7Z{z4R=@>h)8rs; zpuv&Gsuzg+%?i2Wi%oaIQt7EeH(fwiKH&EkqaY| zb^^iby*Dx{hc3Vk@eE>G=X-HFy-1wRGX&|wJ3{7K@$x@FSu9)oaq28;4 zm3^hd1j-5fdS0v3R)rM!C>_SzjI*hWy|`aIoaYyl?X;b$rFka?tMaA}k!3Inh-l9)1*P33E;-I3cfAsx386(@WzXa=JiF84D^S zqsCTaf3ptXp}e5@+S6Q&Z@xpRnNMEZV)J2iiA`OT-Pc*COxR5h6tp-`ZwtGT({d1w8+=WUNS^MsqAY=?~=;fxcNBtdf z7(5qlWmC}GK#T!}vfg^IPCyN`5$Cc_Q~!`mx02H>km*PiGpBQGqXPha*hrFSbc$Jj zCy2rM3Jcm|jgH3=YtjpCWRVK?#+Ty&6_gARR46U9{$VP?2^zhua+)GnsEe^w%jpCb z{^{qr$XE@XNk2oq*@%N&c{#>!7n=>B<=SS(w5}RRc(C%-U|ym?@KY%879$g}Dl7B? zt7U;Jj5xi(H3JKj$53@NkDcFDLu>~sV2p~LMknLwTOLH?{&r22vW(5TP=gz$UZ1S! zR&Kd#Kt))$S?FTrG9-urDy6vrww}>dR={X3S$#G-iW_YPNO7QrhC)^=nD9J{AgxCPZ+t5nlO|D{aeqf5@AlfV5PsB~bCp_yPQJNhPD zSTWyZ*DCG4N{7<29dW2mmy7BJ){3ej$EahZOpvVOo3f62^I{w0AK`)0ya=IXy_o|l zyQ?jMS5Ky4RbChOG&a!)A-6uwd?{yzw_eLA@Kma%5mo3}-4fE1y;_Zw#+f9LK{H>Nj5QhaYCnFn@ax3$v+6v@c>JD&ryTFU z!}Bnn?KOFhH}IH|){W;pJe7Fv!1HrF`FLg_oyqK^e{{eiCzoIUC4X?fVu*ccf#Mi8 z{Dk8nKmY5~$o<}-O|a)AJ58t72hp&8VMa*7WOEkp6ZKocR0C~kWoN~27iK64SD&C? z7{NS@-&*aejCIR%*t+#1P9*B<78`ul+Um6H9lqz_>?7YVZg|pIxujKQ@jJecmFoAk zr?GfB$P`oifYy7gU!e4sjab99etrFFwJKQ4o=IE5zrySZI<_` z9Pm$%pf?U#jr30arQrc-m)ZF%K<5yjJWG8_->-B0Z2%X?zdU%n?qS>^{w(83McKD| z(ABm!5L9-AIlE4_`;Gv4Dh~wSM++43V@fA7N7v zhs(pluuhVZ-~*G9B{2G8!|tFcP6m>sSUN_4fO#xFT=lUFK#YQ7IJma}ysGEpm%@QI zSnDzpeQtQOJc$Jlr>kac;3P+|EOaZ@)mvbP4*ZhVu(VK+KS!s!0niSJo57h9`%Fen zxv&ErGb}KU43Lh|5`e`@I1k2RUve>A7FvPohNM-;{(J!>^4{bZIm`v84|}qf^!9tw z+P@M7KFSBG4{JZML;>*tSjY7CSHO7nv$fxmR^2VA?uxYPjP}zdl73OmZ0exxZzE(& z0~+^7n?VOsF4u;^{BNu_0fJQe*ENCdO}Z*1cT>UKjno(#a@$H7C3Td8js^3El8Gk% z5d0VM7cH-%d}hH&T)`~ZluQT(6k{o07?Z9b~o| zhiHfaJ6#>ffSEFj8^C_?PHG?z2D8X?CQRqQ44o1hbr|#YgHMQ<7;R2s)E9dRkZ(H& zss9Y7$`vH0$}MISWH;G#hNlUdKVqmVyrUP}!b8l9?b>9!Z?Xf&jpV=*caeq{M{1Sy zPkh_sq&GyRv}ZJ9@u8Ikd&Y=y0Rt)vF#D#>vUOE5+lm|cT6UsMwPcx%e5A)~{fb#^ z>`Z0Pn}cmhJqqiTtz8VUDE!sQ{4mMICNuI9Z7@wwU^Z1dsM>zB_LMTQV-9p;*ip@w zxtr_=*EgC@Eq>%(rb{gU<#FsX9f$8Sp>oqJ19Q3@yVw(b{Y$LcUyGjy&4E-BHoH@t zmhCayd~G8)>PR5{Lg7aq{|ht6KL-#6uY0UvW_mzd-QtaMSV%@Jjh6!6=q=dRPLSK$ zQ`H-cT^Oh-(W5`HK{#z|$!hy6wxD*4!}qG(*82Y}OM}G{nOaYn6qZtu5`dG!OFFofxHiib6i={DoWzbpXk&i+V;o1)xudm4%JZ>Y)^HOX za3K9_5J}P99y^#fIq!o>%Cbl+wf})d8`6X;uV!h28$ZDT_5@B*y@#uX zgUVRFq3@1fmaQ~jgUm4aDB?Y?ZGd6HL_|Uh4!4Ll+;c3o&140D0Nksb41m^~WUciq zFtw&dSdlC;=!lL6#p>yZ($#1{D+t(TaxChUERA$=DoAc6W5 zBcx6&dxl^MBL{mjPgdk&60851^m67poJJLUV88*fBNB6+ykR(j+~mWx zfNT{P1jU$c>Jo&DBnU^KnF2@3KyvVDq3>DP+W_&QdZ9x=m}7{CQZrNlX+Do`iC#Mp z7U$00utp%yIdeLbh6fEBz7fcCv|a@t26%=6Q%}J26TF-8J1dyy_!Z(O;JX3OM!e6} z)1}!RWLqpb>DB>X);k;*3>~T)8KjjtB<+2$SNn0(-Tx^GdHqn|01ogB3c)j(6~R-;GdDWYur;gAE$G=%$REM?he;FWUPQF zjyQhkar+=AW&#x;GVK7YDJ0AnEEmq}ThG%eAnpWntwOQnp+a8;m zvVu*)NAG_|2bS8zG&C!%10ZadQU{-*b8(ft>*cfl! zC&w681Z;Vt+Y%ggO%AB#Aj~4~1nl$&*b^)Wh*su>)9eY>GT+35oq|F7TN@RZRwKhl zo8gJ>2Y&cf7DUVv4{fGq8^|yK5OTjpr8wDgpqhPO8wLa>Y(b&L_I!yTn>nbISKh-pN6aKk9Fop-DYHo$^ZR?|Vq1KuYVHhm*UA zZkc@-ua$gGA&?zxWj!CxPWrT2`S@s((H!+~BQ&8-E&wBKu61 zhgoII#XAr5CgP`1_}SpzNIi`ct4hlpB$gUjebaD4FmZ7$?C{ZYcItXB66nzX<~JaU z?;${jf;@9sG7?$>YEuCN3xH8KAFvtb1HXTpM!KkH3guZQ^N=)x^Vr!a!`VZQj?^{A z3|HA|fXaLqXT(9ldh8TW8fr-`^ee>3WMC^&3{vY@)T)vof-}HmfJ*xjmo~14469V~ zcac#VU9_`e@Y3RMp|n338K4oO()_Zt_!2S*_{aU!P@7b(W4M4kCUMIj0Piblkgxe8 z3iz{8Kpn2F%My;k>sm#1br?x;^p@)S8%TY0Q&m|ao-MWHa(7oC2MWU^?G&YBj1777 z^Bi70-@vm4&nI8ab6i&cKUZH4`6bH%Oj^BH?yjP@x=kd81pVQwE0g<&_}R7Mf*k}* zEAGo^0j%kb6Uu9GX`?YNxdZymfAO&5&gEb@o9;b=6&~HK8tq@aY8VVj`>j~&`iH<( zfB&`dVds*MM4a>zIpHDa{_-rmgJ{BV2*?YwpfDuVLGje@xI|e@Y$9xFN%@jaO+Wj) zyiaz;Z&Uuvs&G(@1YTq4lquQ55P-%2JjCS>Lwg{Mm5@?`?MPFKB&MJ;4D#Cs<#}9| zEnL{MYD?%oTDm!+@0C+}qi<)CXDujoUu6v*F0%r7;dF;UHim!#plf?0C${u18&2{S zVtq@3VmvP&ETx$P0z@0U-sNWm;Qxtsd$ezJk~HN3G#_zEz@V{Y+_WkudTWWP>58^z zr(fgfyT1IoiKPMyK*-v0AcyX5J>9a^(#^H0Ibf3H6^D%;$moj_g>+pM4rUgp?su_u zDZK4YG;$MJ$>FdNmUp`Nb~-HdL7r&kFNN5LJ%o+b!#?{+9A6Gv-|VoA`$+DI)Aqwq zl!Q#$jRqF41Qsi};j%V`zh~5mo1Ug7TVX!*q%^((p!Fmv%-t&q5-_(;V(tv>RKncE zv!4rh9fZ5eeR7DNh4nY#Ep{Hq*Wm%Fq`qj|Z?Fbc$y0xJXznFpTLQPpsLG~< zU9NE}+o;KFHe_B72Oh)kF-9H2nj3gY;tL6oE+C$uTKfZiuZlPf`hlTjAeay9@ir4| z?ZVk@6`=JNzL12#-kH2af!cu1YvveEtyh8{z#)3sBJ`0b zQOMf2$a-B4&7uKw$n8&?LrZ85l^AnKi4mibIgiMwQ@ol+F zwWm+SQ~@L);>J5G82>@ZSpKpTAB|F=Ua^3*ff!BM0q%eFan1P zaGszC+!0>@2jW){8Vy!U0#NI3N%W9TDHTclSz6=|5E&4&VZ%x2-7klX5WISf4rFN& zhh}Z)Rr4HU8}b|z@$}<;7JmPL=b~%#9N)r|Pw{xB<5`REA0X~$cvO6!j_;4~em$Pm z_}-02;Q9FLc@7uCsBF^+(+K=CXPGP(extACKT^&^MV>#z1SPqZwdBrZWZKK1fobt0 z3QrtB7yh??vbaaxi%nE$oLKoX=6QyR-cfDy2xf=v$HS+Sb~8MLY&WMp!mCA6gus$> z$^BA|1#&CU#$k`!YcjCziv5AP5}X z1r%=EFp8YzIEh~?#rF<;)7kn*|2*NAw@{vIO{Zyf$2m}^&-HrN>^x(}HJ|?Zxx1ct zzV8jtd_LT!eW-Qzy#@2WceIX2C|BR>aOd$NI_Y>+rnGDa@%5s^j_9){%YGu<(dSGt zn17VDTV5uM#S_{s@e_6^_dPe_x+hnE=X<8&?zU?i8XEd~G%QN}9S5>>{tYf)iue0E zR_3nhs+gddruv>+nOnB2^%iqHtN1x>Mk&NwaNk)T9^%`&DmOBFY*YD)>DO(gPD`+S zAeq69maVi}kY^?*cOH!`9RTCO8A3X>1@@1e!(R4Rnk}VigFWaB_~!;5bw01aRuW4@ z=6vQUFevU)OM&H9aV`w6kuS-;5DtTTq0Pa--b(!u-B1D7=wQH`QVjT_^6RPxXTUSo zerCY+VQx2;qz?J+kS;;NwmHe8wxVEY z;(dui>Lw=`*uhVKme#>@)9OYC>(c5zHn4$e_P}J8DahMLwLYlT=dcAyE$qhtifOce zrly3<0o+=hD3ma$!-XbG^>*xOQqb^m`C*R_n%^&b-Yz zrqwV|cDBxhj?}b1x2Cxr_f_sE&hPWx7XVXew$~g_+^e$o5&HYkYEPKAQ~gWw91u*9 z4*>^Ewdf~7E6}|dN63=kot@oz#NQ?mKmrKn7KW)<=Sd@G=OO-m)yqRITp z*9*{@+A6gB-|#$#=QTVZ;Ms@gIz0E|nT&_ROnK%!{3AQkY%9I}bN=Pz4qmQ}g3ZT9 zvo9?L;AO>CWEf){M3pL{3a|X)aT&-U9lpMJcz7TJ2NoDZYv`O(MI32?q57lkhsLi% zosCZ5S$l->tPMZ1ZZLruzx(k003MT>|LH&S<4gXVEIavB>W>EU z(`(-(!gfS{nzE-c9gIJ)j|^W1`ar&lFYd#QdaFTD{IK8xi#{7vc2?MtC|t;72Qocn z5=aL232^a`dh~B#*`OoJ_)ZwEH1j4Ow}Mc@$4A7~ZkBQoUid>pAnG4Q1`ec@<(N$M;P1ja{ z0rQFQX*gP}e_HXW7?)Z^H{mlIPLtK^X}FHVLIdL404;R^P0>2h1GK-l z(-t1y+nLpN2pIoJKmMTVI5w8i*K)??L~`3q@8MF9lY2X@;oLSWy%!+0wDoVZ;X7p2 zbqd%2us6}$>3GDBz%~c|C{-OYvdAyiKqZZuNgGiDwat{>)O$!&BSCc}i6ztLn;G-% zk7P>lH?)Q`r~+@b>bv+G$`+^N9D+K^$OTPY7!$D>8Q=-PICKjCYy@VwbHM0`pWn^E zHlX87=KVV7oy>Wi$-KZ$G)-wlv=SrcC0F523BN?x3%XB0wl1P?jL$eyyq}?!g6e_Iy zetlLwhj`s$Rg#84gW8Y>EzlMxUYqo}MVG)R>_w zVH=`d^us%eB$gzekB-R-EA*2Swzbw|wa%Os&u>FxO^?jPpIKb8KXe0T@#EWRqOx&2 zOy5^vI*3v5mt^oLjvx$BWVgv?A4w!Jee&BdB(DvH0^$zd2kU1GKR?O^WZl1phR3KI z@cZu8Gqv%ScCN*!SLrj;tWX8{JZzi-m-)x4_*XFt3L^ z#wC0(ZUvv_YPDYGPn3zB2(Mjm*r@e`MMgRI71MfVmiGg z(R2zf?1QaNZ{u*&=*!Ty(M>jUlTPF#Hl zhT}@F8?Bw{J5iZ_V#}^ob_@n=Z#To|F)Z+ASj&1>k1NOz=T`eZT=8+-T%9VYHmF@i zBa5ROb)o=8ai=k=K3^Y3^;5z@4Am(Z)e*tO5^F$s(67-x8r55E=3A}t5mBEhGF)2; zw{BtF-dHDmt+JFvlXbK85_0812h%_Q+^3xSd}M+c)E2q4=itw2&Hu;Vx4=hPop~qB z0HYb1!Ay0~QKmB1v`O38i5i;N22Db$fP+aUY30@}wXHXwA8>hxu--LkuO z*WKD}yLDT(wJp0vOWQ<{aFLrRa`6(YwkJdoL-~a!dcW%if1gg9HeINXOVcyGm z&pFR?p8I*uIe(DRvl@cpk5i zj$MR|;(;e~tT{QY7X)sdt!`5+PfkbE+qI`$3@EVh_|mCs8iMC(RzD~(Pv^O)1}mjBRkp7Y~?{AT<; zg1=wluM2;h@wX9wpU2<5_`BY`hmFEB*tk@9-1z^F)7Wh1Ww!D^cm|ueGB$N3qyZRU zD6ztYK*UXr9qv6w6wWI4^N6&$a=51l=JDtyPA2crfuj_i5FXD2Vf>q|4)>5rtRZ^O zqEfgc?c9HZ2IuKt@+7Ec;yyB}Ek77mq$ZivG%ul`mOw$pq4%}=#zrI1kVq4nkiL|- z@Nmcrb*5%3$dK*m4+zhKgCvccd`Nd_vqp=fSoWT4e8xIY=>G|D!?K$Mnw}fH=;)A% zj$zn*HJeF8>*_$}eFpx*1%kUP^nqGQ^qrT6zF!JpIQ zI3$2E&X~=Ue#*9oz45DW4XD5TYlvxNwnBqWfOyYE0hFq+A|qmi$U(5_PK{@qn#?t8 zhbaH`9%6R&GVBrHQqD$pAwiQCLr^W1Kt4{TKq&ZY`eUd116JG_6Y#O@%G-L$Y_%Kt zrA>>?Z)V6hh%Do^yh)+ByEoRQ7a)v_2-8e5g zi>EL-qqDHGNJtkkI?TmK?uMwG2*rtYQrO~jniooQnwLB8%Z5rug-ic(`9O`X3t>IR zzrTy#d>?-+@%J(O{SE$piNBoOv17)JegFPhteN!j=iUL|!~3Vezvi1%E9MBK){CT% z!pgtTG72M0hhWHk5PIM<$bL-ouc-6zC;1%X#fKR-{>;zQ*og2%jxV{#9WFu~KXSbJ zt`CBQ9=u;j=mGrb#NO;_Eg08(QKSQZX1qN!?EZem_EYFR<14}oJ{yv6LkxTvn;;Sc z3K&@NEy2KY{AdiMr``1EQT_&A&cxsUEwB?=dVX1A2*$U1L9m70f!Oo~J<|i+QPtAj zGrf)%m>N}o{L2e-;=g7Y6u=VIU(htF^!W@NaO3_R6BP@$KVaC$#42$5%5h`Hn3K_( zlaYhDt^FZ|mkp};ymu+o5#dI3f0QG&x)PtNmG`9QKU9#3W+0wWNiX5Rl7o59tNR%Z>iqmL0ZjTyx}_Fa7bnCP`VK zN?&%k?8lor@YZ=v=g+?Mo9HYXg&`JLE<0R!e8nlea9?xBk*}6Vv3L?SA&9x`@ZoDO zn~xXXYd(4OmLElDx$(jmt@bQCyyNSC{13b+xaOW)C(PE8vf2t5KimzE7 z8v9StSq1o_5?QK3O*p^w%fFrWPEU2oPxnM7_f(hO{lO*qJ=Nutw)A3A{!{8~}!mfo(^=%a<|GVblgqe4}7bkP^VE+zGmt_9o|PHp}YaJv-mG)>S3 z23mXW?ZpNESzahS>hF>Ymz`RQ2aB#W)<=5paa3(6Jj~r=g4hrJOL(qZfI($>k*;en z(LfU#$Q7!?JHd}Uz*rl8YOrGier6ao+)gKC)VLhZ3l^X>?pll*H-5^E8V`O-j2dPT zm%=W_Pk~WWfS)>}rU*Y3MoqE7vOc4x1V3)0rW8M3qozFC;d>ZeiLUTH${*0#?GG5M zd|l{QY>jUfo;~Kpf4{|F&XFG(CoF9h(YA{GP-Qe!*?HhD#~s$P6L+2`rw#d^?!N@A z0=@vaC~mCqks*xba+h0E<0$9`^_5Nx%&=^RJ}=0x^SLa`rIFhmOE%}P@U2F9|J(lk zw>$3KZCy4%qF#2C6zxBjH(+@I>2sAR+2feF+!sa<^G{ukS&FOM0WL_Nxp1JPQsX7Z z${u(3D>ghR^~dw@KcZ#@-OauNcOJILM3ZaKj$`5qUk58$;p@V!WgCDm&EM(Yf-{AR z{RjNJjKjz?a(4gGnb+67pDb9J_oih_bfxbB6i3L#W$ei3=0uhL=dj(83!5IT^4*75 z{>}aa#vaEHcjR{WPtNPJJe{`}A1&1%)frnX9M(Et1;C$yzO2Iw0M?FvY~UqQm_Q^C zv-n;fV2N~$6~3kDsK2Jh-#9~abl%}*N664XZaZFCHsiCp{9V%d0;A85>iuza-`)M1 zE${8_{S*{MdHd1aQ>+-(qPgw36tIi(pY?Ax_DE~Hx?gb;ZeaW{z((K0zBWtPSBE}^ zjjj1WpnsdO6L&NG&*EK;vDfj#O$61lF>jB5W8NmbD!}ZK58d947T7a%^BFd_88Ev6 ze+UnKxNgA_%ryaHzduyB>@Y=9-rMLz1-`rwP%S%3v4jEN0kq?z{OA0e@wx@jxq)Cp z_X>6?0(5zY0iQ2#FVSk*n!gipGLj>$tnl^XQZQ42VSUbcTZZ*ddRX&LVC)te&w^Iw zSn9xG+dx8|d~lcl0NQfC}W4pY2>Qp?fZ<-X;F@CZdM+VOxRR`?#kqx@Y2)sI>Q)aO7t zE7*M8=rhNY@V=e5AFz5XJ^9aCI()CAfUyBYUXD>c#L{{+J^s{af~M$0nS*NV5@3nW zkO2D}TIFbLK{KS>1C#UKwmeOC1=UcVfGMJDd>w459i;XgQ2Z8d@L4GuJsSf4b$7pP>wd!x{uXd4*Bl)H zYDqmQ_C#A&VrDNu;^<)@Y#fLcf_OAc5$eWRI{nLq_c6*s5&QDUGTgOz0Z4eIFu$== z7@P!NDg=HEMV!VC{|a3<930~W>fx9=R&H{4|H;2{GzrbD?o57Gy|2AN2 zkN*Jpl%RuvX;m%vx!IPMP$ujQ9#~fB0c`e#^Owt@V^zpQ(rIvZMgAVN*5==UiYxs6 ze&7N3mBOTz#*T@|dI@8vuEW1iKzvQcluZ?}O$v)*wz)HZ3tHKZ@$^6r;eTLeYxke@cpf8KoNNk2fJ!a9 zq>*i)hFiDp)K$p0emNb}sAP`f!?tye&u0`^G44gR^5dQbrN(*g`uBkQ&Fu^IHTAb%6eQ-Kv@R0kVDXo-xDmdW_QF_{m*E&#Ap7hnzS z5DnQ<=WFzD#0!sqJ1U)nChPJx`TJ3ABTAHFwFAwMQm_%M6aXqpiGp>nU)LmnzLFHI zucC6`Xt^k9Q0`{U>LO>#(e*}1nN2{X2dzO5q5V44;Dn&1h&=)RrEJ|MTv9r*8Lg5_ z*mj0ZuouDs)(HSxg9cF|1fAQ3%X|t-cHN7y3}XaS97$F9l8BlTe(Qf1>hlOn7K`R9 z$bZpKnhsI!qmE(%2Em__FBH}yUqp^WzJOH8lwKgGL}W}!hKwOVZ{mHi$e03bRfZ+S z^o3x%urK7$V*h?o$WI$v96x*^7i)g=p0(`D+lk%`tyL91b)aUaC!0wNSpq6!&2Sgm`tl30h&1VS3e zl%N?}ky5m1D1haMRY-C^hJI2Hq8@?oPqu^-r0pgWn|7NiR)=t5R$)Vm(lV7Y zfl4q_riS4fChQ#l0XiaJ0m@5(kTwHI^?Ce&?3=-Zy?ny)^MEt>vDScVv?SsXQle;W zn5hSWC5lwAB5Q?EO6WwkW{xL?E36e`CmMYUkBu#8ayu?Cp5HT zYQ=PTSK)E_Z} z6d-9o(&UIl zlr~&oj$ejr2n!!0ILI{=BMpHE5M>?Qf6aHM5=13#K(t*T!k7}_7<|T0v?6Qpnc`85I)^f1LX+$p+mqt<=EOF57WXAols-G}>O970woz@{8R z(GpaDW|U+zLYn1T1;Se>7n}yP0)!%r(=7xYow-w(cUVHGEkdv%5G?Hr^fUlCH{cQg zXcagI)n}-{q)QkY#wBdY?h=|(g?d7yioyk`HM>hFG%h~wn;>vFei%c#glDD#lV0KT zXbWnhIpr1h;t3Q+V}>H6SCQ}vCHgXqOGt**TCj1D7L-U7gK83qIunX#VxyzgfN!x4I)le?an>3zGep`9BRXq*bcmW7r2d*s4KYalF*IsW(z^V+ zpp=g3@aQ0Cki(Yl9F3&@5-K7iII1zmRv<_*kW_&*Vszx*^d3YBYK0&JM>_?Qh0F(4 z$N>W?d+`JM)FIM`cmtlJ8DNUG(}ze|t*H%1@CRu}2*|V~MyVCem{Gzd6wL;@5s*iW zl~Q7gZln|iC$ex5dx)Rj22Keieh9)S}R6YHApc&!&a#nDF#Mj zModmHP%0w}RBM-zazZP{Iv{`(@xCgsRVF1_+QPT$KMyn4+lbJfv^ao+rpbvBg z+fZT38BCaNWPJ&bnsMOw${E}YK1ukz)Px{ct#Khtsev(sL!H3|7{5PP6H4gN)P!qD z99zU>%dP}5+=%23jf?8Jd<BxHSc65yl8XW;B={7ad*+W{do$W(!A(iw>g%M~aKmj1XxH< zU7MwCWIdRru2wBy}buG8B~pC*^3u!7w2*or|FXQp~=IPBbS9GaW(GlQgGe(n6zb3W0o) zHfCs4Tm3+sL}j#Hb9SLoQyZp*MjO*ZqcU3vv~r@0!c;^!#p~&{VVWO5yfc{1nMl)y zjPCgN(tt^qnFx*Q@U%H_$qB5XV~2TcQyYrpMAQX?2894{NT9&^gZP1JAl;(6Og#wN zgeC-0WVnMM)1gy^I*6xT!f?_hOoS@L4y9@kJ5>8jro)+X_JIYS*=!o&<}%j-;mHbRQyN*nGtj!GHlQa;@i-S z8S!n}Gl;^_V$-v(7{m^Ain@!xeGDe$3J6rk&PVbHsRPkkdPI~p0!(Ibu$l}# zm>ABd@Iv&U1Q9q*_&xN0Z8s z!W5)RQwn?f#P-v*yvLZECEx{y62y80~pb)y|}n+=rx|7$!i9$xmUs zIg&f!6ZY6|f;e%N0)vevx`!G zAbr)5v>@m-GcJmXFyPFRK~0ARR(lqG=8xP0=CBPsc*F&J)it z;Sd7mGjRsRbfJb9)8#Cc9|)!tAWEVPqoEQNO;3_ZMnox{0U@Qe=?s#40NqgKC+27y zdbSiLvg^MzfjY7?xDHi_)ZT!L;he!NLUkDZH(XqlSt@2?o0$hlUr}d)!%REQ#?RCX zY(~1Qt`pFv6rkAKI-84myh~9v8sh8-A@U8|52P2hC8qMwrCcw;QnGNv-vw*3SSw`;(f;hxt;S8ZzETh+fI)iXf z#%M+$RM!Qlhv>irm}`Kyp>y-1SS4X}Fob8Q{!F`*GE9h{QVj#S6hEd0%#4JNtO2t` zLUmn$aQI*-Wt!L;Vu23l1Y$xEP2%z&>LgskIS8GL` z%9WPbOmkF5QVh~F@&u*5A&VzQ6ALA7#bXoPGNhQAipVlEII37^HV^6j(SWA-WN<*p z(sYuR0;q%@geN#e35ta_x^U=e-9eF_bO%l8nbjT4VxgtnK}rgXs9x|(O)@8T24aT$ zQcKekIij?b5?0b_RH1-5`nV_!S`gB(s!%L$LMj&bF!?fRkd6=<1q)`M7UYzf*rJr% z5HOrqqU45fk*Prp<>=kPAwf~o9R$C!vZ2$0lxm_0Dd!+)-nVe5Y17c$6`RJK7Niyg zq%GPKg)@T5Yjo6$QOV*C>X7K^!=b<@H6dLI(S#IYXQ>I#%pIhKP2Gpl<~VwB3+RTA zg)+$?@30vU1kJh2Ffr=0ct_{E~ zFr%VWh^8{6YUI@5Qj|3(1=C!LG=ZAk6HFMQqUXtdyHU^ks02-sN*yF3m0AhZLtO}c z#tfN<*nxBMA@|@sOd}gY?L34s>E@5K11kFPs)?QqISV!^%6BF6PE+QOJ4`LKW z@e;K<67-%%M1||Ps4k7`pkXmtW-cF06PSqv(KGM_lWSWkIKduaC~$g$lw=7FsQvdp zM+s*41k(e*q)ss-NSzq3A)a6wn2AK7VLU;JQBe8q!lM4f+CeiKO6HbmDA^rgQe{Cv zGO^wV9MkGFxejSDctOrXOcaRG>jzWz=b1-CUuD~*60wwqQGbK2&@*%g84XR&44T5l z^x)usLB24ZMdk3eQAL34(1WK%@OMx;2A;RydTt-$`OoXNNAuB^sxVI79`WCL%ig zbYQyNL~}HLMFr9vexFq!V4)R=R%sPd0h)@BI#4UWgq8%)2^VtOf0*e&7zl~^rR+*D zL8IBSEYhX}^^8QCs7XlFVLZXK*`-WR&{Tr7ScHDWl1VB-ZV>Pg!9G(Zh%HY>tpQgN zz046^jf>N0K%!@uW%NKTR!Lw)xQzZV=L*fN7_O4Qo*Iee5p2$E43iPGImHu%{Ngg2 zES_N6m<^4ErmF@KV|oR_pX~$=7r*9mWv-FXQqDAXQ~Hm(7bwWgi2-OZukoRt4;(2H zI;<0z4ksBwR3I56n+hDP8xWyLIe}-gf}T27v>>%^nie!Qpvit_Vkq^WfH}+x`ZJ7& zQcFlYR4a+>3zh~$dWKricoJEaAPnI;|0b-G zK=21k=D{j@p~R?{&JS57@fI2d*D)M=9GB$R_jXRuR7av8BvPT{OXSEi4u{HSIN<-} z+IhN#OcKpDCn)|y$_b>2eWn@^O^q%=RHj}yCrBm#zG*-jX=p=cCDJ_jga%ARKa+|O z)Gv9WW;`@)UNB{jW=<}RtOSQlTtV0jQG$b65W;2{C5Y#VsijOMXu?TrLfDY@1*FY` zBvmsPHj5tIN-xo$77-LFE2Qeh6 ztQacAQSBv@RS%{)@I&=r!g(L!VPeSsY-N}>a2dHVREDWJLF$NRWu__lxh&*>A)G}w`qhf z1!(xD5mGcYH@E=r@577XvtzPo!jw-4e$8AcA%+d=6sMOSq3QI#UlCE+b8imDiF1Rr z7^w__tY)Ydudz9QgV@@fn!r6IN{O)*DPbLA90Rgq>=o7weWaI{hb;RcgbMOcVZW1? zz}>~h+sGYTxraNCaV<2rS`+F0j`5I=zrFxFhBogU%ziKu@5M?;Tw^8DJ`i4FQ$+5y z#hoxL9R59xxY>MHX0!k{G;qMmkalC~W;XGBr1(c|ZSdDwmmqCJ?e~3F` zE=3PPw<2Jojo!4)Gtpz0(FUf%cL8*>z~5Mav7+$Coe$L(L_AI0)S+^;_bA%S#h$6)f)8UN1wW|A8*MBFaaW=WPc&5S=v@8p z@i=9v*AgQ|;x!Up>`6p8VBQ zUBDykda8?f-qnaF){QoL?y`gp)ybR?1|K-FRy^cv==tvi{_;c;2&lJS%;qp0PfBYm1s^edC&^vfFU}GwQ2O3*>0a=`B19a^k?mocLWWc#ab-Hrh75>=nmY@spIvPzAJDHUZrmeuKYRbFOSI?(k`%pkRsqNh>l-&j0}q|n-q7K zH9FmfTbEE;&vdtt%XB*)xrNGlrh9}`raSS-qls*~KA3ktPnEoB8c(40od&4EK&IX6 z^COAw%=06sx5(j<4LCfq2!}@&TX=Zn{YNL}G*xKaNAL+xj-1|t3-j2>SWQLbRK=nz zcw*$I9qA`V)}xFuy#?4v9v7*rEJKyKckzWeKBu9lw64qLYR*in^1Re|>2qSt`D-EN zsXC|F;r!@>Z}4nLGsQSy#k^>N5wO)7jV{jn8UcH~5pv?P&IoY%y4?tPF!rUmEWvD@ zOz3v#NkToDc>4nm=lKrjtxkvYb6$t@FN$+(yi;quIGhnD?QObrBmO@)ut!c{%&qao z>>o!>3oSSg%irc*Hb9Zwz0GME@E`2nVs}hjDf59b`$zEE6H>>Wd+hw!X5kqKEtqp| z^l$6lXyfFwOsBgsL96oux;Ku;(+Ygq?I?IcTEu-Nk9xy#c!&KhzGcTK^t-n@ExWMa zaX(6KMyr-B$Tq+sNhnFVBO zLv4aQJX{bfzX(rXB=!hI3D~g_hdizFEd}{lwgN$K0*;vLax7wa0TbDQ?#<}8Wdq9k zq}RA8k6F*hcXa~%ZdCU~_vZ1yU5$*+9Dg4g@^o)OEgwfMm;uK$d5NQ79jZb<_Q^U}^VOTg>_i|86{Sp+qn1uJkp=?Bl`t#g=Zr!fi1H1Ddcr zi5s`EUBk*e6}GcU6AK!9-X61$vAm7my8UkerNt;x(Y?h6kkOREA$9X)P=J6z#o3uL z`^CACQ24+Lq=E>XxOHMoc{r*U1z*P4;xb^_mRZi0D2L%=QB;H>^?}CG1Zwu-*u+gv zUTbL1L%yed#l~D6+PUB-uZ9{AuI;ahJ}ZxRT!jpH>eQ_E2;4!;nhgJn-=;>415kkeX1H*@cF8`bOzJM&U zRr2{MY=lX)VcgeF)S!$6Q*_81;~lIY{OBa3QFh^x-m|112j{SY!_?{YMfALtfEd(BpM-WHd{6U<^-w}#E9V{ zqVYa7cqj@`i3~95fFJ&5BvDdw z45msMAC5V490i>tQ{{}arOMDqR2d!>RkmfJN}))g45v4c&HzWt8Brw#1}Kxc1wxhR5C~kDTVy5feg5aPFmsDA^QFm3 zD3El@$xfAnHF)!Asj@A-?jckO{WNMp***ecrVB})4dbzF(LxfsTf{jr#oaHV#ZyB? zDHs@uFd<>I2A?r1!feSxm>^2(j*&HZ-AJ;saa4pE_P=P^l7N=x3~eK5@f5VoXr_sL z7PJ`}i8jI0)H5k#Y6w;0sHrp7;LyeCl#`t*fz}N5O+N$b8<3wyR?bPUI}26f9FI{N zm3qS~E}qP4RHmtKjr~ze%+N@LnUt7VEGvAzjYbv$A8J}Ai85v%mu97(o+{f$qRQq` zQDq>DxE!j%wQ@MEU5UM+OpOnaO9*h%gdeKG7o1juH=Y$$Hm6h0=%}(~v{V^LuR9A> za<|!2kb+LQH;4p?9;al%uxl$uyE++iGLtna7}7|RA%Ia?lxShjsOS+#ZfSZP(bZ{7 z(&Qk=aU|^>2FM`V;a#23s7P`_7Lo+U25IohGnSGjdynkx)QwD)*ax1@&nEiuB^WtD zCA|@@Npj=dVtU(yTpc(_>130gBnPYSw$YO0jP$y*kYwYi1!YSHS*BQ*-gmnC<|YrO zheLG+k2IyaQNF|2p}RC=>vV1p4ws}h+ostaJs+yX@vw4KAMoJWNZ>aRo$aX(?kXpriUkK-3Mjaj*3QC^ zWT+8Nl16Fw)>O2TCYKrg^8K+GsTzZFs=Na>aOprE@l;(T+Qp z*d3Mr!*~k!W4wO=tLpqMPV}%c+QOE(M`*dBmk@#;Wx<}yU&B>)+#J+HA0t{rrxk1j zf#H``c3yKfi(in`YKZreXpIN7%tdmR9Us<<7J*V1mfsl%u{4v@Uyjba*JLpo_aZSD zqpkOGF&gLL&VCwl@U-5!`*RpLhk>}mEE@cX5|{2aN)e~qWk7q z9V?%3clX=wn>Y5pS!3=CTISt0yx|fL`>g6#B)~=1Sz*&z`}+QLG@jOVytgO*)JJr= zfLeawC_b=fsaEP6gK_~}IaPctYfdY;dg&pLGwnMm|MZoq_QzduY}odHqRR!;n)3%$ zo9waF_jQ!h?JqhpsH3abWVSDuBp#g&wLxQvz3glDR=NxBpvo6$?a?Ln`M{v6aj;EW zXV;QRD2KvQsN_QFiCO6GNygXgeB-JOs!18I*hEuKP+k8~sRp^NFer1(q_7bNC<&Rq zsE23Z)cr+58~VH09ya^?1;LK)@7%TO!3pX8)!A=B)iE*E-??k=_G&o%`=-vd*9RRd z)~YX<1?JgrgZ;ZU(d};(W$E_Zw1FJd&*5(2Lm}l7K-i7F#!c2>0~}3H*)3Mb%$FQ9 zPrwcE7&lstyR62G%m6Cf9jnd_)T>)AFkxvOOQU=(xWa>xc1K&S#;4=OMr%$(P)(dM z5I43*)-jdP9kX{5zm~(6w>$TRFEJdkd#sjC{;ueR$a-t%M#qY-Dcd9cxvhVkAH7Hh zA-CQ-uct}|G#&G<@=ac#V~KB(T#23McuFyOlU0b^!P>?>BIyYPwV zIDc0rY_D|2!xJJ)PUgfGoopQ&c?0>PsNFR$+Gd?Ux2GaSfTJhBA;XGM5c$xQgDa;h zzm(9VF}RRwh4ZSw?Af!`6>syM3->n~;~L_N zJb^$!U66R#`r-bf_#!(Ceps?fS@04mXlFrJ^5NLuFqJm4#N}-rZ}zNn-)-TWfIKI@ zamE)}1L~@m*%-t@_!H=aF@fF44-mhzQQ4IrmZ3&EE}Bd{{AESr;e3DBytSbiS_wH1 zgFe0t3bCkvoGkD8ZU~;=s|T9*f(^g-qVdiHj?SOrx5=lwQK0_Gja2AEkl3BaT0Koy z>c`WXZb$D?J#ro^ zutt&9-_?3yP))gB?y*mhuCmEmt3K!FGh+3ECM!^GUxq3X3X;7yO2?BttB;16Ivzhx{L|< zzylumXyRGxw9W&q*LNNZUk5;ceBH4);rO2X+SEVDuU&mhetqi7*N(=UJ}2D`s)2V1 zir0T^zOkNC`Msji_p=_#Bby2AhNf^iIrMW?qvv*ks&E8D!Uf z_2t-S`(m?man%*O`6TM^%8A{I9PLw2I2w=}eqwE;3z^kVufydAhqLk%58v+Cx54ZR zir#FMq7!HE#fi1@O{(ytW?>{bqu$6`)N~4o-zbL<9vxJ;E2HN0l3jyJZf8kWvAyg` z$JeJps8B!w@7z|BQ;N>Ao;yEi94b8Qm|O|S^J1=L##U_5S~0Mv`h(|}_1y8g6x>#b zqIf*8$LOAd%Yp4vdh)uXH(KXm$bIoUJoUA;>hdYV$n$TLp~4GpQ|5}_VXp^Q{s1dX zBI{i8>is17Gpd{P8*g!{e;yALTCE(%E}BbQq#pg=rw&Zwo58DF;J>AG$t|#d6S`zl zrY?CDY6hTF)2XGvkya!h%2Xr<3N;m(vc?cS;FT|O(Kjd*bcKq-5m2)%(i!T3a3LN; z!GxUwb)ET`njoAn_K7d?h&t$kp!yzI9bm9p=o{GWYPU9Y@r9{@EQixI5F}lax6cT% zW?@wcl!D5v(P?5O5udoVMQgOoNZ{9(pB=wquiG2^@u{D3bo`L4sZFZy^0M0He;W3b zqwLU4w_Lb3- zw6N%7oee?fN%hG-*XAHg%9mV^#+233EegN-(ko~=t?@!=;Wbk{^5612D zMvV^^z}U}3YkX_tHEyi;F=|{vqs7}`lz+SI)SV?pjlFOnHalLpHSz~Xv<3!W7&cAL ztj?!f^Nkwo;|>y3l&T_HW9`qq2?pUS(KhdV1TXL=XS7^ErDTKgwImpNhgh}cUgnJ7 z=~BNrax~s^qgeeIAH$F4r#GPe-#bwXrd{~Fpt|=O;ep6{7k!ugMqcRSL@cYAZ7i!~ z*KV|`zeY{QomSKmMJ=trn;-gRqM=$z{D!2}i3PMxwD) z3gP03NUtMiUy5fj&wa5Qa%rsZYyD8@6@p2`H+`ik++@K*TeO*@l!Q2FirhBuvum4j zYSlasdj19HJLqm4hBTH>;swO(XWt9v9>nXs4Sh4&vtspvppByaQtf<8kEb;?0q55z zy1KTff;Lx9PX&iMr-%RHhWN*iIK@2`LYO@j9{teGpV0x3(Vv+k^yfb$&H~h(ZGU*uRu?!ryKn)aPb&5{Os#f1I{z6@AU4Lw$}4uf(LYwaLyR~4 z8|!cJN{@X&J@ZnEvdco}rBODw;02bSa~_L__=QOF-u3GhhH4;}2O-R&;r|LmbIQHl~S9FQTnB|6gn;$K@FJA3t70__L(F&m~ zbdz`_@+p{I{*1qRH1g;0!9nt8L}8=HW0t*a7KF!YAg6Y)^k{i8h2yN!<4y@gf^vX` z$U>jf26^DDhujbu(x8GckJ5z4jcTy)aEb5`v7trC)Q`<=bww{X)@H~L87EVK41LwP z(Uc+GgJei-S}t4#2o4C5c`EpC2$^_7BAcc0T-QR zhdX_R*!MR0&3* zL$UX2tkAedj*$gZro9JAKDFBF=v<15M!}~=FiR2|=!4n#^y3mx1r5>c!a$);hj8Py zwd%grgPHMKW!FGL!z{5GL8~zV{RTH$zb&!TI7a#`t+&+_xN6Q;=v$apMF^+Z_#04r zLFFK9FV*O=);u-#I6yiCjd%shSQ*_fNdF6}E>ZQ6E3M9;dP!pUwCnNxS{Uv884Z2u z{yeqiXdJbB*%W>~0d+IFgF8DLE=n}4@~;xHHbTw1zV;#Yy@Tj{qP`N;S8Uc>r1paU zBkPKWsgv~Q3aU9{HIH|NJ)!4-!O)tEpqsyhK%zy}iq^r{Le9>Do{zNOcQU8d6M8vW z?#oiHFjcO$0nK|6j&*Sqyu^F3LG>WeKq_)Ef{s}7c@652Hz8YKpS_}Q<{N7vDn^4` zlv!QO@os+VXj~$ZGlC8E>d9k-*cxf~Rpzu_P_M4kz7K-wmG#Pvn|jU#s0rp(sj}kA zP#97jBXM;6I}B!Y95V$EY!+$9(BBF?M0nh&vLXahfGT|P@UoN2i@Br6yyyj*EaU>{ z;wur1|aj4eA4PRD)mlp|$GM{eK4I1bQRG@HFLrxhBM9cCqZ&CU(L1u*7vrh_R` zu^V&Cj@(m%Eg!!4Rs);$VJ97y?CQ7iv+SpaN z6G0h|krONbI~2{qs%n%3Z0<%MBJbq3p5KG?Ef(y@?hFqeM+uI3 zC0xVTgp1%;J38vvekFFUXFghm-9ODvp^ljsgjS7lmL9<8B(l(XbbMv%!%OiY1`~0q z`?o=%OSt5G~50%n~@x~48LS<7yG$0ebR9nsIgphZsBHgK`|5*PKGQtPV(a)NiPP^y5(q zkpIVv>3Hyr9?*X!XBLBoO(qtZItpSE2{sSH|2L!;O0eA-(unv!x2Rpui3Er4y*RWR znn=|`z=uL^Tzv*ts8A>%ORZ-7dp-04Rhy^D8iZ^T_e;%`7$ap-C(kbgC%ZXEbZzSK zyFdbC=00eVdkzWCU@%zA)`qQR>s!yOS9@i4)mm>HSKIWZv6~@q#?-;d9Y4k|HD0Z1 zcrqz?{}vB}>UVo!lK`D=HRVn7RhUzq-Ud~Ovi-KE+y?bmiHYg(g5RNwIfCu$82YWu z5jFs0R8yxGsK=-90V9^q`r3vD6|?f5lQLIUmtm0FH*%25dcqSL0&3&BM3Xk6gH_k7 zOEw6E$cDlE?K~N#rmI7}mqYX4(DXHE{?AHulbZjG#_-Q!DbC@#8dQ!1Nht=}WEw)u z6wJouw%!t1V$W&)3}#OBhW1qtOTLGD z-fi;{WZ)AdYsianlHVaOaPOuW<4*jkkLYQ%`B}(rSddq50IJnfYmdgi|4i+bPXD@S zhduzjLk{dj{%|h})Z%Ct{?;QIdpCZA*!1O9{4xQc*dI4KnsS5cqpk!gULxo$5!zM%Dp-#>>wsY}$ ziHhMN^`WhA1|HTbH&TCU)z>kBT1&uG8?Fph3qTjBW|>x{QBX$%;x!szI28s|VKa^+ zY2VlXA+_@z5V72l4>zJnElkY^gx9pL+cpxWtpOi6>V@j^BcN zK&eYy?B5tUezD_w-7))2G9bpzvm}g7UH~3iVpFB+XS<1AgvuQq$IwD-R$L_A&R#(& zF;upG$#u1Awv8yaMk`kdYBr&)7~P=nRdb*xQ`P(&uP6{oL?F0n@5gH5AQ}m|8RO6m zC+vFsl!|5Vh?Svtv+LDI_M0-p(eY)}VT^m6y@vj%${E-bWr}|(Jm9iTj{C>rMdUc_ zm%S`77ezsvGtk+Z*qsRc89>qtc`^OFYN8fFSVOi0>hCO8`%XTcjT+F|5hW!Cz zVMo;dzztTpub6suDrNhrBKG8F^S z`hnVp`uckH3t=r8{I>x%GZQF2W&wZB{wHPf!{22L0I@Eh#IxvAXqTrf72VvqukEAQ zdG6m5^vFXfFhouS;29rFssUIHa>1|YKQ81UQ{tu zPwa~iAgW}{Jn7$}z6ra)cnxWUH(H}ruNzg&lI!jr8?EX^9iMB;tySMoT2KYhMXffi ziY^x82&yQ(vg^&tpqW~2>Ma;MqL|W)T#{&SvAaQi<&S8*$^#mN1{x2~e(v%9tJJN? zAd_p_e>))U8{(}9K~MM{K@$zM1`mxY`_vYDs}t|wt03z|Ot-dAG^l&WXh~jmh(iCH zW(7!M3#hfCS4Do@A$1&zR@sfJ-s>5kSTg=MR6hM5zMhjvxTE6fzch0Ev$#g-oPLLY zU*z~jj_<9FdFG1f2F5mv5RcA%b>|w2ml;gg;!GA%+5%X+F- zqRE`-%r!U%ZssA>)>HMAJZXI^W?g2?bVaKkGIAsB51h<##7Zb(bBy{!1G|mZ*P~+u z&{%aGu-%`JccP#UqCO)xT6M^%S`%x7Dta`!cokzBRol@CQBIFW=dL#9zDm_}+*s^3 zs&Z+*RN7k(DIjPatg)|fhL7j)KQq`P+YUk-9Tu9{&J1!7fe z0_uyuA#DoHy+e!w)m0C%j8NqC)Y}*Eww5fW@Ljz1^?>Tlrwb|St4m&juki9AdAT-lKi|gIrHaK;#hA4Em!_&%z$zB+w)9jT0`=uA`La=^B3<@q z)vLO`HK^_(UFDoql~>^_W9I9|;j)=sj$2y0{2M!uE%6#vyN&u+5v`6^J#QSxkRfh9 zEjq^XT-nz4!-B*^k*Zg%)zQ{NWv#p0|HYWu3p3=q1MkG{$SvGDJKpMy&g@k;qI1S} zXx-MgOpC3icFK03=2k!;82BItKeEn4F8@CIjAm;hi+gj>>XNVE5J;W>m*_qMDL+6E zTPxN(sD58FT6+tR1le3`uX^UfoSZ3D&({XhP~3$WkTejUmcS~9G@w44tf`>$*gfAd z<^tnu(9s5dZd0H703{HHJnVpc299$2$KfrCMHYLYhild5P3(#lNJb$Km_49wtT-7D zeF1VtWOh(}@)_xEgIf0(rR1Y1o-RmtfWRoYN2f*3mHO|(z-l*!TNVAM880bnXtMed zrhsLrE*BR=+{xR(WH8Q3=yi`zJ+8!K@d+I=pXkm@Ex>(coC=8@|@mH#5NP2wn3GmMPyBJtetY(e1_>dN$PgxjPGuZrD8K^N+;QvW6cMXCzQ&=3k86e3UOubLyQk(U9Wz) z3U$CY!cBq(L*GcU%?-jfy%Lg1vCV&%H29xyXEnoL>Y+yy&I99R^yd9B&C$$E(N|9Uj$EdtZNtLgDTof zDf9Qo@IQLzQOj`!QGx4)WVo-P5aw`;18T7je=^h=_L0I|YW&ZWEMALppde>`z|1e| zA5$O1hou3vP8=!c1H4h2n^Bb;YbzWB~H_k~@q;_2^m&SF$uqjLWP3 zRZkQXi{=s+wtd zU0pWN&N)PPQ*P`o#U4Dlr0>smzK zk4P9(WY8Xf#i$H3pBR;K_pkje>Vq&d-UYbMsgQz;ra=_>W|{K6^H|$QgSF~{MCAy~ zY%_Wgm~rlWEwY7y8K(qhoYQAv%EX1h%p6}4goZaK)|T5k1%a9PlFI^j%0!ph`l4tVoRm=Sfp) zF%yeHjnF~;m*_6R>%hdE z_P8tc=oj*+K`l%@`WHOH!1~mue{V9B47ZWifP|tDD^NWQkuVm3PM455Cb1Z2PGHRCCMKn@NDq&L>IiaK z!Pg0)bB}JWkIp1TnhvWooxm-@jcasNT^>k$!^fby+(Km{6?|w+-Myrl${y_(sRvS~ zPlPQXfkB+J&j_$PdjWup@$`C?t0gYt=_QmB^(ZYcAje}>c|c81RrE=`Vm#d?@pNab zg$(4uLt={qr+y-JQLD%z#r`}983b3CqDYRGHK!z{4kaZ1>uLQ!Jr*O@s+UvN4s{-p zNg|=7arHkrSkkx`eNrTiDPn$-sB>fy;}#K93=!iI5%UodF+RuS4t6hL@D;N=wcL!5ZfqWi8q*f8rY6E zY}tG{1}`ITTI9Vi<9+M~WK2yScp5z&*fZq`REhxWXQZ3yE;Vd~?UlXQ{vh6SQ>ju5_{TUe>RMJIvWNX%ehVXo#5txt=3+6mh$wSd z|K~08%pPze9%~BPefF}utd3jmLP{iJXaxYx1GKnnCGx!U6-wHe>)W?KU^omrU_IZm zvuu6)o43su*ha|illqPI-;MlXvgL{H<71coQ76;Qifrwz?(Aygo`bdq<8EtN&*H*b zW0K*DAcyl(V{66E{djbtVU0ZI#ef%Xy=`aj{JbaTt-Wo&f&XQNG*cKe!5MOg>aE}q z8zOw*5KX7u1G|%-jpqGu-?A}`vz0WRsBv`-SW2z@LAt%b#S^d>X7Fc)Zy|q{`xr9- z$rRy5qrP}zFGDcLkyCpy z%;tP?lq=Ma_1tmaosjJi7_PE`ddDs6(bE~~D&(%#t8c?mq5V*z?lrG!)M8vgzWEFl zUFlQknfkK0GcJ^?qc+WDZO9;m^`OHrA5qWjI~vDpacd61B*6DB{9$jI*bmt?iNkEi zi)E+8rJ?EI71N?**(vd8Axa!O4}A*l+WqUhd*;F)1UF0j*%E3Qp?9ozi9kw zsp3-lMB`=A52jy+_(Sf<*X*1I_O!a-6jX0Eh4|g$z)-G!5C3ln*486v^G$Ik#p%dH zZ;Tge)oLUVY18RaiGo$AX@VYR^i*JAa{69|!%AJ@!c_2aiN^|FHsLWW1utUmi~dI5 z*E7kfv|epRUSvdv+kb>Yv6}~bVmIPDOlG~JUBzg}DzQs26pK)tbHT3q_^MUh=`Ns_ zr7CO0Tbc|{8t+ILggc6GO`wnP3+y*ZL>U$kU~l%-0e1Xv!hXMaYXZB2T?g!IB%gt1 zV*>UnX)Oi&YcMYpu%FyXumtw4c#Ou~kyE*gn$d#-6aHHDw7?{-{5uL|@j^+s_3BSz zj#v|!7K>4q;UX8HXQqXbs^%~7icoXcXl4z${QEF83E#@)k3%z+`wzgVFO?t#LZ0f# z4otkDY^9o>>NG8A(0NUyi?r=_+}DfYr8@CoP9OA(tD4m)lT)~!P2tunauxZWFexXq zX?$MJUoN0j+Mpr_(ep*TvXfhh&=jpvcfM;9Vfb%Qm)C-4_#-J+1{7xscrEbH>w^$o#cE^XO>2G?wlR4;af@D{Dtzq`V~MCOJKF98 z1T$`bAlP8pr@oaentP*eAMLW7v>gwZ!JIE@y(S%RNO4%TM(8@A9+9x2P|7{Pn?DYt zgB4UF0f|W!KIF3(mmO_o9)A+?JKl+hADRQ~HzmFfSNZqhOEk+bB-yN4oIP)1Wq|9_FHCLyz7pD%dlft7UT30~^hcAdJ@=1IF>%2LC=)BLWFB*U|a! zD5dkMg6fMsLUP=n=0mD6b#oDB4^E2dAUgLS@JTS(Ke3^Ig8GCm6%68=E7S!tAO13>kx7~lK>X-RSmZ(Ew>kG-d>Khx>FG0+r1sxqNU>dNVqZTdy9&%K)efWd0 z2QQ;+^QfKQ)f|MHBpbj{#dFo1x7Dl3|17-XL``6l_iHg}7Sht=y9OO%cFap$Sz zpL$4}Jcy{Y`>Z+POF|JKGE_wKthwo{FwfRKM@U^*gEX3M>-8}+(4MT1snG;gggSH7 zKO-x(UXAYsDh}0ClB;*H9<$!qt&Z>)QmR1pnOEiNCG)COJu9V-t1bAAtivoFWKpG~ zgR9V?e#WYwAngqwYnu%8CN`m4eFqIS(?NUCM&K>aN=gcL+Cg$TN$WT9f!^SIXdQ{ zrdn{42P6|$Uls3JD4VlN{S$5nad!|Wv=zJnhdR}*>u*TbkKEA>WXxKrAH6NbU!{5p zGl7wHK6ZEjHPAS4L&|eG8C76GP`$Z}B?KSOq6BC1_KH>zPI&^4pijj5!zjq^YXdLp zP|`Z#7522_FG%gjup=C>)W8&1Oj(-t?NZbLO@tR{)2n{+7~kNd@GX&hU~gTH(tEr3 z3|PIJ*^*8$-hchQJn47pt=#aW?hv1#o8eEO9|iU5ZIBHr()%ezu+$>-MU1gYjItsc z^jLy;An6eU-aiH=udKQ{4|{#c92O?LeuY}_meC$6B-WFKG5(i6LNYO}a{s;tRSH4? z?r=n{P!3c5VPB|vAxJCb;T5VTb#oy``Ss_C8;o*zQ9>4eNS82WVQ#_<4kKo%Y?5cp zK}yNOmlEn#vH1n!l zU56{M!5oOOB3wd1QILs{DsgmNf%-*AjYZ`NA!TJh5D-6%@|+6m(^b^KP5lmQ5D7&Q zf_lq?s$Cuuf{xFmNvOqOwF$v`^;f^;H+bE4G0Im2ktciNbv_aSaIskpVx{btx=0vP zIGiDBwxGWAV-~kwp9BBg@vUY&u2+wXvnZ7JpKyx&$I#NRMZlq@)`o^^_0;d>E1>)$ z)&gqzzG!d}G7n=2@Z{T~iKXlJ;|c1xGf_u)4FWk1_VzIe%9Co5mqbnKRx=Z&9G%oh zwbg1~vb77@8iK+8L~G$|ad%asrEr0+;`~Gv;chfkL37^?Vx5s_to3Rgu18&;F$z z4L*&5*F5>HdbLm|HgPC_0vo*VbC7TKYF6@T=V$N$E&H@KJn8Fm?*!|060 zkn;Y>93skFk%QEhdumB#?H}R^4qOs-0x9|ebU^4#x z@k9g8rZITrQGN2gt^dj_J97{Cin<5tIi$u3Z1<;f}rpX}Ud_Qs!RJ?xeU50hlvRLz5dDvp*{&Pm)F+U zs%OO>kYTXlHB>iVz)bi>0t>f^xpM`IUh$aO-@Cc~*NL?Sr|uUuR0HDcr>#)I=Rqt1 zQ!6ASB7ObOlkqrgilU&p=5M7^qetsrFb<3(e#Xw-k77MJkS{rX5nS?d-xBizYkuy; zC2&z%%P}ogm>R|?IjO>>8dJLSb7&bp{9mfX|3B^)g7P@89eXC#V|QF*zig2z+vC20 z?Q!FGLHXYJUnYgMVin+R*js06m37JFU?M*a3*Ij_N|qsGujK2|l4TWTRo3?X^Nd@p zW!;Ni65r29ggR*{a++Cs5C1oXJ*>roBZ!;R}dhqUTJ4!}?Q8e<^e@V1D#3UvIMX0s<^i5VQLzaDBv3 zQPVgqJa!5@QkPsAIX>@Q}((5-G1eXCc(g8S^U1+a(x z_mmBUugA8V4eE9zn*o3LNY4{u?}}=x|7mPG?biOhF%B~{)(5cj#tnE=w!Qsebh_2B z7@y`03?zuJK32pd(!Aa8j^(7DajW$vOd>eTo^{;69WWYC6h0X%x)-lpGM^T+{)179 ziGYbWMGkNh%*i)>Tmh@iKs{}EGq&vwH%k7ErLfyj%U;v7JToI(daHmhXLA0hkTYuq zF)TRm!KMi6>M@-M!V_eM2U#>*cJ^L18`vf^qsvs6`db;T_B9+Uj1?GmWjSQQQ~oCC2iG-uuktCD8-tRlT z3cDfbkE@UU3PBI`AQUQdYq^QrwKP|}{KFQyF@i(q(<@Ioxgf7p+t2vMB{{TET2*fc z)dKJX>;)>d)A%)M?f(o$Mo_ua+W)*XqP{G`iUK77E9_n=c9_ndVmA+ji-RoZt5ZG+k;K`su-B)*gPV^Im-5A43QYhX7@Q6PE|5!wa2q*hhH`6R&DjMve@ zFuknf=OB55>VpXPX`BB`4eA<1LnWIt^2V69Phv|11R*6LMB&VN?Uk5#0d^Ewjbi@sFt?}88M)g+r zM5qqpZu>cKtfoGdL_>IysEnqZCZY#H7<8ltGb}$5&yB#=1=SbCS%u}@`kVxu^+I^W ze#ZQi9}wD)Hq^o?d<7^qX&+_q;N_oaz)>VUxH|W?2GxD9KyF8a^G6k>90piC7XEc3 z{1Q|LAqRr0akCyh8#WNSQg}oCR3ssZ1#1jBC^9fl0sZK(u{)@)Mt>+SU>ux|bXPAV zae6w^?Slmv#Sn4XCZV#n|HIz7z(-YIiGPy0kO4+!kWo{K5+%0Lq#8{sp%ZNa35kjr z49RGDxvkZ7s#ax2L3ujK%6J*2-FB;6+uE($$F|$L+ZUp>41ol&B9E#lKG0hGi&GU} zyhP^zJ?GxZ1Mtz;KK{EOK4k9wz3%UE&iS2le&=_N80#&em}nlRvqv_;`d`92G?V5r zjdZic{5u=JbD{lveNW%u$+_A-(|k#u!P$_U2gwzKGdbmr4u!{<35)a9?@NbOKsX2n z!hQtqc$){ZFKI^VodyWI`TIz2HFv9!sM-NT0?LyoZjmBPN}%I$EpqPHRCcZAt|EA2 z&fwKvY(+${ZI+GRd=iqOD~uypYS;}HaS#yCYOt#q#m*K=)%<v$k%%MrK_agWA7}J_(NloNz zTY^d#Ve}fbA7ww?@6?bS3}g7IvVEe$ml+eWdWC)B?ykH*=dXFDi}k4pcaPYk6Ti>f z^9*J^!^S;QnbvC()ty@x-9(XMoEu5B*NW79>wb}M%1EQha+eHj97C1@M=LhNa4yid^Z^x@XH$10E0vX~2rO;9L#(Sh?RSe@vx>cVo;P)%yZ zf*;9rF;~S~GRdObX|iyOAyh=NKILI0aF$q2FOUIwrgkv#PVr*=u*<@ofbt=+H!sk! z8P1ZnYQs-0Y+@4RqIC%^iVKKZIyapoMGQN*eg>~3s#_w@OKZbrs+cgzml>q+31$PgA5ZIvtQELLbP=gJSvD4#m{ieS-gV)ObKmjbB+Sd} zI-mlq<2kGBp#4bMvt?XemldIh6^ybx5cDM0SgBgBMNTQ$bw%JcasFMpD=?~Q7b#vR zWz>|?UEwVYw#h{6gv%$NSa^=TJ>~yLzF$=KYFRg+!2bB(xb5@wzQowp*ZrzT~El}pv+r?W$B>mdl|QR2$Xu7Bu&c;$by z*#y|x=(^~M(|;I}Dk@NPp`~6?7065PXPI6)3YmQkCSEp}OUy?XJMb&_JNMC({=ocNB{xsA-($|E$lKy=C_XOQ^?yqN>uJn-fThcKL-K2 z{(RdDjiDRClz&;cOXbFF*afmF`6bb9RjI zo`pv{@@0=D2KQ>1BjIWa`65&c2bn~UxqTBkcB?hu{12CRKbP{}9{Lf&3>MNs(4cTy z9n6I!3xjUSspK;?%O^%-;sw(D_4VL3RD916AB#N zPKmiPEv-AcojD0E&I+m$ys5<)OhqxxM~fuvWvywFC(a{k`4xdx6fT7X;^}w_=0P|u z@djFB#;(xr3fiT~kaTlppT4=wxmIg-sd7q;>WaZlPQv!wOskLu00iLBp6o7wA?YPo z+GsOhoTojNhTG+=q@an~dL81fvNc=w!oDmZ)Dq&;eQTs3Vn?9kQxw#+yZh71++I=g zTMPR7dW<#+h!!>7RYy!J9=7ZauV3_URBtu2`m6tu{HP3vzuaDm& zvHi5%GDc(Vw>m3)jcP$LbsTc|h_QcUOPA>`G*7xu#pY3-002_a?c*YehS3)xZF#ce z`D~Gyh$6uq@KiFH#vopv%vXV1fkWzyCs|^+%|{}mN@1%x>Bhb~!j;(tdg-GHM@Y+; z)6pwd=(K%Kp+l$gEm`Umj(S}U-@(BA28rC560kn z;XA~>4b5N(;@oN$J>YavH8@>BztB7h-{)P8*5dAO$oEuM{H|ceB#WyeY~jnUm$zP2 z)}im)8@Ke@YfkZCiL~^2&k~PEBr{$u&z4^I(bxYN?0+oof2{3)T+;vO$?I#uli&Yn z^*{RhAA|jm#r==9^0@Q`db`9P$}@dUPBEfu_kZ8svh)S%ubuX8J;hT?$2U8V#r=;M z0p?QCpyeK!&fFtwlY8VN?jw!5kBObNPFiATaqc0Qd+_BRtlUHXh|Sz>!7uOD5nGZW zL!gL2@@sN}OE^W2ZoRA9aNBDtdX#eM9pw_U3Xp{2^=oRewEKBn(o|LZpJ`|JUTCgX zaHxq|;ULOUD7LRd5Opx<5;UrM->KQuECv+!3h~Cc@+(XsuFH%^G$t+zwc}p-^2*&4 z#$(Jb#M1oYeg#ie{%1Z1;6kC!xm&jC@4-9dG|3;e1Lxsc?*wOehhU21H|jfj7 zunc1tvls+n*5F3OqoG4IqwPt00yeHux*BSKG?x`I4?3HQW2yC*aBleh7jvgqCY%u; zEj%<1-x)hr9N#Sr2-Qhh$0h53t`}1#Z|P0EoHu_*;aGJ~;ZYldFY}Iv=JbKmV z`V82!XAl+*TI~+_7%>Ot@>BV)`Rt~++i4_ z4`t6bp|(+;w&Wtq+@bU+s1rf-)DK)E=X|B;D)1NFr60w=V$;itJ^VHQCeSuy6Z}Xr~nPadGC>`)VL}d}ND8^5i zb8|o)l;rPurp=7WjUv#woz9Q@R!SiIJ}Y?Xjbol%Y7)-+~>~P}|2ZL!-_HG%mcmEo|kj zz!s6F*j~qN=j}^g$ZreOuZu)5B>lTCXHMkXGA9r+E!Y<_|33KJ15HzGQrK} zi+a#{WNQMY2etk5p?#4sAyO~uH$#xsbV1`Mv@h;UuWP@AQXU- zjh;NXS`XwRSLLvLKzLBT&@*hF(C;Po<;92Eo(aL2kKjAQv7i{LWB?PVTx-M+fq};V zS-Z1ehgvINVPk7-e~46PR3Y;O(upu|e%y#1@6aI~Z(Z~{_Ki<`SH>L56!bI%r7!j~ z6dO7VgSbo8Ag54>NFf%ls3X~SmVC++A3C)WH+%#hjtAJ>dnQR2h|EESR9lviX)k!w zCclfKCg4b;y1A9;zI>)YkWjI`!@mCs3=1G^52Ytm15TW*GfLfxIyyy7Ut7k%#Ob| zgVVzSJ%MObIVf{(rpRnvRZ^5#U2qqunRuZfRh6GU=ncQRuwc$?T7Zd66^-Ypaa~zA zdn$UKi*(yWM|d_L!lKDDH8mq^AMDJ|_a=J0>1@6ov^Oo4d$t^2VG(qo&JL|gKkwc4 z^0Lv);TB@tgY|>EJfL@nKk9zR_e$)MY~n%UGU+C6UVQZ(z{=;|e(9O4Fmi-xw_=SFZlE0EL%-5_LMVCP}M1w+3!s%}lpN68kyvm3zRP^5eL}4yU5oRQZp?@232Bh>*nT%ci;4 zgx}Fqm@C5X^83i#*_4zs;5Rk3IsCS!HrX2o;RM|*JQePq6)6k^i*5}BLw_GAeVCKm zjf9r@O`w!czb3D10;8cB2)ZEabO4GaMaMqv|ryLB+lBl4OEI zPS8P#b$-tUN<8dFjce3sp&yZpH}Bt1GuwHwJyNa|Z1`m)->tbF>ae*nNJ< z-XyzEuxD~`7!70!Ou3v!N?@~##0vC~5p=3vff2+?5AFW*=O4NIZRQ2lZCD?g1`M3k z96h+eo*evse!R>c`F&sP=yuVmD6&s82bU21B-s9s{VA_;S_$D-`Y_t@JSH1%n|a*H zc)uwHdyr>>_-t`l2H_WE=l}NQkyC->SQDwiVT;r@bW(NVSscOJ1rS(se^2s)UTsLqS~6Z5%-bZDvm&q#Ut=#w$Q9p%9t z4TC#6X2LWp9>nN$=!d8;{j&mJ(f&F7(;sJ}z*R;E{waG1|MWHFruXKb-bP6_h<|!l z_$OcuZJ`iHf()a#@jeR&HH!Us$<0||pe}%cdP^9n*)w|N3=k^TGlv>SWS|-agCB)~ zikQyp=*!^@lm|r?9D)S8kybE)&M{DqoC5>p-VY7@Vp0~CU@#|DFqo6tfhD|hQUpyq zl#`Mic2}oayxME8`I|}IM&1rjwiZsIUqc{Snd4H;c}YSt z9-9i?0*|z9=bp_czcBJ}enE01>bCL=uEOC%INEVXI*8U?{S`%g+8c8ipZ$oM zKZx)^Y+Yfr55-icL4ogxU1z1{WoagVPM4k6(pI^{u3Bk7o_;xKZ`|{wIC6TjbGMxq zj^OceTTmWWzLD4&v>*3wPrr;ccje=5p>bR6v}F05Eb9na7Fk{Cm-7c@C7#c(eB7Jf z^75Xi#C4VU*P88JGsD~SCxs5u0Xh5)19-3A)A7nTyxS%JPw2Yv1X61gCKHTt)1K|> zlxW=g#LoQ6O6(DbkydAGMCV9J7-u&lypbQI6y1$t>=%`OFig@jG zmwPbXykIDv{4Y$uFFh6#S@wd8H7>tEm& z<+0&4_Qt@}^>#Pj5s#8h^E>|fQ-Tyj?3#C6V(-`i*|L#-C*)+KK{+&AHrMY2ooo)B z=N(J!z|_seoj69e+HEf-KT$~T`)%ig#wst$Pb3!k@)ihFHbOLJ|DIF1#q(jxhB705 zml`E~FuWVsNug^lWjeG$Szn)M`X&YKFk#>A79V1z+-5JdFYw##K`em0`i8j=Ot+-h z`jV4;&XYe0w@q5I*~hjLN;diJN0QZv=SL>5wXi`IVSXfA{)m?myD2s&c|mY?vYjh* zhpxk+{mQ+oFpHSc42LW_adi=6j&<0+BQzp=yKKZh_8>c5HqnZYOQf^*r|hHK<{g`| zZo}>|RA5(x--sVYP{u?r5)H(9PS=>#VE*i;4@AHm8bHsmMIAJ{-{pzbfTL_B8QOWc6!13pF>=l<4$ zHrM{Wlq*hAwsg!q`lWnv9Oq3O%*Ic}BM~+PcB2T@h<=@NfaaJLbUdf>wH%lw))sYz zcP)G}5G=48gRFirQKCwMR|Mv6x2^~*O0$)Zp<6*V^D9;yq8LHsBungQHw5a}P*?o) zqC(s9c`$!*tIi;_}Y?Sxqy#X3t{clrp+B z5+{@}HUPC<_D&9{AI$;vhbEwh%m(A}L+v-jK1pBwKsKcBjste=wgchr*og2h#gjQr zL`qK|JOrU$?ECinus@0`A5!^pq=f_8eCH52X7M5~TW4bRSlyERVnS%8_YDa*`4(YT zP$ERk>iyakZ)Xn~pQ|sCgJd1{}yq=d-)8(0IDy+qZul&3wT$ia$ z`G3WuM`gEXd2nU7Ri9SbZD)VVzupEmawP0WjXG{+9U1q(z@KSap*cDajj8ub?#?f& z6NjkoAtmKD#6}Z@48}!+}SZJWsy$nH!$?O^^ci(u8 zllFcsgCABPI3&jY{p}9^1V-g0UDiXZ$@eJZ6F@ww4-iLQ{&x1r{TFI19%)47i-h0x zP3?lP?z6i@lPg|viZCCMUnskVjJc>%d2SBw}hc)dC{zB9Y{YifMJP=lt+ zF>Y{dPpIG3E^5s7-^!WLHPIWv_)&Vd6I1ETCgp3T(E9<|UyvuW?-zJ#GxGpC9Zn9G z3Yn`y2bRioNm-A-CM-#}2Yi1o)8F@fnW;AOG3+cfX`UP!2AS23j>tQ^>pl2Wp;r>M znbMK)uGrCNA>WM z9#Q7}xtlNZr~6Zp-uFAmX(ERO{{Rs0l}XFS>X{AkqFmU9Ildot&KbArNHQa)@gkSx z1#O8?C96=Z+0kJG^TsUL0PNw0=Bh14dKZ@Z2l~$E`_Zxs#FC^~Rg>fVKg9@;tovhK2VNo!Sj zQ_LFk3U^#_F49OR3vq{`fKe@gvCHm}FOlK`2VDw=-?{$F@>QN|>__%INk62Ma>J>H zo}7!@ZN6r|QTDRE#kNjQ-C&Jd(B{xLz+KM&rlcCJ=G0`X*(4hTv|0GrIjP1%(h8eRyf5w4RAV`5IHUZ# zzO-ZPg5*%Uu{JrGQ^fk@U~Suqpbj-{=D$=u*aov$3W;jCRDh zv;B{HHn!?BF8w~jpavvq`?TF7-pg^?J)f;!zi_QS@P#XN^GAhNFC}^=*E&B<@^k3! z2EWs8NY_3@v1Y%xkCqZlzPB%@u3dt9!wD87be|9bc|a%L!capyk0LsOe&Gj zHXEM|5$>Fhlv7b^f-dE}R!af%{XRB3AoZk~EuYqATFuRDRj$bIU6a_k6E8_guL;BV zL~A3aNB4G>F}^C>SgR8sPy(QZWY%m{V0@}D&;W@~EVLwwM#-Wfn1YDw8qF(OC0&y5 z;wrb9{8BUPbMkSSr%`fMX_L&#Rk$X{`-B|e;~8LZiTqO~tuya%B>cTSmlJfgASwN}E4XR(fv zZcD^2Jcvs#r#OcT@?A0S730Q5Ls1QTWTeSSwIt*%Dj=a&$1d|YsouOHQo5JhCJ}S9 z>L`SloTf`2iNNGIrkG4{tj2CBvM=z3H!d7$7xXFgH!gUiHQ6G!=XAc!DxeNxD;L30 zbtsIAU>=xWtFV<3@u6mdX_M7KUbB!0yM3}~rKC7j1v*4xw8;}8n7Y@#%V|IT=z%?z0? zFKQ+?10ORtamj<%L>Mp2ZTJ+WUzNN^%-;E$;au&EBrDAyoP(DRlafjnVg8C zq0KBqqR7cNat(y3Ec%puUkJ%);jfk3Hsin_D5AJC`3!@SlIA~^UA70=1G06XbvC89s@t%%O9RE+9hmE)V+#`&)Qt;Lp z@AY-gdVCmp&AERulNMDUQ)15&CmEuRlryZNS+E$XNqO*YLE@MIxuvP9F}O!Q_e!@5 z*kEDYXE&5oZaA}%SnGxM8PLoiYB_$2u(cw}_O+WOG}rAPkrg=@4BR4Kp97^QRJ>jk zw7XBi9?@}Zv8xtWBb!&s6%;XuO0^b)AGlq+X6F_C_sw}tr|LLoxOTNCb#d(#frDLv z$c8Hd`?2WSx|UyjT}-?OtEu(ww<%WV(_*8}Cw>1KE#6o3zC()orD!6}X$B=noqylp z(hO!m!&1~Ow|a27%~Fo)o5K$WmY*lIS2#Z=B)n8F(h@1Ty zndM2M1MRk(YS~9bLvbDpQO;$Yz)#Z6ax;kQuHXD7H{hp#gM|)?Op~fP%ez-uzwrL# zf^T>N4ZFfmpmASk)sEZ6(MEY*{MWK(P|*@XoFsK?(%s`a)*?B}65Fc=zk7{~L$9kn z-o5gv5Yk{3SGW%T%kFHM==LhNGM(LOG>1y<_ETgj-(e|VX0cKY2U6CZ#6rOkF1#0K zCyxXYTS>RO2CePGfzqe12t0R!2llIMz5NWMEG&C2#R(D$nbd_9GDU&NEA+Q05Uksr zSc8mJOL%uRgkv^?&G!XHwaa?__KHAe3(0|C?drg&X)6Myr0m#?lam78+ucRV71$uqWg8P@N-)#~nU`Bk!l3rfnv+ZLW)#gan9 zOmO7GLecrEg_8P>EN1J+XcFxQGtMh<^UIdmcGa)GL}Emc?B zoV~6vTgiR#xW{~XwTS6#Rk4o%#+8%&bCPjuHsGuXF$*7#1Wu5K4z~T!0@Z9v1 zjJI7_Gn9CQrNx|%qEIVgRO;Ho@5KF)W^=uoF8VY0*KIbveca7SAcr`r2N&1u&*tu9 ztO6ZCJ`I*Y$i^@fJIBU2{rKxGFy9u!e8~Cs_fHch@I^Da1ndgiFq9i+ z&Oyz~we5VH`vkEt#&<_07vYrx%aYl%C`sd1qRVPan*toLz#yA@SWY%pSfY?L&}O`P zoF&D@U1%wM` z>AiRnY1i?Gy5Q{Gd5g%i#Swd!1?m+l>Mg>ZOrT>75`i3+jOLft%TrcZP{RD+G6iOF zXu*N5FT5^hF?+{K5%Vr0p|GZwXad)O1L$QQhOCF;;}cn5{H!P%{A1=w7j@6MM@n$| zg7_gw4-SLKXPe9#ep>dFY%s7~IX5hcnM^8>ezI?yuV8?P!eO#Ige2a3ps_x z9&+8}{XqG@B+s!|Vx@ut`Hr{W?0DRNn~8Vs&Q49pvE`!66Ft5}m&Uiw-gqE2=|CIK zo6h=bUw*w)qqsliEL=gSCRtK$czy49 zHH9_m-#LSkmb;=J)P{Sbo-NskoSL$keF0hA)zbrlUVIEcg!X=c?3~4^D!WbHvzIXH zPjDSm{8N7RpI{}?JL>(Prj)gk>r$tXnOIw``IE?JcC^=8nG5=R5QC_L4Df&mSrt-? z8a^S)(vaW@J3*Qt~ zZQw$3SnN?$-<^dK&&x4 z*Ge@geR3*p)7(bO$u7;##bbakSGn2zjO=8iPXN>bp~O0Yq9w8(f6Y6RD@z%nnOWiR zXZ1qUYK3?J5m)O3)-(8beOxoaJ!8r$6PvpFly!#uHcd0ZFDP}v5qe^6X%}TUEc!R8 z*JeKk)eV+C;Z0v0X`aT!6T7cfS8=+%t?V%fPPvr37?ZQZumw^H(&=ut5r4RpG3!b(~% zHlMwBw`{x30&W2PbY3Ys(@PcN|JAlM^L80;6%lgxA-YQ+u_){*(;Mh1e3eZpxylPA zO<7Bu%?}F2P^G#z!hWk=>M7&H(g+v1z1<9FBK;M3pxR71JZNDU!<%&|A9IGn9IE4} z-g43Ev9D89k9;HEbTe)chR%A7}bg<4#P zdlnqKg80&-!acFe!(Fk<+|-2`>1NsXGQ!T~##@|wkb!?m4IU(ZXh_vb^{ilw{V0Lf zU@vsANEnUcmRMCY8`T(x43_Q9ob>_C`Z$Zod`|+Ie9URgyO(x?qAw@`Oki_z$+45k zXtFnXySV;f=iwSKFWfWtD79a#v+{5t8rw75r5W5&*|~Fg@Mq6E|M&4b@c*P2h6m;U zpTC3r@2=_E|DNX1_Xx+_1YhK>sTR@i||4>vCa9PKWvATp?M9n(zy&4}gBNz3T+| zZpH9#v|8)s+5)kv>|JGVh>;+jt7Yq8=iuYKl$f6*<5Hr@-UVXd3FjuuI>i5b9BX5T^c84^EduZugm9{XQr;28CgVPGVEfFp|a|6ku zMv#t(Lq%q*h@c$H3yi7@^6hG1s7iiY&DSZwQ<3*= z{+6^ETPqZ*JDkKmU;NWRkx1Sb5Bfr|{|m#vu{)a?9<7afrkQ^jg@YEr69ALeoiFs> zJ@^Yx@}5{*m|5uREmP&srK)gO9Y4PH;)~fNbvKvZ6KigfuqQNt&6mo)ZART-LVM?KF=yI>7oilc#M~SfClD(V7*SSGFs2l(;c`^LBmp3iQ?p&8+vXBl+oEa%>zKg+eja6M=1=>V3r9 z4dLvbJ1mhSnmJ6lV#Nu67#^I-|ET*b&+`9!?(ZM?{ohUboYAjbFmBNOilI3KpZ4$6j{)VvJqSD4v+dda~C^X+~5GdqGIM6u?cCY<% zn#A04s-%i$B>4_V-PSHWHJ{0)#!p5dTXB_^VcAvW7B|8**a7|QQc14uTJ*8-v#}R2 zmp#5j%ekQ*AkA(;+bu}3Dbb-V=2qAj{bqc$fRbD4b8abn42L%eJIOLRzTxstqh8$M zjDSl!=;^ug(-=xl3T1ru8TNA=5eOEC607$|hc>H~2fT2z`6s*;;E7&XXfT69Ua@$A z-i=<(Q+cv1u~~4O10(MwYxD;ApW?(84?h)r@&O@2@=D3kM1S_4@1xoyqr1EucO=jE zt9$4;*(OYSv(N7cIqc=)3$wog_sdQ0LDkb^pk|H4~lH_M&Y)r~JkEj9GIv={m zW}N&KrCbco3{eZ+=+O3JvN#&A0f!GR-<`#TXL?CJ7De6m`f)vbwv5}z-K4x^f!y99 z^bfap8uj)Lr(bo!WMj~-3-K*xrnH&!b}<_c_4nM-)us~2z3=EqrFXV<8;N1+w{O$apPYEH|8mB z%v9S5#f>{iZEF{-HIs9xiW@OxEMR#cZqzelccP6*tZnMYjf2HnZV+xr!7sW6!Ht$^ zL5umq`C1OqB8MAN>O8j;m)!{N05m7Z+YP$#4Z85?)a2Mx7rsFkzM(MLSeO|`ar<3# z5-yJHixxDe8j8e|H8^qu3Q%wa3uM8O$I940$E@aWd2;+i%{S!*6WcxZ`t-iBUi1T7 zJY|9+Ps&dP5XY0K;m3L}@_|WZ*rZUJpQYQqJ2T2mxvoIX~rc#cUnV_LlVi zvEHU2=XBI8Pdw!TzlwR|rvld(JlR|d8|!Ti$u|(*Y1uoSPl0;V`IM&Ho28Y8LTLpr z+|ml)O=<#8zE4V7j|sY#t%-86yK{kH9EzuZO*$C2H&ZwNlc|Y$DgQbxwSMKDlt@3H zA1#0pqhR`0xG5}|gL}5yyH1g5+4K0)msZTn3y#>88S-mkgrWuQQi(~eZEemzuBh6y z=ecn`pz69lRBiAGt`eRDTy0QXZBSfoP+V;Y*>#0<+U^p3Eud9%n<|qB;j6&HIcg8l z)D=;11YcX^s=<_!%lq;5c(=&^7<~Ppj;@?86H;^HKzweN{cfi0cUP%Aulrqb|9rTQjX z-CXvlU0)L9b5ij!C=4HZI4M6=s`5U}7vDboi;vpx+Fkm!a`{?FzgCkxKV&~bpK3<$ z3EZ2`3*7reo_Do(t9Lu!?e%UO{Vol8A0Mqs2yb&?;t3&C#fj(Sr-UCRRLzCb0(n?g ztg$yqLo~A4?iu~MRDZ(WBrJ*&-O=l*C}fkLa_6VQ`Kc0G8c`z37n1tK!Rhho=Z8dn zsij6J8@$Bk4u`UB&zwE~jJlP+lZ2d60&+&~8@E8txR-Qfa`u3dGhe$@0*0DUxjW>n zdCv~qg8nI-2h^;w(5@>=Hj1HfxllDR;WR(f>uQ6jnqb3~A~Stg9IO&Cg1fkSpP?mhy`gePUmT*iXwlQnYmP@innnFdkCk~&cgjznfa^wsbZ*5%MGH6Qn1r42vw|& z`diFWwGZQ)eN<6O&2dY?>AcNB?w(c9Fc1E`Mxw4u)*Zl^SNsi*&EFLSPpp0`>W81H z5PDbAY`)93$#yUWkSQZNigM`?vBEK1?EXVwPw5_ZQE(3~IBg{slPdFA~j`XJu=#~&@X~&__RnX{163^07Vd8O_EdD@lou6Xor#7jX_$%2rw(LzA{EbS! z-jJ~)i#b0!9cUtwn(3^@MqP$tnR?lWs+~0`m7h(?izMCUOr>&Jw=~@)tqEJnTGS*P zCBx-Vr5fX|kv2C<6S77>8pIWjK zDk(H|_Tn7H4bQJi`OjNv$VjBQ_D?Z~?B2ZagUPPHUFreK=xtoGd&!<10CPX(Rcsis zp8d_5fW?=b_z6OQ3?U(~f-9y)B@)MThAUnRVhvTn;wsoi!EFd^5rmkFJJyQRrOKb`E0T6KU1oE zphhXB=w3dnx);&%n3r;?P~C_LIhPRz@}fPo?Y zTaaR(ijIny5q+)aJs*;S($pKXm8OmyFNi0-cFD2Q&Y5Z&Tt zV*653Xd333eg3xWnah!6(k~B7?>uecxlP) zSsA+d^i8|7(NXQyXrCxhj$MdvfoeU3!`qx#TfArMxbAUV?w5{@*j)CwZJotcr{v@V zI75lQ5y739#o%?5lE3;CC;e88-l@VMrRrA1`Kl~tbHt7epaMiez?#+uGFMq`GhG^7-I0BL% z^)t|AH{k~`7R+8NHW6~B5X^2tIj=gh_W=dxe$tNum~PVZ3P!=9h}bZA_*H|pr3b$= z5;s=Ec@M%-c{0~5Jy6+dP^h0 z-KqHS2@6W9V^*|2^LR_NNej1o&?L3h`Em*5tYarxtU)bHtQzU+%u&o!O@F*Kcn%Kx%0(G{1EYDMdKE5RQCDY% zP^D-^G>>~m9QZ5o(#uJm(jpwp%9W>JxSdwLi+nA0T|Q^GfnQn`7%L1vReOQQut3Lj zDqN8qif0;VQ+NK-tcS^3@VIm%aj16>E8|k=JwmB0rPw}cJYeXJ@K@-mp zZwpL(N;-xMc4}QrWE2X~5xE{@8&%dO()mjdO6v=6kdFm^S(6ujcWyNB%e>01-mX1+ zBq;dg%#*NX)rqcr=>UN#ivqVEjgdp<2O{|0zluR6dh(ajFTPwWISqM9Q16>abjD2QbNkEelNH8%t?D=|?17}j{4>9^1#ww8Lk z?gs)>c~ZN+)!eE3iZ0ccNGDP3MVs)^W#XTaeu-W4O%j3lcG>{Nc>My?)dc^4R5Xuk z0Uy`iXGVz9?fOsW$}}oHct|E_=|P>Hioh?2veqYlOv|&@v2lbeyI}~6oOxP1(`wGj z)sL@pb#&4p^V~?Oqn4(hVEi(hOg}*}a2)MT7@-vW5%=|F_9UO06ku}5?&HrKPXb*Y zi2)T&mAJ`DC$j8=GG}rZPNy_p*23L1Db{L^Rvl4DK~gk~0`WiLm!a49zD>YZwVX3Q z$z2`_bbO24%H6~>DGa1Kd6u?hg4P#F=cT3C;?C7lKhW_#8gTOYTDAF?{vtE!Y#jp| z?+k1V1B*AggQ|$;>!2v|iOHF-4jNf5Z*uQV0$I|_iF~97T@f?p!F4_p1_T9XIbk=1 zzO2b##|iEnF^d!=t#foYJc_TCQo_^w&-{s)zjHHnW7JI97<&ck zBc|TX?As$tb&vc)#GK~l^zD_Ux>rt%n4p`}w`Z2>o;f~Zc8}4npVPN@mg?Sl0=5@U z&i%53CiaeBNXV4t1dFKgQ^^ z)f7%8d3!56QI+xYEVqwKOuqY6ZT7OU3t`3+U7+LlU@Ec1?V;MRe197$(YzKj@0h-% z)l!Il7MjoYm;0fV^J?ma{YB+oGPPN}VxG8Bi%E^Hcl<=%hp$-C$me$EQi)x%0EIMj zCk+V|EjLA1NEMxnM%pmjpmz+RNIEBBky<(C{4(I_mQmw-E`JF-rB`zTxBDp7$3M^} z4(R{MId7IW-k@L6{5CVm*%c(|Ig%(>)GDK_;9B!ey+XlNoj^wyd0e_Fl@G!w#%B@e zq)uftA@UbN-wJV;5UXy*@lKoZ=y`zdixN(;&1Cf}Qt?>YF6EADU)_MXSy(SqMM+O) z7EP7HF4V$ho{g_(caMoTa0(~jpab~*mw7#u-+wGH@nz|j!|x06Dl%&*M_)>rvBOyY>shgo%kp1w1eTwB z7sB!vho1@DIttXyd|x);Lm2)u-;d!h7KWeN+l1Y}k|uyib>7KUi0RHo1mv9DVn#!; z`4pNME=dJC#T2?vZ3JZWUHtr;d2xGhcyZU?g=j1nM$wh7`%7{k$AAaK!cH)u!s($*G1x;I)SLy_(o zGTK^NOaWhTcbknQ^&?)3acwm+Ct$^VZ2#B3fC-ATO{22 zD#zY~mHA@iiWLL#wat-VX2Y-9d*zw9(8{|76PPg83IcN>5dZ#!Oca@BJ;NwLCYqi5 zY)ou5LkwX`E+zi0jNF}4Jf0(?HgD(AIw^|en8^Mouesw@Q7}CyyKlJ&ImPn8ZhEQC zsN9&nrp^3Zr%86wPeUV%*oIe?%eu%u*d&;ecr7pXi4{`6NVej*-ZK+f@=R>k`YPiZ z(Jbw&7@$)8H+``00>1nt#24**gXw$b$VmK=+m2nb|KoA*ZEbmkmJc*^FWFxaKjF5f zye0cCi49q@ZywGH@IISZoew#Vv+ZU^$U84H3fwWN-@+y5emowq3)Inff$Qiy=MnQg zdoVa-WeC7C@ZqAPg_;rH|7x%1V@V~%%#*o$1p)hmRxvHxx*MS51c{~PMa;c)H#Ig7W-ZET?GKv zJU04@o(4~aFnP`mlHXCO#k}h<@#GhDH+VjdclH)@eXdS?Qspb$cVCy@n-4!!97z3; zI_;i~{}gU9KD}|^OAgfy;mgukqT5QWvrJ{KdTbr&8p_^qK*&boRjaJ0y_#vl2$o2D zpO#f()1EimyBGO87&|i;KVndYnp}l{@2l`}r$YRR+)y%Oq8I2?MeCyNDBjlTv177xPzmmd5S6$ zpB)kqKOuUeW;2VQXBHP%D^-J+4N3Jjdsjr``kWUp5nhct1ab_Q-s`dEi$BX3)xzmxNzw~3d1^ViYN{0HWA5B1Cj zPJDm)T{mZb7VLXVh_YXB7QHue$Q)4OHebhvKu0T2OZI&{)ed1Xl{|^L$e-Md*kEyuxw9G~|x6DVGwQvkJ zK1JiBAcxE$$|ZAOt*nU8y~U<}ssnfY2X*?qRuO(AtnpZSh^Q1XZ;#LlG6D%jrKF>B z$DUV(azHh_Yf{!~4rO1>OEnFfH(BF%HEany)Zj@KeSKnThDlwWmnym>v42>+L{S%` zl>=`{7Z}(%guz_+5x4!=8MtcPN<;J0c>V#sVZ%g{NluV3k+A}KOidvv{vSZ~O)%+_sv>%GKX?@L(k?Uk!pZ(ZuItY*zw zH5R-w8f-Rqe=;`{{R=La+0;T=R$lm`+{(*Mb@l?W1uIRJkB2O)UQz(UE~NP&NN}84 z!>(y>7x3U!4*`|ZKzP5ea^oRzu-1(bibW@m;njIcCIU_A^dGDXM(o8~?Q<{#dN-2F z<%w5)wpRw7tXWovS|+5ea}D*II#@>8La0MCLu4{BBLzG@lDHZ0@Fs8OhER@{l2@vr z(PDbgn^4RFjsFU2nmA_#UbsE+lcRD*Qx6e}2HU?vQqK^{U>!Nf*F7P$Qj!lP_d;ZS z4trIZov_GHK)$^8)juc-wwgzg;UKSwfH7i}NXYFrQ}uBjFW80uHl@O?=6ikR;+V3v z*q2ynF6K>UiRwL`hl&JdJeZ|fcS`iD00cwG=SQM>DW#Pt;IHU!;CKvVUlot3h4VMk z%KX);TtNFftBXIHlqnCY8R9N|2 zK+-(;##`BM|F-3nVCC9mN6BWPHXS9~Z3-y*u(Rx&b*@{$0iD(X+&B`4?&&tavSJvH3qO6Ixo9n^m zU&u(Tb?77KhQFrB3JP3CfoN^BX+e^L#(__P&fk)UbpodI-})%bu*EZeB~i;Yo0r(K zqL)!GBwr(qs#{6R{;VVfXG4Nq@T$iBofNF4;BvPh*ZY1z8YN~*$7DX6O)a9GEw_gE zl*)&?41Pc1JIb$Ht}7*_MrQ$ZQ!CEPQ>t_`>f_XKX4C<+1*mhhW()!VYE zieBkNzAf@ssXD!Waq`>Q`)Nkjn^;QqPqqu^u9M$tN=MR{juJm9(aW06(Ko##Rzh#_ zN@?*~r#C`Y!q_ieD^T&LqV^$>__ujI48HTtlg@aL++E6xQGhR+Z?>>nOxoabhqdQ1 zqP$~92A9i?rmsDZS^6Q{oA4pq6MLJ(`se6Zie3X<*dHYv@`m_nB28qS^YsaAl7Y^v zST0dI7n+C8R-jHbzM6EB(sc9cZ(n$6i1bW0>CaU01sORhf( zo@3Z;_2*`nS?6Yst~qV)&~EEoPsUd>eXhk*c5?X51-}ASN|Eivg+wrREE6FQb0g4M z%K~%l3@nx{b#UGGCU#`clSM3)q&8v_&2iK_X zT-9q5D1ids>njkD0vF~A#BPv78e&73&RmK4U&Ysz!+mtM-$nII4Xje3e7{YUNF`AyPYkI2U1~e)cU`+2`vAV#Q*{YlpIgxzo$R@}?43@w`uh6YuB+e< zHW)FEp5B=Ry`CJxvj`7B-R{X1d3bj}t^F$YQnYQ(q1qw#S6V;H_2V}4-QNcJTY8dI z4${zUaM(T^?-9T%yWoOTHU8xoyRBTL6#+z(8O?!0d4;d_N zI`Y^7nv$cKasa&rzN}bkm18`&r3gH0py}Q0_7#BP?Uhi#;@7MmqQGym;llBp+QVsb=N!Lr6u$;Wx& z(Egf#U@2N!dm8kVjpZnUf4Q!|u51{Bzg3V6*312z=qMt14c1DPub3aIYDp+b*k0Fw z$F{{yLNNZZzs3@3=<$5HDa;A4v1_0p*XF9uU)N?Vg;(gJj67CVxgk@juFxG||6Kbm z(u&vYQt}z%Li5WyNySW3ZoTX#e{!nduJtpirIn3-)<$)l$vUn+L=G=M0NMTrJPwHW zGLnfy6_11|d%nbbnZm4zdjB-xMcTsa<3TJl!b)I-7yWqVm}U~bqLT+;#EKlFBEfkl z`U?j(4=_W3qWDcdO$oq&!;q%HAi)?6Kw4n6_rA)06(Hc{d;)Su|BvfOR)^TSXc5PalnFA}XxEepEtrD!B zAg|gFhbD*)%yl5>n2jZVH`ac5&y$Jg$J*kxsBq6yqL1^9*sM1UgRWC7?uLYjegQe) z1{&85r_06ozdu0iP(vri)#G>9x{WZ07ZIK66QE)+vFw$VHvI=bzjz$CWt{l(P^( z@KcI}vO6>9U1&P)vY!R?TJckd%soU5dk06zGT3hxc1gj@>? zCsKQ>xoh`Z+55-x2zZul@}?!aA(3&WmlUHordBBYSnTBHi_Pshy>Z-!-zBFL6tcO# zKGC01qtd%+MHKfJT4n4(DFQ%K-TovIO3_vx-?>4|A8Lsy;M{)U3V_)E@53#qD$Vki~{R6d-eglYunBdYw&~DV>$6lZ^Z)1*|P#MsK*Nx%EEj=UIugH%T!R`dK@YQGnZn9rawV6vf}$7=tACZn8}&tV#z zAnd`))vfj!ZT5|py(zKa=LhnL{$93T*@bsv$4}#+JGTWA7ze0CeeQVKsQ>wasrCqa zZ~6~ox0qDu-CH;#qMx@ho9%C-;p_oHIak3%drbQp#D}PdUBN$HG+T-(=W&8Y*7p?Rx0tW+ryq%K%Yu97U3$e}`s5N2-Kw zisgHe{c57?K&t2g;PH{vj04+tQnnb!QTR03yzOPFB$Y=zo($ceBb_C}o=PK7jS9@r zrAjb~cLM!BB-DEd39U50U*AVU#X*WS2l6?aHPD%N2L6{#{t;?B``wS8b@w~FtM#rn zmO=NjR8@ZZ;1K(ZR`~4&V-z^c%~aH7>|_owxEw8;RoScd!?M@)Z&?+66ED*a1t|?b zK{&;WO-tVqy1SeqIqRvA5_Uc$Cdd^}{CwSKR|vgHHMrJ=i^j7bg%ay5;;KNQ?KRBk z!)#iG+g{bV@3!AaTK6|fQ(@F43%2X_C5=jx4{v)lsT8Q3V}x3NGHT6&Q0XXi6F&X6EXgS>f04mb@o3qRnho76cInJ||?>I&U(0a*`x*e}tqz&u_{a!~HA~aCQuF zx4%G#@ZgDetoYI5ZTM_+=cnb?qpw$F;{=Y{0#5R@h$d%l5T9%X=xvIcGc#MveaP5q zYX#LxHD$NG5Pm9Nma@J|Wp&XQGS}t46#I-!KK_lJ23G+)nNy@k+UxWCiiHOiD|7fs z(h6OH02YGXd?ZSZr8|V1L@tOG=rj>eW`{Pm2?(Y`xX?n5L(O@Qj0F}er{>%O@3?fW zEY5o{et+I_e_*YZU*VHx3f=D4w@WWt?7KBQn}CJDfPlr1_>I^LErAE547KKl5i9JO zq;R3o>INR|Jze2qhEAas&Hxv03S6vGz90t|KXTr3aPczj3tYUwZ_4_V!bOSc^7g^S z1~L-aKDbzN$pE;(0k;bm6Iyd{feT83i(=p+V(!GSVK7|mKLjo=&3!5MS!cl`4qW_m zi31m(a^T{uzG5|lij7t%50X|i04|;dE?UgzpUlC!-haOa~z7crLL8TaDMx#p8C`Qig|h(NeME}lK;%$B^g)TJdPv%NdqVtu-FY+BR z<_<<$F+%%kt$M+$V2i2-gDNna{?zVlMDF$6NmgPll=9ComvH!-ncLYZ9RH9Cr3}(j6AJrm4Vri?n)=lcOxJ!k^*vaF4%ni4V z-aQDWoEjgAH|J)v-}!RJkHph##;0|+PFYT!bmg4_KFF^ z#0&wc(t|EYIcQlD^@7^JQU$%H%M}hx&0S7_66I`w&#CaDJ-3~FGO$yhsYFvdIM+!> zT{cP^)55b!l!$M&NS3;R20AVviOPjKOi==s(!6$EYsk?nHn*6aZzPd5!5mpLjw1s- z+wN_BEs4=m?{G$`bM;JrhGD#bafutTbR|1m)v6&&1iq*Go zqg(Cwh(_qT=zL`HpQ^%9f)od_HLQpc(&HPB#T=ksQ@OjH{I$IcL`lrba04dCRR=oel1Atd zmC&tLRMWAUPMNp#+)AhRA}#aMaDi%R_GIb393oufoS-YPvkxk|AvlEXn48#F_`P3(>h8rb}m&&CmH+9GbK-3 z`GJ$?K&a%^_UEOXFBF>^Y)c$^(kU?xX{AQPbx3=hs!Zzt)TgP^X8gJGag0Je4dK@U z9XnW2sYh7$HuJO|1nBoq)e1Y_bUzT=N+E759oQ@hg7qB*lqh>w_P9{>J=#Oe5e1kG2Cf@&KPbvaaln4Pa2yH44DzUL4Xh*ggs>L|dyK)MVfV!oq^I(w4Xeo24l z6rC z{OH`H%JwCz-OS7cduZi`3DtAQ;Dmc<-KjPC%9Ef@4XMBC2{pm%|8Q!}GJ9yEW|=2G z0tIyw2RL3tX)V}hdezho;vXMDLsR{MucYOiOV36sci2yaXIl%8r9JJ*F}2*RS*p7eNEheOj0jdkv#8f=?wm8*(XaeX1uRG2_~XN_ zyg@+twuszd5Gz)pLlfp$sHk1b;a2k|y2OWy$t&B{rV7KtNQAgfc{%QhBLhxvre)o42RVT^wTew(E9{Ku#%;9_sVx0Kup zS+MMYCq7gfi=eheJ-wCbk6_0-%kF|T=T|PV{DnNaV=wf_jSjy}z(b-Hj;=2e9lKAO zXP=UgVq$`eKbLDQEU+=0L8Pp?PtQA|o|ekhBMJzVvK5`Q7?Kb83jGRmVbZZjV}T1aG0PY6t0JdOS9#50&g4j1t{5-X-s9cN>cboUbI z@y?muMWQ_v^I$+Icee7rJcr&VWyLxCX)^(&42P{L1_keiJf-YK-qU z0nT~RAJ@MnyK5`;d$*`2VoqhY(M*@h{OpL2h?r$~LE**T&fJyC zp2>|Taf~9CLnxw<39jHZ0w-K(X1Y(s=3*&=J*QuA?Ke;>zFsR<2-Pj-JOlxk_4$th zIW=wOjQ*TE$%(WHUsLRAgq2NLD#)$&~h2 zsMdxUX(89^-WV!l)EaWz8WzlKRW3srouf!nN_;FI2$A=Y5_rvfU4RNjzI?k->U{>y zhRdCbGh#`)qrdnXr+BSgW5k#ME*{OpBi(&f{+WEeQ>e_f@<4ZxB(2woOu`LS9;k9GE)=u>eLHYZwKKn<&<5{JX?V{RU*m9KrY;WeO{IGfjEi4BeGu>SO20Y86I| zt#T%y5*v>Uj#e*q!QD)6IK5bIc^E9Q7l^@6u{j+KCBsQucpUSubcEfKQY|fQsn^|2`Kn zR^M2Oq#;Qy=Jgyq|Nq!~6Zj~rtMNY}1B_&31|4<8pixGR5^2h$0)jT|SOEt@W>hv? zl|GKBC^LY{qE4s@W7N0R)-JZ%y)NBLu~tir7_3&&T1C;ibh~M^rD_qk&i{MPeV)lA zBp|l_-uL(WzxoODEcdy~Ip?13o_lWk1jbY=20*Qb9*K`cB8c?QELWO~b_G@@OijCv zo_I>=Zl8u{$D?~s3E;T8P3jT#{?de*54L1zoGmVF{QzP%?7IZRtF$f}nT92}mw|Fs zeX=2S7{-duy-GrhMrLA?Y2ukbdLIs(#xe8t<}n=2Og1fD;g!DZ2^Tp@u`}*eU$k97 z+UGG9qt_{^8!*r;e$pGtA&&18qz?Q8^x#D0>KUaBD@c2RoXTI~2PdG90hZ%;BDr$2 z{KO4@)LFv!2=*Dsg3iIIn0LP(WdX8JeM}#a6obWBc){+mcG6F&-^Nqqg5w@tcEs2f z{!5R{C4Iy}9LR}it(?CzNW7uP-KpMCvf1P0XuIlPSX+yh4^5q=Z4fhjZfc-euckOb z3zTS?Rkrbt+i$=9&6nzP&pzJS`iFiyrv*yW0bF3uhzsTcf9HXzPwLn8oQ-Hkdm0)$ z3C}66^kZ(NJ97`RL!~Wu2w4w*O>hT3+Ll1S=0*P5rsa-8-=s(}`1kp`J3KBuf@NC3 zK4iqBvs(f+a^y^9S7Wp#;HpqKQLwC4LmqE0^o9a1q=q?H!hyVToe!`U==|F&u(0p!5<=H7;i<4FPU( z)6mt^e;aNdpi{%`AVa1^-MO&N%ps|xy^){C$j@{s@VzL# z&C`4A0PuQZe^FW8?N@NhK+Dv8Sv#an+)a9v>T~M{wbbRCrkA$NDMdNX>;Pqt|1Ev+ z`XG?jajwzyP=ZQ zL|b^YAT+Bkm@vW609Gas34FN#RQ8?R($*zM0O)V7NKJ=XqO za<6Jum9pd&N#troD}F|1CQf_Jsal^5HvWMLiYZnh5`To86j_V^k@fm@5-AnjFsS9M z(%^=&;D&lh+f>#1lD~XQ>&p>6ruwB&>x1=229$4M zEjC>K>o_kf%!DWC(p*l_c)-szko5m1($r6WLQQ4z<8PYSujvzIybRly6MgpW#QyH< z0ra-E=@SFj`>ICy4sM!KGNs9P@Kkx2{qw*q5oK(o8jo9#CpC-aHP>L!T5GdX1}8)1 zH~OKCaM9!ckr75^gnn`LN7pmTz`>)o$PlM8#wL9%BZ(4f7F_qy-3D7kIsZMEuKoWD z8!s3NZWtWgKuU`Z2_K}<`clNDp{e~`0-9PT1T?ijG~x?xm^Gk_fTj*q0`e_{`k*4& zb5uepe>^?Vyzv++M1NC>ngUHlgr)*fOEoS@O_a0Ti)cz|Dbln%O#yA8k`D?k8$b5$ z-8$c@gBzwZ*0`^}f$jD>SxVe-PATQ0^`(%Ec8X4#DFTt~=Kked6CD3OMGJ1_qO^P~ zW37|3d?ix8F4*`wGZz)I7S*RF+qMe^T}{wrZLmo!KF(uqHDyps1*gMQNHk?FW!c)_ z$V-{WhXglFqf@6#bAWOT-I6KFM4qNdpv`Gzb>%k%ykHrzC;tZC|iro_PP zgMJyJ43#Z2!F98Qpcz5-on663S%enKZ#m6h_E?tfoOx0w?HagZ2B#g4pH~iTU6wyJ zxM4z`tm*#pUG7z=a21iOGmDCBD-_YI))yn?+XN!9`5gJnxMFVuJw^w7&1Zk}?~g9m z+Oj$i5fTYD8IJdC>)({^g>Yj;^jRIy`Wq>$!JwR>P}?%)9f`Hc?dXt2UGQ9+Z5P|9 znozciV3X`ig<03MOmk6Q3(Cj0)89zZ{`Yahp@SQi74ZER0MYvAh%jpxP?O38G?SED z@8ENAJxOuBgNuRXJF;zlfrq$T;^rQl7%rY6fI5q7C?zC_C7xChKE*}&6c^zfMx+Rz z;v#%zS?;l>hJm@Knx+iMZuY~hYfC-M2iHv#v@;5ZS<3+BG__hn_l4Z^5W)jW#|P3k z#&ud@Tm?F|wb$nMmpLr*0GIlQG*e?$DXc1C#GG~`rE-n`J! zm$v>j(llG3S3%{q(8Gdv_^{;)pAy7t1%kjn%styXSqMF#DtY7~!JkZ!rUh^FQ`Z#X z-%!&Tau$Q+POWH~)vsx48F!JUflZ501pA3Km?cD2Vgb%551q_kjK7imMfn@bUx>eQ z{=R=!dFb2xeU-m2^LG<}E&Q$H?`r-&D3AQ#@46rWYLE_MwS{wzFPR&Yz3)oMyCk@7 z7ysrKuFTC^RrdUE+j4Ee4G%*rB$&yC*EL}$<=SH5mZn*pxnn}PS!rHCb!EIukhVH} zOVb>REL<9Ud&CR9e_dw3&dplF#BJ>i#rTwOf*aa$3!M?Rp4eYweY8Eo`}$n_wKVK~ zeYR9ZFJf<(_0e`$&wJ~3?60|nXXIwhAJIqKZqI2rH*0Q>p2xkOza8tNZMWz8^$fl) z?)h}D=YQP`%yY9Q1NPoJpIcb>K43n6cbJdydcHT9^QqhC+^kv#pct$1dj9@ko|{$O z3$;|m{<;^K=Vp%boz6WfXW=HWd(Zt| z&-Vs%mVI{X`Qcv2U66O1or09wbuv9gHbi2tfv8+S=g5eE$jkXmc%M#_vK_I1Hecae z)EwJa=VKQe`G59G{N;X)KxHNE3JI>y&GeN${oDIFC1?XF<&+@;Xkm!=$7(%>C~R_O z0C8K!J7I{mHwk-+#c~V$vETR35IvSQ6EYJLFCx+f${m%Z^-gBFHjmI|x+E^d;WESp z5s%DXE9;|emm%h6GQE0dD+?-P?)0*QMjYg5LIpt)OPk5O?$+}vk4j$~(MQ`w>~yB^ zlj5G&cs<`6TglCYrS;MCF|pV73Uk`7hrBbE$;SouiF4TH*-es_%6VF zZl67mdobT!_!g*T{_Z_L!|VC`fO$87d)D`C1)Ema$5RjX>YIhv0^aisxqVEIxvA0EuZ633zc`50G=Y3#{{QoW1xUmYg(0t{4 zUHdgK%m7qPvri2fH6-L%GF1NhhTw(>j)&auTK^EyK!kX3L%-mLPn3yKzfEoaiQK|$BL<|Rv)IWj&w?y9jG;R{Y{v<(C;E~ zJIcZ1Q4WWCh20+62dZR0S#9%ZvBY@zwEOVChfX(2dMY#HJ6-hDs2Q1lAsZBk)){-F zuDRC-XWgi21=#2*TY)4@0sC}rGB|{6Qu5Cd`Dayd2#h^5ekEEhe&)AB zm!@*RzUrl*=Jh!>`_PUFxwl8WwfKg`!HWWAi-TuxSseW2mf(;Xjq`ajqs&+QXo)`Z z7e891j{;qfu5FZNvztgwwd#&>_pc7S^b_0=AO~3E{JL@XuX;VUDf{-I;8!;_f96W* z8z+y`znkUqmr>bjle;l0d!KT43_|KNqGv;Z754I6`{Tp{w=^w8nF!q5v{-&_YC21P z)-`VN442ACId|rJ^EZmpc zpEPaP*~^u&z|Slu?$X-9gdjv1*ZA1Oa2Q-H!3`bS(hdbVu*LBu4)iF6rUQx@ASsd? zZ~KMMO*(*HE*J%D0vHA4UHYUwCa{e*H|pLvY8fwOg%;?OKwJ7fpW$*TpW=*hageLH zOGi$le0?i8lkv%yJ|!Q3G&#l-`3iRHUdGxe{7o(VGp|eTHv&dk8o{e2g=O5-#OHkR zUHM`%Lj&B>BXB2>w+L4xP|ici(|EQj1S79?!-xTVGu%D`6YeGh_~}5cE*G{G4|=tp zpK0q`p~+C}x71c8wLM!@8y_Qiw&tpJ#L^v0@#A?h29gbnWh5g2fdT-il6IIfcw zBNI+8WuZ-t8n53Wpw)()ZBN*b#zytEKQNHQoWVw?6>j#iE+ zz3;GB5s=Sty_pS7x|E@$8S~kZ1D4qRxqu=M=-+9fKiMME4gep;Oo+^_?%goVC^SuVfqW zu7*6ZXyABTRA{=C6Wq`Vwko8iPC1QyhRj836AG*2O|4L?l9uIP5Snxu9wNjq^A!RU z}|0sM*=7l;M?+tEXbf`0}I4eZd4b{ixh2ZBrkOP+Rq zN*xM84=v1AWpqIJmkME}VvjoPG^YvKO{sHSrljzAtW~M!LB880-~A?MsUl`+1nx22 zV+qm`-2a8970gtkb5T%UVMS7fQkT#oHB+y+$~{^UlCq>A4G1JbH)XciGT_hx{h8Ra zc)6qC0e|^+nO4GN1j>p>fi?_5cs3JCpk3ex7C-nNrANR_<}%C-5W|1$jN1zO!eo6H zRZ{AER>%s$s3;V^%#|>kDydZZNNo(o!@yQ|n#CTc(#f%>EbpQdbw#~XnxNkys-gw1 zrc+~0jxI=5fQpXsO+_wX@wOy7SI|tA;TSVPngtdDFAEEl-QWiC)Jx5x=u)L@UlGPZ zm#fg41wA1aZ@iAWC|rf!$E7rjX6;_;EPlj7eY&tdAqWI2U8<7rrG1%)lU1s;0zzRD zTjhgxsu|P8kdy}~UR@%0=e8vVc#`6okDs)y)fT#ECzfR$G!xf8ZIe>)2bp?ZL@xE; z53Ml0EMtg64{-1TH3(EhNkU4%F#z>=5#jQg z*}3AV6BIykRMz?`9!bl9AwvY35E=H5oKH~a&VpSo&)FifhweZCRbVDcZPkFmo4{Qt z7wX7WTc)!)_MoodG)85+C6JrzA-yg40tKrIOiD3f*?{5;M80T02}_@W@Sc>286NXs zb|{niqoUWNMzlijw(+z%xw{e}+PT#K8)`(cu*4&C zzHbFWl#$&P2-F~vcW5azf?Tz1$yK@FR}2U%xl4ht9z0PXxDo|ode?ka_8`6DbN%rY zh`Gv%U$NjWFadXZG9zXBSe7Eh0lGlW4qIB9K!H*`2q6hN_)w-FEQFVOE3LJ1GoBCM zupicWWM`Z4N(wD>Qy?G|ow0nWYf`-_5Y+9e5W=`>EuRpYf(Q4hKnNXFds1h21wsS` zOhN1+7%d8fD`%8XY;tu76bM&Y01uPF5dKcf+j=SuQKZg%!X0|i8falU3WaDQE=-h; znKx889-YFSNdgE(o8_+{#6nq=2;3%~0s#~BG$kM@)FZV@QP8gFvD8?AdyxY1uHeQh z^1CSzlBGs90%2A&gl}0Y5(T0JE4vp30$ySXgK>!HD6n-;ftV~nrE65-W=*VfwTD8V z75PGaLWEXjkVMy_taOnjl>;T^8?F{v3s5TQCPKqb4$-WbNIVeD3U9NRot^GQ`f4^l+A6Hi*53-5O4>^7kk zbe!KKf>2Yfd?=Og|PP!p6WxP(kBeTd{2Yf<+4z)qBk6ynOac{x7TE_0l}I*N%W z$CXEdb%ERrsn-&~!_*A=T>|vbU&(ipN4$VcSAo#ah1XGwOz7A{pyv!cR&ICZdGSQK z#%sm#((L;+SEAEoO(^@~5zUi-?bBn}U%-y9e|@?CJYlc zqI$een3=`p(?`0+;oScGCFI)v)wiT6*-`Lhl(SL z2%iMZ6F*>!(AI3Z1eu1-A9d?^$c~|_yN^gw`s|lq>Gxl>D_vV600cP@qwImWBrIpz zj>?+;>4UOnKziUta!KSDw&nE<+el}OVt_n7o=-yS9$Hx|+rnnYJCCqu-G=f@*`T%b zn;tmHIB)+?m@8QQ$Vx_!jE-9SxW_>j^RHHg4x}{wi?c69^0vC`59=c*4b2Q~ z+@3yQ{TZbvomH9{%o%vu`};L+&-^jAsk8rKo3dLCxFOlcI6+ZM~Z|Io>j9a@^c(@6P4!+_+iKUG5sGKKnpzb5<@a0WO-?MvmTn zUH4XaFtO(Xlk3^l=)&Y@;Q~x<*Gq-T*Yr|hawC`d6T3iSR<^v6PtA3{0*NHd>hH>E zYxe*r4`{-FazzSWA~j0uaAcXv_-+<3!AMxqJ(L}PQak&-R;Gexf3!m;p|BnE1|i1H z1DF-z)EKu1@8}%mSi*&EU7dU%JB%bzsNY4OOz%Z)oDMPC90vzyf@$78F`sude^mCw z=px|tf`j^Tk7kY|sogob-+|TK?>&8Y{e-hyPAwfZA)J`W7r{fWtSZ& zMCxb23l_DxyKxuwO{X6G_x1~ZLT9jb2|T4WKPY!nY~ZxJ=iE` z9Xn~T6pzQDs81oRlv4&9#aiUai(eqsjSyK$+-$y7h8wc@0fr^m3rfrL+L$L~Xtg<7 z;|%uDu8QuVAO!nco;HvsgZVBT@LN2E4^;4Ubdx+SY)04aaMUi9jW&-X%(O%472MU+ zncTLPiznA>A%W`tcX|a9^(`xW4GHrs9p~hLXoB=sa!EeHA@Ah%11k{t>T<2NmR?t~ z;kdzcUZRL>*Lf-<(_zU1zNE?6_gT6(EOot?__u(>zXcM>?7c2lbbSxtNHSGPxSh|G znB?afdy5nhj=75*ACpG3j@uEO_@H*nx}A*Vo(lSe@WIHe^$SYYcW!!h zpiAm&A~&p`aeQgN?dw}NnSq1a)<4taJ89y$r&e{yZlchAvPE^{Vf+)E{NT>#`)xmJ z^QbmTD4x4e((P(v$+BU^hvrd{uU|$F^UV2kBH52Yb@Anwhs`s;Cke*#khvM+$}f+Y zCteURdpZ?oNMr^&PtbVhpzN-)%wdk~=E+U)Ie)yC6I_>u^GieKVwf_RQR;htykO&< znQr~tSi8L2J+$B_BaNs{W4Pu_;hnU;Vx)kNeKp_B5%NFPpCsz$I%%3&xTZRPV$y76 z`yRKX>*3p>UYd~HgZZW8xc$r5+_G!`tZC-iYj6$~UB_SA{p|+CJ=|=3Zbi5LZv5rt z-S5X=*8RS=J3co4^2+Y-ztXdOy8HX*dfflCM}4>UsPDP8-M_C`-TnTRHQn!j*yH_o zd%XAexZiq3_wQfnaqsJn&y8317~kX`@M`LQFZ5cL8LniItI02~G^2<|$}g`l|3Dz; zmq*RY8w8mFn=ENJqT6_FkN$jjRrmgu^ce4q?&GuV50UnBCHbX(^ApXWY;%h5)*9#Q zOzsYEx8w37X%UY#8&L$Cr*bNYoZ=$~dEIlX5@Y++F!RYfwnt{zfifv)>S!aTxlv15 z)vK3wJrdnm+XMej5Bj{h$NiWd_q8j#!{^o>_Z4)~{PHSQPl&c-D{RvY;_P-wD4m24 z?XppJT=;o1l8`uAfsk~N(Pj++tP-=7#{p*-RU<>AJP7f?A8$tx_^6-X3imfEKrw0B zlfX1@lzsnhluC=r(XNj+$nYD8o6|Ipq`#+*UR)bxrLSV|h51H)JZ9ua#))@G%@0!tWizUELc# zB4+v1d&5V>^t+}zyu0HgVut3rzqj~^m|?fb^WE{0Ft`5~a~WTY@S~*J0GY?lFPnKr zo-xULGdN*hRIx7B2`uYS^E?Vd^MK|xzSKeO19g5r%#+;dI%%3qCDp>E3cZjfGx12T z*WZoPWqvPN-4)--f`KYYXNZb)M$#<%DRpybGWm9fazt=Ri<)Ga)JSvrJu;?nhb}ZO zM~5L>tC^+5Pg;v$ql623iTzHR+Ap(z_AT=Mt)EzS($q2t;X5Q(PgGz-fM&kM90Zom>G%Mr;daK@CDL9%Thn~9U0+?i?sOM(=LS&Te}K*kwF z;^EHyymcZL$5()X&$Ck`T`)?TVU~$BPZj7K*&B3@@Omf-DJ8ucgT3+`JJ>beV1K6~&ezQ8+O8SB z_s(vt0UT!4WySNo+8X?IoN&KMQ~*kFSTX?(xiy@en!Cssyh+zvc~mL3qKV>ajGKRM zQ~Kjc6~j256tgbftOUdhf9}zZ4R5bzcI>Yryr!*%xlVc`=PKHXn^T!bNK5i})p6X_ z*o7fZOJ690U(U+p|2UUXvr5G?YTMd5(2zEC9)6*b=AY_r40p_92fWyz9W=~Q%CPdd z8AOH+W-Yz@Vd^AH1LDEa@9uTK8_su{{ETX?aK;jN#^i*Uyx@l$Bgzv3CwqQUDv z!9%!3IJ<`9-4APC7>aFgo+_Og1db&>zl4k!We`GcYIq#w(scsqurbTM);@ytIe+Y$ zNaozsN^KT}SPazt*7DJ0$;%evvA?Y>3b zNw)j3O&xN)YAS8tE!UwP?!D{0oGxEz<{?*`rwEU#u&JPmVD=gk3NYXh%s*vcdnCq$+;b&OMM1=||<#=R;%S=`EE*+Jj#t5v-Ey1t5t zFBuI>&|6~8Z=)4*yPg_A!8*|#w~CJrG4(uU8aEHH+3SAnlD%31E79wOuWd?yS^Us^ zH0vkYo$Rhd(vPJMvn^hrvw}uXu>FCEH~c%G-zXti<}1s(_`4g=b*&8nx-qH|M5S3% z5^OYZfvoA5o+m43A9MZzkhNEq*gr!}bnHgeX_#F^YDi=l1U&h>5~(3Ak$`jd9Ft~s z12A+I7~WMNH&OE!T;d}qvlB?h^1=$oId>G=x|(V<`5SFjxozcb=JKuzpZHFp#oSbX zzQ**k%FhX5Rv^8VB+YjzTfZ!$pf=H?0iY@g$zjtHZGHLo21-qzI7h(D$4;y^36>Z zzUZ>`K`oOe+}$okkD+M32G@lslX#2c<}Z&5xL8kIJ8I)CQsq|4%~r_AJxCn>Lsmzh z^BSl(hg~nhv^sKRLjZq0Q6V2tPx&tkl8=QTsEO<>4nB}7_OxD1& zD$E4IhsM#6yDTC{ry-${C_xVMMz{k9FuS1hSXn`R`Iq1itBa#!GyC!7=8og3ENQ;{ zc_|1FSyL~3n8O@cf3%bKNK>_HUA<$(&Ry~uVVP&$Z^Hc?u;$CeZ=$qzwEZ1#LhNVw1kQbLo3;+PT!$Ig-4r zar60`RyL?i#?I@*)jdnhdbjuJfyBr4G#Q_RYeHM zwMk`!wB+KFhrNHU&fi?hJ*39LaQ*a}kPTi;^yy8Qn*(zbW$q5hl{A-j4rm9?kSd|T zyo%UY<<#0-Y8ON7`+Zm#ae=7P!^~I$NfNf39osJ*b$&=&N(PK%y`_PRRbvZlzym_R zEqAI!r9@yhettQUIEvEkbA74-?dk+yz6PrE#m&(=Yy9%vUQuV^S&}}|8B*xQDko=q z(SdFRC2B7Oq)c(Ycnaz-lIPtWWo}DeeTO@LqYgW&RjM?DpD)__1V3{b$aKk?+dnrU z+}w}*fV~On4Qcb`jla3yUO?Q{o*cU5wI{|G?HyNWkDiC@09>!C&unEr?Hxp5$tPGk z+&Qy|-o)oY{STp*=uCC-<8PiI&cXn(SbcR{<0Z1El%$Vvh8A^LPtqP~R(chZxOb|? zRfW+AkvoWs;)?tBGYCA2;~}gmj;)qNVH~FLz#no*`oQiAW5+k?3{65{ut3h-mRp2} zB&$4Lu8Gjkz84BM9>`7hy-2W8gl6`=N)BM^iW_X0{X76*rSIbRQLl zh3;(q0CbAxCo?7Ej!iNx9Qy_{|gic!orM zw+DJMP{a)jI2U`1f5FDb`IP5kF<0R#qP$$S50rV*d~p~x?@}bJ)+bK!>gEaJcFIkM z|1kZr!C?k^&vh*?5zd^ha~~c6IuIv~usP*YB^rB-X4`!SG1879h`9SiZ|oSzRqjEn zLmnsU<1qPWi1SYmLe3ZIN$1$!6iNU*&X8-4AT#G}uRL01z!^~>JV_fp($u46L3QRb zNCPkE&47r>XpOzSPx!rZgnzGqJ%41$r{(++O#wl+csz06&_4G{c^5EPpbq6>+XNdI zb8EhewqBCb7j?>OjW##uWjK&rZlg z1=oY+ABpSGDcGhaU7O0}K4y-k=dYaWo~IK+?D_#GC%OA_X9Vg^;ERe9k9uVtLJr~! zHi}z1H`A9$l2QCJf6|$zL$*JZLTV&jhRnO-$KJ)k> z>UzLOi=qXVI2XfW6pi_1VfWbE{IZaF_yVao)ILcaM=;S)N&6&SdtS6KQw=GH%mkI! z*s@9v=Xv#{(y7%zv+V0qLAdj)LPY=RLo%)ZVE#G9_Li8K*p05)CH@1EQdsn2Tw&1z z*s*Iu7zMo>_4T)De{u8ad{^^*l8(W}^anHFZ+&0p`}{L|SRH+v@7I7%;Zp^>V|Vji zEsv^S>3H^NzAqxEpv!#cXboHg)_lJrq^J8ePbxOwPwccN$7aAR7K3X-Jcr@wn(zBI zD?fN?7yqB!JN~h&cP4X}S-(#1boBE+&BEC#@|ph~n;;&P-cUR@%{2?}NcKQbUuL1X z&`KAH4IR`nwYymu#w^4(kDDXxilHK>FSGD|4BjrYFkya$>SE2pM1DoU{OdZoEtrL# zi{-N&u36X}M`LdKP;n&u(2ZH!&TK+01BO+w@g1sZKo$>j#QU1k zn6!@1NDbogsC2IOT1{Q#HR;$U70pF%uSz@_647>$r2}bCmR%h=0oHOz1h^UK>IpLc zhB?=H?^y0}2Qd1fP>ZQ(4BJ`*FT08 zkv@>)pLC@}N#XBctMhmuW$wcy5gpIZEc6q4to0+xt?GYk zYN&phlURR0<}N!uIx8fO?{s@ZGgIQG{Zya zmEHBPOhsy%RjgO*ay(3OgKG1tnlg@x)M@tp#oqhRcfHra^ro}!39*`=G?7#6ti`5} z<;{yIr`p{$BNyKwX8xCyc@f{3-Q`QyOX%T%v1P0KHJ9a2oMwJ(OOM;N>PfK1=eKoz zj$aY(=QC&83bJEL)37byG_$(!(F+nl&|W4MwOs9~tG&K+{U5$y%YLvEcDt;>j7wjh zA069n4k`4crXHK|x5}RFFoKQu(V`v70ERLkKYEh+3tA-uAGdAQR$`Q>;3@lnsePQc ze?kvSYPL1WcrK^pBy(5c%NMezl&xNyU+xDIUnqP&7BKkD9Jd3076Q_zW#96pr@D^H zv3}MN2Z*PFa?{L0x4K=c+GWi!bDXY`56_;0cW===YY#4LlPiIny^>kP-V&`uVqtoP z*1kWq@Rd%?Gtd4+ru8PbZnbgI{ z$MsV+&|cZiK>Hy|jLL<59#_Hs>#DvN`>(5d=ItKa5dU3nf^elHtV zQ7Q^_vNKB*-CrxC6+oSt8<46LU&1%k8;QVPv(Py&ToRHwF%2(>l~!_$PPlohuu-YC zUCcRkAx`IzbSRrU?pfkSJr_qC&r)%x=35f(=ZGo|w`}^H(uw(nP-?>b=2JR0vFnRK zvQL-hVyTKD`psHfTlcEe@eEDiU-son@ik9iIiVyotl)sg#otf53?PoNW9U4bdjSk# z1338PoCa}E`}q_-N8Q!og1fqVYrA*dJO-Tcf1WKP-93Es5$kWLp3C_)=nldzN@6?B zm*gWf4!?{nVm`)eP{)yd!*!^sknH>W(01^A(KHWf;}r=2m^Sd-lL_{lkt4Yn|0S$eFk*}}>^ zXO91<-aeNl(gBM&pm$*#bq#7hMd_RHRP!}k@W%?U!uh$o1GbMR8|Ts~^Bm3J_GJCh zq1Xf1IdSkg-#W(6!+Y5nfR8fkH{ybk;FPOYVSe6y|G;M`I5U zHj3xh)FgzUPc)wq5E{{xU(JMdxgg9LX}7KHy-4m7216< zx8R(Bn3=$@#_cFVX!Bv`)j}oTkxJyuT4=aJ2stX@yNE!gVv4?2D0-(9J%ysMmkJ_y z!_J$9ci)hAN69;l-L339c6UNo?Cy!hvAf3=$L?0RvAbdCy+RXTmnMG2KdAw!_fn%w ztD2ZTx;uoiDdgzxK>A>zf0vZMo`3QgR^DDZPs+$L;t)qHU|U9_SvxOc)GVEwYjlm0 zB5Q{@2NjBZSBjj*Tngngvb{KbrB_j+JC75Zr9?^R5zfQ% zUODVquh=oRnAB|MqLhOqAzSk-6AuUEJgx!sQU=DP5Vc!U1X}}Z?%sG=A5-ps^kcjJ z`p7KoTaF&|m=(I?Hk3UqmTDp7q=`~MrXz$LY|H{ya|ny70I%e9`vQA4eUVEexA3X` z?A4hbjZ`|53TP7=ac<)u(Dr%eIqbP}j(Chgo#d+FkZkq7Obe$2k&b2L{r!60; zEsrX+{7Dvf{ImHdG@Iy)xJhc;g9>d=pjQ$kh1u^@MwK)rAQ9+e{S9`6nb^rPq4Q{W zLm^XPve3UW$?0u23R5POjj0yq01ltPgFwl%sYzDd_`q7O|A{z#^8;4?MP^!<%C!BA zT4R0S(X4gLON4X495zGo(lv8C?nitSA-H4p4c+gTch^r%G;Q0r_062!qdqZ#17;#_ zJ6Bqzr>HeuZmz_dmre9U&rJ`6as#qw2VTexhO79qt^S40uEv@=!kJ-JKnZ{anCqbqPPLq@Kha|Jset1k(ePpCT~(lz$Il#i+c+@m~(f%`wT%R+L6ZDGITX<=!T zKqFe*f>+u~#~$Sm2RA*+n+GlhzFH@RCA_)tXI@nIQuhv-8>KwOEIwvojWO@KdSKO< zu$cWH2a<{0HZvM_6gMALxCYP|-Z>aw2YUErK9)W6W|CBxY>@cw8u=59)|gi=k%}ut z0CZK}1NJUFWm}Nnyvql1lTtZV)E{}L@1N86ABRx7_18Qg&ncnXzPw*E=X@#GZD+M@ z9Qq-iAtw<+G9xtn1ViV)uj`#aisfbTIh)3v&7$&rVme5XqC>-r1Br|54_{lbxJjEJW&Da0mWq(7WNcH zME5ZOy^yoWZe9TQJ?)=d)V@e`+J8tn2tq)DqeNasB&I13ItNlf4!W(NQv+n(4^14Q zCZ2HDP!d$h#+w1{sKG3ZNNmHpSJMOAr^s!IZsk9cx?JiUNJY~i)CKbv(v}+*wWv)f z@IWf9)>q9oXVXG?-Y;_$wYy)JQS*MTy*j0YI;?rs#uXB5AINPtD(r&K2}SS`B_8;E zFI&Km1o!nO!o2T~Ons{8`|sQD&$r(f;?IN(yK#c=s^wuhL4iH&So}WtfHx3nKglMu z{ED#o5rUR`)@*$3)6@<`QLq}!qBdO(4E>jtd!qf3-D&h1X-OQ#<;^Q>$QQ6r7)K>G z>+Rfm4fXMB*IUL*up1$hLK$BzgcMi+uLu&_`oh!K>lFdiBeiCb+{XY{>( z9$#Z_yGHv=o40eCR`%oh%wg>VWjdHTxOLnNr#c|0y9LwN$nwl5RS43{U}G9*O9Ogs zUbSk#yym?=-q3+nTr>S=ndp3C86!Fc#T~npRg-QAf*jtUu*&3K+%GpRU zBR(A2RU|Tqt*wg?NDWiXm$Z=(rtnu7zg1fW&VAtR!+Pxceq7h&xJu+`8M^%Y=EDk?6c}^RyJRaZv;hNodGi5X2au;)9Lo#TYgz1-O5atl^&7 zW+RSDOL7C#V{DD)i%JzasVgX$K{iTgE*N|mh_T7L8imnTdL)24Q+6FiToE}iy9p!s z7;Gmkkp7}DH6~62hE63Nl|%q`(W||M`t7n`x;|mbE>|)D!&5<81Uu_MuM%S9O@t;@ z!KyUZxgWA>pB|bpKP!B=e=|`r%n7llI`>PMKPnxGZV)k#*&rQ_jae9M%oAhRU=CcS zZ8l%*I+gy@kuSYdh{f-WI_5iTt8`eSiDXA+#QYdD#{3|19+QNA1}7w=F;qZO;nd=s{}O5y(7!&TvrloFgco*rzWi`s!y)7yXuzX zeSjzt_;azSK8hKVec+5XMjp0v812KX1^a4t2CtLVUHZL>0#W?e!gOSX{hM%To#^Q$ zyiM~~>zRJSiR9^k8m4-caI5nb}9rxneb z#D*UC(TE=iJO=0gj7)xdq^ck@W$3fxmH$#ga|MG ztPD`4M8uqTYC#Mn%`Iw8gWb05zd~yx=2sXXu8c^UD~n!6czNwtie8>mcxlYkqUWa- zp7%nLdw$gMV^rm$A{{lry7+zpbr;>6FfKijWq$LKPsj*+NCfi+8gAUoo35kZ9b*cc ztx|@og3V)o^eHLdi@l@%7P00oxx&KJ9GtF|pvB?Nr$j4g6s_Q9p{pzT2OVpQa=@_W zJ(5N2rLu1SkIn(?vdKOu9N|x{eg30QyY~5$X6+p5^LK!RCoeWhlShLX28g%_oB2{C zX~uy_9*LWyO_;{+11y47Z{&+(9#!5tDFx%A8K zkbb||9n$0G2XLUcc@iq|hIFqCX%52O8`8B>BxxK))dwAtuD=sAK}yEQET5GTohTzZ zx(^I}L;1KD(vX|v;^^-TXqk(nKj=dKAyeo*64Ns8TJ_({AbzcCreD^nLJhM2;#2kR zsM4clN&f}3N4{Z6|8crCrmI`0(5>LQ^F%LlTMag5xa%C@tS15 z@4v`{N!YwQUSYBg*cGN2;tE|@wNDQ!`!?m&KL@J`m@lAUyV}H>!TRI`jY-m#*aF-N z@F-Q(?;Re$Q-}2XgU2Z-=Po>gGFVePsRulMd|?+nUKywG*rL?z&QEdfT0k_P?lVK| z0Ic!4@4QF`ZSAc`PDH=fBz;M<92VhjQDF(v#<7)Ib9__!(w%jI%JdSa)F%P^H!98e zQCM&VWd^5KC_7G_-yv&o2|UqZ*=tZnW=iN>qa1;I6nQ#(w3S}ExshkJ<{Oj{T-7mS zpNDL6W#l^*m+3+xUor|~-^mA{-LIXHj%Ce3*n91ysn%AO*hym0rWZ6STQvxFT|uAnq3J3g1X_^yqZ*M=^Sjzmk2qv z-6;1y*{yF^X@K2W8Q7*yRYm%*s0U=@pDPc^UI-GOnAOO$&V$*x$@J_ToHR#cOLh)O zn)_6v5G!XeJ2dAiaQqVBgdR7MRUbqLHHsJ{@^xVmEH4I@_p97guF2avOB8EU^6ESG zm1?$aKi^&+x|hG-@mEHtHuL)%{{BOt)oOG;!+b|s>*nO&0ME4((;st5=;Oen_Ib&% zNZ5?T&fqp+r>uKPRyCh{>Fat*-Ys97(qj5}KFN;prK_Bc1(H%_M^5cd^7)qgy2QJYTkrG%M*p9NlE5- z*22q83}V)-61V3wzJ&ROBOi)_eI)nhbL+I8d~BLIz*dPc|Eb-;)8?F>EC~@Dqa^z8 z?(@>vZzdqSvPf=Y!#)%sW339)yHfU|PS65C*!$x6a4G&hyIIt-3w_zmA#Pu!N`MlF z)mxyPF7b#ovmY{4Sgb!g&V$GB1ui`9zz7FRhUxlX5SM7JHyGrKe>V(3vgL=Z7*rf>0o-v8BNqd-KDqtrRf*kq6!a*a&D& z0xAw;{h!4(Pu_<`{T!p9XgDISDF)Nq&Y}65S^lX>WB9ZPs|y@YA;7Pdjp=G zBs11`QA!id1I%dYDykn5Jn4_+2Ew_^O$IsL%w>8%>5L|g>#Zy6RrrVZo>b2348PWY z68MPtPXLu{GPvOHcQt@Uz~2Byf_0=D-)&?rcRNl z3C@-gK6SPLH!`k0J)5Ut^OmTr=GF6*FnKyIVHTsBXw7lc>{cqfNA7SYdvJEL!U&ha z3hzQf!9#>P)kmhbpSkobtxld54Qd}Q-SLlf#~)(d1qdV%TK`0}+3^F`xOp9dh#Mcs z6YP+pA`{psx$*8kmcDkLX!>LQ#m!YXR6Mjs*o~CBIAQ#!NFRlw2grmwvu)!F`L3Gp zW~*$AvvF*sd4x%mFn>m~0cv)b`!Ei#C_VO>*LC*8&pE$Bh5ukPjb&@}EMJF29jFd4 z*y;csrz-^8j32E@OWaEdue#lSJ$ZPPqC+{|M}*TI)rYaR6LMCxdE!w8BAG+`P&d8$ z?*|%8O)GDYOCNz%Nc8oJW01F3{*lxnDr!AB>j~MgD^`zkWY?+HDpZ_aEmSnpoZquE zfws|9wvxXDe{%hC{&pMm9v*o8J;3(2V7wmX^v?PJtXgH4L>Hm^8VZ4ehvTpN0860< zGD(RSK=7jS1tb;w#mrqiVIcb;eRnbfkG<7CGfo9uV9!e?eBw9eOa(SoD7S_R{2etQ zxX^0X1@Uh+jY8>nqw;&Kd4_~T5uJy&f>F9d<%lfq;%feZ*eTMRZ>R{8r-z%rW%-tI zNEqI6%F_Ks5sF)ROEn>0I48n(to}E_`JqMPH&xVE$PD=ab6&^0i&-qvNs{~3c`ay! zm-8dr$j7x2(A1WUn~mVi9V&^&rg$G91KiR>ywWUI$+#HSu_tL0?y&a0ZskGPydlh! zUW%Jl|IAbBx$14PkB`g)Zh0HeaKUj(3|)Zfko739a(+Ad)pozXa#8pDyWn=k<$pc5 z`~Cf~?)P;)zQ3@?_v?FnpIF)b`;s2tpVg!MF+Iv}Me!@@pXjIAF=ebL4|Q%8U!I`E zk$5iV`(=v-8iGX4=Z-D*&qt`blB%O(jExrxs7b~pr4h>8mk@D~8dFMIty#D8?$sEf!P6hb5IPZs zp1rwTRi`Fv?^A0WiD9Md_ow8gf!am2RDHi!Szx{=zM~ilPa#i%AwYXD}J!<_Zk@1c@KbXRF@GV~B{k z$wJvEJ5NcX7;Ka*8|H9c$IW1Qj=D_dQ_V3Dxj4Z}j{<{6D~slx0aF=Q>Nu z2SLh1a$BHe_8S$58Cs@DxOqfUwjO+Go(tymK?}t1EXzVdQ$tmMs%X>T#~zp(XIqQy zOqdbSJ1{^c4VpQyci8hK02RbFm{u4NwMn3-cs~|Oz-yZdl!`7kwh)Ffq8B? zV`f@Nw3y^CW8G2X8_2%J<7&>ftYqOpGU*-b91XQ8WF3h+a3pk_`ThG(Dk`z;7vNKh zw6SpujX&7*4-@+k)c2Tn2__W5H*m8rBoon!p_GE4Tyy7__7qP zF;`JT+?;&1{QGs4AQI0|tzV2Ud~u_EaXw#|Iu&xLwL_eV-fL2o&6L`3uvt#R)%c{j zfk{E1g=Bw1QOSZf0QzF&Q9V9l2ll!uyo6+*R;X)n#|o~cE|fQjQqI&M`x#w*P0cXs zyKIP)D3l-2F^%i7oB!ER@VCFKXO}JeES7| z@c6i`!K;Vy;Z?*Q=lLvnjZAmvlU}`ZIMj2D8Hds&ECJ?gr#p7FEI8Imy3u;GyuUa^ zV3uwUoT;+$RE)op<}-->vq&!Okk~2qIy;hbMN!OPUc!`cYbGf6BJWLVLgy6}P3Ed3 zc^2ei7T3ryq+V(f_X`rEhB5Gx%r%#u!T>kF`Hyu^WNICWpV#^u%+*po#+TSh%bZQ# z3v`j6at&dvL!Q!gC+)SYFFdmQw0)a2X9@)qjVZHwC)=jidBy8ZTia++$)h@VrfpuYYIF@@sTEtj91r7%4B5md17$G)c!3A->9km*3TL+YF61% zTX<4Bs^3vtu6!$>86Mm)Sb;m?T>yK~>^b%3$^GnsKp=vFmvl-Nuxg<$=VcG1jo_xCm?|H=1aie4(5<|~20Fl%lCZ5M( z!;q}EMIifsJ!||>24L40mK<*P&sR1i>&*!#0B$+3oy|L%%>}5IwD>NRpK-f_S5E=n zOrG{P|GDmo;JVS=CAwx%($tOUnn6eRHiIUqo+Tz4@i;JA2@Q+31hjsLxn0RVV#&T8 zW^tx^(Ut6FLkZJib3<9X%nbr>>di@AuO$s!u6@L2A^0lq{ZQ|H`eKjZ>&@I*9>JfL z6oS{9c3{KXSukbK1b++!-vY7ky0n76SI(Y8d(mdU`Tc-yRNqDGY`T9kszfYFqrGu! zP?G@QL&0qCm0EwystSqMV(qpvk!&#I1!HnJG)y0qw@k7Oe^>AaZn4lN^xacQO%JAFAO?&@PNy{XXq6Nn7 zT0Rs6wPlTu)BSv955~>kE)t-l7OolRVWPntY^``$&oNyOOA8O>I2=M*)N3e=^Gx@Y zu@CB`Dgsr3J516r(4StXacf#hm0+QlDwXe=K;FXxGBS{nSy; z!##z2KO)iDfYr@3SXqb+Cb?jR-gIRebi=`ULk_~eXh{24*R=(}-d7ch+xxD-j^gng zO$!p0ToiCFtyj8%xo)aM4e6C`^NPNBvA*4xISLR}`(2jPB-Dd|xKl603%H`vJa?&h z=k8WpA<#UnGQXn2T(2HZU-OEJzFiR;1JI+n^HAtns*WU)4f06O@R473wQ5?47 zl!%*aF?ZwUmPt^&s3(%;ANz11YBhIl4OkC2RgNDj_zP&FB6O7ItEnfpy}sVGNB9o5 z$eu>d>&rLfGd?MQrrK_BD5c2Y>DwAiv+8J=Lz#~|*NTAprC5X$QlCbJm}of?pssW_ zViM}RxEX`TCuzPqQQ8h!RbTqV%#3JHa#O3A5VG|u)OmE$WGKjaRKmPcCH1HWH&n`( zsCjF?Mb*g3D#_Mcp7N&{agC<~u07bf*=v);HKO@-I1(B09;%BMxfU>2%Sc&b5LK*F z^t3sYnN2INs?Cp|DR|vD9?`t`r_nrgcIxxtJa@k7HNvE*GV{@_oo{t}6ggVEE9#ik z{~DrPSEOm+r_Qh&q0T1J zDKj8q_Md^Hi2GH1F@gH0<>k-g2Sn0Y`w z3bL^|92SH^^PsoV8CIz3Qm?A}aFu|xj;pAOJPE*CHjhQj^*U8#>S<<6o!jpwZolby-IbZ&Z~E^TdyR}7TZr%G6GG;m8UD68t)U%8;~584CzF-{9D}SmdOc6 z6@BlL9^JJ|y1ICm^by6oqz`a+Ne^;Pq`8iDRIDc&b$p&HMiDZP!HgvOwvx?fe_I5g z?7T>?Y%s5%CSbu^wB`cI;Z*AEl5P@xz2hW#Ap`Q)%;x%H~BC z=I-fu9H&Lwr&ZCs#OMriB&S=)8oqrK%UY73riWTjC7};xt7S72m@2V}DEzUV?Xq#c zB)15TBk5N)5cE(-T*!7bLQ)#7)Dfc~2&_V@W$i}S!C-%xVI9%p7xyp>moEl*4j-s# zj!|ry&NIHRF~?lu6}hg1+Lb7tzF1&jlmx}OQNt%;=KyN3-MEs19TFD_d-a>;*jIV7 z%xh*KOKO5g)NxD>;Ty+^U`UCNxl&f5FQ``Ht1@@t;g)dfD^v%m9Jhny zD;d%cjnsN1anUB~iAWWPd5R_@Z_pcT5F1#Kf#re{g+t~dHN5j#PLw&+K$#lvvA5xP_&KB2Y8dOUEWb8V5tbM z`z2S|wSkgMz+5s;u+QMr*S^^%8T^9lt^!01TK2JvznGyLYx;1&wb0zo^z?48>&+_V zs92d69WORK85L~|JepRl@!*s$0+$fnUM%PkKl*diGQ z!#AS%T7Gq!&7Z+a#A!$g8IOP5o9W>RGwMjU$jXCtcRI=ey1`$D+m5lhiYXhKgeGpQ z0?GGSjxODBvWzsfq+>36l`CWxEztT9GC$Z~u8`pPx0)ztJANs}kCx()m@gG0CR;5$ zwciinxeJ3jQa%kynr&8OiM)CHy?lOWTfdBKFqR!(Rpy^ab$7aK<|TfjNJ;uaekw}R zQ{dp(4I|Z^KQbcVQ>b&mTJfNzYB3_I5X4;7@ftU!_BVhq_Y zqvjKcYGK>xp6By1UQxyuGQ-Epl8X-FBp$PB`JG9H&Q|vdp)=hDG&>Cad4SJLrvk z3uhwuqI3?fEn3MCG!bnNR_{ zkucG&;@41|PRdGX!hCL!NDL7N%XlVPOcQ2p;n^Z|iRy&8sPJHx-LGD2G-?O(4Fq-rRwyqfV6UYWVmO z8gBZ4OkhzVM&>gWh%j9uLF}dvs-I?lU@IV^lKoqfBc7drzr$lK6VWF3egB}d{_a%+ zU4IcW6c>;H>_^&t1=x|h$>1BNNNZuSnytrLPo997GW#tQn;0TQfn6GAeKNKa(OhBP z8R8B)c%1~>i7j6#`WGr+n8f#C^DQh5vC#b4D=JV;UV~O8Ay%9B-I_ICKCCOGB&LL4 zHpR$x@^V?-GxH(-PR@M7#i;k+Q%)c-3rk~DlV*jji!H);ch<1BJTz&ZJrh-LS*5uU zW|K6Zz$w6-Xr5G=Usho%Rng#ti;6t@k#sAwXeX}uQ05HT)qGr`XQ#5M`Omttu6ul{ z*^b`5YptK`-nGGnu1#j=@{1t_4c+=Vx`5_!qQe!_Q0*%OGMji06<31Zak~_5*FK2e zuxPq0dlgvGEgOV~lC zzl7Sf5wJ0KsXx76z4`1w=`JhP%OtDo!-KtHjgcqjGt)&Ld`?XsVcJ#jh5$O}`Bv-d z?3dd?v1#UW_B(jP7U2!T8qS87P_bH;`#3t+pWiKK!y8tG*X%7Jk;yXo#;fzP7iYfs z?sYNX!*HI12J27yWxt;Oq`7W>Kw&gX#EoR`L1WEr!_?9B@7SxLpvD>IdB$+2kYMcfD!sv0uyG3y z$6i#$u|0^{NPodJoGI8SM@J>h*TOEcS1yAeYPOa-e{PJ}UgCkSgqSnxBiFhlJV`Vp zeIq7C!WbBgl6tUlA#XX0j?`wO5@u`R`E`r`+2aR6Is7C~~tk0m!`rE{A1vJ0Z0QeG79Xrl!>E=%u~ zcDa(pw&RX)yS_H!obG*#k)-l0U{muk*v^cT@ZL&C{(#92Q4_L{(Iu@*miU3r8I&12fHK2*Z*t9J%%r<;$W0Od!ZioVXQGYN)K4|9`n3{-(XV#% zEx>|4>Nak7#<+flH<95&@kul7J;9F9^by_t41Bs1FAw;!VIFO+&!NExgm`RMY=u&H z17sig*xO@IzrNafvw9capY%FqgYx&(w#tjymAQ!`jQbrGjtspG_tfFeQ#`do_+qcbGldep6H_mP)$x((L(YdBjh1XtKL@@L zaO22qg7eJ&*;D$jKE8bbyuGCJs4Pj_dE#3gu{py#NjKjwQ!dHM$sdJb1~&~%Gk+SO zH6pFQPiPuq|4I7*>KbMJS2Pqd%_>?@E=#3~{!)cB!>eiL>xC+ww8<8C=^!ENgVNpG zLwPdkLj9)~>JOXaZ2husA0k;-CX#(y`l-HO>GFZL%bn%fw@c+Y!hpuZ)6CI@#(z%c zBk7mC>U(v%7Xa_$BkTXjwTt_CoNNRc-kbZGiSVj=Cft3_5+g4XQ=%^q`Ee%d^Wb+RFYOwthTT@cD3%pDP z8mp#kmt!vFR0BVXsRH>#^H?d1GY6Zu(EmiAmy@M6fBO*B8HiCP+$+0jn>$9!OVKv> zG}n3?VaFU_w|I|^{Sl8v1v^Idc>gL~wD|oXG{NHgem%-x`H}AL@9OdWucO`H-(S}K zUKHWt`fGaBx1dLTm-ndePV9i<@6YP-eol|}wj%tC%fAPsE4o+wC(L$w5jU$9?EdVo zp&Spn5zIPIiqH7J1oM}H`!iJ;QM8C&%EC>Cd_O-MrI>{Jd}GIChNkA|SE;qBbNJ*K z?-M4KqiFKHL1(#=NeUeg!!V4;>}a%#R57}$eF@^9kqeza(c3e;fkGY zb(wM*%gw3-`dJBJbvSbrD~<9Y?x%=AMg-m9gz2>N3Zsb;VA>E+v(ME1$Ro})n6E{P zgnFbL`hLIa>C*Qi#JZO*e&0Dk@Oz6668s*-y2J&xmg}XK3#nz5SIfdSHsU4BgCI!N z0zcZdhF z{S#(mf2Aw|lmKk^(LM5rJHEqoeD~@Q7~dh#?@OW*EB#7{TWTpo{GwWtJ?ZzK(7uYr z-spF+_X!Yyb=7kq3*C;knjzU2OPeRiRu)-MIAp9WWeo>ZM~uZ;lR0!=%d}DpG|48m zN@szn1VZdfMBx%wQFmgWaF9#vD>d5UKS1mN%=)M2zwx@BhY5@$=1n+AZbxjptT{!@ zQF&FBnTIRT2cxVvZHL3>b|uYgJLOG41ph4JqYmKXD)Kyh(sFVJJ%%STSu2yq9Ea0J z3YZ@qWVg`>fjq%e*3Jm`SV)-4N#?wNzAm1iP-2p~Lp5|+f^2bqRlroEVCoVu_4kj; zmtabCJ&usnuqr_&c$D{#b$?GO)rctC8zY zTr#(<-aNr*6h38o%%Q|vRMeZxhKeiF+#a@I5azX*M-~jD8GX26nz>7Bl#Dq)aGvTm zdgt2$0^)yaiU1(49Xq~#9-iHQG5*KhGxO<9rKkVse6ooekzP ztx>R0jlc3lol*YWHY~gq*vT8!rz|Sa`M4x!+Saj8o`k5wG5}%N(m!z?R+?(Jz_#GE z90ZqVC&{|)v`3V}y5I6Ub_w3y#)s@xD7a2G6qxS-!~!C+M4(e$4b@jQm?$pYdWm=# zZ$3jQ;;2A-kcU~>^}Y5XsbAbI9T#b1=>zETYM;EO$H8@H^E6@l4QH9X-qgGfuC%Jf zjEPV{s;c0bRF%&h!qV4u)s%EM@SoMBb>;9m%J6U}dUAM=BXQ-+J;#XrT%hnmz8s2tkw_>jUvA(kwH$bkMG7g` zvK^CPE%c+ClnXKykS~#*`q2RI6MB<`Z%FbAPwM*QTqdEaN@1;0QyCNw7jp$}JeaV& zg!$}|(jZB;>yu{Uf$Ei$ph!O3q{d8}Zhr&sGp zljb1H$6b3}uo2r?Z+^22MvpX64zMN)ReuJ&HDLSi(s_!=Ogs1yzC}68s8gG1=^_#j z!NEE=tU?uB_aFdf4`9-a!VuR`2pl!_&bx(9IcS?B%`Zl{ox0MpSGQA+Z11#~Y8FgM z|F8FoHgqdmFX=BT&8@g9#E+CJPngRofK%S59*-!bIMnIysbEC^O1l$nWu5&std}^7 z3h4(SPpssaH!P>|0K{Ix|D5xp7d$HVu#_1`$dqA9d*B+j8@O`EE4ZX*!pb5tb`n^^ zwY;&fq3`mv+VocoQ-**1Zo{8s>!BPf?=P8oa5c@@jx4kA#s4gn0gI?40hYgnh(rmpG%XApQoBs&ow}TV;TFR?!$#)xaMVrl z$y6lG)yQe4ECU|(xPEzM|u7Z>~I=tTWQ!R+uyXII~?}L=@5nCx~s+4l9H89m| zS7ksb`FXzVqU6=qZ|0f?VQU(2_Fz5JOHG6Hk-ERM&3U@e`UFR|8A4bcRoc0v`N7*d zPXtx}G0&HUxtss_udaS@)gS)#_q;?X`{+T*RS$2f)5v>WWzuk+VB>A{lS|p*^?5Gg z7v|@HLR5NoQu8EXuEgfosUK_{#sdZ~*r~AC`8(<*D)IJXrHo=nf(%5CimvrJ)dmFI z)i(cNgENdLOF`dWshWCFUZ6L~o`MKqfEYHbwejC+- zuNC;|L3Zh!=CD|=cgv}|ERUR5ym2{_%iJ5<&9-7>pA_nQ*8QJ*<4o|Fscv0xG(jBt zznYf4n6w+K1<}|31%e}P5@|(HCps$+S#E!o%SyTA)Yv8LPsBwbadl(U(HWVO;wEsE zLLYn$9$S+hLRFT#-tN3J8kU)-Gc|FQQb@KIJ*pdwgn={W8%16UETlhh>RSo_xYt*!0r(#5uRuZVj>kj<)y8*X*CH%2Sf%2I{- zeb2eiB$EI_Yv2C+e*WddlX;%Io_p@O=bn4+x##NMQUMZRaWuP^{=0Q1>gYi99* zz*_;Ol$z+_LODEB>rIFS4I?hsa3s*lV4{ocwYs`aZpnb_GNgTA0<`Je;sBOLt|V5h zcu#>fh|tJidr*T=N}o0W6hl+ z9vV76$m|=iH-PD~aZ>nZ;0NK~(jl1NA@`*zR;9yK`%qy#!_{!M7<|?6Tv%t0)T!LE z3Nh)hVuYN5NS9Y>%j>){yp82)ow*%d5DhHUZjbiE#ld=3#C+A6*df{^sG+RRyu}LE z-utESUFeht;y#2->&-26QB64O$1HhsbOlMD*2LEqcDf;QF+#>41GHa=xvyV zO+}SO)XevlQIu};UjLFp^*$Rvht`=VEJqPs z@5CAsBHQ(6r_g1O3RNJ3vJ6{4R3Vrs{wZVPJAFF1jO5mtDez{&;rV8DUy9$r>VhN1 zeym-N4xa<`mgi1N4}+8nviTj`iAp@i;1$J+uc6i3^eQbCvfIip({~Le3^qSy_QbpC z6iUW0)+K|y^MpHbfom25P>ng380p-^HuZQZnvO#AYh6U;<1p?ofRc|083;%A1|{l% zl1H-vqMSv?{Vc{Eq1@Z>{wIXvtR(*0o>^!EqN2=!b{Sa!a51knOjb8rO%zj1ojv}n z1MGU*kZ$n+rm!AKgb_`uQ za)I!RVa#9T@T+9Q?6iCYy;o`zseA&qprIn6p^nc{Sh%?h3zw$ByDUJnz?$%--5<*# ztmm;85}^ou1Czh>k?2IOAbeNr?i|C4*&iE$J(w8`o#^=2C>{S%Z|O&|w>sHpy@^7k z0Qd!-3Tnh|Br#J z5NB_t_i7g_4RgsWA9mg6)({kJKyBidppW0W#9jKUCIj!q4m0yu*wvU_3Yjahv-7y^ z4Z#2jv!kCgBUy&ln3suDX0lV6NyvOzd1yX1OS@Sd4~>j+m|5gv=9iN!Tpe=8IxID- zMGB$-ItXD_oRdX?rGX){OiS{Vu8UofnfB)Hv@4#jH5cdv;+oixb!_Z#0VQ%J=3&Z@ zMfx1uxP57H7uYqdlZV1dbOMS^#vg1K?@<76(kYE)I@|q>$R8OU!HMe?E!J@bW*{fB zZn<`?AhX?`o_X>>l<<$mLqAOD`1O94X`;ql$?g~Yp&dI#H+!S?=61-a#+*a2c7ems z&6~>3P>~-<)8Xhd{N_;PiNsb}(G_cp5z3Yqi!~w~vqO2Y8)r}{EFkL4#nyZT)DD7m zW?2luI-iCEiP0NGS^x_}+dCRvuwG>rG|4}T;!m`7gLNAX#ozLNWN;L>J6;)bS`dnOpM|jojyeMqCgFy>ShpjL?8N z8kF)P3nJ0p7l+I^U8IVXbDX^iRVgM@%9)=oxhk_{6?s^lGEC@4v^^jdktbxH*43?> z<#m<mDr|oSu5-vntjaGM_DbO9qOa&s@l|Z_S&pl;AcG>k`kk&y{({8nR`8({T;* zVdnSkz2eX775~*<@e_N+pN#aIS>9Q_(hu$xznjHFM*7u(ijkQ|TzV6y+y_3&)OR`} zMr=s90Fl%@1%nMwm$!|)ftLLlq^SOs&At(dzIbngJo?s)6^tt~E?n@F;l6rv*bd3R zKlhf_A466*RKhRBMd#k0mu;i!BZIZzh~Jz50XZBuc0>fgsZUSrk1{vvE~9P)QlJ~F zgmNL>0t*}C;4rRxv+ymnQZb951M(VyK-(*Ag)ztah=Dn-sxX9Br7ELMCrGUZozwEZ z*~?woRXFr;A{Hu$)d49lSU5H5C; zx^M(Rx(`eW4;Jrkb069c!LM9Kb`qm|HiJHLT6i32PAzts@o2=DeC(&&94nub^t0X! zS8Z8Q`W#NLHh0%GRm3N#|-pGBFcd9LqTDkJ-Q;Y4Y$dd5G z(%RW)SZjPkHt7e1%onX@n~yRnSg;a~7udqlyqGJ}g-3_d8pl&ZD82ROe5*=x->BEY=3a_l;e2%lf(@r45uJw9_aR6*x7E1m53+>XcxtfBI=At6;UH;CN!i2M=C zjd)D?>-3!!+@cY%>Q6kHoYmz7b5mH9k(xGnQFfgh28naheh#ihtkRBRaM@2^h#l8 zJUwQEoK1#L!`Ff01fO_aWA5Yb+`Q7Z=%^OoghQc-El@;F_JmnN5v@7#ww#77Jt<;V z;!OOPb91MhK#FoWd8M?s<y8PBj*oL6LvHB9MDSJczE z(fh5|q)YD7W3zQ11L^<`PHdmsW<=Jx{~J^@NX97XLbS*~9AR>0c^gIlU6;7njX=B` z`BN3(@%OWrBFWX6RU-3k3#*5=G>flhHDkT!rRRW?B;;<&ap-iUu6K$k<*NJV)tOh3 z_pF_nW+*XzB>lbV^tI+AUE>tsSF8)bjJE9SwLTIFzw}cbxYr?&rw8saa9!rL)7_~j z5k44o`H@RCUA_5+*5UayBcqIp1b<}DZeO2OhUB!q+%*R_(c>IWMrwQh#7Tdllm5<6 zOP}UvfqGMg9x!}^AVV62S(>hSd@5<}*LtiAz8cfls=IqiW})y-3Zv_NX1jDDyBhe> zjGbmqh3-o>j!dz~JaHwJ-p67y%loaiq-VyRyvm78WomPQ7eX(|_pkxskp z5~_7rzL`K0)&IO8oDl1UnY*6IT)zuTPBa8%Q%sieH}WgX`0wy5ml&e> zoz5{NwC_PNO<^7yM@$wIT_I65{Ep=b@D!=pQDPf&pAYrl@bD(mS#rt4z;U2is#Y-h z9p|HM3qPKY49m1;{)k{LoE_aR&r~{fxV^(q$!(J6ALrx`kiXVEs1u-&OI}#4SvsEv zONF)O*LKWNN`;mpmM0d9FKa0u=;|rI;|00^PK=Lzy~`&A*a4n#=2cbBBL8?Bw)G{= z3Rmu)a0(?}sBT?emYL52FR^~zbrK>f%i@Tf|eAnnTiOt@|+XznE< zj&?qZvZ5z3n->Xp2%3QdDBZ{`3S!Zyj}8AV4XZT8)aexEAy!tBW6h0^G2{#l6D^@= zZLa{ldUHK%4hKH7hP7q}aK2u^HCzniXAbhyjm6Z3sK5O1mg#w^mAeK+`>fp6FV+Xt zuXqpVWZu#>vHrTpOxG57dQx=!I@dTsSuw-im%FW`6?BOSQ$c)B_OdC7S+16fF{!c@ zOU7Z}wV99YucuJII#@(zDpz`%o+@#Gyb9730OBWD0A0980+f&^k zZgY%;Je>{+nIQ^gu%s2`n^Y+JZB%coFn73it?)rCg3O~7ug0P)ODDvRT6uN$gxK(P zxmoe{95s=qZ>A&%`A~IW)e4k%apBnVn{~GDj zuD|No)Sz3wInrmH&k3JR6-NfMAGR4G2`_SHCa9uUI8{4`K0Rk-);4CZta4x+XZ!vz z>rzfx^yOR|GO$x_bS+|srbO^6vmY4)4C~5u@QFZYe%Sq90krwNZmn^GOrmj|b9nfQ zbjQ`3dAgY7#GbcdI-$Uh3O07Qd7Mozon83!HV8?AseByco}q9m!)}$(_l2K!hz)=u zIEUd+p9<14(b|&>fX>qnWvqOiTy|)A%nzT@K_VPZ(E3w}`er&lWJaT#VaOHIuj{L6 zFUsgMajn9PtO70RuM(5Hv1!0$)#AT`FIn z3*Vjw1w$#BUXM_vU4F+dHk80?MTkS1-(#w`bZ3ouEO+n&wlDcLar1*Zahoo01bvOZ zUF=uAK}#$O?6lq1M}%0co;vQ3l9joPr!IS^h|-PBPCt3`Ls5KIm@twd=~Xi7SRp%L zdV!8o$%P$fSm>sL)xwTxe1yN!)s9IW$4S77?f`9AIRF50F@<&nB*C4%5{$4AcBKAB zq?pZgz81c*J59%P5`JA*z?VAK5zs@B{LjaKFz^px0D2b==MG;n6NMOByDwwv#dzzv zD(Eh_g|uZW7U#0BCX)uM9US({#KCcgeXYT~50N2miqmncWtEfupxD*2O3L^aSgfYX z_YfvCSuK8%UxMfkysMsC&^UHh>`)0foUiS!S-xn$^3Ip$&%?~`-1fQ$vk)y>#;r`P z@LqQ(EI>0oN3xaP#t-?{h_CbFUG?08#-dr#6GgaG0m+l776D1buGpayUWxS^_m%AA zPZeT zg7{h6+k8>?_BJH;^3K=yRzRiiFJ!LvGuz#QNl%w$NT<-`pj$+k+L4^e?IIPluWyxJ zmh+cn!Kv{*eHQzZQ$7y+Kvzu)-`q@T(cv~re2;7K&yrI<3Hvi5W8Xh~`jHwzy4KT=*xae{;Xj)a zd+?*p4mB>|*R!C}HEXq0jKZ+H){g6X?tiTwOA0gh;ck5b%Q{hVRUiktgc8a{+c`B- zERyJlcY0;3lp|Z2Qs{*JNTJi%Xb>rMgW93$4O?n6XEOhVo-~%m?%Q)3~MCNwx;^5^bF?@-pF-dEUwmiMD;Qp#zn7?1WdMM@uEI zC+evL4h?I3HqB8VQ;s^#9bF5LoA3&C?Y}0AfsX5+?x_!*&`Wtd5r-==pss z2+fGM_g57>$bhO-`%(^~q7%3T)#-c;oN%&?zLawweZ^F?K(8|!mw22po8~XhWm%g- z$w}FWyCd06)^7GT9K&oTLSxIR_sPVjvzJ_pu2U7$&(!kh7o6q5K=@qCR`06KOm^MNl0$p%GQe#^YS0`x+I6!>>kBljW@tE|Lj% z$JLU8+1b~HdEgM~JXxQ;G8ObTij`nX4(s0l1!R?79m~7-8eTd*B^%2MSC8V=TOqR2 z*v5@wl z<;N3ZlYcj1-2CiVDXaSc8ol`X9EvGOJO>Ct(XZN4%DF_WzWLKUDecftxE{y6}0qYLvhIHXSi>R-JvE= zVP%WwSoDz}2-(nx!o&_CgeHH-yN+#R;sXhgZY;CJ)$y#v%%$UiJA6ZWRzg#@&Q+L& zzqd`Y#X7|mzA+tD%g*)PsweWRuxqUcxw`9|bPC+neu*h9js*gxV!ndKeNInHdXg{c zNX*t6{_vu%q)|;eDxLJMy^>zml{BnL_iWDq;+o#c6Cc)_aPPnj zF7=<+gT;W%_@2Z%-QiUIsmgyI5~6=dUZz z&e~fx6d1x;EBg*KN2?etn*Sl;a>Oum2eV8#>*u`P%o`KH{?=d4{THi{SMCgr6eE&; z=2$jr?vO9G(bWV&IGFe)(9^ldEAAQsJc)9@nAUvyDNbAdbjs(DKSdOnFY4B}%t;(x zS1a`JAAW`2GY{Va1I+@JZDfy!MPqw6Oy9;Pu?r@Aq}9(#2~-8J5%G`Z2?&cm+pOln;@4cDm(CXmUg%N7Is%MTF#nivvdLcirWy_6yZbq zrVz7n&5SQ9F3Swv7)Eb zvm^tVJ1j9pa4~`YuSezG?Kqu1p$wEtJ3yyTfTPg?*<1|Nm<H#Yy#3drv;Jm7Lc6C zg*5SGRaNdiUgRuyW)o$+0BR6o4M4dLdNq6d2RM%MUD03GIXaL9V@{?CFeFh-+Yiktl~=x(CD2_x+^7FDBw zRiB_tMqibC-?Ibd%Uw_#aX>Sti-IqTTm&w5s~G~gXisD#M51={r(WHgHn{=_O!&+% zI1T9--^B{TvI~($Y=pvooh}TgB^W-0sIhRb8WT<;3~z6}PtfMlQ@e@m`dQ9Y!uChK zX~>A%8=l@Fwtdn5=|*@`ulC?{z2kko;_Z3VyM6^c*pOw_g&uzOOCH~Yt^7fhb#r7# zj(*v;PQe+-K(p4Gf-^&%7srrA*7kaoIVcoUYhH#YIT{jggBayw+&ehYpX;}Ts7+#0 zKz?^pxX-()Z%L}AHuVhUpqM#byn81k%MX znLcLly+T$p5zQV?ZlLHrBjj~eu@_5!7uy0#3Z%JuFwND^enU!ytM?$Ry+P3sOK;S? zC8PaULN-Y?UC117!F`RluKc3hOXKe{^3T{SfBwGmr^oAVr1$Re`bt+}d69(_mX$6n zbG-Jh@kQ0#v&&U)wjsZDk5{mi&%L_&OetVn#_Z;d`28SeKfw;Y^f7m%+pA##CS?i* z4GrJd1@xrI;%D^4qN(wECGcBKXh3t>|~u#g}Alki73p*3c7n~uMBBmU9Z3z7S-tszi-X!M%! zwsgwmQp|bh+|$J<)y_M7BW0)(*-RvRP54&6QB)2><;^PNAiaJmKFhl$e*MnqLL1-9 z9=*IZD(@@G_qu z04hl?UsUe|{qRnUFBdZT8Cd*J#dbA{aqp9fzNAb|^@YEi#;=&89=nbe;P<*i+{P~< zx1>YrjhpZI+MrW>OS;AtU!Ug${YJ%W*ZMvJl8lQUBVj)Sx>s;||3Zwj#3K>y^)q8K z8Abz>@bu=1rE|w6Re5ubdUe_Rrg}6vU$}D-csAHL}!!^mPo_6yoTR%z^Z}%Ha6f z>6~YZ@!O4vT1G)LNv2mQ6k%=3+a65fOPP`m7v~y4fLf>x=Xmi+lZ-3RPjG& zFa44p9Sgx8H11pQZ5J2P6)(zl^CI`~HHCu>qq*&*bX-3xXLt%*(M9%rE_ObT0dq(GXUpLv+KWmwq`}bm9yxILRa@S@-y(qWc$03iQ9QcA#~*jq(9mGfNUAP&oq&XqO803>&=JC^VMSh zZsq|ct;?wa4A0N#{BNtI{SS10e4>&I2XGI4{KM28@b*PpKE_$syg<@ba#K7ZRmulm+Seg zeI-K&);!c^sy08jdGKBI81tMQDxN%u*W(YFgZ~SGh==orJF3#&^E|i?2 znb}G|s(-e|7nh%Kn@CU))mO~0N1=M>>yq%~bkSHlEP}GbFDqpy^xDCGun_0;DhNNt z>QjV43O$}73jVXx+2zFHcnMKgCz7V#j8esaklvOXhPV&Rob*hZxbwnO$=cbFs`hcp z`G33ZBfbe@QQ3KP(fMUPxhn`#*&27Ea23fjJqWRC-8G zPxML7xvX=1xJDayCyWdPBlZYdiMpcm$ng0Zl_W|O;{`}GH((p7QeTYAJ#J$T3%{Bk z!nKhY2;cFdC|aXrtP2PEixM~TloVZL%}YMBf7jIkDm2r-pJ@*ws?Q=B_(gRzzDNf@ zJCmZ9Eii9??ckWe3rJEr?NM0y^6K>YiZnm?+G}8LFMi-{7)rmVdBT6&BH#%dr4V58 z-^ot27`dc7N{&VN`9>ah$vk66ODxayqel}TN)AkiCZ|xz zk+!G-hWVMZ`chsYzMQ&wMQt-TP|%1TjG|B&#V|r?4~#-Q-mkAxG0EHTUt~uK*dTir z+;#!ikb5LiB5qazPVWjq0|qjepPl9$Mdme@YiZ7L!xyNkg+xrn+Y`(E~dNKaTq5j9x8WzD7U_s*M!FrO2f;;vwu~P?#;gD zohPKsavD=)C2{)aa19Im1MAOT)7QWKXGa-pm<%X8-dWr8`}I3|ekZ@v^ScIAW#(UE zdVaqI7tD-r=~ez$dzGKntGwfwqB8TJ)hqpgp7C~nW;#GJLVey)>jLlLt{{{*&{3bk z!$i}Y>Q}e;}ciQ@+0lDhe}+S`wC?zisfFpIquH9lI;gpOT*P+a92TM1E7!)dXR?o5kS8lc)(6q>tS&-wb#|4se)#{t|rGmb^G#q4s|5D}3T!@x922 z;X8#fj6K0DVEQlF4m!t2PjD|jN%R4UiW9iO%So}#REU5eL1S%Dbeqc*6IKQ3l#*%T z6Ooghm=j!Pu%uSxOrg;DBc4*Nd*Su-&ci>5)XKD@JR6b_90F3-`aXhHc{_Lhfv7Q~ zq0Z~-d@`Ep-?H)#+^*1UU_^=?USb)MsYa&-OsZD%J=E1eV%=x5Mn*-L-Q2&0We!6C6{7e>_!~E=tfZXbEXu|NlkG@jz@oyEZAmN zU*ko&2javiI~S|E$YQ5$H!~a~OPX^n5cpAT((&o1?09Jwej-7KRI-L&1Tue>s2EB= zTKFBtp$}8C{7LaO9zldOzjT10Wl_iuW&}187j?WNMWpDi>cz=3=h9s<8gcJ@{$zI7 z4a~>jN~b#H_i&gg4`Fln25D+x$7Bj&)ag*eu(Mk~yf;Pte;b0mQJ&YVg6TtJNEbuG zuL|2Mfx(Aw{S9xUctbMRmh5A=IR1bCi$oI(=P<6kjborMS*Asb!yCYFxcK)RSnnf| z!jV&hUcGUoZ)$w!@!soR^LC)U|Ky-jRB*bJ&9TL@8oI>`={P){(<0 z$$O8Mey_wYfWmyak1dGroDe)8__BhR!4JkP@2hhXX-HHw4!{A?CWx!*7yA6QxbEVgtwfK<{TJ z4%mc?N8~bJ_$7M6`WYLX8ni*TwDKdlY>JZdo=2K1Ke?@l?v!~s z7GU0gmmUR`Cxquv0pHu~_lP?rReWbEIszM~FTIO~V#X&WkC{PYHTu?h?d$tUJnSHq z8Z`GCvhyaV2Sk~ktlTM5Lsle*)1|YCqN1x(gPx|`_|C7yE=$CAUb{yQ_bvHiRs8Ke z&9R-ysvMJt>Nl}AIb-Ln`WkXJSN=7fIa-#e+*z_EG2^f0@mKdWSMGe$gs%YBSqqx; zCz-mdgx$F9CQk;Omm*3DoUFGqLPJjIeh~I|1`B@OG{o$>ArrsIJQ1LOi3aOkHw!pW z@TSG;xyeco$Po_J_z6b;dbYpDd=(`|LiR@D8?$Gn2IZq)jjt_;ZxnVowJn(xFRXYi zZ*09+@J3LL%`Qh33?+9w&FD-}XoiL=xjZ}RI?eowjhDnr7^(NW|9X(tF@%(%+7J*( zA92z_0keJqu=Sx2IqRyRk4KCffBroY&RJvx-mslSqYXgZL@wZ=9`^XQy z%U$l|S>+47=Oap9`KsG{=;T`otZ=(CgMO_+zRaLj4f4m^0-2$kOCMkO^U^04`5pUt z>RaG_$d$dI*>%RG(kB+aU$TXx)^m~zYpuR`LAi?&tzn*&es++pV&Eg^&*IBP-t)Z$pcdrwskr$cJ)M}o*QW1ds#CcblNtZ#D8cZfhWCg%ox z-g{1sxI(N~gXRw^HH-45Px8#oou7}ec39mNHZWw~eO60JPW@?TpL<0Z{)s{+ZKN&tMe!FnRw=(Ft68p@8JY)#8q!bcLCEUS+$wl6VV9|=?de5 zxHBw(aTA)?u4c-;ROi}JR)2ea6IvXkU2(dmrZEV-!^2;vQDOJp@S!|(J!8zz)Sy7j zE6*0M2Wr=xZ+^z~!ED*sdev~f)6wR*Omi&F$YD=`iG{E@(f7l-%r_C%!{1BSQlHpr zX8%Z#>St~lp`N2N3mcs-44byI)n{rg2ka!hyEzYmz*lQl>CO>rBTX{zT$NHu+><8% zo-b$r|2h_9A#*J2AeP@dfnV&iMWa1DGR?v`iK|=2nCn!lAt=K5+0BvX3aq$8X5lv! zOn@wj)Y|lmG=0dXk1W%`dNccnbcAVqP?949+fqQ8TQ%P1RAyR>>tT_zZ8?jz9IuE_ zs8Cs2bpDnXcMahFS@#1(4fsD&gy>(uH5;Ge2U`v}+oD{N3p#%%fu4}bdqtIZ;`B%s zwwkugh}9G&)5Wexr1Ls0pAvmy`#|dgy2zm(?+qo$ZjmdU#$3lLf?|vHx{2bDxf+p? z@3A5C)=kntv6O7cCWq(&f#oxF(?NHs?#I>Z##_(xw6Xre0Gf-1cG&U@wV9kqP#cnT zmDiXSRy65djH1ZV7Wb1P%jolOwo7C3Bc&P`GB@5X-yWny(Kgk~RZ35jc{5>+TdwLK zDYBU_>1<0*!9`Z?x|QQ5##no=6ogNj7T=Y#;&)RCi+%`1`OV`JYYwQj+JE!ISv7fM z%-iTESnoi8L&5K{6n^?X*@OBK z${?Da!C2D!ov9KwG6#R%sdoA0p;U?40-ZoRLAc}eV1P=Kb*}iIT?-FQnW8!;uN5{2rpng(zY-oJXp6KY7$vG1y<#3(w9xmf!2vl_<8OndAj4- z=?}k5F&36fQ6P;mpRn@}EK;B-Tq2cDpZ!G@IJz%*0A1+*sj54MbxEnM)kBAS?z5V>`6z|o3{u@ zF#VLa(p6$%AtO^Y)t>cP0RZko4)OR;?)tR;mCJ)&0am^!S}Dp*weyhXL<-I8>@1~s z8;3hi!X;)Bn}B0X`9s=0Ami-z+VJ)?Wixpcm>+*z;?yH5M#MYQaZb*@HfQIT(Dvzp zpHNLnN<5C`o8paBxdFD*xN*gh$SjNhD`M ziJVO2GBM+5R;OhIv)-+J{Q<>p=U_>y6TjJTy|zkS^LMw_W7d98!!dz5NQi60@6wHe zLB-;);B#UsfeUneW?y4*emVAEW6WF&g_x>@!wWO=T%G2PmIqO|P z8jz(sR^EpDr7=HAw+Ik8gf<(>b9UCf4YD&2-4@g-5<`hai20X7hmO%_ZwwB#P?T)% zELRM&;dNS?b?yUqoiJyaoVIr!TBl-ojTs4?AP>i@ccsA!naymT5qMtX_N&x+FfRXN z15#7)xNOzeXSXME1%Ihx)6T+B22^Y8btZPWezYgwX{0C_5=SD5X7Zg&wTgo9!|7V_ z>ZU)hE}O3-44^gFn}NMwo04)+Q#2*^8!5ohUS3U~WT>az;@! zC;L<--l~LTK2&$L-!WVm&h zDpf@y_=*{0j%5OcfIGy6fY`tGPh1|1KXO9u<;83YU5?ibZ^JK$N|cDb*Y_c(r0e+R zTvFnVl<;+ZaZ2IwvL$h7Rkqhx?&J4RY(GadReg@1Bb%x|&(H9ts-yTRXsQbGGpwm< zBtJu&s*dL8h^DGz`0+PY74kE(scIBI!KSKXMa_ZQQr-km{kU!GAI#UGE>1-$~Dxhx^f7Ri)(g~Q`wEfJPw7;`% z{D|m))nAqdPMv746|63fx4Ix3InWzQ{1LDUn{xR(s%c6#KPNU#$>FECX-aN#iYv9G zIJE>x@=OaQR?+3YMp#$OlAy+1-PlEuvHw~<2~h4`#h+Q) zo*ItOjxoztK`m?3P2eJHEilme-*xQj)tfC}P!w4S9UgLE(%Cmb{gXp2eJ)#)rcd?J zqRVC(&nPCM*Cg2Bj770=U-NSvFEUs@AD#wY672En@63G`uj4E0&Grb~$9dLb0#|rMf#Nceu;x%i)Q` zlCx6eXiYQMqG7|Jzf-jJzW;dB{0D^i>&WKHtfaV1Vo>+hK@IT`nVNo=#pT#mX zB<%SbI`3LG#i82kuH@Z3zFs&AmIoNNcpJp?3H=yMz-VV=HTTDje`6oQ;(JCf%8Pul zqn!6hSjSss{LiB!fjT(nII~^FSS$-f8Py>7G_RlH3&>#Ej>&)E=ER2eQ`FqC?KOY% z83lxW?&ieSwl{qJpNE`%&1V-hU+FK|NciXbKYnxnza)0H{mI?`V_8cypW$!5T5=o} zekn_vEKin;jH1hj*wEf91#rEIRe6_#%VltCzYhsP} zhg*I9AEDOfNd^615z1&jTXOj6)NG1QeBk}z^jo3_{7{U1%&zK8;Lgq!47eI|_-3}){cX#u} z!OYiBC|_bjLdWWG2u~$c5&w~!2rpaDJNyaEr50OuKtGfg}Hl5-(TE6G9jI^ zp>9^Kc^=LSXN>R6j;#cng}IN6en0om9AmmcuDT!nNbb7M&xNl8B+bQ*k-6!1QE&9L z=0)r;9#55WI4IDZ%>eSS{vE4wmaF+lxB(-B3fd#nZN1^hWwiJStmbHOt?6e|ikd=Z zy>3IVy-EB3LnBs6GZA^W_ddi;hx#DsDBHK0@YM4VRU{ zd!1g>hb6Gx&A*+lqf=(Y_v9?REYUyyXIL0Q7+}2a?!Q^Vz!m$9(r1^PeinBgkN&`v zJSL2Ru7K6gMwxo1PEV8^l{?eK$;$75=#cm|cxldUz9tLZ&3V9zcVkWH>Kvg~zny); zN2Mnfrf6x}3%}4#CwE`X&Fys~m4Ub@LD!}3UODcxIWjk({>fCJ`coN_LwgR%<893{ z_h~oe$9KDy4C@+_I&AxOrGZ_GxRPI+I2q3YI!>z?u3WtJeW$x(1zkf_^FEHsi2-26 z74|Kvazox#%h@z@2?rFf)&4}*=ykb|2xlwZxp;WjxYg`mx7nT9xjn?OJ}*4q8OgF6 z=1+P~87-`i0eXTAu78fe*YPu!k{Nx_ar@Gq-!m@l`R!weB{Tg*X1$E>wEk=aT;l|U z6wweK!*66vxB2!ZILk2!3q_99inwp= zVIWO!ITS=bXM-n&8yP_m?{F19Mb+G1D^39h{S`X`nc-d6t}B9U?>D*d?JZe}HEc(2 zNUYoO#=P83&DFkho6pQ=h#V~T1s|NET%+1aVeL7pzICU~Mthgzr2ntI(qG}6l<$=R z%IJAMUR;&1+H9WWlQSv<=@Nk^D*L(R ziH2YUDQgih%K08^zOtCTycDlfK^gkNph(euUG^%Fl_ZTn;$nI)3*ph6=}^!6aR0;H z;5hOKY-8a-ho=_#Qj0t_W{YaK#p#_d{M(fUzSQrvx^VCTp_$)ZiDV_gb>Zn6a619) zf5|vM8pxzNjgPnbYQpDhk`*Mu1~PGmyCX`qPT)@mt#tTuCsy6-WUG6MJ(95v{b z%Cz&rVGE!5>yEeXf9|$lCW$M;DIuW{+g5BT<+|nk9dAK+Dihr&iFUl6`veIK*bvVZ zamycnQm#1XB#uZpxg7)*9NwDym~6%$zIpWXiARR5@!r**{iMl#{@$#)NB22gK8LoM zp*vo?PrfBHHOMhuABArky*1HJSYTMky-ObYA5zhOB3DfZwD$W>csba2$Lk7R0ekeX zIk5Si2!(BW8nyxp+w79o+>XOrfowXJ1acocTwL<_M?c>UnF4i)+?`OY)=%OXKEaBG zbioG|jJNKWs$s5xGP?(sih5zmf~b%L(vTE6kWfE^U9l8!u;c@pM@F{|d%=6x*6b%c zbK4G=w?jx7yr@-%|7e3t;d8^v@@v9(!M{-Cgd_Pi=2oO_-mk!e=&-9KUJmT{tL0Fw zP7rRq@ZUxo=E^>SFCZ~>^T z32KY@gsSV!Q3^-CQ^;m5LW5@!?x%dDDSwf^GE+Kkz?rg`CqDaN|LbmujP(OVTxkwdgdPcW>~kCczf zbvd(5J>kMjk^iD2G)H{BFQinnVH7fb!9|zB zMPGhUmlv&fu%gZ4=9e&v{NXd^7gtoRh9 zIQ&vz2&Q2OX22lJ6-5OUw{KqA#V1J`s52*gQE184#Vh9suZ-eA0bY4NZb{x>1enSc zm0!YL7k)=_xa-UxnTRQ5tnf?b06Jrw5@UT>_+_p6)kQ)TJ@_S84G}2(618zGpwzVc z0tvBPvOX+averaNRcF2jA0)WJ_uE0g5)i4S(X6>=EaoGwN-XD>$POAlP19k{q$ zVC>A^n~}}gi-&YEGQY#f=43FkKqe#e0bAid8JRCF{s|K)R9N7G#lRv=jL}i(Fpz+9 zQ{P@dC?hLy7+KKV*vyzh$l9Bc6)Pi~-NoHAk&?m4dNXzm(tzWV;A{tuIs0a0aHae% zW>#w!%v1X9Vq_J<$bQaVGmLC{O|3av)ic7x1}GyoKSN}N6V;l*$^zJqJWuW(D1#|1 z)~ND-Po@w)vKq5A3?9ujs{QC*Sz98v=kxA5PdS~RV@PV^fZ&iXf`@mOS%_FlL%D#$ z)tOV$TJj!rAd~bBve5}87S+u%N8C;tmex4#@HWgRJpO2EJ=D%n$zqFyS2dQ5`qx*L ziJg4Oi%bFjqdue>e@6-FQ;Tux;7M^l?Wek9E)ouU*qCG>x@U$QLd>mSph`Xe(n>rH z445%!I%NO2pvG+biS(9eNxhA?+W7pCNz%UnsiAWAe0E>K{DtWN(`Z?_j3Gim)hP^8WmC^V->Mum66p6O=ubyQGj=Im#{ ztd!5u&S#OiQa+2EPnWqsK9AGSdQ-oHavpS@tb^IikT+kA~%7gA? zjb5(#hUvpKEflr#O zy?R>dNp}ln?{x%+rqBe}T5vAJv;Pg#&zAJmlA5Cl(sXtE9%;5~DbIbJ zFreruakD%+EG!eBE#*tx5;?|vq|%FwUa5M)`tm|ou2Z?Kv@1BfNAO;hj%t55t;p4hJtb$)g30YshQ zOB_)rpO=tXqU${muDIBl6m;y96#glJ9k(OuW|Y*i0NFM3dj``-#<%hhvJt$&~%WM#V?-=LPWA2sDLg$lXU-CK1`7AKslh0%IlU)TqaPf06thqjNgl38q znM}tod#4nVS~@D^1bVy6m78IS8puGDtBae3K_Kype86pu6(aIC ziQl(cbBw5Gzz3e2ybS{g!oD|D0}-1M=U6at?)nPtilidv)R~_%rqUJrLlSbc9c47% zPwp&^Z;8RD+P_Gadb3orY!z5vTsovyLKfI8jjc=bl#|GkNZ`6YNdfVXd68W-n36v$ zb`3-KDw@)V@aPq!5{IN$eYs906cqmJbp8XG(OM#-<3e?2F#0w4hA{(F(IzMS-;18a zw0UBkIr=(j6k|3TtO=Q$phZRsUxPtEZ%Ny5sUN9^JskOhCo;h8J*CA<|;WCIWOE6#uQxtjVY*bp z!ewo?{cJwPL1wz>eKw$bzAU5*m@kWZCb#p`12dpA*<&auc~Nce0;s!viBn*7V(JlC zG}Kxo3ag6*%r6*E4(Ewppktg?1Q*(u;_ePvdF;F9ghdD-DN(+TR$7fE0ZeUfi(nCpmp5% zS!WCF3eKtaNmggiZ?CJDfgds}Q2IFyUOJ>+LM|ml7y$!cy;?Hx->a3xw6VaPDd`XxzOr$nVenA2PYfFLaI{jrwhjDy=tK zE$8{hF}wZ+-4&g;(->YLN*rFKqNC`#ks*_vHl>bor>42wswzNzzjGbuI`i9k6QhWI zQqSKXC>W!)_B6{>vB*G*0bqc7FM1q}`@B$sjUGj`#o+)&2xgm@#h=I0IQ@3u`mMg| zlWCdySD$Q~7065-6zg9Vvdn2$OJ%BweF*Vay&c`nOQLG5+W7ud0+Cnx#jo~cc^kef zp9p57BbS7Wgz6WCS3-r%txq>eK?ultN2m{lUnBY%;gr}OgvQVGc^glZa_c>bt6lL9 zdt5Wm9@kti0UX!d^+|Lh$2If3jeVt_UAv>l%aP4$)KecZ^~87Wi4K=zo7Fkq#y2$} z74^u`&FWll<5L7AstQV{6fN{GaVM($rBezQ4~)btoY9U4h&Kb6a;-kBkazxn(Y z@H>d#Vf+r}cPPKy=38|Hzu0G1`T0E}(bl%p&C5{X6%kKOXkA5ccvjQ&;4$XUx;hsL zqCwa|eEHa{Ivk*1oS!(?-#Ofxi-gRE?o@Y^Dsgc^;@p7vYX6CRwKvTT4sJ6(YRFHt zW7y2gAejXtxy+2$r}IXysjUl{Yq~x!1H6%vhu>gVmK?I2-IZn<#@q~-Lu*ot10gf1 zD|}39adB#KQOI0)mf%u%U>Uu`tf{3E%*APfx#Me!?(;(C`*m~*D1Z*xD~B};^;9cA z%x~uyxaM1!&UZ2SNW%oGi)-0$8kSBQwrL|B3-C>H;8F5_Cxso)Mb&$c=Q>{fO%tNM zQ9{}%tcz&ddJ=7|c}~~zA`32nUHaHKeWWX7HbCx+ZfnhLU1^Fl=oV9su5drHm-5;) z^=;&25d zO=2&G44Zz;A$MpSv|X8bB^&;ndn^h4;Yr~ z^9a?ev{h~1yR^N_n`q0+tv7NtPIq~pgDj7ujshGr_ISCmBmYbV1M%rt*`Zn>{{0?h z!l|t>r|BY!11Z_DA>7vS&P+|o-3~9M4;tdRTC8w0u(kJV$8X7(5!`VprDuG@o?P*r zE0*MY?{QTY(=&|~L3i4l=spy~B45V2KzQhO*9=LX6ZIw9?qeWk#kU0-w{X{Dd!h{w zHtCOys`RyY{_MXuzrt(xh5zsv`@)57vhzD#|Arry_htHilm2~L{|46RzVNN2zl-O` zJinE^JP+~ohB5Pd^=Up|rr7VCf10d}y+H0ISv9S1t#{Qqxpm%E*zxDIz3T37IG5mE zH95QORbPL@3xR%paY-!qN>A?7e?!}AdipWY|9Mu~au56sZ-GT&dIhX^vCN34+{-32 z_NfBCHdFI%=9|)d{pBTBij|i>QtSp^`bw0%>R z8rWXIxQaiL$*ds$zT9pS5U~&E%Olwrm`CeK!A3^`mh2@>{ouV!;ghrZ?eI5E%S}AW z+}_sVYnq(HR6nh+e7hy;99PriK26i|=6fHtrxe`nHy$A^;pxM(`*DwNJI}j3uk*aX zli8R5ig$aSXKp!z6{91uVhXUSs&tYS@-}qpl*Kd@;bh9RzHM(n4kEV-wZInw(hplL z^(fH@t!T#!8Cjy~FNUCn@wT0EM#S6n1VodZm;dR8%cg6kqSwJ}&ORfnF{sc})5@XoAPnzqVuP zNfu-DQR1B@4vA*VyN|P1^2<@s+{7B`->N?HOL$-T^*7bKnyT_3&^QXDY$_h>ZLEPh zv~9a~dK>N#nOaN^*1L0`h_~jIY$-_z1y6^33!fJ9os~LWX>$_4c0}kK$0XSBN}Vo0 zR}u9m$k$1-(|N;SU*7ufv@O$iJyY^APy}kQZU~sFES|qOyClytHGSW3>cO<$cuK+2I?Ox zeGQh2l|(q=B)sAfkqp=E^frk*lw_6D;e~Yg*mWrFe2#w{Y(weqQtzroS{&t0(f*bf z?QeNeezA?3kejAxZ*Sv8d%GPUg^cK8j=a#@HIy7QDc59VMM{) z$4kUMZCxH+Tk>3dPu`M=so>pHA*jE*uHCYTmNOI$SQ7ydnPmm9Z3Pb}jTF&8cffi?}tOW=&bMhRAvcx+> zF;t^;F7zaGSg|t&3b`?L66%7=SRkCi0O_JKSg?$XO!_)j>8nB%G06LtCFClvXzC~Y zU~-PkX%MW9n%u|6O_TA_G`TMjmocZcxC+O(1~*k^RW`W>S4m*}?K}oc5Ea2V86;>~ z=bzhL%<*3KNBEN4GQ{vqtY?G&>#h9OsL$NWptRC0hf9JjwA3?r%m!&D{%G@>G+0^_ zjK4>NkK3!k|2Cw%dMZ?AmW|6?uT}u~Tp`UlBE8L_g~fz~5 z%QRgU-(Bwg`ue^yJ-bylfap~0vN9voXQu^uajA4^IUW)N=^Oz8T9j&p7N0L&@BQjT z%40w*%St@vZRo>h%eAkux>SY>U;Xttzixh;2F|o>nJ8t; z_E)0@gP03*cf@xFVuvIiO}x;d%wlIbhxNs*dsD}gFpusrSrM$XgR&x6rIHM)0cRSh z2u_pIMa4A3R#Oq2*)%&iUFNmf!82h#!E}OIHo@HB)V5C1gPm2<%A&tQ#`)af86qu_ zqlS!)FA`pjnGWBz@m6<@^kbrx4X9isowl91_#~K$+w26MvtJ*fN7m)gw_FI@GCNq= zg6PrmdP_yHV#~WNk8XKYzWcq(cU9Ac!Qm~hYUt}4`a0>W2|cpq^?|bhG(yiH@6?t{g4Hb-2CGP2Ns0=}I*j zE*QQqDh~9b;y@P_kI10nK)-!au}zyv#eshNqT)b5OU1*Lii1kUfqp{8K`2p_ghF|l zR2=A+rsBghsCdLdQL&5&p<-0$`=Vm+sx?Z`4iz76sraxo6$4aRnv(q`Oc^ZPVTwZ2 z$uq^U+#lbSx1@^qR51A+VUEfgg(i4|IXZ9fKz$Q#sU5u^78%anAwxjM%PtOeCE)t< zEnUun&5`QuLQWTO?M(xPnaz{6j9@fakY7ck=vz=if$P_zxieQViJj!b`{NdLfXxUU7qA@?>fzU-Ml_Rq5YG!tY~o%at@lE{VpGvJ)qFuD+gUQ0Mq%Uk9oiP ztP2}VT^p=t0dWaiYZFBK#xWy6RLAdJ{$TZqmZ}LZ9Q_z81(}<|H3GLeY$z**O4-lJ z-HoztqpF(`jy&(kN+FawQt zbJx?}ayo4+jjupjn~L+!K@qHZkjQJyiTNt(bUdqE#Fuy!LA7k+me;+jm|C}(ezcSq zM5i+Es@Y|y+Sqpz$no7#6D8_2i8^(QMrodYo5@9n*=6Mtbz1KzGR!WUBvIwPqsTD3 zjLn3KvPr$8$S}KXibPHB9Yu!OWfc-N#YQOvQ$Sf6%`XQT;^pjosKEyr#a|VfyTwwD zoG25@5eh1@M5E-wDe}>efxjZr&Rt?&9s*CC9vqjvCdJvJEf5ds{ke~U)q;2`&wE`n zSR^tPd~mwb5lUaH_03KzePPN_QRi{0+l9CLdqtoqMExrfHla&iHLU+;s^Rs3ie%d1 z7l?!sfQ{8EFwc$e3dFoL#g}+NB0A*q-1shJbdvh;WA!(s9@;Z?Kh(p*rw8TiI5d-T z7~r$ZAOxYBUgYtAmvUqX3FUxHhLdQ_{4%OpQs#cd*zQ{SU!vprA6ofCkhvcTIerat zgqe<`5@)jAuShGxGg2)gt;(|qwq%;_?2dn1cd5(UZ)|+ab--3! zb~l%u*}n4-9#J!kj=Df~&iba(BvW)z7O8zT(LD3X;UA?s`8WqJ{PZQ7JaL z?J6!u7xJoV&Tg8P16jLl#AN;Tp_|r7_EmAg^7mWb+xA{^)V|uQO|XJVl?cNHj*c*+ z-82Iv&CF1-S6LOir%Q0oH>(d#H%VO$gnHv&XSVgOT3rrgEt5!+O_H`hmvFDahUtpzuFDlwTQV**9X5tai|jRU&(J%L-1yP zy2!C1D9aEMiNQ48>S!Grg5OW4B2F*?d6sM^_YZjg^-2QeMBKWD;H~_~(PAHs%j%L( zTdp4~wQ>{N=QnIN-c_5u6;Cy^wzPRG_iW!fv~^?-%Z7%V$|OzH)36ckRnk?-#GSSI zo#Yb6=?nL+e8U!R<&K=z=7!)83GfiLIbq+utGeqzxNCKCY~I|7z7hkNh8LYo z)S0t|)LI**e||&D8V|_!uG(tztXku(*y@z(0Q+P^Yx7N7rBwf7OS{zEUEe0akOJD% zm1gALDp0p-rA`qmH)VIh+?ojpU~fs6&-Gm`oyD)z2wZiPsiJfo+GfD`|CfcByH ztKa9O@wxNnud5u8m3ZVlh*WwAwa>!YAEvHddn+I91PaD5E)#vw+1(NUK1}*EK(bm6 z3Yuj{c8^!Pvoo&Q6@&rH_Ldw}tKe6}->Lli_?4v}h9KTmeg@3a>;&F@63;bX!XAv6 zH^vylx&yRTtOeNf(HVjdy9*>Qj&T4!XZVo)Z;S*mjlph0l@m>@M%cM{&Bt)-|0D{? zlVl%5EM!l%+u9YuQ_|ZM|#ET!|p(iiR~c6GLGY_*Hu&a@fA{G6uhK20If zjplQ&GduSHRs@m$p5syRwZ#Hw+5F~MmbHrfffM=}sO7U~U0o>j<|)XeHzBm*W~DdT zu@m|#;}`D@&{r~?op=VyDo{hintc*h;*>7Zg8o<_?M+@q4tb%#LbE`p6oJ`p@;c7q zxgvPHyvR<%2^QlO!4u_0C~u6sNK^>`$~sxdt60eEoiur|92otClGl5V{ff|61@tvf z*Nj0Zj7uQyIYcQ7=RlrJ$^wXP$~qt*mC^`-Kp=v$imJxsDPfJT7WlB{jyJvs!3U!! z@m<(d*F{tuQ_#Wm|JZvI_$aHZ@juHz1~M>%4m#?nQHPpJ)JUkZY62Ldq6TATpdi>* zaU4-mCxS{@I!R4<2wJPHuXe%Kw%Xd()-6=4i9vC}7Pr==t*Eu$7*V7xLS5$nJ?B2p zBw-QU-uL(Ze?Rz4p69vyJ@=e*&pr3tbFp)wN7%dc!KyO~nvd_-T;CU~Vqn!Qwe2jG zHjZpL#$8OD;0Atr%=ly_w8`mPbKgFAOcLTwv>sn1`l!}%1s&N!kRha7)7LYnWU5l5ueg)Bn?+uY>fJz&uv&hUww2ILeJy9(4pt!ySoFJ! zRx?2>LC8rbFuT==CgMy}SENFw;8@{C(O2=Zk(|KlNzr22{Xt8!_4!Ijfl>j1A z$N|B^jl2onhK>?Wi>=8)_E|}L$|@c^1XUNJ{>UPFC62~o^G|8ztWE5fZ8YUnk)tBb zMfwc6Pe0G*Af<**)kyb^X!nf-yvep_ND|JC)fWDTVQ%Q}JncN!J&i%evRz1hUH3^c z{4wWgMw*b=({GTe^y&3{7O#7{n^HstLO^#3&vFP6&_BJNQI~|}#p|RV{qDxVaSCc6 z;u){2`=l{H1cK!9{P$n=8 z7uEg=ds84Bacxe){gPm#-0u;*d!W0Ku_G%Jkgi0e4^NXUG6vR9Dr3k(RE-depJdEp zf}cWr$|bhujFgWE-i;20^&VokHBy!rH9C|RH9AC;u|~@BqDIQkWzxlr?DYvd@4=E-8` zcxoYe%P{K5bYYVjYEBe6&o)o)pIPIVN!SI|RnJ-vJ$kr3cz0j>Ux3RDyc3a+E{NT) zkdv&4yJ(ksUy90r9$3ksR_C`~N&%;AfjzzNj$ZYDyruSgo{HfEiCSkzx%xxZ!Sext ztFw}19k7t=_1Ln4R7ckGr^FmrppX$WSga;P6;H_QoB5A_;h5$FEs+8hof?4(Pe7uU zZ+-!dg_aU^r1?}|^W-96(tTp5`7oW=zV1SD9YGzW+V;n)&^l-;em+$nRVHuH?6v-}O{~HNR$lOZa`AUjx7M z`JK)0|2&HSY+GdSW4dh!`WtkyunyGWtU#*RRXVpQ0qc+I4R50{W{0Vi1W)EgUD0z< z0m-aedXXEr=|IB??9crL?9lMmk5s}As^kuaV#7gCBrD7fTCcSdV8r>bY4f6_%rH6o z<@_q{j$4FQ=%^}ny?<(VfwQsjpU$(vUq9j(`i(|DrC+8s5U#RQ#|a8KQz&I`pqma{v$xrXRJQs z_WdpS(e1n6i{IV$xnS!VzuxehVBxpT_zbq=bBZs$U(fhh@Ezw>-xqv+Aky~(3Qs`k zh}F}%FlTBJWZQa?P;T(FDxTJihehY+g36;(02p=-5#zr<+Ri@-}vC2rPYVBX7lB!Mh*t*gzAR9+$pK z?z~mEtld9U+%2b#f=mqI%;-Glk@OxNFXIujpt!@qG;80E4F%owc)ur&4cPC=4aHrW z1E-v{EHAG;@5#5Fcb#=h{{fv8(Sh~(dByK6eN9Sz@-3StM2Pc8N!>rMtf*z3!HW_YY-WKF;~~lW!GAe}BtE`-hxA6-Qfz zDyZWCay+3m_Fww)5+->>t|z4Y_4yrd6j9j|9bG}Pcf2*!8F$?+k3z`zJl)Y9Djs*& zEss;pxYk=9qr@jjBJYpz{zuw`M>c`aOAO!R`wFM;c9B)<7h5J?X(fw}|cGxRPn;iBvGY9tQYZ_zA1r4rMZFn%zj_ZcoR6`0O z-ls3lOLKyMDqzYCBQl1VOe3u)$(csM?6yS)RLF$M?5BLH_85>6mW3?KJ(X<*A%gEh*XdL z=fc*^d;Z16PJ#GnnBZ$U-glb0ezZ7TzJ|ZdZX!j;a5ixVE^FkD)$&@-xSA{RO~FSc zE-Y>!qMmpBs&XFx0(DwZ$#+x_zSo+|uGxwonn_ybu~O!8-Kof|4!Js$p~s4HSpeG$ z(4P~6waH+a@A-R=Uo$~<&iC|g2nI0j+^K5sg!3M1jDRS}8La+X_$2!&MU!>BwpO$^ zWfvvtmxT*)zH64e9L&7NQ28$z&>A?R;HmN<-Ct^d&^P?w%U)RaSbKK?V>IIV_E!p) zyjn5hg=J4Kdwks+1&@w+vf#xfuhfrt8u=w$9xnpep~|sq7XIRlxEaa`1Yjs$KE~h& zNdS*qAg+}ejDIUWM!LX_eoKJ+`Y{UDb~=(-U1t6EKQK<9D&74oq1qy<0K*S@1%`X6l*5ln{dNmx=oBL3n#E`RQ_YP%Z6;a7A zq-#2=XL-Ke(M;VMF3}b3xQfTcI!d%z<)%q?;y4#2D>w99B49fYvQi3*W@RtYv8a+3 z+g{bta!8Zqm9_DeMJ(OY<=iaykfwBAPv)>>vtHak*n)>^*;WMAI9g|qXl|&;9nnk< z9t3pH<@}|r%-!>s#(lGE0*+`BuvXh7bRL9WWe21arKSC$e{?*wj*-7k^TWt_*9 zG29}DGOh8bp8RyrV>)Y4PD~;zUxmjl8t75>392W$rWc6Mmta}Xy|S+j39bxOQb8OhG`o0G#kNaE%H z^OtrINnN@=R2L!6WGMxAPg2$e7__53V3Vp!!vh)~F!5aY7nd#ywEYn!KtvP7G(pUK zDVM*!=?-)cQl<+Z9Nh#n3-H`JAhQ5R)rC7#H|z`^vkv#*F})8ws&nC0JBG)wT!IpX zP*}5v&7fTP$Ac67u_xw3UA$xo(0DO^%Ee#4eSAUh_%HW~xB9ujhns}` z1u~{6y)SNbgH3;f>k<-PlZQlN9q4jDIyzkZ#RQwgEv)YUMib`xat3W9xQd6kS#cA< z6`_2zHzaCn#cn5Tjdv2}1B}+-MGVa`QZmmY8DT%y0313MG4sJeI<90qAo(BW$zF8-@EWxii-`?(3Z;? z_`$nK(=>aB{6OL#XJNCW&RBW5?EOtxQqliX1|(FmS%##fLR~4A0{VZd?oh6_=|3AY zwn(SkNf9DVR1!vU@@8J&Tj~!Xs)j>cmwYY=&|33s_d-T6!c11`RQZ=)p@hmT6>#z; zV~C6mMdk#SSC|l1366m$;$D`!my@lhOzs{}J$8LZ715a>lJ(q5g2~C&Q>S!uu}8u@ ziuD?!jW1AIIHK)*>Rxpkf2JyAYq_(#pIJfw6Xx(q;&Su>)-IXVxE!5fdy_Cj33nz2 z;@R>#GuHM*wU2HBj~RUiPfJht{by5Fj$MRA8+Jux4X~iSdFCKS5zmF28%C!tuxL@m zUG4qMI&E>-I?ooo2QCq_hL*<7L4^u=>r88Urwe5~bkrsQ?$cEY+;5@~5D@imYG3S2 zUDEv{gq-gpSg{vlM*4sf^bJz_sIci@pa+W?eR5g@l{j-QF_Vu|&c6#PxvWI%@1SQP7`)kvBBVbaz5L$#tbqA82 zxvz`49l4+R&C!wruVSw;t0&CeT7W-?-=7@XyUuCx`OSC1=lTSA9H41=X1b_RaFxs@ z0V1AzsC*%9?PuHCCDx@tG$L+jU7U4JicAG%OO8`OKFu0lP__t^ElSFAw)>tnlYK%c z&cq1#3s;+2OFc$Fx}jm;3_0C3fU6gDS17Np0 z2Ti18=ds)zUoAB%I+vTLkCBh)ELh56NwG)MP6+OsQ+1eb&2GZ|xH*Bclw;36gMFLX zpEc4;14FFw#eSDodO}5!*%J_hZpBc7P-%NZG>PWf1$DpFdD8!pZqv92%c%}z%j0I& z9uj2lp4f?m)OXBfep$Le8MjjtX&AuT$=9`LJXkF+NA~aI%#EyZGeO249>(S7;+d6A zmMw$5nR^h?719En3nRZhynPe6sL3Z?m7n?JK*{KdGTN|S?P(YUzHxF4*3=*VnETiQ zGUhsA?GvW_TlfV_M?CWROQn4@!O9~Gapfu>?G4kdJc5DoB=lOi+|`lwj{KfXBCok_?Dk7r40xEC z|JtPXRb}x+MYdivS^Q%BO3i>nbKP$!f=Opq$GD)_{Bbz`;qy{?&U5rWmdX<#ltMDe z{iJQO<=;3AL5g7s6H_ipYt5#hWHN(vrU;KlDG+Rusluhtu(@vvmEo7zFYY5=L)Ia$ zIA}i=)5bakfpO+Wnelj0NCsDQkfv5D;a6ftGO-gWHc^=~17fcP-Q&sqdRmgH3Ha$y z)Lg})fB}?TC1&skLJkm0>ceDzSVb}q1kvg`b4o12XU7K=%VAVwwuf8jdip{d1Ez!A%zRtwWaTW@b}7Y5>G2-&c^Isb+;D55PSvN3Ob*zlJ+rhuA}_3XTyTb- zLSo0%nkB_vySNLNkygel!&_#Kd`AneHNRAOhO2FZjdI0=xWShcrOD!LYS|Kz!l-4@ zxq^Ez2@=qag!#6eCBX>DBQJd-oAcFXC8Vg#YpjU4%&5On(Kq1bL+(lboBU=U+hdD$ z*CWn>btEbUAbH7edab66h$$H?lk)GVjy{ee9a5!|-EI^0|Bn*3MFo2Iy$yeo^@eB> zW57+t20`>FA7PRx1BzB`sIABv2ZSJPiFrbm3E}ZV|G_3fM<9wv)hx^SE&YOxf{rq7 zWhPI!9JJ1j2f@bwP~6h7Hq%?Y$DKq{ycKFG z7&mXT8xx02O3km|Qq<=?hF}nETuEt`)Ps#;QX)Oz+SxoaPnT|Tm{f|~H`xSxuu@Qx z`-S?Mtkw|j{;IIi0eeYx{+7uivF@96a%s=kv`@Qfk2W{t(`JKX^Wn}(fkc)|8CF0C zB9M;*Ot*t)9D9~4NYx=~@YKhcq(d`^_L~aCnR;_HJR)HpfY;ON2+Tx`8Qq({{(F$j z%J27Wuv;PJ*{4|KY{Q&5ZzxLdqdOs84mCvS+dbww^Gnk?$dZXanM2g$ zWrg(+{ro!};S%tZKe$)e-8$Kx>{r`)CPvFB<@~p2;j!s zNrYufqI*ciqw)ld{Rm=Cdn&WoFB^Xm;co>EgHag`Zks6m9t%K8=fi{TTM||D`;}+~ zx<&i;`#X7CwVFS{CIXO|}buJH%!gb!N@Hp=asHnJr7FOBTi6M2&xIp3f3Jt+lusWhe;-HcSz*gpS86#H#fh#q43#`|EQzb0}CI-66j^$@JBF1=x8Wc z@85Crd!6o;a_;qNXr1Uo*D!}llt~2}Zz87kbTE~lFyY+iqX~0V2!^x;&PFM}+vPnbIW3>i`+MB2R`KHK*|Fet zoz8`RAxtLoqf!O+<~OXGb2ZkRALTyxtTzv^%#s#qh0F9E)T%Mg@+FH%7?Pj>8t?iuTcRf_#ehHH}Y@I}3qMTYrtC<6$t!AB+A6>!fyOcv?Su8dFG zN}j@Zdk@;S{RPtM{XMR4d{W{;$lT8yqlzRiPuv`=`UiBpauHKfvXfjd7eGoFNMb=Q z9Q4agOhav}MYr3jm?Rd&*$VT)LE4*^3a6;0+V4#Eabu}784Y;Anam}or9giMLw2H* zC(=lD8Q;9-F+lQGN%D~zw5AfVR|Z(LxlO3cP&=RbG%cDRGUp;}(vUTib-|RnSR)eV zGz|_o5AXcW(jI7S|K@eL2R?hNLePVc2S0mW{k~U)e0yKe&?dNP781^2m$R$jOdW}c z5pk+S*e-FZVj^%jRi!*)%#I_RDnZ`i&I#pBk1mqP5E7Zc#TRS!$-*Nn0Dx2bnPz>& zmUhb>Y^4Gfuc@QRz#+hLZA;Hhx!d<`Mj4ajWD=KW^pVp*w`jTUxT1p3yUzn zfNv?yFB*dcAR+(dg&^Q*AUbQ8Nu}n?NNK`-+8YWpgV}AYOI5;K%pBcF zlQnp=k8~0lq8thl+v!roRK(_?5<_m@)rBtuay!$GNmlA$V>A^p|NmO@O- zw-lxQl7r^@+`jnD4a(u^%YtzY{W62|yAKx-HXKS3^=9T!7jo$XHAB5QFPD6fbi062 z6UjVp_8E0%HF#2I`t8fW5emd-eU|q8JHoM#3bXq8DeGwyXzZh*s*|Y|7G(|*GMdS@ z?rQ($PJeo6>h$CSs6VwJbs0jzj02?G;mw^PV&XPtzQ$B}F(t%IvoUFnIn;}(B<9OD z<`Rt=O(Z#$9uV_)o;GU$~)V@Dt?tv2tFdr99=R%)j*&jVAd;nSqSj?rUxG&@VK865~ldC zUY8FRaqN9vJ_=XZGa&^$sW9dn2t4jTV|LtBg70y&R6z@B3t}DMA=c%f_7c@TsXpu1UZ?b}L!Dh8c(#JW# zQb#q|xKt7=^E9gUq@#-&>U`Ks7~7nLdGkdNJkurXU*GUPPqf*7<7E>JDUfVVO^j`f zFVvBJDkaAfrsycC4_=)fnlR_;0J#j`r}quct~1@>VVx7|78cZ(;crY8L_Fc+PjN-@xXgo%Nk zsmp9&p$7iW23An(seciIzgl-U{mvRz8%(;HY(c{z$PFyB%w8%nOQrXwit9~L?(??p zshMm)(hbyfZ_#L_yY#nHh4tp8+-GC=7m-P%sK>pqVB=g}ve#>;U22_95XoYqm5tb= zzA_J7tR$sU+A)$TFD17?l$lrAxpdcU2NIqTj-KkNpqMZ{0NEv;54IbP&px0{)YvBa z+@|bJ&(sYIRjh7lj9pF8QhQW{w@Rl`kCMoVgxmQ>_zVzqGp};8M5vIU5`rXF^yVS4 z)n#HT;afZ=sXvC`m6x#!GtZ*5wo^%p&w5jbVno-vqx^Q#PAIh05_u5ufnOJ$#% zusp&jt!Cw8-2LeW3h5`VfI zKU30Ufj><)mQ*`kDM?s4e|Zz_dnAJgcJ~na<;-fZ)Ts26B;gcy@zO=2qqXJ$%5z8e zG}5Icg}c9O3VPy>mbm`C;{L$~hnsI-iSzY}d#oq!Lt2^gB?SP2ZRWr;x4OvGBm%bx zd9l`M`Ek>zsxk;H*!UO`bLQmE|7Gut-ARbxV%$8bla40)F@XS+1M3ncw)s_h#5&Ym zrAMwK&C?5;#jX&Rc7vBKJuj6v_JfNn2#&_hU8;l;s-8algY?Pyb7PT-s#lC*QKn+K z)YNo2h~0e*9Xtzd+R|K}VdB{9Ea?K*Aw4iyc0%W}PFOojx+q>fWcw#?cJdnjCQINH zn(|JDCvJYia*8n#Wj~C7^E`sV6>H5DCc>qw1;fQl)b}K?odm>;=!yC4Y3hHnMC)&5 z$}<22kCO4k(yjCw;`sv5!>DP>QrR5idoR8Lv5;v@@JY}a5Q=*h+3?pTCf`CNQI|+` zk<53A`yG&{@Nn{sBu^P}N@zSs5hVmyCIp3GU3r>NNt6*EAOvqU9>EndPR?Lr{FaPn zl4Yh`i4`_a6Qv}PzCg(+AO*~@m_y>jk5jXd$wp}LwMR9WxwOMTjN8cA?o?$=!)IAI} z7!nlvRKFQwyHz6_Y9Q%+U11QL9&gsN*{_?hBT~M2y}29G5`O1QuH;clW~UMxNiJng zWY=X@m)29{>E?&3m+&ROOY1C%3Kc}}%Jerm3`eWjF!s6hfI8D)Q;wa_rcd0QW51-! z=C`)t&O=tZag{&5mf7K!`4J1X&hFpsazsDd1QtKu{3HAM*5JEhvm8pyJfYi6kEzbg z!;YkwS$YUE2L#!Q@J!dcWU?}^5BIR(89v#o`cRBKO_D{NY>=u6(JEpxiz9grLz4I8 z$~vn{_Hz_BO5?y^aRbD7iCF++viah?sMIX~hm3T@8hfOnsuG=B66St2-jHdkn#hv8 zhU0*Ch~bp7$jxvPzzttAoMO~7I4N_eJBnPv%h=SJF987>>6q?Fa&<0xPD;ADhwbK! zxVhy?=~5TVK1nMB`KcG=yBJPdCob}~`>XXlleRp=HV zob8ge-OS|Ct5C`dI5l!IEr7B%yMEi|s#aU~ViL~8N-^F5;Qn}aoy-Yr)GQi{lEZJ7 zN_FjAn&(q*VPysQrg#22{3XsL@11D%Rm5w}=z9js4rAOLzzaRYKO_fDdo^X-s`Xp? zYum>%h_%nQiEesiyZ-oo+$&7s^=Niuu*1)*|AdxpR$8!RpIT#(VhA7p2@0~7A#TGY zzZ|exsmrt-*ze2wjDp`?cTm-i3^nw8jA&wR0O>N1W?QRANn1`3UsqQW>(rhR(duhNV^cgd!>a)~L=9#)8 znG|8`(lS%iCCNvca*Ym~Qhj3YB*_+QvbZ^fM48n!+Z%dr3+SDE3w)f)Nx5OP-#t^9 zfD}2#hdQI5Ga=lPPk@+c@)2pt&t=P%Zu9q8R+85*W5iZLKM=G)X}|@FC}^E7LMJ2b@q%M88+uI@bi69eqb+SA5?2jL@ffrJCAf1 zJJliB1LJc1BU6RQkF-&>W}wv{?}S3NJdsM}%J9M2OT*?F)lT?Y7RfE=VH+AT_j{oc z@0j0?`>DHJ0Vy!-R3ni!u#KJ`oLLl*!vN8Sfk=IvF%l~T!r9lJ$f_tsHlkGl6ZdrOzp72kp1;258hjz~#P5ud-cO6WVU> zlN>Jm!J%y!Zq%+xLk!27>PgTKyRoDaOmf+>mba5(u#Mrb)GzbJycZbR+=Qstx#W0E zF0q^5sf->%7c^e-t0F$rt`kL7MSEsze(;CwZtiΜdaE;bZ0)$iw9~>50N8;W-i& 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

aH}$&fapal4py~xpXPp&)H!`*}84) z92I5TRwWfhu_$9(&K?qH>z3`R++G}rG9nl(lU_t#j6l=+#`5YaA?3A)k?9v72+0VP4*fZHAw3c1=?&B6#% zWe&e>eX>r8xi`S#gir@Q-JDcS!6V7~P+CYu*O5AjN+;J;?W=Dsjb1pMAseN|75TwSDEtkNCw(e7M1YV(TumFj)?m3~ zI84y+sOa?9LLH5Fwc&~{He7d@!yz2F)rFzaiS+CAsRvyYu-hkvjlZIhstZ}ivQDW! zHAVIW*eT?L2IiO>X-J{+5R-&l%fh&V)jyEE%s}RHtg$+1DK~MvP0J8siEoCRH@Ex! zyUKky&LsK~893DKU>s@%#6rD>*sdfQ-zuGM3*&DzsfqE0MQ8C@0M0@(Luvt<1NIWM z0OTSx2i#?7hDf`#`aEHlpC_i~7pHekPvC^&-0a@ziD{f-<&xDA&`sCDRJe(K<5+!{ zdn$CE!~isS(jk$yV&=|LO#gUKO0(%CceU5i>KUJ=wJrYIF9zrQjU~?kx?`*>loR4u zGacNPW$-|b@A8R^T#VbAlxLxw5=w0?Ph#Os?*LGKE=BDCR4GvVsL(q{I@Vh4Y{=x~ zu{Me`-)gqn8~u5)0xS=_ZQ+7>B&own6xJqNaIY?!EWMYQQUKugMjI=*x>V=4PKqO7 z)JCL)H7uNKd)ejSI?%={N+;qn#nzS1m?@mv28>ke-=!aEblXlP)Q~xi#_FLOkvKZj zX;aK86lZVfxIS>GtSy$|>9&q&OvYj%EDos7g}bC zVKSX%(asl0BGDXq35GdYO6KHai%Kob+hyD>u1{ElDy2#IB*z?mVhNfKZ@OQRxJta$0m}G$&GHWxB{h79^L8SIOyEAloLo5mj#+w#+cyi0-~CkHs3mi z(G=ZfAk7G}iK*pb-X?auC`%4>m6y=|%!4=V8V7CE^J^-pQMOJiWO5m$Nt|d-9+S|Q ziUjr1@U-l$VLpaUY=c*TJ_a|9F2;v8rHSKcyxU5p<3&gHp*kG_%YH`$)Inrsl^08_ zZ<>S{UoRb?03FS^6xD*nITv&|c`vq0Nkn5!kb z&qX@?N=33-zZFlnO^|CVmvJ&79SL>aT@@irla^ck22K!(4ujQI$=PZgSPj%k0rq06 zMnZ-`Rzn>q%g&aTc)1s`r z`Vyz=^PN_LSjN>S}zo5rP0z?FqYw6 z9_HhWc-uLx?YUd+OrTnTp5S?yqDl6mOMD2YQ#NwO&Dngpv=G&eO#sAeMwv~7lI{b4&5+CNhw zC@zsX?XaQa$L2l8{-Vx~G?DbB%Z#rfQl3@nbt^2_~GRQTYj4eaaH8 zjUmR_jv!D5_Ke(waV}FM;`Z#QJ{hMt1#YhBy0|ZzxpSiU7(vCYLbW=xe%HPitXLfs z!~5>mF%zR#r}@5(D(5VVEoi=g4(i6hz5^C|q@xpw2p4U>>*$1uV>_}OhblEM5wGT5 z)Ge>1dD6RRZ4Bk*gv>I6Z4MH$8kaS}A%!b^7r!xs515YhrrDGhl zrYf#wOMT&Hh-DkZ!Url8wYA2RLs1}5X?sZ0C=V}pTDomIW}%rY6u0`Vn4a3J6gOt4 z$=BSirY;eA`d3MyP^_?_h*-}MWs=MDRH2y2>i$9E@)RarNpmCE?M(8zR^fovo7~We}i_p3iJmI(`m6noVaqsMIT-}?U zpOXEg1)!yEK?iq;2G!ITTO=OFs1c2o*fG_*5PjLznT2Gs_J0(|$Oa4Hem2Hun5vNVri7eI%Uk7KH{i6RkQ z8V>VyCZtCDQ1oUDgZu^weM!l;G7PD=I+5*S5O-_2wbjwC0V{$C-WBsAiRN|pZWtDt z85L59z?dBn@~w!cPACR#PPZCIw3?`ZJzjVr>bm{33IWwDfjC7~yOG4b;YX*FI;E)v z+D*jq3ROjRb;)mWiwusEl2aIZa;gjq#ooPLEpT->@J?HNV@SIvB5O=#cfyfwPkH|2 zE*zC9&xXSGl(RSozp${EK6&F6e>qbE_yexle9Ns#O%q|41v`_Rvx*PjMSx-wLs;HM zq+~D=8epkN#V|pdQ7u!^_Xy97zxvFHm;puAv&gFmFd zbgHxuq0x<_hJ!bi9X3-~PWz~gR*vFaNjZAX78RzWAth~>vwZzhgt1*N!>TWl%P106 zy`l`tTir6WjxGbAd~lljJN3=Iiwdw*`tH1gavx(MIM1X`PUy4{-LE3fk8n9ivQrT2 z5;mf%NNP>T)&yfxn#Ln7l?rtg>KhFM&swR+1}t<`EEQQuU1_LYc?QRM67H3TA!VeR zNegY4hFCShD-F?9X=FjDzs7(<)*gi@c^rR$@H`CD#|9Wcfn{b$3w9~2k*2=}5-pG!E`zXm!xO z1nh&9kjKZ0nqHXOJAQC+>Y_#2{4Idv7`o)A5d)Tg%9(N8j~9(VuL%iI#B=z(xPCM@ zhQ~}wT;34PXkpxVQhYB=@0KFS0JXzSlQO{R$ZsSf2*UdUm7{oJdGrfWt=7fsw|f{IWR zTt3Z(#ZG8g=u3lKD-~8<;hK*S8W>O`v@^2Ifq9i}ae$1=@|P+eVC66^s8$JJttf#p zR|y2UN+85n0$~*;5Li_Lp{^1X;wyo0O9`s{_^Uk}3MqY*`eOHlfah=-fy$JDBW>w& z1*OhTDSz8eDJ;FNj6_vI{+)uVA$!%ylYC;ZT`+>m2jkO}QMzDh{4%5qXop2HXK_Fa z_mU?|oU>W)^;RLtECzenZsGHH6vCzm(x<9MAAwl~v+yzzQI~t2rIQ$qbs1KL!(~KT zX&?qM9I&DuTJ0=h?LuB@BNkrYrw^Pi#&JCQ5>+*e+V3B>(q{$Qa!4giO`ubfW7l)W zHgVAI%>h77+Vh$q`(8I#b}7DOXP?ls020iQ$p~anxne<-A@Z6UkhLVjT-)Z;Fj}>* z$moH^r%qvRd>%d7BAyiyipD8z_!b0S^^DP#x9WdFLh-M=?B3)(S-a)n%j_HA9 zPryC21`>?o@`XH?AX~xI1kepW*{a&7glHMigQ`*IXZK?Rksn#4XeNj&8@(ouqT>tz zHhm4vte6`N2e?dt&g1D2wJ9Bt3Y599l{7mmSeC;@V9ms^>~t$QZWdtm#O3X^FsZR2 zzUj*@!-cV)gGnoIdOGa2GSH?GPI$YF1aTeI<5p2o3Xy^sM?1+Zw+>M|cQ9Nl&_+<9 z92rKVL#JZ>-$|^hCA!LuLn_!Gf)imqxS4Ep_!2EUEqdU#T)_iKE(@ud2D~mxbK}}n z4>$NONlQ5t9EP^6NZ2kG1x#w9-ALO&fX4J(2c8CrByhTk zW?hPzyw)*}_0$)OJS|-__l%EV&zv;mnUjrMr7$peCR!50YuXCImr|v~qFN4Kxllct zYN8gzrfilGNaG%r2P#!qj#jD!>BjwJw4=5Os30##*2PeHh*~2L!L{SoM_SFdLNnj}|0`GZtVvD#`@1jnU0$$zatl zwZ%%Krzk{l6Ty8}TA)*jP>{;5!Zi()(h);CnK1`sw5}ypN&;_({vKmy zRcbv{R1Si?0iKA)(-o>C6^jIP;02`=0o>hV_hS%iCrxwFHmM27wjmN&URpII*;E8Y zH5L&fY0ksd9eTlwE-zXopiz-YgBa^eX%ec^wR64{CMzSlHs+OGTtqgqU=Y$ECq*k{ z*bdMt0FItlcN8K|dcHKaDna4KLH)a-vw(C z$0Zwu;37-@th{J~o5A0i?Q6lc^v;pB4nU z;k@w(zYS7})Hx8FpxnGGy+&QZ6zrBpp?;|}?k9phs?N!JX~c7bmf-TlceUh#;1p7= zxmeLfmDT38((aPM8pX-}$^c}&R)~(&)v0h57h!EiJ_$e_8T$A72sqe?$7Ys>(ZvYa z`^ct^E zq^2|~hF2Yy=zKF!%xIjdudocIio+7F3hFy2PLn$)UAqK%Jq|%bdK@P44vA$Brh_3e zIj>58K?Los>N*U=P~V|wy63-YbFzCLia5mPHL0T68lODC+h7&%XM@HhEYz5l1=?0+ z!?h`RHf8a9CS_5El-K8QimfJ?^Yb(|6%S&`B~1r9#y9AufQhN3cs|mEX&8aAcK668 z!kDVZpB_+R-UEm_%PJ#vjV5g!D(Njqj^;u}RKocYPLVe*)N~to_JwjHlI(vG0;QTQ z8!10FAX*jL39-^pN4y4Hf%%OxKAL3l;(3B9Bi;q5fPA;ikIff@s;qQ}rizNQz*T&) z%1h@i{JePct_tE+IUmHNsEWx>p~4HLRhbXWRYBVKs&L{8T@5&~P!oR^XT0P&*Ge*T zc)pRu3-D8s~G(R!GW#yconTADFK=@(uf_J-e|Sd z6LxOUv=+m{m}xFd;6`g&n}>O+7-m1I4t@-xV;a9$+2dqI)35;?o)ogvgD0XL;;I#9 z@>CvrIGmrQr4SC0IF&w38Bdw2bEQ`-SxU zMTwWG4~&TgViyu?UoOT2Xba-SGAmq(qaxs!4)^1Sq86s+r*W!TMRQRd*@aaS*czUp zcm7yvOJpC{$@qlYgp?=_bA1vVAFX@mNi10|cFw02VFV|p=k}mz^jwH|Oq@>x_!Rsk z!8+crW@C0EiN4QI%05QqrN!^m`xvi~xCzUH!}O-I$1Td|a#OdV&*pjjL=$4lCgnz@ zrEninr`4*2A!?xUl04z&#Zh{<6wQlOZkBj&$d`g%t)NTgWmQ0aAP8CdQTWYiAEb6P zOf^J1g=&Z_*D73bi7>p#M6D?h!E~;+rb?}oCzkqn;Q`)?w{-1d)mti#L|}$z^9cm+ zKX>WAij{JuP;5W68|f;WUNxZWJlMXXGZID#c;Bg7-SrxwA)N3TCOTuj9W%(ritR9Z zx5vuQ(7dLi2`Fo|Eo!PRAL|mX-jjvsVo9ThKo!SzF(k5Q;+!ePAumu@4yM(Wg9yXR zLDWjc>C7&zgcN&db?Q`Vb-+>UDqKe+jv*TI8au0yx?p0rt3fB>TAOR^?xG7)s0q6oV2>7IrYK?5pR z#3Ia2MTI>UJ7u|4OG5Iem4^vmG`ow7YO&}fnagCVgD%4YZ&B-9DCp-zn3qmP&;#NZ zTUdvjlK}jr1gaCmYqYbIQ{ve!-rj>87N&iLg{fv|L$Vv0;um^MWs0y7L4-}_%x;wg zbX|9>RU1%RlbD@~Uzw7{N_pR;D5JgOkD@AA72OJ}>=dLNhYV}Y$T01#m;`B|iXQ2= zAf-0R&l7RFv1zfGepE71<20_v0_$QE^MId4D_1amHo|zloJ^*|>h*45vwAiivU@dv zj&$socx)&#=di6P2H0cD`wY5&LsFV(`)>!gYRNEL^`gNQ?W64YRau?x$7aR*wU}tI zMruVwP0?=<*3yJxRRyq2R^4-$o$fFd5V1}LjQc8J&{qM0RTVHQ7U-<%A+)XhwNilq zhpT|-!&E>tR|RaWx zcGXmLeBD+w0ts;%yVdHdVYf%AgWX}b9f4=oTtF!SH303X98M&RgHE(t-f>GqQE;fb z%WsFdBsy5Z2dJG=O3$cMSB=32=&rF730A~M((7d)8*}CsIxV8m@_}7Q!m5QtHF?5f zjv$|k($O_Ur=IBdJL@U*u2VgQo;2`MWVN)Tml6 z)9|u0d1%>j$Pra&3k5_B0l3t3OWtW=eD6vN;mOQrzElAa5IPi>s7xGmM74xv`68a? zlz{1ESR{qguNPRX<_R?mgj&QTSjMDqB{>FJO>mYb$(FoMu9K617hj={IIfwxjfdL} zZ6hj034r!#90V)lb~hr=29`BsA`$cD$!db!(zJbR3}KVn!>pfs&nbeymS;npoc24 zA7S|^kD;2X)A2I5I(*^eK_0NK6pYuJ22<3u!jyvHstFKWZvui+V**S#g$WS7-UNtJ zV*&)%ng9`on}DWPO@K+mO@PQXCZOPIWf7&;1Poz_2^a=9RlEU1uU>HJysp@>3cfDnpKEbg<_|ViPm^mqA(w4+$CYI8dIG5*4pFi zOx6`G)i8#Py`XBhLll7B(=pK;JIC5JMq7pF^TiLBG-9GRlEm=J;?$HeyhuU=2u*8>PD+RI z_L0lLk0kk!SRBxi25#UHifFm6NO1dTdwy|um^hu9}aqC4uC4x`Q zy^32aV@umc#{?4xdq|IiP4!HgZ7D9O3Rpp9A$?pF)J0`s9Z<>YfJ$luQccRzx?oi< zVg*`}OW?j-gjVDNSd|N4MJ}q4id+m<~Mup$?MMy_6en#+0EKkS!+2xAF(&4e_~HPr99yde_|;&YG=Hli%7C;#84~58fRdQM@rxYPFUjw% zPQXcBy>%zNwc@wz+=i^o=s7(v$E~`QI*xXt67jRH=Hn;oq^Y!s)K2K6FiR0XBTfb8 zxifD{$e+Sipct5V;0CQp;DUfyPi-%^_yI;%mI&xN<)A7r2b3&p%fcV5EsMn-{52yR z>^SnT^pX^7%T3`Fy3Mij>@8Y;3Z8Se6I7;7B;#=?q(q=^B|*0-B*0&!%hJ;)kFk_g z{Gc|9E6ySc9{QnT4V8GWLcr|}JiSW~#*xtcc!3f}1WcRfu#$)aN+cQ`yUNvrJ$%sX zbDTInrDp_6KhY-9t^7cp30O>}!>0T!qPw4V0-%&uK1W*0XCW4xwMu+Vw36PMsSEzL z%1b2aEQq9wj&D`+Yb)s0REM~^OAoWd_@Px7Vw{R`u}h z?ises7fnVs;b&*3=5hRxE;7njSzHK7x&WnSBm4tJ4nP}U4!}#T4noUeWv73*)t#ZY zd8#z=GXW0nNy3lqI1D_Ubkjl+Wj=g0z+q>ao6o}jos08RQoo8>fmZ$sB3r^j>}WG2rceCI(=7c(=NLG!U;JbmfAi#UdU6Uc zuPxz(y<8+0fb&QxL$E%V$B6)Ygi~>$4e=T`$0kA5azCv~Xi!GsRS7&|w{;AgIGgZ+ z)aYYw9Ir3og0T2)BJl)+57zLJ&NSPu##(z7cNA&4)d%gklFx}d+nuLhQS>4!)Q+t% zCwg6Ef!R?7!Vz)Umrm-MA9av9S8+<9ic%tbXORNP`zFt(f2FVr`eLJ?kHv0dy~l6I zP)HiZzR7Li-=_JuDgJE^|2D%vF@^{eV>$*tWfu67sq)=t{N@GTLLBEGsSqoZ^>8^c zv#CPiimRX~U55b2npSD zEcz5%=z>Ik3MXxsaNn~fxe3BT8~=igVUmLY0nk+$$<4QB=qGFp#bnGXnp#|#7@xzr z4?1qYFm=Ix95<70ccz|3+ODTK2`ar`QE%Cm;|%;&e%_4$h3aNu3#Z1pyAN zN~q*C%|l0VJK9UclVF;AFgG93g}E4c*xK}Xkv}rzNdOfDnkc3Dpe42t%rZq@GvoIV3(J*@n zK3GB#<+*JBT<3=&=#vUXM{)TZZ%C}J>ra$MfA<6oNXMjaIz2)$xul||IB3!bhmJwt zoG9If+Bv>3JuyFpFQ^J{x1YdP${6IR(1_&2@^`vwC~VDMBG7}#V0oCtZtG65cPgs?eib^(QGxA2O&F0&Pss?2^xOvf34*VyLhkW&ad@K&#q5 zz^W*wzzX!$sBoi4g;W)3QK|{osnUz!=(2|9D${4Mw5dpza=645<%sS^DU|0StgpkE z(qsSHAvhXfRupLq&h^son|EB^!~H(|EwwR-!o1o$DPX-4iI7q|8O=wXl${c~L;3;H zqY7P^+lfcD?IuZnQD8;^3b9nMFgH2AIBvB`ipP*0jR7Z?(~c<)06PYPYmI*Mun`c5 zp8|F2XgV}wlBMHxB+Qdljbn%{$3`w>XUaTICX6^0d|>u`yh`M^BZHds45pLBHN^uM zQ|z6UqbnB00##%SGI4QD5pGlcB8`ZuF&$GQR>Yazd*KUf`?&=Sy$#W{I1Be%vqduI zY=Lai)Sr{VxwzK{y2RSd>sov@n$zg($!@!^;jx;&MKyZWdeVw*G@GprKIOfE`ZqWs>KwIGsY>BRLJQYR?#=S%*X(@$eCn|y^pBshUtnovN-&CJM?8?G|&W1eH zC-X;`#@8xs8AQbyyWmKqNsEaUD}ET*BqX$Lr^N_X-j@eWJT%vkLqDA$s;@`OVhulK zDuwt>Z!dLLo~&z=On-^hO20Vo@Z(~qB@HzsJq;m)rvw;;n4`k{O?)Q!YOp|K+r8F0 zR?3c=URD973)P5ft<;aKHBJ~2)cl3yqO(Tg$6mKM6#~>#zY5ir%}!Z`I;>zp$+#bb7U2u79d*IZZ1G{jj@Y z*t-XFcYdPDMmltR*9Xc*7gZ_qMm+K6fCY%&!7!i(abN2Ax_I>6Vr-+*@#F3mViy}p zuVc-CwG1z4(le;2R*y31HLx^E)=`aR(JFBVYZ!^N)|^P)7T)M+;f%GFJ*ly_IF&3J z@biH?BZGKsb_|zC*ojJr7Z~uK$rF{u8oc( zF@mn|K;jz%9BsFv)FcWEwmH}@(DEjp6msyx?G=|11+y9OtKmM2*b=g`zogYQ1^_Ew z#V=KwG$?G>9e%43&Q{a=hk45shoeog(N@OLW;73l2mO^D20%cxDD%jTHE{Pp?geQb zVw3eI4zmji7O!gwwC*>Y0=uN2AK<;7dM^HDhJ_(Cx))KC>nN|n458EuI?4-_^-*}~ z@=^pHEr$yV+7Lm-F-^Y&WcIb1WAtztSjcIiJyq?s;&k_uw z@Z&&3XeTy!{kS$a;TUU4ym3*VByK{YC7W0aQ{(d!_*p?(CZ-F0wIn$OfFHzfJ=C*c z+E2scL#?iypx0#~21pf(Ux894uA(J+hNmV=CdwnVRhgMOBsWp>!-^uP6;m@JRay~7 zm##(djZ#Y{vD3igEc)?7i{e>@9J3ky;D@NZ`u8i{uW7$}^+SKeNb6rF@!nu#16>Dt zM&66CN!IIn)p*B5`4;gU68kFd`*ldvr4G`VNe8%9!Tv}F%(3W4K{nC7X)8>-benL~ zd5j&2Xxb)-)J%X3`(>t{$ zA-Xuf-3{*Wg5})&^Z`D+r1imN^|Pvz2p2Ji!F+4P(FvF<@{|L z%9sbM&jwL8!cx;BwNqsTRI82Adf_FhBC5pwDkOMVHA-4dRSHUN9+y_76xFL%1zARMtIlhL?c9t~C!sIe5mTxszNuBLkm0}+vob(pX)4J+)m+gb{5o@?ca zmpN+eNyatCBmviA1Xwi}gFCjO;i>|(l?WckL@Y?zhXpC)aG`Q$>Ox~9y3Y|zWLWCm z*;YgJIfmj|5%B_{(S4P*#>9w!a!=LF7$0J4l2+AnGJQm5MBq6!%kGFhw&{G{Q zzabuJ_F#ZQRyQX9dc-gi=E?PuHYh=THrM0fxrK-Ee2rdS@DtR8UM;1zSR98%sEyNW ztY9u$Cjj48trFxuS1qBc0vc*BH4ce3>8g}SbSleBsak7R^`q)b?2XLeG&9bHUcqwu`ts^Ynlbyl4vm(?r3{pgOQYpJiwIk@gV=*MZm1-&bUgA>(UL2S3YENq*8vd!)gwM*=15`@fx~}XLL^c5_Gnbmeb2+ z93|5nz;QanH)H1Cz?_Rqjha>wP$0~+)@{uz$Wpk5EIrd*Vfs-j{921j%(4J{ZZvw@ zVmWI%wCgCD(T(lArzi^`A)F3%QS9-mTsD?yW02k-lW}PM%hEQ2xU+2mgZ29CCGHBK zK~Ds+F>8`7_wC*_$`Wi752{ITCqht|adrgJB)_EV1UiaF%7s1SDkYQ+Z>nQ8o{F}u zR6%<3)@;{8Ii`T!^&8;(;J%f`o0}UK{}EGoLD6eT;n#6A5+72 zYz^8e9KZ=2oSU|UotlxD6;~oAqI^D_p0ro*jq{rwtm^G$m272DCF-22B$MU*6dtD* z>oitk7Ro+{_SC7mx8tOk=GW<4SZ%_}?zVG1Pssz8B0Z{kAUZ7>Ht8@hUy;y;m59PC z$XsL;H(?3Zr|yXtHB_N9@ z@IaQU!J43=VS~O;KWC*o>FqQuQqdHDv{h-13VFR& zWJ3OYQrreGz%G9C!i2>tB@0UY2gEzQk}h9MlOgd+4*wRis3QoiEQ<~$3pROgN`|n6 zO~ZUn-)cr|n4**_1?rArP!GBwfta$tu$Lp0voCrEwzu+r`hmKpsYp8=6c%Q2M< z+19gz*Q3cMBvJf4ka7aFjYW@MlCF1%pGra%Z}G!iPeP@Vi>g#|aqXhdM-Z>uh|8&S z=wD~GEB0Y7q7QNbXZKD|9OQL!oO5BIlpta*u}EKEQ}#z+C(q=wk!^|tTj9|f$dJ45%va8&d+uEFs~xH%vb{# z7YGe6jurJA>;1NyohvTQ#c)*BMB=x+T73G@2Kx>RItjTQ*Yj|B{n3Z3!l7FEq!NY? zL*fY0FjRnIa3ILbNK$ENRmXyPs9$=yb1Tw;m5UFtU(ZFw2|e_3{K~yaso%w| z-evW32Mq9=!W_i2AhHBhr?!=B^jZUKVOnxv zF4a=WnA%~5kqq*P2q&vSda$q~i$n(oapId9#JZ-C1NVmQ%jokIcCMBaqWUuWwy&jg zSYBhNZ}(CuD2ilbfe~Dc@fxusMY>_@}fhvGXM>FAPzWZ%*WoW4?SN3^LTq}@U z86s79JW&`XFRyKk%G8OlcGLXCk0hE>Z|K}%b>*V)B0HvCGsEPy_TLScTTl%_2@pskll zESrADT{AH(oSRAnP`QNV$PV1g2`fFqG5=}fFsL2fG76OuoUpWPjX>2f0yko94z`-> zBC*SaV{(&X6oYLK#UtKTR)7^wo{Tu9lJf=Ub!+Z;8rSIDmPf?OlNAXG{qU{eNI7+oEsx0EoxfjfaA(I85F z(W4VGKqFZ*ybuhGsR=Xlao_B+3CQMhADpFlusA%!<#s5H*>0NwNX!y(!1g>=R|Hy} z`zF|S-xN08BZbIQ&@fC$gdGLEddBiYjGa4SV_VU(h-mK zqe2vvFUr!V)w0CrkfbD0Se9xJJ}3-oK`f@*!xk5UZ+8J|(+d-e<=$zvaIZtc1ay#Z z{LvhQ5bmJpgF7K~aIJNkOZS+_*lOnxjcGIwc^0wmC?On7Jp^yw@17JZqzcxIyz{8h z&Y+8{A}UDp1&og|B2b7F4?^&59}Ju|MIQO2uqrOOFkU{SpM1dceMB?mg$ZCl;ueZA zt56))vT_1|_-?DM3&z}NqwHmkF2GW!3xaj}S{IBOT~N@~1tBmFKIBTJa;mMOBz3xd zVG0ZU_N+nx{LmV8xxD4Zn3`B{z@AwMz-GnVf?m~hqLX;kba~&4{*&_t{^ThGf0@|= z2jxTo-}F$O_+ugh6K^U>g2j!O+P3pSXz(hI0p9k=`iritN zbVU%}0arLrmIEYVanTU9ineJqYT|P9rIdJYpv2G_Bi$LnAfTNVBs#ex>vY@j(2SU) zFt6C)7Y?{BrSPzFr%0B>k_#J1gJYB6cuJ9uAz&i4a1l;e;j*(6AfYABBGWgIhj8l| z4}4ASo|+d73Z#P)976$v)ebJ52*@PO%g~iHNJfAr4GGw3D2dnuF790@cTHLE2-pA# zj5YZ2iHZI5;}ZvYwrz)58XKV8*4oW(r{}~I@ak&23ZvietS`H`pDj6xnp6c`NtIwb zRkRtUXyMoSs34@~XSztVey>3>_#G~V^I{JlQmG&;EJtQ0a$$;x^2RFwgKnegg5uV- z%|)ofy1N=BAHDZ?TU@ z7w``^@WiMc!=}pJA)DOk(z*r=(*{|lHum3aP;QVp5JmuKIgWn0-UMEg9d&<*;VYY} zj;Cr!ec!_Fa(W-m#p5IZO`$zV8LQ1kwNIxbd|o!#9+%B#mxgIWJW@~=WfRyGYLX^= zO(ae4QaSN)sE->x`EE#0LF=&%g@~dN5q!egNRlcd(WnTdUo6QURf!R1r7eTxYiY|$ zCSsxV22mB&FK2ipv8v&LbSTM%*f^Ag&;;Dtvi_j70-5LIx8Y*XXc_q9h$@D zx-N%Q?{QofH4?`N)hQXtB^*sH#q~E%lG3vnpHoMbe#a&8qI^}CEQ+DgX1iO9#K5~8 zRvF}&1A8F+x`i&AbYz^dQ_WPBVq3tKfUCH31gmt)aB3^vu5holzy!P^=%iS3-+s^x z+AAk%>&F#c;(FquQ;~$el2ShF#(RFUyf&nYZDS}CtqZ&Dslp()O`wPhiO0ttLF&Zj zbyQ;$jE1OK>Xd@*y*1{#a03fJuEVx7*Ptr92BgC;K&S3RJ84uf%gyTqq^anzV<#FV zBdM({A`B}#(W+%9w6^R-s4qKFYRXPtNj+dTZT@;uoj`${1!l=rj%O^o3H_hi&OrC#l!b{fjJ#YFF4|?yP*87n7 z+`l-z7jBk+7y#@}SgqbDn1Aa?@Zu=A+S{jCG!o%!-c}UCXiQLn`1h>wUVf{wuHuT{ z`Ib*1$n`cnci@p$hHdGWV=ri$h zuouyhiL6LX>5P&HRZG?)189L{5XLVdmtV-E-rJQd62yyE{ItD?!d%-}w{}q>t(T4j z`A{I(Mb2XWLGKcDDGduGGZ8fmYrwhmI_h8pbK6FhYL(kcab*=x+f?$QgBul47@x7m zO8(SjDzUhM+LE#Z^b4o_5=}m<;uEzhKA~0d39X1v;3>r?hKl$E8u7`QLf`mfwJrV) z6re~P2VQ!_K(VTpN2pZ<3K}z`kTH7`LX1uOaXenUkS(SvRv3#>R*2B2qJ^LyuJXZM<~a%a0QS4=fkF1DI5ueX|@>C z<8^YEK(kBomc#H$1TfnPQ(W=PiIrPjf`nngtnWvz%b;Yi>>aV0Ri|s^;|on;-cGQ1 zXzXSM;cdL2AAugBwIWpH6SC3OF^h|P)Cxdbixv~MC}5Q93gV|ec&A1!)=6Hd3XcXF zF-Ub7`mZlHx^(zKZ%7$-+6o!8RKmp1K)FOe4db&hS{gGj?6fah;U3VFXbNTxb2lRS zj5sKo6`y^*Q9T8{QZgj^Q<)YaRk;mnC6Ap@yrXE_lT2MSNSPqDT9$Z~U!t>796h&! zP9;nKuS;2u(dWYU4nlfvlta57%6^O%8G{E)ZGXbyF z(}O&9B<_Jdf>xYP-Y8E)P#}(})#S(oJ4Zg8i?=?E*@*MH1gWevkIrcVQ+qoG1vNJX z3@7|CuLBsxkc(zW$54P1Yu^-p!9?!8uns7m1RX{+-!15=j$!pd+KB7~#AC$DkLa#} zCe=DYv5(Xn;3DOcg<|trvslx8gVC#rR_G80xK>!T1ro$9I9EALjb>XWf}0;q)tCpH+J#zTdM7?c3vddZ;@ z$!frM9Mxf|^2ob6t}sK&&f^!$@>RM+G~#W-I})myvIgn7_L5(d)sSt$;x%(ka!l0p z3|uHN{lqv*a|=ZFmdwK~wXT#*s4EW${uocEPc(VOiFa2V0*(1Roe_UU0c1T!WD4<< z)Fv%@HByH#|LV4^Mj|F-g03$Dm`+7QY8Gib>pG%#)`qD4v4KqMGZ-1CYn3j|I8GP0 z{idNP8!(8jdIOO@hh@q2rhT;=$IjAoqa4&(?VX)He?MLiS8widH5d?Q8uc@J9?5-( z&m;B*R_`Q}<4L{E$4A#4fHu!c{R!AV#_sE zEZG?4N~Yz93O`YX$02I17ImtUW0*>PzTx`yIqQ_IdFsnfvcLw=`Qjb6+LHDT5Bl_o zah2-Z4rj%NTB|mq)T@msr&gQAaZ0sWe3zm&i*u;jh^Jm{L>aC&qSmU-*BCL9)^Jdz zV%BZ~Jk`OC_W6T#?yZ)p{aY#NNEThqz1W>pw{E(7J%13FC zSNxEb*tX_a0#;@ttKu<6UZa>l! zT?(F`o5hhpv^p2C*R3G5;G)`f*|@&V;M8U;d$l;#lw5_f)8z`Rk6<-cEB)F;u(zS6 zbc$7LfYuDX(U^vm7B!&tC|4TA+Y+Me4n%Tm-&Uc()P}^-o=wK_SIGF-5&J^Da;BI3 zm?q}HXr_GBpH4=wSx|D)GxF_t16qEOnUq_k0Njx{Bkks4Y@3+4uH~;a>SP)8W~h=G zGx;@~4KQ+nS3I&NjMXK$(h@5n74_N#N4uI}nTr&}End&fR~OyGYYJL7@l;tzXC;oo z+1hbuWW;V8n`38|TP8l`f{nZaQ4>z$fprfp9nt(!5LPcLQJl#mC$A@uDr6>)gy66h zmDNaS&llwa1^E_lQOBZ?^eQ^9XDI8f;>KVFqivl6fekp<1Y|u}L|SpemKL@UC+X%y zl|d}#$m{+-xhgDK9VGS4RA;DYmZer`?hI3@MkVZ6vl~}0xu`hCumq!JTmqmvK9vU8 zI&hAtv1%&-5A_Jg37Le(G=c~QG4(-ostZFyNcK2HQ-adB7II;67QdoK2kD%?$G}$l znw4^~mgNkyAn)QYJ?6;BLGC+1Uz=mBxMtMyTa7Mwe3dx62pi|b;DR^ zx-8XBZC%V0v_XyE;Tc{imaNu9dG0>El2$vNBN(uX<3TlfD|&tP)8qT)sf>*#fR|zj zc2D4{Qc&oCs3(}2_L~Sb?qOrl-N1xJ`;8^Mm{dy~Ef06pqKOlc)TSP+sm3%u(urggTY)Y8R%sipR@W^5`1F!qE5?Dx zV=XycuP|6uQlVLWVTESZT7^b>ITalP5W9(0;+sCsAvxm~hhq0c4q>f>r;ARZqI$c4 zagEm0Il=bQjFS@+hZqFY+8e`?Y;W+5*Q%*-ydjm#G`3y3uvi=S)Rm6}>_LlPn4uL! z@lI92L_bvp6Wwufm7IrEKSi|Mf)kCKsXI+Uynp>kZVDSRj>EQ3;EQgRn9ISrwsom++xS-lh%-H6gY6q!zE_y*0L9y`#q^ zvzGd?i;7?6LWe>EcT0M6&OSS&$j-ipakJ!ExhZro={ZSvaCOhbB!3~3!Szmme1#rB zWXTk?v$aC^EevKa6Ec$k`0+D5v1%9{vy<(WBUIPT1dIhl@vw$TL#;nnN?`pKwc)l6 z+Rkv$#(j0g=J+#YJX&^|J?W?rtgbo}sD@cQ9K@21w8{!eA84qfU{mmz7Q;=_oUo`w zBvO4$WxD@|w>N?EJj==g6J(Jd*-=qY8)%fpZZab)E34h;$cV_Qurec}BOUUH$>u)T8 znm-Gv`WG_+FGFAx%T`MAg$9#+byc_E@>BJE3tzCO`%A zf;s(eQ$~%^z+FX(%qbdZ^wtp)&9K#_3wtawk~5B^jI^Xp6OEzBLQsk%Z;%I=JVLH) zI*SrAt3sQBkJhAApju0JDPK6pq`8YICE40C1Kqi5tk+b@P%U0NObB)T)4?ge3Ck4n zByH%*)+_Dq3@M!-VKga6NQqE?rS7EXvOM0)Rv;;h4et!QkhEcgW_P6|D7&n}P(=21 zjvSt5`ajd_X^Ox5Nk^z%?rA8YT$}ezbI6qf~L%2-f!GNqB^K>oqW?2^LHJRRPr@xh>OcCst ze(cg4IFl_A)+JX>&{L47mubk;%ON=E{>&OA={CIaMA1qF=yEn(ico&L5@>ReT3zIL z@h0oV77&r?C)Q`6>Ajk!BVx?%UTOYL-w6N@MWb z>nFtgD}6%z_It}qa_;%|_JOhdncxXS<}4%P`uqZ-0WPlKFaw_nZAz54qc`4|+<4>5 zh>16uEIqh~&oDeI0DM}_08xmxUqvwNzU&@`C}#K}#%Vc&^Y`%<4y5H6&K(s>WCZ^M zjP5vBZ_)W%3=8eE)8*aSqU}yIB|)#Bf&^MB(5uvyVV_ngym+{|H^Idt>~&Ja z!mJGdI<}#r+6aXfh@|Xpws?k(yTn9n6df2*QM+Qrg>``wn}8CFy-}b;OlDGBiIZiK ztOtjjA4;GA?rj>oC#@}RFQ2S(AU54vkz1Q9qH1nXVLq~UoqKeIxcXj@LybI##bQrK z5>M&I&UI78I2Dg}p(8}x?9y|Z6O=oPC5&s{2q5-1H<`l$19#PzD_7)uivb0M} zzBo&*0xOfp=M4TAr-Oxzk?HBWdfZ=0A#SbSS(=Kt3Rb!=KECT-n3V_RRIwM99^7A8 zon2qZ-}J>0G^}f+5>fZ~09Gb1nWNY?3b%z*fGeFsocb&>H8b2+Ll8+-g}ZmcNkIc#zM!qGU(dM2(XocEA92)sj-u@TQcKaGVv9VJQiYOGz{?B?FDl-noZoP8sUG zn+GKjslsg&dem392p@}etCcFyFKikhu4L6lhzV}D3Y;Q^NOPzUWB3#VJ2ls2@@Zj| z1fLup@AK-j2VK=g615%{VBxI~@CNKcuv}X!kX7^=!Y%h}yWD2de)Kk&LZ$XhSh>NW z3$1ZCu4TFT0t4^a_6g~<3#g3s-IL|JyMSy5l7R_kGRl|(O7w!*nB_PMFP1$Y6anWW z58=V-(L z8IYlif&z3sFlmKk-)+|)zcFalhFD8)bf^3Ec(EC+Foo7FD-$&zLr;vt6NHFvIMvV< z7Wy{BUMNiq(a&>2bT#4H*H=PlM<)kxE5fPirFMoTVx4sqTCnVNQ2MyUXM%=JZ(y+q z+j1r!u;6+=PFkl265VhjjO?OV?BQVfYzM)6CH$PvfIQQ1uT178uc4pr zyl@WJfK@0_uewaT(bbKe;-cb_XIk;{YwJ;A9xN^5qRQIry+LpAxV0pYIz4z84csgE z!TOw7hue%5a@Sib5O$b?`sOcmSN@#0FLx$)R$rvJ)>GuLf_I-7X&2*IhJ3*);L7&Q z;@aYPRb){s(_&66j|8|%!!r-(xKOA%01@1f$2G$M#H(GMk~Yr~Jzq{Lm6UWV2Z!_g z7JzO;vnGJAk%wGzO?SkDTMO`#9O1#rOi^DEq8GUr;$aoz|%CQ<$$$W)T&KbYzJll9U zfmK)C)jIG_Cz2Xr5(8Z+Li4Gk zZkdpwnLr3D?N%J`u9tUwas?a|$V_RPG(32;IA>ltS0(MiDzS%@%)7zq)g2Jcqra)h zAlt(z5c;zy63tN*2=*c1D$Slafsf|bPLA#@J_(n7^Ge)VT%OF%&%=>%cbQvk9Fvz0 zVxV0d%kG!0uSMF7VCalymhI5caX5N*w1o(sxyZTzr}$(??Y>I7d~d}jz{3JTk@N&r zlk>)~9M_m-V}(`A<-*8q2)hQW+$S3^#d^Xmh?fpFo-dtQCpcyhHCKFGPU4F}eJ+Sa zkB{>ddm^-bHzjYJ9^R1K3i+l<6JC+i^IhISaR|*JPD7+ivxz&&N<;}!o`Qfk(b<(E zQROui-(j*%>-L{T$13fR!7&vd<~b}C@SQy4v1lukuw;r6L9C?K92vokT@gM_3Gnn- z+QV~vdxtY|-6WKVPbJdhkS-;RA3B&O`=vhR_Ri+{!xp=}iQImOFe-c`0G4`&Ai3$w zN`<%inQGy5&2O13Lt6`09)=Xc)kMdasDXeC)CFOZgRJDE?3t*e4hql ztx0asyYWR2_ms?Qnph~P63Eg)`sAduWtot{zS)+OET1M%HclQoX|)$sS6WG=9EpX* zwKxL_HqB8whqMX4e6UpcLfVorxM2mr7Z5Dn4M~(K>cYwRvSUqjbc@rYLkHD>Xht{- zxA_W3T+6O!mPe>pHyn4SO_zlm0~j6|cfnhR=75S?%O50~DoY$Z*VZ)*Uu_SURbxQq zt52L+G=yRGT3ISRKaLPVP_O@hUENauJI$&qoYuOwSCy;TtuD~*eNB0B|2kvJ4i zRg5r%iV-AG4Cw>K5Q-E-dZZZABgGWDoh@sHLd7u6Krsjc=**a+Ky{;t)gSvDAMR`o zKnjl}9Vxx$Y1z8zpJ_Q#9&aFWrseIYQZmcL<2dWygVswXxpZ%(nJI!i2iR<57H7RJUa8OmY^QW(=1*&Br+iAtF5ga-lZMsDz1D68bSh&!7Yr(I+?LWEA3yO~ zkiqdzvH6V#Gr#50h}Oub*bHoWo~}9B9ZJX7(iGXvX*z{d2NU`A0omP@Mp8e~k*d!y zMSGyRX^w2p21y!BTZDpXi{!H{#Dd19;0?V5Jw5EqhAQipb3&BQhLpm|=u1o5cvUE3 z2J4r;sbpUjsm-j1(^bswPKRRl$!($B77jT zr_)E&(&84_93J6Pi|M6FqS?kuG`5slDHm3gN#cYud?wTnznQ5@c=GNHu2|L^1E^Y} zoSe+y^QqdsGa089E-9a>-Z-h#ZR5iWz;%AH)B*p_%XJ1){Gbl_VSGVZKppTOoY$VO ztwPn39Hd~=%osuUm+?%n_rv6O$1k)tw@{ySV-uI9PbV+ooxzsKm^yxV_;hP#v+kLeupl|Kzwr|fOV{qR zDZh`kjerD4rD4Gq&ivlrfe@eQ;J6%Iq1`s&jKRJYP8n5p@f|fm$(7X37LY7^mz1Ls zw0gKf1|Iy$M{uVvZK(dH4p6{_@|#+lu8bd8F>I;Cq*yJtLqJF~9oyQ8Jb!e6uQ47T z9qcrJ*3#tRma2Dc{%t;webkQkA-rPJ{!KZSZcGXT=yil=g?f|C+<5bhPG`ZHna8Gp zw;msZH=mf2^43hbc_4M@CM^!~SgUUw)Qv8y3WM0)nt2S55ap6zccpXq?Z=-m@()Kw4Y z7PP~ihlqLgqMG1AJknDheH(L^5CNx@Q6=y1jbPivo~rI&LP+ z0BJte$~T4D#+;^}EKE|lMlFyXVhZ&X-#)ahUCLfoq4j7mm)+}z0($*4VpRXcA0cKf zLD5`BMB`Y&P@6rR=U|Ozm4NxZBd8W-a(u<}H;pv5{Gu z{#U7HNNiL+7FMbm1S{2yewDg=eyFC+!$XvyRh(Y}SxYVyR}*)vx5S>T4OV`t!vbNz zjAmw9FeOs{V7HD8$EQ2z+eeZ%U>NwU>PT_W2fJ$V@Decp)sJ1RTEeIpfpXA z;I>F4^`j)IehwndT8^<`W2^Y#dCi&wx6@|rS4^#t1CxObbbE^cL=D6{z9|FqVG`4??riPs9iOeHv*!Ha()Fscj=^cfC70Hc zzFHP9K^{hPPJmS&z`f%=oCa4dJ&o{7^6^a@D{>A2qm%}**Gg+kWfGsXZm;c{q2Rr? zEiUqp(Y=gi`dpshIN1vt)`}7)k+-p5eBP#FQlQ3Vjc6nbq0$~QO4>*PP2S1Q^RC5| zo`fySQXA7j`Cx;HFQf*YWMx|3&ht>oMXmF^aN)A;psABaa1(v1K{T$S-6{2?Fk#~r zK^);sQJvIsS|yVjHcn5~#M^7^Vr8k5I3{1iyS_Wy#XOI;>zqT3rB3}^Iprml)JIYU zy+_iW2pTEL!v|=RdI!%*m-IoG@G?$OpcELd*=EG!8$t0vbvGoU8F*MJW#yU+8O4aX zyy>cuFz$gEaYCiXg5~;Tu7!o1lRyI6q=aL&zOzBCCMGY%m08j;FmY3ekWR`N=*D#i z9`}|8jvH=#x5Cq#2_4Os;RYQ?sr!0GOBQU)y5*%JK}ExG%QrbafNOB8`m8ECAeZ;D zgJfIyyhq*Mqa=06R({$AKw>d#fJCw%=t|-gvqC8&&kl4<_&L=;f#xl4M~QUzJ}7`( zUoWAcn-TPr5U%;CMb26pvCI^p?NNGU>ku8(+qk6I$;+U1d=;jYB3NqhPLdm`z&geJ z1Z5X+V)C0Dt^RPbZ13Rdfk)MW&E}Fu8I(~C3^>hlSpW>>*F;_zn6leSYW_sYLW(ujQD>7B%Lvnyx&tt}8r6+nUGgyThi`q^dN> zfoqM@OYvIoCb>MbIon>o-<=1|6&kZow}MJjXhe7VLRX7;l1ejAboeC zMv5d?cyxxO!h^%N89K85Mp8uV!8L}j#+aS)TXbOJ(*ku;qZpK4W9O$QW>#eFG%j1S zNHB**?MpFbA{a?#I8!Z5!kaqv3(cxOs{yM7omeR+$}7X8q9mACh~Stk7o4OL1@VQ| z^scoF$jb+|j_E2EFKOz+r&%Q#kn1aG0iyatIzI3|zX%`E$}&7<*5l%!wpVt5>SL?V zAz^8KQW-U?6wK4%7OWa?Se!zlZ*~0ZPpvM@&KH*skCod(BuOkB>04~Ifif_A zK)Dps_E;UuSU$HmQ?loIxAEN=(SmmR%O#g9Z{)CAEa>?m&YbFp%5z38n|WMhbC1O) zOt*>pOgGMs4)(UxJ&&9Wu0^)Cb6=#gWX!D^Gq!cWbQ|6bwh}#-XRrxaYcQ))n#3_J z$Ba!$t@o>@uuy8fkzzB%_jtCA@cj|1hhXT|L7L?y)Q8I}GNZtI1xpWswBvb0hr#Tl z>0D9HPFR$K@lgl9C#X9oBP=lK zoT@Wv4wPYQWB}QRN=7nXZsyrsdN(Ss8B;kBy`r;Nva74YxwSx5-nX23=b&8_$$TtF zSWX@jZW)uc9i_)3lU7_|6Zd!|@GbazmZDqApq!KIvD1`KUBCk%_5vB=&s z)Z1GII(y6Xz@{?N*;E+JGq+ zIcf=9_CnWtAW1G%#K*@Y0oqS0n9quXm0V#n-~S@6pzKaR!n{`$mQ1@9pp9k{ag29+r(PEeh?m{~!vDx`6A7;abg z#*#i_2eihES=WETc|*~w8c7kdGiBy@RmHhf!!WSc;}0GS3|iid0C9AE0FIvXOrEO;oY zWvgZpB(FD|P5Mfen_KBErD81z>#Iiw_d@-TBJb6yIWcY#+H@ShE&XXIDm+K^{7!zJlp0w+ThFY&9W@=es7^hms>^dtGO`OO~0vpmrLC+?ElAf`J2%NE{z)w}8U%AQI*`r(zB^LroAIYl5iR9I3pFms-#it_>=@i-P9gighy2j@bYEi$M#fI8GjZcwIs-HeVT9QckSQkb+Ev^eQgM}||J|b!ICBpE3KSDzA+3s*{#v zenzZxJ0%u!of8vb(91LEx_PGB4h*6U@XY~0bqmR~TcdV_Hi)yA zQVcW1>I7&ASc6i1P2na|ok;9skj$B96-PRk!Sz0J)f^Pjo3Ny_eMU&^G~Iky$_CI* zhzgjZQY3Seo=#^*dJX7VOVeYOGLwNy35`@rEK+Hq$0{Y-jS5zq_~m9N)WOUk<#+q` zgH0Arv_eP2*lvwdn5i~#je8+W-S{ zkuAfj&mMKtwQYAt{|h4+)Uhv9A|R@Epbwmy{ zjfPrSv36=sjG5Nv$x1dhm8i;o8^I^-th%t)z^#ekTUty)KOm zRabrGX~nMQJ0#GE7NqG;6hGFLHHH~=M3#eE&jISN+Oi(diBgD$d@t6F8w+#5j?-tA z5y0auJJRG7BVnt{4{+^@KAu{#$&-zUAP=W_!x0Y=B6?uQ;ZM7nS4vwyNpGa~6;GwL z5vh_)Gi7PA^4L1s#j(;+>jN6h3&a76_yG0Nam`4Cp6*oliw06mNsdFl%AEUg7650U zx?pCKPAMlZved7XZ6X5F>QRQ0jO{)K)hKHOZ|^*8mk|tt5B#fXMsk5aKb?c0>FI60 z5kJy715V=VHg2n6uog{5nI9iXxI39f_*CX(7Y`{!jBG$|WFw3|$0_+d+K_k@J7s{z z2eh4qr!EH9t(ULIhHQu+ap#{JD{2oil%|~NYNOGvp$W=4)U;O9OjDXpT1NX%YrEmn z{4`~79+Z%(QO6({ns)_4^VVor>jp;ZBs%Q(1YeaAkKiSJ9aQq0EdC1sZ4$ zjI0;Og<4LjZ0&l#L*X|Q4i#ah8xs2V%?71?_F0_F7sgwl0emD}H;S502LOY0bw(oM zx>M+uRMyaL*kh4td7<-9CB=E5Sww5d+}BcoUUVz6Ut_QcsLM=?g_xN;tK(=i7!E0f za3mb@+jw|n+n7XZ(o%=R73J%VO)jF4%rYx8zSviXxy>M3nJu)pqF{nI;kV~TwDU3|NXlDKrD7?Ca+8$=jMk4- zJs+tyfOt+~-0p>@wu31v>Z=~UWG`5m0Qhyj%7lQYF@FZ3I&WbQLtDe6^+H>_RP^M(@Lx#ty1ljzY-ql zF2R9@2nK) zDrIZk4fU;c(J^G8wFypk9%5cXWC=f%G{ATGiuggK0{sZmprJHeG9MR0z^O@xg<;Yu z1rm6wEB4`CAE=fr;Xr1Dw3Z5Nyyu+8G`++Zly-VaUtK9{KXGk+t#4eRM#)3PkeiDT%y51x7HB*b6VCIZZF&WSbt{u8j?%^n zqq>%aah)qVP3%wyC3R>3x<*rNpkoXSRr924w~-d6Eh$8TEGe9Y5eU}?1g5SHgh5^C z$m2iBei0zF@gjh59p%Rpd1IS4-B&I*?hn=wWbao8q+Zx+qfX1j!x``#uYwF_5Dj^Q zRG2q&1@%_0!6`CB8&_#V6Ib|DU3tF1z^%(@byXq-$-80Z$jJaNswh7TK$2TXKQ`8= zTw-DmdQy))!Jow2?&QdmdeQ`di=j~>ZkBw`l{Vq4V5P%CkOh1NiOQ33seA}zak5cE zX|qOTFzYVRz%?qGbSw$XnW|d*Ka+9sJS*>k4nTQ%M6UC9=@6NBlnBu<2av?OiRDQ! zk5Mwls~BPFo68ZpK1#>?w{c12BGCxKJ2o){XT%7}6Zaq;8e)|2nUxX5+b4rmh-ou~ z=GKN1m+{3#{`PMmcm*L-N6^!AYd2=5p|?jM2dyE7t22Wf5gucJJXjnd&)&NJ=4WnB zLr2&kt4yXZsO@3Vp2s^o_Mseh+(z^xfLR{8wSp|>#97b^#Z|N=zDFc=?JDX~C)mSNMBCz;gwup7i5UIvyn^GU^`ocT86k*s ziz`n-E&LKUJ;SW-O)fb6d>2nlnC@vA(#oe8vctO1yqt9P%!WtW#Ycza&o}oD>un>O zsn(4}IPtr0ZJca!qzai{ZpE~NRZq9yh&b7ZpgvWRT(_HVOk8@~uBr)@JKq)v5#i%@ zVZ>R6I-HEEB7xaapg6g_b{j(+E2gWM92csXOvd|VD@OPtb&+SN0D}CQaA-u`&0*CT z;@ZTBFW0?#HB9SKxG)OeOrIvv@k;DTi}Ijy9H>I#&B!RB46K2xA?@yHQzNW# zWNgzk%dLkVN1H%F;=U)4bS;brEn>Ng4N6N-ph84PY9H zwDnX$VYigRFg^EF;~ERcxWNG-07Z^>II7M?JW^7zl1o@_FHyqZa zDY)EX(!L*6p;3>}w24UDmGY7vYuB9J;ZBLg>oTsLw8!r){O?4R9F> z;EPv@5%Ze5Tvtm%Vq6*`q5MH5pTP@lyLy65RZZkLi-fsM@Ydn-{6c!rL0z>$i523; zRfX8$M+0W^UqF<^-p~@&7dBCSF-1V93-DHpQr$q4ZQEp|mmV8hX7BR7Kc6%fE-(vd z)v2hqNCmJ1ai%)WXKK4wfOe`hzh=yUZK6yRhhK|(MdQziUtMJ~hc-XZD`+f_3D4z4 z&&h6e$F=Ojl};8sNEWVekfdAPR9e5X0Tk3mW(T$JNyQXu-w;BUxh;P`?^Zg4sL-yPDYV2<-GXI@PKH+yvDp{>PN@tmgzVx705|7b%fk)0Ie$NQu(T+(H6*_f6q=cyZg0 zv!uCkaODnWg1UrI?MDFbm*|UBP>7yNGr}reUigZsMKa>x#0Te} zm|4NyUCoJ~paF5jG&tKu8i_a*jKTH5O{hJSVk7LzU>phDt}h@P+Em&WYX1 zI(!U9TUni0dGJIeW+K1*bWQdFNyz5t9I5d@Ha(p;?f(s%w__bl+)l_}sP0Kek zQ!T6Q_L{7Y8nqbMzkKdHt(@#5!Ct>gC*E9~PWn(mFpRKr*sYtV0jfqS!29z{i}h|@ z$AR?d`Q~Kh(5*dD=OkH(pb)O zs#fs<6%3^>GU$5QD7s>N$6(}8F-~eh!#b+(3`(^@O6{TplQbzfbk?e%w+jCZT_!x9RDs_R*FDSLjc+pS4*HcTMjyKo}%>fJG+4r?}<92UG_LBXT0 z#Sy^gN}9SRRH~84?UsX~<8-#4{AJ*otPYZ}SBF{K%eN+*M+X}v;&;`Cl#5Ti-?(}G zRw(ckYo?9*I)P4jBd#aNVWDr}!q=dlcyecur?yQK9n7W`9E^Mlj|Qv; ziwg~3CLu&_H(yq+!6;SnXyB`0Yz!4n9^G)3usm3bdW&idQ|8mk6is9XwC)(&e)enJ zV(2w_g88r&PT0Fq-m#7H2^L(E(q3XUd2?bP>rT)qhAFt+wzpafI5Itg(@ZbnL(>!Z zLenGHG}9wKG(Cb-OpowIrdN4JrY8&+nI4&jrdPm`Nf4i6dJUdxdW|j02XU!!4mxFZ z71$+66L|(0D)zmS7-sQku}SEH`KGcA=bI_bCQ#5?g&vwqx_Kik-7YR;FyvshpFt_8 zS3>@xBJ7)|5=x^BCsI20)OA0aGFs9ka=$(idc33&C|J@6Jzk*+bkS-DOle2lxum$s zCF*=*GUOC`wD*mA4{2d*I#-+sk2173W{d9QzLrP#XspT5VBoi?FYg*2xVh_`$fPY= z-{x9yX7!AmKKaDS8S&74REfF~=nl?FO!tzN@owy#%7a&kG#yhXT%j{gyTX0;?|bPQx(B{A zgm)yo^f%8izI#ON%SYZoQJFl`X(Rz5xmOgJ14V%vC<@d-QKa^Y0yR=pCS%so&S*9n z>?Tl2rdI3n=Hl_*`h=rXs!)5S7ILT540xpqxl<~sy;4c-l}c)_RH1fCB{fiLArF-5 ztnUO*Mes2!XMUAzRaMDOSDJ2>r4Xa7O1J7NWT&q}b_y$GXK+G>X+?D+Ij9rKQJpe9 zs8d4vI*}gK3FN3wAV+lqIj9p`HmH-3`#K3Zs8gZ$b;?LrC!zOsA~~oN$w8e+wsqRv zb+sXZPg$sO5G0!g2u{jALTAiu-nucPlL_$@c`D*oc_gH_cMDmib(m3{N44@SW)x^3 zTSEicx;BVbW+n^^jcUMTzy>u)Xj}tggBk!D)d0|-1~i934Fnq0pkQ$gG8)!Eu($?< z1~nk$YjApYt1G(Dob7JmYpGkEVA7n#M|gdEV@7+V@LNa-$JY5fw=p|f%?ZUSER#%M z$~3JVl5EX|vaNmFnQ~M0q(TbHQQn-lEWS_^mQ5b6iAv)p!z?{6WH-_j z?l4Q&V&t`L2+GSYBls+E_1N6=6)&G0>~FrJzm~+xm{3}VhtM&-v-sRwpV04Z@5nPx zN)?IZv@AqhEg{(&9Bk`x_h4JQ*zwD+_3`1dtK7l%mL7snwq_=eU3WSm@$tt3qBUr; z`I&$;TM1HZ9Zt4%9qj^n7<^jUe(o-=tZ{o@hS~a?j*-msJ^IM~}ql%;m;=%HR(P7_F5K3Uy3d>9w5V7yPoT|KN(7ThjEiTnp=J6>9DEZn&sa2w# z<9gHPUb*j?8A+_4dMBE0TS-ZRzATy8IE&!x#!bZ0Docq5-~dTo9aVIRpJ2+x02Upg zE2xCIa0OLOu&};1H@kwH%l!CzZQ-pC@EMAkVwYl$*1j?lty~sq5 zMJ-M^5n+013$j{Nq)RZSm=QcE$D-`%QcS&~Tvg1)HsaabMupT1A)A7;@ScxohjQ>krI!SIWW! z8R{ivz)M@bheCG65vr3RG?#oCyYGd!4$Z5Z7Sx8F^objsYntkcGfA+Jx`8WnFX*9`v&Q z(L60WNd}eEt)kf4nianV`hp36Pz0d|X7|kU(}+7Cj~)&4`8333g@91cV9k4P+3Y2x z&!3ctq?)1cPGC6pf1kXE!t|9^Xn;)2^8|wzhVTfs(Ln6a7zqj32C{9732VT?K5H#f`Y4!81({5vgP)%ZQ;bd=X3Z^T!N#+9n1qck*N}H2;-}_^Aoeo z2JiU}VxwY4yzW$>pc@hnUhCh0U9}5}CokA|_0>fwdI57uJ9~CGs~_boQ=T8oOImM8 zh29$soax8rBhp+(P`PKdIcFkF$lI@o>5Ga4(tNZ(WABx}Q+i2)Q}gZfEj;P6VR~3g z$iMWandZ_^Y5;{iFY|^{hqcRBB)oF!;h;tg0(g-BUq>For0>|o9 zkngjnJBK(0dBLy43fV8LD&3A_Tn`*GO+P%&*<4nIHLz~L6HVI)Cu4CI_2V70q*5C}NgftP!yexs{u z$@ZS2gh7FX9G3!Q=oKAH--BhK%F$`gyhzGRzWf?b;tQWWeT; z83M@%=%c;eC=nFYGoK%x#_amih$`qicTT*a!q)e<+S;Nhfz;lj&Q1<7Il6M3J(3G( z`1IDR6641V#u3L)>iOAjxi49YN0J_KS{U+f!|WhgTG7K=G79l}K&t|ri)2a8)1PU{ z<#Y&_B(Xa?R;QAoEO~!^ZJIQG&Naqwh=+PAKCLo0gG(8ijT|Ytt5oSJm|1^6WgKRO=N@v(F5Q z37U@;djZ08ik)Yh{yI6RQ{V164;gm$kJ@zHr529%sdQfiGVIi6(FeE+@jl>q`B6K1A19NW$9`tTR5n zj2E?r))Dw#Msc+wtTb&&mDpD8m83=s^cI#Dev#7_t&NfW6jd#t5P)w+23I|-HDb-H zky>7$MM)D)r%V)`5RaWi**3CD-iS&99xjn5aMaeDkC{}O+8|Z>OE^v}t4T|A+-vRw zXEKwfuGAHhxm8CZUnH5xYQz=I0xrh}N+BI8!v#Hz+fxD9=EihSHc$>Fhx0*-^*bU0- zf;$^}HPP_M&Y2E$?w&`@`c)DCMB@qjR^_{(e+ggQ#{`PzlxAS95OHN{OH9sAHgIx} ztxnzBw{d_OP4BgZW7u;u!?czSdoa@tdvOJ$o?OAGH)~M$==4}4KcHEgy^9NCZTpmv zJF`!kTVu2nd;=@wkXLQB5-UF|^f$(`lnQxC73id4>&P1lrEyahB*F)?_hJi}mUCdG z!m?%{A5|l^`V%c=uua=op5HpH(@x6RO3_y%LKzTM{75l=%q-luhmKS2>>VOLnT@l0 zpfiGt4<*8MP#eyDS zTZSdVjf9PT_6^r%h@GOb`V^!(6EPowIlO*Gd3SB z8=i&Y(p8Aop3Os@*Jgg-);xRXcT+sTowS>_l^ZDT?8aSE(jLP@BASH#+03CBmbY*5 z0(1>sfp#>O3&Kcs$2?;^EJuJD=xh{(Jz(# z{rTXX-NUSzHNv249rb1^983XSx%wFd5I=O+gyo?TNx&z6zO= zq3tWT#o`vsCs8RMS|aE!k4*LQg}gebkp@eZ^k|yPkdsFlW@uWjVYPBPbz!yD4Q4+w zEf%=JL4g|Ri-bi0MhncVdz*4Qm%)?O-Kvy5n9_4KU@~Wm6)qxhf9nhrl=1D06>zap zvN^!rt*wo6O~lJMZ|5vEB^OnDyZ9iOF)2Fthn?{=@4^>Q8V%vWn1Bh z$o*TYDk`HelxXQGom@2EMZl|c@%g0Bv*^n=i#p{?qB#G~>uK}W#|SE>0U{5R(@IT^|~gK zkL5S`ypTSnPGup-)aI%TL5m0$S*Yt)zQvAl?*q30>xT)cC^8w##SjTJWYhyJcZp8B zgiMIzDvg(X*~2y$6>;z~@UP3!3s zxwmVw%zFew>+SvtIs0U{ zF^uxqUL8nz`J_GX#nyddA{;Qk@_~b+immA8%PG)?HU$Y2tSD>th*X|}eyw0lw(O=( z4=Po8NGWRh-s0SIa#F3kbfY#YjpmcT^}+1DSVTpfm`eAexE!nDXu1*^)QL1$C-(mA z$_l^h&&m;rJ?kwW-DJfJQtIKe=tt~Du_3ID^(JE+{DYd6Ejwn82GEzhA_W6 zZKRI#sYp3R7~p^dB?ATNUds-x1T2(LeRi&RXzQOI^i?F64tGbt_SbT#X?% z+O|A?d}Jg(&kr7mVR^m1!;dTw&9>e5l;pfchijSp#_|x1*yw;Z)?4%O>CQRs9d_l0 zM`WjZASDxTA)-!}*<9t#ti$T?)13MhtT3k&EnRv8SX7TKsZ{C1Cz}9!#Z4^{{B0w3T*|q`9FT>iGo=l})$CRJ@_&k=r1AHM~ zEP`B>TzvLqPTx%{E7CNZJHH(}F`p??fDRfezuSjK{HZIW3Zuz3mx>(VDe^r&Ac#@W zmQPk-Tlk#ZTm(qDVGgS!lVnfA!Ey2XHl~9YI$9l>N4-BzhD%O^OT+44ZiQrx8K_MovMXKFtc=~hOD}9h(>jS zkl{z|oxz;FySYrNygApL6_w=rtgxk3c78fu)uVxWdMd&>MQ!46>j(q>%UT~L8NUnI zs~?Qj5-^=N8c!5-u3Fx*>+gi$}=-4N}o>5J@vT z{aST9l!=xw5n)R-Xe@v?CQ)N?`WiPD(YUb$+25#9>}tsfM2$sytZO0zV-d&>K|yPi zYt&d33)C)H+*kz~q>37gNxH_e?Sx-_zh}7po{E=~Wct8AWirGBs|+M&m>fLZ)kA8} zh52x*6wa3y3K0k1^n8S+1l6T==%V2Bi5F*X4$8s#cK{)jhMpga$TWZEHAAc>&oZi` z<{Q?sV~XmTn1(e?@Sv^<^tDCzp+A-J@9TPse$pN0 zOBz|{MM)BXuAxr0nId}HFwrqGh0`qh%=Jk>wF()vRh1Hw9=E$?2m9Y}awXVLuB7@I zhcu3-W^M)%XY*z8ri*1qZH^1+zUT7X`T{;_SYL&=%<#Wc8!#LOeF@Clh16d+swBeH zj515=6SmKLNOy&`bdcPy<1J8E*p}QzyS2IX$vs9BSIde@(*|3K5;drKAxL*=Wi^7O z&dwqIePvfgMnU$E9<~*ErB-)*ZiEcr4$wo`{MpGX+TCBknn>M`s@T!_Ney36i1ZR* zzgpLxg`O*g;z~q}x}B}K`LK*st3pl~a_EHUFgx|pAM$w}!a}dZ!UN?9(kVx%wVp~j z03`ZXuVq0ZK{w=tM2FL13Bf+rGQpa=)3RV*%OplxCLIQ?KF?#`fiZPWVZTgXTfk9y z?@LHzd4$9bk%Cxvf{=QDLL!^dQb_P9@WnDajtas`wc$_QnBkwsHy{M%7LecGBOpZM z3;?A)Et7tDvA}iI`^?lysV};a0gr0wv)4?r#UoQtK$5-i_CyUN;fEJak`+#hm(m`w zffT+~X=?anwsN{Z!KN2`(IqWC0e3neExevT zWHhCROUbvP(xpqEX+qvJ<#ov9j?RwNC`*%v8epaI6ck*t&0(|lEWU2AVL%J1O}m*# zRhJYwsYOgYJVLSXjkl z-&>p9UFf21YI3VG&c&hG(Z6Os%4_6jTlY)V1u6t|}+uBte^y z3O~z-SefT18(U?mt|8{&B{2yj!Xac3uOxBW<^`&~m{B4~q35W8Q91*3DL$mQ7v^62 zn{gkS)N-dMDj*J&<<>fF8qu)o^Kd$~<}o)-G}F-u{mZpuX-LYwSMLyM$Xwtt0CpD) zY1yK=1?aFaTy7zC+>A69Fe;c!FzA$|s?c z=uoJNoH}vay(!49?K5C3gc%RoQAQi|790vY4QFeJOG+>(DanJ95(-P2u5jh6-*fBF z>UKr|O;E(xb~pC+5sXw{hm@*n7UgX9SbcHM1AcUr(9_J+TVu|Mc9es`1|=nW28V@; zcA+zLt&&AjHT@(}3qsgU6c)Q+vM|iigkTt^joOy6?4+?L3^c(~r(t>u9*x!}lRP5( z5j)~Bqqb#`WAag(NI@G1FH4q_Io)(*lba4*ZS%SoHzp(&w$p`~7^GN%VbN^TVSZFf zF{-2I>lscd))Zsw4K3{dFhEy*S9+;+Y|rS-d%LgjGD%eJj8+GRlbhi)TdVw>iQH;3 zdeeYapGKe$x=N#QqGK~xC!o-dLG3LaY;>#B1uE8X({xitxw+cUrxl4N)duRBwNm@( zwL(^Vl}uCWhadx++14Z7lp8Uac{gI{C*O|C&A=UQreTk&x!6GAglst6TxYO;32WeB zJ~X&r%Nmd)PGBvm=Wh&c(M~Z8!qc@!j*<3=P0=3VY1$(`)E>cs z_5?bOv`3`VUR|0X)&y`j6<0JbQ|uZrAzc`BVrDepwVj?T{_MN2xYhj1IC*@+@{EhCs5aQZ3;64U|o z>L&G#K+GQCrt(6wEUoVN8HgmL^4r%FGkb>c;(>Z9+hOREd-eR*VyTXyz!JWfmu=w{>Ej5=e{~eWxa0?hQ3c+XH-Xy(BNhYS)3HR+qk_sT!`|m9N0c zeYpqxjec8xzwN2T)q5+;%lC49>+i{(y)$#>))0M+*Qn|wuMv#|PV3LyoZ!Qf2_go` zM1?7#T+$6tybv70^gD4bn~n|=BVn$p%8=4@0A>fp88HzKE6Skk(u}j82sAk@p-fdm zyO`5Js0fxz9pNkfwqH?1jO2aQIlQ-6G>W@D4ycHOTBRC=Vq~S(XPXvq^{SN00@nr5 z=gSf#0}@&|eZFiCRx*sH!1F)#z1l{_+=$N~HcogU*4@xhOvv)Q?1wyAmPEGvY|&t5Kgr!n*3< zCK%pV>ia;>TMt+{BaU!V&wcg6i^l3l%ZeBnU7p#UwkEUOGpJ7_DI^iqb7YE$*-TY7 zbB01?_15#&!B+`wgRdf@;@A7+GBN1!NFtdm-g&T&+YRbcc@l&mCmE9EvJvMn>o^IM zlcl*%hAi#HX~*JqS4+_8uOhHZe2##XRa|s|@h)`>#_zHe2DO@VuxpH(t#6PDK>hd- zWmq18`|`*ql86}W%{zTNNx&AQ^1E`(!6DhpAkn2K$*0BqDgI2aY)-5KI2nZ;$hp6; z{*?U`Tl7jv8440%kh_kx%8T%{8vD%?yMIBvO61_!Tz-|DZhxGfBZyV;`Zugz?yIEE zdD)QmvXY`b#MV*U982l!m!wFUVsq#!>g=})E|~EaS+tGbK7UEPj}K0}HIl531U^La zDX@2g>#T8dD$leA*+vb3>_`sA4Jt;VZpd(`bG4cRQG7S3>GXEdQnZjGY(({#sy$h8 zcfGshH&wIY1xZsE>&>eWA6lNMSN=)@FPz{*!7}bWjXvLX3>5QYq+({Mt7#z0Jhik z0*Sr2S=FZR3lvUfLUaYWx4iuH1H8*?U(AuFXb`@fa?js5hUhUJ$8vh!tweGL$}OqW zsL!Jfxm_^SWVUPe1^LFy*^om!#&v4>3U+%>?;s{Qney%H6w?2^ndKyciJ>)zYnPVz zMd`^irDbY9nQwYCdG3qa%=3>MuyRh*70U?Q!(yzyMH1@d^wIelpTE=tiq>mvzfuJ0 zN>fx$e45IMzZ#V*zE`1g#r>*OuJ|udIXS1PocKj5C(jg>$J%BhY8;o52c0bvDNYAO zWL$l2Jp6||Zu}2<+`dZjxJg1G-WC)@Gw@Y&a6jlO20INXz$sKAP^z|hi%csFTVqfd z*&guYpiXi{f+ebCZ5W~!Fbt9U+tXFj(M4+6X@q4m_lHy(>s1gr>5Hds`72o1tY}c| zm8%24NoPxov`$4tmH=>6k=0Q%2Pm@GX;XmrRC|uFDa%ZUB#Qr5WS;vo~qgoOEyd zWvV?GLNkNYO{SK2nWv|%T-~-Ki-87ij4D;JL8a0%yWiXK9nMaPLUdKhp`DhN=NCF3 zXMVDvmm`ldaQf3~PLE7=&N@XlUzUjeGia?b6MaEbrp{b4FQ^E1#|I&7iB?yZ@d*w_ zpNQOh{88bQf_4@q5&QGoES+d_It8Vj)bQ)M{xv@_qG^e{0ZipPMJ!JJtplbcbDHGI zPPh}OfNiBpcI}i;h*G3jtwRH_wk`6Z=%T~XJ*K92^GHq~pEk&4cA16hS%f=!5su^w z!#F0NhqwEuwSaj}QgIy{q{A{ds-2KnNDT7nJJYBHe&AyQvAW~)&7eF2g}$hq5Z=H8 z+@JJ{M7ng|1ro^i_EwI#klwtyHqkgTMYD z#AF=!Ntm?n6hVLJrc0)bX3IvmGbQQhudVhpolXPfh&4cDS_O#@D(D?SQk1|EL^>}1 zQ)k|qdaqA*kaA=W-PHb2osZ|>th{9-DS61o>QW$=cW2|f}}qvf!BkSkwjjBP(L z47Dc!5W)4G>1nGlRYMfFwV0M0fru7mn+BS_xuQBBk5E8b(_Q*4@BK7V~62^XY> z6jOyFka}*PV?3A3q?f#^!EBPIMDLqOg^F4lWci8WI~84u=x|fv@K2aK_3`_>FFFA>lBI zE_S1LPbCvz_oIczCLrk81R6XtfyOa1fyOb-1cYm30tCyg?BfkQF4yZNv4jH|p`ig0 z91K2$*oI-}DB#Gph)=gI%@Nub8HNKN!NIUbXk?QO3vKfJFt)n>w#EAD0|cVOSf-mI z5rbu20-#K@Giub%D^ejYN~}+_LEXl(L0ywJsMA`4pqaiZR97&6J~P{2C?n0TPDpXx zHGdl?kpQVYIF-BQWY2T9u~}ow%K+h7ZcH8>StqRFV1wB3*1Z%z^B4iX;X1Huzn?(a;5g~(3v^B?Y75Y+zezL=> z-NDhnpps(@dOxLns?+(<5*39vX1a0ya(|}CwN8G-uRD&F-Bxx`^cRv7+D~=q&}QR# zI}Ii3mbveqXx)KGBK!W4sJ2fOn(qghetLRt-BpP`I8Vx8+CJ-^mw?U;+#L!0tUF9^ zQ^Y(ic9{3~DBK+w(N=c^jJr(RGWD~{ClkJN(%-}`Oo5NgPiLILq|+b4h42dFb-7iA zFvN#H0v#Tm&F;1bgk)4Hz@44l_KkZ(`lAv_kjV11MSZ-jB{Ch!taByt$n&2-9GmEX zu}x|@n;F#mZ1a={SnW;KmQr`!zBuRZlnBKL<_e)6ZJnCoAH>lKA)&I|m#qt&!ls{f z4DPyQgyUk(i@FnZJpPVn$S_Sx>4rgJg6#*zyQ8N}qTRc*YlXNo8HGe=F$L~cOa*Xf zFPV&2nV9R?FgE#9EVE5W=(}!F1Z~b2ue8S z2oQ`p2ON>Ht9XYt^YF8U+(2zq^`Fr74F39;YU4p-uGA*el0}!t><$Xnf@qOYpV>Ah zs$UG$_?z6X>({tMpAGfhJRw06w_xV@g~D`4?P&v-78P3YnJ$|dsREjF+niS!4ubtP ztIQ%G)j%f?&c}j$6ic_G?4-PKjs?{&V(pp{J+tvxt(%WECI#s>X&r|U+&a8tO0jxb z;whX-husj?H-)^>U_YG^Cc1y@g@;6TG#O6p)6-%+c}|vXv{pS$FzloS=sPJ87RF!a zC0X?-mkErHqaerH7zxHlO6(UPq>hF^!3Lugv0#+)cQ^Rkf56j*#qD$ZwO>QJmMrTP z8AIH<)L?#m>A;D*oqBqHe2mYDFuT=BOzSinLJJKk3~RcK!h2nY%tK|_KbbE$WF2J} z@BL1r_u3^&cf_E`QG6U)?FMdAl?T;T`82s-Xn52vHau!C$N`OSuK|!DgGSFRJE1`3 z)|V}2p@yZ@;80#Sp1ydKI$_JJtP&A>3?RKHMx%(Xyt}7uK!bQA@}VBy3%0d^SY|E2 z4V$JwQi*gqLk~7D!USGSZ|(2$X+k(LKV{kozm9?JCfjKt*!XF1~$XejP7= zm@*)*498LzXKxJvV^=k=r3d%Qmm8Ia*#jSh_-uohrfLca-#&ZiURTx%#D!X0c?OyYt_SQ9Ud$#!t1*>doLFMV0|viff1(S z1kWt4EkYv!*qPk}grrzqTz@WIwoHbu)lqSLVzO993@P~e+0lycv;^=D%HkZ~Xh8O} zsIcx9jL@-ocX1A*k9>-QbCaXJJJA21xt2-~8w;&S* z+}tZ+_=SQ<3iEuLYh~FLVE!rbMCeX5|J2JpZE+Q5xV-vYr$UHbxi|aVIzF>jYHFE< zL_JcneDipDI8vRVt6{85)AmmVDubWSAMdJ}3;&t7eCT6!hP(?-goglv4;;bI=m!qWW0{Dj|qJy@H4 zQWr3oovCz9)}0QO+}_5T>a?46Dsp$@U~j*yE-0%a{XAA7KhjVMtZ3L(pkrdQWwcS6 zz?(m7bF(YBdX2FII!vQ>#IUyV^lVvVu#`0=fJL1^g8Z#6+*P#YIfPP|k&7YTJs`uD z9{hxz)D$1Q<6pgJtV7tBv1qEBQxq;ok1VrG^Zn?OI53YbuE^x> zYIa+Op1KKW~nk?VVb_B1C^mVPRf1PA?>Pqwy8epXa>kuq#TbnE4hVJBB z%w$1mkV_#4!YbrtO_uSR@SmsL>!}fv$>f8W(QTFhd}ei!XS$6%l@GP=yp$hgKC-r!%%J zM3yqX5SYL`2^T{>DafTN3?E>~d0Y+#e+pmdSx&zHJLgM9taqT2jZdUf z&CYahX4Co9gwh7-RwDuGXsGG%8jk#2i1<61EiSEM2Zm_E$Lrc)mp;eI3p;bWJG3oyb>&YmaZAYzprt@@B zuJ?2aE%bCH#Cy6jHM`Z6?pg`7r%Tv_wO>b9qk50kfww?q?9%yH-&IKL<#!IBEL?f8 zGR1hhNb{bqL<>A!8StL2Os+$-DzR~ASpzVTQAzb`89}9jUP_@`5xu8NO4)h39JM*6 z3J`g^3dX&o^K?a!6FTyAF{yTGsoHC@?h(~B)y+EhMq2_8hE+{ zn&#;;4BFG>f#T^By7P3ACO#YQ>8gP7bQ!AgbTveIx+>9lx+)dxG_^?8Waa5nWb5fN zfb!rNdfgQns`7Lxy7zQdsPl9+#Cf_D;5=P|I8PU8-qV$7+S8Rt-qR&i?dfU+?deif z=jl?2^>it~4i5j*!+ zgT&8O+&7MF++P;+?yrXS>bo6J+RigpBq-k(kH6fk<-B9UVMcMsFgqVKbI6)jzp|~PB3xBxj`to(42oxxI_P3MyC4b8jtbM z30ZrN8o?{W`R9Z&S}`=gnwL$mqHGNRmjT<{Bu+X za_RkZ74TXXZttJ7+*VJKe~$dlKPM#RpR2#kOaup(^UskF)ZRbW15Q^ql`S-|=1$3y ztkXmhjh-cC_0Lr<m$$7ghag% zOsvj7S483vviRXD$@%9Rz4_-Ft@`IQNjtO*-419{GVbY2^@ZyFb5%+Ox+*IFT;=Zk za}_cExk|MLB_*Lrxk0qjgX)mIuTBmt=G&_I=V}R>f3A{(TucslX1;0?UsI_}3c^Cg zh^8L#szMo=s+1#+0``~o+3(Gq4lddS$YfnzU8;ERVag)ChcJ^vztLH632<-b#Y7F9 zX)nh6DN8Okb_CyZuNzXEZt^d!n^Q2%(h2Ho*Z|{0tK^`DFBVx{U5MySU~VflI1mXsoo-R+W(bbKMO}60pzAcPGs+-kQ|+CGDli1l6fqMpNOaCTo5P zUhg^bMx_2BcOfgG-GbyPL*N${a`OnApT!p}MCAo8zn%ZrlTWWD3O&2+ZeycWZ*L_j z^;cRpfO?bB1GzOSxmjc*Wm~KS@#NND*@xSH&#mL$pqE?Sv#nN@6#wK#|fym$0kIFfs_*pHIJgh>qw+Kn< z-L0fXj#i;N7i*z8=V~Ey=8(Ug-;}iKF-G^$tNl_v(oM; z(m{JFrnW+?9Xk`UJFnoyyH{#y@AQ>4oMZFf*}KVK&99k$8INWrHD6{X)Uihd8Yg8b zgCXXsG@oUX}52x;$Jkx)~f=aA~`#6q7Y+0qJfeJ(UTUX?CB9)-j5^h{Dqa2J%#3X_7OIk zcn9mx>=&%Ru?UlOq$Y?jP!Wn3(2&IcXDHZjncw2`Q7JYqaX&Q>5zK6I%7^ z@mKTbYt0d|Q_WJFJFU@m4R4nrAaZY&B-(eCM~uMZRJG&p zf$97_X2e;>3VDx{6s!4~+Ry4`5|Z;TW!k{A)X?lx5<>EGv_I<%k~VWycXpg^-k!!^ zIcgd+*BF0~DAG`>981j_BC(TJ2qtMIwv@*I!*(}i#}Z;$0D^|Kxx@>JiB z{1C5B{VR_z@Lg0-4l(@JKAfIZYiBu2Awb0-DEdr)YW}=&&O+rLt@_(?!c&t~207Xr zlT#GGO3AAH)>0}hOHy7JO5u)LlFQaQd0GlRzXz<~>Ro9p@T=4x)uYlV^rf_4@S^A+ z$>Crqr8Cx@elE8Bu1=9ArIOMNEo|Z;sZy11q|&lir2a0=CCS-Bbq1>xQ!v$tnIYXv zsshVuOi=ndDq`fIa^cM*xewG|+o{)t)Yhod%FeVB@=m7y&ifL5t0=fn)ZZkcgC^K3 z3c2kS&Cjw|6r$QImfvo#=*g$o62RMf)@D7KLVZiycLV?w*Q)q7ch$S_oygm~p-9a-=3iZp36X?-u#1 z?H1E7vs=uhwp+}Ey2g+KnT=slz9HsP)ZJiC=F44iPJxn@-Yp72?H1i{ZuJVu?iLHx z>=q+p718e&$!>Owp0FmF*PUVBEt0F!@@~=4%5KpRTdxXsi{$Kfi$aWdiv~)&MNe9k zvbWtLakpEnq`X@+zw>Uf(PXz+f9Bm{{f(Ja=2}gV-J&9t-J&7MZqZP%nlry;x2Py> zw^)g4x7cWPx2Q;Uwuyoe%5G7SO2=xu z#RA?I9hlu>h3an6Q0i_`Q}b@Ik^0?Y!{m-e`>8gMjhHu&j*vHxmfALtjjk(f?q4*P zJWRM9WxaDz7}c(_+_ngyIt)8;WiayOa8Yb+tup1@!w@ z$-nJi+t0dx6_VS(X4+u?+R(gz6++sxwLe=4)Ap^D-p(9u|0>BVN3E8b{mi~p6lo|m zUrWu|lh{cs1e3H9TS~KkWlY15TJ5Hl+$sqQ*1FIh7b1(Dr3G`pnqqTA)(&CW{$EqEfUIaonNJ8 zNoxN}DcoR5a@lF6{cE9@{cHPO_pgnF{cHVE_pgn@{cHP${j2_wwuy#PG$qB!Xa1F; zZdRL=N=j=6NhbT(nn>+mD=qI|>+jNBlAH}z=hR9u1tUw=XJ$zI*D8?v*ZPC|*ZRZA z$ui3MJL}7nb}|3f{BJs6u4m_Ff0xh48!ex=S8lzN%gk*jmkDmK zX3y256Lr$us?QSEuKDxxa&m6Y%wv+Xz9xOebzNP+xFL=HA?~OOi&-&wf{%dBYkiO`3o%A4flT;y`1dW>uD?6;J)X(eeiQ!q801&@ zNPo+<*T4J2@$aW!`xySb_8Y^h{;q4E{0Sco^q&aNwQC=D?NhFuJ^xAf_qI-sPLFoa zUjI3(pZj`zI?NJx|NRC~SS0@M+O?06zdix~|B>=nnBTRxY#kjOqx@&jf7plp>aXgw zNOX+_{_tx>4R5)2O{(yyP^7{s$ISB>d64K@<+;@;q<1Zhzpe(jeJcmCyfNP$`GYu6%+ z+D=gYe`QfO3y~J}&E-e_mlpLJTgt0x_1}i#40U{2{oTC&xapC9>vw#~uly7;NG1^L zZ%U86RaC|v%^s=$d&{-Alpgt5p_A`N%a8mo`CdakzZxC?E)?a}jHt!uCZHh|LMQ-M}P4{Z<3mS#I@cjn_|j#o$UYD===C%xtJ>VU;d`=`M~c+?jMF> zDaaj>g|8^@TYcW^-}{dL_l?N=!{fXeN;uB^(xb$!C;Hs~)a(A%Kl`1?{ns(~>h-=# zec!&_=lT_&{dGV6X5{)2Hdoy8LZtoe1BA21Gq$sM&_zP-Use5Y2QB}(+TR|WE_+Pp4 z{x_f$A8kua8|GJZJrT?b-}Z6Wzhf5V`M6E&J^Zq&Q;**Buc}?x2?v>lh?a9CP_kaF#QKC;~i4fp-b8oWua0ic_$Ub~9 zU0vEDqqWPYzwV3w1J^E}l5^hL+`1s!%g&OI2lf4}zx1B>vcA8uPvHns;+a{+m?JzZUs^`)7XYzhS<=x#fHH^$pf$2fzQ%{OD&Q-%ri?ZtqMp zsmr!)WKnPa>ZAWei~21&$DOUs3lx0mT!VVP>tnV)$a?I3&d2HD+<0Sk>AD89 ztcojMSwQv2*?`O`xL*<+Y<15TLTFZaw@BOh4 zaV`J)ob&nNOD7x0Q!>5$s2Hr2{?R9W{J;JzR%N0|!6M5%DvbXS)YB zZIOEUx(2(Y@4ofSk5j{+C^Fj{=WPhI~`juvllxsI1!m$u_zH~O6qe(1aC z5&G<$tG!z{P1TpqJs2_m-e-N!_j51uJLBAk3cqyTfkiKW;QBwJN9cFOd5_h8>DG=$ z>F-hHb1ZpNkT*8>*t1-j)`K0x(kDOp zFW95LAjo}~@#X6s^r-9q?Em_a8_4;3kh6R=d(3Cg1_pQe5(Mj@kN(Er`Ey*2+=xmr zbZuX@cSR=(fA{zN?7w51&qO(&AILMgvB_OJ_n_WC@D0!Y6zhF6$ej-$T~W?~t$+Dj zPW}_?{aBpyRn|Mm{c!0+Kf~N_4RXK2o)&2R?6-f)d#UxuYwqPr{j|yJ((PT(yP6l| zhkx`3-p4uQcAxXGi(fk5U~IYd2S4Y199y2~^BqrKm+sloUis)B@Bd4#3g29FUS7Vp zFuQbxGgvT-eAD_He}uEh?(S2E^H)}a!0JBxXMguUrqwNsN-$-3y>x#IRt{ggIsX$}IouuP zKOAT-oqN#!@BE_s|Ca6l2B`>n-9d)p@XT{|6uW z4`t=P+~<6C`VQ7qpZfQ{<%3*Pt@Qa`p{}Dj_A4L!oSY-RwdS0zXCtWA@t|v6x`#*k zzW+ab^iR{jx9aoVKEJYjBmdsnC;#yGa&NZg^S#0uEvoO&{@ri*KUm*&pYM3HaA`e1 z9`xi7e*Sy^J$v$lAm6Er$IIs)jG%x04?OvPj-by(xu0L4lV32y#KpsVQ&xeeeEsm$KUg& zpQMHTmr?FlYGKj&$fy6Jg8L%&};b7!^^wi9E z^DOy`Os>PB=@Hv0z*MA@FY0Kq&r7aumZocYGZ+Z{yY1`#{g>4(`sc-&~kNqXiMmsLoD{S2$ z*RT8A|Mz!uC%;>BRk1!N{Hpy5eYC+YX6Xw*_n*>#^f1hSyvV$?We0ixiO=|!_cQND zVcz3~=B4uvMvou)tndCHXT`lR@2j-%=$7o;|Ki+_(=+~#F!!so^XTUGmoNRX@1@qC z5A(i4YY$rdAAZ64yP5ZXnD=-gblDb@ZZxje$?eZE$hqbJ6d=C{;zu9FSCao zcR3#(TyedFnfl~CU;JLKJ74H>KjH%;Q`COxx(B&`|K#W7T=%5Q9q-9qY3|Y5^V`1k zeLuxj%Bjiy3VU{7=ks6m?>cgsmuM>!p`S5f8qaR?k{(_U$vb-9;}_d^<8iN8LpjPskyHr z!~&l^cnv(jK`;N=zqRqtSo?R5@*hs*mmXt+9`}Z?{v#h`kNcye+{YdM@-tiD1>T)} zpWGJu;x7Mblj@~w9(aL2IQNS`K_B5C>vO(3jR!li=il|Y@8?eJkN5e$#=8F6_x^Rc zEAu6N&S$S2k2Zmq)pfLLT7CEJpWv$LPn4Vy3+RehO~IJ@%tw6K`#7flNs}vAO&iC@ z6Gqaws(o*Ck74pvU-LtpOWxJxex-9sU|}D1{q9fG!oIZ2dGBoJ;L7S8X#DB_bx}@~ z{#2JUGCtnFN>4*DlK!E${hsgQisj2p?&D5%S<8;rr~mX_?~{4^Pn$fsV!3h~3+_g( zZ@l4qxdZ$&HTQ+LK0qY(h3OZIFFkTce!`#r*(EvK`LDXXhr{RP^9|eLzplBiW0~+|ir0jzBHM#*b?Ll=8vmV*_x>DLDF02E z_tyT-#^KO4d+Gdxx_`zeFa0Fz{uN>V^&PPYE6%bT@M58V$Gej(XP2H{X;~#6RzIJvttJMt1qy1~-!4`8{9#%kvpg*`26qvPyd#op1!8f8{aDKZk+F*O%66rukO}aP=pGa9f9A38dN=#j zU+MFmY`!vCLSWZe)tAma8qYrM<-hzZ9M8T!$o;h#&u#}A`27Emxbu#WvUnP}ND~2( z4k8jz5k-U~Kxl%H0-+?31f(brm&+v_BzNKNLRX}SbOjqC0u}@j)e(Ld(0ecb9vf=VqUhZVEfIb z*Nr=1zqw5H9i&L1e?(9_#x#h~y+Ipaqw&g*YBD>iz%Mbf`x(3=^fK6(pAfFZHmm$> zByZJsks%vK`)4P+N9|4Kq4l+OLCrGP%KQnE=GSe?a_IZ3~dI-iG}ZgFM_)E>yzN*2kQ`lKu@_`YBkO^DIVB4GM;{hkHeqr&Z_kw@(Am032 z!6y+`jKO5EP#uc`iz&>4AeweCXVEUuw13p!U}L5Bc_qg*?OKbncRj@PD>Dl{c1v6f! zA4#%7qY_9HE!I-z9dS(J%5Qh3)_aSBF3x&m@kjDsk$YiHZB;Y98LGu?w=w;Gf8LU# zpx@in)TgN5x<)gzLBF@VeS>)Y#@1K=ZA0lP&JG1X!Q=^T!}!zwH}ML{zthQAy`?C0 z--@iY7u#;mfI635EIu+&|V$_K66 z??x_dbIYxD$lf;7w(KzMZ4apF8bJ&%7t11)Df3z$#E6M%uCO(RY1f_pO>;rJlGIdz zYYWq^o=ZP|4BB;2&DGj|acdVQ@x09;Ss?KtHJRi0f6^Z?GQkK=UapmVd4yw$e3X}jTc=>*PZ54(^V zKW@331~Z=Gq?0lq2@0a)%uxxkqIL$@Nww~?#pxh-s+?@K=^|qd+Hh{Uv3*JFPd>?p zz5YojJ<=p;nNr@F#`YyIKK|nd>`P9SFcYFRq1=*Uc68FqyNe+@IPIj;c!X?9qKzg} zD@i(mi>m9wc12@4`R;&S(U}su*<>YG9iZ=zC%ys83`f+6yaAcvv(9gb@-fm!EAb>6 z_o!oCQ2%MyDFeEoo|7}hoyj9MYhSG+{mMSMdcK*7&oV9 z0_{>cRDLVd#Q;puJb+OmXW4i8z{6 zeYFrgz_k)0so$1}X<&%St4CPRmTzL7I{26%+5Oc3s zjQjTNl#{^CP;#{l6F(Q3+p8I$pN6@;uH-V!lZY`sTE0Ks8QxGZ4P!M_id$Apr(Ry% z=rZV3rkX2q|BcwhAHKgvduU{-xx`v9mJqkRm`=qdA3p;+m96FqjFhqHZOW!Eu0Zsb zqu^=`GQYHlCNEf?a}_i>S3zYDF|Q_L8ujjzTaiw-cxW#8!X0XVYfN3k$z{~>0>a`MNV#9r2T+F(hIyt zg6&26)LTfqMcj8Ilf4M@3JbSRBYtJ87(^KjzNb1k%A~iC5XG3gzSDM2?q{VWk*nJ+7?VY~-uY4~;eWnb&_e5T5(J+kMnv29TKNZ(L53x*{5}wWCqj437 zn~BV3t6}Z#!E8S3WZHBwKJ4cj`1KZHt{VH_SzwlxGl^Xira?&d=U(%)6xctPb22rJ zuZWSY(<TOkbHe2br*I8R+_J5q0aRO%l1$QzzXO_n3jHCq^OLYD( zK#v-*6l00oCGJ$FP3l}x7{V%aMHL^oXm)I zt7UkXcA2YQ!iJ@$Pq0|XyM)pRb0ouMam$V9+V{na3n6x|pA@&(e=T{a=0N7l@0MuEm&pJH>jc=4ZAbiOwE>Qjo9`|4zXLIv7s?hl z>R3**>!O`^Ag9?F*g=v$QeVnr?)*Lkv2J0@KD+~2rzQ?+bY$Ds!nw#Se>^oI8FqZH z+PRL$#)WxHkg`kKB_KEPGm+`ch90{vrX+p z@@)OnnbEKBu6qoUzTx0%K3dPOyNC|m>(?j?h|TOo*iWz@tLG;oHhJloB^h3X_$Cm8 zyNC4eBd|9)B4Kjp|L%b2dyDc&z!4BYI(L!CgH-cb3|3*gW-Jr_+^$C#!T&T@v!iu! z##mPRpWELfJGSvBsvd$k{%tq1#lQ-vMR13mXkG-|7HY1^FjiDu4we}hG=An~@H+3P zx$zdW&8#=aGRy_H%!tS9uxi~^V7FAWtz?hv;m(?M-dKEWI!1qo4}ZXUyX@|6v#G8+_%=;byCiKBg`B#tsrk{_V9g z3o^;A<$QJ!#XY;&UZHNS;RRqZ+sK*mI@@sVs|EaQ#5?r8lavV-v#p$M(T&kI*1W42 z%Rp?{*M;8Y@KcfFbR$^?lUrhpJ9#-bXwQ<{BxW4~a%VXi;!2Opytc*p zgFx=0CJU9h4U*yLm9strs=eQHkRy%Eiv#>?7m4n6d5_x;QC3$6Pp^xOjf7k4dYeU5 zq=V%xkGD;{34XtulWXt7D)1c)jM_HNmJU?^5~|s1fY?gd3+&h}g@O*p)8TY8z)3Zm zOyX+GF>A44;_PJ5-@p=L{5aCbY^+VP7;F|%y9G>tPX`odf&KpD{ z5VE1&WjtyZ;ZTQ2OIj}oyPbjcacNR+{!ZxQ(nHN3V}WZwF$p@0&SYb5l(@$L^ZQpP zy|n}Uez5!-;>nF8cAF1wt{-AM_Vu;y_95J!axU2j6ASHu(Z|l17FWy42kX^K{sm*S zMd$X3h?RbR*3eR4W1NKUM(^Ynni3^+>(bEmQgn0rn!@``~) zsXz`#$jpJ}CS#HNh?wvnk^M=Zmp;mc{YifZGn%w-H3{pH zgWbgZ;J1Gt!%lxd2{BS=CB=KC%t*&Y~Jrbr00&6j8P19M;r zQ*VqPE|7`j^UFNj<|g>sK_$#sqls95p|T<#$M=P@MPPRamvG~R)vREV^1BhukAh7a zQo=KlyNQxbTr|}NSu3Z9A2t#+@+`=Depo`Z7-EegYeleI z`CH2OJpyOCL!H#9Cv@T5GGn`g_~5}0V0R$7=+@!pgjk4|1?~=z+T_D6cToE~%t;JDcAA%abTR9j`*FlIuu73Ko8Q*sn{eBF_cZ7@zb&JAQFS3u`ozaY*bdHoU$-xY1+!5tbT^jph({mte ztc)x4tN@WUsp*?^#~vqRQm-R*3l3!rGVi=%Cs8Bbc_S07g~^ReQWaJ+YXiV-EwKDd zC*N!IzMxsgwhm9QMVZG4<6_y7u`AQ|L3SkG#f1eFISx)71&uY9Bd~pXazA+7Q7*2q z+6b&xYs#p4k06G#IC#T}aT0u%@_p!CvdL;TJ%3^d%}+-1ZITOyhoSR*tz8JHftuHjByUtJDzQEJgvv}0RJXl%N-N>G`o+<5{ zorRV4nVS0)tY?e-ztTbG8EUqNt>+~_!zJL(RC7ISJ^z&aa)3Ka&GoSLEFafw7tHZ& zjLSA7{5A}+o)tSr&>p~Z)NGGi&+r{r@*!h47bUaB=C+DmV8f%>_UDl+?v#3Ext%Ab3MP`_|c*-nCcWD%bjbuIr2oE^`1(Io#q;S4v- zO+@yD+X^aN0Z+IN*lrj7E@(=f8K)K~a&S?(R`S=*@ z@xPKW1y_0^KHpT~WG3Xczm`$q7%X0A6nC z%BCxjK%ZPEL^C~&17B!p5D*ehb^c<|x#WJeq0TjQih!^+X_{~ko zH~vsUWnK{C=OH%>mh5Q0!;A2iIC%miBrGHL?JsZd1MOKV=Lvg@89V*I-lXnf(4J*Z zVnSS`!9uJ01ZfXe7Zm*M7yF?u=tm_LVlfZr9Lu+?ej7&kCns5G{D;-GosTgmL8S1r zg2S7l56y1b&nG5NzH`Co{o1T-Y2U zHue?o2X}z?TM3Vu%HtnXg!g&9G1q~&%E8kxvHUzFa&PV5rU2IC?=qgiT^OP@Yr^+j z0IgZ=AX+8C@hsxGUYi_r){8LLlrY&1=egG+a{Oc$G`kZ~R@tGl{G{L@dBZfxq4X3-C_~ z(Q44Mh2+;$gc)#mS}HLAbuqQBKk+k>UG&J4KV5)b^m->#mNaKfC^r{7m$}-oc`{@c z|3kQ*t`PgOZ3lY$cmu{3SJi{qztmSo&~DrtKY7Xy(5p={sz!kr_xxhJ zlv4$3_rNY?vy3UYE)DT%g;#7e`?WtE)uPD-zsB@tV+Z3B+Fi_MJwU9 z$(S0gH@IgMTd`ZcKP!e6yIsb#SBH`K&%;$(OSdjL4_0c2j4ixM3yB=w4~o7ByWX8L zu1y~=k>bBtov``BIE*u0eFR+sTCHpIVpJxb+Il zY@W+cI|^~=9yyh~&Bl6ci94P^?8Ih$eahUcWHL)hd6`&m!X~?(PlX;M`{c|gyBx?p z&R89KlTmZ`!Kv1MIo}g^3y}D2_=Q&v!@mE3jLp2(%`Gif*ZESCz4AR#L6nT-6>wqI z{+QpJy7yK-_`M`07cS^9!YN+e!m2E*Mth%zm3z=Zg{wf4mgD0eV`Nr4?u*zBvwFxu zO^7F1NO2Yl*>|*`cm04DAtpPBqXkywVVOWnRwsJH^{|ttX@t3F60uA}M$|qG*6@gv zXw^3S+)QLtJ0Gyzfl)o`U}_~;xp_#$^kLW{dQak*oX1Y+aO)~opR>?+<29&mJPynd zsax;hkbvNj?&Ose6L}|qb%lUeTI@dAk(GhDaG&f1P8KOQ;?r0A#GM4MlcJ`RppEoE zAcYXw>zogLP@QbVdS21Bx+nbKIA$? zji*#>qn4@(k^1$;A;&@L(o-;@^$dW;3ANI)pH-fi?4hd0oyFskcZreO~74G*5Ly&V-Od z;GJhITV&bMdM{*)GUZ&h8gc6{#_Za3#cg0_$(h9UFs78BiHz^4#jW>%f6rDiC37t6 z5(z&Sv48`vAKVWXFvr0S@`;1S(hO0#wHJ|eeK`|-Pcm0dv{-!N&CG_S1}en?5-M^LtlCCVMbJs}_^@ z`ewiFAa8*?)x+|7H*0wSslm#o+lLxs!!O9N4Mn)cx6a;nedn!qpI&e~ytDAgk4f*FffC z85{h+58E{g;dUA_u@Jb=JWF$>eL_PVk8iS{br!;{)a9l9z%8TVY6R{4TqG7)cYV|$ zu$|AUxaU^mOTQzgim7+9em|41Vmy}qbs zBFu1kJ3TDWzb}2()zdRPYg`5D9V@7~o}J;9uhgP3NJSM@;0z=C-ea}4XG6#T=j_yh z?R~waDDnu~4RSgeS9{kZFG765LA2_9B3VstMDXrgemw}hYIYuJ^6yz* zlj=ojz%fz9E*)D^`rhp#wz z%;Y8a9Adt|_rvig!1p&Qp^u!h9sux+W0~6i=`!EC-LhoamcoFDt;dCFL)}Evrvch)&y*Y#4rmZLGYd*Po9q4c4bl-L! zl|AFsuaAJ<0;jj}@#wo9mqvbZ3QoJvf)P6)Ds1Uu(t1r{{UMR8 zWQ*ePBFLe%axpE@dY{&<+B?@*E2fHbTNY#|^;yoMWT;p5X7T;nwiBk~i2Q#46lH+? zJ_^2X8=tmL`P=xi78$qv2tQ-v$-BV!W$}GlwPp=~2!3n}{ZZhzX7PPn`LPVF2>zX^ z3m*c%4U11S(UaqUVAhapz;DaqxAkt#GIJv2Z}8>l0^s|x`0dyZj+c+c_=dDxUt;OC)R)Io~gZ^ND?*T_Dq;nt-r4IU9hSh>^zd8C7XLmTuvU#4A-|z+z*+P zjwMW!Ax38-IeAgG3>(>@X}9TZnNB5CGc!5Ntvkr>cZlDPlU_v1cU?RaOF(WOvOBEo z8+;jbwQ~tiWZa9*W9q*q`XW&mB~fI=i$vS~^i6j_wEdon8m%Ka6!xP}+%X9DesmB2 z!258T)Rn1Isz*v(9WdEYJpZ4u??1gmtXQC#2^RJI@}n| zD%=pEIsbmJlg?vzInSdzgd?N6oq>7mVJF7vtRum*u!41d-9gqzxj{`Y!TJbxFiEFa zc3CPv5jkzF(c*Vn8`4ujBn4MSfj4XrNnibHZ3;-*%f%I$Ekh(-(*CDIP^-{eLG+|$%NcpKPA;_jEiSBJmno}EQWdQ&d56ui-x(l z^kSlw6{_*u4djID^M}R<5Os&UsIfwQ0Fq0H`DZchHWr~~3iAV41&n3ZpN}D0>+ePt zYbCMz%y*B6o`U+!0cy4;np>-o^*gL(l^tN8-*=JOrN`VFh2`BR)wpyP^6mo_#L|x# zc%{YI@2zNe6WD{4Y+^Bt@fI_AbV87IxVKOd()f3S;fWfuK%k2IDO*irM~8Hg5# zD2Sen-WKVj_kuQkAR{KQ9v0`95%Ko3mwZES7JaB7YAzdoE)t1XN~}v?G#~2XYPdUI z-Nmv3`{vI~^CDv_If(H_agjfE8rLB)ECWvChB<}sHD>KSQ!GEk#cRQBGYjIN%t2g!6Uy@;uGh9WD zPB5{`^Z2zGsp-0W=PIq~GCH^>_7y{Z9%5xHFY?*}R$+vLmq42Bv$y6VMz&(jNylMi zM=FV0#)w~1Bo14ezUDM|&R9Fw9B(s{-5Vnu;U^+<`Lln}MX1kYju(~#LQmk>uwBC8&;>KVU3jag7V6R%pPnzT)ipyDGw86_O(>mTy95jL110*IHdFJ+c7|qEg zG_637TW1iTHM7HrMDSTt97J(d^jN+twc#JMo8DAA&1ROmhKG1dfg%0-1cr5u2n=8t z0$xe6NNCv43uqnjG$lJYBqFeTU>F0;Zw(Mz`|b03+D-1$60-REW$eyE;TvC_gt?t= z=O(a^^mxY?qkSE^l)eD;nS-WhUIY3|bFPdTV=<2rHJh0A`KaO_r(qv9PsNnr9vbT! zD!;UdPdTwVj(X_NWn^}8k$bfuJHLgsC+vfr-xo@vNKHcI%zkY-?JhXqLA4l2Ltf@# zB)6Q1UB4F4BO7Aq1%&9|H9SJnN9surMZINQys(HC)1|rdy!V1GeObbdj%?dnG#TsF zcEIn)Y*?*dImzT^nn-D}jxA&BRX7Es{I!#5&__NES;y~Qk_WPWQ^NK9%qC9${xHn! zw@#+{Y0d0|at|MYv?dv+YHU^n*!eEJ79JT?oOgWN!(r#dpluP zm7&FOD_{{21H&SMgM$4@*x5IQ5WCQ12)1ZX}jndExVcG-tI$!DY7~;`R*4NRMy4 zzYuofOXWGnIl8$AZyUM6Rfo}sNIQcN(MyzHvCv04}KuVy5YYgYeLdb8M@kCo{-sViryC6OnABrO}OxUWE9wlNfAbE?VAM#qui+y9XVF zjKD8WUVp8|&?1Nr>hv!J;&La^Vz4H}v9>zAM6A;3M&{lm$l3o&iQ$qzx!r3p*@DU2 zJz^~~a_aQas=kTfaaSO0=EQPq5>{j7(|%t*)L5-V$n0gqJ>E!m^2V^{N1#UYH-t=& z-84*v2>ymX53CGP0pt-+(ql?1q!ht#@@e!5;Qx;DwF7u=KH>?R_n34a zx<0N(`6Tf278!YAzM^|bP5Oq^nvyRVZHP6;J7z#n-}Df+8%9Q8YvGI|Fam!#_+bXU z!5D7~GmJ`r7l-U0&`Q`BARhXUW=&}a}T-N!W=y zmW{m`H6RPB5C6o!f@%J^*8mbNWNcl33nJmaa5mcja@$@%BttRqEB}=Cguc#2H^v)@ z&nYoQy$s_dJ$cYaVy7|rzXZ|4b$epAw_{68>fY4fTnK4zr!$+EL*V_9J3v>&n?;kwqv`- zR~Vy&&Iw{WZr(I!!&vOVzrsd_q7=8vy=oE7m~eY*HfY99_E$J9n6S0d4mn*fdbs6S zC-NP;O8E|}F^06Z6=y%NUh}v5mw5y+_iprC=tA-EI*BOX<1*;R9`+Z+>#SCR^&@`B zoE(^!e9nh_#a@lCU=IYZc4ArJ2Db)Xf!KE+`USRe@vLMEw|B>){-w36oP(%;zk?n= zTxT&v(J+sMS>`AfoLh1vd$#3I%O1#i9B{Hh@9o=uji=7J$w-`C|74Aeko!)QlPy$g z!S)E-Z^s7z?-t}{licaT?GU#1d)Pic1#ABxgC9ryg1GFkAChP5zF=^cFZqH)j4vo9 zxaQV;>}AQ*1Ap2DFH0sfz5%ST&PHBNV+0GldWd~PYW&1Z_=dw8-yqTxVDUEwVqmUy1f-u8qa^)57nSfcge}te>z|I9vH1p1eGrCmyHwe^utbU^Zmu-&0 zDf>wU)55yu%Wd_rXv6SBN+CoWr{qj}!x$1?A~VgHuKnHWaR%txX`C)N-orW%^)0_} zCwTrdt}pPGlnG}KYT0+mi_$>L&dTW?*0PMrmCu2eol`IcY8et=g)V-B_IEljXS%dZ zq{K*;X2pM&yHIa`K~A^3F+p>SX;xV3i9FD(i!Q2UZ@VE`<48|(y||9#$QjCa?ZS3J zJ;fzCT^q}9Pmr;0IW1rhWNI(Vxi-?gUuTIDE;q8bf6jJ}_D8zn;OotC@#Kh_<*vA8 zZi7Ux{m1Vug1d=V9Zd2zvyP!y{5)he^?U328(=lA$#`0&4ZJ=X^G(si+8+h0ktSnm z6gTk8iRe=Q@oR3ux=oic9jAYc;pLVTiT|4S3OfZA4jE3W*b`@@PGwQ`g_%&{a9v4+ zZjoZodXX`1xo8tzuQxEZX#b0h_E*J63Lx6fMEL?UEl93s==nLcuX&b}ZH#f9FALHz ztS3|cza8kC+}TR5(A@=AEj0b6`6y_1j)N=q+zjgia#W|gXINX+ueifQ)chM&;)_U^ivp4z7%6%koyFJ!}=jRH9xqIQpt^XyqYj>9+? zDyWuN7L<3Ku@`SmJ)0kenB$&ocI(NQ0N$02 zeZhO5j=Tn6P)6emY-3p}!21Q*`rb6Ob1r1~o>hK9lp)qY9!vGK4h;9Mng{ZiRnlo- z2K!{OGk~2WY(6)AKb$0#bNd1<;kid1S@VT6>!iWCT6vtTt^V9A5Ifn6`MPEXd_e{F z7qHcz{|k`)<>zHu(~iFt8DF3`CkQ*u!1`ED82lW!yC%W;ea&n+?5`S$m7 zmuP3BN)94vawa$jg{|@y8JAAODu2F&sGwIsO&b!*MZ)iUH z@m=_aDw^NGR(BEKu)EiR)9?*dHNQciy+>m8Kj(E!hiZZs)ZgF8q3O!#C8>`Udt= z;Qt0ByLRV`jTgc5*JOT!r)~evo{_X)MJ>k{XeQXWWybE_n>!CqhWlc*6-3c-K9-YM zpBtVGd*wPn4(-#I-k%kCPX&vtd>6-EgvhF{oJm%>6lbsvHw(Lufauny$?+GVt9?B+ zSzs0hI|bRWwKl!QT3^l;cpC*9k2NpK421c=Lp+lb*kTLJM6KVI;lp|P&y&j0M|D(n{RPzHFg59_>)>^;cV*-jBfuB z#*p*QG?t-WSyX%kBI;%sU7&5oUJWYnPCEuQC2wNv1gk~TD7fI39kF4rmEFG!=KU>< zPcPy!2A+T35qg)Gze@vpb2XhD5(w5h#IB4#lt8-yyp7QXk3D9~_Xj2t%0(~ShuMd{w(%PCIY zIsYi+CcITtFrcL<6aQL5awA_YJ$V)QJ}N#eCE_DX?B`Fs@cm#6RE2c>j1|=`I-WwrYBUNub#y=&l^gd@o!wr3k77 z+RN!A`)!J5h|E97NY%~!2|Z3g)lCPWhV_;Lf=RE%zM-UZui%bt$SJb_u0t0g-_sFc zGaF>^OO0rD$n1oK2um`k!+`x@N#3R8L46}aC2ya0Qi5rWMOZ~M8iB4T zlLrxKXN)Vwi;D^nZ#gx(C<|6|7bRPy#K;_1+m}%cbNrq=RiM1ssr9GkF*JAE)kTiz z5f<1rz}}EHAzmV>CuS=(ZY@JR^^D*n2f$NzbN>Qznnv!VvadsPuP-cv{=7}U4>IWf zZhVMU^a&OVT#sS4bm0C5Y{&QIy!#no%>&SH@bnDSAM$J>%s`+U9WLW)Du58_PoMas z2&4~k<3rk0tMwbV{vo@rxBP3-dr{qSI@`nwk=>lwI1^;=;YKH?*HJL`BN;ALgzQac z=B7i;7VJ(>Fp$;Au^36Mj!-_bNBDmFe>vdU`?&Zzn>o&?hk_|l`i7j=jx4Nm06cq$ zi%WWCLr@{OvlPN^RI^P!utVM0Vyok^^Of@Jm!5|4?ki*K<3MhmuxJL0q!Q-uECQMP zxpBpgHx^k;N;vWmPKCo*Y)P+=Yunm`+IIEU((537xZ4+qopDTh@9B%PLHY<5TdefR zj-^G%wYOl$(%ba#x=rexVNu$R>ZuEAd>4;s;F86o`tg^vw zbg`=pv#WzbyYGPc9wK9tcQhO`Y zyg!t&Z5GfqvEz+dwX%&~xe8WoD2q+n$5?!Q7~*s5IwF0;xX<>2^pgAwtl}dGO!_qG z$6X-(Fcw>Ay#(gZpE2Lq2h!`@zQFTye{{ofT45i_VvCg?@n|OB3Wea&^sX<6A_)q^ zSgm70?lp(qr~K0R%^kQ;8Ra4itTe!Cfo=}!nF&7Bpd^+eEcXgSY}?w=d3(UNMZ1%Y zrYM83w*xSHK5}54GhokST4d%0h1t{ztJ3a)O^tVBdwO58 zVMV#CVAn>ukp=Ec5RWq}5ulHlUUX>AO6Wya2-Uu!=4KAc>QmNALE zBp_$C72~ENlE&`auoEO5qoA^z<%?kYRedQDm}3=85(&pa^q@0+{U}wvAUw| zr!%wRjOr72HhH{_*f()I5@g;3!mHD4%VamY*qs5k+rPSV%1IdYDQ;}B`i^xI_M#!N5yN_zj+Dbv`^j00;6IiW1jHpbB7=@o$ki z{T{nP;?La30wYsoU0wE`^ayl&hKy^^n2XhIta|PJnPHEhdTpkQEjn+Dc(8|+0#1S- zpXH*G`xB(gw4~G95_GYoWyN^baXYsiMIyDvVK3c*)Arf!d`MZ7e!s#_evyd$%z(BB zAtImSMh6d~nXnhK)BbG6#8Y5X=DP7U5_$Y&B)>3zL-$m$r1RX!np*;XHllN%SP$O^ zo%@`@mZI2?*K_L}!r$BR=3d}`!QyKebY4F8R!-3JUAy4@kNH}Bqb`=LJeKnF&jYf1 z*uHn&G0?sRZr_n$6-Y+3uV#GML(sl2-N@s$Hl#wNUh8)zAEf?D&K942K%{fm(;%{Ns$={k->YjU?zTv{=O@^|7r;sag!Qxe!+$i`~1O z@nf}IxOe-5>I>j%N6D=Rf%k5)-PlcAw`|b1CD=CzWMjEK zg>*Or9hH`qP=&@yNPZ)B$y;j9)TbwRot7mwX+7Ds%ESK|$u1z zTpb`{tGnHaItn|VUn!g180sDDKS&B3(6zVd-YMAqf)z);xC!?QR^W81;2O^&a9eQf zO~8PMy{^NXfGah=!DzK6Fk1-le+4oRtB2J;3vb;1rtuZvPOLVwxVM)OEAxHhRVi@h zyo&i9l8rpuAnG&$xpVNz%Of)&r};bn1?;8BKM%-mB&yDo-Jp@HaXLvkdDC{Vi~->P z1|&lFn(lWLG;)o`H;C29c8CS`sq$OVd*mzrV19*UrO)CKLs1fMF@}ZL4`CH%{TEI? z3Yxi={XHTz6PcF{mA*a*JE#A_7m!9gv9U&-L~8U)DK6yJ3GB?cS{;d=8ULwZdm<}{ zd8i?i8qnRuUut?OqVvu>#(rEUWEXhHbt<;#noexg2N>Qs2;T8;1=|x9rP!V(X|4+^}dt!ZIQrB3y`~*n7K~5*WMkCPWA8kbHBlqUrgPrWpvHjZL?P{Hd{lq32Q*2HGtDfvq6hrT8Z+23nBiptvMWIDVn;UpM6{Owb;tHl> zCzOMA1CGE7-s+?dH;~JsWYz*+3w&u45Tk36ycW<$@+{;`t~NQ*BuTfF^;~aOe;SZ*^5s&cIhB!(@qz+6fExu zW7>2y^8@M+b~&k0249cFJ;>}fU*vlob_2T=>?c^f+~bW&Ui^8Fov@DfsOY5(IzJnc zd}ot;M?mtuayIcurJ5~nI@aT}#=u7zu&VYs>2??FEo@aG66dEMy9&(xN+#>dj1W14 zJ0#o!<^d&Bob^EBtB7VR9z*Uh(ZP%s8r@(%_rmYKJHT!vIf&#vmoWw%^$3g!<+U4F z7qPIdUFZuz2OU)KKURTn$Y7DwkkAJY!7?9mFioD=pCNgZFQkbNp;jc>!F`g2%00%2 zN0{-<#gj0zhh5xKj1xB%$qkI_RWlFn{2XyoMM&H7s0Ha za8R{3AiT4R-8%Sl=TAGJwkt(Rl!%egk7OSHbCVHS$KE`c30Z|y6`54Pi)AA@#_-H@ zXW;Drq>OEjiV_@~W8=MSq1Oo*?^8}PZ5Aup%#sh$E!GoP+~bYd$B{$4lE6Nmb|bTu znwN|DgJ}z`JHc+8ad5|a!fqh3%->z==R;g^7Pvj6UI9VU!1hvWaj^^%SL|IVr9xbB z&dv;tH<-f1dovt7zr{diwZ+b(X|E9Cc{?%EXcMJF*bBp3y6-pzua#Y})96AKCLLlU zY8|L>8|>jl8IRm*U?91*74haTHrq|lS})0oWXrCL6E&{bO}k2k*H42zy6jG6i_5P+ zh*y8#@LVpe&MOLXLZnDfhuOiwnZ5_W4qipLY>~NV81d}Cy}sxoc=l@!vc14FRu{vX zVE%DNsIS~OcNwT@4k~FLmq1!6u}v>G70cW=S}`~Wd~CWK6&m+N3G?r55X+QTWzR#f zOc{2zMsWuBtRm~S;l4pB5QSg2(_#!JgM}0gYYZ?i6}$aWFbAV`=iBZ|5`h)GzXQbZa^cvH?BC2UL) zuT#_DMPG@|lM^k*(HhH@Uw05I@$=5&$6zJ$YZ9VYV09rTQM-cmsB+4`f7*P>EYg zOnak8KV5vhRh0wVm(%JrAU)R zUYsCt5^IwAM;tlj@BNaVzL`_3qQetv+S>r`F-Njpb=tq12fNE>%F#>+)oL=|+K)Z( z%Z=;-uI_#QGR$@vHCbc3#Vs+i+p6<^z2k7pG|dMr?N6kb(4#)e15q$(y&5 zo`N;IAJpP7=yydW+gs!-f!MzDQr8W;Vc+?jlKYgbS(gfZ>FXYqRP?7~&1&3umUfPP zUPTvt^B=Kh&)u4I1ZKOkn(Sd~cEz_beXXd9iu<&zS)2KTX%D!nEWXFBS%VS7Zi6*@ zLG=Y9tyybipZZts#hncax0;>HHe~#^6NwVuSluWIV(b@7XmEFp9rE&8Pb{uKIw$xp zFsr+mV&CUMM)muEPT4Sd?Q5NpYZ@xn4ISZwcK`N4L`_|`5VmfS!TJFiI8_4o84hhb-0$Hf-CGesi%VWTtY zTgY`?)MyQZ%&$qvN?o!gkKSUg=VFT84I|9y*YDC-bL+d9VrLZbcozd6WIzu8B?nVn z4-m{2ozG38Ife#yn$2Lfx3Dne!lO1$HZ?QMtkoK9=MU!&ykzP-B+iU=GSA#|*ng6eamF&-UgKu(g}i!G6;<3AV>-R_{v_I?rUQMk~LDn+$#x*DO%1L_Yk80=1MAa zkhz(NZ~25FeP+sw3?Y*+NN$0?Vj)fw^ZaCl+FT^D6k?cYqz< zRnjgC;~rxq%9zxw^A3nIS~`f~!D2lTc3qB29}$MSik9sR~~`&YwIG8Hdu_&tjl@aOr%2e z&u)iL!I`F?lSy_Q0X-N(@~;s@dm_4}?gZ^==OAjh6n-9(-MM)w{XArM+B^iAKNf-Y1Y*>rX>7XP>-tJd<$gd?zOJC%GvY2{eF za${%or&=Z-2Yr55PGyx2@ym($w#FAee+U-1vz*9I>g2+lXUDwx`3S=>5=tetAhzf1*-(M`eCEX(4S7t`Ik zIpdN+cm3sDR$&%55j(eARBgd|IJXOM5uYqQ%T34j7z-|h-T?~{D5Gm9Xt`$>iTA(w z;OsGo_k(0q&BP_YtcaDku|~>+_0!!!1)|VA8xl`c>)ZMw#1lQ_ObvI-JGz)gZK#{P zA2cdh&U}($9_~@b?k#+BXI(1n)O)(oHMUgzWMr(vmo_g3Z{JHrF8v6cd(@Gv@wMOo z+YWhx-fFt$Av8A`iROMUpOOP3-p7rs5uWppIFeocV@tn#;2lELWQ{{uZi$hx9yw>h zaTx1RHJA8&5?eAtXKpg$^-uI{oe#YS`l`vIE5?xBQ2(@wwC7SkHJe7W0_8?#`e^O| z`u=v9nk{fYhDGoX^%oLhO^0J#iR`k4Rbpbfzpb^Ny9Ig{p{9%76C%E9^*i1)r_f(c zW~VXuS2My4_j@i4{Kfz|^GV94`00ohiw=^mfE9aRMb|8x;wK}1qiVvQ9MG|WD)Q6u z8~N8eC4!C(Qqw)|H?B{cPG1-p>_+yq-(*f$#FJa+j2zfVHuF(+=~U065K4(5{-#EFpAc5K>3kTs@+t631o zEi0DS`Z&BP9pB+{Cc7k#n~Cj_UzuNi7sNV77xO7*UB=cLa~QHNBV=^JSr;VE`KwCS z9>_(Elu@VRmr#(71;n zrAfxqbTa%@M9P~LESEt_a|xCC92Y+inah=LPk9Vd#yfbW7US_#ksWv8h0Pg|ksalr zYL?>(A-=x(ha4bU97Ij0%}+#DX00WAkHX5d+KHu>0CKNP9f5!JR77qav$iwKEEAwcB+F4g?z&89TK6;TlC9ah!>_gxPl`T zBofQZZCVK9`zav?`nx*WwH4RN4jJDmZ!g{f<2&6+E&XyQ|GXm7dIcqqznQl~x<<9uW7~xLuY~BmpS?*k6{i?A0J)7QW zavFU1Yz5b|)+y_Sv)4hN<|vp#D>jiRrLT9jWRP@j2~}`4BQmR@em{`86UaZh$R;DXD=zk|0lO91<=btUu)cnBk)LF^xuwR=9o~%lemg|6 zKReiAq5b>X+w_adU0|K8+HM_l4?0=>;zpICj8?tH7-ux;nAf_w^$hVJTUN%Wfd5#o z_yT*^W_DtXmyDfNj-2pe8pI^OD#&r->i!Wc+9dY#%MfL*P%zE$!tNv?v6olb>RBM? zN;#9=_K;tj5jk6bv?B%N{7ugEaIN&v&|gyF9C($SNo%F`=4hRsyz47!C1KT#1D`v0 z4E*EoZgj^DDJGs*m$B-`^f;dzu!>f@(an}9=EKU|WW-vRUGq*RSnD-zWUGPMfSg;$ zuyg-G{}i2o`Tj#imULE=w**;yPtNz{l&nWE-)q%$@}f9-{mC{iUQ`Yk>jQM+u=NT= zCI3^?OHp+ZGv4;@@VuO;_-q_!oe8X1xHw@Q}Hjw0p!Fhfamk`TpLd81{SRUf=_gO{Y z`?kry!M-t-%&f*@+_R7ER)&rK>@-C2+vQ}D`6eW%*wirhB;0!6p<+VcNzaKD@n1rg%+If&&STcg!kuy_a5bh-i=i;rJ!B-&3M zyEOyWej-ZtbhJNn($_^W>PalRu(glby_tV}{19Y6h|@(z`-sNHzUxx}vL8~@OG{;N z&pQ@zE&gZj6^OW!)%19eMqEgx)$_k^y8|aoht*%Ak=o$4ILMmwdf-Rj3p`@y_6i*2 zEOFIHq4AGB5@SWIZutOWtfOvZs2X$zS?qQ!+|nc3H{j*1H$nT3q2Hi!t&n>J+9K9| zUH+qdu=dAMy5{9Vem)}ou=S=hApHrHFR}^(lYaFS%UO^<1*Lob%>LN+WO`RB)s4>% zb$NBp57GO2xi4M@y+7&31xNdI^#0kOJ~;<7e+vBuPwV~5JIY^%nLmxvJ+JpQR#i<0 z>Cd2iPwRbe>)BM0{wzuttM}OHU*&>-PQ&TnITv5MjU>0N!8!)LVCY3V2Ay|N^*WQ# zzI@28vR(fPv@Y_3j0#VJYc%WUmKNK)zubL!3PiFOWn2%u4vU=Q-z#WA-+jL%BMUt9 zLvm-k&NaFZbWXVy>$rsJ6>@SHG&mhn~m)V6YDlP0z1O1E}|no75XkL z5}$R=nsFX9>6)BeT01^|9Y!M3^SdX|H)_&Uq4jsxvrqo%&*v-FH%bwxTMZQIQ_VxWP9W_ zN~|KLdDAHeLH0}~-(b?y16E=6*NtONb*>f`dEmNHvO z*18zR&BZDjUmZD>c4o>^ay1K|cr7Uwebjq+^bABFxh^gV_jeK|cTZB6~Ysv$BN{<>e`e9?E7T);sFN9oj1=U&;6Q{8rz6fZq1L<>H$4HXrsj zo_n;h=(0obHhOd5wvq}igON7m)nzPa|K@J%Rqz#eTvQL`YOzzAa#_OdgyOOmVfT7&W_BK@w0471YrhMuT^DG3x!Vzexq^Jr$LxvnZWHELC21 zwF2;hMJ}pm^6v0{gy_4d>1tk3RPFxP1tsj|WQjQ;R-6-L#!X9}kuMrxJbm zUh}0L)gGzXo{v6ale{iM^zm3p78-qEQBT3FFI76CAah~4ZqaLetBfj-?Wq4vnqONTN+*~+77WPO&dPS z>_P^-EQ>AaqDjj_1KHz{6IN0IPTIpT%q#a;U^hpTFKoC3)xzam-=lf)ns*GaOn2b5 z@>d}iEN^EzT8P+tBN$?%vV!I3z+Moi0R;Gq%z`uh5sS zw2E?Oq{)XKtTDjcV~u3jw~S7`1eu!WYycAk0C{);<7c6$O)-hT>l}SWQ4o-JLMDRpm^9 zc}C1y&iu961+bPc$eCa$dd6GKBMf?*krYD7EG4N-5LO%Dhj@-L7Y^@gOTMR?`g@+( zX!EXVKP-#?>CMcJX=1s@0NWW=FOzWzc1AVjWFzeqCCaiR>+z$^+UbxNuBD(_C7n$&nxN~k zP1MaMEIXNVxj`!IjcTjtq!?FhbrKRoeQ5oYW`*m>*>Sp&21o3~7dToTGlj?rPrJ2ivSEZ@k~1M^ zrWGpj&n=Q8Jeh6W4ZEQRax$g*M2f2L#&qiNyUXay6E7oNad}{j>@&qo?-Mn2Clkx* z$#t}?bMM_S%dfbT*$E}?S;k_D>9ebzfS96@oD93(|EHMZ=E;{ILQLVM{+_2AQ+#b* zT?8>jTefvu5mpeOWUln;97JGO=vN@z38p2A=Xw zJJWF?#TexS-69070*qUu_L{T6eM`x;+6b7HzTuV^+4l{dc>4&4blhwtDv`Dq(#+A@zzzr|O@1ND&R0)=J-ksQu~mqzY{)6!N7BGk4-lXfpr39-WN zb7R@L;AP*_w?4gHbaJzdxrq3!BvJzqv|`l`u+ly*ramr8B3JeeV-5NQn=VqI%*ZN^ z-f-#+)XDkE`0S?2BG%B7z)o4PhFU9$5)oUJl|(eFV_x`0(5yD@RLKgrMul}}!2Hpz z7uM1oY+Dyy=o?JfYvqrgIeHUj)=$P1nB7LQFB`i)lL210or?%wf%)Jxw>BZ`$LCVb zY^W7#uVRLGWhfK(s>SBh`?J_9AZZ6BHPD{{<(3r5DsJldJgtuIsAPt94G9oMMaFmV zi1v?Qd^@SA;>H(?X=V*Sd=+Avca>DVF@CtX?lFk8>q46x0&CnE<4Oio3^|2l3^uo3 zVY!FK#sAXWLl=zC3aI$WNd7Rnv*|44F5gp;i7z7c6((_PWYmA|+b;`7y{n2%{1AQ2 zz((2`2pe_82Yy#=b1_7+-IRQ1U5POJg`N7J>oheH{E|O|EpVM7lCN4n|2#+@fYXK9 zGpvSt)%>ZnhC2{v3$$z4xDTp)^a_l75Q8pm+_5e$tsf-kKo^(pYB~u;%;QQ^dR}jW zS=iSq?xyeS_E3F+F~%Tnw~DOwzgzCS25UVS<30royQG;Ht)uFR@x@s=B!~ZC?Na(a zO)n)``*ALQ+m4)#e$n~fRp^`1TS>M@prt7r_ZMJ0*z&paX$@H)^%q!}$|i)nGH_}E z?3_bXT#>JkV)5a|1pyZzJ`7cInOjNj6^*Q{B`>{}2rH|vib)PV#m_MkpN?C)^&0H! z`YHLbI_4DfN{#gc`6FQLIp_xxrlOKZR-g&-Xi`)zTzaeuqKEg2Y&fw9$G#&W@(DhJ zcQmm4)QR5)6~G)sD8E8re+GX?tN%k4+hP!PuLe7X^n2g-5KbY7DyihXJxL#HBpvxAJ$;le!9)t; znA=BQ`LTV>`)@8d4K+uS>Pu`o8@UW>C4a1x0XH4VYrfj^AnlDaOi8DCW3hK4u^eOC zm;2~Va-EB=(HMePUTm$Et6!K1Yc0}6ga_41j-Ko}8d3U=&G(cwb7<#Nz3K}}FVyFi zAKSOiyt|*?J&sb-ODohDV(GFU$5TsZP|;P(PLQX;&ZKJhs8Rs8G^1T#An+6n>-hRO zDB}^t88I%RE5;yus3eXz+1`oZC<* zZ^X#V1PQm6BYWjTHI^QQN~jSCnVFR0ml=s8CKPm}HJl?6vPMdZpN-UyOufDTB8+z| z#uhi;h!>gBpxr~rhQ%RdU2LpKJwwio#{IjVzU5+K(LE~rnQ4Dyf$U}mU7)@pyY{K| zi)eqZcm`dl&LLwTwPMv_h+amq_`=2>^X7r$njHpjZeh^v2R@>_Io3(|kFN9fK__7= z>kCLxTP%6gh+*Kl*F820-z}Vd2u8ui_=YH&lod7#$X>e3ir~EvO(!tEz~%5@FD2|t z5c@k|U#&FgGCNx9OSC?Mdq%Jr@64(-*{~|cAYUO?C$Y-C2C)w>K_+i3Mi;D)nDmJ~ ztKS3Z$02;dx`>=fC1qMJKqhTGLidawVi}G6E zXBNAKwRq0;{g4TqsvC z(6V6TUTOC4w_x07G3Wxv9XWHD)4KXy@X)hyx@b#-d_nu@c6;Cp=HOqT9V&6#I;=PO z5c~h*gm3a7Z#G}`1)3X3?)k_3{iCu2?*Ms$lKd2^TNVao zABI)CNnlQzX%b|H!7wls!Xs` z_bb28dPxk$Mm82ITebjV{6s$nTJ^P@TyLuY$qO zf^&7}AHrGiBIWl8tUtl_>hV=h-vSHpy^`u7?}tUd-`4sd8DhZ2$QKCpdPwemW0P6* zeTpBHY!93OW4o=cn*#5^Zfl8)o?!CC`4kd)Up@B*jl7rQY-ae$>+3PO-!c804010+ z+03Ay-`65D{=(FYham3$5oK!x{rq%f)SsOlnh(1E6HXU5>PQAdrm+yz1)};LQ@{x9gzZ~U1nZe`!4kXUZt1~JePECGge}|UY zulEuJk63r_&7Ud4U8b`BQD}fmn2G?OFgT-RD2<-umoyDJ9 zc;q0Q4gcmw9%Xwdj91$kC)| z&Y{+tV)M>3wu;juX5NB5%vuK=94Hlx4hWCV8i_DmmyaA$H|6L#jfEY-i|xxqE6DW?CjE3f!82P z{8z~y6yjeBoL_Qe)CZ>~J%CYPFQ<144i(Nua*>~;E~GE<{HI`tl!E47VTjc0HkUmH zQg2X@`v;YR7Bb=^_TM}O?2U4^f1hySY-CTcwa4Ropy!(u?9e`aOM!EbIl{huGn}40 zZC0{FN*i=;He$~w`p!%Rd%i`%4ja@rqBKS4rXza((U2DlAtv0apht)vbA+5fO;4k< zZE|uz57A^~h5dHC#%0j*?Fw>u*HX|zR@jZ1yE1{jL&+{}s`=T-h^MBc?1#DDDQA=R z^!5Nvm>)rOyxWQhdQW?of^2UGB$$rOx3zbpVi@z?3Od<(X`}ha9APip+b0{?dlc*e zr5QCL>|oy-=YhRf&h8aZno$$NzT33mDzNv-*`eKf3LkUCnpeu4@)$hHeg)esW6;__8DgyO)2sw@)c}Zpo3HW({-0WQbM|s_A~E!1-lIv~Kd-)vtlp9g@=_ky;9z zTXMw8wC#Bt6KNKs~ncIBT5Syxur(PCxhzT0rC+!xqq4Mo7DcQ#0V8YgQFJh$Z7P5dEK z7NkH8)EN!F*6{PrK9;TT{?W!f$kv~AeuFt)A`O2%oHPF+vPTYBmUB)jX{hK(E3&pG z+#`;yvf1N5z5%*+9^p#*NI|Cr82Q=%nbLrK0V79?>g$Za!gbvprh{I%Gt>@P+MCu) z#H7uOdG;_!o9199m}p6t=;#DF4f@4*^DZE#135fg@(&D)kb(oG0X~wzH|jAPvheXg zSHXs4xRV9GA%%_hzb{t31~OlFCkwnykNKxwKTkai{^^E_%pPjqwS+~!%L4NY!9QiH zs2an}t<{*cgEyVc1ZlHWT=pRIN{gL3P5!VS?Yy7upazGB_YVw{!UMyCyY|*lYHl_X z>wmxZ*~hSt&q3KD#~YJ;!?c}6u)E4d=>kU`@fPph@j46M;--Tg9^5@7IHbGXo@g2q z?r}$A--~mXXF%+m$Dj)xc|`ipzu8Ie@aHr50>>W7p>*$Jx(+#%TNs^fTDaFZrgI@d)}QB^fI43LI4b;J!VGZS#*9C`HDa^&=&#aXjm?KKFK(0m4_Z?`wh$^(77=l%uu0!UH29z^S7WZNTrt_VjZEys1{-HaWyghCi7f;??VLe~Kt@B8(wnfj6 zlORrg?&z>jgQH+0qeZ^^g1h=il zx;4LjzU)cphyP3kyRDU3J)@{DdsrumMpZt33{gcHj4Q>GW^2qAoBVPk_14Y5UUw8U z|5=o;ZEU$UAK_Q;5x)ocW!?GEW>j+kxcSK5H1V0S2VkF8&YdsNyJI`Vp!H*R0J%Iu zW?nGkpL0a!mEGcKpX>?=*GV0`k*Ll(X3&<9WbaU5G z0&Y8i=-}vV-yHDz)s=kORGXY7#p^6OadsFvBi~-R{B79b)KK!p@9$c9Iex>QClOxp zGtWd#f30z6`kG=*B|FM2kv@nF11Mt5XQU3f0ApSY<4RVu#b#hVkH)QYScY^#-yZah z!P-i`ma1`cu`2cEots>Rd|@3Wmqzzileb8Ji)i|-8SUwNPj!`aBkB1k>1|`Rk_r6M zBOdp)Z(iI99=D!~KUzDq#np3+o&|?WFGkFLJqzqX6XZ+S8(rQxz}DoTUuPG? zntT-@gZ!Rflb>F((T*ywvA)2=YqH+Tykc0BuQT|f*CZD4rhHj02_oL6jBn5iL%6j7 zSqZo9h24jh@CJkL8JmFJ@c%0Rof~k&zZv68o+LEk9TCh^Oe;4(32f7wtnVNVe;DB~ zzimP+!nCjQcY#*E#p0I|BJqv^<|!K5Dn9_NXwLWs&)7%otgZiwFLL3m?QP|kupfBm zo&!t=-X1n98FZk9l1jY+6cxgTP?Qc}dxN=Wy-va2;2kBuWZ1>!;;`C{?pIr8K29cOG`zhd9k z6HxioM#1eLPihERYRo^%h)12Qd;c_ORa*x)z@Rrr8M?s{J!5jYrA4R(rgtv_)lWec zsmqvkwuX(r0vgp$K^3V{*v!`b^5R{X+4c&m;F(2ENit_0qimoW=D?B$fJU?Jair?SQ6A88~9I%U#= zqhPB#E6JLw#Vax9`)<_wFB^Pc7bjQiF=B2>G2eHhLJ#_K<$DUEmMZhgiOp>G?F1Lr(&^n>$&cPGL6Ex4}}{<=uOP@*|72E*^i!qvYM9z+vy9}<+nCGK z4l}(Fw#a$Ly#J4zpQSy0dOO&GA^xEOfwb;Z@7cP)_rKh799C5yce2KT0k0LothIla zRyV*}hq#m3Nl|_+Luzmu?XFMXkqAY|;!fW&kNj(m=cq^S>m-|=#=ha&mHUq&!t1A? zid;{amuNpTj_yRm6jYHb3A0=^Kl6J4`-X4@)$|+yP3m#srJ78Xbd|7J}7y-<`@9m)~k2(bnH@4ZQ@>)<7j$Q?x)ePCdnn=s2m+^GU*8IyN* zMbmwd_X8D~eN4qW#~AfS&@$>5K2%Z#dSL9Xb^L#6$#BH7I%|7tS@b4m$a5G*V&QETiEOs4$LlXA2&2>_n+<-LNxo zqGWKVC(x9%6fJItjMO|?uNdfy0ntjn_^L`|_hh`;r3hv{M#&a0H{zMM{CSIJ^oG0G z!mBAU`}u#ooq1SP)f>lcGuPBiP0ck;%ND`ivP4A11rg9(s@pIOFbWLL3~pIwrIuDM zrDGRlzCbW z*rSIXRsDtov1NASgEfD1`uY8|=1#!2N<6jh0OlQ%eyf09xk`ZScy{xU>P8F{PBczK zJ$h5^*?H8XHwuh`1#1a0PNPO`(Gj3d6#u#}CQ~QMXfT3e2hIsog(V+Z_?=hBUn2`Y zMn~rd=Av^(mUiOKXYbG(FJpC7wf*KES=wgtr;^Chjss)xzNKB-sL2J=ytfeD%a*pG zDK?eZ;}P4-meyyOJ%=pq+kowDOFL`i#IwYH2eG|uX~&&yahukB0$_XF(l)u>E`u!X zyO4daEbW@Qb=0pgCxTJj8%sNUX5n74wC{ltNVc?~x8+u|RTrot@O~Lx&58}0{=_Xj z@UtHzx6f?KxF3{pCHmBMfS9t~o=n6^WkiEXiux0j3+DY2n@hRiWEZi2yd_TR2@A-_ z-u$^=66Ir4G)#l?yYOD3`rV5SH(aCo-G?q_a5r{LsdjP7B%?SXpvNC-_uEGrvMDBt zUMb^*C!+g`s#)i@Ke3Oj=2TCrVjxn&YmH_+e#P&5C^DL+VatsR(EW(!Pe0p8QuVQh z%KRd4k;P{U^!2Z|K20Tk{Y1lLIj^LBMb+S&HS>2;HTY8v(V^Zp!-0y=6LjZBAL?01 z)afNub^(1y-{3w0L%c~{*WkcOqRuF#1`J_PhL%M|J;7CcTIJAr*-Q@Pj!fdd=S!va-PzCri$WCC_2Dfj^!Hdfm@bKp!UwMo?{O5YU z%v<6>1=d-;;U3!S*?O))!Ay9)!5Q@Oi$C3_FRSM0xy*R9R@hzWc8Pb201rI#kKAmE z=f1#vK3sUW(RXDv{NK%_+0O-Z*>{SduBD<@mDCrS<{`ek`>BDB|1sjhEtE%niO2>Q z2#d-bsvOijlu<~PgRc;q?Rb52xn{jE6@7vFi%H*(+W358UN{{fNN-AGoG zw3{+Ow_Ee+<<8Q)S9;J5n!m;84amB%=ponQ~!2xxfD771jzj`X@?bU4^e*ln+KgAyvdmLvhpvg{b;{?aOs@U9Bq;Iy)e?Tb!%r_ zCms6()A>QVxQ>C`_{x?3H;Dcxq#G0lgz4yJt0A5GY2xkHQ3h9zijM+B z&z7Ef#@2buGCRA>+YwTrlv;Z~=tNDr;W7ysoP zqqSJi8O6P^N{brArIJ=8@<$=pDuGJ*qzhB>Nh&wsG0=U~k+P%`)sWs8u}M8mOmgQt z_#ZKg>LRKkRp`)J{YorZOAR+UEc`-_u=JzT>3Y*6lj(GNqZ?PAtfLb)zbmOn=+tSG zmT467h|d&wyWm?E|MkVn zJkq4CZgkebb$7h*?2$}|Zn>j=qrOeckFZEROGP!R;mLh2P>pIk;IeFndx4v%9;2>+ zZk2Yc@7M1@Y+H=9vvS04cq2u<<8`MyJBG=b)Cw80n$5mVSG)0dxwBae!%LcFtoG3B zi`6&8Q#`3g8!ar|NV^{Vx<(3V*KWY39FEQyrTHmvqU*ck=N)wFkgDao-o=r{McNf} z=ahO&`5wSET67uvU9@1K`VGKd#FnUC$W#6mTRn|DWtx_4kgST%7ctkQ6>TBrJ}uLr z93;#Ha<#Nwj~tS#{d%U-y_Yn(0+pEWY-y*d5_7s(1RP` zuSo2_L7gx|zG|g*N2GhOL*&gFRCj-TZh?9W;UN#M)VnRgR~?Su;?@4{3=cAURLL60 za~9$j8_YVO;p{Z3X&?4rN5`6^WxA-|cI8ZkD^zJY;z5qL#fc9MK%OsCJkTxX0!VIc{-0W%`r#(La1f+jBI zz<(@UH)=c0{K>br1PwH&yRW>FE)cNE3Y_7olFJsPM0h7L@_i`E|77q%+j{ zm8Tzt-85P~PGE&xgJQn$KA^7!cb2~Ze#9{~qVq%%P- zBh#KaOgn!A(v6GO!jcD~xF_qy=TH=RlfySCqzY?2ilZ)fKX8lUs9Ts{97LHD98Mdr zDL{A?z%DeKHF6*ALLnT5adA_a4`lGdrS|GqxJ8g}aC9KN2Pl(R+i}Sql7ZWhZWz`G z^HER4xBq>%flhz#Kz{M_Cq~C~!aD$}k9%fk9i;CU$~|2C;x~N(r>OCb+L=R7aI)TV zPH-o_3Lt}@HTs{el+E6UM^GF{8!dzIC{V@dkB`4BB5Qa*9EHJQv^X8;VN6`!A=1MK zxO90p)FDmixIg3uX~Kh$KT7It(;a{v=(VNR{tk@)kO5z@v!^}SP^8HssA;_Y=BCS( z)0H z9&G8onLzhmyV344>0TvF_j(MPx9%IYH?%V5%Zx#R=6&*czYMZ_RWRMlQQ)G9O_FHs zt3tZ>qri?Y{!>VH?-35)+fiV6C z$oF;>xbNv}2S^4Ug>>&nfv-;-vz4O2nvj2QqQEY*{!ODO@G<@vyc`9-)6JYoQD7}R zf_oGNZd_4$8%bhqI0|n^fwk|8I6`_@hf9|jdw`tyx1Af$lO{Y4`QDELeJ=-|qbRVh z0sme^f!4!cskc+rGZ=@woj_*`D}p0-P#jv{Z3I?_!x|TL_hv%Tyb#?zll|-Joz%Vg zgmwh{5L7%10_Wxn9v_rW=jIJ`OvS&SpTESj6m-VmU%BWIoiQ}jvstHt0a|$8=rk+2 z_TlSvn$<|pzK5q-ubQi$C5dYc#~}MO3+=#+1D_|+4m8n@;O_2Ecn45l(B#YZi*%OV z)Pv1;d!kx~st&!zUpq|x=1Ihrd$tAiE$pqg@<`vBxzX*cZ$R=(>>%&>@Ni@Go3!SD zZTKOM_kfAPWZ=4sB=1kV@&AuceuU|$H>&Oa^INGm>KS*s)7!mKk9_)pYF%1+ za=qFcwP=(UgDbb+5%p#Hcdb@H zIm`Y68 zluuUG7jX?PF%V^=uJMz*CZ3|M@iuO3dEc+0zLW+pjaX0p3T^dFsZj%(?d8f-cGGOz zxs%87O2jf&Sm{wKgP85LOoaPpVXTLe>8!_f0-P_Np^r8z1?I&K%`li(iV*qTK66K3(bx zAdOo6{nx5=zvLQ2sKpfH?Hh|51+G0n`F$4+Q|i6Jz%!j5Jaz+V@yjJlW+J7|6X;V) za`Y9_;#XYELF!qiOe(U@UB38OeOs-oi^_Thnfr}WVr>x#F+4*l9^--t|4N}VnZEV) z(~!;Tt@W9Ey)`N5ve@`?y5ZVxW8Q zdezEPtF+xcsS179qBx>WKAdTb@=*ZhkgWR zS-naqd)wHci~62yPdzm$y%|^M$BfBdH1+Hb>RwK02yJ+TD(bnsq2?1I@Lsjv6ITmca_|znQJB za6cW@=GD2{;=f6xxd!Q}k>Rqe1?VuV_vg#%7is-<)X{d6yt^PkN6Q~|!!xK75Dd7i z+$HU103=lpEUKJOD?LER9wY5e8$>NS7pL0g5G}QnuS9={s6E$}E26oE>Z$TH2uM|a zpJLk>rl)$@8$5Qbqxx0GK*05`H+Z!1>)f+Ti{;(=luj;v8^#;#;@#_(i zs=+#{cfCRG2R#oHb%>7YU2l-(-zS-W|dISH8X*Y;EOi%TyH#nU+=Qv66YdWg8 zy+N&2S=Y!LybieD_69#Lx-Xkn`V9@6Md%XkGRjj9j#+<^x=9pI>OIL*dOi2&e#%qc zG~jzTPpPo$(>z*tlYRtV^-N#K{HscMxSr}|&$Q^ZO!c+}GvIpHGkr9%ZpHnW)W!%XbN)6&3U<&~J}6 zKSM8O#3L@(B?yzjDR8Gf^ET0pM*=d>C5Up-4i}7kCY^TJ?!o1{1mPV<-1!mTo+GY9 z&*eJ>Dctam$ybQ$)N}c6K?-;9^3-hNCg`~~u8EeyeI=^rN#c%j;~JJYq;R|bIPNBK zM|*I+YdJbR)@~o^(HIY|cP&TZ%*r`rImRNcS1rfMpWZ%CGad)X-n1P5P5Ci}cK9t1 zu6HfRL3xPl@Vp`BYC5?V9U)(k(ON_xh{odZ4P96SIa)GlfRd=>-t6J7|QbrQZd@hIX zO)VQX_|Q3$wt0~4T`ik>@~thz{t~ghtYtR`r=2GDSBULpEt?mXwU5~I^=!%c8`84j z`HR%o7ZyOaceQNS!WJh<%f9BZy{cu^`~IwY@r4|^H?^$ql*p^JrwTPuTUUaP3DnJjf<^0!o&3G&F>b9>*QJaSnHGumX1Hu=hX z+ZIH?`>MA)LcV#qj;Y+`;RWIO0`{0c|1G5Zu)lY)BiQ!<^1cN?w`9DR7r&iWc!ie8 zcM8Ip9n#a`1K(8j^apn)w>%)cvOtnPKXUUr&2yzYljj1&=LvRm-ny}eX*Yk=FeU0J zAVz(>B$0?eX^9cM&vj(1Yw+wz`LwR9+=*?Z)g!>^d%2y{)Vkr%I;MfD2=6C41y4Hv zx>}L`#e>UN7|}IG-)|f`yyF~wzws;Ja+OBPjI%bGi>M;~8zA#kM|8&MG&(3O;|Nts zf7f&Q>LWZ~#Pz$rQ0-9uL(k>AIbkl6thBiW2WXxD)N>75cZAm&L@%Sh*>{P$XI8s& z4HQX~ie`IZc78U^c8#7YGim~}T{Ov0?R)!6$K?x^=xou~1wNyO9ilZ}tE2KoN|*{f z!4LDct|w3Mw}vW_2t4ekbvN%JPw-C}ag2c=3F{4tUS{mEULxkdE+)I_QHe{4iIL@f zP{r*2k(pa5!&&EI(k;`)-=~I;jbk-xZ?bPX%M}p&KMlM1D^b%q&?hRMl<@HT6{f$t?%J`r-*F*mQtpX5fq*!c;zOc(#+&WjJUOw zX!hy}T6&Be2ueU-MYy=?`)sZ~CksM|Hv_HCt7!ESE$OH<#(+M%IJtO0;( zQugapuTwQ?roA{1_!`#^|=o#+`FE)9rt0kgUX7rM)wP>SoW6eIT9mbYBVG z8gGe>@M+K6WMLTw{%ouB(VOJY_Pdx4izPy;1q69o#9xmhg`tl606ymU%i}Q$hL__3WVSju1v2 zW4eUd65r!!=iAuz^JXRXBITWO1P`bX7SD+W2Ey~a`A9>|4 z$<`GuPhoGs$y#9$S3eQfC!Mn4tBlz*ASfWjudfp1*DoN{NUX%|6F7(8HtVYTEo;69 znJZGlT$I6lU-7Ff%3!W}aQWgSyt`n&9o`;J*7=5>E74w|`$5w;K9fuL?%dRK=^=B)=8U%3gZKw+qC1W3_3;`@ zcagom1xGN-6q6v$ih%k@!!z%lqxwgop3YS((K#b2Gk2v2@Bd;uec$^4 zAoE3Cbhq1rEMnQ2y<6)u@`H@ri#-S?OSVxY;@5le4vIt`aC@4oJ^K zS)ZJu3PwdO({AAhm%>zJookeTVJqorB`uXPmB<)VltY>XgUZyvgD>o-%2eeNveA|I z!gEF0LbEYJI~p@$l@g-Ca{@A?X!4yE*;J{is^uw`G168QvA?zgjTzRNtW03sJP5GJrTQJ z#rE5XT}R7y>5)u!J5bZuf9B^cbXNE{v4g_e_$u;ZLd4tR=a);oy2U&uQ1W zi`IMRIh0wQTw84bJ|qYzkCw%53IImbco#M~vI~-wo2M=AK-cYYk42f~~!FQq|@uB8P?! z3=Hb2bPo&-Q-b?5XJuqigryAV)~$zYC(~(83rv@{<{$=2{{Dv~I?ZW`*%H?soiaZ$ ze&S9#Wqz8``}SvxE^V%D!7dLstxT=QXwNWOzwW%I8qpm^d1qkOq05aKsZ}vaF-mlW zc|dcv*s2v#wDYWsXOQL!+a^>OI<|gDKGlVubMeCLrZ`8W%`WY&Entfm1Wi-BVV`#~ z4bxoVSt5CHyb`dHJE@FQA@x}?PEkl_#Ftp} zN4LW78oX7_YhFZbX)yuHBP(Tmd6M$Tmk?QE^n>nk`eXaNY+CUy#cT>X{RW2h>K_sq zHbiF3*#X2tm6yDd*O9SbMr`#|-jv{sw%M)Dv4OJAT{?i1@tvkc>7Cg)Ub*`?!YpHW zhsUDw-vLB$3_kJ`OKSWciJU6GN}*KD^$T%`~Kx$#=z~T7$ai9&1-InY!pgi5CzS>hBlK za-o2bFeNl#z`%eYf5T=n(Gj3rsLummT%uekj6VW-aS-S@C^})g?8Ep2`F#Esh}#da z=dH^JZKD`)kah&2!F~MvWo8D*a$QQQr@rs=swY|Anu8kV-mttvveknF4a)efXmQKMfe#3*y z7j+My=VxWU$i{I-b}^JN>2ynHpf^?lg)7vtHbOie%j6$+t%F z0y6Qv2C;V7wJ1G<+nTg#$ERZ?zfF4E;M0m#N4utL# z4;N5hRfHQ=o<^Z8>V?NY$)MJxO=zCKR#>%-<{8PD{k!#6ztK`m5xjDl_}YTV zGa9W%h#wPZ}p@q z4x8O+k+;@>J~}vYBkk{SEuA?gX&wpGWoJhnOe8rTp=Da*xXL5E%E14p4XB~sz7wNm zGSyM6aS;-GmqGQ{p$uJ5QWdKu+byxSQM}|_biSz0lk#N+^%k%=7nP~3VhbP6a&vF) z?9y)stf!r|X{Zisl$9sK!ZQUD9G~-)`c*@`iy7{)nC#|gMcO>Uo+hUqE1*3csbgBk z@UX%&1wBiHZd;S6lf>?#@;~4drU9QmZ1c(WRPAt-(Cij|%e}DONAb(8wZ0oEesQ`H zU1BS(V;S}6ENnk>AFXVHi_HH-Rdi+1*~hy#`z29?I?6?hWHv}q)r7ek?&m4OWS}d* zOk1hm1UA}}96r_vF1)`ee)(f*!<%Fs#<=L}5uC*8D5}{tJJwIF*^PBEV=Qq|&S+`2 z0qD)Mrr%8LC^H`4~6ZhI+rnhZxk1K=14VY`be_|8^89-|8W6i<4DCC1{k7z{vEdr=&5 zX71zZ6i0mM$v03aQ8L>34?o|#nRfmoPcn1r#XBG2YvnAy=m^lx59#pk3EKIoa0CVm zFTC>|K#kESV_RWcMxVx|D=eN03hXXv1<)7v;k#_+M>7+B3l))+wT&Hmw_)6~83 ziQyQ`ti#G`Hu0{i65kP!-~Z>^EVm6C$*260m~9F2ZstH0?>@(D$LKtKy5|_YTH7f1 zUhq-Mn`U@&`NcuuRYw)GL0hh?Z8J)qPkgpO z+MC_zs=j0WnU2fdTyZL>HG~fd*iE&D&vjJ()(YEKki}G4dR)C_Www?Y8s--^Q0@&~ zs1DF1tlN2#=Q)5aZ>^C>{k}uN5%Q>C0J6OGMw+zm{m$y`(Q`}5A$^%58Hlv#E~AV* zeNV65l#$PKr*aorm6xHmS1D3jpd;TkL=~PlvejK*4c$n#`fDBCK(K|m zXuoHUZ=?1*EYxxTkMLBS5BB?ms!ey&elPOm%iM2pdR9Mnz$WVJ`394X15@$2gAt@p zNK2;?Eas1ZAC?M_paZCD?C3h?c6&C0CHxWGB`6ivJm9%sSRRo_`Qf*mQ5XfJqI^_q zY5LgwGgNE&PRHk(cj2{1p6u`Kzi*&;WvPzJH}Il!MX~q1!>e*B_Fh&(WyU=)s7HUP z9u(~H8@{!V(rlOOx!gq-oh`DewJv;loUH2idMbaBh4&U!JeIW`l}{4ALc<*xz`h~( zM!g3_rB9A~_89e<`~dg{W>tLd;M98Iyjtn>{rpNj`>u{ubjOi=cf4^}?WX!sPd9L+ z!dxKV%_@eTr5*oC&;36fsW2bx_|2v(@6e8~0(_Y}j;dT~uNPgTD%Z~(wy`S}ojn@C zORYww&ppVj+qf7g$|tCs%Vucq%JOaF(SD$~+~dfM5^U#T}J{;B60HBkz$Gm6|Fso}SS zGPTtjvU(4w>SLnWt63I1r=%&)2VEBbt({Xqk;EE3-^-TvrR$-$$kP6$=c>o#v6fha z&pt#o9eJ3P`F~xZd9T&;qn%D^-)RBO{yXOBgCya9>$&`+BPsj*;SXDH(R}~WbL03Q z!wIi5$W83_&r;}%=zkGck#}l>;>P(ESLM=Luk&DAMoZHvFy~_j?T2X2|LM7`G1^D5 zTSju=!s`t(@y+3nWKbr)zKk6j+-*ph@lylBWME0`oi8Snge7{CrTGk0KOHu%&Kato zZt&!K*=s~CzNL0qCTYpt{lff=(lB9dMv}d5Zg=(m)MO7bcd3QB$Z9TM+$WFrc%uiG zztp0#h2}e>(`RQ%lQ(I(#sy>H`J$Rai}$an{TrKgT<@;(i_M}g(JF7zQDaR`Gq0IT zc$Go+vvvQ_jg;MQ)p6zREvnca>HTgFRcyEEsPq*HJ64wXy%4(HKXYZqb;@(MW4g?@ z1wh&fR5$#(6~(%BU?hM!}KOE!o@_SN2ef;4KU2id!_{lNN3w@J2ld2l648Ssnu zzjNOf@{1`RT%!-zT8E?0OwK;TycXRT0fP6|uP+Ej(*b z$tXOwPpw_;L1g|`3(GdV0qC3anN&sDTfz7@9F*GKe`FbxSNHYjVJo z%w23@F4*Pa)uPmI4-a~B`AaRl%N+puvF58!QRh#389AtDUv{|r|Ft0sj{*721Cux2 zCZBl-kHMf&DZKW;b3Iz^YlNO z*8T`!tECfe^S$WWBk3E_HgOk8-%(7zTPviL6{u0Jyt)F%@E9aYUk9-FTfS(T)sC$| zCZBFxC>LG>G>Wexv*RU5A?;kCP~yC znqx2$qmsGk7*HLe%k~05abl3C|fwz(?P;*iTj5 zlO<%6*=&h-vKp5oo;|x^aVQe`z#0x*kbQ})VQwj(eG6$FWl_utPFrN8OggXyRqqSf zO@8212|e88u$qfchs_qdyl#9@W84z-!CA^G@&G%|7H5|AwJpln+tl8>lQQQsuXA3>Fm=Q-seifk`64)@b^!uUooEbq$*}7?>Q)8GKg_6&g!oA zS)X$!8(uXb%0)G|IeogQHOBKLToP%;8eyPR;?@jkRrsHmcam0JaN`!smEv$pI}Jmp zp7D;}=_Feh-PleWo3^ByJzD8m58Jj;E#^`wm2M_hjMP|srGZROnbYGk93WLnexi}iXNR0ygI8Wjq>pV4Y4>YiHqc2 zxhXnR6nj|@u2sLKzpmk09gYNcCnSHuQg%1&$$wKwhi;URZE+TM!l%g1#n9PA_KUBi zku={dA;+8S4vUgtm-gims;xQmj;4@xzEwhHlTENVoD}u6=9@|JwFcceAKe$4O>svd zVEZUiBQ6kY=69Z#OtEGWq#GG)VF?Fw?>DHcdY8d%J>BY{%M{||-J63tAsc>_b&BHr zJ9@fH+NI`Jz;e%?d#Z@KWXe@^eS2FXbsBBsxGO1=7yN0D^CWrq>G|r3zQG}pI2}ZQ zEdmZ4Agg-62i?0dZ~a+Q^T@V6py$esJwbdhu)>cADL#0xjO>VKPb2d`X%y8lWKnzl zv_}2n?IAZR-B%(_wt$yjdFQ1Kl*yI%ptA75AeoXe<55#?<&Y0~*o{rTOWKSq?&7c)Kkk!EA|8O!6uQ zz<-&112f5gRrVYKm1`v4OoRFyU-j*ChAem$Pdd3TCg*lu$wJ(Q0xj$P==JNQWmPes z+hi%KWypKJoR(8S-t!SpwliFH-|QkJj=~A^f&b{%|Jyy}KdR~ZKKy`9m<#lLL}L79 z((~$CE|mopv)tRYK*Z3yeASyIZ#6vF%)0p~YNd{|QcWe&}~CWmd1b_(-RJ!7eFJ@v-=$4dAPOB{PWccei}uP_(c_Me{EkVA?!(aUa%-k1yRKMb#1dr((3D|%$)MDQZ(!5x{2!B7f)!ofkA;%-%&-H z_57Tbc{JY!dalHp9r~g+q*>u6`l7a>o=Z)MW?NjOHA*qX#~UPmqPvaWulgyYQaar? z)5u^HkyfT`kufIjMT)}v-vLw~>Mry@PTxf}zRO4q7DRX)$ihE3FH7wnY@!)Q-(KuO zf4YB)M&I=la*=Wwos;s|E zy4TE|ZL!;JUOj`UI{%m3WLcZLa}646M0XhFCsA>u)bFsKa;LIjQHijPj#Fg5eS;+X zx94hYrr4#0JKxHpW$r<;=)6(QqsALm_E80(r8`%meMLR7$}3CMZ0uf&_8)>(F0M|g!#CIF?%*K!3 zoK2lszIwJj+T`GUP$Nu6S;FDZ?^kcbZ=)fb9A@8yI9azvBAXsmJyJdAZmXp_En_5h zp@CH{_w?Yaw94%?)bNBz-)PGiFL!OseSejDXIy&?S$#mmAuT2ZXB6dz?YT^GN(VhP zLE87jptiFx`FJ|{>yBEgnvih9UvW7G)l=(&fx08k%VU@PJV4hRge7=X~*;zx3 zigj9Jc~IebqCSG$`{$n|8Gg}&%FefW*KdoHK_%mpBNI1~M|#PV9AS-&9Cdhju1=U4UzDl`9by0r}m-06yJi!{{w8km1?7%I?A}!uQKKT5)!@J0S zb=Qo6-D)AT8wo^NUH2bV?+*&lP#q&!eZ)ei=kdIjK5_X5yS*-@dKT?=4?SCAZ3g9% zBYG$o=wz=a;wtgnhEY)qhIV=Kh^-fCmwV~h+z>!`rBPJbZd&s^iaY|{sRoS-qH{&Q zaYg-=>K!?~J*n)Q8)?=WL|Q>(mZ{w!eRO2Ig%=D6&lkw^A2a)GC3)`aPL*1bL3#1P zfM3!nQ|hPVvV&r|@1udJEB@6%*GQg&+}Sd#K_K?Yd#9?}huq(T${zOi>T7hP0^hts zeOM^pGd&i7TBWoF^BPVcEe^Dy3md~G$P-_kY-KqCLs{AKi*+5b? z$eqk8OtPd3oddU;_3wE)2Y%IqN*&lrWI~*ogBM+GRMncWe6xB-{$L$F+8QZs)=0MI z1Z`8_&>W)UGD9tCwn(<3U#q%-@}{Bg)Py*P)cJz*=Pq}epQh^JFn2QhVkAMHr34W` zX!+UONQYl@=Z>@3W#vt1cYAhtTfGnGbuHCtk1=x_^@L>^%=J;*7u#vBZ|JGq@LdM= z`p8B(L{;3Wajb(xmLvnuf8T+vd&w)jsi8Wfshfcv192UajQK{~9&v!?YtoQeRo0hP zXC=)S*{MCZuBrVD;W}!9GqNKGE9`v{_p|+fXOP~SwOqzDC`1c$Q7l`#c|;<`vJu3k z7Makn{_IweyIp-F&IWpvczM!xI_I+hw)%Arz23rEbWsUICq2g>JfL>rMRNHeeK~k3 z^B?`p!ep9%6ptU|*DruG0MYq(1o_kXtT9(!V*F?$J}XT)*!=+UPOD9pok3@=_UDJ? z)0wN4HT_*kr%=b~etPS56?ORXh zo-tg$ceSDU;=bz5-myHsm$hNn{Dq064RJ>Nd!!A`3TJL7ZLsmi;&pAXf4lE0Nn<>B z1QN9Y9YJ z%tyZYyZgpvkTn_&_^eRSTA?ktN7iUZ?(iLCjmChnkRH<43aqDGmTv^zt=Il~!$k|O}c#A&< zhdJ89J$x4(13JfPS*fCWqs@3Y27U=zl#SxUNav2}N^}>Hx3;D}kwc#1WBwQ<$^lx16~A09qE+~WKLSI=6kY{TJ6}F% z|8^R~rv_t?8aV^o@cQ9us->RJ8-vtL8dbJeCM2kLr_FF50s8`!8?FiKB03wYcjM1X zbbc^X$K?lUqI-^FwA9!Io5}voa;HYvm_v$DzfrQ-d2UIRkNTaO_?}hY*!;|$&kqd6 z*BVIK6BFLbqSK4dbyS0JP?(Fp$@)b(dyqPSX6v{{L7?y|125M?P?eOTz9HLfG0{t+17X4dK6H6H_x4Fw?tVTPIhS=O`3Zp zh`4M4nVwVb(_|XKm+m8QB*e$F<^k60Wihd%-2lbB8`R-#FW#*ev;kl!i;D6ixP%6Cyzks-5y#hkidKbSrS5)SZ?F=2)Vhi=< zeC@`R88f0z_ZIK0x=x+$3*D&lz63(6+h@Xwd|KT_ZcKR<9ORFyd>VL!tk*ZhWZ5Ad zHnVHW9P-W;QCHj2G5ge>{>7eD*1E`RqhmiG}WJHJxS8^of}i4G=cMxcQ#zwL(HYc%)2hG@Q#9StloHI$yWNtYMGYF zU0Puxs(WYtQ$)MDTubCHthnU`es8tk%0i0ezE_!jy7%ygB`cmZM5oty69>VQ#DuyVDVK4_IdQFQJGXvSq;f72{W^A_Be(_bml1kIa;%s zTD@B1;zw8_6*DX4gqzGGI9TC%qd4yTmatu<(SMb4M<`bQ7470oV7Z!2%*-LnwYG$5 zQw*Os7hPW@*E5d{R^NyD+r^~od;$gqEB=AOEa_75 zHY$h;Gr<|=GIRB$MvVEdiz(A?AxV0oTdQp(N$WH`#h=?sDJ)4S)|fQ5>P4!{{ikJi z@5S!FH*v3x5nWqkqmOpkyPi&e*1K^-{etb*QOq&*vB>+r7S#JE4B2^wdgT*!bR~FT zH-5X2@VtRcJ@DTf$H+c!(2)%nTzsd2&FETG`vUo;BrQ3>Ke$gY?KQjeOZY1odU$jqYsY%@$sBbUW0WgUes0+o3jT$w2{Oq5gis0cvNW z5*jdIU_g+6fGpby;=iqld#+Oaw^=)i;6DDL9XL?oxua}ig5}V4qHfVsrG1@&DzSCK zw;ZKP>{bt|5*!jZNMYJ-W1HgH+1`Y+Cf@p|{AUZFi$e*DsLM zbkF!(ebHfumK@?0TMlYHgS(|(B+If>PfrMsv6}ggMA))`HLo?h(NS9ST{^b0X%Qu( zcxb=@Q!>RvDOxh6SR9oWWujQ&&sAO2yU%y)nTp@Q!CvJ4vhj<36r-eiaQ)@=R)eo@ zrrZflBJLg!Zb-lYN%KWGAt(mlU8B!Iiop*8 zy4-jabsn`o+Dg5U?Gg$w(zwWBO0C)oMjg6m-NcO82x2TcqNj+U= z1P!8{manc_Pti^;;>wJo0lVm0UIwvGLAJz58n7Sk?stvYd5|qJng){I!rrxrx>-)^ z+1!iPL?x^p$P8Ee4Jl~MsApVMqhnNI9?++;-6M)9A3Uq&83ga5OyoUnOQ)+hyqUd?RdIQ#Z9eIpl*eX0{u+B$v!!DEGxZqCyKN1FEI=GXvXyV!HbO*>q zJ>A%3N?G&TQyw}_k-{ZCTke{J`sJDCSI^QHzL(v||5utIK64PO_57>b4vN#S==paG z6~yVllH6+lt$LgBRUO@U%SELPy;Sqynhi-5qvpGjh0+7z6+r!n50`)L99i&dZsRaY z4n${3$HBm7suEIR^^DbaYx&GcW5HWd{$r(fLOT!ukyI zuH~02-y%;|Ue7G9(?JU8So+93c9QLQ6)f^o1LLEh2)RBs&|i6_N03wLj${? zy!qL4wEI=i2qgOw)TP%sXl^Ryr&SSOYNm#|FTyg)AExe$M?C0W%GN+_wQlgxM5?V; zLu0rnan!Z!jXP-%s)G?2i-4&8=>X=x>*-g{(j5~uJm}ud+)$ln$%@tosAlk}$5>=$ zZ|JMkR(~Y#CMl?i$+GP*$lD`^ohqWaKL$r2D~Ck+Q0R`J~h~5;_W#->N>a%uybc>|^ zNiJPx4vu1>wze*pC?04=BVf(fKE7=#f6<5#)iM_zEI3EC%;sg} zZhk#O<$mD~^n6L*wrU6XQ#vkpvclSp>h@zR4ZB091ub+`dEW^m|NhVCefN-mZ&^m| z=jX3<_Y3ory3WX+y*#AlDY9oz1Gc=iMl#*`fpaHGrk??1dFzd8rarOXs&BWpDkHP2 z8`#UD5gbJlmMt{jhC_qZbLVH>sqEH1>!>L1HHxA-jP^L=_>QBr$Iq3K$#STAEN_od zPG3DbWC!K+&wG&BYnvAKtyXI#z9akKQP#SnG1M8;dk>A_1%ok+FgtijmH6HR4|2F= zr5y4gt$AZm%ogrbMdBj>71brxn(U*BstaAVf!k^zdNCq3S!kZ9GR}a0!qw8Thmt$F{3)FSPX}tCvQaoK8Du;!Xc zaytXQtXu2Q`SiMvmhB=LY|r5vnF8VU2RiU}#ZS_S-+{+BFat99(RHsC62Bvd?=VGj zFAWvu1NrOu{Pq)+J9Xmlz5Uuk`HzpQxm#z*_mOJ@K|QBUi}mUk6EE`k(kvjVD*jp7 zkxf3}B}iAoO;HBrEOGq@S=9GE)@4x^)di1$-cC3z+RZ+I9lNm z0EzSK{q7-(IJ+B-K;}zxz}9b`_Wc#=3kh%^1Isoz6Bm{_^rgP7>ilHt)$ZX=jj^%I zR4CEmC0L@Xj^sV;*Foyrls(V>xzRfSi-9ez5(#F4@#vw`TCTRCC2KgM$l{e z6t%CaZyAv#=}N4L_bjFOu7U{l zX|lw(xI@y^-;=6HtcQR&u*$IN2kDGG*qyBPQIfQ%9gyX(<_{|(SsqYExAHG>6J2Ta zJ;}URKe*AD5koXYSv6zSNAlbDEyrkmL$y3hEPKbQ*jPmP%JRO5zT*YU0iuWL=vLnd z+0_N$cT>~HCQ*(xP)CnvH;F0ai&&h`5iVg1f@*!gzW4KOigpK;@tJ8Rg)#`cq>xX2 zQ~3yyU-cyO!!2<#=$7dJdXKGSNd^NlKg<%uXW~!BVdR{(`r((i$ zZU?^RdDQaMz9wwWL(9k#vl-+OpZ#auHHs*Qxe?<{4ry@?iYSLa^4cbfC|@h1s;Xp4 za7Ih5mw-5a-Ib|o-TZYOJH7+E|I#E)i-C_AI(6Arn)MqVWL6(FfQ!mBx$1+(3< z^1B?GZMYjXAzmgIdB)L?zHx&*qq&Tm5a%6j0v2n*Z0ij=<&5y4OV%e4@m=lO_zun7 z0@!jj3U!kQuUc`4y2&HU=DRM|k1V@|veGrD zdu^a^1)^QVc8c-As^~0{4_;AYjM|Z7bz@Ss!Qfa`SdY=Z{+RsoY1-G}8ZzCauJmHZ z_nc)Go-wE^rsqyip*rpe#8pCj`N`X3U^A0?^-ZNXAf}WaA8zqwcl1iL)M%}vj}6YJ zwT|_mD%Mf5)*5)?ZmXIlk|&PyChdF@^%@mSn{}Q1;z$j9L`0-q*#dj)`{%mbw8!>R?kHc?aNWg-2(LHL zrqBH*+@^fdp=B3KmU0)oxD5j_?%%t=RIR7e#qXf_g@uJEp@BVv_>E=aWZ<1d(+2AayPbd2hvL>TS+1&$s284zgwOfhqHmXtA@NJb$mA27(uCx;{ zq*vcPcT|lx$LOgNGe+c@d&PaA%GTIYF1xHYWJs{#G7HNVn(;IH?@J|1GR}j{U1(u0 z@={NBtE%1&^p*#gzto~~g}&RX`c?B?6cLQqauxsnL16(wa#tJqjPuprJwuxOHl#~j zabUZHV?)#%T;G9giK`CkPMMQW?WVfZ1PyyoK;QoCdS;2I6G+YmEnSg8_Um0wGIzO! z6;D64muh?yJ-Pg)7S^l|z+0?*e(&vejQn0HIWRPIAbUH&FQ_}a2RkItudibG z;H~&5!2I8u{Ephs_`bm?47Of)45*LfuNtS+n@2w|7z0-bghznR`2QI{V<(-kPcj$* zUmS$x5NLgJ&ae9^Vw+q#f{+0AmPGLrF$NnT%m$}rmtKGKBz193LG0o_z8GGKUziW9 z&ck1SsJ?agA>wm4UYHDYFypy_nPlfbLS+7i3(FkxF_+9UQ;9tlvAvvoHi>UkMAmj% zDVxIMfbKG_Jc<^Rr=?|3wD_@}D{Yri?6haWyt5QLeWItz++k4Fc=hTN2PlU5)SX-W zI*id$3(FU>X&;|ROeC8&9nwqGns?M8L%aHHuDXpRd z^EY02-oTcxJC}cf*s~y;uiC1+RaT7C)M zY>RWUQ*4AjK#wROdawgb$CPsMX;H>$X zjCty9;oo?WEfFq7=L@;8jYIL|=pL;zDV|*HIRa^?2`HjlUT*dUis+Vb?R-`Ght>z_-BYBo>Km;Y>~ummBmziw;e zZRGWT(UR}#bcOW?c%H~M^U}!o{pv=xIvfei>zU#rSQCNW%Dt>ebOfkM-6`{>OZ2tl zZ*C({7u^eS2dZiGsZ;wrMc2Q3jzF&G2j>LOE~$5%WbO}lwsA5eEOYG;x$s~vy*vD8 zDOp|?kG?JV_KiVj8#CVOQl7-v26+5_dlUAN$6r&*i?>@@l4^F2k>rn%EcL$BMt%R} zuTmPnL96d|gXOyd~PJURO@4s$b$#ocDufIFk^(NWtb#7d}wd8HJ zsFb1Z{?Dq{J5Dj}e{Lg?c_RSIRNA!aqecVk%cwGIuAt^pXe&}r4invoboY-dDU>8# z$ch}PvtXgmpC;yxQl{iQ6-f7` zsdrA2ciLIXWI3D~192uQtW&6hxbIfvG4jg0N~!T|Q^{8pAJHh`W0j!5?wlbAuQiBv zPnkp2J3La{M?eXzBr5V1KfK>>Bl)S_o>XmwdoGo%)Kf#V2Cm>)URiN63n{U`WrTvh|__G{QING zT=I}Pwf7E1O0~t2KDG~pganIpWGBtgNhK2YA2C-mQW+x=j z;=JoInWV)>FkRl7gBaUqg0K4i{87x7x$dCK_S92rx6zItE2H=G3l0tpVmBjmr!7Uh zav!OGfwU{rgDiEoL5-q*)tAnbc4c{zxlVfVVReknh8DTB>!bxONq42|XV?Rn}OH79vvi7#6grzMsbtP1ZE zy4Ci?%xXvJR@>aWkEMTLcivD$wWK5Px<}q!boOO7l2g2q*ey|3_JEj)o~Z~*hz*xl zvj);zW%cO`q_cToG+bjLyd&t$tzNCw8_7PN24udu5Z(bW=lMkkkC4Wm0c16sV0q)c z)7YF_v(J&np5=|^9%}4Uxwq7@oa2q<9%}6R5sBMKW6$4xEMC^wN_9scA&tGj8;RF6 z7WKnMH@lif{je8{M>BYc;vW!FTq;!p2D8ryRo7<_Pzq}=>id|pru!!9`?zE{3V9X; zy?|9|<*h>MiM?z%26?swWio5d&Duh-)|JvR6lbb3V?2}_FMT=r0G+O0)pNN^E^0Z^ zshfTATD5yDUr*&PvaqzF*`925NUg42W84t>j<9=3x1Ox1$8RhWo-N4AA63F`Q&wK! zMwO{qD2iTj`Ai{s;OlqKHKk=1K09Zq?12*?s|Jik`` zzT>7Ro3#y$^772@%=@q=pDneGGAsoHhF zo~f|wrDMX`4V$tuEL5#8hzL|~&ws#!9$|?zCB!&+aN+evI(0O&t!hOd^q|YtXA}`F z-4LlpL=Snei)EZ$>}t3GqB@4gka+W(Jc`Q7^TxoMz%2Gr(s~*@0MGqrFWa?FYzzXqz5TLk2{F>j8iMGF23aeMyw(%7&YmQ%^+*Yoj`Ho)lpJee_ zZ>An4D^jh5J;Gv%SK;iVpa{z-tJ&gEY)qOt3m|IA&{=b4Tl*f0|ErgbA;xBkP-y8n zQ1QJ6^}&}`PC4J0QEQY?<83i99H8(l!8v|ETiZO!Bp)s1v3Of*ZiVvZmTRZ0eWNu? zsSZm*giR_JeMj+a#iw%UJBr6jxazl!e#IEDPmTNK4&fb~%+&0?T$4l8x*09M7^+Z=1RV5my zeQ}sHr)~*xG&@nT7#Ro|)S(>)snmKz_4ifG;bz&l<%2WD^J^O@{gSP*i_1=2r~^}yhieOB@H3nLOsdCb+C(L`l|(|)8k2r}H|=86 zViF5b=nzku4FWa0$CuA4AmWoQqTJO)-w{38^v7e38L=4=1A_zlb@yp6t>X{qW6qS7 zNu-a>wLHb!Uk*3;yS*CwJ>^D~`QHB#r5kx*JS#xTix_|v3P0wj_NqKh+)%&Z;#zMX*1Q`b?;Bn)-!)5W@22@afr_ID|<>IQS;LRzdOL*Bx!ADIR>Tn5y*m z3kX(%{X+cu8MeF$&lsJf1iW{@`o7NdfX$t>I2lCz%U51fI~!gAWPY(%c)fu(t(-YD zm3(?@7dg0(f2faQT=Ws&z9Cd9VFY?UdxX*IieM-v|1FZXzqLI*F36dc5rdSt@2I~&^*uO zyq8V$>{!B!vBpKvC1g2(dR%HXx`KtX>v*~=Qvx{nuwy+1- zp$eU~i6 z)smryk5TuPpPn4cPB*RWRXaM~;;WFjHvm#qbMg)KEx&H1V_HNiCOP1#WfQ_m(>HYO&qq@5hW8-f~+@d`V)N-vOW2N0z1+oV}85recuo`6Xq4m$m0J`wwC zi6fXOR$O`cRv~$bFwH2~O&#<>6-Ug3y#$c5 z&J8E+B+EI_MWxj?C`*d#67c#_PyKs@Jj5U^)1c*8be^bR&cFZE9i&aKYMI5KuEob2 zwV(>m7}e?GKL2Yg)iVZr(53dbfVHlB@TZN`n>9p7R>I?ySQ~qTd<@TQ3a>hdpFgP( zy`8d$p?W&I*wN~UmL%6`#fOaErrvos%!6!@h>GtusMggQR=Az&ldtK?Y|7I5QNdb2 zcm7fmt@Z1AE{lU$wkT_@fj9o@?U3D60e?eJHWo19)kd~^O3f9=$aX6pY>fezy8<8< z?2=!kzL5QN(vCW9hpSCy~=y=nrHPjayBlK*#Bv00Q105f~r)DzgxJA!3ywXe5lA~MG z{&^vNAH@lgTC&Vj01%sGCvLq#K08XwEdF@)9{B9X2j!e4pB=5E`^fD{1wMO8^S0;6 zXIpjTd*idK?*1T`WNf&e?scDC`~J8LTJaGcWN-WI@-_S4A)g(iCwtjvKh*WNL$ubh zdahiL1uS=1{o{woddBI=_rPZdKhp6C`D~j9`(FC&QC$ji$Zy8$M{y5)_U0R=EMkv@ zY`*gnwdBZe-uP{``qHu8gYA8v{q!Th?kA~pAU1#6Qhas~-|II>$DMk%mwookkE7KW z5)<@Xxjq|2DIXp9V|_z5<54a$-(8E!6{_6~Y#5hMwVTmpw0lsedbHbwT&kLkDWN9B z#28~m=Zfx=w;efplJ1iq>!QZ9?|+Hq1UqB;*KIXG?cRpqWggEi8yaLaEk7U7;nTkS_JXE0B6BVQf{d4 zgS^ch1>Ib&@HRrq7_$2uDx!0McZ|p2%h?R!F`ydTr134bP`o|?jDdZSH_Eq-G&+cA z?%P=}n|#Z=fKL5G-ej+>Rx69x69GHUChvO`bOMz5_nJ$z^Y7`{#XTloutp$bdBvyb zTt_yB_wOu}?-9{l#8$l;q^0JmYsFQ6n z9ED_k1ljxIg@+5t8cczFsTv9By*GEwC;EqwE>kDbmwzut_*|n{^P>_v%jf7(5cbP` z`b<>*(RT}ThYUX3m~p3;aOpJ?j^PvLfmOb~KI|e@g{EnFN+j<{LEOuL8rab%x?Q52 z`QtJsU7bSZM*G-!S+hmGQ1+I0b`tp$9hoIAGRYvqsPf_?`=~PVX$e_vslUsV#aA1U zqd#hpN#yD7WaBA|lR@@!xcVaXo%0zkvU-yUyUkHCXiXKBX|&6EXBMT=F3&9GdZp(J zbnHCa=u{eYY|he>W%q9YEq>Ut>pE%iXId_^SRBJ4yu0W&`-1OZzC^d#f39U}yJw_! z*r8}Or@@=I$wSO88v#=&_39Ag1X6hZ=(NAe=z|w2Z=Iu|OYW}#aoUQ62UF?f{R<6M zYNsrSL!SI>-c70t%+)aE_H>~0-(2&&WU^cH%BTtPO1P`bT$W^`PWoyqf6u1Q;4e$a z{39V@NkX-VmV^FFq*}yR8lK`88pOVd@ed0KQ`r66>?UY$&bZ^!Z}!oQ=a-IPoVLvbR@FDD7lAJwyhdso;*^{mAl zw#@t$S*=&*S5(g&moR>)f5?#Fu>a!|GvS$|?+Xs(9k@xc$G0A2Zqte|7iCJHzLKk+ zynW}vl~}C?p0G*WeL3U_m#W+_rEeg6ic4Y-8mf>Vo;+H;Yjc^F$xfTNDVmfOE_h__ zamq!PYpLvNGONL7&!TZO@`J5o8r&kU@V$#`u(;y$1bN}ugk85NZeQWzsm*~0zuZf)+z(oEj4g`)$(|?`*@|EOdj1wgI4iYOI?Ga@@RQ~5QRF=G z+{E1!IsaHjR%p8Hf-w77^%+uWbkOf~Ez5S8&Q5>Q&`YPS#Bo296kT(q!4(>wQs1Rq zrDfX^>}F~44ziIacKo)JH27x?l`i*VH<(KMssee#qN8_?lQ;ZD!*v-BrcnyRd-v|4 z@h`_*Bfa`n%a_{`4eAabn>KHwQ`6sERC#^~RU6)4(^TyM`Mr$B+z`9}E!^a=w3l{| z3$T~ZtlYPyF`MTfF0zp$64f0v)8qfuxK8%@PZv*Z&szgy z(#bxr(Naqdl{5Bt0jAVrGNfy?>SoOzqM5P zD-9}VDL*bqB~SQI8TlT1!pHp+)OW!D)zC|)?PX7xy>|Rzs_LxMvc2vJGe@4@PoD5U z4OO-$MAf?B6U(lX1zE4*djH#;_5B-MrMhgQi+Y!!T{wzH6@aIIx2tbnY;b3m`FrN} zS;i72%YLC;H15xqXDAm&nbpJoD{}Y}&@=zP5gd8NhnOw?^4EOQvDEnqSU`Nva zYk7-ydSeOM_%KU&wrG`Ks^3V>_&1d>?|uoOI2X*d#*c3urMYe{Z4~qsJFX5V{Rj6FF$FWFQ_W|^2)t= zRHNMPVi{gqCp?kFJ|Tv#U>x1yZyrO2hb$kXjC;oa@3I`LV8EO+hs z31{if!(Am*!)xk9=h+sVK3@Ce;^_vAm{Lsi_2nfW;`0MmU`XQe9i$h#OKFlN2dt?x zC@_!KG_{N=Q+7a=vB4+R4p5bGPZ`nc``Bh{?p4~yy)I_E_R@Sc*vHiAKi;N&Oe>{% ze;?arzo6cNyswNYb02|jTnZeWOA*QbGNODd0OV)M!3$?deh!pzy)HiwckQ*FT`+gz@ajxO!)!(_)_gf2WcNO%7|Xy$M0V}cAfU| za51x;kF;(>^nKu}um>*CJ{~Ehd4C^|uO7OK_VH*LQ|3MbJ5c51sU2hoj+GJbi5<9e zWBUb?pUg6@RQW+U@ANnJrBKeBMa+JI{Q}srqpMm4XgsC86exX^N{S@QnxKsW6@jhMMI?!cL>I2ZI4 zOu2RS8pZ4Z={yn7Yl+hC-9=e;r_MCn{@Cc8#Da;)N~UVjuMZGQpTTK$hCBImo4yGbU4 zc&10cM>FW#pKC6%>%QSQ+vqqYDyaDOQfV^>Cy>u(oKwG)C@A5xAdY>ap*ApDxk@D} z*GQx1pZ;MRY4mkWR=Rn0$2W{q_R@~uaM9^8xssmpD0yViweaX}^9G7JZo0^1yOj9R z>?t??#l)iPjq<*K4>wcmKevcGI4B@2u)7gb+=_sxS=x(EhLSc`$)~*Jj-G9D@Gg@Q z-dEJo*5GPi^;@HIRa~-EGUtRCo5T}Gu-b7i6>g?@=e|<1f!c`A6%aqlU6D-tdw(gB zY{k9V-%TwlZlL{rK+pE_{`UT`^-Z#l59+yc_ZN8Ln(^nhQ7`I4rDTcr0{FigGcFu$ z%y{KXdGf3U(%9yw&mEv0eVFmW`i3e!0{p@ThRBVdQMKmvi#f zG^i{nnGs?$CbM0Cc(gjryIH zw(lRMe&iaU6Rg4%Znbd&FHw1G52XFO7k;}&v#(jq_wOInLm@49I!p?i zJw3B1iw-h~ufvwBuS`9rp{tKUn=N);aaefPz&DTkA*g_&f?9~nQ*UA0hP-B**MHwc zUbD8IEb-fC^o84OpH4R@_N$}el6ITS<^;RR%sXBYo-?XVPgzla59NuE>)5o(yu}vX zRu+Xv_L%qHLdq@K(^*khGCnLZXovT1uqZy}r44ATt- zPSpCNn6}G;+G-Bd9P_>GZ*Np{Y#rGRTSk)dJbeYb4p7kW(EqM{=gI#Y`{h?#D z>;LQR%;Rf1-an4Es;afsR%)r8YVAwa63In~B(hk(TDMu7TiIl>RaL7+TePTF6}44u zr7fk^1wjO{FA<5v7KBI$5lh7HJd@nyoO3^O@|)Ld?)~%p^`4pY%(Kli&$P4UGw0U6 zfBng8b+YKMzmDk=|2m2!&b?HDy?Fgb5#6KTpfUqS;WbC6xXw{K3+NQLeG%8oG?b;x zC06sG7^3!qK07If=uk=x3LO{zh<&cjpd?~3_3zLy;eC1j9 zM|6ViR7#fUZz7-PPw%R%dbwXIQNEuEY?a&h-|Qq?KhsNDac{)7?};GrR6jWUsDPp(A21sEr*i0Yv`y%-Q*=7&3r3(moia?+3u^*o zc>=fAK0+N}hoO;JTSzGlSvbZ|cns)-w)eyatPAUKFovR&8vX!8cP8phzICGO1?o*c z0`aAv*K`9uZq;XQ-lCJrk^B)Dih}4WpuW;g_Kr!VUGYEu7$lzCp#M;9k@FM!52Mfs zSo1+6(;&JA-N0GGuP3YT>86a}ZQ~Irmtw=^c_qL;pJ_HflkD?5U>wx{O5T1zzOe7T zE$4_nT15{iy3r986dkEFSCv&Sfokv9-hTTbWkby>dLTFLEBe>borY=>&xN$uGYCrv1NdsE8FV> z{!dt+Eh!{dfhx8{j}KJXrJP=sN~;{CB9@gh5tV1Oe$^99os<33UiTFofU92n|9a) z9hbai=@s-KHorfh=oP?;fG<(P!HSRTG~qbu^+}j)T)H5>_Fx2=XP()GF;qdw8 z48nBaSB~_a#qO_sgz3D*vH1T7G1TD)qfb*#XewZreGn@=dk{Ca`mO0{s^9q-jKJtH zR+tU^ss{Vt&LZ9S31CaF-3N02M~u%w@-C(Uepv^?!t)0Lc?A-^G_ma z*slQJ{uMXmL_BEi}Tf?^9aEskboQv3Y)v%l6&LxwEod?KrH7v@JMvqu?g6Q*$ z=q2?{-pZZxqOv-kLno~5fOU!etsU#|@QsdMT^B-*$-TON!_ty0q_Mc5)lw;Z^1ZEm1nE=Ud~u{1oNL zmKM<|EmxKcDK2p!NA+OT;)8Ss@*{Ca_?TV#Db2fC3r0(LU=Xj7tMH70My*#bguPp` ztdwk^&P0hQGP)L0|0d0Kc`1=nfyzA|sdELAJutiNUg~DLqLge=Y9XX`OF`8T&t)z@ zPN&u@OPSOlT~hpqsv$U~u4swjv@~GPC32CjZrDO+b zt(9F59HV`-O-*)?*7BQnB#X4xpL(|878d=}NNZ)i^6?(pM}L))9ip`wws5;ctG&IH zYZtAB_V9sfMQ^?_68m2j zJ0doQq*|_Ifs>5CzF3$`y&e8jv6Zq*rOli)`wv$8t2GJtXvRBisB&kFe7&SE`k$s< zyi>)FQB<~MGO$Yj<-V6pc4C)`T-G+0Azzg)@5!Upjw|7oJa{10MxpLEqZ?G(N%FP3 zlpQodZZ;2i)v5I+Cy{;HQ%bdj(|$5a$Et90>4S^P!_pbRM$#sG)TgmarW1|z; zf&b(s(+TW;8+MV(HePz+T@7S>PRbXoC+~sM5fr0iCPwm>U0BAEynQ$C@oAE`gGJ;b z`DR^^141K|+?p(TL$~gBF3dVkx9$>c*c8DjdQDjaCA5j)4MKF~(HK5j(f=}y;SgsG zv5`uLSU-7VKt4mgDl?Kv_7B^P!C1YD&L6UWzMezuBR1^d(Aek@t^f$LK^)y|Un^GM zbJT_%p(NWh8ChRqVrylp3C-m9KBF}-tA!)7PocGo-W-t|9Ad;XLSyGZXiV$ZkSbn-6k zyVEvfu>YQ)H)=>4v6F1r_TTfrU0Zg9?+mKhTfg@BIC~+xh|MoS5Y{m0?ZcnDMkbT@ey)TjH;aez z9N)h2;4UTS27qR;e2ogP#4d7+eTtSY5QQP0&|j*%2yETzhwDTq5892&-6AHP(}G)&`& z`eG<6xisW0_6FT$JyW?wCQG7Fz41R^R!*XG(hTByo4njTd|aIkAJP(@Em+~F7p}WR zfAxx%D(}o2Wam2csFF?cdsWMnsRhBg!oV7)?8XZ98c}`vcc;*f_o$%o$^za$n-;_o zFVo6XGBx((UH5mtK)mY;Z}>o0FE>vQ58lDP==@N|@io)1Y|1#^Q1i_FEHS>3iu1?| z)kVo@r{u2NaF2FMmWJHl63%TPD@+AaTeJS=e3IIm8mgnM)=&+X zSXkSm+T1D|x;&ujwH$>@rE9}FnN3PLm$R1}YXzvpguxtTD7x0@rsbxd@7|$W_*G4& zav+~i^T{KB{H_gEdAGshC(oM$y87R}tGPr^#|X)R84>Qy^oV>%6m@WbBbG)f{f&ZEDe#Mw%qB$@#OSNeZ-N{v~1YRR)&& zx9$E@-rkT(mBY_!s7e)wUwEKj6zgOYq?`gP zM>4YH4dp;ibl7!?RL7iAmqfAy$TwOVcdpEOe!f)7j`WL)4l>J(D}k@_+o+0}v+3(vR5+dskm$(8~tKoErQm$`=0rCXq{g!CKp|)_2yrilS2KX zM(1Nht*@b)1HyQ&w-l=TtTDTY+CWR?x1biM0>8K1XaDXczxNd_Rbr(&%8V2a8FrPZ z4YgFNSeIpkfd{a5dF_LA`qfBFwd?8Ef|JJ%(O+$>Wy(DL0)KVpx=FX?Y#Nv9;yw0)rM;3KBgn8jZr<<{ud@+A-mhOgzMwu<=W5J$D~+;Sc$$gsNY?Z z=y#v2P&2@0H^n5$b2p%u7gu=i9KE5@oX3{jsS%A~__+gY3@wbtAhTB^SO<@zbq~@y zv@{w+%mjHc6&S;|{BBn$bJEIo3=%asI+<-%bH@|%z*^gqC2DaLL)RTR_AtfJZEVS; z$>rXV0RGVI)x9#POK4jTKf?e0pa6M)9b~O0SINnz6?ly^0;yH(!0W&G<%lHGxb1BD z(ySVaD>F~8JWkU7x-D0tWkWLe?WkGzXvN>KB`emggWYAWn%B$}lDYOAzGRsLn&#Pk zYuRo44%QJko4kC?PQD}LdgEZfH9wmfPw_`b8!}hegnd-xSD2g5zd=&o$%e}pHc`I< zMIR&EO=7Q}cP`;7Eym@pGRV$-8JV_^`k-{tQ01*Ksu}f(`t>w<#$7c`d8>D-OO;`_i1G6P8PbdTV=2I)#i?ZEq$nsVh$?@C`@17$$?qS1~xY8gmRoJt^ zKJt&>RC9-zdG3WcT}f0=C3i1JAtu((jLxXa1I&teokzSK6|SQ{Efm z9hZt~4wQxTGB;$osa`sE2YQ=8;+YbX?#cl(FOZh*tz#QJiy*wK(3~5s+?7x3-ABz0 z2nh-pV~&os#02r4@)KQe)H~{MhpEY=Gy7`T^71uEvPb@$#(JMQshMRy0wFwGkjJQ2 zKl==6>wX%tC0JIC9?IBsNLeu#@63L$*XhSbOoa0Ph_-~_lA~rexH1S<+_@RE$#>LH2_@92>p2ahRZ1~~I0@%Ou z_t2#+tTu134Zp0X!-W4n@JuF+&1bhj-E?%bmuZ;CV3UiiKacF>_bXcOBRe@n&sNr5 z78mWezW2JZPND9AYn-qXUU6VM7QNwok9NBUht5yciPBNFuu6rAyC_rV$)T6=q>A{C z1MyX#f7+a->W86d407|uNaAaMaE*L%FGQDF4FJw+`_;L6j53AZdbTAxI+lCoTJ*mo zng4gKC+oiLqbHZCWQFPAkEfh`a+3bIubxgf+T>=8z>d2xbp93Eal`cVG8Me=+(FJJ zKCK0NU3s{kUZUP*R#BqUnPbgU*{$CZ`VknnoEP8gAXhe}O4Ag|F^p8RLtxoECgGcpQjt|1z3gtVLk z$|fzS+LYaXx2Ty)>({6td*-liBsjCGnD^DxqF$gJS3q=q(K*M(y7$kK4>HC|Rc_Xr z+`U~r+-26Wp=fL9!}x59wnA;l)>j&o?2@~yv?v>m;d<-U`)LeeMq}Uyox++N{ekXx zjvk>u5NuEoPh`Z60mQmlg#eS+AZn{W{5dj4fB9 zSB@mE%ExZ(J-=96GWE-GfW*!5eB}s5+T-vD>@0B&PJdlU5;q>xrAi!%|GcX0JVQ~@ z1S?sBc!QmPi(Lvh4_p;{wA&8*z&YB7?w?DJc{gd}up{=vb*$ zcPMk8+@Z!}%G^)U(F6ETBnZzMal3cFbCb9q>A1m`P-*uh5%-_iryme^s-7DaB#nzS z`U?@YbI6DISjQy?qNo{|QSwxHr-K@fa>trpqI1ztzzC$i=mxaRfqF@gNXtyqvFU1& zInZL)JCePdeRiJy_@_Fy)OQoXdXGLZB#GAhGaZ)&{1QFZuE1k^>gUW0WIv}PHuG8e z+gn)H06%@({`Y%BU+S89pu57K$>Y-+lwsmT*P%N&CF=iH%%$GSI6g09 z9A%q3;n4tzG;i3px34mqFUlCr|Ht%+j;9-tlDEHJnf|6So-fN7kFgmP9SPbm12PB4 zk-X00jl@7%i1JYf@ji=!_fa?D**w1D1S%Kxg2E)_R?ryM`)tagG0fqOAvz>BCNN^W zw7ea#6Yov=D}n69S7;1;M_AY+K{61N)Stb%`ZZ#+sLQ@Ob5!i_EasWZGcYw~^^51iNX$%W_W00&fQT~5z{rTB+KlOXv82IW^ z*kYlaT*BaM6wfTuQAttSA)W!Y!rZh*2HA=q^dm4fQ^K|a*~;a0`#+}tzSzoU{gq7a zK3*gLU&jH$e*pNFH@ek3L1S2AI0pW4fQ&JGm0n>tjbW+b82HykMaO_@$B&OpJ4@#R zKY}svk0gZ2Kmy-;el)AbSq8`k##&ec(RsG}qaE>dp1mBf$xs_4XvO&;ceguk_-)GF zt>EwtQ?%kE0QE?*$#qyKjg?>o++zW8GT3>`;{H2861NJFzC&L#?HWg0%S$= zN{SAUyuG~jaskQPYD~7fyfv&?Cz0gsXAWPoyn(;IbYRuH^w-yDM!=qi4v&eNC~NJ( zUi0~IJe&JkOg1ib7MFN1f@QU`pU~>B513cm$}nqso>8 z>_vqQni23D*$7)0a5nJNvS)JWY~U9S(|R$=K!wjM&Hf($%%0{P+Zsq2mqSMCTG;FCJ z1hAjwcC9{1r`x}4sEY5PG@IZSunYfRWW`$kYdJ}pbhDmpX6tQ7OxKuk+y2z>4Vv7E%RJa^kA4e0O}p(c8>%@Xly`kvn2f5*M{F3t zs>-)($nrd7WGio^{E^*X`SPATxOx^VHsI=63BF$#k)?E zj^52<({nbm_#m@#Y0JdDl-t{5%Qs8y0|hMflBUmICJVh+$F>AA|G+r0F1*7~M)#AR zyE93n#Op>NPk(j;^42BiT25Dmx=%-q3R3!$28|0M&%k){!g>v?ewP&~%s)!tjY8@z zETrE~e)X8Wq`Y4@0!7PoFxz?G6~-@pNc-*pk1ccGfqO~~c7`3LEYCq5zvw!FVIU+f z`GDWE{JhKLnIKPRf_D7l+br_VY1 z!zXoAdAkW&%;*DupC#%k9aWxZi2m=&kMj1>|2=I>Z7=!%f<1hG-4ND6FsYR8<>}#V zqE`kvn@L!%&>i%^Z=83LZ+1q{mHY}Ay1zTRR-@x|6C_#BCa0J)X<@GfXzR4}hiB+d zpG91`cSk`!^p&e$vNsh|AU)dP>Z**n=d@gOnC6}e=;RY}pFtCsHlR;N9sDnYJfd?P zy1i#VxlYwIntdAL%k6Li&Ya3U+L%n4(sV@UF1(DtKI+%?_i5he5jiF*mixe>@Lxw3 zdtmIUQ)IC(=;?fgF3d$)mDq8o_ET2nqLoYUmdd~T1GITgr>GQ~@g*CwJbR5aYW4qo zFOo*RY{QjjvC&FDJkaABt#pQ(%U%idi;0nT9{}Z_Z+mP_CXI3hlI@@Wo*4D|QQ}|a z^5x~f(fo62)?l|euW|YOgH&P70<4+mQ@Ok7W?`m|Pdzn_A7~S$qkA~bdq0&*b!*r8 zbb}^7q9Z^jK#jcH9Hsoy4fP0$dV4BK<8jIZ;N~$wymA6@EeEn|b!wl^Bo8i2J%Zvx zWtqDVdFsx08ayIT{icR(bfhf0=I9K>r^SgY)LAE6L**VQi?1^98LNKK^bT3j95u5< z#tno_n2vH9X1^ylDW`EuO*c4F7F}f&863ELset6_wwlS()seCOGG!WQm3p_oO(m_8 zYr`&S&Lt~80DfABeQi_8PrIX|D?N(C{4Ale$RJ}jsr!^Ol(D<3BeP7U*^{MpICx<> zL;l0u|7PTq|B$EW8z>TCSp)MPP(F=iD(@k#u@M)aH{hpy=6sCSJ)g(t8*ylTzbp4LD8AZ3ortC>ax4Z>7pNnS2@{sLK&3N}=JL4)WDBkt*$%Z?HEDO;|zo`6V) zZVBITi*)GIYOa#sD2;jv^07q{2E)J+*f4LAmR7bw6l#u5?kqGYsW zNnSVL54QevYf=|w95vxMiuyOX$AuBdwt2$40%dn!eYBF@FsREL zhf!!QJ_3-Lc=^vGcPKMak2eB|FC!q^+qX_S>qq;to-Z#>0-nac5kIkhV)gY@iLnx@ znv6@jokUfW4fI^{e0iCfZrwV&>uZ1mLq7+HY!TF38{1vk#%y^4fqM)Y|A;;Ls^A3 zWsIVzvym(h9%Yoj-1YJ;`X6mMBQYwK71cH*>sLPnKwB6Smj2x zQhX-w#aW;q2CZDZkJg|)976~8h$Jtxmhlgssr&w6;&a zlsA3hoq%Gf&#q^r(HU1K4qvWDLQ+_1T?*@K)ESO|;%T`zp-@acr_%QiD5ma$$3R9> zriB1^mS1UAGmf%MT{$CQ?-BEjl&~xyt(f>_-&>>=yBUpv2?Vd`U35pHQG_0TaF9mP z-Dnh%OhI!DrSK?#UJCqaY%=x!>tQsC(wI}yNYD=L_~ZLIv_s$Ij3hM3FI-;c75$Oa zYEy61AL+>%fz^eQ_}(w@p<2{jyPGuSTX+;fQBe`nYFUxz(yhl&$>h28GTm&`mIir{$wL28@Wv}M>?j~Qh4{rpKitl8JF&l1CVSRyGzAa6KQw$!(#}Ih!~?>DJ2ueb0maE z0dn#l=7>1j9nQw1km${zbCOrR+GSE^+69jyJT}Z+mQyP(7vO|$-o~qksK2iXk3(so zCf~0?5k`#x1u5j+_Q&IpdP)DOV_>S# z5)^0-FbMd?r2_mF=e*Q2R82e-j)WO%S^olf3rmmeVcvolhi(U79-JV~eR=}(+`RE9 z0)vA6VngNC&;WTz%j}X$y1|Dx0-1h1;5$42bdvbKm~Z!J=GOg}a>!pBX27?9G&4S= z=Us|shI2+CH=05Dw;oH+$I*WnfkzM=>i3>J8wGYk;HY%ggJ&e>7h7wNLXe`5Znmqr zkMz<1@Cafo+{cGxCsUEnaq!Jmj}A-|imr*J~P`AP@N+ zBfgzIm!m397wN!QrT-4EXJFG*qR z9RTPu{a|!|>7^^j*?q-88#a?~gCvpg%z>ppUw$gPJr@M%(zE)YZuVi~C%frvBbdjR zo6!d&INR~{G#bHsyb&0t3Pt|`%3wd;)-{fDWFfo}$j{`1x|bi@49=z+6bl%I+$=t- zfSGb^xLe+Azn3g-gzX5VdRfTJ{Hw)^E97NH^4Kyx zERYHMK5*n7lE1N9erSYWpgFX-c3+nDMIOh6{HpuN?AD&o_T?oc!DAJhn{#7Q{E^JFgVdy`ULder&kn+{!vxME8+KJayp=acAnd zk;-+jU|AVFkkg6kACyj>?dMjmkC(5vkJN6!AX~b+)}~98E&W1Em3)5%#Sc3Jhh3uh z;Y%%dS>-)+Rd|UsYXpJr1%e=^M7G?jAz@hsd9(g4ps^~{iBEHY2I^e z*>Z2R0u6fTm%lF&`zu?vT<-y}JI}ep{`c3mY^mBC#i}>M|9DJ0dajnuzt$-Jr-8Lx zGI`=fvX=8~sLI)^)H85&+pxjtiScyXaK4p3%*oB@0SM6uxeLewedqjqKHWC_M$P1w zAqf+~8vnSpZZh3AT%aaO%t4^K(D_#fW>dw>wbpn+7IW!F zrd)LO(b>=ZiiZj)BeR4*g2&a@ zB$F$+BOtYC?@@fW^5zX1#Y*ldlpqyQF%nCQXhZMR@*58n6AbnBDLC8S=v-l=tW)Yezzefc|Cs&5=zxt5d~2>MBdVy zr&}JOzp#-%2AO^eh|f}nOt?rkVH1A@EOM~~@s4kV*8%LuCV{P)xAZG-6b|y1>JG`c zOaJ3H?l|o2tJL_S{XrVR@7xjC+e`Q)t=Dyuh|Sy)IKo%y>sO80s4d)4$o5r`j=1}D z?nBZMe{e@(e8?fXH&7+dbAxNfe!OsD>J2*m__u@^ zYVnIU8>CJ|r3+C<+_R?i;zt_dh*z|6}s~ zcUq}*@4ymlQM%d&89hQSI%8C`)u%_-vsAOStAtHA0F`@yK>=fw)-#rvAl~(4VLI@; zf61N`M>-@_BQ@`rHTBgxsLE@SU)O=3+Z|g-`;dm`qVibi|_yhmEEL!1xTB@|j3E4sC zL2b{G3@7NB5~C%=%}DzFHgWgsxY5zE@_Lqm=wx+p>It%d2ee#!yeNmV1ywxas0!eq zj$U-HpRN4dW#Ogy)H@(Sx{M7swhN zR`JXM#W$l3oNE~xve%PeZ_xfdqGrov0!{Vtjt6^4QysN3<-a2UG7SfQ`aO+Kf{&F@ zrM^rEzjpaY~3bq?4|S*RvxoCGEdl1?~kngO>*gG_em=?*b*Md zidIN3Mw$JTuc9{9vUCNi-EsE#A)V?-PU%Ns+{{mS|8@cWCNi3*UumqcPnWPI_VEOI z@#|NnWm80+WaUw0z%o=3N{5w+^u(y0D~6KupU$JzKBF0d{I@Akmz(6+->;B8O4hK$ zBVwF_Vira=)P9h$voRgRqtce|+?y-uuZCrfA59PdN!oHi}g) z^q+N~VwF_DHTzp)qGNb1@I+^g&Z&M43V%#hrsp(tP2Pc*6c(R7@VinXtFk(ZG!6g% z(Q;p$4y3Kce+5rS+S0Xju#ZLg*U%Mo(uYZNK%LNTT z#y{GuJcQ^M`kpj90&-o2Q9bUF#9!31DZf~pZQ_ZXsKleHz%OoXy-C@SOB#AC|EV}( zNke|ao6k%~Btqw|cw=F{%bc}AuY z-y9S^jGPrpEf=A>r-!L43!7>QT0=hLfCgx}w zRRLt7QCM>ed~pyS1A5!dyHhHA+2^Ku43h7xp{)L7kJAq*tDmjq%Ig3I?D?UJG5KWA zb977!mE2ujWJx?AKWHBoN90?8EbrwmHPk#jvEvns5BcS-z_%U?>$+u3i{`5bJGjy zpXb?(AX<4b(6GEuc;!(hAULf239|6_)cm5mm`0_);%p#q&$s>K5XoD^aBkyDq_M!cIR3m9eJ(`&ClH-&-I~( z9_z0xxh#DO{J1LR60VU4@yM21)bSxmNks6%1o2fzxy&OUUZIR}fqDf0kHA#ee*zKG zx@UIYr3mStiKGs!jB-BmL6y{hc>Rzm!+Am3zjd)1|FA(5RK4 z&SO2TE2y|(W=CZEn$)Oqo4lr{^kli&K5#xVyx!$((rQnaki+OiM!CoJK4+c`TK5BcRe-nX^Y{j|+EI$s(Qd9Ae9yH<0tU=Du-? zDzGc_*ye~(o;nv@_b#9o=Gm8S9&f1dpD*F_0zhFJm~DgP;U{QUSFzF*C&dzI@2W0S z(>_Ot`hu1!v8oH58|*L5t!d>J-D@r?pOa)Ak(C(LWX~~*t6$P_*#%0ri4~_LP?q2+%b%e^$S%BO6?p6e%7Hjv)=V|$xqs$|2ej zFC#XS1*6NwqIw=xp1fFT)oIG3*XNF)jH^T9vH8PfXh{0IXvS3wCLX03H?wldTXsm!!N2W-T=HC- z>&bF+4j>NiHF($slIRvHva*Nd_UQ)tBInl0%M|;zRCDc-tq12~mH!uBK&#zK&5mTb zYr5npOTvKvux`0OtLScROO~9oM_Kdviz{59n6Qn8E;VZovX^OgN6s3s zJ5P_jLG0Hw?BaqZi8q{)t@x?$*aNh)+Ns%+GpDF3HMjp)R~swb*Gsrcj$V>XBir;( zj}_O*4!@!1nFC^E*GY7_U(}u!U5$LT7t)IC_daHvi*(d}S zw~IiUTfFsdDoJz461GZ`4HAaJ^9GvB=i}!u)A>s$$TmnAiq9NasTTj+mq90Qow;;_ zl%ee)0Ux|7|)sDRZ*UVmARGvar!ed#UCYt+$9`hd2-1`)d!A~hN4GipH z_KV?`?hDTyodEn@XAOG;t1sY6u6P6I^vj>GmQ3dlP8_<#sy9UctS)=`tRIISGl7>N z6}HeI3$(S|LUupKxs+afzs}zOyvO*E%e3k)rDT=|q_>{vpUYcy6xA#k;&GIs8k2@@ zBj`6gDg=( ztM)r7#&p-Qsrbq-*uoJvQ5i?I837@o$7sbp0NLIvezfw`3l!ga>e$6nF0Z-~#8{i= zO}a}l)=)h=+FbO*1N@}*tVQ|XYA@8^Px)Uj9bdUhtYm^YKU`eaz**AXsqgNmiWqMl zd7N^Xs8~^@FQ!t_%Nc;E#B~Fn%b6>4E_YY>K0JO@P;^9WR6vk&qno!7!s7sEi#sYW z&8D+OU)4CGmFfbfX9LX*&uXLDyE4Od zbm{sI=-Sr@2D56k5jwUbc782Wz-ij~BlTh9C2qgk3YLA)n14ek*yu$b4ivqT=qKseW^ zw1;XDgNWzm;XZ(m6JJm8FT=NtI7Kxl!Nl_|V?m`5bLY=YC*pfnqS2BH6VYzHyy?#~ zv|B?IqB%OmFEC=f*~R2t+%{0&eJ7MzDHyo+BxP1C3fr$^pxMdWy#pn4OwK;Cd>{~a zb#P0}pt$ROMzs`CP42!!OkPetCRz7oQO@*#3lFfnn`6{uMXXE%OkSJ`3;$!Z&R_3% z={l`*sG95TlJ^@iKXPbD%Qj`bFajag+^@&@;{M&K#`xT!EdB9sb)%I`fEBxc(h2X3t@R zmG(Kji#5VC1^&#`ZrLg1&y2Maqb%c;0CF(*Vx;gqQRMvlzn%7y{~TpQHJGk28J&wZ zUOxXSNmI0y9P1xy3E)pxbd8a(8vJHh68WkzdZxi-MY*VZ!HfgJ>2yvQt8fD%!h_Ax z(VgnU^;Vz4g^4snH{rfQO--%Yb%Me#@Zw1OzkK(Hh zJSq1@hjPd(o}{Omy+^wHIE|1tW03nwer#ga?*l8_+cnT5%1dTu8RXPAj`w5ti6^V5 z$^`~iy6+qkVF{3zTLyWq)C0?(kOuh>(0M6VQ4NCXro!8WTqNIWN(oo-==!<(n5B9f zXg?2`+nRMq_(($@;%NvLmu=ur9_f{Fh2}g}O_uIYqK+7a>#N+Rtk%bBahi&W%0+e97w$qQP>vnp_|aK21$`b?PFQj6B==-IG|A{-+wUWIrBw zw*L$ZE+AjzGd0)U*UgQiK1FvliXAF{bM67f4%5|4xiK2>YoA;C!cB@wXK1L-J|+if zl2xN>?;^RHsb+gB!IFTfT`I>Wk&XP$N{)?*@RXkk z0-iyq29??A(!yeLKPPWjXS1^szxsGNDN2PG#tO?f(4GUIpUOH^eP7IWHhKBD_IGtw z(#D=1Zm!O*CTVoAubY4K5zAXIveJimo1G)VW0a`U)xN#4KF-=-^zycf>=hIcWQmON z3K|<5#C`Z&%D#4gam*Ro*Natjc{xtBug*t|c|iMWiIwQ(W_EG)_Az^UNR%*?ftzJ^vV?~qUMV+nJDAyjxL0a?zQ(}iiSWmcxEmvZRi z;Wg6GOo)E<-j$23CLnG?#oP4B($1ZCY;lv0bOiDMpw|16T@ zsZ**Jk{qwJp&A{+h^{j7`CPUS-A_K>Dl6IBsZ8@A%mvn=`^HK8D1!M3aV2KYQEgRb z%GqSfaju4J?p1o>KaDaH{U+3TK)&YBDs~wM72;grWB;@2_;Hf!HKkm$r*A*S{g5Wt z!27t`z;u_qkF_>bgI_E>UnJKLF4eg}a=p%$%>BWla*cf3!!<_kB^$V2#r1ZTc6tk} z!nze%_sA-2C?!g@3MeApIR4f_V*XOhG&#F?JDKIp6XlI-OzLu$WNBjw({r#V*<7i; zR?(hK_RD6sA2*ef9l~Af{nt6t6~C5p<$Lbn4Cwjz&SywJ{sy>G_bu=@Zg<&to-E<- zh%ImDf_>zB;DbFR)0<1k#tKqYTOcjfe)G?lNlR_fGYytml#3*K%7({hNwWU1;c}N) zSSurLhy33k6L+hX>!Q?rc=?Q!T4@5}|H#<`&roiBo0Y2^<5Em$wrlJ?a>md+(pZ1m zQq99UO0&DbyYjoy{1ACpf2qjI;jypD%j|9Pa&?k*4uQO@-+R<}Oxk0+img}%ccq4j zt+}*$gFT$%naN(({hPz)FT3cjLZ@tPO>-VnR_z}veT0w6-Noc$R=g~;ueZ|xUh-DT z-g^4WmaK~F-(tEws<@C2n^yIQEYe~B0j@o>EbaDeK1P;eM=@8?B!PiSje4}^^WT&3o-!IG(Dy{E4u*_pWUd3vbcj?K-WfH>jh5WCv|2v*Y+AL1bHcH-# zlR>sRvEkqh+E=@+WJQyaHYv^YNYg1`&5x9ectrYaPcdDwRRnjkrjVtv!O6t-^eGpp zN`9}EZSwJUcJee8887RBpR^Hx2rlKstJmqT$LmMn?K#*f_B6AExl#`6$pH)R zEtF-;Kk(%_@{A6s$t+zitG*iLyKYYGc93-UK|R&m$H~W6meoM{y?z;!o=_enQA74} z<2r&;R(a5D%S~G4Lu#srQf19;VY)|N^%Gn;z#TDiPOWZgzmqivQwcKGIgH0|nWg2O$ zP9bg1lEylvW-GDOFvT{wdGHLO@T`FaZu(o>-6YkgHDo2AQZ%I(Z@I;#8u+;*{=Sq- zb57Ed-3PcSii>NOMCXib@b>uuX=H=XSjj#EO}TqzBqyAP z$lAZavwgKy{fAV?f3}oqgcSa($l@=F9=4lwMoI~DuuFfrGX;CMS&!!X>Aqa5l{(nj zyMweG2%2ZNHJRsWp64_~#j6^?GXZ`i1>_`vK{R zbS>H2slQ2?Ge?NUB?_D^Jv-?1Uh=8VYsvhhe{m|v^_1T-K8bY11ud1Ez!d$v=pJp& zXMVfVSYcjNF}rb=R+tAosgy6P?j}#_lA5Q)y#r)=Qs7p?sBaFYk%hmk;VQ+YUL!qu zE}ZCmQC;i1)2<~@-ZDearMe*{nI?@5>}=k^J=wH>uISjq6#LFCyA+mW^s@>n4ToV1;NTYckt;aOlZ9ZM*>I2J}_R8dolsU~c7=gS$ zfOgrL<-fBE{yUlx*msw;NEm&TcG+DGQ{Ft09?fZ%bd~gIUJ28B+GX}s&Kf;rRpuI_-08(vJWo($Rjyi5PXU!XB5$36 zFSOIN;R^YD<*nQ@icUrUEt>0opT0+Ft`&-z%5ARF=}OWQ$Rh0@v5j?2eF||6ez5SI zL7pq~hg&R?dK$91zgT?#0-vWKHTVogQqQQ^W&CDgE~@ysKP%xdMUNE$*I>ED*}x*^ z-g=f*fjo=Y+~pSj(|~++@z?QWiz}6q%^prBPczHlO3N_KvIV$x78N`s z&G|wxS7|t-B;JgFu&7L_YsS2Ni)9w#nXR97HtSFuN29OX`0Xt;`k;)t;@6P%YV zHP3rQ>)TSp^x|FI5!S?LeV5+7oKNf9O2?F`i&0*;cUm*{I$vu&mw#9yJYQsa3c|)G z(4K9h=W^As=$}RUe~_Ph2I>E{YHC^ObK&_Sn|E-D&t0;4uR*dbJ%x5q)wdSq(++B< zCQGd6L$m$r&lgyCrPuXL<%r$KOIGBC(4=^hhI((OylJ z7=0j(;gowen>0oT9n;<#V}1V+_EvpIJ=e|}^+&fh1~vK&wKMs4i+Q|B}BH=DN3!ogrpdHFFsE!m1Re|Gm@9)^<}fWl9o= zW@m4jb&I0e?rNqqDMDHLnvu_@QkK4lLR6lfH3vrpDUW!u*Jq=Zrwe0bNfOEk4H^7q zJY|I5RM?h|es=7njV!@OPkG%SyVui7r`Ic__x(jXH)hkGtF&|9Qj?7vDvC=q$XpzZ zc=s{ssa|TX)LyX2?zP-_Go7ft)l|8CqQFk-{>t!Ew3GTUs=wry6_5v4rTVvr$%E@_ zC6=678>9|||0}Y$J5PU}PWINxO12*F8GuE73$%aZD}HmF_HRGNRo;JbXea#ICr`47 z-q}ibNGJRmb5q#+mo9p$13KY1tMq3U?Ie?x?T}9RxmD&R(O>SbqB^bQGqdMVleg=EY%!B;#&?Z)mE-^*6|cZmd0)^-vh1raPn){V`}@1f?}xfA}mH!|;%_ViRUrFuW8>gc@+@3Obhhia&f>4aZr=%51f zNW9c+hjhXpSG9i@?PqUDmb{~Y_jl&~{6aeI^-=S!jWG;b(u-OSFcSg2Xv(OJU`+n+2yy@WV>{vM;U^+H~Xd0 zyx&pNl?)K&M}qvqBzd2xUucc^)ek6o9bG~;YNsTswYq}b!0p4wGpHB7*-ErFGGa+v z`}e|scqfUSLcD9km)Z*-*owENzm`U}!mpU@$d2@9AFg4Y>HLe?ti_JQI?`8q=HWe( z?*J>^VIAquL^OLq`#MlXc3emL=AJLHENhU8&QI(L?=Ils&-wG$6!OG^wM1h@BJ61+ z9o9SXC0398o|WvdUighIBU#Qqq?qi8UihzN4`pZamJ+7@d*QFz82p5G(fd}W!+PQ0 zulNT$Q5;i3c0@1yA+N<>q)M95QmO-b;lFw{ob|#Fv!U9%7k>Mz_3uyyD%?tT(0!GR z1xs1ig9yZxnb`&RRhq{Huv4K($mSkM32Q7AKlPs#e~rA{u`0GTq0Mo*#JRw`Uw%37 z49Rs=Dc88wvoIB%8vIwYC(HIl+fWUDu{asrCir^JU%4dLF}7sx4;HnB$hX};d&L3r zZDUnj{_(Le5!`ay^^RvA#fsxfiFWUWzv6t4`@|ey%ydLA{7J_T<&c*#p@iwEUie=P zAI-W9Pb?)nq!)g~lUBD#S4=A9mYllD(iP~`{Dr`X%XDh~0pLpAx8P*rlTob`$={fa z*z$HR*hiJ}pFct}{b32&SV4;JU39kj$7@+l0flzbU)$I-|UN!>Q|! zQq(_9MRrs#{I}1&v4^zBrz*Cidf_i!zxX6|fccEW<}bVGu0j<9Iju|=Dej+cr8~42 zzU%pktn=-RV!ESx;cwc~U=QiAnSd*+z81y)mYO>+kfr#%nCrM+`2Gw082Jl5+3vmY z>#skWM|-6$HQP#dXfOQMp>s~tn$Ibw zJF*x4Z*lD|QAek*tZaw(!mshv%o}9GzSfVx?!E9^Jo&ef^vYa7wr4N=+O4i9kRLeD z%5^|5{J$2}VQ1O%iwsSP2Up!=Z<_s}Crj*qjH-{DW>#jqcd?!;t+xY;TKn%TWS#$)=&5$@h2NrH@Kv(J zOSN2w^ul+!_$>4JepIs^(hL7o;gVdkz{@mbNA$u^>^JigdDzRfWC!%Z|GW3Zbh5!K ztYioD!vAYv#tCAsEM_{Q7yjbhEBEQ<&#F?U-FxA8`{!&P*`l9Hn2zX$pYZkEWa<*K z+Df&1FZ`3M`m-JjKWm8g?uDPR=lK(~XVz$`4(NsdyRXN7(i3a7WC!%ZKe=iZ^QqQp z$^4=N;iwQ*+3ufE_dM;_^;#-7fhn5dLA~(z3~2JWvBKP-V%oD8{+t(PW|AlMi<;+v zUiiKV$4^o0wNb;he=q!=jXJXz(l_b34(NsdYM;2ibB z|4l=-S1)|jC8fvUxoH#?{jM2-@{T93-GlJF(K%B>eg?}FZ`M#9(}92awiWEXt}Pn2 z{X6ilT0QPAW#<2|<=VXif9^-0AEWH}RvWe>I`AKE`dc>X>unl3-$;n+Yb0U+KK%*H z-TkR&O0G>qH^~>byL5tlyT3GSu6YvPQAm?`z3q8|G|6@qQ`P<7H9R;%;>luH(2sRy z^PBf6WBIqi2;{9nS8$FSpLJy)N%=o`1TyCja@8%|Te24r{^ii+%^m&!m7n!3r2qdP zhaPSTlsSL!{}(s77Ek|whrtNstpWP~9nMW)|9_`?1P*%zV$y=MN%RMH@#%K{1NpC~ zrP3dWGZ=xqKY%>*t*O=Tkfz_Q8G$@akF@POJ=?QaAoggO^5%(7*)Nala-D4X-V&zc zUV&JD`RNSu*y62hhr9x@CUR>!`N;b;R7bo5QGImx9Ez(GtYnA10+H3eAc3oEf#AP#88VE{aH&R;K*gK5$pV+h=()?cgIeRGDjxP7QXOL(fu9;ixTH z-Z}$+@RLtQvb&VWtlTontwsMWnrq1BSMzAD$BUVcdIchLNcdT@NGA~2;0FuO8C2Ex z`Y-SXoz9$uZ0;`>-@m}?JQR?bO?k3YDs~yaS(uCB%MmTE$I+Zm1Fpexi?czc?37Kb zFOo$}LTv7G3;$_Ap8dDwB$3aQk{$F4gj@R#4@r9^tH_Rd1tKSK&MC4>XVqk>))3vF zxIS~`BbslD4OOaif%_9nepjl`6>_RAS)ObG?nje*vDYWg6>}Z+3dHlX#+{>VOjuo@&hQlwDIZ?fMEt({83qR3nh7B^oTQ zs9%Bp=!lb-*}HhxbyV)+iu+L@BI?xAbcM9VjZ&(EUV*6jR_g*<<*ZV&173lMyZ`hf z^4@ORQYHRhD(f>w90v zw0BSU*dx0RQr_Z$p36Th5tb+9m;d#`s%x}oAL_YWH7si1k^cYs(HPc4_>r3GkXIny zUef*$*}MWsmZhhVzu2VD>cg~y9;?ZAeg&dw{>lWJZK0lN_g5e`KdN<#cwXqqu9M%b?USpXeK*rmKc4Y4DY9vp2{JOQC`Qix5jAIeILtoR?u_ptTB3Ri{DLu z_9;DAn#Mr)#nT>jN+{`enkiF~Kr|Z_w&ON+NU5Y|N|PdVQ~2hgPgs|*=Zc9@K}9OUS?LxQ<8RMC z+f@(L%Op))Sw~islSDGI@PAB6XZ!Ve9a-Ld5%v6}R+*$FsxWGV+2rh5#xabjU(p44 z#~q&gSH!+ zr7bF5$iH~EQ8w$wR=b$&sGb?$xi+{#-eVoWl@^VFKDa$<#wXMNt*dY&I$9j0pA)*R zNhJMTub66I{ahm@ocU2Nm(t|wXONA`pBBsBIH<2Mqm^}K`q?2`YR~syv3~3gG-Ug0 zsij-KVrNaSsJV8~Qpg(qIO66p(iaUC_BiWmJ49bhc{Xb|*@Q;LWJl?XHg!D{NnbPu aTv_@8t#n4$mOE*sn*gpkXac7R-TwjlgH}xd literal 0 HcmV?d00001 diff --git a/ext/openssl/windows/x64/lib/libeay32.lib b/ext/openssl/windows/x64/lib/libeay32.lib deleted file mode 100644 index 9eecfc0677160272ed05758a15b8439942cbc8f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 806142 zcma%^51dYE*~d?^V~k1CCP|wlNs_fzR+9gVwTM|+uguP0#*UfUnPIJ@eZ5}EE3Y<5 zk|arzBx&0uNz%4S(k8DYNt+}|lBD;0UH5g)xzBmdqvrGZetyrnuIv7H-S_$Poaa2x zylzlgW5uk&MQ`nr{JZz&3TRJiQ8ULM?`96{l4w5M!B;Rfv~%TVE#m=-tIwfeN%IytUc5h(aIcR+);z-Q-c(jzVAZp{z&Yp7sV~xCi>RG#XLitm9tl zQs~>g(7(U28HKmqX)va@3G_`EFxxnZ!hPe611Jon9%UN}Z|`i-m$wVI9D|rQ>3iMeRR%tMY!(jL@Vv`;M^KnfIfXfy4)0+;6>{_*;hJLx{Zw8+p>&FI6op5qN7;!&Sr20+DqMGzmj?w3 zWy+y~atdWCpptc=EJ1}!j;g6afpP$aYU)?WNwvTl7iN+ZY$$Ws;oqXn~nzhsT@V&v4O^B z6dKzZ3sHf(g(mW#97LhHmq8Ai1#%$Ftu;=dFpo8;3`XJcwgz=S4)a-e!s8bm^Y^h0 zPjoZL)f2)s$AalWfx=uYfcG*V3j5@H1=hE)ko`nq-&zRo8(?fiVG(&$8c^Y+)3JoMl+!5u_c-He6qeGSvK$o{ zxA1`(#!(cOjWC`;;e+HsS&zcRHC~D13CZu@{9k{ftd0 ze2nobwEZ#Rs$*?=P@s^rwea!527UfGtm|aZ_B!FF;}f%k0_6k>>qi;8QTSv}gIs?S zHqgE@9~I6zJ~cKdP_cG_>t9)k3O5{|nGqByM^M<@&!7*R z;j@83|351ncWfCD6ez@OfzP!t8c~593tJhd@-zyc?`3R6VH@LA$kjICrsE5t$0{Ibklo-#V@Fn`DFs?7b&Xz_UD$qya%gmiJ0)<`VRiRJ2;46W_ z*uEm1aqONL6bN7KVXQ`B_g=@If}lWQ4)+L@6TVhr97f^kKE^r}zD_=s22?odcxG5o zplm_m8|{o{R3Hb!-iZctzZbqq-WBTpChTK83Uj(oIN|u#kf1=J?r*_<>Q@$`!X?MI z>A$icg#)V%+BqQHbbO~WC{UQg@4&&q##R)*TWm1K?+T1lI7B~`-6(voo3R`fE;|lS z2?~_`D15)CL4Upv&$cv}>t_Y#TKK^bgFgHKo@;L~#^;3djvr183KVkqLpajgSc}4s z3Jm)GBjJqW=-8k@*@eQ7dl>6cI7WNQlc;df@sp`RfpP?e;{%M1DEze0Xhelmj_1b* z1qyw99)8xxU~E5w6I~4Yd;)&n&RB{Hw;U&%g97C;3jfFaDJM`kHPw*U@QaDYVH8e} zG7g~d%OM7R`X!uUTanlBtHH)z6wVGb_Mq_Veg--GHJs~j>_Fi+tTkl|3g|j6*2=o_;BNP`KE~*p9*7aTWd1O>`56u8gi*n+~X zJB_6%{FC+-#_&(!s?sW$6*$hK@S+mqITTuqF!rMG;%>$&6k4`4o~<9+6*(cp-|k(Sc(dl9WS9hh%uc-54km2wz`P6LcBD7?C(u^ffY^ha5M3iL;KO|@|b zg}bI1)Oi=Yc921?UJG5i7^_iuU0Y)@D%^B*Wxf>VyeqtZym1hPZUc=SD7>M&u?~gq zcN)u3cw-BLT)t7b?C3#0m18KpiTPD_q0p0hmGvmRx!9nu++S+-W^y3(q8{Z43U3)~ zP{&)KcQ0cj3UBRXtUv|EE%d21$Yme6dy;Vgg}#G~y(rv6JBqx9etnHiDBRoCSc^jc zVq+01+;Y5aVbDsshQfeG<01<8G0(~=6b8~STo+?C3J=n*vJe$6JH}TA zt(21}Oc-rEgTllf#s(DLRcw%xcM0@Om_&b+gD6ZUFA8NQLrI}A4;9Wi9-^E=E+2v^ zgN>aiyt|vR5*2PZrd9^6lp`oSJiyq9!nC%=0#tax@gGxzR>~n1ruQ-E<8*jWkwG8d zBT!D5K{@3B3Z?ywttdRw(O}LW5$LB-Hp@7MLis?0K9)lT{Z!~cDHSrW8TXsZ&c z`Wrh?sP1ggR<&^5F|#&krJO)v)>wlwv!JGvu@V(-IA&J|t(50bc$D!e|`q%)EjWC$=$DomUSLkD-KpCN_+@Oz5 z&^*8(m(4J@z-UH=3yyh|Q=UiRaoSV%pfI0&D)e!_aM|(1w4jy3*q(p|j8EB$!h72q z&YE z_;6#;N_hc=r%H_dD14-s!5BUQt64t^YiG4^!ST^)K`Vv6d=%De5N62rJO}!GyPExq3~JiRSuxArN6Ngh0pae zXybFRwZK?}3RfMUpB1!HPNT4GlEIj_!50P@^!*F4y}Pjmg)eq6SOZ@as8`rA!#IS( zm--l+P}tetScVEW9bc{sS}A8x*frjuj$QDTVa7HTb~6vkYE-!8_-bv?N?}Z2g*_7u za|n444#IcuGN|*r zaHzYn9fj|8HP)bTxP{S(3TGYPpAxiEX!HBb*I&Wei3W3b7Jf}T%4QVK-DNz5 z!f#p{^H700h4a*_(D(E3Th_6%3xyYY8sy*w_+7EF2os4sl;=_SJ@qL2P`JoC zQMRG*hpxt26fU(jmZI>-z*v9^R~?t>yF$B{;ZL)S(zrl_1#z7SRKET+C!p$DW zRuulx&0t^u2i)plkQ46vw7PZ8@z1)Tm2wI_6%+=ejeRJ*Xpr#?3N3~hJ5YFWcVit2 zE!!GTqQX_j9kYT$?3We9UFy^De1xJ@hf;q`?EV|=}E z-O-J4D%8;p-Z0MCk3x6qQCMr;;f>Uz%tHmnCG?nTFs2^xCdQ?ZbME^Ta?i)H7KJyr zG!~))c^7(B8uX_FkZ6^=ojgF=P22MO05@2Ct470SK?1~U$27Ygs}Vvw76!jM_U^C%1*We__QhIKVo zqcFUs(TED?9YYwuFk-542!)aTjEyLaYHKjZql8P2`=4EO#!6JU zJdKw#0c(ARp02MAe#!m?f73O|COz3T_MPVZ2R%macKwHAQ zXiwRP!lYit8WbkCFeo!wU`+@mlMHfH0uPZVWitv>IvdQ<6nHoLnL?l6EnIR;W&V^i zC_Fsg*pI?A@~G@a;Xk??>rj|pWGqI78;Y%>2u^EMiPR1$} z9&2lmo5zInj>f4$p>i07rU3@IXoBXB27PG;?)x|x(_G<_V_tPosL;20@OX(qosYx( z!3JZT4^Ob4D4S4NKs(AB6yDp;coG$^I~I}$Jr@$$C_lp|H4xu@Du=lki`(qZ~$I$sl7V3jf{BSc}5awgz=96_|hF12YWz`TL%Op;ggQ1MhAt;9uz*p_?4$nSREL3sBp^h(Xm0Hu%^4?qffI9Yt}eE z)-otm8c~5c7S@h8_M-6dp2k`f*0Elc3!kPvVbfTHK5v50^mc3}&%$RmIyNt7Te#); zY(r3}oJC;^YfdRa;d87Tg)w{%wvvB^JZ^>0w=k&Z^TH{|Hs(#C%r^K!XJaWUTybol z9ux{+>|?A$VMn1c9~EA3d}(S>s2oCJXFtbwUJE-nJHFgLC{z}s!ez&<89|}KICsHU z)*5|LfxHO2tBs>5e07+y8-+dOL18ZU2sa#Gs|*U2BPcvg{}jf=^FW1PZ)wa%1?En8 zhWeH5D14)%LEpb2FxSG~NyalMe6xqaIKBz{ijDcGaMtmyi9w-4nQy^<`mfwT;oGb$ zg`9jF4)igo^8oB$?f6a*6e_i-K>fnODaNxXe3x7*8&EjZ)>w!Nj79j~G=nz32Zsk3 zyHNOk4}-P#ec(ADM>8s1a{Pe2E9CMA@Z2clX%v3g$ykO8R~<(fx56ABfgjPn!v69j zI9g=T)=}YtUG%Dvb4{aLvIpK!plp<$h2h_ktWdQTRm{V-+gUXW=yc zR!*SsOZu(sLE#MJRhFXyb1VF+#CQgUv)zrAsBqcw>#0GZvJZuGJq>cl{h`8hR~^4$ z+{!@|&i6Jpq43)d24nuMaKphfLWRmv6n;0z*owl1cE%!9AjiV*XBg!8_rN_O2W#UZ z{Gr%rMg__UmpFbXr&0LhL}Nb+m-`r7Q20}4V+9IVS{MzeaK`cHNkO4<7=^0?jBP0V zg?U$&p~7{?HO8+TLE*0hjm;=rZ*M$_3glb(8{=1=Md1eJl&vWI{Z4~2e-|z|_+DC} zasY*Y^e|STa4Rs#(=FkI&Itn~v7CL2KnC3Pqz0#!v)px*Drd zC~j%YLxppWmrM*=D|=CB+t=8P!b>|E@}(CtoR87eRi;SIE}(DoakJMAmvxI4U&dKBt-BlKu*kc%GhrWOW$d6RI_(X%>e ztuS{z;muQx<0$l+VjM%^EyIl6DDd2ngEo7^TkkaJ`&)&Zjy}wTauS8RM;p(e(6@)N z28DYHjd`eW*3qvdXswX*esC{&S2m!~zn!rV6)rj6RvxrgPM|PgoWUFnfcpj-J5U&S zm$3>JZaLo0IF!>U3>s_fMd2OHgR&Wg!JQ0pF<4+d3GXED3TyJ6Fl35x7=@wz4eA&Q z+(&Yd<6$tIaVm>Y;eunt^q{pu9V1}m0Am{pqdFT)QQ?~7e)^-(m-}Hf`B50tXc)sh zD{E00TWBmm;Q`tb#`QBcqVQmm!5ls)kTYRC^Qb(F!UV>vP-X&5EH>t&!dVCRidrkr zpfIVsu^NTRfzf~pryM1eQ=UfQA@ZrLM1>oUDV0HMH!9QsfL-4A=JjyQ9mY1yqi@3FU5u3|%nuCuHeaBB!V}Yt z!ze5uzse32-g}op9q)yOj8myY1=fx5KKiFThr*&E#vT;7Z{*m50{4v^Yf$*lw#E_^ z78e-vQTVTN<1`A3FFTgZ2wE%H_&!NG zj0#sAAFd8sE42M#cxt@CoIM2}>1S+3VRZ+CT&@>E)+g?m$3?k zwakNZ0)>y$u5u8CwTw?#H_+II!Y4WzjNuc)CCB>mptW)gg-?z$cA~I>_Lb$RaNY5# zx}dc}4nGAOrx?ufM)>pqV>=3)?lhi6h0Bi5JQB24$l+&T^AN{pnLlAOeGopo(zuDj zmImVt3ZI)~96(`fA7cXwpKog{M1_lvZM3g2_HFP5#;-h$!uB4I28KxMc7eb zJc$Zd9bc*qS}Uhf*g4UlZ#&`3eT|JM?4p0lVpL#^!dL2yvncE)&&snXe07Mi8-+bR zjV&mAt+PSjzXngYGic*!;hN*?d z4KlW&@U0HUDpa`c*k2j6R*sHipu$;a|$2gSjDEzRq zu?!W+n{cGuIEuoL1{=FjINHr%4v)f*X6NA>ueiVMv#~_D4f#Vzpl$EG( z%kk5OptW)ah3Bb9c@Bl2jWQV1&)`H~VD z*2-ZNe$mfZkHYC@c!pgrMii9wmO@atX%ZT%X~ z6&SNn;h5t$gM!w|W)#l1H|W!O;j-hmGlJI25fomaoWfdq0e;ufSdI!e92aVX*2+l~ zem~CGi^4_vsjNfc4~51&R5CM$GePGC|qu7uy!sB=Nx~U7_?UQp>U;} zL76MUEytf}OJVK)8LrZAg?YIOeU0Q6>@zI{>nTlJ5adZ+aNdB;cwlI^(fqE zXDmU5i;lmuZj{3)+#G07$4&T0Cu1cl+;rTU6|`1PpzzPZ#vXJ}P!x1FmY~8#$BU|i zBIN`MEhZZKPij*xVyo7!z^HAZ8qwUzBNTCmH;STyGytJFK0u`<} z+RX@xltU=Ite>$7h4yWYg{VM2gqKe;7{klqPV%U%Md1~J(TEC^5ju=BcBAmhE(T+N zCGcG`M>8s%alC3`P^8e-tDsYVV=D@;?rbo&S3~DVjOS2z4e`nb6z-xOg*m)Sc){`7 zsX>uK8?S{feT|JMysn)=&R-{-c61#V6e-W3@cP~cIpn@jQMZo9QdGF%ctc%Kq>!68 zK=kKu^1JoSLjK-%6SyHFXT9mLa$NA(9he2-M0=?TC zOHkpe3GcTzg|NDzGku2g#>G zUmk?<Q%_?B$zzOIEX^YU}F~w5A`r; z;~|)Gr?C_jm^b0ww4+exyJ0H%Qx2iPZxT7k!NV|(JSdw`_>T_8GE}(XnBEW+Dd$jl zPl-Wa-vcxH8LWjFP|A8xmZQQ|$0OB2k#Y=$vO&fc6w1k;vJe$6J1WY9B84&)P&vZb zgF;m|V+{(`tZQW+Dv%3dCiADThG)X8-Ud0H1vTxBC8%)0F?&W(q|o+kc$E23cA-#9 z`^st*=Fq;Ow9sJqo$_kZ{YfvLPr^&Y|$X^hcpD{|l>n8|zT`aDmZ?3TGVL zFDg==LE$6a4d(D8u$q1=^HAY}9k#ZV^HB$}7um(Oh(AbH>+8)LR6h7Y8ScD49 zkFbt;R#+?R;1gpF`t}J}&w5d)V?BJ5dKBvTq(J|K4JF2Y6h76*pv|(tt+fevQH)9_Xw&J&pA!9H1R#1q$D3X*8h1Imf|CL6Nc#1)dplutvF0RK$HE2YovP-wO=J{5|2a z6375iE#ympU@xWI10z_TTwXK#b8V);r}>3D9cbd6&TccN;u>A#n_-op>Mx{ z)2su9HE_B5P3cqe=Jc$aI9p`2TMan4@ep6zw z_J0HC`x@k$=YxuVOFhaWRJi7NVOCJ2oJQey}ae+g`18) z&_9JS{sAsAzY1f#1b<|l3S;~uT&5mnISPL&G?t-oB`_AE0{g4*XXZq?fWp;s;{*zS znPRYS`~|L!Huj_N*TKd<6t4F%7~6IDTW8}b6mAq5Poe^O6#mYF9`{@LBwh;9tp1nrH*sBq2kqROC+asq`GV~qnSym+9o1%;NKjMXUIQDDqR zg{zK&SwS1+Bnqu28hcSF>}9M&p>?sb2o)|nipqmF%5fCh3^8`2P~62>jtW;DFKGzc zC>Ky@%Q%%YD7>`9IE+HOVa9$GUN+F6jh8|D-Uc~n4=?X*tU}?=mIi&lQ@HMU1^rMi zqR^q*IETV3XBg!EmC$jDaSVl5jWrIU(20I3yHI#_4`V$FotY1%85PbtUPHagb12+3 z$k>L$YdaWAP~nQB3;k1$pzylE25r9%x^^|lL05rwCA@yN@jMFMMi@I#c*C8>VpO>0 z=uW;Aa?u^$INo4R-UvN<8?2cg@TT_0auj+peq|9V+;F^^Tqxw@&CqL#L7lzeEq#s6 zDD>`RP-k!9y5p_0gEk6%dn<5n$8ivay9XHCQRquO%2HHdoWecxjSDFBn_-ZvesC}I zqijQ=e@9~_3U3Px^7S@>GQxmS#vT;z>tj&IeK4?_u>pm*cQ#g`FsR6&uY-X5Iu7RO z9l{02;3+{Hg)t9?chZis5rrY`j76w$*)jBypp9}Ag<*pY*3vK--rZP@3O5}iW(94O zlPHWFXY5B|R6m29kAnNV8szGJfqI0|vkm5MG>jQ$>_lN~FJm1F541DL#RCF$2;*vv zvnV_`(I6KO!uSCOeHjlEm_KD1DqM9;WL(NA6y8;0972Kbi#ax2UDAcvJu z)z8?1LiL@-VpO>7m^nRYqdbektiHy26l&;?G7lBbJ7zOZ@C;BJOB!qScgIb14Sb9|sOXrmlOVc9Ta7YZL_ zzLm8oEN8xzMpQWK_@7BZ8)YvFD|#5KQTR|xgEAiy&Nx<5PC1AI&jL9%qOhv1u@DuQ zH{rvKSE0`zhNpHJBT)EASI27dC46L!V>N9HAD!q}P5*_D9&oJb8?;eqdkuVy_LW7b zK)!{wtQ+MR3LhV4>_TB(S7RkA+;n_`eM@1@d;->wGgve0;gjTBA!nb24K0jDR5h*kEYaFB8eIXMX5 zoo^JP!Ue~nDM1^Bu^oc%kr!nX3Wv#!vJe$0Cw!lLDu+;bmhmaH^(_3LrBR0pXC2Sc zp7JaT-2ZXxLg7evgF24DkJ=gwP~no}=p#WJ