From 6c9f5b565f0cbbb4f060e7c55766ba60c3f2df84 Mon Sep 17 00:00:00 2001 From: Ulf Wiger Date: Tue, 6 Feb 2018 09:43:57 +0100 Subject: [PATCH] first version, based on mnesia_eleveldb --- .gitignore | 2 + LICENSE | 202 ++ Makefile | 27 + README.md | 50 + rebar.config | 13 + rebar.config.script | 9 + rebar.lock | 6 + rebar3 | Bin 0 -> 706691 bytes src/mnesia_rocksdb.app.src | 12 + src/mnesia_rocksdb.erl | 1725 +++++++++++++++++ src/mnesia_rocksdb_app.erl | 34 + src/mnesia_rocksdb_params.erl | 149 ++ src/mnesia_rocksdb_sext.erl | 1100 +++++++++++ src/mnesia_rocksdb_sup.erl | 44 + src/mnesia_rocksdb_tuning.erl | 198 ++ src/mnesia_rocksdb_tuning.hrl | 22 + test/Emakefile | 2 + test/README | 17 + test/basho_bench_driver_mnesia_rocksdb.erl | 64 + test/mnesia_rocksdb_basho_bench.hrl | 15 + test/mnesia_rocksdb_bench_disc_only.config | 18 + ...mnesia_rocksdb_bench_rocksdb_copies.config | 19 + test/mnesia_rocksdb_chg_tbl_copy.erl | 131 ++ test/mnesia_rocksdb_conv_bigtab.erl | 59 + test/mnesia_rocksdb_fallback.erl | 98 + test/mnesia_rocksdb_indexes.erl | 174 ++ test/mnesia_rocksdb_proper_semantics_test.erl | 161 ++ test/mnesia_rocksdb_size_info.erl | 84 + test/mnesia_rocksdb_tlib.erl | 66 + test/mnesia_rocksdb_xform.erl | 334 ++++ 30 files changed, 4835 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 rebar.config create mode 100644 rebar.config.script create mode 100644 rebar.lock create mode 100755 rebar3 create mode 100644 src/mnesia_rocksdb.app.src create mode 100644 src/mnesia_rocksdb.erl create mode 100644 src/mnesia_rocksdb_app.erl create mode 100644 src/mnesia_rocksdb_params.erl create mode 100644 src/mnesia_rocksdb_sext.erl create mode 100644 src/mnesia_rocksdb_sup.erl create mode 100644 src/mnesia_rocksdb_tuning.erl create mode 100644 src/mnesia_rocksdb_tuning.hrl create mode 100644 test/Emakefile create mode 100644 test/README create mode 100644 test/basho_bench_driver_mnesia_rocksdb.erl create mode 100644 test/mnesia_rocksdb_basho_bench.hrl create mode 100644 test/mnesia_rocksdb_bench_disc_only.config create mode 100644 test/mnesia_rocksdb_bench_rocksdb_copies.config create mode 100644 test/mnesia_rocksdb_chg_tbl_copy.erl create mode 100644 test/mnesia_rocksdb_conv_bigtab.erl create mode 100644 test/mnesia_rocksdb_fallback.erl create mode 100644 test/mnesia_rocksdb_indexes.erl create mode 100644 test/mnesia_rocksdb_proper_semantics_test.erl create mode 100644 test/mnesia_rocksdb_size_info.erl create mode 100644 test/mnesia_rocksdb_tlib.erl create mode 100644 test/mnesia_rocksdb_xform.erl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eefd59f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/doc +/_build \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8f71f43 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3dee3bf --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +suite=$(if $(SUITE), suite=$(SUITE), ) +REBAR3=$(shell which rebar3 || echo ./rebar3) + +.PHONY: all check test clean run + +all: + $(REBAR3) compile + +docs: + $(REBAR3) doc + +check: + $(REBAR3) dialyzer + +test: + $(REBAR3) eunit $(suite) + + +conf_clean: + @: + +clean: + $(REBAR3) clean + $(RM) doc/* + +run: + $(REBAR3) shell diff --git a/README.md b/README.md new file mode 100644 index 0000000..890e858 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# mnesia_rocksdb +A RocksDb backend for Mnesia + +This permits Erlang/OTP applications to use RocksDB as a backend for +mnesia tables. It is based on Klarna's `mnesia_eleveldb`. + +## Prerequisites +- rocksdb +- Erlang/OTP 20.0 or newer (https://github.com/erlang/otp) + +## Getting started + +Call `mnesia_rocksdb:register()` immediately after +starting mnesia. + +Put `{rocksdb_copies, [node()]}` into the table definitions of +tables you want to be in RocksDB. + +## Special features + +RocksDB tables support efficient selects on *prefix keys*. + +The backend uses the `mnesia_rocksdb_sext` module (see +https://github.com/uwiger/sext) for mapping between Erlang terms and the +binary data stored in the tables. This provides two useful properties: + +- The records are stored in the Erlang term order of their keys. +- A prefix of a composite key is ordered just before any key for which + it is a prefix. For example, `{x, '_'}` is a prefix for keys `{x, a}`, + `{x, b}` and so on. + +This means that a prefix key identifies the start of the sequence of +entries whose keys match the prefix. The backend uses this to optimize +selects on prefix keys. + +## Caveats + +Avoid placing `bag` tables in RocksDB. Although they work, each write +requires additional reads, causing substantial runtime overheads. There +are better ways to represent and process bag data (see above about +*prefix keys*). + +The `mnesia:table_info(T, size)` call always returns zero for RocksDB +tables. RocksDB itself does not track the number of elements in a table, and +although it is possible to make the mnesia_rocksdb backend maintain a size +counter, it incurs a high runtime overhead for writes and deletes since it +forces them to first do a read to check the existence of the key. If you +depend on having an up to date size count at all times, you need to maintain +it yourself. If you only need the size occasionally, you may traverse the +table to count the elements. diff --git a/rebar.config b/rebar.config new file mode 100644 index 0000000..e526e58 --- /dev/null +++ b/rebar.config @@ -0,0 +1,13 @@ +%% -*- erlang -*- +{deps, + [ + {rocksdb,"0.14.0"} + ]}. + +{profiles, + [ + {test, + [ + {deps, [{proper, "1.2.0"}]} + ]} + ]}. diff --git a/rebar.config.script b/rebar.config.script new file mode 100644 index 0000000..01c1b67 --- /dev/null +++ b/rebar.config.script @@ -0,0 +1,9 @@ +%% -*- erlang-mode -*- +case os:getenv("DEBUG") of + "true" -> + Opts = proplists:get_value(erl_opts, CONFIG, []), + lists:keystore(erl_opts, 1, CONFIG, + [{d,'DEBUG'} | Opts -- [{d,'DEBUG'}]]); + _ -> + CONFIG +end. diff --git a/rebar.lock b/rebar.lock new file mode 100644 index 0000000..8389a81 --- /dev/null +++ b/rebar.lock @@ -0,0 +1,6 @@ +{"1.1.0", +[{<<"rocksdb">>,{pkg,<<"rocksdb">>,<<"0.14.0">>},0}]}. +[ +{pkg_hash,[ + {<<"rocksdb">>, <<"C92B48703D4812C8BC571E0FBB7681F0899F35C4E4330F1CF646D79357A6AFE4">>}]} +]. diff --git a/rebar3 b/rebar3 new file mode 100755 index 0000000000000000000000000000000000000000..a0deec9f63966963764b1ef572a6abb22b967b09 GIT binary patch literal 706691 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 TyDOUZ?_wNZK8djrchZLGA3o6I_2 zH@tIH<=efFljMY4K?hnAh|n!den!daM~S>8ZZmO+K;6tkfJatKk;zTQAZ;Z1cdszUQvJOa43}M zW5bI>U)pGF<=Nnb_b5n@r2Q z+QU|qrR-s;WX*`cm;}|b{a%NQ1oMs&vpcl!MWJND5w&h;s%~2|lhm-`lh+wWm{6^) z&zE|A+LS>|3Ep%MIm-0foY0UW2cs#jd7{+B3Zj#1buQdo~OJc^`? z)3UvTgKJ=Eu5jAH@XPy9*xA44QX_g%lbmQZc%TQs4EVUUp)^5e|B91?W8>;7gwjzj z_KjE7JKt+>LI$Q)WFOyva~HP7LVDKBtq7-9W1j^S<9Pg)KleR_@bzTBTg!tWg7A zxhOWwVgx(Jp2bXjOD2|Jv8}YnRH$|SIfr{L|DPx6it3?~;X&ZH@1ElDOwxsdHDanT&HwfDiTMH+-lLZ>tIlKIh@|uSP^d^1gRvgmHwM1I*izXP+aP zn9!^vRZhi}l;ZYW$vt@0`_orL!z45Zec%Zr<(fOW@ zMZrye?t4go-ZPle8W~~dp{ZbcotNbJdnQ%>YUYSeVNr(eiZ_6Q82sSoC~xzJ7_pJF^0^%95FE?n#$H1v;{4|%q_1L;=+7>)NTSMs9ri^xn=GmG#VkgSB9 zf?Inf*dAs1Ce(+Mov%$w?@+sVvTQcfy0?GcZo5-pVj_Yq;c`*F>od#AoIIFsq&z&A zP(0;M`=iuxDsTjHZL;mGR$!-6gEE1QlvXJj^V?1ZVt~8t zyo=z17Wz|P0CczJxobo{NcQH^SScycYhC3deSAxrm&fAiZ(6>3e`py)C}W{j&SGsv z-qODk_d7XEl-8R#$fvUWDD#M^1%0Klf*^6b1x1e`46oXFHD`|UX}?K3;e9Ewd)5pE z#VF_ANpGj@PUW(&8j(%(l?MkO*-5pDmNdZW+>v?LujLt*aEqqgn=fX$9Ml^y2M1_W z@!dSkfS$U?IWv2l#mR+`8(YFaT`HUXpayb8bXE2%=PO1Qc0FavZ~Xv^CJO=%rZO(g zs?3=#Zka(lMer)7FD>fK@w)f7>%ifkAW<&e?&RS2f=11tE3;=nm{6l8g*3(g{iD^b z13mn~McF`+zZQMH8Ul1Uw7eh^dqq@bvlS86F+6gkuWveAR^$C1W9=DIm z8B`cp&EU(wyMrJRQ$J}1N^yn4Wu>ddW6tAlh@BNe7s(&HS~2MV)kIGaK{Idu8~T`iWpVZThkyTPD}XBh_LdQT8Ix?;1m`WC85hK z`iz!%`GhmEx*I?8#i{un^435x9if)zOuE*kiK@3P>*h~ z`vr-}LNKiRZM0V}*PKr;45D5dcnx~h6gzT3=2>+5f(sw=-fTE(bG*C_w`f3Tg`E4d zx>~9@Q#L2C&jd&RW0@|3r19D$mT+6swuQ30k^f`E_1b7e8(cnps<7cdL%KD#8{J>K ze&wQxvCfqq3?&0v7lOvgBaggt8&!)|hmm1w(sr~EPjyb#rSw!VtG2V?qYGE4lL3l} z8-kk+o?xbGSx2~RUZ`p^F7Lnrc6h=^`o#BexUh@%GIUyj#JdiEe=3V$HWch~7~m5{ zYUWV3%PCjUE4=*Clb$6|YUKKCQgsC{zIDQ%O28K#KN?`AAd27a#Y~jg2zUIh)958 z);kxG$#Qv4@1h5jE>_)}g_3L8h-YuekfrDM(N6o$ibhb=w#mniM~Rv~Z!lTcTkYI` zE=xHDT=ooG+6m3wH8)j1!o_7TpuRu|>y+6hGZJ6d;nO>+gs*N?yNVBb%p;SGf zj7oGU6Tk6$LZoM1vmn#Q z>cNk$N|=dtG9}>0$ooe8S6Lw>=lKXxf2szpa#>3YNrk5t~3XU5S#=*2UMR_#odgL<9{alR0uZVPU#P*b}+m4*e~abcR=p^bD8f(>k~J z{UrbiT_GcQ4TSm7(8Oa)HFHa=NO;GqJ<-$}MqV!`G0h`)d*QXB`nLgZ@H#igArbIr zEFvIF-~@?pQ9Oe#J-e8}tT5<9d-GeaN5ny6U2Yu;S6t|MlR@)HOk8R2=}6{0uH|&E z&r{e1v;_rqnC(%T`H|{Z_t-@sf}8$!_b~6y>MR_{A1(Ta#%a11;>}@^cQTTd& zc%YK)6Le4hIe|bg@|qzUJvslFt8oWtHEhzAbs%>fr5ogdTkTOXlt0TccG6Sc&fNx( zMw?bKMl}nR)U2X&X!>!7LS5n*QVIXlT|2+oixZ2M10Q;h(!G6l0n3* zVC~rEk{Q-AugF&6aQiT^k19@x>@xo;iO1Vc(>|KAnHzqjyb&=I*5E``bsgR%)$<@j z{(~(FT8rtE)nUX~+t+Gr6WGfP&&S{?K6fr)i>RhkndQ8k?7)oFFKI}{o$f;8Ngvmm z1aP@TF&ro~(Q`7z+2w}}j^5n|yb3 zn0Wh=wZb;+A9;e?R_W-nq&^;@L^bqS_*%)q;3Fnp_(B|RH6goazp_Z{mm~X;!UWBB zEPt?I0R={e-$d#Xv(Bn-9{!ZLaF`%yu_4g&g`i+XK*aJx;zT4x#Y9Cqal;>xP$@o7 zSJ~FNUCR#szQ9LGoy*D_zLqJkkq02--U22etwV1sbc3~}6ix-`8jf!BRr`c{*8=mX z5WXO?hlzkw1w*lsz>|r4;miD7tRX%+%`fUOeJRTZLI%m31;B|3O-A7vD|?1tnyhFn z)ru3M3^BC27RpV)4GgCt)f=)soP|^Q^`QXIL>IKXUA~xLBfX|XHBeuZSTj@s^b)v~^k+p{W;L|XvM`Q%tF3EBmX&LNXGNJn%*IfU- zRt{2)8-I!)1#Ml4$oG;bMPf#}FOH}yJTY-Ww+K^YHda1fL>Ip#=|o7id=T3`efx|# zm527-MVZG+h&h?h`34{4K{IoSrZh(M42?If@PMkKliD09TY05Fl)uW}zT_=5+|i_< zPX9U2L&?zgGU-FB&C@W~tRhj>OEs)C9|9QihnwL(o&$|@jjgRVor=QQ<<_M+8T>JQ zHlChhy?I8R`cs4V_6@3w3_#Mz$099s{7CQYXki@qLq8tt9pk6_Y&Uh z;7Q1u9LEX{fVcBSh2GpYj3J2>I10bujRQNz^oXGcM4~qj}U0S18xS>n=0lB zO71)-vJnZ=9wdvff~5EVH&05kqt$cCAI zDEQB|p%4pC%7!1$au^gecDv|+h)Kd{;J5db9ZjZhr_mpXY10mF)oi$e7Nry7m_v_B z(&zsBb;%?`SZ&o|;cO@a*{mft1Y=`kdV@s=ikxt-o9EhE5mKetB7l>tsH;w` zTu@g0CB|zho^-N0Pzg29z@}lLc#|tMJm^WcCcf>Xt6T4ss5(7Aa%jO&(`MfYI{89#$8hhmssoiahbb-R z^{gty%xpvZ-%AQyyVp@O@H<*%rqV2EIA4#Irdz9tz)jvOk_1*hm!U6*vqnEOWz-qf zvQ5+Lc16Wf+Xp|}GU+4n4{QxLXrk1Q^?{+JsHq!&0FP{3C_T=>*TC{#H0^Xkky0hN zs_9P+rNc@yyic5H7Hx_*vZ4_{t*b!xDoXz;8!3|ZI&DH^Oep~1(8??rk3##a7Y|@h_Rb#hWu>pPgd0<})w za^r!q#-||6cVu@1d;Q!YysGa&-Wz;n;cm@MZ){N~xu3{G(QMO7B1s2Qzaax4#`+4| z89RWhbg-Z}yD*ek9-RPMJ;v}3i~}uwxtdky5^S6ppK(YU8bkh(&7r;6w?{4JGwvuFT+M>6){{EgKl zgz_oHp#;2X(uLq|83~ahOpf(a4L1&s)^Yim-k1Vdn277idv!`ujwugq6vC#NENcV8 z!}LH`mKPf2803GlZ>v|?C3qpoBHD7bAMuzZ>E0;0_-d$gRonjzX9C7Hjwo*hfh|yNf|?LitKfj;CQkJ)`j=T?I5DFF`FOwcFMBGt z0Eyi*0z@V$dn*p!tk}7gAagUBgV8g@KkMMUCG&Q2_R+5cwG_K+ien4c5lTfORka>k zsZL1Re|a`4+KC-%btUVE?q2Wc0Zxc)soBcaO!*-}oaUG@Bd2)F@rBd)IU zGPXJQy-2%LTZcHIz-h3)*F9zyI+*|=Ew zF2s{28|+O+ocf%}PX6EMGHKiYtp*Gf)Z;{DC_&E`7mbZAOz zHwNQiYT3oDJ80&HwH}*6EgYu|BtMhJdfF)K-XXQ_4!L;}_^WgsaxSFNPkIpn(t(@U z2y5q85?x3b&P#mgkI=pnk)k0XCb)Ryo-1E?O|aF*R9Ca}(-0G??jcjfJHKaXad<^s z?jMpL=0;)iAMXHOErZ`0aXQW0f%&&%t$T%f4Xk}>G>U9y6ik1)88@91wTv(&1lt)# z25|xQ*agGR@riQR?aTbVCa z;6JjIEjA6(8EoahR=&l1Ig%nxPOH!KJ8Kpsz-$a+luNCFaOu(M(4>upss!MV2@Em2- zq}Q`{wFAw=a281dS9B5AX>#=2Nq~=hna~1*kv+98zN!SoU05^5ohYjVx$e^c8g*+N zfxHyu5(GMkz*1+DIfj|-KLgfOE1k!Oq#46BS33O}_E|cZvRq)zm-!eIEkNeR77wFM zQIN2zXxm#SE(Hsq@9xKEY*nh2ra8H&Ux=zkQm9jhxF-e%aR#FtmSMg_2y{sJy_y}E zJ*Ae3FL-#!#`t3{l<`=R+u7&z)R=ac|izu^m1kjI$dpK}a);IAW2WbU-sdp|4jhpS1RR;>)&GeWzEm%_}=c zz(LybZw1GYIwx$Y%roFQ>d7|P=M0cd@TR@nnXhN>c6YbT zcTe{`i%W9CK(%X}@=Nd8nF-aMeyd9Yokeo+OST!su6{*gMZs>iOtYvd4j!kK<5XQh zoJu{#uZ3O^R68yp1ka~wMUW1njG0v$YGMXdbp>XGt0;{Xhy8$m2dXkr(gfn^HVy18 zB`^-R5MmWY_#!fYS)RBvrBr%=(F1?~H39zqTL}L4w3KZ_1tH&j1Ir!Q!^fB!Rzfzf z_Ax2OguE0gAj(SChUvVcf^Qg+9c4iToZx#yeI#64kaZJcBy(Ib>5F+rA#V7lkNtC0 z1k|2wby5@wyT`@43XM)DRA}e3Mt8oxkxEBw(ihz+9CTHcd5vE>g(mJals0P84MBc?vaU=> z61j9uVXr1mo=7Ojgh90hYeV1*gd_7m6> zt(2I}B{oHGmrNG5`8#VnOWs51G77d3Gm}KdS2(}yaxTu?E2r-p=8QBRI#N=P{`>CW zE*})e=WOq{KPEJLwo0lvCv)jHwok$-YL-x3!#esOv{Q9-;mq$j+D}*Y_&f5QV|{(&@7&X^ z-alS7yuzo69sV7AaC@$=@6t%y^pOLbRo6am<<63uct_mb_6G#3*G`Y2>uA}=jP#_C zHaj)p8;`t7oeB5&u8yl-_PA2t zc9#O0roXiXlp_f~6VVU2vO$ZkQZrJXjn9Ki+wv<8XU2mPQ=$oaDOFS+Wehm8t%1p( zqNLAaK?18*teG4Sl3*776Hzt!M~Jd$-ow)LleTo-NeRzwygO!PFvYEIAUT;oN`YnG zx3T+~O=IlM#q3jX$))T?wYrSIW7s+Gj=cEtpjQ&4oQi~^kx2T;2_~?;z%@u?L@V3f z{TXcaNr{RJH#7+E(d4ceH4o&uiv~;Sf6}XIK({INyy``#LyqT=t!K(Q zhAJe>j`QEMgdjXM<#EQ(NwM}y!QIDI{cx*g*d;dFnpG#{eT(?{hd-+pKQM+~yXU7b ztObqV0pltaHDvsLfyEr8I7dVj`cGah58oH8l&U~{v;0UZB#ET6s}yd~3%((HFV~MU z;=Y`h?8=y8uGod!@qjE=4V^$B^DZ9@gF{OZnlOPbUFO|I+>!gVmhom7wwu+cV(UO4 z$yuE@H^pMQ%2BbFcB<99o4+-v2sy~mGmPFn!z9#9zX<8hWHwNzeHON5*H*ryMuut* zOiHv9wZT6q&iBatlcL zzW_u)yT3F75eK~O$%2OsuU_3A;p^q2;MjY<{1!$693nP+FQ#p`wwfl7G>U+riZi|_ z225Lk(`C|05X^0PcvU!Ldb3gTqcxiE1I;$+bfm*K&j|3uMFdZt(VM^V?p)kRdERdK z&f^}~`%$N6mEU1+HB!hhP}?=zC@A1dJIE?=b_epMlyT>Joq^uU~&6~P&6l}P-#c1CAf zdWN`gr;Ql-`S2ypVi0uJlT#Fofwi?*Vba+ijgiwvhGo9heC=VeSSIrPvX;?l2&zCS zAr3F0+}_fxaVC4q08j5vLY7ZPqVj5!j!#)Ni0&189qpp%-#JD9-Z(P;hwbFAC+2zi zklOkBV!kZn8&&3XRbH$u@T4jhf^-{0$jRB5oiO8^#s%XD<82QbgW>lvnqhG!4eEE* z;CgZVbSRjsKBLWdzQSfjWx8ynv#B3sz6xh^zNEQ344n%7V&4*kMYk^%#*^nD^gwVw zK|qI6AFRADT))s0GGA2gM?UIFL0A%3A#PV*vz$FUa|3eU6EmjJWayn=8CmrRKy73- zf(#bZ7iNyV5PJhImn@Sd*Rj8!`R0Lzez|S{-!;FkEN8E1(w*P^;gkcGjc^3j#X4o(`dx+Dd^1upAXLP`93DbjI zoR=E(yi^Sa4udrXjrIGB>-KgqmWv@~EJrIq$EC0R{G^YpYpul80HFUSZUJDAe87p( znYwjdXzFVfg=w$(J?@7cKtkHC&Z=(6j_59VCLA@{vX%!*d{cc=%rK z_MQ|m_WVqDqQ}5H8+8@z3oOJO^wQh#I)qnbO|RtRAM{;N`DU{!!aZwNvoZ!_6{RW? zXeRlvn76WfOfdP3xgq!$5MuPS2`z};f88UF{CbpfkzR*e8|a*wr(9z%Yc#8-qePq` z5HEZ)?WV#kXFPQ~Mr#>uL;m(CXcw$YiLW6$qqi;zpWp;UU%sMTO5*=Is1%Oo@keHJ6mI5rwZ!ge(|uRaw)aZi&05| z*VE=2_{`TwToDU^_(h?>Hqdt=?Nfk&g`S32K|0j~_0g5U9nvDXD4khSp zZer`i_~LuAI|Lj$x44P5wTZ2T5kSz$z}Up*>5YM{@ox(^61Gmx7S1lt7IwByfNxYu z4-j;5Hn;n>yz^@>;Qw4NBErJox%PV&;S*>7SZ`tnvNHmi*%_IB+Qf0>2R68ys zA|{T+*n=d3NRjBN9O=q783XGt_rcUj;+||73KZ(YDSj<4P{Rx#}{fQnT^g% z*5#UGTHxC~Mlt#9yv9)Y@;xO>6Sa3n?I>*D)&$&LsELU)+@ceK_OL)D!DMYSBDT(1{c+i6P+{s!TPGw(Ua5g_ zee}P=9*k$x`II;7g1;6)x$h}1crStrRYsX6+hH%ZRFmVcgtk=~DXzmPjJ*-r<7t#E zMGce9uC~)h^ zk44I5k6wtwhu)TE8mhoWuL zE$BfqY#xJ8P%!WKbq)*VVza>iw^Q{cyMX5 zQI;w}Q5R)7HJrg>(}B^QvhE9Msiqe_WxRU1FI1C&rLvfdfcARczz11f-O1RocUL5O zvG|mNzsDo8QVE9Hzd{wgbz4DuHUmyhDpOSnY)|e2QGZ`XNM-jWJ~8nGKG%@jX?^U8 zdGEF6!wub8TmQKT{s;#O4STppUiAj7bx?4^V^}h!yMK(?hN!c0^cb;*{tk-*Jeq&JDIrtg37Q*9?3cDn*N?m2+!)vmYWg zSTyqA$yqlM;Vihkn;ncFPUJ8^f`%fJ5=A+|Y>f)i=9YZ!?}1!xks~3WB6EqPs?(li z*~#`1-@N~vW>GA?wQ8iBeD?;tVg4G+HZJg-fU56~VrYgSR<%&ijtioB*gXtB8kr%l zMD7hf8ZQ=%0P=~b^h}8tOb6V#4dpUe%)rN*=L35OeZ)!}1w-7kZtTD}a&vZ{P6f&Y zJ+Zr|C0WDj1gBmG`>M#ik}Plnv~#_WJxM2vo{M%E@Tw1M{Lr3COy%OJ>Dpg1-Ku}o=PlQ6^*B*nzAy4B9I@SIlYGgDbDadvC-H=lC)$)_BD zniCp-%n2yO(_@ly~|%)Xi#wW%Haxj0(ZTwcj!uC_e{|k@#SJd8e?S8dA<%eLL6^x&3 zY{pN*^~?p-`{-8NEV6${+p0KjyFq9RAeAwn;nk3)Gne5fH4`ZCoN{8f5!l2Bi&rR- zbo5++tTUyz@Jj~yQ4t(SN|0tr)*^NPIxF;ny^Q2^#|PE=TtSYEPq&P|F{^rOmHf!j zSQ7d(P*FJ7B@`&{XeP!!nML7?wu%9#=p8?G8_n++dA#tEG9n8Lrf1=&mR5|QDQsVl zqY7(i*SaR0+o3FbOb1Kp=#h`l0HbXwZeY=XYYUWoTzUAAb1;{^no4^3*2)cwW?`s| zn;<`AQPfEn*U(%`fZA8Q zt-kmOyntlSkInLE7PCm2q7hsN6gQ;(wH5xYLLm89(+@!U-f_{3t!S6~)1ij35Un97 z6#b@GtaZ9(%VLLV;wSmJm=9%AtxyqbiA7ArFhd19$ zUJ<^=j+RucgZyc=-U1mHc0*fsQBTsJ#qz0hR}7N}s82|#95rg+bw-*}5V+A&xUxo26WtHE`OdmLi+8CM@^m{LgU#Q#?7}po<(Z#3!e?}22Vzu+>G)= z?4%VqrZ@F^b87u*HiN`H)OES97Qh0`Iye_TI!p1gJ-en(2sPI#dVx!PT)69xNV}WB zR?S{DP=Qb3nNCiWp6-_|MZRjo&g{6fW;&2I(cevRk7y1dT3$Ps z5!s5{TG?}oyP*v>Ks#$E2|d@(IxpaI+Es{amo0>n>av{_q2K(u8*L_hWGYo#H5t77 ziyIW{;!&vHZAG;de4nfhr z?O8{vX=o*j`L=Jv^@-LUpXf&OmvadC!gZhzRmPd7>NaZiKo95^H>WrM=m9AFo;Im~ z6h8ubL{g3hmUeCi00~b+gC_;+X>DQT`6PJ1RedMVUycp|M?hB66cm+E1SrbMDL)b6 zFI(fDggGaWorRhCdkpdC;(y|nf3?x0u9;81NNQN1X2f78d7wIX9)YCdrpC(^#4Qqj z)VnBnh(ci#z#D`xt-i5yMuU?z|EZkf%YoA3S?n~rBtk6D$FuqIXvBD~#mdS@j^&Sy zbb5XbU@eka_{h~CJ3Gw4mlp9ec|TMvgFGu@5o=06c!0-fVGEo`1hm~~4Hjbo$~g7E zFu2t2q-0+6-TTPc$uJy+B3j-oo$%TM3SOgC%h)%J%s6s~B^3Gv5>QGwO4K}ZCuMgG z^?@GlB89^x?|gV0vNe4T`5ZAtz@DeE)I~FMN+t^oZd@wER7w;Y+oUYVIuvA)By4rf zc+#wy(ZhhJX+UsT+Y+RYha+13zrSVdXH`j$RV;~9GdOf^C;ydH?@DK<^tkWOHhR=J zU4buZXc4;Z<QdP;cGs~5vS5DS%Qa%T&lU&*>aBe!LIswUh+fp{3uk9i|qUpBfHi#%Ko*Q?`ICqF)E za5IIuFq0FapnOoUanK+1njFA>8$E)+61c|WU*#q%To9@kY?jNrU9D|U%eU}QN7elX zy1Zs!Ac_XZowd=xoORqzz3^$kvkj-ZZ&4$} zC)mM0nOn>+s>)na-QLgYI0o$IVtKbBHuiUmIX|DtAuP*?2gLayRZ!LJlq}3_zo`jn z3mc0kfx(Cm#QmW>(4H!Px%_KnKUe@lT>xIeQ zC3^*RHo})ht#WOUHH=rbhH?$GN!DK<(K5VOkmnI|vA#;I%ebR@)~!5bl!Yaw)UgA2 zH(W|S?ig`GFPwQ@j<<^&ovk9l9Ao%ML2q>u zR~2h=mcAYPMe-XN`#q8I%O|Ta{>37!$mhdDvtBkMLw>0AG!S|5MxkaEe09P9`+66;94n`4x6Q^SubgfI2iXA59@$_# z_|gyoFRcA0VDqHBw8_aL&xi|I1UXkSz4Mb%=^)A#@3t&e-9cAUW$C@{yBonloh+%v zvzM+%X1*YvQRA=iv}H)vYUY<*KTNu==+;N1_F*UwSz*W5txC2@BpSeT#K!25S(AHl zd(5r-WR>Nl=0e@MW9X}0eerXv{Fm~tZ}f`~OuCn_Fkoa6kfSnIFOA>-F-PY+EvtR> zWDCfQN?m^^P$Cx7Td4K<_}Szn z2Tw3=G()HeKF0_$^(0+;&$oDKbyg5>#E32ua|k<2-vY0&9Xpur`r@#=hSb?*;fFLY ziCL*$S?kliI8cm~=dH0uo4J8)vaXV>><-(!n^2rJz<%&d424>3Wrx<%(l0kOZV1LjmVG*dkE#co*~~D;Mc|n9cVk(Nsbb z^vCCEEUllBrEu29$#|M{#OjDoqdvis{|G{xpP?Ymi1K}0o}d7&CZS{^W#aLxTM3Vj zD<`3(ECLX?HuCy@LiXu#2lezf`Jv%fn~NlfSoR=*&V>Bj;q^S1y! zGv|*YBaoR<^Z)ka{1sehvFivV$!MliDhJk|-FkBzrJh%Drpi**qw08#lP87-U{YA( zGd2}z5feY3MV8IcJgL;&^q6KMeZHnNlqRC>C0Ewm79t5Rm7-a6A%5uXg*Z$MwUUi_ zFBmRf2RO_1#8;ctk$-G7nf_&7ezenatF*GM?>D|&8xRylqIMW-AieAN*OR@p zTWJd{b24tK6N9WlJ9wZHa^ue;#jmR6^}~Rc zrkA^%g2O^=F%@R_AriNT85 zSUsW4qAdphC_udT2V50^azOa+aQ$U#?0Pi+MpR?JUKWJX>>t|*xl7aUinK-go7f~QW7 zw<%Y@R`*u4n^&bUoSa<fQaRFw=2fQ)}au;)KI!%_41*$C)B)F1eO`#w9_+Syn*F=7KT ze?SBY2m~?#o?H-4P7cl|c>S6}h>r1FYXIG^$qK(5r3hqV1adO6Gk)K!^>gt*dhfrA zBux&%!qM`_U-)8V!)K;j5()r~?@LyYo-Ebtq>KwamJC~34Bf`Ko&slhOj>BkIi$V8 zz|=^B>k)ftfzwb3em&q?Jlbnltqb|^r9-jGg(>9lGqoxAS4pgZi|Oyh-vzQ%U(d#Ra%Q%X{$v%whgW%?LV{Zv%-Li|zPpXS0Uo}rrULsdTI8gm`@X8>A>6pYM;=HZpG;z1jwJYm zH>FhV!;6s{TxL9*e4$TELw$WSScsd#U#3mt4`Ccw5!YeB#3wLyI?kDW+b zR09`}T;^xg1zLsFC0nLW} zcKzF{TFtH&;>*Vpyyqkg+FPyj5u;tqlw-*EG}UNU7N04!;h zeivF0k_gjwx?&S|6&Wl6gwnA);*&Cwj^syy6d#qhFFTkaFhB_<02c7L30b!4B$omR zq6nl$UpdEpT@?z?`f^VYTuDep6{+dg^8}$)EmFrJVVf;_H4TPi{Pi(q{FY+Zy}RU3 zBe`uQdwaJ1p7Z!OqxxZ?P|h3=^Lq?A(R}n#ikr5*I{(@`rXUk7RiL$vi_Jal54%XR z_$9ibD@JL}tckfk6jOBcvjyv;3!>=P5r?&It6(9h2ElK~>plktKu|tWGx85=h6aho zejo$*|K0j>;tX_>ZM#W*`eQ@X14B2Yy>>W_l_z zar{#JU-_N>O4;R;o!W!Vk46hMd@okSa;zyDxQUl?MK3hPpMG}A%zYph{U~V*NPLgMmj3Z zyF{Sk4f+p4k{5k`<-?|)*&^ZQZtLRaIdA4q);dsf4tS{j3)h%nCSOBVM&3pxgCOyd zuP6nRaNnJ^e1-LKI}AQRX5JE(J5zSCp-!VW)f8U&Kis_qSY1iF?~Md^4;m!6ySuwP z1b26r0Kwhe-6goY1b24}uEF7wPI^vvpPt(@bLY%=?+4G`54G1`)PnWaZ`UjJuP+)y z13N6|p6rZia96!*S;LpO-tVWBk5HN%2vhd;#cLS+PTw?q8#FHl;;K{Jq+`~4G)&MM znN9D|Mkx#a+Q+6aHdM3P4quQ%LuRXQ?%iBJp4-% zx#@zAZfGKO7c3#9ttatfQXk(|$qM6+jO$my4lV#LK#UF~EgKUeO>11_?7w-oh3JPW z#wJwsj89gsZ|X&GMc*y(f~qV-_>GH-tN7T-rnopMUI?;0{D@2z zwerKrfzcZ*6`E`9;MV+B$({Jmk9G>0cq?+%tBCB+?O|3I9EFubx`HDn`+gvLtLONvJxLuwj-U&6Z~UdIU4k%IDl zDi`%Sl?!|2g~JbCym>1&Jo`sjDE&STK|@3JV;B+h8=F|_;0nDyS?Za*x-5S$P50|6 zcxY&TA%0$5L8V^;#J>z^I-2j}m;ToQ{pw}CPUe0z|Hu0MOUYbKvk`dicOa@WAd<{g zut$mH;V9VmG2&=GcsB5IbF%u@s9lOClHn*88ST)RUF$hUv(Tku_~jK&3S{CE!SZsh z-6vG5H8zBuUo|;TvZ!-z$T$WGuuV&_vkJ~Hk1}Tj#!$v=sj>AE_LJ_OVsaI{CFG{% zN~lEFB1amu+PGJ&7hQxh01NcNJ`q>c?hIrSvnn&E9@Ba% z(4o}%BTLS+K>vKHKrZuF)X`!};|j=+25i=yDP@ut3PWU+;-4^UymzeyVaz@- zo_Vo1q;9{l4nic1S%gf&*EZGDmU0A5lxp=Y!&V6<{508bfI}JHw^rA;;T8M_4~5kJ zj4L%V4Vvmam`kk~8Um+(h9l=Vp&N(cp5+c4cB?~^+;>9Bbg-^aL7vK)&WO{;%YOV} zqYgy7(RwKy>JCZ8%0?Sr4!*II7vj|Roe{0`OFT%}f6d~4I}6)-rhFn9hpKI=%kF6h zEd~jVd7%DhqV|7!{-4a^2>Y7M4gvEK4U@9}}9_0lM?7cae$7q;^ z@{)OpDMk|yJvx@tuFeHLkUG3FLw`EF##kpLOJ45hWx5%#2k~Q#W1WR!&n3PGpVz>- zeWNXhKtcliaw=~KkSE4~YUut1kz1Z_gki-CWd@3r65($H@|ij;$dI1YQ6U-OmiWG! zJ8FFt2J?~zqpTfY6LYGa5JYk#8pA6ogF_%@XqrdV+&f_I4O=&z93!mKZQhDUPY4Xc zJNYj-)o69bPHOAZUk1R+ui2==nd`>^#ra8{LRk|ceAI4bcY-qC?iqV&LQ*~C2*Yyb z6S(#P_D2kSXt(fIY72hfM1PR6L5GljJ}K?}4U?yWB^^P=#SRg1WY;{6BG8tD<|Akn z{()-QB03d*S6E|cz`9|J9f1~}zMi+pbtcDK&e#DFUTmJG56{m^tXTtNAJWnFh2R&_ zqUu4sOGA>PJ@&Ha!JwFk_e5N@gS+RDG;VEq*2KPyB>_MJKq15}DhUDyLS`6^&$v_- zhVfXybh+}}Uux+KM}LuTY*rnWei}!S2b^C!T-bFy9VcjJFLJ4w0U{j<%87>)W89PC z>u?wW8{4Hgbffy7wRn1E(cSCA`v;X_0P;gzNC95IWX7ZJewVWN*#3KMl3#VikzfQZ zf01aWz!kOBqxv=21cmfY-oOC&yFib@kKx_jkYQ)g3mpvc=W;L0MM=eOw1S16(UhbC=iI8SM}6ne68oKON`46OyLH73BZ1 zvVrdPn}wE+NBzgnb3iSM<$YH`sN>&LHZ9`#*YNhcja{&W?E)CMn;BTl;K`~ z(QA|Od-MPOKk%>IneL$?=_J>$;`RMjvkJi0w7+QVM3`k>&U+;+Ba+2vBr2Bo+ulZZ-(q(SYh)Y%nV zbD_3PoSgA~uJ33(h0tefxT{C7H#ET&)Qk)vqX^PcgxzXs8UdZ}CIYPeT3#!a>k5rx z*Q8X6PD0n|pniX+nV|(eq&!u2uimp(zKR}y$70Ny1LJ-(#i-8rDlD%;S3+`KrBt5* z5%{()ELQJ*uFb!cXEL=VavjGx_1I%Kk)1XV%ZNlYEcr9{#w7zgzOT-O8$T>yDggM6 zwy9Y%m1>Y3LMi{mHPTBMD|yF7tF(1!5%mFD50pasG-iAvJx5`gZZ?2piK>YuD7I%$ zqd-_<1>&^M5+u5i@a5r+UMCL-Pu^txRc$g;dr_cc;2Xs^orb@h;C&plF~ih8VqRq7OHmX6=O00;g0j5qeUnA!mZjW+MXW*uzkPRaOkdp_!&i(*{me5#0`hqS z000USj0w5Few+gR5h;?tA8@~}a7Tg=)&F&cI~fhhk8yzax7ToG9CXc1^uDWr*}smS z-%F@6(9qH{y^d)5A90)@ea#cJr4DUr7w28 z#b<>~pt_WIY7`KB^83Ps`%#rL*~&shL}y51O@5+6 zu0N;1sssrc z&Z;<7cMuOsycvLYK%?vrZuuG)H~8m~FfmKT0Irg1~QTvQlEUQF*u_Sb5GLZP?}!RinBeo z(7F);R)6Xx%lu|X;0KQhxc4vNX3J(heZGKiVaX=SEH>t_J7)qp=g<5W;rkWHN`xqu zGD*#w9oPf~bRUrbh0tRCqaUe`N=`Zn;cTqgcWM^RDk3IN0B2GGz!Do19HDK{fEWLGLQ92sN zdPNcChTGVNr>R&#RvDk(Sv7bYCvr+=4)GXF+PPncEI`I_&vO%4U`&v`M_>32BmM6)(dfY!y=_(Z$HDq zS)xRUJ$bYpSQZ}5IHRll{X}W9fmrzo{j4cjTnU=XKm4HdVy&f z5uBZ~*T2$)dU>y@tZ_6E$8UNwSZpOu=@XZVc#=42^bzV1-hP5MxbLB(&PxQ@zJ)SE zMeXxxphLgAYjjzDH*#1}0=t5_B)ILm2ecWd`Dk(`Z=w_D-~#nQahC-vwn&veeZa=v z#Y;A*ZossGX26uC+cJHF8T9}}S3(_8__*M6jfzsg=%p8;F$As6nZ>P?@Wbq)tAK2HW*^4h?Q1|Dy(CUn*wlQM&yWf@jc#c@lBS~x6i54@+#}!h4JaXO zL6^M!{X5;TweAK|aZzWE80|p($D~E3fv)Un3IzZoMoYVPAeFP+m7U6LBG;jHraW}i z>!nI5hNbnJCh5#3<8HSX+A}*&&RDW4C|=miXURYVGZ*^LbN>=(j|I>>rp`b^ zPIBGa`1Xht2Ev&f{|vM+<&kvX^2OZ+9MN@fh)G61D4Y_uY=KAKk2Iy6ktjA(=VMoxt*oJ$&ZXxanwa>`fp+vPqmS$Bv>m)0_g(%Xy>b=rn=Vyr7?$y1{7>^a^qT z?w7ZDgr8yV0MD`~uK)(@!?Val!VQ*?dNv8sJPz9e)X{JiWMjnSfuW8xhv<)Wp9K4< z)t6N=y;*nf=bn*}^N%@W#rW)}yPZ_+Mk0jT6j@I1_oL_z5>(#cud;Lxw^$6)vzbDg zaAyu2*hYlv`4hBSaKxv_t&2(&XE%~zrZRnWKJMNZ+9XmHaKKq`2$CIv_e;~!{-Sx8 zfG-)IxVz=`O})8%WJv6z*$1dg*$sR0ub#vO3rV6HW?QskG$8NAx8krnh-lu-lz9f8Z4lBm|`2tER-C}CGR3JX2eoYCalee zPp*`2-!}PK27Cvt{VQm#UqP$#(>(@Aj1T+Y6)s9i(BjZw{Rp3<$lL4a*yHLO*y2hV zygr-jSiaKkS5;eJXxu+N{!8@yHzgR~9aR=uT3S{**6)FPx}QxNx<3>y{(F1=EAVdh zdj{RT7iXKK_hqCoIa-Fu-I6UNBzI{5=Uk6!^83{HDR*dhkV-yx@IB6xqM?l@MX$E; zoBD+=IU<(8+*x*>{H_u1k;Ir91!R?Y#Tl7r|FT>?FO7h2;k(4qMrhGMz!b}~hW5uR zMlYQ@VS3VVDHdonM5iT_@8C1LobrPZp2Aam-Lkda$NXF&=g~ONaZV+a%H)*rQnU~&iqn%oFCpS?B8f9hu zKGloGc)U8_wP1p_)iYRyn7^ipK5D8U5k(_;cM8s7;gL5nfvcEsDI%Jx(hXYcT(5}v zF2%t_f`o{0apnTiT2OIo&F%y9HJ*87IHTI&6v5$CN1JmgABl=#o{)t#&>Z}oxWc2R zzgWPS*N|W-f?6%EY#4Q*Z~|+`SW^cdAWxDA9+X+ZCcYHQcqa!< zi**Er!|-@-s4P2YEVw?Ajz?p+K?HIt-gxm7nk{fdYf9+u2l@2Iv{Rqvjh0PYUUj_K zDM9Agi8TmT%{_wRWb7e}LP-Bl!9Hz#V6zu2K6Z-%>N^}$>0AZu=~uutcjq2R_CPPq zSv&UtE?D`7yn!0p%K20fJxx!^V+HScx|@g9AQi>gSsY~>^g{e%QFoOt|D}5R=MsR( z#Ps)%MZ*}u55x`aG?s6q!Q4^RJhQ){3@tcMK)uqO~Kqy4!57MtUXj%NFGcM~@kfN`X{{W9oH-xs`JuO&i42 zG0j9|*)f%vm*H*LJUNX_5nMhP7#{);WNuYAeT7J&wgfab;_6HylaZ|w%0G@7pC%=@ z)$VP0-QFV!qe={0fb;ByI9tj12*_|7f(DoH`zeXR;Zpj;UQaGfx(17n?vI1)Jb;C%r1 zLhHiU3oRK@tdpa;?~!>B=U4E)!WUTMZ{W>l{ohr;{R8;>uA%=6{_y`Cf4@#UDSy?` zrGMot11&8b3&Zz_0^N7)($mrZ&;k0N?EA0a+eVkI0B8L`p`m(c-jgf4|B0+-Sd8JK zQtJ}7AB$5SClK6t-iouVD}C6<2#h$u*oG~`As$}{r1H3|Up<{{HT99LFRtJk&FJkO zwJ12W#@OyK!?E*&Ox3a(-C6c?9mn>OT0%cJjx{(<=5lY1h1Ix^EkeoUM`KkVw0h@g z?fcLj?3m=W z9z;C~>#SSp;gFs_2=cw#V&|jxM51FI$%0XmdSDLo_oLbA`(Jg~GhJLxx-v*Yc2#qo->Ag5nnO|+Y z*`pmZA7r=boC&NoXzAETLjyys)tD^7jrqLm<7>^-JCYMt7IKu+$se%Gzsb-R7s7Z9 z#=2OD?V7=qj#vq8fEbCQy+Fhxu%)D(2S07f@x;3ft0r7`nxNw#z3|*$jXiy=DOyux z`o+)>X+|S+dCk%Zbi&4AK-sDS&Pn}Wg0Di^eSfra`4D3&72?BolP2zRtn#11mnJC< zgl^yiEPEm#TX60k*p2J$UhUW1Eao?wW&Jtg4W>)SZl2Yf{8Ct zQjk{zt~(2QOr6tfkN62U+L{NX)GF1jDy?Dh((n%LB5s_r0a+aO_+5`+Uf#<+rO&3F z)-;u0!%a3ROg_d!G_5>KcKC+Is&ok9R;0cIx@A-pr52j*ILnL&f}`)XxlAYUh^>EO zn}YBK#e34`ET`+3JPFG`+xzU}4moT+=;D3*EOEo=haOD(0J$*dm2#GyY}O4TcFe1d zOfyl8z-Ku{0Q3f`&tPRm&S~+ZS#{w(AWLKX0hzf`LQrga%Z9?twyE=}SSxulCy!@e zhr^`hgE7s~QApaIC}T1P#X?OS>kLlxO@5;R^$w>6n}`JX@-_(~Nt*|w#=$zOClaRV z9M=E<0RR6003iS0T>2xWLv<(e3<2w}meo4hQXe?r~ zGpgA^_EQ;cIO21C7WIMet+bGwUrQUB_Z`^T=LH zU$Y$#^d5HMV57#l_IvW##8`@>)YGgLA1i+nDaAHjVKv#_aB*%M1!>QMzVUX$Ga{x@ z{hk)Ze?<)rjSpb%&z&N)RYli{sG1e;Af1A3?!@NJf0r7S`E_|X6cXl-n)=_Zp8A0` zImX{q2>;i+eti-6w=e!oRld^p_abcH3x^qKnAQFVdi*=7Lt#PK_y-To_OGlHc()l) zbu(@_(QG2BSZBJllpU@l&lm+7HFd)YdxFy{_Y+PQ{Mj7=1`LqzTvrY`=(Bp$By+8J z<5;`~ar_P^(nX^KVgsPrK8YD-q^ZV8Cg_0ri~X~%E9Wk$NXh}&5T1Y-(W>R@r0;mf zpQ!WE0_>O|4q7ht(KbQwZY113JSA^>APye8>rZ_FAq-Jk$lUv&DFx-5s_sad2|AeABX5bhID3r9j8z{Dysl?8_bbrC}uV z_x(b5UQJ}<^%3yXOvqSrvEm`$tnyWpB%BV*%%uC-1O=L7)!lRWjBd8p^bi!Bgb#%cQQ*N05pO?cmT`MS(!-rW5AWW zJ$MO`_sGhWz(*$>Q({axR1?>n$;X0MLq!@=>Bz?_-bL zpl&n#z5^lV6$lZp50szrMvai9UbWcXNgJirks$A3qTiQF1pYn(`13yrjsz)X;Djq? zU~6aKLW@j;_)F0!64Z|uaQVL%lKnc3LPAk6Ho#Ss7nJ)^?fFw?f|iPg;>S%P{N>m$ zfy3{&^Y0`_e>l)Ibbs3e?5BmW(9tupGP0`u-*l;ehd>ym3Tj1n#sqt=Gw-eB`_$&e zOZsN&CU)&?%2!fnp>>{?GJ}8{K#-4=M^7}lH}PslZ>ED?)^mJ4DHFzZdd`!U38VB% zyl8ShTW|Jf(WhRvQ)$RoY1Mepc?C0Uxw!nH=96s$!hd=Uy(`|)Ues}Uov}|(FZr*{ z^1thYG8tu|zJAyx0PtcA?RnO#j*k+xM;Xx-|IJ?pz_tU2X{gA9Bo%g zzB218nT~L%oS3-OTkCJL0<)IazD*V?t?w6MTxZDw}>^ z-UhPy>LskcdI^0$?Go_Gg61)2NVX8OMIV+CnDUSN-TsH~x12oh|0|~Xzq{1G@<+T8 z4bYfiyO+Rg#!Ho99FIqcrzFZ`e04U9aU~%r^&yr=gEEFWi;ljHbuOPzRn59FlOT`_ zFS7Qvu%Um}%5U{Z%hBVjbG#^GCy%<_v>HD`#f^mE+T6DveET_ST33I`D+lyE@U3Yi zK1a(l(pdnq+qdm^;nUl)eF#QE;Id!*krlXG=$}2!Q(sWi-nPnyGv*f<4%iwk;Tcv< zr#J(5$gu4XpDnkfOFUPA#52BAR;zy*z2mH>sQad{GO&lpCRr{KT(6P*xgM8u$P1sL z+>_nd5Kv$bP)bNXgb42{SZ+i&i&F1r04^x?{I_B z<~~x|u)5EbM9s1K%j%9@DFHhrKs%$NJ%j*VK%&3syr>F>S2WYEY&7g8kq4F}TFc-O zKhbzQuNF^{fWTGKo^n9C%sXX;Larx!J?bhM1BhJ}J}Q0;iO*+*!m9UgaAKy3gv4Y% zR*FPGeYz!*<;lSz5e${Q7)l#H7(C8xpe?!RH083tUA(4Ou#tkEPeSAvo1NUde z9p{xxFQ)Su7#pADf)>PjfVJp1jU#4$(A3;$WNdoGrVp9Sz?jn_`x6^w2Mx#N)SUc zlRp$BnyOlaaDzV#ObAxIMbVE$gtH@|>fL-V^{8@mb|v_XUvo$uKDi*M1JapbRp@9N z5faK&(GCMLY7@4bZ}rYR-$u80e%#j<`rHU12s#x>!j@sJWyWT$*k)y;(L9s`QPW_t zRT;64-|S^)Rnibab}Xs<2(514CMtAQ^m&ERCL4t~7Hdpri>TQu$A}P5b9V(Bipm(1 z-KXNn*XYx9qO5&YW0H5!iii~46sxu z0PgYSnIq2W`)2OpPqS8DMU-oeKsVP3$+e7&-A0uGVnrnB1mQ0l#AX|n(wAT-094be z0bk^J;|{Kb=T7u_72U&Bf#Ozl)4Cc@)JW|8@>1#}`=P1IhfD=VSaQzg2w zW*@gqYK4V9QfK>=Oz8<&_k_Jr(l?bwxYb$*mUE$x@sP|v4n#Ig z3B;c33+LcB#V&Ze>cNS6u6s8WS@`rF^UJT8pMS-C$4|^l6yFUk=~=D6yOEk#2lh|< zZ|THTbx|=G5}3S>xuKP<{%-^T_@yPK z1*Cr~0Pt%d2MPb@vA<^g_ZjKmVf_Ck*ZEg~kJ?v=o`h7YDusE!(mN(#WS>ONoZ~@Y z4PetEzt(e4h8Q941+UbaVQpKl<25J_hgQJ3RryBep|rOy?z=UrP*KDD%0l2`4c5x;FKG{9`op&7;0aYP~( za*5~8mgVDo;db=H7&$x<|0B``^XHSpa&mn1Hn ztjqd#LkLM(a3$Txp)I=8EAw)M$sR-1X;e_?VXP?+aJPKb>`AE*Oxny*d;htqNQraI zs`y1zrR}Wn<*K3VEAvBB!xa?U-9A4bPSCvH7o_ur=8YijhENivQe^B@$UU3GG1wK( zqWCP4R*svBS{QtZ4up?KO6=dJvNzT1tKZ=%)WAz(bzT z2>I2Q%Ql-=OY$NE#7Lxm+38Ri%Ong3x_he3hPlQ~6s!Lz1s4nKy@|4OHR~grUuJEpdssVF zj4p9K>mu6Q@>UKA;}^daj+t2~;4S5J4DY&g8Dj9ewR-gO^4A?S$+G)g%YS$ z7)g-(@)Xg{SrBg>pbZM$z7W)7bdh}O#(Wtk*FDX3gNRBr3PlDSF$Oi&!*c-k4h**Z z*!St8D3@~YD(^kKuP4X@E-Y!FFkqz|j}acPzbaLGwD(&;#)RgLchq6Gu}Q^d&smy7bp^ZM z<6ib`?~K3{eu;{%a{qKxi)>;D>$5j9IzX8(>xI|JDE|pmOf#db8B@#tJK!~50k853 zc%Gktm$5b*nMZoWlwzm1okS4%ZzWYnY%Ep7CjZ_m=u=VdiA3Fd7J*vE#3)X=HllvGi0R2h3KyFyK&+6#|e zfL_JlW*5zOLDq96; z0TZ%a{`l<;0ouBx!-lO@CCOpR#)fZJhL~o>aLPRpZrxj5rzrNE8H2KA_edu!0p47( zki$6Juiqf_mkTK~?49>Jvmx|SPcxUK)8a~SrRyti0yOe7x0zY`HMSVxD9UoYvyZ4W zJI0PfK)QDAEWZWKTu%yxA6V#N;sg(RZ+P!;n|C}OWb#gxn%VSBMA!l8CHWvNKw0j#ei){xT%z4Sm<4~P(1hLF%ig#Qk)6`m6%9w|OwzAUot;~_O{9JOvx2WExf>rln`r+mqHh{(&7xYj81i-$urU;^6c%%A@g6&L}kcbLS(XFc}eZu?`*9GquHI4yT< zRR3$(?znU63QaR>Wm@H5mnBmejyEE5rcw_3~S2z4p`S$z0lFF=Be`8M30{b z*Dys_2XlKh@YFPX%y`2z)`R|uaKkE+zReyx7rAXEb~7GWd-)K+YIH%o%l9CWjbAL zTkY{JS%@VCGl;aHEpK~+58LtG+_ny z$9g#G&~DISYT_KRZP=tHcO1cYUd8Bw@lTJO{}O&T498$6&TGW$L2;3v0}yAvJwI^$ zVHo{_-@-4pJk^e!o^Fq2`df5v!yI**LQ~fio7S2GRP&%7i4#zGnL(=W0n_d(AUq%m zd>CdP-EET^bLJGT4&d`Z>ky z(s^7v$aRX01~1tS~s9~oQ+Kxh%756LZLbW~U)#wNiG_PW#6XqUptBKM4ufTa4eR>q6SN8r2(kzwQ2-WOwCob6G@z1~JR zJ=#c$GdfAi?oDxUI-+bt4lRR_G2BM5h!-TAw3r>rsB7Tv=$)Q$?>^x`GP$dJ61TXv zuPWLxf1J>Sw0 zYBr((5<0*U$=_99sBMwWj*ed{?qkN!e;&rQ&!H@$GW*iugMe2X<8mV4-!_M{jq~sw zzp=0QjeNzg^H2POq+lwihvU(0vVyf1I5}wiF@T}_``GW#_4SZQ&;lk#Cf|AYeGwTg zIt|*7>=yj@rD*!EhxER0*Pv%*L5ugxlImAFzWv)7ze;xh&^u%JDf96?9zplJovwa1 z|0CD%S72`6jkGgfZQj-t%SKAT8ijDRE35DR;y4gXy7p zcZr$Hf_kXbmtcWiQtfgvgfO|SH4DNa2PgNgFC8V%vn``Y8C6x$w!%2Zx~sa$A<5K^ zE_MQ50G?{i=Mv0s*Ph+NW|I;c^8|Nh5EomIlydawgVaFGEuKya!y!oDha+{2mczlZ zkx~X8ttwZ;6Q==@LPKTc3;f{(H;QS{-Zn_GHgM`jrX=#D2b-BOMT z?4apvxWGm$kWA0h4nC(Qn%lKolxeh*OWcwr&033~f_C#>LnuQ3rqd+QG0~AzRg=## zASl7aRpe|v8xhkm*?wqM9A^(!uY7mS~1gX0MBxP-_Za?cyrEw*qk(j=G-Tyel8}_4DZ`g1|Of>v#Ec z-!|ks0dBy>LgQgqE07WfneV{L$qL)I5tY{QI;^^uYK3tRwoLINAgb@c%N)}74%wpO zL#(+=IB@G7;c4~Y%9>eKmH3B9cg+fFrQtqi;q-PyWLJ4Y5+z-4n@}fWQ(i9=Rb%g9 z{==0n{=Wh9(cG5Lq>ZMS?m_g+(CIToDsp9LP8brw8|%-hg7lo#g1`=PAdQ zxt4p3WN%JPGBNA#EGRV2C0b3sMnjRj+>yISyUHcQf_bI6tCBreqIo0HHK;g7a39msU2G^$kP>oylk z+olOt(J~hCVaBe>)lA5)pcn5OArNHdz^fX9T>S`i_(*qhMzV2v=O$A17Y>NBLXhVq z(5q#5Z8*6ltqJ_0#g;!#4%5Z@!GJ>~U`cnJnBm&fOs=ysz<IM;zreI3hyx$aTAdoi)wK7ul5~`Kpwj@z=A)3rB)J>Sg z**q2tX~BFF7K2$cGW4ug=N)I?zGA<6qxbc+O94POGni~})OmR3AmGj0n$Zf;z>3T0 zq`I129k|I)0DCeR+n8}_=vj@aRVh^fIH%)q(tPHFkS!xkpz_v?Zz)LV?F3HC!|vz6}7^1U->acWxN;N%@h ziw}^TwpT+x;+28H3nP>TaDq)Zw2WOEdVWuA^S`2oo5lyQ_g640Dz#jE$Yo^g&V`#P z5w!hXVq53`l!&-AI6sJp_O~;BCqha8mr(u>T*BW;M6VPqGzT|8JwSQkO`f&2*?V;_*%0=jOFwFPq9mR%LQd z1Li-0M>4lvEe|ZnGOOhuHCiTk0mjPNzd^r>EFoK?mE@_K+-=CGj zl(k%#b0dmPP_lMILL}H-1u}&O5;yM#hRJ*?(7Q{gTQ!VY#8v5kO~bXFH9~9?wtT=y;ayu-cfh2Ax8VIv-(}7 zG5pn*9DmvoFx&ZV0YXt`Gl_l`HpKnT9|Ktbt*T9%p(lTZf1kk#*t-W z4lhDYc#z;>*XRm^4}nXU$jC7>8)W2Kb)A0XZfH0dUL&gK+)t}8g;f|SbC zr|Myt(=0E(L$8{{S$&#Y{}SuVTz>S9UuwmTVzQMgk9xbPp^R-hDYuUBYl<0wcC_}3 zG@j_&8>7e)9njQ>i>9xizedxU)m|#^YhsRsVwc3di4(nKq>SGZwODc5dJq-=T&f6G z6cJbRnV?z1Lh$TcQFR>6=O+opP+~DWT}!yv0NwqA&? z)V&+5fe|L-OrmbqXs(^c-AK}s7eZMwPC2`znclAema!J* zMNmeU>WC-@?TJG|qsAo6aJZ-nPs*}Fs^YbI4kR0phR0Q$yF?b;Sr@oE2#BMLfqj-2 zx~E8c3Bhj^Uw{zIUCnJsR$0OHkjn^Hx5TS;2%c(f9Nv)4(8GKT1o{Bjz=1}RUX2sl#2u?K~OGEp)jjBJEXr0V{R4cos#2qGKl~ocR}~^AkC|--e^wwGcP9BWnjKv|wxrFv z9QG83dz?l1XqyjFNChjomeIp>v)6cr{nQ8XdZq?~(Q$yEzf(T>mGbegCgu67ImKYH z&9WLD7!kC0S0rDF|B>?lkz4uKr2h|H#$VBXVUL7bj+@C=G%$wY^41iGR>3=?Oo6vn zcrCtgy26{X5pvAoDJak5{rwg`G)B>Xd2?H-mTz9OwbLhBUT zB#!Ro(t){5D7PPU{8;@L;PoMkEMy7Hpp|2QN;&t6DDx^7q=~PH;2i*!SmX$cPS#8* z<)bbE%Rbh-5cbxJCKWlx8SN`|E;Scv)})G8B`B~`poCMVNK0KIik3~eYQAbb1x3rHj1MS`YdXq*LS_qi$>))m8>F8+an10b9VfbzH-`LY%MNMkHz``4aA0Q_b z(2+qZF?ktF^w(Ii5gO+C~Nf~2;!K(0YoU+|5{bJ4but`55DoKXp&?Io)uyU ziD@jgtc=Irg&c^R;pHCJ#AE72=ent8k7k^iz~5F!kW@s~*vcuN>SG(2q*cXek04SM zvNdSLyNufalPcKL?jZET11z0KSM%WISzxGiq9(+ZX$962q8$1IhmVVtBXH8&z!Rq^ z37BS)y+DyMhCp~#!mA<4V&0945w+RW9kcXCi=I6NpWg@^3P0?sG~Pg;xsg|OSd(`1 z=u)zam@E@;h#a~>xD;6|7Sbe+dD{X9=Bo>p+q$@e1LGN#*Kc6uRgq=Wt{T3%>9F6o zS$*MD9gZhL4EYqNj8S6d042bQK*HgsQ@_osI z>frt@5#f+>^_Z6m83f2{{TcU=aSx#se^i-sb&$pa9{AJ9`AaBjZD%!Cpt-hJq;%ZP zH_9?VRk~Y&x2E`bJYn&|I+%PKD6_4vTlx;yw``MsGRVre!ppeU9&$Ncs_val zg99i$IzzUz)}@p6XIR_*q-Ue2#(LwmxWOno$)5g+p9i}fABLM~P=|AL`s|T*%uaJq z4uGGLLiD$%Iw$x29z-YLC0z^;i=VE-XmPBO%a&J-kR(2$=(N-?L^;`@f7EV1Q^~7M zg}RBrS0wHb2ee>Mf|Ac5FFSrb(JNKvHXt0U_Kz3`e`#<;wp`sI zJ}Pmpm2a%$-p9S0ENs&e8VU&YySzKkG)}?C`AC!k|0c?&1N7Z;=2W9n!B!%rmv7oy zD0wPfI9==+AO}8K27eb-cOokoi`(M|0KRvZbVM$`e&2S^I%N?%pm5$0Kr7@)P>c48 zP1IRx!rijZ?j`j@JEeF05U)t*-|hzk>#xbgBN_VOtAz6O)1<4Uzr zNO~jwq;i*d^=F_JP-b|q{xK+p@nW=roL#+u=*;22iOBt1@JIJM(9*Invi=6NKb!x? zp8g87S>=S)fNz(T1G$9`?Fgj0rHeD2on6B;EmQz;C z3<9Pjpb_{wFI4v-isfxC`a*U|#U`D&QEgIsIR6Z^QET4Z{1BctT{nj{fe{<$*c;|BJo10E=VU8ntnk;O3 zno041ITqYEBCM7RaT9_(}_bIQ!{s zPii1)+vzI^O4XS1pf`bi(q2TnBUS=HCeB6<6q@*3WA-ONJNpxCEeRM^DKOXP=oJV@ z{s9zgy@@kI@Uz5`$#AT{DA4iKB8ZAOZC+#-zp~_C~akWCh%@Dlc3G1cro~= z6>~hAC)YLW(n(M`WrctTWIsPf2A{O+u5>qb>$u<)8w6VE$i{Z*lx?HvgtT4_tsG>c z5U?Gp;@+XQ9C`Ygi+r+4oY!`&LVf}3k43>Vb+TMYjXEXSQ=LbC!N#Q#Cz0;<9v92{ zehSmjS85F5CD}YGhk+g~`KQV_-y#3JMP}5km&#U+%>M2d()L?j0&UG?=+J^Ub&ygJ zn!Qw;YpUEAE^k7KRI23t-C($T7(RclunVKwa8^EtB$Uik)D0vBSe^Qa6!RzeZK-@E zYga%ee;ZK$g8ov1A1{z`+kZ7}-yhDb(t^E@XkYU2lUE1Eo#8H~zDut|{|dCPp6fD| zGT_O4;)3O1$Dpl^pD>E~kARltA3@8-%Eiw9J7~Wr|BWU69cVLJ6d#4}oLUIgK&ALM zu=Fo5uA>z~@e!!CZ#@SPQPy-E`7ebsthVzn`)n$dO1!by*OY3Po@|WRe^c_>=WW0~ zKV*_J_!vi8$=tC@pE2J=2?Y2Y<@l2V2=Ve9!cU*=pF7oEqC_Is9uE&*f9aOp=m-EH zgyDE{>~$?SqNKEiz4;W#?f>#xpr?2RBLx~aaX99pGP>r5VtjbAlSXPKjV~E4J4BnF zY~_ZhNM+8$a~L09rAZqaYB*CmBE-oDIrH;a52mwbBqywQvH;ArvW`Jl9@t&(jxvFA zZ8VP^B)ooeg&ww5-XhfpNaMvbs8OLc`H+Bf>kZ!w8b2MV_KV170DtFEfoT(Wa!yYC zsQ#R38+d%#K&KM>E>h7wS@??xX{~kO+x)Q|`d48}{JdC)Sues1wU)ZRM3Qd=irFqk zC0V$p^YbUV>s+>An`G#eAyV9EpcaukG4^FXB3d68rHBkn@220JzIa>xoR}F91V^Bn zRhvk$59dr6rwtq(2ujh-l8$C&+|4flmq0>b9ch(=5)-mP26@Axj5ok8&l>RQ@H0~`xEf!1X!!hJL z1h+{U{43DnUTZqu2)Op>I`{N159@ZIcM54wuol&uO;2KBi6>IzZboY2Cdqy(eVXmV z!WlTU^R*KyUNQu{Ck%X8lMN~3$AI`#FPg5Hd6Qek@sc{EE#NEEYczimPI&&4oA!eJz7RhlNIbjV;>5o zi#?SYmSne`x>T9HKFVrRwsRkkurMmfEH!ro}qE`|hSqJx~1Q)36$9uoODtT%S+(S?pLeoY5KR z)G!<~@*ijztrThseUMD@woD^|q31)d2|-QHqCCzEn{r)|d1n}J5a;(ndWevT@(r8b zM#qC@&kY1wXAo|5zk?P|i)}!kLARRqk8tJt4P{7J!VcEzPA-Ts45VtIP5hM z_jSA0X9Bb9U7;G)v-wKJ%L+Zi7p|tmkagC`E&T%44tBdm0D61<7O5y;FWManB>j~c z=>h~6vJRHn%_pDs+OAYXc#G^8iLf+11o4l74z?B|Cs!Onk5T0kC1?1Zh!jyBrl%rX1eZ zP%?!>L=8K2B@?STq`V@lJZ3yWO#d($k4ti_O70p8`yC=40JmQlk)I1w$&d%HcQ~4` zV^h}j1kYlg?9Yt(H9Wyzp7CI&NJI*S26%{tgZM4DT?Hc~6gc>wG<$!cx}$bxpO2Lc zpchVM5P*r)>kKVHRIMjza2to^S-%!=tKyeGNT+B{I5XEeI=mIiTh5HhL-!H$%z74h5d~9_wuf&BBZV>L9MceG)24l({4JD%s5pb&o_{-tcofThI5aa&Zz* z`pPXcYufjNE^AP^Yu5}HsD|_A_ugtHWp=?W-EPiJPHBiCb=G~T#XPD(yGOyQy||d~ zZr;<#KUOC%0R)yTp~#mL~tyUg$16bqoeJ?Zy(#JRtDbOG1_ zEbKo*;sJh>-~TNx^6xNEq&r8TyKNt}F{gE&wJEW2W}>DCO$3oso&4gAIJlg>^alCE ztR&u{X+$6C4OtN^-a&;{iBXU40ff7oJ0ro=`v$KMxIWl^*Txla-KrGc>q8Avf|m+b zT#~fhs9h~vCN{S`336jSiBXD0oubtg9y}5|%KB62F*uYJ{a-9OL;5$sr3e_Vt1 z>thyp<*#qmr`!I@z~OnDBrZ}C&tA?Teyxi}7*@&*Ci0~#?6V$nUuZ_YWGZTY-0DIR z_uk%O!w8h@))azN!2H|@9#awD$yYWnr}d#yJOyZ)aEwf=4L1 z&!NMp0hHfmis&JSm!J%O3l?VYVr@k#XJlt?DOPHzTVnd4*!J@WaRBv2D=K8N}fJA_AD5(teZAvZc&^%k1HZS!L( z?-v=^d(6Hakzfv{WM*RMNPtIL-7lnw_l+`(V_p=c|` zrePqxW6G8N!ehf}9pBG{B&yccf2|FXy*yR8@97CSP=?P_Z8k$i+@#`a^iO)@2B^p|F z8WLJ+AJuBeZ8bF!kB1jBfQGw;(W&Uwk@yv&wEaPdBz`+`xoOgXfED! zxjL~mF-OXXch1V&gfov~jLuG9z~l%J)9q`IjugAEAVf;OI*?C1M zY;x3Ij{}`Hr(k9JP2X1exjM&);b5gxjwE8B-#2D3-O9_p`TS9mUr9;fMUz51H!goq<2GS>_2Zh{n>FV-+0KoBWjK=y)@?X#R?;!i3Wsl~VEc?uqTFo=HOAR|p>-LDO zRmIDdaV#p-faQ3f^0*^+%+CFhh!tmGnqp}$-DQsUwJRp=!1$Oh>O zKdYWUxl&yZTjL@YbIz+gST}ERPN;xI7ml7dh9?!-I2;@HBsE$uj^=hB8M(QRyiTvK zq33#H6Oydi@VIWjN(ntdg-&DQ82! zCikx0ig30u(ErK>{DW5FQu&Ba@o4QI@# zy;NbhBznJ%`x~-$?c;TlXLXK+nYs|v_tQOB@=FSzuL#B4Tor^E$T^PjDo4y;GE@|- zvT>5EgeJX$Y>Mp+zS#cNH&*@U>$XBJ?^&UlCiYdZ%3Tcx@^^+Weo}K|pl~k{wlNU84HQfs5^I=y8Zv+QH2d-ss0r~}`%Q4TjYYwkIE?7)Qwurate!<*&?-BjB|zHy2e zCvSZEvDqGxl$w4dncs$((qib1Qz1@#-7s?W*KpjzM5)oVJ3Uc5vIe|^4;L&aJd%Nt zl#Z&{r612fn_?RBe9f+ZZzI%0L)hA>u5xW)G;&6Wf_-5g@LUdeVjVd=H&rug!HH5) zu$%ttY+Xw2)aJE4?#zq8iO5#$>e-!=7eLis!uS2{{i_Y6vJt#7LAe=& zt>c%DIgas`>JI=F0|8VR1W>x~0EIwm`D1rn>DP|yvtQyis0vFx6P9Nb5&k&^2_gpU z53aEg0`R{p_AykSfiU;0{qK+Y%UJ=OtX!ZkHyhh;`YslZ@8jkFK#_k(*$U|S-o4OH zt6;LDaJdv)1QKPN152Njgsy2>c`>O0p{KRz>=t+*9CBE6{UH+eMc5Ej#!^DV>*`(R zA5WT{h8uStJ_d)4o~RyySXR7LD>p_NSdq|Ue$2|lq0CF```Hb<8@FD6N`flt<1rq( zT&cmuxS*ph-Ek&>kUk?Z53Bj`7LW6IElMQfx_{~sjg;)sV*81|O>+NkfriM9Wq`H) z4wqQrF=x+Upd)dk1abfp!ILO>~RaG6I18Kvw}T zPrdLdt02mZoWy=^WQUZ1-o+Mtbt0%I~!l<2KGZN^<=fLZUg7UJ`TZW*WE zV)9vg)ZB9oh#*0QG;*KAEC&^Oeia&1B8zZV2177v10bh-ws@VOM>S)KWn@-d*2m#F zpDkE+y!f4ZvLZUqJnoioI%zUv7n16ZTKJbsQxmY_XY_NMFbjCzvq_bQG$M+5HjV}}|rD8A)-%<%2y!Z3@M z(QHI*bz}R{y)E#q40O=e5aww|O|A4znr(^^!Zx;Vs^sdR3jMNK%gYYUaYCvp?<`g$ zLjwyEBtQ1b4V=LY>zW}vtt2LPW)9ETj7EXEfhHfLUS(18U|skzR}}?-?7tt$7*u<7 z*}a{P;)y0VYG)w~{IJ{0GHjIcuVf`SdJ(5-`Gag{i`ayBF$pZlz}hUH;(4Zm-BA*o3J4+mAJc=PGws;ZRiw(BSV-oHMO@x zZehQR4Jqv)=9td%J=);z$@M2G9%kPcq`gBrc@`kwr*=g+F_Y^7<7z#*{Ak%*p3JE7 z-71btoEXeU-N6O%AOjQ8u$Xg0n+*O`TIdcQn|gf!00960001EW-#60R_4ysR%=$Eb z_#TC?44-41gqM_8R-cWfLN+<4-KEj#T(v9dku1$2Rxvu(iAct5UAlDpX?wlUi@kZ3 z7{M2#bRZN7yKHDcIUsKfojDzgAIN$_?m%9an>T}QDyx?bark(D!XO$^r-j+cJo_DW zQv~D;!l|sGcr%awM*JST0UGUK+)3%t(Sp}=$sL*cU89nn8?V~hUa>DF?dh`(yZV9Q zohLHB=%t$>ep6{5_Iz>E%^C?P_1J6%_peybv}RpAj?!}O`Y1Xm53!;v`J)u51DcKP zDKU0)$_&~|J^Uc~9=!@6aQW1Eb_x|oT1Mg1SPQVOO0Mbb zsR4M~h7)i*zY33eIj^CcaqGU%bMH`m#>D&!2uuq2x6ef_nlnEPK(>SmV1W58OG~zW zB1hQX;mXIAt%OIWP=5_2H;dzko7+1l6l=ft5#<>lq&IIWLgq6O(~@VFE|IS`YHOa% zG|7h1X69$-zlV^g8l^8gD1#)gHz!2}(5lA0UOD`TV4ONC#Aroco{HZNjW=f9cAEa# zts3I#SH(gi#u!wJ;_i0T==+f@tP2%*Tf%!W48KikozE+Qga|j-?+WZ;>W>ZlATqi& z_O~3CZOXEJsdlG&65hn*cLxWvCFpTI5=aoRqQjcXL>&!eKu@LDFj$RCD;N853x%{eJAd>{O`1wmsh+?+9e$eq7%4^@J?QgCp z8R_UXY+Vh_rfKvHkmo;2U4)TD2C?FNwil@%(})QGPOUm3?7A2`1uEF?K~YU1Xt>5~ zG|1oxp;o?YxL8tHSg9^~f@Y)VCoN)?MA}AYi_m8DotQol1E3nw1Mq->dkh1r->~4| zP__VTfb7pS03txh#KFOamznv&ejI3E;KXEP&unaJVFWa^G__(Dwlgp>b+Wc+Hu$N9 zG6W^;fTpew$FeXP*f{`5e#;F!0OLn))&}-AKePL#^E>vY=F>74O^n*5`mXl|=U^zY zVDmrMKm6qxKH&D>-`)6tn}HI>pszj*6llYP!uTd!Bjv?qi^|`fO2pEvjO7;V+MVkzkQg# zm1F?s1X?o!vj+fvyGP*Ilz&kPER0^7+FJk(Os%bS4VX+EECFf{H=P7Z9v};l&XCLy z4-oxdsXMxcMs}e3WAUdp{lOrG2n`AZL~o>rBZYp}qrVs>C9puGZ{3Q#loZ8Wr+afC zOKUt5!7(QXtdmZVtDTQrfo4MKb{RQMFhy;Kl9+9oucezyo-Hd(njGf?#9V}B7Tmyu ziJtdk$GNjD=!X<=eWsa#XCyf4#iSuEG!(sOnsO|%kkb>wlM+!im|GisZ@i%(>Z&-D+ZI+0B%5$zvRFW=K5$fw=g2L)-Twy)GQZP;N_Sr zsWoXF!Qeafo$26o(_WOk^DIqQ1&~9w6Wbczec?uk$6bWLETI^HAtcW62t!_?5#BDH z!>X&GSbSVCK1cQDU|UU8F7TYw)9>x8k}J@l4rPjsYRXUXsRb!I5&dLK)2WSjj*VUm zbZv4PlxPc(qGTtRG8D}#RwFB`L29ghVKo1M1&tvMFYjjh4{dV4R@Z3P(@9UrUYlkgG4a-Qk-}U81sD|8DB#&GxrD#1Inc^aYlMn#22I z&aV?`-m+@bfATx*N;GDUCnZ{(>7bde_;NSvF*K4Mfr$BBDV;f_gPU<_J7OyAP0oe7 z2zC;~d5(Gwdp(e=@56I1f{cXBn-^g_XqTg?GHUGN^dSLH9!5!)pmyC9G)hwX-nPSo zMb`(;R|K~k{Bf|P{7W0EBJ*={URVr-r*=Sxhq~?r{AF5kQB!-d`Je@*^J%KW>=KP$Tv41UUAo6!>U@qHj7=J^UdA66Q<83K)ez#7lzsqZf=2O5W8eHoG8}Lmf$x`-Z6RG zJxCz$TRjN4)>?L7t_T7-1(QPP9AfvEn zNsqJqfRgH0ooHMFC=HYDzRv49jEuxOw8wQ*&j#Joa7G8H?gHc~nbeV9$)$m#=RM8` zH?nfqC-U=K-fc6l&83g??NC8OvL`~U5|12x%KK5sDz5atJGRs+!7tpyIxW}>S<2FW z%`KX^Om$c#A=XT)up<-427+yg2Lyp&A*Mj~0r z?w?`6)z~~Lkn7Jc%5tARbLT`0b<^pDObvBO{g+;r)+T)}uZX?)L^_2~`cYmzhso;c z!C#H0s9|($wv5<%eXM3vaCiw^jjO;fUp+C^Vcxx$|3cf5NDq{)p+pb%utdYWN~!JN zY)YdEm&NNXY<6v%=0vgdx3enf&a%9`wl{d)WaR=!m>QgpAFPr$(>TkaR*BYC2wAQE zq`@zST*tHh5?wiDm*Hj89jEL?{qShDRP>W^I+P@W_$y%jlg`KQURl&oSRdbxSLryC zB*hh!T+Xd_vABI56|Wv^dRe2d`X2tupdu#g?Ux;8rVu^!;+qRS^`l2xA)WY77ko7h zQ3h(8rWD%U`K-b)EWf(#0Y(<&%DX1t<;rT>_HDDYY;(g%X5z2yjxC|{JjcKHLh*6j ztm}idKsmbSK1sCgtb2`uH9}?DOrHAq0Qyo~qU50Mc;d<0{$adkB!)b(I`3Y^QG8=O z1={;lkpKt7xL#VvWg?FEV_d%6D%_k;hAno!n4^q*h1yndo;Cu16@cU_K&F54+Q1g6 zFI{xLfF{ea#mZY?x^0gj5!FVEy()OH%^!Eq%C-7RBNMi@@M-j!9(lq#W+rU1yi;4a z$88Q(kHo<}iG9gnNA8X_LU^*#2Sxwd>Qp$Opko_==#fteBO0g2DX2!+d>Bha5p{z>h_)j>nPjB*>2)TYI2MQ2}cqUl(7ss-doXflVw8*si-3G`W=InN=Z zUuyR>az2_=ojO}tlaSn8!khytms8hV*edi*kHIV(^xuImre0jv;BE|WOHx@fM0RN(cJ0SSoupTu_&lCfZO}PwKDpTv zX`#DX@0woDZ_>++K`msLiCr~?q!8v$O+qff4KQK%YYDM!zwBVz$`jp16C>m>Vk8y= zQWE$u<)*S}8+{i3!ZZ*oNRo}jLMeLCqf@H*zFRoCRzcSh~MMBE^R8txeU&Emu4DBLd>d;%OJ z<34}Y$7Kz!pCI@cP`$V}@t(E?y-bV&%Ao{9sp~nev7FD`N%Sk!GN6vSm(;}#;38RpM3|Y-Z#<}H zZ4Sce0Djn_y`IpQ5c@iI$Rnc{cdR$n>Y~|n!jhk3n>b5BZyJ{FrYbup)e0+G9Zwda zV#j?9PwuJse)H|+GtI?B&m6fyJ4oN>+D9?G!mb8I?z{yTB{`#uS&Z-KZ_>fT*B(`N z_OHL3SEIrcyxr#XtX^I9E=R)-QB2Uo^8sr!m$R=Q#efyqeaE73{PeBm8k)mKY)P13 z93NSE*PKM}GLOFgfTkkiw6_p+O7g+`cOk@3*72k~2RR;e^O7HZ7A7FVh@es*C+HbGZo64rl<=a-yt46LmjfCdiMLN<2R-~8&Wj2u8&{bnD80V84p zx;556Zx$Q|temMG(8>__bEZo~3^GMKYbPTkLuc4#V{^5E3 z9{Na8MMUxY_5N+UHCcC_9m|#}UZ@6?LN0h?uM@>+(+-0lJIB9|^|bvWw9E|WB)Ig( zD{j|UG)vP}?W00|?&SM=k_?(QMHPXthBlOXtc59y&uO2bsFuAV9{DeNFuQpzJ_9qP z_-xhJ5~r~0xWD456E{?O)Z+SdrjKEK48zl1+Jf+>Uuy8nb^m9Vm$I!`uoE&yk0F*C8w`Puhf6=y`s5ib|EM{Abp^b<|H zk@6xzE#sIH1ajcJv5cf%)fnx9ccabP2s+NOS&VHy;Z6OJ^z3E!Clj?u%`GpJRrgk} zGc@+OJq6kavwB2X9CrmbV8@Cxsp2m;*E6)aaCv}WY}(=zV4XGnd?#7i0%yGUrT`|P z#mn>*>b`ic(k-5>)?L$iHS#zW`qjX~E+!CjxEmxQ9O!kglW8Cn5jeG=dlS$tmon;L&D|&So}_*>i~jTLnx+on8ny>a2mCa`Rxko&ikti`BW>*_&2-?zt~p z2DEsv=;eCYh7JV)F!`YVL83AUV4(E^bRZxy z(2*V~ONlc|Fh0y(!46>KWCZ-u&IzO9aTg`Meu|hgO_Qjag(J(TqzdAd;&&~d54Z#< zA>xHu+DJ~+y)p(~aO||5=>txk^I#kM|M2!Vc=G{A_)}Ly?zAU*R8ej+P>hY*}`XAH4K+R-QcFaL(tf z`lQ-2+lY{ib_6`{PGU>CC9wjcCZpxSffcEq~EU^*C|IAck3wxU=Z9 z^F@dS^MNN*t%4BpVbe3`t=V@If^jswq>~$E#TFdt?U_U`7W}*qR^oCI>c`|{uaANm$oGcFM7)V} z9gdh{SKvfn&>3ZS>=yT8j)MyA3Fs`K4k{4DOZIM5%8?EzMnprcEHhBCq}^R)Q|BhE zD)kzlwrhTCkz}w9)+p=*U8k9Z8{AQkuBAS#j^weuHhj?JAo2BZ97mp9LH%CwjA@f6 z&u7ZEf2nTry$Rew(%@}Y^nhu7>KBBZJOPCmT6&-bEH&7Dysk+=ef`INwUy#Z{@01q zY$zK1Gp{~$>M{4|9|NPtxGOHx)aHe}pwZbr5=AGEnpWSpo}hQE9yA4hJV6gG#&xCMQKXHQ-io(R^&$6u0Z@pa0DN~ZL9&~PqL zfUX`Dew=-g?LvQabqH_g5LZF=dD$BA6p|*E#td(LC$1s!C$_5EAZK}`*4bEdj09`+ z?7O5ws6niKJrm9YIJdfs)|dlh7T?frTlP2dIJ@N`QDKDY!e!)KI$Wnjv!jg2%%)2D zEyj7ly!6dI_?4@e$1S`>4a1t1W_LA};-pz$iJ#aU#Uy%!+Q*-E9r@do(ox?KLkSRO z%%Bb^`|7(NhN#3v7Cy_`1wzk!k?W+nwkkdNGOcuFp8KQu1g8Yu5z>D)?eutTu&h1? zJs#6wxm~aa=k!~`g_nQAwfEw8zsaOFIPZG5F_AEh5wug0L&<`u=e~3s7_S7qI{J0zepN{*l(T1C_69@KCxgo2~&+msQuuN%x`5 zZ?OLh&kObgHx0g=*uW!vG)GwG>N~z`VkPRmH1(l<+(4!)gRIfZ31ucQ8tM zSUHSGRWhxlv{X`~d7RGd+lI@^m1sTou0uR&A4)@Q$xb!Q%a{4&)yk{5oCoMx zT86VNhpi=JS;eilY(q2h{P4J7Pa(zN9|t(PFYB5<1Dm&+$+IJuQJip0R9~*cy%!Nt zEOQlgJ9bf;7U9ny_Z~m)Q)rm$P6!zB=~#bic~`M!D33zDCB#l$3l}sEXJEih<4DZ5 zYgMqAo}}O)=N;rFv-mcFPK&w4Teu_38pje~>x7m$2Q{=19&JBo}~ zNe{b9962UaT=OzdDT)Pg@OGQe-_3)W6s$m^5pgNPrOQd1#Bx-tjK&(|ld6|5DZSdK z=RcE_R1`p17FP?QvFvyxha9CWGV^9dTb{F)tY4Q$2ufGeb1=L6aiI|LET`X;Qua~~VC#UtddpA^9d z-4X16Mv>b&%+7Sc5?M3xQ=Xe*0}82?6Td%GWc&w31_0i@0B^4h&kXkf*MAQ~{v~{f zWC&*n2Jrt&`1oh+c%3j0=v~f9@gQ^cviXRKZW@RgrzZ+tQndq6NLKt{JmVP#sI_6) zSu^c9vzaHw3K&5?ZYcqG^!w(=RVvDEchq$$Nb)a;hl^BbdygqFb@CWJvMdJd@1 zdQn)8{KEGXBzV0Rdp;^qdF!&|a$%wGKWf_V8>%W=j;5%6HSOT+2yNo?&of7$MqY_Y z)GPDsrc4M1>PCedN5jA2912Nh6u4BHP@H%{+w6NfNb9B&U^zn_XfwSVH6+l`-xg`5 z(XHcPG_7@)z4pKkVGuj`LF}OVD-X;E1-y4Fiy(miyPR^WcBClFd>2*F0K@#-0K@!u zKcpW{OQb5m&U6c)OJ}7)XQh2-<=?nQ=>W98(?RW*?4O!iyfh{4tgtY0`0gO(Wc0hU zltf39lM$$Hbf%mB$xn)u)_{&w*bZpXS!w=253V1k{j97UEZl5dEIc4su{PD>HQQ9O<&*`2p z3!0@^+dEMmvXgop?$#Z5A`Cqai0%8NS1GDor9oE{mEb#5mxswrCzW*u4fC}|VJ_3+ zt#SIX2z>vpUBn*PGzZVLI*tSm;Jl?(@PkP?r%-$0d13zcBXhXms{rDKxAa&rm)XbX zD?OMKO0S1&<}J%5;&GClZD;arQz?-yV+H+L&=uYv%KOwe2t-hD=?rESIbPvf!;hEc ztJ1Q6U0r#i=aJFk5){yz&iDmErc*I%>(&Lk#}yHG_@nHR#}uq};z@aByX&+!M|}}a z&C0-E1+t^-iY%roM_UKBX5R+_qc&0QQoR3L#-Y$ZDDnt-?lbQ`?I>oPPbE5olB+Nk zr)>JZAcbX2Zf3D+63YrqzFKD3ICgzys1|z8;91BQ@B9DlV%6k{O=kbajBJYkievgTlK1gi0truODW_U4ZEzq&Pw{lTO0 z!BN`I=%+0>3oZcrS9J%xjk&3iy*ZPS5r7;Q^&#>y3xMs%ug1fM2ir;(uAfTW|DP`H z??kwlv~7Q-OQsn1Rot2A;a5bYdxvmfW2OEs#Y}Og5v%K7IF3U641!x!mVrf2s4SC9 zYa#TFsa9N={+9-ugAOH+k(f=3J%G$=lSiv^@<%H-qf_q6wk*~o{VJ0cph`Pu-2Hy+ zd(N^H!hBZL4fmREYlmAm-0hNQ2QZ{Etbpg5w?hS+nKw2~;nDW<3Hk11W&G_Il5Z?% zn$xKqywxhM954BE49%w$wmu4#qAmac0RR6003iS0vW_PvF@o&+jl*Ex`*^L|%8Gel0%fIzfEbb`vMzb=OY(hFJ@uOquT@>>Ugm)%U`-M#4iLMUO6G1*`3>!4%=|@ykMH_FW=;pTU*~jS<@sg<@W0)h4s3r5g=WW?V|{XK%CZ$# zrxK6mS<1=!x|^Znrz?A}0@Zbr->MSHAq8KK58Iq8*UrR1eG(6_6_$Q{OwXVOIVIV# z!oz)Vs>LTL+7!bNES4WaZaF5Ud5$9b8VdhS?sPmRXXJ>KTc+bzd~^HC&mRln8BSFu zJ1|A-19C4z9`np)v#HKr+u>i4V-W^MnZGvP=rHrDpgda+5DUD;d+qp!grt%H!JbmH z!Dxj+wO4Q47)Nk*P?gO-3W7K9wVM-97D@a&?y}n67zd)XhMEn%RA%+jl|3CzS#%pD z3sKTyw3&0f%dr$?uC42LA6TA9gCw`K2meA__Zqg|9hqdxm$>?0GgE@Ra(V*vF+(rH zRoR0ii*3F8*#B3f19kqR*vaNO`>N+HWs#+cGzoX$l@-ch^>XV3WDW$LZHGFh^i<_q zQ$%xPE`4VSbSnXGmY`msp1hba^p{C0r-CBx6E93y@~I-QNl&>fw`Ey$gU)3bZ|Ik} z>_5HSDs7MyY{IT;m4FW*0_-GWZbBMw$knu_rrbcnfZn9HMrc5u<~6cX@}p+*B( ztqKbFNPuxnUW{L<3V8F+NtwN^K6=Ezxo17vOD-`mI1J7bJ&XH^yak>ZUqGX3-5g2P z)k8$SJ}B31I*UI(VDOZhozW~h^)3DgU`<;dszNt})YG}0Kh9@V{OuFISM}DJBglqX zuZZd7V>)tFF*P5|bhH6J&@VvpEc`>3A^s@K^1n!lyaEdmfZ)57U_Nzpv3aP(!YYhB z+z+n+*jTxK3mt)k^K}{xv=Oydp25-sE`~a}oN487qc&S7m2YhsZ3MQuJA*$R(;}WbC1!@aQLEy` zxTzDM;R+}JRG>hAq}Rw_$J2oVE|H{-t}rih{Vem~OKJ<61hpncVzD-Ma0M6PvsAJB zzo*3|Bdlgq+7?JB)mA)f<}6G+U^JLZ+->`K#sTQtsdm^HhRQvKT!gni zfCE2VqVqDXdm9X}y~+zVSD7ib&(L8qrWF^}w47R)ol5p{=7=Zku=6-P(+jk2<`?N_ zOzjFd^pDO4`?vRQ&5N1drZf6jK}{%w$1w5-+<4wBA3Y_?Ge2q|?Y?Tx$d9|t-wdLh z84P8&SfgN`MaL&=P>ZrgjB>$4DisPuv{`cNW6Zm_HI+jDl0P5Z2 zhQ-EbZ94HO9i2xV?&cx9F0ZSlhWXcm(lY=u{tYRylr9k-=7nM=sE-(kj zEqg}{^cVF|pBF`BHbLhaXAKiLRrwiK%JL|;0p1^n%0N`StNSN}`JE^d^+Wd?)`y>~ z_L=2TzED+!^O<-2S7tZ>Bc%}LfQtMeq_20h#vwZ`ShB_*S)Xa`bd8OjBgw_E6Zzqk z?=wRBjQ2*P<{TA6PQIEgCF^A`;%SrF=a`Zz*blnt^Mk#?MJ;C5t5S~!S*E=j8+&K6 zPz;~#W?g(JWWgFEHQT=-2d5nlsP`f+97N0IJH@V+NWB^JBI_I&k+2cY?DxfkW3W8c zc1{V##F*eDj6U9g;abSsj7;W^&@v|w4-k2(D*z6wqN;7=aTRQz`BqhfgiZvL=7T?K zZJ-REL5w{^8Jyo-d(;#Ya6JNz_G`Oi~Y;wG(Vak>8!u zSNpxEaqFP?d%IA?8T6M_V5&XLNF|xFcaS~n{-^bAvBZ8K6B-vPVtC^+OwHw z_QX4}JW#FUOWaE}D*L8{S)QE{>jXBXr&(XVUSS&=o2E-CWvyZ1zJ!r}J!w%ZSIxEp z+|zE^NknCxCX(S}(g0VEfJNig^1algnwv*%V+7IzYc(K)HA^(E+b! zMeLI3Ct*S5cWCAXdR zsOA@Mt??_5Bt(rsH!D9nBz7%>kPgOq>~vS68bryUAo#8-Up}-TD&Z?#x0@DY!+`O- zx&lpfCI4D@PyJUmcZFtp?}$)bkZ${TDZT7E5(H13i$%y0diLHS`S~z-nF|NQwe97a zFDIc71W)RCAw{iF!*NP>U2~&x+*A27p1QWq-G<-g4u~<3bOx%FIit+Jb?ORdAj*C} zxzAeGR#b8|>MFN40lOx7MIK&}lWz7gysAp?Jez!kVlP(1)pQZHRp?oX`3uF_?4(tz zyD)GU8VanX=u|g&IgKqDNq`3KCW7T=#L8IX=CZpLnNPb3k6caSb7TEM=}4W9YZ|CZ z7c7UQ!Io0eC2BpwJ$0qL?A`Tj!TfvR!ik2Q1uKQfVM)Q^p)@)?pSJCX7MJS}Z%l{~ zZ?#MZVMgA1s3y_(@!;c?%g~FQ8E9)fUt|76v|czhf-sWSI_(YrKd5`_xVV;VZ5SuG zYp~!>SRm*DR1?(Xgc4Z#Az3GM`fdw}2s4esy(N#bIf`hJ| zgP^q~fs}&*E&Ze0$CL9A(cg~$qY~6Vit_-TtW1BDy#AT<^ReXh|Hw`Mifd~_Su`N) z2w0l^nwHTCKoi|6;PaIFNm3=cN0j-4W29f`TTmP#JVLNu`DoVrg&@Xukys+IqvJMJfnee`T0rKrNKz}M^pekG>|^w}IxD4v z%EH8_IEp3vK?_L?ffrJ;TZvA!;0r87#vks{Rt7jX3U@hoNs*YuBF}uNu!%r+!f-g8 zDBYFOaqKAHzg^WS0LlhSU$MqRRn;i42v_CmY?R@6b-tWL#d84pA%9(SP&ylK`SaVR zWh?C6=;c}|X;(W<3}zVI>2}e%B;qe4c5l?Rjc5=*(@~<7lioq&U=5D&z-076(OzmK zxrt_cbvp)^b4aw$0ze%n`)O@Nvp>UATW3ZUK)DCXIB$6?H@xyvY`WgM;zGuYF(nRF zkHb-a*!^nJkF&UmeWk0J8VJ4*qZH*pnj~uGeGFak9EB%tg#$+wSz9|Ek7FKsafKV9 zW;P1;a8b_AY7q4J?M71KG*KVxLYK!|meLe#+Vp#iNqaf82ghePfTHNMd7w4NI$G!7pnGgz| zetAftKjk=tzD5>`d(pulb~~Rs60NQ1Fj#8LgrqkM3(Xolnuj44HHLwEHhnv9xO4kv z;&e(jU&C>$drYTl9?FX(+`UmgE{kWY+xa!u7YTcF-Ql3mg7^0??uayrB~HgJ5%j>o zRs80x@)=27C21A0!Uw6j0bfTU?zb33T51@boZkRzCbhRuwv>~!_2WT95rn*k??1Md z_EQ8RC>o1iV^_qWjl`>e-t@dVO@2pSi!a***hN^6=USCIA+7Oy1Tk%xO1xige zvgwhWUg&bq-qp=R+wZGh@P>o{-A4b*Pt*fS$s;V~N2B^G(u^nE5F7-Np?^rqTb2ndO_K7DmQ5`@l$FvuT_V!2@3Ao^xyS;@6vmlufhdYrqO zk!qZ-;%@sLznXDv7lbEtmP6o_tCSC`+Y&ptyxRH6a}mM(vB1EwPTONgJ*GzLFmJr* z{XM1;q~4?<&`8tC|PqWOg3l(%cwWCJo1Cae4(j?|@2jw^x%B zg0SE+K!XpN3;?FFbG;IoLZN)qP*~zGj=O$zu&@Rkg$W(4uYew?R}7EEF<4_%*kSGf zxkk0@#8YiKb0)NGuZPds)smy2Ok(j8>iliVK&#WOW%_aEd@Hxn2Uz8|6)9qg9Fj{# zs&cbzj>Q_=g0LX>sXJR1(l#0th8YWQH3utz>33mw#v-@2Gu$_<&dH2mvBjpX1Xg($ zU+}mu!`WQxzkOqYtyukv#H~NKKODWViP{T83tU>&3KVN#zBQ~5^Yh^V z8-Vr~XIR2tonaqmyS=@|V<|y88*2+weOFo=10w*_Fa62?QU6CrXFE$n1Jeg2J$=h} z_?LtXz8wHE^zU#Yc)*jTp`E_z1Nz8+0*vAbrhtcs0F3RM^rIRDft0DPo~gwH&Zr6O z40R0%983%e><#swFi0t7X#8-6r>;+^w5KGnHhSvvmx`C%({Cftb<#Dp(ABdrB+zvr z_!pi75(Jb^kQi{#g#a+{;~xeD31Iu<5F8j4I>p~^En;W*Fc1Z)f5;rak;hTdo1YV0 zJq`oCv&F5=2Q;rE?!da+^+r7f!agX}C4d?Mcq=!di{uEDNW7igP~mpK;Q2OqWWZ$ehqRLV-ENQ@fIdzYRD|tN}yj%b#yv2oF z0M-3&v`*nz2emQK)a-=^zN0P%0fxH;CqKojw zDq{=8lhk>)v5{mo>pQ3rX;SVlnmEb;5SVQcEZfXBqk9kc6<2R z=t87SfH9m;h_Pgwua>I_UPvxr&ro>2tzT5!eWB!Ifp-e%%R^kR+MqVC9w>NjF{3+< z{Y7#9Q)4kh4dIzRKa^%Yh9*2hYRr`AoHaCu9yzM9-|XRtk6QXi`k8cu2xplZldvO; zGh%oe3!85H(M8k|+vwVHcaXEy`Uxm2^DM^z_6={6f+I1YwtV0@-p9Q-^M`fM!}=moSLS);-K4Zqk2Y}?39y>*(Zoh6Uq`4aU3`a>zgV{nvnze{^p z*p_KYoVHOku6TZf(Tx@&3__q#EqwEWQmZ1#h`l_!jS78fy1+41<}_NFh;4=x@}SqT zQ2ZR#%d1CM-}<3*`4@^;L3=~cIB_Ph6Q;8b)Q~N|iwgz7%YU9Ar}4^`#5G)npX5al zjO|X90etui<6mUQZ%_Yb@7qiD{+1cbGXqmL>mAjHs0h@1>YO=Ijm`sKnhNl32QiIf z9vR49%kKB_!-UMQYIz;Ww4suQa_(CAU|%6CUBvqhP<++mRaOaSV>uVbmLea@;;-LR zmI}z{>#KiPKxJwJX4ZKzfy{6T-&y&YAwY=Q`lATKwh=#q?4fEwAsifn?qWffrl;X+ zE{x4LN-_sIy?Z@E-ioJrU!uQxC=o_e)cWQvTgp&B_c7irBglr;)16Gd7u=(1pVOqE z4CE~}+z&zkkBre?+Rr{|-N(I7S@Vve3UEP$w-8r2K+`Z3kd#sYwBsS#xXlrPFOc3^fxx61q!c?Grv~u_< z9e%a=(gWBT7`|5}eaa^GOY{HjVE#(QE$Znipvb2_SjX&sCzogak~14xy}v_@4Y~s- z2h%&YCb)r*cLCP~|C#?J4PHpjMYM9XWhzKq4Em(@GmFsa<czV5{n7F{4~cm|wZ_yYHopN3BAmb~msSQ%lpvSCz^VsyM9#Ui_i zOCErzap;>Tib|X2n7_H0R98v1kGcj&bAJ&buMZic27Fx@tR^JuvyT>IZlZ)j%-w^7 zv{4I`dv%^haN4>r36-9&ima}3k1*?{%~zoIX}lf`eZCAJy~#<(_bn2|2iwVGkAuig z9d8}qmX*uEx=RYi<1#$U!zA_(Lflm3dBfpEEbIHCdldoXB0fQspy_S`e%z#Cq0246 zZ&g9jbzweZ>I_#`|vr}J?3@Kp?bL5 z3P`DY+=vXSteWr{tQNWUyDeVf;o*vO>+67VXZ1wu(u9Dl{SR#t(Gu|&LN8Y6g>~g* z5NB4IJ*2Rz7r|TeAhP>vhSu<>F(BaF5*?J_Ot5bdpX(W9T7F5)=}drBfkWMB2EVS) z-dGA>>Dly3I#cNOVUisIpx%Gap8ZYPJgVv?g2fcR9!9XF@povR#b!LXX|qY!doGKv+ipIi>yf8~=j6 z7{=W$xJ{=}Tq;C$12^Ox)j+IpMim-f7KM3<8Fyk2g1*m}$82(e6PsZ_h8t;&_9UuP zpO(nzopFnGZ5s-^&f8ojl6Xh?#iGnI_~1}^TQhVnEL{JKGz!C(6W+AhZ^!DvFKm6J zKYn3L=WV+B0+1dK8aG75!W>Nosid+KFe%MxmQkO>Y&B2u9l1?w(Lxg&LPBe3qj*)l z6>`qQQeLNbi>J3}W(^Z#tFM#x{6IU z{R&r1$CY&D__lZ?ZObNF+-+*T85(|`<~Xu-XEopRV{fAE)?A)PcgKZ89N6=q(tJV% zzS`0|DW~D<1co-|Y$sl;^%$$1LekuN>XuQez}q5|zD8iGN(%?vdi%u9{kmR~Z$MH& zRbI6);W)=_a#1gX|qmEF+2EW#LTw7$q7Az+{`Z6*D z{J`iRI2`MT4Fl*uctj`us=mn63jqYat1p~lh87lvR;Ky{{Q9~EhL#T>bgc{s;`ztKyY!4q?95L* zPybZN?|buq?YRF+jVo3FTBR*Ki@MU8p-JSqpr%xm8EOd7O;DAM<_=#IJa!C?e7V-i zIu;fp?TS~2yddZz5f-;GEjEde&p{!?Tn~9>f~z#d_VQZCMm)0O1ElYiRKO-P+C=0Pg$!tnc@;zCX_Ten0yg?GOLJm4DgYinl5v zh*dyB28R_d(x{Qxw_g?+;YAy0auA87<~Sk68;e}H;vH@XjZ}`_!Ok=$?-KYv8Jy*- zwa-IvEv>|N7MtcBaD5P2GLgFEg=V+wXL{S1TrxQdnN=JaI|UiB=(W;*Utqz-iY-nD zFFt09SAPR300030{{R3W|KGT^0o@CGQBaN&B;Ltr-xAE}5RM^CDuo{Fe`oADB&~0J zbqtD}Aii(6~1z1w+odrjJF)T(I4Y`6o$ z&qnS6&B7QE+*|_<&P>q*+rzx{JgXtAKH?;O$u*g2snYMbE+l}`4HmN5B}d7o>wi;C z?(do7QSHNBkL=%N>F31=5t3x{%{ zy0w$3e6d?Y-;POUX$lLA~1*NLkF3*N{ zfmjeOwDY>ySAnMzv9CALC!=!NmlEo2@X2|@Z}_zI{ki-pu~W^57uC!-Z>-U$@oyy% zcVzs~IZDZ36%NZLiQk!n%C*yQp)UwAkzqSt|1JsvI$>sEOt{6TRZ&duw;T6XI zkjyF=veMN0+QKytxW@{vR!`A~WLXoA)33D9g0&SYuk=hj>TdJG0&+_ATBx9cnZB6; zH>Fc3bKL>44ii}%%Dk<05J9$x-DjHIO^e+WYKft@n-m8*16e=8-|?7DQYyaR4ZBPg zy=PVjc?hnPpHi{OZ*kUD+_=1Z()C^GFYmg8Z?pi0?nv_=pNluvU5H1u( z_?Lx%JF0Oy=>^b50~raOs-UeA)=A`K1A|&xQ)m&5@mi3;gTQ0D)J8m95a0Q{s$1@* za{TC#U0ySqNyMsO^jRR6=0QW0Yj>~bdET!K7EULhURJF9wf(-VSTz_>>wBIoe1oOJ zNoBnzdXg%9hkJODoEL)2it{S^ixWwj+(nM!y-&2{T>nP;3Hhz7+t zb6$L!pn;BN)fK}%Cs>6vpV?*a>H*QM`NwsHa5lJo=$ku)lxzU~f`z={Ww>t(;WCaY zXk+a2P{=Gs;3E4|Ln|11iNUf-+SW7&m!|*`k=%D#YI?-a^o5 z`f9)4dFYb`ewlv~rYC$2Dto{o`B$2}EO$INJ9Yo}uGRCUyuC@pTP*SpC$2g9w`?_6bRx#M*WlRNarpQ82V{ zLYg4a{ji(eba;moDsd3^7{`d4RCZwYDT&baETjHXYHqXQk z+x!RLC48Mp!Ais=|KTdNf)sgg5GqFuY2@65>20+epp;v8uDq44e=~Osb+7aZfqVkA3QD~-xJF6l+UwHqQ&yU zIo9Y!k80BKbT$%I^aDcDv0!L_!}ff~Dg|X~pY8NpHvGXIy>I&%aUz|9n`!PhgdpK4 zRX-{z!U?UMO;1uXu_Y3bNC|R}psdSuY_$f%R`7*d0Zr}=ATd8Jf^#Il#etdZ4OUT7 zyd9Tw-A;Z3RS^Emxi6y^ms_{;Y_+GMOW(Oj1EBWr?Bu~k)auR&)sLcjcD8tGiGBMt zVD|2NzH5TVeAfV22xv-QH(+HD5TO5ny(bd~F^>*}7w!QE&-``;P8u~Z%t?36tT_FN zCVylotjxVd?(O{wL?3(hp?dKGp(@&&u<^YKxM1mRZ3y|Pc`c8QM590qlX2ws zj<&EOCq`-bT8|;Z{z!zT5&I{Gq8Y^GHZP`(?1ba9ApGIy_GJmK!6r7Hj0HBEGm~ry z*7~kHtZLjfHV zVY^q=9h5WoV==y|C!1$fYBgDQ6cbXu9vT;G5)I`jH9hs|Srd|@Q|x*x*iBEb+MLwA z?P!taSSfvRo_wE#ev~Y|b#{z&$>ABsW(D?fd0ZInZNVsRrl$TD@dgX(N^se8wNs(= z>uF~Xd|(^B*96$P-Pq(OFF^NcXWMEE}&IH7B?vTn>cB-+Bh7Q&QiiY|oj}%%)L?k>pZn4L|9yOarD&~Qd*<0Sc6{qc4L&somRYvqgKV@U)AT;q zpn0#}`%=3kpP^7UxYi0GXbb?7d@*gR@*0y})6BrN2Ux9?i(Z1wV+?Fel6;Fmn-em3 zP}+X}xLmeZc~ZS7DfH^N#AJdfNR4b5itIzFm7PBhz;5YF?$@zp2S==C$}D#@MX=}7 zg6w5V2V(`CrAYc? z*sSNj4PHm#C9CmF>d0(>lkbVUqDVH1&C^}ljk6Ej;mPnJz*yk`KrwUKS~SR1A_6F1{51m)v@vISqY;yeB^E9@=Y)`LGheD&lzl&&;$x z6|KTIWrUxAxeN2|^+v=p!?o<*xd^R(#;Jh1B@(-8rtE4^0;@sHizHiw@zWpKUxa0K z<<}srdY8uks?g@k#EA1pqH&-v7Rq$Xrf_hxZ(CpZ%FRL)ytz+g9eI1V^8PfHMmQjB zT>xs@0fg>6bSCxd2eJv#$VNC39Oq%we4K`S`mPLe2T-PaMl8~TuW$}^Jjp#yTVzRj zMhna3NBkNCDa!u#HfurHWAyxubS*R}>Q2@&TQa`zyc(c{Imj(Wsz?$aLA$CcDQS{0 zzOXBP5F2+Q%S@wzDD2;5A1j&9PJVWz0$OWeHN%1{cy5}B%FI`#U*o;J&N`0`wq z`T@gFWhw3+UV%ThnjDfz!g_h#6aml>&mNxFCvGrM(7)SgRZ{q+gdx9?k*S^K)4cx0 zhyRzO1afwUmZlGLUszD^r!(sV0+|>93{2l+1|Grqz4_mD8>ffm5aiR?AO3f6Dqk=l zLQp**FgSqLbF@s*k=L%wbsSuAZUbmILwd&Pf)eDqOeNnXvH>4 zF$G;pM_40G*G=T8vwO{A3U%oA~CFa;7_23fgcSJDlsDE_o0 zPphDCYeQmYCVdG2>NLCKn=GH=`fCaO%Tot61_Bs>05G7AgG1!hEBe|5T1B-_EzE+x zbdfo%u_;W0dp~Dd?V)==0L8_cIlWmga(MfC#TEo0pcX7R@p7qg9Ew5xQ;3%ecZRlr z`6(n#%{RaJOEv3qgDchbaJ*IhmKxt7YmkUXDhHQ%(6>b%=$!V)G_Z_76{#$Q-v1Rg zun&CB|F8T-KWnVPqWtDB`gIo20~lF;nFUYH|BhSymCD?Oyi}}x$G@;}njN-!R=UjP zlJ;Tdo3~pIBjx8v0*!JS>&^IC78^5@;i#8+ff~kOIf%s8n&f`%$tp8q6ezXJEwR!| zfv^ggX?VoBveDmi17SX%PkpY3WUG_57u(A>06c6s>y@(#Z`tUG!9w+8-2 zvS^gB3%ZC+%;Np!y=O^~%4*|Opo?>(;I^3e*-Q(OC0^?&i-qc|!~J|LMeI}1F{h2? zh-R+$<6@F4eHY$wZ=6Ij1Ppod@!BCl)kSFPlaK2rtCU_GG=7!>O1?%-Bx7vd5)>5~ zdzOl>!yy$g)TC8jJ6)hopclobNsX1{E0^wmxjz=OCB1KOV^0A$gf;HBFY zw&d-H4Wrhj#^C(^gN~^(`)xIZJN1+S%WSjQUI4yV0bw*{y}*fI-GoAniwq6+t*^Dv zG$*h_lE4?B6!pH;br)f)fKgqGQ6TnI}zOL{6?QfMfTL^dN_ zs{hw`{d;&kX~yqWq!IOGIMzzH>v1X=i2B}(tG~=}B9C-^t0ICic`AQaC$#lUs1-9{ z48~`u8~GMU30yar|8os-7FX9y-?dE^olBBG0n4HXf+3T7zMUyRL_+o^mrQu-ethP@}e~) zeWf4^RORCJ8ZMP4vK}`ox9i=l&Ilksst-)BxNDDj(Jgroo=q!`F5ae~IK#Tg69w0+ z=b2cgmhsNZXCz-YNX+FaVl&3r?VqVErb1L}WFkT=cL2Sq$B_VmMjdJAAGnTSe&OlI zc2ukwi^UwDU}?tDT{Y4a8Wg{k-jBdhtY6{tjr z$;5$W;-npqvv}~PJ^QaTqmJy;o5b@oGTMUCStF?Itx7gxsVel<8T%3`ph*CH9fb5$KkMQratww5rb zDFuDNEUbB>RqbzKZpt^F{rRxd)VyKY66)met(+6Io2MJbYo#QCRC=fd9i&KbfY(Np z$Y>_&Trb8Ncv3_can18#RLCm6i@YrUpbuap=1F~&K1{c*2M~D+s@;LyJkfVq6klrV zp-ixFFa;kqW4Q+^m3p8XrXO_bAq&QiGm%R3XZ2XAR`8?d4h$xu6)i;-mq(e)OvzX>PIC5A;V~6gB6I?SFGY^ zbm;*Bcr-^knE;u=fWQ^%VZ5w6mJ&v1W}zA8By4V$EjRd?NzvD4rs1XRo^ zwoPd4$x94#`U#oNLWQg|SW9WIe? z+&Znia$}!K`Cn$CvI>CZ*{HmE9=u0$<-Q*Qy;^J(iuIBIazThicX-8Fq|fv0B+i%R zcAn|b&g&Q!y}26gcccP|Kem}M*I|{*SN+aS4pGjbtM4~u#{LCWHB_Yv-R(`s?bK{~ zI#WkRH3O=2QU20yOHs>(;Cw9Wr)maTIVEgn87Dzof`fQx88jQ(;Ldhj%g-Nc$R?6cAGY+H((#?->cY@1QjdFNd@-#Y?#MV zZm1?E>nGV~c&LKAu0{*ZYcVr=x(-!sp$G*11x-5G(Xvi8Nqxa`3@GO$U96>(HNTPN zi$`!^GB#T7B5kfla|PyQjNFio+69@h=*Qk1NDj|YYE26)4x<{++gNMA%9dyG^QfYS zxvagySzNu&6$WqOm(EQ6{dA7R1(^2KffNIA&{^VOUtJZJwa)(zRL;&2WTeHF9)I2* z`!7uQKfHkd4pb~p&WC>k)noI&=`Mc-s^#*kF6(M}-J4Hwo?5yGB+PKy`Zu}!a8A(zA`LgU3r61hgVf|zg7zu$(BXvZ z2I0L`J`AJ@hi@?SD^#Rr=~61?r35^U!fxQl&FQ9S<(@JG`d!RU9FQRWthc?Q`&)-j zxb|pA$@w*XZmzQeZ>hXr-F+gJ%`@_4t`KTe#KQqF7-nv8#cRpQxUF(bSPf!dUyiYs z6H}I`fD)3!i934Nkk@V2-g~@;LXNESWiv-Kzx=E{cnNl=Vq5` z=?NJ8P#fGm^zB3=x;90#yGg35_*gYAtF$+nrwD|mU{4S&k9`%Xr)+$2Z5L%)$%|yv z%EgHBl2Ei6bK;3Z^zxbfR}KV0bgq-9lp60lh*_JknuBzt{lz55=I zcy3iv2^)x$xteo!S`%>VixPU&0YSBA+!fU?SoO*rEfnN~-i^#r4ddG?>v8B@xz#hy zEn1%jb-da1p#ZteN8jmR?L=aM^ZF;m@<}ZsnQzg+Y?&aH`Vm#a~p4 ziwcWYADA&A^-HG>s?|+_WU0#-)+CfaU!r)2e%K0>1<8S7Py<#&^dc2Hku%xj;1N{E z51=}D0M+zA+HCes`TL3fM}+}?J5x7nE8SlT+bHN;J2==I=vo;5x-0CUYiDF?XkqYo zwiIdtaVvdVdQJfQcN+=AAKm_z1m{m%REEDe%hUV_js!eb+o69-8va;FfsyrRaO6|+ zo&UW<|0~>2!g6#`UdpVTwqPY|M};U<;`4qS&L%*yq~Pd7@Z>r-cVg3@Wzl()uJsDY zr;1L^`z-j9L@;R6^tpUm%(Ct33=N!&^;w_zZ0#|&ayeD41M1H3HR&pLBW@C{8K-JO zsHpNiNlv_tg8y8A18S#n7MKagQWT#$u7u36U@YgR@)VHGNBMns&vK5<5A>J9XB|4j zC~6>7K7&l6OAU)LhL#}1)Ukzyn~Q;%;vPmac^sC-HTz7ojc}m#j7y?BmFAHov+19F zM}jKKwlUE&Yk1xM+kns7 zGc3MCGtc>HvUL`Eu}x-2t%8Vy(#; ziAEEJU)}Owh`v4G2X-DLE7l8SJYs!zU_0y#vDk-&8^Sm2DS~^C*Sq}bo@l=3DpEjyBkq?UaKG??`|f{;`{@5k@Gt-X-@!xi zN4Nhn-2c~&_%9Q0?X`p6oJHS&R9b6fi_K=buH@E%>MCP)iq=jKa5K|}3ZB07?Ef zXTy6jJ}8Z3mAW(xE$3ti_`GB>&y90jq0V+pdU~_p+selwQRUK8$`7 zN9Og7D^QBA!!W5IpZ;-`of#Hf>c9lN;~?vGcxb!Yp`N$)du>C&MNyr!lRBQ07E{|+ zl5%R;`)}U)L(QKV=sjYGzi1;}n7=S|SS1oj!~yTthZ(!muNc!tB!ZIC z3T8^spTXC_Hr1`LdJ{GR<-xnlUz;~^c8$Bflo^USF^0tI;}UU$1NQ7z-L%{Y1Yo2Q zcOiZOJO6UzJ@FR$UI3SMFJaw44Vl21ZJdFJ&DSx>{>mh}^5ZA`?%k^luVJssLr9w1 zo7RE+){$gzi4WVD&=cO2b6a|puFrKqTK&Kg&AxB z=6B2>iCPQk8W^}fMy34#3O#`CJ5b0)tqGn^{@0QHzhabsh2~aUy=RA4YE0+P`!Vy* zeZ*D268fVQb`uB!a|Rr41d3;qZJz}^m&vJ~w@K+`0Ime*ft1-lxss(*0}yVOU@4og z_(0wqqdWSrzjR-}WUh6PDUS3*S*ztO2KB$nZ3#m&^InAMti?hFAK31E1D3!k;=urS z3}i&u7intA5`lzSH(rIKQ_Xe-67gw#K?HIUnrBDTqtD~|9hE|UoSx}R5^!B?A>Rn< zV!B zA;6y56PNP}mO7cO)SId$_1YpgpSqrdazX8g)4wtmdH+T9KZRzFv_MEiWAfUAvu1F9 zD}wffIfTXEp*eM4({=JPSifeE5%$$= z0(0Q*7a)%Hw*{5c^)X zODyXe%RHqGw&UYpk_JLkgLpC%(+g(Lw`WI^Q=Gkn{ZH(luxiV)r2o|DfIR&egTFzQRS&L+^S1fgK1&x*{eQv(bK+(K4X zgj!ymZ{wUkhQ&(*{2;{ve&F;!t6laFjeni=B>MCpT+2&;%|5I2v-}Sv3Wv0=ft{%V z0lB@QA%VW5ot>eT1Hr@Ow==Z2e~dSM3^di(eOR16E>?A)LQQ|1rTFP(295&7&&I&Y z#K^$LO8*>y^&Mfz{DK66fBWL!ZIptd;C;_YNg!yVYpG{wXK!l!BanyYG4C|nPj@!} z{Uhd?p5V_0U}gN-{J-{d{%ZH3ZAp22jU(MjxEf{tzP%PJoRuFlQC@ThBam8~G|?A*btvFqo}95o-y@&<*9 z;L2a1@iw?=#5vC7BeR8Kh1L0ttuR^Htmc>FGopI* z00960001EW-x=g0CvFPiRB1c&d|nR8y= z#cTg99^~{lcoQtrbhc-aBAp9(|VD=z6jDAz=4E7g#Y=9cbz?&bp;4m-W zQ#{m&hhV1F0{AXNJjE#a&H{X=e16;KwQp6vZ^i#Hsu4C56*Z7Ct z$dwIi2HwU~M3g7>?3yWCFN&6%xdpHt(rhYBEaWuBhwrc9H8-e5r+qopfNJc`^$E`C zg`cs*pV)Zu*{Ji5mm*YWnA>JKDB3fteY9bv@==%Iuy9H6%=5;^KVzP3p8p6Z zWXD5V6(irM&q=OoUGUyAq40RY09NVjZ1aea&_`=oucww`+1KKzb={M}OfiQ6OYIIn ze41M)D3I8C73sY*4?z<13-kBSW^HH<&I95Urr_VjgoUjJM?#D@$H1?ozJ4AAKbHpG z1fwelA%B?V?X>$5VFV9uI2FK+(PE$J4~!V+QhNp>xV2E zEZb8C$qY*!EST%TOvlfyq(jm1F6^%MS|soTuXdb~AwL@Mi`vDP$aU^OIT9p0=}q& zV7`t$&%3((qMxGua0fC&{yDJFOD=bk>8^EoMNJaO0d#`;vNisFw`X^$*8YXDAnz<# zl*~3gPm?wVe5aBR6a2sKy{j}wHpMHw)-3K$`C6@^>ej-YE5xC%HUUGj_*}Mm9XM-f zjAAky0}I-^6*guZN_%!SjCs&iT^fruuCA-Stm4F#IIRj8rn2Hy(yW$+F7ME3@e>XeT#bi{&L?}n9N^dnp(JISqU4wc80T@Ulek)`Cg07(Q{L+hMtbp zG<$uK>p~8FPn3p8A2?rbeZa4fxCsy^Zkc+v)rU5#PTZnKd z#Y7{4>rw87S=@Fgc8sTQJ$v-=pPk$RdlL^+Q7b|%u25OV^{~sLZ*zIMiA)HaiM-iy z^iwV>$?-5jVLZzOe6uEFCnlndxs9PP5VVOt-3}y51e!MGp#Tm=k{msEzX_MUD6rmd_XrxsY=#+rvd`^OFRj1 zJ>WueN1fz2I4d4$RzbKpv)tsNY7Z8v;*f@+$iZUaaGwB=5sFFHsa9Fezw^ubH6)K-4mTbjgpN~xZ&S$=CIZj*OxsbC2B$o??}?1j;K1s?(X>Oo zm1u1!vA_Ce6Fdt z8MEY>HJ6V$A1@YGqhZ)a%jBzZmgxgNd14(lV=(&N=wrX0#RjEgPWo8&&o$4`%A81` z;oND1S6~YvK9C|>vS#isxI}pPbbp(578`kVCp&$RsfPeR(AggeV}Rb(siTW&w=RD? z4WGu^@cgqGitSfG{koYdt}ZMiC;WZF|12yG3oY(uXk}ygGy#89Wuj-KXMBvx_+dJF zYOpdetN$0S{8s{}f81>V0k5|FoSL4>>Z-UV8v#ED{ypZ=fIJY?YVP{ zbHcG*KDE$HR$MwN$Lmev7-(qasO}lkgymVWWg4D2XuE~HRJ1wY+~5;;D^llB)v~D_ z*eZTEdn?O%Hy8e|&q9#Bf@zJA^eq&xxianAKG5EG)Gfd{t#VACSDUotp04^@wToD5 zMt+g*QB(@WW~7I%RB6ZyOX=L@Wa>`jH}!Jt;3DYOZG0)3Ll6`HI!5wX#v@QzF>Mr_ zl>c3gG%jOH7ib@eN4w2D=Lr;zBAHkz-EvncPv6HlDFt>`qTO-e%P&wu($WTP%W&$! zgdfVD=iQOkpdA<81YmvLeH~IQWE$Xq96IU%Q9KAU)v-txC`USgQQz+ttW1p!jAzk; zQifPsLww2>`+7=p?yzZWQMBgpgYTJ|`7oBk*GROF5+94Lh1Q?*4=)E54UCv&e~^lV zU{ucyT#sSS(R+n1^KCWv3KYAV+V;IF^`bk>JT}74;tPBTX9&=D{RgQxZ4I(8LF9L1 z4cn`81)ZX%$Y18aoneLVx!X*GOzj0@l2d~bOF6HJg<Lz_-8`!PLsgn$PraQz_p!7T_C2FZxt5=3(yf z{4)0*C|Xclgn%DF&&bHizyhF=mwupcT4mG6C?H)LQC)inLsK^bMS1`;Gl2*T1AzkD zPk93c%fattp!-y0TH4US)WOisPS?uNnn3vByLzSuhPnjwOb^$8N*+t_rz`$DHac7! zL-;pGB<|I*!)uk58_h}%7T~{2d*M5xxN3GrK`d8#5YCkL7F#%e=H? z@+{V~-1eCFJ-ka`dSX7=3sC_H4>68YVUPE)Q7>Ie6Hyj>ZawRz2@#S%- z-Ka@&krU5XqdAttg*4LIw>7Hfu3J&ya)Ue9Vhf&Yz^7~*c(o2@+89du*)?G|{(M@LbS8Ks zckvQ~d=Y$?;2AIzUp8eTC{{JUV^6#p>#dky>%)_o$0cRgq0*HzF~~;tX%ZqU zS8Voc_9s6ZmiRQzrKA_DYIU%4v8>;2)zsgo_L*7;k^(d9>nMeSayZU3O3W(W?=Sky z(2TN8YSF-?c=A}x-;jp%J}^H7CcqB@^?~_semLnU>~ij3SBYu=c|rB^?|E4O!1tYj z+5bsNb&*H4!^Y0q$k6_K&GRSZurRPNG67iF{uZ|mc+5dh&-^!!ogdBriCg}aj2K8V zkJ`StKFnqQ;w?4zrBi;|vlg)rMC-jEWtXg3)c}qrd729nwyBy*MGb+#S~$YSl13qD z9Nj6>n%*>nE!!*@tZfPROD_b-C4KN$Ut1Hb+bR6os^?z5Yv*bzW0iO{a45+FPh8U4 z8Q^^TM((6?vxjbsMlI3}S|-U<9^@@c%I?h-sy{3%et#UR_p~p~dRN029;Q3v6CR_{ z@e{sbEj=a#8wef(O!ZIacF##H;vG=q^Xx0(-v%QRsc92{V~OsWM8zQwXx>awRmE`; z3@>X}5VYhtc{{D|Vh8Cm@@%?S^X4E#au~7&NJwD8wS? z-77QMQQp1L4wmXwTXv_V`^1Q4bf|OpG-)EXqAdbTO~CUf-s9xa^lBR8{UC+a@&i`M z*Mi;8NUg(8nr^en-@;7_AER*K&a}Bi^BZ&FB^Z>u!*p-W0*A0;CkGkuPjUvsT3sRZ zG>f6OvP(~7@z+Kt;p!*F&n7~+(3@njLU8(o3hS~H^*$HMLtDqWhyyhJkP!y}-`(FV zNr3+e=Nb;}lrZA~@pw%-wBc0Si^5|Y&;fi4ziaEhSpeU3fN#nVh21wAK=+HrPV`IG zNTWZ^-={T)zKuQL)h~H4t+4q6cFA-Le3~Gv~5;p}TvhOp>_fHAu-qL5M^Z zf|4YaN(ARR{lZ-r!{MfeK@tlC=57Il^Yp4vZ5tA$PXo7^l}Gw`*-htE-i85%$LKN} zo*&gcnPJ5>I$9U4ZNPfX{Z+nbvjIcX8A(7cnZPN*yABjYq#;DKMu8a0F`?xo(j9s+ zrZ^s2p{=uM*=S~7lK1SN^(kY_3ADT9k!6ypDN8ex7sZb9 zjOIJW{1Xd}in2%$zQQoZ8bYgg&MG1=RCLO~%(En$y*yp{p$KTPN^$C zLVyNR;Wu#j9uQEmlA!d!h53c;TqhrU&(jRBF5$?{2AuG$?PF(|>rRJo&8>EqLCf!}qCEbmHlpu|ybYp->m!u#FA}J;O6T!7~E%$cs z^PThk`~26hPQ1n&<9#P%+)s^X+>gzJ`HWVu=W_5L%O#7 zoC@wG*#f>aiJ^J(7}4Wd%$mYh>Y=sv@T=zJh7)}XxpBjdHcKDSJ}%i?zEbARX&ajI zG%X3~3T=WtN|58bVGg4wB6|k{g*^<^(U;v#wY0w1^dtDTDrn&spT@MI2aTL+^P z`*L#2ow-^$0yu0+qY^ut@OQS|)sAQ&qwAQj_JX-C@yv(b-7OaMe}X3)y0ZV=MmSmxBxm z?{gxJHMz@Oapql@_&zzavSgpXdERj(2(b*u{vn95QmvQ|&n0?66pezf^I1v$X01{@ z3!BlV=F4W7L`%!}Jak5GwYeTw2{^lz6tWi;BDgZ6P(WisgQm3I3Xev!Oz#fEF6`Yb zlXFztC3P#jQs`Ox&EO;__kOF;ApHLldqUi2dH*LYk~Ed~l+R2vqu#A75V!s^xl3fO zQ@QMN5M}pEs=B1?^Hc~#(egU%urLOA_7^tmuFWkF%$0>mV@G>?=#d>R7IMJ@5ofJWa_iAcM9}{3dAlh?uYmp z-Q?bAtIP-$NF+>G0#7y2&=dT)KK5wJwlA|V`x-^{h^k;y=L~;gvq^@0lCi3IAygMHvks=C=`mfk#0Qb2Bq`1i85WL0*o6de6$#*}(;5 zdP83RCspGg$3e_$-r)J~@CR0l9!+w;jmy zeUC2Sw)vm&lE1_B=1JUvX~k^Vbjgy~`AEXMV!D%zB2&kTtjZVcA`k3R?eozjJ}qPC zB#WtLwz-A6GCe^fO==)$jAnW=a<1ppJiC4Q!7px&m9+MWTljQi{(JtB3^}Pc!GsSw z^RY-$?Bouo2a4{ovxM@BxcTAu24JNt4~SYc@=u9^&x44YtJ4nM z;n>Ax^RAHV&+2b2odAH}zvEfHMDJe|6MrT6vR;NdpUAuT?sE>ypBNZ_c>(c_vyB75 z3jF&({X!%RjiMQ_OuVY|6?%Cgc!kQ4k_0o@G5gx9Nj&~@Vf*g>E@gV___#jY@h7ou zfNfq`>5ILp$TMMN7i*y{77;)4N_Atek1Pn>Q`861x$UGi%Y|-pc`NETH7z7}3JH#} zS{~!ztO7X)MXnl`VBIylNVNA)I@We*P4q%O`}vXAwVyUpV!ncgyzf|okw`|&5lB{% zP1FM;umfd0Nd|Xd$QQoPxF;F@Ua)+0Kr^JxrgDDzw1L>f5m}IHNNk^N%G-GT?VRAq zVChiS{G67=lmkzdzvoy%1(90|Nf(!I9GM+SkDF8_Cv5Sto*?C?`=5t`sF=OgpE~wD zpaKOsUegi6HUolS>%rN!ZS%kBDZlf+t`bw0E#cgs zF%4?Ty!aZRen-QU<|-bPh2iGYV?AdA1-VZUR`09BQ?sVkd_FeKoZH66-NA%w*Is`} z`4&522EGCkcJiRjW7tqE5b4xg30BN#p*P|s_~ckc=( zQCec(&A@!ZzfYAFXZrOX9&)3PNAxLe{it0A7K;*5)A|-nVx=Hvvx=Btcr`Gz%1bBv zazoJ|QAzybDPKhq7M*$X3d&Ua@VHh{iU?ApL=LtqV|UR8L)KT+%qB_i)5n zBh6lUf{&?%#e{9nNT7WHF~hc<9qYt~9TrU?gcG>CJ}=|BfF?t&P*0@{vo47&lQ{(A zV=Io=ND=+zB6x(`ExvN39+9>JTwn5hny`I3esKuV2%#IwhUd<{IbD#E0}D}xw|)@# zz~Mnzm|X>~>saq&r?Nww2ODfn5# zB+I3;)FU$#oH}^jzHS%WJ$OAy8XV5b;63Ym553RorkTw@bA=x)D$uCPjg4}QcDU>V!MQVlp$cp%@%O!4HGeN-hzJMFQ4ERg8%-9rUW(9V` zSZ@BaaCUHW{N|RKIhg*+aT;bqR#h>fdw@b89M^X|n`h~xlxVP3=)#7nCQ&Q#GG`mz zORNr~cmOr$Wy6^;pYK*jgc`BHm!LCPPWENaCz_obUt^Snlh~9z&7nQuwKh`*{e<3l zK}7EptFULaCU5fj*sC(LJ)$m@Ja1sZu8tz8Ss0!mEfMqAXg}9|EC->0=chcg=(p|f@%%wlPjjb!j&f}=j=KZ$43GzV-Gk)Jku?LipSyP`vU=ph;E7) zPvQi_n%pouX-pzhedHuJx3&A)ZGzXAKa|%4$Sz^w15THzQI+Fh)32BeKkzqHj0DzG zhQC0#OHB`;U>w;=)-A8~emlUBABmiGPmakhR2b1&z+z=)9=_!x$VUg#bTVF73Ey1M zADOTq$rMBNZY~a<*2;X*VLo0IT0&Idi!AN4X`2LikcOcuc@^Jz{DM`HZnhm7Q^VPC zd66%hoQ23dfP;Er3WnPJ^Myu0$+wOz*fA71Oi!8?d04i?GjW1FOF7q z0t2-d94b4KNb9i!L0m#5Jf@`pCVUK|#9WPVENzT#bPFrYSBhkQa+wuXB2V1P@5j3~ zeBY&Vn+p4V zFFiK)O&OX$Tpw}K8#-99b;fZm&N;a_ZWvU4X#NjA`FAGQSC6tHl6YADmkL?zQ93x1 zg&XmBql=nvDKQH1zb=+fl9#N_`F`16Y=WLm*7~aN>>Dj?2x;Mpo4N`m5I$G=5;C^? zz`Q?H@(`+@uim7#>MXmXaD6-gkbZ#LkQ7%sKFzgXeG&PBDIb?T1vuMDy#L80Bg|B| zV-@(tSmw2g(&ku&9zsQchnPgw)Pq zrkSTeq;kY(BmC9COiug3D7Z0*g#Ba$kU|Xy9EA77mCpmv+9MN_A4=Hj*3(78`d-sx zMZNMFZp0KYF@mQSVid7Y4nVYPsB`de;6zY9hYIf#dibloak?k>lxmB@#`)gvnP%p- zBOYruzWcX`Air-o&CBP(GiNEePfnQ)cSgF?Ox4FjH?63&UEuHaPKq)=+#?PiA+xry zuL_+l9og6XPD9oMT2)!`rwS~L_TG+FcxbCow&!B&1UZt^8iODB7dDm;S&&IM^lY`{ z&Z8rg4O2)ucAiqzgX%(C9-%i?y!R%KROTaXLv8g@S4M6YtJ26L2&@2Q?6$9Ecl3rn z6|Gfwn5TWcjHVlY%6A$hQO}|oj#EiP;5uBu0p9&wvfSnah7$ZtAEAr{x zI<*Avd_L7=3-taq>Nvot1AtLSaDzH1=nsE|o%D~MiTn?Ro@5;CEo{Ia3T1~MI7_hc ze>(n$3vz=pb^s@k6Z~NZUT@)MyJ>Q8va#{%{P#WRcc3c2;%V44hmu`={A@Y?R3y&p zbfwMf5~}SJO(H4P@ocEG)#a2h;`l;BJyiCa7@cK}9_6s+J9OQvGkJSf&8>XQQ_~N}g#kicet?$k6_ChRT6KERJc@9n@d3khv zscLj@Ej$SbmyG9U^${03BX0GeOKYoY&wr2bz42Tf{1 zpmHUA#vm{XDqR#ITA_7z?h`$6(1x|-HeQrcXx>4sW1CKD%L{wEPf}6#8+Tb!>j>FD zKFfVl%l#?+Nm>I-g9ZI~vFulpB#`?fG1hr1+f1c>9bDcTrzu924|XK!oile2^MiaQ zhD0AzL%Q;4M4>mcSUjeH;hxP#9>b?xic9n2a0rosqF^Up=Kufz|Nj60AphTx$W3rO z3@`{0@4oZa77J(1IHnvU{!xhX^UtXclDUxwFKm_0F!^wCrFveI2kSD6V(lnfh++#; zK244+Q}pesIWL*4r)N!jYQIFfGD^ZkF0pdao{*n?K6yvYB`jBMS{zM((lp44G{E)6 z@d}j9jLx;QF${J#UVy<5I03-vD+*ta!YOcn{t`ue2J>}*^>AlL=@rn3OxCMQ^_umb@)|D(_Tom0}M zz2V?iCM2I--&FnxdF^!O#Z&#bdR~m6sVbEv{$&Um>yg=IIC0F3G8|g03aSqfcH+II zP4CGc%3HJ<%j|xAyJQsczL~&?p~r)AaUYQS^a^hdB!}4!8fz-&;8F=Ezm3 zNS_E{Ka2M5aXAc~kOrR#Ly=D{pz4IXd$eVe=j-9FEPy+Mj#4HRvh+RP#(ccSBKilO z*BRWDO8Q4s4%U5Gct-dd`ylh;5xGvAPTYsCBG&D%`iq}X0#Ic<$ii#?km)m z+!Q$cIvwEIgXYy2Xa34zLXSBJP!KH{FiF;y zoArdGTiApNUg?G$9oV?`I=e2fM&-%1#h9~hRdCKyj70<)f5xI}XniwLxLu_lK}#c0 zVprpQM_5R+*k7Z{p059LibNoi=R3J!jSkX@na2COpWUyJz3Qvl&P%Nlq|z({ zaJWe8{GZ=R=PIH&3opu~dv$&fW7^G~!JT+a%%YOic zi>R!!%iKoe6A{LL`m8k(F}3-)^C`6voL4laqRLyZ0QU17nf7f_@j!AvX%Uk5-Uu(s zqTDKQdb>ZE3k1QJtkVbS60D=!&nOE;iV@uDe|G=kK1Loaej5t4|6$TjHjzsEf~06i z0?jk>=uN{BAIgl}lw4juDH7Y$*FM?tuNg`QN;RIBn{b$LV$0+3X#_Wi#UvK@AHvhB zzrxeRk_+-2#F@blqGQ&lAor@g9CyUSO9`Il_H0mm3mWR-UR)M4t=8n0WcG>7?tt9_ zX|R9c#pq+WO9{5AdTCCDaR)PTDULKuQg`fQJ3-mkg{waYCAJzIec9wEnRw67o8vOb7^q!37JkuQwtcPF9p@4FcnD z@#K=gVQ z#*z(*e0A+Q07@bB$GPOPt^FBD@%!jU{^B9rrYce1MUEHVTG#c@dZcVa9Q9`pAmgbo z6al4v%k-ujJ7xlTO+)Oamw544)lFZgo^*C5iz7EoXcs@a|AvO#(W`2XR~;4PHiIjg z3|VEceH^oQRbh5XkvXOJ@v@j4!K@(4U891GpTUSFoc2Rm6?wmz6h)(>zrZ`0xm2}A zUXL}Rl>xjE_cUGB=Y+VSCsv_H86~Cr93`a<#n2ZHVE{uwyuX6#zV0wtHm4%`5F7(6 z8E!f6BcRLfoj|`8bMGXEf`)h!RUiov|Aj>d^G~GXt22wF&kap)iaN;-)V@ZmEe21e z{wlis)c+F+UTL;~3PfHfCIW0p#<~M!1bFE8nh7f8DlP*>sFPXG-F#UYzIrsgL;?O?Sf8NX&q}R>AIX%$fKEhLgIUL;#x)yOF%^*(?`!? zYo*+9sjVGCO#uO)CmxaCA?dcQR@T;!*X4hL3K;2l;6J>V6Wlf=WlvFjYOK;i$?DTy zgln2Vo)W(IsQKXGfnaD;(_DLf^PSUKZdeG}WatoyjSg|(h+7ox=wY$hQR4Aa*pGsn zMaWzxv#;O`xuO~jfK7ML4UU}_CFmaYuA?SAV{uCfP_dQ=6jz(%C+%fT5BHk732RH& zTzg6p*Hqo$57KSECu_hZbu=0kx{L)DLqd3Y-A`IG!5KS+vYQE5c~U4lTiF>qd;P_O&2_W zY+e5U(wF@Q%$g45o1 zCOxMGfwh3Zs^70G*?l*ZAW>k90fzbddDpDing9(vMDUlh0I^zFnFA;RxiaRG>9D&CEEw0Sx(%$Vo55hrzXhWRQLh>OSyQ*IF60VIH)h2+&pLY?rB!+OUSD@|L$I5dxAO?;RtdpA!=a<;`LX1vz=`o*O;O#%ZZyi7z zbL&z4hs%ftk25P7>0C9eiS8|UHh1{ZH2A-!V|+6w(eO-?Iv{8&!f4v+bHVs7Dm^ydk->fm+FmAH=f{IU)~()w|p zt*L4~J|%16xK49h)3VK(LcGJk(G(oC2d`5&X5Pj*x&-=U`?aMTPfLcU$M<~<1N3ut ze7@?@hzOS7g-wKW+HXovYTSMuWW2|-u9TL3S10D0l)4t|XjFnfoVOB8p!QG(31a2) zBMrZSkx-A#&*sEmSib&@jY@+YZt(jJ-Mj$q8}I`D(4RkD@K3PI1>m^BF7qFE{0sV$ z?f1sPf9|XQ167Y(^WiHruK4@%kKx>yCcAHgxl|uWY9hnShv&G2r{ivs$}cgv&>0( z)-Unre^b1bKM((RhY}mb)za9*6?ChX7yxuPqfh>8&yhmH%H8TZz4yD0LB?kNLqGl4 z(?6LeGytlbX+nH+!yl96hu9|j?=|iJwlDNM)mqy@&vZUFt-IjqL;T3YJn*GZt8e8& zF?}XSfhEw1huviDz{%XJrW90A6g3fN#4IfKs?3J1llmo-=)&6Kg>m+ZOD$CjrZ|CN zZv(leEfTC2)gYGwpKsCVNLW=wi3Ak3tCI_om^Rc2F^-McqJv?JP0-^U-3_@mGDzn+ zdDjp8{{9chVV==tEj`mImlo7$nyRK#Wq<^Vm`~5pv>o4_-lmk*%R2Vn^w;3@OSOqf zN}_+6_$B(P6^~s$$r!J?belANINbsd4b7 zMb}U^5kXULk1X__5t{OAslEdbuP+U_OFVM}tPFW5!X9+4GqhNQ&9tvLs+<|B4(LJ*D#jXT=3I2D&^RUSUyv~Ac8f0gz8ig*3K@fcD` zubzUD53C2BcgHlmDwD|4>CJ>F4GGc-YGzeV-TztBh5SqK`WtAt|2skRFKD&@jMw}J z8tm~zc92g>&Yr4g_+=zs2kiP{0hAIdd_ROr3ksAfGgYA&Z|`N?)=*db_`R!K??)>& zzL^yzVTdl_qZ^s4-bH2h=Ph-PofZ*~ImZh!Yra-=?*h-BG#{KJ^e2p--%0s*(ULh0 z0f5-B@ed{V6xA>siE@Iu{QM^kW(5H-2YZ4GCrg^rx+UvKJ#9w;k!hT$#1943!#o&X zmM?zo!H7n&IX-_jeCd@--~c0R`wj~thsT1|CT2dJO(qOuM9 zjsz;b?voA6Y^*O@!Ys~EngwzBI4svX3<|8jF2NIW{dPj)mfI&2)_Tc{9@Cfh5TKL) zjvn@3Heq=FhfSD&L0kRjzWVR<()@~ni54llCNCTN*~gdR(Iw+@3vdxzX0gEZBA$4% z^brvMPa&u+1?YRGm$y-#}1s6nZv<)zxPatj~S`jk#_8Mr~!Zh07>8 z;JLA>tuDUbqDV5?Q`Bxs2FHl2Njh6wBN$pm4ZjDw9mz898c7!%V_*#(II^{_i)SWeM23;aEk(i zs6Sk}b!^w0V_4D$>tbQ6MHBxus<~dT7qR(@(4-{uHgiDTWFcXIKl88j5_2E+$o&8x zZ_l>eN~VmB-Py%t14OHm4SUPzHs^NfQnWOzCb>PcG2TU5j`6P7ih-ZeVR~umI8ytI z%K(d(#x7H*v7rxl(F{@;-92O6y)d%bIdAuS)oh~_5~bkXWve7+2Z3im}t z9brMxlM_J|+72{cr|lI9M4_srr2f4$ z7Z-pVzyah2W9nPg0^kqL|Fh122cSmwX1_sNx!C%-XAHz;n(-e-sm9D&#*#jamxmdP zSQ}|ts)yWbwN{6My;{u5yj!UcA1Bwt;JY?Q1KZIZ?XgB%GPQj^+@9k zGkR+(<{~IR#v=p;8~_T$*W-gKH5g=fbf-!&c+f866m+wswnUGr5nOxTM6fsbPPs15 zhm4A&x$)-HiZE<>zC>eU;mwJTvd1G~r3=DXSp_8{!E_pY(bqk}Sb5XpEr0%w8v=qz zmtpm7wu=y3czXVj3hUIna`rlxF>n5Qq%hF)m;J`WWB97(fuZn~WZ4j`z z3dq=_=gNM|f=;p4VyFT6+ZTf-yZcNj(rA zhU*zod|RHYlk!8mR-9Gzu*$usLIZh-uL@*Fm*&hi66;5*oW&iZPJ2QGu*>`svozI` z&K$cF(152|7W$j1JO+k!E{YMj7VjRpW0+91Ygna-L-5`^{#31_C@Z0^WhfSWodQD) z2!h22gXrouV-xeQ*a?DU{IQC!Dv$txceBEXE)6pA27wiUyo0GR$kyry;sEuYR%aV4 zFA#;8m93SX3&@tj9YmoHvbp9ewzm4VVAz-I+FNr?5+m>C>}KZ%?nb>QTdcQQT~r<@ z1CY8|niSTsb-Ru`O4@>KT%8^4!MB1tl6SUpbp6)TPaR3xySQ4p_O!b6w1Runkdzmd z1X2SiZ+aqfa{c=Z)I44x6S|m z*ZJ@LI)5i0Bkkm`Fe3PRj{TB9Y*CmwR#FDG^Z5wO?UAbbYo8rZDWv4Zx5_ADK0R-& zkMRy>h^CX8R!k8IH_q*QWEU8&X&cG^%zW#W$i-@zZS70QIkt|sA45m-Q8jvWc{ClH z-1@ynaR58STDms7ocsBdihaYr8HTpaO;kzBC9f46t=p|({jswd$+j+~hhd5w%9B`p z8FL?bVJCdpdh~+FE!LzuCF$<_#Z7}WdkRCt5N`=yLJ^V{4aRdoZQyRm>il*(4=;2m zLa915?48d;aZy{yVIV@xu}wtkca}-eLtG@3_QTQUdl`V~sk$E0lR%ayZ9&N9mq9O= zmxzLTL;`=6TiX^9J`{Ich=g4BvF|d0I_IfenLous;w9Y zC_bP-_lm-1tO&2!oaBWC4utfRPsj&i)#6byVdn?b8lcEwKcbj65qTQFWhTd3jtYt8 zCHaIkoX~P`C3FB#>vqZ`T-%xS%w`2zV%Q>Y@!@1ew0i+|PqHzi&5UgqJQ5XrsBI{X zRB5|#lxIkg9}P;**Ff%7+9x|)iYZJ(+3~a6rD6gV4N%we@flb?R)ghZ`gcELuni=w zSJjjTVXy}Gwl(Lk;?m&flIOR8K|&!Cw{)|&u=FqnR?A9?!dxyv-|J1;yE%3 zB}iFb_V2b|FeJx+ue{BAbKmT`WgUht&pJL`B*xf8%SCBv8Q?$z&W5qcz zb$tm*Y0bSAq6{xjr;8|VOZmupa02?s$SUsDXR0;wjW5Z55RJ+=DMSqmfStqxJy zu6A6%v3w#>0DN0|NvUeqS8Vaw4IVBTCs3oGeho4XzsuTbs$Kp(S?hrxCVP$87ZY28 z$q__LA%ELrvN)59BGWm<5^^drQ8I^&NTI1yVG(by>LSR*w>g3cxJ4L{%yn$;Pf}3p zyfe??F+4FHmg5Fm&}oTW@4hEV7tL6t4F8Y6E$t3E<{ODK!6)=VVt7sTHkgcZ zfT^SX%Gk2eg7~@Ty_jK(_iJ6Tjnw8VIq_~B>7`tZk(tTOIoq!yYffk%>ghDFMw8ol z(UhoK_JnY*n8%o+(cYUNtX=owE}_a%zb%Ag4Y2${Ad#VbX|UK|PNYMW?9||8@emf1 zdkjGNCV;+6A6_^Zi@Wd;FhBq+fccvL9r1Qq3k)fEI9Q9j&|se*N3yzm0O`K(CtXjJ zlv4t=u40mDj9+a8(p`&UT46Y=`z}3^<}&AZ0ySOXUSw}EeBiO5W89ml7X~Gr zaOua!#E4LY6K?I&cM3k^MW^+#RCd+KM$vwtBPg0otBSBB&4ddioalhp=zoq?pLS>% z9NOa4HDeoy>5ha{-4T@bWlQkvY@4~1A({XF!dn%V%FZ?f+-MI~j?~Gl@-fm_V{}fR ztV&)hWD_G13a+@SbFNR!2y&!N9a(xOTSdfqF2&O)_Dk$AhL&aY;X5;3@!30VtJa)V zri)JrW?I%a<+hX~(T$VHR+tG_0Lh$*`e+UCRfGX?((x+tEcX^dSKcD2BH?FV5LGKf zy@xC?<)&1S=*?2ez(jM&hKo~YDPb^>;0?de%-t3$k-Ur|&y?Mh7|LP%61^!)PF(ep zgYQAp=AC)>(m}upj#EHC8JCPJm8f2L&<6siDA9)!8-7~4Pnu$|H%n}Lq<89wa!e{? zg0_+$Eofu(R4lCATLn%GY=79VzDy*;Ln6AEIXIzj7-}bdW@{Gjf4J7GJH=fohPF^h z}|<%!qn%C&TA>%?6pU?jGJ6VMy5M;$9|T$#)$A`4-;$qcRpY z-k)bEZs~!q1?7!<2xPm?$NNs%0Q{l(f7bc$%%79N);1hvbL^|nV_w_T`;9~cv7vid zF2#gp7<1W=L9RL;LMjjLAJ0=ajPDp~)o|aNkVUgUvJRho8~v8Pf8~lRHyxCRt=NCp zENdbjYXk@GkbiZYq5T8e$x}s{WV_fDAco$~W9GIAKD%0y=SH1U@{mWem3~r@Z(L*Y zQJ{uDU2McP*_a>rOF(p()8a5LU;s$rQ-$vx+cd>B`k)l?e0(Q8H=)ma5m9n5b=P(8 zgU)0AT;-PHXi3g)Wl+kzY0&OMhsV8alOamA2w$Hjhv5M``y6>}d4MpMKXaJbSRB8lA2EL$q8oA=XIoZNSMa~!+QXzkI?kOsxC6NYr`iiYaMBCl6;OyT%J3Xb;J;pEeeRYFTvyDyDHGnOBEi2kM-- zQ0tWV!XA93;zt{W>z(6LaDj<^Urn{vcfe9KL%rIhC`VCZ4@HwpWn|$KMe2;$2h`j2 z$_<;L6+Dsr7iKV9cpq900030{{R3W|KHi6K7IiIRMKy3v94n? zvf=fU#}&vQrPO4M9>US0vVePNoWCCHNuoe-%S?S-~T zpcQk7D2&eoxwj22kR+c@ZQyIX$=fo@Dn4F~*1gjWXM~f(oTgBkgqvgB3u!1bsnvEL zh^2@*NV!ypnE;x5Rvf`ItZ|Lh0x(i@!AK3ibwTO=ichB>Y#Is4@4NAku(2gTZmuq- zmY{DojSbkQ5taTSIYyoN`mh?v^fo(29Axhba{g`-L1PpB?e;&Z7Qm?H z-%t(w*1V3%UZeW|g;)BWEO?4sz_}E42d4%nv`PSDjn{!wU#@at%Qz-Q_RztsfXK+a zuvCO9WM;hRy=M}dC1geOJw3kRv8E?tB8wvhEkWAWiNxh3nX?FtwDhM|)Y5xPADO(f zjORUSgt%f+4C+q`Nb2I3^p_bnftod=d;UNT9C4a&Y}Xi zaFDV36=h9H&t52jHovl|LR|4fUOJk>EkpLmDAS_b$ zlNxLsp~A#FEw8M%)+Az2`zA_8EYVZfmW|WhjRzBaCxswZ5|qQ2bCA|6(%zEx^F4Uk zIt$G)5vvP%WDVbl*I+N_|0`Dr*yBaqa-=qezx2?X8Q&JEjxmS*RxtdLTMPTI)U`}D z)2`q(+qm-)`%Lv50rt=DJWKbk;aC62 zi!bd*6pMU84%7z1)DGhxFb$Y+X{=C9Kh$`ZE>mW9Hc7%YE#ax7L(Qj|cH|9Es?4=k zkY|j|gI*O{Djk38^S18EinBn)qpJYzwJgbJ$Nbf=c?r|m-fvMF$FBh?V>xQRuyV?U zV$5zta#OZzn=b8#MgY~u)p0@{y$)I6Jm}q6$(tfiFZ)`ixz>WWH$aUYraA{wRe{Oe z^H<*y?4SGz4k^{|jKN4Kh!U1oc3uvyRxaP8q|hh`-y97K zd*j>42^SkLkQ2xbxTeKp`?2|7?Dco38MNFRnw+fTaH9(%+kV!*rMFDCgDGvi{MZ-I zQ-pHO=#kE#>2hyPYT^}vofY*mqsf@U-HV@kz(!Dq%w*jW zD~yBrkOIvEr(Q4_A^Zz1*+i`o#J0m-23q^OLIkGxw8BCX6nMvUgS3^fa?dtQnGT}y z)co|$F^Lemq)c+Dn)bS5tme=7wBQzRHE1g!u=$^9Oro7jQQr7xG}`Tu`>GR?$2z?8 zm;kdIg{KeD4fy2+`8E+?7to31!(M+qpCmzAWJq9tXTAJod=-@+YF;J_g#K)W&7I@cSgWTHkj zqi!56s=t1>K0S$ukY@V6i>10zg07RUvq}T-h<}3XE+NdJ9@*6hQ{&Z}ui+w?6PVP` zWjZNK3mKTd;+|A1G9ChSDK9V+INC*beR9&=uF_IEQ?*#Po=Z(VUz@pJBZWQ!19lG# z*zfGdqJqu?hc@Ja;t%%TGN>z7r;2H+ea)H@^HQz3lI#%uA&@h%7;_h0{@4Ya0w%^6hEH z+Wr%^z&qk83Ymn|l(>@bRtHH`G;}MIK5$<#+H8(*wclNMqQW?3-eat11T}ax?Cite zw66$4$b4OBP1ptb+@*NxxM$&YYhhGBKG0J62AS$-Q74|Bw$F;vplqt1fLP zc_zvd-3Lpgqbz}0J=2z7+ER(j9c%D#kmrn==^$^*WU2s^0Lb6ad`ngGPXtaKv|lAx zYqi(td@@}FW;_WAykQ5d^l~sxpB-_2`(AHXbyiW%h!gxU%aqdb;9xB;ZZL4z1moUe*Pr9Gq8oeB6PT*;7S<)j(h_bn$uT<(&wP*^mik=!TV$f?}>ROg_kE0{KY^ z%R0eRHP?_jsRXH1h{gb>hUHa^mAS_o3~`XDCU`;+t0YBSfdr2gRNXr<3+&fPTUK@2 zxzzfE+~UHl?r5piXFqqy)$1eJUSM5LAG&B?L_)nrejph655UL={i>ecHPnrMX2bZQ zwxr}W#nFv*s^;b53bJ#d5LaShQc#!pGf;?4`HctTIt}2O$KTEVdz?`6{&!l8@9G@< zmkr3q&h`zzKQ#X@yut54+3LTonMJd7ncX7hRT>d_7O->#e@A>P7Kwu^hUBcIp4am# z&Fu^8TA2+@h{TKH70cMK8pIWLS?%t*VW;G0Yr$k;)3v4|R~g7s}z@E*u^LW(_dx zetNtjC|oy$83$CD%9Z_StJ(8%^9a%54;O25WD&(X^vc9g02(Q; zOPFxSG!d84&Mr;DOsgXLjHfv!A;&6ROheST(+rJIX|e02mcyW~=%RZg5=rl05?btQ ztOXRGV+$39iHni<0+{j znVl*gb||X1dD=#7b!21HbURu-_D3HSs6ZI1P8TV-yAct*;}Pe2oirD79ex6T&~NoG zxpY;T3527vx&q{*EYpm;KPSzF{s0JRvG3Xo0UJx&8DtFh5-IK(+k-trmurXdR@uR0 z!>bwFnmag~{ZK;^j2w_Bb1!sjNB1Dbii^u4sZ(!fOD86AX~!j9WNzaXZip;OR>>`fIC3#a)Dxr zGm~p{0J3>~e&OJXl!*^db0(2@@>(x!f%U>Vct#H2&PdId><-;}cfzJ_qh#JMnZ=A z!-!WwD8!j6%0zSz7bcAL3FooUnUNlg>*K%SNTk?u8R21qqeJv|{&J?wcG8_RX7!kQ zShVKV+5|b*Xe8fBwCM_tw$%>mn7_@3Cg}G{*6-6ztz=-^S+3X{Hq*4NPAmv3lZ;a( zaL1ghgaCVM64keVDCr}}PZ#al{r>IfgIdh- zb1gQi%z&Z!uPB@T2GD84{17$r;rEkY^(M~xjXNSwGEY2A z^fu0F>TJtm4{~*Juyt{{AppM}zCT9qhr#<}?7oFwf1!Y$SITcRYJT)DV{UYj4z=!D zD*~bNaxHnMvG84ClTN~n6eE#*aj0ua;CzUgu){H3oG zxeYswH5u#|Sj$dptd}eX#xE-w#{9aUnJ3U03b4=^zSKhh$go|7nR+nqngEsZRAX<-Ppr7G7VHM+G!F`@wkWWq7{gS-855l^h9|<0fvtLp)-cTBztP4X?HIQ;6~Wx>DLpRN)fRmNAtsL5rE0iaY#}~%)gSY?-2?sL=)0+}yH-q-mnEh5t z2&F&DIwszn;%)S-By}c`9SdI*5BexPRCe^FepkbnQWbPMfx2vaC={LKlE4Dhs|fGp z&>6>LjPQgk5UG=uf>kssVO~bEb+7+ji@Oc`AOtf|N?~UsXCxx|ioNsx2bwUtrfD9Y z#k)2OSg!_zrSTOWcf+M3PR?Bl3rLABYOUNy7vS$AN#dO0Q7!*8xXl7kOy+z>LoV-W zHM9ZrPb~c4Y@2Ar!P23sMic^B#<(0J+&yTb5*FA}#OdJ9|n zGHF^>+`#-0PwK%O(S^#6W&a!dLSLHEO0mIIWmA@=OSjAP5<^**lvQ4Kvski1!}zxr z0<|-jqRkp5h_TMFWKjzep+RDAWIIWXK9AxvrF=Xt>Pjr=>n=esLN$WHNcDPz$FW}8 za7HW1J4gmPO*$&uQ=QL97c2@RLg8dTlP`jS!zBR*?3NMObo)%r4xh49OdPdYvoi<6 zoLB3OXBVvKk*=1Cxf%G3d+hS6w+tZ>5MyP?vPQ^%RW=!Q*@*KNzeQ~hATSev{YRt) z2MPv`3z>jS;-V#T>c~kLC~BU$4U@|Zn;!~@&?TnZ5`UtRLcy<7Et)Gz zNEqQBbJ(Cq;8P?d=PS|D!yoYyj#?`jqodBDL)WspkoK#66BCuxaYsqq%GKRMegr;x z9qLQ{@-y*zd1jp4(|J17j$&z7xao*dzB_=B;kUd2Cd5w$G-X?@HB>Bc<=Q#n*CyQ3 zxxD~5b9ZuV`>b9`Ydi*gd8Oyy-IGpYqlg#q(c2Rw`51zz3I$cej6-2?`4-YtkxKF8`I;1yMf`G5XMPoVwguOOEBcY$@w zMgWbC_R|$VK^TnNA0f;E;N;Z#Z+y~kS3nB`->1AjI>w3ZR(dhM;+dkAExL@FAwq-C zo4{_q*}fcHWuo_R^nym$xNZp(Qp@T&l{&%E+aEN5%&_|!@ha>|mjh7D zR#nLIZf6ZIK=ZcJOa#kp02CVSPT?n{*>s~BBQscQ>_>c0GIHD76Du23}d zQiL=-4$Us}F9EANj_LzRODqhy+TktF|Jwj8#@2v$2J`h&U*5at>lXzPQXTQCe-ps! z{|fNtaBN;@9F{>rHj6+-;J~VZn3Mu%7aCBr1W~y9< zMiw*KeXy>`8y3`W5iTM&E2I3E0f*dvU;Ei+nIB020Jfjt-@W~RsC&z>sn65`|`OYLx44;B4yZIoBz>3-6=_(iAJcuGnSNpf=JZ4l%Mx__qFeG! zVmWJ7_!@--ZYuTLI^(8Kz23yiT?LD`?u>55=h7=F3hRgumu|uoYJ#yOZixqmrK<7WdKzYY=Tx7UT$2MqJb@)|S^wRNh2*Kq&9-3(gqoqUsE5 z!(~m*Uo3X$LUJph?1=S0SMVoWql&;z+d0jMddny_DX3>ECovMSX(cQ5A=t#V$Lg$d z7TIpbRYO8)^mQw$V@BCYCh1WrPP7rm+6g%5eq{aXqt!W%YRp^Uh7+#6#n2tr(A|@X zqNB3|?$SB?C`L?N9KHcN5=_EZQ;%i-)$DW0PSxo_uo8xH_b$Aauvz@_({ zU4OxCuSmoJTDrrNSn+h++p`HY&5mc;&O~gxow?~w$i=$w!dCiS8*zp-@lYOGrQ?GX z21h^zkXRz~mzQqQs*olGa8o?y7F=)^lk4D7d>Hi??VlEA_zM|sL|o;WcE5*@DGYD{DLQ-gjOT`*0cC7RbHKc&H<~XE z;^6$3JReGPio5kv=h_Aq8RpUnk|knw?Dd8K7{km^imWC@O{)K>+J3gXFrUrKTKE_6 z;GY?pMXl>n$U{2~wBQ09l7(E(V%5(y7$6z56lySdjn$6?#QoV6e6>DoQXdr|jpu#R zGri|Fk~?lAxZ^g+@7%^DJ*G@B_Gwq_gl>p+hU$;)nE~GU|80E+mVdT}`)7*guWPt} zP!~PxUs2cpL-+ExqTA^QpS_-cOzz1VPRV#~3xy~Q3rB5Xd}yX7YAp7g^%{l|^R1)j zAR8Vvy{#|OFi%c-{L+CAlM63!Jc6?}GbXJK;NHl(?lp}NX~Wg4r7SdD z%c{YY##e07Zh>y<2F_FUPDr;)>f_A~2dXrPKkGM!z{N=s?;fLz8g#R^!Rcx<+F|(8 z7p)#M?cbKvD(_AObrO~mg&$`sH!u&ylI1w*8Ym+)#$)lstNirz*8mcCg1j zSO^K_=K$?0>f$=qslOBzb4%t_Mk*?{WqnEKq#kK3GNrA(ehtA*M1bCTj<(e~X>-|Y z>$ZSKhnmmx#gx1zV@I_i9)D~_N*_7}rB|onlpQCqp|07L$n)%`h|hVg2+@)|0^8Xk zw3D@x5W{bc<C^J^SOweCHQn&{&U(` zk>REg-gjpa-tuN@2$LyBM!Kl5o4*#pwT71Qk`A zele**<;K-F{||`UDd8+1`9(yG{`e3@!0wQL{X#P2XP~RVt{bwqenJs~C(sr6*W) zv5}$|WC`#}UsJB_xfKz!a!|-&EVS=L6TK}E)2IEX){8HI^O$X3#3dOn4&XRzO=5u> z34M&wzXGAEl_&LFEz`5p0NH%97KyroLu6BdF1#j26PB`hw;cs1!5Z7MbSyEq{Y|)HIqZeeGqHwHLBzf{m@}bNO~XImS=9eIx9^R#%JV0)|ft zl4L&t6o?*cO%>v{uf`l)oKl@{_d7iuuZ#MU14o7R7>LK~Kp;I9Leu=+phT8%cp>s; z<-F=zy4xlK5w7ai^ZSywc7P99^BoYgzqjCehW(LFp^;AFA2pQ_6n$XWp)O2ets-(Vs^K{`khb<3q62=8NkNKz{K(uYY&G1xfA_e@ml9$py#L){W)9T zMMr{QQ_p!5>xQ&-gG5BOEv~vndTLwX^TpX1#H} z;t{A&F8k#*Xei!crWE<5j%!2hS|&=(jt0;JD;u0*VDGWgHx2!2Z1oDZZMCz!w=iHlBXpr)&z(n_>mLnRNqMgW}%XYT4(?} zYE%{?H57xFcIB%!${Gxq6pwJRBSdk}%dw|)n9*+%a>Mw+S zuqeY_f{1{`OGviflAHhl0RR6003iS0%sv-E#<%+*n;LNZHj|hS#&$*`XTugetUZ0J z{dv*Tt981IVe90l=JlPZ;cU(z!lL_~8WWIvf$T&96>tbDg6G!xqO@PO$ML`KJc{lX zZT~0bBL<_`WN#F|e|Wnk$i*(VKEl4oXGDfL#?Hy ztCJsKYJvf4CpNC(x6LnyVX0CqqeNiZ-ArMk5;Yrz#GKE8+k};^ojQr{DI8@o<933CL>; ze2D|=n-wFQ^zv5q(ABF1q8`6`>~P{Z-cO{9!v>9~I-vV=conMrM5-BS8q}L=edhVF zuucWq-AWNas<6gQCYa8h_#Sa!tzBCrvYH>qB;-F$5v#I*7`$l*Ddq_2B)XUv0%WOwEcIaV(P1(rVOj?(y%59?)X&AT% zJ1+GR$qvT!1_tE%jiPe!jrc%`8ai0-Q8+QZJlhD3DX&j`IHc*hCcm9U2a*Rw(G%?` zUbcQ^M7U-ET~GEpfBJL@SYTp$mVuch6l`!q-DrK=s}R6d_*&u%R3K@if@xhP9zRIK zkxmx(Tpq;hpv8|~Ymb@>j-|ohxR_q*+N?l5+ev~4B0fxObeo+uLy9A z6y|$6v<)$tXo|PH3f)L4xdWxmKGd%}No#S>;w^V9-f+j_nLo1i8~JbqPc@&F{gK9n z|0#C;xp(;a@x9XfFG(E0$o!DR?}z`X)BGKUm#*%4gp$A`Tja~opb2qCN2~YOY4}A8 zpinj$DEsj7D3iRC2_>bhwY=WXeBXu-Od^i*I)WHwokHc&8<8IHTt8x}#^%>lo{EE^ z?aKJ@x&{by+)5#~(vD!Hfzj)72GRfpTFp|zXmsuT3(>(XCWS}v10MujcvA_Au|A!Ln3 zGs@1lgg5xPXmgp)q*3k8&jayVNUg~P3{;hV65{LXR}GsUp>oUHYsp!IE`ZNo0F$d# z>><)%FpZ1TLz(HDab|J#=Me9b3%(@TNO8>fxmCo;wl<;q08DaJN%rx@G^pZQJ9LjZ zfHjhGHT5y0CK|e8ms<4zQ*iWQ3Ry%3#K-OmCz%;oSQs~$F#d`9t+}wE^EXlz41<&C z)9-4B3{yUS(Y$Sr<9TAg;gPGWQcB8{&ELb_1SiuE0)hakiXUt1q}y6*^VkGFdkqBM z=_MJ3zySn|E&-wu`_rp@kU>y37sGu5-|8@NrI%5Uu3xJA%m<}+EE`+6hwpRE8JuVo z$?lVQl@ut&SzZ>qPwVi;J91@5)!>AYO&erFnYS-1tkm~QN_s^&x@srlEz}%|;=wma zE11VGE@fh6I?4=p>P7F0V5aP>zZh!&7b#qg)b(|ifviUz`*E9-q2?yX#=+k2DEyZb zensKH{}~D=Z&-BE53f~M1e2e7x#b@bn5U<>ZpQ{(fr=hzhZk$ zpHt5%&)Y%rN=eNmdbg{+k?qmSE_#05Y>yj|ZyJM0gB%ePE`tk{Qmz{*OFp;6beoSQ zbR%+apaeP6B_2)BE8f%@EwUGKQ?wz6kGqA!QS)nCo9A<|_DX0zi#np;H13vSoKngj zu=~Zunpt3XP<7gAJCl|{lP@f2j<634y9-DxR8r%0b!+r1a-=7lBt}f{SCnz31)3pK z8Capp(PNPeThbHD;D}5V|M8R$JVJWW+@o+h79huSBsv+m5RkSq|#3>N6_}m^xJ__xBAmfQ)7o*qG5y zdM%!vdjMxZn7=D+HoR#eE-m?D39<;x32?Z=Hs>D(D&MN>Gd!6gJLbr;I}#&N>nnS& z+2)2_<%y)G27wy-7uVH0`z!Ft<&x#gc4@}>eL^ZTQ!O+*7@yjLkwWJ56-iF6}EXW z{O_Lp@Aky?+^5uiF|+m|u^M`tevS@?_0OZ!pUy?|q+P;;RB`J>HxrXp>+MC4q>gj- z!bNK7dza@y!bwhEj)GChRRNK9#p1wv@F4ox54U4R=?!n@MFrIh$~AhGD+Y(sU%jt& zXyNAuBxVtjqT6obEsqvaHmk7_j!{ZXD7vq3C^k=+zW`Q#u`c2U+3V9VpBu=XVO|GN zdRqzXtwnRXoCv_6s52ZL0D5h?9U`nazL;`rM1>BVBaLN>1mjWbx)DDf=3v>*IV1DR zW9|J*eAc?=hVC@8EjPv^1}-v@D{>OxJ`Y^AAORFpW;b`{En34Un^$8DWSw@W@^30N z63?IpzO!C0z`N`3g|fcV8qz(jc|W##VM1eRWy|+9a;N_-cn8q^Mr&Uk>EO`!#a0G) z2j218eYdBdyvF&U$J4{(>GXc4>Dhj3_vB1>|1fDxEc6YWXpQa6%^pxMlnuBvh9JV) z_+W==D7~vwM4oTmueRoICSQ(M%nX5TFuVgA1qE4iSXH7*PKexu1eh(jbMLLSR+I4g zi7kDgDCvC5ArA;TJax2??Z3KBC?(OtPXBULDT1y>c5E&M+IZ zCK94)iqaPo%RRE!%M|titkq?ZEMVzZq5gq&N239qNiu&G`D6)0u0q$+s!7D2JF zA%e-_T;beFd@ugU2)sWuNTE@% z{{n~iIxv3#-jAANm2YxZ00289;H#(s`&V^?`yo9OfS&$tRrhb7;O~&VP`VW-1L><= zHK=QF7U{FwGfMpe(66>T)#2X5*N*Wxba9i>L5y;Rmr(3gku-cMkLZBG-t{OUg24#o z6hlPV+PPyHvTJp0TkxCwhEKM%F0kMXzL_2&j{)zH(w8XN>YbtKzsNLu87$Pw>iPCA z2kC4}=y>nSy{OMzmcXJ&6Md5kI}P=c2b~sgj$lEpn=+)3w%Mw<3kHic($1#K)wGal z91wiFW{l#h0Mk2Ova6aLjmNED8P>hf+Q)CTi)J%Mw#%l-F8KcX3x+!1VcgDGVp2G6 z!!&7q_vAu5DlkXkw8bG0?WsCsGS|4T$tq$JCS}bN<&`z=q_hKIjeku+GPgX-mD>7h zW=SH_{f25v|w?|>f%F*iE!zO)>1agPeUNXS9aL$s-a+SMK!?bJ#&0*3LWkUGZ_T~ z`VwO1Ne%Q~iVrjMeHRjt*LRSLzJrv@H%K8p@^6+no}6AWIg6Rl>c|!%{v)Qie_zo0 zQ}6NKp=)JkZ~G%96$AzOTX>k^r_Y!FH)R3V`vzP;l?8rtEdQH7|F?>)GOynwUoekA zI=R%yS$(nG8?Hwh&~RMZ-SPkpA0M=|6;#$PVuTjj1<}IsB8ghdi&8@NIbWnYnJLks z4Mq%qVb)Ly+&sq8CCW;?e4xrI$B2%+{6Sl)g^nL-{H_w6x4?EGA1R=;!I%f?MW@Sn<%?~Y*omLUVUU;n35rc(rvJ+P2^-yh$% zR8=`iI=%ac$M9E)sksWnK|+`V3m-inEhsVSR-elPMecO)eh3oUBGK62c-%}-o5=O( z#yo8%a(3cGcRbWeV`B|eG~d{*?@-{_%(KhI4Ocd(VFa3oTw|U_R(cdg-(;0`WppD6 zDj{bvHfacJ!n1{INUjnIwH*Qd9Y|v`DQZKeL+~~DA;$Yx67X(5wb>_US~s8ga#H;4 z*z0HU{L!YLUT3-4u<#1PqkCKhLXyW|36dy64QNs7&J_T*!rtbaYybnXg2;M( z`$d!ydTBP>J2FXX&V6H};+=Z0Y3xPzS$L<06J(1k__)|GCW{O)E#!JCn3M>{7}{3( zcn#uMV_a+I%PNI?X!hMfv+E9;#ow(RaFIHhDGXmy1dQ`h$x~9tKO)oYuOhAYmgyco zUqyF*sWVXFyF>~uE551bg9IcKlzl&$OvMm=~yEAOjE8uI8 zQLvp9{ED9kRD)4HtT&lkrEH+MTR7Nc)Ew!t!z+78gcEa%%pW~g1+8sB*^z~g=jSJq zHqZ(5=9kHFRu7)X6jvUjUDv>or}l_{hXsz7Wo-MN2^2*=!+KQJO>st3e~C2^pai;x zRQ1FQ`Ouj?C=(dTjoh#{sMhJIA3Be%5L*9jtD#1$UwZ~AUZ4h+3=9GCAb+C;j4WH7 z#P=1l9zf?0X7eBB!IkrLn1EcgiU56#C&PjS-q+Ko>iC^k;FlAAfo2>m@VMEDtODybotXs1J2Uv(TICD zmJQGt2U@YP)44DDHACq`wIPFPV8PYpYCA8X<3FHkr6IStvFNci3uSq(l2Ji-#+krv zg)O%sD%bToAV(=4iJD9{Q39(W2z?}=pE+r;BGZV}PHmDvhoY+*z!Nm?gCK7oQ9s`% ztT#qZ=1Oi&z4lU1(tEcnQb0;>l+Jqm$j4n_BL8BG7UhlOCcgMRnk(^JgVnU32r+7E`EMC8UO8whn4&P1cd(wm+*JEUFKXuvYF4z8hxW& zAd?vZ;~3eOnZ1WR^jZxFieM1vRjxFkR{mVD)8vtI%5pf-Tp&2#BX6joA#C5)g?F6R zPnX9Hd%!9k$k8HPQ}JTm_i9DoKu(XBy1=r78+eLq;5VUP6t?V9OxSt4I3+yyH?~kG zW{_x=ZrfBfU$JU+L~OkVI`f~(6GBvB$hXHB`;gfpvP^DzlE`==2B{tTQLBo>uQj7U zT+*Fq_?ecOgJ!w}YgFni(YpE2W2~2^12^v~AM2y{s69z#Xg%7y8if(~SXj%?Fb(^0 z|H6B$Fc0($D~4Ecrx<645suZ^aD ztmo#W9baXj&OF)0ZX^ClAyV~$lwxS(q|{=tGj{D`J{+fh6%MP-@lc^e<`CmISLVIF6NXtMZ4FVQ^K z{ey95ZM6BKP55^fMMCIobYjy>!aS7qEb_w~GT`U5o1MyHW;%ozW1z)OT+|$1FLHNE zQ6Fzj2DjI>hq6x;(?Hh zdxN^;nY6;8xw^N;Vq?wc?{V9Bhuhja+@}4=EZHR3r5aJnF90up-xbiahO+OPJ z$>}Vl5lrAOmrvbb=#L<)XD;rX$Qji(*EBaCrsk`CjB0--Y3cf7+w zs7;6YHQLSd}qs*K+0fdgMw6`iA0*<2C# zsUY{DwkwY}7VZ6Q#_JtOEeywJ{}O(McQQ*)q6d8FX=Fola|u(9&3h4khu>dL_yvA5 z;hPqgKOL;t*t+P)w4U1-PBN?t*z1-A?i`Ix%_~)=4Guk~sE3QwR!5dpSsmr}6%$s8 zV>ZFc6WLbkb}mGoH1hUa@Py)uS+66bCTQlaqzFFOx+PkU^TXdV*biJ>Xg3n8)Yz$j zqTC_-N3*|j=AY7F;OX3({mo^X$()qu(hAe=nwnh9wud@8WJ@ZeU^e_Y%bn z^b7!IdPW9DM#g(&J{PNU6;*`UUG^`R9TC{R9ODEAba(82LGzqZ>p z=GoJ8L^0N@yys#Xrrr=rMq^fH9>ly0G56U}|d9A+4&v_S2>N%ZF%3EX< znfj5~C#(DU9 z2q7tb_l=82%NV7-z?$oPc1=MkMNv^?5nJt;F*BLV>^bN07vZE2je<@VmWKigrtt@G z#c^A5np4z-q|D(UhCwNHNt)!8gqy|KR22^ zS<*wj$kZ=O%0VyoLx|1G*PD5ZKXAW>@ehCZg1oU7ENQnfDjymG88}XwAoAcA4sV&C zbCi!`BV1$Ja22==LM~n%{v~7b+nm_XikKFXFH0m4n%mi=G$Z_Q4c~QXzpj!~1q*%| z>k{7{#T83j0e|9L)#uhOPWUSg;=#fF!6({ToaNCqTvrUb5k;h^od1#rF-Xz@5z1{W z1>N~1ODcUCow8i)&@rXA}obL7@OZXj#L2=aEV z4Xs)f$bIV)`WAc5)TGskFz;>0`&rD2G^7&jJ1U?gaofL!gffg2Hi z2j>0TM-D8)3`yNj{WX?J%J5c1U&kwp#3;HT@Rtjb9Jk+Ky=V>k(w;N@N?X%gJb@rt z)DW}!k+T9q9W|XqQ@)0pwr5yi_M)5~Wy>U|KOgE1UX1~7m&CM3wF~o;H?%JC+C*8e@YXdTHt-2}hK+hR ziU8*162=x1l((C|gw-e+$>VK%3 z01OJz_oCJxuJ(s&7WZy<6AL5yCjjzq>lT9Fe&in}xdPbf@2hWF7{4XnJsAGqzP!KV z`Sze0s3xe|S?JNXDB$`88jz@yfnc(_agD+Vw*w%>;EX>Qf=4{^h z<7A9-S20qJ(v{w9m+?P0s_6uGhfcNgA9t4YVs%+y2a|h#euDi}Fl)r$f270u*j|^Z zfjYz!FJkW#(|e?z*YD)G8yLsuq~>8b#U;|-lF?mNqv6;vJN9#FtoJXGg<`Qdr~}Q| zJtn>RRGl7#Fz3`ygAWl00HU#RzIr;2LYY^eQ|K#(yLPlcw+i$U13E%a9?f4jA0Crq zu-Y)^?F&1IRjMTio+|UnGodA0U3|{YmUMX~QZreo^Mb7?^kw#iqUAJFd!TEANvT*M;{xp=Bf@nvcw*dM zpIp7Oh}vWkYrzsV34Qxo3JbZy1ic+Pa{S7fNVK)V)#Spe=gNh3auROD;hFMnWbI1S z$lU&0?OG#_xtoIIgO8z}Hbg_+X>m0dr6K8vc~hS;x@)S{<+y@tFez<;pb7f|YBExhqSlx@sMO53a@u_8_n*;*-nT!SB^Oqcb)3LCk+Y9fzRP70NSf&AnwZ@Im72iDKu4dz z&e(v!)(sBXwxuMnH2gZ{?_f_L^Y!KkbR2X{%ye|k3zM> ziC+kVvi+BZ25x#xtS)F8w{o(vcQ*On)qlg2}Fy~JLcV+o{^Xfz&WH{?zy>p5bN!j&!b zarGD*Qe9mJQMNLPgS^yK$$?%715Xr2Lt}&1R6f(~aRCNfZ^ElSN7xrk4kLzY z$M)g06?R|Nj60AphUCI3oMxd#cmcUHjHJ;4Ua^$XP|!W$(|deuBCL{ToUW2HQ7g z?If>AGMIM2ZWD=0lH7R@4P>En0H&2EK{#G;*ES)WzMA(bIVb=hP=q_WIsYqRMdRPQ z9UjOU-o1K;CI)8u1PTUv#`m3@j7$t{zgK@T007@C=#!t*egyaaVJDcc0?Dk5?DSua z_ru};@Jf7u2>$E?fxGvCKz?gt$IyGTWt{`+Ukr<+zc3`V-wT2f$eU64nJXvlpd(}Y z4DMTNSuOyrRtvYIZG{H7SqHIFB9%W`G)^vX#?OK#HT%1oYas5|lVp~qFBLxS;@e?0G2R_+SBvN@q zyuE@f_(V+vaxRSD)Brqhjj({fDwZ&|-u(kpAFDb_6NuPY+FMcou5=6rh2pob{|_kP?l0g0C43$JZ!Y5R*kC?oVp|zQEJJN)LQ6DY zyJhZnb>9f*#K5>x**aa*vGG%q*p`(Sw-SaPq~-L{;Co(AU;?K6x#n$b@ zx75NCXaSZr$SWbnFuisH$(Qo<>bNRYz0Tmv>c>R8sp#F;w1wMqY)(9Lj&CZ5Fv>)Q zn@d;e7IKB=(WTI8;D?Y`8AkG8v+KIJtu~2_@Uz>F!!G^G25kWE<_Byr(pfeV^-&VZ zx>9F=JL6_9&-CL8z&rdq8~6jfeY}1-C&MVq;D7Q||0yD1kT|aB=ZU&T?#_S+d+C_Y z2>w_-5)b1XGKU))^D@v2$--pyH9FvyDN4_VZEp|<=nZZRMHc;;OQ*ub*&4kHNao;> z?o5oZZFQ?~A4&C?4{$NDvq^YejnvSvWIrSECQeX6N+`btS|7n$aOykGX{&RO1Tuoh z3Z#V=w*Ko$gelNwKJa-LZ(*+x@yuTD2f}qC=!6#U`BKGRyo~m;qo~qU2s@5u#vDb}IB( ztZpLQaF9J*BF0F)KnTuIEg1+C334-4Ou*-~)p3-P&$QcUym^Z!K<_0e3?HGb1bgeGU8nA1?CmA}#SG zc+IF)4GTSC+2l2BFeb+}(s|Uhgt+QL3xpaT#CA8D9#!JCImP%Ti{NO>NorF@b}ux% zBA%oKU{58(#hW`IQmCvNlzEEBJEtvn(0h1MRfo0laUuo0AIJ<~(astJ_?S;wyhlI= zWsK8$rlWeWdKp!?fy>#nIehYhhRJPNR0rqfv5wH7Wx9BNOqta5Mn02^4O<@nAXf~M z`%Z68SZ%;SKO^T9H*4r;7oGs>4ciH58^qng{xO@)nI?s9Jt#f(*bCHvFrWQ8$hS>R{~ytbb);( zjwn=i5Fl)$&*C_j(AsJl(^7G|mn8D!6F&OVk+dCR*i?zL*LhAx%!jxKNX@mPD~M-s z3%nzJH3f=Uq7A?^^UrBf)i_ho+(jl>x3#1kkXah>Co;T2pAx*GHqTE5^5A_k^yt;X zm%eD*;9&jK4XRa~DC&{=A@?Cm`h?N-mJz(j1E|N&>coXoBh!TVQVGr}OT*-8h)Fm> zaAhI-{PcD3W|1UWN$S=S4UHZ+*fXYH2!u^rGdZ<a-Yjud z9#kMD54-WL&us|0XHIfd=Z7CLC3Jp7Tmt_B<%h_**C~0jOYSD{*3Qi*1gftJgtY0N zIQs60qw9`1ivMZ_@z5D3toTE$5*h`MUywjh=Wfq#Xma1SRi2+fQ0yrIKN|xp6C(o~ z>u)_l)a6EkU{4Mn6bY_<_Qo6MptNWBi)>%R-Arq-QpwQ8w+Dcbd40J(K8QPF1wNTROVsv8T zqYEi5cUfcMsF$Z2M zUcJGGx1^<*GfAHkKp_cAOofmtrJbt&o*u_M6 zqkxU_ScE+%%O!odrFBZyGnP<5Vj-x4p)+|hH#J-@%x-b;! z{i@@;(+Pn58}@&sKEnQW_p`6=tKUBkx(DOmx}W{z55Z)Xw6auyRQHfpF=F8wNcL6! z&&^f)=5|v6$N^-2INSnhq3@`O|L(Sbde0bt z+_9DIpYPbp_D^^HwT|HzY{tcD6?F-!KpwU9>C=s|r;f%NzrizxLkzGOQ=EBxs~H|w z24JRYShI`}x9pRM+mDmQ=wmdXA9z)~mc5?`wY04~eMNE;*-VxRpxKNgQ)UjfdyR31 zx?D76?RqiBqRV%rH^lznV;ehe3!5PfiZJnX$2BM_VIh&CS|d-O5HQtOEg9{% z7aQ*2L zOpFit?7rR1|NRU6TdxX>;##%_24HbISRv}Vw@2=RPG)Mq+}_qe#2s6$!M^J{BZ%aR z?o&UcIJ-iptV{K@_BI=rcg4VA<5UzeuPBg}eLfgvF~0S2p8_{7xG5h`C9MCRI=1s$ z-Of6em&_VKu*9Gu%mqo>(&>iW17y(2d>JPi@vYW{*^i7VKl!>KWInF`NL1-n#s#Y? zYeJ)f5%DP@^{`|)cKu8wZyXk(Ohsj;!;m#KDN2EnbtDGIRJ5<}D0?~^miU|)KAAyL z(>mD?Og53`%epirlj?jwAFC0p0->VgG&JmBT#46g42$>)&kzd=p8RT&GzZx3Oo>f0 zTj+as&R}RB#~b@^j3#vV|H1c5M&tU%Xv}v{nLeE^ohE?lpJ23K(Ai4NX}Q$aOvV#6 z1PH)$ceg)@ z4De49**|14SpK-TSOINBZfTz*kFh?0l<%Wl5^8}aPxobqlbgK`jB4SJ1hRRxf#Bql68OB)U_u7GOz+(9?k0JFgB==#*11DWLI>j*9|Xv>ip3S4v8HrgPf zvB_avl%508i3zaW;U1AxPA;ZiuV)`0H(tZZoL^P$3TWlenfIR954*P8kd*`Bs8fG& zk*)&j0#mNv;3@!{3fh8r%0INv?_Hv@;G0>}KjDbK@rWzM^5rT66t0vLlM@qHOcL3r zXV%@AF3ki)qN+C%?jW@rDlOd%(sp>pb9u&Ul{|a8?o(cy(Dp91dsPOBgprE{@8g@; zs%^PKFJ|vk-$?Eli~!&R{9U&U2=|XH#{RHaLyZ1D2k9$GfXiE27})4MR3rZS!MANT z!;kzm`g?B;fR%xr>095}2g85or~huJ6p1d*oYH>)_qs>u3XSzzw7J>Si-wtV$uiF< zzZC>WD$J5WWQ^Z93k9^D88*>R@LC=BHn?&V9phb;*5}}r?N(_GH*B&|d*@H0D!*ttG{2!q7>$%Brf|p5J5=B#OL0((6R5Z?Igs9+V~>^g1^3(# zM!h`!ux{6cf8EAIC5aHAoqQ1dpwJ=S@mk$ zUg!m=Hi5NrV9IezdL%J-2+7hk;Y`Q3ozfjG{CO9I^bPjVppfF}1uA}{nq0px3i*{} z&`{tdnhmP51nyMQMkX0x_m$DYIL!!C={Z~WP$61OyA4Rr)5YCDZ6nw%(Zg)2 zn=9S$2GmuVc&nTL1+&SF^OD7NMI#k?LEzv z$kLLd24`xPh#%#8dATppAT6Cb2pb+VJ0+Z~xho)}S8}4!S&ls0&zVP?@>mtjzIJy) zZ@GcF1{5-Cb2=sY%&;1x2s%fBjEQjsyZxgl7RO7N0tSnj>u02CQw%+?RjrB^B=3Qu zd7oc)2NZ$7GWRmS@AmYwCGvxAPxs9qe%M)1$=;!{LA7 zjDH8K%E}whQS!;Fl?c`mHWFv;_wU~^(yCBk5@6yrH3H;FPNtl6B4;-XC| zgFUthjlts|zYZMHVQDfaS4vghYim>b!Z4gQ_3|z8M0nouBxzCHsukNw4M$Z9XB?T} zn~Wy0=QfhWfIuLXGwBu_VyyYM?CUQ7G|&;N{Q=>i(CT7gK+0ox{Hk!O*;C;td&~K1YTSW@ z!uA`i?!^#(8qaiFu>|8;e>H=ZBnmp^v}VR82+`jo>Yr&QWz3hK*SPvj!?_Zy8og2* zWv4q@WAVeN>CNYsB=goDF!SdGoj3=z(|#(zdRL-o`_Hmr&c)-8cvG>9MPBF)L5l3i z@j4}!N|juUJsVDpr$ppum+PFHN`l{i1yoW&+ixsDB4Acl$-(n(Yg)7ubztif0wG#P zEM$&8POEQ=wSe=vL0k+&Uu7B(hptMOSg|g=bv8o*U3aj9ARh{f5qG8nDdNB($I;Z) zjF?hm&P^^qbH`$kPG3;Z0t+Hh{PXQH@y|+VwiZQF=R_ILig8_Ngvr+c?V3l^C(~O z;itMNY`%HIY@7x33?Yk_bsxKRB?2+ercgzBLm{BI?^tb`dRpV91=ky%>CZlEb4ThG zV2qX_EJN>6q;FfrVVNXzItZI(Koxh&8&f_Dl9w-CzG?!qTo@Q=3}!KLK9kwk{E;b ztG!FHyNTp`&wBRa9+!2wImz`N3|Tm8`{is=IuLwP0YV47+QJH5wAGt3jgAqMt|}Jy z?|ef9xQ6;(zV2qMmg8N6uCHMTWIE0w+W;FDm^(2^R{vXb~lPFFr+eb z$tr>xdhMOLvFy$?FPLX2!#axkiyJMzWuo4yD*b2U4ep{mc_y$EjRDquwspLmDWnq9 zw|qO_lY4+-@Ax(9&n)4+^ldThJq7R{2Y8QucQdxAJOa5FLGXU{Fuf%J%iEXV!ugvL z>U|c9$?qFM=~-IX+L_qd+Zosr=;-MgSlN9oult^`^5>WLcL#q@SE2iZ<66c>N6*eg z?`yt`oxy!lGcADT!6KdT!S>MF-qPXz3`Sp_Ti-MktZe_P9QCLTWzk2F=kp$&5yNX{ z^_jW>;P(KFZ?PgHfPvR9CuE3aiTsD4>+@&s`I;Z|tT>%o@~Z8~^4w6dkeF$2Y~ zT1}bn)cg0#grASKb2&A%<;gRX&LD{>H(Jwe){;p~>B}Qs$Y=bJg2{6nRoNz5ivq6q zG<=)DyFWO-KrknvlW;N1g?Qb+;+Iw&6pCAj7OrN9K81D?>NPTVQQ^>W&4y9{J1<~D zWpT{4<3&Dmnj-|4rmFZHW(-bFw5ufTh|a5Pn?Z&dIgYk{>GqH~NR}<_$WX~)13@+} zTMkxAOg5HnilP-Dt6pk__3?oo_1vr4QNTX zQ$){WG>lPFG$Mtfzlu-Lj!`EbRwa+qgaHG8#fryi!m^W}s)HNBF#QsC+>XZ;iewtd zQKXae9aC7sY5x+b4r9f0>}87yR^=MFeB|l-VuMD24_NKpVleH8m4f=OSSf}FR*LOj zqxGkiV*6HP@EL*6=?krY*}3a>&Dq zuERI?RXKpmts|lM+vtISE`qX95nuvu+U4Tc^eGu0*ptp0wZrRZ2UYTX$h&?sja&Ai zoLFH&$ie&*|73dwQH?y#0yFMxh9f2YD$VKI+Dz}_?V8sFj9&UJV+KM4H7e?MT;)h+ zb<0uMYdow7T(c}4*7^Wj#)-Jssl@I+S(4t%86O&qv|=INkR$D(A-XmRi%V93juh^X zeSwu7k}-v(zl@rOjnG#I>EH+@;I#-h;^r8?aaRlK)BHTBGaJh2I4Z=z45bSijfOax zN-px5lW^r?2UqQT(5(#MUHoSo^%wk&<)_;uD#=I+`f>058AvDQ(+@E(e#hUxn(&|F zZw8+~qw*_%^FX6XrGcyEl~`-gfzcVQqX_$UvYZ{ak-@@Mi|A`yRN3@B%?80BR}6M? zci4W-G=ygDzBOw0E% zJj9>t^@nFFjpfocDd7*Zw=aK&&O@bkmvYhTHj5MD8nNsUM~A+M98u21l+C7zTGLNV?`z0(*{}j(FE+o>jz)SyL{Z|7d#L;SCX}&3@@{EfGDEEP z=~^gz=E}sLH}od0zsv;c8aHfp);Z?FS*rI@*GTW!niOru%tU&OX;Be?ZOkLeiWO9= z@me#vXP;abaybf9edLgEt^r-ZC+`32?kk|G+S;}0mhRjj(y{4~Zjo+~?rxEm7LXK> zE~Oi!LqL!&mG16tk+>Vdb2#UCj^DlickdndXN)}tbFH~z?>V1mzVCd?&RdZwH}%*< zztMi~Z4^;YFogy@=Rn`cJumEX=S=PwQlY__Lt?S}bf`7;N@Pvoa%RFQhh;lfr<>z@ z3#B_Vk>N@-h!2`6@LCm6p^b)oP}e^&^3CIG{PdHg_0?e4Nn;f^z|NR&I)lNa9UPX*z zt?K#Nz6l~X{tTLzVNCg_`d-)mW9ruoXnhSx=k(VPXmMbRcZOlxDo720}k|& zfz1{-fS}0Rt?o3OIXk01B4ef#CvdzD4@kAjm`6le=oG7MNKUg0#@*{$Srpq#Jvt30 z+2EAOZ@QE|mb%6e*%3=p2SZMpi#BKAY1^>(w!A5+y42*HSExS~5nhg{`=jGN?{6hM zz;9x&ezbw$0pF!$2auR-W8h%>o1AQ8Z0rE~sg1s8EBg!W`hesAaI{AQHSU2v@V~1E z;6U$hK<~l3>OniccdLStrP+u9}h^H&I>5PZ8ysfh;5exAJM0^rbF9Nh|dtF$@(=$n{Qm-(0 zm6{}c-Ak?J5!XpH=Ye6Z=BlAW=6Fc%;2xz1Tuk0>7-aIbVwUN3DQ8fYk0>0&KRayn z0N*UHtCPJrjXgrXSnqk2f!(TryH46yy0`4-y;PeUK(#Ndp@p7YKs=VSgkYZiJnaQ_ z|9+74;O58qW!C}r`@xcq>|d`9vg{yI2Z^(g_Tguj>M zyjxcFM`Cs)TtPv>KgNXJx`W+1t}@*%`pS8?=pXX9xLOa>3Y4hzT$QA8pBcAJHor^i*1#iXkelcT15s)!WOg?_m`k zDkY#Jw78bB=+2J^DIbuj9ZXO5@AwA135k|XHQkSk5c8vKcWPYdVWWEh00960001EW z->D62Xynr*QIZq+RWH>EAeR%_Zd|e9tPiQO8;p;!&h(ZzE&hV@_?VJe%?9?!qWT*q zZE;mz&#-}xL&!LEd=6($H;yyAe8F1Ep)+@AKgyWUd>m3fV=6NE^iFF0qdoeW0!L|r zxC-%)OVppfM&P#VC%yM=r*Pv7e$d`DmAuSmiV8>$AD#Z(;+J$!dzG>CRtEl)OKTb$ z!hOEid$61H#nd}Kna>A+8Rfsu$m@1vv~>j913A;!(^vzT|E}6AXt?f-){nvZZo36t zm&P0b{L7Ws+x`D^-A||kPURe8H*xhU<80WiO~k8Dw)NvNm|9O(Wj*F2Qz)m^a=;yjs(2@todmkEGYa9bA={+oZ zJ|BopF}BT`x3sWA(s{g|()fU!jS$}q{W2ek@j#Qi-;zTa{>8MSfTh~bd1bzlHPkV| zB+sk{R$I#0p1K5()CkgYbB)wtGZ8XFgWp4yrB-zXaoLC9(;H3DJS&1-enUAs2c--^(|4^rqXpKX@fr~_tdr~s;ogCA zRaUQs;15P(eD4W9E-|+_JxB4>Pc>=XqR>I5K!KCp%}}N43$NZ1J+|I{pp|FM^?osm zaZEhTe&a0bNpY7V|2%TrYZWx>lQrX9iqYpWidzW&fwi*KnL;7jmFNBdusl=5bbNpC zq*gHlpTJ78((TJUF?G*=HoBq8ajg>x7EGnejWL_P-oW8}g7Mc6iPUc(i~&UZm&`HM zp?y0mn6>@eB_gjZ%ena8_*oZLlRo=A_{`_UGCf6RT`;m4Qzfu>I z(vtaENPU@oTz_v5e@zFu5azJz`7(uYF42-#L?5IQ72gT}ms9C2a|G@vjKqhS_c08T z_&>d%bXk&;UjQ%k*TR2TI^=+w@nyf>+VDt2B_gLCS;`TG!S3NnhxnnH4c0!Iwl8s# zyF$?g#5j76x(V(?z3o(Dso9oSUyy)=IWk)pwJ{cHG~KE$O`^Y~z=1_D`6diDox?RK zvaVC>gT&Y1TR(4%05)kNewh8{uSU>A5rq1GMu^29J*e+}-y8tVU?`PGih@knLhpA8 zi9*H9K@afgI$G2EyS#IqPxXeQuCveB7?|DENF@Z~-%N6h?-v;T)wc-*CuVjaGe{@8 z4h>_zZn6Tey_=Xd{%2q2m*oysr&Wlp)5mp7qba*_CSdu!{AD|mDhCd2Wc%Ys=O#W# zXmS^Dv9yzzzog)$Wjm56jckUHfqEV3R>HDdiYbF;Qz1}HAet$;<5^j-pGKm_k1nRm z6PiBj(XYzKLi|m9FApmgR@peSf}Ua2OT8@nUX|D;slgRnekMde&7st#+flTZpLEW? zZukW91D;d|yZ-1I$@PgDd(M!9*A06(^`C1WifXiFAGhJW1W!K4%c1ebuI84wl;KOu zhrwG@Jn+JR-J);gN8nKgaM96$nK{Nt)&t6NU6yczB6B7QrFZH)IS{ojxiSM4LclCH zaoq(Qj$b}~R;!!rw{l7UU&`=`#p#Q}PseY|Lfk8M2^#{K9ciih8B}%l1U=j};c94S zhhB-FnP_HWv_O(3(ne@m(&0+5 zWrXIz6N8Eeun*{3>%r7v3x(L80Kd&n7{3JrZ&;=qkJL#Mdns+6#LGJcEq3YDn1;Z! z2)0aFb>&AtT}wv!8r5!tY-?tQC8>X*uqbRWY*|*m82i<%<}obF^`3?;&R8*Z~tSG^@t(R@vwr%faTYK5IZQHhO+qP}n>+W-NllM;2sZMt% z{iBi^RW)kP`AHGyw($9QW&NW8&fku!32 zXVGEtWHY2Co@|ClKvG`5t?nk#B@$3{xcBihK3dVrvM6Fr15HMQ2*~ZFLOHQ6$gV%Gr>Tkv6+xDRwwP&Hd z7dS9}4D=fQ&fMaEKL=~A?O5V+pos@m@fW(drHh={_6*|AV@Cjoyn@|M9Yk6EeJQ5K zwPNYCp;G5=AJ>Xd;YiFrXM)W#z8_|&W)`)Da@J!}@!cU8wXOxEobyRF z9se#EJ=K@UbcdhNzjoMl!TVn(R6DvO)P0=BaOmXoA7DcSK|_!Ci{;0;ILt9#9ZXi1 z^61vDvZfx$JvhU8RUiGN5zx*SpgW;jDC5GL^Zv=i*d8pQs1<5Yg%;=JK9}Qv6dO_^ zZGpZ(YeK?s0SW|(hYMgLjHhKE@E{{GT^qTtOA@hWjo9{A=ek5L`IijoD%wo0r^c=j zM5D=Ewo1&BrO1&5PON|988^*XI4?|Nf@}CijFmg-m`euR!D4;icedjh-X2dDe8SNb z^J>>ciS_xq#SLzlQ^EW<&iJwv_a|%Qk{o+{WZL=_e#8W`%31X@Qc@C6VljtLSqg>V zbna|s)W_-hrW{&|t1y`s&hn@@-1N=lAfZLBh6(cUD36Ec!x)eaA6F~0|DEJwq`TD} z_=YzZ4C5G6laaMV?f&F#!-J_z4dd%U-)}}%5>DCvBCApV^{E%aJ+1`p-XRnwo3}Gm zDl)oikk3_C36SJAmsP+)X|Ok{7FCEon#YMf`&ON{MC&G8#d}`|Z@Q-QwF^7h+&2Vt` z_u!Jtt3tDZMZ?;~dWb{_QmKqe(+{pid?2f@nogi7Z3;maV@cQjKCm|1=MQ>Q6xi!` z)0fbj$|BJ0A#pjy)B*UQq3BL1?4KkPd4=1*$+NV@(%B)V>+(^3k9Nofgr*t}Stt=* zd4(4E&QI>_`o!g$qhd1YFAm8ppTUHksf}WVgebmOX74q(vl+wteQrt37{O6@u z$vGWV?F+%XNa2R?H__fPDjsYzk-Dr>UBKWK1o5y+X{6BC}+rIxm5MGbrk zXKrYg648l9*T@U*XoC8_s+ju9Dkys1&N3YY1Ho*d@ikk!@ik|?Bf+itCUF?*{Ko@& ziZ{LIjJ-r#G&ILet=5esgyTgH#M8ItxynXGMX~FZtbT|RtQXD(NZ}txt%&Zhk2ZN^ z_UKyixhtFgrF}TnDUN#w2u|{CkB}h41A=+-m=d$jCC96kg69|-%f<;O2>Ilt702Zn0Ux%Zk(9BfHG`MfR6kJfS<;JjOAk*dRR#tK+ZnI7v6tlWq6BFR>MCJLtUjj-}iyPBbh#uL)R+0SBVqsS*vzE8wMPX(>leeLVtgveV<2i1Z6Hf7#9zoE90z z0{9Ow@ceO=8Y$%1R%PEjyAzR9Y{=%S&=FV%TCSQ$&94Dj*sOBybt6dJ zq~6P!BdGN17i;#&-wJglE$7f#1r{TH!ld$!J-GH@S26@mtZ&`j^c=ijQzO1}x$-tG z5`1lJNwelXC6Nw#G&}iLT3GV4*MGLR34l zG5AcRSS-czoLuj6X_;q(k=Bf8LZf|(Qy^{}+lo3>C6;SQwGr^|w{8{$>MFj{9fE&Y z>AtpIzBcdi6Uhh?Sa;NUp9q2YxIK|;s zN@FFnPaxEUYW^e+41mT|GGaL@unTbaN}p&4*D$>{O{&{0PgAYmYr+%={c&gLI`))L zLtV#Pr3{)3N!P|8e~A!mvAhkoV|Iz6>fVw?=uWM)*#BvX88)q(!!!#KvY}4-6J+X+JncK{Xn#y7bmA1{+=nPqM^*Xm^^Ou`b&17CPi zgO|=9H!a8gB@%3;mB*%Mu%rl8m=Y-)Jvyol<61Hw>mzKQz%&&^u}5R#7!3%uPwJXnetZR%2Z-G!4&ooD!D*-#Sbw!Y1g`)3Hv2yg(i zfh(RbX*e>V`89t$F@D;lM$O<)A9ju9Bv+2WV>384fsB4KyE-Xdb23%>30<0~GMQ0< z^6DKhPXq~dMIu@_)njTQbLOTuGCAGH$-F!0EQVRtGfhkO7$mW)nK?W*UbJVgOI|%i?mr{~wK& zYWTSk-Sh29n$?v=j68T{5(s^|Rug*#XwKqZk%!c;?IrZ)A6>k2ws)Y_S1v^PFpNIS z#jN@1_FJvR0fz_xW^ljsX8-8!>getr=LA}BbieNS`uOhnX8-xvi?A?^wccc(-@|TS z`0`%fA4}nnSEAJ^0TVRU6HA7F!OJz7zv#USwQYq=C5q~2Rnrk8Vg_WI5mKlgox`9q zb4lKok4%6(JlTmCUmz+|X@VITy(oGm*Gfv#`hQMQ7p2g~!m0Gw`TTNURMVkUUe2we z{cuM|ZS0TKu@=c1FubcE@9PTzH>h(*vxB`B6_F8j9lq}Ree^R0KyU0U|_}NguQT9HMWbDk&ftpv3fjj#KUZ3|tp=$9@ z$3y8181}0tBuZsbx|s1RP8Az29h|-K7>@;ySWk3HW$yv69XKt1hAijLu&KeBnp3Nt z7)=3$Cmfd#P_hbO2W+Smvn2=SliB5s^m?OWU3Q(-KZ;pTK2phrf{DNr-1D{Jr?bls zV7cx_#~o6&q>0gFm>N*JH-MvoF#SR1V7yq>qeTM1jxP3`+t(*yQe$)ZpQTDOGSZ^Q?5nBwKR?*rhzW}1gU7<8hj zwd8PF&c#7)>rl41l1H!;4I^lg#FSQE(1L|e=SAAEBeA`LaZq$mmW`EO@iCEzBz!Ao zsU?ar+dO`}whX(Spx^S=ZL^*qkxliIr%7JWBHWt{6U9YpAB20XwcBkzrA#K>uT3l^ z#hA|oMjt64W?oXTp8}y*$=+o{F8O%oDCk|OvBabHygCkLjK1DQmQ%iU4mnlow}F4j zF;a(SSts0U(!;Tbq^}4}h<>gOUQgcS{t6!MG z)+UJ8Aj2@CFY83(WIYXe#RmkpP+fO6d{s_S#^~T8N?KZTQOt}(0`ZK2dbn?-?Nib( zOdpepBN;{H?;5X*lCO6sE{d9sN}L42`i*H!G8XnlkEK$@cjwO1Ub1s7rgE8@D6tc< z7!WqB>9$#umKoOm1s}bi8Kw~CrOh}5iMs!nTljJaob`g7##vCU$%3bHJXpO6+KoY^ zlHH^Nh*v z7?VUY^TGed;N^>V%sN$R)ZbRb$d7)@ctD<3_qrZEASIT&j0&L{arrTk>ScVQ!^vOL zXZAWUW3|NLJAZqHB$B~E4;qQkr`pR;yZiC(yj)Z|)p89=xC(|8#6#w-4*X*E7`3*D z`Yt)oDxkSjofFr+uw_Y9ch#>PA}Lm9JzH1jx@g&n3FWhU!RU- zrZqFjTu!6{c49w1kxuf{95^NwbWk%Er9mtJ8VbPwFU7E5fcm@2QyF|r$fkg|XPY#@ zQuE3lSV4>_LABtiYMnm-aOFF5pxM?m5Y5M6PlO*JeUa(8nTfHX?NHD?uN@MLI>Z3o zhu8}{D4#EW`Ysoc5C1oKgT8^ufst{q0{L1^=4uT7>cx=nX`}Bjv~B*y*u$ZliW=n= zGL<%1`RS>uVV9&7T29csB00uPk)?HVpRksUJmb@O?|d%}JdXJ8-WGw34N?)PnjN&) zOE5!McMDnF0FKY_UsM@_PbIljABt~94uh1fQ=E3Ris!;FaQXmbUF4Gt+Q)2nzP3TN_FQjLFX-w zz(VQ3bqEspY9@?T;NRzH!7(Che!gt#D%!@6TJ5VBxzAim34AB9x#c@L=N+{pa>7{R z<)G+N8?(b5?RvPqmM~`)eRGCk;|*sxXA2%V$i)K4v6Ps!qM_4{eNctGJ6u(DNmcNV zu*zqYtbWRR@HTrjfj_rDBp-MWdiIkK;tNn(P4Vog0kWADiN#)f;OlklmdaHBS4kTqA>RdeISgDzt|3vn_y{Gi-1y z>(!J>B@E@Ww|%&+yZp-`$$h>yp25}Ut49ZVu-^Ay-H01nNn~LUN}zCbW%=4THbKF-K*pboE(f4M6eH;^j zXm{An3fetiZXaG1b@yZBog1#fsXWNaSIm{_se!ciSWAJQmVE(*A6%hY|?IHF%cd~ zQZ!~lS_@Y&%=f$UKNK33=7_r@OR_@pTFIiU%b#7`I+mX-ow5;SM{MRFhi3-GA~bmh z{}_KS#pz)(A5DOfe&nSm2hvZ#6vv?->gUSx>uu zhfymgzNwPxLl0l?OP(e=f0h?DmJSM7y{oLlBR$B$mVGxmFSr&8d$<29Ky{IiIJ*LK z`&m_t@s$GAl>&B6?yUCeDt+HEUr519cy8?nJe2$fx`;)d``|#)NT<`KrE{R6Y&kFG zU>ZzQ*r8lPU;Tx!uj>&~6FU^&f?IXh#_*4GpD+NGy-9L-_6I>MD*Gt{!rL^#j2JMq zcwx6q{IVu{uc-v@ettU@c3R>mgDFff$sfKT>Qb{fJcl86=iz)6##&rrP2sleCzz|_ zr>t)`WnZ*UK$Wq9y;FAFx6=5xCghjHUaRXhG;J96sO!A%3A^aW4H|$~U}^*}&ovNT zEiUJmcVl5=AsDhLXlpO(v^8_LDANdVjCZ+}h54=9?|fH37LQ=YL5iY}Teg7aN&v28 zm#Xx~_u1H2lzF@P57g-l$=eVc2o4-;M@aA-{U!L)hmdd# zn@cbrA=#*627}fts_0+DjTPV`O#4zj&>GE;%7Xn`cRKkz%5FsO>Z?sq7|m=P?@rOf z;oq%ciDYNh@* zFclOl%|fitY!e?bM6-W!9glkb*>}t?DLQl(MOdDWvatG$J~Uo2q67K2 zee7)oi=n`r{VrnM3PsSh!d1vNI-z5oHU5H8MV3nQ%J#WYfN1sHtMyu4F=g%~iv^+g zjdR0=5G~$MC|~%kqr7A&FYYh^qU-|d~7vF`wqoj$4>P>U~d47 z@5PoJTznno&+Lb8($Wgk1<6FrIJTOwF|yVfgDvk)GQ~qQq;)^r-6t;`1V6$qSK+NI zm*~O9_#>_aLyQ5LFFTB=6G$`TWT=G%q`4fs*t|wc_gJ+J1CVlLFKk(zUlf{JW(t9O zRK%Zawx9R^iso%JEC1q&z&8_=|4c_K`$K?&eE^F?=Bf9*nuf%E>{|!C5x3?X#AbP{ zULf-d_`in+Mf>^RdB);{6W-!=ZOa>(7yvu`)WI?QJ6XugeW8vrdQK$nHLc5!Ku5Kh zJ|$L>6#07Cntg%!)^R(IE30zp4DO<(+M&;yQfL7gb91y=Z)|Sw9$y(nO%>|kH0b0 ze2$*kWKWN}p84LgI~PWe@00D!Ms%}VZa)|E&{k8orE5HV`13mz3lsP6#*4X-NY0hE zW$Y1NKfYw#^=8@p?o`+3#WH7CaO$wYC6|cckcA9ViuoQ%URWqx6~Cg8ouv_LzaT@pT;h_ z)fSOVE5qI<-84Nf(w46kiRH<>jr=@c2OWD;@stf4&YASrac{q3UaHY87i7m>z4ov@ z9mVLfK|JqdJ}X@(#r#sf8!S01sjHhVUJbkaj>gHy!Q|C9SgqPe>?-clzHJAK(8md? z*_K)@E*N^ZDV)8L8ecQvIx~&AJe|~aG6Ju{JvM3O&5CKd39~#g=iJvbAzHs(D+n!% zwl)(|shmJk%KTZ(_B1B^9qXp1^Oi2rpHfh7&!RE7T!*MWjQW_3pFV7va165Amw$AV&;r#qg zI>=SiiRaAQFJ=Z4+1XYagI~+e8e%&qLAI*C=k4C%dTwhkc zJTos-NUEvpc5fQZ>}>*l^=DF`PqWBt!^|swx@)+%e$`rs@Grd=Tk4of*}l73SIx7J zh07f`Au2?|7criHCoBUUQy{yIEIEA z{?=U2?2khkJ5F2&JWj%~osrHk#O?5SRyNY;X{(tPP9{xAw>q`D^7%fQ=-pNBc5Aw0 z2X?;14pLKNNqeg~g65jvW$FL2eKp10j3kk=J;thjEp>HAD6!boUYbre!sC1HPV!K= z3Wv8ZPd}GER#)$K$U#m{{_yWM3BT=pg5ta+DpJ{yF=*1}j*+a*uW&!VyQ@?tXP7R` z{Ft&)8I~K~jmyFP)z{YtGyoe-NFX98p3ed%!DLQT#7LWrc;WSSZS0++^=$7V2Uz*L`phIx(>Ft8eaFBTmyUx%47`hXc( zk)oX#2MTGEQuH8;%UHt!h(gVb;B=hDeqf}8s?&wo>Uj=~xI0-{nYqSZg1hUQ*JrT_ z>+Btg-rc`Ez4=Xi>D_;GG0N_2C>}G#CQJ_-$6igh-X_P~Wz>1yL%B7jfl0MZM{RZ- zH8;ioWZ5%9&%?(TNO+n1M>@4?(wqy+#hVwA!f!Ob``Are@9 z2zasp1)?qr5M)6a5t%6XApr6t$7$Q1+t=^)_4Osk*;l~5?sObk zD>?N}FaSR+fIM;nxvc`tDqbwC+uO$Wyl^D$$mDcDxx#0V?Tbf z73)Cd;0maVOxO{u&3SAS6-Jpw#W^7=lP9RO)ak0kjLLtgSr^NVu1uk)O6QwkM5$RB zi3<{_=4ovGQT}BxAPi?zGzU~CR286F(vlh&pH6cVLpQ{}h?@Px_drx@F?aqNY9y;g z51(N~vcOKi$feLM;A+hEoBi@g0fd1>a$;kJ%tRqVH5*8F!AAlF&rN8e368-Q(_y-k|81_K)jMEaP+Li zBo|Z89R1cvxOQO*k%?w>aWdrbFi`c5AZ9nA4PfApWz(ag`p#= z0THcIm(<&(h2*@9Fs+4}Tfs{j2RR8yIGV$M=l|^|E@GnaP5?SxV4%HI_v-){#r-x1 ziRCio@ydf8JSXUzA*G*TOi_+va*{V3;sKUQ*W#M{^P8k6F-)hD-%|K|N~8y}xgt3SVxMM02~Tf59D z8Leh;b_gzHP2nH3Qyxb!1hh{OLkc<--fh-`T(ysr@r*zPb&yi0PnlR6%q{oY&b5t4aCAX?(_`R4jhX{hs3%msJ)GX-<$r^@qZZpa(yVtsCI?&F<8|vWSYFv0 zu&c+Lkclak)ci8#i4TwG<#o`f&+@az2yw(N-0L5oG36$<)#167R+W=nGebX?KRpa= zgMaD~vh~y!WQ%pH>Dzrb(;m&d%KgLfv;niBM+a}c7~ynn zw~fc>X)9w|nmG;-11MkaM?0@W#yC~htwxDRtf^R4Ciswm7;Ey_Qh-))P$2{Z>0?rZT@xGYtHx+L00MFKV?6J-mg%@ZUXOIm|gA{5`Fox^2}T{U$q`0 zO-0Z=Hc{~FQ@Aoe*!!j2Q#3b%&z+VpXZ+ZMeCxBkdUf6pyXvCN;p>`wH$OBK4{eIq zjndT!HZnTu!;x))h`;6gyni&z-LuP|`{xy|WqWsu-uM1(JstLx|9lG1hx*|hd-iL< zAA8q^0gg4gx?20k@?nCSyCY}q>2KF%=5lq{Yv=r|Dl5MRCteQMcYjJI{BF-awzr-A z<)y3Y@B8yGy>6V^P?P4UzBBh`S%lb@tJ}?m!!GFftf0#p=iCSIrx%uczjaPHUJ4inxPA0|*(yF7cadf^yL^(QmE(R@w<>W;{Tu3D zH0N$y7^|cT{1Jp%96eUg-h3UC{^E(;oA7L|_2JE5J_UcqNhe4;3 z%J`Bf&KQ?n^_kLEFXoJ*PG>^6k4*VhMqkJW5$S#=$mOHNw?)Q#^Hn{@)!yLhWo~2@e1;g$e-h z@Am(9z<;KQ;uUwEq|IM|J5#i&K=FT!Xtwk#Zc-_XDTHt<1xIM-3}YY?-}XY!PH&7*XQij%dQ;LnNLT)(=5{*&eONx zAWng}6?{Ic+xMLX33P~n82^I6QxdA;$af&h9C~G0l!(QH;t8+6R#g0g(ZtfICSiuf zJoXuyULGD)xyba#(4bU*c+6?!;=<8O`Y?g$=;P`4?C*ubnaaSIsj@^wk=@+8NK|u# zs)*j_{l@-CCsGwZkSc~t8d!9ph)|DL8YCkfDv|Ouvkg47;z_0|GR^3k z#Fl={*-I;@mofcuV!~_{XaQ&Nr%V63DNu`Sfo;T8tIpD@_RY{2{B@<|)f@K<# z&SNYG(TIV{zS)ql>y*g*L?Fmm7Ts{c2TB(pU9@{vMTcCL_6;N0tPpBRRVj~4e-Hx! zGaEHRFn*?bfld<Cs32=h%7gLfk7uby zgulZTUjTCFxWS1FHG&!?+OR`0fUFg$($^cpI{8=7)N2S$_TOBHKZGYMfU_qWM%)Eu zAMhQYZimDK4JVxSmyroOMofDzIgA=33cCx&el)(RUjRiX5bt5@(dP*v_{{H0Nzg?n zP6ys-6?`35z(qK28^S0TtYJ~`<(#0Cacl-)-PG@jjG&Wp%m%C>GcaCrPlD@09yKjK zN+h12iz#vHg&f(;%9krzAlQs!L3yeic^l7JXUZHoJG=w$Bm>zS@ZuxQQs#+c36^0s z=j^-;+n|Pd-cg=?!0SR}H{ye3%9-2)^}=cDnaqRtVv%t*_pG`M+t7w#o?F3G--ct} zQ$E+feO?4#WE_DnH7B;gySsgMyI-;d#3a1<54kMW$xf=yh= zh$S)(T4-)4GT?)%Hg$F=CO8e-cz!4*I*r?ic_=1qJ@b}vUapSHD{vGWyx{2NO%j+q z30Ruk5}d(qVscm#odIuh za##|WL2rU~$cD;_W|DGP5{ZS)Txq{3JPpr$X}>5wt%n<77y{hb|08S1_Qu}7e%5PV z!?lK*jq*u2j%F!KLg6B+*e4w%R3`*<{E3hQKn0ZkkPE&wl_;p+xCr#A8|Q@{5-@(w zvG9eTY=lFp-eXC1an1=sp-mMNhmQobuyDNUB(EX3H6=bce(bKf3Lk!N-Mi-er&giD~r9AsJ0<0BdzXuyHL&U6lUNPmLIwWL~3SY@i z?G(JX(As2|n~k>`6(FMehr4;u^oF@xrwm=vjk#_q7G2?iZ0WAf_K+~Mbl`>=)p%<^ zKW;bD62n%)W*&6Att^ySJ`w%1(`!yB#tVjdzJ7kLUSZx56R$gAzTGVEG2U0XyI7I2 zE#tI!!kIG%8j*<rrIy5jKz5>o<-xJdiK8)aOfPEinf%9?T29{K%{%O9`u?6gz_dY6VsnX$c6hwHw6 zRz6}C3vk&Emn;$P@U%cy=bu!WcOY2{u+&i2)^FG8MAXM|5Zb;VMS|k>7PyvwBtBzE z4sS;{%DBtkT&T9S0AeR5kb0zqx4q=maV-GBn+od5Oy3@&tM01hAEHT?S(_V<v`1j{R7& z0hyFut4gcBh39asx_l>#xqBXr)=wj&FJikldvU#|zLy;K$}Q6|9~xZbl;^6SS5H## za!?xpxnF0_sz2C24H_Tsz}YaH37KK;3? zemjKSl-r{JS$-eynTufW4!QN9wvdGRVtz6zG;`TgBeirID z%zi)ikVRj`291VGcDCtuP^rz!TeEw?@n#HNw10jcKzv-%F!h8L{reWBBi#Agy1MbZ zfbm$ZB*vx8yXF3FE$H>#3``4tXFTxdwf|M>&4iq$(p^Ztpr3mc1s_v?@oV3Utce9?BylBraQq!!@m4p zzYq1`l(lfZG4DZch?q#zL$@P^2x{be?@p%&!Aq*a#6@LzHhR*(R3H2dI>`G(JU-4V z+OL0Z&i(Bsd>*d2c>7#`l& z?1j5h;BAVIb6SJ>8K-#};Q$3gPqYG$gu|ni)+`lb>=rh~mJPy3@L&7k{tcPVrM=lY zDacLpVQ&%k*+*veZ8{BGwKotD{145hLOG>Q1499Z-&MO%>W&`+?< z4M{vzB}=viTUK$dGqo1%O&db(?jr-+G1;nE_$tqu8x`u?%(9yDXc~ttL-Sx-q(pn8jr%XG-ki zQv?Ru3md6j+ZU{0OJzdo8i~VTM}~vHjjL{dz7?2v8rL(do`=DH@Fya?Dd#hh&`$Wh zP`)X1#r3>=CW9|WQivvG&(1tT7}HJ;XSh}h-La>EOWDj)Dq}Nnh*vT=aLlEUmtvYY z6JlSQM#&Xja;Um88tbx!0Qs}k1lexi8-lCmUMkRexA5XQ361BU2haI0@j2CMXBsS! zt~G`h8md*RBcx6JN0}R{_$@v>X>R)wtty`@ZoV+$Qf(u1%4P~a1wnTwBa|6gv@ninNo*Jc4;F(2ktiFosWkj>rDCqH4Ykz-SP&N-H z`uYtbP2g_L8;E{2M(DCDWUD+A%AQ_0joNa~`!>_9aN4||8GruewiHUO=p#_*jLcgU zEqgelr1_%VGc1;ioOrZV37)lg&kGwZ$Z9pYPOpn6w`jgR*WJqI7v$*rz>q_9n}*kEm^ zz>s)ahK|AKGBP_oRRCaZ=Z zdumWtM@4pOaqQdO&K)p`rOi30?3_%-VKzvy&hO-b+K+VY)FB$`*>P`)F zTYGuZ!iGD|^9~=KWzKHvkyuR2 z-uPd)vye%|ZG)!UzheDlapGd5u~SiN?iQ!X7HBHflG z57LL5ENfjeEdGsq?_;>_Sxw8<9X`hh?!DWqXPt)IuWeV{*aY|&F#dN%&$i>s!I)4_ z@vf+ktRZ;>y*}X3F-^0tL->g5F9ylrYJJN!M3;c;s~9gxUbMevkXlc6eQIGr^8~&30_sV3T{icQ$V5UC29tsRO8X z%fEJ2pZx#5FPD4fz$c^u08o|z0Qir)`~QpyJtt!a>;Ls{voy@@l!wt|`MoxDbad!H zWnF-R?sD?WIeXf zt|5(#Sd#lR(=jh>EycjvA$v;Wr>fI^$7?1?Q1L9CGHf+vn~kGS+#IXsfi!0grmHUD z*+?Wcw3Qp14KOd!PV4LL8hsE=Er&>_=-KM|>Z4&JP1OayLP>{w(CTB1fK_>+H67Q3 zSCCc=X-%(J2%t3vt>!vXbo6z^wFzoA)UIuS?QLqYhngGqT~2;8ng%l2^fo1ZvspV5 zU;!UKzwV>`4ruo4zp%ZrTdjbbf;H}JGHo|wvg=0RZsF7ov)EIOs;3?iEZzKB zd&E=vtFn8tJzx5(cz1Xy%ys-k!T*qVt)FhT=9&&Td}`neUbO2KD2{*-xFQ1XfODw>3MtAe0^x);(NiaahPDps@?4_-24j&gNrJFe5kormm6=jPI!$CtH-oqw6nuUZOXiDBm9&-~g z3a~Xoq!sY??xUo*6pC_s75T4xMFa$te9 zml3iXs24b<-JvaOAa&5_rXXQiy=zpx`{Y?u0?c>M_$sqmh%;X(GhawESEODqN?|Ea zMbFz4i=W*h%ANB%HrTYc1vRU+$3eIF8e;ukIsfRNtb{uwA2xD#M~l!f1oihL5{fKJ zyNcOvbE+5nt6o?q$ebXh1SJ0`NJ;|}*4<_R>9Ly2LFYUM3CW22Ad8y6$U49GZ;>df zm2oBp?$|DZX^EB`l)`BQoJwH|TM#h!0DRTA`MvY~=F;Mf3Y-B^ZRfEGVvBveIT6?| zTxq9-BAla&-HGL|v+M_sI|w$66qZvQwBj~2UruNkj+ysJBV;Ol2Sb0j!_i}f(7Xr5 z3|S4Tfoy`Vh~i-wIrTV56`Pn$*P-3)A;wn}Fz1nJ-}AtQJgXO28Irv*zb3}o4# z0}i3fX$r|S1r!Ek;*pFTjQ;4suC>ufcS!o=SV`p_3YGQ*yiy`R6Jm#SLS7D1W26$M z%LP;O4gCqpv-QAj1KPdKrf+#<0k;jpRT zGA=}-8BY&f&>r*Mbp+15IEx2Hsoh9ZAv4sdiYvUj zBGewS-pe#S#JOwl@3Hs-CzmEnDQ?TI^M>2DT_lRT#Eut09klaDaLHh&$zW;8V1IsB z9fqfdT1c6bb#={|8xhhtgXe0sE7EN9S)*vV0MPQXj~I34ofM^ z;KA)z1f4*jaWvyTFyPc8S4HUH`8FRazwWDMvBZ^gt7-P1L*3A{39aDMstQW*Wy_~l z$}G2pqqD}Oo#JScC>30)1;UaI{qO)2`Av^ApCNi;$sQu){*!z-qxP3rOl5~#$6pe} zlp?PryIcS@pb@1^%o`>#?PjNi{G_ZWFf)QP<*TB5vzEUmh>sz= zXTJ?^Tt0AIzGpt>m8p&a>=gr$$S}n9A4eLj1((#h^-&jP4Ys`M_&Lo}fR?BWj+IO< z+XY>Q5=KlmkAB&+aCQcEFPeFAGkh#%%Eem9@S>anF(tXbgG3N6J$`d}gFk1|+K)go z*?uN#aXts;47BUl^#PRTSkalAf~NZqmMqEN857@F^e53lP6Y^Q?9yfu-`Jrjnwb5E)deLa&g89kiwZUSE$EB=>-$I*Myk8gwV;o=>C(BvPy%x?8Q`+ zPR7tY(Sm+t;|I_Nv(PUV=L?#2Mcuz;cYvaX+_8@^3fHcflX_b2SkZ>!!zpxD?Ci#p z=k_ivZnflh#^gA>!$Pe)vvuGgMBlndk8MPU;#|5g1VCB&CM1k_* z$(no+LLK8DYy%L|BEZ@k+#JU3SKbNP-QO1g7zqFynqO%Q$&hav&#S_EM`=^EUNJ}uDTQI&8Vmm`No*P~%zB2)}eNzK5vBOjOpQXE}JAMAi z0`h zL5cZNq>Wx|4VEv80Pin~7us--k`K?>-XO&T1NelI4=<nY7pybfS zGuqRqHM{pDeOA~qF5BnLR{~SBFnie1{Yf6r4ut!Gj4&(55bKsOjVOoo5!7;)$d(a# zMk)Fh4w0i8lpC~%8H$2}xJmeY6@+)E*Eik^xm^>_TNclo_wRBK+U+N%xu;3mb%pR= zA@RT&;svL<0Z8lu;`U5*7KTeF-XVM9T)Zco28Y~cgcN3a|7ynCHIyM<;CyqxwrH%HaLcf-E_{(q>$@W0#F)sFq&}~)7CQ@5u zU!m52yF>7#qGY{FxU@odX&Sle7q|-PT`jAVJ|#Y0yIF=ikKLjQjnHkrL)<1!8$wPy z8GS%Y!FCwbW1MPC>aZm?!MNL!r~_W$nv_}5I5{&|+YRn9&uG`^+CTl%|E0=o=_jZC zl{n`by;u4^x6%cU*9&gq1x@z~+%`Eo$1{;~%DzJH6RK;2-^A@3`u!z%=2^1n60q0< z-}?~-dQ7|VnTWMW%;(4QNSTi>ea|nFbSu)amK`%HguRmv} zi6!H8Yp_GUf@e0LcaBUo@4?Zsf=|V?x5^@(SyM;|dV)}&SX>ph5Z{uV86SGHtIp%0 zN48c?5c91wr?d52hvkOyLg-#Hnf*}9uG?1`_Qz-loVdoGf2(WbNvTfV8ZL7<+ZQHhOcGLX#HmW5}e0wSWg$cfB-2B|g^R*W|k z6@7a8!CRZGSetvi;a`Wnz*^$&vEx5sXRe*{>h-Ym-?9mt=;SI-wFbz1G~}p z4~x0&D0&ccH4H?2Ramk z<3s_D156(xyfoT_gd1SELs4%s)M6wDw30zXUOVWoSmF=pKCO%X03!N@WRo$JKX~W| zql=2-ObX~2SYI+jc*j&2K8-iiugpF49Avx$0;d4;REa(s0J@M?m-q&s5nA3;Rz@c3 z#pzRkdPb!w=m{CC?IX&YPDAq-rIe1Og(|N#FuTAG|H4|M+KUfj(6X~f2nc8e4j)$h z?1TIb9P`ny_t#Nqfs{z@XYyyOXJ2LqQig~Ac!W>@ry(SxTgKJ-Vswb4Ij^JOO1Cw; z;Eum}MR?C4qVK?QBsm%JBF&5_=!I|%0qHydd_xxh1}Ibf4IRU`UlBFX{238s0sFxu za5Yjy!if?>5W0W|ijNIWk7w$OiXhA~lwd5xpe~M9Ma5QQ!fz;rJQ$$v8b{v_7g6Gn=6MVN zO~6P%*M@ND>9H^n96}`()@n+l5s=M0g-U4&ryL)U@Z{#~iykS;m$lxu976&&EPj7N zdBh-9oFXWcIO_Kx44VtzyeSw#IxsdNuQ5PDkXeBmfgBs6{zJP=NFAO!MK4?Q>0JZm zkC=U+;Y7MDW9b|PStKQvZ;8wr3UVanu#CY>vM8g9ZiQkUvn4EH5eoM-$C3LKzZL0$ z(U@397zj*^DuE5$I*M>O(*7w{P?0{&+5tc>j_c56pBijo<3c3Brk#9#X}W;yIXhN3 zaDjtlua-?8+&;R2+`Y)DFhnH#oyZh6cuFLUE=f7@*or!YgL1_Xf1oJW7&owKV44uw z1(X}hV|Mx=cldj~K&cg7__NHtus_7tbpff-^7HAG`I3b?9p1f!cgM9)};6uJ{VZ>QLO>-VDJeGEVIYQul1ZSw= zX!5u8$_G_TfcZQCt{IUv+#Hz78hVH%{Hw?h;j!Q!V*hEAY9>;`E&)y>;c)bo$$NCF zfe`>-Vlp@aQE_rWN;`;*VCjguoE;8{;XY%bE^V;0UFRimihY4__!$%)GaQ_~TO_?N z9f}cue7FUMy|^G}7?8cDyqEw190>*nP;ey}5LkP{gSiTVo_++T=iaStyAwWio*48# z$-POSJQy7S!u~dFn5h^GDq9u+E_ra72v8*;4$Kq)%DE{8%wQS(z2T!!M?s}Qf?(;p zM7g`fUtId`JrEXfp*4;?G_7 zer<$vd;3iy0hl6yk|IKqEnHN;d4;+e>j6SDeetL_?;s)c7|{X)Tj@Cog%499iDK@| zk9uIrU|9!T({Cg=T%TTTy6kP3<~&oVn88xy^|a6 z*>eyUxH&>Rp@Tc@@I^vAa1PwJ{BX2AQI`GPKk%#ZAr=Vb?o+_eRES#`i22f3!6a~Z zqxkr;fynbH5RzE=C?y4reWAt>8KQed;d4rh;Q=Y-U}(-<1&u^4Z}*A!N}>D*N_Uz` zF@W>z9|i;LKR7Br(%v563(B|t63_R^r62Bz<&L;Gh_g6zzt2Qqyi8}@Z;@aF-{smm$l`!qQ#?%Ixphhy zGJJA2j(#$6ic4JeCDu@RWl%y7vg9 zaz;pddaY9gh|H&&=$cM5gfxM1ZlGK!N6rcL$j6&IAcouFV2C@mL%+=Ffj%DCgFOR2 z@Vjf?4|y1hK7gMK3R2rC1H!BJyePrH3TK>f;o_>WG7g&FFbsv?>@e!vC)tdkMF9kz zb@xuHzY{4uGkg-|5D!i$eXr8KDl%MaqC&#DeNFx0%l#PV#>C5xb<*~?+ z`K(UGKTKS7z`Pf|=vzt+UvJxKfZwK7{3tT&mhRWmV?ojE3s-R3t`KtP_PtkYg(W72 z!Hbp6QM9jQM&nSUnzj_RmAuKJyHTiYnq%>zhsAR953A0D)auN>s<x? z=m=k9!`S^+ctVFzcH_$`Uyeq@$Gtu8FVFFTMobTj?-C=#)ouXHwPjzlmW}#fyX3XXp&oP|mI9{)GH-GXX8>XjJ_5(Kca3BqS3B2goe7g4I>8A68aVN#$-lt!az3=#zn(n*pzr9kc-kV=iL zy+aj}_tFU@q9+l?aYP5)#eEBllm~9nUB2TAg&6gc69~@G-QMgD#@GIF%Ro33pd=Tk z`^N(c(iam;O(fm|Q5N2QeNpbHRmtLuxgbaijT7Cx6XQh|W~u(kW)s`jm#b_|jdvlK z7o=v}k~9v7w&=ePHEq@(W^_O&t5nreI+)q$`AlZM-WI)NI)vtyAAVN49{t>E@Ne9B z$UYMLH@lr0=~Yrda&4p7{18%{trzK6;DNqjFix7+n+Zi%eomxM82`G@m}lyAKa{GR zw_ELR3VCO3S_+BmrVSfCGSx3hyriI)5 zT8sr{M$6C@MThG(uszKiy~?71%KJE(GCfKCxbT0F_E9Wsh3zCUdl_0{|Glz7KB*(^ zaS)$3Qv1z!xWq&K)3{P&ocsMPChnG55xbr9L6&6Ea;!aT0&AQ&+wZiKY03W{`i1=G zKo~vtp*d166C*R*^)|3}g{fKNIPPfD>Pq+K$sy8hWd|ikd15}iY4@VR6pMegc+=0; zP~5pjts2;Q#Jygd*`RFu(`#7h74)SV)YKGt#$>JfS~bro3*EZjQtj{LL--9c88RKr zNojOdZ&eD>O|cD=@s6zZLjI=lr@a~Y`Plx8lw*>c+48G^5^!I7OY!2<=o^`7G*~ybnGnoi;_n}2{#?A*I*R- zp8D~s?wWG?R!7T+v1e>_mB0R8&}XCcUicN(>`MF>KQFdQNm#Qxh0#8#TaSh>%aEa6 zlkd6|4+RcMcCiKn84>L-MGDs+Cu=}?3BkniHd;}Zk3v7as`ry6uH@5}1Q1to!E>-N`=ZM!^6R>QnGMx zZFBQ@o?^aNhTfsE>$R?tvUCP+bj&nPuKl>c+@yMsq=++8(=vIrj#D?wasD=>4%oVA znzjcit8JY#$To2`DPKKdlW=W9X#}V+ka`~<*s_FCgn{2xXEbU4Ry(PGpTLi z+x2a4j+a^4SF+wTQ-OV^ZOT4rcJSV&QZn~7&Un8S&VmQ2E@g-B z_z7FpHSG#>6_0eoEjbI|*~+I-w(qnaD+~-u98;NtGoQt3Pcm&Y!RS3Fv@27`YiU{u z@<{tb^s~?RPfbTxNcaD7K90mI z>j#2|ryE~>LUUZhTzCa*u<#Oh%8S+FB(qedb6QmatHZOCtcDxC6q>Vyyh;z_;kKOO zuuEIeA4alKjVIm|}!-fb>*!)gcKo4P%a^Vima zyj49sF{q1m$D_<1SyWRtB5{1vLf%nSmej1^FL46tsqsow1J?@EJIaUe$Fz^DRhex) zez)464n1N@e+z3%Hd}0|O{+cD#>!j$&B^RbKIR+{%Kpz{ERx|)ln7iM@o z9`C|&=4B*BtQR{CHW9D8pD)eicDa7kS zFKk=%!K-vGE4)!3JTonaG2iXNlLN-5so+wAokP618#M=mc5KbSBb}xR7goeDQlA&p zFOr&3OIWx?KdfrTdyrWaP8swmh#47JN&e@y=C4wT$DT)S9!ZKeDyG;dya$VIG&-7z$_Ud?p=5&E{| z4Jv3#*r!QqTHdEaI3vsTd~73Y<9GCtDSqEJ-QNAV9wv%Rl1DGQ%jSL2)J4-pr27J; zMWLK5N4@71RG%z(HzrHVO1jF=YK+6A&}i;ROAq+Q$cAt(XN?!r^2IaZYua`b>fKh} z6ansPth7A-cOD`2`-SJfWeRxBowgFt%9<;uhQ55|KWDjYOF% zZW+VZP$Z^T+L=ififU&PI*O0HuDmu_7Kgvi3b>!+9$ZPZk;39FXfaI>uT;A?yl%?# zk!t{)g?u)xa&hBLBDaVekC;A3QC8SwJuDp^5(G|M%Vf`zxC2!J&NpJ37kNFcnWbawEtSV{Igx z%7SIe;Ce95l|D+bDUxVYJw2pPLoBt9#838QOl_PO0aGYzOi47JNb4={_dVmXz1psO z`uMYT`rSVJ-CoN~7XS3q156)oZY#Ols=?bkO=wP|JwiI2ZU2crz#MGqB#9VO-{pxs zpVE=ct~ijOaJQ-f*U3E6)u9(Mn9up%I^QK785n99kvd4Q&S{#R$)9`~mHPL+zvH0i z_QG@a^f^~lWUA4L6emr?)DTCi>`DrHh+kd5yo6U;5Sbn8zzQ$6&R+AF04%>4>o4}kw6CBnwF4qia^FB zV)HYb?Q<|rXFelkh?1zz>@Nt98))tA!l3JUjAK)-TVSiQs5l4zpcNU!NQfCVcnLoX zYRIKDSivH8v1`!_qy?#VkQm}1HfO$Ssz%5B>d~0zRPE1A0WrNjq}^(a{B1Vp_I=UU?s=T@Xq3VM1(6%~3FDf}LC_eTXy z>`EMIlk;n(HX3gv__3<9>xI&%xPwfT#6-q$a`-rywQyg)bYU9Qz3rbsi|V#NyzckA zEB>Gf$}~dL`L2YuHL6rdg{&cS8t!*eaSK$6D1n_Ff^lv%kOkrsSaN~`3hWo(;w@&~ zENW|UqtkMeTWGqGpz=Xtght>DpsP^lh2^~pU>`^qL=#1BAe(O!Hv?ma-Z4^(-KcJ~ z8#{|r&x{?Xu_Q2YBxhN*zGUM9i#()*vk?5$H!tJvgpLR;XPVE5Q!q73vVuh5C24BTAxAYOZ()D^M%iCWoozC4vLZ(Lx-dQ@E%Wo6;- zT3*J!81lH*>`%$tE^e=UUI;~CpUft;g2(s7d_qRR31x3K^0gki!=p?bbM*3tKR+!q zT$U8Ojdl&w>@=#cKmIf7az3oOR^v7ks?MZo=$bz4bgNr%Qfi%6xu$E^#EcMaPxFnhB+-=#x5ANdCAZcO0FuvN;6Qjz=K|k@{Fxm8El)PnH5zD38 z^(-H;KBJtC1kqgV(8z0!MhH5J%&qC5ECUo*FjoO}ByvCWd4KY}K35ME%Hj%7BdCHw z=4eXjo$}8kSmWM39VNx3$EK0mZnN)jXti>oJGm@FjR+u>0V(5l95}SzsI$knY~1<2 zw=&D3U^$}`oaB`+Nc#15^=_~07{@ygo-@knt(;}fRD+%Uu{D7tAGN!|$5O?O-+?cc zB&?Y&_7w{8yK?j^bbc`wAs?2>(LFU3mHtjf{$UKB<4@aR@p5wUIeq+)D{1aa3*u<< z8St_3m@{1vPnoww^cd;VnCQa1Hg1lGA`GS#+2ygI;0MXTKxJZh#>NHMe&7=R_O(>d zeXTN2x0sPisbAHN{P;eK!Rm^fv<<4Gyirk5+d@B-4OUH5!?mdaZ^a4bjJNQ`JviV| z;@r9`@v0pf<91+nIbNPx*o3zN+H>z&9}qL5F^ZPq5&$2$f9gCx+pDC?B-^6stcwnn zYKcHX{l;|GuI2^aXga<~kjR|>I5>YK>RplF1XLMci!dtrV%TlwwmM$0v0gmqZz-~u zeq^Y=I%vK^7rYIbfHR9>$5%&f%CPuuYr?}<;Syo8h=osYdgWB!x$g@5{27t?)Kbv+ zdS1Zpf}2jd55Q;bgiD!d96-xP_BO*75Z{f?=_`&FCNlza*4HwjKKgZ0+n~&Kb0A0a z@v3eee|(k5(OB*A)5z2K=QeM8K-Tv2{7`f$Gpi_9)QHI|{C5&G~nhyO&X6mq|AfTN?n+lBb>6d|XG=7=E z#^E<0Y89|r1>+1`L#3zd?Y#L62un(_Y)gZ;xP0_b>9)VU51*A1RhFTiLumY2v`^nSw7rlRw#w&9JAji?5uXOHtH|^U>DcjT!4m@9F5ph z+*|s!e+^hlp&$g@ar-4ojV2zxfAIAt#Q5iY-c!V4M*Ds%?cC3IYae#seLbsWbHtCx zhtEnE)_vnWZySUt>H(ct_@4DS%F*rL{LvjYbL)!|XKjLzmySw5$?U{JLZ!WGK#ffA zgRd=jG;T-(j8^rE#yu4f2L|)gOc?oxj3#f>+eDI2@Ob@8xRe<_NLbK19VOVOsU4pb zuy$wJsi(Wym9UCoRt}{CFW#2-`lFqIH%#_ee*^GmOovFtBRWp&FTI(zjhJEzfOVo0 z`znP3_L++FBv9}BiIM%%%gk&bC9s86G|k+TTV67v>@92HynS+U6B4o;q{jSH)Chyf zPjvUz7CSZ5t0M~0+TZ!;KX~oc^nKTYBIO3>WQ#@xNaQ$bf#MMsxn|<~*BTkA;|&O8 z`vF>eBj8I<%eEo+Gub1H>agTt8BO}@8%%q@($=pi@}uFP zF=U6ucy0sKbtW3z@#G}PaY_{CVSNjc>=%Oc6j^Y60mTqnzH)CZv-|9O@}Ydv0vSY9 zP;}|-@vc;?^8-t~$aThPpU0Ay`3D|se~1O+_@~jsi4bw2oJj|&;wg1g88DlF*MK0J z6#H;e!ifaGlIa((k8m-&Q!D3IoP)76H*yJ%I-sRh6&E1!MO2-gD7??J+CcL{g2eHX zMubu4-~>!bBb`ay8>%I7ub~ux??O9x^xm4YWhU*U5KcsIb4e43ve6U*^g=?wU7f)? zfvoAcK+hNz(+s~Me~7a25J;4rwOG-x|fQOVrugWHPj2VZll?(7#h8B`{Wsx^OlVU*p-yZmK{MJhW`OV@jQckKY*cPPtBehQ6-(!#E*5$KI=|^;C0vX<_I1nI?pgw-1z%g+ALc`g{lov^n&=D&nqesB^iCBW} z6f+Sy_;(?6WbOF>#V_Pz`a?gFA{DYgy7SBa3QUhd`0btGhD1T|Mnw_$3;Y8Ar=)l_ z{XiA`pU>G02mpZSe@lv;&Gj5j42%s7txf)~>-qoL`QQHM7=`|Splq1#SL*0lGJ{Q< zQ5)-SyHVjXsR)$npOqmYJTizY7#($Kc8rj@Ji$w)ybu(;`M#aer zQ}Bg`JUW4I8A1hRd;&>Wk)rZgbx=cvT_C6mbf1oS#YaJ=-@on@H)^>s-Dw~&Gs@EJ zE@r$+Lx(r)W(fi^tU%%d#N!2a(Ktp8c`igkj5e(Uq3#UJ6TI=8#AEnue=95JU;12( zHW3RuRX#GPkj=P{1)(e3vl005j} z0|5LJX#baE)H5}(u(q?c_V_=F?Pd)tXY5gzonyL)3{r7jL&5uk)ktYxg2V%*d{U+2 zVp0Jl&nTp)Vmtx}8o+P@03$%fNE)q`Nk?ny$egux7PgErF3ZG`)Do6@?9~+f(b%LV zmy4q&$tD?M}BjUcFwoQ~p<*O(iJ?rrOW1 zu6AcLc2;KT3%D?YM^%OIA{=Gnh6x49czCfSe=?je6eO8cOHY*&oN;2r#GDZ@PLj@z zbr~8G>YX`KWa9F(@#L{Qc-6RYBr!chawkn3_m#=;R-Lr@{KDCZ#433br%My(CHOKV zA1h=?R3+Q@4K>uXXTzSK0C83q4Zi(zXVSzC>+OjWV@sa2B~6D+)__XH_!3tg2yqv~ zk}P;nW=@_MT&S{_oeYZNr!JM)jE?w6s)`Lgxmv=tzhYgXy-6+#^vND;|6=PYGJsSMHbKfH5M;7zTJUXMzPt zK5+&Jo;`)~)F6~)EWwXQP-9DrxCq_Hn(p(>z+plP@up!;J$Viq=h12lku^FMb$T#1$o`v}Z^}R>H&xrIh!Nc~0h&aym+vC=FvyGD46} zDJ6Ns@7!#5lxLs6K7_O2hC~IHBb@$8!tz`=Go&cv$(||p%7^IO@q%92i7hEe zb4J|JgBLCK2-3x;;VAmS8f2?^et&VV=FeseR)b75*8M}hMC^y`=pxx@i%f~4{}7%8 z)@l<~VS9LjJ=w9p5g~R$0w6&F-w1*}nC$V*VGIp%-&N5ZC z9|aCYTWU=TWp=$wp|z`z(#1@RupoQ{K$#4HC73~(s(?ooLC^?4NOt!E-? zHHK))P5}|rPh-k6ILFMPcFYJB+2)~cQPXCN%5n!-hmj?1qG*z7SR%Z}UDC-7#u*&v zh)UN8=0-Y2=C}u#2rHc0ZYsqcjkK-ZwisxpOs$2$!ouyr3}iZ&I>l2E_7u)ih59Hu zR%$s0pCBcLI}q$ZLC!JoAj`Q$awoxl+~lpwp?|6umdO!R%OU`_$mZZm`FSiBa#bhm zl`f#(xJ>$#wvclwFI8m~DiToCh#ZDmpjJ&IdLf+TDi9weuVHWaHdd<7g}2Lz{Jnc> z7&XEwgf_i-64~-&mJs%Yu}S0Fawg?jHM`Z=CA3p`t4c1#edQw}iv|X8 z=1X$(<;;q#G-LUUM%hze$hynkk!s8~wU#usrWxgEGSeZvrtFEFkpKoW_liM$p-yZe zIP*HEGWUXPintUjLGVu861=TA5;p`5K)@ylTlcJqo_Tu}2r8Sz!!PDw&k~26tq@`t zqk;x^NkYs~At=bxfjL-x!=Z3Y@|tiU+?0G6Z(#ki0>l~U`C=@+vy2D8#Enrg{{%51 z{qj)LlxUfDL>V_AjI?J2(1fKSET!)Viv#27XueW1PEj#5IN%}j5fwe^V^&0@{I-`P{2oXdx&AJ|{nV3L-5qK;-?{cd}pmg`uC;Lwb( z7OvyytTRQBvWd+*XNk4x<>$T&Q-vp%3j;Ap!`i)dYqJqh9MJYOFOX4v#{g~Eff^F# zfxD65zMxo@EdA5-Ct^`nA6l%6kD9rnHDsDF;OGQ(#W_um+u6nC#VQxc5?0Nw z5pTh03nN5&*cK{Hdj#OB8&?jgv34wq&;aEVG@4v;T%;=IH3}xZB%Ws#WUT2DArymD z=LcMz3o5)6ONl10@h{TFL86lY;i$%(Q5&*L7lyh>ahhgS=trN%r0((x7b-XbaLBX{ zjA~_2+6|!UP1%N{lw~SnSGzSAS^ZB6A+t6aD4OQCZvNkF!NP-1Zt}Xg_8C@a`djW^@$C>jHSf{v)Jt z%PD;&TAP*N(&bK5X-K24s9KFmmU-zA_3U~BKtn428h zwj3pbtz61=PHG*nc~`gv%EdTqPP(Phyo&5;ZKTCQD2I3BFJ$+Nd6@gk3m1a2d0kpy zHtRLC6xjt}H80JEMWL=e5kz-qRnAq5r&~6R!~^M=OMVaxNGkC7k3R;Gs|2d*r*H$H zH}G5N1^dupjPYLE+#&ms*XDR%_x5XUCrq|eeyOgW`HwYi6Sz}CMpyFVhHhT!ppk?#B1hx%XlsDolx#@xa(r4 z3lfPZ6y!02N+lo+S$Nijeu40v+$$4X%X}mg$RnSc>Sz3Rza`7!hHKiYa&*C zmk1bS%0cQqdM_!U}e|9W|O00x4@{x4NzJ(x0~lli!#L$kAkT#=eA}Gi`U?1r7uZP zTEO3ROGFwn-H^jq1~Qk4fa?ex=9)fhU^ymxT;N}{vTndarWIseoFOw+FzVD==e{$? zAhrx+NQUP-twE}_2ulPexa{^lpnozbKx%AdbSsL;HlX~kLs-hNB}2Ka-84!A`NG~Q z-K`rBU@8?BH!C(*h)!v2%kUl&yGP+J;z!=A8Qi&HKJ3>#XrpylqRA4E%O}}2R_#`( z_%4=Z^@mrm_oVu@?&!=40qvdfaS%hljf2K$r?LcSV9?xx+?ZM7YQ!%-N#ggsA%>;WEQE#!vSGDBPR~;jfe9i(T$s zb)N;NHQK;+urh^%UhGTec=GSt*&Ndc+|pBF!8y?mnwkON)Vna{$m_EGdE=Urv~rO5 z{?Yf9`^#0~HO(+oYL2ehx`uD|iD^2TW42^y@k0i&qDcV5H#f#D7!HC44_(beH+>vK zHsIwu5m@AvliX0se&vrQzBZyU91$Vg${X!_J=_+=MkOdhcn>*%}sv1rqB@IrKUkoRMOjO&R!v zGrqAT&MRxVVLK0r4+F_#-0%Jj(R=`sq{ii)NXup{=^%O!5q;?vJro;-!(~U0N#p2w_uq*8 z>Y9JohFj7w_ESlSRyFSZG zz^5LtTq3%n8A(>VSkpdOD>xJtfQ`)ook@4&yTtv`4x{j6i@&-v1DJMr zYo5V6Rs)`Pd{Yr%#_idh-^ZP@#Nl&rrs%~n?-(47oh6;oj5u_X)FbR(u9rUb0MBEd zAs?Lex%vA%&NGaBK%?PzXXTc+U3ZVE!sB5u=x|MJvMK%+HflRn=tjlf)qK)yw!8b$ z&E4v2Hyhz3%+B*fYx7*|sq1}!zw_;d&z#i#AY{KjyS&;7oKg!rrRQlZxXs}8b)ELx zc1rz=k?DR_vF=k57Uqicvg`Bu-g_SNbATQ~KAQTEMuqHcyzNIP|AfEupt|p)R5A5w z<2n02($Xr#edB#Dbjv>QvHYvcn(%R6@%;NSFWZZ!{n&cLAO2d4egDM!I1>^kw-xX6 z$yjiIy4mx1wjz%Iev?_E$Max%dZ?$n;I&8H`I_xhd;zZ3lfm7i*JJ;)siVi$d$j=F z>wVP&---9TH{MvZ`+J?3Fsak{_vi7mHdB7+_f#7D*W~>Dx#TDY{DN<9_OGYD|C1Z< zJBjDp-sSV_cm7pB``>72zp}I5&y*(v=_S7#%06o!GAYI!`v=A7iv2xra)pKQX&V8^ zFh39pw+AN(^E_hV=NB%frW4`VX^uIrFnlo0%QL0*{J}DxbGIX5Ioid%>Fsx(>$H%6 z@XGp#M2taPhJ_UpTBcg(m>!SF_nW?q*4y9vYknL4dOtsXSuD>a+@>Q=s@sWwc5E0u zqq=d#(khcI!QVo44C#?)ZE2niyYX}3gzQ>U9%YGALs~{34kd|WEv4~-)Pvsm7L4|@ zV#MoNwnQ26KOyOS7UkcwtWCR6@jn$fL^uXgX|%RFUBM3%(K3YS%i`(Rzi9$me9!p2 zQP0|zezOYMDM0W-w%37puu z?#DqxPp7|@D?1k1aN_o0W)67xqU}an50KwT_+oBH%C$&Tv~Gay#3Mj;`zF^>4a2FG^w(rEHtbvW+I7|MI@X6 zwX}YmXAsjjgm#kf%tgFA{YHICFy05FtNxxh*=*HirvP!FeM)6 ziNPgsltiSVAT-mG-sulAo(s~XfjQ^pZ8*EgdVkB(q}k<|LG_UdfR4LeH=_O#XyXO1 z_A5yAxv!Byln8`@=-(rP!9C#l&yF2X&q=1PMtzG+dY7T-lt=dcE}8SxVz2{?R!43QJ~ z*B|AKh@$%A*?l5BJtB*mU^k`t6iJd{B6yz6>kaGS?79P1c-wG*T z)#|_?@%cn35RNCggCeH6=Nc4%6*S~h*9t2a$^i*svRT&xOnU|xybtRWqkX}`$)*cY z>|wwcTO^_@N$Sdwcx(VB6LQIa$0%ZrqKIFqDgiP?f!VX_H{D0?*T z*kdWJDETqVdlj*STwn4zD8sOE;>kWgiPhaW*5w*pnuDt!vHyo!faXBbqPhwf)y6tAUG-Y($BI<1sCSV&^*Thi_vdHoD&fZwdn-kux)JChae1% z0Yj+F#>%R3nvtm+73@2GU=`x zs@p73V6X-hMn^P27b_vTLiklRpJ5vlfs3HVC@`4hxxo4OUIaDM1_0zLhbqPz0v_Pp z1wsHb1|AbryPYB?Sj$;$#{l1LlG|;t?HM0#3WT_P%DFsn>$q>_c8d-@JZqIC0pp6Og#R&mRX%&q^ITada^n-t?iokd~Q`!9p!6# zi4D~=-tl~-Wd7dBg}&Fj>16P}|D&eqYnsEst%HEy_2~4VJp0_})Hs{-v9oQa)zaf; z{bzY|otZngtNj@15XRujhN29)TARmif zg!XohZ?8koG5qYVrI*nHpuN#VFi#N{X(J5qu=wiu(NUkT4^FZaC!XsbU(w!H_;4Ib zG*<{8E;c2VDWfV^!GI6SKMD1e@`y1r-eh!&GA+6j{Zx8s?C^@7d3|Aq4zv)z1A@w| zWl44eTKR1f7}e__J8+M}K1!u$U0JJHT2U39kXOS5iszFbCCf{m-(Sx?aC0QCOsvT& z2A*$Ytd1LAkDGU^?isn_JZ$&k`rGrxQ7kOq3)-EY!nhh750Bqzzpiv|>+`sbN4*y8 z-1Yn6P3e+R`rpT8p*Qj;!}HEwd=B3$_EWo(yvs_lTKwI|q1wP2a6gC3TVxkCdg~9N zPjD4r+9bVoMEIQy^NVh5->az?yV##+pY!X+g4^D&1@6T%zq_;6o$A@%hcOibCxPXC zKcF0OeEw^z-B5vuk;hX3y>|Bf& zcv!-rY(a?Ua1TFS7nhp+V;P-hYx&2iaK-Xfoj;9ITZt{@!fhC=G=p)8duY=RGQ_p- zp*EtjTGS*EDlV(dI?GMcq}wqm&U(u=#~p>Ho}N>i>7rMn{SGcE#!9%`D&2i|F7x%g ze#p`Y8Mdf5NCnj!!Ie%a+T8YR$5f4(+9pa_Rndv8?cUpukC|oUR>7zn`dXEFYEhX6 zN~>BdI9Hc9i3S!uvA|XN=&;iC{^G5=`0B-fv{J8x^b@5-y{OL>m%W$h&LBiR_u2R7 zN00-z;mH`h$HasAaucuuq!{DJzS2odLujhPtNlg9;Eux?NExM&S}BWegjw*30{%ri{--f^UsYW7A9mhpjb@v+qPi-b4-L?iz&j zxwt8q%my0~3j)$IQY_Cc+kjXK7}6@6*#}he1E;Fhtn9+l{3D?T@0Shf5O)A}XqdAV zXitaiaov%grddCX-Lc)F&$KL`Y6!unEzLtfD>6ZC2-Exppj4ZvEzl&y#~=kZ1U4#Q zkQPuKi3s!0cjlggwVC5xbNBNcvHOUY?20uH+*I%BD#`0}Wqplz?;UIG z#yvnTOYd=)$YIrQpMSc1eGGlgJ`w#G%4r}OjGkYKm13PT>i(hO*?>=BoF zm-y#;!|FU|;kLSZ!b^WA#h8B|6feT)7l4H1kEFm@o}R`f&s?A0F424bJ%ef3spRAE zY_Yj~EXh(nI4-t7rY8Ow@NxBiA8QiUQ*M`|=tC;hT>0IsNI6{JYw2u!a$9_F;+ z-}b{FbiX<91diVMdLzgmV)8_(RPXcfef&DZeZ&6eYhVIConHeH06?7(0D$tp*Doh? z6YKveU&R{G?%2yIcoxPM)$UgbV!p$YJT1nfacg+uMEBJ9DJB{YNaS)jhg~Kbc$<#K zk_lpj!D-ToZ0jbC1=vze@f%In=cA#vXF~Wa0!aC^$#fR$CYt~il*z}NvV=4WcqJyY zIhb0+&qg2v*KA&*jCRWR zuwP(7LG7$%Ai$af47w3uKZJ^wg6-k}8i_juC%1me9nD_T5RQQ%RUdKolXMkcA{< z7^!7TGgCw~8PoF&HBbx-chQj_{y3YJXcQ?5LReT?x!k8CEQ1YvB-lF-kef#N(#Hz% zq@uzM4W%2z*)tCrt}*OmgHrGraU6lBAnFlFh=mxKU~D3X8%GH_6CnfwDE-(o;K1S_ zH2okx2H&0#3gC~{8KZl4sbiG-Fy7I49w+GHWgLsg$v?$WGD9mDdbjryW)~)8QK?wB zy^i?wD`O{8SP0kr+n`lIyLyF2WCS2Fsp(>IaBx(~Eah|}TgA^!zZ1kWh7DpeHkMr- zx)OQG&e#9j%19@6U`Q3o>EKF&6)Uk`CF!TjgxXLWdFZt$mJc7?-QTB>%91Z^Fn{?77cwZ=k3NBQ4{8)h2f+={00)R#h?0)*MI@J`7kr07 z#E1AVlyX$Kky&BOm*1Tc%uv_lQ(d`nz#8Qt5xSUZaWbx$gT`TDGS1MT_kR)gPEn!+ zUAAu7wr$rg+umi{wr$(CZQHhOyK0wx>vs3cf5tt1Uovv!Q$EF7F=KsmVu0q3Kj{oN zvr-ui`!%=m*HF>mGYJQK3!?PJh5{3I(vIVxr<ox+Sm6dpqV4a5cH82*o3N9 z8zjM~ZqJ&x;{b`@gUK6U(#E-D^b{XTFbP<`gVeFynKDOU8h0XGVLBq@k(X_XB<6AT zP*YjV=kKovTpL^-YFhc!)DdE|uuP(~7q$G>Ey|x#Y=VSYfC=Ti^1^Sp*fPpRT~|LMK|Y1y zE*%meANBWdwmK+Sv10a@mWr7E9D*5})@#y>m;o)Lu5VUU$ybWWp zRg~hSsi!iEw~t{&lYn;D4I?{doR?^p^cRqmIcYI7U~D5?jrtE@6%r zp)7q^svnCKQpK@{9Id&WG^hI)jzT80dBYe#EdYwMBriq>Ui^cnu*D_JXq&YL_1NE* zB1G6`al);0`!rAgy91D9_;bqOE?V;vsc|$jEvD`@C|v3b0!YtL)Y9@LQqbWE4$dkB zl$8+fK!CtNx4l=AvH+5_fXjLMu`!ec*rL18zx_K2b?AElXJf=Lp-(1;eesw!@f)Bq z{xT8$h#?Y;B*z_2P-X{O4~|U)t5hawD*6jP`%h-5Gh&r@SWQsMO;Czv#qA;%=nr#L zO7lRPB60J7*6fU@oj5juVE;_?mr#dFk0Q~nxp_A`x#P>-CQEf8yAvtM6QUa}k}bR0 zBMII=rJ>J`cBxHo#ZPpp4R^5@mo07)HA7Er5izQ2>coj8RslmZ{N8=x3jhFYB2w(#xYd4x`8gY7upbSucDykvKwz(@1a7P5(6_A&oDF zlK9(47MLroUJm7D4)w|mPBE-T_NsvTIsq~)P_t(tNGsx+Ku|6zXG~BpNL1ok9}0*AJ~p#ItJfC&*xX^JB(98^x&S*uWwzWj zs0Lh}($n7tqk-E!pax&t9MN27hq_&s?>0veZ8J_}9FT6zP?(Q(59n9zvQJDRuv{K5XQGghHMmTU|4^hU z)?fpz72_uU@lRtzW`^!^=f@>`|xEt*ecY!_KAG^-CD9Z}1 zbtXa|rEdsoxDL*5UkYCtVjwwUE+7~!SXq&*@&ra@+PsRUPqMVGgAmqH3hQKrdCK}h zedfDdk`vF=?s|jNX&g1W>rbokxz{Vuf zj>2rbV5>Ep=`cA4@{H8UV)!9NUn zr3s~{4PvGZuJ&!^gm4rLY(f9V_A%H7*gNq~P3jS`?lMx$xWbGuG2Tx0b=_j6$tyI& zDcNrL(Id#TMO6jUE&!SW`*iFDsRPTdp>W+VX6HQ*PFpi=ZFM+6fUT@(?pFiWWV2zv zrju<5aZ0RcNO`Kk4-d{=G;L_#IWcRw#u@SY2807ur%vp`+|U|fe@ny^Xt zImZvNMQg%LDZ7Q@x)QsY88xzd;O6JAkd+4Z~ z>F$zXg0||yHtz`3lBzCPsuvBfZsvdhqP6(f!$K4YTj^0GhHOws33Q{=r;@QxROPe! z-{Xy;hLu&J?UNM$R!MIF`Lle;@e(!$_I`=mMXZDoRfjhS{f~$J$o=Gg8UJfh8 zlp1#OX|4gqhx0g`(Q*}Bc&`i>H2L7`1%GFu@m_hT>%00;l}-DCVf*V^h`L0Udu{z~ z&uwSB*URm5FTWo2gdD$Y-RF7PGz^E@!|R!Mc|u!ZMgZb?dZICmvyS?oE6&!O%oJmncb z+qp~Iy`ks@yB5Xg6n;??efMXf9sk>9Pi`=GMTPq!{MzzIN5}YPy?i?M>vg;30iL&o z`sKy9f}Pc%+){_}-J4m(Y5b~2|$o@Ex_<8|>i%Fl3 zu=7UGXFocH|NPlL{`fskt&F~s-1~aJv|WqeJ?i~*)hW`7P4w(PS(;-xnGwN(=W&;< zS+;VMD#O!i>``)rXwB%pJ9?X|)p#YYeLs8qKAbU9+9?}*r0w-}W#~`$ur!x{vOL7b z*HIR^-TE1`%G*Ubv60- z!$o&!qa^z0-2pUxtm=l&$D8pz+v(*ca6azSz}xoIh%FB*lY^M+cd~DOd9`eaNf$o- zSEuR*@g!W&+oyFa>la5Xjps9^f%jUk$a*Z8S!WXGkf(E~LTY9{EX9}e+z~l4 z&OBv`FAp;nkc{QQWlD;woYYf;hSb6<1^kz1<&;$QHyTLk! zgGlh<5IwyzfiG2iA)1R^mVj>yV*fZk416>bSeCEmkP*^=*I8P>B%oa>&8KB>^8Z9PvxvPIEKS*DiT7r3_MlgOi{jsXNr;Ux7=p6W~}8P7dGb z@vTj+pT5eYkXBJd5Mz=fp_>;a3XrKAB?{5GA03wX5k*k;2Z~~n9fLs13!p9smFK5$ zUYHm8lVzCaC$nyx=S9kNoad+VzGLde5r$yuCozts>m^W@r0b_}oT%%?lcuQaC$p@q z>m|~*tm~)pJag>D5yx=sCo#>m?I~(Ek7HGfocrHjXB? z|Kl{?tfU)-EP|7BZslqBcoVV>1_!$B7f$i$;yG*w$!pcBlPNmqV7DL3ziv}{{oK-N z?1DZk94#nLKsYiMsE+7yR{$^h>pceyFDX2bi!qoBzQay(?++qAC%hlL-oS6@Ho!if z`gX#$dpr5*lb*iSX-ElB;JG|MRT0I-3k1+M)Hgf7?GcVtU63rT;81SDp`6JIu7Ty; zvBH$gAhY_HNmOFd1+ui=g{h#ktT-Kqsh}~#W!R86M7h~8C?i7|y9}{)2~{WVGqssH zi}^{lWlVvJlKewmVf?Mnp?N&PJV{>Ba@tc=aJey|+~`)3k!#LHP#d7ZB^UsJR0SI> zR+Q_AG0YohA3Z`YDpE~Ai|0Os-r+SWeoq8&B06Xw-;c5fXFrsYrUg<#2^CO4#4SEz z$SJcZnGtndorU(ox?s|ng_f&=?nYDad7jl?tq(DlmT=T%57Ud0ywHoIm*Pi629485 zOh)2#6hpwBur#l0!i+N)bx#Gb#S38{9{4qUfEd3k5b(1Lx!+DwV4yHBY+qhC>MoVx z)BcFcz}N^OwG1#A*~RcGlBWQ}jH3u5tF~^TE=-Ig$c^SVW*t`ys0**?#Q^4Z1n@bM zM=j>S-mecUwFWjr*{mhN9TRwzA(C(gpwlfVKUbgNs4>tJ#Y~i(t347ELC7|36`Kfy zX&?*EAqVyBG?Wu(1~?yWXa?WMv$)#T)5Y>#5D)$Z2yeQL4)&32nm{2|31H(!Eju{4 zAL?dVN#Ffoq$5>F>p@@tx>=N1v#!EQ_VP?V@3vmEMqhI#5rCPjFLR+ysEpYC7Mn$| zIAdQjDTyT`Mbdbdfm$J0iDlM_)Wy8`hMbf`$=9lYyER<@yhN2SHd-`iwQQa;t{Wv( znH{iTGE_lmP=MxS4R3iIMD0ZvDmmvX9j4xOLvP!wQj2M=$<#F7IV(ecL?+CP&wwFK|}^VW0Tv zYp%Lkt}bxGeF8x<%eD&^oGqHn`V3xWn{*v=1Q9X%)d^HZdYNR{#g-|t!VbffYL6=; zAy=nCQd;Pvkm6MX&Rq9z*(y}}^$B;}~*`N)l zN);DQnh&G-K)W&X78b-=bM@u5B=u+RZ4EZdRgF2U!Hfpm{cpm$SFwTi#ns5-($dHwUDWL4Ij?w<-}VtnYzey zwjbnh5L>JoIxHIZ(8vSiK9Esq1PdUBFt-NkQ=$WZr5WA(Y)2@tQaI}d6{xV|)ZK!v z2fnk$C_tRN0<~b6BucQhYs=oC-KQGW%3}Fh+YvB#NUA75P#oMLDu@ z$m_8o3*koFmoN6>6i#96QWxK4D_~KpM;+-?(vBX}lw8y;6^|$uDx?yW_yrRkX0Pdn z#K}|AhGj1v4l1z42no01fXky3vux>HJja&{K0h8Rz|#Uy?@~SShg1F{fKkh za}l@@!+eAkOS_o@*`PCG3OU}v!a*sU!G#*7l&+y0LkI@6Q3_BF>g)b(b}ny;F@-AU zs0vU4v_7>6@X@^r0Qq82dY1f}EBC3Az$%=pW_YAb9-ip)k)8>CDE|bAd=WBp{i|LC zbG>>;)tSeCe2$^LL2V5dI9*vC5)Ol`ez+YH4uz~dIblXZy;xsWg)>o6mZ4mpshsSt zdqo)BSpjDh+NRjo!;Fd=Xq4gEwnF}InB4JJJW!_i-M~yTeGVqhk_F)2w z_lN`j4&2G0WxTc)zy?qlK>iov0R%w+>$43c0f2jb0^9`@2lK$&goOa~0Kf+7VROT` z>w&MMbYrvYM!L%c)LeNj>reZDsoHP#vBa6kwpiuET;jo~f(PUGSEVR>5ykbwzt{6J zq(vDDA%l(eOaZ{p=G3H3mh>oZGSEWJ;e2=*I+`yOTU%_r!F>pvwYp9JSe~4%v79QO zJkuAWLZO2j^{CPMnC(sB>xm+IVSMWS$?3|8t0AB9z|T>a8Ew{e5gqmMWbp>gf53;S z{kx%@W2ze0%QrUb*}#bL0?Km8;(esyo_oq+*X_J>G$C3RatFC;Axjf+ajWBYV|rR5 zg}%eX`gVc8GP$^Dh`fSQwY|GySQEQ0?Nimp2HBq`;A#rj*>Py1K@Q8_{l|H5lHH^D zD#|D#IYocvPrpREKQLM2bJJ9t%u@*D#|&ABGK(h5SIGP?SIoSW3odr#;u_-?P|`t_5!Izhm9ZalZQ9W}WxVH6i#O z@9*vbrdE-8F8J-I*Gh#Sf4<(AAJNs!-W#r#@R zJU{afxV`R|(Xpnoy`Oi`_)e=o4oA}841KxCZQQ{<-&U|U_=FM*MX8U7$uJ3>;}ma< z;|cZ-^ly+H{4w!|MdA}hqEtl!C1cF#gpET)tc<>SK7@~`|5=P|pXkZaf1AkvcTj=+ zcQJOba@BV*)-|-Xwzjo#{BM%f*icvB(b3jW*UH@Szr)6xl`XAMlu>$^T=AKbXcyCs zHO>6}6U5I9Q;Gc1kXwUW_%%BSP#NR5*Rwk}&0S4X($`av46yKeAl5Lx7(?oo`Tzdq z7hg)-D>UGL1qLCd3J()Sh8f8dz0b|*%pU%i>6S?Ec=9pxHPikwvvYm1+W|!Qvx}R3 z?S1{+hZQs@!Y}PtbP!>TS?;FNXjPRc|C47h96Fwsii8F)A9Iv2G=ypJu}@olUcpvv zL_2U9f-8#+s{Mq>RC$J3%VUOBs3xzRE8#E#k>9ACK+3vbei@cPix69UP1r*-&-9$P z%PQ&o)?|Jp84qrv#$I|v?GU0dme5vG8qFcc$$Qw{5N;Bz%3KWXp;%;|osSf>)?9}N zC>=|r2bq_Eh~tl%N+25JLQKPmC}uK@mL86#D$%e;2>CQmH6CsiLqK*Stjd z$c$jYueOC1XOHcN2av+xF~Hh74{vHnC!0&<2kZu*1K?uVi#-dZ1b~rRo7Jy6y>|+v zmRjrb<}l@QL${m(0s=s&s(UozL<0b#-GfHZe$VZ9HnM!usdf>O6OHsiyQVtTM`HffX@SEA< z{S|y>d)UxzetNzZcXe`Egnws*F_lD_3-wYKl!R}Ym8I4*@~KbO=H@!0J+Ok1NoD_* zzD9E^(@MTl^p{Z~IgyH0btMp4Y~f8JSJEh@Mbvb>%zD@4SyHyS9;8^Ouv=sB;NjJU znFm7`YJ{ZiN1235Cn!xN@4GeR886pKE=UquhBj*afnhr-Ge~fo7(32OtTQf|;Jw5f z5nEJT50ISDvBV#!Z0h_*OoQ`eiR!A%RAp|Jn=$P-DIH_j_!mbF$9H$T2!knPM|7Ep z35#d?Ji52Uddur^ASrv?K4v9*6ECn6vD7Z_^K8uE`#pVWj<)+P|L}B54m8^g?`icm-iJrsQ*_FuAueAQ&(r-; z+3njeiGud+tViUYZ$HFsysZ2?OOkkT!xih@VoHzYwtH|MT6un_8$>qeTUhgnjrIn{ zJ0fj!#iyH+W(`k`vdx)d+RJ$P1Ps(FINr= z06_A;?5&2@M!HtErvKCNTU()wV(x5nGoJ(CNjr zxgZiWch5e(?b)oZZ#FVo6R*aRQJM$Jz1CAkLk6^%gA$?%RGTRZXD}--pv?c8PiA|C~w0nw)s&y62jjxV)Hb0t;#5kheSsdlq)D+&tlo(jT(R zRL?8aEAiq^Vqz9qB2zG?I7gc>71C|bu_Q5(RY0o@EEuRHn`DHXXNaeDP*=ucD4Wx& zPbo!{IDn2!LZ}b&7^J-gkz#;v18oe-5ZD$)a?p-k z(M*`BSnas!gF9Z_-e6E(;QGgi;F5l{jzV)`nCo;jWo#P8T(T`-jkbU2#gf?EumP`u zstriBkhp1(=;UuVXhJ>!YWmj?C~lN?0Aul)f$QPy9r9cZ_Pok5s$Wt6GqmnR+xZY|spWkm(XLMdUc|t%^ zfnnYa?Wgd zQ`}hf78RWek<%-X|6xHIPLvv*+Cfr}oMFKla%~`{cW8_N%MUDX4)sh-ly4_2KyfAL zz>X9bFBaf%X|)9~;#G%#X*vW;YUsc3Qt#>(Hj2Fxk-3B=8%tyJZ=ZAs#Zw%N0a6_3 zpC5{z_?9@4pSK?`Kgt}v&C$ImyAoR#ajd7+)@w3V#h7rsEjZhBSU0JFu^TPK3JvhN z691L-Q_+wP{xvci`7kZ_4vfSTRoYoL6Cw~YA;bUeffp)#g91B=7%@66!xFnr53^r`xIOgis}LPj>#cvoZKEqRFVz{`w1#A zj;FKat#n+sU0pN7y$|-_YI_N0+2-VuNvMU2g6movXxSa|#Y*z+fb+AT(ek0FWMI9$sJL4|<;h`3^(uB7_=mY~z8V zH=$RZ(vK?ueBStYXg2T16W5d4C$Hb?IXFPW;w{J$M}{RJQ6H!oFam(V3s~ta`$N!?okz>A+KnIo-ad1?6{9=;js0se?P+zDrG1&!rSXVA zbitxjaV%{ddHX)~%(->!Vasj2d75cwsHOI#oisXiWFJ-GqAKEG)|rz6);=J6?)?gt z0@v{ze_b#3y>UCezyJF9XuTwkSw^5UG9@F1#19YLa`#cd=T zZ4%_D?=wDSE~GhtrL9oO(tlp>qT<4d72 zaWwbUz?ML9OyNtFe&3$}XJe%uvGLj)(q&LQ=KOM1B(E%W7;aLjS$0Hkeok$%z$qEj z!QHD^advTbX-w$<~)ZAF) zF0np6wFePbd1j@6pROhz*-yD$4Md*AlaFL>RUGkpJ@jhgmg zq>GBZY`K*li*}RoxwSjr&UV}8Qxo&m?0W2nM;rRKm%(noe+B;fg>HGi)S7>NFaE5* zzy&}yehfE*_AJ=yX z;ug&zAsboQ9asMM$344CV28+;sCBIKsP;(rXt&bcAtsAtmrQK@ z@Ce~;;m32e{Rikjy9Z@0xuMiwnXu^>$RhaPx(6GV|LGho|4S=8Tp#Ve>>hub@>spK zx*~P4x*fDkaXv_kI!sFh4cS0-wXFpDqaN3{@ns4O_WnMo-2eJ9pFpZc0{J^d969bIp?J8#nQ zg~lE}>(|d07f%L21PA1U-{=$0u= zo=8hAFh~c@lPWy)Wn~r{M?A0sA~lA$Ch^ZRC7br?(WKOo*#H3ZR8<`+_FI6>qksO6 zz}dd;RHQ^D(Vad+z zgsH3on7u1RTWeFIR*0agG^uTL7G<21;ZG+)Q3=KvpZ!vkv7j#K7^rE(8bv;2Ajxf4 zP%}`B)DS*$at6xo3N>I!hS2uPX^~1I#yU*~HX%VU>?!}^5*g)_f*lSR=O+UquIf&< z7&whg?NT7o6KlhFFiKJ9U0EM-sSiyUX-S5S^c^{v8)&hJH~)Q(wGh|53Rhm4L@3ut z{ZnnBQNoD}&b9;kbEScwo$|x`(@!an$6+#lY~Inna*?c99~Zsp1Y2H7+MO0VgS%h z{p3w^-4;4lsC%;p6vwfYhc{q*`X)H8Mq)KMGhEU7{?^tjYg9XF}aWPQt20*4Z;Oap? zl-S(S*p)WDsS}_qXxX_mcG?MGeXL$eB*6GGKVo8LUb}$x{rL>^CSXHGxpWkFzfsvy zZa_}5J;t;!J|da0z~vpA1&~^oKr%vKcia$B>2OF7G1?yp>4~AB)9Ik! za0ZW0zXX>BNa$POX_+~0qlH1|X-Y)+>#D)IIc{zNa_eczbeaL=iJSs45N=4dM-ULN zAs^=nw4TL*JFXWe|GRk%W%go{b7rglZJ16VN_vEAxSB zX*XMB6X~{U$Vut7)u7HyyIbG=l=bG><#of^*^M+`lfDkCoL%{BR$h=5{lm@v4Qp-~ zvUPTlmeCP!7r6eIhku{X8(plj)-jobcpSS9l1%Q|g?iwtbjM8TQwC&?-tJGyvaa#3 z^R~NB-zF{}>c@Vb539T1JKd?=;=TLto8=1MQPqJZ(u;ojXY)j=+?xvg2Noi=9GpUm zKW@kLvT{7$U8lRVz4O^nwDhxE)${{f#~U9+zPs8~nOIuGS$6h<6etLbjnu!?(R5{S zQ@f4|b#%B2aV7fI<~dVMg{6C2;euW4D*H7KCzf_unJB47cV0g#w)VnQS^i1Gh#PZu zrNyvd6Toh%#e5W6vlfcYC$zed^r;jzwVXtg!4WnmQ)@xt`I|v=9%~bst$=0wN`*2+ zs7|)fjFAxy(rH$uLIsxl6VCeqZ4JA|Pbi8%W!rh|X$tdNTq=Hc;I?G7_J+^pQO>HN z&gd53W(ONiAbn%v_dMkNV7_hE&G&LFjJaBGsWbas|MGoh@5eZ>H9n8M$MJco4fn%d zxY$tXP3QCKx22CVuP>?7554zoL}w)56aMbo%KpDyUFFl=pT)OH*`B+8^bnz0?eE9Q z-KAW2)0fIaHdc)v9KN@cW@=qmmtD4((Z*08grBeX`j?un*N1B8n$g}zCg0s&R#r#b zm>Mj46%Qc#uE)r}aQN7+`{dBMfmrHKF<;5W{U4|eQ8qsPI-l?2B=NMUM38iX#3PwM zLJCJP>I5%|;NmGL;_+GJWa`Aa#PEr*|JdCVxTSlfXdJ@5azEp`L|w);k8uBm{+QP0 zm;Imj*08|=p^3jm?en*&{jW!2TWdRWE93tzY$@JW$fuZnyAN-NI^<-v*F!Q8Bw|@{ z2oNq1I{C#Hq=Z3t@g-hWPDstO&m1`Qvp3rugvxvap_~|%AsgTQPt@kBO)U!MWhIc1 z8zPx2sL~dQv^J}HT!%C_uwF1Y>TpdInM{D&wd5^Qgs4kLi)b@Wj~CpO zn5;XQ5VkhTDKUp?*qM?$Eh}lAYxT#K9t8Mr29MDMu<)kX2RaXokp9pAn`oM+sYyN9rNW zjC(qa>&+cr6)ScVD>l>vajuSjdwzYs%Yl1~uIT+Wloo?s(8Jo(I7>jU!B`vFHKxf3 zk9bZ=c8_Qt2SQ3tFOrpVgjjqI2q7W-XU|EP;Lj0K`6kx=kmwl;WgN-A0U**5iPXlF zBeBXn;vE=dYL)0v#=p1&r*bV++w8kIO7#0>q8c-4KrZ8H0BoWy$cY(+XQkk5>PEn! zX|=|_84YxQSY(@+231PW_JJLWM#3TOrWzp6Wh6cR9gl(Syt=*8rdS4?F^?h0CAg}+ z)*ygB*dSz}_7BYI0T~0U{3Ky}BSyLRMfverSOz zGC9lZDSh%L0$9mC2wvsx}l|bjt-h^?Tyg{6GOF{XBpX{kHA2*U{I`^5mgp1k)Q=W;qGXX zfx3c2!U5VdCRFA!NO{#NB=ndvY-0~LmkVG4%h@k*C0i;`n z7F|m%TZ2-jxqBCvT>D%1?>rE(CeX`$U`Zeb0@=&qg#r2ra3JE!BF>i|I}P56;;=>* zZD(f<Q;2BOSf22 znK$J$U-^)BwlrwOHJXf~wK@IqEJoYxk!CsH02zDrS6v)8a$rs;36^a~_vt8j|E$m7 zZHC3^oO`Z?-mP&vWh{S5Pi!_!j5WH?Ddf}rndnz6ovo>PBe{I*licOzYOa1cO3|d} zW^t@Eeiqx1V8rEm2fwY6-F?nm&4JGq-h?{WzQWwrKD_SmkX9^Z;?62Wy>T=`;IlD% zjuw?$c&|b8jt<~+bDs>!&+oh1LvpA5K_&OD{Or9_c#&cj^VD*>ZR6cA2)h>%ZO zlq3W6tTRx;QSPWRUQ=<{R9R5!7+-`PY$-Q9%RjRbnvXU!7sOS5JS(#hbtWafdux6Dox zsvb?a>Rs8XTAR=6`Ub8K1G{TDI?v^+R@vW;pC4T=kBT>uK1h5w6awGnanV>E>4RM9 z661Aj%Y9(QC)5(6QhiwKinF=%I!^z{U;1pPZ2G!UoFkQ+yM6gHI)D9^8sq!0au^u; zdKjzoW;vN0hvapjb(yof`W>G;nFDW~^|k&r?E9^-e&5Q+bN?>8)7jGA__V$H^R@P{ zp{YB?v-mI_U%^+q{(hhAINOeekNf7Z`_8tam2>qm*}jNB{kP5cb1XE!L{m(rh*yWD zCYLoOXxH;+b-(`-+vnp*(d?xb=6&8;k>!<*|2B_n)I0f>%a6DXwe=9L3&`~VuM2JT z9@q`o2f=m-*bR9nCiEV@KI&zUdBzYn^^V;Ki!T!XK zmQpXAiG%Ax#lmYTL5vTBM-r}38bN6<;TA+WB5r%rxrf9e|rbGxrBBm^}AJ6`%K-}M1-YB+;a(5hyF8Gf+<;f~b zi(He`fsa9}Yv5*|_0e+4>5m-Gj}37GWK-?po>P}y-d)#T$D8(69tNk+yuo<4UOr4N zH0qovb{tq+cAOZt%)i7u8I&2DBMxulf8`neAfGImk^KxzDLn_I(;Ja33||$s8&bJ4 zYERAQ7yShAaA(sV5rqbVW0x|$1yDwvEG(`05HiK%76)RF{y_#^RG*qni#FlSorE@J zdQP-9@gZVj*-_(8oz=F&o0LJB_IlTHsZcY^nvzDHwazT)d9D)rjlJvQ$eA={QaleZ zKPnN0*7C!j*4cYFAvtwKYsk%zJ_+J5mq86SxG{93(qw4A37Ik)d@K^TJD(m2x5`&D zo5(csDS6PcA=~{EPl*!0TBDVY$S@LGTxF%ep#$1|l??afK zEvfs5=`B0RgjVEV8>ObWY+Cxc$;v{#433MvroM?4&4+{`U}!Ywc=G6O3y=t!oNB~! z*nl)tFt6q+M4mzFIHKw6%&Y77k`P>kS3yQa6BHAyBC!J$oEReM z3c?k}R+C?ZVxXH)`B4$6-5Tb(DiD^*K~HH8w&Yuzn$5d|Gq!or$SxC(F@V#Bp-^Y1ioy>kCLt3Cp`$(wjSwBpYFTrL?g>ojvxzyqB8W^7^X=LzXG0y_J< zwNp3%154xfC`sJtLG|g$yNo6a^SC2u;lnY*S8D~rsW-Jrj9zh27477=u+L*B%YuQO z<0i{Qg8M=q19-U+l%5iFR;WRC3oADn)YHbtiWrqM@@P%mb%-U+Gc-H)rtFk(bj(zUnZF9!|pwVZe^MtvnL{!@| z?81uZE0?1|!H?m$U}v>LsiPf&Ds}(?o2+**<^T#mUi&ve)lyl%+-&O|r-tlV_hNme zDUqUOCQ*}il(3Zmo-1MVF86PUB=#s-BWxQfQKKkZ!4lv)yL&-KylE!i`NYhZEvPsG!(ofeSQo>rHvx&>k#j|z^?t2B%s~A}Kd_dJJYfd2KI!2Q>mt8BuRmfC}dk*xw4P!58M#ifr@{&Nc021p!r`cU&EwEWqbD!m0Bx$u0^P@>p zE%7Lb%w5)Op+;WH4H0_X*D&y4=3Yj}=Wl8_da7PpnIzRXWCCv?_W5CssDI}L!$pn3 z($|k^)2K;PsHpE{l$ZWMm_oh8k|_gG6C+rKB2$-!F@6CtF#Vr3=K&-gqBEF92|4R2 zh85x=?t75LBvQU$Xd!-!%fPQJgu6kXa%ojBgdwm-TVFPuyb6$VDsUhKB`yLpWb@Uc zmQ#lH5AQS(%*4Q;aY7mPvrr+{#JK4rIrN}72>`)lIEZjh>RoC6a-zCeIX66i1Y!g- z5S`PYI((g0NSqePt{u=&`5*usQJ~OP;k{!lAe~>sF`&@FwyF&~;{+wIzzDqjf?h;F zhzPuO$w%Ec-V8AcHS|XX?ZUA62k>O%0{Js#dZF66mNLm}-agc?29R#4nx`EXZrw*O za@41fvfartlClA@D7dqazL;UuJWr7UVFF3j;?yU zE|J0bynVMyV5H{!I2RsGD4KocPMEF^owS=(YG4@kRf;ARa84Ca+)biKOV&rrOH?!H zxi69r4NQ|RD5e<(MZrljEKNc1l6q^0_PQg#GTTqZ^It+aF-ht25oyu_&{&rNN>xx?(dNYBHuwQ32v zSe1gLL#1NWiUd+86-FN_j!KM6efEwGa9hU#dA_c0$uyW6BqCceeS~lrULB>?yB(|s z3}Lh-G90k@L4y4}o)wi`6Fo@n%zVeoGpqvmkbUrDUbj$WpS@7m36L+f^t@i=V8bvU zD|7kky>6%id?6i}G^|1{Rv~fgak$v%<0T&X_tuomw?rpYfnNND3{4|< zW!ixyJZ@-HNS~S!199*Qq<_{?xQvU-P~2RDcZvh_ItfK0#N!2Z%AF|{lp;_PiHxP< z1sy0!LQ_aw5fl?vjTu+cCI4uzSyD*pNi`IC*-^>3WgD0d>3fJi_A_J;GGq&($Q zuLb6g$0Rd++O@;SI1a#n*?Fattl#~SXgHki2j6G_hcC+5U!v0aCH74DNcDZg?~*_a zZU=2~5|{^Db`_UwDPhQ=yzLT@WnTA<{9k#L34CN(sUtP?w{6EQA;EJTB#&PT6deZm zjJbHEvk#s>b;{s(PJ>=P?|j18d2oqjc5PD>k1TPsN3v58s_w@eGQA?=3!lunp^w~bcRK}T_B)=&DOznQSg{X|< zYThaY%^|@r(Z@)F3U%V#8Q zeiVp7F8Pd0)PRV7SR;tmV*9IDJgZn-3T%g$%xi0V%f(V|ocQ$>O?!QNis_Zpht5uT z8yWzs+q4g@Ek{DdjZWQA%&BUm#sqQ+L_YPp9}vxAX{db`ppLZuo1VlLX#=}5%rIpz zoi+T2S!yD#OR&FlAGzX~wBnc?uq{YKN09dT9DFFh0{ilZQeA*P^-N0pjF{FkUlMy>)(v9df3YqR>pUH#h6_N+hOU1VGc3naF6*5JjWto1i+Q%QQ zm*Ep-atMd~a|zzD>F;M$N_e|;40E@p1_htcOO+_i99Df@y|s_bicB~%?~Bm54j1(E z1|`o6fvb@e;io$W8kD?R9|GMRLJE+b$aN4kMh%5lxNZn_WTgETS#6SiX-~sZgLQ+f zE+ePD&Q>Hou_}-qEZcQuo4MFNmCcw=~garZdu0`}FKTQ*oXa!*vGKv#r(){k@G+UhXH%>Mtw*EsI&axHtO5jV~f&<&PJUf7Z;IGoLYrNB9~^ zmr9y;{{>W|>TSo!C5zlObi?tT#SUkpC9Ic2@JS--XY#G-tp#JvukUh+B3xD~3kSvZ zONF@3Q=D%C)h(#Zfd@@IcG4KE#Gy#|n%JR8@b5D6`*-~69#VCx+2hF}oNcyH znke@wzZWSdk^&*MmQKy0^moWA3?q2#`-T*u)q((xVu(<{uV4zX71VUzOpo@%I`wPO zSTnRMd}i1pH;OKCmI0e0iE46$THS+Hvf@voGr>f2oGbYuE|mMI9;?7M1p{`Y zQO$pS1a>a4SsvUbNpP(Y)(O_gASse#B%UnUT{F?yOxs)Vdx#hCh$9{En`xu#DtGp6 z&W~9Vm@1I8Ke=qF_Q3V!F6p3tZ&Er%knN@#zGyQq-!NKsp!4oG}6-h<7}1^GUNHy!}GCoQT0^oTl>Wx zI+D`Dd~X8n!ZDs{UDFa%Nq^pFe6C!dnrwwSt0>bjv**y}opkAF+Bx1+wV1ezvZ@0#V4R^+#RSz3ZrnKE*Z`9`%)(*#S zhco5^L}`U(>x&v!hNu;&&y?u}^^Z;-Rg3YKtox(BO{L zJ`@JzfrfWpx}D9vTERz)Kd}RJ*WsVx7zfmu1O~i}ukz&C*3jD?PlrDRtz<#DbSHE7 z7wtmmGxivA5gda4?=>-CCc3&q0hIT+k`$IF1z%7plHJyC~k$GRUGY%+j)IFj&SR z&5~;~z)^pw8TVQ*C$zSsW<;VM4P#WojWaCz#SK27Nez0%MQ!H{9G0tFe#Lh-?}ttQ zQI@P1^h*@vaRZ^+E^57PxdmW45OHO_WTigZ(%Q1$nBy=Oh!Y73_C3?hNzqTaBV3ei zsh-7re@^-xcXr5heKFtDWvU6%L<24BjN(8l^U*z| z(%!*0sf!zdUpwrqLk(H5TV@RVYO;&8jzq1CakP?a;uVhu!BjBM_N}^9*>lcySWX?d z!a-q~zgs?Zd5ZdQPfqhu6Jn8m8QF)-sm`2ztWV~&7f!f2MXI|I`9P&lld3T3noiIO zFeN)XULilSo;SW7(#2>c_u#9`rn@;FsHqL}-+RaNSPGL6;tV{*ppr9^8_W5nH|t>5 zR)J8bzP46=Oa$T)*@vh(hsgkvYyT3Pmg`Y1kHj@JSEv8$#I?HK;zD8`Ogzc4ydTj# zG&1^c5~a4*9!P0!;5m14q4j*F*yf^(P8Skw!+`v`@@K~Y`ZQL%wqvDZ8@<+51^;x@ zDrE#)wik2<;*K1~Q8owm?l#En&>5=e4?P$E`Xl-zN1NLY%4|DAcMd{#Ph9dur~A?B zA&jtfU_r_j`BA1es?`PMrsjL6Q_J4eYl{u0ZQZAMYY{f}%_*8iUDk~NdXWLk&iV5* z-et4+ufVHLJZn#&Gk!DCbe?RuP*YRfxfNw205oU^8 z4=|nL{5Ts<_1w9cEo-RX^ma3Mfz>M{cooLTfZoYhOz&g=|MA&KRy1YCI-+xICb@?if?SMS0s$?tOD>w3mY9Y?=2Q*Rm52Wbzn)|vPj;-18PH)zGjfTipJ5*^*uY!F0Sakn+}2OkRNgZdLv8S z(&+ZiUtg$Vm9y`-X!c^pYxP2#yycjtuklPwiskRPPB2m>Ts(z2ex(Y0)8zR&>%Mgo z+JAL++Nu-p;1eDdlLkWtY!x|*i`1+kwp|Li?r_9=6%rn!qW&hU6igRmv>yYloZD#~ zvlnC7CEW~7c$8t47}F0lfx&4oW; zOm-H45F?QR^~;dj%z!O1ZMkU;wnYjM@XY{{x=pefrlFkzl^6FI>!~$u=A|DV@39fv zqfP3@$xM+-uaeI7oiGP?!{DC%W)jV}N~5ySJXNTvpW|7mKR%dGu$3y6KOORUI(TLi z^NKCw$$N2-RxgWiv$etz)>1dQE@F53Hn(kgNQz*?Tm^ZhdmWT}zkSalt-C^j6`q@` z`{XQRemLu#B4tDlxBRwNO_@#-NUk-NLDf~qJc@RCyW%g9K&~vqP`s4K3?SheFwZHs z4k4kbq#2@yIN&&S}P#51OYOs6}@U{-!E2mb;paPseu7%4$2 zU<)eLD}j79k;RGc6P!^B=~A%KtbrXb1Bpz$ypOR#n*xZbWeVB?_c@oXsBEchV`%aQms%|G=W5^8|1SXKJ z0ZyUc6)LRW@>H~s9tb0(bPmxV`5QjY8>ERDmIoqses@kx0#&4(xcPt}NrQYid^X{< z42BcxrTA=|S-Vb=d=~(X2da-BY#wlP8h~pu5MyjsjwUV!WPVPa8JIMefO4p)VQr$l zz-R)s8qURaOeb?CKR;AYP(+d$`5e6PCqND=KRt;v4Np|T6AU*|YP93Djq+TJzmeL> z3vvqW((uooUWy&H9|24hu%2-rJvby~=3 zHR0orGU&>cWtMObhaU*`B zf|-9*IS>DpE)F`lC&=~UE_TMsa0-#7&Qf4Hodape2}9E~k*CX8mJGwsA)#l}u6Fk^ zCe%v-@nfdJ=%D~B0u(XPqxuc-1Ny;$K>W=hxj7_7-FWu>EQtL z!t%ff(EMpiQou((UkILF6*a{xXp}hB#%!_z%+?k@Q9Io<@^EF!enH5-DL4x72CHMo zoR9)ghnWPT&++f%3{C+YGtp!9gM^s`j2rCJ0zk%W!|uz5nFP*bq{sJ*^mhPghoPRG zCHkWTm=C?D*AF>ATiCx5;4Hb;IRNN;OW`j37aiQ72yjbdRo7Co%I#DUJCRN?_m zv@}DZSP5CJKOxmZdkjWp>rZrJhE#%42EKNV1rnQ(q}XxjVr_nPo(XfAdXn&0-O*Qp zLncex(E}>B)sqPwo>6I}F#AlbbyUmpKQwHvXV&K>AkvaGnbfqu(=E|+CF>yUQ!08o zI9=FEh*{s69K~SSK0q?V*)o!gL4Vpr1vmbN0y|NY*bVa2bD3Qx*qfVy<1i04ADnl& z;K8FE+N&T$sxQYks~E+)3=F3LSWPfLf*`~Ks^#bBqKT8s*U_!a&h)XvMNyG!Q=GS& zqIi~j{CONFwCvQ=<%pmS?VoXP7SQ&o>8zTM17nuSQdIhVp61j+N2JaNGvpv;pI?rYGx%Hf&!2_`g+_c*yf@;iIyZnOF}UD@F|{G1CucGaATmD=&O{;^a%RHn<#jk~=}r3k;7bT690 z*6^`3xp_~Jy0z&#*pvx`V`Z!H@*3_x^*;Yukjyx{YCm(JDJwc&i!S6Gn5r~9}5eve#k zCRyycdl|7E7(pXzC57QRj>)I@a!fVeNX0AB<5Xh3^trOr@jMP4OOtNF;j29@JJ~vG zAL^NWG|k~bd*`tDZVE?@JFk)P+V>qqlqh+?vty-kvhnqn+rvl2O!G1weY5ar_Vc-F zjg5Dj8t*l*&&6}2@zqXdX+kFeZ>ot$x1Pahd%E#r>wB0yoJv+jamxN)vn>r%rTlrlMbbJtCC|3Goa z!yR^GYtq_gVX@4wi{^*<{i{X#`KeBLlT?yN8P%1>1lMeu%#VsgyH|U2ApX~|HJ_-S zXrxlKkoi)>G?VVm)Wasrq>)!NB@pOCPESQ&AiROzuwOrLD z>!;nuw|Ue4;@I<&HTdN8oW!o^U(&`AbCDlp55H5>NDZGA?yP*lfryIj?cNVf5OD44 zp^VPPsBYJIs`QsePk2r|!9MMb`kp~~j>o0M!oFaIiD%}|6amS~?$r*;P)0x)uTHM+ zGo^+c1SAv>aX7Rh2>gOqz!-7n&aRoZznrohapox1na#860;>9>#AM0al8m&AJ=3ey z)Y!yDa6@2um*DdQWh1l&kZt2dgXTU-3e~9%-%ZLDx8hcCz(1=H@z}kf6{Y$}rcy2( zb;PZXp$;|0&i?Z%mt3HOc6loF6;A~%udL!m;0#q&;p6@JjyJ=ca8~i#Ms}iIBz$3NA+S3y19RXYQP5uVW;s3~Y1HVx%GCYm0LTZ89)YR2+rRd0fV z0)q#UYkT;uC7v#+PD;l`R?NvpEX`475k`UcmLfEr$a7{LIi4JhZ$@V*J133Qg-^;p z!_O7)<@JRzDxW$%isfDo-rfSD_NSJT8hPa=jyGl07tp5re?ji3A4fSNV1O=>vpr?TdAoE)b#Xdk-3Le4-N24Gf>HhYzAFTMN!;z3ZvK|%k) zWz;7z3d9w%^F!{61Fs~&U+&Xb1<=&TPU?eOg)Ei>>(qnK3K^7xQ_V*Mk^_Ibg`n-T zXNQ={L(~yqYU0QC3ZT11C7O*Avlf#nyGUL8u_8Xwc0h0%UEfHr9B2B>T-ADfnx~a$9*`=}?K6wSf zHba{#F@J^rjW_fewOtK~W==hphuS8iqA7vVkWe=w65;(vmd!frvMwolN{(B2pd?&+ zhNGP)sU*mDhPG7#uvNX6s_UUtJ?FQDkm`^CmhzbXz4#z_NG-Iy*RtVS!50{9-LW&~D5c|}3dQRKl)6F`Z z`nY`PdFZ;Cyp+0`-nsw`gK>VcI@{TYvjGCgGF?U?SZlH|(l$!C%Y!F$pAwHv2(OcO zF-vRf&(c2!v}6{t+GwaZZ$HaAO7}=x1)aiyYj@wk63wUy#aU?(UnLc`jH7>Q6wViM`(JY`jUB}apJa2J2-jxRvwzHNqp_xqKkB2jvf@6i-RY3-?oSqxT?`f?2E!4p98fZDwe?q6xBf7 z9t#DL-#hzEj~^t}-JICOFxG zDgn{0uNnMva8-x;%_l^ihG~epZ)SXy;QQ(TVsvTJ;x*dpCQXG_?ept?Iko)PR(5lgtCVDo2%1*W3g5^W|$i;bxLtpXdOq$+t_$d z5jMg-4@T(g4+cZ9Tg62hx%SVZOi>=&WE?V7?G8YRkWFou+DsCimMPKH$?Qj`Y0sT@ zqGI$-pmSuAl&U-6>5teTjPlb?2uqmI6bR~yzN*0C^I z)d6#Ovk%Kqwf_vO@?L1(>lcuwy?58xGrDb<*VA>lAa{6uFnvYmc3DVPPGv7u8m3M= zXMKETi=O+qcl5pv#8;BxZMi_;t~u_Fra;RR-f%UZ=f__3{&j43Ez~rPbxHB@PQ3g+ z+wdOE;c-9fS*q0GdVbkHnMD4j*tYGR8{RvgdxD`&b6{Am#l5q4yt=+Vg;wBAWxDy8 z@O&&*Jm-%2NK2WZEk`dEWfU(DvGIpmw0k}Zfn)vqTX8Rc>O#)=o)&g@=DOU_NwWGb z?!dgrwxhW2c-p{U_EENj!S4dy=zK6t>th~P`-H9by;r|=U7!B1%GSC{HSzvi*|L5s z8`*zi)qX3Rxvh=9!~aBG|N1>FsG#(;EU>nkYmC|~2hqB^4|hLy=D#66mkof~t;^@}xV zMKvWAxg?#B@lzy;RLEE5JCVlzAvi8pg5z*9CZc3uoJ%UeuG5|r$!!CV#>52VpXq05+}%^|a|0{PGLTL=E~!tVKLIV#fdLLF1u}s6i74TBtfoeV zq&E1crebv@JfaWQ;D@?449JTE%{34;#)LDWh%FU=%N*7ytpJZ!-XcVr3Gl#fwG@G47+_2dmwrDRUR^Hq?;aWm zSOsgH(m^hzsL?1pxL+^Hpe?7)9p)S|Q)kieE;g|-xPR?K(K=JB83S*FZ=5%gS%gI- z_^P(yfP$-b<2bI3af4LLY(?NXyXC6EdVQO&-ns#8jU&E_VMdqbSI$W&D~lbMWzFZOd$QA&m~F{+(Fgxd?o)4xWDHz0$-st+vX%s%zRk6- z9TEGZw&p@T3;vR@OV^4@JiDXm$aT7)?ONDD zZo+s1MG>+ngS}h>jGD3p5f9aHJPwOTqnK~g-aN5#3)v7~PgcdyT~^q6h{;=$Ox?p8ub!JQOmG}YaO#;1JF zNa=WC*`1P%NUTHmCrW#QO65H}&PxR{%2aKps;aElFlWxX{UW3a_YvRo&qbtMDCVIY z%P=QOSJpOCzpSgY{pCXxY6_Wz4!ib{=2QG;EJeB4)!Ij zkL7UbwyDn!CqgGXTW$7YsZuWcle+WkGnKBD7j6}AVPdK&#kb9#F}|CZbn}jKL?EG6 z;KeQ&c|Y-G5Jy^Qrat~ASnD9*E8HghPB17t1fQSi9tHa+pA))Y@BfvO$Gx70S`GsM zV1)Xg8$*--SG=O;ZiRA!n!BccO!m0xVm~4?Cq07-SJ(P*fmT{pn9&f3J6R|(J&YH3+IWy6Y}PtT6zi{` z-xBIVDVd}CiQ5o{>zM{8S21dS%$|hhSy@TvzJ|nvc}@``Yso^nkx4-urbCJ%=f(CE zidG)B>^X{9V)ikUJx%nL?09p~_Noi5iDy4z(pkVqMTo)0d^fm+*Co*nwFI-S#D)2x(dAVvK z@MJ5_tQlg0peAJetxJ6wPVAY+oatee)f_5pllp*Y*mAWgKv0!peH);PTuBqAJvGV% zwx)S7JMTad<3U(^@J#GJkV9fDhN@#)v$l55e$o=A-n|ls>1(^}wYCxaN6IY0a4N59 zfNYS8V-iJ&BxT7itx55c%apcd#C&U^I4+Rs$|$!LPf^OHy`?!?9eL;csE7Lsk4=qG zDfi62*o=t6OP%0ct(Ugmt({HvQWn1T0%tU;h;!Epom|Srv?*M(K;I{;R@Bl*QYSc&JL-acBfPqOBK4Gfl&Kad!4V#oHfHAFpiew($ z^5#kc+)baSA`^_O=pi)AmN_AZ5JLfy?Hu8f!S2iQF4FtrB&S<`q;AV&q2$;eA~f-ohlXci?Cpyy zBB5g=Bi$P0oIUbMg&W#%snPT$!-R^&-PEjf`qNUXw|Fs#}yKj{Oh2C zmM|#qI*JWVg?j(M8=m*Q(RrddzaC9<&h4E2+5v{WuEE4(CB6daK>|=W0{qJ-F&#Q; z1emA=roMR`V*;2k1yD&V0s=?@>icH^S+U0~UaZMk9TuHtKm?P8F*~fx4ar|C#Rv~p zt$~QTsbtrvf{yK`plL>&ZW~>JF?99EX64L)NA_GvHd>C}l2)zw#sj;oES|Jlk z3IU)_1?siG8PTA>d7K#f&zLcS(SuZ+vd#4+rag@$%I2Uu!?-}JQ;m!k5lp60d~w}7 zY4C80KqS4Dabu7eIzSWX;nuDxi`rfXn4g_Cw2hs%DH7)A%79u^iddF-3MYp>QVLf@ zQDnfl_xtt%61bhDEnNaF^jKRll}gf5UYn#sF>UD}bU+QlN$`~g+a#C-XlU!iSuF&cMY33tWZ9GA9j@voul9*V_pz(zXxG4sXCmaDww|w^ElM3 z4bYV|t@vhN;uNVmWP(Xt87U-;7zqD{v;y?N5`7siX*qUWcq~~qX*u|w27(PDNtTak zDmoIx_-<)G%^*i0s6*f2!BF`Pz$|TI6;LH>-TFFV2navCcCVFK9X-|;JJy$*Lq}|6 zH}@HB7EU6$pQgRYC8E)ci1=}b7o2`!TQnI@1+Ye)H0md)^wJF%$=~N_8Fd_L5WNIa zLS*h=39I6H(`^Q{n>Q=>#mK25<^nv!o)c_Z5$OIlj6FP>Btk8|{FmGMXj=d<_p1>L zahythtk1*=RzaNmuHzW7Wq%LuW$VVhw(6KG*>NZG11>M^^)4iJV;&gy>xd=tp-|hSBmI+SxS_-0})!S7-uZ*z(|m zZcSKN)HWW{H5gKYU^3505>Vhw8|xvqRl*u|)+%PuN~Db5 z_mC?_)FP9bkKUsxiSV1DNPP4w1-wnlDc@%`TS;ItD6#tsN#AA{Q^HRK?CEx4Bs~u; zA}EK|X88`r4uou%Iqq)-KIYU6Q-jAoEa`55QlytP2&RF}Sbi+NP5f2I1eBt9F(e2y zY1+B_^0)hT0)6l_H2mRbX7Ak9fZDE=Jy-x2zBw$EA#rdy7&x@AQIZ^E<<l>Ihp&=l`IR-uMKpy@b;=Bn{0G9D!?fBUt%ZFzI{ICJecmN{pViXyM9~9AKA7l z83-oTE6B1y@fOXMZ~(qrm&3>G*T7mb9!RPmw7Lm@y9vl4rW_y+3_3y;dzk;tjcdobp&rLhEacKhg4*qDD6}(rJ!2huo@y z2i&UUX$FVZX$&2jG%YR$kwy-DlB>y*qf#+%^geV*M=>)d+%|L5MdR<(xY!c&V+<{M z1KVHfyS=sab8ZY6IB|YDZnV{G^;t#Jac2%a)3$J}cIIy+k6jwJuXsP@tel)sP95%7 z!Y9x#wyoG%UQN0W)*k~$>N8fc^4-gPrm^uIn+s)Ev^V>Cc05$i11)W>!`@DU!BV-E zKZ8z`(O*W0iixyzSwqtJ04UojWIU~&-CP>gVgaJ*vnlcjQZ|TZ0T#p?vHswLpX+~; z%ds8InTGA%7>#6Gm8-vwT^<4jNeL#7bIa2?{%|2L)vj~R~L=Ib$6LRM5* zn*fe4#cgN%y4ydUBL(z4t@aLd-r1P=T40&i7YxLUcS7tH$U;iQK!Z2(^Xp`b?RYzt z(fxPk->xth*iE%QQK@FbAxJ9+yMfuQK_*`k&cfra8YB8*vzd@BTu9-Y5hY%fWw;n` zGIUA8TwX~joUjuO&P2%qg81yLArpJHE+|=gc=5fxHJIg>Y9FUrvIW#+z6!F|+`4jf zWro}_V}m+IwD?YKr@Rq>Y-9}oYi zdBV1cv&AgYBRP-AO-bpg>sj}s&pUv30Izs%f$W0m>B||1N6vRx55H~!-Gb`r#iQz@ z^*dm<5MPmR9{vK~+{_uvJLnhFmuR2(4`v>qEI(8dhy?Jk|2@C3p17X6p79?9IiP6& zZEA$>~~Cb`a32f`43|vQv+Qm z2V-N$|0C4@A5+lA#@P19ey7sQmZru0;jp9zO)TJQQke-!YHiB-yzsj0t@h4r7Z;QC z^sVBsB7s6~1FI;~Z8I@tEM(+53`42gIlX{)$pC{SA;BnR7?E(&d&L>;lD1cLTZdzx zhiu0lj+f1JuFTe(Qz3Gv-^i02{#vdkJc36qHAz%)vc~dXue$wPQVK|DHo%05&Vzi! zCGnW}yF7h$!(gwxGAz)2SL?R46mcNTB|C^*5?WRow)A?a5;WqL{ERg}E(1*xouwuK z25kdy>x9M#qj(XR{e&Wm7{d~6G?TT4Af+!W%Mz6$wTpQ!6S}5&tM- zvk-g-dF;_216)QjC6dv3WH+4_+})%PX6W};HriPpTk)M9cha{VVAxu-&f(lbj2TfF|kX#FVaFf4Iyh3FMd|o)Mqkj`kLlS0759!wwI`-TaaHb;< zJPHV?u>UPk^^5l_uSGKsexX8=tqmRe8=T4?se^u~ACH_O2e@8O4n;2z+!2&^5=4$V z(8mI>!VgM8AY&&$gnI6831V~Bks;Eff`;0|8_AyrB`E;Gu=dVcLM;^Zit_9J4ka&U z9*|^0$xJ+CE~6%bC^r>`tdT@7D=(0B6x3;xfI!BS%t$w5Kj07tBnoZT?6N|A;@OwS zVSvsYrdq^WELk8xRFxYV?Y-FS+7P{+G12IbRRtE+{<+Q7XNNF(@@CP`9*f?cuD%+n z-?km84un>|TZq~Yi^?EL<&?pl!(+MTTW7n_vvF?q{Mit?W>!9{r&So5s>0ovUx22P zd$=@qUh_b&IkO+(tm59bK1eMB0PVJVGiCM4iawc*`qb>!qcRgKurDzmPJwU!OQnLbY1!`n{@4CytXn`>5FF!$Sy3hSYU&C>5vv; zvAa3{*i@-mVi6k~W3y^u(sw7Ko@h!zKsD0^M-&jX%M2S{l0hV+BaKXR7IPBbxLeks ztoR@kr>WJyxL{{O{9p6*cMK1D*2CXSQi@V0@q!91c=8YqS9f0Ho{Wwu32&?Hl+aPqXi7;a`l;3V~YJ> z@QiFyL$eRu8g`YtP<7yM`6hQo}3by>34tecO$%d^-L$$nG(H~RVel|!ZT&+`KBb@P}UkB@`X6iaxoh93Yd zkD30<;w9S-a_X+Y?y=OR~?+uY_PE*%~;98Lx-BOLPJ^1c0*%v zd2AXGyY3MN+)?>=5+U&p43F6txMpE7JB;Sb7r0*Ir+AH_xEPZfE}GBGyv$P2444G(8wn#m;!Q{*g>lvp{ha z8jW5FaGR$=T5e31`vY3-msHt|MnZD2V7NNI!i11{rw1g-HrdOtc`H(Q=b2pn1&r#7qh1XxuqKJZnS6EhAcQp(rZ6pf{O3iWJ$+_BIEk`Z zw6dlh+!TZ0i^ZOAc5cs~!B5F?F2}nV#IC-CkitG3|27Nsubc_N8O1*Z{pBFWr^?BI z(%GQB9hvB|EWjaw(kYnQJR3`e1V;b~-7zUS4cpGZ%Z%qJg2}jIzpg_566Tdcp}r`j zpXCw-6e|f0zYiC@4rcBTC8`Eq%7~Km$TWEyt#<@=aN0CGyNdmfo^^HSpC>KVqbV(@ zU6S(J!CPtk3At{agnhIh)~9Uqp05g)zrWM?FbjBtgG>R`er1Fnx0nY=s2}NiE<)`b zQnF@+#M6?QQxF2<9H2}Ty8(?}GZfh}d4E`w z5R?cZu)li$IzPJ_dKvVxqd_%RS!h|aw?sVh#Uej2hI5VlP1sY-{B9U5LW%tGkciyJ zp}b7i)gM0-U~tDp1Q$7c+!G;ps34@{2303}cc8*f>kB-WFx8_-tIerthA{Xc_yKAVXIYprsi1D>>&^+8tJs%u- zaNT`Y2SMr3JYRJNO)O^yl58&=-^i9#V#*&6&ulGrw)mPX^NJr{_6mDO>g$cS;$b6o zx?N|$zf`AlqkPD@fyI;)jm3NyLd&WJty^gzM zuX)@~2Cj%?otyUIHsf_&AC8;TBh6;k0{@vVH+Yw|#&l&=Wxm{#eZ;bW8>-%PetCPG z?$8W!>G(dcPQ6C4H+>D^d&ts!wCTTIj5B3^|4bRdz_TuWOsFj-_oYNGoa#=q<8)tNmT(BE+t9p9XF&v&*(b?QP zwTKQqm};rIwfVMNYtlboj@6F^dSTU5JE!m?$=Mm(r~js=4PYksNWBp9P=l< z>lsAKlWW#!V!h>w_7zNJ_Frlk3oLCu*lCmC(Llzx8 zw-o4Plb4s2C9Qfk+q`0z zuVoU>R}{*hi6W-PT^HqrPZp9?vEYy~7XN&os9oN*yVy)y#XVFuPxeV)%d9wDt?%Sv|?J1u`Fwj+Ax3ASZ``uH_r%Zj+5@zP;p^GkCzD36 zbT)rI?TRiP{OKEI8m;Jr=UbEi{6zKsI)V>*;d$OqPJTGS-F&&4c}b(|a{SDH9?$+| zmest^_vb_@&)J5)dE4B60-!fI`FK4}Ws!+`v@gEZcs?$&55^T+t?S{Eu?XpU9#6ua z&$7vU?*5$nRu92B(0#W1?XjJPmVy@fXOAJ66Y>$X#%YREnG;>^O23bbG=y)8UX#Jc5sSw&&xs$89%Dqj!Ts;s7L-XGZQ5^yl-aNQKjDA4ZT*+$ z|Nr#&O4epL{|&ixA9h)8UFM9(Dye6Lk%X^ZX&1kdx3x2KTpZ0?p38sbr*>|vbxL2m z&^307QxPVN%n+i<>;IJ)Li=lGeFiS@36ZSgTP_3&OI|>MLP;pLp3CXDrFLhFhv=t1JE{pI3{N@HvR+%;1oeK)s|F?)nXWGrS+#+qAvq3GbM3_W@Ry; z<1ap(Jwqva1?w?A0otC^WfCQUR0U|`BnPU&l(0q0v5NgRz4OI2qs#q|2e{tqJUsxt z@WI{g^DVgn3eF)9?;oqwyhS!b5ma-r%dm1WC9XJ1Fy+NFar2%Z0_HeD1th?FF0v8# zWLd%}Nip6`j|JOTNc zI;?-XX!~njbrG3V~XR<9>ZQ zUdMW4>?r8<{I0%h4h&RO9Q=@4ceShEi%s)QRCa}#Xu?D^09j=2%M8Y9xd=vDzMqcg zY+*wqEYh>^@%$QWFOe_cNomEM-;FZAt;=d;s5f?os1nWJcOBy)`fkuR_nor)sR0SrtXS&Jv4iB+o@+-ck<$@|a*_PL<;ixs0v6(Gqi}Ov%0uPs~siVca88wng zGCS56?*owL0>Am1=VP7!>jm0ve?69oOozk!_vh0uvY$^wmB-_@skzdd8eyL(vbx&Z z9{!emNnbtlKQf=4MB}r9fNQx;yHF2vxMH*dWJKro)9f~4&+)Vmy_N^BPV<$Z$|yfU+Laxzi4so9KE!W z3}=8vL4nMt^d)5|LW&B9R6}AW4P(Wc)s>(mjhI6ygoGSHh`v`et<_}z)Fg9%;Qi>j z;lANw;#z3z^aTcp7kFu@*`_tMLk8Fdw~3Zdkk(XMiLMHiV#K?%H~Q^^3ylb^l5qba zlch09@#sZ|Kop}5mmC#2rdXcq3qWV2!*dKS{x`p7HCjL{B|e8m#I4x~`FuFi6d)O7@pq#!$1R04s;~!@#Ib#b6 zM1A}V=>Ou^l!1d`|BGLXNVx<;50XolUX zk1GmyIN`*!ZOKk>6X=`6o&C_)lYRey(q?HhZ-(xH=YGbGLAPf2g7W@?%B~8i_O`yX z_neQt&icpOyXNsgn)g|RsI_gTwqjOCUY<#1F7m|k%ZJ2f!kb#w_Kh_fNwcCva>$7ctlz=_GptI`IPxquJi*_`B^M+IDHYo&{li#rA%$r{kM3l8f zyYtqg!D4@2mq%L{H(8_$B#U5hJx#y8DXSz9>pR8`K2$#)D;ooItzmHTuJ5dY^u9!> zDgnKjhwu_nZpGisLf9a+iF$5fS}1%q(x0*-y~B6u#-YaC=&f631CHhwVRK_-FhjN= z+q5T=H6yfThm>H%x)Lj5s*#^X<{US-=@&%|t!_y5=ad#y$^y1v9lt)-^^BH`1iG|+q`USgDic;G4hq}>ydEjFK>R1xlUh}i~ z7Dr{Nn}4cZd$!vz8;zXnZf4d)%6A1%hO_IJrB9a!MLn^5yiz5mj;||@U#H$;-fVe2 z@}FB(JtN6tw>Td5p94=3sQH|Ubb$JTQ_>MPru*x+ht8g25T?d zQ7qp*EjS&EouhIZu@6jlewcf{mXUMu-5_Cn%nWZzS){(F1KIk!=bGH`Nj4)k?2v5x zV)sYw$gT&r+|aLwJ?;4LhGzDe@dh|aSNn+C!lr&aP5XQQcY%914~Or>`7Lft002b) zp>eVM|2h{hHApY)rSuguk>|#J(-Az57C{K$!e!Ek40{njTqL)aO9%)MRF2}T7Q$#_ zk_IES%?$%6WSI>IU6yuv~m!BQ% zwR*r>U%uF)o9~_%ZQB-YXJ_9(yH&V&xE&5kr*NuvkY;&rVwybO9+xt-zfPN_}Owmz(|bm^NucWPO@l&r2e zG7t}EV6^ax_0)7^%`KfNF^J|BU>UQ|6cgdt(aNTg9b{0ciCRGj^e9srHIKB#ffk(fn0I}?p;)gsDQ1tC@S1y(c=f6HOB=3c@h zcV#(Hlh@)NcvweX-ZGu~cw^jfb+VkX?rFYIb6QH|fey|IyN48e66*Ii#@q=r`d%zr zZ68NB`@pz`$w#b~C8}Np-G1Z9`mYVGx?_st`rrBaFnynrjYhB5?$cCjixpnr2$Gr! z)h1R7>!~i%bOE5r5l2Fds1`YssrN)~I?N95Saw6C>MM)KS$Dt%BKatlup@TTUdv9Q zKjT4Mz>JuB4_+?b6<0BG-j1y}w{d-hYq52esBS6x$d0tT$bK+ zgQ$!V?%0|-Rc20J7t7W&HewV_9Hl83*{Gs6T8KttLE3HA!B>93ts+4+)V(zDSPqVA z{&re`JAFV~v2{^>icGdwcKMr!b`9<)ig><3XkW{2;v zf^}ifeSp@Sw}H!M!zS$7Pqh|kme4njcNUGHb{hv%?LvtbnDz;!eu|%l!n!0Lyw&)X z#-F;yknbU@{kV!yJ}s(S(b}zBB5_@392z{TsTg!)T4B% z1j)JuCYX{j9VfGZ`_5%jf47j(M@K-m)v|ZFe_Vp)T+L06?^}O8?CvbUIBHD!>yJjRAlqZ<5UY0d54>=TK79!KDqQ1h3YXOFAbkdg9*2rWa z3NZ@-LllFM8ZhywCSJQo>J{~o-l?u<_m~ENv9|kTISFk%IguiJ{;WZ=b`SOR(sIFt znD-#72|wq7cL{>zxe}GiL%ES(pFXAr46y^N01_KYR;t|1lCouR4I5+d{Y-U;cM0Vh zyjieE3!B5?QLzMOT{PAS30vbTd`TAa>{T6>zqi}0Q_~<~bM&it>23{6;w)f07`Fim z#l34}hJ^42or)5sfQ+ZT`44qJ&PDk~RgxG^A}R!1@(#fCAQYD)+AYx^&>GNljuA9r1iAu>s*K2|A@C=5JXx9r zigBLrprOfxRIK$O3Wcqm8|g4>*`A$J5)=kemDiMwSaQ$`X8duD6Ol16&MC`ft!#A0MQ@T@x>KW-x8Bnuqy-Vc+6I3X^hx$3_PzX*DhiJ z=>~QF_hH#zy0NC zEXJb!$G)bs0^=AR%K$cpFE|3+ga?knUp9D7`IYGTRw7-C!8j^wo4lz61l~O_LcTe~ zgFce`#v*S#Wfp;26(jn}{OY_;O zgyj0c65}5@io)@ch24~+NUk7GH& z6BzjNRCw4+^el`$&+pZX*yDI-%XW^!Jpq4uR&n4HawGmU8N9WRvGt`=0B8vJ4~tA* zvAQ8{UA3U6UxPgkTMRWCYiN7c9&6%Q1S)MZ>KEadjOSocofn!uf?fzF^GZtfB*2v9 z-demgmrI6kEU~eZcPZlGf>j(v1EAQb&U{Wf}2sSf;K|c;d!Lmis9|NsLexmt^;ZMrJNplPm~yJufgrD!8qzB{c*`$ zW2&`+7M;I6Xe7k^{)+wyIQd2}>E1>%0#`UV9WEcqcHBTHDO=pAE>fY+<6pRO*kG_U z3NWfWfggY;O=aB~wHqzR79_{k#6d}uHH(3c>0K%v4DP|%ouQ7R7JH8=eOY{7`iL~F zf(2ly$7RU7__qwz)d`-r3J*J=HA+Cuiuu_-{CvO0e8+{@o3Z{n5FVnh|i^1o7a`p8zT_DZ6FK{hd3unOW#cDeqjw4 zfpj(CuAWM^3ktxS0M+*P;FX~H(_-ejjMFV_;#Or1_XlIMkK^=38!=M>`^{ITT(02l z-&0=zthm;Isaw_Hv-52m!`h7&rWK=aDpEiDFXdIOZLhq6+v}W@E#aTfuJ>!GuClP) zGd}g9EX3l$0k%!sdECA;#cNROG{m6piT*b^KkoLn{+YoBck5{VX1H!;gVzPFJ2)5j zczhAj z=ZN&@3vcOxKwa5bLz4aNTE}cf)G?046~x7jaVN3_7$hf9rxh^e?!pj0iSvtL4+Z14 zMFJTs@wg`OOHu=X0s5TIm>?4{3&7&kw5#AB%AB+vzs~6loMw-1 z)ziZy!(h)W$g{a7`6+!S&*fqMd4=xIIq!o7+bT|J9DrDZqw*V4_)F_wgF+GZTA;3Q z1WkEDnS^su);iuIU^7~0?oCocztZ!i7RiB*T2muSiHbTzl$K~6<_ap9gp@-H`ReN7 zN!||8ev)clK!#1eSa%YuT$kugHM=#91zyh&c0gfye`@{4MUW@nj|KZE{SvCm$|@h`I)JQP{@PM_eb zt^JGi&MVZRsb`NsJe=bx?WBGVVV^h&XN%hLBg(HgidvFh*@WlZm*yUja3V0D$K#K1 zAbKq{paI}_*C~a8K z|AsS4A2k?B(9cukU7X;ntc`h{y+;845G))Bg8xb)?!?k;64znnJ!wR2EG*(>_41U} z%M)g*wB&{U`S^++n=Id00F9Fl~4nB~g4w}a;nkcswVD>6)k=k8>?N=NL> zCnf9+Os}@ki7gkN=SisfXzI+sbD@Dw!dV?Yg!;@LGtD;ySIO4!{k#&EzhC?7OD{^A zBmP&r$h$@g165kK^WF=uN_bS2qjq-e4P8NbpCx4#T}##zlmPs`da!qGq%W}BJM`fJ zb8?D){Y%>7$0WpOVz${VTH@4j^M|L{#{;m}-gH(UF2VkMih27h3hGk|p4V^JsI5P^ z?ck`db8hXG>dH#@OEddpRX*=y^_VK*wOjF#TuTsZ@)pCkPx(GSLW^%rcaUA zE!j_+6+hn%vl+Snc(dFU{O$1~-f{w}<=rj+SsVBZn*%>;@B=r57hZ^Kz|QN+H8Jwe z_mtw7PGo=-{5?qSofnv#-8f%bVa~xmbzEQocT@J_q;eSnE~xhsc~cn7m4RBg9Y!~n z$My6wqAzW4xAYA7GXU>;3f46K^TCnj39O_dzZd=q|<2eZAw}1+_%L^Pwc@6%2 z8D{CtE}J6ON#ogeE1SE!@ z>WUn%E6jiH%`o~`MOBNDm$q*JFF%~^j~#&~rRur8FIT@G8S{=2_-n|*l}wASZfXz0 zXA{V8L;!TDj{dDK8M%bxS>n6+AAn4^!h-LHGld?2EuE@*{`&%s4t`Q~(m`W0%B$J< z-F_Y5$KP&9i}LzD0aSno*SQ}PD*^OdR*FGIJb6Z%Ed569JEhF_C6rk^T%_TQF4-}ORq6P?{<9DTFPF$8#OR6Kc$ zO&M~N5|sr)={jW|#5Lz~Z{FAzQCz^?|ofyx+7dpjZNKaT|bA?|rf zvfcx}9+UA=C@(~2s^J-_!e)0+qYP({9C?12M|J)`s2goZM2}Rd)O$MPAFF~tR3hC} z>MB|l_0Ti7&=Jjxwr5Uj@JW>5>hHxS^Ofc$F!jIKY%2BgLQj3{=U-J&pYYXv{wM(N z@&Y%?YkmfjV8&3-54*{`&~_qF);(i8!1}a-&wiUS z+M^LWTt*BKo~*7Qf)7z5Rv>TT_hUk_^f7K@+Q0Ds!|=L>WQW&Jg2hfG&}<^?2#dc; zJVwNuObn(e3r5(9Bl5TgA}7f*W~Yy52Lx(eBQms`%GXCoaZ?0A#sj6wsdPcfL8Gx$ zEoY`UU`TO2oAWihb(>1S{4LCQH|_iO*?rHs^{xZeyv$0(rnmZbX62<~Y#ku9Qd3ZW zaZILW8zHlT?CgYwiLup`j&AGhVT)65@ZgPHwU}Q%_2ORo`RWoqZ9cZ1U* zrtX&3u?(XrJ-^JmHwOe*TDT0kf)sl2k_+yY%)qmPTRD(!;Nz+YJ91!x1jAjnVR z11Z65LaVF(8ZgAfae^SB2eyEs>7}Bs2YBgNZ@NY9a&b}R&j)FKa;8(p1U3v935$|N zyt7ZCQk^Q4#ab~(whn~~`Sv25snip>m^I9N>_X*X&-|%dH?I=PQmC!I10=1$=gBq68Y_ zT?!|XKJ|kKaSB0~7l@@QfNU%uv$9IuFWB@fZsF+S!Y;rRcJAo>f)RpIbw#K11IynE z&>0%u9k=@1#3sEK5B!p={=~~@%0rB|^8-xa5)g|HhXWA&s*z1dT|Te{IFcg~9dTit z`pq=sGqpNqVcC|!*1rg}bHfOPK}%g8upP0V5op(<-gII^LzfqLMOGj8G{)r)0B?~R z@Eqjm-d)lV3xI63>!1mw7Cc^BY1kiMd9nm{7SVI6`CT-+;T@m- z$`QR#&f`CdW%iyC;!PytlW*WGieMh)SyPC+DSte>vL3}zhgdkF*j(0qjE+3Qoh#ri z^njF zJN$5#zuU3FPy4I_VVbbQDIZpE#HTUj?P1R{_&v-L=S@Er)f-(?E^tFGjy$U6lodjh zT|?2#ZdPz-pq-Lp8U4vJdOY=Ha$+jM(bk~RfluE^|1r^Y8x5^FHeg;B zVxB)|Ji@KWm%|bBH#;F8+%3yDI}x84)8}eGJHa3STeffR=trhHBj@3<{?(#id+(x& zCb)ZV@1}_+wENE{!#yj6*&*+YpDM)JfzI?FYQ)w0Sh8NAdz$L52>u9nvX#*zy;zRh zBwwIj7zgl`HM`StXF)lJLhJNz^YZ;s(r`RI=d?kk9j4D2_I?AN113B#m||{$;n9plVdYjzr?oh=wW>QqSqfjlUz3|3l2}Q z>PGj$X4Qg?($bAm4HG%#^5Pfr>T1`G`Ul-l`aUmt#e?PNCLTX{om)qIj~T!3lFQla zcs89sPPRKI?iR9c4<3?KHst|bC_D7tZQ-BdTbu{Eh;C8s^24}9H?R)s;h%zAkXFT? zUIN)Z4m%^5=%-rQCJw$M8K|c!*|H9JBbX?sa@nj7y~7!m%olWzxRf)=9O8yGBb-QP z;@Rj9V#B^@UK-g^Qs+Nc;ZB4v^=qew@KHY0FBdS;k4P6de)z^*2e*YY_icjS;d&xD zho=Iiguj&W72$nwN})ev0#b_nKuSdau7laanSVJ;#zYTye6(VIJ60#RM0LL!OCC1R z3a8H#Vsg3gpZhEc8||!Lq_S zN<#u;%OQ1htEg+h*LHr7cws4{httwcznW%8VgSDw_tsDrBw5ES+74kc&jvQ1~ z+UmLbrtmdXmX%hoDvg$F1fN*~Rt11;6-+Gw_#8mJ?K zo$z*9^*j0IS$p1JSIyFG!Mhgp8jdc7nuTK}u^(yDrt5ggycI0LCf5Lzp%p`@q{FoMg@eQtMFch2XT z_%g@*MAIYjE3sQ(xA=NS`hoZz-z#4?*S8>lZuaE#0sEc$lk}6dQ{;yE^_yEkllpA( zou2c)MpD`^KogYG7(&w@SRMV>^ih)sHUNVKr9Fg&%e(yw{<>V^}Y{0ZN4 zVQYHk@bkNO*Zc8$3-%WK+z8|LeQjbE0cCPG6StCTOM^Rvr2rj1eqdbqW(O!QIi6f z9klbwol1|nL+XalNw9?_b5^xds8xq*t;Y02)nX>~A%h1T19gC=jOxU^(lwE`>sqLG zyhOSL$SikS_1&4zB>J>5NvI}W?)cHPb;Gi4vZH}mH5Ti@Ur>*EOC%MqEpjHzTZ*|S|T5~HMwVIs~wz5rsO1nmPt)?F4NN>ccD zJPC2VB~iN~R1!ni_b?&EKL?~me(w~Ug(`p7>3_#Hvx zI8cJYZatE|h{o2(kF=C0RPu%x-oG9!FiXs2Kp-h46+sj^- zRJug-c|)RX?rjwfeG6kH>p;cZ4#i8MF9jqc~(YL`BqkqlWeY=!A&BY zA{i3YLe56>z!q-DVUc^OA;?k&;bUOJFXBV>4Byv?Aa~KTwdgShbw!a4k zseQ8EhhO$Wf%WCXWe3dn~MzMx9#*oyZJsGiF>Yag^46ITui27jPP_ zhkgpUjumX#p;qm1Nh?`|jI}xf%vLxk`GEDfPespg{sqr+`jVHrXz=utD(gXVafQ#kb19j&`7qwx0!=3jUPDyRvjCd zxlw@sG*fTmNolHV=-u*|-OxI#ARHI0mX4|U6RsVrx_#cVzuRc|05++@NIWPbuL2w0 z+LFzPs7xnd?ere|O2hNiNP_mAo_k=<;RGQkc6uN?@9-1$erM|?GrH7gw4jE+xdiDB z^nhWsd=L=S0D!jglmZ+wbw)5Grie&Q)xg1k2&nvcqMq2CqR7r6#G&YN)e_I0o;E{BjrJbd?lNcAQ>{bv@yUk#jn6TcV&E$tX!>=B;IBkx=RZ zI6xxGg8FD^NzZADYj`l+K^9SZ@PDd<7cE5`z>q|-YDI{$)qz$C5kcStFBq+TA!==I zm{s(w(Ny6G+d?)Ha-^6984$>5T5PnsrRW_9bl4)t`dcAeRXw*K1nK;#(=PsWeC!=( zq9POhJ&X4V^~buO&r(NQ!i65>Qhy>w!v{;MA~0}amT%DqMTmLb4Vt;~$tD>I4bcir#Lxe<#^1oaE z(P1^3UL0o?j!|MR!Tw}6VBCuxtp8#>5JYQI4{oR7&OtCl#S(YzgTYg;iOcW99xOr| zQH6-3>d_d0#q#AskPLwS6BRjd<`A_DfV}Eofeh%a6uH({{g%WMh&Xh%{NVdBWFu}6 zxYAY7EP$BbEM!pNo-d&gzu7l@U1ozRm9+W7`n2e}I48Mz!byPxyleYDb1J0ZyUS_$`$l7RVl3L2DMONMEp`D?XoDw_E0=nC@}(IjNY*I%rznvcRrz?LNW2AC^e(_>ur=Z= z5wrx7ORE5vwmImpF-Ai=ReDN9vVo~sRT8pk315AEHkIj?AMMG9Ns+DiCy%S6D6!sDx{Ee&-cV}IP2gcYPBT^*g3fLmpUkHg6+x>(EVCD1*;qk` zU*F2mnc`ZE%{e2M7rop7rT%NK_tp9CwH8ZNt3yOzn_JGw7ky+G*NTlGezlLg{Ayh; zrI%;qC)$g1uOFr3`Ga)W=I_T`?jSq<`%{J2A$*}YT<`PgvYku%LPMI5+t0$MxHIGD zVyw++-wyx%KKyjT>yPu*eI4KL&kNqJ8~*RCt{yet^JkP^q_?N%{^q`JUC;AFT2>bv z*^fQRhsfLCiM1~JzPm>!a;;v+&si?Dug53nj~17)DSDMu7rx&fJ?ByWwU0@kS7vZu zl>%^Iw_0H;=s1YQ!J@&o5Ie{?NO{Ov zh*`+f5PayS!OKCDeVcvy!LdR9U_Z!TG(H#xK$Jb8nt)UQI2tGkK*oBKIaCci4NMKx zJJ3$x9|3}VuvRFupINU5z5iASd6VyH#s3IZBxwJ;LU1y%aW!%Lj~VfwLQr1C>|0%x zoEhM>KfELn0P4^W8x9^$TLUB~Io^;nlz;%inXE$Ko{_b`gWd!j{G(~0-DOFwtk(;{oFTOyZ3rq-;Q$zrq1`I?DwdoOQx+4ai3`;FIk z`#HmVx)#*+Vtv%!Il3pHPol7PdCKvl8hfbKfQCP7Re`KkON2dj%zA&~o*m<~QlUYl zS#g}$@YI|>PJ;YC=uXJYmmo3b=#-+Ip+lt>AHB(;ag3b7(n3QcT@1a!(hg{1Nn$>h zB%~*wXVR%pdt}O5FuSPEh$?-;`qMfYv1Uxeu3K>In32t(J4Z7Cv`b9_t+gDi#!+Em zL0ENsSw5!2mC6#2S~M|AftodOG^!lo97;q#9H*4aSXh7{Z5lU<(Ts(BQ)pa~AcuI_ zXqajW$NDZrmrz0&DOeSmIWqltexIF6zsG`0j$GDqA=<2!Yu8l5l++{%%Ohu!Dr*&T zpLk#S!bG1t^J2W^B64qSt-hh&mUak!e_&*8NWom;u(fd5ADMmcfpR7-@Z4PCaSQ0% zdzm<#SCuMG7<;lQs%z&Ua{T4Z_M>(pDekjQ_e5ix4Sk~txJ#BR| z4oDp4yDhTEgxKy(f=2iz1Hp&8%mA|r1H(7a4~Q|@Uyk%Ehd6y!qfY|bZ_fv?R7d)E#Mu!2EtA$)R8w_E85sC0A8@|_+D=6X$Y}BW}XN>X7tdY*P>fF3#*r$9{ z*M_V(Hy@c(I8EGeX(V`{7!#|eb;S=9(4&=%IR{p?HeGw90Qn_GW>c)B9b$+I!bO=- zT%?NjIi-K2fd%@=h+AVCSyf@ko)ChUKawG3Ob&6TgZjD5cn8yR&|e;b$%-i^tG}dT zxdb96E7uXSB*o_6(io_8Nm9aL^ z6xDlN-hngE6>6Rns|64M{G=5bV{6i&6_e{xV79aHKi$u+ISaD`wn&cQf`;`1q)2Y# zOwApBTC6RVy)%Yw<2vLddj7=STn#TX#Vf%1Zv2|~a!gZX= z9bG(aUcw(dn*y)El!FT(ogNrUL`)3T+V#o@95?HKV4lNxs^$ z02~u10MuE*mYmwO7#o%uB{iv;8#sVjLuzJKWh+;Pb!rN{vcJ))J^KnaF7=epLXlm= ziVg}T;%L;x=Snf#7|+UCSVIb82eQJr&y2*XI4Uy4%NzpvfOEZTU;;yyE$%b*bMrPb zJ?=D(N+z8RFoBKe$-)Mn{uLm&cp)y$sFNE2Cfg_En|~Wa3;uaDZWLA&hQ$XHEE8}& zh4ye`RSYHJff20bl1Bm#ep+y!&e=GMiwN3nK~{%+nTB=H$K#9bcbbgHrK#DELIz<4 z8L*5g8d2ob2-9;3(FQ!11YOU{`=qkXR-GWhr~cWlt~iMYk+^kANLl@ZBE+5P&VxVY zaA5`3$RN6=Jc`i@!)#hKzET7ZEaq8PNwWe-TulfTOEF(m94LiNigf#kx9zB*RBN zPUc_0N*m<*o_`*|E)wAYDsyNh20bgLL{pPcC1J#k3PN=a2$IKOf@*V^d+g_<1_r4G z%SqUApu}SMlAMsM6{@K0Nu!cEv%uKr#M^Xd6&K?XVAALxN^*MTkbs71GgZV}q)gwL zC*E*hlbB>zNK%O$T~Sm;yC^td?VK083{vWfb4R1n$*Q-r=z6q(GK~<&q*zOd6YEv% z&1hSJIN-(jMFF^C0WhHmgaUDN z3Lx=tP427&$GR#4#AX3hg9T>+=)eF}e=z^T3d~gu@8gkQc&nj$TNa0lvNi-CMwyGj zvS>zyl~^`%v#LB?(;vJhlgO-bTsl-NyBYPj{QQnzP5CM`zQo>{Vd^{JID@;OSy zgS-V`QXY-&nVxeDIBY6wPUe9V2|P7`hJ#lERMPA_K-w`sQ}i_lqf5JcMflo8c&kQu zyFlJj&1K&%1@l{k}e4h&(L}&C3>rU9_vl9nf+!IavCoX|Ad*-eyNcJE>lX+Q`cfG(pSg<$tJVSQ92lo>t^1LcL8$%E^o=Y4Kr4 zStT8YbX2F(^VJ_4o=ZN?rerm)I}_z*ER8;f;3Sd8I%xBHJ!;YY3r)#LUvbPm7a2%e zBs1i!GxIiNOUQnbu~cqYHy%imk#TRG5+_elJz;L@Xm^dqehzq0Yr%%RgZK<~Zb`6@Al9d~+lx!7fWdC9MNN2lX+Z~r&% z21|0=Z}v0}7jl|;wH_p%LE5VNc zexmicHjn3F7I;^Z|K%p7&Xb?t>eJ@*&I-Tx>2GAHPth&@b?@B!j?UdHJ@0$eBl$o6 z>*uLU)vxQz*02?}+)?f{`wIX468+^+-b=6J$JEx&>7(=gdV++Nzb9nd8>hjH%T8>U z1N_YhAWyX0fv!8s?EoTA=<9)xJ3pU4{DJTr17F~n1IpMP$jTkd%)uc?nEZjVJDeZv zZp`f7?Sa=l=NIo6fG@&7{SuBphJGi1kNhV2h2o3GAC@;pzlVN*`3C#N<_rD{)feU$ z<`=U&hJPr3hkx(#h3*afJEXf`>%6%&wUy{q)3x3+vwdRg=C!SR18ckc+fjt`O8?&? z2b>&+x(N{gfa6~{1J(ax0sD{0(X%&jbozfDY;I7C+WJobXhs?0 z9~w++2m_n-KhYi-*gzzJnyIUe0;wpx?ne?ANK!cMByef=>(sEJ(sUN3*YQ@F9c&h1 z#5p=3^qD+lCx)YpWNtH*Vvk|eQ7c@mr!Z)?b zsY;XXr}OvY;Kv*r+y};wi$Y|a2{K}jVoI4ozy4ywAKKBRIBIWJI)Xh96Rewib0ke* zGuLZSU=XhdQs+owH#N?SN9&MD9mY>!5|Na~Ea;LBj~H28{Y7`2a5fz6j|fEkJEUVC zTOyAV3OG}oXw>0Ol{%|_6kX|VN)nZn4m-Lxufb(2l5{S3*nT?`lt0=L##AwoOr0Ww zopLWz$&q++X%=e?7Dd@J zI1I%7t@%=7JaW}&plHR-7;6T*1@{q@B*#`RQwl+%wL?fS)2mO(V=`h(oHlhdE?_;k z@W+CF73>zmHsd-5wUC7#%Gt&CZU&gL$$MY{GPPh`@Us23T^uR-R+0<31tvc?8L6cE z0$z^HkuzS2N!W-*20c1BAuCnPjoYfK+e?dsh4VsFm9!RZx;=5u~-=Le+{#Z|?()EIIAK4NqM?F%a zD^-4nP^R8WaJU+IyVo!$6~BQgwf8CNPi0b_LT_bG-aqRePR*UJ;v2SHuh={9MvBE7 z``>%0T{qO9)TCYccg^dr#k&Y&IhD6sYMu($8;la}(U!}_>$?nfYHxgfB4Q#Y`LB}} zs9iH&o{Yom^Z8)cd@X?$B0Acm)gvxhh%9!U$o8v5jiK1F)gT*IEsd2gz#8517xlI* z_O28(hhF+$-r6hByV_0@!ZDw!vAFqrVkJEx)9jnl~9WSM3g2jH)d5-3 zjS&Gr{WIIa^m8Q9fHi>Pu(L+U2CB?!gogDdJN(gv+EFs4FD>Y5$~sV#Mi}IUTHh~^ zH&YD^BoinW2)pWu3Z_&1PtdnA*TUymLq=RwTG0Y^v``eZNn_F;r|W>5d3E4@mWE)- zG=Zir^evqZz|gd08d3V0(mNY8w`km1EiKn9Ds^qhAf2hxhP^lT@5|+BrozEKxNhv+aU#*Czt@J0h`He0nM2w90988 zxs~W!r#g>P(vvhCJjC*ziicub z>2^zHS$W7R$TT@+K~%$Uvu`M9=!xr+at)d+qJRjigH%cyvZ-29YR)SXO6`EW_o&(j;YOa17 zY~;4aC$mpFTlX#RjY_JKZMC30WAc+;XhSk@!BK@^4rTvH@&kLxm} z$YU>i@=$qdq!Nfb7pRzpnG>xGv8hOkq>^3fZ-f7;4jVuV?G+}p|J71L**Hsh$tuR| zHNT@%qlbg&Br!p49a*fLvW9nsVTt$#g6kj{1r0%-(Ms!Q)KQV&qzLm3_YWT34v-kd zjg%-rbPHGRm}|17)29`!UrKWj|0o_0=N`1s38ovM?K1tBm~|THWpa8@M&M1{;yOo? zrBD0U8`wnMGae>vq#%%k#ys0T`j1eNPOzM3xq;8~0mFx+z}!dv(T)XCI*fLY;hBB= z9~p?;7imKwH6Gjr5b>T@=L_FSF#(XCnbZ}MaFatdUZvJ~)y9NTx{&XsM#QA%!A3fb)LcU~Qki|pQ4$*hYhc1Ek5qXR z>!XPwvIzfqSg{*+QI-b~mo>OSR|Kd(qO`oa+~&|cV%mF*8$eN&?#bk$U7&bLc89P9 z%BW9Jo;ax!;tAc(%Z}FIO7>b~v4RZO-ea;0kR{v&Prpyqb{NsEZ=xNok z5Bfg`*0*Rk4FA+hcGfqcbIZ@aS}%lPJ#V5vjnNSyeq21Y%WeX1SV#xxEshlcSZtb5 zpEaVi(}4O?oEbv-&XR1_JJGx58iYBDmaB-;@EXu>$CWUiO4HmQ4lEF=bQ zw%RDnUnw-iRJbpsHo-g2s8Q)X9A(2^f#112jacULm?YW~fcx|Ot>&1mb|3xY2_Svg z^s&EzC!6PQb=_Z3Kh;}3fNc=Cl+R<3zJ-{2Z{Mu0VpZarnPOUP{-GKG*{GAHeXty$ zK1PzPy0k6$NvOR@?0 z1l%4@`Op?h?x!E*;7>nup?H>t_>DCK5U@2PWY*Q$gOdTOOw_dflKiK2?HqVPDC(%K z=(_CQb?(Z2*IuGW7<|wpjyU^mkSPW(9!--3o!MAsp_HnD&C#$8wt8eL@DM})$WS_2 z4?`KHb=d)9bKO9vk(ebMLRN*!Z!~F&O&_4$FzjQKjS1w46x(B63`wBZh`4TToFQJF zl4uXwLyxd6%vbOhYvN#XcBC1t2q=i|5hDdd)%s7&zR@L9Xx?ASKZkqME_;t_-T}a6 zUbhBcB^ZEgW$wILbtC5b-j+jL;C%_};_tF>8Q3_EYz*0x>t}nrmwR@ucV0M;d~9(B zFmoPb4p{hf(fflMvn%lRoZnYN_RL#|T zS?fXi`R^ZIX$`{Hf0q3pzTPoLl&IUe|iVU&}m4#Y6s`&Jty6ALGw)QYxa9!c!xL4^aS1* zzmkF4?RKDlqYp!abtkO301gOv8N50NqtP0(-&zNs(00OlVhuE)=L6m7yJ8w71Fc|q zqZ>2>#niT^LVR-vBT$Ba!4Bnowb{vbp20-(~(CzraF?=dbS5F~k z>%O|sqO#u-1osTCHEHz21ncyv9`=G^aQoG@2HMD=n*Ig}*->(O-|a5kcvM%+pTXeu zxHTasJTbVmd zd5WrA`96(Wo_V-=LcZ>K9h!W}=XtH^Pl?+0`KL`S$4hIBB-z12oyc zE!wA;KrrFVqH`Rc!uV(6naP!xlW_?&y=i+KzyOwca?NRBvSa%UY2wZ9Fu%r<+10;> zm&w()2A0`$Q|V$7#c{E&HZlF~v|QOB&17BAob_~C$(J-`h6iWw47cT17u>+3_+uWd zkX4b2U2Z}=ph2fx%O;(wG0gh-CO2YR?f@}x<{+xay3~`J;pt4J?@;bT(BOBTGjmy3 zZ;{rcIE+1<_aXknQu1LcUs)ETj*<*eOGG0^fV>zyn z8xQ!oi%&YIL-nwxx``f%Ds33$X{KjPos4VP^N>XM{6O_(G}Rw3(ngA ziQX10SU(%f0IJ_6E8v)$Dhb03jVVy4Up^Zv4$Fw%wpgb+9XibL_it?>K~6-q~Ic#WJ&eC4CP0@%}J^^^D46tKNCdkp&<7CU>mp zzOJ?pc2e)n?@M^pbCvC+_0;a(U8-%n-n8#j)?qBwaNCe1bFF&IQgi58vCv^$UHvr% zmIufEx!rf36LW>`cD-4n&0d&;IDPeTn3L=+Z!ikiqtx;P_KgRz61-h)*7H6&e0gGn z-u3f&Hb9g8b&zAJrS-BN@#C>u_9%g;Ta+>3{{8{g%8@nAP~$APAs_T?uzBRa|*AIhcSSl0^6Od-w4*Gc-{>%&~)ApQ@w234TGFq)=uDR zB#zbh5-vL9vKyeZ1E%vUhPI0Az zU1iw<4;<7PC)^?5)-1=TX4Y|fdP;#2C0JQ%-<;y|MOz?g&qm1q3HU#kejb-AVllu0 z00v?H?+HwfdX^Ud?QW;|SR$?9^xk+ze@%}CM9hRih>ap}@Ql*v>^J&>jzaaNG7<&q zT%lVaadf9bO|Nm~_*HHtf-KL;DGPQ;spQ35<%(skgM^bXq6j&qV!ZKZ@OI|F{1wgIcOO1yw1x)af_KWnT zGyqYsb-e&l?vErAY$Y2=i`USVgn$4X7%zra4kPC35Tq1EM96Z(1LPhgPX`u@?~UHp z!ve_w=*xti!*04dIBp%NfU+!>ga<#7q&KAIWsS=OMw@vDuPR9s&xj^*joQxJ^ z)sfHDo~FH9(?;a5ndZk2(~6x5?b^rqd2Pd+?(%xldWM9djB{`S>z0Jp)E_vVZ;+lag+r`YWDtL^J)t3D(AOe`}E)+kZv^Py9Q$Fw&-^3TV4G}|ymx5>Uidc4y{-J%qBcQglJQ5yJTXH!( zB}4`utOZu3!L$uOPIQ$ZzH~6{rj=L?e|au$NHj4twwav=59RL`p-J}*YUmRtQ`|1< z@ZJ@&Em~MKSf~hcRas<*7<}VB0pGBbCQZo2=itErQ#NF$zYtSZ>#`evY^6NDNiaj) z3N;`_t;dSh3#_x21yF5-fWOvEIEV7vbyxYcbCRUu-mNt0L&-&DA6d%W^ewx@+NZVboBrqDv0G5YlQ#c!3n+u z&>dyN@UZpfAYWASwjd|U@~UON`0Afb?#6Pg7UW4PTk#bRyNa++Yl4CNW$qL5&0(=@ zbBin$fE4DBE$e)v+HTNg7smrxJ+D%*iDj|{#w?O@z!r7e3qU8qR3o`n!3io*lRS-K zy^7OXpUnn9p53wmICsI#f&AZU_{TJQ3I@C55@jdRmNk=dk(AdZEs+4ponxR@5ok{v z3J1EOawUeuRMs zk(a2s`3QV%kl`6a%2c%>ZdWD3&DHg4oO;F%Q{E~iik#s>b*9~eZ;AM^$Z_+2sO?52 zzAW6x?!qL#%&kLmioUV0J7n0%!Bhw%9j^B!bVO@u+AC2$@L_ zS6=P8DXBYMVy$2MY_-$wLUy-(53kK|Hn`XxT*0m5X*}fLd&pQZzF&~C)MS)9^f+C- zy=&AhfE`)*72Q3|;7SBlf0^-p9;SSJdv@JB{NQ%TKXtk}ZbbLMP5Y!=zFqj4^k7b0 zj(U5~2=cm+Vqva$({8%L>UbaAk3~f5ES3p}EG<%obnMFS69&6qz6 zBBkcQx-L%8;JOjLRIQ+{``6ehC;$bl6Rk?GePyj-QsQYhke~;Lwv;T1+x}Y~@aKc+aTTfDYv?O!k4f@b0E5jtv3LAN} zHKoi}PzaOVTLx)ah2PYN8*~JrZdq8UO^{X2AsfVK&0#GEec1?<4_)%Wt1G@#?pxx3 z>RKO3d~|elc2t{8k~(>WFv4SS%s~k`^?}0C&Cq8aPN49NZ3q$GvxvgxbUQW?Sk{Sg zc*Hwe3dxc(3CbI9UfR4mHVLlq`IOq)$hV@hy6bWI>v>QG6_fOHG6B^LJ9>7HRp@$vCT=+)y?;FSW5TnxJQPDKTXeL&elld z0#DEV+O0^4gwG0-^hw%U&b+^0Qx91aeojctNKMn# ziq6#XtIpf6V=}j4;d6UdlB%^crp{xmvC9L4u5FB(Gu^-Ta^Ll--W@~w3F?i+GiY=0 zatp~bRPu)5o$M2za{zZI@>=kj@>+9i^7im)^zHNw^DXsF`g!ol`a|wb`UBpRwbL*1 zQ}bn<`t!eZ#TSFxA;m8adG!~aivNGHl>R@0zoLdI5+8EbmYBjyAUjDqAqq@WuJTzi z)jrZ@VN9tMld=WMoFU$VW5yKG*486|d?A%Nl|F(Gp*#wT+${(pzgJ$acW5}=tiN|C zf6+W1-0rf$dGaFFSvUS@;R10+cF}Bl5djDOh%A|QYR_{Q;g&1Y4J}F! zUW2eMEMHmq=H=DOm{%!<5@Wdm6H z!nF6``n%ci8JS{9CNb!US`FX=G5`cRzorZ&%>dr+qEAo#pPw+EyPf>n!7ao$Fx0mem092HuoA)D6?ly`m0RJq43D4vVMz z3bW(s{Av4qe1t%cGd78d&elcs=k|%Kj@*l_p{tL!oWiTr#P|YAO$Q)eFwG9zk{(a( zTeHb_OE=%y-n{cyJzdM~d{ReHUmX+N^Cd_W3v|Vqz#|Kv6!s_1rr}RV>(HjSHOk2e z;17erF3bPa?=@RlJ!*dd0Dyky8rlEvJhQiS(X%(wF|e_+vaxoc*0Z(slJ7GgpoQ*w z`4>4uvZhqN{#}b}+%TTPUjF$I zn6<^guQg}7^Q4oy-a{P?P@q%8jik>A^OY`;`TRqtO${EU3W!ill=O)|S%7jweVLwI zF}~3gFVt<%gZ>j%4O%~XpkiM}o`+_WH>WL4tJ}S6fZLY&vffAwbFU!`eGj70QDO5C zYbEaGNj+f8tx zXk_m|W2A3pP4j!$SefZr>X;ho+5XpGR+F-gDfS3TPS;w;MqJalsYy|Tp_sPYO!C#l zn{xL*c}*YmEj4*bs+0YQ1O5f^l8&a%WwRUi4zv(v(30wnPruyd)>_6e$%wq!#8&}8 za)=>m^5{IDd0wD5WPy1^aB}L!#_N>lsqNs=94R#1hvTV?7w-oT8)uj6ID-W6r$9 zQ_f#RL~fNYI!!^@PUO^c$r`Jw|<|Mn_HMK9DWx zCh!!0!~+j4Y*EA8XFx^yCW$d;Q=5UrKx6bs)cg<@p0N;5=os|Y!zn1dyN_ssOQ@1*>o~fj-TAza32^CNTRXK*W=as*otu&3LSzZEYA@GwQ|03vipp^ z3k;GYgpiWLNvb4WR-r50u(H(KR!uVhEuRjB{Y#4AjA<(alc=}z!*o<0QDsPVblZ=L zK)I&VUI1fd~mmwW?r<5mZD~;ju4%Zr-(#jHP(dvBY&oz7f`|;$*0j~g|e?ri9fveR>1gJqr<_SJ^Z8ZudKp>Hy zOyI37l%@8_nTGn^%Ln4=k;%Sljm5@og|~u<0WitbQ>``laP;;vgC63v2M|$A_QFuO z0%;-Pg*y&IKmF)!nXToz@Dv6BY25$@9*nW=`QGJLi2k4h4i~?jW8J z&rFtbOyW|>22T&CjK6s&U`haZCM!wyJr>wj=M^?7#?vj49j+sg4VWBUXw5k7h0SE- zZQL5Ou8VAbiW++RUp2~w%5}%s3D^kkA#U6pwYxzcE z4pSPlMz%+!pw|FY{MG9juiQu-7tD?1Z|0MAk*PqkwMbQyeMw!UKZb_RLJ64iU|xj4 z2fi*em6-d;7klKzfZ9-*;*Fx01FA@);b;XmohQzed(r1LAV5G+S8l*R)>dyec3QYJ zrW4QrB@DmkLdWk-^iLkOhXFe!vl1Kcu14@Z2JXt+VkIR6bHQ6D+*+hSVZ#I#Bd>BhXa%Fm6E>)SpwXr@cy8?yJzoQMm$)+=fW3* z2N48Z1DuCKjJWj5xP-Hu|M-iS*C5pn>;Kp5g5;+vZl?AX7u@T)%!9U&a7VK+f)pxW z`1vYMhcaA~RbM2X$!|~ekO6tf&juYc@^K3vXfE6F z@f+>kH4se1gfLDk=kBX{)uo$&Ff)7!!F%3eAWUMeC?@*T?9}?`0B+ys!|HwVV28)6 z-Eox*!eS=yTlJMRgKFnDNt<@GAAjj0w0((b!$Qfz*{kk)(UV5gRvBRiCxoUfp`R*?we8?Xd@(9 z1smPly&D>3?O{q=D_CrRN38jO}l;R;X|aU#ha1?G2@B0I4$4kxaZYjfM0?GucjOxeL;iTj$gC=ic$MpwHd?zG^v#y>C zo$d48r#>eZ$tLG@_id(ub)n@mBCbW}?IB2OrmE+y=5m($-ugL6=jV7q=KD6`z~}7+ zZc7J~g>>ij)cUhZr6$HIC#GssNCX@0TWA*L@#ydMWU47`R3t)zWGvr3ej1V6J&L`r zXA(A1X5uITy-2q(>ZqJN$%trBCcX}-OstSRu~WUc=Ka+VSQ)^%&;OJhz2NT@H@{Nj z;a7J2SGU;z@tbD!zefKfI;`UUBRb#(Z{8sD8fpddQnuG|-~XIV1>&!1c!W_xTv4DU z_}r{h5x1((3UM%W>Y-)Ck8INq>*fLiEcXsDe^HrxQ7>Ud?m=XOwiCXfL0WzEm`glJ^*g1UKEC~5QsB)< zU^fQ~0N|4v0D$~IO6`9Y=)a}Fe~;SQ+nCrJIXL{67I0Mi@IX>=Up5_H*1M%Mh_M6$ zrKbf%3e*e5?nMu&GgJ!%rbUmBg=(gZit?v~&}t1Lf+gx}<4262x@>0ZxO(2E+G6g~ zA-j5R?wXZ)@W}pxa=mZtdEq*VG=$i@jWjvt*m;}&*y@oRj>g?NdboPsG4(vW6@5F@ z&Z&7i;m)~H?ob#r8czt)_ijE-6sIb(uUCBzU6U-kJj~3G@5_jvE*!U?ZsRRsX#3P8 zNz39qAcFE!RW&G+C5+8D6iDIdN!P&EvD2Gxp)Iwk(N@SfXKaKh$QJmPmahZ<*r{1X(rP z6;IWI7M`{lPp6J?D^4!UopO`LjFl$?D`p1UOZABbvQV%sG!rvlGl zN=+hEl6?$5iG<`5bgtWkII|kXzsW0c)Y#Gzc;5kIzkG*n^5jea&s`z~6MvWrT)-mF zvRyK>lEi!_3tP9NLp2d+w&KzIu1jDE>Y zihKb`izkg#x=t%?Mlhk++92c=>Xb}}b}s$yUeQn=JK>~Bes}tW;68c=jFMILag}g# z6C)=SzhCe+%X!7oJtf8TBCJAYL|Q#_ij2x`s3tDi{q3!}jYGmvlW=%~HAcama5!e$Cd2p`&TPLxxWwlL6X#OA0J11UIXP0b-nZmCe62y zLTLi=o!x9>n!3?yW8{dnY-RKfUggkPKtYBWC}b;YV@fLJX*I^;3EJ(T7s^@X<`v1z zx91Iy)QB}p9eIoRi^>G1S!yM$YSRz)XK*1atY{NLy{d?8XL)yMauITc6aTt)#}AF~ zD^iD@ZY)0Vq@%Jr-tSs=&UKU|LKK<-uK%JcP4Sa>JXbT>yYYN1tS{CmVl53CJ?iZ-vOIt68bARlX4bXb0V+s$qZp@1o zphS5E)tSZx*69Px<6F;7DG8S;OQq1d8R|9PO=;O#a~bVH9PCgo0tv=_06n*k$1qa2K+rcj}dDS`y&msN8(t*YmFCPcL@<5g$D zIw$-Km{;rYp7gzlf8Jhv3zvaG49g&q8 zmStE>8Uc{91F;>$lw5h%;;9fp0erJ%UG^n#=QTP~D`JKNn9nbCDS`Nlfu03Zw7CQh zbPUC?cNuz<8%>wJTNjAsEU&Q$a8 za85dmrl)p7ENkb~mDVVFjS%kbhjwIL4sq7i_3BK@#{*XWOV9_VO(|(v7!;9QU#{ni zx$2^UbIQ2F8AB7y-}NA~aASyP4r9(_ogn`33mcF9U8S%i7tTcGGDH228j@EQ4VRz- ztG~-uJS{?l*Si?G)=3EP)N2T}*UaNr2XAHFr>DMr7 zuRX%-pm!gxPho(Gj;0b`sSO5Xjsc*$=+Vtzevr0x%O-bCzq_*0whg%; zU1(fl*pA^^#^6ijY)ZTQvI-9`xQ>AqI`zhFlOeFT3gcuFg&Ta{tIwyi zBE)2nr{LmcClUW=cd^N8MXuw(TSJA;eVs9&8rpscezzs~ zCC!@KO0Z`)^>5UbsWA+6ZA8_wVc}41 z+afO$SDhCAY(%d*SCk9)4CzmRW7}aM?_H#X^!}q9>x){W(4(zJ)C0wk`o05gs?f;X z+nH<37Y^5_gu5VNh}u`*EnTofP7SkYbfJK(HQYi0B3nNwtm-+)plWs83COMJVJSMK zD<0<(d?>I0CYw@|ho20MuA$ep5bpfse&#SC}a6L9?}&vC8w^4<41_+>R*}x)h*9jHxK}yK&;BOfQ=;7 zs7h3aJe}HX&1Im_~|2VkyRCLH~fR(MZ@4lBj8!bCbD6^avZ{dE^vaMvULh)`rNP5hZpAH z%ot!Gr|&fZdl@KUyH>|-d6{UO{b&Yg6)(=AsNGP&u=!Bfm$-v)?fl0QWZPoGH@PF| zHzzb{DMk-sV^JDqlZNHZq-P10*6m!;HXI@^<3BHMr`!Evr}1FwrSY`f1p_C<@x0_9 z^F)D)sNfbB5Z&zld5K|O70^h47o-fz^HFwT7uP_G%Ib$bhPz^c-I!^}tQDZk7*G<* zNY+wHW~riwSU`;<4;4<4GOs$$6Q86$D?-@z(twD}+f}&Cad0Oa})T>MdbUyZ9E>M>N z3_$dXQO%#3n;01IuM?ltIU=4NQqD6TAC|I3dx|x9iv87jKZUk8RwiUfw;DVGR{J+H zmu06&6Wwk*=!ze=MtoBPbVo>J1w&XH?Z1X1gSXS|4e{^-7JW2ePM>(h1sq z;`d;gYHS2y2d1m$oOxYyZv*gyGR<=mztZ;um^jw7ff+NU08X@e0mH4DJo{I?UTNho zvWM>rP)a96H0{)bK(HAf;T!R3jGkBaN-1Ci+Xg*og21(g=L*{)(~ffDXj_q$C3oj| z3rZJrK`3*8c;v8c)w+>tJE+Bb15LWcU@J_O1i-XA{~EE4Kpk41DzW5D!vdlqQp1p2 zO6LG%aGn_^B*Z_=V|li_y7IjQE>;3??+~nWe~Im&&J_Hcef%!K3e7USmYQ0-5Am7A zclxfvZho4Ik~0g$HehL_%;KfvftUCgA4(x9pn_AUYB8ysDb`bVMqawM$Y;18`g2rS zwAZ^DDufSS&lsc{$}5wnLoaF1En+-?QzF767{;s&F2f3Tp&iA9*5b1bb4Zo+?gI8! z-Ih8&P(V__^HaW8OB`KI_ex3O6v4%}t1KRKu8#NdY7`eHx`UrRHmGHHQ& z@5zG4eIvzRz-xPBCKow%PGOx&S?02+w@-h$!K;JMnA(Cr>2Ej9dAk+xdz6HxdAmXT zPhd2Yci%g;lm781(O{xmr1t1m#sE4-d3^@6K2Q%&b}YWIvZN5Uk8Etm;G(UL_RhS? zGZG}5onQ3syEEv_Hc(7|atG))WJc8P2>By8k0MnDwI6~lA^EdndJ*su>hGzPLqTfD z2EyjYeVcc|q9Yyf$%MG1&wi~7oT6sTZFwWN|M{~YB6XUL48>#4-_j9&y^fM4db>n904=pt-(4d0-{;{2h zO%hYUS9c30Mf;*O_gRQ5RZESDwodoXKxrKM63=s}>fZ@N%d=e;&FvFtcQV2Ejv@cd zu;yE8E@p&&U`&L#!Zu3K^>=jcQ}Hky{s|P^C(>SD^-+OY&u3iY(!;dwM&gj`&H;X- zE60d@XJ1hb&`D)+UTjc<&jPhZtg35#`C5Aw3(m=46n zmj9FW5_cZTGz-meTaPjRUM~EDD_M1KZoy`5^EO?3?i%*Z&f=}I5=L41eT$SF!cqCH zO?Qt6D>@h_2=~1|oetD+hf~=->fyJSmTj=0?Y4(v`Jf>5w}1k4ba;@DrFfF-k{^!- zwGy{A|BDP<-p7ftrqroqYl{(~lCt2j>;b?Ztl>g<%>9m^v+-EVbgJkyWq+pg9 zIP^!odU8{zd-C(e{?yw1U^x{*Y!reEw@(kkKK85BRAf?lo05kQ$yg^YhmdaVi=mJe zYs8vBb?wU`&o7`kCx?$ZGd9z0X&f(GH{CDYW0SxVY9<64#>lB_>ZsyDmTV)VtQx~) z;K>ct{LTHN+5~?qlK7t|=HhEo>45G370nADPJmx}VvrAvWwMc`#dT36HvmOmGQ}z8 zAEC#^by1^MCX9o46EdiED^7#dGDpUB5hU}_)w7^wK&g5lB+w+qL&?WcCrNw(u9iU$ zgk`q+GN-l4=Mz@Eg|A>RV3@Q8BkK?-K%>+r2{Wfxno(iw>{G3cN17N)7Z5Ae|K}dc z=2b}G?W70sq~cp{Aqa!(lEwoqQR1jVNeo+}6BX$N*NhDZ#FkAAeKx9&#HEc_I?|NA z89YfTSK?ser#2BM+Vc0v#nvQanvk`N@DHckdNGi-8qoF{jsD~JDn-~M-<-RNP^}vrigv8=#e#GD_wZ0 zT|;z{6+4!aQ2c8j5pxSabD!14dDR9sI>e41Kasd#tU1@mKN-p~E!(q=tlH5dZV)5~ z$1|0(bq_cj#^6-Od*!4$BZ+@vi9wlDCC1A|;&0|gz{mcjC63ArdVz2v)&-v=n}nbQ zu7RtA00Wdb-)n<8Y6hkUB&cdCaPxwAPrLnIWC+!zox17@Fn5yU0_qV(!?m!d%=eZqz2UBOX+5BthW8QMnIM6b(Pk4AoGl2 z%u{Xd>inHKFkL`tDT7_b>BW7rm8U|_+_pv8Grwpr{(k?;A%h&To}k>8HKT1`^%>M$ zFqg{iBRkMfeN)`-aiy8DG{6BeZq$wG@l?H#R3ps1CR|n%WB9wMdXCCPn4~>d_L^rRu@qA^+00Y+*<6^aOI99v~ze36a@%6F+ zO#Z&%ebN5$fPv=2gW=q=CPT#iIJzgep4J~xm7wuFh`P3ws$W-eWT*0V)RaOa=nnJA z`7^uH;#`(dGt6uafiteDuZ4^OWDUmpe$+0Z33Onf`E^Yp@{O#i)jmgmsOa!=KHbsM zIn&9~J=$a~Z$idh-tlQ8cfSTC?YHvju>Y?ahsSuw2Sre@v1;}9(Q__zbu-=Od#S04 zyIPeJjm2y0PQxHB&E2Bp*u&Bo*6no>*V~s`kGx?Ys&oCrXl6!c7;ymYw(|~5rbpoe z$47(bwS=nybb4!DwKfoi2g-GAz00#<%buo8rST1nATIud#!Gv0FxG4XDLYgdxl29H zZtwc-{mbi`VXg%AEW@Wt%;92f`MOT(>Dfiy)ifN8;_QlpDH8eRLVv1Yp6nm^K^!vTZiYIWa#z{2^8=3rzEZ4&i@!&Ami zW@eN0q@kcnk?b(Foa@iJ5xF&#CL#Dl%o!h(^09-{#~hQzM=#xXSX!^^m3f!`)vK2(Zc_t!+$=oJP|FgsjaKciaUvOjh&9U6{ z$}~}`IG3k3z>yv>k{Rqz6uOMlcgDWJ%Y_VWvis}Joay+Roz3}4k4^#E36sqE9ur(U zsJ4Rqv<2k($;@?P2Lf~vu8KR4D|N{(7tjb6G`lws+t}wRsWAi~i9pQ}O`v*N?&CIc z$b8X*dVc0`y9El64#_=esDc+_MxL0|%F{X`@N&6h)i8WQ)}CGrXM_-DF|X0V1|iiCO1_)74@_b`ne&i>92johjmJ)^f-iq01tC{NAC(oC(6kIRVJG6~`5n}BmWv>mKwvVnvh934oonR z>yL>mZb97WPWjcdVd$3V3S7t5efjNKeC?ipr=6QBnppocTqqE7djW=7PZhuoD4 zqmbw$k`$mmnf5wP_JX8_Mc6@54;i&$tLWlZ4=Sa`1gQq*?6Ff0!?Yr>6d?5U%2N(N zej@&}gHqOGx*pV04d|#tec5e!#kn3}uN?Vu1&2F8;0)h6fOAEZ*)y~3WpG8!xFyu? zH}-_fn#ItvCF_QB$%X0mv)SWV1#^;x1KY(<6d3wBviauupXTT}+GhOpue%raYmWXR z0|88o9BphJ|J&R9@ALmMLS;Lwf4i?XA5i>_m#mi~y>f+?qlH1&^l_LGiDMnn{{G-H zoxwK}_6E6ha@ao=31)WclduFF=UW?GTc`q!{;nn=e`G4$BjXYxrh4LplV^jhdKxp= zU~^49e~JuM?#Q>aY#Fpz`I3ha`?v0)?%n3}(H4-=0<$pg9>z5?+oIHc3?;0Y{82dI zkJPp_DA|S~;;DWNXP<+&<5cu+X#@D5703rmKDyEa0H}2a06_acS3uuL&&pHP!u2;pdfAoeWA&Bw zZwz9>M<4=ltQ1KcKP73f!9+N}FMjL*m2Z`(fyS>jEH(`yN=G!y+m;$E5mGPZJ3qf= z#Zt6!#ot2QRp`?EN1QyUIj`3TH{0Z8<$Lvo zI?ECUByRF$%an(+e%A%TWtA*4w3qiw`!-c;@(mBm$oJ>M2Zd(D`>3J^ln$KqgtPNd z+SG~YUV~~?bg`7*BnF2h@oHLb`R1F<@uaJF)e+CRV%bt7%A9KDEB*;HOt(^EYH#k8qV4MaL98_sLhK^a(Y( zkIihV+4;;TrcW(GcO&~YiSj28i9(Y#^UPy5j*_#6^tYwa*e}d-1{}}Wo*aTC*RmU- zmL8`&rSh?V{wBp|VU%6dtWhoHd%h3f4>>MnRHKq+xEw>C-Fr(PV)WHwtI66d)i$nd z6wb-nw5CsSEU2-v(Wnsk{8jwZ)Kk;bwd`CL6g+|8NX1(~r`sf3>6}}GO5-HgaGahV zF-tkh9>wAehS^SRdHyJ+G=JbMQWOpmPi>;b+#-o$pQgWjJtZ^5XY}qEig0vTg3(vZa4=bT}`X3iQmAqqP^xI9KRgsai6w}W3f_s zrMBU4Z3lIrJmX(i#xH!#l^`RdbXmmpaNcFC6>wRf{pOfw%JpF8)J`@4I$*vSUe2{J+xXYyHzV|vjUyx zjx%7vY3tZ!UWuj1#L&KdsbPZ|P%MI0PTpBg+ZBDp)Eu&0aWQ+j=s1**w-;JG%_ksc z9a@34@7|#YzQuu1n^mZCAqJsDsh<^QY%KB@u%$(I9^eSzMLzk1F)Ap5t)F=OB~2rwYEK zyw~2T*p{o2?27(eLS1(PUBU5b;K5kNZy+@rsE^o@Bh88dP@Q6N%7+3_*?1rPi;B9( zEIX_1?Pvr+HICU;*yl{dl`zCygk&$gfxOUOlRp{DT;B9 zC2m~VD88kF5LaFwiRBvj>PSlC*54HGauU#-a;C zBi;!N7Ss-nIydy8ky}D&LiP~3s1m<7OrusHA63LYDw)T}OTXbNM%jkaFl@B*dzz_! z=c~p$N#-~u)b4^2U7Y+wZblA1(7Vs9e4>Q9JDObzL}4lOXgXWTaf|LTjiGw$vQbu#118Y_T9qMhTn{wR-|xl^ERa=imFnItlPfOtxXv zh*|F5FhmtpWw%OkK2otXv2q6F&WgHkF;Mk&r5b2X>6etSTjcl@0<#eAyFqTn9rGcKHyXD<-T}>Bk5L-KcYL%o`Azw3ly*ou7h`Z zA{SKUvKnN?O%x+h>sH5bxPU3>k~B)&aAXOghc}y30wROyklZ{`>gPvY2Q*i;StJ9l1 z*WHu*{>9SnzryP4Be8u8-}nN&dk?-93v5(2QZ1nPYCpDiVa@hwU#}H-ts1M`i#&$Y zcI{vftElP?{!ez6wR wRcVKoMxD(wrj~f7{$N_NCUt}#E}{iK(aCxR?6_g>VDju z^COmWpmL1p`zzK+OO}Ly;@}`-kIE{GSw?wR2?U`KC!q$){{IJtKzYCaR)Qd7UFbXD z6EnJ>n1*dQrLgU@Z#PEx4XXG|h2TvN+X!DKeBIp3Z>#y*0be`FmnSx8S~wr=KxKEN zjCL_Pn9_m*3kM9xoXF=!qe)1gOA-B;1V>6VkIx7&^eML=ywc^0U%KrIM$1LTPaA9L7X1DIe9Or%r5_SmjS zh>y>L37!Q^OoAD&fthgF5Ztat>2gs%0k;!yYtR89Al=eQBu=}7#q*S-JaTj~-_>>r z->tA+vvu+l2s*Q~-Lrjd%Vs20MJogtCUs@G3A^g#D_PG&UP1P~qI>eqFHAS&4`Mu^u>JH+#jf3^9aq?0@_pMj?S#VamhabX(@rVu z9{HZ!rkz&Ufey`(&FgW3TqlokHz0q9Li`KZB;@ho3$-J03jK#Ien0uYU$Xz+&-i@` zyB8B%3QoIo>ORr79tMY7v`-awKlF&Q2OYK@ab1qs4|Veg)Wiw-drJPEmcO6MU#5ll zgLwEA_5gg4!3WRtF%4av)cB&qZiJy;7&_d|A40e8J_7Dzq5D|mKCn_fjK}#3d#GmY z;hM3<)cBIaZi2BWvi(SuKZkkM8OOf$7$R-fxTCPg z-M5z%HsiiMudpX-uDa2YET+TVci=AEEI8)izd6h%ci4cATl~A>c0&j~Mn+@OT^R1haO!#$kI%Uq zbKQ-d)7^N@-FM+G)|}+uQ`jpGn;>`CEWX!nC50|;X;SpjNSjzJ=&+pYE$4cZA1?v- zro*5?gTGlDJgd)LHJ|_Pu-)Vcr-|=llNP!>+hyo8gdBx~B83ez@A}H0>C2))=}Qi} zpRVC}AYAvil=eM`O_D#<>OUM-fWOUf{R4a!p_Z>I>^~h=q)v>#+L1&ZhX_Q1ErSnu zFSQsr>D+mbPh$Z!h;xI(%3e>;#RvFn+Kd|1SM%3e7t?2}Xf<4Kl@^07bXfI(Pn+=u zF%%XNx}_3BI(;ezB8M#`sfwt6)XRSea)LA1`l*OhUZZC#r7Ylne9O(?HByIeVCb;G zWZXlF^w4?|^^f)EYvMHXehAxJuvq?=!}cPss}R?Zh@Uv|fGUaOG;}SOOY+w-gMRF={bUDhc)geZL~l_)3Kb{@!*hy1iSQrmz5J(`j!6o)_C0$qX#tUnuR%oEq*IUq zsRSbY6iWE01=i_pbU*bohuw#8w<7YNNBJ9AZ{L`I*@GhjjzJ3%)` zYz6c-kuowG_cmIQ_5M{i|8>~aq)VNHQuFjVH9xQZYq>ffl3Jq;S`8wIQ$XeFS@D{sIL8y<%}>a}`ecreZIDC{lh(qw!a4(Ry@hdl=W*J4t>)64&;;=Dbe zVkW6_!J}#PIHu8G8W!*wwEr$QQ- z;{0QT|3R&NX6f=X>s{y)m_Iq}%K)+@jplS zpXM8XAG&1x1BX2cT}@e+Y;l z5=09Sg&E}^>3#S&=!&|Re`M0dY1pOyGpNb`0_JkSe5Q5*onWifxt5pSnL(yMLb2fN zV~2eO&aOw&kk^ml>|@pFu;kZ+`{Cf+;}a|(?`Gv?KgjSbwvsNbq;0nJ{|5j7|Nop; zcU%+sw$CsDCO{xC6lod=C4d8g045+Z5F=6r1E`=Pkbt2R2;$lo*IiN6RS}|Cuz+GO zD3)Cn%d#lg>*DIOfMUbG*m!5cxXZow{qwG$9OpadcltTMGlV&XnTIh)ad}~A7*6s~ zGXaiZof>S7j+uc>fM8u>b|)_YND#_n2t#=sNhpsi6S1GjX0abn!3N8|X@Xu2^u zMT6DM(w(vlNAYjS8z)h75=TiHPD-3ep)VXTx$I{mb~hS=;yewuc9yPSnYl08k4V%M zC2?Pp#f4Cqz|-eq78-2bEL{$1{yww}o)f;k&FQZx*6 zM5RtBDrEwhqqsB-_<;}Bn3rL|U&fykFWfBRA3(0i6U+bk&Y%Gb6q>2%SIYEpli84u{ImvU!H@kHyzPKD8wC4{ zVE4k?PI$9LuwGC0N0iN=%UzF`*<-Na$K&W-Knd?`L*jExYd$yN~5a=&)RYoCuWV3^b8| zTJ;%oAxU!)!QeqUBo4Xm{U_HT0zvo;Ujll}6heK3B+erx zxE@IuB7D?{D}a)bIP_;93>GdXSZDwc)eIrk3}_!I1V8)rLDC%Nn+Kyz8)S+IT?vO9 z8zPaRQW=k@O_8q)9I228PSAdao-g|g>PzTTVQH`fR15g}MjXMn6dDJ%t5Mr7KBmDA zM(_|m3*v%S@eMTCA*kC#65$()2sVtUMCL&lQ4NRqc%+Q>W#mDyC9H`cBI9tUgvioy zX}VC@pDf#hFhN<4B7&n;50nrlRwNYI7z%8R@QsZGB#Amv*H_3Sc~Ft2{)(7FMNI#* zB8RmV;Zd(Bj3ufIP6P}J=m4V_=Jsw72-y4 z2wQ}216aZmP^V&u0B{Pzw}k>z36e5izj-?k!d`;2flbPoQe211R)hV*6cA1v0cR8! z4`YTw$F-Y^Z*RmUwfh3qmikwi0g_&m9O{)D`=2_4HP~?~Zm9AQ5#b136hf?AAr-d+ zD@mxu5Vs@iJ7EyvfbhA1g;d-QEV0mo!VtH^-}8z0SILo@MVtwDRD+%PzoUgbPJ-vj z;Mqw;xbTbw0#hb6EYt`?_|4kzVJJ@Nb1-`k!Wn%{T^7iO3)!58Z2FS}j6r4y-3DW2d2-&aAOg^s|Gs@K2jM7pKruqXt3Y(8Q9?Ugd58Bf!V`h_IR#@8;=#K!CI(q z63-MhV}KPmk`>vH+%?$mU?LqHcnl*vQ6mmV8&xYrHAFxN&_I+BSdp)Zp$2vYf$)cN zxC|*%yT;rgwsRP)G0-I-Qf=Cv0>TUU=e1jr@5T9h=~2>cF(8fb;iJ|{4VAYBYX{#7 z(DwldDsat(8teivGXcVf^#W)>SNt^CMPN<^roRz`OB&cg4KC^nFh_V8>SB-=n7^o9 z{b+w;!!!)g$cEC0NHbK!0P9W&U);|Hj{#J9wFg|x8Q}-QXA(|w;bgdo2%_o`qTMck ze>@>+_(HnlxD-eGa}Dw(0^xhf9|0d}(9MJBf<*)g8L^ zGK6tRjx=l!^PdWg_9aG9w!$@-8q`!!fd~;1`7aevLj@uzO>^cy*+=>kQIulTzXYM~ z4|$x)0mR67$9#6gwiqwG@rtb1LU0s$aoKs@fm=H1F-J^Y&ZZ98xT(* z%?|~V(0C+}bbzn00dbBVpc^^B=GX!J_yI8|4&aX;AU}b|NwhCYCIx89fEdyk{r@N# zInB=iQVhVEv@V5}17gk^;5TQ0-<$z_LmC$YsVOWirFzX+N%t?iUk?eOG4(2f|B`8Y zpMgfvHVy%ijQ-hZq%jj{4~?m~cG8%V-wwo~G1Yth0dX-0)KBLdjZ)`PvDwkSi~9LU z3|%9HacM<*l(Lwb)xmHSR$7y=EG6=k!2FC%{lZHW8yn(avchd_!EVPdmLtN4I7Vk( zAG$WW!Kl{j)BSb2`Ps=+=ZHUa%*Z=8Xoh_8oo9w6jSq)37v>(Hf63Y^VRHWFcNgs5 zS$A(zJyk1v&AO6ncK_a6|G}niMp7o zLE&z`;j#voxxy1Gk1NJ5y#3d%qRU_9e_pQM+Ut_^Irh}|_jajsmD^b+H@xb{&wS5d zMCGSLopf60`7fdSEc>^*s%RVm&q7*;x(fyU{Y0qyl1Iw~!!wtb84k~>G~fT98AW{m znO%gsv*|SUfM+V*Mry}QrtMSreG-j_&=_U|v8FMli^Fpw%{QcHlbW@!K;!6Hfs7dm z^gO+wF*Q@qfMm3M7f>9{e*_du>)r<%L*qL@F|_XB<|>PdlzEvcMFooVZ(h`S#nTJ^4vQ)u0=^8@dCK&B zxgrI8YI(|RhQC)rkwR7ErJknDRH(c%mBn5vMOvy#=#`SDR_4gP6Vp1ltr1dJIO zCf#rP;Gsn0YW=1C@YADfWfg_%^3M;cz3_V7v@gHB6n9OmlaAex=JFg+ZZevP=#<_|!Q7dG_8@=yb)wCV1$g4Z^;v%XXBynf`D`T4Wz>gM`zcs$R|Fp?+l&cQdJZo zF*u`+w(1pDSHo)`euhTot8O#xG{-SJ!7o8z$C?Rs~}wV1;fUqoN&BZ%+9l7h?%2!P}zt+Sp_>EbquXrO&cDr&{C+fq+s0)RvwR4~5 zr|wEU8g|sePdDem*=6}1-NKkrdNue)ho>t);9Hv`?KPdH-K=HrRt`HPJ0lHvwm9c% zdDqIoK$Ufn>jb6oi$&M!MHR)n0|VZ;-(Pv5DQZ4G51SQntE5qtbY@jrK*_n?_S?+J6gKg!{lLF&pZ8j?`HIt z{d7k^WM1~nu9mJZ&N1(;Wx3nLF_**>+BEkLpmT!7iT4WjS$qjMRd*U-1nNF_G zIp6OYn?^23bCg_b?aEZyd#6a)pN%X3vM=vdbOu}KMb+-_xHKWg!_m4v$YrMcWWmOr zw`Wwgx-S(;hpi$Ts?ox z$I;AefOo}A0k`DMk$IcI-* z+-EN>>vKKpcf2B0b2rJbZ|+}@ocP&yWjduT8C$>q-0EZ|V~=SpzRZ>FRNG4v4*OM2 zAEWk6b`O)2$L5&4xqiF6ZsDcRL7cWuzneD`N6%O}?>*l#d3Hy`dwFe}$oQbG)ZXIO z`~pYs5v|Ql^G@2BjLDItPaFKhoe8`B#Sd0aSzxbd88b8M-Qk#9C-HNdv>Ds`?(VSh zOFkUAzpJ8a^_R$s?YZsZh}8DOrEI@#RR-hMdY*MlIQjla-18SAU9X*kD{k7fExB!6 zWBWABq;1vZy>;vZ$tI;Gr$e%{b53Q1g?k6o`BA@)Ia92|Y~^;*@~F_DwN^XFZz|!t ze^_7N)tmSsaNeStu1|Y>Pb7!G8|Pshv8UGk`I_L*$86SKB<#oSd$|dXB^3l3L|gkzl>! zGx_{Iem=WmEDP29OvkwVL7t4uAun7B>gAN_g@s{ zb7N#ikDa2{jy`DoDjr#1H})wbth!t|#;<8_)=P1?ev_?Os9U#fZ&uyv4T=WS>LX%X zAJdOnJG(utj@B&VEzr4FZP`{+*S+I+&8@Y!HU^I~iRfJY3d{GxFKu0~`8~6I$?G>t z#^gHbQAb}x|M)F!bGBU7Lp~gA4*t12`@oPAQ58S;@$G1>qqw247hjf~^nO5+o20QBdT2YRGom z`bGL?$IS~XQyP>8KHW2i4E3(BSt4FPSUmjHV{7kZAval=HaLUtZGOF&b3MLj%$BX> za64V$eGHBEWpGxfL|ptl)?Oo>#Uukf-=q$1|E0$0@Wk~m`DK}Vnj+46+z%Nyb$w03 z(DM~8`kvqEp4{f)ShH_Q?~m_uwr!5sU+n$UiXOhx)e{yc3`Vrf4^o;NGn)fE#pljU>@vM!{(P#N)_oop>(2%5U(2j{s!VBaH9ONfc7ElE;4Pd_^HL*= zXPPaociS-EKAycTQa=^Fopm{2FyngFAfKv{a?d}OO;0^Twx9kco za}9PmyZ^Fko$JKN67h{@_cuwtKU*Ge*tV-$vw~Hy$-r!0nV!hrUUO`X@r%l`Ba2RV zHR@GNvQ-+T-5A$pwsW+_oZQV}iw_y@QCkfvopfU7(Yan`z77vO8RQ{u$BC`;eh(?z zaLa1S{vV&t3mSLPcgw{2(Jf*}XV1lz2QEh2JzU@O$e>~5dt&pCH>7e)oB5MlexQDX z4B4xP|H^l6`P4i*G-uhFo7_e0V??L+XKA!=&>(r?)MaPRa~J(#mQZ#nmP9V@4qv+Z zk$I}&O{1Zm857SZ?7b;J>%7;xs%c@_Ea9rR&o@o|%~@{}@jpkBn$?Z-|0rZNJ}_(l zY*uDpl@{pf*K=^?8|oLo=fT*Ui(*_?m4A#MK55AI_aDbM-Z;8Yay905^wY@g+-m`6 zG=s+O8rCys)@kdz{)l(~XLGiLzy}Emk>_>&Luf z@U29_&!n(nOBUz3$xQL`_oM0!j9E3z)z4hUmfn>QzcAj?B*`UPsX3`wb;fgu_>Ira zMW<8FZc4RYdR4LD?LoW!2Rcq%Rt^5)T;8u%HjE#lLdo({>-Wk_KEPz z{`qA`NTo_YvDH3FZ%1X|$X5y5`)cf0FMM10)* zIhlBP(eH&-6P6s^U^gvQ{K72JFDA;rMqX_lyvA*}NHDg2(w_41`lgCWImgs?ao3;N zw$!+r_)K^FGob0_k%OmAk^cn%0RR6003iS07B+-f*x+N~nGIx)$Nah&^FkKaVO(C1 zae2K0{j?0s>j^Ncp?$M?wWrB4JYF9y%QMUdsFe*dxeZ(^8;n}n0JXBAEzv(C zxHKefLaGfh^O4dvV5M!uO512w+D4)@HS}PtG`&+2CxoQ&)%`|)&mdezY=Vm26fe1n zD|VAnv74Y`H?<||eI^@DghPUT*e3rV1uy^?FsXM_lnC%jho9Im%PBR4hE!VVY|rG& z(3G3L!dm{r1fd-_VLRS~m3@!dj`t8d-ea_5NXZxgo1vXH$0Rp%J8d@FX*1N`W(5m4 z07Ug|hCIMEOzPV#M8amQ!F#a=?=@?XkE|sZIrj#YG*{VuP-XYUyx+%FcArsY_d$Aa zyh;4~;!+k;0gAs*fq%o_w}LNmq~81ZR&fj3D)Iwfr;h9ww}|`2EqK3JhkA_r#VzLj zVufkKeGQutH49f#Tf{4=10}&9TabtT$gs)%5xKk~<6yf{89x%0!Dd9wmdmS0Yz_dz z@)3Mm{D@(*_6R=-4=KUZ;*hvbR^)JYYaA$BV_k1mm|E({Wy@(t zl{hn1WgDI%#u2kMCd$rWAEmYEqZo1?rFG_`Q7$ETvn^(7o0~YAX`C@wAJN=qQ1v#h z>TO)r+qkN?QB`l_s@_H=+ZIX&_45;~%AW+2n02NMU0dvu& zc)NoJuuX9aGX6LF7BZomv#HxJ8O?-m~SUxka90pfyMDiI!a6Q9y_zc(KGhBzy(BOIoG7a_m zGjdz-GvjT+v+QT!5D z6!oabm<@kvt|%%@6Ot&K5j6`r{+D7!@ozGTe-lZ7*6ufg)|U-s#>=G4c-c^9ylm0X z%c6$ZjHuaCX6)>?i+~8(i4);YL#*!PvAUDT>P{Z3J87)$Gv=e`6kUyBF6W`fJtNVvQvz@;$8wnKjnK_+DXbzCOB z?msw4xPBvE=nc6Rc*AsYj;DT;U7VBBG6gBJ8}v6^e1-gmaD)B^53e_Pc)byo6IdN@ z5^KI`Onh&}gWfV(@-1Sew**THV@!$fEt>d9+S`rNp0K-cst7Rd7E|4Boa*p+0q1uc z?oxMKt|WKk-O6s4zP11@Rbi^<6ynTQLo-PM?^@Lb{Nr65F7E=15dU~DHtBoDtzPWz z?{RnsP2qvbdyMngEKL!qr9c!<3r{dJI z(AbN2FMACY(OzB=?d6cYmqYg6up)}9hP}Y&_Tq%Jm+n0G@}gm{t_M)nuve%W_VTJ> zFRdEj9sHl7VSiF82&j4Ydy)72DfS*Urce0hh3I_^Rggr;P-|S7d=iH2C%OtQW>kIx zE#8B4A%Raqt%W}ENzBG4F&k=FKmDtbcIC*;*)o4j@Dr0Pm61)Pi5tYS>8{D^5avX-1wCH?x);$KNU|e{*x%+KXI`Eo$4(i#rMgY-Df)F*#}~8AJ*MIn9PNB>dJ-4)zK{E zVW2%Y-2*KYLiTYp?BizG7o`mT1E0@n68k)YSD*3E*`r0Dqer4YN58p=MBg7%*l(&6 z_mdiMzfdO%W9)aU`>}fWQ$XDBMt7@XIoYImti=^2e@>fT#{`pjQ5kf|moni}hRuG^ zZ8%8j-ei7QAkKq5ywVMYVCO1dofbPwu}-LyPgH^~c&H+bCS5j#)tMB==D{BG8H*lJ zZ*`zJ61}nLMkkmpl@mc1frGFWBLZjzpb)g8!xlgllx%PE0g5B0Y@1Y^aAM zdzdBbAxhRml&ps+Sr0+79!N6CZcR(JD05I`k8$eWUb0E+X{z_eGQoS91@9#a-b)m` zmne8ILGWIpNrP7S6AZ7JjKPm_1&z{ao9^n3+@d$w{`h}Gz4vCDprBPed<$np+=O7{ zbvQ{f&U)3P$Mhk&C~B*Ll=_h55wvlg^noRHBupRa@+lfF-aqNyzKBTQ?uAodL%|Xe z1Ou5&eMP_PEBaku(eL^Se%DtHxV}=r^>z7Orf%;~PE5TvY_|T)Z2jrcY1qi@)}L;L zf=0RX*BF2_IlxUE$z20otD$5vz>GWt zL=PAsdcXkD0|p2lFo5qSz+(D0R@B~yqivMe!jESCp+_Li9Dy`*gq!HC_H}-lNH;mb z0LjKj1a2sq=o@(3;x!qzZo2PCH1bGsn-TPgdpMCs#b00r<0P#giMLHb6W!T`&D`uq zie^7j+T!VsZ!$}MGqz+BNAyu}*ii~KCuHWrUsMGar^5m#l8kjUH`dW1?nu@;nhx#$ zo;jExsr=|zzf?WPF!dZG-9dOAh&MIt+eY59`DT@GGx@U9l*@>m9wT#l4B)gCt$r+8 z{n+khqhrlTb1X71?hw50Skdc_6~N|LIo;@?8WG9Rcn?Sna{~9A6HK=uy7M2=(0?@S zb-g~md-+Gc<28>o+>Zpk=!%5MbP_YrNoE6`B&LFsMC+U+TIVFeIwygHccB^l1kr1j zG(8Y0WS|jI2byIYD9Scalx?6W+rS9#_`aago{!}{Un5J?jb{EEMgAK_{u@R98`*KP z*NXkGk?FKis2UsD(Q?qrOR7dW-8PCPRig}1ji74a)xgl;B-r~mJsu7k;R$ijgbs;) zI?&~YB9|Ll;j}my17E#urbLg7Aw#X=p5;3nnZ6SiAYNDGUV+Hp;Ua%0-t`eW=G=G+ z8hVN`?oP2(GK|K7<=0bWmpDbPUrrI@;S@0*PBGOlr*dtdYAN?lLnBW!D(N(fk{FG@ zC()lKtL!vcWv7WMJ55yCX(pBZ6IabY88VPR{wmHh9#p+rG=K zGYl~`%xIlqmR3sF1EQaqi-OQN&n;z=H9y)?knLblHma^6{P<=X@N zx_9YSB=pz+!7Tau!1&_#a4pM$w)yq%A?5gm{-j5Gv?c5^oW<*|=&Li87@-pbl;Bm> zD4PzeiQkR_k6;9GI|^gYC~Wpo3yp>f1dZZD(7JCl*Wzfr%4nvx(W2T$8`Z{o03lIrqeZoi7LtN$ zOR+N12b}W|59f8`O+mppf04Mh(l2ixOva?h`)Rypr;4d}3|H?MNNS8PspFDHCg>Qm zpywk&&+n$7=L?IRA1*?q80*glwewgwZLA`d2FyWrE{Nlu!{xl4W@6;Br*BLGT}&#bD}~z|_HDn&RN)5Xhv{#b-YpJ0LnnBt4Lc z97&t(8o@SdiUf|!$tD~(O$cW8Jyl16dzqR zqY!AWbhXwjbKLBjuhv`+RxUYf0sH$5N3Rxag%-wCi?layK`XXc_U0|JOfAyhyoIS2 z3p-0F+Gp{t^(<*?J&SIwXBoHFSwt;s*;;4$jv*^=t>uvwx7Jyv&#Vv>S-iC-T5IDj z(q_As$)TaS13hre$&r*p8A$-!5&~Q6?|vlIEtycaR1tMcHq!4`d=o z-EucogI%B;1xf5$Wrnw9!L`aF-j*f2Ez6N!7V);sfwjz{A0SsJN3J!&!vcgNX=l5@1PcpU1vXe%V2|Pj#_&Ioi9Gxlc2fn|`xZvF zi0!kGh5tgqJ`2V0UnqtDLOEO(is8S|T0|{EPQ3{E-XiPIUxE?QFJPoC{bHUE7lSW! z3p>1}SanO8YcF-lYbV1-uMQ(44V$~`Ia}AmQ)bTAGR)R8#?~^!et4Pw*gGC)VCtWl zcK_M*tj%)7`f>~QEa!-_T*e-GdGx1Gw6atnf#1Gp)a0Ol4Gz}#Xx zI=hA45?~m(MZg|50)CE~5Vt|hEkZ7| zTVSTO%{#>|NZ>IuXFo>Mf9xju>S8Ia*z?ISkNdHKnQfezZNb0c^lfHV{uNFB zS2xi+WJL^%e>E`j6VAv_;#2`C{KU-5b~Jyxo9Gwvf<7q;h;28p^EhWmzi+T5S8z~O z_qdsv9ccCr1%n|o9u>yQ4g)Jsa8{m(OD{;_3CIk2O7BTHP`?;(Tw!jecuw%{nULov z(K2dSkDMN+izmkKlfi1Jym|_edkT?zN=2bYON}0?#A5`X0$hnV3{UfF?`bz7eim8x z{WPj2F_~xB%Fmd7p7b*$&d(6}pZRwvS{&~Hn^FB)C3&9ZJU?rZ=eg*poX~lmkA2>D zto{PI?tTGHeL?l9NO8#TAYTZpBEFcO(d4*};l~&+F}Qq5dWPU797>?)7g1!eZ22ixWa!$dLmvm(#OMJi4U{` zzP;8q-?P3>f>mWOahF7G7pJyMq_(Rqk?P8nzD{~oU0~v?617)3wO2)IuePZv`LB~) zT_&&3A6zi~SA6=f#Oc3MvVBL2hBr_&Aas(#;SEzbykQH6H%#I1hCLj9ZQuyU!>?I9 z{Mr-`Z%Q_JlPmE}QHgK11qk_dQmkqL6W@}ky~U}$B~p7!xm>>Rb&{)s4*a%6?QKr& zZIRmBDq0IIEng?SdN*655%KSQ{=bX!|6NHpREmgqSVTn6JV;xrcT5rSPQ^Q#cj&$e z&h3{k*~Zp-#)x4FQ57Zm~TR(ho5 zU18;S4K?q3yyksRu6f@x^Y(`f;DBe%xmdo6n3qVKsfm6#ALvT;y{&@N?6-$md9lpIgsGJ`c}D;yPx3 zTpU5F`w`Xs6^=*t!{Y=y9s9WiA|yG&UzsBSca(MtIZMqYI20X+8yC<2A=5g z%HQaQ;cxUM!Cqq<`3=zDT;XCa(DZ*JP5*cIllXr}LzXi zw{|j#tZkquSY1yPt*$$aR@a@P)xB9}t0z+xcq2E~N$_B1a7&qlztGV1s>v@4yf)8D z(d|z%b|2lF967>7qq=!k(C7>$lST~h#-uX@gD0z@!IRb9Hn<)t`dhMws|7yLkgO4Y zap5<@n1Ec>8jdBC!J9JTUqdA8r1|yck}uf{`KDN%N}k!vJe0KK8EdkcQqoB1VxHQmd$-ny~Q$-Bxf1>8zpxVPkuy^#y|W-e@)bOxS8w(h1` zLnO!VgIuIfH+Lp_pzQX2xz^ze^^$!hx9@9n`+g?3@6X)6zcl|Ki`x%CZeP<`a%M_5 zziP#-)#?d`SLb+LlZu6z zMW@|=s)BpY;fSll!^Qnj1f&i(uW~qEg%a#rD(lE9y8hSJ#iV+aWI_I00X}a#i zj^;K4UA-rIj8F0T1}F+W2faQ{&oVvR!6{0PcnrQ}OQJWxC67@`$rfl+ZA+op?v$C} z$B+ea4VyfsEz$eBa_PFf`k($kgmVpus|LbV17e{;39Wpfx!`7K`@tHqo#t|;Skiac z_(jSwbuz23XWw*lyQ^m8*@F{$h{NAoe9ahvHWJhhL5ky#i0Xt;I$Rtey zgG@=_WNc=d1WsnYd9v9zPd5AJ$=o+VSGV%R$w;7+E%|{_lwxr(!K}fE{9v9R2AlK4 zV0(TTY|9Tr5LZJ8S3?jBLkvhdq?<^}s0sN22{y!R(II9(7($Woe~-WwQpXTm>KMXO z$EhqjPBm-gRI@HmHAhE4P;+a_D(IDW$j5LHNl65~xjW}fuH>Io*)KPFyj$n>I!tD4X%#J_8?D!+N zN(qN znX}FIJlmRj{=W*$Q%~{$ghDw0W~H-5TpcUnYApwiu_jy{i*dD5&E7xW3p94VX5uo0!I^RRZyeX4_3PTYRDw#3$0B zG(i7XXr=<%SCHO__7g?4pN!C+7)83dm~4Xm$@J!eBFkhZ%47?2Pc~uXWP1jgOfv|Z zU7IcByd4?`pD9KaU=*6dM44iC*C}*o$bDcc@`0(9qhqRhxvAVg04_`wf6SVkW_1JM z`eT~O4W`lS59$WfnC_-o++do?4W`-MU|PjOLgvGi{UINW5sOD%V$>$~s7siMFEN|= z5;Fu`A{`}rXQ|PXQ_1OY!gR&Pq++HeI}h9ePZyrINltG|)LpDaIkSNfpw^3*g71V( z&QK}KUus+?KeIdwg}@9H0{X3xId2dV!?QaaX5%UAhnH&Hc`{0$#Y(hZOy+=JDULcg?6rkx{1GhPLWT&2Vqn|Jlg zG2(0%2z(XEUsoXoTqV6ERk!wVJN5IUPMKf+TqUp^Js5D6(?BfapycX6N{*s*p8oWO z@@K6c(pMiemykdXVpRNB4DhanaO90j&FNPs7}y(6VN*@py0bslFc!4*v1&m+bk%6 z9+SE-+Mv;07yjH5KN^}u%Vg|&&LHM91oJX&iK+%d&8}d&cBEkFz_?P(RB&KS(BQBc zvr}fQMR5xp+9KPu1qFDE)6+_Us~eP|Eph>pLj{OI9a15ZGZiAaN`**{!J3-VXS_3y zO_HlvlZY%CYm%I?CdpZAlJ<%U#zEN5+_0S~3U``3vAyy|cOHdC z-WnR{s5Z}dih(~L)iYqU=|e!Ag}Pj3UZy?6_hNZ|iU7bPufYTD!SXb>=bZ%Vm(0~+ zHdjrQ;efe1m})vizYfE$JV0nk4?*1DFQ!lF!`J0l}-m}m%Aqs~TO_drs@pQ9v; z`Vhw>A=IhpLyCH+sUj{$x*}`MfurUqV4jefi%k=U$Q<$(D&1hV;~dI(Ts6;?s^)oe z)vVt_ik?rMCozfpu_sFqg5F@7?CL&*blG67D+~eXk6mO$=(D(03X`r1l6HlWLNs}` zsUo@>RYX`L^U=up-Pg!`n?~kK8ktW4or z_=~9VF{7e+7a2lxF%xyMR<2Rj#rO|8&uEmzW}_@2Dp-PqT_UPriA4oVB2VTe`}L?~ zmouaE8;|Qv75nv-UWBJdSe}o*9@WFNjJm4(7e#`Zq=E+X!3% zo&F{oLdyiLFJoF?CTU&2fSA3!Rkv0%tuHfaeOU#qFXLLTynv+i$HXA~%bHaI?uIH^(Lk^a!~97s~Alf!h^~+Z8T* z*Q;*hLAwGN7qkg){`KZ_*MZo)0tvjr@)Rmq0=|SYD6nslHhn8)hh51XcBKdtD=T^I zO5`;wiO163!MvBRZzIrP?Hx{fp_*4xxq9n=w+V#y(ofKQlDHUn`RX^ z%_<2?R#mdhD#XnyVj0>y_&|FZbGG>n*52Wy7n*Gq720mLRifGGf+MZH$ZV^q*;bo2 zTG5-X1zW5}OROfgpuNLMFVx3sx~5$pt3`d#1xH$Ykv>-Q&C6N=T-P#iT`Pd=S_xd& z3gEg{2G_L}!F4TCml|KMz%_bcs>-m2fUb8+=z6yt!guo!zFS1syDP=;-N+Po6ThLo zgLyAs-$tO}?^t{|>4jFfn@VkW+Pg)kr3;R<_Fhq;7r6A@)S=hQW?j$Cx?V!&^_8r; z9&xjtD3Pu=qu)o_qhIi>L3j0i`hy=g{j28|M%^9v z4rILeGA{~qroi`S`#ShoccO|X>Ft0$RwVB6fSs8staQ`B5V+Dre@@HOaPoRm-+`VGYbtE}QVdRn z5bNefSyfg(uk4@79p%WiZR^1WQqNIehw}6zp^a2{#ix+C54{aBvyA{~v6<64uaj8) z^4v{`O@tdk6&6{RgUs`5De5MN-mRG%H7|_zM4du`U|7#cz(Y#5(Ix2fa@cGV;1)bWw9|>ED6; zW9z;JxvRBFPSFfGz7bz5!Si9^HzaGFed~NK#lI$qqSPzFf>2fFDYnC^<}uR4EYkTQ zK~1>Szmbpl$jEG^Lao9Ok8#t^soXYfJd;OV`1ozBpBlzou*5AUN#hfGOL0f)z7h48 zjxYaOW_YuWghiJ9B49Ix8N>ELjI9%jTG8{m>#{-Ie9c(kN4S0k>!IFF&grb7a`8*_ z;x{px(!?2BEFqld4(SlJXx1<2?9jTa`EmZYo=FUvmxZ1HgA>{01vfQG0Z5{mp7K5v z8;W~)F7~!Mjv08ayBeR5v@DmwZ`tfsPnZgfiY(n8f3kE`T{o42bdJ&Yk#}K^B=m2m z^HI`MfyI9_-E)I?;AP|14PetCAH~ZoC<)`R4T!QO`31cVTHnFFk6D}pMn`js@x9^! z1?nAF@1;{;Xz+ayir?pL8nbsSbqXHMQ#P_|F+7JHlwJw`e08uVEetx818?(aYq?EE z8D|5g5kd%?{p}WETzPOt9o7A4}%yFd5=+r_B6 zhJ^TI1hpEWK!swiI5=*$IM|M$%Ss^DZRN%7j{=+T-ucaFrvIu-oo7lWB(K0`(%EAR(XdzCAgMY%QhsREznMujp}& zKD3Q7o$GOpyte(=&?k5ImEYU%{B>0gO;s{ri-6ueO5vlzdYwM|bwAy|#uhKodye+( zuXILpSdFcisBHw7TSCw1;zlsEF2TK#nU_4`)(bvNmD4M^$f>Q|^h}7vj@E3srXN-QQ@ibA{XcHb@yfNX^+Q0biQ;3R6HT4 z24%k|;+1_}?o5AIGjnybVE77E)85W7Q@+i*^yxO5`qhg&@MZmr?fftDfUx5u?RvaN z?-QhFSMp9~&a$eU>8mP(Ro7JTW}@6{)z4MeT(C&~7vxK2=YX!qJV7EO&#OuK3h~0% zB!ME~zbePKJRUG>*|p~rL{y@PY=TU zMu!v6e!X89Z-3u6rus8HB$gN>A3{rv@A7Rn>$ur&$JV-==Y=8s&t{shOD3Int14GmQQ`ROOG7i z-5=x0uKKE7h;MzMSX_vb*eCryd;PXBu}&_sqab3!s;ZONhi}`@Ka17L3(JIk%vYKL#V8T}t{U#| zAoE`DyLz_Sw&{Pv+A9b~NcJe@T!sHadfn9Ktp~XtnZ(QK-flhbNuXaLO=;2r~58Yi=-5{+y1$QZQDl=YrYTBH1 zxZSjj=?_J=SvB0HtLWVh?>I>G&8r>$6OGovCN^)S)iWjBaD9$kehq^#pwI)I?QX9r zSg1zfp8and^{kd+MPrsIW!6aut^LkbAETBc>X_ZSq4$De88JiheS(%A_36Q%g=V=b zUS$9YRX55IKBJ&y=wZzt-i6H)nzO`r+>m!;KYL4#5+yV$!a(L@614a&a1;?4z5VwR zye$-XB`4l50_VxR(sA#ojGj?;gz>zAEG}O-U5@HPezPp(Cp^w_I;0l=Reqv=Z7VfX z&1KW4it?6n#)_cT4(ZlRZi4h6ScStWUBJ_?iRH!AJemHJ#H-pcpX=We0=F}SL@a~Y zAV%6hT@tdRF7{;AH(1hzvd^1u=ZO=)&up^BeM=O)C>SZ%>#k!_LWN>~!fEl`PoYgn zB~7XdCuJ}%xO7PJ6PXF^w%AfpX=!TO>1kf;_XUsSt-d&PqI5 z+<_QqBkp7gIv4vRhcC7I#9ddH?h_B*OJ5xbL01!-qAi$yoK_xI zMgBA%xDpzIMd=T*cSO&wcp3*xJKNzna2BrT{?zbzA* zdbN80O?w_MuMlGeAzUuX_XqrU+;Ar{qX+TZax@4ah=ZDxm->gBk2uPgFf?4ax>{(u zQD)T2%HYT8&5o&qOrzwW6pF!Sv_e}t{rgdz{ii0SXc4Qk92o~B(emi8Rupo&8R(f!(li~nN1~4>n`;|T7#xbmHE^TX z`v=CdUQ0y2g69KAJT5_2OtsZ%T_-SCEGJM*6hNx*)ldjto`ZFreW=aQTgIoK0t z)ov*n(K^-Z;Ux0PB$SBOwlQReTI^`U4X3>DE@7)MBO$@ilYhKLfau_I>c3z2O|!j% zNr)Fuaphdi2fSnyT&Y+;QVk$o^c<;v<7hm}-Gw;urQ+Ezqje|Di;Psg6M1c1R|N3{pk*ZDL+*PB}$@Rbf{DbNq?Qx!bTl~GW z5s=z?P1MIlh`(#8y}Fb&ak^E%eO3>)_u*XI>jfW@(C~y5q&uQEWRM?JJJNsK<*A+e zZC3r8LfLyN8>QyRQ2)LL|t?AMEgyI#%=+{-jkd89Dx1bv@@+>Jk?`13^J zIIlO*=!BNx5i5K_=2sojLc~~iV#qq%Z<0<#g?K8Db;q2lkQb@Qd1@HmO*Ec%(-%o34({!r(rQpPmBx(S9Im|K=EMFw-HDzRi#6L}?Lq zm-?s9S+f>8*sdx}^zlR|^lw)(^<{H{vL!TfNzpm#Kq{+h9T+!`E{oS zs`PSBTvIT*%oSCfE3TO6hIL)SmV5_{?LRXi*JMW5!5*JG9+4g-Y<;k?Y6XjWH+GWn zSH8T3v%CdLzY2ncF;g7YX#yh7klyqzKR_~z)xplZrHxh1xsk-VaT#4XqQeAHzYf;@ zE8SvUi3a&K_4;=cd1tMr*{>2wJnoC%bxa5U!tug<$V58@QAU>P(pqap?HFHfNx4)O zAtL!g-6S@-RoJS^@k^2NQNQ)DCtAu<#Doyz%=VXk)sK^HByYCBR%%MCm?o-3r3`X8 z)M_#E#0fPppPv*3D(;WU-W;I}5Tb+~GVJ6q^%o=LaRcjw{TRQawlFbY@XxtQ8vz>+29(xvi7dsC% z^;AkX8w#FN1ZW7JW1>5n+sTmVl}yAkR;wCk#tn`pBD8SupeI&37SuUMJ0hpD8@X{& z>Anb!C*1x>X~UCCqhsMvH?d$ewx|;Ktzt`%>yyK!%Jie2=?pYf)9UMW{{nxQYR^m| zsOYrh-lJ>J_DZH7u3*B*KV=8AJeYEfo_fqWppXnkwK3bq@P1(~ooQBsN?yVExCdX!JRc>hSbY>WfwyQ*!4mLwH*- z@B~ko;^ENp=v2@NaaJ-%`35|Q`O;t{^VVP#?yZH!gyBsQYkCU1XvM&vS=W+bbtWOl{2jYH-mh=!a zw-$|XpQyH^F2#PBgi)5pz|8;|paVNMvMqEU&|e_?8ItPIg`mQm&zO{=MbFxp!qTXb z*NtO3KNtz@FJQZ(NK^V+KM)x%XrHQOw1FKokQ_SQE-sTPd-Ua`To$SH_SI_PGNRl^ zAMW8&`Z3${kxhzm_tObj^HOX$k4Ol#jy$K5Ps`y2l?`bCF)}+@7cZp4${J+LD?q zfSViBQW@J4elHw9g2u~@VI==C$hucQHc)1iT3DumWf!23my}PL98Z}{zB9(bnD|qr zvd)hcQrpIzB>su5@o6p<4fxJ6h85H>kB6o2tKC zBkK~*J7F3nW$syRPq2m2mn=8e;3@ zgBR#-bwPAelMsL(t66y-%n2-a#zXir7PM;dax2RmRA$|%hEG`&+!bsTmD+<>9Nu=O zb+BnUT1`Rf$H(6fU~EEe)j+v%q&YJ6I0n-xmwKJxOwdL%60P~TY z^CDT^zIy@l(NSd$<+)Y=WoF@B`AV?FpG!R@9e5HN%d|ygvQq{s1@7ljoCSz$+<~|S zSbqC+4$Gye@2&|I=#VC-CWEI&HgRPI2EzA3yetYz4-@1<${famj6iWGq+|VprrNWAoC-Bf99ZUbXxeOc z?5bxboJ!z|Bfk*rIDbo%3CdU{C@^>7_2?7PGMzAeS2?aYeIkDq+aN9WQK8rs(KGgJ zQdO3D+;AkUnoV8e5FS@kWNvEgP9vW~~& zJ2Xo~WS<;Q!jDL$Dt5ClZYyO=cf=1McIBd7wp7*55S41JRkcDc&VK$@WPUr*s=$R2 z$GzVJYWNU};ldK7l2E^ zJ>Us&4Y&n<0U`pCfVe<>AQ6xlNCjj9G6T7Rd_YzpJCGA729yMT2Py-NfW|;GAQ;nz~CxMH=4d5y83U~p006qer zfNvmZ5E2L*Lpbk(cs0%a%8U{^* zra|kV4bUOz2y_g30)2o!!4P05Fg*AR7!`~G#suSn@xjDkGB5?08cYMG1=E8W!8~9A zun1TVEDu%%tAPc6oSLqBamGAg^d}JjhCAlaunis90}YI z3_R&UDv}QrQY5Sa8srchyqRHWjz0vOm>o#z%ZT078Wbu6^njf3INS|BDjQjCst#R` z1-q~fgppbaKYYRj#E&tUZ{|0n^pK^^P)7CPJfi@>zj*=JbyF+~yyVCEqxo$04n-E` zG5%UL$+}~`qjNjOUQts+)C0!R_8ZTs3@wyw_D`%ooe+hHuaqDVvbIfPH z6|J&GYk%)>eP26A|1kA4`mp*~iV!@zHSPFD{^Ntr`@~tlvigmo0utVv^;X!_{|hu! z&kZ3o#Q%=g>Ts{Dfqzk&^^a)t|A|(||Ki&G?nMY-MisyG3ECqt@}#|kmq7^E=QRZvepbP2!u?sqAN{$xHmfyXYWHgo)t?#T2Jd80;o$10U9EoY=l_ zern8u2YzJ@N@S4bg{YDG!H-7V=nE!@>fLR9{TWTsSmussLMS1ZErW~TdaPfw7V_&) z0h4t|6QUBm5rEVH73;%(YB%sWfWJ09&!z;|oG`ZEGO6)YnEfFh&4zTPOO$h%R*UC| z(xxAoZd3pAN=O^7UApUkuU=7MWPPJh+%<$$EG-I)|UX+{~Woi+zpggjaa*kYIIKOViP{EAdo~&V= z2p58HTd!%2P(OHP$F=Gf5b#*il=6gLAH)Tu50)W{Rr~R)bUi=86;pvtRrU5FQBB1e z_EOEPQK6QOpvgi{$*SfW0Yl$31f^Zcl&OA|AV^yEh9me-8G@c+rNc6SgpNi1%7s$S zu%yb)EeCk^1CCtLiHC_xbKPA#s8_j+IUx7XB;ON4S6nkUrm2@iVxI{o@0xhXnoPyF zB7|lOzVUs%UTqmd)0-OR)|E0&?ux`9WX$6AZDgDNH3+tZ8;b%FMO4u!sFO6c^Kq%% z6qHLw>)gQ;8v0sM8TKz{%*#5~XBViE&{ofBv;l*vGza~=L1EQ&O*Jh|)2W=F$uz$| zB+%z`IB#4$N&gho74&VDu&ait!`s?d@6koLr)!7h_D$|y<)kC7PAHkxD?HX+tKp}e z!FC?%V~Ai?ASBSWI)@)d01*cZL_6gz;#c&37?ynF=+Vy)Ot^wG*5oSQ3^J1qyZ^S= zG1h6@QvO5S#0}I)$6(vVd}V@FW#u+? zl`Ieu>fnBaf035`C6j%{_ecHq2UB^bcidsDZ8=a4swu1D*9s+>gEz~dS_Da7D8#17_v;# zJPCtLJ(`pV6dd^)*F<_4vBMMS`?u>`_wz1T7*)d%;FXVn48?hNxq7Opzh(AeX>E0W zqW$2JriA|*g=n2e)he6c8$_5#)h4?efS8#_)grqa@vl}dsz`Q@5ZfjUFNj+RnpQ~1 zjiStH=S@I(KgO|bA4PN|Z^)r&j5>VTe zk81ZOHD!xDZpF01494j8lEbAQ7La|%KmD$r< z`(o>N1S#GLDcKx{M;$539EEYf)aM0524S!cdGJ@p#kEfhwW1wkQ6=yhAkOp)46&G> zc<0&|jyk>xIA!RAg2_Yaq4{-hMd`_7Nbi5|(1(Mzs7(Te7TFsrSV<9JKu{?mp8%1P z-2GPq+0!VF&V_zV-i5`Zx7hwg>jOARu96B zWTYWGg{heg2VpG=vcewNB_Z`Mu&R-eC7h9Sg(Jlo4nX)B_>mBlkZX-X za+l*l`0+Z99w|3C@JocORl}Q;≠d3LChZ%#ooEV27ZwD3_27A&Aq9ij~+~gnxS! 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⪙x6h5q3P z)Ovuh71`;Ch;Sg>1&g@P?*Vo*X!7djgGAVm%oj)L0H<(3oinuP0a5ONaQa{6gWcHP zD1}4syTe!Ls>AX-)>o}h5P@)mA*Ihf)U{v$pGvAfm*~PB+?;Wq+TP`!=RXQyNQ3R#$=9-KX%<_Ns%>_0@ zkoswCfChEwaHZsI#FOt8(HVar#76UuxONa0yK7V}~ zLOX&C_;e%8Vr;+$xBpIwQ)57cb`!|?adXRVONsZ(Z{dq@=j&@r-oAt$6zE2h2v6Ys zfe0hi^+SqTUA=@2cZi$KRgRIu5aUm3=%HhjH3E>Qrdh}&7!lmD_rHLW%yGZtWT=G3 z9}4B(NLO~FCl2lQDezSy#=y-D524pZIo0640~bo==TXOJuX2NSDa+yvlRHM@!NN zRu>^?w?OcjD9EoxFF1}UIgB5I?LI(|C6wHVF&pygI(9lWc{3DJpePtUV+>^X*ZH&k zS3Osa(K)OufjE>Yu{{EG5HQJKe8hXFEiL5wAik1;Ugr>O`ScpqK?lR|;3OC$wE@3A z$DEpx{pg;w2$vBT{txnA4mcxL%0jZyf)_Ex#iE-?5iWU#ey(m(7vLBudw4eC=a-WL zIb)t+USA*?Qu2Z66n{2YXBc<qIY-ok+~ABKAt1Q+~EYv-sV)$IzL z>P|>Z5kVgd3L_v{7}*M;b^RKOM5qWHx)c?bu z^b#Xof(hM`Q&wL>)hw}{*@>eRS@fhqkY?Imn`ZJ{#~72MO5Y?ifQVAKA=KC-Y%C~{ z8UsTVUqe6+stR}4VHl?`7k?V2(h60UYE^c97x(s)P}TsTyc`o zmpxwx{}N<{z?sD4Wp1chCeB zmAZH$=q^m$R({UVo6L0{3En)@6L-HII=2601WUDzAWr(uyP*x0M z33(+Kxmf=u(ZfA+BSWo{oA(iU-1c?Valgt>WTmWXU7}#7u09QrU9#9SwvP5YY z31KpJ4EQJ<(6&G@^D3sxCbMQR=88`#FR?6Cg@RyO*w4v@)$I(?=oHCYWdbrG&K zgWscZWIHK!k_4^|u}hLhi8MmGpnzC?dLaJVGmsskdL=)n@dS**SZ$HhI3+$ox)r}o zEs2dR%rp>1W7-qr@CDboMe-9dLbh|YIfKo9ze^O3AG?NWTG=T8>}|`EQ`e@s3zv3R zXYw`)0;36oJ$Tf4MA1B98{d1v8^cJ=`Vv;etT4@DQUP`c zTSo%mH{S+nnLzC6nC?o3mr7}sYrN^GEgFPbU_@eiXfEn zC1YSWVS@+zTa-m5aqt=>XsV{o{9^lL|9c8)vLLglNde1zo&t4b>g!I;Kj|3>f$b>t zgVgyY6HCf{szc{xU({IAG?miFSpPt4pX^U07J*uDNSuO?n#hlVkeWV8Lpq|U7}kZ! z&IBkj1moq`3S%Alix|*oz~ML0{vGm&Q~>pXMe2Z;p}vMs67^E}BUFai;SLfEu`YUs znhuTkZM60ZXWL!tU}GHeee*N`pKqEF_IJtPLvK)bReR~cKuk8lErJSWklFH64(S=B zXWm*1VOsCkf1P(-MfbBYdzrSyVBj|)a~YqqCdhJf*%f#pPPI)YhVnZjVYWaca%34n zGV@9sx1`;%?}YjgVZtU+280>*R-A#|ApICo3U#F~hO4G!sA7+4M@W^JV6cawig3V1 z;05xfiJ6AYBZu>R#- z!R*>8qOd-QV}^nIWlTD0Xmd!==Ses%S^K0>0fkATWi%Q(_V0yd>Wu7STx7o>kfTYF zHtmW@l^5Xb*Yi7~ahm7hTmhxH96<_0a*U|+CS8`W;|~NPTbCb#acr;bjl!@-AmhSX zG`S9`@+ZBay`42;{blEinQWS5#F81YpYlcQFLYG7L(8#Oj8(Mk;B0wFfIBhZTuBEs z%M$>(`s&G;^uu7JL6nR1t47OnKtjxz*7V&Wq`P4QLy&=H#TCg9C8ByOfUrh&6&ogBzi_7A!jndLYtjoc_2~E7jwA`H8QV5 zh{0B-9VERx$bhwg-9e!5eYt}=syl@$R^CBC&toW?Q+$kQIg^h zNmo=xg4_`u{4NB>-bbPYiz4Qr@0Bji5*Q6nS;~^=5Aa5C+pKRy(MOAspK4WSPz<@H z2{{KX!NwvJGyPy(Umag=O1}tfy3rRc-ONwkw`}4+6sf12PZ8szUxeDgQJrQ>CI>Ns zrqYUoo-yDuw&Ylc1gcGy@70${=-=@V_*l&JWJ%v6S+c=T2!>Qib*3_5#{0s_;|gzQYVD|(N$#0;uLd@eal3imHX%Ez z;>!7xlidvGnaqT|6Q};H(fB|qMAcg=-r+LtsSY0LO&ZX9HnvoOLJ_Y}Y`?WK2?8P# z_-2hTRV3X+zXXHRte_Jj?{TLv0VX!Rq>vr&yLKMdad*(s2catDh^2%;@fv@n;i)LH z0GbRV8I*TaS@cam`{ka)@J59yT>}$qJFnpDZWfkGM4nHeSp8*)Ln0{Vf8qjA)ENjD zPw#ChUM6z*9Is6_HYLlUc8+6B;$hn-5Y@Kil{eov0jp1rprt1HgKx)BSpRFA;3x2@Nwdfz& zr8m<7Ko{eou=J zI4aS2xH2=mhN*Z(xBO=gvCojGT3oO#)#LzNL(Q%Jr9Z~sKG}Wi#PTvb^PIaOa)FvBFp1%@Yw0>vK{j&+M zR8)P~MmPWFp-EleZJ0N_@gbc@4NF(7Qy;C{NvWI*(Q4&-|HCT7R+KGqMyHnplqw*z zQ+j>b^z3W1U8$4&T#^@T^#f!6YisYP=k?g&25MS!GgN_x9SPaXt?XTR57*f5UUnGb z_2H=SsW9VhkmUUj9d)>i<$aL8Gjb^_v-x88clL>guIFuLTj&MU?`yeQNjB$t7Wye$ zqUy-!_50vjhHVG^I5##b%q^$UZ%(E*!?7>pv$Xou^R`Paqx;}BQwmy)l`mJ}ckN;{ zW8&SXb^+%TjwKr==VIfhR&L7um9Ej&UH>)YLi92>N4L!H{hkOOm+@-)1WZ>`aW|Z^ zs|H**YV`__#7_LGvu^JouoljHX;1Sr(PmT5$0GAtM=Gd^|^2Mj)F|!Hq zyFKwHa!bSp9gh3q?r(Ww1s*S*_Rk{@+YV#(Mbg_PpE6VGGhNq6;aiay?{A#PVeba* z4%$wmmuUM|+2rS4^J}lxx48AJOY`oRl-2oJpTjj=9CU z>*K>u%%|?Uy|=jJk=!mMqk;J4C_81U_O&SUfGj+EiO8nh6NS1HR;>aW@D2l#0W zmx+h{cEl=GO2`gZ!{_^l*DSS$>&04A&B=TLn$s^8AIIaxcD^uErIX*sKKsMw<0+Zm25N4SR|Dy9P-YHa#i3HU*b87p7ob2ak!`j=THlivHmd}1r{&KlEe zTs9fljCc3pctNl9ThmiJo}E|ehMUh1N5fb{lE+o!Bi@w<%l*;5QkBDw!9n#eN4JGt zyVdq&CtaLg>Pz|Q>Z!Gx&)rAL=FJxO;_JE1C2ic|cUNy0#lawtQ>?t1j^#gm<-L2T zcIo}L+OwSH>=1MMvgWN3?rbA&_4fud&ev+jf*B1z7R$S6o(kseiszrnz4lA|B{SKJ zuhH3%^$ky4`FvJn^=sT(vlVfqk(DkSujG})6SBM8)d_MKCJ-00`vE)dUv6^UAJ_iF zS6;3LNa#G;`q53iXkx?2wA{HLo1`ziRZ?!{Y*>TvFkAI{DMJ<^;z&RI*uxN*uDr)j zNU+}~yf{yvf?Xn5kzsd7;NdQVUNR&&SQ51nk^zBZwu3elrIo<$p{<43HjJoLQm{Zk z231T5$zmupukunVM3{G}{{l%SNDB4Sx|A~GK9V$3{W@Ihuc1r64Htzp_^kyZ2?V`V zdei;o^^;xCa_maU2dhmr|KNL9_PqYZJPog(E9s~KsG0w46;e4rfw}25ngu(A#A-bJ zzUSL=vFCKOX&+KaWqs=Xj7t5O(ZnJOi}RJS-sU@Bd;9eBs%yCGTpU{1<$aa5={ie+ z*3$iHb3HZhpVuAj;Jad1Ug7!uxe`k5tkwIu2eTa=sI~j;ezk{IYW{q8@?g`=xF7sm zJL`A<@iB|Gt=Uxbv9;so%DZxJB6S{2gYG8dUgoFydek^+YdLfM^LY5#IbSFf;CVXF zl=?$O(!gy>YUT5pH!#O?n*vu4aCjx_E=ygZV zM5-2)s;`1{YL(tmgJh(2YoTGNqXY`F$rO{5zLAMiMvcZZS`Cv%)T#$JrESR(`f7LI z;U?<%NSAf#dgUsq<3`aI+T<}b89NHSaIgE%wo^Q2~tN3H9b7ajAGbPWDX)LRVfFv$8nN*dV+wz^+lJg-_ame#TnePu-{W- z4w5L9pln5q97H+X>A@Sr+C79Uq?3EeQ*`Kk1E^5#i5`Pb#4tp<;z_aS$Ulz#01pSu zt|aBiE$5-Px~8JtR5@6A^pf6=<;Ellrr8FxNsDbj?3r>z>NlOpsx=PzS>u@0Xf-eS z8kx|M(PQPz}9-&cJyRFT%BfeRZJ0f^0*#)T;oX8~g%h4Rv-wj!x|gC{u#K?J1> z4LIzQ0%$g1`?(dyw2BSC8``_{HD#81Ogm|ualZG>$unVgSTJxQU_*tS0v!L=^KP31 zM1u*+lsnQ&><=Zb3%8rE^vfUd4GMw7^DKFO>msrefLXsKrbtME;xdg}VY>@iBMk&i z$?NA_=gVcPiVIGI3I4ih!4s5K)h|RE^QKM|X z5-BLNh;0KFR#9b{Aq}kgJBs3^x?~)?dhL;VYmrVyEgk@>prBdvwpJ>lv-qa*nKk*! zlb&l9YIPa<0v%YTrdZ5!;?#dnv4*bG!^ZOS1Xh5ELM*w|bJSLT1RT-^L>zfF87OO> z6-gLwt$_BVfjI*^w%u}u+T_s@bymY>9>ps_H}_3`CAP?^KoEPN(ygGSY;NPf2Rw|X zf;jc&)UtN<;GvwYM-(S=F<$uv-EvlnIiP2rMWV|lpn$}Wq6C5 z4fc3AVJN>Y#GEK_8{oC60vFq)UehoQ8^KQkO$+c4+JK%drFk$&EKuDV@tu=0hpl)6 zjVpw)jqpRhf;zLQJ+^~9usnd$-GEX8x*V6OGgV}n zQ(RsY<8uzkqwd`^QzU|XQC{>u6?qpq9p;>LAdJ=)t$l%7PO8yZh@nETA=psH0!nSY zr1L>Oas!UxhjC0)dq4t(4ndAh-nCN`ryIXeU+={tK@BnbIG(0a1{)0K_%<1EzZopL)-A(;;g|^? z^L&KO1q{T^EmO$lB8i&La#cAqS#b*dVvQcRNeuld@8T z0K;P&NSpYM3*XM-GkVgu!Ttf}aF6)+J@>agX(Kca+Tb8rj z%?6BRV%rr+9Nd(l2;FUi_Jbh`=elzY%FzYDEkFve2>?T|A^9i6k*cKYBs($wrNuch z%>wuXuJ?i0SfQ5H}*IZ$w@~zf7Z2L~KGBmC8%a+6jUj`Y% zAiN;yLdA*zO;FIbri``smmEZR1&xID%Lx4!(ZaTm5)mcBLN8|CRVYu6JpZ%qq(hi`8LD7QHM~ z7Rw~jx&FYz!9*JH1>L5p?7?rA5-bXgF+Z%E#4%m5n8a;>e8C0m-e7%|)V|AXorSd# zkzA60JMgw?`;+#3-n&{gL>k?N&lVV!2V z&rFx0s*0gzOJ-xhqO>z*Wj;Y8Z5_NQizr+^s#p=Y2EMY3udeH`qJLU>vo-7SsdJ^* z!AP00F5{LT9IV0Q7Md!d?8G1=V)>}YwEncTCQX-tSqZ@8Ewwz#EYrIJxkfar!xdil z^&fxw=Lj_UVqr`_dF)G2m%Z5R^S)fio%Pn1cEuq-HLoE{n41F zcZkkZ(~q~q_xK7v)9dl9#-}^iL(%mzdiyl(2zc%D-n=Wm^%TU{>1d+){Jnrq@qycV z!mBV^vb;(paydW+p8LrCc;VFjIwc3=YgO|M9ps0V^3DQC**g8~ zQIo|}ln_@VN$1;{lZhP#GkuhZGKqQEno_E1Yk66AT#^!}3HL(JdyXB;n2D=CC@pu| zmOK6w9h`P$<{JLo6EbYQp+~9VeA`dm%zeYi-lRCiq36i>`jLGze&TcM;`4BysMpPI z<=xiC?m(X!*zJYmC43F)F5%CXN2s!-1Zszol_f=;ISkZAj(NW@9;i`es}HT~ckr(L zVyv<#KVy=$I%PQS=$uYsYxbs&sOvj$+{t9I2vy2dT=!Um1UZ_$I!WJkNwQ}`k~K}O z>^dMqrSXjW{eWi(@dKZwQ*@A4O7QTjrPN7k_aP_1=)ooZ43YTV8VK z@=Ld1r@1cjPw37DY{>PoN8_CLJNQc6ZCiYdq|JR7S_H1N+O)q~GO@9H+nc!U`FuQf z3k-Xh?R8G>y!{%p<$Ge^A^?_dB?}WkYMf1=E!RyaV5E zl?#&TvlFJW75&`?+Pd$$6~M9;)4Gql73H>1z#Zv!$j}9TJIKHt0>A&qn~692^bY;r z=1tWbya#&po?F%sxb&V-cR(X+RBwPpdxY$s=Z*Kvsyvb0|31}*e z1sjIR#uBB96$yVq6qcEBY?UUR8G*tD=Nymr8)6zP7VuHzvc`yQ;{?kq!kjo zaAzD1Wd9^08OmPDmLPW|32IsUJ4~bQht$zlj9;zbqCeX^_w30&OdG1BB6rc62s>x& zm=Akq76mKNwro*|ynm@k#A;=tNQ5S2?IS1L_3@EZKpNLr8VU$5I8WmW(Yh$mN>d7A z4ik(s42QCJVbhJ6@d1IO3V`%6B5y;3w9iKru_XWjVa^@k0zsBQ2&ObO5b$G0;{c@; zX;8HT0W}%nKMhjA;3x_aOC{R!Bl`~8InV`xY(@!~;s!Mffn~anA;}fG#44DXeTfF) zG{k90s^Uz(qgiUk3P4eG0C*?Vin?+5Cmp$9AYZB{`xZcM0?p=6U- z6acao)uEHYh?LSBpP7b_#438U9Wl65SeFgfaiMsFT+{OpNFnQpP8_&)5X|cwQxcFR z)Fd#ba9s4tU>}I{I}ty9=#V^tU>?eTL@z!PIaDmF96WPLMPcxrhN#X=x+n90U2Wf=wi+K$J z2*bx3f<*ScE7OJc@7oh2mpS(LxfA=+0*KQBAObJU1f2D>0SGnd#yO0^b?OWKNH>fG z&6-FYqC89>z&W>C%K)5rVbl`ENO5!>34p*B%_~h(lVIBd=K;Zj1qYdK7Xextuv^OR1S1g0rxs4>+MCp(7OmsuF|v8i`wrQ;U-m%OcYWAJE?uF2>Sx zbWgiQu9}dR!XvegpGOttM!bqK_G!Zl4y0ufw84KH*_3O<$0V{GVp?BFO|#(sV|yJL z5l?wjpKLJ7EY#;tnrrpyD?MZfH52S2fRb>?M9i>0f-iT}6i_sA z2UO0PBLbw)8+Q>HLs%w^%1s@g()}c2eDf-_Y1s{cP!h5}{E?8T)W`t9e!tmS0tr+) z#sJ!E_z{Fcg+T}e$eSV)fqk|_d|pdQDmz9^nwS(+|BFoHQAAH8rLc5w z&o*tS$b@m7S(v{&lA1#|EV7KA>a5pt2~f|`iDs?Y>YDRdhu5M@quWwo#jeuW7M6aLnZeQfsQz#@hn}qCWfwq_`QfYB zb#17&9PhR3pGxcN>c2R#s;&7o>{9c+wAVddc%o~yt^Eh9v)b8dc|zoQ^^~C+*{=H) zxwjH6R`2~i1hCRGM|Z{JG7PI!@B8`PZSqvMW6q(*XErOdxo0PeuJ-KPz*N2Jcm0o@ z+%0-%uboo#hr6b?r2VZMj~h+#u^~vejD)BkmN_^)_zn8-TXB0iV+H(iaj4?)l07AV z{Sve?3rl20!H5F#KP;}i0KgB}e^*|dMg&?U{!JNbH~;|b|2S#>ukfPgXN~-d+WWX# ze;ZBL{+0!TBuKkP3_?~f0|O$smq5)hhrmbY7)yUAkcC*b9pHLC4h}M#?09a}3 zkC`0M!N)4tT2&~mBFeP{>r%kK+|Um}WA#q3(qyP)@NIN!m0QlGlE^u|u-JX;mHWDL z`q^_UtLIjwc})`TZD!>)If3S4LnMG99Eg9SWm3;Z4xaG9k6(sibe|?kc09ySO+67w zK^!HZl9doZPID6If&Nr<3~{GB3gOimCLf`EpEN`e6Y5+%uq zf%GV>Av>lTJ?M^YCSROY9gM8Zjwl}_nQItBeDsrtDIS()h_P)ou_no2l!Y(F=HL1^ z){v0l&)6AU5cLU#1VxFWhB0nUd76m>z(>-xykv|7RH95qd5*0tJ^}cUdz-nId@MN9 zz5iOSG9Jr##wIEXs)~~^R7C{_Tbs7h2l9Rrv0yD>1du(b<4SBtt;}hT7FkGEX1A?f zc5CbnGWh54kFLT@6bOk3bA_WM^8q`jkcOl%Vt6?l2G|bhUuEv15quMIs1lU>-qbsO zNI4x}Qp9+bwTwlhOcYe|qA|dazCDl%r~DD*VDdviOlq z4MF}aec?fBK&l)Q9&7N~cN0D&c4H#;g+dRQ79DDeBQN}^a!AvZRS=@jxDX@rd5i-s z#Qygc$G}_>R(LVjR>GBiWSqcUxmqv$n7t!=fiRs*)(2@4Wh!P%9?_KhgAG~bvn9`| zE-|SL4S`LI@yiw`=s2gSSSN3)QBH!UWZ;_5X=}MqD&e@a_oD$Ja|TXj!aIstCu5{X zdz=Gm)-}MBxqhPF;S)D~Brcay7&s%UgTJhnrf!yn)@)Yen|7z1?qPWE+1GG;mPbtv zk$Cs|eUq~0Nc&YL5)w&M zD2ORk3-dNp7*mR%u>Nob=CtB(IRkPoPFpDFuQTn8q2!|tabW(LnLjW$e`II@!&6!s zdGO{k>*Ja}{6j9bzMv{#ZbwgeH9w7=hNB0V8nk?4q)z+nP`lW#b!AA3c}0zk(r*W z2Z$EjsyvQD^qm^M5P*B?3iMxWAeuKHK8u0Lo;scum^SUnIi>;F0^FF~&Y03atq?GW zzse>is@%NL%4aH?MG%-#z#$={|AFV)s-Y5!YAJ}Z%~+v>*cQ>6z56SpqDvH2h=okK zGWZ3ejSGU&Tsa~=8$~`yKfNCk418t*V5Qs?e)z;V8|+aV9-c`G)l`oHZP0xpMMH?K zV&B`;5@e~IKzxE=End{Q9wo`mv}!LmWZnW?Ze5~6vQV=B5J-19W(wQ*`R-g|;42GL zC3F|6REYej?j}EyJNjSi?T8AY`bFA$if2h^k!d6Mye;_653!m#I<>92B!zzz=usaX znRWj@_DO(kI$~n*IctHmmL;R_)V7eKleaWY4ppjtdep)&#hHuEi%T7I5%S}bazaIr zE`S~0Rawtp2R=_=e^6#5wh1Ab&)J`2RoBlnPVLFUXa1b`_|eU=sp*pdI?)#=|G`DQ z#I3V--jN`7VFWAXcZV+m?Va3UvUZFmMT9#9Q3NDn_#qI(ITy}R+xcrH{;G~_!1396 zXlEQhCukS$7AFpj&KmRpl*_bo{6%LUPVx4cN}%A?`(%73r?;tz`AWyTWsYXkQ~R_; zqujzxh91?pXMcAW93yKE_srPb)avCPoY#1SrwtIfFRYFpiqu9f6C8|{aa_Q-j*QMFX8EZNhW(O2J8-eZsF5pcISJFWCxWhPF~ z-^1|>GCH^|PPdhnuBGSkAlOUQq}8s^TG-l}vz`|H%ORi59xfl9Tif<-Ma~}Ml{u2# zZkorM@{;A0;-u}*oN|jsB^=-Taw? zYD=t_Tunaj{Xvn|$6P3VmT_w32V(aaiKcD{{|&55Je*x#;}r^nP?i*^rsZ^Jsv z`GAwcu*^8zFX!bcqjDqoT09&Mz9m~JbbxIB|<8!$Dqm;`dCb})l4v(jh-Wr^>uMmUNK`S{oQo%Qv!H@N+)me~Pf4S95 z0qqZu{dUI-&tl&mFdtR3Gfv)HMxGXVzur3Cxq=Et?(bPijP_v!(m8*mQE0{)B)n|f zPLJBh6|!bjFK|ALO_g?3;4@tZDSP}B@o@|Fw7iDYy=tw9mg9Q}j9kf6Aq-nt;(Hd! zelTR#_!$%bT%4$|B4za{(>vconDd$R zd)Pmo^I}IdWv?roxwF)$H6!lS=UWNtTpDV}e?b;pJ~CZ3cGrh)b-jQ0#QGC;t_r&Cw6lM{ z$JaY`yZpWvrR27(e0wYp6DmJ{yG~QB_%0pM;kPkpf7bh|#MhHm_|!EpJ>D*f5I>a7 znhI^MzQ<=_MN|yw1e`|>-hNjB4<_}DTy<@n8FU0^i*WwcXp5{axH$7%mz*x>c0}k( z)8%WOv34Zh6s#_0p3~DTAaY9Du{h z#`JWZI}POmeIt>em_lX9a&;DkieX-H7|TfbDgmv+79@)**5Zx5%9f3d9Su_>zo$4E zw)dBu_Zhbtp4YAQMvZq7G=RViCdS3oqRC+j0DV{h|2Oi#mHNV!T2Gqu6B;&xF_~_T zo;$;nMOr9b+>;TCc``>B>Ck@=r5GE8{-iX2fO6(*jzW26_Bjf`$+mR-X!D1c2FHLq^2Nk>HNR;xkVhf+CelSVZgHidJ<( zG7#e`KoMx}N^E8z#Jal7-heU%+(6zA3BLgf{2N!W9)O{oH$#tTs7xNrTvOTzSR)St z!fadg>`nv{nVyHwJV-r}Mq_%|gvbU!WU6YOZNM{hM$ZHlr3MATKmSI~iK{jNX)b$w z*N!b~veze`E6CtEEF;exGh6g5%84agfVcM~-K{8>1}(}OIY%`OqEgdzzHh@KK?b-@ zG3?H1o5ft|o{*6j2Jrk-K>j4mQYlwxU!0q_;Z3a!2Dt_~jUP3jQ0@uLYzQiON{CIR zHZk9-^=IWzpb>#8JVjc>r925r4M;zC1-O+ez{413|_KYB0UbVXMP691*kbG8S_;qCrv$84`iyqA<~r`HOil zLxwN)0DBBx9KS`^uIhUPL?W|pHIr^L)1~)mLG$+^vtOAh@HKZmCSDQX;!N$L^|qm| zs0TetPil5A@lQHjMY~CHZb&KY^xaA@1Mq%GjfWt zIIZQ*QJ|B6bE`y#z3$fRbf0u6nuwjJ!B9Keb*xj+p%NU-PV?8WPcQhHift9umDMFr z+x1x0{I*i2>a!~q>esL2ih-M=9vd7`1~1av&9)IQKHp=ymjdMEsD<0DdT-4%FHbKG zo7X`ZR3$v$ahKi}zx|$C&72Y3?$3V`r=Fh5tF`-f8$~N^(ySHUr`X~4!9qzsh}L2O zv`%hzHsXV^*+5G{_|9VC>~*kNXh#PTR4I2k&fDIo86R7ZoAY^nqC=b?EZCL|8Ss9x$CXv zE~&YddIxo7@9h<=Y;$HZC)%FwcrmX&EyP>pSI=i-wGX_JEpEIl>2i}{Ny{6x-Mr>ty3^MXuhs;kUz(G%F!Q6bn<-BjW$d9yWAP$ zkJsNZW9FYqG*x!@rKea}&@<75OHDUx8fadVP}tUiRkoIHNz)qKk_Bmwom;rq740}b zA@+r5h$;&lAHpu9JQ|mS+f;#@zVRCv3Wv$Pi$|e9Sf6ChDzlXD<@wu&xr>PFIU7wC z_GQtQX|H9+a8AVVGd7$)Mpq~MGP=0C27^#|Y{C1uOIY@#@K zq-#dCr@fuV(ckCys$B2)hGHv$HCBVY=Y+`ZP*1TBv`>D(tO4k`3_orw{GtgA#?0yb zqzOu6F|hqV z14Grv8f6qUx0`48=FQ35?WbihAkOYe>kzu7JOI=vx}O1@H5n@S@xygi_w(kZq0@{% zBp5+RT0sTfGQGIRZ_zE8ZMORa+={@baU0kmcL;r zQRh(>Gh60TqjXRPt2N45xv+ZVFk@j>8443hX?baqw?3vKp(%zttgdPT7|9`phhQYt z41tV{y)%l^=ev%jbgX#C6i_19Ae`->w7s~#kuO6Yumq(PHC_benVUQP~G3`Bc zgiXRQuM89ZWDDly%a&1jr*Snql~9SWbmB1B_!k33xHCe4ga;e+OQ?tIqR5aCmQ;}F zjdmL{t^wqvQDsxafTfWtFFzx# z;SDMM2Emjahc8YcMq9Ma1#(AoIA-#8JdR@Mo<;+%#Aon!AP7_l6)W9}(zbq#-;{+* zE=h9)7GtmJO+t1TEb0i<UB69lR$>qjb_+&3=Krb=0Yn|Bt~)=iS(bTc z8%j5xhtQJbO2M;#*k3($P-##itN-?J5(vf0M~uRy)_A4)_c;=`R~@VA4Kwy`N1DfS z7!EN-@UbGGIXPT+4maRkQPav!t7DnxT-A%l7j1Pkb-v`W?)c5oi;8`dQRW=*lp$CD zzLCi^hFOY^IR+K$+lZHZ2AeD?70k6EotP>RG?}`Ks&RYV2jxIbNQ4rjXW}AAIs?``Iy*bS2x}H}ys>vsFrLsWCvvl;loeO&H85$drx@RaRTogv;*jO#HS0L{8&RnziQv1@*$(PLf{MBu^fjykh{ zSNi^CyD8@%9kO|>g{IlX_*B8>u*tQnn#+c^f~!M0@dea9-KtYg+S=D{G7QMVrzPE? zy#N{wrpMvKx#9YdX~E}Y96D2P((7PnqcEnFE3P_&bD`nxsC&m|_1F2;m<_7FyZ4Hm zf0oD3{mFWq;P+NHjqH!&ld#KOduQzGD%?${qc4B2G9yPjeedhde0T0u7RI)()9wMd zny-S>-SFGduCMOP{9TIiEE!jChtUf2a_;+03fIm`X{;m(QSJ`k`wH?kdZ{nvH)pc5 zj!q9XV>9LHqFTyMk{4@_RLgO8Pt)DWTzjFPyWh=vxfT^G&IaO|E7=d!s)zT=J*3e} ztY6BtcRoR#`@;izKo-%cW~KIWtMsAM?s7dZ&#Rw?)>P+HAG&+l%BEVj zryl#ReRr43N%)=}Zil>sN!*3InaE;zK|kA?HeOzyonMc;@`}>9p2&`-v8fHV_2#1H zn#NB}xP#VvLxkMw#h;l58z|Mx61dw~Gs7n2Ah#BLM`K{-4PL7Q)Mlo*UAl-Y+AJ%)uL+$O-_j#qa8tGZqq_Pk&JC75x922%kY( z5*I^c9iHSA85)z-$;!FYAZ{j#JSal40Fe=F#Xm8Zz!i!CYr(b&fGTz_0gAxGl$qlD zT(N=;d{eYFf*6xf78{xZ*y5+B`{#=_?9lA)Xvqj0QfQ1bGJ9KvIv=yQG5wK`GDuof z-j(l7GNc8D`lAr4aQd61w1?$3<=N&ABT&5h0$+BQ;Y|v%T^3e*Ar^P4i!yem7YP@g zoe{VBD*LGl#wph0epvXX@(Xr7{rEc9gN%xYBBRT<%y_Don;*04_q>B?v;$xIqTA7Z zGIzXw8Wyx^7t^zZV3R@ZQGR^)%C_sf#kS#jOXionb45A{@8@3q0lo+g*X4dYqLzF6 z<~SU8YNO|2^A#7iv+?2LmgjssUBA#s^YCDW$^o-F{M3-;L?=WwW~9copNH#_`zFW3dac7R_q3P`>8kIbcYht!2sJ8<2G zWj8?31^T+D+l5*?h~v(4GlX>~y7lZ=b^AZ-Z~QTg4%Qj|iT_Ff03`o$gRrx)v9r~4 zHgR(PuRS7KebWg`B}1)qbHzbx)V33c3sT}tm=rKtoQrjBrrBl`5hNjvee2Ir%Tj}g zb7AMPe$5EN7(G2m8Voc2;nbCOnn4(3&US@QQHy16YO2qvT%IC}%4b{et+Ui$?)7RJ zl_IBqm*=++`ukG*BT@a@*WA<9QaZ)&eS~_|C7)6KnxCChw#eqR@^-Rxiz21U#Gl=J z?_zn{H_74)uWXgp2E{Rsn$^E9IGb)A1K>GvE(0^ij4pvK6T>aqB4o6#e@0s_IohMI zX+5qzI?p&Dx0Inp$doA1)go+~)$j22$M2b_Ts_JX@9HdzD z9k$sHUu!oxtxIy~sbh|9h8Rw}biwQ-LmwC4Rnv}X&Tb5^^E)4|wU5XwkG~}4$>c+= zMtId0%8#Q!N8#iz!Hv>v9FthI>AWe?t}nxl&2IEuaPThCZIXypehxnhm6AMwV#GqA zQ<~HcQoK#ZPVSQhPeX!|Vd7S(cDuJE5wSae*66&5(|12BS2e)($(Og7QQe7R-xoyX zAW+{q8i)uN%Fm$vqf`)haSFcDBPBNTl=_TUFI8OYR_}2!h9et`kJK7l_bNtq!o3ZQ z;@%wyB|)zeU*H$Xbe(k_C1IbXp*I}PrT3WN=S@<0h5N6OU17S5l3Q!dkc9I@5I9Vb zY|^+P<$xk!xQB~;6*NlLSV|RdgodeH?G+Yehw#e&?IQ9J5tRde{3)eL{U2?Teq0s5Tl8!ulIorKeeNnbv!_C%C2 z2==tvjggNE4~BYxSlo|2-Ukc}c@Qj?k6nzt6aIp(f%)s$eqa^uRS$pxNZ@?q5+++} zoKGAhmZR(hTl&(1g3NhNkpvpr;H%EC6dwq415t~ymkCL5Xog7=H~>!Oa!jx~8y~0( zkH~u6+35S2A_f8NhSHmm?LzgPlkG;>YH|?<`5?HRs#s%nvX#zsI%7&ZHKTXt?;*>v zDwA)eziouV?Nxu~yfQK0NK0>(75X(M7JMshRH=}6DLOB3yAt&G#k)9-$~DS)YE^F2 zDmd7N#LH!VT$r|sDMnFaE>ii1h}h(Tw$D1XF|VTSUQ%XGk)|M;_R|_Mf;7jBYI%8z zu((~ET`oou#LZF&IxhJt>dvHkiWW7pz3Tde)Bc95CZXE&e*up`aKGH1P&2`bERN$b z;i+efuHDW{aAL-Dv%)N$GJ_VOw)7IFmR~MZ`{_ntv+1g^(O7T`+hRn#I9udrO>0Wkl((u&9AxT zOeLSsG*=I;-Uu>L2VnJs?#9iFwSwa-s1o_mm#&lNUe&%-&Y;T{5G3W~xhKzdFQWk! z>DEJfdR<O1N+POiSI+8(-ZceL{^7J%xUUXL1;g~$>f z?obVY<6KX30^>YF;3c=ZOwAMJ2Kmw%x~1T+cA#9M z6R=#(6_o_x24+>Dv5?Iy`=z4l`K!R&vV&~TIaznL>Sy5nM14)c8?+Y@+)N>#DHS}A zT4M;^zD8s83nd2;t$ICP)^6S_1j}}hK06WUENXhei7!?v)Z0742BJ_SsPkIA^%hOb zca{M8Wv5u}A<#8}a9`?n;W>CHRm=`OZyp>;nW^om*5Kk0coi3|C}~_MWG&_{r<@Qy zF#|0zTJ1<}LGQt_=)u0!?Ggw4ZfUVMb(^eP``w;Jt9WE7e*@L3c}uo<`DVi#9Mfm})8g4JJ}yFxArb z8aHjnj%`ofYP~H%>nJ&;MaSKlYVPmwcimlP>b6&hgeSY2dZtpW*tvnNw2`@J(gca9 zS#L`-$)ftZoCc`hx{U}dID#eTEP17!czB;vH{Z}jy|>PP1b0-^qnOq1<{yn zCC9|OenHv~QoJOZ@9P9ZA;C65ur)Lw`mx(E$OtwFZ~r}Xe!#XXMv4V& z2T;(ZQIwQf1ujWn*DZA~?st-3i0}@I2;U|j#{Wi4)P1;~taW4updz0t`YoN$Tt-HJcE6Gw-Kc|ZKsFH_){4!#H-qe}#jZG#5%JrFPh z_9Qil4Nmd_s520%1LP!4KA<1b`M}_J>JZ;ueUk4; z9>#xTIvE?CPHHnan8Cpete=~niOo;XXxZ6pTXJ?jsavBkaPL{;hQxMQZMv1jcAwbp zgmmy3xWy-6$=BNFz8js9;mBDT)ae@_PYUuoG}ENmst3}^4vh~=Y?o%3vq_@*4pc*e zYIo!8dz{@R&h{iU(@H8!F-y@Y)7bvF@jXdM{~&|tKwSF)nqk3=8!?I98L+$Ipb;^$0>;n6{G83&iUga)R7&VFdHU&Km=zU>CT z8#XO7J9@jaY{pwMEP(8*?^*A3#1FI*Pc{=zZzX=PmH2Qo@yu4@af)TKDUuUo`~dYc0Q4-{q{Jozb_7s81$ZB} z(rg=2@90^B^-JtXz>eYOVcZ<0?n+DF^4d{9|u#{*_T)}v7Q!~{=A33CbwbE-LEW+`E22N#eB z7II}qJ;P5*%u@Lj8<@|g_*7P#TZr5?f6ML@5}Pvl^n9!5rU1IZ+q(G#)R=Aox*-e& zs;8S!{SR+u5{577*03@c!B*cf4Kt{4EqV~}&6_LyoAE|V|9(~kx0JT!hD%k$)PfCmM! z7kuZT!d^j3dn*a{7s4Zjj?(N75Iqi_PnrA)nmwMNK+JFQ3lf`;CXFYc+egRv;}W}o z6Nx=eFTs-dKZ)MA4`QDH7aBC44A@i9#KzH66Z}~@VHi^~VE}xdhF}aA&ykqtXvBH? zCVxg^PdAYF6ka_eg7WMbe^RzK$?4BU@lmts5NJ=sBSRAVNx+_gq#WKnp8zZYYdHk9 z1EOa!P2n@_4WlF>ys<{1$aA=y;2C7Qo*d^301SZi6GlLiSZ0hb$kEux7Q_q^ZR~(O z4~cm+=f#9+qOX&qljOx+VK2&rj&#UEha8#R9e5g3zSR5&%-)6esTdabXg8u|L2fL&_qI|M|$OTQ8* zlV3t_GROIqF!Qf8<_hKiHCFsIV5@Lb4IJO=F!}ou`&qzV#>om!-cML&ukciINK~a2 zU38FFV9dLsM_dxsic{+}>m+)EUv2pLYWOr6`T8v(uAjtx z3=2OB*xL~ID#U%w zc=|e)pGJS#VIP9{OOt<2#pQDwfy6!w=ZQU0a|r4!<8!>ARQV!cSHbEHu=;X> z|3);MNq${Fs`KlEmcf5z@?T5rSJQe7`G0*>T|+X@U^Sz@d5mvJ?AN!unbwVYtmbb@ zY{R-qRpvTo5d0GUQewXu<6lHQ^S1%}2(s4^0C??pf#Y{%4uGDX>7r@E0_;nfz*)c z{07OtF}QG(f3wNIQ7`kqO6(hq4p7{ZN^~~N|3&^E00030|8!Xim=r~_ z?waZulC+DhnQ9m=rKAQZZ4wH)h3Od>a=NE!1RX~QQ9My(QPCBJRrk>KjrbOI4;0qj zdLF2_>#lG2t4-lgBO)U+BO`106?PDt z=z2w-E5>Egkqu^bV66@ec2CN>H_p**tL}W!+^_pyZr#WFn2xaSbEN6WxVg}FLv~}_ zwYp^-kSCK$)-~9Djn;Cr)pWd!wcO*@a@NO53u}40H0Y)u8nj#%nQPVsj=}Ed)&tts z1CH(51+&U4`|=Qcd4M>KEdvjRY-v>;UkLJ{gd0dRDLqp<@sQmdx2<=US`V9USI&$% zIn(yC*27*CnrjC^&WojUo}G`ToF}J}rc5VmG4_^tU_F+#9xXy0g)A^OZ~uUQZO#PWXP7q197F+y3mb0^9WaXvqGIX`O}WbaQJZLgEQ)rDw&YOED=p9$ffK51S3OJ19zU&ZLEPl+Kk2 z+m&V$#;EH>a(&^)qv_&vZ?MO?wT|`4cM5A=r*u4- zPs=K&Mp~N;wk{ELP!zG2`G(nZBcn;|+6FIVe`f*9z|49`)k3I2=HU$j{tqnpMofG5 zWzmR+Vp7I2;(wwM8$$L^`1l*!U>g&*O`?lR;kgsx3EBTLn;jN2*b^bU3zEN+2HVtV zJ?SMnWUH6YM8?vHY*LzSA-fwZaHu{L#JFrs*4mE9ZKufTJr`Kpoo2_{UN5_>&3u@( z)nJ=5))uceBik_O9%vX_I#m)p4#@K<>lw2P`zB=fqI(3H%|winZ7^#az(VvbVv}Yq zrhgyIkHndQbRknk3Trb9T~~MXk3tgHD@R*y3+zh|n|(Rd4p(u2{pBU484M5E{TM6M zL2OVO8y4DuM!%<#4)4~KwcX>_+HS1SR;AslMUWmKX_@iVEYoy!vC16=dop7^;UxlD ziYKP@AY2(zisyqmo;wiF9hLFiLGj!{@q7yL+-9(+GS<_S5<>P6#y2W=i|pWtAFB1K zoba%Y?z4z4iLX%6rI{m4EA|iPBPyJFj%G1lirUi{sG|00<=98}AKU%IW4EQO9TXo* z!zS%c6}4xu=yZa%V+T#f@3U}|_#KD<@y~^9CHCSHq=M(Iz;&_bod%qZf>UIJF^N?) zNBxsUBJ~`3m#6m5>K*}WqBOwgII`B0{A_@005(&El0}9k#SwFWuGKo|XWYJNtid$K zlSo53=|2XjC1t%p+f%R7;|vIVdjXx~_KP7~2Y0W>dE41&z3L=7g4%ei)20p&QnLxg z>tSaCc}6E-{k}6qsdv3z^<7x?U6rf8i&lLXt@=w?^;Zn`QpS4OqdlB#TPW?2ZJ^UZ zGmBTzR>P^5lq5H3k6$;tRK9vycA0e@AYMsXyRaBCgV{#+$xdv_S2Na&P9g|&W{LdW zSn`)P&BlFul>FUD{-&(gu;YeA2lI*V?ZPKio~D><&jRh)Chgf9k!P=wXS5++htm|v zT?htkfHxpY{F@=$jL6=IV84}cUCNNq$8U0!k6W;?fu26*j(BWU$4+&7YNfU!4UR(Y zdpl%LLeEl=@AM+cr;s>5$Xa_4@;#Ly-$NnaQ!f$kce||j4ECmj_NxCshHCQSlaRdxFK)-G z{3{W-df)ICeI>mNWusHp=O({`&I`{$>nnuOW+EV80#eqeN(f%(99b2m$uDt=K22Gl zp*l0zXR0^9fA8lCY}p_DB4n?UPq@CmY_z`daCdcPt*`SMdbo|hG}u>4Fwt?DoEJxVq>@iYb|SIAh9#@j zcg5_ROBcxNRA+P`W_jG$W+9J^kBMfy$UC_7we8L*9^YhifDOMYV}0vTl}RpOdEctM zuHMov)WC(BN*8L#g&O68*(KtJZ>B^Ixe!;kf*+@v(Mzf``?ks)GqmX<8|p+3yd61E zjhSN8`86;{zdb_s4g&Qz*YFvo1WNXI=&kpz+Et<_?JB*q->XPV!%WQ&HT<5cW{4N! zMdkzDt*?UJ>N=^V|r6JpclQdB+ElS8cit&PD>KX8my$>(`4hIiN#B3Ucl*5n2 zm=Dw#*etR`OjR-ZiI9B=>3=}lf;2doDpuQ~K4$p6LiQ0l|B22Y^$P5sY?3Yv_TpS0 zt}?Kro%vXuqU64!V)mVMWqkr&le3~X7NNJwJ;45D_;$TWnpxqP<4obyOIOr(h&scs zrBzA^$B9#&+nctiD+ULKUsvkjche$*@{(AV9BRMbI`O4TiH{t|2&b=r&&huDe{cAK zMCJDh*{7JyJ%H-RioRx4b9U3tE3!j%;rSUNl!<2FH!B8`iv#OrAo{stfZ_Mk6}ao6 z%WFbIQEjJv(cf@}iGfDi@cY}{lALkKC#=j6%9&_IU|vlr28##5a` z|4$x=>_A*Z_&G3SpTqlmv9}J&ib06zATyvh4o0WpQ669(VBXCN*8$-KNG+X6Ei-dY zY+lZ>FV8vdVn{7U=VCXvIJPXe*uFbtUtCh%-R;dYBPxBl6S6Of>RjeU)Xcln_FPFx z#KW`#uSoOD<9dN(gO1q`I;*3okYRNm!7)Eic9NA=$OmUd)x zyi%Ckccoh&uQM$7a5MB{5SfDGu1-yZ`hSS+x&;R>A8b6s9~$}w+`S(=W>{7nf|wto zVy;pNVxCS3-!t%Ex=3ZY8VTJapu4Iax((k?xRS~iRa1w)iAkjP-MNYnbcLt-mP;wo~nOj=yUWxg#I8aMq;WX_hrqL80BD^qrAw%sL(&)lIoxv&t7{* zQ1H|X*ejSG=^PE62PmDRLq7qX4?|}p#(Kb6P431fQo2!cS2MPVSu z*2}v@X0JHR@G}V2crnKC50iX_BlmiGJNQ4sIX%Mg$ArF(WPBt{jD-qH!i_LO$2}YR zwXpsux|&MX>y-5gus-2?)*WTNg{-%b_2#`|oZ&Ys>*Ec7-2T>++WL6O`#GWC8_UuT zGc8a<9!!8C@<4`uA9yesU9G*C8&ma#Uyn7;OEWP@)gOM}h&@R1Rs7|~-H7cYc{A99Beu8X ztHBPA*rbk*7qK{AYrr-{Y@Ot5!48SoTFD;+J2YZ#$+KXGY4#Jz9|z}aZkOciz#XEw zZIZ7Ccc|vpNWKAFN^|!}z7gDT&D|#X6X1mAmPoz{+z8DrkbE4tk(!$?`FL=F=FX6O z0k~0`n<_b;YW`@=wMo7iTv~G($+v*ZXb!dGR&a-D4$+teZj9#QlEONc7~5y|#15yp zs>rV>7FoK;pG2|cRG9?wSsKk0`BVCuR_IoZ9#-T}7n5ali$=!~+E7L}YjiB3nKC-K z*z-c5jbyE@j4sf!Swg3l(eWB>A|K8uqvJH%Oz8YFx=EwsNW+3Mx=o`{^h|L{8QrMS z7PJY)+sg0;4NFpdPZ?dW(N;p&l+kq>%@Mk-j6SZ>JUOwejAk|3MzWuj(Z@7eAT(i@ z;k6o`sNmW%yhg)Cnn6Y`9^PDx?#W!}HzKudM{3IlViu*%S@kT(SBo}2 zSQL1-n8+6htfH92w~E90CNY^mCZ_Q9;t0M$9LbwSJKrXb;wwc5Un`F0cZg$nPIU4X zF_pK9W4RR5_ylnrpCyjxc`==@5hw61;zYh#oWz^N$vi7g;p4@re4LoEN}R^miPQNi zF_Ui;XBd7PE}?03O%*^KN5n)B#}iQmF`bA>AWk6Sa1bXFF&V^3L`(s3G7(3BIE9EK zL7YlNJBS%X90lSuB04~vPQ=k5W)g7>h%<=j1Tl+lnPCi%zM~BPOpRiJ&!PfFb-1j<@XtnFhMpbh znbRoFp)$JFELCg6a6zJao`cSFGD6MhTol!ie-3raPf%7JWccTyAP4e19(r@F00k0# z+QC~gPT$ZjLQc)9?}SBmu|u@Wj$SG*Fx@UZKd2mmKoh`YQsR7bul~m4H`Ak~;uB~R zLe1)fo_{{X={CLqy6ATv9>uW!5?%@OrIVJPdLE_C8azD>|ED3_iQbnnfeRbO#p;hI zS#c2x>Wdr~Z%x$FNtC(zqvK9k?X38OqQ6jdl)jIbUt|}d1VoX0q2XVg5o!&77P4ny z<`tOvd87D+*^7cmPs?WysAf}ZNtyoiLSK+f^`XQ6MMnIL#{M#7+cEYvjJ>2${3>$s zQn+}j6C`Z7Xvfu;AN47xQp2U%k4p^yR~hk3(sfzL?u4$_q3b`?>+eoX=~(=rsG5Ks z(G~jR(EkP&@A9nZf{iW*WqvFVBc4PJX{Ke~RDUP%7li(J$i4~LE3#q%WEcFuvi}*f z+adcFWPfc}{t@N&cJ&Hg7_w#Pe;bQ*Wuv&tOawuznO0u_)1Llgg!+??wNw2`M}ILC zS3>-%jJTR+c6F)BhX0$8{TgcD#dLpLdYrshdYt?&^jpxm8$SJ>{$fJ~ zddt4A8fAV6mgu-rNEd}{8V0=&jn_1aKSYbM1e0G<+AmbvV>1tMXwUc);K}iUxQ@D9HoLvEmBqV(OE5jUCo>GmhXziGc%x9eCh4cQc!`UK-{roSj5h*)4> zB8!}0__u^Chu%-&>aBrThG99ZJf4Be#)@0W)7wHe8Umj|;Ljk@S!eiv3E5D9p98#| zo=H7jypQyM$c%-amtrB!SgdpY1yf`Aclfz;@f)86@3;*z21fQseo!QHC|W8SI~+|!^a!+(6?72E zk48&Z(3uK<#zZ*jX^UtYTZrf)+N26Ur$l2(zP)1XQ59o5D`cit_<3xFZ_}bV6McMy zPe(f;n)~!9-bOU{lOme%lPheUTA_1BWS8Q9dWGF#73-Cc=rhsIis-Y^=2YlBr(*26 z5q@69*bC5lR^aCM=u)iA3cDqIenkw4zPQ5YUKL}pg00960 ztyg(GRa+ZA$Jmm&TqPAHEJQSDkVd-8kSSy+84ewEaLzH6S>^^~MWoOmp@AY%sN5pA zIyXbe?4lG>sPF3AJIi;^@Ba6Fzt8XYc%S{8=Y99u>+F5rcT*@79twrxMIea)m4GyX z6wKWTq+u>a;0ys?0%`=#VorL_VUIe2bjoba(*!awKTIH#%X5*7M_`^qAeS=xN7lcL z>yvsOm*)zuN#+({&td{a*hA*t;=A1q;drZBE_nnIM4_H5q*DhPwbDu-{YKr0P9gi z6y);vV?7e@-JITw>xbignA6|Qu8+zlq7a#j^|!O@qmuhNpX69?#q}9P6rQVNL}wFw zC_vm}BI5y>S=Jq_1=`}C67=Y?|LW zR7zy@=U*OvK3@K->~ZPJ#h%Ky4_XPGZ;lwr88bZZQpQ=db-fn-vQLlD`}hQ=_TCmx zBWcRV2i8gT5~g*nfBaSJ$QBeGuz8p5XWpVxn{Snnc|iBZYIR!<%f~D&SkLeG?op>6 zCyR}$qCy{ZY8oT8wK$gfH`XBYw6aKL58l3*;8mjcW$PW;tXwtY>GUZ%>4UB7c0McF zu}~$jU!pmDzpjCx%T@U;noI9Lxd0bP*}27|eP_cmmb>cNe-rPRk-UHCYTxHa*{N?; z?#}T06ZFprftLBk*mBQLBTov6J=tH9Ea(bVi3lt*&PGmRoIF zdD9`R>(2e~fanZr6&$X%ERPq>aT64YTSX1+og$L*9W}AP%>GJHi{+ss_t#V(L^?#k# zl1_YixhdtLU1+{ZWT?Sk;>WCc*+Zy(y7%75$&G1yC69)0-O4DVsV&AkPMUA-bBHQs|-s zGV<4KF4e6~wo9~6Ignvsqp^&3W|53`p552pYaS=8w6aU~R0Um6X4;pXb6sJQOOM}89C+`Lf*a}SN53Y>qng|yy z^tf=Q$mx!-8t1&wg@ZEN&vst7za%A5H@HfF<+}E6kTGNn+q zygT%>cix0e@R5l69yocBIrp7f8t&E2a9asQ0_N3Z7Y&)hwkyAStZ9!$h8%#RYW6LY_R z^k?p#%-x4uu-}7-O_=W@q5d>Ii-u!o$piZK@>Vj{K?v!1K z;YvPxKkM<5c0n(1HrXPS!xJJ6fPn)?7S9T_eTUJTE` zIc2^tgYN9*LUUlTnLjnU2W7p6C5y&nY54ln-Dpe=H#%E`Npo^!uGMgG@}+yaXt>Z^ z9eq978lH5g*-tcBOy{}mP5*s1o#E{1>q48Wp!r`{__=d}enb+n7akOTZFNm`Em9L; z5gX}D^PrggPuDcd9K4x+4$fXjj(9N~*fbVfoyPQZr|foeBcHP?k*4IYOh9JZ=>tMF zYs8QDibcd;R04WIqjI_$$gi#F>5*0i1Fz!J2}*G0;wrH#9TzvPn0`$$?5M8T$x=Mo z74&>~XY@VRYMUh&Owwe7O;qskH46P;rm z`;o0ligvo~iEpFtSdQ=2_$8=2_LqFWRjx}~O%jY{T)*ATbOpDJ-1K*qwv0~kNGZ~Y zr^JZPpb;QV;SAc*K zFa`U7C9ne4U_Y<{w!j|PfrG#a(18bV1J1x3Fu)Pu2mC<*I0}M52nYqyAO@TOnII2j zfOFssNCn9t5u5_W;3l{Y?toHI0iJ+5PzfFZ4)_DKgAULIdO;r;0>j`v_y9)0CrE|7 zkPq@h0EM9_6oU)kLMR2L;WD@!%EMJq5h_Cn)uAR_2iHR_xEXGRyP+P`hX@)#Ludxg zp(V6|_Rs+yg0Ao|bcY_$6EdI=WI;Cch5qm;42B^v6o$bF7zLwY42*^G@FYxzXJI-# z4>MslybQ0vtMEE3ghlWsEP;37L-+{Rz*_hiK7r3+J$wOwhcDqP$bs#!6L!O1*arvT zARL0Da14&a3HSw0!f%L*cn~k*Ljp(;2_q3Cio}pOl0cGZA(BGUXc>}2@<HvAeY6K5WP$c08*~skphL(7(U3dxK%U48c_SubAz$Q= z0?|=)427d;6oZmb3Q9#8C<|Rc7ttk@gRY|jREUaDF)Bg#P&vAf9-xP)8r7g$^cdBl zXXrVqM-AwA^a{O39P|fzgPKq?YC)~&EowvUr~|!2ou~_SqaM_Y`cOX_K!2h^G=zrH zd-MT~ppWPi8bxDh9DPASC zzwiC;`|tm~B{uYIt9Ll&2Ux}Y&6mxAE{i1+(E@`jJ>p8FSuB~1CiG0UG@efA(M&8il$}a* znPh&@Nbw~BkK&%WxhV^(Z8p~v|GGRn>>1co6 zNG7C&VahgO!WcATnIT!|A5EK3%Ol>Tj9JiqD4ib3%4R+lCB^ugJCn}ld_%D;pNg3| zV;~mKWlIKP$*iu78riIo8oWMVqMK&goTQt{SZc5&H)N&{yK`n<_ayXzSU#C^)ztXn zNj;XzXKvV3Hjp+)W4Wlk*GNZ`M*k#xPK~ECN20M*!ZwLp>Ag-)v9$&jHBtjWDj?$z{C-hnZ7so~#+?d{b}P$OhoLRBTjt z52uZkM~_EoVv>>Ni~X^zPK1XhVNR)@%H~ZzrP>nUqIe;n%*lnoVBO6@$sVCgGCe3^ zlojuoOg0Nz#5kSHkcGZ{CV>RJ;oa;M{(lq>~wm(t2e#mpn@FdPw&nF+-fOeWeX>yBrl=G5$w(WH?YL6SuY$xZ(;@-pH1 z5_(dHdd5Ih@Rh=4f^>5i+8hASrjyA3LI7BSC{IypB#nD-td-=mX*0*N`F&&@j= zGgHxYiXz{i)R9L9=R*>tO+(LmV5}aC50yc5tiUvRG@Z!967u}iK|L2OdS6oee<0S? z*TSQ-Oaap_yyly4kfir@~Dd&aJ(*G{kbfK)%DWjl87xeplNg&f7T9#M@8}4u|q7NX23QyNK~9#$u;pDX#JbiZf8AD4OKfA`Zz4coc^w zshV3luQ>1)P?V6eA)rRgh@`1fxkGh^tdOhxq~g@3^eNh-swVBQG*2L)N$uJ26oX|*l|S|x{CqpPKr%7g;Vf*S%-q;z&9NFFPXNc?q9M73CjN4f0mta*Xj5|?sK2{{PLjI@{csm?yA&?z}H*5!?obKGJxT;-)z zigV)PlTx5`wi4i)bOc?h7EvH(W_N%o&P$l@kZ3M|xmkSfS&LO-@1l_NB`w%Usx(TI zLh=RYWsA+m!s3wgYMB=DxhZf#i2|j<5pz5W^N}~fPID>6I ziv@wOEZ}72WpI-Ut+2NWX*1}60zS9J7J33q4apVK8cD90u9a5GYH2|BJDJLLt%k0C z&4q9*0%HXvlmz4x0Q767R31>BtO6KtEt_Vs#SqqjwdrAbhKhBp&X}S>ZWX*?u_chJ zXi7(wOYM+UiBHfrdQ1<=m83!?R0zm3p~fsHn~6lW*itOd;Gu|w#OpM`z!Z+;C!`ua z8K9c%a7Q%EEVHrcVZ+o?vA{cil`^vy4sR6>r`6>w#Aazu449=s@k;1LX3e%(9n7kL zS#yef7~%!VxBGd#us+vf^~4I#&nxQuu5P@Zxz*vDjV6<^~8TR}g~$PeG0P0Gn^I7C5&J&Rrm? zLFLsDgqT+Bs-j{SE`y1o>~FHn-Kg3f?*T<8!S?}^Sa8YxoSvX6qXm#kpkB&hCsA3w!~sx z&@F=1rPtGQP!Yww*)Hx{s;pXG+%>4KWlmN@S*yr(*tSe_*@avSe#-de7TZFQ@Ijq@ z%vr3P+5jH5jUm_=qE4xzRg%87u={2oR)oy~Vad#4JoTlsOQN zZNRT;mKy;a7Dt2}{v2n-cAguJV8$syCoMynZ6hmISZoJGY(&1SEGkAsBWQP{oe;Uu zepFLZQz7iK=jc(rOkU%clz^in9LY#N7{8l33a_(0pcaMXwdB^dykV_^Ynz;G74cVr z-(q*)){*ww9f=+@iO(My=eYaqd3r1s?%apCEpf6Y8*YNL?YG(X7q*8ZmjHUeo;_e| zw2m}d$2Dq(Mys8y*=BtftOsq@gS;c+;E%jyx4tM^Av)h`)HqdSpPkNqcBt1QBI}XP znnFQAEZRFFm(|9O$kj#(R|nu&ECzr>_EiEHXojP`PPT>`X)gk@7XG4utb>;HTn}u@ zfx9f$j{tQeK$;xTLMUWpFV5h`4yh4p#YLa*@Z$tVuXn3<-VR279|{xcjYCizbvD{0r*IU8TBJsPF>MSM?ndMM zZiVj>H~%idf!tViKA_kOqs6jPVL45*(l^N(w`FC}Ss*I`S%;cr^UkuU_h{Dzq4yjD zyBU_V1e?7HHfF=-a9ROYhp+NY@|b;^yY1Tq0DJgtvkyArZW&>!%I~WDJnkttkhg<^ z1NqTcY}8m-K1|XN-z2@qmVS@L?t}CJNIz1h1bA}aXMY^0q|bj9k6Ez zdyY2A$ArdqXQ6uqeNIqsbGvTny77*|=2wtnU5|z3-q(YorGKia!)kL z;}RMgl8Va>+LeD2c++q52+f`-mNFie?;|Pq-6Z9tE#;)ePC?2rq?{^v

>?Tp)>? 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

{U`{ll+&6U7Lyw$_QE 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 G?Ee8rpo|az literal 0 HcmV?d00001 diff --git a/src/mnesia_rocksdb.app.src b/src/mnesia_rocksdb.app.src new file mode 100644 index 0000000..2b1b86d --- /dev/null +++ b/src/mnesia_rocksdb.app.src @@ -0,0 +1,12 @@ +{application, mnesia_rocksdb, + [ + {description, "RocksDB backend plugin for Mnesia"}, + {vsn, "1.0"}, + {modules, [mnesia_rocksdb, mnesia_rocksdb_app, + mnesia_rocksdb_params, mnesia_rocksdb_sext, + mnesia_rocksdb_sup, mnesia_rocksdb_tuning]}, + {registered, []}, + {mod, {mnesia_rocksdb_app, []}}, + {env, []}, + {applications, [kernel, stdlib]} + ]}. diff --git a/src/mnesia_rocksdb.erl b/src/mnesia_rocksdb.erl new file mode 100644 index 0000000..14f122f --- /dev/null +++ b/src/mnesia_rocksdb.erl @@ -0,0 +1,1725 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +%% @doc rocksdb storage backend for Mnesia. + +%% Initialization: register() or register(Alias) +%% Usage: mnesia:create_table(Tab, [{rocksdb_copies, Nodes}, ...]). + +-module(mnesia_rocksdb). + + +%% ---------------------------------------------------------------------------- +%% BEHAVIOURS +%% ---------------------------------------------------------------------------- + +-behaviour(mnesia_backend_type). +-behaviour(gen_server). + + +%% ---------------------------------------------------------------------------- +%% EXPORTS +%% ---------------------------------------------------------------------------- + +%% +%% CONVENIENCE API +%% + +-export([register/0, + register/1, + default_alias/0]). + +%% +%% DEBUG API +%% + +-export([show_table/1, + show_table/2, + show_table/3, + fold/6]). + +%% +%% BACKEND CALLBACKS +%% + +%% backend management +-export([init_backend/0, + add_aliases/1, + remove_aliases/1]). + +%% schema level callbacks +-export([semantics/2, + check_definition/4, + create_table/3, + load_table/4, + close_table/2, + sync_close_table/2, + delete_table/2, + info/3]). + +%% table synch calls +-export([sender_init/4, + sender_handle_info/5, + receiver_first_message/4, + receive_data/5, + receive_done/4]). + +%% low-level accessor callbacks. +-export([delete/3, + first/2, + fixtable/3, + insert/3, + last/2, + lookup/3, + match_delete/3, + next/3, + prev/3, + repair_continuation/2, + select/1, + select/3, + select/4, + slot/3, + update_counter/4]). + +%% Index consistency +-export([index_is_consistent/3, + is_index_consistent/2]). + +%% record and key validation +-export([validate_key/6, + validate_record/6]). + +%% file extension callbacks +-export([real_suffixes/0, + tmp_suffixes/0]). + +%% +%% GEN SERVER CALLBACKS AND CALLS +%% + +-export([start_proc/4, + init/1, + handle_call/3, + handle_info/2, + handle_cast/2, + terminate/2, + code_change/3]). + +-export([ix_prefixes/3]). + + +%% ---------------------------------------------------------------------------- +%% DEFINES +%% ---------------------------------------------------------------------------- + +%% Name of the Rocksdb interface module; defaults to rocksdb but can be +%% configured by passing -DROCKSDB_MODULE= to erlc. +-ifdef(ROCKSDB_MODULE). +-define(rocksdb, ?ROCKSDB_MODULE). +-else. +-define(rocksdb, rocksdb). %% Name of the Rocksdb interface module +-endif. + +%% Data and meta data (a.k.a. info) are stored in the same table. +%% This is a table of the first byte in data +%% 0 = before meta data +%% 1 = meta data +%% 2 = before data +%% >= 8 = data + +-define(INFO_START, 0). +-define(INFO_TAG, 1). +-define(DATA_START, 2). +-define(BAG_CNT, 32). % Number of bits used for bag object counter +-define(MAX_BAG, 16#FFFFFFFF). + +%% enable debugging messages through mnesia:set_debug_level(debug) +-ifndef(MNESIA_ROCKSDB_NO_DBG). +-define(dbg(Fmt, Args), + %% avoid evaluating Args if the message will be dropped anyway + case mnesia_monitor:get_env(debug) of + none -> ok; + verbose -> ok; + _ -> mnesia_lib:dbg_out("~p:~p: "++(Fmt),[?MODULE,?LINE|Args]) + end). +-else. +-define(dbg(Fmt, Args), ok). +-endif. + +%% ---------------------------------------------------------------------------- +%% RECORDS +%% ---------------------------------------------------------------------------- + +-record(sel, {alias, % TODO: not used + tab, + ref, + keypat, + ms, % TODO: not used + compiled_ms, + limit, + key_only = false, % TODO: not used + direction = forward}). % TODO: not used + +-record(st, { ets + , ref + , alias + , tab + , type + , size_warnings % integer() + , maintain_size % boolean() + }). + +%% ---------------------------------------------------------------------------- +%% CONVENIENCE API +%% ---------------------------------------------------------------------------- + +register() -> + register(default_alias()). + +register(Alias) -> + Module = ?MODULE, + case mnesia:add_backend_type(Alias, Module) of + {atomic, ok} -> + {ok, Alias}; + {aborted, {backend_type_already_exists, _}} -> + {ok, Alias}; + {aborted, Reason} -> + {error, Reason} + end. + +default_alias() -> + rocksdb_copies. + + +%% ---------------------------------------------------------------------------- +%% DEBUG API +%% ---------------------------------------------------------------------------- + +%% A debug function that shows the rocksdb table content +show_table(Tab) -> + show_table(default_alias(), Tab). + +show_table(Alias, Tab) -> + show_table(Alias, Tab, 100). + +show_table(Alias, Tab, Limit) -> + {Ref, _Type} = get_ref(Alias, Tab), + with_iterator(Ref, fun(I) -> i_show_table(I, first, Limit) end). + +%% PRIVATE + +i_show_table(_, _, 0) -> + {error, skipped_some}; +i_show_table(I, Move, Limit) -> + case ?rocksdb:iterator_move(I, Move) of + {ok, EncKey, EncVal} -> + {Type,Val} = + case EncKey of + << ?INFO_TAG, K/binary >> -> + {info,{decode_key(K),decode_val(EncVal)}}; + _ -> + K = decode_key(EncKey), + V = decode_val(EncVal), + V2 = setelement(2,V,K), + {data,V2} + end, + io:fwrite("~p: ~p~n", [Type, Val]), + i_show_table(I, next, Limit-1); + _ -> + ok + end. + + +%% ---------------------------------------------------------------------------- +%% BACKEND CALLBACKS +%% ---------------------------------------------------------------------------- + +%% backend management + +init_backend() -> + stick_rocksdb_dir(), + application:start(mnesia_rocksdb), + ok. + +%% Prevent reloading of modules in rocksdb itself during runtime, since it +%% can lead to inconsistent state in rocksdb and silent data corruption. +stick_rocksdb_dir() -> + case code:which(rocksdb) of + BeamPath when is_list(BeamPath), BeamPath =/= "" -> + Dir = filename:dirname(BeamPath), + case code:stick_dir(Dir) of + ok -> ok; + error -> warn_stick_dir({error, Dir}) + end; + Other -> + warn_stick_dir({not_found, Other}) + end. + +warn_stick_dir(Reason) -> + mnesia_lib:warning("cannot make rocksdb directory sticky:~n~p~n", + [Reason]). + +add_aliases(_Aliases) -> + ok. + +remove_aliases(_Aliases) -> + ok. + +%% schema level callbacks + +%% This function is used to determine what the plugin supports +%% semantics(Alias, storage) -> +%% ram_copies | disc_copies | disc_only_copies (mandatory) +%% semantics(Alias, types) -> +%% [bag | set | ordered_set] (mandatory) +%% semantics(Alias, index_fun) -> +%% fun(Alias, Tab, Pos, Obj) -> [IxValue] (optional) +%% semantics(Alias, _) -> +%% undefined. +%% +semantics(_Alias, storage) -> disc_only_copies; +semantics(_Alias, types ) -> [set, ordered_set, bag]; +semantics(_Alias, index_types) -> [ordered]; +semantics(_Alias, index_fun) -> fun index_f/4; +semantics(_Alias, _) -> undefined. + +is_index_consistent(Alias, {Tab, index, PosInfo}) -> + case info(Alias, Tab, {index_consistent, PosInfo}) of + true -> true; + _ -> false + end. + +index_is_consistent(Alias, {Tab, index, PosInfo}, Bool) + when is_boolean(Bool) -> + write_info(Alias, Tab, {index_consistent, PosInfo}, Bool). + + +%% PRIVATE FUN +index_f(_Alias, _Tab, Pos, Obj) -> + [element(Pos, Obj)]. + +ix_prefixes(_Tab, _Pos, Obj) -> + lists:foldl( + fun(V, Acc) when is_list(V) -> + try Pfxs = prefixes(list_to_binary(V)), + Pfxs ++ Acc + catch + error:_ -> + Acc + end; + (V, Acc) when is_binary(V) -> + Pfxs = prefixes(V), + Pfxs ++ Acc; + (_, Acc) -> + Acc + end, [], tl(tuple_to_list(Obj))). + +prefixes(<>) -> + [P]; +prefixes(_) -> + []. + +%% For now, only verify that the type is set or ordered_set. +%% set is OK as ordered_set is a kind of set. +check_definition(Alias, Tab, Nodes, Props) -> + Id = {Alias, Nodes}, + Props1 = lists:map( + fun({type, T} = P) -> + if T==set; T==ordered_set; T==bag -> + P; + true -> + mnesia:abort({combine_error, + Tab, + [Id, {type,T}]}) + end; + ({user_properties, _} = P) -> + %% should perhaps verify rocksdb options... + P; + (P) -> P + end, Props), + {ok, Props1}. + +%% -> ok | {error, exists} +create_table(_Alias, Tab, _Props) -> + create_mountpoint(Tab). + +load_table(Alias, Tab, _LoadReason, Opts) -> + Type = proplists:get_value(type, Opts), + LdbUserProps = proplists:get_value( + rocksdb_opts, proplists:get_value( + user_properties, Opts, []), []), + StorageProps = proplists:get_value( + rocksdb, proplists:get_value( + storage_properties, Opts, []), LdbUserProps), + LdbOpts = mnesia_rocksdb_params:lookup(Tab, StorageProps), + ProcName = proc_name(Alias, Tab), + case whereis(ProcName) of + undefined -> + load_table_(Alias, Tab, Type, LdbOpts); + Pid -> + gen_server:call(Pid, {load, Alias, Tab, Type, LdbOpts}, infinity) + end. + +load_table_(Alias, Tab, Type, LdbOpts) -> + ShutdownTime = proplists:get_value( + owner_shutdown_time, LdbOpts, 120000), + case mnesia_ext_sup:start_proc( + Tab, ?MODULE, start_proc, [Alias,Tab,Type, LdbOpts], + [{shutdown, ShutdownTime}]) of + {ok, _Pid} -> + ok; + + %% TODO: This reply is according to the manual, but we dont get it. + {error, {already_started, _Pid}} -> + %% TODO: Is it an error if the table already is + %% loaded. This printout is triggered when running + %% transform_table on a rocksdb_table that has indexing. + ?dbg("ERR: table:~p already loaded pid:~p~n", + [Tab, _Pid]), + ok; + + %% TODO: This reply is not according to the manual, but we get it. + {error, {{already_started, _Pid}, _Stack}} -> + %% TODO: Is it an error if the table already is + %% loaded. This printout is triggered when running + %% transform_table on a rocksdb_table that has indexing. + ?dbg("ERR: table:~p already loaded pid:~p stack:~p~n", + [Tab, _Pid, _Stack]), + ok + end. + +close_table(Alias, Tab) -> + ?dbg("~p: close_table(~p, ~p);~n Trace: ~s~n", + [self(), Alias, Tab, pp_stack()]), + if is_atom(Tab) -> + [close_table(Alias, R) + || {R, _} <- related_resources(Tab)]; + true -> + ok + end, + close_table_(Alias, Tab). + +close_table_(Alias, Tab) -> + case opt_call(Alias, Tab, close_table) of + {error, noproc} -> + ?dbg("~p: close_table_(~p) -> noproc~n", + [self(), Tab]), + ok; + {ok, _} -> + ok; + _Other -> + ?dbg("~p: close_table_(~p) -> _Other = ~p~n", + [self(), Tab, _Other]), + mnesia_ext_sup:stop_proc(Tab), + ok + end. + +-ifndef(MNESIA_ROCKSDB_NO_DBG). +pp_stack() -> + Trace = try throw(true) + catch + _:_ -> + case erlang:get_stacktrace() of + [_|T] -> T; + [] -> [] + end + end, + pp_calls(10, Trace). + +pp_calls(I, [{M,F,A,Pos} | T]) -> + Spc = lists:duplicate(I, $\s), + Pp = fun(Mx,Fx,Ax,Px) -> + [atom_to_list(Mx),":",atom_to_list(Fx),"/",integer_to_list(Ax), + pp_pos(Px)] + end, + [Pp(M,F,A,Pos)|[["\n",Spc,Pp(M1,F1,A1,P1)] || {M1,F1,A1,P1} <- T]]. + +pp_pos([]) -> ""; +pp_pos(L) when is_integer(L) -> + [" (", integer_to_list(L), ")"]; +pp_pos([{file,_},{line,L}]) -> + [" (", integer_to_list(L), ")"]. +-endif. + +sync_close_table(Alias, Tab) -> + ?dbg("~p: sync_close_table(~p, ~p);~n Trace: ~s~n", + [self(), Alias, Tab, pp_stack()]), + close_table(Alias, Tab). + +delete_table(Alias, Tab) -> + ?dbg("~p: delete_table(~p, ~p);~n Trace: ~s~n", + [self(), Alias, Tab, pp_stack()]), + delete_table(Alias, Tab, data_mountpoint(Tab)). + +delete_table(Alias, Tab, MP) -> + if is_atom(Tab) -> + [delete_table(Alias, T, M) || {T,M} <- related_resources(Tab)]; + true -> + ok + end, + case opt_call(Alias, Tab, delete_table) of + {error, noproc} -> + do_delete_table(Tab, MP); + {ok, _} -> + ok + end. + +do_delete_table(Tab, MP) -> + assert_proper_mountpoint(Tab, MP), + destroy_db(MP, []). + + +info(_Alias, Tab, memory) -> + try ets:info(tab_name(icache, Tab), memory) + catch + error:_ -> + 0 + end; +info(Alias, Tab, size) -> + case retrieve_size(Alias, Tab) of + {ok, Size} -> + if Size < 10000 -> ok; + true -> size_warning(Alias, Tab) + end, + Size; + Error -> + Error + end; +info(_Alias, Tab, Item) -> + case try_read_info(Tab, Item, undefined) of + {ok, Value} -> + Value; + Error -> + Error + end. + +retrieve_size(_Alias, Tab) -> + case try_read_info(Tab, size, 0) of + {ok, Size} -> + {ok, Size}; + Error -> + Error + end. + +try_read_info(Tab, Item, Default) -> + try + {ok, read_info(Item, Default, tab_name(icache, Tab))} + catch + error:Reason -> + {error, Reason} + end. + +write_info(Alias, Tab, Key, Value) -> + call(Alias, Tab, {write_info, Key, Value}). + +%% table synch calls + +%% =========================================================== +%% Table synch protocol +%% Callbacks are +%% Sender side: +%% 1. sender_init(Alias, Tab, RemoteStorage, ReceiverPid) -> +%% {standard, InitFun, ChunkFun} | {InitFun, ChunkFun} when +%% InitFun :: fun() -> {Recs, Cont} | '$end_of_table' +%% ChunkFun :: fun(Cont) -> {Recs, Cont1} | '$end_of_table' +%% +%% If {standard, I, C} is returned, the standard init message will be +%% sent to the receiver. Matching on RemoteStorage can reveal if a +%% different protocol can be used. +%% +%% 2. InitFun() is called +%% 3a. ChunkFun(Cont) is called repeatedly until done +%% 3b. sender_handle_info(Msg, Alias, Tab, ReceiverPid, Cont) -> +%% {ChunkFun, NewCont} +%% +%% Receiver side: +%% 1. receiver_first_message(SenderPid, Msg, Alias, Tab) -> +%% {Size::integer(), State} +%% 2. receive_data(Data, Alias, Tab, _Sender, State) -> +%% {more, NewState} | {{more, Msg}, NewState} +%% 3. receive_done(_Alias, _Tab, _Sender, _State) -> +%% ok +%% +%% The receiver can communicate with the Sender by returning +%% {{more, Msg}, St} from receive_data/4. The sender will be called through +%% sender_handle_info(Msg, ...), where it can adjust its ChunkFun and +%% Continuation. Note that the message from the receiver is sent once the +%% receive_data/4 function returns. This is slightly different from the +%% normal mnesia table synch, where the receiver acks immediately upon +%% reception of a new chunk, then processes the data. +%% + +sender_init(Alias, Tab, _RemoteStorage, _Pid) -> + %% Need to send a message to the receiver. It will be handled in + %% receiver_first_message/4 below. There could be a volley of messages... + {standard, + fun() -> + select(Alias, Tab, [{'_',[],['$_']}], 100) + end, + chunk_fun()}. + +sender_handle_info(_Msg, _Alias, _Tab, _ReceiverPid, Cont) -> + %% ignore - we don't expect any message from the receiver + {chunk_fun(), Cont}. + +receiver_first_message(_Pid, {first, Size} = _Msg, _Alias, _Tab) -> + {Size, _State = []}. + +receive_data(Data, Alias, Tab, _Sender, State) -> + [insert(Alias, Tab, Obj) || Obj <- Data], + {more, State}. + +receive_done(_Alias, _Tab, _Sender, _State) -> + ok. + +%% End of table synch protocol +%% =========================================================== + +%% PRIVATE + +chunk_fun() -> + fun(Cont) -> + select(Cont) + end. + +%% low-level accessor callbacks. + +delete(Alias, Tab, Key) -> + opt_call(Alias, Tab, {delete, encode_key(Key)}), + ok. + +first(Alias, Tab) -> + {Ref, _Type} = get_ref(Alias, Tab), + with_keys_only_iterator(Ref, fun i_first/1). + +%% PRIVATE ITERATOR +i_first(I) -> + case ?rocksdb:iterator_move(I, <>) of + {ok, First} -> + decode_key(First); + _ -> + '$end_of_table' + end. + +%% Not relevant for an ordered_set +fixtable(_Alias, _Tab, _Bool) -> + true. + +%% To save storage space, we avoid storing the key twice. We replace the key +%% in the record with []. It has to be put back in lookup/3. +insert(Alias, Tab, Obj) -> + Pos = keypos(Tab), + EncKey = encode_key(element(Pos, Obj)), + EncVal = encode_val(setelement(Pos, Obj, [])), + call(Alias, Tab, {insert, EncKey, EncVal}). + +last(Alias, Tab) -> + {Ref, _Type} = get_ref(Alias, Tab), + with_keys_only_iterator(Ref, fun i_last/1). + +%% PRIVATE ITERATOR +i_last(I) -> + case ?rocksdb:iterator_move(I, last) of + {ok, << ?INFO_TAG, _/binary >>} -> + '$end_of_table'; + {ok, Last} -> + decode_key(Last); + _ -> + '$end_of_table' + end. + +%% Since we replace the key with [] in the record, we have to put it back +%% into the found record. +lookup(Alias, Tab, Key) -> + Enc = encode_key(Key), + {Ref, Type} = call(Alias, Tab, get_ref), + case Type of + bag -> lookup_bag(Ref, Key, Enc, keypos(Tab)); + _ -> + case ?rocksdb:get(Ref, Enc, []) of + {ok, EncVal} -> + [setelement(keypos(Tab), decode_val(EncVal), Key)]; + _ -> + [] + end + end. + +lookup_bag(Ref, K, Enc, KP) -> + Sz = byte_size(Enc), + with_iterator( + Ref, fun(I) -> + lookup_bag_(Sz, Enc, ?rocksdb:iterator_move(I, Enc), + K, I, KP) + end). + +lookup_bag_(Sz, Enc, {ok, Enc, _}, K, I, KP) -> + lookup_bag_(Sz, Enc, ?rocksdb:iterator_move(I, next), K, I, KP); +lookup_bag_(Sz, Enc, Res, K, I, KP) -> + case Res of + {ok, <>, V} -> + [setelement(KP, decode_val(V), K)| + lookup_bag_(Sz, Enc, ?rocksdb:iterator_move(I, next), K, I, KP)]; + _ -> + [] + end. + +match_delete(Alias, Tab, Pat) when is_atom(Pat) -> + %do_match_delete(Alias, Tab, '_'), + case is_wild(Pat) of + true -> + call(Alias, Tab, clear_table), + ok; + false -> + %% can this happen?? + error(badarg) + end; +match_delete(Alias, Tab, Pat) when is_tuple(Pat) -> + KP = keypos(Tab), + Key = element(KP, Pat), + case is_wild(Key) of + true -> + call(Alias, Tab, clear_table); + false -> + call(Alias, Tab, {match_delete, Pat}) + end, + ok. + + +next(Alias, Tab, Key) -> + {Ref, _Type} = get_ref(Alias, Tab), + EncKey = encode_key(Key), + with_keys_only_iterator(Ref, fun(I) -> i_next(I, EncKey, Key) end). + +%% PRIVATE ITERATOR +i_next(I, EncKey, Key) -> + case ?rocksdb:iterator_move(I, EncKey) of + {ok, EncKey} -> + i_next_loop(?rocksdb:iterator_move(I, next), I, Key); + Other -> + i_next_loop(Other, I, Key) + end. + +i_next_loop({ok, EncKey}, I, Key) -> + case decode_key(EncKey) of + Key -> + i_next_loop(?rocksdb:iterator_move(I, next), I, Key); + NextKey -> + NextKey + end; +i_next_loop(_, _I, _Key) -> + '$end_of_table'. + +prev(Alias, Tab, Key0) -> + {Ref, _Type} = call(Alias, Tab, get_ref), + Key = encode_key(Key0), + with_keys_only_iterator(Ref, fun(I) -> i_prev(I, Key) end). + +%% PRIVATE ITERATOR +i_prev(I, Key) -> + case ?rocksdb:iterator_move(I, Key) of + {ok, _} -> + i_move_to_prev(I, Key); + {error, invalid_iterator} -> + i_last(I) + end. + +%% PRIVATE ITERATOR +i_move_to_prev(I, Key) -> + case ?rocksdb:iterator_move(I, prev) of + {ok, << ?INFO_TAG, _/binary >>} -> + '$end_of_table'; + {ok, Prev} when Prev < Key -> + decode_key(Prev); + {ok, _} -> + i_move_to_prev(I, Key); + _ -> + '$end_of_table' + end. + +repair_continuation(Cont, _Ms) -> + Cont. + +select(Cont) -> + %% Handle {ModOrAlias, Cont} wrappers for backwards compatibility with + %% older versions of mnesia_ext (before OTP 20). + case Cont of + {_, '$end_of_table'} -> '$end_of_table'; + {_, Cont1} -> Cont1(); + '$end_of_table' -> '$end_of_table'; + _ -> Cont() + end. + +select(Alias, Tab, Ms) -> + case select(Alias, Tab, Ms, infinity) of + {Res, '$end_of_table'} -> + Res; + '$end_of_table' -> + '$end_of_table' + end. + +select(Alias, Tab, Ms, Limit) when Limit==infinity; is_integer(Limit) -> + {Ref, Type} = get_ref(Alias, Tab), + do_select(Ref, Tab, Type, Ms, Limit). + +slot(Alias, Tab, Pos) when is_integer(Pos), Pos >= 0 -> + {Ref, Type} = get_ref(Alias, Tab), + First = fun(I) -> ?rocksdb:iterator_move(I, <>) end, + F = case Type of + bag -> fun(I) -> slot_iter_set(First(I), I, 0, Pos) end; + _ -> fun(I) -> slot_iter_set(First(I), I, 0, Pos) end + end, + with_iterator(Ref, F); +slot(_, _, _) -> + error(badarg). + +%% Exactly which objects Mod:slot/2 is supposed to return is not defined, +%% so let's just use the same version for both set and bag. No one should +%% use this function anyway, as it is ridiculously inefficient. +slot_iter_set({ok, K, V}, _I, P, P) -> + [setelement(2, decode_val(V), decode_key(K))]; +slot_iter_set({ok, _, _}, I, P1, P) when P1 < P -> + slot_iter_set(?rocksdb:iterator_move(I, next), I, P1+1, P); +slot_iter_set(Res, _, _, _) when element(1, Res) =/= ok -> + '$end_of_table'. + +update_counter(Alias, Tab, C, Val) when is_integer(Val) -> + case call(Alias, Tab, {update_counter, C, Val}) of + badarg -> + mnesia:abort(badarg); + Res -> + Res + end. + +%% server-side part +do_update_counter(C, Val, Ref) -> + Enc = encode_key(C), + case ?rocksdb:get(Ref, Enc, [{fill_cache, true}]) of + {ok, EncVal} -> + case decode_val(EncVal) of + {_, _, Old} = Rec when is_integer(Old) -> + Res = Old+Val, + ?rocksdb:put(Ref, Enc, + encode_val( + setelement(3, Rec, Res)), + []), + Res; + _ -> + badarg + end; + _ -> + badarg + end. + +%% PRIVATE + +%% key+data iterator: iterator_move/2 returns {ok, EncKey, EncVal} +with_iterator(Ref, F) -> + {ok, I} = ?rocksdb:iterator(Ref, []), + try F(I) + after + ?rocksdb:iterator_close(I) + end. + +%% keys_only iterator: iterator_move/2 returns {ok, EncKey} +with_keys_only_iterator(Ref, F) -> + {ok, I} = ?rocksdb:iterator(Ref, [], keys_only), + try F(I) + after + ?rocksdb:iterator_close(I) + end. + +%% TODO - use with_keys_only_iterator for match_delete + +%% record and key validation + +validate_key(_Alias, _Tab, RecName, Arity, Type, _Key) -> + {RecName, Arity, Type}. + +validate_record(_Alias, _Tab, RecName, Arity, Type, _Obj) -> + {RecName, Arity, Type}. + +%% file extension callbacks + +%% Extensions for files that are permanent. Needs to be cleaned up +%% e.g. at deleting the schema. +real_suffixes() -> + [".extldb"]. + +%% Extensions for temporary files. Can be cleaned up when mnesia +%% cleans up other temporary files. +tmp_suffixes() -> + []. + + +%% ---------------------------------------------------------------------------- +%% GEN SERVER CALLBACKS AND CALLS +%% ---------------------------------------------------------------------------- + +start_proc(Alias, Tab, Type, LdbOpts) -> + ProcName = proc_name(Alias, Tab), + gen_server:start_link({local, ProcName}, ?MODULE, + {Alias, Tab, Type, LdbOpts}, []). + +init({Alias, Tab, Type, LdbOpts}) -> + process_flag(trap_exit, true), + {ok, Ref, Ets} = do_load_table(Tab, LdbOpts), + St = #st{ ets = Ets + , ref = Ref + , alias = Alias + , tab = Tab + , type = Type + , size_warnings = 0 + , maintain_size = should_maintain_size(Tab) + }, + {ok, recover_size_info(St)}. + +do_load_table(Tab, LdbOpts) -> + MPd = data_mountpoint(Tab), + ?dbg("** Mountpoint: ~p~n ~s~n", [MPd, os:cmd("ls " ++ MPd)]), + Ets = ets:new(tab_name(icache,Tab), [set, protected, named_table]), + {ok, Ref} = open_rocksdb(MPd, LdbOpts), + rocksdb_to_ets(Ref, Ets), + {ok, Ref, Ets}. + +handle_call({load, Alias, Tab, Type, LdbOpts}, _From, + #st{type = Type, alias = Alias, tab = Tab} = St) -> + {ok, Ref, Ets} = do_load_table(Tab, LdbOpts), + {reply, ok, St#st{ref = Ref, ets = Ets}}; +handle_call(get_ref, _From, #st{ref = Ref, type = Type} = St) -> + {reply, {Ref, Type}, St}; +handle_call({write_info, Key, Value}, _From, #st{} = St) -> + _ = write_info_(Key, Value, St), + {reply, ok, St}; +handle_call({update_counter, C, Incr}, _From, #st{ref = Ref} = St) -> + {reply, do_update_counter(C, Incr, Ref), St}; +handle_call({insert, Key, Val}, _From, St) -> + do_insert(Key, Val, St), + {reply, ok, St}; +handle_call({delete, Key}, _From, St) -> + do_delete(Key, St), + {reply, ok, St}; +handle_call(clear_table, _From, #st{ets = Ets, tab = Tab, ref = Ref} = St) -> + MPd = data_mountpoint(Tab), + ?dbg("Attempting clear_table(~p)~n", [Tab]), + _ = rocksdb_close(Ref), + {ok, NewRef} = destroy_recreate(MPd, rocksdb_open_opts(Tab)), + ets:delete_all_objects(Ets), + rocksdb_to_ets(NewRef, Ets), + {reply, ok, St#st{ref = NewRef}}; +handle_call({match_delete, Pat}, _From, #st{} = St) -> + Res = do_match_delete(Pat, St), + {reply, Res, St}; +handle_call(close_table, _From, #st{ref = Ref, ets = Ets} = St) -> + _ = rocksdb_close(Ref), + ets:delete(Ets), + {reply, ok, St#st{ref = undefined}}; +handle_call(delete_table, _From, #st{tab = T, ref = Ref, ets = Ets} = St) -> + _ = (catch rocksdb_close(Ref)), + _ = (catch ets:delete(Ets)), + do_delete_table(T, data_mountpoint(T)), + {stop, normal, ok, St#st{ref = undefined}}. + +handle_cast(size_warning, #st{tab = T, size_warnings = W} = St) when W < 10 -> + mnesia_lib:warning("large size retrieved from table: ~p~n", [T]), + if W =:= 9 -> + OneHrMs = 60 * 60 * 1000, + erlang:send_after(OneHrMs, self(), unmute_size_warnings); + true -> + ok + end, + {noreply, St#st{size_warnings = W + 1}}; +handle_cast(size_warning, #st{size_warnings = W} = St) when W >= 10 -> + {noreply, St#st{size_warnings = W + 1}}; +handle_cast(_, St) -> + {noreply, St}. + +handle_info(unmute_size_warnings, #st{tab = T, size_warnings = W} = St) -> + C = W - 10, + if C > 0 -> + mnesia_lib:warning("warnings suppressed~ntable: ~p, count: ~p~n", + [T, C]); + true -> + ok + end, + {noreply, St#st{size_warnings = 0}}; +handle_info({'EXIT', _, _} = _EXIT, St) -> + ?dbg("rocksdb owner received ~p~n", [_EXIT]), + {noreply, St}; +handle_info(_, St) -> + {noreply, St}. + +code_change(_FromVsn, St, _Extra) -> + {ok, St}. + +terminate(_Reason, #st{ref = Ref}) -> + if Ref =/= undefined -> + ?rocksdb:close(Ref); + true -> ok + end, + ok. + + +%% ---------------------------------------------------------------------------- +%% GEN SERVER PRIVATE +%% ---------------------------------------------------------------------------- + +get_env_default(Key, Default) -> + case os:getenv(Key) of + false -> + Default; + Value -> + Value + end. + +rocksdb_open_opts({Tab, index, {Pos,_}}) -> + UserProps = mnesia_lib:val({Tab, user_properties}), + IxOpts = proplists:get_value(rocksdb_index_opts, UserProps, []), + PosOpts = proplists:get_value(Pos, IxOpts, []), + rocksdb_open_opts_(PosOpts); +rocksdb_open_opts(Tab) -> + UserProps = mnesia_lib:val({Tab, user_properties}), + LdbOpts = proplists:get_value(rocksdb_opts, UserProps, []), + rocksdb_open_opts_(LdbOpts). + +rocksdb_open_opts_(LdbOpts) -> + lists:foldl( + fun({K,_} = Item, Acc) -> + lists:keystore(K, 1, Acc, Item) + end, default_open_opts(), LdbOpts). + +default_open_opts() -> + [ {create_if_missing, true} + , {cache_size, + list_to_integer(get_env_default("ROCKSDB_CACHE_SIZE", "32212254"))} + , {block_size, 1024} + , {max_open_files, 100} + , {write_buffer_size, + list_to_integer(get_env_default( + "ROCKSDB_WRITE_BUFFER_SIZE", "4194304"))} + , {compression, + list_to_atom(get_env_default("ROCKSDB_COMPRESSION", "true"))} + , {use_bloomfilter, true} + ]. + +destroy_recreate(MPd, LdbOpts) -> + ok = destroy_db(MPd, []), + open_rocksdb(MPd, LdbOpts). + +open_rocksdb(MPd, LdbOpts) -> + open_rocksdb(MPd, rocksdb_open_opts_(LdbOpts), get_retries()). + +%% Code adapted from basho/riak_kv_eleveldb_backend.erl +open_rocksdb(MPd, Opts, Retries) -> + open_db(MPd, Opts, max(1, Retries), undefined). + +open_db(_, _, 0, LastError) -> + {error, LastError}; +open_db(MPd, Opts, RetriesLeft, _) -> + case ?rocksdb:open(MPd, Opts) of + {ok, Ref} -> + ?dbg("~p: Open - Rocksdb: ~s~n -> {ok, ~p}~n", + [self(), MPd, Ref]), + {ok, Ref}; + %% Check specifically for lock error, this can be caused if + %% a crashed mnesia takes some time to flush rocksdb information + %% out to disk. The process is gone, but the NIF resource cleanup + %% may not have completed. + {error, {db_open, OpenErr}=Reason} -> + case lists:prefix("IO error: lock ", OpenErr) of + true -> + SleepFor = get_retry_delay(), + ?dbg("~p: Open - Rocksdb backend retrying ~p in ~p ms" + " after error ~s\n", + [self(), MPd, SleepFor, OpenErr]), + timer:sleep(SleepFor), + open_db(MPd, Opts, RetriesLeft - 1, Reason); + false -> + {error, Reason} + end; + {error, Reason} -> + {error, Reason} + end. + +%% await_db_closed(Tab) -> +%% MPd = data_mountpoint(Tab), +%% await_db_closed_(MPd). + +%% await_db_closed_(MPd) -> +%% case filelib:is_file(filename:join(MPd, "LOCK")) of +%% true -> +%% SleepFor = get_retry_delay(), +%% timer:sleep(SleepFor), +%% await_db_closed_(MPd); +%% false -> +%% ok +%% end. + +rocksdb_close(undefined) -> + ok; +rocksdb_close(Ref) -> + Res = ?rocksdb:close(Ref), + erlang:garbage_collect(), + Res. + +destroy_db(MPd, Opts) -> + destroy_db(MPd, Opts, get_retries()). + +%% Essentially same code as above. +destroy_db(MPd, Opts, Retries) -> + _DRes = destroy_db(MPd, Opts, max(1, Retries), undefined), + ?dbg("~p: Destroy ~s -> ~p~n", [self(), MPd, _DRes]), + [_|_] = MPd, % ensure MPd is non-empty + _RmRes = os:cmd("rm -rf " ++ MPd ++ "/*"), + ?dbg("~p: RmRes = '~s'~n", [self(), _RmRes]), + ok. + +destroy_db(_, _, 0, LastError) -> + {error, LastError}; +destroy_db(MPd, Opts, RetriesLeft, _) -> + case ?rocksdb:destroy(MPd, Opts) of + ok -> + ok; + %% Check specifically for lock error, this can be caused if + %% destroy follows quickly after close. + {error, {error_db_destroy, Err}=Reason} -> + case lists:prefix("IO error: lock ", Err) of + true -> + SleepFor = get_retry_delay(), + ?dbg("~p: Destroy - Rocksdb backend retrying ~p in ~p ms" + " after error ~s\n" + " children = ~p~n", + [self(), MPd, SleepFor, Err, + supervisor:which_children(mnesia_ext_sup)]), + timer:sleep(SleepFor), + destroy_db(MPd, Opts, RetriesLeft - 1, Reason); + false -> + {error, Reason} + end; + {error, Reason} -> + {error, Reason} + end. + +get_retries() -> 30. +get_retry_delay() -> 10000. + +rocksdb_to_ets(Ref, Ets) -> + with_iterator(Ref, fun(I) -> + i_rocksdb_to_ets(I, Ets, <>) + end). + +i_rocksdb_to_ets(I, Ets, Move) -> + case ?rocksdb:iterator_move(I, Move) of + {ok, << ?INFO_TAG, EncKey/binary >>, EncVal} -> + Item = decode_key(EncKey), + Val = decode_val(EncVal), + ets:insert(Ets, {{info,Item}, Val}), + i_rocksdb_to_ets(I, Ets, next); + _ -> + '$end_of_table' + end. + +opt_call(Alias, Tab, Req) -> + ProcName = proc_name(Alias, Tab), + case whereis(ProcName) of + undefined -> + ?dbg("proc_name(~p, ~p): ~p; NO PROCESS~n", + [Alias, Tab, ProcName]), + {error, noproc}; + Pid when is_pid(Pid) -> + ?dbg("proc_name(~p, ~p): ~p; Pid = ~p~n", + [Alias, Tab, ProcName, Pid]), + {ok, gen_server:call(Pid, Req, infinity)} + end. + +call(Alias, Tab, Req) -> + ProcName = proc_name(Alias, Tab), + case gen_server:call(ProcName, Req, infinity) of + badarg -> + mnesia:abort(badarg); + {abort, _} = Err -> + mnesia:abort(Err); + Reply -> + Reply + end. + +size_warning(Alias, Tab) -> + ProcName = proc_name(Alias, Tab), + gen_server:cast(ProcName, size_warning). + +%% server-side end of insert/3. +do_insert(K, V, #st{ref = Ref, type = bag, maintain_size = false}) -> + do_insert_bag(Ref, K, V, false); +do_insert(K, V, #st{ets = Ets, ref = Ref, type = bag, maintain_size = true}) -> + CurSz = read_info(size, 0, Ets), + NewSz = do_insert_bag(Ref, K, V, CurSz), + ets_insert_info(Ets, size, NewSz), + ok; +do_insert(K, V, #st{ref = Ref, maintain_size = false}) -> + ?rocksdb:put(Ref, K, V, []); +do_insert(K, V, #st{ets = Ets, ref = Ref, maintain_size = true}) -> + IsNew = + case ?rocksdb:get(Ref, K, []) of + {ok, _} -> + false; + _ -> + true + end, + case IsNew of + true -> + NewSz = read_info(size, 0, Ets) + 1, + {Ki, Vi} = info_obj(size, NewSz), + ?rocksdb:write(Ref, [{put, Ki, Vi}, {put, K, V}], []), + ets_insert_info(Ets, size, NewSz); + false -> + ?rocksdb:put(Ref, K, V, []) + end, + ok. + +do_insert_bag(Ref, K, V, CurSz) -> + KSz = byte_size(K), + with_iterator( + Ref, fun(I) -> + do_insert_bag_( + KSz, K, ?rocksdb:iterator_move(I, K), I, V, 0, Ref, CurSz) + end). + + +%% There's a potential access pattern that would force counters to +%% creep upwards and eventually hit the limit. This could be addressed, +%% with compaction. TODO. +do_insert_bag_(Sz, K, Res, I, V, Prev, Ref, TSz) when Prev < ?MAX_BAG -> + case Res of + {ok, <>, V} -> + %% object exists + TSz; + {ok, <>, _} -> + do_insert_bag_( + Sz, K, ?rocksdb:iterator_move(I, next), I, V, N, Ref, TSz); + _ when TSz =:= false -> + Key = <>, + ?rocksdb:put(Ref, Key, V, []); + _ -> + NewSz = TSz + 1, + {Ki, Vi} = info_obj(size, NewSz), + Key = <>, + ?rocksdb:write(Ref, [{put, Ki, Vi}, {put, Key, V}], []), + NewSz + end. + +%% server-side part +do_delete(Key, #st{ref = Ref, type = bag, maintain_size = false}) -> + do_delete_bag(byte_size(Key), Key, Ref, false); +do_delete(Key, #st{ets = Ets, ref = Ref, type = bag, maintain_size = true}) -> + Sz = byte_size(Key), + CurSz = read_info(size, 0, Ets), + NewSz = do_delete_bag(Sz, Key, Ref, CurSz), + ets_insert_info(Ets, size, NewSz), + ok; +do_delete(Key, #st{ref = Ref, maintain_size = false}) -> + ?rocksdb:delete(Ref, Key, []); +do_delete(Key, #st{ets = Ets, ref = Ref, maintain_size = true}) -> + CurSz = read_info(size, 0, Ets), + case ?rocksdb:get(Ref, Key, [{fill_cache,true}]) of + {ok, _} -> + NewSz = CurSz -1, + {Ki, Vi} = info_obj(size, NewSz), + ok = ?rocksdb:write(Ref, [{delete, Key}, {put, Ki, Vi}], []), + ets_insert_info(Ets, size, NewSz); + not_found -> + false + end. + +do_delete_bag(Sz, Key, Ref, TSz) -> + Found = + with_keys_only_iterator( + Ref, fun(I) -> + do_delete_bag_(Sz, Key, ?rocksdb:iterator_move(I, Key), + Ref, I) + end), + case {Found, TSz} of + {[], _} -> + TSz; + {_, false} -> + ?rocksdb:write(Ref, [{delete, K} || K <- Found], []); + {_, _} -> + N = length(Found), + NewSz = TSz - N, + {Ki, Vi} = info_obj(size, NewSz), + ?rocksdb:write(Ref, [{put, Ki, Vi} | + [{delete, K} || K <- Found]], []), + NewSz + end. + +do_delete_bag_(Sz, K, Res, Ref, I) -> + case Res of + {ok, K} -> + do_delete_bag_(Sz, K, ?rocksdb:iterator_move(I, next), + Ref, I); + {ok, <> = Key} -> + [Key | + do_delete_bag_(Sz, K, ?rocksdb:iterator_move(I, next), + Ref, I)]; + _ -> + [] + end. + +do_match_delete(Pat, #st{ets = Ets, ref = Ref, tab = Tab, type = Type, + maintain_size = MaintainSize}) -> + Fun = fun(_, Key, Acc) -> [Key|Acc] end, + Keys = do_fold(Ref, Tab, Type, Fun, [], [{Pat,[],['$_']}], 30), + case {Keys, MaintainSize} of + {[], _} -> + ok; + {_, false} -> + ?rocksdb:write(Ref, [{delete, K} || K <- Keys], []), + ok; + {_, true} -> + CurSz = read_info(size, 0, Ets), + NewSz = max(CurSz - length(Keys), 0), + {Ki, Vi} = info_obj(size, NewSz), + ?rocksdb:write(Ref, [{put, Ki, Vi} | + [{delete, K} || K <- Keys]], []), + ets_insert_info(Ets, size, NewSz), + ok + end. + +recover_size_info(#st{ ref = Ref + , tab = Tab + , type = Type + , maintain_size = MaintainSize + } = St) -> + %% TODO: shall_update_size_info is obsolete, remove + case shall_update_size_info(Tab) of + true -> + Sz = do_fold(Ref, Tab, Type, fun(_, Acc) -> Acc+1 end, + 0, [{'_',[],['$_']}], 3), + write_info_(size, Sz, St); + false -> + case MaintainSize of + true -> + %% info initialized by rocksdb_to_ets/2 + %% TODO: if there is no stored size, recompute it + ignore; + false -> + %% size is not maintained, ensure it's marked accordingly + delete_info_(size, St) + end + end, + St. + +shall_update_size_info({_, index, _}) -> + false; +shall_update_size_info(Tab) -> + property(Tab, update_size_info, false). + +should_maintain_size(Tab) -> + property(Tab, maintain_size, false). + +property(Tab, Prop, Default) -> + try mnesia:read_table_property(Tab, Prop) of + {Prop, P} -> + P + catch + error:_ -> Default; + exit:_ -> Default + end. + +write_info_(Item, Val, #st{ets = Ets, ref = Ref}) -> + rocksdb_insert_info(Ref, Item, Val), + ets_insert_info(Ets, Item, Val). + +ets_insert_info(Ets, Item, Val) -> + ets:insert(Ets, {{info, Item}, Val}). + +ets_delete_info(Ets, Item) -> + ets:delete(Ets, {info, Item}). + +rocksdb_insert_info(Ref, Item, Val) -> + EncKey = info_key(Item), + EncVal = encode_val(Val), + ?rocksdb:put(Ref, EncKey, EncVal, []). + +rocksdb_delete_info(Ref, Item) -> + EncKey = info_key(Item), + ?rocksdb:delete(Ref, EncKey, []). + +info_obj(Item, Val) -> + {info_key(Item), encode_val(Val)}. + +info_key(Item) -> + <>. + +delete_info_(Item, #st{ets = Ets, ref = Ref}) -> + rocksdb_delete_info(Ref, Item), + ets_delete_info(Ets, Item). + +read_info(Item, Default, Ets) -> + case ets:lookup(Ets, {info,Item}) of + [] -> + Default; + [{_,Val}] -> + Val + end. + +tab_name(icache, Tab) -> + list_to_atom("mnesia_ext_icache_" ++ tabname(Tab)); +tab_name(info, Tab) -> + list_to_atom("mnesia_ext_info_" ++ tabname(Tab)). + +proc_name(_Alias, Tab) -> + list_to_atom("mnesia_ext_proc_" ++ tabname(Tab)). + + +%% ---------------------------------------------------------------------------- +%% PRIVATE SELECT MACHINERY +%% ---------------------------------------------------------------------------- + +do_select(Ref, Tab, Type, MS, Limit) -> + do_select(Ref, Tab, Type, MS, false, Limit). + +do_select(Ref, Tab, _Type, MS, AccKeys, Limit) when is_boolean(AccKeys) -> + Keypat = keypat(MS, keypos(Tab)), + Sel = #sel{tab = Tab, + ref = Ref, + keypat = Keypat, + ms = MS, + compiled_ms = ets:match_spec_compile(MS), + key_only = needs_key_only(MS), + limit = Limit}, + with_iterator(Ref, fun(I) -> i_do_select(I, Sel, AccKeys, []) end). + +i_do_select(I, #sel{keypat = {Pfx, _KP}, + compiled_ms = MS, + limit = Limit} = Sel, AccKeys, Acc) -> + StartKey = + case Pfx of + <<>> -> + <>; + _ -> + Pfx + end, + select_traverse(?rocksdb:iterator_move(I, StartKey), Limit, + Pfx, MS, I, Sel, AccKeys, Acc). + +needs_key_only([{HP,_,Body}]) -> + BodyVars = lists:flatmap(fun extract_vars/1, Body), + %% Note that we express the conditions for "needs more than key" and negate. + not(wild_in_body(BodyVars) orelse + case bound_in_headpat(HP) of + {all,V} -> lists:member(V, BodyVars); + none -> false; + Vars -> any_in_body(lists:keydelete(2,1,Vars), BodyVars) + end); +needs_key_only(_) -> + %% don't know + false. + +extract_vars([H|T]) -> + extract_vars(H) ++ extract_vars(T); +extract_vars(T) when is_tuple(T) -> + extract_vars(tuple_to_list(T)); +extract_vars(T) when T=='$$'; T=='$_' -> + [T]; +extract_vars(T) when is_atom(T) -> + case is_wild(T) of + true -> + [T]; + false -> + [] + end; +extract_vars(_) -> + []. + +any_in_body(Vars, BodyVars) -> + lists:any(fun({_,Vs}) -> + intersection(Vs, BodyVars) =/= [] + end, Vars). + +intersection(A,B) when is_list(A), is_list(B) -> + A -- (A -- B). + +wild_in_body(BodyVars) -> + intersection(BodyVars, ['$$','$_']) =/= []. + +bound_in_headpat(HP) when is_atom(HP) -> + {all, HP}; +bound_in_headpat(HP) when is_tuple(HP) -> + [_|T] = tuple_to_list(HP), + map_vars(T, 2); +bound_in_headpat(_) -> + %% this is not the place to throw an exception + none. + +map_vars([H|T], P) -> + case extract_vars(H) of + [] -> + map_vars(T, P+1); + Vs -> + [{P, Vs}|map_vars(T, P+1)] + end; +map_vars([], _) -> + []. + +select_traverse({ok, K, V}, Limit, Pfx, MS, I, #sel{tab = Tab} = Sel, + AccKeys, Acc) -> + case is_prefix(Pfx, K) of + true -> + Rec = setelement(keypos(Tab), decode_val(V), decode_key(K)), + case ets:match_spec_run([Rec], MS) of + [] -> + select_traverse( + ?rocksdb:iterator_move(I, next), Limit, Pfx, MS, + I, Sel, AccKeys, Acc); + [Match] -> + Acc1 = if AccKeys -> + [{K, Match}|Acc]; + true -> + [Match|Acc] + end, + traverse_continue(K, decr(Limit), Pfx, MS, I, Sel, AccKeys, Acc1) + end; + false -> + {lists:reverse(Acc), '$end_of_table'} + end; +select_traverse({error, _}, _, _, _, _, _, _, Acc) -> + {lists:reverse(Acc), '$end_of_table'}. + +is_prefix(A, B) when is_binary(A), is_binary(B) -> + Sa = byte_size(A), + case B of + <> -> + true; + _ -> + false + end. + +decr(I) when is_integer(I) -> + I-1; +decr(infinity) -> + infinity. + +traverse_continue(K, 0, Pfx, MS, _I, #sel{limit = Limit, ref = Ref} = Sel, AccKeys, Acc) -> + {lists:reverse(Acc), + fun() -> + with_iterator(Ref, + fun(NewI) -> + select_traverse(iterator_next(NewI, K), + Limit, Pfx, MS, NewI, Sel, + AccKeys, []) + end) + end}; +traverse_continue(_K, Limit, Pfx, MS, I, Sel, AccKeys, Acc) -> + select_traverse(?rocksdb:iterator_move(I, next), Limit, Pfx, MS, I, Sel, AccKeys, Acc). + +iterator_next(I, K) -> + case ?rocksdb:iterator_move(I, K) of + {ok, K, _} -> + ?rocksdb:iterator_move(I, next); + Other -> + Other + end. + +keypat([{HeadPat,Gs,_}|_], KeyPos) when is_tuple(HeadPat) -> + KP = element(KeyPos, HeadPat), + KeyVars = extract_vars(KP), + Guards = relevant_guards(Gs, KeyVars), + Pfx = mnesia_rocksdb_sext:prefix(KP), + {Pfx, [{KP, Guards, [true]}]}; +keypat(_, _) -> + {<<>>, [{'_',[],[true]}]}. + +relevant_guards(Gs, Vars) -> + case Vars -- ['_'] of + [] -> + []; + Vars1 -> + Fun = + fun(G) -> + Vg = extract_vars(G), + intersection(Vg, Vars1) =/= [] andalso (Vg--Vars1) == [] + end, + lists:filter(Fun, Gs) + end. + +%% ---------------------------------------------------------------------------- +%% COMMON PRIVATE +%% ---------------------------------------------------------------------------- + +%% Note that since a callback can be used as an indexing backend, we +%% cannot assume that keypos will always be 2. For indexes, the tab +%% name will be {Tab, index, Pos}, and The object structure will be +%% {{IxKey,Key}} for an ordered_set index, and {IxKey,Key} for a bag +%% index. +%% +keypos({_, index, _}) -> + 1; +keypos({_, retainer, _}) -> + 2; +keypos(Tab) when is_atom(Tab) -> + 2. + +encode_key(Key) -> + mnesia_rocksdb_sext:encode(Key). + +decode_key(CodedKey) -> + case mnesia_rocksdb_sext:partial_decode(CodedKey) of + {full, Result, _} -> + Result; + _ -> + error(badarg, CodedKey) + end. + +encode_val(Val) -> + term_to_binary(Val). + +decode_val(CodedVal) -> + binary_to_term(CodedVal). + +create_mountpoint(Tab) -> + MPd = data_mountpoint(Tab), + case filelib:is_dir(MPd) of + false -> + file:make_dir(MPd), + ok; + true -> + Dir = mnesia_lib:dir(), + case lists:prefix(Dir, MPd) of + true -> + ok; + false -> + {error, exists} + end + end. + +%% delete_mountpoint(Tab) -> +%% MPd = data_mountpoint(Tab), +%% assert_proper_mountpoint(Tab, MPd), +%% ok = destroy_db(MPd, []). + +assert_proper_mountpoint(_Tab, _MPd) -> + %% TODO: not yet implemented. How to verify that the MPd var points + %% to the directory we actually want deleted? + ok. + +data_mountpoint(Tab) -> + Dir = mnesia_monitor:get_env(dir), + filename:join(Dir, tabname(Tab) ++ ".extldb"). + +tabname({Tab, index, {{Pos},_}}) -> + atom_to_list(Tab) ++ "-=" ++ atom_to_list(Pos) ++ "=-_ix"; +tabname({Tab, index, {Pos,_}}) -> + atom_to_list(Tab) ++ "-" ++ integer_to_list(Pos) ++ "-_ix"; +tabname({Tab, retainer, Name}) -> + atom_to_list(Tab) ++ "-" ++ retainername(Name) ++ "-_RET"; +tabname(Tab) when is_atom(Tab) -> + atom_to_list(Tab) ++ "-_tab". + +retainername(Name) when is_atom(Name) -> + atom_to_list(Name); +retainername(Name) when is_list(Name) -> + try binary_to_list(list_to_binary(Name)) + catch + error:_ -> + lists:flatten(io_lib:write(Name)) + end; +retainername(Name) -> + lists:flatten(io_lib:write(Name)). + +related_resources(Tab) -> + TabS = atom_to_list(Tab), + Dir = mnesia_monitor:get_env(dir), + case file:list_dir(Dir) of + {ok, Files} -> + lists:flatmap( + fun(F) -> + Full = filename:join(Dir, F), + case is_index_dir(F, TabS) of + false -> + case is_retainer_dir(F, TabS) of + false -> + []; + {true, Name} -> + [{{Tab, retainer, Name}, Full}] + end; + {true, Pos} -> + [{{Tab, index, {Pos,ordered}}, Full}] + end + end, Files); + _ -> + [] + end. + +is_index_dir(F, TabS) -> + case re:run(F, TabS ++ "-([0-9]+)-_ix.extldb", [{capture, [1], list}]) of + nomatch -> + false; + {match, [P]} -> + {true, list_to_integer(P)} + end. + +is_retainer_dir(F, TabS) -> + case re:run(F, TabS ++ "-(.+)-_RET", [{capture, [1], list}]) of + nomatch -> + false; + {match, [Name]} -> + {true, Name} + end. + +get_ref(Alias, Tab) -> + call(Alias, Tab, get_ref). + +fold(Alias, Tab, Fun, Acc, MS, N) -> + {Ref, Type} = get_ref(Alias, Tab), + do_fold(Ref, Tab, Type, Fun, Acc, MS, N). + +%% can be run on the server side. +do_fold(Ref, Tab, Type, Fun, Acc, MS, N) -> + {AccKeys, F} = + if is_function(Fun, 3) -> + {true, fun({K,Obj}, Acc1) -> + Fun(Obj, K, Acc1) + end}; + is_function(Fun, 2) -> + {false, Fun} + end, + do_fold1(do_select(Ref, Tab, Type, MS, AccKeys, N), F, Acc). + +do_fold1('$end_of_table', _, Acc) -> + Acc; +do_fold1({L, Cont}, Fun, Acc) -> + Acc1 = lists:foldl(Fun, Acc, L), + do_fold1(select(Cont), Fun, Acc1). + +is_wild('_') -> + true; +is_wild(A) when is_atom(A) -> + case atom_to_list(A) of + "\$" ++ S -> + try begin + _ = list_to_integer(S), + true + end + catch + error:_ -> + false + end; + _ -> + false + end; +is_wild(_) -> + false. diff --git a/src/mnesia_rocksdb_app.erl b/src/mnesia_rocksdb_app.erl new file mode 100644 index 0000000..9f84291 --- /dev/null +++ b/src/mnesia_rocksdb_app.erl @@ -0,0 +1,34 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_app). + +-behaviour(application). + +%% Application callbacks +-export([start/2, stop/1]). + +%% =================================================================== +%% Application callbacks +%% =================================================================== + +start(_StartType, _StartArgs) -> + mnesia_rocksdb_sup:start_link(). + +stop(_State) -> + ok. diff --git a/src/mnesia_rocksdb_params.erl b/src/mnesia_rocksdb_params.erl new file mode 100644 index 0000000..de2eeab --- /dev/null +++ b/src/mnesia_rocksdb_params.erl @@ -0,0 +1,149 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_params). + +-behaviour(gen_server). + +-export([lookup/2, + store/2, + delete/1]). + +-export([start_link/0, + init/1, + handle_call/3, + handle_cast/2, + handle_info/2, + terminate/2, + code_change/3]). + +-include("mnesia_rocksdb_tuning.hrl"). + +-define(KB, 1024). +-define(MB, 1024 * 1024). +-define(GB, 1024 * 1024 * 1024). + +-ifdef(DEBUG). +-define(dbg(Fmt, Args), io:fwrite(user,"~p:~p: "++(Fmt),[?MODULE,?LINE|Args])). +-else. +-define(dbg(Fmt, Args), ok). +-endif. + +lookup(Tab, Default) -> + try ets:lookup(?MODULE, Tab) of + [{_, Params}] -> + Params; + [] -> + Default + catch error:badarg -> + Default + end. + +store(Tab, Params) -> + ets:insert(?MODULE, {Tab, Params}). + +delete(Tab) -> + ets:delete(?MODULE, Tab). + +start_link() -> + case ets:info(?MODULE, name) of + undefined -> + ets:new(?MODULE, [ordered_set, public, named_table]), + load_tuning_parameters(); + _ -> + ok + end, + gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). + +init(_) -> + {ok, []}. + +handle_call(_, _, S) -> {reply, error, S}. +handle_cast(_, S) -> {noreply, S}. +handle_info(_, S) -> {noreply, S}. +terminate(_, _) -> ok. +code_change(_, S, _) -> {ok, S}. + +load_tuning_parameters() -> + case application:get_env(mnesia_rocksdb, tuning_params) of + {ok, Ps} -> + case Ps of + {consult, F} -> consult(F); + {script, F} -> script(F); + _ when is_list(Ps) -> + store_params(Ps) + end; + _ -> + ok + end. + +consult(F) -> + case file:consult(F) of + {ok, Terms} -> + store_params(Terms); + {error, Reason} -> + {error, {Reason, F}} + end. + +script(F) -> + case file:script(F) of + {ok, Terms} -> + store_params(Terms); + {error, Reason} -> + {error, {Reason, F}} + end. + +store_params(Params) -> + _ = lists:foreach(fun({_,S}) -> valid_size(S) end, Params), + NTabs = length(Params), + Env0= mnesia_rocksdb_tuning:describe_env(), + Env = Env0#tuning{n_tabs = NTabs}, + ?dbg("Env = ~p~n", [Env]), + TotalFiles = lists:sum([mnesia_rocksdb_tuning:max_files(Sz) || + {_, Sz} <- Params]), + ?dbg("TotalFiles = ~p~n", [TotalFiles]), + MaxFs = Env#tuning.max_files, + ?dbg("MaxFs = ~p~n", [MaxFs]), + FsHeadroom = MaxFs * 0.6, + ?dbg("FsHeadroom = ~p~n", [FsHeadroom]), + FilesFactor = if TotalFiles =< FsHeadroom -> + 1; % don't have to scale down + true -> + FsHeadroom / TotalFiles + end, + Env1 = Env#tuning{files_factor = FilesFactor}, + ?dbg("Env1 = ~p~n", [Env1]), + lists:foreach( + fun({Tab, Sz}) when is_atom(Tab); + is_atom(element(1,Tab)), + is_integer(element(2,Tab)) -> + ets:insert(?MODULE, {Tab, ldb_params(Sz, Env1, Tab)}) + end, Params). + +ldb_params(Sz, Env, _Tab) -> + MaxFiles = mnesia_rocksdb_tuning:max_files(Sz) * Env#tuning.files_factor, + Opts = if Env#tuning.avail_ram > 100 -> % Gigabytes + [{write_buffer_size, mnesia_rocksdb_tuning:write_buffer(Sz)}, + {cache_size, mnesia_rocksdb_tuning:cache(Sz)}]; + true -> + [] + end, + [{max_open_files, MaxFiles} | Opts]. + +valid_size({I,U}) when is_number(I) -> + true = lists:member(U, [k,m,g]). diff --git a/src/mnesia_rocksdb_sext.erl b/src/mnesia_rocksdb_sext.erl new file mode 100644 index 0000000..74bea96 --- /dev/null +++ b/src/mnesia_rocksdb_sext.erl @@ -0,0 +1,1100 @@ +%% -*- erlang-indent-level: 4; indent-tabs-mode: nil +%%============================================================================== +%% Copyright 2014-2016 Ulf Wiger +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%============================================================================== + +%% @author Ulf Wiger +%% @doc Sortable serialization library +%% @end + +-module(mnesia_rocksdb_sext). + +-export([encode/1, encode/2, decode/1, decode_next/1]). +-export([encode_hex/1, decode_hex/1]). +-export([encode_sb32/1, decode_sb32/1]). +-export([prefix/1, + partial_decode/1]). +-export([prefix_hex/1]). +-export([prefix_sb32/1]). +-export([to_sb32/1, from_sb32/1]). +-export([to_hex/1, from_hex/1]). + + +-define(negbig , 8). +-define(neg4 , 9). +-define(pos4 , 10). +-define(posbig , 11). +-define(atom , 12). +-define(reference, 13). +-define(port , 14). +-define(pid , 15). +-define(tuple , 16). +-define(list , 17). +-define(binary , 18). +-define(bin_tail , 19). + +-define(is_sext(X), + X==?negbig; + X==?neg4; + X==?pos4; + X==?posbig; + X==?atom; + X==?reference; + X==?port; + X==?pid; + X==?tuple; + X==?list; + X==?binary; + X==?bin_tail). + +-define(IMAX1, 16#ffffFFFFffffFFFF). + +-ifdef(DEBUG). +-define(dbg(Fmt, Args), + case os:getenv("MNESIA_SEXT_DEBUG") of + false -> ok; + _ -> io:fwrite(user,"~p:~p: "++(Fmt),[?MODULE,?LINE|Args]) + end). +-else. +-define(dbg(F,A), ok). +-endif. + +%% @spec encode(T::term()) -> binary() +%% @doc Encodes any Erlang term into a binary. +%% The lexical sorting properties of the encoded binary match those of the +%% original Erlang term. That is, encoded terms sort the same way as the +%% original terms would. +%% @end +%% +encode(X) -> encode(X, false). + +%% @spec encode(T::term(), Legacy::boolean()) -> binary() +%% @doc Encodes an Erlang term using legacy bignum encoding. +%% On March 4 2013, Basho noticed that encoded bignums didn't always sort +%% properly. This bug has been fixed, but the encoding of bignums necessarily +%% changed in an incompatible way. +%% +%% The new decode/1 version can read the old bignum format, but the old +%% version obviously cannot read the new. Using `encode(Term, true)', the term +%% will be encoded using the old format. +%% +%% Use only as transition support. This function will be deprecated in time. +%% @end +encode(X, Legacy) when is_tuple(X) -> encode_tuple(X, Legacy); +encode(X, Legacy) when is_list(X) -> encode_list(X, Legacy); +encode(X, _) when is_pid(X) -> encode_pid(X); +encode(X, _) when is_port(X) -> encode_port(X); +encode(X, _) when is_reference(X) -> encode_ref(X); +encode(X, Legacy) when is_number(X) -> encode_number(X, Legacy); +encode(X, _) when is_binary(X) -> encode_binary(X); +encode(X, _) when is_bitstring(X) -> encode_bitstring(X); +encode(X, _) when is_atom(X) -> encode_atom(X). + +%% @spec encode_sb32(Term::any()) -> binary() +%% @doc Encodes any Erlang term into an sb32-encoded binary. +%% This is similar to {@link encode/1}, but produces an octet string that +%% can be used without escaping in file names (containing only the characters +%% 0..9, A..V and '-'). The sorting properties are preserved. +%% +%% Note: The encoding used is inspired by the base32 encoding described in +%% RFC3548, but uses a different alphabet in order to preserve the sort order. +%% @end +%% +encode_sb32(Term) -> + to_sb32(encode(Term)). + +%% @spec encode_hex(Term::any()) -> binary() +%% @doc Encodes any Erlang term into a hex-encoded binary. +%% This is similar to {@link encode/1}, but produces an octet string that +%% can be used without escaping in file names (containing only the characters +%% 0..9 and A..F). The sorting properties are preserved. +%% +%% Note: The encoding used is regular hex-encoding, with the proviso that only +%% capital letters are used (mixing upper- and lowercase characters would break +%% the sorting property). +%% @end +%% +encode_hex(Term) -> + to_hex(encode(Term)). + +%% @spec prefix(X::term()) -> binary() +%% @doc Encodes a binary for prefix matching of similar encoded terms. +%% Lists and tuples can be prefixed by using the '_' marker, +%% similarly to Erlang match specifications. For example: +%%

+%% @end +%% +prefix(X) -> + {_, P} = enc_prefix(X), + P. + +enc_prefix(X) when is_tuple(X) -> prefix_tuple(X); +enc_prefix(X) when is_list(X) -> prefix_list(X); +enc_prefix(X) when is_pid(X) -> {false, encode_pid(X)}; +enc_prefix(X) when is_port(X) -> {false, encode_port(X)}; +enc_prefix(X) when is_reference(X) -> {false, encode_ref(X)}; +enc_prefix(X) when is_number(X) -> {false, encode_number(X)}; +enc_prefix(X) when is_binary(X) -> prefix_binary(X); +enc_prefix(X) when is_bitstring(X) -> prefix_bitstring(X); +enc_prefix(X) when is_atom(X) -> + case is_wild(X) of + true -> + {true, <<>>}; + false -> + {false, encode_atom(X)} + end. + +%% @spec prefix_sb32(X::term()) -> binary() +%% @doc Generates an sb32-encoded binary for prefix matching. +%% This is similar to {@link prefix/1}, but generates a prefix for binaries +%% encoded with {@link encode_sb32/1}, rather than {@link encode/1}. +%% @end +%% +prefix_sb32(X) -> + chop_prefix_tail(to_sb32(prefix(X))). + +%% @spec prefix_hex(X::term()) -> binary() +%% @doc Generates a hex-encoded binary for prefix matching. +%% This is similar to {@link prefix/1}, but generates a prefix for binaries +%% encoded with {@link encode_hex/1}, rather than {@link encode/1}. +%% @end +%% +prefix_hex(X) -> + to_hex(prefix(X)). + +%% Must chop of the pad character and the last encoded unit (which, if pad +%% characters are present, is not a whole byte) +%% +chop_prefix_tail(Bin) -> + Sz = byte_size(Bin), + Sz6 = Sz-7, Sz4 = Sz - 5, Sz3 = Sz - 4, Sz1 = Sz - 2, + case Bin of + << P:Sz6/binary, _, "------" >> -> P; + << P:Sz4/binary, _, "----" >> -> P; + << P:Sz3/binary, _, "---" >> -> P; + << P:Sz1/binary, _, "-" >> -> P; + _ -> Bin + end. + +%% @spec decode(B::binary()) -> term() +%% @doc Decodes a binary generated using the function {@link sext:encode/1}. +%% @end +%% +decode(Elems) -> + case decode_next(Elems) of + {Term, <<>>} -> Term; + Other -> erlang:error(badarg, Other) + end. + +%% spec decode_sb32(B::binary()) -> term() +%% @doc Decodes a binary generated using the function {@link encode_sb32/1}. +%% @end +%% +decode_sb32(Data) -> + decode(from_sb32(Data)). + +decode_hex(Data) -> + decode(from_hex(Data)). + +encode_tuple(T, Legacy) -> + Sz = size(T), + encode_tuple_elems(1, Sz, T, <>, Legacy). + +prefix_tuple(T) -> + Sz = size(T), + Elems = tuple_to_list(T), + prefix_tuple_elems(Elems, <>). + +%% It's easier to iterate over a tuple by converting it to a list, but +%% since the tuple /can/ be huge, let's do it this way. +encode_tuple_elems(P, Sz, T, Acc, Legacy) when P =< Sz -> + E = encode(element(P,T), Legacy), + encode_tuple_elems(P+1, Sz, T, <>, Legacy); +encode_tuple_elems(_, _, _, Acc, _) -> + Acc. + +prefix_tuple_elems([A|T], Acc) when is_atom(A) -> + case is_wild(A) of + true -> + {true, Acc}; + false -> + E = encode(A), + prefix_tuple_elems(T, <>) + end; +prefix_tuple_elems([H|T], Acc) -> + case enc_prefix(H) of + {true, P} -> + {true, <>}; + {false, E} -> + prefix_tuple_elems(T, <>) + end; +prefix_tuple_elems([], Acc) -> + {false, Acc}. + +encode_list(L, Legacy) -> + encode_list_elems(L, <>, Legacy). + +prefix_list(L) -> + prefix_list_elems(L, <>). + +encode_binary(B) -> + Enc = encode_bin_elems(B), + <>. + +prefix_binary(B) -> + Enc = encode_bin_elems(B), + {false, <>}. + +encode_bitstring(B) -> + Enc = encode_bits_elems(B), + <>. + +prefix_bitstring(B) -> + Enc = encode_bits_elems(B), + {false, <>}. + +encode_pid(P) -> + PBin = term_to_binary(P), + <<131,103,100,ALen:16,Name:ALen/binary,Rest:9/binary>> = PBin, + NameEnc = encode_bin_elems(Name), + <>. + +encode_port(P) -> + PBin = term_to_binary(P), + <<131,102,100,ALen:16,Name:ALen/binary,Rest:5/binary>> = PBin, + NameEnc = encode_bin_elems(Name), + <>. + +encode_ref(R) -> + RBin = term_to_binary(R), + <<131,114,_Len:16,100,NLen:16,Name:NLen/binary,Rest/binary>> = RBin, + NameEnc = encode_bin_elems(Name), + RestEnc = encode_bin_elems(Rest), + <>. + +encode_atom(A) -> + Bin = list_to_binary(atom_to_list(A)), + Enc = encode_bin_elems(Bin), + <>. + +encode_number(N) -> + encode_number(N, false). + +encode_number(N, Legacy) when is_integer(N) -> + encode_int(N, none, Legacy); +encode_number(F, _Legacy) when is_float(F) -> + encode_float(F). + +%% +%% IEEE 764 Binary 64 standard representation +%% http://en.wikipedia.org/wiki/Double_precision_floating-point_format +%% +%% |12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 +%% |iEEEEEEE EEEEffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff| +%% +%% i: sign bit +%% E: Exponent, 11 bits +%% f: fraction, 52 bits +%% +%% We perform the following operations: +%% - if E < 1023 (see Exponent bias), the integer part is 0 +%% +encode_float(F) -> + <> = <>, + ?dbg("F = ~p | Exp0 = ~p | Frac = ~p~n", [cF, Exp0, Frac]), + {Int0, Fraction} = + case Exp0 - 1023 of + NegExp when NegExp < 0 -> + Offs = -NegExp, + ?dbg("NegExp = ~p, Offs = ~p~n" + "Frac = ~p~n", [NegExp, Offs, Frac]), + {0, << 0:Offs, 1:1,Frac:52 >>}; + Exp1 -> + ?dbg("Exp1 = ~p~n", [Exp1]), + if Exp1 >= 52 -> + %% Decimal part will be zero + {trunc(F), <<0:52>>}; + true -> + R = 52-Exp1, + ?dbg("R = ~p~n", [R]), + Exp2 = Exp1 + 1, % add the leading 1-bit + ?dbg("Exp2 = ~p~n", [Exp2]), + <> = <<1:1, Frac:52>>, + ?dbg("I = ~p, Frac1 = ~p~n", [I,Frac1]), + {I, <>} + end + end, + if Sign == 1 -> + %% explicitly encode a negative int, since Int0 can be zero. + Int = if Int0 >= 0 -> -Int0; + true -> Int0 + end, + encode_neg_int(Int, Fraction); + Sign == 0 -> + encode_int(Int0, Fraction) + end. + +encode_neg_int(Int, Fraction)-> + encode_neg_int(Int, Fraction,false). +encode_int(I, R) -> + encode_int(I, R, false). + +encode_int(I,R, _Legacy) when I >= 0, I =< 16#7fffffff -> + ?dbg("encode_int(~p, ~p)~n", [I,R]), + if R == none -> + << ?pos4, I:31, 0:1 >>; + true -> + RSz = bit_size(R), + <> = R, + ?dbg("Fraction = ~p~n", [Fraction]), + if Fraction == 0 -> + << ?pos4, I:31, 1:1, 8:8 >>; + true -> + Rbits = encode_bits_elems(R), + << ?pos4, I:31, 1:1, Rbits/binary >> + end + end; +encode_int(I,R, Legacy) when I > 16#7fffffff -> + ?dbg("encode_int(~p, ~p)~n", [I,R]), + Bytes = encode_big(I, Legacy), + if R == none -> + <>; + true -> + RSz = bit_size(R), + <> = R, + ?dbg("Fraction = ~p~n", [Fraction]), + if Fraction == 0 -> + << ?posbig, Bytes/binary, 1:8, 8:8 >>; + true -> + Rbits = encode_bits_elems(R), + <> + end + end; +encode_int(I, R, Legacy) when I < 0 -> + encode_neg_int(I, R,Legacy). + +encode_neg_int(I,R,_Legacy) when I =< 0, I >= -16#7fffffff -> + ?dbg("encode_neg_int(~p, ~p [sz: ~p])~n", [I,pp(R), try bit_size(R) catch error:_ -> "***" end]), + Adj = max_value(31) + I, % keep in mind that I < 0 + ?dbg("Adj = ~p~n", [erlang:integer_to_list(Adj,2)]), + if R == none -> + << ?neg4, Adj:31, 1:1 >>; + true -> + Rbits = encode_neg_bits(R), + ?dbg("R = ~p -> RBits = ~p~n", [pp(R), pp(Rbits)]), + << ?neg4, Adj:31, 0:1, Rbits/binary >> + end; +encode_neg_int(I,R,Legacy) when I < -16#7fFFffFF -> + ?dbg("encode_neg_int(BIG ~p)~n", [I]), + Bytes = encode_big_neg(I,Legacy), + ?dbg("Bytes = ~p~n", [Bytes]), + if R == none -> + <>; + true -> + Rbits = encode_neg_bits(R), + ?dbg("R = ~p -> RBits = ~p~n", [pp(R), pp(Rbits)]), + <> + end. + +encode_big(I, Legacy) -> + Bl = encode_big1(I), + ?dbg("Bl = ~p~n", [Bl]), + Bb = case Legacy of + false -> + prepend_size(list_to_binary(Bl)); + true -> + list_to_binary(Bl) + end, + ?dbg("Bb = ~p~n", [Bb]), + encode_bin_elems(Bb). + +prepend_size(B) -> + Sz = byte_size(B), + <<255, (encode_size(Sz))/binary, B/binary>>. + +remove_size_bits(<<255, T/binary>>) -> + {_, Rest} = untag_7bits(T, <<>>), + Rest; +remove_size_bits(B) -> + %% legacy bignum + B. + +encode_size(I) when I > 127 -> + B = int_to_binary(I), + tag_7bits(B); +encode_size(I) -> + <>. + +tag_7bits(B) when bit_size(B) > 7 -> + <> = B, + <<1:1, H:7, (tag_7bits(T))/binary>>; +tag_7bits(B) -> + Sz = bit_size(B), + <> = B, + <<0:1, I:7>>. + +untag_7bits(<<1:1, H:7, T/binary>>, Acc) -> + untag_7bits(T, <>); +untag_7bits(<<0:1, H:7, T/binary>>, Acc) -> + AccBits = bit_size(Acc), + HBits = 8 - (AccBits rem 8), + {<>, T}. + +int_to_binary(I) when I =< 16#ff -> <>; +int_to_binary(I) when I =< 16#ffff -> <>; +int_to_binary(I) when I =< 16#ffffff -> <>; +int_to_binary(I) when I =< 16#ffffffff -> <>; +int_to_binary(I) when I =< 16#ffffffffff -> <>; +int_to_binary(I) when I =< 16#ffffffffffff -> <>; +int_to_binary(I) when I =< 16#ffffffffffffff -> <>; +int_to_binary(I) when I =< 16#ffffffffffffffff -> <>; +int_to_binary(I) -> + %% Realm of the ridiculous + list_to_binary( + lists:dropwhile(fun(X) -> X==0 end, binary_to_list(<>))). + +%% This function exists for documentation, but not used right now. +%% It's the reverse of encode_size/1, used for encoding bignums. +%% +%% decode_size(<<1:1, _/bitstring>> = T) -> +%% {SzBin, Rest} = untag_7bits(T, <<>>), +%% Bits = bit_size(SzBin), +%% <> = SzBin, +%% {Sz, Rest}; +%% decode_size(<<0:1, H:7, T/binary>>) -> +%% {H, T}. + +encode_big_neg(I,Legacy) -> + {Words, Max} = get_max(-I), + ?dbg("Words = ~p | Max = ~p~n", [Words,Max]), + Iadj = Max + I, % keep in mind that I < 0 + ?dbg("IAdj = ~p~n", [Iadj]), + Bin = encode_big(Iadj,Legacy), + ?dbg("Bin = ~p~n", [Bin]), + WordsAdj = 16#ffffFFFF - Words, + ?dbg("WordsAdj = ~p~n", [WordsAdj]), + <>. + +encode_big1(I) -> + encode_big1(I, []). + +encode_big1(I, Acc) when I < 16#ff -> + [I|Acc]; +encode_big1(I, Acc) -> + encode_big1(I bsr 8, [I band 16#ff | Acc]). + +encode_list_elems([], Acc, _) -> + <>; +encode_list_elems(B, Acc, Legacy) when is_bitstring(B) -> + %% improper list + <>; +encode_list_elems(E, Acc, Legacy) when not(is_list(E)) -> + %% improper list + <>; +encode_list_elems([H|T], Acc, Legacy) -> + Enc = encode(H,Legacy), + encode_list_elems(T, <>, Legacy). + +prefix_list_elems([], Acc) -> + {false, <>}; +prefix_list_elems(E, Acc) when not(is_list(E)) -> + case is_wild(E) of + true -> + {true, Acc}; + false -> + Marker = if is_bitstring(E) -> ?bin_tail; + true -> 1 + end, + {Bool, P} = enc_prefix(E), + {Bool, <>} + end; +prefix_list_elems([H|T], Acc) -> + case enc_prefix(H) of + {true, P} -> + {true, <>}; + {false, E} -> + prefix_list_elems(T, <>) + end. + +is_wild('_') -> + true; +is_wild(A) when is_atom(A) -> + case atom_to_list(A) of + "\$" ++ S -> + try begin + _ = list_to_integer(S), + true + end + catch + error:_ -> + false + end; + _ -> + false + end; +is_wild(_) -> + false. + +encode_bin_elems(<<>>) -> + <<8>>; +encode_bin_elems(B) -> + Pad = 8 - (size(B) rem 8), + << (<< <<1:1, B1:8>> || <> <= B >>)/bitstring, 0:Pad, 8 >>. + +encode_neg_bits(<<>>) -> + <<247>>; +encode_neg_bits(B) -> + {Padded, TailBits} = pad_neg_bytes(B), + ?dbg("TailBits = ~p~n", [TailBits]), + TailSz0 = bit_size(TailBits), + TailSz = 16#ff - TailSz0, + if TailSz0 == 0 -> + Pad = 8 - (bit_size(Padded) rem 8), + Ip = max_value(Pad), % e.g. max_value(3) -> 2#111 + <>; + true -> + ?dbg("TailSz0 = ~p~n", [TailSz0]), + TailPad = 8 - TailSz0, + ?dbg("TailPad = ~p~n", [TailPad]), + Itp = (1 bsl TailPad)-1, + ?dbg("Itp = ~p~n", [Itp]), + Pad = 8 - ((bit_size(Padded) + 1) rem 8), + ?dbg("Pad = ~p~n", [Pad]), + Ip = max_value(Pad), + ?dbg("Ip = ~p~n", [Ip]), + ?dbg("Pad = ~p~n", [Pad]), + ?dbg("TailSz = ~p~n", [TailSz]), + <> + end. + +pad_neg_bytes(Bin) -> + pad_neg_bytes(Bin, <<>>). + +pad_neg_bytes(<>, Acc) -> + H1 = 16#ff - H, + pad_neg_bytes(T, <>); +pad_neg_bytes(Bits, Acc) when is_bitstring(Bits) -> + Sz = bit_size(Bits), + Max = (1 bsl Sz) - 1, + <> = Bits, + I1 = Max - I0, + {Acc, <>}. + +encode_bits_elems(B) -> + {Padded, TailBits} = pad_bytes(B), + TailSz = bit_size(TailBits), + TailPad = 8-TailSz, + Pad = 8 - ((TailSz + TailPad + bit_size(Padded) + 1) rem 8), + <>. + +pad_bytes(Bin) -> + pad_bytes(Bin, <<>>). + +pad_bytes(<>, Acc) -> + pad_bytes(T, <>); +pad_bytes(Bits, Acc) when is_bitstring(Bits) -> + {Acc, Bits}. + + +%% ------------------------------------------------------ +%% Decoding routines + +-spec decode_next(binary()) -> {any(), binary()}. +%% @spec decode_next(Bin) -> {N, Rest} +%% @doc Decode a binary stream, returning the next decoded term and the +%% stream remainder +%% +%% This function will raise an exception if the beginning of `Bin' is not +%% a valid sext-encoded term. +%% @end +decode_next(<>) -> decode_atom(Rest); +decode_next(<>) -> decode_pid(Rest); +decode_next(<>) -> decode_port(Rest); +decode_next(<>) -> decode_ref(Rest); +decode_next(<>) -> decode_tuple(Sz,Rest); +decode_next(<>) -> decode_list(Rest); +decode_next(<>) -> decode_neg_big(Rest); +decode_next(<>) -> decode_pos_big(Rest); +decode_next(<>) -> decode_neg(I,F,Rest); +decode_next(<>) -> decode_pos(I,F,Rest); +decode_next(<>) -> decode_binary(Rest). + +-spec partial_decode(binary()) -> {full | partial, any(), binary()}. +%% @spec partial_decode(Bytes) -> {full | partial, DecodedTerm, Rest} +%% @doc Decode a sext-encoded term or prefix embedded in a byte stream. +%% +%% Example: +%% ``` +%% 1> T = sext:encode({a,b,c}). +%% <<16,0,0,0,3,12,176,128,8,12,177,0,8,12,177,128,8>> +%% 2> sext:partial_decode(<<T/binary, "tail">>). +%% {full,{a,b,c},<<"tail">>} +%% 3> P = sext:prefix({a,b,'_'}). +%% <<16,0,0,0,3,12,176,128,8,12,177,0,8>> +%% 4> sext:partial_decode(<<P/binary, "tail">>). +%% {partial,{a,b,'_'},<<"tail">>} +%% ''' +%% +%% Note that a decoded prefix may not be exactly like the encoded prefix. +%% For example, ['_'] will be encoded as +%% <<17>>, i.e. only the 'list' opcode. The +%% decoded prefix will be '_', since the encoded prefix would +%% also match the empty list. The decoded prefix will always be a prefix to +%% anything to which the original prefix is a prefix. +%% +%% For tuples, {1,'_',3} encoded and decoded, will result in +%% {1,'_','_'}, i.e. the tuple size is kept, but the elements +%% after the first wildcard are replaced with wildcards. +%% @end +partial_decode(<>) -> + partial_decode_tuple(Sz, Rest); +partial_decode(<>) -> + partial_decode_list(Rest); +partial_decode(Other) -> + try decode_next(Other) of + {Dec, Rest} -> + {full, Dec, Rest} + catch + error:function_clause -> + {partial, '_', Other} + end. + +decode_atom(B) -> + {Bin, Rest} = decode_binary(B), + {list_to_atom(binary_to_list(Bin)), Rest}. + +decode_tuple(Sz, Elems) -> + decode_tuple(Sz,Elems,[]). + +decode_tuple(0, Rest, Acc) -> + {list_to_tuple(lists:reverse(Acc)), Rest}; +decode_tuple(N, Elems, Acc) -> + {Term, Rest} = decode_next(Elems), + decode_tuple(N-1, Rest, [Term|Acc]). + +partial_decode_tuple(Sz, Elems) -> + partial_decode_tuple(Sz, Elems, []). + +partial_decode_tuple(0, Rest, Acc) -> + {full, list_to_tuple(lists:reverse(Acc)), Rest}; +partial_decode_tuple(N, Elems, Acc) -> + case partial_decode(Elems) of + {partial, Term, Rest} -> + {partial, list_to_tuple( + lists:reverse([Term|Acc]) ++ pad_(N-1)), Rest}; + {full, Dec, Rest} -> + partial_decode_tuple(N-1, Rest, [Dec|Acc]) + end. + +pad_(0) -> + []; +pad_(N) when N > 0 -> + ['_'|pad_(N-1)]. + +partial_decode_list(Elems) -> + partial_decode_list(Elems, []). + +partial_decode_list(<<>>, Acc) -> + {partial, lists:reverse(Acc) ++ '_', <<>>}; +partial_decode_list(<<2, Rest/binary>>, Acc) -> + {full, lists:reverse(Acc), Rest}; +partial_decode_list(<>, Acc) -> + %% improper list, binary tail + {Term, Rest} = decode_next(Next), + {full, lists:reverse(Acc) ++ Term, Rest}; +partial_decode_list(<<1, Next/binary>>, Acc) -> + {Result, Term, Rest} = partial_decode(Next), + {Result, lists:reverse(Acc) ++ Term, Rest}; +partial_decode_list(<> = Next, Acc) when ?is_sext(X) -> + case partial_decode(Next) of + {full, Term, Rest} -> + partial_decode_list(Rest, [Term|Acc]); + {partial, Term, Rest} -> + {partial, lists:reverse([Term|Acc]) ++ '_', Rest} + end; +partial_decode_list(Rest, Acc) -> + {partial, lists:reverse(Acc) ++ '_', Rest}. + +decode_list(Elems) -> + decode_list(Elems, []). + +decode_list(<<2, Rest/binary>>, Acc) -> + {lists:reverse(Acc), Rest}; +decode_list(<>, Acc) -> + %% improper list, binary tail + {Term, Rest} = decode_next(Next), + {lists:reverse(Acc) ++ Term, Rest}; +decode_list(<<1, Next/binary>>, Acc) -> + %% improper list, non-binary tail + {Term, Rest} = decode_next(Next), + {lists:reverse(Acc) ++ Term, Rest}; +decode_list(Elems, Acc) -> + {Term, Rest} = decode_next(Elems), + decode_list(Rest, [Term|Acc]). + +decode_pid(Bin) -> + {Name, Rest} = decode_binary(Bin), + <> = Rest, + NameSz = size(Name), + {binary_to_term(<<131,103,100,NameSz:16,Name/binary,Tail/binary>>), Rest1}. + +decode_port(Bin) -> + {Name, Rest} = decode_binary(Bin), + <> = Rest, + NameSz = size(Name), + {binary_to_term(<<131,102,100,NameSz:16,Name/binary,Tail/binary>>), Rest1}. + +decode_ref(Bin) -> + {Name, Rest} = decode_binary(Bin), + {Tail, Rest1} = decode_binary(Rest), + NLen = size(Name), + Len = (size(Tail)-1) div 4, + RefBin = <<131,114,Len:16,100,NLen:16,Name/binary,Tail/binary>>, + {binary_to_term(RefBin), Rest1}. + +decode_neg(I, 1, Rest) -> + {(I - 16#7fffFFFF), Rest}; +decode_neg(I0, 0, Bin) -> % for negative numbers, 0 means that it's a float + I = 16#7fffFFFF - I0, + ?dbg("decode_neg()... I = ~p | Bin = ~p~n", [I, Bin]), + decode_neg_float(I, Bin). + +decode_neg_float(0, Bin) -> + {R, Rest} = decode_neg_binary(Bin), + ?dbg("Bin = ~p~n", [pp(Bin)]), + ?dbg("R = ~p | Rest = ~p~n", [pp(R), Rest]), + Sz = bit_size(R), + Offs = Sz - 53, + ?dbg("Offs = ~p | Sz - ~p~n", [Offs, Sz]), + <<_:Offs, 1:1, I:52>> = R, + Exp = 1023 - Offs, + <> = <<1:1, Exp:11, I:52>>, + {F, Rest}; +decode_neg_float(I, Bin) -> + {R, Rest} = decode_neg_binary(Bin), + ?dbg("decode_neg_float: I = ~p | R = ~p~n", [I, R]), + Sz = bit_size(R), + ?dbg("Sz = ~p~n", [Sz]), + <> = R, + ?dbg("Ri = ~p~n", [Ri]), + if Ri == 0 -> + %% special case + {0.0-I, Rest}; + true -> + IBits = strip_first_one(I), + ?dbg("IBits = ~p~n", [pp(IBits)]), + Bits = <>, + ?dbg("Bits = ~p (Sz: ~p)~n", [pp(Bits), bit_size(Bits)]), + Exp = bit_size(IBits) + 1023, + ?dbg("Exp = ~p~n", [Exp]), + <> = <>, + ?dbg("Frac = ~p~n", [Frac]), + <> = <<1:1, Exp:11, Frac:52>>, + {F, Rest} + end. + +decode_pos(I, 0, Rest) -> + {I, Rest}; +decode_pos(0, 1, Bin) -> + {Real, Rest} = decode_binary(Bin), + Offs = bit_size(Real) - 53, + <<0:Offs, 1:1, Frac:52>> = Real, + Exp = 1023 - Offs, + <> = <<0:1, Exp:11, Frac:52>>, + {F, Rest}; +decode_pos(I, 1, Bin) -> % float > 1 + ?dbg("decode_pos(~p, 1, ~p)~n", [I, Bin]), + {Real, Rest} = decode_binary(Bin), + case decode_binary(Bin) of + {<<>>, Rest} -> + <> = <>, + {F, Rest}; + {Real, Rest} -> + ?dbg("Real = ~p~n", [Real]), + Exp = 52 - bit_size(Real) + 1023, + ?dbg("Exp = ~p~n", [Exp]), + Bits0 = <>, + ?dbg("Bits0 = ~p~n", [Bits0]), + Bits = strip_one(Bits0), + <> = Bits, + <> = <<0:1, Exp:11, Frac:52>>, + {F, Rest} + end. + +decode_pos_big(Bin) -> + ?dbg("decode_pos_big(~p)~n", [Bin]), + {Ib0, Rest} = decode_binary(Bin), + Ib = remove_size_bits(Ib0), + ?dbg("Ib = ~p~n", [Ib]), + ISz = size(Ib) * 8, + ?dbg("ISz = ~p~n", [ISz]), + <> = Ib, + ?dbg("I = ~p~n", [I]), + <> = Rest, + ?dbg("Rest1 = ~p~n", [Rest1]), + decode_pos(I, F, Rest1). + +decode_neg_big(Bin) -> + ?dbg("decode_neg_big(~p)~n", [Bin]), + <> = Bin, + Words = 16#ffffFFFF - WordsAdj, + ?dbg("Words = ~p~n", [Words]), + {Ib0, Rest1} = decode_binary(Rest), + Ib = remove_size_bits(Ib0), + ?dbg("Ib = ~p | Rest1 = ~p~n", [Ib, Rest1]), + ISz = size(Ib) * 8, + <> = Ib, + ?dbg("I0 = ~p~n", [I0]), + Max = imax(Words), + ?dbg("Max = ~p~n", [Max]), + I = Max - I0, + ?dbg("I = ~p~n", [I]), + <> = Rest1, + ?dbg("F = ~p | Rest2 = ~p~n", [F, Rest2]), + if F == 0 -> + decode_neg_float(I, Rest2); + F == 16#ff -> + {-I, Rest2} + end. + +%% optimization - no need to loop through a very large number of zeros. +strip_first_one(I) -> + Sz = if I < 16#ff -> 8; + I < 16#ffff -> 16; + I < 16#ffffff -> 24; + I < 16#ffffffff -> 32; + true -> 52 + end, + strip_one(<>). + +strip_one(<<0:1, Rest/bitstring>>) -> strip_one(Rest); +strip_one(<<1:1, Rest/bitstring>>) -> Rest. + + +decode_binary(<<8, Rest/binary>>) -> {<<>>, Rest}; +decode_binary(B) -> decode_binary(B, 0, <<>>). + +decode_binary(<<1:1,H:8,Rest/bitstring>>, N, Acc) -> + case Rest of + <<1:1,_/bitstring>> -> + decode_binary(Rest, N+9, << Acc/binary, H >>); + _ -> + Pad = 8 - ((N+9) rem 8), + <<0:Pad,EndBits,Rest1/binary>> = Rest, + TailPad = 8-EndBits, + <> = <>, + {<< Acc/binary, Tail:EndBits >>, Rest1} + end. + +decode_neg_binary(<<247, Rest/binary>>) -> {<<>>, Rest}; % 16#ff - 8 +decode_neg_binary(B) -> decode_neg_binary(B, 0, <<>>). + +decode_neg_binary(<<0:1,H:8,Rest/bitstring>>, N, Acc) -> + case Rest of + <<0:1,_/bitstring>> -> + decode_neg_binary(Rest, N+9, << Acc/binary, (16#ff - H) >>); + _ -> + Pad = 8 - ((N+9) rem 8), + ?dbg("Pad = ~p~n", [Pad]), + IPad = (1 bsl Pad) - 1, + <> = Rest, + ?dbg("EndBits0 = ~p~n", [EndBits0]), + EndBits = 16#ff - EndBits0, + ?dbg("EndBits = ~p~n", [EndBits]), + if EndBits == 0 -> + {<< Acc/binary, (16#ff - H)>>, Rest1}; + true -> + <> = <<(16#ff - H)>>, + ?dbg("Tail = ~p~n", [Tail]), + {<< Acc/binary, Tail:EndBits >>, Rest1} + end + end. + +%% The largest value that fits in Sz bits +max_value(Sz) -> + (1 bsl Sz) - 1. + +%% The largest value that fits in Words*64 bits. +imax(1) -> max_value(64); +imax(2) -> max_value(128); +imax(Words) -> max_value(Words*64). + +%% Get the smallest imax/1 value that's larger than I. +get_max(I) -> get_max(I, 1, imax(1)). +get_max(I, W, Max) when I > Max -> + get_max(I, W+1, (Max bsl 64) bor ?IMAX1); +get_max(_, W, Max) -> + {W, Max}. + +%% @spec to_sb32(Bits::bitstring()) -> binary() +%% @doc Converts a bitstring into an sb-encoded bitstring +%% +%% sb32 (Sortable base32) is a variant of RFC3548, slightly rearranged to +%% preserve the lexical sorting properties. Base32 was chosen to avoid +%% filename-unfriendly characters. Also important is that the padding +%% character be less than any character in the alphabet +%% +%% sb32 alphabet: +%%
+%% 0 0     6 6     12 C     18 I     24 O     30 U
+%% 1 1     7 7     13 D     19 J     25 P     31 V
+%% 2 2     8 8     14 E     20 K     26 Q  (pad) -
+%% 3 3     9 9     15 F     21 L     27 R
+%% 4 4    10 A     16 G     22 M     28 S
+%% 5 5    11 B     17 H     23 N     29 T
+%% 
+%% @end +%% +to_sb32(Bits) when is_bitstring(Bits) -> + Sz = bit_size(Bits), + {Chunk, Rest, Pad} = + case Sz rem 5 of + 0 -> {Bits, <<>>, <<>>}; + R -> sb32_encode_chunks(Sz, R, Bits) + end, + Enc = << << (c2sb32(C1)) >> || + <> <= Chunk >>, + if Rest == << >> -> + Enc; + true -> + << Enc/bitstring, (c2sb32(Rest)):8, Pad/binary >> + end. + +sb32_encode_chunks(Sz, Rem, Bits) -> + ChunkSz = Sz - Rem, + << C:ChunkSz/bitstring, Rest:Rem >> = Bits, + Pad = encode_pad(Rem), + {C, Rest, Pad}. + +encode_pad(3) -> <<"------">>; +encode_pad(1) -> <<"----">>; +encode_pad(4) -> <<"---">>; +encode_pad(2) -> <<"-">>. + +%% @spec from_sb32(Bits::bitstring()) -> bitstring() +%% @doc Converts from an sb32-encoded bitstring into a 'normal' bitstring +%% +%% This function is the reverse of {@link to_sb32/1}. +%% @end +%% +from_sb32(<< C:8, "------" >>) -> << (sb322c(C)):3 >>; +from_sb32(<< C:8, "----" >> ) -> << (sb322c(C)):1 >>; +from_sb32(<< C:8, "---" >> ) -> << (sb322c(C)):4 >>; +from_sb32(<< C:8, "-" >> ) -> << (sb322c(C)):2 >>; +from_sb32(<< C:8, Rest/bitstring >>) -> + << (sb322c(C)):5, (from_sb32(Rest))/bitstring >>; +from_sb32(<< >>) -> + << >>. + +c2sb32(I) when 0 =< I, I =< 9 -> $0 + I; +c2sb32(I) when 10 =< I, I =< 31 -> $A + I - 10. + +sb322c(I) when $0 =< I, I =< $9 -> I - $0; +sb322c(I) when $A =< I, I =< $V -> I - $A + 10. + +%% @spec to_hex(Bin::binary()) -> binary() +%% @doc Converts a binary into a hex-encoded binary +%% This is conventional hex encoding, with the proviso that +%% only capital letters are used, e.g. `0..9A..F'. +%% @end +to_hex(Bin) -> + << << (nib2hex(N)):8 >> || <> <= Bin >>. + +%% @spec from_hex(Bin::binary()) -> binary() +%% @doc Converts from a hex-encoded binary into a 'normal' binary +%% +%% This function is the reverse of {@link to_hex/1}. +%% +from_hex(Bin) -> + << << (hex2nib(H)):4 >> || <> <= Bin >>. + +nib2hex(N) when 0 =< N, N =< 9 -> $0 + N; +nib2hex(N) when 10 =< N, N =< 15-> $A + N - 10. + +hex2nib(C) when $0 =< C, C =< $9 -> C - $0; +hex2nib(C) when $A =< C, C =< $F -> C - $A + 10. + +-ifdef(DEBUG). +pp(none) -> ""; +pp(B) when is_bitstring(B) -> + [ $0 + I || <> <= B ]. +-endif. + +-ifdef(TEST). +-include_lib("eunit/include/eunit.hrl"). + +encode_test() -> + L = test_list(), + [{I,I} = {I,catch decode(encode(I))} || I <- L]. + +test_list() -> + [-456453453477456464.45456, + -5.23423564, + -1.234234, + -1.23423, + -0.345, + -0.34567, + -0.0034567, + 0, + 0.00012345, + 0.12345, + 1.2345, + 123.45, + 456453453477456464.45456, + a, + aaa, + {}, + {1}, + {1,2}, + {"","123"}, + {"1","234"}, + <<>>, + <<1>>, + <<1,5:3>>, + <<1,5:4>>, + [1,2,3], + [], + self(), + spawn(fun() -> ok end), + make_ref(), + make_ref()| + lists:sublist(erlang:ports(),1,2)]. + +-endif. diff --git a/src/mnesia_rocksdb_sup.erl b/src/mnesia_rocksdb_sup.erl new file mode 100644 index 0000000..3b6b23c --- /dev/null +++ b/src/mnesia_rocksdb_sup.erl @@ -0,0 +1,44 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_sup). + +-behaviour(supervisor). + +%% API +-export([start_link/0]). + +%% Supervisor callbacks +-export([init/1]). + +%% Helper macro for declaring children of supervisor +-define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}). + +%% =================================================================== +%% API functions +%% =================================================================== + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +%% =================================================================== +%% Supervisor callbacks +%% =================================================================== + +init([]) -> + {ok, { {one_for_one, 5, 10}, [?CHILD(mnesia_rocksdb_params, worker)]} }. diff --git a/src/mnesia_rocksdb_tuning.erl b/src/mnesia_rocksdb_tuning.erl new file mode 100644 index 0000000..417ba03 --- /dev/null +++ b/src/mnesia_rocksdb_tuning.erl @@ -0,0 +1,198 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_tuning). + +-export([describe_env/0, + get_maxfiles/0, get_maxfiles/1, + get_avail_ram/0, + ldb_tabs/0, ldb_tabs/1, + ldb_indexes/0, ldb_indexes/1, + count_ldb_tabs/0, count_ldb_tabs/1, + calc_sizes/0, calc_sizes/1, + ideal_max_files/0, ideal_max_files/1, + max_files/1, + write_buffer/1, + cache/1, + default/1]). + +-include("mnesia_rocksdb_tuning.hrl"). + +-define(KB, 1024). +-define(MB, 1024 * 1024). +-define(GB, 1024 * 1024 * 1024). + +describe_env() -> + #tuning{max_files = get_maxfiles(), + avail_ram = get_avail_ram()}. + +get_maxfiles() -> + get_maxfiles(os:type()). + +get_maxfiles({unix,darwin}) -> + Limit = os:cmd("launchctl limit maxfiles"), + [_, Soft, _] = string:tokens(Limit, " \t\n"), + list_to_integer(Soft); +get_maxfiles({unix,linux}) -> + [L|_] = string:tokens(os:cmd("ulimit -n"), "\n"), + list_to_integer(L). + +%% Returns installed RAM in Gigabytes +get_avail_ram() -> + get_avail_ram(os:type()). + +get_avail_ram({unix,darwin}) -> + {match, [S]} = + re:run(os:cmd("/usr/sbin/system_profiler SPHardwareDataType"), + "Memory: (.+) GB", [{capture, [1], list}]), + list_to_integer(S); +get_avail_ram({unix,linux}) -> + {match, [S]} = + re:run(os:cmd("free -g"), "Mem:[ ]+([0-9]+) ",[{capture,[1],list}]), + list_to_integer(S). + +ldb_tabs() -> + ldb_tabs(mnesia_lib:dir()). + +ldb_tabs(Db) -> + ldb_tabs(list_dir(Db), Db). + +ldb_tabs(Fs, _Db) -> + lists:flatmap( + fun(F) -> + case re:run(F, "(.+)-_tab\\.extldb", + [global,{capture,[1],list}]) of + {match, [Match]} -> + Match; + _ -> + [] + end + end, Fs). + +ldb_indexes() -> + ldb_indexes(mnesia_lib:dir()). + +ldb_indexes(Db) -> + ldb_indexes(list_dir(Db), Db). + +ldb_indexes(Fs, _Db) -> + lists:flatmap( + fun(F) -> + case re:run(F, "(.+)-([0-9]+)-_ix\\.extldb", + [global,{capture,[1,2],list}]) of + {match, [[T,P]]} -> + [{T,P}]; + _ -> + [] + end + end, Fs). + +list_dir(D) -> + case file:list_dir(D) of + {ok, Fs} -> Fs; + {error, Reason} -> erlang:error({Reason,D}) + end. + +fname({Tab,IxPos}, Dir) -> + filename:join(Dir, Tab ++ "-" ++ IxPos ++ "-_ix.extldb"); +fname(Tab, Dir) when is_list(Tab) -> + filename:join(Dir, Tab ++ "-_tab.extldb"). + +%% Number of leveldb tables + indexes +count_ldb_tabs() -> + count_ldb_tabs(mnesia_lib:dir()). + +count_ldb_tabs(Db) -> + Fs = list_dir(Db), + length(ldb_tabs(Fs, Db)) + length(ldb_indexes(Fs, Db)). + +calc_sizes() -> + calc_sizes(mnesia_lib:dir()). + +calc_sizes(D) -> + lists:sort( + fun(A,B) -> sort_size(B,A) end, % rev sort + [{T, dir_size(fname(T, D))} || T <- ldb_tabs(D)] + ++ [{I, dir_size(fname(I, D))} || I <- ldb_indexes(D)]). + +ideal_max_files() -> + ideal_max_files(mnesia_lib:dir()). + +ideal_max_files(D) -> + [{T,Sz,max_files(Sz)} || {T, Sz} <- calc_sizes(D)]. + +max_files({I,g}) -> + round(I * 1000) div 20; +max_files({I,m}) when I > 400 -> + round(I) div 20; +max_files(_) -> + default(max_open_files). + +write_buffer({_,g}) -> + 120 * ?MB; +write_buffer({I,m}) when I > 400 -> + 120 * ?MB; +write_buffer(_) -> + default(write_buffer). + +cache({_,g}) -> + 8 * ?MB; +cache({I,m}) when I > 400 -> + 6 * ?MB; +cache(_) -> + default(cache). + +default(write_buffer) -> 2 * ?MB; +default(max_open_files) -> 20; +default(cache) -> 2 * ?MB. + +%% open_file_memory() -> +%% (max_open_files-10) * +%% (184 + (average_sst_filesize/2048) * +%% (8 + ((average_key_size+average_value_size)/2048 +1) * 0.6). + +dir_size(D) -> + R = os:cmd("du -hc " ++ D ++ " | grep total"), + parse_sz(hd(string:tokens(R," \t\n"))). + +parse_sz(S) -> + {match,[I,U]} = re:run(S, "([\\.0-9]+)([BKMG])", [{capture,[1,2],list}]), + {scan_num(I), unit(U)}. + +scan_num(S) -> + case erl_scan:string(S) of + {ok, [{integer,_,I}],_} -> + I; + {ok, [{float,_,F}],_} -> + F + end. + +unit("B") -> b; +unit("K") -> k; +unit("M") -> m; +unit("G") -> g. + +%% Custom sort: b < k < m < g +sort_size({_,{A,U}},{_,{B,U}}) -> A < B; +sort_size({_,{_,U1}},{_,{_,U2}}) -> + case {U1,U2} of + {b,_} -> true; + {k,_} when U2 =/= b -> true; + {m,g} -> true; + _ -> false + end. diff --git a/src/mnesia_rocksdb_tuning.hrl b/src/mnesia_rocksdb_tuning.hrl new file mode 100644 index 0000000..bc3b563 --- /dev/null +++ b/src/mnesia_rocksdb_tuning.hrl @@ -0,0 +1,22 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-record(tuning, {max_files, + n_tabs, + avail_ram, + files_factor = 1}). diff --git a/test/Emakefile b/test/Emakefile new file mode 100644 index 0000000..b63a34d --- /dev/null +++ b/test/Emakefile @@ -0,0 +1,2 @@ +mnesia_rocksdb_xform. +{'*', [{parse_transform, mnesia_rocksdb_xform},debug_info]}. diff --git a/test/README b/test/README new file mode 100644 index 0000000..c0f656d --- /dev/null +++ b/test/README @@ -0,0 +1,17 @@ +To run the mnesia test suite, replacing disc_only_copies references with +rocksdb_copies: + +``` +cd $ERL_TOP +make release_tests +cd release/tests/mnesia_test +cp $MNESIA_ROCKSDB/test/mnesia_rocksdb_backend_xform.erl . +cp $MNESIA_ROCKSDB/test/Emakefile . +``` + +You may use github.com/uwiger/parse_trans, and pretty-print the +debug_info in the transformed test suite modules using the following alias: + +``` +alias pp='escript $PARSE_TRANS_ROOT/ebin/parse_trans_pp.beam' +``` diff --git a/test/basho_bench_driver_mnesia_rocksdb.erl b/test/basho_bench_driver_mnesia_rocksdb.erl new file mode 100644 index 0000000..a3cf3db --- /dev/null +++ b/test/basho_bench_driver_mnesia_rocksdb.erl @@ -0,0 +1,64 @@ +%% ------------------------------------------------------------------- +%% +%% basho_bench: Benchmarking Suite +%% +%% Copyright (c) 2009-2010 Basho Techonologies +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%% +%% ------------------------------------------------------------------- + +-module(basho_bench_driver_mnesia_rocksdb). + +-export([new/1, + run/4]). + +-include("mnesia_rocksdb_basho_bench.hrl"). + +%% ==================================================================== +%% API +%% ==================================================================== + +new(_Id) -> + Type = basho_bench_config:get(backend, ram_copies), + Tab = basho_bench_config:get(mnesia_table, t), + ok = bootstrap_mnesia(Tab, Type), + {ok, Tab}. + +bootstrap_mnesia(Tab, Type) -> + ok = mnesia:create_schema([node()], + [{backend_types, + [{rocksdb_copies, mnesia_rocksdb}]}]), + ok = mnesia:start(), + {atomic,ok} = mnesia:create_table(Tab, [{Type, [node()]}]), + mnesia:wait_for_tables([Tab], 10000). + +run(get, KeyGen, _ValueGen, State) -> + Tab = State, + Key = KeyGen(), + case mnesia:dirty_read({Tab, Key}) of + [] -> + {ok, State}; + [{_, Key, _}] -> + {ok, State} + end; +run(put, KeyGen, ValueGen, State) -> + Tab = State, + ok = mnesia:dirty_write({Tab, KeyGen(), ValueGen()}), + {ok, State}; +run(delete, KeyGen, _ValueGen, State) -> + Tab = State, + ok = mnesia:dirty_delete({Tab, KeyGen()}), + {ok, State}. diff --git a/test/mnesia_rocksdb_basho_bench.hrl b/test/mnesia_rocksdb_basho_bench.hrl new file mode 100644 index 0000000..bb06af3 --- /dev/null +++ b/test/mnesia_rocksdb_basho_bench.hrl @@ -0,0 +1,15 @@ + +-define(FAIL_MSG(Str, Args), ?ERROR(Str, Args), basho_bench_app:halt_or_kill()). +-define(STD_ERR(Str, Args), io:format(standard_error, Str, Args)). + +-define(CONSOLE(Str, Args), lager:info(Str, Args)). + +-define(DEBUG(Str, Args), lager:debug(Str, Args)). +-define(INFO(Str, Args), lager:info(Str, Args)). +-define(WARN(Str, Args), lager:warning(Str, Args)). +-define(ERROR(Str, Args), lager:error(Str, Args)). + +-define(FMT(Str, Args), lists:flatten(io_lib:format(Str, Args))). + +-define(VAL_GEN_BLOB_CFG, value_generator_blob_file). +-define(VAL_GEN_SRC_SIZE, value_generator_source_size). diff --git a/test/mnesia_rocksdb_bench_disc_only.config b/test/mnesia_rocksdb_bench_disc_only.config new file mode 100644 index 0000000..187bdd0 --- /dev/null +++ b/test/mnesia_rocksdb_bench_disc_only.config @@ -0,0 +1,18 @@ +{mode, max}. + +{duration, 10}. + +{concurrent, 1}. + +{driver, basho_bench_driver_mnesia_rocksdb}. + +{key_generator, {int_to_bin,{uniform_int, 5000000}}}. + +{value_generator, {fixed_bin, 10000}}. + +{operations, [{get, 2}, {put, 2}, {delete, 1}]}. + +{code_paths, []}. + +{mnesia_table, doc}. +{backend, disc_only_copies}. diff --git a/test/mnesia_rocksdb_bench_rocksdb_copies.config b/test/mnesia_rocksdb_bench_rocksdb_copies.config new file mode 100644 index 0000000..c0bd928 --- /dev/null +++ b/test/mnesia_rocksdb_bench_rocksdb_copies.config @@ -0,0 +1,19 @@ +{mode, max}. + +{duration, 10}. + +{concurrent, 1}. + +{driver, basho_bench_driver_mnesia_rocksdb}. + +{key_generator, {int_to_bin,{uniform_int, 5000000}}}. + +{value_generator, {fixed_bin, 10000}}. + +{operations, [{get, 2}, {put, 2}, {delete, 1}]}. + +{code_paths, ["/Users/uwiger/git/rocksdb", + "/Users/uwiger/git/mnesia_rocksdb"]}. + +{mnesia_table, rdb}. +{backend, rocksdb_copies}. diff --git a/test/mnesia_rocksdb_chg_tbl_copy.erl b/test/mnesia_rocksdb_chg_tbl_copy.erl new file mode 100644 index 0000000..016bd6c --- /dev/null +++ b/test/mnesia_rocksdb_chg_tbl_copy.erl @@ -0,0 +1,131 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +%% @doc Run through all combinations of change_table_copy_type +%% @author Ulf Wiger + +-module(mnesia_rocksdb_chg_tbl_copy). + +%% This module implements a test (to be run manually) for iterating through +%% all table copy types on a mnesia table. + +-export([full/0, + run/0, + run/1]). +-export([trace/0]). + +full() -> + Perms = perms(copies()), + Res = [run(P) || P <- Perms], + Res = [ok || _ <- Perms]. + +run() -> + run([rdb,disc_copies,rdb,ram_copies,disc_only_copies,rdb]). + %% run([rdb,disc_only_copies]). + %% run([rdb,ram_copies]). + +perms([]) -> + [[]]; +perms(L) -> [[H|T] || H <- L, T <- perms(L--[H])]. + +copies() -> + [rdb,ram_copies,disc_copies,disc_only_copies]. + +run([T|Types]) -> + mnesia:stop(), + start_mnesia(), + ok = create_tab(T), + ok = change_type(Types, T). + +create_tab(Type) -> + {atomic,ok} = mnesia:create_table( + t, [{Type, [node()]}, + {attributes, [k,v]}, + {index, [v]}]), + fill_tab(), + check_tab(), + ok. + +change_type([To|Types], From) -> + io:fwrite("changing from ~p to ~p~n", [From, To]), + {atomic, ok} = mnesia:change_table_copy_type(t, node(), To), + ok = check_tab(), + io:fwrite("...ok~n", []), + change_type(Types, To); +change_type([], _) -> + ok. + +fill_tab() -> + Res = [mnesia:dirty_write({t,K,V}) || {t,K,V} <- l()], + Res = [ok || _ <- Res], + ok. + +l() -> [{t,a,1}, + {t,b,2}, + {t,c,3}, + {t,d,4}]. + +check_tab() -> + L = l(), + L = lists:append([mnesia:dirty_read({t,K}) || K <- [a,b,c,d]]), + L = lists:append([mnesia:dirty_index_read(t,V,v) || + V <- [1,2,3,4]]), + ok. + +start_mnesia() -> mnesia_rocksdb_tlib:start_mnesia(reset). + +trace() -> + dbg:tracer(), + [tp(M) || M <- mods()], + dbg:p(all,[c]), + try run() + after + [ctp(M) || M <- mods()], + dbg:stop() + end. + +tp({l,M} ) -> dbg:tpl(M,x); +tp({g,M} ) -> dbg:tp(M,x); +tp({l,M,F}) -> dbg:tpl(M,F,x); +tp({g,M,F}) -> dbg:tp(M,F,x). + +ctp({l,M} ) -> dbg:ctpl(M); +ctp({g,M} ) -> dbg:ctp(M); +ctp({l,M,F}) -> dbg:ctpl(M,F); +ctp({g,M,F}) -> dbg:ctp(M,F). + +mods() -> + [ + %% {l, mnesia_index}, + %% {l, mnesia_lib, semantics}]. + %% {g,mnesia_monitor}, + %% {l,mnesia_dumper}, + %% {g,mnesia_loader}, + %% {g,mnesia_checkpoint}, + %% {g,mnesia_lib}, + {l,mnesia_schema,expand_index_attrs}, + {l,mnesia_schema,list2cs}, + {g,mnesia_schema,new_cs}, + {g,mnesia_schema,make_change_table_copy_type}, + {g,mnesia_schema,make_create_table}, + {g,mnesia_lib,semantics}, + {l,mnesia_dumper}, + {g,mnesia_lib,exists}, + {g,mnesia}, + {l,mnesia_schema,intersect_types}, + {g,ets,new}]. diff --git a/test/mnesia_rocksdb_conv_bigtab.erl b/test/mnesia_rocksdb_conv_bigtab.erl new file mode 100644 index 0000000..c70ea9a --- /dev/null +++ b/test/mnesia_rocksdb_conv_bigtab.erl @@ -0,0 +1,59 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_conv_bigtab). + +-export([init/0, mktab/2, run/1]). + +-record(t, {k, i, v}). + +run(Sz) -> + mnesia:stop(), + init(), + mktab(disc_copies, Sz), + mnesia:change_table_copy_type(t, node(), rdb). + +init() -> + mnesia_rocksdb_tlib:start_mnesia(reset). + +mktab(Backend, Sz) -> + mnesia_rocksdb_tlib:create_table(Backend, [k, i, v], [i]), + fill_table(Sz). + + +fill_table(Sz) when is_integer(Sz), Sz > 0 -> + fill_table(1, Sz). + +fill_table(N, Max) when N =< Max -> + mnesia:dirty_write(#t{k = N, i = N, v = val()}), + fill_table(N+1, Max); +fill_table(N, _) when is_integer(N) -> + ok. + +val() -> + {1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0, + 1,2,3,4,5,6,7,8,9,0}. diff --git a/test/mnesia_rocksdb_fallback.erl b/test/mnesia_rocksdb_fallback.erl new file mode 100644 index 0000000..43f1874 --- /dev/null +++ b/test/mnesia_rocksdb_fallback.erl @@ -0,0 +1,98 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_fallback). + +-export([run/0]). + +-define(m(A,B), fun() -> L = ?LINE, + case {A,B} of + {__X, __X} -> + B; + Other -> + error({badmatch, [Other, + {line, L}]}) + end + end()). + +run() -> + cleanup(), + mnesia_rocksdb_tlib:start_mnesia(reset), + mnesia_rocksdb_tlib:create_table(rdb), + ok = mnesia:backup("bup0.BUP"), + [mnesia:dirty_write({t,K,V}) || {K,V} <- [{a,1}, + {b,2}, + {c,3}]], + ok = mnesia:backup("bup1.BUP"), + [mnesia:dirty_write({t,K,V}) || {K,V} <- [{d,4}, + {e,5}, + {f,6}]], + ok = mnesia:backup("bup2.BUP"), + io:fwrite("*****************************************~n", []), + load_backup("bup0.BUP"), + ?m([], mnesia:dirty_match_object(t, {t,'_','_'})), + ?m([], mnesia:dirty_index_read(t,2,v)), + io:fwrite("*****************************************~n", []), + load_backup("bup1.BUP"), + ?m([{t,a,1},{t,b,2},{t,c,3}], mnesia:dirty_match_object(t, {t,'_','_'})), + ?m([{t,b,2}], mnesia:dirty_index_read(t,2,v)), + io:fwrite("*****************************************~n", []), + load_backup("bup2.BUP"), + ?m([{t,a,1},{t,b,2},{t,c,3}, + {t,d,4},{t,e,5},{t,f,6}], mnesia:dirty_match_object(t, {t,'_','_'})), + ?m([{t,b,2}], mnesia:dirty_index_read(t,2,v)), + ?m([{t,e,5}], mnesia:dirty_index_read(t,5,v)), + ok. + +load_backup(BUP) -> + mnesia_rocksdb_tlib:trace( + fun() -> + io:fwrite("loading backup ~s~n", [BUP]), + ok = mnesia:install_fallback(BUP), + io:fwrite("stopping~n", []), + mnesia:stop(), + timer:sleep(3000), + io:fwrite("starting~n", []), + mnesia:start(), + WaitRes = mnesia:wait_for_tables([t], 5000), + io:fwrite("WaitRes = ~p~n", [WaitRes]) + end, + mods(0) + ). + +cleanup() -> + os:cmd("rm *.BUP"). + +mods(0) -> + []; +mods(1) -> + [ + {l, mnesia_rocksdb}, + {g, rocksdb} + ]; +mods(2) -> + [ + %% {l, mnesia_monitor}, + {g, mnesia_rocksdb}, + {l, mnesia_bup}, + {g, mnesia_lib}, + {g, mnesia_schema}, + %% {g, mnesia_loader}, + {g, mnesia_index}, + {l, mnesia_tm} + ]. diff --git a/test/mnesia_rocksdb_indexes.erl b/test/mnesia_rocksdb_indexes.erl new file mode 100644 index 0000000..997d62c --- /dev/null +++ b/test/mnesia_rocksdb_indexes.erl @@ -0,0 +1,174 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_indexes). + +-export([run/0, + r1/0]). + +run() -> + mnesia:stop(), + ok = mnesia_rocksdb_tlib:start_mnesia(reset), + test(1, ram_copies, r1), + test(1, disc_copies, d1), + fail(test, [1, disc_only_copies, do1]), % doesn't support ordered + test(2, disc_only_copies, do1), + fail(test, [1, rdb, l1]), % doesn't support bag + test(3, rdb, l1), + add_del_indexes(), + {atomic,ok} = mnesia_schema:add_index_plugin( + {pfx},mnesia_rocksdb, ix_prefixes), + test_index_plugin(pr1, ram_copies, ordered), + test_index_plugin(pr2, ram_copies, bag), + test_index_plugin(pd1, disc_copies, ordered), + fail(test_index_plugin, [pd2, disc_only_copies, ordered]), + test_index_plugin(pd2, disc_copies, bag), + test_index_plugin(pl2, rdb, ordered), + test_index_plugin_mgmt(), + ok. + +r1() -> + mnesia:stop(), + ok = mnesia_rocksdb_tlib:start_mnesia(reset), + {atomic,ok} = mnesia_schema:add_index_plugin( + {pfx},mnesia_rocksdb, ix_prefixes), + dbg:tracer(), + dbg:tpl(mnesia_schema,x), + dbg:tpl(mnesia_index,x), + dbg:p(all,[c]), + test_index_plugin(pd2, disc_only_copies, ordered). + +fail(F, Args) -> + try apply(?MODULE, F, Args), + error(should_fail) + catch + error:_ -> + io:fwrite("apply(~p, ~p, ~p) -> fails as expected~n", + [?MODULE, F, Args]) + end. + +test(N, Type, T) -> + {atomic, ok} = mnesia:create_table(T, [{Type,[node()]}, + {attributes,[k,a,b,c]}, + {index, indexes(N)}]), + ok = test_index(N, T). + +add_del_indexes() -> + {atomic, ok} = mnesia:del_table_index(r1, a), + {aborted, _} = mnesia:del_table_index(r1, a), + {atomic, ok} = mnesia:add_table_index(r1, a), + {aborted, _} = mnesia:add_table_index(r1, a), + {atomic, ok} = mnesia:del_table_index(d1, a), + {atomic, ok} = mnesia:add_table_index(d1, a), + {atomic, ok} = mnesia:del_table_index(do1, a), + {atomic, ok} = mnesia:add_table_index(do1, a), + {atomic, ok} = mnesia:del_table_index(l1, a), + {atomic, ok} = mnesia:add_table_index(l1, a), + io:fwrite("add_del_indexes() -> ok~n", []). + +test_index_plugin(Tab, Type, IxType) -> + {atomic, ok} = mnesia:create_table(Tab, [{Type, [node()]}, + {index, [{{pfx}, IxType}]}]), + mnesia:dirty_write({Tab, "foobar", "sentence"}), + mnesia:dirty_write({Tab, "yellow", "sensor"}), + mnesia:dirty_write({Tab, "truth", "white"}), + mnesia:dirty_write({Tab, "fulcrum", "white"}), + Res1 = [{Tab, "foobar", "sentence"}, {Tab, "yellow", "sensor"}], + Res2 = [{Tab, "fulcrum", "white"}, {Tab, "truth", "white"}], + if IxType == bag -> + Res1 = lists:sort(mnesia:dirty_index_read(Tab,<<"sen">>, {pfx})), + Res2 = lists:sort(mnesia:dirty_index_read(Tab,<<"whi">>, {pfx})), + [{Tab,"foobar","sentence"}] = mnesia:dirty_index_read( + Tab, <<"foo">>, {pfx}); + IxType == ordered -> + Res1 = lists:sort(mnesia:dirty_index_read(Tab,<<"sen">>, {pfx})), + Res2 = lists:sort(mnesia:dirty_index_read(Tab,<<"whi">>, {pfx})), + [{Tab,"foobar","sentence"}] = mnesia:dirty_index_read( + Tab, <<"foo">>, {pfx}) + end, + io:fwrite("test_index_plugin(~p, ~p, ~p) -> ok~n", [Tab,Type,IxType]). + +test_index_plugin_mgmt() -> + {aborted,_} = mnesia:create_table(x, [{index,[{unknown}]}]), + {aborted,_} = mnesia:create_table(x, [{index,[{{unknown},bag}]}]), + {aborted,_} = mnesia:create_table(x, [{index,[{{unknown},ordered}]}]), + {atomic,ok} = mnesia_schema:add_index_plugin( + {t}, mnesia_rocksdb,ix_prefixes), + {atomic,ok} = mnesia_schema:delete_index_plugin({t}), + {aborted,{bad_type,x,_}} = + mnesia:create_table(x, [{index,[{{t},ordered}]}]), + %% re-add plugin + {atomic,ok} = mnesia_schema:add_index_plugin( + {t}, mnesia_rocksdb,ix_prefixes), + {atomic,ok} = + mnesia:create_table(x, [{index,[{{t},ordered}]}]), + {aborted,{plugin_in_use,{t}}} = + mnesia_schema:delete_index_plugin({t}). + +test_index(1, T) -> + L2 = [{T,K,x,y,z} || K <- lists:seq(4,6)], + L1 = [{T,K,a,b,c} || K <- lists:seq(1,3)], + true = lists:all(fun(X) -> X == ok end, + [mnesia:dirty_write(Obj) || Obj <- L1 ++ L2]), + L1 = lists:sort(mnesia:dirty_index_read(T,a,a)), + L1 = lists:sort(mnesia:dirty_index_read(T,a,3)), + L1 = mnesia:dirty_index_read(T,b,b), + L1 = lists:sort(mnesia:dirty_index_read(T,c,c)), + L2 = lists:sort(mnesia:dirty_index_read(T,x,a)), + L2 = lists:sort(mnesia:dirty_index_read(T,x,3)), + L2 = mnesia:dirty_index_read(T,y,b), + L2 = lists:sort(mnesia:dirty_index_read(T,z,c)), + io:fwrite("test_index(1, ~p) -> ok~n", [T]), + ok; +test_index(2, T) -> + L1 = [{T,K,a,b,c} || K <- lists:seq(1,3)], + L2 = [{T,K,x,y,z} || K <- lists:seq(4,6)], + true = lists:all(fun(X) -> X == ok end, + [mnesia:dirty_write(Obj) || Obj <- L1 ++ L2]), + L1 = lists:sort(mnesia:dirty_index_read(T,a,a)), + L1 = lists:sort(mnesia:dirty_index_read(T,a,3)), + L1 = lists:sort(mnesia:dirty_index_read(T,b,b)), + L1 = lists:sort(mnesia:dirty_index_read(T,c,c)), + L2 = lists:sort(mnesia:dirty_index_read(T,x,a)), + L2 = lists:sort(mnesia:dirty_index_read(T,x,3)), + L2 = lists:sort(mnesia:dirty_index_read(T,y,b)), + L2 = lists:sort(mnesia:dirty_index_read(T,z,c)), + io:fwrite("test_index(1, ~p) -> ok~n", [T]), + ok; +test_index(3, T) -> + L2 = [{T,K,x,y,z} || K <- lists:seq(4,6)], + L1 = [{T,K,a,b,c} || K <- lists:seq(1,3)], + true = lists:all(fun(X) -> X == ok end, + [mnesia:dirty_write(Obj) || Obj <- L1 ++ L2]), + L1 = mnesia:dirty_index_read(T,a,a), + L1 = mnesia:dirty_index_read(T,a,3), + L1 = mnesia:dirty_index_read(T,b,b), + L1 = mnesia:dirty_index_read(T,c,c), + L2 = mnesia:dirty_index_read(T,x,a), + L2 = mnesia:dirty_index_read(T,x,3), + L2 = mnesia:dirty_index_read(T,y,b), + L2 = mnesia:dirty_index_read(T,z,c), + io:fwrite("test_index(1, ~p) -> ok~n", [T]), + ok. + +indexes(1) -> + [a,{b,ordered},{c,bag}]; +indexes(2) -> + [a,b,{c,bag}]; +indexes(3) -> + [a,{b,ordered},{c,ordered}]. diff --git a/test/mnesia_rocksdb_proper_semantics_test.erl b/test/mnesia_rocksdb_proper_semantics_test.erl new file mode 100644 index 0000000..82290c6 --- /dev/null +++ b/test/mnesia_rocksdb_proper_semantics_test.erl @@ -0,0 +1,161 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +%% @doc Verify dirty vs transaction semantics against rocksdb mnesia backend +%% @author Ulf Wiger + +-module(mnesia_rocksdb_proper_semantics_test). + +%% This module uses the proper_statem pattern to generate random +%% sequences of commands, mixing dirty and transaction operations +%% (including dirty ops from within transactions). Each sequence is run +%% against a disc_copies table and a rocksdb_copies table, after +%% which the result of each operation in the sequence is compared between +%% the two runs. The postcondition is that every command in every sequence +%% should yield the same value against both backends. + +-export([test/1, + prop_seq/0]). + +%% statem callbacks +-export([initial_state/0, + command/1, + precondition/2, + postcondition/3, + next_state/3]). + +%% command callbacks +-export([activity/2]). + +-include_lib("proper/include/proper.hrl"). +-include_lib("eunit/include/eunit.hrl"). + +-record(st, {}). +-define(KEYS, [a,b,c]). + +basic_test_() -> + {timeout, 60000, [fun() -> test(100) end]}. + +test(N) -> + setup_mnesia(), + true = proper:quickcheck(?MODULE:prop_seq(), N), + ok. + +prop_seq() -> + ?FORALL(Cmds, proper_statem:commands(?MODULE), + begin + setup(), + {H, S, Res} = + proper_statem:run_commands(?MODULE, Cmds), + cleanup(), + ?WHENFAIL( + io:fwrite("History: ~w~n" + "State : ~w~n" + "Result : ~w~n", [H, S, Res]), + proper:aggregate( + proper_statem:command_names(Cmds), Res =:= ok)) + end). + +%% Note that this requires the rocksdb application to be in the path, +%% and obviously an OTP patched with the backend plugin behavior. +setup_mnesia() -> + stopped = mnesia:stop(), + ok = mnesia:delete_schema([node()]), + ok = mnesia:create_schema([node()]), + ok = mnesia:start(), + {ok, rocksdb_copies} = mnesia_rocksdb:register(). + +setup() -> + {atomic,ok} = mnesia:create_table(d, [{disc_copies, [node()]}, + {record_name, x}]), + {atomic,ok} = mnesia:create_table(l, [{rocksdb_copies, [node()]}, + {record_name, x}]), + ok = mnesia:wait_for_tables([d, l], 30000), + ok. + +cleanup() -> + {atomic, ok} = mnesia:delete_table(d), + {atomic, ok} = mnesia:delete_table(l), + ok. + +initial_state() -> + #st{}. + +command(#st{}) -> + ?LET(Type, type(), + {call, ?MODULE, activity, [Type, sequence()]}). + +type() -> + proper_types:oneof([async_dirty, transaction]). + +precondition(_, _) -> + true. + +postcondition(_, {call,?MODULE,activity,_}, {A, B}) -> + A == B; +postcondition(_, _, _) -> + false. + +next_state(St, _, _) -> + St. + +sequence() -> + proper_types:list(db_cmd()). + +db_cmd() -> + ?LET(Type, type(), + proper_types:oneof([{Type, read, key()}, + {Type, write, key(), value()}, + {Type, delete, key()}])). + +key() -> + proper_types:oneof([a,b,c]). + +value() -> + proper_types:oneof([1,2,3]). + +activity(Type, Seq) -> + {mnesia:activity(Type, fun() -> + apply_seq(Type, d, Seq) + end), + mnesia:activity(Type, fun() -> + apply_seq(Type, l, Seq) + end)}. + +apply_seq(Type, Tab, Seq) -> + apply_seq(Type, Tab, Seq, []). + +apply_seq(transaction=X, Tab, [H|T], Acc) -> + Res = case H of + {X,read, K} -> mnesia:read(Tab, K, read); + {_,read, K} -> mnesia:dirty_read(Tab,K); + {X,write,K,V} -> mnesia:write(Tab, {x, K, V}, write); + {_,write,K,V} -> mnesia:dirty_write(Tab, {x,K,V}); + {X,delete,K} -> mnesia:delete(Tab, K, write); + {_,delete,K} -> mnesia:dirty_delete(Tab,K) + end, + apply_seq(X, Tab, T, [Res|Acc]); +apply_seq(X, Tab, [H|T], Acc) -> + Res = case H of + {_,read, K} -> mnesia:read(Tab, K, read); + {_,write,K,V} -> mnesia:write(Tab, {x, K, V}, write); + {_,delete,K} -> mnesia:delete(Tab, K, write) + end, + apply_seq(X, Tab, T, [Res|Acc]); +apply_seq(_, _, [], Acc) -> + lists:reverse(Acc). diff --git a/test/mnesia_rocksdb_size_info.erl b/test/mnesia_rocksdb_size_info.erl new file mode 100644 index 0000000..172ffbd --- /dev/null +++ b/test/mnesia_rocksdb_size_info.erl @@ -0,0 +1,84 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_size_info). + +-export([run/0]). + +-define(m(A, B), (fun(L) -> {L,A} = {L,B} end)(?LINE)). + + +run() -> + initialize_mnesia(), + test_set(), + test_bag(). + +initialize_mnesia() -> + mnesia:stop(), + mnesia:delete_schema([node()]), + mnesia:create_schema([node()], [{backend_types, + [{rocksdb_copies, mnesia_rocksdb}]}]), + mnesia:start(), + {atomic,ok} = mnesia:create_table(s, [{type, set}, + {record_name, x}, + {rocksdb_copies, [node()]}]), + {atomic,ok} = mnesia:create_table(b, [{type, bag}, + {record_name, x}, + {rocksdb_copies, [node()]}]), + ok. + +test_set() -> + ?m(0, mnesia:table_info(s, size)), + ?m(1, w(s, 1, a)), + ?m(1, w(s, 1, b)), + ?m(2, w(s, 2, c)), + ?m(3, w(s, 3, d)), + ?m(2, d(s, 3)), + mnesia:stop(), + mnesia:start(), + await(s), + ?m(2, mnesia:table_info(s, size)). + +test_bag() -> + ?m(0, mnesia:table_info(b, size)), + ?m(1, w(b, 1, a)), + ?m(2, w(b, 1, b)), + ?m(3, w(b, 2, a)), + ?m(4, w(b, 2, d)), + ?m(5, w(b, 2, c)), + ?m(4, do(b, 2, c)), + ?m(2, d(b, 2)), + mnesia:stop(), + mnesia:start(), + await(b), + ?m(2, mnesia:table_info(b, size)). + +w(T, K, V) -> + ok = mnesia:dirty_write(T, {x, K, V}), + mnesia:table_info(T, size). + +d(T, K) -> + mnesia:dirty_delete({T, K}), + mnesia:table_info(T, size). + +do(T, K, V) -> + mnesia:dirty_delete_object(T, {x, K, V}), + mnesia:table_info(T, size). + +await(T) -> + ?m(ok, mnesia:wait_for_tables([T], 10000)). diff --git a/test/mnesia_rocksdb_tlib.erl b/test/mnesia_rocksdb_tlib.erl new file mode 100644 index 0000000..4c2a3da --- /dev/null +++ b/test/mnesia_rocksdb_tlib.erl @@ -0,0 +1,66 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +-module(mnesia_rocksdb_tlib). + +-export([start_mnesia/0, + start_mnesia/1, + create_table/1, + create_table/3, + trace/2]). + + +start_mnesia() -> + start_mnesia(false). + +start_mnesia(Mode) -> + if Mode==reset -> + mnesia:delete_schema([node()]), + mnesia:create_schema([node()], + [{backend_types, + [{rdb,mnesia_rocksdb}]}]); + true -> ok + end, + mnesia:start(). + +create_table(Backend) -> + create_table(Backend, [k,v], [v]). + +create_table(Backend, Attrs, Indexes) -> + mnesia:create_table(t, [{index,Indexes}, {attributes,Attrs}, + {Backend, [node()]}]). + +trace(F, Ms) -> + dbg:tracer(), + [tp(M) || M <- Ms], + dbg:p(all,[c]), + try F() + after + [ctp(M) || M <- Ms], + dbg:stop() + end. + +tp({l,M} ) -> dbg:tpl(M,x); +tp({g,M} ) -> dbg:tp(M,x); +tp({l,M,F}) -> dbg:tpl(M,F,x); +tp({g,M,F}) -> dbg:tp(M,F,x). + +ctp({l,M} ) -> dbg:ctpl(M); +ctp({g,M} ) -> dbg:ctp(M); +ctp({l,M,F}) -> dbg:ctpl(M,F); +ctp({g,M,F}) -> dbg:ctp(M,F). diff --git a/test/mnesia_rocksdb_xform.erl b/test/mnesia_rocksdb_xform.erl new file mode 100644 index 0000000..85c6508 --- /dev/null +++ b/test/mnesia_rocksdb_xform.erl @@ -0,0 +1,334 @@ +%%---------------------------------------------------------------- +%% Copyright (c) 2013-2016 Klarna AB +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%%---------------------------------------------------------------- + +%% This module is used to test backend plugin extensions to the mnesia +%% backend. It also indirectly tests the mnesia backend plugin +%% extension machinery +%% +%% Usage: mnesia_ext_rocksdb_test:recompile(Extension). +%% Usage: mnesia_ext_rocksdb_test:recompile(). +%% This command is executed in the release/tests/test_server directory +%% before running the normal tests. The command patches the test code, +%% via a parse_transform, to replace disc_only_copies with the Alias. + +-module(mnesia_rocksdb_xform). + +-author("roland.karlsson@erlang-solutions.com"). +-author("ulf.wiger@klarna.com"). + +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Exporting API +-export([recompile/0, recompile/1]). + +%% Exporting parse_transform callback +-export([parse_transform/2]). + +%% Exporting replacement for mnesia:create_table/2 +-export([create_table/1, create_table/2, rpc/4]). + +%% API %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Recompiling the test code, replacing disc_only_copies with +%% Extension. +recompile() -> + [{Module,Alias}|_] = extensions(), + recompile(Module, Alias). + +recompile(MorA) -> + case { lists:keyfind(MorA, 1, extensions()), + lists:keyfind(MorA, 2, extensions()) + } of + {{Module,Alias}, _} -> + recompile(Module, Alias); + {false, {Module,Alias}} -> + recompile(Module, Alias); + {false,false} -> + {error, cannot_find_module_or_alias} + end. + +recompile(Module, Alias) -> + io:format("recompile(~p,~p)~n",[Module, Alias]), + put_ext(module, Module), + put_ext(alias, Alias), + Modules = [ begin {M,_} = lists:split(length(F)-4, F), + list_to_atom(M) end || + F <- begin {ok,L} = file:list_dir("."), L end, + lists:suffix(".erl", F), + F=/= atom_to_list(?MODULE) ++ ".erl" ], + io:format("Modules = ~p~n",[Modules]), + lists:foreach(fun(M) -> + c:c(M, [{parse_transform, ?MODULE}]) + end, Modules). + +%% TEST REPLACEMENT CALLBACKS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% replacement for mnesia:create_table that ensures that +create_table(Name, Parameters) -> + create_table([{name,Name} | Parameters]). + +create_table(Parameters) when is_list(Parameters) -> + case lists:keymember(rocksdb_copies, 1, Parameters) of + true -> + %% case lists:member({type, bag}, Parameters) of + %% true -> + %% ct:comment("ERROR: Contains rocksdb table with bag"), + %% {aborted, {rocksdb_does_not_support_bag, Parameters}}; + %% false -> + ct:comment("INFO: Contains rocksdb table"), + io:format("INFO: create_table(~p)~n", [Parameters]), + mnesia:create_table(Parameters); + %% end; + false -> + mnesia:create_table(Parameters) + end; +create_table(Param) -> + %% Probably bad input, e.g. from mnesia_evil_coverage_SUITE.erl + mnesia:create_table(Param). + + +rpc(N, mnesia, start, [Opts]) -> + case lists:keymember(schema, 1, Opts) of + true -> rpc:call(N, mnesia, call, [Opts]); + false -> + Opts1 = [{schema, [{backend_types, backends()}]}|Opts], + rpc:call(N, mnesia, start, [Opts1]) + end; +rpc(N, M, F, A) -> + rpc:call(N, M, F, A). + + +%% PARSE_TRANSFORM CALLBACK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% The callback for c:c(Module, [{parse_transform,?MODULE}]) +parse_transform(Forms, _Options) -> + plain_transform(fun do_transform/1, Forms). + +do_transform({'attribute', _, module, Module}) -> + io:format("~n~nMODULE: ~p~n", [Module]), + continue; +do_transform({'atom', Line, disc_only_copies}) -> + io:format("replacing disc_only_copies with ~p~n", [get_ext(alias)]), + {'atom', Line, get_ext(alias)}; +do_transform(Form = { call, L1, + { remote, L2, + {atom, L3, mnesia}, + {atom, L4, create_table}}, + Arguments}) -> + NewForm = { call, L1, + { remote, L2, + {atom, L3, ?MODULE}, + {atom, L4, create_table}}, + plain_transform(fun do_transform/1, Arguments)}, + io:format("~nConvert Form:~n~s~n~s~n", [pp_form(Form), pp_form(NewForm)]), + NewForm; +do_transform(Form = { call, L1, + { remote, L2, + {atom, L3, rpc}, + {atom, L4, call}}, + [{var, _, _} = N, {atom, _, mnesia} = Mnesia, + {atom, _, start} = Start, Args]}) -> + NewForm = { call, L1, { remote, L2, + {atom, L3, ?MODULE}, + {atom, L4, rpc}}, + [N, Mnesia, Start, Args]}, + io:format("~nConvert Form:~n~s~n~s~n", [pp_form(Form), pp_form(NewForm)]), + NewForm; + +do_transform(Form = { call, L1, + { remote, L2, + {atom, L3, mnesia}, + {atom, L4, create_schema}}, + [Nodes]}) -> + P = element(2, Nodes), + NewForm = { call, L1, + { remote, L2, + {atom, L3, mnesia}, + {atom, L4, create_schema}}, + [Nodes, erl_parse:abstract([{backend_types, backends()}], P)]}, + io:format("~nConvert Form:~n~s~n~s~n", [pp_form(Form), pp_form(NewForm)]), + NewForm; +do_transform(Form = { call, L1, + { remote, L2, + {atom, L3, mnesia}, + {atom, L4, start}}, + []}) -> + NewForm = { call, L1, + { remote, L2, + {atom, L3, mnesia}, + {atom, L4, start}}, + [erl_parse:abstract( + [{schema, [{backend_types, backends()}]}], L4)]}, + io:format("~nConvert Form:~n~s~n~s~n", [pp_form(Form), pp_form(NewForm)]), + NewForm; +do_transform(Form = { call, L1, + { remote, L2, + {atom, L3, mnesia}, + {atom, L4, start}}, + [Opts]}) -> + P = element(2, Opts), + NewForm = { call, L1, + { remote, L2, + {atom, L3, mnesia}, + {atom, L4, start}}, + [{cons, P, + erl_parse:abstract( + {schema, [{backend_types, backends()}]}, L4), Opts}]}, + io:format("~nConvert Form:~n~s~n~s~n", [pp_form(Form), pp_form(NewForm)]), + NewForm; + + %% 1354:unsupp_user_props(doc) -> + %% 1355: ["Simple test of adding user props in a schema_transaction"]; + %% 1356:unsupp_user_props(suite) -> []; + %% 1357:unsupp_user_props(Config) when is_list(Config) -> +do_transform(Form = { function, L1, F, 1, [C1, C2, C3] }) + when F == unsupp_user_props -> + L3 = element(2, C3), + NewForm = { function, L1, F, 1, + [C1, C2, {clause, L3, [{var, L3, '_'}], [], + [{tuple, L3, [{atom, L3, skip}, + erl_parse:abstract( + "Skipped for rocksdb test", L3)]} + ]} ] }, + io:format("~nConvert Form:" + "~n=============~n~s" + "==== To: ====~n~s" + "=============~n", + [cut(20, pp_form(Form)), cut(20, pp_form(NewForm))]), + NewForm; +do_transform(Form = { function, L1, F, 1, [C1, C2] }) + when F == storage_options -> + L2 = element(2, C2), + NewForm = { function, L1, F, 1, + [C1, {clause, L2, [{var, L2, '_'}], [], + [{tuple, L2, [{atom, L2, skip}, + erl_parse:abstract( + "Skipped for rocksdb test", L2)]} + ]} ] }, + io:format("~nConvert Form:" + "~n=============~n~s" + "==== To: ====~n~s" + "=============~n", + [cut(20, pp_form(Form)), cut(20, pp_form(NewForm))]), + NewForm; +do_transform(_Form) -> + continue. + +pp_form(F) when element(1,F) == attribute; element(1,F) == function -> + erl_pp:form(F); +pp_form(F) -> + erl_pp:expr(F). + +cut(Lines, S) -> + case re:split(S, "\\v", [{return,list}]) of + Lns when length(Lns) =< Lines -> + S; + Lns -> + lists:flatten( + add_lf(lists:sublist(Lns, 1, Lines) ++ ["...\n"])) + end. + +add_lf([H|T]) -> + [H | ["\n" ++ L || L <- T]]. + +%% INTERNAL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% A trick for doing parse transforms easier + +plain_transform(Fun, Forms) when is_function(Fun, 1), is_list(Forms) -> + plain_transform1(Fun, Forms). + +plain_transform1(_, []) -> + []; +plain_transform1(Fun, [F|Fs]) when is_atom(element(1,F)) -> + case Fun(F) of + continue -> + [list_to_tuple(plain_transform1(Fun, tuple_to_list(F))) | + plain_transform1(Fun, Fs)]; + {done, NewF} -> + [NewF | Fs]; + {error, Reason} -> + io:format("Error: ~p (~p)~n", [F,Reason]); + NewF when is_tuple(NewF) -> + [NewF | plain_transform1(Fun, Fs)] + end; +plain_transform1(Fun, [L|Fs]) when is_list(L) -> + [plain_transform1(Fun, L) | plain_transform1(Fun, Fs)]; +plain_transform1(Fun, [F|Fs]) -> + [F | plain_transform1(Fun, Fs)]; +plain_transform1(_, F) -> + F. + +%% Existing extensions. +%% NOTE: The first is default. +extensions() -> + [ {mnesia_rocksdb, rocksdb_copies} + ]. + %% {mnesia_ext_filesystem, fs_copies}, + %% {mnesia_ext_filesystem, fstab_copies}, + %% {mnesia_ext_filesystem, raw_fs_copies} + %% ]. + +backends() -> + [{T,M} || {M,T} <- extensions()]. + +%% Process global storage + +put_ext(Key, Value) -> + ets:insert(global_storage(), {Key, Value}). + +global_storage() -> + case whereis(?MODULE) of + undefined -> + Me = self(), + P = spawn(fun() -> + T = ets:new(?MODULE, [public,named_table]), + init_ext(T), + register(?MODULE, self()), + Me ! {self(), done}, + wait() + end), + receive {P, done} -> + ok + end; + _ -> + ok + end, + ?MODULE. + +init_ext(T) -> + [{Mod,Alias}|_] = extensions(), + ets:insert(T, {alias, Alias}), + ets:insert(T, {module, Mod}). + +wait() -> + receive stop -> + ok + end. + +get_ext(Key) -> + case catch ets:lookup(global_storage(), Key) of + [] -> + io:format("Data for ~p not stored~n", [Key]), + undefined; + {'EXIT', Reason} -> + io:format("Get value for ~p failed (~p)~n", [Key, Reason]), + undefined; + [{Key,Value}] -> + Value + end.

~R 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%0D{q(5x=}kzK(#iV{M4}RpgcedqWg*6Os*w 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 z zfDPTCY-$DBFkA?$??&CMVOSvqF=-cqtRj!ZZ}{q*pwpeEOwA~i$ohVOQE0FxmdLvq zQeZi^%>N50Vr5kM7eVMInR{PWLYbw77W?U}ezsVF{1+6r3viLey*>J>zF%DML2{c> zLQ;Z`?%G*Le*Q9F6ns9S0md?na(Hvi)4%R?uP|;G$C-v-*JW#d#t=}4ui3iWZcaUG zqK*`^D(JI1ikbMnvaYkSe3;HR5{sYgi}P5(c6iz(Ozkz)BN%~puaY-}?W(2tF!(e-`|dXkzo)@HTsP<#W@C^4;DW$un? zOM9Agr6Fii^b*EvG6O}@Oq;tcixnT(+%&5X*V$oqPj}jFU=I(`zOthm=n9F7e9L9P zGk1SWx--wx+8>q{O)#}%UHNy5$v7zYIG0I06c-u*Pe}Hh29irt z9rAA-EUsg4my>$}Z`dr<B~X7iT@0sX$uk z2l}j+IGnR)lHOpkaC9AdDRD9Ha7SC3l|rr&vM78mm*PD=yJEEf+`7KI&qd#)a}mGa zfuTl$yC8Q&IBKlbG|N|GvS`)onr=R+ReJ_UJ`0U|IU}~sGON3As4^;+=uuPYp`ymZ;?@KzZW1E+r}2Hu$DTBBW_D8QLx9~J657hfel2f;bH>dNBy6mI83 zP*dqvs~m3Of3>n^lck=00wVQ6&)tq}!?rd8lV^h!f7tTXORX|lG@ zvlKV$x*hS#Y;7xq1`#(V;Zi2k;GyNBo)c1~;J7N>Jw*DQB)tXnFel+sB;li+BSL*w z(3R_iuS2fCWTzV-?%(wC5bmrF_gwCv^}#cL(F|P>rP3qLrTY?$x|51wRd2=2V^O8! z+z9^7WXX!_+5nq<8vGEGhKpWxaEv{F9(uY$y#;@2>kfC?_?PW<$vAAqH#H(lR(g&; zsqUtXh2=jBO1v|ve#|P3ecEQ12T&zrW)Wb@yfXXE3!Vl@1xrmd(g?c(UmuE19T#K5 zvGdQE*$4x0+R{4SD2HG1PZd-d5t>mPV(FzPScH}tAGUy3ynM4XVQvC-A5QsD=bJ^i zdKp3S!{c>!==fG8q?fW0S$lYrHv&fq7$Wun-6CheiOdF2`*u7RwowRO{3cV>7Va31 z>m-eN_1H0L+4yzCacsUizbzuiCrV5T@z1`HSIsR^)W*kI0m)Css8@i`GF=(*h9QMO zwvvLV3E%`P_Pk_t4B}s|@&E$ei~$5Sm}+0%3(KQG>JCYLl~sk9oP&%v>#HKuyGVICjY z*C!4Y*b53@p~uOLO*FB7AsFFDrxrIN(3|@v3~5G3v$`p;}Z8e)sH5>3p z>PW49b?<-}M15=@&Th@hFo5x`4~w&J%B2_SwEqdhTo;bfZm*O-6L`rB8Nf-EUFWc$ zo)O=kpdUR=9|l(+-w+vEF?Ns&Ut|MbQa-uwxLg~a)m0ewOWicrA9h%lI?F4Z&JVbm z>YrQX8s^f3tB{z>k@tuZ-n}h9qn$r)m?PiLl`=i%X*Nlw_u~OI zy)5St@-X@zOff#@o%n2vAb6@ecW2u=cTP@#_!#6L3ens3C?VWC9$84?=lv8eWPYko z1vSaoDR$;pr`pGQ>4$w7!HjGyFAYQ7vP((M2m`)|26}s{mqw(Tq3z}msMF9O5_Tnj z<9_kGeB6QM446ux7`)M0(18cz1Q>v$+tDAh+jrl2G8VUO68>wY#{qFS&3$X{}nLNRKmbU7V{9 zl<(s>nL~|=*c?JX=a|mkq}Y{rRyl<1y>aZ%6YKD{5~Y>}mCvI_wi?KGd+iDjmIYp6fVzsutkbFZl-3l}h~B)%M#vV6>*qbT|DP zj7~>8+B?zysOGyr1oEv zcjuwYEF-Uyd0dGP<7Z>93b?%)ysVjZW{-hb}<| z>F~i~T?qogLS6B*@KDd62&osmM^0a!j9!TLB>R&#jxY~9%zZOK4giakDKu@%t{f} zMVi8j=bpgCA(lRTD|5O&-4e`ovw7k^K0jz@+8^8y%5`F@^U=Jn+}ARq2j-%9T&b2m z(dL<}JV?tOXaX+8h_b6K*|}9aSlL(3lpkK*#cGpX9wYK46OVL_3GHal0SsfFX2kE$ zO}s`niB(yy#88te=_=Fv^;9z< zl?tX*Aj|!ZfOf97Zr~S!`vf5=9!@1WtHk>~W#fcqryxxi%I+g_$s`Itt>mio4W)o8 z^2$l7G#kLf#z;A&BK7r>(c{+h!Vzrufho(xWfF)q>IvGUD*LFJhj?uo$s7`gx3jqK z`9R6DcIqfEd$B6?Jq`#82=g7MWg9FZNR;U@zsEt+kw=V=fkMqv>@69K#9@S-M8G1H zdS(shZhw1u(d1}$mv=VY9sbda{m`iC5&vYJP^q}%+7FU)9`3eE&dw#)=Bd{WuB-`5 zvzG6t>5#U|gb2Lta8I|Fr6b`(;d}k41Bsi1jzQZxbWY8-A$d2py4i!B*OddEPCDUM z(A*0MErw4+vroIUJZ)a~4yOq83(ex}ZH8gWMO!&hAxw;mv&&qmZ-abSRY-8Vzi!l> z-t-o1zm_lh2Ptp364VnMPi7yp{bWMieqZeCN{dYTotNhiY`5MQ>4hfy0f!gQe&+k{ zfEm5T0PsLn1~fwhlHx@3@gV2&e?;V=vG4RjFs}0bAu*MOV6MVc*Py2FFuMS4%fmR= z0Br2xJMyt&`xw{(eCYoK(E|_C1L_T`yrGU5Ad~7N+78&frO*#WxhIK@89p#;Nam9D z6DJ2J04IvCBrzw-GD_f55Q_wppbj7es7J&c#S=G%a!Ub@7ZLlTM+CgV`yGgR@56e7 zrR_mK1;Gfz=L542qOL)%$3Ob*0&i9O{jZ>VDgrDvqJJ*GU;kWw{|_aslaZ^Qi?fCG z|5)m&+E_20;Iz)Bt??SVJN6tU#v>2nNZ_|;KLQd1kdiTT=<_!TZafc~W;Z#dv%f6A zgcOG-2pIfDVcv|Sl%j8}R2JOeOkeWlPXaZ#=B?g_zbuyV0%+_HV{i%YE-zVV`8{+J z4F3z4V|spj`unBl``bFYviQ5SSOcu^^19QLo5ORXPbLr#2OcQy)WSepCF?3p+tz`g zNTWJA;UVOv9fqm$K*B2qhZT8gX}Vr-5=U8Ez20Kt)GxZMEy9+XkxE6?Sh=aW(tH)6 zxSa^&Q~uX{h;qI9guNr9sF_f!^g?z8bJ6;0099HAYehz;Bqu^ah)rzGBmb`6)|}bb zfPK6F#bA}zoMbR^-#pr4JyVH(3z4rPo<$H(-WrKeWmc@7WjG#4pAQ>c8RHf`+KRFW zvj&>Ooo3luh`~v`)qcOxYFwzJVhu?u3JO(UBm#)WQR0GK$^ZNfpB~gIcO0ZVM(kNg_7_~QZQ}`WS+pWZk?bdQcHST z2#|a9jN20M9*g*2R782Y5JaB{csdjC39K~|@FU~=oc>B(Npm~SZC@Y=!+A)B9bIdd z5Ml^oWj!ts#ejzgb{ft|pOVssTkdn(`u-W}mW2x|CU1aZ*!KM>IH z6sG{fl0#kRbdWmQG|J=4f*IQFV=D2|9JL^;1dh#LqPSIr4z!pR2ZqE*HV1FQ#fH4f zNc@lS2FiO9q@dmBMS(IQyNLeb%Cl@CRn~crA$Mf(5452GKrs2f0kguDO#8gKg@xc- zRP+Am;7C5+{up#bCsE-KJ1E({ILk1^+>#xzWIAYh(aKIL37EB*h;^ZWmg1$B45R?* z%T5x9GBL>Xlid~9$m2_%i|!SVwR^`9x1Qvf8n7gF6CCm74#&IG45?Kb03nj;mY>U#6)jF zQl#F|`@fq*s&qHBpfzcLr2vj2Jl0P)hbA#@R#enhJfxsBGJ;ZB zxLo_vATgz#ZK&wBlLPxLdmWnjwUo6OpxJ~OrpaiZBD_pV5N3$qfGH8mChos~iz7#= z!|oC^+|SY_%L|Iu?BgPs00YEJK@1P37H|PDmXU~wBo!uzTnnOz7d4RsHLzSCj|Wf^ zEx@SdnFW7va<(`lk%$YzB!fwKLGd{M5&!^DS~%mB!4KZ!N&&R;VgI$$0c*wObvE^J zAiaC8ef9~_B5nd`45oiGx*W1O7<`*!P+{(fQ*iL;H`_U8Sk_+$%y4yc#HwHn_9Wk$ zy`W!+Lt{j@`W3{JMvC(=yMk>xcLi zM3GM~4_*#jjvNjg`G*GLh+CdIUM#>8s0a2e!e0-7n0il*wq66}4xJA{-!OX_>Iw_> zzM#)-8qh-p-wssLz+<;fPfAQ)$VYz@_3jNJ;EbPFtxWD4#AycYcCo*MgT?7`kQl5C$qwJMgNftad5X_JiIt1b(@5kkiKA9r&QePX-rH)ybQYN|`{UMh!N)R0 z=Yz7!t?tKST2I22o!`q#UN7(4#MSN1kMzv9`?JhrOe-87;ko<=t-w`%BRd>QxQ4Qj zRJ`45Atoje?rILSd$k_!UE8cwkW&M3-!OX#Ppy^FZxLwf6;uT<%Srmrh;T5M*Y#tZOdr)<+Qr;emO?)LZc`n{&%S+`Nx ze(dLI_I}=NuWyps@v$+P>|S!@bY=#w=i~?3BE;Z$ zcUj)-Mb}+hg04-y)}cE?u8n$!Ft2c5FjNh2R!pF-tgg_#;(3O8hI*!C8_L$y)@80f ze%0Iv0)GEjalxA{zHa`n&E}2j&mXk^&pyV?&ftIQifHwBFRW3Io#Q`8;0F^>)Z_}U zl2YT1_~B5r+5GY1L%yJ`a5ZJq^kE-EuWS!5j0ld*{y2xXpa}JWjI##ptx5BL$BoB`6r5%z!gs2Yh?wb5qQ&i0{<8oLmL!Gy$zEHfUBEmqs6so`Ij7y_+m|kTpJY~6>6)1c9v}|$c zRBxnU4kucWYN*vFPlTLX)?ktkwt)^x_v^{3U9;WUmCD~a8K@1L+S+K!n$@LBs(9f9 zH)rxF)xJlT6w>s!nU_hWJV{p=x()DVQ3ztxmqxw2q}eT9Iirx*i zCTG#mXHk`ux!X@Z&74u@eFM!y%kQRBOsf`oI$QmPko2<-iB>j^`pJ-{@oMgjd|cxIB5}11G-sNb5HG)W4i)Z+{UUQvqk~$)u~9Pd~zfmO>pjz z+$^F>?3pO#Qj$Wul5QSx_AGk#(JEO+I@aoroRnX+GDtC3TB52$;fSv3UoGk^;?paj zQjRX?)-mMJ<|WKCXSy4=HOi|l6l)dRteKa^w4yS>(B^HZ8qiT<_mwpT0UMc$UT3qN1qa4y)0K=~J>hKEcxq^WBK_yynE{;3a zSm37{*dZDEsqlINmtd!f!Zj-Wbz%rtkT4Dg0ptDTEL0&bBJ#ZRQtX_F1~#8HQfaB{ zIAfYDOsRM)b=HuXW}sncc#&I0r3CU~;=48*jS7Pg@tKo!-p9@zH3y^A69OT*xYSV1G}|gBjF5}5>7#0<$+;qEhqtWRxuqNKOJ2b-?DU`L8w6r z^Jlo9_C|4(lx#cE6O&5UYIPl>&-RxF)Hm3Sw-`Bo)j^RdP!dLT7C?K*u#p)8s(_03 zf;Gc1^@J(@+CbpM45GAPrFhUZ>*JK^Jan+;dT_Q^y@Gxb^CmSzmX|5Ng$a@?ZXYRh zR<3Cl*wje^26$`Z`Wbhi%xs%Dn@e0=mN7DxzGY;_Q-D|H?(hN@~&Ke!Q@-|B3cAg z+F6`^pd&^7#|yAHVtH_5yZai__SY`=*Q|p7$sq~3h6=Jemfj62;;{SWx4B;^cs0`2 z+cA_PSPU%)P%6%tXp-*Mao-4GEa^~<`*K~)>HKYyL^|kx(F4t}J20ZJ^{;060EiCe zX!Nh>MLhMzFUYnlGw{dlyWyD^`$%m}u&SG2R@OnqT+Z{wi)iU_u%=eI$*UNRN|5sa zve^$SO+zDglVS1cz8xqAvR7L{Db^QA=vZHHJw`IO5@JCx-qM9y0XAs$amJKd9z%s% zgPO4P4}}&C7Hk;n?@jA%*SVZWF`i?c!^;C=5G>}<=G6cBO)<)=_#=l!3B;XR9pFG_ zsGr(v14;+!a~{p*s5iplhdwfc&me>q5`ez&f0_$(ma2QUUWI^2I7z48fDY&50jVlU zFlLuu5nJ%HG`9)4H2~-7L-6(^dTXcUqMSRh^^?WxuLvKu8XNyJz$`w$`?apRdaREH zJcFR_SG43*272iZC*7axnSDDZDLk?OhZV){04wwf6i@P~^k=%5>)zuAI!3;HTw%YQ zhxO@@>UI;ubix9>y!F65VTcuQMXXYX-3AkCxh8{?Dzop9je1(jcLr@-WXJP<%{x!@ zuq)&-2RE1AlmAALo)IRAf|fe97oMS@j0NkM<&c4SI`l^;%8UoLCqed|nr429k2Pvo0S+O_?HYSiM z{E2V3Cd;~2;Y}4orScAuXRTy$59b^)@`;{nO=y9HrT}By;5^X*SV+WqJlvUr0R?)&--4oz?A7lmBxHazs`6Lg&nN#ycqE1|%5Vaz&TBR)Xb&0=>f*TLeI{0uZQxIa#P)!!ar|C_=6%0me3z*Ek^E;{J?i< z4aSXyw!}&?H2q)x2cD6xc;h&G5GO(cqdDc-9+LWtd{njUs7J4OFKV2)60!bHLMbv! ze0&;kZaf0j)ZYXm!)Ff)#kS#OB4qVOM(76v(Dz26us`$>RwSD>m!@F`mJJeAM^ zNO1K+VLt4OgNm@5c}{vtLW;8cGWesk?%AcH71#zkbEZ1=KNo-%=K)0zh+KRUu@*~` ztnwe2`&zNCH^#apnp-uIOo|#JeLbb^BF*6&Q<0L?D>o9IG)&%smZ%` zV$uo@QZJgS?@=@ksTxPr=1MRUP`5_Zgb$Ns45Z0a!6wD$7k5`#{zPJyv zq={o7yvY!e)+u|Ig;~6qXs36g#hWxlav7B*!6Yz*r6@4FNM|OQsTVZZdrmlcp+=ps zP5>%QHKY8Kf$-E3Ni(JnaYiD1u0Tv_5<{awg4*i@Ado@sCA=_(HMY;l z2FB1NO<<{{P7=q0p-URWy4D~av@OpbD2b4FfOwuz9$8Y0OD{e^FG5d3=P=F>g`TRa z-R4&U743qadJNAK63!F)1v`9%l?il0$j%a42vk#q(v_fbCu!bGS^Cd{ydngZgykZ2 z2@w0Y@zNbIwzu9u@_1dJB;=FxoCIHvt#gQ%?JK63K(Ba@~5)ug>b27B#t$z2u-1gscfq$=fKPhLtsMa&Lu3i|A{1>Ht;J{st5WZ3q~$W zN6u(UDJhC!c9;vcS^p8zdIu-b*2~KS%c}zY4HJSWqPr`mTiP_N*v{nN!M}XHOb<<8 zaJ}^;xu4$nc;AxU?E0`1cfZo#-`#}e^GSQVzY=-#NqRrsdtxL#I~sO>-GAs~D}8Bq znW;v2teTN-&-fuytdC_@&Wd^d!1g(Z`UvN8R zI_K?~sd{iv@+7C-wsr7G4Yca#9ivg51~_f<@V)iRwc=}?-XUI~oY!@XPvC3Jgo<>% zSdwatE!OCFlB7%?vT5h=e{SyJi#|Gw1?i8vQ#nYuMn5{6356o6U%#e>1XUW<#IYR+zZed}HtLm;`&g zKur?)+vzd&m}%~9_5$h!D`De3!P!$z#Sf??EBV--!anZM$g#-t@9RHme$%Whs8yqA z=|bH;19T;}PhC2DaCeD%EXy?p7hS9uy{~Rr{W9KM>Dl>Q|Au;9n-$z=(bRqK9+dHf zDYh+E{0J9I!ScX`!UWl|@c_}*oArHOVchY0fqILj-9$cd-7xKatIqm&nu|zJ+ z@f|+pIduSk(6N7~Wzz=zP|5zXl^Xi^fEU z(;4CG2$&_j^V7t61Eao!Q{UrTD8Y+*60_aI`wRIs+N-{Y=N|COH0l7u{u2WBP?wzx z^lg{@<0h*I_KlbQBPaWBgYd=Q;d3^DU$!#7qbIHWUod8b;0R5V#P8FyiVVh{!q{`u zXjo`*5QHM6qRA|!XqQ}W|Aromo$X>GmT4~@oQ)$dDJ~^+)Z*&B?FoSSU z?^3_H!OCab9z3f(vE_I1VdF}7iy(Awwsa@~wO<8U3~XnNKsdX@_JS7)|%#&7-5Z}D^G zozCN_5X~v)w{Y|~Gpu>0_vpU&V87~-jQaudELjps+Ezb1;)Z|l%+W%H8rH*nNX z%igMNhVSzJv@3h{y^P0K#{RNuhHv=o|5>l3dPyUj!S}rmt%8GRL#irJJ;(#Y3P(n+ z00s&I+-p!bq#fGwpvHC@-NMQnmcuQfQ>?70Q<+OwDp09t_Je5xAvaU<&S^$Bz`R*T zRVXV}&kfBC=!fyyNIpzXf4jQAc5Y|9!vhPT0{4R;WUJPAgyKEM`-Y=9nE2Kr{?jqY z3ybjPb_KUF;EC;ow=v;K>BhO!^I@IGdHa{Au*By{Txx_u8(l`^f02yYr}Cvdpb-$M z`$E184kf)CKTsjiouI|*1w|YCLcC9pVNKDI_CjC`dlS58jhUaQCD;jeW#~!#U^0fj z13sw5H%y%-^+rb<@y30L9Lb#EJbhus-(S6NQuN~98@#hVG>-wFm^_#v=$$x?=LvkJ zwTdMX+GmfIpH z)5yvAw*KI}J{TDsVsi5oDsBI8UpWvnbZ;{0Vv0xt^w4IX-U#%J`~S?PTA!TpG#>yYF~; zTraF28T{Cw$e>N+S;xZpew;Zpux~nc)))CWWaj-=2U7C&T5!--d9%LH+|#`i*%TkQ z7R@3xZV%9GJU}I}*cM3<0dWJ>!tT`je00qeKGq0fsz7DBmP&VOei%KnpZ!rY?l;B}F? z~g)NT2)ZFbqVZQHhOcbQ!_{$<;?tGaC4wyUPUnL7`6=0;>>oP5fcjFV^Y zz1DBtuAe+j+hnh>)tc$|cA0zS+^-)#joHMn;McP08*opoMHZ=iQr+_pZ-fB2s)lqD zSfd1lQwW-dviQeILe>vOjK1iUGH z6%IbIb~<1EhhHdr81A|wZUlU1pbIqHOPO<3U9YaO#aEsw20zYM)|NF?H}z7Xdpl!tP}=8B?Z-bEw;+8P_{WR0qg(#L$e|KVmeU%@ zhAW)MEnPACXRyIcwqvl8b%Jrx+R;3(iPgGrT_SPw?o`ln6x8>>cRm2!0T#H@&(wM) zecAgnnII58{rT>{x;=fqoSK+w=B9Jha_aXUEHp!WPP6^s{9b1>R~`e;)Zz% zT8G0Q2Ez#=vB#PH8=?(nB@YxJg82#0u*=QbFZT*;-_P~>i@r~a6P~ROoF>o@Y2Vv|I&G5*=gc6#wOxCmtN!rT zLq?=1*#e%NbTp~w=Vdj3*a@gC0(1SK6q&M0wUC@&6%WxdZ0$BC!qW`9VBOIS{eZ8( z@mpBbZq3L=$;cr@2%RDjl)gmqNcKxw$oaEFQGzCDhfebEz@K>YQ9`6!$le@5))7Qi zk`oR@`f(WhlYAo&E%XF1Xx>%{I7@byu~ z*&Z%Ys~&<1@MsT$rFL1S>;7<^mvssdtY@k-bDDX}GXY*)-2y-76biK0biSJG%!!wC zVNf0;3kx+px*WFieW|!m9l+A5zyh?fBt&G!w2|dX{myVA99M3sOG8Yi*v2s9L3~0r zDHGSl}{O@Z=NL34ZecWZ(z&4kW(h{>yrB7y4jfY0UB z_IJC3v+a{);hdkWRsatF{Uoe_zkBh~hUP~*0nSVn{dO0V-@)1uwo9=KznlB0!&KU~ z54Ws^13?cVegKOB7nhsa$z^afEKjD!OK#@Jf%jA4qyavBWt>^i@lhH~!P~=K3PAUT zBu!qQ^TXr*B3eS7NkgDIx2p47el+=0`^Nd>q#9P!?|8Q}fbVUgZeZl-XkcpPV&d?Bk!jWHHZiCx=zzPYniG0}+48|~UEO6JJMG8qdbC`F znj{-6)?n0VNg%I((eo+`dm|5kiRHko)hZc1uBfS4Pb}V2Te(HqDr&LfH%?JO8L?=2 zB8;-AN^=>5uuMu6Kc!s-1aZT>h~hg` zl|B!`DmYU9sY8Up{${q=7S9`ESS=El%Az-CR(XDd--K&@7ZA||j(`N^pC(mUouZ2c z)Qa*CT8ByhE-l^$Rau$@mdjA4j#?t6ajx#jGah4;)LN1m5mw&va^b%YBMsZvW_lhc zjTwI(P?lp@r)FfZR-RJM-0Z1}36O;NX=$POCJF_uEy8_w9WK*CY6UJ+O8!C0W{Iu% zi4Cp-H?o@E^Ub%9#R$TqAnr{sjwb=*lostemB`(rOozrxJ7kCUUH(g)AVCyWnj}Au zxjs5)?3Y3E-d=dv@4kY`Z2~OB*#irG>^;O5e-BLbMj&ZI6kGZrzl6y>IHxuj?&&>} zaTiMO_-I=RwQFU;-WN$66}jSd=dLPCVnH8|C)0q}fmp9AYHP*g^daUgACn(HwooeB zR}Pd$5mym0F#QI^A@Zwn+{18~2l?)~lFm+`WG33k^#}f)*;dLRn6u%UnGq_1`L{p( zBa~56nCikbUAnuoi!S-)0ZW8L2CFc(z&;DpFD|%IM;BthNiKmX%P^PYvDsrryB*ozL~|KUj52txl<;F1P2IlRg~sN zdH$l1dwIo}4=BdZVkxj(#gp&Vj~Q|Q4hP~TF504xL+7>PX+-mkpd@Q??d-lIVFLeW zxavemHcflKd1#c$KfE+1Y!5NVKy^LkYz)bUDq#`S3#J%UqslyUOh3x&=a<1Ru~}4L znZy(SU9AyR-iVH1#*X-@4%Vjgb?Lk~zuc!yZ(b>w$3w`t$+!_Jjx=7qaV5azORP{b z+b1Ls^j+3dK{Ey8CI|FD9yAJx&9mMtz6d%L$OP{c$Q{KUAI}`s4d+MB z48@9FUNOm$637rL5f=sq#Ea>*Zm^2<1|^F;oI_5#6GA(yAcO7NW}53S^>2@dyOllV z+mcW)#rZmSG@{pAUdt?=@o-C-V(F3Ipb(*mNkrjb)#!C65`I=W zI^;vXj4w1}zx^B>efsw?X89d;?^Si>A0c(%?s;Wm=T6CBeL*9bv;{{jG4AqTb?7pG zzyyWza#>X32k73YlqnPlDoxUN_vAkFn_akzu*+gJf3X3xYyJ1R6cr~ySGz3A1n=lL zE~%>j7_~VbUhQwKIidW9ov^o3X0tBAC0CI>$YkS}w_7bp>w67~4wv-oD@*)wjK;z; z&NIufh6E$iNM@}jM5oxjSFXk>*}8Q;+%{G#E+9U+JgYEf!-JKTO6#^6^l8bgNrZ)I zcOFx1tgxxj_ozTs<*uI$+Au0;(V(L-FQ{6FR-uwKr%s?*RF#wWTxkc}B3AY9!6`=mDvjem_LR+>9w&Z%VJG+ZxY}1mrDP|V5{@jZs?K=zZjbvYX zus9;D6*|(@6ad%J;&Q$^H<;E^n7=5X6CF2!Le)Bi0c z++EB7pvueTQ1tGw&tSRdzB-)5^7uOV1V(}H zr0JT+(`jmMy0H{;c^jM0|I$GN<4N!JED5sdh=l-)j>1Xpc zI*p*WFmyls&xwgfkNc0%TjK_Om53rNj5v%8Ek3`QzkKCx-%< zvx2+tMwMM?7-+c4;zw_s&(1IIkdHec`Ge-yU%W9Ax8_~oar;-Ekp55tF$Ddcwvc=^aop-!v}3)6nFZcV1WLGS0Mg~+>zWtgFe)@`+%D7-v384GWRJ3IDrQOO8=)D z`Sm{^H=Io@t=!H2k0h1T#uarXgQdsBrslR!lEmZy5=y)uV$ISP`T#PFX5)U9cgyg8 zm7QjCe)Siv%!DK}lKcQmvTfE7)vPPdd~qo0)LIhRc;cn~=`qqi`xZUlp5ps@qt$q@ z>&xs`!&E|Pw7c+Z!`FvpP*v7LVgPrrz1j{gI0$YK zZki>LrvTf88i!^7;5~WdjEXOuMci9j!BV`1*50x{JB&($9a7VaHX#C|Rc0QQEYj6Y z828UnQoAK@4$ji(eOPJ)j<#~N8QV;HDkyL2;!UTNYso{qEI+2)srZ}adV0)JL8eg= zJQXHOfr+;CzYssZoGAM^>~d}C$x?FVv#atopVZ$cDj*p3vI-JO?~+eA!Wa!=;m*#a$+ z>7$sgFv6<&IZfuu6wKB#G)x5w)@{ks>Q%gFb?gvW83e*fGvjtA{!W%GnbM>+J( zj5uYN0>Ff|)0n=iGjYNKIg42sdj?=W`%M-E#Q|K1toa{vzh&s=qzubZNkYljX8@Q; zi9Ni9#A0Z_9k&^r4(W0lhDSp?0VyX6TPwV~?+p!2S-}b#atW6G^~#$WISv~dlGakP zm{m%PKZ~ILvC!1}FZA{(1*(!@zMJ^MQ7CyG@dS(*&vFH6+Hs<{HOPGO+V}!g(yk1Z zXeF*$U&2BRSJIg%f4NwBiC2?{d9_WZ{Tv1qJJ~^xfEvh@oOBY9)NlU~47SHbP3$Ks zwxhaAZU@%fC>?kdg^_!$>JF=xxWH5`Z#?hi0(G`6S?@eI4A2EoGIOjG>~#DDDqq>( zZa^+tb7(S~GNQ{m^ig0=qGs`DZV_-oD0{O+34tjZXz2AbH05DY5h0r~L)0b8``Z)^ zrZt#DyyQ+1+t1ZyCN%f%B;x1d1+u(jc&?N%OE9N(BBUWnPzAWf6CT}{c~bAlJhtZ2 znpNPbgkvycbB}XBuI7NM~Zl;NflI$9b5< z*K7PfT`%X|AdgN_FEXAz_Q@7 zi`Gjs<)Bp?R`h8x4l&)-h^(kKA=7+9ZX0mS$>_cUNf0ztE}MegflkL~W}?L7K8E))4B{TC_M8)l+=7 zqG$h9#gy?G55_bpO35(O`3;fEvkee03gv+#mr&jAntZ3Yy1ql2cB6dx7fof@7B48A zpiERY5-qU`XV2QT7JkKW{tb1uZXc@u<8S^QOt@6e&8lgo#6fWqC zPy_~sdGS6ur1LZ4&=Ecp23^-r${#Dy!v*qQOZGwH=)ES@zRi8Yg_9Ju(gOXcv2#}; z5su@MSSE^=LZ9+g%_okdYc-A*y7N7HCm^=U{bL!FpAK zR#k#}R+%Pg!y`e_)V!xIBrq;2t@2jgAX|=|ib3rt#x&P`HGS3geWhI$K1UQy%UT@j zf^$YZ3_hXTNRRO*H~ASn?#guEXpz0j&jDjoBmz$Y*N9J$^#EOHR_vQpgh+j9wO4DK z^iwzDOy7v-Wfmd4gw-iV8TbaDAvs&BxYDRt=B9k7k5YI@og5l@#F4DnB z(%^cvro%z?ajG@$vLZ=IYJ0OPIIq)CGbhieAUiRkY2q0S+fJ%6C86lT0?Ji=q$W!g zH%RRj6xYzpDJz*pjWUlA(B@yzDN!Iqv;kS;9)gmhMsLOb`TEW+1K5c9E2vbGrWe|9 z1!Q1?^odtSO%H93a`{*E1K>FY?pF+DgDB7C(RO?o# znMZYamv^vJLcAcA0LPhB&Z-teeDym=-cAB_t?Zzs@7wP|3Y^egBRs=5bMVE$Xrakr z499wKU9c@W$9bi=Ajgxro%r$JCe(xXG?BO&f63cwHG7%`!96tQwwu|zeCZ}zGkh^G z;eM}N*$r5$$|o}l^HX9a?6C$pSM7-!g%Z2Y$rMg@Xz}ctUzxrkyhH6Ly%P3)adlS*gM?5nm&?TmAPd>}vh6$rQ;@^9h+s)b{_Ckuw z2#;Nb5^98pu(7Vv8|HfqWe()PpB#%bu7PV~)_-az-Gt4u3(XeEor)Qej$aAKEduY- zX(Zc6-nq#Tdk)Nv()ZwY-BJsOK;YDaz>DN<(Goy-SX~Ikc2tjp&U6ro-(v%w1V@wm zF(zNaLYfyxp%_&NK6bM~Js^ybme}(NQfRgr6Nwgntv8;7bCdQN=SU5@-jZ=^IF4vl zD|no8!72En$i-h4#v%N9+->UKRn0vL1!4aX831bLbCl69yB3RBOJoT<4Zi3zh45dq z62t^01VZ=?P6w`3Y&RZJYi51Hbl4{hJ-P)P2M5 z3m+(_(X?HwzP82h8bs4%p&aq6(fB6U%qHhgE#xX=bg6$TVipx&L-2AaQ49Xkv7Xt% zV-@9vZ`1-if8(!|&@YCt87Srw1zU9AC2P~5C8ghw&$ahWif!4l)+C@ zxVy7KyH8-|mG_w4`_|6KbLG!r#=~o5u2XTd$DV~w96P={@7q-(gJZFQr=RuL(-W+| zZ{hx*6p!!S!C|wTEk3>nqc2>$@ax>o(4V^l8ARUZpY$@}0Fhk$C5yUp5?he0=%!kwQ=OoLy`e12-VAE$xiE4?gFE)Y&} zIhyZET7Nz$*6ya_d>igc1Dxs#jd#a}mlc1$ThG5A22~97Hs2QVYrn4m1iUTpTMaCF zAO4;0-wr*GD;nbd9QAv{{Tw^@A3S_27dw8I1UlX`Yw!-sm)P#Hc3a;skX!rb7f$XT zJ71$OTYjVEg(@>i#zDQ-WRZ~?vm+xOEm1MwhSdHf2$!=+`K@DJ;N&+5U!v|P^K zyW5~j1^K5AkE=i1Em`g1JWu3w&fM}B>GdZTvo-M5d*q$sO(UT0H?x3?#D>i4D6>ta*=-zBVR~tWQKM}lE$uDDCo%r<>+4kqz6%3_Qx(o0&0xMn zat$XQRh1Rc*`J`v(N;5;Vr&U}^#~SX`qBZgSnHC1p&$xKy!bMpR&NSHr2N3#6L~V|?1iU}ApKv z{_u==d>wDU1i1PyF{CUp^sIbNT`=@MJP$hT_}Qk`j@w>Pk1@)falWKWC zq-Jz#uQ~v(9DLdS^B#AmE5VTh8=m%0#VweL?|NCe-+Di_7Y5dC?*=zL4+DM-UF^?y zOQm>oTT7)epAeMnL$~xU4=f0?ay$!v()Nzpuv>Qt5%$#DP+RxdIAc1U5U+=kKT)nn zFK)egBU*QPZuMRtJkjFzoT?7&JV7Y#Nagofr*~-VFYGN17fe{IA$QOF^9! z5D?-2Tq3%-nAsWI{#SxWvgU>h?r`RcCt4+o5)Vn7F@@7UrDPzOm}q1&5(O4{s+~|9 zReigGsTK~8h^f@y7~AkkqThjz9N|C~&*H!GtO>k+pU5pOuZ_~_Py0-$b*a2Tx(67% zNcP0nHLDKueLZSnX4nXmCVvTkIu zm}$kYRCllHP;;t&?K;})RBqkTq_Cc9S+Vvx%DlQH>;}$odu^FgJFh{1&Td)SvFA+P zsA8y*acIOVJ+ox9Y2hA?X{oB< zvlvvEyxXKJ?RHP%Jx}33jcq<$Rn)d>o^WyBTIbjRJJIvS?wQyw*YN*uPxiEjJ1g%ScIv z9mz@!tNz+tvbAc&QSsysAIrI9d6G4&k>CcAym(b1T43&l-gzy4Hc^!A3zKxSu?MlL zJ4UOjy)mR=TBCo*TR8`70ywIRl`&%8wBdS^HsRO4%Y;3|loH)L>e?z>oQ$>?2|eID zb7df!)!al#)xzV_7*I1r6+)SvdY7!)n{3ARM zT)8R=GKeg?B(`_8`j5a9=8$%-sqespzHeN--Qo@|xio>xMFOSQY2VIMZ5C-#w?eO@ zfmf+kt6B|^HShhalYsJ!M~3cLVB30fOe>)yfbU!tdTh)gHX&DvJ4=Hj{A<>SOec5u zjQMhtP|WZVTC`*IpL{!71louK1GxdAYBf=>R*goUE~u%6dPzn+J}AdIAMNzUmi>@S zvdFk@t3v8|symvFFvU?hvJjWs(kqXB0)JnyFmj@lTtsS~46=_f1LOUWA{&FVd@Q}k zx_Hi(5b2583@g~NeNFfmd%~NB_A16x+w)=v-P)f`XgPV{kYB|r};yx&g|r5 z9=be-mOt-cvGGtJBejycCHd<3HF zv1kx;S)mDvWnhn4d%*^MhE|;i`B0pc5RV;cUlHt%OmYb+SsL#Tw zXLh)Mzv0R-Xlj=T>A&^I8&6SHQ2!SsabqJ{5CXB{ktJ)Cz#L+#~}zO7c*gfJ5o%eu~LzA7g~L(lHfFNnl&BR{6oC!>xx=AF5S`HevjP?e7k1;Nak$(B8o3O91 zjLz`=)nM%Nbq$P6JC39&Qf3|0i`8*CIJj>mTu0Q5YAtWt-bfb%a}$Cs=Qf@NZ2wW` ztfv`b$U3;Q-RMH#O+xuQDp>~uSP+4k#yO^>g@hY_X zY3E4Z|3pi`_*OUYh@ii=6Vo{25X{lE#anW<_w_GN)>4GG2L4tLCi*P$QnX=|F}maY z=UdfS&FD){S@?xeFB)Hg15*JtlM-aYwk6n&Cb7j*hF5n9JU7)O|~>=Z_jWBR(^=Wq9P3N&}YTq-#JBBo}oc?h$ z2*ibPeXT{8{|GdYPbo()1rcxE!N+z0?SpW%RG3U?8SzJhDdGiq--aPN(p92`1jbER zqeYm`84D`QDZz`q*kuvquNT^x_+>b6Pyy$xQgnAPZ9jJhQHyt|UIV_txQUviV+paG zsQ0C3v_T!4~- z`QbL0RHi;Ip?cmIK3Tc3JK#DAbOu#bO5Eoe9io@V<`Zb6RerKYjw!L+l}3w`Vt}sD z^ls1sQ}qrg&{FxP;=*S_`(1Dy`H-aQ0^#Sp39Bsh^P5DK(C9_R_)Z%Sng9^YmVUNF78Jh^NytKT zB3qgsCd|%Le>anE@8_q!{tRgGJBBxa6fioN#6ZN7QtO9LPK#G zGE(Fv-YBI%kOv7l!;INMY`J`33+1#7@zo$^L+xz*C3P-P`)ox-UK}{`w`sw5X$6k5 zgfgR|c`oL^4uxsm;Qxd!^5N0nVY85VJ_N0(Y66>&)jQ?#fsBR`@z1qJ0e1%xF$5jF z{Vn=U$l4Y+Gi~G&0aQ+8%a;4cD1bpPgjl8Tm_OOQS7-+*pam?3ikS9I38G6o3fV@;mD)$0y0`XrXHi)HLLLNCrD2hoy^&kWob z6@~INoe0uMXByQA+7DaA4Xl4PK@K+Ih*a>AbCoRkGV2fK-f|k^9f^g?MUCguSgQ~+llA9dNXN{hz8V&OXxOyiGl+;N$NlF1LB+>+y z+^xF80r3N8$GWrfg|DEqR+Ikgr6VXv%f$hYjoUVq=?#%c76bpH9G77;eChi_yWbmU z6^H}0MA`DjIq_$(MXfu|6;7v#g0codq@&@*kwB zFpe^fH!nsoq9)Y+Z7)3>&7T!UQ=9js;HLe-r3mGR|W2sTIlx`r_fXU3YFQn&#R=7_L2`#T=)Q-l1xKC z#7x`Zeht>q3gWa2PmXlfJHe0N2U$8U?p6b6xH2dIff_z1*LA>j9&9!|`p)<@4si&~ zwim?yRV24o7#o}VqpIpoD^$&K5ZKg4&8YEI z0H$(&m%c$L<=n3IwNoOeU|nP{k7`)y6}+#fI+-f}Il+e^mx1!{{TdCUcIaGt9u>A% zqhZ7d?KbqHfWfetf+7Zqtz@(*9)pE?s_1zie-^S+nF`+d;n62fD>^#^Qq8Qd{KI5= zOhdx-1VDJkX+iL%+`deX_YgePnk80V8J2=sAzn{2t$KUlqlamL0r+i&d#tww{Ou#E zoQEh*gR2wFo=_o|-3-L93!)k=Xwos&IWHD=&cENnB?N)FDdD8rlr=f;uk^d^FN9-p zPgMD?ZKr)VXJVS1(?x7DT~rC7>*fN>?J!?*{ekL-{b4;*AGP+lx4$FK4LrvusQdfI zY00%?D`ggv5V?Bdz&XOtJqT%ICZiT^p0`vP0J5Q-gml2Jh$dLpX^mK5!W;*nR|g*PmSIDX`Ro{F zMr+SB{953;5li1t%<$Q8&(rujiOZw&qI7%AGx>c)P&OV(SgFJ7c)KP`qb8fjzu% zvn0U0n!g^@x^ff6}8~OsKaxR$g^rd{j=qffN#d7@Lc0_7RJX z2S3|cBn5(?=senMq-yFMzfIB!3JpZdLAvovOULdU(N$>4j?*Z#$0+vHkH;tj zB#ay~)^YW2_*1s^NN#EpJREB8dMPij`d%##a|garvM@^cF-r`=mJLbO^2+hCUWs)l zNYS4W_G-JS^p8w;Wtbh41IlX5-YD)GoxY*{6}yLPtsNdb(B09s*d}&VRy!%K^QT@p{r@Rz7mBbo~kqETVA06&Vu`+@( z>>0e+6__G8^&+zW;sCqq{fjPQ>x=j8kr@DXwUQJ>1<4JwyDS&#w-|s5?g*cd2l2pk zAG)mI`>b$s0Q0eE@gsX-;TR6H=kh9jf!W4aZ2*F!t&tGgI+Jfr<9F(^A#o z$;Uq30Jvd+QxxppWh^Zl9iXPVOjtwj8lBb4PeEn@m_4EiHucea{I z6_Rum!K_mSh{r**WgB+d8P0qQP9fBp;|EmeWC;!AYdVn-#n@Hh>{jG$B} z0JgMe^1;CpW}v+H?Q-M?BvKGi7Qw+HktFO`uvuaa z7hG9UV6oQ>_-(_8%9{OiheBK>T?{e18lXL-Lw?aiB&38apgq-gFm&{OLfWXYn~x43 z;mLi0USIwc@2~Tv&YjANNSXUj5<*52S~(OxGwgX$E|pAD$Ocml#Uyg@POxIB@y&+@ z*5QXJRxv}=z~s)c=CJ@2XXP+f>pJPf0L<)1XE8F8$}sJ)sbGJ4)X!dR@|b~zmwNMvZjNZJRnxITtKLW zDBY3e1_Gp6_-dsZX$La$EQQb-fzo}`(3hwPU3gDc3&D; zF$YeBUOzyxE{?SA8R^qu$%T-sv?m}cFEI_hK(Z{Tp8N}BKuzm1{>{+#kG6H^iX8N1 z1fm1C$?D$Xg|&5*F$5n%XMGd;Fw#R_S72<-bv7|aXtmH9P3!xQ`+nCm8cKyV;X%;0 zz|9s77kwHp*vRC+GS?YU)fI25$m6Ct&ET>!KoX4`*m~Q6n+6yn*X#lUkozGwSz?b< zHXj@^1z1;o;yLwES1als6Hcj4$U=T7nev?G;49lNIaW8p9MIRU;-U{bNd9>|aMWjH zX49t+Os_Hg?1Q^+5X$f^lL*+S!z;Z*ikpoi-`at4aXcoE^cl+FTNsJ@7VDZIChewC zf}Lw84WoZgLCaJQCz4_&Yr@MSDjC`cDm-Y{6?^6MV~Cvf_RA5hEOhC@C7=LWhqUoO z$&H2K_TYby<>1a|fGnb%?t@14Y>YMOK)6#GwPPLnXM~IXf_pQ3VV0SKS6q-gb%xib zZ;ijOqgw$L(Y6EPn!<%|0a@?_A z4za(3iYmXch1?7&x$?Ixhu=v9KcR0Doi8dQ>7z=pA6WhkVQdx|UEUiZE119`gd0Yf zTP58^)oNA0go50C5z_i!-p`04s4YCa`OJv%Q1LRheZK>f&A{W zN565-k;Oa{e;#|_DxG9DDLl1Zs092oQ_J&w5k9Gj1hW8@U1dTGtZkM@HVp&eIbhtI zl7a9-s>9O%-F0oVD<`}URS4;T?Tm5t8mLmA(Xq6Dd9aV__PpjDr=2aC=7JWz!?w=$ zLBuE6Zb-sGZe7IrC4O^@u~yo!)8t$&!7sN>&zigZCa$~}a++zCT;?LU>4WfUTZiNd zb#*&^`H$PnRMWP_@nh*~m8s-EkO5@2-w9C4HSp^ig<6{A2e|rGPRWtg>W;9-MSm94 zro!1V;sEgmJY*kW(-Db#-gnF}YcCdt7GHkRxEO|DtnQkHa-Kqsn;5`4*d1!EU?_3P zyp_3&kDbboX;UTJ3ep2_wZu>BN0sWD)PuBoGTnTod4Zc68$|~4F`#-QW1CmS6D5`z zhiwblbk+y%-nAW_Jt@YkIc5{Ixgd0$fJdK-V@r`4YLFzKXrqv5^AGAm0p>nn*omTB zWx#Pp6PUxgYES7?+SenUGA-=KG$CUogx*Y$EX^8AEs_E)Qe6sV<74br+{ik|8o+>_ zuvC1sSw{O_5W?a@Dt#sv0l%*K*#{|nqZAn2uw{7YW^ zQ(io~B0(PZQk7Of`J1QGAf#75%ZU>xRm$j$x>N(LpY@4@v&{bN!H3cSKbNaVwtG&!TQ>9C8 zDc;+%>#h^yaJyTi?tiWl@ppYg3tRm4;6u@B2ns3_wliX61KDG?c@K)nSDt%i*&z+2 zIeOYJS>m1(K<~t->8!=kC>2d>&FnLcyZsko9f3VBMga#GhH#M_w_@p)NuWGT9x*XK zkin>YXxUP1{wPQ4SMSKDJpbGBz?ZU5c0%xsCV%@Uq=cUZ(T|9F_ED&iKIua?R8_=D z#ce^KzvyCF(KJyXYi_uM)i-o(X*Wm|tpFs#}Ig@VCiPblvDDpS+ zW8NDkrPM<$$;lwmhiFH@uUm^x%g? zNVAG$sA+jDHw^J36~u`^27gx{HNFWcBol-jJnra%B{A0-pRsDm*`SkiW<&0j zv9*&bmGBZYQT|X-tjn%OMG@7qlj=OhmytQ{Y@L(%et!_NA2>Gszp5E!!#IwqSP_=g zBB<(G%nV8gy!=aaluk-&G3ozIL7jrSkQse_PH3ew4&qNBiA78~;!ujo)Ga10UL&8E z(;62%cR5f5h^9Sx5!+Uqw%0coLVV699RHxo!}x`kj}~ZmvzYC&@4{=`WY$4>i;++1 z;vGNcJ}9y}^!lww`vkV_k3aRH{iTu+M;O6hkW!30G?V~uRU)WKGuNw5%HzcYn;`S> zPFXk2eCg}o7ELA6ra>Xjsu#;;kwMCstVh74iww|E6kF7$dKNhec+T09t=MD#iTR*Yf8tq_Us`dbdFO4V1Ql@>)bvZhSdzKN zCWBzu#Nd(@$(3+nKyrYHLRF=?VaIssg&pv7wh&UZKrB46jyDGcgPEm)F%w<0@;wQS zz)4x1B+G07;nptBel8VxC2ZC#LRQxLuv5g!C{rX7@S2Fg#n@X8<*p!_#M4v#p|+Mr zlqjUWzm=iM?|lJR$H)Qz4oVa`J2?>T1v?RVFMx&)42=9|iZMrXN?y|;0I|L|CGD*m zQn38GB)nm*jm9m&4%Ohu@)Y%n(vS-ft0QD(NBJZPIjndt5*{ZGBc0`~M&czz6;Kyr z(K}4S;^oMd#$i<owVOsQxgy zz^&WvtKaU^jvHDwK=&$IRK($y#L*_b-V^b{K0-?KGYd31j;b z>fR!j(19t~wqNHdTiY{BUlTU%++k@TRiqJ>8YoWxIFSg0Z{p(9Q)2#)NNZ)E`>#i{YvXIE5Y zrlpk~Clxvt{tb_kOfQL5r7BWfgKf=0D#yVDBnUwWiNZw|&m-d=+F_)VLZ_z^`a-{!A zF|0fL*JZ2Pq<5*k!>btxTw!tV^-y0(sC`Ruy)XNV@dSY$Qc4%8qbamL7#y5J9IFzt zetoMx)4JLmJ1S~P)1RB$U%hN7_aU6V9iGzOXOgtt^tBxU9xMdM&|SA zN*PK$0)I3iOc2>IyzKK)I&q=BoHn}p!{43hu_S!Kd;P!dt}(8LhkioipiIS)2r^}k z-dLAPSbkXaXJ?%9+``*mO!$hl<_PZ2fF8-g>E*MHNq$9dV38^x+$tzq0mw=IoTVP) z0*q7oj;}|EydAHoKC<(%V7QO_Z4vTSC&Daa(B-hz8{1@Sf0YbbU4@VMPB?<|qkMerjPO`mtkVj@7K* z;Qo_;@(^VvOxVAq3Er zih1#q;JmoyX>#J|5pMUzvO?_}hB#2M`J#}jWiJuHaWkKPblXS&b6YXA(iDh&3d~s& zGA>xz&=UnM?;qxaXU5_7r;;5Ew$4*&7E*F!WWt6s1!#y9H#F%toI1C|NXx)5wR`jP zqcnbC|3);NO~e)Hix@2nMz$Di<-GlsmAc!({tJGdjLR|+uWly{*O0YoZ-X&&_4A+C z>L3`42-p6o4>h-i9dAUk`K83D$>nm%mJ^@Ec+d)g_b!rqH@1bYD1ZWY2b*N@IQO3m zF|5l8&fd&7yX;->2J)y6{wHKd6)zz^#9D*pjUPfTqSNa$FyuF|1Z~*bt0t{6 zt5}Qf{tsqW50*)rNO-vIyJ)yW`HmBR}iz-Me)hsg(tG2U#^2?JqTh&r%4Vs^NeIJjaBoqiJmb(2S$oQPvewLrg*EdZ_4@89dY zW=04c$H+GRt+^bBgdFx=a`V4UM$#^~ZK`22*kyB*C+mMH5(KZ+Z5+!u>TatjAmzSc zL1T^D@`Kvq>N-8_yn-(%$;2vR9T*)T>U4zwm;mhG@p8F#8w~5O!R&q>I&oNE{_Wqqx7+ zmo)y|Mw{EohtUc(oSAq179#F54D|lIPuH0K*6uY64fGcipO^<83f+umLp5_pEIsgl zGMtDX$Lpax=YQDpEFCUNV1I3wGzp|EoK2)3>P$jd)cE_UwmQG{zr3kG5r_+YW-e*%t%CalIuyr=vPzh*F*{V%!p>NS4eFITJWaLTqQYB~9@X`^|c zb|Xf^EMZ$MT~ug%5I^#_MJ_^ea1k^p*bTbhw|W=UFQ_sY0z!`*tTukwrxyoPi)(^Z6_1k z&Of#@v8^-jcfOl*s!mluH+}nbSJ&Qqt=}?pvl?1d*fhxF?=gz!bG- z{q>;teUhy_x;|es;Hzt!%h_vc`BkTxO|ZM|VdQn!`S(OalB3;9t;O(qe!&&7r};ay zT5-8 zwoY>L@B3?Hn{&Rm*TJjM_Mf?3N`pqi>;zN*Vnl}s|MyIOf z)%^ZvhtdMhfA3R^ac$gwReKbFXXk0M;KExq-HaF=4=KoT`;{6_KhmE~kSa{oyWl?@ z*2go}`CUa8VOvDWW^ZBqdfk#RFh0#X zAv|Y#F2DJT@8$lEt5OX{k*ve@Hahqd4jEHZnSpe@ZU2gUk)O9!Gy7eiUtc%L^^5x| z`p&Lz=h^?Cg6Lm%LW-xFnk2?3p$nMI7A6zLpjhN@WJ_TUa4_b-u8v5-!endD6liSQ zGd4KuXy{Dm$nt82e89>i)_PD>3CNdBMFU*MYGn3c$a)fK$f>9xJd0wc#s;*ABz&D-zGwk%ay?PJv$Mo&Ei%s5?kW z3$tTME$wo#S*i$ix{Ef4@2iCUyDBKvF2K`a-*bH)mJi@^dGg@oJ%HeWqkO$CwOexE zU;naNWU(H-EcSEf8Ozs?bEmJZ`8+W)U;cJ$KecEht3iAf=Hoi_OkC1G2AGW*RBWZ~vD0BCR6h z7$c7`_pay7Mo6Q4tb#T@7Co7Im|uDDSLZ z_5ENLGwpl+FnOb=sAs``sj(osU0}__zth)m%Ry5X$2NcG&tk`2x4B3R@lC$)4|7-h zgW5JAPTIY1#{?_e0ZUioL3wC5H~01hzn+llhpdo~aGmPmol#qB*@$*&~c^0Qch3oD9n8kVh@z z0_*ocHTay@(F&7kkO946%?~%JjMj^)L(Ed_&9SOJY``V zKPZ?WJrQ%FMJJQ0Sq+{^)t;C%PwU;N7=Ku`o(E0+Be`BG@3l?9N`2ZG4r+uPHmQ6O z4!>YZ*&ba>H$@~(ijOTFW`y-h^u$1+7l}z{heWm%yLB$Jp%GjL721}VhA?%atU67m z8Uf|PS*s3w{;Qiyj1Eryl2z&NQjw&LBK7kf1g(3ORuPnX<-h8a?#w+|lk701V(H_w zT&z_Z%1_zCIAa}==@%*83N;3@#i`v~Srk#8rE-&V7_z2bRVoqalk6%zG|DwaEF48L z7#ALIn-jnMJy_JI)V)T!mMy*(Ktw-m@`g_u@S_jIJbAjfx^PU)dD^yro8h&;&asi5 zs868K=aVI#yG(jy%1rRmda7T7Xt&(y>K>9-ZiYXOEkStsLi?jLz(mb+Wis zz5pu06}1bk-WbIe7oHcetld)DQAbnBp~33h7PQ9!P9OLf(<>m@?dv`wi!ZAafU* zl55K^O5 zQ^7Y|!fe5{3pIS{lqH$^B0F0aO$BDIXwRA6d2sGpXsQ90-O72Q3YxEoDbsLkLKMR|wz&Lm8AqNfHv7 zBiq9syqxR4Wt!9V%*d_slvQ4@s`ZsAZMs=fyZZ1uZS%vo2&>Z9ti0|y&GYu_^PaW4 z;q@sQJ3LzmlMMewKtp)(;<2V2Kjv&vn%k9-(Pn`!7ytMNYmFz zYpOL}*HO?bWibyl<;ktEZ$~TFSsbZrVb9E&NJXtQHe$)nY^-$|Z2PUzWD3rzf&F00 z@S&0WCn!Yyq^5J7Cv!TL&S5>Tk;fdSO`Yb%{6bQPev@G%24Oa(xudNqHGg&>YuJ>- zA{8WAoHw725=>QhByrdj#ry2pWhE>Hq^4F$V-_u`+*zYYPcEmu+04eySAV}+=EinQ zx(u~hx=Rd(_x#c4_oR%FIB2!H)Nxd)EwSih9S^_yw4#NTPU39n^trWmTgJGVBBQhZ zT~Zc$<$=pGynSg%eO-JtCbm-6)agH}lbLpg0oB8(V@h|Z@qkWhBTSk+aJ59ZkG2Fr zq^z{7EBb!vPijU>v}d8y8(fHjIjjcH{5a8}Sl4Yq;zlNqNokpN37rVD>Ldni3>kWo z=ahF_2EEG>Jukpk#)d(cCS8Xzy2C}GwxrOh&u(KDV{*{yK&?p}hYF~?Ikbdd)4d@G z%W2YP{WytJT@KV@#5fb>fSmSdUB$>O7MUqLQlJL40J6%(7)}F|tYUIv7^GLBh9@FY5`pDBH+BBiBH4z=PO6lz+s3CFc!CA%uvIrhE6<08xpNMyr@`9ow$F7=zN zbLr#=4B6DUbO#klLzCAT4Tc+oj%F-8Ls_!!cNDl#bRQgjTEkR6gNDgITGeXEs3Qc1Gvf7fq-rHsH&VNgWViknr``yPR~B-Ndp$&wcQX>UuFL;{I@ zaSYw7TOw=+8Qi|4>xV|G(^E6s(9>T&zRx26?nGV&N}c=zk;!4C8JfaSCj@0t6_(r? z_H=Ta^tOQvPpOP~azB!(;-Tpw4#PbfTcXF7BAM7knb^SkNv5|zc@V{ita*d#^u&jp zj{FPLe(*JJ$B_Y@$L#X&0DOF&FGr~VFLoo#;%0%Q@UCnA{1(`sgk7kQfIU7Oi0q~lnd2fm*HBzt z$zV_kj|qCwR}3UF>%>xHVhAWtzKi+;yF!nxKJV8rOg~-n5oH}74(cQfB{bFNET{NO zOMwxS$*Qx|dRl@SHgV<@-z=Q=!=}nfd;)bAyyDWsD3VM&ia2q6K)EGo`|)4V59?#gnKOOFr_@rQX4(%65EM*ZHX(L(vn7t1o-8$}h=!x)kV9eLodT&usnL{-L2?meLF^1bq8a1=_}x`Gy;tCnTI+6OWIy?5o1 zu-4)*PPLSOW$zvBORRr#IM7GYEtZRk9d#5S(X`bGh*2LbYZct|j_6r7uBSDO$;35d zJz*ymRz>8l0hCX70kNyEwT0Pc*Kbh7L)^h8#yAk0(A%<+wapsokNZj`uf6+yxA2sl zCj$2>?8fFZ*LWKbb+QQ5*i-_4tNpWWA^|{90Yl7+E?i|Ha-Jb@Ql2w+1=!r@4X%R$ z5!h<-eO1Z$iF>YQ(?%EN=w<`0!>u9&v6CdmtMD^1{*b|W_g1K7H2`hK?SzY{g9iBi zXD@Np@oxn2)HT)ZhJikALzFt)6iNK&$D~R4a4RJNWlaScbgD048BT^$7l3goE{KT| zW^HwJ==6BR&?7l}76PpBp-*#HiF)wL*nFoab*(OjjW5sSYNdH}Oyx;K?f4>wsg((k zidsE2B>pp;63<$~twrOGYONAd$4vRQOL{HNYT&p$!bMn)1+irP_?-hl-oKsZi2sxo zAF(yhnq4NZF%@)CpI@!Uce!)4UK&M8iRya0D7CQYlAd z&~&nF%liJ*&^QBkJQ)YYxcg67LL@->;Q8FVBGcPD#r?uCz>^oR4fW)y-#K_N=DU!j zyDK5jUB4AO9(!p9<8@~&#$jOfu)z;6Qbfr?@MerZW*EZ5z?9Q(!*Q5Z08d%P*T+Ie zh}p8N;u8r0c*;r0slVLE;ue?Gy&n)je_GxmmISQES2 zB}U4Jtge_2#s4Eh=#GE~4Grm5g~A*8+EV>s2c~U)W{HYEm2iukdMz5r|27^Sj-k-- zRAJ|or!uSaj{^(4EbGbpn-BaV$laXgk_cJtxpk#J_a(UPP=Ie1!ZB3=eTX#GD%^%{ z30~puzW~+8CntGa(pKjB2F-9XRk9vGe6PgjZ>k$*^q~Sbn=#iMJRuUO(=L3D5Zh9ZGk(w1(;ZRp@9e?C@cunHR1y_H81t_h@vR|->=H-VdXpU&cJ*t>>)Ux< zzIMlRx@c7iQ`OhaF`=5s2bvW$tBaQl7I(*z5h=1Gu_X zlioGpOZmGHZr`DhPF5NREEACgBtw$JpIIkG3j8t38!()jxj zcxZTA)C_$jMNd|R-$^wmWTJmUdhf^-pAteak`qsG-Rd3vyJ-ed`qIp7pkTGrA3g8l z{os^mluc_#McwQsxb2;>uXlTPi~$Qlwq#Ul{hCj(oS(Z6_aY=zemB z9nN03(G~RShP|K26QEi)#h}UIigDc?tGkK5%mfWz4D3rn7CT}w4=afCMsUF3F8@gK ztNa!B8_ZwTxLzrCrLr+`g1Vi@!Vp}CSk(zM5>2~(eQ?f!0W0A{BH@_bbM^~;XRSRzVXC0v7x+JHYIb-JWc-c$#6z@oUN-)!X`Eh&>*-O_TOC%(I+9a(j zaBNWd)G}ftR;CvTp=wvgT!dIiR&$ebZJ?7~y&x-FW&re2Dv&RVWyu{HiJS=t0f1}2 zff|TEwmJ(g2K!N(DvwrKRg&emnr885iyUDjouVVoQQELVbo(#h3wj7a*-D;GtM75u zcn=-pN|^VkwH=x@0Fn$ynRLJ~oeV_nT!)rhSL*gs_#8BmH@GhRXlk4tyA#L2ABZQF z&@uK>x{~EzIP8I`t;>)1mM9h3PGu1YGItrkQh8@5$xS~s9^kVhYNyC@suK_(vaQVN{1s-B=J=>wt9)2WW^{j&Cynp&`Gqu6;WzhovtxQQD4P#d0 z2WxnNRh<2YUZkJifH}{|8JGh|_SYQDo1qJ>8>Uw?6rW5m1CQZTGB@GjLs46t;7|I< z8RU62;cj4n7uj=~#|~_5A4sWtKp*^8kLt)aZ?q%l$J8Hh+$|tfc}9(XmkFc3vO5;I zk~@5=LZ=-gLSV7eg~eSv02*){j7!~k(XSJ1k~nKO@sx8I$G^M!pE#Z`JEVT<#y64i zQ6yUJK~Gg&T>9J|wZ?-V2p?Eg3;~b8{Mfe>R~kx5ACa3N_Wg&rvGjWotpT`2;Ck(E z;V50d?0|D+TY&E3UK_s4FfVWu6yE)hncfB0@vf)p&&-betj@37U(0W4S^Dw+y5l_Y zmh2+G3pTxtp?p+S`TO$yapC>W;K|-R5p?de6mVzskpeq&9-IRD0n55pbN04SuD;Qk zSy!6v^FGZFfc~1c(I19qiqg{Q`k*@b>bBuhP|94H#6q z-qV--Abxe|;PtvxuVFsXNVvbn=?>dZwG9hkhT9KFM19!Vs%*c5NLqcOj3Rv@7z-B% z{{_6_hI5b4iSHe@3l2#hM>=Aj?AlGw=}*q-C+64Nezy+yzI!Wz1%}rXtIAz#yx;PN ze?des0%O4f!z-RZQO7Mc-05n*`2OwPt@sc)>t%HLnLX)CU%NT)Oz(&IiavgMye&Xn ztVf^;awI&M2y?(gl>2j;xCYuR>c$t2)+TH0?^yXK=SPep5{fctzaQCNIlfbi_Rk`>JnC*`X2-6+ISPU^qItysXGgIA2fgm6F)B-tfksU8 zU}03`vG2dz_3EBls+t)7``~{tJ!WAGOS3uBV!UcaQn)~@KT>proUolLuhy`VA_Aor z>7a~9q5=*!+~|B&x6q@}k-`5-IAN~AU6I-yYFsM;R!%ORT`hn-T>Ho6AD-P?-|)}t zj=qPk(>&*YU`_#YIk^Q186EVE_m*3No9Cey(-t?hdXY`j76vMo8ZDK=ET~*EtK?Fw z+Tk&&iSFU*($|WbGnJIx!joY5L7rR~yYvMwC~YX>R^&tSSe=6>6*xq_NKToJQ_~|T z^o3#xBS=PUPwbf>^%tW-2J{W!B$mlgSH@taImG?YcgwRVrB#MYwL%^)VbD#5wd^^bP97ek1pwX1>j{R>@)~Q7yZN%zf3-7h-=*D7B=Yd>qVX%eRZB8 zu^xlr2H7e1R|{Nh~V{h|h-;t@Gm1jHaJ)Lwoo>IfCJO+@oX4 z2DoL3jzLxAno2^2gS{zbefZ?`BFJJi3WHg2AahC+rV7FKnFxvBoq-w2lEmsO!m5V6 z=yKeoJU5Jr9TW20#3arN8bHwED4_Chhdk}%{@G`;!OEhM;7MEXmThpF%ib!u5~;B;t-58I%mlMaYkU?{-M^(8j7cDpFtv-@t?6OI$a_Q~?W%5Vpq zH;}urOpp|;!!1LT7gRE+@Z4c3)&6qfFJMvKx<$-KB|#~UJwSNq5lSrCP2U z39AFeICDv<6csf>t_+@5m_LgKUPO2wmKw#9f%`|xw0~^ASW22l)X8X7i3*aQpR}Z8 zxeWHp4WYB*{6--7vzfhToxV_aYse-CDhk{aKpeDUNo2aJ12k{q{EK{#C&cF*tz#5OIgMi$NW6;SuRuv!$4(GR z>U+W=rk+DGHv^sgN;m*dcSXgfEKKehOs?ENZ;mZ!_5joJgs}%jM(&xaLR`?H((tS? z7v`mz8|Q{3<%8;_F;B{&#w&l67NfgAgbxhgDX;=jTY}SH{V22-8kOPRvI=$XLpo61 zx_M9igF54quKa?u>wdTZgo78xV&~?NH^c_6ytk>0zCB` z(5~v0ej4_^rlVM=V%?GoP>cL4K)b_kbUyq|Mz{RSQV4(ht@{N7{7v$M-7~f1uaWXm zi0$xQ`hN{GN%a{JC$+_yf%|iqCFeJhMh)G2?IHi>CkvcKRMOqE)YjvNkfpI|%=9pQ zt4XcRo`>v1OuZo%-e}mLHLveG^}He1Oalz86N8#1gR=@h7~w<$3jz=UL-uA8Y#_QH-cV2ARd%0A|m&3is_qbwSe@PeM< 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