From 57adabe5bea67d0fd52c1be822a31988331c7d6b Mon Sep 17 00:00:00 2001 From: Andreas Omholt Olsen Date: Mon, 23 Feb 2026 12:10:01 +0100 Subject: [PATCH] Add oving 6 --- oppgavetekster/oving6/HighscoreList.md | 46 +++++ oppgavetekster/oving6/Logger.md | 136 +++++++++++++++ oppgavetekster/oving6/Office.md | 54 ++++++ oppgavetekster/oving6/README.md | 44 +++++ oppgavetekster/oving6/StockListener.md | 64 +++++++ oppgavetekster/oving6/img/highscore-list.png | Bin 0 -> 144683 bytes oppgavetekster/oving6/img/highscore-list.puml | 23 +++ oppgavetekster/oving6/img/hl-program.png | Bin 0 -> 198562 bytes oppgavetekster/oving6/img/hl-program.puml | 31 ++++ src/main/java/oving6/highscorelist/.gitkeep | 0 src/main/java/oving6/logger/.gitkeep | 0 src/main/java/oving6/office/.gitkeep | 0 src/main/java/oving6/stock/.gitkeep | 0 .../highscorelist/HighscoreListTest.java | 160 ++++++++++++++++++ .../oving6/logger/DistributingLoggerTest.java | 100 +++++++++++ .../oving6/logger/FilteringLoggerTest.java | 86 ++++++++++ .../java/oving6/logger/StreamLoggerTest.java | 49 ++++++ src/test/java/oving6/office/ClerkTest.java | 77 +++++++++ src/test/java/oving6/office/ManagerTest.java | 123 ++++++++++++++ src/test/java/oving6/office/PrinterTest.java | 97 +++++++++++ .../java/oving6/stock/SmartStockTest.java | 124 ++++++++++++++ .../java/oving6/stock/StockIndexTest.java | 116 +++++++++++++ src/test/java/oving6/stock/StockTest.java | 89 ++++++++++ 23 files changed, 1419 insertions(+) create mode 100644 oppgavetekster/oving6/HighscoreList.md create mode 100644 oppgavetekster/oving6/Logger.md create mode 100644 oppgavetekster/oving6/Office.md create mode 100644 oppgavetekster/oving6/README.md create mode 100644 oppgavetekster/oving6/StockListener.md create mode 100644 oppgavetekster/oving6/img/highscore-list.png create mode 100644 oppgavetekster/oving6/img/highscore-list.puml create mode 100644 oppgavetekster/oving6/img/hl-program.png create mode 100644 oppgavetekster/oving6/img/hl-program.puml create mode 100644 src/main/java/oving6/highscorelist/.gitkeep create mode 100644 src/main/java/oving6/logger/.gitkeep create mode 100644 src/main/java/oving6/office/.gitkeep create mode 100644 src/main/java/oving6/stock/.gitkeep create mode 100644 src/test/java/oving6/highscorelist/HighscoreListTest.java create mode 100644 src/test/java/oving6/logger/DistributingLoggerTest.java create mode 100644 src/test/java/oving6/logger/FilteringLoggerTest.java create mode 100644 src/test/java/oving6/logger/StreamLoggerTest.java create mode 100644 src/test/java/oving6/office/ClerkTest.java create mode 100644 src/test/java/oving6/office/ManagerTest.java create mode 100644 src/test/java/oving6/office/PrinterTest.java create mode 100644 src/test/java/oving6/stock/SmartStockTest.java create mode 100644 src/test/java/oving6/stock/StockIndexTest.java create mode 100644 src/test/java/oving6/stock/StockTest.java diff --git a/oppgavetekster/oving6/HighscoreList.md b/oppgavetekster/oving6/HighscoreList.md new file mode 100644 index 0000000..d0afd31 --- /dev/null +++ b/oppgavetekster/oving6/HighscoreList.md @@ -0,0 +1,46 @@ +# Observatør-observert-teknikken - HighscoreList-oppgave + +Denne oppgaven handler om å bruke observatør-observert-teknikken for å bli informert om endringer i en highscore-liste. + +Observatør-observert-teknikken går ut på at det observerte objektet sier ifra til en eller flere observatører om at tilstanden er endret. Dette brukes gjerne når vi har en rekke observatørobjekter som ønsker å vite når en endring skjer i et annet (observert) objekt. Det hadde vært ueffektivt om observatørobjektene skulle sjekket for endringer hele tiden. Derfor definerer vi ofte et felles `interface` som disse kan implementere, slik at det observerte objektet kan kalle på metoder i observatørene når det skjer en endring. + +I denne oppgaven skal vi lage en observerbar `HighscoreList` som kan si fra til observatører/lyttere av typen `HighscoreListListener` når nye resultater blir registrert. En hovedprogramklasse kalt `HighscoreProgram` vil bli brukt til å sjekke at det virker. Denne klassen oppretter en `HighscoreList`-instans, legger inn resultater (tall) fra konsollen som legges til listen og skriver ut listen hver gang et nytt resultat faktisk blir lagt til. + +Alle filene i denne oppgaven skal lages i [oving6/highscorelist](../../src/main/java/oving6/highscorelist). + +## Del 1: Implementasjon av HighscoreList + +En `HighscoreList` skal holde styr på heltallsresultater (av typen `int`/`Integer`). Listen skal være observerbar ved at den kan registrere lyttere (`HighscoreListListener`-instanser) og si fra til dem når listen blir endret. Listen skal ha en maksimal lengde, som settes i konstruktøren, f.eks. skal en topp 10-liste kunne opprettes med `new HighscoreList(10)`. Nye resultater registreres med metoden `addResult(int)`, som skal finne riktig posisjon og legge resultatet inn (dersom det er godt nok). Dersom listen er for lang, så skal det dårligste resultatet fjernes. NB: _Lavest verdi_ er best, f.eks. antall sekunder på en oppgave eller antall flytt i Sokoban. + +`HighscoreListListener`-grensesnittet er vist i klassediagrammet til venstre og må implementeres av alle klasser som ønsker å fungere som lyttere for `HighscoreList`-instanser. Lyttere registrerer seg med `HighscoreList` sin `addHighscoreListListener`-metode og vil siden få beskjed om nye resultater ved at `listChanged()`-metoden kalles. Argumentene som tas inn er `HighscoreList`-objektet som ble endret og posisjonen i listen der endringen skjedde. + +Her er en oversikt over metoden som må implementeres: + +- `HighscoreList(int maxSize)` - konstruktøren tar inn maks antall resultater som listen skal kunne holde. Denne verdien må brukes av `addResult`, slik at resultater som er for dårlige kastes. +- `int size()` - returnerer antall elementer i listen, som altså aldri skal overstige maks-antallet. +- `int getElement(int)` - returnerer resultatet i posisjonen angitt av argumentet. +- `void addResult(int)` - registrere et nytt resultat, og dersom resultatet er godt nok til å komme med på listen, så legges det inn på riktig plass. Dersom listen blir for lang, så må dårligste resultat kastes. Alle registrerte lyttere må få beskjed om en evt. endring av listen, inkludert på hvilken posisjon som ble endret. +- `void addHighscoreListListener(HighscoreListListener)` - registrerer en ny lytter. +- `void removeHighscoreListListener(HighscoreListListener)` - fjerner en tidligere registrert lytter. + +Klassediagram for `HighscoreList` og `HighscoreListListener`: + +![highscore-list](./img/highscore-list.png) + +Testkode for denne oppgaven finner du her: [oving6/highscorelist/HighscoreListTest.java](../../src/test/java/oving6/highscorelist/HighscoreListTest.java). + +## Del 2: Hovedprogramklasse + +Lag en hovedprogramklasse kalt `HighscoreListProgram`, som tester at `HighscoreList`-klassen din virker som den skal. La den opprette en `HighscoreList`-instans, lese inn tall fra konsollet (f.eks. med en `Scanner` og `nextInt`-metoden) og legge disse inn i listen. Sørg for at `HighscoreListProgram` implementerer `HighscoreListListener`-grensesnittet (`HighscoreListProgram implements HighscoreListListener`) og registrerer seg som lytter på `HighscoreList`-instansen via `addHighscoreListListener`. La lyttermetoden `listChanged` skrive ut informasjon og resultatene i `HighscoreList`-instansen og posisjonsargumentet, slik at du ser at alt virker som det skal. + +Vi foreslår følgende metoder og oppførsel: + +- `void init()` - oppretter en ny `HighscoreList` og registrerer seg selv (altså `HighscoreListProgram`-instansen) som lytter. Dette kan og gjøres i konstruktøren om ønskelig. +- `void run()` - leser inn tall (resultater) fra terminalen og legger dem til i listen. +- `void listChanged(HighscoreList, int)` (fra `HighscoreListListener`) - observerer endringer i `HighscoreList`-instansen og skriver ut posisjonsargumentet, samt selve listen, til konsollen. + +Klassediagrammet viser hvordan klassene henger sammen, og vårt forslag til metoder: + +![hl-program](./img/hl-program.png) + +Husk også å lage en `main()`-metode som kjører HighscoreListProgram! diff --git a/oppgavetekster/oving6/Logger.md b/oppgavetekster/oving6/Logger.md new file mode 100644 index 0000000..60e9222 --- /dev/null +++ b/oppgavetekster/oving6/Logger.md @@ -0,0 +1,136 @@ +# Delegering - Logger-oppgave + +Denne oppgaven bruker delegeringsteknikken for å implementere en fleksibel måte å håndtere logging (av feil i programmer) på. + +## Logging + +Ved kjøring av programmer er det ofte behov for å logge hva som skjer underveis, slik at det blir lettere å drive feilsøking i etterkant. F.eks. kan en lagre feilmeldinger til fil, med tidspunkt og litt om programtilstanden og hvis programmet kræsjer ordentlig, så kan brukeren sende logg-fila som e-post til utviklerne. En enkel måte å støtte logging på er å lage en hjelpeklasse med én metode, f.eks. `log(String melding)`, og så er det hjelpeklassen som bestemmer om meldingen skal vises i statuslinja, skrives til fil, sendes som melding til en alarmsentral osv. Hjelpeklassen kan kanskje brukes av mange programmer, og siden behovene vil variere er det viktig å gjøre dette fleksibelt. Denne oppgaven bruker [grensesnitt](https://www.ntnu.no/wiki/pages/viewpage.action?pageId=65936813) og [delegeringsteknikken](https://www.ntnu.no/wiki/display/tdt4100/Delegeringsteknikken) for å implementere fleksibel logging, litt på samme måte som eksisterende loggingsrammeverk (se f.eks. [Java sin egen loggingsfunksjonalitet](http://docs.oracle.com/javase/6/docs/technotes/guides/logging/overview.html), Apache sitt [log4j-rammeverk](http://logging.apache.org/log4j/), eller Googles ["Java logging framework"](https://www.google.no/search?q=java+logging+frameworks)). + +Alle filene i denne oppgaven skal lages i [oving6/logger](../../src/main/java/oving6/logger). + +### ILogger-grensesnittet + +Logging gjøres ved å bruke ulike implementasjoner av `ILogger`, som er definert som følger: + +```java +package oving6.logger; + +public interface ILogger { + + String ERROR = "error"; + String INFO = "info"; + String WARNING = "warning"; + + void log(String severity, String message, Exception exception); +} +``` + +ILogger-grensesnittet definerer én `log`-metode som brukes til all logging: + +- `severity`-argumentet angir alvorlighetsgraden, og må være en av `String`-verdiene `ERROR`, `WARNING` eller `INFO`, som er definert som konstanter i grensesnittet. +- `message`-argumentet er en melding om hva som var feil. +- `exception`-argumentet er et unntaksobjekt, som kan gi mer informasjon av hva som var feil, men kan være `null`. + +En typisk bruk vil være i `catch`-delen av en `try/catch`: + +```java +ILogger logger = ... +... +try { + ... +} catch (IOException ioe) { + logger.log(ILogger.ERROR, "Feil ved lesing fra fil", ioe); +} +``` + +Akkurat hvordan logging utføres bestemmes av hvilken implementasjon av ILogger-grensesnittet en bruker, og i denne oppgaven skal du implementere følgende tre klasser: + +- `DistributingLogger` - delegerer til andre loggere basert på _alvorlighetsgraden_. +- `FilteringLogger` - delegerer til en annen logger, men kun for spesifikke alvorlighetsgrader. +- `StreamLogger` - skriver logg-meldingen til en angitt strøm. + +Hver av disse utgjør én av deloppgavene beskrevet under. + +## Del 1 - StreamLogger + +En `StreamLogger` sørger for å skrive alle logg-meldinger til en angitt `OutputStream`, med én melding pr. linje (altså linjeskift mellom hver melding). `OutputStream`-objektet må gis inn i konstruktøren: + +- `StreamLogger(OutputStream stream)` - initialiserer `StreamLogger`-objektet slik at logg-meldinger skrives til `stream`. + +Eksempel på bruk: + +```java +ILogger logger = new StreamLogger(System.out); +logger.log(ILogger.INFO, "Denne meldingen er til informasjon og skrives til System.out", null); +``` + +Husk å kalle `flush`-metoden til OutputStream etter at logg-meldingen er skrevet. + +Det skal også være mulig å angi en såkalt _format_-string, dvs. en `String` som fungerer som en slags mal for hva som skrives, f.eks. `"%s: %s (%s)"`: + +- `void setFormatString(String formatString)` - setter format-string-en som brukes for å lage logg-meldingen som skrives. Det settes ingen andre krav til validering av `formatString`-argumentet annet enn at det ikke kan være `null`. + +Effekten av skriving skal være som om man ga format-string-en som første argument til `String.format`-metoden etterfulgt av `severity`-, `message`- og `exception`-argumentene, og så skrev ut det denne metoden returnerer: + +```java +String logMessage = String.format(formatString, severity, message, exception); +// skriv logMessage til OutputStream-en her +``` + +Merk at dersom format-string-en ikke er satt, så skal den ha en fornuftig start-verdi. + +Testkode for oppgaven: [oving6/logger/StreamLoggerTest.java](../../src/test/java/oving6/logger/StreamLoggerTest.java). + +## Del 2 - FilteringLogger + +`FilteringLogger`-klassen implementerer `ILogger`-grensesnittet og delegerer til en annen `ILogger`-implementasjon, men bare hvis _alvorlighetsgraden_ er en av et sett angitte verdier. Både loggeren det delegeres til og alvorlighetsgradene angis når `FilteringLogger`-objektet opprettes: + +- `FilteringLogger(ILogger logger, String... severities)` - initialiserer `FilteringLogger`-objektet så det delegerer logging til `logger`-argumentet, men bare hvis _alvorlighetsgraden_ som gis til `log`-metoden er en av verdiene angitt i `severities`-argumentet. `severities`-argumentet er et såkalt varargs-argument, som du kan lese mer om her: [Varargs - variabelt antall argumenter](https://www.ntnu.no/wiki/display/tdt4100/Varargs+-+variabelt+antall+argumenter). Det viktigste å vite her er at det du får inn i metoden din vil være en variabel `severities` som er av typen string array (`String[]`). Du kan hente ut elementer her via `severities[0]`, sjekke lengde ved `severities.length` og ellers bruke alle normale arraymetoder. + +Det skal også være mulig å sjekke om logging er på og slå logging av og på i etterkant: + +- `boolean isLogging(String severity)` - returnerer `true` hvis logging er slått på for den angitte alvorlighetsgraden og `false` ellers. +- `void setIsLogging(String severity, boolean value)` - slår logging på (`value` er `true`) eller av (`value` er `false`) for den angitte _alvorlighetsgraden_. + +Eksempel på bruk: + +```java +ILogger syserrLogger = new StreamLogger(System.err); +FilteringLogger logger = new FilteringLogger(syserrLogger, ILogger.ERROR); + +logger.log(ILogger.ERROR, "Denne meldingen er alvorlig og skrives til System.err", null); +logger.log(ILogger.WARNING, "Denne meldingen er en advarsel og blir filtrert bort", null); +logger.log(ILogger.INFO, "Denne meldingen er til informasjon og blir filtrert bort", null); + +logger.setIsLogging(ILogger.WARNING, true); +logger.log(ILogger.WARNING, "Denne meldingen er en advarsel og blir nå skrevet til System.err", null); +``` + +Testkode for oppgaven: [oving6/logger/FilteringLoggerTest.java](../../src/test/java/oving6/logger/FilteringLoggerTest.java). + +## Del 3 - DistributingLogger + +`DistributingLogger`-klassen brukes for å fordele logg-meldinger til en av tre andre loggere, avhengig av _alvorlighetsgraden_ til en logg-melding. Den har én hjelpe-logger for meldinger med alvorlighetsgrad `ERROR`, én for meldinger av alvorlighetsgrad `WARNING` og en for meldinger av alvorlighetsgrad `INFO`. Alle disse angis til konstruktøren: + +- `DistributingLogger(ILogger errorLogger, ILogger warningLogger, ILogger infoLogger)` - initialiserer objektet slik at den første loggeren brukes til alvorlighetsgraden `ERROR`, den andre til alvorlighetsgraden `WARNING` og den tredje til alvorlighetsgraden `INFO`. + +I tillegg skal klassen ha en metode for å sette hver av dem individuelt: + +- `void setLogger(String severity, ILogger logger)` - setter/endrer loggeren som brukes for den angitte alvorlighetsgraden. + +Eksempel på bruk: + +```java +ILogger syserrLogger = new StreamLogger(System.err); +ILogger sysoutLogger = new StreamLogger(System.out); +DistributingLogger logger = new DistributingLogger(syserrLogger, syserrLogger, sysoutLogger); + +logger.log(ILogger.ERROR, "Denne meldingen er alvorlig og skrives til System.err", null); +logger.log(ILogger.WARNING, "Denne meldingen er en advarsel og skrives til System.err", null); +logger.log(ILogger.INFO, "Denne meldingen er til informasjon og skrives til System.out", null); + +logger.setLogger(ILogger.WARNING, sysoutLogger); +logger.log(ILogger.WARNING, "Denne meldingen er en advarsel, men nå skrives den til System.out", null); +``` + +Testkode for oppgaven: [oving6/logger/DistributingLoggerTest.java](../../src/test/java/oving6/logger/DistributingLoggerTest.java). diff --git a/oppgavetekster/oving6/Office.md b/oppgavetekster/oving6/Office.md new file mode 100644 index 0000000..a05629b --- /dev/null +++ b/oppgavetekster/oving6/Office.md @@ -0,0 +1,54 @@ +# Delegering - The Office-oppgave + +Denne oppgaven bruker delegeringsteknikken for å modellere arbeidsfordeling på en “vanlig” arbeidsplass. Denne oppgaven kan muligens oppleves som mindre meningsfull. Dette er kanskje omtrent tilsvarende hvor meningsløst noen typer kontorarbeid kan virke. + +Vi skal i dette scenarioet ha en sjef, eller `Manager`, som har én eller flere arbeidere, eller `Clerk`s, altså i en såkalt én-til-mange relasjon. Et `Employee`-grensesnitt definerer en oppførsel som er felles for de ansatte, og implementeres av både `Manager` og `Clerk`. + +`Employee`-objekter på denne simulerte arbeidsplassen har to oppgaver: + +- Utskrift av dokumenter +- Utførelse av matematiske beregninger + +Alle filene i denne oppgaven skal lages i [oving6/office](../../src/main/java/oving6/office). + +## Del 1: Employee, Clerk og Printer + +`Employee`-grensesnittet har følgende metoder: + +- `double doCalculations(BinaryOperator operation, double value1, double value2)` - regner ut resultatet av å utføre `operation` med argumentene `value1` og `value2`. +- `void printDocument(String document)` - Printer `document`. Hvordan dette gjøres avhenger av den spesifikke implementasjonen. +- `int getTaskCount()` - returnerer hvor mange oppgaver (beregninger og printinger) som har blitt utført av eller på vegne av dette `Employee`-objektet. +- `int getResourceCount()` - antallet employees til rådighet, inkludert `Employee`-objektet metoden blir kalt på. En `Employee` skal altså medregne seg selv i antall ressurser den ansatte har til rådighet. Dette tallet skal inkludere alle `Employee`-objekter nedover i hierarkiet. + +Lag dette grensesnittet, og lag så en `Clerk`-klasse som implementerer det. `Clerk` må ha følgende konstruktør: + +- `Clerk(Printer printer)` + +`Clerk`-klassen må inneholde egen logikk for å løse `doCalculations`, men skal altså delegere `printDocuments` til `Printer`-objektet gitt i konstruktøren. + +Definer en `Printer`-klasse med følgende metoder: + +- `void printDocument(String document, Employee employee)` - skriver documentet til konsollen og tar vare på dokumentet i `employee` sin historikk. Ingen av argumentene kan være `null`. +- `List getPrintHistory(Employee employee)` - returnerer en `List` med alle dokumentene som har blitt printet av `employee` av denne printeren i rekkefølgen de har blitt printet. Om `employee` ikke har printet noen dokumenter ved denne printeren skal en tom liste returneres. + +La så `Clerk` delegere `printDocument` til `Printer`. Siden `Clerk` ikke har noen andre ansatte å delegere til, vil `getResourceCount()` alltid være 1. + +Testkode for `Clerk` er her: [oving6/office/ClerkTest.java](../../src/test/java/oving6/office/ClerkTest.java). + +Testkode for `Printer` er her: [oving6/office/PrinterTest.java](../../src/test/java/oving6/office/PrinterTest.java). + +## Del 2: Manager + +Vi definerer så sjefen til de hardt-arbeidende `Clerk`-objektene. `Manager`-klassen har følgende konstruktør: + +- `Manager (Collection employees)` - utløser et `IllegalArgumentException` dersom employees er tom. + +La så `Manager` implementere `Employee`-grensesnittet. Implementer `Manager`s oppgaver ved å delegere alle videre til en av arbeiderne i listen med `Employee`-objekter gitt i konstruktøren. Regelen for hvilken `Employee` som får hvilken oppgave delegert til seg kan du bestemme selv, men prøv å gjøre det slik at arbeidet fordeles jevnt på alle. Mens `Clerk` altså har kun én tilgjengelig ressurs vil `Manager`-objekter vil ha flere. + +Testkode for `Manager` er her: [oving6/office/ManagerTest.java](../../src/test/java/oving6/office/ManagerTest.java). + +## Del 3: Main-metode + +Lag en `main()`-metode som illustrerer hva som skjer med effektiviteten når vi legger til flere nivåer med mellomledere. + +Lag først et `Manager`-objekt som blir tildelt noen `Clerk`-objekter under seg. Presentér deretter effektiviteten av hierarkiet ved å skrive ut `getTaskCount() / getResourceCount()` for `Manager`-objektet. Vis deretter hvordan effektiviteten faller når vi legger til nivåer med mellomledere ved å lage to eller flere nivåer med `Manager`, hvor lederne på bunnen tildeles `Clerk`-objekter, og skriv ut den nye effektiviteten for topplederne. diff --git a/oppgavetekster/oving6/README.md b/oppgavetekster/oving6/README.md new file mode 100644 index 0000000..58b7a91 --- /dev/null +++ b/oppgavetekster/oving6/README.md @@ -0,0 +1,44 @@ +# Øving 06: Observatør-Observert og Delegering + +## Øvingsmål + +- Lære hva observatør-observert-teknikken er, dens bruksområder og fordeler +- Lære bruk av delegering for å utføre oppgaver i en klasse + +## Øvingskrav + +- Kunne definere og implementere et observatørgrensesnitt +- Kunne la en observert klasse fortelle dens observatører om endringer +- Kunne la en klasse delegere utførelsen av oppgaver til interne objekter + +## Dette må du gjøre + +### Del 1: Programmering + +Denne øvingen omfatter både [delegeringsteknikken](https://www.ntnu.no/wiki/display/tdt4100/Delegeringsteknikken) og [observatør-observert-teknikken](https://www.ntnu.no/wiki/pages/viewpage.action?pageId=66879660). Gjør **minst én** av de fire oppgavene under. For å få 2 poeng må det gjøres **minst én** oppgave fra **hvert av de to temaene**. Dette anbefales uansett på det *sterkeste*, siden dette må til for å dekke hele pensum. + +Gjennomfør enten *minst én* av oppgavene om delegering: + +- [The Office](./Office.md) (anbefalt) (Lett) +- [Logger](./Logger.md) (Medium) + +ELLER *minst én* av oppgavene om observatør-observert-teknikken: + +- [StockListener](./StockListener.md) (Medium) +- [Highscore](./HighscoreList.md) (Vanskelig) + +**I tillegg til oppgaven(e) ovenfor skal du levere en tekstfil hvor du gjør kort rede for delegeringsteknikken og observatør-observert-teknikken.** + +### Del 2: Objektdiagram + +For en av oppgavene du gjorde i del 1: + +Lag en sekvens av kall i `main()`-metoden. Denne sekvensen må benytte seg av den passende teknikken fra del 1. Tegn deretter et [objektdiagram](https://www.ntnu.no/wiki/display/tdt4100/Objektdiagrammer) som viser tilstanden til hvert objekt ved slutten av `main()`-metoden. Du trenger ikke levere inn diagrammet på Blackboard. + +## Hjelp / mistanke om bugs + +Ved spørsmål eller behov for hjelp konsulter studassen din i saltidene hans/hennes. Du kan også oppsøke andre studasser på sal eller legge ut et innlegg på [Piazza](https://piazza.com/ntnu.no/spring2025/tdt4100). + +## Godkjenning + +Last opp kildekode på Blackboard innen den angitte innleveringsfristen. Innlevert kode skal demonstreres for en læringsassistent innen én uke etter innleveringsfrist. Se for øvrig Blackboard-sidene for informasjon rundt organisering av øvingsopplegget og det tilhørende øvingsreglementet. diff --git a/oppgavetekster/oving6/StockListener.md b/oppgavetekster/oving6/StockListener.md new file mode 100644 index 0000000..573f93f --- /dev/null +++ b/oppgavetekster/oving6/StockListener.md @@ -0,0 +1,64 @@ +# Observatør-observert-teknikken - StockListener-oppgave + +Denne oppgaven handler om å bruke observatør-observert-teknikken for å holde en aksjeindeks (`StockIndex`) informert om endringer i én eller flere aksjer (`Stock`). + +Observatør-observert-teknikken går ut på at det observerte objektet sier ifra til én eller flere observatører om at tilstanden er endret. I vårt tilfelle skal vi ta utgangspunkt i at aksjer (`Stock`) har en pris, og at personer eller institusjoner (`StockListener`) ønsker å holde seg oppdatert på aksjepriser. + +Alle filene i denne oppgaven skal lages i [oving6/stock](../../src/main/java/oving6/stock). + +## Del 1: Stock-klassen og StockListener-grensesnittet + +Du skal implementere en klasse `Stock` med følgende funksjonalitet: + +- `Stock(String ticker, double price)` - en konstruktør som tar inn en aksjekode (`ticker` ulik `null`) og en aksjepris. +- `void setPrice(double price)` - endringsmetode for aksjeprisen. Dersom aksjepris er negativ eller lik null, skal metoden utløse en `IllegalArgumentException`. +- `String getTicker()` - metode for å hente aksjekoden. +- `double getPrice()` - metode for å hente aksjeprisen. + +Du skal videre definere et lyttergrensesnitt kalt `StockListener`, som observatørene må implementere. Grensesnittet skal inneholde én metode: + +- `void stockPriceChanged(Stock stock, double oldValue, double newValue)` - lyttermetode for å holde lytteren oppdatert på aksjeprisen. Metoden skal ta inn et `Stock`-objekt, samt gammel og ny pris. Alle lyttere må implementere denne metoden. + +Foreløpig er `Stock` ikke observerbar. For at observatører skal kunne holdes oppdatert, må `Stock`-objekter administrere en liste med lyttere. Derfor må `Stock`-klassen i tillegg ha følgende metoder: + +- `void addStockListener(StockListener)` - metode for å legge til nye observatører. +- `void removeStockListener(StockListener)` - metode for å fjerne observatører. + +Observatørene skal holdes oppdatert på prisendringer. Derfor må lyttermetoden kalles hos alle registrerte observatører når aksjeprisen endres med `setPrice`-metoden. + +Testkode for denne oppgaven finner du her: [oving6/stock/StockTest.java](../../src/test/java/oving6/stock/StockTest.java). + +## Del 2: StockIndex implements StockListener + +Vi skal nå lage en veldig forenklet versjon av en aksjeindeks. I korte trekk bruker man en aksjeindeks til å måle utviklingen av et utvalg aksjer. Vår enkle, fiktive aksjeindeks `StockIndex` har et navn (`String`), indeks (`double`) og en liste med `Stock`-objektene som er inkludert i indeksen. Indeksen beregnes ut i fra aksjeprisene den "observerer", og vil være lik summen av disse. Når en av aksjeprisene øker eller synker, må tilstanden til `StockIndex`-objektet holdes konsistent med denne utviklingen. Dette lar seg gjøre ved at `StockIndex` observerer én eller flere `Stock`-objekter. Klassen skal ha følgende metoder: + +- `StockIndex(String name, Stock... stocks)` - konstruktør som tar inn ingen, én eller flere aksjer (`Stock`-objekter). `Stock`-parameteret defineres som et såkalt [varargs-parameter](https://www.ntnu.no/wiki/display/tdt4100/Varargs+-+variabelt+antall+argumenter). NB: `StockIndex`-objektet skal holdes oppdatert på aksjeprisene allerede fra det er instansiert. Dersom en indeks instansieres uten `Stock`-objekter, skal aksjeindeksen være `0`. Verken navnet eller noen av `Stock`-argumentene kan være `null`. +- `void addStock(Stock stock)` - metode for å legge til en aksjepris i indeksen. Argumentet kan ikke være `null`. +- `void removeStock(Stock stock)` - metode for å fjerne en aksjepris fra indeksen. +- `double getIndex()` - hentemetode for indeksen. + +I tillegg må `StockIndex`-klassen selvsagt implementere `StockListener` og dermed også lyttermetoden `stockPriceChanged`, slik at indeksen kan holdes oppdatert. + +Testkode for denne oppgaven finner du her: [oving6/stock/StockIndexTest.java](../../src/test/java/oving6/stock/StockIndexTest.java). + +## Ekstraoppgaver + +I en del sammenhenger vil du ikke være interessert i alle småendringer i en aksjepris, men interessert i endringer utenfor et visst område eller av en viss størrelse. Kanskje vil du kjøpe aksjer hvis det er billig nok, ønsker å selge dersom prisen blir høy nok eller ønsker å vite om større endringer som kan være signal om viktige prisendringer. Så for å unngå å sende ut mange uinteressante prisoppdateringer, er det aktuelt med to typer utvidelser av `Stock`-klassen. I begge tilfellene bruker men en egen `addStockListener`-metode for å registrere lytteren og hva slags endring man er interessert i. Implementér utvidelsen(e) i en subklasse som du kaller `SmartStock`. Merk at denne utvidelsen av `Stock` ikke er så relevant å bruke sammen med `StockIndex`, siden den da vil miste noen oppdateringer og dermed kunne risikere å være inkonsistent innimellom. + +### Pris*intervall* + +I denne utvidelsen skal du støtte lyttere som ønsker å få beskjed kun dersom `Stock`-objektets pris settes utenfor et gitt intervall. Følgende metode må implementeres: + +- `void addStockListener(StockListener, double min, double max)` - metode som legger til lyttere med krav til prisintervall. + +Lyttere som er registrert med denne metoden skal bare varsles dersom `Stock`-objektets pris endres til en verdi utenfor det angitte intervallet. Hint: Bruk en `Map`-felt til å holde oversikt over intervallene, eventuelt flere lister eller andre datastrukturer. + +### Pris*differanse* + +I denne utvidelsen skal du støtte lyttere som ønsker å få beskjed kun når akkumulerte endringer av `Stock`-objektets pris er større enn en gitt differanse. Følgende metode må implementeres: + +- `void addStockListener(StockListener, double difference)` - metode som legger til lyttere med krav til prisdifferanse. + +Et viktig poeng med denne er varianter er hvilke tidligere verdien som skal gis til lyttermetoden `stockPriceChanged` sitt andre argument. Denne verdien skal være den forrige verdien som ble rapportert, som kan være en annen enn den forrige prisverdien. Anta f.eks. at en lytter registreres med `10` som prisdifferanse og at aksjeprisen starter som `110` og så endres til `118` og videre til `121`. Da skal lyttermetoden `stockPriceChanged` kalles med `110` som gammel verdi og `121` som ny verdi, fordi dette sett fra lytterens perspektiv er forrige verdi den fikk vite om. En annen lytter som var registrert med prisdifferansen `5`, ville fått beskjed allerede ved første endring og da med `110` som gammel verdi og `118` som ny, men den ville ikke få beskjed om endringen fra `118` til `121`, fordi differansen da er for liten. Dersom prisen endrer seg videre til `124`, vil lytteren få beskjed og da med `118` som gammel verdi. + +Testkode for denne oppgaven finner du her: [oving6/stock/SmartStockTest.java](../../src/test/java/oving6/stock/SmartStockTest.java). diff --git a/oppgavetekster/oving6/img/highscore-list.png b/oppgavetekster/oving6/img/highscore-list.png new file mode 100644 index 0000000000000000000000000000000000000000..7710f1341ba6c24663ab47269c45d4c170bbf158 GIT binary patch literal 144683 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
v ziG3%YJ^jBocCJyYN#31`3kw`KRruR{Y?;G(I$cJ_S@F%>u%MJ zPnLL2F1h^h#>do`mzGMKWE9-5{cii?LGvdu9$Bj`si&tUmM>jCugc3@-0{ZcZIPSP ze#Rv&W7!`Q=(lRNS?;Rm{@#;oLF-ic?f-08bE`v8`PR1F)mGc8zP@_)e;I2ZxGS{Z z-8B2!6yw7if4*&{o&eDkItSZ7+m*ZsxZ!PWY-E&TK5@Hq+|uy%aj&k$zI>8( zb=6FJPi}$uxT=>+)Bb{%WNXjqO0LnAmrVSu_VdJqyNX}bzP-75S*FWe_ZoB2jUPex z;;p9@O;*0KGI)8(>xU=OyXIN`_j=37%+?aNw*LRWx3{($uNUhPG1mO#m}!^purhpo z-1BpDtDjGvxAW5}?X%50mG@1FwRkgMKINO3ZWNECk;;}En+{%IA0IFNbn;mTbE%ns zAC`W2;CQ@hspaF-puVBqj+47)&wo>PM&)JoYwBI>PaJcEHU|sm=FaYo*`S`pZ)t2WrXO4s?2a ztk?eEkL1`{^|MTJZ*4g>Rr~hWecxZU9Qoi1>Pmk*tQWmCYisIhu~5y`HueAhu<=T* zNb;Ys`Kd(9*^77H7(2uU2JEl&l8bb7W$t|7WfG`|GQ)n$HB`>mL2}zus=Y zU-s8I*68xC((L!)YBP`KBtAJY@mb8Gyt}*79EEP&{dd{lK6F*c$v+Eocs3=ki`?uM z_HcIozRGtypTCLm*|ttt-S5RU-ME^{Ymw<+UtE0r_xt_-zu)gK4XnGMV;lcL^wO%3 zl|oNcKOLI8ZEf7%DAz^0(c5aCP7Qw&JMH?fN8S1<-W$pvg0_w>Q+{!K`}$eoHXjZ! zSATmGICT?frJz;b9d4ocwA9p<+Z}$zmqmxF{r+^MQ#jP^+Lp}VP%+Q#d3Vo9x>i;F z+Ee-YjjhwRu6K8LPuGi$x>|kbr->#tKRzt=o}PDqU+wWe*-vimzE2LgdAqpok?O5|r@XH{U$94W;k=3djHZjpHkVsFoIH7QqyF(1S65Gu&7Ac9+PB!5 zjPpMU9~O_C8pQcCD*w2^JkW0b=~2H~taWePEaG`1;~O3UN^OZ2m7kXEl8&l!5I?H5 zZQ^n3(pM?xL~D*&1l^6>mJ|8;+MZWeSGVuI`(ywAzw38-g`ZeCaoy$-PQ1vh=_F`N`ATPbby26hY0Kx%Ri- ztgcux_j-JN>~+aLIa{lo8wRG~9ut0i`gS|tJbmKX{O9N9?s_4=e($$gk#nZir>*PO zDN_JVN`C)gFKw2?QN1;7R(y?R{ym$`J8FJ@>T?c`_;zVoQH`d1xV2=?l@)-S(J*gRG$DgkJBl+4=ic-m>}s=X34xn(gv2(JO;gznZV|xY9noru74# zUC|xxA{}1KvNtn!*==`hW}DdL_wmDF{@F)Cedos)9(qpvVN`fK^i{u&TyFeR)xX6C zddmInpiPx&*6-GrwSorK8-EBj>~}dbz4F?1i=TDtwUu^!y%v2|(!Ez|srIK&^Qzxj zZdTK+?`icYmziDm_SRA+Q_EgZm$!7T>Mi|E_iH}){<5ojyY>1m=2ijAjXNK8X`hk2 z+%#ABxWdJcPru)<&lg+H+I^d;OLyOve0zDLlny;F1MBPG?$mrf+h^ly8=|OtWA9|k zpI`iyPnp}0`8cHZ#_F}cJ9qB0C}4Ue!_pHAzWr)!3gKJ^Qzw&rgxSpEb~a=-jcuF{`;NcX8Vc8Yu>!cDa~%GiCGu5)$4le;(0e`iTzlg z^y=_w<=<%`hnrTfm)|shSF@|-uayEdKR!I%bz+jz$JC~6tM^P2jGy)BpXChk>py~8 z-+ba+t^KG4HZ;Q7rN7)~W>TG`5GY*rHodvG_qI*sq+qGv(~cz{?_2p|mCsBgN4<28 zjpA$S|Nq-{Lg=md&3AWqum1Hwd8wRTO+@cEVNiA6*{2`AJ}y_RJNNdsmy05fipAe5 z7dT#f`g^LnsiLfP*_7PqaA~{0UxH0fGxOUl=;k`U`|=&(4<#CxGC`+Zlw>-BHd$}p z^W#zXt`!ShyTw*U>h1j!R34QsWm~mn)?M>`dqB%ye<>7R0&Uled?N95U+ww0l?$EQ zUoATEX5y*4vWwmw?p2(+;qmDoUHLVc_y5@xKl6zdIXF?-J;_4By-WY{<;%76wbkdJ zc%}o|cd>563U&LEmzP|_kEpyknDy<=&0Tt4-x zhELq=Sp2Q{oTd7k%M8AOwG(YCJ}j^b2CdK1E9y#Ia9cvfYG2Iuyt$D&_o`m&#)_=I z@yOeBdPmuhTZg!3bAVRs_jwyTfews%_Uhu|c0H{*Z{GYreQ)mZvmyWg%kPhwwkch6 zqVCO8lazEdCIxwQYn&8I)t(sSG4au2r;ab4)0S*nqO{OMuyfLz*T*N#-LcN!v-|1y zU*~?tey)sPZ(RIrPVwB=S$cBc?RUMLb^W)kar(JAGrt$#d%oxU>fIUl_wCi|QhBuD ztgp()o9Xjch8bPC?z-}(`YO01dZFlbXIhT)1YweO(1}(jF<{JO!LWe$y_*3b0CUdRJuZe1Ydv|yBy~sSZidlP(O@E~> zW2y40E5azS=I58o{;QLwPnY8OTy*v2<=%W;diwHJ-&e2Q*Tw9-BlGmh*%i}% zNg5`#=y~b-Jv#m6#(JG}&zhNj^P8tJJoYZ#<VD^LX1}=5nLT#OtmXQfzEynb*57x*wXddU zTCKMzTakN54;nC2rAzpD7Z@SgrNwK5aletdeE-+oQ^qKXHN>}T5Y z9-aR9`1ovJox8hAyDgXBZrt-dw7uxcSCed0rQemC4E@(`4esta`A?=;Zt1TNyIwAv zUDC?^>dePkrrEE$G_I6-C+$1TlAUHef}$&v#s7z+-{zGD`g$W z998dW9qAdj!u3BIwma>cxca2KYnRAH*Ofc}D^))^A!zE;b#v$3{)?OV?TSp+D?8kj zGR?kbGJD3leZO86K0apoM2GLs(dpA;iaKv<9jyK_wam_}I${HOSaF(ev|07HoJ!Gq z9F>2+UO)R!_>um;oa^i6u9CN{+M-wVM04Mke*WTTXCg1je$}&kzvpwwd(9`MCfcns zFG?mV`+t1eCu<$DvEMO2ty6z{&do(yPnTYF-T1>oA-$kRbD7`VRd&}8eR_WW{!;Jh z8M8H{zP?U&a!}`6{qjuGzdt{BX^2_ot@cZbV>|M?efr#5!(DqSKfl^uEAr}I^1mc0 z^^d7VR&T<^9(hl`e%`VB@8grlC*Cp2zh`rG>UI9G>7aHv=uF?}UB{+>GZkL6cFLze zpU=-uy?Bj%!~9cM_EZ+fK53d2ICaL17kkbu`mMj|8>dvB-sz=3By@j2P#*Nr!>>-AUK z2FuIGb^YCByzl6rFai6IsYMHZhe~{0dh+%21*!*rT(UDhaC}aNIdVvx+*Z6yXIuYTrNxBlD9cUFb3U)OzUX8&2aY14ibU0V}rez#<@?W6*+{Etg( z-G9B=d>)btp3kpe*LB&6ujCh>)0@dnpp?)pQ`x1@FKe}=OLm%Qm)hnd)4xT!UXQQe ztJih(IO9+GPW{Qw+{afgZka1%er;{^^5|vTvajpi)lp1*c4p?TbJo94p164KWI@7w zb-B-3lm6N5@lkf`F{t+F?h@60buYMk^$#P<9e=fYeq4I;6`Y+kWzZ`5=S%0`t)IB{ zxoqj{Ygb)2!cvGWlaH5|lx5MApU>y#n{Cg&u;3tQiTGoWKS!tUt^RHnt=e*qwTz?c zQgi=Vxo7(Orub&f-;!}^zJ2`<75CEMJx8aPzPb|lwfOnDtFC=EN2h<&Zu&WG#*7u! z{)zl0W$*5+1c#C9Je$fhkFKqae%%#e{@5KL*nwc_H{&x$H%ck*{RepZf z`%QXb>hEuFclCas&!x1fo~z>S?W5B9dlp(%KAGrV5}38me$SydowM_&$Ck}}XS=nc zTYob1t@VfANKgK8>B%2(;XTJFwd>WXzgI*+re3anjE2$BB!VEST=>um68qfB%}aTUte{ zYo=b;&HZz9I%oy*%~Ov||9dIR&$d0|Ub8dlDA(_M^HjaXZt6bW8nGo~V&$#6Kl*ns zFK}cIl`lTYcQm+WXTd|K&^sFvonKomjO&#&cKbf>klc$SF>a9`rQ$*J7CPTHs(7b$ z>Wk|{EYM1hE4y$GlyrLZb-Ts&r%gAl{`Mv<+zWL0*k+O6-`-xn%E|f3=%v;BE^+;J zyGnmfo_f+w(CFExrQ1zH#>Kx{SxB zCm-(%jjjEDw|tid2WZ$)AfBm1ckkoVDbbG|oO-(K%Zos8Fn#OR-xn~|H2c~WcpCEl&0%0^B3yiGiY6%Q+?={HXsOr5W%t{D zcI%tx-^;PDwt6J>{pIoFY5bq1;`8qAx>`54rRwV|-Pm0r)7y^J*W3gR)Y#|Uv50+g zBDm(~WqH{y+Y> zH1+YZUeIB%R#CJ5{e55m+DxHk}Wc z{5L?HRVDASw|CSxZEko`6BO%XW@vcv_0tovpw$52%q1xhf9v{fL-wLqt3I4dy#MFt z=d+Jk;+fy?t^U5sPY<*ib;_*Y`kPKq(+!@QdTI)&UVs$6-oH66e7ReG-!%K$nR)76 z&*#_2g)e`mzfUA|RfwT<*CN+$EB!knI-qovU6Z;0TKf5Uwu@sM4K0n2OgFL#{%Tk* zdQ`5);>h%Ne))5=Ojk$Bd|u-(uNAf?<6djTo{EinMNdrk)%A%0d z4R)U~$FkV!e?;o@#|<*-AD2G8u+UlAt!KmXC!7ntx1LbD#OtILvSLA3vR?mVx4*x> zhHeK+a%sDX+ZyvTe3Q7h(K0YR|XPag(>kjJv|05_)GqnDCZ23zi_j!-J16KyAZjLZp`MI>H z7Iebj+1&!~_x)Z64z-Z*hbLy6uV2@py7|cTLv^m#Q%_HOspM|QccM@a6RLsZ~Xd|{wJ63yyF$9y%L5m??NU;J=Q!p^-WRv!Mt|NN*e7GThQmRZTYGWF z^Y}NdyNZ&g=|t{{Q_uVH;UOrf_I8q>5R|n`TiZm_1yfO&X`kAr($ETmq=bLvwjXZASY5ec;>8Gcsum07< z%Drp8P4$ltiN9|>J@@gcGr#SUSIqpouRaX?^6IL$xaB9Q_*>5>R>r=z5k5M-{C@3r zEjf#V1$te1&(6%uVp}(xxk%>Nbg}A7BDq`-SFhi%U)Xb->doTdo>p{ zc@e1N+AU^UePWvK?RmDy9+!_QyN1>*jPx|%c<*pM89-U_6m3qq1seI;<+< zGr#^{<-I+Xp~dFxPj>X`m%q8Oknb_Ly`-3Zecjgho5>dzIPN;9{F}8yJ7mRzZkd~h z%gysoI@s-bQ@s85mdwT7O%q-|^8WsN>QTA)Wx)b(X7}e#ojAYwS$`RlHX@UEVuaD3OM)YG%#`&Wgo{`UF2{pzEPV!BaFX5TzB%k*^4qz9?bVvAmI z&*x(27S$?waX~S5I=IVsdGh*wzp`RQj_#}douaaA)^15~Ymz&KMPg!YXbWh8iMV9S za?|d+`4695xXS$IaM91xprf8Ltv*010!=u>tY{~_*>1Q4>t(Z%&>9)z2*Z;IXEA~$Gq;HGCI6YHM1_a|&Yv!WgP zj7O#=eq37Hv-VkF*y=Ff?VT!`nk!>=7Ns3Na^y&cw&v}d)BhEGuHL#FGI**bwmJR$ zwNkVHKhM`+(X^c+(S^)G+tgD-PxI(R@2TeZ#KIFe2BX1q=|>kGAHRqn_XSy zIa!Tw`GoT`jn(%YzA<^t40rymduC`vZ_7DzI;H|N9lQcEY_w@&^TMbiMV+)7%gRqF zoA13odd?`YMl)(_*3ws>pPYPbaM&a6j$Z7p2>YTF=a%`&nXkVq<7;z#`qR_X&3~8A zcx7Gtt7P*fq0d6Q40~m*!@l0!QJ5Sna&($*^pmZ|x1XJv8QiyP*EzKn{Ohl+jh_9t zOvicC*5BQl z9lkN?Xb3;&!WBsu7C8Ppw&+t0Xtz$x&LYe6DxWrj>mSfOX}55a?m6xJ7SJw4)15z` z%`S~qk+jLlzP@g5)>Hwj@Icpln|{}Rx#<2(OMcVVtBY=P>WLLi3|!Q8+VyZ7Z}PcY zW&W`%OcX_;&dxA&zApKsA}RiWicT81F8zGYT0aJ~QEG;-&rI!oF}usw&U!gtV3zsy z<^J-eb0YWG)&BqYw_8M0NH6>Hvff=18)si#WMr{#iu#KGB1ie{|141Af9~ynYkjNI zyqZs*vCofARCW)!GW9{;&Q*)u`)_^!=`LRza^3aO%fqJ|WuAxDX<3!OTl4zTv45hE zzNzi_1ob`r=NIC431bAv$O2|y|vOV6Q@iG*D2I5Q?w=@o6gM6rxUs9iMRgV zCpOZCmLjbyGNR++W2eljy)@Hg;=#4+y5GHCzki#$)U>FrSv&XhP3JiZTClYH{XXlO zpu{;xrhl7j7Qe4XQ2w_5{y#=FKMG0>UAq5VJR5fQLE`OovAeydXe^Y9;u6s)c)Rub zsdE8)t4e>rzP-CV|M%6`Ve4X6zCVz5Z%<_w*SsC?cD)AmtVG+x+Y3Hj=lg_;58mo>%^C%JJ2ao6}w`+xXZUG?cdar271tMcRu_$9zmJTB5l{ z%<|KTi95?WYL{yTEje**ZFDHO4SaXEFWd3y&*zrki!Hw^TKqNlXUCTLJKol$HRRmr zNWXBp@JywoyrltX@$#*&YtqloT6#%ur}$0YlDQ8rEOh>+x~fY|_tmGAGJpBFb60Xq zyJdRkntR*;om=NKbJ71on%tAK`_xJ{Zkuae ze#*J_+01mW>3VBV`3MS|s6KAb-Nd|NyQj~!-*@HWckMa#M0@?7MN(=lLT;AZTw;vB zA82I${QUg%?-g%vZGGB0p?8gTkhD$3hIh74Hl5aceQ|Mn>5&P?3;zH8zIwsuPW5>k zj$7qD^1j)A*7itcd5}?Tjpp$u%Y0|A3OiTy zU3A%rL#^E2zDK)6gUi3!f8*YH;@*!7&isGBT=riTRQ3#X{H24(VpH@c`&cK=H`mP#bWzr$nTE3Z}D)kEKy|lkS{nn^3;`=C#+Z6ZRr{L6Y(BZf`$dcWtWcKE~ItBA%U} zpC2!5rdZOuKWb}MWc;1?J0A1>_RN}=b#>LwIocE7yzYMU>gsB4F`X4rM^nzS*&cr6 z9lSDV>8tDO^Y>br-zjiDQfZsF?w9(jYin0Ww+XecUcc|wtNm$bXBnm|otSXRrqxWT z(o!pQRm$1(LPird`@c3m>RF@tX63Zae|~=6|NUO|x2>8fS9Fz~+i#jk+UI!lo$V<3 zFE)AZ*;#XQ`@zkt-F=7Z81Eb0EZOwfH0Q>LbJp*t%w3Xnv`gz_r)0dEs;aBZWb4V+ zwlzOC{B120j_0!6)-wCVx);x+nx^@P$E&pm8GLv-w<+^&KU9|$IZXBw{%@x>~7tD{o;`x{mIUgCo1dR6ZM^{6}m?I)vf;3 zdXG=5dQY1nY*796)l%(6Cwe|EO+C^f_)YTisj1;{nR+jl+$#rl`7g$&{I95yoGfGW zRM@LryT@8>DnEgaU?_in;&S_RY4?6PP)>YneCO_o zJs(qj=6zcYT9o(AOwiuHQ~xmN^w{{*exS80C7UO>c8ksAECOwnbiDu{fMh#9{gdzM zAAVo|S4I^E-Q1QtJL>Dv$bWx+##cTSHJ|?3_~#F$?1_d2TVBprlZ*tN%>OVf-L1wl z=?KSWi)C{xi}!uGauAC9llZ(yuM?Wqb57c=P>gWi?;=m_cKmS(_L-dm2!Vyt={>Hv#><8)tpMH_I=cAjy{`RAn+ox9-KR>rNWaXrr zo23oK*Y{8UVYK)AYGwDn8~w3dA5(pV)%{BT1?ooCM6Qq9ThP0Q{pn@*a2C*BEoN}- zQ&2N=%9N1BZoQM*j8aeSu&*?prRqKH#033YGha?SHC3Bm!r;K=C8swmbZ(#3AGsrb z;^zkkoAvkoSX3Lx(OvU0=iZ*3zm9=A2D83jUFIwO`Pzb#cXw{?5jX$Xb!CQclHT@R znU|MMRCd2tdOh~s;>(9xxyxT(ND zDU%F=wc9(M96asuWAFESo8wDNmE>pJu1PxDm3AAHl)5~gG=6=5-~LgL@y)-tw&m`w z`kHk$<PuZkJ}sKf+dA`c_15zD_e?bxJuTn#_pEy8 zzM9I|hv)WGetuHAJzsV58xPQ7H`mw2f@YjPd}X`~+Ocq^_}7$KrrCb8&Cad?-NA4* zt;Bw5$h{@cWLCS&Rl0<`D4qAXo4mX1ZOO!J&|%H5-X3I^zv9}qMP`ENP3E<-YEgOG z@{-54{kMO7toO338R#&~s+M=*Zj)q>lwz7NQ39~oX*3PckPFE~{cjxRZ z)5+iG=Dq2=&aeMHW%h}W@qAV1qT}|>KT%fwY-ais%_BC4A54qRGnCJbnvu`DK7UTn z&Gk=`&2O#Wvq}G^{k)c%P0{`L=h#@({wj%`&K9>l^ppKB%N!>tf0LW>*MyOe7U{ImHX!{+k^uR<@amN zpUv69^Wp3Dcz#KvCDq^GeL9fx=F0l`{hGncQVyKITj;d!m;YR=(hCb5KfT(Lb2G@y zsb9`ErTIi!r&!m{@1M`xpI&`ucX|Hn()v#))!qB$a_9Yf3ED>v8XtJM)^oC2czo?v z(>b6O+TK$%6#wt|^XYVIgwpy4CnhS_-gi9)YR$a4xp{u|yPbNmySC)r{q^(t{OQvV z?~+MziQbkYX;V>fdt0u2)eA*SFOTT&oe?&Zub-3Ie06<%e0W8oY;haEyk7OzoY0%! z=T*JZtjzYGV^Mf$*P`FL#En4!gATPx6}^8?&8G>#=6v*pT>;camv# z*nQ56k|+0h&FI%QO;@Q5){oioVeR&NlVqP=beEr6yQ%i~w@=6B+f){9>A2SZ_V)JE zis5BnL3=S`OWxiJefRFH`TZ%q%E$d<-`-m0J6p|n)|LJB^_D)K+l&58%yaLNP&}`3 zi(lxY^R_>0A~%C>>P(+k=_a?QM&e|1{l}x?si#k?x9-o-uUqoHZfnKIq@PDN#(i&> zuZyrNS>`)i?DO}u;-`l#i=VxiecnjgJa3A)hh1}2%L#4O`7VOb51*QSC1%rl$7Z%& zO11F8ePhjiEDY?Po}Sm5P9%a)txZ?`EVL-~)D+9=y0A{qwHEVLy{FB!E`O!OAo=dY z!^6+2FQ2V)+^{9{vf7@zPmB!@*F8|*$MOI?+f+ zx3^C>(UZHiCek>zaNDZj<$W9X@7UX>+3*E)vd9N%&_WDD|C8;he|~&?c=^ocw6j*A z^)D0iU^RyHN7aVSEmp-ghK7a{F3X+g@t&@CcDjCi#bcM~w-48Rx*8t8^7P4_d(1Q% zzL;fSTk}Es^RL(IubV4R(%=8*Qq1$?uU*Y9!zWM$61an>5Jcr+mO(>j`@TCi;IihfAm`B+%Tv$Rx%8qT>t5$`q#5B zdtgm`!FZ++M@>?S8#bt}R}+wfg(J ze}8}Po}aTj{ro&OUa2Mb;)T}jd?ppk{$T!w;^*f+wDy3GXKYV>k-)WH;r`}y|JvwZ z@EPg%AhwDQf?L~UIax;pHYNJ8Q7x7%L_wSam7*Lda{ zYwnBLk}=U{aq&6J<(`w(l8^V@1#hb>{P7`CQzLZMlv|0LQctTzyM;5KC^$V`e|_ZU zWnYh-nP>a^xP1K@Z2{Ll8OtXDW+^8GYMtBQvt?jsc65iCS?;m1@bR%*TeIhTetc^Eeoyi{hR)8; z>9J)u@0Q=!weESNwdwGQyw6vH!Bbg3KR-9uKFr1^v%;G7ga3|~%Vw`Be_Hu`?)Q7u z?_bUqj6FF?)&B37;J?>LUgO)R4Bf= zzyAM=i;Lgyd_FJZ`OjNV&&}N(x;o5zy57~=hi^7yTwJ6+zvj}uNjsP|<&08J9BgJU zjb~tZkDS)eygn{pU-Nu!dDZuKcUOh3uKN1w>blt7RbO8{Jw1JT{fYnEa&CTFIz4Wd zZS}W@hucfN=S=rPpAbI{mT15_xw(%LvjrR14F|X_?S@#cvtum@SO{w;XAh)@DA|5 zu+qc~a?9<@c3AG%`{k1Nr_@E^>*Ju;?Jk+wW14bA@iCvR2qWlR^1L2NW4C=iB`+>G z)}Lko*=90%V_T0!%AJMn;G1+0^n&(ZP49H;m3o;k2~sg3&FI<$!S){OF99qJ9r}zr zHdcRsx5%}7nns}0zlG3?f2B@nI3JTTdNiT_#X=4Sko#U9lg{7s;SjfbpUler*&u@) zV2Um@3ovkihJ8;xIXU^Mw(HYVQ|tfzO#fTT3{qAz@ndU`QOX)cWj~YVLh97vrrM7(8-6KRf%&pMhbCnliU!Jk$kn!>_gRN`sDrSDg{V zBFymM!GT8Rt=ZS7{eLCRz~G^n%%#11N?==$>6Z`83_+mlQxhH@Y7J|O+*$N=qO$wD zo15M1*%=uWEGy5k%8@zH^aT08ygN< zb;nH62z+!cI{)pRoyGU})y6Y1D1dIp5!DKr(9ijE{h#RjJPa1mCs#Ng<1=cSP}pL+ zV8TS!&w7kUKs)|73#`F^kZTGSIzAUv4bqn6@x@T(r<4$w;2{dael*Z+9fp1T)V>olrS3@zP!Hfe|#F-&QS2B(lH94^z9I(s;)j= zJKQfFB#~8O%)r2)0J>nCfnmwj6BCt76Ec-ecY#ux0B8$41H+{!=k5Qm30phMPdj&s zn^tKu0|UbW&>e~l43|caM^pADvtB|=?r6qonts!1}-+>(4(f0#%z{bC` zbFIVMr}Qm}17D`<;tp~r!+$CByfwmJ?m_E!gIo^@vj%_dur(JxF5$l9RSpU=7e}z# z`M0*^uHNh^zGUh<4h9B>jwZ0Vbvd`Ut&P~2WHr0QG0HRgt}Fusg8(P^p7lR3E-r58 zQ;VIvZI?C3t3u#BT2c1kKx5ESua_a0Of$7@U-*HJdys}mnPps1koBxmK^6UcJAZ%Z ziU7yw6XiVlFZI8Z0$t|Z3%32#?`ucCX%x zN}?|#fBnA?HWqYt0Rw|T^!s~zOJB@*wCnY{-#?$vKRi|NvA3dWQ05kI*I)eMphS`g zw!h=yiHXV=!yfGXcubmK&L%_5y;~oYjxPSHUsAtQd^6~>Z3|zp3ud(ONG^JOY=YZ; z5z!M23=IsPE{-9+QmU$|E0fxP1bOV;V)W~W{7&&u&?V)NfIs>1@p0|YRZBJ>WXHpJ(eo&t~Oo9=*rjihn)w-R}Q)e+N3vjNyR}q?}kGWtNkX z*3Hbub3xSX-DB_WFPV1^w-)v90)<+-A=sfV+fq&n8Ar(2)$CZ;aU{D&b4mK+I=v~s zuZl7-Fjzzj#xpT6C~Okbjf$vD+L(0oSg-W*{Jul(HJYG6T|M>A`hB3NO$S}a$-v;U zA@OkABG>M?iifR7yT#|5<<8n?X;uGm>4fTuzbAzi?Js)&D~*AHVa`-=l_=nNeO;{n zo)3p6sd}HAY3zRg*@^NR%_sYw$SqxXXZJo{P!OqtU6}zXtz2drrSALpE4wyYC$m$( z_0Hlu>+kHgVXFnD*mHJArguE}@$vC(UhDFAS47kGDmOhVp6uY{~ zIz3(gy7`U?$9@Ez_EsKb67Inp=bBCqyZ?VavmCB`K6knHxfoDuYW{EW_!_Y8 z%c|^+@4!F^Fas7#A&`ynJK5Z?w0s&h{Abw3_nTO0i~ zK9*Z$pU5YPClg=nXJTM@paZhQNNt~tNk)ME;cdCMOODz%{t%iLU;p>&9s8q`RJ}_k z>gVtOyY1%N?f2_eYa20F9-ejH2{e%;{!?haJDY;T>hSe^?;moD>0B^B-fj|St-9jJ zr;=Inpti(0h9lEE6p|mE{=vib_;aA*Km5C*W6s{Ena+nzFqCEbtg2m!`93&NIcZQ$Sha=W@FmfS-!JOJi}e4 z*L_U=BP03bt$p5|9d&GFTOb zLDG)`Ob`eBsOZ^m|TRl%sV&xPg4^u#06({&$tryrT_;B&wJe{H{~?)!tnu&Vp!O~U12~@U9GU+6`}_F@iA_8k zZ?%-XzV`O-_xtu$UskO1_E-0x7qcnlo~d_3Nvv z^?$!k&wFqbwCJMZAIEN_}MWzPk6ez_~TF+aXukGKE*W^*Gmd)xLs zFD@@X4>~|N`?_B2+_X)CDYH*A+}O4FxO{y~_>G(!8yw@N`^~j7&A#^LT6F%@F#UZ$ z9!-z0)BN3|*Q=EG`1Fz`OC*icY`)(qeyE$D`^PZ(7%1Od=B{!(Hof}Wn~8rnq@SPn zu=nz|+}m}3f9?JI?Y8%Hy{{!bTsHe+w&mQ^UccwkzS`fr-|zc<&iXxQ+3%nCU8340 zvA0g#E`D`orES%h4fE=rpPPHUPj+|p_q^EWtui60tL=V1nS3d6Z`IeR?RmO?+3U{4 zZ_S!2v*yXyO>&@n!b)7bgw_2{Ow2toL9yTFlgE$NclY-0{^J^_R{8ri+y5>5|NpCg zdTJ`@MAy|}YqdgFD74@I;9C@<6}l?q@-p9cUTL-6FFrm#-di?P0+EvDJU;#P^>y>i zODfUZa?*NL^Y88X`|IoE!da2>zGoI(I4EELM{)5TAyuy#wk@D+YsA3!JOgwgN#*PP z|Np+fGI!~t4=eutzW?9u`<-G|E)fInL!dphbFIszY>z4&eh<2^G3Vx{U5l?2Jvjk7 z%JlAy)~BbZZ_l`>qv|Z})pT+23wu;NrH(e66@WJ954SFZX+yX7*A%ewDB* zxTF(2`t0oN+2;9ryIXGF@te0eFZ0KT!~CVp?wy^TySgWQ>DFKTmd8*xcGs6_(Rn8) zsdnGI^X}Q~{A;?rpi5Bl9<1=1s6ssA&f8o+o`GAr|VYFcHLC{J@0DS`FXYv zqo3ZFwJtj|(|GwR!JC`Y-(OhhTvW8_;!N#L*Fl4~7r$9qij=&%a`LIZ8))nC&2JOk zFY34%@olxk%Y zim&^8)_ke=bhG?TlO1oZ3SAxaUHs<3X7=ps>(<_O2aT)Wy?627-{0@|eviA`t!&P3 zZE3j^bd^tPNqAi4Q_vL&)tyR@(xz8WsXh5;w`vqYFi|0ue% zqww6y!W)*)=PZ_%K6m2Brz#q6)E-C6XsBvwRE_~B(qx%g9IQ>$Oz+WH!LD3tule!E{Q^iKVOG%OSzdAkT0 z?weA$_4k)mphdUA((;O}5nD0>_tpG7)5fDctQx3`=BpCMpn{r*w6 zzFzFEk|UkQpyRFHnVZTh9=)|SJ5)PxiN{1a+bYmXPHu6%DeiVjM>^bkrDi_gw))A% z>>A7JZ#kvQYNqK#K8ZYC+%K^NR50zjd}UYp`*pLftO|X-^?KZF^Za=>t@``_d^&4> z-z2=cKtBH8hr|4ppPz-!Rc}c;^85Y%_;-)y3fyF}t^Ni&_UPfE*0oH}e}E>ozRg_D z$}Lv&WTLy8&x{QQF5Bww@2l0{{l+L%ZML7;f_E2>?Yn7R_9o+>s-nrf^E{{ElOq^I5y z)sNfbKi_UspJj3N>L}RUwpkDzuoNRmzS5H{#}~(==8czpzCYaPUCougZ=#l`@e>RhvpJyh& zpZY(l-ZB}{06QQT-zQ;s=+Eic^1G_a$3CnwYUh`)d$F+n4AaF$uH9GmX2m&oJwD#Q zx^l{*;N^b%|9+dT$IHt8i6La;(cl`(tScJE0&5~RKDx0ndGe%5YaZ?Y|1X+t&Z{Z+ zYJPsQ^m*;==NIOEp-;v#NPOv!$Nlyx*1IjWKbO1+4bbjYX=ytGI;7=r%LU)rW+#jP zfW{ViHT~w#M77m;Wz*#u~mVMDvktpS=COo?F7g!m`i0kNVf#T<$NwId0zFe}8|M26o9> zm-R@S`~5fV`Vq71`0I&|eC}zrhue5TXB~70t%=`XcWR2}ul0dTQeVy!R`*-cZF#Te z^Vx6NE?$xE@9jNnRQao&Pc|qu@!O9eKF2hsh}B_hC5_Wswl|b6^$>j@wmM9=bp5U6 z^XszAPR=xber08F>BX0qKdsXVT{Y!mVUvw`Y)Sz594+tVfAo~fudj*R+{!I}%JIC` zwB|{b52ChaO}%MW{q0Th^K-oSSN-|*dj00Kvqt<<=Zw_$#cWRV{qd&mrum`p2els# zvahv2HF=hCy5B1|5>=s_wSFK z{~&4J<1Lw&-(+8}=+ZyD`JRxl@cjCJKRaGG++J=6nv371arDeg{|1)F6jC#%1<>JKTJ`yk2e#i^;67GsGoU1nBYaVnyjjaO!oRrjfjDaWk~ z9yI8AE%f8v2inBw+V!JTfBl|MUYqOg?Wx>#XuYw*KAXZvEtaOC_m)32-F-<<_v6zK z4-cQ+79LaRYB6K;?*IROpM3HSkd7bd>C@?=Buw$kESq3*;apR;h*s-i*29KU;9=>V_0h+&+3Sci+Dblly-3ntF5Sd zZmML{D&pQJ6PTWLeNE)$vsr6F3+*|VE&p+;=$z$q&>392Ok9J4CRsL!A8zNr?y4DA z`BZfCr%v^G7ex21iQ9W?U*1X3j@P;FMm^!;vx_Z4ubGs+iP#+KwC1|`qqP0+_x-*T zv&8=!%jT({J2xKhm*<~vG+)4K`&~Q5b3*nXms%CyQIz}iil+m#rX*2px<;T=_>#u= zKR(^qnEa~uagAZ`+uPe`Zc0l&Zgi*50iS)`{O2bM^G;<=sImlCR`$ zzq?F32((TwQvZEz>_n%d)2B^R^*+_T!aMiQeeasA+uL$~96Y`M>e^;@e!lxvU$2I* zjy49JHx2Cyx%B9to}&5KhClD`udl04&N9s|nRqbRBXK^nMDaGih^T4rJUPxL&ao_B zw$6KP(bH3D!tE!6L5nT4L9>Xl553#@WY6RYJ3XJ^=IwB2^YRIN>Cvg%hiGiJ=t zkGK1+{&If(KhVKrEf-wF7sXCjzO1;9g@M7Lp+jG=(RSYy!Rx=izAlZ;GI|lTc8PV+>E0?IzZr=@S zs~-CQ{q^;%-Rki5>$DdIb91Gio(4KqV3$Vgtv8?c^L?)Ijon>lDt&Cvqg4}R59B22 z*5`=Ze*|r3IQ#3}-QBOb_MdC`@o9Q|oniOU=={A)yZ?NWjbCNnH=FnN+Gz95o?9gE zeEVT!Xn64~tFZSpoy=`rW}cNFA017LoM%&+^sh_deRlDyjDt%_AsCnv884fy!9{{QcI zQ^vP1m(RcEdU2`hKG3D%rLHQzvrG)5EssoJ9lqX7+qIQT)GX)5g4cUC%$KYJP4p|h zulxVEd~3$<&FAe_cP|3n!fIhh~(|U$4i%R+=5S z*lniot*zP1wVmF4T>3f7GBHcrwOjwGZQiu2tHb@nU5ftwd_H^aB3;&Hk4{Hz&3f7O z;$Hp#+RbZML~mbrI5h8LKV;Yq9QCzN3u6UaZ)z#-0H4j0wzOb}(9+nbN2fbpi`)e5 zy2*Je5YM$$uFy%NV4~W&>0G5Bj!EaQ;Il4&x2Ahf^tPOtuf9$8x4YvlZisTU`9|Oo#r{ zQp4A}+wT;e1`QdlbpQ9ryVQ|+BWTf8igD&8mCc@aca@g9cG&JKxx5p!IO?WWRE_5C zvpUs39=4ads-&KtW*Y4pz1!#L^oweC?q7bt-@p2Fr&>!|6`!1q#evlal^hVAjgIX< zf?_@VDrT*lG402thk>9y(wic$l)ljUu+LwY-(Oj2}i z16>qtUhw=(hkn1j{km^kHoUsJ8g$qqSBZ4_pQF>ixt;-C|GHQF){2UcpzDSHwk;{I ziQH9^xp_^<%AjA3Zi~XEcWn!*jCyqX^0pRp9shYYbFItcc9*TqYp54Nw2dF>?gJgl zch>7+fvD^5if(=X_DPPvogOBJ$Ch6G^78Us|25h7_UwFh@b4}+KG0P2uD?&G$Cpf8 zES z+$^(@qGxA*zS(^K-@o7Qccqr3`_yRG{rj1|wPJhFj)I4Qi`^=BrLEZi<5Jz8PY*#i z6#i{nl3k;jU$FVucEjXjFV;C@It&G|wXsRHw|ht4(6l+kU@pch-xqI`2E)%(i{x zd5!PgzTbJ9cOI_#_|I(j-!EnLO6N{@Z~t-0DEU}V(bH2i&x+nW0ou=dc9F&8N2f0@ zJiWG0%JfuSt4r|RU8Q&9Q?A9={QPp+fA-ox6L((&yZYzv_xop??sJX)V>{tTP|m$Q zmbadY=6~)n@y)&DGDxy{^<~{a4eQvJx?$Xz4(l_56{PLig-)g?c zx_7Z_A~rgSSAM@!e12t~?b$cN+wYdmzWJw1d))<5%|E%{GA}Qixpq_P>20~Ux4pgR zdS}l^$@s3x>i&Lnt*$06OKfCf1s#4o+qJ0e==5oikN5XWnR@Mg?K?fD=;XTC-6fkn z{v4hD_t#hBXwdZ0`vN_e-69UVj!pmM79hS=!nSHlU5Xy4<+$thgawbhPy5^dy|OA) zyM5-2dEe4mAk${x!M=}T@%#S$dY!iPLrGr3oa57{fo@q;ES5A%>BviXack@9Ro}O` zRG5GcBYJi1?-tYUt{bneuV1en^yBuMZgG9H=+3p#+g~Z|e`L0g=l8>Q`KaxAvLBOL zRlTNoczIpo%{h1ChY{$s-Ck+)upBI+Lsh={J2!~-~i*z{Huqzo$$6#KPPjSK@zD^_E9YU+$_`6YeeSP{aUHl zr5Ai;`n2HXexUa7H&>4*svSG_^njLTuBv-*pmEm;P$zFiUhKJ-+`;}!d}o_MN*;fS z)YmVS_P?2XJh~?H=HBY^)nRMT@ackvcl5SeZhq{2dROUd(Bj~-jG1<|yY#kx6puf} zY!=;Vntkns(*8@<`_{zn-WGWcbT;TjwwHqOQUCsYKL7A=`}5P&&%cQeSsP{g=uTD& zXg(g=U^)_Av$OcQ-{zn%FE6``yDBDM2c4#!``B{d7SIGs+SyrY?VNoF?_65y9a`AT z##=J6JbHUx=v}`V29DycZlUAwn! zE-xtSIv&_J=iJ`!_g25o`EztSsG++4=!J#Or4!>{%Ep(yzIIkeJ7mR#<=nj1-ur)C z+En@Z*(6o(S>+Q2GRk=Tk;X^zKQ7gX-L)n1joPe@HeasM z&+pg&k6qxvxY;6lTTYz+mu=Riuclb3UJkyKFyHw1+wJ#XEfV=>wmakYwzW4m1T1s{ z&vJcIEj~JZk$b;f+IG-6BW0Y23`FDi{dm;9OKF#nNPHA{_uFmI3@VqjX#BYuhR)$G z3+w78{J$z%x3s)QQ-4w9G=V#(tE~P$_THFt)9CAJ&n@X)Um){Y44?wVqDOys`TIOE z^&LC*JYE^RJY+%gNs*6FGo$C{-rjaqw5{yzt(iw3f!gA(_g3xz&4|Afm(RbvtoP=( zCT_igjMw>_yLT2ppT&C=bo5ns&B>CFPk()VeKzkXXwgkz7HGIK@;>PPX~EcK-TKS@ z=jWBpR`-{SOtA!-x1_x0=W+S^Iraa3rakpFzq_RS ztVK_Tm6Ztj^L9#`oauHcO5h%4}c&)ZyOX?nCRIt~F!N>dLe)zKD z&?V)4AxEHl%}T!P zRxZ&?qGqo)?Rcm9lW_EtPhz$!ugV)9E+?0BH)>=^Q zcJ;`UuYr+wj!%E5+@lq`YDO)ew3$!%lCt-Ezt8%*sO06P-R1AEmC9XR8-4vv@V1?^ zRo7l^wtPOPxa{q%rQJOL%yu8$cjSWZ_B)@h$Jf8K>VKrNuVnw>6*pU1xkNg4W_T|5 zn|ns>)1zJS%GQ35yuaUm-YOnvuzPLj>S^mX?ELrZ^;xw|@h`hxu<=MFY!d|!6MoWT zesp@Vd%u`o%ncpAkQEn}`OYqxTb|jeAG`0u@jlt$gBxq+yi`iz08c)Gr-hEB*X+!` zu2%0qJU0FHLwtCjrM>o^wUoBnv^Y)v>EU`qV7d_X(I~zR~yFtAy44{(L@f|24O5$r6>V^S5VQbP~S_y8b*zNzHfGlI}$vlYbQ5+LHP8 z)z#Ui+0*tZZvFq~x&5mb57Xuf2je-TP#A*8VOFEqHUoP|`mA?5wMAKCIjQE+|#7_Rq)TStlR21U$R6$h8~1V)62` z3k#j+*M5uam$O}ydh@AVZ{8Nr0eE(&r|a7nKlAzRvlleK8n?G<)eg{}kLi~`ZohfB zPtJB#+|!l|Uk)=ev%R^qGdO&{-P}2I{+v{wU-I(OQkPDlpP!yyHgCW2_%!ImpfeUR zo0hA`J@#I`rr_Zr&|QRk`o8f^*N>0eniaa)|0eIEr}4|~?k-P1KkshN4D0fDn!(Fn z?DBZ?ap{}1Unh?X847;eV(c^9?5vh{=&F$O^K7T&nB!?WJE|UjF^5}=zBUT{?)HRN{m>if4}>MA~Odp$>@ zx2JdQ{wS2JHy+2I+pvhFN z&{ZWbFFj)k^|n9$<5S6!rHw*Pjkn%zzn^FOY4^Kbt5Z%++NC5?vMZAL?)^0Lx3{)} z8V+gdiK(ZiWZu}Y(B=fYT*ZRCySr4qrWoXx%E$jo-Y>9x{|_Ub>ThqZt`5(?w4~E! zaoF0Zm91Vndcm_VZ(Dj>7qt87!$J0?^*hCHmhAHFu-*3sR2%Gy@3(fg*vE5vs`ho$ z>oJ%2R2EnM0nG#-6^~!T^@P``@>9y)K#?roLhr3vSJ&JHoti0YRdOMh=k#=a{`eD4 zD}$DH?YX~n@-pAq*H#9*>(2Pxe|);S|Gb>ZRbST{{B)VXerHpvw`RtL1&ua>qD{-= zYceN&|GIYjy{x?g=JzTV|1Ey_>9oFm-Jc!rG=v_V{(_iHZ>s3iKlg=nlQn!Wb z?RdacT(E9hS*Jy{#+mzzy}WB)`moil4qJO^uf;5r%t^H>?{(5@DnC6rxqNxc%nT!DjZ?*VpHNd+fHXTR-{Lot?#JR>!rSJiM8`X4$6H)33}F3#H?& zynTE??UHw@yLhF|Zqx@FnC9Jy*zTG8_*n0^7rM*pZT8v7?h-h{t-ohMTGQ@{h98%1 z)(Ty<**{s%aa8Zjaov zm{;0t#&)fLa#Mf**pz>N-@DC6t>5i9{Fmd-mb$;ctV&xt_T<#+jMMyGvh}T@4MtdH%5=8*yx7Fb9knGxuyF66G6*o114{84ml+u`sOt^=0?_eb%4@%r0N3-2L_S_4>!X=5>F+hTpw3asOGl zv-0(S3=wOed!_I1D53Pm5j$nrad?*IS&T^ijkuY0UtKHrY*yWpy))8p$ZzuzrS6%GY8 z$W@KJrs>?=njQXJeuYxitCh>ou&eE!ysn`fKB{r9z`E>>!SU@zXRe9<-=Z76O($kY z!L>D!mzViYuFtu>%{P3>&1Yw4FMYl;c=@^6=KlX4%4qK{d38ne^~Cct3?DD_8ez_c9|97eOqk9XT+o$P7etJ4R9@GJtce>yHpG5Ifjqlgi#qLfx z$h12B=JYRT-^tk5)!f}xdg<^K&ERL}=4$`Hv8!~oURU_}slxc||0|N)>%0b97kuys&FE4v~YHIb@tKp!tC-S}Df>y3aY*;Wew(IBT=dZ08 z7z9k!_&e9Z(R+$pzEqg!M^-cAP+Dz9LmHN4_t?K{2oBVU;y~_JD zPwLE9F+TaZuy$SXQsejMtKa>e=U-*C{$BBY1_p+J4sbc71unuIKo?^&FsyI^jo>k~ zf(x$&pj$r~7(~DsticOh2##tR4T#Yc!7!RNhHx375&!sfPfyR^-{03qZhjUGx*xhxw*f--p#FzhjHquI@%o=7}(g@_-ubFXu}2r1H+Ep z2M!!qv0_EHxc(`JfQdH!`u~65|9@_V;oG*%o?f*-fWK77ExBK(q zaPjkVsZ0zE3j%(BJT7lv<@h_&j+cR<;n34NJB#J(ek{~vkTJ=)0O~qP3RKR&(C zxjpN)tcb{#>hF0w(?NS*7#JA1TJP>IXJ=)ttghylwF+@-Id}5#kD|Z7zTOhMz9#bX zi;Ihk+M!BCl-&E})<$k#wtf5eUteFR2E1t5)1|*vcU}DcecN_|TIRb!+aDMh7#3WJ z+?dq5eS7)eUthP*PmOu8Vo#U8xPIK4-0X~u6?Z`E>Op3 zTX^s8DqVdCw9N{v=E}9T(R=sqb#`(}iFvWYrc?j@y}jAHUOkn;ecawXd-n2R z#ZR|Et<$*T)-U(=?c2RYPrW3itW^9To&NdxdG>6J(pMon--1j51=-e>!ON?vtIyB3 zk8f+^J30Bsr*8dy7tB6>K5sw$HXlUQf`H$DKA+#acklimkGLhJtXjaeDri5U5xB+# zsfvNjpn{m<;5jl7>wqh`<^?ee0@0LiP}9|YduFCFCnx9Y>+9n;CLR5w^Y~b=@!tiu zi)`1~uD+Tvwa5sh(*nFEJ!SH&S-(!}?>{rsIQ>8aqoSgsot@piZ6CjW&Aq<6^J0`IBx? zGH=KQwFERS$=TINNJ~qLiK$(7FRiJq{r%-VdirSJaw!Xba@xXG6Jo8{izSWw7psidH);%1>*fw?A11 za#RB=CJv}`qPMo-J-#(-G8pmoal`VH46iy7DekNkhj-1aY-*$?ZN6XLlJ91n_ zXYQ^apB?4-^X_i!ovNL7ZB69o&FAfYKkm1Gk_L7 zW@hI7n$Nxg0ep#z>Jtv!{##YIv8wLR&bh}FE}h)?_Do;q{j)DFZO-mfuQtoS_hC;q{!Pt@*zUMD@bWQ>|Eh)6$8W`(e~~sl zAdzI2d+W=IiONN|OL=bxYSwILV-3D;Hy}f;X+1p#cA}*XipMPbGA?NdQ$>bwUGSYRoWqy^3|1HZpboj8m zeVtA@s2FgV2x?k7ByP^UysV*tp;qC>2G7Oo&Gn6zwXZV}I`>}6@TGHM{HMITyKE~y zIJ^UGHEUP|O56=jsaIEpDsjCLxmI~Ne|GQAh2FiDufhZ{35t4)mkCUe93-yOf?m={gSC;Og$mA-mCzvlb9yYp=-mC8Z=Z-+q8 zUOETGjrsTOKF^JUY@@l#fujW3P4jJCod7A@V|*(fOwj8{2N5>z8wH zTWclz-@kuB_h9yes)Gh6@Se=_uWz^CpS9Tb?263f9?k`mHokct8YtXuo_*hDfnUN= zt*Kq2`p-T#eJj4275dtA<^65hyW^Y>J+6lw{{Q`W!_8M$S3ebOERx&!Hbd()lIt zQ|>+8mV0~I^5v(SnZiMyVPHrHyCCh{eEavWUuU2DByw-#^ZECEzI_Rq99y-bPk;Zf zkJ6v@s(0TIHJEQ-Z>O>Q#0ihcl>URw?A>jfoYXBXBSqfd+UhMPs`1F%BKh&L-lW$2 z`}<IU&z4F0NzuUm-gkw#b+Yx%kJKq?YF}6Ytf_aTARK3uYO!=c59zt(!G!7 z_iKXXrZ-KVHcjo@-P5PN#cnQk=@j~vceG1%vZ&SZe);R-*`V!)ks%8@^dI(g3afX0 zHBLV#6PaRv{r^!$28J|HiM3;LJHI>|8{4elJ&D5ZQptAg$7aQwPtlDJtC>+g>C=y* zW1nt5lfAB@s(Ny9utSIbTIGE$#-L)00aV7nQ!z8UHs?Mo3tNuOwxbfCEe)LR<>=d; zwDzy8nORUb{h!zqc3jS@ z^7+!wpIIz2*RNT5?6h2^SbX1{Pv3j5TbI64=?`>N*tezchtN4t*f4;jy8X(PD^Xjs zW=`IH^Zt2bx9V?w^8fVDZEjiq<4Mk!gFh6H?F>71OWEEm>)MXs^XHB&pCf-iFE+=H zW8c1g{BkxE+_mltqQ~N4{r!KE`riKe^T%xNjkKO`Z)6Xv^^3^Q?tR5_-PG?)>5=(& zCCh78e=L07er;!3fbZvp9zH%(u$k2St@G}jo2@O|jGtBU^@QIt5tX0ayG(a>=A4KP zi-RN5KQEkNl-gwz^mE;Zqti7tH9sk;TL{Fjy34S)r>Cc#U;dQ))T%EpCf1zDeEITa zWx3B9Z(rZ3{5Rixe0+Smetg}pFDq*f$>j;gTWtni$;@y<6qIh>Ev*0l@7bBW6F(Ln z3pn2xxG#wH@HvbZ);L=a%pZ+ns?35CnqOgT^;`Y z)z#D2uV0T@mV4kpBlGw7_w~EpetK}Qd8zmGZ}0Bz&bzy7m+uFS_g}!B=81<|nA!PGSeo75oZkP>7j!VH2522yN=gc7 z5%2oncgyd0N_qRuvsw8ze{64HkHXrG&t9+JKh1So?7o_xcgydK%C_9v znw@`l*VT~w%l+m51~2uRdg`7&`_5z2y{GA1yyq3T`1gmWz{fXW83XZ&If&{qgC; z!^8S}zfAh4xj6=WZh7|UIKRycyr=8+%iB-W)hSr{Bk18SrF|?62g<;uLF4B1^RJk9 zpH<&3?QC0pyn6Ak)BMM8hOPlyjtln~ zRCRQGRN~JanSOnJeEx+6jTNW3-Y!ke<_-!Do^5va@2+)KVM%Ha54Cb{&AK}2b8dp| zzCGpd=Y=Uezp*T8YZho>$eWDFzK=_{P0$KmwWL1gd{vEQ_B9<#Mf2EQB^y7=_+0PQ zzq(Gly8gEfsGe~JZ}!YnFf_b4=bCBGr4ut=SQ^|a;hQMmx0yTdXIJ60?w$wB4nAX^ zG+}~5fB3(m<3Eh_^v=zgH$^XYSN#6E*VoryuZr7OQ~CbhUQk!!`nuS!Q|HZ_w@b3` z`1J4Z@8{pyv9TiNcEhgH*W2>${(3q+Ud(^yn|phs%g&#?vNHJSkyBH(`=!nEPEXU_ z|Nr0aZP~xSzrVkuaPhb2;OlU!bhQm9-@CdxytbysrC2yV{=Q-Iu{E)~%kstEZr%6m z)oMXyw~V>o({x@Yn(p)Q^gQ`-&OXr5bl28IT9?1GDStO-+f8;pnTQ<)iQDt;_Pmds zsug-}j-~SNsDvJUdHcGU^>Ma;n`e1V)na91`}O;GbwscJbiG(DwQ2hCan>TYx98i} z{`&Is^YijIHw^3k{OA(Z?lO|j4|r_#ap|qn(A8mU59s`Qy?54(zC9P0cur0cXJF_8 z9T&rJ=fJMg*Jm@Ui=VqZNPQMjBPlAXsyFGzzS`esXPdvyU$-~=x?XZX#%azO z{`2kDMr~bH7gkX4VQuvGl(~InJiXi38(y*kZK(WpPEAxRq@%NQW0Bs%ZSmG+Z$MXp z)I4fsWM=D_cT4ZjkH`I+-m&I3_eKZpud9`Q@0Zu3ukJG=;otF1si*5com2^?HRa{Ia+ zpDh>|c7ihkuTJc)D|4=ua&em;tK{ohz_#^hdYWR^BZJ2};*tyV%gy8kZoluG<9Fhl_7AAj8eR^u@S^Mx60SAMQ6#w{;Sg3fS=;^6QPfp)& z@9wUizv$-n{P{XXC#GlyyQKH8nXCtDuzSB1l$Y193R@dxdfi(o<9)bChfQPEpC2DL z>8UI2)0unpOY!e-Z`a4|)l!d`Fma;dz7O{nI5KNoZ$kdiU2C1CTdf)tMeiPkT83zK_wlqKOx67q$Ov(23aKAh-TcYL9-m zsJ7bvZ<+iPZ?5bG-NU2uN;_o5ggJ9`UKf2jt-rtHvYBkR{@E>aZL7bnnX};Xrc`gk zqg8uB7exQ6%H@{bVZQz1+1ci&r|GVK|7N1-@_9CuLDOz2+uGj!q54ZVdfSOzbN+lh zE+4uoef{Ie?Jz#D0pyyF>=b>Z?{*izkV%l-S&G$ z6Mq=>UkgzYg?JX8TOQ8 zJ(8a)p6Vyptekf1$0ty&@pW_B*-5U`GZ9K z*xj2>`#A5ovno_OGO^(Ix7@;_kK1x@rv#Si3B^CVxa*V(s5oVV6sMk()n;DaweRpf z^JA5KJm-aOzB`!o<>;-S$0GHNwlpW$DX`XAbDMYR%iC6^{F}9*bNck_e}8{ZotwJq z(P=JGtvMEjPSd11g72AFm%p3hdh_U!BORKv&2lHXe&goi63TsjZSCut22nvl#aqXY z9zCgaddqjen5v-Py(hk|aY(LNd3IBsr2Asy^m83*@pV6!>YVbNtmgY=^RZrOb?r^X zm;tO||GVh*N|uj}H#Mq0J3V$0mz-0ZnHJ8qIrFkwpp2N9TKAeD(fD=o`{S-XP5Juj zYEsg=k53z!*^f+lb#=A6s_IFrYKg^Gy`RH%EB^hdT$-TKV(SQ_zOkTNdhENNii(Ta)3jqfl8Zdo?H5$q zw-Q+J9)1lC^lJ{^z9FnV|081aN-4;}CbJ za!<<2Nso*-8>IKXuB)75-9P*0)I$>IuYlTCI-9&aYb;A%1VpAZetc%I^VoE$w;Uaj zYXAQI`~2+e?(+BZ=1iEqG5L5`80f-o*Kgguy`s6GlMT9yl5G~3eRyzilZLfmeAvn$ z*RUH7)=aT|0FlgKWS^z|B&zozxHv6{b z5sBxP23lb!zpV{jywW>eB7NtHjO#o1{%lwix!Fx_{hz09A3tqEH@OQY_~i-|g$PU$}KKKuB1e|-Jl zQp0e6>s5(~iMK9JHZD%eN&T%CVVHGA<6_y#NvfMP%){5miTXA*H>U=cojX3g{N0_4 zOaF`3ayKm?3V`iQl(J1JrHM*>o!Q(djd5uFo|{Y_gcqw0wDbNXV7>_5U>0)32`z z)iyM|{yX)yl95r+mfqgpsjfSBmcE{r5wyE3H*(6{&mW&|&A$Fcc23F9PpLndtn@_V z)3jp4)j&nY6Yy#j^9j?YJ$wH?pYM&Bx}I@c)wjL})7E#KKjZZL!@6UU>kOv7jZ3u? zv9q)DpJy}ixOV-{z?#U7Nv?r8?`zlH)!1ipvCseeySuK!3)9Zdy5>I}v|)0FQQe=4 z$dvt{0f%j%J2-Ss^&0Nu;o_R)dec%qUQJ#7wY9~`-gEm*f;X-60X4EtKzlo>*{eJVjI}u{3&ueNb z|NpD4W%qr5Z*S^ErFD|=vn+O^x(T_5cF*vGaOJb<4?@@FfO_1Wtaf&DjBeFv96EgX z>BLjzc_Q&_?Cjl1(dYOs7hnEy>B+sl)wkrQ)z#H4TJAa5s#Irgw^hOc21xPt26R^b z#jx8pkyB`k*Gx;vf;AJNu0mQ@2EqoMoB&%!K&eEF9MSJ57 z4GpJihl|ZMy?F8BCacq5US4)hT^qGEW#V7ZVzgU*a<)-oPt#ssTf69F10!=vV42sW z)5m(HU(e3y{`T?l@l77A*ZcK-Wg?Ih(Dx6g_4m&(wzjw5@2kE|veS>ZfxUef`w)ynZ$Zh%e^|VZ**dx=IFLv+mnzwM_!c7|Ho72yW`4-u>27A_6W?WFH751&E z*`pJ5a7RY0@jjD{*(f>AIV&q`ZPeB?8}Gh(|6FphZMFN<>8m^X&pMUff3@!0-;ep* z^~~g1;^XhL^UFbl%g4t@7qVPfxr0eND*9OP`;gPn{cTTlM8a`Gq&PxBH8wE?3$2 z=il%5UwuuO+4-ipYV8QGnVEThml0?)tU@>_3-0Ls@S&i%$UNbTLh_dM_Zc@gPW^Es z=gY@Ag~vKsE!nw>YbgP$D*g~D6Ls3X;HA? z#r!#Qbhp#`s-%WL$_V?@ccqN9l5gQk6Q%H>k#pv(v@26`9 zyWMw>mfN0pcT%Ze@$Mf+m*)%Uu*?T>Q)@GF|;K-?!J-{ly}; zWn5G;v^6pc5|h;E)Hg2v_3y`q#KS2QFW)iTx1}~Vb6xy?y{_C!VMYdxAW*?kAT6#R z_vPb9!}jv{HS_X)zQ2*0?SE{#=IpnBR?3uCe)oMGqn(`iXHu5k)#&zZhIUV%MEomW zQ~BMronL<1@f8X?!fPsDUD5RS_cvS`yBl1YERFP=Z+91TYF4U)Lqpy?_nAhiPgt14 z`}AEI!Z)ROdN0>YOGyEZ@5jHHIQ5>KMS;V#Th7%x4;*l)^?!TUKJWJ12l93`FJ8Z1 zJwJL+MPc-_RbBe$=hoSjQugaPkNZ9@efwI=`1PEOx8*VM|6i?Me@Y2Hs^&nLLpGp5yJ`a-&q&C-&`<&!1TwJNti2$;|(;ss{RxPM`2^pIQEY>-D(PCr(UY z2YY5E=u+Vsk0wq{^qphz@jxT<^vxN$)Ai%;t&QIP=xF!s?5Zy>6yMpzt&6d|c~@cn zA`RDK7uU~Ji-=k}2!oc9l4r*+_Q!)GY{xUx^6SJAz?W8k5-blr-`5W|q= z+_@@hYgSRwrVjmF&wZaP_kr9~b_CR|uKb*)y?oEz-R0{`Ute4F^U_l9)Y!7*<9(vR zHk;0^{rzV1`873+|8Hyr4TWFsySmhS`jg^FtMYd`Rr@}j(iYc?nNX^KXJ75_wcGCr z1;98a?{K!NI-iOS8BuE-mo{4Rc(*d3SGhxb=fu`%bHa8@>M5uQo6; zADJ>uH#%$o@=bgU4U53FZaHYURR4U_WMl4!&il@jNf19JzWp9`RQ!ttyXUFeSbcAKYqu~&YnGc z*4~**L|fY0x;oXKo|<|&?)B~b{df1({$3ZmJ8WHyW&XWA9UUBhufNqjI(>WoeX)4O z>r?b%t+cefvP=K}s|}v{?e+fr`};sG%E`ZNHVGY`U;odtI=oxt*z{RXo}?6hTCnr& zhQz~WxwlIG{i(cc+qcClcjvnJ{r@KW+htx`GxMeN<)hu=(`7dsADcc^JDjiNM3<=c zncTO3kDk0-x^!=O(zIoc&1~7%*O|_5um1JrwnK?=bw5U zRB*>|-<6nsH9I{gt0m?2tqNbCw@-FkhyLs9>*w#y=HoKhw(!N&ljr1YNI1x3$;;5Ns1Y=WXI}j8Pi1_3eDMVHtXmSvm(t%?R0nLc zaOT|l@oBhyUGlwDP{n4W$9mlNvG>`_%l*^O&I;X{6?*aDnv|21CQh9AYrV?%cXy-X zFRTjHj@>_JXI+h?fI!0arEFUti;0S=?!Ixrt7hfS!pCm6x8**ab0_1!nMK8i1#eQP ze)^=F)l`Fc@+j`_|cX?0O(~a6v@pNjq zRmlqhNlDN+>fN2i?jqgZdf#4LbQY0#T3jOu8n}>Jta@wVwQpYzHnVT)<`ohW0^Oow z9rfVl%bUAOvmbvH+0weV;Nc-D)2tIeEj7c}-D%+zUK3M%dD5N^eP6TudonVAzOxn- zhc0wt%}q|3{w79c-wyI7McqE_bl_e75F z|MzRPPSEqK;qh1ZpWenY@z~?dxwp+CQyRBjIU1vFzU88~pI={ZudG>4#AG$!J$v?i zx&3Bh>9PCS>-U;fetL3xy8h{z-!7EtDk?6F-(P3R)~CPsOHezX?6F>HadGkKujd~5 z8WbFSeO>JB-R1A6$Dey>uNAT~NL5EC=jElP-+>TfFV33}nG+XwIDYI)s&Oq-?bpbuv05SP48Cj@JhrW@H+Q-4?CrUU_Z;i%|6gA2 ze|mAlpQ49{T8&aqy||y6`}3p{Xpw>`*w7mjmEHgR`E!Ob{;*oF*`IAUXE0ltZJT@Z z3~Tkm%VtNj0iG&ssBWmD%+h7w&!hcjDi(*vl4`_A(aAs;Wy}yTu;8 z1)VyO3OaOo0eIKIJ6$WQsQDjT_uaMp_r@<- zD*|>pZA?14=Tv2;y*Y2@HOoD(e=laQF)Baw>;LVPIqz=F*jKWwZvU>5my@PVQ!AJ2 z%Y#NI9^AWh`LeQ-(ihM8^No9j z^)z<$`ZM;eH`o7kJ@(V4vbVRy_2Z^g^QlkKkH0s?XEpXAktVNgF$sOKN|siC*f{~JDjJv^-4(wdv9L9|6i0DD+2?=C-5X~>%oo5 z$Fr`lTigG~%}*}Xhb^{#jpZK2A6wOa$HfZ2M#lR3hqtU>%lLf%CHC`F?P}@$QfuzF^4tATu(geSr!{AD>S?i= zUbmKIUthP}Z|)?}YO;ns;MFhSwJGuO@wI=h7bm>`QQY{0UkS-f$@G@-p8?(NB11oBXQ!tdyMb zf=l_~pLK$h?L;PKZ_m5yaTcUDMF_OCN#pJ9?f!R89*3;}ihUh41Mm8uhb3=rY+U9$ zyDMcw?(zvoJ5To*CN=hG8eV>Fx<-AQftHq*scGmt(4ovMCh1qB6_X8OkDaPregDNh&zu?i_t*RQ^xOfhd4Wz=w?> zE6lTQ&G1!!)O#~&UfRPo5|`x1A99*!rti`is12!ME?9=ll<-9= zUlj$f`*Le)YEmwXXI)$K^Je<|zaNjw7i|Vb>;cdcqXs3=e#gaby<9vzQ+_7-NwJyN z{9S9l<>FfZ{tt?^KF+@_Umxt_l`@|oTokn2Z|=#->i2h*dgp;xy+wf5G&xNC_Tk~- z8#iuj*kCZzbk*b6uWv8+pWiEO4yq~k*???{0L>dP{Cj?BsrSW;7au-+xHaqQB*rDq zO-)U|zP;U@adDBfdENoC?)pjgP-y_VyO9 zlu5?BJ3HI?<^8<9C$9ws%>h49_xixBEnBu2r=L?%Q30J=ceG3N^JdV7?k~;XI==1r zwkFIu4!l6k5)=&}cQNRJTjwBVL$}gC&=L3y3=9tzf$AiXAj1yO)oftaAW(Yh?4#4M zyUS`}%TYJn-kLrA_tELg&VmX(&_0hHFF!kM@6@;a4O;dFT13lL_Ws`6I#AaO-LJ?Px7j*gB84<1a9ue*8p@Zyq}ml_)zzrMQ4&CA={(-X5H z;b0>(`@dhW^(}=#LCSDI>yfwl?g;Z~C z%e78DHD${dlbagqYs$d79BN*s)zsF0tqhp17n{O5AwDT73DmUYzU0O)Z#QLc(V;AG zfyZ!UdS06YyWXS6{r1=NU3Y`B3CI9x!T4R0OtL$gW*Vozy1ptu zR~9@3;@D)B+;Z}j}QbXMTSf&;R)RaY)w4&KjasvEWC#{T;KI%m(+{QL8B zp>w;M|GYap3X_Wsp($sB;K!x2fBtyf&;Am$-8f8S3+No|lao|~m;1@uR1|=^CtETK z|NbhCWGVml>-GBA!LGgAMCRMq>%HcgG-=YmpXcj;{rYuFB7WCDsBbEJe+YH?&NlN+ zi4I>MH`TQuI{n-n!T0&yV!D?uUrwEy`ZDqfcwHa^gQeoWmZT%oTW^EToW6H|ZS;1~ z=n2R#t{wUdB|fG;G%I-E@bRBr)fdQ;Jq891ry9q%J{X11u z4792A?X9iLIypHxLGury-%g)6VNv?(%DuhS^*sxj@yN0{$IaZ z-r8BbeCK{M?=P8mcWr(5^?%v3GmC_y2#tdi}mnpFT~xdJ}ZB^R_uU zE3dw}v2k(y{<@uJSEOw!K1^2kPgy?)bS==CwE+tc?JRztGB@?sxmU}>R|bL3x7qZf zHF9&>%Wl(Kg8Rze&RP?EaNX6sJOk|i1J`%_L%D%y9j`u*PHqE4VX zh@pVzW9r3T{p6%1uPGXe^Uek)BrN!v@3T9hX6C$kc3D?6K2A~X7SlB{ule>S^8UWs z)K*r|86?%gIu&1DOq`Q8Th6xXhEV^qrAxPFUG+MXdud5$?@Q3e>QhrR7th~a_BJYV z$>P1)zmg`m@k&Q|+Q_C|&pQA7$ERCcvkx9TShOs4{hm*!=31Ahh=cM5!vyI^r{TA{D5tPGwRneGKD=ssnhwz0KcTl4qM5wDt; z&!3A+NW6IeUVnZ?;>SlvH^us`i{1V0lDB^6&Rc>LO4-iOv(3J?W@cSjMa2#sql}A- zTI;$x`}@!T`};d}W$~M+w?8F8vp(!BEGIJM zxXBH6WQ1$YOx=Ap|NZ12hw9|Y-zwSOp&z~`LQ!r_;9|G^b$^$oy}ZA_zVG4bi;LY; zzl(!TLA)H}+s-F@?~UPZU6fH|91V0oc#TMeSBVU*{>f#w}sX& z+}5h@H|N52n~Dz(w+)h6Bn1Q}%$v7v{T3BN!;2MPFWtBi5jp+t6wTl-UvC+0c*=8d zZ}oSn_|wYTXJpOuV!XV%<~-2Y9kzR$&=aoBju8S7fhZRyzBeJ zcKKKPbz)YBt^NA?diUf*>tc7O?YVw-Md0EurqiB$o_oC4+M?t|z~`qN-QxOoNk=-W zzrX8@JT}>X>#3`&!)NdJjb9V7am5Oa$KlUC*T++>a`*S1U*b9W$Q{tNZK|p#cZv7O*=nu3y`%JXSY*n<7Ea+W!e6tlt=XA+ zTFmmG;xxLR_Liqdne7asZ`3lvTm<( z{hyERYrri$hG~NFtIo)XZrgO^p2P7O??ko3&iwg2LD5+!R`KKW`SsU)f6YJED}8#= z90}%qHGTSLts{08J#A@Wu~hVSb8E9`Jg2OE(B$s|Uy<$l=HCAP`4<*Aeyf!Gb@^S7 zkNTsN?z#qb%vJyX{M>YcDfjlhipRW$vA1u@7ze+t6}SF$kX`|K3VuV2pAC~nWDsI6Jk_2Z{4wE`Wqe01jW&(F?IcC{*he{XHj(yo1VpProD z1l}*g5aCv{(x^D(#wnp{X4&Lj>1Ns2bRySIo;dO0w}h}luy$9@Z*w8wDGma z#<{L1EhCHO{8$Nvf)^GRABVJfQ zAmRPmjh8Q92AzanD}3st-=9j*vWK&_o7Ra=c)fGoqtnky zUtKx*_4eOKYi=Ak;1CHekr;H8_l3-~)XGWi+}qf~EfYT4JkKE)Ezd8N9++WR>Tj%Zn|Jl6nKw0*+H7g@FE_%0giB{;UjP>)fk4;yu z4&VJ2bQae8Hxo-Qz1vm#IwiI&d|iy-^0-??d7#y@UxRImtYaZX)(fPBp?6)Hcw?c=It(?EH@_V>46ZEm@@w(KlFV&^y^9tv{+jE%%zwV#Yo2FkW-6zFrb)ykmn>giU0L}u{pgV+CqSb*3=9d3AD5mw z6PT#&{f4)s=Vjd8U8Vnjz1EMMJ{dGDzB5lS{?;Vt)U>;H(LP%Wd*9yJ=5XJu;+vMi#58v^v>-2Pe^Lv)D>uY{~+If#Nc0>8r+e&tJ z_by)!z8`jZe|>%A^vR$j&eB6yhxvv@DClhhT^0$8V+Eu*HoP0Xr(&bdrUMn_ncF+S zOZU2ql6v%~>qe_}7d`s*ap^Nqt0wE}rSBKNyt0!o{^`W8rak}U|9|YSKauHYUH4~)g?C^_ zPtTNMoekw%qst#3SA?cbJ86eAch;@Aa+IG(%TidB6X^-s-8pUa#NZQ(kYR z8M*06{{Fve>Jm40-_rH;_kVwN_4IvH-LILwxw+YWTGY1O+h!LJCT@#2fpjFW`0x0m z(`%!*v$3*vc5W*$+Sk+HKV5e7nK_oh)1LM6N}Em5jSkzlr`;WN3GT|qy{qpEJ@)#x z;pba3&_>c!Zg0_9A zbJJ7x`8A97zKfg7C93rzdrqf*{{4M#A3t9FKJDAfT`uc3ys{6WVbLs1_i%UvhU;CsqeH&=|E1rP-c5J$H8;{`ExVSj^ z`agw5MVoZaE_!v%R#H+jf8Wn#`=-WiOgg$P@2=MKCo|XY`{k9_*zTT_vu4fdbN8<1 zZAm{rZ<4C_tJxJPcN=YOZDXfBJGLW1&3~RwH@G%!$T~7z%hr=>xQNdp(R-DudDeEig| zH*aF!9-3*KzNPj``2~~gYdWf`uG4NkIMm9$C=_&cu^`y8fZiWLsn1qyn5z1X&5Cb% z^~@vF#cs&OFI&2_^ZV)h_y0dTJA0F!wdzOERf}FzwU)j&&cC+#8xC-p(gwhPaGczF2fpFN-(Mn7HxT|@%5 z@oZ3V@a?VH%jd7wjNkX?MXxdSC0yORK@9)?Bznrl8aeI6I z^wP3fw$}0XU;V@L3h_i_DY$ixcbfM z(VwmpxoG~omoInL|F5e(xWsev7uH!tPftC4S)C#zDykX>>d z%bLyimwHck`4PP`XzB0o?@wESBXI#AQt2+^_uWXgSN}PvI#5+pJEc@AbMIhHhyKyt z{immBf_6f6^SIRf{B}G4G}mdrc{ZBs&RgW(G6|eKZ{EF)$?mni%MuT_^~>9fP31~W zNnv4O=@7qq&pLAY+`X$~LFe8i9qoFVp6S*nqxo89>0a4IKRX1KVKLi|7SeskrmqfL zE429^sOW?_RQ`#ZYp(ey1gOM`Q#+kufd>|j@>#Qo}QUkR!p2Rd)_>~*G8a} z_7c=CxdOV5ZYfiA;+9;|oE+8=B@wS(i8*ZHjbu$)$?uh}dZCSb4Z;r*o zmoHbo2elsM>wY+1gS07JJM=fF_C3Gz*6o2=A9lbW5N+fcr~zMguK`}eoE+JTE& z_Qh?^xTqAFzTj-uogE(!wQ|ebR;kS2{NThyWza&H^;;7TGDW5*T+iBH^K(<#nlE2x zJ$R6Cd;4X#WB0o!se0eqQQ;$JQ=uRasf)w};?uhIMf;Sb+s>|GC-b>wRaN=|*px zavl=A+#ULz`np9r`_7z+3QbzHtm^BlDA0*h@9*ucKH4Sv_*k#Er{_fDx6i@ZVCBnO zTUTqCaq{uKyS&{0`MJ5TudUUdSM~jF`O(UWjEs!SPP;_?+V-`TTU;w_&5HR(Wp5%P zQzlHDcyVua`ClF1goFi4KRf&OJkOb?6}l>RciH@!PbW`J)&9OuKwSL$MR)nmr&&Qu zy`~zcpF6S7a%1h*{5v}W<6qintFOy?cW>|Nz0E~_(|&z@-7jNVbg+q4dvneAyXChw z@pE&p4qV)}6Eu|q%2u}pGbb5LuCdP+J3YJd+q^R~Yt^#nRX>wqj}JG$HeIjs*UROg zeN*aN5C6$J|M-`YcJ*b`%u6nO#_hi#BdniS=x@%;{dcoM%=>))_H8?gTZNaO5w{Y{ z+g=?hcV+sikB^UkJ$yDti{oo**tbZvqYEdRg|3MR{OdJMF?xI6)be!g&{ZMlcK-i* zQhol5nMp^x=GxUpwY~B7@!{d-zMLMQ=DR6+Uv*Hto15D_`}(+Z8S{T$o%bDNSomYm zt@d}S`~u^_={-U2>(cp#@h>8F+qKw!;hzDj3~Jd_RaB1LTFTYT&Tlp^_0q~$ zS65r#^>TX_{yTZ4zOLVVJ6Ty-SwTU?uYy^|8($#0t18f3jM#JExl`( zi-+*Z+vx~f-rZLleO~+I$&*GY$7dR+AGxt*i-}~BnxSFgiwg_a@A>4_$|ZW`^@@MF zH#Q{R-&ZTH8};N^j$5An!P(~dU5%i5M8#;(Dlj(Cj&l2A82HLeQoV(GpC!I zQnRnDxVW?UxvKZH8`kVEx^b9}=ongV^eJl@F zPMI<#c)4HX?)|dXWpk{{&uM=J9R7xkAfUvgT$y|*{I?M~5; z4~ez6_EvvC#S$}d%9JJf{!hQWyllk6P}zZ`VSC~si@dwVbiZVto~ElU zTyV5U()i2Ul{|7b5p4_#{E)2iA^6Jle=WZ*#RtSQeK5T;9Te(+M7}PyU%2m!_?77l zHN0O{L1OlKK?s>%@WTnm~hI^Z7||7$W+MEt+c=j}ha|2y#h)#-MAc{O$Q z)AN~5xZAAP|NDg(w7b7y|KfdL)OUu*=iS{^x-jkOsi{U2!_&^ry1FIvGUx&$z1S$* zgNt0dPqo;8=>Apo#D}6ZNXk9v*Jr|L@o9xV=@8+YW<{y*adR$r6>VlUL1M zSN;9n#EBDQcbCbUWK8(g`DBHzmE zAwG-Z%3trzVh7DxbBpWg7=4?zD=t3jhj-`8imj{HMy-#t6%2SUbc>}-RYe8V6EZLe z;MvZ>#Z~qD?RL-@Li^0cWg9mpA78cI$Z~ySmExRfg~iX$i7x*3_O`ln*_N!UUh)~A zWN&{=+y3d7^rrBCKA`mmv`*enR9LWtJ3#(c5aqQ^Ulb4@#N&>rxod- ziPZ(R=DR9BE}EmXoGB>2>h*b0`PR_X^J~(tPw{zIrZ0zFplf$ZvwFVw-rt!wo%^~^ zXI)+O_rqa+E#>y7PmccjbYi0NGw;b!TeB?h>D*hZf3@tz-QC+|9t7OoReDxNb=7R^ z@;ncZjyWgxNttG?II3Bfv2Wj=>hF1*)6O0#IDW78d+c)WLx*^_vmPM_wF@s z_AZ+_bLQ%>wL$v3WG0-Q?(H*sb!_h8yt}(P=SN$v)1N$P(v{bG$1O~fj&N9Z*K%@l z3JMAqaka0|-@NBnI;bh(;OJKCS^HBz{PpRc9-hbIGn<>5;_7}rm9wqtk+IxV|NmcL zV4&9G`e)m}@4V7If12&XEjwbi<;*-e?Ns#Fryn05zv``1_wEL$dwE6b{k7?}zrF}Q zJaFKETd$O>yL-Q+@v`#w_g?LHb;!KGZ||HF`;K;t-~OXiu(Rl?RmqD5VdoAsGGA?Z z^n1@#t??S9DEIa@S(A(l9fHccN?r!- ztEm(WsQdAd-Ez9FdET9hXEW1}-1zX}gZaIR!$q&$w(bIj?^mIgwzeqdE7R}&H3k*7 z3ltXbI};c`FYEfn3Ni1`=B9fZu1wbsTXW&F*XL(v|Nr})KlAiIvlj=O*_Zpw1a087 zt^Rgm_vX2l#cB^HUXQPjogY@aX6rrG8972{KO_}qKAigN)0>;1^NiN~6aH%N-Yc~= z^YSuf_r5px_Evv-a`IT%(u|9X%HQ9cy4fC7Ilg9F6R~lTU4X4`?(2X3d%aShotgRT zL&F=>ggpz+ZcIMjqq;20UMcNzBQyJXuAXlrSiVYztG*z3E;tNjhSz~yGNan^B>-r|CS4Yz!Ia&Ph5 z{|Q(XqG=nsDaCVn`ic;@ez~>%K~>-0R6ah&JM*;N%T>1wkM~M{zm>gSa(eHB&0m*p zzc*p;?{ruqoVj@4mkq^V9)+0w^sD`O&ieg}pU>yl|2x>sZuCU#ecX#{n(M`Xt1gj|E%T@B6jt7I#VrsAIl-UX@o5mqB=Z-tBF^J-_~ZKA-wx z;*upQg;wXb->-{qxn-L4aPb{cL<$3)+?Q=u^cpyS-G_4=cly3slm5T{n%u+R{v_Y?mkgDNy(Wr zXKEHp6&6GW1YDSDoSvego?M%GbzSW4>hJGPGUf&D|8{DscJ0n1Tejc2`fnd-t=l&L zwe6r$i;Gh=j6jzbdAc};7=L+v-M_5}6iQ!fPEJyNe}BKev(#6Cs<^^{{#`2fuTS6k z9U7<3wJ*<}yVxCk^NI4;)U>o^7P1f5L~c$w5j(FY%Isuj;mUWVyLW8)kW_nfMWFKW zq(O) z9f?@}_35h6)kh}8?k+nS;P+~}$n!OGOirGR%U{1Q=kl`NpQoqKesWrM+1aacD*_g_ zw6I8)W}KN}_=_hoG12e5Mdi;=sfDTuPrC1m_2p>>(epN+`nMqzAtId zUmRVT^J(s{p#4s*p!2sSi>BY6Kke*^=0}$fMSorTYii!TJ(`Oxmo8n}Iel^D<}{;} z?%Q9VE^uuA(g?cGuK31+ACul+_P5s+o&~xtDDml0@%SleO6Q!MYtutlg&6*i%?$sU1}fjq&op*_CKI%K)eeRJldGNf{(80g z*NPc4BxYU!?d;{(zP!wLvf}n9zkeBhhgPx~EA;o?w5%%Bnq9MGU&xVC??Z=MW8=#;&;_$g-uY#HadS?o-CwD{c=6(|H4fjVHifT`(=A^2 z`N`!?zJ1-NSB0+Di`{kQ_0it&SKeQ0`apM;+Mb=1g1rYm@hMJ)+!dDcZWZVnezVi={vt6)dfm|`P6U! zPvE)f=8Df}&9~>>)w;ay!;{OKK16hRbFaTL-ETIlcHyiOF>Cefe>`Nbonln}E=F?G z(^pqlCoR~k|8UuoB^|H-i0H@NDLkmMBPza6%GB%0_cu3{owvQYvC)|aG$)|gyK!I0 z`rSNFjp8*7Z6n`?J^B^cb=g=qLSjAF)H!o>oTVPm;y;gb1Bh86jyltw5>8f{A!{dHFY?qg_tI=q; zoc#Xv=`}H!fx8maOxWr>+w7OdLYGdV!)?5~YkqE$c{!nd{yp!3{r;s#zNBo8 zo~jcWX4}tBVSof9!a#^m03)*OMbm^Y7jHYtJm}B@k5!?H z;7|nJn(^fBvbZYC-N&xK@_zdLetrGxwcC&6rv~n+_z1eL@sHa!Z=1-sVTp-}NkZFI zRa8#gbqJR8Xi86w#izTow)fHblk|x zOG}^rm~(}%;^84y%S#Iyu1pt$HK~yD$k|^(p8o#v`)Vrh?kfH2*`nmyHN*1A$>{mh zHv3GO;kV!L)wY_L__Fu+V&#|C{QY{J`|hL}Gc?lAZ%aJP_EF&N?d{VQ+hf*(cJ{1q z2X$cT!!P^Iu~1CE{==j8r$o0mw}05~P#2dLJLjjTratXXoaG%Kx3B*HKlA%F!7GDQ z|6Xh@dV0z-jx&;V&Av0AUSR~-`D@d|s=vPjH6-@xmx^hJz4`L;a*>Z;+@CEuA0xcZ z)WpO~)%$;*+wHl#{Jj|e#U-A?l0_%3{t8<2|GP%yDDa9(J!8-r>9TvyfbCy%$c+AlI)Y~Gr()u1iF#w=`Xar^6H+luaQ zOg_G=>}}TP*>C38{aWdh&6QJ|`S2u0(Coi5T}<6?jzQdNa|445A19jb{GMrf+NE(eDHN?YjwRE zs3$36a%K9xH!^!IruzO1jn^{Izh@G+?&0nH{ZlP{^Xj9{oti9UEPs9a_jh-N*?p#J zg`RSBe?0HR36H;uQ&LY)J2|2DSoU=5b^8B*Jm#NhzSA^j>hZ5j`Nbfi@_zsSIG;fMUavPw@eT?KIyp)8YoprzjdyRnsr=CP<`_m0-M>2h z)UMLkUuI6daU(+VQiuO(K|w*IhpIcHl71!EMy`*uow?!gjgGYu8=cy0jO+eXd=z*k zI#JQO?&nkS!ocYa>0eW)B}%igv4K{zx7kcf|C*YVw8+BY{Hu=;M{0i+adLM4>e(f# z{p^@coJrv$m%rZw#q{HJockqSpMHCL`{@aeQBj~P&W<=tet#n`=i8o2=d!QRu4~(` zOS9)L7GJ*Ur2OmC*5&VB7;FFi{e8NkZ%D`#IX)hqnjaq)@>KRe76P5^`EKfry1@9Z z_c>uJgIv|#L~PBPY8O!X@u;}5kx|My=H-5KgY@@SO!@JnVy1D##w6E;POV1{FbIEr zI>Rve$b>#w>r)ese_F8b&i4HI`r_aqjs>mjvPnMPH+7-Sm)Gm}cim5ac4ns0mlJ<} zes=xQE?+l6k@<0D6tmC%VS3vomNng!8r~OPAXI|MU4*MCzv}CykyU?a!asNHu#h|@8>eIVchNqPc<#_^>*MvE%hts0jq2g$>he|Q4!*nI9o*Zmu-&^%ns8aj*`x{|-Ic1Oi5` zeaml^hWx+$cD7WUz$@>sD|e@yoOHO2*W1f$()Xud&fEX*Sp5-nyWB^1(18H2e>S{H zeiyUr)s}Xd=`%o!0A>nZ)_-*xH2W{V^vc@k>ovj2YkHlWotOL1pEq-+=HhKKRwXYU z9Blry+){FTCn%wTItG!q&w^-dVlv*i!H5NBG(KWHi#v1J3_lIz3K^`KnjM z?y|K#w-(K-aB>38?>~{1T7P{yXcu6;=yb7T;n)6TiLZ;^z}8r*KFO^@9!o{Z+g3rcTXHaN?1Edu!|IibKI$w=G_@sO-&+ z#LsKiq@SPn_ucOIyGmXz+BTKz|L61eMjua1QuWpmUe#Xl|L^zdy3u8Sf0a%Q;54Tk*n3$CO{`U5f4rAZ_ zjcf1Rc$2qZ@i|hBU4MOgp0IrR-PQV~Pftw^p1-0x<@JSy&A;XwP5gV+?Z` z6k8hoHZEvp+0?^wo_>Do;`Z*6neV$d4s>_X?QOYNRpwficJ=g_=y5Iw&(a0VHqBOJ zyA`~|W1?>KwiSWLeg*CAE6TF|_v3N@^7(a9Jli!wRs`&=`U)OvT5@H7mZ06&E5S;W zr+FMdCIs4*cqAE7s%DuHAv3cXcEgDfc5-^+@tcX6S$De8`OUwKPTw_ua_1kU5#g|K z-;#ZQra%9>H2CVOP~*yo`+t9bkFWXYYH7FJDD~8d#GS_?lAg`}_32P6w;8|L71Qi% zK75x!$2nGhepb|DnfA(C)z-H5&ySCwF~k}_UTL!}^U^Ow#QV)Q(|x|CZ;n;zsb`H# z(`?rLx)k39ZhP78E_*9<-_h*+)nAuZf(F`B*wbxxF0oBaO!S_vx3%Zg>0g)jqPXzP zuB|`QA4lrg?!S9$Q>fjf<26h6m3-|`RMpZtb@1lXo=KA@%YJu1=6`ypufE}D-`bf| zYd0)>8h!qo#X9||Jv}^MYkH5buu9#uZ_AE~kB@$QeEj_Q_i3-PqvB ze}7M9@Oh1E_l_@_GG&UOvRg;6f|6@(TIYxEsZ=R}{ zs&)KIb#hM5nxDld($doSq)a@{B?as(dRqJYTcrEb)Y_R(uSpll{ejE~6a>WonrvPE zF66@`P}O5x{`%V4gL~b~^X~lk_xn9)UAJO-p;}8@8|a42Gh6d|bpB5Km_1KS&3;|= z+@(iKs&uEjc8k5d9bCApA=H7#u>S5nPz#NDcgag7VZPX%MXFX-x8g#t@2M=dJRr6; z6|~>~xU9QF+4W^=b4)TXH8Qh55qV})@!`RpoyDM20L$LoINB}#^zKbiM_GMT5bNbu={bK!ok8$#`9?)cpW>L`kmH)g#4K^Cc+}M&i`MxN)wqD*R zZ+~xn{C@TMH9`CQEJN2s7;0%{9c*It}ef!R8PUe<)a7FXqR~<@5Lb z`}O+9jfm5pXMcTrYn^#%$=BD{XWMK!&iHj^<>5Bo$H)7(pOFz3Hm>~iB=`2VySvN% z-5$=AHqToVvlBGgHqFxw6}P zsqbtvBgkUQKkQ#s8RWlyK5x&?!eaCBi16O(@AvjpZf@4Lwy*h70P5A9o-TejwW0#F z)m!y4*zg1O0r5;90yn3hzqb2CM@Pr6udlzqyqtb!hT;9%?{^R7Bp>gqeZTj+*EF4# z>T92!pRcbD*}+!V`b(&xU&^Xv#T#W`ZZ57_R;8=vK$g1wkbdROV7IFF_qR<`O_nDe z?fUrfV-aM{)`ND?#ODfG>#`$9j)bg<2)s7=+tqck)z{WUu3WjYNDu6!2lGLSc4>#N z%ek>3@zN5{+FxHXudWJBNlCf7DpWfKw23YjprJ{@&hFlS z$W$={0|P54k|Ap4UBOer3=9kh+yfy?OBfhF1VX0G85kI9L?E-}3=9k-LaEaK9ksv9 z9Q@|jeCp(3Ji+STCnIT=GviNY-S^x1`+a8^C@L#E-(v&?-Uqo?-cRJOOh1skG3jVm zM@PrD+}o$DKkc@y{jL#KESZ2@zb z-`|P;to;1!PELBoS@-p7xKYZXEt!|s%+|25 z_;H|-*(mY!wYAY-dp8t4^_p36r|$pX@8{-PuYMc6GHB@{*X~v6+bch(Np4ynx;pII z*-v+h&(BG_4GoRJPA!l{iC8T)H8=UZPivz<$^OO`A-a{Tz}o1hEJE6Yy3xVSj|+?<`6mzNbkKX;N*Z&&&Id*|j_ zr=OW2C@q~mH$L}(Ve+vvv(5Dt6(4?jdb+5G6Ld1*{<^)l6l#Be+j{2a>hSd+A0J;I zx7Uh)-`}ba4-T&1|1WAU*Q>(hq@;g89`n!K@E$Y}w4>nR1V!gH(ayPVd8N%(@Tx9W z`;k-oa&76;#M+hDJY8H`N^|b+DouS<_~FsJH&cHF`7HY83vLcF?CAJ)X=l%wGe@2X zclRCfzp?w#<@kNGca$G}q`d!6-N%%)Y0FDzua?WN-C6!VZsL6N{CPZ2OqT=KBR+*ZaT`M}9x_DRV>vwl{ z2A`i@{_D%j7cVllGCo~mDXJTFrT0DPdWrRso1d-Seorf8#e_K*7nHob^vd#-W=`Pc zbul|X^_t(iu--f=WPRM;na1h&_SeVvnJ;wh7W);FdV1Q`_o4o)+2*&cFC~@{gUz*FU{GRr}9&@WlS_Z*Pwl%+9*9qVUIuhihV1fc6e1u7A0Ki;r)f zUF|NjrJ9$Q`Ev8~PcOdt@mBWwlOOqx9zPzwJ}&m$qYJOs@7GH=3|ODGHfrk=kKd=J z>F!QDD`nYj{7q{0lqpkItkC$Yr@j2^(^hWrBU`?$nEreD{JKex-+tcu>yq~CQ{7)v z|Ni>=^~^%&_LM`4)!hf@?YTL3Z(O{VZuGV*hqJ_|frr`~v{&foS{Hu~S}y;%XX?_A zVjoj?C*Bsn<6W(=`~+)VRQx=f%1=9=&l66T)d*U0Vw!IBp6GZ!X)~WYss0HG54uFP zi~Qc4=nzzXBEolb^~@e4BO}l~@YU?AtsZRIH^-_p%fq8XChd^BeC?A<3scObSO5P0 ze*ec~(!b7^_PsuRxSfBs=M#zFS1yCLJ-mUBQgvQUaF87P?QuUe=@H#j} zX7f%7nG>_`TAIH)?KxTP<->iozfXZ%KL^5L*osh}&CzKX64TRY1q<@KGNn}6Orm6p8p+4Xu2 zixv9*b1Xi7x$NIvb8(UD)%ADR$M2spL*lFatNN~nC~vj%%U@c5T`GQk>h@QsK|AIf zK}VD{1e=LBGgof5e(qK)DKEdi{q$6Abx64%9uWU*!o-=DN{JIU&gJ>{ef6V2)90o2 zm4RD+ZGU4vx2Lh_eu;I}(Kn_hcOI92P0h-Bby|PFj$3P6Tc4Eat6yJVE7d$Y(%EnK zOG8J;=ZWr}b^1p+LEZ7_Z8?_7$9h_Fw8Picyk5KgOT*D0A0Iz`v#sNOe0zKQ`FXa# zA0BQunqE6`X6or_U*Fu^T>SjpC%fo29?3=Lb3*sm{VjccO;Y~RzrVjb^U2%AxV<$n3wv}(EsOE{+uP;; z{``EkHDYtx+2`}?*Zp%oH|g!WySo#v5{LcCfcnP5*AM08(#kGjHF?|#n0wjVM-6C6dImz@vGcyeSc^1@n36> z_sMFr9Xon7^8HmyyS1;Lo}PZxrvC5O={(@d!e{ZmGl><4oC3YX{;#UN9m?$fc8-B% z;ifw2ZIA7Jryp%OzEza>+0$zCr%UcVF8{jpqr-kB*Dla(=Q9&^zd4{=<0V8N z;wikBzxMN4bI>`k?KiFFtqxloWt39z<3plh7HEF?$u!;QZ4%zjUxl~Yp1o4=?a$}) z_Q#rq)qQ8F6kCEiYmX*5IyyS`#k*)fM7wI>)A!-Q1LFl=49NYwEkT+WzZo{+%&C|AHB`QAGG$MO^%|SMTPe?#QTUhz^(A zt`WGX#qN9)D>tN0O_2Kf^uLbnuGo_4zSF+R?l<=nnf~kT=9a>z=`JswqjcrxR)?#Y zUjuddV_&S>S^T`~=AP*IxIGnt`ZB^*$d&jQa+& zH2qrWH1@BlK|zxwcBGyblPo&+`PU^a^RnkU>#t2OeRbvH^Pevk_anSpKX+%Pr~UoZ zhfU$;s9_IjNA=iUyj&AVUmKD*MdI{W2eB*v%fx_RG+`4^1>YES1(^1PtgoM_RM@`DJLiA zuL%bZ94LN1XU^?|?ypYAM1_Oa?Sp28ndiQfb-TApzc{n}+^4Ks&3%W#rwOuv+LH%N zUY-6gbY0T?W^7d6<8MAyuU>y&o2-5I)lUOuU%LkLAAz+qr%emnRg!5dBO&qQ`TY7* zb86#ue%jGG^RXCczSS`6{5)HuDU+inSJ_!u{CIS<+vv%z>v7e-^UV}~OWZy^UH|l) z?wrK__?3q9@lO$qm+a-`pr#Ep#5;ge6hRBbZu;6<{vq8(%jg{=!jy4 z-~Ohz%3o9U)~?p!f91XPza;SJ#`romP8J*N+!F?!h+WU)T0zQSGoR&qMkj{rIHp_9*JZ!i5X7 z98U%K9s6~u*L$DD_Tr|wr+;(!&N8{^Ui$i)uUgTkiN7xWsIiR?7t6ao9ds}l^I7@r z*-xkbGWrflQq1gpSDth7^G}D=shL-%|9`bPbJx~NoqwU#$Di-sQeK_tXZ~76w@yM; z{;>3)75hZu8$z%6r<_n+e`WgB)#2uq_YS<@_uH?h^j0}I=X1X)d2{3AGvDv}_qP;1 z^)g&o^xy#F%;JkLFE2kjM}OasMLd?5H>dj>o&;@J)=<9~A*vsD=Zq!?=W5hf3aVC_VI0~y!2{MX2@Ti4qE5)5VT`xf^%J9Jg6O(adA=7g4SCzYJYz- zEj}nP_v51npp%~!ulLH^$N5+nK5~&PN;^GGH)+y}6&jMKPF_8BN<&#$*~BDdzKV{{ znkLJm-Qw5T+1S{YEw!}LT>JjY^f*XrnQK*g$sIHwhve)_JC0lKEfN8R^#Qq8r`H^H zuiIGGm%9ID${W?Q_vg*Ndeka3FQ)!Z|EtrJRK2@4oXoF{`srG`GUwJ7&zK0ejGLRD zetUcSse!eWd7e(&_qVsh+hW9pg_W1hwXfgDV_E#-f}){kO3D(Rr%$qyQ%hc6Qmtj< zxBT~S>-#IyBk#q5Q}LtUzx(cMyeWhS<((acNvoDDQ9%Ty>C5X=ubtcYY|p!6L6`ol z{q~1{ZSddp^ZcJC+B|drni>%?V;<-Tbz@0b z@w>~`@>qWUe!srk^Gd$9v*pfP5t5S9=KdDzCe*CmcjnW*U7HN@d?tTQ&B<9K@#07J z53`-SBtF%Ze@m(b-EB}S_mykc#-pJ4WDvVDU8eS@ecT#-WhEsS3tQXRHknWBe_eXC ze*eF&zCOK>6%%H7iHnLpU2tMW{Qi9>exJKI{TQ<%Xj2@--nrK0e)AnG|9-tLzDwKm z>P6PAH5>MA`A`!Zxg$2-Z=Ovg&z{1^Z9JBbUnQORefMVf*VOrTwO=Z2Di^bX91swn zrfa+F?k&rI_rLUkpey9PBXLfb$EVyaA*24)BC$hvn4+X&0njpYZD2M zsqAZO1eyKk*=RbS+W`xXpYL|RfA#sw`uKS8Y6pg8f$?c?cYm0^wK!z^d7)#H)t<)N z|G$|lBKCd1cK`AD)++KRlaFZ~Pk(*7>g%h{f~2HHJeE)Pe_iSt6?N;=)6=U%SF0`K zJ+Y7F+rj2-`abt}m*)%C{r!49^+c(#nvcNcU4>6S&aeCB>2qnRw>TtQs(rmwZPzJj z7Z)G3WBWRtJL~lOWh|B0-rd^j-8KiF+=F78PrsZ8E;R}oei>;i8*l#8^X}TMjW0Jz zB%5YFyH(U(|8$W@Ub~^uyi;r5ebZM`gt(Ad6fX}_f z?);Kx&5ED-Owq*qr~CKXlR zJ-g7k-6aTg9i^rCT-)lfGoVA5B#Vw!FrEGS`ugbrzjbC|X1vm7KJ#4yZwI&SIoSWo zoBQ+YQ-|LE3aWfMHT+AX-|TGVaB=5*@6X*^r4L$4yKdW-PbN%D%=iF;< zo{O@ZHeb-RE`QF(#U%yVdy^VUckIfwczR2GsqZI{GpD$?xLE9axB2SX+2+zF847K` zOKWG&ocZ%nw|>`8kio?_PfgWUpCoHtHbwDz=&BIU`NkF&H=dkMTsW`EVt!^u#)_y3 zM$;#+?w#s;tTh}o+5d@c|7!i%sPM>b-@LxQ({e8BkuY?Ue{pP93AmigS)*^BcSpln zO~$4oV7|-VuPe=?5$=vZyiNbY@8hS6?S7n>+svExop*j~MzXa2&yaKPRO>?GwYFwm z75WJ}IBmkgpP!%i_WCr;zdpU|m+z53;p<{1F3eGO?-M!s;K2jub{pHNSvfgtW?WmE zm-qVG+N6qZG2N6C2d*AFwd~B9GvaX-j`Q6kx9810Q+ek7tJ6B+*FwX-iJozd&^43X zlzhBT_Sb>u^Xuc(py@SdkJH6Xsi#v;uzdaXYBFex3M6x_Td?oX`sz&nRp(x=HJ{<{ zSG)fIwTZ_z1?{h$_#^eTDD#(hMt{1?zp2Si-dx>Te|0)&pUck!2M&Pt;LJ(;`s%8` z?bj))GD1R&`gJ2WE%A|lQhPr!?*G5PUr#nSHNBCYQ2Ou?YvH_u4R798-9A0L}L z>y3?!w8Gb|@sC>@Wh!||qJK)rt?l{mADY(eDtW2&40K;Q&rMK%?`ky7x)R{;^^7Mb zcg-75fB*3Q75+=NMLUBSjHbz%Z1XfZ}<+lLPyvahc@32CW|UYTwwv$N>jjf6D$;G5re&WwF^ z=KqJMt{1oNe;t^Z77`H?ot*RFnq`sO`cLbB1$laS2)O@=WMO5!x;A=y@HV$zDN)_1 zkp1Qc1_h6g^*%cFIQ7(&iJPUL6oQ&yx3}M`%04|!_Y+@p;p1bSCqY;1IM13gMI_KW za?ihCuRT3IjpklHIa!^ZPp0DYGv7-0ZwJdkZ5j2D*;UupL>f)M+$E~*@_eaV?)`nS z&vFX4ZY+B6{eC?^FYnd#;8`Y_k4l;&R`~8pY@Yl-8`M9!6CDoPaeH(EXf@EL$Nl#I zF0hxqxZtQJQ&ejBdPp?c+biU#c7;pFePH|CIv&}o}TibH8J;PQ6Bp&Gy z{Qd2%vD}1;x3{*=m@#9HFuRCmkc&)xR>_YKiC>F48X0d+X9V41U$Mrz{2gfH%App{ zUMbT}NA%+Nt?~V4e|ow;KM&6t%cuMAD}c6ArkZHKKGG?CcXzpXV(NepG1j&vr4czB$+9$%mP=>TYEJeplhE9Awmudj^~=dbQo>@QE}ek^z@>*kus&2G=$ zNE;+H*wtKL7YiM)7W}%DcV^_wV*cEfCaafkT(+e$d(V^0cdYL(JtzPA^qM!WYHU^) zc9*|DbLNbWb8Y6cq|23e$|JJXRwo_pGR?cQ!@XZ_>1gHDdw=rvU<6tt4_rd?L% z+xz?D`_4?8G-=WLUE%Syp^#*W{%H(5TayF-(y_5{vLJ#Q@zFwg}*W1(k zZc*C*^7+|@n^kxJzcxMcCck<4yE`XNocQpepmx%N z1q*(CeSQ4s(YreeozI(RU-RkTntMBJ|Mg`y@2u}tzqd6!vN33>*V>q!LFXQwxnKWZ z*Q`~t@3pt9?e0~ft4}3gST;K9;%Kj_UD>tmW@-FSOgtK<_ z*QG-8^6S;-&a=LH>gv%6$9HcIb#rq&KhO4P!NIiJnUf|h`WF&uoV9%_#2?Ws^#69o zU!NZK^5x6p{qp`N${roz{5msUZPVT_m%M)^e|>j1T8-z^j`sonE~$3E-)ye>`pVL7 zMxgG4iOTM~N)|aJo}Q+w8?~h%#!^%}Y)$0mw8Fwd(8+5u`JlmIah-?@8xox@1N~mz zJUhei@xQ;ni}rA?GYiw}?C;ONzi;o^^?|Ro!q)sa$S$uFwdKX5quoVa;NI=*(yg_> zzgd;OIw2`v7!a@Ze*gb{ra#XZpTD!WI$SLW)bjiIPDdwpSIAl!!_KK^e+Aj=I!8p@ z*qB^d=mws_*Wg&8|8Vh$?~`3E zclt@`Uirnl%irhS-uCvi{{A=D*U$g@UEZeRLyx4fS^mA6x3^3!53GOkZI@NWhX+$M zgR8#3%e|WiI?cZ1#e_3YOCBC#{oAv;_V>4`oi&cR_drVtjvifk_u!`5q~v6A{kWP> zPdp{hp0cX@v!l+h`Ql>t(~#OF_R91RuE+c3w~H}~tqxl|Ns*!dIG^+Lh_~Df_*LLD?dDN+*$N=O=&~W)~rxTrVkOI+_AqQ=CbO149oCUwJ=SSNZu_?2ZD*e^>Uc3|`L0#umjrvEj|@h1Pr1 zOd5_q`t|ko*Vos#zgd-gd)w6V=jGMk-fXn_K4HQH&?@TP;IZ9%4z-xYMj4>q&& zOPl%pskyhOa;{bBuHxr?KPKIcSLNARrl4Do-hq34 z3?Ep&E}cKqDD{-Y*-5J2DNOf1JUGZ)Ypo4BDUe50<>bkeS678{pGaH3FJxZjvzef4 zzpBB>hT)D|?aTC2({!_6cItrcRTloxc6)pN>)Vk(pG@{oS#e-T$;+Upr>3r*o%HF+ zNu>>CZ=+uC^|$-^WMlGi7qIIX4%l9qUf1@^C_f-R>h9j^?S6BuuD!jmCUWzZEhdtu zPIdM5ZA&{fReSoBDJqaT9)@*`_kA(GGQG0-*Ci!mgL!dpDyKCjXE-iX;V&aDn1+T>nHuLL6Z#y%K zpNHqpp32RTX?unpO}{RkS5Z}+dpTxTiKm*}_RP!6T3cEotaYBwum3kuasKp~Ggs!P zKLstVn6iGQ?uS#_>m%ZiL~YGlx_tTR3A(wrwruQM6|m6B%c~1&kQ+@%5d1Zu`x(QcW)htu|lm)|+)}%gU-{iHV5^ z4<3AFf3M z|KIhmO)l4$7P9yMyZgb1YirZ_@A-RAy?7^lTTbL&(X5M$T78~uDSsblyZ+2<^Yc~t zX=%^4->=htc12V>Ea%#q$XhkrbmR6!^qD-|e!p(AaAm^%eYNZNew$UpW33mrN8|YO zlHcEQ4WCT*x0|TwyFPBO%e`FC<#d~GZ_K`~_gBGvcGT9ar&;p1c9mw=wjDX*GSlGU zsj1qaB^{oiQi}N+=mZyb?YQTQ$FoJIQf=D{!z94*Ym#Co6Rd)ey4D@ z_-oK24mUTquIgMVn~H*SkxP%q#UDF*^kw+&vQzh8pZ@Ztce&)+%0E9o zg3i<^UhLMZ<~L_Y(bH2cEiIsQf`2XSQ;;z^Kt#fak8JJj@+q&MI4R&A+!M_o?FiJln6wxi~o^x8=;_ zv7Iz;-oEtn^9+-Z-Pu*@eQ)~Y)nAuN2L%O5nPe!)J?&JVXHj112oP8HBUfe70 zcYV&(FAm)dpW_r<9B{Qmp>{@0aP^ot)Kty!N{PVYPq1jy^eZ@)u}=@Z9Tm&@ijg{M*M9s^a2b8Bfs)%{tm8TI93sy#4#!^6I6UXPlW%_o{e1>%pjLETxNzaej|$1Fb1aM1l$4z0 zg=A%Qou#(EfAMg^f(4I{_n)5Nc6R-9W*h6or=TNvb3i=`$l_Us_7(d7U&q~QUR7N6 z+V#og;QO!lmoCZBJ^Hr$h<@~X34ukuT>l@4&fV%gq4C#Ng}y#DRoiIpW$pEQl-%y_ua9rz`Lt=DP0^E% ziZ$_dKV94IOj`Z*X%j2=kte4vEObuQTfYDQzv!6Qzo+&0Pf=|C`1ts1=Tp=5^@V3~ z3ah<%c;Ui@GiQ7xi(ElFMLDa#zEXu24IuZt{;~D5VEnet-};}XyY$}A-nM(oov8H^ z3%1Xf_ESA|{DaW?E7P;8K?j(*@$M>pt;ROXvOF>F+Vtn=<_h;e-NIs``Tf=DmKK)B zTib4J&7MASqT*u9m9Y+>Jysddf^0fFJAY|BeR6WL(U*=L3>S^h+b9d`Reil0{*@DS zZ7-~p==k+1zIprEt!DiX3v=zgCDL^?Wbg0u_!DH$pZ5FecwXtHn5!Oy>p%*?{t-u(D-+5c!n z{A&HF<@amDZDK%Uu(~T(%H{sQvqJyswbd~@H_Zs!yC98k(Vpt>>vr^1wDZZPoakHR z+Wm^z9aK*AcU)$@vMx4SEk-47?xm&P$gcRU_h)JS``f+F`nr%wg6r3;{QvB9{xlKf zfTDYQDveUyK~pfVo4=+eB`tdKRp;OQz1AQ5AO3mFFz>g3`NDV6p)#e*Ox}gP?yzc7 zTCw_1NQ`QilIB$*mu9sU)=O7JuTU;zFH~*vc*IkrzWcZQAGw>e?0%km_vXwSwVSc? zzh}qCO|6-io|c}zeEr`Ua}%Yretvpd6m~iatB7!yMEJCI9KQ&HIed7NKlB>xVSz4{*4y>>>A6Kx%PEuX4&m`^Xsj2VYy-T@xEWys5f7S;`SbOg=VY~ub5x3M7Z(5c`Saq<`!8>8)t>+52RrX%Sxqn za?89ov0Rz1rmCXSBX1uUBgGXH8@qV%;+Gp9=>)~wReV_B)+?1Vuix(1i>s@{O|rUv zoPIoU;>0gJ#p$qWo6~voyF~a4`;;3 zZ<37KmgA}R@!K~)Kfh&xlH2m`dM%6ETV={SGxzDKsehE_%$dW*&7JAd*~TmVN!V|u zQ7cON6U{P}Un8e^rSET;U=G)jmNZ4KRzZ)1vSlK zmKGCpLyon5rVrm=b^09fG5x>lbEl(kmz;F}{B?1Q=dT?8Wv4d?T$!%5r{?D-_kOvQ zwR7gqH8wKJ_#$ik+WV7k&asOZ3y=57ny5#Ym2KZ2Ny< zLe8U`=jPdZLzZMRfD_3+(dkvkRhP^Uu&diux@gDTDRn-ULOML@{U?4Tmq>~={R*1< z=FJ;^`#%%b+_+!=-?#YvjNtfnQCquuQqSCPtgWp*IY(SCW`W{n(~JuZ@kie8|L-Tf zX|7%Etof(z-krOb%LLL3WnfU?{Q7i%+gskJzmGT68XuKiy7Bm<&5Bp+Wp#RTx8&vQ zbGuo)^y%iKzl;nGC$^n(N=Z?P+}JB^e(8ess@I^2RSRqD$s6PA|C*lF++Opu$ms11 z!{m$;IggL`KNlAi5pfaTv^IKs-+Zq}ea~UJ?bw2Sf5L;@c3tmsbYguecFRAldFPXu zjLRR^|9rK%<(=ia^uJ%9URvsXa>b4v7E)T=;`(ta+G28Ye$MY#tkz#2yE|-OO{LL? z%l`IfPj5cZ8Zh6k_SM6O2hYEG^=j6H2@b{2I{W&bi60D`r-^cvhd$ z^y`y-bpD(t(H_qi$8q5aBTjuwWy@T$Jcl1!tyECrr*4I^X;vz%Fe4oRu=vKmMdj?cys#sJ$v__4Epo; zuWnJ<@`NuhF8=xB-Y2t=Q&LD+_^0Qtl9x{KbZ)d@pN`w&tLM5qm3Wu^3oQ3_IL*7* z+O0Re{u-aO8s8O8>C(rUo%7?<{(en$b8B0@T3ZryW5uk^ExOU$EUc`)y}kW?{r-Pi z8WVQiTk)gJ%C`F362-nnzk(KD{PFwu*T=HEH}f?cmpfA~-!ly+-t_V$3O7cK`Tv$ zwEvI$?N8L+yBYue{r&T1b+_nb zb&<70CvMLSzQ;Ru?b`G_Zm}EhuWqHHSEp^OzkP64Qc}ury7ck!@t+UXxFewsVMq>$ z_u4t3D*e#H4g6vKBHO2(%ir&3S9R=TNA&sbxv#@7zpTs*p3zP; z|GH$-8zw!yO8wQZk4vAIowM4Qd2{F7+3V-;m{GRf<-I{(&)O@~d8!|NxgTbB><{>O zwzIR%mw%SJz9Mk(;dcJZkvtp!{hH+I=_zShwB(DM+MYdoQs!}2K03l#mrzk*;VV)2 zCmrRQrJ-kNIPtvka=*EY6qU=~-SIq@mYRBT z!jjk5*R!**R8&=cs-5P1QF8)l?B8*WT{FK5p-}yt}jJ z&-Z7So;Z23^Ss~R-rml9F?VnE_emQp)%@rAh%3DO_xCrqxL(Tb;2LlFy;`BGYCawn zxBv6O*~h16QT3F~zFIzq?lrHE+q;N!VpCJowYAaQi>*puExDMH0oiHDz~EqZWqQD) zqT*uxxIH_HpPxH%;sj)9Tyw4C)6-|p?5X+rX`-^bQumwN+uy&sy1L8C`u5jfUtfDq z*L!<&v-|%${IXV{v2|DVGeZ9JY(9SbCbsJYs8(y?s1Nkx=kJ#`&$|FC@f(Cz=rbNz z@%Q)l&+4V`?(UwhW-(nqzO1xV^w8?CwTO(?8W7LaFy-gx=iI$1PftyKe`lw&uT3%enH41k1RUVS#;Jw-SQs>=dO=syJL%utl6iT$e*7e#xVX6M>tb7b)~{c`R4)fS z9?!tQ@ZR#ubcO_{xVU@i^J~?%Oy(BTQD|JTLgV4~wb9$fzRzZWf>#Unu`paNDlTT{ zlUbp!@%-Fe@4DTIhuQwFw<>$n@eVqg%b>&YRh8jHP(*}9?XQx~Uqv4t9Q<+40%}Ht z*eh>_fP~-Q-YP08K4}jO4Ac%^cO`4<6L?*e20EGbR7bYgM}Mdu1|25&&N~K%2u=8K zF#|)w(g4^_JqCt`sUWQ|O<`PvL{mdjXJ=<}mv!kY5njd!Cm$c4zZ3VKK6kFKw|A*M zr1e%24~nm&=jK{J54h9DE1kh{z^1aY^6~Nh{3|O2|F-U}{`zX_>ea8iM73Y&Lp*rT zdxbuugW;9w0hi|4*WX*}Exs*#@BFVz|K*ydote?p#Plm0tgzub&ns_fPlAAx+Io4(-XI)>XTeBwh*O!;h!XNIvzPsCe|Kt^yH>G-8>9c=Toib;- zemvJ*)z4qA$6sbiKh`68C-29#*Vor)p139=A_7`uQsMUR-@n$@R%nao!##)E%;bRh zCeIc62g{y5e_sFVid%!D>N?@6!F&*gdL zZNT|e^~O5S$!eU|qSl}6>;BA8>)L$%S5WvDz2eeR(Rtx6E-cUzaF2XI{4I$q(-S7` z*!Snn=JUriO!Dv9KwRDO;zdT?a;t&|489#V3Tsd5L~Ze?h?_TW9w#R!%=dC2cUqOd zipl;TL!WH@pr&wB9eX?#o^K7DoY1R}2(CJU{dnz1-x1Bt*{qxao z@t?DaKY2~Z9Aa(C}-G2{E^&djwgpEGAp%R@&;M`(y9Tn~tEYF)U` zWd6)r_E+8-scF}yr=Oeiu>Jg8>*;DaGiTlp< zFI~!TGBf_oH+!|dylvHz`*}V^MMi&1IWJ_G+8F8znPx4_UlVay?=%7 zt^Tg}cdO)$Gr#Um-C6VV(`@tnj72O@o;}-?E*QM!xYjMcmYH9lHZU@`Z1nT<`~Lp^ z@=l{kGiQQM_}m7XJDqP^?N+bbKQlkww#dJ%Y{pV(=kRyyuS>^3mjxtSXosy?(D?|| z=(8z)bwzVhXLq->eO=AjS*AbxkFQ&|4s_uE=kxZSHx_J8KhO1fJE-1km$a!c*#77L zlmO4dr>CZB1}`(oxiMi4+wJZfmqGoV2{y&gcp{fdo97i6pPV#(`u5b*)9h-0Ra8|? zQU#5T&CcJqv+S*uY_dmP-M$S{|Ni|;S@rGh?c&ux=g+k+ztowtWZ#vnt-rs&m$xd( zSn4(PM93R;Mn*<;zc~w%eGGSQ7Z($IcVpw@&FAg3!`I2|ciEQD!piFTrQFieGBGi6 zu66md{fAG7tcfUmb7SN7{QJw8Q>y>``1t5(_w6m2hy7O{uagiGTJ(s|?9GM)`7C7@ z6dKQ*IdgS&`0ro8Hf^`uf8^HI?9Fc#HdoF!&7QV_BPiZ1^HNLnzxukLPsOdg11sOY zd85HeX`cqQl3tnJJ;9!ltJ~k z9IJ`CSEfHdKi@p!hG5QjKTpqv&ApT3R&P!}zb)fp6HCQZtsNnUiMEwoX4M!_Uue6@C(bl^-;YP!R^Au?xBTF-esH;EiKKDbhr=_kuaCbRP$=Yn@z0+>@^wEP z|M&~;u_}FaJf|4n zB`+FQV_I;&pZ(p@ixX8nA2n}x6ly)U(7FAH`aa1k>td~6zMmBBTwD3%gy2m7;|pKp zSZ^ySes#L3si{*~ebPgrnwpv={#lz7?k7I|3OfBIHYVmoL2}l$HInl3{>u%VlGfJ! z{Tgn`U0POlZ+pJH{qsLRKWCok`0$~iZo!sze)&zYO@4`Yrf3FliPD{Wlq318>h0r4 z(wU^5JbALE_V>3(n}epU(mz?YqvE5Iug9i@+L^Ov-P%`M{V)936zy<5J-=5c@(*s` z3_8=|G3bK!Wzf88-TLbi!&*P-!mkC3OOuaIU3$=cy6)z4OI0pJdbMrjzjsVRyJTDL zZMEfR1%2jNO!Pae`T1AT`+Ix4=J7p#`qVV>5X&d$nO{>A6BnM5>bSlwH@Z{oMpJFO z>2=VONmXXwRiUe=ohdfxU3(SOxjwHNvL+%h;?A1L%`evXe*W-bLZvN>*krr8mlv>d zi(TmKF^GuYSNVBa@N&OD=a){^4%gGv?DRXk(WAEV{XJW|2QObn1_U@5UD62!4I~|S zGV{uws;{q7)6y=jyub0m?MMN6`Sb1C;p=+d_k(xJAE;*fs`^z$`|)R4?jy2Gza0L% zoH23wx63=d8V>T`6XFrG0-gAOeNS;=p`hOJXRlv-uSK{(PIHc` zPft$1-~a#K5>H{F-}nFj3$I!BKjK4DWmt54TYLNDz^z$VLAM5MP~TJeIqm#B+qu@| zY8&JBR*B9(Y0#Yg^|*Zfgugqzr|T6zI}^FD=I5Ho&9h9ikNx-ZuaA?K_OAQ)@woi? zIhMr_54AcvI`&GLD(z2I^PS~#-Sf%U*Vlb#o2fFl^U0q2X1nli+V59;DnFkHpD}mN z9KZQ?u{B1Ak9<|Vy}Rnmi-Z3!EPQb$Y}@jUdoxZNd>e6jqb4N!2ko|K6>?@4;j}Jv~m&W&T%8KZhN?78!r+ z`0?GlcYk&UC6f<-OxK24*ZwN8J9%Pf_mqmYH~dbE`@i{H^!Hb3okwEg!XHWu>(;Hy z>HhdO@%y{G>tl8v;y-i#yu5jyjQI=DIi{H=Qg&)$0s;s4KYsXNP;t=r*|oLNrdd}W z9L~M9W#VViqQY895s@SRm$>)Ksr%1+(*EShlMa8kwDr?ZY6bXzoqN2USNa%#$j8=< z&#%3=$=Ch+`TUQ+TaSd}yB%L29p&B>D%%!;PXA&#c79Zc=!gZ z5A#-m&U!FO@zA_J{ouiaDTQBOU9JA~g!8QE_dh?2Kc39sGkSG;%^ICgLSNqA zp5A70^XARc*VmqYE}A84{G0Ff8vWYZ+MhL_pPgO$Uf}KX=f|I0m%eflR(iBm=$uj7 z?!6m#zkc%kdAD@I!rdv%hYuZkF+*wR&Ye$=rm9pG$6geT@~peO%-7_IW#uQ8lk!$2 z9c?Zi7mt}W1?X>jE-ESM$u4p+YwM%x-1qnOUpFkRt77-n z%v@%v9llP**~!^C^MpVt=wNL%NsZWNQYm${ni<#D%={7>cGGY&&&1&OvwoI6n|L~G zgXl77(O%v1>r;HO|G#tP(|xb?|M{4+V#j)u9};`(`R*r_-8AYxmuER`l|C~wvu_=D z=$$6XKdbZuXMKIDzyFWZw5RXi`#T@g-1~Wl+hWD^+q`l%Gum9@_Eb2oGx2(ttDBZ~ zU$O4tljPN2FpsB9wfpr#d6q!p@ASP@Uw;G&O_#bNynd?l#qFCJ9m2i z5f*{;3hz49{=ByKdB4qcevx0tcV#n8n=|=#>?`@&a=)jy&;R}I^{S6cY^DD0(${I5 z7%xg%U43!1Tiiq?Xx3L%%jvy_-;Vk>Pq{YT(9lrj|8e>H3lkJ|qqjYApSh;x%p2=9 zYxnv1`j!?IJvw~9{=Y4+q*2L>fVwNs=hyoQAMLz;>f*)1@9*xKs2_?eH=3}vprpj) zZ0DQ%`{(maxuL4&JL`!0-8*-_e4jc=?VhC1y$!B0@mAK>@|Hy{&s>6nf=+-Av$_cO zckSWhZtkK6hCFHY$AAsX_f?AhAb-P3$j zYj;U`_`+| zCr+HGqO;s9SxhhHM1Rt8##tJEd%}#<&MZ)LK611qAV7du5_F$|QNW^oYvT9Y&HwWC z>rzfJw5bDC^+ zsdyXg-xsqrOO#hqG4J)7Rr^HD-T(gnzFg7sk)Fe@eQ$1U)t3ME>C+-k<$XV&N!KNS zCPfxmfb;Uto9Xj=C#K)oQCMQ-eB}33ms-tzOTRX=^Jkn8*tY)DVi{T4`+F*#on>6J zj|yL(E^VH-MA7+(^}>z6jC6H-RhXHXGf#A!nyUSo**9$Ul6`C9_U<|pWp8agTmD7B zp|4N7M74he`XnVO@y<-DtJQqYwWLa1FXjQe)s(7Q&3&gDPjW-oAKqZRGJV&LpI<>~3m0$x^(*L3?TJ5Ln;bH0BUc8g+MOvo z?NRA5|HZRsZp-z~o!RFc6F+ND+v1?EZ>#<7ezy2qSy|=X*)cIs*_nx%`Df#qySvL@ zz5#hgyY*MlpS_^v!k5)^SXSz{^UM3C>-Sxm{$_!ru-lZP+MOjYgX*R zNkdEH^DiSSt64s(&;7nYVrCoP*QI%{dnY?R|8elu!bfpI{}%td#gMp)_j*dLZJ6d# z`8}cHR#vOm>o518?zCy*-MF#UA%rPM+C!_|~h_R;8~dY{=TUabrnY z-=eLLraIMnzB`c2H~Bil)~UaWPEJz&qrrY<`m&DK-Y>21f*W`YH`uRC-!i!R>m-aPeJ(a%p$|7fUbYIe5y zRIYz@`tI)X$ty+fuHgZP!2!30`>wFc-d8B;o4e>(x3}ld{&TbU3oe^gXw#&3QV7W* zMkyST7v|Uh^K=Gy7IHu6n7(wy`wiQEO}dkKQs$Ds%f+aVUJLh$?AH(Z z{Q2|Z&Eo0WU!VT^`ubUdCHn^=ZbQxx3b0nf_?K)A6H6FHX>WA6hFZC+D}!%g=8abS2I1=3hbEfBxcJ zSiDBo%qPa{RJ}=zxzh}-N3RlhsdxwcIv8CFPOU|Metb-EG}2aYT=Xlb=J|_;1_r53 z0>;1jvRCV`4q16fy|$(%gwq{M_bvSaO)>4k-be>B>1{iTea z?p>wt$@%Whn>n**!=^6F*uO4)7vt4*!E#s27jC<~pv3`|I@bRu|MvfXxAITKCs7oK z7+F}%(8>7t=%|T`XJGBhiy0>(!4unx+=iP$p?~T4@pk{Jswy!NkqZ-4HKMfRG_Op5 zWXwBVC(_ATEJ^#Ts`b1Ni)ZLYZ@T~vke_$U?|=Mkl5wE{I&Akw@RfJ$!m!T=Urls+ zdn5n5NujCcbHjHJViJYci#BiK{`6v!j^j)A{Hv{f=U%-&ed2`2CWWQTowZi!&jd}a z^6%cY%j>>Fj432+_WydNEwr!Zrx9;t(;{$|sQmk@bkdva>*XPVyJi7MMaau zQ`MpIleS-)9$)7P9VY+A@%3r6@V_`+lYY_qZ}CNXA$R;{)tJQFd(BvK{#(K>9_~PR z41GE^RXfG8^!2r+ik{im)+ic#fH&-`{RCavH9-}UYBcw~{I)6ebjArGNKAS6x&`m6 zskDn+=+r9o>)CqVtJDAf{{Ec3?(b7`g%ub`oX@8>YL8sg#9qmflQBu3J_IKGNd9xe|-pHmM?;|!QvGPi$=YD;< zHT$~9juyT8l^JU*mIlNd{rmS%CB|v`{w)iCO$xa^zwVc&?~J7GuS*wg-|VpZ>Lj*5 zKR!N&4$&s`2gLu&zHu*LUp>za^WZyyQq?+k(m{W(A3Su!?e(!|*$0w{N?Fsq^4F)Yudm0&#ns%qdUdPHsmN_de=N1o z*t2H&)~nNfK0iC_xld)5_|j}ujk&*qV(QCZUTSUAS$O8P_s^|%mhHQOmU>04oz|uj zSznv^>~>_q`+K%^LjL~e=gg6jf;4wGxUbOvKXuB)cUzMt1UT+${Wke#f}W-LEt5al z`+n&xtnPcQ`S-!vT^BB{T&wTwIk)jhIyt9#`}nAM&$K91;+0Hq{krr=^{?DpTTY%ozufY(My$5u%PZ60 z{G8-%YqY!k{W8nVQ|oG9K74qve^R~B(y-NQqqpnXhrQfi76Ebjfim5?NsP>F&?%sX zxlXk|=dU&Q`=q<1_~P~xOV>ABs;3p+HD&xW;e5Hyg;!JN+Ait1#D8xUx9r?ozlt6o z>rDwcc{gz;Xl3|`M|bYt?X^9geSKZ+x0~rsn|x=R-Py6-$84>prsktpmv1}@ss8+o zH?n2X?m5wkwKHeWj^1BaYm{=VN75u+4ieUrBKOzXo(x|drmLyh`Rq*audk_dtxA6c zf{x^`Pf~a(fB5j>Os7d-uTM|gH%SETd&mA3%Xu2yr=8!+_h_x zs+EW+i}!TByZh_weSAO{YTo>Jd1rCD-Gv>6k2^Xz{;7lZ8oXq3adLJ(sUa>t-FLRx z#W{sV`{cZTDYWgKVv^D#dTlySweAUlw0C!QO7*t6^-jK5qIJz{{gqdz4;?z>H`i*S z;@8*L{XIMu1U_D3-n35VmG>r>w!J$uPIUbEQBk+x((cUY`r4Jo@87OD9#>MgRXc3W zi8vit`U+m5-+eJ->*u6J9?dK3ufz&pC_4P2FYxir`CAXSbuyP8a=TkG%O`z{3EZEl zj*g8#`m7!w>kYmVq^a~y*te*(w70jnx2sFZKHYxF=I#yZO7GZZyY{)(y}xHW>)DfM z&*s@w7F}B6*(+_nY`-uk50A=c^W0lsK0ZEflHO7AbzA=Zd26~hF7vrtXPSG<#Hj1# zt*xuS@J_#Bwc)^>oyDLIK<(1N((I+$M?n)Ip^vmeS4{|fdTJ^+C+Epirxs8p@kHjn4bo%>aG@($3Y?#qLvKfSuD{Zah9q`JDgz5RYw?`eO2KA&&+ zenaZnS*EMQ*T)^&e(v;iegAY3!TCo{g{+M#J=ny0yiYdy_J>PLy?2+t-&gdMOEz=G zzL2vK!b|e@Yw767SQIEot~kE!`JJ7`#|Jg6tCvSi5pH=FqDPe1)I1ML%|El-*myxY)Y)v35KR>_Op9cq< z%irHieZQvm_qVw=m6Q5(gk)vU@`K!)dC219#bY=8v;(R{L|3fSKU-=2dZVnf#EHIy z&dyF)F~2_`UTWHuiGJ@~^WHq%S@Yn|`XQ$3tIDLCH9xt(vRvMW!W z>-DVH-mw=??o@W~Q%Qchx&PNB&=q2|s1M3#XN)zP!*PL7U@w_Wt~^iqT-r(BzU?A*sEl5ecn?A&)HdUu)bZH^Q+ z%QwsRrQ9g~`1!N);intU{R(_+%CDR_ATC(qosOYcF zX=f*Cd{KSn-KJms`uh6$)2F)&x83lnT^anl%+Js7*?&(p4UG<1<4X3GxAf-h>+3wu zU0m#*xoF37|M{OPpS`=g+a%@4Qt#;}B4)NWEm*K1;r6!NfB*hnT^%lNSGW29yPKPz zH?eY0IhR(rIqj^_wXVz?8x(y{Oq(@pSJ~TJj?HYQnU`AD8=ao2{rvIc!`lu_QuXGO zx69cSVF=nLDXix6V1MlEmoIN_%f0P6S?%tg%E`-0t+s_v5ck{q=TD7QwP5i#ZMoYD zId4`3F21q(@oFD)^X>fhe?FYn-#^E?{N261)i)o#@Nf=U9~u=kYgePDre;b)P>>Ms z$pdkZetv#l{{G(Hw6n7gxh3q`yBB(h_l6A{PEXet7ZbZQv2B8EgRDu$Ar3Qp`w0{G zt)Arg{oUQ!w$){?udR)Zjs1GQ>970gX}UL8%LofQU!D`aJ@2FK+%w7lTDiqfSV`Z` zWcBJ_)RcaH-bdz{*5&UmOwjbYf9}l-MU~fAR!*Kd6W&(j`>Hx+-jpdKzZM(0o(p<& zb+x$fiqMFNA8&3N{|ff5`1r`Rtjz51N?A{D@5T02|M%4Wy=52o)I9&5#;P|rFUD2a z@7lTZc{QL zxUpg3hjlVWDIH>bul}G)<&8Bt==5C*zL>pZ+)_tTbzSWPt(18`7*R1c~IN*ODHEU zAYej&|M^{|uZ@h1Uc7gav#GeSx4L|x)CKMMeSaPw@6QxrICbvqZ1dMwRzChvcYXR? ztJ11}e=Pr+g1vsAn(eFV4V#A{UgF~7_V)WzPfwGzC{QppoqB%B^5y@3KA*qXt+%MW zTs+GAVE+EU$J!YWNG(~qwDjGbpL^HpyZ1M-&a&r zTv-=8``?xwlE!HlBpDA_iHL}-iQPTz-<5l*sj0a)HZ=Z&45K}$ZT%&bGjIBI@wF;X z3yX`RcNVG6=pXw=h>d-H(VLEHfnG6cRoHo(1M@h#-)+YwLky-{0v%k1~PrxC&y)1Uc3e^e6-Zk z>iQ=IHW)N)-(nPS>TFY&+}VFOQfp6s{`e78*}d#ZuuP4MPfJZLeR07tqU!uSTW&6{ zj2Cl*>`qLX)y&RsWo`X>zTj{EH=n@7S5Qz;S8qSZ zJuP6{*QH^rWi1L8Yu{P(m_qY8Fi96@bn+KZm?|kI-Qz7`2TaSdI&H7!XulH4aY=YHL z9Iw1Jn3vwsS@GiHoBrNw(?Ls-pR9@7TlMfzYx42F-240XPM$2x$^Go?Z1?4Co2Mq$ zN=i$=e)LF5XZl+<6UCrY>@$O=O`I6GyDazN%G$42!(lBd_kegONe@rY$cUKEy8nT$ z{b}_%TlRrR0``6eU0i&6dictqR-QtQUHYFNAMbz3V9?+7s|a)-mb%}U@8ADFne6}S z`ug*6Ig%ts{QT^Y)9%vO%dTc+dMug3Z}e(S^!B_rH#WYRdugF_d)3!hrEhLb zRO_*>`C;%q$l`(96L2^s91neSQI?mR0D2#Gg}uld+&uq|wDRQ|m^3!xJhyBmH9 zy_pYA4cWCPZR-Ba@bzQ+_4DUNnHkG{UY%C=pSL0K5RbBZ-xAK~v^3CRuIJ;O5)U@9 z!a_(K?lS9j`ZISHKcCb%RXco{qJjU+E7Sk~zW=}FVP9Wg`MWy{!3Lbs+7zU7}4q2zv5bIRS88pwnzV5++#tj<`9)1(o4qpd4lThBS#$$1+qP6wx+N%Fw zug8CVy)EY^Xa#G>`H7aa9+%IN7c)z!sQ7Vmvii;S8Mk=K-`~5t zuXgu_j?&lH=31ApTd<(ve8h%*Iy=v<+qKWf&rgk6^6GS^Gw09$e?Gtd+M3A2^X_iR zynJK+8{L9mUtaFnVJ|ABD+Qv#zY2?AewS6c?0sGKzI%JCuRjN^7*R{9`1vXI@v+{Ym3en}xjN4Y zUmv$NV&kC)vVknT(q?na^W(Czv}AP-Pt^|pF*UL5%?(HAN$X;Fo8{av;OFPx73FGG z{%%k9bv?y3i`;|PZrJeQ#>V8$>F1~2tIEsE`}gl3XurYZsV7dK{{8iO{A|-~w{-oW zokdSGFE3lVWXX%eVk`B%t2VD*r+@RZ3iI5#bD!RsKg+|*YnDZ!QvF6(x!X%FFZZwi z^n_DZt>10&&0VFh)#ukZJ=Z;V`}Xh8=k3$qJ6i4Ak$ZdFMDvSRSBGbw=rBw^_JJ8Z z|Jin8jlQ$9bL-60Q?-vjpF3yHj-z7AdUtO;TNS>3p24-tmyNBhXQ!yFusE^d|LF;e zGiT1MQLwYC1I@L6um5JR`K@hIa8jSFb=Zvgvg|)R@7%q+v-SV-?Ca}F#LmsJEdJqn z!w%MNGUNNYbPD&%ay1#Q-w9tmo=?y}+P^E??YxCt;p?BuR%aId*!|8*B=)Z^Xt#t< zi)Fnf97Cn9OBE#yQ$hU2|_xIV( zJ-uVg785JiLP0^n6px%79bUL%J>r(7dSFoaX-JZGPq_(`1&|l_J0iNa@ytO zuh_9k#NK8)|D5Vi-`6z7Shcp=RDJ0vano9t_w4cG!{hhyepQ++(w zYB(X4IfE#4`@wqA<|DpKk1YQAi_=r`Wr-5^%bS~@*UP8K%DlS1e*KH+jZ3zF`trr( z$KH@{o!diKht&iHtdFy`x8E{jyn+S|qbc8m7w9g16gdwc$6&)$HGItG@OmUFF2 zm6&C_?AC$q8R=G98@*j^Z`{!?(UaF#KmC%SC9y{T<|fcqtZlasG%{P4zw_DWz54l^ zH#L8Mm0Ha$ym;{<+xez1-@c{kU!I`od}IFARiVoJ-(FbA{Im1SuT3WAyI=h(I?%wF z@&Gik?Ch43o(>xG15Hrl?;;i%)W2f{x7{?GOGG~2)IOaJ(5QX;#gT|acy zPs3ct+Q=Ta)pNy#RrA#6-meR_S@5*&qU_>ho9(mPd4<_uwe;@#XfpF$2Ip+^{Ac#F ztTg_p*w_83sCzTRFgatc`uen0$G9dU}nHvU2j@Utf={<9MmC-aXiHh5p>RbF06-Ir&d( z-+_$0ymzxqvyZ5zB_t?#N)`Y9misU6Ox2sM*2T|wJdYhawkb0wnvuD?> z+qb9guhs2me>Aqe-n4hhvmObP-m?;`ZHHal+%}bGtc}{5vwh#5l9xeGte2R4|L{Se&UJ#Z*v-0g{3&sJ zDh{&y1QkvYv_JUeOG%Mn^tX4(yN}=6n!R}O;+t9ivrIf|G=1{(^E-Fj$lBM%R9wqB z{h9fu;+Orphi-08=byXO!jiobTq!WzZvC}s#`|O?PtC}W>Hq)j{x4or^|EV+=%3_w zE9I;6X1|fUHQ!{0|0bgsOVUoCI;HeoNYb{-gje$8v$N9r`ucTic05n2`|*(7?r}iL zONW=%jZ2m-1I-)s{Cc%|ea1Nf(X)pZI=7z?_;xb>4nG$cH}~N~hj{KayZZGnW2)u~ zT@}K~$7dF416pGdM>ME(;wr4I|qSpR!Ik8}YLg(hf_xJYR-dkO6vW-vHYQpS8tCP2WRRt~G zIeC>~Rrq>8;bki0H}tv&^@WWphN{e_-dAQ!#8lv;Xssd*|){ zpE-YdiKj5ES&_Oz|NrK%$2>2^*6k{NG^u#uk{wUvi<88z#|j_d|5)bvh}ozswycP>mE=yyqS&nN8_1^%I+C{E}5Gb zT+Fch^T8RkNTurIBiC8No<2Sz<wWFjy}i{YDoXEe{rUSh z)5B%;)lKFTe?-kxdwu%S{Wo5(PfwX55+5ILw506qElJ5u|3pEJ71`(?8`ZWypQ0K3 z!zOxKiTKZFXQhKe-QCNkT)|V%ATuN)Ku_zBH zs)`K@6SMs5>(?K4>CmA=KSGoG2IO-)Uclq1u0qkn7!t#rC{|IMe@ zr@wspa&D(|y=Sj`%$=~bDQvasbIVQr-%V7C-rh2;>u7Ip z|8Z-|`uP27)05UjY)lFZ6YKO;DDO?UQIxsDV(D3@`F6EGHcXy;8N4#VLUj89z0CT* zU&Z%(oq2b6cjk&6pP!$fteAYfZ>i#Ay|_IdZL`da| zEx%v-?#|5zXS-L0u1@=Ki{sdYV(*)umvTDW{rizz7ZMO4;9GFy>(gVV{WCr?Ff=fD zx;TdPN@seA{$8hl(pB+zzr4TjG7Z}kFL-Pnm!+MZ#V>ES~l9DX-PrWv@?{>TTQ7xH-#KhZQNcf`wgHqFo_*YU!9(=AOGpI#fjZo+TfJkuokr5re%LP_u1s5^ZzbgU!M8q zV$ENT#7TCyn_n88nKosLOVxx{Zt+V3>ekk?Yqnl{@b}cw?^8jG_jx_Ne0)@lXZ#UZ zw<1!YzSYtq;^wo^i;Jh4h<;W5skd$R?Adc}$3eYv_3HFqY4d57x~y_LZ*vy^`%@`p zq@tqIA|JZYiFKC7y3*IzYVIw3;nml5F4^=%-|N$$@zKSgBNi`C(Cp$fs(PfpBk3rY zl+mKRySx4z2wJEA`O~K#l@i}#G7#zY3Us5hNk8_D&N;EW%bwaVFw3~$@MzlQz`($o z9iEfb*bYA_>gqXp`hREWx|o^s4<0`3{Hso_YgTLI=Cp~RB~ZMcK_Fi(1utUzxyz*b zVTQ+~OTRYxnC_IZRPLUpH|4q%6ih(Z?4tRIMa_S>o0*XlJTg!u)xto#WS-uQVmqY zyj<`tYtoZ@FZ%lW>OPrdU+a-S5wpK;?zwX(PoK`dy-ing(eroj{(Ze3zgc{G-^7D` zuTS6Jp8t8V%#=B-ngJyfE(U*OVNH#T-?d}Mhu~gG<2L93Lyp)h@4L@ltGArnSa!pp zP+#-^#e%yWiK`~<_;2xB=k3dvC+ppKd3csARN9_*_mTgx!qQS-fB)r*bKm{^{QOQz z{z)C9j=I0UCRQ%VU%zHWZemzQ;Qbvf+M!Vf6C z{8e;)U98Igx7+VunxL}uYwFCLvclSv_jkGHKRVK>^7!e~()aglt)^=}Nosv&P&xhi zk|iod`ch4{XZKcrm$I?HC1Jfz|K{qG{Yf|evu2zSab=gZ74;7Yc=lCwXVi-wg^yv& zIMWvHyV5%6zG_LIu6d8x^huxO*P63&1^=xGTh$wsd!$3~Px_TlPfttl@vaC65Rf-6 zTQ=`U-B#VGEejMS-TGuapWWPFZ_f*gsnAs+iit~~x379}@l4^vL#>I2+a@l$sq*qy z(brd3Rq{Xm^JsyjyB*-+lao)LJegqKW-Mz}a^n1XbZrsUqA zUW2PWj|EFSrxkp85%|f_R7*Tq${CfPpIsDy6lrIjYBQ75IA!o}WS8 z2}Q{x>G7aM40YJ<=&dHXLY~q_32g@S0COc;X7l|3x&nYA8~S>+O`kWFL<69wl>NYDK3x}r-7D; zK^Ld>T~LkW(9D}NXO5gr#R2xJZ*NYri|NOm`9E#?v}woGCBG@oX-knXNMM-x{K?75 zU?1+-xpU%%OY1pTzqmMMSM6`Joqw$^uZ`ZmIsN>l48f)4a`C%LG*4>V?)HL|0(G@B zr%!iZB@gP%NJ>hYWU=g2$Xx8!o3Th`Z{6Qnx&PICXMK2mAp8D4+v>g&iR1fTpBB@N z`oO&Z->>Xh2Cf$!-TaRVi%iL_t^EAVw@xnY{=Qn+f|bny@voBP?~7Tvf14q^IpU7@ zsmebUdPj7>?6>Zh_uuC=Jwaev+KS5`Yz)FIjUsa1=UQ*rk9Xu~w@39$Zl$1D<5a`W6b z51z5)P}lk*t|jN@7zt;_fv$15vl(>C*7N$WPp8L=$$NqJMx8g#%*-@N=>nZD)7;(d z?dQh_@!9V!F*^zx+f-J*xF`ZTvEh07gu-~)rC*=+$y$5->(<}5K+)6d^=YGdgHznk$W$`6j*A`DazxD`l#ZH$CP4SJleYoA*3~muXm? zc(JmgscF+%{l$wG{iw9DwN?El1M$x6=3k%IzVCD8IJ>wyqh3@!;h)I%Kh0O2TRs1L z*I9Ua!-~?^*FMUJ&AhzafAf5C5s@paLc9O(Jh@(gjfLey<+BS5olR6URaINhJb3)r z*%{RQ0X6Cm%{I$jr0A(tW#Y=lD|O_2{NAe4m*2vc@7cGf;33n=>#M{2+f+2y>Yq;8 zti4wM^XJb;w|~})-&d2Aq}1EBA-0caj#;i0?^LC4cWiBJPH1fm?|pVp@H%M2)^bH> zBO{{|UyIjn*mq}ty}kW}T*+kd52kL26e%eqbLRZ#lj`$fD|~dF5eu$QK^9zdifdL*oa^w->39+rcu^w%Ux>^Vi?+ z_fPVuWh=OzWr~&;k~2=@;q`oVb+x#Cj9>pUj-6eL=DgR}UaN0xY<%?lEw$@5Q_G&6 zku-|gwNGdA*>zj?rL2qHt+vl6eYxLUE-tQ&Eue9ye@5Ir+qakJ<>{TBs`Sz9{;pDO z-o46o&rj`P{1qNw>&iAQsy1?6jO8qYM^{&er?l@ce=o=D83e6^#a8Oy-k$F-{At4V zD^G6TheYT$)~`?ZKb!Yw?tA&!Yvg}Ej@-%n?8V>Wm>nBqx1CwEd3wXaX70eBie|R9b7LGfI5x8#3cvXD#ogWJ_H!%?AF=R?E?*I;@I28lbamL&c;mJ4 z`{(gYzr6V5^y$;xpUt-_)#B~cSgSv??Cq_Iil?XRFIQBK+f$*q?_zHWw4rfQCvMM- zo}{Mc=1jjO{`2ipuFNvc&R8Mx_w#xCl-g_SV!fT;cbu2IyE&bow^Ju_Q%g^g#>rnr zH#Q{J+`D-3;uHH794AyA%irDc6rKcX^M=?sHtzZbS_mn>^pW)^&<)N{o?Di_5`is- zGP*MT|0%5#x!e9p?>o5W+v)J&zH{Q!r~ZL%xOlqT`}=&hIo_JR)oL;p1r7iAyb35; z%%7f~{&2mYpWn%oCrf51{`>duj!FL8dwXZM_3WtmxoPoYW&3Hh6U=VbX=RCR+PwMn zRBiW94<9}>Nk8%G>gtn{WqhBiOn%;YHSs4qkA#D>(xYERpP!vI3AuBqmHXs`s;{q3 zz7!4)4)*k3q#heT?POYbc)Xa1NX?&*$5Rxl^+AL1CQ)}D9&SImVpZtsO=n$;m%7Hp z=iS`Y+ICMcp0D(zknr_2Ki+P?e`0s&`X{eWA2{G(^aQf3;M3F7KN~ME_g~KG32H%W z&0F9QTkE+l>CMZRnV;4qZrrlP^qp!|LnDU zueC+_&7bo<3U@*_?0mYu`-=S`y|>FhPviNfxjpUdtUK!Wx0|1N_+RUP+}`PWu}Vwb z_Evp0GBV2WQ!zIWuklK7abY>zsgWz@)+^=uDRgyM?T-(NXA5ua@||NbvFFm{%ZoLg zvh2QHSNETHK|tNqbgO&6+#i8w)8p$F?tJv_?r!yWEa~UwcorX>Yg;`n=0$))Z2YTJ zNt;)%)}Q(M`ug3wcTe7!V-A}9?iEw7Q>>}2-Mo2ork}3m-%Sm&PfwhR*;g~O?Ve@* zKO0Wa@Lik5>1n#gH)5@(q|{p0|En=_c~leh=wLJZAHMugUAtN?HTU>k6&6{sTL0+( z5|z(f414VV{b-(_`02?>q|sWj;=h@jb{y2PTE40N@K)tpIXrJ9O!s|VX883w+m6<6 z;>Z7$m)OqTsKUz1`f+{~=g;&2qvYd#s)zsn`D0{koY^;d_H6IG$irK5Z-FhPT zHT(Ly&e^-wd}rO+Q#skK`_JF+_kCxZT|FKX8yh)EUSqj?a7)eUs|#Ojd%(86*=_O7 zO{v~rUtRUQ=Xh_b>d{p8%?SsYn$@FiYk!s8+LC#QbEj_977e>|CAE>iX2+J+o@{Ap znXu8v!GYnd==2#gH1<6$Ki(%RZ(HTE*iA)6B_%cW;{1Jw4w^)@Wo|sZwW2lw0ZN<-nWg+>=}N`z5V>24SNe2* z`^i?#clY=E3m?<8J@F#M7L*l({>0Y({QpKp;r@l`EA~Jp!*fJldB5@uJNDdKtYfw3 z%l6;?%wBKzcsthA*!*8P_4(Vkb3q4)NKBtN@#2ocWFybZ%Y6U;`<*YP3%dC!Y;DxU zJ=3RO|N8oR<`vNJ+6=?w69UK1p3VL8;^M`N7tQnU?Wz6!ZJ~4fjXEd2Pe1OK-(R_d zb(>O-_|xatUtd~!da3vH7N4xFtcr>qKbWR8b%|<&_KwWH+F)J&u0vY8eUbOGjinaV z-*SqIigI$^faW@TBp$wesmXF`y1swj>n93}_g$I#E6sfQJ{=vMHy0K%OTJTh9Q|{5 z`FpYLTXMQt+1ZybS#qId;+{Qwf|vX0Mr?5Szee?($K6e--F1g%r-ZMI@hm>dD`C*Ulc@iT-~P{mdu{x3HaqJ7|C?u9-NrBPmzN8=XZ5`O|2h9X zPhOp_bKre@)%@CTH$kTRDMPLzM7Ny z5B=s^T?DVTVrY2lT$|Ytw!C*o)sBn1Ha?nl>A~XD(;}A^@AckjmV2u}zWTp$_OwU0 z*;Q3kBy6-N)auCFR((0t$~|2t^3XpS)2xtYHr|XCD=yvIAD`E_dQs$w6DJf{8)b5S zKY8*5)aI)E{H%BTcJuulpxvFbOfr@3ZFr+@oPJKlKIi_vS|1;uqN1XxD5=gSIiJu;R> z|Ni{Ud7iF+^TWf#x3}ebYgt-;UAmy?>8bddk4JkXjlaCt{3idXp0hyX)k2?t+(+#H z|4DxH`@yjn{7aUG#Tx}L_fuUg(-k+Rp@Cr=tC)VAjEKmQZ3ePoE~~Ga<==~uIC|~! zgU(}YD=ki}sBWry^~!r$_4jvw9BjYs-vc^$a{Ku$nU~Yf&+~2HyE*HsR$W3#i3zM; zvAZ(e?P)fb(&PTGH|5@JO`5P{Q%XOV_CBc{&yO>IfAr!+(3jWi_kWrn`&C9(7IZeu zVxv1d3Kz%ittzpS)CyTq@Zo`@)!ag@S*)=aUxls?>*bkpVMUyqzf$>P&Z(q3L#nlokBub}W(`&WmHqqM+egu&Czq_)H)XMFx7elW{-QoJ3>x{&@;*K~`YUj0WcGHik$}Ppf!|rahFqV{$;qi!z9(*P)x|{D8*z8nL>enTd;D0ra4RG; zgGSIVZF$qQ=dkB=vsmk0FV1XR@L2lB{Qbw}ZL9u!`8mq1i=8SfGsM1t=2`V_r=L-uU!zp>Io!2>nNvu}l!N(Y zpJQTT($3G*y>m|0!eWM6SC6#$x*vD0G_i6&*|JnlPVV*f|JAl(SHCV@Ct|+)Cur%t zV0_n6>zJ)7Pc@_wS!0o&NIa)2E&Lo%F(X7CnvKUBkVrx0*9I zw%S1&R5`M*yl1QH>Hqujm|rUB#g~_t|Ni>} z+Px}drBj-~hP|MLvo*&TE^-fk{^)3T?5>iB(^V6si(gz=2patO{PX9}9P7&~nw>$T zrZXI$pPz63V{5Rjy1IIOeSKZwvn$hgUApz=8EEmMc1zd#?JpiZI;6Hd(3wxp=0sV} z=3105!Ip@~Nx}!{>g~dO33m0WyU#BId(d#BGB^9;MiPb7rke|O_ zGkDpO<;y=id+pqpa_Q2gHeTtpH`2d^zAp9qBKxzWgJYI~%TdQ;bJR0HnRHL(=IHHt ze|T(~zp7Syf4c6Snr{x9FA!g$pL=h0`1(oRlPk+6d7htde}8ZF_cf85*?6U%d_Q+# zp>z8Ad9t#yf4{s8wsP2Z=T6L~bC=33#gmQS+~04np|PU=|G!_N(gq0!_EdiEleJcR zH))I8rpUQHdz~3a%yMsq ztQ7utX?^_u9Xl)z^I9Esc-k$l-!{ws*9+wp+X^2aYi8qRiudyKJGLz5_lJ9nPEJ<$ zzY*jR7A9sU#N@ine?I8cp{LvHzuip#aC@Qc*K?b~UtV23ebr@Aorr+-<{LlkOR+ey z<1_O@-kVJx`qQ4gxw+Z?-w)-Ujb6V&2XZyD^T+KfdAT-v`-YX5IqwGKPTo`b`Ox$v z?j{8eFzQHXeB#}tz;WoBin{uAz1XPG*BMJ6{`>p;=F&CXVmb%JSR4f)$dTpbbQVW} zmb;d9e=Mrk{8m-z>lS^<1tx#6XTF4k?d)DjZD;Obw~0r>&fw(AL)W z?$%cB=sj#pmM-1M?sIijsCV6ZPO$YHO$r?htzZ`@88p0f2z|#TqM@*vGi`!l$_at3 ztf!{y|NrqZIS1wl7QvDUHJ$=2jx0RF>V6?#cTZOLf7IVR*Wdnc$j`U$_kO>(xBB~s z;}93KI0_u(06W@6!La_{pO~FRd(VA($}V5?;l)MeKawy*T_!kvQgswy5lnb-Yalnk}-U{=c1> z5=WClocF(fzw`h2x5!9JN@i5;Eqf~k7H?`jbLPyKFC~B0x4c#SIf8xJ|I(<>lqc%Kc7f-xc!7+nq7f1TAw;P;OG-cx0-qt)2bp$;sqnJqP6l zivE1P9-mPqYgM8FH9Y!(dlPCrS?rfAw)EV`!vzUa0ZmQK_`08} zXE>DIdJfDNECPq?$Ec5QZW>Fx;uh7~l7HXsk7Q!9$3B%m2Nt{ci={t5HC6k@iQ)-; z&v*oWPAcz-um3A5?fLon{Q5<=w&mUJ>XkUaIng$T-|UmNO1#j!4aLv>o;>82vpL}Q zY-9cLi79VyZGF+cWZAML<WO>ufZx@ip(pbY8*Z!yA>Z;Hi z9<$Dz@d>&8>FMc>g3R_it4&{RW;i*$#rnhJKS#U8H%_d4bH7k!;fLl8id{9FkgHlA z_jB%c`lR}hy=Kj!hzl2+`Wq(b^UGQt5o44x%jxJ{0_s+;di(eL{o`&t4_Z#h$%sn- z6qPTRQ91!SFM8ttH+Of7OV2$1Pu6`>`MpZ^zZ2~L{a}`!nf~I!!WFmn|NF%)E!d(u zY4YUktE-moy7uGa|G(y|-u9Z`JK)CiZT=pQeJXbzzFxoI z?VoY>HJzLkx!>h7o*I7?ay-1eyecYoJhEK4aAEfKbw|ZobQOP2`oL^AuV42?#zFRz z)A=UpcV3r1C4U4IX=0g~nez32Hogis&A!%>!Xy2c`Q-E@km-$2ybVR_1iq!bytH)H z=a%+%brqEa?n8AGYCL~1%AY?jR z9CY}!RAQ1oXSu@9Af8tFmRw20q?T9qtXv{H%HB$CQ^;XEIlV>x!^fH&M|W;JkA0v5 zY0tfYe+q3+yp|CkS6f$wtYi|F zF;jZOg3YKsc0ZlHyiWB>n?Ja&s;c_%{FlnwC!lGxxP3K}w~i~P3k&XJzhfQ0uV$6| zNse5V_%6ktlM33eyMtCdK0Q0zoL|nS;`uq*KQrw_>IBN3{rdX4^3#*Ry&7t2Y|#Q` zO;5ZJ@jJ}eVQ&5X{r%%^^A0!liPcP~d1)|7{~+hY=wGp^4mS)Ys4{WrKjr`S(&EF_ zrCw8$k}rT$^~=YqKR?~tn!Tdd$jE5JME{5#1&N(Ps#khnHQwHypRBATka1~AXO-~5 z=cy?f|4&V~>-(kS@JaO{U)&`9x0eeOHmwL)=+wx>dPUwM^^{1?68={Cma{VrliRA^ zJ2^S|&9mv$<+$zeNmcLw&N^#%K^Q}TOM;%~LT-~V6k zufrsL=7~RkRD4rg7qe3+I^$vd&rAO%)OhY_p8mx9cfrF$tY4VlD#YJnH$TjO=>49W zpPPJU8ohc8I*a%u+NcW+rrFnWZf((YvHbY)qtSMUHqa*Tc{Y|-R#N+xrktGgLG(j)JHLFN60`rw z>2bMb|4&VS&~ifesj;)@j*U1_rFdWIs`t2}1a#xAwtpFLDmcQ%R`QOY^&ErZdTLP<()k%<^R9Gpd&~_LPV}a9&&AFs_5B&=EaE2V&$p>;+IRQL=b9gl)@5%R6lJSQ-rm}}uy9J?($v$_E@&o5 z+~1mg{qgbs!j1J6A0M^;+FR4a>#SEC`(Md2tm2Mq>MgE4+-d&hSr;m@zv}-%c-{0F)`Pr)U)smk1sxiW#furZ==4PLjUm)_kJHf|+?Lv=1W7*3~ zta;fhgO)znzyI$y=}mzR_38QdCn!2^Xtnz{Ro_p>aD+K03A_x=3y`Fx^Tdo*+I z)rHRNJK{5#K*NE*V~vdVE~%;f`YLqBk}C(f<}9iG{mnpdcYVT%o14>@`^>zwF4p=e z?}AUeN?)7h-H~|IE?@sgu;$*}719=EZzOoc1$a!du6TTW>orwNQ<<}8OYm~P)`{2F zv>$%MS*+1>&x?a=u3%ck5AH4eXLbfGv~FC-Zq3JU@uZDcT474-Mdo#qQOr!t63NGV zrOO{3;mpxxwBJ?bvae+S;~kH~4gRdU&wWw+SL0&0-lTP};}ax~iw6EUs8Gpn`)-j@ z?$ntxcUFIYH)F;OHQ!kd0_#e&XXGwS|5&_{wMO1}$+BhZqPDKezrXJT=;Dh12ifJ1 z96h>`t>gFi_s`GF4Bp!*U;9OHn?er5$?3^1a2O_d&KRRimIw()Kv5Q zxR6e+lyZR!&U`CxOxKB=^jGBBl{a5A6K)hPc8+CyHh-zzvX8ndcg*K1E|C~^3 zwldgM;ki%7szhT|SkTLcGxC>KIkj>vd^GFKTx;>^<%}zt%%(oLu`zkaqBj*MU61Cn z@){)`YB9fGBYbm(N!AsPP2$V!iXE0*S>`LvF`;1Ze}-Zi9?i7*N{2Tb2xH1yR>!jc z#qRg}9?uqhCl!2f|AD6)K|RmIV!wWb?=zXR=ZM1(L22peB_4tyom_Wjt&82gifel7 zhrst3ug-C{>eUtZXh z>K)T6W{`Ynk0u9)=mG5or)S8ri`d*KjF@L%&$n@Vf&}BMYiqe5YUpVm@&2^bTK0JD z{-&~H%Y+(|A9QK_Nw~mcAF=1jqDR}B*chA3@7IdoT;by8w(E1xh3|&Uf0SM{vvP~M zu+92+GH89A?Ntl+KAANA&JT<#@vlA^8P|Ti89RTi)ZFx<*AqJ9Kh%Hn&AXiS_kZr* zti8sk84k-_ei@gTc%;9xGcmh?ktzDm;knl3N4g~Zr)q_Q>S1l6N9Ss4{{5-^_EeMc z=clK^+gdjXoQQgGppkj0_w=;=9&J%uvoh^gh%h&QdU0`aWvYuXht#A=lYT^An^N;~ zb{c=o&!XSo-Zq`-T3Ye(k=NFFQ}riLo_u?Ie!tz-luJuIZ)Te^%wd1Ww9a+@zS`f9 zw7xVxsQB>U;DpLYQ7t?Y1`Od-=6?C|C2+A@YisMnNxz<)pI?7(Pvs6J$$8zO z9!cW@QN2Bi@m1$tS#wz*?>tlNcp~%+n+jL(GM|YuhWF}zzg2ecd+_Pkil%$mr_m;JB*hKhH)#e%}$dUo7itDt~>+oEiPTfcNpKL~gM|{Eam;Cr)IPT<>$_ z>SA~PU~QgDmoDupdD)bGae3X}Upu&J6#`mVygqn@3eUXiW)SWa{CLtYhx1L6H{V3D z`Sng=4bQo1y=d-$8Eau=kvo& z`TY0yHe`Pk(2v{WaM1nxySp1F3d}ghC9Zeo+J@BAVmVJ9Jvi7riQ85{AZUHePNDGS z{ab(Dcqw&F)!jk#gFJWR8rC13jzTl86vjF!OnP@?qw+dekDHrP&GYVb{0ofR_a$;O z`-&P#adGv@H&!^*-`tWpnf>YM-{0SJi^VDxJvkvLFWO|DWP76B|B0KK^)B>4{UPvaYTY)zf$JPkYojKeF) z&(H1XkulJpee3tpU|ILn!)?58m>DFG^-8yAUp#2{X({_(Esdw%)ot=zaixKKw^>zx zTl44Dn>#y;=UW!Dh3g*qZpi#&twZnCFaBa%{6RNNK%#I)yZ$`0SlhPi8b|97)n{3L zZrP^x!tU;_(q!wPdwVM5_f$0Yeu>;&rW-Az)X>wzlk;TK3X|j`T%uY$l141c9vb7pV!zZp~tv_$Pyj9c@&%&3i)Z(((y+7_v66jvQ{T|*9$4VmTu^zvO2FfQLUXHr)Bm#f z_hiqy?U|>f8UJh3P3FLTEs@jis=F>Ndwc6}JAeF^48bk@PmCw{Zq)Z}X>VU#uAy^! zy8k>I&`B!4$_)(`dA;*6O*p_1Vy2_BCiC(#0|o8va(i~w|NmDo`^rUU{d3NDc9nLA zcZ)12lrqozbJqNRPch>~&u%f@1?DT+n0^W|U7lr{Z8Y^S|A&Wtvet*LYE9=YXL(e8 z_IkvvZMm~&&g^`BwQ;(>qOGvKrTB^IpP!v|KDKb-LV+*;e?0ClILj@j)6v=aFkJEA z`W*$1uYS&~{lw1yYbyI^_IrwdRpS@=Cd;f_T6Xc`#R+UH_;{G>)<$hzuvvp`-$ebr zZx_wV-CF%U?`ygjQ*ZO?Yv~UTG_J6SG3a3qUgpy%&uT9jGx0m`5Al=c>J_4FNd}HZ zPcH-}PRL>T%)L!OsN)mp=A&gfpvz%qC_FnqpWmFr%5`_y+Y8;(#18TM{xq_+jm_um zmou1hcSj-f^>s(@>?{t9RNd5My}IOc=H+FMKX}C#{Ijy1$vJV(oHdsGRxy_tj(m9V z`P3J#`&XCw&ejTDwIZ>{VPDHk!C$W5e#J5V1+^RvG*&J)KeKICw_?JHN$2Bjt`>?2 z2?_mpdiCq8tH0mvem~`OTf;WLxmG6_-krF%Ho7o2>W2HiFAL&Xm)2yS|8V$at@zcP z)!O0fB=Q&=8yH!_*Y?LJwcXoWy|_N*;un80j>nOEMgN`4-{bv5e3Jg=!gm+XCK>O} zSUFkO>+HLTT*vRXysJWEZ>&A?=3C-M-HOczt$p`bYcTVC^x0qCn$Y&lvG~{w!{iOE z+3Tz7*1A7EHT7$nxJ1~Gl^RM)Ol?Iut6E!s{&;$Nx@p!GhoxE9*VX>}Q>&?7RPfq^vJi3O=cpu-NTf6|r&AvuP$1Y@I@mygtEo?aApKJ9fDBN^Sffw5ufZ$28;g za}IYn?HGC&?A&l-!*Rw3hdpxH%P-xIwbs^t{p9524_A%WCmi0Ixo$Vh^F~H3O-)Ym z0!Bqvm&^$&4Tm3}|F^L8^|cj#91aWZv+|6%1Nn}${s}9e)x1P)PYtLi@wMLB$th}U z*4Cn@UK|4N@9*dL-JW!m>j(F`qpWvguH3rt6?C0!3fo&AbJ@sOPvto3E?kp-=$p9h zamD%dcWi!5p1$IbQvAF7`{i$%XI^r7Um#cThMAquA#8Ky=d?eP?X%VUe;;uDxvfc% zXYVquy*$4rJ~Fs4>Gt;g^>KTxvL6)ms#NK=J^21S^Wq}b{gxJIHYmIGI83Yk^~Eu5 z)(5RKS5^k!tk1l#fU!hrMrdNej>^w!cf8I%)qOGX31|qabwa~r{r`VHpMP|;dvTC! zm&nDMJKWbd7d&*j7w4$<=fV{I-{0S#|L6ViP^){d6zhK1mxsjl<671ox1St#-%6Ze zv$0gck=a5qyGk;@y}4;rEL`HSc{PAc*&sVG9&S0`hNy{v8$Y$ zpMQ9G_^RyQ$OWelus%OMonN%kQfl_A2P^v?m$)wX@M8_XIOku2jbo5S&H6Ks<7S_j ze($q(^*kFnlZWm6F;nta%UYK$*m}lb`Qb0Tm#eC(tgdigbiKUHH2^6YI|iy}5A<)~J589&tb*!O3;^!a}eww~ttyz9#yvq#63 z?S1{`ocSkNZ?Wz0vl;)-b+~=I7tzcqEB#h)&Gyqq{AXUgxn%HTciJ1Kk5<8dwG);J z_O}&;Hna1)E!7HJbK-S|P1^HhhC2+RjoMeHsD$Xn?_0AoAVh7#)&otf+=~`1`XaV= z!vTpd6a5oggMx!M%DNX78Qn?{Y^(n0*)4F&;lT2rMom36FCVAz>--ejb%0&IrlIRV ze*5hfUr7bSYj^(LpH*|xZp)du*59{eUN*U3`)sPEjBnSX^XJ-Di``C5e|~Q6isqJgpAaM;7;Ozq&fSy@6Bw0%M!+ zmp?nBwq`N8KQa~nXt5w+@}Gm%bx+g&B?$i%`pWkqu~B`-A=#go%=J!f7v0UM5p&?* z-`|Cj*Uv<3%ZXfeK|AFWuSe?t$$yU+%s65i?;j{(mLriZBPFF(93&8w_&_?;QA{Xg zW?JE{Z)(Zfg)i1mxT^f%iTA&Q(k_Q)39dQy`T633{Fw#w?560)?{n=Id&pF@z&zpC*Vpa39Q&OXg31$Hx{139I=WaEo$y`lqm{?bFitv*%9NPvm-^CK@;8`qjriy1MGdAtBHK0OB@H)gJq_7P)6-X-%4+ zFz3$ZbpCCZlMXhq<~X*0X^xNk5Y*AtC1n54@yravW?jCw#qaJ|=1h^@vOj%w*xC)O z?Y^Jb^?yzcUhO^Wl>Cp~nwRJDK4f>^Si`yRxK#O@8-mdhN1>@?s@Lghx~z$uUS6_? zbk#zBeR+9UtdTLs=HNkv=4;=3Wh{lH3l&7&mZqHrZS^>E&FaJM@Y$t)ar=5YIu2}J zX7Y!vW8PH#`u~5+w`hAuM9g^dd9CMUwT-N@MGx8a<5xX7IoW-|Wyh-X{IXT=1y(HJ zn`&L27i_ph?t=S|?b{N+-QSqZZf43UHC^V?r#lCm*#mzl?uzbz*+=U}4n&r9BQPkF?CUYhr?JwIkjzV=ip(=3jA{m)DbXS#;`>y=bcFH&Fb z(0}mNm6grV1R=38U2t{mw7J(`{^vXTscPx7`Rk(FHgi2|KfUkh*4<~fW?#Q>Y`YQf zq5UokEEN___h;movT-8c_4V=YulL@+cr$wP(Kj_Vm7h{l^0jmv`1?|rBJ&U1ryAYa z%_5|}#gWrw>zSx<);LL%Df+ed-~4f{5<7ot`qu30Zr?z&cy3lHsi_P1z3i*``EK`n zsl08iWrvzR9=T9?q5H8^v6_>W3>Ql~dquBDeQ~>#Ic%WNw`6S@CyK)z?>_DHXLYPr{j9Z;CsxgmUZ?ix zeZg$d35svMQ%_AXjxruh&SKsC+3?l@ z!9^)Q&+ealXI9NjhikVFtT`4Zv|wk({MP$lL93*0c*xhaXFC79^!==y!>6Z5yTvCK zUR>mA8h_{7VP*Ax>lohC`KpHx&kxJ5VAF_-pR6BmxABdVvzHgw{%8%Jyc_3i3W@`_ zs{7A7;`VDz^mabc_t(}+n>~8Ky1x8=ZTKe#{;6+oZ(r=iBcI0bK{w+?Th)fZvYbiw z6^GZ0+&L*fC#w9i{wLL2CpQ*7J+&+?g%K91eAgqDYF;#*ICI7&+QGr8qj%F``}vbA zg+XU_t(fv~wZR^)$?E=co4K7YM6$GUiysqnW0_FHIg!oE(?B1{^T653 zDdpG%PGPkLO%K#>XjluY`?`L_DfbIj zS~Q%?YF~d$?B>VhGYq|%5vK(HSx&flVBQBUmH2&+UdMh8eQId4?dXTS_8*v*{y6X7 zIr&Dd!QyNE$L~Kh`~3X8d+o`B!hp}u&PGC1=^~ ztNN;CG%eEqT$191uV#N{Gp!C=d&uqP%PT8|wUU0U=smio=H>J>eubZt?u%Zza!X)& z`xEaOFSqARyp=!w{=Z8FoXq~{*S3l_L82@___Yv{nA}? z(q8aO$e-lMeP3pFf68SwmFNrM%IMzf)+?3R{bs@RMDM9ut-4z(zP*u@%DT2Lw!3%J z;nfC@PKHmOrW?JVKD8T)&eOZm>O63o?9p&$$;@=Wp0xa5mS0b;0q67dn41ZxWDuX;ITx3>u1E!a7Tj z_j=z=mwjK_;x$>?YcdaiIGhe@AF%A5^vdiO_ow~;|LSi$(I=nG=FI8Dwr}kjI}61< zTqmcWJF{lZqs_Zkol1T@^>0OK&@=ybU&AcbpK9AZea$NjFY5?IEqt>p{rtQe9S`5# z-Tj8GSU@{wZ8aSMCp~-HI1#1Get1`g+LC?ZfR13Ax|R zRZF*~E_r%tYO?mqfQ3xkE->cC3&_g$>TXJ&{O6!_-O>ch`hX3cH9HF)I;FfX___IE zQKqxb>FMB9tg?MQt5=Hs!vG!7EsTq5^Plj$xN$Qt4BhBjHi0X6MS$YR?hmsTBtKde zva(6H=fTs{6DA1QWP2TczwE8!&q?#u)coi5^tMEB*jN1Alz6ypQsA{kuH6BV&Oe2e zo`3jI5V9)k>Z+>r^wS$EJ|=}I7X1BHnv*UxgFSHW*H>2$ySaVf58y5D`RH-n(UR}S zo`*qstXpawpPrh!(X}i`DZc9PdXXk)(16uLWAUfAv!0!qdBdYU?d+_Lth`UX?T_&+ zyY}++!RI1v&Q=e-J@%Ez?Je)DeSiDVCGV%_|I5yk5WDTPR{i0!&Z&iyN?u%OeCs{o z8+ROMqgZn9*KapnrMMEZymMH$9Ckf7$MPtDn(x`;8H-aBuCI%|;nC6RaP9VtsrvFZ z6%B7vujq+w{19hc3DkY~wDga(=$<@{$*&i&dT}W#D!#q7)wp`ioc8lj((ueEh*69w zl7G^iIW>=ta7u8A>%~~SliyYH@=)BQ!yfxU4aiOJudEa{6G{T-HukQXnbW4Vg~>=C zG4cMYAjYT#o|DxktzWl#f%_)D&$~l2K<$r^wXJ*e)6UK5)RHt#<1stc z_xqFT{tZWs+TKsTrC$GGN4(|-!R0Cc79hw-)Y8Tdn^y)5*9=G(qvthrKl~OEfiIyF?sQBM(HY`Onj- zxY)Hc@9wS@KMpi9gRI{e$k+K@sN&pQ>vk=}p2|D#EkLJ%W)}#5yea!_qW;`@-?Up7 zOw^xS#${jga?!P0UI(YtNNN~1GyKcD^vXNh@zc`Jvs>ar&Tc$6DQ=I3=KtmIF5Sxt zbryd1IR6uiNAro9#><~MXKoSm^ndlJKi%+-wX<-Y?!#lf(i;VvSN@b>-8A8%=R3D0 zNs1G;^7PDJ?B3tDrs1!fWl{(M;49hIlO-1DbVKoT3{pL^5U`D6~bwftB3X*3}$-fHW!eokRE z1!;->hYlTzkly>HZT(p%AD)ue*LbfoKejMSGBA}_-pl+?JX#`Aal+PP({!U*_-(qy z_4y9EIE&Xz(VV9LGv@T0%t>iaz4x0`FE}w>TtCib+CklTCQVJv2^=r?7A~G(oPKV` z42h4=e*MWddbH7L(y6K1i?b9pj<~ty+}_3;nzSQ($L~+6H8nQT&DMMVe!IQn+nXD@ z^#xVu){Crp%CA*6S-v(frR zuFkqg`?wx|Id}4L+suWa;LLd5@?e_&+;!%wpPiW*yrUp7gmY2u?QM@PS6}2~=Ibn8 zn)2h*Y5l;h(q=ga+}!T$D&-DMk}%x~3Cc;6CVdb$xZ%661mun%Ertu8dM~#<#2>$F zg>`PK*FK&pGaMQ2hZQW}Ao$SUV_%7$?e^%aGWTcR>;n}8Q)XQbT$}aprR1uZyp?Mej&@d+5P*6%;h&%T!FMoMSgyIc6RoOOHM|T5ucVai8OBc zzyGHHItS2QQhmNI?cbQZr|TVcd$uxiv)Zb#J%87!{Skh=E_Qd);x{|=`*;cGmBIy$(kGTae`ZGl**rSY+j!#F$+Y=_g8oV0V~v;{2HOmj8lHIn+v~SE`fDVI{U42ZttHErottO7 zyXNPo6Y%N3{~Q-`0wvskkz+P zcy|9i`^M|4ssH{|JX!u>{y*Ewn(JqSf6TUFIpe${Sk|Uuf~mviDG8IMUi7Y6>YOy2 z(-$-|_sX*5g#b9wySun3BnRK#YN5-zDXp`=-@Qsc#!SVdO4@AZRDIB`mTyugg+f{_ zwgFE-X9}duw6CwrNpVp)HJwY~SmW+%D}&iXS11+u)%k~Vw=;bBz&>knU|^eTx7b3j zHXg~Q-c679)qt)B-o}=2pn>tm3FjMT^#KLPA&Gw5RDIET_Vsqf&(3g(YAv`GGEFD4 z>2%6*a6MSMe67#P>3<_q~*b%)w@5Tum&^YGRV@HoBDk}>K3kRyg$`OSu*NHnH zMrEG95w!(Yl&CavsXy;a&JDS_@#ikb zJtmr;mp|Von59~&w%yOu{QH`SdG`PR7~9y)c^kgB`g@rD-R=4EzXe%xldf{=ww;=) z9bQ#sWoFb=FZ%1++UOe{2d~tCS})4Ug->n7m?DD@MEtxKoxd?YaDhYPWOe@}Yqrgw zR8zuE?5qC%?uJJPtTb0;uxFRFulpk*&B+<_Gl+FvyZyp@553l|kKf<7HWswBK=S*G zi_Fq9+wbo`bm&>kA2HsxORIi=N(~AUif(p3C%h){^B>2fP4Su$r{zO(^x{|L+}g4- z>1fvqzxHg`c@?|1tHuAia^_hv+2z_>1Yk zc|t4C*sEs!c^DBl*W^!dVx0KaN$0~V6Sn6t=HA+p_&fC9pPyHkEDc`n_s0G2udk=$ zM4IDV+1JJFZ0c=ENl96-*7?(ulge=i^Rn!o@jo@Nejdq@;(Ks@qL$sx6Pa=QTDT_e zjf_1HDRC5j3aKTh>`89l`B$mQVPD7$t5U7~i=UpDsJwA*_ly}5DUthXDsxigwwRn; zxK(q5;#});x2YZG2MdatrnCMOs`!4l{HE8TLxf zFK-Q5Qvd(oil~I6U7|Op9Gq42^2@?*a8~zTA-2{@D|(xb*(U+Hz{DTSS;E4?8z)X+ zn519*^;K(+FQ=-X_rvzPPrO+>{{GneGiqyA>)V(Q`T{NO?cMU3Cl0*l%B@%->z|XO zvx+4xH)o1$f61I>zOy$?WmxV%|Crl6g@7mCtig3lKg>EYoogSDea*8)@3u_U{CP=I z!LYfZ-~Qi>wZeyVb0DEUvEqNxizClg{kV}(86P)St7Mht+$eBj z7E_&mbp2AVsT)|^BY#fnm*x`DP`K712&q^ZPEOy$W1ewAA!o_?Z*Om3ER<=~jQOJi|J!Q$}s)z!%A_NBbVsUJGH9zXe0 zd~;Lk4JQwVlhe7y^<0kiN}C^Z`!&bD{@+>i`zhV0Tjak@(VrV7ebVtqdvDB#<<-_Y zdpjB`etb}@+CTMv@qK|A6K_g2*j9f7Ic3S?57zpCa93Liro%Zx}Lx&{Gf}7WrtG@`#wLCff|6*RU&T9K@_eBn8PpPV}voQI%_GRwX zO-rADshFAh>u+}OlI6=63$IH|YN(%Yn9TOOzfC&Xdh0z8Bb&8M2mAN5nV-H=bH;vi z?zJ_NW|!1;b$R#R))PK4ODX@}o}9mJ`A00yo}ONC{HL+MkM6#Ry;Y`KdecBnZbp@O z(EbNWXDyANC57ML-ThPizG0fav60b*l>hH`zfV#Y*VNS9qb{u{WX|%3x77KAdGK=E znB8T)x_k}H$;y2FC#L_=?2WtiN8`aK_R9T14?ee_oo$}1T+8IQujRC}w#zKD+^$}U zil0G$%;t2Rj{!AlwBtXu_w&nG2uN2l^{+7Sd&eTWdHE)m2{o19-^Kp>Pb7#cHq_*Q5A`~7x@m?;uzbNbE^a*MS%C#DQE*wtRd*v5BbE-bGQrd;bFE1~D z!z}${_sz4@IrE)AJ^jDq-7?XlU`{aV1Npn0+Nh2Yn|hxo$XW|3ROvt-U>dR|)6snM<;-uUm0zYxead zcrzb0K=XCiQbZ`BfsPyBfUG`{+)Ny?1MP!dJ4w6+V zDJqbaC;vD7`6CzB%2T-4Rqq~q@sE4*UFWmTi)HSr@|kv7yZW8dxjB}Hzv;EVPWAj& z|M|&D<&{pK)*r0<|M&Y1kM`8l(-v+r;*an-dpt5SvL;M(@g3Xxe{<}G?kX-{e3CiY zq-w3(pSngSm&rMT2^SZ+-q5fH4XwH=MDHkm&bRIHjZLZCw}KoTb>e?5y~*scuOw@& z^|_hG%MVOe)C-w@zNMu_!BO&%cud3LkmHUO(fiiK?lz0wnXqqv$xERiUYT`EAFW)u z^2QaOKL?kEt_nGM;>3ZnD4Uue0&96W`T6&kzn9zg_(Mm{%PY5bZ_c^7X%h1eo5mUT zCw@amXw&7B{{rLw@`T|D|&wisHq;duO!R%^N%N! z{e9k^QfgivB9W2%?V|XRie+IhSf7Rsehj+jVcEwFU9^|ynHqUqZaaxRpPsXC*t;Lyh$1^kvca$i7-1O)2a{tealbd?_ z(zvd0SQb68sQRK|mINB7j{5j&f<-2a+mo7~pB4sveSKZL!*0Uun(ueZU#RMcZmfCv z#eFmTv>MKzK^v2f1_&<5y}j*&^A#QLLkE@J`* zzub}kOAdd1ef^^Mnn$`KKXl6*#dM=M=0viIBv?M-^Ei9v%oEn~lXHD+RpSrw>&Nag ziJp3R>5?7wub8@hKe506DcbUTjbXqtA4%K2&BysZrMkJbRs2eL*nee)Nv4ol(u4AO zx%c*1nq4|*u9vlHt$^5*)4R*xf7+Zi->%kXbwZU_D`P@Y;%cK(x$=aQ)BVkRb1im!c&K$|*Vd04YbxK|F!cQT^XKR18QV1qRY1F2 zu0=3@Y6UIA4>tawcw~BfU1#r>AJ1mz2RP2$_wq}|@rTdtIzm+A)h8WM`?U1?A1*i7 zFBfdf-`$xcv@Q6xSip~ihqm`0kG+x;y)j~f{#$wD7lG^JY`2=7c(FciZdL1%UN`gH*d zo3f6*pPi=>|7+h(X77D0b-&-5+m=c&?H1De5q>n$q58)M#aDKxzHLo9Qzj#3_uXKM zzT&5jo}QlWZsDBvCnc;0OJ7}aoZ5Xp(cjPSnLGc2w6n9)&(Ax0jVGYs+#JiQI7YvY zL)jfRM{XM*JnGDMOssInwN(zQ`hB;4m{Rky#L|Ah#@48hclGug|Hmc&RNnd`^4K-l!-rnd*0lN&)05m&tH7lR`L3-%3zU}0~7j=X}?ft z^Ii3bS={t$7zg*KrNOT^q%j1U&fL510bB0vZD$J}i}SBCFnGKnlvmP-CHjSM!6(%t z-hbRqay@82_2ty+^9B#+Sr)U+mC?BT%x;=~^p=dkH4%n0<{fGFadUI~{q1ew(?`m| zM#jd8434fc>votZDl$eJAFz$xU8d`jCouoP`50!SS4n)=tvC-Fu!`H){3r-v$(!&b z&QR`+#f7;)U70WZ+g<+t*s>^xh@>4edwidGzyB%9(5$7Uv_GKj5Wk^aLEz@xqe+hY zN^aSuU3hYDZ*|TLmCtUP534=)T}k-))Ao(s45NCjGp~#PuFP2VflVNB!Qt-E6u!9$ zjfqXuw=eiq_xIPwET$f70h9LjcIDq*Q?)$%q|%-zKX^XB-py6yfcdVnw^rv^V??7~ z@$1CzyK_kJ#YgcpqH*aB9KAnwMWHH-8pisUC9j0rSsGD@&~wN_5GNRd^mL|=#E`Rsp#S2iqbCyfN_tuWWGKtixP5EF*USBT zTC`z##Z0dCk)a%a_JA%#`S{V()AIz|tvU6sA!?IBOUt!b%M;Jdv3zsr`E>pGSGx9J zwsp_S(rz*Rd1>WSW4`dsp!{hNwpjJyg&ziGXXjdP_nmEa>hWGV+o}z0HgX|}3L&c_ zHZF=1t>{>$o-I`HY3b#!T$WJ`s%q|iG6LC-jv{qaG=tf~&pxdF8MLt_K)@#D-k!=o z#V?rI`3@|YzV}i1zvK#!2lDlQ7XHlYIBY6?sJxNic^aP~gU|Ycl>#rf=H3ny?KXYt zy*#^J>|f!V>i2uulP!drAJm7hjcPrYA2MO*doH;*76<0pRwoptYlna;&9F5Q2jBk$ z-PiN=_4UIF4Cfvf*Bd_`F2w zR%C4Jzx-P-Yunn0H7BS0$)-zUe!n?Bks~GS&&>A*-w!-7FMSnq@YKy_cK%O?HcG4z zJ2d_A@&3j2(>mNR@?1&{j~Iq-#0OdN-~_-#7eekv=v`ciVcK!Rk-@hm=lCS&0czs2Gx^>^>t<`M$ z`&Wr*2C=vWb_gw;{aG)41@FgCOH*&G11)#Fx;`j4_^0|lu7b-8KUtN&643~7_FhA@1T`O*GOWLRtZHT-rAPC`i)brqr36xwb9#ElwBo`wDU@{iL)(UGOx|3=!wT4R-S^(KNaKnXPloh z^Ac##As4hX{$1{S(ZR`b2Vz@d5@bi6_Ee6wp-eND@scpD1Ddd^E-13HiK zU#YY+&*r=gv7dH}m;_fnJnhKQe|oxKIQw(++zAH_&TTIKr*Ldayl%t>hUw2QoRNQ{ z6W_HmWaXqYr_XWy`TC*5ndALVjr!cCZB7x>^hKBX&0V$fw8W$2pF+#7e|ma)^;XAg z>NDe6SJZGG*wcAy!g9A>Dfd2^!0rVpyB(X^d}?pqaNH-tym9Z!r4Hu#_j-DIj%@W% zn4sSnySr@R_v(}eNlQIFzU!(-Hp{vz8X9h_`1mMi>m-RR=dx+~M`wImUHki6<~o5C zPK%#GJ^6?DMc?lP#Ymz1zLHy}X%8Z|W{E~$y#?DWX`*JVt^M)eQ`P4}YBF)3-@a?L zmy6r{<<7gu{Of)^Ybi9$%*?EjxVY3?JSV*^_4G7PtwO%(YNnN+QVvFz&YCf|KQt&f z`1kks`V~Ek89X^GdVc+y%_@7AX}Vr)lgy;QO7przwKqBH^1PU}e`)RSZ$3w*4m>%Y z?{p-1sn=9)aXk%Jozv6(kFfKz~S8;9ULC3lai7a{GDhx>8)G8 zTrW?BPPxo-)t{5>Io)~g6bAPjicFd`$*TO_n(eJC)IduOw-(H?F8BNVgx&YSZR@f( z84n-rRgAZa-K}s?Az_to!!+IKM_u4ae)c-k>}xt3MV8LAzu^d4iJ+?OC&}c;l-yS# ztE``3o8owe(YhKh=ckvpz;! zN-`ak_W8R^?%C6GbEV&g9b~>c|Gsh5f#dS^e}2E;|2V4WL&fpH2I;?`dn~eq+h6+@ z!~}vS_RS0MD%`jB9w3HN|#_&j@HMX*aN$Cu-yaX#&N52%+FA7U#wIP(>}xHZU4M6ZPuJVn%djSX|GbswCFD(h z|NQ*?rqY222b(ueG%2uMv29=N?<8fm0;iOG#Rt<=jE#klnioGibI?uZUCErv&(9Wa zGMfAS-{0TdVmdFbtekw$E0JN+$rmp&4(Istuv{o8|MG1a1DA-#g)NzvL3@xN>F(|Q zS@G@7&C45;-Tzgvi~fi;G&G!~&iP?W?(J#0K_}L2Y?VF`dT?vzyuu|x`)VqGG)~a% zIG+>PaO=kEQueaXn%uI-+3Q&4uC5BzKC8p@$I&=3`|>j0Uy9Qb%>`%MR-660^5MzZ z?Ca|eevuLtU1~X7!y*0U<>ma<%03e(Ot=t`9$7n4$yMcRK>zL)t=ob!udkDh4v4FE za$vc-I(+@1R_@2~pZF&NZ|f_AYnxue~Ho-$K`6L zxCUf%SRVzNNa3tFi%pJEqimL@l;ly0f)!t@U>B_ zdm}cu8R_V}*?iuvyT89&ed502=jT2=Jp488cj*qc+ibj2Jkn-7ZLFXmdSG7n^=f#N zA(xxb3$JOxLir^!Q`!0D{(Lyh-!!d!2TQO-%W}WDTE=J2%`)xY8&#gLyREhFG4p<= z{wC|yKNp$&S)5kn_^`bx?#IE$h2Xh#gN6;P(cANSb)ReqJ=2iDU(LbEX<7M6Wt&0{ z^U3Kg948X_;Kp0yUksOHjrvq z{rUKX-G^ryr(ataYn^ zVo?44UF&Z9+FvC}R?i$)wf(k~ytxg=CPz59=x}RnLH38Y)q<&2pPu!evd& za&9o_=382SQkZakqkrnYf4{PGK1xlVII*#1s^?_2MCI8N=gi@0zPBoLwL&I)ee)Fd zKW{HAbe_k%ZDF}{hei3jm{gU(X9u;z*X^)Waq@4>nyMYX>;E*}=rz46`<|bitj@{F zc|k;2-LIv)J$_@&&!QQVQs(*GkYE2xw5P?u-0|MRD?F1eYNqe`lgrMe^oPSsd~5U> z&>EyN>%jBtTor8iz(=I)OEdhwZswU}H_*8$4AXQX7x~Fs7C*bQyIg-;MXY7n8wumB z`;uN?TYIAebRtU3`@N2mG{g;fW>joJRW(wn7R7*YCikU41UJ>AAF`u zi$AD$b8Fu&(9{vwx-XvI-oJl5?!Q{OB<<|1vWks&_uJI{k(jHkWVfkbfupG+H*#0W zN~_40_V)Mp_DV+!d}{_f=sx4i)T^sPXWn@w`sJRyqX0|dv?ouVL~YGl8GI6al*Vh9 zu&}U@5E0|8`<$Ld*no~WDSdpjTl^L0`-KY^zP`5hFyy2R1&%{Xl9G~lcbEJ7_#Bac z@!`kE$8C2q_ixRnYnw6C` zT`zXi`E`6A^7HKL`+PZ@6gsZYOFutP)7Uj4BBG|o=HHAB+Te3&BAy)Ul|FSQd~4R# zjmgL5tjlsS8`})Vn$2XdS&b~P@and9qS=qN7dOwY{ zwY@DJ_N1JgWN2tu{r%llYd^-if0veepPr`My(}C&VKWO9d;cctqaL-w(X_$C$%)Bp zn!?>xfs5UqpPO6#{he*zogEh!yO+PcCHha*#6%=g>&z@u?r<+q#H!6SN5SNw!Xf%_qT<(ZPk|*@%#5JD*E*0^>u!T9=&2;sKxc!`T70AYMBbczkfcTU)T!@%S6t-UppI59BgL)xF)lWk(n(eE$xvP z=+vG=tY-vYzI^#3p7SEBQf`Y1IV$C zoZuub_VaPSy_kO7oprI+5{nDCmb$vQxNJ^4`{?oG%uo(cSiYDzXU?9wzrW_$R!`Fm zX7gVf)zZ=en!Wk_{QUpl@AntRf}H2b!U~S5iU#|CKayWxTU-3>4CvYxbMdpYOuPH~ z+Vl!Y>qo}`LMa@>8V1VjT<-KXj15S@bvxu|7q?F54PX0JM6~d zC~zeE)lN=#`SAIuc)W$gzt8jkCvZ0@ zG)>?C?^m}hW5Yt{_9SIcjx|+QRb85WeVuO9mILwvm-c))f&OT#ljOJCTeGLn zn$>0h*-j;1sP4h7t=V@sZO*@Mm-EEZW1mXX>?u=3t}JBZk!a{$;_2`2zV++N%k0vI zKXzD0H$3q^BpbFarqjkoQISy^a zLHRR_%khbghxiZ8TXDEkfxXH5g`@y@@uXBGF)Pb%`0^f~PxJT9F4#9L{H;?E$T3oM&j;urjJ>%ktKGr&!3*2Zk~Vd&hGN}x3*?KT;3~ZTXnoo z_J)VN{>kYVq*l}}IJ#k?zlW#i&Z@6ke^!WUhxyF4D*f@{A!yXr%|)T$>8YuAb{4Ph zv&y=nk+ZN>{^{xG=jShuOE{d<@x=R(QQRc`+^dBNRkk%hKD6;lKYH}&Sg-W8g2K;98+xWc@s6IT?9TU%{o9L+%+W8L zAF?MFC;aQ`=m^NazajDPhE{O}&>>`?JS7c@-yO`*6wveoeC$xfMyBW&pd+3p>2sc* zP@~y)i2u+(2d|~~Ko|SO?yVAyu8;ync{?a@6@LctfX?fJ92a%yUrI_!$cg~Rz0DIR zPW*Iy$)p<1Hc)`T&KUCa^n4>}2Ri)z&}GoESN5=^2tMfwl61bMKRq?|jciYM_hGSL zAo~#paBx(8f4BDD!8w-2hjNdK$+bT5J~U&?mMydYKbUPB={s@Kq(w2eA0O}kn6CFm zE#67`(A9hUYNhKH+N<;Z)==gp|G=gD(}wf z@9Td1iuin5x~bRv!-Ip&e`bcBIW_&1@5cwMD{N|ih5RgyI~5)r96a?GW4Tbyk;Co$ zQ>_-Jen^jVlXM0xjAIwt;N0@ZOIz;ubN;+vQ)mBd{`=IsRBc!Jd%1r;Oz%%lpH~zZ zydpWLsL1Hw8Q~T8UTl8o^z+#7@9!V;ORNf8yXxM)J(Ztlam{b?+}HBHY1^*i=Y0PT z@cNvb?v?)K4Xeh6y_|Do>fe}2N=jz^mHU#rbw9%oV}0ezg+9o>yWOn(^TW_bD=;wdXt#K}t&m2{j)Ki;XCLf~kX|)Mue4#W z#Dga%C*L^1;Q=}%yp`#o`Td&Bm7kw^Pt$2MiQD?6w}#W6@vnx+{W-SP+v@-Sd&7Eo z=_WR&ygNG#tG>L5+M4zB)YR^untej5USHna{Cr`d^Nt2VgDHzw|9!jt{)DqTi=Vgg z$wuugO8q9S9k#|I>xxFhO_S9RPFE$TO|)XJ@E0s-vgXCPfh)G zF!o^P*N~ifpm9vM4b$$(Srjy^O?h~z^@fr)zr5WXo64fYZM^p@9`k-v-}Cia^xIoo zZ*R$*eADve{!dHYcYS_%xc&Fn*WoLJRL#zvo^KDjFHc-Q?o3&_1oO@JUA?`jt1h~^ z?PJ+K)2cKJG#fp8l79TYu(eUScXx?O&Spxhov~laB!j`eeP>H}gY@;4!R*T_f4o}k z-v4M)(Hx6HCbsrtz0#lOGJ)3mNSkJ{xECOTp|Jc%U@nvx~8|GrG+KqQqWSb zzttD{+&w%vdgedgkr>IQ|CB$kOve1LmaT2<-#CexfxMuar8xHgrtIr_F%z#p@jk2> z%Hy-+a63Ocdz$~Ou!fzSZSg;@8mFJzQ}R+s?Bi~j z9&~N_u%r9bma8u>FK_3OY*H)XP-NqidGTz|n-b4OA3uJ)c=4iZmq_C4{*I1@W%KN6 zt(NTA(IY4@d4YUuP(Z=vb91f5b)!Q5TJ3daR&YzwJ9QB>U8i`Y|I<>R6=@tjf0W&N zR>bYK>bdu7y3_uKXye>lCf_bZ%lf5EvmAU_9h;tR?pYtVm+NTsmW+eH85mAx-rZHI zDEt$&t==ulH=(2{Qu@~XxsMq->a{{vTv!>rTvR)3My%d~M+f^37r(lqDdDETmay)Z z=maT;10O&GN=$AQp8HBRKi=^^{DIJ`aOIzyKu5Ti{_TF2w+A$`-zIM(R~|TX+pfyb z&u(l?PV7mYT$0hH7rRSEO-(78`-ffH28GBCxqOFrw|d6QP15i6^z^@7`1i;mW9$9) zJ3h^BiGQ%a``o)bm5)QRcIk`Nl)k+c`jxF+d+s)arH=E{wHptH2XMBePMFo!-oDw@ zXv=F`1$$y z#5;}8oY>lu8!st>nZCvpA#l^*ZvQ`Tur?cKF`1mqKN{Ai zJUY^OIQPk%D-Ijhwu^N3Uiw_BNcBW~`kM8q?%Tk^E5qEtpmE=cfw`olUc^9Z}uP{P=MB{n~V|imyTc5_UeW zII>=W?Z7gjjI^C`lk{1GSIvmto_Fw0*Qr;GlUeoNKl<_U@r{rsRqtsJx;8yl6&Kwu zYT~gvZ0!U_?v$8!M{c~nzTQ1k^!)7neU|0#Vq$_gs-+s3dY+tepOCT8(8ckxJtN0~ zh|NEKROBeOOkbD6#AEAoa{8l_rv*5;Z*R$L&T@Eie!l!7qg07@HkbLQY%YtQo(@_m zvdCT?&m{u0rPkqBRS^xxm#(q=gw+}VsXZ@sv< zSa;9IX9xQZ7d<^Sb(!z%N0V+g3djnH%~)8FSi46hKI)ytyieMP6(>IbeBS=})_@-e z6J9KhD+(-(b`0HH{oT#GTi`;{8zr7#P(sv+1npPd`n_ZEE5}bu_4JJ|i_gFN_2#OJ zm1^7hX8vIPuYUiD+1hLW?_XOjH{mMlo12^4zp^F#{Pgt3363pg;H9~by_VC$G|XQm&zu&v@_(zbK)^?yy{_to6+{BV z*xk#PE{%L~jw!$WjbE_N^X}{j{B+Ga<{#VHN0C2`EG>6NZccmSUInV5K-Ev&>JD}Pc~@44 z^Iu=o?~wMW(d_+&h0N;?aX9}J`m-T^e_c~5$oWg4L5?m_?KZosEN-sBpB6Q}Pi8Au>At(WeDk-e z^83mYYF0WhLR#^Y(OeJk??lk>tigrJr2Hf~L1niE zO>HKbmyS49$dwi z&fItcR3ON3-`bwv|4;DKpIN5ahhhV^y*#q@&*77k)h}wPbR;ZjP292PrPVXmq=`qn z#jmdnZr@tC3A&WV@A~g~ z83OI|B}GNAf)3M=wa&7eopo!A<~}vu2kMU}tuviupwOVbDvwi-OPrIL)vVOwz{bL* zJOaUs%BGbkFW0VjcAE5TA|Jn;&4bVK8S}rszOG#^{Exf-d3;4nL&USWPaUS{D>6AR zm07p%=UManDk>@(+rR$#`B^)BUC#A&a~-ZudUn?`N`di{-p{wD?6UqJM5Klz*;xZl3LG^$Q_uqe>68a6V|f zke9$F%VHEEalroP6X8_eJ_pdfpO<>J%{IwoD*ycD<>gnhkz2Du+xcXFq>FwK{WP2F z<0sW0miO!L7rqSyo!i;b!O;jVx)wAAh?=nWcz=I?zx^J2ePd>~|2@!&Uav15visT0 z{#Q#^*SD|~G#=xAb(&sm)ZZzo;8W?WPfq9E`9#>tH74fH%HZWwj_oXZdTLwl?PY#* zZ!PncPW8DqSzkYP*OGr(b_@D@dj4z=l=!mE>GQVktZi3cU0wZi0;ikV(;!p%MiJep zkRT_fMT-{)7Os$~;b-EM@K0#4EqM{(MyCgIc_k-06O;%1=*zemKm3@O##k6$@9If|gB$uRZ$a=H@_0j^*yXQb&)qJgC0# zQSpEHw{XD|J~|U}UUQllTWP+mHK+cgIQTB4^=% z)nU3E0aq_dzdNzacXooyqxT$ld^?H?_gYn~daU7)?|Qf+iC?$o_qW^^FE22y;vK&&KgYcyO5)Ge{s@KcgP;m}fn=S<-uH`U<+ARdbzQGpTz_4RR#e$C zhQ!T#svb|Dad1=0!loegvu|T;nNCi>Y4QC<+Qyl&TdtfGTbfqBX4``5x2k(r>AeX{ zD*L_RhS;8)59Z#AJ?*aR=LPA1c%33F1wAMM$&$`&XKkPr>+1s1b z&p$rizuEOm+3nhYe=H{nDOg>JF`hkj>e0IHCLfLy{%;M8H{O1CNMldU&!TOW58wak zc0JI@%zlHBTd(xuBG())mW8(`C_2v&THnBCXp`K|pRLf=d?q-5uKo^fuMnAa`nUGi z+nc2}q_k~4Ki_`;yxX7GL~ZTTp7i>&Kl6o!OTe<5l8KV zTc_*a3=dFTJIf?fXg4Qw$m;KNYR=EI)hNonx@zjPjfVo5cRlOq;Fzh~oIA-LdWu!K z-2M~O4OS^s7iiTvq&3Rx6%>h@`^$ZA1RY(lS^c%H!TMfV>uJ1}3sM!j9y8l}<`$lt zW4Yo1s0sVnP(u5{X8#xOllF%`2$kUYd1e3MH7tyrEyq{c*6d!kDq^u4?=rsPkDHwm zPEPNavwhTGxH@QQ*F8pG0ec>KyE)UXMc161uCb-L7NjatJSu(K$2 zSy-${s>{-nmzN%G-mJI|wBYq$IN#o*<&~eG&9yFH7k6W2!M{J1j=v7GAGjdTdf70h z;Pth&Kb4s56F-I=FWi+Ud?^UDCi10_fcduU>wQ~U5?&lGlc|~WULSmj%$BDoA3F*| zju@I{QK)47;_0cW+(ld^X3v)S&iOBV*-Ruq2->WLrSXV8(+C&f{xBhWwF?;VG7`wV51u!3}^P-OJuCm z2{`^MXsOpst4`L;f`I-XQwvO#4zE}>({;m#VC&y9E1lc<_RP14^^z%aZGZi+=hydd zZ*OPM3+80~8BqH9+1VR?j53^OJq>1^ezT*0nzVJys;&fAPOBTI5}#EHS}pgutS+t> zbK;hR40EB4S(3x~JBJP(`eJrDgj46I(45A2(?36-&zH8+y;Ex^HR0vCJ=-^bb*R4> z9Ni~p+x5urht=WYhl*K=-3$|MCn$So?DGy<8Khb`A(x{lu-$vNiOfmGqNkJh&X^&Q zvz&F3{^7%iuSTrRy}j+zbJ0(e!}nHwW$9yCC|4C>Tkyak=SU**`Bg?-*Cc-Jc&3xa zSpLNOKIn*;Hv-qUWCri`Y^i^sJ~{ux=Hl<~?rs!3ytDZE1-au@uQMVlMBREdw3?Ie-J~QXGc8uAsi}Rkzntg^I;v_C-(FeH1L{AYdbde_+M0bm zK(LW7gX^rh6PLK&nw=#M^OW8DK6oGYn`_njb`x`=+xdC6H-q?IPM-!ksp^8G#?da( zlrFsCvhT~hc*|y|eOq#WJY*Jsdb>*&d=x~Bw`g6t(Tu+v1>5&0 zv7Mg8${qD2WNTJv&O=3yeShTjFa6iEUvIAMA~x&Vvj6AaPsr;0_h*X5%A2zq7y7LH zFh8m)S>C6vX8N7elDd(v?(R06a&>x91&oyZLZ=*;K>iV+q-8 zaW4ZTt;=+_rOmJ|*V{DTs#MD?>B0Tr1{ZGWmja@qt*4qMCoisNaCg!dbT;ej-O^Cd z&g=C+?88L!GtMhMeS3RbS=uElOY2tL-47W$ar;`jH4{butz|!dYWi&R|Mk`1Wz}3a zzT>ZHVSOUNcksZeO&x1E1vtAJ-?-K=OyqG7U}WXouWh5GaU!xQfx#uvf+dhs=t+ae zBxWyxMp1sxhhCF(CY9g(cmMg${nuY6-=DR;YSrrOs$=uM{;sTeSG?|b+1nid($?*} zSKFn2ymF}8Z(RGp~(9)87eT8@bOyQ9->1fy57}jc6xu}6Z&8+QMHS-@po`%?)M_LZchrL8KKd82r?mv7sv)XrQ|m8#A3@^k^8eNeFL)8eNYx3{f*Bp9-*<@7XN?PHh! zpKeyEe>3A?{;8%!^TrjMgH_^$8^1iQ=ZQ8CJ`;Ow&b7zytd9CeqO5kM)k(EFLd|KnImJ^rkD1$!PzC&F50oPZgIMrQy%w~ zx6c|FnIrZ*7jRG65W11^`nCqQ(vS11I-W0`9w+3z;B)1xE1GgDiOMSH*)^W5yZfwi z;nSy2KPE4-k-xq)P{G<|qWV;Ao7(Jo!Yao>cjs`-V|&`w{_KXF(Yj6#N$XRkSKsp6 z{|V?(jNYF2)NxYX-(Q{WCRtZH+>cDUJpCY-S?$e5uH0hlD_(o06<8i${kHVgmB2g8 zx1Q|ne{Qa^Z-r>5-Q;y1@-L)KGA2Z^|mv?uw`kB@H(<~}_c zdwF{7?y}IBCF>%dKds_5x}vc8*ul?#mqF9Zk!Sp28JDKNS-Z52SNao2aOV>JU{H9c z2A{u?`z9~4tjw&xL-qSP=k_Z8s+C?H?H4RAf3|DS7Hivg&3n4u#|uB6ou7Z+>%*Ki zryebR-XxUptLVXjMxA@tZ51mU6&`<4y{i3@H#PiI?AyrAX&)Cve13K|xn1MjJkae1 z{i4#HpY3|}KXr+1&Axu^{j+Jh(Z~4mudkEkpTtu1aKdr<`WT&u*P`>kzA5D5;>z3i zGwq|s*JLh`gFRP;Z&RAEkLUS^e{I3*7#NJXJzX3_l)-6zn_2FyiagVcYa)%yuC#KC zR|KrFFF2DhVN-&bUd)M8U*52uQK_u|qhh3$wKXGh7y~%U3nvI9&J5Afkf}iw5x6HnBZNo#;*o1ky zQ%)${PjtxR1|6pmS9(#jTFC3OXT&z9w6n8JD_wMUX7{^H-~Xg=(&2Xg&xgOv3t4W- zZ2fBK^teZk`zQM^I~TlnQP|q3jY1;)I`408ZfEV6wVuX)^wjzD>DIkF^z2StGKq|g zv^m5Z9kkh{Q|MK}ckV0lU+y3!Ngp}TG|zWisg`*%6Af z{I_oSxw<>{KM7k%2Phc0`s zcY8!4C3eofP`S-RB;?nol9!jPwkAD2HTBJb@As&fD$9d8;xzq0MDqVBq>gw>%3lu<6|9|_hTJ_HnSv9xC_eKpoPUJTFnN65DKle*b;f-TLaaSUPo}X=IDZ1{r*!=6QC)*w$ z@1HIE<8ipIX>FoO7 z?@!eZzqc`&z5jFbvZggYM%CYPIBtyiHR+c2+4asQ zNk=#~3KTs!z$o{m%~bzOVui~ZP_YoWKIhnH_Gphw(}S1!Bz`QvSGoLL@t1k9=->5r z+wGX^3#V<(xfx`0!MOIMUG&XOsix69uR@P9U%kn4T9^B=RYz!YcXd$k;-8tWMOAtc zT~{XEsnk4o``X&*$PMSbe=S;YX}Sr+W5>LGe?EDaElB_M>Bh!n9m$YQDV|@QUd=l< z&sJOi%%U4T(ekT53-%thmE0D<{PV@){)&J#4tg?X%N0&f%glXyKx*%*(AA$hB0dSc z=J$+OTO4QE<#7L$(7>NDQ}yHHK5v__CpUagtVVAAgBb@EQWYovR``2XrN;5s zrCnhWGrpGjtAD=nXmMRpSpyS39R^TfSU& zvvyt7)-G8MeG!FEx3^k9`Lgs`QQ zz5i`g@c`I%j6zO#;S>BQ~X@!Uvuo>|U~16@nI&NlBk@%@0! z^L3xjJ+^UT_MUx7@>=D!Gn1x0TphR9s=q^Y(obijS5wbc{7c~W{PpR=Lg!DbnoN$) zvMgTac+4wh&OV<=(W&RBKL2&S@3>sG4>;oQwXFfPcxfIqpX$Z8mr{ zd(*mkb-ywit0P8FxJ&78CNW6f>N3Eb{} zv$LLMgI3>t)UaZH)gIwIY2TJf0qbR46>239J#;^{YDLYuxazm2aw6?_7OlEGz5c-r zN85duwq#$|3(HZs8rt?{>DHeo9WOyDdV>ztH{FSSA zjTY!w70$^Sm8@eLB)9taB;hjC-waG?&X>$?r3b({J>7*8cwX)N%jf%1sd# zyoE9E`%n5a2hRL6yIA@CGSj>}7IC{A{Nh*rkJ!58osHi6nDys2pXSj^e|#%Xa;d)V z_RJ-{w{8n6yS?z?ki0g}o$1y^|8<#Gr*9a3`g5xIm!QY5NxHjhF8i8)VUtNj*P*0I*DSIQ*W(C@qSa{b^iSKf0|4~PHyw0wS@ zP_y#I(9R#r`yapC{a%cJ&-Z)Pl`l6kojkOGamg-dvn7LH{`kKhYpB&A875)DH{{P+b`yZM2Y$$P4nPocR{_>CAYrjhw z?y}an-}yb}f%XLM<%N%rt(oxse*OITOL-ZaPV)Wv_xpY2%cc)Y^qJR(_bE--x8;!e zACE{;Q;TrEovxwF^)Dx#S)ibQblK0`U#(x3nwDR;Qhy$iT9j_7zw*C+byoQD6)&y- z?tQ(gIm$mw_mQgUx%u|zx9z^QqfnW@YoFzbsH>wJsCCU#B9m~+Rr-Zk=#7ZVfP zw4`B$OQ(>mRmq2~OIPlhw)(l)H>)QLuTIenu9zVHlhxt;)?>o{@o_r}9CZ{OU(GIi zIMbdbZaug(uDCSaZ;Jk zOOJD@a32oq)em0A(|=)t-b?SDvp-a;p0aK73sXA!(%VT{scgZD%FoY!`O8P=nXdJl zYh`m{|IN+mo0I0(ev6cQ^7PHk&1(eCKVS94{`iAKC(oTrYn2Et_k8FXALV#m+x?

t3f9RKb+7V>Uv_$iW8(XJd)M6H6ju8Hs$nyGZ*Mtp((>A@d%=EQum0~& zKNjp4SpWZ0a-x^9&h+x*vgIE-G_J{CXqe~ja#C{XoH;UbOBQ-h*IP43R6Fd0LgV^v z4ssT&CI=Wb*R(e}+-hp$mEPpkv-19Zlh?P_PFbSA^3#SB$K~tiuxGA_-EF4bZpX|o zq!Yhy&e8L;&HLG1!;hz1?qKB>`>;Ucr`UYMudkglr|e6Kz9zK)eW?^IKB6wpcJ8

7&n&rZkm6bLgp7V0rjcX$#B5v%juP@UHULCg9wOj0?^4$~8 zre|%9ud4aYInh-bo9fZ~FX)@n#B?sZ3Eb^&wQB^DUteGUd?~ln)O|eL;w-z|eqG|a z`9V1~^vauK|xo8-2c6)NZE$(dA(BtLq4Oxgaa_v1QHY8U9-Rrvj?*aoq#XL2@&x*hi& zc2LM|th)EKdsn+LA|mu+cYRRc{S+`y%Z6X*$@AxzTfBPmudWj1pR{SU`MrwAQ?=i5 z-z|H0C$h(J*WwWdFwwd>>iQb;q#n|hc zC+XHFbF%r*{!cSsN4LGpkPLZjwFsWod8Kb1qS>4MLzRpDNaMsPkX7DtmLH`Oo68S)$oy zlT*!WyT$d-DJQWOJ>0M`O6kg7#}${RZ(Hzc>f#ei^w%2j+6RTX_MV^m^x7gVKkr>V zk|Nvk@1N`Xx_fV<+7kWCZ(g1bUhcOs%(+goQFm(5->=t?pFX(U_1C1k6-y%7`#&U2 zcyA!!5nXWJ_IrnFN=iz~>>zvB)H_?32mabr_xINtnez*6ZZEx3S{b=*|LjMK7O(an z^_Vnu>e2n`wu{|*A1&p+q)~hF+cl4~cR3#4%2S=TZ_C^J`}b#GU-#+QGNoDnR(|(M z)^%3#d3l@P@SN|6a7;4(f_Zq z-d^Wj56#-QZ`%tG?n|bzU z+1km)ds4l`Ej3sEe}Aofm$mEO{mH8TeHjyPP6kD#=r1-N2?e%*<2wIBRMMxMiIYq3 zW^>!a_I=+irfK_@Fm2n|`EOZron-l2O^u?>+NRK++Lpk^z`)R2cMsx{|suFffBUi68&6uKA8paUh}6- zeYPMGH0$#tasTA)HkbYji!fDI#>my)tN;JkMkDOeOYd1B-KrDhY^y#jXlN<^m*Bl2 z?&g#HfZ~4%lQ*{{dc@z_mVf`=>TvySy0ceAZOxj;DFrTLGL)X53jbAfbya9mfyzIw zH=W!n+{)_iPogKyyQErsb48%C*qXS@zH0v4Y}fO7TiLJliNEDH&&D$CjKt6EqLh>r zotPaHOFnaDZ~1IHP4re>&K<=?_D3g-Os|RZBJ=`pPwZu3aDxct7M6Zu&BJm@tmMs&iK35oEiHZ2v-_LK68+{|yV`H@ZWLJc>f^RYf`Q^1a;4Ab zmUr39+Sl#*5&Ttb!lz>Sw9|FfUW>n^o}FbH`QhK+-{4MDPR#AK4=znN%PP8G`~9x< zyB*C_Ggk*LcH5)g{3P1tOMJzI`cD^5CA^mVS(ZK9EVm+H&5_H~fByXW=3G5!pe(@Q zkWKvt$?Mv)KmIu=_Uy~jw?{gKlaKeM+BP+_8T@I80GBuyUCvEi|7Gc(O`+%K*;WQP zFr7SfVz>SKJ3A+{S5Eva{?I2LbiJZZ#mPykpb-VZOG>qwi?#C(HnA4*T@PCqv$NuP zq}-~bw+#+Vw=90PA&FP0c)9=lwAO&?bIssl$M(XhDVoJ^Z<)%8v=}Vc&pr0_RA9*E z>D%nHKsEEM6FVnGhq(SSiao}|_5a6l`-qKfz5RSk^w%~W$_`cgUT~=|SB!5;@MNq1 z^CIoeXf8Q(L|yOMZvFP@J64CUzgO|NH|eQ>_{@I~n)#2&UtJR!{P%~P_Nn6XwD2M? zr@gZ`tlzdEYHOBG#rJo2Z9GmY+)q@Pur1-nhQu`jhUT&gkJs6e!u~#YYo9ozh#&&%URJHu+#d4gtDyg<6zkqg)B8-buidHp z{dUchj@wbu+d#*;yH3-IH2UZr>NofDi&pl^n;VnawOwkj-{E?3DD(O{S?wpc^Y=e> zbmXZ2b?M>uILofGUzeu+0`*NYl%9L#1&Y4(_I@RM$TBTJ!nSHl#Il<=;@B@u-~V!V z(x%CkI{&MF-&ud`^i9w6_2oX*mo%U3x2v1^zt4eJ&L(1w{LyalayN-yX>+mqCzfTI z7Z&FPggNE4(?eZRrl}^tK1Tm_403icJzYMa*nHLy3W?TyH+3fhp&kUyt^K>H@ruk z-{u1YKbMo#QvG%w$wN(|R}X}qo~C>Ba4EQJqN-k-X<#N$puFXJ?t(oLde$?|;wLwcGEV zYTmQKJ?O-NM&?S;fWn+RcVfak_Shx}PjP$ceL8(_(I3f6)3=52fogJL%ka9((=!dz z0v7DjotC-n(`>#a`t_TizPQ&@m^&c;y|r~s%eS|;KQD;bcdIFVUS%6=zl32E zyXMlsUz6Ibb;{lTChh56E1Y;|>vFZ)n+u)U#n#kWxw&1PF?B(F?hV_$T%uYxq_1qM zJ6bG|>3N<{TszFiFwk(C+e`1tM3H#@_ZPnO@UlRo#<(4yO!vK zrYXgIYPbJ;b?M61ljqfzXa1TLv!g)K+Isd>`TYNGmXnsr*_^PKy4R6<>BZ9<8P2bYoH2iQ4aXk2g0>hy%yXroWY!riXEXhxCtYCba#C^I#Ed0Jl*X%u(HzAVC+$z0=OuJ6^cK z`(gLHU8g6tP4&0=$YSraDfP72M}bS5QoZGt94X^cx+47%6gNye^H)c2*W>Scf1r^W zv_iXLhu^-#4gtB2tHahtSYDa)aY2h@`P-GA@uzfuEO2bDm=Lr%?Q8^ReBDn~{x0V_ zwz7jwte_FsPPw_?MQ(&WYx&2`?-e1nR6p~H`ueohGr4D27OO=cwp&zgDSf?6`{YaS z)4As_8>gT9uwaF|eC-t1OA=NetEG!JN}K0Bar_wAd|=+b>nB~=ChY@V`>`@;>5-z0 z3v1%GAMv>biKn93_D`NY`?TQ4CB52APvsS7&iKeFPPjaMmh`!0;0Dy6W%^G&lY6C1 zKYebN|H3w@b>ouB$s4AW?OLL*n`yhFqpWD=x|^F)Pj5GWmA@{1 z3SOV1Q+so3cDS6Ne4G47NCWQAGEf&@;QZF?>!+q_t54fmTfJ#pqvNkn_H`D&gJ*X7 zTWFq`^!Rp0nnCe?srjGZ-9K_A{nIxYanRPEB+*WnX#Z`mj+~krHNQo7NA#YG!oO!t zR^17Z$W1-)UL#L4kM8&5c$+`IsHIvVMA;85tS*>-%|A zNSs|dp6t2q)Ku-)`|bViDn|d9q{h>=yZ+2n?eG`ZJKMMC-Tige{JzNl?&tSTneCc# zLwzB)%7?czE@{+yR(*YS^wG=P3+)?^b7lzG=iD&ZDcj*PzxU}yAyAv!zSgqjML^iU zo14=s1FlR`^^Q>S+>`$2$K(FUnf`V^RrtI5*OmxhjJ7qN@J03K?fd`KraAxm_V#qM z(6qkK?0>6LU1w{Gy?M>KwZtcW)10|hwVLmz|9H3i{ig*MLBXz&0%=Ly-l|86DW9I4 zw9!axOi5hx;&)Gye$2L<$o(g;nRvzf%`j*@I$b~hUa`mjd)4nZT5fh$Zxz4wW$B&T zC?%nzixFq@0HBiVzANj) z&B_W*v#<5IA8CKs?v%9()bz~%b;+yU(Ag#@egCS^)olM_Ehg;yV_#gpR(SJ-ql@z= zuD*V-=41E8$oz6q{>qYj+O1)m_UQ`p&bwi(pW`uQ?%cIM`4o7?k1%_-^T}2O$P_6r zEuQ%^ms`ptSWGzj z`hB(XdSBzrODb|pj?B|smc6#>>#IlgGYym3?A7|_*;aS4yDidAxRt+{U3KrJ=~oV) zUa_fs=JUbEVh-@2BrRO|mCyOrl$ zWx*7Uz@)poN^P$6YlpAfV0|OxcKMqd2Or;&u`Ft_+fb2na+0cOaG`s^OYd35o629U z-~G;Nf46eA*YTgtb$d50>YmndP;kC};?m?_M(XPBIy(awyV*D?=nMY7672sG7MpA@ zPp6)q*4gf|sJ7+#B*8k?sjVBAxIX-Aw{WuCOK&NjkTnq#Wt}cJR{UQ3{?=CS8ix6? z;x5lqpI=y}|5W$=BVJ>j?e52vq+VN8XWiRlsU2MG>?hTEQu^qNH76vmw0=IVzyE~w z#vW<&zT>KDvX`gtdo@*c?X&oWPON{eH6-dZmMjBxtavU>e<*K!`pZ}z5m|6w}%|{|7Y`f$M8k}|1Ku~RoismT8Ws_Q3>5=hdn8yv#gJav@vo*H>3<{G8(V zR)nbRD%^R$#n`dfSd?2o!O$FewLX8E1M_U96>A06%fv@dH`w++kG zeOvChwO@I#K4N3jaa9GC&+SjHY9A`wyzt?sbB`ppO<1CzIpxRS@Ap6df7P~%T|4sc z3D5z5Hy7W(Vy-Eto){G1`gfl8M8{u~0(yn|H}UhBHA{wwwVjz^=&Y0euxvw`BSrvVO#I9xHnacfBu}J8N5QjFbPyn%sa|m|LamwbX2R&mkZAG&K{g;oSt@e zmaDMP*EsXK-DU2lE=`|i^0dPx`om1)^iMnP$L^^pys*IWjlimtR^L~rZq2%yiSqZl)?a*dw0n2?`*n3J3U4n>H@UF?^}5|R0_Sboyg9S# zz@_P-tHYiy_3p{uojPS-&h2fvD!XnzdUJELsAtwJ=TqN%U%Y-+xbaD%uZq>tMYH7d zYv*W(uM6;feQ_~+ujb2NPwo3Ag&$a=?_t<WWP#|DM+0 z|L0JBqsr8mrxOpixh}eUd5P!bN2QfvB`SBeWCn-*m|>V)5u>wn_x93PS2XXf6|}l- z(zxi~bghUzW&Z0S^ehc?1?YLMcx}5d|Ge3uRv$}y2g?>Hv$7Qb4@sx zzKnQ$toJJa))tl8nOCY@b1ke}^d!%QE;0D?K}BAUb4%AR+i<0wu3z7LS$m;hGUnn^ z#drJ{HzYdC32H3Sk3DmDt6vOz@bmk!mw){$xK?A5{Or@y)1QK4&CXZLZrXmYs(ZT7 z-sLWDL1){)eVX4VW9jt2`p%BRPuyxP%Z~54V8L^%ss8Wl_)px+x1E}*eYy445>Mf8 zRrxAbGtQkp?Y(&Jao11Y$G5f1*UixD3SAu*_`KYp>shkNtEz{s;wz4pUrKo;-3dy0 zT9>CUDSv8=@OY)=8CSLgmkyv z+M3-jV_Ed`)6*+YZ`@ZC-Is8X=~wXzFYE6HSFJxTjs110>z!Z3)~wL71x`!7roM5n zzVXz@Sv79UksaHj^FB+S{j#)o*XL_%qc30Io_E*kSJCIspI>q<;+}TQ_U`uf_emmu z`&+ri%U)mey~j3JE&Ss>|0%39_Ng52lNHX7v|RD`{k^@vdnApw<=jk)k1_eXc-rJ= z>U*oco;r1E)8Q9?J_seB{LG&GXz9c6hdi_PF4}2gttBMO;4|AS_xwEDFIO-B_;*@= zf63kWP``L7Ve^R3x0iN_?x^|sDWvqJ&;r43+xCT>T&2QS7M|E1`}^zb;G6L3 z>gw+wkIVo6aG2lZ=7RjjbBTLiYu^mL@_wh#%%%D#`(&+eNDG<0s{QrlrE&hfJ#TMs zzg>Uj-QC^)f1a=Rn`5ytc)6e7yBnW*4<>9j$dP(^v#0x#c5SBX{gq2@Dq9CEOgTB} z^fcYgOE$Zd6n$CgAAc(&$f5W4i;IghSzI3{W-ZI$^1Un2`|HU?1z!P?OmX);*XFfd z`?CAR_S<*0YyE!RzoORte%&$e__)1QQ~N}@e)mt)jSdRDU;ACQ_Oys|I9DzA6`7O# zjbhqiXN=jOaC|$ov*e}F*$okm6JLC2n8hd6m49Qy!F^{={`&g*e&zGI|Nj2&uGYHn zV7|E4gv-;9z1Usc^|kt;%GS7xta|)2SEw#w+W+@kwA6v%>Q86Q@9#LL^C;AV*|q3L zqUwHFCOKn&>yS-a!O>$Lzs`%#cKmheE`NG`QuV~+zr(8zJwANx?4Akl-(S75Ai!Qd zO#C=#B+uFO#B75Xivw4l(>R`XO-$pG=eia9|37Hv*U`K`QSasH?Ca|;$}~(}xjtiw zJ~tQFilu4nucQr=So8yLUtH||v@=g-md(?JRT-bu_WxYH^2Jj9wHZ#0X&c@|gj-r# zp3ClhQ*kfq<@ZvW zeB+}o?n?P!v;J)H9PvXxo9+HqEuGw2QrjQ&+`-pzss2~n4+oe{tRJO%zF0JQv!BsX zHa^d_i|Wo#Jz-JnnQ`juz2BFoKl-9t`r?t5)7@RAj|D+lY0@0~`hB&(zrBeFH;MZ3 z=kxiui*KaNJ{OU*^4-4`UzXbKYFe@G)22HjVq&}W@)j${{kqhpHs$HoFq4Z8SLU70 z;QDrG<05|j?Kw9mOry;3$62KEt;c7-Xl$@5)**si-0oG>Mq>#r5) zmrS{m)Ajzur75}xj=qagtX;Y3>x+B)=KHQR+Sxv5tIogMubYzwZ@jOVkr{35n}Jo6j9_4(_@< zeQosiYccN*bp7A3&|~7hEt4WajhsNGm)_b|M=udzrEGYJNNkzw|)oXtf`7mUV8tk0Ij0b_sIP8E3w`W&G$s#802*28w? zN^r!ePTIHSkX71*v-9oab+m5w$3=O>zuFNNvE%8BdpGZ|ll*-3&%*5ghTm5IEZ!IU z`|HNql{XXbOx~lBqU1kEFe|U>%Zr7VSuQ-;8N0h|ciG!Vt`(k3bR#wg zwQOHf`s-4cAAiP$$8TJobk5TK75DA^{qx*HKi=Mw1(hyk@9vxolKXg}bJ69cmB;;a z@9n8v^I`v=r}~_HEH6KZ$JYebS!&45N-)X47c1n!?zsDq1pD25KYbxsrNQ-1imhOGc8P$6@ z?p>62`KzjX`|Cf7Dlbo)->Y!`-+FU)-mc7BTQc|M?Vhw}kIlzk{Hv8@iPxw^gf_ct4*zAwJ_HpltYofNkx>x=F>G9o~@%wCgMN6;Ar84a=kh#Ke>50?-eVVa( zcXyYE>nBM}`jX1^O0;)hO!@Zm7Ry@6TMyYM_h`NP9@8o06MyTFSz5xnxV=%E(|niD zaqE@(DH|#2@XP4!+L)b1Av*E1za1%labe-d$H%v4Ty(0t^I(1bUv1y;V?C0KcYfH= zW2gB0%&h+Vx7Wq&{B)3A{=$sew$niSi2UYS>BjAu5o>AUC0sB5H};W#vr~Q3k7zg6 zFRm7S^7eM6uR^k>=kIvP_Hlimi*byJPzD(3ETl33qZF8Ee_jJ9b8@bPBJ^4CGD`bU3vCXP=>F4G=bpPctz2^VFzfawB zGMqqjFLob~2(RD&?^heIw8-q4Csy!AZcI9Q+28){tVs**yV@_>-#06%Zi!shfuq4* zyyE>HJhj>Sd%s*_=C@HW7n!ORnssAC;{Lk7Y3JswG`_v%j#Xsxqos*u50@;63zP@# zmn!RSb^CcmW2artp?zmvI{33^l&(D9CmX#X;ot(t=6C!5*Hso4{L;26dEp>`qqurz z#S5!hhRJMaH$_}s6}PwQ`nuS!@@Aadx@OJQzTGZgry=)ZW@u0QvDo;Uk4FzQGJ{IJ z%4y!EQ~jiTk3K&?e|=@~#Hh@V&4T+sC(hjAtLs~MeQoq{1n;{JQ+?EYrpA{mVKXwq{*D za$ctMUP0}Ph3y%47S)R$`FywhKCiUdnz+4HYrKM=E?mg5b@CU<7t$9cmv@@w-La_n zkgzN0iMs0w)t8r+a)*ZeWj{PKCB{N&)~|~@m%dc=WxLtFJZ^E`-CcXDzE=HyyWQ4Y zYU|0|>4vXX&P_V2H%H`(w$z5NFD^Epef+{_Th7f%Rb_I$58bCE{dlN#Lo2InUC!$8 z^=Zd{j&Y+FRB&Rm7kVue)aa|=JcQa{{u|IH`>qm@y~mr zdu+$&UWx4%FW!8`s#4QxK=J335u+tzyB`u(26%}y`x>?}SP?xU;q zzfj=K*8jPTX52r2{`A|(etAQkRqc_3AHK$SdS~rj6gB1D^S4)42A}&GsM2}HLREdz znN3|8qM-e40ngPVOw7x6^}l(O)4cq4m%+C?e?OnMKdv3Fv$jV=zxdxD zkNf>L?t5p{cJSrp<#YMh-`HU7tGYGr;!CgZpQni(?pKO*J#3tIV{i5L8Gf>sMJoLs zd`t8h85C@FqPO|Xi2i%*dY>T!!-w>;KR-U6IpedOz4F(~<&{U~Uu|S&Z&~-%eBSyZ zW`+avFJE09E^U(W;EOoF-H!$5ZqILY_$9=^aLKuyPqt;})%^FLSbm3zFffSZ&Nj;x zGEbXnRjSqhBe?46)bN&jU(J8*mS$u)Fu!Yucw|~y+5>+LZG~D+28PTBuh;L_3tKb8 zV0+h=?CX8(j0_AKXXo4Bf9Y#vWE8eO?yT~^l)7Ipmvf0~b==K9JIl0EfPul`&7|p1 zPfx!d<6)xV5zoZnu+(FaF5g&*B3+xGPI^v@Oy3=I13_y6BF`C!iNZMy#ptv=u0 z8@I0pv_E>|-t3e^Eu1!d3=9W0It zMEn1LK5t4rZB_c}NSUKPM=Qx$iTqxYu}GY+_M@)H-322uYPA)ct7HH>GfF9K|x~t3=9d2&$U|3dcXhwy#ETS6ZWw% zG)!5<*MD|;j!FNibLaNG-FExM|Det1>;LTT>EW5x|Ivw&fuY8#=EsL4ox(rseWP1j zTZ`N-y)$2#yw_AqTf6&z#Dv+iPjj;}F#NcCT7Q4d!$Yk9;)7XVdNVM1tPEWp_K|b) zwk}caq?6tZ3=B6P9&WE(zjAHJ%AgzVvJ4D|cp&OryTzvJL{2(CXHQB>ip|$6!R~!B z505f3Ff^n-efo5&W^h~ie5t7IdAj?P`4|`kv>?$t*S@~)+k#VNV(r8XrUA9z2#h8;`(vxVwLd>SP5KTx zlEh?-Qq$7HR)_WeWB>mHt}?)7u66mksI6HuXU_a$UvcSzN6@9|PbRv{tqfXv>dVW^ zKjYy_8C0xFEL@qgR9{>_&PRTW-&`xu-DLlj;c6G00G*uj`pQbs zNX^l1@y`(D^?$!!U*}xTuIv-tLTWE2l@&uSq#~cU?V~aBXF9`mZl9 z_y76C{r@yf1A{{D-%qFYFE97seqZwZ$&)vCm1_G7s;TXKdHR2^U32DsSHD%EtFJBd zoqe#G{rR(J`w)@yQq$bL{KJETxwp2g3|l*E?yu}yTQWDCkG(Z%-o8KgUs%oXo~E<$ zyAnIhs)j|N0F2y};@R*zwkv4jzLGiCmdKI;Vst0Ij4I>Hq)$ literal 0 HcmV?d00001 diff --git a/oppgavetekster/oving6/img/highscore-list.puml b/oppgavetekster/oving6/img/highscore-list.puml new file mode 100644 index 0000000..fe1d890 --- /dev/null +++ b/oppgavetekster/oving6/img/highscore-list.puml @@ -0,0 +1,23 @@ +@startuml highscore-list + +skinparam dpi 400 + +class HighscoreList { + - int maxSize + - List results + + + HighscoreList(int) + + int size() + + int getElement(int) + + void addResult(int) + + void addHighscoreListListener(HighscoreListListener) + + void removeHighscoreListListener(HighscoreListListener) +} + +interface HighscoreListListener { + void listChanged(HighscoreList, int) +} + +HighscoreList -u-> "highscoreListListeners: *" HighscoreListListener + +@enduml diff --git a/oppgavetekster/oving6/img/hl-program.png b/oppgavetekster/oving6/img/hl-program.png new file mode 100644 index 0000000000000000000000000000000000000000..3b6779c6db35d403b6299e628ac6d5a7f6cf6f56 GIT binary patch literal 198562 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℘l~ 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%0AYBkneM=_q8}-}l!d7_=RG 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%0AY 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

bjDZ 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%0AK*;e1W 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 results + + + HighscoreList(int) + + int size() + + int getElement(int) + + void addResult(int) + + void addHighscoreListListener(HighscoreListListener) + + void removeHighscoreListListener(HighscoreListListener) +} + +interface HighscoreListListener { + void listChanged(HighscoreList, int) +} + +class HighscoreListProgram { + - HighscoreList highscoreList + + + void init() + + void run() +} + +HighscoreList -u-> "highscoreListListeners: *" HighscoreListListener +HighscoreListProgram ..l|> HighscoreListListener : "\t\t" + +@enduml diff --git a/src/main/java/oving6/highscorelist/.gitkeep b/src/main/java/oving6/highscorelist/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/oving6/logger/.gitkeep b/src/main/java/oving6/logger/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/oving6/office/.gitkeep b/src/main/java/oving6/office/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/oving6/stock/.gitkeep b/src/main/java/oving6/stock/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/oving6/highscorelist/HighscoreListTest.java b/src/test/java/oving6/highscorelist/HighscoreListTest.java new file mode 100644 index 0000000..92601dc --- /dev/null +++ b/src/test/java/oving6/highscorelist/HighscoreListTest.java @@ -0,0 +1,160 @@ +package oving6.highscorelist; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import java.util.List; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class HighscoreListTest { + + private int pos1; + private int pos2; + private HighscoreList highscoreList; + + private static void checkHighscoreList(String contextMessage, HighscoreList list, + List elements) { + assertEquals(elements.size(), list.size(), + contextMessage + " -> Testing the length of the highscore list"); + + int i = 0; + + for (int element : elements) { + assertEquals(element, list.getElement(i), + contextMessage + " -> Testing that the element at position " + i + " matches"); + + i++; + } + } + + private void addResultWithListener(int pos, int element) { + pos1 = pos; + highscoreList.addResult(element); + + // Check that the position that was changed is the same as the one sent to the listener + assertEquals(pos1, pos2, "Added " + element + " at position " + pos + + " -> Testing the position received by the listener"); + } + + @BeforeEach + public void setUp() { + highscoreList = new HighscoreList(3); + pos1 = -1; + pos2 = -1; + } + + @Test + @DisplayName("Test constructor") + public void testConstructor() { + assertEquals(0, highscoreList.size(), "Testing initialization of the highscore list"); + } + + @Test + @DisplayName("Add results (simple)") + public void testAddElementSimple() { + highscoreList.addResult(5); + HighscoreListTest.checkHighscoreList("Added 5 to an empty list", highscoreList, List.of(5)); + + highscoreList.addResult(6); + HighscoreListTest.checkHighscoreList("Added 6 to the list [5]", highscoreList, + List.of(5, 6)); + + highscoreList.addResult(2); + HighscoreListTest.checkHighscoreList("Added 2 to the list [5, 6]", highscoreList, + List.of(2, 5, 6)); + } + + @Test + @DisplayName("Add results - list becomes too long") + public void testAddElementMoreThanMax() { + highscoreList.addResult(5); + highscoreList.addResult(6); + highscoreList.addResult(2); + HighscoreListTest.checkHighscoreList("Added 5, 6, and 2 to the list", highscoreList, + List.of(2, 5, 6)); + + highscoreList.addResult(3); + HighscoreListTest.checkHighscoreList("Added 3 to the list [2, 5, 6]", highscoreList, + List.of(2, 3, 5)); + + highscoreList.addResult(7); + HighscoreListTest.checkHighscoreList("Added 7 to the list [2, 3, 5]", highscoreList, + List.of(2, 3, 5)); + } + + @Test + @DisplayName("Add two identical elements") + public void testAddElementDuplicate() { + highscoreList.addResult(5); + highscoreList.addResult(6); + highscoreList.addResult(2); + HighscoreListTest.checkHighscoreList("Added 5, 6, and 2 to the list", highscoreList, + List.of(2, 5, 6)); + + highscoreList.addResult(2); + HighscoreListTest.checkHighscoreList("Added 2 to the list [2, 5, 6]", highscoreList, + List.of(2, 2, 5)); + } + + @Test + @DisplayName("Test listeners (simple)") + public void testListListenersSimple() { + // Mock a listener + HighscoreListListener listener = (list, pos) -> pos2 = pos; + highscoreList.addHighscoreListListener(listener); + + this.addResultWithListener(0, 5); + HighscoreListTest.checkHighscoreList("Added 5 to the list []", highscoreList, List.of(5)); + + this.addResultWithListener(1, 6); + HighscoreListTest.checkHighscoreList("Added 6 to the list [5]", highscoreList, + List.of(5, 6)); + + this.addResultWithListener(0, 2); + HighscoreListTest.checkHighscoreList("Added 2 to the list [5, 6]", highscoreList, + List.of(2, 5, 6)); + } + + @Test + @DisplayName("With listener - list becomes too long") + public void testListListenerMoreThanMax() { + // Mock a listener + HighscoreListListener listener = (list, pos) -> pos2 = pos; + highscoreList.addHighscoreListListener(listener); + + highscoreList.addResult(5); + highscoreList.addResult(6); + highscoreList.addResult(2); + HighscoreListTest.checkHighscoreList("Added 5, 6, and 2 to the list", highscoreList, + List.of(2, 5, 6)); + + this.addResultWithListener(1, 3); + HighscoreListTest.checkHighscoreList("Added 3 to the list [2, 5, 6]", highscoreList, + List.of(2, 3, 5)); + + // Reset pos2 since the next element falls outside the list and is therefore not updated by + // itself and sent to the listener + pos2 = -1; + this.addResultWithListener(-1, 7); + HighscoreListTest.checkHighscoreList("Added 7 to the list [2, 3, 5]", highscoreList, + List.of(2, 3, 5)); + } + + @Test + @DisplayName("With listener - two identical elements") + public void testListListenerDuplicate() { + // Mock a listener + HighscoreListListener listener = (list, pos) -> pos2 = pos; + highscoreList.addHighscoreListListener(listener); + + highscoreList.addResult(5); + highscoreList.addResult(6); + highscoreList.addResult(2); + HighscoreListTest.checkHighscoreList("Added 5, 6, and 2 to the list", highscoreList, + List.of(2, 5, 6)); + + this.addResultWithListener(1, 2); + HighscoreListTest.checkHighscoreList("Added 2 to the list [2, 5, 6]", highscoreList, + List.of(2, 2, 5)); + } +} diff --git a/src/test/java/oving6/logger/DistributingLoggerTest.java b/src/test/java/oving6/logger/DistributingLoggerTest.java new file mode 100644 index 0000000..13d7486 --- /dev/null +++ b/src/test/java/oving6/logger/DistributingLoggerTest.java @@ -0,0 +1,100 @@ +package oving6.logger; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import java.io.ByteArrayOutputStream; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class DistributingLoggerTest { + + private static final String formatString = "%s: %s (%s)"; + + private ByteArrayOutputStream infoStream; + private ByteArrayOutputStream warnStream; + private ByteArrayOutputStream errorStream; + private DistributingLogger logger; + private StreamLogger infoLogger; + private StreamLogger warnLogger; + private StreamLogger errorLogger; + + @BeforeEach + public void setUp() { + infoStream = new ByteArrayOutputStream(); + warnStream = new ByteArrayOutputStream(); + errorStream = new ByteArrayOutputStream(); + + infoLogger = new StreamLogger(infoStream); + warnLogger = new StreamLogger(warnStream); + errorLogger = new StreamLogger(errorStream); + + logger = new DistributingLogger(errorLogger, warnLogger, infoLogger); + } + + @Test + @DisplayName("Log to INFO") + public void testLogToInfo() { + infoLogger.setFormatString(formatString); + logger.log(ILogger.INFO, "Dette er en info-melding.", null); + assertEquals(String.format(formatString, ILogger.INFO, "Dette er en info-melding.", null), + infoStream.toString().trim(), "Test the format of the info message after logging"); + assertEquals("", warnStream.toString(), + "Test the warning stream after logging an info message"); + assertEquals("", errorStream.toString(), + "Test the error stream after logging an info message"); + } + + @Test + @DisplayName("Log to WARNING") + public void testLogToWarn() { + warnLogger.setFormatString(formatString); + logger.log(ILogger.WARNING, "Dette er en advarsel.", null); + assertEquals(String.format(formatString, ILogger.WARNING, "Dette er en advarsel.", null), + warnStream.toString().trim(), + "Test the format of the warning message after logging"); + assertEquals("", infoStream.toString(), + "Test the info stream after logging a warning message"); + assertEquals("", errorStream.toString(), + "Test the error stream after logging a warning message"); + } + + @Test + @DisplayName("Log to ERROR") + public void testLogToError() { + Exception exception = new IllegalStateException(); + errorLogger.setFormatString(formatString); + logger.log(ILogger.ERROR, "Dette er en feilmelding.", exception); + assertEquals( + String.format(formatString, ILogger.ERROR, "Dette er en feilmelding.", exception), + errorStream.toString().trim(), + "Test the format of the error message after logging"); + assertEquals("", warnStream.toString(), + "Test the warning stream after logging an error message"); + assertEquals("", infoStream.toString(), + "Test the info stream after logging an error message"); + } + + @Test + @DisplayName("Change info logger") + public void testChangeInfoLogger() { + ByteArrayOutputStream newInfoStream = new ByteArrayOutputStream(); + StreamLogger newInfoLogger = new StreamLogger(newInfoStream); + + infoLogger.setFormatString(formatString); + logger.log(ILogger.INFO, "Dette er en info-melding.", null); + assertEquals(String.format(formatString, ILogger.INFO, "Dette er en info-melding.", null), + infoStream.toString().trim(), "Test the format of the info message after logging"); + + newInfoLogger.setFormatString(formatString); + logger.setLogger(ILogger.INFO, newInfoLogger); + logger.log(ILogger.INFO, "Dette er den andre info-meldingen.", null); + assertEquals(String.format(formatString, ILogger.INFO, "Dette er en info-melding.", null), + infoStream.toString().trim(), + "Test the first info stream after switching the info logger and logging another info message"); + assertEquals( + String.format(formatString, ILogger.INFO, "Dette er den andre info-meldingen.", + null), + newInfoStream.toString().trim(), + "Test the second info stream after switching the info logger and logging a new info message"); + } +} diff --git a/src/test/java/oving6/logger/FilteringLoggerTest.java b/src/test/java/oving6/logger/FilteringLoggerTest.java new file mode 100644 index 0000000..314fd7e --- /dev/null +++ b/src/test/java/oving6/logger/FilteringLoggerTest.java @@ -0,0 +1,86 @@ +package oving6.logger; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import java.io.ByteArrayOutputStream; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class FilteringLoggerTest { + + private ByteArrayOutputStream stream; + private StreamLogger subLogger; + + @BeforeEach + public void setUp() { + stream = new ByteArrayOutputStream(); + subLogger = new StreamLogger(stream); + } + + @Test + @DisplayName("Create logger without severities") + public void testFilteringLoggerNoSeverities() { + FilteringLogger logger = new FilteringLogger(subLogger); + assertFalse(logger.isLogging(ILogger.INFO), + "Test logger without severity for info-logging"); + assertFalse(logger.isLogging(ILogger.WARNING), + "Test logger without severity for warning-logging"); + assertFalse(logger.isLogging(ILogger.ERROR), + "Test logger without severity for error-logging"); + } + + @Test + @DisplayName("Create logger with error and info") + public void testFilteringLoggerErrorAndInfo() { + FilteringLogger logger = new FilteringLogger(subLogger, ILogger.ERROR, ILogger.INFO); + assertTrue(logger.isLogging(ILogger.INFO), "Test error and info logger for info-logging"); + assertFalse(logger.isLogging(ILogger.WARNING), + "Test error and info logger for warning-logging"); + assertTrue(logger.isLogging(ILogger.ERROR), "Test error and info logger for error-logging"); + } + + @Test + @DisplayName("Create logger with warning, set error") + public void testFilteringLoggerWarningSetIsLoggingError() { + FilteringLogger logger = new FilteringLogger(subLogger, ILogger.WARNING); + assertFalse(logger.isLogging(ILogger.INFO), "Test warning logger for info-logging"); + assertTrue(logger.isLogging(ILogger.WARNING), "Test warning logger for warning-logging"); + assertFalse(logger.isLogging(ILogger.ERROR), "Test warning logger for error-logging"); + + logger.setIsLogging(ILogger.ERROR, true); + assertFalse(logger.isLogging(ILogger.INFO), + "Set error-logging for warning logger and test for info-logging"); + assertTrue(logger.isLogging(ILogger.WARNING), + "Set error-logging for warning logger and test for warning-logging"); + assertTrue(logger.isLogging(ILogger.ERROR), + "Set error-logging for warning logger and test for error-logging"); + } + + @Test + @DisplayName("Logger with severity ERROR") + public void testErrorLogging() { + IllegalStateException exception = new IllegalStateException(); + FilteringLogger logger = new FilteringLogger(subLogger, ILogger.ERROR); + String formatString = "%s: %s (%s)"; + + subLogger.setFormatString(formatString); + logger.log(ILogger.ERROR, "Noe er feil!", exception); + assertEquals(String.format(formatString, ILogger.ERROR, "Noe er feil!", exception), + stream.toString().trim(), "Test the format of error message after logging"); + } + + @Test + @DisplayName("Logger with severity INFO in ERROR logger") + public void testInfoToErrorLogger() { + IllegalStateException exception = new IllegalStateException(); + FilteringLogger logger = new FilteringLogger(subLogger, ILogger.ERROR); + String formatString = "%s: %s (%s)"; + + subLogger.setFormatString(formatString); + logger.log(ILogger.INFO, "Noe er feil!", exception); + assertEquals("", stream.toString(), + "Test the stream after logging info message in error logger"); + } +} diff --git a/src/test/java/oving6/logger/StreamLoggerTest.java b/src/test/java/oving6/logger/StreamLoggerTest.java new file mode 100644 index 0000000..c6f6155 --- /dev/null +++ b/src/test/java/oving6/logger/StreamLoggerTest.java @@ -0,0 +1,49 @@ +package oving6.logger; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import java.io.ByteArrayOutputStream; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class StreamLoggerTest { + + private static final String formatString = "%s: %s (%s)"; + private static final String melding = "En melding ble logget!"; + + private ByteArrayOutputStream stream; + private StreamLogger logger; + + @BeforeEach + public void setUp() { + stream = new ByteArrayOutputStream(); + logger = new StreamLogger(stream); + } + + @Test + @DisplayName("Logs info message") + public void testLog() { + logger.log(ILogger.INFO, melding, null); + assertTrue(stream.toString().contains(melding), + "Test that the stream contains the message after it has been logged"); + assertTrue(stream.toString().contains(ILogger.INFO), + "Test that the stream contains a message of type info after it has been logged"); + } + + @Test + @DisplayName("Logs exception") + public void testLogException() { + assertThrows(IllegalArgumentException.class, () -> { + logger.setFormatString(null); + }, "Test that IllegalArgumentException is thrown when the format is null"); + + IllegalStateException exception = new IllegalStateException(); + logger.setFormatString(formatString); + logger.log(ILogger.INFO, melding, exception); + assertEquals(String.format(formatString, ILogger.INFO, melding, exception), + stream.toString().trim(), + "Test the format of the message that was logged with an exception"); + } +} diff --git a/src/test/java/oving6/office/ClerkTest.java b/src/test/java/oving6/office/ClerkTest.java new file mode 100644 index 0000000..97cc747 --- /dev/null +++ b/src/test/java/oving6/office/ClerkTest.java @@ -0,0 +1,77 @@ +package oving6.office; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class ClerkTest { + + private Clerk clerk; + private Printer printer; + + @BeforeEach + public void setUp() { + printer = new Printer(); + clerk = new Clerk(printer); + } + + @Test + @DisplayName("Perform calculations") + public void testDoCalculations() { + assertEquals(0, clerk.getTaskCount(), + "Testing the initialization of the number of tasks performed"); + + double calc1 = clerk.doCalculations((x, y) -> x + y, 2.0, 3.5); + assertEquals(5.5, calc1, "Testing calculation with addition: 2.0 + 3.5"); + assertEquals(1, clerk.getTaskCount(), "Testing the number of tasks after 1 calculation"); + + double calc2 = clerk.doCalculations((x, y) -> x / y, 2.0, 4.0); + assertEquals(0.5, calc2, "Testing calculation with division: 2.0/4.0"); + assertEquals(2, clerk.getTaskCount(), "Testing the number of tasks after two calculations"); + } + + @Test + @DisplayName("Print documents") + public void testPrintDocuments() { + assertEquals(0, clerk.getTaskCount(), + "Testing the initialization of the number of tasks performed"); + + // Print a document + clerk.printDocument("document1"); + assertTrue(printer.getPrintHistory(clerk).contains("document1"), + "Testing if the document that was printed was added to the printer history"); + assertEquals(1, clerk.getTaskCount(), "Testing the number of tasks after 1 print"); + assertEquals(1, printer.getPrintHistory(clerk).size(), + "Testing the number of prints in the history after 1 print"); + + // Print another document + clerk.printDocument("document2"); + assertTrue(printer.getPrintHistory(clerk).contains("document2"), + "Testing if document 2 that was printed was added to the printer history"); + assertEquals(2, clerk.getTaskCount(), "Testing the number of tasks after 2 prints"); + assertEquals(2, printer.getPrintHistory(clerk).size(), + "Testing the number of prints in the history after 2 prints"); + } + + @Test + @DisplayName("Retrieve task count") + public void testTaskCount() { + assertEquals(0, clerk.getTaskCount(), + "Testing the initialization of the number of tasks performed"); + + clerk.printDocument("document1"); + assertEquals(1, clerk.getTaskCount(), "Testing the number of tasks after 1 print"); + + clerk.doCalculations((x, y) -> x + y, 2.0, 3.5); + assertEquals(2, clerk.getTaskCount(), + "Testing the number of tasks after 1 print and 1 calculation"); + } + + @Test + @DisplayName("Retrieve resource count") + public void testResourceCount() { + assertEquals(1, clerk.getResourceCount(), "Testing the number of resources for one worker"); + } +} diff --git a/src/test/java/oving6/office/ManagerTest.java b/src/test/java/oving6/office/ManagerTest.java new file mode 100644 index 0000000..710a220 --- /dev/null +++ b/src/test/java/oving6/office/ManagerTest.java @@ -0,0 +1,123 @@ +package oving6.office; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class ManagerTest { + + private Clerk clerk; + private Manager manager; + private Printer printer; + + @BeforeEach + public void setUp() { + printer = new Printer(); + clerk = new Clerk(printer); + manager = new Manager(List.of(clerk)); + } + + @Test + @DisplayName("Create Manager with empty Employee collection") + public void testNoEmployeesConstructor() { + assertThrows(IllegalArgumentException.class, () -> { + new Manager(new ArrayList()); + }, "Test creating a new Manager with an empty Employee collection"); + } + + @Test + @DisplayName("Check getResourceCount without middle managers") + public void testResourceCount() { + assertEquals(2, manager.getResourceCount(), + "Test the number of resources for a manager without middle managers"); + } + + @Test + @DisplayName("Check getResourceCount with middle managers") + public void testMiddleManagementResourceCount() { + Manager topManager = new Manager(List.of(manager)); + assertEquals(3, topManager.getResourceCount(), + "Test the number of resources with middle managers"); + } + + @Test + @DisplayName("Perform a calculation") + public void testDoCalculations() { + assertEquals(0, clerk.getTaskCount(), + "Test the initialization of the number of tasks for a worker"); + assertEquals(0, manager.getTaskCount(), + "Test the initialization of the number of tasks for a manager"); + + double calc = manager.doCalculations((x, y) -> x + y, 2.0, 3.5); + assertEquals(5.5, calc, "Test calculation with addition: 2.0 + 3.5"); + + assertEquals(1, clerk.getTaskCount(), + "Test the number of tasks for a worker after 1 calculation"); + assertEquals(1, manager.getTaskCount(), + "Test the number of tasks for a manager after 1 calculation"); + } + + @Test + @DisplayName("Print a document") + public void testPrintDocuments() { + manager.printDocument("document1"); + assertTrue(printer.getPrintHistory(clerk).contains("document1"), + "Test that the printer history contains the document that was printed"); + assertEquals(1, clerk.getTaskCount(), + "Test the number of tasks for a worker after 1 print"); + assertEquals(1, manager.getTaskCount(), + "Test the number of tasks for a manager after 1 print"); + assertEquals(1, printer.getPrintHistory(clerk).size(), + "Test the number of prints in the printer history after 1 print"); + } + + @Test + @DisplayName("Check task count") + public void testTaskCount() { + assertEquals(0, clerk.getTaskCount(), + "Test the initialization of the number of tasks for a worker"); + assertEquals(0, manager.getTaskCount(), + "Test the initialization of the number of tasks for a manager"); + + manager.printDocument("document"); + assertEquals(1, clerk.getTaskCount(), + "Test the number of tasks for a worker after 1 print"); + assertEquals(1, manager.getTaskCount(), + "Test the number of tasks for a manager after 1 print"); + + manager.doCalculations((x, y) -> x + y, 2.0, 3.5); + assertEquals(2, clerk.getTaskCount(), + "Test the number of tasks for a worker after 1 print and 1 calculation"); + assertEquals(2, manager.getTaskCount(), + "Test the number of tasks for a manager after 1 print and 1 calculation"); + } + + @Test + @DisplayName("Multiple clerks") + public void testSeveralClerks() { + Clerk secondClerk = new Clerk(printer); + Manager multiManager = new Manager(List.of(clerk, secondClerk)); + assertEquals(1, clerk.getResourceCount(), "Test the number of resources for worker #1"); + assertEquals(3, multiManager.getResourceCount(), + "Test the number of resources for a manager with two workers"); + assertEquals(1, secondClerk.getResourceCount(), "Test the resources for worker #2"); + + multiManager.printDocument("document"); + assertEquals(1, multiManager.getTaskCount(), + "Test the number of tasks for a manager after 1 print"); + assertTrue( + (clerk.getTaskCount() == 1 || secondClerk.getTaskCount() == 1) + && (clerk.getTaskCount() == 0 || secondClerk.getTaskCount() == 0), + "Test that only one of the workers has performed a task after 1 print"); + + double calc = multiManager.doCalculations((x, y) -> x + y, 2.0, 3.5); + assertEquals(5.5, calc, "Test calculation with addition: 2.0 + 3.5"); + assertEquals(2, multiManager.getTaskCount(), + "Test the number of tasks for a manager after 1 print and 1 calculation"); + } +} diff --git a/src/test/java/oving6/office/PrinterTest.java b/src/test/java/oving6/office/PrinterTest.java new file mode 100644 index 0000000..d119c83 --- /dev/null +++ b/src/test/java/oving6/office/PrinterTest.java @@ -0,0 +1,97 @@ +package oving6.office; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class PrinterTest { + + private Clerk clerk1; + private Clerk clerk2; + private Printer printer; + + @BeforeEach + public void setUp() { + printer = new Printer(); + clerk1 = new Clerk(printer); + clerk2 = new Clerk(printer); + } + + @Test + @DisplayName("Testing printing") + public void testPrintDocument() { + assertThrows(IllegalArgumentException.class, () -> { + printer.printDocument(null, clerk1); + }, "Test that an exception is thrown when the document is null"); + + assertThrows(IllegalArgumentException.class, () -> { + printer.printDocument("document1", null); + }, "Test that an exception is thrown when the worker is null"); + } + + @Test + @DisplayName("Only one printer printing") + public void testPrintSingleClerk() { + assertEquals(0, printer.getPrintHistory(clerk1).size(), + "Test initialization of the number of prints in the printer history"); + + printer.printDocument("document1", clerk1); + assertEquals(1, printer.getPrintHistory(clerk1).size(), + "Test the number of prints in the history after 1 print"); + assertTrue(printer.getPrintHistory(clerk1).contains("document1"), + "Test that the document that was printed is in the history"); + + printer.printDocument("document2", clerk1); + assertEquals(2, printer.getPrintHistory(clerk1).size(), + "Test the number of prints in the history after 2 prints"); + assertTrue(printer.getPrintHistory(clerk1).contains("document2"), + "Test that document 2 that was printed is in the history"); + } + + @Test + @DisplayName("Multiple printers printing") + public void testPrintMultipleClerks() { + assertEquals(0, printer.getPrintHistory(clerk1).size(), + "Test initialization of printer history for worker1"); + assertEquals(0, printer.getPrintHistory(clerk2).size(), + "Test initialization of printer history for worker2"); + + // Print document for Clerk 1 + printer.printDocument("document1", clerk1); + assertEquals(1, printer.getPrintHistory(clerk1).size(), + "Test the number of prints in the history for worker1 after printing 1 document"); + assertTrue(printer.getPrintHistory(clerk1).contains("document1"), + "Test that the history of worker1 contains the document that was printed"); + assertEquals(0, printer.getPrintHistory(clerk2).size(), + "Test the number of prints in the history for worker2 after worker1 has printed " + + "a document"); + + // Print document for Clerk 2 + printer.printDocument("document2", clerk2); + assertEquals(1, printer.getPrintHistory(clerk2).size(), + "Test the number of prints in the history for worker2 after printing a document"); + assertTrue(printer.getPrintHistory(clerk2).contains("document2"), + "Test that the history of worker2 contains the document that was printed"); + assertEquals(1, printer.getPrintHistory(clerk1).size(), + "Test the number of prints in the history for worker1 after both worker1 and " + + "worker2 have printed 1 document each"); + } + + @Test + @DisplayName("Modifying printer history is not allowed") + public void testPrintHistoryModification() { + printer.printDocument("document1", clerk1); + printer.printDocument("document2", clerk1); + assertEquals(2, printer.getPrintHistory(clerk1).size(), + "Test the number of prints in the history after 2 prints"); + + // Remove a document and check that the printer history remains unchanged + printer.getPrintHistory(clerk1).remove("document1"); + assertEquals(2, printer.getPrintHistory(clerk1).size(), + "Test the number of prints in the history after 2 prints and attempting to " + + "remove 1 of them"); + } +} diff --git a/src/test/java/oving6/stock/SmartStockTest.java b/src/test/java/oving6/stock/SmartStockTest.java new file mode 100644 index 0000000..1624f38 --- /dev/null +++ b/src/test/java/oving6/stock/SmartStockTest.java @@ -0,0 +1,124 @@ +package oving6.stock; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class SmartStockTest { + + private SmartStock stock; + private double oldPrice; + private double newPrice; + + // Used to check that listeners work + private double oldPriceListener; + private double newPriceListener; + + private void setPriceForListener(double oldPrice, double newPrice) { + oldPriceListener = oldPrice; + newPriceListener = newPrice; + } + + private void setPriceCheckListener(String contextMessage, double newPrice, + double expectedOldPrice, double expectedNewPrice) { + // Update the price + this.oldPrice = this.newPrice; + this.newPrice = newPrice; + stock.setPrice(newPrice); + + // Check that the listener has received the change + assertEquals(expectedOldPrice, this.oldPriceListener, + contextMessage + " -> Test old price for listener after updating price from " + + oldPrice + " to " + newPrice); + assertEquals(expectedNewPrice, this.newPriceListener, + contextMessage + " -> Test new price for listener after updating price from " + + oldPrice + " to " + newPrice); + } + + @BeforeEach + public void setUp() { + stock = new SmartStock("APPL", 110.0); + } + + @Test + @DisplayName("Test constructor") + public void testConstructor() { + assertEquals("APPL", stock.getTicker(), "Test ticker"); + assertEquals(110.0, stock.getPrice(), "Test stock price"); + } + + @Test + @DisplayName("Negative stock price throws error") + public void testSetNegativePrice() { + assertThrows(IllegalArgumentException.class, () -> { + stock.setPrice(-20.0); + }, "Test setting negative stock price"); + } + + @Test + @DisplayName("Stock price equal to zero throws error") + public void testSetZeroPrice() { + assertThrows(IllegalArgumentException.class, () -> { + stock.setPrice(0); + }, "Test setting stock price equal to zero"); + } + + @Test + @DisplayName("Add listener") + public void testStockListener() { + StockListener listener = (Stock stock, double oldPrice, double newPrice) -> this + .setPriceForListener(oldPrice, newPrice); + stock.addStockListener(listener); + + this.setPriceCheckListener("Listener on all", 118.0, 110.0, 118.0); + assertEquals(118.0, stock.getPrice(), "Test stock price after updating price"); + + this.setPriceCheckListener("Listener on all", 121.0, 118.0, 121.0); + assertEquals(121.0, stock.getPrice(), "Test stock price after updating price twice"); + } + + @Test + @DisplayName("Test listener on price interval") + public void testIntervalListener() { + StockListener listener = (Stock stock, double oldPrice, double newPrice) -> this + .setPriceForListener(oldPrice, newPrice); + stock.addStockListener(listener, 110.0, 120.0); + + // Price within the interval does not notify the listener + this.setPriceCheckListener("Listener on price interval", 118.0, 0.0, 0.0); + assertEquals(118.0, stock.getPrice(), "Test stock price after updating price"); + + // Price outside the interval notifies the listener + this.setPriceCheckListener("Listener on price interval", 121.0, 118.0, 121.0); + assertEquals(121.0, stock.getPrice(), + "Test stock price after updating price for the second time"); + + // Price within the interval does not notify the listener (expected values remain unchanged) + this.setPriceCheckListener("Listener on price interval", 115.0, 118.0, 121.0); + assertEquals(115.0, stock.getPrice(), + "Test stock price after updating price for the third time"); + } + + @Test + @DisplayName("Test listener on difference") + public void testDifferenceListener() { + StockListener listener = (Stock stock, double oldPrice, double newPrice) -> this + .setPriceForListener(oldPrice, newPrice); + stock.addStockListener(listener, 10.0); + + // Price with a difference less than 10 does not notify the listener + this.setPriceCheckListener("Listener on difference", 118.0, 0.0, 0.0); + assertEquals(118.0, stock.getPrice()); + + // Price with a difference greater than 10 notifies the listener + this.setPriceCheckListener("Listener on difference", 121.0, 110.0, 121.0); + assertEquals(121.0, stock.getPrice()); + + // Price with a difference less than 10 does not notify the listener (expected values remain + // unchanged) + this.setPriceCheckListener("Listener on difference", 115.0, 110.0, 121.0); + assertEquals(115.0, stock.getPrice()); + } +} diff --git a/src/test/java/oving6/stock/StockIndexTest.java b/src/test/java/oving6/stock/StockIndexTest.java new file mode 100644 index 0000000..4ec9564 --- /dev/null +++ b/src/test/java/oving6/stock/StockIndexTest.java @@ -0,0 +1,116 @@ +package oving6.stock; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class StockIndexTest { + + private static final double applePrice = 534.98; + private static final double facebookPrice = 67.80; + private static final double epsilon = 0.000001; + + private Stock apple; + private Stock facebook; + private StockIndex index0; + private StockIndex index1; + private StockIndex indexN; + + @BeforeEach + public void setUp() { + apple = new Stock("AAPL", applePrice); + facebook = new Stock("FB", facebookPrice); + + index0 = new StockIndex("OSEBX"); + index1 = new StockIndex("OSEBX", facebook); + indexN = new StockIndex("OSEBX", facebook, apple); + } + + @Test + @DisplayName("Test constructor") + public void testConstructor() { + assertEquals(0.0, index0.getIndex(), epsilon, "Test the value of the index with 0 stocks"); + assertEquals(facebookPrice, index1.getIndex(), epsilon, + "Test the value of the index with 1 stock"); + assertEquals(facebookPrice + applePrice, indexN.getIndex(), epsilon, + "Test the value of the index with 2 stocks"); + + assertThrows(IllegalArgumentException.class, () -> { + new StockIndex(null); + }, "Test constructor with null name"); + + assertThrows(IllegalArgumentException.class, () -> { + new StockIndex("OSEBX", apple, null, facebook); + }, "Test constructor with null stocks"); + } + + @Test + @DisplayName("Add stock") + public void testAddStock() { + assertEquals(0.0, index0.getIndex(), epsilon, "Test the value of the index with 0 stocks"); + + index0.addStock(facebook); + assertEquals(facebookPrice, index0.getIndex(), epsilon, + "Test the value of the index after adding 1 stock"); + + assertThrows(IllegalArgumentException.class, () -> { + index0.addStock(null); + }, "Test adding null stock"); + } + + @Test + @DisplayName("Add the same stock twice") + public void testAddDuplicateStocks() { + assertEquals(0.0, index0.getIndex(), epsilon, "Test the value of the index with 0 stocks"); + + index0.addStock(facebook); + assertEquals(facebookPrice, index0.getIndex(), epsilon, + "Test the value of the index after adding 1 stock"); + + index0.addStock(facebook); + assertEquals(facebookPrice, index0.getIndex(), epsilon, + "Test the value of the index after adding a stock that is already in the index"); + } + + @Test + @DisplayName("Remove stock") + public void testRemoveStock() { + assertEquals(facebookPrice + applePrice, indexN.getIndex(), epsilon, + "Test the value of the index with 2 stocks"); + + indexN.removeStock(apple); + assertEquals(facebookPrice, indexN.getIndex(), epsilon, + "Test the value of the index after removing 1 stock"); + + indexN.removeStock(apple); + assertEquals(facebookPrice, indexN.getIndex(), epsilon, + "Test the value of the index after removing 1 stock that was not in the index"); + + indexN.removeStock(facebook); + assertEquals(0.0, indexN.getIndex(), epsilon, + "Test the value of the index after removing the only stock in the index"); + } + + @Test + @DisplayName("Change stock price") + public void testChangePrice() { + double facebookPrice2 = 67.0; + double facebookPrice3 = 69.0; + + facebook.setPrice(facebookPrice2); + assertEquals(facebookPrice2, index1.getIndex(), epsilon, + "Test the value of the index with 1 stock after changing the stock price"); + assertEquals(facebookPrice2 + applePrice, indexN.getIndex(), epsilon, + "Test the value of the index with 2 stocks after changing the price of 1 stock"); + + facebook.setPrice(facebookPrice3); + assertEquals(facebookPrice3, index1.getIndex(), epsilon, + "Test the value of the index with 1 stock after changing the stock price a " + + "second time"); + assertEquals(facebookPrice3 + applePrice, indexN.getIndex(), epsilon, + "Test the value of the index with 2 stocks after changing the price of 1 stock a " + + "second time"); + } +} diff --git a/src/test/java/oving6/stock/StockTest.java b/src/test/java/oving6/stock/StockTest.java new file mode 100644 index 0000000..2be7f3a --- /dev/null +++ b/src/test/java/oving6/stock/StockTest.java @@ -0,0 +1,89 @@ +package oving6.stock; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class StockTest { + + private Stock stock; + private double oldPrice; + private double newPrice; + + // Used to check that listeners work + private double oldPriceListener; + private double newPriceListener; + + private void setPriceForListener(double oldPrice, double newPrice) { + oldPriceListener = oldPrice; + newPriceListener = newPrice; + } + + private void setPriceCheckListener(double newPrice, double expectedOldPrice, + double expectedNewPrice) { + // Update the price + this.oldPrice = this.newPrice; + this.newPrice = newPrice; + stock.setPrice(newPrice); + + // Check that the listener has received the change + assertEquals(expectedOldPrice, this.oldPriceListener, + "Test old price for listener after updating price from " + oldPrice + " to " + + newPrice); + assertEquals(expectedNewPrice, this.newPriceListener, + "Test new price for listener after updating price from " + oldPrice + " to " + + newPrice); + } + + @BeforeEach + public void setUp() { + stock = new Stock("APPL", 110.0); + oldPrice = 0.0; + newPrice = 110.0; + oldPriceListener = 0.0; + newPriceListener = 0.0; + } + + @Test + @DisplayName("Test constructor") + public void testConstructor() { + assertEquals("APPL", stock.getTicker(), "Test ticker"); + assertEquals(110.0, stock.getPrice(), "Test stock price"); + + assertThrows(IllegalArgumentException.class, () -> { + new Stock(null, 110.0); + }, "Test constructor with null ticker"); + } + + @Test + @DisplayName("Negative stock price throws error") + public void testSetNegativePrice() { + assertThrows(IllegalArgumentException.class, () -> { + stock.setPrice(-20.0); + }, "Test setting negative stock price"); + } + + @Test + @DisplayName("Stock price equal to zero throws error") + public void testSetZeroPrice() { + assertThrows(IllegalArgumentException.class, () -> { + stock.setPrice(0); + }, "Test setting stock price equal to zero"); + } + + @Test + @DisplayName("Add listener") + public void testStockListener() { + StockListener listener = (Stock stock, double oldPrice, double newPrice) -> this + .setPriceForListener(oldPrice, newPrice); + stock.addStockListener(listener); + + this.setPriceCheckListener(118.0, 110.0, 118.0); + assertEquals(118.0, stock.getPrice(), "Test stock price after updating price"); + + this.setPriceCheckListener(121.0, 118.0, 121.0); + assertEquals(121.0, stock.getPrice(), "Test stock price after updating price twice"); + } +}