From 843e4ac8e2c4a44f6df682629b61f19d4695591a Mon Sep 17 00:00:00 2001 From: Andras Fekete Date: Fri, 19 Apr 2024 14:27:42 -0400 Subject: [PATCH] Grab the latest certs from the `wolfSSL` repo --- certs/ca-cert.pem | 56 ++++++++++++++--------------- certs/client-cert.pem | 60 ++++++++++++++++---------------- certs/generate-client-bundle.sh | 2 +- certs/test-clientbundle.p12 | Bin 4197 -> 4328 bytes 4 files changed, 59 insertions(+), 59 deletions(-) diff --git a/certs/ca-cert.pem b/certs/ca-cert.pem index 58688a0e..33d90791 100644 --- a/certs/ca-cert.pem +++ b/certs/ca-cert.pem @@ -2,12 +2,12 @@ Certificate: Data: Version: 3 (0x2) Serial Number: - 2c:80:ce:db:47:9d:07:66:92:3d:68:d7:ca:ac:90:4f:ca:69:41:4b + 33:44:1a:a8:6c:01:ec:f6:60:f2:70:51:0a:4c:d1:14:fa:bc:e9:44 Signature Algorithm: sha256WithRSAEncryption Issuer: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com Validity - Not Before: Dec 16 21:17:49 2022 GMT - Not After : Sep 11 21:17:49 2025 GMT + Not Before: Dec 13 22:19:28 2023 GMT + Not After : Sep 8 22:19:28 2026 GMT Subject: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com Subject Public Key Info: Public Key Algorithm: rsaEncryption @@ -38,7 +38,7 @@ Certificate: X509v3 Authority Key Identifier: keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5 DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info@wolfssl.com - serial:2C:80:CE:DB:47:9D:07:66:92:3D:68:D7:CA:AC:90:4F:CA:69:41:4B + serial:33:44:1A:A8:6C:01:EC:F6:60:F2:70:51:0A:4C:D1:14:FA:BC:E9:44 X509v3 Basic Constraints: CA:TRUE @@ -47,27 +47,27 @@ Certificate: X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication Signature Algorithm: sha256WithRSAEncryption - ae:b0:a4:35:8e:8a:1b:a6:eb:b3:a2:57:cf:3a:1f:dc:6e:bc: - d2:d0:a6:4a:8f:88:0a:6e:74:d5:d1:7c:d1:44:b1:d4:3b:17: - 03:09:5a:46:ed:08:08:cf:f1:fd:20:07:67:c0:97:ec:35:f3: - 75:ca:20:61:98:3e:f5:4d:be:e6:9d:75:1e:e4:03:ad:8c:a6: - 1e:3d:ec:e4:1a:92:5b:f9:a3:ad:83:ca:4f:cd:aa:38:bb:6e: - ae:ad:fa:a7:46:f1:8b:73:ec:09:23:bc:f2:18:e5:b7:92:86: - 3e:a4:75:60:c7:3d:0f:3f:83:00:c3:06:08:9c:d1:54:d6:ba: - 6d:95:3d:34:a1:be:24:91:cc:20:03:11:5b:72:1c:d4:65:d0: - 11:88:75:26:04:26:ef:66:70:e6:3b:38:87:9c:53:71:1b:09: - 51:70:50:99:4c:31:0c:62:44:57:30:60:04:fc:12:2c:a3:24: - b4:f7:11:d5:0e:b5:21:0b:ed:86:11:67:4d:36:fa:57:a0:59: - 55:21:b3:6d:e4:77:5e:ec:7e:f0:09:13:8e:99:98:b2:e1:82: - b6:4b:3e:0f:41:a6:0c:cd:49:99:7e:e4:8a:cb:37:ed:53:cf: - 86:5d:a9:26:a8:e5:01:25:5a:b4:bc:25:35:f1:fa:5a:5c:ce: - d4:b8:9a:2c + 2d:fc:f9:32:5a:be:d6:9d:42:8b:86:4e:67:22:c3:50:2d:cb: + 14:27:1d:94:f3:cd:88:42:da:41:1c:39:24:67:a7:92:4d:27: + ea:56:82:19:bf:11:b2:43:a4:8d:5d:87:b2:27:64:66:82:81: + df:c4:fd:5b:62:b0:c2:4d:9d:29:f2:41:32:cc:2e:b5:da:38: + 06:1b:e8:7f:8c:6e:3d:80:1e:00:56:49:bf:39:e0:da:68:2f: + c4:fd:00:e6:d1:81:1a:d1:4a:bb:76:52:ce:4d:24:9d:c4:a3: + a7:f1:65:14:2f:1f:a8:2d:c6:cb:ce:b1:a7:89:74:26:27:c3: + f3:a3:84:4c:34:01:14:03:7d:16:3a:c8:8b:25:2e:7b:90:cc: + 46:b1:52:34:ba:93:6e:ef:fe:43:a3:ad:c6:6f:51:fb:ba:ea: + 38:e3:6f:d6:ee:63:62:36:ea:5e:08:b4:e2:2a:46:89:e3:ae: + b3:b4:06:ef:63:7a:6e:5d:dd:c9:ec:02:4f:f7:64:c0:27:07: + b4:6f:4a:18:72:5b:34:74:7c:d0:a9:04:8f:40:8b:6a:39:d2: + 6b:1a:01:f2:01:a8:81:34:3a:e5:b0:55:d1:3c:95:ca:b0:82: + d6:ed:98:28:15:59:7e:95:a7:69:c7:b5:7b:ec:01:a7:4d:e6: + b9:a2:fe:35 -----BEGIN CERTIFICATE----- -MIIE/zCCA+egAwIBAgIULIDO20edB2aSPWjXyqyQT8ppQUswDQYJKoZIhvcNAQEL +MIIE/zCCA+egAwIBAgIUM0QaqGwB7PZg8nBRCkzRFPq86UQwDQYJKoZIhvcNAQEL BQAwgZQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdC b3plbWFuMREwDwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEY MBYGA1UEAwwPd3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdv -bGZzc2wuY29tMB4XDTIyMTIxNjIxMTc0OVoXDTI1MDkxMTIxMTc0OVowgZQxCzAJ +bGZzc2wuY29tMB4XDTIzMTIxMzIyMTkyOFoXDTI2MDkwODIyMTkyOFowgZQxCzAJ BgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREw DwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwP d3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29t @@ -82,12 +82,12 @@ BgNVHSMEgcwwgcmAFCeOZxF0wyYdP+0zY7Ok2B0w5ejVoYGapIGXMIGUMQswCQYD VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3 dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbYIU -LIDO20edB2aSPWjXyqyQT8ppQUswDAYDVR0TBAUwAwEB/zAcBgNVHREEFTATggtl +M0QaqGwB7PZg8nBRCkzRFPq86UQwDAYDVR0TBAUwAwEB/zAcBgNVHREEFTATggtl eGFtcGxlLmNvbYcEfwAAATAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw -DQYJKoZIhvcNAQELBQADggEBAK6wpDWOihum67OiV886H9xuvNLQpkqPiApudNXR -fNFEsdQ7FwMJWkbtCAjP8f0gB2fAl+w183XKIGGYPvVNvuaddR7kA62Mph497OQa -klv5o62Dyk/Nqji7bq6t+qdG8Ytz7AkjvPIY5beShj6kdWDHPQ8/gwDDBgic0VTW -um2VPTShviSRzCADEVtyHNRl0BGIdSYEJu9mcOY7OIecU3EbCVFwUJlMMQxiRFcw -YAT8EiyjJLT3EdUOtSEL7YYRZ002+legWVUhs23kd17sfvAJE46ZmLLhgrZLPg9B -pgzNSZl+5IrLN+1Tz4ZdqSao5QElWrS8JTXx+lpcztS4miw= +DQYJKoZIhvcNAQELBQADggEBAC38+TJavtadQouGTmciw1AtyxQnHZTzzYhC2kEc +OSRnp5JNJ+pWghm/EbJDpI1dh7InZGaCgd/E/VtisMJNnSnyQTLMLrXaOAYb6H+M +bj2AHgBWSb854NpoL8T9AObRgRrRSrt2Us5NJJ3Eo6fxZRQvH6gtxsvOsaeJdCYn +w/OjhEw0ARQDfRY6yIslLnuQzEaxUjS6k27v/kOjrcZvUfu66jjjb9buY2I26l4I +tOIqRonjrrO0Bu9jem5d3cnsAk/3ZMAnB7RvShhyWzR0fNCpBI9Ai2o50msaAfIB +qIE0OuWwVdE8lcqwgtbtmCgVWX6Vp2nHtXvsAadN5rmi/jU= -----END CERTIFICATE----- diff --git a/certs/client-cert.pem b/certs/client-cert.pem index 4bf36d37..88955531 100644 --- a/certs/client-cert.pem +++ b/certs/client-cert.pem @@ -2,12 +2,12 @@ Certificate: Data: Version: 3 (0x2) Serial Number: - 73:fb:54:d6:03:7d:4c:07:84:e2:00:11:8c:dd:90:dc:48:8d:ea:53 + 08:b0:54:7a:03:5a:ec:55:8a:12:e8:f9:8e:34:b6:13:d9:59:b8:e8 Signature Algorithm: sha256WithRSAEncryption Issuer: C = US, ST = Montana, L = Bozeman, O = wolfSSL_2048, OU = Programming-2048, CN = www.wolfssl.com, emailAddress = info@wolfssl.com Validity - Not Before: Dec 16 21:17:49 2022 GMT - Not After : Sep 11 21:17:49 2025 GMT + Not Before: Dec 13 22:19:28 2023 GMT + Not After : Sep 8 22:19:28 2026 GMT Subject: C = US, ST = Montana, L = Bozeman, O = wolfSSL_2048, OU = Programming-2048, CN = www.wolfssl.com, emailAddress = info@wolfssl.com Subject Public Key Info: Public Key Algorithm: rsaEncryption @@ -38,7 +38,7 @@ Certificate: X509v3 Authority Key Identifier: keyid:33:D8:45:66:D7:68:87:18:7E:54:0D:70:27:91:C7:26:D7:85:65:C0 DirName:/C=US/ST=Montana/L=Bozeman/O=wolfSSL_2048/OU=Programming-2048/CN=www.wolfssl.com/emailAddress=info@wolfssl.com - serial:73:FB:54:D6:03:7D:4C:07:84:E2:00:11:8C:DD:90:DC:48:8D:EA:53 + serial:08:B0:54:7A:03:5A:EC:55:8A:12:E8:F9:8E:34:B6:13:D9:59:B8:E8 X509v3 Basic Constraints: CA:TRUE @@ -47,28 +47,28 @@ Certificate: X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication Signature Algorithm: sha256WithRSAEncryption - 36:cb:bc:c5:52:9a:66:cd:91:4d:8f:27:9f:b3:64:80:0e:64: - b4:cb:1a:cd:75:9e:82:7c:55:67:d8:9f:90:a3:34:96:99:43: - f7:49:53:a2:58:85:a0:b3:83:4f:af:b8:15:8a:88:1e:f3:60: - f4:7c:94:b5:58:68:f1:2a:13:80:34:c2:6f:a5:f8:7e:76:16: - 81:4f:36:8b:c3:59:bd:51:dd:60:87:d7:1d:96:44:69:07:3c: - 8f:28:56:b1:11:5c:4e:81:3f:57:25:fd:65:dd:07:cf:17:0a: - 01:7e:4e:3f:8e:73:db:fe:f4:f2:c5:ff:a3:76:a8:74:46:2e: - 47:0d:b0:ed:0a:c0:c5:0a:65:d3:dc:62:b2:e0:1e:8e:bd:f3: - bd:af:af:66:84:36:92:e2:3b:80:d0:57:a6:41:a3:62:d1:a6: - 6d:14:6c:cd:82:b1:c1:c1:35:55:ae:59:49:a8:26:52:bd:ef: - 1b:2c:1f:9d:39:04:d2:82:a0:6b:39:71:59:33:82:ba:55:6c: - 97:f2:1b:5b:e0:4d:e2:cf:89:e7:26:b8:2c:6c:9f:83:d6:ed: - 4e:2f:75:a9:30:4e:01:95:0d:4f:83:5e:c8:af:7f:67:ea:53: - bf:ca:9b:1f:d4:ff:36:97:02:71:8e:33:de:e2:58:27:aa:70: - 0c:5b:de:0e + 89:84:eb:6a:70:3b:2a:6e:a8:8b:f2:92:79:97:5c:bd:98:8b: + 71:db:db:7c:df:db:a4:2c:59:d3:a6:75:41:c2:06:b6:17:1e: + 0c:1f:7d:0b:7f:58:3e:c1:e7:0c:f0:62:92:77:ab:99:79:7b: + 85:f4:d9:6c:d0:0e:e5:8b:13:35:65:9e:d7:9a:51:98:e4:49: + 44:51:c8:e3:e0:9a:ff:c2:cb:3d:81:eb:ee:f4:1a:d1:96:4b: + e9:7d:de:5b:f2:64:40:ad:e1:d9:d6:b7:e1:eb:a9:3a:52:29: + 89:aa:07:37:96:44:e3:23:49:f3:be:f3:0d:70:d1:a2:ce:78: + 86:22:fc:76:00:84:1d:fa:8b:8a:d2:43:93:88:fa:ee:22:cc: + a6:86:f5:3f:24:f1:d4:70:05:4f:3b:18:32:50:67:c1:80:77: + 0d:3c:78:75:35:d0:fd:60:f3:ed:a1:30:d0:62:25:99:6b:80: + 56:17:3d:b4:af:1d:df:ab:48:21:c1:d2:0b:6b:94:a7:33:d1: + d0:82:b7:3b:92:eb:9d:d6:6c:32:81:5e:07:3c:46:34:32:7b: + ea:22:db:a6:a3:18:69:7c:ad:17:e4:c8:a9:8f:a8:ba:67:af: + 99:39:ef:6e:0c:f8:a9:b3:bd:ab:71:94:e0:41:aa:a4:2d:72: + 60:51:d1:5c -----BEGIN CERTIFICATE----- -MIIFHTCCBAWgAwIBAgIUc/tU1gN9TAeE4gARjN2Q3EiN6lMwDQYJKoZIhvcNAQEL +MIIFHTCCBAWgAwIBAgIUCLBUegNa7FWKEuj5jjS2E9lZuOgwDQYJKoZIhvcNAQEL BQAwgZ4xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdC b3plbWFuMRUwEwYDVQQKDAx3b2xmU1NMXzIwNDgxGTAXBgNVBAsMEFByb2dyYW1t aW5nLTIwNDgxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJ -ARYQaW5mb0B3b2xmc3NsLmNvbTAeFw0yMjEyMTYyMTE3NDlaFw0yNTA5MTEyMTE3 -NDlaMIGeMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwH +ARYQaW5mb0B3b2xmc3NsLmNvbTAeFw0yMzEyMTMyMjE5MjhaFw0yNjA5MDgyMjE5 +MjhaMIGeMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwH Qm96ZW1hbjEVMBMGA1UECgwMd29sZlNTTF8yMDQ4MRkwFwYDVQQLDBBQcm9ncmFt bWluZy0yMDQ4MRgwFgYDVQQDDA93d3cud29sZnNzbC5jb20xHzAdBgkqhkiG9w0B CQEWEGluZm9Ad29sZnNzbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK @@ -82,13 +82,13 @@ Ztdohxh+VA1wJ5HHJteFZcAwgd4GA1UdIwSB1jCB04AUM9hFZtdohxh+VA1wJ5HH JteFZcChgaSkgaEwgZ4xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAw DgYDVQQHDAdCb3plbWFuMRUwEwYDVQQKDAx3b2xmU1NMXzIwNDgxGTAXBgNVBAsM EFByb2dyYW1taW5nLTIwNDgxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNvbTEfMB0G -CSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbYIUc/tU1gN9TAeE4gARjN2Q3EiN -6lMwDAYDVR0TBAUwAwEB/zAcBgNVHREEFTATggtleGFtcGxlLmNvbYcEfwAAATAd +CSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbYIUCLBUegNa7FWKEuj5jjS2E9lZ +uOgwDAYDVR0TBAUwAwEB/zAcBgNVHREEFTATggtleGFtcGxlLmNvbYcEfwAAATAd BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEB -ADbLvMVSmmbNkU2PJ5+zZIAOZLTLGs11noJ8VWfYn5CjNJaZQ/dJU6JYhaCzg0+v -uBWKiB7zYPR8lLVYaPEqE4A0wm+l+H52FoFPNovDWb1R3WCH1x2WRGkHPI8oVrER -XE6BP1cl/WXdB88XCgF+Tj+Oc9v+9PLF/6N2qHRGLkcNsO0KwMUKZdPcYrLgHo69 -872vr2aENpLiO4DQV6ZBo2LRpm0UbM2CscHBNVWuWUmoJlK97xssH505BNKCoGs5 -cVkzgrpVbJfyG1vgTeLPiecmuCxsn4PW7U4vdakwTgGVDU+DXsivf2fqU7/Kmx/U -/zaXAnGOM97iWCeqcAxb3g4= +AImE62pwOypuqIvyknmXXL2Yi3Hb23zf26QsWdOmdUHCBrYXHgwffQt/WD7B5wzw +YpJ3q5l5e4X02WzQDuWLEzVlnteaUZjkSURRyOPgmv/Cyz2B6+70GtGWS+l93lvy +ZECt4dnWt+HrqTpSKYmqBzeWROMjSfO+8w1w0aLOeIYi/HYAhB36i4rSQ5OI+u4i +zKaG9T8k8dRwBU87GDJQZ8GAdw08eHU10P1g8+2hMNBiJZlrgFYXPbSvHd+rSCHB +0gtrlKcz0dCCtzuS653WbDKBXgc8RjQye+oi26ajGGl8rRfkyKmPqLpnr5k5724M ++KmzvatxlOBBqqQtcmBR0Vw= -----END CERTIFICATE----- diff --git a/certs/generate-client-bundle.sh b/certs/generate-client-bundle.sh index 3aa3e206..063c6cf6 100755 --- a/certs/generate-client-bundle.sh +++ b/certs/generate-client-bundle.sh @@ -1,7 +1,7 @@ #!/bin/sh # set this to point to the wolfSSL root directory for updating certs -WOLFSSL_ROOT_DIR=~/clean-wolfssl +WOLFSSL_ROOT_DIR=${WOLFSSL_ROOT_DIR:-"~/clean-wolfssl"} cp ${WOLFSSL_ROOT_DIR}/certs/client-cert.pem ./ cp ${WOLFSSL_ROOT_DIR}/certs/client-key.pem ./ diff --git a/certs/test-clientbundle.p12 b/certs/test-clientbundle.p12 index 1151f42f3bd7c012d06fdcd5b74ed6cbb97a1d9e..0cd5d8a0261fe2590f18e34f29645dd322301c41 100644 GIT binary patch literal 4328 zcmYk8XEYoPw}lxq7>wR~@66~Sdh}kRM6c1Kw;{@45WSNSy^9hp(K|zkC?R^(Fhosc zg!uBUd++<+A7`C)p1scgxz~mvNOu9)I4}h1OI$ENQUiGn!N$WbL69Z^5v1{daSRMW zaQ&}@TY@0?_80wq!uq?`|5dPIjJO2<>p=9^kr;?Sh5JOYV_TOW0KmtJLJ%}FVIIR$ z<%fA{0FpADF(hp46lREok4w=ZGpqRtBy9B%KH;%hp?Nzc0{ZuwhuHhebb9XZpNz)4 z$}#w!z0(ZMv+NA}o@J+*_%s=K)cR}6C@eRP&!VvI9?{Lf-KfeuI2XCw@e)fYSwQ4y z^QiB$RTZSr8nt)Rmsb4g^EzkrOHA~0{bBusIJT1N#3Zpr-NY{sJFQI8w}7$Fpv-;G zfvfjY<@ib-KlE6UwFo@GP06%Xgbo91(;n{iB3*a6{~f;>bu+_dqC6GZMwGFbMyR5G z$afcJLeS&cTa(-32G{2AC{M}ow$HFhr$+_csL{q+3z~ADAVLP%9*j}lv^N{wG(sKk z#5EH<=rxZ>AE*3!To(UkoSwX#y@rI4bI*1ngc@9u^KCB=0MRV!t+fy}pg6DOHIWgG zNll(&d4MCT_DDXAq)u$vH=%HRJHNr2Y6jhmuU*j7*4KqGvryfPq6e{ z9VL)SEMy^nu^nI#tAJ&rp>r(GlX6)Sm6Pju`3<+Hq=wLDQu7sUIn`vi2X0Pie?9Q! z0(V;~BFCc@uXG5DC&Dj>Nr?g1gJ!08gbT~J%Udy@LZgL1&>-=H2WG;whS$<4GhAP< zHX!J#^%3dS9?o^JPauD+#V*ks%KC3gQ3UC+2_%o(;@h3B%R<%zsE^g#u8j6QcFZ?r6de?gD8y-;1+;TKpws@|biK`bVHLHQbDg z?M5NcY1(WC+$VK4#C7OwKTq(X$dhIa>B)j~JhyUB?o6Tr@2WB&PJh4hB69C)4U5u- zJH^RWS=7YNK$Xipl&qz2nQBCUuWo8GdUR$VJsKg(a?q|kyK1Qj=^_t8q)YmKVQ735v$ z%~v_cWESRq765+U%uNIJz*x3K=$XX94W*sTw8gT?+1sTxd)4EeViqJ1|F}^t^_V9} z$BnuEu?g`P7W*&O8V^B5OM}{%2m;I%@{L-d$@=c!+;yZIquZ2A^PA_%Vn}X`y(A}9<#Z$+xCm@m;*J#oPNXj7Y(D2P z(g5AY<&6h%-4k$d)@yiQckWQllaXyVm7s6E8<+%Q*PQ!JSq4+7~)?F4<(tN=1(*w$y3e~uE_5NM2(c$dU_P4 z#^?8wBO{E**Q=S@ene6QN0oz#K@?^-MO#5~)0ugz+2+6IIigt4h(SF#pF_+O`OQS6 zr+*S}%lwg|lh2&&A0IB8tlE8|Dy8t9Q|kLF{b6^j?7?BM)4W;G;e_|qg}p78afqa# z(WZ-FhT^RV^wf?Jk}0MxTbzn%j3bI>&M+8|zLuKH-Vt3c^5goGtsNFp)0;yvs-Zx2 zfRhAjG9+0>*a&SF`CrXY8%i=q=5v*V=fvGf;B~6(G|ulZn}j7T0Tu2*@f9Y@(p%F0 z)6jKMR}^7Q)SulSxG6PJF|6B%7(S$1?@x~BQcRF`s5^&Idg^bh`ysDMX|kSmNnpQG zkgw~5nP8GS92L?-KECM+4$E}X42xE!0BXK9b?;c(ZP7{}F!J8;V$qAJ$&3d_^{A)M zxpuJcsdBB=f#@*%Nx82U{i|X1pe@a$wN>c^V;lNb7`be&idt3op#H6qW^ZGJ2?0ts z7lq6D-X}mohu41XwN%inTypwd!Zgu)!WZ#pLi&l-x(oD_es2xzYIV|c2CEDpyJiG& z@=1pXZ(Bs&6OwOd<04O2FP0_vWG zKPjM8#Q1hrleA1r^D~TBF3bfq(ZgV9?~i6?r?vUv(!>t5@<;RMN^c4Hdo^tsM1akF zY+A;gV&ZB>>v;GpTrtfKVtA20 zPl=2)T<-SvWtZMW`Hle*07qPkm(!?*xj4Md&!VUDQ?(!p$e-{+&>O06w|g>o>}T4C zb}lv~4->j&-SDpu&&+Idz2t=&*Si2)Vz(Q*oH|LcDE4~dA8fvVtcvv(a;K?#ga9G% zho-3Iqizxb$=gQx5e@1O?qn;Md)lPEJd8hzJp#5B$C;dC#mSvsBt;1Zq z)LI?4ZmoLs@SIK0lTn`;)+vs|h5AmecAfTFGg0}?fr?&T%PH?-20pza0k|KY18^RJ z3V%guO)krVlCa9h&>x@iRJm$BqrH82`_oj|lJ;E_wB-@4iYOFkd7%I2>{m>CJa~fL z_rq5DWf{O(x|#xiw(1hh-*chtAia6ge6I;Jf`&W@z^+`o9; zYsP!9!DW!}w1GQfi+vJ9>q75FJaUoo2IaAcT9W3TwZY*uFs4+wMhZ3cjA@-g9H?pbq@)np$>rCeb8U zU1pdR<_+2?)jbKG@J%$?%{dOEZjfuJO%t(UFn?SUnfbi5!1OR6`p=WF_a%d*0{a=& zJ`=RKacfTPrmFDapD22{5zO~CZR-?wcSJ^|s}x~dJKbf{v@N~Nul1>_SKKwiAEycI zXott5O0gC;91-AqN3IrlRzJIaT-*Lkw{J*+O zfDQO7iu{E_FtdL?KoFP~jPKu*2*wD+2Zmz&aELBm{I?Ush;Z@$#{vKbVZoSi!FEUu zY-b!GHb0PbK6d6ld3fv#AKOaofy0s-5CNPGa4YV47LET6f9QcxI%#(9^rv+HuUNh# zJyC{j3AG|AhDtw-lD@S&-aArmFTA>pHV8Pau@`Tdk?eoECR}h#+g+m?V4IeF)Ww>D z%9C;HZa(tasyXV8o}(Y*2%AmXC%Dh6x=QAOq=iBi3#rd7TlE4@Iao=hodl6*U)q2} zxtkb8nEhVL89X$u$pzSz!UD@#HJOP2TnA3Y6nsw1V%sPq(_@oN%p*_ ze%NUKTq2wgj{tNpRbz|f*EcF~B@iPdA1tyC5TDHt*OdRB>_ZJQTr-CIY!mm1#qs>Q zXzv&t6%xbA!aF8Pjhvq=9`aQ^Bx7Wxl9NR#TFDY*21b=~LT%4FheX3Srp*#gtKYGE z)^I+`_YJD4^8t>OPGe?`mFeS*sWP;PI9nXANm${BbHqcLttR86rq2rV5Xt#c&e)iS zM(S*!MPPL3F!=&;s3n-y=ypm8?}=mB9l8qc;N;(Ite#P|>gSy4#cd z=CiR-?IFj!i{Lk;xwcK&vD+s)U$6k!Up2jbxw^hB{)UHZIX_+(mX`N=$>&r0q$Ch+ zxu$t3v5Bpnm7f?>M_A)WHasR4ytF;79oM&PgIp_nEl^|}nETT(@`UVCP4v~zCEh>i z+DHAD6KW+G%gjy8^8J`X9IkTCPZ~6_+?bQ%E0TK+$gYS8)%fL5((Mac2?7V~(Bd zN*T+Oa9<5++hmr}I^Ea%SmP-bp&0gtKajqLQ18*PjnYaRy`kd87ee01xyJK z^NG#x?-!-uS1PwU0*rT+6LMdXM$d%dUGKB?)*9-m8r6@-(ey14La(PvKzQS;>=xvB zj`qopm>KK2>2{@40oe<`T5_cgE-d>@YzOqhl+2)=7r*C*N_lW7`2LHIr~b~(4b@$) z?4FSP+bri_Lyq3?KgSq|boZjOG$~z?c>3i!Re@Y;_%>_l*g_!=Mr&kZ7x%H6b1&{iWQr*fQ=0`% zrc121dMY1F}QSF+bUEGrUVm#LH0Ru3C5GMu+Duzgg_YDCD0ic2q7zBb46flAi5HNxY#|8;1hDe6@ z4FLxRpn?jxFoFuS0s#Opf(oq$2`Yw2hW8Bt2LUh~1_~;MNQUFV_a?v=L^TygE=*spW85UeK5%?BB+9uATK((12`6#4uM{-{?mJ4rw3(KB}wO zMLN;bl4g6zKwcHSn)GI=0`*x~8hQ9`bz>nL8rM>94kZEG<=4LCWao!_h}sB}&$`Sz zH+6bOvqUuD>o%QFt%6%_6J^g15lxsAE=BtA)ZezjA0!3c zNX-s3%}mYEjtkWQe~d}1=jaeHen@-cWA+G|u^(+T9T8uwsAKps({%-3-4ksXpjwBk zs+Evw%pw^aqo~hoy5wzoanOi=eQ7jiW+$h1IRWe>>VZc4A@Dzzk1aQs8$P=mYPt-z zbkU&8qZnnoncd2dIT~pb z`y{|p7250S-g{-iXgl7QuX|rj(*y05B~-m(vi?c>J6XOGSQH_M!OxG)4EH1#H5=IS zs6H9NL*KEx_3|eE?%3grH>L)i_$TA24ci$83LhkkqAO|v3k={t?$LArck~KQ!-<(- zt&#s_{>$T=?@mNR0<|3@g;&7GMgOdoqSeN*S+B&28&GZyzgeIngi68flua9dEd1%l z(J&ZTA2c~5)<9UTWTWI)A?dMq?3Y}s3Y;~Q zhiuhN->8B035#5!6|-;0vv1R5vh25TSWBnkUwri%92KKO_anrzv9nyD!)msk%5Z z8`%A(!IyN>8x7F;3PAo@Y4CHmNxSdm;i8)sDe^h^O$OXSDdPq2f$fT&Pr}O3bpZ_d0aW|CP~FUK3)Zsmmt-$j{Ziy(HG&7`+hNhpmHp| z%s;v`QPcXnFF~*k&3GDSF|;4WY^U)_y-t^nuLd7;MOZp>2iF;)_~YV8 zf8AkLJ%x2G5qMFJlj9pw1r`1N{WCR#GTeCH?%-qNxI}#)i$Mhb4ff6%$~!RaY%Bhi z0`Y{)xZvj5g9h0z_Jm46M`-$q7=jOr0Apxj%y6o|*!sqT@N<}(s$63i_A@3(MZ4KA zHF{tTsp>MIpKMzll!;PAC`>xDI@N3K55UA%)ca6f`kEpZRAh3cW`m!I>@nK5PksEt zEDcLIs~Ig4cB-MzKylI&Tr0ZG-rt-q@;6QzpLGA{9JALllB?Q)mEpZ+vz`AM(oF8} zH@=Uqt$2fJ42O5zLDfzJv8`e7HwF*aB?0(t5g~D*v*nF1L*qV}hmL6~M`&nPdMnSG z=Gi~4AedWRPApJ?n5K(RxOfLRFLi}yV<=CFN0z#1O(Ncb;PZ1j`Wn-9(fKoR4luaq zY@_eY-Wwz^AB*$sCoq_o-z2h3ERm^eOCK)X(jdk{*--aZuUEyQb8lM7!4fSr2hPUp ztM076Pqx2HMXYTnLV165B~eo4>g>+`nbN`P263YYfJcojY+K5V1uuVpEc0E^mDbSR#F^_dsv_V49m^@C_B?>!;1a9`S=_;!AS2 z`5SXnYtoS0!xq#oP4H0XS3WImZj|=nA0)Wf@V(nMQ6EPB%>6eDIb}NIGQF;#BzvsM z9WQVR#)99dQh{uXN^^d~^i&J61x%wd7QJn9f(SEn1XNgavHeQ5!pj#mx*&d>krLi` zF`?SWUIB76KF#g~!-?BU@Faz}KC1syp@)KrSF9(n@wm7WZC`K=0@Da_SUv-CG)z9% zEs)Ly(}Sq5F|E5_dsP$OCZc`lXbx;6M_l|Y4#T@@C)UJ5sAP@rsNSOW$NlDgcLDyi z12-Jk->5cJfy@kgRZ3hHupOEv&t4zY1hTpHY7413@_rZGGjnxwWORREuULFD?oqJ8 zcnGHWEjOVb{E)yaSr7UvbSY=S7Sn;}+ z;NhK4Z>vc9U||@Pqr0wPvNoAg{&x*;kl`j!{9TT|L$yFO0{nv+74>j*V1UBN$=|N1 z$T5Qlh9#bf=~DEHTSitlsCtq+bhnHu3s%A!ZEYVdcT=(^^zR>0FC5dt-ZmYXI#Rnz zQt>Nm%Qp<-b$I}Fq0KT12RvnYT!_x4&o(_me=csOM59t?dJPr94Py0%fkto~pL3HV zzYE+C=|54pZ&FyUEcvcReh(TFv8z>-;aIfi?)yGpMakktJ4Jg#-?MN_DBfm{`(L37 zQIY-V6>!WaZSPH!Fam(ZY7}KQ%fu^KvoVsXegjTF`Ce;qXH@OjMo>5|Y!)_6t8b2` z3$-k|m^-U9lof?F!L*`i){{UtyCc&+p3(LmV)}pQSud_$>1*a&QQhfqC*9w*0B!SHY|0P9TWqIhd*1k5s%~bKfV_h@q7M5MC(yQFoFd^ z1_>&LNQU$c9k-&fSnNcTSLy&v zNWh4$RQ~ioLV|Ebj{qO>^Z1>ip*Dnsh7P|!Ykv??;S?jfh66F%yRFK2Up{K&Mi?+? z5=QE~VOB;^GDT2i3YPNv(;n#S*?-Gd~AL-Qd-=J|St%6^WkrG|sE;CJ)enHc^uEx6dL7_Y=SZHWlpspivwnzOC z+Ey*pEp6zXl2$*rA1cE_&`*}NH82V*=6ZAi5!bO#dk}g%*YtMjxL7h>`-jk;S(OU~ zU{q+-0%mVrD7fq=w5$m(yYtk$I#IZ|8;dEpG{QfcbX7p+a20SE@Oj{;Y2&8wQ3l#i zPMlFHPn^tP^1AQnjkX?m5EQepo)CR3WTrHu0B#M!q8A zERUGFzq}O3XNl6P2%sOOFjE<=L55XxH@Z&xj(q91KeGo1d9`Oun{LC#555&IU5AFjf4e zRCgK>KELZ?`OouszK>wRT$Tgx0+10okNR%u&^NZw{T_~L&w_}flb}!E5;Rz7j;Q9m zO55Rb365_EwtLv`S(9b3fYOg2-%)eTA}9*l6^6T_Lc?@{J0xn1Bjjdm&e`a?_!zI+ zn>Q!-G~y$E9Dy@+u&H;6$KI4$cIA%zFRMx0UqMEG|C+5X?DxW)m1w$GA4mi3;cjov zmI3;q&xzSdwQ`Cn^ius+@g2RdBYqvu_9Afqjd4FdzY5+FrDb8$+jdO>_nFSja9Kb( z4Ghi0?pL4?VhDiZvi=*WvaiAkV-Q)2Z1Ina(AjW(=_Vk({Fnx~p~Qi^(LqPyLwJ1* zKwS6Bm|%pd9;Lpe4B3T%T|-QRx~0F+@v7caQmc>Cn*6ve|5%f-mcU^|@t24k`CQ=Z zos#?@Dt_Axj7e4szFM9irB!h#X=&F;#?YH=03bDX*i6}nvyW|mn30$+G`4KIdV!gu zhe{%CamE_m?aS|mrT6hB60n7i`x}oO5>PGe6)Fsf@gK4AVx_+0Zgo=`CVd4&%WF%2 zm90O4p?Ki! zcThG3bSyC?Fe3&DDuzgg_YDCF6)_eB6t!Sn+phdDB1*Ln|0s;sCV@2aW