From 61875691ef193141f49d762c538500b08982c33f Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Wed, 18 Dec 2024 18:17:01 -0500 Subject: [PATCH] Modified S/MIME certificates for unit testing & improved tests --- UnitTests/Cryptography/SecureMimeTests.cs | 99 ++++++++++++++---- .../TestData/smime/certificate-authority.cfg | 6 +- .../TestData/smime/certificate-authority.pfx | Bin 4592 -> 4626 bytes UnitTests/TestData/smime/dnsnames/smime.cfg | 2 +- UnitTests/TestData/smime/dnsnames/smime.pfx | Bin 10100 -> 10124 bytes UnitTests/TestData/smime/dsa/smime.cfg | 2 +- UnitTests/TestData/smime/dsa/smime.pfx | Bin 8068 -> 8084 bytes UnitTests/TestData/smime/ec/smime.cfg | 2 +- UnitTests/TestData/smime/ec/smime.pfx | Bin 8588 -> 8604 bytes UnitTests/TestData/smime/intermediate1.cfg | 4 +- UnitTests/TestData/smime/intermediate1.pfx | Bin 6488 -> 6504 bytes UnitTests/TestData/smime/intermediate2.cfg | 4 +- UnitTests/TestData/smime/intermediate2.pfx | Bin 8348 -> 8372 bytes UnitTests/TestData/smime/revoked/smime.cfg | 2 +- UnitTests/TestData/smime/revoked/smime.pfx | Bin 10164 -> 10188 bytes UnitTests/TestData/smime/rsa/smime.cfg | 2 +- UnitTests/TestData/smime/rsa/smime.pfx | Bin 10164 -> 10180 bytes 17 files changed, 88 insertions(+), 35 deletions(-) diff --git a/UnitTests/Cryptography/SecureMimeTests.cs b/UnitTests/Cryptography/SecureMimeTests.cs index eef1ea46d7..1c60688606 100644 --- a/UnitTests/Cryptography/SecureMimeTests.cs +++ b/UnitTests/Cryptography/SecureMimeTests.cs @@ -78,6 +78,10 @@ public abstract class SecureMimeTestsBase public const string MimeKitFingerprint = "ba4403cd3d876ae8cd261575820330086cc3cbc8"; public const string ThunderbirdName = "fejj@gnome.org"; + public static readonly string[] RelativeConfigFilePaths = { + "certificate-authority.cfg", "intermediate1.cfg", "intermediate2.cfg", "dnsnames/smime.cfg", "dsa/smime.cfg", "ec/smime.cfg", "revoked/smime.cfg", "rsa/smime.cfg" + }; + public static readonly string[] StartComCertificates = { "StartComCertificationAuthority.crt", "StartComClass1PrimaryIntermediateClientCA.crt" }; @@ -102,9 +106,6 @@ public abstract class SecureMimeTestsBase public static readonly X509Crl[] CurrentCrls; public static readonly Uri[] CrlRequestUris; - public static readonly Mock MockHttpMessageHandler; - public static readonly HttpClient MockHttpClient; - protected virtual bool IsEnabled { get { return true; } } protected virtual bool CheckCertificateRevocation { get { return true; } } @@ -122,6 +123,8 @@ protected virtual bool Supports (PublicKeyAlgorithm algorithm) protected abstract SecureMimeContext CreateContext (); + protected abstract Mock GetMockHttpMessageHandler (SecureMimeContext ctx); + static SecureMimeTestsBase () { var dataDir = Path.Combine (TestHelper.ProjectDir, "TestData", "smime"); @@ -130,7 +133,8 @@ static SecureMimeTestsBase () var all = new List (); AsymmetricKeyParameter privateKey; - foreach (var cfg in Directory.GetFiles (dataDir, "*.cfg", SearchOption.AllDirectories)) { + foreach (var relativePath in RelativeConfigFilePaths) { + var cfg = Path.Combine (dataDir, relativePath.Replace ('/', Path.DirectorySeparatorChar)); var name = Path.GetFileNameWithoutExtension (cfg); var pfx = Path.ChangeExtension (cfg, ".pfx"); X509Certificate[] chain; @@ -153,7 +157,7 @@ static SecureMimeTestsBase () break; } - if (smime.EmailAddress.Equals ("revoked@example.com", StringComparison.OrdinalIgnoreCase)) { + if (smime.EmailAddress.Equals ("revoked@mimekit.net", StringComparison.OrdinalIgnoreCase)) { RevokedCertificate = smime; } else if (smime.PublicKeyAlgorithm == PublicKeyAlgorithm.RsaGeneral) { if (!string.IsNullOrEmpty (smime.EmailAddress)) @@ -193,7 +197,7 @@ static SecureMimeTestsBase () break; } - if (smime.EmailAddress.Equals ("revoked@example.com", StringComparison.OrdinalIgnoreCase)) { + if (smime.EmailAddress.Equals ("revoked@mimekit.net", StringComparison.OrdinalIgnoreCase)) { RevokedCertificate = smime; } else if (smime.PublicKeyAlgorithm == PublicKeyAlgorithm.RsaGeneral) { if (!string.IsNullOrEmpty (smime.EmailAddress)) @@ -220,7 +224,7 @@ static SecureMimeTestsBase () SMimeCertificates = all.ToArray (); var certificates = SMimeCertificates.Select (cert => cert.Certificate).ToArray (); - var yesterday = DateTime.Now.Subtract (TimeSpan.FromDays (1)); + var yesterday = DateTime.UtcNow.Subtract (TimeSpan.FromDays (1)); var threeMonthsAgo = yesterday.Subtract (TimeSpan.FromDays (90)); var threeMonthsFromNow = yesterday.Add (TimeSpan.FromDays (90)); @@ -241,7 +245,10 @@ static SecureMimeTestsBase () new Uri ("https://mimekit.net/crls/intermediate1.crl"), new Uri ("https://mimekit.net/crls/intermediate2.crl") }; + } + protected static Mock CreateMockHttpMessageHandler () + { var responses = new HttpResponseMessage[] { new HttpResponseMessage (HttpStatusCode.OK) { Content = new ByteArrayContent (CurrentCrls[0].GetEncoded ()) @@ -254,13 +261,13 @@ static SecureMimeTestsBase () } }; - MockHttpMessageHandler = new Mock (MockBehavior.Strict); + var mockHttpMessageHandler = new Mock (MockBehavior.Strict); for (int i = 0; i < CrlRequestUris.Length; i++) { var requestUri = CrlRequestUris[i]; var response = responses[i]; - MockHttpMessageHandler + mockHttpMessageHandler .Protected () .Setup> ( "SendAsync", @@ -269,7 +276,7 @@ static SecureMimeTestsBase () .ReturnsAsync (response); } - MockHttpClient = new HttpClient (MockHttpMessageHandler.Object); + return mockHttpMessageHandler; } protected void ImportTestCertificates (SecureMimeContext ctx) @@ -350,8 +357,12 @@ protected SecureMimeTestsBase () if (!IsEnabled) return; - using (var ctx = CreateContext ()) + using (var ctx = CreateContext ()) { ImportTestCertificates (ctx); + + foreach (var crl in ObsoleteCrls) + ctx.Import (crl); + } } public static X509Certificate LoadCertificate (string path) @@ -2841,16 +2852,31 @@ public async Task TestSecureMimeVerifyMixedLineEndingsAsync () } } - void AssertCrlsRequested () + void AssertCrlsRequested (SecureMimeContext ctx) { - for (int i = 0; i < CrlRequestUris.Length; i++) { - var requestUri = CrlRequestUris[i]; + var mockHttpMessageHandler = GetMockHttpMessageHandler (ctx); + Times times; + + // Note: For TemporarySecureMimeContext tests, the ctx gets globally shared so the Mock will will get reused as well + // ... but for other SecureMimeContext implementations, the ctx is not globally shared, so the Mock will not get reused + // which means that if the storage backing already has the latest CRLs, then they won't get re-downloaded. + if (ctx is TemporarySecureMimeContext) + times = Times.Exactly (1); + else + times = Times.AtMostOnce (); + + try { + for (int i = 0; i < CrlRequestUris.Length; i++) { + var requestUri = CrlRequestUris[i]; - MockHttpMessageHandler.Protected ().Verify ( - "SendAsync", - Times.AtLeast (1), - ItExpr.Is (m => m.Method == HttpMethod.Get && m.RequestUri == requestUri), - ItExpr.IsAny ()); + mockHttpMessageHandler.Protected ().Verify ( + "SendAsync", + times, + ItExpr.Is (m => m.Method == HttpMethod.Get && m.RequestUri == requestUri), + ItExpr.IsAny ()); + } + } catch (Exception ex) { + Assert.Fail (ex.Message); } } @@ -2885,7 +2911,7 @@ public void TestVerifyRevokedCertificate () var signatures = multipart.Verify (ctx); Assert.That (signatures.Count, Is.EqualTo (1), "Verify returned an unexpected number of signatures."); - AssertCrlsRequested (); + AssertCrlsRequested (ctx); var signature = signatures[0]; @@ -2970,7 +2996,7 @@ public async Task TestVerifyRevokedCertificateAsync () var signatures = await multipart.VerifyAsync (ctx); Assert.That (signatures.Count, Is.EqualTo (1), "Verify returned an unexpected number of signatures."); - AssertCrlsRequested (); + AssertCrlsRequested (ctx); var signature = signatures[0]; @@ -3030,13 +3056,19 @@ public class SecureMimeTests : SecureMimeTestsBase { class MyTemporarySecureMimeContext : TemporarySecureMimeContext { + public readonly Mock MockHttpMessageHandler; + readonly HttpClient client; + public MyTemporarySecureMimeContext () : base (new SecureRandom (new CryptoApiRandomGenerator ())) { CheckCertificateRevocation = false; + + MockHttpMessageHandler = CreateMockHttpMessageHandler (); + client = new HttpClient (MockHttpMessageHandler.Object); } protected override HttpClient HttpClient { - get { return MockHttpClient; } + get { return client; } } } @@ -3046,6 +3078,11 @@ protected override SecureMimeContext CreateContext () { return ctx; } + + protected override Mock GetMockHttpMessageHandler (SecureMimeContext ctx) + { + return ((MyTemporarySecureMimeContext) ctx).MockHttpMessageHandler; + } } [TestFixture] @@ -3053,13 +3090,19 @@ public class SecureMimeSqliteTests : SecureMimeTestsBase { class MySecureMimeContext : DefaultSecureMimeContext { + public readonly Mock MockHttpMessageHandler; + readonly HttpClient client; + public MySecureMimeContext () : base ("smime.db", "no.secret") { CheckCertificateRevocation = false; + + MockHttpMessageHandler = CreateMockHttpMessageHandler (); + client = new HttpClient (MockHttpMessageHandler.Object); } protected override HttpClient HttpClient { - get { return MockHttpClient; } + get { return client; } } } @@ -3068,6 +3111,11 @@ protected override SecureMimeContext CreateContext () return new MySecureMimeContext (); } + protected override Mock GetMockHttpMessageHandler (SecureMimeContext ctx) + { + return ((MySecureMimeContext) ctx).MockHttpMessageHandler; + } + static SecureMimeSqliteTests () { if (File.Exists ("smime.db")) @@ -3123,6 +3171,11 @@ protected override SecureMimeContext CreateContext () return new WindowsSecureMimeContext (); } + protected override Mock GetMockHttpMessageHandler (SecureMimeContext ctx) + { + return null; + } + protected override EncryptionAlgorithm[] GetEncryptionAlgorithms (IDigitalSignature signature) { return ((WindowsSecureMimeDigitalSignature) signature).EncryptionAlgorithms; diff --git a/UnitTests/TestData/smime/certificate-authority.cfg b/UnitTests/TestData/smime/certificate-authority.cfg index 63c6274eef..42614db3c5 100644 --- a/UnitTests/TestData/smime/certificate-authority.cfg +++ b/UnitTests/TestData/smime/certificate-authority.cfg @@ -7,10 +7,10 @@ FileName = certificate-authority.key CountryName = US StateOrProvinceName = Massachusetts LocalityName = Boston -OrganizationName = Example Authority Inc. +OrganizationName = MimeKit Authority Inc. OrganizationalUnitName = IT -CommonName = Example Certification Authority -EmailAddress = root@example.com +CommonName = MimeKit Root Certification Authority +EmailAddress = root@mimekit.net [Revocation] DistributionPoint = https://mimekit.net/crls/certificate-authority.crl diff --git a/UnitTests/TestData/smime/certificate-authority.pfx b/UnitTests/TestData/smime/certificate-authority.pfx index 70cece0c3db4ae929cae4fcd53631aedd4587e9d..278a2c38dca8230d52d32ca08b1521a801a83685 100644 GIT binary patch delta 4457 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 diff --git a/UnitTests/TestData/smime/dnsnames/smime.cfg b/UnitTests/TestData/smime/dnsnames/smime.cfg index f09865ddb8..0627b5033e 100644 --- a/UnitTests/TestData/smime/dnsnames/smime.cfg +++ b/UnitTests/TestData/smime/dnsnames/smime.cfg @@ -13,7 +13,7 @@ CommonName = MimeKit UnitTests DistributionPoint = https://mimekit.net/crls/intermediate2.crl [SubjectAlternativeNames] -DnsName = domain-wide.example.com +DnsName = domain-wide.mimekit.net DnsName = Lothlórien.com [Generator] diff --git a/UnitTests/TestData/smime/dnsnames/smime.pfx b/UnitTests/TestData/smime/dnsnames/smime.pfx index b6107ef6713adac71c16c05bf59982d447499657..f38bfdfe367367ab185bb2338d6dd67313a34dfa 100644 GIT binary patch delta 9963 zcmVhF;MPp6KiF8^loGH6eeIftiVA;jti< zUdnT8WuwqQq}g-!pa+r^!zZZ_*-?3cF;#?O@ZWr4lWy~}pt`vC2QgVW2y|vzJSsCg zDv0DQ~+3N6U@FZWH|VVMuKPF+Gng(

@o6g=1|HYb5acqnjZ zc6Th1v8%SdAkaLUd60h{ZxBwYrq+ZVQ^hzZHXISJsdvLaSjj!}_$;>!hCYd`)Ewe< z9z^MM|GqLC2iW?c8f$(+F)u8@ZQ=}zv?E$Wmz8rp0UlHgFx$C))G9XiW#Hpx8FMkG zZ}ZzYY}dZz>|BKr)6h{5O3kaFB;%IF2GX00v4pKc6WVG-!HIt+3_pAZ!Qx)uB;-Vw zzD>nnYa#P7+#`;2WkGw68DzOmeO&ianE^lpBc55kwy5S^3=vG#rpTJ|n8&DVUNpd) zZt#vuyM5GqczBUvLcXdWNu<8KNXpA5Ul?B>Ehwk~sX;gjU``WnOCu(AJL-m`Oq6@4 z)+U?V`P6h)yPAKxxCAw!X8gMu(0n_YR0oxPKT)3aYDNqJZdSDhWUiOz4HUVS%n4Hu zzM_eChCY>n(^mQBK!N7XJa}MeN3SF)%lot4sfRiIRr+Z`DZEl?^=MK!~Q zWxyLJh@f`;@%MZoEJe5l25hhdX_&xSoEh7Qb==4*`i)uXUY~2laJX+r;=IR3z$H&N`uW^4n4YZpnby4*`JJ((re%QjhGDmdY1x)cV zVZDzn_YpVU;Yb`y9*8$iRFg!s3w2? zeH5`R#boTxNEERtVN^8SjUG3GW>(8P>;gngs;}yL&VK4AM7$JDj>m|2=Q5NC%lcO@ zds>{C{S-$%3zb-(Q160rUTMwBmAGt1IxS9<9*mL93u0(V9-~6c$!RaL1hxHNaEkP3 z1#c&#S>Gm|j^(c+p7RWsPq~*P*hzmOx%Y+pWqUMc(?cneU7*&3=9!H9jnr7jh_g-O zz@nOuKpU`bq5~+TxC5kvvSPm9fs?voovmw_#U)7q+E3nSkZ$?tvBbA?m>(T2rWAe- zy-xy7GVk{m+xypP^v=VtIzIb+UZzjjlf#=byEs9*w}BHUbSJ?8alw@mT7Q4f35|Gm zF)podXdluw?PU-=7c>Ukxt~cAr5?2zYfznYf9vH-f)Vm7f|Bru-}w+jOEF-vj&(#g zk{LJbAu}UU*EPJ(IY&F45X)iNZ*8Uo@R$`(8P&#*6TQ1+ad`$&4IrK=A8jKS{`&sR zEM@vr3^fgg2q8C_9f4@u(?)*{UO?9@2K+M3-B9Q{^j?hZ8oj2H5v?|v3dT&iyJ?&~ z*;P?Nus~W~x`zbee147yw#)SVs5_j6Rr@f|K(sK%UNP4Y;$aaf%PzvdKf}Xp#0O}3 zSppiVFAwfxA+R2A-#c%F_Tor(1>?nnzv6@fi|hk%Ty=rY<2~Zu!(x9&8T=vDOhL&3 z+qZIH9xC$ZNR8AUB&)ieDi)x(vbg-8tpfi-*SDK#eL)L_9=J_vVo^6^RW+smd-xc` z;y5blivDT(J+gvtI*ajr*2&!CyQ72O7vl|S=GY7orDv?-cU!mA#*I%2CuetEV@vt# zHDDsHD?>i@-;!)SAMk&fj+eJ*Kg!8nhbazX^$J8wqmKYU&V`|C^{F;ndUzOE#6Uu$ zcd)?$={OupM*@gCQG2(}$DUGe&x3*6h4u+s8|ccJOV7>*75ZQDb%TSVey}br8Tj9Y zR22$~%S+j3%ochV(vtBqBxs0960^m4RW`7VW~p-^acN_VQxx%UvFkk}c`y99jmqb^;4DIzK0L;iXY&Zgh(x4w{e{g1J!J&Hu!;A8T3ea9 zS=l7b17@CKEm(gEp*4p~y(tThh(bjRmDP4@V!^4Tzf@{dY3;` zYmZyqnPgZ#I}^Rws)y}?u5bosLUG)q17oG(8;P$-F`wN zBL)d7hDeji35b6_GsvpBa&lPZ+bfYS)RnB!jxulp0t5hnf*jD{&l50yjgjiUe*QNm0BaDn&n?M|Zv#z9 z_S+(sH7XD|HpV$tjJq9>l-1J7gW-XFT_5a}Oa{%8#tGDOUfcJf;G8@Bs#)0Vcym8^ z>SpLHr-FZ{H6vsk5b_PRUO|gWTtU(?X@Hf2L4y3{nAYquC#)yNWJ84>qE4UqF~WB6 z&C>6A598%*tV_Q4Vh$hKBCu|H2I%);lMBjreOrf)O z>lg*cWp{r7xh|H+o-=Z2tMc!h?}67AHjERg3on1W{)p_MwnPByxCV~#ga7^%;@|qR z2=Zfqk+{=R(TgVi&-g{t1`5h|FOth9Yx_!49`(-7PCrq$2q8-nt($nO0TAbx-yzI6pOSM%l>TR51MVYk_A#t;qJXk!jYyw2BIP&T_y`=p{T%-oavYx~Q^`y=I<;J!Ro6jW?=nx}t3 zI%(cYV1&OUgSz7ZsR%4#n5m4@wYf3DLB(7vEtJEkH;MW(fu~;fYfxBINxW<^WiFlQGZF-CW0H1$0@dAoL zLF0@lQ}k{tMN|RflW}+l2wfh!2nC}}JG36Lr9hSqI0YV7~?ihvKTJen=^#3zez0>frHBLIKjnL)N za|{{@P@8h;;s#rg>IdA)5~hD2^zX%f{{R*&`{li^Z1h=SFi)IXVMN}T=msjY#F{SV z1a?gmwAqdgSX|w=4Q*bhu@xkm9)0LF< z9`9j1xlGh9v*!-on$LeXa3%9?J)NO^Y5}rC(e1@2G8U&{KGsS%aJrDeKXL=S(T&a;6&h8fAt1LF*9 zSf6^#mLF=J&dF!Hp49%swA%S-a8Qya%0)Vtr7b7iH2i9M!xjd(&0DlqF5YE>7?CVGWrtui$-eFZL)k?kr9- z$yD4o+l1@`pg!b=mtwU=&?1=-`FsKquZ<|4tWnh-i79`UwryFylX@Qm(?;Bxsl`>} z8N&Bk(5Ekyg${1qJ_ZKVJAk_381|_sjWPMYXZ8s_GxlFP-!A~(-jt>n!d*v1w~t>O zUUJ9&GLY2#;Ib+*7kK4ybt0J*^g0f_M@82l_2MQ((T+xQEG)fi zw+h2`>=A!FLO6GEAfBaqEh+Zv6v7$(7Nc29jwcKED~DQt(&Dna@2awR%z|IZ%tcU# zmSoarM2WA*;5W+XB3W^WCnOcos=pj^s-dcIc?s^<;;(6L~vB0htw?d zh5g7)CZHl2SOAlv#Q6q=NMru08Zhya-XhUaOvZn#ptbyIwjxp0>Ua;@2o4q7j6idZ z%lR4X-Kk|_E-D^ln#atTj1B}g2qGfLCx&K#9fg4uC|Cwz4*L$Y-846i!1vSEuET_! zD`0VMih~=ETML>dFw8BXneXV+M||u3i%X>21w0azcz(w#{AlWH6Rzd6HV`|P%d=A$M9iPhqIR*ibeSJYExyhh4sj4@=crhNZH%yAsSmmYIVaFMCQBWP_jqiRD;fxY{ zD7Uv`DD)3XHh(Ig>|P z>!`zAe7S&uS+v}CRDr>v#rBf?veu$$AGtTQf0ZZ;EwEYj@+PV*m?Q+kK`VBqRRj;=dl zlhh^!_tSEY?K>C#crJHq3YShHW{bURFHeQVf=hP_A>iGfqHnXj@gJ{5Yyp3ResYT9 z6($vaEEdWRkmp5KT*{uoe{~d3%cg5Z|cI zIsKCuDl7yrBWjM;gWkD*jDy@oKHk6oa;VM~7+EoK}fS>b{- zfKPPDRDLBX+y!gh9V$PcCuJ+OI+84!1z{50^Xzg;HEvu&HDnUXH z(UD;)0r2EpE-rsGur@~@1-6ldkd;{0JLHL2q_d#>DKf63c$zXu>A{ z-b#Y&RNGp3eeV>+3a$@xN)ZS;uTIioa4~sTGm6(63ow69yu5RG{q82Gdv4kO4UV$L z_QF~5H~Vf)p0WwJwv1)gcb#YnFvjdO^S#EF3!%P%MFX_qcbArsR>Eb2ZoaUCSMiw; z%4JjM&?XlgSR(t(bj%U+MT&E+K+^5Rg@z^K#JCW@LY+b3)X83^%9X=|2i$!1)Q8X_k3! zbd&QG(K*%KRB((|P|@BjM}M31Kh@hmCDOQypTv3fjF_|ej`amPkHC1p5lsO!RL-a6 z1erHD>rb9kQ^L~&OeU~wmYW)GBci` znM;39u{w&;?R6(cG5rwtW+xPKlZk0$t7L>WKSrpeCLMkrh(q&Ju<8YBiJD}|K*^xh z@EZA@bnPBwirw$p0>oas)W^s4V;dhm2g7z_e$W>UIFCbTM4#UR)C?L_`q7-2<7@25 zNL7lRb+Fh`>b-qfG4l8TOzb5l#nYD^vuA%*`q_abvHjMr^S%@AK8X{PThi{Z5Jshr zJrJ&<0s?8piC`}_RdNx{p`CTx(GE&QJD6tcVuZFqmJ ziGsayoACtOj-{Je?^f#6v6Jip|3nzKi!`I$9*!t_xFz9@CQyG8rdW z{qD_u@euCr>$#(eOkL*XxrNXjttiH%nQZ*J?m^`1yl4`g#*9h>-E3Vj>D=dy&X8<7 z(->ks9{M!E1sY+@=-AN9ZaUQjlsp^m_JbiD7d_udHZlb*&W>Zz(_%iu;)meXDHJEJ- zokPIE`Vi~c+1o+%7Fam$XH;2T9R8;P6>vNBN+I`xq5~-VpFE=TF+#OOfE~v7tEW9i zv%@jT!yHi*`wrGZn7b`LveZXhfC@0LMyw>pEx$N)t9Q>Or;RSJytJ0n?3eSe-bGN} zhex>{4^Ps%tk>E3o^*hu%|w6rWMijX)UU5dSSC&n1IjX0!y)bo zKg>r&_gznOa2T=#5zwO$!xLyh*WQ%2k4P)xSoy~8LscWbo`M)Lr<^JtbGUm0Z1L{u z8xB{xO$%EsN#I!Qj83S3^DFdpKy*vRXf*yK|BX#BfXzl}9Ou%?{ONxmZY|k!<+;;5 z9Yh*~cV$Znb4GJJly(NgfcFA*13bHtDS4YH^^c z3{Zou!*m=#bh!okap6K3KG?_deqkpTzXkzr1D;=tvqbo zK$4B4s39hcr^g_##~y-lMZXRxd{yqjS*b`F|ixNGqLJ-@#!{; z)RrJ>y4HK9rNw_x?91C{Na*KHBLP41On5`e;ny#8!|N(IqWkWY^z+RpMED<}NjRNc z{gZrP91lqSO+%<=x08#gK$)Y$@gH5RY|LzNtqmZe6*7hPSpQ?8;`)D6$D4#g!p-vqs8vkL*%WvZ zV>>Vr&Q8)qjEa8;$GAE~xo~~~Xf^oXg40#O-{Dum#x2F6Eq$C?S)4Ydw)9tFdx7OYrYCJM8 z#E`ZCT(gsp1Uk3cwj7T#Ew(=C9WfxltL?-w6YPJQv$D-@k3V?P-K&c^)%+52ptOK9T%zeU(G{$smEUGf(|Bc;E#7Prmx=JkYBMuoM^k$yK+zjRX&%Pc*k_`N|0ED zM9^&KPF@Ww;F| zSD?j+qJS4Bujwdp=9O+YBn3OctZ3yZ--OuefF>)PG^1S$296 zIi@2mufjL38fKg8DffOO-1?)6d@+;ohFyQJN$)&y+rU`2g|vaK^vvPXla*G=WX6Qg zHPL;xt5%1M4VE1arqal`hK?Vzv^A*cqw&usC$oU_ObaA)qpTm;qgp2q_{FU1+ztci z%;_<_lF(%k{OC2?Z$A2kXm;OLOkTIr&D3k?w?vBqDeX$RRnMK(dZ`e{Uk}qzE%|?u z*^O@ut3+jMH!R}Nfd*|KoqZ7Mb#D*_or@-Aqr9xY5L%*=eHS(OT3nFV(!J8Olg8_w z@Zmj{dCNkQQUEOT1}&2H1CNfNqBeiujU>GW`o&#pWdkyaZoM@qHjSOLn;%x^gAV1g-jYu| z0{cigHN#DjSF4&z2b^-m;q8YXELqL_1sQm!k=+^8LY!KW+o<-EXYRNRbd7)9zxXtl zQvKRHr6e^I#-?AnRNtXNTfhYro%A@`Wr6@!Bwh{T*bA+o;+@&AT9jo1?OAmf5l6Maw$jbre4WlV2V%mhSr{wmhyA=G4Hj(DJD`(5rvY^${x1XdFr& z5aGN4iFzp+^79%{wYu%+1o^1w#)Ez6#t!Hk&KWXIE;UpTnn&7&stsinfI!&&k z35<{|m_^hD#15N@Af_W0^d$c8(fp9oivP!5Lz47xATU0u$&Dy%ZqjwJl$mZp!$anj z1XV-ld#-#2Xh?soga`95j5T{F9I{&$$KXl|LgfoF41;KHpk0bDdgGbJ*4!tH#KI2q z7N82UfTrT#f9w9}H2)8)PboRm3s(YfX3&l!k*s9<()$WWCk>2}FOfSbwE-gZ9Kl<7;L{bAnQp zswRKyv|K9M=r|@010Jp=*8oZoJwgd)&=Y3ohD7&|eDnA*_iyaQGD7rWTE9 ze3Qo%Xp7#(>wDeXXYN|`d~#Klee$VXgqat%$ZPJuqyiT3wWrF;qpywQ=u_pm=J~w{ zASo!ZFBE?$xwBPI9Ak?OUuco z!q7yNWYoOlR+ZRKuIA6s3nwbF*}UQ-(dlhH7Do>ZULlKa$Ba*_3XORrQ073pXA}xkmhEJ=+;Gp=dYl7!pZ(D!U*fug=#Vc;Px=%D3DCAsvz{BY6onu0=M z#Djm{N%}I@|MF3LaY@p%ko|~<_{*RG`VM&87cZ$^x(X@leNN6dsA+EamJ+&ALjo8(v_t<<44yZvfoOi*M1_aEv zGM2-s4>Jy{(??_G*94sfs=fz;K`>V{$YOu_2|VeH*VZuqdkYD{DFff(Vd1T?;S-kQHSvMC7?grdegN60t5gAf(b~81N2_+ zA7zcr>znYjCCfSXo`G%UuuS*};WWKIMe|?FTUzAWhMeY5!A~$1JDJ0qYpEqYE8Akt z*Qjyq2aPG(tk+Y~XttQ;#p$7xJoi=r8`^63yGu?FYl07EsC;f}*l~ZVv+&${qhGN- z&)_z$YAy}f!FD|g(e);Wl|L`J7)Q}jSK$DhRU2k7a12z{^QS6nQTIX1xdo>CH{%Vt zfS!rH?l#jafF~e!lEh#UKnBW`Cu}uu062N}-V1ch{1iCT8%fCe7$(;P-mPy#DSj{K z2it)MyEJG38|!()EQo)ZwR?M}b17ioEGcWH8rdcI23mWH2Al?AUQcGgS-M*z`h(K4 zZ%4$zWhD_?nN(rSd4s-h78~Z0s#fd0^n^>v{V%Lif$9N|Lv?-+yzR}JdLx?eXL8SV z=5jr9w6xDKI2Z|k9+Q82_u)@AP^}|m472tQc6rX!k+IMYGA4h+1|J}OtxBLu)zL+C zA;U`Bey9)#=plpIbSi|!TD;M~qBX?eQAQR7_hmDG0jC`(h_j6qL)t7h@p;=?T&CV< zQpGE{J{MMc6i-4pNw@)T7giXBc8TGBGQ}1W4^Jilb~kzWIpbM#VCTCR!9gtFE$pVV zt1@bTG&0y28v1`g3LvFIWxMMRGnuvpyhd-2AC${NE%4QP8i^>t3(+gzlE^}SgSSwvEWA&vp?Ac0S{$MIHQ0ACKlB% zkg>#nl{GW=?314L-M;G)|AX^}Luv_6<+x+0OXs8TFSp$0Q=ExV+S2{sa zl|?WVLnQ9<*`jF5RX|wZ*_oY6xn7nQ3p`wls5km1g{_QA(kH)8k=;{A6ueNAkjjQ$ zcSFd|J0X9z;tT+|>r!vlp0@?t30GnhpZ0u;g&?m-i(kziPR-$1Bu-9R;ci#)>SUF{ z%vEZLivf=d|21a%!11NUUsihEz}=I!%l!Xm8d&QQ*1iPLvSeIIYCBzckJ!ZYn{&nN&9gNN` zA`qoCwQ_-)cHfD`(om}>4hWq=WpVqhJRzhKa`Jq#rk`rpHv5)qR@}l&XniCiv6sS9 zL#2PhD0ZKe5%VZ5(=?t{g$3kn>cJVzO3_wY`*;=Rw;SMQ4du2&B!1v84Z@t2#5Vxs?W+oT zpx1G5{!r0}6Djn71yN(NuyAhdBc3b)zW0BNf@IkVTXnL6KSV_YU-zQ4g;{B=h0mKA zTpsYg`VQ&2+gKbp6Nm7sWp)JK{Q69)G9J=|%iYiR`u7g}C-)RTp^ozj2Ygy)`?9R} zkmcHd+7aE)61H+t7b7o8fz4I1!<-+6_diqpf0639{TY1#6MQ9LDgcN`%3NXca;ksu z9o4>TtPWg7l}Lj)Ih=d-t7*OO9A za=puRzCxrvpzLjNJGyY2%lgj~m(Tv5N4Ho?kCDB;rjdh1CUm8!`?ploBxPast-2dB z(_5QZD0xbN&g&S&s-+YPKk|-XCKp|>(G?E%4k8ta23ZF3oIp*Fv~9Cyp*4SX+D_3x zB=U`$&EcIG&=nh3DOlRhfGci_Sa*;Ka;L0}zu5Ib(rUDoT%}`{Sio2;+zXJWfLF`r z_~1YVDNRL=ykjVLhXi(>!)X@3&1aATR4qCCFZuZFs-vU{cfZ&Ny7Hf+fy%&$&(~2i zpQJ;H^`bl3FJ&-0=7sEX!76{pJbOX`zgV?c*MkVnUMKN*Sg^VuZ>Yk9#dvDu3_;d1 zv*TQ_!IDa{#GFcR=)97lVkT3x?jaQO3;gog?Z(#-dcZ_MT$xt*mMyvORH_mpC}UUz z7Q-SX&~%&NY={79CmbacmbGxkd*6l{OKo-belfK*C( zdQ_Ts(A?l7Z#%-sfZJl?uxx?}AgpS=HxpeTc)CCpgqChj5)FvIvgGRBREzgGFAvrg zBPfJ%UaZ%+d^vxV^U9W&{hxZXH4{6C=j9eV5-4K5heLR`@22hJ{WZUgm@K}|45ay1 zD}{8@J){uSJnhMUb%=k|LNjAZ8pqgPSUeMR8IE%4Q)JKZxF#rYbT1H;FO99`Fz`!j zr>F**=DAm{T(EX6gG=QtpcTXtgrO83S4dIi^yn( z+j;s}P5!|(uVUNuVc}qVi-P@^9)2FkYhsvZf#*A*oyYs2%D8`C1_j~@xR62w&Ip$= zmwOee3)pB^Mj_MAi$zZnc;tjP4)eu0T&CVO~2Xjk-EGQX! zs*RrZA1qnkQ>Od)dV1?bjKS0@Q;`z)+$hxCZ;18ym?FnXLMwAV+KA;*UN^P}g zf*)arrG$Z(%N>6{LTv4R2E&~u2SepTMDhaF6TXUV7a?JXA-|fE{+gj+T0nx)3lefufKmyCX1WVZAJ2b`d)^6MHH2x zcaAx|(-X3}A=a0G5tWXS1=6u3@20TM)A{`m1FfyCTRM)^HJLnE!d}lyc>%}~X3Uhe zP&-Ahv+aq5)R2uL9)kOdzQ>#1brMHIDos|E^uACj)+6ihuwu!$!JCI9RN1yxt1(zG zBL)d7hDeji35b8>)YB9DG?DLmM^AD}OvUtbWrpWx$!!1-$z*Fnj2*wi5kAuHF-Xxz;O*X= zu)a${vXf@(wg=H!EvKh{W<4YVVA5Kf8W<7|x3(r7vJygJEXzWcnLhV4awHU5`nnjp*5r8>{P$8Dfk}A{Wi- z8dsza!uo%=?NQqfJstFX6&}kM7G&akept?iLl`f0CJ`EoFBCV38o353RsBmsPgH;* zYJXbnegc^O-cVm`$U|k60ovJ=EYPB4*Eep^s%=?#2zDX31Xu)=K?GHAQn{nWm*N>p zP8&`+tRBvuL%$Rc%n++*!e_oLXR}d?&xZwSHvNAKvG~sw6XEml-ODl6fB}ZdhbEd~ zoobLI5g1I5NbBv5h z8Dg=-_jfD^SRBa&q@^lHbi31ZX_h~)#%uH};Bqm#r7@0j%=2ec(^&~ua;q$jf4@u- zc(H$W<1zct4aqPG;pDH(bPeaMWCq#L=-q?74y2ssXl`~}!vI*ai)dUxGCO>m(6zd$n{VEZE zDiq{+K1>QU?&mg0zS?sBb+w>qT<>zMVFM0djQW zaRuF|Bb=!h>&V2ZOeCTI1yodM@?n3Htw(1{yBz}`jTVQ0S*h&;YFW%a!H8JE5q)R8 z+46=r_ZSOtb9t`K+{03M*Re#w>UiJVu}q~9qb~*(S_)vuK}$UQ@Z9D1v2NZBN8;M= zoNp-0jOc^;>o0pfuarQGG z$niaXcz-Wil5D8MP+~?PxnZ}jKJI;B>Vs34^>kbl9W5CfnvMGqV z&C`AQ5^ExHqh}S~Dlv&;`yv!u&^dB`*(WLEGDzfYn}aBhYCDL>#XoSJpGc`(OHiE2 zGxM76c1Z?^N)1`3(6IT7!xtixYjUZ-uZ3G+F$KO=E7wns3Iwi+w=5Ge&)|Ag)X$Wr@GeTrQz#}K0wm-5a@r7iA{AO|8*!x(r<*& zlgf1KTL5(a(3==R4mFtT$=NkZZhla%ih)_uI6o34i_6Av0Dcb<{oW`Qi=1A#zcDdc zj5mEjfuZ6TPJ`%VuD`(hzbGK_9Ml%Vp7(*E$#d&t>!Q;0?R`}-J942Z6Hf{e*oqZkVc@D`|k z)}(QfDwWQwGWFT5z}w(!ER2s|Rk}C+%6}$YOf+?qn>Z&CJL74%CP#LG1;8f;?@wcB z$K8YI)1t3ULUQwfPm5A%0k8O#k}vs>!F<~fLcl5LCpv$Klm~5KV0H!Cb_6=BdZgJl z4ew(S%A?7{M$#>-`6QqZ)-QXaFHVUTDdL+#8{|ErN#toq)5u%YKOb5Bnd4C;2G*wfc-bZ!qD8%+UW=+WS97>{zoc zbBBaFN>X$dj!alo#~5xA`k}wz#=&2IJFj588*&Yc-B&Le>TE%?Xy@5ag&{2P?SOm( zz6N>2-~?EgdL#NoG~v!f+#*64c+ZWL$OfrAOBR0*;-Sa)csvrp&T`I>Z`V;OLo{^1 zB00~O-1PHOHwWB9%B1n7>c}%zw&C(vbQI&&r^n*_T6s{f3Gh-9E6oAAajlKnHzO;W z*k?^bOuby)^3AEPKutrw1 zpiX~%ve44S+AZOUPE0;>&ppStd$g}J*d*;swdH|KCrq(F%$80g6=J~(3(DUywqxur z@FSU#x`V|-u9`8uMOVzity@;lguouW4yMP?0|PDm5RfxWwjk)$gMAWeWb`n|xTv&z zW`i`Zu2&l=lY{$UBgdVTKIq|FoWSvymTZ5_shImJ&}~YQUGTYPQx`iq#_g6JvfiSv^QQg#go(=h-E_)63=Pf+j|<1rp^Y* zk0*V`KIdIOOz3+)0I>CbY!EDnraf-yC|CVrjvic*VHak`g+2k@ibu-_PsikCkidOG z!C8kgtq2dM>H_l>E{ceWju{L>>eYX*7AIED2(n4zwji4}ZwPoD&HZJOGGryb*S9Id z3yt}2hK_!|`8nBco9LM8L_^XX)1LUL@MY0%bV$uc)xc^8DqPZD6*S~RSg+isTjamv zS=d^caAT(jJ5Zf8*gma}WBq;xVh1DxZ9qq=@Ro0C4Rb;5h6qX%a>LuP+Gcu5>l zW$ScH;X0C=2v(otQ|$fQnO~fgw{%2=BjNrzHyFa*Fx)>ZFQmc$St`!cfN%)He zJ!UVVK&LYAChT2{Cgw7DpIm>V505;$k?Q?GGxuThXoO0gM^U{=>m}Huj;U?l_rnE{ zwtv7*j{3595pc#|;`$UCoT%QV_wbW&;g6o{Ay>ha;W)1$AfiQaWKWP>h6W3qn>S44oodX0NC zoISlnAn|;;gP8uuH5|vJvuuYt;Ihv^E>r7-|%C_hwE@l89c0OXMV5AI17ie z>ppGYJZUn&bqQ3Z;I#16Ou8dI!4W7M7Q5Zur^n=SRO3&>n}F5{aby+Egnj%?RKH|- z+;rY_YV6A-lGak}KzM&$a$Qdl*PD34Ua$f(!ves@Uf_AjY6VOZ4`G=e7rAPH!Pu$w zE-@{XWk>WPu+`LSw{jg^nt$=T)zho(~k(g&*#SaY!!@ zljf_*Q|o^tHdC~vfCQ+84Vyq92cj-xzI(h%1?TUC#-ZG`Sfq% zqi#=Oi}^RzZk&fO|G_pm0EpeIa&hFes!Kbhzml*EchYY1wa`TAv@m7+aceoBr;ah_ zR)Jw`4IdW0pW$wS=moI_0E_ix8U<_R)U?u@`sA=4rNuw8;Pr|A)f2W%xsJy91QY98 zTYMU*P~d;ajhwU4(})V(hz6Kqbct?{Fyu^~fCB$6Lo?S?h5SN%&bz~ou8qWep(u5}M_eSois-!&er1*tIH zdoRu8C!czbW!q@u!BcV;KpjteNl%Y)v!%PF?X`ce^BWB33xc8*7a9p@rvXspTj8c- z%zH?)mRqQBSv;_`(I#UaM_NUth!HpRwJwYlOZ?~&k^O#NsRJlp#9ps?>{#Ur z90Rl0skQa)Oqim4sn^A=%1yb4o$!X>rYJ3jC^vdY$4zo-&$e9uk#X|4psFyG&&tgD zZ!kK8&6LpeXIGGD0yo_LHu_k0u?Xbr#B6^p*VdJO)qb!7Qcz7FhEy;7-Dd?Q%g6IE zC}cY0R8O*#wy;EBI)WUk{7!V?KEKJr85lw13}aGIcE!HlG`qJ3t1 znTsFvE7tp+{){_YzNgQRu?;pVb)wIJJtH5nX`~fsb5tDL+2GI-`%JAh{h}bM@&SM9 zAd3I26dD=39o_oBci=*M00dtXcc@L{K+NvrcYW!t&C^PO-q~YM{w8U>9pq8mJxdCl z7U-U4(>Go`1Uwy{)Gy9y=i}_5TD$Lp0)IT~k=eutFrxs?D@~OA)jG;V&7yxseN3jgZ$N(s9Guuo`QhruKd}nCKY7kE!J^Pj(hjt1bt+LDw z-8*#v!|g4PD8`F5C8LM}Gc$i$AoREtWo!8A|HEBGA}sO9uy0qI7Cp5QdROF`&~fQO zHLl_H=(eWP3$u{frmhEFMhg69< zK;nB(_7a)eC4>`w-~iNR;K5kwU!pdWS;`6SdOP@}#mxYNGRen>#yCb!l5V0M(n*7(^!6aAJ(;i=OW;BBp_xl#u2>_w6rBV(H<}@g+_}NL=iqP zm;aYJPg|c>_`|}0*r|WX6&+75SWVdF0H*<^RKLI`$XcbV-mB;?F#2szGv6L+j<<7^ z9s3MdrR{$~*#!{KUEO}C-I?DMHd*M1MfY_kh1EBd=jt=uOZ7U`Jh$8F15Sh7CCA6{WnYru6ejUEdXjJ{~vTFg?!(T0P2- zRT}a~n+4c-qh1aPT{HhKdFN~TA5A$y3+(D9?G!a+9ZU=g4?Ws;h@uXy09X5_>VWh< zFg~3YX>MKJTn*E0W0`x| z+iZ=Zb`M&x@3Z=UE759W-efn!UE~GKSYnwv2{Vq{6;^zNd|8_0%70+I{HtqCw=fq= z^y>yL`?Hkl7eP|vDbe*srm1lqA~>n=ZA233Mt$e?bEvl{O$IA*T}t!v0>uAd_9zd67CtKMFkwBA7`y z^4%rg3x#H=$IdZqS=dC+w&cXnOd?XxTO{4_{DFTnaa-RKvONdV3%t1@%e2|%zg*gm zG7se8bU_G&z^v6*9fKU>2XOo$Kx!L#x@pYiJaTHWAJMvX`40C*v85F68O~jCB?VuIPjLuo{h&<}s%CGa93_xaAKY)7uW16W>_Z z%1XwodqU}~fwZeL45sK)?ho!%025^D+#!>EZTsc{4a@jaib*0UIj_3uxWU`St!!=o zs(^zjHBn|!lx}ND+r$H7B=~0Qe`;xcl8JwkrP z-FyWxV%Q@Ya7n((u_!H|NAm_vU< z!aNvz#7mc~O6OPd^3{nAt~P-wZ->?7BGLJT*#s33ax!B&*}kSbRFuk5dm67n2{#=FdVR{4zRaG<^r z>L|5^lz2&I=V+p{AJCFXUOXDkRY-rI+Q1c>S}|%2)n2B*E8!Zc=sa;_{|plC#I1E1<5eg?j&-j?6JYeKANb&EIlHJ}-w z06yEX5jmXN;fWYuM>LuLen7jo`_Hxre zVAsGc$*HliAm(ii+Ig-)Eo?S9iJQ}*h}9VkZB@K+&&8=%aLFw$56^=Z3slFR|0#=i znZ;E<3JNAy<>yypkIoN%dQh6fs8DO}BjsZB;viMj_CYN0o}KYE5v`9vJlH8fQi`2o z653)ex=(;#mb$dCW67lS;VggBd*FA!`;xg98p@t8T8y4S*pSB<2>s7+&Nj^w7fl~6 zQJkHZ^EFS|XC-Jg3 zu{V}A-M7BiqdjOvBE859#9UM_c#`ZNkH;Gw4TFjI^_MOIs%e!Ih~mUO&+g9` z49{!ks9>1^K7xoHG12p5LVed zs8uQengK!0bbs>Q(0_kGGLrI3`0!Eg;OdQDl|<*l2?`UAzNh?Ki&4qb-<*#z1W@gI za8)l^=YX(F{8ErLSGb(M!zERGxR6ol?^--)!HRx+qrP`^}z{m+(ws|tIe;8=L z(&ckooXrCkqEjIjs42>?i@;Z?>|t_ z^i=)Fv|@?T2kmH!?&8GZ_*mBnMYFRCjk9VQU^yBE7&FQ!aJ$pN7f|Wcg=chN3#(iF9o`2sh#uaARBn|=FCQj=_6=a*cQ$CrU4FSf z`hot+W{-dDwua9_oOM~?Xv&3iE`kta>4|>!)^2?n7;?S{m;v)~rYL*IGA!VR4y#iD z2?qW&D^IA1QId3Mm`h#oK!hKdN%IaEVQ3nX?pc2a!re*OKae`>*3kqf8MTL!pe&QLgmEDB2zk0g>ME& z0dG=lUEd;F2qN3Qa~J3xw0NQ@s@sz!gwnkBd6KKHAC0GRdOh#kAgj?!D&W;9oP;5x zOnQI1u#su+%_i*R$Z5j1$Kfbcfp0p%hF(aN?4Kkl&d~$$BPkqf&OH`=QWP!IfaEx< zmP6FQQk=DVM!vj}qlBiZuc}`YLm+KsHUGJkuM)?3S$e%>(GA3T2j<}oNS^>PLB<<{ zKwYx{gwvf*a_b>W2;zs+#{#m(^rCV^EOUQ@-{+Q{#yzLt!^}}9oIsRQ`MN%}m0lL} zhRTO&D;jQQIDy_yPk2s2X6>XpzTr~S8g}!VCX9(s9no=fPwFG~c-4DG4Mk|>yOCA% zM~dMzUfj*Jt0pYnHWv2RLLGtw0KrJ906%a#>5Ya#hbg}sg|NqPh RYvjf#I}Ptd0s;g8007nqHCzAy diff --git a/UnitTests/TestData/smime/dsa/smime.cfg b/UnitTests/TestData/smime/dsa/smime.cfg index d1e15e42a5..abd4b9baed 100644 --- a/UnitTests/TestData/smime/dsa/smime.cfg +++ b/UnitTests/TestData/smime/dsa/smime.cfg @@ -8,7 +8,7 @@ CountryName = US StateOrProvinceName = Massachusetts LocalityName = Boston CommonName = MimeKit UnitTests -EmailAddress = mimekit@dsa.example.com +EmailAddress = dsa@mimekit.net [Revocation] DistributionPoint = https://mimekit.net/crls/intermediate2.crl diff --git a/UnitTests/TestData/smime/dsa/smime.pfx b/UnitTests/TestData/smime/dsa/smime.pfx index fda8fe1da4f402f3772fe405cec02789ba0a8494..52dcfea34085853c2273205772b126982e95b7c2 100644 GIT binary patch delta 7938 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 delta 7922 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 diff --git a/UnitTests/TestData/smime/ec/smime.cfg b/UnitTests/TestData/smime/ec/smime.cfg index f01b09a855..e3040d9c41 100644 --- a/UnitTests/TestData/smime/ec/smime.cfg +++ b/UnitTests/TestData/smime/ec/smime.cfg @@ -8,7 +8,7 @@ CountryName = US StateOrProvinceName = Massachusetts LocalityName = Boston CommonName = MimeKit UnitTests -EmailAddress = mimekit@ec.example.com +EmailAddress = ec@mimekit.net [Revocation] DistributionPoint = https://mimekit.net/crls/intermediate2.crl diff --git a/UnitTests/TestData/smime/ec/smime.pfx b/UnitTests/TestData/smime/ec/smime.pfx index 46ff887f26b53a50cbc34c5eff88394cdeff58d4..d644f0271b73ab354582aaa3e235caf7427d32cc 100644 GIT binary patch delta 8462 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 wxck7-u~%C9Og0TaH~OYlN(20t5g60Qxd$XaE2J delta 8455 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 diff --git a/UnitTests/TestData/smime/intermediate1.cfg b/UnitTests/TestData/smime/intermediate1.cfg index ac6161a2fa..eee41d54f9 100644 --- a/UnitTests/TestData/smime/intermediate1.cfg +++ b/UnitTests/TestData/smime/intermediate1.cfg @@ -7,9 +7,9 @@ FileName = intermediate1.key CountryName = US StateOrProvinceName = Massachusetts LocalityName = Boston -OrganizationName = Example Authority Inc. +OrganizationName = MimeKit Authority Inc. OrganizationalUnitName = IT -CommonName = Example Primary Intermediate CA +CommonName = MimeKit Primary Intermediate CA [Revocation] DistributionPoint = https://mimekit.net/crls/certificate-authority.crl diff --git a/UnitTests/TestData/smime/intermediate1.pfx b/UnitTests/TestData/smime/intermediate1.pfx index bd2f4e4ca4219f5cf8fb00665bc42118f8be5301..ac61b608965c2f4e0396c2e5ee56ddfb462435ae 100644 GIT binary patch delta 6305 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 H1ONa4VpbH& diff --git a/UnitTests/TestData/smime/intermediate2.cfg b/UnitTests/TestData/smime/intermediate2.cfg index 72612138ed..767b0d79e9 100644 --- a/UnitTests/TestData/smime/intermediate2.cfg +++ b/UnitTests/TestData/smime/intermediate2.cfg @@ -7,9 +7,9 @@ FileName = intermediate2.key CountryName = US StateOrProvinceName = Massachusetts LocalityName = Boston -OrganizationName = Example Authority Inc. +OrganizationName = MimeKit Authority Inc. OrganizationalUnitName = IT -CommonName = Example Secondary Intermediate CA +CommonName = MimeKit Secondary Intermediate CA [Revocation] DistributionPoint = https://mimekit.net/crls/intermediate1.crl diff --git a/UnitTests/TestData/smime/intermediate2.pfx b/UnitTests/TestData/smime/intermediate2.pfx index 86a24aae69a09b101a0dd2531b5d9b0adeaecfbf..8371d5da928aed64c6f96b4247f17fbd3475bbc2 100644 GIT binary patch delta 8183 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 F002%F``G{h diff --git a/UnitTests/TestData/smime/revoked/smime.cfg b/UnitTests/TestData/smime/revoked/smime.cfg index d3c6c84a87..b35fbe8758 100644 --- a/UnitTests/TestData/smime/revoked/smime.cfg +++ b/UnitTests/TestData/smime/revoked/smime.cfg @@ -8,7 +8,7 @@ CountryName = US StateOrProvinceName = Massachusetts LocalityName = Boston CommonName = MimeKit UnitTests -EmailAddress = revoked@example.com +EmailAddress = revoked@mimekit.net [Revocation] DistributionPoint = https://mimekit.net/crls/intermediate2.crl diff --git a/UnitTests/TestData/smime/revoked/smime.pfx b/UnitTests/TestData/smime/revoked/smime.pfx index af466f0fcd605e3810bcf0b022e2bbbbfae538ef..75d330343084853ab512088b084121a2fd2d116a 100644 GIT binary patch delta 10052 zcmV-KC%f3RPs~q{7XfdP7({=1NLI~2v>B!I6QyN}1t$ai-PeBt0t5gAf(b|`m;uzW zUHo6^0ezI`|` zkcoGbc+dS*Eg0kvN>HfV(2L#HpHQ8*8Y>6HK_Y zsR6{Ks!Q^2e^-BpRw&tppiBAkg~U!f*E7t6y8ZrZvmCpgYS!n@(|R@^c|IOqVWf6Ooq98U0qr$a>XvDiBD`eIh-TTZayNgAx4aQs{zfYnug5nqJbqqtizI_TnfTSt`EH!VZL&W6-ELZ(w}(*xNV5}GKevA=g077;3BQa#I0-_va`#1grh3q7O42CsGyGd(4PZi76ck9DZ5eJ` zxvtO1-0|^p#$eRhC;!%qo7hcvSv-}6=!T8VT(rW~TDb5YzYME@fyxd5@yI6Q&8w4o zCA`QOCK0ua${wC8!br86sgxqZZZmSD!iH#BvGAWaWgC_F23WDT?s!j3=H7jA_&;H3v=J$T{uL8Ej(3t#N)Rop{O z3LEZ<9u^E?b+E|o4m>CyG;aUKUHp<7zPyA1T_}LAdHt6 zs5&oYB2<5thb)#tFsbojvhsQY#ULqrT%h>KlYgjpEYJG2l>8koV~?2(jv4=`umnLp zCRHUPA56EB<{&UbSq!dS!Kp)#a>ds1Zl#T5+G6_^7+PwZ5U$p1eg8GM)#vDQ=4qBB zn_owf!nCrd6P4R8kFKrTW9?B~!lfj{+ac`9;TC^v&@C#Y{G89%q5h%@`J3EI@Csb}ixRTE#!H?#*{*J+Z+;3b93lY|Q%c2LQuxigor??A(FUFdJP7J>X+UI4m-ryA6EJF)D&6%as|$mUnerR3|NBlFEWc_iDGpQ?DC(FEG0T73 zXR?5G6bw@_Zq^L5GM@nRwtdfc5 z|86=_#f2tQDmPEo0e#h(kZ5sx$e}3<6zz-NdEm zLUnDsY#C#0V4ZG}__?<^QR&!fJXi|XJmy^0Qjo&m@8oYn8zVnx0zgINvt_dMbY)M{77W&bs%2&g0ZDsz{hKg2 z&D%{PKD{kOGLEB_!q%HgMM+2XWixzqBOZh7UezIF#D$NFEfHZp&gUIm=>GE=wTSr~o-$AgU=hv^WN=@xj#Tpz6jBtr21n-R0D z(?0>Duc)E|ZjOkd3L8n$2bOI9v6<)YjlQXJEiryUz7J31>sajDNGIxM8{!zsFnWJ2 zZ4A5JvWkVf#ZRLpNG?8@=BSgwIlu3m0y7AE$Ew6cyB>l}TateOi#b?=bkLh8zA#4U z>#%+hgmKr(FW~8xhfs0`jnEu*lA}qP3-+qM4A!Hp9{LpQJ9MN*kl1{GYB8DFdiPX2 z*`axod~AMxsFqS=)k62F#gbTH{Q&?^oXnmiV8tZOiK0i--X1YQ`Uf5O$w*+thY_+O zd0n}cB}y{n?vj6^?P?`pvaJfcs=UA+>DW-{tv?9dOD8^Q8gFNZ?7^GRN^B7;g@V=N z)GN00i7!Zrk1dIf`d%TCHws$dd5+47&PG{A<{Dq&|H@7fvq$4&bezl_N>JVW3&$4r zQM02w7lsdDmtt%gyT*phHoI5TwCCVnNqS`zfUL5w3l@Kc_6C8tB@QFw?HeZmZfo{X zVSf&>>b?eoK<4GQUb_b)Z2e~o5S^3ZO3ZhXb(aKKA3K-rez-kC;{#vA<9LsHY%K?k zkluK0!QTmecaQ;FntOD7Hb-5OEn(2h{ws~lV>ek2vpNg?wePxEe&oNjq zBL)d7hDeji35b8Q9#Fl6c$qNs@jG;bgxHK5JGd|c0t5hnf*lZVN)x*dN01fD-WYY} zxWnmtZrgFC_>$Dz6xk7tXd2*! z%N++|Pwd0v7ki=Cx!>Mw73q=sAv<6$M$F>A>qAsGUaWtBYD_!TFl0)krP*#d&PwSy z17pu~nBOfDzrX{XB{~|JK((?Z>W&f;9)B@!GRko-0tc5GHlvXgKIP4+aV@s zAXCf`wS?a*an0jle>K*W95t=Lox!7EwMf$awuC~(AAX+_i5V>W ztrmSW>a%|m5(p<02al*;`OQbI&|+l6Lt@$$U>n$= z_cNLhplc%X!Z|09(fHQe$RuW6A$7yWnRja94bBC+zqOC}av^If4;1+lbTIL(ysn~g z&WDhrvX>?zIGh};OD?igInW3iN?UWHzDG8=A6kFRn?y5%1j_ct1z@CR3(;gZb1k+4 zF!)SD%TJn*oieHioJ=2w+k#t0!gm+rBzqqw!}o|CWy8DSARTdqeiR5NTIDBc$#ESF zru8ByS0WC(;3v%_NM%U(j6C=W+q68do|4h6g^#LTifg?n6@ZXZN`5)nyt(6LL#bPV z`u~6JY--Zb&yk}smcTv9PyMF_Q9|F|JPOY*CvIN@j7jwo*z}FAgHc5vcN?B{N}5jg zAai8#m@ZuZ{?Q;QKJ+T`TCRRFen4shWRy&e$4#)B`?vkd>XI__h*<5WnS}IG;z>g2 ztk{GAIWp5JT-vmT3Jy< zS)u^os~Zr8;ZO;F3Q!Z%)p$Z;19OA{jRG*ol7VK()Nvw**0ygf;e#Xyk**sMZwa7WJKKL@SLDx24=Vq3h>-#-)O-vA>JtRLkeMm`0`d?RzLQv$=Xi7>@Q#h~H z)%WvVSMlaJOg-VN^V)RApc)SyAE$pUrty-xF)$|~#4k^{X;h&aqYmS<6N~#oh;DmX zA78s_Lh%?g0q4NL0!!6vM}hD~?EUWr>Qu6}$^Rlm994Z%uoTxKCF4TQpOdbv{_JY* z6IW#hjFGRoKUr3nW>7X6d=x5ckQK3hc93QCRGqd~kB4W}NYZAH1QzBSdvt#>n7fyp zGiAtxsY{prDKB@|#LFyP8ti;qdZMa7U$2Rb9`b{WT@$C4Jj$dbw8oU2-H{-;(-xl7 zvRY-UA>BGh1F;FsuoQ)W|0He^mE_=3EjkrD-wY-sIcw`aov&d}&}w8wMy7X8-_oN} z*4@ZX{U0K$!g|fMF;b!&)boFqEI9;<&;_Nh(>2t&pWfcAB!#+VeSC==2s4zObw>u4 zo|AQ?!mwsbo3?w>BJKK{om@F-LR@P8;@#sm2=5B_pE7U8H`J`bF%N&gOggG4m87X# zTC**gbL!euKgDgd%k;@97Z(O}7jQ3r1!AJQcaxuRPhv13Q|!}wJSn_S ztxT)>EZ@@k*J4WZkQtVh%pb)s(w>e8Rr$rSN3cs6mOiAGHxg#E{=AURG2^e)kmVC< z|AdE+VjCc?idFFm<{Xi?Dx#)1BKijN`=E;n}2Fa=rNoZ92o0?9s$;JL@&4GTho9}XY)YcfrPFf;8 zAV+)+)OYG`@c(TprqF{ZfXa=`)m2C9Df#f;b0rir2!>KYf(xAmBuX|seWUIuxL~nJ8cIKWv>HC>$g3GJ%ubu{?c~M zvo@oFWN3dmC_H_LE1$bi3a{z2(2q1S;b4a%C7cKzPR9U~p!1BjB@g}uB;AaEbgM2z zno#%f(O6E>jz2vY4!;AC%OqNDMn#rY1?+(M;T0SX)nRkIZ+u!d4!O9{eheW!pT=VQr&2xXJFHHp?%sr;8TqksUNVR0IZC= zSK)gSynhVs6-ewhOYTZE==rrmw_S=L<7CUp`jrBPA_|iy_xy6C8xOb!RpX$5Z+SH& z10R1KV1Mve2fCVTF#JBjiJg1YdlVLwf6};-LbqzF?AAf@*Tna7qNOrnAPamN-yM=_ z=m&Dx5VBLw1!ONi5;~WTGss2!^N>imozY2Zy8{xOo0s}D3Y!=4LL+sOExuOQ`g(Dr zooetMY&bDNCWJ?R(6uhodf>qg6l#B?u)oj#=PU!G@5u!T2(3$X8P3bY;M}_P z$^REIQ~jiPfj+Z;g8qeuwXLw*>8J*zMcH9PPNgxN-0_juoC`8))TP|TtrmFdg^K+e z5R2aC4M-^pbLMV(VmN}KJ%pnr{8N#SF_Q=jXXpkCY_)CZ8hANh!>Bk;^S_||H*P{7Ju77SB-tD2s$|e9(4^|I5%u3g5Z@CA`pnLphbRJO2{~Gnb?R}RBn{<8$EKIfv z`rSb>4wTka!nT+fk^rNJ?=OF8kLZ8rD_T(J2n6k2s-n14Ugs$R{^!n)0ycGees$w``PH+#LBV(?8wB+W3Cpe-J9rPyQCD*86p*&Y1AMjZqDILNSuEdzDz&M zh(h%x|5f07TbCWaXtsHlt6L!$${lARD7JKvb8^7XVr@+HL8A5|crUCH zt<$TgMWx4QUJEBWalPCx>z;@hXhI)$Qe|>TkFLV2q>1qbM$|w&=Ad=O`aD2JasB*n zoaaByncuQc2jkhNY8%?DzAof)nuF|D zMX|$W;qp880AJOrISEU>viV)UI9@N?8PGMCR|_N5R##%w-yV?e+%KP8g4E4iFYYIj7qz>a zUmN!yttH;eX}h^1LKA;?W|NT=o^XeCnlNxHOVpG6_=kV|Lqz&8K9%$r9{gC7mKeR> z-6=_^7>8r*C52VjLUNYxCG+6PY_DCB+(ofGhqrU@7s_G z^#1tYB8@(vsxg0f1V7_amEa!g$z6bWQ`R?BZ$PCKcF@9Y(fqBvPogN#x<1AR5xyEa=K?@VTrc5EGD@U-Zf6F-E_g zy0(OG+?mHUz0Lq+P~HihI+d=4GH#^z8t5!%n9X_3X}gZM z>Qqe@r(PNOne>LIhC@-WFpc0t@Oj{WA0~guFdMQ5+VStJmt8wZAnex8oJI2E7t6mj zW9T^HOh@dHP&6XX5zY+9B=_2K-_vdx1h1mfi6_*g;wk4e=gycXl4I(lC>JelUW(^N zZs#*%b^xIqR;~r#Rne|0fUvKO`i=z-6O2$eAZi!=G9V^7s|USzsJ}T+g@yq(tqXtY zweuW4y6WvI)Z_dOppeVXH`Q+06H!Y3UxKh!JboJ=-n!Fa1w*Z`e;<7Y1Z;zQwXxz{ zP3fJQQjL1`ILt=%NEQ#r$CqdM&;0H|O$p~UwSYmwFpqehH6e`k1>9I!h4OY2;mWSF z*$X|LjxIspNtTP`#> z7ixsyL~ShI+cugxpB7ctT5)vBy__mx*k%Lt7e)T{AC-OTlro$KNiXhaN0KrY%}gOA!jnzlszaDF$%KaF&u zOxWJzX2KO~{Xv2o*Uz)@Y2_^4meB-xN; zit&A1b4Tto-jyf_=PLP-^Qvw_AjXf7OVWgSMJrmc*F1PC8O+DrXbpeLj(vdg7#9Ck-DL`j$Ca_U#+*RFyo@ZDcZ(`Bc! zUKcrZNaBq>(!)&?f~-CL!_WfksD)?e_$-s_p|7#Z9pO|Vq|Di@dA;2qpJpfj<<;H! z;(1N?^QY`$zC9zf)98(t zs?j*6n+{S3H2SNhOs%lT1RVtjmg({(0^!K*dxWqS_+%vdx=OW1jA!FpN;7dHSM><> zf4aI8q{BC_l=@fiDLJvM=7k#zSzX?N(s04;?*mO6sZ#HJePDl3BGWFy<^rKYPQW*3 z+E&x|AY+Zck(|kC;pJw$X{RSwLHR1x7vw9t>b(=M+>3w?>x<6F#07Ej)hXRFHUuP) zJbrzM?b3S_vL@L<^nbi&L5$Y=6PLma;~lCPmniqMIF$NCH}?_8FYTrH;!l1!EF9i3 zr%cK)x=6Pz+r@wU2L1QhdDaXL$wXxgyZJ++)!201%c~Qh7!OY`XxPtJySr&z(@C)& z+#pL`nQ8rc4a}6PEP_#bB2MzACVOkr1IRL7Dmnkxt2Fqdf`!agZ$S~m#e&FdiB>v1 zeZlQpsOaJ&1d(^RaQ~^fS;YCr--hr#cQ)PdvS^FZc=UUeoQVPzZ6x|`S}8GI@11a{Iu;Y=S-c$W#4RsOHS@2!KoBE+ zFc0Kb&Dnn_A`*KpPI~OFXBW{t35fl9#BPf4d{~@AO5D!)$?$lgbEKr?iDY%O)PFl^ z;YUfJCA_-dy0zQ{cT+s2CDG@Mi)+%`*2|m3NVI3<1_a8E=bwMpP0^e1gfDB^Fgf)6uGZF6umNnr z5KD~J5imEEfIXT2y&Y}_Jvh&e0@Xe zhC!o*sE4_TOq`tmrrPewa~G&)J&JH;-s*28%+F9CQ?qG1 zag_$gi}QdTk{K8$nQX*>YPM~2#2~`>9cSg2!aYbiX1{A0##8A>A}>15%TI1CWzKu) zwhTBd;7FNA>D}DVmN5p*8kud)UhN=QuNW)uuQ&xN&p$M8c()c!&+I9HXS$L+G;x1H zGg;p)9-5Yeny&({j-bYaA?{g&vRn=N{hN1JjCm&DnAdRgJ^; zghn!E{l)yI7DV1pjuXrVf;?4qF_2QuNusl9A9R4|sE6s#?hA25%M*Fh;r!z8={KC| z#yfD0L+xI3M>HS1A+9clNQRe8UT1$*OInUoc3Q<#ac?P3?=e?-HRJ%zL^?4Z4r6CJ zsx)xBS5_*p+%opo-y}aj4od(Q?R%2&Tn)8(cW8JQ{GIMgrMUisHc2AKpSxzAJsm7j ze@M)o%t3>0flg5p-Te1GK;^&8m2gm=m8|p#q$V4jN;T<<%&{7NU!%#c2u^>8wf;eC zqTLFlCtv?8hxJwDAbvz~N$PQHP&Qh&(CNgG=N(+OJ3Vw!A;qE%Tdw~xQD$~UiLw}J zT;?iXjPyYb5w0ABR(0s~U+u;vO9X>G%LCrG%aK+dLYaBN=28$pyH06@DMr7uC})?~ zKW2A@R<6rj)tq_idWIEdR6KuQU-#*MVs?I4dnS09zk)v08Psd?!LC{3C(wp)D}ZfT z21x33l15w=TSy|PYTZIYob|kg!;SqgOwwO$z>`HD5FLET%!t`()&2VwQTM5IFpNRg z@v~2AYbv)?0#~mS`xd+BYi#(E}@W5JGF0pZ~@8@-#PeUX3H+G{;}skZV)DPSxECWwl_TjHlMUxP6QqvCD7+;_ z-v^Rwp9TvBVO3<_XNd$Ns5$;QzL7iTY}pGu=$37VHP0K)zH&`}WZbu)qJixZmz~B_ ztQ#0a!eP^SUn&og$pwGS1%D;>7+IG%mtcg$aB9+|p3sSA^I4@?nIi^s8}8Hol=Ljv zD-2U~27yqoE=&7w@6 zCEZHIPHv&W)!_GZ=ml-iL$jTTBlaSz(htHU6N;)adWCefj0O{S<8<$v@!N6}_8_zt)Kn`<2FyEi2s^lf@{oU#LYo)J-}%C?cCecpx!nr8Cj|Lh{j`VL2TyAostr{fQr%V=2U zNrFr~2B;Cse|AC7ZvUEMgr|!;+5DHwgAedfKpkq!e4vCDm5399L&CVFqXuIo4)&{T zgepW;5PW}(25VMP$;8$L|B0S+FR@q()rKx{GsZOilHD~KCzsjXtbq*60MehWT2=_}nuu3be7LEb5PI?=N|)el z64o0}6E%SkRw`1%_?uRuPtZ&pd)>cuE@cWjgP1EhTK5pUQD;@;rqdw)lTwcU*Uvk_JlOUAVrf-*Ws_nf^*_k8vZ- zKmOlv7jV)dp9S-$T%d?-aY#hidm65)K_@7Rh!7kD!EzTa%E_$p++c-UtY1O|fo{~O zS3w;^TyZ0F@8Y|g^3!W}D zJ3a+pjU;zA@E!kG@0X^6gGjIy!)fVD%^+?;N-EcVwoi^Qq-Fp77quR@r2fqRswl2tF;=(tZ{1kZz-kosQ4FCWD z00000000000000mJuo3K2?hl#4g-^ZCk8OSje_iK^PWG1(z9(m6^)ctQyo_X6!YQ8 a*wa9F>_3eK9FELHnc|Y-t)9c=FD}JRcYD#~Yl}H%XBB4X! zV{;#8sp+?7E`NtJB+*T!#P=69os5c6;2o6}zsHn3i~=$|PB=JSAPbqHdiA4G^I6n} z{lJ1)R~yQd6U5W~lc--&H?DtM{&ze8yxQpCODBGJqeoaK`_p$%C9}L@=Loy+v#?3l z8Gd*_Ggs1jlk^Jf@Ns_vm`>Bbxz2OP*wU3$8udWF1H6j)#u?Gr=(2VK zo7U>*TVu>##Nxp{%Y9(N4f;*2z-^qFHo*tpzU&wk)_Bo@@V#L)(LXjw-Rf(zV#zFL z{6PN9`}kU*-pmdYI7i~xK#XO)iV?bU82haZdbY2l5~36`RI7ggN@OucxPNCTci*FA z4inEm0{5G?F}M+zCSqAo1H4qg>y$kY;P4I;WBGH;-=6YJhPhJ``JM&jhY1F9(xYFw ze}b?SNYm?c@c&?Qpa^jzbsC%)%xy3vIOST}1XlYk&wc%`;W$G=SFo7&T8Qzt#l35* zV0|^UoUBG0DK~$OsGJ$aK0bVCfa4^pg*ZbWeJrLm2xh%C0WJ?ti`^o_GUP-jeL=?Y zJ<)rTPYH~k&tOADTq@ApP~cO|N`@3|`4bvKVd#4Sr*EB~-ehr8f4izbCw-tu9ric{ zTT8IfFP{i3O;}9_x}*b3w;diP{8il%c5w^bYjea<7YBb)#dRL6R+4$fTr&LNjH2Kt3eoRc;)}rT^tWjGQ_4ykC57$t8hr_Oprgn zRy9n^wBUckAdVxr)Rg8w^eVh`z$*dpFDeAaiv#|-HeMY&W`rlh;pqH;>}VVl!iwe$ zw|wlSjI;FJSuz^)alW)-wsP*g!j>DU*>fZ~6T!+#t^_9C$h?D7L6GX47|WDN1f zF{)JOjz$w(R@IG(sdY~uTN?%tkUxj2g^PMf!7VLiQP_a#gVp_dERr^rbjF8PFHzGV z%95Sd5|d4v?j((zQ9=*UeKaEn2>)}42sdBS;FXb+JMS4t%JU~dBhF57BwtTVubS8B zScQK?#{b|KG5)nV~B)Ds1WWdv(Uud z8Zv%fx+DUy2m~1JRbDWH8q$6z-^0aSDuGUWS1-e(JY6=m+o=ha;L|g9tn*72QxnNo zJIOpC2%=88U|y&A8ptdb#5y(9U~u+K&PJos3HT(^E&eFKE-w$tA9oe^7BTu!#|?kS zgdLvnmr^GNnT4b}Dbeo_Xws38?CzGw2usF76?T0dAXJQ`4o(xUJ~Gq7-?OxzSmJ1b zKyFAKZ+7ZGR`-Fa_N}0Bw^}CbSd)UXTr~obMy9)g+d#$dt7nJ8k&CN9sXJAYpV-@l z(F6lSc6?~8>bcC+R8+Ao8~jUfzBGUI{E?+za4%?mO=e9ywj0p8uS1V}(`uB-90_%r zC7{9-z?PRjE6V5G4z3ziNLL*RRuBJW1!S-g8f5uNN*m9sG#&_L)T{-$1}Q(i?>|n` zD}A2$K>d#DSQ7I6?FaWmzp2~k*6{s>ZI~A!Wy7z=yO3b?WU;X>f+ixg$X$PucjZ;a z^ynDQp$K||=K%&c(o%JlaoLnQR(x&s#bdV+0ReS9*_+bV%4UpC36I4I?Hbv#d2^?> z=#(%?z&BYH-j?+qRtv1l=sh$_Pz}+&DvB-G$z`u8YeSwOF`{-cIit4qt>a=(YL-g< zglkX-0e3=)wK#BRsRGTvQw4uNAT`pHzUD}3L=1A8Si{ZYRv8|{g4p>!#7$8D*-WfN zWYQSB%$5+USOMvAj%S>q>Ga)0%gns163GkyMuG^hYYkfrk04uH<1V_1U|X**SvLAm zK=%AiTk~m2U#~oIpN1{1`?lmLJryKl57lXr0AW(sNHn|sXw_hnzr}yyP?7XKNAua7 z-036LvVFr(xD(cU#%ZLrr^E+Dv`JSgo3W4g-mT=ZbSsp*yN|t+iAn!%Dzz{LFLk5t z%0o#!9nhBA3hVNB+}=HqVO!MB7JOlQKR$>-G&r;JBJi1QR6S(wJ1%ayjHM zq>}yX!6R_?;9GR;l`I*HGLE~)nSQNb|KJBts3PB7`N|deUcrCOVmekZe}VzXF|z64 zYRvatU9jWJ(aLLF>sSflZ>>{-{433r%hW|N!%;B04jGEqcQ@I<#9*81{k$c1=&()d zkW4zqOjvpu(h*k>Nc5AyrzH>TKHtXk9Er_4oKwX$Q_yJC5a17ZV{&YoXXJJMgO5Dd zDKY~>Df>ADFR6dmHu=QTA(uCE7I(F|I#U@+AeT^`7qz3~36l0LFBGa-Eui#_v5l_& z!Cp5AtB>7dum=_|zO9z>o-n6iHNg^FAi(M3PRj%^1Uin7TlDuxJcDrH)Svi9{BBnd zQCtjDW{~b1^Usw#{re{6Ut5B$cYIC4zSEFtJ@Nr`01AIU9r%;;Fu$JA;$VDV$nk^- z-+q1S(t1~&N)Oa7G}sTzJMo;c73B zVpM}eiFL^%FOKHFcn-=w_>PXgG*N7ge^T1J7+s@jJ-Ifd{G%5*vEInzkNIB+b{_vh zE^9$UC+o_zE`iWCUKyL0pBB9Bixneu(5kZnOl5!MBN?!~^FWza>aU(5)p_2PNaa6lPVw^3z!oj`E2&!YC$Zm;K0HZBKv zzJFg%7471P9Va4o@jl;+_QgsI9}nLqGDxm5g2Shl#?TGMsF`jPJe|!_mMKtH@Rx|r;3s{K(b$GGD~g@F^v!I zz?BvPa)Ai+IO0^~(xQTcGsIS0Ru1hjf^I3GHOPOiDi%BVl#&T&g=##_Ia0ix8KQ|B z&wq>MrSH_<9Lf4ladnH+Gw2mtl=9sVr{p9!sb=f}b$pQhO3ub7;!Qa8+d3eo*PkEY zuy6&C72dj`k8nU*F5OVm9V^{=U(fNp>t(sWnMU06BaKv?YvJUk8v40xfaN&Ef@Cp6 zJP&_pdN9!)%!~zvxMQ>LZWrHA;2$p>cazOzRIC${r}O*$V-vnFEht7hLVyhO0(WeR zb{;iqv49={eO@BGUqcg>0u8V@m-k-K)rF?7VwY+BusENgb-uU1eevLu+{)+&*@!58 zCCPW;L#DkrD4R7Zyn*;C4v9)(q1;UBAN7B1(Y}!y6cy4AKcV$CR!(0+nnt7WWz-YN zkHz9GNJn1T->w$AH{+(DN_uX?-3C1Y(P5-~P_f8h2C8*azm@-06W`J$N@!yKcoh|5 zH{dMS0g7|?<5v29SsdCyCoT=Tp-|Md(95xufw+|jDk6TsKh_wN2F#pI{l>E&+aQ1J zZ>jW8V0D!tjsK-iri#C4ki7qg=s>_it>^gx=j`kVT{Si#M?CYxMGrw>Fq7=;lN@2W z!7YatGcnOTiVSA@>}b9-gYfg0MhzVvwa{Xxj1MMCf16z;+3{gipl|rdhhpw75;<|` zF1A6;$WEZdL8g~n9TXGU#-WGDJ(qv7jl;qsE-@dIYEAl|ZRW_2%jR;Qb#zjaUIjJ$Qe#Cp-!E%n(f9P{%o&h0Ct9+N~Kv`2;XSTR-@9Zvr7 zTis4Q(?P~^W!!lYPQpC#n?xBH>XGPijW+_>P4!5-oP_a*Bn6E9xf<)1ykmd4hawXc zUL|29h;oNXV3b7ceKPs-*a;kUojtJM8Kd=$$71VVWYF>?eG*jL{o$;a*-hyL@W}3V zCoZGYld{eTYGvo<9meh@bJguhRFA+JVZ13Ggjugn?jc&QJ75!2=+Ur);%dTq%FfZfpKd(G}EK zm+`q%ktOE{P8poTH6dCg7E1=&-~V&*ka1D+LN7_*(%-2Aj^%O}CeC1{k81i-GAMR( z`sV#w$`n_4*D~=q8RL>&z2)@Wh4-Dfxbre~gFUT$?<=QbYp>^W<_5`Lda^7GxC||J znmBx?>vatGA%B=sLF0cR6K^|W`ZP3A+nxaVyPI`WZo3*oCzzKCn~wxC9<#n(YOCBz zS?(9QQjWjMW;%&1>+i~x=Jxwa*2Z5UHPk4vfZ=6+frxVgEQIkl@!(aaPVv?XG%Ua{ z>fGhTqa9l90>GUHxFvJHol`8G=Kn2yTzuT;#U@E2@LSuuLlJ)iJu4~1GN8uFX7@A< ze{-&6S#v=0g(2(^&%zNw{?FQiJVlr*>3*V~q52Q3FP?V7o}{+T(j%YAE28&jOiybd zFNi!aS7}70uv^oo6uOqaFwy36)O}ZJ=#=B$JezX}qeAgv7#V5c&aa9d?@q;cE=i!M z?qq~Hl;~mS3pIZv3_3sy=fez#!VK3w%D_zs&bCw#1#5FlVm$0Xo-%vJ<){a!D#LCn z560~)WBV3-`|7+jva>vn@(-YRjd{X3`v>FrM9sf*iCobSP(m7m7xj1v{ck@?Dq;!M zlXCAH{WE``x2U_4l)QJP17e&_tI*kJ*u~-3`pT|~_NRYR8vY6xPw-)G5-&hsoqZFB zELY?1na$Mq{UY!dkFux}LC%C-$Pn#@p6F2|SR`7Pc9#>K}F=B@m-xRp<1qBs^ zkh&8+O8S31bupAxRJGKc9bBA&lQ4N!Y5&$*T0f_y?D6age9;7rcFWp(1`Sow324T% z?Fp&mhxzOgYUN#gX0bn-9QR+wMXQq%Pizg?U&%dl3?QsFq!)6O{FW`FW?PeoU=C`Y z-ha!&oE%f@0gJHa&Z6T?HiVfOYQ6HxD%WH0rp4M=w1gkL&_Z6yzM-Bpl zngwRwLXnTsk2DL5?m;Fg-NCZSERm&v3BcM9Yzmo%7pxQW2-J4RoYNedcT(~0gt}EP ztW|#|*;`^*M3ehHL+VF}o|S>X!hPqwwsU*JZp>_mG8|Q}lJ?9s>BU1j*vhJzJHUq! z&gws>@$_AaW-K5dRZL^|QzP$omF5U@9J~-#=+sU3uNU3c-t^?S+-uIHb9q&K&010j z*E#fi(ln;Hu{?>k^s6OUZWh-xw*L#_Y>$6qmJ^d_|8@8?5S5H97$u1^!bM6E(k*2H zgz5a-tf+yZEhr-e@Y*q$uHENeS29fms?f&&=ded%(lMCLG;)W7{weNcuRZfiEP&d{BRe z;?RIonUY&cimwEPfi2qYq{AArF|Pq-zJ{dO)Oz2xAlZ_OC>dmYNB^;XBkcqdI*G_v zv9tvT@r*a3c}A%0o=bK^Lo6Ek?_`u7h)&as`-!bkJ3GW2 zt?NXVIR_xh&c>8_!45*r9d)1jrT?F~4- zg7cz>sSrkg-Iy6q%bCy#8ps5*z#i|hD6j2cFp32_o7_xv(=u^bk7-ih+)zWDKMXf*PH07)@Cr2y)(J_I8XozLNdoh*uKh2aRJP$iSWK~c)#oEEmuanUb&{HQ zs2{SKRIJOh+tE3j!&;z=ZaaSq%jKip)QUkJn%CSl3BeH;>bjhH6drfwt^z$v5#36w z0!BdUilJ?ibtZj1?s2$~eZ~c#QnO2}nR6c;Z`5QzOICwBS6R_Ylt?GfLDgmv$OlTH4(T_j>>V<+*>WFG!zWN{8k< z*G2QSyv!x|rrEvZ>)-7;8L*O%~~#?Qy}`!q`Zq2aThbEPspta*b)1ukylB0J(MHZWU`l{vPMA|G5g z#l_I2GO;*ah+41%jO>4O>Y2C$X1`_I4=tEO$wcjvO4{BtTrXt_k8Q1Mgly|@k7nIB zFu}xP?UJ#J8BcE>&nm!e9HZ7cTS0S*bFzetp%_C1KVO<%P(9=q zO$ctBu#pFZbY$yQZ5ic$0s-SyK3SvfTl#4aW~W=H>g$0mX*_>%Q2=3(>}drAa&t?o z^F`Q4cL;9xU(l9>vXGRU>9jj9`4-6hiRmK1}TfkGnKhg}{MdTqm~jn^1Gv z4=PlxR+2wALxg`|WX(z)D6q^Ld*0y(nCX%)IDg-QHj(eW65icdiia4-DC;o(k(fbj zja|Yb>LK*!3SM-3iN3B7L-${pHZGKI+aN|R8vyZaWUXt9laMQ7)MKh&GhvoQB?o{nim5t zvwJLD=`z2i3a~OX+S}WP*IwM;1Hth>lz`&NW@#R-0$u0dKTfMP02E_%moi@YjwlQu zR#k9>uXYOR)rFIOvRTqs54KXJL)mCyr6eZo6oIbzXU-ZUZB6z1OS=lbxqNnIk}-vh zk%KU#ApUL+>e*8IyVstMR8MAp^lLoYR@*Ok4t}+y`&1s1sKECSqw7@6s8ei=ny0a zya*gzn8R7%YnqV737NGu^N>xNPQyVVHw4p7E|3*hZK$L%B(8hE?4H^E?k9dH2Cdh! zQiYLo?;=tw_o9h8T~%cZG5H*yf_XVWLSdpwG5F9Y9>cQS5{bX%)9PT>zFeu^vKR1r zScQLvdj3SjD9& zUgUf8whifq)mrx~#l67REE>k*C_w-lJBl&qg=#SB{27$d*x6}_44vql))N&U#Ft7O z7Y&oLJsGn}&28Yv0FqTu{LOjOU05}_q0gA-sP4CZ}w-YJAJ?elY*3wUaS3GK9o+zu{{#D!+&%Wu-N0j1-yVW^WPv9+L=V`BF0y(Bu*p zP?Ex{l3ci&sCD!?CGBOqFj`}D9@l>gjY+z>6*7Udtip9-x*=OgNL%(3^bfjN8qC8?Y|+ym#zk%l4&mGj_scIt=X3ZW z0W+=KV$qhJ3Z#El13x;~40~l^%Y8yCQC1#4=K`dmZYR{xXt^l>4GN4+(b|8Cm8ugc z!|)a!BGQkHs9M}r8H0r^<1glixdQKckLi`B1Qrryz#kWqgoq^|?Q_Gde(VVA93r<^ zR46f~e|}egaN@YSPVD;#efe05Cj2uf)M9rJE4j>~c^f8lt3&QDerz_Y^nqV^e(&u(Ki}Wa{9Nr1d9RdMKLc`MMS}Yrr zyOw#;jZGi*xX;h1#|`{J*kWe1pT~!SSDW~jaz5%<4@Kg90&Uog4CBtH6J3*wmm)H= zD`^K4te|J^>lZSp{9&dFswrmu24_`zo+;Do>_$xxw4vM(o^c}mVKjfnd*nam5n{G5 zzC1}D#3UMe4N^%X-P||#IBEOeNPkri>yfq&f^!WXU}mCk!G6?j5T$(t)?ogkt+n51 zm)LN(^xj-U6=hoC3v_J%!Tpo3d@Dvw&BWc51mCLFuO9gn@A%|NDs5{pO=32BL1}D- zBkr_ps4+La6~Jfg8gqXR+)xn&5=BfwJ;h^pE^@H$yV~~;wFU?U`hh)&j(0$o@O+`4 z9NDgCjq*4BLDy8qtNbWn3fUxl-NhbE-i5Wq%qKA8ne5aN)VMEd#q&PUTOQHm;7R>z zZ#*X_UQ<1jnx|@{?;BK!_KOymMObM1=rPwZi|wXwu9qTnf`EU>k7Z9*Sxl{uX)AtK z>+9r=fqs5oxF%A|u5^a5JgcM+{Ig7XU^AKsXPKu+NF7yTw4_AhfKMTMF!>xv$63iI zuOgDP5@csaZCC;jt{y?6Sfq+z9nKsFh{3c794Fp;PScWIO4Iu$7u*bWau&}u)aA{~ z!CyY_9Y08w$P#~orf!HzZ>|gFlwvx7HfJgVH&H_LCfyY4ZpoWUX&lTKs?Yu*)^!RN zI3I@8f;ho?#rnrK)J}j|7s~zFby(!feXKD_k^naY{o;?l!}HBr=9<9p3JH#*riUnD z>q9y-#X>0`xY@mf)e1Rz7l3edK!TAJHiXQZmikH{zLI}s(LM9-UWwt0098RcUt~dY z)YSD~W(v;`z7{XJMX7vxrX*ozg_niTir3uDIQnZ@D>rB5fAhD}UA{@7=O?f+Rj7bp z2nR&+*eX#7nux0M&e`}AhVTRl*We#=i)w%6FZXAS&4jSn)T$tOfR~pWN@qeb$1Yq@ zY0xEm9Vmb6pE>C>gHy!Q*yGK>OcdnP*IsqzDpLr@ZksvsLBtDo+Yv zyCuN=#dw$Rfsp6a6*PpkogVsK6c(sZ6c&2Ym4yQU!4<^LOOyGpd}BKygB8ybCn$O#r=TW`j^33y1MCAv7*^!`&J)oVCfZ#7%+uX$TicHA zFjaprbNq=6LaD3T>SJINQ^c!aCuN?(m1Pi33c)n;H6RLRKPHq<7b$qkr5g4dTRN2- zw76MUh&NbHX5mLBcCJx#lv3Ea{HA+IM45LKlB;CYpI$AZ{(s}YRpet=+SY7!i!34M zIWar^t@E!WB?H+}S!&1|br(B@Q!T5Msil9K-+_;TXcK5rt){|y_~% zq0z_mjfc53NpPI|;17VId~A_VtQU<1Do*5=qWLQyni1gi;pG&#uY6bP5Dv(sFw&Vs z>Yd1qMELY}VTXMaunLRgT`HNwHiunsD=*LaxhOiJKR^*T&inMe^RjJ7ib%=5?0$d7 zQDE?j7qgFAhe=6PQCkL^5XG)uk@lZWJQ%yzNHOQR0p**>Khe_*73ZPF#+=feO0Z;CV=J0AzXs+fw?;KRBZ92lHVmEAX2gW!;)UwC z^wB#^X|42V6v&Z*U`>MPVXRJU9jPfuH9)x~fiA4`rPERhuVI-&;!aaqnLqoWzRlID zTZ)Fjo9-mT3{bmt(I&Z)y>HVV4hzX)a3W!NivB`*YHHlhr2D-E#aRlDsWu`TOq3o}Xmg2-GFS1|e;K8k1E zI7Z5+yQaS`@{D=Uo#eF6AVnF)b_b~q1CaiER?+|6#T@@+$y0Nyhi7Ys*WWNcl$fri zGZmdZ?+uO+pGr)u#+6DVm&Jc;1*iSU_)dJ|EUI2Ywc}PR#HrSwai3Z@c6oeT)`Y;^ z`IHW%rCLl_FMu*5ri!x|_tdr9IQjsC zRYnFwxK%K%JudqDLH=@Ad0&=a6xJjM%s_K&@+E4=NS#0WOApL!H47BlaK}pt|1eH z`*kIikq91spQT~bw)u~cQA1j2vgQ-vS1s;l&95koI4Y;T-VSx`k=^4}EF|H5pLxy} z9GS)EHh{+H+GBwB^$k6mZ10D}U*lvuMd<6jjbDE=x}`idcs@A?#}vyL zu8f1?oh0FQDf#LcdO#6}v6c(h=%0Hreu%=d^%TR-@DMq^?nc!C3?e@1lo@EF(r4aM zbn+NFB^fVO`v@VD;P-bGP8&!a5%bR%64AP;xXB)P*f^&X?>Yp(k*#Ja;Ct7)u8BPF z+dRp5M>cC=Vl{tgtl*(Z5((XOu3O~zJz>$}YM7gN#s2JsN5uxvRA5mAf_|L0zeFcw zU2iTo@oDRM&)c1Q{x!eBIcutj(h^|w0x41nd;BW!poZ?mx6QMG-krZZT3iUj&S70K zlDC-dPIdMK4S>h26#}LmqkVCic{*Pk6x}33_XZ6A`<{~0%iPSVsGty%57Zb0ydHY-y!Lp|r$YdnIH)s0WG zuT%hmet9CLb8cy4^6uy6nag7gcWsi>g$bWz-J*ZIjw#bWh}CYZS;5P;$Fpu;W5ZDhn3zD8q^|MKO$w4*h)s!=^371 zGUrY|0K@Xk(qR$(&K7fRsnV(@yfEH4p$UJ}EA1=J<4v^^R)5VyI65DteiAqafPOSU ze;+O^f2XlK?zY6MKthz}W0t)W9XHtU;~s0~8CHVLjDHFWT`;e?$ByuPxK=VPsFTvd zW{0&y@Dm~rz_Sm8oSC%b@ymqz@9UOvV{~tv>|9t3OF1Xf1@B=)@gV*Y@D?pFOH)or zPtE*%SP(l`Py3BA3hWRuAqSAO_!kI#3sW1_pOQ1b6Bv zDJ{{QQ?k^UDbrdfn`MY-^B!dL94ZV%Ym(#q2@k2KE0A6A9lR{NFON)5o)$Tp$ z5%dWmEvJ_VLaMu;@@h5F0ZC>qWV?QCen!_;uUsg)Ncf%4H_i4S}!hzT^$y-E8Jvp@I|!h`celf@F>pbteeFIEM5hR~*qJp5jUDN0ls7=hOX4W0>YACc zSy>1&gr%(<$luzVGG~7zd0PqMQrXi`D8)@I5Zs|(#n;hsyPIm7MQ~O$GGk5fb5VIi z=UGH!Xydt^wG95^ruD*R*|2f;&|+5<;Vhc0-y(g^J+q>t(cncL+e+h|_m_okfWuG! zjMu7~{#n<2q{Klvwh-&;m`ZyEg?nZbUYk?2TTGyWg~qmMv@L&LWXRAl7#JzbzZfSJ zec|*9rjFVyNdjTOEtj6YWdT@1*o{RLhF5>rjmw?H6t2IkUOsvhWEt6cfynRprgS?ka<+>PehdzWMeRc1f`lRPhfJn(kYpdIE5&~DU{;q|) z$H~MLmG) z-anbwEPL>hjnn-)XM81~tXnn~RvJs_V$qT6DVnods7IgqP)nH^DnX%KKg?sx@DngZtG3fJg?OSPs7 zZP8=NRalX{iMr=+2+#sILW1FZ&=I{R0R5btU@L!k1zhK%J4uV+K#Mrj6+e+xO2|R$Y(A6lnCvSag#w=dYLHO|fiO+X; z^@8x38x#`Fu&Y=eL8D`J3gnNw8%k|osh(k2gikiowM55n6wdmIAETh#Cg26m;jJ}s zv&er$VKa#X_NrulX{hf7bQUdq?-q=!J9<36X!eWnm)$T;1W9JVobbRx+hx*E)(!9a zQ7-9u?&zZZxKXq2Yb)Bxt;lqVOOJ1W8LN8ElME?X2IJwhrw3jHm3S)muYCO(rXJJ{ zzt!OQX0e;6e@n*L=Vy-s*&ph(nr^W~0EAENAzidQ!8r#CET{mPFpx ziOfo3Uc#dvv_Sq2?1lL`A#rH>HTmR?oz4x2tZRK%>~N2 zxE98S9X9X^Sx^AI>iB)(f~-hec3I}4-1>7JY1=0|R%+_L=?#HK8fOMa8-K62L~eg` ziZu#puKiF*+?$n9oH=mCc-JYlQI{LlUk(Hpg5@_Uku8bmt zY*}3zoJzm9;d3SWqVp+qHggfvR9BIBdH41L!=ua`Y~quP+)SUWSq%Gk_u2Og^2^)N z!sZvfoqq~jRUTl^!Gx-_6;@y~DFc6{1U$s!;MJqR&KjEKXPMDscp%3UQ?legA+kn# zQ2N*P(bV*$PEucqHg8ACeKWW=)C-Z4F>F}RmrmF?*`mEl)pY`nEvq9C_yZ6{UYO(s z;`>*m5OzT{MOxV6ZTzA@@8+tj9`;an@j1h-U(oa|8omXsx)HDW*$MbN4^3lU&F&Ze29=i0*tK01W zx$ig11~ASQzXV!P)$h!14WiO+p0de&=9s~j*IZ)xtzb$*`l+am-M5e(rK_IEbRjPe z=ZZJC30lI^byW(>Y$}dheX)Py;>a8c78D~AOLpJ*k1E~LeuNE29q`El-(Mk{mfswwPmf{FR9{IVkB))z7fy8rJDjV4ZfaN7tLU;dP5j zMd2#sM%)mOD};29%QTEr6$$%48>HGvo34@lhE=o3$AOs?12CzO<_~|EC-VXk^(Q^n zVZM`9F~L(o4zpNnRsa`yX*XMRX@s3haOf7j3_5Wa#FZvxmENK+)d@ivc~I*aq4mye z-5*aIIZt-YE6OA2VMVh64!8s;uQrhTIE*<9YStR;w>YE9hBHzJmuaY$?MLuX1d~x2 z{8N5;muwc{g4WGNYN>z1wkz|8KGsyx|2g4ZN8sf_i z_||eYPOK==A|_bR@!oo=M&xh z{U5Iu4R~A>+enJ3aYKi~rb`RRyrTO^hf2ijiNJUe=C_(`lGei6_NIp zlKyC5>wBcm5fFb{az|lA&%NUQVzD!tOGBdEeoT^+XS@KV<9oUgTzq>oco`^S!C~$#>Atz=bu1$#0N7( z)C4C{Q*Fo({2OpqHVxJzwh5x;RXyY-p)myaQa6d%3nhE>Zknn|M#L!?N%w=k5iwXW zBL)d7hDeji35b99vi!0jg+4ua(>qO=;~IwmR`?PE0t5hnf*l9|QzyeOKG9rlh=t1Z z+Down@{Xp^rAHsP_c~}~vuY<_gTMSTFNVMI)$9wEdZx06wxg%IFQYE8^sJFH&NW$p zsWDl|g2aW(H3VO8tqq{mds^rM8|BT7yD3Me3PxUq56FMYNP|n0p&#Y^otvZPr4Ei4 zCtj6>TVd@!h~{zhRA;{p37|MYn|mYh!DV}6T#uj6-8-p<`$YB?5G|}+ObXw;)K)r} zHL;FynY3_t-n(tU$i!2xm*fgoY+Qbv-UryHJmIu4Zm&T)fH*VHWmgkX&F?Y?#6~)^ zmvQ%KQr3S6AmkS&PG!u@vZSA*1(+YXxlW0jH-jdW4VKZ;YUW|GyJ%6AjL$j>Fw|+0 z^llGrKFK|mHIq>T&=#?JNJ@`Syxl$nEy=}?PN|SOCllmXJ&I-l{n}l}RV?I#qxJ-C ziGjl_t|7%qv;qN{b6WyJymoqAeq#isWwbE8R;GVeK-2uew!!Md*D3*VjC&e)KVO5N zb5keFv)zCs9fEuCM>>&--p>;=A5k5D?0%iI>9TCOHK91b1*~;LYxaWwc!a@w4pIVx z!aN~0uep0iubLDJEwli*Kv^4*{j~OXC3-dwL;Q2$h}2F2h+z^fMRMm#91LvY+;lJ7 z{-J-bV-7}2oX|Mz-FH6?H2f$nwYG*5w0~Ea6Red)iLz`VfpJqih@e$C_UMhutPBNk z2zV_%CqM@Mr;GMXU&hs^?YB;W2<(TV)yXs^p*Q>oJ&VSZPS<=2 zlrQQp5p~{EgFh^+TG2c}HsiNMgKb~&peKKeOzO`6@O2^TcNIiR17NLgBmiPojuzHx+=m5&{gd`dFsy*u|1R##Ge`*4YlK+kR7z zadoJy|E;XXP_;mD!2bu%hw#)2lD{1$ZuwHGx5pnZnQCj^kAQuoS`c(Nv-n3FUIDtf zV^oJe8yQ#VtRBj;7+>?EUyg&x@dkg1MtO3>O**t!DhN0Mn6VKtPgf|2g=Y{(vv)NV zwCnIlQqm6auZEw9SilClJ=Vkd1EBzp-a1j0bJJMv-r|>av(2*Jm99!ho-S^s1?es; zMWYU2Hn}7?6)LU1D$6vMpCQkH(F##75!;wFCxWO=@OJ%yR?5>yZdeF zIgQ3ui+c%LNu%T+tzF`&ahr74eK|xJqjmSR5KC~fokMu|l7@DXF&fl`CmVcL-KNFN zf+UzofnN3_{;i%u7sPSub?{zl{)@4b87%c<>+6Uc$}*Z%|?TIaOLJGh&Lb$9ZnZ+GTwoFy;PYO8<-t`hG9 z)IoZmSi%qoT$eAVk4$ubR`Aduv#MvMFxK*C=UB-D`8G2 z;hj^og6{g+mkMy#9>!)SA9(d{_?-uD-Ah@THhupx>#(^Yc%;N#-M27O;|Qk_yNveQ zt9qb-traB2!dY5LVUHYQXi*aeqCgY)^!~%-@0jal0Y}q(Bd!rfi_CrHuMrd6>@WO~ zCy$(y8hib3@_+wL@C|>Vj4@DqeW=Zg)|;(6MK~e#1oG-gv(F-lp0tU)(NL6`mj$fX zE4UP4>aTYHS}zQ{ZGb}S`(HX{?(u1{u+n1th3Kv{68L|}3(biEOKNeB0yU-8 zSvX^T9{PNEYn%qFuQOb|P4M_j(8^JJ;vRj)bQJ&x*CkEQ&oC|2=ISi4aZV5EY>NwD zD&daD%Pg0lB+=1>6#Zgp$qb>m4G?E>iD|M?Z|L5=!uD+W?FY$DF?Rl4&%Nh6#0eMZ zmM$hRrq9*dCBJ_Vf`&?r0aROXbn@oKCk=fRy#>jid88SRZ%(K_M(i%NQ>t+V?ZWIL zGvIdt$(LJt2tz84KSxQ;<+3`@xMtD5MlDoJ^LJT`=9Cq?GWV)D{so~XmaI-YudOQf z?B>^9N$UP62tQM&(xN5?CS7@LS{mqeH&PtZHaIkVJEExmv65d`Y?H(4P?gJ-EU;S~Tg54Ygfm&61 zll6}=xuJja5xd(_BLU}#AqvKy3Az@IO4Q+(?k^qDZPB?R@0$*ST=7Q+%Wr&(b{m`! z2N@9x67Tc08DM8DloduR?$LBKqcoeVmL}^6mN)-m^&Lu+C)c z&<;Wm_JOQ3Aqk{bTH_uhORtsZws$f2_Og)gJpr>p9k}3j)ZNUup9X3)ls>DFQ7rCCLP^*y1Un$UAvt9L=kGp2u*Ei-}+LRSC;K7@UG=OV0EP{u)01GU)nBtLO*9$fyUAe+LkA@1f=&d>{&V{67h`|y z33^ePqh*>#*$;oy{oy14MIxvE3N;?veF62)NYtY(;!PqhtNFYS^DW(MQzrpkATY|{ zZCqLbRo3Y|n!VANb!^GZLV8E-#N^$fx3CxLgLYgr`<*abqL7M;awo+A>8{{xXU=T@ z=T9ijg(6e`79G&VGvQ3-Y5R#OcISVhnR9MeQFE}xhB@te2C@X~guc)hvW*Z;gCyxWeh|Ox* zYs$)69j}B=K#V`=`pjaoLTq-Wz@Z@JDcECH-IDpWdZ@A`6cmzJX5XT0BcQPg=Qyv; zg5Z#Xye>h5_}{@9+@@6bxh#M2Z@DES<<+?7RXN3>?(EJYSg7+UtC^39vl1PZP`g2{ zOyBu-l`3pslTJXyZk4WTisGS!4}gZ$`*B|8f6%^XE-eI`{{Rw#g%8YXp+5Mk zk?e?#$!N$E&#sfVoM&{kN=$3kc==qtCAhYhgc@e$cNuC$%6zDuVv&Cvy@1?!t+cA# z_dk2uM7Wwj=kW=VpA~i?3%6D)VcprfjbYmeQJfT)K?smdRO3@;;$gsV#Tsd;%Z zP~02%5ML^4D3NIjtm9l-JZ<Ln8(BC=yQLB7+aRMJuGZ34hnm<66YP^Lp^Rldu=kaeZ91vI7?ta`+j4Q*hyEhqC93W zn$*UR?V+(P=J@Kok&vQYDLjrp3OUK5xd%%HBC2oZmW)ked8~0&GvSY3hxK-~Zn)t| z^#himJCv_DdjfxkLrH&~n}6#vUjvMTM#8TuuSvzIyU^G{&4lmyjI&rbwUv5G4P%j& zg8E{$<%N`aDcGBgrOiSdM#iFu^Tj{T6(We8CV&X8cHasaD%9aSch$??0%ac9a_mxwG)j%K}si++7 z@6u-b$;~#oBuY`xr98fi_~CW`836Lf_s^hJxdazh1^ zIO@pWKedNyr9aQm6bkj($h|kJO~!&-z!a}hElG{v396YpQ58N17hKq~$IW{u3ykD2 z=XRdMK%{>I;q!ftFGeeESJW+6zvGKXP)rtxm!03T+qE5E zGxdz(oTc@m?mS}5pG(Vxw)(?89bhi{k%XBWPsqAqeux1v+6U;tNs)|Vy3bvE~)NHKXekv;jj=Is>uaREkkUiEv&SF(@ z#*SnjF^ZpmI70DjdhjUl%9g3oLrxgLggbxo&$@t5)sHM(VQ;Y<>MgwtO-x6D*Tki4 zZFt+2?WnF*A?R5hec^RffRZ;qLviSfu{6~JYso%m7R7A^b*vsd&cQ7yF@m94S~xVx zA|3R?ku(=E5)CEQHMZ`7|HLulbB|WmoGl9K$SOGhuq*YPk@7)Pc}JOgOdqvS{xE+< z>cCA-&+3QTL^r*;2=YmQ-!m)r#*zj%!)0g2oq#0caWUSsE^*v(u+Nwe$l;}ExDJ9? z8ncVE6VK@L$HeOR?C5BGCI_N>*nd2(K0>nEBl?JMBj0LX4e^@&RBSDAB}8#kflm&4 z_AUbPX3vgI>d#J=T6{NNtLPS?T)lrJovPC#w6^!^KoD%ub_=Bw5kXV&R-a%o3DMN~ zmKWZf2?^2~o|2EgdzDYRzc~Y>0{6T^oH7Ko3kOGBK=ue?~cc<4yE75e>VrDbm*KFo?UXO=YOPX1%zRwRu6&Kc?HvB{ zDj!zG)eah_&IXyD1{4@JL?DUVj8>aD>%~`$0PV&UanLQC2GEh?33e?vL%?@+3#8;- zhwnI@r~+UNOa>b=BWIzpO}#)xtqzhTnIL(uFZ3&a*Pxi(*%#8!*Cl@npygiPO1#9t z7rrtgU!bE*bCt)gPTJHvg<^2EYE?&lbv8`tiV5v>Ri^j7tiHC>%Va&1u$#pz%Hph% zb+G{pW>=eZqTg%VznJQFBm6r#Uj7*9b@R@9i-3lkKKjr z6V%t9`PODfQVKevDTR&M79co!z1)j{()sfviuw^{=Jf3lZwm@y(EndRDl-fMd zpW3M$!Zz2={z9}(r3D&9Wo7LL8od)TKkX}95DV?1w5xmPK>##7W;5*;%sRW@$N@xC23}D0EB-yAFi1244=NOX7_P^L(ZFm2P=Ouz7~o_I1kUx`J>n-Q3I*9JWeei zRh2sp*!A9^dT`%6##h78w}gcV_zfaR7sJbhuDX=;C*;e)fCpU+!>yp@!HH{N)ZfrgqjlRN=v*+*?bE10p<#^;eI>FxSfk2uFg+!wI!^Sj=gRIbmX)t>olO6UpGs< zSwfYc7ZLL)gQD>@1%$|uUg2_6yLkPz2L%67Gg`aPHDkWs2c^3d`DAW{$T7_&aSDIu z4|DO`yd*sLrx^JR#!c~R&mcotE#=M~_f_b+Odm+xGx8|hJkcG^Z(x;d%n@oIc&4Qh z=Raa)`X_aFpME1~E*dVFQ0Belq+b;F)rk6n%v(hbMdY&xpYUBBwEuE~uJ* z@-Ew^XP@KF<)+_?06gC3z2AG_IHNU6XzPuefvc&Zy|8m|#ynUZ7qo&|HB;f^(L&|H6~LkPxi zMy5?RykU9W@veX@)44nf?RY0c9CaVs&E~KsU`AjQBL%KGYU+6f@q__A;0h{2i=W34 zXT)xD|MW6bdsbTK_6?NBj1Co}RcNxa1XU5Z06*A<9`>zd2U0kw5H$+#9R$=_NKz;T zJInq&LSxr?E2#z>JUUu+$Eh(?0wrh%!s*(oEn(2-I}`WZAp;@g~f6g zjgdq^llG=DyQa0z%i^y)>h!rjLkozouV#UbaImWm1yFZ+yk%TB8(dRR18#FW7ublU zJ*xMY^KvP3dP>DJ%U2@+h~5COXfLmrGb%5dU2@%cl$7}g6{QAaOzeMiTOGaDA@|~a z6uHtvnA>Xr2zDSqpuO{hvHn}B zFpQsLBHpXyL!<^3_K6NwlRSdezRmm{1)jmJQul4nKszKKUOyKy>9}DX1z&$7_>e1)dSo!c24-Sz zto0=mVP+kliCnA`D6A>S$fO^&HyQ3gVL<+It;SIoc?a2@xSROe-gjVz^Dz2*J!U zobJI55S!&^>Gpq3?W66ZMkzBYIn;9`sk%Yzb*jMVePk^#Fv3O)BV7o#)>dc(_-C~@ z0`k54dkhKfy-9;gM~;`^e1sT`L5#37lwanHHwS)KWDaD-)`Y97UZ(j&I3TpcskQ|@ z);~^%%uWB3P_jDiII>YUeN^2iJ4dRKwVDZGD=L!I9kqYJkY)U~VxXx!&N6}V^0pf5 zW$@iIK%(QIIAzI+$`=PCs>TM#g!P-L_>7Ckp>ZZD>!%;STtFD4>?}x0gra z)#Xyz7r->mX~=GFyXf*)mNS(dua#m_8WL7T4TYzO-|3x=_+@Ah6&I`&6gi;*c9Squ zc)pZFfTm$t#7ympp1A(cao%v}``aw8_W9B3-fn-NJgf*>*Ll|t1iKyt) zZ|C-T8Y_}23H;?Knpe(0*5KzUOq=pd#3+!^*5dcqpljH~o3|(CP-8ZoLK3Hv^@hNv7 zJG3v@PQqH5>35u$1v zOi9HV<|gfNl@!;@Mkp-iUl7mw3+4?&goUFA4n@QRgda7X{S3W5-!2oIp!Jr>HPCpz z+@R~XU78a~`l0)Wf84^;G00g0C#&J>3k3o9xq#v(Z6U#OBG?|QLBmvR&by&*Gq7GI zwoHMa|Jdv3Tmye5iXG+R?!L&AAHB5ovpp`?|1b>r^v_h;7vUp}8c@-iG^RHZ`4H#! z3wbgt&!PjUOvI4wf^DK(rF@M<*-Ge2!@m5qLGR}35Gv~#Q{IkGkR#f>zKoOt0t5gAf(b}X;wkP6 zku=9>M~p8dw~QLe+nY48@cPgGl)bXdHlou_u-=ceCR!hjhPYIc*ec2+*^4^u1!kJ8+s-*){# z0v?`*a3xs)tvHh6euPf0CDnk+r@(lI5sX@yXT}2&6*^z{Y{DEtD9ugKPO%mpD^iB) zaivdVW+~)gT61I`2Oxj_Eg~F2VkI(-r73@H&M8MXqLfwuoRliZcGpg@yXNN*5Nig| zSM@<-WR94#m%AtvHn} z-g2;SCs`8Sy2>*9r6Pl7aqN5qMnE|GxxX685JXZc?|Ck6l_&OxI@LcN5ub z;dy!SG@n-!)!(z*86mK9W0RMyvX%P&e^KQ|QsiVgmzxC9{c2y*kdT|IbBoZ&dh80# zQL)v=u%OXlCnrvl&(Sgo#^%M#PZ^SP&@_nkiIz1AAj^Nl)NIrVOsaW@EGhhtxihpQ z%RY4e*g~Y$91is8^?CH0LrViFRV%4HzCbV~dI>yZ;36z`R*51$MkH2>q2vbHN6UID zn|sDPE9%@JdIb+$dd9B|g$DM9ZTpN;!t4sgt4f#T|eWYS$n>8dJR zPRdmeVArt8Q{F6ve;)|)7Ck#tFM6I#Sau}LL41GSkDR)EqwxkT%#M?W`f@fh;Sh{- z0Ri$t996Ejezu45n;3yk=EN+DOv4$%5l7E3r75rop18F85f~XR1i*K@r6=ulTJjD* ztwUG`Pm7dQNoeQc9E3VJw3kDl9)j!R4O+DN(HX#2gI5VP9GbC^YlL=6Mj1%LqeDrx;sXQQra-tidO3?=h6Zq4O-n zpGYomn<0@{Ykx-FJRv+1RtpMWgth*ab{~IV+a1IIAm8{F8Qe`yGESi9c>d||{r_V! zUych()2>#~l`8g{GXybjqAcVbpKsqzTscf=&y#%(u659$@K(i$`-s5T^|GFS{u?j- z5XO(TA`)36%E}w(&0tJh-C{{bo2Env%`9!|c*BXGFJ(|9bwzB1Y-};wCFw2vC2W82 zsi3D>@g=bmc5?0092)N?-aSF;ySrPHVgV9^a|(0#0$Km*eb|s5fpR6}rN~ah2-~*W zZ~?(=z^}nuL2~B!s>L%YMS8j6e36;l3W}SsS+Bvtl)G8_*%PJw(#zeOSs&<_bm2a~ zQAL?&y{9FZO%{a!{Bi4SC<}lA$ESaek_c1kU`x&COzBL81n?ligJ#jebj0Pr}Ysj8P!AjYQjJIHhdi2Ip-{`%9Gt>L&(nOx~3!ZF^ z^t?`;<-ojhp^y-s1(lN^+OB`{U*e%^DgItUah|ful=Q*h$(1#ihUIY%ijA4o>ZZBR zee=yl)bWZZS0LoXUuvhcPS2=&jF9y2@uCj}o1VTjl;hPAOQ_U?p%bBNu5gVh%B0cyWQMiwoIbL7^01l zf4r?JhSp&1qGZxmt_oiSv2_)uomSwbwtkoB1Fg+XIJSU;1W!4)00N9Xx2~Jz#o_=y zHaaiMrV@J0)xe0C0bff-zVkOkYYwrO`P@N@&Kqyjmnn{EV()*cfvX7|nO?v0<($oq zq|EGt@finW0!xmT1zQZ36m@ysbOF--c$gidW*!#sbi9cV4R7sjZ+7zOwkd6gV>tHQ zWNo6san+~aWq}$S-_oNnm%vMjS(*Kvrq_l^DA4tEKix+HhPZ)9j?9RE>+UiB%Bf9U zuU=c(43O7mH1U7-e3PZ7iDZ_r2t>3pz9nH8ZV|mJ{^1>#^Pl_VL!WlXs<16#C0n0br+Af`%Dn?IfVzuakaC|LXY>`&JK@M`S*9oxZsf5k!>?K=qGYY{EM^? z1{~HV%aV3~J@3yC4CM{jI3Fv+yH#yW4M9fEP5PFiXaavL+xa6Ce*mfbxT6LRO(K1# zr_1_*w6#D)S%~)&qTn)qmJEo4I>od50(}2|r@(E_KTLe@akovk#C}~f*&xE- zxw&yX{xF8)-mRA&!!gI_(j`D(?+ypZ`jk8Kbmog`LO_2Tks}c7_KPfaGKy1vw)7O{ z%bc?AC3d(=m~>0WWHA`LlDq4v5mz4#IjxJ@aiey9HcD8&fD&~Kibn@1Oj0?#6Dwlh$tvnclSY)l4( zx;jp;N9B_E%+dHggrPZei8h20rH{Zc_$|;hI3|AsLqa!690Z~FF3ic)q16e>y1?~# zF+V0$BWX=zE^uPi@oQ#a8p+~%kNxw%5&>*$ogboX$;M`y#sdXVWK;`u_57!E3dlx7 z2h{f$8!`7b(q=f>$I!C&gh?XxD)3b|92ao&IFSq15MerQ;9Yt_USR~IV*$g57z;r+ ziYI@n@z%-V(0uP?KS}l{gPVg2blGX$bmzzdO-1woW~xbb_D;3|DE{6pzpQFIxs>N1s(*XI?a{8uGy>|W+rNHMvdifDiH zA>W?vd^f7S^gyT|#-$22oSh7CYTY8t)P4Ss#pqD5g#_cNo{U~I>c6nLt@X*5V*MaKC#F8E#PiU-zGk)F&YQGDyHFcT>D0-&J2HZYT9bJ{^{0 zC_VjP`Zb4~;}}sVt~D$b3+&L5WsHA~E3{*}f+%Y?6Z@n#mlmiZZ(W16t008kF4l2% z5k78~D6E~YhIS=c)X?s#wAf_SglY79-y4#Cf=og_DU*PZP!D%9=4|xq=_r|J1X=g0 zGd=?x;yA^TFN?~mT#lDQ2hM}S8yie|=z2T%u!H5+o!kT21GNM$p^B2DUo(HbF_P_s zzsjHJF)&8zZ7f{V#(!D(sYVfNcX-OvM*ClzeSb3<+^s5BUYP~d?wqzH3RF$d(oKvN zEEz>_P4}I)Sh0p(Gb>SeHKN%&LC)xJ?4Lu3_0CrHIR0eg(kv~(DdVN zuYs05Wp4A1Iw2AAjYmtvSHgdQw`r%pEMbtq2b<=G4DdjMlZ{6oOVL#x&*-P_ju4Edbi>I7%{2XS6YOtgzU~M&eX^6VrSaI@viWV;kg_q^>s+omYYW3y?BvqyN+P^O`U!&Vh5mTyuIhp3(}Nng~ZvxCOwoi|-Lh2MKnE0DspkvNV% zm|CAfoV*4{PIgHd*?Op9I55cf0{j0+EY4ohvRP9f`I+K#~t%p`I2-VjMq#FpHotspo%F#At{{-pvS(N5FK5ynnln37|?QJN6rM7^y=H|5J5-e|Jxa z-jlqYlVEM0W~Kl@sIZX4;WlI)>JWkoiZqCGYkY&}T0wjR79i^$HW{={P4*j*D(b*re1hwHLk5FjePxknM$GBAIcoKi6!E*VisCnddyA?dA z4u~V%_zZjvJi1}t|NfKh>J+pnJ0jojG)M&8Ixy*wWZhxt}7* z@T0^4!}w#npJ;Oye7gP@0$x#bo>JB)PB0kTo#l z=pLXCa$(E?;(1h_sWSkCz07w0d!|5RNd6?|iK@z_G{&go`!YMi7;=;%vqsKZ_(S%V9c}+2o&+ye9p&1UHVNc@x;Zx=?0T?^M%(h%TDs|6% z{88J1B~L?-y^Su&g1d>?yW5qOiqv92NhTS(VuL$TdNceP>zoRjs1J=PCrCE4cg;by z#Y4JBw0ms@)Ctvi+L^Q>0(8~ky=gx76B@ak89#f?M0#n-3ST^I;#&{H`GNwnhoI2+ zierB-AF|x_^6Z97V{i=Z5{B^kwi*zqF4N~M#jPPjtFYMsm+sp$7ddYMD_!6#>rzr4 zfc-)a_kv2yt<1`N45RZ0l0MvH;VQOrT^2hakaNkZ#Up?Z>h4G6&|UCo%E2B3cIDv} zpYMumJHWH&&Bcc21V6r!0MwvS85uJ8a6Nz4q4A{kWtm}eO(*ScOE#AShUEq1@A#WZ zk9a3}4nLRa=O4;Je5Ft>uaybB`9bNip1=C%c>qTi;b==V+U3eoD9TkGg3_BB#%YAD z(*+cG9@4+ItXl+aUbq73Eaks^UQq?ovW8yIaJ?1;j=qd>c;y>Pct0JiY`ciT&#nSSaH?X-w*#ju9|+r^1{O&^C4yP$4M{kdX`q{hl19J3@SY5wsLDp zG!7UZ8&$f-=w8M%!v`C@!)W=^jM=$-I&?Lm68J`9U;x`tppLbVXfd-A<}-gsp|a{k zlaYEyLUAACy#%9+o$0XyH&OQP(H1WA2dGu@N=**)ug!k2?VBZiaQ!`uXmC~Eb*alSDQRt*)@ z=A~sP2-1h;5ag*^c#225VH$YA7arD!Ca9>jYy%?8lj$l=zsT>x8!CUP;j!2n02~-x z^dYap8cFNHk>kf{%-`J2HO3=<2IsSQmRIZgf0N12{Ke9}#j1rjThuTmx@6#$L-pze z&iHV)q(l};eAT!4eu~*KdK%&N0OWsqRX!KtS?j@nVVsi}Bbg@ji~LCRT_&)wl+ zaN|LSF+f1Ek>+@hX3l@L%4sruoxB!-GlIZBIGD{*+(ukL{miDkhu9RCJbhX5ScaR6 zbtgS;40@pP)Lj#{b|v;d4SpQV*v|h$Vl*iA{zJ59OM<*3OF$&cZMYOhVz#_XHbng?@im$Y*&XdQ;zDyRv3! z#8oYJYua)}mals1n_jI5|3x>mj5S7-VP|o9>=5?V;zA(ej9vfxh`7bMg_aFv$p2}7i@=C$&yStfQw${@4 zY3|%!*3hTxBNj%B<KjflEE$>{0$$4*&ighuc}Z)Oa{!=@ASAFeHgdxkkh2L(7GP! zc+#4t)2+FtduY`=bE|OP?g>`w@|~H>naifOiP$}h+UecBefOc#IRiS|B`w-~U4?RT z?u9_+G6;VwoGXfD(JG5)|4Bk5uV3wYzx%wVCp1@dRB|6g%x6;q2D3ea<-X%I_NFZ7 z(FTNYn;^f~fen`2qE~I53o^H(q#7J(v}pCX=p!=W0|4&7FnMe5M#BHeoz6A)JAkrX zEjBe(y}ysJU{Sc6xcbQ_OTJ3BtM-DBCWw>U z8mDBYI>-+R6>hAjr^IY<5h*2@s>7+TZ>VK&IO;6^e&JL#USVg!-R6|q=CAgJ2Q2>@ z?ITgA!8ZNfzQGSY!at7jsbR_>pfkQhebJIA}nN0fO?Y%jD9*i{(M?Z3k+v!H+Y zuXkba3~*YnnqTiX{Hg6aLZaZ@bPWVCxx*rdSrJT!}k0>-_R#} zcA(>j;KY2rMVb=MVmY049um-(^LXlx2YJ7HpcH>9)ohXbF?epjegqS41PLKDGyI(2 zzv9{&2vBw1Jmp~GOQ|W)j8Z4`wJx=JdaX(Ve7W8c4!&-;15XsgH!n%ShPtI zm5k8nZZ(o06X0%j@psr@JFmw(b@ZHKr+uOF8$?Zt+E{pS1a*cl^%YP^c zgM)99k*yqwZP1)HqZ zv_V_D0bwl*zy4a&risI|Mq3T8ybN&ZG(1UO$ieE81`Po(?m5!sMFdP&g_wI=p<_<% zLnDUF$JWpjdZtZjpry&YQ80h`e#I5-NvqnO$eh=(yI`e5*|M1(_+#zk)ok((LD1x( z0_27S*K6ou5tl}?r)$67U_u5{-LiL+fU=^5ELKysuSOa5Qj{H0G&Onz)Rm*@5!c?X z9S_^Tnnz%N>JpamQ%yW8T>0E;my+hs6m7vv*X5@UH;1mOotD0{**T z*7&`>aRu+_(Ygi1%ArY-eNfD_7cNgJC%WW9lIIxc|Nb$eG$ejgT%E`CV0dZ~pmxr$ znB;LBRlRdaJakBL)x%?wd6t40hsHr<@X}oQ!ePS0nIS)qOPeaki#xD8 zjrP2cAa}H{<4LMC>W9G1*RH)G0m7R@D0}>ZD|mu<2!E=h>iyVS4e_Q=J@|$Ay1gVJ z2Tc_0-M>0DQORj}?qS6Yk4YvNX!;)&+mA3KyvF(#yQX(40MdP%4ta z`g@Y6>VJWg@--KyIUC@Xi^9gRU|ilpE!8u*w%8|dzn%7-0*lStitp*i- zTRUp9Zq*~1kAmY+tNfaYEPtr_P$_lkcu%ZuOjA0V5TKNO!>91IYeq}KQJ6>(X+Q%2Xdj~h7wTsCt}ytd2|(jcHhG2{|Tyr zBAVLQG7*w1xF@!GR?xIO($O!mR@IeS#yDUanDDSwH?>?o?CY&vQ@nY;((#2DsEPB)6Q1l zyy^p+BRhEUV8B0(v%5VQ+n||!GbL7Ga2Vn6*M?+6D$Z9~z&B+EN`4($Z;exW{)Ji~ z6snHx)YRnKsh^Mmn~~zef0lqkcOe!8O{jmJnLR?99ROKyz%1ES{j4j*3JY1y`^$=L ztSi>#nvsDYHtPmE;@bEC3~TBT3XWlG0*^{~((RdYr#4Ga7zW?`apiPSOS?M_gRG|M z^34l~Rte*n?GB%yppHGNqEi0$qEvWe8o#hH9`n&@_8oE@XmqUT3-H{yp}vdD{Vsn| zQR*_SmM$V~t&s+&HP!2J^0cwE#Sab94ai**rDr#;?fl$~~PGoNdA$e9}|Z zWTrhpj~cdvw)_0Hq6rxP>_N!08Bc#Wx!a-n`vM0&CGvsTbQG)Ox)UIaZvP;cuyEUr z(hkTN?#!5(%POulT<#TL!+$kUZ$f|g$GdAw zU;_OQI!&KvEROc1;6XVZLx3j;B>y@ct*HAxS<2(ZsgLeFQ0S}3p2J#9CD`_eqS(YG zM@NH?SDt|XbxI*KA``$aLu&hlEkr&7qX`N+fN#qM1R9Y`_WQ?W=a@d zx{H`2(asc5474E#2hw<#$2$| zo%46=zB7VnOj3WtKGD1)V}chBo})lIK)v8MD`@USfEakNGC5S2*c9g~g@U-k48$`g zEq7{nd5cGoPO8gf(en3ZeJ;?8=aNqna_79oPJ#P||E0*YIp8l(Q(pVk1$OS8ec5Bm z$%?r4>+CSc0X35y5<-0WyDSNh;WUJ0ygC$%qp(CwyYbV7N)_*&J^ zWW)Z*;+3)CUG1@r7ghlzdJ<6Q?Z%lTiw1fh&ZU1>V?FeQh~xl0a~VGPdMg0k2{+0C zHCh$gf;Zy+XvWmVA{I{}GysWnJQ3*^5DI`CbPjif^;99331Z9Z&rF4iO1hI^r)&KK zkosWXaeeNJA$~Iwajf^10m_{bW#YIl!?OVHYcigJf>RP9Rf?KMl7bq#Ny0)EYEs@s zUI%}}!uy;_$zAZQH)G=YVB3%WIs>8-CH(72Y$nsUXI(Z+qThhBKWzP%b3}8O)t${B zo~=fQ2w5>}L6Q-2%L%;s$}~9TDjexPI{mHF7>SdoB-$p)DA63Rd8doqU|!BHHBek` zLYvq-JWfFkovO((ob=Y)MqQ0HqYb4E&|ZJos|Cl%8EFYbp+MbYWhjCi*;kjYNVb%+ zx~uG#m|B6L(uu5~W0w2jG+LF@%q17M3HI=R_ctgbCb?06(5pRlupk_?Rr}5Xfj~aG z`Uk{CN-YCv@O91^R3+oGS%$t%zAKx>AdBaj%?bAM10aZB{3GVS5c6GOt~F*mW&l