From a73499fa96b512bb49f6f1bca34cb5b8dd8a6c29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A9nes=20Magyari?= Date: Tue, 17 May 2011 08:54:05 +0200 Subject: [PATCH 1/5] Updated to use latest Mono.Cecil (0.9.4.0) --- .../LinFu.AOP.MethodInterceptionSample.csproj | 190 +++-- .../Program.cs | 92 ++- .../SampleLibrary/BankAccount.cs | 8 +- .../SampleLibrary/Employee.cs | 7 +- .../SampleLibrary/SampleLibrary.csproj | 199 +++-- lib/Mono.Cecil.Pdb.dll | Bin 73728 -> 82944 bytes lib/Mono.Cecil.dll | Bin 367104 -> 271872 bytes src/CommonAssemblyInfo.cs | 2 + .../LinFu.AOP.Interfaces.csproj | 219 +++--- src/LinFu.AOP.Tasks/LinFu.AOP.Tasks.csproj | 179 ++--- src/LinFu.AOP.Tasks/PostWeaveTask.cs | 6 +- src/LinFu.AOP/AssemblyDefinitionExtensions.cs | 1 - src/LinFu.AOP/BaseMethodRewriter.cs | 12 +- src/LinFu.AOP/BaseReflectionVisitor.cs | 693 +++++++++--------- src/LinFu.AOP/CatchAllThrownExceptions.cs | 20 +- .../AddMethodReplacementImplementation.cs | 6 +- .../Emitters/AddOriginalInstructions.cs | 4 +- src/LinFu.AOP/Emitters/EmitAfterInvoke.cs | 6 +- src/LinFu.AOP/Emitters/EmitBeforeInvoke.cs | 4 +- .../Emitters/GetAroundInvokeProvider.cs | 4 +- .../GetClassMethodReplacementProvider.cs | 4 +- .../Emitters/GetInterceptionDisabled.cs | 4 +- .../Emitters/GetMethodReplacementProvider.cs | 4 +- .../GetSurroundingClassImplementation.cs | 4 +- .../GetSurroundingImplementationInstance.cs | 2 +- .../Emitters/InvokeMethodReplacement.cs | 10 +- src/LinFu.AOP/Emitters/SaveReturnValue.cs | 6 +- src/LinFu.AOP/Emitters/SurroundMethodBody.cs | 8 +- .../Extensions/CecilVisitorExtensions.cs | 329 +++++++-- .../ExceptionHandlerInterceptionExtensions.cs | 41 +- .../Extensions/FieldInterceptionExtensions.cs | 61 +- .../MethodBodyInterceptionExtensions.cs | 40 +- .../MethodCallInterceptionExtensions.cs | 51 +- .../Extensions/MethodRewriterExtensions.cs | 15 +- .../NewOperatorInterceptionExtensions.cs | 143 +--- .../ImplementFieldInterceptionHostWeaver.cs | 7 +- .../FieldInterception/InterceptFieldAccess.cs | 4 +- .../ImplementMethodReplacementHost.cs | 7 +- src/LinFu.AOP/ImplementModifiableType.cs | 7 +- src/LinFu.AOP/InstructionSwapper.cs | 8 +- .../Interfaces/IInstructionEmitter.cs | 6 +- .../Interfaces/IMethodBodyRewriter.cs | 6 +- src/LinFu.AOP/Interfaces/INewObjectWeaver.cs | 4 +- .../Interfaces/ISurroundMethodBody.cs | 8 +- src/LinFu.AOP/InvocationInfoEmitter.cs | 4 +- src/LinFu.AOP/LinFu.AOP.Cecil.csproj | 337 ++++----- src/LinFu.AOP/Loaders/JITWeaver.cs | 8 +- src/LinFu.AOP/Loaders/PdbLoader.cs | 4 +- .../InterceptAndSurroundMethodBody.cs | 12 +- .../InterceptMethodBody.cs | 6 +- .../MethodBodyRewriterParameters.cs | 6 +- .../InterceptMethodCalls.cs | 24 +- src/LinFu.AOP/MethodRewriter.cs | 10 +- src/LinFu.AOP/MethodWeaver.cs | 4 +- .../ImplementActivatorHostWeaver.cs | 8 +- .../InterceptNewCalls.cs | 4 +- .../RedirectNewInstancesToActivator.cs | 449 ++++++------ src/LinFu.Finders/LinFu.Finders.csproj | 133 ++-- src/LinFu.IoC.Common/LinFu.IoC.Common.csproj | 161 ++-- src/LinFu.IoC/LinFu.IoC.csproj | 401 +++++----- .../LinFu.Proxy.Extensions.csproj | 167 ++--- .../LinFu.Proxy.Interfaces.csproj | 163 ++-- src/LinFu.Proxy/LinFu.Proxy.csproj | 201 ++--- src/LinFu.Proxy/MethodBodyEmitter.cs | 24 +- src/LinFu.Proxy/ProxyFactory.cs | 7 +- src/LinFu.Proxy/ProxyImplementor.cs | 5 +- src/LinFu.Proxy/SerializableProxyBuilder.cs | 8 +- .../AssemblyDefinitionExtensions.cs | 107 +-- .../CilWorkerExtensions.cs | 74 +- .../LinFu.Reflection.Emit.csproj | 144 ++-- .../MethodDefinitionExtensions.cs | 13 +- .../ModuleDefinitionExtensions.cs | 2 +- .../ParameterDefinitionExtensions.cs | 2 +- .../TypeDefinitionExtensions.cs | 629 ++++++++-------- src/LinFu.Reflection/LinFu.Reflection.csproj | 173 ++--- src/PostWeaver/PostWeaver.csproj | 160 ++-- src/PostWeaver/Program.cs | 24 +- .../SampleFileWatcherLibrary.csproj | 141 ++-- src/SampleLibrary/SampleLibrary.csproj | 313 ++++---- .../SampleStronglyNamedLibrary.csproj | 123 ++-- src/UnitTests/AOP/FieldInterceptionTests.cs | 2 +- .../AOP/MethodBodyInterceptionTests.cs | 2 +- .../AOP/NewOperatorInterceptionTests.cs | 2 +- .../AOP/ParameterDefinitionExtensionTests.cs | 4 +- .../ThirdPartyMethodCallInterceptionTests.cs | 2 +- src/UnitTests/App.config | 15 +- .../Reflection/ReflectionEmitTests.cs | 264 +++---- src/UnitTests/Tools/PEVerifier.cs | 2 +- src/UnitTests/UnitTests.csproj | 345 ++++----- 89 files changed, 3512 insertions(+), 3608 deletions(-) diff --git a/examples/LinFu.AOP.Samples/LinFu.AOP.MethodInterceptionSample/LinFu.AOP.MethodInterceptionSample.csproj b/examples/LinFu.AOP.Samples/LinFu.AOP.MethodInterceptionSample/LinFu.AOP.MethodInterceptionSample.csproj index 9ba164e..a757a82 100644 --- a/examples/LinFu.AOP.Samples/LinFu.AOP.MethodInterceptionSample/LinFu.AOP.MethodInterceptionSample.csproj +++ b/examples/LinFu.AOP.Samples/LinFu.AOP.MethodInterceptionSample/LinFu.AOP.MethodInterceptionSample.csproj @@ -1,109 +1,95 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {47E8A072-1E89-4FD8-AEB0-85C105F7CC52} - Exe - Properties - LinFu.AOP.MethodInterceptionSample - LinFu.AOP.MethodInterceptionSample - v4.0 - 512 - - - 3.5 - - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - ..\lib\LinFu.Core.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - {40E585A8-2D84-45C9-8EE8-9600152D8D96} - SampleLibrary - - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {47E8A072-1E89-4FD8-AEB0-85C105F7CC52} + Exe + Properties + LinFu.AOP.MethodInterceptionSample + LinFu.AOP.MethodInterceptionSample + v4.0 + 512 + + + 3.5 + + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\lib\LinFu.AOP.Interfaces.dll + + + + + + + + + + {40E585A8-2D84-45C9-8EE8-9600152D8D96} + SampleLibrary + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + --> \ No newline at end of file diff --git a/examples/LinFu.AOP.Samples/LinFu.AOP.MethodInterceptionSample/Program.cs b/examples/LinFu.AOP.Samples/LinFu.AOP.MethodInterceptionSample/Program.cs index 5d21445..8efb883 100644 --- a/examples/LinFu.AOP.Samples/LinFu.AOP.MethodInterceptionSample/Program.cs +++ b/examples/LinFu.AOP.Samples/LinFu.AOP.MethodInterceptionSample/Program.cs @@ -1,49 +1,43 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading; -using LinFu.AOP.Cecil.Extensions; -using LinFu.AOP.Interfaces; -using SampleLibrary; - -namespace LinFu.AOP.MethodInterceptionSample -{ - public class SampleInterceptor : IInterceptor - { - public object Intercept(IInvocationInfo info) - { - var methodName = info.TargetMethod.Name; - Console.WriteLine("method '{0}' called", methodName); - - // Replace the input parameter with 42 - var result = info.TargetMethod.Invoke(info.Target, new object[]{42}); - - return result; - } - } - - - // NOTE: Remember to check the SampleLibrary.csproj file for an example on how to use LinFu.AOP.Tasks to transparently - // postweave your DLLs! - class Program - { - static void Main(string[] args) - { - var employee = new Employee(); - - // All LinFu.AOP-modified objects implement the IModifiableType interface - var modifiableType = employee as IModifiableType; - - // Plug in our custom implementation - if (modifiableType != null) - modifiableType.MethodBodyReplacementProvider = new SimpleMethodReplacementProvider(new SampleInterceptor()); - - // The employee object will call the interceptor instead of the actual method implementation - employee.Pay(12345); - - return; - } - } -} +using System; +using LinFu.AOP.Interfaces; +using SampleLibrary; + +namespace LinFu.AOP.MethodInterceptionSample +{ + public class SampleInterceptor : IInterceptor + { + public object Intercept(IInvocationInfo info) + { + var methodName = info.TargetMethod.Name; + Console.WriteLine("method '{0}' called", methodName); + + // Replace the input parameter with 42 + var result = info.TargetMethod.Invoke(info.Target, new object[]{42}); + + return result; + } + } + + + // NOTE: Remember to check the SampleLibrary.csproj file for an example on how to use LinFu.AOP.Tasks to transparently + // postweave your DLLs! + class Program + { + static void Main(string[] args) + { + var employee = new Employee(); + + // All LinFu.AOP-modified objects implement the IModifiableType interface + var modifiableType = employee as IModifiableType; + + // Plug in our custom implementation + if (modifiableType != null) + modifiableType.MethodBodyReplacementProvider = new SimpleMethodReplacementProvider(new SampleInterceptor()); + + // The employee object will call the interceptor instead of the actual method implementation + employee.Pay(12345); + + return; + } + } +} diff --git a/examples/LinFu.AOP.Samples/SampleLibrary/BankAccount.cs b/examples/LinFu.AOP.Samples/SampleLibrary/BankAccount.cs index 3414766..d747a16 100644 --- a/examples/LinFu.AOP.Samples/SampleLibrary/BankAccount.cs +++ b/examples/LinFu.AOP.Samples/SampleLibrary/BankAccount.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Text; - +using System; + namespace SampleLibrary { public class BankAccount diff --git a/examples/LinFu.AOP.Samples/SampleLibrary/Employee.cs b/examples/LinFu.AOP.Samples/SampleLibrary/Employee.cs index c509949..7f8661a 100644 --- a/examples/LinFu.AOP.Samples/SampleLibrary/Employee.cs +++ b/examples/LinFu.AOP.Samples/SampleLibrary/Employee.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - +using System; + namespace SampleLibrary { public class Employee diff --git a/examples/LinFu.AOP.Samples/SampleLibrary/SampleLibrary.csproj b/examples/LinFu.AOP.Samples/SampleLibrary/SampleLibrary.csproj index cd2e48a..297a184 100644 --- a/examples/LinFu.AOP.Samples/SampleLibrary/SampleLibrary.csproj +++ b/examples/LinFu.AOP.Samples/SampleLibrary/SampleLibrary.csproj @@ -1,108 +1,93 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {40E585A8-2D84-45C9-8EE8-9600152D8D96} - Library - Properties - SampleLibrary - SampleLibrary - v4.0 - 512 - - - 3.5 - - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - ..\lib\LinFu.Core.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - $(MSBuildProjectDirectory)\$(OutputPath)\..\..\..\lib\LinFu.Core.dll - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {40E585A8-2D84-45C9-8EE8-9600152D8D96} + Library + Properties + SampleLibrary + SampleLibrary + v4.0 + 512 + + + 3.5 + + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + + $(MSBuildProjectDirectory)\$(OutputPath)\..\..\..\lib\LinFu.AOP.Tasks.dll + + + + + \ No newline at end of file diff --git a/lib/Mono.Cecil.Pdb.dll b/lib/Mono.Cecil.Pdb.dll index fc5b842523030ad28f1e5616da57b4b87bbcfae4..97d3854ba89874e617e526317b0c8a955735b420 100644 GIT binary patch literal 82944 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 Xt3y%GBk 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 l&q`Uhtizq*nBM-*!&mE33UnP;AP=9%)& zJMX+F!^W*qj#A3S-*3MuwH2T8)0g<4VHuLs3m-{W4+LIpvDF&-VvEr;X4XXKRmab& zo^p0{>Xf;2;|ro^OpjJCoEx1vH#%_msOZ`8Y12#7(t@pw>JfvK8frPpGo{msiPH8d zyG6+IE7jOi%By1wx*{A!xGz4%Itkm_ZiHyRe5z$gM|{}@7V6daVx=ujw@1P5xs*IX>X*JbZSGw_n?~qiWmvhc9vMljpwk z^^vOz-~H{~&+-oT>~iq2uiFh8@Jq1eooC#za=qgD|+mZek>^~$hn*E!0q^T2&Vt`>rhMRJu8ABZP+w2Q>G;8`lm z%CfVZ7)FFw+1^zLp`{KwUE8+`+U+`Y71#E!`dGq^4C3Q^_8>+q2s)SnT5Rd&dY1mjDYmKD%KkwA7vBqQoX(2a8=8Tmbag$ff< zT3XRW>Xs3WBDu${I;E9_@7LiH3BQ4G#bJQT3Lj~7HLP^A!b{emYVpf;S>Yv8(RwCs zsAuA#dM3^@_Cw1x!q!nsB&1EZYsDWCPwTv@Y)>TYdTL;!cSFUMFu<-A|3ti!=0(ac zlHw+E7R`0-T5(#$Cj!3J;>9=&hOd$`C)Nl1*tOCO5m%&LwSa~LF*bvFAnFpok!E|YXS*D@q9&xiHkx2J(M}GV5=oCv*O2VqT6I9k@qbr@~ zW~C+kkZ#&4J^x5ja9C1MwMWgf%WRb)9zc63JF3vhCKXHz7AbH0WE%V?Y0^}anx>?o z+saT!T4BZ{oh6wE-5BvPsP*O^vFi1qw_^mSrX`b^7p_gDqgZcVC%+woytgE37tSbc zW*1hM=Guh|N+WjRqSCNkcy6iBE}VD7Dzfreh|~wZNY&9esRP+(O7g;zPC1F7v2S(2MNwy%R%sz{F51xtw@Yh{u}& zf>|ntt3Z>yVai z8!GCcjrVD9mLV33(*h;g-UbQfNND5Bs|xu%M{JBmNbK;2iL38>1X!VFEK2w?w{SAHz(%)!{h{BZ63C`&T1>SgfU?|aJdw}Go zyLrBNPYLC^p7h)dK;wg8)k^0kOdV zv_vx97axL{aAAI$KQI?pWxH19%qER%&~Jm;9u@J_oG2mmhB(GjFyh9C;sag88^N@$D8F+-E zH0p|mkU4G=6a>9`GV`v2%dN0xY5F7EHJ={y>2-Ymh)3ogH$GWR!+N@Cj&d=9uRF@= z*?!v}@!cqG>#adw4rT`;0aV_%PUZ!4wLn0^=-CpMxoVwUc}cMJTo=cM1jHW+$W=s~ zfN5L0qpndf5-hnCYXFDiH%sbc*GivrWZ0Pji~eb)HvWk^v1SG&WKO~y7mUvm?I5#- z%rOMlUtVZ~Myr?8K!fqyTiH2v(wSp%$<+RglyNWz(O9~ijSn-2>U&nKQN&J3HfyT} z@gmRo$`oC5jgss#EsIKt4vD60YPoSlqTG2V3))-fadjR^Zcwg?7kS1%o-Eg`n@?R$ z#?{qGz^SXohhx_Yn-#~Ti6-G13~j3#Y5kI=<~lTZ5Nm@ae*^O_xf|%laQ(*w7Q+P| zqq=e3U6Q1A*|m~ueBEZCT`Ps;&dQC?hyFH@5bnlrlx*m}9IN@3QkXX}RzH!FaznY{ zqPEKM-x&WAJeQYs-12xz(v(kPzd&piE;4>Bulx>&gQULLG!LZ8S2Zpz-3`Q-NfGHT zqT&}w5K41}8?`#}XdQbYRs4HJXX&i92Vj2uLeY0j`8&OKx*M-WS|EN%Bs^YLV02S2 zO>SV8H$@YxEpxz8`4K~@+;yYbE`LUuxX4Lg5f87z5A>q@b#*9<909IoBEtC&W z-6Hu&ck9mKr>E{*e5TG5Zrx%@aq7-vf>q-4LD4$d9sM1Jtj|8 z-dLS^JWWfEe`B+#WkUPJI9KgasvEzCP3tkAj{amBt~v+f4VPbxw*@FUXlGgRODLXY zn}B0JjUHcgU1_<6E2G@3M^*K+_4of-k*r)FFBBUhSvBd{DL4;%Iwrf`h;eOx2C!{` zn+~&?k>yR4>C=HM+&5y5@T#mpG7vi#5iB%IRbv-oUM@EsbTPTv!QAXn(R7vNkA!0I zq1>ob_#|a#g%j%28rYIyV<{Z2N*Ix@cR}n(hK}(@(j#f{h0;4BL0p`I@KOk$p-3p= z!!VHguZ{#GUQ<%Bsy+*5HP(9};)_Ty;f%b9HxbkZd$Ti(R3uaGOI&pX?TpJa+Mp7a zvkfkn+S|!CNO;i~J@Vy|FFSetd2*Ydn;njXOWLdI+v>|ri=?3qu*$GDMAGv7rqndk z8vjcpXc^qh_=<+Z1i$uK#4jF|@;YH{QYUQ@6#w~?{tG1hXSUb8ytNIEPUTJAV}n8|Jo z70J>bi*M+VwGbA}a$kw@tTUV=ZK-{%_ntx(C!zaex6t%;H{oZUjQy@;Z}n$KBhlzL zkS_I9$c<#h0faICiz_1T*leGh0>@!s%{xhOOpB{4rcfg4nKHf)8nj7LgVu9aL0yU27of%}(>w zZh`(t;KpYPLd@Zi?T?1oDJl*W<6k+*le2A zZ5m(BoTicI+Ky^~6W^=ZKRCRtW?tt1to0I?x&Qi+pWWHqfCmz`sr8ObqzjAUWf z$TB5Gj2BC;j$}r%R=tdSrn;Y@AUC^_8;KZ4EkV2fAK2oBF|?Zf2@|rNogPUy7S`ZC z!ke8N$*h%PB8_Apw^1Z_LnOEMHbi9S84onpp9Ln{xT@?Xx!FxC-hm}5EB{ENhoIJt zG%koV9hc}ISg+$R+)THd@2?|~3PbzFYExRBkX4xd^(uGM+ zCOUXA%x%&%wY>Z#gQW!1`uR(SB$nR9Z2cCK#D zEr>Woh9KVY=&)INxhbT@|UgqJrw*w;D@8+43! zY9B(XX%a71B%X9{y01Z+Q~P%jiS0Ll-QR zdSqc?zgsf8M;bjZ{#CV4KwG0unFwt|D0)sn)&p`ml3Ujp*4fsx8KGo`A1PE0f{oQ!<_ z_aa~Ty~tg^7x{8Zq@Iyg?Mo6DhEF7rVrn|NM$JI@X1O$rvi;f?_Ct@XCsb7058&4q z3GBQ$*g@!zEcz;$UFKKspq*QYobA+Hj}!>i{uKq)bQUq6*QvP~fpAWmpBI?C8-0$x zx;P&6$R0?OJBsQ?xKqb6POeWf_mp6b))G->jfVS4?|E7QHZqbLVm&3hPbV~~kI!ZXPN*eHasYiCpBVL_Y2@{Q@RmImaT0{ z#PTMv>G)N$K+6s}c;dE-#zcbI8M#;!mP9flnKx#KRV0jt!^#4e>)NkTvYtuzT{F2( z7?zH(9oMr+M$-6auuM%^=Rji`)>UckOKY%9@Gh%GHuMb#_Z4f!TKRG8B})*kCsYtT zO|2(OQ_1BdZl;!AihSO6A)mvU%cFeZq5?c*!*(>2%#8MCN5g)rTxL2 z6sGqd?m|LKl%2SRGA4w4C7IPVu%P;4F=M%y;T8rv2HnDGyc5Or2bq@D&x*``K%rjz z7f$2c6GIOP>TI@KIAmPmwDEN-Q2`sbcJetshV5P%e5-b$`_-+GB%R`=>=hDGD~JU& z3JTcXys>q{F=NX-(j#tORqJdQB_46*awkt%YT<3sjO8`=WpLWSv5pZTlph<;`V^JewK6z#a(RXpPR=rU6c0dr1jS_n zkCfn3uPi6x;o)vS!YYxH7epZGGW{`VvEqUjFERaoExZcQpUWI zYR#tcPuBB8YtAHS01o#C%~64qVhsyOY1CQ%xt*GtDkaR74v_58V(?hyN!T7!)wja0 z4UA)t(X;MFGV3nWJ{K=FtWiU={)N`2BNDn39W-HwbUj><=(Ey>HPDrhLc_A81Edk* z0Qo>m$xMRvM(eaht7t{t$Kc+g-u;sjYF)Ne1JCQI2AA2PI$36gmb^E z?u5+$KNyf!xIM88l7_r{{Du)0LJ+_`1=um*Fo`cG-L;lQoS(kT!BKG z2bB6MsPIHksaGNJz=Pd zUol=?_RiVrjKU#&BG`Jj{#n_Cm?`etW zdY$FELX}5L$*fR!jb!!KT`M1Xvu(CvQL$3a{> zQhaPGo9eVHXKH6R(%#CUx7y2n0QN)m50?Jdp$_qj<&pw&eJZ&@$R#G_##HhrA(xw! zn^N=KoJwv<6~k<8^0YrMrN^yDwC(O&C3`b*DuP^@)jeH^&qI z8>8w=Uw;(8iyU^yn8p;Q%2MosB^xAN8&R+1Zj;F=3#+q{M}DH!f6e(k`XP3+qZi>m zD~crs!BJqmBfJa5_Rsn4FsltNj zL44#Fo<*v&NjGR;i6)7m0|sMP03g%;A?dz-mC4&*bGoq|b|vF8@JC^bd8MIVqt;>VeA=1{3O$2SX;xb6P!9 zNm@Ikp`LQ?3w6rI4ci$`-lWMvCvRG&rPtMkQLd;zHmB&sE`7$<%tzuCR6L>6Fkz^Kn0d}Qh%cLWsK#9$D^)pnHS^KiVdO>tDZyRZTVR#-~pSxPR60U7F{bTAW zny;LRdj+Yiw+O_#8>)dn#jm*k)AKcUT5-jbBrF8w1D4B&GZAXEroAxGL0hBJ z`bXEo$l;kfE2SycW(89lMm4T-3Nw$2Yl67O5~qu9s*6TBVp|lYuwTOOu+H(WldTCX zX!JoobEAF$^>?NJ>*w{5ZDE{ll(xo`P}a!jc-P*Pk{MUrf42WH;ZAM$TAmV^)UYaR z3(lB4W0XToC6S6;*Qu{yDk}A}=YHeZW8Ix0^njot28IwmJ;|}=UqyF;$ zMp>!FH?3ORz?^1PQu9=a{9|oyu5F$*#u!~-{PVv$_LZX@d*ko=^3_v}e$$xji~qm> zmHS8j*JG$v${5O#F|_&wOj$9mky3^NX1x!&Mm|rY~y)Ppd#67!lIxseIT%n8Zo06Gt@H%H}Jm6FHw!DJrXo1mPo zlBX$eDX@Dfg~*BpH#fn=dfUTmDQqUmt^(@$f^8q~j4c|8YKk_YZ;&;W?{%%W#56ct5>jjD`xEiEfc3pO2yJ!$o1av@L{q_|@p9Lfm_b-Z=U!9&*}CM7v%+g4~r# zHm8!iQ;C?8%=5P-;riajBUGh&u+4Q*u|J_Gy=1~Q$WiBM)3H!X7@e>Qt7ox^PvrC= zMG)G=i#7;tN)XzVAhan#XcLLk&>!bZ3Fw^C7a~bJom}kw#BQoLlj-Ou3XkmASMZ<| z!*8vu4>8nm)%PfGrh^Rf00w6q5c3`fIc}Obw3BONpV|jKIFOONr}MbAw0xP^;uwO7 z#Tx_>%X8zH&Txj(;R!l#({Z{PwWP;egWCgdsDT!r)?r;kxh<7!PbE(ZNo+$rB_!dGr&Cj&Nln?2n(}OF%1$A? zEW?85QpxkFT%g=} zu&CW?ZUvdS5L5ef%!Iw3CS*MEH9s6j|o@0 z+MggUFQ2?4l=pibpeuv^_&3p>Tm&}jh ze%ihWpZ#?nzOyS2G>cBc%yJ`|qV_Y`7xLwH%=GEENzCh2^59YC7rUrg;w=-*%c!2W z_Fu@MUoc6|M*3`n$Zyi`4ClZkU1Pmg#C1sxV4ZnBOg}N@E(K2AGYXHBiX#5Njac5f zvG=4lc#e@4;8Rct?w9=%SL&e#iXQA6uZJD6_aTXQXn4p>R5bGkcs^@B+;4|$AC&EF zsEh}C-ZuSzF7yo&eIC3yETe`GbdGxKM_+mDqQP#>6!;+IgRBfK{SJyS8DaV@6k#&X z;?tzx36s&L-$U{G^jjz_+u?e%Qu|~fWUx+^;pfHCXj~DcpQ907tY`Xq`K}3$Ak>~C zy5>-`Q!6LIr}nEm-{{ct=kWi@P5nznhSll+y^wc&S9<-Av~y)7csGA(hNtr zcnM}M%m$KKUyCszT?>7+l0h%pYzNyowJ;fPCrE7UGlaR;lfH)2-|9rxG2MeZ01?pd zg~$o6B2^vmHaLH#yUvD)CokQTI0&W>otZMZ7sKA?RTcN6BI%x>>+qQV_>c)q4D$fA zlrRXr8V_?_|5&_|RbMckxTfJs$9nnJ`Sp@TPDusgUBr3>sxtA)#Mq!bu~tO`jGF(T z#H@S%Sc$w4L&NWvZD_~E9#!lRT_t|P)Fbb9qAwH&7(++g_ z;)JQCNSp-o<~OXRM6;H#rwPwZ*EeLSI+!lxsEG{C-%7nWj~Gms*2r9&pnr-CPUem>3lth zVT_jGidWy|u!$w3NxGfa@mAfUm#Wy)h2$ryXoyJ*VVVxxez&SVCr%egE`Myj3|#2R zHnM(i)zO;vn>D|TL;NL5EXE`vI?!nxzLO=7EbMPXJ;F||ye}2oAayc| zFsmafsq3{=UAQ#is)D)6!~KQftXs|P$UXA>Pf#|V$s80DRO}mMYvWyjtBkD|{j%1; zoTNrbo~0X+C8*rpxRmHqma#ue3=Sve#IYg?hSc7C<)v8c4sbo+`n<7CAZ_phxw(_X zJ!~da;AwAR8~s%=@=pJqC}*UUQ!^Q61RI!UY14c(EiGW@X{XuRY5t=u%673Xf;uj2 zWxzn9o&_q@v~Ly|6!;wGg3KvABp{CUGwTa-+*6_^beyh$@QNUPa#m=m#Xy zCehOAH!X`^TZ05<#wt%0&d-gm7t!Yg9uW8^pfIenNgGCe7i_MJ-h<|kF2uNs{z=l$ z(xohuaMQvQ3hN37>KxMX+9xg&ycVFL)G26#}v76oI@6!b+SwnB1v_!0umy*>JAwq3hO>MM9QlB0t7v^R?HZ!@6%$infJDK zVQG9bnoQm-kxLiWjcHg?=T*h;Ml4=2(VbexRHd!tJ1Q{7W4}sgb9iJI%fAY&zj4=t zw@Gw87>`+wpLo#$vz$3gj+3rh2FGsja!r2eU>y8xkA@yQ2+GmB^Z)M)l8wp0*L$kOqL?@CI?Uj%xC@JT`Q=4rIS9y?9F-QDn9>u9mLMqKW>h)? z0r@JU(y?+*Bg;zp@*-jNUtZ*CePUkKXvFcGn@lI`o9^o9M8_^FO*ewcnEazfLdkc) zicl%tGac!fSSNJPMbE@HLC|&WQ{HGq{blUEgT1CPDRYdCgL2aDJRXh3=eIK65ho2* z_l+Ua+;!g>B0Yhxmx-8k68(Z1i1f6&A4M#;?%()8lnCRUJ2`S)(neLEj}@kQe*>=p z<{E*O^D&oih(z?e1&EXZTM|YzmW8$y@d-SE@3LXHtoRtF zt7^P_n0Vbqn$lReGORm89=Mp^(D5oOO@B?8Co3&wqzOwIX<+qV6Xvm($QzK_1tM7g zEn&jyza=bbpUpiEyrh|iywZ{Nw}e4Db?6?KlrPGw4~FZjiNUGcdY0)eGDP8v?g#PO z)6prqA@KS~C%hM&`iib6%Y1{ECo9ABkqr4NFL5fwv7T)pp4gLq1s*K$YH3k`q74__>VHh8!)d7@qUe+weAR7 z2J329*5~rwh^Q;}tZ1O^t=WPeT=yG9irOLG((zIyEl?{-KEH2lO$;4hj{XGki9U-# z;o#2Zh4$ED;CTl9Zf#XUzrKKYSIvj3>VAO|906%6_pcK6t(IurOmYz96}$<=J$*T@ z!1d_~_>`aMbA3MB5xsvbLT?~0`WWI0TNefz>q9(P{OUz!;bgs9lrdWqgtL|%mQYwi zUm+xVWgh_pOU`D(2Mc7~5p?+x^45MYW)Y9b)frXus7B$UQ4Lb?wuVm03m0|s*2;MC z5gX(wY><+g$0M)D;W1TmIZK;P{3DxWC)3CM%%kfO~fZ| zE)=?h`pW#tdjI|uo`{#v7w{Je7B=Z2Hw_gZ0i-Wpi~^MHUs)}kNi3-lx#R-a4)D^b zQ|@Jo*_X$9gNvIo zxM#2u_0rZ9^~IVkeua+rtz49hk2!e19d}P6@7D!2g4VU7^|+*zU4+R1GXx$YU=f>G z3I5LMGnn6h)QSBqB_7uk%A$^?Wu?cLb?qn{WXL@Sc>M&N!9hoN;rt1M5gxUmdgk1- zP&1__Z$v&n;>L_pb2jVmPHj1O%n1XLwgmj?Mo8;FM|L>*1GB8tp4iYw&MK>)tWGk6 zN$IGgI)pzwJXNx$yb^yI;Ntymkd^Tk#UJirdG<)sn&K}Xf0AGRBu&)HpKvU>c(z*R z7~vu@CUkPht0oZ71P0Z`p+$(fn&Dd+-WIwWF}sK#hTekA7mT;V5}#inxt=MSjqt&u zyAci)F9J3NdesTV?TfwYjADtuj`43Y{??GhJ0%jIQzDWbO4=6(RZoV;Ana9(i2F;P z$97k@(zhV9r}X)fpxRO{Wo;`L`NED8zN(YdV&?Jvj!#$rsF1vs-6U5<_a@!FYGMz; z8sa6y;XOruY_GvM3O@D)cd-v@9nwr{MymwXa>fT;; zA8~hYk$jW*0p-6Z+I=KG(nmBD61xxw1A}T@pV{!hBI1pGF6rY{d;5q_e(NJXEbS|) z!-+M0*)Dy>+j|j)pZf{s6EEsl-7l!t0ee`F^ph6e$Cz(`IHB5KyjM&-p4gYTpubpk zZ-4RF9RtM9#|DVxvkdPdzDE4l0FhAx1@nk4x{7?|K*7ZW#WQOd-aveY_%5;gAo0?r z#A^qM{KJE!+&37uD!&~BKU9jH7gb8>k5)?R?n;qtGgz=2u@AA5IE*+7DE(OXW<72* z@xDMCj8tKMY|T`F1@I0nMghe7f~8@%zRMPxYKPMsH! zVFQ=!aPQund}O~ z=8>%iliJpSrKz~q6DA^Xa(@5sJ3%yGnL-x`)q_Jd(f$bL4g71=L_m5}{vSXVNv0NEq^ zll^AcNo2~_X=BJN!%io&4Vyvc7&ed0W7uLcpJ5k~`3+l57BK8avY=sqAqyLJA6dF# zkCSB@_B>gZVQ-S<8n&OTv0-15H8t!fvgU?)UGZlN!*a-48g?968^cP-+8frLti-Uv zWE~6}P1ez{No2b-_O4;alkGM61~K0U zh7BY8$gt652Mn7;cF3?ZFBc??S`+}^!VLy@;8|HY$O9_@nR%+6kl65ewHCac)%E>AW z>p|ATu)$>g3>!l>2u$iQ87xhmVAA4D8*bRSWTOnbfb4X`R*}sz>?X4Fz(nUAU}@?? zlXf@LE-~y;vXzGIAX{VDD`eLi_Ac2?h8-YVZ`hY)8x8x3>@LH+KJnn+3`-}w&#?OlW$X+$z!m$zae00>TQ!Yo@oaRn?d%uVT;JVFl-swcZOX?_M2hX zklC*8OB=|%hTTn;2F6|ohEs{ZmmD?|B8FJGr=r;<7_zatKXAkxn#54JarpZoY6ps0It?< z0sNV%dV%5I(2X+fB&N-ETS6{Vjc3|iw-wW7F)fZ+P4X>bTHKYpc_~lUt@H7qR@kLv z3tVi(f#s4db~}@;C98G2amKs>ETERSa*vs*ZfDx1?jRLH30q)gKwaschP%H^^>;9j zS_>vK?Muveo!rJE?Jee8@19Qf0c*R#okaF8q_tLmcIPqQ56t&xcRtg8W4=4w^T+~0 zsl%PFJgUr8d1PDMo9W$FLGkXr?k!{$hCM{dVU)breVHYU2Meet+}&zDQm0e$HTM;! zoeLIFueq<2t)%3;VA3k`OsQ|taQJp2oRrE2A2Uc=%wt%)$^>&%IGl}E%ndgI=7$S` zEyJyV9m9APTXiS)Ck_vHMa-$hiNtBd*~Dt%V&XF5rNk?NUhg&G?&{QKH-~!x*As6i z-a)(zn2>oeJPtBX5??0n0VYyE3(r96x5VFwp)`rfB^D6d5sxSK1SayHn6?O#rxB+R zc0Tg%1}0+mrd^1b&xqdb$q2D2u_dvD*p=9yIE*-oIFUGwIG1=XaT)On;RYYtH5wnQ}#CF7v#NNaci6e>QiPMQ^6VD}HNW7eQ z74atG9mIQyj}f0DzDRtN_&)J7;L-wi5 z77>>bFC(rc-bDN>@loPa#21P05kDnjwMbdo=sdryp(ti z@h0LX;uhjo;#0)k#P^5?iQf?IT(KdI*o4@MSVrtl97G&RoI;#MJcoD*@oM4*;yuJi zi7yb}BpxLGObp~nx!J@P#8P5cVqfAg;;F>biL;0ciA#wqh}RHrCEi7Rkhq=r5^)dl z5b=AWx3Sm|AvPf%M=U0GCiWr@CXOVIC!R^HCZ11RNxXsh7vclN?ZjQgw}>AR|3&lWh39$vS9kHC)jo6QP0`U~$c;YnT*~CS_M87@1iO+NDvem>}iT4qoBECsH zNc@rLYbx>)U_!%jO*0YGk=UO&ig+e4AyeBl2QpU>Zz0}Ke3tkw@e88UOeFJwiM&P4 z8Y8BHIEXlsIFUGmxCoe#zqnaG+({AcsDDCp zSqDxh&ZQ0KGG3=HWBBs_D0y{r@vyGNEv%RJn6^!$F8y}u*WpdnnXps5w59oS_~9YO zmlGdLk>h zR1La~QgdlN$Hwazo!9u8Ue)2p=_}n=N3h&uHRzT~jn_3w)vW81D)XOXZqKj3Z+f-h zKJ?PJhKMZ~L#8;JK3w-I*{-yt3(eoyp9 zrNlX2*AL20LSmJczd}1B(3gQjKzY-rM?j*iN{Dk-e(QP4R?ACO%EvP258~Nc@KQ8!>pCSd~jWj#x@Op4g8# zlz19(Ixs7!w-6sEK2LlLn3yL&X*u0@>auT$s?~H~B0jCvEW|e@wgD#MJGF`NTVIcu zw}6iNl==@7zh{X@7}g_Q$JlMel0X}=psimZbGg*r!s71mv&D-1tKeQy45W5h26Dxs^8rDWya12q`{q#0V zsX;t>MwV2l=O zJ*lZuN}>mrw0#bK>qP8E96%fjOnBz#ypB4ht$1uKaU$_nu2j!pcsB9aa`hP0b^Kp6 zR8voC=~~0Ntlj^v=X~n9lz1ia8sf3~&tCB%z}x3m%YD;Qo!yaVW{`)SFe#O=hL#Mg-L z(KbDg9orxDuKOpH)NT4NhQDR5ABj#o=^NU9J-d1tqa}NBz1p9c!FXMY&XvQM{C01_ z&eRxvb;xh`9^#K{Cq2AvJDD3xh+Ubh2eEgG&eWLHUMeLft`{e_`v_jDBA!k>ix?-K z3v|?lEK%1*TdU{ZD;Td==~7?ODbEyEw>t=(8;E}=?gGlFtna-awv({*lf?Y_dArY% z%Wf~24|G%ov0r=f=MbXYoh9T)wEr5ClZbI*9dRvjBQR0NhuZ(b(nXJMDP5Oc)Tyrs z`hIXXViNk_Y;XBbUG_2YE1;tuXRGPH@k@JYg;0^c^2$1@aZx7Zn*(K4AZ6W(`vpfm zW$qfJ4=;)3L1qrIMNu9kI~Iv#FXABL$;8u$lZmrXilb_Xy7coIzL=<6e-^5;B(BRn`qLuQS*CW#vIf6_v}qc}6=yeZSeMT=!UMuL`F2Ar35; zn4!cm<-?J8T>0o=M9nW>=ZUBlK=JlG=obx^y0_zU#5~{eJfLW9sluJlGhV_qrL&Y$ zK#T!fsxA!oAP(<5H{_@nj~AJu@?8k)p8WdpV&}Vz|B(1O@mt30TKs&x*y(hUykTNq z7rB-lM=W8?>1`ynt-inRB076@k(TPu@W~91VfYM&XEE18;xghD#A}J`iFXnoAZly% z`fxg0&8t4`f_|%hB>K8yG^re7i>?yihFDJQ4@``~Q4CKcPKUgs<^nBRZmH#6#pjoF z{R)p{*L3{}_)ymq!q`EoklK}096~=_ULmcsj(9uJQD0Pue%*()o%PRKJE?y|22bd_ z?G1NQL7; zOqa(X5_hCsQnJxs&(@G_WrTQQ3({WK`2r%@K^-zoBs++D{Om~kcgYiAZmBTI_ZnDZ zvI7B0E0YBL>_}@=`bi3ll9eU%eTlT8CZ9-lRMQL-$&PACQu14{&6=scrN8()t9+WX zT%B0z3v^KfS>$pxwsfYyyZV9bLUm?oE@sc!X|9Hyp`Er-sT z{$Wb~L6o%Si>3Vn!_-Q{J}n&?7^yPlFb&eaFFhkLTICOIKq1rS+@_k^9E^8FLNNpoqu2z>d1zU-;DpI3s%UT34RRi&63`+OkTGlRb zg<3X5nD)dK>IO2YZO`BpY8M$sPT7FqO110+o$p)ZTdB5?9SHndHW+F9$S&~*%7vAk zD3S-P?DCoZm1+f<_U=j*I*D3P!noin394mkZFF+^8Nt=6m}!^L*Xz_Y&D8DX3xn&_ zM#Ek%KM(9x!#+j{H>(c}`;6?cVc(JcW|*hrcY&K#=1?i|5|!EUir_7(mtmbcULV|` zPBiR-;yZ$Os#%5&=(sibH&tiY$sL~v-ltX>Hn!t4!TZ&E!_MlM8+brHY1n+EJ*ZwM z)82hZ4I3thP$FolGsNb=h}; z$J89MAS$QYM){0U^`XL z2yJx^*mG)0k{t*>uQnN0*y&L41-0L>_MN^C?o!c_I$!5bKLlS?D-G-2=}7P;)%z5k zHl&jqdRd)g*r-my5YDF=HnCG?=oJ+nr6p%{$_>4$wi(vB(}Cb?>abxGJLQL7SJBa0 zvIe&NQ%yFkuG4X$H`F@AF74C?Y^Py2c4`lH*s#BJDg!GUqqW=z_NH2I*yCVtsb36x zzEhXb+iK;hTJp6{y+ZG(C|*<5J>2RfgVGhc)wm0m=7NCSEv|IV7jJ66|`z ze&{qj^uF4fWMe}6^uOd_ubUG3NHXDPhbOb+g3tj?z)tHt)Bmp|lU`oWWK$SMYr!pCF^=UG~4=2l$5m(Qm$oEw; zZ9vCWp?Y?E`E{XhlW7+eZw&pIWb=^^%QgP&@T_RS);C~}Helk<`h4O~ENP7v@n<~~ ze4V449xQ@yCv#WJInO=W(vtBo>e@Q6Z)AGyVT&!67moyId zwN{eJYP3~&p!K?8o4b~TE3H+_g)1h_&9ZeZ~F4Cs`SjB~7nXhgw-=ay2|T zJk)BXncCfTOn8{plk9-?Uf1zp6Ab&T>(uaY>mo9&p1RHskF@U7`FKq|#d?HHuVzlM zUQe=l;Zv-HM`r-;e}TIEJ?dsE$ik_TWoci zElhj&d~0BmHBLLzwHUIM$=T4>louuH6S z4f_G?QtN3lZS@K(f4=BEV0pW@Oj}|7g-qA)a%)RU+U1tFS|oMaN-L90tll43X}wS* zX~Lcl@;|PtbgZgvmDAnE-ShXjAGC08;{O&`mx|7ca(VZ85cFH>%KR~=|;>%GZOWn>= zv?ZI8VL9z0sjmTT>@kRKcS5s^T{=0DelJUr+S%CK`|o->!Os?3(1sqdWK0_y+O!^N zSsObs62H8wmK3~)_I!&wdD#iBk9h#`4r}46M-ayU?E`wTUnp;}??hP265Cz^Vm}Y) zs@H%XwFl^BE+2FGnJZ!2LH4o3lov@$eGjzNFN_xpU1On+mr@+2y0qWZ!2VDV(U6@) zTUlii^8gTitcTRMH4tA6N*Nu$mAyj3S~4N8<2$5Cc174xy&2OVXj3!Jlp&1ox@Y{8 z)FXCUY7APzM$5|k&!_gVqPCjZ!-9r&Kv&(?!;a#=W-ynuxUK$*u%jLXy6SPDM?DMl zsuzJi^%~I6{vTlfw+z0Gc$@viQSTw_szX4Fy(ppcN5=oYPTkvW_4Dyk`Z(B(?>EN1 zvquGiUX=~BQ~}UdZGevIz!(`Xx)h66S*knZ2T<}vhP5AbZfRpx;o^Xgg;Znp{>Zb03=WvATmz$301)@!^P>E~MA6=W?f(?l)nvBpy_yfkvwa+nEu>-XBbE3A&)2rS>9oE>QLi9-Q zOIgQ zwXb?Zv%b>lp7Y;u0OV~oi1wt0^_-BH2_MIoFg>mssVDF~wol-5I|_M9`JHD}rt<>6 zBjZK<-?}$dm9rP=dy&2m|1ax+Dp8-{ubWzq{k?Kab|bqH`vKdfjbwN%@R{Hg;!NUv z;$q@*;$^_@X={l$Fy=O3pR{{{*m(lt{!j@%$JAGVcKQd5|CBLb0SBd9w#dw<01)Cv7Q2cAlt37oHbm3^H)Q(fNA&X{Tc zxt~8{zP-C&dd6b=i+e?i7tc&T;9oxn2Su>M^#K2@J~?16Aj@geLo zPUwG1#w+T~{$ugvN6LDRb=j_#_ZQEs?LRkTyZRHucOtwTwOfFg?fuWoSWL?wwqHQ% z!^ZOW`ac8T>Ke5uTMo$s{Z~N$*N}Nd1qN))=m$$41U4J+9lX(w*o`;{_^=u^;L(h? z)${?qLZ~(R(%b6n0aEv+1KvTr_QRzNYj3PWc)R`A0S8g9`v&v?E-3v4D9;o=#hqkP zW|%b!!}9K#AJ}gXr~@7tusZWo`{x1cJYU(F1J`+ewA%r7 z>jc(ltn<;Jj#*=!LxXx}MbMKE1gAK`%2TqYIN6nBLQ|aP2)Clm#l)HRnUyDH&vX`5 z#?(ybyvlW+`OamPRoPPFO#c*hRpq4YV%DyhmbWq}_1$i*uiTTp-P&CFLG}msLzTZ| zFLs`)Y?iawd8jg)(}H7ax$|aaFU0Jr?2DLhD~IGPcdn`&ftcSaPtBR{_y$h{rVpNp zm_~!==7`SAfSW6?%$cG}22XnMLc{=>art!J){ z%(aQRHZ#{2=6Zm+wldda%(V^wm&dPmGS@EVdY$377~Vq-`>5e#YBjmIEYd3I#^-tir);qu@ z*89L^)O-;wSz&#Qn3dM2z%|wvz;)KYf!A9<0B^E>1+KSj%da+CKHw%R4BTu*fLp9w z-~(1O;8rUNe9USM+-BkUi+bAX0NiPH2JW)D0e4%yfv;NwfNxntfP1WAzlrd zfCsG!z(dv);9=`b;5XK6;1AY3;4jufpt8>cy7u`%zkLxfY+nYL9@ZQuxd zFL1Q|5wOZW2%KPl4xDU%4V-3w51e8D0-R%8HvDgUfeY|oG2nkY6S%}~1YBk}1zuzq z0$13rfGh2Gz%_O$aGl)=c)eW#yvgnbTyOUWZnOsjH`zmho9&UnE%vFv2kh~{t@dQ# zWA=35HhUKEX*&+wX)gfovKIq)+e?A3+ZO`gvR452*sFm1?5ltu+t&dP+BX3Y*|z}? z+kXLmW8Ve*!QKM=#eNW|oJWAJ^90cEJPiyx&jB-?mw-9WYrw|NTflthJz&)N5ZKE3 z1X%1G29`PB0y{fD0V^E#c}MzQUq`$*(D@DVLmcV7Lmk(F=N;+2qa7IqRZajg6P$G5 zWG5Rq&1npr;WP)%agGDdbJ_wIIK{woopRt3rweeI(*t;s(-*kH83bJEoCsXw3<9N+`a65v*6Iq)&(65uxH3gFYu8sJXn z8sIMHM&NGeR^aQ-M&Mh{oxnZLJ-~g={lJf%t-yoMKY)jvCxM5ZXMx{1yMRA9uK<5> z-T*51U7+jk1Nz#CJ z^MMs^3t&&T4Y03U1RUs=0f)H91BbfZfg{{Lz|rnNV3m6UaDsa>aI!lJIE^^NtwMN? zI}td~Jp;JFJqviQI|sPLoex~*E&^WU)&f_!%YZB0i-Bw0%Yp0M)xhiBb-x!)r* zdDtT}d8S8Z@*K}JX+5 zW$Fl~j%Ha^ENcSGn#{6hFxMRBn#WuVnCo2TTEbk*m}>|)Gr#=P#SK>S;t9>6`G-oSmHe!!1C1AzxU zgW-Y0Eb$x9$q4`8k*mos9+}yccNAjqujV|sx_PGnhkDNhj$q7a?`(vtyz_t)ybFPo zy&U_#%aLn>Pv(lrzSRg%^NEM^1JWYVz~2$mDj@SiEFkkkaX{vWvVhDFodYsIR0L#x z=oygtp>IIuhk*f^ABF^Eei#~%`C&vr=7-S%nIEbGGCxcR$ow!lAoIhtfXojw0*|4r zIf3oKd4V0k1%VfU=LU8ImjwO^To!l-cv0Ye;EKSVZeQXQ-B`_P6HkcOaLAVOaUGaoC*9UFdO(oU>@+7z(OGY5g5=7 zo)7c~F9L>xmjN?_R|0c_R|6XduLtG_Zw5w#8-T5XcK~C-&A{T|y}+{IL%`0&ir}LN z_Y7_W_6oKKAN(K0zr|GN;=e_~|G`Y)vS1_NMZu=P6~V&)r@gO%Zu`3KdjLTK;0H*6k}cU} zL)mgI*CNd?NtA0h0s)YO1rQJc&{8880)anBL?8g;gA(mzkwm9W&(h9aoSpWprzc&~ zF5Plkw@E+NHEUX@UAj1}`?+lEhubu(mt<|yWJ{VR^M1ek-X8!drRmu@J!fZUlyLv| z-uHdqefQn>fj*?%1H`TmChU+A9#{K5V?z#r~k0DMpXn z{#|#k`da_9fNJ2afUbeJ0eS{*0uB!B0gep39q`b=_qg5a_yEV_i2;tslLH)&(*qoR z^8*}x3j-W|j|~K&MacoyCq2OWT*P%3NN<2P=gI&rSYdz`Y-`}VFve?=XA^niEkTIy zRW}eH`46(J>A@dIx$}cR0k|;u0l>!we+uy2;Lo@*HV2&?n}Zy`R|Yv+3xgc3TZ0^} z<-s38ZneQ*M9k*kF9Tj5Ou10X;75U<7@|*ma)>2P51j{`A4&o)4AGX3_*nl#K89`$ z6PAY=r#8$u&EaPNuMhtv;9G{j4tQgD!Rb}c4X04ee zlpLY-(j%1K#Su#H@(87OW#l^`x94yz3VJd^xxI6Qa(jNHjQrmZzE^z!e6M;De6RZ0 z$d}QImq&gHEqZ0-R{(!+>Ym2V(;{G7JJ^$S?mS>E4bvBSB1k<>Z-tJ)jtKE zQqKU+sR_XI>dk=vSiKK$PyKViZ&&kxA;f>L^Iv2A@{+($Y1l(fXozr6;HL!k_=Gbo z@dbwb#Cr}A-hWs^?;`y3yB;RzZsPB~``@aV@4a__P~GdxAN|{&%l?<{`Jj4d;H7)W z|CE6rR6iF8-FsE_kB093pn4U!q!P}1@6Ch%Uhqc%$q$Xsxt7#NXIRQH$Mn#Hj@hA4 zIOd0bAJ0F*^H1^lG(KN&oF4ijcwffzZ}9nBe7=s)>-adF^Y}fW*`ZN9594zbp9h?$ zhaLp)VLT`Cc?6#seCF^uh445&Dd+UiQ;73%JbxQc?&s{r}$oNB&RwU-N&? z|7H9>)V+aYffIqrz}Y|~@I>HZ;Bw&2ft|oJfg6Dfqno2|8U60j=SSZ&`hn439DQl@ z<(Eagdg;)shrW8qaoBx0aQGvr{jXrZ z@mFD;Ucye~M_~zm4VwAuxXt@9+~NH=Zti{p@0$J{6;QvcM%C|OZ}3m?TIxUJZ^^5F zG5N1BVZ2{pH{Lh(8=UL~K0NhV;Ijg|@%K#4c$L!dC#Lc8X7!WP43W>c@C-yt>`gOcX`!L|Fx*Ko-d!g7x$1h_$Ra{^OJEcy%(H_4a ztG*MtI@OzypA&l+4*))koSf>d$jN~>-#-NWht$J>e~CR*r}``P2;dj+d*Dv>*BHG{ z^+o)y_s7-yP|uemb0dBJpN7uTB%NjtbD0Fl`L#b70P9WXDVNB&HfqQ-SMEY*iI*x(YqPHTbxS|NV^DG}8jq%< z>yd2wQZk|lvXRwHT*V?m*f$i?tlPN*wF|6m+stjNxm7LH>eU)!ucuSlg4M_qj|CSa zF`X?aq%0LnR$cNmv5VzGuGy@!R4E+oKV7Zjj zym+pX+q4S8jZ|9Of+XwJydd$VRz+iw%vKJ)#MGhcMzxF^<2E`Y=wheHSZ>2A3o~5W z?y%RF(#c$NO9GO0D^%UC2_C5wy2(T&uJFm?<@hWD=&T@VXi3Vd@1PUN?~pn;b+x3k z3)VMdrAAXCg{^vN$22c&6%i!tcKA}sDi?&>F2_X`BwVBISc|15`o65CgeHZI7=fn66~Cc5AzzTkEOv_k(_fh3Ps3f6VO7CXwb-i0sKOID>2Dr*(e z)KXrnR@~a&Fg=t?cM~l$D6A@ic zU5*SEt@KGqG<7M?Ar@MSWy8U=j4$G$L|8^5@ulSXWf_KR36R0%6p6^iWH%XG53aSt z$~(DwHdiRrv-MnMQ;gPfWHquD4P{g5OEJmVW-t-+OGT0_Q|Ez7iLF?(HmNTh%Lc_r z+`SE*l^9(?Owb`=9;=l`lR0Gy@?aRG1a(v?D_75NF-*7ZQao$gu~g1U>7hhC8I46y zCp!c~vQ)O1Cb9A6)!eqA7@rt8WUg7wR=q+jQfbzA(_5tmiA9uG1_G5^sw0u6RH|HM zoxo+S4W)vWO0}75!W1!SIM>WE4@9E1%q*fZx|Ye-hUU{6X$*}sgzBL2QmvuVTdm4f z9VxvQj3-qZ^{7?LrHZsb43ZAUk8I>k%qL4tiU&on*I<`4iY`F)O`SD?-0N1ZpupwWr7bf>t;^%^V_LqfT7xlw9b z(Mqw(4#-!lS4&ot!%XTF5}G05Xetz33rE5#Tx#TV^@1gp3P%<*%h^;mg`SIq($U0f zd&-POS0mkgqkNcI*(CPOw9dPAZ4okm5j=dBvG zNn!R&As;+~`Md>R!j!wBn;mZy!=*a9vs&NXFG7>qKCx=vEQ^P^hBqmi2g>9Yh5gU5 zgP>(KtJ0ucx8b3Lt&P@ZryNsfCD99r9>r+KWD7prPSYW1&w*ZK&2ze@ECX|%mD^U* z8%(-lm1`&v7>$**6O)z*fhi5%SlkU_2Cya3;ijusEfJ>}_qvgt^_wSL@}{ z287*cT4H7)I<=lFw=9|6#0l#-*xia3DwRdRFe0{SDWz&dx|?D~NW1OKehTBJtVdcy zMNRKhH*6f8W@<7OO{i$1Q&E#$3Nb8OW>LCqxjICY=d^*vTssTiBQG5?z zsmO9XqLYAHPrwb9`eZ|ywYA7<=#n8Em%Wn!5RX7C)!~MBjvRy zOt~%`CL!4;#$u4%Liw{&}iYR2;I8fZ7kKsmZEE^G- zqidZ|8%3y%YE6=SZ4{w4N>zYNkg>rKW-zUG5@w?;)P$y1;8E$6Hi}Ri&DaQQY~xIA zIsU5u=S0v8&O>O$6bSX;-6-n+U=uvt5l2VWQ{|PHoesrfnQC+Bgwg zo^9Mj5I&i9L)y5BAbc|IhO}`L0sPn!x8hcU*wOgQTy2@4^eAQO+Q1=CohNQ`uJ=5#h5yvQ(^@aR%BvPL|a zfcj`OxV9F&WTJ;+!4%d#k`%LWCd7SBLuXdG5Yl1Xjx;D2eUUJ?KUu_5W>pqUB&3Ph z$XUuRN*Tn$(Rg=x+&v4XR~Ta2X>#R$8JNLXG-%gH@0l%SQ|F^1jo{j{-F|FDfHFzZ z#8|i!vWAURY`UQm(X<2+k4MrgiB6(7CKp|tD1qJG@!)E3ITCKy$kvpOqA@3Sw&)azc2BmO-qsTai;~!h z__RBmc$X?m$4a<#9kI69Na)HEv*o0@>^5R{>xj3d&>he%aouLgKsT6Zr;XTwP;1~NP|>7|8Ex?~VP%j}MG8;>1*prDu>qcGKKBxu%6q#$=wqs(e16$yi9GwA<{vuPp- z4ZFKP9BO-j!J)g4)xBU!%D!nfgT3jZMA9?{Bz|L8ZylK^;cUEBZkB2XnCqo_v!xG@ z+7Xwn3bt0{z{&8S$_Mkq2)jK$ShU;nTgrCj7fBqO`p;=YxMvyEL98)sS! zp-$=!(W-C-&mevJ#V+qqm^c*r5}Slr{0p{IEu$q6G}*06j+>oGkG;#Qc*rupx>K%V zgSOPb4pWm%^Q_izEQRQ*TFd8}23~ol$a2acO(&ZcFTewcOG$3hV^ZoL9V`8=6P102YC_+-P}QPg*UelD#w;MrL@q} z?Gm?hH*yVZ$w1ejMU-?7d-tf+4*dn}*YQ!3lOAB%cq+Su6%95F&Q8ne8yp~cVit*~ z=*%RR(oY8Ax-d2ZVZ=jXjKqCdZj}nERKO;;!e$+dJ2S0NaaE}A6!JJIvaZ)4^ju+D z?XX_#k!?9&!}e84cG%D|g+mqGZz*kaE0S9~{2&ERwg|G=trJ$Zge^e{YqMtB*mOH| zrj4~Mg%TUs#oXCIj}x*6DLRdS6h#URT859PosJZym(^4{xQYdG8ey5RLBvsOQ*a6{ zA(@V|h&dZxuO?#Lf3}I`ZUScjIE^(qW*t+`@_tfs zj7O8=2&S@_G)W2qXGs%x~PtC~(H&PPxwGz6kAvWC=+G&nCB4%M6TzF!c23x$$a%_~XGiPkTLRh;j zuO%``;QD-z%wQ~*il!sc)ujYTsZJ=7I3JaK+9!A%WFh)`Xv0Osvnj05WTTQt<6(R5 z7lKniyaK^jGN_gzLfx@KU9m#lv9L0?6GY+}8x88+=p@etv5;TFd%uvYCb8n~5GGp_ zF@k;lP8f_0%puMLWtUt>31u)SDT?lB(N*cTb_t1OI=r|nf-1^sV=>xD=5T7Piagy( z=XjQbt1jC$ICa+*LW7%|b!(H?5xR+jP`porNt*$3wFa|GN+#Y?1II5K&2Px5Eh}YT z5s(eiE}F{SMMgvVfWeLqTAb)M4HelJe{Fxb_RLit&H{Y2dLs}22#tz1V%GH%50mAD zv8Ye=8|f)v0TkHYe;CY ztD7pfy&)bEo)U#F3e4YjE)QSTQe_-ux9BqPT2CovQ^iO~6<4b`)|B(XVk{k676zOv zIZ{_e+yLOsCEOfpu+l}GX13rQ?#eN6Llsx5P24uhZ=n;{)1hb#DN@mxK6GShOObf) z%{YhBXsKeOi>(rF`heRGj@yClpcEVlT*Rv5kXp-@9vMZEZ#<*GeTH>K>nJWj`{b}) zX_+JsczvyH9%QQ$FK(z3dKw3UIH4{>BxQ6+4ub=?FLHw7Ncjoe z|00(cp=>-_DF+)EgJ4HipsJN}3YP+P3NltPE-}u6jonI~^m1yo3Yq1vCU7I6j-{I_ zKACGE8I%i)jSV^b$CDR=&^A8u8x$Z!+8`%#eWg&YvynEIFY1`mH{dhOj0|yd4Gw2^ zhR!{1CT`Plg${GDD_I07TnaFbe0?W}B2^x@!f^DAIySKOgMNn05vnTkU{e*7SQm(K zS*?l`i)c{^ODd>OwSJ8kF6!)FVWCGj?zL$bLmo;bbeOQbn2utYNVM(UAA(sF6X7bhJ0TT)T?7lDvIPmUYk1Sp zzJY-w)dbcRHi_L?Z1<+xG|hI0(pxg(9JgceN=Rtsd@A0FCNrOS8fb{*kX;GlmS`vu z%fxXe3RA>-KyB^nn1N@Nn>pTw;P9gf$00h0C=^9sLDA9LB%{elk7M5lhSeVFI$Eo| zwu4IsT!7^_L$aWss+*2Ycfu+MXqDe zDkxQ24@6sBT1?&I=@Lsv9NPZj22rV^mtEVu+KPJ^YCC&PUv=RPlBQfK*v=NrEtm#^ zvHHZ_zVfcpSM=nnsoXu)obFLc3jmEZ&CGqs#lkUqQ zQ?he~Jt_NQ2;_NXMzM&@{yQB9NXAI$r8Uu*zTsgwhBDV|L|1sdM+w%s%p>Gd-Lm4j z8ZOLnifCF%OzyanWLa0G79>-gWNJ2YO=~MRtQL2hh}(`*sM2wvOHnCcR+pTX>eX#Y zZ+bFT%@w$5Vd~cD*DKhBMHuB2)%RcxWnylNPq74-$R6tw-*_W59SvbHw82u_H=TqH z%4Eb+>@46$ROtUUDxC{B;PA25q-+Q%r-nkVRhk) zFfnw6$qyNvUyrbH@@2=ChzU1MY`2>diRU&kCFlq=I#LxLjA8l4kRoh0tt%}~4bKKA z2khT+<%rv$VsD?ZaHP>@t#R3)vu()bOPcs5lGSAp%RHY=mN8LnRm+@l5h}_cOXqzd zchKKEgtv9?4q-At?!aFzS2uEH+hN!jfz`nE|;=Gr-W{Kg)M#R2yXm9l(n%&3O0O%GtH+fRcSaCaSK7RBn5yc=o6+-v;sii# za!G93!jX!DoDQQ_*Z@y~0c|mnG;daI){tpQ)CZOnhcGq@c?gPH;fO=fX2WJ~7xQ|? z#_D;iP?t~)3LJ$9s>LJ9v`-Rkdy{}Y+U6x@eu1ZZsg_1>VU1?NlgElxwguMB+$UQD zHX#l=%Sz}aow2qF+}6K_^f_g|z?H7r479>pv^H^QM~sUJ%u|{Hgmm{<*yJG#oEy29 zjuoVR^BDQoS~$Iu#RKP^hKzjOf!jEjyYrQHn925ScjFb)9-ve7Jf!CrT2o$rMqf+E zqEX^d$&9Em#=z)D-J#Kyrbt`Nfp)zlCcb+HSKgjU+f)<_1e&T)4%1GX+rjpQH?lm$ zlS|?DgxAH=Q)5Z)fmor z#IJ?Pg><#izV^Mbs~0bfqp=pJDsefwd~MM+9DQP#^ZLH|E)~}Q@T_g7iGu-9s&%G1 z`i91%?6`=My^fFd18=D7eh%UIue!}@imS)^n;ioC0fn4!Bp)<vb74{kq z&QP6OT`)l0DKnTo4D^Aq+ScFQqt>CH=&<$5 zBE(8pMA1-NdN42u{#vepl?l74f_)<#u!@%FZEt{{WkdGBELhbNHr=qJcTG4IoLs`A z%)vPZYf-+Gfy|LW_CxD99mTMYRys1OWhz%8H0WwPSI03icEmb??IA1Hrf?14!lSoM zU$tIBMzz|G%GvW1))l2qEnJje7r&3lj9kf|6*#9_^>TY3c3rQTZ1GAV4YMMpal*H7 zaF~nbtIQ5SLN*UVWtBN$R5%%6*OTrQH&cti#CQ~|b*!IwFwEr|_B&+7-)S5@Hobu+ zyDlO*-4Rm3TnpWc@0vB?WviM!P1d5}u*!>pt?5StUzy_3d*c}yE~;>iMt(`Q`D^&1 zn9^SX%5O*_+m4D2Rt^2#nr~z@ZT)TAL#o^~#sT*P$RtWLgSk+DCj~g>HR^L7Uk~4H zj~1(FzL}wdW@9B?YL=~zFl=@hUr2^^pkco~5Pe@PZMHDX?--1okOH!i{;fy%qaGUxm9FSut(O`l_@SMcc9qSH*aoojBTU6bD6b%8B!>O`85{E51%> zVZn+;VdtwsQ*D!PBYLEp#4;ObPP)qVgv`TczF{1D>8Imh92MEOJRR}uGVkw>ZPYiW}Ut#Uq|I>Ba$3d&G zU}D<#GPGTBTBuGlw3!kbjcJDgHzBsW->LI~R@xC7__Ef)4aYX?_6A9jdg5W#GO)FL zwokgc31fW85)pOvHJlf2I?8w9be33xVSh4`5W|owoA1vt?QP63oKJhZtziTV+tH|&cdP?knm>#oE?tOn3=3kuHmI9myh_%Sie}<3 zTTML(q%^J)wdKa`gUJCu4XWB4@fEm-WMa=Q;J4KCsp?EyxPem8^e82xo|mEzYZA-H{or|DjR zX%{6G3E_*~(keS{ZGd7tytY9M$6DER4af88d z(p6otsl5KCpjFIaPSTdJV>N^IO<4(b6vXDh2654aBe_l(Tw=N&c9d1PB%Q!0oitou z!%9KskWR>B=2#9U8yEesx{>fOob6J%@g2`D&CSm*&V&~xXXj>TC+E-3hbMzGk?G0P zbMwLA+3?v@q42_6%{*n*_4QEPg6uRROAW?>pfs2(dy0a-<>Rvp3+njsZJ7n8ub-Zt zo}QWBn4D2Yfcm?t7>ar~LDblYud_j*#TYJ^56(E%G7jP8#Vy!9LoZ<|PUj7~%rMXB zlXTT=F_|e?6d+Q8$BJ;Rq}&GLNYGnNn@~io-^8W;#%+Si?Qhcb*?BZcru{Ah)=dXt ziqF zgWro(Ie{saRS~?SD6G`IxY(&+lqBt@neh$R@Ve1h9h_yLv(Td_Ya?xP}h67^cdGle{uE~mCZ z?Eu3T5OS?bD^1HTeY0E&NXJ^R{>*(t+Jbe7)Rk@Tv;+s6s9h6|H|lpbgpyh)i*3Xe z1;k|SaXhQ=wPf&480k*nZAg!Ueim8?? z$onKxYB`W^O1t|J)C}LU#+#ywNW-=^fUC1n)E(#bM-o!XqQMf&Zlr?^R1hA6GT@#lTDV zC4Eauq>dz@D}+V0hPZ5rh1^#GsdubTMW{_crc&d~o9$i#%p)zOkwk3vrNS$pSif(U zKl`|eHssK{Ewm&D{iX)Q?vS^dIhbb_ZvwQ?-WVWlKpJ_l?%yf3z|VjU*&5UWM?G*b zJzIk90JL)*>B^uG>(s$mS-ce;dy%Gp!-z$@P(mv?nkXgwv|MPvwk8mVl3)xy;@MNW zm5j;pOKU^fX`ROps71bc9ucIaOuN&qOJ25R`TNww&V{w4?$~`mD`TZjsH*A0)BO+9`vCGEm8^5-~a9{bblcG>k*?l|noEUaJxGactf zY79r2)}}|n;pn1ev}-XTq3s+}w1VBUY##Ahb`@>6dzRyuI+_DV&yly!RV>TQR=Cjm zf12l2kzfIHK|43N0-yZp@E7m9KOX(jSMyK&#DBW{N#*(ZXD+WFoqzRvJztsrCqMXa zzWeA#Z{K)e?>z#acLDeG^o{$RecpkI9*6%{EU*_F!OMhu@jl_6KL3b|ukUj?2>9MV z7ikyXJF5_Q$kj*6t*Ilf9#X@a;_JaB(gY$N$L9n-C-II`M8SI$mFx3@jqnA74*wzl zJRe8=^S#R973lQOBgH)4KaR*A6y)kbEnGdQg{uc8;q~MM47kFqas6m>@Yp za)M-yWQ}Bv?B!7s| z)gaj*86bHdL4dsb2m%bakD$qbCV5SgEs`ygEs~=oM@f#7yr1O#B=0A=Lvn}Y4oS>R z03@%GJVf#k$wMTMlRQrHILYfIuamq^a+l;T$z77?NS-5kj%1KzkYteLBFROPizGuN zLnK2alO&TQlO!*Yyg>2-$u*K|B-co$NTx`pNKTWSCOJ(KKZgWBa)u-ZFaXI}l5-^I zNX~(Tx-7Wxj!)&nk5Va@kKisLsWT4fhRaFNLqJt=^%C?ExCuN2UV?st0fIq-Ap#%4 zFu@3cp8)SOMa~3Hf*t~Px2u<+kHAgfA@CCP6DahI%R%5I=pkTlxq1ou2;2l70xv;7 z!2rP^!4QFuV3+`}8%2HuPJ$i+7eOyUAAy^|L*OOoCm0|YBp4#_5eyTI5cmlK1fv9p z2o4jd8vqUhCqWN^i=daFkHAgfA@CCP6ATgz5%>s(2}TI+COATHl;9qMdkMav0REcb ziv(XH_#XuSliC5y5gKr&T|T_#7}vFd)YOHEL=AT_})~o-r{-#saJ(XHN!vr zhwXz^g$?!L;dS--Z@l7q{__aIcO;l>2J9YZpUc_T=j`iu_6<1u2AzFF2pL4=n?LBH zoplAMVxt6y2o4k6MQ}I45rU%x_YmAmFh(#=@GS&yAebOHMsOd&{RGDe9w7Kuf(Hps z5IjVHH`$_t37iBy1T=uIUV=UXH-U%1OVCd+Krl!!MBpPBCKw^`69foG2@Vk)Cb)~> zZh|8OM+xpBxR+pzV4UDv2;M+2L2!)VK7#uRjuSjU@T~+75}Y7-h~V1@9wsLj4d<071Ch~b_pK=~i&R3ylZYO@71H7-e)C6)?=Ln!|;N3bwaE?H- z`w-@E|IH7PW|_B`{VisH>mx{lAIt#uQG!=oufP5}vr%s&`G-2UKPUeAp1!~-7^=N< zK+byM0ssx1^7T$Q9D&D$emoHLM?4cffoR}yk4FNc-U(Q}xX0sw`Vt-SjCer0@Pk8W z34WT$<3^Lmdp#cH0DmXYLN1d z(}w}TY+6n!(64$mi3~Ica%65$Cl6I(ZyN1$c+f{)k7vX?B2w{;f$8)Bi~*>?u|721 zGv@54WRS!I_6dYJ`^MOillc81o$X0T#);1uBqKp%QbtWWac|5!qQ)vlU*pLVDSW=Al{=4Q)rX@m|7_K7qm+=@;BBP=`Vwh%-Pq?nToE@fm^^`fq%% zgrF>h!$?mkpX&tL;t_>{h!N}??}g3)LT64W-=GYciNIcx!E~*k^Fw`nl!pEvxb-F0 z9h%2cbHo?8@qJFn0tM`q!5r`PLl%hCZu_`rh_b`r61hP|IVNIGjMu#d_Lq+W9~q;X z9`S0qd#JKrx7W=f0rd=A@CxFE;>d6~;x0m-^8t|6UD) z6JwQQbdMd&c0kc?eTf71)|XJNz)_eAKK*#Ql*8wPop5kypslPlKJnz z?)kQ)gGwhuz<=ZSZ@fnxhaJA5)C(}8eNF(-YpLLjHqH*Ud-#X0{mv_oe*e|aJTujN z?YDpG<#)aI_M^>rKm4H^KYH>9=9lBHzT?X;{UhJjM{cC5zxCJ~|J@^h^BcRr`9sgO zKHc})Z{GT&Hw~W}`W4^1etGIIf9reBAHO!3y!l@~(_H@gfBx!&&))aP%YX3tXTtxi z`M$sT+HXDg+sTsWT{lj|Km5DdrBA#b_|Xqv|MS06)+=}Y$x(MeD+?@|8+Q3t%^tc^fe4GzC)bYjXnWf-TWN|Vye`{O&cI;_I|f0+__$qxDELn1cOig?7i?27j`&Yuh$EkeP?NyTNi?y?gQwGrR8L7( z$Ycz*LHTEB*2l)YZrI_s;J;3IN|K+265o6r!{}xZwEt!V+4bY0mEmUGfAaz=im8K@ z0B|7G%>jxi-u}SNXy9gs@(h${lT;w*b~}OJ9726i4^|SX*>Fd|>Vpvs+=3`4kv|oRh&GaB2L|*ub{kV#(lwPI>HZ_W&(JClt~M+&m^_`Da-2g}?=8 z4}1jl0;f#3Jv(Ax_M>^0@RNgXnDyr<{JrNOIC!V*31=@v>2X3II1|bk)dobY&Zru7 z9CwfEd5h8U=ighwe_}q54sec-9d=`woy2q_f1Dgof{T%hZhCqwFex3j_kt5%HKg%0 zMy+zBLfKDP@MLYH8Q^7W}6pAX9Dc6yuu zFwkzV*ULH93*k+BoX!J`G1ML|E`snu5=Y<|#X}`#O6H6LfXEE+0k4*!|K^XO@5Y=g zV~ia**6((4N*V7(*P?N^z6AAWEj+%70SEHxHGh4S{rDJr-YGeIyv&3-Vg5wuATj`B za1i*A#)qKe&T-7v-`lG&5Purwxrf{X-MK;rKA%+aMTGj8y$>zxgS?-E27AQdM8Y#T z+&nWod1fJkGtY&E`N@TOU~_ZxvuEdmkyEoX^GeY)O)s83b7uB*Wb$m}ba-;UIDKmJ zY;gAUHET_tnLB%Wa%QG5JBg$-lhf0=>HOJ^`NFB` zJdBoDFXntE91JbYPM?_!qrl1e{2AoDc>2ub+1Z8Znc)1{GvRsE0l#Y^^Qb5}J6=r4 z&-OvGH-8omJ5(#mY0F7fJ%oYXg3?kiI{HBy^a9L-*ePfbWH8K8_&kjlqCW3o&qJfB zPmg(q+`WMd&~4Fgr$=lG20Bb5rgMyOj^kTjqJA7D@Y8U@QHL+;;qQJ?PsX7HMEK|I zSMcVk|4+kUx}*zO+>IX?!^|4UxRm3F2fxup_xFfr5QQV;hy+c{R-e~W&brw732xyOxx zZ)T}^8Avj?Fk3l&_SA*Z4U&anD7ii=E!C>=ozN4wbU4x6 zvLaobYp)TwevN7 z2R`Gi;B)bu1HXCNNfqmX8N*2&Pxsex>ahk4?`6VyV;0X`3r{=Duv8d`Lr(eX$VZ>J@w5$Jf0ro7=@{eukf&Naoh##MpS9>bUUYo`nL5l_ zl|Bu+J*Rg_oN1hS>woh&=YkAy;`K1n@eNbT~l4@ zr*MiZ=W__3#+dKqbKs;=!l!UbHHCQmu-s9^r)2eg3!Z70(Rcb}`|mDq3Z?QimVYtH zhv&L@s|I+KTn#c{3pOE}CgPj`_aU@=79~%s({j7u3CL&yy2E<|lneiol2^i{C6_tc zeP^G#|NZN>fZx(`AXlFME5 oCZNeYKW?A-iu}9NvAlnM)jnKPRbAavJzLLAx@SqII|&(z?wNs1SO&t91i}*50Kz1I2|Hm)VRt}C z(_;V?7lNXK8c-2L#eD$jVSKBh$yJx_dMs^>aLy{@O{63zDc_7z0W=O z+;h)e>uz=A+P7PdWmztMFTG@0cf#b~GI_r8V+*`H@?Yw(Zg0JR{+%sH+&};Lb2d~8 z7nZ}b%covYIQ`U(8^cY7)6OiEFWOkxu(5E^(Z>}o2+ufkti9de$*?|VrDYw_;#iYg zA2>3K?P<%NpKeK6))1uf6z$j-_5$q7DCsh_+bTBzk)Niu1^&QKy~;(pmc7BUy5xVu zG)^J5tlO8m)`_%(?*tVw{cpW%wE^n_-Q4MZujDRR7E)0EOTm3;-DO#0o6fvs6WqOX zO}dy?$Q}PHSl0Tna;1DaK#>hHTKI1j_-OnsgY;wNGtUn}NLek&EWCD_LARn2N^O5Z zy7))gY%5`X=!q8V{L^f!RnW%cn1W?(X*gfj_Wr@=ce(J>_jF#~cl*z3g`U@)_{|5O znlm!o`|P>*OntYnG@k$NCmz~*^ygca?DyQrlDqHt-ssu4pLP8|9{p$EyYJg}+>d|r zy+_xy&Hd05pX_<_ODErZdhvVDP29NriW3ie@!%`Gcm1_|@|N$uyVkwSMeFkSJaEpH zN3Xr^JD+|>>H6BfkFPGi`NfSNzxqvw4R5xc{>f|eeW%$@AIz@P*4s{Q^4cMq*RC)A z7jMhz*)3s>A$2X5mC5?01-5tXNWXo}25-&QWkA!mm&_)w*$^zSEI(QFa+AIX-|;7U zi;z9mB<)M!p*9PP55p~(QmUg6l|mXD96%ZT*C z%0h64nEAHJ0B$cmAQ86#>6%Ps2PEcHuoI}dtyF*_>(v&);pBTK+mrpL_qg3w#+5L& zVc>Raw^gMjn{g$qaSDglj62z$adW5lBoHd0p>~c!(UQ$1qEK|2P>IR*27M6G(-Nbn zb2j>2B6?b4^mNWf56x;SXo=C&IU9W`qNgQBPiGUo(b5QTD#DpWPVP2O6h-OfZS&3Y+viJ?*SK0~bZkvSO2gMR3$lG@6CU|?r@L2HqJv>;^~Q8@01VFI<}f_qEDl)b1^+O-PD< zHu4#1Gk7nB$rgv~U=Jj!_-Zw6XVIuPJhdkv73oukVbaKILboAw`2$Fa!ognTF=U6t z$|jI%F_GZqOd zJMys#QQYF58hh`K7P3c5DT}1E1C}U7US&<1%EIblBk{By<$5OfjE<5-42p!?qis zvU%}BD&>d_TC$a|pa#^WnqUOr2K$pVQDd30JKUON-?8vWbhyC*^y^5}q`0B{<6V&y{lMR9hE<7!G?6bF3bmXOB9{j$ODU_LLrr&rBY`@>kD1E+@|tiw*bWYYyZlKM zmSA7d7J;m4MqZImm-2yx5L;`jST06<%oZ2T=4ZiNn@!uTi7&`eGn8B`=$}x}4n%VJ zXJ3X2k75%3> z(y3;+3_jT%HtLEr7Qrvbh~>_aa)H=os^iIHEr4UQpQWRhAR;?JQ$DG++=%e zYW(*eyQ(dqwX5g{-6=Hgt~SQ|JELh^+%@{JcwYuO?F$8AE{NrgCU72fV=X8fmk~B4 z=)&mPCq>4!(D>j7r-pRcth6N+j~e403{BgWG6J(X*$}P`aa; z-W}dGfGS5Im0Ji29y+Ky!yFKx;X%T+;Smb}wD1au1welUh-H7fItM_2T$B2@QQf0$ zwq3c$MSjy)F_pW;8i3qLAo>jC1_mV;9gh4;Cr6T^B(I1p!`LLpfeA<(0~5ACjd2OR z*l^Hnj7#X!w#t?hwD90vde0#QdjU7PE9#p=HDyPU&di+@Fc`?@IJlN=R;z1F3Wc5<*tKgEYLpgNCJT#mQW8DF)y<2 zTz4Y^zB+-<2mv3Kko0HJhqYX@o*{iG*DpZ`7NTAhq9dW=a9a5}isk1SEt8IQyb0%& zJCRIn{Te)WPG%RkIpv{P_=Rb=;6Z;^b^6I!TN8K=Coo)9~{4#7rFvcv0*ZVv%R z_PA}+^^*#vBS7LX{Bp_%)Ok3@XNKOSI)BC~A66$7IhY<)X^dqqM~U-28Q6_4;^v@H&IAb9#ZD(^nnscJPAj*i!{aEd9=NP(uYB zuD^wl;2}D%Qjq~)WWWbZK(Dfvav<>hDDdAI_#_4QV`eAvmT07@CyK1bB@V3UBN&z&Lx|49K~O#ul_@e#I0DSN0{ zpA#Ts>J~+TUtr*M3`|IHw!|g0d+1WH*}w*i{V!Ula6QP>eKC`MVm;|>4`Yg8KK^y4 zz!-~Z0eF#dp2|20P4N+8gsyq`Y_q_p8G(0>0{@GFPiJ64Q+%-FHQDi+x=fk?o!2q% z$}O@Efx%10z6fn#3+8@2nXJKB;0$mK&SYe)?|UN8Fs8}ax$rDtzL#ITW~B?z*36Uv z1sW%-l(GATB){93yp;D9`=wuZti9kpKpx#zcT4blh&`J00uN?U=H%MV6lZI)b~fT@ z?W>(bqb(&9bZi54eFc3><{=2v5^R8fGFuY3#q!i_*yyT_Obn2U8r#MP#+-40R0O+$z`706FrKmkqj3;E79D>+_5 zDUlzPFKZ`}n`VT?%?OXv(eCA!k0reP$|Yt}gK<)|bE&&<1qhH&NxSk5$MQCNQXBrr zGV&xwA-{(2Xj0xLGikmUV3TW&}n#4aNvFIdXn{lY51!&HI<%ttFh+N6I;k(5EA6`>v}NFys{VZF)fi0sNU9M{MdIL zf*<;4YYl#9;D;Qt*jK*+zqjLe1AZUI4?`yF%lLf5ZIF)i#NEb<^nAuxd(#uQ8fzv!!Av0gf%L@N zj1}5@y|EV36PFt6!t}&OV;xRUoNlZ;rza+jHAqh!X{^Qc#0prQ9JH5P*W+b8nGuha zH!*7HkkSETMVdMpM6;YrCo{9`c@!L@if4=!YQyTJppf-`Se<@EI&WQ1DwA5t2%|_@ zY@!^S_=E`qrM}l#q3Ual6}q_6Si%1iV})8SfHg`KR&tsXHEHOe-<8G+t?v^H;%EHk zAQ%~1Ob}w}Hdf?fG8QDANjC?17UT>9)&1015&BVBBh|HK+GeWmZbLhqp7^M-B17M2 ztjNW8kb_ZOd!`-py~qve71)%OIGBN$rHwTGbm^=pwvJ3kz5npw*MVOaztRyHlP@d4 zHjpk&&|H`-6lP@IA|SS*c;&Y8XkW5^ zXG?G=yk(*&ovb%D`-AYc_!W_awfMaozklO5f?9Pleplo7J^cQK-(g@j@fth~FSK^B z-36{~sRDSkjOE0%$J)gl97EX#IbPv&>x*9B`r?d$?X3*xj?ED>HP$I+4gp(d3piMh zkqs4tW>(z7r`Wwc4p&Rd9{m|NyA;E8}!pd(2ZyYU$H;s@A1Xkm{^DmA@1(`zA!kQZ`r`D6{l?B;2n~SlHue^~ptidzXH& zPM%xJ_HUx2PCl^on!4xU(yQwB!qP1y{3S9<*$wZJQ_I4!jRqMzcjBJ9|ITBlDjbZR zqL$*=8fn`and9{%lLqh`#BVNs^Y9zOFW<_C&qtb%Ha^<<=-{K1k1jqke01~CQ_t&M zBg@b+6d<-c)}fZvSaMoFZ*0C=2F7~TGC0;Vadi{(NHHdoSc=eaGLl}TNGv&|=$Lxgne=D~ zN$-JPEI#N9uRxDhko44;SUk}Gg$$%d&D0p0K+-Q9>sQM#0t&J-H1@@Mz*tp`X$*}a z15-G$_+zaTR}w(Qr3z+7hsKW~TK4G5v}eci#x+(b9j(@ZF+;I%ELB?C$gLQ+m@?5k zlAAr2R*N_0mOKplFMp;pxzA3T!-2$3Ajx8gZB@8da?@4z$PN+!uXg40OnGc?-r z44iML2+4d$zCfchzmP^(ewaokzcY>Qd_bcoUxbmK*c+nc{63Wg<&wgtC@e+`^Wq6X z8Dvsha}c$)j}c&C^eSj>I+oO_nzRJ^u)pi`}EVn zZvpsK4gnKi1EewQ^brQc%a*P)G^U@E!Y$_WfoNhnDf6vnX3q;AMA+u}X)c<4i&0|+ z9P5j+{{SNfw|IhC8Fgxeu|gpzs17hx%M8^+FnxCxPnfjQqKA3k^Y6$XN*9#dXZ|CA-v)Vk^jMD(AAtLi^1vG)+7R$bJ&0j;n=|$_(|HMNX@;o6d5yb)>c&q)-$o?QAX51WTLImYq|y z5hO;7kOv`TaZkstl2iCMz9b{9J-d0)pthg~Op4)I~?U-t4%A--Y6*XwJRazTSpVFk)C z_wd5K!^6nlt6T!cn977UO2a0J+YcPp+#gA+8D2^?RGBq|Xoh%k1Vl{}qN$MTZaX)2 zwIJ`I0c+=dtOJinV~-Msj>0YOV{>hldKD+&RfNy7%iqB)iNlpoKd32%`0Qy{j{t=e zB4s{;8`taL8b&-Un>!;W{7~0PS=|D!t>E4Q83ni;fahTY@U2XY*OSclq)JON$xLcn8z%25bV|0KaI=Ho-WqI$fwrYJ5#aUN>v6a5jBbCD zuk;yqUH5<$BKJo>vAr#W{a$ds4bC6;7BhTFWZkgQDooaN>+@Ib-r(&d-^mWIr8!`S zc-{3!yJcS6AH@vtyWr*wa26dB%lzAr7bDC+(Yznan(IKxX>K2z65b8NQ{E|)J#+0C zZ9N-ZNyzLu{2nrVFCIbN);4uGGvHEBmV|i6@|U_32wul9dvFkR-=7 zNbUehs(exd_)tB}07)@@6LCZKSmpEJ_JSM0zH%cTo0UDsqPfQOFzd}B`0b5fX{AP7 z_(dBg?>bWD8|oZOOH<`fH(aBs@^>1pe5(ADhAT58;#B!>k#|%MT5S|gmIG|)L%nxp zo^2F)qe}9E<@7VPxZLg_Wti7M_HbIjOO^+TP;*+LljTtW4K(J3vP1qKL;A+RKc@{t zumb$KbdTW(8_DuvQ50<{-GGO9Qn{_`QS$hDmz{b)sNRP{`2m>ityZDoR5Z8TewqqW5-_Q;A%_e{xk^1Bn+B=v zRR+lp1-F59-GN5JI7GGa7zgn_vk%I|ILd@weH8*@D$&`3b}|)w9KrmO7kq-I*N#^K zrXlxkE?T^SDnXg`*>I>%%=3LO;NKgVi=u9gUI<|N0wlB4?S1dhyR^Zrw1 z7WQ&$hd)yE%0G#U;;>hKreU{*EWS&uiSqApN|qIE!7#X{qm(Eo-DoRCa}>EcZU@rD z?5FC(;_KpZtqh{uSE>v`z{*f+^UB!Q6z$p2`mm@?N^=TrP{P8N0t+KL*{2^HaYoxP zmLsrk!>F7sIc=J3wi@}7_hpjOUZc5~cmbJ*W+D7E)YhIFZ9}FUfe;fv0p4mtaW*2q z-}^Gyu>mT!>(^}P!ak$9cH5$!*1b^|txRkAt?-ah+2{~lH`HD8;re*pl`mC2 zbh_Irp8?nK7{ppSSAg&++FwmS_6(v5Ww(mG0`lDNJ4uRecrqxn7;!D~q^ZfkAG14a z`@+wHsNmSBX`h3Q^FEX8u#^lseo(jZU9;hU9XnonNnVgydZo^b1y%5b2oMW^6C*$@ zc;`nJ_{HC;**yG>njp6(ElajWrgj1PS*W{uMsf13%_3XwHFELB0o1NoIFPq2>5?M1CRz@7M zxz1Kbu${mO(Mf^xoET>fkYjh{&tNa@>@x5dy=gLiZ_W~I_^};Nxq1IPZaH*V;dko^ zinJrqW<|TxVn0Dso^`OLlo=-d4!Q&B#}>exsOO~=1EZ;|7qMnPg&sMkmc^#5ao@LR zq1MTto82|xxY$-@3c#-OjLsv~PpSaU8twYDP`Fwo5E$==ENx2Uo++Bd#@6T`wR7YVSsMpc&BY1HPl?iVzD8F`*ar94%gJs*_p3=%c2kC-;#J97v!MC$p`My#+ zavym8U)qs0~5YOCs9vrJ~!Gs<}f^3_aBhbkw&8SC__t`JprlMlVvu} zX;)SyVQN@*^A9?xrJUVbK}qr#){C*j}bOq>coyJ3^TX~Dj*S@+u|Bq1!?J84&(a8_lk?anJIKC*D z9D|DN9+O&S0v+8jB~$5@pMu^ApT@KJIj2`c^vb!Zmmv;+2HIhHFYJLVOW8)tUa`+( zrxQ*~2e&f$C>yTqlbQxT0Ql_2^f-Qci=zwAKq*{ z#xaT~#WZs6sZ^ZF7XpM34h*59n+OEmRYC~P5Nd&bZZ`UHFiysMq5RoZj9BEz5zX)@ zq(e?biH1h%DuFsxCI6vHenpiKn&KnuV;h~7y=%8H3eL%|0r&kx|H2<~(lnYMSz^vo z*;D0+@eVTnH5n5UJVay6S$KxTRD-T9rNx<)*xsrMYEI7vQ1gTr%@Ez(tm&!1Q?mG_ zdU^;=@exnY)lquZB0c*{dW1jHLvv<&Hbsn4E4|8Zm>xn?e1rp<9)?7E?8 zCyU>(tLMT((P@Uun?>)mFFO-(^?TR^lilGMeSa%1-vJ_@FoAqDXUcaGP)T?T<@+7w zBQ(WFIH>Y5q{#Psm5*+b?>ty2AI)&}4EfFgJWak2$K_il@(B~jM{}lp7Xuafu!`+f z{y_N%P4N+;kzjdXNRjW4Dj(fiAU-1nqPaYr4_^vRGyGGt(Dm~DT6jvdcr!BPo6r;= z@$&H5czTdS7*7j-q=)9r^js1#cFFk9Ob?+cKEipL9)^_k{6*74x2ETgS<-U>e3>4a z;a^`SJ(t2$(vzsChtL!s@$`Hlo}Lww9^sGl(43i`%@JddjGtwC2u<-34rzKAQquD` zO%L5k9=;4=q3ATj=OWR~(Yhx%g@pdVu?nbb2Z}5tY&v`SBM_kk5ckM&qv1$1METOn zZaAWamhoD|(-)p3ZQ_Zxn>>jNPmqa}G{e77$#|1TZTJy5O zcNzKwjBnKK1m6RoJz7MRn?{tIji_%LQQvGt{nLp0XCoSzMl>)R(cmS5^eMV7hjiLa|N;ag-8e~IpvK0}xe3#O_y3Q`&6(@|MEliKL&=hUN zuaGZH;|C4^mtPeGkDH8Zh*W+jDgXK=+0QaZscd3c2mMMv=F&5>xiC4rTtPCSA?u(o5qmh&IS zSo)_#yp>~C^3l;a+#hklf$M2}qjgHW1z~H=u865|8hAIx`wct4Lx-m@IRxZV4Ms4$ z_JDHRP`_oz4)m=8K_Ym8<5XON@Nt+to{E8Xl_iw}NwJ)(KyA0kxI zl>qgA2`xJMe3F{>Udc=!LR@&h&hVre>*KGq8hq@e*c~P&OQ5bI`P$YIpgEW{m^mCpF*5hnz;#I7UFQwiR*Z=|ZQ-jC0)Z01^W~tTc_mGjRj~kgz43TM zCy$YVX<7r<+fWZL)Ugc7K6D&aiMUWK`^c-6-+@TVVz8dZY zBo5&SNVqpM-29p0auSZd8g5UGkANiXEwD&}#KQOza*pOO3CCoQ;B}H_co%}!cR5wB z0JLbdFl?94Mz*4Hs?$`S#~V0gBL#J;J7Am|382Hu-aK^*-M)wk*&Lx=OaLB-yMOd7mW@KG7619wYyEW`l26>`} zL)0+6S}#n!Zv<_U{2_)p^mJ=k8i^XtP)iJbVkT<+VtTa!F_X1HF;lg*5|P?`XB|WgTVvCKdqS*GgNxFY*uzJnoMGu{?k|E|MxI-o|rYy&H&MnMAh8lZZ(a z%L5TJv4H!75g-=mlw%y!E%~!AdkEgaFoeejE_Gn{m><1OcH6-^v{g+$*$VFE@;R^T z#&O=?Q}>WLpZ}2|g|vfcb9u5W6OXUOywamex8UF_FFvEio_ZXdWlZsPL|xehk!>L) zc(?!!^DxH(j{xFWfM%@UmWe@51~y{J$u&q;D4mZ^%&?mcB6^hJd-^Ruanc+!lg2s?#5>KpfOeY z|4`{gDxJ_2ADmt0Yz}$JY{BlJ!N87g%zmJZODq_)KMF)H3kh&KQP0TUAI)1F57~|q z*@OzR(QHU0L1Gdib5x>lP@)ngA~eNExRXjm4xDw~-_8YZ2N^^WrabxmxY0}V9McaG zg2jerI0B}#&7nRCPbq=lWYpL~>2D!4#Rso6i{?6 zjK4+3V`NNdijQzu)5MU_a%ETeLdkT>l*|Aul$_?vO?E`{CrOcoluc#xX)T+?Wr)Ut zh`A25Av)KgZYMxP7~@MBPS{bg+&H7^@@do{cD0{Dmkg{&7wNvEomBAS(V%MAKv%h>AppLyppn<)}F0BoUuw8XxCkh0n4$ z(E>F5=zMVU!$y;YVFH(M`yvPpkbwpw2&y#DPz0eI2{dd&UBavgTLUcAK_o#a@ebXN zs2cM)9gKLp9lR6G`pBpqY^AwKZ?!02h4Gv2{lYyG7&Un1>mme8irD0o<7IfCf`^TA zkA9(XJ>*w;0o$kP<4SvsBQZ6wM&}>iFdMy21N|79m2O!q7z6$!0>lEv(wrBYzgD-I ztZO2Q&0h;qG=D8bIN!7fhP&u>853j_6zN&PDXa$|DP9+zX5?|;X9O;8P*gDK;Maai z4tTBEPG63fj)X4wXIB}3V;Ko(SD&U610kA~#RyxpFJtIn9QKi%T_pt-);V%guWV%;WwC@h-e z!0-rjU-Z%~Tu|D-5JZ$F76AW_0I>l0 zPXves*B4@*K$Jo=d={KhNHMP>^Jv6`omdbWvk3}_1pr0_3Wx=@pKRkxTwM6o79h@vKwM6o3s;8zUE_yVUxSGjgOI%78EpZ9iiilf$iA(9~OI%I-;!9jYS6||4 z;@7mqrF8WrE+Ir8PgDE&Z==tU8&K00|@>Kf#OSC@j&$@E`nSoG@kJ# zt~wM?L7kK%b2O$_=sX<|y4cGkPh zrE$`G;kD(`BUI=drLj^>Z!V9KzN6kIvyDT8O=5QLY_!mDWAc}6SHO6%>zebqnD5#Z zF1?~#=8X1*XrA=mB zbBvz#HWP;v>gNIU$Ze`M5hCOt1^}I`pQ&zVLOzrNAr8 zL=Y!f3P`$YC)k5rvY3zH$ypz(b&OQ*CB?xAC)|%613Ft+_lK3!$Ke661j|9jyO9;f zO=!#Lop5q8-2;3%-N0AGaa`GdAl$ls`FhP#>?y>#FC3173@c%AgT>%onM9;TCp>r- zuOGo5UWd@DzbTXx9tyB>2`{2G5{riLNgDz<$>EQrps~Hw{TTG42NOA0z8vykyoIy1 z(Qedm6$11II4p%jat@aXy%H2q5H&_r9`_JoK?_GY{P0LTkY!RXj)Hj{%Z0;37QUMm z-TGeT1Be}GZ>h(&WcVJq+Os`wX)eyMW!!BT(b&VDD1oQFd>qY~(=gZvA$gG{lZ65Lu_iNo%?zD*6ImR&AFdU$Okr-`#a6>`HF;pkSk_Vo6y%uB9A{`g|?aq9i&0pRk*dOL6g}Jq%vzX4 zMj-)yJOeHUZ4xyhQ?I*Pz9cEQZ^h{onvu@rqVWBo z!!4UUQUu0QGkHMzR75Ei*}3Qf^fqnDRBwP>^GAE^hc*I`GvmD?c&Xb?g{Q+$l#|rb z`B7na2GDjnNs1HI*`7pc=ZtH&W)j=NGn?rvIPm4kP%M8XbiGIZM4H2)V;+5L|JC7Tn4ey$qH(QhjK@yw5P%rxHLJq(@K&PPr1~~SR#I$!pv^C0YU4R z7Hhi=y-MHU1b>7@i^VDyi}+6HdV4(zn&4n~JMujW(_ROAwGtU4gC6E~J8U>3OKq~; zI$?=kxPd#s5n{B;Qs-@1J6X&0vr$9`B)7L=#!RlO>x5ZC;oLMIFPFg~6bX)Bz#*&Y zVG@IPg)8SGS)28<6Vk3-ji4tnkFfbVI20kdp<0jI>#=szNH}Z_J#8OEubycW^gys4 zmQ2dY%2IoDNLb%LaT-6n7=ojod)dZUu+TcNg^4v9|F<>;HP`#!wkh~V8`62Q=ugU` z7D>Ju&rO00TY8x!u^Yuw&bfIq=RN+El;`(C-=~mA6+18;;=N zY+6ru7lmc<(_jVoG=kA3ZRZSPErM5L)Md+&TpjqJG_kEj9PC3mR%x^@e!Z(iA@Qbn zmApyZbd}N+X;*3ZZHI}HfGYe61l4x$NNr@AB9QJ5J%OXQE3r4G1BKjlc5vKChjeub zZSZj479g> z0tO7QECL1%P>F!K2G|q<^9*oN1PmGA;t0sM8sxQg#5c$#btG+&OY2CRK{nTsc7q&N zM>-5rts_~3TvkV-RM+ZAlx(O@^^iBI+QLC`<4`RMi_gs~Zt<@EqrPt9tm)5JhXnq^5H0SpUTJu zi{M1We~u~lXfO0m=vc(F@QHKA1<&%G%vcEhgy#AvvVkZvymhZ(gTXpx^X`4?G|DWX zuSPn#F<&^%+qj;u=qCv==Wve#tt+(DmhTm|09Yrtw(y2(T#IS0r&e|1!p1^$BefzT zqNsWZ-|`g8dQ zuoH5`%LZjO-Epl5k~Vo|6oAGh;&n!h*U&Uxl^MKGV^PXBXk&;B<<>w)jJcAMLS;e;^+J!2j3y&zLS- zn~^Pr@1)M~Y&V{*PQFh(UsiG~j|6ANbXP#bbaq|#p}6cr|3Aqd&ygN5Vr!^-enZiT|#*vyI+(HWht`{5ew5cgL%@DU(jY zT4q_h=WX$DhR#^89=20>2_e=QGJHL=?~KCNfzOyLorcMw zGjpfq)(5zOiRCe2tp!)sIlQZ)foA%>c)og)uMW0N#oF$8%k8OFUZMPB+>bVA1>)hK z5<2lX94$Ld{mp;jmymnrWBjDH4*LqR=>d5z^(Z-^EQ<_^b zLL2nGt7-5xJb-W|lr-^G_-5=EatD^AqSnTCOnZ4O-a2N0`|#QhY{hkhOPN}6cGjJc z(`BC@lhfViI z$HI4-@JYs_%=i7clN~Io}m%@Z>h^4)058^j)cNvxGi3nLl9NY3p_V zO9>&u{W_<*418Qk13sAv;i^N}7#`vZIDW!1$Nkk9s;qwmIU&AU({dgLh2H;duW3D*5)RqgUhnG9^@qDb3T|tl2MqK8yijK3*(7YeroYTJa(I# z%8k3Jp~bzadpOj+Qf1xx#t;^Jv~>G>P&2TNyppwz0Q8c1twV$Gn{{ zc}qXtoq_g`yE6#Lp(4%`$wUKotH|rPV84&f>i;?2?@M%)j=5q)hi7r#>a zaCl&a1!9pgt{~P=-a;dI0rP@kJnZ}&-TiWI^nzH!k{DOvsI=O0*rly;%aQvON8(8At&#i4imS>W z#O5_Sd_80_H%V>(zp{S=!j9e->6HE6&d_PEUuy5hq&c&V-_|bK`BLyPChoUh@sTEx z(U(jU*;#@Q!o`!QAEstsIS&3P#~J$=EWqTpvP;M7qVpkIyw$ke;h1YSpz5KCDcQ$} zV~u*6JbD4)F+T(O0+Vajbg%pl z^}Aw*-;Ai*TM^4pYyOlai)V28k8mj+Fx?}k_|Ca>$>sWvogY!HKHF_2#m~;4BFJz_ z+S5kSIG_t(lrm-Ck@o=%!SpWedhr>XGeb%!fsFDeDOa>+dq$2nWN<3@Aai&z^pV00 zW)yiO*RUOY6#lvtHU90ofBjt;;|c3x=4X@;^X)VZr{%=Q8qD+}l1@Uf`N{k#V{@Bz z6faui-_>x_N4(j1R*hQ&V`bi&%kBs9_zG6`M8dAC-Biu$41Nc z1z3aI844>(pN;4p>wTcd%pK^1&jH0j=qj5a+^B_;TN<(Px#o1~wO;aFT&>RkXANdv z^_x9yFm3!wI0?vAhc0}@$Cd?t*jCuGMgiM|+VHVTPTuRpeS4{2o!yBYbI=iSCE)_p zN*w_t-!=ZTRF@@Lz$;X*WOF6sPL9p-UWj!UwwMrci4oD()puQX=a&rnQhK!muWqGs zWX-*PDeKS8+zG0=&imxY>W!bdgLbuRuf`Vwv!1j&a77IwKAi?x5^_!%vzZu+XiJQ{ zmv~{3mvmg&8iMOwf zqiq6QQ+%AX%CAMdJcx2BN(I8 zlvPd<%#f*g+9XRk8iY(7FW9V0<|7hbE*IPl>C8w$=-v!E%snIhTt2}$%WlufCWOq% zm&`}74@&vhLDHxx$V%21o#5=XsfnRBXCo93CjG{Mf zAz0Dq!!qovup5^56C=GG5UGg95tma}J#iCiwBCsYEq>e6`d#ct9iKrwnV&Z{r|9I1 zst?$Pjm_4jO;6YQ+MV*J(YKqFI{A~73LQtg6Ma!!+k`Mgp&kF7lRu@-2tzr1Ku~wx z)Pu5;orsH77h~4We3G2&K}RB6Sk*!*4+cgvo?J@F9U3E`H8Eq!DwmbaR@lT=uadfW z^MQsKxVn)nwdIl9AH~g`Jn?(>6V3?AyNo;cfG8Y)8ncRZa2IE8%XdH#a^0Y(cQ(Hf zjU%QT#2Y$ge{d&EyrW@#ip2}pGD=*gEHEWf8WNyFBgvT;OFm^}n-VbwnRw|r&g9|i zC|Ce?f^VUm72*F2DUssR3*mI{KpTkKyiL!*S60`?u&pV)3WA9)4@O094f)iwwY&@4 zu#6Oz3f~0k@$c%;o$qs))3vrR4Q_A`BG(TaIN^EVBE4LAK5Sf@-y7dJelr5Mw}yX$ z82XiL-9a?a8va3`g;0Y+$<}a;Y0*|Ad<$d!YIOfLs;PWaQ@37VOcvj>5nhT2vFo87 zyuuZDaJB~DNY{l-X^WyZm>R{L7T=#p9eh&~Ak^WVP_C#JTKx_s0WH&uL5FoY!r-P; z`I@sEd^eWtk42%JkXGS{d>#D(MVIiXmDUvqkNJ$x+h2!A9W_?`)p$=GwfoN2I4u-I2LT+gz@w()&t@Ot@r#H$^x28*r zP@`4?lQn1b2X(uM!@f?NvGK?8IU_j_ashbqPupGL=+%ksa4*O?(rwFz1>Lp~Jj9%^ z!wIGULmd=qp*V$AcN3q%gGzyxMSL)9g%6*>1N6yp`y1O)N1l{lpnt;C3HcNOv=2WH zvdR0LG_ca{ISnhrqD11n(R&aKn;4LG^;Ua5C8h|HO54u+`AKEj`QXSClQE)?YegHB zICvZMFGqSu9E^N<84fy3S9d)yVmpLjlEU?pLOz3s5d%)Y{?YhI7b_iDaKHG>s4_j~ zo4?YROC!Q2TDyHyzgdrp<5{^xcgvUAZXaw12O);?Q#?+E={`YLH6yQhu%@$qum4o#q4b$Kl7XNVPdiNGaa_tm?T_s1>IwzzBbp&&m2owPVY%hz@F+GYahp)}rS zX?8XZ4h zKsteDB`sif`(A3QK?*2Nx{odI5!f5>Jd5b3>?vlpWIvDZoq)~}OB9U7Mo25A=lkvl zjk&f7-G~-Gv8>WkZ3jERO^Y=k7V9{)w)|7h!&Dihd>B3!6}%l4b^19n@eX?tmS1qg z7>(`DW-JAuiQrd}o*`GKMkaQ?P_GT>qf{WV)CEeRwVEbS16o`Ds|ds(uOJY;|GPk> zvh(@6K=Tg9)X22gkDDK}93fQP@D&;O%2lUhbo+Q8Y)|AUbp z0vkh$EAIf?Erh1{2zSS@9;Y^W#lWNF-+YIv@W=58nrHzrDEDG_8i18D-j$5sNydbx z_z2Nc@RkLJMB^FVp-QKm|406c2bw(1BgQk5 zEIXccAwELU3d0V%poXh2;>MvHAoL=iONH2JJ0KM*IuVJ}4M>lCqtNG|T{*8Zw%(R!W?v9f*^}S}DR&D~I$y+<&|iDT~-%yr|~Ho+2!ICg_zo)^b%6fBvHWA76z zm5O8U7p%24j(tEd-zU~$(s7eu>2w_XpkQrnaqMQn+S}vUErNA)0PBg;`ys(PI|a+C z4sI2!tBY6^?}r7;;8Vmc-BH+&2-e*#mR;J`b!bO2-|76$(f%?%LP%;?)Rca{hc^j+IjkuR_2UEC80V`V_G&1T$shZozgQwhIY2D)(O&EZCXY;9L#+6~T51fTber ztAZ7GNg|Fx!|!W?;Y$gHmd=RZ*999XIlvr4_dkM-j>NHV2sSoK%r zJ}KD2D_Q;=Q^ubX?2v=w*pCG}^pH6A6TuEUG>&Z-Y}H|L?5BbqzABDAE!Yu<3ufxk z&jdU2h&bKP1v~0U!A#wHMzEug63o=CUkG;0(Sn(_>6e17K89Gr@R|yd{P|yt6-;`9LJs&?A52lvA+qn?$vSZIloH({auyZ#EX3Et|f}MA+V5SUV&K&LY`R55{%21177n~pGXA8FRf;c~11COxb zM!VqD+hW|{4(!4(QE=L#vW8v**lR8%hUFd^zu;zcVCB~UYqd-{#R)B7m9p?N7!C;m z+f-p#-(anRU9?FsqZePWi!X|&1D`fS*h?=4*5(^J%;W;w{91fxF5#Opi78-U)l0yy z#W(VG2zJ?}f|;1bfpP;ux;5 zMI3K_W1Qby!QOIJoDSar2HjiV6vuE+EwHQK46Loi)j z(R{()b~WkRjQ$n~_V%r$i?D@)U3*O&+exr@ye*C`66~FCk7L7vz3bXIwzFW@y(5kV zf?fYk!HiCK5$xUXiqjPZd(U-(nYvXH?7i0uX6n|6VB6j;n9;$gU^l#nSi30)V}jlI z-Z-|aVDH-&$1t-FoxcBuIJQ`@58Ozs!|)py?56h->onLB!9MtYVqFHq{es|k^9P7! z47P`0x7-A*tqcibAs zmJ0TT563ZFHHnlapI~=>G>+{r*j={?X7cR-!M^mdIJQi%Z+skBTZ<`c%LV)9 zCxp)A+X}(H{YlbAZP1bShkYEpgTEZHB*kuTrANfoiJ6NzEd^V09BG{v! zi(`ih_QTJ|vBLy=>~>;NAG%7g$M1+^hYR+^7vk6vg8k@=aqLLJp1d=T9VOUPcf~Or z=R`Vw{3VX5qp{;Lg8k%fjwicKd08#k_Ahgs9bv}`_S3JBU(_!gC)m?pB^K%acw#%O zuMvxM`YOR%zAmyDonmSaboT$mu@ePzz7fYJ1#`a{$JPjz_*NWSE0}i=Fx(xkebh;U zCBIE9YMV|Lto1vUe6v6!O3TDE-TCnu@h(+!FI>FlR1=b#gT`ySs_XRUyPZg}= zK4MYW(**0hA6R{Sdb(hl2bdqxIQ9&|x*v24Zda5?XA0Ky5U_f_oh4ZB!*T3v!R9=| z`Wx{(N3iS<5(T#{;2_CUI>g6Qx_TYwKTZ|AQnuga9$3R!WOn4V9x$xcrO~A zgE{*u3FIgwCjJQP>^g1ySis(x018nUdG)$DoDjuO?#Utv@5!PW{+#p9*?Nd)=v=FQ zb(+5_O`XxRvk`F>1B~iK+v$!3`6(TBucv1V|F>!3pPP;77fKYd{Ux1sw!fmQanreI zbX$G*|5Zq>*$0Z<{zq~W^IJKT6jwNI^%x9w zC*A6iFxD_GTh11~Ny@-w;K_}?eIB=@SC0UVqYL-goK)X=^>ZwGGCnM^SUE!k~XX*<^w zMQ&WPK?HFCGw9Z3$j8-5IVF>n-S5sZSqFPL1I!`&sp1J!n6dO1jkXO}uBT-SoxE#N z|6|X`y9u1DCNHPKY$qmG9qwtzgr#46%M365#;JbhQ%J6{-K|)H)X%~4ywMjBch(JV zgMlg9+hIhr*yeh_S2D&bXQ1e8`65!sW3zi>QQxk-7oybeB!v89Sy&DeYv9<2m@W@u z;m3Swwn`e^4u-Aim`T;G>9~~$YOEHoT@B(sb0jqM(k0L8FOO;M5} zN?W(RBYPg#XbwdgR03&LV)BoF#VhyMSvEH4PyY`=j56>TjYREn z7;;%xBDfUMunkP`8->&Xhe5{sf<6M1=VpTUAam2U zY_?3w%~W#JTriz38DLQavG)d82=PaJ?6X*10EGSYt#V zPx~6nxg2)Z<$d7$cE~aHM~FY-iBT-?fdmCNK#t(Ocu+blqCh(AIpdd={7n}_8;iCu z3>skSiEYBp;4`=tqq!CwB@m_D?Bzr+H+y|$wEh>~?DZS>fPJ&aZ+`M}t0p=Aq;k+G zmXG^ya$wsvqt6{q1Y+`{~c<@ulKTx$onB7tZcD_@3* zrt#}EuGf2sWMfa`hNAFr^ciK$Sm?dQItIxi-Oy`Bzi)*tU!pHp8V7bJ)D0Gd&E9u6 z_=x!D!eKz_-(vN_AA5^3_C=Q=IT$vfr55qL@Ea6|<1y4GwKArX-4cZ@qc3wnFd^+tv z8??`Wb||7HuC$H(ctL0-KmH8bd}~BZk9vMI=wEEm|A+K`L{E=d=>OHAZ%u+e9nsTc z7W#iT=yRlRi|FYw3;ll@^ovN}9?{cd7Wy3x`X!{V7ZQ5RLjO{OemUvu1%)27&|6Nu ze6J>bM^s?xF$;Z5gMJ<9vyuGt&?92Euokf{CU}>a^$yfEr@9Oy{px*q@P*?*yf}=u z;gkf11L1qHf#qg-1CcEjotAuJN8dxTDcOt%YzU3l%y*M7%DYLz!sdSKovhPRldC5& z9#5hh?NTf}m%Ea`3enV!0~$X?7cgZ*Y`JUsYw)UI0ova}NO11CEEQvklI;uM(&QmV z%lhKxlTYa1{pmL|tsjK@T_S@61|0v<#9)n$Oa1Ibsd09qxq-ulnyE!SZjFI5u6h09 zEor!p$gZ4?#<0CrnnT`3>9yLyHz5b_i}YHDWc;z{Aq=G40PE#?S!1iPLUPGb?q@U- zK~BnxL76!RECQNyz}Qn`+2+>6dh^DIiAJ!h#<<7`*7cCoYe5{GDzT8*s(}Az-sY8zHrl5?hp4bhs9l*zCnec9y z&bhhp%P@y!zgGzTT*va32)++}L#1hG5`(%n8o}elf+zUIm(XC;+KKnovNW9VIMfHc zB;bE7BLT2^z{lG|;d4pL%H=9wg)_iL0Y8mHO<#w3L9H8f+7II(p>@5Kbw*b0mii`N zPP(jv%r5K1GkiZ{$4QTZ*2Hm#^6%vn(r3w#mS)74R8J z7XAWur9|Or7!OMzyiST2z9IsgWBc{EM@!4$(I^fh9Wh7$l2+)vpfoCgwreeN_vAJy zZ&HL=4`Ua2rVyW;+UhPKzpY~7j5qSh>?uZPW?buGII)+J^JqrgG!TfDMi>>>9t!Sb zvhj%)O+8Dfosnnv;q!%gn`OffJifa-|(fgJpynJDjx3`GK zwIqsFL>uje1jYx&MXaSZZbDvWof|w%(PBZg7z+7-=2UhzW4fONur)y}{>D13W~dli zRiz3jV8pY7XCREmR#^51lprZJnusw9jO)}*Lb{^zH7i=$O{we219{yJE_HhYH!@(J zKw=1fu35&WCf^?Z6?zVSKuB_DWG7_1WE0aGrAh#%Sb!4Reqj=S#xxX#k}^;arHxy@ zEqo3!W*5&xJR(AyWV?pJ8xUojHG+6#@ib&(Nr>aQ={N=mP1P}~Gd$~hW24Tnx}nan zHA1nMUt}-2{g_m*+<`7<^RtkjrM`e{S|9wfp+MFf>Z`B}#ZWy|Hw0D)z&6;mPz-oB zI-?^j-;p_To<-}#UDzqPsNj(s%?Y!kIr8`o>cJz7$dPtgRpv-b9ogBwMs_y7YHvz5 zlpuxA7)nwf1#HZkQNU(1ERe$NPHHr3>fUFWYH~?)zFOa&v4M%@++pxl!y-H_FF>PK#csMnvy=1-Lw%LR^}EvgSb7&v`fliZmdYz z!SBIGLz`f)Vv(1+fGcf~QiUPc zI*scExG+qN!m`ngs|_nT?DJgf^DuFr1Nyub$E{kS3d^bfjbX}F@JDbA{(=WuYAh~@ zYE4l!rOXcgL>g`NsNH#zMNRRh?e3O&IHSw^F_b9kg5QBy+nCe_+mbT}_K!Pnp9>X+PP z|78B(>w;&Y3oIWhs4mT)MUeahNT0dK6R*CVxQkw|)p_JboebCeaegD?QP#cH2*W>n zo)LdOi`R2hH|AC)rM&$~k$h_`@d^chCutsCxzIB4;!!+JwZqjDN6VR(S`;SE2`)gK zH!&|TM`B913{WPi7py8^Gq5j806pcz`?mbyI2p(M)hF=k7d*tcaRU+nQ+?I*NqRmY zo(eoQ9pJj039b}eU~2-nK4$=V9SX4(+21fQ8AZxB3?m@r`(Rx@tw!xqob$n?3fA1< znyRMFTE4^3D4LBmRr%iFhnhs`7)>)M#RO9)qPBW<`X>mrGcaSY@}F7y{~Ci?*>Jid zHi+zxIr_)a~virJjTDH?}0aEE&T`8-(uWS7=?iR;dZ*7sb;nVP$ zeVob0oh6gACPlmO66{*-3mlcj6Rmmx&7sidE7E|?(}o1st`y8jeJ~oSs~%$f%}~-P z8biQkI=aHiFf+K3zR~nKUCdfG(o$9(>j6j(iP(?J2&O@+d2Pn2Xf*3%?7lJFQU=K| zOHi=>^3qG|aA&%f1hmMKfeqTWl$@Kl5lat#JK--U0}C2} z>FVkPLz8s`O#dHiZvtm$QRRQ%JkRatF5R7^yOZutXSvOi@NjQ;Lpm%CCd32(GU9@Q>$r;!j{7o#ih_!WqJsN2Zex7Ezf<+x`*f#q z{`0>7{(NpfRi~;>ojO%@>eO~Bqn@sP)Hvmu?N@{N5y}|E-?#riu>U`@|4-__)BXtm zi^2ZNf8$3-jsvZ^J4}vRpYNm3m!niJYJ{_qt2Kd{kGZzwm-Oq1=4L50+F6`s4nE}J ztx?a#p9$?>$y0ZRKtd`SvYwK>5E&dT4&odWPoK|{ApSe#CcjXoS;1zR`bb&vmW59f za!$gt0dLt#=37(*zQ4x`8*N?z73BqVo8{O9lwW!jW{0@>UOD3BV zKQ7A4x8d)Mn6sx@c3G@0-gEO)#6xIm2Tx)vY2IYz*Xz4W#kG~iJoSRL1YXCO)+##( zdpc|snXDCiI$Zod=2YFptslzCk>pq6S!HgiKkJ>>)4^3tSegO4F;%+q?EPNtS$cAT zU#+;LTIs4*4)$*bK3q95!&1kre5Fg{Xl4H111ZZFg%dDH) z)&Va7!0Cpgq?KntZhwC*YnUv!%r)zsmEn~gh05^S>hSg8WKgvZ?bN#JvBS@$p$9gR zuf*#nwS^jU1j?`F1op(kcK;`}^4v)R&eJ*5PSN;pygWIMy#7_` zhI}%aEJWQeqn~$%5tc&#{=D^e^aJ6M%U!=-X74TM8aCkOw^Knx51Y)fV`H<@fDq801Y3~o~Sxkr;(_~X9*X8^eW^%by{cgVxI00BY$ zWST>B08tq<^q)Z<@ziY4ZZTSJh+IIr`gl6=cP3oGDYH)NGV)%P;q4UkPL;tz>=8+; zlkEpZ_0N%p*#~!W%EQlIm&=W%pvsYPQM5P$<1V?4Vq27HMKk(>crL-sYt*j{RXJb` zwdCeS+2nSnFhnsD4Y{|_{`c#@VJH-1Oif13=cBZ69K*_SX;m<2=PyFD@$|M9&S5RI?3n|p z#~P{Jz*Saf1<`1}auU6MohyMaVM*j&uM$=!JZEBq4XT>1)&F=owaC*oj;G5kmg`q} z+b^abu=Nq%yn&tGP9Ez?zCeCh5bY{N%UQH8z99<7p9~g8LsCU2qqT;B#nU=Bq1=9N z-uS|fa2pQ`z+V!Y+Pq?PYj-I{RuZybv=gfxJRhFEgtXz!^zuNR=we%vMA|KjS^14@ zVUj74YL0DjwNG1wOx>FBrfvNP;wRLvuT~a=jxOI{90i8f?JwwHU{?{z z>l&AZ7n@B|!k121JwV~iB3fbmHx9d?$trKH`0(D!JJrs%Clg*wWPD(qYYWXvxhS&GWR9n;DwtxRRSSn&%`xqcjhe z60HbfRH$FW(Ad=Z$_$KoQPjL~I&43|ojNWfs$o zE$k`U=^nM>PK2Ri(4s*Zt3-ut z0<-nn@>>K>x3zfLU9w`^LtGPo3(2hGfxf83lR@Ij5swR^M}UgQbLSsTGG`N1Z3?dC zcQL;@zZ>|m38ukYm6iK6zi;yU3BMe=!hC-F@*C%OEWeZZZRB@3zZ>~+vN88|er)39 z5DmE}`Ef%Io6@=5LL~ii{~P7|G=AJ_$UU3ih5QnJ^z$4?baSuc_YQs^=l5lP5AmDe zWK(XifbwL8R&5y<7Ok7?D@V|cRIeIf>NF!_@G5ga|Vhi%ms@bec%DI z49Fl&+h{XLmrE&tmJQkg+$hYkpeBGt{2_iVo3&%y4`hkYRmfRh$PJ|h#?MA{D zRxRR~eWzu4rNG`#tmoqut3Bg@T#-#T&`P(?(m6k|*n?L(qj9y|o`aKojaK3ukioRn zK?DCKv_xou?;O6O_s=xELAY$Gp{U~Pkf28h$`(8D0IC zzyAI2)tt`jt)M&*f<#Kk9m9Zf9VcZK3|32-j<55R)tV_SfH^n~Sb8 z=iH$FH3{A!4b&k|pSmNQCf83UCORNzjZ>qo4MmeNZQ7(A3gpOvj(-lUJuHn9Cd?Q` z$Y~5@9My11qT~TmFiJ{ha;CuETbEsC8zs)rC;=*s5|drU?n3F-k+Mz{NV3;{V`jm5 zggyB>IQ&Ud4Pb8kiF7t2_a5<}jjfzw>x|fx|20~`&dQ$c>o4mn4jkesEe@XlsHuwG z1^>n&?=_+)GNtUv-)g2rZ(X)&!~JjQ$q(AwquUGHi#sRBA1c+q(Wb+*%k-_|q2s;c z*N6(!;tOi2p1Nt3bZ^?ail%~fM}<;<(f065)x)lPxvC_tQqbFF$mK-fo%3KfHZ}h7ewZ_0Lny9inIXAEpYU&f1s&6gM2%^@(!3Ox1x&(0PXamCR4&y zORnPr01)MT%gdlGxI+JL(7&oK6FgNIXL}E9wVlAuhoXJ)KBiJ?A|Bo;7fn-z?9JH+ zd)1Z`US(*{`@YDhNxc{!=yCd0b;rc3EUxn+ts!-qM!rgbJ_mBIp(hGmR zXy1)vbpj0F5hwrzEQGj~>^>9rnR33ViEzvA%fri)%fs!LU7p{(amS7h{o58!ZQYgMG&NQ) zZJN4h+TO8ai~C>SH5KjLdKI41 z=8g4Tn|Exi*Q0IqZ9D6`N|vRF=-9n;Q}W!7U6)KHSCR6f9b0Ho{NLD7-{m}YKCn`s zjZuAdwSa4)6?#ro_4p=cDM7L=G%=gq%bP< z#;GYvvt#Q{DBrqc>t!3Ma(y8+b?t7swvD%7E!Va~TCkRDn>wMxk_Jw-0;eX*K9FWb z`|$Bn$4Xk71C6&_hqPQ1sSA8Q9{5t%){9cq8+TrvLUER??#6I+wpp^W?cSYnZyV3R zGwyANWZ)V1wuuaUqC}a<=E{vbikmOJXxq+hyS5fDyVL>U@UG-iIBhiS_RV+q%Eo#=3-;ecwDoqE zEg4K*yklE^SGXAowE5y)5kIw$%?KcVIMv#B?W7{rb#UP)P2@yAEgX-UP_h}2ggqcW zMLBoyuVjSm*tK=4yc=@1UA%Mama)>6$&QV?wjs+pc5U3YW2_)n(N(%&0^M=rHbtVF zZrX9F1@T1!j1`d2>VQ#w+cjI0i^`6%yRN=`D~#W`CE2;->M^Z1M7b-_Mc&VtJ-jDs zopf7*(rhPs%fpzz%-L;^>!m^U>k!IOQ4!6q>sF`l$O_Gty@5;Yluv*Sxalm%L?HL_k5eLP!I;>zNNM1eKFtm?bPv5>UcPH zd?$5$H+6hZ4!2*-O%?l_Hzyut(698a8bqH|RtZy0%sEezdHlE%q*3}-_4z35{-N#0 zKUOF-JmS!r9yb$j_y3G{?o;9YzVND$kEV_vq>jf@#}8A-k5Y%xtW-wckpTl|!elWz}Rlwd3WWe_nviRURX2bjgnw!Rt0P3vGWjgwOT)f7iIQSmr zGy23M1nlXjH7rhUp?7~5QDAfRfIY~?``STQ`f!kYh7%3BdBn!OIAMK{RZfw}z0PUS zkJm~_kDixXkoCiyH{?BY%z^1veG{%XL{nd4Eii}&BwV=d zQI^R93tRw1_G0%2rWC~xhzoTs~?14{RF6KzpCA|^GzYyD>gT~^YJyb znGT|}rk>uL?y&bhV2<{%2FZfuPWIh;LClFHzqY~x^0iLl1j#)z`bxZzaYO4F`U@Iw zBG1YmS$H;^uh;}%*c1%&r-m!Ij_Y^sw#x?~qW%LocfCLcmmTq%i%khCduZi0oX)t$O9R6&agMx+3%MGsf=p1a5-Ibv^t?!`mX7b6>4Dl(kT<&wk@(_Y2 zR-o(j&k?J{qDJ3--k~)I6yIPJ8}wk?gtmzH28}z2sGB+Zw&Katx~3qH4;S?okru>N z2G_mJL2LLY%Yv&;Phpc=A+pK+V&XZQ+y)U&b1=`g#1&eRv&k*5D|-AZHM&;@jeh~e zMFjgMYiN1S9QQPHyC!dkssFOtj76Qz-mXwZG~>owgj4nE^Lki$X}?1_UT8QJWf~52 z58X=?+%~7p#h$UTWhtkdgyUQ`w8WjI7@__OfTpo3jg+x|Ymrjxx6>kJtlwIs)cWnT zNQ-7ymr zAp0)eaB$ZOEp%z@nJa$Y6IAw?0MS={*qb%Cu7X)}iBc{+83W4!NE%%D%_p3Gu}v*` zun-|%8pI*;Ob|!A+d-V8%>;3pr5*I9tmn=0P!pCFo9a<=xVFts%0R+oLZCELMQVBI zrWluYM`5Phn1%=UQXps1I?aHS2az*_ZCrA>+MuMd;+&kWCA8l>bivBP+heftt!10R zNH&Zb`_d?HW889X4qAMj0B?rjo?wC5U0BkC;E8`S<9hWDa0E5cnW>MoH_MWK# zlSLfz$^9ENxeILWbe0}z;JF6YFUxuRX! zw%#O9zG+E*jNXPfH7RZ$hB(FVAMc;K8~!<8+l+YCnFgT+2t&dt6L+fTo5~DzFCSaB z@C3~7MP^W7M?$*(dr=Ijjr~NrWqcP)v z;y0MX(EW4-!Q~J%l#$E%Ov~9rbdANm3R}H51KJsGKX_@lJp=Jh9VnUHxhId6sI=bM z(8eqTN1pyH2Gf2zw0DwYD^2GtRGcjM=g2|zYuV4% z(Lk}x&8bByT8IF}JyDbJ`Yo_2xlK|-ZT~iC*(loM=ZI7n)p?rFZ_(vm*3A&=0QHZe zCN^KxiWXJoulF}S8Q*=Gu2p#aVPcLf@#x*BVFACQP|cSrww0RGd^!^H7oc{|>Hz5b zu;_C&Eq*|xwUXp}=y{w3kSDSuarVw$Xy?g3;_5^3n`(DziySF@~ab996Y<%XJoN9;cvO z_~aYiONisYD543UqyA_KCQXO|5|U}4u%QB6$2I4Cdt^Y0nqpE%0^E>lc+vE5# z!O0_N=8DoTX}QGX0=p{ecrrX)9Eu5EwU&tW8AR6ie6y*B=i z^35Q{d6P2Z+Qf|nM8(^?OPLDioxJ|BE}p?Fk5%+!-m3FUL8+nkcjs<65dR4htU1<> zbKqSxiN$Is+=~7&b=ud_-xt;TdpdfefIal+HcN6x5Bte_=S}g(A7iW6wP{ubi-px! zacot3NlWmg;?dgW2FU!l+O`o+`&ThK!~XGZPNoj5y}fZA)UD)lb$=J$?%K*Cr-7DQViBDr?p= zNsa#sNcRcpb9=S332W0mt=%}9tyxid)tgGM5uy;nP zcetMBbd7N4pxs$mv|gPeGi$c@7x|3iHb>UP!D4kqzM-jy*Wv_#o_Qu&A3K*^eaV4P#6^MNOHn>NvgFl##1a z$LYzdDU5Gt`P^L)_wUwDZ5$7yWHVIqoTt3zhUscqMlI$VMRalzfVsXlZg`x|Ki7@a z{f8Zq$9;uBu}0|ST}>J1Dt3ki-QHf%kvB_T$q0mX_l9;~(oU4u3SqxF&^#@V4&#T0 z_3j|-u=2zmq=K8$KePsQpXd%7TIS+t%r6O)y)5G}eVS6DG<}*lE;YwL^6|MU)usGP zPtLpU<(0b$P8{dLMBTW%WFzTVpN*NN_L$jK8*(xF@;1o!1`T=8 zZ@}VXE%P7^(V>~C?CbDBJsm^qeCVeLWrwBJJz|Yqh*FpNkkc*0VPah#H5i|e_z9;+ zqWZ_B&6ImF&7qM?w*_ifO+%#du&*!!QAbZ98KnmMI(s`aDW9H>Yb`o#yzDE^NFMbR zlM#l#zOLS`c5+wAh1Cb{F+rntb2bE{pD?C4mC%WM#EZN<-@XHSoy_JXY=pmF%2mJB zgeZc(8aI;jaRFDsj{^pp!1pJ?|{-jn^raxI~C;MsQ>RsH+Ige`|`9gnO1QBhu zBR596tx7kGycZVrI4AfmC8u|l(&=xnB<*KOi;PG0&dtq_EO2tItGIN1XIONVK-*NG z?k)*d^4)wc$6%LmCt!ZNXB0GW_OBY*OXBun|Ax0zjm=SS)Mj(73wfamvW!f)cdWir z!u>IhJDyGey;L{82J8}2^WP-NgN8oM56c}kCB1_B58;$74$O|C-G7Y_qOfI_ zT=#Y&=LXwpKKS3mfcKIomMLgTbG(_G1EfKJf6mk3zDUXj(-^ zb>8bJUoVisHM6c^9EF?6$sB^a(B3bDB?Yrn7_$~pI|PfQco7)u3{ z*{?y)7fL(}swvp*VcQ}iR{AukRD)$E5Q27}_3h&_Xnu`oc5G^X1dKt<%|}>+rIKg_ z4Tr;z@G;;iR&rb83z~H9 z^TscwE-&hglGrd5D)ToyfY0!C6qeyZU9jvb2fJ_7&`k1@c#B$4)OdmF%lbi-90ZQh zf|VOv9g*$N#u`-ItTJ+QMD!@vM}pij(D8*99X843th_0dk*SxOdn_xIZtu&Zz1ln? z=6tAB*%*tW?g~P2{E_Nc(aBdJ!3I{%#V%4D<1}ik@*R-+rU#L?#-l}yM_+^nH%-xv zWepacg~jY3g{ErTO^7qma<3`a!E(*OuH`3d2P6EB;3qfd?Cf_IUyT_X_-c$$n0{Zv zE%AO9Kh4Na;P)2XnuSfg0#9+*KcT&M2W-6?OG8umph!iV90EKr$x+{Ye_uy!Q4pZE z-yU;E04;v4#ZS+~YU}>dYH^oM0Jv1u6IrzB=msX&UL0?t64QtUA{J(eI5g?7SA*g% zRzA7mL6)u!GU+PrI$tnsh_zsuXs($|kCuUP6qT`=q_H)MC^Jdq;?12?n&KFVc-F|H zmIxhg@}pKKkLH5$CElY6W4zOQG-Het^9;k}%c1sJ0&$tb4T&ya#GblLaTiKUV4~E) z)91}ix6%6KNopsfD_y5+NN#1E)?f$LCO<*a(26w;ijr?I+)mPtX{}fL1aJ%Lv-KExo91GjI+KOVL8BiFrW){^3 zi^(M|UpB;!v_#1hAR501`zBm^2~Qs_g!LzZoDrTL3?x6p*yW=UXv%N>IUf%Tfrm(5h#Pac+H|`Maz#P{{M@aF*T}=S(N&{?`UxOou~|opmbz6?B$w{Yu+*>1je7rw7ePup1- zTy>SFni>kq;qsFrS?R^>1_q=e+3Jmw((>&bDN)C4xPr zIWT56J7!HX=8|A{!($o)QyA~3YH+9zGQj?>LZpZ8fbRQ6HMLi z%eYncEL>sPUqAjTbPudOTc1JqS)>mPQ@*sRG~ddCwZ|9mrbtufX1|7vatRq9^>rAH^#uEsG~n99uJr;sagr4Tt*Lz2LwK_SuZz>R-GOucZfU zkMKV}fPdNrE?DovUiWmMdg8z;-jG*sb8%WpOal#ESNqrg>RXY814uC~X$1Cvt(~7g zc&_ttcRH6d`NX!z{joH3JMZF#0O-^ihBbWk$K@i^Q9?ss=~_25>6N6x*yau)t1^c` zQ~ehd2{)#bojb1Lq7EXHGwRzx6ML$~L3la6P+#sa!nnEVndaktid4A3D1FofC=oe5l=dz@diZfPw2HTEOd+W<)38yRWNM=e z`P$sUr>~GyCg8@v<78rxTSlA*R1ZGRa3&557RfHQJ=humU*2Zx_gP%cPjnUMSCYp; zRPD_TgQtaL8AxmnZ0jOH!=gvYuZgWS!iFY1985r2G+R-2oBpX+snn!66X7OHm|M~; zb^GLHHf<8Nj|m%JtW~=WI&)xFpQb#^JGK@|^iQPG%`xQwvmZCQl1Ua~#m*1CKYM=2 zl7j2r6qh;L`+DXj{F7<8IRJbr1(*ZCzo!6m0Jtv&n1hE+s_}8uTTr>EDJ1NKDk&c& z;A7E9_vtj9IRN}e3NQzN&!hlz0QhVQFvp6ZGGbYYr=LrM%yDc`S?Z|hZyJCYpHE|$ z1HczjfH_VGD$81gr%}F`MllCi2V9heO#=*>EmEFQk1xjPM4+ZMJW&4xqN~Xet|PG2 z>m{=Wk^eVR=O>}h^*6*I|o^q9abA}15{xS(+fA*0~}u78`; zY;Z99|0%7oGoP#mAM>QS`Q#W}BT@W%rkh;>mKJu?M!NIKaRM)hMtV4%DR=T4`d-4d z$|xG?j}qogvV^(Z2wS!xIhQD;F4Z3-xy}CKU21H$wmJe07ebC54rDGE#uSpxI=1Bg z8;8$qE}IL^8UF-qrIDy)3D`1EzAIcjBknB07D5BCa&aBE>fNHjmBgt378qQI$ota%N)C~-G>HYYPZ~ME!+AhD-UiDqVan`FW=^Z z#PUDj4-CqBlj1Kg4@@@Yh{Cr#15M9kaWYzKS`#MX9G<~-H!F_E0H+){X6As1ZOR8l zrv`%-&HO=Z)Sc<#_B-@J{B+6qBg6byG0Y#zsk{NVVg5&9c&lG6LnZwa{^S}&VL0H{ zt=u}Ak3gB@KP!dCleNCg=oKfE@-M)nTed)LV?Uf2%ehWyrUmTZ!afbWJOw*-qVZS! zt|BcIyA)(ny&{)pe+pS~`=D!gd-GXAdxUoklB;lunv4!M|Gc7iI{Ih}Q0Pau8 z&L9tf4<*;`g*^nm#NeLrJb=}kwHycS9e7gOH79Vi*PaE1ESE$0D@1q!r(Yq=f{OxM zJxq&T5}0LpH^wta;b)FRZkQq=H`U9(w(^>QHR2ODv&jyoEpBuRf#*{OJXc_;W7A{L zn;kq~U{72INsquHZaR`)z{|2+>I1NPtLM@JJdW-eJmSVZM88r*_v1{d%YX-F2M-D? z>U^cJ7UX#}gv;f1Y>P*=L!fps0nsfe%8MKO&|(JDy3WA&1@790M~n5L^7yC4`Xz?e zct6?3dlGnO^ohl3+seTIQJ2V6v~`KQTU|o+JR`5ARt64>EN*Z&zs0W%xB_?}B_RVJ zR`g6>``{nHn=_o;;#3+&5Pjl(`6mkY)7QzXb?x$=vUhn0)68a+w^E)Zz=S}C3M=tD z9TgHNP@zw}zo&w=4kw3>Y16Q3@48%+W;LTOvjw)Q{12Cv>YuFiiC6fnSfcgqW(Ln$ zU!~o=Mm#?dXWB+H;40vul!Oetrs$c{j^Iyut~8LKPt0PB@ti4N%JUgCus#b7|126% z##=OGz$*pzeLe#o2kct9Z_%p&q%Kn(k(;T{Yn|P}JU0IM7Q`Rc(Yj^Nj z`rHwse3ZamRA#`K51B4ao(=%sQ--5){r@S$!2eW+8FF?t`9-(f zt}?8_nU)~~K1N_)h79;vfiq3`IQ(ubdIl~hXJ_aLEa#Ee>y_6DO6^CS4EULV-H=MP zW#A_oTpERMKhFYyj$lGcfwUie;*je@M)`4lhKyR8cG?VFBFe!%5ne`- zomW)UMrLoXnE`2*_Bwl-40C5mb49z2Z-!Z?P~hm6H;T8<#+mXq13ne-vb0zk_-Tsn z>o)^F9dKn@pJkQ0Jbs(wxsbtged06uC!U|BukrlZo;G$PHIHs$nJtf=IE#G#zb7kn zcZghkrf?2RK&%*X$hNIWqy1GXZO70@exOG~4q9a2$0p zE=U1l6Q*}kIr3Q&9j5I2<*p%4DPK0 zyOLxnxkzB&LNc*0o*jHiip2MlZTMI3RS&PrLt6}mL1Vp#op}eM)+UJ!4*JlUs64;ZFiM@Mv@Rfio zCF^mX6;}aS-SDiyQeoN-E^pJf3Hq)kB)SDfesSX(oGE=7aAS7xwE}zkGO?S0rxS7= zknvZmH9ilQjW_?_bmD0mgx85pC_kklB^f!Ryw^iRbjw>*-WzbHjXnduadzex}ZaF6p4%IqA*wonxPVRk+Ws9axhj74u zfj%8g?DOduSyQj}@O3ZVGN=|Km z26e7+N6le5!=S!fo_*wDJ^yGHA)45x!7~`ImWPcXJVWssdDxD^vm~ZwYRwVzEQ@KD zwI;jwgkYx%=GL0*`N&s}SsSS}+3=CCGd^BE7R2Q1icgSlrSr{=pDEwC^Yz4RsnnXQ zoUb=#VZ7En#Q7G)C&_oH^DT@|mhUj<8;DPl?{Mc^totyv=7jUr;#1{20$-gmQ48Sp z7t_+33l;8;+w{xn!Pr`q`z4BkaYdp`P*qI~`my_LXA60>^Q8(M0z`Yw+v&7#QvdZo zvGBzSdEO5qDAB_!BW8kknX_~}P&v^XZq`|4u|AZgsv0}hc5B6s?KD(tey93EcXh^@ z=vBRi$t$Qe#phH+%^mZx2bbc9weWRP5Py%a!<{@&QPrm(M}|G9_Q^pclJNkSr|<+Q zj2}{4`V$J22VMY>8xgFKJz}`5EE`o8KtE`MHha)xZO~Q^;(b7fu!NU-(2oU*f6D*D z$g)B*pPJx`XCYp|!e=4rO}z_k9n?}@tdw1zREy_PUZ#M7AT5Nvv35n8dVQiwS^Ey| z)H@`(Z>h|V3>Av4&I0*h{c<=y13qy0I@!oVXd&UMN|dk)Q@-E3S=?y3UzKq)i5DE3 zVJw&G9nvWNjtW+=cQB2WxVb6g*jj&?+KKd?DCr{W^xl%-h{xpiJT}M?!fBl~zF}aCkVq%GH0 zC{}6LM#2*vFiy6Lm+f%hJh)?!+(!JgMZFsL>JwT#JP9hkt1|j#UJjGP$js#0Xwi9U zondmgfNHy)(Exh@=C!66NeEmw|lzc9X?O8J$YwjQ{UIIMU_5$sh2rJ^x!i$ciG&*2(aXK&cMW3-8d_eCOD2 z)u}ECyDCM`Osd=<3DzNMss5AMTa6J zV8=z8lI^(2;Tl>f;AL!peRWtA#VsYLbi zF7}b+C|cLCQhAOj>G+q^e*OXy{lM^l$l+H(qXZ?Zh5thE|1*`@)oYB4$U=O;Ha2<4 zg{V{i^s34JMW$QqpXn@Y{Au7E=50t%DY<~;b!sELIZ7l?l5!h=oy-I%UdTx}qEzpb z-Ay}D8zz0U#u0xww;IO3kXLU~{aWnh`&)gbXB19+wCW~rb`bAN+XmZi(%kYHL21px3g(f)BzKm;)$M-d` zSYT;Gi(1{6gW!^eYWFkBh8+~?*!koQBy&Q4WqTu`5?x6G)&%33wx?k0Kbdin5UYfek+7)>Wy~yGiUu@AS`(k|5k(vgt<=lXHtd9 z`#@k_^1sb{ck2C{d0QR!@8)fF*pOBd>YX%~w$r>HO}%r?`>E6`RWVF>@zh0@su(7% z&W=5;MrAmP41H6{}p496u{O|9v;X6%qDuklaHK_lL=Q_+)6WzfBarT@+f{yq)ak z&^7gJGCimq7@r3U74lF@sNsmy-LdtMQkw}`oO_kp#;p6qM`z!dbwKc&{7;8D$@>`7 zNNKk-q5flN(iyoI!zcX(4b7RuG_uVh zPMC10*EROQyf>v@*A-;7MmNL4WVh1xSe%!qamskxGU%tq~M=XDI;kb0f0LBVpN1tNRiTmsEMvvR%z%ncS6xg*aJo480Ej@a}wG;56{=AC+| zeiM;&>N$Bc4mH%}JWxr0Wv<{-^aLnr_w!y{E0O7t1v{%d{s7}_lsl6=e{OlQfQ!D^ zI#Qa%y^^NlQC#oOi2|jSR zHIGV=JWK-|9SD*i={qk-zNc>?NFL*>6Z4vL?V`-mA30;B=-gv;I5Z;H-=mD)s}kgg ziC08RQvI8HDTh}tzk(Rd8&*cDyvfeIWkx3=;7rk^PLwxFERJ;|X;n$&I`m$BN4mzZjF+E~++>#&dNLg+XlPk5BYo4J@;))M3&g&s{6^yV$5#LE z1?R6tOG7JOVR9L5X=Ybg-XiJ!V$KJ|98)0&V2-j}-iZb&N1?5yhDjY%wBJ%Nh>kWN z9LSawG|&QF1;`1W=i-XHE#4IZN_4rtb8RaQgQMfCcqm@(!}l=gXWywW7~(j;skoM% zEedn0O@;lDi|_O`icfp|nB$?A1gG&(YpS#G@ZZG4d2Jq2fsThAvRUJKc&Lyi%XI2) zx|a7enpSp%{Gb^5p%x<-z)0n5jFe*np{llW3u50ho7wk>X-x*IY zrFzOdSJMlhIO#|I ziN~vw3;dX5n*oiJ{uf_O)|76-f8{>Z|FW##Yr%)~!8z8`OBg|0$)WiB%Ln>3HOkCF-!?4l@v#BLfb8$sfqwjAV|eE&fCgZSg{1amcO zkDm`HP|o}!etCXneqH?L@>4i-s$4(6Mf^}wZHaAP|E=(?4G&fqSBI*Ls!OU%tIMjD zQnga9Ryyr9xNeafBoBhN{(AmhLjsKpbhO-mS)DQpnBJ=!_n&|+Mo=xdhl5UJ6_Y-= zV4|9}dM#rF+{lbub=(%*Uihpbm+|+zGDkTU+jD=keBP%1h{QUaeC~DmXeqy#{DAft z4tW7tj1O#~{v@%IPw{VsM@{1?kAJE)e|${54C4V3AS|^QKXV>8NRYcJTKz0Nwwt0_ zFJ0^klI_DF+P{^vP1Wu-83<VfOrWJxx8Jro7boVhv6@1*Fk$L>>>!CnZVsA&BJ+H8kDQ+ zFvng{?k_64p)5yB4I{(Cr$LcyV<@Kj`*~N-3FD6@gdPQ-{}jsL*YtcL#A z46Y?9E~&4UO6v%Lb&zblFc}A<3lm-ct#a@FXO&dbpvV;JYPh=x2s;-=wiQ$kZ%{^k zBg`>m<^I;rdl^fM35*+wc*c-xxBXoUSO&OSkhy4>d|7L!@0Yu1*}Ck)d_skl;z^(p zTO8%)gC>28cn~RXTAb++7MM=Tc(!BwQD1&_{ORQqr(C(V61JyJUr6Q6byt&y2^q`$ z25_gpLS@NXTilhrNq@D0sNe3&*A_;3yMdV;K|Zwtip`OhA(6%BL-=Os;f6QDYIH7T z9~mZYS^7T+v1!s^*LE@i?5|Z%%rUA1Bme4-_;gq{HMzv1t-fCgBt2j*h@}Y;=H#oG{zH`RbIse${wJCGu$4;n%CiX4sx;z$ecf6t zbg6!x!Izt9=slUmgK|FW>x>GkmV~y}(3Q7Ocd;~9ES3)TC&{CNJ5$b9I3uG>2`};1 z2%1MxFJ{HjuKD^rNBAx`o_6tAFdn;NRkdeu!i0O(EQ#<0Xspfv(J~`qvioBq)o6Vc z{e#u~Thx~@^FZ&ycdPfUk&o`~I%*+V1l(>U7Hq91VJPK}Y5z(Ray6cWuTCR`?JJAj zWGtGAr-ulQl#=^|$!kdvt6!CDp7k2M?h5yiEHZVpyQxKL-Qi{p=u}pT#1l-alf1Qt z7v^rB1HCF+tDSi@M>lUP3lCk@Q|v$LNFw2z=Q=IJvTZ>g22?+3A}q<|*7KWK>7p)P zd%VrART_&*1MHE8`yj_7E z*pqZ+}QJlsKc2*M6!ayevj%L*!KKSmBDw2x)oEZIQ-R_8k6 zZA3J?DQ^HWVs>7~Z+C2A_TpbE-3#L%DVo(b-o$g?LVsVecD78h8152p zX%%}*4#(Wyx$%E6AifcRWjL>Qo`%$5s@%C}jedbqmMSMDhnd1KV|g#JEl%7CKtwsp?Uq zOynS2=;Y$jsr0-ykF=rV*9cYhZVh7mXVu%O24gex?>~XIT|of;EP%BXC%+`qOOhqN zyVyAf*RTe3R^hW0(#aGjM`TfUjoJw5w06!gEXxhhIKX&h-FZ+7CtDI4pWY1NDD)bo zBW;0}d6e@gJlC+SvNZ7PDmEfhl+P0$KP@eai$DHw^|~-YENY=9+@%(qkDo3AbiwRs zqeOI^4jmD6%nRZY8SlP}<4~-+V7NQh`80&Lw;;jSs8kEo;?4k5r{XOP*1;9}XDE%8 zL>&KNHAF8t7u@=roesyj%92$F_`L5Fp7{a3B9zRZ1ILbq&KA8v=p)9fjeOI6Hh{k% zKDK6O{bTzTD|1(!;M9Z8!ss+%PfuB?)Zx^ej@;!_r zq>U&8N3evBWv-TWj;C*H!p zAiVPm#u$wja|Tj_7~!33fVnY>2vhPn6Bgl}b$Mhr1xoK^{b-K6){JKZp42Wzn6+*Z z-g%|sxmpeHL?2A8TZCD=7vY`HRmjC2H}fxV_rgsPvokaCWIw21qJCg=P#UY|pa`-v z)mV|V=rK{=SD4~ciX7ETySKKv#5GOU4ZP&Ei~EsPJhmm6dF}O82acz z((t0>i|WwNB$;0_QkL8`5dSpT(oxl4yFgQ>lSo~_fQ0oL*JB9mR32*SX-H%e!sZ}n zfujr#2BwF#E+{sIvGGG|l>KhhbRU*Iq&L{?Olz+iW|;ekQ9;4py?3z-X7tF-DG?Dl z@@L!{GvdO=pQ*?8I|A(9e@P{@Ah6o^)G1*d^=uRMmqy zb+Dx}aMU*`2o7%?gKnOCg@aVx%!u^48vnk?7exh0!UVxCWLGX4!)%f{4Q*t%vKOut zP<_CVdXc0jod2=cdr92+j51H{QS=ZH^(V#3}=SXa?*M=POoS;C^- zp*Cuq)2JcI+eyL$yt)&uB+ixQbti$&PLnQrU-uQYjj!?#i%|64a;>)~f2~6H^v8&& zmiskafEhZ zJgi>lxZ?j~1%t5qf6@w)O(0ug`OPt_S0{*1i5=tY3=$p5i?KcQ^l!ES>Hi12+Z^01UV(}PZI zfwHt71Fg;!uj)>!=|bb#o582`?Fk4y-tkPElOs^@eT`F&58AgB=J5i;v~Eg?p2+}%l3|>CVTQ$WXIR{Tcgb4C zrL6hfYr#2WWmSV~e35^c9o5NnWy7YBz|qb7kn{4sj;6wUIy8^JuzoRwyW`yZF@bkG z=FdSDVYNktab@8Iu(PaE)_wq*E|zlTI$xzOSrJRV)LQ@*ijS7=u;qZA(f0Az>-Dm0 zgv-b<>gr#k4?EpL^M(5)lN#zc$!Qd7V2qccTfRYQ?Y*3x5ybVs>)=MLXC^ei(NT~1 z2jF+}4~?6P;l)7xkMs#D$YJ^u9vv$dLple#Y8zd}@l=EOj=pJKXGLlB8TFMQlu>)1 zqcp!H2G)W|iAu%{!n@{Zm+^JrV9oGOV2N^ag)eMh`MTD)IRagp$9Q_Ac%@5z8PN1w z2ddkRq+8Oi+b@x~)$P#qy8WTmZN91Sp1kTdc15e7LQej`eyfIcLVtQKJ)l~89>wsr zBs}%|t(IIL(7M`E>jRF72qC)8Kxb_st18bYVdDW}53G_^H*Jwo^(!CmSDkd&Uivai z8#}6_`qzm}Jxs7ffQlorM^)&fs<0|yHMSJ*R^`YZv1)m=SNA?jL7kkqBr>6@CP;f8 z!#MX_wOrx#Rdf!mD(Vu*8%e)Q?LJuvw5Nz^$#XMFR;)T!Rwu0qsSMcm7KS6~+FEt& zEve6ylL`Di39)xDXR%rz%8rhq)V|o6DK(wZ4>6`xf?P5zcy{_uh{;d5G-S za#llKy-izY9P5|oQ&7{5fZkUkmDp-~kRsdVOasvp_d8CY`3 z>X-4&Dq;L~`~NxpADrG%SE!?QHy6p3fzabw16Xgff(i8+su;b`B$&F^6xVev8l7CDNXTc_*;lLn@X;fZgAC33hZ z6jXimE^x)d#p{9A#~Hm`?=HLU-RVAD(u?YUrhPft%$kF)JJ%F6TLP<$Im%(=ul)h}KLo&za=Z*I>*lyOGr zpu;N6uDE#BMw%R}C?M<#xyXS9^8709N0?MoSciofoUx>a6}s(Y)g3IiFDay_VKGq& zIudD;+t*&^bT*$`CuMXhVF9)7^TbL5HDvW7x2B>^Vf+&pSdkkOlUOd@!$q#|9NaOlg4g>rVpQsQm-=*?Hxmkah zH@!dn2t0aeO5r`W_cG$da(lRR{h+U-z(IOM_~WAI$NaPYC=KkZw*L4C#k5ThCsT&W zUu*YSnH(lZP$e8Q;QR-z=yj^zGp9A=&;%4OBRU>^#ZzrQR~-Y%v#AbbNG@n9Sh7nx z^jf|n#_!ufn@RujZDqRk5oi&wCjj}&Mhd$IT2CFVr1yu5)uOx0@+@&(7ZO=)Ew(j{ ze_xR1qjJ%4C|5flj(B9t^#+wob#Mo9M@19Qfu?Wy5v6)qXIxN6 zVA%abWi}_%b6v66jDH&Wu>zc`CUaITVS`g$6t#)B*wnq5S6Pudd3B;_ib`isN5MLM zPe)`=@}g264k8{ma`Ifd;288`UsRa6kv(>zsXjwv`+F5=^i2n<>4{V%yJfUC*C(rnT%xs z%~azz8%L74(AQaLAMG6NDTuR+Gn_5x`cXY1qUQzc7`c^3+gm{57%!>yEEwk6LO!>F zIO9(d2i=QR2`0^qXg{I1bTV~6hVn76Ez!Vs%j2}*EA-Ea*3)Q@tr6}KpI>q^xfN(j zp{)_DQeLiSd>vHQpG(vGGY5#uO$DNFw1+Y$!?9IgitnT}ZYaa{KFgpcdoxHG$`I_e z^`*3x=loxmyM&7HDd$ zNX5xQ{5B{v4tR8jKgRW=MMFF*wI@E6eBg&PI)nHqOxE+t1(&{F(aBEnB5qCX>-mH_%Hw293b0W{zz<>AQWoXbuk3$w`RXUXzBPWm z{ww$Y$!}(SZ5HTPJ8+;}J8H08JA4Q;Ov}o(gJP~7m&>&S0y|aXPF09y$R#ud9eJ?j z>q5bnuhF>FuMqWm86)jiVyE@1rPKSB)I_aqDBP`WEKR4CL#BS%yK$xDSHyGOc>Mc@ zU;8$jY`l2)>~;OkX?3l~#Z5ghu&Y;J4|~z7C`Rl2*=bey|BBZAp!G;=m+yyGM~Gw| z2N_JC_Z_o;PpC1zXeX|YdaC$HhhJ0krqM`T)PD_Yyz;}V5TNwvM(v)ddlIeE=LLe3 z8i#W_X&PV_vGG1gogp>`gGygzfe8+U)_+6J@kKNl>l69hGb!iOjP7Z2Bdh8nK8p2~ z5a|TRf{ftE3X9)@+3EOdM^A6Jqwl75(>uLxxV&C&DiEDypVm~P5PtwV+0j$gW6j|- zGBzQtRgQ;vT$wupoYOLWn0(Z3+jaHfX?6ANe^6IPTbXBxPhI^^b>*u(ITa+*J+0n; zuX>xUuKK4{4Rtjz4KPbxeQ4IY>aPq~T`9EAh5mAUal5W=q`a&5t}7eg*$p;f%g%*_ zt>*B{WGvbwZcn~4>>q~3LPc@`5mpp1Q6M>7|0gL}dRVd}xg2MYX*UCzN@i^*9TIq( z?7ysG6*!}wKQgVJPuaVk7h=;pThISICzo4e<-fO8&y7bwoEbLg zq8MKABZY36sk;6I#5i*3ew?~ndwd>7Huy17)nc6$Fy7(B`hRsitXR&@PEx0L<1BJ<7Ais80E4nh`Q~=`% z(MvA6JPzcece%#n{(Dh8gWJhp!K=BKI9z>^SC$=}>DeT^a23Xv(2l3Y7(gF56FM>6~wgAImuGY)hj|`gmoyqyBf2B)Kp% z>H7-z9>V0sbe{M=)vS5PXwTkzDxqqM&YN6-)5gO!(0Cj)hPL>nJ;GXRGxJ&$jeN{1 zPI+8^Q#2MmAH2^H-Ub@tG#&M4l58z$HitrV z28*Xjs>6aM)BLkYuFpftj8UdPSiHpKmcr@*c;oGDxurE9jr-K+!5l6OP0fuaZCuli zAyZ{eLF5Y#Ft?+CP5KZVR=Gr%=soM(qJZo!QO%_h|6IZ&BImSY>LKng%?tJSS0*qIi; z$EW92l%U=GA~S5)(v{9qd-keQ7qn>U`Z=y#E7Ia&ze3^^zj~8K<*+_N?WY4=nnBU; zkcPAaR@;(!#9`UZ>~2hxKL661n=OL&`_xC=qs6ilsH|v&;^c~mOXIFq9`&{2q(r64 ztU7>`^=@d6A0Td1F-%6k8=NP(_GTNrQGKoo2JZ^)gDB^9ZLf z`GHjndO8SQZVcw4wD?>*qNk(itm+K=yYnMO9?eMRld3l)m7yYGZQhKe>3sp|!LKW3 z%=54+l=P5%w1voYdw0&jt=oK)GPUb|($_ufF|9p`?Ud84-^>zs@AVtIKg9DM$khM+ zN)Bg0{a!`huJtlXrTygxzGkq8lHE_Q+ggqS(II(95xXfGG}2khgSh>k#1CgKB9!mMLXcoRG5WXDk=TIwxrPl6sE;d~ijnc&zAI4!0 zXStyiKip>Cy)&67%qjEE7xOqtqZ2h@@}v&FK%>T{m3-L-MLKA?)OL7VtB*E0Dc7$g zF}IEiHvDm}Ieik!(le^(*utDO{q)sKO>LH@MTu-8!^H!(eG2u%87Q=axv=Qgm+B8g zVX^>D+rH)Y!p`x>*_D)j$ta&=jWH!w+v_^4tkIWC&T7xyUXzu08YXuB(522XXY4fR z2*#e~gT~INUFDqRLl-zlH1ZBbdj4|1aT2KA}T9&ngEohoSUH#`ag z8&6e-wl`t25F-Ev}DE<)+e_b-8omss*J6LB3-?Vi}U2#sERK8wdD$*5k z`@E9@!MB$q;1Qee@bgK~r-UApE$fd7fVm53ai}v~g)w$U$+1N8{Uo2$obD_u53ew_ zddT8*kkWXFrlhiTaoEOYeZKt#Y0H{3<{M%#wxCu`TiZh4#8wT`#ftGyz|hSV2f3dx zw_gV+4MRaW!mmA(~v6oxywpYf?KWHl4$*#!eO3zU~zHW~u%tuBGT#YZ; z09BoKAij{i6D_2UP5{*gv41XJA$f-awO?gLjc!(E-O>u!kur|5XQ=%fPBEz~-;o{B zzsKfqI&Ym6Jw|-v+rB95lT8~B7b4d*Z&f(+R`f?dZ+)N}OU%-G(sNeYth9M+KS`2- zbmWm1@fGW5VUF{mxwXcFpOY|?v%Bn!wm3*K*2y_k&GXo8%3OG|h)`+HLwt4Te5|Wb z=^g9fV)?3th$uo96Jlq1;$M=3ffP9n`IUffE`ltwbK3!Xl{|Mguqw}XTG=k3U>C$J@$!F80Uk)AYtCa`_6*)c+aBqbp@uiBmG{Cbj==KY&gLr(56W>&zZhP70?5K^pUMAZ zfvcA=cL8~EjxlZ9-}21I8q&13y^JDge?j4H&3;9&$V%QSFLq6(W{i{yIvZI@%N&hA zSiO>0*;=*J5Dwo;hl!;!hq)7>;{vOfSz}V8`w-WZ0=I9P&L1<__9e!OLNe^i7UTxO zX>HCXyepW3sH*(XlxcC_@r8D>sWO)qmj_3t#VLlPvpskFQ>#R3Z|Bb1-a2xuK;o?QQOi_O>qD-u9zFYHtUn6E#-?-)Ce;xrb9R5{Pw9JW%b#pV81hlQy*HOmAr7 z`K8dd9@@eNmk>Bb=NVhDp`+l2j>_0rDPSS+Z)%-|X@f|?biJ-(eL30M-Rs^`A*sN* zWCf5^lFCxXPr_33&*UK<7EHcx5KlsrKji_#K!vtMd;3aS@>U6O&YsYW2kHlaxA}Vz z743qWT|LVrOFl|ucQLM?iIhpEIw~YpseTxfnt7Rs%NJVobmX3d4;w{KbHJ*D~xec7&hCu|sT@ta=860aP^giR0} zI<%>*4k$XaGyy6=p{JbGD1@8a96jL=W~%{=84sWJ;Z8jdSNVSKSwq^YEix24luRBVe3p9Dy z2kXsR&yn75R?s7NIELwbSFPJ75{2YeB8)#+ULm zG#AK$gBaR)X&x_-V?*;9xU1LTGc?jY8qe2BQ%<+$L#IAf59@ac+h_G9N4FR+EtzyR zZDYHI`Y`jZI!l$g8ZXE**<}hbFG}Dt4j(h$6(x-5n8`y=EJLBQpTU)V4YDK^FPHP3 zl%DUd9z|wdqq8(7a1PgsJe>$5U9e5nyk;GH($w?y($iiB@XmPtE3|H z>R+UBb`!^$@92^B4sKeJ^o^<2j-I@ZQDWagrMVO``un1Z+bKbBVb8+r*>UJCx-b2M zs0VfRqEGcix5adka!*7~2c6SX=qu5GUfstrW;4bx+SS|XQ^9wDGTG2mo>adow`@cZ ztJ}xwuFdW3vRDIaT_mQlB1r}u>N`Z+Wzg2cO0M?mn9Z&}pWbB?ay0^MmPlwGMkCW4 zIi3eoO}GCkJmlg*PpI`Zw!Vfb8Rt}`@BgoVETQMvvB@#TF@S{_15rEawx++AWy7Nw6GT5u*S5ASx#3?1br zZQ2z}hH1dHu-N&G@s*xEb9ir}U6$@r{a+v$ZJhBlwn^m(s|2oq+%f~LbN8TG#~t8J z?sD0hTl0++&N29wo7b;f?vI!|j2DY2t>=FW)?Q-$Mr{ED)WhpXx_R>T72;{-`|BS7 zw8nv6X`oL6;z9G<@U$#oF@;sbD%ivYOFHXE7Q5nh6-F?-(ns9UlFp-9mv%vzzj_^T z$G&6&y3Bx%8P!tz8yUdPV5!a%(UBIv7c#igb@DZA^}mL6>ZDO^5Iw_H;UAzrL6K}X z`_fKq?8wB&P+C?PnA7^9*_h!D3hHMV)ko=O&ErAOp4vWPLoW80Y|Fu!=D=?B z6Y}!#8Ey_0=FsbM+l>a@@+e0OR~5qrrkhk*nh38uh;n=Hqc;yg35Lw*tG0YLP$-$P z5w;vv@Ea8D7SIsPKMV^lox5YThJ5rlE9b)0?g%k`0uy^nqeV*LxWC^}r?yH@9gWT819p3Z;2uqm7 zlt9={)gz{&_LI>{ho~by&3oWGVb?h+#kre|1IPGV8;ESj9dElY-JDa7>C-9tDQ31VP)yq z{)NivuA?!O{HO%n1nCNTiWHptqicVM?24}aJ^y1(q+K89uG*Yj z4vl~^?*p`K5BXrp;(k!}P<&T%nxNUh0pcxLs8O&^ko!E}i6I>IQ@C)2e9|m_q>DZ! zbj?q4<0=CaDNUKPm=aach1d zgA16^@p)jSYJCIowVq`Ox-~u+MKWr^uvtGx!RU386Ec9$fh9V3d8A+#Eoud}M^|b< zkSPo4e~QtS{qe(;NU!Nde{n@az;| z4gja70CNC1Ed_YTU_1^hIs1~nOPAt4J&kA%Ql60l%mLuc6krYjXQcph+~`sEH-#aH zpQb8P+MvH_DYk!&mOMuXh{`hdS5C&M?)V9YG!^#j6qz{yoRb2~0pQ#eU=9G!Nde|a z?H&>^nFg4nJRtmQQWdW7X zs>U1uwxj@a0N9!W%mLt{6krYjn*`u{aT;I_veK1$_X?nP@-A%q%7co3iQ>CC98>hMp@7zahbti@s^%F5}`8G4@wh@OkbPe&qCQyhO+BLndE@znlic!1$5~< zjjkyGM%O)}>rl}p&~^G3?{IV}k?1!no(oxVH+v^xB30ky)yyk1 zr1~nZ#O`Y5a=20_n&tj(<$kzw7s%l8W#o=^d}H>F|1V?j0bWJXzW>k6o^x_edLs!T zkc5N~5_&?1kc5&#Zy}*0ML-~!1Vm~g7-<5LB29|)DoPOxpaCL+6a{%vK>-0lP!Un# z1?BfV_fAd%ul~RPTvzThpLwS5?(FRB>@FI+v`)FG6Y`=u@$VCL$}3HEC#Tw&Q)RCy zEYYLQI&mbfQxmgJjI?G#O?-|VTmk;gPNZW66`&7=@$t%IL4J3bE1k#8Ak}L5(7s3C z7$Y-nL5_u$9Ak7c{EPRwlxqiCKFm8)P`NGkO4+{DgVN7K{g4LLkAI)2-&pcMtG&(j zYs&RwuPH3ibZ?&bC5}Y(Q@P7&!jE<)X6#Ja?(Qsbj{b?-9 zhE%9*{QE@N=-!!Gws*K}&A4prHH9U5j9E60#BI+ri&Qj5>`#+8E8fPPDW7r3XE@pD zt?(21_lbO7AP=;`F3zVp=fhr8SfXj<$Zf!pC?9{ygPktuxscKp-QVR7q{-mPy~(Ho z0?nyH?hn-zdJDbPojj1-)Y;+8YeeTz;xSV!(GxfmbUb)|gw{BWB_G{2Hr1hNWg-Ws z?P3wtsl9BpPd*XVYW43D5M$-_bR3;8!E_QChL@N~&*8h$4~@56vzK$j@1T&m-_g!J zWjvJ%ZM&P|<+k9qWiR+g)73>RAN;F0&PiQN+mr+fMZ4RS7fa*r;kYe1E_=a0nudIc zd+W)#i8}6t(zts$ZW703uPH3iG^UBA?iOR&TJ+nH>T95>jLSE97ObsZf8F|#bur>U9B8>-c^MWO92+3PvTI91Cn$4!YbxpCAEwDz|X z{m|THS0?oJ<}(Q|(7tH|zB+);>wM815L)LAy2f8cq3GU0z_RG^l(o6^gYJD+peGcT zMSnqAdpP*Ejl<2ky5<_cu{^pzg*Ku~==4=apFTl{m=d^fH2bLwXY$vy%+xHb$+FDe zRnc^V%BKFxX3)(tvkn^9D{Uvs7n*N*>*^H15B@hN?-`#+`M&YAvVXZmna z`cK9A$Mg}O(&u{qQ~K?l=`VAp4;Q8XRGfcIAMxpRgt_li^yn3w20d7r&Ffb9ZT(Xw zmL7}mk|{Ttk45%^fAm=Av1o`yIu^&HujbCoyn&)7!kt7OZWelt4O4b2N`vO@*lper zG2P}Io*n1bmXy|uNQ*mI{nm-3sy`JrbpqOa3#lFMDZyItWGJT&(gM~FV2 z+zr^xeLT4vv77sNdvt56*<>EY+5@vQ$lFeL6`Ig5-q6PmoJq{2D%P%Pz5>u@zV^?C zajgmn$fZ5fHFpqQ)#25EE;hUg(1sV%p^wVBPRDuxUKN1XEa<+UdMYsyZN?`S^V(83 zg!#fhMK^aa=*Ii~CUb+S=#^Bem>h$8l>5#egwAW_jC5;1w?2i!%WSA)(zKByR-$uG z809;O^Q{;d7`=&n`5U=xb^Dgq8quxydDI0cm?qTeX>Z;+mvJ}f?~MOsA5FcNH8+(KpaL7YZ7AL7 ztt4f%jY)9%>9&)YOyxI%Dh8P4SM;=cqdVFhtbUt(cejw@#Fp&i?ETq+<@r)TrOVwK43CD%Q@-N2VPJAQZhWR6HdRy zd@dYIV^CEy&{)sEyn2OWnQ?KY-ImVw?Byl#Lw;SK_Tj5M9#7PuG-+neCnt*9*<7bN zheqQx&gGl3ly*)68KTpv=F!wqxyIBFKtGZ{nJYvEox;C-2@eN(OfB_*gFNy}J>VdZ zf>IAS$m69_4>-tUTB!#d8O}?2&V!~8kaC$XBl#kE9=FpRzL>)M>m;^BN6{YTs@=8t zc8yCLe+t1@mZkpz+RamR{9np!=lSu{aCDne@PAeP&;F(E*hu=SFDjcin{L<59iAE7 zD>KGch5m!-KZyPV=^tYYgTFy1rcxPmQ+OyrXX$g)+_uoB+3CblbgM)=bh)chxwF&Q zWM)x|Izpa!jd6x7S3wU)K-94U2TxQ1{varB1ge z;~8eWcQ{@zP7Y%|3LHaugho@~!DX4~z+ZFVvayv;Ir#s|1JTNcXgXTp{}l~I8(qF= zT>VhTKh~qTw3^#3+_ z!f4S6|I?zb{}>p1)U5vr>|3_kJpMi2ivNk{R~FCnALDU9ZozBfX`+zkk7*TE^pCV_ zN8cpDy7U{oqxVwAhyebSEFJEa0J__s-GRH_N^}lrL`QQz_ifQX(g?=YmfMjmZZ0`H zsW91{$W4pdJJXN5J(@0vT%wyh{#y;99@a7!FjU2fX|N;>45+Xjc63L zGrfR-);wG2qu!E;zTl0S+|q%U#Xf?3+R`zsUr;bQb9i?h#?O*Vt4`?IlQ14Ryvlo* zpKVH4@}fKcx!u_0q5_;1q?HA<9{(2ATiKuRw4~d!On)ECh(O&O99m`58zx*W={}as z5n00#Fr;YD9&JNqnFU`uTry?zN-Nhb>(pph9YidHFigZZDxJx zW9)Vp6k3T&@tZ6fbTi#k)WrSN>c+gE z`6NxBX{L6wIoEXP)qAm$A2w&N+$hfFi4?J(G=|!Y)8sQMx3@vJ1Gw-u6dpmI@ZhvE zpGt@Q%ybk!G-sw`ek$t^&K6A`v%#Qh(%vh!vuA4W{Tr<1O0@Jvf_hV(9jJ=n3=Z^`o!^4rICLSUWp19>-nsup9eUSz}EZ|F_ z4(m|->kI|pP;gMFBRUlSIzs_C6ddm;yk3AOwo51!FJ02N9?YECGn#gnSiZzT|HIeK zZq)zih*VS#<4m4`%Wrz(B?L61%w&ssO-(FjGiAoV*@>l@DNHn#-7BC*7xlv+qTr7_f+&2WkIo%qQ^kc`YPIk za>=8fR`Irp_T-L(ZVSGo3~O{txWU(Pk41E?ny6gzaqRVE8ziyUlZ{Zo9ZhqHh(#lJe@Iqk*2+Uq~si+}k; zm=y86_Tt~{XW;df_Tpcix~RSQS9^V{z4$kK z2ts|Qz4(_uc1h*Bq`ml8Cx2Oc@h{3nAN&ez{eQ|03^IO75SHQwp+@fe)(08htz z#@wmOy?DWr{VX*rtqH;2W>~U^G5&8j{@f9LRGJLD3qFwmzxRz3fWd;7iv2@4^X*`4 z;2rjf1V-o*z+mAoilPKhh07j^5>Q6G&rnH6>2ScZnp(0)|Fa=GyEFmb56dM0{HFw- zGUx>8qJeil^Pwe6_889X3BT;;krDavVexdhGQYBLe5^bjuFOw|qo(6M{2!YRhO(x6 zDx7XQN`MdDe@p;|vIL$ASJw7?K+$(<22eN0+Z-5RBK2K-O~We}U#7m4-oHoh2+neg zO`~T@vx0hO(hIPbdC&>dF>weTb+I-FUeM@Auh+HUk|ds{(kOUvDU&y@dm8Z+n`^9c z#MoTw?eeEf3-cqV_0`1hsWjQksGsF|WdC94Tqi*7IQM-@j%}!MhqBjm3^X}5g>UkFGPeW_H%C5<5;cM*Z7rB*s zsfhvP5jesKZQ1{s{sAM*MN}fWTY9qO%OLvWmA~WSYuBwES2wO6tqSB(7OlAvtLcRf z5mU%cFIhPKHa#)bEiY&I=x1{|#D%}4_>j)85k0zzCG-&~Y7Y^S(j%=k{ca*YOgmvj z^2qFGI57RukkY&7s=cueo}&J5wK$%}=G^Dg|9$$eOsDZO(N}$N|Kv+za>7pDyvA41B?rb7bgrjAS6x$^xaRe(mrdM;{tA5v z_3&o@aPL5GTCe2YgtQNI1a!9dc=9QNz5(3~|99a>$M#=Wn>}KAcVkXmuY>ZG=w; zADc)H;#^*Q?43BP;i!s;{p+gEYAc$`H<48ya7g-PfzLc8TG1PFdMq*pg$- zufkd}ku@257}`05L;l^9L%NM%eKeA_cnWIw61)GL!&>!K_KAfygdSbCd6`YzSaouh zO~}=pauBp0wEb$f4uFn^&nwWwtJkfziQiUVTK$V~Swp+32w1~D4M|%&%es2{WR*^*C_~IO_DvO?9NTV+quq~XZ0#OW^yhT%@iuCTFnn)#s zh~Cgc@9XB4A4X&)st?;_*gDZOX&i43Y@O(BK1^?_x0IFIZG?2C9F9`=>LL1wg|tDv z#Tg12AO?u#NaZ$Cc}8qNSsVs$qi4h>P!N%oUMK0IxJI!C-K-V`qN?IjXAoJ5A}MWe zF_0)&%oYtnQ;4b%HK&k5ETmK%M9H8Xpan#BO66nY6T^ev_HWWRpyi?!Y?nbRMQhLx zpf^Pu&`+R^qAln*&~}lcxPA|atYWW7MSdO@&V8@wq__n`iLBxn5!azUQEPEhWWm-7 zwhQ72Z0(6IiEqUzP+y`jaYdX%n!|`3L|?=90^;4(G!yi@xU6_Pya9SBXsAyuu?6uA zNrOGIeF&RP(+SIYiU&8uxNCMma8A>gQEMgbX0Eim^nzZL7O*yNp-uV5{ZwmZ~jgsvd}!jCixu zAW%opDk9FIKT>&@ZPaGth$hkKYOsa-rMW~N;yv{&(tLv`Onjh5BbALr4)LLS(Zc)L z+b(>poF(G2>?PVK&#MVY<)BLn9h>LXB&2eN$SN)oaSmU>c2&I$+b!6xt3u@PfXIjT z_<5E!)RJy??lo?!1)z$W7F&3W)giKyZ3%1%u>GP|g4%0ZW8vfW89TSxFKVsDpm?Kb zczA<8?)@QX3dk@%LLKH&$oe$MrsrNL-gf(WOPa76$6@=3=)SZX=V1GcsDlVJT6#^Kixq4m zszSs)-dL2n7SRCOmXkp(h{D81%U-lu7gyfrH(5?tdE1V3Mae9u5poLA7`4^%6{rZd ztrnW9pq5xgWRW{9H$YoJdn|4?Zlyhx!zJ;7rJ;?}JdCpJw=}nL$<7d2#Q{qaLViay zM;)}Z2HgQ2vUC6`H@1CZ$p8g{j#{!nwLr%#{Xi*1)5USiKq7iK36X?|`ZhO(EJ1iX-AuzYA(b#5ueN>Z<7j&;X*B z$hIFeiiqp*5ojV&q42gI0?j0vMRWwTjA$;=C!lpiuMyEb0;CgWjUyo)oSPQ*;dc<77x+ZTFuUT`Fmt@h*WEJ zB5!eoh(@ED&Vf2x<6!#%)ZN;`&d1+(ovRTD+>knk3_hu70h<*Zf1g#_DK6$9ud5c4A19^)aBCFVskTjY>DhI3& zkV7HS4E3?Kii7L7n8-sMwbE(_q7?{v%-Ybw_1g;i-uevLgxKxHz5Z3}i-`9=kq3P? zkUl;|A&(R7lNFfg@2zdTRVvyhIs7Qz{OvsUuB_?g6I63Ysg1Yh7$Pe|N^#1k35_4m z`ZQOD_}(Xx+#~(iXPn;#@+t7!O!|r+J#-=F`t2hBg=DpeH~jXgaIrgp#@*s`XosNg zG^WZ3>Pm6_U*EYn;;Gf86bMRf#4nZ3zojt*< zhl2m4SZ4Z=xXRz=sVE& zpvBN*(DTr%&^yq-p*JdW`ktX5)A?#-sFy8Vj0){Qly>DYRwMm^H^YlKY|i_NJ~4eZ<{O?5?|cKdp#5<+g6n z{gIoa8bydl!MvBc)~8qOh>G>YEQW}N*00a|e?t94(vJ1r$lAMp1=6AQL+OF!0>2ur zrTfzUxOuJ_`Nhyrp{JqepckOmNI86}EhB$T$QpB z^OQS1{^Ni2=@ftJ|HHp~{CEGSH7owt|DR#{#arFzO#$%^(qZu)Zlx`dA79{>kv|i< z2)Yis6M7JO9C{J@BlH2(r2)qcghoS~K-)mOLkB~rK$nx6d$=LqYY=9!h=UEv`YyBo z@ow0gwrNy15&9DJ73gcwH=tXg z??aD4&qJ?5e}O)NdL$H4UZDwG$FknQ>^H)7&usP{i4>Cd_JpnOT%&_ja5-A&fz(XDp6J@r=3$7(iQHG%lK2?$AT_Pw zA}_hCry(XM_w6wv#6nY%` z1@t`h67)9o59r@eM{AB%0a_J$s5$%WgVrG*v%f8^%S)|qlC@S4>pZysuEOp&;eH2N z3_S(?7Wy;vFQ`u&4j)chTJrsI)x0wD&sSl+Lt5%zuT2d3BtX-k-Jk=ZFF@x(caVnT zOd5{%lxWY4{O3}*{j;HCNo`_sN)u%hvs3QV9P1MJtW4?aX%p*G9+A&pSm*n4n1d;) zHk&vJ{Tg}$`XHs9jZ4Tq&)+G^J0pK<71l|lr6u1V=R!W`tFYdI-l)iKk5m`$aN(co zg^*mfQ`Sr5Kg916d^pX7)NAC^iL@czhgjfJme-Hu|4b_D)+($c;eHYN3UncKEp!jG z1o}Dj0`w>7BdBK@r{fQ;0<8``kMwK9-2j>l?FQ`&9RbaQ-a+{IdYsyH^5HUb?dGO6 z@X5$u1YJpLj%N%yM>Hijk6udqlkI5<3pW+o`;Xbf)?Dj z>}nx#){YZ3JFM}E6HQ4QinILMK9}L1#l3K$k<;LbpP9K|g>V zhJFS;3%v-v2E7ga1Ns=t$@oXdZMtbTV`r z^cCnF=wj$9=z8c@=-beDq5GjF&{NR!(96&tp+7-?hdzRePFy1k)DCrrdP4)DRiM?N zHKB3PrqEW<_Rt>Ce$Z#3W1ufW3!t;03!ra6H$rzp--8xIk3-KwXGC#1FT#BpdJTFL zdIx$B`VjgUsycHl8`Kr*39SIF2(1jQ2CW5c0Br$n1ML9q0qqMN3LOc}fsThxh0cV| zhc1JzhHijvgYJU92mJ_o6nYB!CG;xvH>m1@eGeK2tpiPfc7XPV4u_6{=0PVwUxLno zE{3j#Zh`KG9)KQ&eh&QxdJTF9`T%NlOHiEW&=t^i&~4DSpu3>&LO*~WB<0-s z8uoCH9Ljfi71l}6>CpMmrO?&TtXfvj}!Lz-k|W!d$P8MwucV!W1p^Y zXF`WUf0yh(2JVT_m!Y$v3!y8a^Q&;kjd1URzF}dXeQ!Esx3-9AfYf1Bpl0))!br~T(y%XI z3pDG?S6*%Vo}nYR9keqkjj#IlHp0cw0o5wdxP8Dy^2tlSNJm^ztKJoOKObHpBY%I~ zE|rmgp*QPg=uPOh9_*7dko8%($HF}V?(uL>gie8ug8vxk<(?etxfIrH=&xSv_Do|f zK=|v`+5IxyMbH({mC)7DYlt-#DQtkxR_Jc%htMO?lhFS_PgyzTZ{fa8DU|jnR|g)T z`gZ8RI=&<8E%^KieFT-yu)h_$y7K|F5|3TopE*SSfzZm(YS7xy2Bf9Aw0!0$h3p9J z1$_qk9CSQ%8uV4@BIqjUHt2iML(r4Z^Uy2MKcL1S&cz!VN?MwG?Ll9Ve;l+iG#Q!# z?E>u$9SR)_&4UZ^(VRvg28WaLgK&*7|hZ{6Ojhhs+Nw_1Pb{h_%~&@s?F=y>R4=rrgn z&^ge>&{fd&(5=w7q3=TXLrb8ipy#2Np+7=@g8mMD1QngQMi!_Y>JIgW212Vqt3hi* zheJqrCC`VI6N^bYg^)ac6P@qh+G!=bUz2GB%kJ7@-U0CXgDJajsAK6C|i z6LdH9Bj_>c8R!M*Rp@Q#J?KNIts7biS`iuvtqE-eZ3#_>_JH<=4uU=h&4EsUPJzAz zoe6yvx)8byx(>Pp`Zn}k=zi#7=rQOS=tbxc&^yrIp?^Ug-MJQC&_HM~v?{a)G@i7y zpIkch5M7U~fo_JrOvR;5*AuaX)Vd#1C{~7v-liszGWAZGnN^im0OIjEcVB>bjiq{kj;8vNK4E>@`z|!c61fGD*>Gk zT|z3w%4{CDZ-VZG?uQjStCLaW2)dUf`% z3HLFu5$Q} zl_iJo85`lQr0a5qknYJDL3%KUKV5VzhwogU%i%rnJLpa5 zJ?P(1w_LtvsgRpTxkTo^NE(+rg|ubvG}89DGe|RYUnL!$`x@zl+}BBG=B^-Jox6r~ zNA3pFL%CZ?&*bhT{VsP8>D}D-NoC$aQt!OORH~|ZeAUB8M5PMWUQiET6TRQZxGpz7u57TES`+ z3|ghYC4A4bZj>QBXGQwc72NF81&2^zNoLq;)s{)+LUhMWvV=WlSdc8VpFIY!FYa?z0=tTHjL#z!5KN~(PpeNz; zAJWqDZ=d%k^<9UCu)W04tBrWo%KNq>qGc^&1d&< zFVG|sz?Jcx@{iZm5cuz3IvkUoNd=4}p z%IijWANZ=PO>Cj#!X_R(&oc>gU;RAB5PM$z59x(hFOu39eNS37>;~zNb$%udTy&50 zOq~a$(Tj{&+LPPuR%XbfpfKeo3%yA$qW=thJ;0rwT?F8I7*;gI{_z61YH;XVg_L_Rjmvzgn@Cj6H1S-a9Q zo>hxlmO$2;q){SnSyD|ud2d?+>5lE=TKdUb+gFpe+tDx4hO6n*VZ7?8NW{@cFr@fJ zQwtyZIEL^JH*Kjt-t;^|drhN#0%->LbcAVpnTVF~R%2Q$mivS%SK;oYKt=Caz+Z{S zR(f4By_7)HexI5|`3PC!xareId5RgD?)sz=m4f971jy(TQh~hzo_9^}xGTF4* zdD~VH>6&=kRuFwO@m>%hE}P_-P4NQ6RZVYze$ccP^rNQtK|g6K0o~Db5%im;-#~w8 za;?BQJkS&ldZei~NJMju3hk{y(?KPU?iEf@yq%!wwD+7L`q~Uh^py${zd7le3K8}i zXcsx8LPr|ixNFL*aF?hq=(^+M0Jb$YZP?N@*3-mWnnqfhcuQ9mS({5g-E5E_*vU{-=&>}UrQlM>|B;8;j4+$j1mZX5&(q z5pRbw;yToHrZR!zmC>BQ;&QZ-Z1nsy{z^RFC0iNUeecrqB&D`s-=;dNZ2n%XQG(@+=>Yx{mdSaBOw}Pe;jn{M_C`;8BpJ+NpY1S8Cg04Hb z?s4LgCT^EF5seBL+Rp_Q61CBEHE0e|M@@Ih7B8ODBr47!%G2aoF-tWN>oirZxWH&2 zu4;;dtr427#Lio+ffxfS5^XB3BzhNg-N7xR_ zs5nS95g};q>ki&VO+;-?yp5WO6ivL1nu;t_v|giK25y8v=E)Kd3jIXZnO|HKm}qtl`~O%11b@`e4TXyTHkh(9%P$x?*Cu3h5blBEi}CN5d3 z@X^F2OB3OmxMXP}5oDgL(!@|re6C6p!!_}_Dou>k@%UVoCMId(b5)wy1iJ3v`lX4Z znz(*x;<^sW^-C8&YdRPFi0Hma=)u~FmN*1U9DJ5(Ct8EdzO|iL3^GR-?Zo>a-tJyT zJMq9t20h^vRF50KMBWN^w{#XEn(`_X8l6QVsL*ayVq2pD zpV51Wk2LWaC_|jk#9K2%e65MMW`_6yWVTs`xCi1kt6<3x;q|#)t_yCLo}xBru}H2| zi>QgF&XwZmDb2Q;`c-Ob=|f{)j<;CkR7$e+7lWMf(kz3-XlJ}mmLX!YGhT*en0Un* zudn4fv0BrozC$e8;=HESm7cSV5smrvVwA(aO1YLC(MMBprSXD7sx-^(GlEi(lz9RbY?xoepvA~h`uxo?>* zax`rV`P(u_Y}Ir)#Kk&Se5dKFkU;Bvaob6u)*|sp(+?pr*4IP?zp9k-`#q$-b)o2^ z$-Qzj>tZoqQ&{D6>k_eA(>C8u)}>;nrbd-BtjolCO&u!tu`U-OjmqNe$jEb|Z>%~4zwknIQn?&=b zX2?oaR$8}+6$vKQtg^|vO^iW@x>%%DdB?g#R7C3*i92r|s=ZTm)#S7Gm)h@$d73iT zCf3<4j%r%8c4VEsVmMlp%~EAlKlGusSa`H$+jWO&3)5uU+JH*z z+-DVwRM2Gy_n*b0vnIX{C>DJ|=CN5U#^`u_9xE2#fw(`bU?~!=QiJDLhY zQ;b96zB6Qy?U3-Kj-N-=JhD0>0yHfPjj$aNRZOBZqlwJF5|5ps9n~jJDyG_&(dj4X zN@%>T%=Qx~-b~XzBFx?LiD<5ALRbZ&HlXVc&f%!&s%^8vvWR+VS_&GYX;0Wd+flJx z$K$db6}vTY?nlLUnz&>~#eGd&mZKsfm8)T1rydneHE|z#RHT?hb$^aR4hEU6drVAl zQjYDo*kqD888*RoLIkC8ngujw7^F^!*I_FXfg3K>J0aY)t=a~k`lmRUFa)PL)AqTh z5*Zvm&vwR1&BK@4zI0M*_r$M&`O&?HJ_AJOr0wr|9la<*@f3hkdX z+CE~tP>xR8E|#OOZQqrn%eG76Co>iCW_X&qA|7hmL-f6HPv^je;&}LPwyUBgs6^&f z_?oDLlP=q?iIHYV`!C^-Y(I!~npD+Cwj1ICh_BoRshh&D9j93!f~sD&-4t~}oaPbR zEs^M?leXI;vb`BHvZ`|VS)2wHiRM-PTz)k_ZAq!Ls(R9PSFGsBA&W$Zsuf-CiAS2U zK<{)iZDXodCEHa{fq04H-4k^?n>j2X`a|Sv+C+3;)a+u$`><-1%YVgQlh7CZ#RmE- z@%XH29hWlVW2}sLl<=20fq2(38}qmLQWM+$7S}+9_L>oG)MN3Jrp6IzM1N^&9nqSe zLbP_}{0i-zBhrW}Xj&cA$wkV_n%)ZPK@_E_Pec|?KE-Pq6;Vu-rfCY<4B1oDQnDFx zq^8|uv&bo$J|UY$zOL!(hzT~UT&3woL?0KcJgw;uveBCxx|!v4MD}s9$wW|r2#K6v zbCF9xB@S*g7r8=*Q+@@y?6?=1rM%?@P0gz@eWz(G=!&K{s%>`hmUlEAthU3&M>g-twY}`P zTy2SqpKPtkH7ZN_$rMeUqEZY$nGWJo4#p%0{7(p0tjAQdZbXiBR7yGyLR zr)dy{tSKA!=CWLt)2r`rsU@dtT35ZDQAZxubeM9eD^F;;UH!i<_2l=ULg5=N?Q!y! zwuR9bzvJY6O&#cK<#E#5hjX~@I9Q_rkq79q<9Lk}BTm)<@gCWfZ0*gE@{bx>Dqil; z^ti?#qWz!(VU1yWsBPXLOJB}`Q|WDwmk~~S#@;}-1|1e(M~$#Ik{vYNBx)ivG+iQU zCi`ppg{Xxbrit6SrQ8Q95W{1d8ZBj|ew<%{7(W29dw##v8K0z&JnHB)H{~0gylv}!(!=5Sbhj95MyHpskX97 zf6k%MJ}s86gyl$0i()U@+sZ|n*2i8ZTB&JI>=Kt0`H7}OvAc;bX!@K|NtMk9m}!0= z`_P&yw`sZyoBKf1X03VMo+@)RRjA4FwrPs2xxh%3zR#E;dBl<`+iSWK`YXlzP*YvR z3mIgFOsM&YY;!d6XeL$O*7Q@Tiz8Kb9n2xGJGebl<#!JtMXJCHiT2589}-#r;>pR?P(}WZ%tV>i^=x9rr~5ullhv)ku6Ow)-;W5>2kfM z#bisDA86W4ws!KEru}4VCogIGoNVpoFPg5Bt-Z7k<&qWJ|0G)n>95JXRxweGrtn%> zs-tY8sU_Ju%1)a4lC6{Mr)dJ&I>|guuam8_oUUmT**eSRn%*N@7r9l_X|i>Z#hQK~ zTUU8T(<8EVmA5qc)TZlq`A}2k+I0OceV;Y!P=jpUWrU_CWa}=QX-Xqo57|LeCfRz( zp_-m0TZSC3DUWO!vIu0(ruCF-HSug(Px+w^SwQhJLbxl0$*H1pyA-hq${?cc-S+YSCufL4ZluNb&vOTE8&hys;o-7d1zmUW{NMn&PZQ4%4v-&%_`K=k7%1;LDcCVsT1RkxJO_AJ4U;?3zZ8l48ymzA zlc&)$6bbiDv*Sm|xB(opNJMUWH-4mCqp1nmMoR-nf05|A$-TiCxmMG#O=BA5$W}Ps zi^POYXB*_ncQnnWc;loWj_@L}YEx3f@$w~2Uy*Hs{9aS==Isq9Nju8P*KxxgQ>3@1 zyFS@O6*ci#YO0I}nWLboGD#DUf~Ly$I%My9;~e?&h^A-j^;P-ugr;%z3XOdEwWgQr z%^|u0GH0v{r1x{&64xEvzZA&knz&yokb^aGzf>USgUnG^fm{MwEEd))a1_W7oix`m zUHXsYG#87t^_Dwck>O5y(=kKVand%&EZN*iyB)J-dk|f**E{HVRgM4^ik3W}1e+@~S}3_(d>%VnFH0?U(zSYb9E;^P zGZlL;zd~cN+^uO${Ut7o<%gOI>hC5xqUklVy)I8^T2((wy)M7hw4;78(YKoR*N;+5 zenQ?qv>+}+OA7wg;89xLi=4xWvS#3{4%-4H6dFE&~*owdZ`?siA%jyzN|y$ z`M0K!uWAa9OD9^QDK@T)>oR%MBsy~D7|Y~+lSGTSp04yA+|it$xowwAyOVaiESEkY z9(hc4T_Hm>T_Rd3yJ)&ev|9Gj^b66OaskLpbDdo7q}?v-!?>;*UQtIE)i{% z@!4FK!{R2-@ERWkz+Vbj`zFk z2eP}9eB3^k8$j3PsQBt`$K+W}dGSr$K9jD`b3C@Sb~_ouKhu*Bu8+^*?-gO2K~+@tBo2Hl7bfXu$& zOIf0c`+_g!DG;}{mvK%SIb3S<2smH5m(yGVy_rh7!B$A4wYS~QOFvC-1-(lYqNz>8 z18!f*NKKgy4-?hZ^jyQ^ZePn+G)-&xInip+G_kzlAoY#B2QtSt-^h?$w4j6gkZ)wF zCLY^-BgbgszULdc0#s<<+;EA@H*%e(w;OUudmg7!Xy4!PyxTW2UsFlLZ;57VIz=Hb z$aR{oG`!|^L0ZO|@$NRfMHHq1{4n%*MYk1|cuakBj=pV7plu3Ius6OX!X$yY(<$m+ISrHMyY zx8*(^@&`)uCwWZM14{EJ`MoB$CRyrd`KzYzCdEXy7rC6~Naq(Bq=`p5zsP!^LOYLi z?#Nb}c%*Yj_R-Xc()?9Erzw%r{8bicN+a7{IbTx-+3v~>ng)^WH@QdC^JM!?9@jLL zZ1?2Xn&y%1p1h-J71@55k2P&4+wZc%1hcI_Aln}@QqyN-`$IO>bdhX-%J!OmA={sF zh$h)IOWl_*X!37bOf+9pbDGz9AXjOsPPPYfkEW&+@4xbprZlqsSDx3DNw$ab2TjkB z?VR6k9kS(cJ&m?pPo#YDLvb8M%BgT|lidAP5vat@ zX$Gi;W=OIPAzJUGZ1;+4uQT3@?jh=|X%j75yzCyP>Q3e~3q_X}6Kr8>KB!0xY%z;$ zM?mJ)M7TPtiC4pft5ceIjZ#(h1&Ghg-H2|2%)1y7>Q~cdubn_^c+`Kjjj#J7mHQOV z{kntiR79$Jn)up2Qnl8^cPb*)aFCfpq#AFMy?4SM_i8F%)6j$uh-PYfK7rQosMVTg zCltF!spBB?en*tLViJ}51lb;&A&EY4uc0ERn(e~(G-A{QkaV$>LI ztG3~4lbUL~8PCpZqH3!>ns`lAZFN8s&w|%cC7O8esiRJ5;`yGs>OY!zzNfCbq>0y3 z)l-i&*?oU@ucs{eD5pKx_a2c4$Q;eoR~0nzXr{iZqC;LxSmF|=qBPx3*iBSNQyT4& z@hU+R&vL}8?wWXSZJ-8e;=Q$jdQlV4ax_#kH1RA)L$y-VX0kO>+cohlMU8tV2^3qKRiYnyUJmc$TA?O47u$9L-cu zO+3rdTs^CaXE~ayDVlheqlKEQiDx-lsP&q7mLoy!)x@(L3F@RKp5w5)EJqu4K@-n%v{Aon;#m%QFZMLEoIK0XR#nx+vm7a^i6)-q zNKrjC@hnHG8m)We zr#z;cC3{H6bbA%5$*m>LimAq>Hae<0s0Aj`QT!FrK9D(P@1j03ZJ5dEqRxV*iApUy zsxB(zW#mBddfU6GSd+w%mVO>xRbwYr_UNw8fQrPJmN6bZ)h$g$E#p1t{8Y%P6p76( z6Fhn=cTj=YOR4lxE41xo%QhbU)NO6MMz#T}?JH)yQ2od^$1At7^KE)df2j) z$6&PtR3JPOGd+eV`wWg(AfgfndJI*WphD3;aiqsE^*)HM(Gy?r7@=#W9Z(^)%R3%p)yUaq?jDIB zc)XwvYr36y*kiovGpDpzhiS97PtH=y6vyJxQzmFXY<#bLx63kB z0xGeyZMpi)j7PTTJeRAGU62p*WH}$#bQepy|uxmpxah`A(Ycxkjzm zbUC@c=UTN}(@#X})L~73CKq|GS9d^E>Q+lVH>$`LoFCowYPH&PlZw|A)@qR2qLzRP zL>03uK<4rHmKto5*wN|}&$rYnP=WXozvJAtiLJ9#8Fg!Y z&a;dLwZ1?Uhj``+qFt)BCSF0bOAQB=U@iYHHBJ++{M)7SHSyfU-@~!$3vi%Qj8C-c|dYl<2ij zUDtHEO`_NP>W-${ZBo2GRNilzsoZbVMjcS2K}ABf?dWwt6=<7h+d=A}`cPAN+uv*l z)iq7^+jjFhs6y6qDn;~cMW)wBst>3@G;2G^t5^+QXXenh?J%O-n))E!L z>M+LZkeUN35~JI`=ygPWsA+23>0Y0xVH-GPk(f>NsoDoxEH<^B>vde+)3!=2U-vqx z#%wf0?rnS9^10fg>15mWUSFv5n!aoMw%1t|vdIkjbKCu1=Tx4i$8C>!eWiAS=*`zD zXT82r=d~>)4ZZ!^<;A*Po14YkclO}%fadms+k#``A~z1<91E48!t zFKU>R`gz|~`#>CWwD&!APun(E9Pj;yir>NU7K_alU-o{WZi9+M!_}?n=cb3LG>1{PSJL$Z)i}905Sf}GK{tGI>EULqB zf1Bf(PeVA2Dw_CilEVns#MgfgBU;lNbR4-Fu^{tUaW#@nqS??^K5j<3rniF9h`MR& z<=5HA-RKQ6SJS&2xte%2y}L0@6R)QCFcxXz)$|_5N|3pl-qSduZ9MkjT;JdH$6+`o7l&uilT#nYGoDzv|!mZiLm8JZ5I6%)Oo=`*r<8(TGZlRg*oPuJjGtE-qQ2Jvg1N^o-<1{<6=pHpY2cT{D> z&-?@%2NCkR!?b;3rec3Ly&Kt1o2g)bsbqYwiTl<{#vh;p`_XhJkKM=t_aZA9-kNyt zsbmCd;^&=0j9`%23x^o>K)f%F@Ch+GgUqs2F)~dX%2LG`2r~EGP$N$hmnGDA1!R^b z)L5x)yeEemYcz3LLXAzD_(`lVV=KrkOPEm%GRqQXTsDdJ>v29+jhmX@3YtW8SJUnE zB`y($*B-8Wq5VPn3Ke05X)@Z;6HZ3Hrhs-2tr5mGka^!Q!f@Zq@yz>%5k_NBi5<^S z8KX7f87d=R6VD|?7-ux`tV4wHwI-f*h%hc|;&zENZffFZ(jtx9AhWiS#xL5&&t63u ze}W3_QB>+k!}hLOqekuM`6?qsQ!3f28L^r&$yUus(lm^0QATG?lgJij4AnHBY}JiC zO>dE{x-nDJNwP&7uWPzTwrFFUrr`Ejs)q4_riAvzM4y{P`^z++7~?x9&Gd;ieD-mv z&3o6ij6k$?k!ZT@g%-7p7c_O-wzfqb!yh3F?YIR;ni$tK@tjT*<2Oy*^EEYGk8ytH-qX|w1ewnY(KB3{xDTNxf^to%=dL|pqwT;K# zt&B06E_7GEt&PQ+?sj+aZDVZGkabnVDas9+iF5jKC92i|y@u z)bUL>YJtqvi|IyPO}u(B-H6k~s~6Lah9Djt4kAhbaj(&YQps{sQ+qpOk{MED^!U=H zy|Ef}NbyxqM`I(1?+M>@>16EC#B0pD7<)AFI>0W*hnjfhUpM2BCSDcT!#D;q_radV zIS`j+km_mN2J!K5#MaYjev)fDT@22cE+L7-Y^o_cfMk;{Lj?v04-NeEp1Fnz(oCXB-8Yy?#HV<7v*X#LiFS_A|PGxFxy~ z4Rg{t-~Pr2Aik#T?KjXk@3i&y8*E%PNf?=f{hl>yeQwraROSS~VMYT@FJ$HuC1@%j z+i;_;rkP|LZgkRAl$oVQ82vS^%6!FdgfRhRu0$AN%+kaw5k?s6&5+oBBaH1%+C=g8 zn`Gw|3?q#bnmFD_0y7j5H!Z ze8(Y;sJ>|qGNJi}Qm76n-~{HGct zK}BMDRvn^k+IBFjiGRLv*R)|QobSw`QID2nD=p{Fdf&ReRE{3{O>@#$S?T`M%Tag# zLL=}j$K<}Cw|#~Y1zI5X_3H0G(`W%I5})?!WSyns9dh}i*D(M8N8Q=LMNzf=|Ln|} z8Nh|zm32WyP3_*X#i1` zq~S#8B;7*9-x0aoK@=+~jVM*pY@#Abi-?X$T1nI_X+2TEyCTnxL`jk=h;k(DC90D2 z98rU$<3yh4C>Lto5;ceDgn}*ju-ZUW0(0vatyHy3+FEsJ$VT-ew{)A;&)m|L!B13C zo@_$u)B2<8L83f1J#~cfsLJ0*TOM1II@A8B+K~v4hZyGf+u?HPpZ2m!4p099qL6QoR>~{?oz)I#PH7EZuP1pyqC8}HGLrJiTCoJ zQoSVMy}Z4uuOz&eSEU9>!h3o9)G$eShi<>xQ_=&eYwZWrF_N~X!krp*3Q<1Y8$G1X zC&H0jV}Dw07R37Bk*@q*jc5?n6PlR3mMhz_Ugj_n}Bv zIq96eM*SyI3440d1^WwX+DF1x1D-FcxsqNciuhRA-ka3U=S4MBQWM!mefsXHXKOty4*O|6ymE7;DcmnE5}AQfK{bqORI z{JEfhQ{X#WYO$mdWV_`HVY`DUQ_>Woo4!O_0h>*fLj+HoPwCj2&+F1z6;Vm`C&GRjF8&Mt`GI_1NUOncbK0a@&XC=)~ zOIO}e^Dm3?mZe2?ct<@-1b4;KVu8*{+m^He9nPuASA^%jv>_edQ_CeC1$tjSC+S>T zjL!$^%x{I~r)f8KXi!f{`X0*rP>uLb*wm>=4U()=Z|v})dbUN_LcsQs`snvaC9L<< zF&#cq4-)0kI{Cc%4@tOA{zN@3X$YjdpeFr<={B*urcUT^K`kc27QDx|N!=|7*F7CR zQ`yhxS!bFyHKW5NbvTjm{9GL;Yz%G9>Z@+HuhesbAeWjBm(|Et%tbsuaYgMf=|D!A zaYY?1sV3tW?=Es zb#i>KT7SiKn>+>r{iyaQ606^9Y9hQr4El)H8rRepiNv#a*VLDYu=J1GT~ix{jpa=n zIvi(Yov_!SquN7CTw|M0t!r%M_$y$)!u zq`RiS<~M>bk~Dkzn?Nfi;dcs0^0kuiJB1^8u^{Os}siUyod-sjgQ*a zc>*sdD)8{1F;+?Dm6F0|OaR(PB<^kB!Cxg3cfRi6=ZUb^>F^%qYa$(xMZJS}hj)xY zKLDxxE z@(fA%Y;QXMn17T>g_Je5PhD_qB>z zH^x<6|Y^6PWY(T_PPE0X3cH^VK39+(X(0zcrFc zqa42vl$ZE79!O)bgiYC>m$--*$XxI@UY77jB)tkFatYri34h}yo9~x|zwwgIk4VDb zjakZHk%Ye+vy{Ip34gg|8E=w=zudBnUy+1&SeJ1XeyqCB96nMK-h*GkZ#>gzj3yLdl2C_B~Er;!N*C;iaXnRCC7KPhr+=(dRO`yhIZ2Q7(T}QvA%ZN*>=X>6V!jfc8qlZ%VA<&k*4}I6+y(kGaUAuI5k} z{Nb-ByxVyV|A=g2ZL@~^!*8zQ5spuTuHj*VD3>+7r;99V0UtnwcOc*GT*wE>bX#YZ z8HM~tNmVo9$sC>}>3OiN@ck~^_nkNJR|T<2vwrJb%&$rsGP&9) z;iKWVc=7C%Im;v9VO}h0(yVlNn|%_zqXBK%M9oA6tYDURz#}}+A#9~!E9Lc)9-rk1 zDCPd}&Ie4ldsYC@4u7Nq)-X9FU?V>v>DSIt0h{=nlG+9I4%o~;mQ+1!KtLJ4Oq9oJ zXAKM3!XN7>@;p21tnZ`zAW;cBJL}ef$9O;|Vfz^B@;J|w^d(W1q*kI9N$qE+20YI3 z*Uhn>5wqt8RPY}qJw2(~*v1|3yW&{uk+Z{zvO6UgTG$Z8F%7@~jY1>&0`@m0I2^X${fnP+{9V=c=QY=Sq5VPOk4UzB^pl z4$k>L;5h$AQth1Qd`@uq!avpQtvRg$b=*Rf$C~D-U0&iNB>gZaMLEd}C3$3~0|iEi zJRO-{T~6|ch)P)hO#dz~^D0TVW=3{-g||wYoH?Y+8J-p?%A1@yuFF|oCh6A9d%L{F z>m@A&dYczT3D5k@IbGi6yoaDtp!fJFqCB<(>hb|ElC~q6SzSKhKTCQeGq+0vPly)v zd_Qx2mydX%q-LOx`Bh0fGBYkpbSU_=fxf6ae# z(djOidAnY;M;_bej#a+nzLE~iod6U-Bv!aBd>|2ireRTA+-C2$yZpfKlIdQb+Xys8 z(uZ>|0?iZz=`MEpkuQ<9V~)lySNTdwo$tE{R4A#(ePzZqUMy+&ebqo)B;mFFPkfuC z6tMlopOSPhr2CmaE$M!+{mfqw1f{1dt^5;d`|7@{U0V4Ul76`FSD^1C{dOPxrVRgC zl5HORrVQt?qLo7Cja7c-W=VbLO#td3>Bf2Rn=-tMq_L3hHy$pCN@rTEv>kJ_>&mnN zk~-gK0~+S$2|qsL@@(v4((ZP7UIa>)ge{?Hb0lF)C|Z^vDo@o4+&oongPW(SZFckI z+HRtgG_tsMfJj`uaP5@KbFsm-3xYhpnYYYW*S?h0IxiQfMUvd1(VAt(-qrX{RMhdT{;( zpwW^Zn;+BFtc{nncYa@>y9Gfj_3i4dWfE;-XBLd=>Z7gfgY_(7A1p}jYSaEM>AjT6 zU46C1lKc-mHQb?r8~mO0{(M21;jh(^t$>~|^>^B|gT3c;ZKIY2=}JfKE%Fq<&D2r* zfaszJ=F(C7NDvdAjlc7}^gGYXL%xUyJGp9YU6|c9Kzqt9U03aCqLc7F?>Sw&Y7InU#o0}3aqeEW{cO(x!K~i zgh6fXIY=8pB-(S3_K2G;K`VE&C1}67*#>JK38J1@m%-XxN!Ep5bRD9tCK9zy)Qa3Z z6SZ&MY{RrxH`_2RVsKl{hHJ4zqGrRjR5#m=T85kLM(w;L>q4d52<=BV&zm$hq^+Je zX(^Jd3#+=`tj!}5^&G8byLpb*x(;ot%NQ+!NYrJF);Y1wc8eBDBy6{6Yu#)~TCtlg zNeds=mhM(9mPn+#RjYEdjn%5%Y-2TLxY!4*^=+Czk*M`}El}F9AI59tZnoRCN;li> z+7&n31g+K0HbJ}P#p=v+w7lro zZqv0?NhLrtv{Fgi7wLgBwR%axiNk70oEYvPZQWnRn3$>(QjUCGj#Bz0RnG%!mWaJ#Ve zgmjCwVo3==OSIFH#sFn&(G!Gc3eZw5O;Y;e(Sggf7D<^v%eA;<;h7DTqs^4G7SgTI z$|XI#xJbQU8+V8BEC*Vt)k%5^C|3);Q`imz+OZpMYTdUPc(w58$EY$KR3QyaTd4cP+YDvLM;?)NBf9;=p2U91;BX;*zq!hqZC{pbhCZ?^3OSD348AvMq3D|Td-tT z;3lnH(z+%412=1LN_uR`vw>xrI!So$UveUFixwy8*pfE`AJb+@s$cS6V7azM(w9pv z25!}kO8RZdw}DS+rzCaAz6xZTjCmHY=xn8Zg=Ud-V>S!grgfDxDcc;hU5h2kV+*r= zgPzoKBo$@{1yyR5k{->D3fiI7O4^s*Cupa3Rnm#<_@G@{&J?i^=dyfP4imvsA4~5G+OM4^f^WzyT@-XctD1_r zTr^o1t_V7)wGxRL^J$IWOM46Jo-+YYYj#0w<?ikFU7ssb?DeG+l;^aw8NzmcX=zZ6<}sa0VAqyD7Iav^4QBP@Evjjyh_t#(1Dka^#e1h_t7CKwhdd~7gL8rAO zq7t@Y`Kh2YS|L#$t6cti(Cb=_q&ds$gWk}ZB%NB`81$wVF-Mf}#q!UB-qH$*3YaP9 z>!5n=oTN@bZ)+Zz=n3C=$oW3#9c>#?9vhc4L3vj@NL0Yma~gckX)*VSJhO5xc6m?h zFDXCA*7bdD7!j_TTZ2B3E8{wCV-9?BuFVuSR*|Czf2ifkbWirygFn(v6K!J8M6VMI8m$b_H zBF_ssgM&ZU&Pw_!XLRrv+RO#Q_CwCN;4ig0N#+%I1~+T(NeWvrDflbxvZVMGql3TJ zvKNYUBZ0orLjNXc{EGD8%UZ6aG_YOK>Ltws`c`Y7B|O!MW3=zI<5bT)Hs!#OQ7xLC zY+{do&?1P$9{s3wB@&)LYNG^sG>@_PT+_x$TD77NP%07Ta*xMP+TUe5eD>gH?S!O< zR%8daYUd<9v0|D2i)LShHOpg9tf=Ymi;8ui6|*&#oA${Hi@7=@{AeN_um} zir`MS3fQ+RW_hZ5r6lkBHwLSEtMqi- zpRREIi6xk>fc3q9YcSVqB#pVhK;^newy>q#zu1%O6-0Rq*C<>+=OoBQ(?>29p1Jq$ z3D)#9NgMA^0b9AG9rss*t$dlN=QH;o1!^KHU~k-iCRo>RTP|#u?yu1eJy#N2S)+UC zvg?JCURfCt(m{{S6?J)cWxo)A{U8xM=>(;B)PwSbt##$_kdAt+By+AUq?4XX zl*hUPb=DV1>YWR}!>U(E&--qgX%EmnR*9P3chi`Vu6mrLF}Y(xy6H`lQgg?J1nSAF zMR^NzQ$m9DG9p;5foG8ZsiZBr_l5-Pm!;=kXu%NOo-fkv%AFMws^=2HcTk}&VfuTL zUdvq^5~jCG&-fMhhjiCV*NB>ZoLdwUp?@psb4VAZ2Nnq1Pf&W4o4x?Xxd5qt&>wphJM+P;N-h}G@u zgy*~!`$Br_r-|~|(!3W!`sjh{MV_l6U7VgPsWdMrBu+0TDq!}&^TGY}T1jauPKDf{ zXFnj)Rpz}N(qH!|5_AZ18K}>cbP{qIsAo%hKks}oLJx)@uRp&!))JGA)cXL<8 zt0VMMNr|h1LPqKpu5>}6H|ep(qSljE^$NXNUrtoQX0I9_nxt=*Hhgo+t$LlLtW|e~ z-l}Jnh;-vuWQ5+PpOv(7RYvG|J>X$s+qmk!&cgRv^rTH9UEJz)WwO3q()iVjLniBWL6Syf zd-abcJp}3Q)qf)@pij#(bZeO?ef#PG0n_wxlJGOI>3XfCzb$<~bcSBBMR*=q{YmId z{WMV?I}S8U=Z^~8>#IKxovp_b<*`qI=IApeeY5&LQ30!tx+840UM9)BA~h^u@3CE!{v?#QMvs$pbj{a61$q@x9&21PJ8Z3< z@TBnkdCkJGb$VQ-DB;traUtvU3Q67tE5g?6?RKE8ghdpL(H_vt3gEX5^o5e{EeKa0(sLy(Ehr0nNN*-8 zVGkB;4=d3FcZynXE7%kEh(41jkNueU_0>-a`mEq+SeafV>6e0&VO#X~i1Jw2+WN4^^sCZ#)7lTh%JqP~ zqP&@FFNZy$=Mt5$b!&O}HoZdHo>}V%->!R93D5T+mnZdPNiA!;hF9v9lI(>?!*=MU z`-Err!so(v>c#s74JaI|?9zWDDqv%Bk^Bz`+dYL{!*}VUh+y;-hKBFf^Ce}idBTvyoGWw(A!QdwcUuDf-9NZ584j#MBW5zJtPDL`8Vd7L16MiBJh55c?j6Vlda zUBB?B^w%T}UpEM-UefLBhKKLf8zjwGcQeqZl5*CqF<0qdNqTVIDbFhX2T5Dk-5S16 z|5eg+>m~phPh&j`JkG95QTFQ=Nsa4{1NjSrnx!iT^dJ`v3O}I7O3%UT=Z7EE2S~bU z{bHbDl5ShSBK(j(TGBo1R|DNHX~z1f4o~ZMOUhoqKKyAtT@vo!Gx{8-C+y!ddX^xn zOSQg{2*$+vlJIK%p!CFjuhwfM;l5Yv$0Sv*-xvOO{S`?su73vTpOW5LpQ1dgzc1;t z^~ZrONV>ZI`S9oTFD3ara1^LT5Y?qdZzU3MZm7}uGuWONJ@J{78r_>nyvyLQZk0BC zSLR{eUlM+Y@vt65BtE@*ULQz=$Mk6Bd3_X-c*^7jeVnj)JorG0@`65D686Ij`gBRy z4=?ERBw;@s(U(ZVemJ7%O2U44Q7@E){qUk*BB{dP*8Ly)7D)&E{eZShDtln0a#VlH zX?x&mm!taAl4>6K73c*b@hfAs`YY0Q3~F7gze@z)Y=d_^)avg`Tl-tPcCXc&WV*8t zgaUb0i}8tLqE@#{!kMpDkC*f*<(Vbvw+FTc*Xs3>97R~3`R^i^o<)1WmL=&%vNcLd zE~*Aw;@fYlJ8MVsfn>NhJFHn4avSUctxoXN4!LD2nQST(5IcukI)GCP{~i`gMOvZ*kG! z?l0?u4`T^=@GBNG?XT(!hzc04;7{xOB;k4bwB95Mf0zHX-sO3!8T?BBQjarwB2fu@ zspxO~4Lyx0kDcqh(BrKB4AE+Me(9#}Z|cWfbX)g->TkH{uI_K?9}<cK<>tmo*N-QUv(xM+U&_x0f}TGqWmPa?_# z&;0Hm=~*t@hVG5}Iu~v3eqMjXMccby&>wfD+t>Y5{U0t{P500AdKcApzodWUqF1|r zppA+P?qBP%F8Z|lH+sB_zV3cSA3=om{IUCY`h1s-MSQOpyT~)* z2mMhO*(0v%m9BK%B7V}(x@=Jqt@>pb^^W*O|H(!15x?pDMKKC`j=nL%WW*BT9l@js z)wtP3?}u_@KGACUcEarunsG#?v!|phhT-uK%w-evd~kY%VMM!VeuSrSnW%u(!Tp|g zMz5oyCF*jPMYJ=Li16-DUWD1W+eL*D-o{K96-W3Ol|&`X@!%NEYE-*yk4D&xCTUB2 za7To%(XLjMfWO-9XLNMYDNlbR!bPupb~G|v^p0m|V>ZnN@OH2RSI2fSI34dL%=_Sk z+qxNW^tB-I{#cziEo2(>PJQh)H$_})gbsHcZ%gT<$>u~m}i zhHoSK8dZYe9MA`Be|OQ4u;ZIZmZ<8xC zMj1zl#NLiF4xK>H686r9gve3GJ4EoU+G!&r#~3Xx8XI|w5nV?u2)2~STa6SKO^dwE zD0b2O$nnO@F3O3VV6?cXAo30)>?LO|#gTUzce?1&$P{C#iz*}UG0I)EKXQ^$>!O;- zDaHjC9gm!9bUf+I^YzGd<0cn<5IN1b-$kEA&M;~ueYfGa$XUjRL?!Ik4PH^1MvEk$ zhkT>v8KYhn?b7X`fT#t=fK!5^9*T&{GBSxavG|9S4%x<4q5?Lx_{ONEhW{(*iF8ZU zawFPB$x-(kiIQd(Pmanpk|ixDo)ML2JS=Hd@%*S&#%@XLfL0stODZj15|wXUCdy-5 z!M4V*yo%-Jv0cU4!39PFQ2{G0w)m_y76^h-kglvX3IxF~o2-snYiy8oz<(XkW=V^C zk5mecCnT+bnW)g%Eoor;;;41TK}prcn}7~WI$E5ftT$ek^m_4epaw}Fg6#q0OG)2? z4Zf@M8nu##QIet*8CFRhOO6ADOX>l(2aSG`62bPMaf_roz_!7-Tha`$Z7}9bS_-y@ zjFple0^38zMoBxsR%}#BdLC@W#;cOv09%Q1UeX1yl^DNC`Vnjo8;;YW*4_^v2a1yv z@^Fgsh;fUgc(6TU%#t)7Y^6r7q?uqVHMUAx3AT;K0ZFA`+i1KjX%E;o8RsM&1=}X$ zvZS}cw%IVwh`L+_+h!w7Qs+lflrkeh($Gha1KlkMM#1AzTZ|>rR^eYARc@@5bin_4 zph8I-N(_xj z-*MP(be4qQaoBEz5{Yj^JZW?%!mE&DQBNAlL~!pH?(FR}4hTw`kuP-p$@?gi31M z7_U|t36k)R^*$q2(x;0iDEo~pNqCR!fKe*x+l`|G4;odH@E+MAQc+MCh>84Hb>S1G&q{*8qdpvI}mb7Bi z55Y%_HIlY~=Rb_Cl4>^X>v7b0PSP8j4)-`_oRo9{JWm)OOZsWk@g8-?*OI(9zuM!Z zVZ1Hs8L~NEJ!J$+8o2p*k5`Odl172&YsM%^cZ25{W2&Ug&2RU3-B={4aPw;0S!11~ z%FQ45c++@X($US^0^c$YNqT?t=RN9;mn2==yese><2_0KWi374HNKV9zwB_2_YBiJ zqMj4VSo8-*CrJy-jOYfVucSio{KyzC>9MjRwb8go(xEb2$a!P7q?ds{F>;7X*hgi) z(HD&K!bY?AMdNd#i}b$hi^dO<@Ow5F4gN0H1-=yq$Jl3vO%i_3<};(4B>bMuB_moA ze$VET5ibe9XY;vnvn2eU&F4n4B>bMu=f-qN_&uA?jir+Cdp2Jf1w`WezF!y*O2Rt? zUl^s5@Ow628jnfB@7a85Y?p-JvuQRCNW$;gG#kf=#P1+L$VA9-oBX9R0PC-(L-n2E(d%9z5U2mfn05#mj3LSUQqU&Ft*F7Jl^*XtX$|2STFX8L0O z!lx~)vb7M;Ssti~{m1bdyNPP(UgBc6I{Z->%Tn05>(aXC^H;*HoiLwCe>opf?w$Vl z8#JQySz9rOFlza~QsVVKBF}WHLt9v7_x*gL-Wp4^=9{8xg^J$CW zzw`X}XXt5SKamO_p`vX?eMBFb zpk+)9Rbe8=i(-UcZ*@O%SI%uqb$!mFlp?61Ds%oK7|X(%ILrF$VLQ}HWu2*R?sfRD zhQ%ITpGwqL)KDC2sLmd|KBgPhunfN9R!YTK#Ve zyPuuK%>S=3oZUoiE{<+-zWaX_zP|NtqcM{TsWmR{ ztnd`pfAx2I&fbHm{`|Zz=BxkS==$%anooPTi1xHCtTO!Fc@z8B7|vGyNxa7L|5K~Z z*8N2vgKYp$5B3PCCo7{=kAo`g2?}rf%Q4sYzL>%A_w)aMJMOOEm;ZT;XbrJO6{|`d zht9G3Uk(3JecDPf(Yi&fJXN_GX|t+K97pakc%8!Ku_LUa6fu{I@H1|`nK%UNk1Gdp zO<`gfV`5LbtrpzFe^lrH{qgRzF3v^Ht0yrpiTQTf3f%X$u*!~6TZtGE7QNgS@9zKS zVPSRZvo~W|Z`g3vdWK4A1XY-*1BOjZl!Yh9wVf8$nXk(;mXlYdLZv_eIU(ErJJh^G~%d;adZiS>!FV&5q& zi&o6rUtw?2I!c6t$r?e5*XbtK3&IK${(UK4#E9@viWx;Jt^!0__Z&n%BF4Rj z;#d>wmca|1ZR_moGV1r`-LMyaqCFMIuZSN{B?=WQE3w8CRrVrV-DAQiWpHk?uE*5e>t1ss+DtGiLoashpk@p-&Z=N?66walPjaJ=#2%QRz8U+kaPB zj0CYq?xW(r7Zzt;F+#+7=lXMT8H^%lE4i2QNAd1He-wUy4EByFSA@s9oe|u_A_w7l zKec3A*x5UORLUR4i@tL|qTP?vs2i|us0zz>m54D4#1~PFxH~7VNAP;eIU9)C!~I(0 zuY_@rOiaw!?sa|y%7RrZl_=sxzl(9chvKn@;{Ks3XCx7W*J#cdarNY$GoHucJ_F@& zg!E-n_p5brPf~c|6}tMnD|EcpR-COtZS@xA@II+HuElCxgg>EpF}L7Z$;7-0E|hfY)nk+aZHiotq{ z+M1XsF^cLIOIC5@iV-gI|D*9QeE!J#NAcHR>GYnT3LDcgxBvMar)z)Jm)hL_Nj2UEDcw z5C4@C-H)T+XjSi?DtacivnWx7m$|i!2)p}VAD%@yh@)84P>k5Nv$=^4>4T++@gVNE zi#b84h#5;h;@pQ}=Vx;`7s1LFRAmoS-L{g7*;Sk!cEUWSGI19B4fau?u*xu=%hGWU zSLn)1T-PWp0!l$2teZ$Bt~mblu*$Gjob98uB9+){F$;;XP?4Lcn}`udx@Zld^6G(wnQ-oD^0>YfVPCow{Zz6w%jzr-pT3(@4zYm|IJTW&D`_wJmB66m? z&G&+un22dph5Z6PD)WTZqlt+gnNB_EpcuUKU}BrDLA zz1NC*=wSe=UkBAwu6|c&D$^Tz{6ejxDJzm`NX`2I` zpWvX+@BQ7c)I@FF^KlQ0Re`$-tNV=P9u~7r8tj+CFs#ZuC!$1=7C)~yF^o~zLbn!J zN@4s=S)tENRXMu~Pmy*d<&2-kI@?O*EL7YpXjA82<2zAJ4E6dL6W!G`G56UU)2_N^FM3js13KO63{(0CvZ4I@Ch!Hu9+}ssE$59x*C)Pxt=_u@<6n5WVyzA@S zcahJ&(HJA<((`1Uo`(5+PGNCQ7b@bn!WEfwP7`7Gc=xmzc3v~CeE`FvMA6RfD&mD+ z-@@X0UmU+}HF4HK#E6zbACr9kLEI-4XCn8j6%j^tjxLc(9PfCy&?KJ=5-~!>XMFDU z{2JOvVOOb@Cf|wS9WWA{&sT_ig#T~kBh>2&^n4mVQB~<2?Q9cqt`w<+;@w?^1&3gL z{x#kiBlga{Rv1>8Ka}Fk`D2*n6oz-woX3thQm}m#y5HjT6!Gr4wfh_T41s%V&Jx|N zzf#UqC}&Z_w!Ty3*|HSJy9kS8b1Ah@IoE+A#(f-$QISZg@NSriwW-2JyK)x!i`ptI z*)3k|omlZ+->2^VD8labakq+g!?CBz8BciD(^&~~7SE44tzt%CxV5f*cT@Vs6{{y1kk?HeL?#_ula>lpar57>cZl3UWzhfq1gw_3Q=-xi=@yk|Vn~T}6&Bys!6~_EW zVUYu>)A~nY(Z8rp&p!(Pzb)N;Y>WHG^JpYsZz}TX2oVIaIEC**=_v@yASJ?d?>>uU%^+DWsv8SSa-1|t(RAPjP@HQIB?sw$e z!++(75cfaxsAa@mxB+xe44-mz-e3BoyJYTn#>A)-If$_;!lDlU-Z0+pa^AK3^ZR>v zZK%-Q1{I!Z#8e`t5cXGP<+Rrrudpt3#&`PTv5!7Z|J~$|S3O+b4HnnPcqiF;f4D8I z%Dd1aMw|^XY+`?|;;Q7Y^xD762iI2$tERmZGtytrSsa_sdgST6jVSuoS#-wXbI;6D=n zW8l9x3t{cye<1u1W?|qL4&{YIdEu-S{>`jAgu6qyJA@-y1z3a0BaTI}8z8PfP=E00 z4?g{Y6QJxNupI;cw?Lh4p{+kl1)o&dhg23}N`<(|EXyvSk}I@EPK)O7)rzXb|H^Wi@kQ(60nb{+ws zR*wbjXync6Ium~Lu>^FqvW0XT=^oNUpvRTN6h21!3hA4q?}4U7e-2u0Tmem2u912w z%eE;o9Tm*;8r!qYH^!zM+IEX>Q=TV1PFhELlJphQ)1+^MV%m-|d*FMtfuQeh3yTSY zm~R1}W-}fzXon z9f91_6uV$C*%F)Pv z9t$AVlQHip8+JY%vw-~&nW8LZ)~Iyl3X7TcLZ2&a<4$WCk|RH-Xl(V zI8VO$TyKw5Wn|pny)q~!lQfGo2Q*&I zr*IL4ODSAV;Y#YkDvGJ5m?IQZM=_@?f-vka?F(wP5l4NL zAofn|myE&j-%Pb_rrNepxJ8D?#2xc$rI=QVX;nnbZEw0hCVw%yi$|K&>6aitIX$0v+iof5E*2NT_)&WyJPBG7uu6hdRjgu69=qXFQ z4UX#$kk6A4KZ0g^PgCtvANI{O;nCq~dJpo+S8-$pnXo=VrmIhlh)L3y;`ipnzp323cQw=j z_hptkaN2s%VVyqgYct)qw={mKdamDxeMeADW~nh`&DmQE{vA3s#OG0qm8v*bmr}W< zREJV3F(0heMn1$G_PU}T*}GG@qQ18G$w61t`n?B1KipeS`u?B>n)9!zm-k*7R1H^8 zfxMD(uB5%Lq#R7#qbfeZ#6R4dm{0}Q@A_7ewTi5x6|+NRR6*{t4q$J<5=#k5ilTUDH4TGd%qaJJ$&l1s^oT5SxY zk!j|bo1HWWVqnE$!f*KonZ|{ThTdFMm1=Y}t*x3jq$7-$Y|tf9tA==*V&IH`?N&Af z>$zh{0OYVvxACZb`p_#-pU|PW4ylF}2+r^&5I*Hu0`D{l@j;CtJ@0|xJ`{#GutB&# zg;OaUJ+y?y?^|O&#*+8N4UOdY?n?k&*nT+Z;(eos_U0@1b@Lf!I=&B&rsgqzK3k}i zEtF~t8#l}X$JeSA2|fd9@3yc(!`gvQ*I~bSkA^mUYv>l%dzc0>cnoe~_Y5mDwy^ob z{K&s!Oem!a5_?$upC83OWJrWW_osQJr65?}seYv&fo7BRq@og^w6n^ah)2@OGMyhG#)N)0KSq zM6$O>K81_Or-=NED5jKRayZW0@HR!5w{tkokU1RZ?HrCXa}LK@x0F(qQmS%Fl~1Yi zDOEnDDkqF6xg!N-0$p`BaflHThJF znsD6fO7gEH|4LC4jz|3wdN0or@~oq99feO*_%wy9D2Hmwp_+2279~;+_2gMko=3>D zjy&tgvyMEEkY@vVHjrl%)v$@`+(a?W6my!=o~E>?DQz?PG?PyY`P7q7J^9p=PYe09 zkWT~Ep^1E&$ft>X8mJDfREJhkB6+ruXA60@h}@|Co5`QU@9;0|%4vQun{b@8l7B1t zw~~J=`L|MkwNihzay?J*uHjhX z8s@+?%zu~S)gDl3%yL&-my z`~%28fcyhQp5z}*p3&qPN1mbN8A_g^>Y+jXn4M8qBl;B&~SB;L@@#2^OjdM`6N-i9bztcg;Go^oxu|{oT(Bt zoB^UqLt&13$*YKRizaIhl>R*&r&N{+=jRb7T+4-0{&AFB0HiwXRZTv1;Qx}>5sv=( z6fURuBFd+d!YvSf%d44ulEfLAJgdlhgyyb#ifN&kN{Ts6G0hayMBxU?p_0Po6!tXr zJMh9y$+UO*q}61tB5NG&V;t>Q99<)DKI}k056*GTX5teL#3wY-TDOVPHdDBn!kKio z&7|56GflnYyDr1v9A_Gp3hl5?FTxgpzCg{OUQU8AoYAPSGpMhVpxhG>gYAPWz38Et z)GyI=F2J?=Y>!Mzl|`CEwJjn|1?yq2Qp&lM@+{KuTA+wLOF<8N714fWLeAAjImP2T zf3`;@gxBd=v^vV7+_EU`dG$cX)-hR>3fKR$J*vpFlFljBlmlJ`%=S1!@kc1Wj&e9n zH91W+Nu`|YD9?Htd+_cD7>9Kt2hhV_bsC<1@ET;cM+4>7q;(29?A1)UHB;Ia%Cm*? zY@rrwrW{&8Ujk1Yt0QRdS}6yv)3{N9p@Iij&n;g<)2J@6hNs0$UlH`4xm&4lq#P*^T{)lO3b7Zn<>7T;;SJ( zT|uojs>#Y>G@dY;$ft>XLUp`S#x?3_1y@<4m5!!!2SzH_*Tqq%BzRQ_AaM#D?zJ`D$v7TmDIMC)T&j~3suw$nHsLuvq;NHi%0`> zj5m{V(rSvYBW)(lq!E=#<1LfMRXN3!Q%pI4yyu?TLk z-RvdJU{&lC=t1@xXf=Bsw1&M2dW6-3*0Og&;f?p8r`U&}r&%NDS#|-mo?Qez$36#b zV9lV7>>JP~_ATfo_C07by9yesU@39%b{2yTP_UE)1@li-O1%s=0^V_Auu)2*=E=q> z1Le@DV11e>&r6hBGv#)f;#(A~+f}8YoxxfaES;%X zL$0oa7!MU|XjY3LY*iluwX0aVzl!@6pgs&SfhyKNRK-0iQnAj(D%QDF#g-{kvF7C} zwoHYJHK|mwC3ma1FIDO$Gqk6=1+-c%2dz<`06n5^2d!0ifYzzI%^u9kw|RLmJ1>V+ z$sBW@$g!1DIhL5lvBV6DpUJVrOw#$}lf|*l*&N$HhhuGXIo3a)!Um}oDIiS@#8oEP@m059yd1TXBhL@(^M5nkA9qr9-!lDx3j z#(80{C3|77P4o%`P4&91y$4J4N(RmFYJoPK>6HTEOs~nH^S#nRv%F@4W_!(T4`ay- z$8)|H_Clc-j>aM{9F4_ZI7&;sa5R>A;rK82!tr0>g`=_33rFB?FC2kYUN|xjdg0Mm zP5IPN_=p$wX{{IbX`R;+DC-oQ|6o?}!V!Dc3wycVYZ=6!^ZFiUgBEB3XhW~B+Cv+9 zeGAIk{Rqn2wSs!IGx>Tlb2}Z>+O8d_y`2@*zg-8=fOefg1KV{24Q&?+8qqEiG`d|+ z(Aai;LF3vD03Fb7Fla)%;h>4_ZU!CEE(vs0yYZk&?d}A%n>W}YXY(VV0p>E$K(n{4 z9Sb#AKsW-z8k=vB^J36Kb2ey^c^PQ2IR~`Vd_QQJ zITy6tyb83!oDW)QE&$zaE(EPIuLnJ7E&{DKZvd?^7lR%#KMY!HE(NVKZvs7KE(1Mn zeiZbqxg50KycP7ExdODoydAXBTnXA_-U)iiyc@LH{1oVAa}{Wdc|Yh?^Fh#7^V6Wr zyBd^xKidJutv8KZZyLAWI5PdcabyN~ZMJ zdgGWc@;(DKFZRZfU+Rq`zsws)ez`Y}{7Nc!HxBLanZPH-NT!`&OyP+XPW8dQ$e@^+6q89Y^L?;)vV5?2vVE|3 za(u9Na(%FO@_n#(3VpB*i+r#Ri+!*S%P606%I64$Ybjhud7h#?Pg9;}DbIS!^Bm>b zKzTM&o=ueJCCane2m9r+5B5uo5BAGdAMBS_AM6)q!G7Tu>=zFU_KVqq?PIlI``9hm zKK>SLp8yNCPoM?cC)9%N6Jf#jiMC+-#9F@hgYjnh33PzvH_!yjHSkZgaDSLBEuNsG zEIyz~7GKbD7JtxWOBc|ImSE6S%OiG}EiK(4oMDLuooVR}nrXQKbiQQ}XqF`rG}|%~ zG{-UqG}m$)Xuc&Gw9t|QT4b3FT5L%NEw#)9Ewju8Ew?NLt*|Tst+eET?zZHCR#^%_ z4_Y1ot+o_{)>t-z9Z&o02*Np0*$tYgT`8WfW}#4K?hj-fhJhvK@+V*K}T3efR3_` z22HY#1s!Ld0Ge!_2s+U^2{hGuFKC)|255#g6Lh9^0cfUmG3b2ja?mVmE@-xO4QP&a zJ!r1=A<%qlDQKZ}3uuvbD`>IxNzhX3ZqPF8KG1UO)1VdB=Rhm1M?iO5kAYTMPl6t_ zz6M%tJquc6eH-+M^;Z}_wbu6`Txb0l^pv#;^tAPJ(6iRBLF=vGfu6Ho1#PhY0@`R* zIzjte4bV$gGibBb271}*0Bx~$2EA$x1Z}m3fihbZD7W#@eQX#@Xh84zSG!O|UHjO|&fo9bsDuI?9$0 znq*rCI?lEMG}-nD=tNr?XsYdT&@|h2&&`jGQ(D}A!L9=WxfM(ljL33;` zf#%v?1j_$K>kE3$HUPB2HW;+gHXO9c zb~ETDTM}rqZ9M2@+nt~-wtGOY+R{KM_;Q{S&)=i}N5fnd);*%&onc^o>d@99f zP4}%1~JfszF5jAUo0ib_bRNG=lkM1Ez1|zY1zKG zPRsGd6^;on6*JH5`T#v;$a6LA_f$OmZ2d>8w9k?DF;lTCSC?9!quLdMwR>>#+<6uE%CNa6Ojk!1dUC2d>Am9Jn6KcHnv}$AK%cTnDbi z@*TJmD|F!MtH^c^?3hDrT;=r*{>%cy( zb6}sIa$ujHc3_{Lbzq;?JFrjBIj~O~9N4Fg4(!t=2lnYD2cDyw9e9qu>^Orp@uQmf zVM~_#VM|u{VM|u}VN34z!v{hb>v-hb?);4_mU<4_mU%4_oq-AGYLa zKWxdfe%O-re%O-d{IDe({IDe({jepQ{IDf2`C&^o`(aC7_6v=MHL4%B=T$#!&sM*1 zh++QNs@xx2)x#fGxn_TCTdO~|t=%8n*54mjxdHwW;2-E81sduf4I1I!6ExaC7Btqs z4``e}+%{$d{BHnF@E-u0=pPR{!apGzW=sD;{yiCE-?8Ep-0o$gCgAoNR!rM3S@cBY z7bLecm3txo%(jsKYwTs|cj``ze~X=wJpB%2)wG@bPOu7!zrcQ!cAlKBz$Fmmmj~N> z;9kjU*gm3`!>4kBgXDIY+};S=$Fxm-r%KL~+ih}tOm5H1tqGcv@`Wwt`=oQL%W~in z4DBJXCA-|7klP!*M0~p3hO`r`ddu`avYv7~Om3&jZJyk2liOo*dtPo$7MWgdhsmwU zD&lM5*>tSmiT1L79mKX4o}*Cw+&0SXdDvq8SZ9&m1Y6`l$w876B@dIFCV8sl3dyx{+bFjzK<<~^CdzHD z+*ZhKqujDC(qC>9R z79KYxKUHo6T#!39eluwvBSTtyJ(axgEAy+U0iY zHo-yr#det7PL|B+?o!^^m02)Zl}s^?z6&PA-Csi1P2}y+eEodJ1IC< zZY$)r_H_|o+bq+4CDXxk&o~a!{hyTDfhMTjmh)fpVKDw`p>lE4LMLTPwGX zPJ6gWZ(_NOvG1X@K-m5O+h1WO`;mFa#K(+_xi@Bd%->?x#%zvxJm$HWvoRmUw8kX# z9MN-3&)a&Y_gvDmsOMunpXyoDb9rn*?E2V$#J(K+eeAVZYwzUVkM^$YeYE#Gz0G}k z^-1otq)%?2hx+X7)6nO$K0o)d^zG0$s&87~`}z)4R`=c8x3=#~eFM2Iu6tZw+|O~7 z`W@>RcEiIrT)V-m|MdQO{nz$?u>Y?9HU0n5zpnq;{xt)>AMm$<4-eckuv>g+d`kSZ z_^kNH;;Z9N#(xrjDgL{7>!7;_WeqAC^yr|igPt1n+@Kc+9Ut_{pvFO$2DJ_{B^U`l z366w_gmDRXCZr`~CM-_KPk1ol;e@h;oe4DwbqQw@-b!dlXi4xN95py`@XdoK4W2#t zv%y~uzB0IV@c&`%&ExB?tNj1>{Um7<5o$q}itHep-S<-3W@*y2NmG)v1rft-a+6+q zb8oo!rfo#UWfT!{7u*n$aY0;AL`7v76lBm*#xKLTASxo`C?bRCpo7ZydCqyiKcCON zNs;g4_s_3=S~ zm)2jh{+buQZvAEJ-?sie>p!smW9vV&{wwQmTYu;JZ?C_1{R8WNvHsEZe^~$5^^F@2 z-f-fEjtzYq&fPG)VRFM~Hr%q|>l^Og@VyPc+3=?ghqUGoKe_eH*2S&sTX(d+y!DdS z*S5Z~_2;dRxBgG-oVL^27PM_`yQpol?UJ@Pw7sM4>b7e-uJ8C<$3J!aTgMX}hi_c5 zamU7yjr%rUw(;E?KeF-Wjo;n)^NqjX__vKO=zMYKX`Kr?*L3!Gj&$ztd`;)&o$u)U zXy+$8Ki7F@=eIk5(D|R8Pj)`t8Fe*xy`bxat~0upcdhN}?b_XSP1g-w|J-#?*L__- z>-uHaqg_vR9kl8AO{Z^KvT4<(U7If6^oC9E*mUitk8Qef(-$^l_Z^BtRiviZ@?nJvd`IdjXoTVA#0^;>S*^1UsOZuy@r$Ml@pb8gQYdOp;1 zW6zg*ZtMA%o`3K8NzWrazv+3Z=WjhNy>oll^zQE6*Zbz)5B7ek_qN`D>wT#AiQXf& z9=~h-LKG=8Sw*0oQZp)nW<8v1D zujudS-`2mQztF$G|I+?<_utrmd;ie`^9R-r97msU?&l{IxKWeg_DsZ$g6DD8e-5_^ z4&|NIGkIloDV*i*AWr!|-<`$Hg0neS--e40ZWHWqbKM2FEO3ipAGZgl+>!LTqulG= zJogXoMecIN>YN`Y1bB*SmGm zKf3kN$6R~#an}`ng1xIxy3NrIZcFrO*Aw032BOcq?a>$9j_4ML%~h ziym@A(J$O^^spO?e(5fX9&vAs{?lC+{nlL>J?5^B{@dLcJ?Xv@IX7?4Qt%yzj)Cu0 z{P3ZBV*aNOoq)dO&?@+KrSDNZ<1pbH$86Uhb_JY;v#yHy_cmPzojXj>!hhA_63d$o zPr`iH;bQv*#eY9s{94Es+I_SC1m}<=#J#1;Qh20tPElN_xJI!}al7J};wu%eRJ=;@ zlZvf#{zjNhEt1o8+AK!Pk;P^CHTRZsi!ohd#23{5trjEB?pvl3H`~3$=YrvFU_Mabv#Bz43&o`;dWdaHqKto z#<9h2IC`@5k!2^o8va%DUJn*emXutg_%6lkPJT1|8x<`C%h6X)z7qbwDBt?^8&5<1 z;;uOD81NmZNjP^Y{zmbT(@%o`($mGwIj4*5rKd}29CgMO{l@EV->jT#mhOg5`@L^=1djDA`L#ONO^~%3m@jAs@6#rTA9!0CopD6u^;$wLI6mL-cisCmF|BvDWioaC+t>PaPpHZ~Bo^`gQ&}!ex z`Ko!{ltXD&A85I=5-^Un7Mq*WW6t!^H-!EscUTTg&zR|Uo{smz&60+k;vU7a;%gOcZvES_;^sq}rB9h$VRSkT z_iaw(ACpXMK6-YSCdrt~tLD9fH1Fz>I^EMFveU&q67Oq!WYkTkKP|~v8mzTgX_%yB zVVZ37Rt@LM=tBtYupD(iLBXgvFe{#OyLyEsv{GH+-6#uOFjN+`9 zi_7OL9;P@?@p#2k6&ENjSA1xvxIbHI%h#VZzg@YLdE07>;uXiqoO^rAX>eZDvH*NZ z%QA3r%NnpRw*ky5+W7qHQOV1_O+P%+xv!r5Q}A`8zXabh`Ww)sg=J$BueA+p6*j;B zUSqd0|A{e?Ifs43m&GJ9@}kHw-%M2VbikWvrDk) zUSN`>^$}YaSgx%E%;n2>OPSbQX`}RMd1-q~6xS(sDt@WuamvKX%F6TRol@r3Q*Iki z%J#DdJ%(npsYUPuMG4L7_cKcWZD$jD%JWL%cdR77DoQuC90lKenR`Qv>uVFz&hJ$G zj^Ym#f2sKRgoN|wi8X}qXW8I(Hr^U-xU1()r!cBCpYams)}AQkf9oMHgZ}T!F9b7h z$$^KwfTGs$9@$zUvKjA<@+9;x-X>DMw_*c#QaJepm5lioaKEdXKm{ zLh&@kF2$?neTVShwO3@q-@QlhX~p!aFrCx%N-(_!{Qur}tTwIJTyfeqcCA)sBD6KD zzziCl2J}45s_{7peNTjbM^Ijn;G1yRXVCBnz5uOHgr-MuE;bRGo;l!Qm?GXiI1HSJ z=7(3a(fdU1XiR)(f?r;2;eX_gb;p6nq4|l>0G&jbC!+a@FrNZ_GTI;B5&|>mf=-7% zMe$VhPP|3SyA2WMh2R;y-w?rF3ceI=6yE?7O_5uGR*F|P&`V`_mEkPt#ptIZx5TXn zm%3JPnQI4^yN%!q*9ES0-QX%-m*CZG*9)$3ec)N{9B{200MB;Y!FIP3>~QB1{zfoz zo$h?-E--SN(0%a&ni~Q)yDYfH4TC){2llx!Ty6s+!p(yNZVx!<#=-5bgzXM6B94op zU*;;%=P91gOBE5XT&85BJRte3yMWFa}nvd9L|Kh0=lGlvAYtw?A{K)%Gc8)QX@F&-VJ9j7?Gy;g8SXo z;1sWC@QxL4W@JdyHPEk8e2u#n&ZUa4ch|vx9mvb+?t17qfV}tWJ_h|pFyr3rJ^_81 z;^poJ=(n)58j+6AVEYb`*CEjwX572Lh;)1&`aNJoYHkLva<_n2yD!6k9~hCcTcJP5 zPHe=x9)cfox52pvga7F60YB!x1Ag3n7yN{~ z7hj)L{FM7XoEsExWFI%;JpKLPXLvazB27O6zvv#o{Vj@Lb`Qe&63Apv+?E9x!sfnWfNML3&eWIrKJ=-jrDh-4D{IGOM8n zLHbnYEa)8|eJXP{^tp;J%dCfUp5pnLR`@Rm>0g<4a4548%x1da?@}Debi)}|%w@K~ z9|d`vIMWMV$n-()Q5?^l16|AvfThfKa3Zr4Hy4BSqs)0=C38Ml&0GM!Co=@TH5@U(Q?tekJp2@Yc+w;8!!R1HYDe1NimK8^PN$mx2G3xg5Mba|QU%nJd9N zGH(aJk$ETh&CI*OJ2USk-n+oaeJgV{^xa^DHvRq3_kfZ6cIJc7-vJ}{ubFG0zY9k0 zdzovY?*$_?@7FVGW4&&$o*I5 zR_I@Yk^4>NYtWB^k^61tHt5Gd-mA*o4*fV7v0HEl^b=s@exLa!^pjxZ{*bu~{A1>B z@P9J*!2eU`JJ3%l&W^qdrx~Q*MfXA<6n!81d5X`E?t?x!x*t3w`T@3cK>A?xBXDl? z0C;HhAb42xGw{UdA@HQ=VesVW5%84gSNM7f7`aoUUxTMbkHR?}q{l^%L7xfI@1n=S z`Oy>Lg6K(bVf06EQS=nJIQla#mw?Qk(bHgG^jA3BK>A(u4A>uKBEI(wGM7aS(Az=! zSJVXkGB9GdcQ*9PLB5L|wLrfDWEP7K0<+P<;I3#6I2_FdN20^PTy!`%8XbxIF)(tw zqj_LHIvUPJApI^n1}sF!f#cB$U@@T;QgL52 zAI^S|Su9!z{YsG6kfX)WuL2|Y>S!tSYrx1|8ZC!@Ey!FJt%QC($Xph!hW-bTxhy&h z`b{8nS#&n^o59Fk9<7Id3mCa8qE_g)f)Tqu?a*%nndzd9(C+}5>7p*^cY(}wydT3% z2QqF%TcEE3ndzcl==XulbWtDl2f)aEFggeNLtx~tiKr#_VUX`5M%$r30y5J@JE1=c zGSfxpLH{GjOc$LG{c(_SDY^jqlOS_kGz9%AFk*))3;k)3(J2~+{w&B#rcn<1CNOfJ zkH(n`KI2r@cFd!WArGCD=$&|gvfYE*)AtK!#qABfQ@s(^Pzleqa77`eNn zebD~`M(&}1>7t!0HA5wfcdMETRqj!UkMDGQE8(oc?$3Vt}=>5=-D?Sl@5YB%q z{yw?}`pM{8Z2tfQ`p6%T2+75>2> z5`M$ipyw#gZMY52p&;W-!|l*7R6L^L4mgJ^9@+3s_(v(esNpX7^AwM6xEub9LFW2~ zd!Ua6k^CFJ1AV;Wi4EU{bAsYY4fn!78D#8g_&)SYK*p|y`=Cz)k^CF(hdu*D@^AP7 zcyYszz;eR_V71{v@GT8L1K-y05cr;khjD*Z!z0k|RlK_4SJ3Zk_%-*Bqv4O>zc)Mu-rw+N@IM-!#@7!(T2aGap&w{?2KvW}KWRXO zazAZoXrL{D8Ta#sCg`6j{-R+v^urA;;4d2v0v~BO7&rf^_+Jfk;QR{AxZgC)h5ohT zqYa0_`7Ic^#~KcY{+;4~HyjD)am6PZ=E48H;vX80hX17EpBj#V{&T}|;Quz9fSad5 zUUqIc3H)orDd684PKECpPltY{K`_&JCKxr&2OAp~V%r2FD>g0$XE!bdn;VydEsZO& zeIAJ1*ti;ee&bo-A&qClp93;yHLeHeHnxI?HnxL@HEsl7*w_Ug-q;Nu(YOUXvauID zs<988*LV&gya+^YY#abz+_)V)rg0~DY~y+0agFEW=6J;u8!v!!g5pVyL-0=qX-kb+ z=$C-BrN&|C(-hBW%)vQbaZ%$K{KX*a#Kt_hqHzznvT+>#Dv(uSV+nc<$f~gMV(7IX ztHQ<#xUO*$T;I44{su5|t&LOAZ6IsL#!H|(z{qWEd^L0@7`d*-OTkTzuY=PKBCj^S z0o>8}MsR22W#GAumt(uT@e1fM#eCzHa4rIw`x@U478~CQmKxs;PBgw3+j8U8&=)IK z8s86HZTuiO*?0}OxA9u=RgKr-^3{r$HeL_sHHxoo{227>8b1NPzVQa|4UIQ~Z)*Gu zcv<7;z&AI39=yEqX7DYIw}4kPei?jg}MryK78KhyY4@Ux9~ zfuC!<8@#FU9`N&x-vPhS_+9Yk#(TjpHhv$xrSU%SOO5w~UvB&X_?5;Vfwwk30DiUc zLGWvhKLbx`dI)?;)5GAYO^<-5HT?=az3JEB8BLFZXEr?szO?CaaDLMh;DV+n!G%qK z1XndZMQL2v^k?WH#cb2laCU*nBu#&X9s!X_nx26k1*wsyOe3`eB9k;VKwkt>&P`3w zdqGymO*|sUJ=GTQH9Xvb%+Pc&^recgZ<+)BhNijj{{cj1XgUn~O^R=BIvmbrikCMX z3I8o1<=iw6yt3(N@NG@UfNyU)4%>GqzN_g3IPX+^H+O517C^?prcp|%|3iu&ZkiAO8W1_5X(9Briq|zQhVxOye{5O`|9TKPp=mkv#}q%& zv=YuI6+hLq8vYH6H#VIG|I;Atq3LYs&w{jvruE=WO|5V~ulVJrb~s;B{7TbC__u=8 zds7$m*FdC#rf%@IrY+zIvArn|{c{jGp=l5F zFBE^-G!Exs#YdV-@c$EJebIC=xMEfXTsdnJ{wk0WX4XD%?W`#{XM>C?vo3*doAqkw zRuGNTtV^Lg6gy|V4o(-y7&7Y((A|n#X1x*4X2srFm%-nvxNX+u@cR_cnRNyHevtL@ ztSg}hK}McgZ-?Hg__A5=gmWH<+&=5w(B~_@V%B@%41vh)v#y5D&3Zrdh~nt155gH! z%+I<8{%$bi_RP8#`Xa@`tn1*6E0$(m55K55G3#USF9zu~vpxatpLGNHs#!OJm(KbO zc+u?7NoXK)PV?u%Q<`rEPi?*h{%Ih+zWK}0XDGh3`Bpe*D$Z~I8vF$yy}tQ2=tUsw zn&#V~mnp7jz5~v3#g)z9guhC0P4ivwSA%@1tNCu|vlZ7j-veiZVq5cf;J1Q|_RZgg zZddGVz86jxNKG|=A9{21ebC*CTbu8Pv#t3DaQZ;%rTItD=O_*|KLBSCWOitN5PAp5 z?9lu(=<}K%f<9OAWz7#mpWpll`10moffqFY8hl0bqu@~UW8j6&kAvCfC%|3JPlChE ze*{OGp8|8ue+EaJp9aU8{|fGIeg@1pXPPMa<_2(2a}!u-o(+ySw=`v35oBa;J_x+E z`C#x{&2!-24brok=R)73_?_m%;Cx&0Uz-ny|6LGmK=YB%_k#4k=6TTHSNz}Rqv8Bn z@#*Gc;QvMOZ_UTS|0{^x(sBayGtGjTmXqK_Ao6g_DbS4|?WE;Y=vg4rOUvod%^=cC z%bC#61Cd@@=0iUpL=tXU2z>~MB;2wX`UM~|Ov_T}LqTMimgUed1d(A{Rze>EBEz(- zhCT{JhG{tq`b8izOv~BOF9wlbTGm4!2S)DrmR9H!KvwZB?a(JFp3<@r&dG`|Y3YJK zwWS+8tz`>%dP^^OMoS;=&jgv*TF!x<4>GT{3_vdgS;e<(2Y0pXgfk3M*DdEk=RoSZ z<$UNdkh*TU0L-@xffu!8;qL*d>y}~YVoMHsT(Q)`yyqrBWQ>+PSZ>(^R$9j4S3zdL zmJ&GCa&gmaG~VmjN$7VQz(F+Yb6p3gH|M&}jJ!L&iBp|NxLMH#usK@iPIUhj%>{oF zHGw~kW`jSETEJgK2Z6tg4hH`-ngjkgY5)&yI1GGY!{Oi&4M&1UHOvEF)NnNT;)Y|u zV;hbGk8d~uJh|Z{@FfkWu+wlx!>Q=#*UnytuKd%@4d7>+o4}izXR`|;uVEj@PQ*g? z23pw{I1ig5`tD27Our31^Yv(N?{YtOzu^q|Y&4)JW|m|&pfTKu-fmy!&6$s6zLfb^ z=7*VIXZ|JTC%ot?VPh0oxSSp-m|x#{r0o( zKKr0`hpjti-Kp!&S@*JaKVP?C!}x~xZ}{VeV_L6j{YLBa+AeInyzN_UziazT+pP8@ z+D~X-+`hKGr+sI8uD#ek)&39d?`glb{igP>x8K|T^Y%yE|J2^tG12k5j(2uEf8+d( zU+>zy>4{Bk-LLI_PxrOmcXt1u?(WSaoA2KI)aK`HS+k{QOLfcbTOQn!={dBg*t4(a z*xp6G@9h1|)?@po`o7iYww<%>ecOJ$?WN}w&Z(aB#dE%XPSk%?|F8Qq19J!d^h3@y z%=-C*?6l9C__cFK&)V=e=UzOk@wFUgX6K5dfauSiyYQvwfno~(&@j#sx|TP1o$#cU zY-88v681A*#orIye{gr;58NC01NHp}_a}A>vyAkh> zx3AUR2=1D2KjMC>?nk}*QSW}#yC3!LN4@(|+|R<_sC(!I94X-Um)z)--(P7sH~IYj ztN&e)k^CR!c4bcF^vh9h#Q%=!uS0Ka<#U(*zQ8>`>w9ek=XTB({tMja4>t30b6$6; zl;3f4-gK$hUoz+5*URq}{`ai8e|xLgpEbAf$~!ar=iiz6_WU(-7cRInvtq%Tx&OuA zl7(yL=J>mszi;sO41dcPt(jZm@9{-wt{2~#`2v6UEM7CWX~~+or!8s8l$U%Xvu5dK znXfH@xIg z;FbA%&Du3{KXmq*xj#Pp&dio|Yvw-5-^VxHnfXZTnz`R^y)*M;e(!I4tl?`*Z#wt| z9XB0(1b-*4z3Jc=%P)VY@wb4#W&Ew-Zv%gw{PpnH&)>QHy@J0H{x0hH-K?k1y6NB> zpufW3xA}XNzgZh^I`~xnUa|49hW+zzI`|IgyZQSqe}Cfd#l&}FCt>pU3jWIceW-KI z-19aaJLm1)$IiK6^IPUr`1=q3j@t4{eqYJ&TjogpEa_V__e%cmAzFX)HYFJA>Xi5=#X`8$Qb)7(EtXYe;4{sR8=-`d{N$Yde6&h?gx zr3LM|;e27iNTJ}`%Tp88QhTYmH&?EjoQgS4hBw!yxi`N* zUv!=MTwx?mNF^?lZjF^f@?{jv7P70$Kx=tya-1@#=WnH4M`FwRY}dPXt(6K@RG_3P zrNZ9a#=Qi&DO(&VP>(a&5pt#0Vp0liMud-{)R&vvranl(XrmEr)CG|-e zwwDTp+^__D;bPyaVoqg&FDAFKNI{gd)lyj-O;SmTch?;na7S*qK--frcjU4@jh*mtV)wC4-H-rGteQ*OGabc(3$@}y=i#r3T!H%{}*4_8vHB$Qx^ z)nD3o;gVEuTYzuvj!tZrDlSu8uDC*Rwcy5!C$k0mb9-rgB3q`ew{;iy(uq@{$6Yk3 z4@+IDT%^@ZmT9sZ>E zJuU`c-&^v<5h-QOso9YJwyA2aZE}=xCS4%gHo8r@?1Z-%lp0K#Lt?#k2LqWW2N)%a zV=1R?h0?B+aeF0Kp613%hZGg!tkJo9v*pU}Y@xe2T8f)YT?f}vYA;cI-NljIey5!< z6^3^nS4hfAyuv3r+V-U=wHNkgi}}%9r5duB@)8EK6iZwc>iTggVYOo-2%}P*3Qcuq zzL0J+8^po1v*S>NYV~o ztfu^>^4mp|$reJljf;^?W+w~PY5dl5IXl&nXGpKe^rl7)Sm#!yqyf6F$^3{Cny!xA zuF0_uieZ@HZ_3$VDienvS_Y=Zca_4RWCq$~V&9vcV4`GrRCkiedQ;qJ%}H$ZUUniC zBwoxEyOC56OjWA6ao1id7xKGm7~|t5En)8>Zdge(NDAAv<%`+!6n!q29S?Cz#dtbx z9daSoo=*CztL?gOV<9KAsFrW&AnJYZ9*H(4;|Ptrj#CI)h12CaA_ZD=%F zlW1hOjO3%);hao;!KD}b%@_n~Z>p8Vjj7T2Vl|FP13^~s9t+t@r6)U8nyjWgr5W_f z;z(M_aJO$xFM?3MyxrlVi6kUbRi; z3o;|5-O8#h78~RBPiT$4Kx`fvXDO1;R&&%aDFp+M3oPgzLGL_Wx3b|5#VOEsZs5kc4%nb3s2ROJ1P|4Gnc_9WN=26D!Gda|MT zE|1${SlKESj8}$rrgh$D->!=o{&kJSdZaMvM-U_s7Sfe!N3M_?qlUc9DT_PvxS+d_ zDWH(sTB>%ICW|BS7=;SjyGW*sWG&X+ldn`6X;?$2sjjs%@r?{#?;Bq&(!VRu;gR9)&YP{4fcL*lQkjW0d z0h_@$yFtcMNtLaU@HALruv@yMXCu`1m@MbVLz#pDt5#3aKhWwr%cb%5>_mQBIlq?z z-;$dWaU)?*?kePm>$$W+(Negm5}1 z3x(KVOE3KCgd~C2a>N5OnaRSM8trCI$nHw2`3gfsC&rRW{ixv6YAol65r*kAabuWaC2Yy&^MT);N!5r!K zN+-11p{r6y<5rS6t*}ulMck4?)sqcPBqN)IDrIEhNF606vFolR9b9bF=9H46PSLg? zPW9h$6Ec+O3PVWo*ct?X4YR&{;*zmNilx}*E#Hh%T0GD3(xo>Am7h1NjOOY3$ZFX^ zljgbgD@V_+UuAl>X)?T_PV5a%7y-~7?v-jwbyVqrUAby{iQ$)l+SaWepJOd)={-vg z{lC;sePLl9|-{j}&&ga3{P(m)OQ4om7SNi5iCZkK1m=)!3!@;;c^jY9k24!ZiLg z#!QYRM2b`N*;yNdt-q!@=Ekq=(iY})28-GdDRx^Gru|Bwk|3|()*?xpHLGdM*k#&P z%-qUooXN^vCoaTSy_YEPD`yK`mF$5)779H$mQlJAt! zXJt_06e|*_wD7xfRo@@PCNYWKK#g5u5<9}^leCy;tK?}69HkmZZ@yeErR7iG!{ajY z;W9;v+9xD67`tW90Zr^Hb0N-D7DJYj3?#{|PijpvYm0EJ}Qk03Klu>LgQz>RmT+>5LxtvHQzOpLgtXJoJ>aDR2o47qhn+fu^q+(jM zUGXSvR&LxHp`_7|Al{@$`#*$I{?%ePmnfi5dVe?}T3#vF2T*b{; z0t)&Vq2pCA`s9=W8`@G3aZNze^+&}#nO?u1kC(K%gh0|p&5WObNCMkS78Z*qHutub zDz+zQQP)pg8t-%_QyBwOUs<)$PGdl9RCTfhPJ*V5(y*uT)MH#mER0n7C?QB8PMsq= zD5Lq@h*kyeD!HJC^9v-_^M3nE{FaJi;u4X5TQ*;2DVbv#AS;95+J@@|tS)s#u$3Jf zSKg=#zw#8(69mJHh}fcetw`zhje0^y`*@R7vtVj(Huq?}Dk1V4H)~aF%L=EArZP8T ziyFxz{UO=fMHy!FJYN-Eyz3F&bG9J)3B^R%=?TwoYl$kx z^$(_PXa#AVlMCkl9jz+GVfHPHHmSH!s)!=G2+(M(LJWf=wFnWQ z$MhS$V+>aDV4__{I3eA!NaDqqJSu3h*Gw9jvZ)Ox2?HwS%KJ@mDq$RPv=`Yh9>kI=$*+Joif6UfP?h=aTtamW1Q;-kHr8 zNEVgzCz2tV5Cw?F9~5 zu%y}TlW6{mRnHcOA*Svk?rIq`y4tGoq#cTuN?Upun{<7t{bQJlldQ9Ssi~gOVPt4e zZptO(kSR%avl}y%jkjaO=wvlMRJ7%|tN|=EZM~izqn<;V2tUxmr^(s4#dsa$zJwtz zkk~me(>5ijTBd4VMtKS709NJ;F)3SyRK1tEu3?F*Bqni?m}=}y!&&3NSfqV-;zuVp zEo0#)dsgDHmLs7HC**fG2TrWi;3fecAa~MVQ#niA$5fKKBo!JTGr>3u0hxv*4ejVG zt4ejt?xU8G5C>LWE=Z{?*AA{z6^5k8wtX$A#5hAZs>Af&bPq}AL`e)wTG>-l^WX6p z$M@{+4v-Z~!n0*Il}SyimD5a-CF)t9rvb*o-AFMM@rW;u8rE|NMBMk6N>(wkfl&?- z!BmFK?VNxRX{K0_!)N_ELbV3MwHFwWa6K_KSV9MDY6z8b?C8Y6?)+$#T`&o=j{#Z( z=_?N8glU06SSVd(w7WB*puNw_-?69QtcYfE zm#Sf3pj|AJlEYLp`AHP{9KZTIj=d1HASmn^+N5LE`m+Y8opgry;vkZ=N)V}jIfEzb z1<$F|J*R*U)Y+0Wv6msk%}i-YIbzUDccH)II_@6B@lFZ~6`ej^Q5K6bviSLQ#+Z|u zw4Uz$_A=vd75~Tr^a|}eB3EZQ5lb8 zgO|W;(^~70ESX8S110C%EJ-?Fi08CfYh6+q+v=vTn#7LK*p~_^7fziK2Z?sTQd)1u z39=NsnP#1)vC<87vq_Pxxl2`>roH@CpTdGVRQ>(yoH^8Ir8A#>})!^W4hm0)Jq(#>;fu>3;jl&*C*@X+B#gt0mt^EDtG$ zxv_6v{j8M2b6|`?egr z?Kxc#i~7MQx1K9u(M7^&q^{Cti%SMkJr%9P1NN!@pYH1#zxHh0#KkS=_u>wYMY{K< zX{4vgu2qShwW$-E=3#!eT#eff9r^H|(uJ2`ANZa2vOh?n+H_u(X8W>noTNj4PK^Nkxul z^RkGSn-qR8*AJV@@-%Mz&b2gwjp)Iq?39}{>y**7f^k{Oav(P72?c+?g>x=RkSYJZ z0S0BR#h#c*equ-{*|QJGC*1h8NXJ~J>?AOovXNS!}~XBN}B5@oVkE&C<0Hdv&X^a0PBY{XeeCBHUhHL030MblGL8~;|$ zxQTY2kwDTSKe`1ZI-|ZK!kuV#AUaVjxf!(#HA`(|KdGe6-GicsK%*iXwBs!G${Zc4 zwHaiP7m0~gSYffi5`m=xybM_?EEiZIuu@=^z-p%_a8xx!c6Un&p|#~K+Zes3eRsA@ zR!moHv}knM9t~E~TLbNTYcR^l;RYrrR43nwLraLCx?h92*?}T zMP`dl164h}6`Q5JY3YfBP6Ag(8)8Cd-qP!7E2I(hf@~HI_hYIp(sKmq$sS-mK+fkQytlyf^D6 z@}}dYS(VG^t151n+;P!9hR0Z;Y`d|da8I$sRlKQ`;%g5JM=Vo(8TVrM8b?YkuXk%C zL?tAMm_yqN8h<%krzK&!Srx9uZM{8S`r<5!hguUejdh6h?uCRiqlNg_;|g-b%gYG0 z(&_YB(E^*!x3J>T-<-upv-NXuItZ(girJ***tDAz+rsf1E9S-t+{u~+(<7iX2)_Ic9hY?yQ}A#+wLB34PhKRpzXQdU^Zb}(C60n`Mj?< z^!nJmJwv3V$lC^!h1*#w@5`3u&Y`zXG0erbGK>5&`vv(>7io^UQE8G&mQm4%GXtwe zbs-+NaukxIt}+owzEVcB^%IEgVw#H@mPI~bQZ& zCp5k4L_7@(&|pn4(|SAduHP#~_bfe_V`jd`c2|=ADEhC^7ezX^en+z8h{3d8M#}tP zD!oYL=Gy*(wA};Sw|&C)Ej{HD>(GWtb<%z%(@9hHVtr_oWG1aROEtBvrJ6P+Qof2p zath58)IrXyFJa@%rc4iEbM?BX8pqPxgBq&)j* z>fU?rrN51{4D{>-HmEHM zxe=6oR*~I_QBsjIN=oAPhikPC?Gdv-oDpx_ro5)TvCBz~Xen?vtmvxj?GNce-XW3q zWNftcr;)*kh+(0$0UVCTd1Y*}__-J0X{ z*-7KrYA1{^daz|skDR1g$$qw1hahR0cQw-*ZIfA!0i;UEoP;dtvb;XEG9sFTnesN1 zjZ9h;vq<_<_4H&Jho^CU`qH^@yX>}bAy*u$?snWFu!?LQ*{ek)omVcjSuc($Au7s~ zqcV%RQjNQW^5)ULAS$dP{&q)(>OKAqN~dSqAH3odr}s+%R5@X(dW z)nL({+YNQyyGDy3wkR9qy0tgx84}UhjST5RM^z7UER@-VuF0^gw_SRy-h$B$DmN6E zY7i{37PjRs}JUO9r1JhBMJ!HwQJSztE$+SU<*eXp5M458F#aNO?83J@A$)xM2+`est z7{avcCt7tAPu1v+OrT6nzBN;?6mpn&Yo=XP9M%Kr$OZDN^-O0=pXM85Tuqy0Tuqzn zoJ$rMA^PNj5bd|MHv@$wrwPMI@8Z`)7~kmbVjoLmSjv_~9Gt&pVj>0tw4_?kj+;bU zciK;fVjZ~j8oZ5z!tC>hfeF{%b6{%J5@iNe1scg{FR7ACDKvZ8VDiV!Ouj%}XBvZe z_>|xiJ2}J_&Qt4gusUlJAP0z3!b-|7<>5D*{BSK>QgV&7lCv%hn^xAEu(9L96~$YS zs|)liT&Vkx2wG92gL&#@K= zk=vA8H&KZX&hzn7MSO0xb>t#i$@H0n@M!@$xLED=W~;-yljy8qD8(>iOPt|2k}7Wp zOPXrY(zsTx#rvDy1grrjDTwWAXDN}wkSMvoF#U9BRbHr&RzC1b+mNr4vmrTOq{oYj zI=|~tBTmq3EmgF1$NV)QhDm=0F&o5xFV9o0#949PsN@w}FqFF^ zU&-&v%NrnmfIxH{VSJXmS=zO&1NlBDLz~U+t>xSRje$mQCpM(eHNe0?tru9y7NE5v zzro-Qem}uXUXx*l&~RLA7atOhIpJui?VV^IQkw|Vwh-zz5NvD3Yo64z*Z7C66&G(N zgslYINT}IHuu+XU^?jkTm_0AVh_A3d=C zl=jKV=wV&g$+&9^jQB9Qc<56nJ}b#cYA)-|2;j+RZ>5o9NFcI`48y)TNX)@LJv9V3 zX`W9^JY-4Ulaz!aK9IHd{dZ;&iI;l%JFa|K&pPG!ke<~|T;f*RM4aTOA|nVAkJV32 z38xEFm*=TDl`sxe0)IbWxOmp|O1|TISN2Z@)a)pynn1SNu!(1NNJRK+EG9 z;!!O4HH*L~GReRn9_n5;)GJXcC23S5=13}(Bhe_aED*~Bu_6#F1F+w#k6^RLN{0x@~m{KlpN`9;{k~Rr*(v4zfOtV#bRW6AV?Q?Z3U$ZN*8lO z+l$_TC#s%Wtvl=7p2i9JENfqi*|3bM$` zWT;z;PKfP+=$0~6P9U^Alp{rl0PBQD7wC~I~R@D!0rNn@>>?0t+_FgM5S}?l^oiy zZ1IU%Hu&UMHud-=Li_dR?cTf{GYj**XdGSpL}}MWWXzBbPZayafHJB&EGL94(9(X33rzD#?#9)i_YqP$gY`dq+vTgrvz+_W?Qb?`4A)%78 z_svM^fxeRPeX~-2iVn?8`MybM9r|Xb{8hB&(QI*QFDudZJu21bT<@N;GD%xipFYsI zw)?O{+})`pB;J1iOKVW~lmNC=?`Dadke zJIUd$4ie>#Qh_BeW85GYL0mWbO5aax^2J5_#IC{~wUOVgB^j1w-5L z1u{EQlB-t}VfR^OHx^E;2_#;bH4{@p>7!Jw>F22QbrD%fu)H_TUA%rX2Dz#FV={Ka zLmxXM38tP`O`j=!y1Y)PTQgLR*Q~#)3*=dvQ+@ zDV80A;rzI4-z;|9^=}Ek%c!d=zkn^$Y^O$7Af39~te(p(CXcw^{#mj2k_1=XJZNzbCBc`PQd&I6y zt)v;HjAFZ8Tqm|Equ8?bLyRl%^cr|Z3vNliN)FnPqgQ-s%nW$BhUeRZ}SlUD69YO8RdXR>_9JZS(^5&=;q>!YQ zGTb1o^=24dmZYqVG&WZq<=SexgLg41 zq+ds@s9}gBP^$3V#^^eV2Eg2ecCK;aGuTQy;d-Eq7(-l)w0DwI_A;*Wj8)pk)8bP@ z+lN}{0KQcjUE|wQV|?3|V$i4Q8ojqf-B$^ij>w>+)G!B=jH>LCZ4a}KDOS;Jb|`Z) zMMJX15VHdfn=OWz9cbh{+22t9h;48vjq?cx#MpgoV2Y9!tQG>Ox<n4a{TD#A_gsqhLlB@^5R+V^Z>OXlPVh`(a$Goz^wDVH;6 z&QdJPRvDm3o=+tPk|hRyEM;OKRX#;NHSi>Mv6J7rXov05v953*G)Yj*3S)>Vdc}X@ zNE@n*B*{frW%=iLX{fuc?^I-7t=N2B!y84y;rb>bkG`}PoFp8kQI?XsWS>>u7ax){ zZA!3H%d=TLqdF8W;Z6m!Y~t_B7nd#>LdB|Q0=U+klh(`-DMw@(A0-S|u9S!A-Xene zn03R3^M*^8B=QPHp$}*U4s)pP9b1X`&Z@6JcpG#ij2Vo?-eIfc&$gaA`UboJqW-pR zl&QgUh^IHp!=IcGRm-5cGwX^m<^FDMiQ^5K*7qs(=;N*N7t$j4h`57iKXN)xeZ+*m zXCVpkI(ffcr;Y+INp5Hxk_0_4k=kT4M&ecyJ}74i&O{-T5N8SO{ z>@p{s-(*L#wtx~one(qm%*2a@ikj3~!ReIG?d;**b!}34p+UwTO{|{TPNi~09o=2A zULozs*fNjRwkqv+Znz-I9(Ky($CPW<0u+QDkJn{_IIM58!qes-SGjOzYztx$cc7F( z(xr)L@9Fl?Fs)1u80EJMoBnQSg&%@Bc&Hk-Ed}hRPHk%7_ zl1Mb{$x~c<{4dv59%NC98qbWjM`U!j=aE@s5HqrxH=sb5nTXRHIZ206{r*?ZD;mf5 zXKyg|n;8(;yc?b0jVXm?R4eP|f!!SAG-I636t6q&pg(PpU{VexEVP%41Qsg{O?WCV z#(ZKFD&gf<#n$R3u_-T$ZOZD1;uQ`*abTWSPl1lZuVI7`)Kpks$D0U&q9Q*1!NN(glqQz2`N9eRQC55MHj_T2U78S{ z?cuN_pkdmTO3u^CRg+!zmNw!sq1Ce_WE$C!4r4;}5sm$tbR`EOl#zbA+Z=?m65f6C zgtrDLamUYiQ~nlBE!Xljq*oYZU%fPeu*YUE!UZNtN*_697N`rVjw8XyZf}KmFm-il zlRIhx?vpV9aNpgw2fd+nls@Qpq8Udf3bH4!^J;I$ayPK46;&F#8x-mT2zYEkWGg(5 zvpI`k(_WHS-?wGu0)vyUQfwX=F6S9H2F8b7ulVWB)5|L*F3V4r3!J?1kB$doh~rf9 z+PIX_b{xnOE&OVC6N~UNx!T5tw9O6+MOX7a3eS?jVlRR4cD(U1w3uBI`(3QROT2j* zza4TZgUuu4a>sNwQrcG$H#UQ~?xm|%xYphd#I){KfgU|u>Gc*POP91!+{sKTvnB)O zsGL?yZc^wtrWuvAC#HnbV+3r-qJNyUrsr4J;=z+LukuDtxVs>_H&jEq`p`0~VMw{j zmZ?7rD#4_TW*Z(nGRt5xJGAy;bDI2^i&|bybg8h}ot34fsF`GEFcr$Ef8{;C#g&v0 z{a){N#f4PEs4Q&>FIh0(>3MJ|?I1ae zRVN1qY&H~AC@m8nbSx9L-(ECQ$1RZ5#=bA zPVznt!Ke>;EmkknFP@3pdTu!RqF%h}L?y!PKFgQp+JwaHz9hG#zptF)|X~F zxDUyS&FQ2ECV|$wt52nz8f41RMPEgphR@2=@Ej=gA8qnWp;U_fImH^z_F~!k@rcRv zi8%wj2nS$x`axWGz3sVBXH8 zVG@!Grs5>DrI-=x;EfZXQi_w{C0U;!Z>ld!n!dlaiLNiUOt{`#nlUkDO*73?nOPYf zxdL*i_r}CqYi6!AhL%7aUwmORm5a~_IGCNS_Uj7|>Zzu^D<{=r>|{AFde0bs+`1`G z5}SNdfF-BACp9zM>Rn$3v--Bcp;Hg(Fa}e( zB@}52FAv)>(Aag_h~6Z*;cEwL^|hoFbDZOadCuDTU7U?}Tv9_DlL3|>>e`Zyy9Z{Q zES0ur8!a70O^_+O8oo8#8dl2bn5eNQ!$lOEp2qEns~Lt-1m>-vRpl*dRzmU=Z*Ih8 zR?87L{=jVPB5fA?c8fs5^<-@rY4_d%Be&ejV&_fwf2enn^mOY+-#w(199v(aVM1Xp zRF3{ngTa|+?xt1pq+*>(obi3U;oX+^;HWAZQAsOj9%;{B2_GB04NX&Gq&|!)f^|?r!}3fnk1y+OF~bF#34F4pr*&u z*!Gm&p-{e3l1vkI9{yku3+nc?5AsTBrrR>?2q2ja5$OmhZ=oy z0Ii&AnZm%MHR%;b@&y=nr}fH%?C|oZ&kXiM%UGOcbn_b=`|9=^YS?b{V%u|(riFHN zR4%-jp1#7Sm7442)eJ2fe5-MJa@er1l8TUXp4R>hrYcPHE=9fdY7IzD5_VR)l- zL(@oxNczZxd{fNQzy)P5(F^5c7Lp8R$A^>(kA;iD23?`z{AloIlq8zbuM%V{HH2yw z7Ov5G`4-NQXd}I^R6&>vmc(>z8Rj*lVGcBx?5?$bo6@u8c6x=fG)LkgkzYL1(oNCV zn9YNKe{)Le!du5Ib0K-v>M&!vf{de0V8|*y=%Rz}(wdk(d!cmL`tps>zkbmb)@5{2 z+s8tF2u}OMwuQDqTff!vM8>sNfj8v&^f%l@5UKy{pb96+mjhJ`ZyVQkeM)x?Erl|W z5U;*XrBiooz=Azpo6gPNP93X{IvZUO%BjM%b9x@)UczORq8x(YYqsVdwuD+^5b48* zHliOJ69!5?26oZUc`uZcIjY%Dk$&8p-NU(2F1E-e779cnh)XpvNU;{WSPCz_hb#v< z)KV7N;e;k`ROu*0uZAwuY?pTmNhiCaPw4-KVzBP zp$(E?>|BZEZ(md{Kq+CRt+j;Yq9wHw=uo6} zS4=bzgjIbmOs=&s6iJ0@8?|#Bb#)pueU@Ug-|HhzE4i8$ldzIDV{Ig{(c!+VTT5Xr zq=K+suS%T7I|`cZnFZmn>QQAtazjbV!!J~8m|=OsagFfhT%2lisp0rUq#ecCuW{(> zk~dUS;Yk%pq0}%#{nRpb?2WIY*4WKZSvB^429{Qp@U5sh*PkOnmgIQ(;&-L3-`dI} zC1fjO`(WoPqygE}QgeMdNavQ^(SP;YRNT?kwdOl62xaMYlNtEF!-vy5Nd_!hzpaq4 z8N<{jy(~~hT&$^72VSyUU`}fbTV2_c&}i8G{g#;=dU46WgZ(Tn_-J1U$%?P85BkK< zXlH6U4LnYEidP>JPd^>lR@-x*oXD`#2s0&F4s~!NE99GAP{T>>fYyJ+xyGGW7}O=N z#))M&wC1?2*RoS1l3AQP9$&mm+mX%#*k~rDr6rS%vQpi|LQbtq)qxjv#jEO*ydqch zPDZkX(i2a9JKUJb_L?5Z3GzvhBJ^;c1R=pzOivXem_FHw!%#q}+?v0-vNfik;WUvp z-D@22G-R$)GmW_Pv&k@9BC-J|YsUDFgxI%D>1tONyBeAdoiP#gH~Of63=o=V?RAOO zph%R7k>Mkyd=L*o_L3IDAd(lIG*Sf`m`P4D$(CF=zZhJ`)oEEe09*He?M*X@#;QTy zstdt|it#5^EU;-z4tR;A800?9V=$N(v*y5wd^)$R4vP(0wR#LnInkO4c)5>1m7}uPcG?@hAM+Ql>kx69+2`810x?v?T zCceDj;IBB^LP&IplEXMeXcJM~p#M!$R3CsOjlJR^{aQA*g@fM}i`nZ{?KuN~@l-B& zpv4>Eob&-11D@n0mBcunN=_7sOTvM#4$h|9*N3waj zFetIiz)pP6U`Z>S#!a`zWYLlYlko5z3~5h6ijG@mG6s2ZQrnhTTS-l`_vIZsnBLiZ z5!VaM)+FNI>TAP)+1IZ@q@1J|JqNe7UE1QT_m&h)olWg3$s$izbdWf$=7LF+91LEp zmJ|n8Ea;{B){L`#9W$Pn>-b3)QyEFto|d?@Jd`*)p!6|=MI8MMc1aQ>qX!Vx#44>8 zvC>tQOAH1Esj+8+I($ZIhR70Ca#%}PqpyuHEPQ4Nz+2fgC-!lth-bc-BPBai@Hzyg);lvr zBX8vjKeX9o9U|P+nm~;8OM=w0xIN2<97MoGRV_`=e~P9%d~BLKGl-acU|P@Hi{f}( z4hLoZy9s)fmqQs`RkDNp6%!x5sZ7x6Q}$wxHJ}om#7&?GuC{5HHj8~C9_!Yx-H4jT z6qf@UzZX(epK;5kZ*NIt zdRSAEql8B9oeDENLnHi}!=7SU!|0OsPmLAB(OSnBdf1rcD{11{Ql=}#p93UwCZ zLs=o);EQgqAKhzX76O^mF4}@^I_|u;W5wD<`V%oW3p@ ze^8)GpR(I7@-`l4iY0wBydfg&UI|lDs)TUlLX2Pkssq2?vt!G|>)j-EA1}Ye<^XI0 zowhL3&}(N1OEr$eg3B1SCah)DFsp=uT{{6u__ZAGGoFy-`I#+)D3pacRdE>2D;ad+Fpjb^_^0tKkev3*d;r?f+gqe^b~;b zy<1;-GgO?`6`2Y31UW;w&%narv}%~fz)@1*7_5j5G1eAotx1Yp_6X!xr)crzR^`vplr?HI|K4*(VNGXHZ z=s9I^u7q&xWtZWcsT#zpmSZpX^kjE&W;vXkiNmL^`~iA9z@9Q&BS++hzoW-zJg_hZ8= z)$%&EEDiWdVnsFWasn3#0AWHe1BMsx>~$d33c2Lmdy>sWBBHOTs>q)Ms=EwPe-FaU zo5;J!Di*#T1Mv4C#@W0zRfmW-wm5{Sy&E7lw&s@V^S@Exlo0~djjZ1xKyvCVwYTSee$ZMPhW{pdIo4m%Ea>UK_ z7t6)nbgmDNnr8gk%V}46z}yE}%dB;2Z=2UTG+wQ{(4J~t25zm}_(k+u$1%Isb^Kg< zt?QU=uIt`UH@9`n8kg}a=rvAbuDPA@{q*p-x_Nw7C(jZ}9MiJ|6T3+@$Z3r+W@rnG zO`##h3~e%)YHK@TSgj`JPTm}qtDTSMuv^wbx4=o*Ed*DhLXQA%3mzA3I{BxWX-> zaen2Zb*!&S*1eUm-98aMd2a{I^*mQv-w`j#D*7s)U0aTsI+0U;@|)5J!O>LJvaG~X zJd?AM{04Q@Kw3u~m{ye29a|vN$}V^#tOMFvkO#E3kf-T;32_?FLYl^=9O_l37HB=! z{MU2wp4QQt*EGkxr8(xt*K@4(2-;d{w=>(BzdG$e+S`m)<|{0;Q~OzIp9i$ANvkPE zL?@c6xoPb+*jdI8Xl)_aYdNX7dX|M#&+YQM`P%IfxS<8hnToJ$(#BL-p3)5Sf*(s) z>yUb-PRAIbv?hc|cUBY#sW(ScUEN%H-9GY2axU1OaiA28(4hVKGGPXNdlGpv2w2(? zr?`Cqi1RRp@BqqiPiahkgdJ80geGqka62b(`UYZ>acjCgOq^IB)%*l0QS+ZvvEy8b zZf>YNXFJd+fmn0Oxj{54%IC`;+#;8ED%ozgPg(1DGvRZr27BS7tk3-^V?wHsn#>naZy?izVR76G!Rif7K=`_$S12sd?p&JSn#$h1oJHdNW}-_H&B3re zO-Z2s(Su5khhcaSkSSEZ-dwg%I?MB$BE806U*=hxGFzhi-5B2@9?ni=hvkA7cVosa zv$n4~q9@n+0t%0PjySnopefCI1(SwI9{3)VlB28KnZR;^6#^>- zRtc~a*EuaJODzU8NE8)5aTk-c%IP57k#C^f=#*01V6~|NhsQtvi$Z1aXapFTvBGrQrBFnC?T;9!Y+< z>tGc+RACP)`SJkoFvyT@=N_d<^=0-Pnq)iQF3oskh$@(r0_H=VHDDLWAF^~zWd2^USvUvLFnS{;&h%ErYhS(N1}xYhS6nCmAcl^f8#PqTUKaOFWe@kBrcSr(1|R zgn?pr%8Et0J}8_HM{Ze6_v{lk-9mI}(=6+9CAt8dv8MN9zs?0*CgbZSJZD^Brzr{8 z`|ZeQ$BHF;+DMfeV=}fS&Wz_(`XZ=H6x!tabA{}FJENI6_XRA@u(B7F6I&lAudwj^ z*Zyjb_kc^q#M-}S!sgiU9w|lFKhUakupPN=FHcQWOJn8i#P0lXa%#{^!UQ5R>eSdyc*Q&1^v+^gmGp({=RqKOHvo zym|Lbt~6zgITE`}A%tyjPlnkHq zawJd-o+#)8GG6L7jS6&XF-HAs9C1(^i#)hlvZtf)mNM!_v|RU*mNSr>5NSkS&6RHw z$Wx%q%aT=}_b$qfLGG1W`_5X@Ky^yKeu{oY6!@lHN(w#fU;cJCo%UtG^iQ`1+ zqn&$&S=4b?88ios@j+wrVXqt!n;zkz z-P^;PqIppjPAaJS$tXTBoupNgUY97U-ydwzeEGw@ajw&5!m$riF!W!IFQjkLdJ?dM76``5Gx>mhEtclT@NrLeaw5HAZul^EJH3Qn3fF z`bIgjnfee+GTz9eH9k}o_@~-x9hYurQ*4Ful{d8N3cIJ29nle5h-5%pn>^;| z!$!L;pH+Svc=Pzqt**3pz^{U15J31DxYVYh= zzG&s*)vtCZpFFPWf<^mRELyZ^+3MBvdG*2$t!&B_7%iw=Giv4fc|H+IwYl1agx<#s z7z4T79=qH}_HujliC=j{)k?NHyps-wwA>q$+f=PQOaiI-~ZL{p4;H zUd)S{%+hPqfKN%%jOxcU9j?h@;$kM@m&_&(4zy5Nu8FXBCaop=MYZ+Xu;!1uv_?&# zOLMf;)><(si526ijCy((SF+=$oEn}N0Hl00R6q6C96AxdUI5q_KkqHfVU_vCZydj{ zDMw%AF~qZc>`WqJlToRQ`-WQ!V`xmPyT?OD|JGI*t-Cmb<1zPurJ02}-0Y%gt*Z3=?-2ejXe2 zTfy#N^kewo5jt|}8rJgnQvTMFt0L~j)*Zf)UtTJ}&++*7+=kO|vw&1CaN^^1OyWY* zGH+bN%eztHlk$t>JA6V@VPWvvHFgzBcZl-H;d>jld3de-m7%AcJE`8Tov=}nt4lP+ zxO45DYARroI+RjB9zJ?Pr~>ty!^~G``OhN+TE|nA?D6hYcZpl%Ud?Z2?kMFZHMA9% zn(x`Ww6xsZar_Mv63TWsyENZ9wi_rLN?=5Nx!H>;iAB!MUc&EU|10KY#$UJt_mbPZ zre8|3L`tP?Oj2qS8ordsh^EXPwwF*O#074tTgmTo=Z;Kx%i+j>jq~umPGS|4@K<75 zNxkiL7Po}3h`+^dH7%$ zx|WUPV3JVWVLR0CB(6eeZeD$h2zhshTYr}_$tC@#We??7lvo<*2S-ou`EkexFCaz3 zq(b_bJ4j5PKKM*Vm-F2P?hME1*CdoX<+=2B*Kh_keLQ)QkxfR-s$;~8IZ`SY3#aJ> zcLFKoZ?=tQuHk&l#B*fQvf6PyOm1}iKBga2m>ITdf7pwipDB*n3CC)K&GLHN+1qf( z2r|3Zeh==$bdiQ$rCseHr4o{x(*`ADm&8=Wrkxs-@!S31_Rc@buIsAr_r7^Q?wub` z@7)<$vhzk6$1)j+Bu3Im8imPX49|%Y-dN58*5WT3 z>CL|9_t|HkbN1e6pZ(q);H6H?nP%Gyi_n1N(-J#;FLU|;`>2RzIkuOI9E)W+d*Kq@ zIxcoUSV&H&e{Tpk)@(m0=Gs0)Z(y?_?<hB$jNy3Caewg_6hivxVrYKM&K3cZCZV>n+{IfJ%30$33qX7fb}NT z&`$aUw9@)@eBS%^`^cBf(b)eIJ95~`%m=|Or=C|CWBq%T4~y#!FPJ>j{1*A~&#dpH zE7o#Fq*n!Sj7R7S9Vdpw4uoFsMs~RpsA7+*m8&#TS;XALXnO^h9~LO>>t!rEm?&)^ zDJI$)4?+4vq)63~qLd3orgi&UrK|Q5VnxhLEgYvM+W@sAObQ~S`4OgHOGf34u?=*| z=ryM)B{tv~6w1wz7FfQ8y&*SkN`dvE2xz1CFtSZQl&J~tMvR^&yc3lH27v%#>(nH) zn3y3k8L0`PwHInkZj%;ih%hl^F;#Cv@8V(HP3389y6CrUH+(C@^uqhS1JD8W!t?(0 z4}bdiroZ}=2Y)U3qs?FW{o3tb@T)&@^uxDLUVpT@F&g!UJsx+u$KCF+hexn6iXZW# zcsUECOIe_^Jg_mk$KTkDFO}-`Za54Fv-Ics!Z55^{i2;@k%W8vC@J$yueyFdBqO%S|L) z5kl9(X8LrEf6aK6^o`cOrFRq8cXu=ln|Y}#m5fB{z(#wy3`q{S9Ii^TqVpYqFyEw;6<$p zp{PY#iE2^jJRu*wzg`|ElR$|ENbVo=+^R}qHJ=>mAMYm6MRG)~ji}a0sah&mqc{e1 z&eJ7R2H|6tWD=`m>nXN&I!{){N2s#Z5Pf50!5s!-D5Dywj zlY=5uyyjY5E6|D8>Ru@u<|6q)IM(OasRfNipo7-;T7hT0rbas#-8@}Xqse(2;zgBA zpj?#P5D*PrIl_TjjaqKhZ6>vCGuRg8+ofty{_{89c%#hU8x^m_hNybl(j^{5!kSkG zh9%|IY9z8uEw5Hn9x>(lrRXqg%8w35$I2cnrRK3lAYaHrieCmSu^|euy_(5HNQiwrL5yw#LK~wWBkxMk zS8X0DQQm`mjK(YVd8IOY%wrNt5Qc3yh_s)l`4F$`O;&7*l>wkT{(gi*VumfNEhnjNha z4II_3ZEX(6n9?U$7-!hO(Z>~tKGmv?L7^w2k82m5vAuG}?UggO1I`34UzJo{l{zsc z2-jVUFoL+|a1)an74Le`midE?u|8L4V{|vO)`@La9tt=Li^J6WJg**jeRW!8#v^2UPI(fN;D=_fE8_1 z#99U!mULiGGzgm)w!5ZkxnA#byBl3b29s)bE|sd)f@Ln}p>#eEbyoA$I-MuQH*A9D zjm*hBM65DkzuN6&xd^87MXBGoR6%SDiea-l#&d2pJ= znqJHigC#)S)L1i*ZqMfjJzIY1#d z&BNQ~L}N-m5{TyHKcf9XcR5l$Qa4>HQqv{LgvA2aF0EJcG*{$G7w;ZAu4rh<6`Stl zibWP}v=c=SogQkf2q(%3F503%o3v+VIbh!5?187}YS~9&E%OH;SoUTFV$RvsVP7?d zyXSUa?4Qa}vAdW_4)CCaAMgEcJG#PCS_{@F$rP zv}Zx;Gd)xUQX^kJZR_uV>+gU?PT7(}!?el{O55oyIxPsP5Y1&B9f03E4dy^JXZo2m zQ;Lf7NLr3oqB+syRmpZ%Il_C;D-C%iWZniZUyJc;Hquw!NM9}1Wc*q`ty7yOP3?(a zEf!$>nuvFkia;X-5e@OC`g?uQ@vbO7E7cOtgy1dLVnX@MjYNoS(?v3}-1iXSKK48bU!jpENon{D5Io}jvDNAaW4X4kMEjf_&=HTx}xUd2oP{Xe8^CZYi(E+AeTF0r+EuzcS1N(M_nv zU&!A8fBpOo@;4+7inR9qvOrBB6c`ZbH)1B1HK>FkP5zNebu>yZqY(s}HK(aC7zqM$ zsS`+dnefr82uMPOCfvf3)>BBDl}RRCG?@TJJD!+~sjL66-k;4{QVuB{a-3u`ldUBb zRWaLhhFU6VO+;A}C_k_eB)V5F3seNE0yP0-KH986zrcXNpa69z1*S?Zk5;2(2JMQe zPiCsDih4t*C!Ys=s?-N=r9KqLlHWjs+#LYZPo-QwmY8&Gts8w_@>H)E)*;)4dQ7`I9k}7{i#2GFgd| z6&G5Hk|h_~7A4zUDCSgX<#ncEU`GUw3e1-`YdRYOV*;@N|M`$u#yX`)pMWobzU+}x z_E;K(tmv4nhf|OW+Oe`K((Ihhm#&I-w>S#n&k}0iE9!Bbs zD%o{%#Dk~A$WT2FFvm<%GaUzc1BqMI$)Z)#+@*&E4hkH$36+>g0L@h6?wl5m$kiwv z5g1hNbAZk@y4MLpTPXy&kPXzf#oeyEM+jqSCYL#~NCYLz$VE0s783F(mtl}6&{^_C zc}N7U3p52HfnkB$1U3m!?#YrDl)M>8aoRTVFO*OipHP!}nDk@EpqT!EAAkgQ5duR{ z$N~mx2qmRvQlXhVlM4cZA|@xboc)ucURRkx&lli?1R?@e0roAnH-UbEL4mqJQ(#13 zlfWGUZxa|3xJ%$$1l}nyF7Ryv?-E#)CJ9M7Fhj=psZc~OR4b<_buuNnt4%q@s7GH) zu4vj$YxM*?i{W1F4)RZ0!FMy#FdMLP;bbCPq(D+HMl zop?cm2O`pDXog7!n`BXk0!&M%%crI1jYGXMTaP2`0Q+u+sFqFCv01z)F5 zK(~dG3ks$(VzA|EHSNEKWMSQKryKF^D7h43JL7qQu{-e;a^Upq*h?zD=VMLq`~0$B z@vDB#5B$*Y_Xqqzf5@-<8~ldf^do=RAMrQ(xA~j>+x@rsEq~PC;=kP=^Y8R${CoU+ z{X_nT{0HctxnxzRn+3$@(y{UeBUCfpS{_koqrmL~cL=;qparm@95A@qpjo5RF$-^n zLX2@-yp#tY4nFQ^YU*9OSv)E=6BJbx-ik!^rG<2sDXwK?fv7c51Ur|z$?a}3A|Wqg zCv~e=F4DAGU0a%&tob4|ScHbUEq0a%^OB=f=w_r#-EgvK%OD+RJ)*FU!z;2tn>H<_ zb2$&Cvsycp(wSAyO7<*gPg}(rcorYbo=j>(kX#y zff<{YNr&;IMV#nJ5gkx}+T~1JWX45iY+fb}P8pmwXcFT`3UIIMm5&N= zdE=G;mH-zwUU^nvPT;t}34wWm1%Z}`flmv3M&Pu-Ljpe`@RI@$3w&1Krv(1CKq8O|bOg=_oE7+Kfu9k0 zMBq_@za#K>13Em&jkLtz|#U>6!;ec|5D%?fnO5%R|3B*up;m)0{>dz z-w3PNkn*zTja7Exh2>eHZ|0Hl# z;I{?-v%r55xF+yB0$&#Riogp3UlsUWf!`B&QQ-Fl{y^Zr3cMunhXP*{;K;g+ctY>0 zAdS-bGTZ%-Bv12@nW>tGP;g?f55}a%dC^OEhxnf9lQ+_02;eV+MK-Y z=y(z38yQuSsujggV`HWc{ERxBP^6;NN#l`8YK-z$v~!tcY#G=gbrsWDmLA_(&SL?V zRcs_t{EInsNUUs-Y%bGjl*WxHxz@m7W7uC)g4#5*w`6ml**8)OB}ikgYlDtV(uVvYEU@0R-1269JblHk6`VtFdRSF==G!YU%n{289?k9H5GHGoA7h(+Q*GWz~z4 zK@R(Ysbd(bhrLb2%q%9ui_B-)g)C+>myYU|o6WGZIg?vqXY1D1&8(}fP*Iy3T1(~G zQ*yKtqd?F#*&x zC;&)b6nIHsP2jq~%L1NbRO8j0Q2AFrgYap$%EV zoE&aT#!=_6&2BnxyDeGNuC2i?7?hj#aj~svT4%V3>vb*u?839NDqS9vV>C#TRHtal z`j#QBg=R{<32P+I@on^?*|0VnIY!x#4xk14(E(Crk7aLVp-5_P)Ip_#TC>psa>9H+ z8KF9t*<@tpiQ@dMye`uOMit~ z%Uq%HQI)|$cSo@m8~I^TSd>VXh;w+d)Kf;L7T0VVWwO#dikJwZdCQzf&-E*Ye{)vn ztco5`F@DWGZh!{o?Hg|LShNpYdS?+HseQ}gr4tvM*sM>Tc~bL&$pspK7+kLAyr0`1 zB{^{wjkw4K$u8#3aOfrdIcv97MTmC5R2RI*6O?jSsRZYyLw#n514 z=3EhsuQOLR@z{6jcF>OEUkWwD@p-!C#5+$PvQw#`TXni@HiKh0(kS(fZc%zt+Tszy zTIW-q0)_&nDZ9nuDvFKKrw7>aam$bUsel4CDzunRXwL=`>Tygo5WaVlqy{@nwzCWY z48_zjBj<$zt8|`JE!liA3U7oH56-1QXw%y&ig#Am7w@bJC2M|~94&yXp=lA9y%kFU zA{594xqiYbNN@v&$}Ntxvc;O1pVl=PSg-Oa`b1pE%Xdz2bah049M+>%{*{vJZ;J<} zrD(EeDEK{q4hT@e#!XPGGUWPQod`Eu+9SmnbP2zCOfoVNU!o#i68lAM8=KGspN?$6 zm`SyLWI-&_+C(%jgV}&|X-E`QG)o6$3;>#=1NKd90gPM)^vns{R&DZ%E7j47 zka1zV467d08?iGc2K~cY+{ubtbTXs(!pT_RDTj}pZJS4<)`)npbdg8==4}2%GMbjt zo7VK)P`agPo)!|ZAS{-)pI$@WW6D9^cOE7o;{`lWN~6;h^aUyM5;(z=UXp%5F11bz z%vt@HR5d-MB0MZ|&_%Mx;fhBAdA2BD(1j1fIToz_OrX51eo3LP1#9|c^|AnSNhDi^ zDYis~x)(=h@++jyxjYnKFG4p}lTBtUqZ9O+%G!-Mt?1nK4KQg z4BVO*nXv7NPe)*r2Pd-$(^V1k3I{j~tH?v`A~a$vXqIasWHcg2S4FLEu-y%gs6AGB z_lC&YQ%Yp*S!je|$mEQa(4!k@=P7xQ>1@_Eo#s6f%zGqgZE=01nz}`@MinShMwpCf zFc_XFmBdO}c+d82LDnvA@ewA_KsVf3NY~r8OkS*d;`O-1=)qN?D~SLSk5UT3I)>!A zdNcmDX8e3J{*o<=Bbs#P2AFuc0Tg?A5$v2Rg7Nik@TMj>S+xmHR<+%TnRSq7K=+R0 zn3r3!s;N&;8>*QNmUEF+O2^&g9+QqQOi|{T!c$co6pf)gxz$(?3Z(L1(Yc? zS{SXM)9Xf-+(yu^?mpoOEr;}m?udVWMNYqYhiZCBqNMm4nfP4MCd&L zTCkvsxg zjga(Gf0jwmS{Om3xzL0{E?ZjvC2J;$8>(%TPGZ;cnk6yqbT7(XaE`3=uS}#>=|@J!nHO~u_t!FQ z0)JK%sCuQQqEusfaetw(Zo5j(kvcjR=H*XiO`t>3BIc4jBVHS+m2-_Ce=*G&CITRocQ8ijLqOlM~(?SQm%0 z_Ep5;ic;OJl_w3Vavq_I99^x;3F_rtDx7y|VRbnnryN(){9hN1*@2WwWa+r23(cOC z0oBZMZQ1NWt?CQdBYgw4GB6!@$DmD$RzVvDz`jPh92c3kKfna!haZ{doYZ38@WNuJG; zXN%-n)+aLj6m-aUwZfy7Y;(AX*5@faa%;L%93yNMdWuA+tVndKZv8Q*su-Oz*3{Bc z!%@~0h|j`D)lOZDJwbQSXRzU;2{z;mgF6g^doY0YJgEOcHUP6(CLisul~L;Iqx{E$ zfj=&Ak6$0Dg`@BXISGuiQ%D)D2Q_Vthva#SBKVj=yRl9_#hq@c-h%N|$d4cA+BwX4 zP`zHl(~rB;`e@&9&7E0kSB;PM(I$L1AY2QCK|s(j5w~n19HL{=#b6|7`SkVs6-J)S z`rP19&s1kYP8j0YNiIWVuHAb^m#-qy72AULiVxyuop*Ln0BP0sQ~7}Oh6 zFU&7DMDf)3sb>W}In`kdanR#$%t0Q?i>a# zDZ{`;8iibP45`%>4l?}EY9SnKTvjVy&SgSxn#qLh;={fql^zu>qr3-3oz?F4A#=(% z=wt0I`dC}n#~RaSeXMo+$Yf)@R`g+3rMK=Qoxin@biTKbbUy2YR`PMkmrL^3@)YQ- z7M+=G>8(5KtlrugmL<0wtU-La-GFE%@2s=xI_s=vn#6P=(jlnK22L9 z+;lPf)2^54LZgUpbjO63-4nfIQY6Fbd_Jb$G#k?sc?rg3L^^**uGw_X=SlfflB;vZ zVpl48Y`EMceii?Impfb@u52RZTG*T7{Gr|M4a4G&h6M9ihV46ZBZSIz z91J3zMN%^zCyz?Uv2XH7RN#?h>Fer{+FOUHtD^wpRGo{eY&OI^|W#7${CUx7VIwgR*L*)CRIJF8%-Jtl}g zJ51DSaCiq*00t;7Qk4GK*Po9mEXAPI+`OUQ&-L^@>3WNAvTAP{1?LeT=FH6VPRT(>xOruA<&e2ByG*V*L{(1aC^lSV zY6i~92GDA?Y=?0o>*_id$#oqU5zk5DF3({Psz%OpERxY9<2k)a;yFpS!gb=2H32t8 zHUgw&gi%J4`?#4 zWE9K;&E%?a0@#2)cCdSlfMYR)9<%L#7M&Y{qgPXk)U%j{WhOVeqESoXH~e3dOL?Y5 zvH%KdAgAnWXPipnWgDY2A~?dV%Y`s`oSQ(1(s_=9BMN*o9U7^*i&NNyIF|^(^)GH`69NpqXM0!pnt!m^#zjiL?BGgbm;8Vs;5%ceL2+kW5jT)m|h;KHGwa z*d}s6wLQ)rf}lq1_$ifqiEW9aL3+3!#?g5O?};!JXV9*tG3`0NW=jg?YS@T`CY#!} z9=lQUgw_dE`c1NsQs;8ME!M$z>De%N(p(EG0mm#^t~%Guq^A=sf119u9Hn=11I!YU zrIZVhJ}$(}nnYKiMI=<8G^KPKE=FcyFVXBH-k zob=&L$w?okCYw*&ikitakj5`WD~7LiA<=Ux6;y!3c9u8SSZCv4*(%aWCC-Sb`1Tqa zpVMhE5Q}_@!uc~w!ZkB0tT3r78dH&Po04*_G5nUbGiG=iUAM}JfQJ(ZYSobA;xH5Oz|3yT2ll8Q~A<=NXia;V1j; zh<@VP&ql2K842!+^DKhBS@Jr{vJ~w31qs{SMuM7aP2T+ej37s-LFDuy`?W2e97Q- zgD)F=#o((3Uo&{a;Ol}N(^xx$7H$|EF}T^_xWPjVi1h*{_T@)ry2mNcJ^w zvG&fCm^=){vbN?m&lStKb1v#^rIB-1pq&+nufM%$*Aon z!%?kz?sARbwW_&9(A+NL*k zWCN9>1C0a06NoO+Oz(C|0)c{Trvlk2vo1N}aJm^ZlF1Vcq%=7&hgtR5nRTO_RiZAu z8`5)UD`H!A&wxZzDZ0}Mg4;9AmdVWkwq32@nUSpujwW}Ad*Z6a3~($Mi_%lLZK1=G zI9Zc19Ip%XC;st3>e!R|`X19;f$roXr?L?>j~1x)jp6`?;()703%y*F(N}9U0oEsB zRD6EBLBg>!TaY$>O{FG>$-i+gOTC!_QNE~B>LF0$biNM1tb z*-DVYi+6`kmgcAhPtJKT8*Y(AJQZSvkrnwIq56zerS3z?~ zyDDKL3_$l%i633bp4wY3CA<^;VqKXKS+p)e8Wny|b(R2XcMJ)1x-zU+(YhE2_Yv9& zOE|PK3Kh`G%bk(=uAOU7NzynWC6~*LMkUG09mG)Mw5{z15d0k-aL)=E&LO_8MYj0U z5;`q%vyboQu~bD)7BdSp8%Br@?E2Gkpq+JHux!M4R>837f?sCff(btX{n8B)SDS1h zE4FY+R4lNZ)-45x&~5|M%r7GHAUJ{@x1ie3In~|WzT{|r&;K?gL^lThbV?n30B|~? z<|B6WE(Ke>?dvDUH5Kv@>2B$x*dK6U_~p8B6YW75X4*R>e#-`iO`^uE#lvr6p$1rq z?v__?Mm^h&s>vT>rXUaUsvSC9L8GV|-qAxB2;I{v+(P4DLOCc}LC`hPJZV@tY6bZP zr{4e(^E2&hBy6n><^1j@VrZW8A5Ei^m`Mb96Y{t{hYba5d_`+arharGnMp9Em7~qb zJ)9HaO<7N^V4IfHiriI@Yi|~3Z;m56p?`YHIS@b)&SMqGkhPX9;#L+VH(;rl9vuSB z*$Nwnn=svamT`TN)I%zX;@BXW;`p`AI!9f4lN3WHUJ|Q!1_aZ8l2-~7ztlj9to*LW zA{q70WG4P~X)^KWW_&8=`cix*uT(TGihYBoJLhg~x^u3#X)5PUch2QAU{(`rGdEdV zBsUwmhz`r0^F6K(=&0WSjrjVlXy8=cJHqP)8YsDLQC&BKy<~guQA`m;pC$_vwB<<> zT3ZTef1T%3kVo3^H^S@YTi|tb9bPxPc-_qKx@mY}c7F@Jj8k^;TFdcTGrZQsN;zY< zY@eH5DRXD&NoYBDhTat18S-e$+#%%fosC@w+Pp*O3GS9J&f>S^$Sp!^O4ajr8sDg$ zM%GT_mUbFF?KCh{jAFzyR~l?Ij85LrOj34d;3CnWgv7JRIb}tI+!-i1=*%yf`(`j! z;<|`yA*lk<<}EyB@=Gqu0v10dg%g_VrtG}-VS>S`B*)G3`cg{QZ&PfTpLxNvsU>}0 zmH?Eb=$Kg&h+qjsGuV!tjvk28Z`Jj=ea(9=O5f8=?-`akw=EHH8sowq&UER1U9YEm zqQu3_M6fDJ+hZb7grt03W>K4e6?Ny&9`8GwP&i7dnVI9ec`$LfWKjT_1E-U2(z*0L z-@9YS2k$*xy!~%m_BMd`e0p-ngzp`$j}%$is~Pl8rH1N^6**&*8+@<-zK{L*$98=8 z!ikUaEzxiBy*rE70FM3U7sqx@OiYb!=dp8Q>;uQg?)^0H)Z!c6K8|(XxBA}Jlk>ZF z?KysYa{I}-J-fG0P9ER2eQxjk@$FN4PVQNloSHvze9t65ao~Hki5>fQfSc#RQ@!K| zyS?r>G=F^CSn>9d_e@Oen&c%OyvAe79{XKvVq)(E*yx|j-?MAa?#Z3Icaq>rD8%2s z{X6&U-@k9){I22zRCT2c7goV z#N5tZC-(2$Jvq5=a-P=q?jm$z_r8URg}qZJCZ;C#?B09w#L3+!cAq@Hu{U`SC z+kawV|Ng1TeR~%6Ozd5lI6-{jon$^9UDa%ysZ zC(ZAlnA*R4YGN1Bo_ne&Edt(0N$(_6Ab{?PKH?=Uia1!$DnV;CXcb;zo-$LR0 zzDeP~W(pr?4Ik}U!{5j2&_4OiRs7ewir-A*!@Mx{n>7AwMNZO( zOSgSLZ!7&^&)YnC{oltv^GW0Tlsod+m+w%`H_i_@Fv%Vxlb1@|Ciwr60zSXb<$0SuFJ3=-Z5xlD zUcWV6v)7x2^dt7gyFcuw_4N{g9lS%K z`<9IC%?h-4iuY^y{6s$QcC(s#)50RJ01(DMOzsk8ZcQ8Wz6fL41-2936rt@|Y$x$C z?*q_cjCs|M=IccU`gg$a{NAixr3%lSu8P@Pef~mxr;NVt%^iAWfZpZM9j*74_0|8R z(RF>jH&a({=;@{Hl-0S18SH&C(HN^sl+Is^pgCJ#PyPLk_%~7Z1{p|W`ftQ&zB!1$ HA_e{*Gt^h5 literal 367104 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 z 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 diff --git a/src/CommonAssemblyInfo.cs b/src/CommonAssemblyInfo.cs index 19f016c..c522466 100644 --- a/src/CommonAssemblyInfo.cs +++ b/src/CommonAssemblyInfo.cs @@ -11,6 +11,8 @@ [assembly: AssemblyTitle("LinFu")] [assembly: AssemblyProduct("LinFu")] [assembly: AllowPartiallyTrustedCallers] +[assembly: SecurityRules(SecurityRuleSet.Level1)] + // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from diff --git a/src/LinFu.AOP.Interfaces/LinFu.AOP.Interfaces.csproj b/src/LinFu.AOP.Interfaces/LinFu.AOP.Interfaces.csproj index 673c4de..30a9d91 100644 --- a/src/LinFu.AOP.Interfaces/LinFu.AOP.Interfaces.csproj +++ b/src/LinFu.AOP.Interfaces/LinFu.AOP.Interfaces.csproj @@ -1,116 +1,117 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - Library - Properties - LinFu.AOP.Interfaces - LinFu.AOP.Interfaces - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - bin\Debug\LinFu.AOP.Interfaces.XML - - - pdbonly - true - ..\..\build\Release\ - TRACE - prompt - 4 - ..\..\build\Release\LinFu.AOP.Interfaces.XML - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + Library + Properties + LinFu.AOP.Interfaces + LinFu.AOP.Interfaces + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + bin\Debug\LinFu.AOP.Interfaces.XML + + + pdbonly + true + ..\..\build\Release\ + TRACE + prompt + 4 + ..\..\build\Release\LinFu.AOP.Interfaces.XML + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + Properties\CommonAssemblyInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + + --> \ No newline at end of file diff --git a/src/LinFu.AOP.Tasks/LinFu.AOP.Tasks.csproj b/src/LinFu.AOP.Tasks/LinFu.AOP.Tasks.csproj index da21a0a..fd8f8e0 100644 --- a/src/LinFu.AOP.Tasks/LinFu.AOP.Tasks.csproj +++ b/src/LinFu.AOP.Tasks/LinFu.AOP.Tasks.csproj @@ -1,96 +1,97 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {70AB1ECE-216D-43C2-A4DE-52BE01B56D6A} - Library - Properties - LinFu.AOP.Tasks - LinFu.AOP.Tasks - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.AOP.Tasks.XML - - - pdbonly - true - ..\..\build\Release\ - TRACE - prompt - 4 - - - - - - 3.5 - - - False - ..\..\lib\Mono.Cecil.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - CommonAssemblyInfo.cs - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - {613B6547-DCBB-4505-82B8-B4179BFC95CE} - LinFu.AOP.Cecil - - - {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} - LinFu.Reflection.Emit - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {70AB1ECE-216D-43C2-A4DE-52BE01B56D6A} + Library + Properties + LinFu.AOP.Tasks + LinFu.AOP.Tasks + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.AOP.Tasks.XML + + + pdbonly + true + ..\..\build\Release\ + TRACE + prompt + 4 + + + + + + 3.5 + + + False + ..\..\lib\Mono.Cecil.dll + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + CommonAssemblyInfo.cs + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + {613B6547-DCBB-4505-82B8-B4179BFC95CE} + LinFu.AOP.Cecil + + + {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} + LinFu.Reflection.Emit + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + + + + + --> \ No newline at end of file diff --git a/src/LinFu.AOP.Tasks/PostWeaveTask.cs b/src/LinFu.AOP.Tasks/PostWeaveTask.cs index 0dc1f24..1408a6f 100644 --- a/src/LinFu.AOP.Tasks/PostWeaveTask.cs +++ b/src/LinFu.AOP.Tasks/PostWeaveTask.cs @@ -75,7 +75,7 @@ public override bool Execute() { Log.LogMessage("PostWeaving Assembly '{0}' -> '{1}'", TargetFile, outputFile); - AssemblyDefinition assembly = AssemblyFactory.GetAssembly(TargetFile); + AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(TargetFile); string filenameWithoutExtension = Path.GetFileNameWithoutExtension(TargetFile); string pdbFileName = string.Format("{0}.pdb", filenameWithoutExtension); @@ -84,7 +84,7 @@ public override bool Execute() ModuleDefinition module = assembly.MainModule; if (pdbExists) - module.LoadSymbols(); + module.ReadSymbols(); if (InterceptAllMethodCalls) assembly.InterceptAllMethodCalls(); @@ -103,7 +103,7 @@ public override bool Execute() // Update the PDB info if it exists if (pdbExists) - module.SaveSymbols(); + module.Write(pdbFileName); assembly.Save(outputFile); } diff --git a/src/LinFu.AOP/AssemblyDefinitionExtensions.cs b/src/LinFu.AOP/AssemblyDefinitionExtensions.cs index 66eb988..c5b1a8d 100644 --- a/src/LinFu.AOP/AssemblyDefinitionExtensions.cs +++ b/src/LinFu.AOP/AssemblyDefinitionExtensions.cs @@ -19,7 +19,6 @@ public static void RemoveStrongName(this AssemblyDefinition sourceAssembly) nameDef.PublicKey = null; nameDef.PublicKeyToken = null; nameDef.HashAlgorithm = AssemblyHashAlgorithm.None; - nameDef.Flags = ~AssemblyFlags.PublicKey; nameDef.HasPublicKey = false; } } diff --git a/src/LinFu.AOP/BaseMethodRewriter.cs b/src/LinFu.AOP/BaseMethodRewriter.cs index 32ca3ba..d02cc43 100644 --- a/src/LinFu.AOP/BaseMethodRewriter.cs +++ b/src/LinFu.AOP/BaseMethodRewriter.cs @@ -15,19 +15,19 @@ public abstract class BaseMethodRewriter : IMethodRewriter #region IMethodRewriter Members /// - /// Rewrites a target method using the given CilWorker. + /// Rewrites a target method using the given ILProcessor. /// /// The target method. - /// The CilWorker that will be used to rewrite the target method. + /// The ILProcessor that will be used to rewrite the target method. /// The original instructions from the target method body. - public void Rewrite(MethodDefinition method, CilWorker IL, IEnumerable oldInstructions) + public void Rewrite(MethodDefinition method, ILProcessor IL, IEnumerable oldInstructions) { if (!ShouldRewrite(method)) return; TypeDefinition declaringType = method.DeclaringType; - MethodBody body = IL.GetBody(); + MethodBody body = IL.Body; body.InitLocals = true; ModuleDefinition module = declaringType.Module; @@ -90,9 +90,9 @@ protected virtual bool ShouldRewrite(MethodDefinition targetMethod) /// Rewrites the instructions in the target method body. /// /// The target method. - /// The instance that represents the method body. + /// The instance that represents the method body. /// The IL instructions of the original method body. - protected abstract void RewriteMethodBody(MethodDefinition method, CilWorker IL, + protected abstract void RewriteMethodBody(MethodDefinition method, ILProcessor IL, IEnumerable oldInstructions); } } \ No newline at end of file diff --git a/src/LinFu.AOP/BaseReflectionVisitor.cs b/src/LinFu.AOP/BaseReflectionVisitor.cs index 43f6044..cdb1427 100644 --- a/src/LinFu.AOP/BaseReflectionVisitor.cs +++ b/src/LinFu.AOP/BaseReflectionVisitor.cs @@ -1,347 +1,348 @@ -using Mono.Cecil; - -#pragma warning disable 1591 - -namespace LinFu.AOP.Cecil -{ - public abstract class BaseReflectionVisitor : IReflectionVisitor, IReflectionStructureVisitor - { - #region IReflectionStructureVisitor Members - - public virtual void TerminateAssemblyDefinition(AssemblyDefinition asm) - { - } - - public virtual void VisitAssemblyDefinition(AssemblyDefinition asm) - { - VisitCustomAttributeCollection(asm.CustomAttributes); - VisitModuleDefinitionCollection(asm.Modules); - VisitSecurityDeclarationCollection(asm.SecurityDeclarations); - - TerminateAssemblyDefinition(asm); - } - - public virtual void VisitAssemblyLinkedResource(AssemblyLinkedResource res) - { - } - - public virtual void VisitAssemblyNameDefinition(AssemblyNameDefinition name) - { - } - - public virtual void VisitAssemblyNameReference(AssemblyNameReference name) - { - } - - public virtual void VisitEmbeddedResource(EmbeddedResource res) - { - } - - public virtual void VisitLinkedResource(LinkedResource res) - { - } - - public virtual void VisitModuleReference(ModuleReference module) - { - } - - #endregion - - #region Collection Visitors - - #region IReflectionStructureVisitor Members - - public virtual void VisitAssemblyNameReferenceCollection(AssemblyNameReferenceCollection names) - { - foreach (AssemblyNameReference nameRef in names) - { - VisitAssemblyNameReference(nameRef); - } - } - - public virtual void VisitModuleDefinitionCollection(ModuleDefinitionCollection modules) - { - foreach (ModuleDefinition module in modules) - { - VisitModuleDefinition(module); - } - } - - public virtual void VisitModuleReferenceCollection(ModuleReferenceCollection modules) - { - foreach (ModuleReference module in modules) - { - VisitModuleReference(module); - } - } - - public virtual void VisitResourceCollection(ResourceCollection resources) - { - } - - #endregion - - #region IReflectionVisitor Members - - public virtual void VisitTypeDefinition(TypeDefinition type) - { - // Visit the interfaces - VisitInterfaceCollection(type.Interfaces); - - // Visit the constructors - VisitConstructorCollection(type.Constructors); - - // Visit the fields - VisitFieldDefinitionCollection(type.Fields); - - // Visit the methods - VisitMethodDefinitionCollection(type.Methods); - - // Visit the properties - VisitPropertyDefinitionCollection(type.Properties); - - // Visit the events - VisitEventDefinitionCollection(type.Events); - - // Visit the nested types - VisitNestedTypeCollection(type.NestedTypes); - - // Visit the security declaration - VisitSecurityDeclarationCollection(type.SecurityDeclarations); - } - - public virtual void VisitConstructorCollection(ConstructorCollection ctors) - { - foreach (MethodDefinition ctor in ctors) - { - VisitConstructor(ctor); - } - } - - public virtual void VisitCustomAttributeCollection(CustomAttributeCollection customAttrs) - { - foreach (CustomAttribute ca in customAttrs) - { - VisitCustomAttribute(ca); - } - } - - public virtual void VisitEventDefinitionCollection(EventDefinitionCollection events) - { - foreach (EventDefinition eventDef in events) - { - VisitEventDefinition(eventDef); - } - } - - public virtual void VisitExternTypeCollection(ExternTypeCollection externs) - { - foreach (TypeReference type in externs) - { - VisitExternType(type); - } - } - - public virtual void VisitFieldDefinitionCollection(FieldDefinitionCollection fields) - { - foreach (FieldDefinition field in fields) - { - VisitFieldDefinition(field); - } - } - - public virtual void VisitGenericParameterCollection(GenericParameterCollection genparams) - { - foreach (GenericParameter param in genparams) - { - VisitGenericParameter(param); - } - } - - public virtual void VisitInterfaceCollection(InterfaceCollection interfaces) - { - foreach (TypeReference interfaceType in interfaces) - { - VisitInterface(interfaceType); - } - } - - public virtual void VisitMemberReferenceCollection(MemberReferenceCollection members) - { - foreach (MemberReference memberRef in members) - { - VisitMemberReference(memberRef); - } - } - - public virtual void VisitMethodDefinition(MethodDefinition method) - { - // Visit the parameters - VisitParameterDefinitionCollection(method.Parameters); - - // Visit the generic parameters - VisitGenericParameterCollection(method.GenericParameters); - - // Visit the method overrides - VisitOverrideCollection(method.Overrides); - - // Visit the security declarations - VisitSecurityDeclarationCollection(method.SecurityDeclarations); - } - - public virtual void VisitMethodDefinitionCollection(MethodDefinitionCollection methods) - { - foreach (MethodDefinition method in methods) - { - VisitMethodDefinition(method); - } - } - - public virtual void VisitOverrideCollection(OverrideCollection overrides) - { - foreach (MethodReference method in overrides) - { - VisitOverride(method); - } - } - - public virtual void VisitParameterDefinitionCollection(ParameterDefinitionCollection parameters) - { - foreach (ParameterDefinition param in parameters) - { - VisitParameterDefinition(param); - } - } - - public virtual void VisitPropertyDefinitionCollection(PropertyDefinitionCollection properties) - { - foreach (PropertyDefinition property in properties) - { - VisitPropertyDefinition(property); - } - } - - public virtual void VisitSecurityDeclarationCollection(SecurityDeclarationCollection secDecls) - { - foreach (SecurityDeclaration securityDeclaration in secDecls) - { - VisitSecurityDeclaration(securityDeclaration); - } - } - - public virtual void VisitTypeDefinitionCollection(TypeDefinitionCollection types) - { - foreach (TypeDefinition typeDef in types) - { - VisitTypeDefinition(typeDef); - } - } - - public virtual void VisitTypeReferenceCollection(TypeReferenceCollection refs) - { - foreach (TypeReference type in refs) - { - VisitTypeReference(type); - } - } - - #endregion - - #endregion - - #region IReflectionVisitor Members - - public virtual void TerminateModuleDefinition(ModuleDefinition module) - { - VisitTypeDefinitionCollection(module.Types); - } - - public virtual void VisitConstructor(MethodDefinition ctor) - { - } - - public virtual void VisitCustomAttribute(CustomAttribute customAttr) - { - } - - public virtual void VisitEventDefinition(EventDefinition evt) - { - } - - public virtual void VisitExternType(TypeReference externType) - { - } - - public virtual void VisitFieldDefinition(FieldDefinition field) - { - } - - public virtual void VisitGenericParameter(GenericParameter genparam) - { - } - - public virtual void VisitInterface(TypeReference interf) - { - } - - public virtual void VisitMarshalSpec(MarshalSpec marshalSpec) - { - } - - public virtual void VisitMemberReference(MemberReference member) - { - } - - public virtual void VisitModuleDefinition(ModuleDefinition module) - { - VisitCustomAttributeCollection(module.CustomAttributes); - VisitResourceCollection(module.Resources); - VisitAssemblyNameReferenceCollection(module.AssemblyReferences); - VisitModuleReferenceCollection(module.ModuleReferences); - VisitMemberReferenceCollection(module.MemberReferences); - VisitTypeReferenceCollection(module.TypeReferences); - VisitExternTypeCollection(module.ExternTypes); - TerminateModuleDefinition(module); - } - - public virtual void VisitNestedTypeCollection(NestedTypeCollection nestedTypes) - { - foreach (TypeDefinition nestedType in nestedTypes) - { - VisitNestedType(nestedType); - } - } - - public virtual void VisitOverride(MethodReference ov) - { - } - - public virtual void VisitSecurityDeclaration(SecurityDeclaration secDecl) - { - } - - public virtual void VisitPInvokeInfo(PInvokeInfo pinvk) - { - } - - public virtual void VisitParameterDefinition(ParameterDefinition parameter) - { - } - - public virtual void VisitPropertyDefinition(PropertyDefinition property) - { - } - - public virtual void VisitNestedType(TypeDefinition nestedType) - { - } - - public virtual void VisitTypeReference(TypeReference type) - { - } - - #endregion - } -} - +using System.Collections.Generic; +using Mono.Cecil; + +#pragma warning disable 1591 + +namespace LinFu.AOP.Cecil +{ + public abstract class BaseReflectionVisitor + { + #region IReflectionStructureVisitor Members + + public virtual void TerminateAssemblyDefinition(AssemblyDefinition asm) + { + } + + public virtual void VisitAssemblyDefinition(AssemblyDefinition asm) + { + VisitCustomAttributeCollection(asm.CustomAttributes); + VisitModuleDefinitionCollection(asm.Modules); + VisitSecurityDeclarationCollection(asm.SecurityDeclarations); + + TerminateAssemblyDefinition(asm); + } + + public virtual void VisitAssemblyLinkedResource(AssemblyLinkedResource res) + { + } + + public virtual void VisitAssemblyNameDefinition(AssemblyNameDefinition name) + { + } + + public virtual void VisitAssemblyNameReference(AssemblyNameReference name) + { + } + + public virtual void VisitEmbeddedResource(EmbeddedResource res) + { + } + + public virtual void VisitLinkedResource(LinkedResource res) + { + } + + public virtual void VisitModuleReference(ModuleReference module) + { + } + + #endregion + + #region Collection Visitors + + #region IReflectionStructureVisitor Members + + public virtual void VisitAssemblyNameReferenceCollection(IEnumerable names) + { + foreach (AssemblyNameReference nameRef in names) + { + VisitAssemblyNameReference(nameRef); + } + } + + public virtual void VisitModuleDefinitionCollection(IEnumerable modules) + { + foreach (ModuleDefinition module in modules) + { + VisitModuleDefinition(module); + } + } + + public virtual void VisitModuleReferenceCollection(IEnumerable modules) + { + foreach (ModuleReference module in modules) + { + VisitModuleReference(module); + } + } + + public virtual void VisitResourceCollection(IEnumerable resources) + { + } + + #endregion + + #region IReflectionVisitor Members + + public virtual void VisitTypeDefinition(TypeDefinition type) + { + // Visit the interfaces + VisitInterfaceCollection(type.Interfaces); + + // Visit the constructors + //VisitConstructorCollection(type.Constructors); + + // Visit the fields + VisitFieldDefinitionCollection(type.Fields); + + // Visit the methods + VisitMethodDefinitionCollection(type.Methods); + + // Visit the properties + VisitPropertyDefinitionCollection(type.Properties); + + // Visit the events + VisitEventDefinitionCollection(type.Events); + + // Visit the nested types + VisitNestedTypeCollection(type.NestedTypes); + + // Visit the security declaration + VisitSecurityDeclarationCollection(type.SecurityDeclarations); + } + + public virtual void VisitConstructorCollection(IEnumerable ctors) + { + foreach (MethodDefinition ctor in ctors) + { + VisitConstructor(ctor); + } + } + + public virtual void VisitCustomAttributeCollection(IEnumerable customAttrs) + { + foreach (CustomAttribute ca in customAttrs) + { + VisitCustomAttribute(ca); + } + } + + public virtual void VisitEventDefinitionCollection(IEnumerable events) + { + foreach (EventDefinition eventDef in events) + { + VisitEventDefinition(eventDef); + } + } + + public virtual void VisitExternTypeCollection(IEnumerable externs) + { + foreach (TypeReference type in externs) + { + VisitExternType(type); + } + } + + public virtual void VisitFieldDefinitionCollection(IEnumerable fields) + { + foreach (FieldDefinition field in fields) + { + VisitFieldDefinition(field); + } + } + + public virtual void VisitGenericParameterCollection(IEnumerable genparams) + { + foreach (GenericParameter param in genparams) + { + VisitGenericParameter(param); + } + } + + public virtual void VisitInterfaceCollection(IEnumerable interfaces) + { + foreach (TypeReference interfaceType in interfaces) + { + VisitInterface(interfaceType); + } + } + + public virtual void VisitMemberReferenceCollection(IEnumerable members) + { + foreach (MemberReference memberRef in members) + { + VisitMemberReference(memberRef); + } + } + + public virtual void VisitMethodDefinition(MethodDefinition method) + { + // Visit the parameters + VisitParameterDefinitionCollection(method.Parameters); + + // Visit the generic parameters + VisitGenericParameterCollection(method.GenericParameters); + + // Visit the method overrides + VisitOverrideCollection(method.Overrides); + + // Visit the security declarations + VisitSecurityDeclarationCollection(method.SecurityDeclarations); + } + + public virtual void VisitMethodDefinitionCollection(IEnumerable methods) + { + foreach (MethodDefinition method in methods) + { + VisitMethodDefinition(method); + } + } + + public virtual void VisitOverrideCollection(IEnumerable overrides) + { + foreach (MethodReference method in overrides) + { + VisitOverride(method); + } + } + + public virtual void VisitParameterDefinitionCollection(IEnumerable parameters) + { + foreach (ParameterDefinition param in parameters) + { + VisitParameterDefinition(param); + } + } + + public virtual void VisitPropertyDefinitionCollection(IEnumerable properties) + { + foreach (PropertyDefinition property in properties) + { + VisitPropertyDefinition(property); + } + } + + public virtual void VisitSecurityDeclarationCollection(IEnumerable secDecls) + { + foreach (SecurityDeclaration securityDeclaration in secDecls) + { + VisitSecurityDeclaration(securityDeclaration); + } + } + + public virtual void VisitTypeDefinitionCollection(IEnumerable types) + { + foreach (TypeDefinition typeDef in types) + { + VisitTypeDefinition(typeDef); + } + } + + public virtual void VisitTypeReferenceCollection(IEnumerable refs) + { + foreach (TypeReference type in refs) + { + VisitTypeReference(type); + } + } + + #endregion + + #endregion + + #region IReflectionVisitor Members + + public virtual void TerminateModuleDefinition(ModuleDefinition module) + { + VisitTypeDefinitionCollection(module.Types); + } + + public virtual void VisitConstructor(MethodDefinition ctor) + { + } + + public virtual void VisitCustomAttribute(CustomAttribute customAttr) + { + } + + public virtual void VisitEventDefinition(EventDefinition evt) + { + } + + public virtual void VisitExternType(TypeReference externType) + { + } + + public virtual void VisitFieldDefinition(FieldDefinition field) + { + } + + public virtual void VisitGenericParameter(GenericParameter genparam) + { + } + + public virtual void VisitInterface(TypeReference interf) + { + } + + public virtual void VisitMarshalSpec(MarshalInfo marshalInfo) + { + } + + public virtual void VisitMemberReference(MemberReference member) + { + } + + public virtual void VisitModuleDefinition(ModuleDefinition module) + { + VisitCustomAttributeCollection(module.CustomAttributes); + VisitResourceCollection(module.Resources); + VisitAssemblyNameReferenceCollection(module.AssemblyReferences); + VisitModuleReferenceCollection(module.ModuleReferences); + VisitMemberReferenceCollection(module.GetMemberReferences()); + VisitTypeReferenceCollection(module.GetTypeReferences()); + //VisitExternTypeCollection(module.ExternTypes); + TerminateModuleDefinition(module); + } + + public virtual void VisitNestedTypeCollection(IEnumerable nestedTypes) + { + foreach (TypeDefinition nestedType in nestedTypes) + { + VisitNestedType(nestedType); + } + } + + public virtual void VisitOverride(MethodReference ov) + { + } + + public virtual void VisitSecurityDeclaration(SecurityDeclaration secDecl) + { + } + + public virtual void VisitPInvokeInfo(PInvokeInfo pinvk) + { + } + + public virtual void VisitParameterDefinition(ParameterDefinition parameter) + { + } + + public virtual void VisitPropertyDefinition(PropertyDefinition property) + { + } + + public virtual void VisitNestedType(TypeDefinition nestedType) + { + } + + public virtual void VisitTypeReference(TypeReference type) + { + } + + #endregion + } +} + #pragma warning restore 1591 \ No newline at end of file diff --git a/src/LinFu.AOP/CatchAllThrownExceptions.cs b/src/LinFu.AOP/CatchAllThrownExceptions.cs index fc2abf6..ed90e0a 100644 --- a/src/LinFu.AOP/CatchAllThrownExceptions.cs +++ b/src/LinFu.AOP/CatchAllThrownExceptions.cs @@ -42,7 +42,7 @@ public override void AddLocals(MethodDefinition hostMethod) _exceptionHandler = hostMethod.AddLocal(); _exceptionInfo = hostMethod.AddLocal(); - TypeReference returnType = hostMethod.ReturnType.ReturnType; + TypeReference returnType = hostMethod.ReturnType; if (returnType != _voidType) _returnValue = hostMethod.AddLocal(); } @@ -51,9 +51,9 @@ public override void AddLocals(MethodDefinition hostMethod) /// Rewrites the instructions in the target method body to support dynamic exception handling. /// /// The target method. - /// The instance that represents the method body. + /// The instance that represents the method body. /// The IL instructions of the original method body. - protected override void RewriteMethodBody(MethodDefinition targetMethod, CilWorker IL, + protected override void RewriteMethodBody(MethodDefinition targetMethod, ILProcessor IL, IEnumerable oldInstructions) { Instruction endOfOriginalInstructionBlock = IL.Create(OpCodes.Nop); @@ -61,10 +61,10 @@ protected override void RewriteMethodBody(MethodDefinition targetMethod, CilWork Instruction endLabel = IL.Create(OpCodes.Nop); - Instruction tryStart = IL.Emit(OpCodes.Nop); - Instruction tryEnd = IL.Emit(OpCodes.Nop); - Instruction catchStart = IL.Emit(OpCodes.Nop); - Instruction catchEnd = IL.Emit(OpCodes.Nop); + Instruction tryStart = IL.Create(OpCodes.Nop); + Instruction tryEnd = IL.Create(OpCodes.Nop); + Instruction catchStart = IL.Create(OpCodes.Nop); + Instruction catchEnd = IL.Create(OpCodes.Nop); ModuleDefinition module = IL.GetModule(); var handler = new ExceptionHandler(ExceptionHandlerType.Catch); @@ -81,7 +81,7 @@ protected override void RewriteMethodBody(MethodDefinition targetMethod, CilWork var emitter = new InvocationInfoEmitter(true); - TypeReference returnType = targetMethod.ReturnType.ReturnType; + TypeReference returnType = targetMethod.ReturnType; // try { IL.Append(tryStart); @@ -174,7 +174,7 @@ protected override void RewriteMethodBody(MethodDefinition targetMethod, CilWork /// The instance that will emit the current method context. private void SaveExceptionInfo(MethodDefinition targetMethod, IEmitInvocationInfo emitter) { - CilWorker IL = targetMethod.GetILGenerator(); + ILProcessor IL = targetMethod.GetILGenerator(); ModuleDefinition module = IL.GetModule(); emitter.Emit(targetMethod, targetMethod, _invocationInfo); @@ -187,7 +187,7 @@ private void SaveExceptionInfo(MethodDefinition targetMethod, IEmitInvocationInf IL.Emit(OpCodes.Newobj, exceptionInfoConstructor); IL.Emit(OpCodes.Stloc, _exceptionInfo); - TypeReference returnType = targetMethod.ReturnType.ReturnType; + TypeReference returnType = targetMethod.ReturnType; if (returnType == _voidType || _returnValue == null) return; diff --git a/src/LinFu.AOP/Emitters/AddMethodReplacementImplementation.cs b/src/LinFu.AOP/Emitters/AddMethodReplacementImplementation.cs index 1f87c1f..941cbe9 100644 --- a/src/LinFu.AOP/Emitters/AddMethodReplacementImplementation.cs +++ b/src/LinFu.AOP/Emitters/AddMethodReplacementImplementation.cs @@ -37,11 +37,11 @@ public AddMethodReplacementImplementation(IMethodBodyRewriterParameters paramete /// /// Adds method body interception to the target method. /// - /// The pointing to the target method body. - public void Emit(CilWorker IL) + /// The pointing to the target method body. + public void Emit(ILProcessor IL) { MethodDefinition method = IL.GetMethod(); - TypeReference returnType = method.ReturnType.ReturnType; + TypeReference returnType = method.ReturnType; Instruction endLabel = IL.Create(OpCodes.Nop); Instruction executeOriginalInstructions = IL.Create(OpCodes.Nop); diff --git a/src/LinFu.AOP/Emitters/AddOriginalInstructions.cs b/src/LinFu.AOP/Emitters/AddOriginalInstructions.cs index cb99c8d..9fffe61 100644 --- a/src/LinFu.AOP/Emitters/AddOriginalInstructions.cs +++ b/src/LinFu.AOP/Emitters/AddOriginalInstructions.cs @@ -29,8 +29,8 @@ public AddOriginalInstructions(IEnumerable oldInstructions, Instruc /// /// Adds the original instructions to a given method body. /// - /// The responsible for the target method body. - public void Emit(CilWorker IL) + /// The responsible for the target method body. + public void Emit(ILProcessor IL) { var originalInstructions = new List(_oldInstructions); Instruction lastInstruction = originalInstructions.LastOrDefault(); diff --git a/src/LinFu.AOP/Emitters/EmitAfterInvoke.cs b/src/LinFu.AOP/Emitters/EmitAfterInvoke.cs index 0e56c5d..2c88be1 100644 --- a/src/LinFu.AOP/Emitters/EmitAfterInvoke.cs +++ b/src/LinFu.AOP/Emitters/EmitAfterInvoke.cs @@ -38,8 +38,8 @@ public EmitAfterInvoke(VariableDefinition surroundingImplementation, /// /// Emits the call to the instance. /// - /// The that points to the current method body. - public void Emit(CilWorker IL) + /// The that points to the current method body. + public void Emit(ILProcessor IL) { ModuleDefinition module = IL.GetModule(); @@ -52,7 +52,7 @@ public void Emit(CilWorker IL) #endregion - private static void Emit(CilWorker IL, ModuleDefinition module, + private static void Emit(ILProcessor IL, ModuleDefinition module, VariableDefinition surroundingImplementation, VariableDefinition invocationInfo, VariableDefinition returnValue) diff --git a/src/LinFu.AOP/Emitters/EmitBeforeInvoke.cs b/src/LinFu.AOP/Emitters/EmitBeforeInvoke.cs index c424bbd..efb15f0 100644 --- a/src/LinFu.AOP/Emitters/EmitBeforeInvoke.cs +++ b/src/LinFu.AOP/Emitters/EmitBeforeInvoke.cs @@ -40,8 +40,8 @@ public EmitBeforeInvoke(VariableDefinition invocationInfo, /// /// Emits the call to the instance. /// - /// The that points to the current method body. - public void Emit(CilWorker IL) + /// The that points to the current method body. + public void Emit(ILProcessor IL) { MethodDefinition targetMethod = IL.GetMethod(); TypeDefinition declaringType = targetMethod.DeclaringType; diff --git a/src/LinFu.AOP/Emitters/GetAroundInvokeProvider.cs b/src/LinFu.AOP/Emitters/GetAroundInvokeProvider.cs index c3c466a..aed63aa 100644 --- a/src/LinFu.AOP/Emitters/GetAroundInvokeProvider.cs +++ b/src/LinFu.AOP/Emitters/GetAroundInvokeProvider.cs @@ -30,8 +30,8 @@ public GetAroundInvokeProvider(VariableDefinition aroundInvokeProvider, string p /// /// Emits the call to obtain the instance. /// - /// The pointing to the target method body. - public void Emit(CilWorker IL) + /// The pointing to the target method body. + public void Emit(ILProcessor IL) { MethodDefinition method = IL.GetMethod(); ModuleDefinition module = IL.GetModule(); diff --git a/src/LinFu.AOP/Emitters/GetClassMethodReplacementProvider.cs b/src/LinFu.AOP/Emitters/GetClassMethodReplacementProvider.cs index 530d94f..6a364da 100644 --- a/src/LinFu.AOP/Emitters/GetClassMethodReplacementProvider.cs +++ b/src/LinFu.AOP/Emitters/GetClassMethodReplacementProvider.cs @@ -49,8 +49,8 @@ public GetClassMethodReplacementProvider(VariableDefinition invocationInfo, /// /// Emits the instructions that obtain a class-level instance. /// - /// The instance that points to the instructions in the method body. - public void Emit(CilWorker IL) + /// The instance that points to the instructions in the method body. + public void Emit(ILProcessor IL) { ModuleDefinition module = IL.GetModule(); MethodDefinition method = IL.GetMethod(); diff --git a/src/LinFu.AOP/Emitters/GetInterceptionDisabled.cs b/src/LinFu.AOP/Emitters/GetInterceptionDisabled.cs index a84ad87..6a08263 100644 --- a/src/LinFu.AOP/Emitters/GetInterceptionDisabled.cs +++ b/src/LinFu.AOP/Emitters/GetInterceptionDisabled.cs @@ -40,8 +40,8 @@ public GetInterceptionDisabled(MethodReference hostMethod, VariableDefinition in /// /// Emits the instructions that determine whether or not method interception is disabled. /// - /// The instance responsible for adding or removing instructions to the method body. - public void Emit(CilWorker IL) + /// The instance responsible for adding or removing instructions to the method body. + public void Emit(ILProcessor IL) { ModuleDefinition module = IL.GetModule(); TypeReference modifiableType = module.ImportType(); diff --git a/src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs b/src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs index 2208b27..b806c48 100644 --- a/src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs +++ b/src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs @@ -34,8 +34,8 @@ public GetMethodReplacementProvider(VariableDefinition methodReplacementProvider /// /// Emits the instructions that obtain the instance. /// - /// The instance. - public void Emit(CilWorker IL) + /// The instance. + public void Emit(ILProcessor IL) { MethodDefinition method = _hostMethod; TypeDefinition declaringType = method.DeclaringType; diff --git a/src/LinFu.AOP/Emitters/GetSurroundingClassImplementation.cs b/src/LinFu.AOP/Emitters/GetSurroundingClassImplementation.cs index 1cf18f0..2cba535 100644 --- a/src/LinFu.AOP/Emitters/GetSurroundingClassImplementation.cs +++ b/src/LinFu.AOP/Emitters/GetSurroundingClassImplementation.cs @@ -36,8 +36,8 @@ public GetSurroundingClassImplementation(VariableDefinition invocationInfo, /// /// Emits the instructions that obtain the instance. /// - /// The that points to the current method body. - public void Emit(CilWorker IL) + /// The that points to the current method body. + public void Emit(ILProcessor IL) { MethodDefinition method = IL.GetMethod(); TypeDefinition declaringType = method.DeclaringType; diff --git a/src/LinFu.AOP/Emitters/GetSurroundingImplementationInstance.cs b/src/LinFu.AOP/Emitters/GetSurroundingImplementationInstance.cs index fc0c087..e949715 100644 --- a/src/LinFu.AOP/Emitters/GetSurroundingImplementationInstance.cs +++ b/src/LinFu.AOP/Emitters/GetSurroundingImplementationInstance.cs @@ -40,7 +40,7 @@ public GetSurroundingImplementationInstance(VariableDefinition aroundInvokeProvi /// Emits the instructions that obtain the current instance. /// /// - public void Emit(CilWorker IL) + public void Emit(ILProcessor IL) { ModuleDefinition module = IL.GetModule(); diff --git a/src/LinFu.AOP/Emitters/InvokeMethodReplacement.cs b/src/LinFu.AOP/Emitters/InvokeMethodReplacement.cs index 408c41e..aa835fa 100644 --- a/src/LinFu.AOP/Emitters/InvokeMethodReplacement.cs +++ b/src/LinFu.AOP/Emitters/InvokeMethodReplacement.cs @@ -40,12 +40,12 @@ public InvokeMethodReplacement(Instruction executeOriginalInstructions, /// /// Emits the instructions that call the method replacement instead of the original method body. /// - /// The that points to the current method body. - public void Emit(CilWorker IL) + /// The that points to the current method body. + public void Emit(ILProcessor IL) { ModuleDefinition module = IL.GetModule(); MethodDefinition method = IL.GetMethod(); - TypeReference returnType = method.ReturnType.ReturnType; + TypeReference returnType = method.ReturnType; VariableDefinition methodReplacement = MethodDefinitionExtensions.AddLocal(method, typeof (IInterceptor)); GetMethodReplacementInstance(method, IL, methodReplacement, _methodReplacementProvider, _invocationInfo); @@ -66,7 +66,7 @@ public void Emit(CilWorker IL) #endregion - private static void InvokeInterceptor(ModuleDefinition module, CilWorker IL, + private static void InvokeInterceptor(ModuleDefinition module, ILProcessor IL, VariableDefinition methodReplacement, TypeReference returnType, VariableDefinition invocationInfo) { @@ -78,7 +78,7 @@ private static void InvokeInterceptor(ModuleDefinition module, CilWorker IL, } private static void GetMethodReplacementInstance(MethodDefinition method, - CilWorker IL, + ILProcessor IL, VariableDefinition methodReplacement, VariableDefinition methodReplacementProvider, VariableDefinition invocationInfo) diff --git a/src/LinFu.AOP/Emitters/SaveReturnValue.cs b/src/LinFu.AOP/Emitters/SaveReturnValue.cs index c0d67bf..193fcb9 100644 --- a/src/LinFu.AOP/Emitters/SaveReturnValue.cs +++ b/src/LinFu.AOP/Emitters/SaveReturnValue.cs @@ -29,8 +29,8 @@ public SaveReturnValue(TypeReference returnType, VariableDefinition returnValue) /// /// Saves the return value from a given method call. /// - /// The pointing to the target method body. - public void Emit(CilWorker IL) + /// The pointing to the target method body. + public void Emit(ILProcessor IL) { ModuleDefinition module = IL.GetModule(); TypeReference voidType = module.ImportType(typeof (void)); @@ -39,7 +39,7 @@ public void Emit(CilWorker IL) if (_returnType is GenericParameter || returnTypeIsValueType) IL.Create(OpCodes.Box, _returnType); - if (_returnType != voidType) + if (_returnType.FullName != voidType.FullName) IL.Create(OpCodes.Stloc, _returnValue); } diff --git a/src/LinFu.AOP/Emitters/SurroundMethodBody.cs b/src/LinFu.AOP/Emitters/SurroundMethodBody.cs index f7c55bc..a1ea4a5 100644 --- a/src/LinFu.AOP/Emitters/SurroundMethodBody.cs +++ b/src/LinFu.AOP/Emitters/SurroundMethodBody.cs @@ -79,8 +79,8 @@ public SurroundMethodBody(VariableDefinition methodReplacementProvider, /// /// Adds a prolog to the given method body. /// - /// The that points to the given method body. - public void AddProlog(CilWorker IL) + /// The that points to the given method body. + public void AddProlog(ILProcessor IL) { MethodDefinition method = IL.GetMethod(); _surroundingImplementation = method.AddLocal(); @@ -131,8 +131,8 @@ public void AddProlog(CilWorker IL) /// /// Adds an epilog to the given method body. /// - /// The that points to the given method body. - public void AddEpilog(CilWorker IL) + /// The that points to the given method body. + public void AddEpilog(ILProcessor IL) { Instruction skipEpilog = IL.Create(OpCodes.Nop); diff --git a/src/LinFu.AOP/Extensions/CecilVisitorExtensions.cs b/src/LinFu.AOP/Extensions/CecilVisitorExtensions.cs index 42d3725..8970179 100644 --- a/src/LinFu.AOP/Extensions/CecilVisitorExtensions.cs +++ b/src/LinFu.AOP/Extensions/CecilVisitorExtensions.cs @@ -1,59 +1,272 @@ -using LinFu.AOP.Cecil.Interfaces; -using Mono.Cecil; - -namespace LinFu.AOP.Cecil.Extensions -{ - /// - /// A helper class that extends Cecil to support LinFu's weaver model. - /// - public static class CecilVisitorExtensions - { - /// - /// Allows a instance to traverse any - /// instance. - /// - /// The visitable object. - /// The type weaver. - public static void Accept(this IReflectionVisitable visitable, ITypeWeaver typeWeaver) - { - var visitor = new TypeWeaverVisitor(typeWeaver); - visitable.Accept(visitor); - } - - /// - /// Allows a instance to traverse any - /// instance. - /// - /// The visitable object. - /// The type weaver. - public static void Accept(this IReflectionStructureVisitable visitable, ITypeWeaver typeWeaver) - { - var visitor = new TypeWeaverVisitor(typeWeaver); - visitable.Accept(visitor); - } - - /// - /// Allows a instance to traverse any - /// instance. - /// - /// The visitable object. - /// The method weaver. - public static void Accept(this IReflectionStructureVisitable visitable, IMethodWeaver methodWeaver) - { - var visitor = new MethodWeaverVisitor(methodWeaver); - visitable.Accept(visitor); - } - - /// - /// Allows a instance to traverse any - /// instance. - /// - /// The visitable object. - /// The method weaver. - public static void Accept(this IReflectionVisitable visitable, IMethodWeaver methodWeaver) - { - var visitor = new MethodWeaverVisitor(methodWeaver); - visitable.Accept(visitor); - } - } +using System; +using System.Collections.Generic; +using LinFu.AOP.Cecil.Interfaces; +using Mono.Cecil; + +namespace LinFu.AOP.Cecil.Extensions +{ + /// + /// A helper class that extends Cecil to support LinFu's weaver model. + /// + public static class CecilVisitorExtensions + { + /// + /// Allows a instance to traverse any + /// instance. + /// + /// The visitable object. + /// The type weaver. + public static void Accept(this object visitable, ITypeWeaver typeWeaver) + { + var visitor = new TypeWeaverVisitor(typeWeaver); + visitable.Accept(visitor); + } + + /// + /// Allows a instance to traverse any + /// instance. + /// + /// The visitable object. + /// The method weaver. + public static void Accept(this object visitable, IMethodWeaver methodWeaver) + { + var visitor = new MethodWeaverVisitor(methodWeaver); + visitable.Accept(visitor); + } + + public static void Accept(this object visitable, BaseReflectionVisitor visitor) + { + if (visitable is AssemblyDefinition) { + var assemblyDefinition = (AssemblyDefinition) visitable; + assemblyDefinition.Accept(visitor); + } else if (visitable is TypeDefinition) { + var typeDefinition = (TypeDefinition) visitable; + typeDefinition.Accept(visitor); + } else { + throw new NotImplementedException(); + } + } + + + public static void Accept(this AssemblyDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitAssemblyDefinition (visitable); + + visitable.Name.Accept (visitor); + visitable.Modules.Accept (visitor); + + visitor.TerminateAssemblyDefinition (visitable); + } + + public static void Accept(this AssemblyLinkedResource visitable, BaseReflectionVisitor visitor) + { + visitor.VisitAssemblyLinkedResource (visitable); + } + + public static void Accept(this AssemblyNameDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitAssemblyNameDefinition (visitable); + } + + public static void Accept(this AssemblyNameReference visitable, BaseReflectionVisitor visitor) + { + visitor.VisitAssemblyNameReference (visitable); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitAssemblyNameReferenceCollection (visitable); + } + + public static void Accept(this EmbeddedResource visitable, BaseReflectionVisitor visitor) + { + visitor.VisitEmbeddedResource (visitable); + } + + public static void Accept(this LinkedResource visitable, BaseReflectionVisitor visitor) + { + visitor.VisitLinkedResource (visitable); + } + + public static void Accept(this ModuleDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitModuleDefinition (visitable); + + visitable.AssemblyReferences.Accept (visitor); + visitable.ModuleReferences.Accept (visitor); + visitable.Resources.Accept (visitor); + + /////// + + visitable.Types.Accept (visitor); + visitable.GetTypeReferences().Accept (visitor); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitModuleDefinitionCollection (visitable); + } + + public static void Accept(this ModuleReference visitable, BaseReflectionVisitor visitor) + { + visitor.VisitModuleReference (visitable); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitModuleReferenceCollection (visitable); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitResourceCollection (visitable); + } + + public static void Accept(this CustomAttribute visitable, BaseReflectionVisitor visitor) + { + visitor.VisitCustomAttribute (visitable); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitCustomAttributeCollection (visitable); + } + + public static void Accept(this EventDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitEventDefinition (visitable); + + visitable.CustomAttributes.Accept (visitor); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitEventDefinitionCollection (visitable); + } + + public static void Accept(this FieldDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitFieldDefinition (visitable); + + //if (visitable.MarshalSpec != null) + // visitable.MarshalSpec.Accept (visitor); + + visitable.CustomAttributes.Accept (visitor); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitFieldDefinitionCollection (visitable); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitGenericParameterCollection (visitable); + } + + public static void Accept(this MemberReference visitable, BaseReflectionVisitor visitor) + { + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitMemberReferenceCollection (visitable); + } + + public static void Accept(this MethodDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitMethodDefinition (visitable); + + visitable.GenericParameters.Accept (visitor); + visitable.Parameters.Accept (visitor); + + if (visitable.PInvokeInfo != null) + visitable.PInvokeInfo.Accept (visitor); + + visitable.SecurityDeclarations.Accept (visitor); + //visitable.Overrides.Accept (visitor); + visitable.CustomAttributes.Accept (visitor); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitMethodDefinitionCollection (visitable); + } + + public static void Accept(this ParameterDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitParameterDefinition (visitable); + + //if (visitable.MarshalSpec != null) + // visitable.MarshalSpec.Accept (visitor); + + visitable.CustomAttributes.Accept (visitor); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitParameterDefinitionCollection (visitable); + } + + public static void Accept(this ParameterReference visitable, BaseReflectionVisitor visitor) + { + } + + public static void Accept(this PInvokeInfo visitable, BaseReflectionVisitor visitor) + { + visitor.VisitPInvokeInfo (visitable); + } + + public static void Accept(this PropertyDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitPropertyDefinition (visitable); + + visitable.CustomAttributes.Accept (visitor); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitPropertyDefinitionCollection (visitable); + } + + public static void Accept(this SecurityDeclaration visitable, BaseReflectionVisitor visitor) + { + visitor.VisitSecurityDeclaration (visitable); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitSecurityDeclarationCollection (visitable); + } + + public static void Accept(this TypeDefinition visitable, BaseReflectionVisitor visitor) + { + visitor.VisitTypeDefinition (visitable); + + visitable.GenericParameters.Accept (visitor); + visitable.Interfaces.Accept (visitor); + //visitable.Constructors.Accept (visitor); + visitable.Methods.Accept (visitor); + visitable.Fields.Accept (visitor); + visitable.Properties.Accept (visitor); + visitable.Events.Accept (visitor); + visitable.NestedTypes.Accept (visitor); + visitable.CustomAttributes.Accept (visitor); + visitable.SecurityDeclarations.Accept (visitor); + } + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitTypeDefinitionCollection (visitable); + } + + public static void Accept(this TypeReference visitable, BaseReflectionVisitor visitor) + { + visitor.VisitTypeReference (visitable); + } + + public static void Accept(this IEnumerable visitable, BaseReflectionVisitor visitor) + { + visitor.VisitTypeReferenceCollection (visitable); + } + } } \ No newline at end of file diff --git a/src/LinFu.AOP/Extensions/ExceptionHandlerInterceptionExtensions.cs b/src/LinFu.AOP/Extensions/ExceptionHandlerInterceptionExtensions.cs index ebcacd0..d2051a4 100644 --- a/src/LinFu.AOP/Extensions/ExceptionHandlerInterceptionExtensions.cs +++ b/src/LinFu.AOP/Extensions/ExceptionHandlerInterceptionExtensions.cs @@ -13,38 +13,18 @@ public static class ExceptionHandlerInterceptionExtensions /// Enables exception interception on the given type. /// /// The target type. - public static void InterceptAllExceptions(this IReflectionVisitable visitable) + public static void InterceptAllExceptions(this object visitable) { Func filter = GetMethodFilter(); InterceptExceptions(visitable, filter); } - /// - /// Enables exception interception on the given type. - /// - /// The target type. - public static void InterceptAllExceptions(this IReflectionStructureVisitable visitable) - { - Func filter = GetMethodFilter(); - InterceptExceptions(visitable, filter); - } - - /// - /// Enables exception interception on the given type. - /// - /// The target type. - /// The instance that will determine which methods should support exception interception. - public static void InterceptExceptions(this IReflectionVisitable visitable, IMethodFilter methodFilter) - { - visitable.InterceptExceptions(methodFilter.ShouldWeave); - } - /// /// Enables exception interception on the given type. /// /// The target type. /// The instance that will determine which methods should support exception interception. - public static void InterceptExceptions(this IReflectionStructureVisitable visitable, IMethodFilter methodFilter) + public static void InterceptExceptions(this object visitable, IMethodFilter methodFilter) { visitable.InterceptExceptions(methodFilter.ShouldWeave); } @@ -54,22 +34,7 @@ public static void InterceptExceptions(this IReflectionStructureVisitable visita /// /// The target type. /// The method filter functor that will determine which methods should support exception interception. - public static void InterceptExceptions(this IReflectionStructureVisitable visitable, - Func methodFilter) - { - if (visitable == null) - throw new ArgumentNullException("visitable"); - - var catchAllThrownExceptions = new CatchAllThrownExceptions(); - visitable.WeaveWith(catchAllThrownExceptions, methodFilter); - } - - /// - /// Enables exception interception on the given type. - /// - /// The target type. - /// The method filter functor that will determine which methods should support exception interception. - public static void InterceptExceptions(this IReflectionVisitable visitable, + public static void InterceptExceptions(this object visitable, Func methodFilter) { if (visitable == null) diff --git a/src/LinFu.AOP/Extensions/FieldInterceptionExtensions.cs b/src/LinFu.AOP/Extensions/FieldInterceptionExtensions.cs index 0f61e99..3219426 100644 --- a/src/LinFu.AOP/Extensions/FieldInterceptionExtensions.cs +++ b/src/LinFu.AOP/Extensions/FieldInterceptionExtensions.cs @@ -13,7 +13,7 @@ public static class FieldInterceptionExtensions /// Adds field interception support to the target type. /// /// The type that will be modified. - public static void InterceptAllFields(this IReflectionStructureVisitable targetType) + public static void InterceptAllFields(this object targetType) { Func methodFilter = GetMethodFilter(); targetType.InterceptFields(methodFilter, f => true); @@ -23,7 +23,7 @@ public static void InterceptAllFields(this IReflectionStructureVisitable targetT /// Adds field interception support intercepting all instance fields on the target type. /// /// The type that will be modified. - public static void InterceptAllInstanceFields(this IReflectionStructureVisitable targetType) + public static void InterceptAllInstanceFields(this object targetType) { Func methodFilter = GetMethodFilter(); Func fieldFilter = GetFieldFilter(f => !f.IsStatic); @@ -35,7 +35,7 @@ public static void InterceptAllInstanceFields(this IReflectionStructureVisitable /// Adds field interception support intercepting all static fields on the target type. /// /// The type that will be modified. - public static void InterceptAllStaticFields(this IReflectionStructureVisitable targetType) + public static void InterceptAllStaticFields(this object targetType) { Func methodFilter = GetMethodFilter(); Func fieldFilter = GetFieldFilter(f => f.IsStatic); @@ -43,47 +43,13 @@ public static void InterceptAllStaticFields(this IReflectionStructureVisitable t targetType.InterceptFields(methodFilter, fieldFilter); } - /// - /// Adds field interception support to the target type. - /// - /// The type that will be modified. - public static void InterceptAllFields(this IReflectionVisitable targetType) - { - Func methodFilter = GetMethodFilter(); - targetType.InterceptFields(methodFilter, f => true); - } - - /// - /// Adds field interception support intercepting all instance fields on the target type. - /// - /// The type that will be modified. - public static void InterceptAllInstanceFields(this IReflectionVisitable targetType) - { - Func methodFilter = GetMethodFilter(); - Func fieldFilter = GetFieldFilter(f => !f.IsStatic); - - targetType.InterceptFields(methodFilter, fieldFilter); - } - - /// - /// Adds field interception support intercepting all static fields on the target type. - /// - /// The type that will be modified. - public static void InterceptAllStaticFields(this IReflectionVisitable targetType) - { - Func methodFilter = GetMethodFilter(); - Func fieldFilter = GetFieldFilter(actualField => actualField.IsStatic); - - targetType.InterceptFields(methodFilter, fieldFilter); - } - /// /// Adds field interception support to the target type. /// /// The type that will be modified. /// The filter that determines which methods on the target type will be modified to support field interception. /// The filter that determines which fields should be intercepted. - public static void InterceptFields(this IReflectionVisitable targetType, + public static void InterceptFields(this object targetType, Func methodFilter, Func fieldFilter) { @@ -100,7 +66,7 @@ public static void InterceptFields(this IReflectionVisitable targetType, /// The type that will be modified. /// The filter that determines the host types to be modified. /// The field filter that determines the fields that will be intercepted. - public static void InterceptFields(this IReflectionStructureVisitable targetType, ITypeFilter hostTypeFilter, + public static void InterceptFields(this object targetType, ITypeFilter hostTypeFilter, IFieldFilter fieldFilter) { var typeWeaver = new ImplementFieldInterceptionHostWeaver(hostTypeFilter.ShouldWeave); @@ -110,23 +76,6 @@ public static void InterceptFields(this IReflectionStructureVisitable targetType targetType.Accept(typeWeaver); } - /// - /// Adds field interception support to the target type. - /// - /// The type that will be modified. - /// The filter that determines which methods on the target type will be modified to support field interception. - /// The filter that determines which fields should be intercepted. - public static void InterceptFields(this IReflectionStructureVisitable targetType, - Func methodFilter, - Func fieldFilter) - { - var typeWeaver = new ImplementFieldInterceptionHostWeaver(t => true); - var fieldWeaver = new InterceptFieldAccess(fieldFilter); - - targetType.WeaveWith(fieldWeaver, methodFilter); - targetType.Accept(typeWeaver); - } - private static Func GetMethodFilter() { return m => true; diff --git a/src/LinFu.AOP/Extensions/MethodBodyInterceptionExtensions.cs b/src/LinFu.AOP/Extensions/MethodBodyInterceptionExtensions.cs index 0579a48..97ff547 100644 --- a/src/LinFu.AOP/Extensions/MethodBodyInterceptionExtensions.cs +++ b/src/LinFu.AOP/Extensions/MethodBodyInterceptionExtensions.cs @@ -13,16 +13,7 @@ public static class MethodBodyInterceptionExtensions /// Intercepts all method bodies on the target item. /// /// The target to be modified. - public static void InterceptAllMethodBodies(this IReflectionStructureVisitable target) - { - target.InterceptMethodBody(m => true); - } - - /// - /// Intercepts all method bodies on the target item. - /// - /// The target to be modified. - public static void InterceptAllMethodBodies(this IReflectionVisitable target) + public static void InterceptAllMethodBodies(this object target) { target.InterceptMethodBody(m => true); } @@ -32,7 +23,7 @@ public static void InterceptAllMethodBodies(this IReflectionVisitable target) /// /// The target to be modified. /// The method filter that will determine the methods that will be modified. - public static void InterceptMethodBody(this IReflectionVisitable target, IMethodFilter methodFilter) + public static void InterceptMethodBody(this object target, IMethodFilter methodFilter) { target.InterceptMethodBody(methodFilter.ShouldWeave); } @@ -42,32 +33,7 @@ public static void InterceptMethodBody(this IReflectionVisitable target, IMethod /// /// The target to be modified. /// The method filter that will determine the methods that will be modified. - public static void InterceptMethodBody(this IReflectionStructureVisitable target, IMethodFilter methodFilter) - { - target.InterceptMethodBody(methodFilter.ShouldWeave); - } - - /// - /// Intercepts all method bodies on the target item. - /// - /// The target to be modified. - /// The method filter that will determine the methods that will be modified. - public static void InterceptMethodBody(this IReflectionStructureVisitable target, - Func methodFilter) - { - Func typeFilter = GetTypeFilter(); - target.Accept(new ImplementModifiableType(typeFilter)); - - var interceptMethodBody = new InterceptMethodBody(methodFilter); - target.WeaveWith(interceptMethodBody, methodFilter); - } - - /// - /// Intercepts all method bodies on the target item. - /// - /// The target to be modified. - /// The method filter that will determine the methods that will be modified. - public static void InterceptMethodBody(this IReflectionVisitable target, + public static void InterceptMethodBody(this object target, Func methodFilter) { Func typeFilter = GetTypeFilter(); diff --git a/src/LinFu.AOP/Extensions/MethodCallInterceptionExtensions.cs b/src/LinFu.AOP/Extensions/MethodCallInterceptionExtensions.cs index 0c3d72b..5d8e814 100644 --- a/src/LinFu.AOP/Extensions/MethodCallInterceptionExtensions.cs +++ b/src/LinFu.AOP/Extensions/MethodCallInterceptionExtensions.cs @@ -13,29 +13,29 @@ public static class MethodCallInterceptionExtensions /// Modifies the current to support third-party method call interception for all method calls made inside the target. /// /// The target object. - public static void InterceptAllMethodCalls(this IReflectionStructureVisitable target) + public static void InterceptAllMethodCalls(this object target) { target.InterceptMethodCalls(GetDefaultTypeFilter()); } - +/* /// /// Modifies the current to support third-party method call interception for all method calls made inside the target. /// /// The target object. - public static void InterceptAllMethodCalls(this IReflectionVisitable target) + public static void InterceptAllMethodCalls(this object target) { Func hostMethodFilter = GetHostMethodFilter(); Func methodCallFilter = m => true; InterceptMethodCalls(target, GetDefaultTypeFilter(), hostMethodFilter, methodCallFilter); } - +*/ /// /// Modifies the current to support third-party method call interception for all method calls made inside the target. /// /// The target object. /// The type filter that determines which types will be modified for interception. - public static void InterceptMethodCalls(this IReflectionStructureVisitable target, + public static void InterceptMethodCalls(this object target, Func typeFilter) { Func hostMethodFilter = GetHostMethodFilter(); @@ -43,42 +43,27 @@ public static void InterceptMethodCalls(this IReflectionStructureVisitable targe InterceptMethodCalls(target, typeFilter, hostMethodFilter, methodCallFilter); } - +/* /// /// Modifies the current to support third-party method call interception for all method calls made inside the target. /// /// The target object. /// The type filter that determines the types that will be modified. - public static void InterceptMethodCalls(this IReflectionVisitable target, Func typeFilter) + public static void InterceptMethodCalls(this object target, Func typeFilter) { Func hostMethodFilter = GetHostMethodFilter(); Func methodCallFilter = m => true; InterceptMethodCalls(target, typeFilter, hostMethodFilter, methodCallFilter); } - - /// - /// Modifies the current to support third-party method call interception for all method calls made inside the target. - /// - /// The target object. - /// The instance that determines the method calls that will be intercepted. - /// The instance that determines the host method calls that will be modified - public static void InterceptMethodCalls(this IReflectionVisitable target, IMethodCallFilter methodCallFilter, - IMethodFilter hostMethodFilter) - { - var rewriter = new InterceptMethodCalls(methodCallFilter); - target.Accept(new ImplementModifiableType(GetDefaultTypeFilter())); - target.WeaveWith(rewriter, hostMethodFilter.ShouldWeave); - } - +*/ /// /// Modifies the current to support third-party method call interception for all method calls made inside the target. /// /// The target object. /// The instance that determines the method calls that will be intercepted. /// The instance that determines the host method calls that will be modified - public static void InterceptMethodCalls(this IReflectionStructureVisitable target, - IMethodCallFilter methodCallFilter, + public static void InterceptMethodCalls(this object target, IMethodCallFilter methodCallFilter, IMethodFilter hostMethodFilter) { var rewriter = new InterceptMethodCalls(methodCallFilter); @@ -93,7 +78,7 @@ public static void InterceptMethodCalls(this IReflectionStructureVisitable targe /// The filter that will determine the target types that will be modified. /// The filter that will determine the methods that will be modified on the target type. /// The filter that will determine which third-party methods will be intercepted on the target type. - public static void InterceptMethodCalls(this IReflectionStructureVisitable target, + public static void InterceptMethodCalls(this object target, Func typeFilter, Func hostMethodFilter, Func methodCallFilter) @@ -103,22 +88,6 @@ public static void InterceptMethodCalls(this IReflectionStructureVisitable targe target.WeaveWith(rewriter, hostMethodFilter); } - /// - /// Modifies the current to support third-party method call interception. - /// - /// The target object. - /// The filter that will determine the target types that will be modified. - /// The filter that will determine the methods that will be modified on the target type. - /// The filter that will determine which third-party methods will be intercepted on the target type. - public static void InterceptMethodCalls(this IReflectionVisitable target, Func typeFilter, - Func hostMethodFilter, - Func methodCallFilter) - { - var rewriter = new InterceptMethodCalls(hostMethodFilter, methodCallFilter); - target.Accept(new ImplementModifiableType(typeFilter)); - target.WeaveWith(rewriter, hostMethodFilter); - } - private static Func GetDefaultTypeFilter() { return type => diff --git a/src/LinFu.AOP/Extensions/MethodRewriterExtensions.cs b/src/LinFu.AOP/Extensions/MethodRewriterExtensions.cs index c6675c6..8a62d1b 100644 --- a/src/LinFu.AOP/Extensions/MethodRewriterExtensions.cs +++ b/src/LinFu.AOP/Extensions/MethodRewriterExtensions.cs @@ -15,20 +15,7 @@ public static class MethodRewriterExtensions /// The transformation target. /// The method rewriter. /// The method filter that determines which methods will be rewritten. - public static void WeaveWith(this IReflectionStructureVisitable target, IMethodRewriter rewriter, - Func filter) - { - var weaver = new MethodWeaver(rewriter, filter); - target.Accept(weaver); - } - - /// - /// Transforms the methods in the using the given method rewriter. - /// - /// The transformation target. - /// The method rewriter. - /// The method filter that determines which methods will be rewritten. - public static void WeaveWith(this IReflectionVisitable target, IMethodRewriter rewriter, + public static void WeaveWith(this object target, IMethodRewriter rewriter, Func filter) { var weaver = new MethodWeaver(rewriter, filter); diff --git a/src/LinFu.AOP/Extensions/NewOperatorInterceptionExtensions.cs b/src/LinFu.AOP/Extensions/NewOperatorInterceptionExtensions.cs index 6b40796..fdd419f 100644 --- a/src/LinFu.AOP/Extensions/NewOperatorInterceptionExtensions.cs +++ b/src/LinFu.AOP/Extensions/NewOperatorInterceptionExtensions.cs @@ -13,21 +13,12 @@ public static class NewOperatorInterceptionExtensions /// Modifies a to support intercepting all calls to the 'new' operator. /// /// The assembly to be modified. - public static void InterceptAllNewInstances(this IReflectionStructureVisitable target) + public static void InterceptAllNewInstances(this object target) { Func typeFilter = GetTypeFilter(); target.InterceptNewInstances(typeFilter); } - /// - /// Modifies a to support intercepting all calls to the 'new' operator. - /// - /// The assembly to be modified. - public static void InterceptAllNewInstances(this IReflectionVisitable target) - { - Func typeFilter = GetTypeFilter(); - target.InterceptNewInstances(typeFilter); - } /// /// Modifies a to support intercepting calls to the 'new' operator. @@ -43,7 +34,7 @@ public static void InterceptAllNewInstances(this IReflectionVisitable target) /// concreteType => concreteType.Name == "Foo"; /// /// - public static void InterceptNewInstances(this IReflectionVisitable target, Func typeFilter, + public static void InterceptNewInstances(this object target, Func typeFilter, Func methodFilter) { Func constructorFilter = @@ -58,32 +49,6 @@ public static void InterceptNewInstances(this IReflectionVisitable target, Func< } - /// - /// Modifies a assembly to support intercepting calls to the 'new' operator. - /// - /// The assembly to be modified. - /// The functor that determines which type instantiations should be intercepted. - /// The filter that determines which host methods will be modified - /// - /// The type filter determines which concrete types and constructors should be intercepted at runtime. - /// For example, the following functor code intercepts types named "Foo": - /// - /// Func<MethodReference, TypeReference, bool> filter = - /// (constructor, concreteType, hostMethod) => concreteType.Name == "Foo"; - /// - /// - public static void InterceptNewInstances(this IReflectionStructureVisitable target, - Func constructorFilter, - Func methodFilter) - { - Func filter = - (ctor, declaringType, declaringMethod) => - constructorFilter(ctor, declaringType) && methodFilter(declaringMethod); - - var redirector = new RedirectNewInstancesToActivator(filter); - target.InterceptNewInstancesWith(redirector, methodFilter); - } - /// /// Modifies a assembly to support intercepting calls to the 'new' operator. /// @@ -97,85 +62,12 @@ public static void InterceptNewInstances(this IReflectionStructureVisitable targ /// concreteType => concreteType.Name == "Foo"; /// /// - public static void InterceptNewInstances(this IReflectionStructureVisitable target, + public static void InterceptNewInstances(this object target, Func typeFilter) { target.InterceptNewInstances(typeFilter, m => true); } - /// - /// Modifies a assembly to support intercepting calls to the 'new' operator. - /// - /// The assembly to be modified. - /// The functor that determines which type instantiations should be intercepted. - /// - /// The type filter determines the concrete types that should be intercepted at runtime. - /// For example, the following functor code intercepts types named "Foo": - /// - /// Func<TypeReference, bool> filter = - /// concreteType => concreteType.Name == "Foo"; - /// - /// - public static void InterceptNewInstances(this IReflectionVisitable target, Func typeFilter) - { - target.InterceptNewInstances(typeFilter, m => true); - } - - /// - /// Modifies the to support intercepting calls to the 'new' operator. - /// - /// The item to be modified. - /// The filter that determines which host methods will be modified - /// The filter that determines which types will be modified. - /// - /// The type filter determines which concrete types and constructors should be intercepted at runtime. - /// For example, the following functor code intercepts types named "Foo": - /// - /// Func<MethodReference, TypeReference, bool> filter = - /// (constructor, concreteType, hostMethod) => concreteType.Name == "Foo"; - /// - /// - public static void InterceptNewInstances(this IReflectionStructureVisitable target, - Func typeFilter, - Func methodFilter) - { - Func constructorFilter = - (constructor, declaringType) => methodFilter(constructor) && typeFilter(declaringType); - - Func filter = - (ctor, declaringType, declaringMethod) => - constructorFilter(ctor, declaringType) && methodFilter(declaringMethod); - - var redirector = new RedirectNewInstancesToActivator(filter); - target.InterceptNewInstancesWith(redirector, methodFilter); - } - - - /// - /// Modifies the to support intercepting calls to the 'new' operator. - /// - /// The item to be modified. - /// The functor that determines which type instantiations should be intercepted. - /// The filter that determines which host methods will be modified - /// - /// The type filter determines which concrete types and constructors should be intercepted at runtime. - /// For example, the following functor code intercepts types named "Foo": - /// - /// Func<MethodReference, TypeReference, bool> filter = - /// (constructor, concreteType, hostMethod) => concreteType.Name == "Foo"; - /// - /// - public static void InterceptNewInstances(this IReflectionVisitable target, - Func constructorFilter, - Func methodFilter) - { - Func filter = - (ctor, declaringType, declaringMethod) => - constructorFilter(ctor, declaringType) && methodFilter(declaringMethod); - - var redirector = new RedirectNewInstancesToActivator(filter); - target.InterceptNewInstancesWith(redirector, methodFilter); - } /// /// Modifies the to support intercepting calls to the 'new' operator. @@ -183,51 +75,26 @@ public static void InterceptNewInstances(this IReflectionVisitable target, /// The item to be modified. /// The filter that will determine which constructor calls should be intercepted. /// The filter that will determine which host methods should be modified to support new instance interception. - public static void InterceptNewInstances(this IReflectionStructureVisitable target, + public static void InterceptNewInstances(this object target, INewInstanceFilter newInstanceFilter, IMethodFilter methodFilter) { var redirector = new RedirectNewInstancesToActivator(newInstanceFilter); target.InterceptNewInstancesWith(redirector, methodFilter.ShouldWeave); } - /// - /// Modifies the to support intercepting calls to the 'new' operator. - /// - /// The item to be modified. - /// The filter that will determine which constructor calls should be intercepted. - /// The filter that will determine which host methods should be modified to support new instance interception. - public static void InterceptNewInstances(this IReflectionVisitable target, INewInstanceFilter newInstanceFilter, - IMethodFilter methodFilter) - { - var redirector = new RedirectNewInstancesToActivator(newInstanceFilter); - target.InterceptNewInstancesWith(redirector, methodFilter.ShouldWeave); - } - /// /// Modifies the methods in the given using the custom instance. /// /// The host that contains the methods that will be modified. /// The custom that will replace all calls to the new operator with the custom code emitted by the given weaver. /// The method filter that will determine which methods should be modified. - public static void InterceptNewInstancesWith(this IReflectionStructureVisitable target, INewObjectWeaver weaver, + public static void InterceptNewInstancesWith(this object target, INewObjectWeaver weaver, Func filter) { var interceptNewCalls = new InterceptNewCalls(weaver); target.WeaveWith(interceptNewCalls, filter); } - /// - /// Modifies the methods in the given using the custom instance. - /// - /// The host that contains the methods that will be modified. - /// The custom that will replace all calls to the new operator with the custom code emitted by the given weaver. - /// The method filter that will determine which methods should be modified. - public static void InterceptNewInstancesWith(this IReflectionVisitable target, INewObjectWeaver weaver, - Func filter) - { - var interceptNewCalls = new InterceptNewCalls(weaver); - target.WeaveWith(interceptNewCalls, filter); - } private static Func GetTypeFilter() { diff --git a/src/LinFu.AOP/FieldInterception/ImplementFieldInterceptionHostWeaver.cs b/src/LinFu.AOP/FieldInterception/ImplementFieldInterceptionHostWeaver.cs index eff82c3..134f2c0 100644 --- a/src/LinFu.AOP/FieldInterception/ImplementFieldInterceptionHostWeaver.cs +++ b/src/LinFu.AOP/FieldInterception/ImplementFieldInterceptionHostWeaver.cs @@ -1,4 +1,5 @@ -using System; +using System; +using System.Linq; using LinFu.AOP.Cecil.Interfaces; using LinFu.AOP.Interfaces; using LinFu.Reflection.Emit; @@ -52,12 +53,12 @@ public bool ShouldWeave(TypeDefinition item) public void Weave(TypeDefinition type) { // Implement IActivatorHost only once - if (type.Interfaces.Contains(_hostInterfaceType)) + if (type.Interfaces.Any(typeReference => typeReference.FullName == _hostInterfaceType.FullName)) return; type.AddProperty("FieldInterceptor", _interceptorPropertyType); - if (!type.Interfaces.Contains(_hostInterfaceType)) + if (!type.Interfaces.Any(typeReference => typeReference.FullName == _hostInterfaceType.FullName)) type.Interfaces.Add(_hostInterfaceType); } diff --git a/src/LinFu.AOP/FieldInterception/InterceptFieldAccess.cs b/src/LinFu.AOP/FieldInterception/InterceptFieldAccess.cs index 122169a..f03c729 100644 --- a/src/LinFu.AOP/FieldInterception/InterceptFieldAccess.cs +++ b/src/LinFu.AOP/FieldInterception/InterceptFieldAccess.cs @@ -111,8 +111,8 @@ protected override bool ShouldReplace(Instruction oldInstruction, MethodDefiniti /// /// The instruction currently being evaluated. /// The method that contains the target instruction. - /// The CilWorker that will be used to emit the method body instructions. - protected override void Replace(Instruction oldInstruction, MethodDefinition hostMethod, CilWorker IL) + /// The ILProcessor that will be used to emit the method body instructions. + protected override void Replace(Instruction oldInstruction, MethodDefinition hostMethod, ILProcessor IL) { var targetField = (FieldReference) oldInstruction.Operand; TypeReference fieldType = targetField.FieldType; diff --git a/src/LinFu.AOP/ImplementMethodReplacementHost.cs b/src/LinFu.AOP/ImplementMethodReplacementHost.cs index 3882da7..4193a2a 100644 --- a/src/LinFu.AOP/ImplementMethodReplacementHost.cs +++ b/src/LinFu.AOP/ImplementMethodReplacementHost.cs @@ -1,4 +1,5 @@ -using System; +using System; +using System.Linq; using LinFu.AOP.Cecil.Interfaces; using LinFu.AOP.Interfaces; using LinFu.Reflection.Emit; @@ -27,7 +28,7 @@ public virtual bool ShouldWeave(TypeDefinition item) return false; // Implement the host interface once and only once - if (item.Interfaces.Contains(_hostType)) + if (item.Interfaces.Any(typeReference => typeReference.FullName == _hostType.FullName)) return false; if (_filter != null) @@ -38,7 +39,7 @@ public virtual bool ShouldWeave(TypeDefinition item) public virtual void Weave(TypeDefinition item) { - if (item.Interfaces.Contains(_hostType)) + if (item.Interfaces.Any(typeReference => typeReference.FullName == _hostType.FullName)) return; item.Interfaces.Add(_hostType); diff --git a/src/LinFu.AOP/ImplementModifiableType.cs b/src/LinFu.AOP/ImplementModifiableType.cs index a97743a..d6b26c4 100644 --- a/src/LinFu.AOP/ImplementModifiableType.cs +++ b/src/LinFu.AOP/ImplementModifiableType.cs @@ -1,4 +1,5 @@ -using System; +using System; +using System.Linq; using LinFu.AOP.Interfaces; using LinFu.Reflection.Emit; using Mono.Cecil; @@ -27,7 +28,7 @@ public override bool ShouldWeave(TypeDefinition item) bool shouldWeave = base.ShouldWeave(item); // Make sure that the IModifiableType interface is only implemented once - shouldWeave &= !item.Interfaces.Contains(_modifiableInterfaceType); + shouldWeave &= !item.Interfaces.Any(typeReference => typeReference.FullName == _modifiableInterfaceType.FullName); bool isStaticClass = item.IsAbstract && item.IsSealed; shouldWeave &= !isStaticClass; @@ -40,7 +41,7 @@ public override void Weave(TypeDefinition item) base.Weave(item); // Implement IModifiableType - if (item.Interfaces.Contains(_modifiableInterfaceType)) + if (item.Interfaces.Any(typeReference => typeReference.FullName == _modifiableInterfaceType.FullName)) return; item.Interfaces.Add(_modifiableInterfaceType); diff --git a/src/LinFu.AOP/InstructionSwapper.cs b/src/LinFu.AOP/InstructionSwapper.cs index 5fa2574..70ea964 100644 --- a/src/LinFu.AOP/InstructionSwapper.cs +++ b/src/LinFu.AOP/InstructionSwapper.cs @@ -14,9 +14,9 @@ public abstract class InstructionSwapper : BaseMethodRewriter /// Rewrites the instructions in the target method body. /// /// The target method. - /// The instance that represents the method body. + /// The instance that represents the method body. /// The IL instructions of the original method body. - protected override void RewriteMethodBody(MethodDefinition method, CilWorker IL, + protected override void RewriteMethodBody(MethodDefinition method, ILProcessor IL, IEnumerable oldInstructions) { var newInstructions = new Queue(); @@ -45,7 +45,7 @@ protected override void RewriteMethodBody(MethodDefinition method, CilWorker IL, /// /// The instruction currently being evaluated. /// The method that contains the target instruction. - /// The CilWorker for the target method body. - protected abstract void Replace(Instruction oldInstruction, MethodDefinition hostMethod, CilWorker IL); + /// The ILProcessor for the target method body. + protected abstract void Replace(Instruction oldInstruction, MethodDefinition hostMethod, ILProcessor IL); } } \ No newline at end of file diff --git a/src/LinFu.AOP/Interfaces/IInstructionEmitter.cs b/src/LinFu.AOP/Interfaces/IInstructionEmitter.cs index 0cd20df..a5c3af2 100644 --- a/src/LinFu.AOP/Interfaces/IInstructionEmitter.cs +++ b/src/LinFu.AOP/Interfaces/IInstructionEmitter.cs @@ -8,9 +8,9 @@ namespace LinFu.AOP.Cecil.Interfaces public interface IInstructionEmitter { /// - /// Emits a set of instructions to the given CilWorker. + /// Emits a set of instructions to the given ILProcessor. /// - /// The responsible for the target method body. - void Emit(CilWorker IL); + /// The responsible for the target method body. + void Emit(ILProcessor IL); } } \ No newline at end of file diff --git a/src/LinFu.AOP/Interfaces/IMethodBodyRewriter.cs b/src/LinFu.AOP/Interfaces/IMethodBodyRewriter.cs index e5af1e1..7bae98b 100644 --- a/src/LinFu.AOP/Interfaces/IMethodBodyRewriter.cs +++ b/src/LinFu.AOP/Interfaces/IMethodBodyRewriter.cs @@ -10,11 +10,11 @@ namespace LinFu.AOP.Cecil.Interfaces public interface IMethodBodyRewriter { /// - /// Rewrites a target method using the given CilWorker. + /// Rewrites a target method using the given ILProcessor. /// /// The target method. - /// The CilWorker that will be used to rewrite the target method. + /// The ILProcessor that will be used to rewrite the target method. /// The original instructions from the target method body. - void Rewrite(MethodDefinition method, CilWorker IL, IEnumerable oldInstructions); + void Rewrite(MethodDefinition method, ILProcessor IL, IEnumerable oldInstructions); } } \ No newline at end of file diff --git a/src/LinFu.AOP/Interfaces/INewObjectWeaver.cs b/src/LinFu.AOP/Interfaces/INewObjectWeaver.cs index eba38a6..bb91583 100644 --- a/src/LinFu.AOP/Interfaces/INewObjectWeaver.cs +++ b/src/LinFu.AOP/Interfaces/INewObjectWeaver.cs @@ -30,10 +30,10 @@ public interface INewObjectWeaver : IHostWeaver /// the . /// /// The method that contains the activation request. - /// The CilWorker that will be used to replace the existing instructions in the method body. + /// The ILProcessor that will be used to replace the existing instructions in the method body. /// The constructor that is currently being used to instantiate the concrete type. /// The that describes the object type that needs to be instantiated. - void EmitNewObject(MethodDefinition hostMethod, CilWorker IL, MethodReference targetConstructor, + void EmitNewObject(MethodDefinition hostMethod, ILProcessor IL, MethodReference targetConstructor, TypeReference concreteType); } } \ No newline at end of file diff --git a/src/LinFu.AOP/Interfaces/ISurroundMethodBody.cs b/src/LinFu.AOP/Interfaces/ISurroundMethodBody.cs index 8b0739b..3f5e88f 100644 --- a/src/LinFu.AOP/Interfaces/ISurroundMethodBody.cs +++ b/src/LinFu.AOP/Interfaces/ISurroundMethodBody.cs @@ -10,13 +10,13 @@ public interface ISurroundMethodBody /// /// Adds a prolog to the given method body. /// - /// The that points to the given method body. - void AddProlog(CilWorker IL); + /// The that points to the given method body. + void AddProlog(ILProcessor IL); /// /// Adds an epilog to the given method body. /// - /// The that points to the given method body. - void AddEpilog(CilWorker IL); + /// The that points to the given method body. + void AddEpilog(ILProcessor IL); } } \ No newline at end of file diff --git a/src/LinFu.AOP/InvocationInfoEmitter.cs b/src/LinFu.AOP/InvocationInfoEmitter.cs index 3e44636..9b7a29f 100644 --- a/src/LinFu.AOP/InvocationInfoEmitter.cs +++ b/src/LinFu.AOP/InvocationInfoEmitter.cs @@ -80,7 +80,7 @@ public void Emit(MethodDefinition targetMethod, MethodReference interceptedMetho VariableDefinition typeArguments = MethodDefinitionExtensions.AddLocal(targetMethod, typeof (Type[])); TypeReference systemType = ModuleDefinitionExtensions.ImportType(module, typeof (Type)); - CilWorker IL = MethodDefinitionExtensions.GetILGenerator(targetMethod); + ILProcessor IL = MethodDefinitionExtensions.GetILGenerator(targetMethod); #region Initialize the InvocationInfo constructor arguments @@ -152,7 +152,7 @@ public void Emit(MethodDefinition targetMethod, MethodReference interceptedMetho // Save the return type MethodReference getTypeFromHandle = module.Import(_getTypeFromHandle); - TypeReference returnType = targetMethod.ReturnType.ReturnType; + TypeReference returnType = targetMethod.ReturnType; IL.Emit(OpCodes.Ldtoken, returnType); IL.Emit(OpCodes.Call, getTypeFromHandle); diff --git a/src/LinFu.AOP/LinFu.AOP.Cecil.csproj b/src/LinFu.AOP/LinFu.AOP.Cecil.csproj index 73c32da..f10df7e 100644 --- a/src/LinFu.AOP/LinFu.AOP.Cecil.csproj +++ b/src/LinFu.AOP/LinFu.AOP.Cecil.csproj @@ -1,169 +1,170 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {613B6547-DCBB-4505-82B8-B4179BFC95CE} - Library - Properties - LinFu.AOP.Cecil - LinFu.AOP.Cecil - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.AOP.Cecil.xml - - - pdbonly - true - ..\..\build\Release\ - TRACE - prompt - 4 - ..\..\build\Release\LinFu.AOP.Cecil.xml - - - - False - ..\..\lib\Mono.Cecil.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} - LinFu.IoC.Common - - - {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} - LinFu.Reflection.Emit - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {613B6547-DCBB-4505-82B8-B4179BFC95CE} + Library + Properties + LinFu.AOP.Cecil + LinFu.AOP.Cecil + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.AOP.Cecil.xml + + + pdbonly + true + ..\..\build\Release\ + TRACE + prompt + 4 + ..\..\build\Release\LinFu.AOP.Cecil.xml + + + + False + ..\..\lib\Mono.Cecil.dll + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + CommonAssemblyInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} + LinFu.IoC.Common + + + {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} + LinFu.Reflection.Emit + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + + + + + \ No newline at end of file diff --git a/src/LinFu.AOP/Loaders/JITWeaver.cs b/src/LinFu.AOP/Loaders/JITWeaver.cs index c34639a..4a6d76e 100644 --- a/src/LinFu.AOP/Loaders/JITWeaver.cs +++ b/src/LinFu.AOP/Loaders/JITWeaver.cs @@ -58,9 +58,9 @@ public virtual IList> AssemblyWeavers /// /// The filename of the target assembly. /// A valid assembly. - public override Assembly Load(string assemblyFile) - { - AssemblyDefinition targetAssembly = AssemblyFactory.GetAssembly(assemblyFile); + public override Assembly Load(string assemblyFile) + { + AssemblyDefinition targetAssembly = AssemblyDefinition.ReadAssembly(assemblyFile); // Strongly-named assemblies cannot be modified if (targetAssembly.Name.HasPublicKey) @@ -91,7 +91,7 @@ public override Assembly Load(string assemblyFile) PdbLoader.SaveSymbols(targetAssembly); // Save the modifed assembly - AssemblyFactory.SaveAssembly(targetAssembly, memoryStream); + targetAssembly.Write(memoryStream); if (PdbLoader == null || !hasSymbols) return targetAssembly.ToAssembly(); diff --git a/src/LinFu.AOP/Loaders/PdbLoader.cs b/src/LinFu.AOP/Loaders/PdbLoader.cs index b08a9b7..19d12e1 100644 --- a/src/LinFu.AOP/Loaders/PdbLoader.cs +++ b/src/LinFu.AOP/Loaders/PdbLoader.cs @@ -33,7 +33,7 @@ public Assembly LoadAssembly(byte[] assemblyArray, byte[] pdbBytes) public void LoadSymbols(AssemblyDefinition assembly) { ModuleDefinition mainModule = assembly.MainModule; - mainModule.LoadSymbols(); +// mainModule.LoadSymbols(); } /// @@ -43,7 +43,7 @@ public void LoadSymbols(AssemblyDefinition assembly) public void SaveSymbols(AssemblyDefinition targetAssembly) { // Update the debug symbols - targetAssembly.MainModule.SaveSymbols(); +// targetAssembly.MainModule.SaveSymbols(); } #endregion diff --git a/src/LinFu.AOP/MethodBodyInterception/InterceptAndSurroundMethodBody.cs b/src/LinFu.AOP/MethodBodyInterception/InterceptAndSurroundMethodBody.cs index c1a56c8..ccbcb73 100644 --- a/src/LinFu.AOP/MethodBodyInterception/InterceptAndSurroundMethodBody.cs +++ b/src/LinFu.AOP/MethodBodyInterception/InterceptAndSurroundMethodBody.cs @@ -54,16 +54,16 @@ public InterceptAndSurroundMethodBody(IEmitInvocationInfo emitter, #region IMethodBodyRewriter Members /// - /// Rewrites a target method using the given CilWorker. + /// Rewrites a target method using the given ILProcessor. /// /// The target method. - /// The CilWorker that will be used to rewrite the target method. + /// The ILProcessor that will be used to rewrite the target method. /// The original instructions from the target method body. - public void Rewrite(MethodDefinition method, CilWorker IL, + public void Rewrite(MethodDefinition method, ILProcessor IL, IEnumerable oldInstructions) { MethodDefinition targetMethod = _parameters.TargetMethod; - CilWorker worker = targetMethod.GetILGenerator(); + ILProcessor worker = targetMethod.GetILGenerator(); ModuleDefinition module = worker.GetModule(); @@ -91,14 +91,14 @@ public void Rewrite(MethodDefinition method, CilWorker IL, _getClassMethodReplacementProvider.Emit(worker); - TypeReference returnType = targetMethod.ReturnType.ReturnType; + TypeReference returnType = targetMethod.ReturnType; _addMethodReplacement.Emit(worker); // Save the return value TypeReference voidType = module.Import(typeof (void)); _surroundMethodBody.AddEpilog(worker); - if (returnType != voidType) + if (returnType.GetType() != voidType.GetType()) worker.Emit(OpCodes.Ldloc, _parameters.ReturnValue); worker.Emit(OpCodes.Ret); diff --git a/src/LinFu.AOP/MethodBodyInterception/InterceptMethodBody.cs b/src/LinFu.AOP/MethodBodyInterception/InterceptMethodBody.cs index 2c3f349..e346670 100644 --- a/src/LinFu.AOP/MethodBodyInterception/InterceptMethodBody.cs +++ b/src/LinFu.AOP/MethodBodyInterception/InterceptMethodBody.cs @@ -39,9 +39,9 @@ protected override bool ShouldRewrite(MethodDefinition targetMethod) /// Rewrites the instructions in the target method body. /// /// The target method. - /// The instance that represents the method body. + /// The instance that represents the method body. /// The IL instructions of the original method body. - protected override void RewriteMethodBody(MethodDefinition method, CilWorker IL, + protected override void RewriteMethodBody(MethodDefinition method, ILProcessor IL, IEnumerable oldInstructions) { if (IsExcluded(method)) @@ -99,7 +99,7 @@ protected override void RewriteMethodBody(MethodDefinition method, CilWorker IL, rewriter.Rewrite(method, IL, oldInstructions); } - private void AddOriginalInstructions(CilWorker IL, IEnumerable oldInstructions) + private void AddOriginalInstructions(ILProcessor IL, IEnumerable oldInstructions) { foreach (Instruction instruction in oldInstructions) { diff --git a/src/LinFu.AOP/MethodBodyInterception/MethodBodyRewriterParameters.cs b/src/LinFu.AOP/MethodBodyInterception/MethodBodyRewriterParameters.cs index bf6a8ea..80b0782 100644 --- a/src/LinFu.AOP/MethodBodyInterception/MethodBodyRewriterParameters.cs +++ b/src/LinFu.AOP/MethodBodyInterception/MethodBodyRewriterParameters.cs @@ -13,7 +13,7 @@ namespace LinFu.AOP.Cecil public class MethodBodyRewriterParameters : IMethodBodyRewriterParameters { private readonly VariableDefinition _aroundInvokeProvider; - private readonly CilWorker _cilWorker; + private readonly ILProcessor _cilWorker; private readonly VariableDefinition _classMethodReplacementProvider; private readonly Func _getMethodReplacementProviderMethod; private readonly VariableDefinition _interceptionDisabled; @@ -26,7 +26,7 @@ public class MethodBodyRewriterParameters : IMethodBodyRewriterParameters /// /// Initializes a new instance of the class. /// - /// The CilWorker that is responsible for the current method body. + /// The ILProcessor that is responsible for the current method body. /// The value indicating the list of old instructions in the current method body. /// The value that determines whether or not interception is disabled. /// The local variable that will store the instance. @@ -36,7 +36,7 @@ public class MethodBodyRewriterParameters : IMethodBodyRewriterParameters /// The class-level instance. /// The functor that resolves the GetMethodReplacementProvider method. /// The interception registry type that will be responsible for handling class-level interception events. - public MethodBodyRewriterParameters(CilWorker IL, IEnumerable oldInstructions, + public MethodBodyRewriterParameters(ILProcessor IL, IEnumerable oldInstructions, VariableDefinition interceptionDisabled, VariableDefinition invocationInfo, VariableDefinition returnValue, diff --git a/src/LinFu.AOP/MethodCallInterception/InterceptMethodCalls.cs b/src/LinFu.AOP/MethodCallInterception/InterceptMethodCalls.cs index 5a25e85..511bb20 100644 --- a/src/LinFu.AOP/MethodCallInterception/InterceptMethodCalls.cs +++ b/src/LinFu.AOP/MethodCallInterception/InterceptMethodCalls.cs @@ -114,12 +114,12 @@ public override void AddLocals(MethodDefinition hostMethod) } protected override void Replace(Instruction oldInstruction, MethodDefinition hostMethod, - CilWorker IL) + ILProcessor IL) { var targetMethod = (MethodReference) oldInstruction.Operand; Instruction callOriginalMethod = IL.Create(OpCodes.Nop); - TypeReference returnType = targetMethod.ReturnType.ReturnType; + TypeReference returnType = targetMethod.ReturnType; Instruction endLabel = IL.Create(OpCodes.Nop); ModuleDefinition module = hostMethod.DeclaringType.Module; @@ -151,7 +151,7 @@ protected override void Replace(Instruction oldInstruction, MethodDefinition hos surroundMethodBody.AddEpilog(IL); } - private void IgnoreLocal(CilWorker IL, VariableDefinition targetVariable, ModuleDefinition module) + private void IgnoreLocal(ILProcessor IL, VariableDefinition targetVariable, ModuleDefinition module) { IL.Emit(OpCodes.Ldloc, targetVariable); @@ -159,10 +159,10 @@ private void IgnoreLocal(CilWorker IL, VariableDefinition targetVariable, Module IL.Emit(OpCodes.Call, addInstance); } - private void Replace(CilWorker IL, Instruction oldInstruction, MethodReference targetMethod, + private void Replace(ILProcessor IL, Instruction oldInstruction, MethodReference targetMethod, MethodDefinition hostMethod, Instruction endLabel, Instruction callOriginalMethod) { - TypeReference returnType = targetMethod.ReturnType.ReturnType; + TypeReference returnType = targetMethod.ReturnType; ModuleDefinition module = hostMethod.DeclaringType.Module; if (!hostMethod.IsStatic) GetInstanceProvider(IL); @@ -237,7 +237,7 @@ private void Replace(CilWorker IL, Instruction oldInstruction, MethodReference t IL.Append(oldInstruction); } - private void GetInstanceProvider(CilWorker IL) + private void GetInstanceProvider(ILProcessor IL) { Instruction skipInstanceProvider = IL.Create(OpCodes.Nop); @@ -255,7 +255,7 @@ private void GetInstanceProvider(CilWorker IL) IL.Append(skipInstanceProvider); } - private void ReconstructMethodArguments(CilWorker IL, MethodReference targetMethod) + private void ReconstructMethodArguments(ILProcessor IL, MethodReference targetMethod) { if (targetMethod.HasThis) IL.Emit(OpCodes.Ldloc, _target); @@ -269,7 +269,7 @@ private void ReconstructMethodArguments(CilWorker IL, MethodReference targetMeth } } - private void SaveInvocationInfo(CilWorker IL, MethodReference targetMethod, ModuleDefinition module, + private void SaveInvocationInfo(ILProcessor IL, MethodReference targetMethod, ModuleDefinition module, TypeReference returnType) { // If the target method is an instance method, then the remaining item on the stack @@ -342,12 +342,12 @@ private void SaveInvocationInfo(CilWorker IL, MethodReference targetMethod, Modu IgnoreLocal(IL, _invocationInfo, module); } - private void PushStackTrace(CilWorker IL, ModuleDefinition module) + private void PushStackTrace(ILProcessor IL, ModuleDefinition module) { IL.PushStackTrace(module); } - private void EmitInterceptorCall(CilWorker IL) + private void EmitInterceptorCall(ILProcessor IL) { // var result = replacement.Intercept(info); IL.Emit(OpCodes.Ldloc, _replacement); @@ -355,7 +355,7 @@ private void EmitInterceptorCall(CilWorker IL) IL.Emit(OpCodes.Callvirt, _intercept); } - private void EmitCanReplace(CilWorker IL, IMethodSignature hostMethod, VariableDefinition provider) + private void EmitCanReplace(ILProcessor IL, IMethodSignature hostMethod, VariableDefinition provider) { Instruction skipGetProvider = IL.Create(OpCodes.Nop); @@ -374,7 +374,7 @@ private void EmitCanReplace(CilWorker IL, IMethodSignature hostMethod, VariableD IL.Append(skipGetProvider); } - private void EmitGetMethodReplacement(CilWorker IL, IMethodSignature hostMethod, VariableDefinition provider) + private void EmitGetMethodReplacement(ILProcessor IL, IMethodSignature hostMethod, VariableDefinition provider) { // var replacement = MethodReplacementProvider.GetReplacement(info); IL.Emit(OpCodes.Ldloc, provider); diff --git a/src/LinFu.AOP/MethodRewriter.cs b/src/LinFu.AOP/MethodRewriter.cs index 5ff7a90..bb85eab 100644 --- a/src/LinFu.AOP/MethodRewriter.cs +++ b/src/LinFu.AOP/MethodRewriter.cs @@ -15,12 +15,12 @@ public abstract class MethodRewriter : IMethodRewriter #region IMethodRewriter Members /// - /// Rewrites a target method using the given CilWorker. + /// Rewrites a target method using the given ILProcessor. /// /// The target method. - /// The CilWorker that will be used to rewrite the target method. + /// The ILProcessor that will be used to rewrite the target method. /// The original instructions from the target method body. - public void Rewrite(MethodDefinition method, CilWorker IL, IEnumerable oldInstructions) + public void Rewrite(MethodDefinition method, ILProcessor IL, IEnumerable oldInstructions) { TypeDefinition declaringType = method.DeclaringType; ModuleDefinition module = declaringType.Module; @@ -93,7 +93,7 @@ public virtual void AddLocals(MethodDefinition hostMethod) /// /// The instruction currently being evaluated. /// The method that contains the target instruction. - /// The CilWorker for the target method body. - protected abstract void Replace(Instruction oldInstruction, MethodDefinition hostMethod, CilWorker IL); + /// The ILProcessor for the target method body. + protected abstract void Replace(Instruction oldInstruction, MethodDefinition hostMethod, ILProcessor IL); } } \ No newline at end of file diff --git a/src/LinFu.AOP/MethodWeaver.cs b/src/LinFu.AOP/MethodWeaver.cs index 5d12996..3a4bc37 100644 --- a/src/LinFu.AOP/MethodWeaver.cs +++ b/src/LinFu.AOP/MethodWeaver.cs @@ -68,7 +68,7 @@ public bool ShouldWeave(MethodDefinition item) public void Weave(MethodDefinition method) { MethodBody body = method.Body; - CilWorker IL = body.CilWorker; + ILProcessor IL = body.GetILProcessor(); // Skip empty methods int instructionCount = body.Instructions.Count; @@ -113,7 +113,7 @@ public void ImportReferences(ModuleDefinition module) private void Rewrite(MethodDefinition method) { MethodBody body = method.Body; - CilWorker IL = body.CilWorker; + ILProcessor IL = body.GetILProcessor(); IEnumerable oldInstructions = _instructionProvider.GetInstructions(method); diff --git a/src/LinFu.AOP/NewOperatorInterception/ImplementActivatorHostWeaver.cs b/src/LinFu.AOP/NewOperatorInterception/ImplementActivatorHostWeaver.cs index ba9b94e..0a0db35 100644 --- a/src/LinFu.AOP/NewOperatorInterception/ImplementActivatorHostWeaver.cs +++ b/src/LinFu.AOP/NewOperatorInterception/ImplementActivatorHostWeaver.cs @@ -1,4 +1,5 @@ -using System; +using System; +using System.Linq; using LinFu.AOP.Cecil.Interfaces; using LinFu.AOP.Interfaces; using LinFu.Reflection.Emit; @@ -40,13 +41,12 @@ public bool ShouldWeave(TypeDefinition item) public void Weave(TypeDefinition type) { - // Implement IActivatorHost only once - if (type.Interfaces.Contains(_hostInterfaceType)) + if (type.Interfaces.Any(typeReference => typeReference.FullName == _hostInterfaceType.FullName)) return; type.AddProperty("Activator", _activatorPropertyType); - if (!type.Interfaces.Contains(_hostInterfaceType)) + if (!type.Interfaces.Any(typeReference => typeReference.FullName == _hostInterfaceType.FullName)) type.Interfaces.Add(_hostInterfaceType); } diff --git a/src/LinFu.AOP/NewOperatorInterception/InterceptNewCalls.cs b/src/LinFu.AOP/NewOperatorInterception/InterceptNewCalls.cs index 532e1d3..b1dfebf 100644 --- a/src/LinFu.AOP/NewOperatorInterception/InterceptNewCalls.cs +++ b/src/LinFu.AOP/NewOperatorInterception/InterceptNewCalls.cs @@ -33,11 +33,11 @@ public override void ImportReferences(ModuleDefinition module) _emitter.ImportReferences(module); } - protected override void Replace(Instruction currentInstruction, MethodDefinition method, CilWorker IL) + protected override void Replace(Instruction currentInstruction, MethodDefinition method, ILProcessor IL) { var constructor = (MethodReference) currentInstruction.Operand; TypeReference concreteType = constructor.DeclaringType; - ParameterDefinitionCollection parameters = constructor.Parameters; + var parameters = constructor.Parameters; if (!_emitter.ShouldIntercept(constructor, concreteType, method)) { diff --git a/src/LinFu.AOP/NewOperatorInterception/RedirectNewInstancesToActivator.cs b/src/LinFu.AOP/NewOperatorInterception/RedirectNewInstancesToActivator.cs index 7494333..20dfbb3 100644 --- a/src/LinFu.AOP/NewOperatorInterception/RedirectNewInstancesToActivator.cs +++ b/src/LinFu.AOP/NewOperatorInterception/RedirectNewInstancesToActivator.cs @@ -1,226 +1,227 @@ -using System; -using System.Collections.Generic; -using System.Reflection; -using LinFu.AOP.Cecil.Extensions; -using LinFu.AOP.Cecil.Interfaces; -using LinFu.AOP.Interfaces; -using LinFu.Reflection.Emit; -using Mono.Cecil; -using Mono.Cecil.Cil; - -namespace LinFu.AOP.Cecil -{ - internal class RedirectNewInstancesToActivator : INewObjectWeaver - { - private readonly INewInstanceFilter _filter; - private MethodReference _addMethod; - private MethodReference _canActivate; - - private VariableDefinition _constructorArguments; - private MethodReference _createInstance; - private VariableDefinition _currentActivator; - private VariableDefinition _currentArgument; - private MethodReference _getItem; - private MethodReference _getStaticActivator; - private MethodReference _getTypeFromHandle; - private MethodReference _methodActivationContextCtor; - private VariableDefinition _methodContext; - private MethodReference _objectListCtor; - private MethodReference _reverseMethod; - private MethodReference _toArrayMethod; - - public RedirectNewInstancesToActivator(INewInstanceFilter filter) - { - _filter = filter; - } - - public RedirectNewInstancesToActivator(Func filter) - { - _filter = new NewInstanceInterceptionAdapter(filter); - } - - #region INewObjectWeaver Members - - public bool ShouldIntercept(MethodReference constructor, TypeReference concreteType, MethodReference hostMethod) - { - // Intercept all types by default - if (_filter == null) - return true; - - return _filter.ShouldWeave(constructor, concreteType, hostMethod); - } - - public void AddAdditionalMembers(TypeDefinition host) - { - // Make sure the type implements IActivatorHost - var interfaceWeaver = new ImplementActivatorHostWeaver(); +using System; +using System.Collections.Generic; +using System.Reflection; +using LinFu.AOP.Cecil.Extensions; +using LinFu.AOP.Cecil.Interfaces; +using LinFu.AOP.Interfaces; +using LinFu.Reflection.Emit; +using Mono.Cecil; +using Mono.Cecil.Cil; +using Mono.Collections.Generic; + +namespace LinFu.AOP.Cecil +{ + internal class RedirectNewInstancesToActivator : INewObjectWeaver + { + private readonly INewInstanceFilter _filter; + private MethodReference _addMethod; + private MethodReference _canActivate; + + private VariableDefinition _constructorArguments; + private MethodReference _createInstance; + private VariableDefinition _currentActivator; + private VariableDefinition _currentArgument; + private MethodReference _getItem; + private MethodReference _getStaticActivator; + private MethodReference _getTypeFromHandle; + private MethodReference _methodActivationContextCtor; + private VariableDefinition _methodContext; + private MethodReference _objectListCtor; + private MethodReference _reverseMethod; + private MethodReference _toArrayMethod; + + public RedirectNewInstancesToActivator(INewInstanceFilter filter) + { + _filter = filter; + } + + public RedirectNewInstancesToActivator(Func filter) + { + _filter = new NewInstanceInterceptionAdapter(filter); + } + + #region INewObjectWeaver Members + + public bool ShouldIntercept(MethodReference constructor, TypeReference concreteType, MethodReference hostMethod) + { + // Intercept all types by default + if (_filter == null) + return true; + + return _filter.ShouldWeave(constructor, concreteType, hostMethod); + } + + public void AddAdditionalMembers(TypeDefinition host) + { + // Make sure the type implements IActivatorHost + var interfaceWeaver = new ImplementActivatorHostWeaver(); host.Accept(interfaceWeaver); - } - - public void ImportReferences(ModuleDefinition module) - { - // Static method imports - _getStaticActivator = module.ImportMethod("GetActivator", typeof (TypeActivatorRegistry), - BindingFlags.Public | BindingFlags.Static); - _getTypeFromHandle = module.ImportMethod("GetTypeFromHandle", - BindingFlags.Public | BindingFlags.Static); - - // Constructor imports - _methodActivationContextCtor = module.ImportConstructor(typeof (object), - typeof (MethodBase), - typeof (Type), - typeof (object[])); - - // Instance method imports - _objectListCtor = module.ImportConstructor>(new Type[0]); - _toArrayMethod = module.ImportMethod>("ToArray", new Type[0]); - _addMethod = module.ImportMethod>("Add", new[] {typeof (object)}); - _reverseMethod = module.ImportMethod>("Reverse", new Type[0]); - _canActivate = module.ImportMethod("CanActivate"); - _getItem = module.ImportMethod>("get_Item", new[] {typeof (int)}); - - MethodInfo createInstanceMethod = typeof (IActivator).GetMethod("CreateInstance"); - - _createInstance = module.Import(createInstanceMethod); - } - - public void EmitNewObject(MethodDefinition hostMethod, CilWorker IL, MethodReference targetConstructor, - TypeReference concreteType) - { - ParameterDefinitionCollection parameters = targetConstructor.Parameters; - Instruction skipInterception = IL.Create(OpCodes.Nop); - - SaveConstructorArguments(IL, parameters); - EmitCreateMethodActivationContext(hostMethod, IL, concreteType); - - // Skip the interception if an activator cannot be found - EmitGetActivator(hostMethod, IL, skipInterception); - - IL.Emit(OpCodes.Stloc, _currentActivator); - - IL.Emit(OpCodes.Ldloc, _currentActivator); - IL.Emit(OpCodes.Brfalse, skipInterception); - - // Determine if the activator can instantiate the method from the - // current context - IL.Emit(OpCodes.Ldloc, _currentActivator); - IL.Emit(OpCodes.Ldloc, _methodContext); - IL.Emit(OpCodes.Callvirt, _canActivate); - IL.Emit(OpCodes.Brfalse, skipInterception); - - // Use the activator to create the object instance - EmitCreateInstance(IL); - - // } - Instruction endCreate = IL.Create(OpCodes.Nop); - IL.Emit(OpCodes.Br, endCreate); - // else { - IL.Append(skipInterception); - - // Restore the arguments that were popped off the stack - // by the list of constructor arguments - int parameterCount = parameters.Count; - for (int index = 0; index < parameterCount; index++) - { - ParameterDefinition currentParameter = parameters[index]; - - IL.Emit(OpCodes.Ldloc, _constructorArguments); - IL.Emit(OpCodes.Ldc_I4, index); - IL.Emit(OpCodes.Callvirt, _getItem); - IL.Emit(OpCodes.Unbox_Any, currentParameter.ParameterType); - } - - IL.Emit(OpCodes.Newobj, targetConstructor); - // } - - IL.Append(endCreate); - } - - public void AddLocals(MethodDefinition hostMethod) - { - _constructorArguments = hostMethod.AddLocal>(); - _currentArgument = hostMethod.AddLocal(); - _methodContext = hostMethod.AddLocal(); - _currentActivator = hostMethod.AddLocal(); - } - - #endregion - - private void EmitCreateInstance(CilWorker IL) - { - // T instance = this.Activator.CreateInstance(context); - IL.Emit(OpCodes.Ldloc, _currentActivator); - IL.Emit(OpCodes.Ldloc, _methodContext); - IL.Emit(OpCodes.Callvirt, _createInstance); - } - - private void EmitCreateMethodActivationContext(MethodDefinition method, CilWorker IL, TypeReference concreteType) - { - // TODO: Add static method support - Instruction pushThis = method.IsStatic ? IL.Create(OpCodes.Ldnull) : IL.Create(OpCodes.Ldarg_0); - - // Push the 'this' pointer onto the stack - IL.Append(pushThis); - - ModuleDefinition module = method.DeclaringType.Module; - - // Push the current method onto the stack - IL.PushMethod(method, module); - - // Push the concrete type onto the stack - IL.Emit(OpCodes.Ldtoken, concreteType); - IL.Emit(OpCodes.Call, _getTypeFromHandle); - - IL.Emit(OpCodes.Ldloc, _constructorArguments); - IL.Emit(OpCodes.Callvirt, _toArrayMethod); - IL.Emit(OpCodes.Newobj, _methodActivationContextCtor); - - // var context = new MethodActivationContext(this, currentMethod, concreteType, args); - IL.Emit(OpCodes.Stloc, _methodContext); - } - - private void SaveConstructorArguments(CilWorker IL, ParameterDefinitionCollection parameters) - { - int parameterCount = parameters.Count; - - IL.Emit(OpCodes.Newobj, _objectListCtor); - IL.Emit(OpCodes.Stloc, _constructorArguments); - - int index = parameterCount - 1; - while (index >= 0) - { - ParameterDefinition param = parameters[index]; - - SaveConstructorArgument(IL, param); - - index--; - } - - // Reverse the constructor arguments so that they appear in the correct order - IL.Emit(OpCodes.Ldloc, _constructorArguments); - IL.Emit(OpCodes.Callvirt, _reverseMethod); - } - - private void SaveConstructorArgument(CilWorker IL, ParameterDefinition param) - { - // Box the type if necessary - TypeReference parameterType = param.ParameterType; - if (parameterType.IsValueType || parameterType is GenericParameter) - IL.Emit(OpCodes.Box, parameterType); - - // Save the current argument - IL.Emit(OpCodes.Stloc, _currentArgument); - - // Add the item to the item to the collection - IL.Emit(OpCodes.Ldloc, _constructorArguments); - IL.Emit(OpCodes.Ldloc, _currentArgument); - IL.Emit(OpCodes.Callvirt, _addMethod); - } - - private void EmitGetActivator(MethodDefinition method, CilWorker IL, Instruction skipInterception) - { - IL.Emit(OpCodes.Ldloc, _methodContext); - IL.Emit(OpCodes.Call, _getStaticActivator); - } - } + } + + public void ImportReferences(ModuleDefinition module) + { + // Static method imports + _getStaticActivator = module.ImportMethod("GetActivator", typeof (TypeActivatorRegistry), + BindingFlags.Public | BindingFlags.Static); + _getTypeFromHandle = module.ImportMethod("GetTypeFromHandle", + BindingFlags.Public | BindingFlags.Static); + + // Constructor imports + _methodActivationContextCtor = module.ImportConstructor(typeof (object), + typeof (MethodBase), + typeof (Type), + typeof (object[])); + + // Instance method imports + _objectListCtor = module.ImportConstructor>(new Type[0]); + _toArrayMethod = module.ImportMethod>("ToArray", new Type[0]); + _addMethod = module.ImportMethod>("Add", new[] {typeof (object)}); + _reverseMethod = module.ImportMethod>("Reverse", new Type[0]); + _canActivate = module.ImportMethod("CanActivate"); + _getItem = module.ImportMethod>("get_Item", new[] {typeof (int)}); + + MethodInfo createInstanceMethod = typeof (IActivator).GetMethod("CreateInstance"); + + _createInstance = module.Import(createInstanceMethod); + } + + public void EmitNewObject(MethodDefinition hostMethod, ILProcessor IL, MethodReference targetConstructor, + TypeReference concreteType) + { + var parameters = targetConstructor.Parameters; + Instruction skipInterception = IL.Create(OpCodes.Nop); + + SaveConstructorArguments(IL, parameters); + EmitCreateMethodActivationContext(hostMethod, IL, concreteType); + + // Skip the interception if an activator cannot be found + EmitGetActivator(hostMethod, IL, skipInterception); + + IL.Emit(OpCodes.Stloc, _currentActivator); + + IL.Emit(OpCodes.Ldloc, _currentActivator); + IL.Emit(OpCodes.Brfalse, skipInterception); + + // Determine if the activator can instantiate the method from the + // current context + IL.Emit(OpCodes.Ldloc, _currentActivator); + IL.Emit(OpCodes.Ldloc, _methodContext); + IL.Emit(OpCodes.Callvirt, _canActivate); + IL.Emit(OpCodes.Brfalse, skipInterception); + + // Use the activator to create the object instance + EmitCreateInstance(IL); + + // } + Instruction endCreate = IL.Create(OpCodes.Nop); + IL.Emit(OpCodes.Br, endCreate); + // else { + IL.Append(skipInterception); + + // Restore the arguments that were popped off the stack + // by the list of constructor arguments + int parameterCount = parameters.Count; + for (int index = 0; index < parameterCount; index++) + { + ParameterDefinition currentParameter = parameters[index]; + + IL.Emit(OpCodes.Ldloc, _constructorArguments); + IL.Emit(OpCodes.Ldc_I4, index); + IL.Emit(OpCodes.Callvirt, _getItem); + IL.Emit(OpCodes.Unbox_Any, currentParameter.ParameterType); + } + + IL.Emit(OpCodes.Newobj, targetConstructor); + // } + + IL.Append(endCreate); + } + + public void AddLocals(MethodDefinition hostMethod) + { + _constructorArguments = hostMethod.AddLocal>(); + _currentArgument = hostMethod.AddLocal(); + _methodContext = hostMethod.AddLocal(); + _currentActivator = hostMethod.AddLocal(); + } + + #endregion + + private void EmitCreateInstance(ILProcessor IL) + { + // T instance = this.Activator.CreateInstance(context); + IL.Emit(OpCodes.Ldloc, _currentActivator); + IL.Emit(OpCodes.Ldloc, _methodContext); + IL.Emit(OpCodes.Callvirt, _createInstance); + } + + private void EmitCreateMethodActivationContext(MethodDefinition method, ILProcessor IL, TypeReference concreteType) + { + // TODO: Add static method support + Instruction pushThis = method.IsStatic ? IL.Create(OpCodes.Ldnull) : IL.Create(OpCodes.Ldarg_0); + + // Push the 'this' pointer onto the stack + IL.Append(pushThis); + + ModuleDefinition module = method.DeclaringType.Module; + + // Push the current method onto the stack + IL.PushMethod(method, module); + + // Push the concrete type onto the stack + IL.Emit(OpCodes.Ldtoken, concreteType); + IL.Emit(OpCodes.Call, _getTypeFromHandle); + + IL.Emit(OpCodes.Ldloc, _constructorArguments); + IL.Emit(OpCodes.Callvirt, _toArrayMethod); + IL.Emit(OpCodes.Newobj, _methodActivationContextCtor); + + // var context = new MethodActivationContext(this, currentMethod, concreteType, args); + IL.Emit(OpCodes.Stloc, _methodContext); + } + + private void SaveConstructorArguments(ILProcessor IL, Collection parameters) + { + int parameterCount = parameters.Count; + + IL.Emit(OpCodes.Newobj, _objectListCtor); + IL.Emit(OpCodes.Stloc, _constructorArguments); + + int index = parameterCount - 1; + while (index >= 0) + { + ParameterDefinition param = parameters[index]; + + SaveConstructorArgument(IL, param); + + index--; + } + + // Reverse the constructor arguments so that they appear in the correct order + IL.Emit(OpCodes.Ldloc, _constructorArguments); + IL.Emit(OpCodes.Callvirt, _reverseMethod); + } + + private void SaveConstructorArgument(ILProcessor IL, ParameterDefinition param) + { + // Box the type if necessary + TypeReference parameterType = param.ParameterType; + if (parameterType.IsValueType || parameterType is GenericParameter) + IL.Emit(OpCodes.Box, parameterType); + + // Save the current argument + IL.Emit(OpCodes.Stloc, _currentArgument); + + // Add the item to the item to the collection + IL.Emit(OpCodes.Ldloc, _constructorArguments); + IL.Emit(OpCodes.Ldloc, _currentArgument); + IL.Emit(OpCodes.Callvirt, _addMethod); + } + + private void EmitGetActivator(MethodDefinition method, ILProcessor IL, Instruction skipInterception) + { + IL.Emit(OpCodes.Ldloc, _methodContext); + IL.Emit(OpCodes.Call, _getStaticActivator); + } + } } \ No newline at end of file diff --git a/src/LinFu.Finders/LinFu.Finders.csproj b/src/LinFu.Finders/LinFu.Finders.csproj index 099f097..627c1ba 100644 --- a/src/LinFu.Finders/LinFu.Finders.csproj +++ b/src/LinFu.Finders/LinFu.Finders.csproj @@ -1,73 +1,74 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {020A9D4F-3C8C-48B5-830F-2EDAB07E0D97} - Library - Properties - LinFu.Finders - LinFu.Finders - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.Finders.XML - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - bin\Release\LinFu.Finders.XML - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {020A9D4F-3C8C-48B5-830F-2EDAB07E0D97} + Library + Properties + LinFu.Finders + LinFu.Finders + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.Finders.XML + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + bin\Release\LinFu.Finders.XML + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + Properties\CommonAssemblyInfo.cs + + + + + + + + + + + --> \ No newline at end of file diff --git a/src/LinFu.IoC.Common/LinFu.IoC.Common.csproj b/src/LinFu.IoC.Common/LinFu.IoC.Common.csproj index a556329..cd84c7b 100644 --- a/src/LinFu.IoC.Common/LinFu.IoC.Common.csproj +++ b/src/LinFu.IoC.Common/LinFu.IoC.Common.csproj @@ -1,87 +1,88 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} - Library - Properties - LinFu.IoC.Common - LinFu.IoC.Common - v3.5 - 512 - true - LinFu.snk - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.IoC.Common.XML - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - - - - - - - - - - - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} + Library + Properties + LinFu.IoC.Common + LinFu.IoC.Common + v4.0 + 512 + true + LinFu.snk + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.IoC.Common.XML + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + + + + + + + + + + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + + + + + --> \ No newline at end of file diff --git a/src/LinFu.IoC/LinFu.IoC.csproj b/src/LinFu.IoC/LinFu.IoC.csproj index 0c1828e..b3e9150 100644 --- a/src/LinFu.IoC/LinFu.IoC.csproj +++ b/src/LinFu.IoC/LinFu.IoC.csproj @@ -1,207 +1,208 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {FA3D5517-EFF4-4363-AFF2-EF67B981334E} - Library - Properties - LinFu.IoC - LinFu.IoC - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.IoC.XML - - - pdbonly - true - ..\..\build\Release\ - TRACE - prompt - 4 - ..\..\build\Release\LinFu.IoC.XML - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - {020A9D4F-3C8C-48B5-830F-2EDAB07E0D97} - LinFu.Finders - - - {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} - LinFu.IoC.Common - - - {6C29A409-6148-49AC-A192-DC6F33F3304C} - LinFu.Proxy.Interfaces - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {FA3D5517-EFF4-4363-AFF2-EF67B981334E} + Library + Properties + LinFu.IoC + LinFu.IoC + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.IoC.XML + + + pdbonly + true + ..\..\build\Release\ + TRACE + prompt + 4 + ..\..\build\Release\LinFu.IoC.XML + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + Properties\CommonAssemblyInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + {020A9D4F-3C8C-48B5-830F-2EDAB07E0D97} + LinFu.Finders + + + {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} + LinFu.IoC.Common + + + {6C29A409-6148-49AC-A192-DC6F33F3304C} + LinFu.Proxy.Interfaces + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + + --> \ No newline at end of file diff --git a/src/LinFu.Proxy.Extensions/LinFu.Proxy.Extensions.csproj b/src/LinFu.Proxy.Extensions/LinFu.Proxy.Extensions.csproj index 308ab16..47554f0 100644 --- a/src/LinFu.Proxy.Extensions/LinFu.Proxy.Extensions.csproj +++ b/src/LinFu.Proxy.Extensions/LinFu.Proxy.Extensions.csproj @@ -1,90 +1,91 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {DC20B330-B410-481D-A192-D82A07D2C7EF} - Library - Properties - LinFu.Proxy.Extensions - LinFu.Proxy.Extensions - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.Proxy.Extensions.XML - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - {613B6547-DCBB-4505-82B8-B4179BFC95CE} - LinFu.AOP.Cecil - - - {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} - LinFu.IoC.Common - - - {FA3D5517-EFF4-4363-AFF2-EF67B981334E} - LinFu.IoC - - - {6C29A409-6148-49AC-A192-DC6F33F3304C} - LinFu.Proxy.Interfaces - - - {54DA7856-9026-439A-8FFE-88BBF99577B8} - LinFu.Proxy - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {DC20B330-B410-481D-A192-D82A07D2C7EF} + Library + Properties + LinFu.Proxy.Extensions + LinFu.Proxy.Extensions + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.Proxy.Extensions.XML + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + {613B6547-DCBB-4505-82B8-B4179BFC95CE} + LinFu.AOP.Cecil + + + {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} + LinFu.IoC.Common + + + {FA3D5517-EFF4-4363-AFF2-EF67B981334E} + LinFu.IoC + + + {6C29A409-6148-49AC-A192-DC6F33F3304C} + LinFu.Proxy.Interfaces + + + {54DA7856-9026-439A-8FFE-88BBF99577B8} + LinFu.Proxy + + + + --> \ No newline at end of file diff --git a/src/LinFu.Proxy.Interfaces/LinFu.Proxy.Interfaces.csproj b/src/LinFu.Proxy.Interfaces/LinFu.Proxy.Interfaces.csproj index d4a28a2..f3f189e 100644 --- a/src/LinFu.Proxy.Interfaces/LinFu.Proxy.Interfaces.csproj +++ b/src/LinFu.Proxy.Interfaces/LinFu.Proxy.Interfaces.csproj @@ -1,88 +1,89 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {6C29A409-6148-49AC-A192-DC6F33F3304C} - Library - Properties - LinFu.Proxy.Interfaces - LinFu.Proxy.Interfaces - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.Proxy.Interfaces.xml - - - pdbonly - true - ..\..\build\Release\ - TRACE - prompt - 4 - ..\..\build\Release\LinFu.Proxy.Interfaces.XML - - - - False - ..\..\lib\Mono.Cecil.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {6C29A409-6148-49AC-A192-DC6F33F3304C} + Library + Properties + LinFu.Proxy.Interfaces + LinFu.Proxy.Interfaces + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.Proxy.Interfaces.xml + + + pdbonly + true + ..\..\build\Release\ + TRACE + prompt + 4 + ..\..\build\Release\LinFu.Proxy.Interfaces.XML + + + + False + ..\..\lib\Mono.Cecil.dll + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + Properties\CommonAssemblyInfo.cs + + + + + + + + + + + + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + + --> \ No newline at end of file diff --git a/src/LinFu.Proxy/LinFu.Proxy.csproj b/src/LinFu.Proxy/LinFu.Proxy.csproj index 2a418b8..9501b6c 100644 --- a/src/LinFu.Proxy/LinFu.Proxy.csproj +++ b/src/LinFu.Proxy/LinFu.Proxy.csproj @@ -1,107 +1,108 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {54DA7856-9026-439A-8FFE-88BBF99577B8} - Library - Properties - LinFu.Proxy - LinFu.Proxy - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.Proxy.xml - - - pdbonly - true - ..\..\build\Release\ - TRACE - prompt - 4 - ..\..\build\Release\LinFu.Proxy.XML - - - - False - ..\..\lib\Mono.Cecil.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - {613B6547-DCBB-4505-82B8-B4179BFC95CE} - LinFu.AOP.Cecil - - - {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} - LinFu.IoC.Common - - - {6C29A409-6148-49AC-A192-DC6F33F3304C} - LinFu.Proxy.Interfaces - - - {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} - LinFu.Reflection.Emit - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {54DA7856-9026-439A-8FFE-88BBF99577B8} + Library + Properties + LinFu.Proxy + LinFu.Proxy + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.Proxy.xml + + + pdbonly + true + ..\..\build\Release\ + TRACE + prompt + 4 + ..\..\build\Release\LinFu.Proxy.XML + + + + False + ..\..\lib\Mono.Cecil.dll + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + Properties\CommonAssemblyInfo.cs + + + + + + + + + + + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + {613B6547-DCBB-4505-82B8-B4179BFC95CE} + LinFu.AOP.Cecil + + + {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} + LinFu.IoC.Common + + + {6C29A409-6148-49AC-A192-DC6F33F3304C} + LinFu.Proxy.Interfaces + + + {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} + LinFu.Reflection.Emit + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + + --> \ No newline at end of file diff --git a/src/LinFu.Proxy/MethodBodyEmitter.cs b/src/LinFu.Proxy/MethodBodyEmitter.cs index 0ef7872..1b20438 100644 --- a/src/LinFu.Proxy/MethodBodyEmitter.cs +++ b/src/LinFu.Proxy/MethodBodyEmitter.cs @@ -74,7 +74,7 @@ public void Emit(MethodInfo originalMethod, MethodDefinition targetMethod) VariableDefinition arguments = targetMethod.AddLocal(); // if (!(this is IProxy)) - CilWorker IL = targetMethod.GetILGenerator(); + ILProcessor IL = targetMethod.GetILGenerator(); IL.Emit(OpCodes.Ldarg_0); IL.Emit(OpCodes.Isinst, proxyType); @@ -104,7 +104,7 @@ public void Emit(MethodInfo originalMethod, MethodDefinition targetMethod) // Determine the return type TypeReference returnType = targetMethod.ReturnType != null - ? targetMethod.ReturnType.ReturnType + ? targetMethod.ReturnType : voidType; IL.PackageReturnValue(module, returnType); @@ -127,10 +127,10 @@ public void Emit(MethodInfo originalMethod, MethodDefinition targetMethod) /// /// Emits the IL instructions to obtain an instance for the proxy type. /// - /// The responsible for emitting the method body. + /// The responsible for emitting the method body. /// The proxy type. /// The getter method for the interceptor. - protected virtual void EmitGetInterceptorInstruction(CilWorker IL, TypeReference proxyType, + protected virtual void EmitGetInterceptorInstruction(ILProcessor IL, TypeReference proxyType, MethodReference getInterceptorMethod) { IL.Emit(OpCodes.Ldarg_0); @@ -139,13 +139,13 @@ protected virtual void EmitGetInterceptorInstruction(CilWorker IL, TypeReference } /// - /// Causes the to make the method throw a + /// Causes the to make the method throw a /// if the method cannot be found. /// - /// The responsible for emitting the method body. - protected virtual void ImplementNotFound(CilWorker IL) + /// The responsible for emitting the method body. + protected virtual void ImplementNotFound(ILProcessor IL) { - MethodBody body = IL.GetBody(); + MethodBody body = IL.Body; TypeDefinition declaringType = body.Method.DeclaringType; ModuleDefinition module = declaringType.Module; @@ -160,14 +160,14 @@ protected virtual void ImplementNotFound(CilWorker IL) /// from the /// object. /// - /// The that will emit the method body. + /// The that will emit the method body. /// The parameters of the target method. /// The local variable that contains the instance. /// The local variable that will store the arguments from the instance. - private static void SaveRefArguments(CilWorker IL, IEnumerable parameters, + private static void SaveRefArguments(ILProcessor IL, IEnumerable parameters, VariableDefinition invocationInfo, VariableDefinition arguments) { - MethodBody body = IL.GetBody(); + MethodBody body = IL.Body; MethodDefinition targetMethod = body.Method; TypeDefinition declaringType = targetMethod.DeclaringType; ModuleDefinition module = declaringType.Module; @@ -196,7 +196,7 @@ private static void SaveRefArguments(CilWorker IL, IEnumerable types = null; diff --git a/src/LinFu.Proxy/ProxyImplementor.cs b/src/LinFu.Proxy/ProxyImplementor.cs index 3c1b68d..5cdec95 100644 --- a/src/LinFu.Proxy/ProxyImplementor.cs +++ b/src/LinFu.Proxy/ProxyImplementor.cs @@ -1,4 +1,5 @@ -using LinFu.AOP.Interfaces; +using System.Linq; +using LinFu.AOP.Interfaces; using LinFu.IoC.Configuration; using LinFu.Proxy.Interfaces; using LinFu.Reflection.Emit; @@ -29,7 +30,7 @@ public void Construct(ModuleDefinition module, TypeDefinition targetType) TypeReference interceptorType = module.Import(typeof (IInterceptor)); // Implement the IProxy interface only once - if (targetType.Interfaces.Contains(proxyInterfaceType)) + if (targetType.Interfaces.Any(typeReference => typeReference.FullName == proxyInterfaceType.FullName)) return; targetType.Interfaces.Add(proxyInterfaceType); diff --git a/src/LinFu.Proxy/SerializableProxyBuilder.cs b/src/LinFu.Proxy/SerializableProxyBuilder.cs index 099165a..2ad01b0 100644 --- a/src/LinFu.Proxy/SerializableProxyBuilder.cs +++ b/src/LinFu.Proxy/SerializableProxyBuilder.cs @@ -37,7 +37,7 @@ public override void Construct(Type originalBaseType, IEnumerable baseInte interfaces.Add(typeof (ISerializable)); TypeReference serializableInterfaceType = module.ImportType(); - if (!targetType.Interfaces.Contains(serializableInterfaceType)) + if (!targetType.Interfaces.Any(typeReference => typeReference.FullName == serializableInterfaceType.FullName)) targetType.Interfaces.Add(serializableInterfaceType); // Create the proxy type @@ -57,7 +57,7 @@ public override void Construct(Type originalBaseType, IEnumerable baseInte PropertyDefinition interceptorGetterProperty = (from PropertyDefinition m in targetType.Properties where m.Name == "Interceptor" && - m.PropertyType == interceptorType + m.PropertyType.FullName == interceptorType.FullName select m).First(); } @@ -80,7 +80,7 @@ private static void DefineSerializationConstructor(ModuleDefinition module, Type MethodBody body = serializationCtor.Body; body.InitLocals = true; - CilWorker IL = serializationCtor.GetILGenerator(); + ILProcessor IL = serializationCtor.GetILGenerator(); IL.Emit(OpCodes.Ldtoken, interceptorInterfaceType); IL.Emit(OpCodes.Call, getTypeFromHandle); @@ -116,7 +116,7 @@ where m.Name.Contains("ISerializable.GetObjectData") body.Instructions.Clear(); body.InitLocals = true; - CilWorker IL = getObjectDataMethod.GetILGenerator(); + ILProcessor IL = getObjectDataMethod.GetILGenerator(); TypeReference proxyInterfaceType = module.ImportType(); MethodReference getTypeFromHandle = module.ImportMethod("GetTypeFromHandle", diff --git a/src/LinFu.Reflection.Emit/AssemblyDefinitionExtensions.cs b/src/LinFu.Reflection.Emit/AssemblyDefinitionExtensions.cs index 966c825..6e90b3a 100644 --- a/src/LinFu.Reflection.Emit/AssemblyDefinitionExtensions.cs +++ b/src/LinFu.Reflection.Emit/AssemblyDefinitionExtensions.cs @@ -1,54 +1,55 @@ -using System.IO; -using System.Reflection; -using Mono.Cecil; - -namespace LinFu.Reflection.Emit -{ - /// - /// A class that adds extension methods to the - /// class. - /// - public static class AssemblyDefinitionExtensions - { - /// - /// Converts an - /// into a running . - /// - /// The to convert. - /// An that represents the instance. - /// - public static Assembly ToAssembly(this AssemblyDefinition definition) - { - Assembly result = null; - using (var stream = new MemoryStream()) - { - // Persist the assembly to the stream - AssemblyFactory.SaveAssembly(definition, stream); - byte[] buffer = stream.GetBuffer(); - result = Assembly.Load(buffer); - } - - return result; - } - - /// - /// Saves the assembly to disk. - /// - /// The target assembly definition. - /// The output file name. - public static void Save(this AssemblyDefinition definition, string filename) - { - AssemblyFactory.SaveAssembly(definition, filename); - } - - /// - /// Saves the assembly to disk. - /// - /// The target assembly definition. - /// The destination file stream. - public static void Save(this AssemblyDefinition definition, Stream outputStream) - { - AssemblyFactory.SaveAssembly(definition, outputStream); - } - } +using System.IO; +using System.Reflection; +using Mono.Cecil; + +namespace LinFu.Reflection.Emit +{ + /// + /// A class that adds extension methods to the + /// class. + /// + public static class AssemblyDefinitionExtensions + { + /// + /// Converts an + /// into a running . + /// + /// The to convert. + /// An that represents the instance. + /// + public static Assembly ToAssembly(this AssemblyDefinition definition) + { + Assembly result = null; + using (var stream = new MemoryStream()) + { + // Persist the assembly to the stream + definition.Write(stream); + byte[] buffer = stream.GetBuffer(); + result = Assembly.Load(buffer); + } + definition.Write(@"D:\tools\LinFu\source\LinFu\build\Debug\UnitTests\new.dll"); + + return result; + } + + /// + /// Saves the assembly to disk. + /// + /// The target assembly definition. + /// The output file name. + public static void Save(this AssemblyDefinition definition, string filename) + { + definition.Write(filename); + } + + /// + /// Saves the assembly to disk. + /// + /// The target assembly definition. + /// The destination file stream. + public static void Save(this AssemblyDefinition definition, Stream outputStream) + { + definition.Write(outputStream); + } + } } \ No newline at end of file diff --git a/src/LinFu.Reflection.Emit/CilWorkerExtensions.cs b/src/LinFu.Reflection.Emit/CilWorkerExtensions.cs index a00baeb..ddac674 100644 --- a/src/LinFu.Reflection.Emit/CilWorkerExtensions.cs +++ b/src/LinFu.Reflection.Emit/CilWorkerExtensions.cs @@ -9,7 +9,7 @@ namespace LinFu.Reflection.Emit { /// - /// A class that extends the class + /// A class that extends the class /// with helper methods that make it easier to save /// information about the method currently being implemented. /// @@ -37,13 +37,13 @@ static CilWorkerExtensions() } /// - /// Emits a Console.WriteLine call to using the current CilWorker that will only be called if the contents + /// Emits a Console.WriteLine call to using the current ILProcessor that will only be called if the contents /// of the target variable are null at runtime. /// - /// The target CilWorker. + /// The target ILProcessor. /// The text that will be written to the console. /// The target variable that will be checked for null at runtime. - public static void EmitWriteLineIfNull(this CilWorker IL, string text, VariableDefinition targetVariable) + public static void EmitWriteLineIfNull(this ILProcessor IL, string text, VariableDefinition targetVariable) { Instruction skipWrite = IL.Create(OpCodes.Nop); IL.Emit(OpCodes.Ldloc, targetVariable); @@ -53,13 +53,13 @@ public static void EmitWriteLineIfNull(this CilWorker IL, string text, VariableD } /// - /// Emits a Console.WriteLine call using the current CilWorker. + /// Emits a Console.WriteLine call using the current ILProcessor. /// - /// The target CilWorker. + /// The target ILProcessor. /// The text that will be written to the console. - public static void EmitWriteLine(this CilWorker IL, string text) + public static void EmitWriteLine(this ILProcessor IL, string text) { - MethodBody body = IL.GetBody(); + MethodBody body = IL.Body; MethodDefinition method = body.Method; TypeDefinition declaringType = method.DeclaringType; ModuleDefinition module = declaringType.Module; @@ -74,10 +74,10 @@ public static void EmitWriteLine(this CilWorker IL, string text) /// /// Pushes the current onto the stack. /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The method that represents the that will be pushed onto the stack. /// The module that contains the host method. - public static void PushMethod(this CilWorker IL, MethodReference method, ModuleDefinition module) + public static void PushMethod(this ILProcessor IL, MethodReference method, ModuleDefinition module) { MethodReference getMethodFromHandle = module.ImportMethod("GetMethodFromHandle", typeof (RuntimeMethodHandle), @@ -118,10 +118,10 @@ public static TypeReference GetDeclaringType(this MethodReference method) /// /// Pushes a instance onto the stack. /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The type that represents the that will be pushed onto the stack. /// The module that contains the host method. - public static void PushType(this CilWorker IL, TypeReference type, ModuleDefinition module) + public static void PushType(this ILProcessor IL, TypeReference type, ModuleDefinition module) { MethodReference getTypeFromHandle = module.ImportMethod("GetTypeFromHandle", typeof (RuntimeTypeHandle)); @@ -136,10 +136,10 @@ public static void PushType(this CilWorker IL, TypeReference type, ModuleDefinit /// /// Pushes the current onto the stack. /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The field that represents the that will be pushed onto the stack. /// The module that contains the target field. - public static void PushField(this CilWorker IL, FieldReference field, ModuleDefinition module) + public static void PushField(this ILProcessor IL, FieldReference field, ModuleDefinition module) { MethodReference getFieldFromHandle = module.ImportMethod("GetFieldFromHandle", typeof (RuntimeFieldHandle), @@ -155,11 +155,11 @@ public static void PushField(this CilWorker IL, FieldReference field, ModuleDefi /// /// Pushes the arguments of a method onto the stack. /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The module that contains the host method. /// The target method. /// The local variable that will hold the array of arguments. - public static void PushArguments(this CilWorker IL, IMethodSignature method, ModuleDefinition module, + public static void PushArguments(this ILProcessor IL, IMethodSignature method, ModuleDefinition module, VariableDefinition arguments) { TypeReference objectType = module.ImportType(typeof (object)); @@ -182,9 +182,9 @@ public static void PushArguments(this CilWorker IL, IMethodSignature method, Mod /// /// Pushes the stack trace of the currently executing method onto the stack. /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The module that contains the host method. - public static void PushStackTrace(this CilWorker IL, ModuleDefinition module) + public static void PushStackTrace(this ILProcessor IL, ModuleDefinition module) { ConstructorInfo stackTraceConstructor = typeof (StackTrace).GetConstructor(new[] {typeof (int), typeof (bool)}); @@ -199,18 +199,18 @@ public static void PushStackTrace(this CilWorker IL, ModuleDefinition module) /// /// Saves the generic type arguments that were used to construct the method. /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The target method whose generic type arguments (if any) will be saved into the local variable. /// The module that contains the host method. /// The local variable that will store the resulting array of objects. - public static void PushGenericArguments(this CilWorker IL, IGenericParameterProvider method, + public static void PushGenericArguments(this ILProcessor IL, IGenericParameterProvider method, ModuleDefinition module, VariableDefinition typeArguments) { MethodReference getTypeFromHandle = module.ImportMethod("GetTypeFromHandle", BindingFlags.Public | BindingFlags.Static); int genericParameterCount = method.GenericParameters.Count; - GenericParameterCollection genericParameters = method.GenericParameters; + var genericParameters = method.GenericParameters; for (int index = 0; index < genericParameterCount; index++) { GenericParameter current = genericParameters[index]; @@ -229,11 +229,11 @@ public static void PushGenericArguments(this CilWorker IL, IGenericParameterProv /// signature of methods with generic type parameters or methods that have /// parameters that are generic parameters specified by the type itself. /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The target method whose generic type arguments (if any) will be saved into the local variable . /// The module that contains the host method. /// The local variable that will store the current method signature. - public static void SaveParameterTypes(this CilWorker IL, MethodReference method, ModuleDefinition module, + public static void SaveParameterTypes(this ILProcessor IL, MethodReference method, ModuleDefinition module, VariableDefinition parameterTypes) { MethodReference getTypeFromHandle = module.ImportMethod("GetTypeFromHandle", @@ -254,13 +254,13 @@ public static void SaveParameterTypes(this CilWorker IL, MethodReference method, /// Converts the return value of a method into the target type. /// If the target type is void, then the value will simply be popped from the stack. /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The module that contains the host method. /// The method return type itself. - public static void PackageReturnValue(this CilWorker IL, ModuleDefinition module, TypeReference returnType) + public static void PackageReturnValue(this ILProcessor IL, ModuleDefinition module, TypeReference returnType) { TypeReference voidType = module.ImportType(typeof (void)); - if (returnType == voidType) + if (returnType.FullName == voidType.FullName) { IL.Emit(OpCodes.Pop); return; @@ -272,9 +272,9 @@ public static void PackageReturnValue(this CilWorker IL, ModuleDefinition module /// /// Emits the proper Stind (store indirect) IL instruction for the . /// - /// The target that will emit the IL. + /// The target that will emit the IL. /// The type of data being stored. - public static void Stind(this CilWorker IL, TypeReference currentType) + public static void Stind(this ILProcessor IL, TypeReference currentType) { string typeName = currentType.Name; OpCode opCode = OpCodes.Nop; @@ -290,11 +290,11 @@ public static void Stind(this CilWorker IL, TypeReference currentType) /// Stores the current parameter value /// into the array of method . /// - /// The that will be used to create the instructions. + /// The that will be used to create the instructions. /// The local variable that will store the method arguments. /// The array index that indicates where the parameter value will be stored in the array of arguments. /// The current argument value being stored. - private static void PushParameter(this CilWorker IL, int index, VariableDefinition arguments, + private static void PushParameter(this ILProcessor IL, int index, VariableDefinition arguments, ParameterDefinition param) { TypeReference parameterType = param.ParameterType; @@ -318,24 +318,24 @@ private static void PushParameter(this CilWorker IL, int index, VariableDefiniti } /// - /// Obtains the method definition that contains the current . + /// Obtains the method definition that contains the current . /// - /// The responsible for the method body. + /// The responsible for the method body. /// A method definition. - public static MethodDefinition GetMethod(this CilWorker IL) + public static MethodDefinition GetMethod(this ILProcessor IL) { - MethodBody body = IL.GetBody(); + MethodBody body = IL.Body; MethodDefinition targetMethod = body.Method; return targetMethod; } /// - /// Obtains the module that contains the current . + /// Obtains the module that contains the current . /// - /// The responsible for the method body. + /// The responsible for the method body. /// The host module. - public static ModuleDefinition GetModule(this CilWorker IL) + public static ModuleDefinition GetModule(this ILProcessor IL) { MethodDefinition method = IL.GetMethod(); TypeDefinition declaringType = method.DeclaringType; diff --git a/src/LinFu.Reflection.Emit/LinFu.Reflection.Emit.csproj b/src/LinFu.Reflection.Emit/LinFu.Reflection.Emit.csproj index 7299c6f..fb02adc 100644 --- a/src/LinFu.Reflection.Emit/LinFu.Reflection.Emit.csproj +++ b/src/LinFu.Reflection.Emit/LinFu.Reflection.Emit.csproj @@ -1,77 +1,81 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} - Library - Properties - LinFu.Reflection.Emit - LinFu.Reflection.Emit - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - ..\..\build\Debug\LinFu.Reflection.Emit.XML - - - pdbonly - true - ..\..\build\Release\ - TRACE - prompt - 4 - ..\..\build\Release\LinFu.Reflection.Emit.XML - - - - False - ..\..\lib\Mono.Cecil.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} + Library + Properties + LinFu.Reflection.Emit + LinFu.Reflection.Emit + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + ..\..\build\Debug\LinFu.Reflection.Emit.XML + + + pdbonly + true + ..\..\build\Release\ + TRACE + prompt + 4 + ..\..\build\Release\LinFu.Reflection.Emit.XML + + + + False + ..\..\lib\Mono.Cecil.dll + + + ..\..\lib\Mono.Cecil.Rocks.dll + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + Properties\CommonAssemblyInfo.cs + + + + + + + + + + + --> \ No newline at end of file diff --git a/src/LinFu.Reflection.Emit/MethodDefinitionExtensions.cs b/src/LinFu.Reflection.Emit/MethodDefinitionExtensions.cs index 42700f0..4c551e0 100644 --- a/src/LinFu.Reflection.Emit/MethodDefinitionExtensions.cs +++ b/src/LinFu.Reflection.Emit/MethodDefinitionExtensions.cs @@ -14,14 +14,14 @@ namespace LinFu.Reflection.Emit public static class MethodDefinitionExtensions { /// - /// Returns the instance + /// Returns the instance /// associated with the body of the target method. /// /// The target method to be modified. - /// The instance that points to the instructions of the method body. - public static CilWorker GetILGenerator(this MethodDefinition method) + /// The instance that points to the instructions of the method body. + public static ILProcessor GetILGenerator(this MethodDefinition method) { - return method.Body.CilWorker; + return method.Body.GetILProcessor(); } /// @@ -70,9 +70,8 @@ public static VariableDefinition AddLocal(this MethodDefinition method, string v if (newLocal == null) { MethodBody body = method.Body; - int index = body.Variables.Count; - newLocal = new VariableDefinition(variableName, index, method, localType); + newLocal = new VariableDefinition(variableName, localType); body.Variables.Add(newLocal); } @@ -123,7 +122,7 @@ public static void SetReturnType(this MethodDefinition method, Type returnType) else actualReturnType = module.Import(returnType); - method.ReturnType.ReturnType = actualReturnType; + method.ReturnType = actualReturnType; } diff --git a/src/LinFu.Reflection.Emit/ModuleDefinitionExtensions.cs b/src/LinFu.Reflection.Emit/ModuleDefinitionExtensions.cs index f42e671..9d4b350 100644 --- a/src/LinFu.Reflection.Emit/ModuleDefinitionExtensions.cs +++ b/src/LinFu.Reflection.Emit/ModuleDefinitionExtensions.cs @@ -25,7 +25,7 @@ public static TypeDefinition DefineClass(this ModuleDefinition mainModule, string typeName, string namespaceName, TypeAttributes attributes, TypeReference baseType) { - var resultType = new TypeDefinition(typeName, namespaceName, + var resultType = new TypeDefinition(namespaceName, typeName, attributes, baseType); mainModule.Types.Add(resultType); diff --git a/src/LinFu.Reflection.Emit/ParameterDefinitionExtensions.cs b/src/LinFu.Reflection.Emit/ParameterDefinitionExtensions.cs index c3db8cb..97288cd 100644 --- a/src/LinFu.Reflection.Emit/ParameterDefinitionExtensions.cs +++ b/src/LinFu.Reflection.Emit/ParameterDefinitionExtensions.cs @@ -15,7 +15,7 @@ public static class ParameterDefinitionExtensions /// public static bool IsByRef(this ParameterDefinition parameter) { - return parameter.ParameterType != null && parameter.ParameterType is ReferenceType; + return parameter.ParameterType != null && parameter.ParameterType.IsByReference; } } } \ No newline at end of file diff --git a/src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs b/src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs index e721397..6fc0152 100644 --- a/src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs +++ b/src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs @@ -1,315 +1,316 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using Mono.Cecil; -using Mono.Cecil.Cil; -using FieldAttributes = Mono.Cecil.FieldAttributes; -using MethodAttributes = Mono.Cecil.MethodAttributes; -using MethodImplAttributes = Mono.Cecil.MethodImplAttributes; -using PropertyAttributes = Mono.Cecil.PropertyAttributes; - -namespace LinFu.Reflection.Emit -{ - /// - /// A class that extends the - /// class with features similar to the features in the - /// System.Reflection.Emit namespace. - /// - public static class TypeDefinitionExtensions - { - /// - /// Adds a new method to the target type. - /// - /// The type that will hold the newly-created method. - /// The parameter that describes the characteristics of the method. - /// The name to be given to the new method. - /// The method return type. - /// The calling convention of the method being created. - /// The list of argument types that will be used to define the method signature. - /// A instance that represents the newly-created method. - public static MethodDefinition DefineMethod(this TypeDefinition typeDef, string methodName, - MethodAttributes attributes, - MethodCallingConvention callingConvention, Type returnType, - params Type[] parameterTypes) - { - var method = new MethodDefinition(methodName, attributes, null) - { - CallingConvention = callingConvention - }; - - typeDef.Methods.Add(method); - - // Match the parameter types - method.AddParameters(parameterTypes); - - // Match the return type - method.SetReturnType(returnType); - - return method; - } - - /// - /// Adds a new method to the target type. - /// - /// The type that will hold the newly-created method. - /// The parameter that describes the characteristics of the method. - /// The name to be given to the new method. - /// The method return type. - /// The list of argument types that will be used to define the method signature. - /// The list of generic argument types that will be used to define the method signature. - /// A instance that represents the newly-created method. - public static MethodDefinition DefineMethod(this TypeDefinition typeDef, string methodName, - MethodAttributes attributes, Type returnType, Type[] parameterTypes, - Type[] genericParameterTypes) - { - var method = new MethodDefinition(methodName, attributes, null); - - typeDef.Methods.Add(method); - - //Match the generic parameter types - foreach (Type genericParameterType in genericParameterTypes) - { - method.AddGenericParameter(genericParameterType); - } - - // Match the parameter types - method.AddParameters(parameterTypes); - - // Match the return type - method.SetReturnType(returnType); - - return method; - } - - /// - /// Adds a default constructor to the target type. - /// - /// The type that will contain the default constructor. - /// The default constructor. - public static MethodDefinition AddDefaultConstructor(this TypeDefinition targetType) - { - Type parentType = typeof (object); - - return AddDefaultConstructor(targetType, parentType); - } - - /// - /// Adds a default constructor to the target type. - /// - /// The base class that contains the default constructor that will be used for constructor chaining.. - /// The type that will contain the default constructor. - /// The default constructor. - public static MethodDefinition AddDefaultConstructor(this TypeDefinition targetType, Type parentType) - { - ModuleDefinition module = targetType.Module; - TypeReference voidType = module.Import(typeof (void)); - MethodAttributes methodAttributes = MethodAttributes.Public | MethodAttributes.HideBySig - | MethodAttributes.SpecialName | MethodAttributes.RTSpecialName; - - - BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance; - ConstructorInfo objectConstructor = parentType.GetConstructor(flags, null, new Type[0], null); - - // Revert to the System.Object constructor - // if the parent type does not have a default constructor - if (objectConstructor == null) - objectConstructor = typeof (object).GetConstructor(new Type[0]); - - MethodReference baseConstructor = module.Import(objectConstructor); - - // Define the default constructor - var ctor = new MethodDefinition(".ctor", methodAttributes, voidType) - { - CallingConvention = MethodCallingConvention.StdCall, - ImplAttributes = (MethodImplAttributes.IL | MethodImplAttributes.Managed) - }; - - CilWorker IL = ctor.Body.CilWorker; - - // Call the constructor for System.Object, and exit - IL.Emit(OpCodes.Ldarg_0); - IL.Emit(OpCodes.Call, baseConstructor); - IL.Emit(OpCodes.Ret); - - targetType.Constructors.Add(ctor); - - return ctor; - } - - /// - /// Adds a rewritable property to the target type. - /// - /// The target type that will hold the newly-created property. - /// The name of the property itself. - /// The instance that describes the property type. - public static void AddProperty(this TypeDefinition typeDef, string propertyName, Type propertyType) - { - ModuleDefinition module = typeDef.Module; - TypeReference typeRef = module.Import(propertyType); - typeDef.AddProperty(propertyName, typeRef); - } - - /// - /// Adds a rewritable property to the target type. - /// - /// The target type that will hold the newly-created property. - /// The name of the property itself. - /// The instance that describes the property type. - public static void AddProperty(this TypeDefinition typeDef, string propertyName, - TypeReference propertyType) - { - #region Add the backing field - - string fieldName = string.Format("__{0}_backingField", propertyName); - var actualField = new FieldDefinition(fieldName, - propertyType, FieldAttributes.Private); - - - typeDef.Fields.Add(actualField); - - #endregion - - FieldReference backingField = actualField; - if (typeDef.GenericParameters.Count > 0) - backingField = GetBackingField(fieldName, typeDef, propertyType); - - string getterName = string.Format("get_{0}", propertyName); - string setterName = string.Format("set_{0}", propertyName); - - - const MethodAttributes attributes = MethodAttributes.Public | MethodAttributes.HideBySig | - MethodAttributes.SpecialName | MethodAttributes.NewSlot | - MethodAttributes.Virtual; - - ModuleDefinition module = typeDef.Module; - TypeReference voidType = module.Import(typeof (void)); - - // Implement the getter and the setter - MethodDefinition getter = AddPropertyGetter(propertyType, getterName, attributes, backingField); - MethodDefinition setter = AddPropertySetter(propertyType, attributes, backingField, setterName, voidType); - - typeDef.AddProperty(propertyName, propertyType, getter, setter); - } - - /// - /// Adds a rewriteable property to the target type - /// using an existing and . - /// - /// The target type that will hold the newly-created property. - /// The name of the property itself. - /// The instance that describes the property type. - /// The property getter method. - /// The property setter method. - public static void AddProperty(this TypeDefinition typeDef, string propertyName, TypeReference propertyType, - MethodDefinition getter, MethodDefinition setter) - { - var newProperty = new PropertyDefinition(propertyName, - propertyType, PropertyAttributes.Unused) - { - GetMethod = getter, - SetMethod = setter - }; - - typeDef.Methods.Add(getter); - typeDef.Methods.Add(setter); - typeDef.Properties.Add(newProperty); - } - - /// - /// Retrieves the method that matches the given . - /// - /// The target type to search. - /// The name of the target method. - /// A method that matches the given . If the method is not found, then it will return a null value. - public static MethodDefinition GetMethod(this TypeDefinition typeDef, string methodName) - { - IEnumerable result = from MethodDefinition m in typeDef.Methods - where m.Name == methodName - select m; - - return result.FirstOrDefault(); - } - - /// - /// Resolves the backing field for a generic type declaration. - /// - /// The name of the field to reference. - /// The type that holds the actual field. - /// The that describes the property type being referenced. - /// A that points to the actual backing field. - private static FieldReference GetBackingField(string fieldName, TypeDefinition typeDef, - TypeReference propertyType) - { - // If the current type is a generic type, - // the current generic type must be resolved before - // using the actual field - var declaringType = new GenericInstanceType(typeDef); - foreach (GenericParameter parameter in typeDef.GenericParameters) - { - declaringType.GenericArguments.Add(parameter); - } - - return new FieldReference(fieldName, declaringType, propertyType); - ; - } - - /// - /// Creates a property getter method implementation with the - /// as the return type. - /// - /// Represents the return type for the getter method. - /// The getter method name. - /// The method attributes associated with the getter method. - /// The field that will store the instance that the getter method will retrieve. - /// A representing the getter method itself. - private static MethodDefinition AddPropertyGetter(TypeReference propertyType, - string getterName, MethodAttributes attributes, - FieldReference backingField) - { - var getter = new MethodDefinition(getterName, attributes, propertyType) - { - IsPublic = true, - ImplAttributes = (MethodImplAttributes.Managed | MethodImplAttributes.IL) - }; - - CilWorker IL = getter.GetILGenerator(); - IL.Emit(OpCodes.Ldarg_0); - IL.Emit(OpCodes.Ldfld, backingField); - IL.Emit(OpCodes.Ret); - - return getter; - } - - /// - /// Creates a property setter method implementation with the - /// as the setter parameter. - /// - /// Represents the parameter type for the setter method. - /// The method attributes associated with the setter method. - /// The field that will store the instance for the setter method. - /// The method name of the setter method. - /// The that represents . - /// A that represents the setter method itself. - private static MethodDefinition AddPropertySetter(TypeReference propertyType, MethodAttributes attributes, - FieldReference backingField, string setterName, - TypeReference voidType) - { - var setter = new MethodDefinition(setterName, attributes, voidType) - { - IsPublic = true, - ImplAttributes = (MethodImplAttributes.Managed | MethodImplAttributes.IL) - }; - - setter.Parameters.Add(new ParameterDefinition(propertyType)); - - CilWorker IL = setter.GetILGenerator(); - IL.Emit(OpCodes.Ldarg_0); - IL.Emit(OpCodes.Ldarg_1); - IL.Emit(OpCodes.Stfld, backingField); - IL.Emit(OpCodes.Ret); - - return setter; - } - } +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using Mono.Cecil; +using Mono.Cecil.Cil; +using Mono.Cecil.Rocks; +using FieldAttributes = Mono.Cecil.FieldAttributes; +using MethodAttributes = Mono.Cecil.MethodAttributes; +using MethodImplAttributes = Mono.Cecil.MethodImplAttributes; +using PropertyAttributes = Mono.Cecil.PropertyAttributes; + +namespace LinFu.Reflection.Emit +{ + /// + /// A class that extends the + /// class with features similar to the features in the + /// System.Reflection.Emit namespace. + /// + public static class TypeDefinitionExtensions + { + /// + /// Adds a new method to the target type. + /// + /// The type that will hold the newly-created method. + /// The parameter that describes the characteristics of the method. + /// The name to be given to the new method. + /// The method return type. + /// The calling convention of the method being created. + /// The list of argument types that will be used to define the method signature. + /// A instance that represents the newly-created method. + public static MethodDefinition DefineMethod(this TypeDefinition typeDef, string methodName, + MethodAttributes attributes, + MethodCallingConvention callingConvention, Type returnType, + params Type[] parameterTypes) + { + var method = new MethodDefinition(methodName, attributes, null) + { + CallingConvention = callingConvention + }; + + typeDef.Methods.Add(method); + + // Match the parameter types + method.AddParameters(parameterTypes); + + // Match the return type + method.SetReturnType(returnType); + + return method; + } + + /// + /// Adds a new method to the target type. + /// + /// The type that will hold the newly-created method. + /// The parameter that describes the characteristics of the method. + /// The name to be given to the new method. + /// The method return type. + /// The list of argument types that will be used to define the method signature. + /// The list of generic argument types that will be used to define the method signature. + /// A instance that represents the newly-created method. + public static MethodDefinition DefineMethod(this TypeDefinition typeDef, string methodName, + MethodAttributes attributes, Type returnType, Type[] parameterTypes, + Type[] genericParameterTypes) + { + var method = new MethodDefinition(methodName, attributes, typeDef.Module.Import(typeof(void))); + + typeDef.Methods.Add(method); + + //Match the generic parameter types + foreach (Type genericParameterType in genericParameterTypes) + { + method.AddGenericParameter(genericParameterType); + } + + // Match the parameter types + method.AddParameters(parameterTypes); + + // Match the return type + method.SetReturnType(returnType); + + return method; + } + + /// + /// Adds a default constructor to the target type. + /// + /// The type that will contain the default constructor. + /// The default constructor. + public static MethodDefinition AddDefaultConstructor(this TypeDefinition targetType) + { + Type parentType = typeof (object); + + return AddDefaultConstructor(targetType, parentType); + } + + /// + /// Adds a default constructor to the target type. + /// + /// The base class that contains the default constructor that will be used for constructor chaining.. + /// The type that will contain the default constructor. + /// The default constructor. + public static MethodDefinition AddDefaultConstructor(this TypeDefinition targetType, Type parentType) + { + ModuleDefinition module = targetType.Module; + TypeReference voidType = module.Import(typeof (void)); + MethodAttributes methodAttributes = MethodAttributes.Public | MethodAttributes.HideBySig + | MethodAttributes.SpecialName | MethodAttributes.RTSpecialName; + + + BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance; + ConstructorInfo objectConstructor = parentType.GetConstructor(flags, null, new Type[0], null); + + // Revert to the System.Object constructor + // if the parent type does not have a default constructor + if (objectConstructor == null) + objectConstructor = typeof (object).GetConstructor(new Type[0]); + + MethodReference baseConstructor = module.Import(objectConstructor); + + // Define the default constructor + var ctor = new MethodDefinition(".ctor", methodAttributes, voidType) + { + //CallingConvention = MethodCallingConvention.StdCall, + ImplAttributes = (MethodImplAttributes.IL | MethodImplAttributes.Managed) + }; + + ILProcessor IL = ctor.Body.GetILProcessor(); + + // Call the constructor for System.Object, and exit + IL.Emit(OpCodes.Ldarg_0); + IL.Emit(OpCodes.Call, baseConstructor); + IL.Emit(OpCodes.Ret); + + targetType.Methods.Add(ctor); + + return ctor; + } + + /// + /// Adds a rewritable property to the target type. + /// + /// The target type that will hold the newly-created property. + /// The name of the property itself. + /// The instance that describes the property type. + public static void AddProperty(this TypeDefinition typeDef, string propertyName, Type propertyType) + { + ModuleDefinition module = typeDef.Module; + TypeReference typeRef = module.Import(propertyType); + typeDef.AddProperty(propertyName, typeRef); + } + + /// + /// Adds a rewritable property to the target type. + /// + /// The target type that will hold the newly-created property. + /// The name of the property itself. + /// The instance that describes the property type. + public static void AddProperty(this TypeDefinition typeDef, string propertyName, + TypeReference propertyType) + { + #region Add the backing field + + string fieldName = string.Format("__{0}_backingField", propertyName); + var actualField = new FieldDefinition(fieldName, + FieldAttributes.Private, propertyType); + + + typeDef.Fields.Add(actualField); + + #endregion + + FieldReference backingField = actualField; + if (typeDef.GenericParameters.Count > 0) + backingField = GetBackingField(fieldName, typeDef, propertyType); + + string getterName = string.Format("get_{0}", propertyName); + string setterName = string.Format("set_{0}", propertyName); + + + const MethodAttributes attributes = MethodAttributes.Public | MethodAttributes.HideBySig | + MethodAttributes.SpecialName | MethodAttributes.NewSlot | + MethodAttributes.Virtual; + + ModuleDefinition module = typeDef.Module; + TypeReference voidType = module.Import(typeof (void)); + + // Implement the getter and the setter + MethodDefinition getter = AddPropertyGetter(propertyType, getterName, attributes, backingField); + MethodDefinition setter = AddPropertySetter(propertyType, attributes, backingField, setterName, voidType); + + typeDef.AddProperty(propertyName, propertyType, getter, setter); + } + + /// + /// Adds a rewriteable property to the target type + /// using an existing and . + /// + /// The target type that will hold the newly-created property. + /// The name of the property itself. + /// The instance that describes the property type. + /// The property getter method. + /// The property setter method. + public static void AddProperty(this TypeDefinition typeDef, string propertyName, TypeReference propertyType, + MethodDefinition getter, MethodDefinition setter) + { + var newProperty = new PropertyDefinition(propertyName, + PropertyAttributes.Unused, propertyType) + { + GetMethod = getter, + SetMethod = setter + }; + + typeDef.Methods.Add(getter); + typeDef.Methods.Add(setter); + typeDef.Properties.Add(newProperty); + } + + /// + /// Retrieves the method that matches the given . + /// + /// The target type to search. + /// The name of the target method. + /// A method that matches the given . If the method is not found, then it will return a null value. + public static MethodDefinition GetMethod(this TypeDefinition typeDef, string methodName) + { + IEnumerable result = from MethodDefinition m in typeDef.Methods + where m.Name == methodName + select m; + + return result.FirstOrDefault(); + } + + /// + /// Resolves the backing field for a generic type declaration. + /// + /// The name of the field to reference. + /// The type that holds the actual field. + /// The that describes the property type being referenced. + /// A that points to the actual backing field. + private static FieldReference GetBackingField(string fieldName, TypeDefinition typeDef, + TypeReference propertyType) + { + // If the current type is a generic type, + // the current generic type must be resolved before + // using the actual field + var declaringType = new GenericInstanceType(typeDef); + foreach (GenericParameter parameter in typeDef.GenericParameters) + { + declaringType.GenericArguments.Add(parameter); + } + + return new FieldReference(fieldName, declaringType, propertyType); + ; + } + + /// + /// Creates a property getter method implementation with the + /// as the return type. + /// + /// Represents the return type for the getter method. + /// The getter method name. + /// The method attributes associated with the getter method. + /// The field that will store the instance that the getter method will retrieve. + /// A representing the getter method itself. + private static MethodDefinition AddPropertyGetter(TypeReference propertyType, + string getterName, MethodAttributes attributes, + FieldReference backingField) + { + var getter = new MethodDefinition(getterName, attributes, propertyType) + { + IsPublic = true, + ImplAttributes = (MethodImplAttributes.Managed | MethodImplAttributes.IL) + }; + + ILProcessor IL = getter.GetILGenerator(); + IL.Emit(OpCodes.Ldarg_0); + IL.Emit(OpCodes.Ldfld, backingField); + IL.Emit(OpCodes.Ret); + + return getter; + } + + /// + /// Creates a property setter method implementation with the + /// as the setter parameter. + /// + /// Represents the parameter type for the setter method. + /// The method attributes associated with the setter method. + /// The field that will store the instance for the setter method. + /// The method name of the setter method. + /// The that represents . + /// A that represents the setter method itself. + private static MethodDefinition AddPropertySetter(TypeReference propertyType, MethodAttributes attributes, + FieldReference backingField, string setterName, + TypeReference voidType) + { + var setter = new MethodDefinition(setterName, attributes, voidType) + { + IsPublic = true, + ImplAttributes = (MethodImplAttributes.Managed | MethodImplAttributes.IL) + }; + + setter.Parameters.Add(new ParameterDefinition(propertyType)); + + ILProcessor IL = setter.GetILGenerator(); + IL.Emit(OpCodes.Ldarg_0); + IL.Emit(OpCodes.Ldarg_1); + IL.Emit(OpCodes.Stfld, backingField); + IL.Emit(OpCodes.Ret); + + return setter; + } + } } \ No newline at end of file diff --git a/src/LinFu.Reflection/LinFu.Reflection.csproj b/src/LinFu.Reflection/LinFu.Reflection.csproj index 16fb4d6..3e7cfaa 100644 --- a/src/LinFu.Reflection/LinFu.Reflection.csproj +++ b/src/LinFu.Reflection/LinFu.Reflection.csproj @@ -1,93 +1,94 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {22EEB00F-F471-486C-A6AD-60F088821C78} - Library - Properties - LinFu.Reflection - LinFu.Reflection - v3.5 - 512 - true - LinFu.snk - - - 3.5 - - - - true - full - false - ..\..\build\Debug\ - DEBUG;TRACE - prompt - 4 - bin\Debug\LinFu.Reflection.XML - - - pdbonly - true - ..\..\build\Release\ - TRACE - prompt - 4 - ..\..\build\Release\LinFu.Reflection.XML - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {22EEB00F-F471-486C-A6AD-60F088821C78} + Library + Properties + LinFu.Reflection + LinFu.Reflection + v4.0 + 512 + true + LinFu.snk + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\ + DEBUG;TRACE + prompt + 4 + bin\Debug\LinFu.Reflection.XML + + + pdbonly + true + ..\..\build\Release\ + TRACE + prompt + 4 + ..\..\build\Release\LinFu.Reflection.XML + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + Properties\CommonAssemblyInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --> \ No newline at end of file diff --git a/src/PostWeaver/PostWeaver.csproj b/src/PostWeaver/PostWeaver.csproj index a5bb455..f2fe2f9 100644 --- a/src/PostWeaver/PostWeaver.csproj +++ b/src/PostWeaver/PostWeaver.csproj @@ -1,85 +1,89 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {D616982C-D439-4B5C-B1A8-79BD4E7044FB} - Exe - Properties - PostWeaver - PostWeaver - v3.5 - 512 - - - 3.5 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - ..\..\lib\Mono.Cecil.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - {613B6547-DCBB-4505-82B8-B4179BFC95CE} - LinFu.AOP.Cecil - - - {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} - LinFu.Reflection.Emit - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {D616982C-D439-4B5C-B1A8-79BD4E7044FB} + Exe + Properties + PostWeaver + PostWeaver + v4.0 + 512 + + + 3.5 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\lib\Mono.Cecil.dll + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + {613B6547-DCBB-4505-82B8-B4179BFC95CE} + LinFu.AOP.Cecil + + + {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} + LinFu.Reflection.Emit + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + + + + + --> \ No newline at end of file diff --git a/src/PostWeaver/Program.cs b/src/PostWeaver/Program.cs index 9cb402b..8e2210f 100644 --- a/src/PostWeaver/Program.cs +++ b/src/PostWeaver/Program.cs @@ -25,18 +25,18 @@ private static void Main(string[] args) if (!File.Exists(inputFile)) throw new FileNotFoundException(inputFile); - string targetFile = inputFile; - AssemblyDefinition assembly = AssemblyFactory.GetAssembly(targetFile); + string targetFile = inputFile; + AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(targetFile); string targetDirectory = Path.GetDirectoryName(targetFile); string filenameWithoutExtension = Path.GetFileNameWithoutExtension(targetFile); string pdbFileName = string.Format("{0}.pdb", filenameWithoutExtension); bool pdbExists = File.Exists(pdbFileName); - ModuleDefinition module = assembly.MainModule; - - if (pdbExists) - module.LoadSymbols(); + ModuleDefinition module = assembly.MainModule; + + if (pdbExists) + module.ReadSymbols(); InterceptMethodCalls(assembly, targetDirectory); InterceptNewInstances(assembly, targetDirectory); @@ -46,14 +46,14 @@ private static void Main(string[] args) // Update the PDB info if it exists if (pdbExists) - module.SaveSymbols(); + module.Write(targetFile); assembly.Save(targetFile); Console.WriteLine("PostWeaving Assembly '{0}' -> '{0}'", targetFile); } - private static void InterceptExceptions(IReflectionStructureVisitable assembly, string targetDirectory) + private static void InterceptExceptions(AssemblyDefinition assembly, string targetDirectory) { var methodFilter = LoadFirstInstanceOf(targetDirectory); @@ -66,7 +66,7 @@ private static void InterceptExceptions(IReflectionStructureVisitable assembly, assembly.InterceptAllExceptions(); } - private static void InterceptFields(IReflectionStructureVisitable assembly, string targetDirectory) + private static void InterceptFields(AssemblyDefinition assembly, string targetDirectory) { var fieldFilter = LoadFirstInstanceOf(targetDirectory); var hostTypeFilter = LoadFirstInstanceOf(targetDirectory); @@ -80,7 +80,7 @@ private static void InterceptFields(IReflectionStructureVisitable assembly, stri assembly.InterceptAllFields(); } - private static void InterceptMethodBodies(IReflectionStructureVisitable assembly, string targetDirectory) + private static void InterceptMethodBodies(AssemblyDefinition assembly, string targetDirectory) { var methodFilter = LoadFirstInstanceOf(targetDirectory); if (methodFilter != null) @@ -92,7 +92,7 @@ private static void InterceptMethodBodies(IReflectionStructureVisitable assembly assembly.InterceptAllMethodBodies(); } - private static void InterceptNewInstances(IReflectionStructureVisitable assembly, string targetDirectory) + private static void InterceptNewInstances(AssemblyDefinition assembly, string targetDirectory) { var newInstanceFilter = LoadFirstInstanceOf(targetDirectory); var methodFilter = LoadFirstInstanceOf(targetDirectory); @@ -106,7 +106,7 @@ private static void InterceptNewInstances(IReflectionStructureVisitable assembly assembly.InterceptAllNewInstances(); } - private static void InterceptMethodCalls(IReflectionStructureVisitable assembly, string sourceDirectory) + private static void InterceptMethodCalls(AssemblyDefinition assembly, string sourceDirectory) { var methodCallFilter = LoadFirstInstanceOf(sourceDirectory); var hostMethodFilter = LoadFirstInstanceOf(sourceDirectory); diff --git a/src/SampleFileWatcherLibrary/SampleFileWatcherLibrary.csproj b/src/SampleFileWatcherLibrary/SampleFileWatcherLibrary.csproj index 656b0c2..3440d56 100644 --- a/src/SampleFileWatcherLibrary/SampleFileWatcherLibrary.csproj +++ b/src/SampleFileWatcherLibrary/SampleFileWatcherLibrary.csproj @@ -1,77 +1,78 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {C93694B2-A776-4D91-8C1A-2A73B2479133} - Library - Properties - SampleFileWatcherLibrary - SampleFileWatcherLibrary - v3.5 - 512 - - - 3.5 - - - - true - full - false - ..\..\build\Debug\UnitTests\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} - LinFu.IoC.Common - - - {FA3D5517-EFF4-4363-AFF2-EF67B981334E} - LinFu.IoC - - - {DEFBEF97-B03C-448F-9518-394735439E2E} - SampleLibrary - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {C93694B2-A776-4D91-8C1A-2A73B2479133} + Library + Properties + SampleFileWatcherLibrary + SampleFileWatcherLibrary + v4.0 + 512 + + + 3.5 + + + + + true + full + false + ..\..\build\Debug\UnitTests\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} + LinFu.IoC.Common + + + {FA3D5517-EFF4-4363-AFF2-EF67B981334E} + LinFu.IoC + + + {DEFBEF97-B03C-448F-9518-394735439E2E} + SampleLibrary + + + + --> \ No newline at end of file diff --git a/src/SampleLibrary/SampleLibrary.csproj b/src/SampleLibrary/SampleLibrary.csproj index a6a912f..e2b9426 100644 --- a/src/SampleLibrary/SampleLibrary.csproj +++ b/src/SampleLibrary/SampleLibrary.csproj @@ -1,163 +1,164 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {DEFBEF97-B03C-448F-9518-394735439E2E} - Library - Properties - SampleLibrary - SampleLibrary - v3.5 - 512 - - - 3.5 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} - LinFu.IoC.Common - - - {FA3D5517-EFF4-4363-AFF2-EF67B981334E} - LinFu.IoC - - - {DC20B330-B410-481D-A192-D82A07D2C7EF} - LinFu.Proxy.Extensions - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {DEFBEF97-B03C-448F-9518-394735439E2E} + Library + Properties + SampleLibrary + SampleLibrary + v4.0 + 512 + + + 3.5 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} + LinFu.IoC.Common + + + {FA3D5517-EFF4-4363-AFF2-EF67B981334E} + LinFu.IoC + + + {DC20B330-B410-481D-A192-D82A07D2C7EF} + LinFu.Proxy.Extensions + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + + --> \ No newline at end of file diff --git a/src/SampleStronglyNamedLibrary/SampleStronglyNamedLibrary.csproj b/src/SampleStronglyNamedLibrary/SampleStronglyNamedLibrary.csproj index ea218ea..2e844e8 100644 --- a/src/SampleStronglyNamedLibrary/SampleStronglyNamedLibrary.csproj +++ b/src/SampleStronglyNamedLibrary/SampleStronglyNamedLibrary.csproj @@ -1,68 +1,69 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {9D2FF6CF-308E-4E31-A0D2-DE98355123CF} - Library - Properties - SampleStronglyNamedLibrary - SampleStronglyNamedLibrary - v3.5 - 512 - true - SampleKey.snk - - - 3.5 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {9D2FF6CF-308E-4E31-A0D2-DE98355123CF} + Library + Properties + SampleStronglyNamedLibrary + SampleStronglyNamedLibrary + v4.0 + 512 + true + SampleKey.snk + + + 3.5 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + + --> \ No newline at end of file diff --git a/src/UnitTests/AOP/FieldInterceptionTests.cs b/src/UnitTests/AOP/FieldInterceptionTests.cs index 0a91263..5030b09 100644 --- a/src/UnitTests/AOP/FieldInterceptionTests.cs +++ b/src/UnitTests/AOP/FieldInterceptionTests.cs @@ -38,7 +38,7 @@ public object SetValue(IFieldInterceptionContext context, object value) [Test] public void ShouldSetAndGetTheSameFieldValue() { - AssemblyDefinition myLibrary = AssemblyFactory.GetAssembly("SampleLibrary.dll"); + AssemblyDefinition myLibrary = AssemblyDefinition.ReadAssembly("SampleLibrary.dll"); ModuleDefinition module = myLibrary.MainModule; foreach (TypeDefinition type in myLibrary.MainModule.Types) diff --git a/src/UnitTests/AOP/MethodBodyInterceptionTests.cs b/src/UnitTests/AOP/MethodBodyInterceptionTests.cs index f1b4e5b..3c44ae4 100644 --- a/src/UnitTests/AOP/MethodBodyInterceptionTests.cs +++ b/src/UnitTests/AOP/MethodBodyInterceptionTests.cs @@ -26,7 +26,7 @@ private void Test(Action testInstance) private void Test(string libraryFileName, string typeName, Func methodFilter, Action testTargetType) { - AssemblyDefinition assembly = AssemblyFactory.GetAssembly(libraryFileName); + AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(libraryFileName); ModuleDefinition module = assembly.MainModule; TypeDefinition targetType = (from TypeDefinition t in module.Types diff --git a/src/UnitTests/AOP/NewOperatorInterceptionTests.cs b/src/UnitTests/AOP/NewOperatorInterceptionTests.cs index fdcfb4c..49a9447 100644 --- a/src/UnitTests/AOP/NewOperatorInterceptionTests.cs +++ b/src/UnitTests/AOP/NewOperatorInterceptionTests.cs @@ -28,7 +28,7 @@ public void DoSomething() [Test] public void ShouldInterceptObjectInstantiation() { - AssemblyDefinition assembly = AssemblyFactory.GetAssembly("SampleLibrary.dll"); + AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly("SampleLibrary.dll"); ModuleDefinition module = assembly.MainModule; string typeName = "SampleClassWithNewInstanceCall"; diff --git a/src/UnitTests/AOP/ParameterDefinitionExtensionTests.cs b/src/UnitTests/AOP/ParameterDefinitionExtensionTests.cs index c118a79..b2f6c3f 100644 --- a/src/UnitTests/AOP/ParameterDefinitionExtensionTests.cs +++ b/src/UnitTests/AOP/ParameterDefinitionExtensionTests.cs @@ -12,10 +12,10 @@ public class ParameterDefinitionExtensionTests : BaseTestFixture public void ShouldBeAbleToDetermineIfMethodIsByRef() { string location = typeof (SampleClassWithByRefMethod).Assembly.Location; - AssemblyDefinition assembly = AssemblyFactory.GetAssembly(location); + AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(location); ModuleDefinition module = assembly.MainModule; - TypeDefinition targetType = module.GetType("SampleClassWithByRefMethod"); + TypeDefinition targetType = module.GetType("SampleLibrary.AOP.SampleClassWithByRefMethod"); MethodDefinition byRefMethod = targetType.GetMethod("ByRefMethod"); MethodDefinition regularMethod = targetType.GetMethod("NonByRefMethod"); diff --git a/src/UnitTests/AOP/ThirdPartyMethodCallInterceptionTests.cs b/src/UnitTests/AOP/ThirdPartyMethodCallInterceptionTests.cs index 96958d7..895651e 100644 --- a/src/UnitTests/AOP/ThirdPartyMethodCallInterceptionTests.cs +++ b/src/UnitTests/AOP/ThirdPartyMethodCallInterceptionTests.cs @@ -35,7 +35,7 @@ private Type GetModifiedTargetType() private Type GetModifiedTargetType(Action modify) { - AssemblyDefinition assembly = AssemblyFactory.GetAssembly("SampleLibrary.dll"); + AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly("SampleLibrary.dll"); ModuleDefinition module = assembly.MainModule; // Intercept all calls to the System.Console.WriteLine method from the DoSomething method diff --git a/src/UnitTests/App.config b/src/UnitTests/App.config index 2772b57..9db177e 100644 --- a/src/UnitTests/App.config +++ b/src/UnitTests/App.config @@ -1,8 +1,7 @@ - - - - - - - - \ No newline at end of file + + + + + + + diff --git a/src/UnitTests/Reflection/ReflectionEmitTests.cs b/src/UnitTests/Reflection/ReflectionEmitTests.cs index 0253f77..7733258 100644 --- a/src/UnitTests/Reflection/ReflectionEmitTests.cs +++ b/src/UnitTests/Reflection/ReflectionEmitTests.cs @@ -1,132 +1,134 @@ -using System; -using System.IO; -using System.Linq; -using System.Reflection; -using LinFu.AOP.Cecil; -using LinFu.IoC; -using LinFu.IoC.Configuration; -using LinFu.IoC.Configuration.Interfaces; -using LinFu.Reflection.Emit; -using Mono.Cecil; -using NUnit.Framework; -using SampleStronglyNamedLibrary; - -namespace LinFu.UnitTests.Reflection -{ - [TestFixture] - public class ReflectionEmitTests : BasePEVerifyTestCase - { - private Loader loader; - private ServiceContainer container; - private string filename; - - protected override void OnInit() - { - if (File.Exists(filename)) - File.Delete(filename); - - // Initialize the loader - // with all of the default LinFu plugins - loader = new Loader(); - container = new ServiceContainer(); - filename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, string.Format("{0}.dll", Guid.NewGuid())); - AutoDelete(filename); - - loader.LoadDirectory(AppDomain.CurrentDomain.BaseDirectory, "LinFu*.dll"); - loader.LoadInto(container); - } - - protected override void OnTerm() - { - if (!File.Exists(filename)) - return; - - PEVerify(filename); - } - - - [Test] - public void AssemblyDefinitionMustBeConvertibleToActualAssembly() - { - AssemblyDefinition definition = AssemblyFactory.DefineAssembly("testAssembly", AssemblyKind.Dll); - - Assembly assembly = definition.ToAssembly(); - Assert.IsTrue(assembly != null); - } - - [Test] - public void CecilShouldExtractSampleClassFromSignedAssembly() - { - string location = typeof (SampleHelloClass).Assembly.Location; - - AssemblyDefinition sourceAssembly = AssemblyFactory.GetAssembly(location); - Assert.IsNotNull(sourceAssembly); - - AssemblyDefinition definition = AssemblyFactory.DefineAssembly("testAssembly", AssemblyKind.Dll); - ModuleDefinition targetModule = definition.MainModule; - foreach (TypeDefinition typeDef in sourceAssembly.MainModule.Types) - { - // Copy the source type to the target assembly - targetModule.Inject(typeDef); - } - - // Convert the new assemblyDef into an actual assembly - Assembly assembly = definition.ToAssembly(); - Assert.IsNotNull(assembly); - - Type[] types = assembly.GetTypes(); - Assert.IsTrue(types.Length > 0); - - // The imported type must match the original type - Type firstType = types.FirstOrDefault(); - Assert.IsNotNull(firstType); - Assert.AreEqual(firstType.Name, typeof (SampleHelloClass).Name); - - object instance = Activator.CreateInstance(firstType); - Assert.IsNotNull(instance); - - MethodInfo speakMethod = firstType.GetMethod("Speak"); - Assert.IsNotNull(speakMethod); - - speakMethod.Invoke(instance, new object[] {}); - } - - [Test] - public void CecilShouldRemoveStrongNameFromAssembly() - { - string location = typeof (SampleHelloClass).Assembly.Location; - - AssemblyDefinition sourceAssembly = AssemblyFactory.GetAssembly(location); - - - Assert.IsNotNull(sourceAssembly); - sourceAssembly.RemoveStrongName(); - - Assembly assembly = sourceAssembly.ToAssembly(); - Assert.IsNotNull(assembly); - - AssemblyName assemblyName = assembly.GetName(); - - // The public key should be empty - byte[] bytes = assemblyName.GetPublicKey(); - Assert.IsTrue(bytes.Length == 0); - return; - } - - [Test] - public void MethodInvokerShouldProperlyHandleReturnValues() - { - MethodInfo targetMethod = typeof (object).GetMethod("GetHashCode"); - var instance = new object(); - - int hash = instance.GetHashCode(); - container.AddDefaultServices(); - - var invoker = container.GetService>(); - Assert.IsNotNull(invoker); - - object result = invoker.Invoke(instance, targetMethod, new object[] {}); - Assert.AreEqual(result, hash); - } - } +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using LinFu.AOP.Cecil; +using LinFu.IoC; +using LinFu.IoC.Configuration; +using LinFu.IoC.Configuration.Interfaces; +using LinFu.Reflection.Emit; +using Mono.Cecil; +using NUnit.Framework; +using SampleStronglyNamedLibrary; + +namespace LinFu.UnitTests.Reflection +{ + [TestFixture] + public class ReflectionEmitTests : BasePEVerifyTestCase + { + private Loader loader; + private ServiceContainer container; + private string filename; + + protected override void OnInit() + { + if (File.Exists(filename)) + File.Delete(filename); + + // Initialize the loader + // with all of the default LinFu plugins + loader = new Loader(); + container = new ServiceContainer(); + filename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, string.Format("{0}.dll", Guid.NewGuid())); + AutoDelete(filename); + + loader.LoadDirectory(AppDomain.CurrentDomain.BaseDirectory, "LinFu*.dll"); + loader.LoadInto(container); + } + + protected override void OnTerm() + { + if (!File.Exists(filename)) + return; + + PEVerify(filename); + } + + + [Test] + public void AssemblyDefinitionMustBeConvertibleToActualAssembly() + { + ModuleDefinition definition = ModuleDefinition.CreateModule("testAssembly", ModuleKind.Dll); + + Assembly assembly = definition.Assembly.ToAssembly(); + Assert.IsTrue(assembly != null); + } + + [Test] + public void CecilShouldExtractSampleClassFromSignedAssembly() + { + string location = typeof (SampleHelloClass).Assembly.Location; + + AssemblyDefinition sourceAssembly = AssemblyDefinition.ReadAssembly(location); + Assert.IsNotNull(sourceAssembly); + + ModuleDefinition targetModule = ModuleDefinition.CreateModule("testAssembly", ModuleKind.Dll); + AssemblyDefinition definition = targetModule.Assembly; + + foreach (TypeDefinition typeDef in sourceAssembly.MainModule.Types) + { + // Copy the source type to the target assembly + throw new NotImplementedException(); + //targetModule.Inject(typeDef); + } + + // Convert the new assemblyDef into an actual assembly + Assembly assembly = definition.ToAssembly(); + Assert.IsNotNull(assembly); + + Type[] types = assembly.GetTypes(); + Assert.IsTrue(types.Length > 0); + + // The imported type must match the original type + Type firstType = types.FirstOrDefault(); + Assert.IsNotNull(firstType); + Assert.AreEqual(firstType.Name, typeof (SampleHelloClass).Name); + + object instance = Activator.CreateInstance(firstType); + Assert.IsNotNull(instance); + + MethodInfo speakMethod = firstType.GetMethod("Speak"); + Assert.IsNotNull(speakMethod); + + speakMethod.Invoke(instance, new object[] {}); + } + + [Test] + public void CecilShouldRemoveStrongNameFromAssembly() + { + string location = typeof (SampleHelloClass).Assembly.Location; + + AssemblyDefinition sourceAssembly = AssemblyDefinition.ReadAssembly(location); + + + Assert.IsNotNull(sourceAssembly); + sourceAssembly.RemoveStrongName(); + + Assembly assembly = sourceAssembly.ToAssembly(); + Assert.IsNotNull(assembly); + + AssemblyName assemblyName = assembly.GetName(); + + // The public key should be empty + byte[] bytes = assemblyName.GetPublicKey(); + Assert.IsTrue(bytes.Length == 0); + return; + } + + [Test] + public void MethodInvokerShouldProperlyHandleReturnValues() + { + MethodInfo targetMethod = typeof (object).GetMethod("GetHashCode"); + var instance = new object(); + + int hash = instance.GetHashCode(); + container.AddDefaultServices(); + + var invoker = container.GetService>(); + Assert.IsNotNull(invoker); + + object result = invoker.Invoke(instance, targetMethod, new object[] {}); + Assert.AreEqual(result, hash); + } + } } \ No newline at end of file diff --git a/src/UnitTests/Tools/PEVerifier.cs b/src/UnitTests/Tools/PEVerifier.cs index 006ecb6..7925384 100644 --- a/src/UnitTests/Tools/PEVerifier.cs +++ b/src/UnitTests/Tools/PEVerifier.cs @@ -28,7 +28,7 @@ internal PEVerifier(string filename) public void Verify(AssemblyDefinition assembly) { // Save the assembly to the temporary file and verify it - AssemblyFactory.SaveAssembly(assembly, location); + assembly.Write(location); PEVerify(location); } diff --git a/src/UnitTests/UnitTests.csproj b/src/UnitTests/UnitTests.csproj index 2d9106b..b9d2484 100644 --- a/src/UnitTests/UnitTests.csproj +++ b/src/UnitTests/UnitTests.csproj @@ -1,179 +1,180 @@ - - - - Debug - AnyCPU - 9.0.30729 - 9.0.21022 - 2.0 - {E3B1686C-DCB3-44E7-BB25-9483592EA942} - Library - Properties - LinFu.UnitTests - LinFu.UnitTests - v3.5 - 512 - - - 3.5 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - full - false - ..\..\build\Debug\UnitTests\ - DEBUG;TRACE - prompt - 4 - - - - False - ..\..\lib\Mono.Cecil.dll - - - False - ..\..\lib\Moq.dll - - - False - ..\..\lib\NUnit.framework.dll - - - - - 3.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} - LinFu.AOP.Interfaces - - - {613B6547-DCBB-4505-82B8-B4179BFC95CE} - LinFu.AOP.Cecil - - - {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} - LinFu.IoC.Common - - - {DC20B330-B410-481D-A192-D82A07D2C7EF} - LinFu.Proxy.Extensions - - - {6C29A409-6148-49AC-A192-DC6F33F3304C} - LinFu.Proxy.Interfaces - - - {54DA7856-9026-439A-8FFE-88BBF99577B8} - LinFu.Proxy - - - {020A9D4F-3C8C-48B5-830F-2EDAB07E0D97} - LinFu.Finders - - - {FA3D5517-EFF4-4363-AFF2-EF67B981334E} - LinFu.IoC - - - {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} - LinFu.Reflection.Emit - - - {22EEB00F-F471-486C-A6AD-60F088821C78} - LinFu.Reflection - - - {C93694B2-A776-4D91-8C1A-2A73B2479133} - SampleFileWatcherLibrary - - - {DEFBEF97-B03C-448F-9518-394735439E2E} - SampleLibrary - - - {9D2FF6CF-308E-4E31-A0D2-DE98355123CF} - SampleStronglyNamedLibrary - - - - - - + + + + Debug + AnyCPU + 9.0.30729 + 9.0.21022 + 2.0 + {E3B1686C-DCB3-44E7-BB25-9483592EA942} + Library + Properties + LinFu.UnitTests + LinFu.UnitTests + v4.0 + 512 + + + 3.5 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + full + false + ..\..\build\Debug\UnitTests\ + DEBUG;TRACE + prompt + 4 + + + + False + ..\..\lib\Mono.Cecil.dll + + + False + ..\..\lib\Moq.dll + + + False + ..\..\lib\NUnit.framework.dll + + + + + 3.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {0F8C48B0-4AE9-4429-AB90-C5141D710C2C} + LinFu.AOP.Interfaces + + + {613B6547-DCBB-4505-82B8-B4179BFC95CE} + LinFu.AOP.Cecil + + + {D027A765-4D2E-48AE-9D83-C5F5AFA7D8C1} + LinFu.IoC.Common + + + {DC20B330-B410-481D-A192-D82A07D2C7EF} + LinFu.Proxy.Extensions + + + {6C29A409-6148-49AC-A192-DC6F33F3304C} + LinFu.Proxy.Interfaces + + + {54DA7856-9026-439A-8FFE-88BBF99577B8} + LinFu.Proxy + + + {020A9D4F-3C8C-48B5-830F-2EDAB07E0D97} + LinFu.Finders + + + {FA3D5517-EFF4-4363-AFF2-EF67B981334E} + LinFu.IoC + + + {22B3D63C-29E9-49D3-86CB-28FF7D2C70E7} + LinFu.Reflection.Emit + + + {22EEB00F-F471-486C-A6AD-60F088821C78} + LinFu.Reflection + + + {C93694B2-A776-4D91-8C1A-2A73B2479133} + SampleFileWatcherLibrary + + + {DEFBEF97-B03C-448F-9518-394735439E2E} + SampleLibrary + + + {9D2FF6CF-308E-4E31-A0D2-DE98355123CF} + SampleStronglyNamedLibrary + + + + + + + --> \ No newline at end of file From 8c4bb217e16aa3a4b9a7dd7d78720583beb4ff66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A9nes=20Magyari?= Date: Tue, 17 May 2011 09:18:19 +0200 Subject: [PATCH 2/5] Missing Cecil binaries --- lib/Mono.Cecil.Mdb.dll | Bin 0 -> 43008 bytes lib/Mono.Cecil.Mdb.pdb | Bin 0 -> 126464 bytes lib/Mono.Cecil.Pdb.pdb | Bin 0 -> 177664 bytes lib/Mono.Cecil.Rocks.dll | Bin 0 -> 23552 bytes lib/Mono.Cecil.Rocks.pdb | Bin 0 -> 46592 bytes lib/Mono.Cecil.pdb | Bin 0 -> 984576 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/Mono.Cecil.Mdb.dll create mode 100644 lib/Mono.Cecil.Mdb.pdb create mode 100644 lib/Mono.Cecil.Pdb.pdb create mode 100644 lib/Mono.Cecil.Rocks.dll create mode 100644 lib/Mono.Cecil.Rocks.pdb create mode 100644 lib/Mono.Cecil.pdb diff --git a/lib/Mono.Cecil.Mdb.dll b/lib/Mono.Cecil.Mdb.dll new file mode 100644 index 0000000000000000000000000000000000000000..b67da6e5fb7a399f3a5bc9954ad519b8d19f0541 GIT binary patch literal 43008 zcmeIbeSB2awLiSi%bYngNrub>5+Df#1q>ks2#AP?yb35F?}B1OAOjgqa>C36!8jVU zQeUa~)=ISswbfd+wY9g}s`aIB-mA5>+G<--TWhJ>_O{h~Ypd}4e%C%{W)igReeUzm z@A*8@th3hIYp=c5+H1d@ea;C>&$?DwN+}z^M~*1`>vu<;1SC^Nq+mx(J_jJ{zy6Wbiv8t}qYfCnjl|@JUs+TWN zYKdW~_1FAxY0%oM${bZ`j24djPt4fuE*9f_qfo1=Qu2TvgpuK1yCrV6R6H^P*2l!}m9^s~H9slFomqtFvic>bb=x6ZuC{r5-iy7{)! zSjTm5y?ozso2_{zmu@=k&C@=!fAqJrUw&yr^w5v&-~9B&7w#?D@v9eJzWJ4>kH2#2 zH+tXs%2oFsK4;szEzAG=rZqoVJ$28|wj~??GHB&H`*vM?-ouO6jXmzXo7%tsr;duB z&p1*&Z*Zin`MFyT{`%c$$C)!q&-(SZS{^FRU1w%uN=0)aM9RzzA{r)Ik2HvyRt|k) zH=JhnB1>$umz4K=Bw53iW-l_$ZX9M-=7`{e2ttH{-YXQ@WcE_47l)>?e!)*!FijJd z_Zw15RZOzf0t5(E<7O|Lx4Z-@Wl`OXIun`#`Bx!dqKUBgD-fk_W*9C}zn0@wpqkUb z|Ddm8lC4JI3d5jRJQ&kUE5}5u)`_`}<^7B{I1Lq(9L2mrO2@6BVQcXC6345Bgm(!* zNoDEyQ{2kQb+&th?N+V7VM=Aly&)u6X$(yKg4 zuS2jwe4dHA2wmK?>ML2>?1d)OqH-rw2bLd1D~kft8w!pS_737Q)~u55L_{vK(=e`^ zDx!^Xv%U(~5M`q|s`G~uEj@+xqY!zi+ zN3%$gYV>uHJ5`gBgW{Z@%!20~5_f!g-7WB$J?n^DMPUxR-ml@W?oFwN&JV^K<`5m$ zX0w;LBwfP@O*EwQa#56-cCLh%P!2PgO(Al54QLi)7ZmAnr|Ofy_BmU<=}mykSdLLV3+7Yc!n(b4)MN-mY3V zrX)us46P#Lc&HSWDU9Y@-c-@Xxu!(HXoX&YKBSS|=wyxueF4H8irKMH%!!3#ZY+|y z9d<`erye#rPQ!Bpqj}J2IPXf=w92d2`lZoma>}4kS)y!V0 za3-8Ed)ZIkEC^PXj327Wuy+dRaMe2Rvk<|xB<#!02EX~|rdC!^pURMLZ-ys&L|1BoCmuc&KV!MJOIBj@0u<>+zeSw)HtA z>xVUkF@&bVY>E+$hrQG3nj1$b_pm8+Nkur0PRS4D=8tZQ+ScbV5I?Lb3^FtoVN)Fa z@rbvCO-19#p3B%&1WiTa5x%dQb)Dgr0aI%+UA>S-a-1hkZTiS^Z!H|jVAhQ0jxF%r zNCtep(jKfHn@$;de=tPZeAw5TS;wl_Z(spmPZawM8y#dI<&ZPO5(mut>^F37 z95XiCsy_?zjYdQI^Uyw2oQpb@_5r6VbimQ-yRbn)dON1=oeg2j_BPO80U6t zsDGswq^S_jF(#<5>??yA&$y;H;?0!lPMx92- z)h+Ti#`mXQjapo26Z}VVN&uvI*yRkxVf!MtrXl5)X zpPqhqJp*%g25RMV_85OwJ0E@^nAGU>ZX%RBB%Pz$DbCc*Kk{3X+oGeVIlo`a)wQ>4 zU)E~<`N>U25LS*VuKZ5J1yO+`58+JMiQF~BDm;asl*K3A6jpIU@-dodKU665#CA z0LN0E$0cBXU5T2HOXPgq4~@hIn7o2kv&jR-2%KcP&5Vkub zqrnbJM?>%a9Gpus9zKP8VMfHKhMB$e*Qb!%^w_7W&0hNKQ#EEUz4j^GSJ7{u!v2Sz z`_xF>Rnd8$tgl02HZ<`(q>}qRr{TK%krr;0d89RumrxG3%C;G^bEo3k@YVEHaLMeY zh-fl4?7S$vym7kYP;b|tCy8*ffLOk4aM|i zv#Ozz2VUi(&61{Ufm)PJYr4N^!Ije>0atKGOINUti7QKS)qQ0t>@D=UQ*iLdDz=AW zo(qjUrA61$9IeR5sRjFAO6HaUcSg=`X{@%rG^{PL2l**7{;$q0w;?i(a;HEBF{OEYKoV>xIziLu1ZFJs7i&mrxG=(-=z|AZ0!-0+!c<)_f^Ml>%Y_a0&!C z)p*+_r_$prrn9IL8MBwAS63on+KO4Q0+~xIT5xIDg65^mh3Pl1OVA9NLFbVvO*W*{ zTcsJ6`rfjz{(RcN1~4GlKr1eV288K1rc2NOnLz_&>Y(mUe@Yr)soww#bugtBJX+ep z;9!T2-RVxE$o$~=*2;0UmNQ0-Ts55QdrQel^zhTOnHuS;U&|1+mUI zEDYVQ*N0lAY`p{)82Gz|I@&=Y=(lOpqQB?g~=QUslO1AIL~Ukd3m=&|ZQ z4y+_$SoPi1W7S_4=&=r04$kXASd;;WOf^o`o*JCpY*V#+G=5h4`;rcHK<5DNr=ktf z5e-ojXWYR|hmAb54x3)A^d`^iom`ScRSsQ+!#B-dvI;ve>}cg+d^|-+ zn7xGh)E|#WM7$A)hSc6*)W^goen()qJ>t1D+v!DD=&?f$0UfLNp3hL{UwGxy7%KBJRiY9ur_f_g_{Wb_qg;0_qe}AObvA zeieap58UGOUp#ZwDa;n6qpv~saRwp-Gsrb?pNA=|b3E!CQ&fjeO$b-YaZH1sXV~;c z_4$luK*b(Wfl>N}d{1H?;}FGcDMNGuW5~S55XClw58LqE5V_@Gb;Oh*yBo~l=wQ^hGOjv<@CUvOcdY~Bm0G-5IgIu0^q*wyVA%Yv1fy28m4H*bz=0kMc4EgTKSAup zonGEHcvC*|Kwb&zRm%-+a`L+fC!`;gYx5K?NHSQSMgr$Qv$G{&yf zb*uDcW2w%(17~3Hf#KtpswF3@$gyebT6%YuEMqB?f|Q?Hrk~HCm80k z{BueP$)40Hn-3p3GQfS^oHeEw#$y~Ib@XH8l(T+ajy&1J#gQYJi?J_dM&OXl^7a9d z^J~5@^a6V6IFx5@;6SOwDp@k@RZXdJ zPsF1YW>6$8rqv<4$i%BwTseK-!I;MzR^TMqWI*Aw9+p9+~h#W@X&D zn)BfSJlV8*hoNy``U#3|9zleM(dp}s967>pa}3P98&<|0J{GN7zrf|#!0&MUHsW_C ze$OfTJstS?vyU>gvUIvlo&K#XR?e!@>3>G>Bl?zYT^ZRf z9tS6l7nXu&W_TD{aH&K)5}3XIIfTw8B_kLLaN@uu3|Qx^TUYjBc5Xl;rsJVoqt^_A zvohA9W*6#KdY=Nj;Z05LNmWfAiTPhj_N{=a#PVh9_pPXEur9)UW3RCFg~tcIShi#; z-pecR!39CwxOO~+E4rYtc6^#DLn4DYehr$>T~3ydUs;4-4ZJ9g@~a7D@~a8vNhkLS zT}yB**VHCBR<1mLO%cAQ2>)aePFMV;MiK}6_Fn4tPGc)rBV>QadGaJADi*Qhn za_B}IV;OfRcFft6T9*?n#I+vp-Rwz4oso5u&cN;Bsj*P_lY`OU+X&>epcFTZW#h-h zLXiOlu72??9E((KERQtE66ZAk%)h_-~ME7FY@CG12`zWEkH{iaqKl*BeL6fj>=($Zh!&c>v*FKXF9TmW*)@Bw1QP5R(9P_L zVAIc{0A~{Vn<3`&m(lOz+3#A>q~OJ;;)yjUDcH*lV85U(qUakO*kdd>=pCFRk*A}G zJ!U)Dez<>w?uEa$vo6OAQn@f?=Ol@HnNz-IqI*)Mcw8l#%f{n~p1jCDo6q$e|Nj5Y z{%R!udzq5H8lrnr6*kshtq3p2;5>`$c<7TukwJES7V3fpCvG>tX7)1I8%Ok4&EbSO zgGGA#+s}SR)9jTbwmoDOpKuqs$H1dph8+C?&RB{`z&RuWoRJ7{x)b1RKfpQG1lRYp zsKPlu&et6|4HZ9vrb&&MQF$#p*lzaH(h2t9vV$A6@KHBq`Fk=-`qPmXb?Pw;^icKh zhiC-uWwi2vkDc?+4KL~oo-NtxN!U7pwqk$d8_PS|7SY4hX)MzzR1ta^zF>qiP!rt2 zpf4Ai9)7gZl-5QEHay)!F`{l?tehv_wjv!ufoQrkMfTRO#gU=KS&4o#}1zmf`11u_-8#r(Sgn-=o}To zIXsRd7Ku2SO>pUe@6PY~yQ5n_+8w{YEOqQx*U$vF@|x+`fsQvqxzB|(F}uu}P-aHFFM?D508~Xo;fQxP%VRdM zFAc5T(+NrqXJp!WAk?$WW!j%>7`1&{m-5dNO4|5T3Gr$M|RC<3TjRfHf zt8Vj8Ebl&;(pZYy!!HA=e=x6Ge+M(yIy~eUm}6grp0Za|%6Pz|d#t_x=r%yjLB+LNl<%p$5E15)v&HjtlG?V3~+QzN18yj)x;1hC;ZD_9Z6y0s=1Muo>tm333x&LtEArZISeqX{Br)X#rASwiLJs=( zAtvw16(*qkeTerhn2@6+!u2q4JT|FEr$=*AtJ&;DlG+}Un%_7WeCJBn*L;LLU!&-2 z4c2LxhJETRbVTL{00YPTmb}r(eT?(R*d$_UH$#+~{9?IFU zD>pOV_t|JbAl@Lnr+CSqwZo8GVF>4;iLhg)#1$J}z9Gc8bAJ1G)ZqN)WDq)zIVlKx z2q-5p*2TU;p%sC)s!1D5wAkQ2gI#QQN2O-AY==qplpu0GyB~)Pqm4rd9VN)DI zdVdLpPw{PG#NYO?EIJK5yFLTD`D12YhGY)&e(*p%bC8U?$i?Vk^ij>qM^CaYAgmZyHunX5CoT>fGJilNj7sre?BrUBEnkkto4pbS z&3_eq2OqL&Ved7@gF7?TTwq)L$m&u^;Y|u1eY4UJf0gC^CkiSX&KejX?@z2S zu)Bt8`HvExp|uS2rSK&!Lt$xMe&O&BErh5&c+eVq5VvfkhYpqRCNQ~5lVN_+<;css zVg1|=_rI7?P25h6nxN+ot{P>Flx1L|HPw1Gs9oRh6rM|BGs4qB>|D71W7mNj3%XnUcw{Qv~`4c{T?%8@X8v4<1Z@5mxy*8c@j znP3gUw?l%;+JG^^Lhnt8RjqR@JJSj&*g!2|?=7&kMA&;9IQA>1>{k}$+vRSGD*@k( z*WW@+gk6iJT#Ud|;RJ$@1kJZ33|}#x3S)3$$X%x!<%_OtoI^QUIT`l?LLsZ84TEJb zOZ}&ber#OjsqZLhNwhy6bu5ykE{9xh=mru zWZnV?y?1B_`(A&Wdb-&0HAwL3_fTyINzQ^%VZaVD9PhuxjD4D9)0oMkIhJV_f}ds+ ze`OPxVZV+NIm{OX45lOtn3G~diF`x8L~LM^NRFXBCJ?eLpIThGF@I`yJz7D?_&hotrW(&0v%nDp#Ip3k;cUcNC;kPh6GvR$Y zb;&sf>s$DZ;1^-`y>ZljbD!y`@0)i4z98@|;T$pF1*g;^9A;5wjKBp}gXO3df}af- zRlBUT6@>=EPYHf6prhWi-T*slRAhtsMF0#6m#I-D}+52wsk!ns4>^TQt>{u6a*I8sAZ zRsZ*JN1Y&WXEo(NU43;m;wkuB0yos`Gq1$WesYUuB)0)Hpat)+%j z1a7KbQR}D+1;1S27X&^k@L(;idPm@d5#=KsHC^D!5!7%lV6U_iRo9PTG|ERZKF5q? zd?o>ps&hs%GM556YIGfIZ7hA4$>L`Q^W8uu)#9WyB=~-mt>C#Sa;Qq)gFeTnhJuH$ z6GSqCuM#MEsgyB!0&<@g6nZYJr8OasBt3s zYpGX`b9C1GvryykC5nmUJ`DL$YBp9hme~fao(IYTH5la~%$(;4RqsQGk-^{h}?b)!(P2(???Qsm#wIG162Z=r0Q`V1&)`I}K{hSY89 z%R*I~n)<4EI|h9kQlC=~3x&xW)aP-!!MMy5>Q429)LSm~?m`bx=O&-}flwVLeYhKM z=CLd%)cxuYpuS}d2mH1*67Yute_;*YuwMule7>U)%Sbz}E%-32>~`9V`7c7N-|%i+wj% z4Jsq7Df^vC4Sz@7QNY*s9Vc)y;8-C&>HmTtvRPYeHN zWz)g`W!X%?Uzaf-{!}&_`1@t!P?s9|OTHUpc1^W+K;}q{kdlV72aQ9-S_Uz0-2yKe zL_2R3{#}AUAnYFHVDWI)V<@dnaPn6S(YX$BDf2{gE@U?vh zV&uOj{L7HrV3*sC#yW_tH=bHGR0dJ1~ zH{c!d_W|#UGxA@JPq%`;Tab7iR_T7x5oTYHRX=b}vqz~^Vv-uAx)Q?ydlK#TWc6BN zhc!wqtauxobrmy#bA*nP5jsj;U-2wz-CZ#q{4w_1Hpk}5Q1RFtt#lua7|h5YH~4In z&KkTCFgxUazzc^w1o-hGj{{yigaa0S-hdc-TD?@$?_^ly~!xKa9fk)2*|4|*L zbhUfviS|_R-xcZ&;}m-a_B8G&mc3yt5Nfos@bkU0XG1UM|D+bFUx8XVnq`dVe}ZZi>J8&} zq5r}u=PQdLZ0loT2XXsYk;}W4Zc)PdyVp&sd?t zW2K&YF}%%KsfG%*Tm340zOhQJ@XP)fo~1UZ%YDjrKWUt!9`>nf_tQqJdfTTax~|ct zO1aU&ZfUkqjXt$Xs3k(}QYrT~NM^@Va<{s`z0=sDZV+l0e7IA!tN9aHwoAS4{?tgR z3xxVO$_^SG>L#IX!t>eR7+va)JoUEWsqf^ecZ_Z78KHK&6%p4+tDpN+y->gPsp&$! z<5P=-!e)e)xod@r`Baxsl|HpA@;B%l;Zs*ej)1DylzJnAKR+aou&L#pNYu=zMZDRC zw<=l=s*blaC>s>5G_$H*s9mZqIzwgEY~JQTazeBQWw-d$EKohFyjj;<6g|e=u6Afj zt&Y}%s+pqewL~YF=c_|PUFvR&PBC|=!$Q4bT!I#MsPI%ueh1Wal+_ERvuCH;k*9W; zJJk)xQ}R;uSf6>Jx?vir@2Lr;wsEnVa{?)jjz`qRYH6Oj&b&mWh0>C{)onuU9r{e| z;K*+Egivo7HZ|6JYPL|c`dj86^%Y&F zPQe^`t$Ik8!RjZ>z3OeDv@O@E6>^VDtDiHkQ|&@g%S+~sYLBK+?=|yN>H(p2y_?m+ ze7)bBH>-E^_1-maQPneOC!_R)d8?Wul&<$#)g~0%v#rmntd<1zu6euKQ&exix~r(( z0rlN{y{L6Sy--x|4)w>PdY@O3li0d$?+a?YP;74&{w(2gq3GYc=AG&pO{sIresA8T zUe}WDwz4|wOR9XP_Tdv{HmK1;?RGz1HrBdVE%(dl-@R%mA3gc)-KQoBb(0&4Ewb)Y z%|g8viN$`U?o-DLMO&7j>|9N$MX}Y^SJcg#a+k+m#9wuJ&@XF=on_sx{wma^%8NZ= zKA_&=QIAA-ll65K!-E1)(D{=2Z)&#Zat`O@TtAAsQI9J zK`3qKgX%?H1}zst(v*dUc3x_IQ`HEiTYpp?@~M=&$@;dk=b{0>^~coBLScRxWE)SY z{XSJUXpi-T`l6;(^Pm~(3H72+&6Bd#^QcAl*b{2IP`lmp%kM|MKA||*eFN01Lebkt ztS8lfYD)6+yXw#aYPnuLRQ^5d`^r6))GqaC`AgURrC?N;9{f7bdBH5!L}jLW(4 zL)J5@(Wf4XyT&tWs!x4CK1)5LW(&pkl>I|B6o-G>+lc*RwGpR2Y~jc8W9(n3=Y-NZ z|4UVl<1_Y=7kkZoSv}1|8?^pLe4PD?+Obqq@5P%yty`ukD=`&RJx+@#8BfdrWiQv% zu?gFFMfC~whA}ZQ8)Xj)rDOK0imnhz*tyJpRZSI2=fvyk22Dwn-cWxLO4mE2s#mh! z8^-#?nf4(yE>E@CZ>mW`F$-p>x7GAKmA2nj8-?1dzMa@<|3Q66s9l)nFSGxsYF1I_ zF7;w!4|XCK3iXDOau3+=swt~=duGKK?f+8qh1#VWD;}`_sxI`)Qto5+durhtEy)@B zZ|W?e^o;p8wN;m4$MPb|_?|C&^J5ji0(HKoVDd$Z zq1e-Rg8G!E+*O0m4GlGJ)0E=gd#JJBr(VSDJ=A!}r#21tLc@)J_o?lmYK>p`)Skh% zRcHLCPjQEI3~uPz`fjx!54Xn{Lw)M&gSUr{Gp760q)=a|(b(ZrybqXYTk3oWq&p{d45pW-fkx^bdU@&4gNW4TYgJb0FxVYK_y zUqPK@Td25cLrabF z7OCf!S2m$+iKbL_rEM)WKJAx{uAE_?VLa!TolqII&M@Bd%NAAI#tOsOs9Qg~@=mqF zh-wP!(H}!Ajf78iR=xwO#+Uq6_!}0_sCh3=_+TaB6M&}r9-yV31+>*c;lCyPs~qzG zEc_1uLn>Uwlh$&;u&M-fRSh7|kf?`}mZGFBk|B}Ad9KL+&m>)S3~EJuJB#%Jkkw`8B45_t%j%ook)VYAB8ZnqMY2jR75qM!pyN2Q)bTrj&KucWraYgRAZ1HB`mbz0o+MZ(0&k$QveO+X9#0GL~^^nwk5)dQeD4h0~ ziv4RTM%Y$QiHzpc21ET+IBZ>88$|Cl;pi5%q{g+R&TU56@*}Kebm?!w$H|FkIGV4c zRLs|r(VU|-7i-h{wIw=#hzDc&_hJwI)%_d5qrK2QqWQ!vnPF`8cd=QwQrwodO}C|M zahw`BwW6oRlJ>9y-yUW{CJbn*6NRrwfv!cJ_!}dVGn&K9$H+zI*f^hK&NK7z91CrQ zCG%a${D@?J)X)5rMRTzY8b3|=I-YFBQjCu+`4CuM@GJ0wxoxUtQdi?=3Z6=kug5~0 za5!rjDg`{4yS4+jRUiBfNo0^w5`ilv0yjvl&j|dyKt0m+sMj1lr+t(S_e!lR0ZpZ~ z(GrXi;Zu)^7U}83MI2qq2pc$?EXZj7lcM3b((l>^Eps%kX9j=l$mkw8+u(VEM2|5K z<{8b=V?pD^vk=>b&5{EgE;yz_X_7`f%^f6JNE<5QV#*nz;2oF3V{)UyVRQMC!H(Q`s(ikZmNFT zxmlf8?HapOw)(fu<3?Zge>+bZ`>Q_yyt~>8?@|v)>7%Iikb1Iuw*8WNsk%J;kor^g zP(bP*CGc_Mz3TB{;&FH>7UCn{;e06)x1AzC`?6FQ% zydP*3{u1FY5q^zuRtsmfa7K%sMu9U$+f4P{ny0YszOLqAxDAqj0i@1x>K8SC4Zj9! zr?`{VJBY?)by(sPtDWWU1^+PK_hD?a0{5!E>NfXxYH01>jNhqIwYKrNF}-%1JIbWY zIP=`vUbjPH(jmT&GrMaqakIk73g<%6bD@tjdNr!2_F4Di!vDDNKQ8h!1y05(*$g$= z{B*5~oM_%(>qHhyTkPf1$Yk|=?a;^yaB3oq@SW)8Belm0eq4kyjghNG^9=&8hW<_A z8w6f0k-1u0zd`UD1ixD1d5gsJ7Kzdg!ns2@cL;}?cSi0Jo%e{gdql%MBKd$wJ|L3! zh|bXh_bPY9cOtFkSD4=$@yF;D=1&BF4e)uf!7w^2jS|E7(}+EmVVEPsC9g}Zy(aJ4-xis1 zXnlUkJHp>@UO!?jaOUuSlg~k~Fz1eRjd7x3oM;$lEE{QqbKXd=I9h7e7;CB@2tOn}H5&R4gd0VF zqiB2FJgM&H(wB_6b@!D{mAW&1$hb`vJu^kmRM9ij;24=|=+Z}_dA{KDg+E{F&KLP5 z!e0XZyQNEnzeM=1x22m*cI5DQbIJ6W%R*2(TJ2n>S%)S_wE_Z2>$_Jpp)G<&)hfNcilOWMUiEZw#e?t4UxMe4@Mr1{4{bX@?Io_KNoOZ z^u*}W=$h!qqN(Wl(aWOONB2dai@qLxHySTFx#aAUo|2E3e7fY@CC`<-T{5z?sdQoK z=F+~>-KAHRezx?X(jS%nwDcFHhf3csHOnll)Hc@j5Oy36U>N_E;*GFjc*~@=!nA6|pzFYYq5LJl6B7%t-@3Jw_Gn+y71VIF{o3-c z#_z$-en;hdfEQOD0ld1>#*XLu$|&H0O6nhDmIJ@Pa)@K%?I;WJ9g5hRh-4TLO9$Wx zd}3?jX>u9hC_Hh-eLQwWCL&w`I2-RhnRtd<1vnSI!S~~<0q3K(iKnt70Z&Ce6Ystr z3%D5lV&dP3Iu7s*^o^-jB2P`V6ZS>ovw$Yv9$E#8pZ;?DL@tJ2D@UKj@mrx17%M~2pWMBULT`-12pPqy_!wrX*VfaKoTZj}U0&0? zG?=YSqrpOD=~OnEUfkK;;mdfP-KmabdQ~#LJ+(QRX(|>|i&uF) z>CMSgA)yw})1qs-QdwWwd~b74XR<3>q;&DpWVYRFo1fgGbX`qLgUebwlbP<;&B?`G zTRdrAH%9dfc5F^|XH#C6TDo&?s;f1WnR0GRf@f)=e<*)Q(oX z^139|m0Z@-xha`m(3MT^^d)F}YdV>p*U^ekgjag!_h-z*Kfs1}U^kzq>#W|{om5M_ z&8;14Thl2j*Zg^{-PxXWvMu1MfN^@Nt1VBg+U%jaz`Wp`F0X56r`MAawy&)aPt7O< zThj$sw1Ya7x-1_{O`?-^yq2fE?WrJ8g$z)60l!*hS6%qm?MCb+!>=~As5R4`73)1CUvE`% zTTilUb8@+t>dI!+V$5Hu){fK#NyXUso)RrMN=o~=Dw)+1I=xr6c5OuuB(qXlpx{v8 z9!uAt1JfNl@eY14IKa#JQ-vz z^LeY7$}mP|X+IhDtn%R#dQ;Ja-c(Sp6Z&7SsI6gj+Ny}?o)=Q1T`b8;>Jrt{{(O<8 zR6rNwbJFS7ol8=gtd0$)>YfafC7VvRb}9+vlH{hz&C?Y}QW2`ZcEHS^$zseRDX;)# zR7Qf5QTeE4)cll;bu2C$n^hK*d`mlqg=!5Z=N3#?-DuLwDy$RP77@YJj=?CjR^3v> z$@}IrIjzzswY2qIFTFOI&d8FM>M9UeoC*_rMqwcM-3N@T5;VvXtCLwKAC&lMs+s+W z{!5FW^TEQDUx0MQfUR?TVKTc6Qx2QZGmg*D>ie+@{Up(l&cLwlNcz1q4}FwP>RCXR z7SLP(bSJcIfuxQ#dxHeiSabZKcCh1pT=GVj`U)6l&5*q3%(b*NySW`X&kc`whhdHF z19PLu4kl+&ROfj;U0KOO9rOaNoi5OfN`dMhOmaYRDfQY=x#5sCg@7E69e ziPWGo1GlzPuZ4Lrw-rlvAwdcSdTkn5az^)NZgp8{wdc>9+qubUX;F(ab28mKv`gwt zbh~$chK)-naL+6Q-rrC|dQqya4Lg%%J-E5hVPn*|b1L3oODcegb(ixf7H8~flx((T zZo^(Bo%N%>psUTtmLzwiu>B75C@q^a%rI?gF_!#R>{jM_Z9DS>(~i>tnikEvtzfpJ z14?!pGVBUl2gQGyS?|;pK8V}wZ|_^Sx2Caf1eCuhaC#oN|CbRqfGJaYAgL$XVlm-l z@;3{?1YO|x0!&>$7+cT@{!FS;U7I_4+LAJ(W(qq#n9CU$TM9k7G5P zl^tI+PYS8mko=g`OET@0Nmmehnit53g2mcmYCx?2pBSe18%1jSsbq9oy4b~fG4IKG zEnB&lmvo^)Y?`&joH-~jWD_<|{TZ^n2*_Y>)xQk>xAt^o3*)Ysp~qXmDH><1db+#0 z)t%qd-GQ9u{&)VFElZZIYQbh>XMnf1ZEwXMwWWLWKu!lndBDrS8~Pj2n{nfkZE0<5 z%hy}bf+eFR<8OJj+=7;+XDmCTr7O7=t+%8yE$w>biWz=k3pN7DF78$`Eg25UepQQ0 zpXbQ6g4uovaNQco)#a2G?hL#OP3or-pfz3k6m+~f~%g#r37mTnb=c_(F! z@8_Lx0=I&hc{R>rWY6rcGE^jkZBFN=)YcvxTChoNsee1ui8BUuz8obLZ}G4g%em8s z+*KFuw6R5BjI2%f$X?uUT4r;!QdELr;@_#N>JG-+xTiW&Ba&c$tR_y#X z^=zG=N@J1taM}YE!dc{t`1b@s@5&6O_ld~CfE(-~w2S(VA%*rZ81(HHQWUzkqFZ!7 zOOb5S2huu_Ma^_dWD5agigRBq_se=L9O~09 z>7;zbDDE#La8xkGi9_Z||6sx23F^ZG^h$p=X91ik(CMNi70;5v>LvyaxZ@aj_Z`T} zQmd=?OG(@*rO)ekiykPHEo33oyeIdESz$XMtGzy#_=qyuU-a8FV3*O4?k7>SlPHoa z;>rjpib#t;+=HR6?;-VA*E~OxE$RHI4G*Gxa61;C8vGU|JIior-syGdF^mKM*6k6weD+s1B z&Ff5Mu@O~UPQ~t5PCK<~3_y*rhQ@RiYGI+Tj90%P!_L6&vyB@mta$woj%4cb!?Xo$ zNoT-d)!MPu!vx&kxwuVX373&5hbo1$Da^Y(Opz_W@2(t#6n2u# zLi{gQ5#JnagJtSC56hq0biUfcLlSPcah#s)+|;pCb;^yn>TKJ@?Uo3)$)PLvq@6qs zY1!@{hjj8dBu}MrV^P?XbWBzq%{p)`x;q%E0NsSacAmCP_3!|#WwU=uBq89IZ4)L} z*}nwGkhtMbbtan@ccH($?%+9xI-@6B2n(8!PS0;?yiMoId@149lQr&^7`jco??@Hq zXCxk*!|joep<6SmEx#i9i`91jK>~zi>X$1ch1kdhF9FY}?%@2MIq0XL(sP48`O`<| zD}As06DG!ZH99?+J(Z`T=X>e%3eL^(yJ&SP+mSq)jpe5eYw^(q^RPWlr?$2i70p|+ ziqmXIsvgV8Wm0%daMf` zM^M&+cO|;;rbMSo@+F3fnW_!%c4$rt?d;64*w(|1nAB z@NP&Qc=&!A^*p>mSqFV}_)9dckV`>d9p2*bq^u57AEwLL`meNs2RPEocC?PgAG)cv z4pvNt6^+0);jgB${iNEVx&b$XN{R)&_*)1$Wt{)NZ>I_EQP)3fZwh26JC*I8G!M3S z<>QlvRjp#zhsUEhwnodpVsjf}fz*KSK_7IYg)Ab_4j$u%ZLRcT2YNv3XVi{UMx+UR zZ1$Au<=-UQB9dABMWR;lbWfk{_jH}SRjuPa!;eG2qrc?QUtW*LH7J|r^G@)u(~HVZ z1b&V(#+;46u8@ND%q*Q()IuABmhhR{DQDxYArICj@%B;&u+4a1?xW;cuh=ToKY^{V z7ISkgU>a=}{QSsvPiDKV$f+zcjJ?7Y*3|?9n>Jd>Qho4sZ799);G$1GQ$LlVhY!dgWi&s*XP! z^9!CqBhzU?|9EOUf(!~WLdSR+TH?Hi%{VYdq<`IhnHQmc&T{-Yxa0UY`s&|1?LfoQ zsnJV!U9H@2T(Dv7u&J+J;S5QPF%mP~@btHCt7!V!TKtvbzFSPkHJzB{B<7g-hi;t2 z0?Uan4%Hb(e6dxBKP3*#Evd5;WwH2T{x_)3HR4NS@fEe9_!`%B%j&{Lff`g7DWY7r zR7%&oB08wfF%o69Zt$N|XBk6drZl#c4aERlv_>)4HsvtqoCXC@P@Pu2YE) zyPg18JF#}y-%fRj_HdmE4{AfCYD4fOhF{mJ$F*LG+L-G?{2T{@vDzA`)e7}7H;gzX zjYQVJcKFwJ7yOi&=!8{7+(aAdPZeW21hQ#2(J893Rdta>Hqq|Z#y8f+m)9m{)+QFk z;yd7qZMd;me4TbJMnexSN5Wj6#8<>Yli(}}u+zi{yf$BsS39GXrG6T@7wG%>_=ZG(~~K$szLU1r-%2A4?* z_ua(I#7xv&A|Y~drE_kg5k?_IHs4IN*_1?%Awc9NB^v!}J*uu_qYSQ8X*8V>zT|`( zAu57%fPVMJSL<$#Z(t7r-5>20LWG|Lk+@jshM%(VIUIN|yZ_Vx}ah%cv>MZ`A3{%(#PR&y#^j%J`k((vT z7?Rj&Byx$qT`uyf@A5?7WfgTHpQ~qqa*>CteY>LcEZ%oTd2Of!77a=CT?6)BT9@d% zQF^%@gB_FB&6;;JZ8+Jt0oNiME`wPnbk&9sFDg&;-CC*;h%E5hMBjc1EQnjfwCu7( zM@(7divZXWWtt=lk~g9Yr2dT@m6#ynvwYtReYfM?U1j$vbpuifZ*R-L&AD>boXH&6 z{3Dnz{?KK^vNw)@pl^TU-l+?h+Ro^OPhJ#jf2?nn z_w3A59-a8!Q#*fn^T&IB;~e_oB`=>n==ie7W7mJX=?~9-;`GtymoDG+i#M|iKlu6I zj_W<<;KH9Cd2{|v**o5Q|JjfKczMdbzOR1iBR^?5^_e4y{g3Q;{f{d7qsmt>b=M#b zYcNZjfNt1I3{G@lx(^#}SQBvGFly|uk*EuWF_qNd)pIk3iBKi_euKCp-cHy|)FtY| z%1Cs^`+g@K|NBIzSsSB{I)vX*s8WljRH7AaMyWGuhs|hA_jp!cI`pMI?5_tLsuhYE zSE0%)@HvYKvcf<`%zCgWD}q=r5bz2Vk=KSsWOYKtNSzuI?|T;|VY$kRmM72*3lrHA zh$Z^oLn9T2D;QLg8SneRXA%Pwy2XsB8{cI#hs&eLL?l`k>j!fZXq(@VzO?%-h$hrW z%3>AY6^ieQz_;3v>pRflU)%BT*Ce(@UAMMI{})EExjBGmSV|ei82ToLcp5e3rmfI5 z(Qqiy5jA1RByg2MK&Nz~ounu)f=B&NWwTFhnfU8BPIcl%;BH8q&a4Ro+0BVgAApt7?F zIm%+W^lyB%zHD&9Hn$-7vm;y^2sh|1!5Sigi*Fblw&Sbg8#J}rXG$D=T^BMb;}`n! z7Y+%BU}^k9kxX>x3Ky1zBbcV;2d+y?sE4V!1LF{zGCDFDCf9~A(;;QIfz%rZc2)^o zCI{VRB5}={l5hmEke?7!u3M+=%pu`YnZIV5EDeRC=(5@x^jB26Hx|eAZ!n?4D2^f1 z5Zm~2>|x@|G1?dl?japfES=bhPQ=<&77iyGkrXBbi>bt-Vk*9o-EEmMxp4W^EpQ#s z%Z1B4=ei-|V%Ho!E^tlc(2I#(3*uqRUs!TO;=+%HZ7w{_a*Fg_hU@_CV(r&O|tjKp|9pd(p&xMi+5Ua<~f~# zg=rx+h|S-g*cLFOT%`MckN-Kd(_798vh3;fT_n@{BB}z4!LdmANLr4}<(k;Ycwm+g z-bVNYMTzV}Lk(|QwqSMs@kFD48hSGSp1Gk`#|Gz%_^`F3btlir%2}r_Us5-<0)N(5 zzhe-5+oIGULq!Wb{A<4WgQh%`m1h@qPkgbidD5imbrW!zJgM%qO?3;l;}jDg$8%Gx z@cC4DQqze|umYP*10M+S2Z$@k2(H1a&B`-zX1c8C&>JVhc;F)%Ah-USA1`4FhP zZ4=sezYXC3j38bYQ2npvc{#lJke=Vsv6PXMk2;b``KXBUN5-hS+5Id2e~RK?omTjw zPWAP7i>V=h>;5P{o z_8$*(`xg<)&RYZfOL zJRQcbP7t@*Q{f~Kh=GYKcW`oF0-4aCrazk^UWXnDSzpKKOAJRK{v z6P)?-D^{Mw@~o)|CpB`?2tAW9@(Oy^LZ)!0OFJh)`b7Lr#jkF+0`jzvXHRKdd4?C9 z;i&u>^M|$9gjVss0oCFZXB6}-fsU=Bf#-?cIQwEGwxTo(nWK4i>WdgW&9Gz=zA4n_ znxrP85ET4sAQCw zFH9^fGBQ#!OfvFyNhvYO(5TBz|5qz2Dl0NdD{lQi-@W%bXP@C%!!X@j#)dWD^ZV_! z_u6~ywcq>q`%SK{XsBzfo844A`sC65`V~)}IW!QUE~bT-flLlEHxCI0$XHT4B)UF~=8 zWepU(mov9NZ+}+<%Ss0(FS+fd$w@f3c6xEsgat=U{_rJhR#ucfHqQdfPqg2?_cV~N z{a2qCxBt3U&YRv=eKOms{3}a-I{C%! zKYe7}&%ZWd+4<`(`L|c>zlZ|bs{CL5^VXdwzPzF2okIr>>05OFtN$X||F=(OTb2Jq z=|7#jt@jnn>)O9^f6wQ?+w0$6vHv0pXshzSuw(xoZ-4X?6XyQlpgG@J_2PN|BH7=c zOf;amJ=;794cayDD};)m1EF@%K~Q_>V5kGs5jq4q6w>(rFz9gT2&gmE1v(Ns3hD|S z4IKj=3w48zgN}zzfQq5+P!FglR065-=neIO`a&l{Og|F+p#IPRs1!OGDuV_>gP_6C z5a<+WD0C{MwawF@)1fn<;n11TSDq(zxps1B-!u7(<*MyLsz4_yOY3oU>aLf1jpLyMpfKsP`igwoKB&`r?I&|>IA z&@Ir1p(W5qppQbgLQA3BppQYfLw7)TLU%!TL(8ChppQfMLd&81pie-bgjPWJL!W{^ z4XuPe13dtJ7Fq>;4tfy!JhU460`w5{Fti5xBJ>FKC1@@5DD-9MF=!q173gv3tI&Gr zYtR$WQ_$1UGthrP8=$X4&qB{Z8=-GN--MorHbE~y--2F*HbdWrUV^>@ZGm2fUV**~ zZH2xEeINQyXdCoj&<~(jq1T}Q2mLqnI`jtgL+D4)kD=|*PoSSdKZABaKZkw+{StZ; z`W5tR=r_<#=(o^Y(C?sK(C?u?KyO3uK!1e(1pOJ>4NZrhgz~wfVg9aRKA!#e-g_GO z%WwYjnYq%r%!LHtE*|8KDn;8u5@%&MRm>et7cVQQ(j#=ph8yz%1Tcw9Wr3x zz@Y=K95{6F;Ii_HW(;<>apAmKifLZutPoq>y!z^zs)ngm4cAmxR5g}PbsQHpR5w*M zOph-n&a1B}t!Sh@wB*cFa$EwMNo!Sdd~6{(jg}mr;A?$y;*08#oc}xJs5HES#-Tx} z=KoGJQl8h&?2wj!2E9xxpY_k9m?lfiKU6cSj-``TyDDe-O7ssm3@1_*8uArIBLCNN zc|lcqWmUufYAzcxBLAVe{F_Z6Ac{uqq5|5l)UolPp=(u_~zu_D3ZML zG;C-ODV)Zea-3%qu%E-Zi5y zs}-;0idTLyuWZhEfA@(_&xltxDPH--ys|^%J!Hunw}@Bv>Cy|vys~HG{qxHM`?>UT z&&3PIyhQU)?^GpA6DJ*}gjR;s9vM(Teu@@#@p?{_Ry5T$h(DEj;p|_0^RY|5Kk=zv z2OaR_!|P^>cQUi*L0}4kr0*FaQ(oY znoOh*1c!l#fTw|oPn-^>Sba&c5|d)ZrGUQ{pVxCTqnkLsvk2FL@MnWv!4Y5yI1)^; zN|QTn6(h{Q>2J96vb=)ah>lG)#<5K74unFSy(!{VPSn!-IWdH^>Y>y?(ek=t{w1gNa?hy1x*Cm zqpeU{hH(EKNd5h5A+5(Jirtuos_YQ2M14(p)9kv2dHSvT)Y`V7knqjh0@IEmPa{PhE%7C#+D1%gD^wg5Fk}@3e`aJ!ewisc}$C7FX7eLOQa$|ZVh>@iW*zGBx4J}}or+}TS6uU?%cAW|t zd)Qb-b;Xw{?J&RPj)trceK+~n5WnP;{&ZiEdXSd=UI&fz>ewP#;LT)oGGDNrS}2)YAO8?^zFOF`DIRJuEUUpM?zJt^8w#c}LyIR8^!F-ILN z`du5!u=!ssgZf?6;i!<0HfSGh{@2|y0X89{m&u6Q$JVsN|-gi{SeiVn-ZPK+*3Kz$*hA9(_s7b7eYN`)Wg`*LQ-i@{Kj)km~W2C%yl@|HNU!s9m~C# z=ltjQyAm> zN2Jl}>N_Egu^!(bjYnZLuI=}F^j%`P)t;UX}&nbl62q~=bTUy7op+2p?&C$d` zvOKuIKP0V#a?_gal;CKMjahx$66D3>^B*B^qRCTz3$53_$QgE!&k$3KjQcTiW|lKD20w1myS%BYa#T%S#oSiuaa`#4`nTURe?LL)?Izdd z?_C5Fv^9A)n^_TLYu;h*r^x=C$)4I&-q19WUbdV)!%=mWRQ!FB*Wq9aS+z%MZ3ShMCJ~Y>E`Ispc@Xg zjrF8;3Skw_c(u-`VdvOP+vwIAPqB4Ig80oeA|5_^3;aM;bxN{^=mEf+x%I2>+9blz6FqYK_sGbgL zjC2O5^fA{@4+75wA)Rkep9_uv3pkBl;MVT67FPxdwMLcQ&nFC!8OfXV-7ya8>ZDeVOgToskJAefjZqetlg9zw|X1l)mPH z(pRmE$MiKgCq6%RPI4N+yIB92u8XfJ#CHv-vB$MJ@lDReHw`~O?oGNeuwpEPly14} zLp+PXW4QhR*d5dww(RqRV2URv{Mxatn;zk8MP=*9wMq9(370v#UQAfo{)b!~<1=ZJ zE%~u$(v6!GPSZ2RC-)Kfsm5;ITjP#fUHIXN6xN+$dqQ@qIQ-Z!>Bfm%=EQLaVPsc# zg3`}jp!Qmu$Kl6p`O|SPVU&*Lpwe+4nBoZ(zc!prhaY=o%RkP`rwPMwHn9>^)BOOb z^>yt}qYN`>W!LQDGXFebWJ9Y#b>$C%8oxXY`Z{+=BE>#PieACu^W&!cXHnJ? zPVqeo$|fHJyMXJ!Y#q+-pU77H_$ZslIDP90r}(}GD!wPFW3ut5bK>ioDSyT1$36Me z_w^9pvmw5Xpwjn^ocOZolim2SOp-lE@8Y`q0_jmXzUabd)1h#FOp@K7kHdWjewEo4 z7cN(xA6w*?w>8N7eja&#Y>;0bb9E>0)jaZi|DHeG>ml45E?m!yo;Q$o-|r?}AIzoG z59RFK_7LvZzxj)6+jOmR`w7?s)O9~l{%3$c=XzYYRv9wxNKXvc=YYTB`Vw7(w39Ae z1Gtmxe%QQRM|$VNL@_%kC%Nmw(8?9LC)V`b+C}*Hc7EzZcJWKLr89|gltp4Gg|rgV z`qegQC)9~b*B6=uRYFUkmCz>W4Jef&4rl~)F|-I;2CaiOLpvY@J2^wZX;2Nc6j}vs zg5H4WCKFwuGH3!+2`z#&7vBKA38fCCe}jfY)1fA41+)&@2JM78ld1mDBxSCJPD!+R z*_;qY_GxYdsr!9tv<|9SAf9_O_IrdlG%hkZ+Fz9G?7{t|eikK9j^s?Mn_E@u$9y$# zYzzFxV|&ZPa>snF-dnab+Fn?FNaG<<8lNSNT`Y~Q*b6fmYEMfbuh%4_8}B5tYxpg@ zKbX~V3&Bv z1<$c$_(4T408HE8k@p+x*kMC;2DZU0! z@il^quL<;Lf4dQ1?jEt%U(!7f4r|Vwa)CSl+dI=n#b+IM(jKJ_qOXO@pb5})s0msM z?RWV#kgxuqAF=kwreC8kXl?zc4(9azn?u~z&*^diJOfCGlQFWga%$cDh6)B5do#u` zIku0Xb1!nSoKobBjpT%tQMd5k8d)};c_+vk>_xi23=@hjH(7rDY}!J$D*78AXGs9_FLTJu7ExRat-D4NzNIwE*UpuQ~bs6w{TZeD66)>bU7TS8h(qO_u`qLRW;f5X03*x$FMVpo=Z3A+MPSmXakq}A4#7m+5p!#%ja zr;yeOmR6o;IG1z9s+bc)U6M|>l1A|;oblRx15?afKU=O>{|rGd(xEVx*1j5){Y4w%Er&eiAa2h zD!n$YolZj`_p?y9^?MlUy}{BO#)C@VYox6&{Ngo#rBCA+C@%ZV{(}6~cINY^ePb3^ ze3<5u`TPe3|3lx!UwuSx!UIuw&N0uP-N>mV_pJF0f8pv_2L^<@p_AbMVaT8DS7hb; z_sYorlxKw*!uUyRwI`E*m7(gTx`jAQW9XOTaP=YF><~_Qm73#l6`cE;G2d-(yS~a~ zt|shp@ZKNEr0V5_ZN49)w05QwlwP$aqO>Z1WHl#TwY$&04>CHzueHsC0>AQx$Q=Io zY(ktrEj~(CT_lU2Ibls!S9li%Sz4blJ(7eR{#cK(tT%(KA4Iaal@qp_Yw2$>9y=iA z>-9*MOg+|pP`lH6EUN@Y?FDF&)zV3SkrOuVGZeOE{i=&Y&tl}XZ=01coMf6i4W26U zAo+>WJZs-nm9yd3GI_b}snz+#C_(Nn7rFn608Uv?~8q+Ywa zhqdKAyC8qrTt0uer za?7<78zc5dh}=mY++Ws-i;f^)t|&*(sj8Seetvc3WNo-RJuM->??4J;eA2%H)9&Ui zzn0r`e*3y3r1MypLjQ;TqoOk{ovm0au{vYA*d1g9a6-;R#>FN>k6}hNre%81&5y}i zsSXMkugRW;tg3gBpV=q#`x3^ zsPDq`;(lPDoeh$|`uS%5gXBMu`_?~Z{n>*%t8vB*POi_LR?Z$(nd^f#A$u9JKSY>6 zg)~}Q7>Bj7pZwIH#eQ`)l{4z=8uzjv?SHszym{ZTDm3Jbu`+HV`dbRK>qpgoc?C9# zLGAe#(qB(Fg)u(M1Ii2fV?DR3>6-EyAEq7rHIT;f4~DpHz7dD1#((d|2j4$5U%s|$ zfg2aw#rw$DH!NS+Mbs?2e61#ZYYC??#%Fdxv4woO@!cMF(ae7jyU6-Cw~K*J_8Z7v zgKXKwuRE^*!v{%%uOP1>n(2#lPhQV8KvcGBk9}CBuZh7 z&)NivF18I<_GR#?O;DSX^>1GGgPhKG6ZbpB{V=>wgfy7W;;>e}((}de?}8ZDB)TxR zQkj^};xN*g_?N=F6DsBU=)f--n!CsR&F8m!R~K`~>SjyRjz$PhX*D+)eK&@5B&dsi z_%Lc=*v@xp9zr=46IS7jS2|akF|%0bIrULGZ|0v}1y?yBo55!h3V1 zUoLaP>X5_U=_t1yw*GneF^bv06WIT9=NpT@yoZi_d0tG~+7aeLn2kre@pka;x{>ZM zw^(;Mx{>Uxe{t}I57&;Eo{7~?ZLz@+26 z>|qDZ{B!aud0GGFc|FC+UV!Yr$Q~fxkVdPUaail?+QJsz42vI2kZEoTI+|iS8pn=~ z?~`2`D@osa!ie8^tZl-K-&H?_@Hg|%(U0m;*1x%ahC12Hk-ZMtSHU|o(vR#c4$DAb zK2^nq=?wo`Xb{&ogfMEmxXcM-ZPx^N*FgMF+!V=B`NcA9%w%O?*s}3u{b`54XpGs+KT{@VcUgbh#jsyv z#((|v!^v$4kQRXNZeotKONOPGP|!6 zUV8p;8$-BnxNv$GKsOf-U4}jHq}%`IlCx*5S?UMwMfg#*-nX7U9DE5>TD}7g1h;^C zexZ;Zq!g>H{#=SbH?1`JJ?s2uTE9nF<>mXJ&TQNB1WJ?NTTZ(EfXkdT{WtuwyVpUw zZN0bsCZ%aR*ZshsfO_vjp?kifSHi!8;c%DVnfUv?zDPF(FnV*;U@W6XQhS%>e=I1@!@%C`MD`>p^USBe^M|cjh?ogwS>k2R3LgHvp z`8o#d19k(4fIYwwU{CO3urF8vo(NWfI_rETcoNswhx;E4cpG>!_g8^sAa&dEKNhZ^ z1P5~e*>Fw$aQ?4?gSfvVTw_P>T6J?U_bFd@O<6d8@|zgK{S(4<_i#;`5~pyVFwS3R zQ7z3S=&K+;Sa8mcPsT_SEDnlJ9-CI zA2-X>K1@&ij!l$=n%>WS@kIA^4*vMeIryGo7p0?nhN^p_n3=0wiZ`_?zO0YnHq-q3XjF%%JxozqY8H5C62B;{YE zcS`BGw9_H!qBzq|Od#EUuQ2~JOxK}PwL#Z|YTrHps;=GuX4{_ZGi01W410aa%pRfE zDduorZg2bGk0NI*;g*7vz}rC0;XVeIgLi`Sz`MYO;N9Sdz5{=hbDy*N3TaarJ`SqgU5{>3*r$IE(2qY9hu>?<|D4q`QDS$T6VmEYBGJ#Hwk0UQ)z7B_qeiW@M%I4ibL*2cr~{8 zwhL2&oB^4B$nQ@j6RwYhCzi3p@%yv;ip%dW<$osNO?ca*d+AWTeqSg*?@q^CoZ-S^w^K#Y^-t2P;em^BY?{3H2HAErW|kf zIaI#~k)OAn46nwVT|kXLjs%Orqrl#v>Q-OyXs$IT zI~E)bb_3Z9NgNNV|1UluapMgjeOUTduqU`2>;*E0PxJ;ge^h+y!MDsS@=hyWVP`aK5#=5?cYw23| zrE8&d{eCd3>xq%BPokGBMb}D~*EMs5uy&oyeBVjB-44mAT-8=FhDvt?F9$VmzXDX6 zW`eyy##Cvwa~0r7uoAo+oDI$Z6;C;MCD&JjbHJOyYVdYYe0K+20oHJBx_^S}TCRa$ z*FDj7NAhqc)E|=0PmS_90{?-~@sVvwQ@Lf}*N>BKEm?lCy*D6FWzYz!43vJ=_xW5a z-`9Y}AY;e$$>2gzwkEza!Rxu+(?+_GPK}q;GiB3q2fzJ#ZPKmX%C9{nJCXY!aj8rw z2xsp%g2i0l1jhEhnCn5@{}4C~yak*HDos(TTD<5;_Cw1^Kojh0j~~ z%QpR*X40*1DvWB_HvPbTg7{Q+p9JHwyPs=~>plhc1V0U`-h2j>?J7Oezyn-sjPP0T z+~9vfz?tA`?$?7~0Ox}bf!BcwuW{KLuJDCS9DGsZjYmueAJ_^QpUB|WZ`V~-leH>KYz6uTnp8!XKPlBqa zPl0hgeVXfe+(NIgU00N*N(*ZJo1$9O`!7qEzoSp+BTJ`U*pS;pW<=X7Q$$p_cE9w zjiz(0ulO~)BrS+{g}{XH`+M*!E#C(Z2LBV(x(m<#rjG+(1yimsP=6;o?(E{;g`d)V ze3Cyn=B|lVG&<{{Es)M+s)7|m!=PzU4YU~2J9E}UI&ZiO(mQR2K$D<)XbH3$+5l~b zc0N>tvJ*8 z3gNZiV0*@uq2AO+GJXZmVv~{Q-G18Vo&!JYWA59h#(R9&Gai?_?~-{2T>cW5^=FL2 zX`va_l?xD!TtR;`G3pu z@7^or-wo#SP1>0EIez0gCZvykm)hf9eR+dk$Cr?w@*Mlka&H>j`{%@(r+q_6yYI=p z+~1J)E9i_QGr_y5e9FCUOW6@tr9e1(^_jf1hYq0dWJt--p z(Utv1($=3a;x`^k-^3_=@g8u?_Lg$rTWGewC8Vz;O5blu-)G|Vjh^42k~BTGOrGB} zYhGSURk?AoKHfs!H)465V=J%m`q)bP^d1ZG8;@+T9rva|#oXT-!kV7m_bz%;U1?d` z^VgFyb=J7EJh;EVBkj8^?L3p{l8%qksC^&3ms9-4qx!Fa6mzbvg$AJIY0O`q+d>-E zc9>&)P&9}MoU0GAH}?dbJ+kNZtapK|f)vhpO`qpPX>BXJ(>q1vdV6qxe@{ARS~~U2 zt@fKOnQ*kM>~ihS?0kKYr*WCNKOpZGlPA5fD_rBxgSa<}?2EjlCLeFx^#j@DjDOwTB@_O8-JUtbZ zSK-CEzkfo`XH8C?XLB_WUIHnM@tGY@itMq3xWFfW=(q}7KV2x@+H5ZD)N4;BzAMN5|=wb~<&zf++;+mAhx zZXCj;E0>x2fn$#?&9FCd1b7tK8SD>s0o5*PACda4eZ(8*fyZ*~=kooSJB@<02c-4# zz6qPhEQZhb`^n6hK~oGjfC1Uhb8{%|Js!bzA5eMf3#z`K1Ztkn80SWkE}a-66mJthjyOl+5&Nao)B6sJONNDE(alo&;*&QDrz2RC#EvEJfZ$W+#f<_a#ZB zdKbsdxZA~D1uETFg2f>FUCu_U!9why$n7nTL5B8ryk1o{zOTrhEugD)`#6Bx*HpUe zi9_kW8lCh48@bm0W}#Xp_WmrbCHVQiApe^EHH2$VIMr?0mT$-N&;PaGr?zpClf_5? zNeU+!zCF$_6V>#i#c+18FejI9YY(0ba$hkg2p5Q-_ z^ODJlo&ny9-*EWFYyLKW7?v5!uf{?@25Cav88(d*e!{ii7t{M=^^LE0c^4e*gT6_- z4AOHg8=-B`e)q4b0ojJtm&%ZZZc$c>sV}E8h;mh_73+V5%c=XDL)>v2(;c3vCZm;Y zjLES%sOqv@EQc{)(WTAhxXpIg+BB1+He(v(%OZOQ zDjs``W^AFlJr>kFN8??(b~oPDoPfQGbU|VabzA3P^nK{;dtFQL_hpd3jp2+DW3ud- z3$Mrgyc#37XDn&$oYz5q-l>lFsLVUvf*KRWq-Q7XN{Rt{H)sen395k>Lo1;DZr?Q! z*Z*O8Y?yI;(RF6SQGcm$J0aCC^N+v(b!7DY*9)pPeHS*CH*Jm{^z+|dZ>#TzDWA>1A7<_5ilDbcl=$H2Q;TkF zrnkLmU!-@9FI0y#2l6`3)}aHqr#dUwk7Hx1_sl=3-#Sx~4d>I4eHUyTj&E_Lo53K3xge7 zUEwUJb60zCf3Jb(s%A3W-WR@$;TNy@>;7`C)7)2ocuNS^JFN9{W+k)MUps%^jEe9g zx*6A$H#EX8KGlJD<#P{S`E~lW@X=?|lW{IL$kE=QvJi)_=2~@CX;T>1B3ziKqcAiD zdBZ4N%jXgPSvJ$Dy{n|ZGK5oKZ|+)j`f8A$V10jd&_lGuzgOd(<}x`a;asr^1X;5v z`i;rdIIg)+3P3t4BkU?jVU6F`jTxt8%CEKiAC^`d3r>*oaas;B#~JLRL%RmMj`ZX9 zL15aOwz|1Iy^m3@*!}f?u0viAlNam83H0`+_sl;9DV*_|UKo?NnO>|ecGch!cfSYs z_j=Mf%F-FV7jGBo+D>C3Uh~)dSY|-|2x)Wk6Nfr702XbGwpm$%cfiymy8|2#l zdo~<<3^Wo}#}wv`5azKc4Am}@MHuXD@9LM|i?s5zv3)w|Den3fp{LhPPi^q7XSHR% zoz1RYORVPeayq|$F!&s(bbJHUJnea~C%6eLfLr7H0$MqJ)5O+7x8v{I&!lThxpW1# zO+RqWYTsdC^nA&w?#ydv&b+2rtIs~SGL$h-8SP%bOkT@~&$oNoJqp=q z2_*LeWT_o^6-;p=(sVSOd%i77X6mhMSMkZc4!?~24N&X4KLiWe$@0%e_;qse`Zgt* zX=`HHKO>CRTy}uelpNW zgZ~Qff4J}W(N0X1Xrzhjh=!H!?g?40)~EXM+iSWbHCTSMEzZx%N9E`1TlQV(s_#@m z=aTNc-q6hWb*L1N8v*It)y2>-XcANjErC`-8===Ay#u5(kqv{UK$XxUXc_cgb}2Gv z{Xu2OsP>1<&7+Anj`e9IW&n2#|Xc7Sr<}SgeKSPJv*7aZQxw%V`p*_oe zm0{zxG8YkN9!vmu88Y;KGv~FBb<^5Q?A*B?k(@sxXSc~It*GGRr>&Yx*t(C`eKKKX z5|1a?%es+col3swNyeCb?!~VYn-FJOn|&zvfuWQ?Wt{%dl6ox zYONjuO4ErnJ>>!B^s4oDO4{Vu--R0dXW<^+~7 zbaGc8!Jd0|3-w0x)~VIkX&l&^`LWfT%|VXFpXNS_oL(lU4aOPP2AC~M&aKEew+&>N zzJ>=yt+GsjOOY|#WVmt0nDVA_Ki3^Xy;IUlGG*@SUFJP=vXwVr*i5*IQ8=r2*>Kr;AKAJQX!*?-KhdMBI1 z-g53&x|YJHS?|Qz2%P{=0h4~kp}1s9aa`40+ZvZ)%i8ALwPb74YJz^d6R)|u(eLRY z4T*gmJH17uq(9;Nl%$#|=afHds~=`A-=5Y>yfY!+FXTVl`v|;BvYw&T_~B7dW0^05 z%7dPv>0kh<777;Qa}A7*DCwX;5Fg?0#MIGE(Tu)srQLjz|Vr;1^qi!G=|f2!u?o>xrlb+ z1gIw*YBM@8g4765y-?>s*>^Qb7rs5uKM&M1lpWyFGn6XJ|8g>=?_)B0S&SXR4_3dna-nSgD zf6s=-;=YZ{e_r=(cx7+zfSTL?3G4#?85{ua2L1D?O25vkXWy@~0e|1lB{S`$;#ddC zB@4W64*;2}Bnm*4dJ3f3ayF)Rr;zLZU=gU5JNcgy@O1D%uFnQFMpqko5Z62plxPp0 z2X+8EaMo4N@ar8B+2^KD@8-FG5>eWSYh zeBfeOyE5i4gC;=Jp(bbvv=UkmZGpB!yP-~GUhe`O15Jk(LCc_Z&}L`{L^2ayq4%0g zks%vjRff!+7-jMyisglq!Wga%#^qB~fVc}hxW5l0^g+_)FtZt#oO{B?gh*Ik?4 zw=vv7nf{#ppYTlvg;`6O&V-@36DRh|_NPit9HyFU>qqx>OgtuZZc~ZV+#2#aCdjuj zvC=n+c6yu4jtLklxjtMX&o1=qq9Z`H zdm}-XWfP;ozTjxk_XAohReyM1rp-}5Wg|udt3wPp?lC9XP==_8oiAq zoxO1B)`u*OQ;Ab)SN2$9nTitC%`~L{x)sEVHv0g@i8|T6O{W3g%Fd5^knkLrrMXUK0 zO?-W-Q4DIw=77Tqt8m6^YbV%r+&*T`AM~L8RQRmFzL~mb+^gUjM%+EXcKv-I$=qY;Vt7b{-k{>$_ho!ePMKC~_&Uh}uH5@Y#LZ?fOdRX$WjW54Eg#_T5Mv9Xr?5SbI+ zf1a|@*`wNc|+5ThPrDT{WtTJwLSeS>Uc$gvscXxV}EDJ+>>0bdBuLS=2zF~ z&EqOly>GiSkyD=&gP1@mkFo*HvEnfC_^)Mk+kdCV%E;>W`cOulh~M1fl+ofKTXlO( z)vWnfPVjF>Z<(yz=ZH+!S}6rb@n_suk+sZZalXyY{h>yukEclABEl(*@kvkmmh1xV z(;P?leH|Mb*^AYc4)8WX8don5@~qv7`8j@BT|P@+YHGWBpl_DSu@9DU>&f>9%Xd@{ z){#bSEQ{CttsXF5+oK-HPc{h8!X7(S4v$`SuZYLdjrvEa+r%JPSsCp5H zG5yxS`wnyt{s#qq=~w2J!{4keQg&niwr-284POz;;Be%b`x<5N!I0KOE8oj+^~u^i zP158#cyNDrBj-+&(~7-Tlkpa@O@sV6C&>uhJLz~r_)TAsmQEQjyLG9vK&?x${^7>f zBftXAF!_1KAn>frSa>mfe$0~0jC+)w1(4hr!Yb~up!BHmcjs`e;qEx@mw@9z)l2cw z&p1B9YJEDb_eU3NMu+RjVujZC^xnPW+zK+b#>iXwluSQvNV+kE_*H~8`hh!_xG*<; zm%y!WUH~ee=*O*3UI-56`XW&M!!28?%`>Y<`37h5j_@ z`c^L8ENG{G;2MZuw%P<90nP{2MqUGIjqO@c>0b!;0=^>t-%LpElZ25yDBrS&6bnZ6@loBu3vC=H(jOTY)gVc_S%G2j=#@u1Q~-Aka~H1$AskjCEhj>iv?cgOdM zfGUfx;7=Th$HB+I_24t$*T57b6Rkr?|I$%54|)f!Y%(qjosrZT-|V`28S(fwH~YN< z=}qaEdphCIkRmUwGB-O`INye5-{BmGy954%;Za@-)T7{bL25ImsIZ05_HOi3P$!JL z44ME{LW`hfkk-&QK-(aFKc^Fgr*H6#fi8yXp(W5tXg##w{qJZ%bt*GA4vZ1_Ga9AA#wRR<4JD3wN(+|rg?CGX)B6mnY>o4H#C=_ zdA*$Kw>jFOqQ~1%MscVIoYT&@dy(-ClM#(WwTAH~6->P5Z{twde~@b?ol=Px_h!#@moHEyjTz3i#!`vZwr zL%uYBDr^>x{@2YfO5oiNaV9nKBs@%Co%hxOXIJ3DetqRif{E)^j{=xK}ztq><-{yMK*_#Mh4b!Jd=+@$_ z&B>PIaCO1v6s8z{z2lE^Nc=bob6~SDjs7^D(~)dAj<2dV_j|xCx077^wf23A5{x_D zgZs<)r0Cur!A@9{2;b{u=d7~T?fYBATmt!iBmZ7_SN3k(GrAP-OvtzS$xL6Mq*}i) z6kc5q1CIhv1N(xfgUZVp;8bupSm4G{XC+dJ5s=QVX6IoVuljaB|9See3j8-iMiP(4 ztD{_ehY`mK2^%j>!WezKopfzDZ0!U%9 zt7sk*=WtyHP69`P=Ykqnod?py>)j0LG&l|XFnA%z*f;Thka1_?67VVTQt&zOGVojA zbnq4Ma`1=XOz@XrIrug>3;YXM0rDO^m!5;cDz15-U1BzP40t7Y95@$LpUV1Z`fP9> zI3BD8c}GN|4&J(&PT^-@LKMxZ{WH1^u6Hq;Dey_vL@h@;0;_q z3w{uM0i=M_Tfm#ZUxGJ-{>+B<(2it=)`!{V&}jUuvGW;_zN4Y_P6sVrqkGMRaLTH`)IMmf4?Ik>0 zta_YuZ98mkt+O)NCEuq?s}9`(s+|$4O}`V=d`hUeg@=Q8gU5jPfZf55gVMykpz7Rm zP1tZt?DS{{$;LZuaAL;fL{T5uVUhH@L2GxU@`bL@I>$lupjs&sI$RO zgRVie}!qW6j3C&k!JF-u`lThbo`eJjPnQxr} zcI4kM@OVfqq1Ji^@%se$^lhy}nbDVkUAQ*{>I!v)WXDH^-?C%-Eqk`#Cq}>Z?S^AR zoP$86MSJC)AiblqBxAdpzx)0pndw(#t1}_FACO;-4PFJifUkjSyZIiPd$-{mpvDkC z1U1M05vaZJLh|J2y=s4TE=yu*+K)l6KZz?=S83)&;)2E)C4VsRzmBc zEzl0AT`>XoJ9Mgc!q3O%1by^~^fI01?D)=Me4y{b^PX{ew`Sg_zFvL0k1zWi2*aez zI_t{`-}lmIxp%347o=ztTft)R`=D$?-`U`OGvJ|)cHyUX&Fn(Ii;EdEK>OXhYe401 zYwVSQO}aDJhw{Ij&WNT9M)x?=UX^_>!fV`WdsSOP#IcON@X)V#8E&pTscP21L8{uV zk|jG+-|5qx|Gl9@d3H+e6hhJkZY?zX&K#eX{NWfwrWNi?P-k`2hnwvk@07&a7XDL; zS^t6-LCc|kR+q2-harPY@&_oJ-**jVqxGMCc>ZTrXlHyuYi^!(i~)+?HaU~)YU@hX z*l^mQVQN*wHPsbWjipl;&YM+N;Urk~7NA4US~pgsf{#mVbA+o^Ek(+Y_7S$U4We5mGqgwY37;d`+92tFEoA zTEH)@pGZfspH2w1d|sTpeqv=ZNtFOcACqx6lm3S+{m$mH&v9|~I?8uPPjG4rj_-ja?bSAxI<7WQm ztAo>xh3iZLy2Ce#fxY;pPqLB|&h*)Go!)%7<_~5Q)|adeIwgr2w-}w?5Mw!w^nUL?7v(M;A#xzK-FL9_y zP6V}H*bmg&UVl(BOThu4zO$NrR_A!;wc6{=p68wbkMEbW@5WI5V65rfV8Tnz5KwD0 z%yHaY`czQQ%lPlZ9!9*`XXbo=nsj}uB8k&|W{B@BQ0X24(wrnlg1x{|p!%fIU^d;f z)a>;7^(()3zZ)Lk|0Oeh=Mmi73CT?${Ndn4uqSv9csj@$YI-C%8Jq~73(|kMHKB{b z^$hSl?#~U^O~HRLcmenC0jGiwg!`+)^%{^pBDZ!V|L21Lcfkv}_U9jT=0R)2CD8G# zoOp{mB%yDT_T;W=w9d@*re9XerF9mS+tKuuDp`HUFuQi=`?UPe#9e~S4)9+JGK@@I z=F*V+Oq}e=_gUHRE2v$SUC3Qd7?s})P_|tTs$ZQ2s=O+|?0Xut4(jJ6vSFPU_Wcm= zkl?qRRw?yNx!je6m2J%dWeZxD(?H}Zu9efd;E7-js4;6Ts4}br$Aedcmw=7nOt1-T z0IvZTg4cq~A>21smw@`l>aC#U+y-99^%uhZF9lo&et`Q=fj5B9gZh4|*0U9EGnnT3 z$Kn3Z1O5iQiTkok@$o&E#A2?sZlrgb%W1u|&^>de_oV8Zm0BMj0O=bnI`5-DqEwNoTe_x--Og7pStl8&nSN0cFu22i5l73;OuA zj-oZ{_dz=QbVOz@YwIX8;a^)!KA<cUjM+8iS8}azYr$fe z87?JWioz*;98S;S&j=f{Hnwc-_|o#dK|*k9Yt79f-@mYYkFKd}tWsH|QZJnSi*G)5 z$@eEd)$5=Go_u)SOz}@njB)!pDdI^b{W);@%$)NyjA@)3=)wK1fafif5ze8sMuyFm zHw77L^UYB{MLlU~To$9}`=s-}@GpbJZ#-63v{9j~a?cyIT-UjJurZsr*Zl83N+x}q zTL7vrMW1e*SP054ia<3<>@m@&PNu)GX9Ts^R+8!WSHRNRxE-Ifm87!?*qz-d9y#j!joP!{#c$OW>xcUCdk6(H z0h$RlK}(^P(0XVyv>npF+;hOit)O z)h>>KcOxWT^VfZi*Ec}Va{pH$oXyp#1DU?f)^V(VYMFj=-*0T`PRR&xXCT+yr%Cr( z>XN$^rF%Cw*yDD*=CAf#2vLQ&U5N2<7WOjzK)}DG|2=PB2}M@R^6wg>ljCARR(kdB0VwNmyF@U-wym-4Ic1a~03 z!WzGoAv2?l?Yi@;(b-d#*&hBp5-8z{cLMRYBVLX7eizbVYu9l&E8~^$r{Gur`F7x! z{#0f$znu|`_17BRSv}HuKe^!^+~3cjyYqX6dejEvul}L2)L9dA4W%nBLwf?L9iWfo} zt$xPwtL&`aD9i@JXichT?`)k``Teahy9h&ZCu*WFM3py8%j=1MzSG9qnZ8nk6P(sC z%zc(}7~Ut8_4ul$=CwrnD5Ly_6IS7jSLLC+u|g4#hcoXYvo@odzuP|;NH{C6tUqz* z*+0-)^)O`LK$x>aI<0Ss!#3YPi2d54-?6y_izv=L=fVA5g$`ecbr`kvO{9JELGJyf z3FDD&RK^4ThVC$n=KeXllO1QnH`m=j*9NUd_9kRM3h(A-x{Jd$*In#qx>K4}zhb|* z{>e^CkhKvy5x%qf=GK8YTs8jt+J4y{$nt}U4EJRZ?(gR)kEKDro>?AE8{oc8ANt=E zWmri#g)u%WlhVIaCe8f!D3h#z^D-Ia%49gQXCiwgvTqM*G<%N2HZPOd&&tH=Q0%8N ziQ7Dt%X(x^N2cbAe`!`OaoDyf7i(*VbVL~LX%Fu2gOtlz7>DZyC>Qq`k?0|BrFDhM zlduYByjC`hXWq4~QGIFVzem|*{hOD~U{^NVkiENufA7G^kWMR`IBfH>iT#?FP3)(# zY2MdNL*6@3PtyNbkg2{#ZEGC1Ey~8~Oz|N^j?;dHxzAHJe~!xL0zP#gUhV00GmJ8M z6H*xCQ@N-tnLod4xv0%(=ATn8lArZ&UM@piJJGW7P5yHd8$w>mTE?v=ua}+_>@b`U zoL1+@Z6)w8g~V?>W&>2Ckk9P9CtBVo=TBedp*~sTGO2UVU>4nM>1(z&wUM-y5k~yR zqjFGiyy9{wv%UJ3r*Y4$ld$v{oiMEwjFrq9XaZYcezEm5ti`{p3_) zvGRQia+U9)AWK$>Q^DiFVPG%tG;jcTI(P~=9MstVEO0bRf>(f}!P(## zun8Oseh3^7-U&_wKMtM?E(f)j^$GAiuD=ML4?Y_1KL%dF^|!&P;CI1k;8sw4T4NEu z1}eTc0;-G^?@z$Xxc??N9h6Pz{_n#z>!OLvxz9Re;tEh_>t}$h879iX{-F2=feL>* zSP2$5ovXZbZd?27Jt3XrR{0$Y9S*6iv_>c%`Kb)`u7F|C(a|1T5BB1YCPjJWR zpz5FhmbBmRj`yWi2mO3B>E@;cp;WSUa4F#r;`%mF&HC+Nckm8Sb?r`2b?q+jEKqtI z0p88^)NuczfYRSG?pK2!2d@Y31#btJgQ{!yfpJ~?1lRO!?*5v9Yrz%Ve-^wS{7>*x z;OpS0!5@K2hw9c!uHO##|0f`O4v7c2uYLH>f_k266{zP^J`ZaBZ8bOnd*Q{clkH>+9e;Q2ZOfA94+Ze0L?koynV?CyMi}XXw<9 z42s(2v$2-GuI=^u@a>P4tMuXLgvrdDGM_$vf_#PiDJXsX43s{84oV-t09EJT1V@6u z0w;sN2Gu6+1l6DZ7Hj~22R6x{{9Oa?;#&Qy?tdiUZQvicz7KpG{46N`FM)sL8VLH( zyI_tc-)cu=eVocYJu5gY(#NS-#Q^l7cge^;x+4aL7?p8U@*21)@a?k!F7LG@K@V+2-mB? zL%~Nt>Ej8I1(q}r^r5pcdbTm2eW-q%66s@*Yd^Zc>-BMzqRHsv4u1RjPck!qQeV1Q zOgPC`z3+m2^*Kj^8U-8$_5hCt)uSH+mV({D_kqWOQ$dBl96W(*Af#WC4AsGRiydx3qyKHy29f8UMz=R;^W^?cu< z?)O{xmq32rk$o=|RVG*sbJjxbg`T#@Ug!dNIum#ZGzqGN7D3CPHP8lV8}ufWB0+tj z5zsWK23icQfHpwepq)^=-lPW_4o!!epgW+|&<1E5v=iFz-dh?-ksVuS((|x#9X+_e zv;#%Y(78Gpe< zAD#=U315?MEOj3-sjfh7@5ujeJU5ik{C(8lJ7Ytmqdci?7RnVt&A#kN?Xi3(D9y_XkVEyc=Dvv?4`op8OuQB6|DGef>YUY;ts!Fd>*k(^ z=RA`!rJ;_8{Tf^QZd8+Jd0HFl=9wl8+=RUIO&*K0%D39FZQvsK#cTfB7vPd!n8`qJ z^QxNW)K$)Cs^iHV-O`$-#Kb)I{FVHa*VxakTQ~ZBo0hc$e!bK3X1W{`>Z`_h=3XFg zAB*$GGeqSz*^L3^a~+B8L|BD0UfUNqJ(JHp&v2-HYv!Lh!=ZdC4OxH28qwa}PGojK z<~(@r3F$Mv?GXkZrLz*nwIj>~uGfSxN~iQ0hl$@Ut2m{W*x#NXl%MQ9_H$*yJ=v&H z%gV%`pLnjBeQ%cl+;tw@-*3TFP!{Tt>@B-7j1~C2^1c|&>0LPEwK8EY8*DFsnKbjy zl!?MC{;WS^#kz|5^Ds``H~q){P0@J{y}yd}heSQR9YXpQM*5G#*f|Q7Sy%X3!*FLW zP6%O?4wXq9CVHndqhen!vH$S1uAIT6X4Os3e#KnOX_OopRq65f&^#%c_xKQKNqVu z+lu|H-IGqY6Y(3QXA$9_YGzw;7#ANr3ZwT-zXr|Z`dd*L*;X8;t?G0}*XtQZ=9z7$YP^)rZj{Y-Nc_fQ_P|&;dmBj{w%*Y3g5o8Y1W5s4f!u6K65XT|0gW}Q6Jh3-j$Ge&EN8Vc5dD?dunD! zS^wPUms?ifbL)xqku_RSz}?`%{rwJU-w~%hPkX$LJPaeO!Wpmff%zpy{GEJc{h3FH z_SEV_?5B299e~2G9ix#XNbRU6UFKhus$S8Is3iFijv@tR#`!-X*oJPMP7zaA>)`i78hv-LPk zJU-c1{aKsTxdTFR0o?DG(cc$Lf31A)`g6pgG`>ZQ6CgkK&pz8I+o4Z$jxlXo^?`mn zt+_w<(_KN@;&g%A%hO)Kkc6!Vm*D5e`T3vsMQ3TfV@k5M#^uN0NyX_Liu_(<0AwBP*^+fIU>9^K2rQzJ~FsG2N%mEJrl@6_n>be_P4W0;I1xl~;K#hlL!I5A+OPO;)g}WM5xP>5d zjI{PAwYPgTYvOVpSs~ZHpw?iuU*zAlPRE8jlGRVMmziAq@m4Z3UX#6{Tjz-1t-~$? zwf_16@M!RZU@@5H{{ZkN(Dt~rujBWawa?ty+1hq^{Fo@|#z$PbPFnLpxepUwsapbe z0zV2K0V=PucU`N@Zw32+9|I-#c91?z&jh(|ecc6K%JnjE7I+VcUK96%*MiGI^*4%l zF{pT#f}aF^n)@}g1MNlWxnw=Js{IDpgVyJ@U!nDRX~Wxt_S;pjRzrSFl9Ya&>%iX? z;rB{p=~`)!z3W;X{qYZZu%CO!vZyY3z772ry)Ye0pkT->|Sm8XZfe>}D- z*O6T4-H3kueHQ5VR*uCUWY-y#L_3ANY0Z zLu2q)*@_SQOnehmUGVleBic)qP7Y!n^F*w&B$F<+gR=*zuTN(B%68n7j^(~Zd`g$( z9~`b_lP_{#>DUYo3;x4{|0wV!?jJ)s3Um+gJ{Vtf| zRHVvn7uQN7=VqLn$=?N3jHS>jXcP1XviXbZI8wN3*nA{$f82~ivvMTNZ=-Cr8!IajvsJzI~2F@-&2@>(7_Pr|b* zmgC>=Rj!Y~=^bAR(z1C#?wYyHVMZjq&@Mr?fI3|Cu*q!2+NR}8?W)=Uuc!Ry^;GW< zrf)M|pV$1ns?!J4CW?0g=kiWvrn)TmZFq~o?|>b_EnsKxWl-<9P(R?m$5NQ7 zm$uHYc4CL>&PmiSXgD+tngi{3{~j91SO3+onY)5IG6I8g)hC?qmEYdf#S26ImpxB| ze0=%e|M}n8?IG~I4t4_H0FMWM2o{4s2K62m|Nc+CANSqg|Ea?P%lF$dT6=e=^0zj! zGO)Fa*l8Y$c!#qu|5mh-y+YYrAH#UWxwwy^h>AXMGTi#OfBom)*jRHpOG0~3^PX{x zhl+TQw9kuMA8l%=uDy~GVZmXvn~7G6BlrY1ZZf>xBIz_+Y&-4|8IzQMc)4v=abg%wpErq)gdJTF9>O>***T8hY z`=`)AzWT5B*Bs?v)Y&HSyXhsl`AGiGzDD&|g|KTn=} z(*~F`S0ttPL93Lc1sYTI%BRIa!O22OWtSe6QbAl#jms7xBMUA zQxmtf%#n-AEM2V}&zqjrmS`O6?IY>d$0U*HT|1`VeOPAD_>?owZhU$YSin~kb>`pZ z_-ea+`D>QzolxzET&WA=-?t`SUw-*{c@Ba2v%J0xvUArs-c#UhAKFC4>-Cbq{XEU_ z9-C?7ES-G`H-`4?VyGTk3ax^kg0@24XfTIBlhknj6S}zm4-c7=F3fRD#h26nyS49d z(|8p$KJ#^?&SOno*w|Dxuk?bd+2O>N_676ZFC9CNDV{sSWnt#mHdW87+T$(I5*x=o zx-N4X4ExK*J@Gv4t7NaoRF_{_Ti4iBU12Yhp4wE`Q04YB_@cqzf9Dc%HLsGs-%i8HTf-KEn%`qM+s^=mr%kQwZMvmoan;ItESP$+m#$BX! zIVZ=zr#iF!FFW5(+Ex)xVT@0EZVF78%(#%feK(Hm2JcEps?|iZQ>P53;?h z*sp>&pW8>)RsJm>Pgb{AA4FU^b~7dzE%!4H`z?Cb^U{D-&1NfdTy<4Vr5IYHV_Vx< zpGOvB6i#^uqT^!^B$QF^D8H}FcBCcVjd-^yf*Yr);O za}||y2P5yt{EFmF4WFx@qOa9!?OOWLyEs-5zJhDxH~TNh=*OKa%Gh~)UuR+@P;qr5 zp5@R)u6IL{t+>!LV*%5(+f#Bj-*P?Y+P$?a!@|HPZda%uMdJ|c@;#A-#p?1JeS)nu zHg9rP208J#8JR^>P0o4sRkfj6ZjBskzeZ4zK9?Qu#$xi2b_j3orDU9)1 z`CvZu8ix^HVU6GB`IvfEAB__$6|Zzfw5*|K{Tk=BURPF@+d>`` zw>g9ty%^=esVXGCHTtslW&(|ioc8a`F-|GcwT7G{S@}E_ zX$Pu2O%npj!F?{f|Y(TUEtx^ofdgFU&v04!iltbomw0%kILhScVvgmrN$Zt9(L z>hny_`w1%rT?EGSVx?&)q;Nezxj0SJ;a8J;IY>L3xB^t#*pE+l2g^bKEUWgG^~_%O zY=zoCKbB8s=GpYYnRz>nfLjBc4Iah)D_vYV&y)MjaX&`SK8q6PYi@|6#)Zw!_qh&Z z>11XsPPry#LUK*;OHcDb?Ri}TD*x=GyE7*XKR9*0EF$(9$L)mqrSWnNx zuW`dB7p`|Eoa%rdw7qag~h|{6{D%Hg|KBQ<<$eXP^zds?_V^nx#eP{Kr|2vW$@6`2 zetEwmOw8;1(EPk_N4zT}9|el@YJSVneP!N>{AYNTw%wp~{8#Wq5O()Yj3g+X9RQvV z^1cLjW-bL@#C0Jk``5df>p`9`PiybN?{7<|I#1RO(pfm2i_$qco%8CM$@^-;`Ti;C z`YJA6SFW_nbs$cq@&C8?HE>#1*PZtr2N($G3=9YcEo^XuU2V|j15(}9 zT}<|W?)jhRxz9T<1Ejyk{_^wDKhHb&oO92)=broZeB4L&X%-u0UuLlplR$5y?9aRq zf6Kni7z5lmoYDXK{h2XryYcw@Zk+KgQopAF_DS*Yl;fUA9$SAG_Q~@|*I@LL=eFho z^4-f;*nHK1YmIx6Z^ulud*FUx7jOVL4x9ms%ka(~&4-h~?-jhOR&dBmLqpv;RNj{2cRV5SMV!yziMbn>-mlM>G=^1nnGWRiK?7mAia#|6xNQC{szyl zj?}-OzE01bm+SeCVm-f7s^@#I*YlLLo}b4wM)Em|36Y$4UaRM&m^jJbLlF3Ko`6Y+ z|9hIAv*`5Y?-TrcJAC5*reE%(Ki-(4=||CD3jIF%V3_d441JpJ_&)3?yB2Ikj7zil;t(N9b1pQmVFAMJgFLFX*x zPSFqBN9x~?uzn`-d={Oi@IAxx7K?M9Pk<=&TX>$vGo}cdKhI^9U&{J=fd1Y>zippF zJ#2?3Sl_RZzMuX{@%$wHP|ouP`k{|@FQt8t(Vly0$9(2DpK|MHM;+tiUfNN@cG$}J zuVcI~Wt^R09B$y>TNpPDjQcA3{Vm4NO7;Vz7#}-XuTN6%fOn5^|74g^v4WT2wdUj57qO2wzJ36`u7Cd^EU0X>q>R>>wfxS1M_)> ze2>tsPWs~}*4uWL_pOZP-^aMWgYEte`sX&5zhwsPo37^od#vX<+eNN-KDU-B-<`D6_Nkb_{$T^{ znZb5EgY9vG>1R89c8KQlmi5o1@1gu8mNUz8W|`hOUFG^%A1_+ItcO?G&Tgardl)w@ z)YD3P7Fxb6-%g%Kv0mPw+)>)Qp-}avSkAGu=g0KNaQ0v2jIVO~|0deEfpSOL9!^kx zJInJh<8&e0@4dADS^j+|?cdM(+{$viNV_*sUyAylW*oGVe>>}UC)>q-mggDDm(#w5 zv}*?2-6XcFg;pQb)5&t(@qYEoPL}Hh>N(1CJwv_|l)IPZd79;G;Q2}FxruSy%KTbb zuX`weAN_EY zo_GHIBJF;Rc0ItqpJqAsFy9HZ|E2e-+!oe%3Cmwb`ZShn2Kg4UeNLiZ>uB#D_6G}T z&uz5lDC_UXwC5Sx^A_znL3_3^|19;sN_*zBA6QB|TFJML_1H)KPqM!6qy8<_KW&(n z?+xlLqdoThh#9Q^66$$?dN!n0ZV&Tc%D7s|e5-hVmim@b&#)my^&>`<%Jtt{hQK| ztB2}-{J=F-q=Sy^#^bIzh7srKDDJ26d&rQq8-YG!s_?;Q$iLpx!Pt)3*ee@>I}~O+CmCGQOmwi+xB;OaApj#G&^2n(^f;f?2}0$msZ;2J}ET zg)97ek1vDs9AF->7+3~$0c(Mc!2Q5B;89>7a1eM7I1aoFoB_@OxZdsKY9`L|Y;!ZP z2v`EF0D6IbU^DO#unX7=8~_dj$ADA7kAOFULYQ9+Oa!I_l|VhP0Jt6K09FI*0r`gG zZr~7b1ULzt23`jo+JNlsG#-%WZRI)IIe_eGv=~?hbOCFDjlliDHsDcUA8-(mXY*bL z&H(3t@k5apkOAfa%K+KG<_vHSC_;NH1=4_g6G@)+X$EAElqJ9lpcm)|HUkd<2Y|!C zG2j&NCQw*}@&nU>N}wKC0Nf6&2G#=)0y_YCcH{}*5O4%I37iIA2jqs_NMJlL703W{ zfO)_&K%QAy3v2}T0SAHOz{|iH;2cmYZ5@~i$lfE(z#?D?umb1>@W8U$3_Jwv0`>y( zyv1SQ7;p-B6DUMKJrS4=R08$D0^oL_1CV_y)&rY>2Z0^HZr};v5O4%I37iIA2jnKn zNMJlL703W{fO&v?cVijQ1*`=&0`~*kfP;WM7jPVS88`!+1Bx(SmjY>ECLrI$Xa*Jm zOMn$XFCaH#HUkd;QHHPXLF2Bfv@E zH1IlrTg3i55OZ*z2P_72Z0^H zZr};v5O4%I37iHV9S!?|gTQmZao}a(3~&x8!rZGANCPv0TA&$N1grph0onLqGw=|w z3)l-B01gAkfK$MmKq1D>VqhXr3CKHt3xL(YdSDaqAg}}24LkuH0*(MD0eRVVBrqPB z3S@wJz+zw-&;_goHUjqp+ki)beZWEBIp8?(GH?bs2NYorT?(XunLsVj3@iec04soA zKpvvl3_Jwv0uBSmfM3UBw3~*=Kz#w1^9Ij2Cs$c4EmNJrQC%h922tJ>d3ZIAywx%9 zbDmc}d}sM;8hLBvnI_FQgE8rH7k{M1_%)sUwel=bZ1W^}C`mV^l{fnQ!?GqPWt!wv zu6=eaHwStKlT$k7D&w+9e#7(lXgGCL1wNVw9l5-krukL{KHBYhlRnZk@&-PV@p^b3 zA89)I;UlXnvAHCV%_X!M-Av9g8lx-vmcyfm+P$G1hIjw`HS$1Bc^oU!hI3;@(=@JX zDq>z~!zC^mvzkU;w70Nbm*k0AY1bBqH975Ua-Nu-%$V(f9o7fPym+#c7umEEkQeBr zdaMsny4utc^Z_zop6vWfIXTZVYTu`H%E7j4*yqR`dNN;_$bF%}bSe*J(I=SfJhWYt zZE9WJ+t-ur@OcFGDi3ARM_fm}2lB{L#2B12w%~#sep2PEs9Os%($n*S)nj+u=Vo8OEscG7q#%%R|;wtiSVSVzw(U z^FaHwddXnjG}+zS+uGARAFtiC;swFR?v8bl{Ys}C+NR0v@NzAyIucTGAEb23p-ozw zF2=elN1yE4*V@~@A~BCqKFSB}Qr2#hU7$CRwz4V@WrKEk&dchHQ4OoQSFKyw-M5A{ zX0pmd*`Qsn9w~Z#-=FAoO-|{QL%XzCLbJqEZqipv1jhc+bmebH%o=}J#J|{YwQc!p zI{Aa~s~COr#GG+M)5sf)U!wDh99~UR-fH;D=1?*Q=JIM9dEp!5l`-&&JmcaO9J{Im zf5`ZE#d*fXh#!5FCklLpN%*$9daGYbXezX zGD@QiV!_6&B8*ukbH4ai9?Bv%tX-}TWNn-dhONk#%13$hXQq2PD#~=5ymf|VxAIUH z{h0M7$Gj}oG#|ibBI3~bcu{6;>{F#vE|^>N4-uV|Qzua}mQ^0gqW>~`XJR~xWTU}B z#m!#jp)C3^i^-E-HaQQ}H1eXqva&5hKUw6Oda~%*!;ZsrD4lXa`#a+0bn^-0)im;= z{h5wU=$oKJc98h(zRr$?(wT-asdUPrEm}D;xSo{Twls~rXj`V^LC@`9iT=lk)v-(5Rcb@n(G-6Uw8qm1uLOQ?7fd ztacz2i(+5tlta5Sxz{5(4Z>VGrBg1LH*^%6J_&l2vbt6pWzf#7ogRr~k}W(}r}9xg zn9I*AF`ZG+n`l%{<)JLvoAqIGeNFu%VHW#S)5#yq5z?cL|K{b(*JOJaNBivS{8{Og zL;JG6?|v_bb{+2z64|CS%AlQ@%#kssONG`1eX`OhgEnUM_GqcdKu-`VVY^W}<%0Hh zdaUUR1fkICPU)0GdovpkjT1R^1sxw*=|86t$S936LA$FQPa8F~8rSKxAkw9D%K19c z^}y{D5^@p0rjtJy)9P_=TkBR8h5l0-Wzg2FJRP_%Tjb{AQxhC;1D`8RWvYTUc4i{& zN``M_pVBE8w6P5CVXA$NovT`V)=7^d6Grp7(kX{FW-+_N%f%Z*8^5NLe|F4YgnO_U z$1o-BULym$@oPHy(Vnai#n9!_dFCf+&QG#IT}r2%9%OB&bk&hXU7DX|U7prC`hc~8 z(kKIit=v;Fe@M$bnG#kGO(%a)mxnz6M=?+J0#f}^*_Ea;%Y(Y?z?>nieXYJBnWIbT zltW!wd5%SL{z^bXm(nN`)FZxu3SF2#@#2A%N7KoVdbIIf_BT-5{4B(#G6`MELs`_R z^$YU;zt@!zjs2l?$_4Y01(+A8PDE#ywj-VO$Fj;p*`TjH;AQbra*n8#Q|XjLUum|= zeL$AePkM95Wu;Rt=r85opvtM8VSOu&GUzX@-q0{0qw6P=GW(Q9nbtTCrG32jJnNtL zvW>JM)-7&joum8%*FO3pkpnp1&;KzctJv+Y{Y33iLQ!a?>`jqKOmRHlskGKxYfW5EVu}+WjmU7{{oc^9g z1>(_oWi67+t7+s#{28z0F*;AaqnU3_kgxb4msis?-x}m=?eG9>7%lDA76sN41K%hQ zWf9vZn?av6TKgAXIW%GUzKhNwl!vmxyj$+oC-mm5^Oa6H#JK5PfW9fI(+ej04dtOM zV%>cBx|dC^3p9@%wR@B=+K;sfS-ThKv02k;Gun{(Lu?+A$L0~Vxe9(aUa>EiSJO1#D)`y#5SvHj zu|w0zANaZwc1zyA(LmN>N7I#mdB87rm-@K7Rklfq_%&VmYXjS*&nnF+r>2oNh!N=r za(Ok4yn!8JU#Zqjb8ByFWQV4cKZud~f`~uj)im-3F|y0^Ci@XhBQMHr{r(cfwfaLw zm*jOUrBMd4V&l@`NT#8$w>!GF8QGm7>+N(kK)3y>hL(G*299I{9<@-YawJSz_W!#&c^>&l0=2yqc!@wxXUb_7|g` zugqzKnnqsKvBkdJE4ea{&6-aBpq|CP33+UuK%3iwF-+{6AnT#|tJd`P^tH=Axsg;mSy?L(|D0%(HhRo+jk@NYluR z@yTLn(Gc1beo!$ehtesBvC7JEz{_E*iieq~>`J3da4l#bVkp-xO(QSHBr9`mk?;;& zTWC7@(XSZ)4$nWZ-_msDUyj(Ya!Xy0_5D`z<4#t8N>{nMz_-0#F4-4o8hL}U|9Bo= zO(SnGr;xeE*ql1kH1Y<1oQnD#>#q~Vv7l+>4g7e(^EP+O8W85hb>!2@4?mh;nN7I$R3jVitEa~`C-+;Nv!|IWC9NH2;dA+>-y8^NdSlsH3I>dsXlrlZ-)Q+{J9f8eGQ+c4D=-(R|dN z8aN^e^yG(qF1v@*aYwlOKJB z*>%$MyEdUn}pUF>j)MX*&5)$7WXs@i|WV>;YCuI@f-lhq6JP_ZFF~ zevH@nHJ$vZbL)!>aj(VeYU=LD^75C-D2+0~9Ag{qC3~5~HKKT3s&vW)a}0Ur*UQOu z9$p+WT}q=2+N$|(D(;1#j&vMa+>PH_eoZHTFisru`~#mU)O7L(YP~CH05oFzbp=n(!ahUklxvOS z?lcO0wfH@FkjCs(8fDPWSgh_vJ5pT(uS+P6GC^N65$)t^e_y=4Tkcky4oxS2M_fPh zZh-0tczqgqgBUm-@x~1`EW6Sv7xX);(dI7XZ{<;0*=xtz!(Oz#tMkmGHJ$uH-y^Yg zmG9I2PKZ(YHC_4JP%jn>GT%{tofm~4WHR3=4`oq57Tc%1Y;vsEH1Y=ZBKk*KyT)(J zTho=l3cj|yC4E?)b~DW8mxxJ=6KNB}G@fmG8Rf4u&A%du$0L!3+nlHY1*CltJtel#r`DQRa zTK(>ddF@hsB%?ISU|h8RTAr6?{?TL+?v3P>PPt%wTp!EvDrzjFG|B|yeY*QL#&_7vQZN^xjG8!hvuj%9u#sGP@EG7Mcnxzer zd;glO@~CV%#sIT#HJ*L+vR;)6nT*mXgZ5?de=?FuZv1O6VAlvuUy^bYO9)? z8|KQDay?96e*H7u9Q40(6#8)jKmO?GrR%qjTUP{XM|C4ikvlhf3~t8+_oz4-#~Hx? z?6@>P_?z0=KY0C3EtM5bEiFwxQ~Wcy{#o)(W`E4XzoI|$hnM7ssPmh@YI(P7Y^<%V zs;frV;E%y|U*&eN?ET=DpJy(u>=GvNBZDn#+q0|Xio9!Vn%hv_*nj~L$KWtvoJ zM?c`rx$lz7zi^#CZo@U<+={w}rt;bb$?-zE-|yea7CxCfitZzy{iSrv0uGP*)Xc4^ zon0mOx8)eT+~eG8JjWx4Jo_cOSGQhL+$DYQ8fs_Hu54_OFi|Zf<$?+{%i&i>d2L{{45cZzhzA-u_GLbK(V@PHmfN$}4K?s#+w=3zYeq=-bS) zF7p0vza)R>=$@rM;3bcqrmogCYh2^p^5*J_>gJ2E=lTKmEV{Hh$hGH#-JeJrlc}BE zSeL0$=UmV~)7*26iIc3G%%#~AU76CVDQ~E$ZfB6VqVMZ3t^B56C$&|Xrs~XG z>jE!O_R#}$yGv^qUZ?rq)m1jMRL`ExF7N`n-|IGV#Fu;Y(k2&On(pKinp*L*D{5!A zG&Eq+c)^&T>i3iozGJXM^k**7@3`QJn-cO?hAOYCtFErfv|Qxe<7&4Wb1ykMFqaek zM=mYy;tK?-zNw+Ix}vF}(dRjMo15YmQ+F5Vf2S@@cijKzwfL&4>P$;>6&4ma2G@O^ zpT`Q{0>2i(*mr4j9-VDznHw4_GmSNwxsu%l^iFnr*~gt?J3Dx3eOxrxQq`5s&6%pI za`v!;m-&58-W``i=6mw<%z#+Wws&^TTG-Jh(CG}WD&N&9Q;UYWmWt}R(WG*4U1?W{ zb)+2ijO+A(x*e#?)zwtYZfvShPhQBEGyFa`qT>lb%5!RfF9+(F6-O*4i7mB_)pB)7 zkHO0{-tVI$oTl%{fVO&GeO$f!*Fs!HU3pDi^X!XkqotAF-Ow%NJa`elWI0u@n_bgT zRaMi-N%`RAEFKUi#e@1)r=D?~)U-6t&Q#bkcyL|Q{k}2cQ+eiB%9b89COOS5#{|2w zR&Is+V{jc~+$OFw*Zb==h{*vuv={BUHQRGnXM5JZ1gR}xRy@z;48N`+(@@o1YhikU zHh-l%Sfq9yXCGTXz@LNa*ND}cZ0zgolGa#TUfVRcxu(&TeSOwh@tYh|^@M-10^*T! z*}Eitv?aL8GW(fwt#TU)*G23oi`qiU^)9&`$>WXW{HNdiUn$qQb~S#{t@zcBt8#jz z+~3XLfS>G=@T-{=t>16rFS9oyFzs7|&<=ry*A#ffxr@GkKx&+4sISz2AEn*IoPLv2 z{uF-sUP)XAJZi!t<$5~hnYV+J;Ts!Nz?as|wVjqQ#v^%C-02TP)9t>X920e*#(@FJT=y_otxQ z7%unYnT4;vgP=7s!Q|ynslNhvLiX2{L*5P5UqV~wu0Z2E%Y>v{CWD9f+|InTbjeQ8 zP`&;@bBhkdVEb;+te+U3Q@3)hbSAlza;w&y1MQlKrq3VApD8?xbTwRIG`!o9Asc9! z>iU3YHmRH&+6J20Vr`8y_ZiSSm{F3JUHKYl=8q)Jxu1bno>$JfYf-UxA{6K?~<+nQGZ1(E9mg zp3Uy%Kp(~PhWN6M|ebsA_>_;*sSuy8JD7E8DSzbuw> z?qi_c$pkdFs1uR0e;+jSB52Vew4Z{OW=aX_#fT}y#}$|`ph@^6SMD0n(h)6E=l$6T z+V+UXA2^A=AAkne_@ji+_{kqadjqrrPl?B5qy3)*EjdoV1zKfZx!1m321na`$;Nrh z^TVK7-Hwi3=56@|XtVR?>D*s{b}XVL$Bs|o-YUrc$k8|Si=bVXpXQzd?LFcI97(yt z!o!#p#ByQ1&nWo`XjLi(xv*bCUx31yKT(fSC5f78pjo@MI+kpN_5sk~Qh$uene#0N zZC6C&51d491or;6vghV`Eok?hM{YN0Ha?HZSs#5hK@0U=U-EU(tZsAk4LuFo2P1u* zt4vb*>l-nMO^IkmkutpY?GJ-ywpg1H4k=$7Xp6~S8oLv;kF|XbH0vKqU7eW)+U(3T zpvhWJj#Aedw6X40kEdm?JUvPi{n;A#P0(J5_uCl$?I`70c?kf?kJE)`9&fi31cq*cmm-8q5x#VO2544X&wCdS0tttB2T>pvX z5EG!G`2MixVC0XK>ss%7eTmYX`wVDShNRr8_7k9eDUwU}ts4=^HYO(J+)()*CPe*_ zLvsf~`|G^4Z1!$Mf%UgZxlHu~ppDEchw%+GYh%{u39GCvb|q=nyg|FU_e-E*%H)p; ziSchu@4-M0!$EXNJ^W3Q7UVgj#y@1I_AhQsSD`jFSDJ z-Av}IU3?!z>aP&Jl*K3R5}J!(%Z!rufF?Y0 zyk;k8;XJanw+S>GOEDBihsgaNXjd>r-V-n))^UByL5poMing&0pjmt+^X%?>7_`bL z&!pV*pjmrQ%JsDW05od{Nm?fJe?hajOwxMVuY|Jm$;pkB{AK8ApAVX~hh(0aOdDu6 zPfpT$+Si^p&rIg?=apO4`v_>(rjvPQGG7JF+H{h(s`ua^a^F3#Twl-k&r8c>PJ^~4 zZyh=J;i`B{ot%jIg?$@ATSd9}n!3jG&p_*nXyJIfsOR_5gOx@!{=i9Mum?2j3zGU8 zdv=0`DU3go`ZAek5^`k1N%DLhwBKZs>~CyTS;NXZver*bcHJE@ZAQs5(5{Q+5^d}= zpjn%q?ABSA0e$P-7SL?&maA`TLasNMYc#CdmY{{#Jf@ZW8EDo4$bP0~X90R@y`Gc8 zy)(UgHx#{A5j${8lXKdoA%>6IV5gZvTp=Hd5)@&l^AWguGZGPZIa+@)X27Gd(k#Wu zI1a64JX*z7Xi*c<;;zP>6Z!7=zvMspMrMc<{tjW~`en|aLuKb;3o;VGXpiO_m-Kdb zcdc2X55>w&<|Q9%%ih)6xvH#P{wmANs+(0=R$g9R_R(@Y{E}&H&tb6CHU19tnk6ec z+L+s5w;nxX}|_5Q1?yvXwNUhuEd0ly-Z7wG_b_xYWz zjNIqF#TxhXpZ@%(Y$n=Xq}|9NorfNmqnohbN_+R;3wq$eS>>rawtRP?`1V-wcMi{6 zd*#B<-m!Z}d*-Vv@4gJ<9iG1WxPRdLhE>?Kd5ybaO;7s`EBs@~ZC%~%AJ>HC^2YoP z9oB)Z#N*nte3zBeKmAf2nC8a##j7Lw?1px6pXlktR^3a&KRWS_fW(Zq^qn?LY**vN zl7E9{^~y%1ze>A&-!J15ptbi-Y47n-{HxSHXbi`p61!zMnx#y|rFp)|_0MbgV+8*G z1|U;8`8@X?;ix8$jdbVS!!Pc$h7bu!DmZFhozyv?(z$?by-mUJtv&9 zZ_g5Ba68iSLH2UPWitN_IN3kq94t75vwU+&-nTgoY{uNZ6xPqf?*l+3FclUFpU~yK zE!q3yA@ImI!CppwvIojW{Cy1R87$l+@55M#jmKH&YjN&^?q!&yAHd%;uhi=~bFgkk zvVXVcEY4Ek%1Wp650q60@Hx&fcF7X2Qz@{f%gM5fihqgAZry_7{E2Yp0PCb>s>5= zoGdgjZTEFvhx3iVZvb-uxrQQZlHUUAfd-%vXabsn7GN&$+rT_vKJYuh?*a>eg}?`Z zn}J2ZEx-qXTY<&EZNR?+eh-k?x&!zS@L^yHuoU=x;3L2?pcQBX+JO!r3oHjd3akJ+ zfsX+n2fBcjz$%~{SPk3>^Z=MfxL%+SxC{6MuohScd=mKgz<0D#{}uQ$uork7_zLh~p_ z_!{t+z!Siez}JCq00)4lfWHR*3OEQn4SW;$7H|l72KYAcH^5=wS>SJh?*PvM&ja5D x{u^)vI0}3Z`0v0m;056CfWHUcJ>FRl{0!><8F>AjHRE0F?|R@}54-~&`2U~E)0_YR literal 0 HcmV?d00001 diff --git a/lib/Mono.Cecil.Pdb.pdb b/lib/Mono.Cecil.Pdb.pdb new file mode 100644 index 0000000000000000000000000000000000000000..5aed49a80dd98f466463807660dbbd6c39c9d0bb GIT binary patch literal 177664 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

En{OtVKee^nVw)q>HYsq4W7VKJ*^64ZknM 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�PFR^_Lix2VsAxIVkFA$In6 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 J1IN(={~s6aRo(yq literal 0 HcmV?d00001 diff --git a/lib/Mono.Cecil.Rocks.dll b/lib/Mono.Cecil.Rocks.dll new file mode 100644 index 0000000000000000000000000000000000000000..41694e5855f9b65aa5f189480688e63ac88bbbea GIT binary patch literal 23552 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%0A?>&P3DO+>g!|vA0acyvGxxeIc8_G0rj_VN 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 sR6|K0C64^Qv8_q;!!_c`ygpU-mp$HgQkrX-F_ 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
+2|f$c6@f4I-*4gT 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

O1>gj*5>y_#2=r+|XJS_% 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

*VN6E&921HiqM+~#o7^X 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 literal 0 HcmV?d00001 From 61b281074a13f5608382a2735651d84ae9f59c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A9nes=20Magyari?= Date: Tue, 17 May 2011 09:19:19 +0200 Subject: [PATCH 3/5] Missing PostWeaver app.config --- src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs | 1 - src/PostWeaver/app.config | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 src/PostWeaver/app.config diff --git a/src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs b/src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs index 6fc0152..737c3b7 100644 --- a/src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs +++ b/src/LinFu.Reflection.Emit/TypeDefinitionExtensions.cs @@ -4,7 +4,6 @@ using System.Reflection; using Mono.Cecil; using Mono.Cecil.Cil; -using Mono.Cecil.Rocks; using FieldAttributes = Mono.Cecil.FieldAttributes; using MethodAttributes = Mono.Cecil.MethodAttributes; using MethodImplAttributes = Mono.Cecil.MethodImplAttributes; diff --git a/src/PostWeaver/app.config b/src/PostWeaver/app.config new file mode 100644 index 0000000..cb2586b --- /dev/null +++ b/src/PostWeaver/app.config @@ -0,0 +1,3 @@ + + + From e963e4d50a425ac3618eb10989a5330a3c5bf788 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 17 May 2011 10:50:14 +0200 Subject: [PATCH 4/5] Fixed void type check typo in InterceptAndSurroundMethodBody.cs --- .../MethodBodyInterception/InterceptAndSurroundMethodBody.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/LinFu.AOP/MethodBodyInterception/InterceptAndSurroundMethodBody.cs b/src/LinFu.AOP/MethodBodyInterception/InterceptAndSurroundMethodBody.cs index ccbcb73..0dc04d4 100644 --- a/src/LinFu.AOP/MethodBodyInterception/InterceptAndSurroundMethodBody.cs +++ b/src/LinFu.AOP/MethodBodyInterception/InterceptAndSurroundMethodBody.cs @@ -98,7 +98,7 @@ public void Rewrite(MethodDefinition method, ILProcessor IL, TypeReference voidType = module.Import(typeof (void)); _surroundMethodBody.AddEpilog(worker); - if (returnType.GetType() != voidType.GetType()) + if (returnType.FullName != voidType.FullName) worker.Emit(OpCodes.Ldloc, _parameters.ReturnValue); worker.Emit(OpCodes.Ret); From bf5a101d4a2634b6c1ec717023bb60e2771420b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A9nes=20Magyari?= Date: Thu, 26 May 2011 20:35:14 +0200 Subject: [PATCH 5/5] FIX: invalid PE emitted because of swapped IMethodReplacementProvider and IAroundInvokeProvider local variables --- src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs | 3 +++ .../MethodBodyInterception/InterceptMethodBody.cs | 2 +- .../MethodBodyRewriterParameters.cs | 9 +++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs b/src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs index b806c48..936719c 100644 --- a/src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs +++ b/src/LinFu.AOP/Emitters/GetMethodReplacementProvider.cs @@ -24,6 +24,9 @@ public class GetMethodReplacementProvider : IInstructionEmitter public GetMethodReplacementProvider(VariableDefinition methodReplacementProvider, MethodDefinition hostMethod, Func resolveGetProviderMethod) { + if (methodReplacementProvider.VariableType.FullName != typeof(IMethodReplacementProvider).FullName) { + throw new InvalidProgramException(); + } _methodReplacementProvider = methodReplacementProvider; _hostMethod = hostMethod; _resolveGetProviderMethod = resolveGetProviderMethod; diff --git a/src/LinFu.AOP/MethodBodyInterception/InterceptMethodBody.cs b/src/LinFu.AOP/MethodBodyInterception/InterceptMethodBody.cs index e346670..98b3a39 100644 --- a/src/LinFu.AOP/MethodBodyInterception/InterceptMethodBody.cs +++ b/src/LinFu.AOP/MethodBodyInterception/InterceptMethodBody.cs @@ -66,8 +66,8 @@ protected override void RewriteMethodBody(MethodDefinition method, ILProcessor I oldInstructions, interceptionDisabled, invocationInfo, returnValue, - aroundInvokeProvider, methodReplacementProvider, + aroundInvokeProvider, classMethodReplacementProvider, getInstanceMethodReplacementProviderMethod, typeof (AroundMethodBodyRegistry)); diff --git a/src/LinFu.AOP/MethodBodyInterception/MethodBodyRewriterParameters.cs b/src/LinFu.AOP/MethodBodyInterception/MethodBodyRewriterParameters.cs index 80b0782..2ab6f43 100644 --- a/src/LinFu.AOP/MethodBodyInterception/MethodBodyRewriterParameters.cs +++ b/src/LinFu.AOP/MethodBodyInterception/MethodBodyRewriterParameters.cs @@ -51,8 +51,17 @@ public MethodBodyRewriterParameters(ILProcessor IL, IEnumerable old _interceptionDisabled = interceptionDisabled; _invocationInfo = invocationInfo; _returnValue = returnValue; + + if (methodReplacementProvider.VariableType.FullName != typeof(IMethodReplacementProvider).FullName) { + throw new InvalidProgramException(); + } _methodReplacementProvider = methodReplacementProvider; + + if (aroundInvokeProvider.VariableType.FullName != typeof(IAroundInvokeProvider).FullName) { + throw new InvalidProgramException(); + } _aroundInvokeProvider = aroundInvokeProvider; + _classMethodReplacementProvider = classMethodReplacementProvider; _getMethodReplacementProviderMethod = getMethodReplacementProviderMethod; _registryType = registryType;