From 1fc6af755302348e50e228d7e2dcd678278d5573 Mon Sep 17 00:00:00 2001 From: pedrolab <531310-pedrolab@users.noreply.gitlab.com> Date: Mon, 6 Jul 2020 17:03:14 +0200 Subject: [PATCH 1/8] add pedro and its django tutorial #1 #2 --- README.md | 1 + pedro/.gitignore | 2 + pedro/django-tutorial/mysite/manage.py | 21 +++ .../django-tutorial/mysite/mysite/__init__.py | 0 pedro/django-tutorial/mysite/mysite/asgi.py | 16 +++ .../django-tutorial/mysite/mysite/settings.py | 121 ++++++++++++++++++ pedro/django-tutorial/mysite/mysite/urls.py | 22 ++++ pedro/django-tutorial/mysite/mysite/wsgi.py | 16 +++ .../django-tutorial/mysite/polls/__init__.py | 0 pedro/django-tutorial/mysite/polls/admin.py | 7 + pedro/django-tutorial/mysite/polls/apps.py | 5 + .../mysite/polls/migrations/0001_initial.py | 32 +++++ .../mysite/polls/migrations/__init__.py | 0 pedro/django-tutorial/mysite/polls/models.py | 21 +++ pedro/django-tutorial/mysite/polls/tests.py | 3 + pedro/django-tutorial/mysite/polls/urls.py | 7 + pedro/django-tutorial/mysite/polls/views.py | 9 ++ 17 files changed, 283 insertions(+) create mode 100644 pedro/.gitignore create mode 100755 pedro/django-tutorial/mysite/manage.py create mode 100644 pedro/django-tutorial/mysite/mysite/__init__.py create mode 100644 pedro/django-tutorial/mysite/mysite/asgi.py create mode 100644 pedro/django-tutorial/mysite/mysite/settings.py create mode 100644 pedro/django-tutorial/mysite/mysite/urls.py create mode 100644 pedro/django-tutorial/mysite/mysite/wsgi.py create mode 100644 pedro/django-tutorial/mysite/polls/__init__.py create mode 100644 pedro/django-tutorial/mysite/polls/admin.py create mode 100644 pedro/django-tutorial/mysite/polls/apps.py create mode 100644 pedro/django-tutorial/mysite/polls/migrations/0001_initial.py create mode 100644 pedro/django-tutorial/mysite/polls/migrations/__init__.py create mode 100644 pedro/django-tutorial/mysite/polls/models.py create mode 100644 pedro/django-tutorial/mysite/polls/tests.py create mode 100644 pedro/django-tutorial/mysite/polls/urls.py create mode 100644 pedro/django-tutorial/mysite/polls/views.py diff --git a/README.md b/README.md index 5becb7a..9f124d8 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,4 @@ into the ungleich clearning circle. * [Jin-Guk](https://code.ungleich.ch/kjg/ungleich-learning-circle): git@code.ungleich.ch:kjg/ungleich-learning-circle.git * [Sami](https://code.ungleich.ch/samialazar/learning-cicle): git@code.ungleich.ch:samialazar/learning-cicle.git * [Youngjin](https://code.ungleich.ch/youngjin.han/ungleich-learning-circle): git@code.ungleich.ch:youngjin.han/ungleich-learning-circle.git +* [Pedro](https://code.ungleich.ch/pedro/ungleich-learning-circle): git@code.ungleich.ch:pedro/ungleich-learning-circle.git diff --git a/pedro/.gitignore b/pedro/.gitignore new file mode 100644 index 0000000..154d790 --- /dev/null +++ b/pedro/.gitignore @@ -0,0 +1,2 @@ +*pyc +django-tutorial/mysite/db.sqlite3 diff --git a/pedro/django-tutorial/mysite/manage.py b/pedro/django-tutorial/mysite/manage.py new file mode 100755 index 0000000..341863c --- /dev/null +++ b/pedro/django-tutorial/mysite/manage.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/pedro/django-tutorial/mysite/mysite/__init__.py b/pedro/django-tutorial/mysite/mysite/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pedro/django-tutorial/mysite/mysite/asgi.py b/pedro/django-tutorial/mysite/mysite/asgi.py new file mode 100644 index 0000000..35d925e --- /dev/null +++ b/pedro/django-tutorial/mysite/mysite/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for mysite project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') + +application = get_asgi_application() diff --git a/pedro/django-tutorial/mysite/mysite/settings.py b/pedro/django-tutorial/mysite/mysite/settings.py new file mode 100644 index 0000000..82ed813 --- /dev/null +++ b/pedro/django-tutorial/mysite/mysite/settings.py @@ -0,0 +1,121 @@ +""" +Django settings for mysite project. + +Generated by 'django-admin startproject' using Django 3.0.8. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.0/ref/settings/ +""" + +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '37jgpv28n1x!f3-48h)4ad99&jz-ek$@e6uf*an5uve6%7atqq' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'polls.apps.PollsConfig', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'mysite.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'mysite.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Password validation +# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/3.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'Europe/Madrid' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.0/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/pedro/django-tutorial/mysite/mysite/urls.py b/pedro/django-tutorial/mysite/mysite/urls.py new file mode 100644 index 0000000..a3db229 --- /dev/null +++ b/pedro/django-tutorial/mysite/mysite/urls.py @@ -0,0 +1,22 @@ +"""mysite URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/3.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import include, path + +urlpatterns = [ + path('polls/', include('polls.urls')), + path('admin/', admin.site.urls), +] diff --git a/pedro/django-tutorial/mysite/mysite/wsgi.py b/pedro/django-tutorial/mysite/mysite/wsgi.py new file mode 100644 index 0000000..dbe7bb5 --- /dev/null +++ b/pedro/django-tutorial/mysite/mysite/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for mysite project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') + +application = get_wsgi_application() diff --git a/pedro/django-tutorial/mysite/polls/__init__.py b/pedro/django-tutorial/mysite/polls/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pedro/django-tutorial/mysite/polls/admin.py b/pedro/django-tutorial/mysite/polls/admin.py new file mode 100644 index 0000000..d0e6a57 --- /dev/null +++ b/pedro/django-tutorial/mysite/polls/admin.py @@ -0,0 +1,7 @@ +from django.contrib import admin + +# Register your models here. + +from .models import Question + +admin.site.register(Question) diff --git a/pedro/django-tutorial/mysite/polls/apps.py b/pedro/django-tutorial/mysite/polls/apps.py new file mode 100644 index 0000000..d0f109e --- /dev/null +++ b/pedro/django-tutorial/mysite/polls/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class PollsConfig(AppConfig): + name = 'polls' diff --git a/pedro/django-tutorial/mysite/polls/migrations/0001_initial.py b/pedro/django-tutorial/mysite/polls/migrations/0001_initial.py new file mode 100644 index 0000000..330bbb6 --- /dev/null +++ b/pedro/django-tutorial/mysite/polls/migrations/0001_initial.py @@ -0,0 +1,32 @@ +# Generated by Django 3.0.8 on 2020-07-03 12:48 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Question', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('question_text', models.CharField(max_length=200)), + ('pub_date', models.DateTimeField(verbose_name='date published')), + ], + ), + migrations.CreateModel( + name='Choice', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('choice_text', models.CharField(max_length=200)), + ('votes', models.IntegerField(default=0)), + ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='polls.Question')), + ], + ), + ] diff --git a/pedro/django-tutorial/mysite/polls/migrations/__init__.py b/pedro/django-tutorial/mysite/polls/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pedro/django-tutorial/mysite/polls/models.py b/pedro/django-tutorial/mysite/polls/models.py new file mode 100644 index 0000000..bfd48bd --- /dev/null +++ b/pedro/django-tutorial/mysite/polls/models.py @@ -0,0 +1,21 @@ +import datetime + +from django.db import models +from django.utils import timezone + +# Create your models here. + +class Question(models.Model): + question_text = models.CharField(max_length=200) + pub_date = models.DateTimeField('date published') + def __str__(self): + return self.question_text + def was_published_recently(self): + return self.pub_date >= timezone.now() - datetime.timedelta(days=1) + +class Choice(models.Model): + question = models.ForeignKey(Question, on_delete=models.CASCADE) + choice_text = models.CharField(max_length=200) + votes = models.IntegerField(default=0) + def __str__(self): + return self.choice_text diff --git a/pedro/django-tutorial/mysite/polls/tests.py b/pedro/django-tutorial/mysite/polls/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pedro/django-tutorial/mysite/polls/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pedro/django-tutorial/mysite/polls/urls.py b/pedro/django-tutorial/mysite/polls/urls.py new file mode 100644 index 0000000..88a9cac --- /dev/null +++ b/pedro/django-tutorial/mysite/polls/urls.py @@ -0,0 +1,7 @@ +from django.urls import path + +from . import views + +urlpatterns = [ + path('', views.index, name='index'), +] diff --git a/pedro/django-tutorial/mysite/polls/views.py b/pedro/django-tutorial/mysite/polls/views.py new file mode 100644 index 0000000..6dcc115 --- /dev/null +++ b/pedro/django-tutorial/mysite/polls/views.py @@ -0,0 +1,9 @@ +from django.shortcuts import render + +# Create your views here. + +from django.http import HttpResponse + + +def index(request): + return HttpResponse("Hello, world. You're at the polls index.") From 8b9bf5030f2816a016ebe7cf02a17e1b74f6b389 Mon Sep 17 00:00:00 2001 From: pedrolab <531310-pedrolab@users.noreply.gitlab.com> Date: Mon, 13 Jul 2020 13:55:28 +0200 Subject: [PATCH 2/8] django tutorial #3 done --- .../django-tutorial/mysite/mysite/settings.py | 7 ++- .../mysite/polls/templates/polls/detail.html | 6 ++ .../mysite/polls/templates/polls/index.html | 13 +++++ pedro/django-tutorial/mysite/polls/urls.py | 11 +++- pedro/django-tutorial/mysite/polls/views.py | 57 ++++++++++++++++++- 5 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 pedro/django-tutorial/mysite/polls/templates/polls/detail.html create mode 100644 pedro/django-tutorial/mysite/polls/templates/polls/index.html diff --git a/pedro/django-tutorial/mysite/mysite/settings.py b/pedro/django-tutorial/mysite/mysite/settings.py index 82ed813..0e2091c 100644 --- a/pedro/django-tutorial/mysite/mysite/settings.py +++ b/pedro/django-tutorial/mysite/mysite/settings.py @@ -25,7 +25,12 @@ SECRET_KEY = '37jgpv28n1x!f3-48h)4ad99&jz-ek$@e6uf*an5uve6%7atqq' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = [ + +"localhost", +"2a0a-e5c1-011f-0000-0000-0000-0000-0001.has-a.name" + +] # Application definition diff --git a/pedro/django-tutorial/mysite/polls/templates/polls/detail.html b/pedro/django-tutorial/mysite/polls/templates/polls/detail.html new file mode 100644 index 0000000..975db2a --- /dev/null +++ b/pedro/django-tutorial/mysite/polls/templates/polls/detail.html @@ -0,0 +1,6 @@ +
No polls are available.
+{% endif %} diff --git a/pedro/django-tutorial/mysite/polls/urls.py b/pedro/django-tutorial/mysite/polls/urls.py index 88a9cac..3e302ea 100644 --- a/pedro/django-tutorial/mysite/polls/urls.py +++ b/pedro/django-tutorial/mysite/polls/urls.py @@ -2,6 +2,15 @@ from django.urls import path from . import views +# namespacing URLs +app_name = 'polls' urlpatterns = [ - path('', views.index, name='index'), + # ex: /polls/ + path('', views.index, name='index'), + # ex: /polls/5/ + path('{{ error_message }}
{% endif %} + +OwqKn_KLyo-b ztn&>z->hTfG&`cw#u-}(A>;-iY`}oQNv`RpXmXCG+mo~zishGMiWz2?SyG9ymIRpD zahf2X`IwS_zF9J9nAz#@XRz5;TFQ>~Iq1r@u@;)4kKT5uqlw0**=m&qCxRAffD#HS zoPru^ea?Yeohs6?vWqppggfG@;Dz^UKKO7w-aYiVL(VVoO*bFYzB<>dulT8r-!1pC z5(|L0>>{AE#Tba7{(^k-T`h&hY;z5`+-%q(x#gm3?z!uT^Wx(!k|TMGlG9l4Iyv4L z4m7HalExM$2ub7!2bX?ioJ?*800Axg4Dpr_e`#@;R=ytc?W^N%=9)=bc3NwomFBRW z1<0w{lftVuXw0=qrdrE6BkCHXx;=Wc_0uDO0B{Tlw?!MHAkEyU9h>9P=R!xMB5j}n2um31 zPLrpbUCB`Xv4axrz*I3Wl}St*qteH8$3!jtMu*O;%#!kyJkQX{VRzzLZcGy>=e5aZ zuW60MB<7k#;Rbt-GFfDTvjs7LB7C0$l`2wUw&{+N=MH}ea(?ECRsF!` zj&)F|Z2q&3a|T#R1LkL>`=MKajA6HJS%Vk|I?yhtMN@BO!x!JO5V$hLq4s@nl^klN zE6MT7ch&NQ v9Y;;x32vLW}5bTXRJEO~a7S(~<6n=pFujAd-pZoY~rMx{}EPps7Uj*|+5 zHWogw04b^R2vL#x&yn+i&jYRDzW2coA6nCBA=h({dM)x+b+k`O^>ZIt1PE?)v;JGN zWI>E(#gsw^y6H`mVU1B%XdD|1*9OOhIQMlnsOjR+I+FU0q)KiYwY)|*UbGGuVGbSG zy^*}8`Z*z3b#!x;qMNRGGvqx?HnGE)?8+3@CSG%!OcbVkLvU4sZQujklVWJ nH1?pcctwS8)j!Nmb~>*xbwuGq!EKD#qOBrNM!81o``x2G p(2!?M-V+p;IN98>rf;PdzxUax}TK?Km!RiF#BN+L9bs z=CV4}QLh_C0~Ko+vzZH)-$+e{0OV!!qk>2!v3_Z-YR!^u$Ykd`r)djqG=mwu0C0d; zVb4<#<_F~Z&4U>%1nh3KeSw4DM$4DX7azgG6#yJ??(@?7#m%JtL*6{ZYA<2kYvU(S z0iS5NqQa`+AE^`C$UI`!k*T(MW+_P2?qp3?uo7*oTt$z1U1JxStz#W6`Rh^yn^eWl z *5G5? z@<8KPexr0M*AO`D7cPG2Q(^~p@|SJPB`(;|T>gW@TyBSD`2sKZQZG&QLi!R_Q{^Ln zRwV4ERdgj836KDGl}~QgUSpy$h!=r!hD2y}CfQ_xX<{52cnYv63dwN_qd*BBn0Z>@ zg9PUV17`+hPzJt;1q8PR!&n6;m}fCKBza~AmB$8cFnMf125OLlWI&8tuxG;bdUJ(e zNZ3W&14Z030zyC>;bTz02Y{|1bG;yi7M65ch%3PN3)fI~B=%V*RvsxfYvyrl)x|#> zc72$2NyAb}&e4WD#w>BT3(P_cEafe`kPN)VY}qg&7Lp7Y5^a45h#W#~P8L+gRfyx# zc1bl3*Wh-J*j)CaWw>-XlejO@5DIF*{&`mQdP;Htp6D0^;EDTnU=jmo?e#iTa#qz8 zGK}YMpzsK?I4TB}N2zcMqM(6nPzF)?i&Ciwpr8oQ$OfPgm1;nhz6gw3fCZaJ1zu1F zWbj6mFbY>0mC)FPIQS#-1p?jEPX|L^a>+g0lZ4#EaST8yBS4nCcPr7rKm4<6Ack7- zc!kIJVISrSJhu+@I7ld_kA}1l_L2>yc5^ufHz%bZI<{j1qDjWK3!an>$?!ngaEHu> zA%Rm2 H?kw2AO bjR_yw&~vOZNMNXsUjsHCWrk;nVQ r |hU^^9g4#1p`AmjD|4J8J)=lPauaV5VLRSWq8#T8qw69Otej`m?dPOf#iuCPy;o~ zkqV>ml=WGQfJzCE5TE`VSg58TpW-={0%w+px`A0ac^=3HYY>8~myCHP1XFNuc{YMe zI0B%DiC2|zRB$QBQDNwaq1f>rz+jjb#-U~73cJvb@?l|`)ms$h9s3}el$m0(5;o-U z9v9|Fn;9UL w$j_)1i2FXtLBE_9{P& DEj0xU{xj#_?<#jR$Vfb{x(+4 zIG)KN3ZK%ae!8A%$(|1T2!Se}4LhiS8kLIhi|na^rf{EGDV14C1~{l^M4*BI7lJux zjXs!XEtqkjm;Ps7um+>xdr=4t7YYp!f*re-v##Kwy^vY2nuQ_i3L`pV@Zg2`NSWjT z9{PisnTd4sv6=X>A8)9Tqv>PEMw+RKel$fbr!tWfG9j j|ZS#3+&O5wU> z*PwPv1#T}=oGZBw?V&I0;14zufNU^kS5+_#zyN>ioC AVjqeSo3p78-~5w9v@XUPFpG}1%9#R91NsM3`Ck$ms`3uzuuA| z(KZf+!wp8tQ_@CUA0kxeA})mpFZNfGi-=`zS3)eAOPA9gFa!;r 6nfH2o2dF#?Md;*rL4f(F@Z1s`HTx*_(wRrhK;=KhT$tvH~{rAP(BVw82U@PYZ|s z>FX@aA~itvQZhw;xy5W+mmz^uIK;(4g7bc>6e9Bgzyi!6zDZQwaKPix4c$;L#Yvpx zw!n9rx6!b-!Bj9c)Bu0`w+t|*kmfu#<1mQ(DE?YRn1Nok^RF2bR`>=c-Wf7wfR!2B zrxNS2ijd4#*}@kql~*~;&^)?T>7MLK%*pJqcFLYp`HLTjc{)gNTHpm z zg}Q-LEU7wJaAE+0WRRAb0v}>5#yESSd9$j!# m9g;nd{iIPW#9IF&)J4AKw=svQ; 4%1cAw4CV9;E(}iE}RQ zpti)-TnFsQkFyTlAP#5OIHO!{_Mk8Jzz*0DfbXhz6%4q5O8~EIlkT<}e+L`Sge5}B zxX3dlK{Pwxc`+$`CR8%br#lLdaHuid%vH(5I-JawJIoh**1vex(#*rBtGZ-Om6-R7 zUzvHt_{5`-2~SCjm*9$_0E?NRfs!ZJvU`?q^n{TG#$uce&+s0_V6*ACst>Kb*U<}a zoV~fg3YU#pnZ2_@Yc;Eqs|X!*cg#`F#W$SIK+B?i#xQK8VmDIPV^teuiHsl>^b0u( zI21CQ(|SrqDx|epZ6l;EYg=8I{34zFcI%QaxTFs7u+t0tLQ?e!0sb=r4L~FjcO<}( z0I&R GiyJl|AV2K<@d zSXq^6t f8#qw(OtZ`@4H}*e5dsXt z& gL!`6}Sy9qk|v-Ecwh5vv0tH2}g2&Fb1z+dxuR zDnX_<6J$ZTWi7r{3>e}K+~5sgchVziw&LPbE3G&xvMy)mn+Mz?n|w=`^Gc-bLi$1u z(crFTAUg4yL(plHNiwF&luYs_ZwUq^XSHuGbIXbMxD|-r{#1P?$=t%HTLz=>-q1{y ze}3qHZm|OXi~9}DZ*Ay{UY7Zdc{rGZX6cHVV$74*29qG4PbmtOFbbE>;7H?p00e @EjN&ZmagBMHH{o?EiwGN^S-F)B zyWr4Rs1^>!s2(AzuHniH46X3${e0p(i|odi+Q?@?9C8k;;^Ls?Do)?@95w9a`wKwU zEN+|&REyE3!0dH%H$VQ`&0;N7zqQfo3yZuB`Rfhj4&~uK<$p--=AI5A!W}A-?&9!D z-P?#XT|(2f$%_c)^L{xaVz>1!Rcv4esZ1m|#68csCY|^j&p7}(*}+U5F@#s}nGw~_ zggjTWof2 *ZEDT=A)^&5N$qi2mnP3G%GZ`uW}ZAph}IfCX0I1t#wWT+GEsTzMKu z3dr%4(YOY*8;ywy#2JX-kHtS^W3w2(ysrLUz0g1FJRTn^p5mDu3q|jkuBj?Z@9V9S zHQwP4)<*2ra^r2B3+ihOGfJZh+5Ya|3$}GzTbtylQaDcT4d!r4Jw;Ug%TwLp Awkn~0GjMvnD3u44xh8mcr~MvT}1VnhQ58yLJ~ zkRWD)1OpDxOmJWTf&o1T2 <05 zmSF={5hb#X8YyC xy M5d*dMbdXjH1%YuDF6~Dy_2G%B#5C z8jCDS=AuijxYj)DEw%6p{w%P%yuboaJnO{5&OQPAlQ1vVB6O`q78xb7R7l~hGRrVq z%u&zC8pRY;NQ=gmXMS-78fm0)rL|{-f$cWiXv@VFR&oh0KH*+HF1X;7Q?6B4vT?AW zcBJE#I$x>dm7aMB>aLhye#y_3U2;3`xclZ~&%OBAtIxP)mmM!#|NINEm;k@SwHR)= zad1Hg9b^bya?*wH!EP`FQK5DcdPp1=9dc2{6-%^;A&th75k`U8VF#L1)G+DClz?Q3 zrI>D_X~`#h(g{kRkSZzwiwD4xN~^reva71364}d `}}rBO@#}7GZ-DP$r8^6-`SE^)*hB zE!DPEbJ+zqUtBT97-e%SFV
L-Ji!Pp>}DGby%DG!g-kE8MSewWQ6YU(%;-fN zW86q!9N{Tgl{U7R;zuAsXuu_hVah2dC6VOG$pHwsI7*BMK-sA+jk;>fFulUQDk+)r zN`OKygA0^1-DC?cmT6}5&pxxT6VJcs^m*t!3mbG$#E?!j6;nVPg{-KbjvCcE0~*Nq zrWKtc4X6HA1C3(f=2Q>7&2U!b8wpBqJ;Y%}DUw4g OB_pv0jTQ#0|QFJ^QC8vC+vm-%4 ZKE71JfU_@ctV13XB_76#<+eF3{=_TJTS~fE$lN+7^VlD z>-pufa^Z`0ibp)h`h_$KWT0)(Q(W4}5I(tqA#P+SoBq_s=(Mp7Z3I+w?@HZ gD}02?C)e@?Ln-o*hk6So0CAQ$#icJ*$O6!y%054B(tY0} zDp3iOr%!qkF^_o6DEUX0v`7szXsH@#QlT|ip5~R(m}M`3(FzFChBmrUXKh$j{=*K| zq874BCMi}?%v$6^7rqeJf vrO~>?BN9&}2GgH(7bxBBuEsdVCGuj$V<+R@m-Hx=qYRa3 zh*<;~5_w3^xQr}vf=gepAW5kD$$efJ%wEcHR5BojP@P1u7mx-S29M%pWQnh3z#=tD zn8L!Okw!MU<{H?9?SZw?h2XyVP2r%26@DFNF=0`QVg_fJhb7R0%rTDsXIfK;1)7_& z{3D+I^uiXpw1qd#BTmnb6Bp+c?KkcE!ttPuH>p)k5QT`K(T!_#v8`=4`Z-(L611QN z(Rw74wMYKA!CIE(y@3-Ya3uJGsv7pH IK&^C5Qw;0AZ|vkoCW3& z8?hrC(D(!!w&0_aP}e0W`OyeWuyU4*;74g(QpG9;CGj?e(NT%Y9;fG1JO)w#TeaV1 z5J_KCnnl!eu?t`T!@jx*P1So*#3C9o3aKB85|L2kTE-wKEqFmOt0d)QDxoGv6{^6C zfJ`fbjbRRVxUQ$tg)VGCTF%D3oc8gnU#-20X%iL}j7uB1BU=n(c*{2U;U#CqcAg*y zIX!+=&u4E@ 4v@< zI(sy~j$RdM5ytJ6TspghqqhUebKkIqk)Oond;ZZ0N?-!wpJ5BmUwH{e@PQ3{V5Jh9 zsZ6!+la4X^raX0Y^uljmtXw+iWoQH gC_Dl|Eb^d_RWYX@GY=p8B_S)E^st4=W4FSp1zR|=a7r@0 zS|{5W57*E!)gTaDNsw$%Jq!t`f0L~Yu`Mb*{y2lWLf%3sG841bQ8U_e5qn`X-AgWe zkr5f8GmiK@jL4l&D2XbVf+<+Jk{baLV7@a*gEn}BHsC{qNth7`fg!;@n|O(sI}#+> z81a&$^5T*yL7AP(Bd$QOwb-;odYMZs3$u8cv~Vi;p{lzOnoz`x0W-P>+duzX1gwj% zOC!L?2s_YlzqFVz1~jBm5Uj45KnR45@bIt)3bD8Y#$en9V{jG`9HwCqCRz|C6$_?P z$b}F@5BSgz8=4ki`oVL 0yeWBaBR21h7D) zs)>Y1APe^^i=&$pOR_(|Xgc-zf~f1CN-#=OB8y0v1kKng#Bjw|B&$;bi&_jTwL3Oo zfTa%WJlGJ1BQ(Ng3dXR+1zlJV6?`^Zh=pnEJ7FThX;VS_Fos-!4{4kh`=}4U0>U5* zjvy1KArmssDzbH3H)V3X#Css|sJGLAr^{i&eG46edqRTK!qJhfd-Sr&M5xz$7l^2$ zhx&$u7|74uy^GtuFG|DZ`Uw7lfd*B8t~M|O;;Vu=GyyF*gEsgCR8WOxaE4~c$TkoI zGXM-aR0%pHPCFzyAb|-anK?zw7%jQEno>!ef=RC;1FVCvvBShtj6eC?FPs_0zd*GC zlR8SMgqIn+u`?w_+ByYWuv;4|vRVvEkS|gqg;ZDtV8hC*)XEM6hG6JVUEro)j5}e7 zyAafcu?#_6;LFZJ!Dv%46fBOvd&^sh1y+zoW1t~)dbV)F%MQ&u$J?yUYB#|A(9TM? zTf!C|+Qr43r) z^80l(16-eI0fH$ zhHUVZPpMj3Iu>B~1!0I)Zi>}lBwMl_+gsJuT+P)EM$2C9yA)KxV13J2z)-ohp%AoN zY0bM8+grTstPKr8zp`6#)Z4r)EW%;3tkqh0lHke8H*J_)FsrSA!w?!>IDcv)bJhOB z)lrew@yFRi2h{}!)pav0S_dT6S0il)b?{ezB^Z%nP0ApHEf4~UHG@$|*y6?AjLh9j z7zIsj-UdX4wR(k9_ykax(l&5|>E*~Y=ve6!S(CJwnxhztLBy9jfUfI0#gH$YOvR&0 zq_JR`?Ibn4h>JMEi~A+2^y?o)GD`pD->X~2NSV4$^;7~{s|6;9YM2HGmStW9*9yL1 zVc-Q`*jiqgRSiy1Sx8V_?OS6EHl 6y*J5KD =t6_)N<5+cfc91eb|Fw!m4qXsVkrwLuwA zN+r+FI7+gJ=*)-&0uqH&Sn8%->d}A(azKYI1_yG`h6k2lYUmFN-lhuH<*&}=upS1m zl?7q`;8;M*vsOV}MW(bY=3-iFUO?fsW{ __E;iCF78s6_ zU6EK#J$8dNsM0k>XjRaWR0su3h+a7ch5uQMQMeR^bp=&81>0_eDXol) u(Q@Pm`lrb=*Nf=Z~ZUncW8J?t*oDH?J;EPX;)b&La@*IUn z7-dXd1MRL(N|58QW9p_wg;$Vmi-?DKpoew<2WrTMs#R5LI2KzrhFlJYWBBR>4{KoN z;8-YYVisl!)m00(aJpXWQozu;<%M04TeG}jTNtKiJ+Tw_Ya8yY!V)cUYP`SNR&vw@ zt^E(hh9?2fumLY($R3^1S?3mUS0{dAeq<=pc_?|dxQF}xY%CJZeC1;0TEpNIsf?tI zi$&ut@PbG{1+^>Vfd&N#gA_7w4B1{tXh;QAsEjq>Lq24KPxyr6wgiwS 3-Vp*X&;s G6k)fhHroeyrGA9NQZEc<<@xIR`=>y<%MH#aAFAST$Tl3#`R%{1zad= zxu$Tpjs;}aRbRjGVxL>N1wj_B1r?;`wVgJ@{cBsO;Ul}e!XC#Olq=ZqVIS(eV-eRc zJGgWX2XIhgbR9Dxk3EEPqIm5`htijIXsFLT-HQHdT_jb9bWjI%K<(vnQjxmd;Kq!C z)&eoOO;vCPRTzbVmJ~kDjL!%aGS1y8Rr5Y(15027P7rSBGb7+JzLks9iCsD4v_pzK z13XLvL4NI7TLVePI>ta+H;Fo=y6H~D0=>xDOEmADjjBNz3rzepr 23qF@S>T0X!1Y}Hdbz%JVV>|` zC*}-a54paD4+q;|p1i*^=Cy6mQuwQ9hhY;1TygX!WzyCOB1axNLU3)|&f^9l26r5- z>>f9>acF0R8iz3Z+;q?EhzPEVf~eYiIR0@!hbvA8h>M7HsNy8uVk6CWFxL0kRn2Hf zg;DqfKJ 16{oXahALZccE6f%eUhEjb1_i4qWk z=PUV+?Q=H8LqA6TDNTba&=c*3SyMiQG57*PD1$Hff|=aTQ5!{^Hj6olBs)2Dq@ 9ZCqSV38_8Yc8-En7Wv z*|L@ER<5M1Y)y5VtJhUvy?g-!{`Sl3uV2!Fg%v9{8#QfewR!8-&0AZz-oAb7_HEp_ zx^CU--D|fSxNqJ9&z&po8#r;`5~EvuIB+^~>%OI >0` z6&p5Uyilo9Ma(5ss!*M}w1~}`)MY@iAw#Cjs8rChk%Ojc6q`0=l&@*y98()inB25U zvqi{=>?1^&*s|q}^XhM`fA=mXjq_2bQ6XPb#mjpyWFkePL}}5YGGoSkDf6YjB8n^$ zpdyWwp$HZUCU~GCk2FF_BZ`!fpleoSQAQaLYDmc=qj=b%eZA>N#u}51B8n)doHEKO zvOz-*JoN0d&pkEXLr*;Z?RZnoLEJDDOhXn$bj&fqP*l+|#AwtJN+Eq@Qb)Lq K$FT#{1 z4On3z^b0rHtfkgo-h|_pTzC2PS6y`RC8=O^ 4?EI^Z;x*f;2iQ`tI~i3UzO z=$KmSXX?PS&a0lix(++gIFkx$YKXCgYg>rHBCexQk{WKk`Q{raqo^|6G_9n9TpMeo zvD|XcwUJyK-iaVWb|wh%-L-B|=bRd8n489V*Q(ddY^XTrnigJ+L56*j(6`8c`R2 jM1(MnEQlu}47c{y}WES;%SEwL!Y6H=wX z;xth`(ehJNweVzTopidAr=EL$73iR29h8kUhkC=7HsQ2Y>0aX;mKUUa`K4E-gMIVZ z-HV~R*r$tCMj2w@l&Y$!oTU>QXS0g74m8lP*W0dD2%$w8Y_J##a;fD;hOxda5=tx3 zO!G`DkK@+dw9X|5U3FjxVZyc|e0# w0guTVT43RY7Z@&5 z?;`tsf&TpQ{T;}lzY{8mg}@O;C}D!FS%F0v5H?&1CFI*D>?FR4F) <4!r=pu956lHm}UT?9$SAjScSu@Rhk#25^;+0B6FKw0d9BSI6&EpAc^ zShT4pv490GYJm$|j1VcTa1)x40+d=rg(|k#+MHOSC#USm7hEX|4uf$JX>fy3Wiynb z5S1vu#Dy+vvkP770uDwc(Hn;`jHVcaD#hqcRH)L7Wi+Ej&430po1v9DJVPsJL?acK z=nZ@%w*@aG%R^@*7U$yV8y2}jbk8`>DAKnE->^XqzH5UeoI{@1i9icmKo2KcgbGf4 z{$h7&kXE$VfC(10XhmmqPZi>&FiOxT68QO#7p!0fFMv-%{xYTY5=0>JQ6fOsOHlH% z=demZj1uX?Q1Zy&p^U+AS>J$%KWd~8{N<0B^k~O8PPQ@tIwTnukr_0Tq`;gl&?6f; zATJK+zzI6ANg#PiOIETAlsIjJ9P~+3tfGsm`6NxX7{&?V1Sh5>1uJ;EO4qjHi?8q# z7z;5=Hhd@zL#?G7X_HG_-XbYTMT#$NiJL+NbC|qoii+rHj5tKqn8r{hFr~^2XTk`N z(2O)R>u44#KG8=lP=N?l*aC(ucZo^Bu{XT|g~Ec _Vd4( $U@w>U(|K#MU@vT37i zX$x*}-J&+)D%XgWYG|b9f?Q1{5xN+?s1!4Uj*qJ9GlvsRNntgbTFqt@zu7`dUy4^Y z(3B0sGB2pfu!!J1LmJR leBpO4q;= zL(6uhf~t)@MGUMFB}Qw)4#b84iP&MFc-XOgqlh-1g1yrKtc-`5kIm=9+=iXUIm$5( zZkS{AD;x4LhFtH}BN^Y*bbY=Rs7)&=X@U$4nn!kFjEuyB;kw`jkb)n4Ug)CXc#2ci z%0!h~(4r|sdEuR~lFv1JoS$zFOEIz`=WNiqpxPiup2;EHKnr@glcLKKljxSf1g=wo zQ_RlGk*ZE<6r@HcdS|qI>QhjH3~6-f7IYh@QC)hmfx Vzf-ZT;DRfMX3D)M#*o<`^G2O^vwL>|q zo4dJNkO>fx2pQ|eOzh>GHX)D#(TwZS9s~gm!CA?bWrQ)Xj5&~=ImDqu7{kM59GJP5 zEewMmI>l7nll0M+4c%65{X#Jaiku+?_Yo8~q=i9s1382PqNp6p%>`Xdl%H85a@hsV z)m*1!l-_hoIcSusT+yh^A4sLcI~d((XxB721ACMKuLuDV#0!Z`ou{3bO_jkSB+DtZ zLaCuz{~3!=NfIUm5(v&B5%j>eoSps`poerEW3-@w2s+rrB+vR#%n1&`4-CNy?uWvN zRfWx 9)h *U= UWbJha0(aOAp~gBL>977~LO z!sbK5-T_GyzBv#@=H5pT97t4 ^g^2H zf}T)kFYrm5@fMurWXaW;Hc-PhfS-6i;`rIc+tl1pCQ&DLB2k7S-za5c5X4hn6wuAz zRCdv5oEmDpC3wk)iA(}b4a=~c*KIruE9?|7sDdca)GZ1XO|_*_@d^=S2M3Hmg^qv_ zfB`f{M{-c3s;SRv{`e*GD3432puF%$86eNW91IpHX238A_5_|eu2qDzV_R8|-wBMs z*rRy?Cg*$tsb#~*=!0nfBVm>1K!)BqAVZKbDU-Te>Is=_N~x4Sq% *+rl7_YD*AmDh9G(w0o8RSNwy^;cPRs+c2r58B zIIRA|j6@-kj;0h&A-a*NM~dsXW?^iuUX{9Dk`eA1YF2Jm*(``e1p(hN6vG^PBuIWF z c1cNX{96B+@ALc^CS?5b`#dTKSn*qt3kq!5)1wl!oL8--`5>Z_gh9 Z%Q5@)y~Lk5rQlm42k zY}y;_-P>#iT;dWOEU?5d@PaT9N#wS$3(p}pAOkf#gfCEMIx$7WxdOntDZ#?zFZ4oK z0P&ki!}jH*!}6qGAj(6jjZqGU#wJl<1jeATCp*x^WL(tFMMgVZl&WlTeV(kO5*<2B z!)&YpuXJUDedQ$BlBIc?J)+1ev{z4A8d%K-&|bnNKnEF+Z(Lfa(T)HRXh9mxDko%u zbX-EJM#36ILJN+SU-pNn`D%%Zl8DCOv1WmVeZjxP=!P8#!8k}Il&y!IE%hv(gc#su z4oexRLFHJEDL?}{XsZ+AEfiWXJy79rQtn4`FfRixY_cA{0W%20p1$2){shg!35&!q zq%iO~#2j`c02#x|#GyGK|GZ;e&-f-Y!9@u}G__`)vm7C>#^A{Giy22nxj znL-Ul%=sA !cf;6TgFv25{f+&!JQ >)vAUE~hmwJ85hF@|1r5@G!gUG-Xz0 Hi8glSTCTRg) z<%U>J0w{>Iuz&(Bt(Pj4+8v34NLv*p W`j-~}07P{rKTCX(+2d*%`bzJ_(UR~!*MTP`k_Z~3_1CTr} zVDG{@=|b?a3^fEFbqWIxujFF8sY|};E(kFWiQG+|ZUB2ggum*l1!l8_TjUv|z(vM_ z13X_M`%zI~TvR>x^F@)vK7Yd%TL$3-@6Xw%Y}Ym`hC}x5F?bo$dHv_GY&C>j!ilh# zG*Ck;m;%>v&Q=c~Cgiat2pC+(<%JfK7~~FZs0e^(f+cVgBZrk2aKRN2rY0Xk8T{%` zixMn-5B@4!0gFOalY%E~nJv%)EeL}!&}*1Ru5qTOan4~mAcIa~dM~VkQ)faYRKg_` z_i=|qjO~Nw5or|GGLG$Sgoh;Mj_U@uwFk$w2s>n5FHrvC?q-#wuto++MBF!i3t#Yg zbDE`7V(akn<-&c_mOky1D?s*5-lUvWcIw)h_emnk=~-MXktNPWb9qX-ClT(_963~R z6{~itOa^OLd3_p=Du$H4(>7{DgQddkdwh9D=OXp8$SU;0LA;kJ^k4h*21yI8w1B~! zV_ |9Cai)}ZFeRZ@+5SUggLTK{|6x)0{`MKTzx@;>`R6i9#mWUFbD%J7(++4 z@HxnXz2^Kp;Jm%wygc*|FxbK>qyo_sy(_fBG^9g3)U9A?9<5IygeU2ePW=Y6HI<&L z2><%v9&TpEg0S0+UbjR>WRpZdgpnvGE}%Gyv;KJ6ucUP1upcfqo(L>VYWt06126=X zW$*Y}h&zz~ctR-@k&kw|zb8j2x$ZhS%`KW0Q@LgkuR)8(7vo<$xP#=k3Ti(CYIuih zP{F2IPJnva8r#Puq{x9TgtKHqh=3|dk3t?#f`IWcEnaAbu0d0+0`8we$7g~jR04hA zU7#0hz9>R}z|wyl2!7n1fZ)d`H#I3>dN91OamoYrce+QuFsJkUJe>8;SM!cggD{+V z#>&Htl-suEt;ldcuJ5u2_p-SL?gwu@u+w$GF%T@s!Yl+$EHJZ>0H2Wv13=)il?xXx zUAlrL)Ya=?FI&AF4(ydH*Tagr7*2%P{>#^|Uao$H3<>O4Hfh;VqSUsM &D zji$Gm-@<+K<_#RUojrj9MF$QYx^G5t7B#xGDA9E3&_PxA6y4NyRk5nmnog_Mb?&xu zU8gRbv{Y=wR8i|i%$iAWN4;f3hRve4lti6M)k@m4R;ehF5xiziq_>kWVVcxt4H+?9 zv ! Z2Iuwyo4d2H&5R7?%ci01D8&oJbL@?-NUDE zJ-&SS;K#>zj~;z`^tPXyckUeiGGzVz3oyWB2rRHbVv<2n!2}Z|#=!?4l!X{sD6Eje zSSp+)mJMa$#Y0|#@vtCVViBkogANjA7lw4P#g-OboM@n2grUerh!%p#mmPoUNTh5^ z3MnO(T5?I7mtv}ErzLgLDJY_P8fv_yj-nEsoW5Bn%c!CfYaOZ58SAO8xT T4}` is$&$m_$w{Al;^|2#r3B|2sJ^MWD0aeO z$L6cP1oJ9&qWaRzFt^&uopr`K8qKPJCPx)GFRj80I`33$Pe&cqlafmWU8T@eG8v7G z#>hAh%!91uP($D(pRFbAX$MF43e5Z*R zdMvV4_@TnVO_yg6BAlwH=zWhkSZ5-O&UsuJm 0sWa9{*+ z6GIz9Q8&$i1~iu#O(am`Dl2rs3Ru8G7ruZ6$I(U+MJyuY8ezmD@<9 ZV;VPH8&NUx&)kj_XxgCG} zgS*}NCm8}V(1Pq0ya?s1cmOk`zcw_CSioYD2^)qjU;({Y)WQ~&j9!cmGCdeg?;_n} zNW(Vbi;awrd_zKsG>W8+ZLnk~+o%amy5XdqbmK`;5)YK3auk~>rDnRkUzmuNK%h )5)^G`F+9?ujAk1M7bBR!7A}?W!#9#`OwZu$fQe~jj7KD%~ z7K%U%V))c&PH~D&lqwUNxP+>{z{4G`28cn#LTq3I8`;E$4+P~L77m(FD)PaHc@X3N z7k#Kji24DGTl}IJvyjn@X7LJ~gUupL7cJ>jqa3Y6&+O(SN7~hKJM8+8yYje4Kgvsx z51NI8W^q$u_^Uz~G9L0Yq{v}J5<0d>7$YfZFk38asSsnT_No`vQ079E8ROWGgjACA ziEJh0h{=&$A`>O?geTu%SuLG1rK0GPDLP}v{?LImV3z5ZMdJ!Fk@*!gwWDZDg9a+t zaH%cONt+YwQzR6XSU*vsRMJG-*h0vs!&rhaX;7ONv=A90w6F(HNP{KfshLcCrk ^({jydd1pmkq;8(92fpOiUmDz zt`Le~L>hx(9FxwDy7s|OOYaC%0LgTwzzbweiC4%&R;U#I(hw{ZdDIOdY^m*4n2R7b zy@SQqMxew D!} zTELVDdeFjlVnVc>h*V-U@u$;vL5KVdVi#D8&?rm!pvxsAM88PJ* >v)SbS`$W3##^F7d+|(DSuInP!EY4=_6TKmjsS*r0lFu zN(WJfLNhMe&nQ %mF-n~cqibXR?L*R$lrEG0C3&M7XoYn l%#GuA5EAPH- z2#6ra#tjT=tWO}}?*Oj_0natK!18to%C4XWHA;&zDvWe+2XoMhwCr*UE)axp2#K(A z`oMFJFbPku5K4~^m~hKpixB#txf}=g;EWqu$M^26UEF260>m8r;~2m&442~=%utYS z%J^~$(9&?HR_ FxFP)>as9ZV8dzy3!U6t%V!;{=DCGVjDte+FxCFwu Hb8)z9dRZW{^=6T@K} zQYO`U!W@Kxez-&_MzKr$r`LvwO#X-|?Bt=Z;(;9uQ0&64D9GU%QehO V}hF}ZCfHeG048kA`z<|lFaW#e@wN~Q_dWZ(C zU>kK12es%McX0MpuN=>D2rGwj+R<{<5fIwZ5n8WuTJH$WtPuL(GGDI`Y7Y>Mh%=9< z5q?7$exV=j?Dx3PKg^*&z|b5HvKWfN3=#4eh(R_XBn@qoA>EK6$15Udfg&q1=8TFW z4Mq_2a6|wx4=b$@d(Ia!Eg{6u7hE$)ToWa@!4cK(C9!3|jD#jJaegwfDQ-#szyTDa z4jsy2fPCgl`YM13@POLW{uRegE8_D2iy|D{1Qob4hEPGp`a~`iLz=j0RJ<}2G+{2R zO#`ouEh+^J&@QuvKnO;lGKN6!a?BF`&KT?RL5E-ne&7d=fS $# z0XkQ5I#I$AgCP BS4A)8CcT{Ws^2>Dqa_o4Xw0Zc~eU# z(x{wAdA<}mM?_%6)L_n(U@|RDcflBb&KOX#7=R%q&jZ0yrb4>uHf@BL29uRO9#f~Z2K_1uvXP!Y7 zGL &Y`f1m`R z*8T^6z*j@G@>T;JE9z>kR%^*IF_+aG4UTLbb8Y=#Z2>rdg-~we7BU^-Hr%%Ldh{~O zhzcDiT%{v5$<;IiS2>P>a4(n`oI_q0a&bNQUUTX {Asw=qg9S0UL!+q$!3}ff~%%8Bzf>@ Fi}*@5H1Lp)e(viF`pG$1HliT{`G7F zxRRk2GT}CEH#ss}kBKhxZeI^JNQV@LAsE(Zf_d*;)73c2kT#JI&~o#GbIKGx_;GPr zOJUA={;*%el={k)U`E74dM-`b^dy<{O&gYcXt;dpR2za}B~*7CsG0rdkF3JM9JGaY zfueT3fl!NhD9lrdmG~)2@qn@z#MmM1ToFx9wkxc7Dc@l!*+Iml(u SGk}DnV>HLZhrqV zYke?lPj7$=coy6?5FB|3skLmMm6HEp4 $rZa&GjPp87-(}Ch+!Bg1geLDmLGwZ?-gI44;E?x7D!~NoTsb%b*WI8h0T;; z4Aw)|G$D-PO+^ ezUfIfslz9xqt^)2yZ$N zp4GV{xeq9rl4Uxk|A3;R`=)PtZEv~|uGMY(KyES9%$yMRUXT6}LT8jghc`SyZ$acZ z^dr8Jqg^l9Ih@+OrrN5lR9HwsBK!MsAs1h_+E`NfONEN&+Dkaex SVN3;TfhO9H!x(_2$Tk>;l)WddcRpE~NxrC=*nH7M_7r zD8V!UZyJG{LoM31kHCF*XbFyBq(z$Z>Nm^~t}*e~q*Gd@hw#mv+c95yruU$_uiI?1 zd(XAo5vK5LE%T?%`}OFy_Fikfd&LtdvPkDUU5}v}GX8iveA8Y7p{l>OA$z4E``cb& zffTS>gdxc{*=t0M3Soj-n0etAQaw%4dQE-77-YB@5`wKQ9Cht95|;#sTlZqO863=^ zcEeK~PFx(?f!JSd#RKRabQi>$az5d~iY0aI-WeUD^0F}@F0S1Ht1?ufp~yj76*$2H zOB+-%kjAj>F)(E^w15mUVHK!hRQLw+R)q_efI~a9Lwhx~^wJ7OucE$aj6@o^s>qDk zoCuX$r3<*ZwR@)Zyt?t6&jI*Z3qj)9){>o&iY#*qf4cU}yNo6df~f=2k-<0~J%fpX z7Gz=4b86G8^bu?s(=~nNH@(0A+tVSpA{kBQ{=gKNy>vuM1Q2DRtkK$-K_o;@Qic`Q zHQhSY+|&{0+D<=QPnV<|wz(Ym`cGLV9cowD$D@d~et?jeu#+9H?n)jM`- (b=NT15QicpleC@Rf*%Lj235FXjh3%K-|8@d_(S!MdpQ$OSN{PhPR zfY0{M@0 $V8gd!qm&iBI H18YP)Nhl_z4=2{!H*~3FzTgZy) zX_qHzw;Tdn*p1l4(?JvgBAvj2?b4|;h)|uncM2CaWZ2N5!g%W7S+uAwUOaZ_o~b%D z>Jz3>qu8*)#AZ|`RIR3=3rFqQs#BRTUBZMZQzlNKXyRP6W{emzW3*HeLS%@SHJP4K z6SgXoq(wv*jrqcb%aR{QhWz+pC9IVzSHfc9;|Gf$w0yGoS?kB`Tey7s^Z^touim_l z`uhFr_m87LdjA+cj5smkK86c1MjXg)p*?*l7vgg{Gat-?HWMmznU9{$Sg?%7-00CJ zQly5p9yUxEFJ8i6!=B}u)GYo|k7o7W?Yq=&-MWX*nk8H}tXZ%~!74QjmUQX1Y*DXX z9hdf4+I0=%HB7ts@!Dta(#2~RuVCwW8QT>szOP{O )zIs669RIMY0XiYS>}^5Z3(oI+$Mp^SnOP-}=Gh8I;-k(3vctn!RZsb~^O zB!{d4$rx945tdh0{IEn=U2svBTbt4K7Fu)B#RnjF;g#1Tdj$emo`d1(NFav!saT+g z74pYpgeFF4Ws~)>nf@Sq>>*mCgkVO {i{ zdhoFq-+RUcQw)Cg^#^W$|9PWLfdHCQAUNiL;|+t}j5AI--#D0#IQC*Fp@alwsG&j- zEyNH+0l$-?za*-|&P61uxFS2ysDesKCCPZwD5t0bjZ4)`12IjbaB|a5nViB&O_%^h z1{!2E`6LllfI-PB)U?tHDVb2R$RRl|^2HZkgn2|2WtL?{7o9G_)>>$(DVJJswFwBF zcLwr^o_PXF{up6cClaV5TnmQSp?`q3m}HO+0;wK?=rJ1Go#`>@+NPaF))k%F-36tE zjOqz%w$PHQFxEXM9B{Lka(Jx0;hO8OtVu_lbhWewT`jQCVmWrlW`~QjxJWClcEV^U z3$*2##|yRX1+&Yx_SyGKFtNwZ?S9~DV@`kQ7RY<=?Upl6g!YzWuQ&@zSRsZ8Ex(XJ z&2Q-MLhMi!y+a3I6c35)urm!b5hFR0Ni=ez3NLS|n`!C>L?D(1 z3xcRrBN(w7Q^7_yvRR^SU~{V|mZ}tv+l{YwRSH_rf>*F$1uSe)3(Q$ZS)S`$cgh$# z@o I4Q~L_j|Ungyx;|);w7>i=#Wr5 z3ZlG&^h+QFa~_C9R3a0N2w~W>NcPY%4QHfc6qBHYDJOA~lb}KsE b_L=)x7!!j}FD z<^h`+)I&G NELp*^!E zT(D5V3u16HquHPzIvBNama~L{N=%;E`4_=>ZJuKT4GRm=7kb)-4}-|3XxMgzCN$v+ z1MMvnmH^z}{&oq&EmIV%3BfM(><~z-1SuX$3u*+T8q*a r6~j licfzaJg7yVTNJ>&e|1t 7hCPkM104^GSV~NC5}e$ql{=zwD1MX^A;FLSCnodp8h~sRAy}cvs%Ql* z61!wmI`*+dI|5kDQp8Fb?XrH@tZ2aOO+9eXE`s4x3Hc GST!_!8jSp+fEuWKc1VtBm=suu9(T&~%8rZ-GGcY<0deDPH2Vv@78A1|Nv1{$U}CUc=;N) zK*Vv?3n^qB&O3KRLR=AwP(*vQx5$YZ1`l?SqZR)4HVG ghMpIPPn$3GtUPX~`8fbr)|a$ta&Vh3y^2fL+Pdj@n#FmyHm15F15 z6 kY35K4=;C19APv&c3$dnMuHXu}uy?)CM!uj6tn+ukCLXsi zY+VEkw}5!l@ K70Z9ab zdi;_O?51udLNM)?Jz_Oho|HXs#UtV42ER86qmT-n=1Ls13Pv&t?t>FM)_gmL6OmvN z2PX#8=LM7?3N)BlN>&M`ByoiB1z8Xl76%pyRViO!2oLlY+vI+^cun4vi){jP^>-Nk zr*i-I2g4|U0$3UPSB#J12Xo+zP5_Na-~>pZ1W1qsOke~_U<7{#fj&?JH6Vd7umUQ; z0Ul_M7f=BfppNNS0Tkel6kq}GSOFJMjviQ!7#IUHfPqjK1X}lkV-N{nM}szagPlfp z!60|RU< ;DT-2pdaIaU`I7=5vEj4^=(B-dKF?XkK{=8 z!Y>@cA?XG%)uRsXut_9VV)5V)w Hm2I0iq>hZCse zV+i*oUJwbVunNXR3Q9%^*_TW`6Bb{Q1zB(f<~NI9a299rmu=By?so-w(0+N~O>=>a zl~EZgXBf&TfXgV1$LMnU_b7Bw2h)fINRW+1K$_lYnl;b^Hqdl5AdVbpj_T-+4 g^?@Br}sXaN`SoAgMJ9KZoLz=A{Yf`{OBn*eswC3f6Ec4Ws5HYjSj zKnvO>48D+t6gdy{Ko8yNo%2v3;Ghjj_zS(jk?08wzCe-!_II~%9=ec{=>-e5uwTvs zd5;Gl%I0@|XAG8CU_1#fpVyPQvsBlnRH4Uhqt_1kl6o1E4(>1z8`2^DA`w(cBH2?B z>+o*xc6+gxJ?p@g_J$H|;CrFKN-^dzv9x^d^D&oTB&X05NRn1;&{s@i6j~q#i%^%w zv dQb Nj_(+ovYDF>fTww?r+b>GwK &c#e_jkFl3-g&?_DNHG_jm9icw`t1RoHiSRA52nllqYig+xf6=XnaMph$^_OPP9C z#UUNyFH|{|&6=SV(IO>gdx*FZ^fpSM@Ox~~W1Qd&{Kg|hViPv@F+CBZAVVW-zy|l@ zBvvp6laLBDlUSKh36HRSi@<$^nFUXRq*tJ%hro&tw3tuIm`K2w?w18kkOxzmu)TPt zexR8TyZ)sRD}ZRT2abY4W?Gs)U;{M3nsAB&uSusAK$~~Ur+jJvczUu9kg|G;o3#l6 z4-k(KppNQ@finOELI4F|fCgR%b}~Z^|6_yIpbZ)Mv%ipp(f}akAP?S|shaAvPP-4C z>Zu8`4L@t1zaXi0)C;>1lByb#Ug(9jkPElKc+^s>Rk)wKa7SxPAHdKp*&tNCdQ?NT zhJO@opLe&LcZZ}`lnv^)ehZ=NfK>_cNEWIg7}^kCWf2_Op(myh{tyr8@GzsGOEjXb z7c&jj07~g2qb{lvmUv4&VH4+iaMCwqWdMl|w+frEWS7tgqtFOAQwCV@m*WQ({8}lj z{)m3GTd;Y61noDazk9L1`(*@+L3HpY4a skGkt zwD*7y`0&4)N)J)%so)R} |lZt!+{C+4^s0T1gixu%3~lfYKx z^ActW5 Iic`xeN{jK~{+b= q)sZtdU>R5{KgR$}aMdlvz@Aqox9fFz%Q zZ*0I;&QJ~E5Dp#z63RCcHj#WF0j^Jsu518g(zg_%@R8evmwEZR_X_^TRv><^D46~# z2-OstS rg|U;p?L&FK*(=e0W)2v zBg@Dr`^e*40N%UP2GG+x{nI?{$mYwkc8b30o5}6Vf>0m^YoG~qNi#o7koB9n+7J%l z(8}Jq53n4-`5?>q;MD<4z!U)v )o0R4T&dn;rQ;DG&Dy`~lh`BcnyoVBwcnQKs4KkJr zC8H9{$HbxiZ%^!FO#)a;0d~TGeX;upi!ch^XQX}UianzUmHu)Fgn0!Q9hwz=(HC2$ zZ|r_=5z=>T$0RM%A-xBB+;MVH2P~}z&*%iCNyu ?bF*`0NNeNC0o>f zioTo70YLBsOdSb10d}n*)&Jw(KRXT6aMkai5e2*t`Vh$H+^^xfsW5 zjs#zRrlhF@8><2`UEPWd-jLkgd9LSs&ePp3)Z+`j=WEn|O6anw$(hW_$QcGsov2Qc zgzarU@f{B6pbqkYmG=$6UCrN{zTdGNweXM*W}OYt;0gxLkqMsQzMSA9sp@q!lEIL* z^YII$ir3ASM|#AQ0%}wcmJEMHNQac5h;&FtS-8dC4kr%78N%4(><$-UmAI$FI_ya& zcH_P0mY5)Xlg=^Ub7P<_qvQ&3J%%z(qU2=YuB{*wiA56JN4Zl@ $47>Q*Tu8qPM;-!k?FIL-}nL zf|Q@S&43HT$?B9de3cs^tzu<}4x dp@UQWDo;Fym2ymP_tb7AHlz2;@Qjc8f~ zMxX<6ZUY<3vDV9h4sWN89Pt$o``!Lc02bfV5zy1#8v!fZrw=dz9Pja&{PF8+0fZ_9 zFSrH)nF>AX6iyKn(-7&^uszdr-}*rP`p^%Y&fnC3^HD3I-!SUXkk-=R3gVyEv%c1A zz2Lp9^ll4OQSbhv`U_}1>pg#9+fe@q=94BI*ug5;gIys~1rY57wo4~aTtR^a-?dxl zPMtc3@Fc=pH*umriSgiRoVX5}DpaE|v0*dml&Wdys(n0#Y1Ac`E<>G~dFql)Op_+D zS+j &LF2I{tX^)~SP}FIgi-c<|6sSceT7G+el#p~A6>6e%iHpg`fl z i#DP|iAx0!I8akk-RoMOh| zaKjBf^u|LH%Na);amp#DpmM+|N1zwmS&<-u-bn`{cXD)Rog6Ll5hHjo0+J$fKpKUl zl0s31nrXt3MwL@C{=ozjm_`{Tl$&b0B$G>Yiliqp$OuY|NJJ^Bl~qK^
z>46Z2*YgP zVKGh_dn~dGE}+b^%QkbsGtW>H&9neaJMFX3A}GMM)(nvC0oQQF%(mTnB{et9bb~ zX{u$XyYIjoFFo`4=?A>^+M`FE_@;SA8fdbSMjHHF zdB$A^e_^n{`-)l6-gy<&H^FRvDMr2tv#GE{4JjmX91uwyvBYvxR58YZ5*p|o8*6;X zp&lucs3IT!FOmo&kDfW@$dYbqrAh2kQHn~Dn62q$DRp8a%%6f<&P-~AQAHF{D0#%G zMks+(POR*-0t-S8>FSU#h#vH5B#IbRt+kNIBMU_J5M-`G_UNNgy6EtO4!8IMOfXCj zv!T<)9&;=O$RwMrvRyYzm9)`XEe$li`38-EzgKH*R?u8??N-_@!|eeIBmkCF-6)8> zx7~;xwzwI3cmfJBESW?TPMlk1+UcfoW}0ig`>vmU@*&T4*UQ6a_IuikN1b%Ykw(6C zvw22c2@iCT-d}t{5W#)rjkov+w-I3_Ik8!VWw1FyVzwY*@t -q6Vb;yAxq> H&^x9OED$Im=KkShXotv5Er(AwU5PXjsD}Lg$?6K#NK2V23}v!@7L1jy!uz&+PCa zu6U#)9OTGGwbn(S`M5$}&~Qb+?vssqEstLcVvv0J6(RX(LmL~iP=zX#Aq|0Y9RA)| z*ufsAqKH8(d;(ENJ1}NG^zjIN9UIa{B*Ko5i~ 7Dn>`GI@)m`-@@Y_`FI{b-h&>2 z{KhxP@zdR5a(BPjkGv=e3~5lZkqX*fB`=9dO?pzQ72*abGek;Lo=8RM{!pd&Rw)p7 zq{AJqgh)kZX_0tzhaMM6t3=R|OOm)m6~Dv|l!O_RE1iN901O~Z2 C=h-_NHXm`>IBO0NnE?fmr zMF3P_(%A$jC~8rmEku(C(FaE); SfUf%bp|x5 zArG1ABah=PPkH*NkJ+U+9yS^zAqg4Ob*<|c(4g;qO`V|pCbeIyCMqTcCZBC+!+F!A zswcgHp#(21MGpJkKwcE1^^R4nWbKiT&T8S0X=EMKfRg@BOri>DR0|rbfXOgLa*0rI zqFE-U36@m+r7#(=3~Mk`E1qGBq&Nj=Pl*#%?sNnTYK5|t{el&)zyxz1p$J3<6ro6H z!a=04$twKAAWrKEMulRff)VW}M{6+-E@VM!H2D^l*qX0w6qL3u{D!8#sZAMpq-I z{upo5TX!Bw(@xX!Ku0*jp-DsTZg<59by4Mu)JH }9v&6mdmG{r=3A3Mo-(OE=kTvjV6lDe)3aV-Rd4 zP9cnG+O-muSj6UoMp<|N;0Q ZY2dm95jB4?yP%4Y_X02iiz*D<2DFp4Zs-Pt@j!17hZ7M8gWxq1B*BPT z2v%wbh$x48Ft%f}Fd?CcX%M`T7zJMf{-!8VJQ2%;n&7J_;Sx%i1aJciFCZ+#q6P-q zJSGg9s4yTMyOX2Q3UH#gIWY^(;x~SSnndA)fU~_qNQ6RggidgTM?kGck)b@GgE`Ox zh;srXz!Zx6r!E5`6*xZSn*mVC01J3NBSMXaqCQnAfQXtX4`4Z#YaH ZtSswDlV_ODq=nvo2&ggD_}=(3uWuP`dEihiv&4Ov5yMAjO@cI{P7qYAK{>Q^2l6 zss=n4bg>s% b zLcoeBl&m}fJu6@W)$6y+N~b*VEIk0j(_(}vdj#A|1S^Y+HAECYc(@VTC)etffV#uu zV}XH!fsI>%7|4Jzg8 ySVd)4*Ujh0EZDo5oU}SgmAD4%aOg?k!iF>iKs>& zSqJw)1u8j-Us?&fniBph;e>1hLgxS=EWw0GAi^+trZQQD`dGrvqXf?znyY{;tdKWw zs;tObJt9lZ))SPhDFlJDz1(92g>=ZTxw41L11A`vIJ`(s*`c;EJ{aK0;EaKdyMPSP z01N=B2{6e)R5K_7u8EQ&*MPG_jLGkV$(qcwkFrU+Nlu)j8@kE4@T{DkGnMw+jM$I> z_&cf1NrN>oI!>4t)L{omQ=NVAhgD<;bYKUoLm5|`25p!IX<(92qlU6fD*Q-5u8S{F z10MJaFbMs{4P;BW>#4Xyk-9{Yb|AqRffy9bJFr@ZzMRHma|e##2#NTHXHW&0-~^Ot z5^4a6{b3f!>;9irD92_=CQPsdo>0dzAOn-o%<52?&SXMLU<5^wlPa*2t3VprJUv37 z3Va)~)$6yl=t320GKF-6LfBH>`-85ji#nKtx0nM;Nt?r{xE>Oy7r;0f;K&$=0pqN# zEQ-G1YR ~$@?Z#6LP-@Ty1MNEcSQlV8m-!$|t?Rl9q(DNF zPzn7hUL}XP?5S_C%M%>dff$EnbVk0+kqVQDj6t8Yy2iJHlKDZ24`YdzppyP^yj1|g zRcMw>{-6X(hy 3s^1<(}p8czAzLxltUd*jNWVk*m{8%Pyvo)0U3Bx;#`4_`#6(i4LnT^>~pg> zi-791P72Tf gKy)n4^9tG(K){f2JnDRKCQy4+A_MAm4OMt7ix zV>8>dN-K3>hbKXWW-+&FSy9Ji7IN$#(E-9B9Kx9)1Ii- *|xIxv*8**CSxp&o)Q7C63* zd;yDHfeaAI^5Z!(yHnKwjWbg@!ueQ{-QAZIR0)7d3&4PrHCYX?01d!N3!pictqew# zL`G#CntMKAX}|U>BH29^Gs{`n;MoqCKPgCq`rEE%kdA4|4rn+RLpoXjWs+)X)voiM zp!%J4nFc}v&~69^Z~%v%vbtUkFmmWLUiB$p-P(2NT4Albx-(V;4%@x-JM<~r^KsU+ ztx9h^g;aRa!yB2pO{O5kTbke!$>UoxSc6Mgg?Lm#B4xrROwv0M%`EUH)5HECq6x^! z^?`gF3q#2R&?1D+ZL)#w;n8BDw^)mOO`AFVC*K4p$4K4dlYusk0Tv+6*EQa{$==+$ z)8LYoHX}rkeY2PZ)ZfKPleK^gC|(Vyt>gVDKXXLOpgHtoR4yv6HpYySyk1GQV(n$W z4d8$dz*PEcgZn$W(V3QLQD63*1_E`}t_(E+_1~ZR26SKuc@VaAfRApd+Fk` n5%Ur*Qg$Aj3B;L`~Kki_q1BMg9Rp(rU8N%F;d1 z1G5>FeX@at#Ylj1*y4lOJ9J`<8%`G3xGDaXo7LXj0-V7C**|4DldZ`@C0>9g)a6}X z?QGtV>LR*vM2zA|N3~u`om8Af727p{1E6RFfPg*@x}jquKo;aUk|XV4-$NGA`K=E| zKBW2$2S|1$d7uZEcIh0E2l!~OUPT>ppd)f1Okm|&Wi-|gU0`HAWf(MDX59#xt`;cq zrR$Iu{NV&_jS^AVs~dfeC<#I$6xU}OgGmqtXsZS#9I+zZymoDxD7=#kLQ*8 W-3lmP zdImW>wr4Gdjg{l)--XGNT||%bI5Q4j `f@a zxf{ &V=YNx9U*e`6cO+e&6~1-)~5VmUii 8=Xl809ghmW{mx?0fyVis-l*1N6hC~+Xb3X@3KgjP7= zZ7tkNKxUyCgL;d?EARqBfD<3vlc^}0D)oVVt6X(5p@Z}qfuoDs6fHi;rw=mXiW_VU z*P+5@fx~8Ecg}%~TRz%yY@M^4$W{%BGMw$5PRow|fa9ez@dIdprhvvS-aZsRkE@I{ zuDQ~FS%%Ii#i^U+bZrxdXzgXQ12}*QSWjfxg8I8Zmm=h6h{tG4U#3MD0d*hxbw!nC z>3Gno+6nX8NiT|62Q%N~O`h(X-sw-a%MJbMt^%KE1n;3npPh;ac~FNBThUgyj`~>4 zVY&pz^wub$Y7)ByO8~dP8UstXU@D)-OHjA`W`srfiY%a@CAb2l`KCjtbkw6}$~^)b zerrL=0u$l`R1Z^BUzA1p8b+D$w2;F&Q~?aHb#-om)WtZ6Rb7gu*yUqv5=SVWv*(;0 zuFCe}mn7bjg%sWOLz7<{2jKMv3>Yvv9HYBa#Enkr4oA0i2*&6}T0p?jjii8rju2@_ zhoFF{prRnCVC?(y{sa5vJloE5$Mp$)R}@O$2$;L(;kz2D6ZuAk>b>s@{4Q0Nz25(3 zjgqyNwqJf|pHT_OVvFB10GkaG4$|1bx}HGYy@DHiG5@^{F-VP0gWqQh-xx@>UQS zK`2~LRrE=%)PfUq^CDH55_9ve|LKK&ema;qT$}@EQF6k|vxonwyBhskjESUm&jd3A zvFJ|<@e&@!O3vzdx|Qg&>TRkXCv<(S2i!NE%2=5A!NScpbjKs0djiyFfL`T^MfjlE zXg^+TvSZHzQdk3>E`4DSS#$aLV|%PWW~Co#A3y%4d*xcAqg>RXwob|57ZnL>-n&2L z_&j{SY5TtY{nhE`N!*x9%5mOE^>kYHYe4jA(mu A76XI;H6(-+5gp@ zM5b7iX@0l{4{fZlWab;EK{l@^USb6^vsnshB>P*sna0r8?|?3M7F>u-*HQ~EWiGT} zMEZo~xu1QoWQ^5wKwDq`!7@S(Vf!eVrp DphpZG4}hyg%w-V>sw_JCAe! z`~8*V&+WWdhHh^G8BAo}tVQo a`wQefn_CVMJ!#n}qJ3KPgf73z*=eqaj zt I+I&sin2p zQ0Tt3mSJ;NuACE_?b^x<_AJQ-gg^!$T9?g%BRYw3hIKU{+yJM~8=368TG6#BHLV{p z$7zv7uUwM)ChoAU&y`NPR{!mtH?h-HE!y3TKi8ojv4SXFR$gC>fnYj19>zb*U6sUp zV~romYL7uZ|L0E*PT|h6??^|v)tYBWx?1OHv1m-lj R&kIfa7{g8 z(#yv+?)v~c;r0{oy~_!%Qf8M^_ t94Qg>+&^~55!8Gch`NYisZ_K46A?6h-W>q zjTX#^0k*I{ay*6xr%GxeLhO(HUxbeHrt*aAYozM%#agHGUb>BW{W3Dnxi2sx98*=! zu(&~xiu*Fqclh{tHuch7$sQ^>;m&` J};2Tyj7=pG`{RW17ZW+b{ z=>{LAe)3-n9!3*n^R(wx3T5@!dnYKFTtjD=Ec%oPj~p(E{?L~qKhl^X+z3NYt^h)Q zX?}*Bm#@V#$8T%Z{aOLDIa{wfA8&b 2 zY?7B_2}6K^OCmx{< A3JL zPqE=jkj&jGIN<|c2{(}Vz$WgcBdTWFHkXoAFrXuf^-`X@unP)G+#1xC%8dUerM5Mi z2q}h&ubv7A+p3NPMT8?9cQR1+s5z#tBk+eaO!W|LG3yDXV#)ztbGzR+`dLk?uq?l$ z?%C!|9cn|RQdEo6St#&xfA7PUwi{5 fT=^FH2#?tCKbyFZfi%^6v}dIoYefMNI6^Uw1H>_g zqA>}<8fJtt7bi>>RwKJh>~ e=x{ WC(Fm% zy*yt=v)jFpICBe|nDXTZ#Ls`huwTBJJIbMNWO*9$*-=!N_m(}`@?Xz2=!OtGufq}b zVW}$yIw7#eC-prqV 91AHKMvd54brmR73T`4o%xkl z)n3_5*NPS~-U`cgVI543l;XHgJ1*27I(wXRBvhj9=*hIB<~hWa$NmhP@Q8Z5D&Se! zc+Ux!7|P%`-95lp3f@087ZAWqet--a#c|4UNU0XqYLFrRF3)mJaCl*h_ZI_u1$LFJ zqXHN$sd+-Fjp`^TrC(yEd6?n9!$b-3uSQn^PB@T!frMxElqTA@SG6tiuD@TZdIZt| z7bLq?DCDE`WQEr5R#3P27fCufxeM#o0r^|{BE4(J&9By5sYsT!*-~jtCIo1El|$ wyKuhhh_CcS zCDKn)c5DQ_MO#9wx5W8rR__ec8F$Pw|F(5{duxZzo`_|Meerr!F4aD=AGDV?jnGGf z&L_T|Mf@beKV(EW-c;uOu^RJ`ZIAHbVE!4&CDoUWOn|=mcY`+Y$v(4EYz*ThyFh9N z{~cc5XL>@2Concy)cg5^dwc9K`H*-d2V*l6q}k6UOM?ie@@xZ(A%nTRNy$m;JC5zy zI*D5o=lcjr= %xH<%LXf#d%&tms64kfdA(L2=be0JSh%xR_LmEuw`pzW(hf6~4@a&C?VG+; z FCKkGl!i0l$TSz*FKYQ zzh=v;4)u{q*T1Zx0es8ps#$6F27lHsS@N6x_2a_wR#>jH|E1S?qO;ZHMT8n`0YDr! z7R!2Byr2&`M%xp1N*wJ{69z<^oUB*Sl;yQ$E~;Z4E1ZI5D#_xo*P;VL)1U?E=h|}+ zS6LVz9rHV2d@?0h*WuKVzS3z~QGlSMYkffs@<0{I+%?2m(GJ+h(08?pM#3f|8q2x9 za&D>fBLxQ9{-$ojbw->sdM}u)+4f)8C9;(Q8LR&TKr!FVzwRe0OjR zc9HwTteE)FlDwOM4X!#Ko*^8AiD&=JW-P_xbJlc!(!=N%fX|zoyj3`A_Jp>*!7*z2 z`xv_r7i&Xrtw578e_q+)h1~h??SF3MrXXf~V1-^!W_AyqQ4iK$sRT$V%fbk44AY5) z%@}b^KsZVy{V`HMag)Bo9QGr57%F#x;sY644_P(=I``Klw`de+*VJVx4360Z#JC0_ zd!_M(ig}HatH4LUccR-~D!+BSi0^!e;}@m8=gH$jo+EyZd{@s40(7(l``-nP+1?OM zz{+X~{7qq@Un+&th5elhvz{M62J$03@#-L~?Az|m($jeWl2mBiY5ke $FfDgE3%qF9*O?bXRt<&VBvz>|A4UX_BWW1E!E2%VTE_B)U5b$0 zPaB2g !9bEbOf zsul5E5VH3TN^B(18XvToGRkYM6*)Y1Wr?YA{e>Y@C+h7U(VKs53dg(`(#s#C8qdO^ zuQQMHe@xZ}mC;h*##{UhWMN(Jx5kI5kN@h&)&h`&*KQO~-}MBTX4gI=y|v`EyftfQ z@#5`#a?{^DzlN>rSikBeC_+Tb?4}SQD$2(y#U`oZBcz0PRg42%Y#Ch!fjF-v ?346+A0yTm?mG2Jd4!;<&o9(^9pvZ~>^ zvx~oaUH1@gL_Kuo%a_ghe;-Pu8^W+fw|FgYbH2iVaX$22c;J{M>g`jJ!demLGoHqq zFoDQw+)cRY^A+$3XyoM>M1(f_IL>0LL3pVxW^q;U%-OCC!#mn`QXLhUg C@-KDS>_uC(0vC!zZGCwz}KQi5jK zg0`r%?J>h+y!dZz>yOR=x|5>a%p=Eg7xH6U&L@1Y^l *!f0S%-azU2u0~@{j9c<+_EL)cVw2 zC3(m36Mz>b-wvLEHM*(QC@dtZ&L?`l7}e+(@=6}HIF(G=@cI$u+VcIqMmpPq5vP!( z6uD{Kzb;#F&^2(Za%2m}Mqvw<&0~=QhMzWj->C{tKJ;nc>DCO$VNSr9OY8!gXsKk} zCPUfG)*)R|K) j{mjx^e z5|2&;3Pz07Xnm3a)yOiunWD1R?~W?q7uC_hv$ok;ZuBe8^d!+nMMYn6jmG9(p_YXQ zqRv|Th7N=`D4{gaCkMW(11Zh@#eoETP)Xx&qYwOr>+Pgc)+5^&LU3KLcouXf21B>5 zp0JJuvCxdLp1LysB{G`RA!l$^bwuH(Il#AvTjGBG@&{9DA<#AJw?EsccQIvW>&`(x zh38&es!w+0 kN$?HRR)CL9gUT}n;c!11t}epnLSO^eF-`pBll;_;Xr|NCz` zt-sPNGt(^f%I(?)zJhVMl^^U uklRU0;_bK^19y ziSoH@cRSfr3p|+?FUO2l5!fWmzcn{Ee^jI8P91-ijrXfa5J!wE)Y^&%Y6%P03--GP zesR_QM{XeubBJnnh@;=4(4iPOzrICR#(eue&{wa8t*otwIYIDwu#VejB*h}8=z8=p z8Th%U&-)=yQP+8eF?f+l;y?Yn i;?J5y>^^^h*bb# z5!W`_rE;GH@w(t*))na{h{!YvGZnw!$EnZ8--`L{@%%`=YaJcu3o!TTh Kd5K6SM1!x#SY(S<5qTasI>G z+9?D!{e9rCw{$_@&8tfAd$P81Ws=_>lD#L6(PJ4g?Q(B_+23buy;y$1;U-RhIj?ew z82(Ol=1oSG44FUC`5SU~zTH(OI-y$xzKNT_9#iu){AJaS35*_c`R`>$z?TPOH5wB& zAp4gu*pxe+u*uQOgJ4y2@F1{ %sRc2BS)r)Nd}8$1Y(}qMQDzdYlbsueHAAinpd*?Txxh zV{w1jHt;$yH(GJ5t?>=2Q1i*YwwQiLc~91cj4y2t#(bdY(I4ck*!!B6F>N@cflBFg z;ZSO{`Rj=4S&Q?kF5Yy(J;&%_ZdS<}@|U&3z5HL&uNdM)cwr(g#wiFvrU^Ul6S;7t zWDpS^K}4jH=?ifTAsQrgz?bWilJU&(hEEQ|7baOa;_;A%U#kt^yHDZ&m2Lch&fq4r z@LVAvmYOHGZN=TVb5kzT-4&wJC&3=mqr1949l!r()O+-*UTdjgO4J;5u7AZdkPnG3 z_1&Zhnvb)zYn^!~pez)HbU 3GR50SA fs)|@m(nC1sz#EL67n7POdh&3tfCf{jhy+y*9yhVs~dAc zqULD1WLw MPNJV)zk26y*vAiTP7j~m{_}S@^W` }sfxW=M%UWq zPix=S#%4eUM))tqlH5}0w6HYe`GKIIIv&p{Tvyu-kg-Tx!V^q=Rf4*|XpMPHb3 zt{Aw|5=SdqpF1_B+cVf~C{^)n_tR9n`R*6v8QDMLdifvJ7dxKm0Fbg`wK2OX%o-Fr z=~3Yr0EkX-t)Od)D=ttTDa~D|Kr4x9Q_wMf3g}(ZVrc^-!;XwIWH-+mI5*Y?f*!t! zII(_sCqaOLFN&I@&7gL3$*}!NOl^2?MHIQTp7rYlcQDgYm=Yt-Xz5SypwhOJ2U0$x zPLRdo$iwS`OXZYhHp1rV Asvc!(vmM*!$+S08NRq8bZle&jzi!&`7_I7b ziS|YV)RlI7cN*3!;)OHv`pw(s4dxU=9rEJ4pkFpvJNe?_#Z!_%;$!GaNX@pEPj0xC z@Li;-@%!XtPUK*d{v)=pmJ;;1%hp1a39Xj59B-Sgq!E~H5*P!xoaj^O@R VBf<}(w47t~@g-NvhWloapB51iv3YX=k3*6fFRh%Q-%Jh9~FWm3e zjh?eK=5>KcP35Lyzc)5`8+|f(h-^O-t*I^)H)?JSjFFHT)hgL5=ejf1ROC8^N#&r8 z5?5@ 43 z5@Y0M8y+1NYG>Z2+3iM&w4IOXBRx^JLWRi>y@M{6oO9hj$g9A>egRIlz7#AXG;KcH z7z3BzN@1&h!YBodqGN{WJ_&hr>6E0Kyuk~&`SEF&GtR3#&%}Q0`_K{pJ#kYbphd#> z+ER_In-qn73-8?mR-M3HOv{uY-fAc%Sy;qjcfR e+RJJf+r$n#6Q%OLu`XMpVov_H27LVllRA6 iTG%dbuI5FJ`J+gUG^292p%O%1)qON%U}jH-(}Yd16@$!&lJk zohk6V9XeN4bGE+Z
h)#y ELmd=ovfM4q!> z&+UisVinbz#lA|gOY8o2K{vq|T$SYwVv-C{f#7DOqQ` q17AbX~<9q`PP$$9M %L`lS)}ntCH1;bQ>kACJV1gNpl+`A%{OCgVg(ib zDvbrV7V0y1t8?q@C2j@!8>Ngfmv&%oTMfk{ZC#Amau);|b>7pf%O-Nn;9z`)K)5>q zf-%@Z-beruh=iTFzrlC9#ufoIx 2yVwg-I?#K#EU!VO2e-L>R8_UP zRP)6A*Sufm^EO=F 9? zs~Us8l$0XzuDGiF5B~Ak{%dJMyjBy{YPG`ZB`QU-s@lX?U|b|g=C)hRlZ0zxmC7FR zI?pdS30Q4SRhfo9^Q0*3 d0ezngP2##L+lXeqsB#5n p`ri<%JRjo_-MB$S-v?YWC|TyB}G| z}n4rHddUW|jOXI;t)F_aZM ~zyS2}F zp|4K3*b9_15Wf8&fs@j6Zm~h-IOP(H5YP=9Og>c`+l^y=xTNxYH{4P*T)Y6?K|GL1 zdvei`pq7vUup@deWOL=`<|#5vxzV3-{0$SQK`(g1Xt_gr*tXt0EgiI*YGQ(|Ck1UB z(QW`f6f}=*aJ;bSn%wXfEB>1UPKJR2!JAV-fehc2H}xi#(kEzNL0a6n%K2F*w6A;; zOVio;{<9voUc+o{Y@eZv%umyVh_jr%+y0$6BmWUkk(`xGauOBn_cU{oY<_3|5pk4E z!%&;;{HWSmP%%yH{gFGxpn9Fa@Zl$|B8OBV-{Jhky}!tV56a{2YsR80C{ah!#VBkX z=7Wed&EK?Zp5 (qZEnMzw&p8GUh)-4D3NCq)D-CO76F|+6 zqeOCja&6snOU$6Oe)K}wgDG={I6YBevBo!ai#fEc2cKj1Gyl|%V8TEBMO&bDWT3m> z{xau7O)R0*T{BcE1GVx7ERYBbVS >m}Iq*>3#-k^<#d%@%|rL8dr zm!!Q;5vA=X{~!?%*0o=VucVOxnL$|)S0nh#)cY}W$uM_ut@KZoW>oWV17*|2q~?z? zS_~gi`y-iuG{+fL>fJEoAJN~JmL8#&8UIntpv+;aRv4k%EK~yEQ{keJ9}eanCM-5j zh5P5LHx&qn;{K~{*A+#KrsM k?n#1?;E}e!O}+{iH8Kb zer8s!MrC)=<7dp>(k)!IZj&iTc4ty(`JL}1CKj|$=n8K71M}(3yX|W`Xk|Bq(oQc4 zIy+}E%K&+YD9|b))A$9uR0hn|Q}|voU4Mgs{r!05otDBO7BqMyrLHihh_QTgO)>pr zOnm}%|J8ZIh+uZOlEUntvS94p8_EsU_3c;zV5aa0U4Fs{>Xi&?p7B#N`d?PKYGSzR z&Npb`BJAkffiFNk2mtpb!-PXG4wWW>Wcqr^G>92t-zMOUl+v2Nm>JRIq2_Av=RUG@ zFT#kH^kl3qg%`O>DyF7*J6pd;5