From b0d62ba7c41d0f37e7d39df33d1e102a166ffca0 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Fri, 1 Mar 2019 15:16:45 -0500 Subject: [PATCH] Rename references to ara-{server,plugins,clients} back to ara This follows the fusion of the ara-{server,plugins,clients} reporitories into a branch of the ara repository. There are other references to clean up that will require a bit more work (e.g, documentation) so this is a first step. --- .gitreview | 3 +- README.rst | 58 +++++++++++++--------------- ara/clients/offline.py | 7 ---- ara/plugins/callback/ara_default.py | 3 +- doc/source/_static/screenshot.png | Bin 42480 -> 0 bytes doc/source/conf.py | 4 +- setup.cfg | 10 ++--- 7 files changed, 36 insertions(+), 49 deletions(-) delete mode 100644 doc/source/_static/screenshot.png diff --git a/.gitreview b/.gitreview index ce742ee0..66de0a43 100644 --- a/.gitreview +++ b/.gitreview @@ -1,4 +1,5 @@ [gerrit] host=review.openstack.org port=29418 -project=openstack/ara-server.git +project=openstack/ara +defaultbranch=feature/1.0 diff --git a/README.rst b/README.rst index 82fe7b60..def226a5 100644 --- a/README.rst +++ b/README.rst @@ -1,21 +1,17 @@ -ara-server -========== +ara +=== .. image:: doc/source/_static/ara-with-icon.png ARA Records Ansible playbook runs and makes the recorded data available and intuitive for users and systems. -ara-server is a modern python 3 application built with the latest releases of -`Django `_ and `django-rest-framework `_. +The project provides several distinct components in order to make this happen: -``ara-server`` is the component from ARA that manages the REST API and the database. - -.. image:: doc/source/_static/screenshot.png - -- For the ARA Ansible callback plugin or the ``ara_record`` action module, look at `ara-plugins `_ -- For the ARA REST API clients, look at `ara-clients `_ -- For the ARA web interface, look at `ara-web `_ +- An API server for sending and querying data relative to playbook execution results +- An API client library for communicating with the API +- An Ansible callback plugin to record events as they happen throughout the execution +- An Ansible action module to associate arbitrary key/values to your playbook reports Quickstart ========== @@ -26,9 +22,11 @@ Here's how you can get started from scratch with default settings:: python3 -m venv ~/.ara/venv # Install Ansible and the required ARA projects - ~/.ara/venv/bin/pip install ansible ara-server ara-clients ara-plugins + ~/.ara/venv/bin/pip install ansible + ~/.ara/venv/bin/pip install git+https://github.com/openstack/ara@feature/1.0 - # Tell Ansible to use the ARA callback plugin from ara-plugins + # Tell Ansible to use the ARA callback plugin + # "python -m ara.plugins" provides the path to the ARA plugins directory export ANSIBLE_CALLBACK_PLUGINS="$(~/.ara/venv/bin/python -m ara.plugins)/callback" # Run your playbook as your normally would @@ -36,11 +34,9 @@ Here's how you can get started from scratch with default settings:: The data is saved in real time during the Ansible playbook execution. -What happened behind the scenes is that the ARA Ansible callback plugin -(provided by ``ara-plugins``) used the offline API client -(provided by ``ara-clients``) to send your data to the ``ara-server`` API which -then saved it to a database located by default at -``~/.ara/server/ansible.sqlite``. +What happened behind the scenes is that the ARA Ansible callback plugin used +the offline API client to send the data to the API which then saved it to a +database located by default at ``~/.ara/server/ansible.sqlite``. You're now ready to start poking at the API with the built-in API clients ! @@ -50,8 +46,8 @@ If you'd like to have the ARA web reporting interface, take a look at Documentation ============= -Documentation for installing, configuring, running and using ara-server is -available on `readthedocs.io `_. +Documentation for installing, configuring, running and using ara is +available on `readthedocs.io `_. Community and getting help ========================== @@ -81,8 +77,9 @@ Development **TL;DR**: Using tox is convenient for the time being:: # Retrieve the source - git clone https://github.com/openstack/ara-server - cd ara-server + git clone https://github.com/openstack/ara + cd ara + git checkout feature/1.0 # Install tox from pip or from your distro packages pip install tox @@ -98,30 +95,29 @@ Development # Build docs tox -e docs -Authors and contributors -======================== +Contributors +============ -ARA was created by David Moreau Simard (@dmsimard) and contributors can be -found on GitHub_. +See contributors on GitHub_. -.. _GitHub: https://github.com/openstack/ara-server/graphs/contributors +.. _GitHub: https://github.com/openstack/ara/graphs/contributors Copyright ========= :: - Copyright (c) 2018 Red Hat, Inc. + Copyright (c) 2019 Red Hat, Inc. - ARA is free software: you can redistribute it and/or modify + ARA Records Ansible is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - ARA is distributed in the hope that it will be useful, + ARA Records Ansible is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with ARA. If not, see . \ No newline at end of file + along with ARA Records Ansible. If not, see . \ No newline at end of file diff --git a/ara/clients/offline.py b/ara/clients/offline.py index 3c0d92df..d1cbbdab 100644 --- a/ara/clients/offline.py +++ b/ara/clients/offline.py @@ -32,13 +32,6 @@ class AraOfflineClient(AraHttpClient): def __init__(self): self.log = logging.getLogger(__name__) - # Validate that ara-server is available before letting Django attempt to - # import it - try: - import ara.server # noqa - except ImportError: - raise ImportError("AraOfflineClient requires ara-server to be installed.") - from django import setup as django_setup from django.core.management import execute_from_command_line diff --git a/ara/plugins/callback/ara_default.py b/ara/plugins/callback/ara_default.py index 513f6c31..405c3e35 100644 --- a/ara/plugins/callback/ara_default.py +++ b/ara/plugins/callback/ara_default.py @@ -49,8 +49,7 @@ DOCUMENTATION = """ callback: ara callback_type: notification requirements: - - ara-plugins - - ara-server (when using the offline API client) + - ara short_description: Sends playbook execution data to the ARA API internally or over HTTP description: - Sends playbook execution data to the ARA API internally or over HTTP diff --git a/doc/source/_static/screenshot.png b/doc/source/_static/screenshot.png deleted file mode 100644 index ba18a2a31c8865af6d04e5af7df7fcc4c295fd39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42480 zcmcG$1yoh7*01?f^iI>Z1erCX#0M5LrcLXhr8LO@DH1VKPbP+GdB1wl%>LAtx) zTj%%x-}}Y5-}~P2j&U810f)oc``J&dHP@VT5u&UlgO5XrgCGdLoUEh@f}j&22-?LJ zO!x`r@!yB=<&uMhoaz<$=XvFMFucC*D5dH6)W+1&#n9daF|)R@GGTKtwl^`cb}+Yb z+`y<4MG$&KPV#}O>!;OmHyzcvbF9s-yLgQS{=Rn^8D}uF%*#_|F!R2e#J@0o#`kEn zWOQwy)4Fun{^a9$0z1Ox1f6i)+}s*!UtwS|-n;j`&GD&<%4XkVF*GD6Cx?iV^36nzM`KS9F-gd!=H_Nu z1qI2MFYn@EVlXl>aoJA&F#VPA_N}kJ_fbZ@m&(_x(YGE;i;E+9x>c_+un4#lCX)M~ zJ{AcqFX#WnZ#Sbv9vJ*HbwtEB%jsy_grR1nBHyFWlm2$r>hih`lqEa!Ea5ktc2#*9)HtAoaWlEUA=aVCr)o%P^Z8E?bD}E zZ($^sgLw~bMyGfjtW$`%bDy4_6s93;1S896&SXnlX@Dd+Q_L`^L%j66JQLxb?>yBm{qZEbDk?t9;!4H_65V<3lT z2a_rN7F5F0DazuReIH{c*3wn(;9))t{k?Wu%i&B?GO?Zpm!9%na&n|`YlLA-*mVkF zS5EJXGZzHk#qiRlOZ0GOc6Ro+vNvwuy^C75ckkW>7|;Js#4XVZ@90nnyM7;YU|^uz zoEvV-qLd{3V*Bm(-ky}ECdJs;*ju=6TpR@+6)&Dv?!XP-t?liGU}C1J`T5t&%NBqC z{+(LvNxRL)X4PMknVyayumD<)-UsXBPjq#4Ib0D7zmkFi&hql|;xEC7@AdnppC2cS zBEGkhT+uc1bn0PSaoJ1=!zP#=t8jqRfFLhNOYwcnJ!0U-Ptv3xFh*T*(pFUs2oAoo zyV!#Py9*|W-*J&>*S*HJHaeQLp|P>2#=}MP*)s-KR$Q~+pXxgk_|TA@g{~m^jE4En zgg^&aH%@~e2(_pu#lr7I4CHo<{9Wx*JaP`bCY!o5%pcVr6MyywGgQ8E!dPT)kf4S@ z8UCfDEFgF>V$s(BHYq9TlP6DJ(ZXhOSCEyxV*2}22t58LQ7=lkNI*#m&zHx^1cZcy z(Z)5^)o|`#g_3g^U7Vl&?CNUObr}!r?pB_r5EB#YND`rfM}Senxx_Z@O2T(>afvQ= z-&+oZBiiu$HvtT=u|Hd5dTuUIDwM2#c(_7sFjtiY4Y4Sxlv;?5jeW=-YrNQ<^7hwC zYapCB=KYPy$#3`2e}s_UBBG+gMTROIZW$RF1$eQ<;M_O+Eoo?&vMEmHkPoMT7!LAm zYve5KLR)9&met`RE}wHx#)~zr)FpY8ZF3kwTLi}`aC zlaG#uyUYE!RW2LSMnHu-mv2r`*?Eaev%5`6=H_gjoU9x#B4~t` z!%eczOzuRtDU`;>#C+tAp~Az2*oa-%tE;1fI7cH!%48Y>?OM*ij)_v}R)e%^Mugi?f597}S=RFJI<~pGbKa^fo%$ ze`dzWbFW|H3LaiSaxxt{I(onktflSwsoN(ppNX7%rK-=KJ*x@IjPp>_)HJ{6T2#uu z9C4kC0uKVkwcjPBrLQ9+2?^*#U)t+`%g!dIql@fGlWClopoNsxZBZhDOfM~A*XTtS znROYpzrSN^Z!ckI#|88BHZc)DQ3;Ejoczf_b;=5s^<~1Oq@>`82x~|2yTnh-dKoaT z#K;H2vPd6jXlOJxHe$dQwRLd`3JQ`*Lz8(}x4SIbZJ{k_?PIH1=C@DDQCA z>OOdY2C43|%GdZrF8h;H)Cw`_UR%?(ah7-ZYcBvx_ckHHavN6^PE|!k1;5uZH$=>!2mYAT zO(CRKyh5MX^LMq3*3};UAxIatn~_Z0Q>UWVtMjIL_3BkYQIUUaEIG`!vYuW%y7w@|)zq$e!+}Gco9XFk3QhwgPp5)$SuiA6FrI*19P*QRh6>Ly zXF+MHG-RBanHk&N#V3YU0zRu$Dkrvf&dy}gs~9|WT9%ot=tRe7u$7l%I-8p>tEs8w zQd+)^ib9(j$k*cvlV2>L3fea%O#d#z`yTSbJiJiuF6*}$8|snfTYAzLTcGz2LnX= zJ2#gCiA!znYGd!gH-?y)7}>{OjPQF=y7w_GB{W;O=tkUCtqL8kTO|^U8c-> zd}?6<%fH@N-{-8PXMW1h4?U~jB8-v;hk$^f;YXQXjeE+sZ#cEJwX#Y|)&-N544D3C zG7;4E9Ut%8ZPXkv-noN4Ug_iyDF8xcKywbPMFg$Lo2rdkDhQ5ZGqbbs)Tr!25#FNC zp{64=pSI53sHNE1fLNIFPz$>f?aX&JLjI5X@ZmLVBiQxzkO^x%4qhwVZ2X-lq^%}h zc-JeR(g844N1_lpB(nMi8#Q}eF3o=aQ`zD2u z67{|IuEB3(`uO-5TKV_(s_0ZX;};edu8BGou&t{-w70k49Cw*C?1g0t>NUAlaEe7GdB zvwMJ}57t%M+B&Z-{t_f{*WDhOLYqlZom$Td#cgIr#^oHrKNP_&f7X1gaZxb!&)26A zG4LyN2p}FRBne+PF)=B3UeijLSCo|ebKR-@8HLmE$VjSwowu!n!~JJ??Y*gKXSpV7C*<9;&LaCF{^NyOD+Q7^#2#!Dd z9*!N>;NrI>I0r+cqb_mV zj{T0BU2D+ePs7lCZyryg<|aBwA7xg3++PM!zH`Rc~ZT-ZC`zH ze&Tw5v|wmvreSjd#ZpjHlVr3NFE20D2UrltrdC(SmcL{8)*JXrG7^_8V#32{*tMbu zvufmtrzq1iGhc?RDxcAtvjcgU)BDu*_SHAik=OZc>0837Zh3Otxr3?}wg501E%j#P zvI`+EhYHZrWFn=NmETJB!jmp5tjm(W*2|ZXkU(#Vput4|(r}*Wu(Gm3jq{}qk@%{b zs$FK?PzTpBhNJYeqXXvF(&;E9IQV>ZT^3i;!U7@~3lTMS*x$d;n_63$Zrr$pyoIPF z;;~Q9$w_2qXNUMgY*t9%#m5OmhXF&SX;qAy#s#n7zr9;0bL{)~^n!wvfGd?*V&Js4 zK+0u^kxv+}gVOQu{QOL2vbO{r-+9>^%4cv=;2q8<*w9C}6}WC0p$3MkAhu>( z(LN8KMG9|U85OmV4iLxtP2_fS$wF@M~sAoM4^QgNC8rS zOAQN(3A_v}Eb`_L%;lk81az)g>gMW7&%%O(ynXi$9qPu6N3n27C~0YF0rj90Q1kmj zz~rq;Mji3Iag5-R^-w65K37*$%V&@P;73)oMB+c6-*a_$$60W7b9=xNlL{Qg`uck3 zyxj?XJH))zi5jXP0-A=uZP8DZl@UHZzG%MiJ;=%saI&(p%$@7P!^4@s0cVocXK{ec zw8yX_zEJBWyyW2EkO4f9wjg(dgaQww=4H3jd>xHf~%(M>V6Z`j!HQsjpwZuKZOM{&%k5Vq`oniiWsRs%`r9>(|>H9OR}tf3|mbQ5964 zUdg~N(R_D{L3wuI-9Y!E6+~n;kGtU zQV@DkQCe8Uo8!18e*XS;+kfQ(0s;VI84eW~4%K=I6>G5_?=Jb@dHSW8Umt;p?O$*3 zWA0ZhWYPe@vy8BH6L_usRK7O7Wq3$LOG|*jCR1F;@&!0UE#iI^_B@o3HfqCAtPA>$ z#C`t$odkwJlJ-;SY~T{nyzHY#jr(h(h4yppyq!VtOA7tYeF>!EnMu(S@b0{HC#cG zjDa0mmqmQZ%Rc>hHMqfhGRBMD323KtWZ%q?oAQa4)*DD1r>8qznuSJ}Y2E%3KY#vw zY$>%w9x}_j=;)|VpYZ(aZ8Jk3{;|G?BTpa0y6(tTc_So-r}ulPmZ!I~;hpsDfii`& zVcBc)S7Sbe3bxL$5%u@?4*@w?vxbe0Eh{JYs;;gsqo_J9UFAh|r?7Myu~u&B#6F5} z8vbrF^xXuv68OpwQZMhrkEErfE+bQrfeH!>D;k*@E$F2EiAi1znp19=-ypdYmV5ZX zh#TEtCC{8BF^Cr$#f=s~VJM%If!O@N0PMckoKxcm9}A;@ot zl8;T6CqZvhsz3BUbJ$bM?Y`nDEvA>uWY4qy@8*22B?FaMRw6(PxTU)VEg#qL~Koz%E zLn9)jfmf*d08u5YT?!!jNX|Ut_T_io{MAl|;(;`1yza zdRWDxFp8OB4;NA0`EmB9TW`9YGK=Mx9!Y6wqm_YN#23hIgSqyYx4)>mw9WYD!XSTMs=G>iSlipNfr<)kQ1CM84 zvOyM$-sm;OG=5Q{1&JP4CX!Z4ULJ@Q90Mz>aO?3(24HeYZz-V)|IXj~+5JYa-Pz!&yS%lhq<%fNze5hK8cv1W;xGkBHjEF#Ut=tS>y^iEd7c2n$n+>;r+N zS!AkMqy7fU8*^?-paiE|>3o_B3>ynfJL65w95n?+7)e?Ov|gJ;qZ5z(x-81hl0N^! z_U0WrDnjOm8eW$B^|uHo1EQujMqj=x|bX^i_N1l*s~RNDjnqxb5y=| z=j+#DMxN{q>K6j<>uz}$#cQLgw>5MGuHF2O`B8!0taLPcTIK%gus`3VXOY@cI0e@~ z0JDM`4wTG49B13D#10IexDIeFn%xRP z(=0zvx3yN1J6oD%yVFP{W~OlcZ-~f35oJx@wJ0wxfpVdVQK!q;!xpamEL%-~#XT#z z@j?fZ#Y<9VIri3;p8G3CMvB{25WsRX@n~Rhm{AFH571Fv+@pRZD$>7L^OZGUHT2O^ zGg~EJVt6w;6tLv5A@j@HjX*x(eK~|6{GNxL0LDAC_@*F!G%NsOG3ZH^TI|ate17k` zqaY1L_8=%UG&Ca(fPT1wkKYU;&Rx4_WI&Re^_T)cSkLbJ-*D!UIC8~edzt(PI3y^GTY zF$tv5pdLLBh0KG8N+D#w_!1w))Xt~4GZ$UL;xIAZ`5vXo`;~Cw=;)2D=L@%M zc?*;A8BTkqccd>@8Y+mncvc@!`o_~KyJcumgmDTCsF?64s05pR*=_7O)Oo)`N$bH2 zdzVg1zj^vl2l>&Nij#9JNN{o?N{lwXX18bhwfs#b#<}|e^7p;PRxCc31ZzisLI(fG zw~-sk*sax3B3nl`at&K$lL?g;%W|hROE2%<3%(~Ha2?V{!vRci36x<0T>#*K9w3Wp zg{W9)+DW;)GDrxJ2>Gmho71=j&+}+57V;zp0zf)PyDaarMvpUO1G~LtwU-ms*CD); z4>VuF#kF+Q4Fk>!HKT%k0PUxNC2bYEIC^ZT4b=k>(*yHM#8LbZ0>bE~ zUODw>1Y)`5+9%Q`)5bmuFNwN9@<2rZu3fBoa^ot zAJ2(czGgL~B_~Te+ewACk0iZUzZZt%*mztss8DI^8-MI=ZFx6Bx3lJ9#!C6!Ui2qr zdxqVgAK(*w-r3oC2%I*NIY=E?PcxNxSiQ{5%!Id^NW<3;4h~wQAB%if`$EADt` zX;Ge@o=WOS{X&stjj!=Zog#pK^1F;%0NMn|OZ}tC2??Q4aNlbH?s*>+Rh1 zV4N)p9}XE$r@JNN?aH})Q)lBEn>{mzhf6P|{p-?w1QT8bwd_k2qGxfm)scVauM0m-1mJuj3;_njmE3Z7v z&C0sX@UNu)=1qszwe5N=x~ry++@>SNFNVtPnC{)bkA`q@ajlVv7o$>3;q$h4()mj; zV-gzvz?(mNHNX@p><3jVB|=0_j#Z<_QT%5tN$=^w&riF-vcivVQT>hKojB0ddU6?7 zQSUd)^z_*eb1`Agk;nWk2A66DqF$eo7g5PIZ<`>#eR7xiz1hgKO?O-0u$iqSmN^ez z(Z~O;^z2vE`?UHmjcr3NDO-i4G=XJBICFv`EGxyL3KWa4N(k|YYsq6Z z40{vmuqVx4yBnKkxzrSY!LP5A`42BZt;ZF&jF`RBvY?MC6Rv9$QDaZn z>(sG`fL8;>2Ti#zgVSyMuXJR1SXdKeFTBsDXc<6wCGc3Hn7>Y1rsy_MzF962#d7HL zW*+7aj8$>^#$P8WF$PElMQWUg2e0Vi6b2rRVDZG3M&8)6&+25IPxMng%fNtuE6F8V zY${Km5(6cC6ZXIBaPzfA)5$|Z2B8dUdDiRqaBXV37x!Pe3ovV$XKU4BDm`jfUTM_N zHySN6CgS>$R)6O4+sv@*=SIcvHb0>G|wW-dFXU*3NN9GNZh5kVq^ci>{jpQbiT$)hSROJH`#9IC_(=X+Ha ztMA!pS#I5f?C95MXspx`!}WOdiHWk*dSHKxe!pOIm>;r z#%1`^b=lpYSZ>(DQ2Qyy-bglHi8Yy;!Aj57YR(!uz4J+JRvaw%5##fpNv^Z4@xvzY z%Vtk;?07SX^f~APu`xshJ&~vn8kjZp!3Dn75}|SxN*sUAbi);fSA(qy8An)L5yWln zN9BjCoE%Ve$1Qq$EJ}hSBl%8FQ7k@COA`|lS=tem$tL%%tFm0{xMMcHcNMB@#ou46 z>`k1UoQjrsO6u0RW&P{B{}z^<0Ef=yw5*C!e+Wf(iGUOSS1JC=Jyffo;QJ*DvR@W? z!X==O2Vi-Fz-s$@ZRw*&7uBQulx1p^^@mzJlXQKCf;4Q2U((6n&&qnTC%st? zy{7Fgc!4uO8O$?I&YF_0JNS ze9y!l;5nSwg;5Nq@x(K`M2XWrl|8!I;jUCoy_PS^f+ z^3?Iop`;Kp7m}6kl!qu3BF87L)}LEZ>Rv+&!l7w+42Tj}MYB~|qPbW0Cx6Xt->jlx zVP#Di(?57HtV;e`DKon)-{<1|-y9F*WS4d7`L1Ledxi0j#3h#Z;~bKg^Jb?O7jJ)Z z@Nl1>*lFpt%<_iHuv4i_-C^%#-s|NG=DTW1dGWxU?uni<(_Xka^7D%FqU+N=mU4e^ z9RNxpcPig|oa+;lUKvM{>ju|ZvhfcG^EDJ(Fw^H_rptZ_Xx9B@_x#R*hCQ57@J^1) z=`H!Oo4`~jO)RBi{+;mg=+a94WE$C~g-HC?!Cx|lvne;y|5{AVrZ)6$p~?R4p)Zbo z!76F&f178-B6^Q;{k^W;M+tfc>8CymHiO^T!$1|qPR1gn4GX8@i+7rMNGNh6>@b0eTbP==uu+u9YWSbI%_ntadPt`4ZUxgIs6BJwN~}pKVUTq_;?x25Kz)^pNz>x z-~8wa;nOF&)#q$)ut8gt3W|8z^e+?fRBZEeDr>pc zjU`!J(NcNsdoO;5hRb-whjbaB!)K7x^@p&#@z~ktBURQWYO3Ty8{u(RYLZj(AjF}N zO^2n->%r-ybZp%`R95Y#Pf#izcT{8E^>G(tQ+p%on!^~6SdW1?nj z`xnP7lqNwv=1}HhCVA~YlLfMDb(j<^0(%3Mn}DOKY^r;v9NSSWdjB^y*OlC|yYFa~ z@ADV!Gn+n&Wp9S4gNAU_?7rKyCION%Uh5A)vJ)dHa|+7J$P-^DBqVJ9K=YmSKEW5% zJv(T5l%e9eS&wy-jSQIHJyanTvXJCK0GGO^`(b|oY#GsICe}j*_0KcfweFjC{P5VQ zG5g;AzTQCG!os2^=nM==1#Ua0(P;5yuwwC2eF-Qjz5;|bluQ}LBr{^7BtlF){w!6S zo?X8-45f`uGBGh}e{y^NJbkm_Cb-~$)Jzb5Zvn=Y>a+dPI37zf@8hLgI_0)#pa27V z@(Pr0uo`iJbw}xbe>dpA7?^lOrh+KzoRIVC53hr9jg27?`oTg&ak9VG2$lZZPoKh4 zQyDdZ%joaF1_fmBn>Y7P0`-8iq!9Jw2S&JmdG`Z{J^?7ci;L#qrUIh2zOyqNgFPhp z{L+mU^)PSC>_8oE%J6PBpy7@8SJH(>8t#=mdgk)}|JJ0AK0J8rgTd-CI8T^P_Em*^ z>a;Qtf8BE3+o|8Zy?X~1Ki(?>yJs6(x)S#<;W!Y2IQ z=RhU@K|iaewlnX1IW1&XRs2|R{>u7v*yOoDcAK$gSMDGfMgYA4X|=6Hj-sI{82~!G z^srsr`&L4sAK_SOrV5aW@yjc|A&%>7{Df40X%)KKwWm`|6=5Z zfi6P9)Vojfzxy!;Xpn9_T-t#Ib?Qm@j0 zdkOQo$+aIX(r8pv%;_p}zvMwImUMw5E9q82re(!kT|E|H=ALkg$jwda?XS6l!WU=U z#4v4@JMF(pI4Qyw2RezxsT5~H3-nWI1OHfXR<<%rZc4xU8$lUI1h6TCVg6;{=VC!y zlZ<@v_rE>q+okgSJUsZxKDB7zBn06x7Mo5;6JrAKQUvOwKwL#VX(hi#brIlA3AriKWdZa;qqAcbdw}B zLk?1q-rty*8L|jY8Q{t%Ja-hc`Y9DYk_3vKA7ViHh$edUSDlCmM37qwF*VHk00XG?Z^Zasl}{v|Wsi2?K{Uu$i{HOL&JHz$x21ePH!UtxnKlIa*P- z4NZqzKF4-4_M4x9DKC1FnxZqzyu%|f?=SN1~WAvdIYS8Y8zv4 zZ#!^pt&Wz_VPNjsY{q?|2$%j;P zz?ul`qyFc93zP%I03ZkA3sy>klLI>OXCEqOy3LXA3r;l{ zt;sfPZFMzzMTJ0vSdE@dR5hu})2W%o0Bfi1H4rc?**jzsrG08+dFOD-|9~O7zeyfA<0gPUiu*FsN`9&=fshg1_jj91 zEJLo~QVpb@f)fH0g8T9UwnCL zir%xdsE8E(^M`pp=a-kj@bcoavxBZyk%Nv0S|d)#574}AmwK6}4;da}mht=E&dw6=-Qyl3 z)$`YXv(%-hF7nGD-?v{S^jPl@ zKhyB7L`ngPQ^X?D(BDryHy6`w&O*N}qJw((6$PHOIrm&vRyVx&W9a0n=yRvAw-L;5eJe3eADSiQIz24oL?%!V$3zLK-|IwurasOqN$yGy>)UbND zY(CiE({6l+X01|C%k6GPny!WnYh;FF@yfFKT;cl&XI+|H;SWZ?oeD4i7rh=@)$g4i zJivCWWTC**`4tcIbl>9TofQyOG@tRD*|YVa1?bs`tE;2Ee0jB?@QDP=T0DjI1di)BW1pu=Io+x`N$2&ej9M6hAMf04ea)c$n3D?O()<+j8h*uAboA5U<2 zxRt&BQ|S441(t5%-ENW`&8@3??n}%-{!7YSSlEw!U`vQfN{Rq?Qhj6NLq`!3D5K=8 zdINiCUs_py=(D!|stAnw=}xi@l6BNy2h`xtIeSza%hD1bf_Qs-BZ&TF65_iu*k@ps zYwkD+wj-)e4nQLafS*eU1wW_kkf@zeC)d}nclaIV@op-83V>FIk6xW{`e~#RO2s{Q zItQ;1(gpgQ&Rz@6c&4uY8VDKBvpsc09L%-P7C?JT+FqpQE*x+LjYeE8>ZU zfDs9D40*tSKNxj+D)R3DNrm`A@r;JB>s2Gj=D`LV^?ir=ao6cUanN%3lvwav~&Nih>j*5yvVN($Ip<&_hcqJeCfdSkB@E7F3 zdlFF!UWH`RR898;*ERi$xs6eYYgu8&s{(VS(s zi9bPsn7m&cH)6oL?O*Q;^|9yvaArf@q|XHn47Tn9tmR&Xa5b=(H^%eWJV;UIuFB^E zyQ1Y_Eg|&Kyqv7XzxVNKe%<+NPKu&D=0_jIp(SRv1;0~?5CWG4$NXJ3dM?UvX|9lo z@+b@!mjyENH>k{(G&aU~csy{I_4D8gj4@tVPfu5OoOTWsw+NK-2l);w)W>ar)B6>y;;XG7QSRz${?Ed$q~9$U8kt#IdT6)t zvsU7nb=i5L?59Va*4rZ?kjBmXkeS`3r-;P_R!Wb#ftkjR#J5{Xnh}AxbWPt)0MjWw zJsBC@?m94juFvsOiwnQ5>8A0pnTOqBcwoW1e(tfR99=vtD$CQTcz8$% z+oxXEoxch(MQez~>V(N_s)Vp#oNvo_hE^Zv4*BZqRdhYqe|j{0`|siU;?Z*S>7fN^CH(yP zGiH~i#U!}kAjc3gFdE%muP`HU-k7+I#PMy2PScQ=7#Vjl3VUAVj*l-hYH4mpeGeX3 z?V@(N_8B%BwQ-a>z}#-LsT9BnB)sTtgq`09C{v|w-AsI4Lc>e6)~vCIxo>h9`N zC>TbeoNH?Ogc5GRDA|*%&6m=TI+Wn9S65dzor{fAyF#boF?7eK<|MW5G2ac-Ydo&i zrQaykx4)2&n=5)(T40a`5dJ7@Wl#7tI6h2pPOEhIE7QYva|T~^@f-2f5}tO3+u-n9 zs-uj>`Okg{v$+~?u?`&l{l6_8_!5D$7&Yyv5kQL^DwTnMVy5FG1q`c5ue;|h^rwmE zs?S1HtKXbvnp$6f<&Wjl7{wISlNQ7QeKHZyrCGh%u;aRvQO9uqK51>ONZ`&x2~5MT zBrnqijg;)yiQ!8aeG}5Ja1xh#CqXyL%rlwkZeDRUJuV>AO%OokX$8tZq?V&v<(!`ZMnX4dGGW=vBsLtF5hLLH>VZ(2RmjeWmlkd}olo;s_tIdU-&Cgxn2OYR?#KC@i4CaJX zZcxcFX$6G_xzmIM`nh|cZHejj?JHbdnZVJ@l~;M7T)YT$p>(|_z3(5Ih%f((Rk8Fd ztK+6!33)A{j~(j`k{__aH#k1}it4f1%<$b3t5A3&z;rxScPmc5HdFDarUMVp3st`k4oy>z-{+HzhfuLylt=IeO5&e^N_py_V2H5lXFae653y<9J z<#%BxfC4R+UAL*`;5Tt;vZ&X$X0(9NP*w!hK#VA>s`eF6!mc?yK2H7o8OeN{++rLl z@;XvX59{&c#{mJwo;M{P^I<)|n)O6Q?~d^8+56jETz}P-joN~;1dh;t_;HioJZsilXVig|#J>>k)Pzi054ZMQDZZl;D!)oq^rHc9^t?Kt&kN7efH4Fv|q z<37&Jvd@Yw;(sDsG%M_{O?VxMRPX%Og6xgrT%lD5qzVxEu$1pZOcbRB!?of%wBGn9 zCei>i!T~Ls_2l|55d`}F&|u?0Fnb#x?+4fd7*>2aIl0Z99nyBk=>|8TWkS|Q%RV~c zztUr0Tv&VKb9O59=bE6W44O_Wz}kpBu8!)LrmSju50uHS72eqtT*CLvCwCa zh732G@Y@T}_@4>~IGk7Rai*RhiFA0`Rb|)Uf5F>o)gFDEqMRnB9)&r$BhTiL0$Yc< zxUH)lvLXzGrpRp4!VAR)gHhr&>8%Lk&UkH0A#h^*-#0TNBIBio?NR@WqwdcXB)?Pg z37-p$9PI-!*Q2>QRCkkR&9T!Z%z@pu(cxhRFtdRP-DUjRYj7b(bD@lbVCsT0>E4Op zz=g>@b!&luDs?YxeLgJDeaWk3ky^^q|p@N^XKfj;Bq1u8y85- zFDieQRbON2GW9baDLZL{kIJ_w-Y@Wx`lx4!cmALdR5`D(F}Ue^C-tj_Z7t){fk1WUW*s;`E|9F)6;3o zXC70pPS~{aB9^O+HHh|SVi&7U9ahhnO6rZjZcyOUpFyJ+TmD&jO z9>Ba5C_K=PoB!Ju1DI;NW2tET)Zz)9%za zl1{H17#9kY7R7rD#AWPcmmKJ@P^-%05$@g_7X8^pqklKqbn6uG5$-S;tu#UfQqt4$ zN=p?lQX)b^>LX~xW@=C7r$3q{HG;nobTBeN^;fPeqUwp+d>`FFsHDhY7-mBwBaEB{ z9MDU^X*r+(h8aV^WQUuL2T^fx!9Xpg=H%eP1`mQ{1cV1P(v$PM?*?zyhC{WMqjyFL zUJ9?%?O)cYzLN1Ok5ZP-7L+p%z&O~r!2nBW+7TB57Ig+_#Mr1kA%HqX3LH4_J{p){ z9p*b4Z0f-3{gWPAJMf`hZm4qa5$H-D0A+!9n)u7}2h`DKuY=CO@Nj(a#&=fgn?)CG z4%Hn@?RYH|&hGNytKEHg^&X@>Qn-*|4^Tlf(?Hm>&iwdla2moVg03`Javv zcb^UP&eNTr3MC!QAhp7d*k0A2db(QGhGOHj{mgi2e|QKPZ+7;u+J09{O)j%6n)`G# z@2u1Ivvs{lZpd{?n8cclVf$iIbVSv=ZMfNWTkK?WDT)8|ph?ZOYN);CZ-}67Q!D6+9l>HbeXONT#+X{FuKp!3EiG}grXujhXgV$vBvgd+x$JFd0B^(A z_bj~r^ov3utWJAO*F(mrsd1M7X^&saIGicuy_pNCaZo zD`>K>JKrNlz=4ZH#q0TMP|t$~RdKx{*VhSr_s+<3yDgJK(2)Xg3L5C2Y)VBLP)6bW z45N~sb_{a|FYrf(O#^0Pe5FD=cN6WyALfBCTvQ4?BIjFg>Z)VJW4bJrgjN_>!PEe!c9^* zZNv*ZKeoHdSK1>yk0TSxzdglG(m9I}`_g~gGdj8}h;Z_!r4LQVENk88tT8g)FQy|U zvEQxMDcnn}>{VW#?$FupHM1Sgg!ELqcBu&$oZcrO`w-aau!hl?Wy8BUu)8wE>w>q_ zvWs0Mnos`a?n&HAK`k)A9VtV zW)z;XVg&c9Ox7$nNzTf_pTj79qNn#8K-Xe#25Z^4vk;Q(T{$c^vNXJ7&t8>7g@JYK zeVvZq7RgnA6iP;p4yjWfv{mzgjsrGFkT*5&9_hG@?-g70zk#D|ST;Hg&FURa=)mP| z?)KrHUD(_EO>T%yNRc~zwwv7ngCG;4UFr!)bovcz-sVDYjR#>~c`Ao-%h>z|X$dd2 z{s9)9C(1$GXcLe&Fd-K9Aog%%D8u9-!PWPeO-1g-4|>ealcE%|TlS9j`5s9Yny+!( zo>PvBAs*Mp=w`ehcyYF4N;$|U^WLnOAohJxm&&}pe$`H&`S9(SwYtAYu@&<(WC-^+ zvzGM8%z~U=x+0AVH`B8+g{u8`!Gj;;h`MeG?e92PbA2_%z_s28m3COJxWdr%F-tw^ zm8{afZaf=D*|CrFYDt_-#8ouq{G^TVF7j_|hTpwg#`?QFc%ZwlC@YKnnA=t~qp_Ij z{(f(gBcVBze5>RBqf;?4$Hli7A4APoE=|USgX??r;v!b3SHQrRxE(yJhh08;j2s)B zAV~#A&|FABSPvpRp>2Bf_+T7IR#EZt=kjvR68y}Wv<-V#w^_n+Ve3^Tz9iE41dDIA zG%+s~K6jW#-X_a6%J#qUP`KSLw&`6sHu1vs+y)h)ww3_jy?(wGjJ(u1{C*AlVlDjj z*@=_$ns2ob2Z> zfjH${m6(%5tmFKQkG-b&J_3ponrEFbT5oT!p9a~hFucjL8TcCvOjCwGnkhF94zA1A@A zxcA-Odv(E0*P3(vF{wG{d+$gaKd|LGZf>{GX^K2LdlpBUapUIZ)aJS{f3=YQg?*gR zhw8_J>fuUv$Qc6opZ2%2g()Sne{tKHuRd9~0HRP7>JtFMZ}W6H(i|3k$0^*L@bKCZikw7FxW91F^HMl=Eq-G!|Idc_rk*E`0NwX^^Uu@A zh2Cc#>FIxr+uwghHTe4;?IauZq-IuJoYw&{+Qt;w@x|oVhtzefTGQf7$vba)}6( z!=v=fLEO420qd0k4!~oAP!wD_J0V1-Hm7x7L)$l7S(xEid6kmGYul|Fj-ut-6~BoE zjZo|%r-HXt$rr(0v{g%vnT!EMJPk&7=1+ILG~z){9TJ<(DPbjA_}1PoUweLRsptOU z4zx1f8m}cX%a@nArX}?t+uYS`g_gbYbN!N%+!Y2Ts>EAOeG}8tw2b9Y`_g)DdiVC- zcLl}kbR&hxtWFmTw_+hMvOqvr=MQ({QQ5xe_#JEp$#B8*FOua{SM6~hUSS9zdNSGY zc9=hqNa6}H&vkLsPZ%xk`NB&E$v@8#cqtK_)!&X7{mF{baWnB5vo5I2L4vzOkisQ+aF-Mg z!2<*-oT|IX?%k(*cb{|m-v7PNb3ai9RmGZX%{At4yyG3S&MuFQu}Atv#)e2dGY{2M z&L@!rMqZ+JWCNe!Obom=S2`~9eo>lIYM;Xw$WUyD2cVGgyY-ky`a6U{PGCG8xf-0U z@Dax%foB22`hLx7_y4`C^b?{4&|ZW1ZFCv)E0)O5o;9a&V9A2RS3DL7f$Y9}glDA( zP=5DW1-wtFf&E5)4bV}zF1gQ5=1KE#J1l+!tmUuc$d`bfiaftw(9zBrcru&yFR!uQ zjPQI1uokEhcnOvIt-!am`p&G!&W*6tly!w-Tw)6n^)d~m8+73P&p@DHxWf(K`h0Py zZPWUZBb)KLp5Lh+v~Gl~sIBKj$#Vk!k!P2CpUd#ZEm?&7vij5Qr7tDVC@6W9!^ouX zWm>LH7%-S)=@MWtEglCz&TDexv4XHZ4+8eELH^o}B@#WgYd(=n!%M2THR?ZUR1b*G zx3HU|+kGQ+BDPi8!xl$;0z)rKEd%#w2td~a@+x4I&IckQpyS*O?fs3EX4I&{YH!A| zU6=}@Nya~J5i$6k8N`Zk!>+Izuh;SYj(e;OTelg>wP8dk=tEt7hu&-A*Y1shF#zoJ z>?|+dbxHFYv@h`K#&q%UUHM)9ifKKc>lAE1L5J6k+ENfo`PaT{C^YJ?Z!$~aDOCEA z!2-;S+jlmb8ncnPPT$`yUH(Xjt6n$&gy9Tymd3!on6d5y4-U^mK>*|cdA!bcE>=nS ziZHG}IF~+U!~(&g(S#6So|cYLpm!<@c)8hBVN5i!JICJ%rPT7cbte}SNFStCHk*ZS zv{=)!2zGQO1RC0arH4=5{H?^rEJEEk`85!{m8h1|kjvxCmuRC?*~TU< zJp_KPv25qkh$;}D{Kf1x;)j_$j7TZ*(`a*DuFA274xOF39P6KCzem$)W6u%|^mv`Z zZuYO%qgdx_EqQcws1R3H*V`^;k0+!lOu@R&ElXZ)hH&5lrd9cz?RcwZ0KSn`5x6(d zc-QR*yTa%9xJ3takfOxxo0Z!=_*>B1{;k`aydz#yu$rCw2lH@gzC#85fxbrwGukqt z599jfvci^s_5ajhfomWKswYrp>!&i`o=pRHKu>D^Eb>!>W;aR}me|c9I99{L0f=Qi z&9O$OdYxG+uKm814UkJgmcY5A`=lf*%fD+0m>YiF9}dufc)zE_d#t#C!Oe{WKDQ9y zl%&8{?3uJrxe&;!l9fDu=1HgZ0n4?MZ>!a_6;Tt=YX;~D@?-)Ar5O=J1a*(~_mg>g zu{NZ-{9K=}%DTJHzZYY*|Gul=mx3=u0R<6ulB@`HDTE~^;sFaTmgw7pqcks|-|>D^ zECJ5|tgnYlBB2$v0DW4mz+PyUd!c72dQQqGuYfv&0T%h(x~p0x3fS z``cZ*L=FDCeS=ddYoOzJHP6Lkkagx-91U$x_4YWnkxrR@>U}V>D4ijYA#2$iFObv1 z>uo3nZ~=f|&t+dnGC)m8mnKhD0J{Bvc`6~{4m8w%03tEJ=b^l;tgPtpri%$!x1_W* zvbYlZy~D*UZWd95d008@#Ikw$g3(jxLRe{eGEAzZ-I8GAdj;SKd-5Fk?fvt5ODZh z;Kl#lg{c^Q^4zYBCt>B-0wGdLSmL`G{J5Xd=qB(MGw+){|D%N)J*rBMDtr9Oba9n! zoc-%*$kUf#{%&xU*Sep+2t_o%CN3I^LU)t9WluF#!)T7%`D9>LQ@~Y5*S0)$ zTbhFQ*w=<2O4sfE6wBB`uiJ#x@=~yi&4JqeyCTdgY5j*fWKu;!*ITlBY{8);G_&)^ z)AdG7s`yHDITyW@8x!TMlQ6;RQP(Td7ZUXD76>`iL@MzL(jr-Ljmpkc$Hkk;=z1Kp~4#bF1@>LS9`CSevd!G}f~z zU)V1w(L=kBq|DH5;8NJ8@a1RI8{eCJzC}GNHbUN*BM{hBa`P;yq1OoC1ol6GUIon zUhIu2+bg?rXNZRs%iNz`cDh`dS7djjSKnHGw9}-}KB3wedP|6WA-Ef#<*J3bo0gRa zON&!E{}$DVE{i}AZd?9OH z4u@nFGWkfXJS>fcYvO(PIA zStTk*!^z@^(*M*ozrriM=DVCTLDHihFvfn~L_f+%!%0P4gzePug&eEA`~q)AG;5M+ z`vonhGhOSXgbJGi;T8oRZ>?wWLU5&b-q-UZzQEIkEcRumP+3-T18zD3`we8L#pb#Z z;iii5u~q8?sUX?hz7OqOYiS3!!HL#KG7vVS+`R2 z2Ii|t{jtsX4`&$WH5AEa_zu+_|RMZ z&hP0|N*Q8!M?M$ibkf=HS*QPj#KZHr_Ac-?g6y679&;+D^!5|fIpko&v2U;ECfS6j za_c2ki=3xL#~FL>nusD*;^;c)*PF#1SJ%{(xSc2FcbH(O@kXGRu)wiT>${mk zjSe5ZlH`zvI#Q*GXM%<&EiuskRu7cSjSlOu4}!i-v!Ra4UQ^;$Zv62UiyG>@@6YU8LF5C@Z2Ek&44CwT2YuiJjRTK&DVIAEV@)`i_wQ^jqcR25%d za;1Z#vJHh{&?m6bGgJ9KhOy_=14A!=e?icVp{0EMQx>NmtH1?XL@0e0)3|T?eQfWR zPa^#3-YCKg2gOVAGGbwM3K!p+<;9UW27{4^ESGCi1Cs%=2?6`V*=T zXyD&ORAnPm^S^Jr`7DIFU2lLF6A*IgKsL@TTlSGV168p1Eo^Lg(uI>@>(^V^`*WDn z>5HBVj8HFc?}- z!Mwt^@%eEClGBdWKP_D_vA1jZUD2uVGrLqdkNMpcI64n!kXD zkf>jgrWJ>3gzZvdJ`@q)k`^+ENo2PYJG}QWy zwEWOL$+OyIc*Cg-UbvXU&!l>b-EUXsf3duD<5B`~4ZMufyD>ZL!Z{I$?mF%uLws94 zR^HtzQN6 zMRfca1FN#&bPigR@O(A%yo3)=`ZtD`W^`oR`oFsmw$IPFBYzU2w{?W%)+<@ztdC>u zz5b5NnrA!rz&>F({Q6bW-A_A#Fu!vsx2FFW;oBfFiR@9Mcg5E*g4pN)LIlrceUdJ;zs=k#xg(%N!hjSW8?oMcGG>1mAw59wQHn z|NKaFaNU<7O5R80*ESq$IT^gUi9t&>7gP0VVk! zwnh|$%EbqX%KjA8N`Z;qxD2W1oZbggxwf+(d{~z$E^j3;lGJRCfaoHgq!y1OaHf zl{LZ>6Sb+`EV}zznb%G8>%;cao1y$Q%KdV=?GN4f=ot{HbHVVZYgVm>RXn$*Gk`Ql zCuC6g1HW?vHxG?pg)najN{?s zg}spi|o+4A`cHzLfSa?6vx|c*8jhg7fUT zRG-V0yT7;fJ?^<`3=k%CFQ>)B{QTZ^e>B`o+95-H_h$j3i0j>nKr@ys&ceb8Gb9b<18LCj21!i<|7AO+6) zzBH8hYBN4m1IUbpPmx0TovNOD^Z8*MgGZ^|eurp+-3wUFxry1KIKHd}Q{UAl79F$R zD{tZJfaLhADZTvRH2H!2E3cuKDtoB|i_k*2Q7~4PlxG0#adI7Mn%;4pvF2D2K5>)CX|)ajX%RM5 zhT0v%V_~){B;^I4_|prJ3FH=ESoAjF-kpIm>IZ{4zphh%coIquOow9kcG-7q6s2Ge z9_08PmQjxo<8p5ao98%P-dS<%n~}P9nQM__UEBJ6@ahL=Pdo+b_;S8~wAd6%r=iDf zNmMvMHBLBfxp+qUe?Xa`{M@hoK@3?pp!KDAoz*%%;YW*W*StxYM9C^L zzs?Q6=1?d3(TaCX`eGFGA28FeD_pZ|b$D6)dTaZQ-ZAgn+T`_EW5{CsO_K3vw&-Zq zWD~;0DNyPNTOC$xg@E(+v#VrqTP=ez#CW@sbdpCz`i_Sp@8?GX|I=q)ZFnmj1REG_ zGVohTReac|c+}Hhc*$k`u^Xez`CjXSdu?n(B2oG7Fx!+vLiy{Wv4r!{gn1sju)L}Z zr_&EsoVimr5$cV9#nX!&K@1FG-Dqy+)Vdj0fcylFGarDp=MRcB#<|NWT&~v# z8-!^q6*yK{+t}FcH{4#eYe!x!r;Yby{L18#?Bp~_0VxCHJV@Km{@+Pd6`0+BAyI!^ zBff@12{X=Y+gW92>-kn|?=^ zleTgMN!`De&Msq@f~AY?hYJEubA5N)5gUSR4XQt!1;{HO_;tK#C1*X(D5EQp8Q$C0 zGa91Z(altv@$_}x#$SabM>+pMFd9A3yDZdMu9xH5+ICX*+ZK7#4A)#20P|NmBmboE z549ab1QwlXy;n;jl1_~Q>^snCQa5IdDJqcnn@0YaJmerv%EPe{2rtqx4X|$ESE_&m`DNi23E>b1snG+R?PjVBhzMor&V(uO0NS< z&g;uS$GgbaSf65b83-bj?@|S~Sq2GOUmNaYM`$f9^i#O5hNIuTmPx-Y52B+-U7Qk}dM75R>`k@1$&lD9V$iE3+lja$S15u`Stn z3N=Krz65QmBB)9x5jH;w_c>l7j&narci{Ct*Dgn2$^KOsHooIVJgSO9hhm+vs zZ!q=)ULG;EUh(d`xY_prgg^pI->l>d*jA-Pvh~;zV<`cVUi>X z_2j1+w$hdBaIpSxx(417e^?@t+Qh|CwC&OB$QttJhZ%J0 zt`S@w^2PS~9(H0QN38EjDzn$Wf1-}1kloxaj(NZ0z9wC>uIDa{nF!6aOwp0BAGSFRr+Y{zCf zZ~urNFQ@>{0!^DRK;aSl)1Pbl4bS1X-3#?CNcM2%ls~8=j=LdU2#AIS-@GM4*E33?GV_1_{*r-gMua3W}9_K*C_k5TsiyW zwwNyRGzm~^Sp}A8!qcz-WvszWFCv2$d^)nD>S-dm%#>b+p-8UbFB#!^!# z_Ip*4)S!0UUx^y=XTLJ&OJvmj;poy*B2NNadSquVMAW!#QTy2EjA8q4&hA>2*__a1 zeHgbGc-AldPHsJumBxO}^a$G_#aISZO8o*-rRz;XAygb9%2fE4R!?!cv=uA-2jXI|bQEP|siC1AD%Y#0Ugg|C zIyKB8jXPKGJ+E&XQDUFhSU&=s{myd&tx?LzSQuAmOWlL**^I;yo%beQMmR^LI4=JE zgkjJer=9XZ6hDoNWSQ>nS%&R`RZKl5Hye`g9JK3ad~_BY!?tOXkmjP?_BpcHhOXFx z1+sj&BLi_lj?_N>jE(J0MDwoQcOzgaPY2h;gGq$9`fQQ&=(mR@PdI{x`>s$Jjanbv z%`A-#2CF|-;mJ7IE@*v#4(P0^$XJ%|T(|J0VqAQ`?fa1ciT4`=ANcO5)MLuMVej3p zLW1-|Jc*Feh(91&nXZBDUOZOW|Ffq0Cq(~MF#o$QJHfMHF!3$yLD7YV$`u6V9!VUg zDCd_~bki6fRBsd6W&k+sv>B4Q-t>P*ksbe^71{i+sVKHN>AE-5>Ich8YvVfFKCyW~ zpy1_xE1d|CC@w&vR?p7T!tH0IX5Qu+7*XF5S!cMf2~tWZ+~)%^d=qe=8LO>io@K!g z(PTq1JCl{%Q>Rf}W02A*uqQ~qTJ5bK9O<(;?r}00i^P?pM){Q)`zR}j*ZO<>!0E(A zOX6_W@{702=CZUS{d$HGs$=q7l{|NFV!uny=2MP{j(mmr#mFLNv6X#R^Fu!}Aiu(k z1L34=fHi^1Wdpp6&Utty-|>ov;j~EE?;^pgqW;Uh*p&$g$&!QXyVPgxyyk+Rp^}iS ziD?~zQCzXi0`m2*#;=&*(Wntf;i1oE9o|y?;BH3l?>p$k_3)+7x?z;5 z?F)%%!qTB94G@70UlaE0<2IJ}2g5#-Q!hI+TXFUn&63AZQtm{9-nu54d=`8V^V+}J zcI@M;Qjed#oB{OoXh6tSAr#3kP%r-lcIH!ZZB2nHB=F$rTsu=()300NfTT;AWQ{MpX*uwmR%6PiT^X!s=Qx2>G=KkIW910$?2>d zh!b}PT?jAkbSh#7~(gp^Ub)Ph95yX3j%3uvA;&ftuo-mg#yS4u-()Awo~eJjD@wGn`ZUX zM?kwpgcKEjMbewlvMHz;<}OJl4KxO%e7+;+6{i?Ky_(l+H5D(TCzK3KzK67^s!^c_ zN)XbdrZ1r~k${-wIl@lFk2lNAY1;Kpo${p{npsvO6M8M1sc=T`)1lUc+Vs7tI} z=SC}bv7;3N6NDH$pSje3%l|?49m@TK)wkjY|FO#2{oO4S@CzziB0qJm7^QSDzXwQNO%*U`AA_lC%xbO*nz>MpV6oC@O9bKi){;fDWS~UT;mxD z$qEs$HG{c%hpb;ilp^CcSbzcKgS3^(BmE4$-@iC;9re_YLpJkQRQL6IONs*pDX-ew z$A&ErV}ylQ^*T()#S8K@2PI#qgJ{Q^qE3(;KL9tDWFG9$vE@D^FI^z=BMIf#jE&g5 zLOI7ufKv_Cgu5)R z0gKjx*)JN9<&{YH@5G!e1coiRRYlhoD}Cj#`^gDh&M$4X-{BPxp8u6Sfxon4ZxSUq z*;iSffM$EFk7vJ5FIAt>iT29bPF(Ebxgm>zQ;08)uJB^L5T+U_2`i7t2;G{ht8Pe7 z-_u~v6tM3cLo$F9714kx=4*&do<!_UH<{!9F{ znAu$Nmc&!i5p63f{7?@wqK2Pl26~B&#d_H*0u?k9y;Gt-6aQOwnqK+IpU&nM9b#?0 zQ}o`eSJ@YvV-^$Vbb&?F_oql+t@fY9(|E5NFkLU1(OqD@3NfT_7kj42cKPwe5xz2B zJVghI!4Pd@z%XUy%oU&-{#*UD42Tv_#2oXS`q8FuVYw9JfWE*2h{w);mv6rw6WC@{ z|6tfgb!HI&rgHsEyKnEIf0OzFpXhCGg+}rPUQ%wvT#oH$R0ph2j*cO+de8^N828t1 zSUm6$UQQi5}h4W4)pN~49&I5RnmwI;`h=26CCanvzD5stvOggyre70!3Sz|_LLDicV!(-8DF8@jyt+s7{usFMe(Mz?Q#MD zQk^X68Py_HjR3ViP~|6=kB>DK7a9@CTe{(vNr&B%>Ib(-2K(suDFkxPeJLPxCr$(m zMf@k3^u_9B6c_+$L4)mxvG(P@Qmk3&y7H&sg2TnG$KoYf@~>A=y#^U&0AUhH$x7Sd zp;UPk$X^Xi3-)fZ7}CIxfPxwu+@1OwW@<)Zjg z34Vr)C+OPA{|59Di~bj3GzeOhwGiBr{fKl11l#^Mf~XndFNoj8y8TPxPA3CLAnjV6 zPf^e~Cog9$KTnnkFns|;Z3L%H{Opjuo9EsS0J-bUKwZ&*Ee{S*R+{!bhJD?pv-tuL zL_7rvMNN8q;+s8mP~KVR_OZ6T)w=tAc3)|K3M|PuY70`%_GzI)nn4GwK;D2yc4v#` zX^jK~P=>VHC*8l=sh9bve_Y41WA2LsB!Y-_S$fEt@II{K)Q(Syv|f8>n!CnQIHZ_) zyT@%AfT1^f7wXd&v)#v<^VM!G!Dn!0NwZheR!f#OkUb@U-k5KOzPn_8(bTN*=sEN72FL-u#d|`yVhKpW;2^Sw4Ie zNjKULJ?$jcGa6_EwtKt)<*^X3jA<9oq|R}pYbov!QO;Z!6yE%l2n{Y=TWsc7pZ}=0 zt<3Lh{dG*g<5qFaonydO=mEg#03o7X8qz1ualc$Oa!Bapt@k6~X1#!Q<6+*A0B4DQ zM`QqA-w$Cdnib~KXt_}1b;D1}+@NoCc@?WLGi7pL?fNNUv%so*FZ}6&Roqjp<_Kg! znc9{H!a#JI`bV|YTz0?hMoC(i4mEk3!k|dEW7;C?`z+`k?RSaWw+G#Qi(yQO!`jiO zLlla-_2wsjXLl?#r$r5KQh8G2WloQiv~s685}NiE;2p>m!ZC-p^6RYDxZDlv)=}dZ z*XXGNM*V`WoV^=ak1RDRKB?JeeFokoL+Z-4s|QmUyk)>!xuZ5LW3~eplh~sAJJXLf zUi_$S;!3+@BiAnu#*E!(H%|ed~X#Q2__0)dBUXefb+0VzK z`ZxGbi@G!Pih+!_`fG^da)3?$M+i(+_yT^f(Fc_kuFt0{DASc!t#7*Hk^3W^vln0q zD-E1UVnZ#9xziQ4Q7K0s{e!?s%4_QQYr?e7dLX|dQ?4&|6Y*%2^`Cg|A&MucOplKyMuup$CfX$Uq8xD)sJQ z#T8+@LByh$M=c&c65mgrD3n)oZN|}F&oi;VJY0qq0v9JB91&JWHwtp=r)zAz6zdh6`QU#Vm(t9G|6;)P>LJi{I{z3L%Mpj zPFv4xz>wg#ul2;I*lk+2=}pMq*bhEWK$pNc(T&TtnqIlH*BYXk)pi#McBGowcnrOh zRQLjAD3RIm_3Uc*Ku3sWUJ05I_1peNn;iL8L|_U?v(i!bM$5{dAt~gNKmWnAVr=&p zZE=M1uapJ|<5qv_hs4@o{b=t}G_@ktzpI6*!k?yp?C~dzc*#{@e=75`X1*5A2vXF} z$5-2c31xL*V;K|kJnDwFJq%{yId{)8TmC|w+suh91b||1G2QX(Ypb!LuV%HuDtEKe z<(sBk<+(eveECc%k?kN$eP1lqL@0vukzmgK?PDfpPX*q1Y!d)tUvxrxHdaaPe5=f; z1&VZ*__e#3SE8nn!TTq>X*Zrm(r4BL`Y0(-+TV4&fo%&RI{yot1>Wr6SDJv31>}9} z6?M}3l`Me5e^_o2l@Mg@(Hfd|z`8;N{1A@ePMaNrQw~Ei}!^;(a zs#|2z_ZS)=N}$iz)Ob$bbG()eC@K-fD?mN}2awJ?Z3E@}-*kmLn@QE4kXrNw52$Av zOvyX>7W?^9sY7lhV;4^zANse45p6&?#m!y?)i)0%o?Qd~khW6Ic97hcZ{5Yl?oV8U ztLu_9J-@?|8Lo$T9xb)8CYK7Kgm*N8MYdR&C;?*+DSQE2x$k;dHk#+`bsEv70+YVH z!a!XpwFMOGvd>d+4yz-_c81f6Njnp84P3Gud=YLK^mOze!3RXx`&>ht53s>_ z{ltW4=`>>zsDMui+$vb_T?~XF%TjBxRLUzxVk!%CoT$z_DA4Sm5y=x^+jsRc783qM z9wGvAqqtfAZ7~`Y<#ARzls0m|MZMia68bhr)B+CtoR(jLle5gvfimuYr{57e62FS=EMH@ox~Hh(hO7-P6=!cSJN zAzhsT2nL1g23N33qU-jH8lcupQUth9O}vrt0Y_uO6Y?Hw&(Xy$!2H;}`iG_#g75?X z{k>uGZ{_LBhu{7i>*+rzX@93IK(@&N)GSg5_QY<2WzkJribp-@*9txLHfCSP{@MKq z{~&1FJla~X)94~L_E<;IS-3I_ONy)v^?w5}*uf757P=~X&95Dcw874HS1fjhhj(EN zq~|;*5DS%YP(0i|4yk z^=S|P{t1u*f7S%DC}P(a#I?se+X+P-6<*$C#~Hd)PDirDuo^U=xbSeDA*v{0T);`z z1b7D2_0mIF4q#sd;XC{Wz8C#?0vh#Dqih*&Y>>{)ZxbE+VPe}~+_ z?JhH*+};EzauIiZT8E2np-#nh(+<{5;ELmcl!RnGyu5~5Sr$ffvX~r_U(w1 z-`McoKdDbYKR~m-LG@T9yN~)O{h5-MH%cI|1QAW3-v3{v=<14Ppa;l|(Vjc0(kmf2 z%vGuBpnv{%CHjA?KHo2E>z^*}E8yM)aXG-l2eY2HZsV_;gc8U6KjrI~b=|`(9%cuH zy@fyEZb8+b-FOXBz`{9d#OEYlXSIz3e2#8nxqq4-vxNl;x8D$H2%MV|i{RlQ`NK!) zF;tyGnm#|Z1ymz4Jz8y$Pn-H(U0g^e8DhBY%7b;cMpyKE(7;a_A6OXsS0YV;z;Gsx zJ-e`KJOJdei3`-b1G<#;>bQ?iZ?z`j!1sur7P>oygL~Go9|JAQ9q-S!u8F{FQyX5+u#~$qb^@J#ZY7lW~sC! zdB|Rq`A=HAtBzOCNsLfGp{Hr$iPo;T|U-2!2Fr0y7&-Lpk zbB3{}Eo}fIUE(|W0#3gmXNi?>*Boy$EEj(3Q5i&{Jz)N>e{3M%fQ6Yp&-kcn z>75h>#jgq@_MMzbm6w|@uuDY}wihL@f_T2!3I*k=fG!#gn1K@f%)yiPm`M@+5R-44 z2-I%&VZJMCfsGJYF75okl#idcyP7A+Wef)3$3O&s&pLss8cjUT2%o?YD}J_-MLlTb ztXE5Y*C4=P`HS>U^V45Fjp{;6ZuUQb9W)Cv2jDumMZJ0tIsAdr^Nc%f+HsOD6{FVi zr0$tNKT?La40B=Mov$!Z1O3YB@c8|{FAB1O!_R%;{#Fwi33ux!J^<53swk~j1dnGX zzw5U^$-AzI(;n&_){&g3aDAi0_6)f90K&C=+-XF7hG%W26)X@Qu{Tw=0AX))_3~E#j!G z&v^kQPKEOtd%eY7bb!N2JD|CWF8qd-;oIs^I}xEFh~2v_IT3>Kc! zoz~Y^Tx}gYC~o)eH~?waFMr9!3mf98bo4f7^@@$+=2n(*G_b+mK%&*xb$JTbce1>^ zBV`%dEm<;a&=CFvyyt%dJnovx`tJu!MyD)INw*Lgm_!6}smBcr(&d`Zw4P!QK3Z<^ zHDb~5#e52Kwgn9vXyg1sfUy62Aubq`96?{?_I;(sRCcwoHzR|^dP`mR^&;a+8D%12e*sfU&g0CB;J25Ofwr3f$wPW!2V+Y zRJOHBGnbl9u0FJ^E*?4Uu{3ftn?c#PrE{iy;ihQx&S{f0cV}m6@o*9?UC&b$a1^~? z^JmxhtNr^oDTnRvCU26I`OUDK(Z{Ilmx97g0mC!ewc=MbO_|AV&)j@k4XwTN zRTg?gX=oO_=``|7#p0V_g|W=UVBKLg{n&!ABb+aDTP*~RddH~m_kGNO3x62Z;g+dC3Egu2dDt|fZ0!3IvB^X$&lW*rQ zKWqX$6RJj+BtXs|*KZ?^Th$GSEr22yHbRq>0^yFdU3dZ*WbmG(2gPSbdJo3%3a`8d zV$8I!#e3G3=QmN13w3xhGO8KLGmU`#1EbxN=W_wIiVlth`GMj}gE9(V+DF53TJOWaMW6VpkELSWzu(1y> z@SmV3<-`E0%-H?0i~M1e-{l?#Y+Y}9qE)5I0M;69pXlCmnC90Du^fO25#cUrPx`7i zTfTTVT~HJ{%>!Feq)EPp%fK3hW;OZ1=OrbOwydt4+An9M(m*qZvt4PXh3&*78J|m6; zT2_D_q#Lt;ErY7F=x6?ypAfw40p>35{m&o`*3l+_6<69$AOaJ%w1`g~kf-&15dPHu z*`wYv{OO>eNXTIBgO8HE&CipdVL`rnU!bMR<$;lsx7KA^1&sLP&3MzMQINu
3_ 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 z