From c6a2204d8d75293256fd17c07e54971d7672359a Mon Sep 17 00:00:00 2001 From: mh Date: Tue, 5 Mar 2002 17:39:49 +0000 Subject: [PATCH] first cut of merge of STABLE-pre1_0 into HEAD. I won't even guarantee that it compiles.. but I actually think it is good. --- build.post-dist | 10 - build.sh-dist | 17 +- build.xml | 5 +- build.xml-new | 208 ++ dbscripts/conversion/mir_oid.pl | 67 + dbscripts/create_pg.sql | 250 ++- dbscripts/create_views.sql | 14 - dbscripts/populate_mediatyp.sql | 34 +- doc/INSTALL.mir | 41 +- doc/INSTALL.postgresql | 2 +- doc/MAINTENANCE | 9 + doc/TODO.txt | 82 +- etc/web.xml | 8 - lib/dbconbroker.jar | Bin 5442 -> 0 bytes lib/jdbc-se2.0.jar | Bin 0 -> 84854 bytes lib/log4j.jar | Bin 0 -> 158892 bytes lib/poolman.jar | Bin 0 -> 81214 bytes lib/postgresql.jar | Bin 88178 -> 95053 bytes perms.sh-dist | 2 + scripts/autotar/README | 3 + scripts/autotar/preinstall.sh | 18 + scripts/autotar/updatetarballs.sh | 31 + source/Mir.java | 117 +- source/OpenMir.java | 55 +- source/config.properties-dist | 10 +- source/mir/entity/Entity.java | 123 +- source/mir/entity/EntityList.java | 205 +- source/mir/entity/EntityRelation.java | 63 +- source/mir/entity/GenericEntity.java | 10 +- source/mir/media/MediaHandlerImages.java | 162 -- source/mir/media/MediaHandlerImagesGif.java | 30 - source/mir/media/MediaHandlerImagesJpeg.java | 29 - source/mir/media/MediaHelper.java | 53 + source/mir/media/MirMedia.java | 21 +- source/mir/media/MirMediaException.java | 26 + source/mir/misc/FileUtil.java | 18 +- source/mir/misc/HTMLTemplateProcessor.java | 36 +- source/mir/misc/Logfile.java | 22 +- source/mir/misc/MirConfig.java | 119 +- source/mir/misc/MpRequest.java | 3 +- source/mir/misc/StringUtil.java | 2075 +++++++++--------- source/mir/misc/WebdbImage.java | 37 +- source/mir/module/ModuleUserException.java | 20 + source/mir/servlet/AbstractServlet.java | 15 +- source/mir/servlet/ServletModule.java | 5 +- source/mir/servlet/ServletModuleDispatch.java | 104 +- source/mir/servlet/ServletModuleMonitor.java | 39 +- source/mir/servlet/ServletModuleUserException.java | 27 + source/mir/storage/Database.java | 2215 ++++++++++---------- source/mir/storage/DatabaseAdaptorPostgresql.java | 20 +- source/mir/storage/DatabaseCache.java | 122 ++ source/mir/storage/DatabaseConfig.java | 153 -- source/mir/storage/StorageObject.java | 5 +- source/mir/storage/store/ObjectStore.java | 206 ++ source/mir/storage/store/ServletStoreInfo.java | 43 + source/mir/storage/store/StorableObject.java | 37 + source/mir/storage/store/StoreContainer.java | 164 ++ source/mir/storage/store/StoreContainerType.java | 76 + source/mir/storage/store/StoreIdentifier.java | 129 ++ source/mir/storage/store/test/EntityC1.java | 37 + source/mir/storage/store/test/EntityC2.java | 30 + source/mir/storage/store/test/EntityC3.java | 30 + source/mir/storage/store/test/TestStore.java | 76 + source/mircoders/entity/EntityAudio.java | 155 ++ source/mircoders/entity/EntityBreaking.java | 11 +- source/mircoders/entity/EntityComment.java | 54 +- source/mircoders/entity/EntityContent.java | 309 ++- source/mircoders/entity/EntityFeature.java | 11 +- source/mircoders/entity/EntityImages.java | 158 +- source/mircoders/entity/EntityLinksImcs.java | 6 - source/mircoders/entity/EntityMedia.java | 16 +- source/mircoders/entity/EntityOther.java | 140 ++ source/mircoders/entity/EntityTopics.java | 9 +- source/mircoders/entity/EntityUploadedMedia.java | 70 +- source/mircoders/entity/EntityUsers.java | 7 - source/mircoders/entity/EntityVideo.java | 14 +- source/mircoders/input/XmlInputParser.java | 2 +- .../media/MediaHandlerAudio.java | 3 +- .../media/MediaHandlerGeneric.java | 56 +- source/mircoders/media/MediaHandlerImages.java | 144 ++ .../{mir => mircoders}/media/MediaHandlerMp3.java | 47 +- .../media/MediaHandlerRealAudio.java | 40 +- .../media/MediaHandlerRealVideo.java | 89 +- .../media/MediaHandlerVideo.java | 3 +- source/mircoders/module/ModuleBreaking.java | 13 +- source/mircoders/module/ModuleComment.java | 12 +- source/mircoders/module/ModuleContent.java | 27 +- source/mircoders/module/ModuleFeature.java | 11 +- source/mircoders/module/ModuleImages.java | 11 +- source/mircoders/module/ModuleLanguage.java | 2 +- source/mircoders/module/ModuleLinksImcs.java | 2 +- source/mircoders/module/ModuleMediafolder.java | 10 +- source/mircoders/module/ModuleMessage.java | 2 +- source/mircoders/module/ModuleSchwerpunkt.java | 11 +- source/mircoders/module/ModuleTopics.java | 30 +- source/mircoders/module/ModuleUploadedMedia.java | 11 +- source/mircoders/module/ModuleUsers.java | 10 +- source/mircoders/producer/Producer.java | 63 +- source/mircoders/producer/ProducerAll.java | 48 +- source/mircoders/producer/ProducerContent.java | 323 ++- source/mircoders/producer/ProducerFeature.java | 43 +- source/mircoders/producer/ProducerImages.java | 75 +- source/mircoders/producer/ProducerList.java | 89 +- source/mircoders/producer/ProducerMedia.java | 39 +- source/mircoders/producer/ProducerNavigation.java | 24 +- source/mircoders/producer/ProducerOpenPosting.java | 35 +- source/mircoders/producer/ProducerStartPage.java | 287 +-- source/mircoders/producer/ProducerTopics.java | 81 +- source/mircoders/producer/ProducerWap.java | 107 - .../mircoders/servlet/ServletModuleBreaking.java | 18 +- source/mircoders/servlet/ServletModuleComment.java | 4 +- source/mircoders/servlet/ServletModuleContent.java | 24 +- source/mircoders/servlet/ServletModuleImages.java | 57 +- .../mircoders/servlet/ServletModuleLanguage.java | 2 +- .../mircoders/servlet/ServletModuleLinksImcs.java | 2 +- .../servlet/ServletModuleMediafolder.java | 2 +- source/mircoders/servlet/ServletModuleMessage.java | 2 +- .../mircoders/servlet/ServletModuleOpenIndy.java | 225 +- .../mircoders/servlet/ServletModuleProducer.java | 2 +- .../servlet/ServletModuleSchwerpunkt.java | 2 +- source/mircoders/servlet/ServletModuleTopics.java | 2 +- source/mircoders/servlet/ServletModuleUsers.java | 3 +- source/mircoders/storage/DatabaseArticleType.java | 3 +- source/mircoders/storage/DatabaseAudio.java | 74 + source/mircoders/storage/DatabaseBreaking.java | 40 +- source/mircoders/storage/DatabaseComment.java | 5 +- source/mircoders/storage/DatabaseContent.java | 31 +- .../mircoders/storage/DatabaseContentToMedia.java | 197 +- .../mircoders/storage/DatabaseContentToTopics.java | 25 +- source/mircoders/storage/DatabaseFeature.java | 56 +- source/mircoders/storage/DatabaseImageColor.java | 3 +- source/mircoders/storage/DatabaseImageFormat.java | 3 +- source/mircoders/storage/DatabaseImageLayout.java | 3 +- source/mircoders/storage/DatabaseImageType.java | 3 +- source/mircoders/storage/DatabaseImages.java | 2 +- source/mircoders/storage/DatabaseLanguage.java | 8 +- source/mircoders/storage/DatabaseLinksImcs.java | 221 +- source/mircoders/storage/DatabaseMedia.java | 12 +- source/mircoders/storage/DatabaseMediaType.java | 2 +- source/mircoders/storage/DatabaseMediafolder.java | 42 +- source/mircoders/storage/DatabaseMessages.java | 32 +- source/mircoders/storage/DatabaseOther.java | 74 + source/mircoders/storage/DatabaseRights.java | 3 +- source/mircoders/storage/DatabaseTopics.java | 54 +- .../mircoders/storage/DatabaseUploadedMedia.java | 5 +- source/mircoders/storage/DatabaseUsers.java | 2 +- .../{DatabaseVideos.java => DatabaseVideo.java} | 15 +- templates-dist/de/bilder.template | 3 +- templates-dist/de/bilderlist.template | 2 +- templates-dist/de/breaking.template | 6 +- templates-dist/de/commentlist.template | 2 +- templates-dist/de/open/comment.template | 253 +-- templates-dist/de/open/comment_done.template | 97 +- templates-dist/de/open/comment_dupe.template | 102 +- templates-dist/de/open/posting.template | 552 ++--- templates-dist/de/open/posting_done.template | 99 +- templates-dist/de/open/posting_dupe.template | 101 +- templates-dist/producer/content.template | 62 +- templates-dist/producer/openposting.template | 26 +- templates-dist/producer/startpage.template | 20 +- templates-dist/producer/topiclist.template | 16 +- templates-dist/usererror.template | 37 + 162 files changed, 7273 insertions(+), 5643 deletions(-) delete mode 100755 build.post-dist create mode 100755 build.xml-new create mode 100755 dbscripts/conversion/mir_oid.pl delete mode 100755 dbscripts/create_views.sql delete mode 100755 lib/dbconbroker.jar create mode 100755 lib/jdbc-se2.0.jar create mode 100755 lib/log4j.jar create mode 100755 lib/poolman.jar create mode 100755 scripts/autotar/README create mode 100755 scripts/autotar/preinstall.sh create mode 100755 scripts/autotar/updatetarballs.sh delete mode 100755 source/mir/media/MediaHandlerImages.java delete mode 100755 source/mir/media/MediaHandlerImagesGif.java delete mode 100755 source/mir/media/MediaHandlerImagesJpeg.java create mode 100755 source/mir/media/MediaHelper.java create mode 100755 source/mir/media/MirMediaException.java create mode 100755 source/mir/module/ModuleUserException.java create mode 100755 source/mir/servlet/ServletModuleUserException.java create mode 100755 source/mir/storage/DatabaseCache.java delete mode 100755 source/mir/storage/DatabaseConfig.java create mode 100755 source/mir/storage/store/ObjectStore.java create mode 100755 source/mir/storage/store/ServletStoreInfo.java create mode 100755 source/mir/storage/store/StorableObject.java create mode 100755 source/mir/storage/store/StoreContainer.java create mode 100755 source/mir/storage/store/StoreContainerType.java create mode 100755 source/mir/storage/store/StoreIdentifier.java create mode 100755 source/mir/storage/store/test/EntityC1.java create mode 100755 source/mir/storage/store/test/EntityC2.java create mode 100755 source/mir/storage/store/test/EntityC3.java create mode 100755 source/mir/storage/store/test/TestStore.java create mode 100755 source/mircoders/entity/EntityAudio.java create mode 100755 source/mircoders/entity/EntityOther.java rename source/{mir => mircoders}/media/MediaHandlerAudio.java (94%) rename source/{mir => mircoders}/media/MediaHandlerGeneric.java (73%) create mode 100755 source/mircoders/media/MediaHandlerImages.java rename source/{mir => mircoders}/media/MediaHandlerMp3.java (71%) rename source/{mir => mircoders}/media/MediaHandlerRealAudio.java (55%) rename source/{mir => mircoders}/media/MediaHandlerRealVideo.java (58%) rename source/{mir => mircoders}/media/MediaHandlerVideo.java (95%) delete mode 100755 source/mircoders/producer/ProducerWap.java create mode 100755 source/mircoders/storage/DatabaseAudio.java create mode 100755 source/mircoders/storage/DatabaseOther.java rename source/mircoders/storage/{DatabaseVideos.java => DatabaseVideo.java} (76%) create mode 100755 templates-dist/usererror.template diff --git a/build.post-dist b/build.post-dist deleted file mode 100755 index b276eac9..00000000 --- a/build.post-dist +++ /dev/null @@ -1,10 +0,0 @@ -# -# -# This scpript can be copied to build.post and is automatically -# executed after execution of build.sh -# For expamples rsyncing the web-app to another server -# - - - - diff --git a/build.sh-dist b/build.sh-dist index 93bc2aca..097c5798 100755 --- a/build.sh-dist +++ b/build.sh-dist @@ -10,7 +10,7 @@ LOCALCLASSPATH=`echo /usr/share/java/*.jar | tr ' ' ':'` LIB_HOME=lib TOMCAT_HOME=/usr/share/tomcat -CP=$LIB_HOME/servlet.jar +CP=$LIB_HOME/servlet-2.2.jar CP=$CP:$ANT_HOME/ant.jar:$ANT_HOME/xerces.jar CP=$CP:$LOCALCLASSPATH CP=$CP:$TOMCAT_HOME/lib/tomcat.jar @@ -25,6 +25,10 @@ CP=$CP:$LIB_HOME/jai_core.jar CP=$CP:$JAVA_HOME/lib/tools.jar CP=$CP:$JAVA_HOME/lib/rt.jar CP=$CP:$LIB_HOME/strutsmesg.jar +CP=$CP:$LIB_HOME/poolman.jar +CP=$CP:$LIB_HOME/log4j.jar +CP=$CP:$LIB_HOME/jdbc-se2.0.jar +CP=$CP:$LIB_HOME/postgresql.jar # The path to ANT #ANT_HOME=/usr/share/ant/lib # use own ant @@ -35,12 +39,5 @@ ANT_HOME=LIB_HOME # use mir-ant $JAVA_HOME/bin/java -classpath $CP:$CLASSPATH org.apache.tools.ant.Main \ -Dtomcat.home=$TOMCAT_HOME "$@" - -# -# execute postbuild script if present - -if [ -f ./build.post ]; then - echo "Executing build.post" - sh build.post -fi - +# Set permissions correctly +./perms.sh-dist diff --git a/build.xml b/build.xml index 83bbe4c7..11c97f75 100755 --- a/build.xml +++ b/build.xml @@ -38,7 +38,6 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Now you should call perms.sh(-dist) in order to set + the permissions of your installed files to a meaningful + value. + Have fun with Mir! + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dbscripts/conversion/mir_oid.pl b/dbscripts/conversion/mir_oid.pl new file mode 100755 index 00000000..6fa27a3e --- /dev/null +++ b/dbscripts/conversion/mir_oid.pl @@ -0,0 +1,67 @@ +#!/usr/bin/perl -w +use Pg; + +#if (!defined($ARGV[0])) { +# print "Usage: $0 name_of_filelist_file\n"; +# exit 1; +#} + +#$dump="$ARGV[0]"; + +my $conn = Pg::connectdb("dbname=indy3 user=postgres +host=localhost"); +( PGRES_CONNECTION_OK eq $conn->status ) + and print "Pg::connectdb ........... ok\n" + or die "Pg::connectdb ........... not ok: ", $conn->errorMessage; + + + #open(DUMP,"$dump") || die "can't open dump file $dump"; + + #$basedir="/cdrom"; + +Pg::doQuery($conn, "select content_data from content", \@ary); + +for $i ( 0 .. $#ary ) { + for $j ( 0 .. $#{$ary[$i]} ) { + print "$ary[$i][$j]\t"; + } + print "\n"; +} + +#while() { +# chomp; +# next if (/^$/ || /^\s*$/); +# +# # exception liste einlesen... +# +# +# # hier insert: +# +# $conn->exec("BEGIN"); +# $oid= $conn->lo_import("$filename"); +# print $conn->errorMessage."\n"; +# print "trying to insert icon\n"; +# $ioid= $conn->lo_import("/tmp/iconblob.jpg"); +# print $conn->errorMessage."\n"; +# $sql="INSERT INTO images +#(title,date,place,author,to_img_layout,to_img_type,is_classified,to_media_f +#older,to_img_color,comment,webdb_create,img_width,img_height,image_data,ico +#n_data) ". +# "VALUES ('".$titel."','20010108','".$ort. +# "','Hoch die Kampf +#dem','".$layout."','1','0','2','2','".$comment."',now(),'".$img_width."','" +#.$img_height. +# "','".$oid."','".$ioid."')"; +# print $sql."\n"; +# $conn->exec( $sql ); +# print $conn->errorMessage."\n"; +# $conn->exec("END"); +# +# +# +#} +## end of while +# + + + diff --git a/dbscripts/create_pg.sql b/dbscripts/create_pg.sql index c8936554..997dfcd3 100755 --- a/dbscripts/create_pg.sql +++ b/dbscripts/create_pg.sql @@ -3,7 +3,7 @@ -- \connect - postgres -- --- TOC Entry ID 2 (OID 28714) +-- TOC Entry ID 2 (OID 19796) -- -- Name: media_id_seq Type: SEQUENCE Owner: postgres -- @@ -11,7 +11,7 @@ CREATE SEQUENCE "media_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 3 (OID 28733) +-- TOC Entry ID 3 (OID 19815) -- -- Name: media_folder_id_seq Type: SEQUENCE Owner: postgres -- @@ -19,7 +19,7 @@ CREATE SEQUENCE "media_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue CREATE SEQUENCE "media_folder_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 5 (OID 28771) +-- TOC Entry ID 4 (OID 19834) -- -- Name: feature_id_seq Type: SEQUENCE Owner: postgres -- @@ -27,7 +27,7 @@ CREATE SEQUENCE "media_folder_id_seq" start 1 increment 1 maxvalue 2147483647 mi CREATE SEQUENCE "feature_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 6 (OID 28790) +-- TOC Entry ID 5 (OID 19853) -- -- Name: topic_id_seq Type: SEQUENCE Owner: postgres -- @@ -35,7 +35,7 @@ CREATE SEQUENCE "feature_id_seq" start 1 increment 1 maxvalue 2147483647 minvalu CREATE SEQUENCE "topic_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 7 (OID 28809) +-- TOC Entry ID 6 (OID 19872) -- -- Name: webdb_users_id_seq Type: SEQUENCE Owner: postgres -- @@ -43,7 +43,7 @@ CREATE SEQUENCE "topic_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue CREATE SEQUENCE "webdb_users_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 8 (OID 28828) +-- TOC Entry ID 7 (OID 19891) -- -- Name: comment_id_seq Type: SEQUENCE Owner: postgres -- @@ -51,7 +51,7 @@ CREATE SEQUENCE "webdb_users_id_seq" start 1 increment 1 maxvalue 2147483647 min CREATE SEQUENCE "comment_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 9 (OID 28847) +-- TOC Entry ID 8 (OID 19910) -- -- Name: breaking_id_seq Type: SEQUENCE Owner: postgres -- @@ -59,7 +59,7 @@ CREATE SEQUENCE "comment_id_seq" start 1 increment 1 maxvalue 2147483647 minvalu CREATE SEQUENCE "breaking_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 10 (OID 28866) +-- TOC Entry ID 9 (OID 19929) -- -- Name: messages_id_seq Type: SEQUENCE Owner: postgres -- @@ -67,7 +67,7 @@ CREATE SEQUENCE "breaking_id_seq" start 1 increment 1 maxvalue 2147483647 minval CREATE SEQUENCE "messages_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 10 (OID 28866) +-- TOC Entry ID 10 (OID 19948) -- -- Name: media_type_id_seq Type: SEQUENCE Owner: postgres -- @@ -75,7 +75,7 @@ CREATE SEQUENCE "messages_id_seq" start 1 increment 1 maxvalue 2147483647 minval CREATE SEQUENCE "media_type_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 12 (OID 28885) +-- TOC Entry ID 12 (OID 19967) -- -- Name: media_folder Type: TABLE Owner: postgres -- @@ -92,13 +92,13 @@ CREATE TABLE "media_folder" ( ); -- --- TOC Entry ID 13 (OID 28918) +-- TOC Entry ID 13 (OID 20000) -- -- Name: media_type Type: TABLE Owner: postgres -- CREATE TABLE "media_type" ( - "id" integer DEFAULT nextval('media_type_id_seq'::text) NOT NULL, + "id" integer DEFAULT nextval('media_type_id_seq'::text) NOT NULL, "name" character varying(80) NOT NULL, "mime_type" character varying(40) NOT NULL, "classname" character varying(80) NOT NULL, @@ -107,7 +107,7 @@ CREATE TABLE "media_type" ( ); -- --- TOC Entry ID 14 (OID 28932) +-- TOC Entry ID 14 (OID 20016) -- -- Name: img_format Type: TABLE Owner: postgres -- @@ -121,7 +121,7 @@ CREATE TABLE "img_format" ( ); -- --- TOC Entry ID 15 (OID 28946) +-- TOC Entry ID 15 (OID 20030) -- -- Name: img_layout Type: TABLE Owner: postgres -- @@ -132,7 +132,7 @@ CREATE TABLE "img_layout" ( ); -- --- TOC Entry ID 16 (OID 28957) +-- TOC Entry ID 16 (OID 20041) -- -- Name: img_type Type: TABLE Owner: postgres -- @@ -143,7 +143,7 @@ CREATE TABLE "img_type" ( ); -- --- TOC Entry ID 17 (OID 28968) +-- TOC Entry ID 17 (OID 20052) -- -- Name: img_color Type: TABLE Owner: postgres -- @@ -154,7 +154,7 @@ CREATE TABLE "img_color" ( ); -- --- TOC Entry ID 18 (OID 28979) +-- TOC Entry ID 18 (OID 20063) -- -- Name: language Type: TABLE Owner: postgres -- @@ -167,7 +167,7 @@ CREATE TABLE "language" ( ); -- --- TOC Entry ID 19 (OID 28994) +-- TOC Entry ID 19 (OID 20078) -- -- Name: rights Type: TABLE Owner: postgres -- @@ -180,7 +180,7 @@ CREATE TABLE "rights" ( ); -- --- TOC Entry ID 21 (OID 29043) +-- TOC Entry ID 20 (OID 20108) -- -- Name: feature Type: TABLE Owner: postgres -- @@ -196,7 +196,7 @@ CREATE TABLE "feature" ( ); -- --- TOC Entry ID 22 (OID 29078) +-- TOC Entry ID 21 (OID 20143) -- -- Name: webdb_users Type: TABLE Owner: postgres -- @@ -210,7 +210,7 @@ CREATE TABLE "webdb_users" ( ); -- --- TOC Entry ID 23 (OID 29096) +-- TOC Entry ID 22 (OID 20161) -- -- Name: content_x_topic Type: TABLE Owner: postgres -- @@ -221,7 +221,7 @@ CREATE TABLE "content_x_topic" ( ); -- --- TOC Entry ID 24 (OID 29107) +-- TOC Entry ID 23 (OID 20172) -- -- Name: article_type Type: TABLE Owner: postgres -- @@ -232,7 +232,7 @@ CREATE TABLE "article_type" ( ); -- --- TOC Entry ID 25 (OID 29118) +-- TOC Entry ID 24 (OID 20183) -- -- Name: topic Type: TABLE Owner: postgres -- @@ -249,7 +249,7 @@ CREATE TABLE "topic" ( ); -- --- TOC Entry ID 26 (OID 29154) +-- TOC Entry ID 25 (OID 20219) -- -- Name: comment Type: TABLE Owner: postgres -- @@ -268,14 +268,12 @@ CREATE TABLE "comment" ( "to_language" integer DEFAULT '0' NOT NULL, "to_media" integer NOT NULL, "to_comment_status" smallint, - "checksum" integer, + "checksum" integer, Constraint "comment_pkey" Primary Key ("id") ); -CREATE INDEX comment_checksum_index ON comment (checksum); - -- --- TOC Entry ID 27 (OID 29196) +-- TOC Entry ID 26 (OID 20266) -- -- Name: media Type: TABLE Owner: postgres -- @@ -286,7 +284,6 @@ CREATE TABLE "media" ( "subtitle" character varying(30), "edittitle" character varying(30), "date" character(8) NOT NULL, - "place" character varying(80), "creator" character varying(80), "creator_main_url" character varying(255), "creator_email" character varying(80), @@ -313,13 +310,7 @@ CREATE TABLE "media" ( ); -- --- TOC Entry ID 28 (OID 29257) --- --- Name: images Type: TABLE Owner: postgres --- - --- --- TOC Entry ID 32 (OID 29446) +-- TOC Entry ID 27 (OID 20326) -- -- Name: uploaded_media Type: TABLE Owner: postgres -- @@ -327,14 +318,19 @@ CREATE TABLE "media" ( CREATE TABLE "uploaded_media" ( "icon_is_produced" boolean DEFAULT '0' NOT NULL, "icon_path" character varying(255), - "size" integer -) INHERITS ("media"); + "size" integer +) +INHERITS ("media"); + +-- +-- TOC Entry ID 28 (OID 20392) +-- +-- Name: images Type: TABLE Owner: postgres +-- CREATE TABLE "images" ( "image_data" oid, "icon_data" oid, - "icon_is_produced" boolean DEFAULT '0' NOT NULL, - "icon_path" character varying(255), "year" character varying(40), "img_width" smallint, "img_height" smallint, @@ -345,10 +341,10 @@ CREATE TABLE "images" ( "icon_width" smallint, "icon_height" smallint ) -INHERITS ("media"); +INHERITS ("uploaded_media"); -- --- TOC Entry ID 29 (OID 29338) +-- TOC Entry ID 29 (OID 20474) -- -- Name: content Type: TABLE Owner: postgres -- @@ -358,18 +354,14 @@ CREATE TABLE "content" ( "link_url" character varying(255), "is_html" boolean DEFAULT '0' NOT NULL, "is_stored" boolean DEFAULT '0' NOT NULL, - "is_mail_sent" boolean DEFAULT '1' NOT NULL, - "is_digest_sent" boolean DEFAULT '1' NOT NULL, "to_article_type" smallint DEFAULT '0' NOT NULL, "to_content" integer, "checksum" integer ) INHERITS ("media"); -CREATE INDEX content_checksum_index ON content (checksum); - -- --- TOC Entry ID 30 (OID 29418) +-- TOC Entry ID 30 (OID 20549) -- -- Name: breaking Type: TABLE Owner: postgres -- @@ -381,7 +373,7 @@ CREATE TABLE "breaking" ( ); -- --- TOC Entry ID 31 (OID 29431) +-- TOC Entry ID 31 (OID 20562) -- -- Name: messages Type: TABLE Owner: postgres -- @@ -395,7 +387,7 @@ CREATE TABLE "messages" ( ); -- --- TOC Entry ID 33 (OID 30026) +-- TOC Entry ID 32 (OID 20577) -- -- Name: comment_status Type: TABLE Owner: postgres -- @@ -406,7 +398,7 @@ CREATE TABLE "comment_status" ( ); -- --- TOC Entry ID 34 (OID 30064) +-- TOC Entry ID 33 (OID 20588) -- -- Name: content_x_media Type: TABLE Owner: postgres -- @@ -417,7 +409,7 @@ CREATE TABLE "content_x_media" ( ); -- --- TOC Entry ID 11 (OID 32812) +-- TOC Entry ID 11 (OID 20599) -- -- Name: links_imcs_id_seq Type: SEQUENCE Owner: postgres -- @@ -425,7 +417,7 @@ CREATE TABLE "content_x_media" ( CREATE SEQUENCE "links_imcs_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; -- --- TOC Entry ID 35 (OID 32831) +-- TOC Entry ID 34 (OID 20618) -- -- Name: links_imcs Type: TABLE Owner: postgres -- @@ -441,7 +433,41 @@ CREATE TABLE "links_imcs" ( ); -- --- TOC Entry ID 40 (OID 29078) +-- TOC Entry ID 35 (OID 37215) +-- +-- Name: audio Type: TABLE Owner: postgres +-- + +CREATE TABLE "audio" ( + "audio_data" oid, + "kbits" smallint +) +INHERITS ("uploaded_media"); + +-- +-- TOC Entry ID 36 (OID 37284) +-- +-- Name: video Type: TABLE Owner: postgres +-- + +CREATE TABLE "video" ( + "video_data" oid +) +INHERITS ("uploaded_media"); + +-- +-- TOC Entry ID 37 (OID 45396) +-- +-- Name: other_media Type: TABLE Owner: postgres +-- + +CREATE TABLE "other_media" ( + +) +INHERITS ("uploaded_media"); + +-- +-- TOC Entry ID 40 (OID 20143) -- -- Name: "idx_webdb_user_log_pas_is_admin" Type: INDEX Owner: postgres -- @@ -449,7 +475,7 @@ CREATE TABLE "links_imcs" ( CREATE INDEX "idx_webdb_user_log_pas_is_admin" on "webdb_users" using btree ( "login" "varchar_ops", "password" "varchar_ops", "is_admin" "bool_ops" ); -- --- TOC Entry ID 44 (OID 29078) +-- TOC Entry ID 41 (OID 20143) -- -- Name: "idx_webdb_user_log_pas" Type: INDEX Owner: postgres -- @@ -457,7 +483,7 @@ CREATE INDEX "idx_webdb_user_log_pas_is_admin" on "webdb_users" using btree ( " CREATE INDEX "idx_webdb_user_log_pas" on "webdb_users" using btree ( "login" "varchar_ops", "password" "varchar_ops" ); -- --- TOC Entry ID 43 (OID 29096) +-- TOC Entry ID 42 (OID 20161) -- -- Name: "idx_content" Type: INDEX Owner: postgres -- @@ -465,7 +491,7 @@ CREATE INDEX "idx_webdb_user_log_pas" on "webdb_users" using btree ( "login" "v CREATE UNIQUE INDEX "idx_content" on "content_x_topic" using btree ( "content_id" "int4_ops", "topic_id" "int4_ops" ); -- --- TOC Entry ID 45 (OID 29096) +-- TOC Entry ID 43 (OID 20161) -- -- Name: "idx_topic" Type: INDEX Owner: postgres -- @@ -473,7 +499,7 @@ CREATE UNIQUE INDEX "idx_content" on "content_x_topic" using btree ( "content_id CREATE UNIQUE INDEX "idx_topic" on "content_x_topic" using btree ( "topic_id" "int4_ops", "content_id" "int4_ops" ); -- --- TOC Entry ID 46 (OID 29118) +-- TOC Entry ID 44 (OID 20183) -- -- Name: "idx_topic_title" Type: INDEX Owner: postgres -- @@ -481,7 +507,7 @@ CREATE UNIQUE INDEX "idx_topic" on "content_x_topic" using btree ( "topic_id" "i CREATE INDEX "idx_topic_title" on "topic" using btree ( "title" "varchar_ops" ); -- --- TOC Entry ID 51 (OID 29118) +-- TOC Entry ID 45 (OID 20183) -- -- Name: "idx_topic_id" Type: INDEX Owner: postgres -- @@ -489,7 +515,15 @@ CREATE INDEX "idx_topic_title" on "topic" using btree ( "title" "varchar_ops" ) CREATE UNIQUE INDEX "idx_topic_id" on "topic" using btree ( "id" "int4_ops" ); -- --- TOC Entry ID 36 (OID 29154) +-- TOC Entry ID 38 (OID 20219) +-- +-- Name: "comment_checksum_index" Type: INDEX Owner: postgres +-- + +CREATE INDEX "comment_checksum_index" on "comment" using btree ( "checksum" "int4_ops" ); + +-- +-- TOC Entry ID 46 (OID 20219) -- -- Name: "idx_comment_to_media" Type: INDEX Owner: postgres -- @@ -497,7 +531,25 @@ CREATE UNIQUE INDEX "idx_topic_id" on "topic" using btree ( "id" "int4_ops" ); CREATE INDEX "idx_comment_to_media" on "comment" using btree ( "to_media" "int4_ops" ); -- --- TOC Entry ID 47 (OID 29257) + +-- +-- TOC Entry ID 59 (OID 20326) +-- +-- Name: "idx_uploaded_media_id" Type: INDEX Owner: postgres +-- + +CREATE UNIQUE INDEX "idx_uploaded_media_id" on "uploaded_media" using btree ( "id" "int4_ops" ); + +-- +-- TOC Entry ID 60 (OID 20326) +-- +-- Name: "idx_uploaded_media_is_published" Type: INDEX Owner: postgres +-- + +CREATE UNIQUE INDEX "idx_uploaded_media_is_published" on "uploaded_media" using btree ( "id" "int4_ops", "is_published" "bool_ops" ); + +-- +-- TOC Entry ID 47 (OID 20392) -- -- Name: "idx_images_is_published__icon_i" Type: INDEX Owner: postgres -- @@ -505,7 +557,7 @@ CREATE INDEX "idx_comment_to_media" on "comment" using btree ( "to_media" "int4 CREATE INDEX "idx_images_is_published__icon_i" on "images" using btree ( "is_published" "bool_ops", "icon_is_produced" "bool_ops" ); -- --- TOC Entry ID 49 (OID 29257) +-- TOC Entry ID 48 (OID 20392) -- -- Name: "idx_images_id" Type: INDEX Owner: postgres -- @@ -513,7 +565,15 @@ CREATE INDEX "idx_images_is_published__icon_i" on "images" using btree ( "is_pu CREATE UNIQUE INDEX "idx_images_id" on "images" using btree ( "id" "int4_ops" ); -- --- TOC Entry ID 37 (OID 29338) +-- TOC Entry ID 39 (OID 20474) +-- +-- Name: "content_checksum_index" Type: INDEX Owner: postgres +-- + +CREATE INDEX "content_checksum_index" on "content" using btree ( "checksum" "int4_ops" ); + +-- +-- TOC Entry ID 49 (OID 20474) -- -- Name: "idx_content_to_article_type" Type: INDEX Owner: postgres -- @@ -521,7 +581,7 @@ CREATE UNIQUE INDEX "idx_images_id" on "images" using btree ( "id" "int4_ops" ); CREATE INDEX "idx_content_to_article_type" on "content" using btree ( "to_article_type" "int2_ops" ); -- --- TOC Entry ID 38 (OID 29338) +-- TOC Entry ID 50 (OID 20474) -- -- Name: "idx_content_is_produced" Type: INDEX Owner: postgres -- @@ -529,7 +589,7 @@ CREATE INDEX "idx_content_to_article_type" on "content" using btree ( "to_artic CREATE INDEX "idx_content_is_produced" on "content" using btree ( "is_produced" "bool_ops" ); -- --- TOC Entry ID 39 (OID 29338) +-- TOC Entry ID 51 (OID 20474) -- -- Name: "idx_content_is_published__to_ar" Type: INDEX Owner: postgres -- @@ -537,7 +597,7 @@ CREATE INDEX "idx_content_is_produced" on "content" using btree ( "is_produced" CREATE INDEX "idx_content_is_published__to_ar" on "content" using btree ( "is_published" "bool_ops", "to_article_type" "int2_ops" ); -- --- TOC Entry ID 41 (OID 29338) +-- TOC Entry ID 52 (OID 20474) -- -- Name: "idx_content_is_stored" Type: INDEX Owner: postgres -- @@ -545,7 +605,7 @@ CREATE INDEX "idx_content_is_published__to_ar" on "content" using btree ( "is_p CREATE INDEX "idx_content_is_stored" on "content" using btree ( "is_stored" "bool_ops" ); -- --- TOC Entry ID 42 (OID 29338) +-- TOC Entry ID 53 (OID 20474) -- -- Name: "idx_content_is_published__id" Type: INDEX Owner: postgres -- @@ -553,7 +613,7 @@ CREATE INDEX "idx_content_is_stored" on "content" using btree ( "is_stored" "bo CREATE INDEX "idx_content_is_published__id" on "content" using btree ( "is_published" "bool_ops", "id" "int4_ops" ); -- --- TOC Entry ID 48 (OID 29338) +-- TOC Entry ID 54 (OID 20474) -- -- Name: "idx_content_is_pub__to_art__to_" Type: INDEX Owner: postgres -- @@ -561,7 +621,7 @@ CREATE INDEX "idx_content_is_published__id" on "content" using btree ( "is_publ CREATE INDEX "idx_content_is_pub__to_art__to_" on "content" using btree ( "is_published" "bool_ops", "to_article_type" "int2_ops", "id" "int4_ops" ); -- --- TOC Entry ID 50 (OID 29338) +-- TOC Entry ID 55 (OID 20474) -- -- Name: "idx_content_id" Type: INDEX Owner: postgres -- @@ -569,7 +629,7 @@ CREATE INDEX "idx_content_is_pub__to_art__to_" on "content" using btree ( "is_p CREATE UNIQUE INDEX "idx_content_id" on "content" using btree ( "id" "int4_ops" ); -- --- TOC Entry ID 52 (OID 30064) +-- TOC Entry ID 56 (OID 20588) -- -- Name: "idx_content_media" Type: INDEX Owner: postgres -- @@ -577,10 +637,60 @@ CREATE UNIQUE INDEX "idx_content_id" on "content" using btree ( "id" "int4_ops" CREATE UNIQUE INDEX "idx_content_media" on "content_x_media" using btree ( "content_id" "int4_ops", "media_id" "int4_ops" ); -- --- TOC Entry ID 53 (OID 30064) +-- TOC Entry ID 57 (OID 20588) -- -- Name: "idx_media_content" Type: INDEX Owner: postgres -- CREATE UNIQUE INDEX "idx_media_content" on "content_x_media" using btree ( "media_id" "int4_ops", "content_id" "int4_ops" ); +-- +-- TOC Entry ID 62 (OID 37215) +-- +-- Name: "idx_audio_is_published_produced" Type: INDEX Owner: postgres +-- + +CREATE INDEX "idx_audio_is_published_produced" on "audio" using btree ( "is_published" "bool_ops", "is_produced" "bool_ops" ); + +-- +-- TOC Entry ID 64 (OID 37215) +-- +-- Name: "idx_audio_id" Type: INDEX Owner: postgres +-- + +CREATE UNIQUE INDEX "idx_audio_id" on "audio" using btree ( "id" "int4_ops" ); + +-- +-- TOC Entry ID 65 (OID 37215) +-- +-- Name: "idx_video_id" Type: INDEX Owner: postgres +-- + +CREATE UNIQUE INDEX "idx_video_id" on "audio" using btree ( "id" "int4_ops" ); + +-- +-- TOC Entry ID 63 (OID 37284) +-- +-- Name: "idx_video_is_published_produced" Type: INDEX Owner: postgres +-- + +CREATE INDEX "idx_video_is_published_produced" on "video" using btree ( "is_published" "bool_ops", "is_produced" "bool_ops" ); + + +-- +-- TOC Entry ID 37 (OID 520246) +-- +-- Name: "idx_content_is_published" Type: INDEX Owner: postgres +-- + +CREATE INDEX "idx_content_is_published" on "content" using btree ( "is_published" "bool_ops" ); + +-- +-- TOC Entry ID 47 (OID 465036) +-- +-- Name: "idx_comment_tomedia_ispublished" Type: INDEX Owner: postgres +-- + +CREATE INDEX "idx_comment_tomedia_ispublished" on "comment" using btree ( "to_media" "int4_ops", "is_published" "bool_ops" ); + + diff --git a/dbscripts/create_views.sql b/dbscripts/create_views.sql deleted file mode 100755 index 2d70c9b7..00000000 --- a/dbscripts/create_views.sql +++ /dev/null @@ -1,14 +0,0 @@ --- --- create_views.sql --- - - --- TESTING: --- --- creating list views in database to speed up selection of lists. --- - - -CREATE VIEW v_content_list AS - SELECT id, title, subtitle, date, place, creator, description, comment, is_published, - is_produced, to_feature, webdb_create, webdb_lastchange FROM content; \ No newline at end of file diff --git a/dbscripts/populate_mediatyp.sql b/dbscripts/populate_mediatyp.sql index fe5a71d5..1bdd7e05 100755 --- a/dbscripts/populate_mediatyp.sql +++ b/dbscripts/populate_mediatyp.sql @@ -2,7 +2,7 @@ -- Selected TOC Entries: -- -- --- Data for TOC Entry ID 2 (OID 88609) +-- Data for TOC Entry ID 2 (OID 46975) -- -- Name: media_type Type: TABLE DATA Owner: postgres -- @@ -12,27 +12,25 @@ -- Disable triggers UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" = 'media_type'; -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (2,'unknown','application/octet-stream','Generic','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (3,'jpg','image/gif','ImagesGif','Images',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (4,'mp3','audio/mp3','Mp3','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (5,'jpg','image/jpeg','ImagesJpeg','Images',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (6,'pdf','application/pdf','Generic','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (7,'mpg','video/mpeg','Video','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (8,'mov','video/quicktime','Video','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (9,'avi','video/x-msvideo','Video','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (10,'ra','audio/vnd.rn-realaudio','RealAudio','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (11,'rm','video/vnd.rn-realvideo','RealVideo','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (12,'ra','audio/x-pn-realaudio','RealAudio','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (13,'mp3','audio/x-mp3','Mp3','UploadedMedia',NULL); -INSERT INTO "media_type" ("id","name","mime_type","classname","tablename","dcname") VALUES (14,'mp3','audio/x-mpeg','Mp3','UploadedMedia',NULL); - - +INSERT INTO "media_type" VALUES (4,'mp3','audio/mp3','Mp3','Audio',NULL); +INSERT INTO "media_type" VALUES (13,'mp3','audio/x-mp3','Mp3','Audio',NULL); +INSERT INTO "media_type" VALUES (14,'mp3','audio/x-mpeg','Mp3','Audio',NULL); +INSERT INTO "media_type" VALUES (10,'ra','audio/vnd.rn-realaudio','RealAudio','Audio',NULL); +INSERT INTO "media_type" VALUES (12,'ra','audio/x-pn-realaudio','RealAudio','Audio',NULL); +INSERT INTO "media_type" VALUES (11,'rm','video/vnd.rn-realvideo','RealVideo','Audio',NULL); +INSERT INTO "media_type" VALUES (8,'mov','video/quicktime','Video','Video',NULL); +INSERT INTO "media_type" VALUES (7,'mpg','video/mpeg','Video','Video',NULL); +INSERT INTO "media_type" VALUES (9,'avi','video/x-msvideo','Video','Video',NULL); +INSERT INTO "media_type" VALUES (2,'unknown','application/octet-stream','Generic','Other',NULL); +INSERT INTO "media_type" VALUES (6,'pdf','application/pdf','Generic','Other',NULL); +INSERT INTO "media_type" VALUES (15,'png','image/*','Images','Images',NULL); +INSERT INTO "media_type" VALUES (3,'jpg','- deprecated -','Images','Images',NULL); +INSERT INTO "media_type" VALUES (5,'jpg','- deprecated -','Images','Images',NULL); -- Enable triggers - UPDATE pg_class SET reltriggers = (SELECT count(*) FROM pg_trigger where pg_class.oid = tgrelid) WHERE relname = 'media_type'; -- --- TOC Entry ID 1 (OID 88557) +-- TOC Entry ID 1 (OID 46923) -- -- Name: media_type_id_seq Type: SEQUENCE SET Owner: -- diff --git a/doc/INSTALL.mir b/doc/INSTALL.mir index 4e255adc..06f1a0b4 100755 --- a/doc/INSTALL.mir +++ b/doc/INSTALL.mir @@ -28,10 +28,6 @@ CVS CHECKOUT: now customize config.properties for your needs. - modify etc/web.xml to change the xml-config - parameter to point to where your server.xml file is - (in ../Mir i.e /path/to/Mir/server.xml) - 3. configure the build.sh file with java_home cp build.sh-dist build.sh @@ -41,7 +37,9 @@ now customize config.properties for your needs. 4. copy the mir/templates-dist-directory to mir/templates -5. compile +5. compile (do this as root so the permissions script is able to set +the permissions and owners correctly). + sh build.sh @@ -74,13 +72,14 @@ as user postgres: cat dbscripts/help*.sql | psql -Upostgres dbname cat dbscripts/populate*.sql | psql -Upostgres dbname + 10. Add the dupe prevention trigger to the database: cd dbscripts/dupetrigger There, read INSTALL and follow the instructions. -11. Set permissions +11. Set permissions -- IMPORTANT! READ THIS! We provide a script that sets all files' and direcories' permissions to a quite reasonable state. The most important thing you have to do after the invokation of this script is to ensure that the log files -- @@ -139,25 +138,10 @@ You should make sure that no copy of config.properties (neither in mir nor in Mir/src nor in Mir/WEB-INF/classes) is world-readable. Else you wouldn't have to install a password, anyway. -If you can't access PostgreSQL after this for any reason, try to change -"password" in /etc/postgresql/pg_hba.conf into "trust". This should disable +If you can't access PostgreSQL after this for any reason, try and change +"password" in /etc/postgresql/pg_hba.conf to "trust". This should disable any authentication method and make the database accessible again. -15. configure apache's mod_mime to recognize .m3u and .pls files: - -The web server (of the media host) must recognize the .m3u and .pls file -extensions and send the proper "audio/x-mpegurl" and "audio/x-scpls" mime-types -respectively. If the web server is apache, it's easy, just add: - * -audio/x-mpegurl m3u -audio/x-scpl pls - * -to the file pointed to by the "TypesConfig" command in your apache config file. -Or add and equivalent AddType command to your httpd.conf. Of course this -assumes that the mod_mime is loaded. - * -If the web server is not apache, then your on your own. - that's it :) now the admin-application is accesable via: @@ -169,3 +153,14 @@ and the openposting-servlet via http://host/OpenMir standard login is redaktion/indymedia + + + +TROUBLESHOOTING + +You can give these a try if anything goes wrong: + ++ Restart Tomcat. Especially after compiling the sources Tomcat has to be + restarted. + ++ Check file permissions and ownership. Try and run perms.sh. \ No newline at end of file diff --git a/doc/INSTALL.postgresql b/doc/INSTALL.postgresql index bedb96e8..061d471f 100755 --- a/doc/INSTALL.postgresql +++ b/doc/INSTALL.postgresql @@ -61,7 +61,7 @@ change to the start-scripts folder in the contrib-part. edit the start-script in /etc/init.d/postgresql, and make sure postgresql is started with the "-i" option. to enable this insert - "-o '-i'" after 'start', which should look like: + '-o "-i"' after 'start', which should look like: start) $ECHO_N "Starting PostgreSQL: "$ECHO_C diff --git a/doc/MAINTENANCE b/doc/MAINTENANCE index 0b1d2d35..907411a1 100755 --- a/doc/MAINTENANCE +++ b/doc/MAINTENANCE @@ -6,3 +6,12 @@ this generates a dir with all blobs and a sql-file with all data. To restore the database: psql < .sql pgdump_lo -i -d -s /dumpdir/dir + +Every once in a while (or make a script) postgresql database should +be "cleaned". See postgresql docs for commands VACUUM and VACUUM ANALYZE + +Every once in a while (or make a script) postgresql database should +be "cleaned". See postgresql docs for commands VACUUM and VACUUM ANALYZE + +We also have misc. perl scripts to merge Large Objects from other DB's. +these can be used as a basis to write your own custom scripts. diff --git a/doc/TODO.txt b/doc/TODO.txt index 8bd1fac2..1bc5261c 100755 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -1,62 +1,94 @@ -[Updated 26.10.2001. -mh] +[Updated 28.02.2002. -mh] + +General/Forever valid: + +a) watch performance.. mimimize SQL +b) try to use more freemarker feature like transformations when possible +instead of putting it in Java code. i.e make it more localizable. Version 1.0: Bugfixes/Improvements: a) installation-procedure -- config.porperties has to be cleaned and has to be better documentated. (half done, mh) --> config.properties is being replaced with new config system. -- build.sh should be more intelligent. -- templates-directory should be splittet in two directories: "internal"- (openmir and mir -templates) and "external"-templates (producer-templates) +- templates-directory should be splittet in two directories: "internal"- (openmir and mir templates) and "external"-templates (producer-templates) +- build.sh should be more intelligent. (underway, convert to build.xml, mj) b) code-cleaning - the variable-names for the freemarker should be better: the same name for the same thing c) We have to make sure that all errors are handled intelligently. e.g. if an -article is corrupt, do we just ignore it, etc.. -d) Admin interface needs to be made aware of media handlers (mj) -e) insposting() in ServletModuleOpenIndy should not insert article text if any associated media upload is wrong. (mh) - -c) documentation +article is corrupt, do we just ignore it, etc.. (done, mh) +d) Admin interface needs to be made aware of media handlers (mh, tob) +e) insposting() in ServletModuleOpenIndy should not insert article text if any associated media upload is wrong. (done, mh) (in 1.1 to be done via transactions) +f) documentation - it lacks a documentation for creating the producer-templates -d) new layout Mir/OpenMir (gilad) -e) translating the templates/code-comments to english -f) mission-statement and licensing -g) there are no memory-leaks +g) new layout Mir/OpenMir (underway, indy de team??) +h) translating the templates/code-comments to english (underway, mir-coders) +i) mission-statement and licensing +j) there are no memory-leaks (3/4 confirmed) +k) tomcat 4.x (needs testing) +l) poolman (done, idfx) +m) re-tweak media infrastructure (underway, -mh) + - wildcard support for content-type mappings (done) + - handle all image types and transparency (done) + - convert other media types for DB storage for consistency (started, mh) + - handle generic media + - better extension handling + - handle external meta links + - rework creation of audio (video too?) meta-data + - make getUrl() return a list of SimpleHashes + - use added flexibility in templates + - add miless code for better secondary content-type guessing. i.e read the + bytes +n) CVS id, author stamps +o) make Entity implement freemarke TemplateModel (done, rk) +p) don't use deprecated methods. specifically the SimpleList stuff New Features: a) Multifile-Upload in OpenMir and Mir (done, idfx) -b) Video and audio-upload in OpenMir and Mir: How will this files be stored, what has to -be done in the producer-code? (done, mh) +b) Video and audio-upload in OpenMir and Mir: How will this files be stored, what has to be done in the producer-code? (done, mh) c) Coverage: Alternative start-page for e.g. a event like genua. every article that has something to do with this event can be seen on this page. (nn) -d) Multilanguage-Support (Step 1): Producing html-pages with navigation for every -language. Topics and coverage-titles have to be saved in the db in every language that is -needed. (idfx) A -d.1) Templates should be made common for all languages. (kellan) e) It should be possible to choose between direct and indirect open posting. (09/14/2001, done, idfx). -f) Editing producer-templates in the mir-servlet. (idfx) g) "Upcoming Events"-include-file (ha) -e) indymedia-links (fh) +h) indymedia-links (fh) +i) objectStore (underway, -rk) Version 1.1: +Vital: +a) Multilanguage-Support (Step 1): Producing html-pages with navigation for every +language. Topics and coverage-titles have to be saved in the db in every language that is +needed. (idfx) +a.1) Templates should be made common for all languages. (kellan, br1) New Features: a) Multilanguage-Support (Step 2): Separate OpenMir-servlet to publish a tranlation of an article. If a article has translations, only the translated versions are produced in the language the translated article is. +b) single template for all languages. i.e use gettext like system for templates. +(underway, kellan, br1) b) P2P-Data-Transfer/Content-Syndication: Implementing RDF/RSS-Support or a own indymedia-protocoll. c) dynamically creating "internal"-templates for new languages. d) email-article-to-a-friend-servlet e) semidynamic create-pdf-from-article-servlet: every requested pdf should be cached +f) servletapi-2.3: Filters for file upload (also in cos.jar) +g) servletapi-2.3: use web.xml for simpler/better error handling. +h) servletapi-2.3: set character encoding properly based on what the template +says +i) servletapi-2.3: servletapi-2.3 requires tomcat-4.x, so require it +j) use some JMF (Java Media Framework at sun.com) features for nifty media +tricks +k) better transaction support in the DB/Persistance layer for more efficient +use of DB. +l) - config.porperties has to be cleaned and has to be better documentated. (half done, mh) --> config.properties is being replaced with new config system. +m) Editing producer-templates in the mir-servlet. (idfx) Version 2: Database-Layer -a) Container Managed Persistance (EJB) +a) Container Managed Persistance (EJB) or Castor? +b) MySQL compatibility? Testing: -- tomcat 4.0 (kellan) - resin (idfx) -- poolman instead of dbconnectionbroker diff --git a/etc/web.xml b/etc/web.xml index f5f55a23..2e6565d4 100755 --- a/etc/web.xml +++ b/etc/web.xml @@ -17,10 +17,6 @@ Config config - - xml-config - /home/heckmann/mir/Mir/server.xml - @@ -36,10 +32,6 @@ Config config - - xml-config - /home/heckmann/mir/Mir/server.xml - diff --git a/lib/dbconbroker.jar b/lib/dbconbroker.jar deleted file mode 100755 index cb926c7a8b8f177ff0b047847ca758cc34392dce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5442 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

oV5(C#lB+9e!O1_r66u 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�*Vt#(TN+u-gKF1{V1BLesvA z+uY}n*ow`<_!MN^Q{Q0el^X4v?X)A6_oRs~s4*dmJ7JuKlW_j(8816OX!GoHcVO}= z(6S0|bAxN)LCSD`9E z`u{NYPT`eB+q!ma+qPNJOj5CJ+qP}nwry8z+g8O+1(iQ*t+V&}&pvyv=gg~lGj2v7 zPs7*S_clm(@f0y-*dpwyXOTDw%y?J1+DDBTd4EOfKll}}(cb-IYQ>E4Tyd|#Z5ZaP z@pu{sKV(z)Eu0^=2>&4`46+@V8+^~%ME=`3oB!62Dl05RCTw9~W^3o{btaLVU z|IbfX%I=$X@t1;;vUahQ9L?MV3~Jazo^Y(@7qFVRcmZA{jl)(u?rK6;tTp5vZ2LXZ z0i(TWVFj3C9Pe!rQWFAHgmQV;M#j3G=&pCu1|ff64pE%fSvpgLssQ)}L~UlYNtzXR zXYDk+4Gx4YcDsx^mh8Z7hBV5))PSTPnJzRX+Ju|yBB%UcjDF6KBnDn6<#;|4Iy=Y# zHHAcoT-*xfURmfBr4r-IP!b7aL3i_6r>CMdw;^?R$OUN9J`P9M*6kC#RaL7vdHW(C z+m0o~Jsp@7~m2-tIhUouw@u6r6IB&m@uSzYsF&qql=AHIE) zN*As5;iVxobOXQpf&jU2VJxlnK$8Rb*5*#DfibB8KMW4NNuXN#hGrp2&zY0ko^HvR z38Y%&&T{V}Yq-oy!@@M%w!e%gE!c#hT)cW?X@8qhiv@kfK@*LJiG}JePod_C&^77p zpTYZ81KxGtv6im!h*x<WNJ_Z4!ARIH>AoY^yp{DB&trMj3nNQ?dg*n zf2D_cL_qh9qw)Dg;WOm(7R-H$+eFYFzAP=lxG1RM9MOPxGl{*4zOjxD6 zUm%E3>^;nUP*ylLZ#VMER=QB8=gW?lEvH$x9ko91Q%e3IOrHAke9Unqwa`FOJT;`@ z2q0;27xD2pa;{eG67<)*eIOQMWl~zM*zPpgz2Yshl0C6X2beNYPSO+~I2Z2FVj^GBo`$zzBR@4WKRIw7?14wf<6>e`a^5VJ z@Rv1EUQ*yV5Fg<$Ot2r(SegTkO|i&?t@L92$57>msU>EiGW1!?O(3~s9x@Gw8xl2) zr&y-D>8Uc@8`TxNl=3+3mbu3lqa!~<;;TXDVvzE0)6TgU*&Pw30 zRdbn|q4;QOMo~WTEy`~BblW)^r;GkMEUlf#<2N{@JUgN}EF+6zk=$yg_o*bB!@8~| zBC(FRxtE!ie7wrztsTWD0E45gFoO#>GLJ&)xm=nC7evX$e)9+VVsVdE7KK<2$7 z+XiB?jI7Av^7$#ZPI;cksR81OE{D1@b8D$GL3K1#rqz-BbCRY&!SONr8yQC~kloTs zC~fL&6ARf}?I0?MB`mvX;VXAmHZFVd1}%{;Ys%BTV}GtjRASboDX3S~b(CSoz<^Yn zor8g{4zOs)|KqwyLR2T}WO3TOnHZ)K^}w~5t4ZJ=Xw>7chMxNm`L*!JBjywGRE4)xqh_I@UQq zkiLzZuCvU6XSYtbmp~WH#Lo#mxkhXw@+A@G@@ON-OMZ}X6o{*9{G1g1emO!rr2R5- zYt$}fQo4w+5mp-*PCuS4_+2WEl8Sy-Q#a%kr`zMTcCe4}9wHFgwo-M8{nzNt;gBx~ z?k!p7ow9@ryb7N`vDy;>9Hxp@_c`$uUBwQjN0Qy4VK7pIIRWs(Fv?HXE6~%_fd-W* zr}9y7HV6BsE;E9$JV;WkuCf$Ve9uOn)P+MZ~%O>2l6b+{b26kLRXLi zWCMTYVV$_jBaZ9dIWE#oA2$uJvvut7&fXmbpmrK9Xwscucep!QFnLo9(fCV0y3Yg) z@=D*)X9VXvyG=M3%U=lUH-Pbx(f9RtK=zHc=$1qD$R>4cH)F+5pZ`zOD<#|qEXLm$ zx}E-__6W7$U+C9q!K*Q+SRhLeB&5GZ3TZeb;zp zSj!f*Jt~~c?%0Of%scX@4EcjIjIl4oi5DBFq-Zp$s1xaJC2Vx8*Hl+<0@pEP%29FW z88Yitnv*pL#jN;$0_v+bC2N=;{77iO&^>q(28FLF9D~Przd-*mWtI7V{J5FSltJMV zJu(OOC_I(1))Rb^7ScWqZG)oEIbhiLh_ck7vS0R5!b;9I- z4PHB%wpitUgN9|l@0k7pyM+19=ilI-%*B8BzW(!v{{8R&YF=zjoEiT&A9MJ>Jo4Yp zYX9RAVG~mW7i(t`R|9Jo17|zOe^m-03ObCS-{94@tBqES8oS>`B*o;HQ5+=5scDK8 zBSCEzJR@vYZZd9JuX4KK@$R>vA5_dXNb`|lTrV@<>Hjmm?IlfZs3E``2Xw4Be%Ktw z2usc?or&4PaAJtfKwr$0Ws7_WcGyYKaM#X$KwQG}gRHaGLB)h!t^MtAkf z=F#SQ6^)-P^_!C!510Iy0%r%^v9mA7AG8^q!5;)RSfMllH{wsT?NXWu4S_7x2GN@4p^6#s75Rk}^sH_Vy;W#{aQA zF-Fb99#;+ftA@_Y#Ntqh52s6_2+zetqBWo1CPJv+;c`hNb#X12+m_kNgMKo>ZFzYj z0yk3-)`D7XQX$hZRdHbf4aMA>tr?yd<&5bA8k7}p5N_1(7LsX-3G`#fl72EV+t6cY z@xAxP=jHBk#ZT80T;*(loY6LbCRG9(8nF~G*PSk^=x^FxEU|oGIu&^w9^H(|C*aF^ zVtmH8)Q^-Njrj8Gkr-AA&xz&4hcnXXpnh+#hm+xuwB^V>FB(<1S?Focx4};ti2tM? z^x!rhk#Lj}?2iOCqQ`ALX5J7ff%im^oYyTjA|EXj0kRt3X@3#Odpcs?r~~n5JER^` zJR{6;FWIlS_gfRd{vb8rykE`OTV-UGOjtAw5$;*$5q|XW)2AqC@Gc@?r+0oo$OzR7 z^6(wv@SXCYN9YrE5E4u_kpD;3Ox1jIC1nw5YQ{nmFUpT6Y|j-%my7t!84Hx|_vYvd za%HKk#JN;V`2?*V6Jtf_ot2j06c%S_wat$>5wp|A`S~Yt7)9$hWcsX@2#z!q9xTO` z^<+rLq;q9gQC9Niv;_?NV%z$Pm(oXS95l64wtgb!9t8O&%965bEplaW9z+TI7i^{A zl~Kh`jM-@!%ad~M42ojnif`S&zcZ{>J%m!2J5ev#QSdRVK zZ@lxOrQwBGjTAZt5O}#6MFY$IEB@5EdubEzoCylk=Ai`NZ5GTi3!39_qhbW9a@pdT zYN-6oadU3gMp7)+DP!g7@@@T9Cf;KG7ME#v)q$tC zI^Z`#jDzX}0wWJFGkf6RUh|ZPUN9pKd0h3T4#eCry>U$_no>Cp92~s#k@um#i)>TB z=CQfi_KacYfk_EBf3YQ09v%SIER}*B!dwq$#?rscw%g`%gI_SrlKIABi(E;8}xY(Yh*wwArA=odh;*9t~@ zPMd1o6+Wsj`hYVgxDc``u4&ZAq{CvR-jSXNH^`wN7%mn@wY zCa!ej(-|=rm9S=J#GGV-<^bw4QsYn2DhmBA(70F$|0 zxH3Mfk64z`&9*60KQ`241mC8dni7M1L5PUmxZ^Ivpqg%m{+Xce_oGPRRppc=V>T*n z9>)uav0`8VqjWZb7c-MSEO+N#BQ2vQ9PcI&`cr62t?-3)e)*C&p3^qbu1wlgb@oY~(4 z<7iu1FupBuOXZWLa-{O(I)S;Z&(j#2-3<1{%DOTr)-o}@1tH9#_qD1$j5KYZ4--Z# zl_>1R_%Y<95jT96k7tXY_pq| zyOJC>FRAbfL-tT7g39IwAeVjsVu*4L7WgKuJz@zwbC($RfU`@Gy;->u;x@-&oP#R{ z5in;))Jkp&hr|=kOtd$jD(P1TXJy4~b8H=dSm8{pSA@we-!2PR% zu$T&ytAf0`LbSSO+`R%ZyTXvZf^wh9JMK{dpV+WA-AFrmJQ+@biUVcp5LL0^$x^zd zzSj>>u%Co*bX>p{H&mbB!xUiRn|KSGZfv?ZlPo&dUP^|7Dx&3O^t^kV>?49 zKp%l3&r+U$)SCBKi(lbuNA1?FeMdv@y%fI!hF`=mw({)Z{6>6UVeNK9y6`t;S#U^X z@8(Eq{S=eiYwqAtLP@4JadiZp5<+eqQ%v?{)TRUzpz*+gg#qZ)>nvlb~)sCyFl~EJ*^1biAT!At#+AH@N9} zp-R?KCB`pC2w1QKAo}_Hfo6Y;JVrcntj;A)vmIvLH@q)@KX2^P=Avb_zvDVEbP$Rw z?OIR|OvDRyJ2o};JNj0z7aHC#0q`(;&YyW=#(3xlUgUU6^+43%FZ;gGh*auSe71oU z22|n0b3s@Th$J!6NTf_;(G%ac8H^4hX?2u)f$E_kluMuuc_aqBJ1R*|;zMF^BdoOB z`d~4%YRo$T&B&-RfMJAk=pzXj5K@K?2r@GPP#$>cj=++XVVZOo&mB#o=qB9K46=Kw z(xMd>Z9v=5ac9yBL%J8_n{W;e_!3K-va=>#qD%6^1uV6nN869iVXwHSrshOgddLv& z&sV2(7_eD7QhKibq%lb!#n$|RTe@#;U>@s&r+@pTIoRxM)n{KSYxwbB@i`2d$?R6C%)u;dsTKE;C1ck;-_RE2UyfOGu4CY6e3 z#5vauZjw&iJ*HppF;NF4YqTznY_L-l2A-z4xVo_BAt!W9l75w#_>ru;_5l8oS=e$4 zg5Io5g)NM>fw?+U1-n_h2jg2=dA=D~Ze@<-&e&{X=MB12ryNsBo0aV5vT6b|Q1c4+hox3W^6RNmSH z)a>NjipW{}tY9S?zEMn+UbJUDWGl-{?6vgZIu-9AJMwJRJN#Zs!C6a>a<#@cV1AbB z+R4gzj>Jz@3L%FZPJv^^JJgx-SM0v>^j{jGB2DVb#LeBSG^SysrN_e7weVt4zr|;q zQsV7phds3OWmwASf;3|}fV?c|n_AHqEo@O~&3uaClXS=U9F>Rb(v8izMcZ}J@HiQN z(pRJp*rAlFe8lPu^>_(WZQIV1(s+Wc&{F*gPV*j+;ShfLwF zmMPx9SdMX)n(>1r@bMejDL1>g#gbHJTtcs{)5Shs*s2H;w~o`Ya)}K=ZL>b`2haaG zZf!+KS4x3ptAed*xFPoKQ>v?zVT!jk<+PP`=fYIEnSCPXEm!w%amj$okDkmyR%MdN zVDAOdJ>_#&6iLKjD?D#H_8JV=aR*Sx`6v|J~Qz zZS0hTOSxrK>Y375$f*{=!HT=TfnABC$}((YSu`?8qOYj*#Igw33Bys~7MFU;2#%>p zl58|sJ~3fh*DJAFzg+R&F_G=Bc}LeOm8xsyZb8m1=}|_id=!h`Ke#ju=YXp0>nC`Y z)t`>;V^On#8#1ELiWnhJP|Fpi)UN3XQhQQXeqEB4rryM z6U#>k!1(w~kxYBl^+tiKOQTk%fij7rn$Y34k@y?WdQ%wrd*%aVX6YYW5=AMB@1o4P zq!{7a7Mq6ATZ#R7>X(&Fm|yb~o6-7~9AO;AX#`?9+@3~#bU+>a)Sv@UlAWObhOESE z4yc69lDgy2lVywq4r0!8M^u$H#P0|O<={%HJ7Y(6`55e?rOI3Xt@neGiWvKAny9@P zeVsZJqtxCCorZj!IzVqg-E0jrX(7lLb5aioL61IBb%h-4r>;i1vDpr=-vc2bufA3t zkmO{FU@!Z6H)BG(qBGdmm?#R1U4pKrH}e3JI_n5+)QKY6n3u#{6A34d=Cq)gi@IR) zzmT{Q#VcBfm50Ws*;ZPMHERI1Tj)6n784|=#3b)Juig%YbG=k2-{c^rwShVxv8Ue3;B2L5;Koc8>g@P2_F>$D( z864BWu7AQqX;w`P#pYO@|9x67k-u`)jB7@XR7f5`EIt>( zm>nKZk><=!OSvKvzz*Hx4sBiNhcg{Ujl3)J+C%p7xT!2e85aQO)H~5|dWswuS35W0NCi+{1l}7Om<8&`RN4KLbZ>ss(KTv#XhN8OD2q{8xVe*4O)>$iH%>A!?S>Rjusgn4) zLjA~$W{4ne$tKBpt9<7)x`5Wi_;C}-@w(XeF7>|(`?Tpv0Bigf6phJgvd$8kY4(!P zEq!^g*qZ!?Nr#+0(*tw8j=0>;o@V*EY-jCxwJCg*zXTWZsk9BnW?Jh$sW)RU6NWxa zXJ}~E*)X~GC`$Wd@{Xy8H0i6p`7r78kiUL+-sBe`U z`T9l$BrIi;#@0&2_q0`0cKo(c-h1v0FF29lw4^VaR)bZO=qxPQ?7x;Lg=y3kgqm9E zRa8@MV4OFdAhV|s#3)=OQk<0o@pJQ<0xi>HkYUm2>Oz`C$IbBcXv17!Qe}6p9s==o z=VjD3S357QLohujXy01H>sw@NEVMI~?qUPn`tzqIHPq_MY4{k?HYgxSh<9JS(QmNb z3CrM}3)K*GAY2b+!C{}@bF-MYnJ7y+^b=`@v+aWfw|**4*bccAuN(zi(<8u*6(LD+ zhx}~UX69W@9_N7f_D6)*j+41RCj})uY>s4w;Oj3V6Oi$g5YMAl@7{F;v7o(`o=ok} zNIj1g<7W z2xA%t*=#n4shT-sMc6K16Q>E$+uw$A=H~di^9%9pprEqf1C+l|YFG|p<{&%r0m4_5 zQEo%m1K~&5vT>^IuNdPWIU}THcXJlmvWH682KtQ8*stJa5xf%*oPF@gw;7Shpe7#^ zKN$vH2*PaZ(q&jN1J2t6ZXftqQE_UJ_JJaNm}(CK0~90zcW=FdpT3-nq1U%v&X{P2 zuQ?(H0hOS+yJp8j!FY{WI}PQ?zp;@YBL$auPFm}#mkDudymi~@c79K0uUoDt+8KDw z`dwNEVAjM7E$R{*IN{t6&X>0iBx4%xfN8MQ+G<1RQ z>7_EO;5ZD`zvZu+1g=8@&$0LDqsr8_kHEbPHcYfW#8f$G*S4GE5JEVYFthqItpG74 z8Q0?!0<%yR>|^VX)hc81!( z%tD-mMxk(K?+qYqYoP)t?DoxtLE6!^I5`YxJ4sDSLL6PRy-E%Z2eH}QmTGRw_4Goy z;pj_K=A9AVs7#;Zeue8O3{*RrGZ?r+J4uGe6qe-OkfvwhiQN18tj^ zVtnXC<$ZLFgzm(5vzJLq(9X?V6amk*io7O6dD7G>hjVaPns2X!NkRX*E^*0wiM z8*2nxb(;^I$=PfO!(j6ubV!YVqv92U5E7q|8&_C*YO;SKHGeG>*EhkX}f zgl`9NEBZodV&8I#Sj`fY(7$u$VldkFIAf`kOvy6ALk#ZdebM_zX2Zgq4E6iYY)}73 zX8W&dKjr_J*<_UE|4+gApEi_bk1xO0YTC)wII33Eq%>5#194w6V8L*UU#`}dduzmw z1g`$d33VpqjkWPdV2idkkTw?7L5k*St|5Yi*P5N={^&|=Kie2IG$5Oe;$mC1cH?Ze ztF9m}CjOr4_RvjQye0XaX20j$xb&WK`R=dg`C*ipr?j=-q2;bHRS_SLa7}eU`-%>p zZrdB~#2mf`;!-l{%`9Us-&Tj7Zq40wzr7~n{8c9Y$OvWZx;2p4;dZp#i9g>21F~RIT8Cktswe1eTtpvYIGun0+ zXL*>nG~$MK+4cLu%ks$wp5J~y%=QC{Uv-n;;jrx0jQt}D=dX&zpC*{-!`-FpzBHxD zFZ+Fd+FQNXj!?aJ2l^A8*OJUHEt|h_uyqx2tIMNbowu~?UwNT=UGp{4_n}fh4Uv7N zA}C619~XrW;#ne5%5d18&J~5YT#(u{Rmue@8GT6wbQGpL6vXCfv^nIfL;Fz|U;Om=ACYVgjU%9v{N zIh(C;JQogF&dr1gMVu^Ce8o74UBg(0%t|v-x}I*afkbM5HBlJ3d9a z*hH0)E+ zK!EP7^e{1cC#ZPV|MCcK1?JhWogl3+_MC~-zvj2 zC#gAIK0aGg&xx{g^=WK=LhJno-bB6y@zswJn_~B^XsbpIOh(xYcMgKG&?pd{VOVMq zrG#u~w0mC5cD2!~Ju{GT!{%Yja+3GrSnBMhJFj-B(RX`7)Rs90x~U05gv~3>mA2aK z*{wgZl{AlWxi_FP-kr_jRTMUz&661T%<(oUl2JdF88;}#6q9N?t&?ckJ0#PpOuF=S z8ZOsybJ-Ty^THCWoU;e;xeL>m?vMypjKg9_k2De5#gcM5yCq!D!^^J_4}?0k89C0F zmQP1h##iYq$tz2b@Yc3$WJN}BicA}sl?rhlgbL@IVO6szayp$Q+G1Z01!P<=7KHjF z>u_w7`E=gy{29ECDDVjj-i?1gvj7$-E!gNmwG0DIodI~6k+?=jT;jQs({F-^CXId< z`Rnb<$hL5lI2n{NhuRPeSTE{%q06_8ETLe&q2lDA(SI;vH30BBBjm+U6j+U^xTT3h zyVK%xmEC%#~!#@-z+-f{6jf=(X?Xe_2jgjeitt4 zGUtw;Abpq-1h!7B(cb=Wh>Qui~TrZGgb+T9gd%l66nr85oyRXZ7iG- zYFUUW+UgV%T+jO3Nltx(#ZHt|Ms>u3b}pEH3Zn|87rMQrdt6()KQ;=y z(nYB@+7hfzMGm41ZKt8b-0PSZ2p5fGW*{+pUG1xlPd$U3Td5j8QYvY~%0+1(aOw@g zy4~%IO+L=;EWxaX!a@>1iWET@e{TX-7O}`B#=nMXVVq*uDX)iePH0gO%^+L`1J_$Op zP*uDA^jNrLnGQz|#~3Bp21Gt_#-akH76|K1cF-uaxmo>KbfV*Z@GzS8-nVxxcZ*_w zn3(MVUL2zB&%ua=v;(F)(|X9CY?|904_YxT=*xnvnH1bjg{+ws+|7m5NeJmBMeJmO zcPSr5H%sem61Zi6?Tn=5+ve;I)0?I`hMDVmu#e3Saz&_Z`oQQ;E6UpPk1GU;Q&)Z| zt+1uAYiXMILO9+rAx{t4)Z&hUahw=Gs#^aYbs2X?Vv8)HZ zxTR(@2*vUSORO;5jbo9js4>=4D)K>|6qV#9_zE9v+TvF{sd$Rx=5r4?F4;-lqwgf0>bGh2l{V*M7T(}=3FHmix=r4Y67=X;1j~9n0ikZ zAAQnlMGlILE!E08p2bZf7-(G--mSy(ro+#u|GVq2lX%%Di;`r-BcY_)?x~Zb{ z<4tWbZ6Th%WJXfhMeUB)K28Lm$}Y1%HBCzX!c%Xtt$7k0)7L0(Mh>GvwDL%{rA_P4 z{oU$XTrZTz&8CJcZ4l>h#?b}eXj8J9n=!IEcU^_E)Wm7#Ui}f`(kAs=8-AlHuIH|) zYqGeudgg8o*UV-i>p}QU)0_^sn;-lO5L&SrkTU~8S>quOUW-y_T$?v)a2-?3RM~rC zAB+vy>sU^k(ciP0`lYpy8qP99wAxSJB~Q9)RI=s2ybuAuAX4OJRQ0G|_Q(QaH{^Rh z82)(pV?BtuBVxWCa&f3b>Um$c1N&vt7eMFhEr_t^?1_f+jpv=NWv zsiwN+tfvoMk=?TgfErA;NuYVka1oB+&Li~{2-nm;Z&oP{v^uk2%O`gO?-x%HD&H&& z?A}u=Ai@Y!{t9}=!1{<9FDoDk$>lc})~r#sj2Q$zpIlE!-$<3<1aH_}wMvtUj%yhc zb5IK3tR!s7hG0dyP&zN28t`*{?9ZJUm|FzpF`e?1uJctl!=i53ntNO8G_QK8ogm!f z9;`$!2lbt>wsFvQv7NZEBLM&d;V-je;_RfbrkFEkK(3mbWOe5tLq|dVH9)W;4(0yt z;B`mv1N*=)GhVK~&y-|vr0%{}k}wJgjAFypC2e33TxW+M0(Dvx?#Lr2}GxBsq5V#xL@UD`0=R*%&g{4VgyEHOE`tY9{lxsjw~ zXY44Z*O&~!?$Q$;ijZH!G? z1?}PDV5`9Fh(hpH@+~B%ACW(#q3@lOL$RUlL~m1rvyhKS(o=3-!JLq{zV+4wCdU0A zgUH*D?T4?eqp)z%R5H2}ZttR4x?`HM%q1I@st44AG`U*R8Cz1vbXN#36xLZ;;MdX2 zY^T>*x)ENTq7#_TN-rbW2X~+rh*QkLi>d*v&899%a_`3gH`C>Afn@cS1!W^y7w3jL zltB`JV`i&#l2z_8(-^iUw}p_4j%@Xk0N};uLJ5L+l*1xA$~H6WRiUS9r6Q52 z2q@X#w%n9Cr6R!XICsQGu1y++M^~w)v*OehLVH`%#Ps+1eD*O9PG4md+h!gD2eq>C zqml54#p5_<$SHX@?ICYB;~}W`*qjP1?I~BMM)wgToqb@L*T92&Mt8c12 z3m=Hav`~_Ke18K`(Kk?@9Ge^CT-x;~(P8ZEDq>K98EsU?2T4Zu9q;DL7^~VO%LG$M zI{DzpC=1?PNA`!`7M7)1;gX7p;<)2eE!0ju9goDHOIU`K0U6y^Ky5PJsuC7AS{UOi z1LG38EXKwQClGg9^D!>?aC0}kMF4U@ymD&^+ICI8=o7PdIgJsgrj%c+Fx9*Zj}H*4 zayUYrh+hWoZy%Z=IH4jdd)vjBaJ@RTTFrTVtVlDr)Pc2M42tsj%C3o;RGeESpua0q zY(hgL{AEe-z2+<2&^p{={Bu<&l^gKywq?aR4mA2R3*6K?$!*uR9L`5D&gH1l-FM15 zoa)eotLo{)@^2z;@GV5gniZ9whR5u!X;~DiUGO4nd3rg-uwXPW$UR89{BokCsw{Cj zu5q!s25E%xR$yM=wZ;+yjcCfAj=>hnT+9YM#p`(p1Y26dp zGo0-mI_c7Es!1>2tgmp)w`k>^2k#luWr@FG=bPHZ_ZY_@=b&F!VILuZ}AMr%CPW9fQ(=uk_HO7#Sk!ry0+`s zC0%$+&HRR{mRGq-LrqOhDnSK>3RI}&#r&FP+}g%_{Y#08R#l5z-_3MA9n)(Rao>yS zPWOw?*UguX9pTqa17t!BO+r!>{i`~VOM6D1?f$+hfv9_XOjsP`Ewp!Ho-N|sEj0n( zH0AZ}KC7?yN*vE;`()fKI8)^8Ll`4id>rHbMVdQjvXqtHiIH1VvKNSY>>wZB-61XT zR@A#=1F#Wa^t(M95IQPgYc?zP4-@uJY}@C6M5gzso{5Ws&hTIBKi zEnnSY^^TkM4G$gyyf@=0Uzd`qFRA%+PyPfW&Vq^GxPiPf9}mTR zKi0zXUT>8Gwzx?X=6L7_(d2Q?=BuNu#*1^&pjw4z>}+G2?d)P(TRCnlZOm;8he!Bq zT zrH-;*Y4P3A5{B4V8jcq3Ay^HCw%8&nI`1K#w?SIy8L~TN>tl}zT~{iCH_z$ul-WAd zSfykZj+v2y9{%N@d$us$*eoO-QMV{gPM0%-(JEY+u<~3(p8)GBmic>45Go*Bra^d$ zJB=x9;w2u~MHKT+Zw*W8Os3*5!nXA?_W^fTO#JYRxoPxnj!4`xE~$`O4jdgw6W!5_ z7O0gjUM4QqeNdTNV_&{lTP9>W?mOwZ4jRqwDTYkPcts6}mG;n#jsY)MsM8RSIix{> zXf1XzR*&!5MVG!<}94=|a0AAzvgqakcFPLRKe`N~SuZ01!wa($K#TUcuLx7R&OlOtD^5yMm_GTKP7MpBK?87 zimaf{3d__^xqc#D3{Drn7SDoOgy92+WtK3N8nGzyCC+8^Ce41m^ykU->%If@fQ`~- z0E3q$odgPf%O=xuMz0EL@`{dSMPQ!+?yv~8!Yz%G{an~8+6R6e?JMNpiakBL_g!f- ziym8KV{UeR9Ob_6fV^BK+jVZ8Li{Dx@8=-@Ge$GhBH^jBl;V+?eLGCKDlPnyNm{NJhj?b%IC70{%pekQ*(EZBOCI_? zfNA$b#wI=32Cn0gK8^h4IaNqRJ&Mw7S%YVR!;$w{Qxuc~@g-FfoNbk*6$|2p=|#p% zLo#-X!BTVbls$C=>GRaqBy-DcD^q$z(yGn^?rvJZHK-d)PkL&}zx&AHJU63Ms;m>V z>~5+`$zkjhHmWAOZ+?2*9Obwzx}vgFoVL{}qL!1#Hg^Sgd~JxMHyAFwBZ1xP#@mZU zi_61E6_WLxod;4iM4LO*$Jdi%e;k*^$k`~NpGhwG_NkC3SMqs5y1z!NNjz(VgWn>T zcv^alVIzU$K#+2kSmQ1bd;X`&P;bq$mGXnQAwiojt7$y^R!Nd}fH`D>;jU4Apzrq5 z{B#S_@LHtJ*nq3&q#!WPudm1kQll28o=#RH7Xi-}W}}ud4V}n`d9eNOHCXSp(J!#( z#T3+Til@n}E-G9~hlvj&Gdxe~9-(h_-n)#eY5NCo9#`tpvrE|)m-#6^%@pQ*^xkM1 z`-O$5Mq>z=C6=Rm&}MP{lR`7d9?eQHlLdEJ0M1~*Rt(W~Kgt`lTA+mUJmxS41pc=7 z_NnM8RcDCr!M&V6>#n#$yCGb!{V?Z;(HMN%ZE9qq16V0=FmnDKF(wdVQXPQ+7l8=- z=c{(uAxgX@tqaf{Y7^BF>O(rYz%w_Iozu@+KcV;^wa`Zr_0eqJgx+NLeCx&KOFuYd?lTiOQnMSi$}@GO@QN1X!PxxPB)xZ3PdsGG#E>kp_FPvS3>L zLE7TQ?aeHuMFc zxs>m^L_4}eg5AQ|J<%+k?aK2hCaAgs!L>v+?kNZF?1tx0aDU$xKAwp8Z&x9OOt+JB zK+o59#m(HsdLIdk^7aRSrt@jT1ieZvCf$^)_h^eq%jYEuiN@7g2C_Xy>d64HC5sCf zNfJoFosmcVjQ0tQF!E$DtYnaj8b+n$dSYeR!U-2EeGptLs3^+l8chce9FKUS*^XYY3OHOm6$W+dd-J!bE znhjl{MIzu|P=_NHpRWlZgERmWIQ-}~M4fj)upIU{YNJt(RLc6x_0-q#bU3&t=immVTu?~dIbYP-#8|K< zXneL02LH21mLfTX(*AmXg!=E!h^--^O{>ok7cqhqweB0w?7Yse)<~>746%x{+3*Jz z4Rend$HuoDXT?1o_qL)I#oi?F^)S;^MdsuH4%(a!wS#;o$FQI_ebKUX(?L;Za`0z? zN^mt3A{ue8;$IdZAZq)TVzx0sV^SX{GnF?78*uVFY~?R|IH$KA2<6$g70M-MDclaA z^G-$(@!4$gco|aFuRZSH+)1v>trM7|&-NAgaJL`vJkVo04?z1;2(-NnS4Gl9JL^9Y zIzayT^N{AQ|BOYBANTP0o-;V|R1*a>1pqEVhT;(S2W1zJO^0ZxWXtWt*K@i^K|>G; z9pqnc6*@1Vw}^Hd?Thg23K7OJpse#Zt$1($sX_$BK@m8?0s$Ff{W}$c{NGpdvUbKM z|1m0ku7;|H_Ql%@eF*funjKsO9vF3X1Exg;Ou?wWuvy;*pCZnfX(}oy!tlkX>D^YX zYvD?0JFqNw@mXv3yv_HLU&(7%T95=fJ^Nv$>*M-n=Vj;PbJwn~2qo(-D$_+)W@gH4#L zQsF0C=&Q?6hSr_GCj!pMyi^?GkjVoVMRNG2!E5b62{>bLVOgS(w!LUg`2YBN=O9ai zE#14T%eHOXws+a?vTd7Pwr$(CjV{|}m+PxDXXd+i=AJVV`;FNDWb8L1W3OD9>sh~t zW2Tmh=)z51?o=!wG=ZqwkY^)jn{-Y}zZg^1Lkxh3hk<(>;@B%?oGCbR^cs}N=p;U# zh;cTDi-+Fa*w80&cIreO-snM8RV_iiYw>6&DjGS{D|4pGvq7vvve9>+oUjvZF0ZXq zY|Q0}(F`K>GlM?9nJ}arZ$(siu+fc$nQ{Em@YO6{6^pokHbJ=EdfeTnZd`J7R!gc1 zOy!Ub(S4UTf1VrOe?? zWH=O&_1Ye3M5l0;JNgIgnwhi=7IaH!J~AMMwKD)B@Jm(|a~VY>zaMpNWQ2!s9j!Uw zTX`1(jm34_Zsoyh)u#%(UYnI?J`JUM6B5FHo2=}vH2`;Eq^?bthIQ3XH{Ne$@MJPP z+&VS8M$9ypx{VaASJ-+;Z-3w#q&L9rrp9({?uL(!;+4BA>{YmHs9k8#VW?yF459#< zWAO}=WBL5EgT*Uc8mqg11*&`QhPHd*hPN0aIk5r_j4LV4t>69yE{#aJ^PD}NNT&Kd zq?X1eHM&*^%cnO6hWdz#G30UxO_GR3IzLk-qU6Oc12jSleF zGmkwM(Po8=m*~X)%TP&*B#akMm@-HNsJ~&s5fT}gY26u{c5TH(Lz}-OO`I0fKQ$Y! z?>x`fSN&k3Fzk;$Lw;|z;7YC?;*=APay({`D|zIQNd{RP&uT3?oW79X(gLF1L^G-? zUB*a0rd0&p@X@P*NZgEdv3x*DvWd*whf5K)KXsi(`s0L-)w@#cLSA)17Dy zweB>X;!PWKz$RG|=k-M53Hn5Ehj46U+Fv{rDlBrlYDjaN*6VXYfkjCi={*4p6aY4V4)PUSuYgnq7_c>hRh;# zy+OXDZilOpvNBv(@I!_LM$S-wKc5E6+|eFQn$5KCfoZjT#Nt^Y6zYP|a;nr`K?Si| zQ%FTF>^-O`!EQsGTX2T_O1$NF*+i6I8!@IZsASEc?!)W|$pGJjhnWWSRFN@b@c0g^ znFh@p@&qx1Wh_z3-Y^3dgaBafeKm${nl$sU~P3;`(q4D-dv981d8fqb$r6( zRiVCXQ)VNZiV{QiDy&ke;}E-|Uj|)=o$I`B)w-);*19<54&q7J6i7ELR+Be~BR}Y- zoCpp)qKaGd@jMA-;seO*p~P4V@j4^eeMBRc{i z_^1PWx|vffgXmZWNm;s88E3oKT``$^+6KiGb*U}P){i$<2jnEC5|xG0&jHeo^iNdI z1JFuj~l_bLmXm^C2`P%c^`}$-1w(Iak4Ua$g2iou7!mY@z z=Fg=eF~N51SCDbLu@HaCH~$uVZx+i}qmmH@OK=y=8}7OFNp~!3()z#+*FsL-6;q$BH#81?)z89nP3|$MgBK5%QgMAXHd?*a$9K66wWb;q7^qf3bpnPO#e^&3~ zD_-(Dze|tw9G?5KysHUlsckFwl;z11Y_zU#SS}X=xD^)m+9bK_gmNow3>VfyoVi!n zSeCCVdpsHh2y8rlE@0!bD;Ter@Z*(P7GuX0ZSi7^* z%6i2dHc^n(gLmMjaES)`&80PJFGRWG{rTkr4Y;!&cNk|F#htQ3I!MqERls$ zXm339yL8snWs)UtpDd(hXfs$h!=Y|*=$STefiN?iZ%${@>7a3Ka1z_Q8k|~GU62{S z#$hyT5AXVk3{62S!PnXC{Zq*c57cTaBtkgaSO{;T_Xq=Pugb>OwaO{o1>T+oW^Rm( z>tzNDCb+)P$9LoGDL#7YV-K(f82yOo_W^I8hkQ+FOlaJX{|TrGCPFo5l76N|h~Rb+ zXCf4qz{gY<%}O9Y0`6S4?*Pzm|A|kUk5&OGG;kv;g>cW3BvOzHR^9m4F0*|~Vy=u& zG#aA@*Ol{lf@eiU|>k*+lhMvT2TR(8K%!=I1 zh7av#${q(oDvd=5(#(v+Zt*fAKR_1%lrP-y1J~@Z`H!|WE(~4_j23K_C~o?^fs!l)FC5kiPG;miKv67(M>$fGXmQtTdnjNRYwo*-2ucy52a*6 zjd@8IvW*jP>@UIq>0yKsBE16KG%si@B6SGq6pXDWlN$kt!q)l9zg#NP9t!DZ!c*-} zwFe{rEO$f173ebx2MuD#V1!^$57(icW$VkPUiEL|{pi3Az zk=1Oyi;z^}Bc{huMsrV+G*zidLM?-CJ=30Mqx!CeUYiTdANJ3rLr8JnI>9!%;i>Zv z5}{6=1NOw}sp8ZYER5R-(1k1Re9jp*YY{g#;RnvQX}oiiTmN0hdO7 z6mupkr_I{e0-L#x(UxIFG-mex>cektqiNBFo7up9e|<7on9P51yVNSp6)YQ3p^hE! z&>j47z}bV1?RZ=*H!O1tC8R?^hougT>TqEW>NFB}B9B12A#0exO1`bcGR?uSl<&V| zLojeo%2HF%I9a1*?C7A)P*L@cw#nR1q+svL-=*njKYm6*d&4xPa`t!OAhyxi*7>^H z!_+DYFBhGg074JZc`+uIzzI8X75>CwVAZpGCXv@UxnSl-lNbd?%NC{(M^aa09N%fs ziJf1kd}(Jlw$hRbbtvJWT_?l6Dwf2-ntaZls>W;yF_xYH+CsK60GeJ3vPw$K&e0IG?8&qzgUOoholcA$D5yS5%P~z&;CM-fi^g(bk*>kS z5^`hJ8z`hfN!tB9n3phY(|BWd@PW8u)=5`SpT3YfW+PW)K^YZ$<+L3XQFeo%&Wkap z*P&1gkJ%^V#nSF9{=B0-hx(Mj_@zlmp4(tG(E!B=^EoPCVC)*=r>jjcpldjt#OPAt zT9lkC4lW>*lQer~^cZ`muHWQbKT;>?H-FIg)%ve61n$!&FS05@}t?FgrIH5ke zLEmWlA(c0gJ;tu{*eC{H%wjnWnRV&3frC=^2}%Urv_Uz&8_Xd&L)7*{PJiUuFZUZ3n0bj* z4eUe@6Uxhm^;bmm3Oe{F16leb6ULh3C2s68-#&#kepvY1YcG_(B5*Z=NoVqpHn@ba zNfv|p%rI>+z**R6(qLg)m=z%z+ik1=d6dZBW@0z0`9thA;l+R1?~Ot$09Z5qnXK_=O<`K3(Bn?KryLiInIE*tM@1XkrcOgCjra zP@(3>7bu{`-{hBEaFTc_2uY!ZIM@IZ!&H-Kpl=A=Ql#A-`sE<-^KO$;oxxyRrIT#$ zffBb$!OSkxVJYUNiFIzWQ}&VPeVt?$dJMnDUU(>}Vzkfj$7at9L79% zFH>22eGuCcgVEvZ|L(^(4|SFDM&A{T!@v^KjA3@hx`TISCA#KCmWta$8@Tb)^%EL= z05$Hi9o>Q_Ax|jFYPL#p5^mcZWyssw?rR|)`0j29SObmItGeUu@QpNNHdHw^h0RdT z=~jlRW(|&;@zYsj^B1F6$QrCk;J`a}Wr1z^kF_eLF|4AO)Y%*Nqoj9=r}bj;s_~eo zm&M&F>Sp&un<>K{ac14INgPplwD4yJtFcPT!>aBdj2QHi?%5GdHNKVJG&A z%l$Hr?%^qAGVYq$_#Lvgceh7V%@KL{k=iHJ7GLz|&u`c+vvS(JoyPLJcpA3mr-HOQ zHOV8H_<2QL2a=h{DP@Yk#c+e(z0rbUs*Jk5yc8o{sljixKmIa%@T$jv*8#ydz~SkK z@Q;glMcVTObl64ek=vnYbo%Ln9(&-I3UcTvCJp$^d}t|)pv&KRN80+m!ZFdiFp#{p zZUO%ME^}=zuSHtgggeZCC+aaywaM?$lHGqrjKv*TMob;s5*$Pm7Z-Fv(sB@pGfr3( zFZ7US{7H#gyG)q-YR5`S`i7wEsNvF!{P2uIbxT6ML%Fzbt{rIlhcla0cIL3?j|?Y( zsxC?QN+BzdKc|(P*NO-)UYZTuzOWA8pDn%DNBzA}YS`eDc05ZfpF+mHeW0=gH^P#J zF9`m469`{_{0&1lk3%Cz|0%m_*D~7ByU%Aa^qap-1ucGnD$DGwH)LU@|DN9F*deqV z{ZEQ(mpz%*&+ki_hi}%=|KZ~N&$RmAmskJ8CHcRkA^%lgh4oTaOX4R_8`}Wj#dad_ zVdV;I{z?V;38_aLj3h)rNhp~nAn7+Reiskmo-AZWMrf&SUDr9cQE6NTJ#Ti}ggR3% zp_QyP`!IuEs#>m6)#}l*TzXY#I`e5e`|6AtBZlcQKK|QrKmFC|c*Xe-4r1H&gs;at zBvmnKC%?qU!;<1z!STVhrQrLAC#BmA^rQ33TS!wKOU9{&2d48%QwbKzG4_XQ4(~1ZmqM4lW?HQCVx|tmCQ}hRE(H_Nz zkbFJr*Qoq$Di5W(Ym^V&Iee6l(EKmu2fc_-t+_9X*Mj^nl?QTBUsXVahJDZE_Rw7J8(wi39$+~k^1SQ-%s6rpZB-qsW>RFmLdg_^~xoVLcRJUwf;IN$S ziy74NrArPW1zP5HjN!QgO}zd9ip~p`E7_w5Cnsgf)Q16M4pvH4V@@Gu2kq)a$r>?b{l8tA zUeXgj$k0~tq*HN;!Jjh9Yz%!j5_?JBBA;c6QIRhgywmd3)6M&ao{&w3>o!?p8l=#!~iP(|%H*qj9KxGi( z{;W#7HbaOpnY3p=2bQhNZZ8a$Vejl6mvWiX$F=l?QY##>1gu$6)t7u@CyN zI22l(?lMZd2wVn-NUv4RgeHEo0*8hKF_KJN(fjBqmBi~Xn6pc{(&FJq*6axetl0x$ zyIg@dNOqyp-Ch9}ucVy$gZ(QAl6`#wQ->+8MgRKUSTu-R)bPqp6PEF50#?o8Ig9Sd zIV)Gp>5E6*oBpe56kgE?3zw`oaHrrtnV4}J$L?7*0IUU`e0)@8H#jhq=*@b zy%v!>1!8@L$f!(ZQJ&0^A0raFsZg3xsTh|0lwy?DiMAiRWoK}<5LQ&-)M8UA_JC_f znvlA8fB(K8;%{QdSJ-<$k#*BZqYyu9=6L!6q9g|RB2m*qTa1|Q#4svET-hNwAqxU# znqZ-bIi?i#DA)HHwL<}u8(-Ju9F7aHSU(t`{nk%A25^-?zCXB2EGWbCdN4X5Z(Q3=T3aM z%ID0nM8Ph_WUoHH4i9WrySqju1OMhG>WHZsr2EDtzR`JPV6rpE`|V0s573#n7UHrf zEyq*8#zStPM1q{@C{Y>Xh_ThcqL;>kst0>2LRu6d%E?iMX1&?6zR9;Mut_tIMU5G4 zuh{v>Ts3zDi#Ui8&R9U-lpo|+D?fpss>1tIlUresmL?Jxy?|^EjU^lgod316l+F__-Z5VA;C5c5jU!y zWiPcr*W?}sKz=O01DNUUVf%FpKyVlYD!VJM^e9eE^cH^p@-wF_57EGgJ*Vp;92Vy>&7B-0Of-kIGg># zm*=&M5!5%SbQv<(oepz^(y$OeLp(3)8*4lqaK4>B$eluPc;M};KFXa&a8o~Vo@as^ zLU;&A8{A&o`<)&zpAK+*AfHh1FW8%HkDIJs-{U@C_;*?OZs=znym$EC zuaiDk;GXrsZQyrZE~xQgL601-kbpNI_!gR(u91NyoGYByUQlj^(5uHC_<5RFa5$RE{X4PoImMn znPPrE_pBQpZlVFQq*TVj!_+oKF+0#;vv6r)yS#kC?65 zQ#GJD#iOm9r4P*#JI5_3dxeZ69wjI%RHSHlkp`e5Q|n0-J%6Ei`G8RS!YJ@Xy<-)D zvWQWeWiHQQu1Umr5^ZJ1NHFtS9cIbr)DszS^X53bRB9d@sb~zcLzTECQjv##m}B^Y zt-q7Xp^W1Yi{A0>03Q8N&GNetD=SZ6WbliqNuhI8&M5~7Q_27Vhm{po@s`$ zB4-S(dfku;Q1@}f(1%kP4i@=;+k@ z!wgrvzGvztEYysjsvSRoa(e5_>Lo4=aC+Oz#vDAXW$LCZq#QgHadz>Q&`+FBIC==n z+D@KQJMhFUc9kND@Qa*vM|Qe_D!d>vovHkJX3Q#DIe`?}hkj7%4zh9 zQMFNC({K1_e}``R$jYXnSY7|hN~e>(RO5WAq2XO69a{hDOouytcCPKAp{jR1Z(0BP zNY_PJVQY7~T)A~HucP5zAbmZ4HpPZpnoF$Vt%SFcw4`;nW2U;D2|iN)n#{uyx1@Ey zqpWH>5vZ-&LkK@@^t=9L(=F8kG498Ux&kG*JG9Roe&c2`t7BF5wY zaOa;n{@?*EFvzc1wiz)s+b%scRG5R*JUEqT`E_hb3LiCg3E_%2mh8x)g6Fcb#$Q(n zkxq2$Y3Hyl?c;+lv-?*Gbz3;fi(Y47#0+;kG~reM?BI=8`f8lMZGwxxesJN1l$}Fb zRTe(0^DLC7LiI(3KM>FGye70!oibc`-+*z~Qoc3P6Xdlwh@RA4PfGsqy20v8i%-0B zmp(g_Y#(&stCI9FspmgXsazsU>7C!k9uEI$?D0=F?*BXzqWsG`{r`=|{huRf{>=zk zWl3=^*Myb82p&VoSglrnqM-mVq$fF=v)I!rB2`ke8p(~F=fyq}iHw`e+ zP@hklxDXJUXB5}T)U>7PUeHRe59-c~$@h_2`)y38P(Kgfh*5GVCx7qLLwkF=$AV-72pYV^|Sp zW{*?97H9Y#u@hln<;MB;Jqn}zHebCPvrn4Q3z|OEo;E}bgV76n8*!dm=+y>hd*E+@ zwhzJp{4KHlO}U@13{8#r%N6Wye}+&yU13YmgCXIEhy*|C{7jIOumpe14m#sIQV-Pr zihgGmftR~3v&nt?Ph;i2=CbgHgtE8^WYc1C@?q4)q8c-4O{N;m)q_Oq!$>RsB*kKd zM%Dqol0$TJ4D4m-sZ&g9#IqgQKb_6F&$rh9#Sr{4kqP7@-tSo>EA{#%Q#L3R- zeGp_DE(V9+GyZJEL2MdN9>MIIV`L$bQ#v-?X?k`9y=MAkxsi>yvr;+(lh#+Z!C`OJ z8?*7)Q55vjd|{ldDIhs*CBdE9^F(UCHer8(Sh`)mWa>gbFBiL^eFy_?68>fa#uf2rP6CD4bg|x2;qv`2T;{*uP8&OTmgH^TJdGfbLf1l8O z1g)z6A;5fIB z#J(IAUvG{IV3(eXPlPN|i%Qi_bBM|&)Lwi@r?N~Pe1S2vGQ#~pnJ0YRKwlOP`m{DS z8sao8HX7=*H1;)kF$NE=?v5nXUT#P)&cKmp13{^_1z^8#Wg$3o-fT7%uPryDb<{B3 zSxL!Y;W@s{1ig?5@}? z=YGg9-Q1wi=w;7hnVOtEKX`MKHG@7>*y5muda*jMV-n_T;Gmu?X}b?^LqkvLu)$)@ z$T8NZ1_o8aL;HSLk1I(@{m zu5tB=`8PI&&DMQ1a_y*eH9H0BTSc%SGMgZD+h=~IJ4-Lw}UOB4C&v2E1$v5n0C*ejq|*)wn1kxg-`g^d7inzQmyBx0maSn`N;R?IINZuJiU&^hv6dqJ3Z4bm2m(@WqkGcNz!t(DoY}BIs>U-k+dD1{ z){EFo6(G+pUeeIaGKK1qxctqODID#o%VDTHKeAB>EeV2_TP4-OD9Pwk>c&QJiV*+W z1Y@stb6whvP+F1J9(vi*iK8kNyo$87)Q--zp*DCt8LYJVc|`Gp0V1g_M<+veih##^kof1-ukXDN3G=6A}}cM$_~4&9vOtHnzf9&myo=#$MP zB%_L~{)S$JM<_`<=7pgi1Mv!13{zjfF_r>a^BS7?$i3jo)%56yW@8`1-cpq&>KxJ9 zD*2d-ms0gi>b#ihA=C_a65kJ>vT_XR3k7LcQA{aCmtDm6(+fW8Cp~1wp|iRQ=O*nA z;?XmSwU6S~*^k%(&!G8IHPF~qr$XH$FWz{016;j_laVi=(yL*b1Mzf6bkW>c^R!2d z6xQ0J<|Oogs^G*5y-{%$BGeGubE_3P_6Kj)NAgDgB{;*lmGzl?s>^7U6$J&@MneL)#Oq^ zI6Rl*sYy?6TW0(m+v`z7{3<3Inv4p4!y&PSVX8bgBoRR`snHg0?*QlGka&6LKnYzk zSKu<+L4pIRO_gkjHz9Dc9F!_I6dr_Tog#1X4QN}EEcq94LvizC?X3us$QomoM9nk0 zJQigQu|MV=hPM=%@*>@itQgYtS1vwD9(8a;Ijn_~7yQ~nZ6!#TW50Vb%mJ|63;|FP zwbbeZT>9tuaF9)>oIz6>{gp2T)I(Ivld@~f-Tts!exO1?0@3i;`;~(yvBdT?7u^Bh z0!N(f!$ehfY(p4jCZr=w|J$Ev&<=9j@F+@x)Tr#t{UTQKs7+2+isLoD zK>t|6L;Tosu5U^{$^S~p|91-_W9;atZ)*JC7sOjxP#)VD<$bD{UvDG`&h8$Cs=M6eFQQ9FL;A2#;aNPNqjKROqEr zMAr;)5c&~9K--@?E38v0G&iMlk12L9v!-OayNM~KhlS0rjVYE+5%>l_5L9mkb^tDf z9nBmaiPDF64XZq)vy~uM#@8n3s`Wp!ELil{nrTj12PzBWMeY#!irrY#6PMBz?Cpg3 z`>^hPrBcf0R&^$7d4EScH(NmjEt>I~hL-ksagFA+&@{k++;pp%XIWc1KR zl?Tx>V5E{{RL$vakvgMTLpf{{De=3k5T7uYPho>DHQvvVwig`LTb#()J30tyr{#9E z`!^_2^HCennw&bQx===bQiRI;V+IU?02k{lI!S*kPc+A9WUVZVt8mRxmd?#OK(p7vR(j?na(m_=J->p7lSY7cWzj`s3%n& z?JAZ`LotOfJ%O7N4GTs5nb728jRJZ!-css+U@c)_qk@0C5f6ZrDM6ggSfrC2@2Ny< z@sd^#{B|6!jFT`NHG?>Zh)Nasszb9KizmG-XR}2+rQb6MFZXzsL_?ju`y$G*>02 zYcD6rigb{GW$p@M9|WRZI3PUDfJ9cfAl!}-j^MB?+}>5H##5A{$7yF2+L=rm0MPu9c;j!*5EB}@hz{( z4G8-!Ov?>5W2XpG58}jiYaoAYe~!e$rTgwkJ;Z!A^5cBZ<9Fx=hv=bee%b%FOe6Z< z0RDX)k>Xz+0l!1JoPou6NBMsb9Ndq#D|}!kU^-y3E?_P$U~pn!(TVT5i=By!L}Fm9 zusM~3^&%gcgPl&^Uxk&62S}DOBzZgW`IDVamSSMlJMZ)P2g)sznaW~d`e9OGgk_>0 z1dow0QZJ&Xui>EKW0+;HoG+(j8m}*+uccI&m>{!NhK5GJjD8vX01`tJ%N5oTpaD}Q z7#r*b`;TLBX(RWn$ACBghpBdRQyou?R!F7>Fga2seD*yGO_ zB~>irj%S-!D|4)uyR`g=8dJiHSh2gynIf;tS-Pt2dq9E2pFc21V)tD3H>q| zG%DwaNQ`i`(-`7GQ&wi6mQ(RhkXz0t`W;MRK~*i`_uVeAr=zV>7l}+I)k?;|4|OO2 zs^`}4#ZePW zBhc5}JC@LdAmgvo(>}eYUF5gjP=7t58zz4}ydSb4z2QJRp!m<=uM`{7`RNs#eFjfz z6v21~z6SN_U(j*yy2&OR{P!Fx)I44fGc)pU8ybUcJ|YuBC^F02CPP}483RyFW6Oj& z!K52b&c?jM0&0-IX+Ze_XL8JnRGLB|uKFu)b;~(s;;kt~qZ@p2jc`l-72~*t^}&gX zXVTqOVTp=vH~R&?L$!M`t21(crsO!8bK?FwQoROfb|1W1ADGwdQLEiXj9^pHb)13h z-*@lrPqK(pU&u=NzoK@dr^S_ck5zH!UQ}!ZdH#LuwW92^q6KegKN}e~+Tz8znlanB zykW0=Z2`up`%y3`dBaeyOjf~pxJdfn=K-9PD3E!eK)6L?@gB*Pw}_S5~| zhGqMTc&z4RlwSV2{o(^gNn1^)ec_){ik^9R$La47DE+^7s{czE@^^qxHgho6HxhTS zb+-GjSn*$h;vWXND4$@OE|e9bh1!GCqCrAh<2pcs2j8N2br63y%yGr!*-evGBsZ4Z zKK@_%;e5|Q@acZ=q;nDvOW!c$QwPdsM!t(o&h0ku%q+Zjsm0H2AC*U!UmXVtD&Tk z5*SGg!}3nj3#=76d9y1V6FV48$tqy3>I+K}RCR^v%wFbMvGuix`{xZCi$OjRT$L); zfq9HpskaDncYn&UG}-rXEeQu;rYh5^^zfLYl<)k@=_`sYo|r}_LaG=S-})`R5<-{T z@ZdM~G?ffhZ4J>-ngB8}N-)eKA2@pDJ#~qi`laKLSb(ZZqj6Mq`;c)OPc-VdRRfNm zR6{hhsBU{OwMB_EMrUQ@57oodG7S*w(mqizxh*aj)Rz~=MF`;r1{PCLnlqlfC(72} z_Mm?m`s8tL$evZ_7a?E`6;p`@uj>NdQjI7+I;sOG0n%={1QD1aNHr^#*so}mG`Tx@ z5=_52<4)rO+!YFU`Q>hvdEaO-Ebc+qhZ9j#qQ|Ir%7RRS;7_c^fHz zLo!K2CA(RTEkepP*3;Gjp=$fsU*gM1cnys*&Z82iivo4!B}nCCwB?Gs6OQB}{o|Q* z177Rj4VgH2F_An`(SWS(@(~#6uw6)AjdhG8i~d<=06NG*urEUr?SPmas>%Z}v-XdZ z7}LGAIgjv0m-xuS26KEXdc$r&g&W2Xc%0H+)HTXx#+o5kZlL`K9u&mp<1haJ z_U9Ya;QKc_z-vzd0TP8{u>uP^L@}W;oAF(oZf3~u2c*1&a<73jJn`DKxZ%~de!640 zV&I(J=0GXt{Iy;C<|6y);qm&qdzX48b$6`nf}ix6llzq}IGtY~l(Aw%)%;Q8oBJl{ zrINXbNa;Hv_=ga)K>?-0%;tnnxu9KULkw#Sg2)+UMtE6nA#@~mz-Tsmob9(ryl$e| zwqvHDcuO%DqcAnwc(c1VgVk^==3X|P!n{~vqMW(|;xH#gLsWG)3p>PaLOcO1PGUSD zE3^O6Ip8g@Vb1&gzr6bH9{BegH_5+BP2}~RoQxf8{+nO5ijLCvzU?zjc2F@PuDGUX zaoWtnLXtNZp$c6Uj6%XHKtq|l93jm?@>`$XhV9QQ_&Ye4tSv4kt|^V7KPLB?v1#Yy z`I^?_@a?j~c0)%Y<(T>}2bb-?ojEganGM@t_m3?%zaTt*q#;D_SU~W)(Ms5A)B)ZY zkptixghs;;o%Nk*gXkt98Lvkke;f&$jbQt1AiP%e>kHDb3%3Td2R3e??P>YYyxy`6 z%spI8z7ICFO}rih~K?9wGYYupc4M|{(7*deRKo@JmL1kLm(Tk zqb?P1BC3e_1$5qB^0OoC;Vy{@XnY3C_A-qx_P02!(Hqouz z3MEuciBz}Rt|5J#vv_fyi=B3z_m{clySH%3vR6TRwMGgCPhFooR0>cQsLq33al`Npw9G z0Nl0-ORBcra@?+1v~?NME988>`D(I0qn|@vSu$sRh*8^Y*%@6c-DLz!YiXqnjmA2Q zV-H0#%gJ1Hlfj);k16Ue&LG5L1`Ief8M!dKfh=pqh7pE!@SM`|nVXW&c7%R)8QQ>$ zdV^9^eo?(xodhHKa@#i#!zwT8H*d(NHweKU+KJI5CTl}4Ico;79N?o;LI5YcTGSa6 zG80)^F(e>?>D4}d*Ur)hx`Px`0cMmVP!}_Wk*vVa7?TkOsnT=P%tOX7zE9B9?3eG& z7)3sb@IX9%1=H|tbR-j)aixA@-u2h1OiA}xZZ|S(l9s}GGg1}BTmVv60Sx6&gnrUw z#CNNTu%8$q26Fh$`-oS2*UO6ztcJ`qRS^iZGZ=NW@(6;g=hZSjk&f~8+Vq;FA${KD z#;uE)y6X&sxK5(;Vr z`TTAAirc*+4nDzNSU$o;pSTgne2@Y!OgEB+jid_;ox=*zFL3<$@$|W4*{lZ|n$tvD z9!+oRX5xr6TqbX5vVkuUjyDkSXF+9~F~YBVk>Q!G`mo_WPv_8lA+~>-yXkhM!O=0opvs@l~%XYSVC){arv*!3F9QR2_Sc{N7nHfl|wDV+`@pM5Zhk{~E z{Kkfi2zUMD9b@yha8s&Y6ub)s{{sAMN4&8vXSUC0Snvs2wpQ;lG6K0qw=3Y@<#F$l zGy}dvrBgf9EyPP?CQb)J>);Z>e$_Vd-Zf|yA67#2tc|F3hln*mf!$?1S#ZF^Z$~%w z)8a>272n%$=T{P|G@lGloG%+YBj*umw;^Xhy9Vhsx}1kpH<;Ym<3q&T>|^JN0ist} zb?_iuzo$iVKWr8F`S*teQ+y5fkrEVbAT@s(cs&fkoIh`sPjC$u2caX|8mF*?r_0|? zk-`jQa}1n=CClsKIw$&TcO(f$o=>97EG0Tmjw>2SQc#F1xIvMBTDpW$>N=&!A4~|a zM4i=-3iv~Q!9jL<5&`^Lj_ZE*AJ=_YeS}}2-ys$7eb4vr!|FG2?EkgUly@+`wNFrZNt5^{WB2|lS2`a5*13NDODNm_;^h4Yu)i7WTk~wS6 zbvw&`7_&(g->a6nSUvabCd+uy)QrTlp7yh z&A9SlcqO4NG$!0$on3Q6W+9W{4P+)Y@pwcgz0mJ0-~`!6Ph49ZAg(MP1ODu&3fRhf zSgQJw%<^pIIMK*zMhV*<&n&AeY~(TUhY6`UPDjpeV7waM90C;&^Ocz z&+}!lq-z1Yh&EMi$n>eU53jxzRt5YNNP^y`#N<(x_Lc)4Vw_yj>`u~+5mHhIRVvt5 zZBkQa29{<)+5Tgp!S4r*sVYQ^{l+BLg`pVL$@k7WgN%8^5Z+CSC!Nhi zZtcmcTD~@H{KF;<^frbzXRU^dTy2hpB!6UgNY?o;TKtQ%WCGXbbOY(q#;+AQ%Hu_d zD9fWzu{jsGS=lVVC*RPOKQ!KMOD@NO;v*WR69*A5Dvtf}1vaJX@Dj@euZ)Ny*lU3& z0;UMZv(xlO^)-L|!WSnLq_4@Qts_)8vKGLQG_6srZ9 z4^zq?(8f1aUO~s{)lShVdlZX$q|$~eS`|`8wDDZsbM_u@q*fnra!nRiq_=Rk1JSNG z1Z6sX!Ly%VaNTmsMj_|XRDmNG9DX*X4q|QyA}eAX*mPdRtSCFht)bAx74Bh?N>1Sg z*<-40OhP);-3{doygBhF=~-_nOK zU{~LBR23E0a{RUD73_Tj?#wRmhoX{~UUlo?*5Ak-^wsSQCuBc}JtMGF_`>Zbond=V zBfVz(nMS(J_AnXmi`|q~)XP>QC7H)5aR&(uyHCqLYfP4)!z;UvUdq3gI#X`3V6PNa z@En8lcrE|gSMZsGf7eqqtp1)*{e^y@c%?iNQ=TiiB+N&1pms1s*h5DjN0n|%_!8C` zeNX_WXVWot^ytdS zR|JdCUAXVtx1tttoxf}2doW3d)f3d%x`+>{lBh|w8fQH*XalI(Bk0DYt)y(fvM=kO7vNYt#cTH-%8Hrbju2<{E~5lCYwGKz;N2$?|$4I+$G{{sjyG%aPUmw|p7 z;76fqUtm$?Tt(2dL{}zFof|~ptX4W(-ehrU(&Tx0^!a%Hx9KVKEji7I%zyju+vE)U z-)~G}o9Ro=A)oB~TX+cp^!P0@`#b%+bcpZ7O&T`P9IOUK+pg?n{M;@WX4WbLtPaz- zjh!Ky913Q`X6!f5ll_3vo$lyHB8gFLn9&9!Mg!{T_F5fuV-qM@8@UM4jCJ= zapqu;#_Gw?7!Owr zl{-jVPJ}&`$@XOdtTvTHT%hNu+QSzq)HhfOEVTmE4mU(riS|VSGB##?CO(ZfhNuh8 zO#0syc&iP#Vx6iTEYKCIKV>^ypexL$Lr^yIH%Q5r1sN9(WdS~*>|+@63@0IUi_ddI zF|h%gP$BLsCS;rOQHUGk{bHz#s295_DYwMKEZ=nmsHb|A_2)wuyi567xxNY1PNBZ6 z%7-KFSp;4;B!HXBC!f2^}b%$oksO*4DzF17{&mBn`J!Q&X4N z3)7<&Hs)oPc7OCgAf~GPeK4ELMH5ct`YBq_BX=!B z(25pPusdiFRGGiG1QCtJE5SBl2_xQAyj7LasLstDEmH;l9=G(Vo_c&FEuPPfBc7Uc z)t8*QRWO9)eek>5u9W?V+*{%)GuNgo@3P_d{71^Pg}eIi7eoK6Zcv(?RKGuZ_|axE zpH+h-9qXFnsZ47&Ag1t=qIa?qeZ`b!>V^yBFuGGcsC|~PL61^=WrS-B8D_}RBEjjf zwwktP)$53}9!UDUYNb=kIU+v-9VyUS*mZFaf(RoPgnV#Zd!;{7CSDOG%$0tG*;=l z^BZ3hFPXB7bCZ3r$Aqgfp4^V@`O4+OZ_t{^$0Q9B=(J|+u(6B~yFY}NvV$bIiI=dc z(ZS&so6V)7YEJH;p^GGM#C?4k^JUS-*CBupN87dE6*K%!C>yOGu&&U!G!C!Wu`LkT z*cgA%?8c$E{{F{#{4B?~@8+IhFA6niw@!!HIC!LU9`Z2=ALoJB=M zNcwgIhb6?c&P{qlEoPQ`e3m~;;ap;#U;kM-!TE8xwf+W?hlv!`Ip(Xo_+;;e{I)}> zoyHVx3xnL(I;+%_)lkkC*0^yxHuExNb9Zd*pXO?)p)G7KQcP;|@xavqugK}yCMCae zNM}YRm;wR)6i0 zZ%zrYNP{WwUf3jpqT3>}otj}iyAx^`^K#ucV2t}3Cn-Z(Pzib?T$tAun(5TC}#iR8{L%b~ydH2!|!`cxKWmD8v zGJ8*t{&=>>AyQNBB$q_i0B@83PJ%%+Dp}cx(*SR5>kVQ&_u86)=eyg?gNWIT7mG>OKgPd zhFWB;>ch@a-|?Ke_EO{an-r{^{Q@eCb8FWH+j%KdQOd?{&J6>&10fxJhC23SrDmN} z$Qu>ZeC^CDiD4mojZy<&C^GiVG z-o$fsbi-bP+B3xaJS7L5N34|L5K+xDPoJ?Uo3=Pzr3=%OWC#kUTe!G2N*4?labUFL zo?>M}Q*Sc)eUeX~h)ovk8e42+huS-hDSJm4Ejk(-1PgAmw$6$5P@JY zSgVY{eL+23>|80#2`E2zfYc8QJ&lwr2Q&$n>}%!szLaa4%fdP^*UrlXtLiP|uJB1F zbw0)skOqy0yQ2Oy1s}v`?NZO9K~$I!y9m4d#O9zCCyO={0|N<#wFwrb=PhDddW<|u zu;|OLrz^J|_d@+nBJ-deAcp>w*w|lUMNq@yeb7U4YNgLyvoD{GxhN&MM!&wdPPYyP z2t7(b2obq2pVA>_!9`zOq@x{7oy4$b>nD|KHR6E}ZjG_U)+gBT;ks3~*o~Z(>e;hw zehy6?Ze@Rr-(coBh*j`&bDz>Y_`?o|mlyGCzVqPBG9?4Mifn z0MC4P-;9M~63TH}S_k69v9%S6dFn#3v>!?MKzT|A$eqEMwI9*MLz9~u+o6)7v0sZ& z!_ zRY0fO!jg9r@CfF7&{C!%!50nZN!HxDQjDV%a_|&PdfM2!hd$(PUewm|zUF~{+cnVHkTiwSn0u$Axqq|zTuOc6$qryJ z-x9iiQ$5n0e-BE1!My>js2<50vHFskZ$ZNvUR!N3eUd2bYJ4^SZS-?el&m{y;T|Qs zEeX<1JE)2xVo==${b0K3YlQGu@HKX4Pr~qA(LzGx2wzD%k6Bj?{*?i4EjU%HcYU7{ zT)7?PRmJ{sBG^eVePCc+DhbCu=6tdYyHP;0>w z(uYWEAqwz8rSI5jMH~Zsa^d`Qso1sP8Pn$%10@q+!0u0+xyA4?PC`Mr66Lid4ivsp`UeSk6svviV=_&UhIxm@O zT{4>}F?Gttwp`eL+NB`b0^v5s5A$ZXymp{@OobP+R()|EXL?MH+GSDVI}A}04#{-^ z)j1^2RXxj+w^fg49X;wY7<0~4I?Ebr$Tc`-8E3rbf!gU!R@r0j2p!;7gr9lRV}`z$ zC5*TLsg$Xn6$5}6$YOROy4?7v>_TP+_Uyv+{=;nH`1 zHKIO=;BCR#Iuq#yKM8-ij+lBDg4OC+HTp&B8){+}s2=_$mwew$m_qmgirr;ECHNA_ z`T%{@d+lMU$0E={8nP0_8ZK4}m@{GL{}lmCxf3yJafI@RRZ=&zYpFuX34J?RTOu*& zGqL!YC^G_4kclsP`aX!tD>3-3v&ws-(mS8%BKioZ3oSMv$O&cATe4c98V-hh8PUty;EVhqd{R_3vd^m9nwb=|=doTU zT}+fcQUo?Tf#L+u_&`g)Gs?en7V#A`!+uiSm~kWJv?g`?VrK`%JqG-ejs4|fuGDdP z5F9ssP_7E}NXpeHiybMu?7m1m8_BkmHd0pBs6!2*Lxv;t#K%iU2V_QC{-$^lzCnuN zro9z*D@|wDPzA5M)MGM<$0>I))WF&v^@DrujxJ8Fe}4RdF3z9f{b$KGbpPE+>A(~I z8EF7qKbc!?5OUmgS?*ym_Y2s2lF}n=ZJ^*B?@x>Ok+qwCH%jNkE{t7p@2@M~1?H7> zwe0;1?W!;Swzo2_Nn0BrCeKH%N4ivpt07JpSYb7B#ZGC|u$sHX7e0{nyBBr^?se|z zmnk%z{k<2^dQ`$MElwYVUePME2vQl5`eg>k!mCrhf{r)87@n^) zl-l1UwSu{p3D76k58Ir&dNsLmyq4*M%1t12tQ*0u8o@$iE6ooffZ}R5B3lj`f@kVD zW;Gv7Ivg8 zX*p9;)c`lYDd%BgLu%DKJYPJK`I47iSlZlFVY!x$$^m10uSGY4BXjFy#VPD&52^5= zR~7XXH7Q;^h#~jZ&h;surD|J8hm$*(L4Q!Ent@&ce**usUxz^dK}Y?V3HY0!MO$c) zY>M{fi!trL!|wjkA?`o1J56IZQ!6t^%l~LhgsE)E90(!v=iyK(#6F$ZKH+%@hwS8# z0s=3F8tJIX1lpw)=TR5tEx>_?%?BoQWu+Ui_e%4c{mO~>455miYQ?;29{rgB!u-S` zR15r8lY!AfFgQ_hRvGd4fkqZdyV!MXQ|j6Yv2r~457#tN|DWG8sfs#MY_dXa@72S7 zwIPCwT1e4uYy91a9~cEAe=Mjf3nbL&$(nNIzOW}#!7pHxi6#)a3Zfd+0+vJ_b!$wE z7Fzi8UzH019O28^vEqOP*5>j9c!ffLs>4X%(DA7(n_L3*mA=(vO6}9MmfGZO`19-v z874eZEOBo5mI94i$54=`?h}!YIA<)hOgEM=>+m0rInUJMZqble$ z0n-y$vAC7}hYIv;TS3wlsg^*;j#4?@LIYl60u2GL?uNbNn#EH2dn17u%qR%bvIWSs zQB^IiUZ|ewEB)7;tRVMz%yZC7Go;?a*`VpzGNS`BL?7t~&Q4BiSe#4#gvQ_3NxGfl zpO6fm)bBIjq8!d?_uUOiaeLwYaGL-8%{eR|)y~KTvXvMA8(aDRrjP$~W8cNm!`ju_ z(c%C2$@(eD%MJmV<2mJVqgLxS=fa7ErsA%*8n-GJG-|>>{8H#o)7j}ZN_S@NigyNy zb`nr6OR!M7hbAxJ9k+aa{l5nkhQZP9v$ zx~nngK1>@=^Uu#6f&Z;$9z2*}MsxH?i}IR81!4Z0B;$?Z${_!q(^?az#}@mUvSr(r zWLx#~>#aPt4ow5LLc5!#6Ome-DocudzaV^uY~L>7I`B|%hfZ2o$n{? zc^D}iuNhJ$mO|KI%Z^z(ZoR$hn zQ(HKceE6?@w-e@;EQK`6aIE}D7`_v*-E0jxhyz-?Fj_2(;NI8K97n#a=L6mSfN6S$ zHVTEiKgYR$?mkw$`Mlo{i?u=&5ZtwrL~t8yCpB!e!g|9gv6Ji4*SQYtD^N^>w9-GRC=$gvwH#|nJioo7Nw{5RnwURG? zN0%>HzP9^nhBXy#6Oz+k|MsmhN}n?6r{>OYGY;4Vn{l>VIb$Z+O_%ErOTEeQ;-!_G~fZ7XF;r!?cwZD|MZpQ-Vh@OD6VEz zu;2vP^=tKW9iX)m3PhVkFvMuDTdz+$aX8bg>oB_B0UXn>c$&2e$wFRuaFb;B7zi9q zO;K~)dPAmobY`ndd&jJRc5_&1rvS3@qvQv0vqqZ!p`X9I#g&juO~OJ zJ@aLmM0xBHHk=~!PahG!?Xn{r4q1w$^wb|H_byY%V~86>@H|ty{008x!-3Ib*{`&P zXYz_Wt_-lOIRzXH2VQgMUy#wB3cO>Z#s-r!o|mH|=dDM%$0Ikz4siQPD=qVn`XSxG zSzb|T1hAUrkm_z(F@^nOZe=j4^1hS$QpSekP-mykD-WM$ifCc$$diz(8N7=Yfyh>C z*{j#4HgyMEK{Uy#I>BUp@q5Hqvw@`zE7K}3^qLT%&ORVD!=WQr+w2S)hp?960WeLs zMq9%zP{~ncU9s?Uu(siUH8z{yEgGYhir{a5wC3T13u$N_hrJjEuKcUAT zQtqR5mp}16S^K6CTRmq$mcmXe71rpwN+HtY{&N?C^LDn}19W}sqSyJv6Q}w2nOcTq z(lH^yaZ%oY4o_H|8}6kWT zZ*0X4hw2no;skek4yjX$%PG%c4^!PKVe~f9fB4!BFJKlte^&81#eY<_JEZ@F@w5Ex zIl_OC{6oh1HO|dPNZUv1@gWlTv}rw1k9)%sZ=k~o4AB(4;ZEnrp+SAM&!ypCMD8oJ z{^SH8TM7yoe*M2sao}I<|7`33Yl=%)+nN7&C2yLBx0c!p#vlF6xZ5AB)b(PaY7rn= zjOpbZZNlIL;z}gM05p0g&ms{(cr+uX{98)IinQcpIP`EAb3-tP*r+00J zf3BW@7r8(7ue{d?L(K4tcL-0vzRi5?Z`pL6{_gmG9G0ORPw@Pm=yJT1Bp?A4!;48_ zf|=osjWsuEw-$@&ao1G9cQZk8C&j?`XTs9>^Nsb3e>rHu$X6zTW63WC8F@_OPW?nk zJ23*j(wK(7_vkRhUaRT*j>aH;^}`*E1_ajO){Iz+_exJ zbhYHe>F}USh01}#(95%ky-?@BEuG8B!e>zddzAtpFHBbEV=t;YYaes!FMILTHP(&E z#f3f6@bfr?q8+VHN8Kp1B^ADy2#qbK3j5J?qardMUd+v8;@GaJ%p}C{=ZDH`tTxt` z20NzOB)^g~+?}*@zIx;)on=Sis%qrks#?7TxW$}hvkdX5p#$}iEO6YZ&t?`bBmi=j z(IxW7HCh64S_3@0zKX@JSCv@hZEG^|8U}uGVZx*#Y_1_tIm(Pq3CF$nV^8~h!qW*} zNlwT0#%}xR?j6>o){sS8DCsy_wbEk*^;H9rayPl3inx~On-zI-wbD#+iFDW~5&;4$ z*g-N8jwBlOJ0QlerLx1$_AsWQ-W*v8@a{P@#uQfe%tSFoYMUnhYcH(!Gv3G}YR+HT z=96R->?xW__%V>4GEGevSKZg8bT|t)601ZO7;Y9W{n=8Yai^7QnUulpP13@9W{Y+e ze3gbAe5KOg%ubeO6F}At@V{u>7eA{r#&=`QSb1U2+&;umJef&IQsB4IjHN@Sz^ov1 zut~@KMA{oOco!Qo*HgCA-`nX-%4AhJb*gAoeU_qh&{E*$;7ce0y-`Kbbe@W-4cC@y zbftG-ZBPCRQODfC;S25wy=%Gm7#fb{q(2nXIlX9C;wf2{Iie-K25IaY^>x80E4M#Z zlf9RA_l^0g%#h+Ns4Jf?f_R~-%~(ybH0}tpy#f4qGrrCG`Ky1?ZpPkF19SbZz>S)J z93HO29tT3hJ_6I$;tk%rhTMA|B$_Jjl|%&KvSa=N{Vb!Ap&Tj$p+hzO;+2ntjoY;~gSwe)d+q_rTRKHMk9OmZ{94s%^3y=CB19Eg zUBc9~0&SSQ9mE9PZ|x&rh*}uNLptmAUYT^tfZCl*mSh|>`6LW>dsvTpp+{`C+t#%9 z9zG^a#YrjbbY=9hz9bkjn>ut!!=HWSkaGFfPR=!0tI<{fx#R4J4XH9YNX}LlM?!4H ztOXYw-d_nTJDD6;=t7JGOQTiraKx5HvKO1}_ zx)Q?Kno-Aje-8ZE+YHo)=&5n(VYHt8oxz{IO-p^cf&b*xmT;{x;wW#0N!to(zOn<` zRX^xA0(p9XT}a)y4XGnOXd~8`!JADM$>?@ZSNKK^jCel4$l@qUUw+m0(f|+yXLP0w z*Nw0Mv#Q6BoXpz`aMSpCjd-bBLQaZKBkabsn%h6OazDRG(;RoCzgq6%yTJZ{RSc~qL8wa?l=Uvq)^7al6dD;u$g#p^2@_TU zn@uT4LjUR{Xq|^SycTq{>#8g~+HF za=Dk=UDny%>fbMYRz^CAv?N+=K^RjUP$i-Snv3)#h}tBERUxaYq>8p0 z;RXyayQizxgN!*N)tJ@v>brdPO1G`57*(1$(hlV;7?X%ngbP{7kx$@xMg^fl&+s$R{d=NGs~ zEBL#1Yo4W|O&ad~xhr%FjUM1NeSkJc#awmM)$6!epec!afavRI)c5-XvHEfw6rONmr}WKUQe zN$eauZNv#{kNjE8SJl`@%%;!p@adayw2u0@k!Jy9v|O7%TS$wwxRUw}`8YMzE6bQK zMhe|4)y`psYVHcvJ&<13{^f-#nq2b|fdMs|QY%6KPe}&q#b$w~4MA8kB zCb!q>i*#*Nt`DuD8E*AUKtDvV(>n1s`4fWWm1ow}a)N7Y+_mJfS)M&tDFOkTa|fH_ z1WUuqZLPcf`uF+J*@PL+6)48wK>c@H8P@-gTNx2^V+Uym3&;OBxuj{>18Lys{){ko zTJ61|8L%SKwmK<7DVXcDWy|eK>sHCjkjl|aze01&j9YT99CVCEfh@(5f}Q6ow#l2g z!D{qNt^U(kK^cC}3~N#t=IMc}@5hH-$9%_|EidQShK7R?_p6C>A$X_`GMyBrkS(lH zjuYHrz+9ajg)g4wK2+wufk?cGB07<5tXI4KUx?(h$4$Tea6SW;-rQ;N}qG>A@P)7S&kL$4~0Mm6?JLAIZXpJ$} zT8?Alt>1RpXpJ#sBR-YkrNtGKp#eaW(_e|*%PqgpNrUA|?;4riA3UvAmYakY1htx} z$5V*n#m(d034$qUWQMgQh!MhGueT0A(zCn~FNTBv#Bt4Hb1P#Hv8+DC?>Jh@RY(Rl zTWVf|ZLCfDnI3p4;*z5(sK-OG%m4_ibL8W?sW$V}ndsVd;w?>sv&jqCujg5nY$m0q z(yvTx@JnTux53l*3Zzqc$zAmDG|3%j!pY&LSsr1r>3r!x2w zeR6_GJ#o*4wezFI5}0&y#@L3|q<(1=t}V<_irZ-S5Rcn8Vr0j-od{>do=#?|?+cPl zXt&rLb`j_BoI{`OgUSuEmXBX?8-=Sr+I2~^^zPtjr&~+!z`|0~a>pcl<*GX2T4IaM zjDGis?72jCL`@0yWT6mNZ46e2=?d zRcZ@+whUH94IRVW9mdT#?3|zmfmxYICW)y`zDHfT2lF`5BtPQhFj{*yK{DhflD&JD zqfX4Y3*<%Bvc(cEgurLmCPGYUAu9JFc8Hj-Fsd=vl~Xat{wc5>XV%Kl*PzpMGgy#z zlaXLR>-yg2bS#_xve@&&`YV~e!@f-_r%$R?8|;az2bA4Zfzy1clxA7DvJJa9Df}%t zmXMX+Cnpjo{Jhjv&%GM60V6xPbibFp2MJP!D@(Axy4#O9?pqf|v^&ph;%JR*5H-wD z9AyryY#BUsZ2bsk&KGLAI*fPq4bL%|T;xShoQnT#ckGKbWK^2*aAZZy z@FIrEDWbGSR9b`89|mu`WDmUkR6~5_yI$E|WIA$!k|*Ros=OWM(1uek`CNspVNldg zA>VpZsZKPvWy%lMtYM0Ihm=3$j6HS>g^#P0-(G#^d(_E$MB$iLIW@U=32VI|-=Ls| z7b)p>bDiPf!A-vz@m6KrFvMR5KihuzZC9i{JVyRv+zUJwPnGM@pmIXE{_X%3e(r#O z{Ri%^6W$CrR#69#kj zcWUr8;NXYWOv}p0Da17ofm)XCZgmFq&MXV)TAOZ*IySHUC@@evJjvW5-kMY24j-5C zDZj%;v2?5Dak?_Fk;Tv}Y(EX<8s^P$+;Unva|*))mmf-4@rSt{DvY zkF|Ez;ai1NvqF5g>*|*vn zn4-3aeL}C`jQ;7C4kyXzKfN9C93~xpZPwGQBOMwRgaRPb=42b&EYl2Sehd5-p90Bs zCrL%o6f02!|8W~H3rl^-x{`ox!Q-pqAa?E}b~@yzAmngYQqilTthTN|-P4leoicG@ z9PD7u^+f^+p(#*jabkTAIPnG484p}P4+HQ zIVYtmv*cVx6A-+Je%|@o^QLS9nT`x#y{$vm%>FE_G1G3b#jyjr$!-jjJFJD|0_-cQ zaV#4NwzR2|uv|5UW zbk6W%$@ttvH^Y@sauCc5ea~*MkUEmV1DJN3_44lXX8;+g^MU1&g$$f^BDwpB)l{?- z?l?_ZWSP~^w21CeEiyl@L=&LaB;R`FhzGF8o`UO2D{kt-oH1{)AhS0}YhrU;`sRxA z3Ef7YrlpgTK^y=1gG>*{KvP!$9zWbZ=|}u}kKv!gtI&P(rOZ@Am#NSkg95E{(nFbh z(>L)>!Lz0+S7&;vNq$^Ck1dzM}16^;#dY$|O z2Y7$2ObO;VidVpq&H1qM@n7lm|5BIygN?xL=J17D|DwzB zaPs2Ad$G(+?_Tn7?*Y&#!0*4f3Vi&_OF+Khz1ZzzIC%IVR_!DA-7SUQFH_>bIt<_! zdZ1*6>YBK~B+i53jE)xu8w)uLmkVU;NI-&wE`3UCSN)){i-nJcmxCuB7zaQ8m1dlmTl-yyeuY+U_a_WvN9|3l4JslLbWy{(fE^TohA_5W38 z?;`5QEHRPo|12?Ka0_#jrsc8dAGxG4aI5yF|mQ4}vgGX+;{9CQ|VYR2(JNsaMw z;xFy2R4h#T+k!N799^MtNkK_LQ6S*h+Sox?<{(YjT0!J!V0eGmyEiSQnggtL_}|w1 zkA0iJ>J@i!adZ*=e{%rUXZ00Agpi?bvgR@Ce#_R4VmTJR?Lk26pHV_1=&}nWVQ^`Q z6c#NGz3hPSr8-*`uU##Ce)6*Yn0}f$#?o?v)8w4A>lDLg@){u9rOYRL=iY;+MhPfBV?DN*5Bxr(c`yr0Y3fZ$Z!yth*PG2zrPCnuSYyk=+ zgoJU^A+)>2n>GKI*ctWw4fW_JJSrDPw^4+{`N z4?R9~u8cCP)1e(zgX!U4oyU`MW3sBe{`$ka&&VW< zM6_Vg92?oLs%<{>@I5iQXD4gilrWv=hiQZOyCiuGt8!O|AwEnBV$YF7r2|j$26;+o zlcD0ZnE!OC!HR%!wcDgPNpZ|URx}q)KPHT0Oz2zy4|f?WElkU_&aCgl`B(5@74w@a5 zH13N{DFE(rOxlh4VT^3QpQ~xX8W`l{aoi##0IQ)BMZjyWuQ-CH|2jf;!*h9mb*iic zno#JnXwxR>&PFbF9m{d0q*Tr2bFm}?sndvwUBjEw;Fss2E@%NvxDmm4QnO)wuh8Txu~o5J1l2RQ9XzJ;27+*Ch@hBa3rmT@Ab*f!FAb+x zCd~{H=el{14eoyLoNnA)Va=%aU<7Q_v=#$=b7st$EMUaZCDwcQG*$`LSo;P!$J<{_ zF_>ztU#vB(f-BOS_qz4|@Bfb4p(WXB;Ez84Z=1pY>)kKsXlm>R><9m!6MmS6tt%Q( z=-n=z&2D!Ik*pFuUu^_UsVrHY9xS9wUY2T8q$PGrxmK#1@+;F0_K|T1!;yO*Lhx(+ z`kb=_wTcpY16$s0$iDqz!k#(4;4>C}K?}@AYa9?Y`tW^eRbjTBkBO5Pt6IJ3q*_UcmvpgEf+BS~cVJB<{wCfJLmUdJ#d;z>me@jAhzrKsNA0zi*L;J^ z%FIrgUF9l|rAulpt{@GuP*_ksC-+L$(Ye%Qtq#rh()n>5W9lfuAsHv;yeEx0e_EN( zPOf(NBzuDeW-UQ8d6jEX{S~t2r^}LM1ESMhuKvX~c~Ses?0tE0j;Kuc!0e+pM+MC( z2}i~Xyq{*PZt&vy>)Yzu{ddXjUPAz>Jkk6e1jTn6aYyTf&@%=3l}QBD;2>53UP;$c ze~NUC6$bJyAF1G$2`OeF{erqNg*6g9(=OH%7n z`hu80EZZVijZy2ALVL*ih(D~G7-} z4v`?i(j0*SRK;3r*(J`!8{i1nCOLD6u>Rf;jD>j^@5FlQa_*0Xx+%m%`r(D0(CMr+ zN>ZEZjGge)3qHqOFQIL?II|8AGCFn}8oQ+RW8X2|InBu*TQT~G2B&8DL1qp-bSzoM zn#$NY%oj~4L8_D9!3>~7kH#2l2`D!%z29}<(2zpFY}O_lWA)Yk%`bj56yt1C$T8hJSGjrwVD$MB6niF)t9|0WiK*CO z;v0#$3&R&pW@k8>a3U^>TWLRx?NR_?Z2Vb>)fQ)T)ONGLNJ>H>iJPy|bd+Vx?~( zSGLIqJCH{`-ilP>Z^=ea`g=nn{7 zrC%wVilzESvWP1l#Sy2INZ|@rc_#K;47hGUv~ww95+V;xi+Lq63s9#lhi}Yr_6+cx zXC?G3$@&gSBR{Z^8!#hdR%Nj>Hf}yr(0ve1`d4{~Zdb(K5l{kT>9?CA`z?Lmh1dmA zhi3l7a0klT59`_wH)J3?=7n@xL)u!RS#!Goyy0XR*dXVe9(#kk&8ONjj5^>F5b3|q zdI|Bqqf-7*5BIEz<5B|j{2VyM$JC=YuS0c`REJ**XxCpZky1By@5nrwJ1nlQHq>0-~B>(s2 zfou480la{l-Gt{9=+_ovAGz@U@taQg-Xj=38pD7z+x+Ci1(P^SvAvcxFNNQqln2L$ z?HlmDi9@`f4m(6Hw^I3l85k}Sd4ZP?;1LWE?(HJC17W-IK}Uh62oe|kQ$+(O z)KPW3U_GF5MM7SUO&d)iyMyYmYkn-0VO@17-x^t%QBUxiaYd5`7d$veDH7*m+1jBF z(l1bWv715^US0E=xBB@NE2eluLj~1mrw~KsTZfjSb0$GE~F2eBfu1xQOj@e zBYvNGfDVx@GNPX@xM|MrJp}8hW>ObAEjEV)&0_UTn+PtZBCchm$zTa>+8#Zhb`MsX|;!0XiS$6>f$HZ;O)`j>DKWXSIcc)uTSty z$@Ed-)tE-momMLC*WRH`?ZP)zU|#I}3KYXco*n4SQeDVauAyqSQ0TN!R=sdl3{3fL`vmSB zQq$c}HG~$;r!bSRlguPChMs1VS1p_n6b~^f3&q02SXicdRz93R<_YKI@M=La zezcRdM?LMKqLDpkz^`PjMtf$T2vtOR7ETQG%lFd4{}MSJ?4tA;{8ah|2%<4DWV?0f z9UBOcd&kPiT8;NWJ0>e^yy=9gR!XM47C$?uWE`P@++w~h7uqC6?kGw@FzSwxdr#n( zr%^SploR!qJ5<-ETn8WXK4DKauC_}v-4lIoEb=Y?sa_t%v}b~bRK5*T@*}>7ljo8d{jgsr06K~j9lHJ8rJz)@Vi?%@9g=2U(SbZt;yV7Wn?2-kYw`=(&ncsUa~w;>{MGu;fn!&-Mtpe5}CLj z-y{fP${H#iCy#WcJpzB^VwMhoc5{=d_U#rUs5qT zEbaW6 zEEE@yJ8Zjf=25<8m_n_<`eiTAaO6akBi-ud8jNv#i!E>Ab)HVYoBV)2s0cJ9>r5<} zTJpOgj=A^wL*D$J4}<;L4P*9}Ax}KkPY=5d?(zZDwR~V~PS)IPC5ZenK6ujbqEcoa z93erMFMJN{`<7}7=JGXO=?e1TCf|2U6_D5Eq!h@In{{Uz9^>65_f&jlLrYR1sl*Y~^%faelS_Rh&SH3?Oi!#IPsuV_ z6cmJ4wJ+a$Yr*q?Squ0?$9I-I0z&uxSdwWTq&qm0k9D{u<3H!$J)L^_g1lTOfl<_9 zs^cXjnBq-dpm1T#zeYV5FrQ|tB~`8pQW}S#PSiAQOed`kU}@xFok93AT~>3rC#ei^ z6R;EpYkp5iqRW<-cxPG>7HuVz-+G1fRdTBk6R8*w+k4_JMx)p&sD` zdv8y)KB}xrBz}qVtm#9`r>dnC0Buv&0npXsLOingkV$A%^D4Gl<%u7i9Mam-<%m-4 z$*PSGrQUJ@r)zE8`@Pq3_k8Mn3k5wj@rp8R%>tpJ0Rkr?9j;Mk3`-vqTlkm6lB-_d17=1Nv- z7iPgI2K*6*+p?urUT>=A0PO46D}RGG3NXVRL&)uQmXfAdZ+GOWitp1mEAo4CTqAJq z(R7Cv9?hs-L9euq-f@iH1YuqwYaitjyklvpLcD_EzfXD^%wD@auNQ6aSY~F{X@4*d z$>3<%Q{*oNTgu;Ey_g^z8dqZ9ROz8t`leQkq}HHLs+P4FJ)_Eo#S9K*Ofc#+l^3we{Jrac7q+DZRIgT3zu+mivv99zq^0S5b3b>`ywajn9w|$V3VD z-Miw%P*lTCEb`@+V;Z;V6c4KRWKay$MFr6b*Li43z)sqEZ;ctX-{)4UPqwPR=^~M} zWE|bf0lq2HfA3vS{c*rcF@inv9PJQf06C$leY_`6m-BelE!Os6wXWikA5!^yGwcv* zZrobc@rZkC%MW=1(bUy(nOq04_(-UDxpP-(LU*R(fuL20Na09l7jK<*<OWDuutY^g05kSz0bmpz1^thUieu!Qey??J zVkSL_9=X>*h`C*DX>F<9T^C=L*A3WnQLN*bh#Yf~^!Bm$_V1Ox%fC?K=uU|eIhTu_ z;XxYFQ-fhrZzF0>rZ;#E-8j&29m!!~t~^ArU;CocX+DxKdcV6cDQ99dP@}#MiA$a~ zO;~OwfNECXUJmEYgl@=}`7V>fJP?Fj%5qQ*BbxIhNMTuo4O%0v=V$0&A}u5qF;tcx=!T>`l6j1Y3-1|mBubQ_yvAXp&2OB`Wel%TCAn*Fu?h<6rPvvnRcQHvF{UP4Yt+} zQu0r5PvuczhM*BbENf$%-lXup&FTcwhGZV}KH@lrG*Sy&y#L?Kf5S;*3Q-`u#{F;M zwSV+?{_9s!bovWi`)}y7dBS%GfDruHAIj9!R$u5Stdn`>){e#|4Gb_9NOH{b{lxa3leZU1!h@r+#nz)*TcZXB&8*ZV+e| zdH!`1rh}i~F^~;t9n0JhE!aJZg4cMZho(c0m|88qgYxTU~pqQ0cP8YXU`JQCHsTSpZ{C< z3D&(@J_oIaJ6$_(how93CG-Ojb%a)qwMMepHrnE;R%~lbnfEF$>C`xYv=Q@4pF{Q0 z+_)jBbDG>cV??=bCthl(O=85@;%($^kCtVT=4?{8=JF0ssV$klEB6gRx%w5PkRm%0 zag}uy$iU4{xuau9Et`JHQ6%VH{qpP|A#Y}d zWu1LHS%!_~!>sN?nKeJZ*Ih3j$<%73bYMu`cTa0#;(5}`^P8&ifg-PDFFTB^5>IcZ zoyvkzWhqvgQ<5K82aAJZ%*w2ksJmEG+Ph#EKyd0>$i8R2Y%;Rs`4N*&`^;%_|NQ73 zRMPMceVR;k8bpUvE!aA;iy)XwYczb|ZR2b`kCIuL)w=CEk!1ZUz?&RpD@hq?%aygy zr>909MMBw#ZV){{m1b0Q<@U56(Ah+jzH3$5R@1V+Hz$9)!+7MH=^ZrY_6BvJecc%2 zx#1cpYKV@rZVQ{7MVIth=VH+igX&YHG=eH==qzTXd8OBBCU2d`HsIHAfg>7wFf>_L zst0Wp%SIod4wM|jDAz9yWNyT~!C3Qq9rQ|XwMY8^ z#UXIDM*Q3Q1+9!(zqOAj`&F>ACbUU5T0Z8}Aba2zi??};nWXt*H=FFEn3By6OQM=W zH_(7LA+8$+-I_MG*pwS2$lT-NI#KEep#;TU+gzwu#GU#?Y-X`p@Et-TO?E&cRdGlL zFb|Xw3S^BCj%v(+@&S1oRC#U4_)j|p>WHrI)0|-vACz<~8=j-bn4b5m1ehyRALgkAKlod2(K+J9(d_fG7^Q74QOH{;if#~oRE;@ zgd?Jh)g4^zRUR58ly}>>Jy@NSwVv1-K~i*jdD(jW`FWh>`+ontd<|}ZSdK`FOfN+l zqA%fJgdZr5q1{rr!+I66+>Tg;GSWh(a}};H0$q=IM9i(HHw?XL3HDZ7rL5h*5Y}<9 zHpMOI)>{M3)(P*HTprxMu{!4}P0PAYvPpdwMX>cpZ)B5=657zR zNpb0csIy_3Wu8_R&n%Isf7$H{ofb`EF4j=3%ADbW0pk*Opj zZqzxLpJGM1ct90qHr%h$d)SBMEv{K-Z7TN)vx$WS9J=57y)O;`6M1$V5bQCeS?=!`98ugfp5 z^H#+cozQgB_(ZyB%~@*p`AJ2}XM{!qPC0^Y<9(%MlCe6tzKWhC+rqR{Y1gKA9Vst@ zP~@aO8sLEoSV-3lwJ3c}G*&0=@HAQfp(BMCWSy6P2be!C$ZYKvWLLHU`6phab^`cB z4pRNeF!tszjcti#5?O;E0lY4$E+9f8Z%lprEMhD|pS8%g*0E|B(et{~j~oW9f#X7m z1A($$Qr*QPVNiP%2bZ@<}G_xsLiLSO>+u6JQTA#6r~a0dGJKyVfxzL0ez1EVs3}Y$qJ` zG9FkV2Jze;BE~j^q5j3$Rq@_`z)N-do#!GI!fkd)ECfcoXG$J8yqS3yuG$7B|6viWW*rf`b3TJXAUV?$08BS;vu@ zZ?IaEd#m{g2+t9dl#pB0s?8zi5ztsuTO*7&wMqk>+N@YX9`0h@R7OlkWj_Q&F!{&@ z_AJcGo`DVX_1SwxL~-WlPraZIJF=xS$6NjOYKeB7;yHHpea@(V{n##y))!`*YMlw~ z)v)S;$9uZdU-3ggvw%NNf6qieWPN|39}2byBh6U39srWTw%g^GayaEj6B6^{8l0AK zRQIn=fnpN7TdY7T)mX!J*rlKIVi|U>LxRj^YGemY#45rW;mm{E)YFKI??sT79v#I6a3&C*vWTmQlsLsk+Bq}DNR*bulms_} zdK~O;2Mrz`Rd>T@RJp1oVMY%R9^PBDKWkJ^6b~f`%aMl%=nMQMa>ZC$0wqY9E{-#Q zcx5iUw8CJ$I>(uqjxeJE;$&)L5>yJj+{Hsu+@MqU;1UU0^E(09&qY*`G5qkTCmVkIO!-O z_q0)E@pwc$=8!WWXLT=twy2C0(qU;qMG3WJvT_uv<_R!Gbw!%pTVBouthXfv{EY zB%#+$IQUI2mJcPu{m0%A2SPdm@(wnv==)ymY)yze_F+FOg6kfwznpstV}9Jb2$Ibv z3O1*m)Bs>q_(`t|0-2q{00lSko<8gz0ypIz1NT)A5~0jK^mYb{9>)y9o;dem&pct) z?w)C_{D337V4KYxPc##32mYS074pm{U#Luns=28;Xa9m#P4*00rPUVrbPeZN#HYe1 z)QJW|sG|lYPDJt1N+2NZ3@t@);O|d6dn@0ZV1iFAM}KQ5TbiguEi=Gx5ts zS4_qPqm`z-xC}FiTC0IQw%i|cGC78Sas~P^NJ&%15IxmcsYt}v6%OlDa;MCQQM0fi z;PiRCJ-GnbXM(V55l}aTxS-BzAU>8sZBrY%h%YJQ+h9t6v%z@7qB}P8vfY0EtOxgd zM#Z$v-PB((195t#6}(xc?d=1j!n5jvlV{o@-(kE+-nntl5WsD`KBu)Uw5RC>F>;^} z)xaiJLsTK)PnHL_0o9DuJHT$2(&a9v5I6d?GyPBi~|N=^o5J9#RbqZ^@%WGUtVluv~g65hf#goB3hNR+o>SeZsXB* zA#)jY4|ocA{X1yC`LsJJ@u*}PuO&jHyO_F;I4At9j42U^G2{Rj~xM-gT`k7%_pz@B}H?Dc5p)#wa>;KxNVQ>D+llq z%65Y`wQoBX>^r95Q~Cfd8M33Zcg?O*LhUvNmGCim430jnU+M+bEB}O=G^cqn>stHu zk0i}iit?23yTvLE^UoyhpLE{-wE4eSr2pRs?fc*V;)A*9JDBVLKM1}5k%#)vhlGr6 z-1)7n{wJF(QeIm2+n6v@y$e|WTPCCjNF+dSMkfN79+N07h1sLW?zSO8TD^jX;&WXfzJhGfF{f>p!h-|7=+$Y++2Wf-WicoeI(u=~=D4@?mSOlwI zy95`B#p}fgha`98B4>L{3xlgH+9-*`$-qs$QxEy%5^Rayy(4 z_})f^`!QOAasWyYJ~4)K+f*>~;00IyOn<;bGDSm|)xbn-DSONRB$2etaKRKVKwtL- z@+u7E_g`v(JJOF@a+>)eE+#LOLKgUXU?FDm!q`jwX;2r_x`P*81D+b=E7RS!u+XcV ztpgoKplz(Kc6ZK9Gq$4U0HPwuH;kOBU^tDGM%HD*TN1^BaR9E!y7aO6#`aeO9#7bf zG4{LOhWLNh+Z=ztJA~c-@(0nkvU2}x_}$p(f6u;WDsTQZDE74(W7JpCb#aY)NV{kVF*Z8q*Z(-IjkG!A`NjeU$$53|DY_N z8ayKHG)ALPFqLswvbuJZc87YHR*9aY8S{jwiMS0f@~2K2rNu=nB$dwVkYlc?`B-~h zWpF*Il9USN5IIq_wq0UuTGeaZxi4XK(cJMwzg(d~^;ro7bkZc!1i}=_6^pdCvc?~? zH5CdHnWerWH}MHLfp4)w5!K5woDv(9Na)R9^ByuR7Yh1AS0oudz;BtsYzI(>#jJu> zK29`N-YTkOmk0>1#tJ`R98~3Irf2v?DCfDPw{q>R?G9L`R-ICcLO8U*i_LgPv4Zh+ z;@3c0kiQ>cLXb1iGRBB-M^Ua(P6WRn({ME4eiO9Sjw2B3xsJPE7NnL{odJ!+UX6x- z;VaE2b2|0dSQUA78ieLguAd&f}MU#_-R9#SSf z3hX~u0FO2h{~$f&X_O~MiAN^wXvGKjZ*tQ2g&WI?`*>3aYwRsjD#gm*|9;|I;oCYl zFJ*NX&p(0;H+VR3=LJ21xdehI@&Nr4vO{f;us7}Z^>za(E-dJg^|Aoq^NajaFGrl} zC$o%eLzsdYoZ5zoUR2PIV=WTs%IXAl=dDnjVl&~GLoZTxd$f@1x!eCLC92hb~ zXX30LsptY$ytWozkp|LOQ*MUfudsvo|%RDW;UahVzcdl`0#!(wZR>U?C3x6{S}6+ z!zgO;zws09?_t%yM-uS=J`9N|%l#AQ`^!rMNgVl;(+@g=C_rlfNru<$- zlq34QolZXpPG(C<4lTuPagaSuGD9w@Dzlcc83h=lkshj`lvt3W3%(?V&e4?rh#UXu zfq_Y=WU^@$FZAz+)?=PD2yR(qGHuz2>{>~2nTzA1$MA{aVpwG%Z?d1+FLA!m*}>^47HRvt8^LLwz|=wKg} zTX_(@9J~O~C;e_eo)yWKbd!P&QW&j%=b+7Ppksm4x5Dwo_vgi_M`_?Lx(qqwc>NeB zZq*n4xL|Q0)XzD){$G*l7I7@}zs+Hqp(pT%XI^paUHBn&jM!UP3f0#L6Q?T>9YOEV zjZU@#VPKkJHslXc?2`4jmtq)Zlg0Mx zpjz+sR2+htxi-TN6`9p(6p=(suV~|(+*5xTJjewL{wdkSO7p?~;fxgt$s9euF16e{ z*ME&5`P?n)MdE;szbcG|cN2J^*szbmd6Ut@FWUeed?N{LBXUEHS^A3s6K_b5Xu_13 z@au!IuH1~G;7hn8O2rf7b{F$I7s*9AGds7a=Ep157ljdl;o{3NL^07v$^4C=flzL! zilfcqMCbc%FyFT21k;Y^tErw#ZqKQY>Vc_VoEz`Ozm}XZO;xtXf>0M>=oTQJrs)<= zy?T5@TSkhboNB9NI4Ar`V9eUdi}TJQ^plXhs`Zm`((Z@# zMGV;~52FtmwiNAik~(elOrp<0@?!KSL_ymO-jo7LTc*s$EYefWDBU?qG9t5Q=rpKW zjmPJ*AccwmpWVxd=aiS(d!3iztRd;tVowG7H6#-S$_hQh3Ke171TT#K)MLK{0~x1X zYXvcH_0cz*)u;s;ZW>Y%#Bggm_hGwiubPPFs_M|9mY|~p!erBS;wI}LrjK3ezxHjt zNJlb5f4o=7p}BN(DC^*+3#j0^RzQ?}=UC5F)N!kZ!0H202D#6%TQ;?op2Zu5%;PF! z)?TNI5tBg`9DY{H^{*RdK^Sz!P!nGFuhWQ9#h1yx9p{&!oB}M?NtTdM$6|*X{|V;- z(-F!9I1G1^7{u}IV&`aVx85V30+a=>KhnfQfQUP`;8BxvzlS`!97`CP};k<^W0;m>s{N6bi`Ak=$iHT3F z&1wP7tkdd!8PRN$B{GNx6yt`9^%KGD^O^jG7h`6qH;M)Q+KI6z9e;;)-rQ zw)MHH3&G9xvKg8>Z{Nj+0&9(9f?31Jw8=0?lnv+_M-Usg>I9ck)~s=iaxnxNV`R9lodOsK$xZv%$^msuEUJ+^cAvXC#24c&r=h1BI<;_ zI~K(s)J!~+v`9F#x)U`+X(-yahMUFZlhV1pw$GY-8}&1_DBl_BaTIpgdEHTj)YucH zI#CNi$c(IEtPB^=e4DBPD2jI>F?ei|Ex%m6< zAYumgKTr674n#joyPwbg3$NK@2zW79V6(`Ib-$ zs;(*1ljir+Z}VtZYt^o>Ubakp8?vah%hxGg3QJ@ZtaH-6K6@>)VYy4MGSr9^4sz>l zTC1{Y)%2+E$5^oJIJ6UV{YG~z8s*fgm(CLJ;FYx4ptl^TmV&M@J)y0F31%In))_Yc zq~TOdC0P~6E^D^c4&O_++rRpBVZO*6jKrCzUO@`7XRaE=Kt9n9$|gvKCv(AF*%udW zTRQNsvpyUpU8VHFqLR2yTQN~bh@3zU`(Q_pI@g~%1PjQpwrHBS7FoZ(BK0Y8I=W`i z*1Ak5?)E>F44;IF5q{8Yo5r+vC5iWyz=kujfJ$LUJ{{ycMlu}B6f*6*$tXlD<`2fq zaRJH^b2SJ`DCQEjZ_xid|%LnK1<|7%m%YuQ?=6;RBbQVkE{S0 z_ASPg6ofbj$;zA|8b-Wh?Jzt}aLWJcVo0^J8 z_@vhL4d*R8=NW-r@Ff{O-#&?Y@_ER-Lz1Z9(=EFLWDeyH$rIw0F0i>@+}u%9Vl3VF zX_s*8X%Qer=*K>iF|q;ekM-giLO0svge-zP_|OYLPk=*;ylDDN$+6DC3#33De3wAi zFb6Ojgk!|R4u0(Mk-Rey-u-@1zrhRYS-q``jAEVW39uA6W{rF%0@-}6o?ZH+v&#kY zB^)@uL(ivM@DsBpbq2dqBi)~6F#{WBLAXOrjmXOYq%2UIy#S_x!YWo5l!F- zBhzTHo%y$*z!JEbum|(+iVmLHK@Gg-4uD48%!6KN03Dz3IaI4>aOdXvfF>dH*)gsk zY}c4!lBah7FNQ=vQ0D6e-r?jYCorGnB{?kBiy!d^1ky`t%csEQE7fD4ty0`J*cj{f zF`ujzU)~H-;2nc8VcH84+~b_(Uzx|=?vl>(chI>1{~I(E^leOy|0QTB|CjlAbS+O7 zw;kdCAAZ!HJaHff<+!y>%1?d4v)W=Xek? z>yj9~RS-VN+s)g7$CdboSjK0c?G4AS<<@=QulIAj7lv?YjC?mfe}oLQ=vQ#m8@~u) zE%>9j6`Ei>h6pS43 zn@S7Lex+XebBxB)B^S3M{e|hRiG+;j`%crvYK$R?L$BJ5Y8$J{qvfWsLW{1JA$Y0{ zrFDy<+_OiiK}MENnV#H=+-7R!=B33UT37z$YS-M`Ln~I*G8>fT5$#Ex)2Swib!A)TmJsWOg`qYJi$0eO083Fzh6!kuB~-BX$3zOl zt~?fM8-<}c)@pOYvC{$kn#Bc1kbIruJqPP5&HGVq!I*HG{?cRiX?m?=mD1+)VWd$a z&uhRC`N%lKRUTOjIBBPrMNythd4Xhg=7rxit(rg^egj49lzFJ>-`=H}y9%ach@-L{ zLA1Ji((%hm;kHad8er@}OrgE|0k{a0UmV@SnbxjKM5+hIn}$ZfQqVV7HzM)rl~Sf34`1E6eT_|+Wh3R@jh=p?fbYz(^A9i|97Z!Pc& zYP~mARVVP%EGy5d>))gE6?@7*Ro;|g=UaA8dwCk zrS$Rb=|>oQZ%^>$lztXdwEd$r2l1l*M;v=^U+`r3+8vL8p%cdzK$k!JbKBsyFNU#W zBKV}Ltp2rTh25*oo^LEyHC@I`Oo*rI!M9+DRWVlzoZr6O4q!y37*FVeN>4x&MTT|j z6g)k(PShSd$c`Qn`l{OV#6ml?p?73w7t=;x0zh4&4A=2Lee3HvXG2#joguDQ&}1*R z3Nx$IPd!<$TmPB4u$5bFk$qzm9RH#g^Y57p(cfn-{{Tk+TklsT)EC(l!-sTPDv6-S zA%R!`6mzWxLS2BO@n=3k4CbgGjGUly#)S+kl8b3meLcs5M>B4v=()V*;vUAd2BP$m zNU3Y%*6{ZJ^zk3kVMJEGx^Ay+u5C}g>-SD3+mGwT^pYWj4>nM=c+RTRk)fCXwEbGV ze(?iCH*9`rxI8`lgii8tC7vP%q<-qH;{87i%=orDKy`fbvQJ_Mkw!$b)s` zg6Xi_c!R2UKp5_nf#`;ASiClS*q}Rz51etfnQv%-wo#|I8E&*W{$x=*a&}ekgJG5_ zx|HO)_rNiVbJ-S?W*99^V`ob}t>wnw2COP#T9AGK{@w$Me@e)lSkocpKm@HyM$p-U z8<~G&*~lDQ`z=64(G{s1i^ekUOz_#$*jP~c>Wtn=A?*uA=8D2 z?ZU*!I+$+Wr#jn(*$T^!$Fw8`%h5mlNo^_C>?0wwle+1(!$A#6rUe9srnxxZUrdBw zY=vX}k@>>h^Wv!>L6d7l%6vuLuQInut%m8LslBq!!MQ3X7h+VfzY`^pviua#QTC^@ z_D|&m5jL=~0V43X4}8<$V-p1#UMFwaJBSpFUaFT;OPQ9Sy5qo61ZSbtvj$nKG{UHJ zvgx&49xdqm!5Dsa7nx9SugK<*2hT%9WdO?tPw5=r7VfaN5+G*mvOuZdeX5h#iG`B= zy^$LPd>8lOI&B+W_MC~@r%@{*y3h(T*;K~ch>MMiQYSCDp?LaI0nTLMm`}+B=Ty1% zQ*Ok_z&<(q!=yg`$>aoCG_8YArS847Xu;mcIW38!v>F>ANRoQkiS+ZbI+-raWR~S} zDGR!agr?UpnB)Z}t7Dz!m1ku-Qh)!*Tao$@n0JI3Bf;fr4%110K(a}9fY=^-w+aTB zukh{_c+qtxWf$sKAEHuE!_lm#)z#aqIq=9ptN1lL3*JLGRm&UJPchwEeuxD6lGUz&n^_7A9CrZbs`EC>9f=Af!dbjKqJDbns-rc-wIrN@eD{fYF& zcx(GXR`zuS6#1xLy>qid+^<8^=ke}X5%Jy&k7dXrGuY0K@G?L95Mi8QH$x%RZ>_q% zD^Y*FW9^qw3uRNb{5-TN#ZV)dJ-bk>f}5#Hh?PncC=;bP1mS;2;NaJ^Og1qEIn0Q7 zNFm95o@Zfx($XJ8(XG)?&eTrsN%TO3dtAgsB-mC|sY`kj<$U;Al1h=$9N^zSEPdqN z-63qlr~1@1YwVtV4_T2n_Q5)_HPkeQ&9LxO(Ad@QQr+Zu381sNl2EV$eclg?Gnw`Y z0UEamrP15)L}t11zlhK=n zm=YbMWTtKG4)wP@K|?39Wk$sccDnE3P5K$X&nW;4y^%)@qme>crl7(l_TbD6)a(4~ zG#X&`yV&Ni_P$QKn!qLuqOx0xWdxU58z|T3sS1C;BmsMJOyb8 z&*gy7dE$_)su<4@Gv{QG*#Osyoe|d~33yq#`ZP~Z1Axd&5@wnlcUYQ$^4N>~Vi)^X zK8MimQBF&AgU5}(l)n63GJQLU)X4h4q+c2jsA%oUWDD zu85>rcjl>lcZj7|V{CL1Zm?v#=N?9l-@FZho}lad&$M}!h6usId!a<(X1)M0_a`Co z7a9EoapfGu7;gxpyC;-Z+KqwMu*1{I;+w_vw#cpfVOBZ=e{PXtAv1aLITs;q0GI;A zu{B4(fSVj}40QS{{(x)<=5T>Kpy~6DUQ9ErBj0BZpm0yadLmr+O16~Ib57A(^^p6j zDzU-rF-Vv-e6L-xDojO2t|?tjCax>uxeW16Frb6?uvx>|m0RBb36h}<*Lct(N$!13 zB6&FuPgtW^=81CJlaNMasj{Gn5XSUU0|Q;RT?vj{Jjb{`i+Xnw>LiADVQhohezIgM zf8)Qp*T_G>zrX)}_|pFU;j8HM7q#+#g9gg$4(m$D+QUf|E6RI2 ztVIM`X$hoV1tYp?$ZAZU8-iNcr_BhKhPFhljK)ecemw=wSJ!9aJWrfI6EdgH^%;apk1o z8L)1$CuuZdQ>ht>p@w-vOAJ~g`M3-_2vt5m#NMQR#L^JcG!I_#T&X+YfF*J?ttj#y`o!ahi^|jGy;iygF7^IqQvdQl$UVorXUMio+zIriGyK zB!yo`6c#P?s)QXg4grcZ_~7IP@|=@aU!ore2W4ZiCf5)toU^HBQqFDDUM~f!{M^V@ zgZtcmy*e%GJQVVIkYkbyUA3O*qUy$rC=K7k@2w9?e%{Y>*x9<*yyDJq2bOs2g9@hD z)gSZEPj>6w(5I>!ZyQAZ$-ExdN89OKjX`d26sI4MCJdnz#4&}+{!8;Q-Rd0-@XGt- zM)iGMuQJOJ^s9nxUE<}+V@6KX2|hqn6m&5!B;4MqRf-R*0I1+!q;pQ$g^9Sv`!o}? znY-2<-))*x*2B@xiZ{g3KSna<7gQXLxAzoUlp8u2zeb1X5#)nhZ*`!T^5^Pa6gY~p zi5{`hB*y7-{sfL6W?+KW6&}u2i+x0e5=^OFI~bLs}UkJon|P5{|T#c(n;& zs=qMfak>f^0jL`KE|I6j97r0Mefefep;yW`dW2*~*U8i>y73K|w1_+sQ4?taQ6emh zc$-7Na1z;GB-R8>5oU&WmNH z{Hi3J`blF850E&)+^53e1)t~hg7;U^kMzZsp8Q?(%lu2x|L^*9|8e~3pIqYqmXrH0 z;=hWe(zo>fCoD8Hv?@F>vh@T!OB7Q;!;q+E1t<#9BsgYB*wEVegfTkK(OxDO{JX?j zk@)s?a*=p?my|;MP{~gN!|fE&?Q$xg+MVHD?i}y>73b@sI=BwaDF%Gu^}%1q8#@yP_&`UqZ1vDE zn+6}RzuP5a)VkZ};LB1qyX0}JG1aww)|)Q&J%xu zT~nz{IcRh>Gz<}t*ZSL_%hpqI^HgJHkPiU|2wTFXEbyJzCdnT(?>H;h90EnL2V z!BlBf%v&`q8adUFy5Z60xF8mdrP6e7M{B$yTA5(2mZ00olqkO1j!Y?-9!380lm=m8 z9#Y6CqHANdQUm(9+dwdsYR}^>)T~hV9K!3#oTzN3TQZTj&BJSBgcy}YllxnW;ZH_t zeY@5QMSVS=Y4ov`0NXtIf)mThnUmM8{74yC2hm`D4(-cE6B89BAGPkvfxkV-u-s29Xf(B%a=es9v1Xffo zazjRrR{3T{K}^z25z=8@qaW>AE%iKSjwzx!LI-+_0WFx;Z-zGVI`;|4#?=mfNGw69 zOEobBkVMl6$E#KD6O>#B3c2)27+23+`GK}P>bbE7{>!rDZe*xg#;GHPq}WJz2+hI9 z-qxwn;y*>F9`3}l9C{}Z!2&aW08FNXk$)&CN>T2qOzTUQYM|O#I?xu{+qAOUO#?5B z89Q|QeKzuYdqRTp*((S_`C;frUhT5Y!5*E~GMEwh*P%I=Mg-tEA!5PL+!uYcmTm~E z%vM65&08QdomI}lcv@o-0O~5Iq0^$odn*hTXBzy80+9>w{E0SJ@0k%X!D6U5Jn(>xdu={P=YNaTd;-Ax6od{EM zp|ETCXTO+cpTdH`?BcKsU(nZIK`w`3VEBgVkO>7%XxYnTXS`L$9*a^+!I)Z|IL*YS zTq4@UC5`ZUC}8?SEMG``3U`-ZBKzJ7nax8_Y*{i;-0HufVr7_WaV4E$eZH-k8?KCn z8_$cG8?f8{7--*th#)?Fk=>`}(@CpsDE7N;&?$8De$?s4-!`*_n*$WZlyJe7p}Wn&?hyB|G3$ zXdSGXwpYN1oM>IBPxq*U>&DDIg}y~dOrQYNs5!!f?-&NKYV86Au9=2XU2C_xvJ`=M zg2{abI^Qfuldu2OxwP}Hz0z-h-W09}U9R{+cBHpM&TRv|-iw#Jny~6jQRN(f?zpkJ za*dX2I?rX}QR_I#v`*?cioz2++Xl!MUc5M|Q3Zs}n!E#lhx|?N-ByR^>a8 zbHZ#hmmL*=utO~~V!IH7XxqrfRk%&E&z+Z+FV}`QN0WJ{c<$QLu3$uI2|BZLf_!B} zsjU6Lex~N-7l(tt9wqdi1o_9+g2o`a&Hv#3=3-Cxq!PS5aUUAqSCC~dYEeF}9HSBG zb9SUGRS?Xho;ihE0;wxJSmiuY!V?~8A-{WY z=EcdMMH zHO1^)a`V~M;00{(E57gRxAF@c)E%EN`5F|&aul3^tK5y>elC5gokG{;Y`P3-eY;f% zbEE9;)V&$FXkm>>jlE7GXXh`yGUV*hGQ`QT;G8nrGmt?_q>GF(^+zrq=ID%S9k^Hc z!_ZvoIPBeXa2R1?*W%h!%%oUUS_+y*MBc_Q3su8J4aLBQ%ABT2b8ZEVQGwMi@%e&K z93)YR$eGj+w2(!`6ZYu#mUSR9;sWHgb?$f=Cxj5yenpS^K=9&ZW5gY7qt@tQGWZ6CA3x* z-Bi`&9ZObGIn#CG3Ra#`IcmQiSYL}vc!YMyU~`2xR{1s$5Z2r9OcgpbFc(MlR7cHO z57%hG%o>x0`L|CgF7|kuZj4f7b2r(RK2#Nw;}p%YCz6&dzC7Q0ZnMz6v^?~lzTV<;jF*ae9xl(`YVE%Kn7Yom{_Aqh zxAlG98&425K6?jvi>ZFThwSQ~4`@bW~6Jmdl- z-=J7@eSN(m>Kys%53MIn|#BX z=?$ClgCr&gOI=~Of&%|tB>l<6>&&pm$p`~l+Pw!t-$iknBsPDQ8F9A}IqOtd6 z6rZa*-RK{x0enm^j-|iyeB)`qtZ%kqKKrJ>=wE!HtJvH^-7d31rCAz{{_z?00LxDfO)7o2+$@@U#}ebRL&5D8D0m8aTf9mvp9-*!A%f{gh>j#q$bU* zL_8=BI|s!gOzrrWE)Gu4`yxXSCn~8b$((r^x5OU{jbFI(^DxRmS!Ek?D0f`_a>E#B zZs1^cGd==8GfQLuK^LV2GpQ{m;)W@L%9t0d1Sb({i!m*#a=T1Q+=I#(l^S!8B%LF3 zEnpgZpktkj zbSo3yl!LzYA}v2GXy!v+BVnMrqsZ7QnOlMQQDmDc4H*Ok@}kjs;37g1d7-HKL}+Iy-fwKNu$ z8V7vf7E~*(w6?6!B3_jz8=4M&d$=caYPnaSy)&rHI)|S6t9;s@}g*r)s&^BwH-GhF|3x6mltTt z%c`oimsBIg7MZ6*W7(auwO?ssQd;l@^~%ag5hXs`Pg`uMI>vi^@+G zHPzaUD3sJmulupEEDohbEb4pJ%Xzla@S+P8>{R&2-b@!Op6z14M@s~tkps` z8>w)@RjI=Y*5+d$?V&dBx#B~okmt>0-xZY9N1Y}R-ShJa-NG7VVnd5oYI@QfrF2@X zBt_dcC5H2)hSz|QMw=*Nr^FgI(-37FGF$W|%9vOSSyQEm(S$iQ_Eh4`_Xs>_Lk8#P ziuGhFh?26#6I2$F@<7C}Rq)PhFxyzGn&T$x@B!=yF+;0Ehz%87D7{ag(3jk# zc#2ADic4k`l`@(cbmZq-fPdIVHae3KoeCk2qt9cWo0U3DHW!XsG{&ijBF9D1%`&oP z!&jP#TUC@qYGPGJJzSImk+k=ldU6Bs?}ch1{-9`96*M9;VcZ~`ZxNK3wiFi{^wlY4 z2{lV5TC!bb>VdpfqulH^1-ej+_INO2cEEXaHd_Y;dx#%p72!;cI#~zy)-3QAFK}!k z&ypd-Y6v07j5Qi78>2Q#X)n@HEf%=+FdbyTG0s!j{?;1v2|z*l0|>ZitfI01&AOJ( zTMMQ2XkOtF&NcI--U0*z6t*wVr`e=!5+kmO$um<$gfZ9L%$1?Y&*U@zjffT{X z0J9NvWpm~Y?C)dAGwWq5^)YMrc`BxyNhd$=!L3uf)^`FoRyYIijmgNN##1vinX0|~ z1UTnR=!O^O*FB*$j{2dFv*GR=INPngY}}uItyUQxi_WQN5{9Zd?(LR!k(-bZjhelq zR=(Gi5D|n2yEFsM#|C3YE$Y>Drg3*1Zje;@8{Du`X&>)ch9=s`Hh@RePx%$^|5E?G zNop3}&@eDpD_zU1w5u#9UEN9%+oL5c{$Z5xMB;oX-z1M+!_qW$-QCjPq#$ywY*6?k zDLGaiUXp|IWc7?l6H%LdlKrB^D7ptQc<6DxP0EWrgsV>=7+v|7IT4m3EpQq$JP4y; z{2NLsKN*ly4OInda|IZ+^bn%B^}PR-5p*kXDov)HrS|keE={rMW)vcwqKZc;xuN;U z6qnZi5iAmCX$S@Jr@7LhZQZJj{(?BH8y;6kD#J>IhXeRc5{B~Ptb+(K&LAxfEyhTd z(TQ9;olCN@EDxvX@O*)(PdEq}Ky)$xSbw|&StC>O!nyjaD5IRDfsYHy@FDz{ zvgV@Mq*?MZ2=K<%6R%&x5HjX zl@T`S8JE~~VT9N8hAv4ZdD7*E=rHfwv7aDA;@Q%D0|$#se5sT{9uE3O|?$1mnnN6gkA6F30x81SF!icFbW5a{Nm}<^Z~$hMvXm5nbP{#e=-c0yOw)-S7MypnKEEUi*mPC3&+solk0HM?W9VQo$Ne)#;1 zGk&}kS%2fsjx@gbjMLTHSe)Qy7?%_ZxVHwXX5q&@{!0Z+v196`hrE0x4I789lw&{} z!bJTjXY;s3VIwh(;s&Bj!%+;EueF<_C-oYxjksEk0U=J5^+m%U^q`}|rlUiRdj~Te zUOC5?lOk%w_c+y}_#?~Uumf^HlQl?D&c3RcJG=PBRI#Gm@FwC6+-Ne^V*EQo=X&w4 z0^gmUWX0$;-lXj@)we~OqO~HMMlkHOt+X>%=XUWg#M^y`Fjv{QeOP{LY3Ja!_|X5; z*jYeD*?bKgkd_pbk{0O@k?y5C77(Oi>F!2J0i^`#ZcqVf1p$$6RzgZC>5x(s@O#j| zA1nf|&wKWqea~@!_s*R=ckT@H%#GAbWHP?gCsgVtIUD}L=^Mes)F!4f=AjnQzMp~kX65=}jVN*x+G#~{cexLr-#x-fWw{R^dR|Lja9?T_AJoY zbUzhNY39oHkP%>hC=)IKGHq}{~ zJuuW_m-mG7T|}%LO`>fqsMjIbHg^8AYp#cM-HJxB6!K_9(-8a0*i)&OG|8{|x)>kf z={}NpeofX+z$P;FmfHxpxNtZ=_kcVQFg%@&Mdh z9N~O%GLrk$%+J}EDyZ&C)NejAp<~ZeoEtB3+XKbYKac$0FIcMJPp;rNuS9G3*N@dx?ye7N$>I)Z@&igMCu3|a%TzZ^< zCtA|-0_}BhkScA$67{XLkBeb+^Se=%9_F{l#|<{WTrvH;iI(s5;;Jz2wXEpFq(hs+ zh(X%E)uLY9ku9?EyVCD=9;1HQh1lOs(>7dWS)^Z6<1%7CpnD^&huYld{z|*BbK=K_ z^rc-H=NnhUde$A8Ba_;;S7(CNcNaUG>J!JFgmi~zG>|^MTL8|M52vN!!B)HZ9SoFR ztbuR#kz}9Oa<+JpG&FT!>!XZ>_Be^}SvHB*EW7cNeq2wM!(bM%Xfm~Up@(dlCy8d_ zmKawX^G?3@PJ%{=R*+HrdbeFVcqxIFS@2%a|~ zJY3hN&Am|=TNE(G3Q%Ok!(|hzoU}$WJ6F16;Y}#BUpZ~IUDvywd{6nga8i*lZnfj? zlU8M(pq-j}E-Fz}>P3-V5$|xE^wwC6r78*1B^*^8%bgI@^5E-W+k~`(X%*K6wAG}T zCZ{#Fk;3(_kBl6cyc;yoG-W86KBxA)^~Z1!6p;E#ja)x-iH6uo2x}LTt`w~LW71tW zy#JEWOOIipPp=zC8b@c>-WaJ)UmrP$xlX6+9q+;-M_Y&&Qhjx?&0DcnhN`(bS}l0Q z9Q3J>p?4TlubqM5?QT`z7n)#BO*V6Dv75!AtvYmhR^z5ZC|$i%tt)CPlm_!PM6A(# zhh1N84(oP!;Y6+lFM9P#BBH^6Ky!F82KD@|aih=2g^Z};>!+6rjKpE@=Bp&jQ??UV z{86E$!IOSu_Z|fl-ch&AW=!4vbdayj;3@QkRKP4bQZ>$#8+2VJ#O=VjQ6p1`6Js6E zLwI%8fs0f+cSlV}l;x59x*EG*UUJ)b=gut~L~^@2mXFgbc$!04WmvsfHPs63Q@YTw zOL>QSEIXL(G`l&#v1M)7uITpyvkr1;3X@}y4-RenrB9`_OeZL!b?VLMOn$JHCq1th zonwDC$@VfBxG~dNf8f(IiXSwP{MT(B-Zz{24L+%?=6>LGvmPFV$HJ>uxpz=%UZRNa zKhT;kJV9^r#w&a=uC2_MXKL)a^xN-QDh_!;O#Qea%l>jnoI7@3yOd)sN@lrP+;!p) z(d$U(G0 zwYPCHlCm{q@vMj2Pd~^!0(8y#jN}bU%ah_=)E9+&au-d>85Sln!I_YT@Vf zJUeL9_em7@Zp8R5)1xRIrsUNU&wcdlD9+kXOWjPO`x%#4OFk#$*1?*&FR56AHz(xY zF`v0_s#t?NSKp`iMewQM*87iv^YhzW2d;kHjML_AxLB({vz9SxqIY8s=jb0dkHtAf z#^-?L-EXiq$$nK5SrptX9tX8t23N~|?$-&*L}_#o}lP4>1sL-HgDv7NX1I?4Zi%%A`C%{oE!l*F>deTET zmY}(V&d_pO9F!j>S{~8@HCYK_c4E>I&2gfSbRg=^?KFqifoHYOQFEfHfU3o$7tx1Q zb}o3t*rcN@N{otdLGhd}yYzBe*C~vNhVRUF_aZa#29V8*x@j7;tX}^_HL`j4Rfs$p z!gAce4nO|ECd7uUrK#Y)Nq;lHpZ{zy8PxqogkLdaHzk@js&QH98&DG7SLv6p zcfMz`@H8r(6@MXP#$(YUfXbDF z>^`~s&(J9>b0y6%1!S%X1U>)GE&Kyt{~L!6h;LD0R2&=r{%f3ma)y zHxb%9;ieh+qj$HsJz{D5Eo%cNKUHks)B{C);q-`G&t4Y|!`>75ei!sjA^=IaEs$+e zlrvxtOHdT#hHU%E-s=Vh|C4(h@!sHOMt6R4B-G-m8h#Pb$n+E7Z(HL%ty^NXMCBp= z{Adl#*_QEc>^D%-bqEw6%u+3Ig++WeY73AE^kRzB$4c{h?82K_}R;*cOp(_V%bNs|jWk)&fCFP0-{(Ts23417r) z!33pMJSRgGUMCPswiyYV%u6j)4ch6k$RYmWo7Q6{>9%Oqs1F^H-3k)OKZsurQ5okV z8)wDZsa$^9!_&rLZX6dDrTjv4th)`PikfR&HqA4$V^n4~Dn3dUcQDB9+H042N$Rt+B77UMh=#hSLRLiLm%n-zbbRedGh5o#?iR zr$*f20yVtlS!cc5Jh~EQUB+6l9q47NGK#0QTjpgI2E-mIZB@q0K|t5xdJq6mK!r;$^sBMp;0Q-{dWy z=xJIYBV41@SL^b9Q@8(U54e}RzUkIaoJR%sr#8)aaRmJ%{P*USipr=h*q+o;Kkaic zm1N4fX)2jK$DN5|Q%Q;|%>I(}K?;pVdpPxEaDZs7*VN-~Ox|+gc1SDmx1k@-kSzojonSF|Yf6`Mw7oxk*DKvazj| z$zIkinlGXq^SomHP+_cVMlU_;VpO7O?{Uh!6B*CFl4R)EqL;P7E-TMzVGQtTDi7jdZSO3G0Gr}zuiNs&FglODRW~N4!m4Z zw|>u3Qrc^Czp)BtXoUcjU%+@*=~+?$ww0YUXv(QP6)N8xjJkA{H{TT0;c<(*Sop1$ zI4DX~a!Ye#^FxCcBK@tR+Olf21!-axGnjCTomkSpn3c2jZ_c7UM${8s@w2+ z4`Nxq-?7aU5^W*y67+5-Fvepe?c!dc=ykpBqBJA7SVjDa7Mt#%D`YookxQXGO<2e| z^Wet!QoL1DeG|S>4JcHhTu%<0uipprZTiN0D&wq&Smrms**{U}_>{NFC8>Zqx;E=a z>&V_!E!)gx@;nU^PwGwh`KPUDpB!TpL`z=^8xpU6>G3-i7Ri!ogzGCZ-0KW%2}O+t zFLHPfd9V2hq_lHU=#NX0df|<z%-7mGuO6qsP=7t`45o|Vb2`^V!=2>5zmRB@M z-o3%<^zf%Qi)ChZXQJJEt$-BtAw@w6eD`N!yc&;>K-$q8W)oqqTuG^4Xwk8x`w%#L`ZR zS!c&HTbY|E3hjvR`n8KMO>?t1unPs=NZVI?bSb6Yz#6rXU)#kl$98{W7CV<=E;*_v zmz6+TM{VB)LgwD3Z5B7rim&%O6jkAc{Pnk({JMeaXlWoj_XkU*Z8^0l-&S(U z_GmtBK@j5(HrI`*GU`Mo_L)7xu__n}`Sbr7FK zPd~LU^KW0KRI>w*1~*ot!V!w5UyidhQ((pO)QJ+$O_>pdXRlW@`i8<0B9v3G55ne^ zy}iIRH;2V5yK{KOi7cd#dEvUhw_}j58f98LBWd^3bnzRHMp2% zsiN7Jz5hdlBiZ*kEtxg;fJDp~p}&R*QqaO+Z40gdv?lnLjAZ{E&&6fU5P0jg-nQN} z&oy0)*{6zM7}I+){eloLy}|K2h#4O7^NIqZ}i$ZtfOu#=XiH zm%rYFpEFNQq3!_PohD5 zY=aNwCu*5xIyC25MbeEz`X@2O={+(kq-f%xi~QUHT;2uAm&?L9SmKX(ggr!@oBf z*fczmKv)yEW{&D}iPa{})4JtNUGUnLQeMC4ZO;YxrAGxkdjS6P&nac9)UTv1(>c|y^2px3Tt4NpuBDbnHkV-4CqF=r~$ zEQL%hXLg0qGP4@qz#cF+b&*AAq1I^rH6cFtt6!1)Nr5dY<}*t_vgH}(cqOW?175G^rME=#cyF1+ehRe#8`R__mIHtFaN8hqtQdbHD{Gc~_TYM$=zp z$}efX64p^1E+jE~{VIw~g-f~WRf0?5y+w#K$$`>@xUZ5c)O1N#-GYxiXKiL?@PJ=d zpl9nno_1d9w8Rcau}W`APU>9sXuFODmtJP-jOE~#SCPkqsv@#Ab$fV78DHb%LN>((Xfw%y2X3y|MB=MC5$+m&vJ1<}S_;uUv!B>`9RSMu_gZS^$ z4ZjbBpFZ6{cGiLLqoWGH3SF`oI~mX2mA56~!VzE;K5TMwjKb8kxle{p9g;31!_eTO zb5CN7x}q~SUMX9~;d%Z>#CqiToI^#?JG)D>N(ezTKDF*%w?SAtCfn{!Qx6!rv)z(v z$qwV;t`>B~->s8hBUtbCQPAIBn+uC$o!qx`L7sX0EN6g#O_MR#Kx9|D5MFM97MUD9 z^%{tqFDw_tAl{=MNQI0EH|GQjEUim4&l34eQRVW`P6=!bR^HhZ=aI*5b6Mu4+!mI> z(2;J=N2X%m4};6*Ft8UhcHw!QsKa`{b5N0-HSy8+*g+^fct`;yC+c9a!7yB5iIjN= zpFOudT9u-Ou967@2_&c~SfYkekRZU1qpQ>>{tCJ5CNk=LYQ!ZGDn@+5auGfoy%Hl6 z9e63kbYFsM>H>Y~nsG|h!c~!wOk8j~jpY(q={{yk(cNoh;_ME2xKBhgl(nfvf;0`W zai)HXa>&w(uonakt|hod7T_s21$`ROZht(6f`>I$L5wyy*TqWs_I4u3A&tSpv&~Ea z-3Ix2ccxYd9k(KKNru?n(iC!+ZMeQLIuR*xyZEhxYW)Kd~{3_zn`P+*4Yf zBObos`KnizH|k3lzYqCXy$ls4sWJHZ?FTaR)44Rv$~H}s!aJJEk)077;uPBM!IH&p z9f1p4of;3uSC&k^Xf$1RUPT$4w|W~gG&NqEa^NFWpCZ3ZB-N~F-u)20j~%r{tWl>a zQQrm^#~9?jgIXX?C@~hU9$BZ>iu260q|0ei0x`-yl!mqOo-OO;+C0&N8XEKmk9A05 z1xZx`QR6$H$6-~74u7l)(j8vydUmi*%pY%B@(*U;33(N zct6#bE1ldEA${vDlZwm?iRg$7;>^U;*AP_hk0ZFz*75e#nIla7f;~kCntU}gfw+9x zxf66G)ATP2H>RI<2eZF##7KF|JsZy9a1cu?D{aWZH>-==I*X2E=+^G$ad*_fS|yf# zZJKxztok&=j1Ob*{=ni}i*l?|mHU%LdxPC`{GZ3{vEB#F*D&AmFI|ca$=-RI%Vf$y zGSZ{~rqy-pZWt7}Qo3URz7u3BEX-7FP-LNAC;avKyJyIS6Icih3t{wkpNBbfqXtVw zv{iI7(P*|{cnUk#EmU$pc;_Pxr?p3{x`dkRHj?&=rz@|j?CZx~wB188GJc4a9<#s{ z-^*5%LDR2WexCd|1{ra?Ja3#fgN7ZP?r28R)-dyeCw=^{S?9if+(aEHcvm3JVbRCY zrCU$wI5M#Iqd{O?vn zGHX@`fdX@5&nNc5WM7C@jGXT>vM6Sjz?>Qi>pV7|FgtpGLML9Bae7iqA(r-~D?%XJqw zq+-a>9lt>Mz@9tFAw5y9zwcHKy^(~}2i&WS3>=R4BMZZLQKC6n2OdDNx1QpK4u-0AEDIGBSJv#B7BEqx<1`ma(}{$yuFo73PECT zZKf?AE&*>QdE;_C8y+qW8~rCu9}INVF9J-$xHwa-bqHX1WuNzm@4DjO3c~-`^ATnxh=%?~;23D-9u-&{JKQ{Z2;l~YmG9#R^Q9i9o_gdbJ`nDFuA+f3~a{lp~XacT}XkgvWZR(iX(Q7tNgOthJZFm-=Ou48v} z6+=;16TzT{?;3HeS}_Ol4dW=iArC5TE`!@0N+!jmS_`~;{V{Y+=$@5goNomP zo;)>GaFh6v-m}qbs+5oKUOEd!P>snBU`401)m8>Yx0E!lDTC`(L#5uJeINqwThgZV zOEoMi@B3^H3(^Evw2THC>fvt$UsVhDpanzprayo7p~?L|8xBVs>f++gKLAgY`+Rnk zDzQ}j9q%)OQru;t4uT$mI6f*vJYsPUgWG!vtdiukThUbE(^v7rL)@;miq{4Wi`PD& z#t2K=Ubc$fBYjpYu^;N8Unc(!t=9alG;Ur=qD+U$AOdAVAp`zY7nHk+rYD*t=}smx z{+;wit$DlD+bn$o(h$+uoLgA+fmMr_MiMV~gO#M?j9D1=fUBnyDK+keRY9cQ@o7J^ za;vUs=h4XRW16NieR?zY^_X^9CId& z^EquA#o8W2Tz(Hj)j>x3Z5>8@_ou?4M&+;FW9QpFjZ~C;)rg!w+~%eKkq<5yU)8*J zb5>tWJ*!9TKovV7T1{Sk5#B@b1C7a;2F-rDMK= zbuwdnsQQuiIIT|E0CtJ&!>pjT&}s@=16FwpNO31$Xu>Y6*1&7U?TyqS%zaF&iE9! z#mqHI$mZkIa$8OxY=Z{<_VxOx%BVa?-X~x6%|M^k zqm+HUwBA?<8l*Sz)>?|nj;VM(MK-jcgc*#n{CHS@$_bQUe@8N$STmt?YAx3H=ldKh zX}sJpC8?kN@)D#zOpuzlgsm^jljagOLOHB@11zB>)Oasso63~AvK8!~B{R1al|Vf( z0y)Nu%qv-2r9E8o7W$KO8F)e1b4-IHJaV7-!P*T5#I3F7$*DQG?g zK56u!5s`t@g!HbPE|pPFl zd-h%-BjHW&gold$K9UQ)wRm{!t3~%)tzYDn2I~txp2cm7E_Pb@0wNQ88>Uw6@`?1T zk*)36&$m#DrNWYSw*DujQf@*};;`;dPJ;>qp{UdnFHEBCT?U0wru{ieQ>|C6s=xzJ zri8b^i&wLzG7*Cf_9nkkV+GxF`GT*?c})lWWwiOqBpaB#BXw$(kmkylj6TU!={0g& zn@7Xb1*oxt26Vwx6ITQTA3`Hk%wG6E>Q$#OY#r}J&!JY>98fnIc4#cD;Y?~!mcH`2I;8t3AJ&+1;ACx{r@Wv z_WRsD9NbYYhvNshL-=AG@!@`N5gci%U)pUZ2Xs+3&_(1hKleE6=ddr59_ext zmXB59y9EsPHEcLIS{N7}fIrcQ-@5#Psais;AWpV6zeo6KC?+3#a|!VB2JaO(xT8e% z__+so&fic+cN?QW zG4OkSrqhpr$+p^(VXmdxqqb%i5ebLjJa@ZMN4gp-w5pcPqTd|HG zH`6n4XE*)4;Y@T)1HP%)odGn1SOFu@@vrgBh^dQL0o*I#2Q(Abt3ocqh!_Gr@9YEt zn_EM~44fbmzv>E}?NzQkPp;GemUIMSHLQpXVDkJc@chyAk6Vd2IT;w4{VHE*ZD)11 zh*&emD?NaS+kl9p7xIpuI`<1ih}t^a7z5QAq$L#3=6(>5Fm(fb>m9&mKZXL|W_&K- zf&i`);K0hx<`AcorQA+?g+qWdiYLJK13ZHfhX4A(MSOQ7D{~`JXA_h2+^y%%cV9Xn zcDe&M#L&ZlBZ4jfA9dx)-Ja9>3Zm}FSpwcd33v+-gHJqIkN*SvFP?Hc)8&UQU=A+; z4{MH*$P4gCg9Ubpa9VFnPC^tipdUX0y2Hkah}et3zr6aWCyy#;p6w#5tOJPe0jvz5 zGusJ+z`>!$Ux1cYRpjPmyY*jVCzzt7@(`dm0(2S}I&bm?bU9lCv)4RQ7~8oG3|pnl0Zn z?)e(%Iy+!qIw}`={0Qe=z*e-ea#yr5f`~gf*gC)z7(Ok)sb4hl4iJ^)Zk$$LyYM0b zzvfY33UmPyoAYc9p?uu52N)$A=swuVZ?*OUwvxe7nq>1IaD0O|6e)mZj%IApW3vF? zK#l(mS2A#L1X8hIneD&H+m+1Gg9GG+1I{B3BTwnwKg;`*rv95qqjAncdO##9&_oFs zkxecCF4D@t(NV#`8uD*4qZN%aI{=x3fJ_k>nfmSjEc0kw|C>0+JPH0yVC*mhRuzL0 zm(cak;^dABn;TgDo5XNG`M6l1fh|A-Vf*o*=iepT8vPoy|0dD^Yr22ud52<$_gcsg*;CLeSD zEICeZ#a%r?frBd{I)h^aae`TH9Boxm-hIji0U9X_*bFwqn>i05_IuHGss!}OjyTdS zPWqJ<3gCJ#aZWE?Gf2+SO-5ez&l=;ny?>T~N6ep(uHGvGlIRVL(>pNx)aNr*&27%v z&>$q}4DtndI{*(h3;oJ)4o}q_So1(sZH+7;PO1YKYqIG z&cecu(qH{T)=>To2pB@ZV1f-rhvyI!z~U|t8z*3eaK3J*LkO&Hi0)_TX6pbGL5_5r zBabZP1tQ1|AcDXejq@DB{{n~#1X$}koHc-s6su>c+?xR+FBQ;iSZu4u*^0?S932fz zA?IU{w9S7+hxQ2QfI8qqcia)cH+bK(v5JNkz=*k+T0ejdyf_O)QD9)gI{3^v)IU6V z1G{6V`4j7o6!jJ!Hx~eqYrwdHjZKIFXDbRebAT8aOFGy(+x?-RjV5lS{D}l$< z-X{m2f&O2HchOWy%ujpwArP3D(N6EPZ#_DT=wNQ^VD5BIM!=A+8*K#K3S|Hc9M~zT zE$U3z@2zYgw3(QjIs;2r+cRSFkx6q~G~<#1Pkj$~Ds0RM$hiP~@lMA4tM6+R0JP$0 z2*5a$bKcod7js8*TbuJk+ZtYdbOg}zD8S5g6NWgSe+KdB-hN<11lYO<#*@K0O}95> zyX*)!=h3lUz}VfzA1w zIfcCF+1)^Ql>qKa4P%REug>8Ao}Ev7>UpskHf8FlI|JxwXZ}~fi+~U*t^v9v0X+^o zG7ru}{E5NGTc>A_Ovte3>ofp80(@Y*NuvH7?f$IaFWfty?h#f^0+{cB53J`4G@Qr% z&*2m#5q%R0utDlyp3mHP4)oXN56IRSa(45PFr%$X02Pq|BCMJLZ!aQVxSjN@X;8Kh z01g0dL09ddAh{oTp zorZFDoeMQJ1%~~vS^jKm>U9~=fPjW`0}Y3rlw^m`fgWuDUbOV1NdaMX0|o@L<5RQe z)W|tV#b4WU7xvKmSUA@;fanMWJy??>j-EqRv9OgdY-RYAY zKL-j-pti2R{;mORE<0FXum>vn<7ZO>V23f_1Dl9{pF9ulU~Xy(IlATjSC?I|dODh_ zs58BtKLXlo0dWu3B-jn z+@CV-u*VZlR`!OCcs=Js&M4b{dVO%RR4>o5X27?q<#Uz$?<(P^#hffUN&zEAaN}Gt z|6c|8B<;weC#w&_<`QFD7tzknC60(EOOvs|=tuGGT;jPk3{UHOvgQyhU2XqA>3_X``5`TMyG)%uWV<5F@^@}xxjNOGn`}}4cL>{nZgEJ8H_X7 zzlZ6cwBR^`{Yh0$p9Y6bRYI?xf&6_d>hb70>i(0jA;FHWy7Lfc-jaHnT z64UWx#(9ovzm69jz0!1=b@DVKtkVbZpTjzJ1pXxPsMRNrxWOjSNTBnHf2a9>I^%TS z0OYzS9t3fOlSk!_JK$&)d-6aU?DCra!tvH*>QtSFuQA2AdV$Uo2jE{5{2 zVlo1<5~3nX%Cs_~_cD_c(o!_EbFfl0l+%+ljf(V(OuI)8w30H^5;Akn6-|nElT=>- z8KlQ3#>77z?i{{=$V)*$-ko3NF#kCw)1TL0XZ`2JE&sQR1O4-_k*)PVuIt}R!2g$o zk*%?bqm#2S(DrYH|GJ644)-s@h9(9!f1`o@A2b}D9GsmT|3(q_KPbAGSlJo@o!tLM z73+VhS{v9Hn3-6c*f{--9`gUxbF{bm8-;%}9L`R_e`@>_1^<0MNdD(3{yBiQwpKC* zHiCZ!lh(+}z|k>USxRX^9_7OZTUn1vFAS9?C1STs_m^276+7p_7y)o(pwwp z9;YdB$JEb*kg#?T8%YFvsebFtz46Ysl*18j*Y*)x=(jeyeg80#kQN=O$}6Uz#*K3= z76sKuL&L4A7Z z9H&YyBZs*qqDc$*UfBE`gSC;^@PhNg2o91o!%W$=37;LO>c&g@=ux7(TQq1Im1VhA zqiK|;QduIXi=P1NF&Y);L5X8PZyL*225I?*U<(q3JW7~_b!rvsPtu^bfy0Cb3lVIuC7 z_`ZlJpNBDdgw#7wjgUJf;1P?8+-;IWMUSxSK3~r1!dr_f{ipmI0nmLsLzlS~LsXOb z9ZX`K^ITe#OAkMP|e#N08EY`29~%ZzIn> z>}hxjI142>y`OUoxg%*tIRX5{{KDb*{rI2$dv3V>TtTQN2OzwAQ&fi4g;OMWVuOLJ zPkjsv4xGpIa}N71CWpeh==R}Fo4isgFA}np&P`_S@_Rg-KLj@+A!26lvX6L`beuuQ zh)+r`C+QZ55TeCrP^CGQ9fgVGqOwJrIj`cJJ>o@pUQr!hQ7wO6v{9d{jnYJJd&TY%u>|G*kA|k{N=|c*vzwzzJh>&ga6Zy{d>Ei{SS8Yzum|` z%}2n<326IY22`!~+Z9_4^&^KGcsQ4c&LPVMJm;j5K^YO1fs()^BdK3NfZ(#(FCu~3 zQ1@s-J;Zc3OnYsGpv z*NLS{6dXl+3^8S^fl8Gw@Y>{o3zRNh5xOWy(L!+oT>mhA=^=JfVlz=VF_IB%Wn+f& z{vcElI3`bbDJfbMdMlkp!!@#bAL6$iLD|w^^vlS$+0eFUh9KtF=}8|2AJ9%6 zA5t$Mc3-3#JhT~GUsh&aO2b;u?bQl_Jz5_^vtYZk<~CJgYAia3rMCy>pt&}~qo4fOWM z=j?EPh8EoRPd$pM^*gi6fSMWilTfzbJw4Ij>oSs;2fUO-0L#2L9VNfYb z*3mO*Pw_4=#*w{tcLQgq&y}Mm^u|%UR|G7T-N(<2GRFPZWwnKYDa~FRjPLLn(P#1w z`7PcFT9EtHy9LJ?4z$iusALyw3LF2`o zbKE@P>5X(+AC*q~qZXrO`O$05wi7L&QwsxV@T9f&RwO}lvEDGeKD}?C9OlV~%2+Hs zEWKu!;NYOAyUO&gy6t4yIT>{T=s<5Od0XU(OGgn(w_-hT(-4VvUncANeM=ViO%Xlg{dcHYEGI8+X3Fj zEWT3CTFElGAR+MPKp9-?72775j6=GMvMVrf7udmMi`}!QZx{>1m+Oli8#Xk2a>g=T z*;e@B-52*IpSy-iYmE%IvZm`o5BkjulUYUNUfesG;9(D@n*4cCm_w1=wAhQWI2LeX#SJs8f#BQ}G@v16G2L+ealY2-O`ldK zREZU@lQgvtx}e))Lp2B%bnPTC>!5 zN{Fx6XA34=hjgH%wmQte7L=%_q!l|&`(!;~V7TldyuXfJL4@;2-t%moAd(jd!2gcS z!@H&+7|f&6$xswlk9BJ-V6(`FR<8_>2;+{5p{1z`ZVFpg7dHAb)gfuw9A=KFZJ8w` z4UInMgf}J9WG>mI5}AZx3qrHeBx>7E&{GihiwtTJ?Q0V>rT?19C;b;MFc%_nIuBm; zUvytP1CFJ5q8=s;ig9WTJi^WlN~ok`&HD&zvIAR+?FVpF&j@Ig`<)L()uB`CG+zoS zwn((`d!gQxppj0-MHPfYOOouqS&I=5%4!PF7*6GDY?j^c9;<)3!dfY~sz-`*=G29}c zA#6qdGHKYot;ip`eV*9yHEu?RMUG(Ix;>1P0&|Bx(q?|AsM#$nL&Ni)yWrKcsf5s@ zh>gzF?eupc7`w_fBM&8yETh%&)us@*(;VL}U42K?UCA?zN0Z<5vnU79%$}E(?z@ybg`8v{j*>T+-^Is2M~ zJM!doQEqSN8Gb6es#kW8HDjiZ2@fe9R-oSjJKE`;?&OhF5UZ#?5!O1aH8~H$4zF7X ztmE8850v1XL|7}d!^9M9R@gbu!{d~yASYzGA;ek*t0g{U1KqOs^B)}MTc>7f9s~%8 zGQ!`*e%Ako*e`19VEuoRXm2GgTO+s*;AAv%^X{gW$Nr&?M;}Y(rsX22MCP|#Z9DD|v@A#GVTy`1+C4yM4b+>71y2VO}qN4=g|l8ZU}my4~T}j(#m>7G!KsC z#Oa;lyoAXT_a1BUUz_fbhyr}B!~1Oi%1|@xtr-OWWT@-msGDthr2V5_KV)jyL z5h+kk39CUd|Lqpr^KEiAU3Bs`F!yaYAH&63M@_<}-pplYYpb!cvvZ#B^W!&qL)rix zc!|9wDBS^TBp3Cv#->SqpJC#V88xq&ee6(*KizGyf9-9vz=$o(X6R7aP}x-3z^Lg1 zO`)|Ym$W0s6{AP*sL7(q;n}UTSE-TQfZYh7I)%gv7I{j?a;KsrrBz1<{@cig?xOys zh|6u=v6ya|fMpy3(qXyA6>fpK7FL78u0xJ0kKL~;ej!?zOM%1O$o#Wm95C?1m*qEFoN0e!VOuLdPolKcrVEL5mI_+9z>xs;lHoFh{(0jdyWdB(G6Q?n1G2nk2?OomUBaeRO{{)wg`)5q(GkCJ`Z3Ert4PJtJ(VLZ80iczV@qgiB(23NMYozQsJ~s z1(RQi>5jC5RJX5^blPZm(9&&d5KI(ZBT0R-p>?vLe;;=83{o0$@&Zyuc$MuAj`r+1 z=XWG&&8`qKpZ@kBi#Fq3+#FJ&Sd>MS&!7qNO1=I*nJ62^`(&9v7_6fhUZ;tcu1b&q zN(3d}?~0@9^(J@gdTBflg&dkgP0Lg)3GegtuudC@m?O^EwkfO<71%S!7oGzW!$S?7 zSNZ*ql7)^n&-kMVq8kCeA;O!Bwa*LphE~@MEKxU|qXyCo_eM46$;ggw)JwCYVqz)l z5gWcbE?8TA8s5el5d*_v81LMY{5>3)L$?YLAeOz{f}iJ$py7|SQ^f+a#5RWls_>HX z#GHbzCI;f2f&~g=$S^1W^-7~5aVv2OMn3Pg`r2H$znVwTtw3w-@Vz<9{cng%F6Wan!s zZP|%!-DJE62qZqmC1#{v5;Ag9A52JeQXeuhYNR}L);bK_pDxaqVWnP1BwxaccH|et zh~JS(w&ET_GHk?O0KB-fOy4~AS_iiV&;4?W`4(ny^S+<4)u%jbNxaDDPW@oe4L4wn zVtBzwX2dt@>h+)=hFU&gAXS$eCU4-yJV3c9$DnKA#XTTdHZ#n+S{d;D%TKHyoVbpB z0|EH~`TyTfD4IArTRHuUpKw;Vk^55*;<4RYw{~G48HN`@5wI2$|MbH|{!Z-EYyN%i zw6*ooB*n@4=XNFd2c@_lN!;^N5Z|~Pz7|85aYC%cm#^y5XhB+{SLNtZO;yk}H$-^JCz$fnc5KY)%!Gs*iA39$NBXd6S(@Qdd zx<3J)(E&n*@HXBYl%Exf*0zQX*%O-$U#mf8yB& zl0AHIlp9X=t&eo6d3>Son=A&;C)M(4h^2nn!h348j-P{3#u)Pv+D!2U~j)YfV+I!*VHCE@SwBl#g@Di z-6TJd!P^YVH0jci?-Ci-BI%k6WV}SrZJlrn#jw582W^d*u}0daIMBiC!ftiD!^4TQ z@5H!?yVZr?4&@p;c}L>?eh|ob{d3o5lZf3*d^i*=E#AHs<0kPI5%UT95ijmm0TUij z5i8*)K0LsP7k_6Dm3ynt!%M;Y3bvs^2e%*R=VJhve<3 z_;X><$y#8drXh8W*aKCg$ME;fmbk|vgQ9?q=fuSLLMsjm4bmaQhm>n$55ltIrqd$4 z&BBqyxikjcC{pB*o*76Nbs|gcC=2;q$sraYv#ANAaB0a{EHIu|3)%2H3M{40$n3(K zg+dLXlPsdeEUedc12CX5WMqW9c7HC)8zvnBIr$zP;3EQ^BnhDV>^548n}k?8R~L#FgG z2ywMC)}mbbd$u%|jDN3u$OLH}ZCee+EdEM!6dp$Gm1V-M9N1^S6sR*d+DhiU2Wh&D zn6pw!j*TR6xG2E)fG_L$%&I?3CcGM|e?J&?Ee98WWdZOJ`DyQhE^S~4Mt2X;ja;E< z!&*UjJ6@YizWe^#8JD6B>cN>UZAMHOjsr-JOO(%UEKy==QdsU#%bZ7bh|h%f$p;`w z0LGLn;zGNEjxG;&yJD*$br#pQ2{tE2qKoo})^eeyX%x^v#f!+5MUSk&RqTv4_^D~% zEQyrL62{lQTs{|csu;F<=(1({FHxj$7n5K?U#~G0$Hi7aVMi2a9wYHs4y*wf_f)e~pNP&sj?(rg-?t>Vc7HEH6QG7;}t40Ze4 zD`znYXH612$dh7>xw%LbM<-B|qOsG(9q5SQThkt#ATo``ok|2Pf!TsA%2W#3f{%;e z6$%AqHVMqT1+h=5!>3iviL!|_f21(9L@s2v8=}tvRn3vJspi}P!DS)^Q-Ex_YJkpn z=^a69K(i7=E6KSsxwMwX#diL+&0MLj;;Eo!`7CR`lZkD@M*p@n|3OAH)(ZyP8m!?^ zj~#QcppFyb-X$0d2_bhb@eq-88C{CP?;bChW>g*1?Ip8`YSiCL)tjXehuaOvn-Q0? zHZk{71-{5%S(-<>C8ywKXby#6aW0|kqs{Mpt`mZqSw?u3EF!zLFQY9v2i9gVlP4MZ zd|kIkeMniJ{c2>ISGf(fj?F|R^Vm18=}6Oa5x1jk4r_{l{p})UvQ_pwr$;zms=ZU_ z;W@ii=IkWc)t!DbW1{n#d%BuRi|8$)9PDG5Wa|_LQxw|0mrY4_>k^aWYx0X#2~hF2 zWRY6_UMBU>!L{_V?$&~GTEAyacqI$11}$2i2g%Y(2gRyh&5aaTA{gpWkV<1p7rDXm z3FEV|P}H)U(-?NrbhPPNbjZTAS#r8qR+i396LrAMC1*+?R_zhIm+BDCkymcDwfmi14Isrx=DSXVR zr5Ar|&kYZwDQoJ=`0%SrTcqb0YtGo$XLVh;!4};ns0cqaGgsP#z1cH0`N-TBEp&NP zpTIGEvwvcc(3X=9vr%HH6+>SMO!sYYZ+3;Eif93i@ld(uVHu@s&r#>bYg9g3?r{(*9&=w$*@SlA^5$%ZUF;-P~)VFT#w zpPIOMBw-Wqt;2q(*K1jw$g7)y_ZX?Q|8l7PIB>H}EsKwojSGrc`xtWO%cDclRp*mz zi`EQk7Gq=HL#Wv=FuQ-9G&;L;<=`wK8iFp;!d^P)&mnByG9+W(A^wdJ7TkB1xSPmrlU@!zU?@On>Ylve@M%VvvoF6Z|GZvlU`=0(g zC8OXA9om3lO*QWD8AhK82xXq&06E`uK@^U;8Mo+snB&LVb`TW|L%{rUl;O+Xf$<=o@kSO&#mW(OP{k{!jbn82-I zlcCKPupG7CK*LkmYPnJ&7;D)gZYl0>Irj?trW)Y@w@4_v&Sgioyl=A^3!z{cBUjjm zlY8Kd$o0{l<#p8Jbsn#8*V*vISpF*$l!DDOt7in?u(SOVD3#Kc`aSWu7R~%372U5#7o|w z6?vy^O5)~fTdYu5Jt}BOlE1-#CNat`EkExPmQmsBZnSUhf7cv2bc3(_e1^#xf##so zo3b`LzhGQ|(R{uI*6&1tmc;8UIb}-`@XGxOxL+{X@CA>sHRbzrM+OSt>_7x4_I6^a9e0Rid3_&ch>`9G<~ zzjQ?i+1i)_&EyRn98DaE|M^42>K_dg|HUsEae-K|B{mHM**W&BDWawx?%jr<t!58Kn#<0qeX47KI??3jNsg_1@uz;7X~R}CZlVP}%0Lcyze|+P%)vm( z)kIv->ADXvJD=MGaa;lyMrW=$XshH6ccXa-8=RM=SH-1-qr53>2Rwg49apMJkkvMY zDsfcyT9&4hvCt<7*>?uQz6$H@uB5>4nZ39X|R2yTAQ510?a-}ONq&i zV!fo)0Hdx&Td)XhV_QA}nTT%0*9aI#WDCo*k$?~xE1+AjH7XYj_DcCoT<7{V)79zEu6w=Pm>+pyid#^%u^+n}yJs08Q1II0}^eAWwbGl5Ptr9vfdfx$OSo{j2qf_xEe=&L=;>=y`h3ebU$t z?&howm>`R5>O7f#YK~(wcI4fTQZ&$|jdpm~5-#GUzbizMT67!}6Dz%%7QbuqjSBo4 ztIce;#~%Wmm-RMW*q3rDckIZ~-5BYIMFFH*K)XK+E(z`hCpWClfuW5Kpw;26}NA1#whjG0qBuXUz6CsbQ$iOGPYiVjph5| zi&nT1bK@bGSr&G2%zRaqv{|}FZcvXV3PP;3u;4=KBBeO%fPdCj^bngPVAOik<~d9=-NGJ=-TgcG?qFd(6##!Axbpk zh6X4x!CBh0hLio^J$1W0L4mhc0Mb!Wk0#V^OJLf=j z5fT{hf+QHMDgTUm2FilNMV;;H6Lk$|)l`sq#mWlgTLvCrvaIbd za?KuukGk=<=UKl^)ur6HgLK0hDVr+AeEWI34hG#3vV@p!GAEsi!KFo9JDGk9dg0Yc zMwtdL{T@?|E?VOWa>-&zg>CbA%}8S{okdK?c$k&teEz9c=LZcO*r3J-GA}&87*>vl zCd)*}TH@%QgolWvqCM504uog#am;yRBcc~7oI1rn%%Y8_*Zhx*EX*Bq2%K#p&al>j z8v0>u~5gNolA2Z)?uYMHxB?1}DPsPbR1-5-gohKcciR~ivtE!)4yt=^-Xa7HU; zl^+CiP9ufhpjP;zC&&Nz6s93p4*XqbHEU3cJ_c0gU^$Jw#FC5K@{yo`4IM789wV2k zl=%5|>gPo7kH3QHnx-nW#GjR(s=uw`GW@NJ5;kx$P_lJ)Ff#e8UI#QX`KO;sRt@z; z5kc|APSAF!A|}X(8b?IzR|tp*CM1D69eN0g=|8q{SgULGyu1ts9oqK1=|)$UXGcJ( zr~0-1$ai<&-JQ+luqMI0le*L6e)KdxJ-vD73x^-fK#%_c*Dtw>>o*Z757H@RZ!bbo zwj_T?u{_T7UyJyU=xr@afs&7#RAd_w&&7T2zm`82(~E_ z<%+y1WJlNM4f=%4&42s7Pe{NG1CPKhDJ2$>TlN;TFH!grMM4glTj-X$&k=M6xr_gn zuulq<4!KLv`ij6Ud6y+%Wvnh$AHNS9)E4QIjGaG@lwI5|Y?tQzmc9=$p!M6WEJzIa z?iL7+QeF|=GOo30Oi6E5Nm+7Pv?jxFwz71qg;I>oA}j0SQmaOa055DtA&p9&Te{8p zv;)}i;-p3?zX4AOx%?pRlnV-E4PID7QK1$oe6OeZaZIvup7IGU#lqrL8+I!ci~TY4 zss~>qYFS14!eZ&8Wpjw>uq78R_B*{2#Z0?&8RoUXS!BGawHPvB6L~lxgsD?RN?*t5 zcO2^aI`g!vrVF*vMD=Dshs?^%)a4k;!s$aGUt$2uIL)PD8rW;iDrLbM>CBlifHYauOQD=Q$ck5~S&Hc)U8vDo zn#L0*d0kk=KLgprpu-ea)rf1R+!uO5dh~WqvtX>SKdRm~8NlOQ7qm2^Iko9Ik{bM_ z$Kwae<`!bSbW(0}9qIlwe4yhCEl*z+icK5kb!CaNPK&7njoi%pWAY&%!d}YWbWQjp z)3@eLIWF0gN6n_xYSw0(z-XG`PlB79u8# za4;j)N6QWY%#cYlfVG>_eRI3D#&leGMIF{MIsN?)uN%rPc>FSXc-Sw`^1-pYMyS00 za;Rx(pDfG8e-`_NboN3lP03r=xaz@p##4gMtwXrj(F&;ZwM7U3P;)D2T1bj}OzbuN z;N~iOj^?nv=#*YiSCn30dX=}ZUX{H~@s#kru9RNzR{(0<`~>i*=4yeejUO1OK7K5e zP4cMLN!@`(vI!mHno{$e3ClvBAU?`_WSVc%=Q70Bq(ErqN;?Maf_~M67DV%=OVU*G z_Caw&;>S1?vhvh7r=PE2EtR)a#LCanMLQCb2~B~-nS|^j>?rXCVLlDl#1|kEfyD0u z^SPkDeJ)_f$I*28>6)87Y8Ig~7Q#2n*SuNjo_>%w!JmPh?J>ZTuS-pd;Ia=+u(;GU z2V4$6xHd=HuTpsAZ(k&LS%(JTYHKZaE~swKIhST2;2TWYTC+JWh)8u!NLiGkSLR0% zM=_&1GBX${~O+m9ML93Cd98^ri@*4!&3nUc$HOy;hr(HI)*RXD6I$Hyur8F#xS)b*=edtOlKJ6XIHknb1E(?1Zva0CGi?7hpo!2sa+ z=Xmq@z-R~azOtD!fJgV8ya~x~GNbcE&Lf!TxPnU3cQ|>`!x{|$Oa`?l{$@2N3}2*Zdd(=@CuIhN8B*Xd$A|^yDM-?(#XF3N zl|aWdDaOVEjI*PRE52*ck))G~vyO_(A`)X46PE%KWEd090*o7zh>68pjP-Q!#$fI~ zZYA%D(lbIV1R7YR7`GhD2d|Phv}MxnnEP5~QtV4^XNxf9&@nqrx@VBO#frOU(1;l@ zC8EC@C?;?O6p4u^U8;8eH)lT*c-EQ(}gwzgy3p~yrE4a5w}>SMGn%pJEfUHBZ;w2Itr6eoYBvq z62CXNOd}I>75|w&;%|%zBmu_qk`2mnm*WZ2_uAu*_~_mm6QFCwh3+|Y+;rGej_$+A zA7Fn4xvKs0mykaVw{D1kmxuqG#+!d(jQ=CZ$^1)KgOZdZk^sUrD$KAxB$W8=JKCbS zmo7JO^b0hUfe~CgtdtaK^JI}r3d_p^_w%x(MC^Vq&Yw^R_hykg2h`5HEFXlwi)h}H#}O|)QLbU zS_ryS3IoRDAShHihp?s|#=VMIVR{N7x_MdFO!lN@=ZR76mc(mu8L^DqV3M7mDc10C zpmw4AZXcjs7V7t~|5PWfjNU~Z{$72U-Qft~FcjrQ*#`TGc_oUWUXX*ZO!IoS;X|}| zqJZkyngU}A;pV)gfqt__9b7r7))X5jt4=U$>03@#Ue2&^rgTRZo{8gYr_-y6V@joo zNCt(5eU@UpsULFoZp=C_)NPvM`dd0TZaq4b$)K0;#mxRn)n}2B)9H0hBvi;?2DOVu z1`Q(4ehbn70#H%%7w2)>ej28pPiZ}Q28a4&<&`)c8mV_vC|Qao3t*+kVmG4uU1@$+S2at4>gC5uS)XAdl}(}h09UO9Yua;)8l znHDDQ0@=?i#>Td%kJ5<%2t4gPJvfjIcPz#>NPg!pfEr!HuF+@41Cn8pVKodoCRzqv z18vhTfMtzp-ub!8Fw5}8Wo_dpmbU97_@>h%+QCNDP2DH$>kUKC%=4Eg-_dvcyN{8s zAAKLBueo)f6tB7UzJc#En5`JLj6Qvj#nm9b|5!N{O$l4!_(Kxq{+1*%{%r;(W@2OV zr_o0K&+6&_oq{P_DlPD%@MuXcgnX}6O)BLESc5I_I%d(_Enu!1?I=QYCQa||$Ux`%`a|AZB? z3s;AUj;Tb|26sOSoQBsPXu*M!J6pBC`WAAGGglrCY>KCER_D}C|)k^r?+ zMLXzk0C0vPeQ0~I4a0STEQ7az+AdQdN6tygYw3u!E<3Z6M|*wc-gbB8tkNe@Ps=Dv zWc~p+Q*stl(0y_NR+WY_dId#JSu7GJetBw+!ys4)>A2l`fko5c(4z4B{I4{WNa6^g ziF+y}ts~L-295eYdZj{9%NK6nr=QV;!i>_^GsM1^)hAm@Sv4w;kHqDV0B&1+2f4zV z8@mwJttQ+a{S2+m`be;BC08f)W)Dh>C97hz%8poi{@e@(Q@$gEHie|i$JqTlj1a*zwusv8W&J*+`< z(5O080~WVnqS!?-BC!L0^hZQ5akZenI*FbPZzJdtO1|`v1!=h@wWCHT)_g3lWMvpH zbpUz(Q6oO3b7gGU?;OIf0s+-#t(c;lp%2e-%lGVzK~}GaL}KRz8#8f*k8!woNI$;( z<;mRx@z$pP7>nNDZl7TLe>9eVaplf2Q<4Mn2*ESVG6#B<;+3^=)Q9Km**Zx9ngo6C zkEUVeW8DdxC|)e+yngU1Sjgpr^Fz0NSxor%-5+lOfmB%@?057J^n@_TEs?1tRM_5K zOa_+_Pg3m(go&Jp`80~zo6F4&TA9zC)w}6-3Kw{lUN7V4(Fg4|wvqt{5RUyOWV*^O znYpbJ##NIo6WAsW`O=fc)%%NK+7{_{)9VqKmb8kG#?ojG^^&N3oArx9jX!>9!tZ(f zD5-vHg@Fvx<$(ifl{*~(vw+)W;qEmUDAdFIL|FZYtBG*sPG0*nHimy1HU4vx#=qHo z@-J~vQbt|quN_;`wg$!~4*yk=il2}i;71AhTv&_=pYy0(S`MZS(j|BIi-3-#CGL<% z>06qGA(@{}GNt5A2|!19_~J!=R|Fj{GUU$`n*Mp9y~C%wy_**-<4*z)M%|g#7ZIwG z1iB15{`DfLUp^+OCCI^z#@2W?wFBMhg;7F~h=|34sR8?9^%{|~SugDcj9`Z$p0LgP zBf~r>o7&e@tp2+BVu66&-_>qIMF<-^8`28l4XPj+c3MsdACHpPbPu5HJ!#}Ge~}?D zd*l_4D^?E$t~il{WryE4cV|+Blnz>FD+PR`FBS@iG$j1a;9%v}VpL$T9Xop7VQ(Qr#dg z*w*m3tYhS#uE<5BDQ0$v&!B(dxwh8Jn)T0Y5dXpSf1Z(l(`@-4XXIb7%=Kuy!V7K+ zt^@Ak0*>YauId8LDhj@J_@@1S_?EP|pD>>^>Gi%j*fsdDxVhMc)zjl+P-9EuYVs*5n+KKAya-rI*)l4ghm>*{z=8S-}2t-0yFv2<^ zF{qaiDlOs;NHc#lO%F5*p+y=;K#eo;W@ z9WB(8xLa$~6M0%Ra=>Rdm>d2zO|N&`50IM?2xBjK`In)IZ(qD1@l$T|0z}$`hQ$Wo z6d1guVer-L0Hvr|eL{dg9CKWJ3#LvnD>*psJE(nDV4BQcz6;`JwgG4YZaUO`Pd2x30~ z*1y1F?j+qt1>m{~_P3&3_P3IFi3vc?j6c@|-0Zy~`FuYJ1w_~h4#yh5sb7ACWB63; znmxA%=~1bz;(m@covw07M44k&IuLn=D?A@P{x`UoQQD*d)7w!D*iTAiL_8 z(O?v9<4Dxn60DXC(ei%P3c|6AaI~;t`mQD#i=obhX6Hc(BI%@qiz>9HbM>ylF~5}F zd#+6(~P#a;+X5XoRLQUdyA3*(K2{ z#Z`i~kHaFN)(&4$P8IB)7IcmTQ-&rT-xLytn^rQ19y=sORhy+dj-l`#JX0=AD6fi3 zGRqZ5iYJ~LCe!BsMxv1i64306ORuWdvKOcq4>buF6jRa^9$ik})!E9pxI_?Z*f~#{ z$7T$*sBB(<$~D!pGem?G8IoDecj8^$ki(L*fuIaCK@#$w2dN=YN>&pY#mA}I62(7>Ri9=1R--{L8*D*I@|^dySoL| zwK7i9S-Ezeb;O-vWU5gV)9J1wKhxFjtIC6>z2~?4u=LVqs+Af=AlH>VuoSXy{^j_1 zYs$mEIyovN(kMk|vroaSQLl4qpJp#dyvj`qU8@Mav6hs{k!|1rC0AHgns!`I*l~81 z1!=hKc{Lr<=V@bk*%Nz^4?<6Jf1~LnMko}hh{-H<<&ui;7VA2^eX^Y1V+yM_!;@}BLiDD9&RQl5%obto@7)Si%OvrT z<8{f0^8^a;BRhw!nPp$7E2rDhM1INjWxA+`u(6||%9oy)ORD6OinTORt}m zBavG*A@!uKlY=WmJ!6VdrZ5!jIeJ@{X*j2vU5+f-dtxQZXy)M3{<6Wkm~Op*JED%D zd!J@J*!@g-u72uNAO68!v28^`b{8e}5Gdrx^$>g@8H^3%DF{0ao}$n@mU68DC8fT< z$fbT9<@B|*6Vcibt5a%HJFb{*PaSWz6eb56D!IJ#t^)ei%Wev%a~7$<&-i3A#clHx zS_FxZ^29WL1KA}jn^g7Z)_c2$eaugaHJbgODpHo-ks+sQKX{zs6|J6Pj(CyY6BSrdRP@kG zyw7M==zxA=wlUmHg2|?HhZO0WSk~JjxU9gWJ26#FE}%Mj>_cmxyvBBo%ykw1e!$JF zk|wKI>&Wbq47|EHI(R?cD8`exdE}7N+R|lvf83s)33uv$TnZ)f z!ZnU)oyXjRcMcr}t13n*ynsehPx+fr{+Wjex`FAd>20`DFBBO9=t175O|*@(3eOKQxTZ9{R;u`vS%hK z1z^IWOiOkLY;X^xtqpscF>tii;&0CaQ!Yh#T=K$>kZh*2oTsO5_Xy#!C`0lPv0m$o93at=@dm86CN47A+@Kg{yztd~pOs;~-RVnslx#4Is-$to$*5hLZ_9z^w zoqsS+>2df?I7z7Yjn)8ae%0}R(8*;gl}%tx^k~DI`yvhkKU~!5A-n+IKcPxyzY@+C73T+m`UeiEPP(}*o zD99->*+z6&xYNvf@Yr1-cOc7QAu%rUM@ga+JVZg-%>g9B{kKW7Vke{M^%s2EA>j9qNv)qKzvKzgB_U19dj%aUT zTP=APy@H|ePECCAX-4l)j)1=9tlu>|fi<{cZfo-HxNIk!jpbr-m(^DRtei@=+i7Y6 zUgZeWeRzAtJ78AMD@wp?rS@JD$=L(3AI>g4N;cCaKf^Yh2g(jq00ocZWa3 zYrk;T;OmT`3FZr@utB*%eRr8BITdDMp=PRp?#+rhJYkGT2~gIG!l}Tm7tw|zq2Ye{ z{ZblnG|u8+!0pav28h!-wRa7;cMfIHvH)T4sP_%x*>{&wh2Z6VpIhIX;oU`kkcKIF zp0sjth_V$z7hIMPEAwLspEe}gKj^WDF0b_{Jong z?__3T|39V2l-6S)+A+>YKEuO!1s66RJaxFZOwg!hrNUa8Gz~&K3HK=C5aiyBM~2}l z)Lovh7wAGdVz(D>i`988CyR{*pQAJ{>YRJ2UzuOxN73p1RwIYK{EOOU;#HsDmQ_H3 z$F;!6HI-rsj@~U3#)J#OpkTxsZ9Sk+_J9O~&P8}w1Yh+QcZ2vk;&3yb7IELh_3;-< zZ}4tBgSfvMc=iTEVhAO1 z6AYrCQYBB=f{aWBNv%q<_gqppG*$caw1S~P+2I1Sr{0)L)tX>E(oT(G2ktRvzCi+b zFIw$92J7~|-6&7_b>*43Sp+e&j2TzhHP)1jv{v)P0~tDN9D2OzEa!*XkQ$pGKh|S&_?ztL`uU^gQ@7?B+V&M`^HT?%mewVv`q+xD z1vZ#}I7%eR88oVU6wM`61lP=mX_JdF+Dmj48;-0)Eyu=T*R*qP@ELe~NxJ5nTU{kP z2((0UCIaG_!^*76a7>Z>yfN(M)j{yx={K5TLpr_9z-SyBlR7{1X!=9_}jQFk&K>G?tu=sO|* z_zgCITv3Jc`0-eom4Esc!#}-ffQ5oYe&QG>f{NSnmV>t9PnKuqosS8Pc3}UEBrNGw z)@`u`X1E45z=24McKViFabiLZUuoYkqQT7{?2*MkbzjdrVpk`D&0Fzj^|Su9+ah;2 zeF%cb;UTO3`ugTRW~MW{4lDfjkvHMC$rB^s@g^Vwi~B2a-CNSWlRP}1)<3k1|ar{W6+8FE1lXSA3xyM?=^To@hLSV@9WzLo24e*(4kuIvID3|*`5Hp zj?}^4TqbvVr$|$Uu&;dtC!;IsYeCuV59e2nvk$!Y`klG(FB%%IK{C9zND%A5F&L&_ zTUS9=IiCuWlW8lrUXTXaT5YDwoDO*34$K_5W zX{yT3>am~YlQyHT!*GeA77r#^)sif}?@|;(xKVKGg(hBxN--1wsbEhgSI$^onQIW@ zZrF(&SzxI|lj)bC^ZUNdrm7zHpc|8Ado-v1TWP4pI?Db-JF6VKDPON}(v6^Oh8PXn z8aGT>o2d#m`YMB5Z)mlYb$3EQu<>$}6#je(c)aF0G>55*AV!?Ay&r~v4aZFxg0F2&D=G6;h8DMwV|;k!;qYCpRsF29 z`t?m`)@Pr-5Gg&Dl>2Z&_G0{WNMIS;*02IBUarKXN8HoaBT24Fg6q`Y2F|KN;6O7T zKM|@;RL1-MIY~kTTfW32xADwqfUNXiF&n!?+5+X{V2& zbBs^b9X%(O{I~$#`~?UW3_$`-XwSQqP&FiC7pjpg9Ahz4TDtWBVlO7Tln;Ap8{Qq0 zyqEh`={cjXZHY#aht4wkKq_Ns$Yy6m*x_#!RK!`|MmskMdsvjNc6pIJ$yU&rFt6H7cmO^V?)X9OG5wWF;Lo$u*25mLV)k~Rpk2P=P&uj&TB zVGrOoH${FWDXuLt+RhE-J3*_9UaGgLts~})zdz*-{`F1GdzF3(LCGZG1p-4~`s*-V zXJtq%m4PsRUHuZJPyO%NUg;fR$*=G!E97kQXt_UB%sm#64$Qq#;U8Cm2@HHk=gNp5WJ2ZR1SSWx5BjDAsdJlHmthnG4BRY_Z@{5S<6C)2P&?8P7ydLq9s7%8pz{Po@jLq zag@~td?mSfk4?jQ-?#rO6Y)5T~?lk1Y5=I;FiS8(Wn66cs zrvX@7tO+Tl#MHEZr)ix%Fg^Bp_W#oe^KKB&HvGgR5dJM5;qQOmN~X3JX72yf2TOZV zTbD!z{IJ3ci!W3r4k#@n3BXBRIwcE8P8q^Rt>9G7Eky``eQ`#lADbP+S^H5XRLT}U zS<3bX_D9O1neHX7Nrm@U+>efqp2sc$8>J6HzduMRPhXJOvH%@6z0nSEi}26IV+0vJ z{C$8sf{91^M;%Y?ug1^Ghg2B_I$uqm(}zt~EvlLpbjT+N_z=patL7pcF~CzUta^7bgu5PO1;=;QEuP`QIM zX4rktX?XUi8uT=He)g=)erDKq(xk4C=4t)NNr`p}`O_#LZT;x6~ zaba$xKkV%8=4G@rfB;CJh-Hd{HD5xsYsR46p2yS$^_*DV9ostQ^*hc6WO)3WyuZH|Xc<;vvJ!*Y&wXvm|xA~j|CfiyN&+Gl>}@46=Tq2yB5 z7(PZGsHpa9c}50}T0W)Ny{0U4!(6g5i29<6~?jkarFmTz$w;#@z6Y{tZ9< z3~RCNH3tUklxUsPSF6JP1p&l-^-w$@992IS6ZNnp8a$T^!kE0~`V@rq_ z>P7jt2_Vvd=r=UHtr(gZF;}Jiqk7qYyI(eMTsb1TKgmlOvM&;{<631ID2bP@K`RTU_vAITeLxKQR_+333S) z1VHY55B_8Ct=o`&34mNeCP71gb-Z1p<9@`s)%>rP!@G4I!X3Q7j=&`mmwdseM<)EY zqvgzh>n8p6M^N|#PC7Zce-cVeod1J?Wll0ywZ8b4c|LU=%O=K9SMLR^$v=JCx8G&%k!cz zC;>SZLnX)WjGox3(_9_m+COx&=Cha7O5qM{e=wAyjirB_%Q?uu=rO16JLDv9?W^^Fds|zm|Ng@`_cFBr23L{47 zpp)y)*}_)B$y(uzNWNC17?uyq)Xx-GILmH`@ljzeYG)N%bs^?s{F@K_uQUG7X(kU>lmCK4rfb3Yqc7ro{4j4}Dht6l)B&+}J|^Rc`bVfP?oOphOGK0*DgM z1cv<+a2UPPV&p-+S(%wPt~C*GH>&Z9OlmiG(1yWUwBG3v)QDBy9M=shx4K(KfQfUC zUJxhs8%hi(%kd6sZ@TM9cKi_(!>y5tbsrz7`@o8r^{kg3?O`vwPJ(NdTSJ8F!55!z z=A%&T{z*K6&_tGoUN?6r5JZcO$vE2yi8S2RCTJfkVP>>f3(h=OsxBQd`?wizDvktMVXO9f znUA%bV~%Bqr<|i%LKtVU&V9rgTsMWrua?ZB0%3WgOrgh2zT*MKY_hR8!9g%baMJ}L zGU{x;yQ0T)S_Y@Szc|QgnvIPhFQG(nxp<~m5jI^ zt&=-_)}Z5?IcMfSp2t;=p`rGu^u+4#m)*mSu zOFH~B(v@0}ipF-(T(U{i4_P+9cs!S!`BQOnxk5!wBe*Mden02ule63>9=g{p%I8X? zJMTCKFSeki^Jx5hB>$cW6YM>#(QxU|;il=kMgck@N8Q(+=pN33Pt22WN&OT&gmhat zL@jSfAB{eT3hYM!g{wZHb3t>DCNa#9#-ktU~8COkrlGpHY-w zll#Y0vzRdS2{V06&Rr%Q1!r+c|(4fCcI?Ybp zqpp|PEO`wNm<2PUq24ARE&O_!%uWvU2VLC|XA{p1{T*=b);do|6k?xB6(V_)F6F_c zLA*oGxV|&2@-WXVciBnxP%;<(qUhm;>fY<)^YWnB^SjjFAZT;LS)$6BRiht_%5+B( z_3eL$A|0+7q#*J|&SODpAx;B}_35)}|&_^R-=Yjxzx`OVKcl z2mY~;jbLq&Sm>sO@X)g{^S7E_=jlzyi`3K9w)51}bhMA+E{mQ1W~^svj;T?tO+TPY zk8&)7f+km{O*x&p2il|`gRvkeu3xJ@6s}r}Iu)bMFpR6hG^|T$BSKkOt|Qz0M^62y zW+%J^(_ohF)Q6xw&v0A8Lcwgg(u`=wyim6Au@K;FfGUA#XH)lEoGaTA*vk6ur$JZ_ zv&=SfQq=6W^`Ity_K4CXMGqek*YhKP3RhFt`0eB5{jkne4#L;?Q2(Ub3Txg{1Vdt! zK<7Q3081&%S;!Qb?CZ>P@>IMV;tCK#`&pc%tl-JPJLIE zbRFgL4L7u7hHdA4&=s;vay{1epc3T_QKc&>22+B?g7dTbw| zt>Ep3@P0|@6jwc7lm_%Wx1ZwE#@mkFZiu9!RL7Wz>2(Ll`uYiMwreWu!XPXK1^zW@i}X9RBX?is@FG2^vw^ylf&ULFRbRE_y<0 zM9a1`{}K${X95|-TXO31;1Efsk+5YDgr@MIPt8-H7XGk2Z}VX`by>EpEmP363|(Z@#y`KlL3BAlpg8td%Yholvu6-VgurZc`Mv^pgxRmT`ko-CeXrcO zil!2-1`dQShMFnCSSbcI(}gT+{-`yNTj3h1&}ig|9KpeMeq6afDOz^X3FcH?qpl;{ zLd6%|QR{qKF`k%9^MO=N^yYe^g36#E4TTNm2?_dBNsDe{~^6hf6M$qfC}vsEZZkNvyyhIr_rX-9>9^M#>*v z=2xO55IkfP3#`!j7c8sK8bij8evBjfhYB`Pc)RF z#Q!;`P2NqGcr}H&<=Cg?&EUFb5Lo8-{*l;Yj96k?7s3NtDiNPYC zQ;fl6Rz$SwuA*gsRs&!k<|s&0wc7I?^dIbSzZ%PD^okv*ND?S3lzTDK=S7NUg|?vrU_Sma z-yq~B9lh}>kflEf{r_1c|9#%>U)AIPo45O~1RVTXH;Oa zutJ+tWKf(PlOL6xzff6}QD%P0i$D&+n;aSKAMGFd0vbmjC*08Z<+)avFv`-*_^&U8 zg6`Q-63qLoig!QX|NQ0u%Nm0JDwf^cO&s0b{uN|R8&h2uMvm~)Cdg={NOxuEJTh=#+;kDVASFrGTU5IkdR@!gHJiH7XX~`sL>itVXh;(Z`SS51h7# z7a-7R27&ITi%9duB)&hXFc&w4cD<20*yZaEcLe| zm!wcF@bYHB=Oi9VwQRU~LSE={_mI7Tub44?>Nv(UkoRbZAvigEIQ?|RqP=K5&g_=J z*I>8v&i7d$SSB*_y~v-K*?^T_j2FX1m7=DcwTtA?CowV0Hgrv$xkYW@GCs|EwbEHh zgLySWgG|`72ZZS&LuS&FkgYSt9!n{@QJre7gs`Pj?Y42_9xTVgqHBsi7M6mij4|eb zFL+kIHEwOycXL}&N$D4F3)3HY>#-pXxU7W@S2boozW}Pb$Gs*4%8Z1)R#_ifca*F# z@R;Bm=1BqzSX*y()T}A?WtUD@2#@p!<>tyu8HZ1+LNT2dpxJ6^>oL#FRaM;HG;ISD zdE)!#&qQD;G7&O9#lC?b{Or3xyHxU4n1_GORa}fGp)i5e(q*^*wc%)Pl@I<5CO8~U z%MkqXgu5Qf2mFKB8p0&yIKFQs@yA}z00~tMIOfM-o{$b*p~nq$9fJ_PzYT}WA2!~Y z5;A$#Bv(i|>|SS#-kEOw7UerMqkNAP5&yYLDDVs?PbY8_WUe!tQ8+)MqX(2O^tkKsQ5ome~(36phh{iF6i)u=ISP8!>Bzcn^o{N8J%)=*A#1i6MKQQB zj78Kl)rG&lU+b;g_Fey2*v|PT;7YTqwDtV*w)N=solEKCCAy_j67O9j_Kn#)3zYr< zA{+l^x9|%SrH_2myCWf!$(tO`@PzjU+0LOigq`8oz6Pjayq{0+NaXUJcV5u)J_7%i zb|lxXAkh}RF&!m@enJOxcgNDMgLeqr$3dRe}5#DPp@21Sfp+AT@q3xg#KY; zpI*P;jo}ji#UNR2U;)zg@hx>C(#=z0P`bCYFkM1p9a7Ug^q~s={w?;o(4@J47{G<| znL07C>3zTUo8=S?VImxNv=a0aIV`^-3k_Q>&lI{(h)colEe+)PykPEOKN9?Jq{qhx z0MFAt+8s!j0GXZHrC3IhtyvB?`^FO1_WXRo3hH{dl^i|cq4IW#T{(r_k|Iy4mUr%c zV_XyGK-muhPlX52(i1PQY~dk}nou|b2-K@~|iJ}4zk zO%6nb;LZEl)~nJtLV+^p%2RcY#qMY^kDxk6mNb^dR`il(Wh81yC?*nidPGro)~W;g zbYiqSmf^E>1|Ml4o(yU;?TjrE>#E}wurKS;Ghf2WFJZI9kKL;?ID^=K(46Bj}UFX%BP1BkigB7N_y2p)|bIDhXMAzPRs;ECJ z3#8*I{T}QYOH>#<|Z6;&RoKy}HM`4XsFuWu zv%1NuD%8lzs&d%G^fDYudulF`rmn`NX|lP=}rc<#Qiah&~82aLwg6| zS9U=!teqZrb4b63yC5>8RYhAPQ5cA0Q;L*!+0a%smdaPd%Zej&(=&lFQJ_SQW-!WL zlWt>vQ&*IM(y-fTx6lQeKZMHT3^TizgvQ-Eplq9DyRyI6M_o6$n2p_wb&SXjNL-9u zl73Gldb$xq5ps3UA|Ok6zqEL}6wnGp5sH{DeGMBOKY_Z>F0)LBrQpOO8$i)j53MC! zK1?IGqp_J`piXc^BybruOE@3x8C((ZFh$I+RY=ibuYs=CTV|MNJ;;T|@e6pWiuyG6 zNxudgxoWdTZYri+_H7Ep=?pbsPpvgmM*CB;71rSHR?k>Uh-OauyXwoTz_4DTE|9o% zGLrs^qZ7w6Bhz&%np64v4EAJ<~Jo9IFr&57y3&0yb5 zp=?ddF4U=s>S>f3YWN0LfO1QpzfY_QSroNROhXz@9$Ed{6XnP7Jvt8i6G1-Kt)G0< z6WF`-;b!vnV1f864)FN~3ng%Pn_GD3lXtij7yCpd2OADkQ-EX+S(;$>GXaVePIGhQ%~@e+HE|t>=4Nt&NhUB!zB>C&LnZ(U%Wj#%m&f4tb9g zS@Qub;vA&(te}B1`#lVF>|BN7J=#>K_dIm>U>oW3oyeT5-DBl9@L$1S! z=NZq&0AWwmd~btkexZ*Lr0l((ji5FQ5h;&*-OP$oNgj4l-n#W~bbfcp8)hv2khL8h zV2QOie(sOzAX^|jKf55A^!-@Jpq+pLHc5c1ax#xJNbP-!TdV7ze^7#Dz=2W?WMfS?`~eQ)V@ zgUtLzAffieuIa{|$PwL6A8Es)pRnlZTh!QbLnAL(hGWH~ zTG~IPy-SeFv3%0L=?noJzb+DMy$?+m@_uTVr`1T|V|&g0h}8aubRz1eld&2F!o(G7 zS8jz;-wN}niOj0%^_n& z{zRJ594cfzU62PI*O`lmo;X`j-FU&Q%ih{nA;@p$61fA-daE?uWDY z&8)psFLS3gGq$Wjnl{@>8p)!26oDnmVDW;2S%pJNjjw>Q3@K^+wXNMBTTLipMt!iY zEgWgZlx$C1*fKa6o@gww@}ny#2T|pu<>wSZz9kT1fy?iesU2farlJ0{-BJl;bDqG^ za?R2SL|`%uhSScCD$G1=V2?3|3`FP8^D%Y$NN23)9KvrtYIEOM<8KwQ+FIbDj7x=~ zZA|_krk&6#PPy=qq2w6d zx;4^&=K^25b|*zbzej-+cB!s$b@7lql~6U6{UNV+cSZfD^3sDlMt7Jy;VB}{;R(gQ{j{oNu4UaY z);80&@=o1li0HuCGV#vb6^MAm5j1{cj!4`)0RX0+!q%1cpWwN2Zh3xe#O=mne~;Ux z3(jbEda|5#_YeL)hGDiSozbv9)@rgoQtV*K)khOtKA&OsYz00!WIoM6>E^ga|B~K& zxYRw_T`yq4ZL{n$nd{W0Xv@`=2aB=YoXQqUw~!vL3YH0hJ9mI}!jSdex~o@XnHSfe zJk)=s0+{4r)4G+R%Er#Zib`xaoJ0j^CG6S-TdE43`;2t=zl$FcHf1M+uSGH2VvJ1Y zYOvb}=QC)|-ejhF84O)2m_JNo!>wKw3j^ANS0t~vdu-0icV`x&S%^G!j(1j>am6Ph znuW=9FeSkhbxCp%%~u618;3l()<*;QlVR-JAPT{=6}N6we+^+SxzMF;5@$6LXThv< zy!Nw-=!MbaQ27JFLzTJ}Ntkot)I&5dxf?MO9k|1tZ*5A=)Xf-@h+^tl@ z3Z4~Kn6=GLzHAtQOE+=FGQhU@q}}~Fafi#`k%hDqG9D$(pC*dr8_H^oD8 zqtdy96R4?KDOn@%gSA6G`bndE#X}VO8Qu^Ltdla6X2H80(RAKZ%UDzvkN7}$!`p4xdd+Bj?7 zFP?1*75QZ zfFSg#C)kau9xyTT6x$*QwIIZf zjl`TZW~)@KPgE6%v@BgaV>mS^t6r@Su48vPczH2s5#HXRzt)wg$;{6@R=;;limW-YQ}*mEzhYJ$Hqn3*(|Sv& ztR^z>H=!XYHk`crfO~WEx)BD0IMn_*>d~_+H&Fs#$R=y#BhN% z0?#VTbtzV9cOF%6kh#F3A1LEJ8Jo@x7(DKK0wv76k$^F}GiCTbIn*HiWQ+6qgv*p~ ze7EfLjF9n1A>$82#;t?qEuZ`gqudLj6F<%Fi=q7hlJ~6`jL@Aa+tc; zP$kLNJg24!2>h%AYl7%%hrz3Rkm#h+Ip3sP>%?M*7aCD!OWI= z!nmpm3gDX0IZWks!aPmDZ&D(KVqN=(m;9KT0PmkF#x#TbzT~yyd4Np1&``JY>5@{5 z4g$Vlj|{m)3uE9utAlN0ZVFbVsFqnM!G)OHAf@}rzU~Gky_a~yWA|0-8Rcs+^YDf; z!Mov6tMBv=&~!5w5BX?5pXK!#6$(!A-dkyV>ze%s!t?$@w6aObQ)TW0ERau925~hn zh^$!*3Qu(kg$>gY?-jX0}svskKZSBY(#yR;g1}?UcH63Axp{Hy6yqYrMw= zv|!_8Qz(oeOPW`5lkXE7k}LmE4#;!?Gn6ix&}p&g#b!#rF~afM_l}{t*GnsE>iyX5 zje`Sa9l%ZtH(tBs?}h9b^QPOP+-K<28ZqcpK$U2AhUp;ZZ>GjfA(u5*q3s2&fuqiB zrbcU~A9vA5#c0+hr-c9w-^Mr~Y|@Sh0jXZ&xgz%5?rW|b@R6Y>iFFnnwvuFbXb)m? z!Z62?vru8kfMGXi)f_LDTo@k!Fyf+4Sg1(J#Wh_UCTKC&8Db(7tBlCqvg*|KPq7+C z=RoM*>E)$=gKtqCVenoIIc`o#1#*meb2z5o>f&eK@-Cet5?&n~e$IvCI1S~P_u@Q` zb|O7ac=xNmU8?IG;dcZGbL~A`sv6)d)siyBYFwNx=3;)%S6Jls`&C9+eHG+GjYPcl zP|3lV{f(Ekz!=M6T1UUMOIZEz)5ojP(a}&;;im}BwM7I+cq#1eq>YI|t2@q=L<&-6 zsN#Eimmq5_gU45y1h{W!m>yaYsL`j()%!RU3%s3+wdYG3pG%xdv72T5`CRkdWL^FD zPmP^ ztg=rY_o<$QOxY(*z5+2biC_eiR|OI5;VBt7X|Ua~vY@Rh>>yr1ngMH3 zJk9|*XwXO&(-OvVotX<5aurWl=8lrnOIJ6Az^Xcxp^G}oxt6G-vwj=YZ(;sK<}X%0 zMll9*WO>AvSW_^2Ro?Ki-m-J#<;o&I4A=@KBit_$J5#mo--(;4qN~X>vgAyQe-z`; zGlVEm%M|-UE?BxN6=qM?qj1NrDKo#OHVde8ks~ap#?cEe+_3>koC@(4qS+dsA zHEE(eNyO=W@Jd6pFzZ&$;@ZpVBPb-hxR(@pp(7-HoHDie;fJfBru~!L^}V|F9x#8b zxjNm@=%e|V3?^1V4_9SnV0O2i*8Vjo&+go+DMQ0(`Lf#-R8Y{MV2HwM_u7Wym=kMv ziBtu6Kn_a9$nPM-xTiQJc}9$nG?l~iL%ub`rZr4oOR+Ek$f50g=~%$W9ZC$+EiQ(8 zQr*pnm}OIy5OS-8Kt-fPTXwN7l~^!wG^}nh zXU-~z5&Ex!_DV(8PzeX=Zz3m|IVU+Vo1oh%M7`hMEke{%Z9}=%ckA1O3*`DmsJ;ZQ z9O`^|P;UYOz(0i;_N-njm~*0xL@UaWlPX;T+PuC&#I&vFGx1s7(I`RPR zqjoL$E^B;O%-Bok1f7YAJnvzwEiQ{tJ?O}@1V@|sypuj4cH3fz)Fe%MceU`z8W9+IZa8=?L zK|7_E8n$-o#H6eg#;@#_l_AzM1snt&*0oI#A_E&d|EpJy7tG%Ih-<1FQ^v}BIGdjJ z+ET#|1KD)}!9<#wRLqkmaNlO|_W2+3!4JYff)zVB82Y}8dw^Q)YZ3{5%YFISU!H0`y zBKzzaO=ytvRW=D)8q%`oi}UCQHGp2@!$@y#PGp7N|BYdWHi$xmMi9DC(I=C*vi zKLQG@hq1rP?yz5Z?4b+Bh`Af{h}g4<9P5Lk(#hZXPu{Q7qQ#EkroPDAQ$kQ8qGie? zkAYDVq7}&WmkycdjRE92v+P-YMi0;^3s|4&6M$&U&JAEjH}`Uuf_oiOF8&yRWfy-m zKnJd=#JmT4ZZ_xUK0e1wzAK?dz_I>vK8oUq2fhtt#<{$$wU85!rnAVPv#k^D zAlw1D7&U@GIYW2{+5AklsY}64z$pY@$VJ2<)b|K+&%rc_qnV04T$hL4)O4>lzyHu3RE@cv|wmFTq6qNQic`$g?iS{_$6L(sRtRFlI zT3gxz<8w2Y6Fa6f&TNiF#wt5a3#i+=Uhg)Xn}?{sB6S2jz3UyA;O+(cbiYPiGfLqk z&BehFS)f28h|RjP*y%jE>P}{w&?M(jrOhj41)WEyHjg$ z^?YS@Uq?$|qFv@a>}iMQBgx1%C3}08{4(xMD}S1BgU@<=eI{D%rZHeq>;8dw=WJ_R zEz*%&mkLzd@twMrFY`tCiP7Dslg3tDx!dn~QP$rKh~~gq>VlLm_Z;gIBnZayoo9)G zA+U*?i5It1&M`$0vZ^!I@Es}FW7Qn)W)D+fOIv5B9n513(U{=!jF@y57=(pB#S7LT z?$U#mMA$umpI|Y!9xu&bh4f*i_CZ{Ci9W=W$X;U`A?2Yg8}L_d=9ft@9|Gbe z1V{p6v!eF-2)5lwnf5UVj&C9oWOA2pDH%_^;hfGpqvUv5J8Q`%I_c!=O=STbnEF;f z+4XvYbqL%#tM)OEJT^vpcrmg45xrJU3^=Q(N;5s{7rLSR zvcNdxINz#rk1WO7vWf}wZ|oCMHQu(BBTorN=&v;#{!SR%IzKaKt3r$h&pm#c>qDq% zaV3x!?b&>(ej;1M^>W&m8b49Ru-49|KB)#p&_oM&)Ci7fOdb%%d09A{@8_KEI&KO9 za`tS#Rlm_q-9V|o^0j&Ysd-`?d5>>j0oUhrQ7!(_x6>^MwdG&VSv*d{MXu|l zaq`&-Q2GDp1pF6G^Iu7P4Trx5 zw7!PLQ-o3P+*nFW7uuNN#o);rnNrz+g^8Xaqgtz`l-DJNp|GSh9i)|BD;Rwh`w$ai zXB&1OmyZO#spMVhSUpR4QvHf^^5_5xc69jlJU$8qzK0_l4gy&XB{fIDn+@1E%m=IE z^t8wCgdZ+zuV42D!hLb5dZCu?sW|qq)mo zx7<%dm^#0cj=0zOe8`=IaD%pU0KVHTqUXqu8(FFKE;-n-ma*QukT9EJCBwqH-bN2J zqDFH1tDuHjQl9^tFdMA>UR0r*h2dl!r+r0dO@!f(7w+x1LerUAs+Q-ECL6sJLx6J& z!cQcCmiDW!+Z3!U_@TrteD4Abc65h4jhV75g0xU}@P%CcCC~Zl21|QT@S_4_j*MY6IwX%|0?SvXl_=i7P-sAFQU~(Sws1QROh}_H?u2cTDIv$?-9&}FT zs3M{$2_fi)TF6qOBB(GZ^&zN)bWiwDu=zVxAssiI1cd=NIHYyTO+f0bf!3g+qm8M| z_70r`MYj2z>bA=6vu*=gTgg8nzm`x3v7S;K58Qt>S5$o^q}3k4uYiYC>i3!2%9*V! z#qTK1`3=v*jkXd_a90%wskqlAslM!<=O25bS6V4-h2bCG;Ir!&yKSuav*Ste=c6~} z9u$Po9u-Ky6xA<$*+u+2vZWp6(6UT;+DqN2^W@aFL)}RnGXd*X4}a~wsxNqHia!tZ z7^|}FunLs9?k9ZSJeRJa)qxyT=bC^VMeQytb7?Adx~XK2k~M|=(wdKL%v$i6k+0DU zzXHf+iy2za`2*GxiUf42al1{r%Co(|^?i%#=emz27es$Hx`WJL20(8(xssKhnWM)- z+2(Ds{K%v~&;aZr!4mZBT^h&wDs50n4!}vbdyq9o2PWb!S2gxZ{Ve;!Aw=dc-V7tr=~fQO>#w9)>EbxVaj|(pS;BeB+j<@gk=`@ zSv)kkCq@1C+a~!!k%v+7$;vWj|h?Ld=^c&h2ZL3#ycpKch!;hQp__ZCWw|8=O!Sa-=Ad4ikB!Rvxv)d`3-(NN2&m@ zRXfE-%VA-mBrsv!#5kAr8sWu5dIz~-`s=C-XOJ~b{k-acpGD(;j+gzty`$`E;cVh+ zVgBFjox0C$mS_NscR)s4GyjM&y)eEAIOqTrC3&#A;(Q29bQO<7B)05&Tk8s_OoH(k%ePExE#i9z-B>fndCGOo+v(+1&IiH$ z(Vyd8z_n1MZEG}w$VQmgvMJIQ8o7%UL%`Np_v78VG;)P=_VyOm(2EP!j{xC8sL;y6 zO^*`*4&=t*84|>;$;O0})j4xa6Y{Nhg%0hV14s87VVi9E8{U6TWsXMdq+xD&4eq-CVZQH4eZQHhO+fK!( z*tVU#F)B%&{MXuNU!1o0x;P(Twl*)uGoCre=)M1rU-_(i3-+V&&SdF&@rG%9LY?1e zqU#%9yTa_jfzw1Q4Z?!GBl^5U_Pb_x_!zsUcl;Q;=67Hif+lyQ7=mVZXc&T~cdQtK z=67%yeI|Fb7=31UxEOt=cf1&V=6BH1f(@^v(SnVytkHc99w{R~*+1wbayxhf`W_w# zg}-I@5J1K+54oW}_7BOSL(o=k-S*fP!wt~rZlsIwr{}Hd%IDm)#ASNYc~zThWZ=(a zw&dqlP>B}aJn8l^Rv1$AQ?&6I>!k6LwsSM{QMTBQ+^GzF*3Rr3VtY!}YhFmiBx>FZ zE#KmR`s59WxDUZWZd>YYJe%9b+7fOLWtgR5)l587CH&+1Jy*#?i8Rq;a12D8XSZzy z0uGuW7(G;derM`Z$EAo>y9&BV|f}@BBpjeTn%mvVY~8u7MJ8O+Ktxq)VO)3)o`|KEi@{N3W6_-RRPIW zsjeB~DzzL~^%zW=%Sk&?MXa<<1h;kVOi6QQB)i=!`1uq!4esk|nwFb#)=QqJ6hjJ^ zN#T{IaydVurkV-v}5sRCW zQ*A9or&dIZ-l_qZE}``WbvcK2$AAmH9oGdHfcFw>O5+ydBS6)WH9Jp6yLYR6$HdDk zS6f}%T=G)gTpK9%_a~3;N^((Qv3o-81qI_+^SEPv=22}aS2d_x*;;ei0Vv&V=J2AU zuo2_)-KHNkQ3ybNuCxL}Kz>PTA2SO8qFfzW0B{wNQD!t#MyE)2(6Df4F>glFAM6LA z#&J-JS~rTL_%=V#W|crkdS+!XCWci;La2m{h{)3=88KV@&EV%}r%sEIEzycfRuRKu zc1Km-K>Ri{FqBppbqZ-Us(1g50nn~3n;Mk@s>M?7s!J^}=v7({i0FT-#Cp5Aru$eI z$w#pR^7gJ#XF+X^CV$5VFQie7=s0!)E~OHV(NTl3lB86)9U^>dvaTfaGbhcP*)U^= z<7y1g@!A0S3f)O8A{65(3bL$8%&J3)q@rQi%Bxz^@n2`#9<1Woi`XlD1 zBGxh^Y>#857Gg}OPh0HjxU&>$)1>YSOcPQ&u+zj4*%Cbccw=HdlcgXI{ zdc+TEJ+g;uxdsk6BHIt~>2|0cdFgZ_7tM#uJ_5lY*=wlPdJa6SH&@LUdNXk-9Hg<6 z4`duuDOO~A;3zHqZZR$H2qZ=_d4>wo3o*P1yFvfvGbMT$`IM%~MP2qZI;HaZ402a| zoEs8&^TegvwcG71opX`PaH#UuVox?aq>U4*dUd&#9>b>hW_*XctweW5s;OE8MxPJ9@h)tT~Pm znUc$LPSwzcP9mblg&yY3aU`#)C5>+rQn`zG@fgm4w|WYMY-OHQ#q3WSj#OJY5ae5G z3-dBjr}UFdhiuQf#S_=k17JL6Sx^v3W#*RCWEqE4sMSiH-u`3XHMs&Zd4}PG2CmN! zQI#?NBVvJf9y@8apq|O+5ow9Dy`?Qyn5{iee3^ewFpR(Xhptosj@Jx{)*5Hn#YtN; z5Z%$`E7^Orwxs-*&jXcJ)@^8h9u7a)V~y=|uJ~Llc0qo8!sI!oWD&9{BL8|8ef10= z2hG?iHyV#^Y4PD5X6Y$j*p1Z&?+J91Yl+HiJBq@~+5){e<9B#BOZk)BB^M6F&Cu4h z?V$y#)-Bu{fe@93>hB%FpjeW!*3gf`49(CCj1>uHe*m09zv4RzxDm*}2GsnVT%0d4 zY*PY&o!DRNlKTXc*#D3F{a`1`qmzPKhB)(dy8u(r6PnhRVn+aDV;wyJYb=ST<^Caw zhHF>0nkh`GhNC9bTC&k*wlM%2LZp|Mfp2M0n{HFo^CykN!Qi>77E2I2^DcPWOSo^b z7IWC-%vezQ9um~-*oD|-Zie_?Dky11sd%u8M^`@CfUWN+aYK z_Ty3=B%<95VyysH2%s7HlP|7X-NR_e;FYoxD3b_YPuV?de+(TF*$tO_~H+h+&GRrlyhqI!so zF;1q*Kiv7^RsT9KDyEw=qM0*O|Ir2TjO}-=`r+b#pM$Eq1Y$=`|ABL=XHA6_;&a&1 zD`6AggN_==5YdH61M*I@d+5t=al5-L>0S zMt?8;XMEjPUUtY{pJ*SBcm95lAh(=n_+Pf1XTACUKBp4|gI1ulzwayeR6>^>OzZgs zL?b!f5i*FjP{^9J*0*h zF@zxqPQppIaONGi+_@3H^exJr#yd**_>a`%3rQ*+1gK7%g6l2xkUvtzMG|R}Np; zK6=9#S?`h9J_^GG7l2~|ACZI{`}jD$Mf-}MudE-Pgd2C55KNZW+J0yKnwcloejnst zQPDr0ca68+W5fEM4sU@k@W8Gxf1oJlS7J10$1579zuD)>mIaFy4lZ^0}5N(_V)y1suC5(%$!p8)L?1_73D2 z(wvnidusO50FI@KH4DR5@;y+6RC&-8Qy{EKLR^LCMSFF7MXxi!qBfITSa5ob-&}Z6 zXhM|`OexTzn6;53LEc#v*+j6A#g5=MVsk?S9z_f|b}^3`-6#~J-Ny3{Tx;kYn=kNL z&|fzeCEiqK{Bl?9XxpDpg&FI)(Bh=SF;^CF`Xa%-Agm}gNEAWPtcyOaS$BmFMbmO@ z)yi4E2XnuW95;<)M;7suV3K*FL=ro&Wm_Z|C8**ga26Fi&<&H=vp{~X;m3_m6Ij*2 zi;F}qlNpL1n}I9pw}fly{@gF2lH5Kz>}gE2e8+Wj&km*&l;=AhibX*ik{)KfB|Z)VSCRtGoo zYU$+8v|t-1&5o}UI=m2a(|{dg3o}YmC`HKcU1}F$LuF9jA~s=I#c#GIm!VSowWCxL zKK08Y;9J07NsAZrnAmG1W-d;?9@V~@wX|wZQ8J2Lh8k>1Z9*x{v>O?KZ$q*e=^icu zZUhO1tRSZhCyvQ30U3_E0zIJ7mE1C*K-6U|>icBoZb5`4K_#1r4^8ooSsD)QCLvz@ zx1etak4)EmQLMu0v_DS!`p1>PEZMjN8P;a{V#}PbCP+g z%;3!;J9XA;X`D?R%>LGuDpsOwfN)-Wn*16_3X}|VTb&>loLllXg=tn+XIHIR!&uC5 zd#W6hS@VoAvFo8qM37PNcNAafG*WgZw5 zH3}cEf(f6UnD@&j6yE{f0DTD?QR%Sw=dh1N_#Z-TYn|JsvL(S#q1EG87yk9~Egr$J z;(-uxn_M{N3r4a(qY**YEsx89*hg*rOMT?Zz7ED~6BIMv_mP;x;N#6XSCqR+GF;Zx ziHkIi)K0AFfdTZmUvOLLB)ATiU&{`;0j>*H&q-y?a$#K-4hDXr4FO~jZu33Jwx9DE zDh}Dv0-H7HHnNg1+EDUlIZ9;vSkq;HQs(1J3v0IL32+*&5pQr;ZgL3KXvJ(TmMMW#&5nL7B1N}MBH(u9+`)V`03 zvpR3`@>U@cfbawB1?G_uB_CTewZhPYDs`+VU81~(8VV#a_sr{go^xUP?i>?W(_xFe zh|cUGa2{Uw&?3>{2tl*w?_}pbyga<9tEij3j^gDD^0^FbL<*5^uDz1IRs%>1mlKRd z(PG%=8e-b1^F|WJ?8_+g&N^xhtxR;IDXBUug(V_Uj&jvae6J>P0oDa6nDmuZph(UOcI2U+uz8du2?Fb#!P3FR zF*^8OdeB!824J{UX)cw>&YtY%E?En7!v+m8f97K_dJ-teR?$3QHLc7U3bC}#smFJ+ z<@n^lDVJhgf||E3uZtVCcSdff5i8&Snngg@Db58Cq26NHoWZklsW}3N9vlzTcu{zM|`N4PrRQHexFYojSi>`OPlYdP^+}%Hr_Va;{I|p*{6-G9@G)mMg?_UDx zsAmJK5O)J8U3%iE1tsZUIrxOfxbA*OD3*B`RfKbJM)xFcX*e?_MV)8lrvGVSjjvcb z))}+j7mpgjCG8H{SBe)7!loAm(>I&al8eA14bQ^EWkUO$Cn)B{Ld126!H)b=+LDqt zCOd0c63b<{Xq3Z5I9uE=pSq^y8(0{1Si6D?i$w@Fqx-{(i}{kB2=7v~ywllexY>nJ ztGm*&V!t`JuoUU=?g6~uXjyV?v9q?-GA=y#;8*RDioW0(;R);u!pV&ZKu8!wHPXf(h)jiS(Ji^gc0 z)k7=C&)#fxt7u;>d0M!{&BEEhjd88T%|g((LB<^i#?qg%wQ$TGQV45;#5Yc8RYYq% zlJ1Fg70fp?Y>0JJ@VGQ$gJrE1MZXN{cAc3Jv_(C*I12QnvdME>PlWwxyWn7RWoyTx zx6Z@h8y7kA85bJJTK&7N%X+al+L2|(6v!4 zDp%N_imbJM8DvY0lk%}}V44utp6Fq5=`G2al7{|GvpZ^UwyPiXjEq=@-RQW70KjCenR$}DVn zRuns+wI%0R9@)SEX@P`#GE8^b>J!aCLQ)ki+^CAloF)E!ZNI|uiSJNQs~|&4Uyd_ikfBBO*@77nmCyx+EftW*%rsChn{)tjujFxUKgFPK}!#TN(^PloVT3{q`Q-4U8QyV$y>IhN4pXw3CPID&96N@t)GmyQ`CW+1&lkO2ilVWDL$Y*od+WX41VV46ba zKF!!xUTjG2{-<7MD}hlauiC|GT?#h(P4FYR&q^hh6nAG^z`ekY8i#-vkKvy$%wU#! zgbYelbwdiF^;B_gU*}J0;9BQ4SqLMDO3s}$7iV#`z-DG;21F;!IVC#Jwy096SSC_c z)VIX++=jn73bWWVPF0ndWgj(7^9*;GHDZ(u53q4Tz(7 zR(VY)NO=Jx_*)S7iB;rLKJA<}(s6=RIl?&>GbulGpkwK7&5vkjQL)v7sq_en!$ug572c$&Booun z1u)vAL}@q9%#`B=R+gx9h?%pcl=xrdFF@HcE^F(;!_Xz^lkt<8!e3lFYna68lEkot z3Hlll#cJwH;(@VNm})>?7{ySZZ6;=4`bHK=wyvFtj5cu6kE%sg;`$}Zl0#5PJfSsnFRgiE$hsp`jZzvD*C?s?^h-iC_Pf*V`BdqQzs4F*UZ~5fX|r=c;jJOC!xpP)7Bw-iZa8Z(g}G;TWGole;{#I1Z4S^( zr|_&!co(p5HU-|Y!nf`8T_Pw`xOX4xo{%l0I^Zk^-q)y89wEDpi2bJ1L5@-k9264E z%dKJEGWUpdm3!#>!Km`4@1-O2DdlRqO!aFyC1{rrM0gojvLK*p z7av41^%UBp8a7Ud7;_`I|6j(iY{&!|Log^+iPx!zw8MUNl>n%?dLZdueU&FxRD6Je z`i0??3L_~&C`@iK(;c)NNmcS!(RuvNaK5=F5`Xg;BnIF8M zvR7oXL53KiG*j&dM}`AH=9@GTKNvZd0Zn}oa6x<6d#@-e{x-xEOoR(TzHBk!fD-pag?@Y0)tjI0^Q76cxJenoORg136(okzg|#Yxk@F) ztXqY~p#<0r2u(&0WmzG~lujDVA%oz(pH=;%dKQ`Z8{A?I#6J;Kuja~208E2;69wJ5 zbI+8{3-2WHUcqQ`>B_|*bTtLPgpv<_L)es}Pfj7YTPnk-s(qn>v6UfB=wVsrFQ0ow zUUF&#q$meeo*KvT!(&W;(3qi!>RzQGuoe6}+j3On20JvA9%7Pj2&m^;DH)`;9UiB=z&&1cSxU4Aji?D_pmc4~lfm)jlG#Y*GAW3z32-S~Eo?k7#|NNsTB??7L zLpCHWKGs))qfJb$t7dtk1%<15Mf1cPJT2Lqfrgfb)(6}Q!bX~<$7s?3Da{MI`{UVN z!F1jFx9JW%`5tu5R*<}@!GefmZTiY*gex~{+qaU|vZ^b5o? z?O*3Doxh%#umZJZeDhe4q(%8^HlVW1SDu5t;T$xCnjR;ZJhD71~73i!#=j3cVYFN2@G~xY_ol(@q7&ZoOgELofs>$M zR8Nx6t3USZ3ANH=fgkp-@sm@R*l%0R3IAqIPaKK*5N@fC(3doc+B?{t7YognNl56! zv-soRdEmtU5_>*2zh_nENeJRfgX2m^6H-{V#>JC;qA{d35bs7U^nqf^{)s;ouAlV5 z9qXrc$z&AF3lq@A6A})Y&NV`LN8e*RPW+TKR5h2rq-w!$7RD^DE5M~rFm+3lVa^M9 z_64wLp|&p0&&^B2HD!LarSx$6$U6XdkSgcn0K2kh>67lv3QA}#DuiPblUVlFlS2*! z`BGwcA1sQ~(0WXum@8hMMJ$Zd!)Pt=i`>#oqz(A=a1|v#b8D=BW!siTawuyx%K&7@ z?TWODjU!pcDPZ>@{{1bI8>ME*{vG{d{Q@?PM(D6vAEI~Av_2Ndw>&>}RnC#O2YuEG zmUhtM)AYEttLM{4%UjCDpHKIes5so@!mL>zQDF zlFco6|NXU*pr|xCSlFr1J|)_gni(7xq%Xb*RQ@@>TG_ib*Tbz;mxWHx4gjs@`h`PR z@RI?|*}*RCFSS%>zMtd^E7U3V85~U7;p$V{I(I~^3%n7f=JbKAE}^?Rp^RiRqcWTI z9T&vKz6}(CqDpfb6#}LV!lpVKp`zQ}ePPdzmjHvq-Tm7gMw#2Po@*rSbeF#8`Kavd zv%W@P>KolnQO}7^p!ypfgP;>TBp#k{qJBENM^rJxxkRcaC40vo<#gkH`cYN=6}vGk z4_SagxYNUAvImDEp+=scHafA6V+%{rZF!&y0roLO{1n`e<$VIotD1$C~KXbFe$h$jOGg}ic-6+ZpYihn(Cd9Q* zEVTARi0O+;G5oNY&Y6#p5K2~Jvfpn#)C0WVz9Sc^Yvxo}R+2U>DduWp z=uJb1Qgy`S>OzUERXp02IX-DkM|dxYptZ8|TD2D6!PHZ!Nnq0Ll)-hUaVAFFffwu4 z!it(|w0Ih~6E3j-p1}4z6NKs}QdNMIY!iYtpa>Mo{Gp!x6gC>(rKMq>$(x8IbKir0lG<<2RixY+Vf0$ zAvxUi^j_d~m_qU@2MDANq>=hkq(ghv^kq1cA20nSIC<4A7T|VOrMU+4+GR}k7)sMm zP~cklga9U3!YX=(hg9@QF*}qrj8v=kzK2Gal8J8LV~m5hA?Wts&7TGtEbz{{R&mQ0 zFCvDSel>2O8oTm!)$fKKrdU0#Xo8&k!YUeqdJwB~B=38!PW`27ebRzLNcsm)TWYi% zWloB`%bVz|=8ksqcD25M{`KU0!tpJ}UMEXOZH>gxVuJ=Qt%>)PPx^GiD= z%U5#mOAm70S$Kalyrg4L9_f|H(@vRZZQj>6k3i$DLC?_HF}QdzFI+o8#LM-tfy02C zK|2WF*o`djEzP4IK3XTI9r|%u#}Dr&IB&g|BR}4b$ltIZhkNB7AbS#Nr7NlpQ@SV8 zvZ5$FvWLkF9{%wip`m;pvbHk{u|XOG6(1xT*}Q$Moa7 z0sY`({V$Ima^rMQXJ+1t9ag#86c`GUO+GymADX5K1G}&Hc$sSY?bVa?FKIH7ak#Q7{Gwa3V&}K)9$Vf}<6cwO+&V7t;Yj)w0w zEOW5a&c|H?2sE-KyEx;U!CZnI4%p*Ft)43<(yi5xk3JB20&kq2Qsee8%>%qgL3eYz zBKSpp{i@4<=6?ej_a$xUknoju?ps#y4O312f;|OcK)f4c&zrh+;fvcn-_j;k6_PiezWa6Y zfUkIR%A0pJ>mF8UODAG(!pciA?&yQkqPZuh!Et$go&5%zn5|ZX>pDuVU6yQ8H$j}+ z0>!Aj;?V9i@K;ZtsWaD-Mo2d7f}@^q#qj}|cat%0i1rke$2N)oRY0@eXARMh+Mujo zu#hA#8&*Ttk9(0?chE~^@Iu-UVs}$x)(P2Fcw^-2#i&5`?z8Uidj$T6Qx6Geo^!h0 z{o6lXZH6&geN*hl;GdzIgyD3UANHo5urFN`ELKo`6sb&9nv6#jj?X3b;46HG8Pmug z|6&H-1Dx_?3Kg3*xr_m+rwjbTbUPBX5X$U>5euPU6(tv zay5EY8~5K2>xNWTNrW-?r{S!>Q0NjXD<=0~sZ!y8=1%}-G%^QKtp{q*`6g&BW?^;$ zIBA$^(O2l;qE!`~k&X#uS7f1H{r|Hh^r)0InZf<>V?p`Ego zt*^$pJ3t({e#d6*%FOAS;)o~$+Nud9Xb)Rx1l*ALB}^!yNzN^NI%GZ5)Qp3eDk_R{ zhjS+a2T4r{16(cd=Mn!usDEI)57qe|8q+Rjs0*NseRV&V>#M7~t0~_eE=G0>z%>R+ zk>w-<1`45F`iqYn2ngUv`SF6rEPaCZpa+t{6;b%)9a8qNgUn&_NImlQAc8Pq;!t|T zfGh*F;Pt3I5zD)wq1L0&J5qri#iqHb& zTqr@a6MJNt`Di}EK=J|j0Zs6qXg;Dq`T^>oTj*ZO*T6kCdN&Gi!LYq@r zaydjmtR!XS}gMZ9wDjhsVq^KWp^<@e(Xp}-cCu?YA7W`-&V18U6|K_Y7rK1lfp&E z|Cs@h)@{o@w?Lxx8fD^*g-=aYzfvHLFLi0@NLHQ`sL+C#R-kcg=cH$JquQs@EN`&&=}JX@s$5c^y2d2`vYS=&;7ONMo9vU8ZcTE2FEiQ+!?P`4 zt$jphan0ZJA(TlaC z$|Kv5?z#op!9FG|%LWP*eTsd<0$`GkaEs0mi;NS}h`=mu;Oobdz_twtWgHM^WSQW3 z$zL;T^iA{&nj|Z(GJZbKby&*HzeyML3&1p`c;TtRP(<96i=X`YO^y`+juYujwgLm6 zl}LH{146C{Lpi%Zh)KGaI*Nd-3yNWeceu9^hCFtA?eU)?RQ)c@fiF3_YAX9vg7@dE z7f@NeiL8~5JGyQIW51fZd_H-HdUt0@HZ7$P7%6T66$-8tJC~#nR9|(@a zaNLi66yAPp&O4O9{n*`HV|EUs^jm$Yf6;ulMh`dN)}~$gb6%YE3142E|NS6@ddoPv zBd*&W_*}!7>4=UeRoH$)4%=pm`Y<%%+`Dz_F^U-VhjPP{IV@)c!Hvuh@3$=QkKa>7 zMweBNM;gjS?|?6TB?KK)(n7WG{vix0o`WX{SK2pNL=xiDJjLuE2_U}WC9PxC3UOkj zd)tTIt$9pQ&r`piuDtV6_LrH0TlL!Knbo<{e#)yG$lp2(&6eSqX-NJfGHp9O@Eh|N z3<3K>li)8>gssh(9c+usSk{fpDrW~#l(cydW0bT-4^OW2|t zr+>;KyB*u;`Sq7m0wgEVtcAmZ9x^ZEX0sd~(39g&nD>vZxpM zF5BP&K5hEijOVYB6YkBZDwP8zxDq5jL}l>1VX&rQFoKKK?*rn%2~e+_;VGgOM#f;= z*AN5ih@GXRM~!hB!mb%xrOU?wEg#~Qe zShpJ4T3g!|x(-wc%j#B`F-at@Xw;K2|@mWSe@-+L1OM81y+VwCwy4lxUf(hx8vBDK#A@e}dD z(}z3+6S$1r8-|JQ!w(Iyn=r!(@kvj-o7Q;yr|XvH)d0DCFCxb0=O0<&j~|S*uZ2N` zZ+C}8enI(=%y5Ee_s-g%aN4i3>p*mEU^Oz$-6fG<@NO88x2J0FW#NlBg318x-YenG zUkyl!{ncFXkL0I4_-(Tnn?lC zq%Tnqo|7eY>hpd4Q~>u-jbWf7K_Vh7l}#;b15R@#MDk_S3$*|ha+9hAOOdKjIZPGO zBLJ}>aXD-zaa0e<&u=CXs#8|NV(1cVCcQ~q0&B<=x>H$#C+swm$QX*Ccty~Ce>QR_c8iX1KI66r7|-c9t@WGeh2G;m2v zD*Om5SYSTV^vT=bbc6v3{$yFRO&7z0lD|(Wh33%g7)0svWVk#owwtCpW$ogZm;}Dv z?~CVT`zCyHw&!mdYUA*fva^o>m7Ng*w_HQ{4^`Ma_EQAVpDsNwv2!jf?0|M z>U~1RGFC6lz&a8&EQs?B_oqv~mEk7LF%Nw{b1W~K-sn~R3@P%aNtjhJ1v^?wT%M|y zI%ir&=2RUAh=IjF4>o%Q{F_y#XuOYY%42fzbPjIQDKUB5TpE~)CDLolDKjzi6$>rH zQ6@>{i`=9PevXnRv7C8J>>L+rqPMcQbE}Q3QFIx`!{gme3Wk}h*)!QgLA{Z6HlGBl zB%8kmJH)z~72xW2uvh<<4zav@Xm5s@J*$BTa=@zlmJ`gHJ|S>#|6(Uij4Xhdxzk>* zb;XI~%5K%al)I?aA>4HA9eSr2i>1Aa<$Q8yh7)OBoRKf{TnFYTqh?C*Vy)lc#U*Pu zW7wW%h2&jX$!-;7ANKrmGW+nD6S0#+Y7h>}Oqx-T+_=Pj|6X2C3xh(6WCZ2rBIG8K|! zm1kufg5H~Z<4cqwCQnIAEXM=HJu%1 zZVhOjs(Fq%UwKU7l~whk$Pw&YS#DK1Y`r2{6mcs@&U0Hu({2dWznU$hA5rf?`zA)B z+pFHWeN!Z3MeO=@)gFy`4NoGQilTCVSytgES4ZJvDcw02xly!m82Al*wvG~Lt2;^reDyo-h4W>W+LI_HzT63` zNVO9u-_;HqTgG&o>*gwm=P%Sjp0-8^IGR1A=ToGqbbeI1BH*+93P93lHjTjSTAJPq6QoHOY$&CDiKbJm>#&D-=2Gp}RKa6#^- zzZlAHPj+BCJR!Lly|4hTNCW7#E`2=UoSgMY18B9lL7ZI<(7hI)%2c92NlD~2AFKi5 z5JX|WkZd49wmy0La4qLMmJihRdA4ITzy63$N5_-6IS?cC_|`S=1#n_NV(0CL*v=v- zy@n)8-uuo!9X>@5rlf3mU{8C1x&G=IgLKSniIog99h{-Z8ABaXT;YSK{=uKx@bYRM z`neOndHvLE>se*$t52}_EYvDk%?k^BIRr!8_zSn;kL=Ebl$mFy_}7#t{v6{#w9KAM z>FuB4)_H$bS$~wQbaZMpC@jU@oa{k<7D~<_0ZhA6^~l>2zeRDz*u_+Y=a2!0$BFV( zlqckV?Au_Td83qBwZd#M2c3{RLGv_{B7w8mNJIENS1~EhGrXbQnzIt!Od8K3gm<#1 zHTH~H8+Pl|^{K~#ty3ne0qx<%CUf8AyJ?@QP7BpCkCn#(h z9?s(%CHm0MG~-riu;HxN0EyA*fOR?=Wa!V8F?JA_4XTD;@hsr*u_lse=m-Vpmj^!Z z^%((w5R`E~SVeAVPjDJvVASkG#~%Zi7Z>_Ggo(&MooetIoH2Z9gc`b|H8OMoZDt$C z&~imx#usBsQLMCPjk`FhLGx}wQSG5^2!_o-6AMn;aQxS%)Y#+VwgEh;?sx-uF|+~ zzcf$_<+tljmn@!YIM)QCqP55fy$~Zmw;&n?aM!ePJLqL@$sroFZ=)gdv5uHG1LJ-n zWY=3Q8|vXac&1T(pJyAS3#h^gbJg(kjm*DseTHr$|85%mC$v3lzHPBZ>Qk4Mf))fP z#U7(-nMal1`^wB`=3JvZNM032_x=75uu(=;?`a>q~dv_w=K20<2 z9gJp>s#t)r3P7mI@r4tzNl{Z%OLrpyt;cz;lk7hr)3XBRY`fiPXji1i9`0OsC*dW@ zdw6=9JTNng3b?&%VUk5Yz%*TEZR0##0a{}0t*w3TUk_aq)Jkv1Ru5Uma6GyD&iU+& z@tsigh3#CG9u+zEb#C_vebKq|t6YVI^q1q-x$yT|+{$&%MgnSSZ%+zS562nS3R6g! z^QDxltSGM?q;vczTzVW_Jh{WZMS4dgxg_@Biaf>LIeK4ejW!j{%^T;Wb8lf+br<8s zni?mG-<$SYx%)M<#{PdG|CwK@HVBKue1o^MzGqnfccUcX|5@bz--E0FHLX&)Ra{g8 z@Y`Rm*r^2`2>Dgu)3}-HDhsl{{=3AnuvVUQ1sTC%u854>JqJLY(Xbd!&p%W&Ojxq8auC@$ zY3OQL)p#|0O>0Sa8l$|}w-8Q+z8Bn*Zks4`h>TaVoA);Vws;V`>->8ui8#R+scBQ# zZ5VNk{dj*nWDzr$0;@#Xl`;SLx%qN_kSMWIu$SM&EM1gB!uTQRY;nS)=Jlf$vw7-_ z;Iyd&8Y+w;hg9jRwFavCx45)_Ir>}@@$fo#fnH7*=-aA{8DO<;6>R+7SMTHf{Rhsv zi=exu-Uy2DOoWFUrS;R-NwUvG@?e5ty0#hW?xHvfbMDP9A3RNZ^S$0Su`ShNx7(P7 zFBaP#<#z47tL@al**&mjpw8r4VeC#9^cboqw}leh-aba4$rILhxk9lLgWzIYDDi6) zV(v!*(<~z>GDB>_4!MLE&LH6KJ4W)rS;uycN3_ETk$7raK*g*xzD4_7lm$+OF!Sf0 zVncN?tK^b6GQk#!w-el(3AFemLIS6K0?C|N65n)Z*3rU`_?9v0JnUa?0iDDr{-YbO zQ2(iuEslVR&2N^U_5aB7`@j5${_g>&u!*6Ai>cFpS4^nt?th|JzU-Q^anm4B^w^`+ zto_NfnZ9B=3bjyeghd-gTel-sOJj{ro!%S%ftx4;DT*>sW*a_Bz}zopUi<&Sgs! zG`n=;9LETFE)C>L!lO1VIc!MfufP(G@|Ngig`7FS8}p2VgKtcX`k7b^KW}0cCQJ+d z5EPgW<}Xes8#Z9#IIr)>+S+Y!0;OE--9%=>z}|gWI~kRp>0s?%!h0Ht7wl-;N>|l{ z`pO;`O+klec4j?v++jizJ&89&QP;o!ClhNx^WslMWc6!SAtm2w=a)zsSvu`kP$csa zdT|3L8+bOie9R#Z7~mKeZP#dUn5-_lBamb)CGwVO+Mx@N&UB)rnd0&xbNq}0ah5)cYr92#HQ z`z9iyTl8ve&%eWo{_8Ca(R_XP=q;cSRZsn0KvCf;?AuvGwn+$IOr}qr7SfmQxeJyx zK>avhtAI+eX-mgpWmyzWEwx+5oPZ;>Cy z(^suQKLHBUwm}dK+!}t-`P#f(dPlz2wgmB#tcC0Y5gvK(=8Po@rs|Lowj(KDab2p7 zf9q$Txp{~n4G~5V4g3?Doi${p%(K~Tr>8GWUtyQ1LS*6FnrVE5du+nB(d-YP`9kQb z(W0^f3%`=+u)grboW92|+-l>3Ii4yC3F)CM1&sMg#OjUk^9fPp~g?*Ai6;{U)&adok@VH7nqwlGz*a56PC`CnaHb<=4<37{XY8!)P4 z*{IV9QBPcYP`XpV6W78z!L*2jx3lN~TS;s<7`e=Npe;FfH-H2b{rDl+-=!#~Yp!$O zpgALOdG&k7VEpCh&pzTPc0OrijC575U{h?3g+IkayLEpY*ki3b7@Ro)TXMpp%rN}1 z>M4L4>WLt+IQsdws>|I6%-XkA%vwS1Hvf{ z+S-@SEY|e z#3HZ4k&+1r3Bac(WasFV)1VA~Bvj-lyn==j@kls%yf)vVoKH<*T>yblcf}=UAk^9i zod0R?=ZbA17~jYe-~X|}|KAEt($vn>$N1G#&o_Lm4^vy6&Hi7XlN=;iqns@7jjJdPX+bXlt*>3=i|^`9J8F0b(iqI8)X(A3JdYGxA!BY zKcWn^VR?bkgr7#2$i}W~th>^LS@VWicl{?nCbUoxWuhi-VNZX;I0hNMeQ4h>5}a$Q zE6#E{K7l&41MAQ79UH#LP>7fgqvx#6`o~ zLTxCCC=Za(L2$^xrtMKt1v_aX{b>Gw7<C*}Km-y7xH!?s0ys=l`5@teY2_y%(xA+J5}1{w3?!l`!KhekfDfF>G#DY&LHd zP;7Og3WiFMxz5tqIJh^F33*0Q(-4bqV`k;nUb&sFK)kG5w#B$C6@c{;!+w5FpMxJ?th?=2 z|3>sYyh!Mqc3@28bo;4aicP_~$}9ugrLwOUV|W_Y+DAs#k!HQJjnjJ6k)l$K7Fi>s zK(oa}QN#Q-0l*@2!3%*cOH{@b|-4EHch3UZ(A3d(_}89OC#f>tJ{CuAH8lY z^_N|u57&)fSG)I-*ElVNx8N7hp9W{N=_~;S=amGRNMvb{7&kDAnR{cp5 z5>CbC%gQ^{VNtekf;v-GNR7L+U(z{};!=oqQ!L&rxFo$t^>>{&edHlWr+^5u-hLO! zlxj5Q6|DWVV}`_i_8#R5<n32%wZ^&`Jf zwY4k9MQVfWMo@eFE23}G67=9y1@2#~P*=>tZoy4<3#3q2w*~r3)XuYu4hg8PtPc<+ z7u>l~c)sKFoLDw|WW)3fkdJ>8g6FM=*k->)W!}F@!T;PV(fogVrGMw*|06_x8(JHh z|4$hlt-9ufERMo^Wm|NI5ZH-85J(6yk^)Eqt2ZDAt>K7=?Hd$X+bB%onYIv{Y^)uV zKg7S^S8tY3(Lq%Y4pliSRQh%`64yIKQd+vYdhBYM(LK)f|9V00Y7L^r&D|>wv4myj zGGi=R_|qA~NHgd_9fN|F{K6y0t$#{kAW55Q+*-BZAwH1Gg_O49pgs^0;>{JZI90RQ ziZ$T-`@y=2AYP@lAjbJcY~)*hN%K{&>{W2ePi3E+v=zx3i^jD%FMlvkJ4d^j`k|Q^ zBOw^}GwuZUTJ4^CzGZ8iWI*6aksym{z@zWJ+;f6DTwqzcIkiT5V~id`{iWG;D04IxMyJg0KRRy8r0l_pm zs~dEzo^q6%OX1Ey0OwQOE`}HVhUTdSQ$Nt&HlB$aty6 zq;naQ5Y@{Q#44rc!Z%vzeILbs`GJr10)da+8Y4+sOti0;pAb{$^&_4m2}A|MbVk1z zz$dWZ<+`(RXk89{mh>!51abPg$MV@j8SNq^Wd-|}ihXo=w41AK=$C7miu|=EPpd2} zX{|q^p}S_$;7L=4Lm9P62g&CrLHS3jUL$gf%rlzMcE*;1B6|4fyhjH4h!Zl+yYPin@8RV?!54VxLkOt1p zeiz!Q2?Wqv4$&t^)>G-BRrY5D9}^Vl*~u(6#^pOKw!Gm-w8;G+bf=mRxG^?Jqw?s- zQV5A#9K}4-^5EEedg?|Pt*M@wdrLg^C4uHsxMhIuewhv$y_2ne%wX+*ee&!~a*c#?CMz%lI9N`XK&W zD5CxU5sLl;a%3CZC)Y24B6?#jP2GfQX;4G06_pMjSKBuj4UP=?UMG`5*ko+La96`J zm)5!q@R*|Ct-Qt|6i^7k`T~%% z%MqDoKXzlB6Qil58;UMplsS1GPI4a~x3(nRyF_S<+|BYo2O{9;nOJMPd`0VV&B>@7 z)VlBs+z#Yt8NAc`06MY777uH2?AOLs>+!yWG*=$M`qvHOIN!yeeBY1F_fX@XgE`SZ z+@O?*knsO5c9S_EJy2FWzv!zP3zx!-r%2%#H;tMiaky7K1c!wL5Vlc)4Uru#O&Ylq zhAYhmC#&K1H)F0i$`U!`Y_bO7By9wRlq3d%XxJ4xf`=^=*=)Bu&c4;b=Bcl~dORDr z6WsD&AJ3*b*}r^yd=Exye4woe1I>wVK|iEGc;I^01?+d=2Wsw)R|ame5lchaJs&a= zA^Plt_gY?Gxe>#9Z|?7IC~x1R{{BQ<{~&=*2k-e4&BEEU^~dh{qk@7d_F;ip6JzvqB|u!9A%{T1 zqb7i2hrx(>SRRTV{SHs{?3|3<1=cAwQ0db~(Lw1OY6U2!Qnk_qO|@nPs>Lm~D)p&C zHH$c~T6I=J9;`D|M+(qW23(9KvoNO3Hofg&$QmGAX zxA&Vjs)gzW4a}YxY&R5YyLwj}b+ddIck)dRtffxLy-q<=Y;}49PLIn&b4>r{xFs8E zdtgS6Z*Az_<*uGP%A1HG#M{$T8{?UA?Hb~G#QO|%JIVlR;iD>46UQK_>tlJs1nz!= zQ11=vj=|bNAL9o801+UeHgi#}>%auwKdds0XE(E|IWUD@U%YjlGurgL?nYOo-2quG z-)k!#W)>Zv#cOCXQ3BxsLujG};sz!Z+?j5@)8nn4nrC+CDn=p%2?=p9CaEKe>HL8X}nr{FB3Jb41ZDB{kaz_+F=qGcm!p69HJnsRfF^Ts%$8T}K?#ODrSocK3Wybhhs?5Ybk}70L?}1ts~clVuTz&r4wKekogAOW0Kh2DO#wsx55^}PTwAMb z>cLIq=Ki24Tg{N&mE;E9W;1E)URmAWGu~q1oxPe`!)pf|&CUdglpJt{%jP)0h+La7 z;U4*Ac5yxmy{0Fj!iK7xfmS1*hF`+YR6q!>p>YpH0ykAsqDb!7rcly}Cm8R+MxcOq z7(zfsCvCz_hV?-#!yK%^pnsa2W@oo%P32G|OQ@!r(-9hiR50)qlEux~=Qn6JZfUAL z9u;Y5r5W10A3LFl5oJQS<#0gbY%XZcl^+e%s~j=Y)4jvU&o?jUf_inw5u8?19?BH(*9#k%tP6K@p(+`cK2RU^xPo-ePLY03#QxQ$FEffh!GStq8g{}v~c z!drW47Xl00Q+0#jtL$ldOry(#3Y85iA5baNWm_2wn@!KQQY-K>%1a5sm%Yd#LGOT- zAgXPb8kCm~tf*d=faUZ>LFER>m#3L#(+S;$h*5BBih}6D9t1@E;y@8o9tyqV5OrA_ z`Kb&fnlc&lpc@Rq1>9KU2wpOx2I{zFy&6*dmLtbnw3p>U1Ye7F-zIX`-nJ##~Log zLy&CNo*`X5VM&sajtq(fY1`|@VyuIYH-_mLy`GSQ&lIFlSX?dnsSQqXI-aXl2Cz3n zBH3^M6w1MLut*s@3B~DP;2<%PvND{k(AcfTGIfrvYts)|po($c&NAfp2~MrKcZ%5~ z<7kxYKV#_D9unVWT5H-siWWVX9zV8x&a_G>>U9J7k`i-@4d-2tUEgFZy|K*g?`No& zaK?^D$5e3%y%_q$M%)A!K=DKG2(@0s$ydwBAj>K;r=_v&t_}=FK#au}lb*(H-zeYx zt(^I(u>tP{AjL6W#bbrjI6{=UIGw$h3+#-$GnoX9IDje#+uqGTQ)|vnn~xIgF679k z{1T?(i@;aAW1Mb%{ar~ZOLb(mbg@btlE~h6913M3jEX-(UaA`_!Cd}=DA#qApefb@ zkY=VKeKsABlrHQI;5T@Z{8nL$#p8WCKpGS1TehH`ZUWDSCVdMC1;ZSn^RX zoR7y#@VfcYQ)A}6sEjwqc4$rW*oA3Kc_ldE$Sder@jO0XROd&Z>G42O+s=78gXbbu zaxw^}ae-BaY2GIaTuQnAd3tig+a4h!d!sXd3S-c)3(8N!_I62AGW6jnfmJvw($Pm( z5pOsO8-zFtk}fm`w0H1b-h0btrO1-T52~DuDa0A#uK0u^97?5(kX_4Bl8H_6M6wvz zE8Zz@+B9GPE@Bn|x+AYK$cso{{u2866FP*suN&vL7W~TI1{L2x->apM*3gUs-+lwi z>kCe2go8MF`kYiPJS^f3De6cFjC7(i^1=!TW2VX-%7Q1Jp5k4DgXYl8-if)(wA{!X zxsr()s{XEsKVr}BPvxOLsi6fOsP5AJ)Lk2lp2~gcm->iA5o|w5Kh0qDwium*qmEl% z)a`&9z@1F;=TS$9mFMr7ZIpAM$}+BR=Z}yf%3_#>fZlj5;7!KQ*8 zq?;yA@7i$&@dMe*;R8QPn69(z(G=}il&nn&<%F|{>n`y}M646luZTtS92Op#I^IKF z|Ms>o#Ycr&^=|vuyw>HS$3q4rYUey7C5A)@Ug74R?4W>HrSy?-~PTpdX5y~#~fTQd03rZCVC zvjm8^z-K(!yNZ*RCMXaL)X-U<(DO`@YCZyQCH=cAwg3*GJ3KtqU+)S61*g3rfNVwgZy zp!`N#v&jmPta7iwzB$+d9LPM+G~791HiUV=p!W$(NToG;2mpCa#06po3-0ia^gk;JL*2Y%jap` z#flXmH2wwcfsZp533AXwMG^zjY}reqwIq7EEh;^kGid3qTu3h!kcY;zwEcq>NyzQ6%Y|#xmLEjH$-*At0Nvc;- zEhL?RQFSdT12kngrr<0AEYp{P#lZwwv9M74=ai+A*mYT)9mSBi&z?%?f^^j<*l;5P zfmq3w#u^C^7osnSFDta!cJGFxEjdG z2b{L`pcL3s2cLE;!Fa!4e`5mXsgBk2Ko{O3xB+)lp!x z1mG$==)*2WJPBfN>(5(=uLbZ4`9Q@i3dsv`xk7F0frQVZ;QZ#fFW+ZfW$mb?y@%3f z?!!Gu(@TVr9RMK>xglViBJAns^)SWKiXkg)<|Cm%*~^~Fe<&->i5VKpYN;)CM5DYq zc=qm|uH9)M-D`PRPRo~e2}l)`ugK9Lq8lSk!?`LeC;1@uI#Isw1AD>q$?aSSB82Jd z7<4Y%gb!0vjHy7-37TM1>lUm-%0E$V!nH*K;myGjULgn_Lm<0g(3ICvYe>lHI?uQu zi88NI7{OfSg8Z4Vr_`8E>KnpCn=v5j@d7iM30N+20zc18rXCA9Za;pTaQLtRnVaE- z-$MY?vK=8=Bo(HfiC38@v)mL;pbr&%1L2U&ewD=ZSH6`hV_Xc=&|e}WO2c840dELX zgXgt{)01&57Bj#@G=3zVrLjI?>7;UQm1hg#9xEgkp%j(lapW7abPK(iVY9S7?~A!f zYP|uPo+5kGrp~!A)5LiVWud%7N*_ZkIJu9CduD!t(n)6U1yz)v$xb5^rUKRE0Bf08 znX6z}PBe(^6f4H|2U--dMI@{4A9Ha&b;Uv&70+MEyr>?WL2g^BP5$Ho=l@wF30_!4 zD-ZcM2*~q%t7JE?=qqfuxwX?c#Ik@J*7$Jex#)m5e1&6tM;q{rd)K$0RR?L*!+ML%Mq(FRx)vU<++{;q`A|ZrHiJ zzMLF>eeUV`1j4@z;2(f!AY6qzftW^~MARYh2-=klDuKu$^9b413_5|xDfvN<&?#{) z8k7p5N9GZX^FM?wLzhm;TeQ9n&>O&>u1D;yFD4(sYd#GA*lit5?x+JLXl}o`;0q7T zhJjiLy@Vg-fI3MJ+yMKnEkZYR|1%Qky{WMpy>uR2&YW4(byd+eI&K-P79FMAGV zl0Y>>myMMuZYXJVowFJzeIJ!_Lwv@Z=5GUL$RbF{4D+U-c<~NXyqeP^PDnNEVnb{# z!^L_i;}J%UMP?G(g+*tU1;z@~E{myiVzYA}Ir?}^;c99^Xm=*9Woa$Vnb@_ADsoI`US z#r&qCY0hl9usq>`#&cV@7x-A~{HGUa{Y`LE%6tV9@XY7 zd7VprI?nxQ}A8anxS23Z)(=fZco_}nf%;Z#1z;VdRk^>Ne)`u(po=DU0vzw zQZ1*nk15E>S~zHyPOE=Paose$^K+Volq%v-^j(NlEPYl++7v8UIx_51F6F#@XG|%( zDtSLg-_VrE+IgC(PK{D*xnHhTbWSOjHv4Sd(n)I-tO7PgXW4fuDaaJfbiJXKwyf6F ziu<|RV&0AH55?@yzfhYX&s4Rs2K;@#vxU7tL3&E?^QQ=Xy0cZiTcF&KZipX0D8c*y zg-|$TuIznyL0zD!g37z(qm;MI(bcmSA!1}2P$+q&0YGg89|gUtP><9_wG1KRA&wu| zA2E_+MQ`A8q~akV^J_L%Ke(qEqu}WoSGPYZ--j&e)YH3qTQ`6 z&8Rg3S5&yNYs5aF&_S|{+zJkSx@#|F$Nt0_dSRDR+(x}O z@y<`y0*hx69dMGD5y-xXD4x$ zB!*{qOmD_-_B+nq*AB=Bh*X87iB$c(LK?q*;gN9EN5z8har8(1xErQo877{i0v*MO znox~9h>!lR?0&vUF#MpTSAdp+TEysq+_TPkhroH-q^e#BU_y{rA)GvWhCY+c%0XMm ztc9ft+`&$I|s+*7Q`tIL!8(Y|zY=*+^n5=yYQ`Q3WZ*AWnZk z(-9Kf(L9B*hS~#utlByc7IP z6Wu6=rRPc<*yhcp((JdcGT3Q-m4Tcl5DPt1)vcjM%9{BN>af8_2uk|A8(&0^{%vl_ zH`+gQUQ(Vl*XM2lrOW~QY5?Ldb~T}8^`@utT6sW2l?nH}g&-X=40pt3Q@BZMb|<9} z5+mOvXm84xg{D!EQsu%2)vXb0^V&RZX`@H924(7UPQ}T}EFB^wh|n={$Nc$E8uoa* zf)*FBE4Vwd?-GC5F0R$X`*m+I(_UUDdH0plg&>r2vfkA5->^w6{sH}8-x~(aZ)D9s zzbwf=Y#HQ@tiD~B|M#BZ_rGkHmoUHd+}N4dWB@dhCP!G)B$)sTqX35x>0g-+fPvki zTJANN$?3s0O@lc-H0_P~Wi2acTgy4C$|hQkwSY!7@7Z$RD?|A!%ciCE_v**@ZJZ8C zw%r@`{+lk(8{eC+>>KZ$4RU?oLq!My=nh7h_q{-<(LQoe4~8h`+@ijc(pMLZ%mYIX zAo$=t=39oT>>@+G074+S;Cv`NggqAw5)S~yG{o&1)C&#|Rqx4wf^cN4;#Vt#KEht) z<149EH%`d6Vmx9uRWGt(8kBs*Z4!h&@o7!uEiBP%F~knhpB=Q_GlsU*FV> zo4MQf$EPR=euTZy#%FP&4~>9ah}#7Q9k`hgLp&aFrmv`OKe;LTu*+1U52*nCP(wx@ z>4}-hTWlb`Qozw|!H=HbWjpbNIgo`^^m8i{$+zAf!5W`|A^s@4@`k4X{)Jt7mcQym zFPRYjC4Ky1WBg|q`a~a@;9rP)Jw%;Yz@IhuC~F@$Y%n6j2!LclRA>cc6io?}BNj>m zc(Qqu;L-lD5h_tKMg8D}x=0Z=IgcYt&|*)&O3WAns}wTvd#F4td{=eiON zSe9ta5TuiphRg=pFypSwb=tB_rO`J^e<dmO0X+q)u*AbSE*Dm<&nHCsbyvMRJbM^RZuRB@5S7c zX5_C;U`*Pz)^0{?V}hy^f`L#5(%7=v6)Ta*<^|RuqW!wf@P%~kU6vvK1%o35&I%hX zN>sDcCM~;Kw23FWl8{xPBh>ubhEhoQSO&K*~4f39*GRKkR8HLO=bagHmm&6 zupl6|7D&RLe9-@Zfu)I(goM;yj-d@cx(wQ+DP2KEs7~&}TpDuqrK&76bcU*a%B?^ zV(-r+X-&>>?-dN3N?N69l{RP~WeZ)BzD4t>82mO%0*@~2cWx>;Ym+UmE_ASF)xE;N zP>3c8URzXb#75arqb06BY_%;vKUqGx)t6RRmu8YIV3DF3&frm;ThG4mB?ViisY7E+ z72J|2tepJwgg8PK<&hBO?ay|4K{svV25uqX)Y}_TCF+>6Mb7W=ARr!StUY} zGy^W8jT=Rn7Df#|Mp+`1VqN)k`*67KN0qEnByY_)2MkV>3`Xz~IF}l0mVj5T?Gx2<9#Rsw~^MKw|dBgSClyrQD9BksI@>JyfIC9@$ z%uYLMtB_t@gppLN&Tl+`*CC1NehEv?j4?T6IEsDV9eI$Y1|CCAcwBHBUmw`U_3evlT znsY+x!Q02JQZ;KCS+8mZ>QdHKFr@AAqD*Gn;Qoq)+Ss>nb9z}qifo{R+?ICSo?2$s zn68n03>kqUgzhIMC1(}$XElT559!amBAP8PV;T9w6>fQGZ>c`YjZwnKS56x zFnDZAE@(K0>|20!XXKhxS~$i-aW=2swc-4&!JUjkN}xM}YvB#f{*@c_$Cx7q&84Qm zk#me8>`Kxi!Q$F*0F1oj%* zWb7%S0fdyN2(#M{X%qTcvNBbMdt?S%lnv(?)ecccCPy^^tk5D%JIj=$Ih(;8m7(RO zpvtjoj})i92AtH57I*Gq^$DpXu&Sg@c(wMTuBdF+?s_<)4tFhejQv2B-~o8{SKccY zf1s-e)q+bC|CZ&bHWM8vnuxMAX`zq?Y=>RvxbwaSBni+j^N_5HMcY+L>sypeA zE>$@_lg=ESVYLMfueHiG7892HX88thm z#dJ*)2ru&hF|OmzF=Om#mdaze{iXP?(lme|1KZ7y3aZ!KsF?KbE0ex`fxKeYG zCcsEpe#7CfB7`QL`p8JxdP?it#1VC>+IEd9gBV5%gO-O-kQ(gUdyyDzs3yoR-K-1% zS^I7GY?eFPc0=Em72Hq7o4a9CjbAl1OZ%?G<%-%)K!u|U&ui9MP@ulooBV0sbi0E= zo>MBr%rY?c-LW6v*+TaIOhdX?Gko~??Aw02R(RD z;Drd?hwlS0EBuOVif`x9x!m7XH!0w+EHXsNEauTk2$l3qi`pPku64(ddBT9{V~Ob~ zf>6VQE zT6!b`Uxyn0my(ft`V1)LaXw$_b9=>U^Q*AKkfg;xc(VZ>nnG@9@bp_jVeQ;c+h;-a zWKiA9AUdI0QXCgbIT}~NRH9P?l|iBjhfrk7n|;TTJYtL@EbN{L^V;1L;>xovi;N&% zQDxVKgW3-U3E9}b`-R$|K#-AAB_~PiTJzP&>g3oCl$#TqFr#{CvV`BUBWsRw`29U_ za<4$SwxDNW^*mx??jEwC0}g|_HEy24aVz6Lw~pZ7CWZauuXEi;|QG#&1Z4-hP1`RO%9W3*%iPH$TZ z*V4hO+hYUXH0YtQWpV(?U`#d#m6-RU9pK z-YAW~I(|72XGXa1SLY10QrE9#cg^~3qOJ)wvevS~uQ;&7!eg_{Deg$)+LgBj5oGE# zO=Ln~M<3^NJK+EU?Rgo;UscoODDwm3yY6M^v|7?_HihQL_{06=*=s*fOTAy^N~(f- zXA50%mDVwrZT}fWu5&@_`gV~j`<({}9X0c4Pjlr~)-4l1Qpy)JWdk}W(~(*rRhdCc(RLF4TTy1%t>J^B#M z%)e|yV}wG*gO3a8^uiKB1cwoZ5}5^^jtMnKfe#mmbgh3W$Gn!e*7X=ORpFExG@&X6 znpY1Js5FNfA+o~zmJo=pxq?)fGx|Z9_icTu-t%ygMEzZG0o7r4;jZQR7-?#~n~B~X zx}6AYo+ZGsDT9rN9S`Tz(yI*&FmM&>gNSTJY<`#egPs&+(Oo>}l;dAsc$5~fPF;Xn zVu-%ILD!7zF?Wv`AG*wmVAPb4R{ck|)Xkly9$TF23AwNtSy#$4b{4MV14P3bE8QFU5N#K{s-QPS!};_0{+7ubT~DuE;jE9^$|Bhj{$WCv%39SB75+8TCx`E(lg`e}S~BtH_*#ETmu7U##Ogc3gF`|4 z^P+$DK0xvT=Uox1>=fF8{QI@_`()6IzE8FGU(fwdWSW1y_J2UcgVk)+H$_nVl=2{@ zse*z3M6>w{YoJ+NMMBUvi8iiofdw`zRdJCtbWpCDWXfnYclZ2-_tE`gK%?tm%YHH`W0v!+8GXIkw#NVUd8FQG0J>Ae5I~8Vs=OM!vhE0_ZsM%k zEjMxOx;9zrAv}~xsWVU+(W0UwZwOz^Vq%)R5VyimVyHK;frWOsX#~ZUvhE1N&bm2& zD+e{vO53)b9C0%?myNQ1*Bt_H@@4oFL+x-hiC7v;T~R?%WmfHuhg@McvuonIp-y3S zdX*I|2~^whr6>q45?$jI0#ez)M7D;<%nJ=(#9~b^Dp$L0LY7e;f@#%v&drwbcb=)k zX>ri9B{20Vjg#Y$BgwF-sa()c@K7ug^Uc~xUox8+Qn=*VhxpyLK8!<#7LH~LpAA|$ zINlw|WKA_0hi=Hehs)nPl)0&0?>uB@w#Q(Be_lTHBxvfYf^xor#0EUl+b}F!BFK5y z&WLYz*>;&WzzOyAtm*dGd34XG-l}cU0^;DrP=8oCE!tG(8NEnzNd9koVuE6*Ji z)Eo}i5GxYJ?wPI0YDRyl?492h9mbbbyegOlUO`>k1ED@%J$_ngP&nxKeWnKow*^BQ zuS4TbIPe;B_s3YE8PP>s*%}bau#11KRl)^ zG~nK3XjxTjRlF5i8OO-M&s+yJ zGbfw6G)snZrv*#@c2pZSA@P&-xSO1=$Vsz<9x-A?$hww`M31O?lTu8N?aCjZwQuY6 z%{W&-tQTf4{7qCflIweri;7$&lFCEZuM%%=`QT_;h}tkXwZu7ABQ~Hpe_^YYc-E=Y zO=gCpS8Ss?`|YUETb4(E+Y9ZhjP@vpH15eKFCbXtjy-Z3$^L^%>rv4v85KM)Cj#b) z5=&9GU`f%7Th1Qp$@ff_;%sEKX|p{%MchJ`I(GIC$f0~6h8+0|-Z`nB^cP?m%gvr7 zjM;-zaFci#?feGj3o(D4jl`uD{7L(fMEJ_R(f*K$)rBXd`vb!}h5b&*-5l22($U^M z)u!FFL7t7b{!A9l`gCJ3vL{{x9>z;4{zEfM`tU?TXI!3NmG_nS&k8HtA}idm&bLMV zNFaptHBL7vZi=5dmYY8wI@0}wB2Qq0{Mf>LLCB}{Q`MZuxx?4Cq8&W2v zw$%K`yjqBDU)s?zqzrk!rmLmU_X9r z{#QQEf6FfaxvjNL)K*^*Ko~Limfk4(P3w*TT0&T1AqD`Uga)#fC zRVFk{gxbbE?SS6S<{s^iaW58(%FiyjU6v|dIqHLlyYk(TbbFf6j=9c*!OMI7t!R_%6q`}wb*GAFTv6SI z)XaM`gjRmEWC=y~hsFj@PGSI%#;m%P*Ns9Wzd5({M_vyL7b`26686nd;Fn+mVS-@- zVuE4#Rt?G$ZjpNZMYI8%uZkQ1e}%8kvy89CwPJJFL-e_?F2{ZVVwpQq^`BlnLOE`J0+!+ zh&=tAjqT&)z*nUy{2gKWm)zoA@da2XsvmWeA&{+b#!V3Ug|wBX4|%810oBaw){&>8 z*Of8{<)sow9_k|kMIPEmE~W&`Pc_0ER4?%WGf+QqKccs0!claWy~smtm;LDb(^BLi zx7%{`{c$gHrVne|NuKEO5fx$2_O~I^78Is=L zepj!xdsnmS_WdGw1Y?J=L~Mx+C1T<&ttw!|Luq zk}L4RBq^AM|JSqOw=BKteQ%54|LeBs8=vyS*xr`j*xtm{*~Qhw(w_d`dq8DHnSb;B z|6c;O+N(dZD#90?WWz=+6w0`-jVPn6_C+8RmI_{r2py5~c;b7%U;>&^yyOx+U6dr6*C$~HmJ-r|3 zCHok933pByHM^>2J;NOw$22pk{{7+B^y=tLNJH*)k@?3M zTdf|t=Hx@4aXHAj1Cj+3&2hLRKy*K%iK>Q{g4q)#E4 z5Vf*d5~hifsEF8ms+>vy22n*wDceF#`GLtLZjdFSH<6w(GvO+7`|UDb+PeO%^KHQ+ z_1VgFrVstoML3Z05`orL-)39wYOgD6p~_7;S``kX0aoFSYt&BU6Oq|AffA&q1TqAfkDqF(zuhv_vTWS6`mfzsDWrg?jZ0Sp!1dNiCTWmJ(0q%G zP}M3l1}2C-RED?)Rd_<0kc#CesqryX>hPYZZXHs#`O z6CtAQAJYJLWYKjNj+?!|wgl*NXCW>NWEby4XQ|zh%8k894XwP04Iy;@UQde?fI}d! zlw`jTQSk}AajtHsIDbFT87U?tOxdya-5N`pbs0glG(sR7S)@VVrJa@3$h&fU&Pcrm zEL)~q-c0hLnln@yVQZ;;^ri_nON4Xuy~S&C*D4Rmb5I)^UKYF4;0)kPpEcty*p~Fh zqfUug2|W1XHyBzY4lKfKN&bO~E?=uA(Fj>4^oc!Z!8}plC8F#HR4Vj5LCYUH9* z-ZeSanzv6xSJpcDEwEvabo|OHHmjRSXJbbR+TQ3j8F=pl*Bk20YO)LYZcu zFogP1y-!tLwmS9H;Q?dtYY$>#{E>r5(ZI*gS6bRxI{SE7Ez)yJQahJqhO%fVhd=Nk zQzGzr3il_a>EhzB1})~m?un2+!@gS{XYdRgxhuBjH;|@F?zdsB6L*7@jd;uGuF8lF z%R4}HjYPV^$+qJ5%-Nd(R$LzIj~OFFez-^PrW(S$w-+EjPJ!3czkLre!F7m{7cRI# zL!gtolT9N50XMx`5)1Pg{agSk1y$ICII=pXL`JyrK7B1-Qpf?kdDaj%sfRe}d zM}f7E6mzIW9C?hidcNPOxr>V>df>Z8l#!<0-ngV?)j{Ww9KK-2HD^YXrHP2;2bYkw8(-% zjZSGUX?D4i!^%M)bmA#G`~hD;93#y=t^9=17~OiP)BCQ2vcc+;Q}_D_U87Nl{|5&y z9idm!Qj3cIz^35iVv?n%3QR$yt(oIb#3PpVmx|(b;hZ6*=adX8|J3JwIbi+7XLb%9 zbebeO;xQhnwJpx*Flal<_0t==750oCzE({?FBJTd+T46y&**+ossXL%atc<)nk%an3F`9PFVA z%-b{XBbJFs-_lkc!3aDAdxuY-&Y%szKM_i3>h-TYcPIXiFN7e3F-6ToYv4`o_vK%F zIpmL-!YiMKRDX%S0hLFkdxZIZ{X4tsd@= zqK^9o$7xoNnPC!$palp7Pq?&0YDBROvK<40-GYr1u#PJqxR$PG;6^qxBP`RH@v`n} z@>n5O6GgUQpS4hqRH|xOeqa6){`=R=tftm-_3vTV+Oyxtv+vGLTIb7-d5$P5*Ih2c z^nO;9B_=Z=PZWEo#j6jlN++qv05RdWg6cu8z4|Sjo@Ysv``rfx{0*ETL@bpDymY7f z@VgMi!Cyk3ANYsa@Jn;IdkA;~;wC;U0JN;sJ4Q_W)Vpv5wuWPJ&(EYF`G$v?TX-zH z0ng@7j*Zsd^W3VDlUq-=PcTe$6`@nJCPJTVSNhspn)feo zeqPFhOsHvX8FlVS^R2?M;%|2zQoZ~JWcxWD-y*(@5oW3D1 zn*D;P8_CkCNsfMu)V!fYwPJ3|-+%)%Wy=cgi{j|(IpRBj-8pjqbuxmK*0G0|k^lcw z*;znUwR{a6c!ac+gh-=wcS?6jHy5~YL7Gd0gb30N(gI2d2uOz@C0!y7(j5|l2%_KN z`QBfy4|(q!)?Mpd);+(yXV0EEb7p2wUdL_OQ$NvtJvG=DvZFSpoQg*?l)?q=u%cBc zmQpCTDX4_ViK~a$iQbR4o>>cDS4QJak5?6?oTeOhbm5fCsH%1=iY%_nbfw+0Yr+{- zf{g7brCNQqL)F~Ag}p0gn^nJ13MR%qnPl8Jun?~~@!Q#8tl{Gu92+oQGAX8>{)T(R zqtPOlF{T{fQ=C_>J*P|CAGrONS(x@7uKBzD<_}-LV5bYw#@fM^(6bHlIy<Qmaj0MK$$E5NsjA&O-{?<`rkXMqLN4GIq_07GF+si37Cpij0Ju~*;K8<-?S{wRM4E>BjKcdf% zY^Gj;nF`#o?r4yMrIE17WX&QITpM|RQyq7dfS(?;F}koJo9IMOEzgshWUOZF>Yb*rv2&&ojL}D} zF32m_E-`EvdhH$O9j?AguBIY$+bkqmPcDL{H>|X>pLQ8V1|$@FZ|+JHG`*E0Zc^LR zZ+N!gb}XE9v>)e4gA`PQ80o3@VgcJ`HR>3T;CXXQj0CkX$#O~JtH7M(#KMsEibdBU zz2j0!s0_qtV$ecXpAkEjDJi339j)HMn?OMMh3vur!?%E@7epP13GYm?NJElTM|fSGhX;v7Xr!HYy5d@UAd$U89Lk{WaQJx zTWdo>Z@D*2NS>SSe^S#|dAH6qJTjb{vwk~yz58>85AtEs`(BE;d3=fvohftj$!8C= zqQw>QEMlDkWhqGOR+b~QKiNh&?Q%UzeF^vzeBh^L;&X7l@9H$wT3ad@(?%HzGH))>efQ1wGQ&-XxHcl9X<7P(K zS~2RMF@DGsjAJ3M=N*v#!tuI*Z$0?Y=UjG4nX$awKsjciD)~d^K3A5OmkE|CI6>Mb zY2FM>ANw^{6xp}2NW`Y-eDkhBj*NvvlY5nh2~&@p3TuWpn=%s`=oB}UTVA!Bz@wx` z*cET*o`~Y;o|uWvGSHPR9viwqBm88sfn^?b3PTuSbWnk7T-?$+*U91aE5ClKl_VL zV3l*UvntEn8`}4;{em3U&^9_)a_nwYR^Ud77&E-5GL+t?dS8ZA^tu|>)aW{({@w`-=;&hLUb6}eFDo{dbZ4sb za|w~<3O+0&7U z=MRn;Q8D=#%7rgUa$|_&Eiz&0dh^1Bdl3%SKLwmLJvDTEP zBw(sNbbF{?$-Ra%_-J)-Nd0w)A6r8AV*Ywss+5unx11EM!SSquM<+Y^%BaH~Y(pWg zljvZ=A>q+lKSPBj4?NfTNH|uP4!E8mzfA$`9t5N0;8e*_tQM-NKWh5E#W=YWh?zs! zo!oZaXk;##PsKl!XWb}wjaZ!U6CV-Cu2EedaFQ#EIvEK2ARRihir0I%4% zf+{Y1P^<}^2a9p)>b@P>&iuR)+0ou$5;h_>lyh>;i+XLCR?TQxiobR}6MH|I1cG{? zsBHKN4Vg-t?THFvImJCToCw3_Zw;u{ZOz{z-$<%22^h|4l0L0($Q%zj-O7jTju$K< zHwJY3BxvG45W~7QLp*Kzkhq$;=9rw0`-+pN6$}@!iVP-`;>ffId6%~=W7Q73_c-UD<74o?ah{i=e7fo5yEzJe06pk3FWs?{8h7YmRxdlFEI>4umSE-MR*T~2#%t*>62zn;xTiBBzDF{ zbz)}@k+{9u@S7YM#0MPv9B690bT^2y2{Nh~kW#a}T=#PwJ32MeP3bv7;|h`N#tYOK z^Vzy{j2K%O5|XSbQg=EAQ*E%w8(JtLbdi+bD+CGmX_E%2I_(P7D!BpYsDF);j5TcN zFysPT8!q*K`I0K6LWvS*B-zDA$eENTKV(2kj8P*r{g`lR`@3)SN7LwAg=FQN6F}UG zB2>%TXLD>f2%bHqmt9oFS3nD`DVVzfu_v~`PYmF&VRLJvXW9!Erd>1%eYpImp@OD0 zJ%b#CIUT9bJXK8dJHypcL;4yb(GGRr#RTzf>@2o2N&oXT;4bIlVi0$dTKUyE8uY?09`|KfaSL z<%qwrdoaQKb)6LYqx?o*O;?|4T|wFE;}^`H+~bam7B0!!7-|NH>(+H*t2liEMhiVO zt1FF=-D>{PXD&(F`KIe=I1lQrVRsq)8_V84VG2ec1CxnV#xv!5M=zG&cswDVc;(h4;)N7jB7K zh@PchXP+s!kCnBzSKw!-Usn8g(ndJ$fbk2nCuy0w) zsV82aa1U*XFZiVJ>6!7rvCbK@~5&^fz$UqyaVvy5mW-^9qem@47opH%2a&l)QV^2cB$40j#P+pG)yZ}AW4~g zLQ$VVk#?gOl&SS0^o!f~Qe(Ly1t)^zlM(8Buk&7RLnQRmjiex{#rNwi4fPMV{Q|aA z>OQ+5ojyc+;iyfiBC9k*DD-YNrEb>wBc_4Mte$A)EIR+(o^->=-RRGc1~x<8T@2ey z5?lKuHL!VPmv1-t9yf@gHVwTGM7O02`SD7oGd1jV1`!Uf>B?6!l)rB+HGyMGe@tMe z1B=}?mT|rh7}*~jEt^QZ>8M2vEKR+Rh55>l1c5FZkp?~-a#-d;$(TA*iV|$9A2m8T zs^vwpouzRzUzo}oR}qPTvDmgUZj!oFuz+oMVP)5FIrU+O)yTq(y@s`!QzFK~n2MY%QX91;0ox9P5GWbGFULyD2 zh?6H|jfII!WEnTBd5|S$DFk&i5Jmf7p>Kt82(c`gagb{720r$_*RIZ&HD|@zNaN&j z`bc-j(tP5m&jE7$htQI4|+MR6B;IKGqxWaj60Fp7M|7ggVN_W0HkY`mb&@E~ILcvt_c zGU>jT$LYfWZSZ!~tB%a2?ScJK+WWpZ?~NZFr4ah!vHN~raAEyM8F`jR_#M~fd-0qo zqDsfNc;friiX~Ar0xzgTv^W#`E2Qy8lA&B$Gf>^L8xL6SKrkzlj18xz8*)MF&UpT# zIB1)=dm59E^QuY8!q*Y!%uOvhhLWwr-uBiEfpEVbj*)nUZ#==7)t!k~mR=OpeKLiB za~n)pT+GAXrI?#z5ei>U#ZH}&(#p_Be9tO!Ze^SS=Qc*1!5xPcM#v<&N_FZwByetn zE!*)!j_Iim!HWIzp+KVI?l#x(CX*nQP^vEbcZ^6KjTo6}V)y=%PW!dwVmU-D7!?>}}|7q@+$ z;(EZ3e6U{W^F%6%q~NHcjM@UtGPta#x0{lwxD#8j9O04onh-Dp_*R)yj*k5MxGe@J z0jIhxQx$#8V>z3=w!MR3`qJAO>uhmB$Du=LIY{z4-lLJmO`e+RyKJYS<<5uh5B4i= zOA>*Wb-QX!4aAbt349Y{CvO$5q+I8vPQ-qjQ2V8?htyb2rONzzf8XZLP^EaYFL#4K z_H~4uL=wF9$`Hi{7q(qg&LD~iRP>5To1TE!F3Ee%^brbFRy9~C_)d@|8bUmcN7E!8 z4t}N81<%WBkM>I$ViCNL(1ZFP_^0ps?{DL3`%CIS9Wf~nk0)lk=dY1R98x9KH+q+g zY;9?6jcozF2*Fd+MaYQTe5c$1bh9`4U4rC3Q6dfMoLkuP8Ua- zga9bnR+ew@$u*i{0|lg`6uG!N>xvxxw<~C4{h{?SSmA?S@L5nGf`+B8HDKSQ`ArbX5J2U~gh^FpNIQ=Y5w_h~^QrB~k>JX*2R5If*T zd&h*pg{JmgTC?JAkTquY;+c0n#>&l2E=YhlI=5cnCh9?T8|{dsV{JmVG?QmK@pYwf zKaT=X;^Q}hTzZNM*UDv*DfVqMa;Nw1L&=!c*1WOQhDx|p0`6-_C=k@$%>m3gU?B-SvP43Z|`ZA@|W=v_ z9J(PDVpO$~2s&#)N_X&?al0wRVzV;}s6iy$s*BfXd3I_NwU76SG{MIKa|VzK&u5^r z+3EiMHj~B;K2wrjjZk6vCpzq+#?;)?lV|itx2w@YFzmGxrOI1**}3{Ka)-)r9x9r-FZCPxOp4a>Rgjg)oTZdeNdfpQNO1=ap}yl?Gy+C zyAOvH36nNUTjmj4T54xx1!0${O+4UW5agQx2i6jpRd>}pJJ!co%hD+6x5kfH8aD5k zc;8Qa29n?t+M=!RS0_Twq&=6ZSaIwcEWKKBAnz{ z*v4t`V#7@ggHFOh?4mE==LOt71!YVW4x;%DsLKM=v>gM7qw41jZpB9>fMSu?nK}m| z?UsrrIZ3z4(ZP!-QO~+anH`Ubk2~&_lS^P)OzQNVp#(b^eV7*LxfWqO-SMXUmZM>| zvnXZSM>;5Qv|V3%Fj#?^l476NEU#n! z=!W3!7&+;-I#sDgzwT6JeRlM6(7s#4%@nC}$ zx9@3|^6-&lDf8P<5OqH!O9v!Js)1z zAWyY%)rqj|w{}H^0->hjtnw`^E5vUC6Ge_)v{~iP@I2O}bXjj>7Hf3BGY>+aOA~`r zm`6X`QI8teQ(O?vo%Y#ad7$WWD^R6#SSQ`ieKVPdIkCsUQqq37mpq-=ccIa>EU`E6H`%&e6S|!k1F~e;eXlvUx<4_wA@Ox+pU0@nZmEJz zKKeMVf((7v^_w%hO)=8zp&(_86rxRZWC>Cwj1p4xCRE) zXJR{bkhrRiD}ka)0~06?46Yw-d@y3#Y%v{W-!lFXMqv1au_9p};k91~;n5;hzdCb~ z-f&p8rtlwbnks9=5K3QLRxOt-)m4ob==F8;!vu+S0$U4sF_MPE?$?%Q@^9#-x%{Cs zMaBA3#K1{tOAs+?N04k3I;LhIzZN8D;I31+0ZK?Rp=Gi7Y_nw0(Cqo4tLcp}UuUv_ z&wI+*$j=iiJPyqJyXB*=hMw0eXREp%mc%hne2wv}m$a{5+kW-QHSELA`fD9g9--p{ zD>k8Nq19azXo558?k(NYoQKVL$GWM9!oFh;#glKUbMCEd1iWNa$!^n(LOXM z&6w5y;R#}WIc-6&spas!AXQgR^E3BMcI*?61dUG&rh+s5?cULK`lc%cGh-4}VE7&e zBZgrn=X&;#h;pM~CZ7pi^(QU}3UrL-ckpqWPMnk}=BHM>>n65)zdY;uegjM2^>idK zk)))?tUz<{m1x~|9GaRk>#i|%BGfEPnETbR?nHqhM)xt)?U=e&f3w>*SamYO!zsF> zwLKQAy`z=3F5By5NDoZ=$QvbCI9LH%{j7c19iG+k*lm%!p?^TWL$U)Ot46*KZIc(ia7f{vsH7NctL6X6UcyND!(j3`IF!bb#j3^UkSSPHwW$< zr2QL^E7-=~%nIspC5i+F75h(=?Vl%Y+k)+&S90)RINkr`I6K;034k^4=|2H~uF$#Y zQRn{9!wX4U2G;r@1FuBS7lZ#y%)oyyGw)wZ!^MHZ`tg+fEAo$ey`-loaBv#e;ow+) z@_;Kauu}3e2V1LSO~30)_bR0)9;AULhca zMIsszXn7im;NbXwst;TV-?&`BPgnm@23mi)zB<^+)dmc`yr45h_=V340~sh*0T?m) zRR0ijp&Cfo+gVsys)C%H!A>+kzDU`C&uhr#awhb&(B*&vF9HgL2}aI6z-522*Kg!p zPA*y~I0*tg-yN7)XNMsl(qBcE1VKUS_AX9l;By06nSn3IOD8@a;|C0+0vHI^TPNB6 zUwEb8JCnylvWY%GhB1&04wx*s0lxKn<6MXZaAh7s-Gma(_mG$Z4$BL}e+Fdf|HHo` z6D1|ywmg6U8XzOEO~wKs^Y=pJm2@O*K+evJ_8{}WgBkqV93kBC$#wx0_W?ezwG9f? zjsMENLiv7LMh#M+w(S930V|A!50ZwGXCzz?CqgI{{wQkyb6mt%Z8jU?w18xX08itI5=p+Vi=c!qB{Y` z1+d1(3%QD`>I8NGIf2dp#n|oz3g-R582z0Z931^mO9NNhaaZC07n|{Nt@FZ&0^xz) ztpMv+t-VYB6Bc%h&95$UG5jd3*3*?&;s3=L7o%04$1eSugjz1eUVKUatBw~#@WJY6 z-gX5{9SnsDclj&!V!$=n)?vEiAJ{)1AN~=|?^oo-07bA!sqV{>7X~7im;c2;Be26i z$iTlMVODGYs_ex89Lzrp2)H^J{&zA=*pgq-7mxC!f^|^cb9`|pAgtrZp8cMArF&l7LItblF#`Or1Ir&z_vc;h zm410~e-F$o6dW${@0piu#rie>7uQw8I(!$(g5dVi9{BDj$vNkrBf@W59)CQJ%4h~*&6V?l| z@LUEQPVwxq$v+{BV|e{m^TK)cm%@c~70NgZ#YIUo+Q*b^jZQ!}6noQU`1B=+^20?M z3^5(YY$8x#m&6q_M-{{R>9P`&@oL>}a zJj$IKrAb2u4BX6Eu!7P1E}c07%V6|g(wMtUfG_;6A40|9h1yr#67ISdHy;JfNXX^+ z(t8{^@T;Gds-ftQba7CzGY8!I=fAgDOAUtmDg&WX2`aOTc3=VnDxxFn&b9*#P}swTW&3 zslU+Vt7jaMn4~`jJ%IX#Kb(OdruF3SK8Y%7L#!zVrR%7R!N0xof|dJ535pd3{$ms_my?cw;B+e6OC+2~-JW zww1o=MfiY*Thqi{V7|*d(CBvnpdzDOd6YS`gZ%XmWG)-fZw>+c_^|}|H!}Yo3I7TV z!v6pa8GUmj1INFh@lRMpb3yj=!Uye`#y{<4nF7U&ma)7(vhJnKA?h)~{NEcbPUL1?`Gs$#d)67{Ksoa2VH z|9MmVKke~lL|ma1=e;d-m8J2=1ouDG z&tTLuB*r!omYeYo-&Nv6Kyi537kMQ!e?mhQ#7cG7QmVP=IzL%?$8eM+zzzudB2AB_ zrOUOI4Z=ejpc9<6!Cw;`OoSvL7M6;nOQq&{zEbGxRYuE4LC1RQKT---)KhXl@>F`` zTSNNtOP~>#Ib?Z$7NT2CoKG__ZKTL~9PQMq3jhJ-%33p~O*RY*7H&Hj-QO4EJrQ*$ zQXr*_FDAk2`>YiN5sFC?96j`_osEWtnljZxd)x5~QXZsg#G9slMs=ESu84l^=Dil3 z?Pn#Xl+^df`@O<+q%xOczg75|tnIjg!?c+y?f`JGZ zdb!!ZnLqd{K8+?p`u2NcLWxvVdrk}W{1-ZrA@L&#qj`!GKb-qTpqe>mV45Zs7T|%n z)Xb9caw6g0o8vXC9E<`m9ZU{}m(B!Z2-_zvRVUD2-46hi*HQ7O>r4LYP{98WLqW*e zz{b$b+T`!9k4g^HK@ve8@sR*T=chyi0qGOBKtZGn1(oB466+NO7Y#)=%NVZJx0KXJ ztbFFa^xA1^>AKY0a0N&Tf1Y1{zB$dAd!D*BRKqiGz&-Bz-OXaN-I#GL$@a< zje9V4;CYEej73)fD06>I7F^<1X@ZvhXC}j;?7QV0fP$vE-OFyJ_a|GH;>G3HswrT;|DlD&bV+9r)@_ps1J;%V>_7RZ+l=p zLH8~Ip`0LENfK=vNVI3AnvtGQq$$7*VjLcLC)*lwdU8{#kQ99m_pB3PCrafC!MCSJ zk{Vnfo}3MpQ^T%nv@Tq@n8IxGmvn=HDl@fKo3i4CjTt9{s2G}@3mm|di8dKkgT1k- zS}8pjEszj7;@Z1Qt-hox19_3Cy?N z6)INRy-m6K4hxmPYSNe0I^q8Vl&aM?;^#+T4iP0r8c!KW&#uaLAW`LH6(gEV3`s(m zqAZUQXx(XKnTW=;U6W2_^? z8D7!BB6_B~K*RKGC5z=EI`cUU6?;H(3-?zs7V^O2kSSYyn_|JVY{~}auLP1)NUIyv z@Clm4Y=AsySh+mFjkb!qg^jC2e0Je}MnNG9d*=8YiZXIg{x<5R+1WkJLi3Jzs;Nd^ z1DTu@lPMw6R0Yt)sI$8ln7L7qF1{R+!zVa*&=2fx&Gjj^AmNO~F7wXw&8Mqv5)t}G zdh$@*qY5}XF+zlyz=Au+7*E$}iV9dIZ8e}RB1Gk*hG`MU&e5(1Tj64vfI8{6HOrNr zhNi$ojh(`6=RzfN^)H)&d5cXW4il3MgK^vuURXr+`^qbys-I1dMK@rlK9S^K?D5J& zG(_>r-eqx=d;mR7zw}bwQ5GqFnKeuC*RRdw?-IV&pmosVd!CbFyp+}H^dr6_LyPF8 z1>3E1hxK0~hu1fgrPhzrGW38B)mn=W@zy^fr&<9HiOiLnA4ibhp|8gjjB9Td26l)+ zsB8@a;gH3aUonh)eP)O#`-`_?;vqQViG>;FT|q_b{c*;iGqoG=~u35_oE3QdxTF!Xp^ z3jL0t(gihMD*H%5dvBF!iX>BDj_`@1e6sw5z$!esJ zxvU|1x!%9fNu^?tIFGh2nG=l-MkwWnzHlKTX-J(c@TJXiffP&~IIXkKff;22I&)4qskx+`}PaMSJl z$YSV^C@2pqxH*GI+@62~NKiPBhE`HfF0?%Zc z(Ng7?Bi$uhPdOV`Hkv_%%CYxW8=m^6r$xvAK0sg?unwb5`zccdGl9c$Ajh8xFB|_h z>Fbu=S^+n#VE10z3)I&HP>vk;Bv9)&K{WuFEzMvaOO=-vN;joCUya5fOlW}Qu2E|w zwBZ{!O?b&CFwA3BnE#1BkdAVzQX3~!k&HmMe-eoojcx`RP48@huwh1=;7-o28X3be zI@pdcH_TC`kJcWJ)T)!4$GJ`3K3kO!)IV5)c#wbnk8Wf&_{s2i$(VD+cuB~(@p{a29V^}HEPr7AZ^13RpqsM|x(sIMh zZ_8*d3G}(jxbRo??28=pb;Q}SV1H=&=w4$u#BxJX!>rz)3C`j+3eWy*ux=?J{bD_}V&pesEvYsXPdoDMejCM) zWC15A8wKlN4^ROh0Z8wX{TJ5|c#`*MY;?%EebrKmK`0rQ8(N`nxYo-3nAZeO6oXTsMR*>v3THlRB@q6Ql&Irh9wgslVsLX`HOII$RILX7uy3Q zswDP$nHXW2Gi7n{TVReh<(JBhbY-EcS@6;0qhq|=Q4A>Mr$X^5t1RcvW{?^tQcr!y zEZAf0LRjTiFj$VXwMIEj(heBy@nY4yohWP~HcI(ia#rWWBPA(f`ZF>Bs{>xD5_ddh zAR;LRh+q+o;lf+T54-|fq&z{o-{R~y<-RP57X=QF@M_L)iksQ$B?b!?N*S{Y&a5a* z#_l9-BPPW2LkHfFaz%ryo&Flr`ZtZ%MQmj&a)Rj9gDHuYP{9-u+l~Gg^lO0_WX-kJ zq$%37Z}Z_8@T=e72~~tTqv?8=#WuwRKg{PwV<4(9esje!aFN*;s{|RN_DI_ouZT`R z{u*nO$#%GFAT)7LJM@&luD~lr&C35QF?9*g9?LAqgR$$`W8A zK#6MBt|AV>u(E;Wu3`#Nuc87|+7L@@U)C_4RkzVi$W1BYmZ)^B{~~|22@DQ#yw0Ty zuk+Wo1LA%QaqaV(^%Cs>Z7R8viZa&0fl;%Ir-Nn2y?y1Pse`Y}`7vUYIP8WYv)~#$ z?1W*1d@2#pZab#EZ;iULF>Xp_;day-K_!dDh*P?c62%Utfn|ABI^93V>Gs;-8sy&` zC0ea<>kex~SHomY@=gODHzYJg<(9458yzQ);C890X)k+6;ZUm4TOBvdiz5}`=ccFw ze*;RLmqX-yS2n)@yPYt^WhCs@uqrj&$r7QZW|^{ot;+ily5m3>v*p%lQ)hPlJmF_z z)1!(!T97PN(uYIN*vV*as>tE$6H;mLgdJ-7`r!(T08R^0| zi*-$D^fsDi4$C2!*qZe)AvYZBHa3y(N5=fp&{OH1Oam9cYBbFXr8ch?6+ zJx54$(B`5;1xNn{_LuTNh7z8U0sHZz6!yPyH2HtvXazGXTT7#VvvcI7Y!-Ooy)0_3 z2w7tjLBXXUKYiJy*G0K(cMA{!Vfm^`k;@SG5D!%Gk`zj$)e)vYAl!lQp8Ea73x5&9 zn|wij1Eg-T=JEE1V9!ivurSy>U%bTR9%_4wLDE4=%U=OPcP(^ujS<+eGmy z>qYqOKw!`p%;}D*`j~*n;<#Vw=IAac>mioRoo`#XxO<7I6U>*wRPb7z33_e3p#Q9V z`em8S!Pl|^-F029;~X#>p~@W4o6^L%@{&0#2x*2?qMI(-Zz%eywmfK-NheFIS74eS zXcRmo_OYbgap2KYo;tdZKXCc&@w-aDY3It#Dwy@`{BbK+AYmP;v0SpXToj;di)-ZO zOJEP<*t7@>8p0g}UO~WfY;-=?ahOy(f0j*X8xi>p$oTR_x0&5nzeFCWwD}YEoa7du zkswX-=Es8EJTar%F0~&rfG0%QO1A7U=%<;v7z!$Gt_T318a_QjBd)x9)JmCZ9lQR_ zuI6BN3c-&vx?~pfKrJth;Ao6Be`?IOnr-&LFHJqRxjBkLL38USSLlPG7#k9-Nr{k^ zB7|K{0Y6aAIOb;XU-jd|Tf5GsCTY z)InzPkc zzyGQ!02s5R4~3&bn;SQs1x?Ocjkhb6EqhxStj;-e*zP+o%gx%FVZQls_^3m2n4T=_Y+qh7Z%JKeSt zsbn|=coFLcIrrhC*6QTtSoj9Dwr+$PmSp%co6UR+ujEbbEC>lwFxL6&gXq)I{Il zqPGITbFU~7HC~It^X3jnbdCuRbG2@%@l4!8A5Tgfx~@gt2|I4kAsyS6#eNJoQXXv# zyD~&CwuBamo-Cm zx##cbxaDkxMi{x5>=N6whn29w<^~q5iC@#Ay*bHsr|xa9_0Cy`CoCwK?ONXhQ&0h- zS}cxd%N87IW}P)rHmJ6Yy~ga{7!10ewJCD4cl)sq`PJww*&<+rM+Mct_O`)=%c)zh z=6Usg;-c4SBbV$;w-LyD4Mh?1C`_^`t~8x_Zcp3p#SKtBc(rvJprim+mGg%;i}%|h zWqvYPvIZkIY??2WxoQONoYFjhM*u4|fDtM!7yyI3LDo!_1D@d|cPgLy4d%R%-cf!T z?zS)z<&ZlhSdB5heoUp>F{#41?k!kiU+;}D-ex5&>eceA#k4b$X~JNRXn%y>^H5zl zI;pNX{f>LbmFbLC!<>;A(YiL>s>P-whn^zA(gi4^F2k7l1B5Y|A-3OWbFZSGGGQKC zxwc5uBPS7908%I8+sp0aQ}p*8hbJ`^J^^Dgf;pU)(B}&+m~!w*?ez#cBbKAd1OE~uaG&)Nk78@D*eEe!L9#i>VoC7Kcu@D|s zJM%YG-jlnjoiGDeNliHIv_bPHV(&iUEiYQA2IE%vvPYkiuse#pWi?>MHqr@#ifBeY!uLck9zw?%W zjkWckwK6js>%WOBiw(+C;ppjPv#_h>EQsH=sgc)Jbm0+XR6v7QLgUvga}k7YpBlgW zhVXnLF&Xm7v8UvgK*>T|o^`(UMR6;@I(0$r!%fowyVhhsDM;()J-1crgP$NR>%Gw@3||VHn!QqBEE~v=6s=igK+rDs1$GNV zQZ0ZpqpJo1YnF=eG>3DrAOf2&^u&_|;0w=Vu5mD$Xhy$?4K(|_(Ot+}Ba+~5OSYIx zha%h_&8(^Sjv45^liww*YN2ON=1vSdBOz!^_*6(;i(q(SRLESL{8va{K|p#+cTgR5s zJvSp~dfLU1?Z&V(&tjPy0XV zaccSCa1NDPWrp9aYJoz~L~E%ApmFN=fL?#Ggcx~_g35WOW{6m-Mu-@4mhTo=-WyaN z+QA0n(p|-*J=uZ8khx}7y+g>HKv+wYz83n+(EXM{@l1a=LH^52Le?zZ{o_ICZ_Xfl z`n{v7%}79YPfmLX^{JqEO7-PXyh4Hal&mu0VEAACee;M8Q}egzW^|&>pu; zzH&70y+D5P4fCw;Qhy+^_$c4fZ0__$*&gboUD`lr@BaSI>hmFel>yl~oUs{ur2*Md zzQqRFQM%oM{1WMVLH5+?gG2t1?fWKwjq}H)cn!n%!_UJPt2c}zqTtuoaS@@!S^DS# zU&z3pyFTw0rQF6|(nk#{*I03M9cobrPV;TTse$X;cFglB>0v*Fb5U71(QVy$-8?rd zm}y)FTtBt46c{z}%v$MKTUgE&fN|<>S901Go}aq+a_WxK-e33Eg%Wgs|G3+Ijt$N= z-Qz7x2qc)CY@~n>Ghd1tc9GYfZSzX_83jVHm;AMTrH-tp*;P_hRJVQd-00}KOb{s( zpt2N4#O&k4DUW-01v4y$I#suT1bamcb->l9Dq_OenlL0evAFq*J62q1_DMtlyv^^+ zl#+ijh;xNGW=7%0?A)~cfyvzqd&=p8)5=nY5G&$+;7;mGw#OLY#~I<{^-md0AF%qN zjm-O>1=B<$h~d~1xdFy}xg|*^Le!H7HdK#E#VHa7IW<{^i&l?SSEd%5zcy*9L8@#t zno@&wLG2;>2az*1S&18CkrZ&xH`X=0B8$M~6;_Xfi6STXYKK4Y?kmKpAFi$!&OiNd z)aS|EcOORr^3I#SRAn}0D5Sb4Z!V+@q(IXR zBjJYe@xrr2Tg5iY=E_yy{Id*2bwh+J${l|j*g;m|1hS<`q<<)Ot)tZn;rTRbL|FF7 zLd`OkGpNmXE3@3K5)4m$)%IuzigbU)nV=K|o-MY2eCD;1V6(YhC^vA9YvDkH9Z-yU zo2(Jn_i)dPNu%MOE%YPv>+P42;X86Pq-~j9TSXy?FybugH?0K{qdm}?Kv_ls0aV2_ z4YOLXbBHAO4}u=YVuCgPpn~;Zh}1U(*l0v^8>$#G+n$gTT}WoXj};?!$aqGs#5%MV)T$Y zv?jPO0rjh|oi^hs@h(}!o>RCn+euy~oic#;ER(XhhKI;_@f-u$$WYsxQaS-Q!5mvo zE|>B3z#G;%aDIUyOuxjpz(+9~8Mu^nq)8F@m!wm2nhXqbI+Zfp4^Qd;Z6qh<-PC!q2ihJ?uLf7a}N zQG^boK7|-~?}@q8UqhxL|60%|dAD|IUyB|i?Byy~hbmcR4I(q-M;K?*aKXrR1R3~} zz15dWHnmBsgc&R#bcA9;ZXUZvz@~nXr>{p`nlbTf6GjbIQQdx^EX=MW#F~jisQngee6!)Ns{W(_L zpYU-NN-Q;A)mUam^|TR3=p-cyM@DRWIuu*8NvLJBLbhXZS+{b^KvT${9jU%!7K zTZIUZ(1G2DwRg!s9e!c3B2L)R4HJp9apx<+zfz1p@BgIOO^T2Vs6WmwE%J^JNak%JpP#^ z`(EaG>7V&fIO%(#Eif&)bY9*Jy&t+kTmXfQ^qgHGyGYzbf~j0F;;Fn*Ge1_RO#DRj zq+C8ruuNWGy?ps}T&XPkJZ`a9s-Thm3^=&^JfFBT60--cE-I>}KU} z(X{kUQwwY{chrasw2QDyd+6J2aSalibaM7O$)t4E_1EU%c2JS7lD4(02PXM$W&^G< z#MLM&GEO5?4Fd}T9kL7z?2jZ^DaQ=Q6{fZpTG+hhjZ+6#%r5PA1@`lm<))>j_t4%8 zhZPTOC+(1$s_G#P66$%_apLx-`_eKy1%m{F4Gu94vU9a-v`NEsgGa(qmgu==lqgF} z_qInNQU_A+{PIQq44~><;d|L1eLb!%4j5t5sN=L*7uZ^JqBJC|I<#yX1?dEcmxY_t z+j8*mD*+SLqV&ykhO zEw@U3AtNh)+H?KPla5UP34in`-0!(UGyUt>6_5SE zVot0ExS;vq@RPVI_SHQ8c7~A!(IT9$~+fonjEi zdvPwSVnuamQnQ2n%8vb0ite%%C}_N3B`f6mN~O}Q^!41QCfaAgX!HH(5LYsO^;V5T zU^}{)GvYQnEG&2uzHagJE;4NF77YI_$7Q^}eNsLqx$*FQ3cKQgp^OI&iBZB zpsk^LoBl>xMY@AGEz+~6;DyLng|6;dzM7!G676Ehtl}5L<|qFJPZRdv3a@A}ko!*( zNMMvy2U+-^V!M@exWv-ssYNqb5lIk~TbCEVjc4eMX}F=JKZWCe3mTkV%y=5n4`vlh zx8n;NU{Pjfs&mdJIFU)m{fyi_7jUd2d~qhqd7Ney3PXhc2u56XZW}uA_;rCtTO@ic z0%gaeVoHc}X2x?08O(o83nHW&LUV5NY*w(UpaCex`rbG{#Oc=>j{cBw$e0lz3H(-x zLT%#?b5Ig$O!c#%ogcZ+wuE{2Y(Iop9K?=3zwR|cT=7BZk!Ac%w6ups6ZZ@bGlr}C zt2@@XSA6#MA<&7L6Ep_M7b^B<{^O6(?TE;xzR%~;>y^RyR1lU~@tET==$+|z$oJ9i z9hE`P_vt&;VSG!8{Q5&5vpwdwJ;ZN_uWV;RuR*<^@w+-jeLcZvx9%7pnEpGW0X`D9 zH}u`#+(2IfpdTa9zkS35z9nyUgx46bztTa!qjq~r`o4d?=9t}PJbFk>P7ISM&Gi^O z-h|`)HWHcbCi#f++(P*T3;yN_{0{#jcvXGO0q;KZgvsmnXNRC#REIDJ!I0b8#Q=50 z1~dbwq`rVx)k?-2-IJq^F+_#+>zB%=FafvZ96u3u!Vb2(8ld$ChlIV|DeettONBy| zXtDOylr5{NY?Kl09Xz1Drd{2*N(k1wM^KTwhL^NMiEAyZ#+PTDDpG*q!;1>PTtJfL z1SYDE$4lKK$MsL6Uisu*Y#_ga#jA{ToFU$F2)9R~WdV4&G$GXG1}Xw3>}3Ns3ZR`X zT7ZLaSMhKgqm6A0=S!6%fO05b&BPFjL`5bWsJ#U@D^CrTW&?rX1soV*)Ud zW@Q10K+o5~>qFXe0*dn`nwM9@rP3;wl)FaoY4Omh1mh+63_n{D?kOLrt=xjw7wc6U zux*x=X}3roS1@#=shn~XEgPd4Z$JaIxkWirQ!q$Zvf}WXL=Qd^sO`TE^CJ4~Z>lUS zQq2l{A{m#|RV#%fp(v*R-hc_QZj>r~g&%PYT>sT`6Z-~aF+1>e zIwxKMDUBAO!0`w6vlF`y-a|vCKyCMM@kA{bJ$|3@_%-}93wH4FGudHzvfeEgLaB20 zJo4}4m~E`UFyTci()fh9VLE;aDt%z)TOGwHG&QlFr^gJ5o}a;5!iJV;{>_bbDyP$s z1bHJQ@m7t=MrQ2C==E(o{5@+WiA3eTUIu{7c7$9%G7zl&0KMd&A6(~=72tR~fDha8 zH}F>Jfi=h)9TmGPNPFhJxs49-UXfKY^jdjQ#nwxqC)s(6wLn<&nx;)XEiF$d!L8=Kw*B|wRK7N#- zQltvHs|8<@j{sZl&~%qnG~}7bP8YThe>LC+^Ln@i*)GvK67x=>cg{>b)>~E5Pq{t z;-5G-MWkW{TW@27XHD^-l%Rh+0K*EFmyHbVKQ<Q1+pNo)HBekXaLqM@8YV@3JXknIV+UDBA-df-=p08|A+krSTw{psO)Q`DYJs>$JA` zE1jDW-YqonITpu-7bPDB;Il%)_7@FBP(}!vXbozr;QvH=9mUS+wBzMr*tN_Q0F-x! zU_d=7GBEW7C7bJN*t9K7IJiQaJhJY0gLuu9i+H-O=c{G5vnpfdMKl!OSW{y%56jHsroGi{&v0?`u<)>~tydec$#n$uiL zk(OCXYh9If;%3W2DohIPxvbZrKtr3oYt`b$3 zG|YlwkT%S6cCZOC-koVFL)}*tJbe+_b!xATmBHPjK`J!1dCYfO=MzN{BE_T8%E#k# zA2X8!`S}xFI@dF8Cb$kPw2mFyO94`glze2$b5O5t7;i*L?--rpn`@w!UQ)S!`AY2M zWWD6Z1m(E~Zh$3So>;j^jdiQmR=dp$4xQJ6zGTxof}6f2K=X2PdaOa7A(dTADGH^Qk-0&NvE-Wf~bC6b{&8+Su(_;tTXNrD5Xbj4H>vPs;Z& z{dObDHXzN?Lyib5d~}YleNm3BQaqttqqDDuSooA>W>&zircbpl_#{bryMXJ*zC6*l zr@!J6$!lxdXN4||Kap0C)Bo%jlCwp=-p{(yz9!XELN+p=ZeGb2&u*P4SM5I9N)4FQu}l$vJEz%Yzo z24D-YHPmJuM0FH1r(bkXb&wQ@0~)d1voaqDq&fyJe2jd4_G1ix(9pKtx7QBtbHeD( z%&;9I*Dn^)1VO!~lxPBC#CBw`7>7*pJ@NwNr z2HE&P*R&4m8L4Hb8{qMa!&0{`tn`)fJP#?ZkUgd-tYec=g6X39Ho=@e_6w)>s^aRb z-t_R~I{EOQs!5S2UVh%1^D5+K4&pWY<{(vG#Ipr`0Hr^cAzPXX%gM;b{vJ z)ptu{RS#RcPABIVBPNfpAb(*)6e8bZ@y{;)LZJVK4a|SXhM>Kfv(Z2ICnl-B_#mC2 ze`h<*cd_HDf&+uo(n$esTSE|_P-y!i)~tf+o33XcHN+BJ4~o%K5MetOTeWYrO4*95 zJIyZh>UY?oYvqZVw9h-<{1*83_2hr=bRm%#1q1k9;IVV!meaMJkkfNN3F12I`#l=E z-x_Jmc~~-{LDVS~9C`q4b8^A)dH~GhO)}7dwoP@w ze@_6Bd(t+tfE$0W02();4j4D(79vwaxXe zFR3q4lxqlcIT1t-eUzel?|w9blcLqQG2&P;4!@Z(ab6J%#4Qrva45PMzIy9Sv3R+A zXBmwF@gu9;D>KQXpmD_y8K)_0`n)BydEn8j5Ce7cgkJ$5qI3c)O{&7Z&F5|Sn@TII zr;mMx3KdgQ^`cpo!>zlI)!VQDc&K(v9w3T?O_2l_qKdf8z?YqNL+_C38_4VCDDngEJdeE1I*PA%&}I0E1jW=GWs5z2#|;znt;-?=YoL)D=xkHc0u3So>7Rz#7NB(9jU8fZb}l+B1L6~jXm6ZX%RBo}DSu!&tt6W5Ma=gS2_ zYa^I87`tp`6I}z#zRtamilky!jFE?u!B48C0N>cb8@Lvx+VEY zBQVXR>LRBN#^(cQ%y9G~i>+9`rVu@E?7}*o5+(34^klVR7i1OH8Bz?tusKocK zzsWsoJu$`!kG1+gs)N_X6lYmv-;p^RsY?q)YWEO-N;`rGz$~b81`q-D6~QQg>qLg? z-RTcvLI-vI4mi@I;mOm1sX!>`5n4_!QnBd98LCHA0fn&WKqStlS3g-=hBzEEa^)%+ zT5#~h^*^Sq`~`aL(d*nb;ebPdzg_F14?9D<|9HrWBCX2>F!qy5_xp0s^Q3mtBIkEp zuP6e+x2t~=66^txXfnOKrSL5(#>RNP(Jg=8l1j4^CeP}M4Z7XWF4KTK5V{8 zz~!23wt&~F&rb{fBMYkWBSGe9+0qX?ebj&@y>CME=TOW;q$B>)OmG^`yB<{j`&3#| zNpPgXYq7m<_=I5uLZhZ+@Z+^~Bz3AoendHw2yjh2OM%cjJIZP-3S!hV-8iS+5+Irs zjN3Svq+}@l+U=jQ13qWHbA}y5of;0VVYP!E7DQ`Z^p`op0)oWV!?a2k2~(`-aa3jV zVxx_(BX#-moDjom;m~9RW^gLWQ*@XGNq!V1wNnrm!uzgNc9D7zSK205$8*!LxjeU! zc8v(0As`}vG)SG(@w28Ux>82FNp_=pK7$zp_2a!02daX;G?c+zdN~D8z(}srD^Xf% zNIywVQ*;Vu@f&B%fDM`#ljXG@%;jC7KraF=Nb2x(9Lm=8wXS8AR28H8q6C?uI3AR| zY?U|l$pxiJH3Ao(YG$Aq;+#$S1qVE4X3QW7y$ws99`q}BYGbRIVB?~_Q`kIP407{YNJl?ana-Dj2J z91p_Lw)t67sq`C^RuhfRu$X6Z(_S@-=hA^XLIxW>W(?kaNm>hRc%iQ^IYO9BUVTJN zW2tkEb7%fOl49|5+iev5#}9YJzXj3%{p>l~zY8K`JqJfyJxA03zXRj{JD2c3v;Qr( ziXV&I* zO2$c;$Jbzi5AFOE%;W?21N8%`^5oJw*G&G()Ofm$iXU263%)_bhkAR)A|!eqTCa}|EcZl^yK z;Jo74B)A~x^hL^};n>(w!pPHpV?oXYrj}z?ouoppQEz?2n7@)^eY0F=s?76jU7VeL zvKW6~z5(Xj1fWJr1PnF@$NqNR;$CK&Lo_&6zzB8F;CJ`yAQnbYt(H zs=KFtoBR>`+Ko;0`dT$J&0wdsaRSLq7Kz89Vyg|Y0rIN79G~{Cpk){``gGb_^>-USpl; zx{xS+vYSY>Xbt2vgUceE@_@zUGuTN5^L}S|(Le($>;GVYvVY z9R?Gk1(F*S3Eh=?Tdl*qI0YaH!}Ob-n+)b+78zcz0sVf zEb$8`OFaQk#Q#OwJBDYzCfmcEbZk7aZQEwYw%M_rPSUaMq+{E*t&VNm{Acf(IcLtC znSHM7eXo4}<;zpGs_s>_R&5b6iYKC0ip6t%m)zSa!rV;TFB(Bp)jD9k1dY)e7+@s4 zS*+{&D3KjqmY1HyG+$1)*tUy!*wr0oKNN8-X}i)=Y?pBzkum~0Iq=j-$m$7v1i}s z_yK_%OGaF+=5_Tf8fO(6Ct|F{12+Dlo1qE(**$)I%XlPfkqpLZeMZ##3T?nYpwCr= z-GOxCT}jo~6exXfSSC4`ZcM!2-t9nOT`v2&m^Gx)&8QqiQcA%p^oP5gsIlVL>1~l4 z_(6ZU-nLFE1@b~-()K)u zRvaG7eqbv#*3F{79UfAf%)k)l@Y$Sb-_Zt{ZsVR)4Q#vWZ4=<8xWa_#KlR~W_-PgR zdR~-A{6te9qUYi`9GJ*F{1*6B10c!lyt=@LNiC0bhPgm#2E4$GF~P! zyG{8cKK6&bN-?4k5uiqsqGAOn|EcFA-XQrrCe@o-gq-mXt)#f6!~pUb#RnHeaYVi^ z-Zh`>ZD@fawU>M8CY~lo6pwxf+mGWJfyLAg;*3hJA-bi|FBN!=;1<$VA7;7kr%VS6 z&Es4HuGx**$&B;i9yv`IVWye0v-4V; z#>VHDjiev=Ar_mIq?d`IjaL)+6WiJn?MdA)LXThYD4Q|`)C2smD6O~W5v+G|VfK|h z!$Cn^V#U8widGfrN%W)h4sR+Js}FB7HG5aYj+gkQ`q7~yY0?CKQ=V*;q@hDdocwu_ zF_VZ9oJfJ2lt`E}MqkyT(cC!HMG4ajorwi8i(*kQyDvffC2;O|o4Z+7!d-3#5#OuV z*~%`AAmx`jQ9WqoFb3_eM@Fo45}W^7vvF}DEw9aG;wl)_InsoMU6MYlZpx7eXMv5~ z#Wb>DQb}wF)(pUrLDvoC&awBPU{k*+-Xzp>I@a1g=v&3AqR~;q$>O;SCas}HcTFHl z*?0D!vOvyrhF9chZy|J=4To_n9cJ!UbIYgohUpsCkR|#|o_*epBrLXw^c|~_TYE5` z%nc%QcAc&$gkjemkqrDDW0|feM8a+yG8Mth)M`J|4jNaP?j+3lstNkvisubg88h}? z`O7?VU~l}q2d)k^0!ADcREtxWU*J(Z^S3Odn9^ZohYqo02vDqMtG})*T}A{-ubMWw z*W4t)br?5!YE@3YBr19RB&gNZhb6_8S9KXJ$@VP>jGb$7W_)0oWuZA|N_RKlWsw-I zm&AeWbsdV`{75q29-``@H?W(AbxT=xty#X zTT;9Of#sQ(C+3zOEa4F602j{}iicLQoH}y!EjeWeFT>)_zyw>UBBhT|Dp#{C?6~D# zLmK(Qggu{OODE*=esp(R!Ee9U2Ph3gP2NEGg*XVn0rJSneQv2!Xu&d@gl7>#FBHqV zoOO62fgQ{T!43iJhINb@;83l4d_ugAxwZ-Md9ESvx)K_d-|Y0A!9#Ro@<{UG+xR(s zHLmDjE(DgQm|D?aYcHW=`*Di;(a>{pXT5uE2Tf>UQc}a#F#v=o>M%omu%Zw2H3Ze_ zUXEym-l4u@qR|c@F+dTH1aZ~Dgm2DV!JfNDjCWiECAGsm;a1{o?%F+f3*>1FKf=2w zMINcO+>2$<&_u_$T9@ zw}!FP@rfzMpAU)uT%Gj9ss8{Ef8T-r#06wkfH!TczL1uH03`(^D55m0#4KBV zn>Y)?ikZ)M1ZeYbXp8=vsS(431{)uueD~kZ!tsv7{bkIrG`VK+ejjn9k%0N-TQM#< zOs?Hrryrzy+#Kk3o(c-WY&_EkJ7P`fh2qV=Cd*%D!{e^rZYRQHj9u?r;qmOdIt>PS zd*y%Zum3G}`!#@B3 z9Mlru1SGoBBuH(jO=4?-2}x`{dni>b+s!7A_FD*ic|BN>8*Qp-?{9Z+iBD*NX*i%9 zNv#rYu40v|Z;W&8H^L8YL$znlem}CfFi_&F2cR?@1Sum1<2W+j*{@e6&W9UwWzv`D zr#Q9NS(~2LWN#3C%p1>^pzqS4iepd#pzoWyo~EXo6^k#^eYo|@(SbX5dyR9A(27(_ zNL9&?O|}rvz7eo~AIG|v`aUBcf)o`O=Lz}M_}*V(%TkaZ(ij;K56e0Ny0Xc(1oF~q z!>-*=f6htE!lH!Spr86WGrT0Tq|omk16(Myb({LmAB9%t+6!IM@za+DfpBV8uQiGi zW}4 z3g=iLQ_SC3I||9jHhbp$mWupD^;00eaHM4Yc(4A7KZI z%ltn~Y7MaFT3Fk)=Gl_UXGkL?ia0!uqiGISMN=zMk{mM@yT53+{B-1T-x^ehnWk}% zr2Cdm#xs`{B(Z>b3-NZ?#c9D=8yVgjJCQ+jq!ecvBo*i3dmEOgT{yZSWUsXnIF(0J zXBI;vuAv8AbHL^*YSc-6*2RRkC~7f4H`)ewtr6x(>D>%~4?PfQ*63){p+SN^27AV4lpJ+8i+UAoc*IoeLKXRNkWP8n)E3VK<)Brj$I~ys zI>Dz~xnyp|fV+QPNnT1QercIr{gR}`9Fvq2V!7i8D;)*c3r*9s1BGN;^$9EFdMtGj zjs$@K5t?e+csCJikF(Eth+GgftMR?A9w7~jj~OQWys)RuI*-!zLpc!(WxMTXMXYai9cD9 z&g34j;yO$#RJ_x0*s0tR<%u~(f4D^d@P)Gie>-L7XByQ6_qt;Hqg@YG)O>FI)GlKD zWxLMs*MKN!X=5PkU_&+3#idHr=a-XPZMKO1r94-y&^jMS7bLyF5!}QJQ>MLa6 zA!=MRox-VFl4Lc&^cC$L2$}E6ErdTuwDTo5{J=3BlqHb#A>BcC@+RFQ^ZxzyZjXzY zT3@*rKx;0(WgnYEWm!?9u2);s%`Xs8oKuwTPXa5UwUgK1WE@#h+LXOrz&~~a8eW3O zT;8w&ndUp|cBZbwW5(Ihe!whPI$}o?stQWn+A36ZR^wyfvg#7)Qv@-@nhm-QznX|u z0SO>0pynpJZTW}|mPGzZ8Ln{um5n&rQdskBdL?icPP2Z?Xc(T!At!fRHt*5KF6DgTv8&8%_ssK{j+%m~+x!1w{PGxp^ z754S5)RYoyT#MkN$KFR8*0*nqkLnh~%IpF>A z?!kDz_Uy9#Fz%9G=yfLEqUnjRi01Z4H2Lr>f_9eH(=P|t(90$pHr|5ASE|H~l3r$C z(;w~l)3d(Shl4ypPkZ`Vhi}4joZix>rj#_z2JO&VZhIZdQxR4$+S!G(i!uK|IuPrl z5;DIw!6Qqlk5Vkiy84h#By1lXzWnnsd13{*%=f9TMfo4<+JAMEr2oI8Q^NXRgHu6T z7Fi#`d;QEhi5A)_0BR_S+@KW{tI(BI+l+23OY55E{OyKNF5uW5s66NjRaOh@H98OHw**7ZMAe41nU?nL zG|j_dbCZC*U$@=X{Xd_waOgG8jVds=F zQkgB}cuH;!^^^z_re+9dTPrB7`>Lyy5!q$z)@yLy+ilXLEBHxpB>;m4FJD^GFwOeZ zlPBk}{gg-tbQ1@G!7tB_=>k!aI(eUC84JE=rLiM)0U7*y>-Gkz%$mohsdL&XFe%-->sg<;rOGSMRy3OZpjE7x0qvfQ#ckNzp2xFMTkb1gN-o{2ocXtbQ3 z%9z}2sx<7^NrOI@zo3~zIIaxJ=tsrP4=MN4@*q9Ua0VNnd<4!KI96 z)Yh~2ma?+v8MK*{#F-DE9Ga6bwkjH9spLzP`)x(En%JxkaGA zjaOGrW20aa_+EsxaBZ0@Lnt(9)6b9>b$3^|XV^gK7d#NtIWtDj@6SAL>K#GKDRP@( znNF2xx&plh;f>ygM8XXg_X4lz*9%p{rl41HD!WMuW*nRo`H& zu@?JY2X~Z69Ohd~Msy&+AenInT($2M=+e%DMGa;?3Hpmy^7EQ0TLemFM0Q!U2ajjaz!Hk zRAQo~{2#(OV0&k+thQiFV6M^3kTUb#!w*(!8q;8`vqjV-)hR#K$}20b`ohh8HGRR`50@Yi~WwuxkP-h{IPz&EZ|!SD^~S5qnG z7=7aDi+A|}hZTW=Koi;{naQJz=7-e`)3>{q7x+4&pGl0*G2uDz6jup}b|@Ga3t1tz zE#c;?2)b+}tFegvRxztFwyJ#|jDXdot1nDQCM4YPm%#)IjyORCF)locRIMl*x2}8T z<;KNhVI6y%OfY8^$_9FzLTP7=MG;k2uB0w(jS^XV{cn=CvLh4fqt%|vra2NyjXyIz zMKX-mkW8b|Hc;HuNu=B;**Qct&Ay!4Q3C?6f+?NZtG1 zqPTw73tso|C3}gcmnoF@A@b6f(=!8$M7UD9i1le~L0M=cQ7JB145T9h~yoMu(~1X{$=) z!&RV1OVxR;oHafy{M9&t>QHKwXPzo#L94-t-3v1i|3nAGF+$_8%v*k3elC(GRWCYo zjB>&QA6XgHP?iShEpjiR`kJfC{zFIr)=Jjt*}+M!fq`y&ppASGb6M@OjK{73cku2m zqh{QtX~zL+APQ!UJq1H*=36%2uA94C9pnQLVAw~1cv3$8&<)#^LRK!3m{HJ<+v!W9 zBh3c(e-_5r=TCcbEle0V`ePA$|?Zz1U;_Z>=) zP&{N4m47QQTQ!<(^#ExRQ};bC;d9FX9=~;>R?lAQF4XTneI(#tkLVQ2cKZmDS-6!s zFJE}ZuPI^!u6alNxvyc{`DC}|P}yJqG}%LaRe@~&%!bxay8J(r5&y$J@bTc^)m9f~mf@ODc$rvp33Mk!UzFL@^L;X1HSF+~xkIu2u5m^<=>`*bsYz z0)0RMs?b&_*;wBi>ZX{Us%I5xpGn^ux|VV*mEOhwNsHhnAiTBbM=^hIiyxunb`f-K zc2>AFMxY<>CtQ%c@_>>yhzuZ!X^M&rc!3R9yJ!byF40(tjXq`S@2lMAm~x?^FSEj| zQOn=&E|;CfJD{xGjYOWWvpLKX65&@Ay1nZIDb|iO8&5KnF&aO$=$lV?ue)fi=F>*7%S3xHef2r7?cq!np`fmI^F#jT^q&rvH=CH!X zeYAya{V_)$W1S?BE9D2l4}o5d*45>Pp0VRYDD&YJk_`R34+BJO?Z}Fheea#SqQMk- z%vi1Y_NOcquaxQDiML!>jr<%)nF=qS10*V(|m(raE^K1fL*9}KD zn(|p;z@y#v0ihV~CmNB|>N_S?f(ixr$6@XPdeyfI2&&}trOjKJF<{Ge!qauyJnS)Y zd&fHRmBAe?jAojOzCO{M(jrkisMNCqnL1EJpH(Vj$0>c!723u@D!9&ml5S#>#JsZoz?Gr3C7Tlr7&>aiU-YXhZc3i*Z>5m*pMn}9vO|^|2s~i*NACeIT zzq6$+#CmNbz~?sCcjn`rgImzTb6<)~Mo`#T4r+U<9h__m2^kne#VU%ce zZcaT~L}JBLw+~nDBRh&XFngCilroMBw0^8b5R>w7g?}?WtURax0w)oklu68R(lwj+ zRrVXAE2jIV`MED%*hC$$Z=nbz_nGV_S&m1Y$Zl(QUud*flnm7^pJeE3xcirafzsgO zvd|{i*gi!;oYEZWaTS8n9cAL*K*gc)sWM90MP63QbppKX^8hFNT zG`R5xcfft`dF1$6$&de%O#L_brRb>dXl!L{{dfGbQnpaUQbzZNTN;lwrr1I%0@Wz0 z_n(TLht|=MgD{tXT)>A=(Z_-#Xd+HtQ!CkN^uDBfq&W^6V?Pr&1rg=Sjr?R%nce|E ze01j?PH83d;!+&kHg3`%yw*pTUY{-|JG+8T7L}(1iobBiAk6YGNQY5S6kveXQUb;( zl5P6@LcgE}q$AD7N(Miqee$KCctsEflKqtPeYe>N7hy+4pmZ+X!c8514a-e zF1M4nMNh?u(lo@X*l#poKYY_fdJPVXfKjcKLp2>MPLE##UWID9kcicnv@_|DxQE8; zItCA*pP1RCYeallz*rbsW$q0f;_MXi&{GYc(#?-JEY#UTSHYhdKtR5mGcb6llA}|Q z4j9fB@49}MB*#RrbERzPh))iYjil=jm=II4F?CS42=7M2)iQ}Tc#@X!HE!BNYH%zy zD=70DFCgMR6gE0+mYSPZ;HK<0y?qnmB4!j8D871Q-l(k+R_X>DHh~p}BJ;0xp6Ta7 z{IX?&NvBBT zrtnTH6$|Fz(4Nrr+OMDO04YwUPGYUj(l@7FETw!u47qYbgS0*%X;yTd*c7O6N;r1w z`(oM*r}{j-zs09Z6bUTaRCzXdJ0@-D5z;gI!~t~5q0V|8b-M?nuH>x`Qiw!S^C(>m@|uW2)%j03WIhLg1p~cbDHY=p`jX> zjcgTrS!*zzFGIkDrZ~Q--ePR*aa=)_6zt=kUNRR8);pCGP(yjN2npTQP%IaBIrX|K zDH4}px0kcpWXLeESD&!C(i&QYbu7+9?|s##gUk@(=(f51iAgyKae6*rCRB~lqKRB zI+PchPo3VKy$)&?cDb6A2aS4t!ChOoxekHz=XqVVqg1q9W;POS%X!80>ZN%^XDe}U z(NW4J|%JI|A1g9?j)=Q&LUB&}eHJ&q-z88D#8B5!&w=W*(aGU#e%^vp` zW_sKP*j~UksUM+UqDAVysN5`=0eXOLNLh3sOE$_C$?g3ehO^NiVBY*u!CD=;EwA9n*mfj5Dl+30JCl4-jWW_LC0{0UKMdeSAA4m{I1QVmm?6 z*x2OR@|ZM+G55Oh^lMaB{&_ZtVN;@umqD-H<4CEmxlvwaFmb}A{#5VN>pDxK4Ps_O zLs{y6gh>PvScb+@@BzC-j%D!-=bTqD$PxDs-=g=XN3M*ETQ2f;=(LNDzYkm3h(GUl zVhM>saHRBo{DE&c%YqH@pZJFTd1vL1{_Nimp)vk9`}8@1wla3KH#hu?5j62%ekNvM z^BIDFTqp_n`vYDkE*6PMvN~9`BpB9;*w3XKOZiGcn1)gDE}y@sdwGtPeT1(Y4bSUJ zz_c!-I(NI2Z^VvGLNg%Jh}87q^r?fc)q}Ou`^Os`B-y372;G>qh72XTA_eP2j3Omm zSNJCL3KP^s$>9Kp&IDBxLbnJCCaEjmaQZhW+S>M>QDxMo0zF9)7*goGrB>W-*amY@ zHWVqUCK3c%F6UtsboW?0O3>OAVq~!U=1Dhzl?&M7M;m(n?e$Qe(lcOf3%kATcg)o(+`V0l-ZYv;(1GBvE z%{Ncml=)M}?ONk#rD*^YG?g+D1#hW(TGR|Apoc>uO(0@rGl{n_h}bCvF~MGa7^uER zs(@}6=0kST6k7I5mQ`aHTV$Kx^!5K1KY`kFWevzFxgF}-=Sh(^^t?_KOOh^O?mvLwz*?q7E7CVgM_CbK# zMkxBhE%JqMxBp0Lll*MJY(v_aT|G$LTU7iz{|Jfbadd54f*ThCt{nR%AQSv|!%FuVEoe z{f%E}D$p#e$T!^@`7{USZVH2n^N=@a5nMqufVdPkgzXk4j79X4>}4g@rLg-Doew_~ zl*Rtc;a7-yAskr^FPqwK4xk0}`RM;=HVauvSA4 zOfX1`UReBToLLU!Tdreocg$>V7#okOtDx1Gr;0Hu3@5Gzad7?h$-m+r{5m$swOrWf zx5eG{a@6s0cyu@W?X~Ux7>DU3uO^ej?dSaV6$;V8Y*<{6L2{ol4c^U7WI&x-)HdND zirABy$j`zuaS>poH3-YfM&e1Bjow|z$SWiU^#+VCUyzh zN&;q8^%Og)t$eZoTHha)tWBymiaH zb}u6yW+X69+L)qp6{t{8gCFKOIeoRzv{ygX*+9Y8YE?$y`TY#3o(cJnCzT@zlbRpA zx=g2Ty1)Eep^n)nUD!aA&eIWv1L&d#iQv!6`?YE?_j<_U!{ z%C-XaY*PWJJ)m$eCjjtEYLa1p%3)NEK`Exz%;|H#kN zw2EcPpm-fU3h6EsY?teUc@vy40I}JosR8c9^x3cDi;5A06;;Xq&HVNtYL2VQg)n#P z5MH!&fbamsNBk38p58WeA2HP!FZl-H*x;I3&_DfV`UdDs;==%6^iZA!_Z}Zd;XBU= zBWR#mhr5qB$pi3oh$r}UO)45spAP>O{eb&*Hqo~$hHWZv^vXW6eeSjyf!9VaLLLE5 z=9-`G>)oxsnV`$aPs|VCNPPON4_rv2$4ue7=C6-TNV{R5f8VkPAwp#P$b2^+F1@>A z1s6X`LcS7HVvoz?Nb$l(AK3EpXXdV;r*QDs%ycWg<^`#8^z;@#T4?JU{YdqMFBS@f zZbGLgE~YMHFOlJsYIdy>=*vVu?mm68UDb>AZFWz>_Ih6(<4D%YSTo#2T`N5G>|8obx$h;_Nwi^ z9Z1~=_>oZ8s>M`~m|8HNUk+=dieQ{TktW}Lo5!N=2;H=p&xbg#eit2RWbF7n5aw^I zu2x}7JVw1F!=l-UW&Im50*6Tx#aX&3QhuUhtz;!|Zy)095G8jh8Xv`s$wn=(l^?oX zj+~g4805xTM4Y`4XMAsKurA-qOLa1}MR^?cXtiX2v10YHnfkawUlSICPaML`GJ@H^ zH9Ji@6ake>dd(7B?-Nu|joFf#$Ox2Jt-^fB>iYD*$SZp&y&$d;6Q^^Q0HaX64iWZl zw}q;kQ6h<#H2F}o&D)L?$YtMHAAixFWsx$lKYQt6#Dx&+CmoSek|(Gl(Ra@hx|&d^ zWKr_`;1+r^z9%e@Q@%om(J?l*ENy~U6oK7k`d#Uiuf779kX|W1vW`mdI_=&1(0$iQ z4to^uAAA(*6E!<4KO?` zxZ>YnJ{l2y*}C=|?{FHcWgLB{4PgGkZjAZsPWRY9oHNJdBGf|V_if?bB?25~$Q4jm z+o05}Ql925n3H_Z>6c9(hPBHB+YD15GB-QDxtNY}J+^kqJ#E~z-{rXu4?Mvn8doZ7 zDTT~OZ_*vS<2umoQoZi&v}K|Gw^;R~cs{E@k2-smfwE=+3+bX-D~)=oyuVE8{cG99 z6tXu>_h)ncE2F^G|dSd9;6q&nYMjaKSZ*ch+AH z`0)m7e~IYlJLo&OhIxoQwU?5O*)(+pw@tF~u$C0P81?*?7xn>2YIzI;BwT5LBj>Y{ z8eY_2c3iNbaP3w0(nt-On634g{{s4(aHM3P&ZY7b0}TEW14#b5AGb8O{x1ah`$SDT z4TNB4$n#puvWCx*0Ua`^VkRWJu-KIxd*g>-cIuqzKv zzSVQjS0_ZtRXi-!YMvTnsUoHEdtum=cI_1PWcB#1zZ=w(0blJucuSUT ztW<(GDgkWM%6&3^RCYm6+476<)c}Xo(~AE=lzZgFI@)05nE$Tjsjd=0;j zh3=Vr*R!r5Imd***e>qna|}&0G!e1VM#FpogHc;g%fjFl&g{PG(kAM+S8qIrHv32@ zT)6ILxlEw>fQ{m8ILL+!pJkcxqjjA9jqgebBs_fF%^Uk-UjJ*pJdbM@HdwHxG7^=Q zvj>MU#mRsDCm!6;Ysui9s-=PeHk&$0tlJ8E*P13W3-BvZ9!mgki;|< zV$GyTp=z<_&~?$C<0EvRnE!0G8EiS#T*{|uhwv&lEo&Bl@mH08tx6DQ@$V{zS4=C| zIuwI6MkmYnebQlL^K8t9ImDZ5C!W}gCoY<2oYy+sXOxX$Pq9~$>lEWYG8R%C+hXwV zi_b`Br!iVleVMA_tPHV1N0tV!NjGn!S+E@A)bvQP4$gc)eD3w0S8q55kBJyqcf23rXnFuarAZCQL`PbZ6WUs4f zG+akf&B4gf%6Ia?HDb8{&g7I+nho#IXL1AI53eUMJohU6TwUKTb5Q+seTFIVZEDQ} z0Cq1w!q2kF(WWf^ZiKKfYTDr@>^>CGadeXp${UzbbbX!?1F3-~KL`gcL!Rz!cZ4{B zRlS>na0-lBMr+7N=){;t(3~4Z6^0~AH4-k>xo@K;l!cmfj;&_Y1?N)iSp>daB1ATe zNuaxr=sar609G#;J9;t5Qn2w>a}$dTlYJr&x8zoc{*s)RI*)fSLYdDaz?D=-y$wU5e^s2 zfl%aE^{4v@vvZIKm5C8^Js7{a%k;ynoUOR3SoRV_t+-blM6k3MZPR{^u1mLZi$*6} zAdgat%efFC7CIgj^xMzfqv6Xe-L+I9;X-2KM%ktm=hO_mBq%V+ zhdA|q;`l%q)X>eAbh~kxWz~$RQB40v$DDSK?YGc0>GGF9#|n z#7T9kOEj%hnzR;p1N^d=LR&|Y>y7S7JO~*@JS6J!CDvReHnGCj(2@2hQ682!6&$;| zXjgyVQ3Ax$Sr)S99IR3EoPEy+$~N+Ah+I|pfb{V$>KzQQ49<=+dCIQosrfXeTwy(9 z>Z{GPl86IoU87&(g-pb1!akLuE+|2x78#*iOosAwq=z!k9j15utM8@77zrCf=6rJ9 zM)ot3@$d|nc!$$Q%L49OQJW&mV@B&?5n=k$nAw`o z;;vyD*zNi#cK|P)Lv+cWRC%a)f#28c2FCFPLv{e?saxz04nbvjE-ke8pNAsl!Jycf zKhx0Vf285RZdd&uY50e-@*l0S{3neMcu!ob8g(`|H&d7;RS;f@mPXc0C;=!Lh**;A zAz&gnNhCHg8_k~16npK1KT6`A-iCbU;{a&}qk-3**yDEiPGwbQ?GlLZ*kVxoL8eE? zO@_zhQ|!ivTLU~|lDslvw;DXnPMc?z0fZqGuh9$QASu8|$uk@aidUcO^M=wd%4CI0 z3>%w~AN=XF1_3lm<=t_>;~d(6l$!>H|rP zDn_0p{57Q}B0g2bS*_nSQ5F#C>(c8j@*RIWuPTf?o+r+d%&ya~r7DY0%D5NF`{_1P zCUVhkD!h_he(Qx+qBca61~N#`kmGK(US*mw&Q*{+fY73dxNdge@$N2bNz}G8@}%Ln zlXB@Mw^1-?baR;{=Mu9wRaqGKlM+;K~rg;wTYgw1*P~-&9X986$*T& z$_$X7(ldx?WA}21PNHIBC{$xY5uw! zZ7UmbX7s53npuuo6Aa@M-)fBlw>!LOQ`dp<*=Uy$>L5*$IFtR(Qly-V!+deQNQ*fw z)9Gz_XC(sJ^)i5$xa|09)kO;Oy%!J~S2q`=gca#HCd*IGSpuqFjUf#9~mJ(uKB%|y6ikWmEi;em;GW0yYAOgoNr#6Aot{%{#*wEq3ES!kAd1AK% zNP<|N1T%i|L)oc>U|!!xhzjP?EP^>HAfI~n*NSOxYAV2CuYPcVfiA}`~d-Em!uWLJ?+qE*Qs^-eMa+y z{UQ3RW)8xQJ#Oct;xdZM8`zBO7#)j1fGai;Zm9JyltE{NncP#ckb_qTe+Nx%!MVaG z5BQk2i3F_R_rsfr&D2R%V%GiE_8_%P`4u_85jf!PbugW~A@CeN{@*{pI%%oRX&Qqq zy~w8U-Kx}#43qKL;#AgCc7#2=h87Oj$N;BLxo^Il+4jLd*gp~&VTR8IMl}3Jz5P9Z zCf!0(cY?F6z!mx9&)tTvS$KfGDi>hQPIYl{o0k_pkg8IC5swHgZi|l2W>-7w{iFkMD!*DNQIH(t zN$0l`{)ciuRf@e4o!@lIWyfW4RO;(Iqm_%Z%~v9mp2ReN9%T)iC1HfG^y~F%t7x83Az0P;cm^u4GRNx93jb#C*9PpwO|i8PSq0j z(rvinvo6-^wO(SBr)`09VVaA!kf4AwJ}AQi8MO9MgfE^;*|`UCjhJr6xXvvVwShm2N=VviOzaeM~%>bCj#42fdACIFw4qJ6SRIpIJrY zy2%wokpmLaa#N?hv^~^F12n47-5$#AY7Ok;n453wh2j;Ex9HjY1RGWJ7{MbLmYc>c zwA{~wrVGl7)M+)(!+oxFTiHSfBep#v5KnVlif|B5`Jt4A&S8CY*t+k?TElW!Q=_6) zYn_72-oav2H}Nc5%nCvZz>2ev3Oc1m)_hyYh^>fjd_vdbWv?tu4&-5|z5F>Ihta~3aD9~lqL==+yJ z5;9mAA%+ZdvZCGgC1S?1B`?OfLn+JF*_C}5+3X#%-J9}M(;&=MwfheKsbv~SkBWl* zEZ?zzUmyDS<0-)ZPBAA(bIZS&OcDO4FU0<)tNdHFx02VU>y<bRlW%o*< z`B&rdtL^N)@#uBW58fA3H0KPPL|F>cHRxB|Vk6%?SA@}H^zNcaf0*P|4gbNBsj9Rvm^0DW;*nIY6HOv=Z|E?UHDSJ{&E!u2ZF$yhGBVP_f_p&IwN znBtZKSK0gO0NxrqN#Y?|vA8}0rn34jXc4@aHYoC7R%&)7wUek<)(nuxmmGQ2W{`;( z{!sT818xG89RPjm!=^%bl$Z%1*^!if$?!IK&Wlj#5c->T@;QyKD)KMCE1)M-jvbt9 zCYsrs@Y@W>BzhD2H2P3T!)KIh32@2Z2m_7~(@WV?Bvk04;8aw=bT_ZwXTXt3t;4Qh*m=9q0Q6|eG_qOacCbT@J z*O8La0(RY!oS|l*(6*AS>a8bt?MC_0^(%{Q6{9_+58=lbK1psICVqqPi++cRm-Giu zo{Q;9JU)V4pEh5h@S`TZt{#!ENwyq!j1*c7dV1V+0kCP> zA=SM-o{8E~L9&HvIWWMyvd8cjs?*KSdqovr(W1Ppt8hsEmC5GOhth7@W+Ic2qDFzD>NYLzIn!70ZoRLzo(ngSm{xel0z-$u*{!3;eUnyH( z(mKMg5IAMA0*{8=sj{;o#|>wY@uf)7n}%G)VP|o<6!~26a84eh(?YRuu;%cubpvLx zgY4qc0|eI?K}YrNjPmolH8oKR>k9j#wr!d!G|De>s7#3sg%Y6O#(tD(Qo>$j7TyDf z6@qzj@G>BR|6CH{$-gV5{9JP6{>#v#`cI)}?BMXJzgDu>w|219|F65d5sDI@2mR2! z;>JUE_%WABrPY@OR~BWqb<8Q@ERhtDi1`yJ;fAEaM-!^Ucm&?W+8ZoG__xuCy#d=; zWags^N_hJoOgHO|+$((E-cNzVn2U1qT?VKN%Bx-D*nm}qD&n0QKa_;+94+h7y~y3N z61C5*MogjkJ0krTo{6e;IKe?q2*NFYZub*)uPt|#pikq{OSJ4Wu}m7js{ZJuvlkCs ziIOv~mkb_K-W~ZVc#l_aPcn7Qii=PWnBmlp@o0C1(-`6l+pFEW0-aepZ5A?8u9>y+ z2r7?;3$;m+!)KY3z2@A))|WOijpq$&u)E*Q!b|0uXpP0${uVF}bJ90uX{7MI_~C#< zOqgWM&}4lzj+jT5kDLVI1I%XQf^T7^EswQD0wo@$QGF5T zPl)Ub=FUqd6;AxApXf|_h6ETL_%cRL5-9#D|AA<3=!Qr~pb-fPCH~5quZz5;K>gKZ zgXjh)pi<5mY{;8G@P6=W9C)NiYSH*vKNfH!w9Dz#i_MP{Cpq&5c|?#OZ_FAVB_1Ki zB9@#q^&0N^0I_T`k{8X|dWQ%VfoLD`jG)nIC-uy2Og?x_T~atZE*CGGDsM=}(Dzx& zz#$NtydB{_!>sc!!;IiRgxRNJ!p+fG|8JGeOa4H?Ug}09*7`~jb=W#RSb`{mVTAr_D}>+_et!p zaeO{u4>Di8-=F7weKgVGv*Fz#gqpH84T9}jLeZm=9uZX;#&Waugu9J_-3l~HXPABU zBKZgrOxJ3JvgFui^JISRjpvU&Dg@#?euxZTnf)$j0faM3tpzl5m#bQ!_z_f$lrK%5 z?Y3x_61ToOqU+yMp+oOLRWK@7;@4K!Y|lZ86NFndO+;aV_yYfA(?{xCb0;}!hSezM ziZDGHhSkuPr5&TGowfu%Yg+rc$5JQ^>G*4V=CyZq!}lX*KMnSnn*?I{u4Rq7StqWG z(V@M)pw?7Qy@PP+p1V+mG?`wOi?`jsV$j@VApK2NCI9@FF4h{vPJXml`M4LC@cKDmQ{x@ZNBti%ebd}8exs9$nb z4JbX;Wuw^eQs^td(@DB_yy-rhGL6UjCAs>mu@h)7_O7Aq0}A6n2&HZ*U}cdW6RNQBGvP884({Aqn#Y{)6+KtToM0S|Tln6T0kidyThh`32RKW*9`vkuHQ zhd5{}J6>Gon$5|B@60^xO&K53E+)qQA7$?VWJ&P7iMDOqecSdlr)}G|ZQHhOb6V54 z&1qxWwtL!m{oDWU+lYO;8}Z^+R#oQ7jEao9r|M*#^PMkmyo31rWgE$OU@AJdDI}w9 z$!j(=O9*5n^_W}@>1BO1>Yqi5JR}(<#f>|`Vu}b`CQm14jW5=qALWjB$%QFW5NCVk zVGVvVg{gqJa)q(rhT@)a&NYFVu>^omGA|Odz=bbNk_@v&v7mh{ht8lxA#W|1x3*Sc z-kmCqa>Bh3H8B+UW-i3U8(~Tlgot8bFDpuUjIg)J#{YYD)nb#O!wGMBddOW!=^Rna zV5&Iy)pMcu}j<5y-5<&3|F3ugg3{TvXBrR@xz zgd1@TBmI?J)xgJ7wGQU2Ho#p^(;3egj}K?Rmma*{IoN17e(LK*TeDt4?<4I}&0%QS zcH#TWGA*~KE~9+fb&X}}VeBMqz%27--oJy`7M?v^Q*L`fO_ENeutpCeqpaK7VpVs2 z;Lcj&-(4|B?L(zKezq0gax);U$%`h+U+FcPV^0fm@_NAe*Mv+$bSO+iEsmc3RlRwE zqi72P#cP#78@O}roA-cc?fN29yMWpB33;|0tjD5twV)gVVwrRMK>==2iM3IuQsyi% zl7f0LZXtd=@}l^%&2X`PrlI23H+7szq`GVE@KDAQnMqnN*d6X%+1`6Vnc6K0a0FK2 zemzG#;)qFW&?~FVn{Df1*i!rpi%HvR!vw~Vtv&EnEEWbt9e+FrOyki>skI3Oui!k|Psv>q|Nnjf{jU|2 zgsX#%nZ1?w|40uLr=q8T{u6_L-+tXr3xzHQ22xaPok8=aq}ULX)*2EM@~0{q-R7dP zRa-aCe#_UuNlYbj&ofCBqd3}ss{LeJ>zlNDcyeq{Hh=hC%#XfFh7}4(i?BOHB6l2N z5V_HQ&!H?KLDTSH3G*l0#=F=BmZ00pJO3Cnrw&vBE$#frp2PO;l{pPlVKtJg#$3Ha zaD0rZtC*DkzKX&RogQ8f?9!52?U5FbbwABcxL7|!G5`MwxfVG^Hz4*fz^omy( za~^L#-*oFtS@6x0Sm!&;OpHZ1j(%)2TYVMXr0FlptM`C%FNmqY0sR#d>p*#MA(&KW z3W?;|>UFo!rsyzxN=PG!Rq3*~tK4Tyk;dJXmW97$qk5_vexBS$#@Vse2(^W5t%~&)U4gt3l}_Hd5@dRSp9jmEE770$T0Y&iiR^lx;yZ=jSY+AkOLgi)3ojSH4%7EnbJ>@mN4zAa6_t#Dit}viSMXEGI_8F`e&Tj? zA?&Nyjorh32zv2!_$%bUYh6_g7VITy=;L!MO^Lx;`Nqp64)!0NB!BW_WPWk$QDyPw zqti`NCYg9A#ND`rx=B^QQ4SE~ImtF$iY=TuBcMdc_DM+B6^5AIT6>fZ`v@3Q4a>Ra zU0xOG+xhCar9JE=P8KI233w?Y+w7WKSKBSdgi;NS)Z@t%V9UsOJ^|7Nn6QFvjZdG9 ztq?ox{&OT9Q^0!vUYkP0G=lo+34beP+W%E4|2H8!|D}{FO0r^}CT5QRlcDlEx=;BV zBd8Yvkb}KdXT(#2p;eT&={1PvivFj~D341xQZXB@94jTKp!NNVT zxk8_x7Y@Ire9P@!*|NB7`!in9FBm``%#NjsKwh;+QI1)PQK}{>Nz2_p79AT5PirhW z;;6JLL(8}?ji51n6fLBSo`24=fs&I$w&GziOj~0J2-l&t-BI!2h!)hRy^m3%gfuyJx5q;(QB zVTHhpmnDjw>Sxm8(03yw_Py_)2q#{g? zY&&hlp@jy~2R>+=8OS!Z*6~p>bWFEH z6{~p1NZkxC?G`ixK@viOwgw8C>`&U97+)Gae(H+-Y8&_|x=Ov4VE4dTn#M4uWraV7 zsrNTHInB)rpXKgxWC`%9EN5xD7jd#Mv|&uvi*MB{ddDu1J)Pg5Ho#NR>v$Kq>0 zwiMfDd{O_ar|IrKkN54TzMhAEs(eu7#eI8B`|!7q8`9?gM6f|HBzRBVASwvHDj57P$t-C)`mZ@ z&(VR$FP+${zhi74YQXgO5;7ot<5n8rJ;M_G)WTMF#6Y(dcj2A^Dt(kY>tKC@>(_A4 zMECs-K;)f>p0}hx;(J`d-Glu?!mvSBt$$(x|jk1*U+`tuXKc$0&3In3jbqs$QCUWPi-! zsiCqtXs^J}iL#}rOU=@X-RVHfSrGRz&Iv-X-ArChvXrG_<&Ps&=S({_3NrnXG`R)_ zy!gX;PX$cn(~=^aL#sh9GTt9CHutqCXQi=$1y*s4-c%^IxD!Io+q%!4p4|nN&W$>E z?Q^ww-(!(Uv&D^88AlA_m2HNnU5LRfwJu`)rSP9&ZGpOv$z2Ur1iWw>fmNxc?p`eh z5;6d3IK-3{*$c*NlNwKKr&(84QQdO4r6sh@UGxWLWXtn{DxL;Tw|>|QLt$|!^53) zYX|%s6QGF0bl5vF?Uin15px`)pol{f$U{fXx;9(YGe5HGlO~iwyhc@KO2svenR8hf ze&h_H9>vy}_NPg6)fXWgXw6H!Ao5tXlA1`%q(bw-8=1{Ws-SYGBb3o?dL3VPHr{pEjvP9NWgHn z_9&KP{-QBs=fl>pUJZ`vwCy0JCmNRx88YL`ZKOBB7n2!olC2O>WtxP^LDM&C@hMfT zx%qY(fuVaz>xs2$H^nuYA4j#cYYw;rle3Bg)%Wr0zg{Q|E8?S%O=F(rrn&rCdYTA9+ubKiqP>7#vfqkDM7aBZ~!z>re`9s&qW{M7=skA z7qoN3Ni7xFs5inoMT10SxTug%LLDb+M%J^j=U_Eun&j9n+LhN8UGZ^i3kQ$2tydTy z#?_MH8%z=MiSXY~CANPT$ACiH!v{N}RUOrkZ#Y#!cn?7e^@vQyXB|mt63l&-= zc5GqD7v~dHs4%@^_Ne07dMcj-YlE7=u+<6S4eMEnL7~w9PA{3GoYRN3Hp!<=Z}QuD zqh;>6GlJPGwH?@=6ESBtv*smCxG@gH7PC1^j!TT5$V=iE)h7_rFm&Q1_tVEv$v)KV z7f)3s%?}1TiCQ|J6gsJw~n6{ltH3rQl%jWR-(>>s%qwg+e8!J&$ z7>??tv$(f&Hw4}C5PK24NcoCQNO~j<;BvIRRL6bL33V7zbC(Ftc`*uYZ!{96B z<-NK=GhD5QU`iX+0dQVEOE+r{thu1pImFbM`ch+Mqxm%it?r>P`;Xyzt;y>tq`*gN zMkbr9H%b>@4(dfJl2+zWTReg!Xtc`cfggw;p#mmU)3q?hN!6*~cSTQA(pOr_ll1KJ zk>he@TIii(V?nUerqUxTy?i1g(?MsG9n-pMoGB6@xQzf(wsY7|ZFziX(XZ>^rtbZ) z@FUNHu?~-<-?Ruq05Onqh>7xSJ;~^|{G?!+r z>D}^w+VdExmgZ_FuN`yf*eryz(AW7{9HeSfDMP3b2gjWZNC;H;SXf}-&qR#3P^RME z+yZV=Nh`O&tGSL4qcp3o;FacWmd^z?6|h#Ii&@M%ekWE29MzXFo%b0ssJLUX<;Zak?PsJ$_jXpbSCnM)U24iN!J+@3KJ^kt;AV z9^&0yKw`_xn^v6>2D3r$igrDX`5oe<$k{rN+hdB*S~zl!%I*+^I!E=jgzsLE&w;D{ zDa%W3IWp38FU=D?%R>f(-r;>l${nQhqbG(g^mD8L@2F}`2BA*+MXKqv5CW-LA{anW zOGv8CQ-{p0X?0Ie6XnIXi}d%fiGq_T2R*bc+N=ckyU6 zhFvzMzdIix{q&mv8=USwyMB0NfMm+KtLCorcug0o3J4G-;e#m)%FetQdJl0V!Ml?Q zP}OsLCuMS2NJ})VL=z3GKS7JH^=qq#$j%(FKCnB7XO051GWjIYHOEhBv!l}SAx)KN zB2|^Zsy4%>MqL?0sU-^MKs!TnL7{b}OqlN3^hbE%A*@+TNpT%UeDdw%6VcD&x5nsZ z8{6!?!FX{GvgN>K;s9PM!S;9Evi91tZ=K)on?)HHRY4Y2jl#+CyIY=R&f*LbXk$w) zHK*e1Ky!5~&t7nr-Dzp!Yw+MNxc>9{l~*N?{VS{Umh@A%qfu7b;ws2_ys9*+sjvB> zh{f(FNO-azScDBuYzv9Ijua=KOGpv+5K=QbdRjI~(vrD)gS zQNPtypSTO>mY~|CudfCTPvLzBphnElztX{*SArfYJNO;tR6r$u>5u&fUEENYySoc* z&c~?Z3NcNZ#9J>uuS94S)T>I~Q9H z;R3xr3hG!TO$Bfk7kvs#G))*T(IBOGotSat{)k8UIkf{(7Gk_vR3=M$;Nxgfcqa5B8$ks1FAwJl1Em;Mg0LxsV^ zy!`o!-Dr6Q=B>F?ME$j&{YbmC0A0CI&q32PB+@biHjX5wt(%gwq z{3sMhx4&6;0_C03*B*5cx^+1lAz=Oycc3d7foF;W+{Rr~MN<|NzU7ukW<})p)V57E z&|m*8jdiQTq!lS52uSO9rt1Iyes?u{D^C$;FUSAkch`pX#28JhuRhH>#f>XHvxjn> z5|V+zA(RZEfZCKCGc*Ya`?)%@Is!IiMsFmwYB(7!JLdNzXR^x)DOqk=>Vh5+b!qBi zhvd*ae&mS6`vl10jzZ`4SpNIe&qd(={0P5Y5m2q)>wT^E^{=|R=4FqK*hf=r(b+{} zUNt+Yw2IjVBqYiCHDX>YNrFfTuBr{0#AfpPdCqa=&-0%L2=Y_lwkON}qSI4en)YfYi4oAaP2Wbvgj!c#oN)JRRL!mqbHo!Yjhf!BS zn8J=J!YPrdkdh$(&jR9)8WW@W-`ZzG{?k9?*jQCEUN{wm7C{M&`mk{6XHAHD>UVu2 zNSe^Q5JJ(2P#WY=s0@i;5loRz8UoATFEGr7*l>3PT9f+;6btnkB!<~HPz*=lHyHx4 zA!-bABg`1ICd2_aJ=h&6meLDI%|SKER>ERB*7j`QHW-W$7;%$NW_G2JNjlMLOxM$8cRGvLJ+i2 zC_&Mnzw?9m!F{Mnga0$x|MYSB&+K%E_Q=xzM~e#9pJD4jXC*LARsKM+B^PoeWA{SY zxnc;##lfFk$wd$(Y^q??$drN2mXOq$!TfMpQ*R*P#{$1ez=#b|!jYLHhoN!4XM<3D z2MSg0ixb8V{YbFtV)!TM|9pa_feB4Xl{|WLuf0rA|3j03U`#TMxHux}>UJL^3p@)P zmqvsV8Kx*1I#h8ST)6T;3-^zL71(59Z3r!p1ZFN9I@EIdKkcBTs&}b3Tjg@GHoRGDxFuvIN*(F9pf<`<6Ka-O zDa;InpT7EN7Ot>RNsJC8hl6I2Rj8}+0>~xuQdy$n4+W)F3!RhDhkesBwL@^G+nx*d)U43;e7=EQf~_}W7M`bH!SQ$1a7vvI6N zpK-7kj^lfv*&mlPWul{MjsXaB`Mc`N^3_$k9w%EoAD;d z#~~#+5aw+3d)T^ijl0;Kjf=14-wvYNRN6Uv`hMW>#2vObX#HV$8!ZnXUCFZocy#@< zB+I##v*B{sU}=paI9^`pzod6#;-QQGi9k--EkWfW8!vy^>GV*!S}$=B72{sp>+5*m zE;sm~xe8&c7}Db6%SH36>yjB{>7+iYB!ap=ej^;5yd$=ifB<)Wz1hs#_-l3Rsy}1# zt5>q74Ex0U=kT)}xk~q=QSIa>i-Tz7ddoS9;7#gy)@!O2yBtl+27AR6+(I_1T{*v* z_4Hn96`PE*IgMf3>8$mqOI;mLkHw!8(TNKdA1iN!(kX!!L3^aqskkGO>9m{ofEzcJ ziP)^$R31}%`K;N+(kW>b$t?MWG*$*c0qdkJBH{bm^lsG$v<_!N>?Ki!zFPSYGr-h9 zXO?UhjSCK=gH)FNLJDg~HaU&U;)XabSF_8?)f~Ui)1{!}{y@&i2=XQ$3y<4#x=sQ? zubtuaj+o7gp6~dp4AXk!?Ol&%cS9`Ym@ke=!@Kw+Uc%{LE2$YS*T$O&Vdr z>bkR~ue0^_(8<9xG-Ya?$y)*fT*Kpr3(j9JLs#tbov|X35)*cboKModg8@{(tHn;q z*6fUKl7YuAR%drdSKI4F0eS3f`&0O?(s4o&XGB?2hvgMyvTg~UF4E|uWn^dV*f^rB zJqlW03zK~qeBw188ozM~H~X6}TruOjo0)NA$9ozsM()Jblj#TvBzXZUeXl@12AT2^ zo}Q?vq!LHnem}*f*=`fcI#wsOFe#xj+7uS8vT0#j{FcZw_9RVtmGl6s<-6wI96P?hB%xO9Lfje02`HK&E;=x^T4y0a?(mS~LvRr|JzB}8JwX^P~s z$}X%N-Vb+9RpOOjm#wV5SuJAcL|Od()&+WXLjSNbQ%)r{d>mXZ zD~+jjydSmIe(r6>n*3}e(#OTqfM%SM?M7NQJwJM0l}Ponk}UGkUo{JJCj4pgrPh`6 zPSp`J52YN1t1U?QWFP8@9cP;o)$wNLuhq??&6RS*=k-7CC8<-&B0hto_w=*{O$VV< z@bSnh)Ji)@yWJEnVa-(rb*>-KurjEk6ZoP3|Uw6)G( zqgsIaFie%1!zP6ldH+(_TD1B@Cl*?81v$_Q@-HW!%h-C8g!z;m70z}9)Y9G8uhcQK zPFzRSQOVa%T(QFXQfTv>BsCF>M1*N2ujzko`&IMJXE)VYWLF(1(r^;yjITboUS?(4 z(?Z9$ch zRzm8yvu2^bjVj-(_*P^%N(er{i44O^4OvYirOX79>vEnix?;1HO(f0phx}E%8gWgm zd3Hk620xvnJ&6)MVT=j{r%R}C?JtEFdAcRfT7Lwwr>RC?Y&D;D>5@|K;Wh8lv|P+d zrPM$FVoSXB|KOYr=UZ6VV7BM(*}73PG1m%;y^=vvDMyOKHKkPN0LG-$Qsj6~J>AN8 zTj5^kBA%Ry^OEetSV3rd0HZ&&Pz*X*!k^g zpUkEav{>07p~q3EN;3PLWVby_yLMDZSSl8f{yebl2}q8|ro_G8GnU%=`GA@othuD_ zF4nn{uN6sWsKSJuNMDo?Q&?UriaIHhep24-(NN;BNh!N^xlOjasm^0Pd# zwZ1GNS5A$DkI|%E+Bm|%%d1fMNHf@yojBtIbnH zA>5bN#0vTvUwI@6@0C`6e~UJxmYR-oo#%00xw#FMUs&*bCQ6g0!W;jH>KbKkZlu%7 zl9gC!HC}X0TZPDyS4$Vorc-G>SyWHwR*f!6Z9bsZrjEmy;N#Gt7OdhFgX2`bk+0rr zJtm;>OsjI$()s0kWS>SdU^^g_!MhN4=lYVPI)2MK-J3mM_Ea@&)$qc>-n_3~Q5Tn& z`L=kgoX6N!Ms*~xDw=S-aeu)8m?;~^Y`xyEjwd=wMtrI&Lw>?4pii?Bnv}26JyLw5 zQTy8Xq1EHdGu;`^=KeNyR=g?Zi&?HZixQQm9EYESCl!~fPzA_3sy`KM*=2Yqw<~&Z z*k$@StWdrGu%?MS88~Q{G_}kT2~c{CnKQ`!)O~HK)Lf+3Ko6uSgh&KS1)Bgl1cAQ+ z5g-AX0xt!<2Zaa043rkaEW}F$H3fwSjR7Gogi?gpM5qL(2c?Ik2R{J$7YHRpUI^Pr zFpFU61aqepjL8zb%>6S*X4YQGz>1VwQ&N2m!YD!x&HXPLkTJ4bt0@B0N2@6TQ=`RL zkPc}TV;4_Hn%i;`hN<~5)TWM7*Mc7yQ>Wk=g$T2H0q9YtU-irXypjiSkng9Tp9~|>xQnZQiiT;9cwRl z#k%mWA?OvI6xuB|6ua(c}L@0r}gL92@M&HY_sGuR5kfp>5%J<2V&O zXX{CN#@o^2*EoSr>++ss^%Om8STIx2|2=0RVm>gT;#5VP8D`jf%N00VwQymd?(Efv)_TM5=uF z<`jW&?LCu98e$QKe=Liv--jm_)yY)P_Z?s2K_p)UpZo-)3O@v&zU_q8Tj)ft{1~LP z{1_s&PdthQ!N`kSCgIm-n< zfL-PkNB9&+x)jGyDeeghZf2d+Z78Ik9}!ZWc~Y6?Xjg`4=9!_#EU+!Iz&u$X3t;y} z7U%@ng_H%tXN6+3z%rSm=>sWxQl&g`Q*N9AyO^>-x~xzQ7TAXG!NzF%gB0)RDL2}H zT{l_ac~&SFGpvIt+Lbxl)(}NcmXs%a%8fc;*G?9=9u<1RgGO*Lz$-KWtLTVK?MbC_ z!&ttvSqM^NOE$uDLj>5NK)=xk?D)z47Gwjxwg5vw-@%>Mx&a037-RASfL&RD2>>D9>ChdcVLbz3xu+p~Q(>QR&~KaoJ3j$Cq<|eGzz(|X zZ>p@o0245QVF=%B*k=Uv8!f<&i|p@yHqZhKu)g0AzDcmpXy`XE=r_c&zcaD|8<;`A z#vy#uV4v~OZwzFAuVe)}FoSNJg7t|(49!diOC&*Nx9qHof^w3rd?8Wav`!NEViS0N zBP_mra$)j~iHN|FiLUj^KKDt0_qyhLZ-&4xPzxY(Rs=B%vYLehUYV8f!q{u~l)*W>VS(jnG>mv){Rz6|(Ta2aP=F zVp`T>5rPVK&Ip#`F~Gkz!eD zzwbLG22+&(czpLPY&z{;6}Bat1*L*+k53lbhe?EEp8+Wg8X+yDpXG*3h5i-n<%Q7$ zfmZ=4ILnO$5j5gus9)$rA_-@-?$9V7?MNM_AwAk5J;0D1%3fpBUCW*4((Oy7WUWz6-Z781=3qMSwhJ2YFTm&$ z&d9E%v0Y3PA8WZC&PL;VgSF9calS;KZ-=#7fw5ZW=`Rm$u?cHA4{bRQYas-#Ap+MT z9otp7*C}%^v1Y`>TKJQ#eZpG(g#Y@JUIr$*mn6C?N_I<0;-k-xgtdwY|D6{88=A;T zQz{2*6%p2|6Upwg1veIBfN_jhe7Vfltyq{K`HK*9xsj*a_e|bXd&cBEtZhB4&C2K! z$;eJz(}$>H9aO4AOR9r6tkWdf{txzEyv(m&p-7)1lqWLMt6|{{nb6J*I436bJ$=TZ zUg1a|$_o7J01kaoSeFL0BmL>AO}eQ~%Bf!Q%)zbvdjxT{Yq479CvBrEH{iy3SQi(J zivz~d71q%f#Z<3WrcVs>le*EB9dKhktjhz&g(|emC$!50&gB~IXp3R0S0a;_W~x^s z(}y^dHz4hOAZtOS@Dv0kfz^Qv;uOHq zks&b~#F7@1@C;7R;JY^wz}*Cjmp%px0RV*nBgLm;GBP18Wkz)=c+#^8ASq1iwo5Ve zSdS@kO`D}v6Ihv2nc>JTGrYt)Hx?D--Sn5F9?xt_j`ipeO|At-hhnGaS&NiVTWl5Z zvu!d&lO`SxZID)UWdPMx+9$)(L&lMRuS{d_G{sY$Jh-JnF6dM0);=O766Td=Sw_21 z*NZFqc3o0e`9gPVH#TEvt}=8zs=feLPcWl&P^yt{#?>h5=9zFf!#_xqwB3vm z>9RstuFs!ddC2VeDfz;HC=p4)mU{?`#Rf;u9tpHF*rMZ=WJPWTiXh$LB9V7&P%9qf-`?U)&B)HRu*2D*V($lA8dB?0I%Y*Xx zL0yW=BAf=J{Wi2g<92PT{B%hanc*2$++5vFsTC-eP3o;2Q9qtH%XDg;AzOXE`b0|| ztr9u*zia!_Q9UFA>QS3WsP5tvY5D1@-qOma*vZn&>!akFam;`EydhtaWwClQL`$ZY z3Zl8n-hYYy6NFa@KrR2IjSB5$7;jLc%r^Sa`D)c3n3G|6$T0#4% z8u@BKdiF;agMcyd5w3|=qiU~5JJ*6+z1F+&SK@xzQ=>!}^_X?31H&YijIP_Bb(E_< z-1X%9UN!Ww^C)c}{&2xYOZ2$;?IszV7tsow(Nm2bzC65E<##A^K6N z4rg`u5UBwZ7|3`oxynZylpWNbzB`Y-{tt);n?Cv6QZXrPHAJ=QjWNZ;(hPWgVYgJ#tsE<6D~ zzuim-+V;e(W3T1+eM3$s%B+K#$Wwf!w17+tG=1g_VU*GpGCX-VU}jx8qX6H&yVM3$ z;~&!wQ1>svE}$Lijfc|hio@wO!)D=XEf>zDIr>A4B3AWAo7z|mM@K)}e}x)w9iT&U z9ceb{zjHPI5sz<*;>c+EGIw79GTzf`4J4~C+wRY`-fL<&mqI>LQ$aRujMwSau1zOB zG@3Vru8)>$eDfJFslE4Id%}6(1UV&g0it_YSR9Qwj^l>yX$(TZ1~Y1dc3W>Twi2bm zLONDc2c=Asli5+yVuCT<6zs8mS@0VZ_PEF%<)C@FD9THKZqXy3=DLc&}X31`k z=6ZyGv`1IU{b-LFOxtTD5z(VW;x(nnQ@l>Lm}7wB-z(O@cr}HoDRRCtqh+SK5HC-~ zrK9ujfS2WIa52oJPW7Q0e3E}RPux`LHRI4sQ*aDsMsmcK$?&{bx`X-KCxq6AOuBLOX^7yBJ<}>(HNB#Y zyY=owf05_vRfN^0Hin_riu3mVd;wzhCGk9qVhu;+;|L@U-}+4*{xMG_@^ zJsT41Nf{GsML7*CLs1PYLtzPPQf9;$cU+qu8~zgO2ohVqXxL9BZrDwwZrE;Natv>Y8J31PPYiyEcMN<9RLonkc+7b*pgZGqM{jhmzH)f)<(R=fT3u5Y zqfL7Qy-iCOy-jBWt**6`f>v__wXPX`3d}z82Lof|FZ!#9Ukn2C51PKEr)`~JXDywe z+I9~3zYG}Cza~pRk^d6~IS5`GDDv%(ljry^pWOc*HjVlJje@i`H8x@W2AhFHV1U4U z|Nd9_EXn_A$WLcyqyGWt`Hq?-P{aM|@7=mEO}6FCqDV270u3T)4N^4O6t;62NS{qF zho(GS1uVGQH0Rg@%F0NH#OP@C3xkDXpliUKVb&#)&jv_~J!7J&X(NL7>R{0Nx!AHc zXXK+_KHU4buHX8vzk09zwz-%RdOv>~J+l;4v2yN3Glx5tdG?6#)uSbNM2~ix_TXP9 zS+(knEO|1GzENBxk?wyGtc+2QVzOG_g2p3HL`G)72vB@KGB+cJ_sI!}G4D(Wh_S=# z_dE4RynTcBQ-uAa_n}A~4xZUZ<%~VqMj3>!4p*rT>Ie#UpKEdaA86&2zG?fQEN((0 zKM9hZaFC_B$#!jwmsTi!MSxspe4!DPd}Jm>^=UViu@1W|u-oak+EG+u5=5`4WV=pt|wP@%ScF@7BR=a?6t`)gRx!SIu>2gzay$tT&0O?%eX2KMOVQ z=hZq(tpbcm3W1jxq(NEwC{d^#qR7Bz2z#vVUj+Zlo!0UjxoR z&H^XiBd=<_-TLMo^caK&5Aq|}l(U;e=I0#bx&ux%yg>FbZ(=q(#yeJj$xSEuDu0_- zOTO9-eZEQ~yb4_YC_J1$vh;lzy7FU0|w=Mo%BjCWY3m^o+2 zfDwZ+E0;CT`PKQkJiN=L2$lVDmhd0z`7%E_zoPr2{(ZoG#s@?yHGF3cFhDqzU-e0W zqLeVT+^NLXeskzij@3!Q^Vl6i*!>LAsA5jY&SOvBM@OiJx0PRrUb!)VgevFO*I*9G zz=VP$Fqx`g?&qGq?DXaIKBB2D;rnB1^`%cKD@WB-+;I(7y`cK{L{&48-WVP}*?6-# zsLii*HFaDu_gzF}6AqqbCW`{;+-e30m!gGR#rc4!?5kd@nhBg>P=RM?ifn-sZjpw{ z&&OM7sWLj_$r)vpG9k4yTbn!^d}w%F>}I5qa5*mF4z zp{*U^ed3yoj_#dJ&)NQv`pa~w@%e;8LR>ff60q(~x|S`gCr>pR7i-s3W;O&%Wv2My=RYk)cz_4_s6Jj z+jgQit4hw~l^{`nL9C`A_XN_h4F}!6EsZNMCvSxBZ}F9L{Af1Ud$tb;#Y78F1LDI{ zMQ!vW*D{$kK1q0WD!)Dw9UG=52m3 z3w2?cj}|N=ZdX?QI#Vq1OAS&a_2+9Pb$Pi-9VxOK%i=KfHu;0dW~&ozxIhioab=WS z%jRHi-t_cgK8Jx;rptWoHoDeg3Eb)OIc#q$#jmTGPEX5tn}WCfJvW@Xb4R|-F|OcU zGKgLD6_h}VO;K5?3{;hQzoArDO42G6e|Y7GzO*g0hXk3#11-C^fxoLCH&GD=d|-B; zZ>Sh0iaOnjQ`m3}B3^&Zr>_BAB$(7B}JMcs<(aA>cp->Dpr}1sfN00H(`ep+Ag--2u=4Kn>V(Vw9N%KOw z+(C}?J&2-22MFW?ltM8cTl9v*^vA{C$`)~rE3q!^^4r0nB)^lUm8)Uc`1UO=r6Q># z?t~L>hEgdn)nlcWty@M93}X*mw#%&_E}%hHDG$Q}G7j-C%+-II3d)OJ!ZCiS zycLH|uY{DIztq>CQ>3DMtVntU6J~u+0zf__$$XjebiGH zZ*aMUq8|@XVjr_75&_3^9lTSEjR2+N@r-7kH?EirOV7f4R00jS3o4S1jbiuiDR-H< zRI-i z*l6u7mN*yN5x4=(nMG&0CY+3H{;-QwWO0M;cnytltvikl!APaH-z&TNYAi=^Q+Cyo_M)jNQ<`#JuAE6r656nC zR9iKQ8%G3XyG)z5U6M@ozH;5Za$L3h-_J$30M+tpZNwKBic!vNyR6vM#ykTUFFjI_ zf7*ViI(dWY*NscnZbR*V0kznnZnAX?*3%$6VlCY%d1%0a;zS$B5vaPNNF^5>e1Z{g zHS!S-PLmMB#ms7}e^~qS_vk;}rEylUSU9n8a$3vDM#LkU#*J(h@uQsbrdKI&@U#9_ za%jdLaUFv!=jci}292~Sx`OB3hLy>AVf(3PuKli&j7Anw)ZL~h`TTE@Xwkxz^lsm# zZXx#nEfVd2LrU>qR`37HIHnEjtGcu#cx;}`m9_CZF|koLkR;M5xv{Gd;%71nOmbl8 za3EaDxC~D2)KC^|%-gbhwt-zJ`Rqy&TKaHpr<0OGry zh+A@5``H_D#uw_81eTZ1@B+tuIU;Ic&dWy%(L09!-;jcVKi-k!46*{p13I_&cvo)w z0#I8cej8TnbvPjHbIph4YS7z=8j{DeI`#+JlA`G1OKZtxmkiBkx`bNqi zx#$U&5I^o@+|m*GhC=#5Brr=k4}+wX$o5t5u556R5%gUJc|9W{61(lQq@S?Vf0g6+ z4?j7$tY6UnS9fGU#W+0S>b|DziHng zW!_~F0}g|*e8mS1d<+pk#Rs>&cldnM=>jsK9rr@R`=5S8`N|I-^EbkN?TiSr=3r-@ zJB5ElMcfqQ8_eIBaec0V>)e{x`-Y9z$m*Ni{R$7b6~gWtU~*u6sR?)RGKB7%W(rui zxt=;9M1I&2^c>kb+*`oIVhg-Fn)A1%05HWq`nq8gqfi?muRuF)U_r zVxuwLGg2NBWu-A^4IkG8=mYjMQ<-VZSo5WDQ=9?lnX;}iQWQ0rvb5*|9hD?$Q8e}} zYUm4mj&xfWSZS`<3mi^pr}9&VtP2eC0LW-9S$U@z+9T$isBQ9Uu{fPY?;!$~6^0`# z<38vsbok8Ni34^(h0hSKagk2$DV9aoFqzz9*RU}%-_&N_C6)|(Q>xLi=MbyXH7a89 z9JrLPI{M^h@i=&hG2~jhW>u8AThm0 zxFtm~GzV(Sr9Mp0F zJjC-L7`LA!#`R8X`Jwh0i{zbIbB~tvMyahy$yKF1#(iA)a_SOY{f6R;DFNc z#B!FuE2x|=oMad-5=B?y{5WT@iN8~7vQ?BHA<)*3&Ckvd;^{GwGqWA4xV-HU8Ve~; zcbm++YG*3-iO-r;U2xT8TCx!uE3l1%AxmgsxWfY{_XZRrTg#!n$6n`W6QY}>Ze!57=M?GCz=K7HoD*38YBxtOcB-ny(>tDag2bfGovo=y! z)QT}py3Y7ujAov(5o5Vji0^Xs{IuqLZrdU!TND(vk+>;36UwXWY*z8KdlCH;%w_=BxHTH4 zI9S}eV)kUgAdbEfkj(mQ%6Z09&t8nu2aMIL0JE7lX6b(0eD~>gnN;Iww<}_}bjTtP&=ri{bhv;ri$i9FE`Hb#yGfsvwI5%c`$Q zhdb2>+qek%2IIrg_n3EFgR*Vez+)fm9ht4y9TbNhr|?y5)i?m+Ius-p;yTi5Nu%5* zQEXKb<^VI<;ZaN8EP;QG#0@+KgwPvRMH+h-%4}A0eUU6WspeW`;bD`jtmsSGi)d?V zcFN*OY6NtZ;cZF{O9^@=G%khhyr}Zr(1D1th0vlp@}oh*YuO&O4fu3L^BWvPxP;gh z^nQrFv|@=?*(S-_6_B@T?Jzvu=DY;mOghtxYV8<7**Yn=Y?DlG0;|8am933|+&_m= zjr^~is)8Q?MOOUyq+b4)Xd>0t*qQ8g@)4**F$I0f5zQurA+`Hf(9V4XHMlBZAP07d z9m3(}>SEqZVF5S%qBdYM@?{C_{JL;pV&_~H^1wy`AX_wSR7Z}+IlD{hg3?R%pz5V} zcyiAZtu?SmWe9yIy+CCx_JlpFLn^^D)n*Wb3O>W|iZ%~Irenr7QFxX{LsOyi(Q(O$ z$_%sGU(1e?OG5R}UZ)#j_7WXR*dIf02=k;egu0XI#cvR;l!h{lf2IFBt9w{kVc~!@ zGlTvG`*;6hQ$aD=wvi0|?&>D)@vv7=Y|FSglyM~0Jg%K(5$6seENhS$u3@+aH9{w){sX=8?9n zmVH~9d@xjR@N>LjG!^gerO$y#tzJTP;&;!R805`N=M(~}^aIG|x6~?U+d^FYnjTCN zEE2Q*v9hYm7HFmxHMW( zz9HORh!e_-NOjazl2_D{Vl@5+5%Y)}<*HdI=;Y6G7y~8u5q)$`lg1&wK7$KUyUcbF z0abp&4SL5u6gtaL9Xf{!q2DM-4^xf$y1Ieq#NwS(~=0Pf95)#D*gI zQ1ii??pKU|yGe~49+!z@%Ato#q=QplM0l(KALS0!FS|pqwjfW3$f4?a&<>*49Co7e zm2%go3abt}UQ1_WxyUv{|G;rNk!W;7|BU1p_h%G`=I9a@CBRqRzp_aX~aE zc$jf6XO0tA14i;YGs3Wn4TN$j=@=4|H*@^>w9#NgTO#qwQioSo=fqzNZfdZmnrx~< zGK#a+{k*AK3*1w;uxxfv?Cl=mefE;090kZ+;T~6cRhayCD(orF2_ZQw%|C9~;!@<$ z9es@}cF|+Pd_H{ei-r1Hg=jo?E5{CP8;@=PHo2m&5Tj z^4uHc6tCSYKJ@A~5t)%K?0rQu5(QMNWn>Wdrenl$9yhrW))o2!V0U;px35f8!2&|7 zxsUrYqJcn0#gaw9KEQr9VJgCX2e*VVf)`j+Tb{MX5g+F#&uz1A6$^}>7l+j0e`+y+ zD42EORsJnOk%+4&$>Ssz`fV4_RsiBa*k1u>Xrjc=R@tWEV{rh5peu{Nz!CqGAv_8H z2?w1be4LY-hXwX3=@#VimASo!Hb;oO9{9*e?24ND>3D62U}IgQ5CIiz_;@@EEKB$^ z!TgD~skOo?=3rA!?Jrm!uR`!+hpg-aI^MVSx8lh7LsluN0NsQZ2m7HF%t`jC%134q zm8^daFtbq*J9cyx;6CEr^_`(&n6QU}JQI0rpKa6L9|N+J_a}5A&F1vdCpCQ_VLs`H zkWUVB_%j6Ulh)d@qHEeo22N@h4A`d^Bxrab5bOOpfaWb6@H1p@_Gw)bWN zw61U*vlfe45KmbsUBDHB_}PvTIHZzkkM)=5UJs`6P88uy=PeJS^Ng=4M|P->J4W{4kBzk>WkGh|)ZD{c1cCV4MBZA7Ur*=p@0RRgmiq)L;??9bQ^ z!o~aLqB;SjoZdz-Q|l~ob`A6(z~Gq@@cur{j(Cm9&YIj$57(k+XP2_CB=$m%BeX2< zYOz`DZaj9Ngq*Hr2lW${g)it#dyr+gpaqjr6`uI)JG@)nxz@f01`+FLorU^Ob`2hX z)YCSGRjQ|yMq@C=8z+?|7ygYKys=J8lke_q1efQYn~ncao&^BEQ<%HA7rrI(AWnFR>*~io-QIT{KHZy~Px0e)^rIF{Q9QIIPW7&{7)yJsh7*6$ zTzhdKT%fxcOH*+{a7XUEhKI?S1I@E)Pv;X4%`=}z@Y$W>xrIm484-q1@Vvc?1avn! z+>1xi8HwWbT=UbJXWl%L2l8h=M)$&O$={1GL&vj)zpi3DItvYaC0g1G4FV-Nx(k0J z{;o5AFw_maE?tO6XDMPj6E`hpOXZ5NCLJlHI}RUYGwEL_Wv;_(K<^WUY1~)_9N`7I z)j2%QTeJ?=#O((~|K$&v# z9q^ZDXYWh^;({N!5Yt~<2F@9wCaIp_eDT~T*!5yMl zEPQq>OkrCf>S|?1^*3#SKPQ4O%>b~~m*4)BfSh%dY+l&pg0|V@7p>->h(plf0#;z$ zi&NAu&GulkcUnn03(yh-SO)dyIalSxqu0(`E6B7kytI6Bq1(_1s74sxzuzqZ#eXdMQz!b$o zjN%$i7JWj@J0Ka)m8@OYFJme`{SLcneiV#%!yogw;+1V&h9heJk-)Q{Mru?vhBSoC z1-A5)rJb98*tLRr$m1N2x_bvum%G%yD0*(gV<5;5w(v}>KxJRYl}huXE07zNk_+kq zAq#C(2Wz)OAFfIY*Rm3LE0}r2P5BOIPZEyN=}ckLph8KewvZZusyw87+K4JP$Q)K* zj+xiSw^%hnRb)Of=JB z5j}~*cUBwy;Whd2=7|~B)SQ1gx5hwcxN??_S<=FIVGtBf(N znrNBDDWn6kG+K29@_t%c@Y1ZU3-S=O$07l&x4)F>&r8$~ePik!9mRe_DXl24&J70j7&+BJh+gfQ5`5M% zPyGPL;^7QO##GiQp8-w5(oX)>HzH6H#9I4$js zf;8+F5TVkygfYpzSXar_6QDlODiDmsAX&0yi*-|2k#WSW`E>k5P)g1v3oh51Id~DM zrk3nnhGmq1qyv1)#alBgF$3$Jgg45s8JLnnf3s!ihtoQycE+d&Y^xZVh4UO$Z@+OL zb;bKNv<+#Q#g^>Ww}f__Qjg;6=j4Q}?R(F{_wU9SMLKlJG$OAF#9#l=e1qQ3%o!kX zR?BW6YnAF2NA34dp{cTd=YL0~#`xcbtAWFG z7$ochHAZ+6fVqp#M`Fhe=Seu|uvN6PEiXHu|AZ9CC0u`_k?Uvr{dnzpZ9d)3D9{7y z7ertgQ+cV0phZ>7h38gdJ+o4Q#vEH&p1gqqsg0A;5D^L<_+C{fmQX2V`ZEFZJ=O)s z^@0Aa?9kURbOuDsROWEJe!V=&cNVs;w@;I?rggx18=j zLk{Hx;f?7(Bi#Dv{pI_Xk9G4#Rves}9(`kb%VKVD6xv}p>?;OILeuJGP1-go(an|NnU2|PH`YDWE`B;4eLbj2jz_B`xjU&Dif8Jxns6CBky z3bKIOjfPR|b(y!;eMEh&%15rqNA!>_WXFm9!7nYNd3p)R=}UihJ0KO@Hhet!_9lBJ znrSlLUoclv^^8{1s@+F;kRdAFzUI0`iAZ^1jo!}>W~6sq{r-zm>o0kR>ciUmyazhc zI{`#v`ts*_lLY>X-I&Ne?qHI+3LSR5HPa>ltb#}UMle~{Vo3PQO@y+Vmr5EFqEuNK6Jd@brx_Ykl=eO^Y!-H zv3D@!@TMZhfc&-)qQZ>q`T&b#h93PRfM1C5Pz6p{aCGE|JpcY6DohsSk9$@a7DkCH zB|I@f-N~yPjY<7Js7Ahse#tgc$3cz>CrY?aJ~hI|tj^4d#$PcNotb{mX(>Ma;j9nh zKyTj<3!@ffFrmnQI`D>L*_S|LiT2U~$$V24n=scFQ=-HBMgW89PM)p7=`Uun*#rQv z^X0D-$6=8YfeRkF2)U?>+zgoe@e|KnQ~>~~idbpLHRFsKt6b$*EjrX9=QzqT#OQn) z7FnQLFefYel*JxMd*r_jEvG8qZZnf9$+Kn}#TBiF`O4Adchen8L$woU%slIdG*Loy zWuZa9lAip81>jpftLMN^e01Llx2Kx7WelXf({ zWe=#$M2|{S-ykTl2Y2IF`7%{&Zz+KcQ3dDfV!Lu*=I5d9HO=q1EhKA2Vb9JzSPeay znzXW&7;B4bkRx8l5i*`b)Z}`+fW`IxVSpg%5mqm~v4P4JCa!sJgc`e{6pOnX+PL*f zQPM%Mm=x;5qjygE*h@Rmw4D_tw7a$c&F`X>K!|)d(S@Yjyf?bTyf@C%yf;>jd^g1< z`|Ms=7`3s;JYx&|3zcNzAJR-c_7I2a2*Z#52$AMDq7b|A7>*pPUdhC{2u+*u!RifP z%$w?{)|;+KsX65jNuDewTL$?bE{CHnPG;5Bm4K%yvS%v*_n^9Ag9&qgk_+~pDkpac zV>Gb1qP&^>AKX+ZfL1F5&2^+4H;{J3(_Wz3U>2Zr!POu+ki8fxQVP90YzeDO!py;- zS;d&IIESqc9wH&SPNIvng#N%tpqd7`#Mup#?fD$>S)P3>GO+sSHd)VJP&DIE$03;A z8{JyGV21wN8WHz7kLnyIw~dYm|DB=@tFdZYy!`=~oiat)1f4C;QN!ZkQi~hvJ4REb z8KEI!p*G2RrC7m48zN4c3(oSdrnSB5fP zNmYsc!nJnAX`{)^8P*;7mYNO;G41;!5OftIyIE6Sj@MUc>x1&Cro-W$UaHu_a{`b5 zaq3t^0uBCo>Rb|nA`zsSoj5A{w4m*Ydu2Ox12UkzD>vY{V6aA#z$O(B^HvwvJw1ql z)DN5+R+#$!bgvKj7sDClmWq{!pp=AnyH;Q^Ir4R%5Ikv|1+`%)BQlVfd{6&}f+$U1 z*8|O-zSIgi{g~|ul)Aw|3<9*ffdBTfF@?Xis*d6&BTbGx4L5si*{1P?*@`y|f`UP8 z+3e)J(l2K6>aKIJrL_nsVKIK3y5DewybwlHR3CU|)M|3^nkemtp+8@=YKzj@-=uY{ zPJFRmTJ`LT*Vaq0cHEqMazz)l!cKT(1%g+pTcq=2o;-Yid*r21M;OLh!qnwb>tAv^ z(wFv&?X>HxIFYu*Tvf(1lJm9)z4S^*|46fU)^x@3&^txal&s->!>8;&c8Og&7Jb&E z{yvQGy{#49pg~ zS;!7SH+1{gw?ea5J9_Bn9^jFz_D}jMt55wopg2tDwpHI}NqqQ{k@#&R{0nBu!|(sC zY^*>6n(h9B!C3!G9QnV?6#oaF+kf78e>gchTA2Nx+|)8n8vw={*4L=+sSW4)k(Ifg zAuF_*Ih@&{vY1(6ELm06Af>EycnUp*H)`=_;^=azZ%Vz)QmJn@_0IWWd#y(lMq!T4 zQr|`Y*ZE%l($~!epUqtk-c~4O#;;}mul}sp+h4amcm3X9BUa4Ap`w3u1|iF_T8~PB zYYd#+6#J<`Fra$^^Iny2!#SX-9E;xYgF5&SFTEhlz1jOh)_Y~ty8!`kcx+fgAh+sg}!t0;7XNqv*@RJ(#v|yAq_8wlY z0H|d&diQG2BBsS)aj0?A)42W^t5Cf-DC*)U8QpqO>dhRW*42dZ`!v+X%z(#QaITzbR`zvW$9oGgu6xscBmjn3AKc z8SScK9Rfw}9=cQ)0&$aoSs+1b4GhH!7rQPaCa_idk8~eUNpos1oy%2?qQ06>eskne zI?Z@evZYGz*v^pGGN~s4E~UO5TN>u>KDX(57gY- z8L$V`9rC;}wL!j`Ue5@z;I|yP zPW^07p{>*Uw{0h}P)C?tvqOMgTC1hyhxpT&ZqyDE>E#0YvV;qZBC{l=`NrWbB5cE5 z{CGL%_YJ=wL`nw*qeVD+n}!urH1$Q7yjIPbvJYVVkz;_x?p9_|@pa!DvpuH9iW;>QRX|NFixqZJjuiv)_@n^Ng8rlTs z`*jXwq~WzBd>lt+V&-Fh$j3vCcfmWi3-B^0Q{$D z38o;b;wEoM$Crq{<58Sn9w{x29hw4hRV#gTFULqy{VO`@%|XT?HBZ`ZWs)DX?D5Yt zpdlZnXK?(6!Lz)$$8tXFqb3PR(~Nm}E>3~lJgPFV?(?x4d7>YyY%5lADg)-#C-~XL z2-*yf_}x+1Z0ZEhF1@o0J1F4+1Nls`=X<*_vjQ(4--b2i?8hCD0cwy$J{ha{zJ#)Lm{*l zJ4l@|?l3SoWZ&cR85Y*ly=xm@v?WLAuJi~6nk?^xdW3uxOE^4``*w!i*6$&g-PYIp z++S@tg^!cEZT>u}{r!+ztF?$9)aNHaic5#%{Zbu5{h8L7mVny+U=ViW$77OtM|Qo>LUDb}LUVoCKze=JK&d|_1?T%_ zIP~I2V#4w>&Kcroo-;)tmI(<7#Wv^_2bMoppP%jz$UJBqGID?@+~xIo>0WkUR@qcof z>-6FL2u4=+vR2sAE%ee$D07@?znRjgAcNyN!|t!Uk{>dp=Ose2Hn(~}Hk$(|xgF@F ztmQ5gYzQ`8TU(i#9QcT=;mdHI`|p1D-=!EH`#O1edQioor!^d$?d0+N_2zgwo$+;D&o+{;V%KXLbxNIcIe&Dd}i>j7q`7 zu{km>hr2U<4h3{Hc@~poF?}|b?7`cav_>iE14`oEm;ne%w(#QEeBeq1aBr*tK?|ai zk+?*b0GbjC;3yuE1pv5U0KBz)R+W5Z?ao;62O5r^p8yR9&v{F<*t3lRAq$ixbdv6p zGZuq0Dd8A+@ArzLKckJKNutf zXU?5)KbcB?nmxY)zk(OOvwzS?{+&KI!u@0@2{e1Y0}4-_f5-i#Dfw&qya)V>TsXrO z8dVRk3ad)3qE|B@C0LnJN7?O@xA1Zrh)t-9lYil8i>{iHwjM;d<*9wG?z~tgtxVb+ zU6znXVsmFx%V2eC)9?$C@WcA;>jC~ zEPIrDu)1@pt+Bc@sZq!qj4i*&?+h%*$qS`a<@8?a2)lCk5iwtGc=5qtD&Bx9+_HR# z)#j{hanyJ?Uck#8ACjlCe8|*TOfN^|Z!9l0%YU)9WmKs&Y@TU!c(2@uKTx@C)aEmm zyXh3yp3j|Ba8Dn@k5u&w-{Rz z9Ss!b=PAL7YPR0%|EfWUK__63zFv;-Vk?+c9JJO|`!Fv~r3-DBNyX!F_&Rj*pR2-&7LLuR739H_U=MJUIS@u$1eLw2hQzP3kEHr8sHbT5nuc` zVdJmxjBN&lSWB9c0y1UCY&XCNn)(aRU@(?~ew86m_>gm@&P=0GWinZ?=Nd5^Evs!U zsr@#&JOO=eix!7X+U$&Yu_dvDNYh^|Ff#6%o;UG)8dWPgF9%k2ebcPLJo*tjvu{+QU)dt226TuYCm?Lk4y7mOxD2Q!-2E21KmaZ zIHns#ezJ2;;X6Ic)!cMuI=hBSe9#?C1q?H(!3r@Dy}iY@HNqKF<%k$Z*6RiRx;(4J zG$}z$VLlF3%-WOB@{%MA2=|z4v9p7EX(jLC?TL+=I;~tIw$fk{C~4V!G|d+mi=34^ z?S7^{{7Ec&w5$U0F&6EuF+SX76}f4q@jIap>+dRvEM&Apqz>c-qO0Wf^@(Whg zY!Xo#P}0_32fg?{0kQE+<&PJK`kX!AlN2tO8Y}&y&G{iH=L4FQsf_((nB&|qpF|x0 zS+cR;0QlJBI+2p>`P&UjG?FG^5lNVaAkqWwn{Na;6AD?GfI-GB%dJt+3*NenG0uRT z9ua}iK=Jyu`j?F3J<4#r|*OEL&of(hK)_Taf5vtFFAh^X24h} z?Fs$YQf?w({lHfFq?5|88ix6sMuJ~jEyu?E$SVFU7O#TR%TPVT!UGE452W_D*eB(+|o%FA)N$-}?QA*2g&ajPY$?P)plv?hC|Q2{x) z;n33DhyixzMh+-!_04MHsmC(-)U=+3O?)sIzq$70e`dh7{P^vc35 zWnnw3z*xd(TN@qGmT+Mx2>B;%WZp&3jyJ|HcZu*;#Xy;~J$>)Ip4Q0dM5IwxWh z3|zR2T|xE7*z@$rwu^SVOQ-4(d*2p?g>6>D!q8Ed#7Q>Bq2#dCl)2IFn^LMToL2gn z2-4~UHQXxy?z;>skVoguXRar_T}3CRpYcw3j{LkVWfh5~jVTv0)FM z;7P(dMDh?DJFDM2){r&jN3Vz?khdX%6wybi9AzDn6A48+ZyErB{B{N7y0)0ZBGD%hfU9AvZ z&6tQB4mSWB_Wd|O89adGY&gm|Gmte&NrKudibUp70YCVy1&qv}GAk!5wp6|?HYoZ~ z>cx*Nc~Sz99}u)9Pn|R?N$uu6YyC5ymla2*geHg~a{$nUDud(9AY*$@Zo{ z#?>6Cb1WA9a&+*Ta~@0e{%wWj;`C_J$D<>*5?cFIvlF#ko7?9`JW#=coca1*_B3nO zzEUGGPhsFOUnd=!ey%5+=mK~N(px#VxZrU^J=8bI3*|toSe6HcOG%9u$4~2cb2D$R z?T{q!OX=pNa*H%*+FwWaATMgEe;OXYJ!sFIA z6=%Z{{v^>7UzzAwG&2j@SoRgMwdBVU_ELo6v|l3@*IFgoTj;VNo|5I}N0g0j7z13o zDQC2z!OPA2h9B3aKXqcLrl$BfY&7~yEr}bso7pQY$<|~)>J@8stX*j9^Y8?bTUV{A z=5>eT)c@%V44XFSmx9N>;hNM#{ez9g7YK$vz~Lsv;dW&FOuCl4!czuSmamoaXL2%_U(0SRKDs@u>X84AEx`vl}5r#8CK9f(F>Jl54G80DQ_iiP0Y zB%%lQ<@0_}`3vU_4NUbb?uP3XxXjqru6DB#?WRdX>)5wMLyg z4Tcd9x{X4)KQIXLGh4s{UR+<`GjIF-_4+P5jrvp--d5lqks7kY3bho-phQwGQ;l{K zif-u^Gg^m&(8G~$1}-Yd=x^~ZNeFN`t!&ePcwEmO2_AZLUK}b&!xRho+JfAiumV57 z^LIJ`1XQ*k@^1qw0SSQDQD&$jr1+OtPp6xNkHMdY@raEm?WBM z2_03yLsWBf*s{5{NMVVCQCs0G3w0wVMeGs6G-)a>2(4DaT9-e>s}q%CzGAPw8Nd9b z&zef5%XVX5CDk+w{P3xe3`XCd4DlhILSE-Kc`}MzCz)`@kH36pwKl-k0K==G8EA>b zF!{0&TYo^&4rBPcVYZPhUKDax7czj1L5}SUY+Vb2-_TP&tVUu`h-5)@0<6}xlT21X zqpu7%+O=4yRht`tWWqXlS9@akewsha?1z&nXI-m)nDd^TmjDA7kK<})BsAR=p`i=J z$HX@@N{r63ui8FV*9gkPm6)tNzYc!VkKd9D!zyOuf z_v!5XV81ER@j58bus3$^2VG=2lcnqz{t_QVogX9KuU3xvjp_%-q7`<9RvNRTpo1KJODGQN zeC@{;jD;P7L%W^I_%fIn`Yv;g`ZRCO`dwk`jFHK|qZN4#cuN81c;AwwH&4Nr4~Piym~s5Q$nlyG zY)S^^-VXq!i}|=UW{9&*f)SS)tT~G&34UD5_?(H<5>nN81J6Fzw%7Sg_$8S$)9|}>=6VNO*p9%slEOJjDH$m zmLb1*_}LfxxK>FBc78~YtF!q2rQwN|x|dRu`9sb&7yBkT6?Q^yIaGo3j&US45PkzUe%?AU7?)1^8Si(!s8ZAP8>diVf1v=iEA;(Kj5 zQ{G%H1MIN0UsUflF2uNCj6i0R#(LTrYC{VJSKK`=jZ8GJso;a;?SkvB%GO)_bv}uO zGEak$mr@4_@}g*Z=qD=l4tSBsEcA%WupHnuvJ$L#1{(RZK}W6C@C>-pV1%24|Lh9W zjvAvf_THcPGlZe5-|liG`O~L_KQ<%h&n4N5Wp6J?DL^hD=$)P-jC~jljUM~mH{DV> z?;JM5gknJ$cmqj>tU`vK?IT%SnKrybu>*mN^b0U1+EEgU+kP|DDNKAr91NR~^Lrn6 zz5_|pcdSQBO3GAkOp=WfQc~oAtkgT*`j(i02tNS{{3-aH^g28Ji>wmQGgl%T+BCH3 z8?4X_wF1OW2LIHtpZ2&vs$qR4Z0q}kGwzV`0}?&2bWgx%tD(GcVQ+tG_&l#eK*uEk zAwD4q0q_O{Qbs@-8}p2Je;xZURdMzZ4mCxbu?Xvq+j+=;C_;-0Jrcsz@FXB(a+Dkq z+U`U0r=IR3frO7YZd?Pp6>w^S4l1mWi0Cbr)=~>I>#Nz+I=azV6a_8^!XywiM;7HJ zSu(@3K$yaF{5Mr?I&nliSB<|dga=rEFAeQ_0@ee}5xOPYh|Jge=71N)o*p{q>VdZyd@uY`~B9IkJ0n=gJ#KUTIiH zK3~|uD=zh%_j(BvRvkHz4%m|;>p!E10*Z6(nA2~(nCLVGMvRvE`0O`IP``DCkc1a36d~FmYE%@ z+!VXgi=%>9^|gG2QaK!@a41)K8({Vpe#`==$O`%+-@_I_Thq2)(#vUE(aI8@qrbV7 z<5PuIhVE>roJ<~iyy}Yco<^$2yi|UqM%B7tO?W|d&q>Ki@7>eEwLH@5Ksr@3hP?hEFoxm~~vteAdhsrus{M3y--T7h&z(#mod zMP${;gw;SC-CT890TbUbm)yW@N_#(Qs@R(bv4@+tlJbYhPRapKs~-$SQ%&^zEqa15 z@bxyryD(6+X@8FU84|I5<#cxGo;EkpekkXmg|@_>JS_$v?P#-$ott&7VeLwI)7^4s1my=ujZdx2FtH=NPjt{`Y>}(_LL(Q z2PIZj?JIM`F;BwPF?%c$SU8^zQ{MRiqI4|A>)GV|0*=v^ski=#Okbs%4G|)4@bBLA`vkGz{Ung#!F3M8KJ2F* z9!TMf;)8?-rhn=UKc=wn+ebUNex$&rFySEXn)xw-Gq+K!y5;`k#!&n+(#aU5tfzjB zE<`}84Cn>p$d)-q;9m=(c9wUA7Q#iEpCR)O6pVwD(V;m4HFk%gW>osT%kO3qUz zc1b-_CU#F9E9{+8*+n{$BRUb9WS@Q*dSaJn9{xnG>Db#CXo3g+mcwWA5p`=_%s}k8Q$KdtEn-46}G~=0!>AB6fvHJwah7U|aw66NSSS zOxKz_p&vBsn=qq#gl%W06&)Slra3yzQ4#QMzH1%TqywW!mp=~D)0 z*d7u!MQnLRKC~1;x=dg5(1~MC^T#OH%Mf(zVm*^6$1*j*e63gRXhrmB#S}pX<&Q7B@1B$Z`aJYX$+$#jC`Ka8hSju^K*K>FD zb05Cvk>tLnZ?B`Hwt3x#Awn2UIn_-((v4PRzpibsFS+cJ-G>lw7&+ckg2GC9TQw11AOi41|b&e!8BUzyU;rR|P2NMfsj*(9aVI zKd|8d+Q|Mjklkv?eQMxDNk8tYt!9pBbf0>z4%mIjnP2}Xb@nQlx{S>q-d4AFI%ODp zQv6!9z3xN5CI;QsjrRX&2K#+X|E37HHI;aCvSNQmW#5q4aMeRO@51*i4EHR{_q>B{ zEr#r$0Lf1lxyuqveKP;LisD}YnVtM&k0toh^&A5Iyp-^x5R#uNQkXLMHsc2gwzA+n z`SKW#3_iCE*9Tg#BR8HJ+?-U63c7+pC4ze?^Rk(H5pe_Cn!{pOKp}I!)L({tl3KX{ zrR8v+=K2T!O6FxX=SzN<1d@7$7qnnoHWgb^eWc&k2GhdS%5~I}eU_qK)%b4@-RnXI zIG1?A@R_t)HD`ym+ccD&jjD0K&Hd5e)eS;_0}LwXme)?Ku1tUN1@o^gKX4ZvMPe!4 zU;Zvz`tmcd{R1`l2Q$Sxkz>yJ)bZtOHI}OPr?!xDv~FOPFr8l)Go4?Vu%%I* zUwRV{<|~$U>q?~2j2eB?EtoAQR4spZQ1gB1(iR~sfp!hVl_976gj}tsjDSqf`e4gU zeHo*<)Bo1by9^^(Tn(vF*df^yq&1HMDdtF7?+dN|d!KZ%*4PC*WW*g|l5jg@4WF(N z>IBN*)|(2;_;M@_XOX$#R6|Dpsr&wLb-VuGgbGx?P&UpbE*tbAk{8&%$M<@DskC8P zR9M4Tv&mST)T^T>Sp;kYOO?=cgh?cPV<*Zb@KG_=D$?4_%?eAll z@=nj-MwRW1%%=tYIT23h#wjdov4Pcu*;|Ii z8F1NVE{-mop0zVm5OTfL3zp6`3ihZVt#y6>kT=6V?x$MGw1O-Ni4m z_arh0AG&dVu-5=g4qs_+_l&7jff}ZpHR-ZX-Kth2nzUaIsx|^N2Rj&kpJ*q)n9Du5 zEA#rjss4Ru8P0@Dd&!nNWp+xt#QGHwCJ9g&7{rhw(Z zQ7*%_(%kX=dL|=*d*{Rv6o!8rhTh#Ky~pf@xYPHV-los@HoZxeOw#;bn`?5@$nyhX z2BP{4yPA=fA=HV>W24u#IlQxl@LQTez-~CnJ5N%*W!(kcNj=nwCkyIB>bpL6TCCNzH@&5plG83jT7*(`Gj?LM7O#nMS+B&*jA(PY!+s2wmCOl&-4} zpzqdo>^{RjDgz0GJ|!^R70bG(^cBkxOP)piHs3hEHX+iu-NNX-iF$No<9`|QwkX?D zM#bTURBlZX6?hNg!U4V|$|`cV-U-kU|CwWCI2U7BhkTW*MLI`@bot@KnE)X1Dg8Z9 zu@gyLwesXu!;~92ftWjH^15rb!JaUDxpN2FWZbngbLe>$&N+9>3MU$`^2kfEnGZajUxt)ddA)@27FUEm_y;r&&AQbEI2v?lEwK-?Uin zoQ17CXKSX+q-2TAuVW$MBLtPb39hq~2z~&^BDKzEF8mp|CtTThz_`SPjl zzdi-NDI!G>%ud$Ou=mS6BhR8E#i{oF0qF^+yrr35sba}hF)dc{0paDSsuy!y zsb}RwV^D*rlmXsc@OP-Wwjb2zjp{psx%>mH^~4tqb}+Znf}^|<yV*1$#sI{Hc4`)6s3Er@*Qp2fsVsiM|RBt5A4`} z{4ZhZwrESn2;vUAWFSTgvT(9}K&XELeN6xJr@Z*z&c7>L~XvrA} z*icJP1+CSmjn9#NyF65>&|F^&L>$lTrSyv$8kT(u{HVd*)yD=nl|3IKyHs+@5goG- zg=L5LO$Vx;-U+(fJF3oiOuC-F3EOCpcu^f>zB)FeEbuUIj?DpoQycHh;zL)(g*(qO z^OwNI#&-n^%}-($8sC(Rl%7$U3B4@ijIo`I`!t-RcO92bPgR%Bx6s6j?_UcN%>$Xf zY1Elo7dx$ta#SVihhOSce>0ug?f19u4B+j`K{!dVeL>2j$=@ZPlR29!*|EyACN~{I zPhLR`0JC9bp@i(c}6}bXBg0bJ}*s^M*WIbY*>D0e#u+j6kP-Xa7uTJ za%t5b=;CJ&M9|I7LWHK^D|TiAV4gX(1Zf_09eS3r^)>H-47L}6%ugWQIJGvyI zAbyXihRtq>7l_yq{e<^P+`V-Pu!Ly}(v(rdv1kvxSoVrRiiaZvjm60Ob9V-*31{7k z=AOITzMOTY9Yj#WP!fk~K_mlJ*ydQb-e#=Z#@hI2yFz=QEN_Sw-CF8+epWG8r@DzI zt~U$6ij@Uk1HY9Edqh>1xVM78j||gS6g*wRiegi1RMaR=j8xQ%Vd&w_fi{DG~%~E zCkwO8@P2)qi#kL|ioch}@w~e_F5D0ApXjw?v%wWp&cx?+X9d~tjcE5tTK6}y&* zKP+)6Ugee{67ugK2fWc>yP~NBqUU=a%{>tKx?t3~hEWtqa0vkA4mb!K?HXm@WGN|Y zV&j&->x)CI$!m)wtV;&#mBxz1yZW`v@OBu&VxBViSXKZ=|A)1~!+=#YBsoOk9vSX6 zhGNnTuZWZKHPUR#u*bP6&I1wb<7P0BDc)v{&`DNAP@M~hd$X>Iz}ttv`rXhdmxj3a zc?P;^As|Fl?Ov8T%kD!Z>0)p>6=&)|!~NEOAWW@j=ysGffwwWE5@uRiFk4iofaefb z9-B;S@6wx0;<<2Vpquz4RjhCC0RNd}yOlA`_R-}Ky2s2ekJj$hF-Y7fzjLQvvVnCI zlBuSeGEB>D)*qckw*bQM5A2G=3!2Tr3ZG_mh^NUytr`l0)BilF)|yP)<-i0 zH|sUu?M4XwYr4t%lT^}&KlfVAhJ8_3(9X^GF8esUep+V+e?JVc} zP(eG}`974;&f41LN6rKkin3GPljP6X|F&9Yd6Y`(sMuZ$_?9<@w4Y;UmcSwx=#C@r zL)~$?=jM@r2hL~Xqg^X($&o)@Dg@d_UfVatU$JjWk8`n`P|0tS9$se710%;uw52L} z_ybtTt%=7ay!j1L&9TU=V@L2*w|AR525>h=7lFNSRduc3m4#pa?<9C0T3YGt_n^0^ z)&Dk0M*W|FwL%6~RtAPvCjY)cl)Ry|z>hrKV@>6+7*_!fz+nJkj)+Lbm()rNR|2Wp z59GDpXbO@@OfM$?9vddZ!F$-^8^5(ek}{uX$QrY{%i8fdzF4z*eVd8R5eGm*nity9 z!Qh-jUQw;e-}o8mZ#Bx;1{%oFaN5XNvdh#QMI32KZB(RCRcLP4Su5O1k1R)edgWN6 zwpeP8Im&bt|JGwHypvU-FU0Gr2@5$$hs0%+Zp$}i<=L}o>BPCZYtQuzF)BA0)c|I0 zwoP*Fd}%b%fRl-3kb`o~$;WM&NIMP<3I zr2=QzX-7eI$*P9?jq~_7jh)7c@Nf6}Eyab88>j|cNU7-lH2lp6x2`^VB*XQeTQy!C zonl&OX9aX%OV;hQeENU54Hr=%{;0gsRc+Z#P&}bhHsNQ+f**g}1Xw(4PB772LfD?f zqm0vd(r(j7;V}?|2Skc--)$ngBzJhUmVAK)UeS&KeKmbUo`kc)p+R%WS10j9xlLku z)i&$dyVOWxEh?d2G(`iss?F@wlskIc25drfin;pc8w`)-6Sntt?WVll3B{~On9g7- zcyyExi(RW)HiSmpUlR)XufOB`FwL{X_2aThDG~}5G&FTzKp#==*o0FD7o1>-kaCHf zB$yE~PXiR^X31l~X32RNFpe7~k_yt}B9>Lrw1H~R$Og=A|SDBP5h=H8k*w)y`94;}w;bfI4!*=B4Xqzjm@VmG* z8cm`?h5rvg*=tSNDmKGV}SfwTqd?c??>%Ex1xXXYjQnERMxW`jb` z>tUCG{Fkl2kiXU*9pbx+Kag7uxQ&00#EmP+#p^EKW@imQgIDiVDEF=0C+CnJo`hZc z5Ae-gL7AWNb#XmbgXou=v#22C666!=#CiFCSfLd3s4B&9$HnTy2%W{k!|{xq7z~pB zzhYGNk=l`0BaD#2jTnrE?*i-@+flG%iy&ot8A;_1_B0@6`^Ppjt9CiqgEJi6T_~Z{ zt9xl5#MxzrAwi}`ByrU!PKGQnERj!o4MSv7?L(rNP`Kgvh7*q`)F(UsuN1;*72BA4Jg&L%av#Skz@LB{0-K)pEFtSp%{y@9SmFN?Bwoj=` zGmk{E>Lc0Aq}o#iS+`G%nlQ0au>(PsYE4*alxU53lM`=Ee`8^6o@iAamU7RKB-J6^ zJA~BsKX=jOcaJ*vT&Y-LSltF`M$&qK*dKhzm&}%B1w0adxJ!-Mn74$_iZ86mY}bw2~2;M#juCu02d?qL{_eL%5pAHABo$gL!`& z)I%m|ngoUDqN}es6xe&6S7B{uUYyGE5gW30_7(=>tzOwXE12kbb-2(`z}+3q!%T-;9UDA3-S4&7gi^PR zpb_PF0^SHe;V!f*0^lipG8*lZ^V8cQ4pM6MPQm^WW$qZ__1GH-Nce>*UrOFFMqUxJ zA*9xv*hglHLWftU`G5^V?$c@k0}mTZAtj{9`>2Q+faCjLqacc-gycOpTV_cP0jNnh zCG-NRnRbTX%h7*BJomdk;hCNxvIx446PR^_kNw>?)T+%Mbn*A@JNKX{-@&uv;;fE| zy9)sm&yewZenB<$<%xkdJEI1a-Jmt`-KMkGP7uD55~gur)T4C!M14Es*X)b(q{VI+)oPCTDKNwb z=s?!5ZwRzS{0_4~OI$ts6!v`fLj2Si>ZuLx@fRa`uZXzrBRJFe;&9y_(bT;-4CWh=(5bj7TZ z;s|N7`a+=eBi32aRi5)i(#a8r8qp=bxaJSlGPI#prQnSl^<9=T$60*<>nVz4Lt8_M z#EiqsEP?T(SV7Vt`xXpEm` zBB~PQ)#;^quHv_ClJM1}AW?G6R^h1lSH%KHma}xYNKjHjIE8i;c}V$M6M`opqQ=y> zQfdK(+m&K#8k(}tK|K^bf21s(`q|KTb%!M8_@f53Rw5D2fxtX+)`U>`?l2Q0w%w}* z2S`G}U5UDsPvya5XB#78u+8i8d!_3}hRLzic{Ihq1v!e= zq_%caQAIE^yRW`c=QRy+J8<|#%E5i9EM&(`-@VT06#@=?x=QgJRlll8U$L@gx{{>@ zK#rogdwxlq#R#_5l+&9jx zxa*Dvqd_vWp@Sj!Se0rDbbvIET)2#fsV(g0oTK2kc(gIr&-hWMMt3VZ<))I40mg44 z`Joy3OPdci%c#V!IvaTsgI!_+{dZ;Bh6pK*8o^}3L|&=2xXhQR{#Ni>RDVuue?jaB;U`oS2V;gywM09T^>1uS{XyTMxl>zB}pNf}gC)h_EQIKvl4j0fVQEpsN& zmy92Z3n)|_BuI|ih9b~z(8gIw;Fm^=JKBWaN;|k$XuF6~QlK9>tS&FDw{XoKmP-1! zzdaCSAIf=m_h$s`!3o_8pcC*~|70L96YmqRJN*;!W=eswt3 zALfG@^r|xts~67Z`><~y%3SAv0eO?tyr<=!$|Q?!oQUO;{T<*)G4n7vyw9G8Q=*=G zxEMdaJPmcEnR{TIJeEn}UPAQ7#$}sjLrTGUS})(1*H+-1Z>9t}lvo{a*#PiZtiwN% z98%m=61qzEKTxJdXH8wzr&e~sAfJsMhd?cAir%J9OzUk}pVXgjI};8RKr9Y@<5tooQyIiqzb$ZC#u!Y!M$sMJN_eO|C2?-XztT7ubV!XGWJl4!Bc1uOhJb z40&RU!u7sXWHouyR|KCl?tq{a>8>9MPH3_Jl*8JjBgEWUi^9G-R!+j)n>i)QA(C}o z47b&BeUZ-b{|!@27EUrUXT%{5cNMyZ5kC<$idHwOd;C2mM+TA#?`LvcmF4)ByFG%o zItzC%Zpq44X2Dw_0~2R3yJ{m0Y>yV*kvnSLfJM6R*oqTqB_2l0Ea)x4k_ObEwX03; zW{eTMA)v}INv3d}5~N{8)ZU=&aS59zrXIM~zy{xbz$8);@e=8B7Z9?P7Rznuw7?vo({b6%wuA$_(Ly zP(6icL2g>Oc=<~&En9BlfpL}M7Kl5OL`iB*h*770W7x2=w2921aK_+bf7e_4k@4|b zvAZf+qIKA$1O&Ff11Ff)ldo|uNl4lmYx@W(L{UeoWS?Jtpg1l-g*Tk`3#looAu@q} zoTd%DLzB#!PB2y54h^|2V%#OiXN0Cm9|npLD`521KW#&r_ePvNINWJgMp=jW9`+rm z(+vAr`wmz(%tkh7K*VEUxpMQ-rW+|MDD`2ebk30LZv_Q!c`@82)rOFMXHdFAiCm6P z&TDMxm)|Q_>DTOu9Kx{BhnT2u`ib1VV8QRaR&GjWkBqsE=xu|Cgt-aP8qD*J(sOc%2c8wx|ZyRjmM!y+u3-qHL$j? z)7OD~mng@7?jQomk}yNtIk?qCOi{npo$2iO)q`nou;mTUP0emAj=4&u2#?qSJ%eAF z^yScgRR>jsT$iQPc7_xS95LTE+6GiV*zj-y`JZEAd6`yz^Y+~V#09HH@sYFi%=m%xyX@z)SNy0A4 z844*&)k7U&_qY?m#>vwH#j`Y?7pq=DO~0j3Qr5~rO4jI?w;)ZR>q!hy273sbT5*BT zo`}SFz=1hZ=_@q?N-uWxkI{yybO*uq>_z+hN9taP5MN$SaPI(y1ke`nW(3=?I#2vZfp(#TB@E6>Zzw+h|a0k#i)Z06(T%|5Q;vRP}H zoQ#>>B1)CcadPf7oj~_c^|C<>^|DSAAc|ijwBQq5{<8SVgh?|j#-Tz~0L@Q264)7!MEEuP= zs$Nc5ETXarrZ@lEG#?5E2$qs7Z#g9w6BG{?k`{#N73C`b`uM>onYl_np8}vh%5FQ} z9NA2Zomp`OH_Igy5)=?r5Ji+?lvI~>Y$Ozjua(5t(J(MuMHT2?VzYtSV&T@ZZRowd zAQf;}xy5c4n^h(|<;zaA*5WvTM=Fugb0vdqQ3AC@2l~_%Sip_^=9@6YK zZ=LR1;`%&oDOD|TrgproAsu>0i1+_a$GC9&gg&anH{hv1gjN(sGV{?t2j(+&(GOm! z-oAF8qWN&z(LXwT$sOt7>tw3>>F5=k`<}&+Aah*CncjP(K96alsO!HvR)zxsKs zPO7rHdrkQhUtAb%FU*13DCQc&XZ|@<+(By&*&bYQCvG(l66MS~I3l`PRp|u2pC~^$ z>0$E97{`i8q>0;c zI_>3X^Y;bc*T+7A;OK4#I;&A9jyL;IiC0wd0z;=ilNV>jt~T_sy+EG`t)8NtMqdVG zHF;|}zY=|3Zfa=AXL=nG)wKGzBUJBQ|NPs>Rv!&f62L5JqmkX zFo>Vg7I`_Oso`o67Q^PC6>>|y8&yOL$!N3lKz!V&j3tw1^Vyl`BQ#ZON|%_RvEpyh zco#LjNeveYtvc)$W2WQwc%DgDcH6TE$31T!`&X$NEc6qLTqr<5Bwu+40*@+rx23wcJcNTT8#i z3(C3Ni`RlFto!j9ME%OGnHuQNA&gW8Zd_YI8H?a`>C!662{721D!EXEGN#U3vTqnl zWaxziBV=FuFw-^0k94%yq>>_Iey|rOr_milDOFa!)Jxt;WS}^O0ufDYH=BlKEo{=@ zooFm-Pt{5~%XA+tG@vA?@e;hDLtY^-M36}j#6DD3b@&uYY+;xtcFIovsiJdy(-k1D z+(Y0g>JRq_hn});WkAug*DBK8$tR3dQ;ymbM!qh0gWFK)jD;ib0GUdQ00^PD-oyvl ztud}uM#R=-JvuGm+>Ei7w-%v!8<1VI56nN8&s-ct6fudI%Ti1 zTX}oz4q_*^!qM};i7&U>v(-*2XKz|&+lsZ&8PM(=Zdz8t18;xOMc2!T}cVbLXsiY9%7|voH7$Q6l&1deFobk2qBn>9bj7z zqc)%~F|2+&P&aToFzIRwud2|q@01eeg0n&~)!pvm-Wk^gRW)C{f;}E!#8v|?Kz8~8 z#An>XuRcO222&e50z$=0D`ppiwEh>w;ThIYECnuLrTO$;)pR^??y!5_=RSKU*f2v} zKd}oCP?-tMl;uTcBLj319~evW(l@O<<@7uBR<~#MxlV_mU#Mf%Y>JF*bBTzYoS<;x z=RSpjT}M8}${h$*IO5AQwV{?Y zpPxN;_jimlEZ-*@c-Q6fV&;&y2^O$75T=P$-R49A@tUN0uN0%ioPz*J%?o6&glCt& zZ+1OR-(ae~s)v_4DXYTo9E31gKw^Mem>h(U%BAdcj^KpyVxs$7Q#J>9)Mj1{m9+yR6@56mCL-xs_ctKYv=Rd#?Ekj{sY7=D4}z^29z% zYSO|ohuSfQvC&G8^%OiQ0KMGn`hV5)f7+q{T^9a} ztP!20_1z9d59ui?3RW!iJ1oq1gC;9*YYr2nVlv?5R6GExZa$TTNHjh-1-{GaypUvsvhQfZDotLIz+K^qi>X6&M-kNIp_;?zT6Yrx`c8Cj6gk9cKL1nGK!4xpvg5v4+ z&$UsZuw19Xyd@=?BirG%S=?gjkRFI@-7GLTtxa8h4BH`BiM@qrHoAIw?8c|Cq~e9m zaEWH3vr5U#3LNtOb;@WB{|f{yl=jy3^mIfO*b$LHT*HC)>9IjdvtB(Zm<>DxYmh7x z9KNrJbdN9!i%C@QNqP$aJ_tqB-zo_ClZU{wu@asp+I;L(kV90CYP>m*8x}qaTmnfk z(QldrbieMk38O8WY+2CGPk-9s0g}gp%Yf?0BmZEO1o;6*OSeH#o37U<0FIuozJrNm zOwQ>UzM(-jc&=HzOwKM$f7W5~^KktYgG_QW0U)l1jFncGDMW(Sq|Mt8-H}-vzPCQ-&Sl;S!N8SS5}^@xUS?i&N<1ve}b0;Z8Q% zgH2QtGUKucVN4)uK$@=XDbVx)zHxnRS||-UQSB=(=a!H9#T{+9Va`g}D9;X>%#We_ zfF`)5`$Xc0Y%HotE&}Py(l`e)vln9c5)sz7$|m*8bAsJo<4~ThUpFOcU)&!Yd1Ha7xMx}4P=7rORx&X`EQFj+0yfB0kG9*z z9J()iqYxhuA)C#(3_l5?t9k-8=7VB=&b}hL154BV$d*74+9OaVju>l<<)C;f*;^WPu*?{Bsazv=93 z9i4tVm^j*7(U~|n*g81U+Bw+TnK(F^n>ZG!TgUDkV+*61t}4=!|Bfw|kcpNy-g8S7>Suf35x=(K02n>mR!Tsg(RLE|F9 zTpFJf&g*pLeK)WpxaxxBOBeLeb2EP`-}HyIy~A&`UWBS^XMkLR+@_mu!~9a_rod}# zIMjj)DeX)q9Yf3dWvLUZ%M!ebP7;WyyHt(Ws4#|G)5nXX!KF3I;4%iwO^)SEL!=z$ zhMx3%TEmwpvn+xzY+%Qm@Vp_r6dOlTz}|{bo|EKPs(LNKLxuIo=aftgQf0OV1Quz@ z#5(q8-R$I*IxI9gP6pUfzZ-3%uAZ_Rah_G8JEqVVdi|=dwUJ>l>uhO^SpmoAvb1V3 zWHYrhg@-hotKPoGkXXe25~junTP2JtzKOZGb11eFUmwdPNPrb|vpl^+W|uj>pXf}t z>d@`5Job>Mk_e8|A7m6!UD+9##;T~}`E+VVYC1*Z8T8gdK<05ATnLn&)IYiW5dE2V z<-N|)`=#p;iQiEZet$OZXA_on=ioR0g>dLg{0pR%L?kodJY(sl(I_~F19<3X0 zob|$Uul-F7HWP>#r;vR*6WquE+(h{3V# zSn{yb1#Rfi!gOc)@m$nH+Y<9eXco5*V^4XWJH0>(HKutP@e$WiHvm9=BXR zp>P~E;?RJvFW$qdfLFVj229QaUK31`meT{`EdMZzw;%mrHE{%DE!8Y5#P6g+UZQ$k zn$WnapB_t(M8M8sn!Z{)yX@J{f&^oOJN|X4Yr52j@wZUAO(+t)ej4FSIznZ;L%T&y zG%9S^fvxzDba-S#i}AZB${|inr>US8f1O+7)mp^0GJ2+n&f1}AU7={FJ1;TM`y;M$)c;>(2J@aV%pe0Jxprq_A#q-V+=aUkGL1A-pV{G6qA z?i0Tf$8&JQt-&-2)ZD2Lm)vwenw!2{9i^4zd=ou3aM3~J&9&~d_2R)aH#yzqAabZn ze$Awg&+MOEhEf?2!ESMBIoO{`LF1D!W7ctyUnF<`t4Z%p|1^=?>Afsd6r|=b@QA*535LJ%z4xUiN-yP!z?m@pUQ+&MFW?>@BSJt`LK> z&hw$yOM>FaP|jTxUV>gR!4)FdfWjjjAI@=?cEER*+NR=484_tvhx=QEMK1>kLqK>} zASEU?qbAumQiD}Pyhk9<54lueiE`#jRa{1mA*(UD}$90^j! z-Sf1$ERhx!D6elaH$ItXQ4IHg&Ef1WJ*ZyTXaY}EGW)NgCk${{BfoFZoE!50R?Uh2Q#IE!Hu;x=UZuWa zv)PW~J);Ic>Ms7nbJ)d0U||3KKc6S)&PuG}JNVeg|CiI>f-0UWJZAV%+$lG%5o`I zFT;sMo0Tj>;P7l6+nAF^*_NOgsnnI!pos7PYp}<{>-J{NGXSV-U8IQnF%N7G(!9iK zQZD_kCx22Lp*^Yhu~%1&=uF~x5cPpLnuFy2!tm|a0Qz5n=<&3Kt5Rv3*2;s-iSgS3 zb^VLaYv_IK={FgNV7dBX9NliN3lim^c3@f{060Q(VeLEDoNtHd*H?g=%;_zayHF{p z6krpT`P=$vF0*v=`jk0W`GtTX9G*mG%x*92;nw6t%aJH6eUKVl$6F|;S5?$$ANI(3 ziS8v(&JTzh9OONi^{6`GH@=e^t+1?DC$!O(8BR?cXu@A609H}?+r)k+lOlzD-|90)d0ck|ID&N0T^DOU>byj=Omb$iuh)dR@t2NFaKgi0fV?`hK~P-N+l`T{%jg(;*4*68l==nxh8U+!1D*sQgBGt zoOZxQwh2z)7!`Ftc`&AnDr|S-faG+TZjVJnVR5$HL`(lDrhhUzik9#07pKIu&N+D= z78dBvn2YR%lt*su-8v29BJxpx3Q7o5mDH92)13#h)>N>QPXKP1$0Q9Xq=r*w>sEHJ zcQnR&V%R`b(UFw|8djavg%GD0eQU_e6bWnKxLMYsh>4oiRCso}L)CAxzn<3cg8E<@ zsS5*-O%yTCz`)?((b<*_vtw!N{H?tUv!X;H4mxFxZS^Le0;bF?Pgxil7Ip5~!8y0D ziDu=&K`2GrD6+{i@td)uBPg-_Ns@e!z1Mh1uFBk$F;B5!D>oWs-87@NtiR^;n>j}; zN+FqGtQ`_2r2k}UiHVywqE6cH!}G-m%GK=+dJW#x>c<|oxGsg2umG_0XBsrar$7*2 zDn2eO*MfaZB6X4()l>LZ**gYfuea?8n2y3UAe7=&unxLcqFF8E$pAlh=8jS~8R+;2 zusw<_ou`!3-hfLTarX%VegSKG{agW=q*78@&C&pEH?)w|=H}(@NOrB?*vp9(8<{KW zIwm9P!!9@ZLq6@ZKs6<9-gNh18Lr89pb+;uurPKwemYL2LFuI5vEV}a=K-Os*^PXU z%K^~83aOmJg9e0x>UEaf%8Co?(%VG@n-F-?Giq?5rzD;0X#R=o()(Eq;$Sw9-s|~Q6hCkh%Rj;C1+BFy}s>bq#AtbDz_a~jt$GX2g+u}`0&_4huz@lb8df+YleYd`KL_(D2GTTQmn=h)rAUAY5ybeg^q z(3Ot}*MbTFMo>_}QFom%XLVUt?JM^Vsj{_3%PAu$*a|Ph> zTp}H*c@7G;su`wGb(d`hd~8X*$PO~&KYBW44W)WE9u~#>#2$#awTQ)euGgw_NjyQM zfQl6vjIEgNA}>X>VLbQaww>SD#Nsm=OyscBzle2>0qvHJ=D?JxbniIX4mH4I7^|Yv z=iu21eMRkkKzzvG7Wqe%WbS8c=)+G2C!A}hoXq*7S<8k1ZDzIg`e|1dsNVQi6N0`t zhibrcHcri*WfNjQ({<=&T#{Eq!?@HEHHmkcM+F3wIAAM;_N5|mkl}IHJJVD4Si}Ig zRHKny+|V~*x6hdc{^(n&a3$epDP1kBq;siv;jZ@dI*0`Rv@PP<5p1l#{AnPD?lWe% zm5?pTqnBq8)P%&%`#Z4iPab=;TUdT<=xUd3oDnD1H~PO)D!S;vyW!NzG65lkQLqt!~gL?=v1@Hb)uYp+Nw{@H0+@gep7<3@R3|Ma={ zsre^d*uXAE{%t48q64IrB|E)$r{wmr*+H6;lq5gP_UIebr+4(uO!k1BHEd(xL#)5S zI}DbtqMae^OdVF9AZvGQ%^r1jhQC0QQ8SN}RTkuHLWV;Hjp!IVm=?1ILgvE+@XcUw zTJqer%W=>*d*b-ErfO7m^}tLyE8)_Ulp{;C`?n?@D%g*^diw^R7S7EvN@$?UA1K;6 z?4dI5?;+%dStEfr%P-F8Q&>uUZqs*M#sjWfN-UVi{P4Wvg1#2ZKBujT4_h36+|{Dw zQxR|F!}j`%4qW{N$j9yOM_1ha1v&}%fVHB@=n7p%=sSWpf4K5vuK3YszJZ`KFZ2wx zq`{`z(dOPP$;Kh>qOm)MWw>>$)LV4BT6ja~;(R>n{bMkAphhkUe$QZcp#G~QsX#{g z9|psJmL#SQ{~}3r66$O=>EVUn-XcJ>3yBmf8uv-}Q=)j98}Nv$@WeVAR8U}w*ebmDOEuVv~$`ABE%Q(#@8Xw|mS@pKCP`ZjP8^dKGn3a|LG#Z>mrwIW zsJK<=#Hu;z+TZA6lKoPGNuFm!lTKW4YAJ&PtyO-QTS4US!&9(#v!aMwEOi~*O;%Lz>l%D`{SuG_^Gul*^*k*rBeLGc z>E)^}cg@^lV#$FZLY0WjVcJ){`;+b~x>ZNIvX^=GY-)Y8Va)A`H}@+7yzq)5++Uyl ziV!%3bMq0&cY!Xdt)kG?N`mg!@APPNFG}iYLCtY~>IKoS7x8hr;YE#23Qgp;>Kd`G ztWot{u3dKm6~v5R7YK#Zg-he)w^=m>&6-|H6Aza;$<34}lGD!cJ5GujyAeWsK5sOO z+9IW4Rc!6F?N?a@> zJd#Q24NXsP&+|cmAiDwaJX(M!0L7;|ubvT83NNxT+}^PF_ek}n238>JtgwBa%yKcO z!bB|RHogWPgf$G`s=7p6jiy0Ak4nV8Febt`UuHqUkJWY!q0Wt|jOm2&)OT#1AHBhVt#4UC$2o z47axO1dl@#&IE+UeJVHLU7a@TX~j`NRn5Un9GFVc;NYB}UJGlm8Z=TvC_gEJvp_*x zWu2$VE;2&qo9u{36I?g&S8*mt(fh#q*wTel99n0P|N3D0EPLYi<_7AZWHL=R+ldS5 zO%ET+9oPOkQ`qVk-WVU~_plSKN+P&nB=;CpS^OqXW6-<%f{4t+TE+7+H*F3w5l@u@ zAmw6U`Vf*kiXj5SI#mU-75rrnY&^mgT8cpdjfSj0=RzYQUgMC=e)R0fK3pMbmYp6$ zfaHOuCE*;(=J$u#{Zt1n5J=8n5F&=&Y48u)dCG+xIwhA3;DJzV%ntL-tMn@&B5bub zLH;%aUgpOR`(x=>H!Kxbp~>h2y!B(_nkBGxh2%d5nd zk5k<$8SrEDQ4S1()O4x|5NLu+&nGBhG^@pkeqWHtR-4%wPfr6#6jO zC)2;iRo)I3wI>o<>E3a+jO-S#K}xej9mfkNX-I${72&_BuWWw%u@<>tuTEYp#?4do z{5f^r)_P+jB2LlrhjFyKRhky)33_fSyLp7)J+oA)|9SXD>lM;>d3rZX}fgRx%v-aKJJfrp1evbMK<@Fll&}(&$^xTj&>*DL;V3i zBpN{GH8Z7l%JF_4sle~(P&00ASo^_R+TxC*(qT3<5!vVv`VPs37rj@4%h0Nf+HJO_ zw`q-)l;iZ#!+!uXbcvz&4uXXSJ!&9K`D9)qOQN`uoPq;9Qm3J$li#N}74dmnH2@hA5Ns#R;g|GOCH#qJ@_QgD?6@tPW%863$BF9>I* zqGBYg&BMn4xmU!$U7c>s{5tOyw?e5bRbb&>WIfLa`zbU+)UU43?(&0iqI#k2xMbb! zrb{9vD##hQup=w>xHHMQY(rCJ2x=?4?@l&-vurayk$?qqE7wnV*M8Elnsw5gM3*D> zw3ce%Lx7~7jYQM{ZEk-E!xy_j%P8~LpSk-#he2LYoLG4&G3wduh`1xvxGChBfQ0N3 zYO!!6%hMQ#MAU-bIb^l{7CBft(JqlH|Gxt?QkjsIx*Jg%m1OWgu33yxx2m-JXA2J( z#!;=I;WO{YMO7_ai*I9t;!2Ore(#rC#JZZ097HKJ7i}Ppc{!KiL-jCcsWHc;=!ZXNssHIg@Q}BCbDs!)^|Km6}qEIXRvKnt{D-eeh_&=9z1(sVL&!G}4R>F4$q zY)^i(P!qQKLlo`Ho!g|egEu{J|Hj5tQu6Y=^iG9}>e|>-v}!T#LzO1didoB*hPa*^ z%}!6gNvite3mSUXAG*(h$0?M~aeBDMDwTpYn6wft0K%X`v8$|AXfW~AgrVTUwS#dp zI1h__cC3<&#!OG_Y<$8bn^tUIj5#dP;I@Q+K}!pg%ut&HOi`C`k00k8M##qOf{cDK z-hS3kq~?TDp_02I?J#i}Nqk}|46w98(06!-6jF$N87!pG!+}(ZmqlQ)5EZ8jFbCz~ zVu78-hC*LSjeAnD9S!Sd2FTD86dk*pER-#s82>g~w9Lv5b(%;jPSN9z>PZCGIimHj zTy#4s^Vv9Q>82q9&HJL$>S%0(FiyU}KV{;yj2^52?m|5;qwSpAE*s#3SM-DgGo?CuHR_s<8Zzp}3R zAk5`Ye0E6nmdR+$fkaMXPB2p_lvK0_}1c_vnFQ7kYx;G2npGWEM-Y#Nh(Vy zS;`XG#uhDhLM3ELsVEiw?|k+DnqkIwJsvNf`+Lth_uO;uy!YJuVwv7%`mOhKz{jGB zSsD!{E9pDAFRNWV=IY7OQfplKw#6D_(bk_hy1zm8`@D6@axV7muV;6jWTY-=rT#o0 z{)#&Nx~z>LbGAK8==!8oS*0Xn(*b>(I=^rC#>S^G)5_l2R&6KPa@XXDxe)Dy@Q05EJwZ!j;??=N>f2CCtFHlpXI_0_>uy3-o;uzZK12NjBT#j7{=$^i z!AN?)pvGZ+v%KZ|UOa4BA9@eL3vNmjvPg;tP}mk+Pl%I0(I>&crR|c1__^4JGpg)S zfpq8!@+K5ERS8odBwKdBS@sa-trXV_mW}i89h$lt)std%kIyltuqoSS}r6 z-y?K!KLvMj|3J#~97mi`i};uf>YLKk4*6QpMJ%fARNK=YFCx72t2S}$V0WVGqPZS zw@Bv0Blce|@R!Y@UGJ&&=Q@)NgZ4poO;ow(Er}_z4K?j)Q$weVY72i3wvrz5TTnc6 zI)A-cB_-3lPblQfeaY!{Oz*pxIV!}_M{<>A_RVEk*o!^RM!dz1l`_t=?ZZh6VwEO4 znc^f=9_)wEndrJW@<%DiPRVLa*%XF;yTKa}Qren$a$w1_$M54ioxN)7*`NI_WiQFV zTJ8;1{c4)>04L~5X}z%1?OrNf8XiU+O6(S+weNkY-DL&XS51n=(UG zQw_a5@ZD2}-`)nQ-E;Cy^=%A{FHKzUGenVrho${}Cd>$)`w^9k9q z?ueYE5MEA{b!P!n*&6TYvwZMc;tyVDCRR(5>;nBinU@STnfg-2#n1Xm! zeVA`&!P|4Yl8e&Z^{}!2QFlYUU+Ht^+_9V%{hB6TO_6`;q4`vXY`?y$N#lVvo>M8U zpW;}bI-41q2@I%QAF~;3DJ#i`VoSJw#bs1A$0;s=7o7Jjn4LP<%pcG^FNe8Ylh^lN zqb`36-aJn|fe6&?wC3Emz3j}%oXd1YTqa9lQ*`E>3K{;i1I^#wein@OatdQ`xyUV1 z%k1-tt6gaut2ZJpLuW2`gwpfH8hu!9y(xGFHmvj#moU1K8guG!uf_9=g?p_hMbEBq zH5=`We&q6k#W7Yny`M9Zs)1!qxysWsj4wPn;z<8Mp=wcn^dcHt7&!O9ji{>(W8p>z)x(IsvX2^~<9N!b5 z&Tu5)tS6@&uXN0{HE9utC2sR#S!4RO03o`1iqW9#6IIXJ^R+JbsNUz3GXBw(lmAgu zZS3RdnYy*Pc~zRcoQhNE6O6$D$#M?6Zg!+NC}*c!spT3qIoa`=6*q)bUz+h|y5=<( zihY}%R<-?@$CWq!)A_lFc)tfcQC58|U@EiHd#Wv?JnLajaXWilLBvJ4j%8%-Y{KB4 zlPfTGzDqVGihc_TOR*g#vTeV1#YQd&`U&gKdnFLK`)ZrpXSvW0eh*FA$cc>CNksOgEUTGb(eq|XPzSe+n=-gIwYvG zZGE5>1*J2{t5iBE-tU69}QOB z?(ZfX)?Z6H5tnk zPKa4W<>6GU@blaNuB7`su8X11waf)|M3a!!N${Cl2AM-TSuI@myiN_$&)?7e7+uv< zCC(X})tmd45Q@MEZZp)ra&&2Bd{i|sHkE zzwHfuT3}RrptYa~rvZ=Nxs3F9J0~&u)x%YJvfI|;rM^OgXaY~m?Y^j?Z59fq5}ac$ zOSp#8M~-o5m0~NkXNncd9;YYnpdU!uw>B5=OGC)tb)}w+U1}|YO7hu@3`$On>rCU~ z98QUIMfu-e@|vn&I=|>@oE8UV_PAT&`2m|#nbXhrkfZx_T$X9oql;RZl7 zuRg9>2q2QFOrq&^+#WveYq_TNF5%UM5GtwkPK8gmKa8lIZ4dI`pD&>(K5_EJ>kjpT zh?wH?=djjvkN_se(nlJc>Mk=@I8N3!5`!Fz z#)-=AOZuL-++8_^lT7DI526(0LJVa-`hL?fANQqB(5UdljDh5843AK+QS(p1aqBlU zhQ*0RcQ{c2;)ggSb~TGX5qTnf@SJ1`8$D&jJ+aBfpBmol++~a=oc63*W}Icu>j#gd zJC3dm55BC`0r#%DAdc5-wGa*dE6z8XX?*@R2c@~PRDFxgys zSD;~IZkhZ_nQ``RBIMY!*5CuB3ESMocSB%)R7~+7&2t;G=3C@CvWh(qIh=7t4X@Ws zh)3l$t2`gage|N_z3lR$VGjIAcRU7`QZHSa^7YA{J#yX|uDT`(mqsV9h;${kr{@?k z8C6G=FdNpr$yBtm-!1inA-IxdxxwDV!+x59i#scyPTum{inr(0A!c-9GA?)(ofX#4Uu|v;-U`j1j+by0p zX};^8B)|XaeD{&sFea(V%+lv2WjnCawiJu+Iyx!&4xD0pARov{@vDpq zD%@feD@;w#f1xHB?vf(h$`f~9wVv^H+N;M$rHg4Et29ta7u3Y{Wy7IiO7IViH$JN9 z>gj*V-mcNhk{@(IC5n+U?CKQ?Pon|b?VWz|&pfm!Fgyd4PIm0N6HJHV!GD<)q@d~N zmYJoY`AjgHd*c^>`8$~oB59R=X86n$g3oz6p-EIW>Yhyg*ddLhy9=po8ItugL}Y^E zjD4$?O3SQJDT}s3IG24CUj=23P)6s)}pO~G}kDgcwGLYH$!%!s-N3VAWDzS8^2l3D|7w; zKZL1Se*Yq7-o9T{n-h0_Mo8z@t-330b5DYwem3{^2|zsS7699d5^y>%x1VfZ=TnT! zsScJsC~tRVl{HEs^34!Rxo$e z&NbeGz;KS4bSqNb%ROngc0Uq>ZHvtAG>`cCkqYo|!YpcfJOI1OZ{+Um&=Wp(M>TfxCkjSL3Oqi4>H%wRZq5f0LA| zz{>w2r7US?z+zYW7qF{f7VIhzB$85PJ87nl7Xt0<=H*J7$JT50E)sCAf^TB2!@wO# z$p}TF(3n8-TC>vWJ~aUzUcdl>;2rR9u>vm$Cq*>#Lt+AT0+0wlEE+>v%y6~9v(~_j z62Nd`e~IAgJMbVAE33oknBSRjx+M4WAkn>gASH-98i3y_Wx-~r*Eg737u)i;4$V7^#y81~erj*A#SE4UZ9 z?-T$NcU*%lD7t@eq*d&z^SSu}m`W0uO7#DN{qwU%o4jQIXKG@Idd6>sH-@;smcuIy z(c6UegkfBf=zrqDCY^7NaZT0(*^rH{?hV5V*1IOMGt*R8j;sG-V zV%9CEO{@*)2NDj{8@mA4zm0?M0#V3KEa3krBo^a_*wg`1MsCP5fevs01loQ7V(=Gr zTVnL!=zz_wfHznWQ+@XUAbQYj3?sa5TM4G;jdt_Gl4cf7OP#(8m~g-(ZdrZQmP~{j z2H}Y$4SoLL+%0tg%?GLr6RB?GvnABi&5I1uY&-2Cd4N2<2|1448tIE93U$8&2)>;u zuZKf+0-s3&suN3z4A>HhkMWxo$0Ko>iHW;_lu6W}-H8-$4Bi@v_6&4Idl6De$7JG} zR6nen=O$kqkqmk9@4OAO4**Aqr^3WW!AMx#vC z05}AI1&Ab-IZql4;vkqc|9PQ1VVuF^I94P*Z2`&VR=D9IyFE_0wi&V{&9&6(!$JW!wDK2)viEyxe0)I zYz3GS2oYKFcnWDKSdnvsc>*y>E8a|59Cj4Ij1@Kl+j2<*k9)ZV9K{5B6FCs+J_2T= ze+oWm+dtX_ba#d$WQjTn-g2>81>$~ycpc1v`TtM&=Vt;rgeC?9Bh$1Z&z0iffK+#M zWB4~~CnL}nV;o+-{9SQ~aS&KefrcO+P^e##A(9;F{&r)(#~H^_Ao`7h53|G(P+^)3 zajO|TUP!{ju!%eJ@_RB!Z5S2?hxsCj&;Quyf`n%W6HoWlSt&Mt&iLKHWKP!JNG3dp zhM4TeL557`B;t)^!jn;mXL|mkXFq4@$Fr8E(LnGc$MF_+vKojQL5(AgC z$pMMdp$UO_eF^hRh=JF2$pMKHb_s#_v=qXXEn?uB2{|B9k_sUZzaU2Va887%Mf$AC b0XHs>nI5AC;|&C&4!-)qk{jHS0{r$r4Bz{e literal 88178 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 /dev/null 2>&1 grant 775 664 $INSTDIR > /dev/null 2>&1 grant 750 640 $INSTDIR/WEB-INF/classes/config.properties grant 740 640 $INSTDIR/src/config.properties + +echo "Permissions set." \ No newline at end of file diff --git a/scripts/autotar/README b/scripts/autotar/README new file mode 100755 index 00000000..3bb415b0 --- /dev/null +++ b/scripts/autotar/README @@ -0,0 +1,3 @@ +Sample scrips for autmatic tarball generation for mir.indymedia.org. +Not ready yet. + diff --git a/scripts/autotar/preinstall.sh b/scripts/autotar/preinstall.sh new file mode 100755 index 00000000..e1245ea8 --- /dev/null +++ b/scripts/autotar/preinstall.sh @@ -0,0 +1,18 @@ +mkdir mir +mkdir mirstable +mkdir tarballs + +# +# stable part + +cd mirstable +cvs co -r STABLE-pre1_0 co +cd .. + +# +# unstable part + +cd mir +cvs co mir +cd .. + diff --git a/scripts/autotar/updatetarballs.sh b/scripts/autotar/updatetarballs.sh new file mode 100755 index 00000000..243dda5e --- /dev/null +++ b/scripts/autotar/updatetarballs.sh @@ -0,0 +1,31 @@ +# +# this script makes four tarballs: +# +# 1. STABLE-pre1_0: with and without libs +# 2. current with and without libs + +MIR_TARHOME=/home/rk/autotar/tarballs +MIR_HOME=/home/rk/autotar/mir +MIR_STABLEHOME=/home/rk/autotar/mirstable + + + +echo "[updating cvs stable in $MIR_STABLEHOME]" +cd $MIR_STABLEHOME/mir +cvs -q update -dP +cd .. +echo "[tar stable in $MIR_TARHOME] .." +tar cfz $MIR_TARHOME/mir_stable.tar.gz --exclude "mir/lib" --exclude "CVS" mir +echo "[tar stable+libs in $MIR_TARHOME] .." +tar cfz $MIR_TARHOME/mir_stable+libs.tar.gz --exclude "CVS" mir + +echo "[updating cvs current in $MIR_HOME]" +cd $MIR_HOME/mir +cvs -q update -dP +cd .. + +echo "[tar current in $MIR_TARHOME] .." +tar cfz $MIR_TARHOME/mir.tar.gz --exclude "mir/lib" --exclude "CVS" mir +echo "[tar current+libs in $MIR_TARHOME] .." +tar cfz $MIR_TARHOME/mir+libs.tar.gz --exclude "CVS" mir + diff --git a/source/Mir.java b/source/Mir.java index 23b58527..123f32a6 100755 --- a/source/Mir.java +++ b/source/Mir.java @@ -4,12 +4,14 @@ import java.net.*; import java.lang.reflect.*; import javax.servlet.*; import javax.servlet.http.*; +import javax.servlet.UnavailableException; import java.sql.*; import freemarker.template.*; import mir.misc.*; import mir.servlet.*; +import mir.storage.StorageObjectException; import mircoders.servlet.*; import mircoders.module.*; @@ -24,14 +26,13 @@ import mircoders.storage.*; */ -public class Mir extends AbstractServlet -{ +public class Mir extends AbstractServlet { - private static ModuleUsers usersModule=null; - private static ModuleMessage messageModule=null; - private static boolean confed=false; - public HttpSession session; + private static ModuleUsers usersModule=null; + private static ModuleMessage messageModule=null; + private final static HashMap servletModuleInstanceHash = new HashMap(); + public HttpSession session; public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { @@ -39,17 +40,15 @@ public class Mir extends AbstractServlet } public void doPost(HttpServletRequest req, HttpServletResponse res) - throws ServletException, IOException { + throws ServletException, IOException, UnavailableException { - long startTime = (new java.util.Date()).getTime(); - Class theServletModule; - ServletModule smod; + long startTime = System.currentTimeMillis(); long sessionConnectTime=0; String http=""; // get the configration - if (!confed){ - confed = getConfig(req); + if(getServletContext().getAttribute("mir.confed") == null) { + getConfig(req); } MirConfig.setServletName(getServletName()); @@ -63,6 +62,9 @@ public class Mir extends AbstractServlet setLanguage(session,getAcceptLanguage(req)); } + /** @todo for cleanup and readability this should be moved to + * method loginIfNecessary() */ + // Authentifizierung if (moduleName!=null && moduleName.equals("login")) { String user=req.getParameter("login"); @@ -148,34 +150,65 @@ public class Mir extends AbstractServlet _sendStartPage(res,req, res.getWriter(),userEntity); return; } + // end of auth - //From now on regular dispatching... + // From now on regular dispatching... try { - try { - theServletModule = Class.forName("mircoders.servlet.ServletModule" + moduleName); - } catch (ClassNotFoundException e) { - // searching servletmodule in mir.servlet-classes - theServletModule = Class.forName("mir.servlet.ServletModule" + moduleName); - } - //Instantiate the ServletModule - Method m = theServletModule.getMethod("getInstance",null); - smod = (ServletModule)m.invoke(null,null); + // get servletmodule by parameter and continue with dispacher + ServletModule smod = getServletModuleForName(moduleName); ServletModuleDispatch.dispatch(smod,req,res); } - catch (NoSuchMethodException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " getInstance() not found."); } - catch (InvocationTargetException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " target not found."); } - catch (ClassNotFoundException e) { handleError(res, res.getWriter(), "ServletModule" + moduleName + " not found."); } - catch (IllegalArgumentException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " not found."); } - catch (ServletModuleException e){ handleError(res,res.getWriter(), "ServletException in Module ServletModule" + moduleName + " -- " + e.toString()); } - catch (IllegalAccessException e){ - handleError(res,res.getWriter(), "No access to class ServletModule" + moduleName + " -- " + e.toString()); } + catch (ServletModuleException e) { + handleError(res, res.getWriter(), "ServletException in Module " + moduleName + " -- " + e.toString()); + } + catch (ServletModuleUserException e) { + handleUserError(res,res.getWriter(), "User error" + e.toString()); + } // timing... - sessionConnectTime = new java.util.Date().getTime() - startTime; + sessionConnectTime = System.currentTimeMillis() - startTime; theLog.printInfo("EXECTIME (" + moduleName + "): " + sessionConnectTime + " ms"); } + + /** + * Private method getServletModuleForName returns ServletModule + * from Cache + * + * @return ServletModule + * + */ + private static ServletModule getServletModuleForName(String moduleName) + throws ServletModuleException { + + // Instance in Map ? + if (!servletModuleInstanceHash.containsKey(moduleName)) { + // was not found in hash... + try { + Class theServletModuleClass=null; + try { + // first we try to get ServletModule from stern.che3.servlet + theServletModuleClass = Class.forName("mircoders.servlet.ServletModule" + moduleName); + } catch (ClassNotFoundException e) { + // on failure, we try to get it from lib-layer + theServletModuleClass = Class.forName("mir.servlet.ServletModule"+ moduleName); + } + Method m = theServletModuleClass.getMethod("getInstance", null); + ServletModule smod = (ServletModule)m.invoke(null, null); + // we put it into map for further reference + servletModuleInstanceHash.put(moduleName,smod); + return smod; + } catch (Exception e) { + throw new ServletModuleException("*** error resolving classname for " + + moduleName +" -- "+ e.toString()); + } + } + else return (ServletModule)servletModuleInstanceHash.get(moduleName); + } + + private void handleError(HttpServletResponse res, PrintWriter out, String errorString) { + try { theLog.printError(errorString); SimpleHash modelRoot = new SimpleHash(); @@ -189,6 +222,21 @@ public class Mir extends AbstractServlet } } + private void handleUserError(HttpServletResponse res,PrintWriter out, String errorString) { + + try { + theLog.printError(errorString); + SimpleHash modelRoot = new SimpleHash(); + modelRoot.put("errorstring", new SimpleScalar(errorString)); + modelRoot.put("date", new SimpleScalar(StringUtil.date2readableDateTime(new GregorianCalendar()))); + HTMLTemplateProcessor.process(res,MirConfig.getProp("Mir.UserErrorTemplate"),modelRoot,out); + out.close(); + } + catch (Exception e) { + System.err.println("Fehler in UserErrorTemplate"); + } + + } /** * evaluate login for user / password */ @@ -196,8 +244,11 @@ public class Mir extends AbstractServlet try { if (usersModule == null) usersModule = new ModuleUsers(DatabaseUsers.getInstance()); return usersModule.getUserForLogin(user, password); + } catch(Exception e) { + theLog.printDebugInfo(e.toString()); + e.printStackTrace(); + return null; } - catch(Exception e) { theLog.printDebugInfo(e.toString()); return null; } } // Redirect-methods @@ -225,9 +276,9 @@ public class Mir extends AbstractServlet // merge with logged in user and messages SimpleHash mergeData = new SimpleHash(); mergeData.put("session",sessionUrl); - mergeData.put("login_user", HTMLTemplateProcessor.makeSimpleHash(userEntity)); + mergeData.put("login_user", userEntity); if (messageModule == null) messageModule = new ModuleMessage(DatabaseMessages.getInstance()); - mergeData.put("messages", HTMLTemplateProcessor.makeSimpleList(messageModule.getByWhereClause(null, "webdb_create desc",0,10))); + mergeData.put("messages", messageModule.getByWhereClause(null, "webdb_create desc",0,10)); HTMLTemplateProcessor.process(res,getLanguage(req,session)+"/"+startTemplate, mergeData,out); } catch(Exception e) { diff --git a/source/OpenMir.java b/source/OpenMir.java index 7ade219a..96820b2d 100755 --- a/source/OpenMir.java +++ b/source/OpenMir.java @@ -9,7 +9,6 @@ import java.sql.*; import freemarker.template.*; import mir.misc.*; -import mir.xml.XmlConfigurator; import mir.servlet.*; import mircoders.servlet.*; @@ -27,7 +26,7 @@ import mircoders.storage.*; public class OpenMir extends AbstractServlet { - private static boolean confed=false; + //private static boolean confed=false; private static String lang; public HttpSession session; @@ -36,32 +35,6 @@ public class OpenMir extends AbstractServlet { doPost(req,res); } - public void init() throws ServletException { - try { - XmlConfigurator xmlXonfigurator = XmlConfigurator.getInstance(); - xmlXonfigurator.addRequiredTag("/mir/class:mir.storage.DatabaseConfig/property:username"); - xmlXonfigurator.addRequiredTag("/mir/class:mir.storage.DatabaseConfig/property:password"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:password"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:username"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:host"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:adaptor"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:limit"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:poolMax"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:poolMin"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:poolResetTime"); - xmlXonfigurator.addComesFirstTag("/mir/class:mir.storage.DatabaseConfig/property:poolLog"); - xmlXonfigurator.configure(new File(getInitParameter("xml-config"))); - System.err.println("INIT"); - /*try { - MirXmlParser xmlParser = new MirXmlParser(); - xmlParser.parse("/home/heckmann/server.xml");*/ - } catch (Exception e) { - e.printStackTrace(); - throw new UnavailableException ("Error loading Config file: "+e.toString(), 0); - } - System.err.println("DONE INIT"); - } - public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { @@ -69,10 +42,11 @@ public class OpenMir extends AbstractServlet { long sessionConnectTime=0; - if (!confed){ - confed = getConfig(req); - } + // get the configration + if(getServletContext().getAttribute("mir.confed") == null) { + getConfig(req); + } session = req.getSession(); if(session.getAttribute("Language")==null){ @@ -83,6 +57,9 @@ public class OpenMir extends AbstractServlet { try { ServletModuleDispatch.dispatch(ServletModuleOpenIndy.getInstance(),req,res); } + catch (ServletModuleUserException e) { + handleUserError(res,res.getWriter(), e.getMsg()); + } catch (ServletModuleException e){ e.printStackTrace(); handleError(res,res.getWriter(), "OpenIndy :: ServletException in Module ServletModule -- " + e.toString()); @@ -92,6 +69,22 @@ public class OpenMir extends AbstractServlet { theLog.printInfo("EXECTIME (ServletModuleOpenIndy): " + sessionConnectTime + " ms"); } + private void handleUserError(HttpServletResponse res,PrintWriter out, String errorString) { + + try { + theLog.printError(errorString); + SimpleHash modelRoot = new SimpleHash(); + modelRoot.put("errorstring", new SimpleScalar(errorString)); + modelRoot.put("date", new SimpleScalar(StringUtil.date2readableDateTime(new GregorianCalendar()))); + HTMLTemplateProcessor.process(res,MirConfig.getProp("Mir.UserErrorTemplate"),modelRoot,out); + out.close(); + } + catch (Exception e) { + System.err.println("Fehler in UserErrorTemplate"); + } + + } + private void handleError(HttpServletResponse res,PrintWriter out, String errorString) { try { diff --git a/source/config.properties-dist b/source/config.properties-dist index 3abbe2a5..5e2ab939 100755 --- a/source/config.properties-dist +++ b/source/config.properties-dist @@ -97,7 +97,7 @@ Producer.RealMedia.Host=rtsp://some.media.server/somedir/ # image specific storage directories # absolute directory, where the images are saved -Producer.Image.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/images +Producer.Image.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/images/ # media specific storage directories # absolute directory, where the media files are saved @@ -146,6 +146,7 @@ Database.Limit=20 Database.Username=postgres Database.Password= Database.Host=localhost +Database.Name=Mir # # this sets the adaptor to be used @@ -187,6 +188,7 @@ Entity.Logfile=log/dbentity.log Mir.Logfile=log/mir.log Mir.ErrorTemplate=fehler.template +Mir.UserErrorTemplate=usererror.template ServletModule.Schwerpunkt.ConfirmTemplate=confirm.template ServletModule.Schwerpunkt.ObjektTemplate=schwerpunkt.template @@ -292,7 +294,7 @@ Producer.Logfile=log/producer.log Producer.Navigation.Template=producer/navigation.template Producer.Content.Template=producer/content.template -Producer.Content.Batchsize=20 +Producer.Content.Batchsize=10 Producer.Startseite.Template=producer/startseite.template Producer.Startseite.Entries=7 @@ -319,8 +321,8 @@ Producer.StartPage.Template=producer/startpage.template Producer.StartPage.Items=10 Producer.StartPage.Newswire=30 -Producer.Wap.Template=producer/wap.template -Producer.Wap.Items=10 + +# todo: do we need those? Xsl.Content=producer/content.xsl Xsl.Fo.Content=producer/frontpage_fo.xsl diff --git a/source/mir/entity/Entity.java b/source/mir/entity/Entity.java index c6790d72..6dd39ac8 100755 --- a/source/mir/entity/Entity.java +++ b/source/mir/entity/Entity.java @@ -1,6 +1,6 @@ /** * Base class the entities are derived from. Provides base functionality of - * an entity

+ * an entity. Entities are used to represent rows of a database table.

*/ @@ -33,9 +33,12 @@ public class Entity implements TemplateHashModel, TemplateModelRoot protected static Logfile theLog; protected ArrayList streamedInput=null; private static int instances = 0; + static { + theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("Entity.Logfile")); + } public Entity() { - theLog = Logfile.getInstance(this.getClass().getName()); + this.changed = false; instances++; Integer i = new Integer(instances); @@ -43,7 +46,8 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Konstruktor + * Constructor + * @param StorageObject The StorageObject of the Entity. */ public Entity (StorageObject StorageObject) { this(); @@ -51,33 +55,36 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /* - * Setzt das StorageObject der Entity. + * Sets the StorageObject of the Entity. */ public void setStorage (StorageObject storage) { this.theStorageObject = storage; } /** - * Setzt die Werte der Entity - * @param theStringValues + * Sets the values of the Entity. + * @param theStringValues HashMap containing the new values of the Entity */ public void setValues(HashMap theStringValues) { /** @todo should be synchronized */ - theValuesHash = new HashMap(); - String aKey; - Set set = theStringValues.keySet(); - Iterator it = set.iterator(); - int size = set.size(); - for (int i = 0; i < size; i++) { - aKey = (String)it.next(); - theValuesHash.put(aKey, (String)theStringValues.get(aKey)); + if (theStringValues!=null) { + theValuesHash = new HashMap(); + String aKey; + Set set = theStringValues.keySet(); + Iterator it = set.iterator(); + int size = set.size(); + for (int i = 0; i < size; i++) { + aKey = (String)it.next(); + theValuesHash.put(aKey, (String)theStringValues.get(aKey)); + } } + else theLog.printWarning("Entity.setValues called with null HashMap"); } /** - * Liefert boolschen Wert, ob sich der Inhalt der Entity geändert hat. + * Returns whether the content of the Entity has changed. * @return true wenn ja, sonst false */ public boolean changed () { @@ -85,7 +92,7 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Liefert den Primärschluessel der Entity zurueck + * Returns the primary key of the Entity. * @return String Id */ public String getId () { @@ -93,7 +100,7 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Setzt den Primaerschluessel der Entity + * Defines the primary key of the Entity * @param id */ public void setId (String id) { @@ -101,9 +108,9 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Liefert den Wert für einen Feldnamen zurueck - * @param theFieldString - * @return Wert für Feld + * Returns the value of a field by field name. + * @param field The name of the field + * @return value of the field */ public String getValue (String field) { String returnValue = null; @@ -134,8 +141,8 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Fügt Entity via StorageObject in Datenbank ein. - * @return Primary Key der Entity + * Insers Entity into the database via StorageObject + * @return Primary Key of the Entity * @exception StorageObjectException */ public String insert () throws StorageObjectException { @@ -148,7 +155,7 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Aktualisiert Aenderungen an der Entity in der Datenbank + * Saves changes of this Entity to the database * @exception StorageObjectException */ public void update () throws StorageObjectException { @@ -156,33 +163,33 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Setzt den Wert fuer ein Feld - * @param theProp - * @param theValue + * Sets the value for a field. Issues a log message if the field name supplied was not found in the Entity. + * @param theProp The field name whose value has to be set + * @param theValue The new value of the field * @exception StorageObjectException */ public void setValueForProperty (String theProp, String theValue) throws StorageObjectException { this.changed = true; if (isField(theProp)) theValuesHash.put(theProp, theValue); - else + else { theLog.printWarning("Property not found: " + theProp+theValue); + } } /** - * Gibt die Feldnamen der Entity als ArrayList zurueck - * @return ArrayList mit Feldnamen - * @exception StorageObjectException wird geworfen, wenn kein Zugriff auf die Datenbank - * möglich. + * Returns the field names of the Entity as ArrayListe. + * @return ArrayList with field names + * @exception StorageObjectException is throuwn if database access was impossible */ public ArrayList getFields () throws StorageObjectException { return theStorageObject.getFields(); } /** - * Liefert ein int[] mit den Typen der Felder zurueck - * @return int[] mit den Feldtypen + * Returns an int[] with the types of the fields + * @return int[] that contains the types of the fields * @exception StorageObjectException */ public int[] getTypes () throws StorageObjectException { @@ -190,8 +197,8 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Liefert ArrayListe mit Feldnamen zurueck. - * @return Liste mit Feldnamen + * Returns an ArrayList with field names + * @return List with field names * @exception StorageObjectException */ public ArrayList getLabels () throws StorageObjectException { @@ -199,19 +206,25 @@ public class Entity implements TemplateHashModel, TemplateModelRoot } /** - * Liefert eine Hashmap mit allen Werten der Entity zurueck - * @return HashMap mit Feldname/Wert + * Returns a Hashmap with all values of the Entity. + * @return HashMap with field name as key and the corresponding values * * @deprecated This method is deprecated and will be deleted in the next release. - * AbstractEntity interfaces freemarker.template.TemplateHashModel now and can + * Entity interfaces freemarker.template.TemplateHashModel now and can * be used in the same way as SimpleHash. */ public HashMap getValues() { + theLog.printWarning("## using deprecated Entity.getValues() - a waste of resources"); return theValuesHash; } /** + * Returns an ArrayList with all database fields that can + * be evaluated as streamedInput. + * Could be automated by the types (blob, etc.) + * Until now to be created manually in the inheriting class + * * Liefert einen ArrayList mit allen Datenbankfeldern, die * als streamedInput ausgelesen werden muessen. * Waere automatisierbar ueber die types (blob, etc.) @@ -222,32 +235,40 @@ public class Entity implements TemplateHashModel, TemplateModelRoot return streamedInput; } - /* Fragt ab, ob fieldName einem Feld entspricht + /** Returns whether fieldName is a valid field name of this Entity. * @param fieldName - * @return true, wennn ja, sonst false + * @return true in case fieldName is a field name, else false. * @exception StorageObjectException */ public boolean isField (String fieldName) throws StorageObjectException { return theStorageObject.getFields().contains(fieldName); } - /** Liefert Anzahl der Instanzen zurück - * @return int + /** Returns the number of instances of this Entity + * @return int The number of instances */ public int getInstances() { return instances; } + + protected void throwStorageObjectException (Exception e, String wo) throws StorageObjectException { + theLog.printError( e.toString() + " Funktion: "+ wo); + throw new StorageObjectException("Storage Object Exception in entity" +e.toString()); + } + /** - * Gibt eine Instanz frei + * Frees an instance */ - public void finalize () { + /*public void finalize () { instances--; + Integer i = new Integer(instances); + System.err.println("Removing abstract entity instance: "+i.toString()); try { super.finalize(); } catch (Throwable t) { System.err.println(t.toString()); } - } + }*/ // Now implements freemarkers TemplateHashModel @@ -257,25 +278,25 @@ public class Entity implements TemplateHashModel, TemplateModelRoot public boolean isEmpty() throws TemplateModelException { - if (theValuesHash==null || theValuesHash.isEmpty()) - return true; - return false; + return (theValuesHash==null || theValuesHash.isEmpty()) ? true : false; } public TemplateModel get(java.lang.String key) throws TemplateModelException { - theLog.printDebugInfo("trying to get: " + key); return new SimpleScalar(getValue(key)); } public void put(java.lang.String key, TemplateModel model) { - // empty for testing + // putting should only take place via setValue and is limited to the + // database fields associated with the entity. no additional freemarker + // stuff will be available via Entity. + theLog.printWarning("### put is called on entity! - the values will be lost!"); } public void remove(java.lang.String key) { - // empty for testing + // do we need this? } diff --git a/source/mir/entity/EntityList.java b/source/mir/entity/EntityList.java index 303917d1..bf41e8ff 100755 --- a/source/mir/entity/EntityList.java +++ b/source/mir/entity/EntityList.java @@ -1,5 +1,7 @@ /* - * put your module comment here + * The former (German) documentation of this classe + * stated that this class is an abstract one. There is, + * however, not a single abstract method in this class. */ @@ -7,55 +9,63 @@ package mir.entity; import java.lang.*; import java.util.*; + +import freemarker.template.*; + import mir.misc.*; /** * - * abstrakte Containerklasse für Listen von Entities. + * Container class for lists of Entities. * * @author * @version 27.6.1999 */ -public class EntityList { - private static Logfile theLog; - private ArrayList theEntityArrayList; - private String whereClause; - private String orderClause; - private int count; - private int offset; - private int offsetnext = -1; - private int offsetprev = -1; +public class EntityList implements TemplateListModel { + + private static Logfile theLog; + private ArrayList theEntityArrayList; + private String whereClause; + private String orderClause; + private int count; + private int offset; + private int offsetnext = -1; + private int offsetprev = -1; + private int freemarkerListPointer=-1; + + + static { + theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("Entity.Logfile")); + } /** - * Konstruktor für leere Liste von Entities + * Constructor. Creates an empty EntityList */ public EntityList(){ this.theEntityArrayList = new ArrayList(); - if (theLog == null) - this.theLog = Logfile.getInstance(this.getClass().getName()); } + /** - * Setzt die WhereClause, mit der die Entitis dieser Liste geholt wurden. - * @param wc + * Sets the WHERE clause that fetched the Entities of this EntityList from the database. + * @param wc The string that contains the WHERE clause */ public void setWhere(String wc) { this.whereClause = wc; } /** - * Liefert die WhereClause zurueck, mit der die Entities geholt wurden. - * @return whereClause + * Returns the WHERE clause that returned this EntityList from the database + * @return whereClause The WHERE clause */ public String getWhere() { return whereClause; } + /** - * Setzt das Sortierkriterium fest, mit der die Entities in die Liste - * gestellt wurden. - * + * Sets the sorting criterium of this EntityList * @param oc */ public void setOrder(String oc) { @@ -63,39 +73,39 @@ public class EntityList { } /** - * Liefert das Sortierkriterium der Liste zurueck. - * @return orderClause + * Returns the sorting criterium. + * @return orderClause The sort order */ public String getOrder() { return orderClause; } /** - * Setzt die Anzahl der Datensätze fest, die WhereClause erfüllen. - * @param i + * Sets the number of rows that match the WHERE clause + * @param i The number of rows that match the WHERE clause */ public void setCount(int i) { this.count = i; } /** - * Liefert Anzahle der Datensätze, die WhereClause erfüllen. - * @return + * Returns the number of rows that match the WHERE clause + * @return The number of rows ... */ public int getCount() { return count; } /** - * Setzt den Offset fest. - * @param i + * Sets the offset + * @param i The offset */ public void setOffset(int i) { offset = i; } /** - * Liefert den Offset zurueck + * Returns the offset * @return offset */ public int getOffset() { @@ -103,55 +113,55 @@ public class EntityList { } /** - * Setzt den offset für das naechste Batch von Entities fest. - * @param i + * Sets the offset of the next batch of Entities. + * @param i The next offset */ public void setNextBatch(int i) { offsetnext = i; } /** - * Liefert den offset für das naechste Batch von Entities - * @return offset für naechstes Batch + * Returns the offset of the next batch of Entities. + * @return offset of the next batch */ public int getNextBatch() { return offsetnext; } /** - * Fragt ab, ob es noch nachfolgendes Batch innerhalb der WhereClause gibt - * @return + * Returns whether there is a next batch within the WHERE clause + * @return true if yes, false if no. */ public boolean hasNextBatch() { return (offsetnext >= 0); } /** - * Setzt offset des vorhergehenden Batches fest. - * @param i + * Sets the offset of the previous batch. + * @param i the previous offset */ public void setPrevBatch(int i) { offsetprev = i; } /** - * Liefert offset des vorhergehenden Batches zurueck. - * @return offset des vorhergehenden Batches. + * Returns the offset of the previous batch. + * @return offset of the previous batch */ public int getPrevBatch() { return offsetprev; } /** - * Fragt ab, ob es ein vorhergehendes Batch gibt - * @return true wenn ja, sont false + * Returns whether there is a previous batch. + * @return true if yes, false if no */ public boolean hasPrevBatch() { return (offsetprev >= 0); } /** - * Liefert den Startindex des Batches zurueck. + * Returns the start index of the batch. * @return */ public int getFrom() { @@ -159,41 +169,84 @@ public class EntityList { } /** - * Liefert den Endindex des Batches zurueck. + * Returns the end index of the batch. * @return */ public int getTo() { - if (hasNextBatch()) - return offsetnext; - else - return count; - } - - /** - * Fügt eine Entity in die Liste ein - * @param anEntity - */ - public void add (Entity anEntity) { - if (anEntity!=null) - theEntityArrayList.add(anEntity); - else - theLog.printWarning("add (EntityList) mit leerer Entity"); - } - - /** - * @return Anzahl der Entities in der Liste - */ - public int size() { - return theEntityArrayList.size(); - } - - - - - - - public Entity elementAt(int i) { - return (Entity)theEntityArrayList.get(i); - } + if (hasNextBatch()) + return offsetnext; + else + return count; + } + + /** + * Inserts an Entity into the EntityList. + * @param anEntity The entity to be inserted. + */ + + public void add (Entity anEntity) { + if (anEntity!=null) + theEntityArrayList.add(anEntity); + else + theLog.printWarning("EntityList: add called with empty Entity"); + } + + + /** + * @return The number of Entities in the EntityList. + */ + + public int size() { + return theEntityArrayList.size(); + } + + + /** + * Returns the element at position i in the EntityList as Entity + * @param i the position of the element in question + * @return The element at position i. + */ + + public Entity elementAt(int i) { + /** @todo check if i is in list.size() */ + return (Entity)theEntityArrayList.get(i); + } + + + // The following methods have to be implemented + // for this class to be an implementation of the + // TemplateListModel of the Freemarker packages + + public TemplateModel get(int i) { return elementAt(i); } + public boolean isRewound() { return (freemarkerListPointer==-1) ? true : false; } + public void rewind() { freemarkerListPointer=-1; } + + public TemplateModel next() { + if (hasNext()) { + freemarkerListPointer++;return get(freemarkerListPointer); } + else return null; + } + + + /** + * Returns whether there is a next element + * @return true if there is a next element, else false + */ + + public boolean hasNext() { + return theEntityArrayList.size()>0 && freemarkerListPointer+2<=theEntityArrayList.size(); + } + + + /** + * Returns whether EntityList is empty or not + * @return true in case of empty list, false otherwise + */ + + public boolean isEmpty() { + if (theEntityArrayList!=null) + return theEntityArrayList.size()<1 ; + else return false; + } } diff --git a/source/mir/entity/EntityRelation.java b/source/mir/entity/EntityRelation.java index fa7e0652..586d0f40 100755 --- a/source/mir/entity/EntityRelation.java +++ b/source/mir/entity/EntityRelation.java @@ -45,20 +45,6 @@ public class EntityRelation { } /** - * @return Liefert ein freemarker.template.SimpleHash mit den verknuepften - * Entities, wenn es sich um eine TO_ONE Beziehung handelt, ansonsten - * null. - */ - - public Entity getOneAsSimpleHash(Entity entity) throws StorageObjectException { - if (type==TO_ONE) { - Entity returnEntity = (Entity)getOne(entity); - if (returnEntity!=null) return returnEntity; - } - return null; - } - - /** * @return Liefert eine freemarker.template.SimpleList mit den verknuepften * Entities, wenn es sich um eine TO_MANY Liste handelt, ansonsten * null. @@ -98,54 +84,7 @@ public class EntityRelation { } /** - * @return Liefert eine freemarker.template.SimpleList mit den verknuepften - * Entities, wenn es sich um eine TO_MANY Liste handelt, ansonsten - * null. - */ - - public SimpleList getManyAsSimpleList(Entity entity) - throws StorageObjectException { - - if (type==TO_MANY) { - EntityList returnList = getMany(entity); - if (returnList!=null) return HTMLTemplateProcessor.makeSimpleList(returnList); - } - return null; - } - - /** - * @return Liefert eine freemarker.template.SimpleList mit den verknuepften - * Entities, wenn es sich um eine TO_MANY Liste handelt, ansonsten - * null. - */ - - public SimpleList getManyAsSimpleList(Entity entity, String order) - throws StorageObjectException { - - if (type==TO_MANY) { - EntityList returnList = getMany(entity, order); - if (returnList!=null) return HTMLTemplateProcessor.makeSimpleList(returnList); - } - return null; - } - - /** - * @return Liefert eine freemarker.template.SimpleList mit den verknuepften - * Entities, wenn es sich um eine TO_MANY Liste handelt, ansonsten - * null. - */ - - public SimpleList getManyAsSimpleList(Entity entity, String order, String whereClause) - throws StorageObjectException { - - if (type==TO_MANY) { - EntityList returnList = getMany(entity, order, whereClause); - if (returnList!=null) return HTMLTemplateProcessor.makeSimpleList(returnList); - } - return null; - } - /** - * @return Liefert den Referenznamen der abhaengigen Tabelle + * @return The reference name of the related table. */ public String getName() { diff --git a/source/mir/entity/GenericEntity.java b/source/mir/entity/GenericEntity.java index a52015bc..d183407d 100755 --- a/source/mir/entity/GenericEntity.java +++ b/source/mir/entity/GenericEntity.java @@ -4,15 +4,15 @@ package mir.entity; /** - * Standard-Entity-Container. Wenn keine Zusatzfunktionalitaeten für die Kapselung einer - * Datenbankzeile nötig sind, d.h. zu einem Database-Objekt keine eigene Entity-Klasse - * implementiert wird, so wird dieser Standard-Container verwendet. + * Standard Entity container. + * If no additional functionality is neccessary for the encapsulation + * of a database row, i.e. no separate Entity class is implemented + * for a database object, this standard container is used. * * @author /rk * @version 1.2 */ -public class GenericEntity extends Entity - {} +public class GenericEntity extends Entity {} diff --git a/source/mir/media/MediaHandlerImages.java b/source/mir/media/MediaHandlerImages.java deleted file mode 100755 index 3a4365e7..00000000 --- a/source/mir/media/MediaHandlerImages.java +++ /dev/null @@ -1,162 +0,0 @@ - -package mir.media; - -import java.lang.*; -import java.io.*; -import java.util.*; -import java.lang.reflect.*; - -import mir.misc.*; -import mir.entity.*; - -/** - * This class handles saving, fetching creating representations - * for all images. The image content is stored in the DB. The content is - * written out to a file at the ProducerImages level. - * Remember that Handlers for specific image types, Gif, Jpeg, etc.. - * should override it. - * It implements the MirMedia interface. - *

- * ok. this is a big hack, it's cause putting the image in the DB - * and fetching it from the DB needs low level db connections for - * some reason. Does anyone know how to get around this? - * -mh 25.09.2001 - * - * @see mir.media.MirMedia - * @author mh - * @version 24.09.2001 - */ - - -public class MediaHandlerImages -{ - protected final String WEBDB_JPG="0"; - protected final String WEBDB_GIF="1"; - - protected String imageType="0"; - private Logfile theLog = Logfile.getInstance(this.getClass().getName()); - - public byte[] get(Entity ent, Entity mediaTypeEnt) - { - byte[] image_data = null; - - try { - Method method = ent.getClass().getMethod("getImage",null); - image_data = (byte[])method.invoke(ent, null); - } catch ( NoSuchMethodException e) { - theLog.printDebugInfo("method lookup unsuccesful: "+e.toString()); - } catch ( IllegalAccessException e) { - theLog.printDebugInfo("method illegal: "+e.toString()); - } catch ( InvocationTargetException e) { - theLog.printDebugInfo("get: invocation target illegal: "+e.toString()); - } - - - return image_data; - } - - protected boolean set(byte[] uploadData, Entity ent, Entity mediaTypeEnt) - { - try { - Class[] params = {byte[].class, String.class}; - theLog.printDebugInfo("NAME: "+ent.getClass().getName()+" "+ - mediaTypeEnt.getClass().getName()+" "+uploadData.length+" "+ - imageType); - Method method = ent.getClass().getMethod("setImage",params); - method.invoke(ent, new Object[] {uploadData, imageType}); - } catch ( NoSuchMethodException e) { - theLog.printDebugInfo("method lookup unsuccesful: "+e.toString()); - return false; - } catch ( IllegalAccessException e) { - theLog.printDebugInfo("method illegal: "+e.toString()); - return false; - } catch ( InvocationTargetException e) { - theLog.printDebugInfo("set: invocation target illegal: "+e.toString()); - return false; - } - //deref. -mh - uploadData=null; - - return true; - } - - public byte[] getIcon(Entity ent) - { - byte[] icon_data = null; - - try { - Method method = ent.getClass().getMethod("getIcon",null); - icon_data = (byte[])method.invoke(ent, null); - } catch ( NoSuchMethodException e) { - theLog.printDebugInfo("method lookup unsuccesful: "+e.toString()); - } catch ( IllegalAccessException e) { - theLog.printDebugInfo("method illegal: "+e.toString()); - } catch ( InvocationTargetException e) { - theLog.printDebugInfo("getIcon: invocation target illegal: "+e.toString()); - } - - return icon_data; - } - - public String getURL(Entity ent, Entity mediaTypeEnt) - { - String title = ent.getValue("title"); - return StringUtil.createIMGLinks(ent.getValue("publish_server")+ - ent.getValue("publish_path"), title, ent.getValue("img_height"), - ent.getValue("img_width")); - } - - public String getListView(Entity ent, Entity mediaTypeEnt) - { - //String title = ent.getValue("title"); - return StringUtil.createIMGLinks( MirConfig.getProp("Producer.ProductionHost")+ - ent.getValue("icon_path"), null, ent.getValue("icon_height"), - ent.getValue("icon_width")); - } - - public String getStoragePath() - { - return MirConfig.getProp("Producer.Image.Path"); - } - - public String getIconStoragePath() - { - return MirConfig.getProp("Producer.Image.IconPath"); - } - - public String getPublishHost() - { - return MirConfig.getProp("Producer.Image.Host"); - } - - public String getTinyIcon () - { - return MirConfig.getProp("Producer.Icon.TinyImage"); - } - - public String getBigIcon () - { - return MirConfig.getProp("Producer.Icon.BigImage"); - } - - public String getIconAlt () - { - return "Image"; - } - - public boolean isVideo () - { - return false; - } - - public boolean isAudio () - { - return false; - } - - public boolean isImage () - { - return true; - } - -} diff --git a/source/mir/media/MediaHandlerImagesGif.java b/source/mir/media/MediaHandlerImagesGif.java deleted file mode 100755 index 0b22412e..00000000 --- a/source/mir/media/MediaHandlerImagesGif.java +++ /dev/null @@ -1,30 +0,0 @@ - -package mir.media; - -import java.lang.*; -import java.io.*; -import java.util.*; -import java.sql.*; - -import mir.entity.*; - -/** - * This class handles saving, fetching creating representations - * for gif images. it overrides MediaHandlerImages. - * - * @see mir.media.MediaHandlerImages - * @see mir.media.MirMedia - * @author mh - * @version 24.09.2001 - */ - - -public class MediaHandlerImagesGif extends MediaHandlerImages implements MirMedia -{ - - public boolean set(byte[] uploadData, Entity ent, Entity mediaTypeEnt) - { - imageType = WEBDB_GIF; - return super.set(uploadData, ent, mediaTypeEnt); - } -} diff --git a/source/mir/media/MediaHandlerImagesJpeg.java b/source/mir/media/MediaHandlerImagesJpeg.java deleted file mode 100755 index ff01abc6..00000000 --- a/source/mir/media/MediaHandlerImagesJpeg.java +++ /dev/null @@ -1,29 +0,0 @@ - -package mir.media; - -import java.lang.*; -import java.io.*; -import java.util.*; -import java.sql.*; - -import mir.entity.*; - -/** - * This class handles saving, fetching creating representations - * for jpeg images. it overrides MediaHandlerImages. - * - * @see mir.media.MediaHandlerImages - * @see mir.media.MirMedia - * @author mh - * @version 24.09.2001 - */ - - -public class MediaHandlerImagesJpeg extends MediaHandlerImages implements MirMedia -{ - public boolean set(byte[] uploadData, Entity ent, Entity mediaTypeEnt) - { - imageType = WEBDB_JPG; - return super.set(uploadData, ent, mediaTypeEnt); - } -} diff --git a/source/mir/media/MediaHelper.java b/source/mir/media/MediaHelper.java new file mode 100755 index 00000000..ba33cbf0 --- /dev/null +++ b/source/mir/media/MediaHelper.java @@ -0,0 +1,53 @@ +package mir.media; + +import java.lang.reflect.*; +import java.lang.*; + +import mir.entity.Entity; +import mir.storage.Database; + + +/** + * helper class to resolve media handlers using reflection + * + * @author mh + * @version 2002 + */ + +public final class MediaHelper { + + static String _classPrefix = "mircoders.media.MediaHandler"; + + public static MirMedia getHandler( Entity mediaType ) + throws MirMediaException { + + MirMedia mediaHandler; + String handlerName = mediaType.getValue("classname"); + try { + Class handlerClass = Class.forName(_classPrefix+handlerName); + return mediaHandler = (MirMedia)handlerClass.newInstance(); + } catch (Exception e) { + throw new MirMediaException ("getHandler -- error in reflection " + +e.toString()); + } + } + + public static Database getStorage(Entity mediaType, String classPrefix) + throws MirMediaException { + + Database mediaStorage; + String storageName = mediaType.getValue("tablename"); + try { + Class storageClass = Class.forName(classPrefix+storageName); + Method m = storageClass.getMethod("getInstance", null); + return mediaStorage = (Database)m.invoke(null, null); + } catch (Exception e) { + throw new MirMediaException ("getStorage -- error in reflection " + +e.toString()); + } + } + +} + + + diff --git a/source/mir/media/MirMedia.java b/source/mir/media/MirMedia.java index 2a3a9b66..3597a1fc 100755 --- a/source/mir/media/MirMedia.java +++ b/source/mir/media/MirMedia.java @@ -72,7 +72,7 @@ public interface MirMedia{ * @return boolean, success/fail * @see mir.entity.Entity */ - public abstract boolean set (byte[] uploadedData, Entity ent, Entity mediaTypeEnt ); + public abstract boolean set (byte[] uploadedData, Entity ent, Entity mediaTypeEnt ) throws MirMediaException; /** * Get's the media data from storage and returns it as a byte array @@ -84,7 +84,8 @@ public interface MirMedia{ * @return byte[] * @see mir.entity.Entity */ - public abstract byte[] get (Entity ent, Entity mediaTypeEnt); + public abstract byte[] get (Entity ent, Entity mediaTypeEnt) + throws MirMediaException; /** * Pretty much like get() above. But get's the specific Icon @@ -93,7 +94,7 @@ public interface MirMedia{ * @return byte[] * @see mir.entity.Entity */ - public abstract byte[] getIcon (Entity ent); + public abstract byte[] getIcon (Entity ent) throws MirMediaException; /** * gets the final content representation for the media @@ -108,7 +109,8 @@ public interface MirMedia{ * @see mir.entity.Entity * @see mir.misc.StringUtil */ - public abstract String getURL (Entity ent, Entity mediaTypeEnt); + public abstract String getURL (Entity ent, Entity mediaTypeEnt) + throws MirMediaException; /** * gets the summary representation for the media @@ -123,7 +125,8 @@ public interface MirMedia{ * @see mir.entity.Entity * @see mir.misc.StringUtil */ - public abstract String getListView (Entity ent, Entity mediaTypeEnt); + public abstract String getListView (Entity ent, Entity mediaTypeEnt) + throws MirMediaException; /** * Returns the absolute filesystem path to where the media @@ -133,7 +136,7 @@ public interface MirMedia{ * @return String, the path. * @see mir.misc.MirConfig */ - public abstract String getStoragePath (); + public abstract String getStoragePath () throws MirMediaException; /** * Returns the *relative* filesystem path to where the media @@ -145,7 +148,7 @@ public interface MirMedia{ * @return String, the path. * @see mir.misc.MirConfig */ - public abstract String getIconStoragePath (); + public abstract String getIconStoragePath () throws MirMediaException; /** * Returns the base URL to that the media is accessible from @@ -153,12 +156,12 @@ public interface MirMedia{ * This is used in the Metadata stored in the DB and later on * ,the templates use it. * It is usually defined - * in the configuration wich is accessible through the MirConfig + * in the configuration witch is accessible through the MirConfig * class. * @return String, the base URL to the host. * @see mir.misc.MirConfig */ - public abstract String getPublishHost (); + public abstract String getPublishHost () throws MirMediaException; /** * Returns the file name of the Icon representing the media type. diff --git a/source/mir/media/MirMediaException.java b/source/mir/media/MirMediaException.java new file mode 100755 index 00000000..e87ff7df --- /dev/null +++ b/source/mir/media/MirMediaException.java @@ -0,0 +1,26 @@ +package mir.media; + +import java.lang.*; + +/* + * MirMediaException - + * + * @version 29.1.2002 + * @author mh + * + */ + +public final class MirMediaException extends Exception +{ + String msg; + + public MirMediaException(String msg) { + super(msg); + this.msg = msg; + } + + public String getMsg() { + return msg; + } +} + diff --git a/source/mir/misc/FileUtil.java b/source/mir/misc/FileUtil.java index 5a68e319..f9b3e7e2 100755 --- a/source/mir/misc/FileUtil.java +++ b/source/mir/misc/FileUtil.java @@ -30,7 +30,6 @@ public final class FileUtil { static { System.setProperty("content.types.user.table", MirConfig.getProp("Home")+"content-types.properties"); - System.err.println("DDD: "+MirConfig.getProp("Home")+"content-types.properties"); fileNameMap = sun.net.www.MimeTable.loadTable(); producerStorageRoot = MirConfig.getProp("Producer.StorageRoot"); } @@ -41,7 +40,8 @@ public final class FileUtil { private FileUtil () { } - public static boolean write(String filename, byte[] in) { + public static boolean write(String filename, byte[] in) + throws IOException { boolean retVal = false; @@ -57,12 +57,15 @@ public final class FileUtil { outStream.write(in); outStream.close(); retVal = true; - } catch(IOException exception) {} + } catch(IOException e) { + throw new IOException(e.toString()); + } } return retVal; } - public static boolean read(String filename, byte out[]) { + public static boolean read(String filename, byte out[]) + throws IOException { File f = null; f = new File(filename); @@ -75,8 +78,8 @@ public final class FileUtil { inStream = new FileInputStream(f); inStream.read(out); inStream.close(); - } catch(IOException exception) { - return false; + } catch(IOException e) { + throw new IOException(e.toString()); } } else { return false; @@ -117,9 +120,8 @@ public final class FileUtil { public static String guessContentTypeFromName(String fname) { String contentType = null; - System.err.println("NAME: "+fname); contentType = getFileNameMap().getContentTypeFor(fname); - System.err.println("TYPE: "+contentType); + return contentType; } diff --git a/source/mir/misc/HTMLTemplateProcessor.java b/source/mir/misc/HTMLTemplateProcessor.java index 1e47adc7..1abaae5d 100755 --- a/source/mir/misc/HTMLTemplateProcessor.java +++ b/source/mir/misc/HTMLTemplateProcessor.java @@ -38,23 +38,21 @@ public final class HTMLTemplateProcessor { // init static { - + /** @todo either in the above block or here :) //rk */ templateDir = MirConfig.getPropWithHome("HTMLTemplateProcessor.Dir"); templateCache = new FileTemplateCache(templateDir); templateCache.setLoadingPolicy(templateCache.LOAD_ON_DEMAND); - // gone in freemarker 1.71 + // gone in freemarker 1.7.1 // templateCache.startAutoUpdate(); - + theLog = Logfile.getInstance(MirConfig.getPropWithHome("HTMLTemplateProcessor.Logfile")); docRoot = MirConfig.getProp("RootUri"); - theLog=Logfile.getInstance("HTMLTemplateProcessor"); - //the quick hack is back in effect as it was more broken than ever before // -mh // sorry: nadir back in town, i have to debug the mirbase.jar in the // nadir evironment. from my point of coding, this needs an urgent // fixxx. // yeah, from my point too - tob. - //actionRoot = docRoot + "/servlet/" + MirConfig.getProp("ServletName"); + //actionRoot = docRoot + "/servlet/" + MirConfig.getProp("ServletName"); //actionRoot = docRoot + "/servlet/NadirAktuell"; actionRoot = docRoot + "/servlet/Mir"; @@ -71,7 +69,7 @@ public final class HTMLTemplateProcessor { /** * empty private constructor, to avoid instantiation */ - private HTMLTemplateProcessor () {} + private HTMLTemplateProcessor () { } // process-methods to merge different datastructures @@ -200,6 +198,10 @@ public final class HTMLTemplateProcessor { session=res.encodeURL(""); } + /** @todo why do we double those? should be cleaned up and + * statically initialized, we do not need to assemble a config + * hash everytime we give out a page, only exception is + * date "now" // rk */ // put standard configuration into tempalteRootmodel SimpleHash configHash = new SimpleHash(); configHash.put("docroot", new SimpleScalar(producerDocRoot)); @@ -217,6 +219,8 @@ public final class HTMLTemplateProcessor { tmr.put("videoHost", new SimpleScalar(videoHost)); tmr.put("audioHost", new SimpleScalar(audioHost)); tmr.put("imageHost", new SimpleScalar(imageHost)); + // this conform to updated freemarker syntax + tmr.put("compressWhitespace", new freemarker.template.utility.CompressWhitespace() ); tmr.put("config", configHash); tmpl.process(tmr, out); @@ -228,9 +232,12 @@ public final class HTMLTemplateProcessor { * Converts Entity-List to SimpleList of SimpleHashes. * @param aList ist eine Liste von Entity * @return eine freemarker.template.SimpleList von SimpleHashes. + * + * @deprecated EntityLists comply with TemplateListModel now. */ public static SimpleList makeSimpleList(EntityList aList) throws StorageObjectException { + theLog.printWarning("## using deprecated makeSimpleList(entityList) - a waste of resources"); SimpleList simpleList = new SimpleList(); if (aList != null) { for(int i=0;i/ - * getrennt ist. - * - * @param webdbDate - * @return String mit /yyyy/mm/dd - */ - public static final String webdbDate2path (String webdbDate) { - StringBuffer path = new StringBuffer(); - path.append("/").append(webdbDate.substring(0, 4)); - path.append("/").append(webdbDate.substring(4, 6)); - path.append("/"); - //who did this? - //path.append("/").append(webdbDate.substring(6, 8)); - return path.toString(); - } - - /** - * wandelt Calendar in dd.mm.yyyy um - * - * @param theDate - * @return String mit dd.mm.yyyy - */ - public static final String webdbDate2readableDate (String webdbDate) { - String date = ""; - date += webdbDate.substring(6, 8); - date += "." + webdbDate.substring(4, 6); - date += "." + webdbDate.substring(0, 4); - return date; - } - - - /** - * converts string from format: yyyy-mm-dd__hh:mm:ss.d - * to dd.mm.yyyy hh:mm - */ - public static String dateToReadableDate(String date) { - StringBuffer returnDate = new StringBuffer(); - if (date!=null) { - - returnDate.append(date.substring(8,10)).append('.'); - returnDate.append(date.substring(5,7)).append('.'); - returnDate.append(date.substring(0,4)).append(' '); - returnDate.append(date.substring(11,16)); - } - return returnDate.toString(); - } - - - /** - * schließt einen String in Anführungsszeichen ein, falls er Leerzeichen o.ä. enthält - * - * @return gequoteter String - */ - public static String quoteIfNecessary(String s) { - for (int i = 0; i < s.length(); i++) - if (!(Character.isLetterOrDigit(s.charAt(i)) || s.charAt(i) == '.')) - return quote(s, '"'); - return s; - } - - /** - * schließt s in ' ein und setzt Backslashes vor - * "gefährliche" Zeichen innerhalb des Strings - * Quotes special SQL-characters in s - * - * @return geqoteter String - */ - public static String quote(String s) - { - //String s2 = quote(s, '\''); - - //Quickhack - //Because of '?-Bug in Postgresql-JDBC-Driver - StringBuffer temp = new StringBuffer(); - for(int i=0;is in ' ein und setzt Backslashes vor - * "gefährliche" Zeichen innerhalb des Strings - * - * @param s String, der gequoted werden soll - * @param quoteChar zu quotendes Zeichen - * @return gequoteter String - */ - public static String quote(String s, char quoteChar) - { - StringBuffer buf = new StringBuffer(s.length()); - int pos = 0; - while (pos < s.length()) { - int i = s.indexOf(quoteChar, pos); - if (i < 0) i = s.length(); - buf.append(s.substring(pos, i)); - pos = i; - if (pos < s.length()) { - buf.append('\\'); - buf.append(quoteChar); - pos++; - } - } - return buf.toString(); - } - - /** - * replaces dangerous characters in s - * - */ - - public static String unquote(String s) - { - char quoteChar='\''; - StringBuffer buf = new StringBuffer(s.length()); - int pos = 0; - String searchString = "\\"+quoteChar; - while (pos < s.length()) { - int i = s.indexOf(searchString, pos); - if (i < 0) i = s.length(); - buf.append(s.substring(pos, i)); - pos = i+1; - } - return buf.toString(); - } - - /** - * Wandelet String in byte[] um. - * @param s - * @return byte[] des String - */ - - public static byte[] stringToBytes(String s) { - String crlf = System.getProperty("line.separator"); - if (!crlf.equals("\n")) - s = replace(s, "\n", crlf); - // byte[] buf = new byte[s.length()]; - byte[] buf = s.getBytes(); - return buf; - } - - /** - * Ersetzt in String s das pattern durch substitute - * @param s - * @param pattern - * @param substitute - * @return String mit den Ersetzungen - */ - public static String replace(String s, String pattern, String substitute) { - int i = 0, pLen = pattern.length(), sLen = substitute.length(); - StringBuffer buf = new StringBuffer(s.length()); - while (true) { - int j = s.indexOf(pattern, i); - if (j < 0) { - buf.append(s.substring(i)); - break; - } else { - buf.append(s.substring(i, j)); - buf.append(substitute); - i = j+pLen; - } - } - return buf.toString(); - } - - /** - * Ersetzt in String s das Regexp pattern durch substitute - * @param s - * @param pattern - * @param substitute - * @return String mit den Ersetzungen - */ - public static String regexpReplace(String haystack, String pattern, String substitute) { - try { - RE regex = new RE(pattern); - return regex.substituteAll(haystack,substitute); - } catch(REException ex){ - return null; - } - } - - - - - /** - * Fügt einen Separator an den Pfad an - * @param path - * @return Pfad mit Separator am Ende - */ - public static final String addSeparator (String path) { - return path.length() == 0 || path.endsWith(File.separator) ? path : path - + File.separatorChar; - } - - /** - * Fügt ein / ans ende des Strings and - * @param path - * @return Pfad mit / am Ende - */ - public static final String addSlash (String path) { - return path.length() == 0 || path.endsWith("/") ? path : path + '/'; - } - - /** - * Löscht / am Ende des Strings, falls vorhanden - * @param path - * @return String ohne / am Ende - */ - public static final String removeSlash (String path) { - return path.length() > 1 && path.endsWith("/") ? path.substring(0, path.length() - - 1) : path; - } - - /** - * Checks to see if the path is absolute by looking for a leading file - * separater - * @todo deal with windows drive letters. - * @param path - * @return - */ - public static boolean isAbsolutePath (String path) { - return path.startsWith(File.separator); - } - - /** - * Löscht Slash am Anfang des Strings - * @param path - * @return - */ - public static String removeFirstSlash (String path) { - return path.startsWith("/") ? path.substring(1) : path; - } - - /** - * formatiert eine Zahl (0-99) zweistellig (z.B. 5 -> 05) - * @return zwistellige Zahl - */ - public static String pad2 (int number) { - return number < 10 ? "0" + number : String.valueOf(number); - } - - /** - * formatiert eine Zahl (0-999) dreistellig (z.B. 7 -> 007) - * - * @return 3-stellige Zahl - */ - public static String pad3 (int number) { - return number < 10 ? "00" + number : number < 100 ? "0" + number : String.valueOf(number); - } - - /** - * Konvertiert Unix-Linefeeds in Win-Linefeeds - * @param s - * @return Konvertierter String - */ - public static String unixLineFeedsToWin(String s) { - int i = -1; - while (true) { - i = s.indexOf('\n', i+1); - if (i < 0) break; - if ((i == 0 || s.charAt(i-1) != '\r') && - (i == s.length()-1 || s.charAt(i+1) != '\r')) { - s = s.substring(0, i)+'\r'+s.substring(i); - i++; - } - } - return s; - } - - - /** - * verwandelt einen String in eine gültige Url, konvertiert Sonderzeichen - * und Spaces werden zu Underscores - * - * @return gültige Url - */ - public static String convert2url(String s) { - s = toLowerCase(s); - StringBuffer buf = new StringBuffer(); - for(int i = 0; i < s.length(); i++ ) { - switch( s.charAt( i ) ) { - case 'ö': - buf.append( "oe" ); break; - case 'ä': - buf.append( "ae" ); break; - case 'ü': - buf.append( "ue" ); break; - case 'ã': - buf.append( "a" ); break; - case '´': - case '.': - buf.append( "_" ); break; - case ' ': - if( buf.charAt( buf.length() - 1 ) != '_' ) { - buf.append( "_" ); - } - break; - default: - buf.append( s.charAt( i ) ); - } - } - return buf.toString(); - } - - /** - * wandelt Sonderzeichen in Quotes um - * - * @return Kovertierter String - */ - public static String encodeHtml(String s) { - StringBuffer buf = new StringBuffer(); - for(int i=0;i < s.length(); i++ ) { - - /** @todo looks inefficient */ - if (s.charAt(i)=='&') { - // convert html to xml-parsable representation - if( s.indexOf( "ö", i ) == i ) { - buf.append( "ö" ); i += 5; - continue; - } - if( s.indexOf( "ä", i ) == i ) { - buf.append( "ä" ); i += 5; - continue; - } - if( s.indexOf( "ü", i ) == i ) { - buf.append( "ü" ); i += 5; - continue; - } - if( s.indexOf( "Ö", i ) == i ) { - buf.append( "Ö" ); i += 5; - continue; - } - if( s.indexOf( "Ä", i ) == i ) { - buf.append( "Ä" ); i += 5; - continue; - } - if( s.indexOf( "Ü", i ) == i ) { - buf.append( "Ü" ); i += 5; - continue; - } - if( s.indexOf( "ß", i ) == i ) { - buf.append( "ß" ); i += 6; - continue; - } - - /** @todo should only escape outside of tags */ - - if( s.indexOf( """, i ) == i ) { - buf.append( "ß" ); i += 5; - continue; - } - if( s.indexOf( "–", i ) == i ) { - buf.append( "–" ); i += 6; - continue; - } - if( s.indexOf( "—", i ) == i ) { - buf.append( "—" ); i += 6; - continue; - } - if( s.indexOf( "“", i ) == i ) { - buf.append( "“" ); i += 6; - continue; - } - if( s.indexOf( "”", i ) == i ) { - buf.append( "”" ); i += 6; - continue; - } - if( s.indexOf( "„", i ) == i ) { - buf.append( "„" ); i += 6; - continue; - } - - //looks pretty stupid - if( s.indexOf( "<", i ) == i ) { - buf.append( "<" ); i += 3; - continue; - } - if( s.indexOf( ">", i ) == i ) { - buf.append( ">" ); i += 3; - continue; - } - if( s.indexOf( "´", i ) == i ) { - buf.append( "´" ); i += 6; - continue; - } - if( s.indexOf( " ", i ) == i ) { - buf.append( " " ); i += 5; - continue; - } - //has to be the last - if( s.indexOf( "&", i ) == i ) { - buf.append( "&" ); i += 0; - continue; - } - } - // convert umlauts an other special charakters - switch( s.charAt(i) ) { - case 'ö': buf.append( "ö" ); break; - case 'ä': buf.append( "ä" ); break; - case 'ü': buf.append( "ü" ); break; - case 'Ö': buf.append( "Ö" ); break; - case 'Ä': buf.append( "Ä" ); break; - case 'Ü': buf.append( "Ü" ); break; - case 'ß': buf.append( "ß" ); break; - case 'é': buf.append( "é" ); break; - case 'è': buf.append( "è" ); break; - case 'á': buf.append( "á" ); break; - case 'à': buf.append( "à" ); break; - case 'â': buf.append( "â" ); break; - case 'ã': buf.append( "ã" ); break; - case '¬': buf.append( "¬" ); break; - case '¹': buf.append( "¹" ); break; - case '²': buf.append( "²" ); break; - case '³': buf.append( "³" ); break; - case '¼': buf.append( "¼" ); break; - case '½': buf.append( "½" ); break; - case '¾': buf.append( "¾" ); break; - case '¶': buf.append( "¶" ); break; - case 'æ': buf.append( "æ" ); break; - case 'ð': buf.append( "ð" ); break; - case '|': buf.append( "¦" ); break; - case '·': buf.append( "·" ); break; - case '°': buf.append( "°" ); break; - case '§': buf.append( "§" ); break; - case 'ø': buf.append( "ø" ); break; - case 'ç': buf.append( "ç" ); break; - case '¤': buf.append( "¤" ); break; - case 'ª': buf.append( "ª" ); break; - case 'Ç': buf.append( "Ç" ); break; - case 'Ã': buf.append( "Ã" ); break; - case 'Â': buf.append( "Â" ); break; - case 'Æ': buf.append( "Æ" ); break; - case '©': buf.append( "©" ); break; - case '®': buf.append( "®" ); break; - case '¥': buf.append( "¥" ); break; - case 'Þ': buf.append( "þ" ); break; - case '¯': buf.append( "¯" ); break; - case 'Ð': buf.append( "Ð" ); break; - case 'º': buf.append( "º" ); break; - case '¡': buf.append( "¡" ); break; - case '£': buf.append( "£" ); break; - case '±': buf.append( "±" ); break; - case '¿': buf.append( "¿" ); break; - case 'Ø': buf.append( "Ø" ); break; - case 'Á': buf.append( "À" ); break; - case 'À': buf.append( "Á" ); break; - case 'É': buf.append( "È" ); break; - case 'È': buf.append( "É" ); break; - case 'ù': buf.append( "ú" ); break; - case 'ñ': buf.append( "ñ" ); break; - case 'Ñ': buf.append( "Ñ" ); break; - case 'µ': buf.append( "µ" ); break; - case 'Í': buf.append( "Ì" ); break; - case 'Ì': buf.append( "Í" ); break; - case 'í': buf.append( "ì" ); break; - case 'ì': buf.append( "í" ); break; - case 'î': buf.append( "î" ); break; - case 'Î': buf.append( "Î" ); break; - case 'ó': buf.append( "ó" ); break; - case 'Ó': buf.append( "Ò" ); break; - case 'ò': buf.append( "Î" ); break; - case 'Ò': buf.append( "Ó" ); break; - case 'ô': buf.append( "ô" ); break; - case 'Ô': buf.append( "Ô" ); break; - case 'õ': buf.append( "õ" ); break; - case 'Õ': buf.append( "Õ" ); break; - case 'ý': buf.append( "ý" ); break; - case 'Ý': buf.append( "Ý" ); break; - case 'û': buf.append( "û" ); break; - case 'Û': buf.append( "Û" ); break; - case 'ú': buf.append( "ù" ); break; - case 'Ú': buf.append( "Ù" ); break; - case 'Ù': buf.append( "Ú" ); break; - case 'Ê': buf.append( "Ê" ); break; - case 'ê': buf.append( "ê" ); break; - case 'å': buf.append( "å" ); break; - case 'Å': buf.append( "Å" ); break; - case 'ë': buf.append( "ë" ); break; - case 'Ë': buf.append( "Ë" ); break; - case 'ÿ': buf.append( "ÿ" ); break; - case 'ï': buf.append( "ï" ); break; - case 'Ï': buf.append( "Ï" ); break; - case '«': buf.append( "«" ); break; - case '»': buf.append( "»" ); break; - case '\'': buf.append( "´" ); break; - case '\"': buf.append( """ ); break; - //case '\u8211': buf.append( "–" ); break; - //case '\u8212': buf.append( "—" ); break; - //case '\u8220': buf.append( "“" ); break; - //case '\u8221': buf.append( "”" ); break; - //case '\u8222': buf.append( "„" ); break; - //case '\"': buf.append( """ ); break; - default: buf.append( s.charAt(i) ); - } - - } - return buf.toString(); - } - - - public static String decodeHTMLinTags(String s){ - StringBuffer buffer = new StringBuffer(); - boolean start = false; - boolean stop = false; - int startIndex = 0; - int stopIndex = 0; - int temp = 0; - - for(int i=0;i'){ - stop = true; - stopIndex = i; - - if(start && stop){ - buffer.append(s.substring(temp,startIndex)); - buffer.append(replaceQuot(s.substring(startIndex,stopIndex+1))); - i= temp= stopIndex+1; - start= stop= false; - } - } - } - if(stopIndex>0){ - buffer.append(s.substring(stopIndex+1)); - return buffer.toString(); - } else { - return s; - } - } - - public static String replaceQuot(String s) { - StringBuffer buffer = new StringBuffer(); - for(int j = 0; j < s.length();j++){ - if(s.charAt(j)=='&'){ - if(s.indexOf( """,j) == j) { - buffer.append( "\"" ); - j += 5; - }//if - } else { - buffer.append(s.charAt(j)); - }//else - }//for - return buffer.toString(); - } - - /** wandelt Quotes in Sonderzeichen um - */ - /** - public static String decodeHtml(String s) { - StringBuffer buf = new StringBuffer(); - for(int i=0;i < s.length(); i++ ) { - if( s.indexOf( "ö", i ) == i ) { - buf.append( "ö" ); i += 5; - continue; - } - if( s.indexOf( "ä", i ) == i ) { - buf.append( "ä" ); i += 5; - continue; - } - if( s.indexOf( "ü", i ) == i ) { - buf.append( "ü" ); i += 5; - continue; - } - if( s.indexOf( "Ö", i ) == i ) { - buf.append( "Ö" ); i += 5; - continue; - } - if( s.indexOf( "Ä", i ) == i ) { - buf.append( "Ä" ); i += 5; - continue; - } - if( s.indexOf( "Ü", i ) == i ) { - buf.append( "Ü" ); i += 5; - continue; - } - if( s.indexOf( "ß", i ) == i ) { - buf.append( "ß" ); i += 6; - continue; - } - if( s.indexOf( """, i ) == i ) { - buf.append( "\"" ); i += 5; - continue; - } - buf.append( s.charAt(i) ); - } - return buf.toString(); - } - */ - - /** - * schnellere Variante der String.toLowerCase()-Routine - * - * @return String in Kleinbuchsten - */ - public static String toLowerCase(String s) { - int l = s.length(); - char[] a = new char[l]; - for (int i = 0; i < l; i++) - a[i] = Character.toLowerCase(s.charAt(i)); - return new String(a); - } - - /** - * Findet element im String-Array array - * @param array - * @param element - * @return Fundstelle als int oder -1 - */ - public static int indexOf(String[] array, String element) { - if (array != null) - for (int i = 0; i < array.length; i++) - if (array[i].equals(element)) - return i; - return -1; - } - - /** - * Testet auf Vorkommen von element in array - * @param array String-Array - * @param element - * @return true wenn element vorkommt, sonst false - */ - public static boolean contains(String[] array, String element) { - return indexOf(array, element) >= 0; - } - - /** - * Ermittelt CRC-Prüfsumme von String s - * @param s - * @return CRC-Prüfsumme - */ - public static int getCRC(String s) { - int h = 0; - char val[] = s.toCharArray(); - int len = val.length; - - for (int i = 0 ; i < len; i++) { - h &= 0x7fffffff; - h = (((h >> 30) | (h << 1)) ^ (val[i]+i)); - } - - return (h << 8) | (len & 0xff); - } + private static RE re_newline2br, re_brbr2p, re_mail, re_url, re_tags; + + private StringUtil() { } // this avoids contruction + + static { + try { + //precompile regex + re_newline2br = new RE("(\r?\n){1}"); + re_brbr2p = new RE("(
\r?\n
){1,}"); + re_mail = new RE("([a-zA-Z0-9_.-]+)@([a-zA-Z0-9_-]+).([a-zA-Z0-9_.-]+)"); + re_url = new RE("((https://)|(http://)|(ftp://)){1}([a-zA-Z0-9_-]+).([a-zA-Z0-9_.:-]+)/?([^ \t\r\n<>\\)\\]]+[^ \t\r\n.,<>\\)\\]])"); + re_tags = new RE("<[^>]*>",RE.REG_ICASE); + } + catch (REException e){ + System.err.println("FATAL: StringUtil: could not precompile REGEX: "+e.toString()); + } + } + + + /** + * Wandelt Datum in einen 8-ziffrigen String um (yyyymmdd) + * @param theDate + * @return 8-ziffriger String (yyyymmdd) + */ + + public static final String date2webdbDate (GregorianCalendar theDate) { + StringBuffer webdbDate = new StringBuffer(); + webdbDate.append(String.valueOf(theDate.get(Calendar.YEAR))); + webdbDate.append(pad2(theDate.get(Calendar.MONTH) + 1)); + webdbDate.append(pad2(theDate.get(Calendar.DATE))); + return webdbDate.toString(); + } + + /** + * Wandelt Calendar in einen 12-ziffrigen String um (yyyymmddhhmm) + * @param theDate + * @return 12-ziffriger String (yyyymmdd) + */ + + public static final String date2webdbDateTime (GregorianCalendar theDate) { + StringBuffer webdbDate = new StringBuffer(); + webdbDate.append(String.valueOf(theDate.get(Calendar.YEAR))); + webdbDate.append(pad2(theDate.get(Calendar.MONTH) + 1)); + webdbDate.append(pad2(theDate.get(Calendar.DATE))); + webdbDate.append(pad2(theDate.get(Calendar.HOUR))); + webdbDate.append(pad2(theDate.get(Calendar.MINUTE))); + return webdbDate.toString(); + } + + /** + * wandelt Calendar in dd.mm.yyyy / hh.mm um + * @param theDate + * @return String mit (dd.mm.yyyy / hh.mm um) + */ + public static String date2readableDateTime (GregorianCalendar theDate) { + String readable = ""; + int hour; + readable += pad2(theDate.get(Calendar.DATE)); + readable += "." + pad2(theDate.get(Calendar.MONTH) + 1); + readable += "." + String.valueOf(theDate.get(Calendar.YEAR)); + hour = theDate.get(Calendar.HOUR); + if (theDate.get(Calendar.AM_PM) == Calendar.PM) + hour += 12; + readable += " / " + pad2(hour); + readable += ":" + pad2(theDate.get(Calendar.MINUTE)); + return readable; + } + + /** + * wandelt eine Datum in einen 8-buchstabigen String, der durch / + * getrennt ist. + * + * @param webdbDate + * @return String mit /yyyy/mm/dd + */ + public static final String webdbDate2path (String webdbDate) { + StringBuffer path = new StringBuffer(); + path.append("/").append(webdbDate.substring(0, 4)); + path.append("/").append(webdbDate.substring(4, 6)); + path.append("/"); + //who did this? + //path.append("/").append(webdbDate.substring(6, 8)); + return path.toString(); + } + + /** + * wandelt Calendar in dd.mm.yyyy um + * + * @param theDate + * @return String mit dd.mm.yyyy + */ + public static final String webdbDate2readableDate (String webdbDate) { + String date = ""; + date += webdbDate.substring(6, 8); + date += "." + webdbDate.substring(4, 6); + date += "." + webdbDate.substring(0, 4); + return date; + } + + + /** + * converts string from format: yyyy-mm-dd__hh:mm:ss.d + * to dd.mm.yyyy hh:mm + */ + public static String dateToReadableDate(String date) { + StringBuffer returnDate = new StringBuffer(); + if (date!=null) { + + returnDate.append(date.substring(8,10)).append('.'); + returnDate.append(date.substring(5,7)).append('.'); + returnDate.append(date.substring(0,4)).append(' '); + returnDate.append(date.substring(11,16)); + } + return returnDate.toString(); + } + + /** + * converts string from format: yyyy-mm-dd__hh:mm:ss.d + * to yyyy + */ + public static String dateToYear (String date) { + StringBuffer returnDate = new StringBuffer(); + if (date!=null) { + + returnDate.append(date.substring(0,4)); + } + return returnDate.toString(); + } + + /** + * converts string from format: yyyy-mm-dd__hh:mm:ss.d + * to [m]m + */ + public static String dateToMonth (String date) { + StringBuffer returnDate = new StringBuffer(); + if (date!=null) { + if (!date.substring(5,6).equalsIgnoreCase("0")) returnDate.append(date.substring(5,7)); + else returnDate.append(date.substring(6,7)); + } + return returnDate.toString(); + } + + /** + * converts string from format: yyyy-mm-dd__hh:mm:ss.d + * to [d]d + */ + public static String dateToDayOfMonth (String date) { + StringBuffer returnDate = new StringBuffer(); + if (date!=null) { + if (!date.substring(8,9).equalsIgnoreCase("0")) returnDate.append(date.substring(8,10)); + else returnDate.append(date.substring(9,10)); + } + return returnDate.toString(); + } + + /** + * converts string from format: yyyy-mm-dd__hh:mm:ss.d + * to hh:mm + */ + public static String dateToTime (String date) { + StringBuffer returnDate = new StringBuffer(); + if (date!=null) { + returnDate.append(date.substring(11,16)); + } + return returnDate.toString(); + } /** - * Liefert Default-Wert def zurück, wenn String s - * kein Integer ist. - * - * @param s - * @param def - * @return geparster int aus s oder def - */ - public static int parseInt(String s, int def) { - if (s == null) return def; - try { - return Integer.parseInt(s); - } catch (NumberFormatException e) { - return def; - } - } - - /** - * Liefert Defaultwert def zurück, wenn s nicht zu einem float geparsed werden kann. - * @param s - * @param def - * @return geparster float oder def - */ - public static float parseFloat(String s, float def) { - if (s == null) return def; - try { - return new Float(s).floatValue(); - } catch (NumberFormatException e) { - return def; - } - } - - /** - * Findet Ende eines Satzes in String text - * @param text - * @param startIndex - * @return index des Satzendes, oder -1 - */ - public static int findEndOfSentence(String text, int startIndex) { - while (true) { - int i = text.indexOf('.', startIndex); - if (i < 0) return -1; - if (i > 0 && !Character.isDigit(text.charAt(i-1)) && - (i+1 >= text.length() - || text.charAt(i+1) == ' ' - || text.charAt(i+1) == '\n' - || text.charAt(i+1) == '\t')) - return i+1; - startIndex = i+1; - } - } - - /** - * Findet Wortende in String text ab startIndex - * @param text - * @param startIndex - * @return Index des Wortendes, oder -1 - */ - public static int findEndOfWord(String text, int startIndex) { - int i = text.indexOf(' ', startIndex), - j = text.indexOf('\n', startIndex); - if (i < 0) i = text.length(); - if (j < 0) j = text.length(); - return Math.min(i, j); - } - - /** - * This routine makes html links (href) out of text browseable urls - * @param text - * @return Konvertierter String - */ - public static String makeLinks(String text) { - int i = 0; - StringBuffer buf = new StringBuffer(text.length()); - while (true) { - int j = text.indexOf("http://", i); - if (j < 0) { - buf.append(text.substring(i)); - break; - } else { - buf.append(text.substring(i, j)); - int k = findEndOfWord(text,j+7); - String url=""; - if (k<0) url = text.substring(j); - else url = text.substring(j,k); - - buf.append("
"+url+""); - //System.out.println("url mark: " + url); - i = j+url.length(); - } - } - return buf.toString(); - - } - - - /** - * convertNewline2P ist eine regex-routine zum umwandeln von 2 oder mehr newlines (\n) - * in den html-tag

- * nur sinnvoll, wenn text nicht im html-format eingegeben - */ - public static String convertNewline2P(String haystack) { - try { - RE regex = new RE("(
\r?\n
){1,}"); - return regex.substituteAll(haystack,"\n

"); - } catch(REException ex){ - return null; - } - } - - /** - * convertNewline2Break ist eine regex-routine zum umwandeln von 1 newline (\n) - * in den html-tag
- * nur sinnvoll, wenn text nicht im html-format eingegeben - */ - public static String convertNewline2Break(String haystack) { - try { - RE regex = new RE("(\r?\n){1}"); - return regex.substituteAll(haystack,"$0
"); - } catch(REException ex){ - return null; - } - } - - /** - * createMailLinks wandelt text im email-adressenformat - * in einen klickbaren link um - * nur sinnvoll, wenn text nicht im html-format eingegeben - */ - public static String createMailLinks(String haystack) { - try { - RE regex = new RE("([a-zA-Z0-9_.-]+)@([a-zA-Z0-9_-]+).([a-zA-Z0-9_.-]+)"); - return regex.substituteAll(haystack,"$0"); - } catch(REException ex){ - return null; - } - } - - - /** - * createMailLinks wandelt text im email-adressenformat - * in einen klickbaren link um - * nur sinnvoll, wenn text nicht im html-format eingegeben - */ - public static String createMailLinks(String haystack, String imageRoot, String mailImage) { - try { - RE regex = new RE("([a-zA-Z0-9_.-]+)@([a-zA-Z0-9_-]+).([a-zA-Z0-9_.-]+)"); - return regex.substituteAll(haystack," $0"); - } catch(REException ex){ - return null; - } - } - - - /** - * createURLLinks wandelt text im url-format - * in einen klickbaren link um - * nur sinnvoll, wenn text nicht im html-format eingegeben - */ - public static String createURLLinks(String haystack) { - try { - //dieser Ausdruck brauch dringend fachliche Beratung - RE regex = new RE("((https://)|(http://)|(ftp://))+([a-zA-Z0-9_-]+).([a-zA-Z0-9_.:-]+)/([^ \t\r\n<>]+[^ \t\r\n.,<>])"); - return regex.substituteAll(haystack,"$0"); - } catch(REException ex){ - return null; - } - } - - /** - * this routine takes text in url format and makes - * a clickaeble "" link removing any "illegal" html tags - * @param haystack, the url - * @param title, the href link text - * @param imagRoot, the place to find icons - * @param extImage, the url of the icon to show next to the link - * @return a String containing the url - */ - public static String createURLLinks(String haystack, String title, String imageRoot,String extImage) { - try { - //dieser Ausdruck brauch dringend fachliche Beratung - RE regex = new RE("((https://)|(http://)|(ftp://))+([a-zA-Z0-9_-]+).([a-zA-Z0-9_.:-]+)/?([^ \t\r\n<>]+[^ \t\r\n.,<>])"); - if (title == null) { - return regex.substituteAll(haystack," $0"); - } else { - title = removeHTMLTags(title); - return regex.substituteAll(haystack," "+title+""); - } - } catch(REException ex){ - return null; - } - } - - /** - * this routine takes text in url format and makes - * a clickaeble "" link removing any "illegal" html tags - * @param haystack, the url - * @param imageRoot, the place to find icons - * @param extImage, the url of the icon to show next to the link - * @param intImage, unused - * @return a String containing the url - */ - public static String createURLLinks(String haystack, String title, String imageRoot,String extImage,String intImage) { - return createURLLinks(haystack, title, imageRoot, extImage); - } - - /** - * this routine takes text in url format and makes - * an image link removing any "illegal" html tags - * @param haystack, the url - * @param title, the image alt text, can be null - * @param height, height of the image - * @param width, width of the image - * @return a String containing the url - */ - public static String createIMGLinks(String haystack, String title, String height,String width) { - try { - //dieser Ausdruck brauch dringend fachliche Beratung - RE regex = new RE("((https://)|(http://)|(ftp://))+([a-zA-Z0-9_-]+).([a-zA-Z0-9_.:-]+)/?([^ \t\r\n<>]+[^ \t\r\n.,<>])"); - if (title != null) { - title = removeHTMLTags(title); - return regex.substituteAll(haystack,"\""+title+"\"/ 
"+title+""); - } else { - return regex.substituteAll(haystack,"\"\"/ "); - } - } catch(REException ex){ - return null; - } - } - - - - /** - * deleteForbiddenTags - * this method deletes all - - - - - - - +indymedia.de | comment.commit + + +

+ - - - +
- + - - + - - + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - + + +
- Kommentierung eines Beiträgs bei Indymedia - + Kommentierung eines Beiträgs bei Indymedia +
- -

- Bitte respektiere die Meinungen anderer und bleibe beim - Thema des Artikels, den Du kommentierst und versuche, - präzise zu sein. -

- Indymedia ist grundsätzlich offen für alle Meinungen, - es sei denn sie haben faschistische, rassistische, - sexistische oder generell menschenverachtende Inhalte. - Bedenke bei Deinem Kommentar, dass die Leute, die hier - schreiben, nicht unbedingt einer Weltanschauung sind. - Darum beurteile sie auch nicht danach. Indymedia ist - für alle, die meinen, etwas zu sagen zu haben zu den - politischen und sozialen Verhältnissen auf der Welt. - Darum erwarten wir, dass Kommentar-SchreiberInnen - grundsätzlich solidarisch auf andere Meinungen - reagieren. Wir behalten uns vor, diffamierende - Aburteilungen und Beschimpfungen zu löschen. -

-
-
+

+ + Hinweis: Dein Kommentar kann in jedem Stil und jeder Form sein, akademisch bis persönlich.
+ Aber bitte bleibe beim Thema des Artikels, den Du kommentierst und versuche, präzise zu sein. +
+

+ +
- Kommentierungsformular - + Kommentierungsformular +
- Titel des Kommentars: -
- [ muss ausgefüllt werden ] -
+ Titel des Kommentars: + + (muss ausgefüllt werden) +
- Dein Name: - -
- [ muss ausgefüllt werden ] -
+ Dein Name: + + (muss ausgefüllt werden) +
- Deine eMail-Adresse: - -
- [ optional ] -
+ Deine eMail-Adresse: + + (optional) +
- Deine Web Adresse: - -
- [ optional ] -
+ Deine Web Adresse: + + (optional) +
- Deine Telefon-Nr.: - -
- [ optional ] -
+ Deine Telefon-Nr.: + + (optional) +
- Deine Adresse: - -
- [ optional ] -
+ Deine Adresse: + + (optional) +
- Die Sprache deines Kommentares: - - - [ optional ] - + Die Sprache deines Kommentares: + + + (optional) +
- Dein Kommentar: -   -

-
+ Dein Kommentar: + +   +

+
- Bitte drücke den Verschicken-Knopf nur einmal!!!
- In wenigen Minuten ist Dein Kommentar unter dem kommentierten - Artikel. Manchmal kann es aber aufgrund technischer Probleme - etwas dauern bis er erscheint. -

- Die Moderationskriterien kannst Du - hier nachlesen

-

  -
-

  -
-
-
  + +
+  
+ +
+
+  
+ +
+
diff --git a/templates-dist/de/open/comment_done.template b/templates-dist/de/open/comment_done.template index bff8e759..1dfc6ed3 100755 --- a/templates-dist/de/open/comment_done.template +++ b/templates-dist/de/open/comment_done.template @@ -1,76 +1,35 @@ - - - Indymedia Germany | Comment done | ${now} - - - - - - - - - - - - - - - - + + + indymedia.de | open posting + - - + - - - - - - - - - - -
- Immer ruhig mit den jungen Pferden! -
-

- Du hast vermutlich den Reload-Button - benutzt oder versucht, Deinen Kommentar noch einmal zu posten. Das ist aber - unnötig. Die Tatsache, dass Du diesen Text liest, bedeutet, dass Dein - Kommentar schon angekommen ist. Er wird gleich auf der Seite auftauchen. Versprochen. -
Keine Panik!


-
-
- - >> Zurück zum kommentierten Artikel -
+ + + + + + + + + +
+ Dein Kommentar ist jetzt auf dem Weg zur WebSite! +
+ +
+ Er landet direkt in einem intelligenten Filter - und wenn er keine rassistischen, sexistischen oder faschistischen Inhalte oder Werbung enthält, wird er in Kürze auf http://www.germany.indymedia.org/newswire/ auftauchen.
+
+
Gedulde Dich einen Moment - Es lohnt sich!

+
+
+
+ >> Zurück zum kommentierten Artikel +
diff --git a/templates-dist/de/open/comment_dupe.template b/templates-dist/de/open/comment_dupe.template index bff8e759..9ec36487 100755 --- a/templates-dist/de/open/comment_dupe.template +++ b/templates-dist/de/open/comment_dupe.template @@ -1,76 +1,40 @@ - - - Indymedia Germany | Comment done | ${now} - - - - - - - - - - - - - - - - + + + indymedia.de | open posting - Kommentar-Duplikat + - - + - - - - - - - - - - -
- Immer ruhig mit den jungen Pferden! -
-

- Du hast vermutlich den Reload-Button - benutzt oder versucht, Deinen Kommentar noch einmal zu posten. Das ist aber - unnötig. Die Tatsache, dass Du diesen Text liest, bedeutet, dass Dein - Kommentar schon angekommen ist. Er wird gleich auf der Seite auftauchen. Versprochen. -
Keine Panik!


-
-
- - >> Zurück zum kommentierten Artikel -
+ + + + + + + + + +
+ + Immer ruhig mit den jungen Pferden! + +
+ +
+ Du hast vermutlich den Reload-Button + benutzt oder versucht, Deinen Kommentar noch einmal zu posten. Das ist aber + unnötig. Die Tatsache, dass Du diesen Text liest, bedeutet, dass Dein + Kommentar schon angekommen ist. Er wird gleich auf der Seite auftauchen. Versprochen. +
+
Keine Panik

+
+
+
+ >> Zurück zum kommentierten Artikel +
diff --git a/templates-dist/de/open/posting.template b/templates-dist/de/open/posting.template index c930b658..b61959cb 100755 --- a/templates-dist/de/open/posting.template +++ b/templates-dist/de/open/posting.template @@ -1,388 +1,216 @@ -Indymedia Germany | Open Posting | ${now} - - - - - - - - - - - - - - - - - - - - + indymedia.de | open posting + + + + + + + + - - - - - - - - - - - - - - - - - - - - -
- - Direkt zum Eingabeformular springen! -
-

- Veröffentliche Deinen Beitrag

-
-

Kurze Anleitung zum Posten eines Beitrages in de.indymedia.org

- - - -Indymedia ist ein basisdemokratischer Nachrichtenkanal. -Wir arbeiten aus Liebe und aus Respekt gegenüber Menschen, -die sich für eine bessere, lebenswertere Welt engagieren. -Bei Indymedia kann grundsätzlich JedeR Texte, Videos, Audios oder Fotos -zu politischen oder sozialen Themen veröffentlichen. -

- -Indymedia will vor allem die Möglichkeit geben, -subjektive Stellungnahmen verschiedenster Menschen -'auf der Strasse' über politische Ereignisse oder aus -der alltäglichen Lebenswelt zu veröffentlichen. Zudem -ist Indymedia eine Plattform für Hintergrundberichte, -die andere Hintergründe als kommerzielle Medien aufzeigen. -

+ -Um indymedia als Plattform für eigene -Berichterstattung zu konturieren, werden bestimmte -Beiträge nicht auf die Startseite gestellt. Dazu gehören: -

-
    -
  • -Termine und Demoaufrufe [ Weil wir wissen, dass diese für die Mobilisierung -sehr wichtig sind, verlinken wir zu verschiedenen Internetprojekten, auf -denen Ihr gute Terminsammlungen findet ] Bei angelaufenen Kampagnen werden -regelmäßig Termine und Aufrufe in die Mittelspalten-Texte als Links gesetzt. -

    + + + + + + + + + - - - - - - - +

    Zur Erinnerung:

    +

      +
    • Bitte schicke nur News-Artikel und benutze zum Kommentieren von Artikeln das Kommentierformular, das Du unter jedem Artikel findest. +
    • Bitte schicke nur eine Kopie Deines Artikels - Bitte drücke den Verschicken-Knopf nur einmal. +
    • Veröffentliche nur selbst erstellte Beiträge. (Keine Agenturmeldungen, Zeitungsartikel oder ähnliches!). +
    + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Direkt zum Eingabeformular springen! +
    +
    +
    + Veröffentliche Deinen Beitrag

    +
    +

    Kurze Anleitung zum Posten eines Beitrages in germany.indymedia

    -
  • -schon an anderen Stellen veröffentlichte Texte aus kommerziellen Medien -kopierte Texte
    -[ hierbei sind Übersetzungen von Texten und Meldungen -von hier kaum zugänglichen Medien eine Ausnahme ] -

    +

    Das Independent Media Center ist ein kollektiv geführtes Mediennetzwerk zur Produktion von radikalen, passionierten und durchaus auch subjektiven, persönlichen Stellungnahmen verschiedenster Menschen 'auf der Strasse', z.B. vor, während oder nach Kampagnen, polit. Ereignissen oder aus der alltäglichen Lebenswelt. Wir arbeiten aus Liebe und aus Respekt gegenüber Menschen, die sich für eine bessere, lebenswertere Welt engagieren, und deren Arbeit von den Medienkonzernen nicht oder nur verzerrt dargestellt wird.

    -
  • Gruppenstatements, Presseerklärungen, Diskussionspapiere, Massenmails -
    +

    Indymedia ist ein demokratischer Nachrichtenkanal. Wir wollen Beiträge, Artikel, Meinungen und Infos aus der ganzen Welt veröffentlichen. Alle Beiträge werden sofort unzensiert veröffentlicht, sofern sie nicht in die im Mission Statement genannten Kategorien fallen. Allerdings erscheinen sie dann nicht gleich auf der Startseite, sondern auf einer eigenen Open-Posting-Seite. Dort werden sie von wechselnden Moderationsteams gegengelesen und + anschliessend auf den newswire der Starttseite weitergeleitet.
    + Um diesen Ausschlussprozess so transparent wie möglich zu gestalten, können alle nicht veröffentlichten Beiträge per e-mail angefordert weren.

    -[auch hier geht es um die Zugänglichkeit von Texten. Beiträge von -Gruppen, die schon auf zahlreichen anderen Internet-Seiten oder in -Zeitschriften veröffentlicht wurden, werden nicht auf die Startseite -gestellt, weil es nicht der Ansatz von indymedia ist alles -irgendwie relevante auf der Seite zu versammeln, sondern eine -Plattform für eigene Berichterstattung zu sein. Unter eigener -Berichtserstattung verstehen wir allerdings Presseerklärungen -von Kleingruppen oder Diskussionspapiere einzelner -

    -
  • -superkurze Meldungen: -

    +

    Bitte benutze dieses Formular nur, um neue Beiträge und Ideen beizusteuern. Kommentare gehören zu dem jeweils diskutierten Beitrag. Wenn Du etwas zu einem Beitrag zu sagen hast, dann benutze dafür bitte die Kommentar-Funktion am Ende jedes Beitrags.

    -
  • -reine Kommentare ohne Nachrichtenwert
    -[ Zusätzlich zu den selbstverfassten Beiträgen, gibt es bei indymedia -noch die Möglichkeit über Artikel zu diskutieren. -Das könnt Ihr unter dem jeweiligen Artikel - einfach auf -"Kommentar eingeben" klicken ] -

    +

    Unser Auffassung nach sollten Beiträge, die an diese Site geschickt werden, frei zur nicht-kommerziellen Wiederverwertung sein. Wenn Du nicht möchtest, dass das für Deinen Beitrag zutrifft, dann nenne Deine Konditionen in der Zusammenfassung.

    -
  • -Beiträge von hierarchischen Gruppen und Parteien -

    +

    Du kannst dieses Formular benutzen, um Deinen Artikel, Deinen Audio-Beitrag, Deinen Video-Beitrag oder Deine Fotos zu veröffentlichen. Bitte beschränke Dich auf Beiträge zu politischem oder sozialem Aktivismus. Wir (die Menschen, die diese Site organisieren) behalten uns vor, die Präsentation der zugeschickten Beiträge zu verändern. Weitere Informationen findest Du im Mission Statement.

    -
  • -Außerdem gibt es Beiträge, die sofort in ein -Müllarchiv kommen: -

    -[1] Diskriminierender oder menschenverachtender Inhalt. -

    -[2] Offensichtlicher Spam +

    Nach dem Beiträge veröffentlicht wurden, können sie vom Kollektiv, das diese Site betreut, editiert, verlinkt oder sogar gelöscht werden.

    +
    - - -

    -Was mit Eurem Beitrag passiert, lest Ihr am besten -unter Grundsätze und Moderation nach. Hier eine kurze Zusammenfassung: -

    - -Alle Beiträge werden sofort unzensiert veröffentlicht. -Allerdings erscheinen sie dann nicht gleich auf der -Startseite, sondern auf der Open-Posting-Seite -alle Beiträge -alle Beiträge. Dort werden sie von Moderationskollektiven -gegengelesen. Entsprechen sie den indymedia-Grundsätzen -werden sie auf den newswire der Startseite weitergeleitet. -In die Mittelspalte nehmen wir in der Regel Beiträge, -die einen guten Überblick über ein aktuelles Thema geben. -Diese Artikel werden von uns auch leicht redigiert: -Wir korrigieren Rechtschreibfehler, versuchen unverständliche -Stellen zu glätten und setzen Links hinein. Verlautbarungen, -Texte, die keinen politischen oder sozialen Inhalt haben, -reine Diskussionsbeiträge und Termine bleiben im Open Posting. -Texte mit menschenverachtendem Inhalt oder Spam kommen ins -Müllarchiv. Damit sind sie nicht mehr einsehbar. Wer -sie trotzdem lesen will, kann sie per e-mail anfordern. -Diese Moderationskriterien sind Resultat eines weltweiten -Diskussionsprozesses über indymedia und werden ständig neu -diskutiert und überarbeitet. -

    - -Urheberrecht: Unserer Auffassung nach sollten -Beiträge, die an diese Site geschickt werden, frei zur -nicht-kommerziellen Wiederverwertung sein. Wenn Du -nicht möchtest, dass das für Deinen Beitrag zutrifft, -dann nenne Deine Konditionen in der Zusammenfassung. -

    - -
  • -
    - Veröffentlichungsformular -
    -
    - Anzahl der Medien - -   -
    Anzahl der Medien  +
    - Gib Deinem Beitrag einen Titel: - -
    - [ muss ausgefüllt werden ] - -
    - Thema Von Deinem Beitrag: - -
    - [ optional ] -
    - AutorIn des Beitrags: - -
    - [ muss ausgefüllt werden ] -
    - Eine kurze Zusammenfassung des Beitrags: - -
    - [ nicht mehr als 15 Zeilen ] -
    - - Die Kontaktinformationen sind optional, aber ermöglichen, - dass unser Publikum (z.B. auch JournalistInnen) Dich bezüglich - Deines Beitrages erreichen können, was auch eine Weiterverwertung - Deines Beitrages an anderen Stellen ermöglicht. - -
    - Deine eMail-Adresse: - -
    - [ optional ] -
    - Deine Web Adresse: - -
    - [ optional ] -
    - Deine Adresse: - -
    - [ optional ] -
    - Deine Telefon-Nr.: - -
    - [ optional ] -
    - Die Sprache deines Beitrages: - -
    - [ optional ] -
    - ein Artikel:
    - Der Text, der Deinen Beitrag begleiten soll - - wenn Du nur Text schicken willst, dann benutze auch dafür dieses Feld. -
      - -

    -
    - Medien: - - Hier kannst Du ein Medien zu Deinem Artikel hochladen
    -
    Bild ${m} -
    - [ optional ] -
    - Medienunterschrift ${m}: - -
    - [ optional ] -
    +
    Veröffentlichungsformular
    +
    + Gib Deinem Beitrag einen Titel: + +
    (muss ausgefüllt werden)
    +
    + Thema Von Deinem Beitrag: + + + (optional) +
    + AutorIn des Beitrags: + +
    (muss ausgefüllt werden)
    +
    + Eine kurze Zusammenfassung des Beitrags: + + +
    (nicht mehr als 5 Zeilen)
    +
    + + Die Kontaktinformationen sind optional, aber ermöglichen, dass unser Publikum (z.B. auch JournalistInnen) Dich bezüglich Deines Beitrages erreichen können, was auch eine Weiterverwertung Deines Beitrages an anderen Stellen ermöglicht. + +
    + Deine eMail-Adresse: + + (optional) +
    + Deine Web Adresse: + + + (optional) +
    + Deine Adresse: + + (optional) +
    + Deine Telefon-Nr.: + + (optional) +
    + Die Sprache deines Beitrages: + + + (optional) +
    + Dein Artikel:
    + Der Text, der Deinen Beitrag begleiten soll - wenn Du nur Text schicken willst, dann benutze auch dafür dieses Feld. +
    +   +

    +
    + Medien: + + Hier kannst Du ein Medien zu Deinem Artikel hochladen (bislang nur jpg-Bilder)
    +
    Bild ${m} + (optional) +
    + Medienunterschrift ${m}: + + (optional) +
    +
    +  
    + +
    +
    +  
    +
    - -
-

- - Bitte drücke den Verschicken-Knopf nur einmal!!!
- In wenigen Minuten erscheind Dein Beitrag dann auf der - - "Open Posting" - Seite.
- Das ist nicht die Startseite.
- Manchmal kann es aber aufgrund technischer Probleme - etwas dauern bis er erscheint. -

- Die Moderationskriterien kannst Du - hier nachlesen -

-

  -
-

  -
-
diff --git a/templates-dist/de/open/posting_done.template b/templates-dist/de/open/posting_done.template index 22f257c8..d58649a6 100755 --- a/templates-dist/de/open/posting_done.template +++ b/templates-dist/de/open/posting_done.template @@ -2,78 +2,39 @@ -Indymedia Germany | Open Posting | ${now} - - + indymedia.de | open posting + - - - - - - - - - - - - - + + +
+ - - - + + + + + + +
Hurra, Du hast Deinen Artikel abgeschickt!
+ + +
- + +
+Dein Artikel landet jetzt direkt in einem intelligenten Filter. Wenn Dein Artikel keine rassistischen, sexistischen oder faschistischen Inhalte hatte, und auch nicht ganz ohne Inhalt, also leer war, dann wird er in Kürze auf http://www.germany.indymedia.org/newswire/ auftauchen.

+
Gedulde Dich einen Moment! Es lohnt sich!


- - - - - - - - - - + + + + + + +
- Hurra, Du hast Deinen Artikel abgeschickt! -
- -
- Dein Artikel landet in einigen Minuten auf der - "Open Posting" - - Seite. Das ist nicht die Startseite. - Die Moderationskriterien kannst Du - hier lesen

-
Gedulde Dich einen Moment! Es lohnt sich!


-
-
- >> Zurück -
+ >> Zurück +
- - + \ No newline at end of file diff --git a/templates-dist/de/open/posting_dupe.template b/templates-dist/de/open/posting_dupe.template index 09f9bf0b..d8b5d20a 100755 --- a/templates-dist/de/open/posting_dupe.template +++ b/templates-dist/de/open/posting_dupe.template @@ -2,78 +2,41 @@ -Indymedia Germany | Open Posting | ${now} - - - - - - - - - - - - - - - - - - - + indymedia.de | open posting - Posting-Duplikat - + - - - - - - - - - - +
- Immer ruhig mit den jungen Pferden! -
- -
- Du hast vermutlich den Reload-Button - benutzt oder versucht, Deinen Artikel noch einmal zu posten. Das ist aber - unnötig. Die Tatsache, dass Du diesen Text liest, bedeutet, dass Dein - Posting schon angekommen ist. Er wird gleich auf der Seite auftauchen. Versprochen.
- Technischer Hintergrund ist, daß de.indy über einen - Proxy-Server läuft und der ist nicht immer minuten-aktuell. -
Keine Panik!


-
-
- >> Zurück -
+ + + + + + + +
+ + Immer ruhig mit den jungen Pferden! + +
+ +
+ Du hast vermutlich den Reload-Button + benutzt oder versucht, Deinen Artikel noch einmal zu posten. Das ist aber + unnötig. Die Tatsache, dass Du diesen Text liest, bedeutet, dass Dein + Posting schon angekommen ist. Er wird gleich auf der Seite auftauchen. Versprochen. +
+ Technischer Hintergrund ist, daß de.indy über einen + Proxy-Server läuft und der ist nicht immer minuten-aktuell. +
+
Keine Panik

+
+
+
+ >> Zurück +
diff --git a/templates-dist/producer/content.template b/templates-dist/producer/content.template index d18c8ff8..04fb3e69 100755 --- a/templates-dist/producer/content.template +++ b/templates-dist/producer/content.template @@ -1,11 +1,20 @@ -mir.indymedia.de: ${title} +mir.indymedia.de: ${content.title} - - - + + + + + + + + + + + + @@ -55,29 +64,42 @@
-

${title}

-

${creator}, ${webdb_create_formatted}

-

${description} +

${content.title}

+

${content.creator}, ${content.webdb_create_formatted}

+

${content.description} - -

- + +

+ ${media["url"]} +

+ + +

+ ${media["url"]} +

+
+ +

+ ${media["url"]} +

+
+ +

I ${media["url"]} -

-

${content_data}

- +

${content.content_data}

+ @@ -88,12 +110,12 @@ - - - + +
- - - eMail: ${creator_email}
+ + - eMail: ${content.creator_email}
- - Homepage: ${creator_main_url}
+ + Homepage: ${content.creator_main_url}
 
+ Make a quick comment on this article
diff --git a/templates-dist/producer/openposting.template b/templates-dist/producer/openposting.template index a3592551..577490d4 100755 --- a/templates-dist/producer/openposting.template +++ b/templates-dist/producer/openposting.template @@ -58,19 +58,19 @@

${i.title}

${i.creator}, ${i.webdb_create_formatted}

- - ${i.to_media_audio[0]["url"]} - - - ${i.to_media_video[0]["url"]} - - - ${i.to_media_other[0]["url"]} - -

- - ${i.to_media_images[0]["url"]} - + + ${i.to_media_audio[0]["list"]} + + + ${i.to_media_video[0]["list"]} + + + ${i.to_media_other[0]["list"]} + +

+ + ${i.to_media_images[0]["list"]} + ${i.description}

[read]

diff --git a/templates-dist/producer/startpage.template b/templates-dist/producer/startpage.template index 3a44bb0b..d5f4bc75 100755 --- a/templates-dist/producer/startpage.template +++ b/templates-dist/producer/startpage.template @@ -58,17 +58,17 @@

${s.creator}, ${s.webdb_create_formatted}

- ${s.to_media_audio[0]["url"]} + ${s.to_media_audio[0]["list"]} - ${s.to_media_video[0]["url"]} + ${s.to_media_video[0]["list"]} - ${s.to_media_other[0]["url"]} + ${s.to_media_other[0]["list"]}

- ${s.to_media_images[0]["url"]} + ${s.to_media_images[0]["list"]} ${s.description}

[read]

@@ -87,17 +87,17 @@

${i.creator}, ${i.webdb_create_formatted}

- ${i.to_media_audio[0]["url"]} + ${i.to_media_audio[0]["list"]} - ${i.to_media_video[0]["url"]} + ${i.to_media_video[0]["list"]} - ${i.to_media_other[0]["url"]} + ${i.to_media_other[0]["list"]}

- ${i.to_media_images[0]["url"]} + ${i.to_media_images[0]["list"]} ${i.description}

[read]

@@ -121,8 +121,8 @@

- ${n.icon_alt} + ${n.to_media_icon["icon_alt"]} ${n.title}
${n.webdb_create_formatted}

diff --git a/templates-dist/producer/topiclist.template b/templates-dist/producer/topiclist.template index 04ab03cf..1b75e662 100755 --- a/templates-dist/producer/topiclist.template +++ b/templates-dist/producer/topiclist.template @@ -59,17 +59,17 @@

${special.creator}, ${special.webdb_create_formatted}

- ${special.to_media_audio[0]["url"]} + ${special.to_media_audio[0]["list"]} - ${special.to_media_video[0]["url"]} + ${special.to_media_video[0]["list"]} - ${special.to_media_other[0]["url"]} + ${special.to_media_other[0]["list"]}

- ${special.to_media_images[0]["url"]} + ${special.to_media_images[0]["list"]} ${special.description}

[read]

@@ -87,17 +87,17 @@

${i.creator}, ${i.webdb_create_formatted}

- ${i.to_media_audio[0]["url"]} + ${i.to_media_audio[0]["list"]} - ${i.to_media_video[0]["url"]} + ${i.to_media_video[0]["list"]} - ${i.to_media_other[0]["url"]} + ${i.to_media_other[0]["list"]}

- ${i.to_media_images[0]["url"]} + ${i.to_media_images[0]["list"]} ${i.description}

[read]

diff --git a/templates-dist/usererror.template b/templates-dist/usererror.template new file mode 100755 index 00000000..3b408884 --- /dev/null +++ b/templates-dist/usererror.template @@ -0,0 +1,37 @@ + + +indymedia.de | Fehlerhafte Eingabe + + + +
+ + + + + + + + + + + + +
+

OOPS!

+
+
+

Bei der Eingabe hat es folgende fehler gegeben: +

+

+

${errorstring} +

+

+

+

Also, bitte druecken sie die zueruck taste und versuchen sie nochmal + +

+

+ + + -- 2.11.0

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 literal 0 HcmV?d00001 diff --git a/lib/log4j.jar b/lib/log4j.jar new file mode 100755 index 0000000000000000000000000000000000000000..dc2d758a52d07ca58061bc76f23e614cfdb6c107 GIT binary patch literal 158892 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