From ee413579a457b04ea80a1fdf66d36dca34d2b48b Mon Sep 17 00:00:00 2001 From: fgerlits Date: Tue, 19 Oct 2004 08:09:56 +0000 Subject: [PATCH] added fake audio clip retrieval methods to TestStorageClient added displayAudioClip and displayAudioClips XML-RPC server methods --- .../LiveSupport/Core/StorageClientInterface.h | 26 ++- .../modules/storage/etc/testStorage.xml | 6 +- .../modules/storage/src/TestStorageClient.cxx | 97 ++++++++-- .../modules/storage/src/TestStorageClient.h | 67 ++++--- .../storage/src/TestStorageClientTest.cxx | 27 ++- .../storage/src/TestStorageClientTest.h | 7 +- .../scheduler/doc/model/SchedulerModel.zuml | Bin 121450 -> 125735 bytes .../products/scheduler/etc/Makefile.in | 8 +- .../products/scheduler/etc/storageClient.xml | 4 +- .../src/AddAudioClipToPlaylistMethodTest.cxx | 6 +- .../scheduler/src/DisplayAudioClipMethod.cxx | 135 ++++++++++++++ .../scheduler/src/DisplayAudioClipMethod.h | 156 ++++++++++++++++ .../src/DisplayAudioClipMethodTest.cxx | 171 ++++++++++++++++++ .../src/DisplayAudioClipMethodTest.h | 144 +++++++++++++++ .../scheduler/src/DisplayAudioClipsMethod.cxx | 98 ++++++++++ .../scheduler/src/DisplayAudioClipsMethod.h | 138 ++++++++++++++ .../src/DisplayAudioClipsMethodTest.cxx | 158 ++++++++++++++++ .../src/DisplayAudioClipsMethodTest.h | 136 ++++++++++++++ .../RemoveAudioClipFromPlaylistMethodTest.cxx | 8 +- .../products/scheduler/src/XmlRpcTools.cxx | 52 +++++- .../products/scheduler/src/XmlRpcTools.h | 55 ++++-- .../scheduler/src/XmlRpcToolsTest.cxx | 19 +- 22 files changed, 1428 insertions(+), 90 deletions(-) create mode 100644 livesupport/products/scheduler/src/DisplayAudioClipMethod.cxx create mode 100644 livesupport/products/scheduler/src/DisplayAudioClipMethod.h create mode 100644 livesupport/products/scheduler/src/DisplayAudioClipMethodTest.cxx create mode 100644 livesupport/products/scheduler/src/DisplayAudioClipMethodTest.h create mode 100644 livesupport/products/scheduler/src/DisplayAudioClipsMethod.cxx create mode 100644 livesupport/products/scheduler/src/DisplayAudioClipsMethod.h create mode 100644 livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.cxx create mode 100644 livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.h diff --git a/livesupport/modules/core/include/LiveSupport/Core/StorageClientInterface.h b/livesupport/modules/core/include/LiveSupport/Core/StorageClientInterface.h index 1d5d8d5b4..089994ef2 100644 --- a/livesupport/modules/core/include/LiveSupport/Core/StorageClientInterface.h +++ b/livesupport/modules/core/include/LiveSupport/Core/StorageClientInterface.h @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.6 $ + Version : $Revision: 1.7 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/core/include/LiveSupport/Core/Attic/StorageClientInterface.h,v $ ------------------------------------------------------------------------------*/ @@ -61,7 +61,7 @@ namespace Core { * An interface for storage clients. * * @author $Author: fgerlits $ - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ */ class StorageClientInterface { @@ -105,7 +105,6 @@ class StorageClientInterface /** * Return a list of all playlists in the playlist store. * - * @param (none). * @return a vector containing the playlists. */ virtual Ptr::Ref> >::Ref @@ -143,6 +142,27 @@ class StorageClientInterface throw (std::invalid_argument) = 0; + /** + * Delete an audio clip with the specified id. + * + * @param id the id of the audio clip to be deleted. + * @exception std::invalid_argument if no audio clip with the + * specified id exists. + */ + virtual void + deleteAudioClip(Ptr::Ref id) + throw (std::invalid_argument) + = 0; + + /** + * Return a list of all audio clips in the playlist store. + * + * @return a vector containing the playlists. + */ + virtual Ptr::Ref> >::Ref + getAllAudioClips(void) const throw () = 0; + + }; diff --git a/livesupport/modules/storage/etc/testStorage.xml b/livesupport/modules/storage/etc/testStorage.xml index a0ac06fc6..9d768ddad 100644 --- a/livesupport/modules/storage/etc/testStorage.xml +++ b/livesupport/modules/storage/etc/testStorage.xml @@ -1,7 +1,7 @@ + @@ -21,7 +21,9 @@ - + + + diff --git a/livesupport/modules/storage/src/TestStorageClient.cxx b/livesupport/modules/storage/src/TestStorageClient.cxx index 8e93a5b69..540328b5d 100644 --- a/livesupport/modules/storage/src/TestStorageClient.cxx +++ b/livesupport/modules/storage/src/TestStorageClient.cxx @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.4 $ + Version : $Revision: 1.5 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storage/src/TestStorageClient.cxx,v $ ------------------------------------------------------------------------------*/ @@ -73,20 +73,35 @@ TestStorageClient :: configure(const xmlpp::Element & element) throw std::invalid_argument(eMsg); } - // iterate through the playlist elements - xmlpp::Node::NodeList nodes = - element.get_children(Playlist::getConfigElementName()); - xmlpp::Node::NodeList::iterator it = nodes.begin(); + // iterate through the playlist elements ... + xmlpp::Node::NodeList nodes + = element.get_children(Playlist::getConfigElementName()); + xmlpp::Node::NodeList::iterator it + = nodes.begin(); playlistMap.clear(); while (it != nodes.end()) { - Ptr::Ref playlist(new Playlist()); + Ptr::Ref playlist(new Playlist); const xmlpp::Element * element = dynamic_cast (*it); playlist->configure(*element); playlistMap[playlist->getId()->getId()] = playlist; ++it; } + + // ... and the the audio clip elements + nodes = element.get_children(AudioClip::getConfigElementName()); + it = nodes.begin(); + audioClipMap.clear(); + + while (it != nodes.end()) { + Ptr::Ref audioClip(new AudioClip); + const xmlpp::Element * element = + dynamic_cast (*it); + audioClip->configure(*element); + audioClipMap[audioClip->getId()->getId()] = audioClip; + ++it; + } } @@ -125,13 +140,10 @@ void TestStorageClient :: deletePlaylist(Ptr::Ref id) throw (std::invalid_argument) { - PlaylistMap::iterator it = playlistMap.find(id->getId()); - - if (it == playlistMap.end()) { + // erase() returns the number of entries found & erased + if (!playlistMap.erase(id->getId())) { throw std::invalid_argument("no such playlist"); } - - playlistMap.erase(it); } @@ -176,3 +188,66 @@ TestStorageClient :: createPlaylist() throw () return playlist; } + + +/*------------------------------------------------------------------------------ + * Tell if an audio clip exists. + *----------------------------------------------------------------------------*/ +const bool +TestStorageClient :: existsAudioClip(Ptr::Ref id) const + throw () +{ + return audioClipMap.count(id->getId()) == 1 ? true : false; +} + + +/*------------------------------------------------------------------------------ + * Return an audio clip. + *----------------------------------------------------------------------------*/ +Ptr::Ref +TestStorageClient :: getAudioClip(Ptr::Ref id) const + throw (std::invalid_argument) +{ + AudioClipMap::const_iterator it = audioClipMap.find(id->getId()); + + if (it == audioClipMap.end()) { + throw std::invalid_argument("no such audio clip"); + } + + return it->second; +} + + +/*------------------------------------------------------------------------------ + * Delete an audio clip. + *----------------------------------------------------------------------------*/ +void +TestStorageClient :: deleteAudioClip(Ptr::Ref id) + throw (std::invalid_argument) +{ + // erase() returns the number of entries found & erased + if (!audioClipMap.erase(id->getId())) { + throw std::invalid_argument("no such audio clip"); + } +} + + +/*------------------------------------------------------------------------------ + * Return a listing of all the audio clips in the audio clip store. + *----------------------------------------------------------------------------*/ +Ptr::Ref> >::Ref +TestStorageClient :: getAllAudioClips(void) const + throw () +{ + AudioClipMap::const_iterator it = audioClipMap.begin(); + Ptr::Ref> >::Ref + audioClipVector (new std::vector::Ref>); + + while (it != audioClipMap.end()) { + audioClipVector->push_back(it->second); + ++it; + } + + return audioClipVector; +} + diff --git a/livesupport/modules/storage/src/TestStorageClient.h b/livesupport/modules/storage/src/TestStorageClient.h index 8f7bed3e7..7d48eba1e 100644 --- a/livesupport/modules/storage/src/TestStorageClient.h +++ b/livesupport/modules/storage/src/TestStorageClient.h @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.6 $ + Version : $Revision: 1.7 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storage/src/TestStorageClient.h,v $ ------------------------------------------------------------------------------*/ @@ -67,29 +67,40 @@ using namespace LiveSupport::Core; * A dummy storage client, only used for test purposes. * * @author $Author: fgerlits $ - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ */ class TestStorageClient : virtual public Configurable, virtual public StorageClientInterface { private: - /** - * The map type containing the playlists by their ids. - */ - typedef std::map::Ref> - PlaylistMap; - /** * The name of the configuration XML elmenent used by TestStorageClient */ static const std::string configElementNameStr; + /** + * The map type containing the playlists by their ids. + */ + typedef std::map::Ref> + PlaylistMap; + /** * The map holding all contained playlists, by ids. */ PlaylistMap playlistMap; + /** + * The map type containing the audio clips by their ids. + */ + typedef std::map::Ref> + AudioClipMap; + + /** + * The map holding all contained audio clips, by ids. + */ + AudioClipMap audioClipMap; + public: /** @@ -163,13 +174,11 @@ class TestStorageClient : /** * Return a list of all playlists in the playlist store. * - * @param (none). * @return a vector containing the playlists. */ virtual Ptr::Ref> >::Ref getAllPlaylists(void) const throw (); - /** * Create a new playlist. * @@ -178,22 +187,16 @@ class TestStorageClient : virtual Ptr::Ref createPlaylist() throw (); - /** * Tell if an audio clip with a given id exists. * * @param id the id of the audio clip to check for. * @return true if an audio clip with the specified id exists, * false otherwise. - * Note: at this point, this function always returns 'true'. */ virtual const bool existsAudioClip(Ptr::Ref id) const - throw () - { - return true; - } - + throw (); /** * Return an audio clip with the specified id. @@ -202,19 +205,29 @@ class TestStorageClient : * @return the requested audio clip. * @exception std::invalid_argument if no audio clip with the * specified id exists. - * Note: at this point, this function returns a fake new audio - * clip with play length 30 minutes. */ virtual Ptr::Ref getAudioClip(Ptr::Ref id) const - throw (std::invalid_argument) - { - Ptr::Ref nonConstId(new UniqueId(id->getId())); - Ptr::Ref length(new time_duration(0,30,0,0)); - Ptr::Ref audioClip(new AudioClip(nonConstId, - length)); - return audioClip; - } + throw (std::invalid_argument); + + /** + * Delete the audio clip with the specified id. + * + * @param id the id of the audio clip to be deleted. + * @exception std::invalid_argument if no audio clip with the + * specified id exists. + */ + virtual void + deleteAudioClip(Ptr::Ref id) + throw (std::invalid_argument); + + /** + * Return a list of all audio clips in the playlist store. + * + * @return a vector containing the audio clips. + */ + virtual Ptr::Ref> >::Ref + getAllAudioClips(void) const throw (); }; diff --git a/livesupport/modules/storage/src/TestStorageClientTest.cxx b/livesupport/modules/storage/src/TestStorageClientTest.cxx index 71711647d..1c46e959a 100644 --- a/livesupport/modules/storage/src/TestStorageClientTest.cxx +++ b/livesupport/modules/storage/src/TestStorageClientTest.cxx @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.5 $ + Version : $Revision: 1.6 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storage/src/TestStorageClientTest.cxx,v $ ------------------------------------------------------------------------------*/ @@ -47,6 +47,7 @@ #include "TestStorageClientTest.h" +using namespace std; using namespace LiveSupport::Core; using namespace LiveSupport::Storage; @@ -176,18 +177,30 @@ TestStorageClientTest :: createPlaylistTest(void) /*------------------------------------------------------------------------------ - * Test to see if the fake audio clips are correctly counterfeited + * Testing the audio clip operations *----------------------------------------------------------------------------*/ void TestStorageClientTest :: audioClipTest(void) throw (CPPUNIT_NS::Exception) { - Ptr::Ref id(new UniqueId(rand())); + Ptr::Ref id2(new UniqueId(10002)); + Ptr::Ref id7(new UniqueId(10077)); - CPPUNIT_ASSERT(tsc->existsAudioClip(id)); + CPPUNIT_ASSERT(tsc->existsAudioClip(id2)); + CPPUNIT_ASSERT(!tsc->existsAudioClip(id7)); - Ptr::Ref audioClip = tsc->getAudioClip(id); - CPPUNIT_ASSERT(audioClip->getId()->getId() == id->getId()); - CPPUNIT_ASSERT(audioClip->getPlaylength()->total_seconds() + Ptr::Ref audioClip = tsc->getAudioClip(id2); + CPPUNIT_ASSERT(audioClip->getId()->getId() == id2->getId()); + CPPUNIT_ASSERT(audioClip->getPlaylength()->total_seconds() == 30*60); + + Ptr::Ref> >::Ref audioClipVector = + tsc->getAllAudioClips(); + CPPUNIT_ASSERT(audioClipVector->size() == 2); + + audioClip = (*audioClipVector)[0]; + CPPUNIT_ASSERT((int) (audioClip->getId()->getId()) == 10001); + + tsc->deleteAudioClip(id2); + CPPUNIT_ASSERT(!tsc->existsAudioClip(id2)); } diff --git a/livesupport/modules/storage/src/TestStorageClientTest.h b/livesupport/modules/storage/src/TestStorageClientTest.h index 1713316ca..c8e8b4ae7 100644 --- a/livesupport/modules/storage/src/TestStorageClientTest.h +++ b/livesupport/modules/storage/src/TestStorageClientTest.h @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.5 $ + Version : $Revision: 1.6 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storage/src/TestStorageClientTest.h,v $ ------------------------------------------------------------------------------*/ @@ -58,7 +58,7 @@ namespace Storage { * Unit test for the UploadPlaylistMetohd class. * * @author $Author: fgerlits $ - * @version $Revision: 1.5 $ + * @version $Revision: 1.6 $ * @see TestStorageClient */ class TestStorageClientTest : public CPPUNIT_NS::TestFixture @@ -68,6 +68,7 @@ class TestStorageClientTest : public CPPUNIT_NS::TestFixture CPPUNIT_TEST(getAllPlaylistsTest); CPPUNIT_TEST(deletePlaylistTest); CPPUNIT_TEST(createPlaylistTest); + CPPUNIT_TEST(audioClipTest); CPPUNIT_TEST_SUITE_END(); private: @@ -111,7 +112,7 @@ class TestStorageClientTest : public CPPUNIT_NS::TestFixture createPlaylistTest(void) throw (CPPUNIT_NS::Exception); /** - * Testing existsAudioClip() and getAudioClip(). + * Testing the audio clip operations. * * @exception CPPUNIT_NS::Exception on test failures. */ diff --git a/livesupport/products/scheduler/doc/model/SchedulerModel.zuml b/livesupport/products/scheduler/doc/model/SchedulerModel.zuml index 7c63756e6ddae9b5a3ab19c634778a381fa03709..c91d3b208b75bb8df3769205c2a6cc33c2d39a27 100644 GIT binary patch literal 125735 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

Q4y{ojQm& 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 z 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 - + @@ -27,5 +27,7 @@ + + diff --git a/livesupport/products/scheduler/src/AddAudioClipToPlaylistMethodTest.cxx b/livesupport/products/scheduler/src/AddAudioClipToPlaylistMethodTest.cxx index 3302963b2..9987116db 100644 --- a/livesupport/products/scheduler/src/AddAudioClipToPlaylistMethodTest.cxx +++ b/livesupport/products/scheduler/src/AddAudioClipToPlaylistMethodTest.cxx @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.3 $ + Version : $Revision: 1.4 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/AddAudioClipToPlaylistMethodTest.cxx,v $ ------------------------------------------------------------------------------*/ @@ -151,7 +151,7 @@ AddAudioClipToPlaylistMethodTest :: firstTest(void) XmlRpc::XmlRpcValue result; parameter["playlistId"] = 1; - parameter["audioClipId"] = 20002; + parameter["audioClipId"] = 10001; parameter["relativeOffset"] = 60*60; openPlaylistMethod->execute(parameter, result); @@ -162,7 +162,7 @@ AddAudioClipToPlaylistMethodTest :: firstTest(void) parameter.clear(); result.clear(); parameter["playlistId"] = 1; - parameter["audioClipId"] = 20003; + parameter["audioClipId"] = 10001; parameter["relativeOffset"] = 90*60; addAudioClipMethod->execute(parameter, result); CPPUNIT_ASSERT(!result.hasMember("errorCode")); diff --git a/livesupport/products/scheduler/src/DisplayAudioClipMethod.cxx b/livesupport/products/scheduler/src/DisplayAudioClipMethod.cxx new file mode 100644 index 000000000..f79145467 --- /dev/null +++ b/livesupport/products/scheduler/src/DisplayAudioClipMethod.cxx @@ -0,0 +1,135 @@ +/*------------------------------------------------------------------------------ + + Copyright (c) 2004 Media Development Loan Fund + + This file is part of the LiveSupport project. + http://livesupport.campware.org/ + To report bugs, send an e-mail to bugs@campware.org + + LiveSupport 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 2 of the License, or + (at your option) any later version. + + LiveSupport 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 LiveSupport; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + Author : $Author: fgerlits $ + Version : $Revision: 1.1 $ + Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/DisplayAudioClipMethod.cxx,v $ + +------------------------------------------------------------------------------*/ + +/* ============================================================ include files */ + +#ifdef HAVE_CONFIG_H +#include "configure.h" +#endif + +#ifdef HAVE_TIME_H +#include +#else +#error need time.h +#endif + + +#include + +#include "LiveSupport/Core/StorageClientInterface.h" +#include "LiveSupport/Storage/StorageClientFactory.h" +#include "ScheduleInterface.h" +#include "ScheduleFactory.h" +#include "XmlRpcTools.h" + +#include "DisplayAudioClipMethod.h" + + +using namespace boost; +using namespace boost::posix_time; + +using namespace LiveSupport; +using namespace LiveSupport::Core; +using namespace LiveSupport::Storage; + +using namespace LiveSupport::Scheduler; + +/* =================================================== local data structures */ + + +/* ================================================ local constants & macros */ + +/*------------------------------------------------------------------------------ + * The name of this XML-RPC method. + *----------------------------------------------------------------------------*/ +const std::string DisplayAudioClipMethod::methodName = "displayAudioClip"; + +/*------------------------------------------------------------------------------ + * The ID of this method for error reporting purposes. + *----------------------------------------------------------------------------*/ +const int DisplayAudioClipMethod::errorId = 600; + + +/* =============================================== local function prototypes */ + + +/* ============================================================= module code */ + +/*------------------------------------------------------------------------------ + * Construct the method and register it right away. + *----------------------------------------------------------------------------*/ +DisplayAudioClipMethod :: DisplayAudioClipMethod ( + Ptr::Ref xmlRpcServer) throw() + : XmlRpc::XmlRpcServerMethod(methodName, xmlRpcServer.get()) +{ +} + + +/*------------------------------------------------------------------------------ + * Execute the stop XML-RPC function call. + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipMethod :: execute(XmlRpc::XmlRpcValue & parameters, + XmlRpc::XmlRpcValue & returnValue) + throw () +{ + if (!parameters.valid()) { + XmlRpcTools::markError(errorId+1, "invalid argument format", + returnValue); + return; + } + + Ptr::Ref id; + try{ + id = XmlRpcTools::extractAudioClipId(parameters); + } + catch (std::invalid_argument &e) { + XmlRpcTools::markError(errorId+2, "argument is not an audio clip ID", + returnValue); + return; + } + + Ptr::Ref scf; + Ptr::Ref storage; + + scf = StorageClientFactory::getInstance(); + storage = scf->getStorageClient(); + + Ptr::Ref audioClip; + try { + audioClip = storage->getAudioClip(id); + } + catch (std::invalid_argument &e) { + XmlRpcTools::markError(errorId+3, "audio clip not found", + returnValue); + return; + } + + XmlRpcTools::audioClipToXmlRpcValue(audioClip, returnValue); +} diff --git a/livesupport/products/scheduler/src/DisplayAudioClipMethod.h b/livesupport/products/scheduler/src/DisplayAudioClipMethod.h new file mode 100644 index 000000000..a028a4ae2 --- /dev/null +++ b/livesupport/products/scheduler/src/DisplayAudioClipMethod.h @@ -0,0 +1,156 @@ +/*------------------------------------------------------------------------------ + + Copyright (c) 2004 Media Development Loan Fund + + This file is part of the LiveSupport project. + http://livesupport.campware.org/ + To report bugs, send an e-mail to bugs@campware.org + + LiveSupport 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 2 of the License, or + (at your option) any later version. + + LiveSupport 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 LiveSupport; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + Author : $Author: fgerlits $ + Version : $Revision: 1.1 $ + Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/DisplayAudioClipMethod.h,v $ + +------------------------------------------------------------------------------*/ +#ifndef DisplayAudioClipMethod_h +#define DisplayAudioClipMethod_h + +#ifndef __cplusplus +#error This is a C++ include file +#endif + + +/* ============================================================ include files */ + +#ifdef HAVE_CONFIG_H +#include "configure.h" +#endif + +#include +#include +#include +#include + +#include "LiveSupport/Core/Ptr.h" +#include "LiveSupport/Core/AudioClip.h" + + +namespace LiveSupport { +namespace Scheduler { + +using namespace LiveSupport; +using namespace LiveSupport::Core; + +/* ================================================================ constants */ + + +/* =================================================================== macros */ + + +/* =============================================================== data types */ + +/** + * An XML-RPC method object to return a audio clip for a specified + * audio clip id. + * + * The name of the method when called through XML-RPC is "displayAudioClip". + * The expected parameter is an XML-RPC structure, with the following + * member: + *

+ * + * The XML-RPC function returns an XML-RPC structure, containing the following + * fields: + *
    + *
  • id - int - the unique id of the audio clip
  • + *
  • playlength - int - the length of the audio clip, in seconds + *
  • + *
+ * + * If there is an error, an XML-RPC structure is returned, with the following + * fields: + *
    + *
  • errorCode - int - a numerical code for the error
  • + *
  • errorMessage - string - a description of the error
  • + *
+ * The possible error codes are: + *
    + *
  • 601 - invalid argument format
  • + *
  • 602 - argument is not an audio clip ID
  • + *
  • 603 - audio clip not found
  • + *
+ * + * @author $Author: fgerlits $ + * @version $Revision: 1.1 $ + */ +class DisplayAudioClipMethod : public XmlRpc::XmlRpcServerMethod +{ + private: + /** + * The name of this method, as it will be registered into the + * XML-RPC server. + */ + static const std::string methodName; + + /** + * The ID of this method for error reporting purposes. + */ + static const int errorId; + + + public: + /** + * A default constructor, for testing purposes. + */ + DisplayAudioClipMethod(void) throw () + : XmlRpc::XmlRpcServerMethod(methodName) + { + } + + /** + * Constuctor that registers the method with the server right away. + * + * @param xmlRpcServer the XML-RPC server to register with. + */ + DisplayAudioClipMethod( + Ptr::Ref xmlRpcServer) + throw (); + + /** + * Execute the display schedule command on the Scheduler daemon. + * + * @param parameters XML-RPC function call parameters + * @param returnValue the return value of the call (out parameter) + */ + void + execute( XmlRpc::XmlRpcValue & parameters, + XmlRpc::XmlRpcValue & returnValue) throw (); +}; + + +/* ================================================= external data structures */ + + +/* ====================================================== function prototypes */ + + +} // namespace Scheduler +} // namespace LiveSupport + +#endif // DisplayAudioClipMethod_h + diff --git a/livesupport/products/scheduler/src/DisplayAudioClipMethodTest.cxx b/livesupport/products/scheduler/src/DisplayAudioClipMethodTest.cxx new file mode 100644 index 000000000..66859b18f --- /dev/null +++ b/livesupport/products/scheduler/src/DisplayAudioClipMethodTest.cxx @@ -0,0 +1,171 @@ +/*------------------------------------------------------------------------------ + + Copyright (c) 2004 Media Development Loan Fund + + This file is part of the LiveSupport project. + http://livesupport.campware.org/ + To report bugs, send an e-mail to bugs@campware.org + + LiveSupport 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 2 of the License, or + (at your option) any later version. + + LiveSupport 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 LiveSupport; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + Author : $Author: fgerlits $ + Version : $Revision: 1.1 $ + Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/DisplayAudioClipMethodTest.cxx,v $ + +------------------------------------------------------------------------------*/ + +/* ============================================================ include files */ + +#ifdef HAVE_CONFIG_H +#include "configure.h" +#endif + +#if HAVE_UNISTD_H +#include +#else +#error "Need unistd.h" +#endif + + +#include +#include +#include + +#include "LiveSupport/Db/ConnectionManagerFactory.h" +#include "LiveSupport/Storage/StorageClientFactory.h" +#include "DisplayAudioClipMethod.h" +#include "DisplayAudioClipMethodTest.h" + + +using namespace LiveSupport::Db; +using namespace LiveSupport::Storage; +using namespace LiveSupport::Scheduler; + +/* =================================================== local data structures */ + + +/* ================================================ local constants & macros */ + +CPPUNIT_TEST_SUITE_REGISTRATION(DisplayAudioClipMethodTest); + +/** + * The name of the configuration file for the storage client factory. + */ +const std::string DisplayAudioClipMethodTest::storageClientConfig = + "etc/storageClient.xml"; + +/** + * The name of the configuration file for the connection manager factory. + */ +const std::string DisplayAudioClipMethodTest::connectionManagerConfig = + "etc/connectionManagerFactory.xml"; + + +/* =============================================== local function prototypes */ + + +/* ============================================================= module code */ + +/*------------------------------------------------------------------------------ + * Configure a Configurable with an XML file. + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipMethodTest :: configure( + Ptr::Ref configurable, + const std::string fileName) + throw (std::invalid_argument, + xmlpp::exception) +{ + Ptr::Ref parser(new xmlpp::DomParser(fileName, true)); + const xmlpp::Document * document = parser->get_document(); + const xmlpp::Element * root = document->get_root_node(); + + configurable->configure(*root); +} + + +/*------------------------------------------------------------------------------ + * Set up the test environment + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipMethodTest :: setUp(void) throw () +{ + try { + Ptr::Ref scf + = StorageClientFactory::getInstance(); + configure(scf, storageClientConfig); + + Ptr::Ref cmf + = ConnectionManagerFactory::getInstance(); + configure(cmf, connectionManagerConfig); + + } catch (std::invalid_argument &e) { + CPPUNIT_FAIL("semantic error in configuration file"); + } catch (xmlpp::exception &e) { + CPPUNIT_FAIL("error parsing configuration file"); + } catch (std::exception &e) { + CPPUNIT_FAIL(e.what()); + } +} + + +/*------------------------------------------------------------------------------ + * Clean up the test environment + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipMethodTest :: tearDown(void) throw () +{ +} + + +/*------------------------------------------------------------------------------ + * Just a very simple smoke test + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipMethodTest :: firstTest(void) + throw (CPPUNIT_NS::Exception) +{ + Ptr::Ref method(new DisplayAudioClipMethod()); + XmlRpc::XmlRpcValue parameter; + XmlRpc::XmlRpcValue result; + + // set up a structure for the parameter + parameter["audioClipId"] = 10001; + + method->execute(parameter, result); + CPPUNIT_ASSERT(int(result["id"]) == 10001); + CPPUNIT_ASSERT(int(result["playlength"]) == (60 * 60)); +} + + +/*------------------------------------------------------------------------------ + * A very simple negative test + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipMethodTest :: negativeTest(void) + throw (CPPUNIT_NS::Exception) +{ + Ptr::Ref method(new DisplayAudioClipMethod()); + XmlRpc::XmlRpcValue parameter; + XmlRpc::XmlRpcValue result; + + // set up a structure for the parameter + parameter["audioClipId"] = 9999; + + method->execute(parameter, result); + CPPUNIT_ASSERT(result.hasMember("errorCode")); + CPPUNIT_ASSERT(int(result["errorCode"]) == 603); // audio clip not found +} diff --git a/livesupport/products/scheduler/src/DisplayAudioClipMethodTest.h b/livesupport/products/scheduler/src/DisplayAudioClipMethodTest.h new file mode 100644 index 000000000..bcf51b727 --- /dev/null +++ b/livesupport/products/scheduler/src/DisplayAudioClipMethodTest.h @@ -0,0 +1,144 @@ +/*------------------------------------------------------------------------------ + + Copyright (c) 2004 Media Development Loan Fund + + This file is part of the LiveSupport project. + http://livesupport.campware.org/ + To report bugs, send an e-mail to bugs@campware.org + + LiveSupport 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 2 of the License, or + (at your option) any later version. + + LiveSupport 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 LiveSupport; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + Author : $Author: fgerlits $ + Version : $Revision: 1.1 $ + Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/DisplayAudioClipMethodTest.h,v $ + +------------------------------------------------------------------------------*/ +#ifndef DisplayAudioClipMethodTest_h +#define DisplayAudioClipMethodTest_h + +#ifndef __cplusplus +#error This is a C++ include file +#endif + + +/* ============================================================ include files */ + +#ifdef HAVE_CONFIG_H +#include "configure.h" +#endif + +#include + + +namespace LiveSupport { +namespace Scheduler { + +using namespace LiveSupport; +using namespace LiveSupport::Core; + +/* ================================================================ constants */ + + +/* =================================================================== macros */ + + +/* =============================================================== data types */ + +/** + * Unit test for the DisplayAudioClipMethod class. + * + * @author $Author: fgerlits $ + * @version $Revision: 1.1 $ + * @see DisplayAudioClipMethod + */ +class DisplayAudioClipMethodTest : public CPPUNIT_NS::TestFixture +{ + CPPUNIT_TEST_SUITE(DisplayAudioClipMethodTest); + CPPUNIT_TEST(firstTest); + CPPUNIT_TEST(negativeTest); + CPPUNIT_TEST_SUITE_END(); + + /** + * The name of the configuration file for the storage client factory. + */ + static const std::string storageClientConfig; + + /** + * The name of the configuration file for the connection manager + * factory. + */ + static const std::string connectionManagerConfig; + + /** + * Configure a configurable with an XML file. + * + * @param configurable configure this + * @param fileName the name of the XML file to configure with. + * @exception std::invalid_argument on configuration errors. + * @exception xmlpp::exception on XML parsing errors. + */ + void + configure(Ptr::Ref configurable, + std::string fileName) + throw (std::invalid_argument, + xmlpp::exception); + + + protected: + + /** + * A simple test. + * + * @exception CPPUNIT_NS::Exception on test failures. + */ + void + firstTest(void) throw (CPPUNIT_NS::Exception); + + /** + * A simple negative test. + * + * @exception CPPUNIT_NS::Exception on test failures. + */ + void + negativeTest(void) throw (CPPUNIT_NS::Exception); + + public: + + /** + * Set up the environment for the test case. + */ + void + setUp(void) throw (); + + /** + * Clean up the environment after the test case. + */ + void + tearDown(void) throw (); +}; + + +/* ================================================= external data structures */ + + +/* ====================================================== function prototypes */ + + +} // namespace Scheduler +} // namespace LiveSupport + +#endif // DisplayAudioClipMethodTest_h + diff --git a/livesupport/products/scheduler/src/DisplayAudioClipsMethod.cxx b/livesupport/products/scheduler/src/DisplayAudioClipsMethod.cxx new file mode 100644 index 000000000..e54374049 --- /dev/null +++ b/livesupport/products/scheduler/src/DisplayAudioClipsMethod.cxx @@ -0,0 +1,98 @@ +/*------------------------------------------------------------------------------ + + Copyright (c) 2004 Media Development Loan Fund + + This file is part of the LiveSupport project. + http://livesupport.campware.org/ + To report bugs, send an e-mail to bugs@campware.org + + LiveSupport 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 2 of the License, or + (at your option) any later version. + + LiveSupport 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 LiveSupport; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + Author : $Author: fgerlits $ + Version : $Revision: 1.1 $ + Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/DisplayAudioClipsMethod.cxx,v $ + +------------------------------------------------------------------------------*/ + +/* ============================================================ include files */ + +#ifdef HAVE_CONFIG_H +#include "configure.h" +#endif + + +#include + +#include "LiveSupport/Core/StorageClientInterface.h" +#include "LiveSupport/Storage/StorageClientFactory.h" +#include "XmlRpcTools.h" + +#include "DisplayAudioClipsMethod.h" + +using namespace boost; +using namespace boost::posix_time; + +using namespace LiveSupport; +using namespace LiveSupport::Core; +using namespace LiveSupport::Storage; + +using namespace LiveSupport::Scheduler; + +/* =================================================== local data structures */ + + +/* ================================================ local constants & macros */ + +/*------------------------------------------------------------------------------ + * The name of this XML-RPC method. + *----------------------------------------------------------------------------*/ +const std::string DisplayAudioClipsMethod::methodName = "displayAudioClips"; + + +/* =============================================== local function prototypes */ + + +/* ============================================================= module code */ + +/*------------------------------------------------------------------------------ + * Construct the method and register it right away. + *----------------------------------------------------------------------------*/ +DisplayAudioClipsMethod :: DisplayAudioClipsMethod ( + Ptr::Ref xmlRpcServer) throw() + : XmlRpc::XmlRpcServerMethod(methodName, xmlRpcServer.get()) +{ +} + + +/*------------------------------------------------------------------------------ + * Execute the stop XML-RPC function call. + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipsMethod :: execute(XmlRpc::XmlRpcValue & parameters, + XmlRpc::XmlRpcValue & returnValue) + throw () +{ + Ptr::Ref scf; + Ptr::Ref storage; + + scf = StorageClientFactory::getInstance(); + storage = scf->getStorageClient(); + + Ptr::Ref> >::Ref audioClipVector = + storage->getAllAudioClips(); + + XmlRpcTools::audioClipVectorToXmlRpcValue(audioClipVector, returnValue); +} diff --git a/livesupport/products/scheduler/src/DisplayAudioClipsMethod.h b/livesupport/products/scheduler/src/DisplayAudioClipsMethod.h new file mode 100644 index 000000000..22ba33af0 --- /dev/null +++ b/livesupport/products/scheduler/src/DisplayAudioClipsMethod.h @@ -0,0 +1,138 @@ +/*------------------------------------------------------------------------------ + + Copyright (c) 2004 Media Development Loan Fund + + This file is part of the LiveSupport project. + http://livesupport.campware.org/ + To report bugs, send an e-mail to bugs@campware.org + + LiveSupport 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 2 of the License, or + (at your option) any later version. + + LiveSupport 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 LiveSupport; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + Author : $Author: fgerlits $ + Version : $Revision: 1.1 $ + Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/DisplayAudioClipsMethod.h,v $ + +------------------------------------------------------------------------------*/ +#ifndef DisplayAudioClipsMethod_h +#define DisplayAudioClipsMethod_h + +#ifndef __cplusplus +#error This is a C++ include file +#endif + + +/* ============================================================ include files */ + +#ifdef HAVE_CONFIG_H +#include "configure.h" +#endif + +#include +#include +#include +#include +#include + +#include "LiveSupport/Core/Ptr.h" +#include "LiveSupport/Core/AudioClip.h" + + +namespace LiveSupport { +namespace Scheduler { + +using namespace boost::posix_time; + +using namespace LiveSupport; +using namespace LiveSupport::Core; + +/* ================================================================ constants */ + + +/* =================================================================== macros */ + + +/* =============================================================== data types */ + +/** + * An XML-RPC method object to return a listing of the audio clips contained + * in the audio clip store. + * + * The name of the method when called through XML-RPC is "displayAudioClips". + * No input parameters are expected. + * + * The XML-RPC function returns an XML-RPC array, containing a structure + * for each audio clip in the audio clip store. An array of size 0 means the + * audio clip store is empty. Each structure is as follows: + *
    + *
  • id - int - the unique id of the audio clip
  • + *
  • playlength - int - the length of the audio clip, in seconds + *
  • + *
+ * + * @author $Author: fgerlits $ + * @version $Revision: 1.1 $ + */ +class DisplayAudioClipsMethod : public XmlRpc::XmlRpcServerMethod +{ + private: + /** + * The name of this method, as it will be registered into the + * XML-RPC server. + */ + static const std::string methodName; + + + public: + /** + * A default constructor, for testing purposes. + */ + DisplayAudioClipsMethod(void) throw () + : XmlRpc::XmlRpcServerMethod(methodName) + { + } + + /** + * Constuctor that registers the method with the server right away. + * + * @param xmlRpcServer the XML-RPC server to register with. + */ + DisplayAudioClipsMethod( + Ptr::Ref xmlRpcServer) + throw (); + + /** + * Execute the displayAudioClips command on the Scheduler daemon. + * + * @param parameters XML-RPC function call parameters + * @param returnValue the return value of the call (out parameter) + */ + void + execute( XmlRpc::XmlRpcValue & parameters, + XmlRpc::XmlRpcValue & returnValue) throw (); +}; + + +/* ================================================= external data structures */ + + +/* ====================================================== function prototypes */ + + +} // namespace Scheduler +} // namespace LiveSupport + +#endif // DisplayAudioClipsMethod_h + diff --git a/livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.cxx b/livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.cxx new file mode 100644 index 000000000..99d85c0a0 --- /dev/null +++ b/livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.cxx @@ -0,0 +1,158 @@ +/*------------------------------------------------------------------------------ + + Copyright (c) 2004 Media Development Loan Fund + + This file is part of the LiveSupport project. + http://livesupport.campware.org/ + To report bugs, send an e-mail to bugs@campware.org + + LiveSupport 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 2 of the License, or + (at your option) any later version. + + LiveSupport 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 LiveSupport; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + Author : $Author: fgerlits $ + Version : $Revision: 1.1 $ + Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.cxx,v $ + +------------------------------------------------------------------------------*/ + +/* ============================================================ include files */ + +#ifdef HAVE_CONFIG_H +#include "configure.h" +#endif + +#if HAVE_UNISTD_H +#include +#else +#error "Need unistd.h" +#endif + + +#include +#include +#include +#include + +#include "LiveSupport/Db/ConnectionManagerFactory.h" +#include "LiveSupport/Storage/StorageClientFactory.h" +#include "DisplayAudioClipsMethod.h" +#include "DisplayAudioClipsMethodTest.h" + + +using namespace LiveSupport::Db; +using namespace LiveSupport::Storage; +using namespace LiveSupport::Scheduler; + +/* =================================================== local data structures */ + + +/* ================================================ local constants & macros */ + +CPPUNIT_TEST_SUITE_REGISTRATION(DisplayAudioClipsMethodTest); + +/** + * The name of the configuration file for the storage client factory. + */ +const std::string DisplayAudioClipsMethodTest::storageClientConfig = + "etc/storageClient.xml"; + +/** + * The name of the configuration file for the connection manager factory. + */ +const std::string DisplayAudioClipsMethodTest::connectionManagerConfig = + "etc/connectionManagerFactory.xml"; + + +/* =============================================== local function prototypes */ + + +/* ============================================================= module code */ + +/*------------------------------------------------------------------------------ + * Configure a Configurable with an XML file. + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipsMethodTest :: configure( + Ptr::Ref configurable, + const std::string fileName) + throw (std::invalid_argument, + xmlpp::exception) +{ + Ptr::Ref parser(new xmlpp::DomParser(fileName, true)); + const xmlpp::Document * document = parser->get_document(); + const xmlpp::Element * root = document->get_root_node(); + + configurable->configure(*root); +} + + +/*------------------------------------------------------------------------------ + * Set up the test environment + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipsMethodTest :: setUp(void) throw () +{ + try { + Ptr::Ref scf + = StorageClientFactory::getInstance(); + configure(scf, storageClientConfig); + + Ptr::Ref cmf + = ConnectionManagerFactory::getInstance(); + configure(cmf, connectionManagerConfig); + + } catch (std::invalid_argument &e) { + CPPUNIT_FAIL("semantic error in configuration file"); + } catch (xmlpp::exception &e) { + CPPUNIT_FAIL("error parsing configuration file"); + } catch (std::exception &e) { + CPPUNIT_FAIL(e.what()); + } +} + + +/*------------------------------------------------------------------------------ + * Clean up the test environment + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipsMethodTest :: tearDown(void) throw () +{ +} + + +/*------------------------------------------------------------------------------ + * Just a very simple smoke test + *----------------------------------------------------------------------------*/ +void +DisplayAudioClipsMethodTest :: firstTest(void) + throw (CPPUNIT_NS::Exception) +{ + Ptr::Ref method(new DisplayAudioClipsMethod()); + XmlRpc::XmlRpcValue parameter; + XmlRpc::XmlRpcValue result; + XmlRpc::XmlRpcValue audioClip; + + method->execute(parameter, result); + CPPUNIT_ASSERT(result.size() == 2); + + audioClip = result[0]; + CPPUNIT_ASSERT(int(audioClip["id"]) == 10001); + CPPUNIT_ASSERT(int(audioClip["playlength"]) == 60 * 60); + + audioClip = result[1]; + CPPUNIT_ASSERT(int(audioClip["id"]) == 10002); + CPPUNIT_ASSERT(int(audioClip["playlength"]) == 30 * 60); + +} diff --git a/livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.h b/livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.h new file mode 100644 index 000000000..1c5200d47 --- /dev/null +++ b/livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.h @@ -0,0 +1,136 @@ +/*------------------------------------------------------------------------------ + + Copyright (c) 2004 Media Development Loan Fund + + This file is part of the LiveSupport project. + http://livesupport.campware.org/ + To report bugs, send an e-mail to bugs@campware.org + + LiveSupport 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 2 of the License, or + (at your option) any later version. + + LiveSupport 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 LiveSupport; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + Author : $Author: fgerlits $ + Version : $Revision: 1.1 $ + Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/DisplayAudioClipsMethodTest.h,v $ + +------------------------------------------------------------------------------*/ +#ifndef DisplayAudioClipsMethodTest_h +#define DisplayAudioClipsMethodTest_h + +#ifndef __cplusplus +#error This is a C++ include file +#endif + + +/* ============================================================ include files */ + +#ifdef HAVE_CONFIG_H +#include "configure.h" +#endif + +#include + + +namespace LiveSupport { +namespace Scheduler { + +using namespace LiveSupport; +using namespace LiveSupport::Core; + +/* ================================================================ constants */ + + +/* =================================================================== macros */ + + +/* =============================================================== data types */ + +/** + * Unit test for the DisplayAudioClipsMethod class. + * + * @author $Author: fgerlits $ + * @version $Revision: 1.1 $ + * @see DisplayAudioClipsMethod + */ +class DisplayAudioClipsMethodTest : public CPPUNIT_NS::TestFixture +{ + CPPUNIT_TEST_SUITE(DisplayAudioClipsMethodTest); + CPPUNIT_TEST(firstTest); + CPPUNIT_TEST_SUITE_END(); + + /** + * The name of the configuration file for the storage client factory. + */ + static const std::string storageClientConfig; + + /** + * The name of the configuration file for the connection manager + * factory. + */ + static const std::string connectionManagerConfig; + + /** + * Configure a configurable with an XML file. + * + * @param configurable configure this + * @param fileName the name of the XML file to configure with. + * @exception std::invalid_argument on configuration errors. + * @exception xmlpp::exception on XML parsing errors. + */ + void + configure(Ptr::Ref configurable, + std::string fileName) + throw (std::invalid_argument, + xmlpp::exception); + + + protected: + + /** + * A simple test. + * + * @exception CPPUNIT_NS::Exception on test failures. + */ + void + firstTest(void) throw (CPPUNIT_NS::Exception); + + + public: + + /** + * Set up the environment for the test case. + */ + void + setUp(void) throw (); + + /** + * Clean up the environment after the test case. + */ + void + tearDown(void) throw (); +}; + + +/* ================================================= external data structures */ + + +/* ====================================================== function prototypes */ + + +} // namespace Scheduler +} // namespace LiveSupport + +#endif // DisplayAudioClipsMethodTest_h + diff --git a/livesupport/products/scheduler/src/RemoveAudioClipFromPlaylistMethodTest.cxx b/livesupport/products/scheduler/src/RemoveAudioClipFromPlaylistMethodTest.cxx index ca96cf39f..338d635c2 100644 --- a/livesupport/products/scheduler/src/RemoveAudioClipFromPlaylistMethodTest.cxx +++ b/livesupport/products/scheduler/src/RemoveAudioClipFromPlaylistMethodTest.cxx @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.1 $ + Version : $Revision: 1.2 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/RemoveAudioClipFromPlaylistMethodTest.cxx,v $ ------------------------------------------------------------------------------*/ @@ -155,7 +155,7 @@ RemoveAudioClipFromPlaylistMethodTest :: firstTest(void) XmlRpc::XmlRpcValue result; parameter["playlistId"] = 1; - parameter["audioClipId"] = 20002; + parameter["audioClipId"] = 10001; parameter["relativeOffset"] = 90*60; removeAudioClipMethod->execute(parameter, result); @@ -166,8 +166,8 @@ RemoveAudioClipFromPlaylistMethodTest :: firstTest(void) openPlaylistMethod->execute(parameter, result); removeAudioClipMethod->execute(parameter, result); CPPUNIT_ASSERT(result.hasMember("errorCode")); - CPPUNIT_ASSERT((int)(result["errorCode"]) == 406); // no such audio clip - + CPPUNIT_ASSERT((int)(result["errorCode"]) == 406); // no audio clip at + // this rel offset result.clear(); addAudioClipMethod->execute(parameter, result); removeAudioClipMethod->execute(parameter, result); diff --git a/livesupport/products/scheduler/src/XmlRpcTools.cxx b/livesupport/products/scheduler/src/XmlRpcTools.cxx index 1dad6ef45..a32574845 100644 --- a/livesupport/products/scheduler/src/XmlRpcTools.cxx +++ b/livesupport/products/scheduler/src/XmlRpcTools.cxx @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.5 $ + Version : $Revision: 1.6 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/Attic/XmlRpcTools.cxx,v $ ------------------------------------------------------------------------------*/ @@ -202,11 +202,51 @@ XmlRpcTools :: playlistVectorToXmlRpcValue( playlistVector->begin(); int arraySize = 0; while (it != playlistVector->end()) { - Ptr::Ref playlist = *it; - XmlRpc::XmlRpcValue returnStruct; - returnStruct["id"] = (int) (playlist->getId()->getId()); - returnStruct["playlength"] = playlist->getPlaylength()->total_seconds(); - returnValue[arraySize++] = returnStruct; + Ptr::Ref playlist = *it; + XmlRpc::XmlRpcValue returnStruct; + playlistToXmlRpcValue(playlist, returnStruct); + returnValue[arraySize++] = returnStruct; + ++it; + } +} + + +/*------------------------------------------------------------------------------ + * Convert an AudioClip to an XmlRpcValue + *----------------------------------------------------------------------------*/ +void +XmlRpcTools :: audioClipToXmlRpcValue( + Ptr::Ref audioClip, + XmlRpc::XmlRpcValue & xmlRpcValue) + throw () +{ + xmlRpcValue["id"] = (int) (audioClip->getId()->getId()); + xmlRpcValue["playlength"] = audioClip->getPlaylength()->total_seconds(); +} + + +/*------------------------------------------------------------------------------ + * Convert a vector of AudioClips into an XML-RPC value. + * This function returns an XML-RPC array of XML-RPC structures. + *----------------------------------------------------------------------------*/ +void +XmlRpcTools :: audioClipVectorToXmlRpcValue( + const Ptr::Ref> >::Ref audioClipVector, + XmlRpc::XmlRpcValue & returnValue) + throw () +{ + returnValue.setSize(audioClipVector->size()); + // a call to setSize() makes sure it's an XML-RPC + // array + + std::vector::Ref>::const_iterator it = + audioClipVector->begin(); + int arraySize = 0; + while (it != audioClipVector->end()) { + Ptr::Ref audioClip = *it; + XmlRpc::XmlRpcValue returnStruct; + audioClipToXmlRpcValue(audioClip, returnStruct); + returnValue[arraySize++] = returnStruct; ++it; } } diff --git a/livesupport/products/scheduler/src/XmlRpcTools.h b/livesupport/products/scheduler/src/XmlRpcTools.h index 99ba46739..341116fed 100644 --- a/livesupport/products/scheduler/src/XmlRpcTools.h +++ b/livesupport/products/scheduler/src/XmlRpcTools.h @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.4 $ + Version : $Revision: 1.5 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/Attic/XmlRpcTools.h,v $ ------------------------------------------------------------------------------*/ @@ -71,7 +71,7 @@ using namespace LiveSupport::Core; * in the Scheduler. * * @author $Author: fgerlits $ - * @version $Revision: 1.4 $ + * @version $Revision: 1.5 $ */ class XmlRpcTools { @@ -192,6 +192,44 @@ class XmlRpcTools XmlRpc::XmlRpcValue & xmlRpcValue) throw (); + /** + * Convert a vector of Playlists to an XML-RPC return value. + * + * @param playlistVector a list of Playlists. + * @param returnValue the output parameter holding an XML-RPC + * representation of the list of Playlists. + */ + static void + playlistVectorToXmlRpcValue( + const Ptr::Ref> >::Ref playlistVector, + XmlRpc::XmlRpcValue & returnValue) + throw (); + + /** + * Convert an AudioClip to an XmlRpcValue + * + * @param audioClip the AudioClip to convert. + * @param xmlRpcValue the output parameter holding the result of + * the conversion. + */ + static void + audioClipToXmlRpcValue(Ptr::Ref audioClip, + XmlRpc::XmlRpcValue & xmlRpcValue) + throw (); + + /** + * Convert a vector of AudioClips to an XML-RPC return value. + * + * @param audioClipVector a list of AudioClips. + * @param returnValue the output parameter holding an XML-RPC + * representation of the list of Playlists. + */ + static void + audioClipVectorToXmlRpcValue( + const Ptr::Ref> >::Ref audioClipVector, + XmlRpc::XmlRpcValue & returnValue) + throw (); + /** * Convert an error code, message pair to an XmlRpcValue * @@ -216,19 +254,6 @@ class XmlRpcTools XmlRpc::XmlRpcValue & xmlRpcValue) throw (); - /** - * Convert a vector of Playlists to an XML-RPC return value. - * - * @param playlistVector a list of Playlists. - * @param returnValue the output parameter holding an XML-RPC - * representation of the list of Playlists. - */ - static void - playlistVectorToXmlRpcValue( - const Ptr::Ref> >::Ref playlistVector, - XmlRpc::XmlRpcValue & returnValue) - throw (); - /** * Extract the from time parameter from the XML-RPC parameters. * diff --git a/livesupport/products/scheduler/src/XmlRpcToolsTest.cxx b/livesupport/products/scheduler/src/XmlRpcToolsTest.cxx index 7d58b539a..6e4dd941c 100644 --- a/livesupport/products/scheduler/src/XmlRpcToolsTest.cxx +++ b/livesupport/products/scheduler/src/XmlRpcToolsTest.cxx @@ -22,7 +22,7 @@ Author : $Author: fgerlits $ - Version : $Revision: 1.2 $ + Version : $Revision: 1.3 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/products/scheduler/src/Attic/XmlRpcToolsTest.cxx,v $ ------------------------------------------------------------------------------*/ @@ -124,17 +124,24 @@ void XmlRpcToolsTest :: firstTest(void) throw (CPPUNIT_NS::Exception) { - XmlRpcValue xmlRpcPlaylist; - Ptr::Ref playlist = Ptr::Ref(new Playlist); + XmlRpcValue xmlRpcPlaylist; + XmlRpcValue xmlRpcAudioClip; + Ptr::Ref playlist = Ptr::Ref(new Playlist); + Ptr::Ref audioClip; // set up a playlist instance configure(playlist, configFileName); + audioClip = playlist->begin()->second->getAudioClip(); - // run the packing method + // run the packing methods XmlRpcTools :: playlistToXmlRpcValue(playlist, xmlRpcPlaylist); + XmlRpcTools :: audioClipToXmlRpcValue(audioClip, xmlRpcAudioClip); - CPPUNIT_ASSERT(((int) xmlRpcPlaylist["id"]) == 1); - CPPUNIT_ASSERT(((int) xmlRpcPlaylist["playlength"]) == (90 * 60)); + CPPUNIT_ASSERT(int(xmlRpcPlaylist["id"]) == 1); + CPPUNIT_ASSERT(int(xmlRpcPlaylist["playlength"]) == 90 * 60); + + CPPUNIT_ASSERT(int(xmlRpcAudioClip["id"]) == 10001); + CPPUNIT_ASSERT(int(xmlRpcAudioClip["playlength"]) == 60 * 60); XmlRpcValue xmlRpcPlaylistId; Ptr::Ref playlistId;

8?jwfR~*rn!eyUVuuu3kVX}+R{|oR~-xJiN_Rl_9MFp zMltDSA(YP_`f5&0J#f+eOtj%mvUXs`UMipW+)7+Yn*V&#CfSI1I(5h+TQfsu9W}s< zw;akkaI%z9Bq5DMd1Kc`_nSIT8UN{DH*=RX;ASR*d08f8w9R1S8hZG>dAABf*xh%c z^|JT6;r8yAw5IfHWfvaa*nIZ2V!-;e2e1}s-#brye?Q-unHX~obbWZzUH-?)d`2%` z+@UG%Yi-I zjKN9$1SZj1{lxk=`tpP43-{+A*6wV4sIHkO-eJ7mgaKMS#Nx{Ev{5}Sr2`WFgIvFD zy)k8@zfzR0{08s;p9`6jn6w&Qitb45%A5EmA(EbH!-s4*&=xE9RUdH6Qvb4RDM#sl z6$%6e&m8H-0>(pi$j77f6McAQ0j{9oV~LE)cSh`M`~F7=N-7*uN{A|WhIU|aRxoeN z|GBoX$Gkh&^3~8#p49SM0~i~;5K~{qtJ#zI*FpVF4H}& z@HS=pLcR-}dovd{wX=J@aPo%F@Slv0;bhg^K*lA{<^m8&Msd&PbTrH1)=SuN=QnoR z)Uf?JIW6mLEA|NxUWCu)TBCUM&*u2MZ2z z+o#D!{ip{<-YCJk2;=00sh)@VF319HU*zh9Cu<6eEEOQOHDj#nb9#X)fWNgZ`Yf9p zT)E;G6&OFh2T_(Cmvy}jM~H>MUffyfXh#6L@uxmj0WXP_9^zY1~*J;;(Ab$Ar)t? zQnKy=ODbfR@w~9?mb_MS4N9oOLCxQk+%P21o9yAR&F7&0EK|K)dHsnryHGSj?FT0) zMOin04bCkou1T>kY9FS)WY~twgsgn5<4wQ{JgbnI z-(dbV4atnsAYUPu!j0h2R!(cVpT7sKbRu>@ZeEzSA+AJyh<$UTGX7=Mbe<(vO_`VH zh(%?{?9SMtvD`I4=WRk1T;)O2f?kIQZ8!sE(0i=!|6(oQ{A?(Cb_Bwn-l7+FzElV5 zPF{{`{mWW*K3GeSBDtSOXA8eUsk!^2bh*F6kNBB#7eIUZNvt-?Gvx%e=d($c`ywv)4?DZEUeABfsDh*1)E+WqGk zV(Z2EsZcRp?VxC$*%< z6LwdYGLw%lYEczJAO z=f}L}_LQ;{esdXGUr!yz0tCpwWZ!{S^f zu{0#hKTpuM?nV{}T2-N?;bf zqV+}&k0F%@01TpWF1uo^jc_j(JJHY3;h@uFQ@3%^nFwQ!HEiQt(}Up5@2Q9`yRQ9| zES45G9&f49`DtX4cV_HFN{GQW@WvQvN#xg6ssr(Ic?KIDJ;2_#~g=*KSL{aQ;6TfqC@<}Wl5p=NXXRa>cvq- z0U;gLRMY4CbZzT}Q0oW=8oX9SLKe_GudW|5FipAx6lM>hP+#9FlrK$46G~g-QOHir zqpbN5k-Qjgs=aeA{*%mr@BswhH|#o4kfTMH>J}PE;D&SxD-MX^7}lpkeP2?naTwr` z5=dd_V<$Qp709d>NTEKmoRx(p$m}JXbV~aisLU!-XvpixTrqiN>XWdxx zlS@F&Kxn%KU~-k(gQ3OM2|}LfdX>ZZO+WsYannOEBQy{(4&yi!lOfAf3g$S}kR{WU zDHwSqFPs4~)FB*)a5+-NnNmADY@u{{Skck6KhQ-|7E4~crHVVHY|}rLRyV@29$?CR zcK!fL?u>}Gu3@?p2FlAc7r9O#Tt%+G$SB91J&*0Jnt&`V2qiPUK>4*w!lszaBaw75 zzVw?R^`Jb?D^$s?RnKYKcbF@byXGq8EbSTft8uM4_<{H52PQ~8Pgf5YlgNYX{=7XL z>dmgdbJ@Kel8xnSZz4Xv&bWWyNoG5l=e>UmW7oYkErg}yg%%SNN$Z6tY{+QRb+Se4 z?Xu0`eY3K$snB&Ii?^}N3Z*_tiu?uBZ1m0naD&CdC-pL{0Pk+M0X$NlQi8V&ge>{S zP+RKx(>21&iS-22qTR;yrimTXEZitg97f3;HuV$3g|(Fqt~amt!*+*P*kTEuLUsLv zri*GmNYKj{$wKUZO%f%5NuqaN_$+R-ATZzlsT9`Dgqr6bnJd>*3$6t@K9hv>lA4bI zGrL(Em$k=MlRb6!(fMuq$zeNYctNieHiHaWE1pg<7_|y#jwF|O`olayK%R!8q)M0M z^T7|`GL+578@7Y|gxD$JPRo%TMEaU_A9W?>j@|}(B%U3LBTwTi_zDB)XC9$zqXU(S ztTM?|%^U|7zj(mz0?kd)8F|hYuou)2p~|>GHsyx*qvFw5L8i)z^{+BluT89tS?vsA zJ&*%`X$DgJxiau71fF;XbUz>HPSmuq3&4V5T`Pn5d?LNGZ@JUuzo9#WxN(N#K8b}j z=?nCSd7;}-UIW$dCX|fbmZ%6?<+S|k+Bj1pbn>k>UYgFme2gBX7@K$dSwt%mZxA;C zv6?QYa?i+Ux4*|G+DfHj-(MCEMH2oTBAV{#pXJu5kVVFSAT6_S-$flo(OoyE9XrCD zaMtB6az!p+0<4g7t0}!SjA1qDhgIBG|7@&W0BT9&oTQ5UQV297&@I)2Z}%rrK=#I! zMf0s=q@q`x@of1aQJiElN^l_vrH8%X8m+rpB98>*oLCtcV~6T$U>Os-jA7biq_ zFr7e$+mnrcH+~#a4{|=GR1MD7oZuXkzwj00mTEfJ>R;Ds)k=(#^r3)Sg<5sB9M zk1Vc6zRIT-g^P7S9FS%i&A*qGMGxRmWgIsQ&1oP^Yj)zSskS4@>p+ zZsa-|@T`yI?r*$2Xj8Dy zh}VlNiwWoD3<$*wY|oVPPIi8DJ0+Rny+3vpT>3X*y)|Dd3t^z+%(EaX3Q`c(VvXh6 zsuu^%3)<}1B9(?yW^=^_el8>&?s0(34Kb0RDhEfE6YGgfGKoqr_K=VhiYwsS$S)$) z(fhk)#QF~|rfr%)w(O_do^=vquwoBm`6vWvL0sCI)}je?PuD7Bv1$u0ccWiY>#wbmja)Kh zPva>4D;n*T@vUhtDR-f>Yb{9ml6p*dME3*ft8o~M+T!8_W=*6qd5jELT(zyxxS&*9 z3Yh$~N4GXx!3d0;Y_C?A14Q-lKO#mHPZWB@3-n`kKpK-VCcO zNn~mjA|1h&i}~?}GwEio9t@aA(Gy?D6cuQG!jb$%1Ycaa zn~STc8Hq}t{RoC-e#5k$+i@!^;?LxRw=sv^B=-7vG3&ud<33U{YIv$f^!N>vV&dGx6f5MT!(ql@kjQt|5%*-QQ8YUVn{6(@*f$7yp z668aWk3ZZvkO`$itt&^qh3f7)adgAAdN_A-_~bty5uwM}v(jjjh+LNu#8@*fDx0Dz0A& zE`$Csl96ZCuSX+$gYft-URoPZlcF?!C!(3Rx?Khl7ePm+_Ux4F@4O!|9SS=7BAn0v z+Yq$>1%5OZ5;=Jwx|}{zpJs}`2udri;aN=vcR=l{;{J*;@PAa^u6ftiPb8g8QZsZ> zZ|3p9wzN;uwPrqLAljBNZu=Q#yimwux^xaW{+TBc4OnjbO)?#U{0@;*LLsM2cNzV6 zCtP~05#YRknjtUJzY1T4Db8_(W921Ngd=(+Z{Q2Ip1*)j0_HHUKI&F?Iin6sSLh@n z_|^Ef3XEzsn;YQHd=+HZ2rz2{q5}VzZ1wj4YqA~RhK#uBByc!#>z8mzXz3m?7+ExP zNyrzR8hlY|3N+4JjE*N6F6={4vc23+BO3-Wj`%KL&MtIm$4W^OzLQz$pFnr$MfGzB zQW^wT764FME3jk%=EP7vrhnS%6;n)V?pv8EYyC5s&O2TNN^?+XVDo^hI>CD^_qn+w zev_lr&MI@+t~VA^{YU3e#uiD$1?6J1-yDk)9_y#5U@f<^XufAaY;q(ex&Hx#_Yme| zuWudjf6chsHl>3CL~Y$(7_8Wp9%;l18ru<0VE#a? zU~52Tg{lUSU*C$m5O+OU`zcDu8d4Xii~|?5K|PC$yMVyZ{wV71!m%#~r3`wy75yD| z^D~T)1xI7)_Q{rXkA8CtY|S}jTx<92%P?I&)z7~_rkl!`M{(b-Tx(h^Nf4kbD6M*6 z!Lni$2J&;AR>b1CxojU^Y{Xg+L+Ou_PeeI`ssjzdhF=1fBCBDm19=fM-l@f2*vXbL z1fxU)wyl|?6~07p10k$?TorQNrH6Ir76f+}KN)|&k)btNKW;7|U2;QqWeBrY;Nq=s z=<^w}|C=?Q7W~(n-5zXbJWcqD@9EmCfXbrruFFK(jS7HVfn|EEZi0SJO>GU_mp!}x zCb2pn!LlJp^kHSI9Y61N*>@(&vPzW})?->}&06x!sz9ZynqR% zwGSQrhtA~*tMI4gk#AwMUAYKv$yZC0X9CE-ScN%F9X*VR`XQOaHKr&|e$xx^5yP#J zX5JJ8MGtBzhYrfJU-zx5}CL{7@`po^n$KPY<%w3&Bb z6>L4T691_;S$cVb4@X%YG$k+u<`NhJ!H{4rVi-*Bk6vD#=B(3oKLiU`g$9$i__26f6nGGdi{7wnS0LYS2F66_w8MJkS>$n z`!gSgjvnv583NqVPbEeTOxPvnn@VYhOjJBH+KV0!ZAG)4JC>B)qNut1Hzxc&@JNd@XndE&75p@EuJwJ^`sLoD8J2; zkNvh1+bZVOAO@)k%zTwvg~(Y)bU-Y07n;c5Na>F_BrTh7O`%`pw7dp}Ea^S7WyXI~ zhrt2+MGRq7aU&;g(0g~h>$K@@#yUDi6^HH+`}*k&iX`6fTvw7{m|qEU6D^P*U_G$Y z=c`9xc|ueu7KYHJQJxTxhSfffyJ6htf?xU-h0IWkxG>8)0$W|W_FjypbQ$+jF zj9-027#NIf8QEf_6M4YV{74Pd{+k-;0a62y;=6mtwpWx*Z6NLQ%JX*jpFF^*G!h}( ztJq<~Hjx7q(EcdQ1M|+nwL`w~gCQ+yS<40#@@^7jZg2MmllDDF$UJJ5!peH@Ck(+R z{3CS9kvPjN%FXzeRf}7BgC-0iaxV2rL z&I)`2unKL1JU~83)XO==Dk+7LC4N#kosUcG3zJyl!54qJexnNJsnMwr#zeohm zMn#N=7da11Gx1<)Icy?KRTRW*7R+14wi7B1ys89I?sY5t`db50j7It3olen|0wWcJ z$RmnHy;xMaggA|oa17XQOp_pzx`+@>Ywf}QbhwD{(=9%&OERYWF|pex7WJGP_$EJ{d`V56%H zm&X(#i7m1e7Sa5=65-m~oa(*Q$bDASMWtadoMYN6lzRF*{;cIzMY<=)d7(*$J`1Xe z92%EMMn_C*jp_b`9BbC*4v62B*3PSem1jpVxD2TlwurLnC#gaAt-_Z);qDu^o#Udr z&ygMNjT+LwlVKz>9G1j<6r*n}6cv^R(((aywANGO$52A{-K7Bf$FP{@k6|$s$0tYX zYgGRXi(xQc-_~4c6n+^g=ZpCl2|PT&m^nR-!d*Qa{BXbAPvZVFx8Iw@<}K0FXgv|J zn6dHe@4)l()5QY>@9WN1IOT;oXEW>lm;O$%et7VP1FcB}TBG~z@8|FH&t%3<*fW56 z-`j6$wYWLI!UhWi^Qxz33Cr=l#407@&EyQXV|Byx`5o80sp7r4!~JbH>*aiB=iK@w z0x-5tZ>}WMwWI^aR$8|9o!f@OkPKEf-7h!-uVF$z>RN=I%l{uTi-o$MKTHVCp}C|t zOzUL-`OY~7hTBTdr{bJ1;t%>SpY5l<42FWwEQb%!Pt7Z z(NM{aY0Pvpr+pK%LAR?2*#cT72*g3t=F;!KBV*`VNmRWroQqwdQNZOgfsrxD*5(u+ zqCivc3aQzzurRjs+7HeF!!?og0`6Tyep!TgSrkXF7cZzcn>duOeZ8go?3;JhTmXl2Os$qGXD zv1YL;KxI=|-01EXBcI^>9YS#6xbBfgmLX_gU6|mDKsAXgn1bfWsA)6C0&i{BJ&R&x(PuE1$xYIR34760fXi+#BgNlkQ_@+ zXRl?Voj(;+nvA{b&`uoHVW3zV1Qk;iT%51&@*Fsewu$_=^^P8Euy9^;0oeR^qHo$; zLj0a;x&sN^*&FJj3U5Bx_)q^+C#%$UvkISjzO3{iJ68Eqh2w?do0 zp?>pI|EcYqI_YhZElvosb;f8c%1fHg3GDE`y@~IMo()D#4A64Bse{F9qy#$}X}L!@ zijJr4HEq+iw#M8b4)*+5k29*si+RHZM#r$+9n)^)UWb$1zV}^yGzNs(IWONczB#XC z|F5oq*NsM4HAyURivdx$EoI4F(E617>0qtLx^Xa~91K$P9|EuX3YiH6%7yuF*1~1!`gnw9)z-XX`X3*P#Aap~cNC z*Q2AYkV^U#cVL^>9a#kdZD~{B@NfRy?g`8_J46;2o(uY0it-gXKRAHcc&RgCRz2^j z`@y}{yLN`mq3O<`P6?OSY>H&h4rHU2Pn1u6{=;8m@~{iS4>yQ^;+ z_yQS^an3AqW*Zl=B;-IXgl4}`6LaS&IzQSz+|U`DnJCK!#Oqc{CHrX*t3#gaSD9(| zJW8+1)wHgW6lKo zuQ@ZMks)=7>Kjr25%+?wF9{r~&9~{}GG{xs`B_)Mnpt67u9e?R^gq3snNJZwims?9 z07%h+&y(-?fUW9167t%~sh&1{)u?>AiSa|sf~;%zon3|`s{07i>E_-c;0izyA%_=B z83h4Rx)4!IvaF!LigJQxgA!agIdphJx%2*ncJz4H;G^gvkU;741NnGS=Mhy#(5&^3 zV$&c3TmF=KeU9U-`e)M8$pb_YKK#C_LPHlTejTwCY|JZuV zpt!cRYdgUuxVyW%ySuxkad)=_g1fuB6Wj?-Xx!Z$g1aSOlfBRR&QtaNYAUHt7g?*< zoO6tEUt??>jeL{h2!ZQY`Y+iIvv6%{dBO&&>M#o9)pT@W6h;WWVlZXv@c4P&@($P> zh*eW1w7OwYwD+YE+mpu#baY#FbUBp6!`TNA0=S)-Gh6Xj=6lyq@jpO*2xw?&fE)Vd*HD!Y_rYMTa-(q+UL7(A_hq_Ei%T z#JS;zgmT6?pHM?C_8InaCr2?^Vp~pjj}%YuzmKQhWs2biMNZ*}dE(cq*a0{~kuHNM zQPZC^hK-S*DGnCaV`K_>_wouBuUM9upK!v;EEV2}~tK@uPTllS{O4QaLMR z!EN~mmG?L;yYa_@_gUAsDH6rOGoD7o zpo2Fr+$C@aq)`!gc_n?!Hsw0 z5_>95L9;U3+G3mj3LzC3lEAhXEOuOHi~||!ok?aGlgh%4{%-26@)_1UcV>MG75!1t zvX|XeK@{`n;mQhm=K1>Za*A+rI9hI$r?rHkLpSL$mE(N$nFtnf!z=Gksw22m7Zjr1 z-1D%ZpmoZ#Qbs&go#d!P*)yl)O$>SnZgvj>;yK6IIe9L(@|47$%x=^2JCPHfvjSDC zGGsdU`^HshII&Hb5P#5VQlA-Sj6`>r9{KO(OwkSX5hnqc+y~E`t1u64)3oMcI$L)m z4~IY3k1tOJFEe*+WsEoh_Hag$tjFDWVZy{Yxv;K<{sA7Vrq1&U>L1F4$%mF_X?m5A z6b^56@UHV@>!Z>t0Uia{tk(hVs~tEMZU;c@#pHLk=pj?J5*1^)FT<#8zbsM7zsE6> z!FbLBhVL-Jn(Uu~(X*C+ir5@P2VfoQv4|BJxMb|V!?|Rq2$Ii2_NiKF0i>U2ATXvvd**8W+;}@$x%)1m#^^OiHLM)RtU`4 z*P8KY3?W8wlCms1XYp;^p-FLc$R-$RFMe?x~sCa)>|!~by&dIBp$1t#wgU|2p` zjv0M~fl6DNJX?u`6jAy8&!T!S1J$_G-v{ZRc2Q{`zyd%ik+~|?5Ror-XpHe zQKbnimf-%89earFBovAh_(Wz3kOYj5kNu1e-6mcCZa5BKNK0)9zJWjrnESFJ@EY=I zTGe%!nwIfOmpuZ=A8y5T_MJmq!!=3!iyrelt0)4Ju-ak|QA+8r$Nu{4B%!hBZBf?z zq9S0KHEBYP?KK6moDx7DKL8ZhOsozn)4m*J*(k*jBTjK6K{gtLCQPJ-*jYyoGlLmx zWCg1m*p=xZN2W6_UNa%o!%3jE(z^xVgybg?=P+x$Gb?H-D-@|Y6Qn*VLG1y;Ei@?x z6Na?!kw4?J_vR{8H>q-8}FwZm~oUH?F$u)j|GNWm1g=UfsL8W#r~`|DNW1^ohk3;~pH0L{o@(AjrQK zaQkkYBm!%){O(HsCnyY>>Lf4#O?5`gu3#7hUH`9R@bs@^!1vcNNW=i(%fbA03{;Uz zAQA%i8rNH!gE1S9{GWoiq>h(a>9KTSNo|XcCk>{#<8giZ-4D%Hy;Ee}orx1f<^kkilyCt=TPDChb7^gS5cge79cTHxKB2mmCV@HqP31$3s{J#8;y#MGt=!3PE~ks47ql%a z+jEMX_W@*e1BHPSlyE&klu@yVmTiQ-l(cbMQlM2J{EEQQz8eP5rQjl#sSmO;`TXE$ z>U+CjIAcsVO>&e;OsZ$K2kwDq_khkvZQrR4arxNUONp)coX^9}e7ioBQ9X1~Of8@Q zt0?x9W3DqPh1iB%c5_?dA&omk#pA-;K!(EZsFu-xW8|tZ zWZ(LrFb3{Ht^zFCB}AA+Ix6U{@U@4stL%ZA^o4+ub_|tOMi?&D6=u5dA&Ym-k;& z8Gvp|jkGOsnYwXsm*wHmAOv7DdQ&V`AIx(y8j2){WG$m(p|uG#Y$NdF-__)~nLoF# zHJREqDrvo`|F3n-z4G;0O)X!+ZZhZyPOm<)PA1YF0Vf|mXX`!H+9!B^6X5u6B{aB| z_kKiA{zG&9^%m+6$Vy20b-FusH8rQ&zDa6L72;=R$$|ND2fzc-GfyM)x! zGY;h+c@9QiZteq&0wHfxyYA(z*le(6O*EBo|L1wspLgrKW?>p&>Axv%xNF3VVS{CF zwm?x>IDK7TLs^Bt+T4=k7Z8rK2{dqzu8I)y@h_tJn?-+5C0fZlrkQ+(B%^JCTF#Q9 zIiHid_5;1J2nMAuLC63c=p>sPzz&gDyS4Y+vo*5el*QcIijhOh4w6AB@y%G?!{+jz zdA?ank;KUml1M_*UI|ld=K6r+pV0MlM>$1pI8~@j9u8N=bt~1P9Qy?GBR%}*!H@j@ z;O|-qh2jWxV#@nra|FmW6{ZuU*WdO}sAz))4q#xK;rd*15~JaM&_n4{CrFh_d!HnA zllHIN_eUu?aa0Q$K`t&nBu|3OGVf{{yuJo``xkS?zn>-rKdi>9k=j)072Q^kKdq2Od$gemH7564&Az^^$_ub%oQ zA`e#$S@pKY2Q&(zcrJ_|9L+=wQ^6dfyYofWZAv*Yub{H0Mn|Vrdz(ROj%Rr#*V6Qxq^UM1yO(>?elA@DHo3SVyodU(6__xO8 zg+v=g^8{~a^XR+13^ZOBo50GmGfg6Or5c{zO1uk0c$dn3OyE@3L3xeF$w)8RBwI{A z&!FZ4@JEimOW)0_D!G5t-5&L>I9o&iiNH8b(2th#K<9C*jj5n&@vE)mLAx}PzKk+{ zns`{B8tTPHHjFt`mJk6@jaew;=sfg*rejPdoKa zMTws(z!pf`u-8zou_BRN+rK?8&%@`JD$dg%yF#tK1ECaSQ)x7bhXb9bq?O?AZ9CYy zcbU5bFc=~CB@daIW0crbm*LV4fS{&h?(UBw@FQT4zekzkm}G}j%Ii}8j@!u?3xUS% zC>As|qo8tv%z#x^GD%D&CV5sMW?^Lw@et=jQ_>BKy7BnzA-Tm~>|#)Ift9YN?6mKg zL7D>W-=Vq|nk1S&oYfKySd!HCn*@;ezBVYvl6?++u>-SG&L+iUWzZl`Dh8xyNoHDc z0?`n4OZf^Iq-JK*AjrvM&)#PZt1X0>o@YM^j*##qx^M-!@ERuc-Zk~b8{S(Y~{1lrthkYwk{9=~HDx7GLsr1y8p?>k z%O@5?V`FB4#G3u7;mm@^&dtt-)qn#Q;0_$Ly_{0qHa-uDTn_roOt))HXkpx4l^j_f zmW&!7&D5Xvhdp0tsNQg4a)3X?tdTzd8c?yrKFXpj2ol8EG%yJdUdFa%7xcUNeYuSP zQN&x=$HW(y~A{p+G(HL&N1)XJJ<}h)6U_T#I%=b;nlEJbsEM$H=^^^ zb2bC(zH11A<|*>%`!!|WJ$5*=AeOodR0iBtIq3Vkzn<#ck23ndspfODQ22(rJ2$7J0;t|My;}OD7qUbnyJ~eo#=(MrRahl@j z%e+HZm=Os z^f((7HoXX1bRtWvVVHwHnlm&YudN~s6Hj7X?H3GgT+hAtu5#AOFrSZ~6YOAH4o`>n zk$2;hIYC2D(jzU!0W^^xB~)hF2GxI+gpsqO z-E^i{B&4&e{j1}d8KiLKRsBNTE2he|O07R+y}f)$zORrRe11SEuh*OWE>D-aobl=k zn`gKO=FJ>}I-wuEQ?U;ZciUG8zR$z`cye2d?!FG^2vLEFQA9BIlU<*Q^~cT!jW+&N zKPaU(_;8QhT)ZOOdzRgX=d?Ra5nH~3Tn22nKd0qyZ&yNRN?+JLVvWu(y5D{%#s2u? zZ1l(N%fqXT=+iqgufu|-{I@#|O7}W!!_8A}@2{ZU4nrZ2Fu@C_K1AlmXLZJHq6s%6 ztcdH}j{8Z6SS2Q|jQC#r%MP=t37Ao=Ale7Fk{_^!N4pQ(59*(~uC_nS*O5`YGWfru z`vv|Ys;HPYF%oKyi{TF!Kz>I0`c`)wLCvY@+E$C&I^DY-La=@51J{}W7px*___AS) z3sOri7PatT`Eh?L;kuOeZ*B)p#63O+eNI;8hG5BXIPGxR%I#v9)?|sz;6d=s!s4Ii zq-W&t5>nPipA1I*&&K%c1*YjsZ!Qng9f(n%`))W`(IJR#fD8xm6;O8x{ayKNKrUeh z;}*Zs1lsFJ@HIMGs%$Z6dffD&b!=C4*3~>as}x%UR;*7|gF<(}c@B%-Yb5*IxRo4C zYWYj>b^5zLVs|-5>FFjqKZL3P$%>(UU_G0^mEufZme{sK?g|jKl<*N@uXAi`UqRUQ5Y3xHl3mVq|qa2@x>o0cjJqwORo9juAZBS-Qdzc(0HLb zQlCU0&>Hn6I7M} z`3a=7R*OTq5>J|`a1ezqk%h|45(uef&BISPA+zcUA~ zNt+fm=l=j)*Bu|fH`~6+GOVD&{qcrLAQS+_748HXG7Q#A2kX{KrG`WxC4RnW6e8%C z4FWu{tW{Fs-Nu4fkSj@d7`Qz0G2N4~tcyzK-m7Wcmw@GPats+2|8&#*;z9l`8YGGq zQp1M)dnd79HK@co+FTswm<9>Haa6@7iJ}p8RXLN{qbK--$n5}V$i@I1G-T7i1z_s6 zs>1zwXqw9HY2lPQV$(j){YV@Mnz7NxehtnlrsQA%Ts~^qBN(7oiLamYs;W(8ewGVV z!bj90<&e^<(ktD>?`d)qK$b|2_a3D(-Yq#K$cU zj$2R7@ZzA*?5m$kdHX2$9j2IC?!E{0b>!yY63rl3stMt9xQ!@=*uou9-%k1W2ko!Q zV+yvR$33XxN4BOTwYOqXPTD2@i<(Zweh!$E4O7&kg9q z?K?BA3=+D@*B(@8xpi`Ixi#ZyJi!#;G3U=28;;C)dB4hm6mE4jb3|L%F)-GIaNC=y zgj^_?*v}?O6cocvV}AbCt*GCA2CnueW54XN6tXow*QczuuYMizGMY;Xg9S~Yk@o#w@j${6|O1Ov7^^!Km0tv8k`5pEVow^a( znqiCc*BJus$y`YSY8$neWB#jQdcpqHFjN0(nBK+oA|J~ZZ@Nq@VGTD`+f7{I#N<4J zut7Zol6e%`6SDg;U<`wza`N)94AK3t6aAH9DduIXEF|@}Y>08nEi$2@gUOT<$?Zy% zUlzXj`E>etdJ&%AS|j+B+8T`{bgRuKiV)rWhs*+_lcw_BnT^eP7jQf8pj~SYsf6=` z!}EEvBXra8?i0=`gDdcrUdt0g`e+XLRSlx{HsP||EC|;~pcnpwHSO!|pSH@$;iyfa z?&ISty_ehT#W>SH*KZeTcLGGP?_?H25Siuf|0lB`8E6T0>je^B5N6!}*wWY)x_cw4 zE%-=~-X|rl^bI-U0%tg5dvEHISTPZaMxwE_9fB(>BA#>%Gt~LKceg zL%K@HKQRya8)7%^kWcl7{n@`&1N9#m1)_FJQSdb57U^4rAtRKi(oxH{V71<>2892u z8YmVPa~8ih&=wL95cthw;2XGEht7Cmj_LI)xAF=au2bT7H1;+n}s!T*wYnqJ>W5rs!MEjXFvnfxxLRzz`q#7Oe7FX}L5`)5|@ zFL58m>+{|D=@TQ0*Ti!O#=%!9P10*Y!2Q=(WyRGsvTM{RnD>^Q2zK&+i7H*-KMvJZ z5dIHte>#+9fxL=%!Hno?fn4Gg)B~7=GBnUVJKR%`smovaV(@`{a?-lK{LpSzH8Jfv!g~vBn?$sG=A27wH-6?XXl^m$kN#9dS>y1`dCkf!ert; z$&9zP`6#sVIxHIxL(Xcm{7Z$0Q=4U`yIGw{!h-t!Ei1%QiU z6bYT_0#y1YF>5w_`(cb*W(3B5o=Yd4!O8}Cy=^;5oid}E`QT2>cRGPy`vB8*HJFscQw{gv02MD*r~)hi;plT~W&~eZs6`xNR&`qtM+4fqV$* zb`^v(NdyqY#qfxVi>79K?m&M#P4nr~YF!d_0Qc?(g%O*?_q%y zFvjP+nxeZ<Lc5bltf705CBkPfc z6le-6?Pkn?P=dtPiPN*PwtUaYnGtq}zU@oyUb?K!>qb&uN_A(QaAEleHi(9XAU3Wi zPf0zq8WLIm);*?%np@7+{k=DM7~euIQ)|~??^0dwSrV&p5NsGGm+i=wJ0(o5Z&RiN z>Y9H8sfe8%8y)Ig^HRM88z!tZp3*+4czoXK91Q5kCsO@r;t5S{GEf;GzZdp+-6iw$ zY{0M$9FhqWe-tHzt_~JbVJ{hF#~$D>Mj!N#fs^24ryB_%6;4waGm;u3R?~naZ}5W| zb}0y?SCJO{z1b zSlakpR}+i}TKr5o4SU#(Rs;6kk|!60m2A`q4&R2sO(Gkg-6t>I1&KT?EHNd_EP^GB zKMR6-SwX}-J#?4uFB#UA!GVq&rXX<$ioy;YNy4$6s58LlU(mj%Fz8!IeqBG{?VDAy zY=aN-=IcZGoI~L9LCEeQA8vGW5X7%O)JO?maB<0v2-a4XGHl86ZN(Xu2$_T0OJ|PI za4G5i;8GG*N6+oaknx)YVtc_w{rrZhh-&MqA*&em zL!s&$QC2O9XOsdf#@;ZVlL+E4O)D`0Z>J#R&yUW?NYIpHLy$ak!SFMn!VBYFcr1{c zkrN*ly43pk+C~iB8S0j*j|>c-7KHl_0>K{jv!^3nh1y5JJHy<3O)2XF)h@1@VK=6h z@Q^s2uGcz>bStg#Phax?+m!(C{IzeJ1$2E|iJ^I8Z}s|$F)EY%Wf@pd!N)A9|G?IK zqxE2vKBJ83$XV-h5jpv8dEs2~Ndwdbvk;T)W{C}g;3kjeD{wHT@nhQ62P)SHs8sni zj(EH8uO8qgrdU$)Teq=xmJ9BMaLv2@_EfWL7|gV0gWM=O!o4cNttij@xS`%J*P+!} zo(Qo;%hrgDsM=W|l-z{wqR3s<;1e)-eHteN@$LLwdTr$1l_^cLWB&*7TOD&o% z4eEE9#xOe6q2F-$oL^t96QJN;^~>dBrXh$nk0$mHZQjwPR2JS$duhGgne;pCTgFC& zk`c9{A=}E%=Kg{IuP-~}@Pkj$cq@5!dCFP&#e_O3{mSj65z%OWMpxwdJ}n}eDbr09 z041dei;Ob2Z3cBMCx2qoDZ+du$mAE!k_uN>_q){8z^f3Q-b3G1^dK7*!O=ba5|TfLsrb~ zRTAtEcp-4S{umJdU6+lfH}`L@hCvNDf`1!u)Frr0%oE$qA>yqI_g!Z|9XOyeL%V{B zO2lubj4xq}^)+k=xJk%&8tPZVg86Dr4y>)LRBVAyfJ+bl;I#6r! z&RF~6$2i(@OM~GjYpBiFR1jLdo~Blv*FcRxz<$Ld*DiDELsUv6P7^0ZOP@@n$^2pE zk7sk65msvaJegMDP>wb^pi$kZu2y!@VeRn&+0h7>Ih`uW1aC3UL0NaIn#;}~SKr8w zoP5^X#2-h3B6~25R(qfL&5l%N-XmU``y>_Y3M2 z=srCgwYuYw8(~rbm^*eyRFA?V&dD2mAyg|yu=P$WvrIS@t`rzlE3gua{6rmGX)W5! z1(xMog&R;$B01{hz-=yz#HuP496A<-w_gK0vSqOh1`n#&QJ=+3eu7ks(^+~W6L*`a z^qEDO1C4(iw@$l;c{<1TrS3N%B~7}c95@Q0GbL`=CG!|*=8s~{CFmWxSPZug-1=JT zc~v=SPI|I_p5N|y)$vriHf5ERy<73)Ib_;V`Py&3;1`eo(N=%M2VuWoO1c=ym^DC8yd zo)o)5k~GEs6&Gcc%XWY1yXFC3jSz406j84H9~p-6$NIt_0)$Gb!F#=aQLT1aw$LNg z1PM)E3<$pIf`uA=?uzs#w5LL-A8T^I|M=Oi9B%2+)5~aIaK72vF)Uc;KJ)5HecV$K zwDfCh7|3Hg8wDd16roE?c$FgpKPY7LLT}0|4W@Fgj_9}p%}JB0g8!AcR&}G`c6k~t zgH!>s06LR;Va7pXZQyez|4< zfA;Y?#-*#Xo2{QKRnUDZY!0hW;BB!}(kXHMiVC20D+&;?S=a}bG@ z;Tw)F^mrGFgl)yvMV7vidYZ#l;^knmcL*ZcDY2v9c1Dw9-`{pl+le#VZlWagi0A2i zIVp}88R^D3-FD>+@83q=dQ8lZJba1^=ti>I@YtggZ2ThSFmb`1BYC>feM`4h3Qq`J&nsprjo4jnI-OTsW8 z44TmIW>Pc#xU`f;o|sgF&c)20=A1^XJ-iCav#y@2MD;bz6Zti&0JMTk^hN6J%$??&lJJPGG!uyw6 z*<8vzzVgTVc1p9{inF6VTZu4NPP}kg)MHS2tmZjoZoOMw^~7zNi?cG)IR_F)ob*i} zXxBWbq^#>!vh;>~eE{qQ7VCIX0!m{0>|CBXm`t=@v4>W*99DSgwT`%4obaAmgz(+LD17CXm-c5m_Z=HOx^f&Xe4a3#h33 zINiU;271|Q<>{OzNM7B@m&v-(LR7xPR)@0(>dpy0gVcq@^TsUcIwb>>f4ImHDl=Wnp>FcnuSZNpNqWUJhUzpAq(<<@7M6 z?+VeCwyoHa+GK8HkwNw5&ibxXm3ofRez`Ltw>0@8G+IVBFR<+)UJLG<#Eon@8r5_d zS`c|t(z7CdiO1KuPx)Z!tE2S6J1l)ZWAqf|J>pg;l-cVdp0#uh==pX#**_K>R?C>Db!pryk(D_x;=6;ml(c2i7)RmLoDN{>z z34iZ9?&X-Rp^R1k(OO4xCu-+}=|_U`$%ABD!(;D0nS(Jp1T+m^EIe%ktEUS7Q>qlO z?@i;k0|}1zl-L!R_44L4R?>3dUCU8p43NrV=^V~-pE2SB$bT)U$pvV04UVg&>{x1# zwl8L8Xu*l|;bvrO!40H&UdlJ;YF!&U__ldmEQ=b_AXEI}_z}IAJTT&O8FkK9JNKxX z?_reh?D+P`ivQ!lLevlzs;g$TRm?3IFqgtNM%OEMB#7(LXy~;*L;&!^zvr51Dddsx zT>Z)@zeQ(dvwF3@EvlqpIAfSZ92I_1s*pr1Qy4gOm0S<;QTgS%dv^}?)z9uUMg#@e zd>*&V-u_@u-ULz0w%XQTlA^9A=g(_lZPi-jd1!pYDmVIYmd4U>D?(3#!lZ_%#9qs8 zqgn1{cG&WIy6fc8n)QTq<|j5ZN~qUotL##A)AjQO=@XM+yiZ!lSSXIXroAL7ywW!f zp>D(K4F0>s;>6O;3&bCAcWmVTzAfcyMxR1zvUtZO8zib~~^}} zE|1C%r4Ih1Q$ny6rdVcF-(2T*dHnj5YDYR*!;N**-nmynr3%ZPP_MagkKAKX8R3Ap z;DC{PZtlI3@tb4#aKB9@)a+iM<&qqS$)81i4ObIal!0K(+PEn_kFGYX63z`uAT>7}Y zv~|xjx5lLEwZ@1tYN)I5wgBXd71grFq#Gy3j$tvn9QlhVZX!z?x7i?yj<8P7M{6M@ByEKndC8el-p&gA@6F1YEUBxve z$>BJIb(e1_8186VHA0#%I42z==+*t*g`VBJFWY`vi2;ilwoKIri?VT9lO0OXh^6Ud zxbp3kIReK*Vg`$(i&x+(&03&OYR3$YAqowAEtu$9UEoNM8aqWI>NJ!X-D711?N@Bl z4?`5wXzX8>=II>^#BV>ZCy$mi$#eS6zG^eP&6fG~RPGEh4 zOf&XiC4Hsa68+FMZ9|U}SvNIOE^X^iuV7G#!1TG0wAH=;U;DT2yI=)rKv5c>Hvx?bOU$k?a_M5HbNbd+DzeB;hc%ExQ zH&N!I^EW*f93+;knGK4Z8_lS0A-#mR zF4&>vM?l#@_@ZKlX*6lF0ztS$yVfITe7Tz`rEg}~!$ex+tI4JeTf8a&CiTbRkRoQ0 zIc-nSWq`WLCxS;i);W~^ot9cs=W3Jk9c{Qu-v`N{nBr$lWzCQet(9wFt@|FK1qmh| zJ!}mh&KF_l6&3eNtg%1*3U}UDC@L$`AvQrW!2DrwJ%d*5#NglYC;x6rq{Ncoo?x)A z#mfePG&qXp%zbNBf+C0g*ZUVeVM-=Yn0aHR4XdN(DSlTn0;b#UG((>8`mP1?(p@FI zl=fv(d9j|}B|*JT4$YmRL0fe~HF3nR`*(BjIwNfxz2ysz8qC)Kv;o7*1jDm)-k7JVFv15Qr} z?Q~N;^?{uk3Z)9Jlp%Jz%z-4!C#v|I-CIS>{6tUxxDuTcPVs8n9Ix@2;eu(_n=)m{ z89~h8Gm~l5&@&Sj_SlyqQH<3y6O|=F%x^bg+4K<*^_wtGEwd@F>&UD3Fn1j3u^kAE?;A~hwQoR(@a84o> z!tnAg04hs_m?lIlEdumO+{%6bJmSl{A@^W1wLQ&5oVjW(GUE8hBd4k@bf@#Hw-mNg zAm*QXnj;7EU?@IX08Uy#566M!AcKMLl$dRH##fZQ|#m%6I-;sDp~+MI}I zz2X4RnnQ?i-O>-gp03{4WH8a&{83VSRYT(fjv9%-LP7>eNSFc%2~d4HHfs6DA+y4& z3Lo5<91G~zDTUYJ4X6}Fn{r@Q7n;kF-Aq6qO!&E-C^#nf(K?I#m$$h}QC1V>U(JUs zuxO|JpNHX2QGAC2W1ZbJTn&3Us}w1c!J{^>=J6hHjX=shMCy^%BmQFzh%3giovl}Q zL7gb?35KDl%DSBbL(0D=FOIwoNR#0F63UQA^6gq1P*vBjDQ*|a;65yGi$#?*d#U;Y z(9D+fKogxZq$BZMv7y*sZ(fugn3=BVlw|^Dk>5yp%Qu{y$2?XQD0w~;**jKY4D$v_hmPs^X`q|oe!vFC?cBhuTzG^5qyMRjql z9ROm(wS{Ywxr8Mpz2x|1JC2Mt@q<#%=m1*6nBQKHIlia zxg+!G2QJ09M90I(1Pn?ktHgilngg=4iZOM~CGn3`T7F*53Rg!$db>3c@a6>{WJ-*E zK@dHZxnK!K1=4%4E;B+Q=iX)VG}EZww+Z26Po%{PQc=_4Fu6w+k0 z5BoQ{EF$}=!w-GY&CAx7hRsJx9{I2&6=sC(RVcBs7{yZ3F)?7zw1#P;1*jy&96LHA(zkR~&q4)c z=9Omev(?T;M2%*~MV=BV@MI;}%M5-bR$+%HBIk%lLKP7)7UTwS2ueddxT|?sj30ax zKi%48AcDx@QDiqRiijSbgbrV@y7){_G~i-D6%8J+g)R!SQzStIgplBpfPvlb%foD^ zs-#`VLlJ!_DUbQ&-Swm+`7?5Bp?AQi8(0!EK)OyxK^~-hMSA}eUsgJ;7POR7!Su(= zQi0ZF`Y)5C8M;;GtgiF@(14I^G}Mw5G}e2RedW!Cx+IOK^XN<$db91dOjr85{VY)y zaHnyajzlb{`00GDwxmI4o?(}`(5U!WZe{XTlglByzr*#>BpBd>T=sK6S$fiF|C z#Ktm$-p-vUFJhJ`U&XyZ;|oZX2ML@*TwwDFSdWSFy|MrSlSFxhXqlpHw7$3@&|VIA zmQ8RNJuLKj3uoPmT3B7p`@xPL6S&&ghc1hN&dGF);kfjz387nWPI3?%CNl(X6;&4 z)!mKy2WTZ|F z%%rdV%(aL?x2qqaav{&0=@~FhG}@8pdWUSm z-t0<$aHN>1&}|(n;*y~7o3{yl2lVtEn9^5^1}Esq{v3)+j%(8ow zhCE&IUT<%%Pf-}lXhOyLuQcjpnyICM?4>dr5TQv-b+N5{fi&5YP4w`z=%Hll;rnA# zV1qO53sG!tCOmF|k`GE04j2kJn}2lJG!7@LZR#+wV?mr00lLgFqHc7Gz3=k$CSh#p zs3_{TpyZl*d3wo00j|w)Uq(R+Vz+$mG#x;V{Gb8$$*S4|2O1Lg#hl^!FwbLNb`MFP z=ENuZMei5dx25nm+YkPu_i-qh1h3jWe`I>28oP^>FVF^eXYQJbBEKwPW;pQcHUyj` zSKvnv#EPpLW-a`H&AW*Nx!`k1Nk83gb!wEHwQ|(c0d5tz z07b5#S4*#`8w|Sm+tutYs$A&5bX%H^G;Q8~I_hN-#T=zXlvItHX&3;onrpXqf)k%~^9>r)C4jweV9A1+ReyK<2#L&y%EGRd*6$&2GPyA^4B#eR*1ZMZ# zqt3_mPBRvCE$f%M52&^)+=EEFB;at2deL)Vr&dSqy7eEj*v5VM$b{thT0Q&n^A7FE zRlEy`_+(fQ5aA`y`J7SH;MuQ~y7XD8*SLHT_8RrTzO^$1% z?ibc{MLD?^w-N1py&WV!FO=)1cOEO5ojEPP564rhT66!x<0i8~xrq+TBMx(}rZi><^Nyk;gz6 zA*wdo3E|7U=K}WPB}=hOlYqi5w?b^on+lHt70u4BE4w)Lk-qIzIBwrvty950FmTV_ zP>G7fD+4Qkm0ao@GW5(*~&S7sE_#ym8He%7*G|dlzZFD|hB<~h zq|sIL6y8m(nk@o;woDz>m3IM=r$POv=Aex~XM-u5+~Q#3M7oYFh1^YAs=jVF>txhO zF_Li%j6uoWH%n`)g@Ku-{Yi(X#o^s^N1hv^m6wpHLWb`V%TouAel#Q~pFRndkQQ8T z46&2{82`NB%qFViiCcww-DERQZ%v{;>ne+R_p-jNRR={S;oHJ9XPk8fHz_=p8Ky7e zL3%kr5b>l|?!Uzc$dHb^-Dz_!XF4mgzi{Oh1og?#IXL~fz4nM#!UuH#YCSi#?Wqae z=KM~{J>ufw$w3@1?Dks!)V)jq^G3k$?mP0Jv^f8fOD;L*e?>%e3d5t)+CRsWY*Jr5 zW1hBWa}Xzg;Z264a*gct#3s_qH(;+=pqCsVC`JFu=>SKZtO*EqY7v;8FM|P3`^-t~ zOyFy+j$|o7bi~v#sq{isce2PH3MApez`k~ShL0xJQLizA?I-4OipQG* z$9A6I5WP?=-F3JT!5T7AygoJHk7qaQiWO;j<|5X)tV@)bmR|2apKJNLJYwbzUMKgP z>}?UP+U_xQGjnzFt~x}- zm3&AV{j!0_gj}sz8FTI10210o37gp+7oebLZ177pGnSY6!oEr@-kxX?L40WVS3t(< z=Hbg*$MrLP9gHZqbv=3^&dd~kqhPT%4bShW^Vw2#t*41->@Faz-Uszm`z@!$mVi}c zA;B3n#B&Hj8JReZJNa31cY~8esOr=eUSuTN)o-2>g1^V;buSn^4hP~b&&npcmZrVY z+)=h6f{w%>JrY)#FBEfguw%arRR8o04_|0Sdq|vSG1Yol`zap0PM&Bo*O;5%ohd)f z`-?B)kguBvPO_!_fpk-aGJA|o=S1Pg#!PzRaJ>{fbZZO+fzlvxcN_GE8k@R{A{k73 z)y18$E3}U(?2f0+8VZzTH_!dhO@ofEAD=Y zDiJX~jVKpVE}B)mMbSKC@`UG>&0qA_IMkhzZ%bk*zR7360?I+V-^+CLArbeXCX1Qw zt%0ePOEyYd8l7K3;XAzuFDb?f+!oa$1W8Hq|7wX`Zb6yvS|a`6UoBCm+(drVUsBDh ziu5dMzL@>4WTWlto7^c9=`Y~bK%YPzoz%*5lS^#>yhZ%Y!KX|~_0{90Nho;wB?q<( zc4SpLwlYQYKZEmYHZs;`P<3_Z-*nT%iwl#>lj|qEB32F$NA*=LvbrsR4Dc+ z-SoDlvScd`rluLYx6k?!xA@1V*88Gkz@)L>swh;n^kkYjO*p|D`5w?YsaSOk*!X=6 zbWYmQ!5^*a#4*R>4dctkLa4CRwZM2QOVlGbRg!r)-9_PfyN9lBaKQmJY%k z^zQKKVRj1;r}LlB0N)#fVLde&xIjF}6p%dhVadlM^)(%`$p zzG*ys1HzZmeH()%^T;%}>&sV%kpqPwf{}_HA0j9IKeo;?ERMF@(!t%`-5Pgyx8UyX z?(Xgchv4q+5Q1xPcZc8_oawypcV^C+nSU)+bZTfdxAQzEUfXY~#2B?e|WWs7FFlB3L(1bV21#DyP0Ldte+9{BzgAHh9 z1L!S}t_b--gJhxM4_3rC&`H8TFT&i&?-wx1__Hzdr%P9Nh&xTwir9%63W1!d@uzyu zKG5|5x&`&XS{l>A>Msn@4}>A)`22CDy1$x0nOG6$W^?t@COZj33*@w(nC%s0lLiku zD=EUQeN#)ljDr^TnOBvBY~6aJ!#EIkJPX|AH!xF?G)}rqg+mqf^hEJ7MZ_X^U)K5v zx*DutL>7{0e|yi@pS;wheZD+Mq7L+aBCf1&5-xPAa=WrkltR3;Baqcfz1oPJZOEyI zklJrgw+InJtFbg5BL;Md8jTSH&0hKBuCK^(i{kqmG5oRuMrbHsMI!}VwKn7jWfhu- zTiUaGckaI|l>K8XCJTGo*a3t#9a*G`p-Kr~zNXlt?H)k{q50f!0LPoS+5zM?HG%J; z>H1J#z%ZoHMl1j?0TwAg00NjeBIe^?BkGrSNHo=7L;~_JBEj+>L}FTfb=rhF zLA>it_z@%hvPpcnO>fuE9n7yac;#_bgd1VnKf|qTb~6;2Z50+Kmr}>bt4+RDq`|Zq z&^8z2OEu;jMXBRd+BBAy&QpLDm(PG;q7lx`;ck{OHCdZup-!VNV3sl2UluEOpc2mf zRlp2eOMrql-Ytt)Q-A{KRw;fcw$y<63zz{Z_#ssRvppVZ?*zXV5w(}-8`p8goW*|@ z4eM}9D)#&uXtVGJ&+S}Bw>la(}%zf6_G5mMqnu`xx=WT9TxdT-bt zX~@)-nf^n-IC)vqq^@XqtPI(4s2uM%IO&}Vt6$PS?%^PIq7KAglznw&a6_Yr0(6pC z7^LJTXw#EJ(_||edCAjcxyePOW3^7WqwuO0Ewi*(2aqlt9$mc3fKv3*UtvDqiZ?&uxOa==)LR|c0y8ri-{DA1A(ryb)p zoMkNVwGk)h2nz2yX@-@UR19z&LuCpimGYe{_I;v@MehL?Rc}IY^3Y;`5v90xBw+XW zeQmNW;OfjW%1vLgP!n7^N;6LQ3&6-k&}ccymZJmDu1LxF5^0*Dig_SgR5=~~ENfZ_ z$}!sO|UrX(DD-yYuQ{K%K`D|*sQAi)W4H0n*PL;!r9P?D)ikL7o6stk`P1om(aj;u(_&qsCnIFvIK}@Uu(UaddPKA)nEeDKmt54kU$k!@58Y(0 z04qrD{p%#yLcwl^5$UDID6J-SmLiJvB?JA>xMwPq)!?UdAmJm(x9#q~acr>7pR{@N z?*GTL_k!tDfKX5{9opq{Mjyf?O=z$`)_}~|ExZO^HXIR*3YPU3NxfQd>i#QYR$Q9% z|CF%mQ-;~ZOdM4-)%4ahyA$^~L#VCd#$U6$i;n1(L%F2HCXhMRb}Z<`Chx3QsKTSZ zh3|eD3M|o%oI>=k&H-azjBl4sw|sASval;0s*cdvv`bRgpewJ1oyB>$AF9*C%tkXM zvtH^jqI02)pGuPCm1~5mwM6drk?;z5d&|gUm@;W!3x;CasYPof{Q0dy_lHdTFC@~S zhpi46*>?N27mYX#PM+&ap{)8AqbL;(K7Rz@@8G_U)Dd zc6wI+%XyHB>TWbQj&iW1O+~r?WqJ<0u@siF7Nl7X1TF%VY`Tfv8!gHHiqoC=@KiHG zY8BbDcLBi|;l`?1jkF*1Hae13cXki=x?9!+^c@66K6hzjVV4Wx6I`%Xn-~>}6sxb! zn=W%~R~NBwY!^FwHxa?PZAoI8Q7y@oV;Q`3*d14+(uNE(gMtsqWBHET=MPfK>tWGH zf&W`@0`=uTf>Z7_t$6QPkS#z~8G(|_^v7Yj6Xz?dNXnC!AX&YE=qppeM7kT1G&|v_ z#@I9I*JtnAla1K1KglxX`Y)i*`sJi7^v|s}`_KByQHP)@vMk{7dBtQ6ION>hoKOsV@cjQsb8jnp^r6Vti*k_Pe{YDRb+R4&mCLMxtF&g;eW&? z9+#quw+EE9%z2RZq0o08ExI)h!wD#BZCtN>^;z@|=UWwa@xL?&CR~BPmPn)8UR;DC zTBkkj-k?W66Y6=)NTv2BU$*KV55VA6s?FV zLf>NIdb!CGoHb+DOxg-p!@7k0EZ4@ z-pYuzv_y4yQ5gGVl@Gq*8UXHFQSP!!SS$-lcGlWduMpU`Uv}83rKbv)-s?M{Jqm*ee zd@u(^B3bNJL6Iz5SW%*dCcB&~_~X!kD4}cMa5BL13a|H_#(6}e!P30i3j*YSsLeP* zf1&A?H`_iB(&&Y!% zcfJ6Y>r$Z8a@t1`PMZ2ktTCT9PhH;-T*#c1qb+>Os{b&*$$mnT!}V6!5@fE5_^u_V zkL@-7tM2$y?gy@>E{vIDNz*AI8b)qLVzNU^S?w~M8ISf_PXqU<3ozNRNc{T z;3Yo)2Od&j=vd{$cuQb5_p>`uI=1^m8z%YA>(6N)NtCl#h}1GHcdah)m%lTOBK~UF z`kkZUOgoFGB5y^%@V$j{qRPhq>3STXO_`qbH`Sl$W^>;lMm|7v0|FoB|50<4*}Yc& z)oJf3dDi@0GxH;|{wxcXW6bw!e|hFiG@nZjJ*g@OVD9y8&Fekr<#G3mo8&I^NTU;5 zgHx8vGb>}!YyLXB9^o&kU6wfo!SeXU=8X@9OWI(SE8V`2k_V_HLd5+kgv%%embtz% zw;H0%NpvP#+y>4qzYYIvud<*-Ic4Zn5B&%^WpWQ$N}9nJYrr>Yk!_e{L&eqgE$cKZ z@^9e62klxc&gKT8a<^rA9~JK64*!p{@&5mDHfodR9rQUv9NeKq0-$=18J|B+J9+ZQ zQ(;+QAuL?0D_MJD<;Gx|m~Mfs)0;+Pny`(-X(pMmb4~o8n#%@Q?|zGBXPY|hj7Vda zYQdA~6*&foG1mPKsV4M5zRNldzBBWn2@nqf7!D~aFlWh! zj4xX?n_DUV6&j8%iQCg4&Cg%VZCnCr<)LN%#pH3o+b-j5kV^c1Mg_I({-us^<=n05J&)DT@y6NU5FcI? z8+Xz)ffBJaGPOBxMwLq4eITO>m3CwR?T=VBe0Udc3w;E|RSoCA;vy(fEfZ$(MK?k% z6T)Mna&pjlwzB%4=oHUJ_E%*W-l^^EVaeAMaUN|~`jN^>KHKW?$?vIZI2}x+^6uJJ zVX0D?bKH?B{^q1fEMen6e_G_g%nY0{t42#@rlm=ZMT_!TnM9@h5h<24Yos+tp_z9( zp&dr0IV00g-Xi-3Y%X4hJzXp}#7z%8HE0hE)imE@cTI&WTPwIzVoTRR_i*146)*CF>?PKeGcF+Rp$&f~SBiri5v2dvKx8o(` zj?8_v-Sp{=cYY6SrK^B+miwH+xJ4kyE0Iazv7SOXJD*}cE;CqbhB-c_W!*}JAbo#d z3_~`eFj8sYaw%SCpNS?>yVhm2+y;}&ypU*qkksTk(q?qfjyHN1_3}&YC1$;r0hAGiJc12iO~#}&jd{#{+e7$<~^LuG{?-bkc^JZ=>B~M zNg{`OfEs8MG#UB9O7ZnuCYA(x-YE(hv;3<{65Df1GSh5Gp~%BQ2YiM4t??7N+VGKq z*|*^yJ=EXS6x_HvI$~rRBx>1e&yWu4KtJ1Rh{b3|UP;Kfqpu9&Y>Y7Mu((hlq4@3==d+I1|-G|oK-={MLQoP=YsDQ`* z>_v34w@Z)dDR|O}uAL}IuT5@Cw@0{3Sa$kQLb^w)vjDVTAsy>@s<^sGz}b<{epqY; zo$y{;CnaRV^^_rHiQRY*WR|NCk=wLv@-OY<3-pw(rYJkj=*$Igr>Yw@Gi5t9hx2i4 zTbhjtvWzCEKlyH*URxT;`3l-e$j+7LJNfF_IM(XevB^B~gJ4J$RT}J06?Zg4_jCEu zsI%@{GGEd1;nhX~*x8^*6mmMP5UzYFUZJ+ap>P^dP~A2jSi$uzJsAeBW?#P41?==p zCjf7Os8hB5BoQEDC1w4}7r2y!T?S2@KM-j+6iP<2Q<~3uW!7grU0)FBC6-(y1{RD# zSc3mD*BB;&Y(8yRljD}`=v94Grs`F>t?C}{h?CtuXUO~&(FHs5?xSd>m^s&w1XVe zfj_*W`Re(b{N6zX@Y~A^uYe;sjs(mcOY}~I#yw4)q7hZw$$TPDgxEsfCw~SB_0USX zqgoP6J&b=rb+^E{7O?k$(M_-q_IVst_nBwFQM2MNgBfHKE(j7+Fi<6nQFdn7j992e zUpBJT6Aan!^OyKJ(#DW0Z4M!m>6B9}Zu;mxbRF&6WuNt!Qf((v#DB=@jJPS&R}Fm7 z3j2L>{07y1*jiy4;Gl?*u@R#^eQx0@mQD2vv{1LBKL%@=X%lX^Q z^A{*`i7=OOemcp{21S!TycOe66A?>~!Hel?7KEFLHI_sF4pGcWoQWBA$+0A_Bo#>P zkL@PDzvHr!AhpshUQ}Cyh!w*otoTO-Nk#qT`#HbDTLJ*$x5Wp zI~S-J(LEl>Y}J=|eGk=08@OkKWE9L`zPw1Ng@T{q=?V%9Z=*kwTjrChYJOvq5E7Q( z3ChoiUV@fLBE2WYvk9Id(|+J1VQhjgnOwT>PUi~=`UQIiW<5)o3m4`@VK_^uX%}plqxMfO_7UidpuKQ4^fQ4!j{Sw|KBi`+dOm#+ z9AAt$^nIuo<8b#5L8~7}$K`x-oafiTO0z1NW~&7@;4>D9tO`&zMM9P}6Fj@}7cduz znTFO}w-&2}yC>@wiLDB(w%vEU4)M4@105v!FE}D2JnM1E>DewSh&-KPEFXQv@O@#2;B9BF^@Yus>I$_}uD(=KF6D4}+sjbm-q#a?!8dkIm!z$I}WCSkJKbwE(jeo+i8i zTc0db5C2KVL&mH2v#t)`{6P+``5c2Tne(v=8S4D}rg7t@E?$~dEwF~*OAK7QX|AYofz5Hl z{(fjZO>ozYWdaTyZz4n|S6z2uOEOQ6)wQ43+S+eM9-f}^8!%-jiH6L<=r*|7Y^mlY^DD~< zuD!x0jz*9xJPpV)JYy4IfA+7Z?4LZYlo1C!`S{#?20)X1 zTS{?QP8m2>_A7mp!S+{6P`ICKSY2!q78E>4Z>j#%!FNIU9Dd-Pv`|YBdAU}{%kc*c zVcJm|D|8UNMh#wdCqIGudqSxen>I6TfymXbXW~Plko6YeO9gM)cS?M3?}F8T3fO2+ zFrzrGz%JS2W?!jg1qwAH{>)Auml9FEc=G9OtzM356?1)9# zd4_*$JJ3@H?v=SqXWN$g=$Owg=VpU6O(N2cI%A16{in+#v!<3GWf+q`?#};;R#@MB z&8R@fa<+*_s_I&lqe(SP zXTO^C3<+(FiYJ5qbET^7&rA!34bZv_FmdK>7BY`yD+W}5W#?HrR(z`X_1<_g3={3q zbrfg1%jNZ5h_@Rr-W@qIkRP@r4iTJrhycGovBGskLRBhv>6_05Tff|2yH|?B3kI&R zjF@m8?L~(yyZvD7hH-o|k;NBzG=B-0?^hFBqpL9(Dfys@zh93Wn=C!=0hcK4K@6dQ zp8vDKr%wzaYPZP^?P~2MNed5$9zVHYz|(8M1_w!~CSS@WTJGLhcWfQbB^v#6*r{u~ z!j!N5ixZc=`{Hud-NFJ!8A1nR03}q;$&cKVXA$Z38tWNvmriwJV+E0Qno}#@Xfl-X zFZDyqzl!HoiMoIvf}!_O-X;$*hW7k*znAdy$#%;?MUcp9ggvw`NbQ$g5BsE`{>ZZ= z|BPUFg?TooxW#hHpQ(vof_LiU9y^PmSD9)eSEnJpWx-wW3JYF9UP-T`3OJeSI;!bI zd*AhOr&?b;>vwrCc5*ar}QbhjP{pYW*8Gf*OqJiH9so-;mVT{IglxuJv`*N42* zwsBru!psJJh0dh(9M0Zu`q{U+w;B_Au7rVf4V)dr@J z)t%U!@TGSgdrRNZ1ShC9CJwbPU+9B+M`BMDquxva5li=H7eV6=vUGS`n!S6qlM}G8 zN~jYqyVMC>$Xx7T*|7<9`=)U;-uICRss*b19Z>SH8&rxuXra!7V^~5z-MMoC=H1}a z%~*yLL1{0(mgj_VPMBcgdgVDnkyOX`8lmLVoIcF1=%dJ@rfydmMesb%YySsV%)d0< zARg89H*k7Kr;gY-Vcb$&WOSaptE8AwfVM%5)RwQ9t%`xHx#;RSrL0^^UBt{A2KCGvn z%?nGdCK6RjFFb-$%325+1fX}4_WWvK*Lh9JRHBV$EJl3|kSp)Tu zYMuYyzIrF~@9nE1aE2pxCMzpqp0Eo&>i@60&6^ zo_EZk#vrc&)X5*$3(ieDg*$tOTE;5}**MTxVPUa_zX|9}Q;*Ibt`%O*&StgSsRgM# zbYyKbLNwg*F54E{Jb|}6Gm6rPH7^}cu-!2)rxy_Fvj(=aHU;OS@UjCicGd~f+blhP z&SksiH&6U_Z%S;ww~F`SpumCB2m*&x%>J#!Te}#N~Jk;dTF#M~zDlKjIW~=aNV6 z$cg!jH~#I>JPGU~=S6@&U5Dm|nvIU=cO9L;^oyJDj6djAyLRLbCy!}rTwwFZ^5&`5 zb~cX9pa9Y;KHS}+nQ+OFJ`svtwei-C9NxX7?o%bcmYoKB`(Nu-VvURCyEQ_sxa{2! zLXbX|=!(GE1=b7QErXsAc?kw5c?u)bqj1V04$9Z>>IC=r!|emj3eQ0-VZjU6LaZ3Y z3}7E=odEu_7L0rn?B-s4!pQqb603mW78uCbHOq)phfZSlX>eoUxrV6td#+`;fbDVN z?sHn6AZl0}53wTUWgcyd>Aks~H-yo9e6y_rLBB0$C0Nmj4hN!`X408k1H>VmuHiC< zf(o;U=?qe>gCn0HViOxcWN}EU5>4rT7+#p#(z+)E84w?HY&dXR-{jLu7=$aAM`sHd zlx8M$02khMR*)FPqknr&uYdai`T1gP}bb*7?Fskj4XCEO$3FOw~$M&|3dJwnB`zi))%?|mt-b%Wm4fDHlyrLzqU zTUI)kvzpt{pW1D#opA8Z^(|H^xtLT`j8aMAFy=s=sMW)Ioa(+l2u%fM=2*L}usFqZ z1=6E&_JFOh+*nwGI^xyjJ3=@P&E9g8EQ-UB5o1Wos^Osr7Ky)&hr$+_&F^k$X?AE4 z>J~&)8i0T=POVWE%I)s$)cNE?By3}O=77He9>ar1q6C8@Fg6k;`|5-7ZbBcCC(~fq z-4h8Zl2hTj5ooGC{e&LP^;jFSHQJt#n2h}jw_BhCzYo3<`UJ;hJ-pivioXo9Zir7-uA0EyyLVOdBrIDxFmFm_G57uaxm6hjQ=BT znxI+(LyxVIracCi%L^N3|H_xN)3i)G)f-CE8+a$QmS!>32I;Y3>3fTa-5IFibEX@` zg;xa9LnsM z@DNcUaujDgx;Z;OkdWDQ8c6G*vum@gXY8{Hba0({dP>vcy@`B^Wc0xiS}TmY@GYDr z1hk-HVf;-@mB>7y;5p)b%EUfR$P`GN>d4YrVvEHuK?m0X2MHs0pU)zsUioG7H^q4} zbAcaQ=(zl;;3Wb&P(Fly3{Z;hJog>Iiwe;_k|RSc6rc)a`m?`KNXM-dTJ1%pdRLuR z3de3Wlk^_FD{x~b%ELLB1`3zECLmZ^Z)sPn2Q9J@3^)?XshaI;orF+)l{dRFd$N-^ zJB+c<4qzqZC2LcF5t9S*);YexZQDCrTLliaZc`1JeJxo=e4sLe{C9+)fTU24!o9N{ zn;23a!;iPR&mQq*DBEDno0x=}s~0h|iH8o%FP(NmSw;NR@1%G6Moh18MFy&os-pU= z-gsU;Cw3}#$EC!UBCT2*N+u&sD^S_iTB=$qx&^D|0(xdO5v9lPH^I_2>uR8yHF`Q` zN^2T;9vM1jnGoqF!0}bbCYl>T-}xH*btf0He$`sf`olvRJ&Mb8vwTf5S8a}X#vw7H z89)4chrB}-;H%V$_`z>z%*nkqDJ6y{ev^VfY-Q9~PibN;su*nAhg00RH9Li<(JpXa zn*k#dAx}AM2X6AMhxx7gh_JeP6-hmzKQ*Fuvh0(KJee9a?a^UbAi^brQd0wv=X8Uk zfJH-E#0-DWjLjfXWky_40@D*Fm}SS}IMdH?y#nvQW$**JC-F)KJR&%~D+_Y5POmqr z1Ky0z&tNLYsYUF;IH_0GTIHXhX_=2%+=jZip*XDn z>m_=&u0mJWU!IkStPkV*03|y}83kl}u*a>D#z@%06GE??n6B0h*4`={VNEYlmC5l< zXY-Qd^wOPiZi#bt5>OxhyanGRwZFiQ;9>^7j=Ghibe|tlRvPR*h-sQnZSC53t0v4> zd+=o0IF#>?^>*^`VzHALq-n6~w}hP_56fvIg?}14haK_uB?;4Ha!HJ5_8$YX(@alG zbn)g?C~XfmDk#0@A7h5{>s-53)gG=DS+*#ni@qv+sU4y(j{lTm3pWE7evK-~^g=SW%5z;$ofhO# zaaw;!U~;Ydwp-H$D4eKV=i`pMOuu5DjWBTIVMe2x=X6k*i!<)J?G+K*x{z1T4T^F~ zMU$DM+ii0htDo-N=+>LXkQl2n(b!k-v}P?ah!kB)Z#W33@AXB__keV~@ND9x;RSJ1 zz@0IQCw)8A1WWC|t3!GEvDE3sXEzJzn_wC;#mvg6YgLbi%!FXe6y8_pAsi%Jw!-WV zlt<62>BE1fioQs+<;9PqnQIw5i#2r(gpxQ39%XJl6UMsrcf= z!B7kb{!a9>la1+3v^%b>)Iqyhw?#wIkepID`tWoy~+v-2vS0^nOx8ytfD$bi2m$EtvC4k zbT_b1L*}CV2$#X?V8fQaA3EpmN}*7UDCIRmS)Ei)BYlE52asR?P|hp|#`6}``piSY z<$E}QPF}{L{`Mbu=rUvust~seCo%S}fIRb{WFO_&5&q2dzhBfWjo~d|c)9vB{hCK4 zYyYStc%Sgpi%iPEMDQZnt#~3X+Efs*puzwLDr1-55;^Y343DZvfGB23jiiA}olz=) zkDaYT$dF+E)CkX%G(RBg)-LB(uu(~O2oaUc6x-`}nQE)_P1Iu>$2vJUl8Ti%df^+x z6R5+~ogsQr5~gqA`k2tMc_{Xfx$x#j&`XM|=fmuWFP|TAm$`_95e9$IM}&5L^dM1% zEV%$`S!o8Wy3<-thFKo935JE7H0Rg68Zj~s8mqhD9aTgf_>{8S0#IY^uZL5illj&I zKDiMb%CdZ^l*%ipv&H>NL6AAwRdd3yW~5oFT!5KA<5CV3J5|!G`nWwM^1?7a=Fb=DUng68)eJ&x*qR`z;G7`qdmxW%sw8czFEC8%u^oG&%`LdbErov26B} zxx%X;BJAqt`|^?NzhdxDpV#KkDmi6?{tT)t!F(HQx2thf_bxP7_^K>wEk+ttOQ7w% zAkQC?$uc2uA8$goXzvarw56<2yBHqE9zshJFM8Q!$Hx2R0d>}C^3bfEB~SpUM;v)K zFWhU`tYqj5wZMptx(b2t?u9HsF?PvtMQcms0%i>W^pZ98v68g=0_o6Ls7R!Kp*g+P z_!z^~Dc5H?1m#B;xdevxk4mW!ehVB`|MyRhIx8eoIHJ*UWy4Av!qF_4Qxc^yYMVKw zCCYYZI)>-kRjT;II*w*z_DtUCFgEVt(lMugq?+?wFxuyI-?r%({!kT7or-Lp+n2TU zd~zmP&pu04%-W7PWwSff!W}EsRdbP^J-tjP?ul;r8Ok|l0|=Y(7tGPdG_RnxG^s6B zxm3)@!}~$FC+zPH;Nq&_Z?TgvG!xx?djU@+dd?6CPbD>7oh~zL zygJlU2o_kWaUlj$r8;4r5^&Rh|9R9e+-c zSk5$$3gO7JE=JsBh*zQ22PuUsJNGS#r~#S*C_@aZHd4IF#Xf_@Kv9fQ|igS0<> zU?lW6fy&n@$3pijmjy>s^Gd>K<)90gOduiS2WRVczB1S*@$r2FqBs<4SL(#CBZyF|^mw^h3E+gb{aw z-mI4qe7bpa^ZWj7+wf^lpkzjmYoK}&6F!d6TKObH@OWYc(n!HcWv}f|sFq6j^jqm* zz<`?XWPbFyb4F@4k1nK2v|5DhPCQ6m*S^>xF7Du3>CX=MAChNa-5i#s6A2&M+3V0xL-%n;RaD;>p%48Q#x5& zDNFJkL*i3aknN7QooQcKQh9SyP{rh3OOg^bYJZ6at$Lqg=<98F@4E5FI?{H)-JQY} z(YWuAWjJEx@ZWS<2ubXWv=*X+^x==T&|GTuiPJKx$XlV4pfCNe@bSTo*Bh#U)%RLv z5YW1B&<&xffkYEUD5`_8MIRJ&<`^?0E`ss&=9ztD6uTx`=|jHPdnzx6>EpSB{6+kx zNC~5Fc!f=z$POYsoufz3oVG*cuI9oJ7eS!zFcBTBgN5qC-pxVmaB%n-d!l$>zNK$= z(9=~kQe?9a8-kN#a!uOAvIiQOrL<;*gA&iGnIIUMVMBoW!%a4XBh#WQiq8-l3qyH+ zCzR*l`rEl_%09PPNqAqAHZLP0vc0C98fb#nv=P7ed`vglOEj?0{jn$(k4~w!E`AqK zK;h&E9todMe8v3J(SZOOsRU_SWCOJ9$cS@rGY zd-w@^Hk?*Z1HX)pZPD_CM4d~V-n%E-Z(I|YYHm~$T}G|J;h*BR_~@qJcTY~Ce$iK^ z3@l%9*vAVmkP`G!)j7ngK+-gO*ZJ7QU(Mi`fxZW7u#Z^Hu#WgipnC(U^FbgYz4#t= zc@`B=AgI2WX$)ub4V>ATLD|av(>5tUU*V)Y)_H7uiyiwAU{1CcpDy^;gGSRRY`3c{ z7S(s7P;>}cA;m@iC-As(#ChI-HgAD%f*>_gUb+D!gSQ|u$Q>b2ieEKIehyqxoI-OB zkP?T{qo|6g6bo~^h5Tn5zp&J_ed;D*8rEykab7wgQ%KBm5kFw~358K@0BI!RPUU%G zfGlCF$9B2>;@v1A$z(P5?p#HU0m%h(8aJ$}QYdz_ zvLsDr{%}Qr? z)?-4B%{dxk(@UxA-g?}Qhaujfz18?n00G@f6?=5;pLj6`)abR4G~6;AUzQeil;hjd zu(6KrZs2+d_C9@i{3Z0&5q&AfsWfZV)es+r&}Dx91fx+64uJ}Wy8^%u3i>8QH_|)m z7o9G3gKzXiYpr-mLrapm-9V2uALmBh!}iG1cy z-!^jRx6pQKPWX7FaW0Jz9Z!vvzmzdW!$J7qb3g;adg~KMjEstQ;s^TGX>yv3&SIkJ zehoBO(e4D#z3egA0T504Eq!SfgyLy&fx}`X7TF;T`sruZLWD}%(?90+>w(Sn`;3^Y z&_^4>Mpj{J11@W@TkKXqmhMRz`$!Q#hAe%o!X_R$fPZByP4`_PwI+x{&4v)^_q{ka zC_sx{s{s;tGo6^qtTG}0@2P8Hf40g&PT@g80l%4MoR91^?(~80Ed;9^Gwc!xR z?^^{5ZCb<>Lfr@nBjU*IIyU6o0 z)*2NJR;5xZ+gcG*A~*ee<21n(!HctI%DNWsq4A0U+=44fYVpK;2tU0j6#pg0_f;%WNmxgUXO{}9rzva7H!|GnQG@cAB zv+U<&;nTZzyP}w6VSvXi`?#vD`PpYQg#q^==K=21qN9JurQ`SrRkTZy+uMuP{d^Bw z-%+Zizo+hr5De>xPh}O;&aBT|wKGC*74v=PB|<-~8RLM_uEn8UYs#)dam^e|T92t5 zw8)7eDXCK?aN!U~gRrGIGGPetp6hXZRoBz^S7~^jg0~8vfmE^_zOJ6>Bt%v`pmnn| zv^<(b-M37kCrrEMJ4IvOq1&xhmwdAe$73>BguCVud^$uA@AJcg~I{1k7#f|Q!P6*2GT zsl$j1`p7R{Icz^Il842$^$;8>z8p3~w)fDqgIdU-LuRP9!#lDPv340YG76*M?O;2} zsS3|U);O^JeEDeEf=MW&Uo(_ae~F1|_+})VRh|1$gDO}wg~ByCPX1U|?Lrz@*@W5t zj^eb;W<}2luA2GFck(=JtQWj7nUcN>8L$%e+x6`&ebd79s7*wDu9)JePaU>V-OIeTkLC39+IVZ=|xpH(Bgxdt+6YS%T^Pq(*4Z;nqR>{lj zcbrW*4-9N~dX#W-Z0#bOxXVTfjf1mVD_7|sVw%P|v-D1C&^D`JsrDGtV)DSuY*39Y z8^gJFu4Yg7Lj*`8_;cxg<@FX^;@lNAQE%&|n8mg-?^72~^7fyTqG}Z*(>l{ZRDBpQ z^P32wi$OeFpB$Og*FBd_u_T)^%TGQtLm1Gobv$kq!*gT+EAhS3`|c+lNxh?cM8a?; z3mOy*zw`n;sXwy$SkAJ|+N&9LT#klbvS!&TA5bk#3YL?<%{>MdHh0pjL5t$7u+?d) zb3Qzjc-1WS@K*66U(Fi3eJi$bLpa4=^oDDmoncWNyW^-|Uk+hpS;yP2q*_94nR<+0 z+k#eVO)qZfMPtN_)(Cv|rfk)2>u_OL(AYEO3vUMvJis7{VyY|S(i|?i1e`go zUuw#gJ3ZqE@Tobd8m^3u=9!Pj5@$b#gZmqvh#Of1rN76q24-lyyO)Z#PIypkjz?h{5FQ;X|diXz28U z)G(z~T(%{-o6Js7Qp@|9E~OaQuv1Z?dA!|bNiTGx8nf@bP4rK{knPXSUEeVzig&4w zT&cf3V)c+@=qP&sE3QtA?R7ku$SiE))%}gd$on~o_704z_phW$6;AkH^}9B@;^h`9 z2udbuHx_la|HjonTZT`$Kod>+edU=5YWcKbA-Gc|C#tw5??`OQ`Ly8)sOwDLkKu`2 zERnZ{nUwUx-D-j1bj!=RxQJ3Z;7D=^$c#Za+r3Vz>im*@ywG*NE94cy7hf&`&cL01DQYb{ zyjiEStgzL#o~LwuQxjv6td*~0j;a+E7Wx?y`sQzs*+lu0N-Wrmh15l$?0jWOkGLT=VUg&aK;?m{L^4OEajgD?M7yqG29ytC&G^aC-Xgfh4y0;Guj!`(_2){OH@n~6#m9ZllNPkVMRUuBNbmSTV; zXlMkx8h0VT#(JWJ=D92}Em41GAmAcOL&}>PdUXi+wcysDB#gE_CMkW;rv@_Gyk zT_lMxGLW!Nw0WT=c|P@WOKA7T0SjRyvX`PqQ33wia(-zDfy-#6S95`I4h$1|9OJ%X znOO%@U%cdE&%-KJQ7n?}aPmBYOkFQ)EiS2>P;f5<37LiW zRx%)-w^;%R>ko7FrOf9#I}{y|0P;PZw70sJU_u2QHh9AgpT2#AZ6A&F~#U&+F{;U^>ey^=XvA9fuSk0Eb9S!3$DpI~a{J&mlhSKPZT9dV8PaTue>n zHjkG18Y6@oj-+<>Ypwi>qA7fIbH7GJlzv+rXfTdM_mi7YtsS}3dGmPRc~LWHk|%m> zZXy7|CVZ@$A_^FvFv#X_d#E&ID>s(A-xjz6=INhLBZ7S=`0kaWbuV`}o>uPzf7t5Q z`l)}VL#B1uc-g|Aouy88t|yMH60)z=yYprGxqzl@W+9HdyDeL=Np~sF>X*9 z){Op!{p;xiDG17Ob5|QY9U!;v{_IjH10?+Jxowp@y)L0>^-b_F{f+U#&G@Hjz0tj0 z_b0l)@9|tms2&USYr1Z9XT8TAEUpB3e;o+eXT4Mh@p*DDVN!KUM9G_P+=lxdC<_j+ zJ6|?y(DV|rc!_|DL)(!<@$@&xEY{5(055^8%x|n?0@~fEss(IpKFN6bbiXoI+WLa@ zY%<2>?7fxw)tKXJXlF|C8@NqDZ4bk(9@YuRE-=(r3rJ2KPaNBjR}16c9~J!s;y(h8 zx)00TJ|{B{Ebq46KXW`jQo*!jGAW4`S@S88Ix{7mhXkD{*t>YdH(>a>SBkI4waG=Oyaqm{4L9C96MYS2D+Aa5E@L@?o- zgf)3wOmk;ej#$JMsDjxS3mZX0Jl>0AtHamb2VXAqAA09t!72^7<<}rq3ZCdd10mVF*z-!$J}gIEiE!7JW<@e5E22f)J2 zMf7Yw2L*^^u_N8Yyv=BjR;NeaebFb5Cz^Oae3kQGv2^)guO{WcJt(__o~kx$FY|MtwiARM&k-AE)LS$T)Q?j#Jbo3Y^x}Jn)~>;# zVabO!)YJ&*f90)sC>C%Cf=}<~Bo3X8+wpyuLmXRoL)PCHXy7?*sc(h}p}RZt2l-i@VqDs|hwKZZBR7h+=j2hLNrAAf7reB+o zs8JO)YAa$y>{)wn-t_xE@ALfL-@Sj_f6o2fb)IwXdG5LA=(-}jMq*TgZY1ozUOA?m zycZh)nR!0nK|h$@Lt(KOs5PRtxWBh!!*+9paDou^!&b_+^QUyQ3QXT#puz2pTR6_~ z`GhN(9Nm*{g>m+Tkxpk`DP2{c4VUUKStkf;a21{WLEkFBioqd6E?0-%2iF5U9&p=; zc>XfXTA@@=O=}(&RQlZ9dvd^Y7!H19UhSc(wjtioar$yi@<)ah^z6+y1NH2D&WEn3 zd4(d!smZlBO2JSlW4g96Wc`>+MV9>la!}b!{39~j-Of0T_1dz&7Ls=L;zVL#w6T_x z^kNWi$&|y*1I@su?{DwrfEH+(cKgqxAz&)Y zjf(BPwTCJ*4db571D@K9zYO}kwLdHeuITXXc$2|6Y4`8f?5ISu&=_T_Oto0MB+_X; z!n&3&v$r(1ORL9-HZ*wFp(>Yw21O~;wbl-C(FULh0jT0eYB4jbFTXR0cWVGZIsh;u=)MQ=2LPPO-^-FmZb+vm5p5dR`{U$K7vHysscJv?yRE1zNvxN;x>CL+Ux-c&UG@S}5iV(^fRl(Z(`sWwGI| zrfTnF_!?tKlogpMf@#K=nHX)vyP?)@7G}a(+2rX6J-zHA{Mv_BGT!<4N*59m1aJ%a zYq(5M@5`tKvKUV~v|Rte+c!FH4?1b^Qqc=w8Fy8iDrdPjpw+ZvoWB0lQTm3mj(8H^ zH6g<%_zoS)Tkt*5L3V3vXkIF+gIl01c}GEc+t*%wg#%f)n&X7D&Kbp%cBc-$%KF;h zA->;#U=Yx~41zgn!>G?m_*;T9Q{wV`z; za<2!D^2UvL!2Cb}vd*bacb?;V1Te1dmcZ5a*(Rb&@OaV9JQ3Pic=t(R7*>oKGW4P? z4qN!`?L;Eq!FS5yc{v<=gfL_8uJ7m7XZ&6>VQ7|Md!-hiSWq&CdjtauMW%JONH9L*qbt zwph>(8$*rVk;gXpJKkm^(EC+vCcKJ61czpCmor>A&@J3H-Ce_n>P(k8!ti8ieiLf=go&k(yAvFci{i%bb(o6NOD(UGuZ^&-HTT%9jOqff z5JY~|sQBsf{3`jlrOVc@VEhgYFQcZt>!$lR--i{7>S<)uavy7m0{78!V2LXoeN>r> zMo4qtfzO859dk6<`v6L&ZRX_8sskP7se8GOcW*UYW5Sx3&IG@|xS@HY#Itq8>PNzI z`|%*<^X<{ky%91%Wv}_6Ps*CPqu&Yl4xGTVz!Vc%B)UK1cJsp7?GyMv>}%sd zDG*cUDE18xHU@1s!`K!wE5H+`$DLr-3IcnByQzY{|E54(Q}!6z;Oq~*BMB*^lCk9} z-Zn9}iWh{8n`>BhR##2u3YCGmzI%)5rcuI1<|Uyz4LYmUu03Z-lcB2N+duVT(w(Tg zH1|O_4(1X=g57K#%f@$cqId=a>SuSDlD+$m0i*qJxhlo^RKA2tNr`MlKH`8S(!1-F z8X~D}Dk6tzd9}780ohr(V9CJO~1=XfwpHru1{LegG zlI|0ZNC9b?1=CXygMyqKd5l0w@txh=ar{{-%=6sqlw^XWslmPof6Xa;JobOw*?>VI-N^V_zFp4_ zT0P+^8x*48eJZ!{TPY3!v&P)@9NQAD5GKx7$209roni)HO(U zkS(OAS;n+swe+HJ{!n2PgBrcmN4>k!cN7|iPiLs;eH~w4s-qNKR?#?vJZIv>TPWYT~1b+_zEtXNi7Y81k=At z+~#gGC}$Gi7<3@4KlwwJsmA48uJ=(0rwf_XeMP^uD?~_@LS5JO-CZL%giV+xgKWgU zr*y61-n!>v=dI&aDRM=^529b|AfVrIrC0GywOIPfgkV6GqpPg+D=4t7#)VmuQa9>b ztu0*=k+~S0>&Xl!_mLvXkT=Q=H7>~!EDSU|7du*%ieLH(1Vr42cO9RKuN2l@^ekXm zN4OppFRwJ2q`OsV6jn(2mgsx7gd$+EUrs9HgFqe%qeGeLX!2Sx>RO1>+$?78OM1gw zF5gY(`F%7m`!roFJ3vE8Z?Ju30>+8^U8xMG-ZBZ>ASw7<&TML| zleCOrQ`kWNe11Bc?mTZiI1m`nR6EZQg&V)=?a@xb$5g!q!KW!5H#bz zk@|~Lj{VI~E>U(814X-9UV&r&rtRvXzs2Q^qk~7X2@^`9#~TQ8W%s@weZQ7(p!B8N zY@%r&(Qll#sOX^+7cYH6D8W4Jz|D$Nz0BfHMO)?fpc54?eGR9c?1aa>tzd$XDkU_SJcw|H!;IqEuc8QhXvAijKu4?v71jeWNh^>Cmzdpq6 za!h>jXxF7NH}pIOmsMbK=plMV+fP#*Czf`EI81}dQd>te?gE8oS05QQbS{63Q!7_0 z*&CX-4-%-$s`+01Y4TpqHxKSp#BG$fqp4ZBrP-V?_jL^vp|^{ZPoX;HaZGI4lIK_7 zETn<{_|#dpTy;_>2XzG^@h4MU)aF0=l)A6%+nTWLR?0151sR*K31y|h-kf4 ze|sCYfKn=_WPk? zDdj&u@okJuSuvqGiv1s43r}ma?6@s-dG#C z+<6{ia&vz2{FR{eOo|*;z5gbc&B#o8U}1)AIcbaYXd@#U(!1I+Q7gM{Zk2*7kF!$D zu=Jvbj1K3=Vaxr8O&hf3UXLmhghUO5ueX;kMwm{VNKpZjgDM3k6moMLD{Jz|vNPwa zoIu59%+GyoxAuUzEBlut!P36|)1dq`_m`yzpm+iz51VWcJWW)X{ z^JIAkO9pPq-wDokNNZL~X&y#F^aBSUNxJA?>FIE5#zdIBrA6!=jXq~~X3c9(w~*&V z$98yC#bW4KmFY*sAyTg%Q$RoPtC|)$e=>TOG>Azrs;8*awkX85c!|j4PyC6W5+^@P z0j184d42I_uDo}yCGQvB^M)z>q6uyqBf&{O*y;5CElpHrfWgq}LiJ33NIOo#UiWn` z@!IO8tEhcVH~H%guAMMOdL7PiKn#P;gH~qw%$Xh(Tc^E^mzHh-Scba)dl?)3N$?SD zP(X>iu0h(esI!0H4A@h3c4FC5QcvdJpd;i-ftyP?J|@a<-ESW z8?{+IEUtJnq;wsKl}#bYD+DzTqZgP7E74yYr!rJK09O`*sDD`OGQu5qcj!d5>tq`(cUWm0+SzhqWyK)mG19+{MVHI(4ouU zFRSYH`+{C2;kfzGNP3Lpu_Kw{oJ9qI@t^+<06=!e&AiOCE>(R_%FWy$!mh>!pGrPJoMtII1=BRy&waF9M-%nB*V z!kz?)ksc`-3keGe4Y9fz8%ySI7A{ASl8_9Nk&rNx{C6?7cLqE7xPm?PVGdwdF?Uax q%YOnui2(lz&h-EKw-I6g3jpr++DMO*>Mt1?vA!X;AN~-@Nd5;zT ztn1ZdgVUe5d9h&W;o*}94(=5hURc8^b+iaO(3L&G_1}#qS}3xn4kII5G|cQ9#8d6Y zN|k)pA3pv2_7MNJRBl7?Gf);=ai7{9viqT;RR5ki!3`8Ik|D89i(*|90!g zA4tTJKl}ChhWls~bhdgAx_QhtkuabcYK_V{Ir#;{%U38O#!|oGP;NHFHdwdsOQ4di`h1sUV01rim!lB@4|_uLJ@>vH)N~D6jcY5tcb& zFz^rMs#JUZbXCIk_s@mL<6{Q527R}%|FJk0LlSotAhOFAV0BAI1<#KQ@0k{6Se?Dl z6+Spwt-T6NtZbY*^Nc>~YQ*pr1Ks$xB<_)+$cqw$zvc6!k2j7$e>n28>Bf;$arwe|{-j`$lto-xX+%FHiwVk^`|6kVtDw$*g z$p;!{N3NOa3!O~_5V^Alh2MmO8hXbjK z0Kau(_Tlr;d&%p1KWF0Ot6HhQ9u5m%0$vl4>M4IH%g7@)Z?|<}-TVI0ulm|tuDiXN z$D3yM`Q#Xgz5ILg88l~>4`6Q998Sj}mu>Zixg%WsDbf#!kyvsNmm5R7Xw|ss(1nl~ zf^e=T%0+704FF7CaKNx6cE&Mq!mp9#aKh{5Up8FhlfUhM+>OW|PTcTJRWu`Rf%lf% z^Hc1xo`YKH59Y}Hz369~b$-kK^d9Hy)y-l{sYQK83F@E}VO_}@T z&-~l=;qMp5bbY6Mx3a(w{N{gs`RraaCg=~QhK}7#(+8Lu9W+H8uwla&PK{kZ%u0#} zme)i*C|@G!g%Oj1pl6=JlGmvvo)Re|iaFu>{{y!T=J^1?hW?GRA~73rgG&8O^f)qg=T ztX{00_o1k95pc&K;~X}Nm>vjAox&eiOlgr;;)p8$j6Y9*9B1nJapGx4Uf$NX zv4p`r$7KA}voyrTdzvaSFC70uQluXE=6$!(<{E2WbEUQT^-YkYL+z#+)WOf}WJHb6 zSntn!jPe}b8N2%x^HFLFD(k?wYKte&H4#385{N-;*HZZ)uv`2pd zb>OBw6lQ;dBe$LS0+#bB5Rkb^JZqnC9Vr<1 zhzG5|pQq>NLSC=a)|Jrql~>{iA4Xj}?#^h~%mBdz3YgUpw|uwJ<;(W^*Ol~}N^9@u zKF_-jq^&i)w~mHePO&f7-?^mkp2;2T84B~z$EU}AgzcwJhr-4Hq+X6XhJ;SMx?!ho zv@t?ppNEmE?d=bVb@KCKXyvrqA`G`RzNN+mv(UF>viG~=rYL}Uyq+)%Bk65@rzwLp5EaX6~eWVs@fNN$DO^m}1zk;}hKVhMUX5=l3)^m#wSg>ZjI$x7c znvi$UnJOljVC|6s!#-$_R{YADmRBG3abX$UP{kVP+?-`)Niw&zQ7oPv zVEW*E#wLvqrin7FCDIAu}ZZCYN={L%A-o@C@Wyg zy0k|5eTBSYbbfSCB2e6Bxyv-?NVD2c*b9!l+E^bOm{jk^WW5;j#XU0XrxFFVqZ-6pSOlkwJeCdG zAo6}z=shA2wgsT`4HrkL@vz=)tIa&H^)K^vS8rsWnS9>m3&qN;?aM*NxP$ymTYo8f zeEzdXlIH3v5}WQ-rG_dJJAgD<4oMD1`V90Zd)o%YWNC7jzKz7g9p!Rj09)4?L>C@G- zFmYG@c=+sU?-{PM}e-Uqb_kQb=cQ&GKd%ZuXyzmLy zW%u6g^X{~Ymr%mMVU+;j#fQ&d--neBoQ5fdQ5}*@`fZ84y4#R<)bJ0TWd6> zCXVO+1fD*o9m;G?<=$7Ja+kYFgb-~U8OU{PTp7q^>~UkBoa1A5s}EwrJThWgl5wC= z&6|nGf#N=2xrj-xB&^}Y-b@^{sB`5uwnIC;SiFe2afOm`^DhbJSUWo6Z}pa+2L$%G zIK16`Kp?4z8oVB8x7nDp_?ujG+n9&^5a|P4ER+pJzZ(=ptCa>q2NN{!8BYY7>}>1F+p%z4f%HZKrS;C-V=-fHEL0xRX*oK4-MXoYE&Loz_A zbk;4Vz_q|7&ea}lh_gm5j^@O2aQ5>8PMXQb=i`a(%Mwo;Ce_p~2RPtCXb#h~A9wtG z@$t$Y%d+G(U}yTvsnh}=Ci+_xv2t;xC|BtcX2ZIS10A8tPTUIDQ+isJmT}9{p#J<8 z{a8@rzz;g7zm#QTxl{%JK*>v&D@tnad=Y5b5EC`@wmGR6uzRgn?BeO;TVhm>lAzLI zW$CnW5da4^$0ae}F2v|7Qb|=tfBYmGWTJ^E&Y8ChM12uql~lFBiT1nh z3!lzS@QBd`6>8q(2em|kL$E{wS#XpQP|2vO=mmYfrW{9EEa)nz%)sq0iooypz`6OLfKG2OpHMy7P! zA%?^;`bV!=L|hNwe}_P}13rNn3KZ89`iJD6K>32Js`$t&t#wMpPO}WRhu322vK?Z)ME>O1gpwgz7 zV3|%@1b+0ptR(8)p}^gYly&X0RI^=zb%?{Zd3xqN|4?$N?3A;|r_G*qNalwnTRJHB zXq)Dop+E8jOJ?=ejvb}QGfbT(G}6(i9pzAl&O74Kc<5d@fq6~pUby0!$Bppw<_f(Z zi)_)?8Q1T;Df}RN+fn%s+CXN% z!KKwy9;nN|vspzm8uYW&v7EcTHTjk-h-^34HgLj?Y;J93}4=ru_4QxtL zPA0{QcJ6iY-lFTJ5Qj1`2X9wBzp=-0mN@V>Gdhk>%*L<2{gHd0Y1R26i=1g>!ao5X zpFkn{0j|E>Kg$ONRKZH`f^FiaU_UZmu?m5X2$k9R_kG?&pEuP%(yoJI2X&S|(@y)3 zS|?G~%5$L0$I455$6F}By$cd36{d8(79?<(;`4&)uuXa>K-X*_m!Dhk6|1wAgzv$$ zV&cyEw451U&Wrdr%fI+8?skuaXHsUKjYa*f6>uuGHisrrXO~pBw?6XrgDxuJn*^RG zi3!%3@=WTq()b-n7bUqpk!wv-EpV6ujbxXq6Tt7(U^E7vQM_R_7D~al$(_WruzUK2 zoV&Wq$V}IFUF-=Ck@0I$3_Pr+4u=8hMK{0{cg00c#`r!dFo_rwliI&&aBMUjm3Tl= zvAp~oQcEI6rxggS*XGH8O>6tAiR!Ge8pFMxwv;3t&u1fuaGa zK4fJ~YryG9z8@;TDebWemXTm&72{t29vS9LRymP-r&Gg1c4NUjm!@LrnxROY)Wd&b zD&#~CqjzxQ{-Hl0<5qO8gbpql1{@74{DIC?VT3LE|0ecSRZLC1^dZ?gVmnO*RA);> zV&hzlRvyT~_S#KiW8HLi&fu-}}fpKz{LS5T%>I<0rP~4vHK_Ees!MrqxF4Xn|2tGtqw& zdsKKuv((840rTUwTI2y0_N#17ibPMSMjT-PxY4RCa8~%$Q{S7m*qm)lEJx0(ZbU~w*>|3_wbB<@5%~VM(@yk zU-iq>ir5C78c$RZ$*Q+u?|OJ=S^N+3cZKt5^|;_e0jVj&w5URS=7EIvQa`%@v|i8* z1Pf<0a-5X=A;&E~HM~8X)NS6KhT}6@dSyxis$j~wt*MtP*)5{pN zaLyd5+;vE1z?4>^&yvGs~ssL05v>w7K~a>F>Z>0p^3iDLiNVkF(f=2A3KCsO9D1cW=7P*1y)OKw7Zy*5{eoByDPBG+sd zl#rWlamMDPY~T&Q|L6PlF7lTyKW;v;^?ATvGS4W{6lfeby)}7Yq|)K>jV+lCB10aL zjW)#tNbd{JA44B_&=^g0a6=?(`a>B8vunL*gwCo5kUGK6q^?rIEJ~B!r+$N#L)#|? zM~`yW^^VlxUmH?&(&9>#&qkxI&ey6@amfVoDfy}7C4VMH^@7K#@8Yg&P`v|J3N<8; zq6nf=^1;)l52N>4_EsrsrE~i^^X&fu!gtX@JDlRS={C4rWA{bCH5tP#v9bPk$R$>P z^9*y1EzO~x-H&IjOYqtxCzuE01u2B{RBua!JHc+=RPV?}5(P;Xti*FG$OyZ2HOOfVDlpCh&zP91x6RT5^*Tl3dQwl&&tUGim3vFkYzA$Q1X4#BY zKixGc3v1E^&m~L2GMvdBy=mLGA6pd7g%;Fz&laK^#1?^Y4g zUJ!Z(u_}%lcPI!hU}K&u96l{o8+ZyG{P7qoM?9r?7MCNzO`A5moUje&jAvV>A*8*3 zlVrC3Ws-87vB8MZ`W5*?6cAwmglJXGnH*hp=!$hLrq$;;;a^aA7xa48wtrqkjD>Hh+&|+9e37>h)83RkP`5p{olh* zUtrtY$67WpWJFI&V8GsA$^}qi#D%v-&C_8Db~5}Y14?~7ykTm%1JdxhORLBKqehBOxwcHy@y=m|UvWW1N*+8-#z2P8Fxr1}1<~|6{wUHAO>|}O0uBh zTomzrKub1ECl*cT0I`>&hRvV`3|*{UXGQS6drYcYM7TrFq*oBaI;-zh3W7Q|i|G4r za7^i06@vgNl!tF-m0jdyBh~xojx|%ksRRVeF75)l-F_|_`1g~F+g}Gd|Hr+y!g%0; zjNX{3MTO7;!wu+@v#Obao4nF6C=y>$$e)}qxV$ud+vtN47oNL6-mymckE<<#@zBsM z7P_93Z|kNQzMUV|eLB;h{)+{cs3vjr*FPPLHa?hS%HyK(J&jdL;^@JVelU;N^xQy0 z1@OZ&kk*|G^KVCnq<>qj(;dGwu-@OtKAEx)l^m^14Pc*3BOe)lrH@;A-@8MG>_`@_TLKZ2Nkt4F6pe2N2;w5Z%NQdJW5W0)0fnil|1aBjPb2Mff?mEJ-pfNZllFR^=r z2IIuAo`xQ4$FgCfF!wf-qK-O{3QKcNo<#HOolVWjUJqS3Cn?8~$UVmv4InV~mc77% zObV$U)v68Rh)LX9?$dkx^vwdIcAV1hD#ouVV0ej5P#Gn zmPqg@ZN4Caou@bm1j}TkPnkI0*YYKB$HuSkg1@{u3PYhhh6z zUtlNcySlijguP1*l#V$DbzgfFfav~p@p1UD&Gi+cxsJ+3u+5u`I``81dHeKuc!hA0 zug?4UFZS2lFL8Si{<)IR9mXKO@ovu`zIA`IJb{XDKeqCw$ucu_p~9QVQMXrqoW7rn zZsLOdUMax^ygLQ9E877w&wD|4;nCZ)nMiy;78ac(rx|n2J>+f)pJC7mI;^%18mB3z zJFP@x?RA#kbc7Au!X9`N)T;?**mXvqA3uZt9bhix{B$%9*G<$-UkQ)bh5q3c6wJRC zj^MvBa9c}b5dhB97-ROBh4)+G;Bc8@Ust4;)=TrN2GBx|%NsZ%=!y5M7*xOeHz7ou zfQgj0wvW2@8{&ZqxMIq5h%ICR0S`!KTBo&7OUobFFT<0=|BAmklKg2WLP!4ILvC+a zk+8#_KZsUGCByz)1~b-@5NF%^+cABL+~2@+K1ZXL1zV%{DAwtr48JH2AF@|7IkrWk$E}RysYcmk&7$OI z5-zA)*zLH#0HRW-EI1Qrqo3zSp-z3)s7Aq8#9$P=LH+A{nrtZZ)Zl*gJ%Ue#1u`-L8+wwl z>S@7P_|__p!W$ruZfWr1=ob1}b%n3R4O&rKvmQChL1i6?1P3jv`1VD===L?Utoz*Y zOm1|lE3uGOK3uV;=M2*WhrRwv{hmD8xfk>E?HC?0J?7`(1N0^>#$-~72VZ!@h#^~h z{Wx52pZvWx@VHfFGD0;vkfPuRRL~$lcf?}i=Npj;uU^YexX9Wqdv~F8B$OL6l#A9C|yWbIlI^e-z~O=`fDB0p6AlahYn`XcP&3_J_Wa+LG?yW>IW73qOCTX zLyvP|Sc2hbWepc*?Ln;-$gxQUbqQI!jKSC(gS0i}rrDXxiE^J6w^p-#o^jD|CnBSZ zz@I|HsuwzzKWp~a@CQbr#4a3C*Fr(nko3Vd6ob^H%+cZ4(Ez^5>d8=V9Iim)I~}n^ zR$yKws2Ou{ls`#8^v%GHR~xWciV!)NmQRI`Eui|w+FF4aeBHS-acU8+3L;UM-_Y?~ zfHqGw>quzTe?31GH)@1wpp#Qe0>yBSjg#9gXK-`NB5iNEWU)`QR34<7_D*rhaSR*k zNocaGWEvj__uI43xP<4&m2ru{kLEV1d!b>GL_J6iAT1>277O9Ygj7+m^jOdqS2yQYRe4=J8mH zb}rmoOF4=e;MqS_5!DRP13bhjR{;?=Dx)v#1JKY(_LMPdQxB6TvIK_Bl+YTs;`V=7 zry4@$esW9?5=e1CI|z*Yz{pHoQdZopA2etGer8QT2QAdK5RL@qMJ}4D0drYTJcHJu zh66A3Ersz$6oiYsHU)mK+PCK^1xfn*edy3K%IajH>aTlCMhDi!H9c;$+V;_Yr~0^PPi zpZFw#@hD%hN6{|NJzb4Dgez?|y(Mn*?EF*;DL6A@)X-yN+8pF{4lqe{oStFd1~=d4^bAFCxCg;u z>Xsvb^8D@s(J_RYIA=O2PhBoHl-n58lYlgm1J}bo61BHi2_ZaZE6Gvs&9JV7HW(;R zB*%J^14h2{0Vq#!)T80;mu2Zu>J*ZLO-8~x2heS5D9=u3Vr(o=&XCJPFeo0`(Ftwx zA+H%IPtk&CBIG%;Xg6XgPh#r9x-C1-3jE>Dnr31wZkj?i%E_MOkglBgiWcl8b-}7Z zl_BjR9QrLXf)ibmgTr@*7S&xj5LFX1PwI6vJIPUFs8&htTi<_GN;_($+z9hD+mtF| zOt+YZfg2SyZJ^&RD8&deIgnNAqvCFQ+)YYcDJR78ys{xn%%Bo+%RwCsFgduOB&I(G ztr+1QaQap09 z9`RoXE`0n1BP^US`O|@-Fl{$wK?U&9as@@>a27R{LHuW>ecOKCHHXf>5ZFT;x;xvr zIF_e;ukZl!S%OQy*>D+*3;A%h-=evtX%kgUFY*cQlh%QK@rv)&s`!+6MDZXzI7t@+{_69*20JM3Twq zuAnwiCDA@yI7&28s!J>n|JK{c2f+NjUo9-sNVjx5Y9Cvm;@6q(6x(!GuJB+-KN`Ia zle3TfCnodUe-L-QjQB0`5)tJHK3CZ=o7C#N2;Tx_9HQS?~rU ze}`ef1&{U_4g~zd=u>6j|F|!(6EEVO$7bLQ#QxehKHG#*moViOh7}MW@I-G;{5cerJ0$fDY^)J6&?>SC8zBqfvnBpB2nBm`XzoqC_8z9 z{SN~>2Ou|ieprG8%G4+1>`Bjtelm@AdNyp&B3p4gCD8Vl7Y`rLiXMP(1KufVw5>*b z$!!`=BLD{ZBp@}uU9>4t8KI5Z<^O>V?R=;Rs8vlJY;>2{CWf+ng1EfUt;~eQ6QBDT-W1Qi}#b-UWb^bZC?WiJe6M#7O76cpqQlN`U|P8PyQlPkn(`D?{) zQ{xA!M1zljWANYyDAc-azOFQwW%5+8^Wz@;8jdQkb5f1%Ri4G$5oE9e} z)X=zYmh`6Nl8O)o1`qm%*AQi96{80f7^!Loss=B|W;Zqjl|yHYxMdPIJsT3WtJ)0_ zDOh=uqra0js9-1-W>;9}-{ZU}Oje&F__>d27 zQD{lC9Iy{SPW)iuO!qY2hhlkhXY_y^cgt-R0@sGQM_#=*ZbTHfoyX#&?%h7K2IA!NU6+I@CEV=g4 zddvRQ;Zn{tg5+UUmJZ0y*HD}!ognso3#n-EyMj!Ml&Y!My``AD9D|+KKwz4Q(*fV} zLm@>|mc5iVV@5*;f>t!lhIFB}zL|7gB^P&Bvqvno4 z3xXAK_Z@N*r5|lpprnalhJ|RQVf{IBxI4HlaMW}|fTS&O^@_X=Snir`9!hB~oPHn2 zjR5&?pDEUIKYWD(xMB%0J*dZ-OWQevG#H;l(>fTR0ed7V@^jz7ae@8FjvXObq5xzX z8t#=-A5kDuS50UiBw2cbg^-vQQi#p76W?*5CjM}K1x zifPYSoB;IJvJe4yvUFPsCl+ClZ{ND@V9w%tAeuvH9X~R80Ie{PA$+2c2i7F2NK=DO z;NM<4HHsfyV$e9g_=Eyb7_eLDGmV)EdX)9W5404e5tgyUPwXYN$23$)+h)oa?cPIh zMXwfI0L=nl%bu{a_+cwbE%ZK?axhs}LIDZ;CjKoEYu(`{mX&}jp3%LGicScUiq~_d zoZ>+`(AbARsZo)0b5>TDf={Q|`02S{*Ut{`QcBEbRe;kaY#L0-pQn;gtC0`qTKmIg&<;!-wuk{2wEjDnTbnsKTU>^EM$}K82K|Hh)w9u648Qz zAV+Jg*zP|4`j zmT&c~?apZ=J06~TV#o*vd_1)mV}#}Z08MUpUtw?xwxd_OCEJOpOsJs;*}@=|ltRr% zpvm^Oo=z8=j-J?maP^&cGRQJ=@EdxV%JDK>Y3+AuuBUa!w|TF)`UCcQc<|N zpXs1E>!u>C1RJI#}27Bn?W-p3NR8MUg0P`!_s-BOfJKXuwZS*n%WVyYtY7V|Fojhj^svciSt_CFni&^LJ*rs{iEEZ;ae@B8LY{UM&H89Rpf2cf*6N_OGS5BZNSp16oAq;Ka(Gf^ zdm6@+6`~yw^1BJPtAo@DpWXiN=m2~1D>W&D<@nv-IdhqCrP^ONx}HCiq&6DFV7l@C z!^B4c8pOxHc&L{dP2p6}>oOK-oAj-Y>e)2z8^yk-G;a2)KZp;0xtW<+=Aw+BFUeax z=dZi(wmK9$HBavg97idNje%lxhRkMkOnF^c%zXdGuGpbPuDM{|fmu8Lda9jZPg6wQbcVD~PBJaWLEQXW1@AWG|p zcB#Q>*KLI$fZ5g7EADWGESx)Ebz7>QE4)HipY3+dP@4?r8(;U+Kli>kl(WFJ-}yrz zsuJ2Bdw$<-7{cw$1%q;fgpmZYm$Z}tf>$|0x@jJp0@wEbRNlK?Y;27!Q)%`0Q054PFnn5H{LI`Q zP{BDVxH%*nZINqz6OUS>>qefr1FbNF-U6HgGgbaHj{vqH4l<|7*ldK)QhDgV789KU z%&-3Jy3Huuj?z$r`DhVNx6*3Pa*aNXg4}-=h}+!|v1pC6D>Iw+L^>dt{}t#j%J6;U zXS60PyzJ}kI6i+oeczL7V@%3hJg+r?PWV29VI60-=E}{^OFjVc+KSzg{`nrpx3x+b z@4!+fAe@Q*?*UB5YUoDLkfTuB5KL=7xc8wnmbjZG@V4r7??5)_Z0j9DRJ+kk@APW; zSgC>3VfPT3i=GY3=EY9MAB%&?7OZy8RzkChshRI+sqn+$N#sq%38E{`Fma{VaTv`= z5NfSqMRb3*?VybcAjd=f#Lp5RpN|i)e)QDBhk}UG*wn^i@q%q`D8nxZ;DzyJCPYJP zzKDgYwD@zbIz)COYV*!aNNB>WW>*Vd#LGx{I;!)3u?g_!oK9B4Tv=GfYi2P4(o^FR z!ZR5g8Kb&1tiDxvPp1r#4ByB_Fn0~Xs>&krs!|AAU({<=g)p@vnK}iWvy3NPeN_mW zYL17tZo(9Xl5|zbd3)xgK0bO?=vWSp!Vo|1j@FQZ1?v4dnE_R5(%cCu62lFRs>=gz zesXr4rmyo*X>>wVKCIvtJj zuIcx2|9roxTcy020W#W?9=tm$1hNkdS|OUTdy!f}{yzrR|bLuXFk(6+pHm zh({IzZ-N6oFCwT`(xt9!k#hcM#G;BP)zda56G~Og`X}k9`o8dN6Ej0_mWJU>A1(Qd z3RcbGJXO(t>c@$8ntWBov{`5XeJ{2|T)UlsAQ4hF$ z{^u5o{_mXkp1=Y--Zutv<|k3|2Pv2OhrSkKo=THg{S_i4Zzn6L^k(uIV4--paSvt) zQuWtY;s#_1n7UYJ35%7<)PHCc`Mr*o0^bpQM37|)gM6APE}mz?hZhN6{kC=>>;>HU-!dZl*jA>A zv(#QU-;hc;^~!pJrIszX2c2`~_Z}PJlxUe~*(IY~edd~9EAyq+lT-5gr{~>|M!#&s znfJ4maI^W<`&#E{zD5NRjj+&?RlvA<&vt*am1^5(MhJT8Ls-sssndbfeF>QZK{$&T zZOjxzS}#mfOS+OxIbJv)L~V60$oCF_g0>YJQTWsk52yUwy|7=+FW7x&jUAK;fa^in zzZ9I_ujaCwnv~fs3?~AQf5dw<&<&T`*Wf`{JQ@{%R~B;IR18T26>tJF2fl(k4HfT} zUrYCVe(Gn9A9Ub1SqTf> zBu)?Z^K_n?m6jAz0M4}M%(jt@n@sXWwV-d2@TMtb%K|Y^e$RZ{GJ?)Q2E#!M;FkaK zdj?r+f8geY#P2aTi~>A-&m5}qk|8zFbkAHhTk8F%xJB->rqH=co-_>cKbF-@0h2{GP;C=I6K2|@`=?w~C zq-p}`WM85gkv7i(+;u9@en(ha;SOVVD#0Pigp#aTH=F{(`EJhBBX3Wm3izS4fjviB z!<*2-J;v^cSC$cEbd0)IV!bQOs`bl|mACX;jl2u;6fK^V6q~{cz}|D2!nY-~O1%Kb zd(W5iNF(e5eT*aSGBvFTynD}Pa^3a&>jqqFD#~jd|NaAW$2NIeVzqGZLm|e4kpuIq zNR{q)k)r*%S%ZZGx7GJ1+Ivr{M1yU@)1T&)WHfh$X(iRUE1hCA*Lg>56wBkWzD7ma z`C&A7{o1Cep%x_?ZK6!Nu4cGOixC~BJ{;@Rs6?Y>l0~&ZwnP6FB|2z56z(h8U;*4o zkGvGlP8V|I#8QRO3k2RusQ4iXtzmks7ON3?CavNxFgCf>ph>WdQP16_WVaNGR^NFN zq%CFE0Yn8iu>`&qxVcNpTpd7V@Pvb1g!+>jJQxN=Wi=(wiP+%D_wYT?Tk@v5;9C;p z^w;G|y8D5sL4S;Z4w@WQRTqEo&RFgS{TKcUL7Zw#s^Nt9b$Ln!M@4#>#;wIwfu>8& zryv70I_-JY>xS7h1jL!ZuM9depBBKcY_}AV`fn&fq)gi2WrG`a$K_MDo()L7%eeH@ zk}~T8rG}+GuO1|2stSCkaBzyy@V{qJRaRB@%)f_bg_IxKqT@8F-*PGO4Rb(%^$qiX z+A}nhp=?j!cO=HENr~Pqz1@*$1!KFE{7|UD(j{b<5|CgtN3>zG+oB3F5dGcJ$nAxnAE!XY(0qK#f7y-vdbuO7yh`L3*q< zx*r8;4@^u=nj=~_S#1eT+;o~cNi1~)MW+@m7Ofgnf&(^=WpZcJW%V*id?uu)#GwW0 zsSU_>IlH4}wKs`;HpH&p%LSvFA@LR;$|l+(Ye2h7x)WQD(1+Zt@;Mev9BCMR>N!{^ z5SSGpowk%jh%P;j?Ghw;@qC(?!O?VPZYw1@d9aiS%A1NoHclOl%QWK9fK1ODNy=Lx zc6qw*N}L)J*NJPQd-+z2lk)!!4Ss~Q;5D$Gmsg1(Jm)iBvXfKcvgpTh;p)AjX(iuj z6k7xy_D+}=PbkF|DL=gZrmgQgw&H9UMx9PQ8TK(7|u!(DG{f0d*d) z@GTDeA)`z-h&+&1*|S#Jn_UT1%B4If#&25eq(Qwyy+SVY9)Dbxrs?aL<~WbNp3gUAKA8WD z|2$?r{+I}qY)D%XZ~V+q=3a`2*uuA4tcolqh7nP4_Y~WclrEncZcOz~<&}g3W3* z)xshRbQThJ^fBrhtT`C^12-?%++#x(NCLqXm^c_SQIWEY1c1%Dp$RZg2n2Da18Jql zfz1+t)Pm2-+@(y%gU$Y%Q31p9bs>S_iP9>ts zc;H;}&5*5->{@L#u9mk&W-MJIb_YENnutf-XqOxjE>b@gS-<0ar$?QhePpuQ&@ste z>Cy(@ewNzGO;dnD94UhxDdw>1zaY({cko9I;L&@KUNK_3Q``c#_o+QK>A72wite@h zKVI{5cc)WAHiGqb$97$!{bcN+G8fUB5`#8LHubO6xM=)O znbQy%>2`}m%PJWRB|0y+*yl@aN(@`^F59j*wZrTyO$$Q*>S96PXK*E`vu*kc1p0Pu z4>qVXm;u*+Yi^>`oQ5dDVG%c~2u4@pwHSs(yG5f?g3}x>bP?*71V_m~6u_xQ-xPB! zTgZo(%~g|KTfX2#(F#qv|2Mr#_#No6cDjZ+(@Va+;A%;Kh*xI;t2$2qdQ6Fi6C`w= z$(Q{KNp>J-tsk1TVCOx|+Z~x!O?tFmgBtE0p&Jz_H46lslCA%2qSr?Fjv?OG-PbWF zeIS;6PXSv*gS5Mq?r@jO1E+HBA+2~rmR#{X@SV7hU(qT$I(i{cV4VyOsg^&{A2#r0 z%Tx3|6{Zl?`3h0LbQ|Az$15Q9K5<}Oy>BHxcN?Pf+Lg(K<+e%`~)UzC`rzD^Z!PPyFeM%+fP;ht#oe;9kqxTxB8 zfmi7Ukx;rjM34sQ?(UWj=^VPdyE`PLb7&EyySuwP&cf$;-+lJ}oe$^J%-jsK)}2@V zuWOYWErcGq2RT+Q1@9qFYrjgldVzZa!zBwggL_{`>>pf1HF7pQrMiGP+bi~@mw!@4 zK%ep=U6WH<8C>>(c!<9pv#vU>Qy>YE~~Pie(h>E0}&{wz<2Uq2N82}SsxfgnxwyjNMry19>huI zA~yJgWfqOcWgdZp+cw%7cw`v5AO31L%Mo2&L_F030xEZfT$C z)o$*-p#ON7U#C}djx-^jW1nu50T#!1rFP)uS%N?J-i8b>bU$s5%h$1w2BNdsnJSpU zg>)@~0qqBuIyKyMn;?ID7cP8Iyl-cKc-3+21)C^z84dISuZXbS^RIrF#0%9vUq?dy z&hGTDfvMrZl-Ap88<C*pY63P)n7*pN z*;ZROStqdXGa(S9hDQJDr!qkA(%Lg3guSTnc>)?uOlRFBPSO|#D(Sy6-vDm4?dPrf zR3ZA;gLfK~o>-#jUvYCt&T4EwFZYhr_KfIZk$F1J5e~rbxWz*Yry^cknt&adr?4c- zclR(u|F4obM+3QLRldtf!HVmuEc4Fw8LCc#Jxi6hXY#P_c4K*oM1*C_A{X|91N}^0Tc+H=WDwt>pnZW&N*te3O|*?MB2&^rgB>z-r1#Y*nkjK!;U{K6Xa{u9+{6VZ8<`UQcmSM z?}+7Vx-MB+APVj%*6kkOH~M76nU9goDfQP+(M?AI-%PO06aAqShLut{z_Pi=Ixu^d zui@bQdMuS-(VGI4?EO*%B8OH6>VdPaH^gFe)iW9Nk7|3w5ej_}`~fOe${bfAvgDIU zi?iwgQaQQltHOtfHvwJ9_ah^FsYUWvAH~(q``QQR|LTEU7-9N+rNZu6mosyc$b@@e zhMUNq9QVY=3Hdq#^4lvuBxnE9Ar!v{;-ggaZ7p9Hy$8kXcC}yCz_jw?e$Skx7TQe_ z>@A*|5Ue$0gobj~flQzcIE1jbfI~>C^kf5`F=(ea_ z6!PQQXgPNAM0POdI?*l?jUD>U#NjCh`|@dkGfe;K7Z$q^n4>i`*cW^MKUcHV(`sT)Kr~3c?on0N*P6E4}T|S9)0VMB*Ro%jE4W1 zB}B*wuui1@G^{29_34X0DpsGyd3ilN*z1Q*tUwe*e`zOmZHx2}rY8*BTdB+8^nBL% zo4)k?FTuLP4$=DaR>3m9+}#bNT$3<|+H*~bCs#e``Kr0^?CsLOlG=Y3X?}*aX?SNJ ztN7j+-#(Vs<0(e$EuD+wNjQ2V9p(UKq;{Q@=Z~tfn|BZ}(r*{(;!saSoS3-6_DZl7 zHol$f|N1F>m@oCr6`8n>{i7yCVBR9-5s1pnB58krS>lVWX}wsMGV9&h1Sd^q1&2m z9xeg3xZ~QpM5=)S1r4-I+)-o41)AcWk4@wV`0q|wMuo9X6j~ke$i&TO#Xa-Rhn%mB zf+G6*nB6YL*I(J2d4>(=YhWa98ga7-9HUfhgbZ1+;{O3j%_+xFmm+fM`gaY8I#f`}il#MsG zuTay7_`AZ2?oMC5pzICQLi1n@mg}gpD?s-_SS1vDTe! zBMdR5jW=4b;$Yc5tXZzUi8xFA>rA*q(B7#FN!1OYdaNIBE z!|Gg|sN@!+`Kd%x^$1h9h#oc;Y@t)dbg1V>MbJmerM`5`QsRrH{+A>Vj}0l2R%k-1c=Vc*)(2c+m43ny2i6_^Tw zV$-3-^^JtY+uN?Qv(S}o7(lt%VD(s0xVnmn^%3yLSz|wZNGz@V04RN6Nzd+V+u`1u zr2@l=8+v8kzLJkiM1aF9`WF0j31Wl-naKEM`0^77rb=C_#Q!O}kJ?GHyZivcJ$t^} zD=Ci}VZ0!5GtE1*htCcko7T1p=B3%~lQa>BKjc5TT&o_OfRWg7Z=H)qVI zGlG#<x`p8x<|CMr$c?s8%+|F;c19!j3%pQB|oca0slWr>8tS_JLvE3h+ zWeoSS6ZfG<=Rc97jm`VfT!=jQ1M&n3N#V7C%e} zB^x0WDlJP|nkEQLqv1;5aIw?;3)U3ZaW>msT%6sW%YiuV4Y}Ed^h?BFk8F66c zyC4f{BQ0B!8j~vV_!+Q1|1a4_@k;WVu~?)BFg-!pUea9-`}>b8Iq3^v)#iu(6D4Y8 zCPp-;5diQS@>~F~L3BeT{coH|E*n5qw2E!c7NaT3steh@x>`%^3Th@Of8F?6rElVq8gsA3O?p;x?nX3n|og7ZWz4slt7!WYNx=J#(s#HiNvm z^2qBpTXj9*1{am6ES>L&PtnILCHqlb6PyC#uh;%qvWr43^C`91UT~0{ejaV1)aZZL z@2iE~Dugg|VkSY!Ur0@l!ZV2O!-iWVoMRLsMMp*7Emu>R!*9MkjkWZ6n%0t~ zw`Eiar|D3CxF6&kEuJ{#R3p4vm+fqduKEJyB`ktgy{0F-_;f0=QL8v#(2_;kTbs_< z{{ax{RX)XcTF=RGxMKBoOcwt1obuaghsj1-R&4fAT48}Yvm%52@Xu0%{c!INAeXIi zw~e|>@Mmq%z$+&;`kJy%=PO`Taw^Gw`q>Fc|H;pCKgMOZw=$9Z zu8>QTA)O4&d4`!w4miRPH`y>tkbZLH89SbZTd1W>b>>-6d!Ar#G&>hM?sFFhr^Bk_ zNpe9pkLiz>7Fc*_IX!o8be|ollx1`uY>1ShBQCht#Nxw>r>4}|&K8+2>?;Wr^EJK8 zamo|ypIcQ4M`<8{t8*YU7^p3OCYu?CY$yDaM17+b^R{qeO>UE4*G)Bd;=}6pW?{Oh4f)ubvHiRx4LarE*#;JOZ>$;Iplev-Gfo7RkQCgN0W$CFG!m6c$q{ zTwQC$vl)zBm?tf)(x=>_KH4InBG`n2Imz`@!w~LPnHm8A4jOVN&O&XfkN)udZHW7z z@=yHVVppmlC*8M1JiPjfoeR3N#cDt#yMsmxD&8wxvp~C^?jFhS_}E(f7;|5x1%yL) zB#+9);KMR11P7hNi^bt{qKFHSN*U94MoXS*U2!9?z2BbXF@U3iLHIfk$U_$LKH0`X z#aJv7igAMUs2miSssHki<_35Al!5$BE>)!92G)bo_1)yc-JxlKT80oY=IVnmt&xvJ zozY8*cB+Jv6jpb~=Q%HFyXeDq03oP;8PKSH5djp2r@uZyvWH4q*aV}OPCA$5r@pZ` zYX{d+320#>EWG8?pue<=aoL1lL&wc{gbu0(Ie%^}=+_9;?Qp!c<`BUnG&srH0W?a3 z8cH%pd77d9^AF@5>**z*Heo#m0VDMmGC4P|IIu!ZpC)!VfN4RVX_)i?(_y%v{kQ{JQVz?h zl4P$4M;NzuneJKFpDrd8H3_qH(MUA#evOcOlZa^A%OKn*4~L>R`swU-e@iGjiW}Z> zVWw=yH8hlTmwR9OA1T!$ZIyM0AI{?Qin2arwncvN`CTYexk7E;;()r#ol406Me%f7 zY=#j(i2t48zK}yFQSgoM!aHtvAIGu%L!@!xKc@;`Y<+xF(vs8(m@mWL{rR4w>#`dw zEg4~~ZPa`|z%Bp)p-J!Nd-G_I5bT+`(7|DjTuf)z7)##P=<#hTT6;& zGzZmB=VKAkR#)7`T2*j{ZGKYXQu6>cV4)%1J0U1c2(*mPa=c{KZW0lK9YHjWQ-mQ8t_+ ztTE1QGSyokW(@JWjN2%l(X>Po()O@a8YdSH*MpFF)jlq;VM&eeCudLXFP{fog<=Y1 z{9k5{i3Q@2(vp}F?>pGc#;dq~r^SrPPmbs71CaY}TlE12GABDI9HipT8fT@6tj29N zKC1qaO{20nu0O-XEz6Fc+&Edms_ZJ%SsI7aVpHsWA{EMd<7i8~4Q3fpR49m5_46qs zACFqJqUIHoR)5ZboP!Qg%x4Ub_Sewu(inv21)k(bgv4vyRzVA;JEaz>lc^f=76mV~n7-UsTD&IhrQQd@HoCzav1zflOOm3!0Yrx=hko;pvA z4JZ04Y8=`lqR9h)OXqoM;Gn!lA4Ye`cN;`r&irg7v|ImMLOvB z=MjZYSSGFGoA4`a8q?F%)4b}Da1KC_)g@EH!($D2Vc&WIOs2ocQPT<6GWeuLIp-Ga z?yqtVO1rA@;lN&TPKuOXX^4TqA4OkrRz=AU9bA9729!!Gocf8v9MW8gc@`~|IhC}) zh60}5r+PC}1rLTVbCY`n4f^~?6VcYq(vUy<{oSo_QZWVuGO=cR=UG_xS_h9?r3K^0 z-A2phv83l&*tIar#Y=`3S}i9=$%2#-a;bspZIe*kYk{S?C7+P1i;1ARoW_fC#5MLN z^lCUw<3 z7uVIChZ~{DBzn(6RFJGhK| zun@CiYTUE5=2?{7^F`@I+S7n=iajK=U=qjV3EA~WXZl`vk*_)Ov17?R|5CX@pBJYtPi2>Ae?(H-_aB!-d*z!~&?Cl@UflqdXL zBG`GubxEx^rA^~V1y=lCf)a3P=8|V*d`>oA^tJ?kaetNsgwuS34~&}d$63qy>af=f zmmkvuV_8I8AnSKm5P~1y`-upISO%N}#FI7L8loS)zH+_haDN!z(RM&-G@%tu=bG1i)<5*ghAqOzmj~SdC!6b zU%v5RJ%lsgksfyPDz0A}!xfoZ_!SNa`J!&YDT)tsMLv0vu2%M1d|+B5@%RHdAMnK2 zgX+Z+Hq`zSPQWvkwDirDUJ+eHPyeAPMKxCj$>hN%y=4 zOO}GbGuD@GqvG#22hfO{l?hvVMqQfA>!(gTHFw>QME<~Li15doJcMV%UuFR3fCld^ zBB*j{_bGdV<@ba~Rsy{P4w<~s^|5Ax4Y;f*kn^i0HLngfI-xE*ug;FlT{}6ibur*N zx;}cSs5yE7m$725yoR2^C-XmoUZQ#qq)C9>=lZY?iO_u z52dP+50NAK$=zjI?qA~E2NpklE`HC!JBpmZxco z^wy@BcIT*P<>HE({|fAse*|`;4WD^4c9;Ix*zY(iu4+RA{$~$vFt?I!WM*>A5T`L& zN%l^ll$bUd6frIeh5s+Wk;+;~vB`L}(cKqhxbV03?gY;SS_xk2!p7HXhfIOl4X%3XdgcvX6Z7rjq{6e=c}1`}g0 zS1Nj4afQR2c0BQ^TFg2=g<8f$)pWL0uMC0#gtPsKNUDh~vBfuRHP!!}oJ}VfqMj>X z-p^+PFo()dZXKQV5)06wC0~%2`8mI|%73nPV{c+z>g!WMCY2Qalm0PlG?F1&2YE>{ z>e9R_52d)Dr@QaK7@5>!TZN5sZ+dhhX1u(!YYJXMlVs55>E3~y`UnS)LH$d0%Akf$ z=MTxDQU-j|D-IXJy_rukL!;B5t->8W^Gz}B&5LkY!!6M~aX+OEJK-1bV_>7pETmK} z$+hs`d5EmlA~#rmP$%)+p=mkSh6<3m`6wNiiL7DP}` zAlqV*30oVtS}J!TYw=>nBi9s|x{_PrVnrpYJ{}S!e+x-mIQ6YjUiBUxZd*-|hZw_y z{o~T9i5ZIBDr!p3=<+R54XTDg=M?aB>U<}~1pJ&jrXTHouiPOm8)ZErf zZ*&U`%$B~Zf6JRj{(j?2ecC8mjw|Bul{YWe^3Va)3SZ|ah{rL}OdR1S)L_@^ zZFG88a;OgSQ;V;}EuJqIR!=A8;yqW)q>BhFwFddF1yS)R$&&C@yAuR*>9&Hj|Nd5D(%-l+F{ z_Z(W(A4?%+CTkxKtFi<;5sQ~)OvM?=_$%@=x`pWh1Cay70}Eu+B2uVQI)!6(cYY4| zk-A9~@WahN+(r>ZV`?QHR5V<}5b&efA$)RY6%?)nqz+(I@54jDvU7RlM`POWBiGtf znX>D-e73h~89wKuHK$nc{;kq>gf6>b&PD^%^l+G$A;{lN(;cTCeWC@eu9Iwael*Zf zYp>VuEE6E^oRv{)|9fwDZ=v53&INrpej;`V@~ufj-UZ+5lIQU6TUM&&t|Zq0JJfQs z(JC;Eo%14VT7Ta&e-!B#q7+EzW7`H0#9xAdao=h0L2bx=unu!F{&VlOabpsRF;;HN z*w*g>`0R-id1L<}X6!H%8DFV3DG}v#pH-2*-eZ4HPF4D2Vo}4$-wJk&`1Geb->W+X z8JxyxZ4V?QVGAbsO5nz9Tx)pnJ2J)u7`Dw~+GJ&6lUt}s4ZV2qSHI-0^-dROY#YeJ z78vGtpu$==l|Z)o5lv3V?=?IXqMUM$@{}pCTBUz={0w`F&Wd*^`4!fs$o8IA;%iU| zWdm4F7h=8;I0Qv)&sF`4qU z*uZ=?XqUANESthNCs+{@8jgcshJ`6LIfLb0m-r_+69_&g)FQ-}!9|7f;P(`JEC@_; zMrX1(zQNARQT4>gdo{yo`kZl!q&65LBq*!JS8Zk&zobFo(-R^s8VSIsE96|K%jKT3 zk;eI>2lQ8cV4utAr|PdJLVYh3V$}Xw0>fb|C2**|EeONpIfk=7By4a+0Li6EA_X-c$*szcQ{{cb zE>T79;$(6QC4Swd$c)Fks`svur@){ltJm^|IFYB24NMS)ychEF&b+H1vy43+_I|@K zLE?U58Oz`tV-z>&$)B1)Jx5lFPDo1bdHeY?J3B0?{um`!BZ~K1oWqRI@}I6>AZbi} zv~Nr~3_F1gR`Su9)Hz2o&f3x7%+8i3k8cN-tW}>rYzCE#8t{9uZlV zi0k0qJUQzwJz3HnC4AfqIcaYRkQ)ElDn_-(07K7@Xe{mVVq<`X-UFEA&v(x)ToI{# zj-F0?4<`Lg^h{C)>jp|F&S+oO{*dO`LC&d_sCN1B@1W@PIi4}~_nnjE<+psOMWRps z@{^`qErCW91_GwC0kbAHwcpWmnu)gQe1nFupY74SdXgoA{TarSXG_g#DF)q&O|Yg`}0Jtv~Ta6*myLF*cqx4r%AF?6!Wh zt5;M5~e^d-zv17<5 zGU=;o-nqHlgEC~muD6&`L8g!7gxi}U z{r8&gzSVt4S7glre+vsAx@c|A@Dk)A?XD4>33q`-8RKJ<8P4B!m`CFy3_dIsb{h^U zE}#y+`AXRcUH#fr7^OhU8lq*h==4oZAYnd@Xj#eM;fBc(%}N-&*8!aCbYu+~7UyUZ z=Wob_TG=R^Nso=@JAzfVZEUU^xfp_AC-^to-P zRvJx3*X{Z+(tO+A;?VPgjP`x_1sT&4>!l&<*~V|rRFUb@wpRTEcRk^)WAWgq{|U*%oOdtX0n=XLWj-vP1-eN^__fe5ko)m7p8{%R}Q(Gx-xupMa! zBfCqCd9~6)=*dI4UnO7|BBJPgKNZ3jth+<=A}41!!Z6fYpok`ZUerR})1icF#bBY3OM68%(jEL~DjQC`XW>(WX z>WM^6x9!?zUP*GWw-I;k1t^EnqY}?2<3Gw_2LER)hhDT(>sQ#nuD=+|(6iqj@NQnQ z+P;M)?Dh2%Z97W*eo8(W4CQsA`3_ds9O&bFSlx4GO5i?@d#-Y!DN<0}J36tgh3=tY z8LOoej=EH`SH9wTtciH*em^CdGAgOZT)FuOtK0Z)6&tU0bv1+`(BOjjSwP@1Ea(;y z{;XXg8tnxjz62fvMNl!eiiF~>{rngQ4Q74)+H;8KJHA-y;bbloqkvZf6l^Fl@E!p^ z2l!S9CrBi2?IdFBV<8`M&>yyq4ptkK+IdL+3c92p05jM36Ui?-@| zCK4lywjLkf0xEVU{HogD*QM1~3K2tTUE`_%*{(D|{|4L$~F%_wNzV{<8r)+e-9--S|a4cz2T1N`I{8Q7HIzmWBSFZOh45 z2ysNNS%J6h8RuSt$Q`WPFV@Ob&p;+;-Q&umvHr%7u$LA|(Z`iHZ)YA?>clsG&Hx_< zOQ2!BmV#Qr)(oqw6H4DtiyM~EQNYH|7Mi%Qx`r*a@F>stl8R^l?#8KH=sNMjZi4Tp zb+|E}ot-t!{CFYpK;nh0mOI6QLk zS?JR9s3>68FnvUn=fFTy$i7J4-WXesXh5P{eaX(ZeB7SCf#y`^JIL;x_HsD&ifP_R<~&kN&q-7mL1OOr=YtG zU%$fz2Yg4qRXUwVjxksox}P?*NYr;T4r6ql!EOMWf#2@T3!n;%h1x(b&Qpc!FURjR z{=8UCt3VoSKdxwVuD`&*vG2UFTD9AH_PhY;%~9;Pf1kI*O1Dolh_e5k0X5IHTw2S! zbEl^h!q3EG`k`}m?Fg=pxO3$mi@&owd}8qe!k4m?+H=}pZ?zZ52grZT2M|Z`I8 zvL*e+2)6#iN2sMfNGQd z@an7LZQTU$;Q}K0CpL5x;j5uTe5wlB5W>4)k08|nI#c?N|B{hwrj@oQtFhENyO&P9 zK5bq_#1fs&3ah%w7_Vq#2id{N>(Qr-L~~YYR!jDL1-Ha=hPo^hvH27s7t`8q`x$rm z!LK(vvG!{+H0s1NyZLy8F{-cIN`d=dviN2dau;8Rm<@*)Zd=bDD_Td%s$ObA)xAKa z--p`jZWD29_Qz?93sE7#2nhHTbnyuX5U+#s(1&jrC*?|i9{4;hBPyZK>JnA0Xxe%5 zGb9_rA1=ThngC|@kk~%XKP3u+NFIzSqQvJaE;hbwwlyd`e%5)qqs!5xf8~dW5Z1Xd zzUfsUN$rC&vOs#v?vlS4U#4F3&cz_GB+U4JAr_#)#>jlc?s{DOn zy!3B(8?V#2{PJ9b8oJ-HJ#?I{%Ks*$lhw>=4!YX}2(aaIsY=1dVvi5me>l=^F7xwV z-bpNW6lyihr2GxJClkik*UQ_RcCuHJ8X?+OrjfgWDB4HsX$y2dBy!<9s0I`8ErGRH zFqOc6fGPp2%S`^$wjk9<0h5jY8%C#vrBI&G`5UgqT75WR-Bd2Le|uY@ME2Wxa={wz zPUolOaCx{#WmUm8)ZKGrUeWEx_r4z3n-Avt5OGjJ_(UtTY!HuJB4BKqQS@aKvHJ2; zuyZ58yH|k`WJyY5K@xRjN2mGCwV2a4A8vG--_5A5nZ;qdW%+;#9J0?xkuKYn;dk7z z2g*gSB|{Dw@#h%Ht6wBK3x0blLD_c611TQ7Lf1o51aZq+J0@(6H{)~;R+|5mVFT#8 z6?J)-LixR?wPi_9n^!=xR^W#piGoJ0uhGjD)km$=@MiBJCZahn_km~H_x;ZR4L;}f z-pJ$6Gp%9&v!D9urw4$yTQa@ORz^2UVLeFu$2SjD2T*B%wedMAzP9J}SWz~7W_9QlRHi5yF1(Adcx{pymeSO`GIDL2Ui@SoMjVH)BbsVgu3!ZaNqBn#fT119Vl0oLuP7O?^nnX zeAVH};PX@f`OpM){R%nGVz2%KIR+U##1oBMd!IC^Z)$j-G_d?IgM15augOJ{@*97E z1n;!Id5w~I08tW2T7Y(li0uTTR53u5s^f--{AH_z>?K0Zmgx?-&c@{6;SZtM7a);B z>Um>Vob8@_R}NO+JQ#JU^dIoixNPnfVOWfCLgfVNQw&_=5dAX?Up#FyqNHzDf`CYsK^thL0eI^_eFicy z#(#wu{>AJ%00>ir?e}2q1aK6tu-Tgfow63x!F^BZee$!`0{|iey-z+)+CzEmX`NZnj&vX@FAyY{i2CGN5P9Sy_w%g5Kk6#Xv; z1N=01UY`&NwqI;7^Kml>az7yfb&gvue@Y@nlq^`*xu0S^WHyhT5+mdhsZQokzKuDO zXwX|xAGa#o@M{O|D`FZ|J{h`M?B*kpiR#fg9~fDSM{XyGzPB&V?{5&1viyJTia29U zuuaKBC^4`nxR@+*|7TB>JaEbk?ZTuavo8F*C1!7I7OFyAbHpgCPC{5fuc&I(i8N9G z)L9aE3V4?ecm3o!dqd#_Nk%(+vvl`P`bR58eL&RJ`-kNo>ujT&aL^2=949lP*Rf)~ zRgMv;8_f2Tbas{s>0IhWv4Y$th;r&3ROFX|g)@|gWuZsCB<;IMKX!&|^=X}ZaLprP zj69Xa)2!$FDf9(h*7_A8YhoSp`j@4y81O5IN)aX9ST+J&-wtt$2DAeGfFk!<5e98I zp$y5%2V_IS%wA+wP6S#Ze?iR!iXr};53%Q!$n%%f;HW*k9j)`1W(TqtRFYMdXWjQH ztAapHxfdX3g8RBHWRb6LpB-62`w$bKmWd_Nx+Wm<3KO_TYi~nGbeQ>1fwkIeSi4-3 zjl>RgKnhm?nC*Tw*g=#()x_A{qwF7+V2=SvN81}a`qjOGV?n7!5q*05ilQ?MI!L&* z%62Cnq?P}TB;HS>N!c4#oTvn>-vhc@-&MJ!EhtLPcI?XPH7Bv>YAL}_Kx+k9CC%Wa z0PulF%jk{NJa_{DuScCTtT65~^C3X(q?g)~3qT0hhEXQF;OOBJ$X6aS7#Y3!1V7&R zi59t4b}q60#E^DFgdfonPy*hi1hm)F%*56MJH+gPw_PMMzFtmU&WLMh@!f0mHk)<% zx=nuk8nibHj;%lWyDtzgfkP&yKQI3Xz^@yXp#-x}AV9EGDb$c=4>HpT)|fp&u$FIy zSOO-gFrp3wM1ccGIq$qA=D|_&woEUw*?$irI^c3$zCm|hcszR|3(oifJ`$6>TzwL+ z3qJqoVG)5tVU{G+S8C@0st@5B2+{&K;S_>bV)^cy56X>ty+{#1y0G!Lvj&=Fn9R%w zXONA+-aXjCg*(3D^)~JPE0l9!wO7ip!lavJh$?IlFn{C%UoceCa`>kzj4e!MZ;uMo6<^nGF{0gW*_RCIf8m6JyLkj*Cvz;izjlph(xm= zN_JqLJ$CnxwO~1a^}OZu``q)8i^(PHvq8TSlfh5pXJWc7lUz%>C=CrIb*S20KENrt z%St6!Zw5p8r|}R0Vft52)Y^w&7Q-saQ(}cx8yKMcRpuA)l}PoZh!fhB5^n0ZldP|v zG`f*Hcg9-@XR)nmc!IIJ%7126zgWBCEwdj_g?UcxCmf5z13q)9M#-2H8DnR1T=c#Y zM3Gjck6NB8tjX%tlC-vU|KLu5BUwPWq^d}72dW3EC8gSxZ7pX?TSL(0yXv2ExG0fK zYus1@bL9Mr%g291sLLN>FMUM~#3C zzhwd*tq5GF_E*z~30d@@5#g6`3G*D{D8Tvrl&$O!piVB2%ruC_k*F$e6$Kz3CK^OH zm`uR`{1_t70iMWqU}vJS!#LbaLLcM6BCvZr+xk zj{_r$kMM3Auhz61=i8qb^2@o~D}obwh>J3JEBwzpYCtU>=cP%8&yrM46wa8An8vV< z?Cp=eq0pHqE4hA?J(#!Lk)CRdE;NPw6MiPe zEzhB_0t&>W#xWR0b!4GA4%)?up5~l&cFHIN*OLU=(6SDX`+F$$;1JD83aLzGC{iKDt z8)*&g$R$J9kJ7KdV94=GW;1^#23=n_5EmgXGPFJ6Q5SxRj@x|4L1r&)9_lL*5Y45s`eN#8jMRuW#KH5j<6t?ae#4~(fiT6K+a(MTK`bhKV z9U^pi%xLnKy?nVdWA=Kl{g4NO=+eJE+|Ojw)O*%(w=ND;G?p!Z6z-(bQuf^2o3 z#~awpvSgAn`hs5WMF=N;)bhl45dZ4W?J|*#k>Yu5Gv8-`ZomH|;z33D6*7r>9J*9> z_WShYp2{GC34>%jBKonygHu9BZT?o9&fiF{Be@n?ib1)jiGfj=}__Fc7li1@eI(Ve*IIGY^8_nMgfk zskV-xK8+~A^A+vd*D zp*B8DpIshfV2S3YayD3W{^Os7M0Pq;1VimV7MvA>=#=wT`*)_R230sia<@4Y=?rT! zCbu;`B0BovfoKMlZG{1)x5eF_Czc5G9`vV=*OIH#gU8PC5|F=<+(aw~kSgHY=g=x# zi$E`i7`yC+Q-7Q+PGCPKcrn&{N_IXtH#~on<$0}Z%}M`;jr`{c`5PJph1C5=`67OK zf9u1S_q5`%$KPKRX>^=#UfR7}f#+!Ft+|O`yH08uLY_dh@j_^}nQ_L& zQ-}gJr1T*;+Pkf%2pBuJEu^bYt%av-3d+caLC;*-yXnl|&$5yh#@MU+eZ%2Vkh~g` zSXw&K;yb$P{O}b827%qWjkdEI&To0ADht2Jx`t%7c0C8SN5TnDp@e83%C35&@Ir^{ zD_x(RU_yV7w%{4A;yn2!kGIDei9QQAC?hEAoR(MvIDvvgvDa7*eRCieoJUcx-Ex63@mT~0@ zg-~5iJLI|BjmQ_6$#CYr5aq;GXEQ2hQ^j1hAn8xDE)`TgPNG$zqdTi}_C&q-YG{pcczw>J-9x_Ml;r(pdI$Qw58wu~B}VwF?!7_3bO7u40*(|04E>w-I+(iNPtg5AzPXDR3` zQ+1FeQ^Pjy*yWB^BjZ|ru7=DXq#XFCbZ55l@SUu7fAlT8*)ns!VxU3s@79cuD6AO* zs{o0$3skPsR;Ha-!+EVY@z#|Pz@AuGga!Jck@OFpuop4#5G z-M#Tvc53WV0{k|Z%XRNXPyDiYwJ=xeQ0vceTm7h&6%vpjO-4~g;dNS8X}T;783#_w zDcSsB)BG(C^_LARYHol^o)jZ>nCkCW6Ud6>}|V- zJ25WBE2wn$O>xz}J0qCx(U5E{mw4YME0#7^`YAqKkdF{xF=16vm3~-Ao}C%fBrFfT z0USR2uSpYh=XW0^Jr=`G(#qbzJ{>OJATurcoq}Ez+9$E!Ba~p*HMYCsmv25h38Hl{ zW8XM85LO=BVB>S{N-nNwb9@i@s6}Aw#T=wF`*idP&x)#=llMFumw0q}r&M*31#|f| zxnT%9yZ`Fp6XC_=lPOPYr2VLvz}U@Z zd@a}6f%)CRwdZCCk5guz%l^Y5TKF-Oc3cZkuk-%wc45Mv$1NP(aC>@rJ4>LOnfX9s z9x8HhPLf+ch-xLDE_~@w3Q)A!qT%(&=xfXf@4$#|qNQWQ&FI^3ZL@s`8nT+y8Byof zN}g=}BG`@Ta%!uWJH`-Sx~!W^q*)rG;N4wHX^q%6w4;Z9c0aaZT3I^^ZujRCPc98P zttY9)nJ#bc8FV8YE=q-@;d1XbOlqNCxsG^xrU9uoN!NE?heIWf;$vB;4aWx>9b}+$3w7v6Ok}ISVHblCS3WhoZz)(z!n>4eP3_xS(bURw2Qz zWdy~UEY91*k#jISsk?BpjqA9Ilou31^KiJL^pfx zrnK}=AFzK&Rmvnqp^|r3l!xz+baE?%C9=+I-s~^6WG~J6*Ozf;@udVdXXFwJf8Fte z{ymp0&=7@LLkf7t4xP7!w;H0G`?p~wlUB?+1{OVYPGAr2rI7F6Yc z(D0j|1NIFY#ejW7QTQTE8emNPQMd~%AWZxMiWrFOhf6B@BGpVOt4_*oCR((F^{Nhn z9p3@eLAC_tkFIb)+dSL1AD-59-zaFnkMU0*VkzY zO!QX<XlpP?4X)m}VMC7JH<2405YZz__@P{aO9tr-NT;_kQ5JaEOOI0J4iP zK5fy@-E9AYYjoF;jdW<-X7uoi=v6Wc-JVIxyMA5z_BXL`vXgRE&}A%aJZd4-szZnt zW8W{ZxtVqCK1x}s6?P-$B=1=?@UQy!{IyU)~Y-I-Xs zT1gN0Neb`lUUU$G3;u~<+Bu_IMmvqyQmL)#s?jQ4DwZFWy!cg8PjIWeTS7V5naQ;k@1sCJitR6C!|`dp{d zHm8kdX|)O@A8VWgdSvJ&l1$u8;6g4ytY%LBsRH}iGe53!l&4)l4i@?hgVK^mE!1NN z?FVYL_`&ye7@c)llC^nKvC$7qTsLdp&eIVmHS`wnDrT%R5`9#eBbCbR0&XLmE5Og4 z@7p!$vXhwGJy4u0^A{ga>R)Uw2fV6i^*9{WQm%*u9XJtdel`r`f)8Kx34hGj$@5pE z&DeZ^I$Xv6F&~C`jUT^uMjRQNnp6GNzk>5(3z6aU%bl{< z5LZ;UFwD*PeIy_ykd6nf?gYR2@qTU7WX!XXJo6B`MI3qt%F>$SWudqI5J zMG0KV{IMm?_ceCh?`txw6wudMbHMEw>gXDl0`ohm036hjQ@F|7dS?zxljbY^PuX&g zc3uKrSw461Nx8R;4&-ikMe<;AW@iaSmIjS|D+lle3IrKZPLPGzes8PsUYK;!<5|@g z%w@faw5Jl`a7GlC%O%t==Yw1K-9WfP*_P*+3+$=KG3Zc-Oa?}E4XB6<6RD@SSS=J1l0cax|B>$wt=bVq1FO#1y7esS2z z@i(>BLs&hxx*%Q?}Cb}yxh0@%?XcFl; z9}_{(Q?I6}@K@<^K38dS!oQLA`XZ6U_|bV(JmE2MmQ$7Qoe)b9Ve@zA>CJP`Nby*f z_k|uepInmPkXWDXTG*(6`!T*uR%do?w42(#q*Cb1%CnpbgO>JiiH$<&mtZSJ(k_D3Ku%Js1kKDzFmfI1zK<;q>-w*Gt=OFD^QW&^Z0*hP?NAhso=M&wCWhvPk ze*J^Vx-UVshOUa^`+3{>hc@E8>dm%ZYHB!1!M;J&wK}w<>J+=w!EtE-os0$sc=@uQ8Spn?QqQJ z2>T{*Nig|byOMpZ!>C*2t$4s%`ythOTcvZW}n!N7SO4f^bf-QYj59&+(LZ6>YP{M=~XG7d}p$N?*+x--1F3Bs06;m{Gpucy0GU) zeI`l>mZ zu5!Enk+((2gV1Ab7_2GshmJkor!#;VIiraZo z>ioZJk|LPCJl@hW5WsRU>-H0RKFV7AS1EkN-RugSkc+iLz|+keABr9>93=^34eo+x z9z{bPdEK`HAL=Q_qu#iij0s-MgDgWV1O%A6RfL@W$J9;Wmj=?JuYG99F-vd9=S{q_ z#}h21S^W@i@6S#(zxz`2w^A@x(_$kHkr82cZc|HIcsmdT`3}U1%4Rdwww|HQak@O3 z3*4U8((0hMZsENF(?AeU?R^I;4OKs+1G~!uL*SP4LmSJ9IT^RP(|e`xc^?!anznrj zeMSk79mciX1ED&6itMjlm(0DcWEriPW$k2TkHZg_PUgLC_`+LQNKTu+C{TmEpMy@5 zR;BU2#sy(DwZBr`PJ{F!L(lwpclYxqcM@MJN!= z=$DmoTI9~ysTHBL%U?)^!f(W6+94z%c%xL{Dz80@c%BzcLytbLi7S5>sDdZ{Q%|Hu z3T~ZM{_M$yOX3p|7NpksmONfSjui;onxqyIatYjVd%Qp%aryi`xbr4*1ZKCpd#hSv8jQdp%atpzQ#I%~O&h9lXechLeNHZqOQJIlqH+9q-WfXD_>(w^aSUgLPN2uIp$s*<^*Jhs!p4YzGKs(udK~+rD5{wiPY-7p z3{*$Kh|M;ZYks?#WaPX!7-+F!Ag#CG5cttzwNy9xgG8>1yt>QUvvPkE<j5i~^|}%p;3C_)BiFU?LgvIDzb0%F>tcegGFr6(z6Dxzu zqEk^!J(BA7yo%~K{d0|g?U)l4@CdrClxqo&>Z!Z;cPUt>0Hb$7r6PbxM0+1q1;1aD zyL+7JO5P=<>@cm|X zod$Rf*G)~W1C=z7&<~`U9R=-l<)vo5}$JMn2JDTZwkfqjdmmlDqi;Q(NwD@dEs{0nU>KBO~Kap zGUppuxIVwrHG#+rzf=cI;13MK$Dogq#60TQT!%0FG{0e zz{_#G-GOh#TmtY};Gzx5oB}?CuhAgARDLt}v~<u+$(>U~h>jD>dj} zph?OJUtNb4mH?R3c&7pr3oOH>UFKU@84&`D&Z zCfZv9yoWpewndVZOtqj~{d_hCK%HRFpUJYOg5>8H(>rWTMSUk2*&J2>MLu++hsW|g zO&pDk&?1b+GS|~6&w27cGQRTDI+_|09pc~H*8;jW&#`fXh?(Ve;aj_j{NCjO3y%UU ze9OOu59Cq)Oz9LjbO>$u6@HQ!{v&LGx5E66y@PqHpTNt_AHBGo0tmB^fS^#*P+IYR zXY{xH={9gW>OVX~PojZ)dmn3x>eaX-k|j;3kL!qu-q>sEqc51{Uw9oUMCvuX&el$8 zH>3)>SeOU9Bw_tDKD3EshByO}^66PwDPw>0B%Ib^rthA!OF=vBb_Lz4cL`IwahGIT zcdc|B>vk2hJA%`#cbv>wb)Ncs7adf?b<@#wXO8yF zNhQUEpBF!v5pInP#sL*EABfZN!5@4r@&Qm4DDtoCyRj=Q22yz_+Wv;Pb>uxt9`q`X z!45lnxYC5W#KtRO{#mg+i#W>~MW(+94tpnd1b8zFb9IUb?g#|%U~q-5O(~sk9$uwA z-0yM_pT!q;P)#<=q)~aT{I3}7Wk@5KJwx_A1PF-l+p&N-) z-!rypak$rYMedyCBc)&ac_)#TYsT~eehnTnbfaR*)RE+8QOP? ze1ee*hj#|>(x}|ro`?rk*ztNEk{;IptrRZV@07vVD5O3%6S=((iEs^7d)#Sy6Rhm< zLE4YXo7@#AVD;{=R5B{FW3l&aRI8!Gi?nu;=bX>=b-%9c@9k@{fm` zSAFu!PfMh%BobJ}rJlHY;Cp=%pqXqs_HveEBDJgtMr(DxyUQbtG^Gs7CS7nSqz7#+ za1^On9wEf0B2!Tf85}F5j1q3Aehn$>s+xfLe%$_!q%+aUwrd;*EM!c*bzala%&_R0 zZ)?!q!}%DMD!`c!@+ zxVba>W(FaaHmaPkaa0}_|1_4=-6Js6YmKcVI+INgYS}^de*l#v3~yqa`U3e62TpPz0pV}mX|Vm@ z(OAB>h9pS2O#y)Wr;vt634H@(0}g}pKkfobI(f?c#Q~<$4-uk_SzKlb$)uMyQs422 zSrkt|Ocu~DWAZ($fiV-EXymP2^c_YiG{RvYgZ*M?PHDe6=`G10nxBB_V@nV! zOB`=khWL=SrnL^qandh!@5Qj+S&@4SddH6o6Lo82gp`SJ6*N3=9nRoI$T!f9hI7>ZM4*cCAQ1S(Wq}JV3sn)}N22NT;i!b+bQ|Jynn) z*(}Q|SqEu!cxxZQ9ANOlbFBdE-x<9_J;#rfzhF!4TkmICm3+oMKrsjJCLM+@Db@=a zK8)B>Tq-6we1g87r{mTm1&cLAADnBE{?N5C$6_27NU#rbRZXh($UTVnJjc4IW$+vL zsA+Ds>fCIr0iLb5{_qHPxiW>R#Kth!HY0t4E+oG?3m*?o%feqH&aEZC@*%%kcm=QR zfy4JK5aijh&nIOOj6KyUYQP549^tz^-t_oduYgJKWfp*6S9kPY8u76~j|CT#*9e>` zj~myBv$YMmDxSD^j+K5u;z0WbJ^7a|S5O}{Uo!ixevCE+vc%^}w5R(iDqcc!22`Q; z$6osUR8pP#D^A|EKcUU=64hjB7(7u4mNVSnB6El)a84rHr6M0|j2l;H5&%Pn!HY2N#l14A-Z2sM-?i0Ns}Czu=0()~d)#V# z9I8zW>4ifHDc=wvczUZcpmHY@8x=1f6Vblv+=>Lhq!{9$+U!7<-K1s}FJeCz!Uz!V zbi}CNoDA8fyIHtg*XiibNmkZL^l)JV6L!kOk#=7|K%7d-LnAsI#wz_)&2};*B+*h; zVR%Uy1ALCCR@tXp6?E1E$YanR7!% z1rSpb3~2b^X0#8b=wKp>J}mYMmyMUA@{1or=lzY;*B4212nK6xN8Tq~rRZE!NdK8P zLdC}qXApTW|JJmMJEgmZnx{i4s0sfEim;CS^ufJZaF!zjnfI3L8><_b+k>?e09_HM z+GH@*tP}O0!1)7=5ZB_;(Xt;H7kC$gQ69|qJ{B4!$l@(7DXH$cDJ>E$8NK>){JE_( zTXZew46B7@a;6e(w=}Cy=^}f{?Iw$6Lgy$(*e`|%@n%A*f<|s6U5IZ4Ol9}_W_*F% zo1-pK9w7JT)WoLMXQN{xHo=6pMu8>ws$GU9*FgFwf89EYhSFs@L-eGc^S$e%(`z7& z({yfdRSW;0rHL@r`)-pBmG7I^32H*)dD{xRA1Y&J|1~egvm-}s0#$cQyuRBx)tIOortpP0=c5(@UvT+Gu_~=uzxaTKUFX4!umN-54en@{|^L)Um67 zvQh;6;4o)6c*0dO&tRS2$6FLgTm>IlDNwR+Jz}lj60X0N>>JTQ$xg6Kk1>EE#;zu+ z<<>3`5nu^34G+;J787x9ghJTx@r{cqg==O|@B9Tlf5mU(~ZeD1q~Ncj6s1DU--UHMzXN6 z&ivcy%rBN&K+k!V62}0KEC80UBA_pI&AY7ki2_A|wg*05rzA5VV?7N6I6w}Ayc#V% z%MIi9GwEuy+j%1bxLJc z<_6%_PNnrWL=f^?yH%}w4WKbTF|H5c`U0XNvf#dCVK zBpm;1-2}8;LgT*mB(&Vi9_-#Q{J1SIC>Z>jKGKDAD}o+B8`pGBs&eWoh&ba?B6phsuD8(rjeUgO}-v8bD{34P6R4piz{I?@2Apa>A5FH-8 ziVpk2lvYd@dc(R7#T!H|0o|cMhd8%SFG?W*2-)8K48ls=+yAAktmzvMi?;)X7$WPyc9Xg+m1zCH$B2FYjX>1_n(=&6}7zpm-z zZIDK)Jq`E9|6h4Sy9CbD&8rZn0V_P7=P?rIFiKngY2R0CiBeW)HS2b>bb*CPh>k(m zxbK6|G0Ecjx!(#j5ou0q&8Bbd=H@jnHyDJ|_m-ghQDfo!0}8b*DB(0_w5euuD3unU z8!U6pUC58mEnt!mg4Wd(fI^hBYcky29~QnYvT%MIec5NjVtWT5L8Gro&}TpC0_lZw zOLcPFI{*nn1CStTB1EE`D!dT1^+VCQS0tzuF3nrD#`X?9_o&*C4)RG`ea_9xGYXHW z$d^d;-<7+h(sFLvfr#M<&SZvxGUmfzc^bx{goUodDRkVNcW;oVjwxROyKFX3ribFo z5nR}yv`WlsHH*PqZ1UhLesI-nl$e$B>OT6|Cym~%nriutcNF>(=#)*#r#T%F`RTL00SBGNd87g7sw#a(RWP;}d5kE78=cIlB35&JyWriJ$Gar*2@Ey>T-#b91k_D`La@b7p4EiMRzqz92>vMu}m`7p!rQ_s^WWo6-5|uvBvjI8}JkTNV0m zl+gR>(2X!Kul2*_!<{#|jr_*ZRIvj2-qC-fE^d&y`IdN^=t-ZNJaayJe#Iy&WtDKq zWllJnwG*RvDA?JyqDa6txkbE3_ z?=8dh*iY9Ud$i=^w=$po&kdaANr5T4h(GX+`-9+GLwW#YLCwR8r%AK<1I6W5N8e*` zu7a$yjQol1#KI!xXwnYO$7Qx-K;-6kNj5^l+}ly+*uHZd5qtHP^)vZ98>|#8xIbKoTj?mLi$u6EQgQ>gm0m$m9 z^wXLMLg0M|y7C3Zh4;|m?c3DjwJcDnwAe;lTK{0L8z3k&Z#|np8hsPg^`~;s&EZp{ z<0@nbcr=!P3jLQw5|uEYUxXVo%p z3<@dvtGr#13ls)&TF)rg6fSPm3n?{t4S=Vl20T5A3d!9iTIhREdzaVXh^wvcL+q;m z0fkaOybWh2;*c6J&@#iEwQ%F+8?+cV`2#jC0C4Pxzc~^)Xz2Ks0wj?8220a-_}_0X z0ckY_4Wum=coqN&)kl=50Fba}+wBokfOJY!3j{85la+sYKqQUhYuLCjXr^F&^hN}M z%WwopkL-9thHUbZ&+g>cy+8u4iBvt?&)uI@jbZQM;+lc*mCS^F#$Gad(rPrSHdc_p zt9tSg`Aj-|$fghR2!&MXHG8GgH$MWg78o_kq?*>eK zkloZvIcvSqo&W-ury{;}30^d|#h2N5fmd0bk>+qc`3nMuMhpdfPe zdoXG&xEZ@kWBP6!E^YpFh>m4aHXPti9Rb`aBKW-?=M9zngKJD9QWs08y$(R@1YbrT z;Ms;{^m<{yj>D+RZ$f;Jp{|w`0z5rn_Zp31AK}uQKWgS@rtC9LkX- zXOhnl{J71XTQnHvN>2LEsC%JqfG5+TJH1c?x>1feJUyfvOu0;VrV-$oH5{PpSMnyn z6Rj!rr`sE-J;iH4SNHV5e;y5&PS*`q2DW@ui_8dkbLIYePRXdjFD%_)dtvDDV17i@ z^!b)#5g-94eTY~mz_WTeUekdA(I_V&+Ows36@#rhuuSGZ|7k28)ZQv)x(6!N0&6#T zwG}J70$fln;{T%?Y)T;dLIQKeau>FOxmKezeS^Cl_ZHZby2+p3C1b}s<`l&_oaR@j z$s;D!Rcs*a?IckHQ=@L3W&$L8ga>EMBN4I??>WTgJX>s4s$g*17+Xnxr8RTPDC!Fy z2F}iRq?%pEP<|tuiD^bk$LScNGB>;N_L%Z2HaRgSXgu=-;FWzSo=1am?Ee_Y&jzm@Zo6d^ zqb2_YhBEYBx~2s-nMwx?jt?#$0tx>oV_212c_~>@Bm3uQSHo+KAXh=I$nD-1&I1_p z0y}3qh&HO8-^ie|iDkD-a*F6;3fMsT&k`=;{W#f)oiDSw`d45$oGDS&XO{gwan{Z^ zjMfT6dG77Qu+`Cua!WdtL)u0ZZQ5LsvgC=gcP~%8q8yg`Q4aI>n@Ag0^a)_#VrBW) zAM^lJ*M6$4x;-fkDx$;aJ)6PO$(#0UG|oM==#JvOdt5B%KY(T z+ovhGWya~q6zal@UTc=hzpXcnPvug}zs2f+oRL~rO~?S-v(a`3Og^Rji@6n8@wZlW^|alBgrArPchMYqrs3vd+u0IYcdKc&iG-Zch)^x9Z-hT;=Wx$d5u zEP75rc2>>|Uj5Rhu6<4T!?w%wz1_{E(thyiE5j`<_vQF;oz0N>ei^;1*|%z7KL*}?<>l>%;ESFw;?%Ap*s;k3)3Ev2FXux0NkbzM>^+D9xP_x*z#Yxc;JGRg z`FMJLu;DSEt$oWr6yCQr+_1kO>zAbkPmK2^y5T{GzqJc1dUoOu_p?|V-Cd-i4yPI* zl3~N8Y|tGanMd16G_hXZqh`)c4rtexq{~FYf_A`eIZ<|z90-Jj%?D{Xz~yA5CmD>7 zp#IAWpxUEuP_lKt2dk{rIi0uL>>udO?@fUJ8K@_2I!a zChqvB|J|SSOMKahmQv>*nl?2?)U`#DT${Bk1Av3#TA3Ms;i%##5w zY-61c;w6k;yE)6XE1^p|lCrc&e`?e-eyZ75X8m?e*u#PG@@=Dhu70>@nqxh^s%E{u zO7^JY`D=&BBlzU~F*O|f<7ac@YnFlbGBsl_OTibiD6t&RIbvwT^7s>;n(!eSwJ6IV$AXFxJt2H+Ll>n~bA9r-5R(3|7eC zpcqsSu$OqJT>ld-w~FHqa^-LOU67}`mbp@7QV{{5k~8ic-ftP=<>Rst&Xj>KYw*}h z;KJpxlkwu%z_+jTa8RsU<{ItkxBrJ9{^QqP??hG}TQ!Mii`xD1Q1}-3X8VT#0%RKy zr}_dhMvX-Hl3u6XnH;{y6B9r4HQoi2hDXg`Gy5E3Rh7bh3Ot!KMm^;{!6J3{x^4tk zT=2xo^S9+-y8eIJ;aMj3)#wDGkB?NzE!bJlv|C?jDtUrq|cwz5vcZ1)D> zssU7z?O)HQ`Qiw^5s&SR2y;6KQvkOF80fZlk%SeXNoo%L0b@Tq{VwR3#8qsuVgP#p zyukEZgT%x+Q-n@o$n%0prTk{cU!cSXpAerbgx-G2Za!bjkRs*U^}Ah!f^?u#We>!9 zLRvq!u{}~xw?;HoC*w_Dtc|fHYU5{|4raQ#_X>*x~Sw$=>5y@q|6>wlq-@_q~6g$idSYh z%qw3!*NW|?$EVqNw+~~looziY2bfzZbEEQ~OQl1gpFip}b5fj-!#w~MEaM-5nqJV+ zx~Q$pjk!b(`!Gbx@3Ysw`vvhrE{D;$?})EXxEtSd0Rsn=VwHC;*jj_Pt2=ZTzPJ23L$~@Zg@}P)fMhCrVIkl3PspxQ zX|FEJZ_KeV*FCa2A)%I#|AV)m0g*k&L)#8Ylh;5H!rE5f?6#@5kEhpJR0%y{RNhiE%)$G_@d675*yH%RrFF2F}&tDIj7>y&Ryn*@Zbwk3;JuQTL*CWc-)wj50 z>%Ua-v({2U&gK{--TzX>0}PFiu(S4(F!CyyPw-At&9d((eiI*c)j!m~9FNWRZI8`g ze0JzG7+MiED?ZTSl;yUX{f=jx|M%Tz>1q)1EE}OP<~@f{(R50W(`J6gZ;&CZkEKXL z+A{vW{%ZAvpAf(ruZlAo#deg#-O=6vp`VjNC+@~}9V)HvZE6lVk<0SjRPp~rRyT8j z?aEmwzK@o{uwQJ+biEZ|Os;i7!a?LQnX63mtEX8t*o4GZMz40{y*$haH3MVO`}05d z^3PAs?`+jv5gjC4%%^$y)|!>v6+fSPEkR0IXu!uMxqjox=}*uSnixyFeJ-aU4CrBI zA@|%sIO9m%$@8D%hRuhWWRPmN#iuW`vET?X%m60MqB=w}s{rV3o_+=uezT!BQ#{7L z*hD|{HGV$egFfU-J8R`=c!h+qta2{lF<$mY#PYVbPq`FG%JE_eTZYF3#OISd4TptO z#p_U|W7HZ+(VcBLcMjD?7QbmFF83@gj@{%f^TdtGOch{Ps5EixCR~Qy#QaKSpS``1l^}rwis4PKGyqyt@kTPt{hz zH0{+(s1Jl*feuANccOslO@NwUE}}ZL3brwNwk_XUO|8`ww2FFTFwLT&NLkS3dN19c z2^9VNi9R7{m0{;LyUtaPoAj#=-K!PMf zFb!>Ehv_fHlJ|jY`a?fPjmW&Z2UO?d{LM&&xhvD*O9X33p8ZDOU22PnY-&o-fzW4(XFc ze{cFAr-o^{J^~((rO)+#_WlAd7uUOoS8@JAoUC1|UyuIj6}kYu!se-bhA2OK@cL4C zTvtc5(q>!LM%570{Hi#4$1V6H-M-=V#jV#c30NiU?~FD)3F_LyX!gnPa(ulRfIv-4)bntPF-uajCe7Rh0!f!brbnc zUDkVN&|QdipQl8-*7in7g8gO@$Y0e3KgN{0a5chE`PymaW2?|U?i=KBGBCk64$y_} zSPcId`EBG!t10yb>``C_rvB2h6Sb^s!;>&Z@Qx|s9U}>cT2H(6pG=BK(qq?z!>h02F__)n}`L>DuuX(-!pOcB0J6@Vb zm_IzJ!$MaRbA7L>0kTmaVVhn?wd8Z&_O&?da@^mHt=wpW) zffNxp9y6(+AOlF&dEVh1Vq;_BAG=WCdP3Kcx4(k~RixJ4w;&?)>Z@xdyEgI$eUz_t z8LJb)T+tqsb~H3xf7g?(Xgs`+u`=(r3Lo^b-5ZMtE9m30CUoXm`SBxd%_4HpGC|62 zVFX!EC7-rUQ~1X3v7PcohM;9?KssuP4Hu;Aa`o#3uBXze)jnU^aWcK0r)!NNNLQTR zcJF8KDMgFY*p6^++hPD(kf`G^lcu@3)sLLRR$JDgGnOu8p6jXc=MC(EIF1-Y!_7DG9 zyqw1!NA2dJF20tU0O-M;L_*D=j5Bv^@#75lpLh+gPN^O9(3WGd7*qJU=BnZMP;=;b zoIadt@c~{h>;%j7ExHnFL_(AdGRlIwuKD7UjVvW4!vWWo-}7nH;w{Cj^)W+i7kDkq z)EI}~yUx4PzZDi0jotj!$Q}1-~uX6jsK`PC%7@#hdT>tkOTfl z0RkHx_!_(+tH|K!`J0`twRhej0#`%_WakqmLjmTtK+f0ItrEF0#Ai(IYqe&AH~9f0 z*J5JpqI2=PRa}{D6v5F_8P^@zPfup4KH}J*b#M)u9s%M-{=<`LKJZb@mVa)2Nd-FN?HHMSWFrn)Xag ziA(Tc~~e@d!>i`v}sdTJ+^btty2D5?k5y=E&nK> z9{6AZNI4yRtR^mi2H-IfuX7G5|7K5uj&dECE65#AZo-V-f@r2P7ahdgF3gH9YJFsy zKWm$pXUjFyW3!JO&crYqBMa&uzP#4Z(6b$f4&vbbWB;FVyW-$V2Ieqop=kg${Mf-} ztHSfE2~dW9MUA)gN$!c54s1SKvwdS0VibAg@gbo2eUGi7{2}-JS5bf#-?TlzJ@iFk z?zQeOK=|Kvzbzc^Nq8P?wZ0?nW@9bB`Q2}9LkiNxJe6@+0=bLIF@J%al&w;sPiDhM zcoM?9umd2He!!smbW*Y(^s!I>^NqJC!x&XI8NaYgSTERpN7U*8sL?N9Yjly<8eJmX zmmT*IsL{<|YjiQ7MnA;!+)>sHNB_`$b%WRGinOo7#}8N6F-WlFq;(Ykwr@J@o63;Y zOhfpS>tcBLcAkCaA1|iMUQ3EMS9^6ftDFGn^<2M(p21T`mbXCgve%5r35+5aR-__E0+#eC2m*+;Ur{JgHD5SbMxbrgvWvo3+cN&|eFg!o~JZ z&>ucN^ao86X%q7ApSiPn)HX%TEMX4Rskh?2LD#I{;e(LyccxdfE5f6fqQiL_mWOfhomHvT+q{ArPMT$nZp z@SoT3!_tQOcmM8%hpJV@+ zNm|@ZGlsmheSx zv(s7SLDVJa`bUBEi_TMW>tWulQEz&|+3NJ9?JH~-XV(I!nai`8ENTz$N2~u9-0vyR zItIdvhlZ}agal26jKlaW*1f1n8xAIv9A>pY_nv&$d;sb1T9p{@yMU#Kx`w_>KVPek zSalyxPQY4+tlFzCf3Zivc892G4%-j51AZRkbm55uKoqsnByyI&S&_nQ)Sz0#)t@oSiXHj+7?!kYtpF37=S*iW;peZSv95 z$$sB_+Wy1WYQJw{J8#|wAfsndYJ1)>;yx3Gjx~z3@w;Kh(S9x({!)eOTbp|!s$3=A z!uT1#R_nd#ej*oU4MEBB+vl)tzjE0cPvkb93`2nT_$o!36@tCQ4cq%b?r;g4>(mXm zCNFtAGga%+f1_hQij{yAh$yB5y>v_qi^DCxLWQM^o?H=Puz@xy0AHK!1hV8%-26lllX$FJAdiH=%mS9&F>LEU9An`qKF$25}Pk@~zYts$Srwzj!xc zDyEbR)PwrQ%)Wf69go(EBxRPon-#}A7SxSAXUNt{rL?U$9AF-Jh3zHryq1#+wJ;n{ zTeTuh=m($df@*Qrf2kuCvgnSe0P#T`f@oV!I3KHpLY}>vaIPv;yxy)){lex}^%R<@ z#T8F*c<tE?!$uV-JIN()mgJb|)yzM0I>0dLb!K%i^wY9>?T;WFEmqGt#88 z?Ii}U2U}rZt#ekG0?x2$G= z^@;l@yrq}WvP+-Ld%Kk;VVZVHkH^3BWVr^UojzW?EDUd=&d)bPd(G>$_S`@0Psbm} zEMH5BAJX@>uA!3jKM$;|URxa0bPK zEJOVkE|~?~k2RlBhhR!?{&;D^C=H2Wh_srzAGdGZn&XXb&8yv0JRZ6-*qY9Ot!QM& zCUP05WOahF!q^y6a|cHwp2*$QMeW%Zu-a8Ag&j4T>DxgDC*P-?&&$zOdG0LKv?@ob zYY#p~1AM&?d1`lx`#{y9_8#{c$7hOxB3amF$Ot<6Z+PhtVzNoGN;gZ}-T~ z-W<4GP;G|D#U`!57dUz$g0!f%DjSiJvE6-eKf&sha`$SueVuQ=K4&a!su`P+kuSG{ zFydU3mHNS*=Ai*y~@lddq4d#ctk|{gw>95WjtEr$HQsQaOQmDkbL>iwqEM z2VwMi^S)YK)RGZwT4}2y>LkRLeTb6R%evoaXOY^3k%bqn7B?+hDxk?kR~+@~m)$^< z(AjSd+vC1$yMZm+hm?0~8sjs1DJdCdn~{|VeZUqS+X2t3DmY}tOS=J1!(k2Ee+;2% zd0lGR@=O~yurXG;?{cK@p2nh{5(8ZzQ`HBwTKu%^!OQmlU3YY?*T zn-10ILBRi6Qd?2V`{8D{Ra8CV%XE1oqQB>RlEJDZ)oHt;_qC;J$8ZpXR?|e>(DD5y?s^ zQ{c+U$;}X(m}A6~Pq3u#B{LXBzqR}5nDR~clDECOuxwN`xH$tu*UK7cM+-8V3g=R= z8QFhBuyRrsIBht!gz z-ga@fzMM$e^(7Isd6hB{6<2jVBkK&W85;bpyiyA0grzGlzeyAtQIpoqGTdM0f~{He z2UQ3+uYdD>zASw?p5Jz`yBaFKQ55=ndw6)Y3;A+X2o!18M_o^lTvIJj+H2Ys}Fc14RU#q{pV8olANabID+z`Vny zNK4kN|C<~BmoK-!#HB#+ENJkp|5sxQ!Y(+@83ildpK6YWXB%9yCm9?Tgx!lJ2g|Mcv!{v>*> zcwg*gDvMzF%blO0l^xxD@V361 zJ%6P0kdR%1L*FxIaF_>`d=|89GS?3Dm?B0rzH>F-b#8cC%89AKOn+BHNP##Zpke%Q zj1gL-CTVr3%PdhU>y}qh`}HBbFAQoF4UKelS@eAtta~@oP`4sJnb0r8t}P$f;^l8_ zQ#x04p|>O}O(s5EZL5n8p}*ep9t`{$#~|EViZ>3vTz29dIK}#D71i@(Nocx2P|5}G z5S~eE=nZak|L9o@iaQgpQA3Cl(?}@kOCz4>b7vOqJ!Jf}_o0cJqPI~j#6Z|IrGzQt z|KsW%10(6S2Hcs6ZQHhOTN6)g8xz~Mt%+^hHYc7;l8&9+&ikHo?sso~q>@Tk_m5rK zd#z_ZdzDJl=!r~RZhchhc% zN)3KTV@OScXbwzJ%jU_U?N!!!i-0IE%$)^|)L#gCU>84vt_2A2eMg?MTxHj|rjOnH z&HNfj$E8o1hbUfUBh}`p$W_#ocVQ|@gBhI1-E0pwc=!aoEpqkVu{Sn8p5NV~f_>ln z|6AR?`?tDVXPc8lz##JWSOMeXBz@;_dPHI#MbSCloorsv7Lz7axF{@81tU;n#1P z=byF1@C`bXhfM=603ryl)vq=e`1O7Z0hZ~uzwp3=|9Duxb6i{70{3kVpjKl2ebSf@ zdzud%@xcGv>7R=yy^W8{*n6+AkGGE>8NPfRTbStAicshY{;EPU<9WJaf@mCL{?G`q z2$;~A^G>g+B<`;14U~r`w}R6ov=Pkh`(^t05}1R=ge4l?v-dSg@{#G2i38&P)*q^w zGFUk_rf2r{_<8jMhTsEvunbcIi@E%7UZ5;P{i_m`y_Lj zWIql<;Xqhv@l?N1p9JB>1^B%mr`}^tW5JOV*non)fk^Na1q9@12@^xF7mbrItkp|w z41Ws2L@>lK#uv5)S z>NA#f31dAkQ8*5Nf-6r*VC$iDDpmqBk2y|ftJ?U11~(wj=Hz;~CCZADn}ekYsd|Iy5u0qOTv`RMTsq#0vvVb{7V8Z4+DNcKiTrVKl;kpsqN{f&l$-;&FDiv3Fx`J*N)zIMU98<11OqooK;IZb zXfe&B=kJyyNuW=FvSOb=?cxCUUV^znA8Im_IgU)3v2kJBuylVfm`s#$@WH5!&u#hu z3x(+t99Q76mXr&|%&vzA)!6P@+alUc2PO{w3(+lUG)^Y?)rR>K`^5qzL#$b5VZ?Z= zsPdc#?}k^8!y@i6*TJw7OXmC}lxJ2ka*{{hUkzB#|}Mo}7c z+ZgfE(o~Wm;-Csg*)nN)QpmgJ?Sh95`ZeFey5SuYek=vIh~7Cm!Ls;HhYe8I>~Dqo zcL;aeO4W4z@Dxn4+sFIykyF?LUo#`l7>8fiC(S~sfek2TO)T2Dl#!UHeB8Y_$Arf|q;(lK{Psg|f0ix6cng2c zD#`rntl_+J1HfIGc=F@8t-^7Dg)T6a>zAxy++jF`jR*#Js8JSb;V`V{v60TaZ4U#U zRB>hEsGfTI_%-wLZ!AY7hzD$T1=EN4#*Iulsy)8*d$Qc1n#K(qwjwDHsg7v52>aZ| z4Q;uIxFh$Jw&`YBx1Cki#$<$s6V`9Cp>aY)d%())+VY??pbCvW5c4>vAA9UD>F zWw3rVRZ*V}(&Qa;BR^4E>@?pj-OS;wO^$xGg##85$Q-E2EUhSYT;{G~Bs5Il>r4M$ zAcipG&YFQ}IGc5%esya3NRvSTS9_7GUq|jG`z+~?Rp{62?+Q$PL3%#A1+uczAyVNf zk3t=f*3xwBWaS-zz?~&J)%2Ye#(~h(T@G|7R=ZaFfSu;vkRFD{pkOQc- zE9Yp&0w7g19h*MCFFs=-TZ>IjcNqfcY!+P-azpw;;YwuT;BCszStQPkuGRK|N5~Hl z;L0p+1J69NrH*ZPE)^`4OCi0yl_+7V>$JShOzn1tS1bT%79`{ILH0D z!=p-&^9Nc{=E;hsQs71%+%&@G>jw%J0O*cT<6wGD*gl6QPFh-3QDgCw9lgaRWvUrz zoP#0f@a73i^IH9Ar3MUr7M1++zI9}!hr9dI@)KiZqzRx>*haJLrYZV~g8W0LLL#ye zWPf{kFtS2wIE!Zj78r#;oO-3;EG=Y^; z(b6qB-mXZH<7pdfY?dqOC&up5I{Fr5{u)IN^2<$WcX~zmWN%RghPXB!afKUF6-~8C z%okk{-wbKFj{3O3GH#X%#tk|)IA6mC!*UCE@$?ntg_5#sS~jVK<7G?j=k!8XdR}0E zPwX7^KZO^KZ2l|RAv@mQT8x}E&Ml4l?p#6Wylk;27JYz{umE(}o{ZT5isL#EEyhlU zdqJ3x9Ub$&N{v77=6!&BBrU)$j{c#%d7snG>Q_3hNPPBS*Z@{s$Mg?&M&4x=aTx!(j5 zHy=yiN!QSMQ9nlQ$m|}(-@I+%IJo|rrQct3#xt)Yqk|FPlMhwF5zbRyH3^_wRlno>GY&_ z>@};!)v3eq$|Kfz`E`N;v2E&PEgZ9{(@JG>1@}wz_THOsl99w8%VZAT8F>Q5fr>sV=Vi?mRC{ZSowCo0S=qyy{1?_ zxv7$t$^2{Uzk*9L5144=d`*}HQd3w&71ZX6>!NzG0tsou#N#y3u`d=16a=twGFx*~ zOoHnwIHVv&e9_rX9mal*r6!11{a^ge@JYYb@j2`P`d9?lQMUW2VdHG_;kTN3hp@0w zfUl;@RANAH%wZJlwj+Sndb@@MIe6)(3-reTA6?u8;fta?J!Jp3*} zS7so1-)&VRXBx%53vAAp7wVwVXr-+b1)Am`%WOhiMD01SDomMeG}#FlLzGH7_cf04#D>p~?}S4qp@ zP*f=)7Lojn#_n$8b%+;Scg?O4N(EhS*3Z!Fo5+k4%*z&+whO|#olc!EH<*yc*MrpKhM})L-7ml=n5g6!@yf=(WVQ|1FrSroSX_CLR*9wXs=E0w&1?P;r?NW~+l8G^W;4fW@8#N*mg0(G4BUSD&YgU9Ql;0HyiLE! z-DK;cR>3UieynpsEfxca?*ccGGsN2y1`%>Q4F?anC}|j@*J}EwD+Dj@$vMaWE09mc zCMz)l>z`&1#i8CVdPrG75^v`#R3(=hm!I?QW&M+{P{GQ(zTMK7yQ#c9rg?VgQ0>p! zLWTpgZzPw1_p>TNPB&QQ`_*GKIKb-XPwIgi?40pM6im1Edra`Irt`PMyB+S2MZJw- zd}|fm?R?n`)yx65K-f&wj$AsGFFM!`QkZ!grxCwpt*z+?JLme>*L|+)3y*11s^DYD+NK+ zS$eeDuq9GM5wKIbgG6&H6bh3ej}-^#nC#G+12<{`0E*&6$sP=*dOVzJcnkxwGyCM= z@Doj|_7o5wX$mX_m@nOS2w{M1hG3fGSUeN!CqJ$HR2?U)*iY*oJ?UY0<3Sc!Z*7vb zNcY#Tx>@%0YV>aGQ%TKEZCUL+?qa_yr;?aF$sMJ3>vugGSZB*$9Q<5t-~+)4a`=7A zbM?ggooSRGcUN>ECFPA-iF|rs3(JMAAA~X$^&5f8a3pb0Sno{i6qqbNeJYfX32y~% z&K$o(sW}o>BMg%3A97~IN3U@_bh2~{v6bbA9d9S3C61gAhf*Makt>1iYRRcB*}i2v zJX$f|hhjo9Una17HQgQW-cjFvbKA8{F15%s^8v1wKlqKgEb4Y1L`*kc;^G)~F8>E$ z`1dBBvUYG=B-sy@HP#p$soZpnhD0g76RYEq$IH5ctUz<*y0lj$HMcmbFonjdPtm1* zIf_q)z%~EDpqkKq6qBa$i4XTEN*4P2U{HvOOJY*TGa{KDX%w`FStqW^I!0kSB5A>X zikY5*iYV)%k&7#x0VtNwk?e4i$_D7hDsl}1Sw=`o@8rQPQ|eI-MIdy zx0qZGCfOt&m)Xns)qis3KKXWUp!E67=2`=QY3<;}EcM9v*bD*u-V~%dPAO#si!%}x zB(SKYC=T|uM?7tooxe~9nN){L(wrtYw~jWc$te}v_?2u@!NRVMpwCOXBSloYG4%m! zPi5_w=ya%v9X9AE8|mng^o-j4z{9%CcB^zCepqeoS}A)=9=X?gIy!sIGCLn51p~WG0x`A_i?*sF{ZOkVIanjCE8WPk=|B>0{%YEn*egn6+N= zbJX(sWO73O$&4>(*(u{iT<`SA8ht#EC}uS1oq=XWZ|I#guand+^bV;No8-;Z%(|=N zNoqj6!9oV(Aa+5IQJojL>3{hn>pO!Z#EcboF0w;Bk2@D&P6~rG4Ye)M44)jj((hZ0 z5&n~Y_j znVKzm?cm)FC}D;@pB7&FxLoXFnJORKUXVz4BcUH)(Om<{SVl5DwV&!AM_WMwmy5hk zhtgrlzv+c|$o_l^bVNw^*2*S{-^LiQ8>7MQU@sbQBZOrUu!;Yq6B&4P$n#N$W@EM| zNhQ3+S1tdokcaOCzZr8I9Z(WYY%f#b0C^1+L<`+J_)Y{ z+CICmCYZgf7KrBun>-r<*rY9zreLq%xqxg!oTwH6At$0vX$!&07U1Nu3xX>&LqMw} zNgRqW3Y?D#9gFA7!yA@$Q_5&tcwLa&C%JHcQzEjN%<>TYMx1>v(c>Dl!?4Z1PPfp? zxvaoW2Q!}KbWbK;v3IXgN?7mVS3a|Cko7Iqax-G}m9OfkoBW+)xy7_-%N%QYgh+i= z9@pS?g{*Y1%xEJ_XUmM@7$EI^(9d3o8csdzfmwGmg^X*PF~PAROMXC{n^M1b*^&Xt z)z_cjk_|lYtmz1vXUYZX6y0oiuaYCarf=Mrx)1&y4a}O&()+gR*-|XqUb9#Yc+VG1 zVNk$i^|O%jm=IFILkQ<9F1^WQhlA@ppr+cyLoaCj%Z1?R27_1LT4Zx1bkW5O7k5C* zc6)D)#1I8o3{q(f@3k{F|)S#K%1H zw=ox8f2C_A7o{;98ouSpyRfK#B49rDNquI99cmp12s*YQc= znakTl(@+MQ5)GGZf|_NTqt)6uYv1J- zkBaKb}5|EPMdXQC^to|8e4gke=69y`7Jkr@^TmpU1AZv+Kmz<7$B> z-{qO}SeKhyFBiPGN9n4ktGzml4+hG!fA#`x;n{~p@D`FdiYt^ZtlXQJN=qMWT14EQ ze+-y_jV1ERD%AVDK9*m)B}&;*Igcjm@-iMw7v^5a4va|$zWJVU1ID_ z?Z46$qX;M7g~HCqC2sk=22#5>(6Vat~c$&IDuDbG{FtFoAB#nWgI9{%OG$9Pr=vVX1s#)g3uezPET>YxBEoT2Gkihu^_~gO@SEV({^MdN_Uw|Qf=k~)2R-8<6(}Mw8?&y4E=se50Jxuwf zf&qgTwMcl*Se#U|^qkB7=ClqNw;}I#Nvx^Ik{ep5Dp@7dcy&5%(DCm)klIx(xc%QV zGe-E=EJNMbEFlbj$xRnhtIC7ALIgy+Zd`R7R^SEw8vb3ecVIkAEh<=-xe2La1AwbF zY(Z6tuATwm3cnv$;TfD!`GxVj+@cCuZc79R?^$J%m|X3|BLD1qST+F`O$7=7iyFLa zjleM-HvPV=>Ta22dgz&sbjI`ZuUth1DVh7<8#casi+nXLG%NSNm#J8F)xr}|8mT@k zB$fgV_0#2uD#;szIUI5H)+XZ>l&_POfOwcWYi0~XxUco!!swU83uLwqHAIi~k-!fTS+t`}(@7qr@55ElyJ(|d=Vf5@{qQ%op(Nj0Yn+u@DZ8Pw@r))J9!EMiVyU>Z25kP(6rzS*2ap5%CZo-WGZlqSf*uGF+QJ8 zZM%2vzo(E@GYS!6X54x0f794VJ`>5S;H*W;IGn&cLi@#)k(cE>5Kkv)8a`wP@7$~d zhX*qUgBH^(cHMNfZ`TpA%%C4WCJqnQ4jOugM#Giy)pCNdo_zwIUe$#^_W@$bV4<#A z6nHJ}%zS`Zqskz>vLg7DFlah997D8cvD7%MId==Qw%)j|6RYjtYIzP z`Oh4z2AqQ-m${j;8nE5Ze&+&xJ?uqLM%fxXC-Qp?9evM01X+-)eioFp?X#eN*31Ue z#z1r;5btB~yYC_RIhR@VZTDwo3Z^f47q&Zbq9N>57Hj9g$h0Xuaxu7CNx7<#U6RLm zmEAu2w=)Yvc{+ezfkF8C?rdOW1j+DbbUujG>Jcz@j_IXIgPd#;Osvn-itKV|r1^L@Svj0~UQw41q&4ywXoJ9-86@pme7fa~v6i4^S8{`-2;GN>sT%qQLq#biM(-KXmG z#Vs(QB31)HR+KbfK~3k8G_|W1fx8Fz5eR)%8w2POkVpHDOB++GT&Eg4R((55d~>js&aN74QZJAbr=Q-G{+-NP;^3UC{zKo zZUU8JjTXrm!Q?kE-EjyL9|Emo>t5uY<^wT&mVexI(7I zZsf%JolNTh0#1aL22Zuu@-(AdC(ejk2QkJoE@>)JMlvdXLpYf|nniMYg&2$*+#m0@ zyEfAhzQyxgU7w=`rUjmVOYD#E3S~bS)`nH}<88E)P=t%(ACuw)>f^661F21-YC59! zoBc=7Dm%1TMH&!U)e8-^sOf}K5OVt|%$A_X*P`O!Q~=0fdBS~ZY6)ho$LFiyKGm#M~dPe(j+3|mV;8f##* zOPF&vF?AE!O~eCSv;AZ4&6Agtb7Oj4`{U^%Zls7xL^1LKFjQ{`BA|11TX_2lwz!I;-Cg&+W zpWx*w?#`2dd1E^?X#D*7EzU1Yq=2WI?1aM01EWRqd(auiT(O#kAq6wO%{-f9pKj%E zY=1KlviG%6tD@d3rnc&MO&lh~mayifs5Cfi>tzOILDq@KSK`#s)Lkg8L}a%-bm0NN7+4uAG!RqWTt%uf6?T$T~)*TU_ z^n3sT_fAn}JrqcFktKk|rd3Wu-q$NtF(F(u+*j=Q{?2PG{RGZEX@`E^2W*Ngn74co zMgyNw+=^ku(a_1|1PQ2zYkm?h@>G6-eJ@_;Rl);1C$jvdAyCf3Is7QxxAC|bt9Ywg=vpmnEh;vrH4+mK|;463&;!2P<# zdkmkl7@BtjL}}F&U&?A?Wug_&StOhhldNVth{$|j@BUs9&zKKKP&+JDpCP4Fe_RQk zGH(bwIC^@4QQ&1Xza1XsJ9-q`DG}3te{u7zXp)v|lKT-6c=qMnsse%c!!K`$X+|EY z^N#e`G^uwa^!NV~BQLZ#p-TVoy{x5PZH)b<%RFAkQt*2N1Yjv0)BN#eo)Q@_2@3KS z(kPQGm$o)-0N|k5So{@%Gc$o_dCb_|F-*cK5Nen=no0VhoOSY%YJV$o~l`YK8Dv zqWG&2AGCd3oNccSRYl_RD10QQ1K`?n(OH5q;wPe8u9gR&l|4|I@bHX{RVCup(w`O~ z6qx@}^V>1Bxoa*bGYLhb*7>)!XCGY6VkZ)^LV2jBcTY@FAWM>p4K0!XlPgd0spZ}^ zwYn|QQd4izp%=9NWn{V@#pfQ*!tyxCK1Lys^CigGJP5DXl!sUdq2w^bi`#IP2#=R= zRmA&lYCNl;2u=M6k>c5FMuM4}(Ho#i4XgyGD2|Pa7aDWAd-o6gAlS&f06DZ z3yPIqS}SzG>mJ~xXAcDkP?h^{Z69Flrt;5-bPA5bB4%zLsoOz8zw`L07jBS%1J9ZDV{0gtoHlB@?0Iygo zH?s}t6f${Qw0}TTi1HTbNHOP4jEY+`9lvip%6|jbjP?c_DymTSbl~x-Em+6Z_ushH z#i5yqMbP zk1N5q+c9T0p}?HoMqE=Z5l7QJwrCnxC*xP)ts|5F=N zKRR#LEKL%%q)|IG$x6SFDU?N{u#57gvYADzsteqHP+pHxYrg=Jh53zO?a<(g$cDv3 zWgeqdR_Ey7t^pm$N@NxkpDZeFT#2rAbzPV>ZnBJ5fnvdEGZj3+v_dulOJH-@oNx*@ z-@pS~l4Zb{a9%K~JYw@m?RyIOL;~#tixdhaLebd$1c=3~$Dh=^tXJfwF$z2M?Wcs%!`oKQmAVADofDCV)f#TJN%`lrcYvDl%FU(SjY%ZEAdL4Z4X zZgwRrR6D@24mi~^zmEb#(1O0Mp=w}$4IJDM;NTMOx2h8dHc}7;+BXhxgE<+I1s0i| zax6=xy}A|(`G=hfk@zR#FCjYaLIvsX4RY}yD& z#6Q|KS@8jr_w2Ag`?Ba#pk`aa$rh2d`&myOZsYw%0ryQl;td>QF1eaKOULU@HN@-@LE&5^Uec@ArgJ>X?neCc@+FAAY8b;Bl95fGt>9 zx#Px7lA^gP<^u>FDzye_K@seFFr=7cBCe&o3gg8NdiC&#=$2qNZZ`g?N27YwPq<(v zrja>U#tWB*$$Nz+X=K@wK_IWQWKKRYtS_RRrG))Nc7KdcFdv=?F(2Au!%FRe3uLKo zIL1?ENIX^wTkx@qM*%CX5p-Z~#KwWgE8`<0PiHFQW0fOM*7eQJ!l^37IT1@R7lKdc zqI$OoW+&^aVC(V^kv*e~ykC0Pe*?TS7>l?Cay(--!JKOdiC)QWenLQfcmQM1=I%P0 zf8{`4yp2T@Z^khbb+Z=1c*y-AKq{kKG|Du7?BmWhn_yaom-uuDoN3n711zE;g8O5j z*(ivQdo56C_v+s3)(OE%PEj+o23XOnDCnSwd~y%x5xIX=Ah%BysEW!b-anThGqQ$a zQy=7YywMWNk?NH_yg*gWAWkP%@*-&WooI=)hu2^e3M--B9?tOs9!5#4Rwz)Y;W22a z7@mtfj!`2TvB-2S$mTnZk)tOfr)W79buu|QeBE9LNH6z3$^cg=!FKy2p#0qv#xST0 zw6twJtV5yltFMlhBrKeC)gemGt9#u-mSYmSxl-$G^ovhHG3VQG5g} zuI)L}W+*d3v;C%X|5qZK_>_ob87^sM-02ZJtO({7&_@n_10^DArFL0UeW|W8(wr7| zh!hhOHO*qHTH3C~-T;9sS*FsC<=y}@R+XV}Es%-z&e~wPNK%D}d2E5i#c8%$9U1+; z8)@&P-tqBX;E$K^@#4E1#5?h9atPqZOHn43(K-0A3?s~B{z3S#GrY2^-^zJCYj5=* zmjHW(y7Pg+f`wB#O^8bD*K!basuAlay1KwU4h(b%nzRViPsh=y+%|v&H>QuHcYKQ( z&5!k8!_f~1)(&oTFN7;9-~fD}hEt&i>jV06E7!uL-p1BP_h8(534Q+s4jWY)f+Y>Y zl#y3t)nZ9^6OSoykE~#+1?hk41U&VZ@kQ2uS%_ihGaBpMFzgNMz!@E3SKotfDXRkT zDRy1zQ2q~?+^>Fki`vPE_T3|G!k$3g_g@pK%Q_j+eb1aW1BfY1eiJ(9pCzi&RKd+d zVgZX9`JB2Fv8v5eho`|3|B)LlKjlVIo9qBywfxHEFyv*y4SS12r*FV%?$3|tzijIG6V24>{Z@VmgP+AcJF_Lb#^@WJ32Kw; zpaE!+pO{x%&6I z#LEw_o+VGmr<9em9bNmK2NRMToT4`VP?=F!+O&JY-rXJ>ZJc3wYYnVfOtk$gP;mZ7 zpa{80RYE{p*csQC#KJoiG8EC9G}jAQrVDYn->wr^*Wx1BW8qwny3kS0scbo z0QrBj*dt&TTRZkgFPAc17Dv7r+*j?KWo>=(Q*`)RsvW3q^_t*^>%qQ-eItUOxbT^* zu7~oH$FW1R+u`2_<<`*kIz$?K^!mi#1XpEy9-*AN=hW0OC;R!Bh0>8Uf!JGIxQ+yS@TWg$ZD)m)YIEXeE)_8y-oV2%{XTx zMY8M!NG6flYp`o7T-Yo4%xk;)gG2XIzF@Wl!;DP(Q0at$$K1NrZaJ#81J~qiQ{Y2f zulS;gCfwF4f&tm^hpNv0nEq-oeQoBH9sB%W#IaLzZ zeb~IfnNr`n*SLd^WishFv~Wj&k=4AnO_L(g>yff*2ndt#Kl>{XNjSzFgpR}pE)OB` z@pq0L(baI1@kbpR1Eqrj%YIqbX$zF2(!sklCGKA`|4|sAMST{&xP3H5_?IJkn1TFL zz1zNweS%UH6d_LELF{y+QmKRL zKeEXqQ@U#&V&={Oz^M;irt-ukkvbDqGG#T-hW5n8J-2Py01BjQI=oXh-!a4!tXhel~-}`M_E=Qa-bRV>xsbq&RU;PVQZ!cnUL*iki_aA<0 z#&>fXDbJGE?wz^sG}3h8!P3Z3eqsTnmNPkF7D%9wgjb0)E7FwH&wsj1Pxiff_TqFzWc&MxydT4n(L)$IMk2Pv zXR)(SWMV9EH^pZ&aul?dR@+;}h0ct`SjO*McJF>XnU0LtAR)Bq8wD(*-K3>!>lX(s zhoX>@A)J@}LT}{H0#Mv0F*Y_qYiS3jUC5{F5YNt+_>Nk5qIfQcsz9wpK&>HXFj7eu z)C`QJQmwun3V~v_pnCGMx~P4;InP(JQw(#XWi0=;NCcDxrAz-sotV>cr8MVb3>DT$ z*|JlMSO(dND%I=XN1+7OLz*&iXS9iNb@~BPR3e!~=`-t`!%qVEzh8j6xsPLf!crE0!CTAQzvP3*WVqAACf#H_gKX+y#l+I;udb9Ad( z={D|#7NK+UulYeALfhF^btO`@vTU*eQ`>2rN(ik+_B{p>TB{y?E$?pqep-T+1xaht5q zFtuT@Xl)Qn);p9B2x>8`%3Ab+2?AYKRryXEPiiV3tNWdKtJn*#%5S-Cs&o{zMqZJnIXGBB)46Y~SAR zo+?PWA}m2NI-MAgs}`{3A43r*Cy4IiXuG{sWsjfZf>?#LcdgW?z!bK5vImc z0i|x5xiViLj4;_0=UjBzLrj+mX2Wf0!S%bh$;0pz>@bL$r+s&mJ!_k>AQ~#pD~mSk z-FIh6ZzkmCN=_kmXT3DFC+|Rb| z=h1T~rsc1M5Ua^1rWLhqP)31hzIWshsY7{Kgs zuIb7Y2-h?UhMqg2{lra_2=6fX&@r%d{#&=QlL2WUH;H-KhM+#uDo`rA~Y8wIR z2zwKdlGi0D<1l`R*^p|=MWl4LRl_LM?Y7BV2hep40dz5bwixc4+tjO2}3UR zkc>`k#(_YSe&jDEo>v174T(ZA6>&m7VVZdT^Xt8IG{$kUwa#);NDf3^nc!mx`KNa6 zJLCmY2rx*b$fkxD-@g+pftP4e3mAg*6@{8`B1a(SQ(iZoBu#B^O4CxY&Jj9Ks~nP+ z?#HeK4JF{`8H1=_($y8M;9;bsoYluXq77jivPN$l*6S&Ko8ROTbJA0sXSb*HRo?`U zk@P)wR+1-gk*)Z(^175T9RJm+h06p=>}e-IW^D5W+0}t^MQyr+ldj`YVg-zj%02C@ zJq9%ai!1>{`B<&TxVwPVW}hu6Q_N;R7%9N#P&5kh*2*)nQd?~&;k^~jn|Ghw#QlLST{?Yic~B4w-8*sJ;N3%nQ@w-j^;!;k&BHi_c^mzHbZyx76<5>29KDbYPJYR7w&xG4%{z zYY%f&DLD*}XXp)06Zzt<3Triswh~vnOi6wZBxAK-^AkY znN#(Pmbx02M(2zXlBUa4@wx2BOFuL%T`)1V3c^9?hNx1F7#%VWgNU<&i|@Pk0deNo zaulX=GsXhzG%{5og0hpYjrb{A(HPD$8ShE)75(OTW}I*32|<=!@=Jc8$6t$j*t?&m zvg${3pk=05!kTLr3p6av6Ww5J&-E>c3f3>+QzpiU*KvNH)5rxOqhB_gY>jqFN_mgR!8YKCdfKaPqErGj@5@HN$Ohsa;I3Kj8X%Rsr|$x zYI~SYr4q(m!5YpDvAkd)MJjdjCI%UfKQ*_A6PBld(~l1(npq85?crfY37 zDu!CpT0f|Blqs4pa)DbI>5-wAXy?s(jX3&AtP8E1ji9+Nde`lUug6kjYchrSJ*94} z5i8%Q@L`rJomC`^nZ1pj#MycfpWDRO*%1V3zgmD7dHFJ8@AP1J>C4mKhN^`zIQk_W zYyFI(2+Y_zJ#@w6U$ygvL`NLaawzwkhFUf>CN=R3LnVF4R(*8HD8nU6jKkCgO1yj$ z3}nKY(yD63iyp)>;8k=;az-kmg-p^#CLv5lWy~oVRz$@QP?Yrqeb2>~aLq5t#nO z1;AUXg$q$>1x&OP7o>7;s!){7Fy&UZxv*=v0y)Wf+vi0FHnizN|cez=lX zc4?jaihoE@`EW~j8_PYs6t$1*#kSFc^W18LA#dJ43soJn0hHgW1IZE@0|-G4=JYC! z>Ok7lOF5S%2||_faYzpMoE?=U z+sj2n87#4m^MY%CZO*M3b;L^4H=65$|Kz*$e0iu}pyEo$k`ITiCfS}WJ1VNzuuM|n zbmO5(e+NIpPHH6`9Op;5?_N}(*;?)|OG~ z_wNGc?gyNM9?62Cq@s!(UUV*GpwSV)BaXTYifs0X+H|&k0q7TBWBuvJ$Bz0HODDLM zt*3$8-!}&*w~ort2FIhH1CZ~p^uxy0Pop0ke%xQhR>Nqiyb6O3xRAQ11`|$}RbA{K zQo~QPg|VSD#eTegA=|+_$RSgJJq?7wE4EZ!s#;>HM}~H_6|BeLt9qY&MbG zlx)+B2Wv;|Hk!+e#T%<4``13MO;n*MOM_@++2w(Oi|O~@;(KkTDr!*6(tCd&`k2Q- zlVA+Nc8;JDtcWXw_nghJNoC@$vKR3uvTqB|0#cF~E&c)rQe!X5zD>>`zaFT=G%2E; zU#O=MXfg`S)||@KkFk8<%dg}=UR^r2fxjtqIvnj79U_zq)zqIPd6ga4(v+}Fho}3N zld4`Tas2T0uUgLf=3p`fiHoB-Ox}fcp`0X?A{z|t8s7P(6MevJED13UUU;3#k! z#oeAet(?vQ-%o>^EIGiugqPzD#+O4oL7s|+IPISEn_YitCznK(z{$zPBP?!{PY1AX zEYI(i>rZaH)UfD`>z=<~{wM`!QhlzpT zU^1)@dBvQEj z44Tl4I!XmBEtN!^$oV?$0j_5$NSrxbH%Uw-eBadP~2Ca1x!XAD_Y#?#Uj7Q zS!sL!27BUQy!@93Bn_RjT}wMKaIIS`969zHod)p=o0K5CS)Jhtnvu}ec|*1M&lB{z2mFzmg#I-pmE z^ugnZzd-v%vmC9uQTlJpvIE?iQjk+3`IeLo%`{?`krQGp7lx4woLAn2{Xt7P9BZ*V zukm=f4Zas*A$^m98sD^R?~F@c4Ot^?1qlGX_CgCOGxBb$$*l>*G+_8DNbS%4b7Wp) zcXzpzIGSxa7%AO&4v0uyX)1->bDA<0S17H85CpH^+Bov^yR|Sw^P}g+7NVYb1-653 zJv~?Ax+O*>ke>C3ru^1l(RzRQ`Mhmb2rv=4x8UEWkXVJ_-~T^!y=7RN(bla^ad&rj zcZ$2advUkoULa_3cemp14#g?O-QC^o3*GxY?>RrdKU^d$T)X6Z8*Rdxt9X?Ugk4e{Q^oiP*jOiRfPKq@R%cVD}XymJ`LjP_kYk>Y! z0n@BZMO7;|X#~?OCm+|Zq63PszXF&b38i>F`|jk&yjpbv-RS3UpGpMpKEx;d983h? z%s1H*{FO6EMdS6`$LK8F&{XbQSoc~Vee+j3iEiO*eL)fLX}>U znPbG!mKr@?vgc35>9>}hbkBSV6OCIr&H{qipsinDJXe`Bl#_SAJ)#{)Xy7WG?Z=;~#fkYvxrE-O}DJVfH;a9H(O7KBme%qzbI6b8lq7 z!EiL7bQL;N$RObxs^{Mhw$+fsJyB=XgymjA*%l>Gzy+-Ees*G9PW)G0WG-%#8T8=i zEzE=yW&~H|(*Le>iQvhi&J2l;GjH>0J*e;R%=e#*O_cP?dbVsVNM?~r#da)BtaCI@vZ1wO_!PYVjT;R6qU16Qb>ivqA&AP@jE9MeL7f-)!&25LmWj(~5d(N!=cDDVws7DK~B%MnBn z+u^SWhODdl+h0giE!vTnksol#Ok@eOM8_Wc^9T*KZv71wVb^GlGwy<(uFNT zex{ueH!Pb<|03OrI1`OR{+n03T(N)0hLGqlvO)K*G%I2qEZi^$aKrjUSr%N$7c(luw&x@Yn&1$?)2)O_B~xV_yy?_U;w6bL z7@DU~qT$d)+A7EbAp0gy0`r{G+UpEeMllg5Iixsgtl^l%kZ#6yxx1Mv!pb5~RCnp`CS=F(nhH4Q$741umple8b>% z?`^~D!)2+tqV~FHaz^Y(LTRZ%KVLPK>Z!lqlf;X`&Hh&QWz6?&;ce}Ps(RO-kjUSk z%vR06JrlI66S{u#DW~_;d&gU^8gXorH@ybzS1VJ#7Gz(zWOEtZ*yE)B%R%!{NebTG z@HdXfP8LfdKuKZ@^3ui)BmJfKjkiYd`hjEW(c%-zJLbm|im$=xBzd?z=5U$x35S=ohOB6>BSyW%6qmPT zsp53uE|q44?&;>Nd0z-UYts4%W-E>Bb!1NA$EI{@8pul))1x4=Mc8|_nAIpguM6qc z8s$@&%qYFA6I0gIMF7q32Rw{Ao;ne$mwR1)U6|5entL&^xYWZC{wy{HFEY;u=jFu- z(}n1I^oKdn0kcyQn1u^Lw|@TT2rQM=8iPiWZl}=&XQ?wcJMvP^CGIFkM49|Z4{gv> z@TC)m)k3B%SPN6t=#?_Z%yUab{dW?ml<6@9Qzs|0Elg!U`C)2_purbH^M{{@(VJ|jw+#xD z&@$OhjFVxwf1>I=C!rN2oo)b-6hoEczJ84cC{ojoK?W#3rpJVxq-x3^F79KteRQa( z_H8KD!yQ}2x>pe{7Bm4E!b^3U;P9Li8+5GpG(=K${Dic=`6UXdTin$j%x)ojmJHs- zYHGI;H?61e4+$RLjpMYE8l;KKL(ky#Qd(DL_{P8bSGIh_0KBPsmSC$X4_rItHH* zP*lI}T{&3P^d9cVy8zi{q@WyRy=RBE&_Go!pB>3|~5xBz`bMEDQFgFf5KUxPy=!ePn&<#g12j-wP zfxoJrx;!oC71c=tP&RBMSm4TOref4PBel+7MCF6?{jfG(AB#(d9L{FO3`G-OQZD?5 z;A54yTN;uJf~>`S-#N`5(Us8dyM~n0p=ZQ^bAhOPX*QBVFTqOmjZr=Ey0gwx_2MOwmM=09)CMOI zZIIxhe?RCKnwb#gJalR%!Mkl^{HTX~kDQG5*uf`_07o!$6p_Nv2!)7@VDUa0-7OI4s zCw~j`Y{nv-1HEK%pD!7`-2V1`rErLK@Z5Y_HbQ%fZ7K3T0x+XBQg}zah0YY0$oj%V z7Fg|kT`z!$I!IHVM^z$|=8EzHef&x-tp*%FCBEcoq51w7 zq$a3Rc5(2MnZ5soRyHJ|AwD7VdL60ajT0J&7%Y*AD-fDrv;P;GN9aij7~IUvEC_l* z`EC3%hE8emaMjxqSKMv{IwpC5^QD_s;qt)+Y=0FmuKVFXf zZTHRnODvxtaDK|35EGL(hKbD>^jI3~mrJC?iM9Er4)2nsWzK;;;|hBCxK<##7%i;< zs0Nci@B}+^u_+YJL*Mz<7&h6OMA4r%JU`E%&mQEJ+|k@r`* zGXLS$Y%$<~k+~z(ut3Yv7M6LnRcMIztsp$}5@ex5mtfGavk}vgS4+haUh%{eGS*>oDbX3t_?33wE$BbW znP>o{oCCkyyZhcA*PU*}x>a%Oi!JJi&Jtgznn*_cHKpGzS3DaQXy(MU+Y~UAM#+Db z8c<C)Z_8T8nshDua9L=L++v^!!v%G=T~VL+V!VCzv8XdV^k-KO)+cam)>V zN2&h`fVt>rpu3HU0a00@pr>njyyJsQI=t}Hg(kLJ38qGYVPkQpqwA#tQ)Ng(seON( zYSItE$m7`x^i&Z<1iqK6GLO{UQ-R;Xfo#I+(Q+l)4F1u>0fwmayrqT@G{u!%tdLCx zPznn+aFzm8S{exW*!P4U=(Y;90WtZX_1laEcdWfeAi&+qeazA9w?q2Yk7RhLHw@Kn ziX9yNdbhXHbm5^JjKqMnHXw&?@UahS5?3A}oqVtU{kIiCM+u5%UoS>*2r7&GGWrY% zqJzl1e%G;3ABgD=UcN$hTH1qI54YM}?#6NaWl87c`YJIaCo>eAloXi}^O0Q~MTiO) zm@YiY)$~7m=qx+KO{})#Y9!#mOD{4A2*^x-@mL0YKJ11xMcloy!e zms-G2vT15+!JY`)9L2s;s6^Jn55!>yp8$*Cv@g*P(&H@4!Fj?JiH9=3N0J@B?w&&D zA@3yF1Jaxterjor%8jp$%IF>Rs0EoWibUFijYk$346c$Jg*d1MFQAf?w>XTgt)nUo zTI-KTlHu=ebu=@xRq@)Vt>Q}{PyE&h$KiHhRbqdDps)kWVdMxMx`Y3ZT;YXi0$l)_ z_H&LVqjN+ZAWP7kxohtXlkwPA=iD$9pS4qeBBGJl&$`4z&2i9vEP=DKhbzFmAmbJ- zQr+Q0nTR@4T%bv-3FeRLwRczN%{_8+q35aJ2*sFqCDcG&kPfZ7BhWm145o*C?RR`-C52?O@Tc%imrNmSDC6yH^(`7f``!QZ@%=APE%HVN+6?`Kdm)IgK*%?8yuomf%Y&V;m$BQo!*)_9KMUUK z5_g2w9`wJ_Vq$E$oc<6sSh@eoU3lm&M8d&0|M&E~P~RI++>5PW5Pm5K1raV(xM=N} zy*sMh&Q^m-9HOw|g%uLMkY={Uc7t`tS(kpnqfSYnxq-)7j=H%3w-+Hri0EjHpV>0z zVUzqGd27E?X3tMWFisywU6xim8hE$9aKc%;_c2T-Si8gO(io@@YGmTT&145+xRI3Cx!;%;w`_5?AX2)i&)#*avDvUpmKs*0xepbi{F~V<}WU}~lbM6V+0#|d4a{w=5j;jET zDZ9D&q$%5SfFl(j2eCVzIoqg83);JwkH%f%(j*RwPgX(>i%jVN;KYpklX>9(p6gZP z46vtK?K^o5um_$|+>Caf&rDMAy%?Uuv*cTJ$tZw=SS!o2?6JdWO@UhiX`I}BZHq!; z66c$?@hAT<&G`WGkBHna&_Mn%QqXgD_xq)*%YEaT+Hr^h?JC3AwY8c$5oHj3x_vKs z!be=XJ*`CI?fv%E=i$!i#~j~Z4xS}kLV;Eww4YZK=QdeE=VA+#DzdBPaIdOGmfC+y zF$DMml4_Zy_Uod-dznbWYSmZka@x}{daDCkF(Woyy6=wd`~MFI5d}=Itj-&Ro494H z=)4vs=7IharR_W`N)+y$2kMn6z}8!r(iyU#ZRKDT^BjG`S6q6fk4iR6nVom4TCd#v z0GWtGq8_c7v+W{c{#5KvJ||9?@WaQFX+3hi(uhUx(AI~aHlU$EbNuP*y-R?vD?t9k z!=vEK>oRFl1Ck@w&Pu?F9TPSrmaq3!%7g#O+l<+U3Zqt~%L7W3GL-Yzj$_>)DzSom znVR{{-zPWDPrChhK0bi$^w`Z%;Jsi>On0{vXIZ!YAJ7dqz|!&S=y3bzMTtPZdY}P^urrA=OA;Ai zfP*tpXu?&9j2l)POw&a$OI*ZO-@`wn{DO!Wt(+Zk#GESze;x$I1&6h|6uh?y&-iB& zSkv`=57T8`?aLVSuRV`?XX+Lj34B@CiU87OGxdhBFAT;l^#e!y#sgDeG!j{hd0^5* z@rnlg{2>FoUlWx|$4*6Im=0Y=<8DQ*?E^BQ(9Ua&0tS8!qH5KcaP&)O`sp&VtNIIaNV;08dHX~We4TzH?Pg$fR-?a`9AiJ@EexYUE!D?RMi229WnxZG5kjAv9s0@E!HCZhL#=&;d0nRGc=