From 68711320146ddb622a0382eb84279fb0b217d0c5 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Fri, 13 Sep 2024 13:42:41 +0530 Subject: [PATCH 01/18] Blog for Refinements in ruby --- content/blog/refinements-in-ruby.md | 113 ++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 content/blog/refinements-in-ruby.md diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md new file mode 100644 index 000000000..1f664c68b --- /dev/null +++ b/content/blog/refinements-in-ruby.md @@ -0,0 +1,113 @@ ++++ +title = "Refinements in Ruby" +slug = "refinements-in-ruby" +date = 2024-09-13T11:48:18+05:30 +image = "/images/2021/07/demo.jpg" +draft = true +authors = ["Syed Mohd Mehndi"] +description = "Refinements in Ruby" +tags = ["Ruby"] +categories = ["Ruby"] +type = "" ++++ + +## Exploring Ruby Refinements: A Flexible Approach to Modifying Core Classes +Ruby is a highly flexible programming language known for its dynamic capabilities and metaprogramming power. One such powerful feature in Ruby is refinements. Introduced in Ruby 2.0, refinements allow you to modify existing classes (even core classes like String, Array, etc.) in a more controlled and localized way. This is particularly useful when you want to change class behavior in specific contexts without affecting the global environment, which is a common issue with traditional monkey-patching. + +In this blog, we’ll dive into the basics of using refinements, explore common use cases, and explain why they can be preferable to monkey-patching. + +### What Are Refinements? +Refinements offer a way to extend or override methods of existing classes, but only within a specific scope (like a module or class). This helps prevent unintended side effects that can occur when modifying core classes or third-party libraries globally. In other words, refinements give you a safer alternative to monkey-patching by limiting the scope of changes. + +### Key Characteristics of Refinements: +Scoped Modifications: Refinements apply only in specific contexts (like within a module or class). +Opt-in Behavior: You have to explicitly “activate” a refinement within the scope where you want it to apply. +No Global Impact: Unlike monkey-patching, which modifies behavior globally, refinements are local to the scope they are activated in. + +### Refinements in Action +Let’s walk through an example to demonstrate how refinements work in Ruby. + +#### Step 1: Defining a Refinement +Here’s how you define a refinement in Ruby. We will modify the String class to add a new method, #reverse_words, which reverses the words in a string, not the characters. + +```ruby +module StringExtensions + refine String do + def reverse_words + self.split(' ').reverse.join(' ') + end + end +end +``` + +In this example, we created a module StringExtensions that contains a refinement of the String class. This refinement adds a method reverse_words to reverse the order of words in a string. + +#### Step 2: Activating the Refinement +To use the refinement, we need to activate it in a specific scope using the using keyword: + +```ruby +class SentenceManipulator + using StringExtensions + + def initialize(sentence) + @sentence = sentence + end + + def reverse + @sentence.reverse_words + end +end + +sentence = SentenceManipulator.new("Hello World from Ruby") +puts sentence.reverse +# Output: "Ruby from World Hello" +``` + +Here, the refinement applies only inside the SentenceManipulator class. If you try to use reverse_words outside of this class, it will not be available. + +#### Step 3: Trying to Use the Refinement Outside the Scope +```ruby +puts "Hello World from Ruby".reverse_words +# Output: NoMethodError: undefined method `reverse_words' for "Hello World from Ruby":String +``` + +This code will raise an error because the refinement was not activated globally, and it’s only available within the SentenceManipulator class. + +### Why Use Refinements Instead of Monkey-Patching? +1. Limited Scope: + Unlike monkey-patching, which alters a class’s behavior globally, refinements allow changes to be confined to specific contexts. This reduces the risk of breaking code in other parts of your application. + +1. Better Code Isolation: + Refinements ensure that method modifications do not leak out and affect other classes or libraries unintentionally. With refinements, you can safely modify the behavior of third-party libraries without worrying about conflicts. + +1. Safer Library Usage: + Libraries can define refinements to tweak core class behaviors for internal use without impacting their users’ code. This leads to more reliable and maintainable libraries. + +### Common Use Cases for Refinements +1. Overriding Third-Party Library Behavior: If you need to modify the behavior of a third-party library without affecting the rest of your application, refinements allow you to do so safely. + +1. Enhancing Core Classes for Specific Purposes: When working with Ruby's core classes like String or Array, you may want to add methods that are useful for your domain without affecting how those classes work globally. + +1. Testing and Prototyping: Refinements are great for temporarily modifying behavior during testing or prototyping, as the changes can be localized to the test suite or experimental code. + +### Caveats of Using Refinements +1. While refinements offer great flexibility, they come with certain caveats: + +1. Performance Overhead: Refinements introduce a small overhead, especially when resolving method calls. While this is generally minimal, it may impact performance in hot paths. + +1. Limited Usage in Some Libraries: Some libraries and frameworks (such as Rails) may not fully support refinements or may have conflicts with them due to their reliance on method lookups. + +1. Limited Method Visibility: Refinements only affect methods directly called on objects. They do not apply to methods called indirectly via send, method, or define_method. + +### Conclusion +Refinements in Ruby provide a powerful and flexible alternative to monkey-patching by allowing developers to extend or modify classes in a controlled and localized manner. They help maintain code modularity, prevent unintended side effects, and promote better practices when working with core classes and third-party libraries. + +However, keep in mind the caveats and use refinements judiciously. If your goal is to alter class behavior without the risk of affecting the global state of your application, refinements are an excellent tool to have in your Ruby toolkit. + +### Further Reading: + +Ruby Documentation on Refinements +- [Ruby Documentation on Refinements](https://docs.ruby-lang.org/en/2.4.0/syntax/refinements_rdoc.html "Ruby Documentation on Refinements") +- [Understanding Monkey-Patching in Ruby](https://blog.incubyte.co/blog/monkey-patch "Understanding Monkey-Patching in Ruby") + +Happy coding! From e861335ce3e29c1e1f7ec5fb7e6340470592eb48 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Mon, 16 Sep 2024 12:10:11 +0530 Subject: [PATCH 02/18] Formatting --- content/blog/refinements-in-ruby.md | 43 +++++++++++++++++------------ 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 1f664c68b..aa773f886 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -12,22 +12,27 @@ type = "" +++ ## Exploring Ruby Refinements: A Flexible Approach to Modifying Core Classes + Ruby is a highly flexible programming language known for its dynamic capabilities and metaprogramming power. One such powerful feature in Ruby is refinements. Introduced in Ruby 2.0, refinements allow you to modify existing classes (even core classes like String, Array, etc.) in a more controlled and localized way. This is particularly useful when you want to change class behavior in specific contexts without affecting the global environment, which is a common issue with traditional monkey-patching. In this blog, we’ll dive into the basics of using refinements, explore common use cases, and explain why they can be preferable to monkey-patching. ### What Are Refinements? + Refinements offer a way to extend or override methods of existing classes, but only within a specific scope (like a module or class). This helps prevent unintended side effects that can occur when modifying core classes or third-party libraries globally. In other words, refinements give you a safer alternative to monkey-patching by limiting the scope of changes. ### Key Characteristics of Refinements: + Scoped Modifications: Refinements apply only in specific contexts (like within a module or class). Opt-in Behavior: You have to explicitly “activate” a refinement within the scope where you want it to apply. No Global Impact: Unlike monkey-patching, which modifies behavior globally, refinements are local to the scope they are activated in. ### Refinements in Action + Let’s walk through an example to demonstrate how refinements work in Ruby. #### Step 1: Defining a Refinement + Here’s how you define a refinement in Ruby. We will modify the String class to add a new method, #reverse_words, which reverses the words in a string, not the characters. ```ruby @@ -43,16 +48,17 @@ end In this example, we created a module StringExtensions that contains a refinement of the String class. This refinement adds a method reverse_words to reverse the order of words in a string. #### Step 2: Activating the Refinement + To use the refinement, we need to activate it in a specific scope using the using keyword: ```ruby class SentenceManipulator using StringExtensions - + def initialize(sentence) @sentence = sentence end - + def reverse @sentence.reverse_words end @@ -66,6 +72,7 @@ puts sentence.reverse Here, the refinement applies only inside the SentenceManipulator class. If you try to use reverse_words outside of this class, it will not be available. #### Step 3: Trying to Use the Refinement Outside the Scope + ```ruby puts "Hello World from Ruby".reverse_words # Output: NoMethodError: undefined method `reverse_words' for "Hello World from Ruby":String @@ -74,32 +81,33 @@ puts "Hello World from Ruby".reverse_words This code will raise an error because the refinement was not activated globally, and it’s only available within the SentenceManipulator class. ### Why Use Refinements Instead of Monkey-Patching? -1. Limited Scope: - Unlike monkey-patching, which alters a class’s behavior globally, refinements allow changes to be confined to specific contexts. This reduces the risk of breaking code in other parts of your application. -1. Better Code Isolation: - Refinements ensure that method modifications do not leak out and affect other classes or libraries unintentionally. With refinements, you can safely modify the behavior of third-party libraries without worrying about conflicts. +1. **Limited Scope**: Unlike monkey-patching, which alters a class’s behavior globally, refinements allow changes to be confined to specific contexts. This reduces the risk of breaking code in other parts of your application. -1. Safer Library Usage: - Libraries can define refinements to tweak core class behaviors for internal use without impacting their users’ code. This leads to more reliable and maintainable libraries. +1. **Better Code Isolation**:Refinements ensure that method modifications do not leak out and affect other classes or libraries unintentionally. With refinements, you can safely modify the behavior of third-party libraries without worrying about conflicts. + +1. **Safer Library Usage**: Libraries can define refinements to tweak core class behaviors for internal use without impacting their users’ code. This leads to more reliable and maintainable libraries. ### Common Use Cases for Refinements -1. Overriding Third-Party Library Behavior: If you need to modify the behavior of a third-party library without affecting the rest of your application, refinements allow you to do so safely. -1. Enhancing Core Classes for Specific Purposes: When working with Ruby's core classes like String or Array, you may want to add methods that are useful for your domain without affecting how those classes work globally. +1. **Overriding Third-Party Library Behavior**: If you need to modify the behavior of a third-party library without affecting the rest of your application, refinements allow you to do so safely. + +1. **Enhancing Core Classes for Specific Purposes**: When working with Ruby's core classes like String or Array, you may want to add methods that are useful for your domain without affecting how those classes work globally. -1. Testing and Prototyping: Refinements are great for temporarily modifying behavior during testing or prototyping, as the changes can be localized to the test suite or experimental code. +1. **Testing and Prototyping**: Refinements are great for temporarily modifying behavior during testing or prototyping, as the changes can be localized to the test suite or experimental code. ### Caveats of Using Refinements -1. While refinements offer great flexibility, they come with certain caveats: -1. Performance Overhead: Refinements introduce a small overhead, especially when resolving method calls. While this is generally minimal, it may impact performance in hot paths. +While refinements offer great flexibility, they come with certain caveats: -1. Limited Usage in Some Libraries: Some libraries and frameworks (such as Rails) may not fully support refinements or may have conflicts with them due to their reliance on method lookups. +1. **Performance Overhead**: Refinements introduce a small overhead, especially when resolving method calls. While this is generally minimal, it may impact performance in hot paths. -1. Limited Method Visibility: Refinements only affect methods directly called on objects. They do not apply to methods called indirectly via send, method, or define_method. +1. **Limited Usage in Some Libraries**: Some libraries and frameworks (such as Rails) may not fully support refinements or may have conflicts with them due to their reliance on method lookups. + +1. **Limited Method Visibility**: Refinements only affect methods directly called on objects. They do not apply to methods called indirectly via send, method, or define_method. ### Conclusion + Refinements in Ruby provide a powerful and flexible alternative to monkey-patching by allowing developers to extend or modify classes in a controlled and localized manner. They help maintain code modularity, prevent unintended side effects, and promote better practices when working with core classes and third-party libraries. However, keep in mind the caveats and use refinements judiciously. If your goal is to alter class behavior without the risk of affecting the global state of your application, refinements are an excellent tool to have in your Ruby toolkit. @@ -107,7 +115,8 @@ However, keep in mind the caveats and use refinements judiciously. If your goal ### Further Reading: Ruby Documentation on Refinements -- [Ruby Documentation on Refinements](https://docs.ruby-lang.org/en/2.4.0/syntax/refinements_rdoc.html "Ruby Documentation on Refinements") -- [Understanding Monkey-Patching in Ruby](https://blog.incubyte.co/blog/monkey-patch "Understanding Monkey-Patching in Ruby") + +- [Ruby Documentation on Refinements](https://docs.ruby-lang.org/en/2.4.0/syntax/refinements_rdoc.html 'Ruby Documentation on Refinements') +- [Understanding Monkey-Patching in Ruby](https://blog.incubyte.co/blog/monkey-patch 'Understanding Monkey-Patching in Ruby') Happy coding! From b39640e318b7d9ecdcf56d1d1644e9d876735ce3 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Mon, 16 Sep 2024 12:20:59 +0530 Subject: [PATCH 03/18] Added image and updated title --- content/blog/refinements-in-ruby.md | 10 ++++------ .../2024/refinements-in-ruby/header.jpeg | Bin 0 -> 180474 bytes 2 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 static/images/2024/refinements-in-ruby/header.jpeg diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index aa773f886..91f1a0bab 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -1,18 +1,16 @@ +++ -title = "Refinements in Ruby" +title = "Refinements in Ruby: A Flexible Approach to Modifying Core Classes" slug = "refinements-in-ruby" date = 2024-09-13T11:48:18+05:30 -image = "/images/2021/07/demo.jpg" -draft = true +image = "/images/2024/refinements-in-ruby/header.jpeg" +draft = false authors = ["Syed Mohd Mehndi"] -description = "Refinements in Ruby" +description = "Refinements in Ruby: A Flexible Approach to Modifying Core Classes" tags = ["Ruby"] categories = ["Ruby"] type = "" +++ -## Exploring Ruby Refinements: A Flexible Approach to Modifying Core Classes - Ruby is a highly flexible programming language known for its dynamic capabilities and metaprogramming power. One such powerful feature in Ruby is refinements. Introduced in Ruby 2.0, refinements allow you to modify existing classes (even core classes like String, Array, etc.) in a more controlled and localized way. This is particularly useful when you want to change class behavior in specific contexts without affecting the global environment, which is a common issue with traditional monkey-patching. In this blog, we’ll dive into the basics of using refinements, explore common use cases, and explain why they can be preferable to monkey-patching. diff --git a/static/images/2024/refinements-in-ruby/header.jpeg b/static/images/2024/refinements-in-ruby/header.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..848fbe6ce163c716b5fc6a7cc26d857fcd3e34dd GIT binary patch literal 180474 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�d6_ia{z#PHs$d-w8(X(~kt6w7uf?fl}+aNa@dxgEXJGSIRxC$z9y1 zT`mdFr3jvc5mDBN*Tj7fYYDSsLPKv#@lpR{FSImzAs>G1V6U7>SM&FZgCE6>4}$~3;%go9 zTts(Q!LC!PDwav|A9D>-_68i5X&U!ynV5}=n~_QgZ@w-{hWZ5U^uy~L-aI@i)laQg z)cm{rfJdbIaLP8bC_c3F zd-C^(r4qrS?V^Yp;~5pgHt^Cn_2PN}-uVyhk-+XPZY?tfQ+J3hObmqrn(6JqsGlX9 zw{~<+wYhTGLd9uKr!PAs#7?u3zg1vE&C~CkJbPbhY(!ly-?S!Mhn?Mow5`*heV**> zUeJBqp7SW!Uk%yW3q5INM)ryb_9M+@owaks*uHqVtC;*E-jz8xx`LCMl|5fdoxh%c zi_zh2Yz>^DP(5^!69fuo8Fx|Ig(a6lU-b*IUgV6B71Erj$=K$_sOahUVLm(d8Dz@f zOYr(x;a#5>^{ZG?RBIpg`*7VO$vhq8YB*X*_OW?{)Bi*|#!7JMQL3odwq&wO<2J!- zx2?4;m1OJ_?%!z+iaKlm+sU31rEbT9s^NPL?FZVsy{pW{UJK{E2f2vZ#CSz209!);;{~j&zSJbhNFGn3G|!ZiOd|szvwaOC=FbT_lc+p?vn5NII*c_Fh@*=f>cLzwjUa z+;!-KH37IQCQYbEXS`(ZzGQ|a*#W}&T+5u5B^UI+s^QZS3vqij0<2qE2KobtY12?5 z$p~SFUYY!GRm0n@cMlh84cSR9(tliZlOFQP4EU#9nLb))G(^vwd?Dy@{uXq&P7JL|br#D?K5|S0#8jsgIZi(NRsFZVd%G|)I_RhTBX0?9$78jvQJFr3qWo z3e&>4G>NBFL%l}Yq^8@b^G(csX3ljN$5?7lZ7jy8dDol=$U}>BS(GTcM&&-B^;G@! zPv28BnxUMui${x+BxJ zVSS*?CoPG2tJOSfehWhvo?!Y}R4g1-tA#)4Mx=Hz6R^<2bY$iZ(r-58wxeeT{tIPV z)+U+?#U%8jJy>aDH(M0_eS_yt|2oI{X@OU)jgDT9x8r>aD{{$;EHUg=#V)4Dy=#Zg zo6}i8r&MYSTx*+RI-!1dKv>Ijp5JMR3+z_b^0vNfne(X-U6g&5f)E8v@whR)8OssXwRmA z3vFWB=JdCX69Iyd_;K8{<`@LV&O)=%58o|FoDs-(;6WCy<*u>vF3ltup?d7?I{?RQ ztoIxmDEkf;28?A_^gJs!0wxW#aXATh0WB%$oJ(>Q@2^+|%1SPiw>- zD(rIom&%%pt3iwa_FpN?BNN>B-6Y-?Zm2>%dHhQiRt_(57r@n*)zGzoGgAMM^OS>~W zO7_+igOFHLmlAn6*4$|KfVnmJ!TG1`gQSyIHUuvvyPTiSo&bp};dnoWYYA*5+S;e@ zsl$FY3kIdX-t#~B4nk^XOe&72sNY*U)6Zvz)tqi8+pNv)UjHcHHL8)MJ}0Vr`-eMm z^_>0Qa9vj~#Z~|X>_0l0Oyo}45OIs!SrS#EQY!ZQN|oe8#kKcGc;|Z0QYOUL^li0( zY`px7&_-So#V$XrUF#jtD=%qe%FH>`REe#IqVUOjG)B^wZ{$D|Ai~4nP}*(86-lOR zc%tiixOhD%UxYr8HSL-Rn9f_$sD++N5d$IjL)#+4j0VTE$?ObT`>F4 zKmoI(UxPU0{^9|Qt#8m&tATqZ3m@^1yMq1-5qLS0djHT`#?H&&VrOQ_h(!EJEx*;H z43nWabe6P(^ev^?zF)$$X3k^}>fQZ!L5Xz1W@`OQQ1FBl%`EnzXLm#crz zM;tfIBb-}AtxI1jD7;jX9H{S0+}RyP8ymMC_j$VC7*TV2ZoO=Lhq&8=Z#~!EWSM*7 zwv%xUCp=64ZRe#tIrQV%+x`5(I;BScyQFLO`M)OX*6I3Eb`Ka#MGoiMA1dbPf2Dj_ zUeq)%p2aM2qgI&`<=Qo13q(AtoIElhF*f_~Nv{7ne+Q_U;s98diFfYWU*T;oN48}m zZpZyx!P3SK*dZSDsToteap9-6&36%0Rgn}ok|g}kDy#fN48ZsQU(I9b z`)V}oZP5?A(Qf|hD>eCIxp~oZ&2pG4PE_qEIYguX&lGGGMYa(R9%mB-`%AZ?`%ayz z<$13&#WeMiCUTa-y+dhbPaor!r>ngSJc!#Uk^~X8Zim)Bk~}X{q^9%wgYkyJIBSwV z<<@XCi*8X)geq+5V(8X$vx5+7deIJS2b#mPjZ8baRS@$*4 z*L!a2?p2y+w0Ch@izIQ)bn@3A?ugTrr?Tx7vIWumFUYLEgn6T5NBKH2wZDrPmF=YmR}c zYlF6|8bw=3QB}P&(JA(ELJ1eIR^yzFXszOpP4o@;gbfv@XeVmqb?;3=O22C>-xrQ} zyXPDB6k58>&h&BUbysFy8zmuk1mI94GaR7yxXCH7X$~*gB$5D~3P^NY+4`-f*#|yN zfjuE1$^=J8qTG@Mg4(HY2kZD5DwP6~tZjiQnHPw4c4k?GZ|5OY!SxXOf z5{onPQb5W8$6S%^<(~+LZ5IYavpGU4<{=r;Ko@S0vmcTW!RKUjdx4y-H3{7mrQTg# z@OfvQn7}p1m-JD9aXe^iY+X0MFba`Z3$PW206cB6UeC4|c(2H-9k-yrM4L%h_Ycbn zRiiILMo%#PhgITa6+LFCgsw+?bd?owJ(bb?C2*>HJ)2G6KfPOP&aV^zER<*Rh8<3~ zDucqKscGd^ub}gGg0N8P-}c!QwGFbo!{+(a#-!~@54aQ(Nx|D z;Xezb=Ryf}XoE#LCMb(-|JtUcA=V!80Xf0aD}DH?{;L=nWM2!UBYS~2!aQ1&3xn48 zK6^3uYmh{JTDyM82X!;1BH1C(U;smnXY6^ibYoW8CfxMS{ZDVC!wNVa1f3W@jkRBYSw?*;xuJ{B} z#~>3<9zdg7@)}E|5X0J9IdGDNt!=BsxA=a8_|aKPh!La|z4i@j@tHa5ZbE@Od0*WN zLrXpOJ^VW~4(`xu(c>8&@1F;nFSP?sP)DK**P3j$ub8(fD$7R?%`@Pyl^Rq?9Qiig zkF=>6EeTVzxpNQ&QRBrj9V+q_{Oag5>2h}p?C+5Rr@dpcb?1xSng!pZ+#r>8D=ydK z0hBr3*6m&#g$ov~bmddqxmy;K_%Myctw7FF1Gp+WzCJ< zV&|sfRs6FRJZ=3PHeNV7*hy;1!yU|<5K!0a88Q9b3P&tSVj_0Zv4;cmUO~;4-9TG7 zSyajO@=nb)LBWx49^wHd!`=EE-Ipg>fo2KYQ;X_Sg^NtMgf2e@J1j0*?rkrpo>PkL zE2yWdB-s+&$nMst%9(`Tej0FCN69*Fn3}v z&yT2{DQvy_Hf5GGo*4*B^OxqvC!cZ<%sO_29jGknv+%2vZQ2GiR&-R8CC`!^rLA=S z2`jQ50wJ*+5+YCRt6iR5Qsx!u8+_MccrCu3JUjQ*_Jq`{1WIF&)}~V&I>E438Vqsh zLG_!$96%FA8b7}k$&+K}Y<>BazkH-mxGJ&fC}*#rAR^^;=_r06J*Jb!KmoXfvmup? zUwwZ_@$+~}RK8oNR^cE1b_~tP`r*v}rrP8u%ROc}Ca7Pv!9IK@;H`$F>b{tL+?c&= zOxW5+p1r1X9;R06yI;Yh|LBegr9d>Z;76t4wk4Qp(0m za%)+8mOj%OXpKo6WwjNbPLpKSpAfki^8LH$w*z0HNA9JPvXS+Ki&1Qx8d{$uYui?{ zk7T>WnvL#NQ)!DMvLB^KTV6|9G*|LQO9kA#B@uQi+73T*eDSR~mr+-y39MR2X6b5V zf1qJnvoMTz1JUmb4Jd7|mF1%tmg$=)y3rZFf5FFFS>j6n68>e_MMfeag-zU15xgdfGBzP1Y$2`rY}6KUr<@Q8EQPtP8nX z%!lYs@2x%PFJ!ai^>_ngv9WK%s{vJ6*w0hl9&heEOm9Bc!#T?Q`vlXkVWD(tHa%9t zv3IbRI{zsYc%Y@6^N&X6QTWP3I^audEisqm5R5Q>t6bVr?szJ`%6+Ex~&TKQ8acFdQ zPtCVp5XYSzk8<2T(Mwq+Xtoq?H9_VpSyvxx!uKwe zE;4GBwH<|)b5>iEhcxVP6|DAP@hIWIDJH~Y{1OvZ(fibYYHcR8l=-}qkA8l1HWv2e zZ>yl&tW2uUqWfF8tzeHUzCX-d`L$02-18K(2Zx~VdXZ(IdMaCgQfs)q9JKNkC4Ve% zh0e2<1cMjCYIh3O#Y(%k^3>bZlZ;p zB5qrbjcxc)fyc?Mt^0ut!JBzT+JpLVGw{twoUmM}k~k4xtDoy~|FsmR2=n}h*A+#B z9ZP5=zP(D0N;%Z;@kZ2&1Za}x2vs3}C|OBPZOg!WgN6@iv!fuKcF}j!G?yv31DMF! z2_I^b)3PG)-spcn95TS4CQv*LpDs7rUef0kv9GcA5EQSP9U!{Ex+5)Rq)1>iqF1fFKek6zYt&6y0YqNhIIj+hS0XU)oyY-0zvvA5tRx>kQ?#eJD{B%+~+VUVy@nOq-fw zZffsLf2Ao2o{Jjn`5KQzWKsMW>BMQG?TN6likX!eh4 zCfzx9-@Wo!Zd%yC?iw@-_*M z4<3_$_J3f}+$Ts)0~#O+0#pVkchGP&hiXj~px`*^Zo5FV-Q0qEBT*t}#DJNG7I^&7 zBlnYGvjmyy# zzB+=JW^}fkWAr3t;;A8aSHn>&B@xjNJH%| zXG#J1U zaqq{^p*%~>b;~uD6mMk)`CpZM6h9VW%BClw`w}+|^ZOweE#zF5y}r^$7l5d*ZJmQF zF97w|)BF6#JM^mpFUyQ{Y_|*530lm7K*y~ZlnNgc^duULr-lFddiK??_1IJC3pk{P zVdJjEtd$UgiZcKEyy9Ag+g4@j^MK~s(YMVz*nQINr$w9N}y)`}#{5jKq z=}lZbO)$E;S39j-%BWjZj?kl9veCcf(EnB4+sY>ZmYT* zg?0_7nkQHJ1C=7v5fX#x{h=dpePrGGiD)N7B3n^vG{Zl429YCX>LFr=@hG>Y( z{aRD?^)POFe(55@VpKT9P`x!`1{mB^XLZZ2&n(tZN*WWUDKV=A+nhLg@+aM4QR4S> z)nmr&sgY^Lm7-#v(Lff+Ec=O)l+C#}-o`)JI?aqQ^u81M;EL5 zB%5nL0}KY4UX0hstZD$6o zc^XG4{2$LkSfmyCoXT)4MLFj$Hdi2p+7*$hCiPRf z33MBoD5-V-5nIc~K|KU>m^9y)OPoidA=T6x>Ba92Q`S1E`n0RSrwg66Bv<=<*n@QG z7r8;sbY@o_Uq><3{14?7S9ozjmo$`25t%~1wb!U2dV3W0Of`DQJN(z)R&k3Gd3K2) zPHo(wCe$S%Yd`$d;;^x@iuf}5TVY_mtxwuj;;^al1pct1EVn%M2(xf$L*lst-b|s^ z8Pn8Gr4DT+!4S{0*(aiE9d=ui-S^M?A8+@eO=^+;I=%0v)1C`)I4$PO`@qY0%p5N& z>`J+eCoZIzGeJU3F)_`lb5G=Brtoo%arhoWRX_f4%j&+6wF-Z!V1Ri3)Nm!gO$9kC zZs|xdERGPM=(E=gWbzbhV5P$)*=W4x3ERu77CCIl3k@7RW}bT% zMJW`qHXUBmd%1Lf=NK--D7nn}oOsj?SR~|`RG^PDd&#l?7?){p%Vxx&H~|e-mo@X3 zhYkIdkb{mYa2sjMvg&6qS#>;5c$fUcb$GccDbwDbcIY_rRCGVWFDqUXsAGn;#~c;< zh_a;PRN1PN`PCt&M=njC#!!03WhwPL>YiScZ0Y5Q z%EvnLV^iT%A#8JQqY?61IawR8;T^$fhnObZvXs+7N z)&T^X>Bdm~`<*)eqR8RXFO}Vk`ig21y*aIo_mD|F;%-|c+mp3)9a$^X2sN8p(lV#M z1NGY$2i!B!GvtNBjKKYSiVU5=?QQuwjg;f>${8C4M0h)JZiW`&2w174V-G9sqbv7O zPqhb`)GT(@7YFfycFcv6pvmot!~ch0KJm23RyV!M|?R_1to%25T{kmUq1X99gy_*?5je>{KH#SSoy< z3)D|G0Vo%AcnVTkEgo>X_)t99fg2jbi}x)yIC*3ZH6Z~h^$IP_C6`m4p6r7oWU3s& z#kCP%c`x`9V1_00*;Q$`c|x|G`g_7FyjPgdN+UUpoAhNNQk)$6)PD$`^fBg{hrB&d zxJM|^qonM#62g`omKAx<7I^^*HYLX`qINFJQOC7o6T_P>)}O!kt(}Riat%zJkhmY2 znPWJRahR7l{My=Vsk9lhJ(2W%=8w{5==;Ahq~@kxF)cs-_$kGzO&;~w9Ly)~-p~*4 z_3lpGC-agdo19KO2Z*fcF*St$k2g5a(rvNad`?s=TEL@r0h<$K2P&+C(5_O2kO>f4ARVPrGHnk#G2IudAD+wlBG|&-`pe& z`aPC_UO3aBW5Ey5VD)J_z)jUVls2!w&z`JM0a5R;6Zf^9%9#f9K23Yt-IFwmwk0(Q zCaf!_9$1m|5ARNotN9wey|SgpbVld&FGLDP?5BIrPmX6y2D=`KiZ9%)IVi~N-W{9Z%Hl;i`r zLgI;^p8L)lxjPq3W1+sDg*lF;vpo6cedp|X=-Zp_2422!VZ%p{ z2JtWKnNk++r!KSn!VOJ(MO8~Hiu;6DF~nd1Ny)ZTg%J3GLxP&4;2%k{_J=Hm`$+v`)?z?<(-k4M(=B1AG{+kC>^G3(fH0MS7*}HB`9Xp_H>FT2hSg}A zb@^{juhCEE0noiZ)T=jsl{3!VMBk@Jw)fp-9XldB`?6|>M!qYHv-ibKB%l;qdUB@d zBJg#_-UAe?B7L?t^@TNn7RNFp75MhY%3M;R^p8r+?p0}^gI&-`k}3|-WLkephQ3n? zw{uMIpDaMx`=70w5t-^QzK%DjrPSwk>>EnDGnMOvJNR=6cgAM17z9$#XX&Y@>ofEb z2UXZD+Li%2PQO99RAI3{GC;ALb4Agz3McDYTjD)lUNX^L->akz((KWG26#k84nAR5 z%9`F9ci-Ofqkol~a=+*GFHopYpFTi?`Y&tk|Gap}d0sq^WG}p{Axn-2yn?wzx+zZz zyqz^BU*5^Dt4*~c%HjMLw`ItN4&Z#)VhiWq1_-{n*}^e>rN91QNrf7v;xgI^cc-)2 zP}2n!4v7Jk$9<07t^*Ki7B6tC*g*p*1CTr<_WB5+dTR_*WDs_=Eo-``K~p~)UL?3=1F=yPddi?KA5qb_$?A<#Ef zpl8qr&&ed*%nXOG<2PVhmtcU4lnCzG6}ZQH1^E&X32DYW=(BsIL!MeC9SJ6LBrRfZYFq zZP3=X^LU;!-uz_??3CiH1H)EB)lArQw>8ly>`ALKou*kMoI^}d6eW`Q%{Qzj!_%SgbI-Ys5haX#~2d1fllXRbU4WBT{nsOax zC)~cVZI;Kp95wrZ>ME5LFDS;}PEov`*d-dy?zTXen$67^G`1jPa|#y4JSL9GI~7N! z;-59_rLdud)&gIkSdKfq*(TY1(h2*!_#MAi68h{r?3#rvQ#BzQLWY`?t!bB()M^!< zk-WBxW`y~>$1YUKDx7L=IUP1CLm>(m_k4{vvN|eUSDs25xUPZ1o3pDvmd>b`GE0QL zfw<&+KZ)L9m^$mueu*NCuU}^RYSNy#+pH|+7t((l=Au_99qZYQu{8E0=M^qPG{$~sP2=cH_;KxTDfrgy7#j<^jQ-V$`*n9 z2IfR@C7+dlY6AHL%HvWlgJLAbD5E54OKitig@%~l_n|H6a)5DHFg(UFH*tA8K>X-~ zTN%|7)yJ}uUapBw1XQwo9ZswKW3Qd&z|4Ab3rM_JS|UaHiPFV&2XUS+&IETcPmBCz zR;jjSCW+a7+Yfggzo4pf_6l(&vM_h?3(1X{59Y@EyQKt1v%NFXMNP){fDJcYZOyp8$~|BmMs5G>5BUs4 zFHKWimWJ|^fD0ZSGVi>yW!0;SFbTy;-uy8l!0EEIdzFw`Ag;SoI$w_^=!c=EvE`_$8(5@gp+2xE%x5>$y@iA#l5Z*41t(FVrx1f#-Kb5#QHVrK2xvM_S;E z9X7OX5r&71#tTI;dP4xZ<>5e=Y*W_PWTS%Bro;ttZCGgr!&VZg? zf%An-Ta}ZyJLd(B zji-9C`sWmH=d#kXs@1ei9*17o^jlM%Shi(}oCKO7-|w(BUF4=gla92gE-^oYnz?>n zf1g`Pk4z}z6`@}WeJ%C{ftUS5h?$d-(B}L%1>NUt>peF=q&PHt$08*9<7L|3Qk3{n zf&$f|h{bq*(}yndHUwchcbHEEJ{(W0(ukH3)F~!?&NI51yCKHY?7R5={qU0{yLr(O zc8UVOYEstw8ejOrM9Zr%CVR`f8_7NMlhMAZJ174bt!fR9rRoL&w=sMbl@CsPL8}x^y>XUw=ny>cvYQamh9mU!W#%xR0S3mB&MNBtH2R`CyQu&A1m0CXW zxJD39BvyDwQcF{oGEq$C#o_au*nI^(`+LBn-XAjFy|r;4z^rPt1}>!7XY$tw7IY!L zX2&46o-rfqKZ&nowElv7-`!D1{c)aU}$+uVlyRF!+@|mVddul48JL1nCj@0I5@$7Ao>t z@}SRbBRyR5<`KEy9TT_8`7=%gR8PXLD@DJgc%`dwuV!hHPM-L=H0~=(QZLNZL^;4u zXlc+X)rNN^&i+`M`5@3T!4@ep@FUgV7l0N4YsYRq{HueShia*kCnbMP{l^>32V=|M z&?`!XdLtr)oR6}6w~ySnY%E_~%B}_m1ks#>=p8_FfgoX&FfU&X%|@}>I(PyFX9L`S zn$x5G5*cfn^X(00Lv`>I)!v#ppeeh`*39ttd`0mTo$&;pEX!SI0=$LyGs8gy{#?KV znyp*eZYRz&J6U>$gDIp7YX}@Q2KbLE0S+tUtr+dfN!3Dd%m{0Y62l!&#Lak`2adVd!k$)ql46?3!}CjX2Y?fd z1nM2ysN3e~v+lr=e_7n6*tHoFoFh~xY8ol0nNlhS(lK)2^87wm|3MyKbm_dPHm<`} zOlYS;1x8M^kixaQ7GCu>-P0$%u9zQs6IoRRId}#SpmhHtA(I{XCp_@`J3wiQuva=~c>Fz2; zGK281z05$*)%rBwxR8qoyqIpkdV~|k2GkEw6H@jJ1M?iq^!p%|w;RsGYB}dZQ=%Ms zobGm+BHbNfn%+)p7moMn&kG%gf)l61rQ4Kl7?#LBxt+IZE_By}=ESGRAaP476GP`r zV;xz3y(wh{LqVS=Lz?10lWcIkkaRRZz#Q~SGy97rbwT(_cZ-h-B&R5yQJy-GhXqU>IhqP*-YVJi_Wf#Tvq1-$RH2^7L$gy}CQj=mJQ>*V z>a%3qOA)<^G?xS0# zOH*xbnb_drhPZT(@GPEc^sf^BVOo)L?i~MYo?$9gicv;~JC>-X1`;Pq z=)`|-J$SJ6!>_vjf%MdY?lU#%bO)hLY1!`hJY`DEncE#MGy|uNs)k~99t)eLKDj0b zi=BhO|8-{9!pn_(9t`v{KMDSi=!5+Z2k3ZwoFC6mosca8!;L0coX)1B&~X3P>5`GZoMoLmT+Ahob}e^Zew7%rs~v88F|x zY9%|48;A+Mki`_=bcY{mtg0ZN0W_%0SQ({3agT3y^JXj94;d=#k})ENqpxOSxi01{PVd+_Ne9N<5@^7^Bf4k#34 zV1B3u>-){~>U;*?aWbw6luN-A;Q#&bZ`?jkdx9kBY&hs7LG3_*>{A@j%Y@<=Ud{k9 zt^+`>o>-905_`jm(7~x-zrMO&`!zpc3LylP!m=WVDBvw{A-Bu&mG?_UO15-?iT(N3 zGV)tPmW>YjM>PF<$+loR>Ucye)RjA|^{qb;m>RX)O|1`#|L`OyaM$GpTIoxvxnqOg z;R>}VhA)tOdt1x8mN<)G7x@=qL{$WLrBgOiVFac#nvqg^Mt(;O)FM&uzn3TZa_rzs zJ)pa>5IQ$YBEy{iw`d}JLUlqeO#P?My9U-S<9!U=Ej+xUsD5nJU5j_;xfNZ~7iGUYN%y6LCIypAX@R#j^ z$?Dk8DuAawN!i5NRuIj6^fjBic*1tXDMNn9``AlJ*$R{9SQg2b6A?fN&bB?8;Xdqex3 zA<$!gCbn;_DlE-hv>azVdD(lg7MRZ7HN(Zgr}k15{M#xjD4gY2d^v>ccF-UWQxorj zsM-y>nL0hXNa@WAkjgq#A?8q;26fmqJ~muwRSo4u!sGl{!W33Dhu-CfGp8TIQ$N;=GW^m96~ z`d0-)%ws;9&4h~--$(eNQO8>3x$BE&Z%OGnZXar&?j;pM`2@;C>sLL=E2E0!3Ut`+ z`Ehl;YnCYglE(so$X`RqDhwv;xQ1;s60fu}7flq%6}j*p9;yG#^c2O6s`Et%2O=zH6O)Y zLH_)%Gb11Wcb^qe2{|!*SpS$uLPn8L^O*osW8w-VdFvqwov*g0<}raK&4;PStad@u znwm%X1k;ct{SoFbzvMM$r&BKB6icnVl%LDu|6T{CBxuocfNO@AiPAc3+U@C{K_rmZ zp}vnj*0D1a7w<`i4h>@UCrBlrZwfN-o~jiX^ssIpUs}o9tS1Y1CJWW;eq8HraJ{{({_W%oDxuLLhyH%KuM*;8 zjZtK|&KJ|#EZ@we=~&yMkK10qTK2?#I-e+syCB9>-+HYGhB0tlnELEF2^3-#- z+lJsQGIf8%NWt7Mn0$DkFz};PkIHnmjZD|H@l4beWWrfl2GhM zD~^2r6S1@}myGNfpTA6*OyQpE1E(TpxzLauyrjREgfYPgjcav>x3ANmbw}mxKdRTl z<{K%UVrMhF##JToRi-_n+K3FACxqBBEg1&HqC_ulo*c^EzkFQ@H=jFx!@GUUHuvqD zOp6ynOMN>j67U{=e4Hiv8qOr)-)9`rZcxv===MIW!^Pf;llMFEUJLXdKwzG+eXxMVR+_D z;4OXD+s;`(&V3rW<9}wsNcDv_Cijtgv*Xww`U~KV9H?aOQEK!7n|)8sQc4GX4OX0jyzPMFHlTZ z&bwfc;bwu_yy_BZsahhNn7b>_)?@=ES-XL8OVzQ8+^aj*A4>@p*@7jYvXw@CH#3)B z(XV%Dv5e>bvy%CMP(m8^VWuiq^6VQ*wbpaV*P)>QOAzF4cE5O_KdiTE;zVQEvx8KU zd07xO6${;0DTPTN#*T3i#C5L)t?FbJSa}($Sq3~r3Uz!{v556?BLtEFwQ`P`;_w01L%61?2+@Q-8XuvB`` z6(efLmya#2*g-6^%v~~kXJ?5?9^xbk@+7B5AhzaAZjDf-)D|OI$ z*2{pK%FisNOsxR2t9s$P2xtIl-KJ74Nn#no9{xqI*(OVM7>)Z6*iiagGe z(0RzIM9ifiP)SB>bnQ12i;+b`_(G2tG{$AxlaCUjQ|mq>AK*@MFl3^v7OXJtsAMfY zc@}PQSg25crK63XUj}65-jF=KMBKgMg0(d9a z&o{PjfdEaIRs3h27IZia_+>I(xt*U$_2mVL?^s1?A`6=+hBHr%78lylyq`q(R&Ji4 zJqmOqi^Em(qH3gpa?L=7cmM1pbmiI6|Eym_U;lsCSNd;#hK(xBgLB@CtpR|~bp-Ia ztPczyWv!EPnn>u^8)X>0GN6rqG8!UAw5Ugh%nOVv_74A(u;<|TDBO+SsXGU{`eA6- z7*E>qOAyH;e$y279*29aHG?FIbZL(OgW5j{A)y2}S*1j4ssgpf?>8#`Y8{V7x=`iT zaQ`p2DK`?2Lo+dj9Vn^U|6k%Q9!F7uI8d8<1rzt6o|o}_Q}1%XHLqQANR`==rL9~~ zgCc4pJh^Q1YhD-w|M(xU-~3l!y6kbuTN0RJOW0IV7|yy;cIixHV0p^@-QQj;)ssch`4R0ShE;$fc3{ypuVp808>vZS<9PaH6r|R#<+tlG z9a93fb8^^o2n;LUQ&d)j%4d@oR!hpRoA7luOE#xAc+_8_GD%LyMXYr8yKe%exO$y% zJl-394G44O!u!-|Jg@=QV{OP?Z(?z!H z_t=LhvL6KxIbWgk_By+_0_-}_57Vswtn0Gnc!+xfhGsD*fM40C1i_lJV~z+f}ckNA2MHwL}^ zhgXU`&L;b0F0B5ZhYzyzE5X-BL>R?Sr4OMhMto{G67m8IW$l+O|W@Vaqf5#~vH zU&$THPWx}>+UXHU9x|lUyrey+CG{Ku5dX#^I19rqyb=xT0uJoljo-U0^Cfeh`S(lVn_G zK>eKIPO?fZS59nW$_!XTV^6wo^kDY3d^}8(OjPEl14QtOfS`?z`wQL+ogz@FzxPjh zZ+#R14|Vn}qZ`mChfVeknEaGeZH%EHc~!r8wg`@rh+^No)V(hyQzviWIHHvep7l_d z3>cHi!XCUjr_b02r#j4Nbmhjs)ukqYz#p~LIY<;nw4dlm=eC^Sp}!spcg*SWrJGZK zOS($B?Fc`;(Nh|mOPBJL@GkJSQvBpt{c_;fp+m>G5W!UWbB{Y_$NjJ+Kxt>{A7e-( zU3{a1Ot#8(PSpl=gS)+e$=S50`A|5uTTPoKoEzP@s&-`b9Q8cyxwE4dmV?~=wG6sr z*=*|^t}SPfqsa7f!-ZNOLY}WjlN8m|q9@aw|80+YDiywspqQw0|gvPY0izW_7$b`CmE=w zX5OLXGD;PRhv^Fjlu#)|ZeK?PdtE11$XTyF7o8U8Kie1^soCH1GA6S2dNrqr-q6gX z;340C5U=e6UyW75H~8W_R%rJP?RQ(2=SSFhn0nP~ny9HHk>r7%1NvNnXP)BlWozm5B`TA?zkwszz+DS%ZUhq* zIFQb5D_g4B*sx&FpT|=?MKE@Uj^J^>p_U34+I@m~h?4AZyM50#Y6`=#w(gv0l051< zE%jfbCSKCmPrxCvd0bOl#_=wj+%btwa>(;#I+SIz$(amGPg(HM!xNcaZ_%qt3wxkg z2c?*e^KJZU)k_b8MAJP=AypkY-U&3(%yjiwJXb8Mx-@7fyoh|Ik0<`9=!=R`wh|+W+w1%4zrKFJ@y~ps_!etAq1*W z(>d0v=8Y2>L#ji%`o9sYLtvUs9KES@8p`Nx;tKpS zm1Sk{o0hUve%H7q_y7#OAK48Uby7+tWNfwf<@5ap(>+OR`1SV03;eUZgV-)@`8gVq zZwHMm*Gs+mrqTbTiws8JN5r{O;p($=l_pfRrhE_}*efoDUHHCQ-yUXQMzp2lqPQ_1 zK5XM^=V_t0j&T6>INGw~yZ81n6f(122#xvM)yi0`nRvr*bPI~UH6AtQ%Dt5a9DkXR z6bNr@9?GoeU~9B6_K5G;JY-p6f%DMf{pyVqV#|c6kH>W0`Nx=r3IeT7er0Lf_AQODcyzt=u? zY>maZ>leG&Z(+xc%axzMc{^fnMY!l(aVtTGMLnxvF--#FBW~gvkC|!;&d@$Y1a45yWvXS?&&s`Bu-LU1y#%wx(=h z*VnkAfoahl6YMxOcxP+nuXzL$LtU8D%K zze!pJeGU30NrA0`Ff1%tJdNo}4i5N(-fY0!_tgu>a3htyH+tg@hAJ)}2CXbN?rnYT zw3&(neaN1=q+#rhOeoe?zgtX&_h_mwqNIpZytwz|hj&5gxSIHi>{FxXp~-1Ke%%Qm z6i?E1HzrblVkYVT8LfKRK*_+3T)g))K3(Xc?aYsb)>3eD(08wc3DFxW&pc{^Ckcx> zolZ}iSv54}dzz(dlZ>KBl}V@^<(5R6Bk|Kuk3am-M+QihP2l+a86AlYT4mS1 zKeUThUNU@vm{ar8z#^R2ZamJ8*mRVmT+K@!4|Lf}TwQ`kXW$Qd%hkj+JhnVOd-L^L zFAR=f_z03Mg?NG8v5EhKpQy=^=%j3XiZ0?DaCv({v2NI&z?$`PwU!wFRrEZJ~!|i`?3hV#EDS4BAH*wv54w;dszlWkL zqx%Q`gIz%C4y~g?=TmvlXDnGx<9_~lw6QW7$h44H$6)3wLE8x#`_V3fRB4F(jG6W7 zDwb=ERUH90FE5AJd52ak7p!8P^b0~K92^_#14V)^u%rQ!a$M14vA!-|iKMsH|#&yO^@eyC=ZmJTGAys@Ny z1b`oyGgBrzNQt++VX7FT?HsLRPYaS3b1AfY^WQ9WmSs54DW*AgKY*;wONmpVSD>oP z`ybvKrk$$U0n084H4>H+bFi3wwzs?TWrtvL!uhCGu?Prx++UDg27B_U2`>7IoWX4- z>ewsIg=wJWQH;s=dUfA;&#&x2PeCB`T{Ds;;hX}Z0RD^@v4(RkcY)tz)u-25z-}&$ zy|7kHH%<##*g`R!k8p%I-L5u9Z=e{KfZT?eNzlV~P6PCr+Vci$2@@v*>_wyK(=Y$< zc%A{nPL13B z^L6hCO#`jfk@e6KkL4Y@O{!z>cM^q50UTBFg+8cSf_pWo{S?vs3!=MkCx+hc`o;F` zKRD++Euf^d_9}!nKc+DxQsN~3pOokSm-eikU!a8dA4u}Q`Om$wyNv-m3n@0aI%% zbVTrMC@A*^w(SiU9hbaUiBX$kLh*ImS=UaSWk~UYlMfFj(Bvq@va=JZBQeByd@L|9 z%q^pX+tXSvy!K!vHd{Qy7)9sSwbmw7FJoKzE_+?_immL|&d-f#zoV3t$_(4oX3tjP zdQ>zsFfKFutu3ybV4iD-nzeggHNPN#r76@WT{L+MZ8nN4px`u<{q>Hn^u%>(Pf+9U zYmK0aglE|8o+k+M)gSqK_>~jTp{lj-ulr<^?!MQ<+jOGtk%p?gpsmx({c=t|ZGEwx zsls2}atE%mu%~Jb&z5Gxs7yIaD*EN_i6k2AUAj@x=QzRz;UvnB-i*lIb5P1GRqBtJ zRM(RZ&WaC-)k_$?s+2K9O2?J-@%G2$C*Gz0c@1zRTieLixwbVJDVJW7>?98Vt!(KE z6rZXUv(R@oT^|ZKu!Fg6U=w}Jx&VGiEJJ~m1yia{9ypSfEmjgF@=d5ev^5ia@)0Uo z(htrdqQ`PAw?Fk)|Jo}qZgl^eTr``bejN%{#LvZ97EDd@P& zDo)V5O4v-X0s@x?T2Bno08^RT!)W`<&G#K@v)f%aFq57paXF>%8g-+xN?cK;XNACk zcI25xZA0Qail+usfMD&ePuaJv0EZ2~l~BX1`ZS(#<1SYSHDYdE69V_=?~|T|>!CrY z4=Y`iq5kq>x0Xzf$)^lffNqX^7Pd~`CQmOfneyuRN%Q2qP?DEaXDcm$Hw8mg+FwmD zu_Wm7yw&!ke`?kh3Pyr_uj1{w%50q-S?Zf3tU@gL|I$W>YrcAW6WRI9B~3sm*(W6~ zVv^KM=`;@G-zlx>7kAcUHE)72_fA@9iu5+(^b6stL|uJz3Iw62jaU|^qx}y!GH{0P z)ntyP_ik+3KJHJKNOBb$kr0AfHD+&SenB&x;w09*Y>LrA#^I(D&$qd`%R-^tSO65q zp9EssOeAKay!}jIZ>FB_lckdlavS_k2#{_MYYXhWq?haEYLQR)=dV56(g}gZz zHzRcb$W#*#jp_l2A|Ba?GZ2A~USY5f4MJPxEve1G@mpfM8N_M8tfj?O(46!#EX94Q zD9DHAo!3|v{Y7YffrU^ChD)e*S5sjj58q4>4KQ(LOi8ANNzd$R5*?lHAN_Z7wt;yt zb?LkXgPV~Ei*I>o$a8DE!td!0JsCP8Hp$5877U{-nDo zFyYg!#&sqoD!4}HAI3VKMZOW#nw$UYm+-*kw~d`7G-88;iOEHKHO`key}WoTntXoj zu=|a?p~Oy`ArRm6E0VQwzT!oH9QYN(1zv6DTn3E$`o+;w_IV|=nZjO&eK0Y%hG|8C zy~2!iw*wjPFb!32i5*vNde5)Onb@)rN<=R>@mj>n%ci9&P1(?JJKS&WwQFhsy1V$;1SPFs(M2N?4~+iRs8vlby0v9G|btL)UF zWm4VHM?qy=bw=h?8J8HJ6M_2CqMV!B-Kc^x&MdJ>=r@XmISK=II_!IR1fyJ2cfIySv~>1%3uX!KMI7Gax*MJS{g*RuPz|oaIi;mNPPjAdf(7>AF9J>f~>TGFzt=X|g{|J#SMwkemED`FhVk zqs425JOkg++4!-nUUPHy>9J8p6OF;PJ9DBKK-pu4`9rfi$Kddv^|1;YcKQ0|oyi8*Dn9O=EiITRFd0xEMN!a(z4?n@Pqv}ueP&cVBLpAqA7)jN`sDNc zT|!N{L(@Q|SDe>?mmUjMhX!T`*RudbOh$NYYpae3|XF%nL4ff5(68Q(n zlPi)q(AgJ9-YqQ#uxUI_E-o%d>0Vk1D!_{7u{^m(G$%V19&yc;!%&IF@KV;V$Vh7L zs)f$eq5Xv1RBH>MDRAhMG+LKOJu3X*VVGFJ_1QeO}jnJ<=^Z(QF;*-{%m>l?~WLZ z8)Mn?_7DAR8t^hFO+`?JS*s>bJf#d+6Gf8WN8Amwwn$q1GD<=%%svz)niKbNXSHUxpUXB)%P;WvE(gze4k6kH@9ekv)C1-@nZ7` zo;Ce79feVI9l5)4Z#XNn%J*){J~VqS>JdJldm;B%3+FdFs^~7J^l%B2rkpk>!$ER~ z;N#cjb|-Wf^4qSa$~ySrZ&he_-Bd0K7GO*T$X`jxBeCKEtW<8K{2K=3Wx)eo1W)4S z3rxggGn)A`$rDgs31tPtjlU*;Erd-bwA_MFZ+klc zXdr!u$m@p~8?hs1XRknqAPi(La_u}zS7I>em%aWcpsfg^thzcEI*`*Sqs{in-D`p3 z9-|`6_>`wD5y(GoeW$wMejH)T7Q}!eAyOP*Q2rr+5Vo4>jf2$Uk*3cjg~k0qzWc3| z8;{%nYbtQVZCx;oXWTB?nhL-jj2tV=TalDnC!g9dGU|MKEl>1cukc@hdEDDFMha1( ztx~05RxHd~@xNEU?sGLGcOtZOWostyE3dwSkE-BEk5(EA+@|ve%e_RRPxAQvA*%|K zdRE)NpYzB8JwkZ!#%;{euAkobc@ul-$J6=p5gY6aygabzjhh?Lo|)QT>gd%O$_)g5 z*LoCKdXn2Pnd`P;ml?DO%yYHJ%Lemi0jlPHEJSUR$J39XxyBLIp|SKI(Q;JZ{>kFI z&z`ad7Rf&5ng27;g+H%uo0McJSD;~2silKXK1c+z_zOq?Bwo@`hH=2QiXr0U@ z;Gn8Uk*Zf$lD3#hj!VB8B~S@cdZnJ3QIR2DgHYQU(wESo#DWN~x{gL>~Xcvmtx@*I~U3OK1Rg z4Is**0rUnu76);qz+eB!oo=n|IQ}~71-SsuJo~XXd$K-7AOEk2>VJe(9CjRqrDk?^~Z%e3YU`s;b?-Ac6gczzktDuP8)$Q$QFi@PfxpnA{e;-oLbG9fG@M_J&~uJUeRFla~T zuWniM`!lVOI>aXoKzIaAw{oh*LFYdADo@n_le)gdt}*;}=`dU--vN8}_VQ{N7W!T$tS|BDcfiydnq&f; z6cYJI6K3pAVsR<8!=_BghWE`G-M?1KtsIZ=shNB4uqY5qsfocqdsX_&icY{dZDcu` zKI|A z5!zLW2+g|4{rR`yk(MMyNTIQJ@amMIQkg6eJKCmaJ}ry|uzcnas;S>|w4&BK%Df<= z?>jIp%0Fn9kL1BkSvV7`W)9-ZN%qIV8_&&e7&tqk+wXI03vcTBy?9t5_1D2bOw)xeqKSREJMg_tT|iKw{p0;+oyr_r#gKh+sDRv~X?6Ks zhatG~TnAHq@^wnA&AQ%~kEoT<{OWt3CSMHIYr$6i114~T9^fxWW^4;>y=f)Jc82*p z1Y`Z5QaK2TMMYoCEK;lkdSL4II%^!)Xzoak9q7iAT`Zdg1;6WjS4# zU+I1CqG+yQ@hd<7#_WwQB2-dgo@Fm`HMQyo4&{3YUIxuf2Hew_fIm~Oy_M?Yiw0e` z;p(#7oi3BE-Q2{>d?U~2Zxz<{&<4kLjDKmGUs-;nHc*v$)UA~c(aS)K^nCi0rZQ=U zrHDJuXTxfogAZYV6OY!Sy!jgJF*eUC^cHvSN?slajQ81ARyti2x)aiJzfVHm~B zwp8)2>l^uQuxq=+pm|)7X{%?6(Q?F?Y5+C7Y&X>qm&OY#mDyex5W`zbzO<71e(12h zLW>b^N2ZqdZp&qNYJL#O_-|>R-4#Ufuk6#tF4Gq65gjZ8ikY{}F|Xg+b!dGw5BXV)T)GF#t$KoTMJFk1b#B zWc-I`RAWvM?@M=4zQ{5#R&JfVK8LXVJm!!(2$D;(mU=5%!CVuA@fvNUCAjUsA)UqS zgC4T9wdY`SiU*=7a?^;_c(K1YbM4)DYv%zGwf<@P{hMr98imr8m(;$Hoo1Joj*u#( zA#p4YMF3~*@HI_gCwKzn(qXtw|V3jV|M%Wi0K!cI&vKw-q^guOt9H@=^h`^{hD z!kVJ4H8QH6M;YZt_8nHXMX|@DF)d$6hzL&aUsQTElM$eOT9r3Q!77@ii63aJEn=$R zyn&5G4Ch(nQ`vzryRjV`TeU9!+ID$VBD(4W|L`=Lz=_1Lbppnq5Zt5o6tAUj-6a9n zA5h>ddPi|WNhpY3TsMq@_nC@E)=T}vT#wIXzc$ZsXHU?&X}yk`<5M0mLVb}8hM1?< z#|mKS-=$3##1FtHe!32adCD#I`cr{KK*Wx>T!8vPpw(7ep7G!N4c#{O$DFic7*{m$ z>31HR<}=b(0p+b6$ZTjm`@X6;neS9mPaq?-r@UaslbXjwvOe@Uv*d$?(}TSulglq9 zd)d_JC*>bl8pJCb1n2Y3zr+{bJrxhW>&pht;i z#Zk{$)*RjL32#*jzCRXWZ(}6kA9YSrUS|CYJDAF=*Vt_mpQlx9HEB0yX*LP zSJriZBI zi#v-B%sswH$2Gt5O4Ev+CcCQ{0sH*rw6Dv{|EH z)hQdg8|ix>)A|+?60FVbO!XX)T&0Sop>z?@NT*ZZi1WRTInJh0ZGGeU){B8+r)KGX z@(+vZX(N{L%pfb;Q>p@GU%_k8`c-Lg(0Qb3MZEs;4NZ#!-RJG*9hYVUYGH@nKzyF# zwCTUGw4G+K%}+Oz+>zBW%zwrNdHzfJKIEp@l9BZ`Gfbt4@mgq)FW?{@gb!rJA14 z6|ezbC5cQo@p`%489qG3Dp?{e>5j^nNi!6nj2E-%5CZjzHRK@deZ5#5qQ>+Y9_?IR zRNxglwY<;p{3u`P)g9@Aen&Fm%gnr?obCfCqoypA&?YuxT2YBqz6Len46Z; z@-js&`@4=sn6HRUm-7he{o;x@fXv&M54?Fa4HAf2c3#O>kFSRxI4kBEjH;YjmN^zI zTN@Jk!l#Ft$!U6EpJ{QftM_x zBzZzkFNK=puhf0*i}hRVUfJ52<83mYnrH2+iZ*oDu_~o0FovU2+@E6d4QkoS7P@){ zpYy=$j7{HuR&){_@j7x5>#?2fwg{0l!LN;HW3-oAD)~6C|Aav7_7UoZb{nI?UR|4D zP0OTlWlJ+g&EqVM@i-|(ZhsN$e-bTc=)IM;gI3?TYk#FL1Gvxs`SL@)j2EY++PPG~LNL~zfZm-=QiZT+s1t(igk51QjUPue1exL=3~Tc0>7 z%YD1*n7|*8N5I#2+DjgWnn|2gQe&E&^OJGwBl+;hzt-w=y`Jxv%1aBJ66t@i7%$wZAKk24F>+Z3L2)DMUgT(*a_<8z~- z;?1iOp#K2;E~8+-&POHdX>__HU2Q30 z6>F~kQ-V$(8!fvG#TW>S_NWP?`dBG^L@3Ts523W03)l zVM*vlPVpzVWx$0MjXz=v)8lJ`;aP)jGGQF8&9o)zz;3Cxuz=6^E8A7UagXUmd>XHT z*=Q(k$R3b7S=9MOn&ERNfX*#}o%O`P<2TIFj|)d&A@Y}?-e5m2*d_@nWbfAW;mTvM zPj2ufNz3jW$`jOWBcACyp%bub0 zIxUgHWwo_Mc4p<#g*@!3UUSVWE_}0x;`eJlX8}EpMg&G)J=ZxgHGO%9QnI=?}2 zbn}&=uZy--1V%r7J=E!8E4dO(%^rKQCe+2WK!gU=l|SRHbyk zh_(4$DSF_=p%zJLUBXpi+tN2CUW!h8z@Jm?&c|Jzg0>^Hb8} zF*cO3O<{OmR}}(G+_K`#%L9hr2RfD}wFd1mb9WeRDr9iRE$nv!2gX#6O9zPZ;prX? zp72uHQFeSEwKdLc*H3v9l}s6CUWeGct*H(i2IM`5w9E$7p@btXyt_B)iJ zwRCV|M66!wRa!_}t`*&KLin3lCpj~WUfdM&@)aV0nZj@I>5aBtf}XCeCzUmuWw?u4YZYQ&C652 z=MFGVAOWkM0}TBkZbnbOS9Bkf3?4v?{WFzz8iHKL7XVH4%*Oin656HyBMU?+4nsa5L8F-;=WtC6|LkUl zHnxY+3&eELvj-lWEU=Yj1iOmqw}7!I!3?33Kj4-1Y{NsfGlbP3Ct4I}uPM%=>L$Ce`FXA>U-ILcp)_XU zs!-+1@kFTwz~jMnhCn+V{=GqoXV;{XSvjJZ^x4%;AG#mi1yS%0zL@2O?1!WfGlbdS zw4h?{s^oK#v!yP?BMkY@=y+(LA<*sqcofPGCM7D3`)$EE7jXeUmYN>vI|l}Te$1*t z5F!4Q@^OkFwI!7QYuXQGqNyHRW7h{x#7fxO+~&hvVscg4UV7AujyXg%eAZCYJbH%&5+Zt$dvdF1ujdi zMQ12~Y(>nv8{i+Tw-VYdUXB~5q3**#*!>nnc?+6q+yu)#DD^Tqo?Qr6&tMsT(UWIc z#<(jnXn<+1+mvyN*R>UP97E#Hjs*fA6Z`Z;6?0eSE*iZ(x=7eDI{7VXaucK<)7}2c zCX)+6*Sxp?!)}8QR+M6s#R4Fakh8l@+e0(wFYOzWRz)L;T=a1oH5>?X8B&0sF|E~h zdNyJXBQ_iW;!vTivIFIO>+4r>Jynv@PNh!IbVv@hU3Cok6RbkYVFqz>_ef0hO+D${ z`RH@omj~i`DfJQ`A>rA*qYn)cR)h=*mXm_b_lB_wWTsfnALxty;1K~JlEZ0;P(0wV z_L`eb{+4u((|_sh(;Y7N#!@va2U$^5VONGEWGg+*Q8?a}p{*1hXo?FY_De-O63KPDhUqVFOY5%sQ`~zWNqu z<5QZ|%)m+d?>~9vCFZX)gD)?F*rAI*Hlgrv|M;@pUp|wKik946GU5=5@l}naCC9j~ zxcIcPEjP8C{(TTQCl@@%j45tXIu4ZgqgQ&1V^_CsmoJ93);#=a5QgW;keVM3aU;DI z)eJ@fBh5tG(K}5sBwm%JN%lg*R`s+@tq`Eu0Z#I>f$_7_>V8AO-+Tj72y2jA)3l|781VbI-s z-_F@ghSodg`?BuZj+jiUl(>^TrvaF(r+N|9k*gxNL@Keu4neYnXFN-+(>F1e8}-to zsNdx>A?<5IR=ci8#fMn&4r)sjSm6DTk;}kQgmnqx|Q=7q5o6su?|2 z8ct(;rV-p<9vG%6$kUI7tGntcQrZFBSR=;xbz%)+WZVvRo1bFBkMNMI*Zj(MinR)r$(XH@LBKJ~FR!$t)8Iut-lQ zZ-9Q&%M7wp?#F6e5}@kj^Aod>2m6hm<7hSVnb}irLRZ`h;HwYt9GT@%n7e0;sh)PUO4~-0C)8!<_8w( zLv_RQ!@EHlMj@-a4q5zv#&a(G?iux3f>ghqklyDqi4^tV?Y8<{|E&m53vKsyUUwvG zPc2>m8PWuOv66jFZs%_DbGKo%0Q`N=$8IJ;{^Bt|uh`uZ22biF^Nm>`=uvXeS`mYo zia**)5<|c#6D0DES5UerGz(p4X;@b7o{eMyBVNyD=om>;h3g1E!exwG zEyC1OC!}Gq*LGJ+QVx7>=cv8Bp^8O)S4rZFYO#SYT=;sv;km@dXvtfc-s z{j?^)f$s+7=eG!BKT$c#w5=!jnWCREZ+L&Z*k?B;=l&#i>8%1;gzES#`v3^- zq`N&h9tGM*W;_;2`50HVKPZIR5UyGOvmp5YDlF&PXsVAV{5GMJrxqREsD+VE;TD#_ zRVO_`0)g>TLK8@xT0+O)wqBf_1iPsA+XrMykxiA3qUwWn`bnGkzqZ9TRQ*||5$>{7 zbq-VfUVQyfOJ%jG|2|;s3i$O1%$0wjdO*=`ItAJ_2{A((-TNTdS*OEy6~t9`MuX6L z&4UxQx>AnKjuH&5d%+kExASo6w70T?Y}##~Gymbz99jwiUhZ-sz4(ZYU1ZqjCey)kT+n)pC(2%mcX7^K45{wxB{q%y5 z)-&=M27KW|&1RmK_(bQsml!E{`o6m{S`4B4LKh-qWd%SUY1KKkT$74Mi{|QASBhd0 z(A6_l=GnYjIH_n&pjKVcigJIFedp&OJM0u|b20TWAh}kK0x$!R?b{NiQ z)Wm?&UvPhy8ig1UbD;@y@lRhc&z!`<3QR^5#c$+cxKx0?E6U3^hVHg43tZ6)8aM97 z#9UYljNn!buE>rArX9H2F3MHYP zcKWfbVDWH`#2a5toD# z_`9SKIZyZsUo6Or^?pEf8+=j0Hsi-k7CoB3^!qYm-AN9O=M=!cBe+TprDi-%12xvM zBykPbUJKefHG5P?~flh zjr|9Umc`^=w4}-Q9^ZB`YTREO75eANjJ-Y5x>x%jEOnM09FlE=t0+Wshfn5ITRe>2 ztYWMz%ipVlu>}R=x2QS%%kt|JZvfu|d64(|z1ASmW^#)i7|qw>Z(5l|;Bqb) zrO?;12YE#Tr1X{maX9Q>(dv zzq_ICFwtVAk0Rel zrwO`Gd_BE3I>_XL_mku*DH`||y0ST?D|H@9Ht#N`tJw9#`*dn1wn&ZoEi_okLdZlmiFh6bf8`3>sfBARAsqUn785;iw zlTpdS6AZr8>vQlcpJkLW)1G-CSg7Amx>SJHKYOXmM;5#m_#f5 z(%*-4J@!>fS~whw0pV8S#zN)tDRb>*8xg(HlH|pHf(V}ZazbS@HZB|QdP0651`u8E z=GZjVdXQG_vpihv(90{SY2~UtWxPj5bi#FMSjI z^pJsAQu+$IJUNHaRkjcYXTV6Vbv%s*8Pkxws1W8s#?UeviLR{`vDdM^Z`Z>P4ID#S z%om)LxIWb+!(OVCk<>Tcc^vQS9{siz&J_hNn@lU4gYB7X(wX-B51)lL>FZ;fE&LV) z7Js=VGsnNvj{0L^Aw~p{hL?GZgh^_;X7{~~r8@e79@|a2Hj+6Wd#F92pbn{nTc&7X zVoU0s=Wbuj-Knc=)J6w=K#Cjiv0Od!xqWsT(}RHvVjr#L1P8J1i1R z>S2+$B_0o;LTf4h+9~0`h4!_Ll8;qhj8-1OVs;IrI097@>ERlXcqwND{O>)+8Sggy ztK=YACf3YoC3_UX6HtgQ8TJDtO<4xt??eW|%cU#oS}OIy-`mKnrC1w85IK|Xs@INO ziGIEJwR@e&>+%S%g0$VY8a1{o15F(KP_0Fh;hhll2-|HJ+p|iyxU-y#uZxnH5%#cl zHFV|m*}L-krl|B~o3l2Ax2=d=uk!NjPxpIhe0?%UhOL;R{0jwM8~pvq3zRm**>DPYcK1f$;HBGxo7X`zaX1#VU;@5Rfdwl7ITN3GvHnjDQ6D5DlU^q7(TclKr znNAqG*s#RNmc!k`(IMjfH`lnSO>*-5i}^5v?{E8>b*LGsSnDyY6d!RSDrqmpDHCD<-U|z7X*e+g4S5@&nSeh(`*VrubMP^c#V*qn$sFK@z`5wH! zZVsr3vIqBxAjuP)9x6~pc@m4=UJUk7UA z=1`8VLr~gvsa$0y6k~sD^EIiKqjwK=T%fN!n@t+rtS_$pY9G9Y-GG+ymIignl^?KP z8t@EsnZ?c0PruYsO23^u{i`Bm#ir`1rLYX0oo#gJ-kNNqE<0keRyGf1bR3e*m+*Js zgSaSI!8S*qLsfNkdzm0^BF|;K$hxuPUdDrXofD!tVkXfhu)Mjtj3>gL!kNxLn1>#N ze|~A)g=61Lsd^RP(z)!a>u?boyorWdhPgcpe)KyB==sIxDyKt5xq8P!)hKZWQM&N} zcy|T4(9r5#5GV)wK)ET5g20Q6}arshJ*6_{KNlY;Y7*Jb*cxV0wn&`i0Lsr z>`Kw{h}D^gtfL$3k2cN|Tx0pYB{RjOlBUt1mfA@-1De0LZiD>$;X4N6ZUVIbU}>2} z&y#D_v-9t?&hLiZTiEPji&U9Ccr)y9@DQC> zwquBozLGM0w2qo)Hv}bldSzFwB$)?s_>%Lf(O9bem<&sgTK}}9&kDn#uvZOBXW~p+6Wyk_Dp$k~H*9 zgQqNXrgh&Y7*}B|ho(3x+FoR7|t~hgJpvsQeLCb9_(LIGw_BFQlKF?W)&0XEPmuuvUSd@sne>dKG1_Dys{83ZDdbV53zp+6h;n~ofWE#Pj>?!)V zrMKIkKOMqj13wAv6$PX@R%BnH5A&mLZELR+AynX;=_ z$vXC(rboM%89npzz+`2lO;KB>yh@eqjrTv`@i3bsI6d{lb!U<(S)Cj)m0hk=lZrVQ7*#J1sL7|No7U2+cEo{Zkv)a{|t1n5j;q%s2kIck@HO- z(-_R4Usb?LRFa`Ihn{?cq(xMJx9PyDM?Ns`LND{=7}et8>feZU{=Tj z!4mB7a!||UA&&GcAy(?jS6EbR?auSipWg4|WQ%X^P3&>~RJQ6>3I9^j!})Cy@_204 z;#T{u3!Lj&VgEjB_4e1ZyAAuv?^cu9U-%X#!`HD$3~7L|!@jRNfngMexRo9&^**(I zk9Q7fAN@QslEnZ-EWhcN77X$(yrY9f?l?gK?3GVTg-gE0@>F2FqERJ`wha-}Y3@wR z&CSupw^7Kp)Pf}=!$u`v>jhn%$4kuxc(;jc4=qdx+ug$EjeE^_+rw`;Rb&}~QBy-GAE!u{7C zByZBz6kOY}Wlw=H{}L%K1{kG%mL&uuUUMXu!I+&FY|lazbi6(J*#5!NX1`zmSKV8l zc9~0~$Uw*k7rsp1t{}s#2WO!X?#d?1#xFVFgPK!QW8O=p0z<5Ae3CG+1dF!fer@)( zQ%amFxSA$$pqzsFgBdWi2-4~4$g&dQ)mZ|QF0!{buBwe#n4nw>B*UjwE!337#=;UO z*qvChY+CKpJ^mL$SlMAprXtIWYdX>X4~9^Y^1y*+Pyg%bSZb}rv_MvN!NWOY2VQ0= z0)sF)vn&UO=qYWAvE{{nN7t81M8#_I%bpxXl&^!PG$)GKU7FrGsmpc8VtO|mxR6XM zk-Wpva(70XH`5%g1fL}rc`m={#cFKLmY}6kPhl4B+&OE(BFT12bdvR_CRZQ8BW=t6 zwVT(%3&}BVXZrcW!H3ryNf2R%&(4OWwxHrBD{MF`01wi!?tjV6w-l+NCycIT1OqxB zF^#^tZ>e0FFogcn&mhqe42@|u0Y>QwlnXw)JpA^jd zw|*N7f{|N)N&KHy3su?I1SEoLW`bBrSryiG{%^+|G5aRrqTxrgSnNOm-ZkzM7zZc< z`d;cC!ZU;i{bGaa6872Q&+3!SJVd(4fd3rEZI{l7BtZ0u6bO?{?)}5c^jU_M z4EIt&{X&%)uzVd`rSFIG+rSk@BH)W*SI-r!h!1*7&3sumyFg4ZHtbn|j6s0l#DV^= zrW8ZPpguH*@~1^EKfbf!(aU-{Q%&0rxIF&G$DI5`ninOa41rU=wxW zN`DaXwS*4g&#!{<^Duly5K#=Mjg?}uaD7qQX#b>MWpBaW>xq`E z(@G)GKUkmdxPHb{sD?0EW&b&V6?GC-oboAF*M+nyX@}z2APJM6#xTcl!omVN8V6S? z-xg8uZe4j}e9*lCJuR!+vn*}RHWZ-4>rwRw?1j{K)lGcC?>@Qiryb}wQ$h67o1)=d zOHqKW?wArc`niXsA;abLBAlgfQ|R2O+q6*K70aQhEa^E7!)b2qv3wd^2Cvy7G(8F$ zumQ82G-w7h%2hS!iu~SL9}B9LE0ANs1bw|&Cm~uw)pvV{3l+%d_lG$Fr?a=y&!{SD z-G;?y6(+fA?xmPRXBPNqRV!pwCmQ+4^#OC~69w>+xmq2w?j{beGPH1gvAenQ&Qk6( z;m|*J#u;$YQE*P#aHAL|s2d_#_G{_jf&RBPg1PCDjXM$RB)7^8m1y6Bj`8i8K*Ysb zf`^s+y7wIQn@g`h;LkMrfH^YnUz^+Fbajhx*n)%ru>w%%QD+Z z7071Q7mG(lfPVEWTgI+?zNXFXvOVm@tZ;Ky;psUot8Xn51zsgGSqd{{$vYFyq3VCt z=M%3?=4MhRV)P^Zg)$3sH%}S-BxaDTFyxI?3e0_p0KD6pP=RDaog9w>@7hn#Pr^oVSmw z{10y{a{X~>ttL7*cux8@OO%QwAFjbryDE!K%h#CuyI zgEHIK7vdd;k`|LEpkm(le)h%<#3b6aSe=Pp?9fh%lE~UzmN?yRZM!%Zpyq?N)qAN2_*9ZWGaKfHuhu)Z~MExZ%8JW z_OsU<@%PYEPA6$9+(2Td%y%e>bp}$w1X$#LN=$!4r361r5jJ^awbEo3{$Os#4jk}{ z13_odN_SFT2}-NnA%fyv*s&$w@)^!vIt5^(w9^f&sq>@OYuhR_7cj$WVxMX|qXAzL zzTJ?47}t0@=s;pE8pfteE$OJG=DlTF!=g$ZIld^^Eb!^cFuet3KK7Vf9=5OA=4wRT zahimC(ul}U_G>95XC0XQr#9zdo&K@@MK?!*4ZHj6f3RMbaWPYo4TaoIwL7!Hf0|n% z;Gg;OEK}~l%8Og|uS-(0=yDW&}o&nFf9w=AyCg#wP9+BoH2Z zip9$GT>38^UOrQ%Lce6Z@8ogWZVP50lDB9`9id>2Z5A1O2Ax3jozZkRo%Fj?Zj6_u zw?jCYB5z>?xrPrGN3vJe7HB;CVSJ08 z7!!34V;O8hX!cK+hXJj=vpvqb$8V=4u|+N_DM1M}>MH9a7FPIzBgpWI0be%Ymje&A zw3FTT*vhW#GA|>mo3U^=_2YjQAjQed$aA<|HHC;3CzWcU86VbPfAci!zrrp8DsH;B zhijdk1bz5^Ofq@=^6_&RuKKO^qkuv~+Z52IYJ+b$_(N|9{TH{#O>FD=0E=II8E!S< zQ>dT~@|~QvRXJiS2QU6CWHg|?8GRUan5Dm!uo7c-{!r8Ui1R&m5uju&m{A$R!kM>q z(*1yt)N-h=(6JV7vp7nP3p-f@xBY{)1{gL*h4p&OD9$Xf>7{3eI#l*vJ|ONnMz|eV zS{uAi3Tz5uw=+f*3RX?k1cfj^y^&YMu6zGH!OvcYux)UF>xpeyS@F@G?EK<$^y-|Z zm*ShHO%HJ%GbDUaGKHi`CSlG;t@2}vwxiqQN826k?zqU32imipoDG-@F^Bv&Ko^|( z$GVx}QSWbtdxu(_l>DWGSyMvIYfr#)pEM-Nv&G)^!bF>BEn^wU)vhA|thH#qHoLqI zp!c`!(WD<~?tR*rcMA8Th9>t;MNBdTK|dnDaMnDqQ(l$3FfY;1uQ<1SbCO}Epb6pL z)5_JB{)F;uNk~j6wfWCaRm6uoa(|?wV+H4%$IFwy_ z%{ts2aTb|Kbq`+fHgiIh!l+`~%b`P#M^@vt6!kx1_e153Ht4=p6iBhJ?)gZ4r#s0N zRsKk;Cqqv-dL(x(cO3)n#ofu!Q%~1!_bvMK&x;1_1&l;3wk+I!sQQ}pV@Zn zJcwAav9wkL(d5ObS%@C-J5Kg>c%$?A`?kE>+h+x(Xdnt!gu2$F@WAe`{Z8!eHJBI@ zP(tt2djEw9X0slEzwb{n{$^58FMyqCd+GcF=;^wYHJSaV^w5+Xz}V=v-*`)9`0R{6 zVGYJ?@77m8wB|j_4fGc9&Fma=Bmd)Pdj?7=5)`?r;%dWGsy|STIf?kt|82)UKA?Yx z5Q2wsUboFVU?vTsbJ%G1gZpMv2(qWhmw9?AR3T4{>FN@Dq4D?G&)t!g&?Ij&`j1{K z>BR?aFA+~Xo801cR~LZrojgz6hKjN_Izeg}LVC^3zE_Pei{yj4u#4mIpH`1b*V274F^Ac!Ez zl_dr@&aATa(Sle!Y9eL;*PB^5GD32x?%K}9mu+De`s*O>FpW66$RRS$a4~PMVp@jV zDL{Ozkc-QtsycLLMkoSL)ht?wk|5jo(dA=!1^a#UNT>>Y!=6Dt!(^(K(mu~2;&^m_ z5>ZCu`^_Oop)BveM<@{>${T8E10jiV-*17ai7^vgfjMQ-eIwHNfBWxp&&p%g-3xLZ z*FiAFSM{%6@d#3!6A3#1G&ZXj6U8()Om~cf8~0}aPQsNkxh^j~wI?Tw7N$ff#teF^ zPFC0^@2av*Zm81|s7gmg;f{GW$?=XglXhzXr?L(a0le({rm`Yr4cSk-$yDY4kBaes z)Qs7Wzsh3D_u`Y&rvCh&RfdPT*^$V?d>WdQ6DXxkmxN_D+>ST}SV@vJEt0{RahYQhh0FX{ z)ljK>?F4>MU=W(7VtH{<&aLNU6`zqD+sPQrptv;U&#^C#{^oAauY^BktS`;-1Miv= zmm$NuJv9A+>!fk%zH0SG$aLA@?<0CsK9-4m^{AVsr~$2Q0A#b9`U9k8#n~Af>Lt?)AR5!eMG5TxRl$QDFuFC2CCPYlv+G^0VXs_;pBN^%z ztKW2D2yzWt2}8VL+-*#}=NL6^Nqf2wY_=>7uf05;`5+a6dzt$~AMVKWt$GZjc+-Ac z?I;v(87hzd{Zf{Fo@tAEd+5A=C216mH)XfjbfNS^?4zWU_up<72rKqPT=p{?O-~_i zj)^upKk6AtBUkd3BHAX)=u*PLx5x1&voDJN!5WLfUd{iMPs!28x%~@3c;$LlwXmn1 z$=DEcJsVHs>%o|(bp7qNp5ct(YF(pdS!z~s(*8(rPm2)h)#VIoC6~Lny)Jj$2)X`t zB>B`67!OH5NSKTO$3 zN^hiww55{peeAur`c0oT(&F2lDU_~;aD((@e#f1=`fec=;UWU_y@$Gkl|7~6L$OIz zer8w<+b>^&t4{8+AbO*8!%fQAxKTZtVa_VaOlj|;HMHfP>gt&D0;K5<6H)e_u7xNP z@RZ|cIj)78?pN7Qqxp{B<08tNDt#D4)c7KoOiyC6+TNjY>@T2(*dI#y&uzZXUGp*A zC!8N~^q91}B`(^snq&&IFNRLw9m$y)x$LyuZHRQx(e%avCN{w{AJ%zZxG?ofV=Ri# zuMebtY8%ihMaPRCsDjOQpx<@Ma|h4nZp@7?hRwlH=4L;1g%usKz1R0ndd4%HqANO= z={S5Tjoh6GV~JePTPHbZRlVhIcY3nOxB=?Rgh-?uqguF;!mQ(^LcOliU7eVhQDQ)6 zFKd7PNn}(d-yQS#KUm59B18f64*y_{w45I*sbA=!;dgNOy6#X2Wl511-M9Qw z8IUg=+^R_It@3@-04%pi)_Yu+8^f)B!FuJm=W1}0uwgHt^T^)neE0OpDn|_545i*= zI!$vmt3JPkfBepi*)Tc`;{dF{H2Nu`LIm~9X6(`1`@0=jj@>>Co#fr3iy)}jWaPCh z$U%aBHvbUfQAvL0QGck^6m#HI~6e)?Xo>gr|YL}bPN zr6?L<0BAW|{>WUH^e*z!dX5+Ptz6-Q>M~7_YVy!UD|F2&*j=n`+=8wrRa6XTMY%ug zS`S#jG3uvq2Sf$STaKR|A<0!cM0p$0&$N-`mzHb-BVZxtGSQy+3G8Yl?`QAeXI{=Si_~5bN-FX)`YDkJG);4h(yA?O1CTYYf+Cj!#Vv2_6zhlq;~iX;=%Xl z@QE7x085z12dVk;{jp~c8jdU%i%N^?26Fu@V+ciq+DopKqfXOcI;F09{^*UBd9!;3 z+x?o;FH*Rbe;evs+ZiAHxxe9_Dc54eWO~G^2~ye;L?$2B+gsD7$I)*p4$q&CU-~X~ zv(Rh=A2XbB2VGSBu4%{i(gSHe44*w@5%S30iDMwYRpo@+nJXt8QS5B;gl-Q|M9{(L z4?&~($!^G3?P;r;iC-*9-jefJw>+2I}4OPmQYu3J7Adm)hup2F5O%m7eyH#64GARiAngD#An&F>)&Eo)wD6J3V!6%8GUa z2$Jh%)eZo+Ga8ov!HRLaw|$wInU=gw$>k=l(h`@|Q?k6WsPo>cEmQO@LpP%thR-&% zDniRoJDjJvsm}ETd_Qg9@nT4FsTUz#8L@21R0;_W?XjyWLAqh;-E=x;LBDYdLrxpT;8)h5Oi@G9f z7SW{BGnf>VzqWnF9*wb8p+{EVb9|k7cx(IW?$_k2BVKwD>{LpauRlYEo~Z;3+O=RA zoM)iCqi?od|2+k01nz0sG(?2vmOF%}A6?V_5S>aoGo|o@uei7|E6tk4a%ILhfD=ez&D?!osT?I#x|7`X z{&jopTJ~La;a(>IaWnpkNu!;lC2(cb4>Z zW*K6lQ0!{P!j|^@L>%u!nACMD6($qjY_<7>B5|6HDEvN6`f;sWSIptN6UNH6W_ojq zCtrT{y*@UCR(PeYb|!m^CLi~n`KhS>JzQg46MZCGPwrHM zit1c~!7LA2u0*-;pq>~o1dsP&J<9gLo~XyLLE=;BfKqSa#`@o1VrmVmw#^up8CJ~p zZ>B3kF`ZVmBn-9|;l9dmml3Ys^+ku30KH2(u(5x|xSKMt^Y$aPL!4dmRV+6-nLD5# z(0>AkbksV?4wCw~-5`CRqZ~VZtU?6k-C8M@q#a+eG|Mk9$9PD!e_4B^;itE;7(k-; z!(>tDE+(GyEa-0d_;}?P!ZY&iSdMU=ti=?q+rb-p`07|d!dCS#SJ$ZExnPxicgE6I zC1BVL6jXQvugq60CQN?g?d@D>(C_Lkpez{1dAy3g)sm_&U)U4&cf+X6%ep=X4QA~D z4gdjN!VARZ`+UrUG0PuFSe9-H&WB|_H%^_b?3~Lml^u?eyq6%jbW`lx(DtcxS6128 zo?>clft>@la(~kYHZg=53N@awM38FMM}o283GVoqV>2!u|L@VCFLIM(XUetO#(x4siPyHYD-VkBP zKJ_-ONh1S5PaD-ageY1Z7VN49`9{i z_*qZmt8hO7lafEp6eq8@fep)40gv&1<#WrrodlBZjHfxi6ni>FOV2N^{sqgJNDaRH zt5WFsC9P$mhNsAjMLo%h-}0MkBfY=rlwA#J5GN@cQIMTZW!<2~g8TD#5MT~Ajs z(zRuK5_hRo*!LZ`EHSA%aXep7N^`=%uPnC&swI*L9${mzrX2}3PZrq-r<4)CcX*>f z1fCWlTDuoeGuWT;+!64#dHOfJUT&v{#so>VXZz;{_mk$nnPL)~VxkG&f|4if;lsEr zdFsgj)~5e|q6yOxLss(zv%eWLlc~Oc`rqr{b+6!&EZOJBrV*I@A53atn?-xt zJt?NTIA8CXp|Hz$RSxZzqZG13)S)TB`X7fFCAxM%9en&}=7{z*tySo%6y8j%`<-&L ze>4Z7+5bZB}sl(e$AwGK7fy`fZde5&}Bh-hv zSr^sbu-Q2I5~!1YQBcD=aF%P5AkIZu-_8+=t>GD?&(jZGK`g)}k zlJRZ$4)6bn?#X(Eg`#VU~}Uc>13sE%%u!UGlv zupW|zzokVe2-vFHADCHZ;*QxB=-RpI(b#95Pjk%%jPX&G_dkCdq8g(5g$)ZYM*}0> zP%jxt{FyO7Pgxi)T@2}|Hd()Cw^!0?RD#Nb3_%a?-I=Z)w*b{pjhMy~TH7j{EMm7t zlMpXxeDMhGb!z%nq<#c*L4E%mk6c7agk5df?kd|%`>0IgV?yjX-SUQ$mU|H|u?|t7n_uO;tA3KZ#Gt9_5yWdZb(O|4e z88YyFP<-uwacFnPlYJBrlsB(w$&zz32`0s8FkI0yE>K1vfoNX4^AJ4zx|EU4WP$Cz zl_}Gj>jp0luH+lb8TQGHXDFWh-~(xS_eIg$#V02{O_v(2^1yxMxjrvtR5N2%jAab; z%=1SXA@%$7XR{)Y-n$Y}4nD+}}UbuTwN-)x;6O#ZMN!xRCR8nG0;5$5$&;Pk4uF9~(m>6w68 zi6anUTWV?2@DW3s`67m2+n=+>Fwz>6T)}5qT;HA+f?Z9zINqa)@z*{*{ZH9ZjsXEDIJ>H45?q6Ar(H+FfJoZxA+LaHt zDX|8@{h0xK{Sw;=rMZy2wcQ?y2Xjp4a4M3%VZA@-yyj8;U>|AgJ-5Up%(=a*_469w zAjX&MJxOS|VEK;58tB=z#9$xS2X?9peJw;kj!KU!VCDOrb6X3Pr>)`GN9fFUV%DkW z@QkFiutsyS*I2ld&R*XoOg4c-N!D>BOfNg8ZX$GJp=RxNX76goC%Ve6M&^0vlqsye z$N_IJ`gTp{dqQow*=97L>CP*eF>0^x7zs^Rl@_vOey#yXP9`VitOH@3h*`sAY}3ihxD#RNFl z=BxE{aesM=_@jkoZ1piRsE4?h6$?N@VfMo-fa!4j(8PT$AoC;Yz1NYA-l?b`htc!D zI0_SMvCCqL&=)rQ#uNvm*9UBX$mR5LWlY=G0Rf@x!{b+uLZ~Psw zxjW5?Q5lO`R_ea)g7jq1P3`Mc2RoPNBI`-fx_YE0ZqNh3?M@fc^4x0h((XuqI}~zZ z1CCH_KQLK5@XV%c??=7qgBDGGNxem?->PWEt`9;78A01d2n!eCg`^&XeVPD&XLBM#;7_RCL_(%Vs5E$Gyo*U@GV zFC*px=US7u&dS_w)>X@$qs=L(l;-@AFEDDLT*vu*iw5T4e5OSHc-@xV)C1MOIPdM? z5gW4vV8)U0Ge&&voykxsivr#+2m9;%MvHQHz53d;;mqLvQ^m%VdPcc*s&u>f$*dR@ z(75dP7Bk9zQl_MV@~bTTBJFr#1?+;>(tBKjt?G0$qKiDjl*XrSYj%7_#(Gc1Fa&Bn zbrJf#vzMvalaD@hPx`sb%gz46aQy@_vYLAenr;JsF5P2fV{|Ot#4OEXpmcUT^dcH} zgeND2qXP<9lU8x~70$X{mxwI*5uspaYl~|{-!6q{Z7{ENc<=Tef`LK-nP?ax! z$Bs`^$9g(sZ$S3>WUfzq_vqrYiA5}a=5v6UN9}m3MjxV@G&kI-EL%Q5kVa8DgHTbv#$_Je~p`ouR2zHT-{{$nL%`${vU!Rd)YJlHdKI=T}{Hx zn`z0ura}Edoqz8wagl_7AkmcXcR9n}*vPccZA&qEAQA0)vq{oQ`HMem-{DTVxdIh# zk)#Ee>GsN#O^#U$D?67DkajD!F6sBNJ4fNzCtJ%cUQ^sW=Zy+NDom`A=1AnY+>%rg z7&2*A-4_XnRxp=&b3ajn4Acp(|vb}0ANXc2sVHp?IQSb1~q+3H=j!7xag?YJ>cSIsA~MFkAf(TbsrXQba$zxS_H87RHA1#T~$6R*k`?&WAQ0<>nwV@ zpWWz(n-+b}lb+rjn5LcZE{E#)m;CPtx1#6UIAwb02ZvoV>AZGEU3x}|mf1UF*4O4u zZZkD|6{6WRgpk5Rg^di`WWcRRuBiQIV*XPzGwG9!*I1r|g=QH9gq{fBS494&&^W$% zy62-C(u>x_+5Du&%5s*?)EI?5^*3Re&EN=5t=h&%F**sdo{Z^pF+;s9nHsj_U4E>! zV|EV0gPu=rr;IWWM1EnR1CYn)4B~q$gHfMrD@bE_2eFgh-tM=ygI~T_G}U>B73%4J z60`i0*SJvgW23s`l;>I6Mn#y zmm2Ug@_vqhugedr>EHG#vJCx^uP;g@!mN3CA3BATtxS2%93~gsmcG>ltrYCtqOd~X zgBB~SW-USHcUpf+#**_TL2))}~%LqAAy zYIEXT32docJ0&>yy}r6m1=SZE00E|ACBL;7H`etbC{K(#Gk+vzl2)@`Z8RMpEMTu6 z`&p&lbdI-SX#DVe)pB8HIGnsFbcFMsynpQ#IiH~1g& zdmWerKyXzfWK_Ks`#u}!TdAb-yV4~9!rW9e}M4yH(hb+Ko=;9 zV6R-IzO&dpS-cp>u}`tR)t_&P#S4YwgYreYbI!c8>T`dM%YXeH%0cn}0~Y=x`TTEa z;eSxWf4)AD;bFyjO8Yx}{oBM>N$+(~TQy3%(XrG@JlsvkUDUdCD?BM370@2csVcU* zacX1;J*MwXP<<=zT743QsA+sfx(a;u8|!+SCNwaI6jGW|EAlL&8@AS95!_pkhSwsL z>mes2i+!z^6B~ZjyC4ETvfXQFNcOCcPCic+)p&VrZCbHFUnfrd7S3HYQL%2{J2GPH ztj|vXD9EwA!DVI(TC555i}sgpr--hyr{jOouF*txR;b&MqK6cb?9{%^#LyP)Y8dwL zeU|L3&#H=l`|;+UX4J3slAX-EmiGiO zKs`%e45`;#uWC(Wmc{kBNZLn-uL?}i)3TBi^2ti^!k&?pj)gw1=upAN2cK$=57W9+ z)W?}eB!}GH+X*E|vvn$TcN*LST|CZUq;S^UD&IJ#-o}@^L%u2=>>Yn`LiODJ&*lXO zZ&^3=lZPgaq@SFU;yj1TJ-M^Dcs&c;XzP^eTS4nnlI*UG{mGd8p8<4>X6&2HM{cx; zW-tEms!%-!$CORGW+fvwlq3^Vc(Pii&t6gXL z81n?`!lOG=&HiG4c|w6rH#t&?d@*Isl^({g#?25YnW?GYLCATloR(@%A0lEX(2*y^ z6Hj|ny^P^QTe>1jm5p~hz+W1)por}y#VEI9nh+Y77%NyKSo43xPZWm zojxUHk?5Q4?VN>6zAX4ogAbi+nuA{3PdPfgNI?T`8}a9ifri~UYjQSvC#vNyRez^+ z+5I9R(mf{0F2cN@l+vq!(|o=sY+ zf|S2)c_kp~Jr^ODdt~tB=8lo(uN~nG$)>4u&?D;jnb!=CIe|XqkxhQm z+g>wKo%+S8c4mgh`<1DwhQjI_^1ZB1A1H6dy^yI9F<`|juiOWEI&q)jH7N_0GqYf( zPy$8UG@jR+8QuucHzq2SnSwI|fx?t=tg96c33MUquy*#_k=wcM&Ok5eojHg$9{DLvIPLn-w#u?nj=E}^q z41S1uw2?hq+Tf7Jy$h4jf{V%S%XRxUi->o+0t*K)9vHQ2?vMbi9UbB0wUN z*b2VaP?{$-TCn(>kuvQM$iFW;NleWW8EHHC5rwQLk?en(iEVgGfc+La9=vV{$fCVH z=@c0|PmPhp5?Q(#{_;$9by$`Kk?R9tKm~SswKAsl9UYh>vJ!M4RsIbVLH*jo)w`Rv z%+bg9SFLWIaS4walkk`trsc&o@K~g5s)WrJ@#H3C2ELF zPyzqo4YqLc%vrWgfd0_q^c}70KMMm5OVHNGz4P6KtCFuNQ(=y++U^AL$tmy=JI4b|(=tLWM zWa~E&3{N3(C-}+#;=I0FflSZ$os^#t!?K(9p8rN{T9z7m^uDR=v)xP%KJLf`iaEPY zmNCjQeUoQMd)ai!|g`)StgY)JDv;A=kG%fNm`Ge`Ne^)dgR&fd4piuGlI{nqYt`+;U{IGjkrrM4Rf7EjqclcwvXD|!~rSt8K6GhO|$shaqwA7W&d{WX;`bfMG8XGh(a^5*TuZG3AJIKum=7m8~=E6#xBskJ%~ zB6?RWDoIq$@*H#&e(df4ZOjab#po0(!m1*JGdX=KrYOj}z4AMvzB_yLxJ*}9#SoLQ zUCD9IhLdvUS6BwDeBEMEJ5F4qXnCFhw(U}v6z3N<`?0CFAK6)_rn&O#P;LU1qy1CH z{w}wpY!-6_1?O-7umA8~gbk);Uxi~5d706%pf7D{OIe-6f%oW_{QCdYY3L9mK=htW z7OB4#AEuSeKKI)y`d6&i=sZD6=dtokg-N z^6thAb*Q8|$v3;r&Kjj1f}9i{L`n3m)}iJSuCxro$QdsC4PKDjBqqZX_)QLB$i?|#7IqP zbEGJ>5-+tLF-ukv->z+U)@^s5U1us!?VtOK6Wt20@!EZPB&pHkL<7xODjqIYnY8@O zmJ{YO;UEA{|IosG+>^eZN?LAvck>s4#K(ph?%Ov%=~2UX)gDS%wQP8n8BWF;rKior~W*f7)2)Q z?4g7~y2B^YosY#GAf+yvfxMP(=Ij!nw~NdA^E;=;1_On56tX(8Vs~EkL*h-)YU>2S zO_rY{vR9tg&Cx08O6fB1{CvF^e$Jo+=4;O+jC$Cg-Ih2|$~6A6B`zJkHgGtn>e;jC zts}OYIsX?&ZF1kV5v4UfbRFw7rng9g_~Axt^dZUsaW$4L7hki~vv~9yT%4(>yy+M| zE0OQPB|mY|8jJXLRk`zTjyjwR*E5Oo=FP)-Q@exNqUhOvTLN$um>Q=5fL zCa6EC>4ZlPCDE>NJ4(Lu7w4GcC1!UN!);7JmWfsrj6QFAeQVR;!+FdNb?>-_VhH(H zhNiOD@&o+wJoJ??c7Rb!Ty5^Gb(QHaPPFM{uM|~FLnM5(OYhU^Ks$4!L=N}92hPJ2 zTMfWLSUFMhscEY0cXdq|JuyW`(& zx}8BWS?cl@A+li zrsU@B>gZAZT8mG_%Q>z^ks$VfN@-wew!jCBGGj5aoMUz72^?e85reB;CT3wsy#|{z zAdmD*8nwY1LY;To(n$A=ratAAMe(XTdd0i)*pDV-hg3TpXwJJo31|=+#r4Do;&S8k zv;R3V{^G$WV^8YAEH{z!t^z*a6Y~`s^#%BKOl&Q#XvX71`^V@MM)!B$Bbb%r23JCCSagK~NVkkXf5|n}~oD$FFR4wk6`xv>lujwD5W$xC%s{KZ2V1}I#@6C}# zgiv*gTCQWhrL%is#2Vkh3Rm zF?_#<#&+Qc@lAaWaOj;s^;Yfi2 zkb@^>aYcLzQGWSWN^oab)iis<@kl*yQX+A(3H~3c?_?SIIA`ZTv*rU2+1ZW+{@#Z$ zXJ?0H^X{Q<$oSUI*u`_nS(#0gEN88RjafOR^^I5~45(r%yM(>~TT#5@RDEhgTGM`! zS?P(onj1}Q`hsbgjl;O0dh*xyh$Y^RSqRVS6+-#f^obeFaB(hJYK_|H0E`vVN`jGC zEq&a5cB{H>=snD2o$xvNHC`ev+Tm3%_-fc?GJ7c2-kIaQ^*r;=fIHAI%7LawG_Fuu z>4<*;5_ix%ysmwxiLUvDy2~epv`4)@Dd%Q0f6@#LlZ)JSIBoQ_GfU>H%Ze@WHyd4n zG$L%nb_gSLBZ=13T4Ial8HwW9F3%Kx3fMHwqR}s4+Gi5Z=rIvHM2cft_Hnu5%Y^MK zOQYL#jA5>TLXJ>P>7#9v*uhw)-MQNbWds_Nz+4Wg+QuH0j&RgGZx%;p*Ey^n7yy`N z>~7L=s1i|U8Gq5q5=yH!MYkQvX6wu@1C9zJe`gXU%-5}=m=aNbGc@2k(^59$N9qC6 z=RUEDhAXa|%yft2`4OF9<2!6xD^+3>?8v(W-avvR8XeiOlDW`$mtJau`tJo&KTxUR zl~S;2fkHoN?^cVs%6@q)t7$zBC2GJ{(_3$$%|W44nh|fh2Mj#N{$Od}7v5SId%KB0 zT2a@^rp%Fd*&#qZ#i*e*RlXyBX#$0o6uu3J1|ASx;4;Fhg4DyLA`MD_mE`anhG0(E zw`CwVipE#S%yD{&ZV;FP$9k!B8^|SMH>mK{)&F|vqJ=J%# ze==X58Ch?0Rj6O6j~niE>}cL63@?8_15e=;*!L+5Yk2j8NWg(oRsq9R zaSUw6XVQ6u#Fw0jm99ZfmM<>}31Gwhm^-i%mnfoby~k1ec1#0(2>L94X;87N5UksT z+n{AY=!5HY2Jza_d=bS0Uubn++_~@tQ5AH>t{;N~(>lKF{EI{6@t$K`P~XEGbaK3h zR00x&HENrN?0TxCYF#?qMI+voA11@y-niaORaK>S%vc1(ykZR$ZmLB1)`pk4ED2yA zZMJ$)$=#S*Z(M!HH1ZP+$t~~n!fbY>XnSEY$EV6_RGuqv6Mc^~D{U z)+xX7Rc%}jbVS#O<~W|y1E;Y_)n0e?Q;P=ZNp??uEX7Q~n#joLq zO7(PIjT>%Y^n)j$qFSuDE!XN+m(cNWR|84DXw4)n_w?~9YD4iAUhM4z4(K-0&wf8-`RKynf~a{3j=c_F& z@_UNXtFq6x+Kl0AWVyP^ImaFIzATe}I5pO}H~ey{*!P*p_cF^aEKiiYY}FqwRuqld zw8^DZ{=(^HSho?6iX=EFZtZaNv7#8j;%j4#^-e8J_jN-|RTbD-QVu?E{kbxa@ifv+ z&x!80a1-P9Rgsmo`A|Ak@=6r9Fi%oegtHUxeVlN*La5>^^1JKR`l9+RUpKbsCs1H3;kWu z8Cb+vC;&nXDuh(Jmq0GomlyE7O#F*XL3gU!`%D~WV%nP8@*^ZbZR~(Cu@uXakJOaL z#D!er@zR1N&Zjmt9rd}tIG*0;!0o58a~+shXhM9EDQ=*z>c5^K3|NfTn|9+C86*2t z6sQE$2l1Q~$Q$liB~_4PSONsD9z*D2n|VyF1nk5UV!r-MZ39(o@BX=B{x7epf16o2 zasPtb&wnTVw~gk1BgXMrc_?tcVr3&=AyBy`FtX+4on_i7m`kdetFOHsOTsZe4^mX) zRolktoNJa%+f*)004)tjiRd6=Rbx81-+RRkK$rit{x5 zo<7~(&B|G$BRFGHlVj>#aBEemXStN}oB%V-|GdJFKAaFJ^x4e0~ z5TQ;2TU$s4b8aA)H>9@aV?-!{CLS;;(|L~dh~f@WG852@V7U!nPF*J!21~zf4n3K9 z-4!kD@Sko7WR;9;XLC=A(`u>4^fDIwZ1c=xJ>klX4KHa;w-L85XM+BnFWq!?e4x<1 zK$VX6OG;E9Lq<@TwWF~<*`60w`Z^D^Je zQPtW=IGl2xL7jJ6eH&jl4^T|pdse9S*t@7Q$d3)fqSxTp6e>$b2uB;UHwN-e26 z%C*{L=h_2pm=Ix~Btp|IjR(x8VuqS?ZWuuke&QZ(E3X@Bj;l8k;c4T74*d+=g}6*2 zkJ~J1Sw1qoDkE6S?;t}M3IhambA43>uUVi8j^vQkskuM>YeYUf_~ppZGAFRZb|KtC zcU^$NPIFBBXIYH&cgb~JTzi`u6aJ_8z; z)n}5xyzOjR%R`J>OU=)IcT0*OqNK{IVbFWW1qVE`bLM96ykJyn+cjDySXWsKF~C&x>3XwdTvMp4NxqEDCwJV~*)s61R8eV8wfT*%n^ePIJ1EkcD-P|to`4GW-*;6CiaPj2 zbEqv$@R*~$?;wMo>AQ|r%6goho5i?wafaBX!phF>W|IHfc2J7d$GYlRJ14~=+Kwu>fEm}NY*T}BSBDwhhiTl(1yQv;hjwt` zj5SFqU*FCVN|x6x+}n0s8Z|**TL!BIWp{#z&+Xj1`gnyJx2Imj9o>jGhKFaAIrn1- ze2!Gf!aa+8erkL#o{o6#>Q;ZqM2S*OM-bm*)R#|Fc$g**Y9+svW&AOUXlEeP_sgci z*dj6?crt1=kQDygA%kxw>#5B&iY^_l49#TkZy6xmeTAY)|zzas{GP) zuql}1eZHM`_jImCpq%ROO4(eV2S&aq&2`q%ub zY3c{#X~muwSB??gL2Hznd8irw#rdAv;q|4;4nDWsR*@7kGU0m@DSA=*O=CJeSz*cG z^O&?lAbSLh=Ct8!f@7f&_ti`yqu7g9;vJ2byFDW>R+4B-7bhFki-_19Ec}pa;<6>H7=s8@WUy&M(XX&5On*Ab~p$Z3wj-e zj;00p6lam0R?2O`c;1qm;L2dL#A>wJYS=^H%#Ld#Ice59z($0aFC7H4t4_{R(fO7Z zFlPB{UJ=%&kg{wbvj)_h-^R=tZV9Fq5!JJXj#%?d4o5Rv$e&)$kq{t^T#pBPuuoBt zA3|IzM)NXF50C^W7c|CC?vKKpM39_Kx+?5{J)Ie7Ojqq|*3&xI!doBtzEy&UreNjUY)Q6j#<+&x%TOyxu8X9PwS5ZW!VjK2Qe&Q*u7g^s z;SD~~g;cE(pmVD6NN+YnU@s>!&0ui3`dxaf5-16}@fFIvKD85`L;clvLqltFHyG$D z(Pyi)>CVe2P}W$F;#N<&$HVNDpQe%W9G9!hh-ng|o@HQ7*JNbg+_8Ef`U#w@W=bk_ zq7&5uvdO@ikqld%oEuP^w~u#-iITpZVVphbL$>s5C}}ZTzMVY3Wdnj!)k?(*v!wJ< zecz_Y<|1Y6Wh?VA;WnC@vxO*Z7$P--cgYU+ROIKc4#qhbrsP9Nyo46&;9&nA{e7A6 z&o4$mF5kTw9{Mrd%;a|gB)R+Y-BtnkRiYR7@DE=3t8B>Wh_d?`n6$i)0VibsLs0@D z|J**;w1#HHx})exYnXQo}S*v*Bmh1$B!8 z*$~tnI3$4ru~NN7vR%?WgXP`k{FN)wP_v{P&>;}HD9U~!zMwQ$O>dIF>%lEMw+RH- z_A^msX1e3K6J>;d*!cal&n|>~Tg=agZ5Iq>iu58N8tqQP-CR&=U|Mk*Hbuh3kyD$d zKnCwi7zwv|^IgCfX8cA11|4WA{L@-9Er_S=7FzNh(4xge5IJsGQ{&Cp<=c_7?2Z!h1Z4DgX|GxY00RMNb{~t#*qICC#FF zr=HO)S$;aPIq91Ewy`P^f89w|UX0*L0EwK93bpiP6F9d!->SxO z9^M^OE-MimqaYdMt73>4MDl#G`XW(okl#g05BDJNIN8;q|5We13D=Ls)<^@E_Q)J8 zqkLI@wa+wy$B)qxF*=WNwHKt*j_iI?(Q_n9^8WhK)9&sX=!%+16S_LC(Tt9@3Bvn=CW#erXR0KeW>pe55bU@PMv>u=o$d zodxG^6wsernfFi9 z$~37y~AQM!>_J7Ayq?hJeV1nbu&#SN6* zleT{()=k~61F4LV>$5HT=23d#cJ(ZXb#RQMFCTFFFmJ={72jEhztT`>!)3{s?(ygh z7Hem4@GW$X>TLG3?BJu)2mB~T0w3~MkTyZPi{t@g@nnU#bI-7*&F^le6?u7wk_M9v zAE@Ng$mAh&vV+kfC<&Eg#)h`Ri)L+?CH&tRVSUS66&q$#8R>l|qxcxXX+P%WOe&9- zLwUP0B>#ctO@Etc8+JF`Y+Lla01MukF!s@#DE&cG;}9D!R9HRI)hb61;+yd0ubJS67<5qo)&m zfJrA(s+ydnVWatKab2s4PN_OoTrzAGSFM_Gobo>xEjjm&6B+&K;s%OvmSQ;;32u5{ zdRv;G52tZ-B{)QC?$!AoWq;C9^rWR>p3)?KZ%^&QZka8~kL>J*5>%5`!50+@(7vg+ zR-oO}`B}7DtMs*|r0g(4ovG5^%ihjRx~A{z!_QtP;wM~-xe;t3>ls2ZVid*M;l;SX zN;&0fi_q~RkoxkGV=DfABu>0{;1Sa2-&%imNV*1Zw0^I$SO0x|y=t!S*gfoAEvV(0 zfIhi%?vhDN)RNmHdc&?gDAKaKHTBK3&b^3im z`Z|1e9`zcegiF2W08Ui_?aT|axkH-+s-D+bxD>`|I)l`-{VC<(N={;tI(4mZJ(9un5#X=*K z41|qO!_y9ovCY(Ro5Rez{0tQ(D6+!m)iitV(`TY`uXeS*0*n>i4B8h_d=!-NbkTkE zw_zQ%@YN0$4jiKdNKx>QAx~!BH{#KmdO=!|9w}lkw1V!J##Ply&kVf~EO%I*(1+}0 zT}Y)Cz-_J#Te9*-68}TwsMmdjMqlh(!-En{is84ZTIDs(-<~!VCuz&{9R=Z8w3wsS zQ6%;_HY)ix6ICsY_0Z%|w&_un|IS=gmvj3yM0dKSdrjg%dpO3JZ9pmMheZ5wU>s_S zi7P|hdfP`x(K(m>L9w7!_d~a_oEOhzC~U~cC^(D$%e27i1SNKD93{g@O#&IawJ*HL zQ^{E^qQ2;_Gz=s-Wfghq*7HBpr$?D*&(!D)d_LATP6kd`uUjQ4vvhGiB5ESbysSG) zId6TlWKH7S%|pDn2MdXJ#b-(6tjR3E=LWj*_{gn|C?+!B%^Yekg4<{+nq&)I*j{3ZmwwWr=3+?(8+@`Y7; z)^zxDYp%CpL_*?PGn<5=@C-e@e9&XjL|SZ4re=T1;L0Oq(b~H&7l2LI9>t6AIzs~r zd?6WpkS_Z$Cc-*nv_h%g2j{4>L9Myvj<;>>D4620NDmLFdy+L`5jwAz%D~MpwGnsC z_0f6X@gQY*R#NL?&b*?rG01Aeu;R^v!HctJP4?YVv|*~6MOK@E4S!CV@sM}D9zh#1 z#rboxIj-7%vYeF~6?4}ov4@51zbH3X2(Zs;Lj|=bg%sR(Ywq*!duB-aw`BiQ5YNsW zw(rCE9Ua^(Kba4eMc##y+hjax%Gl~ST=_JK>OlC8gJpXd?tGhyYCGE(G_;vCn4CfO zs6Qe294czH(ok`Z=cR229Hm1IXX25mPM_Zf+nv09c@fV58?TJcs1vHTHnTND-iE?y zd}e|5-(Q9YyN**cF&mrOi)Xe|S)7jVv=5ftRn8B?1pQx)+!L6k*zH2uhn}t6L%aDJ z>%@Lm$CUR-VMe^3MQ&ifu^e+zy6s0&=am5YZ17&UU?yBip}zh>$+kO{I#W!$Xevm( z8mc_2RqA7XoRPUUJ>^ooeXfgSHL3a$@8D}d7Kgj&ydadFEdlSb$+7cJ@Z+;_OR?{` zHQ`0R^{yjsB1@ppaeMNS1ikBvBeY?BH&;SZ%QiN|WlU|Y4!S?Bu_B9t^r$!)T58ql z^Kdc*Hz%1se-Fh|S~DZkFygTx}*sFs1;#TKW)73x6{Jc}+ zuEBqCtg9&qPRO*ZtD*=8AdV#EHs0ip4B02}){)=C?8%yaKb`r*Q=V3)^SXewy84`g zWM0VU&-*iF1)k}7Bv4Kt#N9~-PVW~?BLu_fZ<%_V={qq+Di0#H9>0YK z1_6*+@3%`9crbjEeEWb4VI1HJCQ*?&H?MqAW?o%KlLV4czXU3^#4udL7@eEfHVs{S zc^>3yG4pwj49| zA1uSmH6k85dqLHZ{{4b3qQPK6HIOy(^-n+_%4ja$goPMCg!$Ylx@}eASNlEm7pFcg zJV^lv3p+ujSN6Jn4ZLokoB`K8vzmWW2Hyqp^5nmX>3%ZsN2rvuEOl(eWorC*bNII! zHQWvd7po@=`F`WA#cJ0wy$d1t1IB;}ud3~+hw8^RpiQ2(rfT=G+2gIaBLZ8A!aI@{ z$SE_dmn{)yaq2 z{NZO*e5pi_ zcy_tIgAi=(CsGSs|t9{R09{Bc-R7+63ou*Qza>Gm22L_m^ zf2%iBH~o6$DkLxq!2@N??X#rw(T{4d<_`?Yn&7Gq`H}m#w!kE+eo}33JC^lKD7J7X zcE{Zgza#TPpW#JO&E;d=#RtzI>T{v`_mCsmA9*Kzd=#^zE}Dz)2ZU?&+!uXvQI-H- zm#FjUtAlhkPfgp&wi&>ZA9b}sSB!7HG$PJl1L)5}Z~1;afc^&m8~vGbjZ4vDl$+7s z1*{3b4m{Te^G9*n{saGx_^zbP184$X$i0(OthDrarX8>*xnK>T#-Gq8FtPdbLN0-~ zi-zNuhJm+bh57Bi`9uHpfo>-DkXRQM*Fud^Za{k%vSk)3&iXMleh#>&j0fPasM`ln zvZHgM^n;cxbK<4&esI+`lb9LsP;9@3@t2Aam{pK#yln&U-}r}=2mecP(ZB(M319!$ zLe76d!v9xr`JdwQe={__yQ82agCpEzd-3&HX*WeuihW}2wpNASa(+5%HET2G-&Hz#pd1~{+R`ib^!+v0Y1BtKgpng@r#(G*Yfk5N!zrl__ixC}kpxul z@HDYg(kjLQDoDP-h$oXi{gmR zhsEKt!P`xUa%Y3tuh{$Z+qDk68P8+DZ!Y-hBtBdPv7NKro=AQ5wS}9$p>_@@AM?_7 zwPZ5-kiqDqTrMOAuhCj_d6C#9#XZZzE2O(m{-*Ac;7oA{i|=6*Xzk|vRz~%iT9Bl~U!40R zDHmp1Q`N6dXeF0q9l2mQb_BS%;fTdqf@47bLj`xSM$8V|*)4qWoNrME(Y^w&Nd^B_9dB@J|@HGYS?FkpU%N2rU4KU!QbTHuE~NLVx0+ zCAN-LhS0H)i@&J9+sYmEu;iSN$w#^o_yhbfo2MYEn0P_bHV41ERS}+copwFh#0}J@ z_JDP|6JIIiZGY0=De}~qe@f%0itSFEs5xt;Q4`reaxQCnIX}u6SAz<3g%`Ak%fENS zlAq_GS@U_KIu^tdkBrrX09k*<=)>(JKi7$+SST}ou@cgYG+D*+!+1{oG}#>si+|J4 zDoP2PX^-r$xaAy3hzNO{dQu?lx+2ArfIBzbv7&oS9UiP|h75l7tZ>_caxz9&PWwlJ? zEO15>b*K_(v;5}_7Vfmni$8c`>0BVUe zzM+lN{<2<54JwNVbpw4jkhimEFtVLu->emB@6WwVpH$NGaaJRLorp@#gxqrV{>8DF ztHDUL`Z&Q;quOLZ=-EFy@uDaF*%iFITLK6ezV))i@nVX_?}tvL8SqV6y$3HlN!8~f z5ywI&iwW1k->UnY!0T_VQm8uW#ndyxNnOCueptocH+1^(2`Qr$%d5v=y=jH2BvfN- zLhl$hI8$#TUdg*+Zo6}~FsP_#!p#;XNe{R#WL}(!o|Vx1$|B?%5|wANJwDYs({sUw zX$kPcC zNV?C>njwJ!dIbjUkVDXCasgYCy~J@Ufu=8%Z6qF&)sM3Oy11r&r9~J@aVPNI3!Jl3 zF8#NcyOwIj+Y-mQC8cs*;$IRAKg<~~-7j+`;ILzwaLY5 zPCD&avZwZCdb$pNCq4J>TnqwTy*VBPZ-YBqa3@^Q@n&T3>^@(^pe_5ZSR;iSmAkV{ z^k?(V|MZpx^#Jq-DF^(YVrN%e#Ww1)4{i>(zy&rc4oDqQP+RK~2w`N5XnnNU>(b!! zxJo^#sXsK03h%h3Gd$(siz|`t9Jl++MyLyu?XVQmGqQyB{)E% zQjAlf%4{d$dZgB2+)DUFVe|Hivdbzn3aHWM-=@0_tYp-p@?ca{s=hQ=duLmW_M}ip zQ+4*e6S>F#NW29R_lV6RHfLcIp^0enh8cLX=Zj9lXENfX_+-XQW#y1 z=wra*(On|}#W$&cEl6$(nmN%Tj$#`}^h?I3*OEPFuBW%%OXo)Jas&M+d)lJgrL@%q z&R(If218ZdFio>buJP6MH->y_836g7Zg*fe*3Vt$p#|E?_qs~eYnhP}$H*x0KzwWB z?b1`P^sSsv8K&%I~eb^n;PV6WMG!NBZ!pZ6)UFc*rx z(i`HGkGa)$a3PlWN_u4`y3^<2AUUq_XJe%*?61CAX(WQ1TxsMmw``q8wz|xAVNacP zTk#qCW(Mbp397EroPFQs7mW!=xtZr5g1psTf}WxsX=`dK9rqW%@#ucA_Kz2eZ*fo8 zydbE`CRHZ<&gs6K(&C2rV~<4j13G`M+ClUT$i%4ci@F8}p%P_0q~}>@L%Y@-Nf??* zn%ixZv~VLV$Vn;-L#e{drMbClt6x`ZVZh1Zd3zTjsWI~DN@Cl@-dM1xa?xJHGl=;6 z3Cu(k5^(a&+6r8RjmD{SW@+lNZD|&r6F;mY^Kr0e zGIlycURgauuYjg$%>4x@zDdPJ#LdF_a^YrzNNLPYX$jmpUC}qsT9>q#-igpt78IU$7l3@|nTl78nb9Tvwpcm1I(N)DbjV4kYJzt*tX5O?$%aA4Wcmjo#?kje7CIAZ zyTA}eiOMT-=kTJDqmNVs>`88BEYY44@zO!l2C}DPgI|Va;SzR0QMd>Cz+a3r9Zy zp)AI=b;Uq`v}Uol8dBY5wWw$MPP9TXqj%1ED`_pbTsJgOtSXlV?^$DvnFcs~Qu= zFG>B^Nf+pqr<5-+96=JSaZCEB$YNdhhJG5bL7jq+0m)q6zN0xOtlGs|EOoNRZS)WDnuFLD!txvlhZ#MwG_lFxRdV8j~ z7E{H>2jV190uCDALGP`qI-SRc9#@+2E~y1$;tzZ7{KE*qDn(_5y74kf?D%J2PHO~> zbas*^<&35eyHg7snAWjI^e!=OZl@mf=;{qv3dTVEg(D5EmTOZvGFQMj;-^<6kuW3v zROjg#SxHXG2y)L5e`W)$H_<5sH=|Xg+c_8M=|AYm<6OYYzzuDhQ(CP4*B`jF#`*jV zvKrac5?HV@d;ilT8b@9@@&tCVCoeFC$6XVaW$9X;_1eD0v?|@hs{jQT3-=W0Fbtk) z1)XF~T*y&gbtJOK8})sS9VkN$wtm|wOEkvB^cN1PHFt*qaLIeX68O>706UB|;9b{| z{%fZxfxfGraz@%Y|DnB{LDc0bfscz(fC0J#6g*=H;^UpT5TZQks8x)5)%P`hL*+MG z2IsmMDzChyda~H4sXP^c=&uk1RHoX>61X1m%yl9(QAsf`vh!4p`GQ{qci`&@4w9?xerwo z=;^FTxb@J9Q@{vNiaubt*ZP|@kYYuQtSgJZ!P7n+Xz^ zKNinz#=f)v3+Sm3p&7 zLu{UFT~P6dDbvN?&IZr<3!9KqU$k|3K{Qjntq`Q?S$86nY`>o-jrmMbA8xa&IrE{Yfx$pf3JszswpK1$54j8vd!bBq2Zh za{5nCCFstxVY7^aV{j+5^6kZT8ToxiadxcI80UL4L9>Jx;sNc^ztMhDUTWA(1+S0b zyz+Puh}rW-QMI zF~C+gU`b@g>b=#JX{dH>bu3zyz$ZEv@f0}hq4it&xFqY3O#LiZi$UE0@#CCM)_(P* z$h2T%t0CO?`rKjVV7kQ)!JadnScnT&RTuE|B3~@B?N1>=yV{rijpo_nk8taT;_Z5R z7i2B<6k0LJMhH5N6w3=~rWd#)br zjIKWDw%V1q4|SSN3gJoGT)cqd?ZsH2NXL2Sx?faRgqs>3*HeAF!zw{nE$0@g^x3iL z&WiqOF}%r=Paiw_wEK#$IuadOL^p)Ul8q48Az#((`P8d>O}SIW{=nM~VXz{bWK1of z)|zrKDIKEy`Rcj7c(o_%2vQaWv8H{Ij1sd^kS+E>TOhv+w94x^as^|1YfiYZt2x`t z@N|g~Tw#RtYTaX-+_P4yE6#4KDp}mLcC^q;h_Yvgi@d2Nz5F#09izatFDIsq=1WpM z_b@4p_GSMsKMD=ZXOTK`^jcZw(f);DF`f?$6x_sc3F&hYDmk5w5)3kG6cmdf@_aTv zUEFtam)Lc--kBtKdAL=#>+$|Osov^H1@jHfQ1yxwEi09^7jZJp=1O1eF&ss}N}x|3 zUfz#dl^e_2dX~q6P(y|)c+6$Qc308LlN#_&d9E!p$1ir$-hHNU+I?%J#;x|Z1v}ag zfuwi?XX(t-sgUIfg6E*My*jotN$TcX?JShduPp%z#9CRZyJ6T zYNK7H5FDDlTmMw)K@88`tIyocGUcoHBpBt3x;?xc6;gCTGHQQ%%fSKe=3Ofkj3K3J zZL~yHib|*JF51Ur@!@ehAHga>4iiqKo|p8O+*EK!gYEZmj}lW$l6r?bDSQr?{B9Av zfX{5u@_5|sjZQ*dmbR6rPfd}FIqueEz^AO#IMMKx528EK6Vp|}BEG3&2Shq>-{>;y zdFir(wsHO4Q{I|vp$A$U`6s=Y@RI&t^WB9z{=Vauv1{vM95SeovJW^W@F(uSY;Lqz z{bsKCc3NqgASKA871`uB6WJ}gYA@rBAdbg#U;I68^Kv|%!FxItw7$AF7}Qff_?$oZ zSd1&_C=XcGT*Z_RFbnqWIhAopng~F36qVM+G!?AH-rRL;huCwgH}}9K^%UHl*0qI% zm8y}QmO&j*g5(p6oAR4Z>(=?#DTOI9!pbCy_o|7{udO4?0 zAI4X`-gSUPTRmj#vu2j-7~v>_4CU(Fi_BNaHI>?ukWlxi;$gPaMh^PFMBbe|G z3l!*18*N z!TDrP4{3tTB=2;){1iR7fzs*ju^1`92m`;3eCx7SSl1#`KB7aW*LyaCvCLnaae(a# zn&)kNQBMRLkwSy}oJDw{sMk-fS+n8PTyu9M2!retJ-z;f!Ii_uuP{+kR@<-3MHSWUz5}3&1Ys$LR|GeZXQMu$swIKXj}*N_k6*P2}^+*a{Qgt zp5dD&KCFxyqZj&*&kh@=(;bY(xe49-k7<9NLl%h)?SRG6z-dT7f-H#lgm|~o(sS^k z1p_sBJ-m@Sty7b*Oa7(=FGxyP+FLc%3Kd&0lx@Ye^lNyTUTK`sg^#v8uP@6wao*&p zK|v(Q?>nfux;(w7MD20&qb2IFgKAxi)dp?$`kK1eY>fA@3-ID_xf(5bnOrE3&a};C zE4mcKaoX)Mphd3m=sCF2kj~`E>qEl0G`)&KjUQP9qn_D4k#Z8drd}+e)k|4+W3}IC zY*G0iJC-73?l2c;{M~deSLO=uWY*c;lo)>;8K;1*$P0d>jrrHJuFUP)DJ|~rjFD#) zs0T9h7--Lb$O|M9HF7J%l{gd|DqOfvk^A}<+=N+%OxIccgd)-Zg%Dj)F0~r(*yL+B z#6pV`U&Z)@e0G;NYNAu|@T0*>%34H@y*AkPm?KGgsll<8lf3OI8alkl zc?D=N%FziQA}s%7S<^Vd?X+f7W!99T(D=86?>ma+jRcasL|PPx66`r6Ibfvx z4~ZkZM5bAb@Cg&s zG01bvNgowntc&dLrh(|z$?|!nyq-Bfw^$-G9HbrJna$Pv%R9 zDub})BgPd)#`;Z(?`IOg3%`mR@QM%oRgyIrgMh0~ky1HuHC-18FV45Bj8m%G+t ziPreQkw38HIxgKcAzNyJ^#s5qj_K{NM&RyKBGwl9&N@w_Xxh!d0222fW=GC%k}c{W zfi=%cv1ZM^woXj$5bFZv(g(z#QJQY(E&@K~jD-UUk(`rp=L_U#AeizPx#J z13nwliV&Y)*OlvxrY4wlrE9>p{&u{!LWbe9b<9e5IqZd=k-#LK!}x%ceamF)(3?)^;V$N+E&Al(2=cT+SHJtKqvL@xjP z6b7n&e~x+X_>%E#8#~AULMErTGg)^W$PB>i|4varBfj)b#BokTFZKarqT&4y7{Q1k z`$A+w$-I7{^z;?$wyxY&Vng}~XR|TD;>eB(kU9G-nflliXmxlP{k6z!{I$q@rA%s3 zMH(ac&j9aEl5GJ*AL+SO@no}I8Bum&*y%L0uS<1cBi~ImKoR3*Ir>NVSDY91hs9yU zG;@`(k}a20>U!byziFI56b{qh$4@}7$4;#B7USOo%ztspe{jox6^gw2KO}#D?dycG z#QT;MKk=M5XOmha;_V8yoCp1w|bWSq zFa3lhQjLlhP0TgLxcpFTu^jVZxigG>m-g8t$Dy;n&iv{AXtbzG?O>fCy?K5gI)tt; zWed|iL`8Khom^n)09GxcJr#V8D*uMBOIS2MxOPE%;Ayu(XISmtkgO#`2FTDu}0k;YSt{$ zdr4GaOK34Csk_=+M8X%2_+sfH?5N&ddxYR_zZU_DE}kM^>5!4uV)i zd;7#EH|Zh!R~EY9jfEiugh;#H&YowQ_+*IS5|9_2dkD^A zEW0?AjBcD89icHm}kk^#%#oJ?C64>UxmGCmqPYvAC!UV&vH=hj-yHW z8|@dANYsfwaT(kY`|LLwcBIPv40uobx;ZfA3Xv(ZE42K7Jbz>extbr(bb8hf7Zd7u&tSP!FKXFO3cR*0v#(@-ZX1{3F``$7opig8m%9U)%NkxKpRO%FH(0t7^3~zF%!Sn zQ++R2FVYuRrSo+4=~-kbikng?#92)2%1YS(=tHV;*u|alYvd$~ADLmg2A>v|9yof3 zs8&*i?033|Pi-dhjO6w)e&gFy>@Ig!Sde0*7q~k&n#F5xuvCQ+M_9!ZU8y9Oa*dsT zuX>_OL`t+ma=hscd;mQFmwZ@S8G#A+Il9Rbvx*CSauY`uX^^@JZ`a$HQvKkl#t!%< zVzQN59(%pre9{4~tWNk*w6Ki)qK+Dic#Owx9Q09$Mu1RBrq**hM|NTng2^7ee8)V& z$(tT9&rp*CY5I+3e)e)Rma?9$VB{?`I!#eYou4iHW-#iYKuuXkzj~8@p?*0=zS|%% zt2!+e$SYuHPDzP+NlXxdY1I#x2{3_gl2t5!U%otcs^1`|)roB4osr=7Vg9+9V^q@rW;MFj=j?ws(RXva0?-7zvPc#51*R4-_+obvYVyV22mwr zT7AZ1#LSbA?U+BX=30?*viel!d>d=yg!yBe$)<3>f0jbEG}~T0UaxfK#r`F~c=a$6 zwSU^Pc3kh2drZbPS1&E;pGD3F`uKnmC`W3R;Z+&I?qMm)D$vlNzyZCJVrrD*>eJ^1 z{v{5tb1eqeLQ~~uWnTOnR_bnFNXiZs)?-so&0n?m6tLs5ifxFQOf zKY&h>6$h=~XoU_-%CD9pL^i}Pa;)(8Z^Y7aEYs;uG1A03Fs<{A(%WXFYz&3n-VUdQ z#(vAjUJ8lmyzEM{a`FqOmkSOQ#}h^EIifir(Ys&!`t6WAHdLn zg`Stl=)&VsshL)emYQchHB@zdxKs~8D!s#8(Ib3@zch4?(^n6$l}VPchct*y((D&% z*A^^CoNDdFd_3}OIA|0PRU?=!IMDK$tUF`E1czRI%3_R>J#Q-_uELrNi+GX=ZVcC4 z#Iw@rN4%)FTWiH#u_mj3IsZm4Uy#F-1x4?NoC(rJc5Hw`c@H89kRH!##y8C8FdQV@ z9v#%Wv&~){J4MQm^KS7uD*1X#EH=G=r9Gyo)>p(YkB; zs_ttHBRf8i#Fz6sTd(IfAwMtoeHtRE#zh%R?-W`Sy9{1V;^xNGa~ljx*h)cNU%EdP zqS#Bh5GoDfO^Z$V)}5nVNz(~$j7Jicc4F#Fi^EpmrSIw0Sl1#1LY%eEu|#>+*oBP7 zJD3IVWIev)yL~tt9_s_xeGsG7`QFkCheo|g_+&eX*m7LpwIDbhJY8?&LkT6clD(Ij z3_AO0ts^v#wUGpErNT7K7s^2lW%l{tRe$2K^9|7jx33z5^R{u-7G>BO<*!=j20Hl% zObd{%mLwcWuo{VCdlS_REs#SMxMz08pHI%(#lhHvWGd`b7Z|Rx5?-+M`n)Cy*K+Fa zj!I;$zxuGJegTj(tV(H@D3jWnT1onfUV9Q5HA7y@^eS-JCmT}ix~iquaj?>~$C^<6 zFw8x@kuY(3_sH%xsbc+XSF44D{;8*LKm`;Gk&`K|UG~Mi3zK^;8#Xw0L{ep?9r7MeZ;KJSY%BfQ0KnMOc}}v&U}_xk_K;UL2^yq% z2E}GLrSppVnY7~~k|*2AT9y4JB|^%zg{20tWqC=CdvnX)Dpr~8pL1GfZ*s1(j@V_N zaXg{H|M*R$eRV45W5tZZsv+5uJESY&rmOg)sXCW3I!((bo3OA;(TAXX8tddR(x?Z0 zjA)u~3NS7$t)0kS!i=cx2hO3R?YN@f}-p zZdzR zK8VK)ZHW0`c7x;X-PGtJn+MX|a(C8QqZiMMcU?V$V&I|QHI&(hE^( zm`mc#Yn?HQBn#Y~;>KojyFTwO#TsZkufs0)TtM^eLBrxVpl#Nfuq+MHF+oau*XZdz zN`Ts6%NTbV`1(aFz*Wmi)&9kQv|OokwXTVznrb=*?f=4uAOJpG?MgW|9yE?!xO=Oc z;zgJ0(Nk8jRw_@LuF8r?G9Qakz0E=0CCsm-pYKDBH9lhfYzvVvF1x%oOT=i zYXhS51!xW6QYv*drxBaC&G&_$yIfd0U;d(z;u#pS)RSN|l%~ObXVG7d^HN49@Uz{B z(itb=IXvA($iTjko5UcJ`N* zSP=0pua_mgj3LJl=-GQ57By&wnrhrQ?OZ4#w1z2^trT>FZC-#VZX&vqTnRi;1495R zNUx(gU`i~F5h8T|8tr^6Qc!$wOLLt-a0VlcIRC?9aLkj~*!p))UtzZ_jX)Z}CxD2y zHK3K~xamRui^SsI83SrmlDV&tmUL_)^H^Hpu6dTheI)AXj40g-3(oYx3`>iXK zOIT)hy@{$V$L?*-^gi~1>~RT$+|f1=2uAf-Q?2(|NLq^qQXe64&?f9}sWVvOvUVHT zFWC2z(D&vR=HZ*|6y=*)-4J*=%vvO;>g5q7>L|SsKN;o^&BEj73xht|H_mr;A!H@rsdSwMGkqGllRO+_cB2zH<9ZHGi3&(*+wtY)sm|8;>Ws? zu^XU;JBjC2m4Rm+g=u=zS6n!YJ4H_Y8?^^V(RlIMOIBbzBy9chI44$bMT6saalh6) zKEI#t5JLpb*}|MQFE#<4_VH9!1kbMfu+Qfqg(7be1b^gnGGV>SpM69+AU@fPjcBBw zK5E}Pf5T_^1{~}w4sS2^Wf)CB0ck#*1ZBV~#_xs9p5{98KG&veI2h=L!DfOEK0OtK zc6xS4EqrppT7PP9yc7jR*H8Ph!OW*+O4$@e@$o?*Qf-@JC%+(`_o7_h&N`K?l~#Om z*&uYSG4zM>5-#UC+O%0#0rEFm*Sp%w@Ii6v3EAsz1Oa66e&a@yBH#T)D?Uv`B*Xl% z?89Zgu;`1273`n*R)~}o<4Z2Hfz%ImbF|y?RbLnRkcfuoPC^#W0<||}0T6;+T^Ad< zmix^tuAXz6p$`W-*_87#9!#c_@&U=|@rcn#e9TDWJz{vDygClF!3iWP23LDg zs3%+`ve8A$KIIwpFPX^aJ4x@*>+$m@$wPuW`toM;y@Fp}Y0?|z!PE{#@K%CLGn+gs zRg*2wnY+6AKMJfAdbU*N?FyUB2bQ?d2|0<%$L?ouSrcH6|9PtE{xkjww5n8x(g3)pYz~8zf2Lvn zp)utj3U>cau+H_x1t*!i;XCW9Nlu#_*F{^pAK#*O>Q9g}8A|-2TN*+P3@|UJ$>+#q z1moIZfz8I!^J=PR5}}FjKx-_fa+eUky=5X~^BS1!+Cj$(+uZZcC*kn$qtAog6~D3< z@Y*9R7iw(N4OZewBctkLx(9lZm$6j3=OrSo5AS#Z^K(5sp@23xzq~Kvc>v=wDdaaA z4Fr)N&(s>MJ6bnsZRVxax;7-xIqx`Ujn5lRAIfV(9ZnrB+XSG7M_Qg=jdV~%55k6fP&$KlP`(|p>`c&s~*5wHj#G3wi{Cgo5|r6pkz8+Um;KkawM zZOMqap6QlQcqBkKF~cKLOOov>sb;-9@QxPnWFeyFIYz1}1wB3##f%hC9j(hwH>_Gt~^n^pR75?_euohT=C&-(~;M&|8Hz2+_HR(yoQKnXA7`P$i zCFUk;4AMfB(Kw?eboEGn;T=Df)Zu7KRm@AM2yKvv5?2&g#1!D{!L`wlyDcAs2s>0X zE`=~zwT)lsHkMHwBsmWT&JVMi1xT#=uZ5ai?dhJn73YxFvWpa@xZOceKmbC(Prhmd z5g7EHpFcsa`{+BEQ@Q!f_Fy50vL^a-#9RGVYx& z92R0X-lII3#9EIB3EX}WR)3BGSFUl=&tRECXom2Dky6#I|1j*oxbr&GLHh1_YuiQH zd&t}OV@2)Rt0Iu1fWB38TcL|GEci(`_R1rqC{o9Uh-^AnYdyvi$A-X+Jt!YEeQ%kz)3FJo{RH*IM4;iZ}scxHgF%?0!!I4SyHMHWCUr1kCMX?sq`i)|k z-qoacC+Z-EWQ!27&2s#$TT1J_2R`|bEo30U!) zAMtIcU-YNuf zVSk^N;&?3orMFn5M8i7l>wQ0MzXvp2O~%B5-rSnGmv3~dAW24PDks-qLBX6Ow#dnx ztG^sj(%2jvLZi3KKb;U>;tq5G0*~~2tF)pa!gteERH>w^!LMWHB9C{_{YB7sVUpVF zbFa7I$xOuUCwnIDP=1VF^4h&hMV=sUB+NF#`LUJdJDk z*X+Bb)GwS@O^fg0?uJU?ev=ow@m@Jq(h@MrWWOOP;#k@8?yys#`TQ(~$e$#8H+X*5 z@XKx}zI%?UzQc@bYWB_xo_RSjt{Wdu^LgtV!$82w+s>G4)7TBIva>%0jGdzzkA{Z2 zjwTZ|EBhQAmgbEEo|D!?}kGW%LgVcQ;)Im!!ac=#Ir0Of=B}!m_2wBdED1H0(yw=H+tEm~6nP_m~ ztik5P3Ujx^?5*0QX}&M{XeUd;M>KT$*f7l$mmfE2p?L=n`KH)@HW2V{68^NwE$a@6 z4v+%cv(W@eB;{tRQe7z+#`swEB?OaA!flxB!^2iL@<_5I8^#ic7)hvhzXzTcE&yfo$(qnzd;y^=_-44c?jN7SV z2Rh?Ihr&60o)r13x|;hw4iFyJ>px;AIr4$M@gxhl)3si=Fei{?FPSQOR9Exe8xcFP zF9?ly2J4&|29YL3WUQy!b&(}F?p-GSGOh_!pC8Ube!F1;nvNn^#|w41x+n7FD+9!; z&MIpPQIZV7i~;LENM$!wOCz|+3H+ZNvu+!P0BR3&xXs4FGL=j$fY8_=Y&PU+K~w+H zp-mBw$~a+n*oV^pOATRs@CT`=%NG~O@2(a+;xqn3^3;7>oDUPYs|s_yB1tO=xoG`! z%~DYk&zqef^-X{{YVt0x`sllNAvt>qK;Lam{A@&WsL_`@hd%8qWS&Jl zDb*Y-J&>7NMM%X7^EW$2Sw-b5il`-K;f)S@6&xBuO)QVj!q zrU$B{I5|tw%wpn()7etD3e9x@S_78JU|$l?71Qb9Oin>T}?HKphuH7fHI3aZK~qF@I3lOt5wYm4$-@?k60sj z)!-#N&ks%-SDZE+=bO%^hwU}be{etu-#CI)c70g!w6bec*HfR$2I1sYi%)Nrm@PIH z+z#wBDYdg(X$TFDM!Krp9q@+iJ&%47CTh-N&5!D_H4E@HTvu6G4wfmz=pTKX$zvzT zj!q313j2-b4h!-;UkQK_A2*@OozU7%`(w0ZRz`otpECi1Cr1Dv zc-pPxH{(@%}!jNdCDDoyRd|1*CW$Wi+bcKg5M(Eujs50=A#@K&k3 z!je<^dHxgU$XvR5hWE0nS+Tdr@gG4GqcOijDKn&9yT%Ri6m-hPBfN? zj;Hk(kiCen4?R_98Vo3#dUvZ@f+=giEm5>e~(pXTP-{LI5OOq3aNglyAduv zbd< z2l6#^>V`(`F%g@jmm1UMhqb{fUaKzonG;7p>$p3}l`n~noDL#&Y8CWm%xWaeViHNV zexs42=ndTI`iDDY!=+G}G2Dv+bdU6K{1#)}N8YMSb2x5E#Ki%hbnc1WH<({DmP)M% zI-cw007}}{F&SuZTNyU8Z-WNho#Y$fkvTjZVoNHUtzSlQzsxPxBR`1r$#NIzyoswd zfFh`e@)bEWmNhM=4KLHwCSw;Md1`6GWhB1C#RMnbL>Hp9>(0Ffd)d&EIcY){@D&&0UKX@{I0KI6=QsBioh$Ns(~+I~lr^y`vcUxxi8 zhQvFFA?ckE+vRbZO5JIo381?^Zhp@^h{l+eXl=#j$Ir84S)TlwjhPs-| zZY$k$_}$7jgqlylV^~oLb@76gyE}THTO{O~b)E5ZwcP{vB;6vxV=@Kq>l%S_^xKv- z^2mmPi5iD!LtP&avF3uOn;*{kN&u5|J&}KsI6;!a(yK)Sd9!+>vk{?3h}f|58(`XO zZ37HgItJxyUYxl7gfs6aGEQUY-0NQ7DWGQZ?>wC^u-Km^U_DECvP?l-)ZP2^A5nZ6 z&+CEppmwj;$G}#gU14>Cd$xOBT6XrN^3x{1XZ(n7)HYeq@eLO@*znJ+jR-84t;2>a$4@$W0*>`mG zOqre{p{BZex8a*%$m;C~7lO}(fi)^aZIg?*;_$__cJ}v<(woGy@!~IJa*vw}sgiZQ zdfy5}Nr}GM%+9B9I_KS;a?Wuy$8!O=X={<>y|4WIr;EKygv1;@aFS*>_*s{RFiykJ zaj3(ixMviUZ!uLS9Nr$IuaI26)v#aS7;rZZkdX?Ph#ZgWCg*Ml)WG15j*`hJ4gR>` z31N^NM9K@%`@cePY0x|=84%fO(0jS?Y+nSN<0;bx_80K9nVj$WQZm2(>-2Pvk<-@e z2;AASBvZH7dB-%KsD<=1tH`%tm(-I7y=7{Ntd_a9f0adL&k4#|3Y!=iYVG(Mq zl$DIudKYmfnUhm?=`+;H4L(oKAH8<%cYhSYb?iY- zeS_YrW)|PC$ddpU_{EaDBkZEB)xZBqoOivD_F@; zvVFsO0igbv^~by+2RHGf#l^JO&~R5`Ir>9Cs~2s8#D}Wr(NeNq*_m;p7;3LchMJ=E zq+`11;@p=Ui?jbsi-z3Z?~!T_s{?s6-hvehnIdMg*TxpW)?RJ&&p3E~&n>%=#2DhN z4RK-F-FWV|3Y?>(TEybmz>`8e2Cwd_(389@lG;IT&@^|c4tef$!2*bo{6`ljxRAcg zMl&sGt$9LE@O!aH+n{oBLs2XTz&$PvLUfCGg8niInEn&{^bC|TfhFDEzjxd6{nUgDVtkE*o?-i58}S4 z1-M$yr=*g*2C6M7o9%=4Cysg2V#I=2uVC>SFL zp_2r?VqNA6q#f~Fu=sc6r&$p0x(>XmC{nS)SaeT!v9 z<@#VccT*FKuoi zwX4MGT9q%|6hdlxx83kw<9PXs6nv|#xH5dZ>z$PY30DHz46Em{gOSHvd%IQ%EEgR= z`q)=$bJTWa#jLb-No{D%Lk~4EuWVtiJxHoMTrXG~^qZ5e0T|;TCg!nHDkLqaAXGe6 z_D<$!*`p!L=0)HQRFV=-a+Ff|CiE9h9?MF9Wx*p=ep3mcN@|aHOiLUaL2SSdw@ohY z_-t!LYZbW~1+-4Qlsd$L|B>tbDVP8p1pf|%|EI3!|M&Hu5^6Ny@!`)! zUNAfSS?tFoB(1nc(Yob$Ye%Xg%UxDm4}ZLSb1I!^V5YP?8KdpcoKobRvgucb#UF%AXK#F98WZTadW1~vw@=%*~KjStU>f`YuTx>sl{(W3~`cti?%*n6C`2%;Q$WBK#Urg89746z)a8$RtFt2a?&StDCa8YVRJ@ z-ATFeFU~EbYb9Pkb?L-kYBy>KegVJ%^inC$@jOzG{kOB@zRx`oA4Lmqg z0{>0-67->UETSa`zRVDE+cx0dQ0~(vVZdZ`^+m%s3s*M-ao7VINakp{)dzNxCP5FaJ ztU>uYEHDY?ha$8hDkt--Iy}~-4eUC={(cCwizmRRwaP_ zLQHvbMm~TqYYO$4L(TIrf>jQgXNkKLe5b=3I#X+GYCC;rCqeS-qo*+tIH(T`M7?yE z>8xb0(i}2!-NDA)#j3k~$pFLIuCsf%&jV|h+MpojGCX=@)^@>(BFQL2qPL@7YPi$DBq*fEK?X8LRM5drQiP{G6I$Mf6R1MbJ{400Lql0EdFDD;(|0Y0zm&{q?8WQFef z&NdRGGRzDcQyVHfLE?4$S-H#KueOVkGTp+h?NI#E(9%92Rt#^k2ALDN{Vp5$+X8v9 zX37WC`b^L-2(hQLqSCZ1>ZFl{vo{|`OHxA0jPmFAle`7yz4sh!?198`p7;-5Q-xa= z+vL)gb$R35st-%ESQhr&)LOBrId*o5lK>8Etu^@2o1z zyUPsi^FIcw4&l_)H1RP9b6ypbRXdaCFjdxd8{;>V-p~T^^kVG+b0>;zp~pPOAPKQ9 zw>3h`l&Lc3PZGQR{4b3Tl7^-@u5U%nBg#-D@x8mU;@xTDm&%Owe9Onf)>`t0?Jb{? zPVg^4D9=|V?B8g_djoDho}yb3(jT6O-A}baVuXY)daO>)M*>>#!xN0xnnjszGuCh$ z&xRZZ2#Al2O_kmPze1UkZ+wZVvw5g-N^e%#Re%o(V9O-Q`{o>Z1j3n@v@V?M3J4^A zk_fzN=x8rdL`d4%>u*89z0b3v@t!~)$*zXX$4iN+@O%la!FSvEblI3tKcVjPin?E>Q-im^nr8Ss>e{BkkBX8)Z?%dug$`0 zU|+rPeB<`thpBJMuzJck?O|(^dTHe}rzD)E`sX!k%oB{yuf+564|Lyu{Car&qO{ma9It-T)*EcZ`OPM6 z;oYpN`?e|-OP3_SX9Ai)i#uQ(eKL#8?CDNAS?FHD8{F3A;%%1`ZEuVD=~&?Jt2Tjs ztP~j{N`V=|Sv62lO?ALOu|>$DEBml7NM;k?qaTN0B54oy{Xpl8)p9b;u+5bzTe(p| zo0L5BU;XXh?F`rJ?GUUkG;XaJcLU~Vlkmy^oxFF(*cJKp49Si7ccSZ^OL%@pC7~?2 zA5?xcddaxAG5&*1PLz{)w?cX!kcp@R6QW4Sc&dz&rnHlPQaQY8j2`jh$n#$lY@yJ4 zv)6iSyT=`k>&cSdXk?}OfX&9Js^0^7&wX9%%4 zVUAYEf2>}H|6iw-h;NvS@zQE9{#hxWwpacYjhh{hueYCCvm$kP5 z47J9&aW0|MCAiXfsECdHnOj|}w!iAhjNl0Knaf5}kr?^2=saMyYz=ri`FXUWsg2;R zJBsxDvS@Di^{?UAG(|Y-NJdtCJf6q~Wrz3QhZMT~kB3a^?-vX0pHR1sYAEz_eWiNu zOdQic&absO$vsr=uyUR~Hj_Imd85%IhKskQhooyGt3iT=;; z|L8FOOLy^C=KX+~ODX#&I-eYGD!-Wah2Z(^o7QMovH7-44Ff^Wu;{jv`OIpDzFw8Xr{reFN4G@<+14lPqSRl?Chgwnt$XvH`Q<{) zV?i-iAkO&wNXM7;KDi^95gw5@qF&jucTNb}hf3ry7y04NFCOTRtkYYuZImZBI_93Xh}Kc0gZhGi+S*UsLpni zloQFxHx66&6j9|`YrNlROhpNu-B)7Pmv&JMBi|~Q*ngv?#Gk-k{WTC?eGEq8(bn6@>;J{ z@z|Lur~J|Vxv*Kf*wMtH|1y7qv{)QY5<)p(-U->!MVa0S!+&u!!EK4?>kY#b09{EF zdu`5`BP#9>#fkQZ2v{aO>^D7m!cad*(leV3z(~WNbGk;}15Aq>^`^@`s2i*OEUMSl zjic?^Wn!L`o-Gv>SmtRify?-EW}-|NWulX!KD;wnkNs@1dmX6c12$t9pB1-KSxqS7 zCZt73$o|^gDe(ez=!4`(?;zG*68s&d;*Y6T}2rXZBeX!JSSVm0p=EvMcjC-eDOF&^>}L9kAvw z^O+LQvTxPz>r--mUX#2u>0$4?XWdz$h&A4jnm$sR(|S0B8V~b*gQGrXTb!1FmGh)D zukgTAzcs>}l|R`bpbp)qDX36Z*cUS+2Z_606nam3(jlD1)ikz15Olk&;ZO@0uWs-~ zG+u1l=v`p#}GDB5s4(V zsKidV)BuMz@#G>aJ1X~tJH1wukN>$HYc*G!3p(iCwOUa2qEFKpVTE>*O@%gzJvkNuTP;^ieR65WI&W6y z(H=U3aIW~>3f~Ycy6r8ugdxlWcz>gj?h@|lOw!3_Q^*l}kF}bq0qarm)PpTULZrDm z(3?P7K1tkX`JDYxdnuvG1#Or}M9(C?vWZT9X;lo60mKb3J#*#a=L|?1L%$}cLT{#- zMEPmzWu)s~ZPCx(cd-A}*mZ|B)hzwk5y4ofDn(HsQYYo00g$cdyd$v53ok!6_p_rDB-sr{%PUvs}UX zs@|t2#@7S#SA6-gkF*{X1Bbc(V^ynBKS7x`=B#c2%<4<#NL^kI;G|*VzGZLQdNg|9 zQK$~-ArBeT`X>kgwdTtPQdh>;-*qRbw40&7S z3L=loKM?H=e9rh`clg8_9K~)B-3yoj=#}}FC+fyrNFLNg(YuG#8O^EbUc|A(6s@#5W z$?E(o)#zI+vl zb`1xA+-2gZMtrXO?TRKGG(Ly6&qqVZXPFkWL8R|n%<^t5y#hBxg}t!br=wFw%54s^ zEY+9j>fg$ri*U4i{(e@5rN$bTl-4-b@<3C*k|Y;aYgxc#xAGN;eq;FwxZ7zWTcNGW@{!`Jhlj?WkgJZ(AUYVbq)T^m&+T<;AbQDFewD&!`}(_H<-63ONT zIBFILdG2^;(t+{-o6ZF~_5Y5~_ixutN{S^)wAk;Ue>;E{(YPIJ5eNdYirZfU6+hO0 zr@XxF3V{ZNs5|GQ!|KIKtE`|5a@GZi#S%agK)8;!ejL+9hWW{@GHukVvdx~5j2K4D zvehtbv2W0Cz^kkhoqE+*G5`Y$_2%Tp88^g4j^27BV`Lw9LzO#hJOz$WidK1zbO@T2 z_na)_v$!W%b^fi&;7E*W**9=27`Axb)v+MJ#NHJP$0v6MD14M!uRQ~J_exxxG8GjS zP=G=YoE?YJp1qdJJMd1}dM5SBh4zjMysdsC?-zBMHw6scEi()7vmdK;=R|~Gyb^7D zWL6o{x^K0!)abTs>i9x;Kj*3~hgFi1HpjttCdBjZzMn6(mz^9EhNSd0L|fQ;`~>Ys zbp-;>eI0n&!{^&e&qNH(*jEHN(RogZ9*@leoVixnh72%aNpAH*PTm~`ot zas81TQ+`Y{JrO|mr?EZb!T$jkU?JMopYblqRO1ZZ6vJ1mdk2Fby5tW> z5}6hihKs^I_mxaS2@V)lVp&LyOUO$awOreXmapH@!3MBRpZa?p9GgP`FgraxCX!@u zB%sp#fdh&lneyWz{pB1ag)cpPN48*ZJK2gu|Lv zdqi9%q|o8Zb<&mBcCCOuly&m8!s2yrphcE3-5HP;E`noU+zk4Vw$V(BXj!46Zm zlCra{G#~NtTeWbX7hBrMC#;rMx;Oc0MvYa|y|pIU^kjIVcBaUpANU15C!J z){SZdqqEOqpNn zYtCRcG_#`2wb;UD%sqFAQAlK!#qycBbJ`ES4rtJZ(2TDw)(+&>wB)#G-0upA_A$gI zC1p!xlp2Zu#0U|{tZ9`K2$;?U_M(l0UxeT-;e|AACphzpqFU>#=w1Q zL>jHKM~ERR`HuA|GX{p^epv&`FOnUeEiI*d8Sm%`-^-K7@A1tTy_FEef2-IT%in(l zqO8xo(6X+4$#7%!i^g|%SL|%B_-z?Z<%k{R^n!Jn23m(^hKienw z7C3Hkdq6G1BW`O(e2RtHAT$RNue3@+ri3$mb|IotZSlsd_}S$9hxOl83??}N`m`X& z$gf?{P}`2WnYqXVz}{t_n*Jy1;>laFEFL}I>SeX@Q~i}SX*c#-uX|yucfu!fq+*$~ zk_(F>JC-@ok6)R+DAbl3jUPiqjgR>ofTC=MtU5hQ!Tjhd6b~6I2{4{pFfp#2Q zlVTihi+tDY!!>M+D%UWLE6u0*efF-mf^dIU@Pq42wH`aB>~I?9>{J9dL~`)UJ-f)z!P1hFp}In_Bvw z?Yx{0=L|!}0kJjO=&8b7Z{t80Z>EM737hW==y@BZ7-ftX$H&vuV(L)(m&Q;!4N#o= zzhe!^*+l;IS)u5|l(>W6b>3f*%;YF$>0QZYC;9eH@B+C(4;qu0Pdo}|0^iPpabjo? z4A{o@qKN1l0@8=|xoW^Z1@ELjwN-z-pWcI7MtEN1*a(_*b7iY7?YZCa+H7dri)hod z1`(IVKRz`u#(I^+iZC10v1OJ|7m=gCKV^8bUD8#;P+3f~0}_@pYNU)1JNOdc{R*km zaow+eKnxYqQdXtAdSI~E$D$xNlHIjOH4i{Jz4T)3)M7k3FseLJ^a3<1wK2I`V< zDNSNmD&hO>LJTL7_hch!#h~f&&7j9z-wl1FEMr+L*1qVP6Z$VoMbme!-XAm!i&uC% zULtPSB&M&=(js-T{s)h)pXZ(DX{@>fGd?|7e<7xP0&{h1Z!&E@iiUxu@Mu+U8a~mH zkJq{bd)51eZ~wmOOE^W-B&fyB;3wU#C$1UcjF$R9))tGCW4l#lKd*R)Cexwyb?eO%k_@S4^>a5n=xE zP9OW)fV=vHguHuwr;_xCmcbi9*i0loeqJtZR=#H4Hm+lN`ORmU(!&pOlWeLw5zpmG z*xGXJKw*`l_;GV*_jE@NqGyZ#)XOLRU!wkXR~dZh72y#FY3N0_)HD<^R5QK zQ5Gq#tn5K`&G!#4En0k^yfT3}G%)kQ@;3Y2r9fmoyFc&bg)?D2ihDL07w}KNu|-=H zeb+XkQ7O@y%Ai}ssg^3Zs9_%!-6rzUX=v=R+GZ3=Wbv4Shp+>Z0N`Ddcbva{B?@Qx zU1$28%TQPrg;o7&sw2DFX?&7CjJ~p~e~HlLkrOQe#y@qSy$Ium z(+SdO5I@PBRSYD4l0FD2N>P`l-FIIFg9!)R^$zT}h}@3-wOZ@k;F(2VMkvx9EEG*OtST&m>&mN;CMj6!=GbVhYxa=U`zM4msY{#r0 zt)w4nY$Ly5xlw^EITu>On3hEN z-9vRSJy?5DuCDn(6SFV1wwtVOfv8s>R9F|>-O06=Lx z1|6u`lOIZCc?)y&Z5H^!>-y0lQq%m01{^fz=sKg@A-SVQ;8mmQry}JHF$~!A^+#Fi zKGMmyW8>Bz;^Vhif1D(WpEGF_3S-U4;Ag%awIV#a=`EqUAwRpf{9;Q>uWFtWQu6a@ zy<^5E-g_@@f`)L}@MwQkXoA>TMR~hAOrEBllKzS?LnuIU+v*xXnIIet#!aTqySvKU zpFW!ug)W&)H@g=_X(Lnce<*Gq0I#{byC+g8mmSy-qXBC9TjT$|jGXi9FD?du>wwbH zf803*lzwwkFbQMEC3u`bL#%dOSAmCLTmKR0HrV{-6KFV$!YieBshzUYC}Z8F`t6F5 zKzlp?AlD`j09YTmxcv#hf`R=e4*crqe_S+_#q-CVB9D;2Mc#WD#2WYrPxZexlSELU^`MGNVV?Z9c!f($-iGYNyF|^apKh=IOmgC+7fpq;*55SlC zSBL*u>C^*Yz>&- cKC2Xye`ZO}T&J Date: Sun, 8 Dec 2024 20:30:27 +0530 Subject: [PATCH 04/18] Added clean code tag --- content/blog/refinements-in-ruby.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 91f1a0bab..5b6b16648 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -6,8 +6,8 @@ image = "/images/2024/refinements-in-ruby/header.jpeg" draft = false authors = ["Syed Mohd Mehndi"] description = "Refinements in Ruby: A Flexible Approach to Modifying Core Classes" -tags = ["Ruby"] -categories = ["Ruby"] +tags = ["Ruby", "Clean Code"] +categories = ["Ruby", "Clean Code"] type = "" +++ From 68862605628f5ef651aafc9423d42d9b7a56a572 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 20:36:10 +0530 Subject: [PATCH 05/18] Styling fix --- content/blog/refinements-in-ruby.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 5b6b16648..cfbab0826 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -21,9 +21,9 @@ Refinements offer a way to extend or override methods of existing classes, but o ### Key Characteristics of Refinements: -Scoped Modifications: Refinements apply only in specific contexts (like within a module or class). -Opt-in Behavior: You have to explicitly “activate” a refinement within the scope where you want it to apply. -No Global Impact: Unlike monkey-patching, which modifies behavior globally, refinements are local to the scope they are activated in. +- **Scoped Modifications**: Refinements apply only in specific contexts (like within a module or class). +- **Opt-in Behavior**: You have to explicitly “activate” a refinement within the scope where you want it to apply. +- **No Global Impact**: Unlike monkey-patching, which modifies behavior globally, refinements are local to the scope they are activated in. ### Refinements in Action From d1fdd0aaa746219a13a7eea240671b1d7cb5ca1b Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 20:39:21 +0530 Subject: [PATCH 06/18] starting with h2 as title is h1 --- content/blog/refinements-in-ruby.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index cfbab0826..51e866b69 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -15,7 +15,7 @@ Ruby is a highly flexible programming language known for its dynamic capabilitie In this blog, we’ll dive into the basics of using refinements, explore common use cases, and explain why they can be preferable to monkey-patching. -### What Are Refinements? +## What Are Refinements? Refinements offer a way to extend or override methods of existing classes, but only within a specific scope (like a module or class). This helps prevent unintended side effects that can occur when modifying core classes or third-party libraries globally. In other words, refinements give you a safer alternative to monkey-patching by limiting the scope of changes. @@ -25,11 +25,11 @@ Refinements offer a way to extend or override methods of existing classes, but o - **Opt-in Behavior**: You have to explicitly “activate” a refinement within the scope where you want it to apply. - **No Global Impact**: Unlike monkey-patching, which modifies behavior globally, refinements are local to the scope they are activated in. -### Refinements in Action +## Refinements in Action Let’s walk through an example to demonstrate how refinements work in Ruby. -#### Step 1: Defining a Refinement +### Step 1: Defining a Refinement Here’s how you define a refinement in Ruby. We will modify the String class to add a new method, #reverse_words, which reverses the words in a string, not the characters. @@ -45,7 +45,7 @@ end In this example, we created a module StringExtensions that contains a refinement of the String class. This refinement adds a method reverse_words to reverse the order of words in a string. -#### Step 2: Activating the Refinement +### Step 2: Activating the Refinement To use the refinement, we need to activate it in a specific scope using the using keyword: @@ -69,7 +69,7 @@ puts sentence.reverse Here, the refinement applies only inside the SentenceManipulator class. If you try to use reverse_words outside of this class, it will not be available. -#### Step 3: Trying to Use the Refinement Outside the Scope +### Step 3: Trying to Use the Refinement Outside the Scope ```ruby puts "Hello World from Ruby".reverse_words @@ -78,7 +78,7 @@ puts "Hello World from Ruby".reverse_words This code will raise an error because the refinement was not activated globally, and it’s only available within the SentenceManipulator class. -### Why Use Refinements Instead of Monkey-Patching? +## Why Use Refinements Instead of Monkey-Patching? 1. **Limited Scope**: Unlike monkey-patching, which alters a class’s behavior globally, refinements allow changes to be confined to specific contexts. This reduces the risk of breaking code in other parts of your application. @@ -86,7 +86,7 @@ This code will raise an error because the refinement was not activated globally, 1. **Safer Library Usage**: Libraries can define refinements to tweak core class behaviors for internal use without impacting their users’ code. This leads to more reliable and maintainable libraries. -### Common Use Cases for Refinements +## Common Use Cases for Refinements 1. **Overriding Third-Party Library Behavior**: If you need to modify the behavior of a third-party library without affecting the rest of your application, refinements allow you to do so safely. @@ -94,7 +94,7 @@ This code will raise an error because the refinement was not activated globally, 1. **Testing and Prototyping**: Refinements are great for temporarily modifying behavior during testing or prototyping, as the changes can be localized to the test suite or experimental code. -### Caveats of Using Refinements +## Caveats of Using Refinements While refinements offer great flexibility, they come with certain caveats: @@ -104,13 +104,13 @@ While refinements offer great flexibility, they come with certain caveats: 1. **Limited Method Visibility**: Refinements only affect methods directly called on objects. They do not apply to methods called indirectly via send, method, or define_method. -### Conclusion +## Conclusion Refinements in Ruby provide a powerful and flexible alternative to monkey-patching by allowing developers to extend or modify classes in a controlled and localized manner. They help maintain code modularity, prevent unintended side effects, and promote better practices when working with core classes and third-party libraries. However, keep in mind the caveats and use refinements judiciously. If your goal is to alter class behavior without the risk of affecting the global state of your application, refinements are an excellent tool to have in your Ruby toolkit. -### Further Reading: +## Further Reading: Ruby Documentation on Refinements From 45951be02b0f6f44287ef287bd20a01f1e45d350 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 20:40:07 +0530 Subject: [PATCH 07/18] Styling fix --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 51e866b69..2f8f80877 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -47,7 +47,7 @@ In this example, we created a module StringExtensions that contains a refinement ### Step 2: Activating the Refinement -To use the refinement, we need to activate it in a specific scope using the using keyword: +To use the refinement, we need to activate it in a specific scope using the `using` keyword: ```ruby class SentenceManipulator From 795e5812449e21ed59d174abf9088145468b7aff Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 20:40:31 +0530 Subject: [PATCH 08/18] Styling fix --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 2f8f80877..520491f5e 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -67,7 +67,7 @@ puts sentence.reverse # Output: "Ruby from World Hello" ``` -Here, the refinement applies only inside the SentenceManipulator class. If you try to use reverse_words outside of this class, it will not be available. +Here, the refinement applies only inside the `SentenceManipulator` class. If you try to use reverse_words outside of this class, it will not be available. ### Step 3: Trying to Use the Refinement Outside the Scope From 1c3570747a69fcdc3447ca88c95a5c453fbeefc0 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 20:41:17 +0530 Subject: [PATCH 09/18] Styling fix --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 520491f5e..bb4e30c64 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -43,7 +43,7 @@ module StringExtensions end ``` -In this example, we created a module StringExtensions that contains a refinement of the String class. This refinement adds a method reverse_words to reverse the order of words in a string. +In this example, we created a module `StringExtensions` that contains a refinement of the String class. This refinement adds a method reverse_words to reverse the order of words in a string. ### Step 2: Activating the Refinement From 62f46bd1b0dde351c0be9b005752b74d7b6a6a33 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 20:41:44 +0530 Subject: [PATCH 10/18] Adding missing space --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index bb4e30c64..a370d7efa 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -82,7 +82,7 @@ This code will raise an error because the refinement was not activated globally, 1. **Limited Scope**: Unlike monkey-patching, which alters a class’s behavior globally, refinements allow changes to be confined to specific contexts. This reduces the risk of breaking code in other parts of your application. -1. **Better Code Isolation**:Refinements ensure that method modifications do not leak out and affect other classes or libraries unintentionally. With refinements, you can safely modify the behavior of third-party libraries without worrying about conflicts. +1. **Better Code Isolation**: Refinements ensure that method modifications do not leak out and affect other classes or libraries unintentionally. With refinements, you can safely modify the behavior of third-party libraries without worrying about conflicts. 1. **Safer Library Usage**: Libraries can define refinements to tweak core class behaviors for internal use without impacting their users’ code. This leads to more reliable and maintainable libraries. From 9a89637ce9d7796cd0a36e59f764d1e2bb56a7c0 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 20:45:32 +0530 Subject: [PATCH 11/18] readability improvement --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index a370d7efa..c909ab127 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -47,7 +47,7 @@ In this example, we created a module `StringExtensions` that contains a refineme ### Step 2: Activating the Refinement -To use the refinement, we need to activate it in a specific scope using the `using` keyword: +To use the refinement, we need to activate it in a specific scope with the `using` keyword: ```ruby class SentenceManipulator From 3bbb82fb2afd031baead43a92d84f27a20e17657 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 21:33:57 +0530 Subject: [PATCH 12/18] Adding example of trying to use refinement inside defining module --- content/blog/refinements-in-ruby.md | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index c909ab127..94ef83fb8 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -78,6 +78,62 @@ puts "Hello World from Ruby".reverse_words This code will raise an error because the refinement was not activated globally, and it’s only available within the SentenceManipulator class. +### What Happens When You Use Refinements Inside Their Defining Module? +Refinements in Ruby are designed to only take effect when explicitly activated with the `using` keyword. This means that even if you try to use a refinement inside the module where it is defined, it won’t work unless the refinement is explicitly activated in the scope where it is used. + +Here’s an example to demonstrate this behavior: + +```ruby +module StringExtensions + refine String do + def reverse_words + self.split(' ').reverse.join(' ') + end + end + + class Foo + def bar + 'Hello World'.reverse_words + end + end +end + +StringExtensions::Foo.new.bar +# Output: NoMethodError: undefined method `reverse_words' for "Hello World":String +``` + +#### Why Does This Happen? +In Ruby, refinements are not automatically activated within the module where they are defined. Instead, you must explicitly activate them with the `using` keyword in the scope where they are intended to be used. + +#### Fixing the Issue +To fix this, you can activate the refinement within the `Foo` class with the `using` keyword: + +```ruby +module StringExtensions + refine String do + def reverse_words + self.split(' ').reverse.join(' ') + end + end + + class Foo + using StringExtensions + + def bar + 'Hello World'.reverse_words + end + end +end + +puts StringExtensions::Foo.new.bar +# Output: "World Hello" +``` + +By adding using `StringExtensions` inside the `Foo` class, we explicitly enable the refinement for that scope, and the reverse_words method becomes available. + +#### Key Takeaway +Even though a refinement is defined within a module, it is not automatically available within the module’s inner classes or methods. This is intentional to ensure that refinements remain opt-in and their effects are explicitly scoped. Always use the using keyword in the desired scope to activate the refinement. + ## Why Use Refinements Instead of Monkey-Patching? 1. **Limited Scope**: Unlike monkey-patching, which alters a class’s behavior globally, refinements allow changes to be confined to specific contexts. This reduces the risk of breaking code in other parts of your application. From c569ba576d0a4cf6c7f2d543c84c7948b1432998 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Sun, 8 Dec 2024 21:35:52 +0530 Subject: [PATCH 13/18] prettier fix --- content/blog/refinements-in-ruby.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 94ef83fb8..740f0026f 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -79,6 +79,7 @@ puts "Hello World from Ruby".reverse_words This code will raise an error because the refinement was not activated globally, and it’s only available within the SentenceManipulator class. ### What Happens When You Use Refinements Inside Their Defining Module? + Refinements in Ruby are designed to only take effect when explicitly activated with the `using` keyword. This means that even if you try to use a refinement inside the module where it is defined, it won’t work unless the refinement is explicitly activated in the scope where it is used. Here’s an example to demonstrate this behavior: @@ -103,9 +104,11 @@ StringExtensions::Foo.new.bar ``` #### Why Does This Happen? + In Ruby, refinements are not automatically activated within the module where they are defined. Instead, you must explicitly activate them with the `using` keyword in the scope where they are intended to be used. #### Fixing the Issue + To fix this, you can activate the refinement within the `Foo` class with the `using` keyword: ```ruby @@ -118,7 +121,7 @@ module StringExtensions class Foo using StringExtensions - + def bar 'Hello World'.reverse_words end @@ -132,6 +135,7 @@ puts StringExtensions::Foo.new.bar By adding using `StringExtensions` inside the `Foo` class, we explicitly enable the refinement for that scope, and the reverse_words method becomes available. #### Key Takeaway + Even though a refinement is defined within a module, it is not automatically available within the module’s inner classes or methods. This is intentional to ensure that refinements remain opt-in and their effects are explicitly scoped. Always use the using keyword in the desired scope to activate the refinement. ## Why Use Refinements Instead of Monkey-Patching? From d3ada5de7604af53703105b5c8e64606ac0ce522 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Mon, 13 Jan 2025 12:13:31 +0530 Subject: [PATCH 14/18] Highlight code Co-authored-by: Nipun Paradkar --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 740f0026f..47a97e327 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -150,7 +150,7 @@ Even though a refinement is defined within a module, it is not automatically ava 1. **Overriding Third-Party Library Behavior**: If you need to modify the behavior of a third-party library without affecting the rest of your application, refinements allow you to do so safely. -1. **Enhancing Core Classes for Specific Purposes**: When working with Ruby's core classes like String or Array, you may want to add methods that are useful for your domain without affecting how those classes work globally. +1. **Enhancing Core Classes for Specific Purposes**: When working with Ruby's core classes like `String` or `Array`, you may want to add methods that are useful for your domain without affecting how those classes work globally. 1. **Testing and Prototyping**: Refinements are great for temporarily modifying behavior during testing or prototyping, as the changes can be localized to the test suite or experimental code. From 4d8e168cfdaf86b177aebbb146f140753351c618 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Mon, 13 Jan 2025 12:14:37 +0530 Subject: [PATCH 15/18] Highlight code element Co-authored-by: Nipun Paradkar --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 47a97e327..b2919bbea 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -132,7 +132,7 @@ puts StringExtensions::Foo.new.bar # Output: "World Hello" ``` -By adding using `StringExtensions` inside the `Foo` class, we explicitly enable the refinement for that scope, and the reverse_words method becomes available. +By adding using `StringExtensions` inside the `Foo` class, we explicitly enable the refinement for that scope, and the `reverse_words` method becomes available. #### Key Takeaway From 8fc4cce1b998830859345516312784eb3d150dd8 Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Mon, 13 Jan 2025 12:14:55 +0530 Subject: [PATCH 16/18] Highlight code element Co-authored-by: Nipun Paradkar --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index b2919bbea..01c3c3d0a 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -76,7 +76,7 @@ puts "Hello World from Ruby".reverse_words # Output: NoMethodError: undefined method `reverse_words' for "Hello World from Ruby":String ``` -This code will raise an error because the refinement was not activated globally, and it’s only available within the SentenceManipulator class. +This code will raise an error because the refinement was not activated globally, and it’s only available within the `SentenceManipulator` class. ### What Happens When You Use Refinements Inside Their Defining Module? From f0c621da704bcc8059c65c514c039282841ddcbf Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Mon, 13 Jan 2025 12:15:14 +0530 Subject: [PATCH 17/18] Highlight code element Co-authored-by: Nipun Paradkar --- content/blog/refinements-in-ruby.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index 01c3c3d0a..a6e5d986b 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -67,7 +67,7 @@ puts sentence.reverse # Output: "Ruby from World Hello" ``` -Here, the refinement applies only inside the `SentenceManipulator` class. If you try to use reverse_words outside of this class, it will not be available. +Here, the refinement applies only inside the `SentenceManipulator` class. If you try to use `reverse_words` outside of this class, it will not be available. ### Step 3: Trying to Use the Refinement Outside the Scope From e30e2d878244226e5ffaa0780c1cc8cd7ae90eac Mon Sep 17 00:00:00 2001 From: Syed Mohd Mehndi Date: Mon, 13 Jan 2025 12:17:21 +0530 Subject: [PATCH 18/18] Fix Link Co-authored-by: Abhishek Keshri --- content/blog/refinements-in-ruby.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/blog/refinements-in-ruby.md b/content/blog/refinements-in-ruby.md index a6e5d986b..c92f1e0ef 100644 --- a/content/blog/refinements-in-ruby.md +++ b/content/blog/refinements-in-ruby.md @@ -174,7 +174,7 @@ However, keep in mind the caveats and use refinements judiciously. If your goal Ruby Documentation on Refinements -- [Ruby Documentation on Refinements](https://docs.ruby-lang.org/en/2.4.0/syntax/refinements_rdoc.html 'Ruby Documentation on Refinements') -- [Understanding Monkey-Patching in Ruby](https://blog.incubyte.co/blog/monkey-patch 'Understanding Monkey-Patching in Ruby') +- [Ruby Documentation on Refinements](https://docs.ruby-lang.org/en/2.4.0/syntax/refinements_rdoc.html) +- [Understanding Monkey-Patching in Ruby](https://blog.incubyte.co/blog/monkey-patch) Happy coding!