From 5e788758200b1d23138e3a113ad2ba9476ff0ee3 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Wed, 21 Jul 2021 23:32:30 +0300 Subject: [PATCH] reorganized config/tools directories and started updating scripts --- app/scodoc/sco_utils.py | 6 +- config/README | 56 ----- config/configure_systemd.sh | 23 -- config/create_user_db.sh | 28 --- config/distrib.sh | 97 -------- config/etc/README | 9 - config/etc/firehol.conf | 19 -- config/etc/scodoc | 75 ------ config/etc/scodoc-site-ssl-apache2.4.orig | 56 ----- config/etc/scodoc-site-ssl.orig | 52 ----- config/etc/scodoc-site.orig | 22 -- config/fix_bug70_db.py | 65 ------ config/install_cal_modules.sh | 19 -- config/migre-7-a-8.sh | 69 ------ config/postupgrade.py | 75 ------ config/set_passwd.sh | 36 --- config/softs/get-iana.sh | 214 ------------------ config/softs/pyExcelerator-0.6.3a.patched.tgz | Bin 222066 -> 0 bytes config/softs/pydot-0.9.10.tar.gz | Bin 14462 -> 0 bytes misc/check_zope_usage.py | 59 ----- misc/count_inscriptions.py | 51 ----- misc/create_user_table.sql | 27 --- misc/extract_code_strings.py | 39 ---- misc/iscid_create_formation_from_xls.py | 141 ------------ {config => tools}/anonymize_db.py | 2 +- {config => tools}/config.sh | 44 +--- {config => tools}/create_database.sh | 0 {config => tools}/create_dept.sh | 8 +- {config => tools}/default-etapes.txt | 0 {config => tools}/delete_dept.sh | 2 +- {config => tools}/diagnostic.sh | 20 +- .../doc_poursuites_etudes/README.txt | 0 .../doc_poursuites_etudes/distrib/README.txt | 0 .../doc_poursuites_etudes/distrib/avis.tex | 0 .../doc_poursuites_etudes/distrib/avisPE.cls | 0 .../distrib/make_avis.bat | 0 .../distrib/modeles/parcourstimeline.tex | 0 .../distrib/modeles/un_avis.tex | 0 .../distrib/un_footer.tex | 0 {config => tools}/etablissements.csv | 0 {config => tools}/etc/scodoc-updater.service | 2 +- {config => tools}/etc/scodoc-updater.timer | 0 {config => tools}/etc/scodoc.service | 0 {config => tools}/get_scodoc_version.sh | 0 {config => tools}/initialize_database.sh | 8 +- {config => tools}/install_debian10.sh | 30 +-- {config => tools}/postupgrade-db.py | 2 +- tools/postupgrade.py | 31 +++ {config => tools}/psql_restore_databases.sh | 12 - {config => tools}/restore_scodoc_data.sh | 29 +-- {config => tools}/save_scodoc_data.sh | 44 +--- {config => tools}/scodoc_config.py | 2 +- {config => tools}/scodoc_config_tmpl.py | 4 +- {config => tools}/scodocutils.py | 0 {config => tools}/upgrade.sh | 35 +-- {config => tools}/utils.sh | 4 +- 56 files changed, 103 insertions(+), 1414 deletions(-) delete mode 100644 config/README delete mode 100755 config/configure_systemd.sh delete mode 100755 config/create_user_db.sh delete mode 100644 config/distrib.sh delete mode 100644 config/etc/README delete mode 100644 config/etc/firehol.conf delete mode 100755 config/etc/scodoc delete mode 100644 config/etc/scodoc-site-ssl-apache2.4.orig delete mode 100644 config/etc/scodoc-site-ssl.orig delete mode 100644 config/etc/scodoc-site.orig delete mode 100644 config/fix_bug70_db.py delete mode 100755 config/install_cal_modules.sh delete mode 100644 config/migre-7-a-8.sh delete mode 100755 config/postupgrade.py delete mode 100755 config/set_passwd.sh delete mode 100755 config/softs/get-iana.sh delete mode 100644 config/softs/pyExcelerator-0.6.3a.patched.tgz delete mode 100644 config/softs/pydot-0.9.10.tar.gz delete mode 100755 misc/check_zope_usage.py delete mode 100644 misc/count_inscriptions.py delete mode 100644 misc/create_user_table.sql delete mode 100755 misc/extract_code_strings.py delete mode 100644 misc/iscid_create_formation_from_xls.py rename {config => tools}/anonymize_db.py (98%) rename {config => tools}/config.sh (54%) rename {config => tools}/create_database.sh (100%) rename {config => tools}/create_dept.sh (91%) rename {config => tools}/default-etapes.txt (100%) rename {config => tools}/delete_dept.sh (99%) rename {config => tools}/diagnostic.sh (93%) rename {config => tools}/doc_poursuites_etudes/README.txt (100%) rename {config => tools}/doc_poursuites_etudes/distrib/README.txt (100%) rename {config => tools}/doc_poursuites_etudes/distrib/avis.tex (100%) rename {config => tools}/doc_poursuites_etudes/distrib/avisPE.cls (100%) rename {config => tools}/doc_poursuites_etudes/distrib/make_avis.bat (100%) rename {config => tools}/doc_poursuites_etudes/distrib/modeles/parcourstimeline.tex (100%) rename {config => tools}/doc_poursuites_etudes/distrib/modeles/un_avis.tex (100%) rename {config => tools}/doc_poursuites_etudes/distrib/un_footer.tex (100%) rename {config => tools}/etablissements.csv (100%) rename {config => tools}/etc/scodoc-updater.service (84%) rename {config => tools}/etc/scodoc-updater.timer (100%) rename {config => tools}/etc/scodoc.service (100%) rename {config => tools}/get_scodoc_version.sh (100%) rename {config => tools}/initialize_database.sh (77%) rename {config => tools}/install_debian10.sh (86%) rename {config => tools}/postupgrade-db.py (99%) create mode 100755 tools/postupgrade.py rename {config => tools}/psql_restore_databases.sh (53%) rename {config => tools}/restore_scodoc_data.sh (80%) rename {config => tools}/save_scodoc_data.sh (56%) rename {config => tools}/scodoc_config.py (98%) rename {config => tools}/scodoc_config_tmpl.py (97%) rename {config => tools}/scodocutils.py (100%) rename {config => tools}/upgrade.sh (73%) rename {config => tools}/utils.sh (89%) diff --git a/app/scodoc/sco_utils.py b/app/scodoc/sco_utils.py index 8c1c7cc0..700ce8d5 100644 --- a/app/scodoc/sco_utils.py +++ b/app/scodoc/sco_utils.py @@ -274,10 +274,8 @@ else: SCO_ENCODING = "utf-8" # used by Excel, XML, PDF, ... -SCO_DEFAULT_SQL_USER = "www-data" # should match Zope process UID -SCO_DEFAULT_SQL_PORT = ( - "5432" # warning: 5433 for postgresql-8.1 on Debian if 7.4 also installed ! -) +SCO_DEFAULT_SQL_USER = "scodoc" # should match Zope process UID +SCO_DEFAULT_SQL_PORT = "5432" SCO_DEFAULT_SQL_USERS_CNX = "dbname=SCOUSERS port=%s" % SCO_DEFAULT_SQL_PORT # Valeurs utilisées pour affichage seulement, pas de requetes ni de mails envoyés: diff --git a/config/README b/config/README deleted file mode 100644 index 7d51341f..00000000 --- a/config/README +++ /dev/null @@ -1,56 +0,0 @@ - - CONFIGURATION DE SCODOC - ----------------------- - -Emmanuel Viennet, juin 2008, mar 2017 - - - -0) INSTALL de base: -- prerequis: apache2, utilisateur www-data -- detarer ScoDoc.tgz (== Zope + produits + scodoc) - - -1) Creation de la base utilisateurs (initialement vide) - -------- - -Sept 2013: ScoDoc 7 : python2.7, Debian 7, Zope 2.13.21 - - -Pour la construction de Zope: -attention: on veut bénéficier des paquets python Debian ! -donc - -apt-get install python-dev -apt-get install python-virtualenv -apt-get install gcc -virtualenv --system-site-packages /opt/zope213 -cd zope213/ -bin/easy_install -i http://download.zope.org/Zope2/index/2.13.21 Zope2 -# ...long... - -bin/easy_install Products.ZSQLMethods -bin/easy_install ZPsycopgDA -# Avec Debian 8: probleme install de ZPsycopgDA -# essai en le copiant de la version Debian 7. Semble ok. - -# Problemes persistant avec pydot (voir commentaire dans script install) - -# Si besoin, création de l'instance Zope: -bin/mkzopeinstance -d /opt/inst - -(XXX admin / admin) - - -2) Migration bases de données -Sur ScoDoc6: - pg_dumpall > scodoc.dump.txt - - - -passage en UTF-8 -- sources Python -- locale systeme (scrip install) -- creation des bases (users et depts) -- recodage du dump sql diff --git a/config/configure_systemd.sh b/config/configure_systemd.sh deleted file mode 100755 index 032dde90..00000000 --- a/config/configure_systemd.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# Modify ScoDoc install to use systemd -# E. Viennet, 2020-12-04 -source config.sh -source utils.sh - -check_uid_root "$0" - -echo 'Installation du demarrage automatique de ScoDoc (systemd)' - -# La variable POSTGRES_SERVICE doit être positionnée dans config.sh -# suivant la version de Debian et de postgresql -[ -z "${POSTGRES_SERVICE}" ] && die "incompatible Debian version" - -cat "$SCODOC_DIR/config/etc/scodoc.service" | sed 's/{{postgresql}}/'"${POSTGRES_SERVICE}"'/g' > /etc/systemd/system/scodoc.service - -systemctl enable scodoc.service - -echo "A partir de maintenant, utiliser" -echo " pour demarrer: systemctl start scodoc" -echo " pour arreter : systemctl stop scodoc" - diff --git a/config/create_user_db.sh b/config/create_user_db.sh deleted file mode 100755 index eb729ff9..00000000 --- a/config/create_user_db.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# -# ScoDoc: creation de la base de donnees d'utilisateurs -# -# Ce script prend en charge la creation de la base de donnees -# et doit être lancé par l'utilisateur unix root dans le repertoire .../config -# ^^^^^^^^^^^^^^^^^^^^^ -# E. Viennet, Juin 2008 -# - -source config.sh -source utils.sh - -check_uid_root "$0" - -# --- Ensure postgres user www-data exists -init_postgres_user - -db_name=SCOUSERS - -echo 'Creating postgresql database ' $db_name - -su -c "createdb -E UTF-8 -O $POSTGRES_USER -p $POSTGRES_PORT $db_name" "$POSTGRES_SUPERUSER" - -echo 'Initializing tables in database ' "$db_name" -echo su -c "$PSQL -U $POSTGRES_USER -p $POSTGRES_PORT $db_name < $SCODOC_DIR/misc/create_user_table.sql" "$POSTGRES_USER" -su -c "$PSQL -U $POSTGRES_USER -p $POSTGRES_PORT $db_name < $SCODOC_DIR/misc/create_user_table.sql" "$POSTGRES_USER" diff --git a/config/distrib.sh b/config/distrib.sh deleted file mode 100644 index 7a29157a..00000000 --- a/config/distrib.sh +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/bash - -# Pense bete pour tout nettoyer avant de faire une distribution... -# -# -# E. Viennet, jul 2008 - -source config.sh -source utils.sh - -if [ "$UID" != "0" ] -then - echo "Erreur: le script $0 doit etre lance par root" - exit 1 -fi - - -echo "Changing to directory " "$SCODOC_DIR"/config -cd "$SCODOC_DIR"/config || { echo "directory does not exist"; exit 1; } - -echo "Stopping ScoDoc..." -scodocctl stop - -# DROITS -echo -n "Verification des droits: proprietaire www-data ? (y/n) [y] " -read -r ans -if [ "$(norm_ans "$ans")" != 'N' ] -then - echo 'changing owner to www-data' - chown -R www-data.www-data .. -fi - -echo -n 'Suppression des backups des sources (*~) ? (y/n) [y] ' -read -r ans -if [ "$(norm_ans "$ans")" != 'N' ] -then - /bin/rm -f ../*~ ../*/*~ -fi - - -# SVN -echo -n "svn update ? (y/n) [y] " -read -r ans -if [ "$(norm_ans "$ans")" != 'N' ] -then - echo 'Updating from SVN...' - (cd ..; svn update) -fi - - -# DEPARTEMENTS (maintenant inutile car dans /var) -echo -n "Supprimer les (anciennes) configs de departements ? (y/n) [y] " -read -r ans -if [ "$(norm_ans "$ans")" != 'N' ] -then - echo "moving " depts/*.cfg "to /tmp" - mv depts/*.cfg /tmp -fi - -# .../var/ -echo -n "Supprimer et recréer .../var (archives, photos, configs, ...) ? (y/n) [y] " -read -r ans -if [ "$(norm_ans "$ans")" != 'N' ] -then - echo "moving ../../../var/scodoc to /tmp" - mv ../../../var/scodoc /tmp - mkdir -p ../../../var/scodoc/config/depts - mkdir ../../../var/scodoc/photos - mkdir ../../../var/scodoc/tmp - mkdir ../../../var/scodoc/archives - chown -R www-data.www-data ../../../var/scodoc/ -fi - -# LOGS ZOPE -echo -n "Effacer les logs de Zope et ScoDoc ? (y/n) [y] " -read -r ans -if [ "$(norm_ans "$ans")" != 'N' ] -then - (cd ../../../log/; ./purge) -fi - -# IMAGE Data.fs -echo -n "Recopier le Data.fs original ? (y/n) [y] " -read -r ans -if [ "$(norm_ans "$ans")" != 'N' ] -then - echo "moving Data.fs to /tmp" - mv ../../../var/Data.fs ../../../var/Data.fs.index /tmp - DATAFS=../../../var/Data.fs.ok-to-distrib-545 - echo "copying $DATAFS to Data.fs" - cp -p $DATAFS ../../../var/Data.fs -fi - -# -echo -echo "OK, vous pouvez archiver la distribution !" -echo diff --git a/config/etc/README b/config/etc/README deleted file mode 100644 index 26aea491..00000000 --- a/config/etc/README +++ /dev/null @@ -1,9 +0,0 @@ - -* Scripts utiles pour l'installation de ScoDoc - -- scodoc : script de demarrage a placer dans /etc/rc.* - -- scodoc-site-ssl: configuration de site (https) pour Apache, a placer dans - /etc/apache2/sites-available/ - puis editer pour remplacer le nom du site et indiquer vos certificats crypto - puis activer par a2ensite scodoc-site-ssl diff --git a/config/etc/firehol.conf b/config/etc/firehol.conf deleted file mode 100644 index 2f5d964a..00000000 --- a/config/etc/firehol.conf +++ /dev/null @@ -1,19 +0,0 @@ -# -# Exemple de configuration pare-feu firehol minimal pour un serveur ScoDoc -# -# Suppose que l'interface reseau Internet est XXX_INTERFACE_XXX -# -# E. Viennet, juin 2008, jul 2017 -# - -version 5 - -FIREHOL_LOG_MODE="ULOG" - -interface XXX_INTERFACE_XXX internet - protection strong - client all accept # plutot gentil, a adapter a vos besoins (attention a ntp et aux mises a jour) - server ssh accept - server https accept - # pas de log des paquets venant d'Internet... - server any nolog drop diff --git a/config/etc/scodoc b/config/etc/scodoc deleted file mode 100755 index cf7a10ff..00000000 --- a/config/etc/scodoc +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# -# zope This shell script takes care of starting and stopping -# zope under apache (proxy) -# Emmanuel Viennet @ LIPN, June 2002, Sept 2011 (LSB-compliance for Debian 6) -# -# chkconfig: - 90 10 -# description: zope is a web server - - -### BEGIN INIT INFO -# Provides: ScoDoc -# Required-Start: $local_fs $remote_fs $network $syslog -# Required-Stop: $local_fs $remote_fs $network $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start/stop ScoDoc server -### END INIT INFO - -# Source function library. -#. /etc/init.d/functions - - -ZOPE_DIR=/opt/scodoc/instance - -# [ -x $ZOPE_DIR/bin/python ] || exit 0 - -RETVAL=0 -prog="Zope" - -start() { - # Start Zope persistent process - # Start daemons. - echo -n $"Starting $prog: " - echo $ZOPE_DIR/bin/zopectl start - $ZOPE_DIR/bin/zopectl start 2> /dev/null - RETVAL=$? - echo -# [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zope - return $RETVAL -} - -stop() { - # Stop daemons. - echo -n 'Stopping zope daemon: ' - $ZOPE_DIR/bin/zopectl stop - RETVAL=$? - echo -# [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zope - return $RETVAL -} - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; -# status) -# status $ZOPE_DIR/bin/python -# RETVAL=$? -# ;; - restart|reload) - stop - start - RETVAL=$? - ;; - *) - echo $"Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $RETVAL diff --git a/config/etc/scodoc-site-ssl-apache2.4.orig b/config/etc/scodoc-site-ssl-apache2.4.orig deleted file mode 100644 index ba1a612c..00000000 --- a/config/etc/scodoc-site-ssl-apache2.4.orig +++ /dev/null @@ -1,56 +0,0 @@ - -# Fichier config Apache basique pour ScoDoc -# E. Viennet, juin 2008, sept 2009, mar 2017 (Apache 2.4) - -# Apache fonctionne ici en proxy https devant zope (lui meme sur 8080). - -# A EDITER !!! -# 1- REMPLACER YOUR.FULL.HOST.NAME par votre nom de site (www.monscodoc.com) -# 2- indiquer vos certificats ssl (.key, .pem) -# 3- eventuellement, le certificat de votre authorite de certif. (CA). -# 4- eventuellement, revoir les fichiers de logs (penser au logrotate !) - - -NameVirtualHost *:443 - - ServerAdmin webmaster - ServerName YOUR.FULL.HOST.NAME - SSLEngine on - - SSLCertificateFile /etc/apache2/scodoc-ssl/apache.pem - # SSLCertificateKeyFile /etc/apache2/ssl/iutv.univ-paris13.fr.key - - # Votre authorite de certification: - # SSLCACertificateFile /etc/apache2/scodoc-ssl/ct_root.pem - # SSLCACertificateFile /etc/apache2/scodoc-ssl/sureserverEDU.pem - - DocumentRoot /var/www/ - - ErrorLog /var/log/apache2/ssl-error.log - - # Possible values include: debug, info, notice, warn, error, crit, - # alert, emerg. - LogLevel warn - - CustomLog /var/log/apache2/ssl-access.log combined - - RewriteEngine on - # "RewriteLogLevel" n'est plus disponible dans apache2.4, il faut utiliser l'option "rewrite" dans l'instruction "LogLevel" - #LogLevel warn rewrite:trace3 - - # ScoDoc static content, served directly: - # RewriteCond %{HTTP:Authorization} ^(.*) - RewriteRule ^/ScoDoc/static/(.*) /opt/scodoc/Products/ScoDoc/static/$1 [L] - - # Le reste est pour Zope: - RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/https/YOUR.FULL.HOST.NAME:443/$1 [L,P] - - # Log avec utilisateur authentifie par ScoDoc - LogFormat "%h %l %{X-ScoDoc-User}o %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" scodoc - CustomLog "/var/log/apache2/scodoc_access.log" scodoc - - - - -Require all granted - diff --git a/config/etc/scodoc-site-ssl.orig b/config/etc/scodoc-site-ssl.orig deleted file mode 100644 index 0f628f23..00000000 --- a/config/etc/scodoc-site-ssl.orig +++ /dev/null @@ -1,52 +0,0 @@ - -# Fichier config Apache basique pour ScoDoc -# E. Viennet, juin 2008, sept 2009 - -# Apache fonctionne ici en proxy https devant zope (lui meme sur 8080). - -# A EDITER !!! -# 1- REMPLACER YOUR.FULL.HOST.NAME par votre nom de site (www.monscodoc.com) -# 2- indiquer vos certificats ssl (.key, .pem) -# 3- eventuellement, le certificat de votre authorite de certif. (CA). -# 4- eventuellement, revoir les fichiers de logs (penser au logrotate !) - - -NameVirtualHost *:443 - - ServerAdmin webmaster - ServerName YOUR.FULL.HOST.NAME - SSLEngine on - - SSLCertificateFile /etc/apache2/scodoc-ssl/apache.pem - # SSLCertificateKeyFile /etc/apache2/ssl/iutv.univ-paris13.fr.key - - # Votre authorite de certification: - # SSLCACertificateFile /etc/apache2/scodoc-ssl/ct_root.pem - # SSLCACertificateFile /etc/apache2/scodoc-ssl/sureserverEDU.pem - - DocumentRoot /var/www/ - - ErrorLog /var/log/apache2/ssl-error.log - - # Possible values include: debug, info, notice, warn, error, crit, - # alert, emerg. - LogLevel warn - - CustomLog /var/log/apache2/ssl-access.log combined - - RewriteEngine on - RewriteLog /var/log/rewrite.ssl - RewriteLogLevel 0 - - # ScoDoc static content, served directly: - RewriteCond %{HTTP:Authorization} ^(.*) - RewriteRule ^/ScoDoc/static/(.*) /opt/scodoc/instance/Products/ScoDoc/static/$1 [L] - - # Le reste est pour Zope: - RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/https/YOUR.FULL.HOST.NAME:443/$1 [L,P] - - # Log avec utilisateur authentifie par ScoDoc - LogFormat "%h %l %{X-ScoDoc-User}o %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" scodoc - CustomLog "/var/log/apache2/scodoc_access.log" scodoc - - diff --git a/config/etc/scodoc-site.orig b/config/etc/scodoc-site.orig deleted file mode 100644 index 6829d876..00000000 --- a/config/etc/scodoc-site.orig +++ /dev/null @@ -1,22 +0,0 @@ -# -# Config Apache minimale http: redirige tout vers https -# (voir scodoc-site-ssl) -# -NameVirtualHost * - - ServerAdmin webmaster@localhost - DocumentRoot /var/www/ - - AllowOverride None - - - RewriteEngine on - - ReWriteCond %{SERVER_PORT} !^443$ - RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] - - ErrorLog /var/log/apache2/error.log - LogLevel warn - CustomLog /var/log/apache2/access.log combined - ServerSignature On - diff --git a/config/fix_bug70_db.py b/config/fix_bug70_db.py deleted file mode 100644 index b55f7507..00000000 --- a/config/fix_bug70_db.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- mode: python -*- -# -*- coding: utf-8 -*- - -# Script pour ScoDoc7 (python2), obsolete -"""Fix bug #70 - -Utiliser comme: - scotests/scointeractive.sh DEPT config/fix_bug70_db.py - -""" -context = context.Notes # pylint: disable=undefined-variable -REQUEST = REQUEST # pylint: disable=undefined-variable -import scotests.sco_fake_gen as sco_fake_gen # pylint: disable=import-error -import os -import sys -import sco_utils -import notesdb -import sco_formsemestre -import sco_formsemestre_edit -import sco_moduleimpl - -G = sco_fake_gen.ScoFake(context.Notes) - - -def fix_formsemestre_formation_bug70(formsemestre_id): - """Le bug #70 a pu entrainer des incohérences - lors du clonage avorté de semestres. - Cette fonction réassocie le semestre à la formation - à laquelle appartiennent ses modulesimpls. - 2021-04-23 - """ - sem = sco_formsemestre.get_formsemestre(context, formsemestre_id) - cursor = notesdb.SimpleQuery( - context, - """SELECT m.formation_id - FROM notes_modules m, notes_moduleimpl mi - WHERE mi.module_id = m.module_id - AND mi.formsemestre_id = %(formsemestre_id)s - """, - {"formsemestre_id": formsemestre_id}, - ) - modimpls_formations = set([x[0] for x in cursor]) - if len(modimpls_formations) > 1: - # this is should not occur - G.log( - "Warning: fix_formsemestre_formation_bug70: modules from several formations in sem %s" - % formsemestre_id - ) - elif len(modimpls_formations) == 1: - modimpls_formation_id = modimpls_formations.pop() - if modimpls_formation_id != sem["formation_id"]: - # Bug #70: fix - G.log("fix_formsemestre_formation_bug70: fixing %s" % formsemestre_id) - sem["formation_id"] = modimpls_formation_id - context.do_formsemestre_edit(sem, html_quote=False) - - -formsemestre_ids = [ - x[0] - for x in notesdb.SimpleQuery( - context, "SELECT formsemestre_id FROM notes_formsemestre", {} - ) -] -for formsemestre_id in formsemestre_ids: - fix_formsemestre_formation_bug70(formsemestre_id) diff --git a/config/install_cal_modules.sh b/config/install_cal_modules.sh deleted file mode 100755 index 1e5f4898..00000000 --- a/config/install_cal_modules.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# Install module(s) for calendars -# (if already installed, do nothing) - - -# Test if installed -# (NB: don't launch python, to be faster and also to avoid import bug zope vs pytz) - -if [ -e /opt/zope213/lib/python2.7/site-packages/icalendar ] || [ /usr/lib/python2.7/dist-packages/icalendar ] -then - exit 0 # already installed -else - echo "Installing icalendar" - /opt/zope213/bin/pip install icalendar -fi - - - diff --git a/config/migre-7-a-8.sh b/config/migre-7-a-8.sh deleted file mode 100644 index 2e9fddc6..00000000 --- a/config/migre-7-a-8.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash - -# Migration vers ScoDoc 8 -# -# E. Viennet, dec 2020 -# -# Passe l'installation courante de ScoDoc 7 à ScoDoc 8 -# A ce jour, ScoDoc 8 n'est pas recommandé en production ! -# -# - l'installation ScoDoc 7 doit être à jour. -# - passe de SVN à GIT: pas de retour en arrière. -# - déplace la config de config/scodoc_config.py -# vers /opt/scodoc/var/scodoc/config/scodoc_local.py - - -source config.sh -source utils.sh - -check_uid_root "$0" - -scodocctl stop - -scodoc7=/opt/ScoDoc7 -if [ -e "$scodoc7" ] -then - echo "/opt/ScoDoc7 already exists. Move or remove it before retrying." - exit 1; -fi - -# 0- Upgrade and check local config -cd "$SCODOC_DIR" || { echo "Fatal error: can't cd to $SCODOC_DIR"; exit 2; } -svn up || { echo "Fatal error: can't apply last svn up"; exit 3; } - -local_config_diff=$(svn diff config/scodoc_config.py | wc -l) - -# 1- Install git -apt-get update -apt-get update || { echo "apt-get update failed with $?"; exit 4; } -apt-get -y install git - -# 2- Download ScoDoc8 -printf "\nDownloading files...\n" -cd "$SCODOC_DIR"/.. || { echo "Fatal error: can't cd to $SCODOC_DIR"; exit 2; } - -mv ScoDoc "$scodoc7" - -git clone https://scodoc.org/git/viennet/ScoDoc.git || { echo "Fatal error: can't clone git repository"; exit 5; } -cd ScoDoc || { echo "Fatal error: can't cd to $SCODOC_DIR"; exit 6; } - -git checkout ScoDoc8 || { echo "Fatal error: can't checkout ScoDoc8 branch"; exit 7; } - -# 3- Migrate user's configuration if needed -if [ "$local_config_diff" -ne 0 ] -then - src="$scodoc7"/config/scodoc_config.py - dst="${SCODOC_VAR_DIR}/config/scodoc_local.py" - if [ -e "$dst" ] - then - echo "Warning: moving ${dst} to ${dst}.old" - printf "=> vérifiez votre configuration locale avant utilisation.\n\n" - mv "$dst" "$dst".old - fi - echo - echo "Copying local configuration file $src" - echo "to $dst" - cp "$src" "$dst" -fi - -printf "\nDone.\nPlease start scodoc to use ScoDoc8: systemctl start scodoc\n" diff --git a/config/postupgrade.py b/config/postupgrade.py deleted file mode 100755 index f8a7d313..00000000 --- a/config/postupgrade.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/opt/zope213/bin/python -# -*- coding: utf-8 -*- - -""" -ScoDoc post-upgrade script. - -This script is launched by upgrade.sh after each SVN update. - -Run as "root" with Zope shutted down and postgresql up, -_before_ upgrading the database. - -E. Viennet, June 2008 -Mar 2017: suppress upgrade of very old Apache configs -Aug 2020: move photos to .../var/scodoc/ -Apr 2021: bug #70 -""" -import os -import sys -import glob -import shutil -from scodocutils import log, SCODOC_DIR, SCODOC_VAR_DIR, SCODOC_LOGOS_DIR, SCO_TMPDIR - -if os.getuid() != 0: - log("postupgrade.py: must be run as root") - sys.exit(1) - -# --- -# Migrate photos (2020-08-16, svn 1908) -old_photo_dir = os.path.join(SCODOC_DIR, "static", "photos") -photo_dirs = glob.glob(old_photo_dir + "/F*") -if photo_dirs: - log("Moving photos to new directory...") - shutil.move(old_photo_dir, SCODOC_VAR_DIR) - -# Migrate depts (2020-08-17, svn 1909) - -old_depts_dir = os.path.join(SCODOC_DIR, "config", "depts") -cfg_files = glob.glob(old_depts_dir + "/*.cfg") -depts_dir = os.path.join(SCODOC_VAR_DIR, "config/depts/") -for cfg in cfg_files: - log("Moving %s to new directory..." % cfg) - shutil.move(cfg, depts_dir) - -# Move logos -if not os.path.exists(SCODOC_LOGOS_DIR): - old_logos = os.path.join(SCODOC_DIR, "logos") - if os.path.exists(old_logos): - log("Moving logos to new directory...") - dest = os.path.normpath(os.path.join(SCODOC_LOGOS_DIR, "..")) - shutil.move(old_logos, dest) - else: - log("Warning: logos directory is missing (%s)" % SCODOC_LOGOS_DIR) - -# Move dept-specific logos -for d in glob.glob(SCODOC_DIR + "/logos_*"): - log("Moving %s to %s" % (d, SCODOC_LOGOS_DIR)) - shutil.move(d, SCODOC_LOGOS_DIR) - -# Fix bug #70 -depts = [ - os.path.splitext(os.path.basename(f))[0] for f in glob.glob(depts_dir + "/*.cfg") -] -for dept in depts: - fixed_filename = SCO_TMPDIR + "/.%s_bug70_fixed" % dept - if not os.path.exists(fixed_filename): - log("fixing #70 on %s" % dept) - os.system("../scotests/scointeractive.sh -x %s config/fix_bug70_db.py" % dept) - # n'essaie qu'une fois, même en cas d'échec - f = open(fixed_filename, "a") - f.close() - -# Continue here... - -# --- -sys.exit(0) diff --git a/config/set_passwd.sh b/config/set_passwd.sh deleted file mode 100755 index 68a63db6..00000000 --- a/config/set_passwd.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# -# ScoDoc: reglage du mot de passe admin Zope -# (in Zope terminology, an emergency user) -# -# Doit �tre lanc� par l'utilisateur unix root dans le repertoire .../config -# ^^^^^^^^^^^^^^^^^^^^^ -# E. Viennet, Juin 2008, Jul 2019 -# - -source config.sh -source utils.sh - - -if [ "$UID" != "0" ] -then - echo "Erreur: le script $0 doit etre lance par root" - exit 1 -fi - -echo "Creation d'un utilisateur d'urgence pour ScoDoc" -echo "(utile en cas de perte de votre mot de passe admin)" - -if [ "${debian_version}" != "10" ] -then - mdir=/opt/zope213/lib/python2.7/site-packages/Zope2-2.13.21-py2.7.egg/Zope2/utilities -else - mdir=/opt/zope213/lib/python2.7/site-packages/Zope2/utilities -fi - -python $mdir/zpasswd.py "$SCODOC_DIR"/../../access - -echo -echo "redemarrer scodoc pour prendre en compte le mot de passe" -echo diff --git a/config/softs/get-iana.sh b/config/softs/get-iana.sh deleted file mode 100755 index f1a9f912..00000000 --- a/config/softs/get-iana.sh +++ /dev/null @@ -1,214 +0,0 @@ -#!/bin/bash - -# $Id: get-iana.sh,v 1.15 2013/01/06 23:49:08 ktsaou Exp $ -# -# $Log: get-iana.sh,v $ -# Revision 1.15 2013/01/06 23:49:08 ktsaou -# Removed depedency to get-iana.sh -# It is not usefull any more. -# -# Revision 1.14 2010/06/07 15:44:09 ktsaou -# Made get-iana.sh support the latest IANA format. -# -# Revision 1.13 2010/04/08 22:03:08 ktsaou -# Removed --proxy=off for wget. -# -# Revision 1.12 2008/03/17 22:08:43 ktsaou -# Updated for latest IANA reservations format. -# -# Revision 1.11 2007/06/13 14:40:04 ktsaou -# *** empty log message *** -# -# Revision 1.10 2007/05/05 23:38:31 ktsaou -# Added support for external definitions of: -# -# RESERVED_IPS -# PRIVATE_IPS -# MULTICAST_IPS -# UNROUTABLE_IPS -# -# in files under the same name in /etc/firehol/. -# Only RESERVED_IPS is mandatory (firehol will complain if it is not there, -# but it will still work without it), and is also the only file that firehol -# checks how old is it. If it is 90+ days old, firehol will complain again. -# -# Changed the supplied get-iana.sh script to generate the RESERVED_IPS file. -# FireHOL also instructs the user to use this script if the file is missing -# or is too old. -# -# Revision 1.9 2007/04/29 19:34:11 ktsaou -# *** empty log message *** -# -# Revision 1.8 2005/06/02 15:48:52 ktsaou -# Allowed 127.0.0.1 to be in RESERVED_IPS -# -# Revision 1.7 2005/05/08 23:27:23 ktsaou -# Updated RESERVED_IPS to current IANA reservations. -# -# Revision 1.6 2004/01/10 18:44:39 ktsaou -# Further optimized and reduced PRIVATE_IPS using: -# http://www.vergenet.net/linux/aggregate/ -# -# The supplied get-iana.sh uses 'aggregate-flim' if it finds it in the path. -# (aggregate-flim is the name of this program when installed on Gentoo) -# -# Revision 1.5 2003/08/23 23:26:50 ktsaou -# Bug #793889: -# Change #!/bin/sh to #!/bin/bash to allow FireHOL run on systems that -# bash is not linked to /bin/sh. -# -# Revision 1.4 2002/10/27 12:44:42 ktsaou -# CVS test -# - -# -# Program that downloads the IPv4 address space allocation by IANA -# and creates a list with all reserved address spaces. -# - -# IPV4_ADDRESS_SPACE_URL="http://www.iana.org/assignments/ipv4-address-space" -IPV4_ADDRESS_SPACE_URL="http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.txt" - -# The program will match all rows in the file which start with a number, have a slash, -# followed by another number, for which the following pattern will also match on the -# same rows -IANA_RESERVED="(RESERVED|UNALLOCATED)" - -# which rows that are matched by the above, to ignore -# (i.e. not include them in RESERVED_IPS)? -#IANA_IGNORE="(Multicast|Private use|Loopback|Local Identification)" -IANA_IGNORE="Multicast" - -tempfile="/tmp/iana.$$.$RANDOM" - -AGGREGATE="`which aggregate-flim 2>/dev/null`" -if [ -z "${AGGREGATE}" ] -then - AGGREGATE="`which aggregate 2>/dev/null`" -fi - -if [ -z "${AGGREGATE}" ] -then - echo >&2 - echo >&2 - echo >&2 "WARNING" - echo >&2 "Please install 'aggregate-flim' to shrink the list of IPs." - echo >&2 - echo >&2 -fi - -echo >&2 -echo >&2 "Fetching IANA IPv4 Address Space, from:" -echo >&2 "${IPV4_ADDRESS_SPACE_URL}" -echo >&2 - -wget -O - "${IPV4_ADDRESS_SPACE_URL}" |\ - egrep "^ *[0-9]+/[0-9]+.*${IANA_RESERVED}" |\ - egrep -vi "${IANA_IGNORE}" |\ - sed "s/^ \+//g" |\ - cut -d ' ' -f 1 |\ -( - while IFS="/" read range net - do - # echo >&2 "$range/$net" - - if [ ! $net -eq 8 ] - then - echo >&2 "Cannot handle network masks of $net bits ($range/$net)" - continue - fi - - first=`echo $range | cut -d '-' -f 1` - first=`expr $first + 0` - last=`echo $range | cut -d '-' -f 2` - last=`expr $last + 0` - - x=$first - while [ ! $x -gt $last ] - do - # test $x -ne 127 && echo "$x.0.0.0/$net" - echo "$x.0.0.0/$net" - x=$[x + 1] - done - done -) | \ -( - if [ ! -z "${AGGREGATE}" -a -x "${AGGREGATE}" ] - then - "${AGGREGATE}" - else - cat - fi -) >"${tempfile}" - -echo >&2 -echo >&2 -echo >&2 "FOUND THE FOLLOWING RESERVED IP RANGES:" -printf "RESERVED_IPS=\"" -i=0 -for x in `cat ${tempfile}` -do - i=$[i + 1] - printf "${x} " -done -printf "\"\n" - -if [ $i -eq 0 ] -then - echo >&2 - echo >&2 - echo >&2 "Failed to find reserved IPs." - echo >&2 "Possibly the file format has been changed, or I cannot fetch the URL." - echo >&2 - - rm -f ${tempfile} - exit 1 -fi -echo >&2 -echo >&2 -echo >&2 "Differences between the fetched list and the list installed in" -echo >&2 "/etc/firehol/RESERVED_IPS:" - -echo >&2 "# diff /etc/firehol/RESERVED_IPS ${tempfile}" -diff /etc/firehol/RESERVED_IPS ${tempfile} - -if [ $? -eq 0 ] -then - touch /etc/firehol/RESERVED_IPS - echo >&2 - echo >&2 "No differences found." - echo >&2 - - rm -f ${tempfile} - exit 0 -fi - -echo >&2 -echo >&2 -echo >&2 "Would you like to save this list to /etc/firehol/RESERVED_IPS" -echo >&2 "so that FireHOL will automatically use it from now on?" -echo >&2 -while [ 1 = 1 ] -do - printf >&2 "yes or no > " - read x - - case "${x}" in - yes) cp -f /etc/firehol/RESERVED_IPS /etc/firehol/RESERVED_IPS.old 2>/dev/null - cat "${tempfile}" >/etc/firehol/RESERVED_IPS || exit 1 - echo >&2 "New RESERVED_IPS written to '/etc/firehol/RESERVED_IPS'." - break - ;; - - no) - echo >&2 "Saved nothing." - break - ;; - - *) echo >&2 "Cannot understand '${x}'." - ;; - esac -done - -rm -f ${tempfile} - diff --git a/config/softs/pyExcelerator-0.6.3a.patched.tgz b/config/softs/pyExcelerator-0.6.3a.patched.tgz deleted file mode 100644 index 32c6bf31928eb96494f1867db5e881ead16320e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222066 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

ha9hl~`L2+@zS z$6Al)sjimZp#HFad{+4GiIUoMQOKzdC8!JEjIa(<(Z?zvJd*5MFiT!ml4ExSO8yJM z(j7_|uBIT9`0h^*8XKhU?WZb!3#VDy&Y7~SH54<(eu<5udPn(VA%rVO@>Lukgc{99 zq1IEIjvqz?D`j9JA0H@jXzoZJ-`#&Tsxg6l31g$KFxsVPi=>dF(9@;HnngyyDakf? zi@%Nx9HhNG`3cEKy3qcxr_)qRPgNH7HN@+Aqt?q0vtD{nzTecu@&_x~lhpkh_Y`Dy zA(>I&dqQeUR+LrfYrbL{k_DIeP|Ga1`#T$!{1SPT}_-6%D`t>gV=nt8cKHi zxn2fFnf445<;`r5OIDo7anf0LJ`7r^_M<@&6Chx&owi&S^apZF(6gKqQ1us()Moc= zF0p~TIRL%|+Rh)7Sgox8e!|hH$3`%Re9*(Pj;6EK0jdEqeMzww744{$JXC~ zSiryLOnR^bPc6nZjlIWQ>eL|^NMcRjP)|v!^^1aG4#ht56c!>?*382Ut^uR6ov@l~ zLzNY)BwQWl14Up#Pl^RjPr_=rM)1Nbu3T4C4Q~%F)i_>9y=UXNN=hQnP~3$;bxzvQ zAMFT>1v8_qpc^pu-S+5(!jVB20l0F&vz=%pmvhm;FwMQ;P#v25ecs4K#`1?7&&cIF zIBZzFXALfJ$ILdYB)$(9r%3+BvIpQ%orEnpetSL^lR52s`3pT3Te_y$)#iJZh_oI1 zNjqcvKNMz&RBqTU=!_|6 zD1x2%N{IM|%4c;$qr5No9Y-(Y5_IJ3nW`u)V(*^#p1 zM}!sK5^BwFXx!LeBd>Znt2;!d*>AD0*gUF0M8%>+C+^5`PrcjPlW$Nq1AAijK6#O5 zvo~s!9L|$vXx3ONsiCX6#+Bu_MV@ax_`)v1p{^MsLIN==f884&V`b3Z-#7mZGT@tY zuf!i+5g*>N0HYl=&r+F%H7dJz97xD{S18PEU!I(J^N@z_0GYK_^p7|lhELV{x+xnm znFS64vTT3^z$hkzm{m6qKQ(v1*4Z)Zlf;H~KzcSc(_o0m#LEJJ*1kx+2Z?fs?ms0i z%YzXGcg*PJV{+*}vU=!<#o1{5Y}szU9WQ#gjCC`d%o$q^>1Q(g%Xi~Ue2Y}v`hU<+ zi7)KDm%?klXkBuQ-L508$Dg6n`2&oGTU3t#BZjpw_d{nu$2bcX6*`~6QwT^7EMuyJ z=;|K+L?@&y&xAl}R=(aCOp-tPbN%vT4Z~y7LFF8Qc!S*PSrZm|>!Q_=#+xw%rWZC> z@VFMv3BhR9);(UyJYbc%|JiEe2>g-*1^A^9EPuFCKyIpx%Hc1sX&`PZ_ag4RrpHP& zf`?t?ci_$ztc|YY_I)VxbX(vTz9j0hZk$3lr1uG~E$a+6^ft2&=WbdcFvi=iwmcY} zsmnZQ5XL3m?6Qf!!@%9{6#*`c)k>b_n)A*feg$Ng#wT8L^nMQ${XOfSm&8iM6wI&I zakKA~NM+(_mdhD~9(YqHr>p7GgStcX7Lm+Ks2xq0YZxFKX$N18JQf!cNR6rww@nJl zGm&-my9%0#28p8n7@>;i&M`NBPF~8xZaJ&3&8k;@uzDk}#~fQ%UpH7E^t3IGdQ*Of z=N@t6HLsE_i+*sUW1<@Mi01KVpHT!PB2G&^q^;hQSOoEScjT?gG&P_7c^axB_Gl_> zaoXc` z1Uy^Iq;p%W4wT0K`TluE1!r(2(|+OT?e(tB?)PR3Z9t~ftvaSdIH6kk$339Vik~$9 z&rk7KWnv|u88NX6_4472GPTCJn%sr9H?yDuMja<$Qyi9yc)D6s-M6%ts!7lk=zB_6 zh{Lk|6gEq=iFs*@^X(>0F!YpuBTKMpCwR$L(DTr)Z{wgmLH=Sut)^VIC-0VCXR1U6 z-tXT}UOB!|+3+oXTU)*xr|n)K(Xa03UF)p&_Jl(FM0?G`VP@6y2J7|yoHrob7U*l} zi|2b5l6&rPokB)XA8Dx>|5B(Jj-|s=h#-6Xw%_E!KK}5QDcFcihnwAFF7rKMf%^dO z{#jOHcT{Y`92~;BbK#cA!{=R%j3JnoF}t__?m!jE2Sct5iQwNW^LttpRp8Hd#}t8_ zo3$IQ{Xik~L!$tPXo8}EpvDPgu_Fua7B$y)oWPl!UUO2z=@ zT%xzHQqQIxi<^avd=64;pXhtGD$VaTNyUC(W{-0#(U!aCLkN`1msFU!xazF){{2(nN&uWmd?6sKsiq zy;6F5l|MeIE(tet8VaEM)WrMrI+I}nX8l=sE$vh~L&-Ftqs=^QiB8#Cc;l7H5;b6S ze@87twmmuOn@14f0N-UJvz4%ZN25H?K&3=4J8aowBu@xO;TmJerU}eLsj~>IQnlXr-u-ZsbFN$ z(decZr%HA^=vT|vh00J-<5`M0xIj|?;BWf&vCD&eD9M`CYhg-5(<*RHCNUr!uXFcpszUOZ8Je9o)gg0_l_8wt9JqOdWIrSrjfi<%P23nlL7q zXaL!wbS_KILX;viRQ+Z7hMhS&fmdH7Qe9mlzTZo#8v{j+{w6v9e3G54a|As3tGApA z-*)?@$N%gqPAN;#ApE#t%EEawnB10hZ*|}x2zyKM&wB=g8TNgJH$? zA8#Xkyg}b!bS_8OTm46SXoUpxmT_PE+41*jqt0{=sN>tM)2|xKE0S^PEgYU-l<2Ph z$mfn$mh~y;a`Zv@PB>*zzX`%s=uo?NCx)7L8numK(Yok#NA>CTfIj>&;v3l&@&`w; z-0G6Rb2lAq6QT1}s2N+?_J$8970_d*D1WtW7UnV*qX?P{wIv{sK}#ccntj2ReCAaC zjVtfyGa=(0Y`t)xtMI(zjas1{kc*`{>)C`eJ5k#PmI&~? zY}TZtH-1Sxy*Qk-gn!P$sGY6uW7r6I@_dVt)=w89$t^1#9)1KrWui_KtOBxA|*})x{em;m}a! zPzn8AJ{kB_gHqz5)Bj#(hneef)wWPk~s9rOuShowOdD!g@;(@|52oGLDJ zW%F3AZ6fT^^0L#9ye1;2DgTkSX7s;QpU7;m8q)|#)nVwmQK?L)g|He>fk8w&zwA=% z4RbsjZiZ27q~=BVIXnz~u|fL~es7rawBMRWv<9I1k?ImdfatjJhj}5s3%j^_9skaM z{ROEHpNHZ&!mqIc@zo2qpz|0@@;+N{)<1pjKI6-+FR57kK`_9mT)J~mB|rZt#V zKo)a;)2kbdM<pcd&GZ&=!WLG!Wh6yk>&a&XC7Nk-#)i8tw}CRp00<$I&S z9kkwc47Lo7Z93a6QdI(Jh7}D8Uv)c%k!%UCzh7HEx7}F&M#vql0)BQ~?|y(Zp06=K zYatw!dqi9d;Jw|{{GadMhAhq?KHsiLc5oUSuDoCsl=^KU=Gf{B@Rfx*YygYx7vmP9 z<>aWabr<8-C#_C%f6gL$jwUR&AY_F7Jv0-x#ru)*e9juw< z>*qZxtGjZqC^cm4fmw1UP*^lA)bmvZ7AP-TA<>r&Edx+ABbO&n6YUr{6E0;Z_e*4L zP;)hY(oFi5O3eY{hvus@@D;gV2+CO!j?sopBP!<316?$NJ%OKli|uw3DhDA^9TW7o z_|Y9>jC1ewn4^qNbAxWq*}dp(tz2<&1tSd|Wc7$*iIW{<<>~dXb;6VM&I?`$l6gm1 zyaK|!!ogy1Z7Uo~x_@`_Zwqtt`hq$P#wd58QfU6ATA4=1zK2aAvuf?VlHAGa2Sh=6 zL1Dhpw&4DTvZuNCuVHum3!Zf0u_ji^8?8+xabWsZgka*ZWAlFJx7{9G&5f6>#c(@s z%mL4P5n@9dWh^?$(no1QAqK`yL3fP*p97=slxsOjTDx+ry(wi5FKUevC7oG#QR95F zA$@D42l!>|y4zI<^2=Cm9Ec-Kg5TP<@F)1Ne{DJI_NB9$v0_c%lPoBLys~>&xjXDd z8FG$VHm}rid2lwoD;eIAb_BA7@TxOdWI_q z@Bp}2eN^;x_qN2bu;_hjp;r354j1+y32z~B+}-Zp-fJPvola?S>sO$8YTUgdF*2a? zf4;fu@7@<~s##kCJ%R2(!JsXtXFu<@K$nmS-k=FQVQ@ z?V8Kb6YA&~=d(VnU|_+50Gdgzk4}Ji!bw+^>FghJ=k;1v2h=TPDJgdM*o_(PWE4RL zI?+HB!(E?lU0Rj7CqJ{ki&ABtei@ali!lrg)X&3`zL09z4kVhSUhjv~)RvX5V!n>X zz+vm~wj4=uX-TRe21dh9pBH)p_`8nvX*sjTe6KvNsO>J>0>PUB9 z*5N1s13n#)?h%U<43xY2#oTPY3Y!|nlamc_ewF3q0D?wf0K$C?+dvAVx*VZy%t z7o1&BRkqakEzOTvdCSX+$5%^Vh3_}xkND>fH{(am-Eev7#U)J8#qIF-@B(_0z zEzvpmQxmdexKUG+ytE+hdXOdgQT>{JAq2qZTiRnat$?+!>qWn^tTQtIwsPqGfhJIV zHf8A5d7xEf2cCysBo~7_Q7g-dK~d|}0k;E|&Mu>@It{REk{w0Q%rqMH zur?N6(?nfdg>Y&PD;^lFa;u}#s>B|#M4opQsd{U2b-2ogW>E!wjpk0hK5}SrT&1I zbD!UTA_LOsl18b*zigQq=BUCg!BV5)#8jZb@QT-({t!B{b}gHD5y1N-V^zREZdknE zokc0uh|qGf!Uap*Mq!NxNDWi(r`$|n?4ENpFEi{_uRZKlk2UNFEjmjRK?=)`4i?~9 z+dbXN-jbh!xhUy50FfHU9z^R-d<*H>^6lq|u>+an1M%tVHHhiz*On;;Hh@5iMQ=}< z76a2z{>9J4Lodq|pJUca;cHxb^9M3DrnbXG@J-(F(Ag7lMZwTaT-MrM*i|%jS7cqD zi*RxUQkSc(>3F%x?zE|_(&f!LnU?!@0H1Z*j4$Me_zXCtpumc6p|6VU28XurAvtOs%D+TRgJj9pE;#a6L^;5c z$FyNjT6=rZi*+*^zN_#T>rmhU9R(fRu~R(?lb6H{&g z=JyG14NC%#l5-D58BM}zlEg`^9r{VepR`-F>L~C70$-|?dNaN>o}Y97*5QAg2!$I4 zYnab2B(wXIDn^Z?Q%&a-j)A-Ira%qlu3`p*zsT3n;4>sQBy@M5_-oH#QPyL-QfA^s z1Cv^Nn3hvsZ78C@;{(xQquzos}rOf)CJ-w2}&1{Mh^+{g8SZ)LC|Hu- za;|#^CQzS3Z9k1ti-Fb}>$R1<=dNh-{VI78Eu4C8jQ`GjUVc_!OnIf=>U+3T-u9W! zo(|2yd~Z*g#N`1dhlt}VM_!_rH5@w&6C#6KDIGNB#0ftQ_ZQhj!%Q~0rcy{9<%x9L9Tn&w}Li(s@-!>kD2m7Wz`5hy5dFS>?+j0)aKB!9Rmg z?r+j}p@hTn$}|F0^`T`SQ~;GsVO`)r#sk`8!oslJY9U1T6NQdRN3uz)gHccdx~N)e znkhsa<;Yo`TR>+$#;X~)N(aSU7V#6~59wuibXIjwp-dxqqbPea!qt6wTE2;v(3;wkGRInWQEh4!uX`q>+#c2 zhTo!qq%MvN{&L~#>ej#=Z*V?B*$^B8DL@+UlzTrR`tJlddI*>p05ow$;NiF zv2E?dwr$(CZDV6>l8J3w8)IT_tlez5@txoQz4v~Zu0DNE^;6HOs>W2GGtIY%Zph<7 zX{j*Rsm5}*AYX4n=__Br4*zwbS2IfS^GIn`AtkS$Ft@Jb`}DCxY#K`6MN~au6t-sp zH6BR^qJ?{s!QXUVsl8<1?_$yz)F%(;0Je|56=O${?R6W!d=S-1Ri z?VrSke4Yf(KPKRE*nH{(tSKrlq#&;N8%*s5N4Q@E1(|y*dl_Ql7m#M}%pcw*xqW}% zv}^xKtNKA=t1cy|t}gw>&rVQPou2-SI>XTKhN-)w^UJb(+1m$CwSB7RO@Q1@RBUyB zkx^mgAL+V|3w~l+nt^{FoR9$}{q5-uvQqOOHgzO%pDd-3_Amf7(fitfeZD`}WTMyn|-rhC(J+#yf zZo}XZ_$E2rC~1g405MiK#WviO0xO@OCY4Xxpnjo`WU;iYZWy|6AM*`sHEjgP!FwC^ zf3B`fKAtv}EMKMH_MZN|O@2O6e(oi|1%n@I-~a!ey_8SoYH@5lqvKAO|1E^T%LiS) zg1QU-p?!|MUD6@KM@*>hTDuE8#Geb2c@2JdlVU4E)0>#+nO|L1A{@8}$G2c>_pz^O zR~!(1uUOx43<G=E0R# z3GYN!EEv8ol7tGbl5#(e{pR%b5IG~|4qhZB86FuKpE@{rrv5#eh9~`N?EG0(J$N_b zl&lL?UxxF2?5~hxZSAelVyEvC$p3`W*EFl0&=4!enELG0Fa`C+oa(P+>9Vi)uFz5u zWvc6)L(1+Rg&P$5Aw6c-Gm?Nn%j*R=U0=bsS>Rv9s@c4gqpxYN#45LM1z$9&1STQT z>l4$FvT5P2tq!dVIs%BI!8wXn2Z~Df-M>62MYSTvYAs zF(e_(q)e;tM;(qI$Nt5ffW=EUeuxIJd>ED23)j$B>q1wre*O4gz@(3Wc%M)`Xw?4& z5i#dV6!%yX_+7}e*`V)-R|61pWGW1bq+AgkkQvz5UA+F`I2g1>CKNt3vt7E}??<-R z=hTs;q_TbK99vtLPSafa*n5K2g~GSiC~Rl|^$^W4T-)%3w7tn5I|pMGJJX!0sZ=4tG|s&OXT5OJUc>%ix1isEC-y~ zwn%&v)dgEhS3JWD`% z#6PReEtBOB*@3-<4Ep<$I*(UcRyxSR$I@aJ9DljhJuf54U!U8SyitT)4*LPQte z0Rsc<&LZGs0vE7Q=v@|$qT7f4Vg&gGL1TlanY1Klz29FB3G8hj&42Ht?xu@_e}#}x zW!2x0J3#`AvF@GI*y07t1T!OoQEoxD^-0lXM{j9MerS0HBvdvXmgpBTaBcp@?yIS+ zB*WckY1+Z+IL<5{H_}XTqH^cMhcP{9OHKA6B8aW(bR^^$NvNoKw6NgIWYVdye%e#a z_!Hhj(FcP5-|=%}6k9J3DgdC5hlrfo1a8sxy+;)G=y|%d)JodeFBiu@)j91V5%aCn zbv?knOnK2tGkA^bNU3FH4^x6oI_3 zW0h^7NK@fXoC;8@W#L!EFEBskr7tWnf5&)y|DMjQbEY@3sc>hTI@a!pGFTA_ubxkw zjTE(K6N5(_;JU!ojw{5heo@CB`v&WE-%ybC5d*z-3=;?c&i+V18{D@OP$MY3U$?b^ zQ91Nte)YFx*HmvP3H&g5Z>=wOC&b1Ee5ihn7aE0Y-LoU<$g{X#-Xl}*g`CxxcnrCB zTp*v>I3$Ii6XqLaa(#&xuk$}q`dIE{swA&2j;f#X&8>@R*>dOEJv z`df21HMP|9va02I>w9c49X%me_PnV6aC$-I7*VfpJ6qCPOGdn(=w4DFF;mMvmBYjs? z>_3mN!2uaNPHRgKF%6bx4pw$i8W%~Fvb}@98WlnTl8)GRi-_Y6k|p0?etCYOa1#;M z$h2;ONM4Huuh3nQC(0o{lm~$9Io_$UWw}M9M1C9kU?su6)Hq^skbIms;25HYRec0# zSA734Q@*VF*d|N)5K9FvR}k&K^oW-li`URgW{iKAA+^uNzW+h^Abi1^bR6F?>WaNU54 zxfd6)ay@ckb(N_-+?TsVf{wWWKjQlbrxiviW~6~`b_=Y8iIpk6h8(QJX_??E*cx~K zJcw?-WKc(|FDKy>3a`eVk{-&TFVO{OeLYa=lmUVT$@67}kYJsw8*X#U zwb3)sT0;Z67yq(vU2W7Jx#BMMFGGoee6T|aM9V1A7_*^9j*bH{?M#^3zx6`FEyRMu z8kyjF7hZg2n#0(S>fDrW=eZn5?oMedM$dv0XW-#{i~hSON3$vyLBxy2me!Y7J|ZK1 zEIWVciDuzs>qGvBmw(yq%#m%Mdiwe;BP}bU`7hW6a0SEt+7ckAjw9dxe`u7Fa#ped zBEP2yssF?tN9frQ70Ls)+BEky)*RTJq4QmwaR6=HC_fi53U84B;f$3!k)Q3zfXI%* ze?^cLPRno>*dtY|U%%^7M=FBRtHXR`~mLs)56il~qjZm}R%>GBu)*T8}PpEqmJ z*75M6CtpbxIg0BLy=SSDcY#uMG`xi5#HH$6CD2FC2<&R^kaDILZjZh_I|8Z5Inx_F z;;VM6e0gV*L6(^Z4IoD$IqcF*+^gKN4UcBJe{|97=k#h@MlATQvH2*yh}msdX6cjY^x1shIX4V(6W%Bf{Jjvg71bvy1a zDY+$0YPvAV5?c^{s*06fW}orPk?Z>1JZ=^-sULH4A=QtS^aR(MS|y8F^@&8>#vOUH zN%<5ti<2oE5EqW84QdGy<(fRn`m2?FPI6|^+Kh{nOHxVTTmMPb%LZth3D~m7KoE#+ zll$M<+mVEATPDm!ljN146fbz;36v_3(pV|oj}VViM{1{@B%l`ZnW9l%d2DN%?M2| zPp-5iE6>equ2D68&$aJCus*EvxNA(sM|b-c)IQvQ3C_}~-nm?&@m~K5D}~~ZWQy2s z7~kTVKJI0-riQP}FB3xjy)-wULcWT-C${jt+tsg{@bay(HO$sQd$|Q6ZCsksk=)C( zhE$Xu~#3>913(3mPoIF9@plwh1Y>%X`N@Ck#4!Ye>cx9ET@sd&tn^XC5(w1 zezxY;)NiNX)nY3fz`W4UvGj&o4k&&ogso#PsI>$uyYPe!Ely05+SV9Oo%M8B&U1J1 z)@xAl%xr+&eZ4VYO|smGma6kwZc?KkvVfR6PIqt>mav|Ym)k8`+8!?z``|OrS4r+I zM!tT*n7CP3zS_DnK5sl#e6Edo2>;we!o!*ov#l#B@q#nWx6}>D1i-lY_tuHZQI$E? zHmv7OYUy)yY&SDoi`_E5urz}fYxOb>gSq)~7-VafH2~KUHKLn(E&KU3v#WAZCvgbGd`S+T*w!!ljLhBro+KL=CL-Tc_K;2tx56y&J4BIW&RScRnlE3oR^RW+F?$~_ z7~<3av@)`f$wp%rdX)Lz7u*=8Xb zvocks`nr! zzGtn0W+3~6cw|Gk_&{2v>N{Z>XR{z8{}gfD$z@q+H?Q4Q<*phKh|Dn$V5?VB)Z^UF zO)}7JuKHGxmcw83*9Ww1WOmiMQgE3Ga%uL=9NpI4(3KSeF)brNs1b&naLaU)1o^Fu z4hmP*Fl7&At(udl74jtOT_o_;)=QBSIf0K~!@XKrSY9`?a30lK` zBidC5*1I9*0@IWk9n0Uk`}Xb;(Jv!OO*RswrAz9C^wZmz0 zPqhBY9@;Fi95O0zm#aDJf2pDlUHV6Vny>&#&)ZG~ASSK=d1Nx{YxDAJ!xb}%HT%9@ zy%ii)P>-{09KPz~CKnl2a(B`=&P{hMI&K6tSmP~S=yWlhN3l)oWq4t1W4=lB&@C&Q za7WKDzv_IvoyjEa*pcLnpIeHSQK4ghd&e!;lq9fbs)-xO{DID2BU zO!60di*h{tjh7&WTWlj3s}nqpv@+act}`>-YWK*De|!!-a;>T<(}Lc2j?Qav!tGFc z^_F7<6g`jY(uB!boXpuhRutI96|Kn5{+2T+F0jJ=@Qam&O8=T)^H65h7?iJT^UWo` zI6zlRzx?WM#tRcc)S79!L5+WlUS^4dFXfirJlOiM)m&Wd#Yb^2>lmOeyu{R+hew+z zehg$}o}4~s*vtV!m!YOKXot1hU-NGL6f*idBETXe&fyrHF(UssCm^W0+wwgn3i}mW>@9WtDio{#<U zv(9(sAmjd{caT$mdd&)$H^ICK{-0sJj1PaQC+1p-y_DuMg>{*=am#p@?-kGUc`UY3 z9on^Z!)tKBRv(*MZUNN(qMC*7)e`2}K{7Vcj9v1Yv+i?YzmIgz8#uf`ai*lSB0sy^ z)6(rhfK#UIkF*cFlzVq2*fJNrChslWg4}@*if8(7Wn?%xWplhpval9iu=3X~^nJy8 zi&qQ~HU7Jq)(wrs%yo_58nhgE3jtYL7v(suXVso_2rg-jVKDrXjFmD4?iA?iEokl( zPRm~1)y8eEYBktn3bhM8xk`VRjjJmLw5aipV7~x6MbP@FWbhEmwheU&(uNKp7=~g4 ze6>R?wlw($em*#PQzy3B6}gM?@_O|kJ*x5GtMj26}sbg zcVDwjEd4G{_ngyRP};wHrbn4_8~@Q8Af~N*-dmoV?~aL1iEJ&ZQ;bptPQY2)_V8iX z$7v4gK9wb#Gf~kqo!3O0Hi@^D-X`l0IKcZc?Rg%UZ-aec7oD>-IS* ztW3Y?s)=)$V=s5Ni$leO{?B%G(44N%n!`se469SasPYRht%x15K{c_8C-q(%*k!u^ z+N%Cl^)D5+{Kw*lVLFVbt+uWY#Q{cHfrniFbAc~63`7>X1nh|>(==jI(csVz=H4V1 zU*liZVd|j$#-byJ)*5;MH-hwYNIg_V{r<{B(BiHs&Wi&*Kp&CxYg^Axrfn^kc9ehx zV+$MrKjK^xLdD-{ITtUSe8VrO<#`4}MjaLVSM&gmKO+n-qpJx5kP1>3uzDZaj0b0o zrPe+?271Q|0Mqk+p0RcKCd8`uhzdA_#8HCoxY|1`AS!nPpqXC3wi9&@r`X=zi_Xbl zsT;Vy*?=Fy7CI^yf^Ga7Mf8Ih1TLAs#*(E~)oMYN0k#@)kYhJCwHMiOtY5q7%)V^N zO~?Im2%av+h;pchmT_$#aP+#i;3m)nAJ65&463cE%SKG0Phwl#0@q~y>JMA|DeV6T z5`RjS8o6Nz;VavDjPSy$-{Q>gE1Paw*-gU+=_MQO9yzUb6I~Kz8`(qR*#ufT00a-J z30rplkP9qwt)h?{An6c*3Mfh@`aL;iofN+p=>1giprJ@9EGAtA7w6^sD6>-cVgNo9-68OfmQTk~Y_mK7e+g;EesuO(9_R^p zG~M^?RJvsc%AbV60o5CL6u^zBGlKFMvG$z?$s8*}*Tn=j<2pqNg%*@WUa>q-079N^ zJGrm);m4+4f^GZai08&kpOdf*(y~K%hcp!+j8&rDO8;>ZmGlrPwQhqql;R?`J$Z8V zsy8O4^T#!1Gk4xoa(3zQHwsjePb5$<-LW#cIT$HYt*XSe`Y0Da0fwG%uG~X;ib6{% zpY_|6Z+1%Z9kDBLLv@a15kZVq;uc+K4y<L%GzAgnzh@3P@E6mnQ0dEGL_Nsk5 z7kc?B`%Gg0HSvuM3f;WW>G^8;$`)rb{60~6QA)IO&Sej>1q8}7M-ps9^Z87Bk{LYnHR=4q190l$7 z2$Vs*ajMzcEm8tE5Q01;hIL+D?ftT?XrV{4Zuv1lBV7C#IOxv> zF&Cz}1^c}i1f}1OD0!UGmaifN-Fx>)>O1{+HeuKrKzX2_E$dRp=D#4)QB_XzLEenSlgExT&j^8S}xxWp3- zTK4;_bGW;+JtElA>BF6*aI24Fxpf<2aIxYO&*zeUjshG6k>K4zs|2BcmBT6C4m;3fRHf*sLPDxEBOv@0Ii{Z&jsgZ2YFhc$oLS|pA|bcg3Ycs^sfzm; za*nMtCO5>u=##7?J>7_;`O2Qx8%!JIPp{KmN3sv-9@y zFn_|m%4Y>#mrn^edK+Xg1#__z&%1L1JqCg%=WqM^06BQD^ghntg%uPg?!0;kTWxR2 zX@Q5nyE%ldHn*X%=RSqb-WIfF9mZtx`R6`DLl<*#-6svdvy)C8iAh`a7YP0pVn`KNNszwmqE&XCgRPw4iTSMUZtct3JjisFkL*qD7B zje7JBw(PO#$VoTfqfdfCf7*?`N+@suV;^XmZ9zZ zzqu+{6&}qjMGb@`JIbHIXRKp_7o_bE9{RsZoO8;IJYFj*t{;9v<=I(yAFC={`JNS>NQjG?LO`r>=?Chbv*zGoTs%}Em`$) z+3nEd)^OAM&DlNSUx1nJOqhx0)TM*&<<@VV0qEq6Yw3;hauL440i3(WZDS$4 zkEWku`-_Brw96Nq?T1fOowFV2-v371o>rw#DAg4|9AIiDpVQ5vV;q1H#~Ns6pVQrD znbG4tN~)+Z@hn(+pNkfp?Ldt8=#T8mw@U+dtmCDN`=8}>+8#O(UpGKnDHq+rXadBcE6vHUDoku>sqy~||8Ib7 z82x{x(y&ji0;dCEUUqikQ}6U8M#pzkGd_}IYpJR0${@C{4h8DT9IvDGj<-v+v|#9q z(0lGLS?NQoybm@@x#pG~Y2c~HV|$l*n!@h|Tr${Zi9d9F9Vh0b$Byv_RQZa zmZD((pDY;JWwW~HasELXOug2=Yrs@Wa%Y;<=&EZFOrgQf*IRZqE)V^QuD`^6c|ZT7 z>akwe3n$}0%+HQ3TpUW16NulzC--#SW9o&pX!(BEUR;;B46A>- z@?6()uZ77c+AZryz)(Mx(>fnZ z!XK$?LqSKWKn@4uj;nNHtT9q=FujBk!1p-;{Qnp^#APx7ueJJ}kGD)UNSGw`=te@z=37R%S6Ena+ z{y(;`9s%odi05eOb%$?&Yzg$+{|3l!Cg{Y%|H+1xoQZ6!3>5+-^6NHL%G+0%EH5`D z+O@v5jhi*~s{A>t=QQ;!VGAd;L?pUux85}ztn{3=UC zjfVTZ{0LgEu(CFro18Z`4UXYBpnZt;srV?>R#9vzK7HBE4cFZ_CqG|&>Xm50H~(tT zP-My+)dq_iZEZF{T&7TZiu2g4e1>-91~QGdNWMkg`Cg!j*a>5oSEmx(EzUG;b% zJzE2o?{}m}!u*8eg8C^*Gv6m|25NS2ZJpaG#ZA2vx$)O^7N@G7R+)wd`fewXY8qiy)c3_G1Y^Mf>!Egx6r>l@&%k@FW{4@ z>@e_|;inQrvXau>dHC;Pl;+&8Qar%X051QbM+=N!tjkeP1rU=qr|S~OFK7|BfFp2U z=tP`cW{=E*{*t5WRUV2nzwC8H&jj7rTNt>DrT?Sbz zO;)ix&H00qYN0VvB+VkTsQ{3>OlS3J>W${SXiGI7LTil?dZx+)549PnqSm7Rf>$oh z3v}0+?gc`cG63DlL{wX6P>of0(8-E{ycJT!E}2q_j@s^R3#iIDE&5LS@NNmzuGV_- z#Erz`-gBR2Lgij3mTed=E4C4$vTergJ4iBwZF#Ly+-|>iB?!YepZr3L9&h4lV zP|Y$+og_Y&Q%dv;jQQyj9$EG?q-PgT7Gttk=&)XtgAo6igUO ziXnO^`I%@drg8}<324BW>LL-2R^0ag4!c#0{huOP7PV|7srZd&hTDpY+>va=0UVwe zR!T~OEKZDCzM_bUEad1osT!8dlwyc=98gA4q&T`vMv;uV37XywOGZ`zf$VKx(g8{d z(wwdep^WcuS*>o3rd>|?3sjtXVFR`Txr%Sm>eV(M4=0BkM((ejYMg15mM8(MBWmrF zwsASh>AdnZEpa6mL&jBZ_o_{u7IZ51u%QF-9gGOm8Z9~&yh}QFC&ixCT1}=wa^x80 zA6SE#dgZ;v+^f|z3>9kJB@toVK0R6I^C0A1Si+s zRyS14B(>7>z6eS+RKyh}pK1)PR*sdgvk^RsX6y-iW6aj_is?{VS+kn~Rn2CQ74RRMW8p58E{&tuF{!O-U^TK?2nTdFC>EtX4^bF`+)hnH?S zuxn2>=0e)(vTD*eW5IFXfztV=*D}dNFm@}}*}dAG051@$gZvpO{bG+lWn&gk!j3tW zO%hL)$c#aWyGW_uI(cp#Je_6Lmm0aalBHL^bQ5O(@PYB-&{x@`+u(T`ckI;CTdTQ7 z5TEHbq2+k`SU`|1RQXHDv0R5mL+gUyld`@P&t^l8uu@~qZY**v3Kt*#hhdbfV{>x` zvwigN=8)MA6At4vJWHekYFJJ9aaCTMWea+g$GzPW6ZU1I9{bwpHEBZ5YHgm0N}FFf zLb!iEREDL!{iZ;rfgp4l7jEjJNHF6p>~J%*#vI<2vRZg?+LuvQ(wYp{;`K=;3`36jSAzNac z&V@8?#VTfwdAZ! zAxo}HdHE|+6=L8C2krY;m_+E2O@|D4)>M|tC(i!3)cMMGrn}** zUud)|FuKBMv>Jt~*`e;3wJwLvW5X@KMpv{}{Vh2kshVnq-J_+MKtn+T!nJ*rB5G(G zX68aw*0V5k^T26q#m4?c5as(oU_xZ5Qg2V zZ9;F3eq-ZI%azcfv7%A^CyLU<2@v3BOCumrM2mua$H%TMIW$<_T=`g;j0x*=O)&HE zlOx0@%_}5=wVR-=X#L?e4|FFkO+K)%!5=Fp&MYLtjr3{nYyR@K~iQ0_qp_#n2e@GzO8;f zB|h@yyvmU7bMhZH?%s?BUs;JEPp8iyRCC^DWdGB=0*X2PFUQSvPORmTLvzs#@6Ugx z=ve4^xuThIR6;^g8&SCgMFMd*6u$e22)5Br736`K2>9~MFuw*VARti{?ow13Cf#!n zwF%|_5Psc_M*S%1ID}t3IH=+RQgZVOM4Cj&9z?6F+#*|%4x(EhF;)zc8w_mTq+}5Y zK-<7#5Fn!Iv2!bA!ppmu2-k(MA*1tkcX#svOHA#gqquA;pXKU8-U5y~?God(;Ap2- zWI80AAk*@sn89ifpzC}U5No+^AS z!e@k$QyGX6980upwJrmRiC-7+W`oq2%qQl&3X_^n)KIUe=!wu{28ImTwc8+`zc`5T z6DcaHlSA`IF}(eTQ5+d4@EyM*s#0?;=^btNw0UK0`_-0$B&A(BF)FA<^4_>#91XKE zEW)6VV!F~=ifl`qdk?{I>F8Z&7J6_MX_ko0$o~?G><^a&T->9sz+ ze<=wU8E(&F=-g9b)zupbNJ5~?MK%4)8G>D+F-6LWM9#EoMPI{=i!>+;2ahhp-tsJ& zs6oH9_N<0WPpu_gD_QK-YPwQmMIyje>}t6K0v@~g(6>mX=A|AQt1wwbZbOxy;#%=2#? z8i1)g-EYM*C{0|;JoOx=3D}G zD+beunSuL7+c3*cp%}m_mk%uMK8HBL=h^1F!5ZtaYx5`{+_h3 zJ8=W*Oj@)G>RDT#j*UbLDdKlVWev?HAC$;@Q*Ag(w8}Kk$2^>OYv~I`)z*8lTR^)T z8&qrAq0|NY*x00D{)KHin7-TTf&5w0++ zP)1t;OA}2C+#nH#lNo>+e0(iw_*azEB-)$D&5S$#-738JW6>!5L@r&Fqbd{nu&jFs^s6WDj)d9 z2S^mq5|k;V|ElC(Cs`boR`#o(pDWlo*a5&Z5s8%sqJxf!x^xA^o{C-67U5u%d3fSu zamEqut2La8zQF#YRI&eLoHn}c9C z!PVfu4~+pso8$v%!u900Q4cHQPf^$`7r0B(UA&G#zkHK3oe@!0GI|)tWzKZC=!!=q z6U0qal!}T)u2YRo*m%C7$BI|l<>*MUSDZ*7&5$NB`Ve;HV}%sZvN1!9Oqw=YS_+>G ziV$DLrCXSr$#&9YQ<9l;WQ0gZ51LRpSx*J3o%~FkTYqDSeT5^(tZRMJ0*dW-PK6e# zpg#C^rwOsk!-9WNMXN?@5Hv#X$0W5psBU<4%XO)E*0Z``p;9hE6ZCks=!d1()@k>H z_sdzlXTI#A8;sq4rw9wNoEwx_M<#RnRJ7a%a&y2H(hq@Nn_uS)OHy!tlN;+oOB=YV zr*LJ5v51J3((uBb7>XF%{bnQ!`#ame`0=;C-A!;*a%%TSk(TN};bGB93vk19{2 zKVknFARr*X6m`o~6D{Cv8FsCIk_vIR(0PGtjr_&oQ3jwjGoG%w~o0Zs{yEgRSM1D)T~O|AewtAg)<=1Vh@Bu(2Bb3N*e4NFaALUh{g0X?V5V`%#XuR)L6y(}9$Cpx1qHWd2z5q55e*GxI%PB!`Y`^2rXA~j%Uyy7C;w#X zZ&lTdhF`>VW{ANTvIYX=pUuyDFc$C(B5+rbB*qI;F;G$ay0WS032X@PaCKESA_V*H zhrue@MKkyRBE%+JIRF4w_Ddd}&wuy#|0=Z|P1snUB|~q%%=&#%q*G}=gu2B4(kOH_ z?l+U@nO`uofSR04kDc1A$dIB{fFk^BzsP(KHcz9bT{Mogh)8OA7~jnyfI#5=JYx)c z4ce!%>U?ETG)cK$gQWIb+E;v+tZFEJrf^9F*KB-f>`)S)BA3E=+N98_4BM=DTlDi4^g*;6FvEMY4*g%Qz+VxXne5zI(3#;qm9krWu>w3XJ}<5s4Oa6z+5lTm(Zh6_-*c(H$*ciG$Ii*7dXlsgQ4-4hMwZznE zNSK9;8B$Ynz$Amc)HcO}V8{QMtvIECiJh)A@%Wp05WroC z!QsX|Gr)1Becd*d#=AG@TWMwXp1S$v@mWBWAhUWEO1^%{Mk7l=6mje-3@bi;7y0ib zmsiZ3EXx;FQHVAkL~3aARVX!4GCjld6j(i=?j)H{f%$B`0-lLDjDt>HFvXTlc3boM zONX6ingQ*&Z$*^yFE!#EnNT4;te{?h4sIb1fyq7^y|oi$IGR-4X;pmH$~PB zJ(n(~ghC&HzE&3gdTs(;Y!-Iu^E0w;uc$lw(qtafiN&N@l1bb(tE2{$+s5J*FLEho zPPs!<{**^*+Jb>7^elJr#-HMXG6JtsylyNlJkz$&wp3eI<=_CVJ`Ui%ewr;>U|xU5k01V(ph^{a{oMEWaR1zs63Bb~Jc4TRFkWif=iB63#(~5wevAu4$L|9c&ZH?%XC>6TALy; zA3W2MLvp)v!%FKmUM1OovZKAK4uEb>Qvlfj-62}oVxoC@YnL)g)%S`D> z#5SZg#a{y&kNp=qOh^-&lZbesr0~Bw%1FU^4!76zK4b_!LXcc(?$)kxzMrjDR=uC! zdq6yQ36i%K!SQ##-M|)v&qJ(PdC{xag@}hFDILd^o0&69?ESh^^{>Q-GVF;?{9qy6 za4&f_N}%&#ww=uo6oytio%cZm~0SYT0EXFS8NOP@%HH?X5lhYdUDQ z@9SejB=JS4sd3CfkP`Q75*O)*q@*=Zvph@qKbNEP65j{~GAH^XIv-I6^8Ui7c(K#b z&56K0^0i0<82%%^V(eHb7tHc%jL`mr$Ful0AnOTwj$w(?u#8pfymxZUq?TDl1oP}) zDtwo@NF*8#gV1_RpRnTuR0Xe4TD_kqvn;6?EgIk6RjeI^%kQ}f@4gDA(&zlfMid@= zX3)K6XfLSRM%9#TNl+ru%(w_lV4B8dw7qCd-RCw8s~Kr8kmx{ejLw>6vUImX_#T$n z1zAtB$$$V1h7@pt5ct~D?k~*Y0REaNaPbjE-($J4Aj0%8;-itv!Exc~hQpx{S{NBw z|MkAWc4S=Du9eM!8721^IjQVrnUW;Pq^=q2_Y=czzgU0mTy$whB$xWx-r><9l-+{8UZ) zj(?%b?4v*WFoT(4hRfjxUDpEbhOrup(1!u>;|2@KDlwYl=mV~LCQ5_He5e>tlgoAR zyTPzG^;|boE-)uyB4s&zqQW$+1MV-ufl$V738WF=Cnn4-Vn`G&MutvnIq<02KN+@R zI1Z;l3)c3wc)&_-jFx9vXQ#YCEzr|$LH29*VooZq#XO$9XKyZ39=5oHDf^I@n=Vlh z;&cnv3lu+AOu1LWi$7FY0VWDRSD!d0@@<2a<8(sSWt10L}ergdr#s($&iFZC3sn~b?F*CL(5EHuBR^yPG^+FHoxEv;*`ffr7~wuFqAL$2fGmgo?%-ywVU{@yFX311lMZp$~~!8 zLSreVJaMQv(HmFge(00`h@HHSp0*h^CxqB0V|~>oCEAr(uJB~BKqHlwy;B`tl{>qX zf-f)}07G0YN?0yVP_nO1-^nz;JxQD43v(Bnw#%CTQs#b&3+g@-Zcoi3WZ!?aL{ ztQ3S1xy`guWz$3ut6~-168W09R~&XnAYop+t%9RnZ-}uV+JfkIq=^;)!cV-0q*klQ zW>RJQA&!WGHg!EqU*p#%!2@}9Fxe%cMVi@Ln_uT^ADM7#MvlA@5Y5#aFq9H`^Aadx z7xw5Pd}h&@m|L!hwz7xg`g%un=Gx#UEZL=?+j%dC9NIln$^)kvDF7JJEH0@YZU>6{ zu?q?TcH!bQSVD-awOfukb_U|ZWK6b_=ROZTe;zdDv_|<>+xtKL7JNp)(F;w33Pqus zjXdx`%!8MN3a0_d;VGBGm8>FeDzgz#|4j#qRx>FCoQr7pZ>GykRzoPQGW}7RHGM)! zULhLQ7s9hr_Huy4c&Jj|k)s)?jAc6vJ_}>|`jLiNhXBW~BjlHIpoIKjYq;UpA2Ys_ z-MO+dc+&{6ObVABz>TY@$2Rg_x;Yxc!`6g_*)}+%kuqe z<6%0ETQrDb_&(%@Vh@O5?rUnlu2aqwB&&JEb;?4 z+i5ik=Q3Wc9(xv4`V&+NBPE&_PrZ;#qoUwTwgp6g#%zWRV=75AfTH>a`E$)6M9W_8 zE1a#AVW#RD)QE2j^vS}Id+v!kf*_>Wp7V*_NnD0)j8$AUhoor#hFd!Xt{M_@34kSD z?VXB(D_9{@7zl&CNvL?nm0qoerBY?SU&+g%st7$@I+@YPEsCVTb2(W#T{cc1W`q-F zv}skGHZ%?*%BixW`dSn{6(pa}kC33mY87u*h;0kgrz)Nbr`9$Y%5-l{w>i6F=GxzM zH+Yi~Q4(z?L&r`A#EXZ9#Bagmb?RvNERKoHE#K8?K$J%Y2o z7QNl#37Jn$2$3A~V3y~h7rPS?rGyq}3Myml)o${%^0TQZERKGa*ypNp+G&(KMv|;* z$3S4Hjfr8jJ6Ou>^uXi9l%J?gh~g-9oC{*1L4pg3H5%L=Wuz!jrRHQLcLGz zO3#zZ*y)k;38y4}ALV$RXmMu(g=v0U{AJ4kB9h~S{6;dB&0)Q2@LSDB!qY8C&ol7FGoWa1$%KIBH zmS4J9|2nHtrTVBC&)S!`F)LMq@UV_EhmE~#!Z?R^+`wPr&q*-M51A+TV&&tF?>MR(ZD8(yW;)e z6xM<;Lb#U_*qcqVN$q0<+v2X>-O@|>LJGfraYX+n$)fA+Dr!2q+4WycAgHAju%Qe= z979~ft^909^|h}moTr`FvbBa)1gZmEhwz{sDJtGbUAuwLFum>U!w1iuTR&Hc(hSwp zaT$%v0&b-vv;_CwpddpnySNjL0&*4|dT~uAh6U|wWIgQTrv>TPMFapO;(($~E_{b1 zHfBH$eMx?@rSgjZ_cH9!*1*TSx;FZC(kXq{or_`@VQ>&Mmyd2rV9pUN05OD37n%0~cDinv zbWjBnP4b)^LUO`GYb!sk*Ae)sU(ua^sd@7~%}9~|BU^-f9n}N|W*EA>3#~|#CNom! zI4WysD4Vq6)%SFsKSl|Jq!W*Z6%Z>hO_tuKJ^DLxCLjgGEl5p|xp-M(1O)2VV4!>L zQjKcKD0)hM1jgS0Gv z(DI#VbPZDk)Q{-#ntn@beC9o=HK1{2cNLZqZ0q%ou99I0T-7D6Q4)@H#@Y@*q1Pd zFdbm;y;D51fV4}V8D{3$Lxg+!!NoHg3Q2ExTpT%;tQZi4Bz%bj&+G!w!-eorrCY1>%R0$wFnp)nqwBHC*fjfH}9OTCo(g znu49Ue#ACP30%!#mO3S+F3(v7Z5Q+~KGcsEL_GfKn-*4R{DIWpzptuJ16sUxy5T(8 za1n!L4nqlA+9EtoiEgvqzNSv5Hyv9l>br#hEAK!{M;OLC>++y$uB$PA@voQEJ*I}a zw6>u;eIReXc}UPnlv`*C5usccRLOk#=ASkR;ReBbh@o1_`Fl^IH=ws7sPlV(HJdU^ zL=9+E;}G?b{m`fQDXTQv40KsgklAaU6FAm+xz{D0d<$SrtxG*_@W|F6dS=TS^pRX= zRx_0nS5XtnY@dzM?X*60iZg~iZO!G73+Y&@(xzQ8x{wIE>B z;i*mBIgTNI_aXUbi{woj$QW09G-t|;){-D^m4{f*k4Q7=$dp(=Jz0A%RmqITuQR;b zL-cj^Q~gL=q*3#DDehF8gXqGIFB}=(b%KXp1gRAvS*Jz&xB6_G?0z9E1d(3kS~cKi zIwsw|>yreHYzf; zxTEB0tLJYz?jaUuhc3Y$Q}cbM3ev4K5>HwpNh2tmv8PKcf>lon+FjZrUG$_Wk@2$Q z4nhISGFeF9I)))Zk^Ir9(~EHQHW0s!mxfTj!ZGEVcq-`Y;Q{KidM*Ef;TC)NK)5JTk$4~=|f2=3WvgOs=e z7sbcm5rq&3x>4Nc37snrmEmo_IwnZ-jO668lJL1c$c_NgFw{%K)YE?<%*T_zN!^NKoi+Y-t)5wz`~OH{I|tw4@;vZF{vmQLjh%S=ys3P3Pxgf?GR9>&yJ@v z)~c>f(A_np8|p!jH9A-Hc@({K1;K}NJ(jhJUTKWYL!uJC-5jU!NsaWKy6ZQhk_-B% z%DDNu9mx$b{Ap+>8Y?gDOhfqj4~RpiWZfgx4)QVkBE3>&_>OCd3$Vx?Fzep}nSX4KOq?Ed%@>zJ=QgwXJ|Ea16@%}H^ zeVYFb#;d8_PGNhMS$~)OF^)IW{UmxKRcAMEe#CIG;v@PC$q0$EM3R{mzFZ0=*#xM{ z`kKhXzSHn|>My``a>I(-ssVEbQooay4d$Ae9ui*y2$4&bQYMBs z)~q~SSCw}~0NpDFFs&}#7zV;AXAs5h^b!-d%t+<7q`MC|RB2K{7W{O4KnLq>Yj^WBmzbq}37e9x2Olv(U*a&T{xRVtzO+^q{@V&g`2^fV!7kx!TjRlVqxP&GR8DW>}L?jz`iA52s&~1F}SLu z&vOz&Z>)Jd0jIZfz%JnfrGfoTt;MAFcGnCb#>=|=<~_@t|F7iO@RP8Q_kmBQ4c^<^ zOyC^B#+3zfzT{+-M%`U+fFXekRWe7*L|x7J#;Bkd{NYH0X0N&(8xj0oDs9aM$Z>d!^_Y2!CnwDuM`<~jW{C>9ArD$WrOjC-_Z@l z4q5S!#0!GQXq>vQtW2;Aii#_nWpMcl338j%qfyWKNOUPPI;Z$KHcutKbGW;PebFMl z_JiiMw9&a7US=qBvL_>5Qt{C4QHB_fc7@?uk}!g&Ap{GdehVYJW?cHwcV@{#6IwgU5p15`j?7_PS(F;4GNXx3HP_kRF&G(x;>^E(24eE!!^3gLC z15COKzUR|zqrea-$>YFkvu$Oz;Z%Hb{9AIv_IolAN|72FCWQ6{9J*+-8wt37$;SPf`y+wX`HkYe?6+i?IWlxuncgs+O zAFgykm2deX%__|z50B+Dn{$GP$|)Xqz_%__`0av2nh!O2W58WrSoRqmfSTO=kT(_) zi|&COwZDopnd}VWuO-mY+9hibt?23n1&4h?ns>spC-{isO}=T}kMFm1j4Z&gZNQGH zoUAP@bv=Mq-J|;@UJ9Z*|31t)VC)-LeC8*X*X=6=rn&p#TF=Nh@QTq(s>{QDaY(iAy=J7Q0E{AvHycoX zZHcYWo3jE_MhJC@g1+%kZY0Oc-G{?U4?MZnMTHpn)EfShZo>MaU-}G*OmMW6H zX@scFJ#Ma340%Xi_H$b;%_|k_Rkb&wZCm_ZbFF(Hi?a&!`0GRSZT9KMe~YQpNA>@e z_THx-Y(#lz`k+=(1NiSs%Xi1l6@}IymNPJZ7s9Z#F$tH@kr=faO09X_X7boD*rEeA z{O$Y6;CkVg3IqgHWi$tUo&r~8TybS|eH5anJ#h;j7@{m(Px4rk7%hXPn6o`2xmJyO zLJvAz!pKEb3@JuQ?=RTjKdm*U>xU)4D8Y6CVK+)OCd;Z5>UW?Zyi;Zh z|AE|z6D)<;Iqi9znb}?Vak!T-NdAsR-7pyJ(!(Zo)RZFVwbAGd=V^!{GrP`65-id6 zoZptNn;-uk8h8gIc+-o-NBiluQ3EchJ(ZQFF_!7NNKvE@R+R?r(#|(H5Rfa`cLGR6%^j#An0<}d0tfKWK zu11C*?TIv*CKZ;bY!~cE#sj}2f@t()Mn}VW%iNm4x+I*3*D{v~{#kkj)77!1K$L+U z43lOrK}{cQ7rUBS#_) zuVD>g2)iYMUx+*0;vCq81Qn9FTTY`-=-fulOOz)7P^F6b7xXq2qtWD3Q0+?H8-}Nf zH1Q4rlT~V=e=D#ZiZ_07cKb5mQ85Ku}0J^bu=Ho;!$YvZPPd0e(khoqJA^h0q~I zH?VSPSc|Y|8xcb%r3iKtT?LfvDrtS|YE}ijNj9>lU}ZgiSzFM2)O5vo)*5Th%bA4G zk4P;OYlO-8j$i|tb@ltq)6#or+uOP{_wl zxTWqRZ+rm=Ec_3&a7Z*992eiKZrE&SnaZliMI8ml={wOC!he?Kg3q-6;|Kl_ zi+Bf?=PS89b->J-QB5?>MAxXu1k(78G>B>;)4XW_Ova-5?P{X+B9oo$er2S*G~4QF ziD~2Cdwxjz#=+5r*rBtVGQ&5zAQ2OoD7$m(iIy^Sd=P|j zdh_P(U~tw6KTBg!eMi#2luyZ zv#bXj?p}b2Q;*0YiKr&xVlzdtZ9?+05oMAgO{GmkjSga=l zhA+7mg45d2fM3q9(_M$zk*TLcPX4(Cjv1@=UP${88=}ClyEk##G?L5|R)r8pCGo9D zzZEaY%U{+nlY(ztdEjXzrPiME{drQBTe2&)##i&p?;2ZRAA69~YJ#e$`ABR!yJKF2 zlKfhuACIC8xr_aTCsbA)aUTn9CR^hJ<*CAD(WAUgd(+qtDKby0H{6NPhUv=lTtJ=l zOO=BQo*j*wSR@E_;4K*DM^sm(pty+#q8{<;{DjsZEOH+&&jF}uSpsKC{%AIeo3pIJ zA2Iab+D5Ri%p#zkSfwn?$*6TGjhA%H8bOD_3(9O{}b?LlvHA* zzK(r`c96$7g0tI0a|$nxwr2aekXQ`~b`331{j+;WIMl)>2Eywkk}Eyx`pnz2s~7bx zK6(xoVJGj^L2(f489P}P~;?wfS%IS@}B}w=fHac^N+`YCA2p zl_D&Yv+~(3@zS^qw*^nGMi_yF#M=#v{PfAiE8(xjLgWLPmr4&3fQcjqTVZEt0_}nl;A?&R;WLe=97YjQ zvt;oLLhY1gxJSvdt0-GIp?$i|$|k(R4+9_6g#sAzOR~R{4~-QWED}bTZM*XR^fLv% z6Y|>0W7)L|0ZV(s^%t&>W~^wQ)xF8$emNj(5M0=gJOxMRuEr@s(yh^Y=mHmCF#B+m?4aJxYaHACrApeh;Ns#mBN~!^Xy|+zC zY8$Tf>AWCboEuRo4J=C=^@u&yAntB>^cCNEiw##vR{b2GPW|e6O(`|RUn&9Z9Zq?i z*uwJq!bn48al>R4AxV;E9^ZLCZ`ZG1f6|;KaDaXusw6GhbQ`a7{9Wa(+Qlml_}DN3 zWDdm%+RFn!(95yS9x1W)e+p>#p*p3{ytf zY!x@eum6CffSmC%%X*sgU zYnjnY=?qGoSQd&`OyC_D^DiHls=MH0WgNy*Stz!jDyioFtM^j@|9j`?oo$_K_;Ghjf4=;pHDZ9TY+a+*fC`r(iIzEdGiy7Ta?9Tg zzl2i8DI|0ZC7+4PbNz8E_thS%YB_|2h(bvfYV`4RFU<>)z@9wx@%Q|C-{gIEbntz4 zqaA9hOgdRgyrUf6vpgAs6Zt1JAuesrD}+4`p(}E|>i4IneX5_nf~1xJ2Pr5qZHnq=$(6@7OHESd67@ zp?|YJP}L4w=ih0hu4b1X)xmp5YbJZnw4$O;$RwUl%%WU8)~c3;7B*uD<r%&}zahqq zG+b8V@ipW z(DFxZMJ9G4nI~sHAR*!zvm41qR#>mFP28wRQwJ&$5=d4DG_pP8>1lxXpbtOfJKASZ)I zO6ddu0gE#CTvV2~(2_b)gG6+r-Y#{u=EuNSg;B5s5RO-+6{4 zVT<&GF|Pkx(W2HWA_Ws(J@v46gzPbOWTTNX_7|W@ish+yFD+tdk`X}>bMk;eP$AMr z3!G|t#|jK%25AwLFX;skadMM+WPjk88K1lI}#M9$77@c~64Z?;S??ss`ap_p^sB4o6{a~o)Z=5{q86A_*6tQ5k z$ZatVw_4;ka&(HWY3idE5V()J$!t#p)aB$h;K}z|)7wDS0i(z` zct0ZWW*j|rgN)Q&pi$&R(E|65(jP-!^XOtkqh5tdEbNA5x~}9(=8#4CldI3|%&m zm%5!(Qj`3qXA#;O?qra-ntz1R7V#UIEK0Yv&*wGoI;UtBJ`oh8g&ufhFd}LAlW8=1 z+RIF7h4vo~Z4no97Js}f+x0l2f_4Zd3w^OsAC_V;92b&(H2|YaTLGwlIOh2(?1P0X z>dE`Np*8Ku6=j1&Q@~JWp%?~@XQmIH$j05ejhZzs&dIx6>{P=L+(CO6thGBS=P~(N zafod!B%Lis(5n{S)WAx{sijDE-ZH4X>M6)KuXO+fW{{$PqoIM*`t!R%6Y!!s(dat?8~&N7PA1Nx(^ug!tmTtSC8n`TXx3w)#ctfq$L=t7ZHp- zAkf=nwFk7@TdV)Ek8fuDI?9N8C;qK=ZBVhLnhzImyZ4*AI%f-UGw$FCF}^qZWfBt=lI0zo7xkrL9y{xes3W1~@F~KQbgV>V6b6 zmATC`YN>5Yc_)HxXuR?nHtA`9yBNFLNm zSB(pve!sh0+Ho?Yrt;hZs(tI%o@H-W{gVIV4)0)WM#Pf*S7czVz4xG_W<4UKz)gUm zLwl=jk?|3cL5+=cps(2NO5(CE%1$0}F;ZVHN&kIDSbMT@lIqZit z8ClbO)1=I|Qu+-@h8`gi2O!FB?^4*kVkov%H2!Z4bd4c!TP`QDj9uDW-UUOk)|17? zjpBtPIfAC#m$9!TrO#7&w1OI?DU5>n-YsMV=x1Bk9#DXPJ`${EHZP_3FG1Eir|0wY z#o}&AOvbacT_|)dhsyDaUWoZGGTIe7SUKLmAG5mz!v_p6Z85_4sISBJF$yco91%z~ z=_7}}XB$a+_XYd36avEhJ!wQ?<@zF{bzlzOl) z3CRmn?RBpII$Al%AD8&AcneG>RT&)fRJ^ZS0O4BBQABN-aa zK-kqIxp^|_EE6!iE&8qDpuQ$5xoZMdA7ag(p#Olrik_NBWTPkxJ7c8b(P%VJ@*eai zeU^ynUU)J^N;_kAe9Km_B`g@z%vs4XfTM1HsG|+t_e;-(_IXd}`6Tfzxj)pDNq#1j zFX1d~9a-dbbBdGg6s*!+GG0C<*%WxYS&sZ9NWq@fO6J0O6I^>)E(b|C4-RydFl8UDm<@i;PEJD zEq3PFT`K7Wy-I5IUW2`sk|A|_cyiwS5eR}dc*w0ZX%PL36MO9P%PT*yiA>$ZL>Mf* zJ~*`%{N##Q%ebYm_Z(hq_Uj^?*)tOp=Z_hk%cWCc2;14QNqAz~#a-kQ8Wi#&4D0gp zlH2wqOVUz>9w<}-PvLALna03A>D!xXVnW%N%_2>Cj3l#6tXel1J|1|(VlpXVeg&us zRB!Zp*nIjHl5SM}AwBt2aDE45_?zeYhr%Lk69wvs_+5_w;9fd!I#~~A^j%?u z|M1;$!Xx6~T_kY$T_mpP{f`9P`RnnOD0tqD6OMrq+yieYepi&gX_MOC+kB)#! z9uFgjSRf6E551CeAZqeNtUxA%4$D6E2pC*bN61&>3B;8jgvH@rBcMgqIwC2bAW_&8 zml0(ktf=T;*PGI*HI>?48U7X=*M^!LJ0S)l=t6P}_GlQ;+m29w{GCj+Ex*f4YO&oB zCVJ2|7tvx*u%jE#pp?Iao4PGS?RzB_?IIZTb)g-DI8R!Dz+=8*Jm3uUYl~AMGOF=p zc;4qtlnVD6(0=YkIhZ{60$$sp?4Qt8ydd1eWQVveGUBxH5?wautS*T?eL7G;ZP7PL z6=`M@hlR`Q{+X^5)OB4)xUD`7^%TSCE+c%w4q zufdnZ2pMTf&wse^Bpwq*8r^MlSdj{QwY+oQ1IV=bjB+vHL8eV3o5BsV4|*pY3912X zC}H3SU|xr{ro5xhgO@u%X@eStBd&&(NAw`noYnU}VoA&PmG^-;w9ZZ4J{Dfhl1F&C zGB`61Yw!lxf3jo7ftHepsMNMRkyX87FlIEz>_q^rhWjCbtjD6^uZ3@&-_m$#!HeVe z%~Ot6A5voi&9!(q5VLB-1)}v$S*n3#`d)mamLIW7nuKntIgNof?#rM_{h=k zNy0&v%TwQ-AK~WO1^<<&OR=xjb9N=rTiC>gYR$2CP#^a{LpzT!D6g2E>w|Bf%n;A& zLF*jvxb(v{#?Y<_DsYBH6NEw{^ur}12%5wAL9su@3M(~IDInDgyWYMjiLEOyP~{XK zc8K9LoUZ_CkS(2prSo*ECihm$sOBL_r-L@sK-QbpNv4fi%h3_9H}Q0dk-9{x_EJMT zDu7MJw*4&=;3j{Z)D6*U64wd3X{_bYgoHJ<;RXa@7sXgl$GgDipIXRq(|GN)F7PVyp@>IBKBy-`c2Gux2%@$!Qh&}ODW?&8Lvv^05e7Eo4-NPIg* z%{KJ}l-*Vl?AS~w-xTp{7^{4g@$K)^MxQ;;06b#fYdlqvPvgEd6;2VyCo+=#wj3t# zoWM85la2tgMS7jDOJEZx9eeGxMU0cYl8sX5DYfe8Otvq1^ktxddn#!;c(_PNk&%NJ zTrbWGu{LO2eqq5)N;zeUlPU^}rWLw@s-qH1yYSB&k05BJ`Q%e!!KM7sFpPuLm>~F~ z@XYc^f1$IdvRs%2h=*eqt86aKBdgd9wln>0uCduDqW8;y@wotJI4D2(pk(-m^6z}!S zUxnnk7k_wC2z+9TjQq1J)Y}yTR3{`JTC(fZcZ`V6G8FizDgFk(jVA^NvKK_naT?Ik z(-_c2pXQ@`(4FwO?uD2Lua}jesgH(^BBu4f$vR={%?qAi&|A`3xFApKGs?;oS}cp7 zf0mzIj{vO-zFh$gkF8pBJ<Brq{BWz`v6cipa=Ik+9v(A7=DWgqGGL;u}tBMQdRb z8_>JO2mNBr2#;FeAOF*V2#~7Y_8mb%55@ugCkDk2=j#qH(6bF@8MoN-HpVF7C6NHu>XnJfRm`$ z%RTw?Cs>T4Ua0jc3A_xH9WrTTa~8w}1Y3+EwWK4;&Hv7jkU+hq+p=LuRjbzMNDfK$ zrB*O(o|z^-ebgc}mc~y{oA8|Ss>L$3$xRPXp@H5O9&?wXK9!b6R;1c}`kLZ5K7)$w zgYI^LQEmTlN^7M$>LVy*1ngEyz8h`%GM{3Z(OXHdIrivZ6clqo*Us;f9!bk+G3%w( zLRTOD+zKg>)7exub`;JWHqu^MV(6%^#SC^49|5|xW8SPEW%AMa6&`PhAe|sM;rN<$ z!^oKIbUk|cuLcTq#-1Av zi-`D}Tvd@IAY>YfinpDV-PJtR64iW~lsX!<5UUQivfB(^k38Ebr{~VOA5BmY`5{Zi zAV;Kbl^VZ2ye+BH60@>e4IjKy$_(@K3;;is+Oxft6jGqcqHoIG^B}g#SLTmz=puR= zm@d=8`Nnd3Xd8^rBTyb{4M`H-BK=Ac+Q7eIc#-gVrtXDHAi1q0S7O4Nwmbfq&u^{$G$a?-j}+uAN&jU*nQgQ4ie5a-C~Nz*Tm9|x-7a-T`%L$4 z;)VD*P!D>yi$Z7fXB;WJ%9U=1W4%Yl6Dp)ySGux=}LS_7rg#>b2q zP!5WULDs$zkg1;3x<3kcr`8@j;f$UNHo&d0fL=Uedf_@M`8!i{u^L!=wYq7#laAfK zFuAr|-P20I(#v~nUyr+i0Ll=~Uy86AZ5H{K^3hJE&xXpb->6n@)%ik2XG!{__or=+ z!Q<89J;R#HPH>aV*STRs<4&!N_1K^6QYw6NQCOuOrnNHXB8(?=YWTlaEz;fHhP*Ov zuo~fT+%3I|g&9xJI|%~BwaTyYjMGs~>hqs*M0OC1n7?xpQ%Z&z32cEkgc3;Gw%?Bh z@+*>RNUGN)pt19=U)}LevQV+0B<;WP8C9$f&JYY8&ADu@-OCoGu)Sj>Rs{ba?E%M?uYc;MFUt6=t_@amZ)jfFJog0+!*b)#~Ej{{J zTmJISbD>eDNCG>{0$Gq7vzx!mq-&I>dWr{XgjAmUg&je;t^kZM0EC+SU~Z^2gm>Q& zn>?rv{opIJ(8x~}y~xeTCM=*FtN&RnD&AhvbmUO1;QQX0l~|%~-lVOIBu=SqMFBp{ zW6RS16!zzy0278^-d$!?ne&9xr7S|$(6mQm7uf{-Tx@+K$}}{sOwJLznH}nEtsQpf zCI_+~bV?q2s+k@5p#p3cY3+HV^BO2Dl$P$iumH+I$|8cW|J=wuI`=fZ4(J2RvPQ8C zt0t|9Gk>>mAu2GW$y^<1alNn|LHrM`ZRD_jW@KSGDN(T_CswyO3Z$40u*gq+%qruK zFB7u*at}NmqLJprRP?N<8XBfz!vuVkgym}{6~i^@mrdC?=Cuo?B0z|W*NJTK0?lhG zl#(#K9Oojj^uCw;==d0g!9mDP>(c(_{af02hLt1vX@-DWpK2?r+GE+H^@PH2S=2e~ zn1)el2(^2mWRQK$%}c=4o~M|adX@kSBW&2RNPaY#oWQ(}vklgs0oaxTrSsZ8o z+E_l}0brOc9hHP?Yb)8NF)+P4N8(yV2P{*FnD7^M*qL( zS~dwwyBo71b})egDh^Mgdea(}Q`$%z`*-pHKEeNEn0zmq*I|)ghA|Y|3?)cOv zAAf-7xtRg%a8wrus{WG`5k+5vI6~~a2C%7z!_Aqpe9_~~1h`X~7}%b);GWB6kYUww z#awKyAUj=dDjUPZK_wDsc>t8@R##L)@0VnF^0o}SjJ=Paz@&8ha-FM2Mz zb|r?KUFf5&>%&ml9s2MaW+Jz2uFe<>LAJlM?%l6XI1VQNfibbWY7(2t;KyjBxbJ_XCb@R7T!`+J zFNmjztqRzzm*hIP9k6tevZ@_j>8p^IHI}B0I#r5}=npL!6>0W0jJ{0JBsPx)mIFFk zPqkR(^Gr^5Kkg#)Y|i(4sY6T_Pz?-#*o_WGX%12Vj6@kK80%UD&bUP`ECo#D<$R$_ zm3eTnjb)=oMZu!jFhOMhrMg;QxA8Gf24HJR!xWiClV zwI3b^osI4OD`oEN=QB$;OGP^wLZJ9=>@>W|gLMJLnFL$H!9|3e#$MM~!=mebB|#Tf z*a#Q0i4hhW*bZ-w$Oz0ptp?DH`sIb#8pICe3!mnb$Y(fzDNWwPwaXS18m7UrJ%LsLq+Ml|j2U7`~X0f6{-oWmD3@(bjVI zqT|L+ZF4Go*7p&n(sjug*_z8L{F%fu*J7E-Xh5xZmTsq>5X11M;`I{AR*$g!`fR_~ zuB57z|8RqKU6TFMkr~}BExc`-S8#hyQQi-GQ$G|r&VYHaH5A&kF#!qE@v;t{SFDjA zr1RKdjb8f`+?Nji<7U7waZL@C#H=1}#nerbmClUcuVp_9;PTyu|6HNmqD;DerUag-<18V5`K`4Y#@0UgazfoD8PLA>j$D{wc` z@lnX(L2wj|sW4on1hyEwfAxdtP$NtD5huI5 ze<}8c_}pmIJdaARK}|4ly4G%`m4+sAAE9!*VbpCqO1Jc3F$Jfp!q5o zE_TK;mEZscrpt@Pyc`Z;TYmLIbp3=tW57mOVz$E{xZ5deHoP%TaMT2s!nCrka9pOL z*tQOgu9W{Wl8_T^;g*5#ft(TAsH0l~T3^HVLR5E>lNGGQDbWmOQ;$B3&l>K|3V6F- zI3<==e>JtP?rsI2h#Hp~?tR?A%E2MV5)T%W@?k`lm34)whqdXb^jjBxqD=}ft@#C9 zcusY0yli97UdW(eu!U;E-6JMc)q>(6UUd5~jK=%=!uqx=Iz<07JQt4St)J%&L^Lq< zq$ia}tRs)&AflGhj#`LwJ%=JJlyNmHDlUw|f#n5{C|UvF1Cky@ymc=g8=YT(O)8fL z(qq;AwUP$nFh+FS$Lhv8QlMGL#w7G5pu(>Zu!Y%7rSZgt%h;oi{!^^=bt>JS$e=fq zUQcA0kO@rC<8#^v`;jY%OV3XVoiTOBO1VF)@o%K zs{^a*IGGIx%WV$vS49H@9BwV0l|1mLjl) zi+}}Duqql=ez)gN`_=UBblcwK7gqa$3ubu#v&J|UxML}zdT!ixckW5KVRw5 zmz0|O|1n^qX-v;oTMezWdQU|Sq(+V2nfe~}`!7d1F3>Faiu^C}4x5G~losgTl`W@= z>ot|rR*GO8N@!I5k~nXBDYG-{Un{K3>XUnHUE8&)SCb~(W-r`+yF5S>a0 zTN?PcRvB+c>ukh;CY;tT9G)&+W*|O|%$2ygJPtrwg_`~L98OUGeRV~{)P$`3L#7B8& zsf7T-!45LqL!9U-ApJXYAtt`CQ6nH9j1W;?!kdA$g0N8~S*Xc=mQ35z))!FQqFcQi zjNhkdZ-!L<2B<*$)$2g%7ymrvgDP0@6`(tJJ*nV1YqzoL9auHOg#EwA@IYIQXF zYn0W8|4pPTR=0YOx7rrZ_zIF%9Vu#5{@stQN((@hYcjJ)-IwQyL-TI1EPpa%X)`93 zM71_(&1S*>Nz(eAj4as|aJu~DN_&%{*#xV;HiZ6d{z?n+dG^sD!{ zYGZ181a_?JmG}(|6@7uu2DF^D>eyL?g~zltWjXErVA*gVo)WaqG3eMbnq||5Hhr&jD#S zm%*P&;0D%Ilsz@VL%w{F4e?!?bufX8L*|d>SLt0x5?3b6hD9byc1x{6dv`cr9%A)> zqmO3D{Txcdb*r;R4W|y7$q4FO=6Rfqbx88~rCSX$2~bB%1LLsvEE=p)FwLZFr{wOA@xShGeJ=H(%Z zVN>E2{vTXKGqbuGO={5w12wv{f!HIRW!h?hiibd8caS~W-bH*)wsFyxe7hxQR9Eye zk}FKT7y1*Qbf8|}lgw2S78+h~yFG_nb<>c~%=OIUyozX}2W>o^Xb5eSCIg*?o$b#z z8(^+!vmTp6sHT(wM9r?KmjaG~o;wOzmIRVrjXn`VG-gZ-f6*cmq;i{c7V$m{522vo zsI6wEk6|ub>$M1l>pt@e5L8LII-$ zaptmQ#KiM156$QJ*6MNa`iGLtZD_AS!Y$cqie~X=n~)43Atbh?T5_|xTb-J11aH5% z9&C<}M#nUe7n9|2Mi4^eQ`o4fP8p?0vhSr3*>iZUyjOWzrj%287n?2!lb@U`l%(@7 zdKa54EQ=!#h0%MkA$93VY}(0|a^-*1|Ow5PegwzE$D;yeZYP*c2xLfVk}PRoDjQYjIISpDm-uYkR9P z;bbP|I4MPxY><#{=kU=e%(>=)l&^Nhm93S>;2oFv{@Srt)bO$G^E`w4{gt0+|E zC!8G4h_a|EK0||`3ujigg)f@)tTpHkvFXf@SZeAz@4@kUwJETO(?ikTGiDy4X_(iV zExE@iq#5hYG8t9PaNbt=(_wN#2_kut&u%V_5x}}&^`XBU|DtWZ9G!~k@zfP~<5adA z_|$j@@3gAoOAlJD^2LHmBtfWlg5a%K(8eZbLoljv@%{g?^&LP>J<+@LCPhT02@z3I zQ9w|T8k&HjfFdF_A|Sn&&_flG5)f(9ML>E7si7zxLhlfY5PCulA?3dO=FNZR&3kWV zGm}l`?%r(np6}dq&-uR5Ym&ir9~;@HSejlsAY(aad1D>NH){02k4vbfOMWF?uC>Fq za9mo`MCo~49{WWpUcIgzUUqkcsh%T!$yG+$ZjUXZg#@VSFBW$8gp2UPoAJPz{3*cY z_U}9l0LiS5J}@R;{CO>`qLsh907&1a{TNm7_)s%{XE87SLWrOa!vU23IFp|#lWgmgAX_>xyMiJ!*n`$ z#Od=y6^nUCm4t`Gbl@Cu`pS6(iBvsSo)BESD&%J*wRi}ETlsPcb!Lc5Q^*KA`K%P2ls&UUXEi9NBw@hpb z>@D4ka#_9~TW6KrDPxq}`@JA@)H&>a>|<%s^%ob27N=(pz{Rwoz`4n~SyN=#8%MxT(w;IUo3G#!8L@1@pZfc5 zO))Reqpwt(vDfaYH$~b%eWCm)^k-g=4~1q(=r*ke;X~^^0AWZ&$8w`8))O#k0G`zt z7jdsxo0tTC(=9pWSPQfTG$ac|RzK;?!5k??P-=p?WEuG$@b5w|0@%0JWtP15s)!`w z8CV0L;tP?cPREnUa5ENX<=;vmvGmwB=Q9eQNY=u_BX*z}ggiwOTN6cTAG^VJz)|lW zRW*`pICcF`;BO^Q=*;^RLL`l6V2XTdN8nGnJ(i;n2 z)zj{%<@VCL{x3=2K9AJKG4#WG8Lg~rpy(^s0mBu#^KUT|^>)6*dQR$}m*4+-r`p5N zwc={S$gS?46mHw_yuf7IE^F2)LN2Q}g_ATqB=ifJKnf`@EQH8x-_P8qDQUmjW zyf+d0=_E?WsdM@z+F~WSf@{WhGsecLaO$&b4ELyx!l2TevPE+Bq+CozLqx1E+Xdl~ z5hvLf2`|;(vFp*_8BxxOzB_7P6nF23#jgtvd3S`*uyPJZt^somfTzd+^S9A{GJjNf z7dfoClCp@)vXiIT_I-Ejfpm>bnQamKaWnZawujsAq@-idyLRoy$tLoCy1!zQ$uK$s z(Dzv|dgTb5P6j?Hig=PeN~HCQ$`iD3AtBeLkN$_4eD0=P{EEBA#1dbe98**6TtVZ+X@JlhO#Tq}tjd7xr8{;_rRsrYqO0p@DbQ$lfp zmR59WcizN4x>xA=<>G{ZJev_aKb}aFrMxQ<>aW$@?ekuH{Y)59e8O8O?{AdMSN|** zwYe7=gZQ8&6^syD;k&)!_2}n=?p4`%`0+tSm3^gmgO=&~KzSMg9*-F1iht<@1l@zf;% zm+m0sRB0s9oFRR+R9iRPc*fUp%1%?2tMjJorRwPUSS{@VTQ9bChR4439pc6esOnD^ zo^0w5waWW%G;ChRp5@I{sSag4c(5v+9e3_hLCRiGxdgVb>q* zA~T=jvi>W z>DxvnU%TSOSpEB(nZ!KxO`A9KkukL##p9NOSw!(G1Ao2s#^ztmQ9pI7bxnDLV|*zV zXD6cDy0pA=HSF&wbMmjH!kPzRi$m_50)p^&?pW1l7G9uA4f#q@FV9vtldqM?fQC8N zzHC~T3(0g@?<2z&l%r^`4nHtpe%mmVAP--+bx@Wm$>ns(ETqHO{`(>J@OajEaX}XG zrr&skNY-rSkW_d4P|7vWda=Zn&Y*^KXMAs5cU5TLyL}6fNzPetb8V>_^EK^X3b}i2 z*E)4Er_2LUMvY(VD$8L6S$HJ25df|yOjGV8ksFynctTDa#mWf5M}QiAt^iFJk!r!r zTg+xM+I0lmiSFmh2^lpJ?=`|!ioN0z2v z@>%HJMTM^(8`)g7KwBIwz6yw|*UC z5fT#(DDNW5dt|0z(*I^D%BcU-m1d&F<01NP59c+N}KSVIL|Mod1nIQ<4FAZ25YtHE(0)b8NdET>#h@@gr3Oz*F{Ab0up1b3DEYNJg#XCMFe z@bvU7Jf1%nYBSz7F&=xJx5$+j@Ep>*|Kb}JkCJI^w;B`1h8z8d^-S{#4Hzva_r+H9 z?$QPeYi?}$=L#h^dHaVypQ>&?tvvY%^RN9R_E96% zWWIm+z4%H^zF6`Lv71Qcvb2)jpWJ>bHu1cPZS2W-Mba{+k|%c-o$!#L&NEpu#AOkb zeYywEL@82Ws|>jHfzua&-DvX#x;`oJ?*JZt;qp{XsTAFFd|7Sb@!9mns@92k^~xP> z7dAG}eb!C+{o23FpL}KoB`%*h zzvzxzvc3O_ivH7aGOMhRDbHA-#6Omu&iEy1H3r7Cu?F0ZB$y_+sudNFzex3Co{%Sb zK%?yF4|DWyeaHSLI^;ccP^FRT8mhh(+$Ny5{k}!wz$AikaZp}bDRY0kc$V*Yglz(_ zcGzSP`xaad?Jw(q=ik^q?&mi1Oo$2Q(losvq>Os_ewXL-KF{Ypp3hLm->7|XDAgAL zWvAZx%A@d3`ICK<#!KawQ6lOr1s^r2aplyO+}-Q2c6v|?66qSsWa z>JvkMK)sUV%*>ja-pGAY$~03L`UpRH-78Nv4*J*Ux9(aRdK#ivt4g>llV8cjFvI*$MOHza=t_-LOl-!M@JtJ#o|T)$2vrv?>d< z*wgA%>ofL3Zw6)AC@tLQmUwpiDOVOR{|ntXR(QTt*qRhc*e*EX_L~m^0@1wa7fdfL zkFM{{T86I|FbE?!H~vG7rN-lEAgpc#TGm{(MfCYk{kAW69NjU+0Y(sX`G

m!U3&jLi@7SYP)GexX>lkjA!EVV>@?E`In19&A;8OeS-^-eTnmoqb(2I~O89n8nj9hHzSZp+RW&CiQk&G5Ln$i7#j(-^(yC2O4D#iSva z`xeWAJFo;!#w~%o19j6lKrq&Mj$*lo!%5RuH5y zkDl;(eQh7r(&vdimeI|Ndurc%Z9q@%o?$&s(DHqRIg zzgpb7t1bEGD^I1~R~79qa@t?qZ#^x$Y5nXKrB(gB)0QUUa_?&CZ_o0<)OfM0j!c-J z?q`N^mcnLf?NcLDWeKh~zcSlrYA01UPR-IYD46Icd=$Cx&8_c-#Vc~sAlUnTrqaXF z;On@l(@?JCx(>wDC?WiDm2&vrmcYP%6&dRRpFak)K7Zx9pEr4~`{?c>kRy^-C{hquo@pTJ8^v~UJUD%hhFL}p9sF;z;-o0|SR^mVtPdNa-m@SFK8SAVvn@#w1VP5)~Id|$MLpRh|W>h4PSGxmQ^45Ai;*3?~cpnZb9 ziPwRfU7S5+AJgxRQu{O9NETL{##hCJrL52Is)bTs>=hVzr57B*CdcbZ=nvlb2YC@B znGvgOTfl1s@n6&s`Dq@e10U7`UGMgNCovFQVHNTEbEUY1PF>rYTM0JIf7aJcM5mt) zO1}yHTQd8sMgn~*$Ps1ck=XE@F2PBmu@ipG9v9@~f-~P|B+iL4r2G8-)0pEyr^R=s zJ%SHqQpG3tkDiwY4XtxqDA&(FF1dW3m~2VfU6_qRnSEb5JV-mcCbsPTFkCSAraGtL z%u;LlU!%1A46)g{Sdi)?N~#;FDhM)14`hvw+<5Qvt9e!6ZFqxNy7O~?U4Ifn!0%MO z-*yz};W{JBSOA)i9ss7BVyl69zvIYi0P|DYQ!6^Xe{$&AFJ7mNUIQkn8`-DtynA#B#q~@r+?x+HRlC zuJy;GRcVP&FYL!|pS zS~-8h^qzK8Az@T;5x&0_-L+dX9geO#h#J-vbf8Zc_|OLALU=-3;H&K%?tkoy7h>7CwE1YnGO8h_Ux5v z7yJ@m+qV%tUS&0FDz+r*M{gMZuMSW9%S^xD+uu4XdGB?7{KcA{E9v;D|NrcaRT`z! z-mf@&5o0vZ4;W3~&UnXLwgHQ^dL0MkyDR~%50Tw*zV#VtYTUM^4_SE%qogs%OC85!h21oS@`u3+tCnRCRQB8?ou0%F3@l<{KKBc`=V4?0++kkByAf6Qye+D_wx^KUHg6iGC!()9H z2!S4Ozp6fUrTu|Os>w!xczP|R^8Hq_38O{r$LR44OL^yx7q$@r7!Ac$@u8efRxc6 zB#{pXslw!xDqrA;f}y*>k)LPrD$GfY`u}Z;ErmNWDZ$cS_7vJ5DaQnflc+skb=Q0S z5ivI!zcw2unIhAz4g4OPR8&y(jEFAoKk^cF;Qf_NP3mT5KlWe$5c`%ow0>cO*!kgL zTSu<%UKjuNYc{W~Qa|cJKdDYAx$rd5D0@*rl(*t}-5}_hYXC zJ6QEiJf);dTm6F-fZiav@E;z-*;~H^Xtx8@XD~W4f}ad_7#Mdu=UOHuid_dxkO$fY zGT`*=A>@Y5Q4M~U=olpZ|LJm&2N(ReRtT>(l}2EV^NdSN&A5@Yf^i&rNt_XAmd_&IN29HE{kk2pn@MI>fm8wAea@s=`LJz=_or=SVNA?V zb5f~OgO{n#cpkD5pK;`(gnQVK0Snndx5T9j2A+y$oo8^c4l5~$UM~6ojB@0o_qPNB z*QS`>48_9zj-!WVL3a=*58#%P?SmW-7ga?3@Md$T1!@69h!y!9NC10 za|{eY-hosA6v{-1-`y6!RU@0$?a&L%={d~eLAzYJPFcp%zHvDPN{>9(7e{j&=q|NS z2E56B6^Y|hewcGMjaVHwG8c3f(65RcCE-=vbq;S)tR)N=D&p!dWKnsiyQ<%3sQo&i<3c-Y6suEV~%8+L&cdDWJdE|gyd!}sZy1E&pO;H)PkZ{T&24S3Iv z^r`r_*IqDY$pEOMeu9r9GOijTKqEA484+#SZ2DY7)Ap!yU2FF>Cp(L)PJk49u zDmKn?gllh-`~&apE%8bmj+BRp$6tAf8O%al<^QsN1aiolu38(l0iTp=Dw>s+g8lmS zbIgO6PcSgh+4%-x33tlf@}6XfXgX}C_Tgt^sAwd*{~5rwF-GZWeog=pskZL@TBqeG zh3z>UqI?ao!A!UJ|Qf4 zsB%M0GqMT-sAsX_7l|ho6~Lw@l9&gk;dvw8PTz7q3LoKKreBhqbt5R8EpIL_aHK?Ol?APGIW)E zUNL!0Rfsyjy1FR>#*8~!;J{g&JjT@AMEm$y0k@?Kn|wT-%Ed(xYy3CM4GGZ954}Ig{ANdu z!B@GqkP#@Qe61o}wWPUMh$41XGI61oh8&Ki z6tD}n)V=%Zr+S=SNgEJIkiU*5V0Ylyl6Q) zo#)lWQpsb*T|Eb!8m?@h;pT3C>-Xky`*V-$V6e3>qWh(j(=cKpByf8?+h@pOhI^eIQJvB3aTizYPQH3{I6ch`@gE{yDF2S{jdn4CZ9+$+ z3mF)`Ir_!OfTbjw_o{m3$!PH)H&QMtIN53T@OmxgBs&Nd-2)=#$Xsh%>E>6V4Qb|g zY1)dAS@b+AYxo`=P1?$Rr|?i-DQIX#m@8#BkhEO~^2ZM-5vx<$*6<|_DOaB-G8W=) zLwqI&2jFJ(F;U^Watof#NE({^s!g#LIP)yuizVeeZ5JQ`JQn%O{HoiqVKK3Uk@ zY^$n@ZfYv8c;j6DCb?qp+CJiV3cuj6vp&G+otC%NQ1;E->@Jn~FY|l!IYh6zr`?_W ze1^2#E{^7GsFkBRhpS6%Z}(@H40r_meD9{nOT>eoA%3Pl)Qog~SmA@bz{i+)t_vpS z7WUv4W=w@|f5zyU|F#|=Ky{nEzJuocH!}m*!iRPaXHQN5^}vR)PT~-12V5j{QvhVEYv_c%ixUZ))2XY&$LZd?XST zL^?c4Q=3Ma9XSq*%bCbW4c}r&9rlM_^DnOE;Z`qtUkfOWfcHe(7NeUJ~daTJPF8giHAWe|| zW^j$S&$Z_v-^M0X;xF}5SHm%1P$xu(X~Y5Brcv8r9F(f4=t$g$@H7{yA?D=(e?3n; z3N#e(+xPC=umm0PRBi+3HjwWi-T<##fW{#AMLnKpwA3DIDV>PvYpRcF@+$^)$_91X zia*eV<#8BD)WL&X|H#d=2s%fv&)y3KxFNZzW2@X4V(i-%$A zzYlyO|I9}lzTDrV@9j=t9$CUy1tt~I*3HhIK*%f^S96ZAPvyaBZDZ4^JNmRWBMMPV zowRG75_2Oa0-G;`d8zkk3Ub6G354nLR0fJj=Na>JrbodSl@D^Lm%N*tcGO2f-yODT(lRZGj-@b*>n!n2bDL;I17tSa`byKDEK=p=atLDR z8c(SXC_FScIxo!svj#Oc7PGy3`OV9tO>1cKg`8JhFEsv<*k2phA%+RPhv4~>B3=#`}2fP=c}SA?mY$F<$OA= z#Tl7RH{EbA#apUe*Nr#6pn^7PI9hP6%H~C)oiiiy z6(ykp!EftjE;Tu=JdX!g2K*h#&kJ<>5z@|dvs3if{a^Yc%I~l7VHVmhOAtDDEtd1W zZI8d?YA-F^HYASv8&24VOJKDyib4!YS6KEp&mkzF85#I-znzR9JtodvoYDQI z@{4`!UWfzsg;?`X^m~`uCsiEptGh@I-&25tlcb(3*nZW(DVpOL(dM=b&qf^9L0k4t zN=mYQCNn_+v)WS_pgSy^bnW{JexpH|MBeWL;jse{_PB+T?=OXU76cCF7y_|I^T9n_ zAL9etx&6EXz-roa{vO^Nz00>E5>)hze+`X1MP~8OnPkbmOA~Co3;hYT*^GAa>k@&G z`gIW-1_<(m2pn-7#|S3OW|R7QIs{ss?6#&X^V2KZ{Px>J_A*U`&CCSv-^nh6`wiCA zXVmN*=)!8+Fa}kD%1eDmKGz7$utspty~|nP!0~hd0|`3Ou0X5}Z&%?K4?}T_-t#8q zkaR(w&(5d=B0hq)*_)Px4A|CBQdipR(`7gJe1-GKs&QRzFB!1r@lY}R3wtY><^lq< zTfW;m`p<2KwVl?15j%UZqc)tm$NEC&x+c~9phtan@XE@qP-)@>;`;5b_TIVg(r zo&ZU2K0S;`LRSQ^%I5x?Zqbn<@I@Ir*rM9Vw$jeYm$X)d4M48C5MDS4NB&dlfTA(T5>dhs8~bBfsKHD z+$MS+Wd`tLc@PccOw2e3(JC83x=K&0yUPgn$+e@Q2I&eY^48=LgPj8?L5HJC{bMKy z&&0P#%Wb7aD08U*hEO-;5O@LgrH0@MPyqSVkoY&Vf^_bHI!Cu{J@x zbtM+keB{+5wg?>`tC~iT`o{nhtp_j$M66YlxI>7!~Bzb)tn|8jZDNgvy$N`*MYJ!MdhauUgXhYEV^GNth z5*i&cbdpVs`7I~ojUi#}-YwBMX!y`E)DSoveNPiL$QYa8_0viu<7tcpk4nM)<*@vhf&e0}C-a`J@+zl9L*E*NxNbNF_>&e57u=Gvrg@K8(t_LJ!5D7*`!^j7P zh!BiR(c(j|H8yeIsa)Nb{ZBcoiIdPE@-+Bt4+lGKMF#90i8rI`1wH)k6AqO($Sz>4 z7tgW@^6bfX>!w{3jQboYswWzR`!oJW*bOo|Hjg6Br1x+mi20C~y)3A;3t`+)0QfhA zIs5Yx8hDbKebx|3-qM7er)LN4$%BDz9Fsn735tRc|3a`YPda5hY(Js@$QX_4K<#xo@AgImNwdp?w$T zhZi9d%>xAeHgjQTkuV=@2O}Uz^xgMe4q^P(#PVU+58Z!GLfts=Irj;$yZqp0$7foi z2KLu2!L?DIB6%P32?R*0WH2SZJt3}v$!n2d;tDcw-$O4~0gh?o&+MfS*AWyC@?bmg zk=whsc5rU$OzHuLgwP(AJhQ~FM~VkxhOou6jx?Fi3oZADUFmFuLRhk_HgOXhsLUnx9`n z@ME( zS_pXuL5{v7@$lz=*J%62z)dxfAFdhI>b3K>NYNRy;C(Q5`CY11r*J^qqi=5OoQc!` zP5Z1(cHpFe;eU6p&?R5=%*@Ql$Vg{r=h)a7J-4ZZgoNu>eo93PGF zpXl1dOEaU565b5HbhUyCo$>chzm`xhw-NTkw)q7G%O~yGi0zbM$8Xw_3r@*D+x72X z#UKE(c;J@y;^JbsW-qyA)w*0E2+e2{ugSy50b8m2MGypuOtdZ2i*Igih4j;O(d;V2 z8~t(4hnb4e(b15zPHrZJmh;mF1RIZ^xe1t+lo!@BBL5Z)BZ&5%9ULDp?Q>m+wb{|Y zD=5Iv179|eL&4vE6B~Qf_vz-PC?5rOB28G)o9C;X+X)9u$Q^T>+`nXm-P1lx?9d6~ z_fcJ8x~9amuI$b(T6|Cq_^p=-0)`@)sYk3`WYMF#ZCK`=V#fP>!8ze@Zuz}?0iQtUy(!KJ4`H8xiN?e*TFPHDR6a_* zN*f%GYeQ??x%@rptLC9;z`5&#ou`l@?i?%?5}tbGZ;(% zqJ%EWv_O79$17ifyvnVZJF>NQKymU-Kpqy*90yVgVuN%o9>0Kq1r5yF?ks|VBd|Pg z%dX@^6(#cKLL#EUz}*A<5heCyn-m}}s~BXY2`$t&ep+K=!s zj8!`0ER2Xm8URP=%oGkz5(V9NAfH0|vY-pW-52Jb&edcM!Lp7fY#aj%6sm~Fq`s`_ z389ofmX@}cedt8!(hhP5x0X3S2||}wCON=o9d%)edcVGE{+lKp*?dBrHEE+@7x=^lGOekwRCPyaG)4xZ!xS$ou_l4YCRoE zh2UEXom4Ar3{3Fvr2zEaMzE0;{5=2|A}U=@$Yu z)N$DIRRo+wcl^DfkX4W`dKTadN&a1m3S2XLzp3D(unzjOCh9^fXc5o;s6CkU=s;`X za6Tou4d2wj4&?d0ME_CxxilMD7BGrb%TC2(z^&`~GNJtVEE8whGKC=Li;e3;gGt~f zLe}u~ed}oi%>$j+;FTlYY?{LsD)LFqe}0uFdF`kOxzMLW*&=4pk#P^rmI5Af5 zoNL%1KuiHT;E^4$r1fDS0`26xy|#((RnWl&PvQzDsPv3@Cb9!N@j4_$Vi33zm%#byC2#J4He!KH1sL0~`G8i~ z#`}yzRzy_^b)FnpziIG*b#t$PfjN2LY^3rpngu5B+-!NZ5RTbIxN8T2HsiJ&BM zpWHFK(H{M2oFt_173m}+h;Tpf3D`Z$(zkR3iGi|u(3bfR-p1ixTtfx2l#X<*3m-6L zr)R;4b9HN^NS!ucB~v9G!Ih&siLHbt-QilmR3A{5BzeRrY6YucEd}-K1No~RAJXO6)%uV#`$W3 zk9tm1?8X5p1^nU3$$;>Vsh~SK^Imz}11Co(cs) z`Mklb+k&%^PdF566jNto9cw5+6=gJHrDs{G<6royaJ*TF=*$EE%BNQ7(dG5ay{Ehu zPoEwj*EAQ4P6#v)7EL*5uJk0@uAGG!{X{;CTTiT5m+H++gp62?*hmZjV1Hdcfu~8% zK`jvc(ULEw#bc>O26+aBX!P{2brvN@lKt1kOH3E7MB?dY8*qzFFN^p0hS@vvF^z@p2#hm|Y*t(x zZF{+hr-n5nG`S=C;q?1?Gizdj$F$Huj%(8eOqY!axI0qmrm|MAtMiyD z0lo_>Tpw#pi6gJICZDT3_7H&D2rGzI!vtA&+Y~%%7a>uIMVs z)j`el%St{S-87yyZ6@tLwEZ_F_8Sp&>yaS%%wjEHDtWI$RlXL+Wojb;@RcWW zklD(~fjcY4Ef+|7PyoMCfxH&Vu=`^d#;8u`ba5cI#^7_`#p?DV3xUe)$1m$n(7GS@ zeArIuqtClmbU93IjV9mJ99pq`=5yrnpj)4>(Ofz2Oh8sCXMtms-Xt9?dj1}kB_lVq z(a!jdTee7r(<_^gJP54s(0_$D!*1r-+N$Mk6L8sb;X$En-L$78N^nbD*+p>Xd}}JL zf~r-wLfmZKSrsklTI*R?8LExdgqAw@)61Mc_}KYi)=D`&>tn*uhyj$H1W1DFc1vWT z8H)#UwSNQoms#rPJhyh&7)Ln%sod@n&+^^4cy8wn>`Czr%UHq~qdHE;^$94aqR781 zbGUiCN-u(fYDRX`nRtn4iC?eq%r^TX4ZnESflO)7IZe-><2Bdtmkz}`_-|oa7vcn@ zbj{@mhp*Pwz=-)8`#^mGXIjX0mW3>zW!m4*+4xt^+p`Rs61$aLPR0^owOt?WNbbD? z4mXlELq0b6gqy;B!+BEmdzMGU}`--rUf@P!W72TS?b)eYfuTkN2){yZAq*L3y7W zZ)~X;R%vTjSe$rhRnAEI{uV4+wD3RLAyA}Zo0s{TwANLLYA-p@w2F)6Zo*lQKT9d| z*k0t>b*!Z>D0ra(Z&KZMe;U?w|7Y8kBIDz32Q}lVtF?~da>Nl9^u8~x_fYkoiA1%X zqK5Z7i~@cthpS}upzHgTDuqUZUS#UZHM20$jJoz(1(T}^t($-I6XUDAzNjp-BWP^I zzbNJlJn?3h*{0RK{03|E?ERusqeGCCCkBKzT^x0_-r3JPnkpq@I{3#l9d`{!_)i+} z{L!E#o}z_c>aG!qQk(3%T;$l1y9|Xo8se)o(0_z0+Kh0MG=Fe^XNxpiCTwFd2pvZ+ z${s-c+h?}PPtT3aO80P(W;JmX4;T9tJrf#1id3V&SxX(pH^o_HzQaT{8cglGLH*lV zP>=XZV|3n>AEUq_rUDw!`Oa(T+<9fip;4N*-UQ2}sIS91i8 zVWW%0#dos_xG3ZrHEQsk&-rGR$Iyf8@lDn{dhdzI(!~-~N9za`wlhsif;&8n@x63N z2dv0nVSQT)Uqcf$OSi(U5G;5V3h%MWc0@0p;kRTB#URdeb-3o)&5PB6ONT}X?<^(H zM;fQa4K^e=Egw4Fq`pnEVq<91f67H^dP0G4)o_Ua&KXjdzrdqmYlnN}*|N*wzb=Tg zQ!$EB^_Nkw&V}o0GwWUCr*{hr3$CSRxSz<5eEcA&>6N0X_v5na(sVcf_4mdP*cjWN z6ao&2PtaFw{#{==rr}-s{0-Cf0WjB%irpc?DeZa=pI-lI-0WVFpPHHbkllHrWT=MSG@-#-={BG7C|_n-_~o8N=-O4R)PV@-6< z_Xw0>JKZ0fdapG4afE_g!c~8Vlu|`h0Ly1Ec~M7?P0O;%gS8+4Khiv%be40FB||gK z5d_SH20;UlwpDErn2J!*V2tlb%ItEJ)%Dj44D-J$$k1b(z@E};8NEN+LE3odb7AaR zJVH@$md5eT`yhvCh0i^s99>?4QJDEOmk;oHIkwEMgpyO_;%-U!X#wLu!`HCrI4k%K zL#G+yL)LleK$V?i++TYhj#xmyFxcv?P0BEjKcs&}gZ8oiKxd@Fyeh_i+!M?aMHGevnx-5y7yqp2V! z@aS}pF;w}|6Jb+uIuSkFz}kZC+QNK%U~aM-a`7DZ4A$hs7f81;n6O6K`F|CpF|!=z z0UyxLBb@42n0lXRba=X&q}F-#eFw3FBB-?)u88x$uKu94C5QfP0{%=SBo`y%nn4rK z<1Ij8K~p$&4j;#9(8Kg)hl}>{J+l|wuKSHkv#fE;vvjbBkdfH|oHNv{biag6>Q!1I z?&krJr@ck!LbiyDi*kVpUN?2V4U}73y+0DznZez+WMhc@cBAum=Q<*#Is38kTCtbs z?v>L0Dg0pk-!%NlyBX*v-cm&TnoFn#d@7u_4@*c!?L^)EG0$3G9R=xV((%eYXPVfl zysV_4yUh#j`(6q@_X`9Y#ouo=R5kET5>&Z#**r0c`fc?1hqVVn=0|7rF3Ea*jH+LA zKHhboD6=;hsSPh~YKgq^W!!lhP|XF5Gui!F9M+#qSv1IAGyRfeDI2G4F-L&I%T1U| z_$nk`e7P}T?7t?r4MZikHGGUPxK(1x`jNSViK}>w=q^zwE|r6#>K69@`~Imk*Of4H z*<$whvW(GkIr4_=26sP1KrF{Rq{nXN8@9RW9w<8f)Jy7P1b3R}U(fC^i3l+gVk74#vy#%_<1SE&y8`u>3U)3TX&0uBd# z=X?^cG&Kyg-*7$_G8?p-d2ze!g{#9PDq*rAV&VvP#! zQYHH(&x5BQU7x( z%r8Da)WE(zu^y7p?2u-u=aMk4e7rBTwZjxfqn!Rkt;^`h^{r;@!;Gh0vPZ5u|GiV| za@tst78vbz<^LDwF6m1}V-xr8SN+Ek9%=TjzZQ(-1#`Dar6)-t^F zo~IDATZPDQqS6wu_YAU+7o}>8BdLO*ZWOcR5ZV zP3oZ=%FNf=$t$*(SL(LS4?)&n*WL1@B~L9*nzfwvq!cPHUM-*(R$q373S};um{?8&2Cce7>CCCq4Yt9Sf{f4~)h(R2 zWFxpN7jFHKN~+BqejbrJ@hqWNr9&Y8N{0Zn=Eu>P&~2~Rk2YfME--w_WDoeuTw$q6 z!}W3h!5#j-Z&$dlq-A-MonDM zZsD7LmHT<=$xp~~Yv_-!j~M7D*&Y@eGj+#KgNA?mPMSTqQ{9-t;ZV*0Ii>6Qg3f1= z2EqG_5?Yr6j2D{R-zEOJE+qPtsh6{(?9Ey;1++{w4ku#RclN(CgPf@0UM!vpxP+R#t!uxak&fYq3ZoB#*wOtt6Yy| zn!I9|qGTT4s=EEZ*!src%A%&-7!yovdt%!*CpIRwePY`-CdtH_m=oKW*tSp3x$}NM zzIt!n`&4h#{Pu6k3EM)|xFjlBG=WDe(h6cv7=mMl~hjNE)V)dFTdk&w2BqoC zcRecmD8-nHI=gSl;%A8S{n-n}!Bi>5a!YjBIcuC4#p@V~Hc8SKsB@W|)XTp(`Jr41uK_U>biE?Z=v8W`&d71S9Qiu)BD z#5Tni1(Y8@8D*TXCtYaV8HfIi)6QJ!a}dTaVd{umFxJcmROI1UDaixX(V=84nt3^j z=A~&AwtGMMGCXgIX7^6|rjFOuYd-$rl4j<@*>X=Ii$yxvR!qq2*UU zchnhuy4qx{K6hsLiHTx?g+GXA%KmvTxpy#2m-{%l>+aVxWfXnyDNNjyssC+=+Z|TZ!fM~Q7P4s^ZGunRQV?YAOTOSC7 zJ4pio?=XbViKu%oH~`ej-9S4Wn>QP8g%U4-{QnFpKaNA+YER8>nnhcp_q~vs&U#&U zPWn>34Hx-97A~UD{A>;!{b2g?Y`p{4ow=TS=v(~5ccttPCI!)a_VL6JU4i z#%>1OQ^_G$m2A+a4n+B%;^-Aq@L9vPKs_P_L-^tkZ^kfd436Nn=dx&TIdWV+r8p;r zP5Nj?N&MuLemuPiMO$m2voT8|I^Uy?mXz(5M?nme)xp6^6fF)RP+_^ko*2T$k}fed zTErrtwT6nv;35}2_%2sAb{j*&gi8M5e>y2n#V}=+v6Prs!i`x$yPFJtG1j%n?fPJ_fX!MkdP@EDZwZSR1!7Y_z z$X1LdDfbjB?CO=g0uczCCLS&ajS))0MIk%%9%}+4PxFT%;*c&{6+^W$Vp0wUL3n0p zZqpG9%3mnqLp}yduBe|3aZ+p{9z#}zVgQ1dGP)=X$vJC-yJ(C`ah#w>LxIA&AtXeu z5$=f0w>Z6jJgrYXBp9Hr!P-$KPWaC(^3J{?`WvEmn@(_<(M>>NkxOFyq~dg<4h~8C ztz`2?kM$r=)Q)(`P9DRqNu7*N--5otrmln*y#xa(qlBgV-Iqd2og$_LN<<9ZA90XN zj{Z=gl=zFBW^Gad0=X(219BRp0vy`&8%#O2WK|+dCJZJ8m2EeSkwekr3opu?lWnOa zJ{o7AeVM0hy0pGZDh(?d1~o=Tm^>yCs%>qOwy2Y9j;N3t0qY?brpdMF%GQ@JVrKZ{ zr<$cD$2{bNknX>^P@-=m`orW04mdEGzQ^PsA_RBYSO%blLb6WI(88e%KHA%ezT4dv zJ!>g4p5Ql7We$neV1oe91>9}57o8tJ6USl*7ZXx>&q})IXf2Y7GhXsC-C5!K5N6!E$))M$L{a&z*}M8#cc6r zrC$tNhbqO(qmS?K_9L7_J08I7k{%wt|dl18_;b zD#IJ-IX=@+WG|CZ*q&Db;HlYU`s?}(W?(&Adstn^ z<#l%m5mdqj8|>0l18U=uCq!lmKU8V$1_?!QEXx19|ct#7TIJyr(th6F;59z;*&AZm}u=nUHc);qpX^(GhhaH6y zZtLa+tW(+-6hSfKf1oVILyNPxdj}P0y4Z4rsa;rLA(tF3YhuRk#gcbKn$K7vO?EJ< z)HA5wQG~NX#0!17Q~c5;vrlHfI1~#>oKvp#=m6i<5wHuhfS+JB%CC>F3=e1FmhZ4* zpH1K{p1iH)A|P%>z0Q_@LT@TX^uDH*?w=4m#jNY$6|EO`^~$X+(t27)iqciwGXv$! zFT<1OuyWJc1Xsa_L+`+{&%Lis`{{!=T&&snqj}PXVT2_dujJMxZQ+2=i}BH)536J8 zn~2H}og=9!sA7md`L)@Qmia?5Ts){hV&fJ@qfezsal~9yvT;e7|pP`1I2( z4H!4x&EysHb4$qS(3g<61$lBV&GE*cizvAplfh_3y?L~lege-fwAiVLd zHb`JONy$!JFluo#{0PmElyLxJ{@$p?UDtW8cg&K7#mw%!CCaL4GN$tHq5O|J`5My{ zahxF8uEaGXoM$9QQl_C_>J8Cqt>o1gYFSI^wJ8Su(N>IDXL|g^*MZlHR2EauYDRA8 zBTdLBA1K)c;1PaG1#)1ld&u4KDSRFPs4=(OtS^?PBQ zmv-;!Y+0DRq@1MvWE?$q^2T=vM4CCzezn-_hDh%qdhNJyEfNS>N(gb&x}O@c`}(#Z z^9^0IK;agWx*g4S-uFoVF)*WGZgSKHh1(Y&GM{T~mk94sT(}<1{=Vnw`SaH``RVt) zsWvF2J?x6cD9;K&*`8Uz7dTCe-t&5&Jl1wis z@llTyo_HT7hJM$VE~qar=|8jVClmWSkFiP&dFHm=f$7yeuz=uGB~xP}q+1fNneDV= z>UM~W-%U@IcQ=xEOcgvm7j2rN!^Z6&DX+N4Kxr|_Apkac(cbmJC!Ot5M3?$=c|VJM zH{!3&K*)_w;LFGjm_S^z{f1^MGpR4`h4z=yerFl(oGb3tHrC%v#BCVRWdcihx7;&e zNbQBf+?dQ)d9Z@A%*1v&rd@DJuBo6(!a}sudB?I-<4fa`scaO}yD7@3f=G+;e78nL z(un6gRx%!Hu6WB{@3&zMD`oN(_bV(+orD4kjKwRBxR;u~D~xlA0V2r&1Y{O!(l3iv zai@R_e_%my8_u~t(6p80Q&nKmUO#oqzNuupzBp@_oZ=I{TExi{;Lt@k_Qc}&hJR9OM6>{ zqaA%n2%JjpU3R}m{3w}Ze9$*sb8*pFX?-DG4WssmE@834QxJyoZlq+7V^~H?%zF{^ zvA6LFl|Lw`-1cxyma&V!Yfee#fA%CtT=XH>z(7UKS?UBq0JLAZg0b1j#F3ohe>+1t zL6J5}{|rX>2DFV1Cr5DBQVrqRMpi>Ji4THx`i0+1HXP$?X=t5Q{WE?_!7xlh+XsCH zz7(Mk%sNCptb<&DW~xgUj$j9?6@{R)8-g$y!W^c<0V5&V58RZ}IWA@HkBLu>aP%%^ zO_B&2Xh4OGk^VOb1!r9J6xcq5#uDXrD03L=LVWF)+yr;h zgCCGwP((;!=;Q&6-vxUz11i06GAR2S$%r8rDk}^i5`+3tPtY;e281XuOml&cRC)8d zs!0%55ePn|pETbE{AGhG2PC10B5-_4<3uUh)Vr)U24<@`JsJl@Hf|y1Ne*Xo-3BOz_L?uIj-H=~wD; zBk+V*VIpVTypAx720IWcT`D_llg*yG{BVi=gGORGhCR>u&{o$}3{R7{M18DDZ|Z#W zRNav7WsJ9P60ZlUP_GqAd^fGKu6oL)SZ3xt23bQ*thQ*8+n)crn$P>^FDr)Iil8jP z%eAHbobD2AH~M%ENb)f_h9OwJ+TMm5%OAS>Ts2{-MFv52k!`!}0pD#sb-QBeB#7-t z=xrPR(g}$cW&HS?UV_#2eS_C3y-0EGM~!p0#rxTgF*;q6MwBkPHSM*Va8{>iwju(? zVN1I0z~j1D8-jZT93JtO5q3U^EUDacLqEs@=&zsy4L`WV+r$SffJ$Vw%fn)XqeK5) zZ848u6(^L41C>6S!P@x4p|wd)04*Idynn=Db2;a7LRxKeilKumZ9*LCP!+Cqz&#Su zli|%4b)w<$$mAbc!;pa=Oc<+bNDi@w=J2>U z%aVG^v@BLQ=2gFuXCJB#TZi5K^$NQ8$WLeTbqId)3mmQe?=5m4XBQXgss{ca|Wj!Ve4$B#uTbgluEkY1%~>{7v?JS(WKw zjOM#DR@uT(v!mD6R|9Ef<3E6vo<0Y;w4|}JqpCv#n)IM*8VwsCcGUEErI}$}A2%LR zXL{lE0n2q2jUx7+N5~`86(EY}+F<1;RMrjf=k+37a*T5>{}t!ohAy`- zYjH+{vQ;o1J{b>p520se%Z#p6M|#MXbiGDyFj8U;i72XQguPT+@^DSy#_y!d?hH0l z!);;kJ^WMS5>%<${@t8S6_%USohN+{u~<>{M}%FCAZ{Of>Tis~+!#vkXjdG}Gu{=7 z4EeHTs(~1zII#|-mNU`tX|u$<_2;>Sbj-}7wMVWbb`*7F*M>3vtSNAJCyZht5di~qlJdiVPM}z2^Chv#i9SrdyIne?Q8PU-j`RcrXPD?T>ZMec0 zYC?)FnB$90gsY5iKu?y`A66*#KY1iMFx&kEa{R{d7oy_?acB2SNGXL5^P0(i2Guaa zHO3N>w!$j1 z<3N2|w;WL3i4faNL8R;OV6&oZ7_Xe?+lN4^mFt$vt>TCA z6BAFL5a#?^s`$Q;xt9ypPN`Y5SZ9J`Ebzwtvh#ccHzaiB8j+&ZSi4Exk*MCDT^nk@z?0?6MZ=d z`yHg2)tM|_0+`MV?iO+cFhelOq6nHTr*ZveLgOrW!E1Dn8>ITG)BjH)7}D-JsMWh) z&#=J@QGlJK^oEgE4E5svOjO`g^6#}bgHJ}=bJqNVq4i#s72sqma-0)wtJH~U41@KL z5}87fIihk=t(;#!hG<66_<}`4i&_Rv0yPXH1mQD_y0!I^P zE+Z4%q};^9U}GM9hULgY2qP1XLd}3{OjC<1V`@JX#Wr+?mc>AOhSN|Am{@ff=M5GQ z>v-qum~pYtHHfgY=gx`3H*!(LUmG@H&d^4nj>{<L~NtfTVb=VG%4r z+dE?N<}%{L%SKF?qg?1UvN=wjL~dbH)+3RJNP8!Dcna^nl#9FA53zDjv&XA^aw(ImM`3x2rdrm}&dQnB(*V zH8hJwVtLdB(6T{-q-knjxkI0ne8p-th2>Tm@^ov?Wc+b-^Ab_-cPilAw^#fQS_uJuK47^ApdyY$8 zib=Ti4nebb^fLs{A}IwDs4*LB#2WmJhC&zxZ<@8MKj+y6$+nr#jLX3eU}qq^eE@=y zeH^E*xrLS0Xpvt?LbBh>wXTDI9@V#<@m)DDHLWWZwM|6WtI2WmL$)F?$DBP}#K=x? z5e=D5N~)gFUprgz(Q;`d$(4wd=7QEZ)xPX`k+$AjzztVq=c%6R4E4T|_wf3p zIIbyvG0?vC_~sk}a`zJNZ~|PvfDS6h zpLXr~=A~ymL1!WdP%n{T4pmg8@;_s0ZU?IZqjxbRWTPA659={Hp{e_%Zu1h5pf9#> zpfw`J9@rdutPSW9On+wSdPuF_`mtqiYqNU*9eNMEKDLL6S=Qh7>TCBob^_v;WdA=l zoU-#Ka$D;Zcrm$`2-o*Y%?o}3KH7PM0I|E}OhdDno(h2cU2JTD7ZJrCw(T~eUGp}$S-AY zo`GH$N|{ha|46a6pJ#-RwBwVH_rnhbb;$%(|BszXWGfo03!)!*y`8oN6~K5WjQmCw zyeO4{Bq_R^N;vUy@8h-HO~ic87b$p98s!kY5Ha1|319X5O4nALY+H#nzgsVEfk7+v zx-|YAe0k!sK#|=vmvG4KndzQb%<|CkumgTx1baRxjmO~*wjh*WScEbz`q~ryv=?_^ zA-lV(%ALP8v?sSwr-preMXG60MyNu=E{GL2>n!polHd(IXX=|)197G`h+h=V zk?`sS%xuYggc`g(4TF^o75eJ&=02jpLUQwKpO`xO7i^I3#fx#tP(Y{_ zSf=z754^s*8U+?i!_r+wdSjG+mVO@$NLJKLHecq_z0UlYF~lS2Wko9&LBu@U(n)9$ zpa^DqPt<&H-SLqJTo3M&sU(8m8NR*+`{I9D$2PpE?+Xgi`|fvlMTY#eV5_%d($n(L zGhck#VZ?b-d^&c!D|;gf?y$a51^d)7U1;*vrX7MFT(MqfjZaU~1wKUsC3k}kM2L2( zPuHO{)a-ySiH}_)0OOr86LTP`^!|uQnWJ}ybO)?Q!VjcNyhiRNHfCZI+F=57oU#>J zc0|&aV_~AR-Vp$A_AGHx-1{hackEUcYZN>tYW^vbwuA>3**PmZ0Gm)2mgjtctqbjd z8uufwB4JBwVA2_o2*J1}Qn&*?SeHh}p!kuD=hL9t3s{+!qNNplY_b~4xl90_2ay9m zE0YI$_liNn?;k2dL-9L+Pvhr0*x$AELg1J4jSOr7wYb#daJ4cjssYzJl0d4F;S`{3 z2(gv9(;x=COxq7LGyRbaXmS`V69T={H1ht0%`4{oVh&`5Zw;HunU1=P!Jg|+%iyG}&DqMvwHS9%vpwYf=`E)e&1)tZuRS z(z{ci{>GAxS3Cz0;buw@om~LbKNGzv&jG?@k0M4}b59~5*JYI$qg?UQZ#|$u_*MxUa%LgU8w70KmWt&nK^mrJsk|zYgzIzo1vim zR1fq1RL`~;s?X@QoeQ%MQb<7oYx@7O3Jv;){v-Gbu-JqF_+T+f4@`L$Os1Q3(EmfK zr2j~Y1eTdp+?SND;wx9c*TYB}Y`R{Hmv2wPfd|0Y%@sReQoxOhF?sXc2OZgeBZ=T_ z1U&vI0wOM30m~i)E?|oJlG$7;|2zF9g{{LB7x^0UD7pZIP~xi0`C4=b?E9sck-RPA zs_-x`0y@=hCnmUZufUVjDu{_Woqrm((>fjJQ6SaBntH5fJb6|wbbkJy4Oq3#& zN(k~1*jA`@nX9#xiwZ2GB@SZwigpjs=5c@P^I9>mxd%Y-3?>H@{>G&Pdnrk?`(^%3 zPXc4!1H?fpV_?L$zK(l9Wy%Ct3Rm}Eow#%~i@8^aB6A{N#r_*2O_Sp|QlDI-aWhRL zO)$4_l9oxI3lm4(9JFoO9^m9eN|k)R?~HT~adoy=6n*eDFD^6RjfroaZ?PPMTrm^H zBZEPh@PB4;A2+E6VtFT>?ePFz7=XT#2zmuinUNO$XEFX4qPC1b-uepb(eD9J{}*B* z$-!P8694nMZ-?NxNOmiXK#JpJup2EOc=o^(>8;P7O#e+J;Dgzkqgrz0Jui`4!Q@W# zljG@W$%*g-U|agrSY;Kgfhqne^7Og1qXF*IWB6*KwP?n_v8mIo@_6 zS96m$k~Wf`DLo+mwQl-?k)EPl#{7>$^j`73?yd85HOWzmABsu_#To02yT}#Z8Tnh( zQtVRXQleyRA+&5ew6O}YWG8gA?FiZeE5;qbl*z$s-vc=sk7HkjCP|rM3)cTL{qNsW z!<#=B_+=kS*YLf}HIo1p18`~y&wPohG7ET%{0Zjjrr4Ger<>B{vahUOk!ag=nCcxJ zAIj-jF4)NT^jus!_@zp3O1OMLQaPVFuMqM9_iNAN4&4+AV}GB!dH!l!h%g8@H<~yC z!D9!}2os3Nb_m>{#g&*b@b_*U&gj5vlEai>UK&osRs!-GF?I;*p=RUr@mvb39PEN=y{@`)@o&jSSF z=ir~<_GG-g%h;|7`~y zK0e18Mg{CE9_&Ovw(9|_Mo6=vc0}qJE%vQg7R>+r&GQ@I>!lvD4zZ_>{(b!8N6nG9 z*IkuD3+*kkPt-C-CoPRqNQYAzKhr}c4;xeVt2ayY*JL7NpzNUMK;Q~du59X@A~Xd( z=a-x+r8R;{LEp2=7MfQH`zm7YeK&_!(iRlON4QaYO-)TbS<^>1(T5J&jH-oT+yUI^ zIFx5)Niqw8!<%(dB58@x>1~pc9APZibp@t;)_FTZgvfTsP<5n4$+qBZ87RgKb%kc1 zvK_b&`9;Lj(T$ze)@N<7zsSgihs%|dE}u|wFo^@qC;Nu6TPK+}#wkzgbNit};o0Ab z`_AV0N{tX@yQxPQp1lXc4mp*cFmr8eWsX`Q`h;A~!*;_p5b1UG(KJN$e zDQN<(A>YKw$FHJt6?vl@YaA1fDICLs$!4YKJ0Z*)jz*O@mH=hf7o@rqUuisryk|Kh zMP1s)<6z;0)`I>V8=oaoqRc~?<;Cji&Shwix_sq^Y8tm9goz_|o78GwyO}(uo^}tq zzl207+iji+a35u(`XLe%-apGkSaH5cPYrArYpxRGAw7xUoD+T#-`fuK9{&F>~I?3Z69w8G+hKI-%J_4tbbJ#TciFuHGduy^MB%eB-zZYwz1}^m1Ujj=Fn=J#p z#A|V%MBt}1z=cY>U>B3cC`!WWSJJoi-QPr}*no-Jl@3kXHLQnwh?NhN?(IpdN8dg* zU&H#BWAdJDeM;Y+_NR-dKx%*ee@_~WZcJrsUczaQl=OO7@TV%aFS1Y*IJj$n!$h`^ z{Wegw?4v-T`SD6hROBgPXHfM(k-6Cvq<+%Ra8}@EvU4O#+QkYtBhtQK|MhyvsFv_b zpokdE->~GC>vv9Pc}dW<4{f)nveIZ(~==o++zl@4u3z)#Y=i~ zyW%mqnv7ppiTV(Ws^DzI(fhk*@}rIR+lIeq zqixcEUh=ZPrD7V+OwAo)K*yhG<X7|r6aBvLApf9Z#dGC0L&N#@6Djhf}C72##I^&nI89PT#ru!|cya;-g+^uJ7 zf!*USe@=A2?UD+C-;u7{Mz4)mnq6+Zc9ySi-hXN^?|u)dnaP(zH;{Ecwna6;sLoYIhLp0t zj(2XWL4^-rjs4(`okh+};f1SEgw~hUl1a0xGgt1UL$)!T0E zhJiQm*NLHhfB<3I37W{0a3q;7a6R<6&t_L{u_}86KyX(71iK@(2AGgH#JLlRdUTs+ zbnxYyzzv{MZJ)e1|HG)0GXOsyY^P_*9l>xrAOqgFu;Ldz&OCsr#(& zj?8q73>lL;CqS6z^$*81rW!GV*!yaq)Nbw(9jU55#y>oN8NEVn{Ja=YJxi+fpM0Gg z{;5lpCQzwGsVB->nE3v!VlqT~u)J8Bem(TDuaE-kHH zKbC0wm%WTbj*yAjfqlve9)Bn+_nz>*sC~Qb&|3Cv9`j_i$##=2|qYAw1-~KT9J%O(Kd51 z(5Tw?*TL4kYU?VWc(giaV}t1ASB1L%Qn^-DTf%m;hKU{FB{5P$zAua;oXsETo2=a& zc*VB&*%fiMrG*507%q+4hQH+4gAZdGV=TW-K03{6Hf^`j{@mEEA7mPU)XeC$v|oQz z6)p7DePqYi0FMcQ3wq%EI}O>|hKfeC?5K1N_~huQjikuaknL~Z1gUF3&e&fl`*faH zDyE&B=o#8Sh`;tWj`NJ?@ZE~MZM5?f5*L3XDlT~X6thd-yjjzK+RV@@|Z}EeIJv`whlftV6))1lM z;(1YTDvVA6aYT*zb5(15qF8F2LN&(19trZqu7T_IGnX!#9S(kkmUiwnLl5RchTZ!P zP0GE+3g|%hI^Vw}^_43c(}-94&?ufx`Ku==-um52l7X&9wtP*rg31#Zl*P%Qxh#j9 zG0|7+D(VbJ?I9bL{L!uN2b%f88TseBMN;OyBB$g6z*X>Dx`dxtUU0)3N zoI4GIajXoRR}a2x780zTxmMY>-Y9;O1KfHVTg=Bx2-t-QE|G|rYf@?kuIgIQm%WA3 z+iX=l%4?U*ekq~YmNPw*(zV|Drdj9yDCY?}W07lWD3Ax7H7Dr-zFp0h_QVYrssgGn z7<`~!K_ivHUvHSL-{r@qdvEX19W)H&yT1D>76)`bvKSg9+C1tX*gILay~{520N6j7 zIBz-5opfQ|Qh&YGyZJ(`htF!q**3$jmoP@Yl0x>5x;7>`0Au6Bhn<#oB#sK6-xh|s z(%0#3T~(ffo*z@TNvi+p_GM1IwUhS>tLiv}Qnr5$bAYF)w0A&1eElg1Xjn-}CLyKA z_|C&s(f_k0GOzJCk|e&loFrg$4wr)lX*P7Y=cHw-K=sDHQFJY&8{lkGlyGHbsZyge zrRi~7C}7;nv6V&1;%f_y+wfa_iDF3+GibKReHt&n!s=NWB6|) zaG?^$&yHs`(*;+kDr@CRT@8ti;{RAFJLWyzZ6A7{;hsM=-icR7_JzE@a%^T!@!m*h zh4W@gi~cWmV+PI6!Ln`jGf^)WfyN;`J4raYU~R{Tot3wIi6$1I^gT?v# z-1xxZ?j9_MK-`5^2SIT7_9so&kpt!|pkrgBZPNU+J;^4D!|a6NP_o}Rm5^qp+C7AnC2eaR@vI?+5f%0m591nL z{_qONjRvI3^BUVM$cE?^Xt1yOn5;|fQv!naviE+4`B(bHa2{k47VobP+nA|O;br0T zDLhz>`B!Xgrh>+(4ou~MuT+5+DS?V9cc)aJV`Y|y>g7yh6pjOyKasjFO)FGa;Xdws zagDy(ZapI4?0orC{`Xf4J<4mBMq?={F8fdYhIj+m$VNOC)}r`VYyxa-hl@0v?u|K+ z=wBCQ{aX}4WYU}7ZIf+VRws_Ev)4+qDYn4-1!&c8n(|;zP(|YG&STHkyXHayfPZKN zg5$RI2ZJ|GIUlP00;6_63tRZB5cBok&VGsROYt11e3=uu^&P zo>X)(A64e_WJ*9)`K>c`CQjDYbQY?jtq`*KdGwj6#tm*f?5l-V8LvcWLbL&?F~fJVP^QyvYxk)q`nQAWJu6cRE;G9eO-LFY=D< zco$$SN;@Yj_CoC^Yo!^pQ&LVb&lB)G{*s?qVqfUl)HHSm(X+^0Rl$34sn8r^`>qq_ zD~IsI->BscU8H|fbk=zQBbd)s-97-N`WA)Oq5Xle`~x`q7nsz!df7HV73ZR6d4s^I zcJZK2BY*ii-vi$PDeGVP$DdWOP+g8*{itE+v!izFB;^YDA=rKeEXM=5G%~M=y8vsS z=b*Q)wpdDDSyHO+=csYqCe&g7W;V6md?DY8TZ&jpXd$hF{yno*57D62h8dL4cdNO3 zf=&ci7yD!<+fG3YS(o}sx8NY^z}3%IMusun_z0Q51M%yHETFBOl30d7vZNr+cai+6 zOO22KZl*ceR)hb+lqh55eP_AtxGl}Z0Q_LHQ?RnlOowvW1?3NTSgRgxZI-l=n=7Y& zcq@WA4NjXHeL3PK#hw5+zc5ZZP>tJ=>|gfVC6Zp$7$Sv3^;fU&OC+`6sZ++3NE^7w z){bSjhN`m?hz6gUmJ)7mkx4oHGG}(X`}5MncPVoFr2dMWp9rd$ZmX{67mu)nufY}$L=7gf2N~GzVM(D{uVy)`x`pwBzUs+rfO+QuofR) z(c`>h1a*?a#N3*3)1KoMoFkwR>xK7${`q<){xH+?;dQg4;tBt+7zL3SoYbu1B?65W ztMDx<{G;|r;I{B*hxvpcT25mBD(psZlG(JSoe$qY2O~(q7RsDk+7yD5a>2iw zbv|ELQgs-r9^X6&OY`0Qj+XRa_~}z?VR|!E0f6D9HdA&0N`b1{($w3qpFk`1htCJv z@g1*)-vqE+RnOoF(TuFH*mk~#vla@8auJ9t@Xk{v;3*OObVz>OCsV$YUcOUmed>3% z*>(FI`2I}NZK$%d9ogRTc*WlxkkmUpu=#bN{p;?P#9PFiFh%F^rogT#Q2G6tx%*Rf zA?8BWl^yI1E*=Arst58+_n|tR%|DbzQv6WfXtT4yx4&5hgC6?8sr5B52mE_rq3FBL z2=Kof*_EDxy}sw@U$L(Mk!cwqh46b}VN{wR=pqc<4&X4T1wI>#h~c?~fxl9X@S%W- z_P`Rl|CGnT%ej#hq<3JooI)qC0VLR91$2=}qTJec|NN#b!tt-`oGBaVWmyDxCe!!U z1@NVPi#_U1k-wbhI|v-thyvi><`%Sa^udBYy`8Vq3&B+B3pGC{4jZ6K~R4Cq{u&_TG^1bsF0bB6cN>b;~e*`865}7aKwD)%o~FyfQRP-$XX7 z2lOD~&(9(!|Ah+&jT6rwpjLLziFf-}?1ljIbl|<#8SrsdXXRK}uTa#kTPW z_v}iy>CXH=Ho_yDr8h^mDN`Cjwr{4J$6ZkP-biDjH8$&^}69}>98 zVvZo2WAe=q-93ab*hwT3YbmdYF<(ZyUMl)Ih~Q)CYgmbPiDB`?mVBaZPHlhB*XL5T z!*{`$sc=tI);!)hF8UL_@lzL{wB)Jb)u$4M+xpRS0Mo;Bhf7gP->QAa85p($v}n(L z!~D0WOY%e{S7BAhE#itXp!eh*5Cif8t|49Rxj#Vrk8FU;1-xPD)&T~3-Cl_+V4U1o zrz^0gAde#}(12E#3=R;fjMrQQA7ky{=X4Q1?a61QpL;>L*+u9HB)H_xvR9!u{rMLb zJn%#z5U>)uXLCyOY_4VO)L;x_bc6Pt-S7OCWK9d46p5p+r}NufyWySO8*1KW7_RJ= z{u)9Fui`uX=-`e?&8zJsj{t$Mqk+>UOLz5ep^P+L(^hJ~aid?Y^mx^N``#vETI=G) zQ%#JGxCsqGq{Ahw7;Xnou%r;dCUGa(s69nj-g9YU0=FfNGKExGx~dX~sxl?<&t1xE zu%YfS`P%CNZEu2!KIzjeTHNh@I-48*{tYiDvph|4;S(b>m`qA#EM~sNh*`a#Z!0SU z+p+QSp|$z>R(2{pD-Ll#u6vLWEP~8z0nx2Lrsg(~hX|=Lu zZdu$}pWg8=W6l}i`JmT(LG{@Y4+mW9!)GOl{UOR2Knd>qo}k`f&HOc$j{5M9?orqK zY)EE|Rj+hU^H~a>m@ioH&p#Im2_20zb`T1^>U9tr%0ETsi=)wnQrMEhl*@e2nB* zQ+XU6CNpDu-)nWtdsA^|SwuB+x^|EG&m48d^i1O_pYu>4b8SJ;<^&Zr{p=;zYH@MJ4MEM3HBVV1VJu-MHR$bf=v7n%amh2 zj4YLhE3p>SuZsS*5C_meS*8{Hz3nxa9j{aTEi`#Ysv#mc13z*Zqq*$+Od<;Xl8gT> zGKv;bp&Vxfe_*wi*g%E|23ONNA|5npoLG;GGKASQfByxYzlbgNBFf-`({%kx~5^}n!G^M5qq&0Ol!uRFc)Oq&_Z>Y|&_E2cB%{Rbj=eqD%W9`c zFL_Wb>7*W$U@IC4@;w&y#d>oe10Cj?I$^dmxvMpiBbo;}||HqzSg&KYP z@Hg_d*G0Nk1&$;=qFD}{4X82vNqc3gS@StJiZ?C1bxNM?BbN@r82@j{`$r2F7*oS> zQtV${T%+T>{ac$5oGTxJeg6kZK(@a_@|f?(=_F%&uk3Pz%#XLFr7X;> zWiF^I{N|hpg7E1!wowMxVx$_Uf|^aT43oA=Tbno}6SUazPvbuRXpdr6n{E4RAG1Rk zmo7%aPEVZE{Gced$@SU(SRdXxd+P9Nf>x8Ns+vRd(=eG38cb@26G|2OKg)&ok{92~ zmpMPvZF@pcG-a7qb}ufr@al3Vp_5|N91I0=h?=# z7CK2%u0D362T!tv4df!`@4qr+8rP^OXHP7U)M|R3TzwiJR=<1Yks7@NXBeu<0WOKv zXpEkG;%kb7^&a>g)fISoP|Yo| z$i5o4!YLP*g{ergMaKlGXNf5KR}eDRb0j z7_~W9`z{)`G5Pb>1QUr#X7<8hPd&dcLwR|jn{#o#Bz9wfHDT~(dI=rdmAUwg*#o|m z0F4>dw<$tn=%k55G=^@PQT&Cd+69a546bUkd!=%N{UUURWOK5;tH4voNKTQ`&7F)^ zQ;jJomeV`q^l<^Ek19+}B7>5dm5H7_Be1XBpkdI;1lA44*!W4{=e9%Z(D9er2S&eb zn%*#;m$>9^DTxlMEe^5B1v`mgnEELJPJhSrR$<%r8GOrja2s={*vYM^g^c2<^Z|H= z;pxnJbPBmmXu&}9w?{P@s438?DkekuZ&EKA$eE>DngIMHT1g6Fc)E7zxcV_KEI)+Y z%B3H4lfqh(r#-Vj=tijPK^w2IkgYB~CW=4Gj*8;nvg4vMuh5!w5vAnVDCU(O9mO9- z!Tt&M`mrLUpi@i-VMI_7%kJ0kMVT#f5`ywdDhJL&BLW!`4ZKW*CW(Id0UcR+P|X_a zM!?4s)mvAHTuu8z(cD=)#tdLVD@xIyNeZU>lFWr^)hI0=<;q+5%V0)mcq&LJvS~(O zWK^V75l3+}U8krx%(RMIHfiXmeKnz>wI$ljtfF6x^W)5rj%{hAb&(~{6`aAINa-w# z&iGBhPoTWagePL8b2F)6#f89@%1y|$ipxyu_#x2e;w;urISWYmArB{JZ5-@UU*ua2 zN*R}80?_*d$IAvZAUj9{>?+9^coUh0L#pwyoY{6oh(y~FlU%4GtQgU@s`9`h#jvWV2%y46qk($ofcQ~8I2eHO zKRBpLqc4uw$2_9YfNhJ=^In1`#jBLwy80(omzi0`I6$N-|8-7+T zVb+>w!x1I+>|~@bHtcMGEjAm8dsC$)?5c|Gvya+E^uFKN)O%3(2ar&a4WBP;o@L3gF7evC%2 zRmf2ZF6OEP7jubVjZWdYoFQFGjSkov*DUubkLNL9tJEN3L=~2=qw@DwS`UP87zS;p z?VW;dicycpK|+;7+5=a?Q4>T-g*NXvqli|=N4`t98?&7-t0WVX;xgg}sx2WDy_Ypy zFo+7Yy2%_sWqz9LC%MF4TMl%^?CP84Px^GB=1T4&qX^rtfXVclTMSvvl1+4~C{o!# z9oaRrBG(vK8x{UoKFzM-BE~JqEKsOw{8T1?ysCzyd#>jRb8)0i0&g&<9f^y!#id6X zPzpD02l3`$DCpx|5qMMv$JSZ`G%x3b@W>c?EVR0)mTs{lHqX>eg_vy~QPHX2kprsU zC>fx)k`U^P zVxHdWl~7(NLE^^_M?9hnZ#kQv2cN(>=J@~JIgfWaQwF{685~TJx zKIXl(7zGIjFvCx15WWtK7jSkm63hq_4rbnwVO3RQl<4xykB9=@lQ=AwG0jU+*A?fb zbY_S5?(1vTzH%GT26Vu~CN3B4N#@gAD~Fm<9m@Z*`_`14MMLho%9^ z4o$iVuJ1&8J$V&e4eQr&{ibH?!^p)}(hd|vaQ5w)4&BCFO1-F5(3{n)=&A}0!g zS+rXKiD)!T`ra7?BW>Bq9Mm;yG<=jnubX?e!s-HgvMo*>fvVn6I123vT@EAc%MsdY zUl?Oh_9ue<@{WQSFZeUnN9&G_{iKlDNlY>2+tgu;#bX9IYKHV>fm#Ip-*=APU_^qE zc@lUrf|#~Rr-=o=5zxlY6N|avclm(~e&aS3Y)TYBBL&!g7@YVvTk{3XF%+>BAIKry zy#OAD+W~dNofyAlK{D#%-~dJ#0nu7w4Zw(7$ygPmytP`DodhGVn>H|neq_+!F@CJ1 zxb+_)QQtUzEe44SkQg^=0VLdnQ*+v#nk_C%kNOH=BcL8$DsC~_0*!O;6VB+ab8LmU zUjnzdCF`2ZL49uoq;&~Y#-=%$lC~?xT3bAZp2q7QiGkb~Tm&lmXl}R*X?O_Q98p7GbKO6;VDNWZc$0@3`y<^0mo2^qYN1g9J6H0OEm@OY0wV> zA;~_8SPI-O=|A+{HOHM{BVcqRcLYQ15|2RWD;Y)UC|jy&sAhY&EaOtUc{>?b4U1gx z0ym;Q055Uf@lhs)76YnuvYOHwHs1TYi5957%i7#@$I0eaOmF79Fs0O8uEcR!*~JHRT}Y9ck{>M<2FeI?8-QsApT}KoHqX~l>@4!bek9c zuoR%C?Os?0RSx{ot&Z+OjoY%Ga!kKyTnegafVwx`H*BF$Z_3ta!RT4$OGmMtNt$+V zw@+u!pe%Y8@YfcbF!S60sTsR*Fcd_i4J}M>u=*7W+%ETkLFEE>sdAPeuj^uBmbScN zKS&H#QJKQjao`MbW5TZs8BXUYx2EHC6Dv#Fg(N$o-_{X7EubaX`;hZW9OQ;_`j(qf z7;;~QR-(H_1GKst3At^r#mTA=@l}m3sx^Kak`Ti$9B*V8PU2vfFTY7af=vg$)LY)N z6#}U6api0^EauJmT_^eWnE7KIa#_>LPls5cY1Vy1INmt-K4n#0H zFM@gIgIv+FpTZ{*O&}Ssi}DjNaX5PFOmWhy!B~j595XdXn7CEX@D0_xFow zBuSz;x_|2_YUJq=vJs|=FG=0@ECOUPjf4h}-MtvCmW5mapOiZrEy}Q5q)ChYn9^>ZPORW(`*ppsovxmCExGfw4chg<=DiISb|hD=+dOInlo zhobU!0G+6J5#(}!tP;ur%p%rC%?N|u?EN>LV&qhW4_p)Nt4^_4+c`H+teZ+wmx}=b=#mhU|34ps+PpI^{cV6AKqhty|7AcqB!IVwM2I<-k5YbfJ*IRW`t6 zpP!*TD^UARj@FOX955&)7#|<9Exf<0@jpz+zgg2ZY34WqxKANBYCEns@h#4M{Eg_X z0u(FaK5oQ{1&2!?L5YKr6d-hMcfNafjWxI>u-ttT1#I?n_shYg_i^EG@eSVsG}ZW~ zZ5}i>NOjOO93+K=ELa719Uycs$#fXJWDH2Ot`CA4jf!muFb^l%c%*^Qh^(LhT<)=u zxZvLKoVWqz-Fu4ac)1ZPIgbQTM;5Sa_a9o6KuuAL9i}S!4%A$!mO_be< z#>|Nne;=EXuDNB$^SFh5l6)19VN%O>Rq6lUGB%SiWNqDpUz4OliXhrpUP@URAC?3W znlL`%sw6c;U;VU(LN7M(^mu%IOm8~LQcAnP7r@=-yrdVdNLY%G0zbYS6#};w0`MahL{1v&w+K(sIVnmFYOu z6b8lxjqLl|;^E>qt;3snS}#?;BHIUjXsdTnRy#P|5*Txs{LD8Laoh#3KELsH!W}%* zUx9ZGyhOiqUKiq$>B|*1mk*I)^MrtddCBX*9NW-1_~INAzI&;WKJ$7jCe#SVu1pxdcP+ z8OJQO*()vKAmndQhDS)^^$8qGIuPLoK6{^H>p#&#gqgAWa=6ezYcdXv!>)~D2l!0* z>hifqPG{>sj~wIj27E2%+>i1v;e9w|GKQu|9{fwlL1Do!KNV)(xyV2XAaQiiQhs4;_EnJ9l8rL0=nh zHAQEf@M^~1fMXGOM?nU|JcgMM#JGs-N;_~?GZxrbgBsaF(wnXiZc)>Wx|nnJ)hkP zd9s=^StEWhEKqnCu=MRAo0uQ+UQl6V+k1%~>l4=aXclpwB}V;l4pciQx38d3E))wx zzo4!@2gX@<61lJ~&7_%(r|OKxc*Ae*HX?gMz5+~FIv_3$*uxhud_x-PaXZchPBujc z1FG_qC)h1<|Ii+d-d*^h{P+1{qE~4zs9cDg#=1sa^_(cDya1*5AM3vK{jCH`P%NBU-(DuwR1S4d3&#wPF6r|&=77feW> zU5+eek97JR(|J_*A>ux@bl3`+GUhAS4HFIQq08(C;;+wy^>{h{5IF%DB|6~k5l$A) zk`wjPanl7;s>Z)T6Z__iOJc}m%Or(J4QA&|yt4ww;O}X{o`=Jz8QtT1%R`7OxB7;{ zCgg3nxRvWa{NOGsCbc8719VYnB0-Jd;#g@Mk{r*tp|eApzl=8gw!e&kAVDKT*=aw3 zoxum(Hy+`#7tNy`SRp{0gGGk{3s;jRIVSV!OSE?4DeRg&xE9AHXTb-hypLpqO6w4g==e2H}l5425eHAK*Q)oY{4~ zooDkaEgB$p1m-)AZD9chMCkqY{K}OQT8_oF`=v}220+#h6Oz1?OmZYF>+8pPcn`|q z)q_}~xptE?cn%UIgrgBA#0)2_U^INc`17BcSjcmC@zIQ{a8r|8rXYKEQwfG49TU&OQkz>#~gV$SE0t{aPa|4GS}+kvlc!>*imcjJs&v^ zZeZnhlWKUCaL!|}*J9x!rudnjzDcKc&7d}&(SMxJG?x$M*sfMk>nPt^cwzkxulh^{ z;kz65Efxx?loa@5ris!jCq>8d>SmrLU40TqKX$ve7G|c{XlM$MNZ15V;$TcoiGHRe zfsDt3s^QdKt5cI6rhw2hTNwi(vsf)+)zMyQU8obY87{2!nlTzDjgUd;WEeut-5i#v zk(eng0f5)IQ5U@BWu`gP|lq{p`J0ZBnI)7AoCN_i<_v6&0(Pl8> zDzmDcU*LMF!HCCpV3CA{HfbQxG-9-Eq@-Kl@09d(j>?wBQLm=sJiU{||nqlo51rAk;nwcvv#a(y9guD9Am z*U4*#&N%Bz_Hx&R*DfUoow~%M#H`5o;dDHNkh1U!{mq2lGL1e`Hluj{S1VhmHcpNl z3u)6I1AdJ(Fn9~d<<)p8B9ro0Mp}_;?<#&moN_XsOFRD~g(Bf{SPg#OyULSQf?I52 z2rsnrA7jP4#+%B=tpDy~Z-fs4ox`}!m(UM)U$XUQnA9Jv>C7u-#i_8DuCP#iE+Rvd z&ATSqC_h!oIK^vn4zV&@;k&ch(y^YJ1ph;f;9r4h7?Ht*=B9BEubm-0{roUU#`Py} z=%Y`xdi2s82KL$C=4koszrbRE#<%WCy?sHvPhx^tT&7PVYfM+&BN=8qIS~p2N(!_qTv!mm~^BHRvy+bN~ zNbw*F{==dWeHt%wz7bad#x&Z=Ao%E09C-98rNYAE8M!9wTAiJJop8oLVvZ)L7-In8%n5_V(jmnub183Kuoh-|A#*m^G~=wjSc+}#0MtQV z>(bO}m-@W{IqM}~t1r!a4&spI*~TJK#}IeqIC>*qxiyWX%aX@l{I*%gf~UKm6qIw% zt{awpKw(%8MW6`S46h(V$PL>iP3@7^^(Tjits^M`mP%4}A*9Jf zJb!FYN6|DE%|I*74*Q?bFyvWftUk|KWyPr4C!BF*NpF7FYI*ymHvtQV_X87WY$L%_ zJ7FVvZI5Ij(-r57$=D<{_|t|BCiTzETerHOO&xddn6acuzJ@|mj-Qk#cxT!^iEA=+ z##T&THXiAc<~^=K5s5BL^rU7RcNP{sOtG^_Y~zV);FFZN4)Wqi>kiu&0J`*TIm5Hr z*?fF6#xuH5JH=7}G{qM|@Dx#eqIqLSo;~PjvWY1v)WjMyjWk0%!Nm>s_TQG<33P$Y z#Ksq8$2TUan-{?r#{P&2N|CXT{7T8&3!HUmd$vG_5?lAoUk1vlL1W=B`#Cyili7;W%-7Nq55f&7daEj+vvbny0YcQu=Mn2u|_Kqnr|97V^+ zbPDN_!!+oS-VD~ukK;uofndHhb^N6Ke7QRXKN$)A_-tnnU4lo5ILB$c-GXZwl1r@P8O+yZNQ)tL2=7q z8ksOv?fw1afzyH~IdQc_68=Zyl{4?c^=dkN;Zii=1JCKDf9QA%sN?`ZK7N}bPtxGJ zIW+INWI3FwE<>g#&+c!>L+?5qPge7|$R<|N%m|UyON|Je+&`w%TWvjK3@Df^!2=$6 z4Cjk;<-6wRlJO0^EP{3=t%!Dy27K^(qcnq&$WJUWX8TpsXa+L`5y4|nyhF#>C3CL7 zT&kmqOERA4=^6Wj*S1|!+F6qbm%>|u3qPuYKXde3+&BokPg?*AXExVHMKovB;NWAE zlbUgrm6w{>fi$iuPgUZ(Ksq4!s?Mhlk2*&w{`soTr=t0kxbbzVpEPKXnfl2^Bbk^( z_uT!S`YC~Nc%Fy#pT`Zwc!Gfo=*b8Z9y|?2)Wu{*Sxl>C(6$O*TLcCyyj!M#e*pht zD2h;2@!2(`EJpVih{y;baeFvjfXRUI0PYGx54I>wU&A^fYJUiY)H*Nshh2();Nb_P z_m5^?IJuiGC`l_Qj2~z7_g-#r)ZCSU2|UYz5twk)9`uoPFIZpj$yxj8sMGT3LRxsx z>At$eVyp;0IPEqsPwV}kA#nmc-}95^+=#7=32P9%GC7XWvl2JF1v2D{yYDi@H3Mje zDJKO!)X3fhRNbfzD7_ZCWsIU0#tXX_G4aADhkb=;9vLVPlRPb*3VgOP?#6NDs0@yX z4^|xEPcC}6Fh-hecl0(%9*xuU6iIX`h!0vj6b6t_w#fr9X8Z|%)~EGmGt1Kg=8zk_ zr(!UH#})8+5Zo9j^l6S~ibdRgC4^ara7Tp8BF8ql+rF97D`At2MQ7Wtp~&UN&)DAX z2hT4iHL~-M9~S?>n@pjoEzFHjysS5^XuC$o;k8(DoJY$Pa*(tz!Y(g zQzYw|`I@OljEmmYvpJ?UhOZ(Uu;fKV#x@X#b8^_uiME6qi6O195Pg@F#0=v1 zvjuLXunzi`^TjO2S9~}jo=ve9TggUeE5%-{Zk#3AL+|BFF=fS)rGQ*frVAGYh92t) z0Qi%rFIPB^7G8)M@C-R1t|#|9-cLVyu|quBPJT9h0gecI5Q%pKMh?E7vlX6;ZnpOT z1ppah7|x?VXj+@l>oi(GCuD&;%G7~nL|2UhFsoj^Fh!inGT`Jq_V#Qs_{_SBL#_!@ z;*DJ5MgS1@!(zu=|Fj(IT4QX(#UzuC^vu3~M-+ZLe&_w;1@(NLg+`SB(+e;6|A7jc z*$Q@J5EB8(;V~c?dnlL_UcB&(`(@Y$PaECqYkPQwAr0uC$7@=zbwL>}T|BsUfIo-= zyf13xQ-__i=?BKzOi};pnmPuUT(9Oh?ZLpZaF=^rOnoOdbaKaRd%jgr@b~tro zxkCkQwtv8E1heVn!TZ2QeuODXmwR^vpOQSyL$~*I# z8ZUNF4GBT#wKSi5C5=O_8&^cA;nfWvrr)*-?M%x~ANSP$T34hMOizu@;OjQG##=aL z&`hrUZ*U{q_nXkZ`b}tp)ETZ1O};@CC!XVi(BIj`qF;S&J;!x_gG*cxz;ZBwj3IEbFMrwD)37Q-A z{=jp-4j0Sg5K@spxbsy2a4=5{W()*+v7S2bKN#OI$riPzs2Ddv0d9m7OoFj_ri%2_ zZ6mxaVGg9)ZW-L7!|5^Z?*|3*?iSKQ-k_Q#lH$Q=F(Zp;3lId$B zV>GhfOLC)2qAv|MGuW!n`y;%5qd{K_ap$~+Lg> zTAjD)HV$u`RW=B7MfRG?{IGVsQ)89KJR~4*dG_QiN#i`&Q}LQe^tfTx7=1Gowk@+?x?|*VtCX@JZTM#A4!&82alwumWx`pfjI%q`KxemF{28(7raYB5=9w z9~OsTK)wdY1okXJ%75bV$tDb*Fzb`kB^^HKx6TV#F75E)p~IgXVZ#DNNauA22QE9> zHQ_ugCR`E*KP~IkjP&P@M%TRU^;mD)RYgS&YjvjNeNnu)L6paIa_6XeN>;1oU39!pH#0`2jpT;&2nq##la{a6!wT#>^U>A>JtrZAIA7If#Ljm$nzv%uX^$Ny2fRE$VvoiV=gk3F7-Z)AP0~R-+DFnb)o~=J-g;KLS9uSmz zt+Ipj#D(Dc{opR^RoVr%>#{YN`A|2s22(~oj`rcbn=-sx7Q7(e? zeTXdki>1tXF+Cc}Co}Tn`tjH}|RJ7YH3rmJK-CU3h|LAyYDD*#mp+@g&K&kXUer>g5 zFpr{5J=?y5(|BU*YkbI4-O|2+pS{F8p}@Bw*%$kf8ONq6L*dAA0Hr;*f0^N(rrr5z zo>On&o2Hq6lJ~th-lF^ZLHU=QlV>_6|2n73n;$M~XLd{b)XtUJj!y2ZU`y@r&ECR8 z#w+&E3mg#0>zL`7OBg7%{^6k(G)QNcyGh!jL=`+kmMU{4EKls+w?u=J#^s|T5zBVU zyD>tJLr7N6PWG;kRZbtQU3#KX4^AqVnela?N?_=Ca!m$bTX`~U-#qQ^c3w~G>oR_O zi@5ntn4`Dz3qx(RZO5?{W4+~AS$d`Y_OtA~aYJ+xykujv1M=gWHuJGKq0ddfh#Hcn zjc(`SJDl+~=zKXk_E_%bNzcPn#Jh>5lQia+#r(FW8RxgR*Q9n#=xb7Ue)=7BCuw9d zn10nFFKP4L{QEmJ|2oELtqJ(M1^BD6$8Q$GP$8rm%!`#Eg@u7%XAlMX$ zr$fdhO~9c4u^JBtAs2iR)Ui!bd4cF zL_H`E`J1kpB&Qp&$%PEkcEcbcTQWw8H7ol`NApq`?dF%UCng=z@uLjUH>QBnGE>9Z zXZ$q{1>}&RMTfVD84xHB!a^#xd^Ypu=igu}%|5stT>E+atu*WvH#Rd^nU{qy+y6{mtpBJJ>pf+AYj)p8(OTc zHmPgQvg94LQA3|L8&(-O(g2F^+HJF>v=_%p>Q^Wjb<_oFu{x&JL%(ouO;Ji=(!FkQ z;kCXJ%m+3A@&-xV`h8j^vV6RJV$nrxn9}CbB0fZUZ<#Hp?z& zeRZu>%nm7y+xVOZVB@V8R4WcgPWA+wj|Eb%DyQ!Hs$X4>b9)1jF`)$iJa#6?0cL*` zX<8sVw=mt1ddc39xPSWexf1*W*Btx4f%FGe(0rG`9cyI5PrT`u8w&@=O)B3YU66Ma zE~1Ur<;P!^dDDDkkRBhR`PFO@5!W|nQ}%lSY0LCj<9Jl`+EK+xGJ@kdII=dKxTTOPw?rd$u4e7wu&Trdz#6aJXK368ES(6Up;#eB z2@W^QlChK-uyoK_9R@f) z%S}*n;v(<~;;`K~#Wv3K=q8+xCU6`*T_cfez^Z%j*$+gAqb z&rbb+X^VwrEM`boovnxFijHP{?WYXlH4XjteP6s+OUS7geF}$5NTISCvIbc900zf* zSBxxQK|$v(c(B$=Fq{(e=$fs+u-d{xJDV=XqX;r4f^lU5ceG(@Wl46}Mi&H(Oxqs0 zsTMjYALJMMX$kM&&TTnG)3t7}i980Qrn=m5IEFQSE`c2kG`_kTH9)nk+%cf|%l1Gkq^MSlEnn#0=kp zCx{&qOx)ZvkA^FzLw<-R54JjJEh>n5p0_2>X07J1(58dN$>|uUFB+(fBV|klR`08i z7HcDUs5Tn}27;eA6G9set9yuE@dE&nh>f3r;6j0mKC1irf!Cbh}1krM&AjUyGVzzYM4-Qn89de>@hW7>2ErG8``-XFq6k`Q-c@) zg@ha9pjqwBsL$=iGWMr}3qO+JFzA{r*O$rFN%hj-EPb_TTJKX`e8BSKCXcTMAWt3d1D`0i|qvn_}zS2Tc-Dgy^ z@3X8Sn75QYE*Q1 zUT%BKezYx;>dKMc1QdImL@pip?zW4HU)_AznBCpYrW+U#AKMyC4dam_uHs{n>xNVk zemRxEF2`++NfuyAre)ugLvbn+NOGJCjVixO+BoGgOMq+#F8gUZLn-od+bp1+sL*xc zN-NXvoPw&4zWlF;{JC0yqE7PJQNmS>@r04FJHXA8i_o>S8s9wJ~=l(e;L3M0^4ydvNo zhFQ+@!({&!dQ4gS4ZoLfA`OHOb^7P4NCOdWvgY!eCETkV+fl$6ToNePLP)RfFb}&3 zGypgREsxN&sBgSN`Lh&g&Y%Q9-?8i_s@B?L-$tH23yg&uKB;LUEOna$z*j+fAh$9~ z;ShT;8aYF=OVItL^D8tKcbaFDf;$j_&dHCPaMz-j9BM`ZJ#Z(!MUX;*Q+c?V*N3J= zAm)M(FsB0kV+4u7M@SYIRq}8l7*n8izk@XT#A##q14?{eSCaNg4$MIpUAKE$i)P~P zXG4TH#MRoWJFq3yOy@t#Peg1(Or+PSf)ti#aK4KWjvLOuLjUtPbvC6!oB~cw*U!gs zmjxHAD{PYr8Vp0okxL*FVPW_R?m&$lZ-s&6@T0iHz*@CMnvH_@X7-V;lHP$}ft&I0 z4>5WJKnKYNgW zfsxoLuzx39O)cN22A{=IlJzXci8GBVX>`I|pk*PYe7=X1NN|W6FQ!bg&b>XnGu-MW zQaK8_i-H;BiPO_4ZO5pa#7fw#5|Ue6M&;}mkw}fhbdpYnlMh*8w@O2LOK1R#RD7^! z4D=m@{d$WBHSa{ou&3wCbR-G{yy8h3|(8HyOKo*?P^h;PI9US&MoksupUt1fpd`yWVYD_GcZ)NvQy~?FPA+3RT zWTBW3B5*poTeH2>;ui0>4=0P6cOT7}a&+fGa@^SzBiW*<++W5(gaxiq4cT_>3LGRt zaR{XsyAs9ler7R6VU|Gx2dnfNp_C*6jM52GfZy}{C+{kTA|%nDlWWFACmnneM9*1=T&U0VkuX3<+hksot&Qa>N>e3eP(zCG7dnbJPG}R z9%1cydoT4IoKPYt=&|y830Y)1o9=CJd?%TYr21+2e|bqbm}HIR4P{_3KLlvjDs`wn zmsR3V*{tC*VssT>%f9j@*X%EM=zZa-MO75Q_frgC!$Moya2#sGh!Z3V)iIPFVIj*U zBrFiGr%Ri+;t1)bVQwUV6XQ%sZ|QnPTJP3AiL!;!BdiDPg97`H zZKiyXR&@W6|G-q6zzd4S%5%T?Jg9ob+F`kT7?i#FhxcCV)4lgc*1Ff34Vkw0TC7`# zfa24qPuUx|xcbn$e_+yoDtb=gA+QuNL#?SL5mPX!?Om z5+)?}p6)RnXoQ!^zy&a~kBdD&sQB;#L=qn8lVg0Yv5O+i>&@=MsrS0z{mfR$$$0hw z%GD&q zzxa2yS^^X%0YMw)S%<)#;y#++jh7Ijc0Zqe7>_XCG2{Uyv&m%k5tckK4UEws22h~h z9YiZ3W^BJ{B8PS@j@1y<-#gg4vsEG-lO-p-f}n<>pve|(LzrSR9!7Z;;0Rz;!xWKf zV8t3`>c{vlnsXuraa3578dU@;tgoZhF#1Z^utqr)C^4E1SJG`4>OG&$`PTi8X;EyM znk*FYanRUH4nXe=?_{ZfY!Z$>u)V?k?MkRT3tF}q%V z#DN5gux9Qj;e*wqa0nUUC(-Bzz#j6N+XEm8QE(~z?iUK+DEbghX7{WwR}Z{OoY}pf z=J4oW-}B#v`RZk1n>tu_G8DvO;}C+CXE9@q%wvotQRnUclR7XsY4^Q;_jvH8-fMa6 z`+2YXy4`Fwy`x_pkpBJO>wQ*gXUD6bHQ9f^0*ux#=e<_H&+2r0Ui<{1tx028n2b&tK%R}&cV6!e+Kr1&y$4XvFM8+Qe#?XIG~4|~r`|qoH46;<8Ee>Uy>6Wi zy#7g@?cU?v>mrEupzk%hXM-VQHy84GRVDFV*ou<-x`c;49`v; zVD!&hjW+wvh|^;Is`q})19ceKe(SFntQ>pkHS4GKSFD>klR!}4rV$&K#zn7n3fMEM z^e>M3gZAKJ(DGh&yUjkp?zeic+l^NLN2uTF_K|!S{Z^i}GpJ+p3<{%N|3~s6=ys&&?A!P_nXdeiQ=5RZDV-G?%5YWz)|wS0ly zXT_jr^i^ZvJdUr|KKAO(*9=S(!0_^nEBbBDL`cEL2_JyM))x3qeYhNt(0giodmFWR zQ!hfDzLu`jqqTht%{~<2FHY9(+4QF87t=8;G#AS;6M_8g(=F`)j@#!bA2^SYf!%>= zrn~I-2bb+8Wc&D3EFL%LA<(~lcF|IAN{tN@vRp0}OGX6fEvve-W4#q-6IXiiOYRGK zc|VSZ5vJ}KzR&Ia)Nb$Oy(0U+eWH6m127XF258mS3=Ogk&EyclETt?WGoB2R?WzU0%r+mcNkCO&AZMKwbySK?~HC~uN?loh{19ObkAw; zjROl4xOVs|o;$j?5dgMJzPuV=U-J=nbHp_INJC--h4FnlALHNzN0}-RPv&(JNT%A& z+l0?2kSf;LvllTIeY=17&QWY*p^rt3qANg;b$JDS4sxdd z2lN38?85yapN`qbG6te)N#*q3p~Tw|Wch%H6FgL|u%jnKUtF$8P>8nS@7v%Vk^!lBPrQI>3d_jb+XKw=&Z9Z}Jn?*4a)y{MQcEkiKG+T) z?otex8cOA_h>{;e$(AhPhv*WJp%HvrJQSF{vqcsbWr`>6KX`Fb`0!oc8Ug+Oay5$* zJhu(W3q0%;GrDwkNX-;#LpdtMX`U!}}t#Khj((dh&?VmbL{Wga&HC79T00f#N{+w;aok!ci- zF7IY@1=FCjfMBMa5~o0B-MDXo#s(6Q{@$GvY>m)$0M}6d6D<_2SQU3$iGa3TGd9LP zZ^wt@XHu}miL{PD$qbv37zqek%h`Hbq`)ceSp9<+qVHQW*CEq}_@5U6p3cIP=^L=w^x?N4*TU!eFkbEy1&qzkWo1au$ z4*w(o$rlLt_ZdgVT@VhO7@W7P0<@ zn*sdunzE4O5zBBqU3kT6v3MdGb{~zW`0bZ1S&RQc|6zW@s@YZ}fTzoBw3Gpo^pR`&7`NAh5 z)Htd4M1~G}!KKq_z0vFPD)gdURG`l54cP`8hosPO==Y@+grMe#olaR65p*Q@Y!1jb zS2$Rr<>t|md;v@i9^VH)6rYIWP^2ygCzh|JNEueTWz`UDxU;k zZulUkt>|o?(99!FdAt3*(crEWC2jB{W^8;inkPvU!6ej!mcQPbwgIsddUtdL_Oee$ zMU=?pIG(NPXhS@MuY)J(JRGOf)Ba|-G`=d$emdEq^-EFf&3wF!>ce5QSgczk@N`A2 zUJFbHDFr%e8}r#RLLZ=l*Iuec0<+1%tyEMPVXg39N|Zz1ZMa|7L_zF8I|Ri~=h)+g3NdC1!p-uw;I+_rMF)fQ zj5WisyJD>m!O(@!W(B9bCAO#}8K(2z?Bmq9ReJ;OSYaIo8vnj69u_~9G^L4NYdcta z5Wiy6;x48sfwBbQ*9rviTMhQJ>JihI=tth$@phi(;sq3YHv4N;7i3Gpmmc>E1-I6* z#+#BEAz|8x&U!&vV7f{LT{>zs{6gKJC5?uJS_M?{q}&{Cq%sNh2Lh41koO;uAvNiZ z*$mDma0{5a^au|EkLymHy(1HdI4u>6cb##}Y<0!@FA5PcD5M3~ldA`=8&nEKRNv^= zK_yT5nwN}I5tgJN>I--&l{$&051CmaJDiMIBkHZ^xh@sT_+evf1Vi~8b9+@e~zcG=Cjp(1AuI{ z7#(bI9QMTvc(D~*lF-rSoK}-BSd=~r75}-M*47d=iXcP!c*@n*kGByDX{wD_0NY=W zZ&s8pR%Txnt{*gW5oR%9B_!ke-pFPTB(CA0%?v$LWYS_INWv zgDHoli^iX?JuFz;7#cY&cnu#SA(NqtyfO%n+@9oUkdVgmk3AaI(pK_%eD(K79}W$s z9FG1lntp>h!n^4lj0Hm>oR4Rl4@aNZcMS6=;IL|3-%8qK;jng(dGtjM46s>wO3(D~RR}C&SewT#D!>11frOa=`YIanG?&T@qBzUMxPkgr)_7Cv23h zJj;4iE+iEl;VquvC^@;Av8~MQo$^*>YGE^+j+rLdV-xx}AW8Q=nlhbtJd6^9$z`i> zG`qd+G+P$cfNE$9Yml;}paPV~T^OiAB58Y+b9D_q5NiuV4K;SXpMLUkWAB+~Wo?tk7le!j^6{ zIB7Rq-J`#d;h?k^Hy@Dw!1LTD1b%?xy&gw+TmpekC>eRSRaUJH<}&atq+-AlG+LAK^gWnIQ8{6YOEd=qli=iqmuvLSlZkoQ^tbb#cK~v8BVY3B5t^h(~^_CxJ9yeJmU|~RDo^}+upzG8; zEfESt*r1_u!ENCw9@=!lw_5 zWpoFZ`;i@#@xxNyw8aCPmgBofTbSTxg%CrnbUtfzFU|%KVqnPR>})1TCn%=~CpwSB zanlCrvZaID9Bd*b_;ACB$rEN5dl3cKs ztoDBjq6JLcf;Rs&N+1gKjCkVrw zWEcHbztuVJ%OjJ|6XRSWYu!~{6+KN9=NGB9(pLX!lB)WsqFgi1w~}3SOvW#MrA0gJpMCI#3&Rzp$QVI(A<$QO93pr55lRRKJW_Ws!6V5Pb-;^a1Q>4w2fz1_ zX9JZB30vwQ0gCZ5!djZ^9sEGEj*w;`Zpbc!J{)~MhZ)@_v*CMgfu8D02&CqYYcgU! zz9QEoufMty$A&V2J~4h8(-W+0jDOB}qTO$I&mM*IL6|E#tkdM7v`y<2 zhAp;|)rmy}j!=_J0+N|;t@_`VeH%=S-?LQ@-9SHsg;A#ldu}wPGzg?LO5Ya@8RGZO z<#kqJEPvY9RM}DF0UnwbNe(^@CK%7_uasBpRCto2vyaqA$Yh0+0)Y`U&ku@>S8^AF z<2}E+OWTz>T^GXHcgl15+|L$}<|l&t`PeMFlA+~h&+z_JmnGiIAv}Zy8i{Dq+F4L< zzL?<~4uUBJHL9DVlVlEJ3e7RNqL!*P@FnRt+U>-WN9cE3E&j1f9dTn%689Ygn^ZF>A8l zxubBhOlh=K383nJ#l#tY=Q>P6PQ7+Y-7?h;th#}$+xBt|Hg=$VwpR1meH2c2Q{dGI zUd4jPy3u%;kJ&aVts@6ixn@;n)Elhk@5hVVl)81QyKmLq_j0EzMnBlU!9I`oiag|? zLn$B|2(oI?mHp10&*sb34U>aWO7$jH_pRzoFKIJz9!^K8v}jRnYhc*#+(~pbk3ObU zJ*KK9t7?gj0c=pmY}=GOhMVMXQ%15{Bq(JIO4-Y;nFXb)PgN}@V83%`OunR6C0?#p zt*TYUKVFXZ)oE;4tq_<43(NtZhm0whXqu;jAcm?z|HT3TFxZ3K;5Hm5*R125Iw%EZ zO?Z&|OL!kn!4T2E9bYf^{?bmCMWy;a!KvDCfEc%90t2@$f?OSWua16BhDGA=pnPD# zVh?gZvvmeo;!QYRtfn_9G&#Zug#(l{IusB!0;9n^)O`G2RT80(-ERtI8{vW0lM6MQFKIXo%pr`+1-wX3n()wLp{+&bX3Yq8q3wJTt`Rp+($ zW3`$5e?5+tc!6=Uu&z{4Wcj74%>?j7&XB*%Zo{j@`4QA8CdUT{08miw@0p^831<>& z>=!Av2C}8?Z(73_H4fJE8|iMPv`ua~z=v%9UHVme#%AVMw;SO*YIN81nDo~v_!|Xz zoy_Lr-$3J@fX+NtZjUPAmGF(sfeQU`d=DWj{&S}4K{h8=OWy0E$A7(sq*lYnfT~AN zy%~=n7ush+(!;DyB244(LIA~LR$+OVmC zG}5q_@r|c+=b;0TF8~ELASU6b78E!&yc;j9yAJ465`gvzkj5*E;d}-$4dI;QfnePQ zIQotT%De%P2hf0I8aH^?>tx^+4m{w%We6Y~k=UT)FLl6vQH^#RGO@s}lDy@-oU~Hx zDrYaM71*^H7vb5O98qXYv-cYq5R9^dakjdmYBR!zOXRIz}W^A2XWx7-McfO1oa^gh@)wLJzLEY=z^}v_$`{x_O8%3 zlP7q>Q*jA|YF@MU5fi-Thc&5AdkGdCqu}`-+p3Dxle1|=kd<+gS|}LysWr-hu}C5g znUsJHRz|)qu3Z^vT_kI7LksU?UB8-5MqX|njaJi9I9&oizzrmfL@o`~_r%)h1U6>k zX*_h)3#eW>p&n~Hnoq_M6Sy%dB~PrbPLP--?>z)lB~A=lI-zcNwS?AFO2RtGUB5yR zwxX>rYyc*}p2#Mex3?rc7YzVsO+ri9yQMM0p%vC|%H0FG8!e7>4(BYaASVC!`j@y@PQJsPP&%3jNhR zqx*0^zIUepCU~}53%LLkMh$4l9QvLb?4G`kl#4tb? zAnmmc$oExuaJ;X>yYa+v&5_<0FSnXPa#nN^81dVU=gu7@^^p>b=EQv@wBEo(nUAlT z4wcxY{>L$s%_!A09y-7fPEflm}^l|9D+;GLD{Rej+(Js-1 z1tui*5D&_kOktup?~Myl!Rs=1Zn2RZFBlTX^YHz0B^0wjjerye;O~<>2DpJf>$k~Z zn@Dw>_vA-p-|J)(I>4fLY}UCn_9mI%*KWf1xzTE0;1{>(xoQ!z!GWkHED9&!&oOaP ze4i{`rJ`Mhj1aCGWd13YMGd!+&{cDvTR-fYwlU99w@zI{!wJ?!BbBQlbqFomSdbf} zTt&$whZbxss!TYp)s`@z!GqFds&bVi6l!wt$Smb5NfxDjNf9zZIZ8J0lprW7s&k8> zqihq6`az&ba2t*t!b-{bk(_s>Mnd`*S1BM9 z0VsZahsaY!GA%Qjj7R~$S}lbW7KRK#+&CURauu*(Cl#yN#3tb*e;rAc!3{=sCePPD3QAfe?N6rW?VX$C zW57%lJY}k%LjdMWJsAVNUc2+FoRp7vItB?M|5!9h`=rndNAYtYQkQA(Mplnw&>7e6 z;rO}yakqC`AGoqNY<3(^jqyF-igsr_p$GSd*LONx7D)TdHPz-bG-uCW9ye%AU_QRb z;FnKw13Z87v;lEY$iznUKrttlH_MMiXcH7sLIl-NCfc4T#Ln) zkBLsuW4MAyj>rYEHx`>v@;D}kV@d>JVT$`BZWz+F57s9LWWDI`adpV^qUne6d^V-) ztTCyJ$Zm~63q>%z!FoqqUbz!XH=-ARA30$@b}jik2i6^ z>zqgPA#yd)<_FzgYrbM|e$e(g5S>0IXPY6tZ9U_Z;f7n#&B-eWNay|e`JXk-AoiBM z{2)Rky193Hdb%eHR1*r&+nNKqR+&?B0Fe>=b9;Dq=haW2 zpK}NY?jnb9@ue&k6y2rhrJo3b-UkZF=e!V+K*1>Sj?`%rir+7DlKb!rEsLf7w35Ua zdhvtA;+*rucYeN9TvJ|aK~>@u&>8j;*z>6;5aT~NYU1bi-ZsAbSANxAIdB2eq39qS z^-Jl9P!|kbpc5K8fBv%xu$+RBfM$Vm!l}f0L~%&D8h`ut_MOH<B--*!o z6bz24g29!jU)HA8`sJAW^{$4P;|U+`J=TXeaXI+)ymfir>khENfw;TA0baXWK8jok z4^4NCm@Tn9v+Z`tyBc%7LO45zV!JVlH(LT(fPukAc_l+LK7^C;XuN!&h=|Zrl)8Zo zQ3wm)NK^_K5kbz>zZ^rn>2MOkl`GhQI@M4$^kjec9P4i{#@ys1i$pc%l=8f_MOVzoZ zttKN-#K$*NaEQ*pb;oRDP9||((Ts7PEC$=}7{|%C+W9Kp_$*G#Sx;_Iqt27f{o_2m z&wF%FCci2x2sz(^Qp;D4k+x*jzCg0~ruyx-D2&;IzUl#Y7o! zA)IW@qmV{Ss;7Zn963^R*UsSsny}bu5%NZ}b5~BflWy;_-f6!&Gdy1Ef-;uG;jY}c z8BkQEftOYI1@*}KLLg0ztTM?m={1IJ8@Nco#3j7v`ZhsuO((kMg*bnpt&2-6uy@0! zhj-w4I-jVtmtdua&tF!HC0S@Rue<$UXnBG(%NleKvLCahgbrJg_>MX?s?!v=z6sD! zK#axfR&T%uLwa;*BN2c>-WZOuxd1pg+Zc?127}PsC1~mi-@g&Qn+%vjQZ*+MCVdFU zlTe(r@L+~O#>SV-!H&Z*hI%l&H-_05RX);3v*mJjXAHD8h81%>${UPFx7UWd+2D#Z zp)GZlJn&#d#As;4QNuMtB)LRb;uPE{mggb^qfkLil6--M4)*_xWpt0Dc2Hys*UdcQ z(gK2_*!~4u9`}AEGX2Yddk^ z@A>;hM`5EB*z-S=!lL6x-CncRyDXJG(&gB^!^KP}V>$K$I&W&IWhzVypApN%SPaeM zq>rE*2R$Hjth$;UA9C9p!BN@-e1t}U@Y(Rv zPGX|f#Yc5ibjYTu)kF=6Gm)OzX-aSILtywR=P!tg6PguQ<1|==uA8|G#;QohDjfq2 zK#LG93C_U1e6iMW6G@<@k2U9#L=F*k6vkVRw;4^`pz`B`Uz~}b@soOdfc(Y(N-xpl z?%6;O&<)ZH!@-4KyzD5RI$o}iCLB;O7#r~d?3(DBfS7g--b;9`a*``Q4kg`9aeRzJ zDf_~AfpQa=nSV>_w1$PXG zOD+ybZYRR361}`yQR1j6#7=F~MzN-W6SUHn>qB$>!O;K$UNHXSfc z;O6DTN`j}wW{`Z+=HuymnS6xt&ou<#PI0D7ZI8SEH6*j@=Bol(tTbDU&1JqO9L2b6S`wKD=+1l75|EtgF0Ko0&Zb=NIdSSP zZUU6Gnjqqw+Jfuj`1KT*fnenV^5l@;6L;@7qJQ4y`ZhD=NId|``gDg}+ z1Nf5fx_xb>6<CD%M6D(5a@f0s!UiVBt+3QtyxbT2Yu&CocLIzJR4%9G>IOKM+$hXGf1>1Dkk`4m z>-{6WE;k@w^4Kt~u9Z|NEnQ0j)^xL}7U>;Mrgpg_t8=-W9JRvjZ2lWzRCD)6FARFA zj(#bvFj!P|$Yq72c0c$m)+@NvLqP$JQx#u+aurWR0p=2+aJ;^A3#KmWohzpm2AxnZ zTuCbo+8`A!Vd1Ka5^LEOPM|J9Epiczalw8X_pGa2HZu>Vu6WNh@tsx=rNT4frL=OaNAe0FP^s7X@$?73c4T@r&`b@-SG4e)4g%gF~aQcc13hruYxralUYW1GFts9K_`cXwfO8H_3vj+V*AFs6|EGAEa+$_Bl+ z#dn5xMhcoW9fd3vF%<5E>A(>D@qSH0Dpnp77ae2J0Gp}qio(t=*aOLq%p`^n`~t*y zq}Uj8DzZNBO+M`AG1d!1IOI7o`V>gGXoFOsIn#2-fd`qPJ0u4&$icC?TF!)55GB>- z0S(gGU`8?7WDcib1pJD5R%LJ$Wy|oGh^N6t#**1rb%{}c1NN~QTfJ8$qY?yb=*{t~ z!S`w@5mv!L>FeY#vQ~P2^&?0L9utH+VZ|&@yg|3wJ@g>{lA^gCV*Ss5{n2ANpb6))?m>3;>!nA?iUqz z!?E*n)4SaQR>$7?RpE&wj*|h;ihRmFgbId0Ed}hD+#rKjbK!hdahcpCe%L-Z@~E}srL$jS^|K^LzvikReRs8eH;($68<#e z_B}rRgb2t*cuhr-3dmb^unzDTwNps?@XIV%Cvw{K+Vwi&=i$NBC&uNKN;*2=cVT)i za{IWA29NLOiJH*qPV+A^4%~8LYKq%_z~`ZHtUP|pMXOQoP5Z3beG~BYn$AcCDhKJP z#QaVYOy+L1FhJl~gxxr4QMP6kZys-9;VtIaK6f&^VY4KL4F}zH!bqSdgt#spKF+N) zAZ|JkC^+-vFpfD>ZUcerVuG;tJ&)W1s6iP~T`n+(SH4&3Bm zOlM1Z6EBD5r^3>Sl>(*4w;Y>MoKhXdI0XD_@?MMn2v$i}d5Q;tb_EyfZ67jEWz!?z z`(!p$KCH%dEjK(%KDuOu#=SyoAirAIJL+DXHTx&6 z*1*p851HAQa5Vtj7OO6Mf;$7SE(V*EOBlZtenyH1zscvQOU}FUz9`He1>GW~RL{h% z^1>fiqX+Bo%)>M=)JH~KhHs~Z7~9u=iJn*&e?ggzbRuy)TfbV&CM(*%L%-}yldNX~ zM{$!9QbZ1jP`+gz`~r@&b4Nj1Irx1u?RpL=*yj)TJPnw-Z5QsL;@-j1%Z2}a4JrS| zlkw7-P=`LWpM9N}(vX+J4ed!%`bS=flIASuGp15$u}Z>WMxfQFlz$01i*&T!7|9Kj z+l0h5>$a(^i;!geC|oeHb~hWXcz1;tn6TRPB@3tcgM4A04Fx4bwvB{~4=c&nQX`LE zG9JxS_D5ueJh9|wWb!6X7`BgOUI`Oea-V36XS5Cpg|N71 z$QIx}pbr$3-(X8f`|P46mlnQX$-49cN^B&(#nf&>*N4Opp)R(WaQ-l!t>m>fSX<0X zar=n4I|>F7GckHR&z8sZo`P4W`vI?_oAGqY4K}cz($-T9wB!nv35Vy(L9;L}3-?io z$u+tVwTR3p@^T?896PM!Q9=&jEty}3K~V7WSiLtM-tM8_Ay(pdAR?^eaK6`qtptaM zfeW-ygEI38jM)*|H0eMU1ijExd0C^SYMB$^XuHpOv-qPlQWwuMSY$ipu4Xq@4f&+!C8 zIYTJtjq#(2Pfr+2D4GKSNKKS4CDr9z+?6*|I`C5J8gCyHc`|}w&=C7_L)Wiz^WB6e zPok0HcrhSY3-6`@S#&r1fSX1ze=Q>jkDYSu%o^$f&n_ZUvdmZ01w>Xs6bo=3()ub| zegta*12CQ=*x3~C^UA4ikl_V73aYcA0pcsTU8jxV!n~hovoxT8oarV}z$7nu*_chF zJK^-;c#3%?$YggjWsNO0QkFj{Sa63CP9Hu(7&1o?VJY>TqOCb$ zc(fRXHP5EQhzz|_Yi8gU(kceyDiQ;@d7N*k7dYV0*kx~fennBUjtriK#WXd*AiF<@ST<($>E%Xsxsmp26 z9`DhBAVG;0ueHGy+ckYKVY7w7ej%%pHzs$zUKd%d#Q_D}IlJI;Oe=YGbR_d%2UJK; zKSZ4n{KqwM>jGS}j2GlNoz)ouOgYIP$y4N5O_A28W#(DJ85(KDu=)FH%JbY{VqrR! z=ntesYA+2EF;w|2z~~7-hk4GX+ikeGh!9#x zlP2?=fgYI`$u}6UY}AablE$4IA{Ai<84H_{7qC6*gca4Wu_ zghNVSC^-vusM)sEOh06>83OQ46dyGoO{cKyq6wRGSTD+?n-y6(6a0#)QUnf9#E8cicH^7q+>zCS~GMxJDtH5 z6N;;rsI;>&k?~L}0&7Kdz&)H@cRu6&9Owp#odXQCpW17Nk^Y+fd{oDipi^?iillu~ zac9EA|7>vazGeppOQSNT(j`v8hP=+tZ&MgOK{eDb@rdma16j=CPjSPMJrfcOYP_tJ z1;a~(X-PM8re$m4X$9cah^$@XsbMq?rAFfF`aJ^i$_`|L>|JK0gcW0~v z>=z|uPWZCw5I%?eZrnb+j9&ze^1_9~f*;+BULq{fQ`!`B6cNXQ$k-?EHb=89f=BBY zD5rRRvoNw4jpkuRB10B+8FWyzUXH{KRN=(JQ%gk0b?V83xMzrv;$}&_y;}L%H9FcM zAZ0SwVQ~Ng3trpEqHb8bw28tuX>5elNxJ~UL1${bDur4G+7 zZAJ$B_G=L^?8z8=uf{;_7vtm=u9yqFM?>qB^@5=6dyG09%Fj`BPlnb7DC%%$hDWrd z^9V8(1H2x7Ut5-%IPhS_79)U%s(`DwN6wdz<)e7AG$sTY-C{uW+X?BZc;W!TczM65 zbAlz)eC@eQmg-(VXkDZ3;(>{9sa@a>H`FW$=k+srSfa9HuBMz>XLG@}ctuH?$80G% zNvzDVPm4Y$g0Az3N2m$_Z}Je8yy)L0h_XB<2>y6feW-TQ*-?0IqA&_u+m_#8TW!DiRIiiX(j~UIT0QMe6+{h+Hnf z;fr!v8Osv8?jYvAnC# z($1mbBernxS(~*9KIfJfkxVv;G)rZu-2JCKO186^Rc$xfehHroo!E!wEw{KR!SmcA zIl2N{Uw1QK(&t!jTbY29Z&p>GAzvR^(=j|vk}?6+Yn-5 zf3HNIgNr@1YvJh14F;bzJF%n>Yk>#%>W%1mxi)A-+r_1{Lzcp@u`I zXH>`2c@si3;3SLR4)XTkowEtCFEZ2>JkHId6y^KGb$wD&NW|y2Er}W2 zR0wdTG~JKs(1wfL`%j<(G2|cMZ=3|$`fr!?rc1*^SW!)h;6Sj_~vwn@7~M&}$IHs5EcUeX^0 znX4zZz88m1@+~{7eYL*(`lDjz>WQs?;kdg`AIpBy9uE{e&_HMp#8%WxkxH1Ju;uS^ zPIs#Do2^02KI$f}lGUWmasCXubz1*2fzxRr_gTH!$1jQByoY-onT}0&Pk`qhrn#Jx z?I5K6P61lsaTn7Ow=k*KWGTxK>t@hb!WgLvW;VvIO%}(0R^n;N)8B-qx*6iEe*fDbl-o$h^i_P5=UJ zs!!Q#wX4_ZHXU)PAOvttM+*;~NON@eqWi{f_lMDi98mShen#UZsPQ1Scm&$!f*1}Y z-t>>UT`@Sjd2v|+lLV9SK52+W$Po2Ako|_)AumGma(8Hwhg}myn}Wc&9#7!dp8cHZ zByw+*t41qjqm^5A*Q{U>2nQ6;M`U?t>@su*_|y#8`zCBSfB1Ai84nplDd>2IWA55{ z<+PgpoD+=XCvN7e@w}{%Cz}f&wm-a{yzmc|L>A4bXI%++>%L5QO1-J8;FQHZguY@P zUcu7bD~ybFaE(ibHJsb-R`+bh6+x#UX(7`yEE{kSJPI7?=D5bzpnu?ClP^KDkDI_> zZ_3a=M1=7|2o&YK#xNbe*Rqu+d#~A_!R?sR?B7MB@k&q3t4_z3;d?w>X2TlN&4OqLzJ(?SGOSaJ@BDhAA4+Sl2Uox&)1``xj$0<>9Klv&_x_Mcu z)7&QnzmYh*lm|)t%cE`|s(1#Jj72u56bs{x>xm>VS+0i`)DZiJPRN*HQ|ETBj;L5{ zq0gf0h^B>+pDv!)u)^T-rY?Q!)Q?(Hvw`W~W39K(UWrE{HeGW=Np;h2CUObtwm2># zcQ3fTLF(L1ctMm{!wMy2h2*B>PVE$u>W?68d!}3Cr+9#h?lSqLDuf&agQDMh;ssS`op>4@q#IWrj;C)PON{4*=8~=Gh-f0 zt^@G)H0_sMiO1echJ(3-`@7+C3?DuLUwAt^#&d#^BOnx(nftr<6YEsDSaKZq&3z`% z0w&Jb-y!5^)v$Xzj=PxicAwdju?&vOCb0NEVC?O^aA^B~C+BbdQQSk?7R0PMDn#R! z*GRj|R%C|7-*;2fgvNVCL-hnV`it2e`pPZXu9Bjqz@cEegZp|J#36a)CR*BA;O5bC zHJ@5Nk?X^1ax@92@3Wcnw6z$*F>&(qnTg@r$|tPA_Er;ayc3=SA^{86As3Jd0rX;X z{kZ5Hb?Rq7TbV|_V4|;`;`-!e`^TYqR2w{<4&kp9dczl!;okM|nJ4T`?(Dq~t&(s`A*HeBN zoj~>p9bn#jntLnIdiPX+wY#zU6P)bWy@oj!o2`yK{<1qtNBYtUFx42|N|^Ke;$Z&Q z#iz-P7Zm*sb=}O2wpPiF>A2X0I)?c9Q8y4%29Uf~A?i~(8C91J6YMiTErz!H>=pfMnyJ?&)1vCJ-x#eR?sY`Ob z^D{bus9F@d>cu--&qw!S+91+%qKb?2Dto zcF*Wlsb{a-#WTipXQVc8apWuEt0Mv@bbHm0IWFqx^2F0TMzmjV~x{gu%z)g zNIU{{&EZtv1TlxjDq%rbHHZ+G)uhj~3h-QlgQOM4U)-nM>HrNMGoF;?8C{iO z7Jrfn*U6`D9Lx-`WlC4hbCNLC}J!=U*<`{a1Jc`X%&3#%U#@e zH)Jgz8?}{E$1l<4tR;R_OW~~~Wc14-Kn0uL&}9ZP7--=>iexYz$P-&el`3+&s}!M| zb!tNZ_m<;Hf(u8{cNACg6K-m_nh;?vz8^T=4#UMT9B~}X>jJow59=hQN`j?9yJ!Tv zdZ?@RcvEal_(h*!6NhOuBVfQVF(nW7c!Dg8URB98T~1-LK@p=18QaHcqEKtfu9KpN z?bL0)`XU%%A`KH|*oQRZUU{>Mv z75*Y&H6Xxk0(nQ!S)^}Eo2_GpmI2#zZqo^b&=r-!xML5LMD>ynCUkr zw7!sO1!KGxTx1ns29Q* zcA0b&aw20wGtGz1DNu6M8_3M594WbT=Ol7(oZ{vby40Ds#rt?|rVq8fSkp}@@Hv8D zb8kZjUR!C_L+XLAZ-*8Izf97hW@a zhFh4|k{vpn2P=FFr)(czLF8BQ`sFOGV+tm*IE0ho>1?#wMN3M$>S4~pE(UyM#W>Tl zu+${w$6LytYxp^fY#5&OFeQ7p*ml4p*!G(bAVK&&dUASqaI?_;gr^19b4QvosorUv zcAIuYadx3}jQ;8`w2jdw$Ry}_lzd-wJ*kjyw1))9@u{D79#~A~SfKyq9UJ?{cdpIMHEzCO$_b`s<(AT+2Q@lvCrxhFN97Tt;kF3*bkma#nbo~tk z7n#CH@w#K8Yc`U~AzYz}dr7=0PWnTQr*im(-WYlRyVv+Xa1BO8*`nEyL~|xJ#2G7y z4GaS3Iu|TiBm>8VsK9FH{M|-w&)@w&=zIUadw#<|>;;YB|7cCreZ2`Sr#oIJB-TOJ z05ODWRd4CY=S}>v{zw1tk4JxmCUpMnwT>S}gkoS$0}-ZBoVt%c(w5)koS}?$A6=B8 zEmpu4T-O#;=$r7}*qpO)7X_cUwl@+^b~1U>q87HYcBz)_FG7uVid z_X*Trw-|MqGV#SbaLwL2SNQ&zXee`cieIwBIAXX0n`w%iucXO&fc^MV9-+$oP+*Qf zp%i(UtY%VZ^Pm@PIX6=7<;2PDf=<<-s92P>DtH6#e6cGXeej$hvQs4W+Gm54R=wHk z^&dsFH-+5{rZ_|Gx!Hr{fj>{Ekv!5tJ#nP5`AZJru?O4)zGV#jtND1;8Gl}eFi5b;h^asA-E>b0Al_F3yI44;k7y1}!{r_9peXwBFGl&>>z2wC}wuwVTRuXv2vxA|n{ z@)j;=aMJ;&?c6nJyA)swHzZxbtvMonsp(b1O83Quh+im+X{0m`~dez3uKUve;CZ`@@ITS|jND@bqlkz8Xw=ZM3M|2N~1!BmRX zzHz3rYqpN-7o7onebQ>bI{9*b*vOo_xhdE1kb8u%Y}lLY*7x=UqesWAbn)Lvj8WE%`Z$cK9cb3>h?WOcy_v14%q(yC_UE$&}1Kw-|C7tOj>MA%uUXf+_sfUGIIjIAZlOf zq*`x5@Z*VeT{sVKq9gR2%H+g`DZp`arY;r(P@dYEX~ttck`-ZTsVB)Yue)%Wd~(w5 zwf~I~yxuvlziJ)zTJ@j%DR;T0@QEwtlF}W)$)9%1QY_}OiXoR;q@}AGzl%w}a&VU{ zEGgn%RZ^MX{;UtG)I_qCdEWkP7StkgFRcNV7@(;i8arS~o2w*cB#-td81jp^&@!bT zb0fe>`C>@vVWg)7cLCamyg=xX#2IkGZ>!bV4P6%=Y?ug0!UdlJOiZKBx*1w&!Rdao z{!Yzq9y2PrXZ@6iuty!ds*Ku|jO>J5rK;Gv`)FJdK`O43iif8 zt2byjzK$@_c_W)VNvO$1ivIR@B2}b2gy_2vE^c$B_4#Z8gief)A$<}6NztQ|{EMUy z2lRLXND9SN>62{v`JX9$$e#EG#$}W>>(0Fq2#%b%Oj+L43_Uc`ali$s+*iMCq+sVM z;RqJjlJQPs?fzmO%qndnbn`T;SlrD!(%K^|ncAK(`ix)$3x~a!{N{Ex8S%qlgoW!GaS)lL^YWSqxCnUQnrx6#Q%^Qpf}4MFk8>zf{c}fDa2<|DdEfA#_N9BSv0Z4`EPr`6BOykCdZBexw$>l}y69|>A52c@VjKgr-ON$R(3^H3SB#PXya5GaktWWV?c-|@PVi~0w zpr01_a!@9t@IyGBgcO-ZWaC@@2K|&1)(|s)`ja`Ep$*1^+ID@sgtdbTcg({5r8W{6 zvBD9i(v6hToRiE7y_5>XWk&IHvv`BgcjRr70#xqIEQeAQy>jSv(+vis1{D~%3xHb| z6{uTy(;Y-02jX!~e>ye`AA?5(mId~NaGLv&3&=nHo1-Yal|`>*Wx9dr7v9DztH+cw z-zs!u7CK@g)tgP9&#tejpu9BzOSjF^?PbVhOG^0*v-|~9t>zQDIhra_v6fk^Nhj~C zSZNm}`xe>RRC^y`w5-;^FIJ%yh}7YHe7{VA{HtB*YHgM6pFmi^SiIc!aCgO~@JCt_ z)T>z8JbuLhwU^t@HP(Pcca%$Uh4nlQL}DOMyeP?K?`{U$ju4!$AOYg++6iI1M{CV? z-rEL7fxpB8+qkmgL(UZ2ZX}K{qM4FHqHM%W&X9i=W06SkqO}@uOvvQCL=Ay%2J&){ zY=^13k`O@A1>qwCWwzabw!2r8@qer$hJB$>V4~YGqDU*UIKSlMpdTYZlpNU3nF?T( z98+M$aEzCSQ4$R&4nlq9;+nEYaz`m#C7GrJ*O1YU7?Oa?<5)Lwh=fAr)D(e5#Fos^ zxKv*2i4z#lUP(s}axo~R`MLS!#LW@m1oz{9+1_XcyOkiPfm7)tX3O;(m43u14UW%@ z*3o}}L4%Q%YwudfN<#mVZOzx%`lIzv11FCt-Xk6x6DFu(unB)NU3*f@ZxwUkof`F)oGxX&xMWa%yBy*u zJi3#g30)5Q>)*kk3lm`KkiY&)L(WGVW47>`DX{LKC1)cB&~WG7Nge)V0mcRhV12#e z*P+Yd?=Xfx4d*xG&HQ%b9I%D~47Wacdngk54x6=ep(^8xG5Vd>@!+)Hd)5AYFJ0l~ z*`e#&6bAVJ;cY^Q>l!D|M1Rf{E(nrS&=5+G?b6Ais?1-oD1WnIpGy@W!?k-{+o>`6O>hcmqQPEE}pn5o)T-PP6Kx@+&2=UEH! z=hXr05W-ckkqumhj>O<$ZkgTf$SriOr2<+`2ZH~tViOPA2{zX7n;8bVu>Y!^ zz^h+<^2kjKTFIG=_{IPSs8Pkdkhb)~B zo52+{3GW63KPCZIrofJ_Bp@u(P?tmy#hi&L^>8DJ_U=i>A1v@RDRYYmUPgFz=sR=n@MulF*ko+g#D#?h%^})`lRgi7|p%{t?#t2 z@?=hN{CFx9;!?V8YUJZcOZ6ZDZr@a3Y1NrZWtTvdLM@f;}x#k*WpQxWGU(dy&t-9i;xODWpw!WSPdFjR9?FF!rJacghK%^G0icb*KT z$gQ4YZZ>}%I1u6`la3sVR1^Uq6Mt`5Btwu3zqdDcQ4-uqN| zFfgpvGG&&k*Sv}nPHC?CQ6?y`Q4$WF1RTg@Z)-JtHOcN8b3fTmwB-;B+kIy`L0z~yKKRC(jUb-yZD>;XbiK6z z&b@FU7Li0Zqf#?{tcC)#SzY=PDe!1!EB}6%B=E zw#DUiU(GAi_>QT$%eS@~cnszG}y`gQ?^4O^1DB!aP7v3D9W`z=iQ^D{8 z_&kbHJq|z6pn%F6YXO?XqwjgbePM<9On2{|3Mr6l@TL{Z9#34Q6eLIxk9ULqs?Z^ts2)N$#?MvVy`+Etb? zxX4;0HsFYJxftKLTU@Ze>`?d`j$|Owc8K_Xag8H87>>gC;Gl{&j`3Ehj%`^3YpLu& ztz2HMYG@2pSl8H39KLAd*eyIgSxCnEXVPcWK>WVTand>#K?0dl(gV|MyId$bU!9!l z$5bZEwk^_>&p$8*AY4UC$wxqkA$(VtVc+kM_0FI$=W{uU4_j#LGa;^CEj-KBUtNai zzakMD7&00$f1iZf%1A~tLq?_TeqFJVn5&4=k+kQkKN~u6mOonkM2)py4_3Pshrun; z^sEsH)%X<9Jy3NaM5uy03`Tf#Jv5#jSz}27P!AodyM?0gK{9J6V}``?I3%k_O7pa> z9%^)rk(x%f-%DLoD^Zk{wt})$eGcYd=BfnSI15R4cqGLm0w;U*_fI-%TvMX{UElSJ zo%IWy`7~Evb`}?<&TJzp?$x^=TsWl{sb|H@qwCi#Zvy#R5 z((rjfH#Sg(N0qzlwPPMw~f?M`c8i1tq@8OLQ>TpY8hf8~*i`mzY>q zM{YQyrqF7-hq7CD2)e8Q%G~I$%j?{rTP$tvkE+ ziWJP;$9&}cv&i6m&;DuA3QoFb{>=?#wvS}T0O);(Pstwhuy!Dr!-<=iX3FRJuWJ^l z5QJVDE?qo5O4Y`JVDG_5|G7{k_r@*H@?@M|zgn6!wmdR}n?A{k>FlVD__IgvD1iORlyL05)ay`5ifZe-D z#xSTOIaJ;(bT`J)JwW`XH#mfZNlrH-)*v&SR>wL-z?=zH+-MW3CR&`0nYwz-GMWu5 zC3r}V!#6;ReAJAjJFiw_Wn~52sm%f^t52^v5*?56z{DzDxI2V}2<8uYOA!6Lff3e2M2tND)4!%L`&?$h%ZGJX>p&2 z2Plc5<*{Id-NQZ9XdTd|8*$+nsX!dY{khL9Yn)Y4CEIuyj4dX=_7fjLS5ruOA}d<<`cy|}!0{!)N99Vee-i~}$0B&HY_d|C z37}9TiuN^ zb9L_4wDb_?=Nj+|^sfVIRpb!W`7N7*K?p3`ec3>5kU-VqrRU}1y?mCh*^Sp@lQ4m@ zV(T1!PPF;kg&Kgj6W8MtL%(8`*9up?nxAFC-3;-oyL5&BNnWRC^y{0JptbvYutCGt z{?kqj=Lu2M(;2{%s4+{|<%~bs6Q}3izVA@jJ@eA9NW~$qHFF2WeH8ymyH3aAOP#;+ zwF}{Y$&B&94d6P`hJD>NQ44PGW08EcHs4!{usOmLgjZ=VC+-@lnack&F5?&4TrG6i z(1ltsxsPDyN!y=KpEk;=Ubg7>YrS&szrI7`!wEG8{rONMT^6f$T*_O3ItZMTz%PkF zKz8%$JuwtqGzb?^qpy=@D|xf) z%-7j%$_v#R{c7Uvaw5&o1P){*G1KkJ!?8)ot<&U1nhdv<k}-e~BW>S`w)H>mBzoPSSy_6tA_gKPuOM-QKwx+6J+(%QiVHo`9}3Vs0Zo5LIy zi6~(SB-b|9abAR{NU=iM=9KJ zlP5AxC;F44&Jp82Yuen9!Swt%$3=E@BhE>tuuf}h%sXV~T&X|ff+mEGuc z>oIg{NO$_TvTmf^UI!`jK(ryUBOS$^4jZnm5y@3D_(*z%hlc#O3)M|F==(@h&Xp?K zxfgV}ul8C{q<(pl>yO;&PgbriA?4W*l$|k0I1H6Om!*^=N#d+Nuq@j{yYNv>RJ#kM5{9 zR~k=O!`}F+l@groa_qn<;v~MS%I6Oaueqx8>ur`90iFlVsdSUD*o)*#4hlS4Gx)_v z%-0Jx1kf2Q%tArd7tb$3#vQUrGI({*fV)hUpJ zI(sKfzl4}KLM3D)e&tl_<{zJ-3ko@@q~b0Y32Iy}J9y^odgT=jPPO>ipt+SRvlWqH zihG%8!?tXsmKn5{a4JW_RdXO(O+kWHgM^-qm6V44*V>04)sqWL{=2%^7M?>IE7F2O z_v^`ZJ&=`6I;igisfeW+k=`MlB1{zHNl4#Hng-q3gCF_)W(r51Ka!?=El6vj=U<_d zCsM_V4-Oz9z@EMMm~E^j>@hg3r6PZ%-fzC%4LgMrYsFHtt;B?tr?1d)FOUs!+E+X& zG(Id{MFg#HUh9u=lgA&CEss_bYC(k450N}nqy$bf()dw6WE7`8#19}|9OX5+#Q@IU z6gx!*g-~7{;e@f5u#(s&)Ax$v^St%>L-4 z**yjzgzn%qJ3^NJ>3MzXP`R`fxEHFi87gz7JdZ_ZQcYXg{rhYrp9fydjHB=`Alki( zH7lr4n3rT8Cgii#QQq3UgQyuq6N;}AH4jTa{DF9`2IjP!kh#>vU|*%t#@dD zVyddkJM5ciXx#UrDTTeM;87C=7C-{mzjibNr~<>tG8~=xOFQw=#YZbKj74f8%y>Xj;ecTaB*qqSnM&~Ot$6I zgK9&?Xi*octBDN0HeCs+rUhmz1cZ`n>JndNG;f6~qRH@6+r&z$7irhHsbF_yh}M5e zt#-cNrk02)704u##fhN*a^7r`&6Wo-OFi^OBniKLk%hy+q>Ba2U9UNsfUE zaYTmowN{m2rs)dEjrIM{8Ecn}m??x%UJwV;kqC2}l;f~8snRncC~h1gpIG^iBHL#1 z@RAj`sSVF@<9D@7!*wkhAD{J#s(*k+?RXOQSM3q%JF9BV1bth+cSmTaRLv8i9n^UH zBipE0k8frAAGj33TExU1Qw9pygpfG`V+mK60?LntHg>()7(2?+@D_zZmzLlgJVbFs3r}tfJihC_E zEN0%~&sn9YKOXryzGjoG5GZvwn}>vUufl73f|6y3jdFD8tWctEB(vvcEPj>g>n3tc zFOXbL$2u^J!goPY#%_$7?OESd7wGQUk|9ukA3{EIGxMJQaWGK46&#vjNH%nZrS*0S zQL%8@;$bg8f4U^vtt8t87xGSowrSPpc_cTgaqswHNJ$S9!+6BMcvwxBXr5Zp; zNH)j)dyWh5!~l|-u^PtD#R-|0AfSID5!iaHu_5+x_&%`8D5rk!z0N2cEtQ*4*1?>< zKOzLc?kAv=OsE}GkSrQ?T09#>i{ z{-riCfXlrn&+re88Yj63Ja$j&xOv{j(HF!tvVa!x;=^NPh~&XmA$SuYtGHJH4${0; zNV{Y1wLD34(>F5{NFfK*V0QqCzQ=}S*+y4Z(Koghf$XG$j854OC}`QeS=GJO=&SxN z>3+i*;zmX|vO>Awwt-zFw&iHdxaYVAJCwVT+7#A&~$wpzB)c-2$wxKju8AqmEm>ie+L@ArKyc;&(*6p z?EZQ2q@WKF3{=uBlhP`Z$_^V8WuD`u{0qA4BHr71kEOBAYrrDCFknH?pP`Is*y6G* zi)aJe{|Flqkc9F`ATY$Uid(bbha>h%a`eMwOx--{cYr9C^9b>*u1o<2J?6t0QGzb0 zh9{In2r7zA|JvgJ$pb9$BWKCa@P4OAnG~hut68%0bS`8!{vIr(VCKq|7kmfXltJ)Y z%Scl`U9)UvR96ZiHmaK(sj=@X3~P9r0?{Jv54mKtNQw|y)17>j_^h9&4;Jvk-t}%6 z)PEGhZ{h0i?dKJGP!1s0%ByZ88DLcPf!D{pg6)2XSG}ZuKZnhgX06c}gt}IF;;dnl zcQHh0>8Pp4joTgYw7EEZE{6I(dI!7-C)r^%(v53g|Iz9`7q_(du9)`y;A&q^taA@P z#8IBJ5gkd6dvYOrpwN>WoQN62T$hum_W=y-P09uRWwokqb>F1(Xwf#t_wlR3vbITB zk5L{yHy_Ek3B+f{`3pxkfZuMVh*(DNmo^+q5;bT^!|5s|O)4koMK0GI){%trJ0wNb zWNy{|L+CT5=gG!OQ#EvhFlY~LJ`q)y>`=UY45>+6d5zHe8m2^rw;)x~dR5gQXW!akf)`hU9^)3zd{MNimv z2z>+CBO>E7O>{=4{zB~SmGE73!o#BXArT34pqZwN6Ie)7SUGz$ZWt!H#&9QvhC(qE zIOMOKd~mKTy_Au9J47zL9@G8Vu*3$ zY?{HG{A1Id$}EVz#)PtWzN+ZYK-<3Q(s8enahEJqHR-|LYmT+>H6{Df=hAxz6!~it z+2fg&1(Q=SkkBt_1ncT1>WF^uH^J%QqaW8I3IX&4tE&I&#C=s4Ku{CYeBhby1oSRG z6=AJ?*C!EiWBrF+`WiG0uXtpRMS*ahrgt=g_*)Dmr%gzP_QURCi`Y&#DbS()axeq|n&rlsI5*ey z8lizQ;4+=#{6_N?`*7yt_fM6FAoT{jIj=vhjmjxwit;ZEvF8#7ovk0h4SL&lwoD5{ zowJXXmn~}yKO3_HFTWoXzig`?W~5?k0>4A~|DgJvefl$$B={UXW$@iEb3?5fEXbI# zV&T)64K_^PFFFR(slOv+gOlk}oLe**R#?CqE$^WBV;!H~Jg|=-_{HyI-}gV8`_H3q zFLPn&$B4SV10}s>ZdCXG;%U@<>{*Ll?6TpbL&03O&PXibH#Wve~7w|Bqe{kGlzTW zmXlxa=9b<1{4W$rK_r;$Rj1`Y3CuU3ORvFnel6NXAcGR^>STIbFb;IeBoMUS_Uy9_ z_WjTB+y?sppOJM54mk!44La}10tn73G40W8nuQ;t=Yr{M(WcB=C7Zb-lpRX9bWu&> zQC3Ev4|^666#C;cPC^WtcB7ltIPTm~d#C}-eeWW&<^wictf~6qn7@OE=!Zz|VF(J< zLCtdj(6Rq%StpW!7_129QNd>>vSA9LE$3xvwwBn7VOPZxYg<2prEcxU?zVmp?z*1D zfu1cPDS{=i%q`*NaLJkvPY}Z1dZ!Ui+y83prcgK!?5k#I7 zXWK{*T@G=?5$g+)`BG_FOhL?n2;?TM%s>s3uhBd$&Do4Y6Nkp=lSeE7)Kuj`=so^3XC_DnT%|r_YNB?0(tK;diuoYW;EHL!49+xEX4$C`XZQoNg6Dq*HD( zmz)Z>092Gc55GtSCSeorbCO>6aEc#L`02g|@2Nn`-i*0{sd>NAN&}Ioaz4K-l@KC7 zGo4&bqd_t9-ldyFxyvqDawrsmE|!djtJEUyyh~nQRwnhGz2AdsVQ-+#*s`?sdk_BS zkb45$%~q zmRB^{e*M%eEADQ4tAe+2XL9kUbdRD8W2#Q23ZfXhV9ifRsm`CZOjPUV$0!WpEhdCe z5yGE#AP+=Gz#r-qp;*Vi*j%DPI;|Y|wQDzbOx<{>v2OY&^j~$jpSJNnB-Q0k?zaUv zqy69haer)3Z-Y0=u;278{Nq>s{c=E0jG3Cfq`w}rXGmk)SIl0C;nN1=TJQ&krc!(@ zx+6~nbY8bJmV_eHYp=SStszzLD%JU0eKig0yl^jc9!Y~oDb2fND%$)t>9ilInzDo% z%=DL{no>4<6pB`h$j)*I-9S>U*!aS#Mm3d?O(?JwSrufD1IAZ7c2$KFCACrJU&BeY*Yx9b^@J&5#QznvVKO^< zjyy|xDbjkHf0n9nlLWH@Fd8S3BO{Ah54}mjyT}mEv`63jU~%p1#$nTBfBwdD350Dp zD$v}3uEq#DC&R??;<={qMR6x(94^Z)5n9C$o!WJUd(pQnX8UpWYX1DI)T^tMNgg#P z=kLQdrye`6nH9Bt$;i?k#M_uCPXF+vca&$g5Z)*~N_yeNRUQVMI>{2EMis~n6Tj#| zsk@7>sBUw|2{dfEqzNk)Ju0eUQ)ZjxH@0m0=NaDFxj_zZ^F-E;LUBo(TFiTSKL&J; z$%;9;fVS2(d%1iZ|Go7Bf8@Yunk{ZOVtUoNH-c$MeY>!_DbGEAac;5L4?y{(;%@?t zXZ866fbAorBejZibdfU8OuR~OQ{(k)zhV@dE|HfivLZ_gWd;}vdJ_003TPmG8|W4L zlJo=-Q&xJwJ3TOD@lpHuo)ky!__m??00U@LkA}O}b>-9-WAU*yfzSjExyPZqBYV)e{ccxbdiUkZJp#~m#+ir_ z@zO-;@}#!Hh{Y)xBk@|yGtL~17LAlhO@}_wMGn;h?@BB@mC@MOk#2@88}~tm15@5S z<WOrLThxha+-J2)j>y5RD6_t;i@7_hpVXe9 zWto@<8_PU-pWr+EVupXPMzY1Ql{E#JnmB$wvV<^; zo5{0$SvWQ8;W~i}A=Fnpm8B5ksn5v6Jvcv*3Kpc&9{|{>IDMBe*9b-Mv!lOxs}3Ja z40^Hyu+lFHJ`F}J>#TuYHD-htla0`9wXsG1#YPTA0=gOl+6=|$|9-0tGgg*cUCN7_ z-Gypu@U{|RwOBME(`ldrqutD=blb5bt~J)Qt%4Wq%H`pSkVOHCS6eb?G@^HjD@M_h1@sg642x69(fid34-?Q{g!t)i@r< z4J$Z^-26s^%-xZjB~WSz2`)Hv4I(*fHz0J=L025wrtim}^kEK#!LmV_hX70%0f_=I zo1fg8Sl>Yg-eTu=w8TV?pmETyuQvTClcwEFz{9>JB%)H`Gy6_8zj|bJp`0fdyGiNq zytizzBJrlJ%>md%gohU{%({(1n~xnfMW^5$J9sT`ydQcswRPkjl0gD{ogX?Fnk}l4 zjXO@s>`4sk`=eBF%>j@3lWY#tS#4A9(rOj7#w_I%mUT^=8%D-*omU|>f63z)5PldN z$0SzXbP0pVjHalMnWOaOD-G5Csoe#Gx|2gjUZ3BDj_FI;1O0s(?j@F2eZNp zxRc0d+>9YIiv(iP6Ug-*RL`8j6mJZ_QI{o@`+gV8Dq1LJZ=ndV{JoBOvw18N$L=M2 ztNY{SNA80Sb=P@>2Cr%0x#g}oC!r8kfl*xu|AopJflJ5?6`Oy;IgkLPchf=`Pou;y z^B^GYVxlK&79Y|ibDzv5z&EkPrLnz2(v#^29t6cvdHQ-;tfIH;ufNaDHY9A=rS;)!#F9V zKZR`ncn;c+P)F`zBRs{Az4&Pj9)7~UjVvJ@9Q_^^0_pa}F1MeSalYIkP_$)ghk_8# zJ*hsM`3}ITpC1sbsaqa9$DYgJb*suAtD9scrYUY}X75Iwepk_M2@t3cLj@Qb5mDu% zq8b%H#Vz+LVFk`@6X{H6E4ih;dwg6OF`+hf?U=Wyyg!JtKEt@Zp-l)=k?BnNYktF? zTCij7ILdJJczsrAV-_-5+ zMh=BIStc)Ig;)$_OGBo9YR%={HzWz2?H|Yu$*8wS>nzQUxBYA4&sy{O(9H3sr6)|S z=k9x8w=VCaK^M*!$4a#ydVkOp_$$@;&qdWm{2RnDcMFbjPz^)j@`j_B?J?iRS&!_R z+(ShI`(#-nN5f$655eIIkZNPBKm8_(QpJgE9#>^oW7lHL{h6bwHn&QrG3~3t|H<`Lj#*LmL=} z{-uYzlNH(K=B6Jds|5CV+w{~26Z3T$#Z7`-e4V~a#K+XOK9b~@%Jf~>weG2hQtV>V z{nE^s=PJ$xvS$f;dHi}B=u%FnMQT&EHEHlSK_*?p6_x>g@tofm&!W{>X6nbvBQXDR zz9?IjG6WS9JafYQvuyDQsR_tIc@A;tBIdrIo|uLd8hTRz$ml=r|Nv{0jm^k!SH7ITr$I=;#Y z5(!+a##K<{`@oJw-`e&a|6Nn`?SF&uvYqX$Q&dcTF)+7zKcsiO6#m)yZ!do0+HT(r z*mp2I-?3Ddv3J=@@x3K)5ZW;J@V@?-hab6ZmOUCkZ|P)$3)fa_P+)8^xeR{hP}8?5 z?1V$J<;&Ho8Gls{R%_um>GD0JE5KpdHjp26_fToC(}Ne&dBUw^HnMs87c|$be?B2= zfq6tF7-niqO>D!j9&|}7Sac|cKe9uOlGaq5RPAx1x3T^=67>yb{WAS+#9d+k-%==& zeY9;8g1`susDO7X|8z$meLpB(MJk!KS$=gPZY^b5!B^cgGvzte;Q7)+kBkX}JR z)Q={uzPvTj^ZcNOubauxgwnpExkB-CV#)kk(H%5~q%~>l-Cqny!0GU^hB8y;H_v<> zN?#0y6P<>_IzE2)m1IkkreAe=qMCQN0v9d_q?JW5|DAwSHIl;(Gj9LA+4fTc}n8762OAFuy-nwZMwpxE{Ve}oJD`Lo{u%5x3W<6qucU6qd(2aGS9gPKp&;-C#n zz~VPojE`4an7EKY%}o@SBZdMG2kSK@61g8%tE#1xHXTxW43rNMCeg^qjC_~O=5}?- zBk$m`B=Fd}0>J-i*fO@VyuS|&y&Sqn^?fMmKpYxQO>)I zbyBxjc;Qn==!94Iy)g{$vAO-`Mv=DX9vvg+T5gP7lidJn=H|~!c0Sp#k@XT&_=X^@ zcEhH@WNGYR7~LbtFxl#lp`qbbX+aJXXrvYz-_zZa?#EVTew=3fdH7LhJVxN4yMUlE zE|W6%eQFD*#R^*4PWke)KgN1mq<$yIV_R+{rQoP&9iim*ZCU=o` zaFkpN6&7?=&+1A;9M?Xl;;E4#Qb%0(*my3^yx=v0c_ zyk6iFw!5e<5P#S#EIV9?+;Bo~6EX4gx0K+2=f^o(-;;e+YoDzHFJmJF=SHQ;4XL#0V0|s`XH$Afuo(5 zdhfW%wLA_sovxv@BuvgPrNg`P#4Lqk8^;dA+x|Gq%^*H;O#xkJh1fpqaMq9FU-(!EZAZejBFv` z%XSHN{DAX2e0v4U2@qU^6IGY4-$wpB9GVQ?kFUXA3m{uoSRJ1*uH{qz5#@{taK5@Z zz3|Td$6TFS-xS#4mNk6!`4QCG3q};sItCw42esVyDK{SZH>iK~g5Rj}hE5jm96xqJ zeJFwq2+`+*9NNSJ7TX1%^IFmM-j4qh_0an7Jw?Dna+iACf*Nx|(O@*MFcfFz z810Jnu~31mIPG>ad|o@EhS9COyd6enGx7vf)lNp>FgogAN8N{Hqk0&QM3@hNae`C)7K#YGUapvn^Wj+aZ) z`hAya;^xDTEiC)EpG~9bFcG9R+r8ww_jsb~W$X8oXNSS->01*_6yo&61~G|rJS|mS z*fq1b=T<|mh2j@M@*pS_?iCo)G0GT!BknF!5a*Bu!~w^vho@W`)nQMW!nQvlV|4&p z`qvJYYesi*cyz4gh9yBltoE&M_7J!dsz0wmj1ym-vLGM)(yQpFu7o(e1sPh&TE9>0 zKpOabv#U;#{OJ=&-Df*T!_ZyA&tm!O3kB|P6g>ccbC_s1=N=(f;RT;|H5Hm> z@+#I3{tA5nxeo?>*UZ~JS$1`y>6x=8^rW~s-A(!M;kOO#bJo%8oZ^e7Uk|&wsm@R& zI6D%fkl*JFs1XrZ*__D8Zu|-p^A9;_3%U@Pun+pfg>XXxB(?ok2>tu=kY4l5jyJkv zT|jfpYO+|H;H66OKINJqP?>6#?+UngN`x3C71EAx-$81(i8iwQ)YtxDTPVYGRsD@`ogiV=i4@$e}ZyiEmMxkl- z1kSg(`w5QB3U96P(+)m(VaPkE?;`8NxB7lS;GaFkE5_U%ju70?@E#2o9oZZ)nY^ zQ2gb$RUi~kjlywL{DO~foh>xibqc2InVMOX{%y*L_20D&OM#fu(TgomQ(R1wxRALI z&MZmwF~?8iYp(wNJ$pVqMri!i)~Y~JyO}ijtTtDQmS!SCI}?@v>D*txSPy?h@7GqK z8o+kphR?_tux%YGT2pB0>>xj+{f=NKmtz?#z)t;j>2*$W^>V$(D9Yqusb$TprSoxm z60&YTB#{+3<&>~`Vc$J+dWNEte5U?{E%|Q`kK(ak&o}Oiob_*FJvegPmK7e9%&&~I z_vw1s*}~~pJVu;Mp2ZtJPfpxf2Na~%6XgQEPtd$USSDR}Qc#8g*i7#I{vfz+J>c4)5rxbgpBUSSx$r5rN;hlnV zVGOt-crI2Z>JNt@zTnOxwN9-XD%Ue+AVbMH+6cwenXyt>7`ghRDiwKX%{#k9GS|_B z7w?zmukqXR5&eu9RpDUd1%%{b0MLltL}cD0SVv?<_UZ(usdh2`3PQklYYz{;*L28~s#^-}@ zBCGWUgR$~hP&z&9;W`}s;NC(^N8){a>dHz!Xf~@SZbp28X<9r`hY)Te*m$|uZCd-; zkd`YH_hq%u5d+Ahj>3G-I?xdkK%nb@>G&8sutcqQv7&^E zSRi$p5Fr_3+4tL=h1By^XGZPw3>x&X{ipAu?zGMCDN&9e zDolRB|5=o&{XKfMr}GSA%jSws;jW1l7+U`m9PZ~e=j-|TAP`qpv^F-9OQP!I0h!CC zZ{h|P`nmr*R*!Gu)~l(@@vMi*L$GPYm@U^g!1-}vc*q%%n>qf7q);i)N3UC-!&t>l zpjUer11eW+#}0}IXv;|=@f>0V`_rahrf-~GHMK2&d0>0Z`m5sAe48ci-%jXR+Fvz2 z1k7pZD!WHbs3zknP2I?89&?9}wrm-`A<0}rYspOdB4Z@wW63?D|B3(V1YjabBKCw` z;qLciK;TqE?%Y^ELFzkIIv!`9erA9NL4h6<7~}r15-k_EzxeRAs~2`D2)D(53zw3{ zA=;=EMfZn3x-}a=`x3cm77-#O2+bWOAeOYof24 z3$+6bH71n}(vti)6udmiH>!j2=~@%4f(uS^+dg-XhjaKWV2}0Y0Xyq9X4DsXUzZ@y zw!u9BixM}t?pLiO5Rks#666f9d3>vuZ#!;LnB%p3N*Op`nuEPm7rbuyzf-~elxD>G z#G_Hjot|N$i2cJhURx&D%}X}f^?8p)Ze{$>SR4HIsI!{E09Kp2tDF_@V7L83m21f4 z`)Gh?+xA^P?~GgDLPeW`&I}ZxOJi8ivJJ~upu$;BT#>gP^aAn2?y$wY4ZCeuPp|tw zFq?i!+_zKe4-O6JKIJJgXMWxAB~`s|_9jb)NYsnov6aJ%)#? zvUOU5HGRfg(;3h~uUxUK^&CuIH7fnNN+teI|45qQaDr2Tl^b?XkZyfT-dpy~uYw{V z`L_6ju9LPq4^|ScxqO!ONB@v(NgNQDa)U3I<)atQaj+W@352N7>42Mo+vqBl9QXfS z)h-4nDa$W{6Q1boG(Y%_QBv|M0?i$H+`GYWkZ}sLEF%hC12fq23 zm(irZpUbQ}U1)oC(c^~VBdh8CgPU-0v~qNd>qG$svP_lfX3?KfST|(23Es++dem)b z$gwl{hY-{E_~3`u9t(g7I)bG&weRxpdDhPI!I&GjHKI$Z!mG!}?}J&KuY7aNn_s4v zp~Tfwt~GT9&vpt~<3eB)vpKM6djIkM?@9H=eDfeyhI(c6H5 zHq>20hy3Y3Dze;bk7s9{ve3aA9RNwu`Ca%;pu7lMKzS_Zhre(Mw&sU_$sO>WWc%n|VI2(eYxD0b+S&$VW%Yq?z5BpV zI(^r?|9c?2`-!lwuMX*5oe*QkUFueOXIsc#Zf)7}kg9p_HZXgl`aiOEHQ$Qbfu?he z_o$Na&Des{aA&Wsc3Vr)mTf-B6#|t!N10;1!v9?FRd1bet))FxH8Gi7c=f^XXADvb zE{-HxZQ6ozg5$eG{$x3T?H+8s-Os%mYyU0wVQDUG=Amx47P>p+UG}`OzjeG>sN;0E zDW6?+Z}|bA{O$U@CqJ%O0R4!;L4O!7*5p99a}MX;m+m*$eLW_9n!Mq);nh}m&dLc~ zfg_cyXOa?(RruV;cIPgp&`{f;}2&=P;qit=jsexA9AZYgGE8eaZQjx;cs!(TTgJ;+M z;uO(BdXW@dbhi}!9YR$1FUG&G^z@0^h3o-t%2|OJ746Gea_R?K+UTuFjo-bk#O0Y+ zzjxnr)JQdfGO;{!)uHFowF-t*ZHJ9G=$}n^nio|*eXs{A(jK!i2Y+QA@`vrcM9~`h zWk9qw-`xM0kN8P3!UA@x=fUe_0E#aZYq!mzGKko%zamaVOD^Yx>Ccz{(oQSs z^Ii|!9gcM(^mslEX5o7n_3SpB)w)Ng)e3q#oihKNL9q^*Y_cx{<53>@by+oE>yT ztWa~Ib;v)0k4#1RiFPg_8f)YMx!5c_Y#Nif|3R5eI-GXnonayK7aBw_UY2`0d+P*; zi}G!+flPi5sbN*KmXOPl~sRS z#kX!G>@Qo#eJE4gK~u$d16l6`*wnIIAtKzP2Odm)m(leE`rE(MK4B1ab^XiqXBN_= zY?l~=Bg+7UK;rl%-b3S@iw06Lv3!|k>GgLSJDKC4pZ}8%ach5zy)C6@C0&MF+aqfK z7SshCoc9!DfOtZsx9kq6tur^c#~0|bszBr;cONk2LZTktcxb7QNPS=&BXPk`vxS?* zPI|F!zztXNBTsg!4;g|c7n7Zi12cH2d#Tr8Jyo^%anXx?*0b;@xteMH~dDP>*^(3 zpkD6rlSS*>ZYn@@wAOs}qqPnA7mvapTn`#!gcvE~T4OQP+Ed?MvxM156cPU6eiGW& zDxi2olVFb;4F#s$G}*@94%9?9^Sg5k5>dSIWJ@+#wJ4~xNTa>Q_|h6|0%LeMJQ%?c z|B5;h{Bk&z2Jm`|ySN#JB`zZhQ^u*5)k#QiB#i?p2!alF_q`K@H4OU)aH=(QYL69- z=($W`*w}s|DLq3?u}1`NjKATnz|jfzGjKpOfPcSj>M!a$uHM*J`95_5tbQ=V_2sr* zK)rS`mRjJ3J_PL%eQVTNM6}D%bKyz*($3zqc=@3#Xtk7e*R#L1Z1r|=SGaw4${2k& z+QrziW&ty)vre1~sYNQ#}Z(6_}no=3~E?QJHv)fXk>0-jF2)ncxodZPWSz}S~$Lm6C>Lu7C`^D z>)<-O>rlTm)K^l2A_PCF!~d?cR`{t%Z|MxpQhe6lNF>mB?&urY-&_L*Ga@8=@1{f< z4~-GAM7ZV5dcQI%d$0;HW;fbEbRvr(fLdekS;Ko zmY7RyS@~eZ(r{VxCrrr*{*78OOit({Qe&-Ck86zL{OU7pMy$Q)xLn!jqWXHvsw|8i z{nnL)`8tYR4voMTB7~mUO81$g$#jl;7?bBezV>1^5aL1V2rdY>z236AxUTE(XRg;WdKAAt96hH$j8Y_M$xL3S#Zb+l}-r7=@_2)Tw-)3l6} z@47r0ky;gmS)&omEcE#%POe?YC0=z;Y3bTncv!hpx}1hoSan}vX(wO9EL@d@#i$W_ zkk9cvPnBAC(zLRlP{I8;p=@U+&484yxwG*v%hGe&0dMxQ^Y-`ky2?n7k}_2_ORV;6 zoGxq6MbGWOZ!6kW@l?&AIrMdz-d+!3S#asy+KZwICJLjvsoqESfsxEbzS3Po_=Nv~ z5kjv^x{x?DQ05X{1>4_!ica(%F$Ae9M`=`b*cAb9i?9l};Fz-{=76%4WUM+a$G1>+Jc=J32<_YTOK>j8S z&%ZP;tL#+|@osRxG5x_F?7;BQpvLRo~Ara)3_L?_9!Kd=Si2BAb$$IDQ@$A^%v2EiS z?AW$#+uX6$W81dP9c#z7t$*+D{qXj6b$3!-Nh(!I=OlH`T?EGH58B9ao)o%O z|E0F?W-)#YaRxRbsuENzQbf3`u6%`}Wblt&FrrFg4 zH}UGez+jVAFmD^dH`}+J?F_9(-I1x*d|c7t$xz-F-pa1yL_gAVc;Zk_NY5A*+IezC zlQCJ)e>DP4)R8QU&DEI{F7oqFn(6yNw{E64OH9Ril3z!87K|O;GiARF9yL3i!Iz1Z zVM+fjp|J~m61BmO9jynt+{+$Y$&bS*Wx&Akq$Z7snDUDcqPuPSYI5I3bXd+u95o7? zswFE&o<>m9mz}-+7L0ELlVTU~diyo(MrQUr%~NUiSm4e+K2w{O3|Gz z9KVCe3W7*t$4sJioHlm@wRp{qBHNY-8y##qh1+`zm${LQYkBj}YR?*e-_#1T z_*+kR*%>r<2^^*etlX|_d8Nx}+$kzJ9L4Bv{;IP}3+fdv;=aDcur7-$Udp@E6crzS zUULcCnU^bfyabdL`Ys*iAi0yZ{Ey9reNT((S+VQ23kw|szhu-e`Li@>xQJw0TDNWu zA&?$2Enow66WrOu9OlWlj(wi>8vi>;ZwSQ5d-?4k*A=JvzPjrD?q}=o|6kdK`<-6B z2rw>@Ab=hr5x#&6mvJpPYYF~Y;oE#v_;dSZ9QXTopah_yw>IMYe)2F+W#Hqw*{WTw z((voqXziQe`y#%~ zykwStV|Qws#@CLltfa+%*$M>N;_7~@d_bHn6WhpRdq1pEJ+9%}DOlvM zQnOw^ffzpn{@&L4n2(m3Jnv(nnz+9PXx*mW@A}xUwh4kp$pJT6*H6bwM8pp{tBCJ z6!Pi~IxrE8E)_gjX1v%1Y^wKC=s(J9(eGm@WO7WO;l#fq6q-E8fU6SmC4tMdE%P4R zE6eu`ie&Vzd~+LQBxE{1 zN_hlf^f4;-7Ig#)GfDsPHxt8`P<_>Zw2~E?5U>*v-?E+DTyweV@mO`DBmI=sPnBqe zme>Vy=N=AP*WFgG?}pjZ2SDw#RZI$0Bz!>z7Awt|M2SY zk)PkR$*emUz}yyd(tOBTg^p1l%t55{zL3p-(yjvUh|S?7SATumPxbj}5jV*cBK|ls zi*@{_On5vFKy3YK;607Wl=1a5>>5i~FxhZ*z4s?xvB8*@TJJ=_nWy-*A7rWL;Lc>^ zY%X(o9uV?&6mvy|%bg3m6fA_V!@?bVE><2I0X!2n`krxwtg7#Z!wZT<+~;pPrm^HA zZ1h+rL6Z0*)B;4bosfK|xc?kse}GO_poPt8Lm61~TrFWM5sYPNes?*TEmYYbY_tw7 zk{w54CF^+zqwdSIxct+c9oKjI)OK314M)S9^%I* z&_=YnX&e$4LhJ+A59VqsEOS|HuPb#()BLzMxb)davxW5Jccvt5Szn7MLz~(Dx-x>f z4@1=IQt2{ZqBR(0is`v^d*b6P_O(9uxVUONg2}Xc(E|{RRdcVjFL;Yp&N}Ws$jU8C zgy?*Js@?g|O6Gec1#&LK55pQGXbc~}rwaA|R@%SvBB_`@9)1fJ&9n!efpUzn&3M&X z%4dV8!;ZqcJ@5U^aDeuas+()VybKPjFkvKs7ChlmzAY~qE`X-ruYM|tg|I#Ot1j-< z0u=^dNx1XEg6g^s1YqLHd#}i+6?nuPu*uF|b``52ydSkGIUmC(hVAXLYjq(K7vNti z_d&l&d~0M8u+D^}eW^1>A98#@{ObWVxO~BZEs7w<%_CS{KGy<${39&Sf1X!>-DQ9@ zPhbHJf!blQ;CIWwdO%Kg&Y4jj%AX-)p6k%BwqIHqpXpvJi{A5jTkMaTe*|S8)Arpe z3(-pJ<M=!(Q0Kev9Z7JAY+9T^~{I9XkZn7vD#buVvNeJ_HBM>J)mwc&&1Q+Fi9i9L_La zPI7icKTC^$aKrOhG*q(|Y9%#owTuV|oK-3uH%)Sg#|P>7udyi@xHhMisS``qWsH~z z(5PX3V&Y{R?{m}Sd>VhEJbb3fh0?oR8rznup33PE; z;b_AVrcu8xr~mT9=XqQ4)AkPuy4?HuE948?3n8iZuXXow4&mJLW!3ni!6)-WTfRHC zdfm~vm$<(g@E*Q|K;|0tVEqSTfq_r8^R^Y?!rU*Y^t}+v5}p?EGJ971fh_(nl;e*h z6qASreYU16053J6dSl7fDU?+G3~1T)n{n>4T#4;@7baPTD_EK)rNg>CSlTCr!-hRr zEAVUGKB(=JA{>}YtEX_lCIwq@~B z+I+=E3O)Cc1*)$%!7c%W{Cs_uM!p2}~b;WbpYd%J_EAl}l4J{aedhwnWf|L5HEh^P;TH^r}hUwTyMcvV%Ll$i6IPO z-tf}tj)JBMz=Ga*rU@joW+)p?En@W~5v|9|78G=tx|a3Fn5}2bpVgt{Qx57L2NGVz zVzvF*dl7$oaZZR9riSXTVK;b(k1mdDF#yo^7gYSIp)376yUb6{_|$4F?#;OIaGlC@ zRIA0JmPqE!bu{I&zf{NC=;lwAYpf0SPY5jS2bW3@|7J~@O7=fJW-BV9-uRR}7m!4# z=T50B@23>#X#3mb_nAd-M`Gxz05nu$F&YEV1zODIRSTSb*q3vqbz;q)pBueDRr4hH z*^XsY5$zUiimO;3rh#rk&&pmkQeFai@dSaj3MT`7(IjhYVO49M)WIbq?#`szxH!j+ zhVDmwZEbBgk5sK!kaam9bj_J z$&hk&ror614h6w<4pQ2<$!2JBuiRO47?s#{-!xEJmn#I{xuB&s3%|#yg3yv-(v+CP zX5D7NN1gEHOr@dct>MqigJy(M{ZwV&9<*HNYVTBevT{I6&7Lc_ksr#<`pvg-pZ&BS zDl^LUp|v@%xv$n<>MX#FTo56I1qfgIKrJ>1JhtON6R|@9Ot8`U{+m_}(_~-ejJsCjwm5pjr9I6)oDq0Ct&*2_{@KxqKj2wJFxN;G1wwRT`M znb@wKzRaQ(reFiyoux?rS&hMw%65$l!Ns}5oyY(tbu~||YZNunNs$A7hMg5p3Z_*|>2&spu7J_se zxbWmLxe1Grc?CqJmgw>1bY&8PWdf|Ud5~EU?sjL37LsLV%<9%h!4%RttoXfOkmzu` zF$-b{5J(5u^^UF;)fnGu6xdWYk#NMZY8^J_Ngv(A(IJknkIUx z{ZwkEYPujk&YupqtylxO317tlBYn9_gU}FBTR;Qa)~ns1-9aJW7E)`NYOWYw+mU5dTbD^{v2u8FJ5TF4DAXdiy==v4uo}04lKL|? zyUaem22$W%a=oJT%T}jusS5v~{%l>9f>e6CDdx}Rbyge*T8(%I$R!{^#(BGbs~LU9 z&1HJ;V!x$nVTq->i9M+iG*&}2tWYL^hB^A+h)WdD5rpO8V&Cn%h&)-*KgP=jRH+3e zsK78;a<1Z1o9(TbJUqrMciPhAY;82#PTfrw*}Jg4rIrg%u2?&!gN3Nb?!zY3cUzt9 z%&<*aq|9$c1iY}LJCq4>qi1-nL$WYqxfxq*88NXRby87MCLv}q!?)PHw<0&^Y=q~( z33H~HOKUF<;rSP;1xzFT);Hp!*!ZY(S9hc3n)@nd>(EkX!fAECLtsF>x&ddR%-97Vr0>t%VLX2D8)k zz?zsW!I3Dq`k$)9=#KEc;H1)c+^2d!$P2P8i}~ZTx_t*yKMCGg9gW}w@ut7PXVyTV z#0W|JL#jEF=AQG6X4&hx889I^hSvC#8ZX!U4G0$Ekx=yCLk(!P1NvZ5MkO4dTEbV+ zGcy{53Ui{wCcJzM@E7xViLq=BWeVL4%Gqt(Z|_-g*ggwbV)J^f3tbsRP3WV-AEHuS zi+ufP9AJl^+A4&UQ0F<8u`XpzI{%@vtZ}dszl!=|tzB8GRqyrW#>kaO&0n>W$u(2q z6-}fMKTSwoiM41bOo*Oj*R=M6D^;u5u$j{h5=BHyN+2xv~SLFBpU1 z!T@wieu^8?ED8syW1|dsWanHBn`v36>MZmfJ+1_6S0aK~Y1`IEy0bwh*sTD}yc3nl zri-_pV%KjUVn}=Lu?DW!p7H%`FZtE052v#lT8?WU>FY2Bu{qxUeLMn?OyQp(5!HQV z=?ICw>sywR){#g4I6pj-d!715zSJm!q-R^YT@_n63IgwR zmok=RS0AO)<8Vz`P#%-)b7WaDn0!K67+tbFe4-vJ?V&hrm@BtA-!IiY^-t>%4}YGS zSCuO!4bztc^t=9kPA;#^Vv$vzD3#Hs?zOq*?6&RSf44RXBtN|%mHwfK(g^9*S}(eM zY@WJdUaj5&tr~B%?mlI3`NwHPubAeQuA|n^Dk6`~Pl}t=MNnxp^+###ezL53`D(|6 zraD1@S%}H~i{^98PAS5O+~w_O$fqhzE+cIMG_qo0Og zZ3}SR*EKATfo@^#zJBxk)(Gne{qok!n9^oylTWMJt)a_Fr|6Tl>m88||E1KhO!IzX zJHK~rT+uQ}@aDM-u{_>77ss*ArNrzl=iKWw)?6MpYOGYG);MjQ6TlE)bx7HW8hl(j z+%HYI>BcfoY1RQHAY@4KwX8zxtxs9}mV}INinv%q#DEr&sa0`zSYD8QaoWA?RW+<^S8BSOxFfUg^W#3VM0RFyU&}LLfH`VOPWHN zp1H3cTiy%F%euDQ*`4RhYi*}2(8Snn>zQv`i5A`B(w`fM^IljBs)+FBl>*A%Mb)Jw zc{VLuILDa~5;L7LaxguPedB^cCD1~pHk3NhsRCQ}y@{!FHn``3)p3V5k#gLx*C;ND@*_ON)?j7^FRmn7Pds&umB@goF zBzC`TTN+{|w8)=x?tSgSLQT3s#_*AacOy^H%Etl1DyN8HCi z+)(@yjdgsNh8gbGX0#UI!!WC7P>{f`gEVMvuLoVw9Fk1;zJW9)IdZfn3 znP^o!7geGei{#n5WB5hxV-Ah_w__TnCL^u&m8@2XW$xp=6{U9r;D4{@6J%g<9FmtU zv9C4Y=_t@`CPKl5vR|c|GAzk=2IkoS#@nneXOD+$yI^4$5YC1R%kMn6W1t+1ulF++3dF*gjET6k^Jx2Bz|2S%Ly9Y1bFCOIniD-EhF)J?a?> z3_-JS7?Wp#yOctelk7_n$kW_OCeLcvV*JZ%k}oehP%h!~Ytb%MQzONp0!mV=qq`7lbjpGHD9xVai^vayJcS2ie?!b{X z>qJqd;Z-Kf%pz<;++6G7Rb(-=@`tWrMqLKq5?j$kxk1AbKTBG0<>(^*Z(F{rY(uj? z8;B5CgiHXL{(IQZ0en^9rla1MJp30;C6H$RPM$HIyL{ftS_I{vtn}U&XZ~Vsu(mcz8s_p1z5siyI z$_lEKRXtAX_mwo;FsqVPeURV~CY$+LU##W$BrzCXiadk-q^y*Mf66vM+DE5LOFh%m zq9$IXxE#%OQf~(Wrv4;j6@G9bm?ZAgnh0$DqE8{(VKPHBI+@HInq2qASj8DAej~Ut zdj*<^T~|#Ckc^=mEum{G@;@>+n0d3zP-+&w#=0Wsh7PUt4B}HWxpu`$CZ%OU7XHay zcp|9@SP_@@7-@*Znoyyf+-CgiY+`#k zC}rzEtE5FsMhQs1!uLpE46l*mBlA3!$|hg~#XTxI3_x`kf4Wh}FxSu2C7sz?h1XBX z(p|QtMc+-D&9hJ?H&62wiMANplBh11nqkP4g4nW8h6L8$P+#8v*HBY!z2e})NwXA1 z495g$!OkjL6ce9G2ni=QO&XN>hV&6}W?Z1u=TZ=+$YUW1z;Y$OZalK+0<01nCo>X4 zJ3sy@aD%BKkI_GsT1h#p+TMz4&Y4F{Ey#R$t%MJ(widYmHJA1zyALz_r|NOiU0?g~ zb#}dH;65TnkdWPlKpKsdLu8rET>YhJNe()urkWe0N^+(~1%Ww;^U7qGbbL+K*Zr4e zRbv_Zdtzf{m_emE`>#vsnVM91K}`h3f3ysa0q2J!)`KJ9)ugU!>ONYt?)FQSiN2GY zDoo2tE;z71s>;?L(SE7a4UF8KJS;;$AcW0Pn*Ws@NsN&!WR1x9k2 z%ooNjF$JN4$@Pol*mnR3P$HbH7##2h`T&vrrik@W;gpB=Lv?k6bp3M0g4m8iHz$BQg-CJJ@1b{<{ zM>f9o{(wTWTiHBWH4UVOTSEHB46j)gieD)B69SwD`_qZu*~Z!!_C5> zkSe(?EPWo~oaK(NYI(t&*+sg^7fEr@c?OH6mcAaIB@{tmiVt$_K7H$JnkHBMv3fAP-)1XAQ(3ml6)gcpAtEwpTe<)Xh^9+z3YRZB4a` z7xPV3Ff(_QZQ11m4km=iJo#9n-?66w5xI-?rY7mIH$nNpQ4}W*6=yso%OR0CN*Xiz zS{?9DhB%i=oljOTN>4smSBcy?-tql}Q_7o)6va~I-)Sph;6Evzr^AvCZmkD=YTqO7DzRCo4LpNRrNtFp?+pc% zOVR{|6M3xw5d7NzxF=Lq^a|1uN*h9k*x@fRhh?wN-RD z(h-z^>oyY6$ySF={1Z9Z3}D^Y8Sp^qnRp8KTk*1>PA2|9vE&+W9*a?Ud`SL|ZUKv- zaJ`#!%^{Jm<~{n(TA)EliO=rE`=>Qu4>8&BzSLW!HG9LH?w$`g(CwvBHcxcexd zI!v#2PaF+}D^E3L!;?!K9sj*JR+)f6IlN!;4Shg06|xYx=O`<18|?`&n*=7CY0U1Pl&>{V^XIf7Y&7{ab z8%u|Mu~}5li4O0-!SLyB0%q%!;eCep*S})7WmEoFEjw*( z5U}K3+ZD$o>;3_2mczf6IX}&Aq2m8dc+Q{Z)S1AEm^g|syXL=O+AkKn5Xg7@;JTve zM=OaNH(GFe$X%+xe28X>HuUgd*l3Ui=Jx*BR9D06n{a>*M3|4KlY6g4(74sk8Oo+kfe zbSml65kUJ7C`hjpd6n2*&$|oH8nAD*>3&8T&qHPa?gL;K6f2Y4Fa>1MqW&47SXHVQ zO8^aP%vp}mH*b3C7T}?is#~j-j|E(JPs{6?h_V(jIm3gRM28*hV z{hJ8q?*K~X=n<-K>RLv00>niggpZW$mUUoj$dB1;?J<~fk=oNxHxg-LH`() zHg_3sZWYcE`A0`d*+**GcTBlQ_Ne)nM_-z~=tfuR=tndJibtKIr{~|Wt?QbZ{i;(q zMqZkIs^aRQe&HG8hYO5oS#pn11X)ERDB&1aF);&6dic;&ty);7t2`b4Ij^I&I*A!w z|8p)Fou8JjGL?^&uF{lWYu#7rbTX{$RfXiM%bzM@pNc8Mm^*LG{a|M4d&0iD{%56m ze&o-}p)oK=^sn?o{)*IOJ|~Kbh<*G7wpVBb_k-)L1|HC{nStwt?#T{m1(0S2ytd)@wSaY^8%kq;?JMQESEO zgx$M9?|dDh+f07ZT6Z#k<>eQ~pGSNeL3tGz-N$^?okzy)79)G@v+9~3jsu^n-M$!= z?^2cTG|N}C)tikPo2=C}HDq(zJ_WERXQ&u`lobIrT#BGR1wwyRs1QMOEFjrTBeD7@ z*LN(uFbIEo6=2M{(CIfhd1^v3Z@Rx$|ik=4nKiyRQcrv4q_9kMj3({ZNN zj5d7=z=gnGgGqUMuh!$(k=ckH-b?o%htJCcTR$NPRh9W0`eP$a>U zVx>|8>cvc|aFDf~GH_@~FhGi%OKF}pSofh#nYIdUGSzaad;b)$WCfVO(-Jw=)0{Ji zQwAzEl?s`LRvm1oWxOAKXhS0}Rqt)5RT!y|REeTcSK})uFsNFpfK`#3i$+8hi9TOX zX8G$MUHSm-|D`I8EwvJ?&DX@zxZ!jwSjw546tiDj|DOmK zSYTll*eO4(6@N)tpQwl&kj^D`$u+&)^+Lwfkq+E(phihd>hhTeSk~f?OiGUe>O*~A1-jjQQA125eQ_6x4WeqOl850k44&G5 zjkLegriI4^Gg=+9gzBI-KxM*^@v)6BI^@8+AHQkSfCTg6)_m*;fO2r%2|QpVb|4`KPggt zk9@7t=6F$EYn}P~I9l;{<)&4=d|T73+5JJ;r%2(JO>Prz^_%29w1rhutRK;%J$aLl zZQ*L@(jt-}^3eMZ!TGnpSNF%Q177HF^{uz~n(MJ6;vSgg;o*FDLp?}&9D*cEhx3|o)0nP%k~8mq`~jSFCuD}8DYUtp zSO)7qvAW6~4+UHgH7#^s#DE0bU&Q%|RI3AfIn5yEb}xczJ3fjS8WHwPmOJKkF$oj& z4(-60qVr|KX891P`_)*+0~;az*{varw=sBwgs?6?5;8=X60Le(;poH|L!HHr;&sbq zmVZUloglSsq}m`yK_iT?Rz(M{FiiMQP_=|e9E9ZVZ@$BEw)@z2!1>9NVy4Jc)`Env zdd@fJnG}^-XW^o$Psw*7i*)U<9`NeHgJEfY)Wc)a1$RcABKFgOK7>FdLLl(3#IZcG zHVTyz5y2%%c&ZrJ>@gT#g&PWl)Uyh6q4pW=M|Rv|^1*b2bVHi!#EU7!2C4eY+C9=S3Va^i&0V=Q7kL*oYhSr02`E!5YWA?%Jm@Nl7_KUY8*`Gk6>X3y$;hy>btg ze1DMmtqfc;He(47sO8JITN@5}JIql9C=O)V7k5Pke(R!6g{8_~j2k>{rDs6&=*v*1 zscl~*U5$b%eZTxR1Yhh2WghW;c}B5JCuFz*nD+r>B3%8L8+K^_Wa91vOxIP7V!R7I zw{de-CEW!`_s657tDLQ&3>qadJeU$>2$E!=4*q66h21QiXpve!CB*R7nHgip!yE7g z>+BHsZ26eTBuotZMAj0LQORvLc#{tDaK5t>{TCJpBQV2G`t%1o26iZu33YjjqI=wf zqd8z>e33#I?S;LAG%1ejOX5Y_Nul9F8;Q^$6Q_`7zK(G!2Xb48n_|pV=07z>UcqHE zB&Q@`+)2K=wZN4d9#$tof{hL)>qZ7? z=f%U4I3h9+pcB=TO%5L^w>0!WAW0YHEmEu))@}aERyu|6jlW<~8k)~6)hWJxdV;+p zBmDWJtT$gLUtbd7ACQjx`*=i#Dqjf~;_ehuc=eiZhHH??=i19Rli-|akm$h=nodJ^ zH+tNx3i3;0#~=)Hb3k}vQw7J8Sy4?g!U8K^$_r_b2-NsQn(<(ALJ4biOl}96#P8jJ z&5l99l@W}PCb?`e6b39M`)@_OU$Cx@p&`ybSQw_XhTG#Gln;a3P=-pGYVB=u&Mj0j z>OinSj57wiADq;0=M(O8)Bs)a~++K;$;W8$pyWm&XwaPeCiiRK)=<4=P!*7IAVPL3Fs#OQP&43Sg zybXZPqrkF4v1Zfqm0VP-#6-C@$-;z)JE6qTBJ)=@gcdN)%Y;PCN0Dw$vFBt<$D+;i zj%xEDdP?hcdE9bZuMtn6ws=9C`bE*}BA!$Jp5`gfb;+ofD-;^&WK4G*-v&XM?{@Em z8Ax}j?l+k5EmsMu;EL3^qJmccMyOXlty|@|%yH~5(KF{uxaw-yH+RJ!%F$0(?&NF+ z`qFWFe@bwIO3c3Rsy~?vTs1CKmGGqVX+Z_u8@nNC;mSfgM(Z(xTAmSoj(1fmT4DxK zsgUJBkF>MDwJGx!WM<>rz_0mjj`lQ=l6w1-M4q@a!etqa;4Ocgf*ok2LOp6)Cp6XX#oh+dAMk*Y3( zvk;H>U7uz;Tu*;+r?R&5&I}DoANf{0#}@-LUTp-V%Ck8l`~5QEW9&FiELoA3@r<%9 zc+5B5sWrSgHCA|d<@)6A4PG<`c~yzUK^A|tgz^Jj#e>Z)I>p#UXY212-5fQJ?(?^_>+l!G8i^S zIg|>p&7f2HWX^6>@DckS){JghELGlWB$K<3i9^p@P<6QJypGh;9H7ZwRmF2w5gcVI z_GDSMO`+}Qpq#;Ax%MAjzS4eHNiokUdpV#}!w6x&$f}%vgu)rH8x-*o$!K3?*b6{d zYf0YDGmd#)hBaK$5EOPRf7#glmTw`D^Xuc;C_@g2;Yp)Z8uw6m@`NKAlyk21t!vq4 z=;7i5U_FUISFS}S0E2Bi=>Hu(XZxL2dhxMjz@#8l1Lm(8eeqX1k<+gt_#j=QgWu_L zv;WrwlcEnsj2N7|i00aRYO95FCM@C-IYOvQl~8u3%1(;+c_24r5gVz6(e_UMi_3>E zN+HQ!HEbUblf(B3k-AH1kFTup@q~8uPd&a9hMbP*13}MgSPmaf@rf@Fp@<~hlES)p zq7UVaA8y+4@F|7k*$#wDW{8xmf8s(h*Tt(-3RBzP1iBV}=KKikh8;hTA05&2TmqgC zy@^C+`LGqoKS$Pw!pv{^u$js#m zF4svMZcqLVt&F&;i1exuhE$bY4Z^4-u}~dTmgU+G446_&tl-v_uPnZIVEJS`p8A=o zY+ST2T|eA+lad2DC;gOGTzH$@uh@Xw?H0vo zJlLR1V^J3|&|j@?5nJozJR--uP0J=aJK@4Mc7lc-@P5fj`l$bbXJU4`B_aI>&}yTf zA{tG?QF&t}MG=Mt#hJ>%>2^=dnlEEnm3J*&nT*qdc+!LB-J4=ILoP#Py#d_urA_I; zmN<(gqO#sMJS%GyVK)wdBtrDnfYJrF5>oruY@}Ih8!>`7+UzH5YUHsIwFVk zQUWyPOlZ*UFent1B+3NauG2scKNM-HL>M7AcX?^R?3gKjbnvT6{OytxI= z^PczARG#wZtXtXwAC9VLso$Atwkj+|0GWKN{LZQ5uilU>TPhKmTNW^M2xm@75EBvQ zt_=9QWN9k6iGf&71{6@UqKoK)P$TDZ-X?->*Sw;^taW~vKE`Mu@2QT<@ndX@HD*25 zdsN|xp@%hQ%a2Xz52rL{Tm!6tZ;RVLtDbHm$2#ITg?89IuC`6MhKIlBd?|drh_z!9 zZ^*hio9IP9z}luI(1jh$(DF!r9Jo>vt_w%a7YE-UNH$HS^9E#!_Dz$$G5+N$+0}~q zN;4VEB+bd%Mt&lzxk-Qn|6pFbNt#6SW@&g+;(YF)ymDZ|9Iith4bmb`2j7){KII7P zbTWJ-8#L{ZT8!UHQe?lS8g2XU`X-aJ4Xd!a>vj6)@9il?CC8`XL6ka^(M@L!G2WT# z^J@I#fVdEENY}sCeVf-(%PLJ5Be7xxE%^h9TO#TGocA}==zd4LXy(RVv-acW8seT+ zh3J*gUQZTdH}mxnI%5Wg*&?8#g7tA z1h>nxfO54y%vcS%Fvzj@%3zyk*ir+=l4u#(?Xt4E)MC8O!^r4{8*t0_o9LZ+0MP==JgU7h?_Z6NuaY?)Mc3#O{Co z{MdfJ_uroV=D+;V-(5p(=Q9$QUjML=Ec9Eo*`G^Pt6Z?T0e{< zFoa7CY3VLt4(F@^%j~!4Eq`J5yK!qvt+>;FJl>`+`k_=#8COZu!nCLkb~wAgWFE_I z#RlCJFk%)k=DackWyKE5+JWZTd#}rmktwE47_sL`Wh!w)cM`q&R+shThS0`Rrynwx zXEg?o`z(OFNe$AT=4kGPnj89XY&Q$`CnU^b^=^5jdXrMhC7((PLwPf)uYdK1FeebR zA1a7c71XmNlCI#!oIj>_dHp>7B^&M9jwsYKWxU!i4Eg)qbF6aRFRzaS?PlQ%!hCmAmkr-nt&s9t+`47|#@o42B|S`b5^a7V5GiweS@hcUJ4`_ApKW;VP^6Zj zRGi+lG1#I%j!B-y>-EmOqs%{?tyRLT3^Erzs3<_j7GSniF;V{V`Z|6s;7DUu*AZ|Y zk?5w2!3EHIV(vG>3BViy7YC&rtiFxA;0q?_pF=g*AugeDNA=h7jOd(AZWM26naG6f z@sc1cmE}t5vH?9w_(FO%gMZow@b>2q6#mfue3TWrM0-dfhm%0;{XW)T%X{X`kyj1L zWj$^B)o#Qm%oDm+p2e&{O+~4Cr8oKf2zRJlbt5VIoh5QuF`r5&uK{o7@*ijf;)i#2 zElgLHymfS0fl98pWMoVBZ=}yHjW}NAdCp(;6Np zCW|w^Nh@umSi;cbKXZXZtR0;EM5lX+wlarVM4YaMx;|E%#IG|*FKHL`A!$^yiS%Nh zkpJxcMX2nyNiq~uQY)s~0K^7CatO(T^m;Ft$~HYTSg6yL)QX}LF3o*|m0n$kt{ApH zem{1qhh`W%-qBBK`+am;M#Et=QG=Fbu4oKf8I_Dw-M)LOLJeB})*e9m1euDS1ioLB zeLVOgcDZGKaEn~7Hmow!7DGf*@+CO`L4Vte1_b1lYt&F%;x|hA&x49p==*;@#@Uzs0JlPf;Ew+-EyY@EQ-h8GFMP(V{}G1q zt6n|aljKlQ`9CBCy9V6a;z{VJY0J*)PB3)M+=HMqR@&`VDf&?#C1>W_hXKqV5gBi@ zok`T&i@zo=;@XHO(|Ub|Oa_U)H3jt2+cts`xg82af1lfpWEnowNe7-1fKM4M@bE|) zR9$hmpCoJz<5`d$wgX|ZGd_7lxGb0NfBcb{K)cVv&i6i~SNYZ0j}j%u)1NRSEY(ZJ zCH^8OJ;cq;(8tY9aaeOcx-KX_DjVkFrPD{umU#CA4Yi)FDz(oF(~w=6E-HBqT)9Sm z$`;$Eth2@<{b%cuW!BMwouriP#_u#IhyIGBtH>FsHY` z%P1xnCd-Yn@>q{p)o4U>6x#~av~Iw?Z7s1?dDtpecnrx96ty>_s`%m@ zz7%;0pkJxBuv|kf4uMX(3J#>iJqE z3=Ab(!#r|qpIa~0I(Wgr^9wbhU)Qej`Z>N_rfRW>mR^P#GumTzaOWXg?kS9ewYXeos)Qx>w`VZ zv>|(K=F{x+TIwcWST{g(JF#Q@F! zp>)^Et9t3PZsNumk7&OT1zG0-O8`zODCW2VNUgkaPIz4~;5 z`KYC#6Cw_FYDM;4J(sK0f(<67%M(U58!%kY>KkYTnfRr=xc7H;i)>*TLo zb6Ah^k1$M)lkX8}L>Tc6e-048;OTsi8XPl&Qgj&vsUY=+?&ZtK=GZWPFl&fM!(}ys zyiASLkx+y{g&K9k@o5Ru!qFWiGv+mM%0%rsbe2VU;>|e>!H1bM+MAI^n~BBI$ofk- zqlX>Li|Y^D&@g?RA}?$vm@;(%W+)oZp&Qozd#i)NJT^p(ar)(cdUpVRrd@+cxm!KVg`4?sMv3dG5eO=EEn$;pS=7ybEvG+kqGsKL&zZQHhO+qP}nwr$(C zZJye0Pkrk4>%Dirnat$fUpqVVCfR+GCy@sm2NC2|Q2Nr-HVsz1SEN1jg=sw~+nDZz7eKcFB1QecDCJgLyX=<875 z9#0@Tzie~W0n0OQ*@j=C!nl&rP&$+B=sJcuKgfdAmd~NaO~-wq{+mI)P}@PSBX5?@ z5GCFLR>P3gap*q{_lc%zk99NlZ>YDZ+QCW|IV$(Vup$*`2RmVS{)p4nSELLco=1l9 z&R>dVq>ZSdx*7rYz4k|d4w#3Sk%&cuBd*~jcfdvQ2f!2!e{H=(>?^Nb6V`fjg@vjL zah(RIR^)|M`E7rE)o`1kv2V-3KLw|#FDO~btAT0$i7u#!tIUNvJOPB#BX5x#;>O)R z()^MH`wE)o*7{#g>}A^6Qn>fMB^K}IkV9z*%sO}MspXBX@*w`4WM0R=n42af7l1pm zj(NDVFx~;3#G!5@HO(lucpZkb;kVFQ2EYWB?p|CoP*Hs+4B>mOWOaboo=JwN^z$Wc ze8~EJ3FOuaQTiJ!cT0{xNLGKUjA0km&8o3@)KTGfLVOsQ{;7<9OvG0FJvllPe`X!s zy~|3yl3~uIWu$eZ3T~eJ;}bu)LDgN6C<>Vtm%TRiMN!$D8j6EXup%4}EwM5H)|L#B z&|FpMQTa@tp#@_YMR9Kswo%!PXmv5y9FZYB&cu~Hu68wG(fksBE?;UyS{2((wdSRB z`7FT(A*M^Wv+9u|YN65y#>29p1^#VkORIAbDz6m3WS6{lr0$LCr#t^uZ`n!_c|;Lb@cJ*Tb)`cJ@u-p>17J*8)2LRYSL&CI5PiiGdWzb zB2$1R8lxV83BWA(oqD}NskFE+DdeTa6G94EN1=g*NIn#=BNY+PhO`xk#QCXr)RJ3# zEDGi~Q`aJWrdL+D%J0Z5uE)D2zUH4p9_%||#7Rm&k8|ew-mX%2x&dRE{!_~ZWKDEY z=~sSj_UMNP!?+CuZ}O8i&SF!0RIHWvbWh`Q_5@m|uQ~eq;Jm!squ5gU&w*QLYG1yVLw4)o-MViRj-)vpL{W-2RLe=c*_HZS6b_8kZ)}8zJ zc6K#II?1%1qhn&wBjREtK<%^y78t%`g8EkEz@G3V!k^Jm%loBZMbzsk=(<@XYPB4y)`XXHnF z)$_!oyurCof~WMNq({%$Y=QkE01nZw7soA#Gx_83AgFk~0P`epP-V!Z#wyU<*Y3<2 zx?$1`mLlbutco@U336uA2y0K?$|N|uExQi@ci)Tq12(W4u*ujSB^lB& zQi$VtxCDSraL9)S4NSpB6JDOe*sUm^u3C6nYXV4IpD4UlnIH}nB2%6@uUsH3FmZSLY4He$n^gRmZak0iXgqF5x$uINnm;a@#_>LkxJdF?;gag?T z3@+|0+z7Uj6E{i^qx!h}j9n2<5zaYu-R8BaKSACelU`(ma20BMS~nYSKwR_&B|Vk& zTt@Xc>0j|ST*8^^|F$O1CflMuh=u{`=L>)uxeoTi3enHHP31_(K4M{EG$6UH{ zqQgHfUBOAiegQo|Po95=uU*+~u>Mza7SoJwQvYdH9sw?@er7#4D7PucRO6ijgj~=Y2olaHx%gfF; zgud-mnT)3gRsS{Gnv)mk9sK~YmlS;$BNOOu$68vwRm5|ni@CshS4!@&w$#7dl8Oz$ zQYuxo%%&&pRazD=#QMYGLOxs&O&@5YNuaReg;3hP5{H1pa@G=CdC-S#>LKl`51LFjf%cX^i_VUQ_zao zOS?y27tQhYg`?yhrw!{dv zodcg?Vt{+iz>^p*WYuNRg9*jsyL=^i1MEfGqmq2^rd?32%%SVLu5To6lt4C8cCnS- zEmh*$nF~sJOFB~M+!MxBAE#%l&i+QO@5R{5a#N`A?h^k)nju#`rAdlk_%1>6Y@)dD z%t@AqVI$L=+-P;iB+55Xa`QE3F3p(wc7wL3bL+II+|?kZ3{fkd+Y$d* zxBtKs9fLcU?C@OvVxnTEkBD;ExuxEH1M2HujmosZ|~Bb523DoM@cJQSK{idE%zs zKI;5|PeQJCyxG2?T)r(7r1(~;bax|3FWLu=0#%MWFTX~7lNkkXUc ze=_@F?&J1|dP$1~KNYyT>MWvv69M<}R0fe}j>Ajw4S*?hyMZN;SMIHh&U^Q%QZKWQ z{>;bOczl<<@eqB7Q@*Q<0FaLVcyO0Gow(~Ys_fKyq#n}s{>)OV<{kO}dUBkf|B3K_ zmj5q(gx}&a@fIKoq2d5HeN?FTf7_K#1|D$`1!%htI!FG_KCq1B<#WJ6K%veJUtF^7 zlFaIWD`(`(GGQ-)QSETVO`^TlP9TQxW9rM>1LM|^;Y~NB4~REFs7?s~QwWQ$pG?~y zk=o+Aq;(Y+HbR@9=wg;^yv*W!3oodezjkag0h04LNs_t-*%~m&(==s zMBwl9EIuvlVa3Dex9ah{W&gfBHhpw-lpc2m21$KBJ9tA|iQCV`x_>_lSP}JD3OqQ+ z)o2LQq`0+2&&dv89U(%oTX*Qqlp!(?2W|Tu6tVOsuh;k5`R0_|_t72*sxOwtxLzRlG0D4MT=^%X&R`Y}+F320wL+{7q-&q8O*ApgfkSpnYK6b0{)|g*_e$R{9t| zBS?qlH!~%ut5HeLLgq>CQkEH&s_?yH$+2Ya=xegb#+0m_LEesTi@4WAaY%*mCgGHU zm2P|93;pu&U;+xma7LDfVpYa~xX;Xc!>T=QM>p$jLN4aEoNtA)RV%l%^ek=7NQdTD z#+kaYgj%x6TO+j~Ap=J-Gi@uDVn{9i!eNZ`SY_HsE5add;K&#EsVzELtH>C`OQ~)s zER@Cxm>)Z0XIE^}6-UrNwkIM7y#QKRP|F-O}#ISZjg}(fr>Oq%^9PaGr>hG6AN~FFJB8I$E#EDa7BbvIPvInBt+JgKzKb@tz=Y{DRmM5zjC6P7_PF!(^CHafb2;B&` z1Vp0SEGE;)0F2_8Q`D7lNf|=w#4wd-e*19D9F6^&V{U#z8cQ3KK1j0kdY$s$T?*%r`lKk(<`nN>{7+;>BdF5CX@ z6&dxT(KVeld{x)dHyx&hdXFJQNnRd_`Kz)tWNKvCG0((e5i{4i^i$=buRkg^lEfzk zE8^-;hN}}4?;*a;wAOtVky=T$@seY$_4-yU0{l}dDcw?BNNXTN<$|10S{zsvuZvaO%lfx{BgHmjG37%wuk zCnxr6i|=D-yxJja1|XcJh4Y4w2m#88-|{NvSo8(Pou6eka^>K=|nPklNj*dp+LjsR#nop?9T_tA=gG(X83{EyA zL$8O4{TPwasFj0o5L!>711D+Z28iqfn>$6E$LcN)He~7;NA&`HF2Ol*dNEj2@P0m+ zz~bqF800~VVi+@lFQyEh6#IlqEHOe1niSDx89D(jf#HgAdiX)LqFn?@zoY&Nt3A~H zcue`v$Ee^EOTy9v5RrDMX@p}oT-o^!9!>Q?$1cJ;mT|%zD2!VPdaPW?GcRFnImY7X z3BgI!kgG_s6)0=K+D4{H=RC_44iN28;v!|?VL~-XE)k|wh(zLL6Kn8;%JyfS6{>lw zOlZz_Y#I;5y~OcPM&1yeSnuoa5ABi}sffWqNp6Bfu)RrJ8QKtLuhYxXI}KJil>s_g zG)%#g5p8c^Yu;=)bZ9%EVum}OA@i>T8yHPbFwBIW;uH~N!*}BV|A8TgA?1w8r3awd zp}Z9>4@Zhd-ep^av^kMAXB|J7FwNRRpu{JiOVDg7!QvT_la2ema?qyh31^j!odHP_Usm>Z0Aj)PAV1jgq`oSZOTG zOIKu`K<^?Qj#>Bv<$6RBkD(&+^xr#e?}by@GY4ObZC@K@ZgKQKqK85gXgDsR9*T6e z)B~!fBQ-#qH+NJFE`rkx=sRO;fROTK8j%_)rhLysjk=+LY~Uq;mDpq2R;DIMr9PlQb#t4x%Tn>b0B3YlZYc`(o7KAtx)J96HL z6>n7K;y!~j)L$-Gu4SJ~4adT|(9}s~2oiP+#nUU>=E)x7;6_#-%m#5v-ebpES6fKO zec&SMBoxWo6q2G79Wk*%^VB-E$6kPGs>=ZfKKYYtMal9FmPkXP zX>3l_$mLbd*QSTJW-Tf&EuQr3S7HMH!w6cfE}c}pbwp={ae5EN#&zi#1WXJr%F4^~mBNl___2>WlhM*FAygGY>?pJLpf&*rrs{TS2xG}4lbry^ zae}8lY)weaa~N#9^P$uI`3?jzzN9^C^ea)h6Vc2u!b{)NZs5=-`ho64np2Fw2hlwO zYBxX?)KSLLk>KTN_8e#v8k?Rl2a0uW&0>I`L3{i2w_m&;^RZBI@6z5MVT+ce0~&+W zi=2b&pW_3sE+4>EKux#4U<=)CwL|X^PCq(GRzzTm@Pv9xYXvj58m~c|#j1bsDQw{2 zWW@HX`_o!G0NPhZHH5o>QafS7139yTd!Ifc^b`E2RuT_)e=J>A$(m@onKu{B@#Gxe z1$eth=Od*T!9z*A(5F*p26=e1LuB9Z5mpVv;Hf8luajeXLbIN&@zsg@C&Uc^uRb8T zzJO{Y*0jO9m7FndhW<^<2CtJVb6oczk>(fb`LNIgD<~dS$x>zD!d3q^T=~;@KkV6e z3qaVxjeC8&LY-an8iyTP+KY6l@j_S}ZGmWiz!>F3gl+sF^!5$QKcEMfoz_M`=$Z@- zLr`EcJ-(hsN3s4`;LElW%o~l#=m4+pFqOjdP9Le^#{Fb=PIe%%{n*G1i`A?h9TGMZ$ z`G@*{921S@zj-$2Y)>i3$~1}wxw+^7lsbU#Lx~NbfXRb&Rsz2T5Crs=6$0`RflrM? zwH#98*2w1c92Y}cJA4Y1ePkwr{NIK^w#2`o?TaIxIc0$-iRgQzWX$(GKCl8~1J%R)4UTKx57bxa&JOf9?7AA(G*-KPX)ej{ON$*Cl z!iY5I8Y~$@(Z6G^)beE=e;G!TGf)dWe2s0;`L`)6JS^2K7EP)rFvcRmpcKRkexasO zFCN$&p%+SiL%<>Xn7j&upVJB7L-g1pi1fSVbe0YWXyhF+XRv)qBJw#t_3e%yh`Wiw zILlRc*S(yJ9*PG@)X;epOerjU9Y?Cf^m>v0 zouu)38w^fqM82Zt_pes57%i~vr$hnvErD^Ji)vS1?GKvLU~hzC*) z=UJ2tPRI*;D1L|dA$|su;t)pNUD5`4>)&g7C$s7)L&kSM^ zE^1U`U=4`m2UzS~`_YQM{e=7*ED*ff6P%?^d#md3f+~-1SV;C%-L*TSJoOZn9A8xz+cbCS{Eeh2RW|>o*oq>S zy_QlbQww+%S=2i)dI5KJhZyB<6Ms<`X zk|%qnZqdzUEnVR>_&067Hog%eyt9j`4`RbQOqy^@xxq`FPs8yous=$K3D)>HFK_`T z?!7sF_rhl@7fWS8l{?m~@_xpT&C>|3#vfj+Pw%T^-F9a;t=pX3Cs5Ks)tsc*P+}@Z zC49kbZhS%U_kzVK?5k$2`j^IKTa18IyT{;XLL-RC)yw|8+z0&I!Xp>B9}*xTOzgZ@ z$f+%!Ft6x61MABI^jzfc?k$_Z=Rr8!R&ElQjes!H1uRXX%mI`UJ=MQ3jhG%(1!*%z|Nj>A~Y$Ru8STlVxz%l4E27Gxi{^h`nk3iAkfVn(N+463% z8T8AE6D#JE`m6wLNqW-t5y6qt8Jsnz!5c0J@0+qN+AHJ)UC7))#l?Fw<_7}XY~kzG zEU;vMSrQKAW-CrST6z)C@*xd;k29(GV| za#h^LZY_Jm5-|!7;_VG?wek=a=D7P8jf(xjz-Znl?4}}nFuNaUmY!1I{aaA&;<{4Y z4ZVUfWl7~i7?qvymYTM=J~sftF@6GpCpEzBd=D{bmbXhG)9+WlWV05IN2yXzRO}XJ zeqt2fm{S(fr$#>+*_fMttbhnwiL?x^_X6rPfNJH%u}tCO0%$T>d2w11 zgq&CEx~9KVqonXn7F>DEBwgdhandN6pfi^hrB!~6{)y{azK%_$NSmI{g=neT3L%jw z526@L7Ei9n%7uDUN=#*zv<6zyB$F~C2Wv5hXwccL3mE;86ycG0ni?jFUn@-+9B3^}y6&Qm!h$<&Gu zGJ{l#Vnp7R6SUrm>X@IDP9FW)`uu5eKX63VgRHq}6xm3^GQLvtl2T0HYa<4;r%zSA z`T==FJTL9F-&?v#Qkno_;qw(fNUF$aB(~GgnP=!Cd3wUBvlg=)#x8k!kBv$4Xqlmd zms#W`L{Z<|R@KunQLlH5glu@8bO~G2BvEfO)DVqg?(l|)Rr!+(QL1m2b$A>@Cs4d7Ll@bB0a&fe^7!Qi-PSS%=SAYr^TP@!C8yM zB(m72`|!b!MWN!_Wsp`MlG#(2max+s+l-{sd&ha%XkE{ED!j5%aruRHiZG{K;63-2 z6hwQpQraLf)<+ETRs_$pNgAn514&Jl@PAg;iVt?Nnkz?9jc5r1+wj5-NS3RoDZ$-a zn9)@R3`$;Z)I0lhpn@jPi7JV@?52I5iAyO82C6lif5W?n_hQ5WZBJZGd%+zP(x1aZ zKu^5cnrPIkaMA|zKIgHG9FO)Xvsn{Xa0TU$Iu4#n*@Dt{_TQP127mE()5Va6H0awL z-)-e=y4~5yY;G*iXEma&@uxR&7ZZ1PC@GpyyG>LxH z#SE6*X;Ksy)>3gAOIqc$^{hT&6snd^!}h3gch)XmcjR>_f6oY<}~;iI6wn~dNC2mauOp-wLP zSw8T8_P?X(VUeL!(i1jUWiC|=gAncAl-jt@ljy64)C8F<$Df)R&Iw<=zIsMbbZYWN zS{~1>9>5ne!O}DQ=o0W=)upi(!!T+d?o{+L>=2bSUJ}O&Xz?y~Mig#~z8cN_b&~Mv zX`2WD{jXj8Z!S(m;d!@)J7_cwkZI*mfrB>W4*xXOs3@0Ry0mS$CRIrROTY_ya2t8t zA)@;Q&WerDcL|x#+C+cpyhE#S*6L2SO@^(lv}p!^4RNZHK9Hn=?8;PA%Iu=VKL&M) zBrastqDBg3LIU6Fs(2&`;@~Pb6DHq3H5ZHfiK4>~mmo?wJz=0zZB~H3NQWBb?S~}f zR%03jL@EZ2T&3AI%E2o;R93fm7(W~?2nY00cm)FV7PFL956^lQaisJ&o=fyhCQ~;M z85OQ5P6Rmk9d8pvc^l&9XzbPpBiDt3a2QAC160r8An%Wm(1>p{+|N)!PGz8xu8KI5 zkOY*0EPsJYqMVSvWhE7-x?y!#0OkVF)J7g*#vp5Hu9pR*uUAXP(#bO*Ta(GdBLh5Z z>LvjkQ)&U}WI?JM5sxQVf-soInP7svDTPVov%fQmi^j(EfC}RR*cj9CrUaTf3E00S zCWe}_tp>n#vG~IqyJ;I4Z53FiP2KqEr0^i1I5U)If@Sor{NN-M#-9!LgIq5zl_5tjA(2rRY!$mJ#w(U>ONLN5$CGxK|IOPTsqZ>{ zj$c!m%XPO383Tq%Tl$dMSWQkJyf{vOMw;tf1kiloR_f8^`c;ljv43&p%HNBqq^+~v zf^R8$ZmGbxdkT*xgHY1pBwuW?SKZO!qxcxJ#XP&Q3`2XBs)x!aBYaC_0TO^}1rW@d zbB*QpKygoJ{=u3tBrBB9=S$QI&VRGV!(W%1%M#y<7N!#&w9sh@9cO((_3sQBDsrxP z7acu3Zhg!PqEEl7qbi&IX0 znt$`pJAO=l`1!mk`+38j`hJv8{5-?wdzs(!z05zG;h)d+&tv`>$@DLA1t5D=^vlm( zu@-+W%Q^$o>VK2;R0a@pr@pj?4?a6WumMkxzeh&B9}!i@C3VNLCOT^~P7b zsA%~9VJ$yepZ4PNU_?ZWK4nIfW{ycpH>9-yL(zza(g4N(hnI|fso3mM(H6%tzGPv8 zC-cKYpVc)Z>u+S8OCp4BxBCSx_#M69*217>m@#UwIj`Ta{=;5aGF&F&H^XOLzqyUk zvBylkV2Bx)zwq~m|1h9&>F|1n92T>o^)Al=dUvUx%PH83ei(c6@8g(76LvWX zunzqwk+vM(*Hid$D75Xx*&izecwxPNvl&j&$7}iD06e&ddq-?k{}4Bc8M4L$2dCiM zFL`(0k}U&7eQjI1g-4@0@Sy3GLJOpw*`<1p{HRnHtFe4lCiz&VPJ}(<)WC6U5dB>b z+#pbyr^IG}?$CiG4oTpFlottMDttPsETl?<$yt#Pto^$+b%S!VQu0&FKYp5sjPUQz zh=_3*jahVm9cU5-rK`3)Gb~5&ah#Ki2%!0ebMVzF6PLZU1c-6~v4D%#HVTv~O;veI zEj@bR&&DRPSVK&XZavaNup*Vqqu7!P^B0yk>wvXR%_b258sdBy7wttFBGdKXx9DRy zVM7HzNQQ3{PKdu}(Si$38KBh zRJXG+x0{Y7%QOemS6t^IRj9cn+T*sovgX+i&DXx!pvYW^OEoC6GBp8!O#*3qaRED4TePDSE(5bJeH?2MOzj5j80WmLFUJ%{F=v#I z1JD8otQukL8v%?0IqfD7pYy4qsiG?Gx9!zWQgi(2( zNK<_=Y&>!hlkbBuhZ1_)1PxU|OjJLON`{)=ALhkpF?)s`{7~|&$h0ZT zHjdZtVfcG$h-bs=+}dMZ&_CJafzcl{Z+U52$)vPrCVTajQ)ooe4hryr)2Zl=NQn|8 zyrF4~W9g)%mm7W7>loVNpkP(g!nwD-N1=~NJo$Br>Q;d{-J)RNftlg?gc|Li>P5JaXhuxpt?5nlF?vPDra$yJGdb43P} z=(gfGd0NxGxK5JBf=gGIsSQakts!oRQVUA88O-YTaV?7XcOc@KbCXT&oK?CD?nv^9 zHPOi-XNh79W3dY1L!8t%j`SdJETxUeb+Swg9Md3*TVU`s8X?_83+SirZpA>dwEV`l z1X_L{{9#hQB$H+U6i<0+dMRDcak^(SmVAAX53oh-`{b9G%#n{}2e{E`ScZph_Fm4zft> zeix(>44y1PYETQL(SHwLnf!>AT|9}@a#N~>W9?QYrydA6SFr)5EMf_8eB=7wDTM2! zDoLr*_R^zP5o9G*c&IvsR@gLz6e3mM)3$a|8A@f_M;@)bQ`!!pRDO(72r@xYQG(hi zS^vP*FHcLw31t{7s&a%%GsI-k*}H&5!X8ZJdQ%nms=K@YUP($eYFe`)qX5KV;|+yH z`m!bjGvSVbvUDjX{7F^+_;HM`KtV`ljf8u3K=W;CG4E`H0nWvY)wXD2*O1t_RnN<-ZSLv!0?;=&0YbI#< zq%z3FqGmo^+6|RcI6AeJUojtV5fxI6QNng^r_`{&S+tp?y@XC1x%7 zk*2nRlr@+(gFcPFH=uX|>C<);RF@k%NqQk^;QWqB5gYvyNe6sl%lhL9NIeK=9YPyE z!bBM&+CjF+Zjh>hiLsZ(_lVaolifNgnbNnJ#Z>D`v??sLF0m3(_!6Zmv_`v%szGLs zLc#q(%KkC!-A8|tZ)&)De6h^oSxd+s*|%?vNQuMWm1hIm=3vkT{7S&ny*2-v4~&$J zQ}a>`r}bm305G_I&=`bRTXzbJ%O zXZ9*2uSP44B!}50SVU_APj%INuK*_b`PxXp#@x1M7*)6~$;5wHJn_Jd zspcHODiJ-!X7aS!zpt^)SNbEDBGD$dDoJoql{<>VX^NRUPznG~@7z3{ibI1_EJLX? z_Ml3k5$)7Wk3@CNFG{AOGi7B6$sFU>$}A~zO+FMkq=W)%sffNw z>m0r}4&vMe*|a3Dly%m+^W&s(WXP;#MQOzlvfiny8vf2dDaq55LCf%*-6G~mGH7`~ z^OhH;lt3zar?Xa{284RDW_@eI7x#Zz`&j&dwwLIQZOqe42!Nsym;RQ8gui8^m+Oa) znEzR)5l9*SJJ%X6W;feJ9EL^>SBm1=h}i$1J$z>hd|LcoNElV?Tk_;o3m69-n3?r2N--AapQ{o8Z z#+$@SoHo(28C1FK7{wfP0+@7FT^4`wj|+Je^_(2DSap3lBV*@_YM1TrPl!0~N7Jq< za(=Jmb&fB|qne}w^4WlD^Cw9>PuT~{FauC&%;@JO+TbRjBzM(k^JwhY>Ee-DX5vy5 zcad+!Lou4}4$lk8LotNv4$>-qsqHk;oD@bX%{eP8%4pODO3vAU|2emV|2a2$8cxSG zEcE6qqv=zfHOtPODI^kiis}_r^`<8}dxx(lrs(DfQfZki$(lvb3OcTme{P-+g-#FUQk?Hnb^>y zA;1orjI^AQ|M%ItOU+)PTmTt@LUF37+M zDz6++lN9q1qDsHfE9(np!wQmq9eRBx;Ub|f)~U#YHAJJ&EHNyAHKC{4kKYn;xH+_} zvCPqE@i;VEhG{k_beK9iwSy+w@Z>+1nWq=QQ+$c_HtMOKTl5>h60yKhfubX;n-1q6 zp^EvfYjX}&+DL(ErJ(T=LR6iW2yI1JpK0j?b@8>~ZKrP^#6ta&SS-PIS%y$5y^^_Y zWawnwOBbS!MJUk*7u7v;pYuuBvb;D-;mE?;E{>NXVuh%UkV`d2#QuY4`j`Fj7&~2A zie~01M<|lvX{F&zqFm~*NH^gOAv8!mR-V?J^2`;Rv5LAjp}ZkoK#4(Wa;z0RkkF;|@#_G!L-UK~EFTj>w-Yt+aK2Og@YV%XY+f%ZLxw3X^F@&h9<$2zr^hVC7cS*OO&TfD z>pR3|b9EjgDhHjqtSF&W{^y^(lK20|&}VHlJ1Kmk1a;Oa9J`&R9M0In;arhYl*jR3 zkk@}GhBkC!EtvdWZX}A*yNA|VvqcnL@6dP&Bf)~q7J`ww1`|bTwI%q+Q}6KdRl`jz92a~tYlGsq z&Pa?lepDwe*h3$EuVk}K`(Tnmj{L)v(X+8V!seX;Vt;;87%ETu&Yr!z1%a$Z=L9My zUf`@F*?S?2Q-lNmO)qG8=dR%;!-+?4;lO!co4^`v!d1W|_E^ zC$g#)>>ARElIkrA_3aa9{a&M0uOpZIKp+VgpTb3Kidr&8V~r6aLZSW`Q%)FWsJ9et z!Wpf8BspOBT(}`(`ET0$oNbiH)4<;$nI2=GS^jf?y(xv>{_HM9S3%oi?=ZGE{5N~! zZ>yGq&TBoz=3rw0qzAU+7oIlt?dWtm}P4{yOD!;M|>Tpc69&KLnws>MXZd@%Xob< zakWl@s4Xo_TBw?|K!ce^vXV=p!kYN&Q)Gijna(6Mx+OKNHZdTr?Q2C&wkeQ`+WTma zxAB?E(kT>3=R;%Cw&BuX;Fuodiu(Moaf99+W6xG-wXjOs9A+mvG$#Ud#+Iuyb5Zae znC?Y8Tj0rK5|H$GPDhMMV6{N1xilQYlE!ey_APv{WrV%z)`p0u>ARpDx$1Nkc<*)X zNl3oD9x){SjhR>NU85};oVnE$Q7m$WS#sqJk}p2cemEj7SrKm1d5j0<_tU(hX_dh| z1RrnCXgI!mfyevZ_XA`s73*6!GjTLY13KKY2Bx%Ck=&BH8W5Npo!N+NW6&6#qR&>@ zX03V7R)K7d;b)r6^`)%A@>|#Fx;PX4m*9BrVS|>$*>tTFMYr6}* zH#!lXvdlQ`J}Z8RBxSMo9W9>Q}=OC9mP!O5<`A@^}wqvvC5P$?wDU z9zi!RN)=0ms{cpdHhF1Ij*9f9$H~y%{U`M6i;ePDdsQtsIMPI@owY1;C`$Wb1f3N3 zb?R^z1NtlEp@-#!aP(HCUnwY#ydd>NFqGc<*zg2pHsaEBp-xKD_TeV=lg#HiE>v9E zNiXN#Lh2M2*k>QfVa^n%ZkwLG`M~@tqfIo8-2kahZJ7}6+~mSPjJ27+GdEPass9H$ zQx`GghURlJ1mtDVVYI-2Nsa_d-_AfQs2j>ckD+`{!fTRq+9aY9@(kS(UG+U7V_lmZ2aA@IVEsIz~+YmXT(e#2N-o+)!k->gBzOorkSzi~2cYSd9C z@Mdj$u^?gC_mxqBS_^LLf4inCZurz?BCZlgCn)M6;Y$Mb3(QU%rNu9R;2n?iGAj}ssd3uWmNESt zHZs&$G}t;7ONmaErF+G4Oe&k&^3ysA@@kY7i^D{fmAIhl6UJB^Rmdq#q9sk7r}94( zl#|FxiI?-IY(h$Ifhs0&7nNSvq|ZIQJOlgSUc**%EwpZXh^kA65CyB^=7e|rOrVZr zbC<==gh!{TJB;mh9AC#-tAgoK5ZuzH&x@s|LOZG(o-VD`mJB@I!gRdxhbeKZ-Dy!V zJ_w;FIB0fluEp3&;@lOk4zwqOo2mgru^cz~Xwy7vd1%W{HXn=??}5iC9bU#fN-R$v z(?<$_@q&x;TqS6sNoV+J(@+lc{7!|1B?TS!xULFao)jZTE6cLi2G31Pi$Z$Jh(Xt2Kj(6z+sdL9(cgd+zO zb7X;FQ1TI1YFHX`1Ilda$py5?Tq75z&Lsd;dWsr{S1l!T%}5n?s<+r%*p+aucl7p$<2MTmv|Uo+4Qb?P#`mLi^jl0GFa>V=Q2;Ej*4#yga*XE{EM{yS{)#EU(E^e=$T z;pypVe~UP{$Wr_#?md*M5*3=e9_ovpCm!Wr-0Kv0DsL0VmrR!1vtxZW$8=kt=w&w~ zz7XtlMt=zChA|;z7J*<_KZP!WddapFa#Xw6i$X{NNU;scJQ({kdxu*Rc|LIXPizM; zk|1_kf2651iZqsQtmIuYa?UqPzzfsB6h^TD>Gud{$bTlRc>$BZyfNbo_rUv*I>qI9`iq5b=jaLyUB z@-UU4k9(%8z`>0Utr@$?@r^^~7^r;EtwZa^P(rNaRpJ6Q)`$gPvFUQol3KD;4<8K-3YpaTYsq4bLZ0}%@geu4AEUz}fTzONS* zfe&X7jwaxzdg9Az% z{79!hG=KRg&986xGw?oddL&v7c&{9ws2Ot!h z`(OpY{JknWMj)$R4E+Wgn%z^)P=MI+tXec-^e({M=O{4P)lLxP8 zDjUJV;YfJq`%nbs$z#x|lw%@~z|AY4r7pzXs~ zmas*3G=5t)k4eahRK!*q^opuiVwa{kVH$3-5K=%Iz8)wajBG=NkOu|r0w4`+InEqi z+Wv($kwgK`$H<=o)k%E6ytzJ^pheas-u;Yh-xNq>LOcR2IW=MmQX-Bagtv{HF*OGi z<%7v9P`>x}`A>JlMlbC@$E-CPu2cCBVxK@%SaS{!M(1iH-1M*Js|7!OJH)+m)jy4E zwn(pjn>Rid>{+l*ui2q1{@>=c;0l>AmANeYKYIyckIRI!lP)}X0 z$$s4%)5-rNzs_qG`8>gy!<+dyFPS& zeqz(MtX|{`1eSsxtd3jOZrZQR#aro=IC-z~+`MFiRxMk+pNq9VIyNW(-jFFWSom4w z-%DQl++0j5^}>@ZUc5_oIWOF|25if>h{I*~+ub}?Oi1%S!BV|E4Ot5HTJ7vTP~Z}5S$}_E4h%{!Rp74g3bHm=1t93BBeF<;)ok&I{S~C@ zZ64O^-{HSvpX`<^UliW#HG2{6-o5?;ypQMNrRr37i*x%8iIKf3{B9JX_$fl3gzh` zzK!vJbiHGYCSBOBJ>Ao`r)}G|ZQHhO+qOAv+wN)mZre7#e%|ctyvdiHR8s3lB`c{P zE0wE`<2?7GyrBk$>axS-UzISN#VF>%iUjB%jvZSb$b#q}iuO({n6cq7$R1z;<`APq z-p})BY=f!=7gTI8vOeLLvb-*xo5lk}*fSad4e&7E5_1*u| zv`|}T&EStgmUz<~m^RyNcltN|jxa1IW6xH-&%^Gg2#_XrJi})IY|y8|y+_p3maln_ z?r*(CLqh-V8R%tVt8%i%uO@O5i%{zfz^rEc8sNU3w{0?}4!fi(v6%hCy1_l$C%{|0 z$Ap$|5&7agBYON3jiZ_cVv5ZY90jg)fu5`fM*K#P%1_Z>0d>SCTT-t^9~jQ+JF8Bf zJbg+cXozFJ0Q}f!8C}kiJHxua85VU}yOBWjBQ8vm!|osf1T3~2n#r7fWQgLqFj1JB* z4nZ=CMPZ!yXh`}tkk1I$Oe3#S4c83x)ja0n;F<=dfkw5q?jI*W0yA(ka&3qX@o0lJ zE`PEnn-gkXyhwv+vATo+3#YgZ4=EY8 zfxU`a!q%Z^{LObOtEpmrcGAfQ0LxapBX%mx-W7smu;aX`qU@COJ zGOnrB&@N*0wz{e?qRt%oEz4t#?o`ep*^Yc2qa1dB3*;=J?in;Nh++QNxCMxASb(^8L(y4t7#b#T_Nt01<#8DbUTu8TS%nG<~>)U3#!NS++YU*K3! zgG9qg4tC~rR2Z8x&&u|Y`LC#J@!ULvSJfiZCxOUfijb_qJAHwQ{A*+9*T3<;%EpLS zXU3xdAnp<1+JAzZJV5)$df=|*iZCJ4>j4wLoSCtFd4ox;&A}^vjZw%gTZgRzh0|IV z?uY@s=^d`1aB}kXB&&bg(mSesA;1hC7b_;K*mp7SukG05J7)5Q%&gm>E})bwt%*^Y zHax98OAu=?ugAd9^nuRqPfBY?&4xt4FAfLo#`NBVNzIl{E-k4b)Fjl!I%|JdMOkwz zL#qFXe3cntkFG&80VML=!Wu^@zD_+|_5}@v>45~KW4fyC_XWsFnYRSd^F+W6h0qLh zqO>TcT}0Rc0|R;5?5hfOzn&uOcj}=-SUF}~Ot59JHrt#rQ8-M@jX1h~z09$WOc@iq zzU{})g6JRVQcg5<-Yia&U&RdTrmBvV2DW z-tb7>jTPgtIG5UPSylyaYXXmk?x<7+4Yq~ku7U|oCk;c%heD9C6W7pJ9GjH;JF?*5 z{<}O{>})AM!9hxm;-Ccdou!&)Di&2~C?upmSdewtIyWK8EC8xUG*-3~MW&F(hz=?2 zo?edLii=KoL9oI{A64X&Xcu~%#c^1hXn+cdz^Rq12!jWeLiz#L>ccu8%`yv;IW)`x zr52~z#Rw)auU9=aT?15A(sW;?xtTOnWUfE* z2{o^3sn19iom3VQ>935nC0VMoFZz5d77_y8Hl;taiJIM6xV`j78Zzil4v3#BO#r^T9Nl%-FPFoal=kMC%jlDrvYuir|4vI8lskU}kBS(4R3ag@TnKcN# zdHI9Ku9K+a=pErWEvP_O7yajibc{lH?jPazvQ=+AXsw1iO4RWaUOcn+#)H^_DeES6 zJnO@6zsP>vR{FL(?)xO*(IeNv$DG zUCaF*j0iwiKrbY;@h)v+YN&31E@`y>v2PQ?OU?)kMimRQirQsleyL0oRJN|T9&qpd zEwUsbzLq$RPbM?|4woK7g-GlIW2F3xf%iFO z^cfZF)9!+LPmB9zfdD5?bS+qlZ^HlOo>KzRy~Jsw_wwqN+w|iy4x>&}zs6X4S#Z0J z$|?$bkE$aZ;a|GLAV$GzZp#|?W?}5T(_Cq+!h?>Kg_hU$MXAGLCO?_Dz_F1Q70E!H zX&nQrLh8mSD+C6=4_|t;-Ke^qx}SxVYtT|_8?#rzT$o1f(?Lx$giFFtnMCza%secF zx{|NRxGaW-(xPV8B$Ndz72shDuo@o{cMjLGuCNmIhfex*Le#We_kLtOoY&W;{GSv6 z&s1l7_|+$D9ggd9zhB9fWap=!VPEkSwi(Ss7?RS37Sh9~%K$Cu@79Lrf@X0(HSj{D zKNAJr7|z{`r0DLr<_xI+Kod+#4=`V@-(WCDvf@34w_lF5N*`NA@#(7ks2^@?vI=N0 zfG3S?b-$!J?qJ(q19Dt`;ic7^+Jl>#DL1h<_E^Jpng*uxSKee5RI!J)NXE~=@@OzF zyvC`&{P92_lMcjRm*&dZ0gF$jjL^F7p`!!i_*fY7IN$V2HCn<_NEbz;0$n3LO+I5? zs5Ft2x-J`aHNTw0+%Gz@;aWTLlp#myjq zjDp+jaz>9lt*4<(^1B!(@yX!#3}>lkK=Q~u0f?8Xbbz@}#hR>CQ_-h#(K-MA8**g5 zg%dW*0kj;Q><^Hw0}+2%dWPYMLoQrsg1YDuiombM-@FtlK-OsWdZP?dd4@1Tc6F>w z{JEKeT7gMqkZKYg7{TVGTri|M!OmfLcq$&t5h)680Yn#;!)b*UHdJ-yNDF=hxy-|L zj(SVnGG<8}T4Y@fv=N*zvswYZf!yY+F>#8tAZ$t_7sKqDt`$|&`$;(>jg^%fJDf-r zaC;OH(`;F|tQf}=>nguW26dTcE%=6I8VoBQ*KZ@>31W*lPc-C8z!PhTj~h{ngD)F{ zoe}v!enhapSZ?Y4R+RBDUvzRDqeNsmii%5>Qj0Ws$(B-qT`U>oYA{0E!FwwnyON0> z;S{a(ODi2R_NXCQ5H5W;#+64RwM<3}M6GSy_9|-R!@6E_`Ta|#(Wlat6^~!^xTC#!gR~QSl@|E&|lMS&dw>?#&1MS*@*NdTW{=!AQw*>u|z>WE~lQqpvX3 z(#g>UPLiQX4szh2mdA|0fNnoC9GxPSR(3j1wA`{Kfqo#q>J5M0?tOI2%!^1vQkJp>G_CvsS_9+NuU+{igt?T>zTQ7Q8E^3rDZi<#*8X_S`PuLe$r zGXE?`^d5!%h!3k9?K>1u)Zg1GyXC@VR`xiv7O{#MV~L=*zz=t;h-;GaiP+SBkLX+s zk6F`I&s+8AiN^&91yVm{`8r>t_`b#Els&$YGlcD1y%~~|-#TJg)cOF^ zQUdQj36GhwZ3JBg=W<@e%+cHZCJLAZE+O8Si@S2Dk<-1&%hR08(*0&T*|}K3D{vK? z_SJ*Hbgo(9wq&>}GMtgc?0%ju#m8+%9K+#+By(oY^(FPeqjUQM`uMhIb?*z=I}|4y zRaro^Tlb@%t%bTN8e^fgN0(GJ4-t71fp@wV0oe_?V0|Gtk%xNpzzsIBU5E#e^Kuof zcpt*8R@$Fy@nu8hrW^fTU)%FSI(kIZmg?kvQUdo*;e2N_nY(ufieY!o|2>z(gc-*Q zrJle27l;T@Sb8;j=eQR&XI)#OHq<{vGKH;r-)}8x_oxzXJ*VR`mxI>y>GF{EN{vn3 z8+}XwuVRfUy=j3zoRg^_&kuioOuwrdZR#OuJt z!!W?bKYuPzM?2wFw7gndPuLXn=cLyKf1woB*~${x5Y`!0A~z`2E2t3ri^LN*qFATQ_+!T#Gjw*Ps$j^zS-{tQ8<#Jrvu4 zm3Y5T*^;$tco*~$QV2<7*HACy3VpzTUYgwM$m&cKfC6F=DfozcO_-H1ALR=y>o%6~6q!C6w zB~x|=1+ziF6E%762Y&(~`#<7#;JQ*I&9XUj_PRs&n<^EmMe<=iqK*66U1Rw<1O=6 zHe-wol9==;Ib1k8&grEOefP$I*Ysxm9Y#mF=9J}ZfU16b=wOpajBxZ_whz9dqMJ-BJlT0nD0~helbs9W$G~#A<%lUCEgGNA7a*we%2+IyE-PvbrKp zQI6m|EJZY7E)46~Ed1k1}mb zf9mA5s!KN@kC6MJr8*7!d7PLgfKc#!g%5%9w6vo! zS+va4M^}j%QC1CaOt3Pu)N%+#umARZk7QPi*_qIjNwp3l@L(Ky!iRzq6{hwzCXe{I z^HL#n{J;aB%vvM=&{e)X8)4PqZT75&67>BtCmx4=2D*8~yaiHJMGVnJ4?RB`x8y9f zHTU$@q+)$V&!*TO%e{VncfBNLW>o)|{TWWgd~xX8$i;4XLc0 zXjbrn21~(oG_Dxka#{^RA?lj3o;EGna~8Wolt;DIHcePN+P{1D;053bZM$_#vmbwq zKJ+kNB2)-iok6>bj?Ch&iB zH4qGuO~QD650*9z8pZkI1l})tcRo$?CYQ|o)VSic?AYbmu5MVRd2ZgTc8j@2a0}uwINf z;Pr{q2~YT)eA;tZNa%@YYvWqduVzm@7Oy+Ly*I<*m>@RYzX8Qp5W)AG_HT+<{gbx# zJ{S=@sBCQw=7Os~eeexIF;iiW7> zSVKZVAo3DE^r3Qn(KTzkOGuK(I z=pWfC-HVYtkfeYY&@G^n*oKP^bM}U4chj7!5&uVIYpkW@9>MA23Jy(+vVbVG zS;)TmO!nM<_JR}_8z^^=?##uLI}oON)4KE-^mQR^Z+qB*uisHI~ZshmIQ7`9lwcd7e)rfM8c>ousD(Dd4p`%H3tgOj_bX2xGb zOn;sEQ$J&s>C$9-7Yz@S2W5|yxDitho2TFVU6r?3mj-RN!D{MOGD(hBN&xTn;KD+t+-iUFPbJZ8OIq#N+xZ)I$mFrY zhr@a5#O^;5$u}$iW}@%@-FgUr<*_dH$cc52lK#?6`Y!9zsxWVhlAT3zkM6~s zIbEaIiZvL~Qb9zjq3JzHM*4U4@MY*&p8gonx8()TXY-{u1mL)j29tRE2zC-To zL&G3FLXA+^H?ZGt4^}e_2DpYXY9UVasCS(5l=lCd9Kp(9;-zpKLn8b=*ah!I*t&2)MiMH()Qrv1i}8Pz39dvXIa+lg8+0yU3$~GYN^90xGtg zcXlIjOEcTB3ISAC9ei8EI;X>Khjz_fnC?sc#PaA+GiwvTo z*!jrI*sKrD2A^ONwe`szxKug$PnBNpZ{2V0i&BgS_WF6%s! z>EX4fdip-zc;Vj|4D_yQZ)&Sk51(f&^rjkkFPSWV_IZ3Wmgzw+$gYa**5!K-e>*(Y z4O5tFQC?t{b|7T^+tD`9>5+!-_1@PHEoIwB?Bckb9;c%iLS;F5Wf4kZ*$H8Mt#6l= z;F0Z1+GMuaObE$15HxHi$`xOm+DUyhUIPA|w)5SfoCXzJ4$O<@z}^<37&zBQh34Si zPAwXg&WH)L?h_~gI7^v5W3ZBGND>ev!70~aLH4!4= zrLOjRW;A10MGHNuSvar-F?K`fsEKM+p<(q3WyeO1X82mdDh|-YTajshS+v!J#Q97< zuc{E(Hr9{*7rR_HT{y@=k+G7vK1dmPnJgdeAsKv+G!lpoIn?knb?gNdkcJ7r;fN-w z$}$=Hg3hyfQP~&XfF_?di(tu>t=3XSH*(;=vwh*dF{v>v(S&TvnrOjB4|0<&^|~iA zWSDzjt;|si0TTH~26KJ=;o#z>Zp|l~*3t+=Wq6KAELwcBP?yMwB+k&<8DplD-fAG+ zl0y}Zh*RtF1gP_$1)_F{heO_?V?nvWhQ-ONPc$QBG;%+O3dmp}(B4PY;F2Lj+mQ0o z{EoiIBHS>e`+{pClt0O9gl|Qv3``VIUJ4-ps@!NH6 zjSzD!>HCCl4pHpTcr7AW$3j}w3dYvPjRDlR{VxfgP{Uq0=iwRwV$LbySu6mN5HIJn zez{E=dRg^Ey*Y~k|xy22!K6Wes24~H*U+O}d5<`PO86^s25SfJm|i~L}JeRi$N z)IAfLkywU_g%KHYTFu>cukA{!2VR3O?|KtfJ*ukWWORX@d;rUc$gN;bfv;^_9)hiO zgoYj+0(nav`dyp$#x%n;Xc~3J{Uwew9#S}CH9@@0M0}!kU`86y;QC=sL&u_(s2)T{6HK(W0_xru zwaT+h*jKZDK}~Enw`)IhAl52UEl`ltFEqt>kO7%A5~v)>R-&LimBi|6dIu#@;NU8H=5RdMcEg)R$^cHp-Op_j+bg zzp`G6_+Zr*tZJ^pR6_AKeqrFn`0o_<-e{l@I>!w@b>f7`9wNAiTbJZjPLl!JD= zNrBon96d=ED!0pfV`3#_4@Z_aO$4Tzl^k+RiI->~hLcbkT8}$cBc-IhT>lj{5tFCT zsz|mu>X@&Fs*XghGGsGMIr`hTQNMSo4l7X7PBvSq+Em$0rIz^)Y_k&CVuhnhIi1PB z(O4Kz^GR=-(Z+n=);Jg)ruKIovoRV>vHU*IlQHKILW^56(QCn9{(8H!On$ z7B(6GIdb?RUbmW56uiDdBBB!VxzMQ<1rVAbM<}98^+BK)hx}Rkt~EbM9)K_QR@k8p z$5q2#B(3zJ&qVV>8SE?Y$9fezxv=1l^!FPxX8DZp@Bahh!TRC$CU;Ved=9{y1HDds z2TRziLcC+dMYCzg^|S538VTsP2dt59ZtCQ@uI5czg~diqp}KurHMp)AXbmW7=RkfA z;=PO-_Ktz=od!NIt~f~g3{d1^&legLcoWMzY_Hw8esaUE?QGB%Gg;GHpMY$1l*lET z8+^zb>eEWwOIRh`Ltzz$+zs1$`azgb9V0a1XvI>pe*=dwwZ??|@!D@Eh3PV&p?o;8 z_5Er6H>R9fQ-ATsOutVCNzpUIJmSg3oSkUpcxR2%L&P2E`L@$l5RAuT6_7i&+I98G z)Mv!mJ7M`lY)7RsxCG;nLT=Y>`t7QV0`p_ZDtv2e8v4!MDkp2V?S0bZ65zr25&xm| zulSx_MTp*V(_Z0!Rlckchn9QEaH~NbntjYG#I<$WqaXp1dxcaxF6KDvZBkv~%}S#< zTzOKOwRlhV-AAXYgk%0T^6(Htwg{i3jUk^7#vz+YiJiQP`zZ#2{zvn9G=;w6kJ^Ix z=gp2{+)}}%aL(46Zj-75%1n$EFuWIFkwtIY=?a56T6$Xw`iayInf@Y|NxVoeg z?)tIpho1(N>w}Jn2|^8^X_v3PM9#x2nA#hB!(1ufzGtm6kjcsv6=B)S3<*j;>A|2X zt{QAJF!X8d|03rQ_5nREeCRXIJ=FmbagjcCg(HAeyx}f#Ls-AwLi)ETk(+}Os<_$D zZ5GsCQvaZ!>zyeY*FvvNK`^*p({RC*oy6^6gSufta`J0O#y$^c2G+}84IZK_Qp1EI zlIN}~8~*rD%K!+!;^mVoT%kAjY8v*4eAi65#m0;CPaTN6JgdmBu0W#ce}!n>O;(#F zyJ}M9234^v(Y5g^Rbc;ALWHjI@uH(^ly7q>m|luUv`467+STxRQEqCI*4ucOg`lCWEEsh= zI9Y1fJrA05`}x|lG%-tJ@=;0M-5|<6R4@+Qpx(s4ckJ16FsDR=mx`o{o*!-i#qe8y zWV|<#hf9PKlbb+XE}&7H+u6yPCTo0szD1T1Xl9T%BMYMZVP{)r?wZWWBl0yt(nFtsAFb zTiP=1#2T(rcdk9&;uTI9S^+bCBs#nQ+FD}(#1RYByl1!h$TE+Y$*tnecXy6m#A-&i2OYb@0jV}P4T1}ckr&>+g%b#Bpo{@2l3sjK?A)Xem*69qs6?`%J z!4}!{S_{$6r0~85pC({$$3$R@+*7I`oJX^x-rlon-cz^%9$c&^oCWImcy=Eqq{R_I zUu_08;L{~R$F)0ncocFYY0!D48^S>Xg;ufoMo2v*B4b}yRY)i|XA2ZxG(=a-IG zN2^mVO*K01|Lp6(`dj@%!)Q-lpx$NWklPnN3~&S2d2J${ zl??t{J=;hrm;yN;0U8K1wj^c>B?_4JI*3EWN@ZhClfG+qxSzT|VN2U@T+NGFwE0QTPCrNF5!K>z2EFNwnK3`c>eM zTR-qdx!-S*|1bpk`k(N|Kg?Xr4^WPhN#zNO1$$`@uHH;NJ^jwQ+TYxZz2IS6&Gi{# z)@IlsQ?Ib%yS_*b_6&0q_+SXqR)`>B-J-(Tq|i}qkkC(x>|r2DQM(szEXOt?at!*( z)Mxr!PGTDz5cNu#m=YYTzbI0qf{l$bn=(d_BL{^e{S*rGf6aSUE>$ZBrYXv>p51n8 z=RO`&z%)L4sgV04A}}+H(}t<-GxnKoFP&o@3YN$#ZoRe^Q7)tD5dnb-cxg?-*Jmc{ z;Weu-hAt@-AdGit_sxcpJdoy@Fg8wfpe3rb0q2MP&ee@W(G8*Z{|9{!ej=ajkFP-y zADXQ(Ezl?f5LiLS(8Xs-U4z>nIz{_+30!`t7(^qdq`OIxl$EpTqLB_Kx252}>#DqH1(k2#JjJ$!Phxe>g-ff&YD z4rEI=ph=bdm)d80#fW1TLFstb3;brCiQQ+|B>t#t$Y6NNCol)}Z~B*D(i#_p9u3-K z@LFA;*SnIwDsHWvc#u$XiwEO3Sfick3pDp5<$; zfOH>)n?o7U_rpY^hYRfshdI-x@K?c_>xbSL4+{pC_~GVumf?%qw4MmdXZIc8ffCVQh$+{UiU6&LLkNjF&nA zZB=W{)HeVdbj7>W;TjW z%OBU%O6lzqDoY}7H0I(zDn-eGwx>kVlQ}ka6#ks~61QeD zH_(3Hu&KY>M737gOQ`N|PsxAF(YI4)QCDAR*R*?6kf#nKnR^J5s0yn*vQ1{f=gm`WSvyE%|UFn!|}a^-KRBbwO`EB3i> zD%FbZ6C>%TZ#1{bL&NOvUd@uP?VP*D@8|!9c;9*V-+ag4eizgi9N*tgU*E?c-`~}* z-!-S-!`cz0U(b=Lo8Klh&%I*=w+Ic!U*?#q?m+wo;k;6}n5VYZ%$ePutun)KAzvOu zMi<7H*S3v9seU`<^Hn(~s9yYj_IO-P*9wirJRNyI-6@}pa=kEvTu+Cl9$e$r*4Qqx zTd**pj2Je45YdQN*`iow&T)!ctcP6oBc-SJxu@GRxu->}GSjg0F$bS>lZjn?>jS#@ zPw1%&Ap@}m2Bio65zUjt^$w2sE4{S;Pv1RvnMrW*`PReNfD6bHtCG+h*d4=O+o5f;V3 z!qFFN+#@29wD#bcFL;{D3w-znzXa?P=N>Ztlt{aHGfeSa@Jt5=sic0Q`mmY4%>4)W z$mz!4jesb67XB70l~}*?0P9iS1Ilbt%4Kr+8f zK%Y7j_pRM$NE|%omop4&C$!F2?VOjNJ5%mJt=^zM=hN=<0Q~3a#Y~vlW0ppIm|xK8 z<76lvKHMr`Mxtor1Noy|MhyM{@bZLYHxs%YhU^EkQ0p-cD0NQFwrGC?cUyIjgIscN<3R=kSqvq7*id`gX8?>>uxBEN}><`2|B(cfj&F7i! z8>%SxIectfj7(qsr4kP_6n4o=3gk|(mpb%MH_C^}yKVbU;_5p`^f=4w`|S&!&f>$) zrR*dns_ENn>;AJ=?#@Htx0bTo)<~3)I_*8EXx*$)YVPQ=U%s5-x7nQMwl)~xU~SFe z`MYrS8|e41mi&{;3sr-U?N_)*t@l^5>u-wnUe-r4c)t+Pw-s9u(sjRD^|cE9_q58+ z63Y@zkT%6RDwVv;Zzb>C=kNdj)no82mq{{5(+9NyG$hl9M4<}r+V$H`t@qO_N(Wn* z-ik&}KcYpat(mQf`QDu*>E8r~`}^>O|E_U~F#QEwDN?6UC@F#RoF#00F|wT<8xZ{B z=~RS+X_*uoF)!iKxkB-!GCB<1#-QjGa>6X z2PkY*P6Ki+fbVZRwDlDiVw@#eFXwHf_KZkbHar&%+Y|4osUOwHweH-sOxZovhu;D5 zS~*ERZa|C!Q{!O9nuF5GGuP;7^WRQL{(JW83*bMlaRrW`1jFofx@}U3uOFMA z<|HQv4!yp6Bij`nw{nm&53jUNG+Zc7hLZu-LA^DLZ5)PVNawhhq5{6 zB2F)&=EY(@OIZHdguWNyjmW*Og+Ytyj;!Dg?KhmTepOzDqj#%j}+70*Cnpy9`Z< zf>kF2pft=-_9R3}*4k}f@j_&W%c1+gljustu_nrjoI1^2(s9Uk(G|&ojg7>S59SI$ ztqjP?FaRgW^>f}++bm7njROokZyxdQ$c`-N#~=Wdw!xBLL?bOg#32@26}FE~C%ttWVOYeV?RPpVe{!+(}&lKj5|AkyOEdn#sI-*iK?6@Uz$> zi(mbU32vyGaS7(v*$7E`>_yamtr~aCSOi55C6zQ}$kHP%*XL;e(@Z;hbwD57Hze3^N(9QYuCogE26Z5JacK&2G$y+Rr4uf|r}Bk$UJ_RQwK3yDYK@}ro9DP{XV z`GcWKGHTa&es~_=s6N0&it*AltPlMHB$1Ef$viDaY4N{F-F{kCXz&` z6`4o%uM3AA+i$~$U4zv&njoWTh z5aW7+t&YjlI=R^GXyt8RmD-5K!n>HQ)5qmJladwVX3Lk@s5`An*6(uJ5n!VihTCshROU$(f7(^VDy{IZ-yrz|HHW5y2W#5DY>ANC%0oRiCTD8Puk+b4y zok>Gd@Vd52AKe7>=P)6(D5bZt)nAML$c}&u=Jx)l93{8d+*QMOSrduHW5(@wDlRYU zss)L4Jr}x{8_5{WKu6{^UjjTH2U9lOT@|c1-wm&xZC71x^4rZ-^zwhTb0LrPoN_) zeR!V&*<nVHx=H2t2xFYS6YQ`dYA-eHg&>QmwUmQ)>Q+A(Wu~c{f{giPwUeuifP={ye!;-@MQbvcdH|%EDN= zO4Y7|4071eiRbM-wDX~KA+QywGgLss)}YgYuNjF|DrZ8(j@AjfazG>}TJAY42Xn8z zb!q6+?&=kE;d1x_I&(`RcT=yx#O(RU4Jo*LCqjHC(2~F>h(R7ET=k* zr!TJYn9;}~2X<}(iIwSVuXh)3DLPAmFGu-g!{ZvnH*UCda?z0VnOZ=e%q(G5Dwb?G zcgk4K7|7?7)}(a{nLTTi4drUl&14%G4D%e*F7!TY2hht)wA+{vo3E`abYCu#)L!AR z|Dh;H8?QPOB5MVhQgO)7tx@~0*~|z1z7qX8$2v|9wb|mYefRlu_4nP@D!ZG`FX#cW zUc)K}r9ETPJUNd2%wt90sW&Zl-0{pi<8gOwTR8f`u^%$Vq65zK!F~^ts(>UG3!7TG zv4@Cdq}pB-C$`_1uc`fHzGL~V5oX|Y<2%)r#9!q*8Y(CUdb^jlRZ9~Z=K6-dm|;Z= zb%<+0D?gSO&8;hnW+N)BFaa_*r135p6*A(QMjUxbpn<=x;)r~*W2_g#-}MTe$Q$V*Mg{_MO{BSHdm zSK?s^4@#*obKwCFQUs&2HzW#=E&zJTd~VRZ34Onc3{pv=qy=9Y7Lco6u@~!}^Xh|T z4Jp&vRYlrD)6>~>l4k2A+`J2XYPhGi6V_7Z!VbYvM}5O?cGkn$m5bx_Dc#vprwsS| zp|;3H`?L3QEzV|rRJSRg!J(p)?CS|{zrtnfOoo!E*Oj?UR|7ei0QiJpDB}nZzSTmZZ88i50R|YA@oqbNz zXTuh^>GStWbxW>o{P?e(;2<$(nrfi;igjXhVr52`#9sR+X1Cm>XszFcZ90ffq3pxZ zAdX8J9(WyJ8`jb6>E5|OfNc|qDe{VIO)##frd217SWPfgE-8JcyzVn~fnUpJ(Igpb zdZz+%vQJEXZ6_H}-dh+Xfdu5{6TBSqQ846Zl^+DvmM@cl339YT;tWY4iTY{q=~5Xy zBxk(*DEwuq*Wm?kIcPW}IBpK>uY3HqZqlo^cV8L{a*F$ywFae?cjhR8z|J|G*6r); zzxUo35>%PBx84tY?Q%*T@7Ef?@AErc7TQnPx%xw77i#jjW_}VFBsSU?VAf9;&l`0c zz0!*xa~2N6O&N zjr*y+IAqjRohI7o%c->nRUOj2-Fkdo#iranu1Vm(#-DH+cXl~Jg zPfeD{7nG5Fl9*B`=IQ}2^aHya>2cqd7z4y>u~TEWsJ_-{b}Oz+ll6tgkM9^V!_1xW zvA=;5799(+`}AakP61Ss45hU zgDDAbmI{OO|Kgbh>j>*l{)W`mpc~uqg4nwBPS)R-!N;)AbJ$XBv(@-z1+l99D@(Oc zXqlc~NiCBkw|%nD1thj1NgTp+1PP;pAl|-JZZLuMmq{{dp|IBsQfv=A4N-GB!dht| zwYW)^g5XX1*8VP##$m}I2qXQ{6FHo8Y6=<_DN%|#&q-U&q9E?L2}tFmp_|@_Jllr} zO69Ayo3@~QAg0L;PU!@CLbZ7VN+ETS(sWwjp@|Qp;EBl)06l>-4_27tMn|;R2M7S? z*c#W3z({@xJ8>XBP%o2dY`iWsRZ$__&taD`KKo@9HJOYxh|@xmRM-to4Q zw9*`Fu(e@R4J1YdMYVcOEk=E&41W!}ww)&vtA-%;oNr07b%IwnNlH|-^gG71B`LwU z#*DH4dM~|N76?^|ZIZxbJ+I}23HDL^9Ay`+Gar9VXqO0n(FJ{DA#Rl-b@byycRV2og-voX)IxTu-rbX?yUW=(Eng8T&TIk+ZxorP~k3zm-I1Y`0C4G^k#8I1`a z7hq!iYW0sAtw9czu)t78JIUaCEERF@4HN|3_9n^NW- z$Dywb&DaeOJ?@R|F@iDAmk5Qq+z2={x)iVf&T9|U=#l`&PCj*tG7WHKbErxW-Ge|E zlkUuesEl!oS5fDOI-)7MPacah(ULiNTDk(_7Wojli{!%kl#<%K_7u{b@gTJ}vFB$F z+nZ_0W`Yg%Sq;V5={i^625o)fSIRc5UjWlw+_aMor`W4MH+$K8ZjJutR>>KA;;`*` z{U$qbxR+H3be3^U&T@LFC#}f*`1UA#Wt8M~6RL(e4cK3h6fkGK%2UBDCGhj%j+d6n zWX3*%$En*$s7Fp5(*d&+q-Slc15^bQo{YuV@*+91=D(^+FYp%4mz+YB(gKQ2luPz& z9gQ>Ys`)M&AZz+F)#dD_U-rB#n#(+c@`;8;fZ>a2^Y0L%Z>s*nyQWf2xjU`i_;9i4 zCU;kkY1LozRuKKRmzvvEi2NW__0o}6aDiH^CYUCT^Li1z~C7 z@}4|S1!k9HSEsEhDsy^^6-Pn06_QE)$3%Z_yBOzGPMS4)mWP=t=Sg^*z^4UpOrJhV zjb65j#(A(Ca5OP;06hzZmF)KQ2RA{Iz{r~pnQZzCZT`Z*&Jm42GqEn>F2k^hg>|~l zkn$`!E=v{MO8_XodIppRrU6#7PHQ2YImH%c!~U2$ce5ewVwA#Y#8#lF?kG_{3C$A5m|kHFV{tf- z0v&IY4MSdLl75>#4hJ_>r5A+?VbQ4@pT~VCO6xaaJ$4jKS1B41r70FZIPDve8s#s_ zp!iuTbk#r$%hVkUV%_J0p{xbH-c;D>b@?xHQ=4o$C~k`sw}6Io7_G(_!{@}ozK2Hq zV}Xpu>^esH#-4mm#Lp+To&6ZtGM+TGiudj+DplyU!ibLWJAXB4U^bfEIC!Dc`?OK9#csmz$8-r%@ubbV$>RH3eIZDCUNu78)4b?y4;7X^k#5UnJU1 zE%K!QFs@B!8W`1BcUbB>Q39M6n|CkCDKE#*=!+!>riVeiICYA1=|wcpo<7Nz3-6d; zZV*iE7htpA?lt6BogSSP&`L_CsnCHERhlEsXjtvH|D>L}@8%TSZzPdqCu&D*kMze- zS927BWWBUcn6AdZ{;1TejtSG;3{@eNN>2JcD&1wGkQ&-gimZ3Aq@e$1sED7Pmh6JX zl@R|E^aZR2e9)0M8j{qgD~71k+#x=lib%-F^I{41 z(LEsW8-Gi6bG*~Y3&tW*6EjXeo3Qys)?^$%E;_@fS1F`YU45lH*TMnLpZN+869v_+ zUYr^PY7QIid6Jr!3@Lh~)6?`C1iAtK+tK*w{LdN!IHu3yO{CG2TkGDom&eYwM9Zbk z{%g;qhaXr59wzv6t+M-YtvVX-3A*2o+NC$A7`AaI65>=8r^;{DYjsG=@KJKqryH~f zN|-6b#>2n$hV!_$4fm+(P|&=;bmoMS5~4Ix#+O4Z}f^76lyr|S1<4f)>AWy26=vrOQ7wp zC;9#5$qyslT>wOb+aBwV6!V6iAU|R&gCJX#kD1I0S)2;0@k_y{RR+L#n0$gBYMuZ) z=`#haFdgcw+Zfc@=caQ=$q$xu_0-!0NUf90Zk1#V*}M!Qm5S7_a;Uy=A<~&y3}0@a zSYk?^&3?fa3N=oD`Vg4_MC`E^9da$bo0BA*?OIvLFl>gF-#X0k66#gGy{{lppdKZr z6mqe6KNMTyb^B67D6mS!KRct>J!l{k@)MGDY>Pps*3K)Z?4qQ4@&!Yp!qW(>2v#X| zF|q=FeCa-rqUNvuof6U7o#&gz26;PNf(oe0=Vv z2B}zg{qz`?-)eTI5di6`wp?Ig8KV2XGCeceJiDJl3bf2NWNn{RRgSx3>t-3BCf?cy z0bd^FpCjq$bh}1Xl;iI>x}AR1$&Ws;khzqUXE>3U2je9{YA)4%RmT=s(wD95u^iqr zwihl%!*-E;K=GqkWblh3`#-Mz_U8d&N9FqC?Rah)wQbr zdNI}@b(PXZ)woMRUpXzU;XNZTSUC~zJN1>)VhL=8jg4Hl^dn_2r=Q$N4BrU%AKvc{ zbia77n$#65>g!B1?fMl}GKohy>$85p<4V?Ap*%=2aV&ZG>2ju9gbft}N0l;KbmR zzIcf2cv(vuO6+b%4a7SF^tfuRfteH)seD*SkCKC7K&i z%RgjfB%o5c98kwO&d>!TlIk(5)(;*!!*>ahu5C3#(M=ZkR;I76TKHRXAL;uBtHdEX zn=_^e-hy9C@;SmC$X42~LdpuO5#6SdgiafKmDYhO+s_^c;e71kzXzS95WOopIll!5 zg}Te$k#(J`OVW4!245A+JBIEVg%A8LjHthMhWBb{$<;v09opm!1{hX* z&An)C7X_Jk@vTq(7_18zLDkA}%K3CKtBA{JCu=gSoXlXV(7c-;A=4F`&t$dVS+V!- zQjgGkj8DjnM#PeQ!25roy|fm%xc>HOXi*k{wxz)FO!w#QZo>Ha^jND>YrK;V^JH2T^;q7! z9JV39RzgehoNS6gSKcq&8N;v5=zc^ERiCLA`7Kqo{E>VTU68$x%23(EShPGtOnGE} z^;M*9+E|h-cQkxXf;WeLTnn&Db*N46{eu6CZYFs3g83S|SPKY&);Pg=Af{kOsPvx)QL~0;8 z!Z&Gp$hTJQru^fwbc8d!Pj&&iDQx-~qd%v!mR4kc;3)@ zrQ8N%t^#3G zvEpX=C{2EUjhOymXI;oPck3lw(9@$~xqPEg{Xkp|1Rr{)87s2<2IR`?Q^2R-(hCyx&DjfAG|R zMouP{7IF%nj2tNBEk9m5ACRI{mAZ zR__=D=b9TC5f$q;sA3BGp{BHG(9L)k7sY9;I3E_t0&$EtNa6vXxGp4oqJdqKd1hg% zQrK|?{UNz0reF)r9|9O}^npJPWZ#>{MGL(&`AR866a)A>pZBI$m;)Y@MM6yxcN*zv z`*~AH=*@kcikrt5>{7qOJ8K!jq8f5P>695lf}uJhJnu7nc5#iY2m9dq)b0106K=R1 zS#Yj}tj*Q`zq z+q*br*WTsVt|4(|9Cusfl}zLtzsG}^`3y&7wejTrAx^b3?igMnT_RRsPT}`hNx~PR zwKf!C%62S!?h>V%f^eq@2DR$m<(*}*r4>-?76*%g@Fw%@ybs(%&b4_~!!+$v>PpM~y2U@7it4m+eFM3P?_u`2oqkfvI z640n8eeC@Tz?=-Cn@UlHZ@G!=5;2Cxi72QR_j403l;}+3x+u|7GH=WAE6>4Gt+XW= zw4X@QJY32-o9ZKi?5Y0X34alxgU*ydy3X_-*8L|2_rDbWZ4X2RMQanF1uT_`$V+Se zFgfl*;-A;*|Ge+EbS}F+M1PK(dhAwOMBg2v*``p4cj$lrZC;?P>@pNBdMr;!W!8@| zm0xYoz45^gc^3`rR#WiHE%CCzr=E%r>z>n&y9s$v_%|<>E?-N!y68E9-t!YhBe(($ zj5&H_EpPnncO>TpPtLSu(AtZri9IrH?jQ@G>q5vtzOA?m+O{6>x4XlvMyeKFfIQqXIj_+Zo8Wf3b z%RKtP%1hkek@>6F_M}H}ma!P8(_~F+wvYc`CYKyd2tr|P<2K}L>?fN{UFeVwYiMfK#Rbg)@kvcfWATy zZXf~cQG=JLe?jW#a_vzRg4hW><#zHgg4 zJyT5j#v<=MOR(N~$Y;IFU7>|@w9xq7#kD|f>)i^v5P4>BVrAC6Tg%BGrmX(TcjTjm zZSE%5<#0=Lvt<{A19d1y_yEJ?i_l}0v)g&DXNMtjG;C!a9RP_3;@VI}Yzk0WV9yiX zWIx0Akr0MHj6}#~i)<6vc}7*@bXt89u>>gOkqG-Jvb3PWV>)_|SwRKoJh10rKeC#d zn!zg~%s5!d+^{gwi52eKoE*m1d;tbke{#T>NB98dI{Rm2EU4iLtQHQsjl&zb2C|#x zA3n!bJ%eJBipv$|cURGxCm|FRn2K`oJUzrd6Y~wD+`Td6u@XyZYxy^-H}&NO7^DBUxjq;~oid86!5Y0`DmSc`O1}DWn=Nl)|{)YV$#CQX@m< z3oV6|i}fakFQ$623o@-&D2|Op-@TqW10Dw`Ol}yvSoRW7gFtM8 zPl?d46n0uuC%<9iV%;l{Xfc0Q$Mzgeg4})5@IP(@SXKiwS96%@Bs|#N`^j5*YhM^% z^9Uw1cS=1{H~mGd6&YCAKNDFQw#?PlIUBl0(cw?=$j`&;3*7s`(%~6i|d`J`p+CAo;l_gzw44#7l zKOh>|hu`j=g=ZE77VEq(@AJSaHTw7Nat_yj1w4;yY=W_W==+qlp-08tPGLA{X-$kZ zK}(|bH%S=sA2iYZn3F3gj8u<)3O9T-lo4JBCat&r1&2zC?>R65Tt|U}qK@2ADoeYr zT(bmKTAXeUOnKUaV_B3RXbHTZGQ$=!fM!K!<(D~XoCMRO?|t z{i?rMFR?w1)OKaZ8%{Q+L2VJ)__Fw#8^{wM2Cs~-k=!i9?XgdLLLNl$WLr>Pf?XlZ4No7rqI0^+d`h4#5sUqJJ=PD!K;>p*F&0l4v{tbVDmz{*qtYa8A&0^tCt) zwHvrG6zpX=eLvNKZd_nxDGoO3F-8Y0uo4aM3GOIlSWuQp@b15J>Zt9Mq5RLY{TGMqMs<&6H_-nRbp24nFf8#-BlD+fwORZ3^<#PHu zncEwgrnC)Ngw|cV(85hf+`NS}I@c&r27Sd^SO`LSTioL1W5lp58jrPPcMk<%^2uEM zSihLG!Ve`h;4XZHapsgMHMsluJ9|IPe&a}$E;(^Uz;$Rfk|FR|b# A1^@s6 diff --git a/config/softs/pydot-0.9.10.tar.gz b/config/softs/pydot-0.9.10.tar.gz deleted file mode 100644 index b923b58c6190c4a5ce1d69d5398d67cfef2e33fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14462 zcmV-^IDy9>iwFqq&Bs9k18{j{Z*(m%E;%kSFfMdqascc+dvn^zlld2YiYd0XkYbFD z?Id+voLbf<3AHx(fF!r)_$VO_ppB5UlCb0bW$&|Jch5s3kex?mQ+u~@?FKZ{@9F98 zd5GlJkMrIA*1xsd`+E=mn!kPcd-CWJezu=H+NbCC(Gh*hzX$F8_T%=GqsIi-K0Io- zAFxLczQNx*%iWZ*2cDazJiQN&r`bo8L`Br+|B=7M9RIWaNpCRj{T1W?Sd4eo_#f;a z9l-eSAHnE9J~}*nfSvnK9P9*Dn{1wP&f+=qmTtP>O_s;Zjc!>2rUHa`mb*a|L<{CJ5BMNt zz63H^JkM|3lmoDDxmgx_feZAQAA9Q+k8(Fhe)AyY8ME^xXZ5kfs5`{O=WfV?h+&`V zVmCp)jMq6!d6uVvhcud25P9L+M;TOi7_0)x0nthM42i-BH%ZPWTg84b$4^dbCF@xj zWXmS=10+3L=g^p8qsJq_vOtf$IAs|RL!=OZ+@xzET@!UhE(sbmmnI^nLV6vtK9Dn0pjx7j2kHav&LDjrC@&nW;>sZzVy4+cO%}EzAwo#mes6qrB zfTS2z*_AC_kbMTc$zZ@2%k8iwEDd!|vw-X>j_?<*2!77f8J!L-Sh5? z9$^iE$_Q1^^1XT4qc&jJh5t?_{ow!=IT;QnBY13ro}-DzebXQJnyfqOkI^R2M?;{G z76ptU5dpkGPf)SY+^jSz0E5r3#=SzC(_Z%sh>a231a3X}{`dd*uay5sz3%DxS5N;R z%m3~66U_hZ!-GdhPy;@}{D1KH=zISEX5-Ix*~KknN67Jz*VDNR2?3JKi_}e)*TEl+ zjGY2d=thgRyWo~lAn2;W;%WSo|8Dk&+ltc#W+6y3UhGpcE7GRV){)Os${7&9narS& zHb(sSb&zsQ|B%IY%|FXZZWA}nAk}r45I7ak84=RGn77v<<}k=t#3qK6X4TwTND76q z>$6kH9#mQYQ_}Et@JENCm=WhP@oDUoYjGC{o1uk7krU6Y8gUOfm<~(+Tt_P=J{Ko6Qqk|_K>;I!i?ZfZ!|6BZ>^W62_+}(W*>S1VN?bg0Ea93Q0T1$5bC$Yxs z)yhq8J9noHl`*WB@rv&zkTN=KndeDoZ%=24JtE#(=Bv=^t}%diN()cXw#!#;5O!EO zxtxil(ZLL2o$|~}gM`AWnX!B$V{M7rvY7nSUnpV8Kqcc{CIYbwi?J{)>*=K&R;+9Z zE2@yo<)S8q%Pb(_VQAJ_<1X1ML>cip1my_uJKLQi|Dk2cur+Deo12?frEwLWVqe05 z3`#M%<>q1=0GwCO5lfRrN{jvgAWo+j5+4 z6)8r6!Y-x4aRQI=It3p>L(A@L57zX%s+d7NuZ(fMfOL!{K?myw>m+nxF29 z=3$&*(Zj~Mo3At0>99vwkEP&>w1=?=9Zg|C90TeYUqC?N?AX~d(@COw_Fq{|ARhhes;^A0D=G|Mzjb{rG$S{}z8gu-%8d zxKN|T)fvv?-8Qya^?LoTbSiyB>@`AJ5E-sp$uEg_C@923~ZDF^3{tQiJS<|UYsM9GsW{om>1A1k4 zklp=B!?NU>E4$6q*F_l5tkP0UKBU~T=4re#w3I#5snifCyM`51^Brhs0hBXt*n~`( zaa={}hBvVKZPwmewO5Jf;-2_0;=}Yj#!c-1f-I`OKaW$efZt?;IPXTc%^KqPoc7nb ze+KEa2`QQn=S@iD@j3xQRHhNrcr}9o6*z8~EZq#2uj>{3i`)0Z`5E>yZ=BzT9Dp%q zOMn7Jz$cIjC_}<`zDjaf2mii~L4t9PNdn*z;R1cL_uk_qLX*)mWXg4z1K!CJ9zl&h z^h~2Tf+}X^Hc_2f_#Xx_%d&)fUQD}ro}!K&)Oil00BhiUI<>)=b3CJXmpRZ?!$&NP z(hP?EUw=YN0AKdu^JW>~Rt0;?LLS)~p@zT_)ZYMxjhDfdYQ1*DbT6A>r0jGG-;nNf+GGVgM;qgm z&t0%17BIAbV;9zOs?FmIjA?$G;K>M))7COOK@; zGxAE-*>al4$&_NlwH+faVj*Zg3Q-R$O)u&H&7^trB=iLl^n-PqRag&O9-R8AYO?RwT5=k z>{2zMvrSU+Gno2wQ?bhinWxcY4L=ZHuS^QUcxYpyA~6*qY*$h{CgHfcmTGT@>F$+7B`n6*@2h83q?UNEUk8f_5n(9pmgkqT4pteC32*$XV$6 z{#4G?tWZU@Q0OUqLQ@sySs+UOBc#>9x^=KB@`b!@{U^GbN? zkjd-5;Ppwf?fx+n%E+mQpvt{~~62U&4sVzUh3I{A$yn8%kFQcc&Daxm`$7#QBYE4XHu|dLf(Y6ro7v!(yCl3GLhk zeP{eFVzfDY6%s((YxfMa;A>sF!PX3QA2mE>N)`n2@p~!wLf;ftu+0isf`87DvG~(|m zuF(F?v7s43IHVc%ZB*2ve=5;HtR4JX4Ae${gX+9(CdB?8CfI);lTyE6B9*rd36!Gr z;3$)jFHj1&V>Vkg_@kNC*{* ziE3?l6*V8=;BQyOQe$*;q;?sJ1tCT|r+G!HL`oGwV{^rb?nGcji6(SZ;2HGA0{kv} z<95q^&PUO>1OvHtDkzI)&7;ZG3R}er+KISZdfL?xv-|R((>b{Mo9R$1 z#$JG!uFcJ0MnY9P@J3LFitFI>qB`;<`sUu@wi{{?xeb)WNWUyOjk zPJbt!Aj(EbSa0lTkR5m`ET~NtNmJp*QZl7I+{|W>K0^?Op(GOUlI2tpARJP57?c1O z>A@|xS{!_I==Ld8}niluC&F+TGK#}WhjA%wHstKuj9brnR6UJK2i^Di#z(Q`A z+x1Qzy&#;Wcsamm{};8VTkU@q@bAp_%L2aCekI^(C&z5J1^iaKL+$)`s6sNc{g~Qm zZ@VOaliINkVx{&LwP#QpElcft)IJj(M*G{h0)Y`qaN(jOQHknYX&^*u(M!#$oqN}R6%tE#j2zfW# zWP+_?G%$Bs#C#SaCf zda6s88f_YZjuV!RXMM#}a+2nXYO6;K*^vLwe>Mf*K2x-#P;?m0(ct>a&;7%m7OPoJ2u-yly zbuy@#h{8WG>rCBf5n?2sQ zIC?oQjlZ<&j?`T_@du``RrJ!UAZ@1#SfHbrm~Ny8*HZID`GulU30<-~Wbr%vToY6w z2rpwTB6+?jrr1Ykmf?09Tb30hDFnZQs&riH`oIcDFD#*aoCeGo5+!Bfj!&N&qd`>e z)7nxlt1C{!eMCXx=)o-Jn<_P&?FfPax#V6bt=xSuoLJ7H0D~i5l8~1pK!Ez*ULCEe z?@x$9pvuDajC#V5y9JgceK+Yj)o`T?86-(D8k;G;ynj=~-H*fRL9GPUy^iU`m7vAY zn{lub)ZBv;CYByl30>L-Er+j4_zGZY*edAq%>r2;sx3}q%_5hU_%Ox0dw7xC#(!{) zlc%?Ij0cZc?7>GXQYzJ{~q#@p*9u>#z>SHzwjvqrmhAU3&7mFVM5 zkS{0hEF*j>Y%@jO1QWHV5L(G1R|gWh=g04Vw)fkQ4)pIo93C7&fBR8; z|NHwNf8YC`+pkktU*YwM&wOpdGGCLhKKHeVFMb{3E4>C`eWlkPKJ|46>#M)sP;u$i zkOXhM7WY!2PlTBJFT%$99&FB63EmV|&-haY>U(iZT^;dI%ED`|+gT8#Jj1s>MPhL? z^CmH+MsP8DBa~j*Y~eN_U23MT3=p#QO8f`|9rKy6te?Ypg`riO$t%%fC|!D6Rval} zKVpisfusGv3y$U; zHktSE#_`svRE3RkY;1gy^J6x4_4~HkwsX4o`Wd#x*LKl#U(v>M+#b+MKqZvUuojZV z(%gsH?9#dvzItJtahnc%%sQmX;kF%;4t#BWBT$?L<8i?}cz@hzH07JL+&_K}>mn}A zc|!3KOvGkx7I@OK`0FL{9Q3DE5AEM;qv{q2s_InQ6%F_k9k`coT&l@qEs=1xY)#~-ek0^)x>>!5~n{eERN$0(MIY>lTOsx zfSQY!gu`2_=DDG_4(T^w=(akzo%&^w>=t4qE~r4U@VfY674VWYc&|njPqZbIj!{P9 z94Ky?9_wqU#wqn(pc;_wGtk{QVRsrw#KfIAadK1)=?)lyMjOwDOM_kXw67dp>Ka$V zoU(guyOQhw2I({MZl^+bTYP*am(tV=%L)e&kCkqf#y2z`!bdh{T{X?mb1C2%#^|dq zy(4lsIPY&z6x z|J0TP-<5#XFv#AKho4%U9Wu9Je$i0&>J6t3A`j0FJpPwBwWj_Row|bNKftL)q7YXd zYMzimoY~Vg;|MX7=V6m@KEhIG?cPIuJMoibJV@zhL8wE_B<1&rM^_w3mkw(b`p5^NkbLlh z)YA`hKcTOG>Jg5!mQc3=ah^Svx#%e#V_j2~P?M=#X7hNC zhZa(7Z>hLL!oLm9+q`}G2mN#yhWO$WP$jGjoSsC4l zFiPYPz$_6)>+&715w@8pD4EE!HV;*K_--lMBtG0^s?T;~=FKq;ryKNoJ%ZVkg36F} zaY~8jh9!ieSEKB0Tp~&M*URTb8Q_$o z!9$@x%H(GBeXNTs2v~~@m8%BsRTeg`|aa7#Ya6tuq6T{+5hoLp1egn zM0}0B*iJZPM*(bc@>Wb1x71t_Eft6G{G3rB9Upl|>>-*t3bw%E8T4Rbi`x4lIE|Nv zk#YbJu>Chot)y`{xbc#%AYaqXdY9gJxDiW)q$Ow-P-?Ki&~lTqxs?!^({Ps?n@5Y$ zBnm)qijHZ(!=T=6H+b7=>+$I(JpPhIEm-Pxt=*odhWlNIWI7#kJXsMYo*9EdUt?b z_HZz~;U&z627yo4&mN0*Y{S)M6+Q-@DCK{yOusr;IM9fXiGd<}M54vi4Q|GAiZNnD#Bpxu#Kr@(BcezA}U9BN{T|ARh=wsURdSLs`b4ZOn8-y!mNSJAbE-OS1|86_YFQDpB` zX<|S!4iUJ9b3@(i@Q^w3#rQ&4d?xjDKm`$zAVci8%VIbjBrbT%LH17mna08}aWGu= z4Uyo9SqZs8A@8K^3fspUu*}4g)!Rxd1_-NMiCZJeYE_c>H<&sp%NaYQ&j0|^KRZ1K z;LLAh7X9+Y*MNypghyd2Dr0l90#(*@S(}aYl(|5V?Q-N^c%74}g*|o*^ZdcO>fn1G zaKLje*+`Ma(cFTvb3WxA`URNx=oerN(+FRy7`Fw$(dgV$0fKX{=&n=NTqQfD(JLrY z=HFCX-v;WOHfqA9Ip&3m93Gq+O$4DjR#@TgtU=4w8$Sa;X6c5G+Dn#_e6C!NSm!NF z6SsD|_7wl_hR6Iy$b~|lIcP){8A? zyusi>#1Hy@EA)JoCKz$J!#x?rp9q{RE+acZm1!=xD8W!&@#;$g&s8n&0-uK{B>d+X;;f)+zlpp zSJ^7cK@mVRWGCPYbWm*=;AKFPG6MX#;@)(W;h3!&2X7J!kZdJ2o7yQnn)p>1I^GBW%+o+r6}zbN9Vem8@|9|#>GhY8~b?84A5yBOL8 zRVQ}?^9x0E+D#)Q!$Z2jF-5$kGEa1A%mcH4aVkqa*TtFZS}c;3Uc8jv&of3XGtAamxRrtFuh^!Gkva52V+-?zsBfB$m0@i* z|65`DR+w%Qrhl)JG`a45Qc2oIRrxJS(iDu0ID$r5m+YWimcbEwD^f3G58JB4PP8_S z)}a-yV~t$R=*U1s{BHvWu|{>`t1aA#V0o39xE*v|!ZIE2k~MSE%VU70Vq6CEB)udv zE9UV|5Q%+7LN5}&WCG&!guP*iTRqu(_*L-vaq!jN!;`h$SZk^-rJ=x)kykI7a1k>C z1$8brP zMw0D|Sx}1enr7)9{bJs>7dpbHe*&zL!m%4&>WiS=(yVJBgKRv~IFYGCEdzvw3o|`F zSP~f$VDR{u_-dqRMj8Xak;fDEofq?hY9*w44V9ok$GcZDffMDdLH`?f-_%e=Z?Sc& zJNngiN4y1Wz)R8}Fler}QItE4r%MYsDjyGRR4>$tNolx#g1qEQ zNc}2ZlIG?=4n9BbyNF+lZCmGBa>SMU7J1t%+)Ec{EL!$qzuIZTNW2<4*p|WA;qY?U zk*Jr`9pmEEI35n(=hQqKdL@Wy8M*Jh*SiBU)-yPZ^$StQT0UWbT0aJvqxFhZtKiok zx%GEBkj|*y$nJ4Cghoc#$W~>2)cKsBn8+I?Djn`{+?@}g(o~b!CY2^K|11ayGOxlu zVM63K*@&^N)P&sum12=#!F#z?BNGTn67_Z+387*)mO8eUa~y#Tx`!nX_8yXs%sxrcy-O7c?+{sy`b~#UA2O!#(O_4UW59sVTkQ| zI;T`cOXn|$?&MjxYpbx1PF{H$I_A1WL&tH0YbrXnkMgx~Y*r);%R1*KSC@zOhZ=6q zl1NG&niZGm4-{1n>Gl@dzi!Zvx|{6SK+4DAQ`mCfe3W(zc9o59yMcN_!&aBZc|c#b zY7K24xa5X&GwMO?6W@p)Pk6n6>=|l{C zc3WZ=7#2pYKEB7K{$O88nt>7^(*b6|}oqOinrtfgc-9tJto6|&xPp$by8rldQwyiDe7 zw?o=ktCuZfqcF85GmGeLA_G~BDUpI`2epel8ei()h1|>GUt?N?-j7^h7Ly*8<2h1q z__bJIwj3&wmej+5ZHy+AQb(Jq*c@?QLn=f+-^9f{%GvS=MmH{io#$U=HeYcqF;Rkr zlyTr!83*PI%Gi`@DN0|EKLN|-S(36z6FXC~@|2sBx~fk_1Kd=Mn((5@m@SnTF>8C5 zaArk8E1J$XNqnV>&^K9;y|zmaCpcZMXah$xU#*MkP}2lGnP+3y5bPZ+%$!ETpu0|) z-e`Lz%6>ITQ-I7EuoP-1d7^;fD|GFyx9N7PbfC$Zph693Fl#A-;!^$Xs*M@FIt-dz zrnV*z@Kp@YQXn#bjInAjI2ofEW~?{c_>gRghk?eyPUMRQa0pdV?Tp~q8IJ#2?%wSW zqxYr-VK#`=nDV%3Rj^dkb5luH3(Lt@V{D=kAJr3so*J*T`cq(-TiyVdT7TnZ6Y$>< z36ZE28Y|c$j!!_as!-`+q#e|JH|A{c{|ikE8py>V79O{%=U% zZ_Vb6Ta@gQ{B-q-#+4v5uN|KN)^YzTjJ0pV*MxALOAU9P?%l(Uv!ehN><(j_Auw8G zMeO>_cw_SJLhN`PZ7xwJk6`12s?DMbR~((YNt%+|ksIirT?*4}^$KR=uH3mfoirL_ zS}NN%vj%g_Hafk5Ic9UK^$`o*_cnydzV+g8M=ZQZX0j+@z!TN1lbE07ny#B*n>iXn zH(4IcF>9p+L}`FsWjyexIzZbpo~Jq;KEID_6`QSVtR-VXNuOWZ6j zRpT&jL|mIs;dgo?)pjYh^?NmHo_YJ=Ld^%*fSJ1izi`!OcGW+?g1gAcUs!{rO#T^< z7HMiJG`^fnO1j0K=nXc)m=kJ-9V?g7Wn3)>SOV9DPy~qhEApyF{K4bGD2*!mthsu( zL+S=L=anxV>nxzu*7larUAWAD_Ip+)T3SQa6BrzOFN zsPldCRzn6j%Wi{NaO(}?ruR(K^w1S){YC|s2IN^2qbKZ`o5)_}l})~-vWGJa)37Uv zkO8!N6Jy)14dk*@e|dI!?gsf- zQuZXJ*C@1TjsTCNi=MU?z8-zI53Es~b(!>C(C%eD0E>p!=S@G1G zN}Oi^uzNNBR*ge+Gkr8HpSyOV8FVm-x}>m^*|}vfOsEhSeY?h8jJ_q3RwMpa*LcO? zZpjac!PlEm=|rj+oK3hIFu1P~^bvq&`}6PTD|nvliyUh{#q?OiMM})7D4G0bO#|Ja zf>Dntl8TJPu>oisiE9Cp%aX*qWc$<1~$PbQyF7$$yWGehX3hl zj?IR=j^_9aydll;D{W45{FU>mhRHZ9P(3qQy55Uwm^k$BOF0@mL*)wV)CBuiLz#v` zkN7^jjkK8IRmh8Z-b!M;t0F}brODrm#cT*IFBNqSg?6?##6e#3E#Ow!zc$9!OmHo8 zYi{up?ulyyVxmoYGExIILc!L_Sn zoh*mm_*7V^0WNMvMfJ7b5FOPklIXJmF7gKFtNLq4rz*5E04E^n?y)oygbv5O zdtA8~+6@DV4`6W!Jp11tQ!>WTupatj9g6_W8&&A^j~SU z^g8491o6EXZq%T@iTdhNdI_%=uF}ygbgOZu=8Ru(T!~iUXtzb4*&+`o;LTa*ZD)*4 z+H=*}4RNwtO)0t;u8?gl=BZbKX5=>|5$mUgz85&szt zcoiaBY4F6`432J&WOKiW-o#CoW|^i@C^Njfl2y$y5a|RP zi!6JETn;oKYk8vq6i(kMF3GlArhGg9=&m&#dp5Nry1Y2rcMVh@>0?&b^?yJI{B{v3sn%@v5Se%jE zNWp<0C-}xFLmz>W`T|gs?_*;4DDo}&;ys;9);p8jz^v&J1#)%Ex83q>w|v_lfp3#D z{U>MJFvXCvY#gvsvTMKzn7VlpBA?uIy1+Iz&1KPwWXU)8k~kD7Vnb7yO%M}cn3N)N zt2yN)cq5FH%a6jR?5$u3tfrsQYeu$w7HUgWEiVr!mS8?3Dw&TZqTiH*^%I?)P56H* zIpbG9<;L6gr#vQSk0P4+>XnEI+AVMAuU?r?$5c2exf6`LeX$gYnIy>C(v91{Y$CP1eae-VE_}vgzq_^3a z6QzcsG0}%-&h1SgHN$2D{V)ujE3T$#@1BK4bS2)k_36_YtInRYX0BfYswnw2-(?}( z4&P}VsN$MssJH_DHYl9kn@eIz-_rQs(oG+fmkd&PoBq}ds4T10IS(ZF&Biqq&^qV- zkT2ht;>s$?sqefm4c_)$st`sTbmLujlVB(0R}zcKRcPC590{iO;dD+yE!cpAN(0T{ zytFA@fLE^TYiNsy$q=rW@(AYy-AF48$kW-SrA;eVDY`Y%Jp>5lG=6-+R1tl)mNn&tcb&{4zNYHcbx=#C)ClD~mB6Nk8(p)M zh>z8wMoZCzDH>nN<^+?~B6qV%RkbNwGNi|*?=IQHU>e8isvsXryJ6a!pnKKU^LxoT z%=lju=LM9)yQ`W8w#f)_r$W_dxQY%UYfgqQFB>BoIb;Qywu}7(EIpY$$Rud(aZY($ z7!N7W_oWoO39_ZYAdpQyFzWXrr(9Ng#{sfX06VPv!$cl2ZSsz3B#UR90e|#*y>lDqE1|tLuThj+2EFZC1#VuvG&h^Jb4!Kv6!yr2wLB!!8A(dD*(=_x!Er}A4<#2 z0r^NrL;B&fAwT4B$gle8*!Xa4xsgvv-l!S2s~A$rGU^(+)N593;oR(doSjn5VGMl* zPWn5|(}}Q#p^t*Ueg3!4>y~vm=;b1Zqtp%XuV}LnSc#%7E-@)-PGihUIc{8`qZE}- ztJbE+O8`UUEhYeZ^cP?Nn#BZ_NdNBc*x{ey|L415u=fg>McOQ~7t;1n2O642Z5sD2 zZq<1pY2Ue5llpy2e%o>|idBk%eZ4U&y9AAFZ-4eX`{dVvRQCG42faamAK0!{-pj8) za36j69339w-@*NRefmA%-~9FH?q`Gk;O@b_!=u5$;IsbV-k^W-rsykU~?F@Jw2pD#Y&UzNrFC`tF@^i7ao1K*WyZ<9cULC03hWDcj7#3>|0 zh(7>Gw&e$b&-OMw+tK8DAw9+1fNx;UkRTj$L16mj$?Ml$q_j+CxJ39J^^F{OTuh@e z`D~L$A^G{okd#T-Bw+B1jDl7^DYD=Z?OJ4Cyp9(@Xz+DhWPhJrj((1MSuw)`tAd_i zESLFkf8V^?=b>FJQI)d2HBZKITGBLLJbQ&t@_DpG^g>FXJHTAtIq%}VUIb(bxM9pm zv~?Cf#z+WRPWJq#K&7!2)!V88aUBU$?t4TsR#i7pW zn7;16j5!9HE&g1_28F&oeHNVLfB{jR1;1gefxPD6bWr>o7zHLFeXhzdDEB0t&65(_ z+|pLRWx5Td{FD+&bMwJ77#Lj31#Ps$ZWqmwXmwTjtvd4)vVU0QhlJQ)Eul*Fa&H+TU{Jdeu|cLtNIzxHA4&X4Jx z-cMPQ?kF6RK0%T=qsd(d*`WOT^@1B>{ob``%8+HG__RfM-ud03_|5VEqYKQL`#hU{ zO8h?<-0u_qKN{RWJi0$PBK&`JaEt#x#pj^kKinG}>>c!jgS*4QK@jjlfMoKYfrWcu z3c7;B^Xp;ouY5w+=tcuqZf`p+^#{YjgZ7r-)WTN^w=y*{4TjYMMjE50EEuiTn!N8d zX-9KHjtgmg#?{`V?D$*NQgE4mD>QEj&GZ{>@VZ=QYq!jTq7=re|?ML3>6NK`bs2rlVPe_7+$>pX0?t5z#ilTiZgHHEc zwWz%aKpZ5EMMMr?Y!71#emUqJu;)=UBCiuNCLyZ{tPA^zd9ztf2nz*koJZ(y6<|He zi%m^)PbZTiiPGR7aWV%GKmj!wO9AWyMtp^-KA@$D?|UDD|s#jrm~wklBLQm&>`%r8!w9%^DT;hR&tZct;2j5?`o zX_z=NJ5%Vm@rMfrURnzA%hmH?VnB2}zfC7DNg(=W7z%<9ZUCQ8 z1`{|CKU|=?&50NWJ4X$Tg$hWlLZmWFfxo3_tQhmaSwT}AlLgk2D8L~EQBZM`unQ3R zYvM6n5eDl9!1)%}%VZIo+2K7lE^}9R(GR%7D@$pHcn$)>*QSrWh!LtvptRhbtatxD z{0j#6hKGkOMCxlgkfRl;@L5MTx`y*OUIJu&kNM`ND?HAX77vH8kMGjrqil{O8ybXp zC5VV-Q86(A9Rnngu(}HiPhxHX1af7FS*W&8pfgoXKfKpgDK2KHjRjCCafUA=^ep{4o{xbVWW!+ZD>kVz#w2Lg5ttq0*f6vi94>~n zz6lXcK)`#azN@=34rJ_CTAyqnX_$@?50_+o=s8mu1pUL|!C?dc<*-Qs%U8&Vu^dkX z=jnIPaV0^3uQk~3Z?KR(#k-DOj6gwb<7yBbGzPk;^a?xiV1r(fNUOrZvQT50pffS- z80RKeg!6fJMYNWgjMCvjjEN7WHp44~*^F2+Y@%V~gS`{E6>w)v2yox}*YAw3m9%tB zKn!|}Au@K^a<#)F)_dQ;ZyO3=6JCr^=w%;UGCdJ@T{cuzq~)54Y0LpR>0Lt1SP^c%$BqGCi}%#up8j{M6m{SX<1pyouTH?8E;$9r0a4ym zYyF`l0Tr4mKlEzt4%Uj7DkQ8P*dEa9~wi>^1X!NKs}yJ7x;Q~xfq z4tI~*@jByY=ueiI2B2eSk6?SVNBs8S&o&^ z4hB;Apt7uI7-TxN{ zL<>h

  • " - -E. Viennet 2021-01-09 -""" -from __future__ import print_function - -import sys -import glob - -methods_filename = sys.argv[1] -constants_filename = sys.argv[2] - -with open(methods_filename) as f: - # module, method_name, signature - methods = [l.strip().split("\t") for l in f] - -print("%d methods" % len(methods)) - -with open(constants_filename) as f: - constants = [l[:-1].split("\t")[1] for l in f] - -print("%d constants" % len(constants)) - -# Add JavaScripts -jss = [] -for fn in glob.glob("static/js/*.js"): - jss.append(open(fn).read()) - -print("%d javascripts" % len(jss)) - -L = [] -for method in methods: - n = 0 - for c in constants: - if method[1] in c: - n += 1 - nj = 0 - for js in jss: - if method[1] in js: - nj += 1 - L.append(method + [n, nj]) - -# Sort by decreasing popularity -L.sort(key=lambda x: (x[-1] + x[-2], x[1]), reverse=True) -print("\n".join(["%s\t%s\t%s\t%d\t%d" % tuple(l) for l in L])) diff --git a/misc/count_inscriptions.py b/misc/count_inscriptions.py deleted file mode 100644 index 78cb9b36..00000000 --- a/misc/count_inscriptions.py +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -"""Affiche nombre d'inscriptions aux semestres pour chaque etudiant - - et supprime les etudiants jamais inscrits ayant un homonyme exact - (erreur passage GEA, fev 2007) -""" - -from __future__ import print_function -import csv -import pdb -import sys -import psycopg2 - -DBCNXSTRING = "host=localhost user=scogea dbname=SCOXXXX password=XXXXX" - -SCO_ENCODING = "utf-8" - -cnx = psycopg2.connect(DBCNXSTRING) - -cursor = cnx.cursor() -cursor.execute("select * from identite i order by nom") -R = cursor.dictfetchall() - -nzero = 0 -nhomonoins = 0 -print("etudid, nom, prenom, nb_inscriptions") -for e in R: - cursor.execute( - "select count(*) from notes_formsemestre_inscription where etudid=%(etudid)s", - {"etudid": e["etudid"]}, - ) - nbins = cursor.fetchone()[0] - if nbins == 0: - nzero += 1 - # recherche homonyme - cursor.execute( - "select * from identite i where nom=%(nom)s and prenom=%(prenom)s", e - ) - H = cursor.dictfetchall() - if len(H) == 2: - nhomonoins += 1 - print(e["etudid"], e["nom"], e["prenom"], nbins) - # etudiant non inscrit ayant un homonyme exact: - # il doit etre supprimé !!! - # cursor.execute("delete from admissions where etudid=%(etudid)s", e) - # cursor.execute("delete from identite where etudid=%(etudid)s", e) - -cnx.commit() - -print("= %d etudiants, %d jamais inscrits, %d avec homo" % (len(R), nzero, nhomonoins)) diff --git a/misc/create_user_table.sql b/misc/create_user_table.sql deleted file mode 100644 index 363a6943..00000000 --- a/misc/create_user_table.sql +++ /dev/null @@ -1,27 +0,0 @@ - -CREATE SEQUENCE sco_users_idgen; - -CREATE FUNCTION sco_users_newid( text ) returns text as ' - select $1 || to_char( nextval(''sco_users_idgen''), ''FM999999999'' ) - as result; - ' language SQL; - - --- Source pour Zope User Folder - -CREATE TABLE sco_users ( - user_id text default sco_users_newid('U') PRIMARY KEY, - user_name text unique, - passwd text not null, - roles text, - date_modif_passwd date default now(), - nom text, - prenom text, - email text, - dept text, -- departement d'appartenance - passwd_temp int default 0, -- 0 ok, 1 mot de passe temporaire - status text default NULL, -- NULL actif, 'old' ancien (pas de login possible) - date_expiration date, -- date limite, NULL => sans limite - login_edt text default NULL -- login logiciel emplois du temps (pour decodage ics) -) with oids; - diff --git a/misc/extract_code_strings.py b/misc/extract_code_strings.py deleted file mode 100755 index 651900d7..00000000 --- a/misc/extract_code_strings.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -"""Extract all string litterals from our code base. - -Useful to check if an API function is used in a generated web page ! - -Usage: - extract_code_strings.py source.py ... > string-constants.txt - - -Résultat utilisé par check_zope_usage.py - -E. Viennet 2021-01-09 -""" -from __future__ import print_function - -import sys -import ast -import types - -# L = [] -for srcfilename in sys.argv[1:]: - # print("processing %s" % srcfilename, file=sys.stderr) - with open(srcfilename) as f: - p = ast.parse(f.read()) - # L.extend(x.s.strip() for x in ast.walk(p) if x.__class__ == ast.Str) - for x in ast.walk(p): - if x.__class__ == ast.Str: - if isinstance(x.s, str): - s = x.s - else: - s = x.s.encode("UTF-8") - # remove tabs and cr - s = s.replace("\t", "").replace("\n", "") - if len(s): - print("%s\t%s" % (srcfilename, s)) - -# L = sorted(set(L)) # uniq | sort -# print("\n".join(L)) diff --git a/misc/iscid_create_formation_from_xls.py b/misc/iscid_create_formation_from_xls.py deleted file mode 100644 index 4ab38a74..00000000 --- a/misc/iscid_create_formation_from_xls.py +++ /dev/null @@ -1,141 +0,0 @@ -# -*- mode: python -*- -# -*- coding: utf-8 -*- - -# Creation d'une formation ISCID à partir d'un xls listant les modules - -# XXX TODO : a tester et moderniser (ects, verifier champs, python 3, importer codes depuis ScoDoc ?) - -import os, sys, pdb, pprint -from openpyxl import load_workbook # apt-get install python-openpyxl -from xml.etree import ElementTree - -SCO_ENCODING = "utf-8" - -INPUT_FILENAME = "/tmp/Bachelor.xlsx" -OUTPUT_FILENAME = os.path.splitext(INPUT_FILENAME)[0] + ".xml" - -FIRST_SHEET_IDX = 1 # saute première feuille du classeur - - -# Code de ScoDoc (sco_utils.py) -UE_STANDARD = 0 # UE "fondamentale" -UE_SPORT = 1 # bonus "sport" -UE_STAGE_LP = 2 # ue "projet tuteuré et stage" dans les Lic. Pro. -UE_ELECTIVE = 4 # UE "élective" dans certains parcours (UCAC?, ISCID) -UE_PROFESSIONNELLE = 5 # UE "professionnelle" (ISCID, ...) - -# Code du fichier Excel: -UE_TYPE2CODE = {u"UE F": UE_STANDARD, u"UE E": UE_ELECTIVE} - -# Lecture du fichier Excel -UE = [] -wb = load_workbook(filename=INPUT_FILENAME) -# print wb.get_sheet_names() - -for sheet_name in wb.get_sheet_names()[FIRST_SHEET_IDX:]: - print "Importing sheet %s" % sheet_name - sheet = wb.get_sheet_by_name(sheet_name) - # Avance jusqu'à trouver le titre 'CODE' en premiere colonne - i = 0 - while i < len(sheet.rows) and sheet.rows[i][0].value != "CODE": - i = i + 1 - - i = i + 1 - ue = None - while i < len(sheet.rows): - code = sheet.rows[i][0].value - type_ue = sheet.rows[i][2].value - if type_ue in UE_TYPE2CODE: - if ue: - UE.append(ue) - # creation UE - acronyme = code # ici l'acronyme d'UE est le code du module - if not acronyme and (i < len(sheet.rows) - 1): - acronyme = sheet.rows[i + 1][0].value # code module sur ligne suivante - # print acronyme - if acronyme: # tres specifique: deduit l'acronyme d'UE du code module - parts = acronyme.split(u"-") - parts[-1] = parts[-1][-1] # ne garde que le dernier chiffre - acronyme = u"-".join(parts) # B1-LV1-EN1 -> B1-LV1-1 - # print '->', acronyme - if not acronyme: - acronyme = sheet.rows[i][3].value # fallback: titre - ue = { - "acronyme": acronyme, - "titre": sheet.rows[i][3].value, - "ects": sheet.rows[i][5].value or u"", - "type": UE_TYPE2CODE[type_ue], - "numero": (sheet.rows[i][1].value or 0) * 1000 + i * 10, - "modules": [], - } - i_ue = i - if code: - ue["modules"].append( - { - "code": code, - "heures_td": sheet.rows[i_ue][4].value or u"", - "titre": sheet.rows[i][3].value, - "semestre_id": sheet.rows[i][1].value, - "numero": i * 10, - } - ) - - i += 1 # next line - - if ue: - UE.append(ue) - - -def sstr(s): - if type(s) is type(u""): - return s.encode(SCO_ENCODING) - else: - return str(s) - - -# ----- Write to XML -doc = ElementTree.Element( - "formation", - acronyme="Bachelor ISCID", - code_specialite="", - type_parcours="1001", - titre_officiel="Bachelor ISCID", - formation_code="FCOD4", - version="1", - titre="Bachelor ISCID", - formation_id="FORM115", -) - -for ue in UE: - x_ue = ElementTree.Element( - "ue", - acronyme=sstr(ue["acronyme"]), - ects=sstr(ue["ects"]), - titre=sstr(ue["titre"]), - numero=sstr(ue["numero"]), - type=sstr(ue["type"]), - ) - doc.append(ue) - x_mat = ElementTree.Element( - "matiere", titre=sstr(ue["titre"]) - ) # useless but necessary - x_ue.append(x_mat) - for m in ue["modules"]: - x_mod = ElementTree.Element( - "module", - coefficient="1.0", - code=sstr(m["code"]), - heures_td=sstr(m["heures_td"]), - titre=sstr(m["titre"]), - abbrev=sstr(m["titre"]), - semestre_id=sstr(m["semestre_id"]), - numero=sstr(m["numero"]), - ) - x_mat.append(x_mod) - -# --- -print "Writing XML file: ", OUTPUT_FILENAME -f = open(OUTPUT_FILENAME, "w") -f.write("""\n""") -f.write(str(doc)) -f.close() diff --git a/config/anonymize_db.py b/tools/anonymize_db.py similarity index 98% rename from config/anonymize_db.py rename to tools/anonymize_db.py index 9492764f..f01ca695 100755 --- a/config/anonymize_db.py +++ b/tools/anonymize_db.py @@ -29,7 +29,7 @@ """Anonymize une base de données ScoDoc -Runned as "www-data" with scodoc and postgresql up. +Runned as user "scodoc" with scodoc and postgresql up. E. Viennet, Jan 2019 """ diff --git a/config/config.sh b/tools/config.sh similarity index 54% rename from config/config.sh rename to tools/config.sh index eaed2f75..c17c6c7e 100644 --- a/config/config.sh +++ b/tools/config.sh @@ -16,43 +16,31 @@ export PATH="${PATH}":/usr/sbin:/sbin # ScoDoc: environment variables umask 0022 -export SCODOC_DIR=/opt/scodoc/Products/ScoDoc +export SCODOC_DIR=/opt/scodoc8 -SCODOC_VAR_DIR=$(realpath -L "$SCODOC_DIR/../../var/scodoc") || die "can't set SCODOC_VAR_DIR" +SCODOC_VAR_DIR=$(realpath -L "$SCODOC_DIR/var") || die "can't set SCODOC_VAR_DIR" export SCODOC_VAR_DIR # = /opt/scodoc/var/scodoc export SCODOC_VERSION_DIR="${SCODOC_VAR_DIR}/config/version" export SCODOC_LOGOS_DIR="${SCODOC_VAR_DIR}/config/logos" + +# user running ScoDoc server: +export SCODOC_USER=scodoc +export SCODOC_GROUP=root + +# Postgresql normal user: (same as unix user) +# IMPORTANT: must match SCO_DEFAULT_SQL_USER defined in sco_utils.py +export POSTGRES_USER="$SCODOC_USER" # Postgresql superuser: export POSTGRES_SUPERUSER=postgres -# Postgresql normal user: (by default, same a zope==www-data) -# IMPORTANT: must match SCO_DEFAULT_SQL_USER defined in sco_utils.py -export POSTGRES_USER=www-data - # psql command: if various versions installed, force the one we want: if [ "${debian_version}" = "10" ] then PSQL=/usr/lib/postgresql/11/bin/psql export POSTGRES_SERVICE="postgresql@11-main.service" -elif [ "${debian_version}" = "9" ] -then - PSQL=/usr/lib/postgresql/9.6/bin/psql - export POSTGRES_SERVICE="postgresql" -elif [ "${debian_version}" = "8" ] -then - PSQL=/usr/lib/postgresql/9.4/bin/psql -elif [ "${debian_version}" = "7" ] -then - PSQL=/usr/lib/postgresql/9.1/bin/psql -elif [ "${debian_version}" = "5" ] - then - PSQL=/usr/lib/postgresql/8.3/bin/psql - elif [ "${debian_version}" = "6" ] - then - PSQL=/usr/lib/postgresql/8.4/bin/psql - else - PSQL=/usr/lib/postgresql/8.1/bin/psql +else + die "unsupported Debian version" fi export PSQL @@ -60,11 +48,3 @@ export PSQL # Important note: if changed, you should probably also change it in # sco_utils.py (SCO_DEFAULT_SQL_PORT). export POSTGRES_PORT=5432 - -# Utilise par le script de reset du mot de passe: -if [ "${debian_version}" -ge "7" ] -then - export ZOPE_VERSION=2.13 -else - export ZOPE_VERSION=2.11.0 -fi diff --git a/config/create_database.sh b/tools/create_database.sh similarity index 100% rename from config/create_database.sh rename to tools/create_database.sh diff --git a/config/create_dept.sh b/tools/create_dept.sh similarity index 91% rename from config/create_dept.sh rename to tools/create_dept.sh index e89834f9..1b564960 100755 --- a/config/create_dept.sh +++ b/tools/create_dept.sh @@ -4,7 +4,7 @@ # ScoDoc: creation initiale d'un departement # # Ce script prend en charge la creation de la base de donnees -# et doit être lancé par l'utilisateur unix root dans le repertoire .../config +# et doit être lancé par l'utilisateur unix root dans le repertoire .../tools # ^^^^^^^^^^^^^^^^^^^^^ # E. Viennet, Juin 2008 # @@ -56,14 +56,14 @@ then exit 1 fi -# --- Ensure postgres user www-data exists +# --- Ensure postgres user scodoc exists init_postgres_user # ----------------------- Create database su -c ./create_database.sh "$POSTGRES_SUPERUSER" # ----------------------- Create tables -# POSTGRES_USER == regular unix user (www-data) +# POSTGRES_USER == regular unix user (scodoc) if [ "$interactive" = 1 ] then su -c ./initialize_database.sh "$POSTGRES_USER" @@ -84,7 +84,7 @@ then read -r ans if [ "$(norm_ans "$ans")" != 'N' ] then - (cd "$SCODOC_DIR/config" || terminate "no config directory"; ./upgrade.sh) + (cd "$SCODOC_DIR/tools" || terminate "no config directory"; ./upgrade.sh) fi # ----------------------- echo diff --git a/config/default-etapes.txt b/tools/default-etapes.txt similarity index 100% rename from config/default-etapes.txt rename to tools/default-etapes.txt diff --git a/config/delete_dept.sh b/tools/delete_dept.sh similarity index 99% rename from config/delete_dept.sh rename to tools/delete_dept.sh index 46c55c01..7956a995 100755 --- a/config/delete_dept.sh +++ b/tools/delete_dept.sh @@ -8,7 +8,7 @@ # # Ne fonctionne que pour les configurations "standards" (dbname=xxx) # -# Il doit être lancé par l'utilisateur unix root dans le repertoire .../config +# Il doit être lancé par l'utilisateur unix root dans le repertoire .../tools # ^^^^^^^^^^^^^^^^^^^^^ # E. Viennet, Sept 2008 # diff --git a/config/diagnostic.sh b/tools/diagnostic.sh similarity index 93% rename from config/diagnostic.sh rename to tools/diagnostic.sh index 2e4b28ae..afec5906 100755 --- a/config/diagnostic.sh +++ b/tools/diagnostic.sh @@ -16,6 +16,8 @@ DEPTS_TO_SAVE="" SAVE_USERS=0 SEND_BY_MAIL=1 +SCODOC_HOME="/opt/scodoc8" + # ------------------------------------- # Arguments # ------------------------------------- @@ -97,10 +99,10 @@ copy_log() { fi } mkdir "$TMP"/scodoc_logs/ -copy_log /opt/scodoc/log/event.log -copy_log /opt/scodoc/log/event.log.1 -copy_log /opt/scodoc/log/notes.log -copy_log /opt/scodoc/log/notes.log.1 +copy_log "$SCODOC_HOME/log/event.log" +copy_log "$SCODOC_HOME/log/event.log.1" +copy_log "$SCODOC_HOME/log/notes.log" +copy_log "$SCODOC_HOME/log/notes.log.1" # ------------------------------------- @@ -108,16 +110,16 @@ copy_log /opt/scodoc/log/notes.log.1 # ------------------------------------- iptables -L > "$TMP"/iptables.out -ip a > "$TMP"/ifconfig.out +ip a > "$TMP"/ip-a.out ps auxww > "$TMP"/ps.out df -h > "$TMP"/df.out dpkg -l > "$TMP"/dpkg.lst -(cd /opt/scodoc/Products/ScoDoc; svn status > "$TMP"/svn.status) -(cd /opt/scodoc/Products/ScoDoc; svn diff > "$TMP"/svn.diff) +(cd "$SCODOC_HOME"; git status > "$TMP"/git.status) +(cd "$SCODOC_HOME"; git diff > "$TMP"/git.diff) -(cd /opt/scodoc/Products/ScoDoc; svnversion > "$TMP"/svn.version) -ls -laR /opt/scodoc/Products/ScoDoc > "$TMP"/ls-laR +(cd "$SCODOC_HOME"; git log -n 5 > "$TMP"/git.log) +ls -laR "$SCODOC_HOME" > "$TMP"/ls-laR # ------------------------------------- diff --git a/config/doc_poursuites_etudes/README.txt b/tools/doc_poursuites_etudes/README.txt similarity index 100% rename from config/doc_poursuites_etudes/README.txt rename to tools/doc_poursuites_etudes/README.txt diff --git a/config/doc_poursuites_etudes/distrib/README.txt b/tools/doc_poursuites_etudes/distrib/README.txt similarity index 100% rename from config/doc_poursuites_etudes/distrib/README.txt rename to tools/doc_poursuites_etudes/distrib/README.txt diff --git a/config/doc_poursuites_etudes/distrib/avis.tex b/tools/doc_poursuites_etudes/distrib/avis.tex similarity index 100% rename from config/doc_poursuites_etudes/distrib/avis.tex rename to tools/doc_poursuites_etudes/distrib/avis.tex diff --git a/config/doc_poursuites_etudes/distrib/avisPE.cls b/tools/doc_poursuites_etudes/distrib/avisPE.cls similarity index 100% rename from config/doc_poursuites_etudes/distrib/avisPE.cls rename to tools/doc_poursuites_etudes/distrib/avisPE.cls diff --git a/config/doc_poursuites_etudes/distrib/make_avis.bat b/tools/doc_poursuites_etudes/distrib/make_avis.bat similarity index 100% rename from config/doc_poursuites_etudes/distrib/make_avis.bat rename to tools/doc_poursuites_etudes/distrib/make_avis.bat diff --git a/config/doc_poursuites_etudes/distrib/modeles/parcourstimeline.tex b/tools/doc_poursuites_etudes/distrib/modeles/parcourstimeline.tex similarity index 100% rename from config/doc_poursuites_etudes/distrib/modeles/parcourstimeline.tex rename to tools/doc_poursuites_etudes/distrib/modeles/parcourstimeline.tex diff --git a/config/doc_poursuites_etudes/distrib/modeles/un_avis.tex b/tools/doc_poursuites_etudes/distrib/modeles/un_avis.tex similarity index 100% rename from config/doc_poursuites_etudes/distrib/modeles/un_avis.tex rename to tools/doc_poursuites_etudes/distrib/modeles/un_avis.tex diff --git a/config/doc_poursuites_etudes/distrib/un_footer.tex b/tools/doc_poursuites_etudes/distrib/un_footer.tex similarity index 100% rename from config/doc_poursuites_etudes/distrib/un_footer.tex rename to tools/doc_poursuites_etudes/distrib/un_footer.tex diff --git a/config/etablissements.csv b/tools/etablissements.csv similarity index 100% rename from config/etablissements.csv rename to tools/etablissements.csv diff --git a/config/etc/scodoc-updater.service b/tools/etc/scodoc-updater.service similarity index 84% rename from config/etc/scodoc-updater.service rename to tools/etc/scodoc-updater.service index dd0ca9b9..7717cd3b 100644 --- a/config/etc/scodoc-updater.service +++ b/tools/etc/scodoc-updater.service @@ -14,5 +14,5 @@ Description=Update ScoDoc Software [Service] Type=oneshot -ExecStart=/opt/scodoc/Products/ScoDoc/config/upgrade.sh +ExecStart=/opt/scodoc8/tools/upgrade.sh diff --git a/config/etc/scodoc-updater.timer b/tools/etc/scodoc-updater.timer similarity index 100% rename from config/etc/scodoc-updater.timer rename to tools/etc/scodoc-updater.timer diff --git a/config/etc/scodoc.service b/tools/etc/scodoc.service similarity index 100% rename from config/etc/scodoc.service rename to tools/etc/scodoc.service diff --git a/config/get_scodoc_version.sh b/tools/get_scodoc_version.sh similarity index 100% rename from config/get_scodoc_version.sh rename to tools/get_scodoc_version.sh diff --git a/config/initialize_database.sh b/tools/initialize_database.sh similarity index 77% rename from config/initialize_database.sh rename to tools/initialize_database.sh index 9b81c7cd..7d126b7e 100755 --- a/config/initialize_database.sh +++ b/tools/initialize_database.sh @@ -1,16 +1,16 @@ #!/bin/bash # Initialize database (create tables) for a ScoDoc instance -# This script must be executed as www-data user +# This script must be executed as user scodoc # # $db_name and $DEPT passed as environment variables source config.sh source utils.sh -if [ "$(id -nu)" != "$POSTGRES_USER" ] +if [ "$(id -nu)" != "$SCODOC_USER" ] then - echo "$0: script must be runned as user $POSTGRES_USER" + echo "$0: script must be runned as user $SCODOC_USER" exit 1 fi @@ -20,4 +20,4 @@ $PSQL -U "$POSTGRES_USER" -p "$POSTGRES_PORT" "$db_name" -f "$SCODOC_DIR"/misc/c # Set DeptName in preferences: -echo "insert into sco_prefs (name, value) values ('DeptName', '"${DEPT}\'\) | $PSQL -U "$POSTGRES_USER" -p "$POSTGRES_PORT" "$db_name" \ No newline at end of file +echo "insert into sco_prefs (name, value) values ('DeptName', '"${DEPT}\'\) | $PSQL -U "$POSTGRES_USER" -p "$POSTGRES_PORT" "$db_name" diff --git a/config/install_debian10.sh b/tools/install_debian10.sh similarity index 86% rename from config/install_debian10.sh rename to tools/install_debian10.sh index fd80ef41..1e9e7c4b 100755 --- a/config/install_debian10.sh +++ b/tools/install_debian10.sh @@ -27,19 +27,8 @@ then fi # ------------ Permissions & directories -# source dir should be writable by scodoc to write bytecode files -chgrp www-data "$SCODOC_DIR" "$SCODOC_DIR"/ZopeProducts/* -chmod g+w "$SCODOC_DIR" "$SCODOC_DIR"/ZopeProducts/* +chown -R "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_DIR}" -if [ -d "${SCODOC_VAR_DIR}"/photos ]; then - chgrp -R www-data "${SCODOC_VAR_DIR}"/photos - chmod -R g+w "${SCODOC_VAR_DIR}"/photos -fi - -if [ ! -e "${SCODOC_VERSION_DIR}" ]; then - mkdir -p "${SCODOC_VERSION_DIR}" - chown www-data.www-data "${SCODOC_VERSION_DIR}" -fi # ------------ LOCALES echo @@ -64,7 +53,7 @@ done /usr/sbin/locale-gen --keep-existing - +# Voir si encore nécessaire avec ScoDoc8: ? if [ "$LANG" != "en_US.UTF-8" ] then # ceci est necessaire a cause de postgresql 8.3 qui @@ -76,9 +65,6 @@ then fi echo 'Done.' -# ------------ FIX pour passage Debian 7 -> Debian >= 8 -chsh -s /bin/sh www-data - # ------------ AJOUT DES PAQUETS NECESSAIRES apt-get update apt-get -y install subversion curl cracklib-runtime @@ -175,7 +161,7 @@ then fi # --- echo 'generation de /etc/apache2/sites-available/scodoc-site-ssl' - cat "$SCODOC_DIR"/config/etc/scodoc-site-ssl-apache2.4.orig | sed -e "s:YOUR\.FULL\.HOST\.NAME:$server_name:g" > /etc/apache2/sites-available/scodoc-site-ssl.conf + cat "$SCODOC_DIR"/tools/etc/scodoc-site-ssl-apache2.4.orig | sed -e "s:YOUR\.FULL\.HOST\.NAME:$server_name:g" > /etc/apache2/sites-available/scodoc-site-ssl.conf echo 'activation du site...' a2ensite scodoc-site-ssl @@ -185,7 +171,7 @@ then then mv $fn $fn.bak fi - cp "$SCODOC_DIR"/config/etc/scodoc-site.orig $fn + cp "$SCODOC_DIR"/tools/etc/scodoc-site.orig $fn if [ -z "$(grep Listen /etc/apache2/ports.conf | grep 443)" ] then @@ -218,7 +204,7 @@ read ans if [ "$(norm_ans "$ans")" != 'N' ] then # ScoDoc 7.19+ uses systemd - $SCODOC_DIR/config/configure_systemd.sh + $SCODOC_DIR/tools/configure_systemd.sh fi @@ -228,8 +214,8 @@ echo -n "Mises a jour hebdomadaires (tres recommande) ? (y/n) [y] " read ans if [ "$(norm_ans "$ans")" != 'N' ] then - cp "$SCODOC_DIR"/config/etc/scodoc-updater.service /etc/systemd/system - cp "$SCODOC_DIR"/config/etc/scodoc-updater.timer /etc/systemd/system + cp "$SCODOC_DIR"/tools/etc/scodoc-updater.service /etc/systemd/system + cp "$SCODOC_DIR"/tools/etc/scodoc-updater.timer /etc/systemd/system systemctl enable scodoc-updater.timer systemctl start scodoc-updater.timer fi @@ -241,7 +227,7 @@ echo echo "Vous pouvez maintenant creer la base d'utilisateurs avec ./create_user_db.sh" echo "puis creer un departement avec ./create_dept.sh" echo "Ou bien restaurer vos donnees a partir d'une ancienne installation a l'aide du script restore_scodoc_data.sh" -echo "(voir https://trac.lipn.univ-paris13.fr/projects/scodoc/wiki/MigrationDonneesScoDoc)" +echo "(voir https://scodoc.org/MigrationDonneesScoDoc/)" echo diff --git a/config/postupgrade-db.py b/tools/postupgrade-db.py similarity index 99% rename from config/postupgrade-db.py rename to tools/postupgrade-db.py index 1c69351d..bec3038e 100755 --- a/config/postupgrade-db.py +++ b/tools/postupgrade-db.py @@ -6,7 +6,7 @@ ScoDoc post-upgrade script: databases housekeeping This script is runned by upgrade.sh after each SVN update. -Runned as "www-data" with Zope shutted down and postgresql up. +Runned as "scodoc" with ScoDoc shutted down and postgresql up. Useful to update database schema (eg add new tables or columns to diff --git a/tools/postupgrade.py b/tools/postupgrade.py new file mode 100755 index 00000000..c776254d --- /dev/null +++ b/tools/postupgrade.py @@ -0,0 +1,31 @@ +#!/opt/zope213/bin/python +# -*- coding: utf-8 -*- + +""" +ScoDoc post-upgrade script. + +This script is launched by upgrade.sh after each SVN update. + +Run as "root" with Zope shutted down and postgresql up, +_before_ upgrading the database. + +E. Viennet, June 2008 +Mar 2017: suppress upgrade of very old Apache configs +Aug 2020: move photos to .../var/scodoc/ +Apr 2021: bug #70 +Jun 2021: update for ScoDoc8 +""" +import os +import sys +import glob +import shutil +from scodocutils import log, SCODOC_DIR, SCODOC_VAR_DIR, SCODOC_LOGOS_DIR, SCO_TMPDIR + +if os.getuid() != 0: + log("postupgrade.py: must be run as root") + sys.exit(1) + +# Continue here... + +# --- +sys.exit(0) diff --git a/config/psql_restore_databases.sh b/tools/psql_restore_databases.sh similarity index 53% rename from config/psql_restore_databases.sh rename to tools/psql_restore_databases.sh index e18f5950..ad4046a2 100755 --- a/config/psql_restore_databases.sh +++ b/tools/psql_restore_databases.sh @@ -5,18 +5,6 @@ PG_DUMPFILE=$1 -# Check locale of installation. If invalid, reinitialize all system - -is_latin1=$(psql -l | grep postgres | grep iso88591 | wc -l) -if [ "$is_latin1" -gt 1 ] -then - echo "Recreating postgres cluster using UTF-8" - - pg_dropcluster --stop 9.1 main - - pg_createcluster --locale en_US.UTF-8 --start 9.1 main -fi - # Drop all current ScoDoc databases, if any: for f in $(psql -l --no-align --field-separator . | grep SCO | cut -f 1 -d.); do diff --git a/config/restore_scodoc_data.sh b/tools/restore_scodoc_data.sh similarity index 80% rename from config/restore_scodoc_data.sh rename to tools/restore_scodoc_data.sh index e94b1511..bba6c104 100755 --- a/config/restore_scodoc_data.sh +++ b/tools/restore_scodoc_data.sh @@ -6,14 +6,10 @@ # Utile pour migrer ScoDoc d'un serveur a un autre # A executer en tant que root sur le nouveau serveur # -# E. Viennet, Sept 2011, Nov 2013, Mar 2017, Aug 2020 +# E. Viennet, Sept 2011, Nov 2013, Mar 2017, Aug 2020, Jul 2021 # - -INSTANCE_DIR=/opt/scodoc/ -SCODOC_DIR="${INSTANCE_DIR}/Products/ScoDoc" -SCODOC_VAR_DIR="${INSTANCE_DIR}/var/scodoc" - +source config.sh source utils.sh check_uid_root "$0" @@ -78,19 +74,19 @@ chmod a+rx "$SRC" chmod a+r "$SRC"/scodoc.dump.txt PG_DUMPFILE="$SRC/scodoc.dump.txt" -su -c "$SCODOC_DIR/config/psql_restore_databases.sh $PG_DUMPFILE" postgres +su -c "$SCODOC_DIR/tools/psql_restore_databases.sh $PG_DUMPFILE" postgres # echo Copying data files... -rm -rf "${INSTANCE_DIR:?}/var" -$COPY "$SRC/var" "$INSTANCE_DIR" +rm -rf "${SCODOC_DIR:?}/var" +$COPY "$SRC/var" "$SCODOC_DIR" if [ ! -e "${SCODOC_VAR_DIR:?}/config/" ] then mkdir "${SCODOC_VAR_DIR:?}/config/" - chown www-data.www-data "${SCODOC_VAR_DIR:?}/config/" - chmod 775 "${SCODOC_VAR_DIR:?}/config/" + chown "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_VAR_DIR:?}/config/" + chmod 755 "${SCODOC_VAR_DIR:?}/config/" fi rm -rf "${SCODOC_DIR:?}/config/depts" @@ -119,15 +115,12 @@ then iconv -f iso8859-15 -t utf-8 "$SCODOC_DIR/config/scodoc_config.py.orig" > "$SCODOC_DIR/config/scodoc_config.py" fi -rm -rf "${INSTANCE_DIR:?}/log" -$COPY "$SRC/log" "$INSTANCE_DIR/" +rm -rf "${SCODOC_DIR:?}/log" +$COPY "$SRC/log" "$SCODOC_DIR/" # Fix file ownership and access rights -chown -R www-data.root "$INSTANCE_DIR/log" -chown -R www-data.root "$INSTANCE_DIR/var" -chmod 775 "$INSTANCE_DIR./log" "$INSTANCE_DIR./var" -chown -R www-data.root "$SCODOC_DIR" -chmod -R 775 "$SCODOC_DIR" +chown -R "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_DIR}" +chmod -R 755 "$SCODOC_DIR" # Remove tmp directory if [ "$IS_TMP" = "1" ] diff --git a/config/save_scodoc_data.sh b/tools/save_scodoc_data.sh similarity index 56% rename from config/save_scodoc_data.sh rename to tools/save_scodoc_data.sh index e599525f..8e98f278 100755 --- a/config/save_scodoc_data.sh +++ b/tools/save_scodoc_data.sh @@ -6,8 +6,9 @@ # Utile pour migrer ScoDoc d'un serveur a un autre # Executer en tant que root sur le serveur d'origine # -# E. Viennet, Sept 2011, Aug 2020 +# E. Viennet, Sept 2011, Aug 2020, Jul 2021 # +source config.sh source utils.sh check_uid_root "$0" @@ -33,15 +34,6 @@ else exit 2 fi -INSTANCE_DIR=/opt/scodoc -SCODOC_DIR="$INSTANCE_DIR/Products/ScoDoc" - -<<<<<<< HEAD -======= -source utils.sh -check_uid_root "$0" - ->>>>>>> e2a2b0f0836fc6de922c35b77b236379783e7590 echo "Stopping ScoDoc..." scodocctl stop @@ -51,44 +43,18 @@ chown postgres "$DEST" su -c "pg_dumpall > \"$DEST\"/scodoc.dump.txt" postgres if [ ! "$?" -eq 0 ] then -<<<<<<< HEAD printf "Error dumping postgresql database\nPlease check that SQL server is running\nAborting.\n" -======= - printf "Error dumping postgresql database\nPlease check that SQL server is running\nAborting." ->>>>>>> e2a2b0f0836fc6de922c35b77b236379783e7590 exit 1 fi chown root "$DEST" -# Zope DB, ScoDoc archives, configuration, photos, etc. +# ScoDoc archives, configuration, photos, etc. echo "Copying var/ ..." -cp -rp "$INSTANCE_DIR/var" "$DEST" +cp -rp "$SCODOC_DIR/var" "$DEST" -# Depts db config (now in .../var) -shopt -s nullglob -if [ -n "$(echo ${SCODOC_DIR}/config/depts/*.cfg)" ] -then - echo "Copying legacy depts configs..." - cp -rp "$SCODOC_DIR/config/depts" "$DEST" -fi - - - -# Photos des etudiants (now in .../var) -if [ -e "$SCODOC_DIR/static/photos" ] -then - echo "Copying legacy photos..." - cp -rp "$SCODOC_DIR/static/photos" "$DEST" -fi - -echo "Copying logos..." -cp -rp "$SCODOC_DIR/logos" "$DEST" - -echo "Copying configuration file..." -cp -p "$SCODOC_DIR/config/scodoc_config.py" "$DEST" echo "Copying server logs..." -cp -rp "$INSTANCE_DIR/log" "$DEST" +cp -rp "$SCODOC_DIR/log" "$DEST" # --- Archive all files in a tarball to ease transfer diff --git a/config/scodoc_config.py b/tools/scodoc_config.py similarity index 98% rename from config/scodoc_config.py rename to tools/scodoc_config.py index 098b85c3..7173559a 100644 --- a/config/scodoc_config.py +++ b/tools/scodoc_config.py @@ -118,7 +118,7 @@ CONFIG.CUSTOM_HTML_FOOTER_CNX = CONFIG.CUSTOM_HTML_FOOTER # Fichier de correspondance codelycee -> noms # (chemin relatif au repertoire d'install des sources) -CONFIG.ETABL_FILENAME = "config/etablissements.csv" +CONFIG.ETABL_FILENAME = "tools/etablissements.csv" # ---------------------------------------------------- diff --git a/config/scodoc_config_tmpl.py b/tools/scodoc_config_tmpl.py similarity index 97% rename from config/scodoc_config_tmpl.py rename to tools/scodoc_config_tmpl.py index 00e5fc73..b13b27dc 100644 --- a/config/scodoc_config_tmpl.py +++ b/tools/scodoc_config_tmpl.py @@ -3,7 +3,7 @@ # # Configuration globale de ScoDoc (version juin 2009) -# Ce fichier est copié dans /opt/scodoc/var/scodoc/config +# Ce fichier est copié dans /opt/scodoc8/var/scodoc/config # par les scripts d'installation/mise à jour. # La plupart des réglages sont stoqués en base de donnée et accessibles via le web @@ -101,7 +101,7 @@ CONFIG = CFG() # ----------------------------------------------------- # Fichier de correspondance codelycee -> noms # (chemin relatif au repertoire d'install des sources) -# CONFIG.ETABL_FILENAME = "config/etablissements.csv" +# CONFIG.ETABL_FILENAME = "tools/etablissements.csv" # ---------------------------------------------------- diff --git a/config/scodocutils.py b/tools/scodocutils.py similarity index 100% rename from config/scodocutils.py rename to tools/scodocutils.py diff --git a/config/upgrade.sh b/tools/upgrade.sh similarity index 73% rename from config/upgrade.sh rename to tools/upgrade.sh index 4f824165..0a451fd1 100644 --- a/config/upgrade.sh +++ b/tools/upgrade.sh @@ -10,7 +10,7 @@ # # E. Viennet, sep 2013, mar 2017, jun 2019, aug 2020, dec 2020 -cd /opt/scodoc/Products/ScoDoc/config || { echo "Invalid directory"; exit 1; } +cd /opt/scodoc8 || { echo "Invalid directory"; exit 1; } source config.sh source utils.sh @@ -21,13 +21,6 @@ if [ -z "$SCODOC_UPGRADE_RUNNING" ] apt-get update && apt-get -y dist-upgrade fi -# Upgrade svn working copy if possible -svnver=$(svn --version --quiet) -# shellcheck disable=SC2072 -if [[ ${svnver} > "1.7" ]] -then - (cd "$SCODOC_DIR"; find . -name .svn -type d -exec dirname {} \; | xargs svn upgrade) -fi scodocctl stop @@ -39,7 +32,7 @@ SVNVERSION=$(cd ..; svnversion) if [ ! -e "${SCODOC_VERSION_DIR}" ]; then mkdir -p "${SCODOC_VERSION_DIR}" - chown www-data.www-data "${SCODOC_VERSION_DIR}" + chown "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_VERSION_DIR}" fi if [ ! -e "${SCODOC_VERSION_DIR}"/scodoc.sn ]; then if [ -e "$SCODOC_DIR"/config/scodoc.sn ]; then @@ -79,30 +72,14 @@ then fi # Fix some permissions which may have been altered in the way: -chsh -s /bin/sh "$POSTGRES_USER" # www-data, nologin in Debian 9 -chown root.www-data "$SCODOC_DIR" # important to create .pyc -chmod 775 "${SCODOC_DIR}" -chmod a+r "$SCODOC_DIR"/*.py +chown -R "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_DIR}" +chmod -R 775 "${SCODOC_DIR}" -chown -R root.www-data "$SCODOC_DIR"/config -chmod 775 "$SCODOC_DIR"/config -chmod a+rx "$SCODOC_DIR"/config/postupgrade-db.py -chmod a+r "$SCODOC_DIR"/config/scodocutils.py - -chown -R root.www-data "$SCODOC_DIR"/misc -chmod -R a+r "$SCODOC_DIR"/misc # depts dir: if [ ! -e "${SCODOC_VAR_DIR}/config/depts" ] then mkdir "${SCODOC_VAR_DIR}/config/depts" fi -# ScoDoc must be able to write to var directory: -chown -R www-data.www-data "${SCODOC_VAR_DIR}" -chmod -R u+w "${SCODOC_VAR_DIR}" - -# Important to create .pyc: -chgrp -R www-data "${SCODOC_DIR}"/ZopeProducts -chmod -R g+w "${SCODOC_DIR}"/ZopeProducts # Se recharge car ce fichier peut avoir change durant le svn up ! if [ -z "$SCODOC_UPGRADE_RUNNING" ] @@ -137,8 +114,8 @@ fi v=$(/opt/zope213/bin/python -c "import dateutil; print dateutil.__version__") [[ "$v" < "2.8.1" ]] && /opt/zope213/bin/pip install --upgrade python-dateutil -# Ensure www-data can duplicate databases (for dumps) -su -c $'psql -c \'alter role "www-data" with CREATEDB;\'' "$POSTGRES_SUPERUSER" +# Ensure scodoc can duplicate databases (for dumps) +su -c $'psql -c \'alter role "scodoc" with CREATEDB;\'' "$POSTGRES_SUPERUSER" #' # post-upgrade scripts diff --git a/config/utils.sh b/tools/utils.sh similarity index 89% rename from config/utils.sh rename to tools/utils.sh index 42ae9e2d..b192db7a 100644 --- a/config/utils.sh +++ b/tools/utils.sh @@ -49,13 +49,13 @@ scodocctl() { fi } -# --- Ensure postgres user www-data exists +# --- Ensure postgres user scodoc exists init_postgres_user() { # run as root if [ -z $(echo "select usename from pg_user;" | su -c "$PSQL -d template1 -p $POSTGRES_PORT" $POSTGRES_SUPERUSER | grep $POSTGRES_USER) ] then # add database user echo "Creating postgresql user $POSTGRES_USER" - su -c "createuser -p $POSTGRES_PORT --no-superuser --no-createdb --no-adduser --no-createrole ${POSTGRES_USER}" "$POSTGRES_SUPERUSER" + su -c "createuser -p $POSTGRES_PORT --createdb --no-superuser --no-adduser --no-createrole ${POSTGRES_USER}" "$POSTGRES_SUPERUSER" fi }