From 65f105d8ceb5703dd6a3726ba62d78342d8cd4c2 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Fri, 29 Apr 2022 18:13:54 +0200 Subject: [PATCH 01/53] fix: password bounds --- src/mytharena/Arena.java | 2 +- src/mytharena/command/AdminMenu.java | 4 ++-- src/mytharena/command/StartMenu.java | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index 942a8c1..d8e47ac 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -68,7 +68,7 @@ public void start() { } else { this.data = new Data(); // default admin account - this.data.getUserArrayList().add(new Admin("admin", "admin", this.data)); + this.data.getUserArrayList().add(new Admin("admin", "admin123", this.data)); // armor pool this.data.getArmorPool().add(new Armor("Platemail", 0, 2)); this.data.getArmorPool().add(new Armor("Chainmail", 0, 1)); diff --git a/src/mytharena/command/AdminMenu.java b/src/mytharena/command/AdminMenu.java index 198c66b..c44942c 100644 --- a/src/mytharena/command/AdminMenu.java +++ b/src/mytharena/command/AdminMenu.java @@ -139,8 +139,8 @@ private void registerAdmin() { String user = super.getMythArenaGui().getFieldText(0); String pass = super.getMythArenaGui().getFieldText(1); // checks if all fields have at least 4 characters - if (user == null || user.length() < 4 && pass == null || pass.length() < 4) { - super.getMythArenaGui().setDescription("All fields must be filled in to register. Fields must have at least 4 characters"); + if ((Objects.equals(user, "") || user.length() < 4) || (Objects.equals(pass, "") || (pass.length() > 12 || pass.length() < 8))) { + super.getMythArenaGui().setDescription("All fields must be filled in to register. Name must be at least 4 characters and Pass 8-12"); } else { // checks if username is taken boolean isUnique = true; diff --git a/src/mytharena/command/StartMenu.java b/src/mytharena/command/StartMenu.java index b88bc78..f2ca279 100644 --- a/src/mytharena/command/StartMenu.java +++ b/src/mytharena/command/StartMenu.java @@ -8,6 +8,7 @@ import mytharena.gui.MythArenaGui; import java.io.IOException; +import java.util.Objects; /** * Start class extends Command @@ -97,8 +98,9 @@ private void register() { String user = super.getMythArenaGui().getFieldText(0); String pass = super.getMythArenaGui().getFieldText(1); String nick = super.getMythArenaGui().getFieldText(2); - if (user == null || user.length() < 4 && pass == null || pass.length() < 4 && nick == null || nick.length() < 4) { - super.getMythArenaGui().setDescription("All fields must be filled in to register. Fields must have at least 4 characters"); + int longa = pass.length(); + if ((Objects.equals(user, "") || user.length() < 4) || (Objects.equals(pass, "") || (pass.length() > 12 || pass.length() < 8)) || (Objects.equals(nick, "") || nick.length() < 4)) { + super.getMythArenaGui().setDescription("All fields must be filled in to register. Name and Nick must be at least 4 characters and Pass 8-12"); } else { // Check if username or nickname is taken boolean isUnique = true; From 2aa69e61394b5c0645d44f31f3b50f5a0680e39d Mon Sep 17 00:00:00 2001 From: legendnightt Date: Mon, 2 May 2022 02:37:47 +0200 Subject: [PATCH 02/53] refactor: remove useless password tester int --- src/mytharena/command/StartMenu.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mytharena/command/StartMenu.java b/src/mytharena/command/StartMenu.java index f2ca279..9a2df70 100644 --- a/src/mytharena/command/StartMenu.java +++ b/src/mytharena/command/StartMenu.java @@ -98,7 +98,6 @@ private void register() { String user = super.getMythArenaGui().getFieldText(0); String pass = super.getMythArenaGui().getFieldText(1); String nick = super.getMythArenaGui().getFieldText(2); - int longa = pass.length(); if ((Objects.equals(user, "") || user.length() < 4) || (Objects.equals(pass, "") || (pass.length() > 12 || pass.length() < 8)) || (Objects.equals(nick, "") || nick.length() < 4)) { super.getMythArenaGui().setDescription("All fields must be filled in to register. Name and Nick must be at least 4 characters and Pass 8-12"); } else { From 6346375401a9ab1d04f8a29da64e46452db3e099 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Mon, 2 May 2022 02:52:18 +0200 Subject: [PATCH 03/53] fix: workable linux character creator title & description --- src/mytharena/command/PlayerMenu.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 11a04e4..0174b5d 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -338,7 +338,8 @@ public void createCharacter() { getMythArenaGui().setOption(1,null); getMythArenaGui().setOption(2,"Cancel"); getMythArenaGui().setOption(3,"Create"); - getMythArenaGui().setTitle("Select the type of your new Character"); + getMythArenaGui().setTitle("Character Creator Tool"); + getMythArenaGui().setDescription("Select the type of your new Character"); boolean exit = false; while (!exit) { ArrayList characterTypes = new ArrayList<>(); From 70413835c48ce31b0ea516b03d90dccf245cd917 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Mon, 2 May 2022 03:03:08 +0200 Subject: [PATCH 04/53] style: better admin menu combats validator indent --- src/mytharena/command/AdminMenu.java | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mytharena/command/AdminMenu.java b/src/mytharena/command/AdminMenu.java index c44942c..1b9306f 100644 --- a/src/mytharena/command/AdminMenu.java +++ b/src/mytharena/command/AdminMenu.java @@ -279,11 +279,11 @@ private void validateCombats() { ArrayList pendingCombatInfoArrayList = new ArrayList<>(); for (PendingCombat pendingCombat : super.getData().getPendingCombatArrayList()) { pendingCombatInfoArrayList.add( - pendingCombat.getChallenger().getNickname() + " : " + - pendingCombat.getChallenger().getCharacter().getGold() + " gold -> " + - pendingCombat.getChallenged().getNickname() + " : " + - pendingCombat.getChallenged().getCharacter().getGold() + " gold || " + - pendingCombat.getBet() + " gold bet" + pendingCombat.getChallenger().getNickname() + " : " + + pendingCombat.getChallenger().getCharacter().getGold() + " gold -> " + + pendingCombat.getChallenged().getNickname() + " : " + + pendingCombat.getChallenged().getCharacter().getGold() + " gold || " + + pendingCombat.getBet() + " gold bet" ); } super.getMythArenaGui().setList(pendingCombatInfoArrayList); @@ -296,9 +296,9 @@ private void validateCombats() { try { // accepted combat notification for challenged pendingCombat.getChallenged().getNotificationArrayList().add(new PendingCombatNotification( - pendingCombat.getChallenger().getNickname() +" wants to challenge you to a battle", - "Gold at stake for this battle: " + pendingCombat.getBet(), - pendingCombat.getChallenger(), pendingCombat.getBet() + pendingCombat.getChallenger().getNickname() +" wants to challenge you to a battle", + "Gold at stake for this battle: " + pendingCombat.getBet(), + pendingCombat.getChallenger(), pendingCombat.getBet() )); super.getData().getPendingCombatArrayList().remove(pendingCombat); super.getArena().serializeData(); @@ -325,10 +325,10 @@ private void validateCombats() { super.getData().getBannedPlayerMap().put(pendingCombat.getChallenger(), unBanDate); // 24h ban notification for challenger pendingCombat.getChallenger().getNotificationArrayList().add(new GeneralNotification( - "Your pending combat has been denied", - "Challenged user: " + pendingCombat.getChallenged().getNickname() + " : " + - pendingCombat.getChallenged().getCharacter().getGold() + " gold || " + - "As a result you have been banned for 24h, until " + unBanDate + "Your pending combat has been denied", + "Challenged user: " + pendingCombat.getChallenged().getNickname() + " : " + + pendingCombat.getChallenged().getCharacter().getGold() + " gold || " + + "As a result you have been banned for 24h, until " + unBanDate )); super.getData().getPendingCombatArrayList().remove(pendingCombat); super.getArena().serializeData(); From 5091e30c9b2924812cbd8d45252e191a0ac19438 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Mon, 2 May 2022 03:06:48 +0200 Subject: [PATCH 05/53] refactor: proper player menu character creator new factory place --- src/mytharena/command/PlayerMenu.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 0174b5d..56c578f 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -347,11 +347,11 @@ public void createCharacter() { characterTypes.add("Vampire"); characterTypes.add("Werewolf"); getMythArenaGui().setList(characterTypes); - CharacterFactory characterFactory = new CharacterFactory(); char choice = getMythArenaGui().waitEvent(30); if ( choice == 'D') { int index = getMythArenaGui().getLastSelectedListIndex(); if (index != -1) { + CharacterFactory characterFactory = new CharacterFactory(); switch (index) { case 0 -> player.setCharacter(characterFactory.createCharacter(new HunterFactory(getData()))); case 1 -> player.setCharacter(characterFactory.createCharacter(new VampireFactory(getData()))); From 35d8a6ff496fdd5b5c535f9659c9ab09aa6e6666 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Mon, 2 May 2022 03:11:01 +0200 Subject: [PATCH 06/53] refactor: unnecessary player menu equipment selector integer to string --- src/mytharena/command/PlayerMenu.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 56c578f..30c2e20 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -245,7 +245,7 @@ public void viewNotifications() { } else if (option == 'C'){ // Cancels operation exit = true; - }else if (option == 'B') { + } else if (option == 'B') { player.setSubscriber(!player.isSubscriber()); } } @@ -486,7 +486,7 @@ public void selectEquipment() { getMythArenaGui().setDescription("Select your weapons. TIP: You may equip two single-handed weapons simultaneously"); for (Equipment item : player.getCharacter().getInventory().getWeaponArrayList()) { Weapon weapon = (Weapon) item; - listWeapons.add(weapon.getName() + " Type: " + (weapon.isTwoHands() ? "Two-hander" : "One-hander") + " " + "Offense: " + Integer.toString(weapon.getAttackModification()) + " " + "Defense: " + Integer.toString(weapon.getDefenseModification())); + listWeapons.add(weapon.getName() + " Type: " + (weapon.isTwoHands() ? "Two-hander" : "One-hander") + " " + "Offense: " + weapon.getAttackModification() + " " + "Defense: " + weapon.getDefenseModification()); } listWeapons.add("----------------------------------------------------------------------------------"); listWeapons.add("Current weapons:"); From 1507c82d9314435bb54426115ac3116ea7e386b1 Mon Sep 17 00:00:00 2001 From: legendnightt Date: Mon, 2 May 2022 03:20:25 +0200 Subject: [PATCH 07/53] fix: player menu notifications viewer indent --- src/mytharena/command/PlayerMenu.java | 124 +++++++++++++------------- 1 file changed, 61 insertions(+), 63 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 30c2e20..134eb14 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -84,7 +84,7 @@ public void getGold() { if (player.getCharacter() == null) { super.getMythArenaGui().setDescription("No character found"); getMythArenaGui().waitEvent(3); - }else { + } else { boolean exit = false; while (!exit) { getMythArenaGui().setListMode(); @@ -179,76 +179,74 @@ public void viewNotifications() { } exit = true; } - } else { - getMythArenaGui().setOption(0, null); - getMythArenaGui().setOption(1, null); - getMythArenaGui().setOption(2, "Delete"); - getMythArenaGui().setOption(3, "Close"); - if (notification instanceof CombatResultsNotification combatResultsNotification) { - ArrayList combatResults = new ArrayList<>(); - combatResults.add(combatResultsNotification.getTitle()); - combatResults.add("Bet: " + combatResultsNotification.getCombat().getBet()); - combatResults.add("Winner: " + combatResultsNotification.getCombat().getWinner().getNickname()); - combatResults.add("Loser: " + combatResultsNotification.getCombat().getLoser().getNickname()); - combatResults.add("Date: " + combatResultsNotification.getCombat().getDate()); - combatResults.add("Player with minions left: " + combatResultsNotification.getCombat().getPlayerWithMinionsLeft().getNickname()); - combatResults.add(combatResultsNotification.getBody()); - for(int i = 1; i <= ((CombatResultsNotification) notification).getCombat().getRounds().size(); i++) { - combatResults.add("Round: "+ i); - } - getMythArenaGui().setList(combatResults); - getMythArenaGui().setOption(1,"Open"); + } else { + getMythArenaGui().setOption(0, null); + getMythArenaGui().setOption(1, null); + getMythArenaGui().setOption(2, "Delete"); + getMythArenaGui().setOption(3, "Close"); + if (notification instanceof CombatResultsNotification combatResultsNotification) { + ArrayList combatResults = new ArrayList<>(); + combatResults.add(combatResultsNotification.getTitle()); + combatResults.add("Bet: " + combatResultsNotification.getCombat().getBet()); + combatResults.add("Winner: " + combatResultsNotification.getCombat().getWinner().getNickname()); + combatResults.add("Loser: " + combatResultsNotification.getCombat().getLoser().getNickname()); + combatResults.add("Date: " + combatResultsNotification.getCombat().getDate()); + combatResults.add("Player with minions left: " + combatResultsNotification.getCombat().getPlayerWithMinionsLeft().getNickname()); + combatResults.add(combatResultsNotification.getBody()); + for(int i = 1; i <= ((CombatResultsNotification) notification).getCombat().getRounds().size(); i++) { + combatResults.add("Round: "+ i); } - // In case the notification is of general type. Player can delete or close this notification. - - char choice = getMythArenaGui().waitEvent(30); - if (choice == 'C') { - player.getNotificationArrayList().remove(notification); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); - } - }else if (choice == 'B') { - boolean close = false; - while (!close) { - CombatResultsNotification combatResultsNotification = (CombatResultsNotification) notification; - int roundIndex = getMythArenaGui().getLastSelectedListIndex(); - if (roundIndex != -1) { - if (roundIndex > 2) { - Round round = combatResultsNotification.getCombat().getRounds().get(roundIndex - 7); - int roundNumber = roundIndex - 6; - ArrayList roundResults = new ArrayList<>(); - roundResults.add("Round: " + roundNumber); - roundResults.add("Player 1 health: " + round.getCharacter1Health()); - roundResults.add("Player 2 health: " + round.getCharacter2Health()); - roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); - roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); - roundResults.add("Player 1 attack result: " + round.getCharacter1AttackResult() + " damage"); - roundResults.add("Player 2 attack result: " + round.getCharacter2AttackResult() + " damage"); - getMythArenaGui().setList(roundResults); - } - getMythArenaGui().setOption(3,"Close"); - if (getMythArenaGui().waitEvent(30) == 'D') { - close = true; - } - - } else { - getMythArenaGui().setDescription("Must select a round on the list to open!"); + getMythArenaGui().setList(combatResults); + getMythArenaGui().setOption(1,"Open"); + } + // In case the notification is of general type. Player can delete or close this notification. + char choice = getMythArenaGui().waitEvent(30); + if (choice == 'C') { + player.getNotificationArrayList().remove(notification); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + } else if (choice == 'B') { + boolean close = false; + while (!close) { + CombatResultsNotification combatResultsNotification = (CombatResultsNotification) notification; + int roundIndex = getMythArenaGui().getLastSelectedListIndex(); + if (roundIndex != -1) { + if (roundIndex > 2) { + Round round = combatResultsNotification.getCombat().getRounds().get(roundIndex - 7); + int roundNumber = roundIndex - 6; + ArrayList roundResults = new ArrayList<>(); + roundResults.add("Round: " + roundNumber); + roundResults.add("Player 1 health: " + round.getCharacter1Health()); + roundResults.add("Player 2 health: " + round.getCharacter2Health()); + roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); + roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); + roundResults.add("Player 1 attack result: " + round.getCharacter1AttackResult() + " damage"); + roundResults.add("Player 2 attack result: " + round.getCharacter2AttackResult() + " damage"); + getMythArenaGui().setList(roundResults); } + getMythArenaGui().setOption(3,"Close"); + if (getMythArenaGui().waitEvent(30) == 'D') { + close = true; + } + } else { + getMythArenaGui().setDescription("Must select a round on the list to open!"); } } } - } else { - getMythArenaGui().setDescription("Must select an item on the list to open!"); } - } else if (option == 'C'){ - // Cancels operation - exit = true; - } else if (option == 'B') { - player.setSubscriber(!player.isSubscriber()); + } else { + getMythArenaGui().setDescription("Must select an item on the list to open!"); } + } else if (option == 'C'){ + // Cancels operation + exit = true; + } else if (option == 'B') { + player.setSubscriber(!player.isSubscriber()); } + } } /** From ae71bccce3fd421142e8b07d31f703a2d5b5b8e4 Mon Sep 17 00:00:00 2001 From: skuzow Date: Wed, 4 May 2022 03:43:10 +0200 Subject: [PATCH 08/53] docs: fix issues due nickname change --- .gitignore | 8 +++++++- README.md | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7d29c5b..732a567 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,11 @@ -# Compiled class file +# gradle + +.gradle/ +build/ out/ +classes/ + +# Compiled class file *.class # Log file diff --git a/README.md b/README.md index 6331171..774b28f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # myth-arena -[![license](https://img.shields.io/github/license/legendnightt/myth-arena.svg)](https://github.com/legendnightt/myth-arena/blob/master/LICENSE) +[![license](https://img.shields.io/github/license/skuzow/myth-arena.svg)](https://github.com/skuzow/myth-arena/blob/master/LICENSE) ⚔ Fight arena game where players have their own myth creatures, mp final project. @@ -10,7 +10,7 @@ | **Name** | **Github Username** | |:-----------------------------:|:-------------------:| -| Alejandro Porras Torrecilla | legendnightt | +| Alejandro Porras Torrecilla | skuzow | | Gledrian Gutierrez Regala | gutche | | Ignacio Caniculo Dominguez | nachocaniculo | | Pablo Antolín Martínez | Pbantolin12 | From 630080bba51439f7d778e63238cfff4569bf7bc6 Mon Sep 17 00:00:00 2001 From: skuzow Date: Wed, 1 Jun 2022 08:23:33 +0200 Subject: [PATCH 09/53] test: init --- .gitignore | 8 +------- lib/apiguardian-api-1.1.2.jar | Bin 0 -> 6806 bytes lib/hamcrest-core-1.3.jar | Bin 0 -> 45024 bytes lib/junit-4.13.2.jar | Bin 0 -> 384581 bytes lib/junit-platform-commons-1.9.0-M1.jar | Bin 0 -> 100526 bytes lib/junit-platform-engine-1.9.0-M1.jar | Bin 0 -> 188148 bytes lib/junit-platform-launcher-1.9.0-M1.jar | Bin 0 -> 169228 bytes lib/junit-platform-runner-1.9.0-M1.jar | Bin 0 -> 16516 bytes lib/junit-platform-suite-api-1.9.0-M1.jar | Bin 0 -> 21238 bytes lib/junit-platform-suite-commons-1.9.0-M1.jar | Bin 0 -> 15305 bytes lib/opentest4j-1.2.0.jar | Bin 0 -> 7653 bytes src/test/ExampleTest.java | 17 +++++++++++++++++ 12 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 lib/apiguardian-api-1.1.2.jar create mode 100644 lib/hamcrest-core-1.3.jar create mode 100644 lib/junit-4.13.2.jar create mode 100644 lib/junit-platform-commons-1.9.0-M1.jar create mode 100644 lib/junit-platform-engine-1.9.0-M1.jar create mode 100644 lib/junit-platform-launcher-1.9.0-M1.jar create mode 100644 lib/junit-platform-runner-1.9.0-M1.jar create mode 100644 lib/junit-platform-suite-api-1.9.0-M1.jar create mode 100644 lib/junit-platform-suite-commons-1.9.0-M1.jar create mode 100644 lib/opentest4j-1.2.0.jar create mode 100644 src/test/ExampleTest.java diff --git a/.gitignore b/.gitignore index 732a567..7d29c5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,5 @@ -# gradle - -.gradle/ -build/ -out/ -classes/ - # Compiled class file +out/ *.class # Log file diff --git a/lib/apiguardian-api-1.1.2.jar b/lib/apiguardian-api-1.1.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..2b678e154dc72413f3ca9030034ce95db837c052 GIT binary patch literal 6806 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 literal 0 HcmV?d00001 diff --git a/lib/hamcrest-core-1.3.jar b/lib/hamcrest-core-1.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..9d5fe16e3dd37ebe79a36f61f5d0e1a69a653a8a GIT binary patch literal 45024 zcmaI81C*p&lQmqnZQHhOn_aeT+qTtZ+wQVmUAC*b%)j2bGxN>8@64Yo^W@64;>nfg zWbD|nBO+5l8W;o$00062fW7oo0N{VzAOS!CWJOg3X(i>v=s(8+02Kby6as+l+w|#c zNwVhK91suy0OkAnzfENYJ+q&~~XcVMg@)Q>u853k!`i`Ur45 zyu5Cd37@2HgH)`Wy1`l;*oM6)AovI`MZ*5P^GAe-{5dEZG0FFgLIHB7%e7m@~IKQ2JFQMZ<9=GfFm*%A&yCZ2FhNHwGWyrhp(buKg?hqDS+*3t9 zd{fJ?i!iu3WWuibV>u(s!C7Y9Ec@WNo2&8wt$(Q78NE9faKyXMFZx?z#3g=W!ggoW zxBju_^2Gk#d1;@npM{AJMlo8%y|Ejj#qPY!E?ZE}{zt!8D)Sevt(Mlx?wUpBu7Pd- z+&=5f)$cT0MHpK#AxKNtLgIJ;1o0;w;U`Im=XE0^FJ`(EW^RqEi|ti|O73QiforP# zZ4`hWX!GNBWxLS!_Nha8kt+qvaywJz^&^fC8TLt%rr#0pz;rRNvOOFu-M3nI=avGe zGeQvShWz>WK)WN5I{5e2?{Wf-#LUiZA$BZ*U2cs9(rD%v`A}Y>;3#xQ{>62Eo>{k^kl!@X(KI9@K zP|&oX8WJ<-Sx`mN@Uw|3vJ}OpTfpgEQ$i8C2HuxCnNO7>v;M|S?XW0&?ONp#Xsq{bsj*Uh;RjX%HgjZ zDcD81yIB87fQn~>(|C4lNp49A0PPu*kkf1B#@2_ChL&1Ygu98+J^LoG$hkZK#b=S&+3y>I$q^Pesl7%RmMS5C%3|Beac-R%1#O@FxO1 zgA!Vxayv;1V*Dj>CYT#C3woj>nT!jiIa1715Fwi6L6eK+)cMN&Tz(BxQ|^%LTr5K$ zk^Rrc^G%HwiAcP{>{ZKiZ<@NrpM`v~-eSWZ$sa8#XjdrgO{MX{fuTSLc!5`kTVoSg zkx^J3fwyDpx4}j+V|NjI`)N0O`^5TV&nOHkC@tDhIZTCD*PJKU(a}w;ry|kT2x(5AaXMUN2y6CRpK%|^ z8zX`PGgBCxWr6}~wM(DmZ$S+2^~1@X-|@^qkVAw$29(R2s*U(<$*W+veIM?&1gJPA z&jf1a4fTmkn53m2AI{uCYb&0EV)^%2xmcvmVyAR)RO^<|r`!`65={#m>2uhQQ>R6q zQx_b-V^1_t0Pgy{x}^j^q|~2G_ahv3mo>AId%ES4yqvQ~v8lEeZ_z%B_ieJ3Z)0QK zZgcByNKyTkZ_(dX1=S6VKZE0a81awaxMFw1BjKIjVQWvH5&YC=RY*#lFGPD|<8DG@ z{dV$TrV`K?NrvOmfP+?bE+P)Njmu~#HT>#nOqe*YgBh(ThQp)|_Fic28i__O?DHtS z4;ay#B`2=r(=q4#h+nQDB{wf80Mq1S%nkyiP{Y(WV@p~AV#*upqgtb+h`}c<5-t-0 z?NT2Dulu5m0bZIZnVAoH)2|uZ>`B`M>^)^ew$8l6#^Z829~mNHxDT_>If7E zVJZSK$$4y{Q9kc!rXpDH(YAKf%!_SKQSzA)*@R@N`V{}zz}8bbEn+T??gM;5gCjXS zh^u~U93JSUN$b*BTt2fqUm4q*p~FT5wH z!9xXmu2r!m{0{U$Lh-o1|EI;6AhI)SSfnTj?f_6Oq3|J3W^^WA{|^!L0%)^ARi%AM zTXpnxxUoy&%^J!kUFz0O%vO6imp|qV16Bi8gXhylzQHo*=yUewfamJtOZSm8hre*d ziAQ4~ejr!WVOrINRH8K*Qu{UN4F_$FD6}$BZDvR5@KAp7-qtVQv@q30h)M!0D_ZYx-={x%~$*|j6x@uqG^rA#UV;D`c4 zTxv57a%R2oCZ}LDmAB1J<%hx#^|gV~FUIvWsNA47P^?iz-xx=i;F4>KOiX_Y-Rr^+ z-Ec`ePh78D_TT?~PewAJJ(R@>8vF}Jfs=4?hmcmqX^vdX=V_UfBu)yMBwuy+6m_mU>2c@>7 z+PLl1WXwrH4SkNh503CP;up1p17UO14ZUS>Z7QorCE`_Llo+vhjLss~uGOIsbEfxC zZiTU1!R5K6stovuuLs0S%G|r6Dv7xIE}m&@_e}CPkj9ttE-0>xU3}9nGvn(H@iW;k z{J*Cf<)rvf+CTsR0^dnH-v5?r$Qn2snVUHNm1e{!>pIN~pzuOBH35dqYgtr(+#s(* zsg0udPcOQ97rKaHcu&%dL2VF1Ceir5Q~S)n?!e!Ob8dNafEZRz+FzSKC{L~X!S)s49! zrBz7HE9nzwy`iWhIr`{rbNtR*3*Y{`R-R$8-5hGh-b6lIYUa)Z^DIT<_I#_ILB;45 zj2zJPz=<7*z62@tS_fz}o|$|Y5_n$(2726rT7BIoG)0P44DCv3*iie?re=h$-E;GT zN1l!6J?#TXwKvX9uUCfH6cCj_=^5m%*j z*M`v>9qnGo2C_W^cXFXsYM~UKT{r`$G`*;dcs%-U^GdyrzDa^u-hpp*(LTnIkEYKB zg#x|IHI;(CKqTeV{|fZuqY-4uF*=g;r-n!~%vUQ?fh`DmWgDgiYXXtnz-5{ex zTYwCd9eFoP1;7%z0^F-j*n=X!pX!L#Y<;-PX5m>xs9|xy9Jed??lk+PPj37Ch+lis zfGI+&M0B2;FYw>p@~*f3Pu{mXPJTcB%`JuPY>h4cmHUz~{^gc7(SlF|3<#oM=FM7B zuB3FjZEW{2qWvLlHz16#Hc~PK5qQ%f;5Q0}kvrr3llXj-Z?#YRkoh9HM6wBp4UOHL z-=bc6psS%&O;EG(@;L_?jhndXVVp%AQ%k!n9Z_wWwdzoPw;28+%vuTv;-w$slxnIw zEmz@QRK{tcZlNTJ2qE?B#Sr%tum@{IPzF-$mJCBYZ)9o@{-HeG`+w9e{w2lVS9d7Y zzh$!icY;syPsIJdt^I{NLJ1x-cd-Vd!YZ`t43vOvY2cYc8*rOas!eU35ff?E+&utXsq1i=YQ~QH z`jBQl`iKSswH6dn1Z>6zvKKW)bvsYpVpMIz&PLm6ZM%#*Y&u+JmtI5rFm158(XavZ zT0vr>3aT^_Yt$a)()hc@JpBSp+nP&NTPWumB>vpoZR@G}_onh!IBh)%vAQhQ=-RdNgZX%P)bJhv*h+`h5gTcCyRi;}2fE#DftKNa`hpF3@| z_Xkhxe39monl3yD{(X0Tu+AuV*_n~6oto{FV~2ME=*=tIJ5uF1uB{T&zFtY^Q#P%J zv}=yJVL*RKGblm~qJJG4Km|#Z#EXfIDnZ5FXpA~S$=|Sqpq@5HvIZ!3>jRUsYz7do z7JUL4DYhONi?mGB?8h*bhS!wq_^^j7YJYn{kik|204wDxeJocCCmEy16 z`4~C{;F~hUYKn7PBLmW=1DI;mAEZ!7%O`W1P&*N$`@-Fu;H#qqHGQT7OrOqt)}7PL zhz?wE$UvP(3DC`w7dQvdH#t1;#WmU-^`I*|!zi)1LVpFfSCrEvy9NJy%ppIz9M<@z z!e8H1NdA8VQ_jx$Z`ce`7W@|{ex{OuAV8~Cr)b%rQY&cx|}58su?>Ovh}x6JCTwlwa@ExnX2Z!wu*8gI=GjaS*S<{M<^?YW>ku9$(>j@`FcagxfEDjg zZuWp51dLUJ4|>BqZRfGQ-=3lut(Lk17OmW_oVs|5>F>L0#KDQxi104O*s*ctn>mSC zGao{b!R114pRmPD@;ht%bMo4nU%uOXja)r*8Wgt;{Bl;hrY?&Z0)|F&k1)4}$ofBP z5cCJ@^x2D4MjF7MQZ3q%YmK_=hnaOUOWi;f&?HX`DNRpTJp1cBE~!h7QFVo{&H9@# z)b{1XkaDPRLX<9k7m4|Gf!&r%KwPq{pnO-w=He5o>YPY?<4-b50F*b2O}20dx(*#fP@NxL@Mi2p!t4ntJ~>96Kf@mF_z`8dSCpQR$y;ikE_<%q<|X!DJspGuPKqN$p~7fKRmGK|@cI|M&+X(mttr?tVLE z#do!v@c(vBWoHxnzbGR|j?s2N03jRH$Os%lHM0q&xL*oen}vWxT7qs8obKoVhso^x zDm=NiWCzegWeBra!oSj*nY*!*`R&h}56DeqeHb`Au~6KS%ZsRn>BW{Qku9psT#!Qe7i z>@WSBpS@RcS)15S7d z8PLX;<4J@V*T8J*o;X{r=JI2djTF}Z%#^=n~+#DbvD%^-qP`c zc+l9!X2Z@V2~4!CV^XAB;(%2u)`R>-ax1sG-&WV}jsrA#tu(z0XJVO7xJ>+&=gxmP zQPhbRHS~(hnBjhDKk}^%sFJJMT8|Q~TFX6U>L}dc{>!nHxF8KTqQ)H8wd_zv*0tNC zF$wuk+ErT7$|ZFS`jXP}Y$TdtjzXZwXlx>P%k&^?T9-w0qH+SA9e^bVRKjkzxM7pW z+X-Fc)x$+cISKzxPi@jlAoWTC$$|BBJ91$&aaD?^d!@a#@sddl{*~CuK8SkCY=9hO z5Jn7P7FG>`T@JFjcDl6nfd9!om3v2OwOl?Mz<>YQf07T zydEOtd;Q6Qcf5632K>`0>#f6pc}bMok>q?fGl*;z1D6y7NV-&i2N{(gkaTF<(#a-h10=i$Y-(|b zNhi;MyF)~uP~|iA?lNfdH;eV|;xLY13DDu4^&H&dbzDOQ4G6^PBh1i5ftWmQLQT^B zPkI`eIHoO_T^2b|wF&o}sHRJ(J<4DR_M8v`BNI>nWy?d4*&AHM2N7Sz(7~>huQ&1# zWvUtMiLtng)LktHJegHP@4>i$nL#^#?wMmn5)C27)MK4OC;vlc{;O3bI`dxC`VGw! zS^xn2e}|`|$$!dBr@s)oqzUPbV}k0JbYYr!YTuOHQcv6BpIKy645ZZnBFvRM%u;O& zN2r!-y{S+UMHm&(uN0AUq!kKv};5sM>%y3J1hf;xk1=T*5O)#GAyX z{2n0a$SyJo9?7jFQXbK*1rmIMyGDTcjv`VVpG?X`H zkI-Hvls9ZH$*l{Le8O`m&~~sL<&DiVT*Nii4ev8wL>cNcAP&*3FcLq}tr4g%5I^ZH zGpH|Iufk5+4K-+Pfd0e{HfC;0K9y;yY^P}8c*m+-p)~CNNT@O{^p&a zgv~Oa*p!R#ef=VsJERvFlim#@L(R?o)tc2rZx)A#%bBIdXUC1@X0D$KkNcsSy9`y8 zHBGshR=%4twOBljR?IBY~x-fR_Yc6kO2>vjNdE8@SJ5NnNt2bi>0!Yt477BU&laQprGO z;8ZYjX|q=1cQ9S7x*i6mmR3-3w0d!IhMIO!wEM%*PWFJ>Dps)uF{RcRU&y^Ab>jdB zi@lW6B`QJIo{UvtjX@-u3TToZq90Ub1PhbZEgM7utA)N$hq8F{v}L+PWSv#;x;TYE z(|#*B6#KuMXvCLnNmdzRTnrvNex7QGdTP3Xkmj@Nfbr;A_SYDK9v5X_=aYVnk1S{B zo=xshFb5{x12!T-qje6*Xt(6bVco0o_WpdwUM;t+n3`v>s4Qk?vz1kDHhu$+iZm-(m^Bna;wfoOS8fl^`O*sIHuu0!wF%ov^7Fx@ zmq8v0X9hhL#A=)mRce+e#t1bRA5`4wm|m<9^H_P2Qu&6Wf8MaVIYgWtut#hZ-Fkd4 zg9D2O@we?muAocdX^RY12I>i zKyt#G!?t2SSf!Q}{nPqS-Kz^8#b}vqAEHMK_6Xppprhk%F?(_J0#;aixXpH(GuopK zuJ=L-{i_cQ&>ib&MeB~;>uQaywRKl*yVMZmg!ef_+&2$l+yaUKkA<+M)ljR36NY#W zj#=#F202GpJSJDTR#wo4YKAH|XWI;M3cDJ`j;u3^_BfMt%~-hb#Zf11^rZhZvB*mc z(}oFTBewOC-jL~ZLFiQ`^o=|G+{4W7$6(>$!V9vD6KtOF7pommB;8M3S>f@STKHaI zA8^$!qnA9>mfq|G3f)!1Rc(xMjB{5wqgPI2Q%9w5-6`?thYv-I;BZ7S2D?g*G%a)g zT0&FdR$!yg#nR4sfBlSvn%LFC#tpN~waKoxak%GcsTfszSgpX*UNVs`Qs1W-cRyxi zffxS6@L!8C40+(n50Gaa)O$r(d0xaq-cAhb*18r{Ja=Wy=HJQIutdRoIFAO z7R##`xQ8lH@_H7|NcI`gf!W5c~h_)NVxY3{w z-v!xP+V8;-i!#Irk?z8v6V>pRM(CS9Hpsj0*8@~{tW)3VVFvU<4MMHwO$g&=f`$T#^{PX-~|$%YYhCOr!^M;#lv%chQAMg5Grm~+FhLk z{spY)#v&}}#$rr*a8__TZ$y~v>km7+@yjWlg$p#a9cT{?YGc4HqF~*TK|NN=i)y?J z8;DME4afzB#%{XVOt3=QC)Yam5})yP~A55^cH0gqNgyO7#|`c`n?Dq zH38$i_+L>TMDigd4f^RPX*YGBw6BkaBHPoXul@)vv0*-BBp0{?y!E-;$a#PIee-|F zcOeU2AqBG76QF*wzri~axIqhIdBl70#d~=ZpxzL&y)wY;xZuUU?jkbeqba%LhOU1B z{aunRWE?HMe9P7DZ&^n0Z#kcfle3-8-^Yi%t z+M|kaW2oR!wmm{{tRX3t=TkH z2UlvR4NYlLQF6mzv+`?|_k<~D_9MVpo-RR}DN@u2VY~Jk=zD>C^5lsx&DAZvR|tji zI`-XR3-dkzAzGYjq*(ks!CaYE01?r`m^@$C0`cVj1XcThm)dC2#tj^oFL)hz#C)`h zLUuYI?Yy9|V?OAZSJe>*WZbsecsjmtpX)`4wRJ%o#lKT{FE2e84K2Tbl~0T4rhZG#W-nN@)eTGs+sJ zlK5ime3f1hEAPQGGZH=2q%;YiYIZ(?k62Ghoual7mSNoDI;&5B0q#Dwag8W1MzH02 zz#+|qHjEl&+w{_IY-igaNj zlBFHBG}~Cxj}+Tl(zgo)#bqMIR}hH!{6e~QXvnZFwKg3zRok0EN-hlKgZiYny&zi! z!G1WL%;5Cux#q?<^Lu}PN9_YvX_P2R7ov;_qA_es6NEB_Gr=jf=MNzcor2~>4I(!* zd~>WSDZ{wSk^W3&*Qv=CQ-4$9lnrf8RZ(iibfxl3t>g_IYG+4)!Nx5gn)tDZ-ZT7G z1F_4K)yaD`al_{)b5fAafaAimZ2|N0>v33weL5)OQEa)h{^Sn&Hqgq8!kcIY7VY7Z z4tRdWY4*%7znP|TjqKM2OanblT!D(_l};UTW_4Z1Wc;a=xC8EU@s7cSXVZ_F%FmKI zm&WeR9x25YXm4$vq+N;-?BTqSSujTqQ;x1ukE@P>-7BMQNHL+)GG*<_YARX@R&fxE z$B=Rg^?>tKVUj@sur(ApnCwEKy04b_g6CEbjJ=fErVrKJxu5^xKoRAp9Gw;gYS_6H z3vgu?-4=~Pr^&+ll7#z6ml?fcvCt>cVcGn1E?+0ji5>&htRrSE zjCb(4?*eV5Q>ax2s2q5~*n2y_Wr~4Nzu8@!y9k|j+PdIHi9Ix*6bN(ulIhPPI*%o? zdnKIXV)~q`a%RUG<>82$z(~8a<-Nj{76oWPv37gKMxcOpb?$<61?J*~IcvYkI4m)E zpo7ICh)YYpjzpMv8^q*Bl{6f2_ zz|1Yi@)L*RXEttmGBvn|N$zs4x4;opAeE59qJe(eHWJt;N0>Ss))`Id;KpL{Kev?6 z9KXGWO7AZYLLHd^0XEMhyJK?{YkIMDYhqb3S z$?QuF;z|tYzL0;x+e8{Pp!iwEpioY|3I zkG>bQ5xv32AKQ&iZz(P&YrR3Y2b5ZO5Gc9Ie%gzqw$l7I6yvY|9tr+yE|8C(Yq9M+ zG=lwa&HDevk)`E{1Q9;55)k`AT~u%C;UE0hL>k0X>>XGc3GIIv8uG9T53*Tc&odi6 zo(+E)@uZvYeYfi|t@_dvhHnv%8J1K}uN6Wzgg!E~SplrVJT!AK(IQwix9;ef>e z^Wq<>rj`vu1gaooRDs`1Abbm>DYGz*xsEzWv()(fnmnV(hd+)UPA^`?;!UAnBz03_ z+ZS7d&^fd!s_z={2^mRHj*iSVWP!daP4M-Pb}_M6*xls!cRu`0hyT_t7O^le zv$b=wur>QzCY6#XEx#dvF#46n;c(Fr5}c^CK0g}q7%>GQEk=_w z$`E@E4rx0A8b>Pv7~daW)x~u`k&LqXY>>yzmzn!K3txQ&!1ZQa3{akyXD|~Mct&-#9V&UmHcPE^32&kAFEI0Szs{Z&LRHi-QOD(XmTA2q z;hCQa6YealUYD_j{BokLtn@N$Rp;KXn~hK%XY@{+oAdtz`>F_RwZd!bbGthZJ4!#uT>)WEP$5u#S6&M$r;l8ZH# zlh9dRN!^geIsSR^N>w#*;bb2EVz@-ltzIXD2U7>GoH)qQ z<-N&D}P|j6$WG2AnCk*_7mpkQEBHA-Aee`u(LBhvr>@E zgc1JZhMCr<&&RFpK7GHhPjdgPpRqZ8TGcn$x?lO+Fy{w*0&*1gQ7aGA^=1xXG87an=2od|5LlKD zklIE%T~@ems$zvls>_a;8-HZURVv)-OjsZ?VG>N3W(|l*ry6-s!#p+a(#VB!Sd6J+ zE-uLh?aA6|!qGpivtD7DP8|h`l-aJUE;JAEGE{8!ESa>iWIGL-xo-O3*U`H$-1Ksd z*BfID=hIg1s)E{Z+t`=|rmD(zj=E*StTX`k<*X}b+B3S%41|P{MfL(i&>t+i@I$DYk(;DYTI*4T<+>no7;Cw~ znbjqQfd2fvPi=J0M+~~yc=#Mka4GG83%(mpIwf4l6ty z`!a)@W4u8nwu3CplHPJZ)TZAn=j6UnD$7ms27NSq6P;fc@*x|t_)2g3TFitl*0x6# zXC|-O>4m*;DP)p`12<>Kq~zkH&%OdS%on4G;NJEh*DKfx}5iCzZ? zQF#3zRP}j=R;@gh>?4+0I0J=-erXavH6G-arp=61yb<1j9szjVQHCc;;3beJ==Gam zQX}mgzdbwW-KAAf8E^IK7oDsmz(VwvVGwOJ^xWXhHGIO2?;#o@zK6c>{2qx#h$CR7 zYaPAg^a~CKI!t-3(4V3yY%;Z&Qnbx!pxptxdxnw*Mx}kC)*{QM`(BK5+e9GSCD?ik zIoEyOz43cR-0@ZO)q7L17r#dxLdLW*jS+Kx(ICjX#JBDE1e2)R^8^GB`O0?pl5)Q4 zPTq5xp3urCfa1$KPJwvu4IQh+|LMpkW_ST_A}@zjeeq|u>leWyTM#KZ2LXMe+#bPg z_xl6?ckr{in&{Df$HspN$bXBEf8)py#lPaCk(H6vQiUqQmw*?e`;DQfLPZ%`zZAS) zsw`8fcB1T=J9*GJUXy@Fq=5#?54&r0Y@p?t_==e{9 zUFK?LYG~rt!K<=%J`P?XpJGGWOCGa<;jyXPnHTvlZHu9?-y2#1^YshX(G4DWcO_EU z=1z=%1Pg@B{R-$TuV{O{5FWo6$`K)?>8P%@sZ@nfC;SJox{%Zr+#bLp8_x=lJhR}^ z>eRN*S1IZrp#FZy0TQQIP~Q=D1MGh(?EL2;3pzQOI6D7lfK|~}M^eQ24IbZbARlGeThc+t`C@HzS&FXwy9woo@2>p#=KRW;=mFf*FZ1g@lww zV%_A9%$dpW;uv0pO(XkaDvuZghU&ED%U1_AW+uxP5j4AwL}h8Oih@5*3nvUwo-qbg zx{Oe_g`U~WO_`Y6N>e(D%xadbQw+#34OFffg_cagz^B9yNm%sdheF=uUd4x#A}jYG zVf!jhrn5@AA)ajE|8*LQ^yqOwT zAq_bN3RX~eX;QT~uQNmS=tw@zpsu>qCNMph7O71_BOd#jsqqP2u`;#x6}P5SVX}BR zoJT%^srA#EfUizkueAM5z@5K3Q#ukB*qjTB*j$F(K|x!0ObAqC4a5ehL2K&=>|3jQ zm-0iZf>l8&tLEGf9+IdK=kB6>LC;rr$oTylT#~Z3c4!AzQCCx-z0X4x8Bw|h$wqH- zO*gcE!3g`w#~KuCzn3taE?`^|JrPV9SFPaQ&6H>@jlV>@3c(uchT?R|0Sv0SMmZeE z8xYRsHddy~nxa9tE|{)JUK(V6+6eE& z0Y^iJYz;a`E=Xkx>Yu<|K-*Yj6tpU1^nKgyz zNhV)l?_L0Hy)5c3GU_12Ab3)$6?)n(vP&3j;1GwHfd0>!o&d;X>&Wj6rS|*rZ<&g+ ziM8oplFsluz5feH+z)mud|+T;!eDZ)V6LuUaAIIJ$%}gjg_FgL@!n!!ny`8Ah0Y(* zLz@SMi+e~u=yf`RlBT}7&88R%4)(qlijEc9rgBuoLH72Ra#$jwN~U@pdTNH6M8rWX zk$^v?Ffc&`BJZ7${>(poBsC}{Nv~pHVqm6Y2>2(2Bm`sxfDRe{08NyEvHpifaTFNr zx&AJ=n0^O@f72++&W_(3_&0U>U9OYI`YzXr#fN|n6B(j5H$4VMMLsQCRsNJj)=ILp z_SX54%-U8tq4XB_s+FW>DZBpk`Lon46&3xrIlk-TWV`n^yV>;n%iAAxe@SZzjHG@B zI%5B-XmAYp1Xe-=C3owmY3LR;rR7`KNDMN_^_$7JE zmcldewWWQdnzTis5PBw%R2JPvH41v(hKZdSOwwtDDJw2NeQqjyCvg&{p*u0f>Whj} zvd7p3yOd@sVJf?H@U;d{6&8=Baa--uQv9kvmUD}-v{SPYrSzAy0`_3EMT!Fq89ji* z)Nio)K*Q+bIs`FDfmc;6B#bay5rW>950Uiw>q;1&^Q{FTY+_{>7QrmUZ?0DRP6_%s zW9rQ^a~SZlpU%@Ybn|IO;bpuj6B}YvG6zHv5Ia1y81jTC$bNZJ2^MyoQou z2*T`xv%gyr`l0ls-I4nNQ0if%G-7rbmoYkc<$lfjO}!VCYOf=@fhKVlsZo|V4@%`^ zW)3Tpva8~70(MU`%obY8Ry(GV8QO08Pqa4AF!*ibG>K@7SD$M=sO`q1TfFY;HI6du z_T1}evbMfR#+-|8F`3iOh~B0nriQZ$Ohdbgqgy=aT1tO7EnnvUiKe0mQ_z?!KGhc`? zK>QjOZ#iImN^f{M4*!ciDol6yQm#I)<8g?RuOLSuPo<}T*D1gro6lG9{x>PtqhU^w zi-=#|+OPqa=}>?i0t$mrkK!FwF_rKrPGh+e2ztpchTL^p2{!HcA!Z(O8o{rDC_ayX zny<1vqHP+FvIyHyileI%`6S~xD$f?UkK~1p{QM{LkA_OG{v#FRi>f)lzcZ*0JDEw^ zH-kccYZRJ)YLx$~ZvS86URBp=K@5c#n>vA51PA-U|i-4;sf}58YaLU%+&oL0Dt(th6ZKAHS}h0X{*-hnzQpfE^n&` z+#VMmRc8N)1nF6@pZ5Kyz_3kychT&OJk(Vo$$oAihb`0uJ<+E+W|YHZ_$nzTD&_oh~&{o@o*pYf9RDj7rN z^9e8GCAE%;#Hw=yxyT&TwX)3^vqqXQ>D+XJt;;9uy$t-r#3w*Vt_8NXeek!7QI@tm zW~7$>=HLh&VRE65YTJhMB=5|{YRS7k3}&_7m(VYfwI*4+fXvy@j!8QP3F#bKOGZUz zo1T_!Tl+Fw7Mg})%bZdJ8;n@W#{k7USD7@yC_^Z;Aq3O~^EKR+Chf{k2%CKyq$ zk{Y~5u?#U3>nWHAdJPm}l;&DRd1DH_HnVVx0TOUS25)8|u>N9W&n{Yb%sVC-yO$>R z=Ze$UkRB~r%Uu<2i7O|DY;LXyLOolpfS%Uzht9!p=(!8g!9(CKs`DJ5GD&L)MLJx{ zK~_brVa~~Nj*tZ=HI?_!H>wKve4>ctn?vLGnnEzy5vrWTBCMI}OKmmdUqkVt)$43- z-Z|}+hG1qYC=4_C`1)3J^H_tMw{Td48AWYG0pJ;=SK6C@-iQyI-owd%cxH8I#CD;y zBc|Dlm>TwpP-WOIx$+L$-u3elH;LMgbsW#Smsqm)5}KScW|xvXM{^K1pHP!JgXFkv zXNJ;91|H2iq9G0EmeoQx+0Al^RTjGS-w$9%cNgozpr5)$s(shFG-V9Y(#+GYMEA8D z2EWbB!(1QF^yrezoncTrY)#KQtmvROx>}HRYet8H8Wx>;gBu zT1BJ65%3FZ(RT@ZH%5&CQ_O^a9>*Kf3k^Z`Ze8|RIPS7=W~#->BtbizCW5qmDUj-8 z4CK59Fv$BM z1j!vxg!O8FY|cn`1$AU_apIjDo}rF_GMrPxl@Nq(47iH-V=aeFh+$+IJ%hM~km8T=sMYk$2WR zV^Mj)l*ueJsA&RGGLH&oQLRgUY(B^E@~BujUfrN)lSry(y>f3V+6v?F7?bGqV--f- zD*~F2)F;pGRPM5`glhp?=E*nkr68f*(L>ZeTPmkg);@>V42?7*%lhm~f|3Y@oP#;K zRmWRf!Gg~y{R*r@-$w>hZ9Yz-69o|^D}$@mDpm1NJM?nIm8cPz$g8}%Ga)Q?j!l;+ zarY)Q{!IsGa5y!uhdSKg>Jai&HG)uB2>~~j`i+%Y<`G@kN9!64=GaoU*TVK-oPCB_ z_cElTXyb#vB6(e0Ed~T#mSO4X|D)`kq9l#7tHIEh}sD zKWDU{nF#{gm3{KJ4l6I%=uzy%8AV z@cuNyDY~b6@u3>8Kg$ereOS2G4{WemM+76mjIcqAbW*#4QDbmjR<9J}CH|4HOQIKQ z%g`F@bKOXS=u*4SSq{;zWcqIzXhgqbk6u-N1~)G5t1NHqa{xD4V%mXo}e z?eEq#_pD>jE3|;lNq%12wzfzgR?j3&w^1IgOAvG!2Cg4I@dFBJMVy?0v7k4M9hrak zx`_<&x=6yuq57DUg2Be>z2FPoc7i26Y<^}%85?P1VA?M9UWln~ zImor%cyRmqgi>^$DRt;S$xfN~@=atByyM76uZ%g4Eie|%J^jp=N561Uy$tu0 z8X$L6@f;{cK+eU$zX9)E5jdhR)9D^W?!Ql!|88;N zx3ZEo`Nv^lS#`q^SsCNYI%8U!A|HLASS2W<#Jp1v(Oi;6j;_CjfR+}t%PLX2Gmgx; zF&OO{op0$@dz2mDOCKkD-hU$M^&qh4_2_G_@HM-!lYF{bifin|$z-)|K-F`eYb?uoc(|tHp)mzRx z%~;W#p6RE__hl_67RWbCD@;6E49AcAGlBKF2$QcgRNFRJ2L}p%UnHJE4;^-7r1ipP zCMQ{OJA7IriuWUV-r8t-+9`_>63s*eJldk=%_NJHi>(}|%zLiA=p=F(beQVj>66(r z3NtMZy~)C(t%W&@45QS0e6(@!yJHk?w1kkVU+WO1ru3HPj%Ay^LewR&-t$Y)FZox{ z1FO4jmLx=Kbl$OLa|z|gG-f9L)#9LJO3E@STHRxUl50Bn{z2L2^N9#!H(QPCB&6%8 z+M&>=2vbR9Bx6*IDgs?Dr|0#{A>`ndkfdx18S9g5jbnd`yUOX!6g}ii)yBPg^eSN7 z>nl)3ms!fYnTF0h>)Eb4oYv1d;xd|5gC0!JAnI#2Ub93Cn)_MC#AnV#=8HD8mllG( zLG}O-h~o{sb4W?Sc?&{-gXJ zcYdbTBe!(#h`Q|$*)e2(**5c9`olKmRjm%eg$RFuO{j|^s4i@^i$Q>507f5DwOqSA zm@)wDf2vw_eyO=p>^;QJJ7C`F}sUXg^>{XI@afPrw!u@crUTSFg;_7~D1983g zfdFR5H?Xn*FSEd~g!))H_~^Ym9F1TDz;gCGZ%mm(G4_^f>sZbUk!bCtvw$zyYVNGJ z`%B~Oc5h*?rOD>*boRXI{<#1Ep}gMEuyl%>vefLJi43cZjMVtmXcE(`9ZCgv6O=Nk zp=lCse^^dw3k9q)Bo5bPOIrZB=$7Z&xX2t6j@H!Q<0iqUC!7>l{WHHm-6Pr*^dW*- zs5?)TR)gSC;aFKa<7{RWSDFzha{|5W)q*UL{6x3jn#io=U-GzXU4cDT9 z+sq_I1U=e+Oql$ViEK*sC88y_ z&{4OM^B$!~Lszf7Rr-k11$UduJc)jnE2<4-?j8YVLs0G>rjzI@rlZd zF6g5YqK!dX@>UrnbI$3wve(ys2eGbo(YO5K5C3>)_!%LQXVA6`0)vRYACfCV5=C_f zMXv zq@6mN$WdMPp(2(#B-d4;u}DwkO1+yEs2JsRvreq_y~$U_prT_hJ0Ke zAV70Ao^-xPMc}SWdu)MD_(EZ*hUBv02Csa;b7|y_H5!H=eej&HYrmUqTL;_Lb`x*X zuJu;YH^x93@ydL_J4b?huzs{E49GJzI$NFCsC~>5-E@9PJ?W9!pqJ?T;hXTN=@p}V z%V~4}veolVZN;WO*L9jQ15)Rh05S9D7{(V>m8to_HTu*IPA^9%+p~+P3&YEXvY~r^ zdK`MpMk|mF85AN>j?RuXq_VERsNA&>VrjWnY!z zqp5{oC7~m$1S1NfAmaZ#h{YLcv~|iBjF%RKBj(1^iqhz&FWlfgi10))Vu_*U7d?k<Zaz|9RI?WxxljEJKWjCJ|sMAY-Kg zj?y=+`a?*XeBE^$w-Z;|MXEd=nWmOp(RIW+`-15%edr`BdkxnKjTl7=zvxz*NE#5IQ>JUKo9G02LGF<42{GgMe;MAR1VjhA{aO^Ge z8g{wn6F%SHbH{s++*oJD6&YOFbC~WpxpEVZ9R)z&a*v$PX}DBNq+aHn%-nN~>X@_{ z*6PvsVEdxA9r+;b9HG#3=^h?PP_K4VnWk6Lnx%^3tW<;^j7m^mtff)MTX<}?m^k4> zasTTR=2L`wF*Y@22bnyK=0`kV5T5romPfHCTyE|;&-j4~k2}+JrwV!Fqu(;QG8sjG2D1ug=uu~TF^}w-u~8e$yFeG?DYXwD0rEOX-?)E zBA@@aaO(h)HhL<{+C*bLhEA}$33Q|KMcQW>^o+F|$AP!E0if$t>DWTd_7JD+fdwr* z++lSOtgV6YYn+j}Df7{&ER+L&b#hL=!%w?2dIV%^Y7X3qTCi4*zOehRx7pPFlyVQI zecvCDt(iI83C6PzS(^ID7LMNOJ7BHV5Im0j6O(9HAPzX->C&E~t(L;rjV^8v{MP9g zcdih}S2}=i_D~xpN+I2Q#xTZU+40+I_(xP(piUnv?UhTR1$~VWcmU1&I=P(FdaP$1 z1JhGM#-za&0ssS7WJ!=y%e@zJ_x?ht=l5rv!SAvVE+h!Mzb25&H2k6`q#LYo4 z3ULYS<{Msxa^kC#f@Dw?9QlMHa$5q0rKOB-M`GOUMMifDgg( zG#RI@IH#{c3Nv$2R^zRe7SzPZ+n^o+4A>w6(G^183wTz+27(hf{?jN-3d(roZdn3Qd^uxElq`lpfXm)f?Tp-8H^A-dpKTv!Pf|lDGye}N`nT4 z2DGqcz8Nh_weh|_O1v*fF7rHZ(=&!cDq(Mg3EV*^fxE7n926E6v`8{&;Y5JE`OjDp z#9@C9lBu~MOy{VA0S1(id0g1Exr2H1bB~f352#_j(uNPw45t!vI_WGmQdp{F(bS0} z#o|0%v0}hJ;%mjwoo8mk!6p*BwKOAW|0piYkGQ!wOX@`uy~F-t^_EOeLW2V z5z-%JH(yz4Tdh;FLD`_NIdDkVA4CZ#9DcVD!Blb7dfl(!m)mU4!pMrTfEi-ytA74Grp4- z&t;SSGae$rW8WaWe=`z{3SqX`WxCz(Sq{HmZ?7kqnu6I%icoM?w^^g{v7dX&c zhhAN0%VN=(a$fuAiRw}TMMlyggCP9kCW>h}KygZ*#d1`y`OiY} zhIcblw~kpEt$D0=8KwLrqn-+RY2=FS8e$K+8nS*8p=kRvx%Xeuv$M#Owf~JClW+9! z|Nlmhu({KBebK+*r}#T)u=pK~cl;%#wU_}!=P%%oCZ^~=Of7!T2LeQCt=t?jfoQ-=3V#X;%Z}JbNTjhJWBsVR=!aWU;}Er$!xzP z@U!x@*#zJp9tuN6=ui7#)gjE1G9#K$CC<3c&94ACZ`A3Ty!k)c+PR|VmGmG>W(j;Ly5$&svAkc zEa|bz`MQ!ktgbLe$UP!qv16^Y1cLRQ!LYG>|A?TnV`8B{Bf!j zA%gO`!hr!D@3+r4MM?;XU?{kmvK@x2F;G00F{cMEvEGz?IZR*l0WqT{vhh?pn`kxm?ZXE^I zVx@h_iss2^)?undy*O3YXl!WKVV3rByFpd2D$ULujUpeW^VxF|*2c=ENig>6sLFWb zFtnwL616ulQw%tz32F4mKb#7eQ{@>J(~Kku{VQbbm;=xr!BX0jl~}$Fy7cyi6lRP= zcOL5H)>I)>+grnR&6P-Bw<4a#Tf3M$q`6kUh0%fC$lT@k7-Q`|n{Xx9uasFQ_5c&K zBwQVCy)lw|`sC{*De3u&^uG&|IxP*+Y-sK3Y)ib7%gq-Djt)}IZrU7M4l((aH5qI_ z2K79tVQ_~+^;yILRt)6^^hs{=rWoQm`BFX3s_&o!a!pW!g)Wf1raCnzDcZ)=rlOBT z;!vkXwXp$hs){r^xv_w+Di^9 zlxPb_M)qw5;L_7-jZK94Msp{MWT>k-df65!q~)Y$W2#! zUy_Z1SGzOzpaszrh&|JXb$Ufnh{dDI8|ql`sF{GzMUOdAHbWyun?_7$D>ti<_#qO) z2z4m)fjf6t&#s`Aq*2QZ6Zp7%`I~j8eZo@ERAMbi{mIxcqia$Myui`|LeFQWZ6YOd ztcGbp7kSK&x}N=4o&3!($6G@u8+_u1Yzh2=bA)+8v0gW|?8ldQMGkv-@|g6JvQgga zp&b0buI7(A+y__4Mw~xhW{Tql3trmBe#fJ-Co=>Z%VCq2u4Z8T>DY~FatOo_3CnaO-OKuZatdjsN)&=&jL+#1}tLf}}s8N1*Z4>{;q4rPvh_Mm>KWi0=Ri;(3 zl~KN=krLuCH6;9zDA1blUjmeZqDdIPq3<_P2XQx@}D$2&Fi9N2e#dueV&UueaYiZSRhM_kP0dI(wn=qqJ(w2XA<# zhwt)s;SUg~ng~zn=SaE|sr79^pv50b(gncRkpS?19h`kY;OV7T;@dk1=hoaE61v_{ zfN%=@y3?oFlqLir+ja6!kH}Y{QC@YZ(xMzkyL6eVnap(PAh8^FT47SE<{%?bN})B5 z#sumxbuLWPNt}%6m!jr9zDN|eRH3zKP-Yzy%`KgGqhn7YoZKzZs$fd|L9;sCk*I4L zAv_8g0#t`WBe!o(54-=AA1$&dFK+6Ou%hlJ&_rWqxiZsQR-z^*K<0*8$1W8edQR}` zE7Bp@BsW!#o>rZ7H#s=)8m|ed87n6JBiDXq16IYFyqn97BQOt}lG7lWVHynSI7O%O zad|n>6M8?YyH&e%FnM&SWtNb&!6UGVdSB;8z&8i~)V&fZ)(@IY9QnDnx26dGP`@AM z?1eP9v8m>#%NC*2U0s+s+)`CVijCHvi8$92Yb3*Z=><~6+rWvZ&)2Nh4z@(s?04}+ zB-?18ho|$~;&VaBdV9`Ll)6K0nWlLvMM;sgK-w(BW}L_Se(XSIGNKrJ!-LCK~bZ(tNjf9THyL;zg^}yN}z>Wpz9AO1y@xP>>*`ui~Vv;%Aw5UB|1c2oJRmU$cv}Tct1@u zx(tA7mJ|&fq}dv*3MW{CqlaTLV~Ia4;(=n7tMyzHz&eMW$ii5D2}W-gPEA{EI~`uF zO-XH@|GhS6Q(AIpSJ2lW6dk0}TMOK}-Ouq)Daco)e%HQ(^E%VB6=|f9ouJo>hfR!M zzsb5BE#wgfUqbqtV#&M9DF_)2zXbx5l%m#nmhp=@DkLP_!_?xLy3sh>-dC|85VBga5t62YN{W%my)9t_Dm9VEXurc;S~|P2TYn zG-@~E{L?mIroZ+xh(Y+~vcP#JSNxLbj#ebWt27tI9(@6C-K%Z1HK4qYPNu7GJf62{ z5f3wK!t3i=_ai1S=6Y^#b931Ic!eL6Ug4Gx7D3#Scr!cb6p0XzI4d#fk%zQLpbdVa zLu1km)mAUbE^-V&wO!=3QO0Atm!YXbKDn%s^1#!s{)-6ucWYf_+PYvVK6o0D%c02l zwKDgWpP^lB3ht+FZkiv%iqT z`fpCiqXKSIwf{;CGyU8>^T6zd22Rjb4Wcy^ z`{mB*zh`JVP0V))zDH%|w;KPSbu(cXOfdS5K#)`ZuoHq)uQ(WH<2ebaL(KC`$cdv*N{?UiJsN8@Pcl| zqhNl)8fso}>t8ShVOMB#&P#>NTMt$p$}EWtFVS$f?vLHW%oEj~R&24bhKTDH4+xYe z>5_hjSXSG+Cm3>WpV&P65ISs?#+Q?=Yb-mbMbw!kE!t%ghFaw1&%rCkhqq8eE|6{F z2W@;&2bUZ&Wm)fO=!vhJxVf!2WS*F*+HSWW;1>^x18^Pg3{jU2t9?f5lK%J<{8Dyw zR<1q7Tg#w~yW7%XW2rQ_Q_RHn@OcdL{}Zr5-PnDHTy22t<+o!X#z`-oxr!UwLfC*; ziSd`KJRVuL6g!FV&u&UoEpWVkfiDXTzX4gppYz)6#7-ZW?9oZ{kqQO56$!9Gr6VNc z3Cpf^Oa~=oWx_hJL4)3v)74yi85izLww^uR`Gp=5RoaW%2Ni>6S!^+4-^~EqgrFWj zOy9Mo@8Jj6Hhiity$Y*|s#KlBxuHOk(8*SAxHG#6-$UwNzT&0PYPK1i=*i`<6x-EnkR5f1i2J;vEetrOv1k|HF!U!>_ z?rt1m!I`;yo)d;BRL_tq6yCmNh`zeRak!>A=+3TY$hkL|ieB^r%HNUlU9trj=C5c< zSU!;^-Js4yk-uY8ud;dtsuDYs$jj@?Ie!)qlL?9@B`YqAJo^-Vs`tH}$}wwRmbBV% z&sAM3{5(7=PL~sgv@e?I*U1>W*Xp+Je=p!I;65$h_P)h5q&f+lAY9`z)99uZ6sY`m zQJVNdLenYSDMWnLFD#1mDc}`v{h@%7$DEuqvnsAo!prArb;VxSenAiMF4RgeVuo9S z8%8YD^X-}A*b>3Dmf8g)kd1j7uW6;cradH-T@1&X9QGFP0XNf~Z9y5aE= zvF{c|LVV*6;s{}wqkgT>@xd!IK234(DR=`trQg;%0EcK_)i(2`I9;xRh%J?xJLw9E z?=X|L61-#fUUcmb-+^R=07bafF?8;+4l@U*-t?6b)b=MJS`WrmW4vGg7C6`|EfQY& zcJlrBzQg8!1rGjOk{AEy@|B(J>xdAGcCcZ(gB-Y!+B<-ApQy7)K$2 zgw4=AbJB*R>43{|b9J)zbb!xQXjs79^FudjztMBlzRy1b!}MLR+mA9^&94L zC6cI%NTJ;>+H0&jw(-V23yf~(K^rArPtlN1OHLz0n7EoK6EgCg1Cct;Z_uekst?I@ zqRH@~;?Bh-W4DNF~(kFn?Nd3sFW!jp|p)v$u=jI5(?! z@lxwqn@1F}&2QUG+f6jH(qhC*+pX1cQze7+NiN$4#kCIwRpU- z^#OkTF>R+-%sgQtu%(-OF&N^N%G|sg2yZ1_apMh*bdD!!qxmtBZAnA%F{}21`rmmk zfl*|f^Rj}HecDYEwXlvsCVsYXdgrX&ni%CO(p#lb)iu2~HgP0I72_v*p=5oht-0hm zw^r&Z5$X5cib}>Z!R2P@N=}XSJ?hNADxp!LvzU0%TG16|yiWpWUm5m{6=a?}Pi~PG zGzS#DT$A$h#*_B##t@YJ%z@~e1v^2|4~7D{%>KXKL#WIFbBD7D~ zYII-J2EP|Iaa2#-<3;9Z{42%wSv>+im07yAftRKxdpHg{@t%)>?vSR-m`^C%WxZ_3 zo}dk09ES{_8Gp`hKlrWpAVYowPJgDSWBpMvCX z(#e{m+(MDTW*xGUlhFLyOY`fvGhkPTFQR6R`511*>qMF zbb){z>=kOqRRqy5#N`Ev2BeLZMC_Doh^q^@W^Pr-e;t5Ju?R{3S9|P!_UXbEkZ|wR zX7|&k3y!xG+5Wx$iIp0H8`59*xrnB zqU?bVWuC>`6)Xe5!H!COx#<`&SP{AWHBs3JOQ6iLu`5=hw00D^KALR;^b6S22uBUC zVGM%}uwFFUVIh)tT+i`hHGW3x)q_`g{b|V>e%?qyZ-|2}RHG{i=YheMmG*#{#U!iklyV~IhS8$2CW+nHoi4etXn96qr1|h<8-Mdt z_Xy$isC0rZR*q;uNp#e(U06k9iTJUFWn?d>U5p`-N%he7H0U`s(~iC1U}vOada-Y|q*)p+Eb@~W zZ@K;mmb;XGhFZ}`)ESV&?|5F0K%WX8rw?>{-S$kvViy}aleAdO6!X-vE~7k3%hHN` z$@&D2CZ6;J@*OhoIHG01g&>c@+y1{1@LWGK%Q3!fXSMMEp-8u>e3E5k$>7v%>smq*c}B8U{eRuQbH0aC71phBTiwjz$9cVQI3 z94K(v{b)e{yKlAU86eoHqFG#Xcy=baYT+x4|Bl`KHU*Oyo-TJXnYHoD(|70B&L7jy z_v6*kAFsFCAlYqeAc(fY^D&b0Q+g@B+c5y98Wun{MU4O;P=GkXivc|ZCm;46kw%XZ zhBN?8D-xhxhM1Ih+w6cL+0~5~GBZb0=^(x`)n$Z+Zk%zFMR5+DE?lm(WIQ;X8(*0MDV#VhPPtB9MYFw)@+Pn_>+Hei9qCYL zD9Wh>D@9+BBl>NHT6>vQV+&`kFe?nNL^t%Ox0aAcLgriJ^x69<9ok<6;kbh{ZCYm8 zLgEZ^lNmbmu}oUYz|pNnMB}h^@A@Y6KTl25Zbucmvr{c~Bt=op`Khs$BH76o$Bf+7 z=_d@K=pQ=YD?RX^2n^6+5V`9VgTfCPY{J^YQ4uTM=%X}=wnxE1IJS^SLWzD2j1v9o zFNNVQ&XH&@zUo-SL(JV{6EtYFg$A$Vj+zzr@+agPiO>jj*48*oI3&{zxlIn^ekO>j z74{0W6~@_rv~D&>xCMe^z**BGI<+8mQ000XZE(q(cevXHB?YJwoV-I9f){?JX!i{EPmLU)B2u{g0#=$<>(x}f9PNn z17%$utFL@GCXldI;{7FimV|v#h(99pN=-_7gDq&CCGyiLKmN7I@XU2l%76VwbNm5t zoza;oh)jHmgMxn^M~QQz60?c7QY&u#5<2jXk;-$gFuSIBo; zeAd6xB&!L>7$}BzI9*qcXZn+)Xs<@3BU&+45$yeOj_Ll z>U?^*UJ`6l)^lFa2Uew6R5jPiv(hOhPS6&=;IAycMDUl4qmV(WLsPhc5E&Q5_P;L1 zOCA4l_)_F-f{CNne z5RN~Ojq*$uttuwRF5cS8BP1-PwvK+90JkV^U+|_?;Hgz0YM-LQ8LR{=f3+Wk8m^h` zSWP7~>lxk>qd>J|XEOxj4xu4T@fUl2u{W>KA<_CTi>8^U6}9YbJ6~J+a%Pi_v9SEP zF~zP>?m(sr_XqvIvf1);cx7bY6wUj0BIIx(dq0HbFyM@< zU&ve~?@C>H;~|p{H^Ov$C{bofy4PW>>!|3=;}U{|kV$titIz27TW=(Q9LUSZ!m0liEw$d65HmFJEmYf5*Gt48B$ zws`=0s^&GcS`eA`UL|@t{j&8ULbw;#BJ)uENAPPL!s-yW!GooN>z1qVpmqi49!r|# zdeXykGvF^ed`+a}nP-P{Bl;D)^-e`&!l8Om2<(Q7S7PfDa>OZ5yR^66CNY;&@o!Dn zXWB(WUZeG#MJH;j4M4+U@dz4cTukG$+$hJ)Nt!5|{~On%+){mzB$vbHU3?7E4h>Ny z@hmO8lUGzI*W+z?jOa6q|Ln8>YmN-Te5H0+dDF4{qp>Ut;1BJ5}l51Ap2@ z1cDee>M>2o@zFlK$J6iuvlt$^mrqaYZlQAs6LVJ47m5H^)w>GLeR3fgL|!=a zeH0+B^%6xvE>!wZr;ad1((HiAF|nHjkX6v<+A!gpJna-RuSPL>E^9d6gSlHMolC$R zY3RsbI?f!i7~_4;5Xag0FkV3#kE}Q3#u3Vp90Mlu68XTR=f#wrv1|f+8mt7gO~LO| zA)0B~)_oFx3Z8Tgajh{;nB_jT;8M*kJ6U5Jaif@HN|BMGU`rhNiFpq&d-N)a4OXq> z<}iY*Bp^nS7K`6v2iDK464-$!2nU|6+14DwimE9~g316Gk|; zH=JVj^MiY3BM();Ba_5Fx<)^kq>fDO7=m74ANzsa|K3#KQ);Xig~}$}B*%V%!`~-h zZ(G6!YHD{NQAzbiCB;5iEg(e*xc?(2KJ-CD#P>x0q7d!}sw!xoQmS#t(Jo_^9A|&K zr2)QLt)cRi<-Z@!VzlPE%f3fU=r>hE@*f2=aYu0*M<;z7L*xH3mPV^+Yho)S_^^ws zv(fw%fCSaRqA(DnsMqMt2)k1+r(8lRUyAiez)2XMw(00Bm-`?->sIZ~^QLKjbbtS; z^PK3F)d-m>TgT3AdX$y!ew@wO`S#T7`w6;>u!J7x{~Az*?E1Mw0ZKuG9{0t4+X+aDIE`)JS#|8%R2pu3M<|Ee+)NHAhw ziM|6lE)pOYP{VkUexT?k2H7VNIv0Fsd6Ib`4vTr?b=MY}T>EZ0L*R*j^&WiB-PoACe52 zfy4Q0@ui;z)ImevUj6L2C+zgH8_2S9*_gOQ{!_lfq|%<<+7wZkE@E-@3$>E7ize*k zCUH)4#frTt=ytJC3<6Dyb+oZ0NV1+83F)VIaEQMaYpg7!<5rtFq{{~Fl0-Ne;s%mU zNh3Q~K7G!BPOI9f6&tA-PNya-PW6;4i)JAn9cIWW!_Nhmx6O<8nY$Qs+=Rqj%us_) zUQOPkk@Et_+1%)B5A13zYOIoK%;7{wZKUvRt4w9;*;Q7?6v65HPJ)@rFhRvzFcame zJ>1*8;xuSe99Zz*!8-q zIZojmIUfLDDOJjked^#lOxta@o?HOdC=rYuO!GUB4|@8ud0}I;;_n$;lXO8_ypF$< zx@Es>n$Ds1yzE>yYIo@o-JXT2R;iPCmwUu!`95Zhv*+&#C%wevVRoVwOfez5sdX&H zhnMtx`a*bp#^bn~lFDJRT+4Y+Gili3zdY(tB;F*0x9D+z@Z+0dWZ%9o9RE_Izxx$y zf_^!M4>+Z^XCU6}^alPk@fqX^ZqRnB%~Pvp)d^MV20B-*h$ySIIWPDLfT+JP$AHn3 z7tA|`gF@4jzbwH`d8L2jOFT4wn-j`n6IjnJhKNCXt}~b)^I9KJ_#7y+N&fwjiYSm| zkwK(Wa{IGJFS~6D=@BQp4B-{DmT0mXQJPi5Cc13ZEnCe4{dzv8>{fMRpS+!n)JM?l z7mj7?vSr2fqfKoF9Bn&TR0=Wj=t9uDA@pdtbMo(S*(4!%4k?l8%RzYB*=yM z>+DZb4pEJ;K3JqI$O6~!G41>VAe*L?HOm>S?a~Dj*S~}|Z3m@sHNaa{vHT>6IS$B3 zeE9rjq`qgya2=%z50yzaSpH$Dqye!MY#%#%i1^3>?(Dfc)0JHV4|LIglEJ=suS811 zbwP8RZmDTteNyYRo;2;BRCIq&2YyL69u=$Gitkry+5!|+ZQlRwCL_kr2%Woc8VV8o z|4r`_cl^G_=%1^UlBMjT9EQ(2Y=;YKl0Ej=Fty>Lw36If7Es`jkpKV{ z7y&Qj79#eKsd`_8P&_$OjzMzu3P=$r1naO0JZt2j+jbLGxnOaLhQ^>wx5Gyg5!ypU z{+hJpKEoC}r6Ns9V-jcDJnYttL)geGyXNLT!Y0e)k~v2$_PR`?%0g9vLPdfpiEV|1 zvuwRn%TpHro1CrO;FV8>xp{eNH147d_Yn8F%-L~sqmS^hm+9N0(_mC(DI6k34e*KBx z=>)KgM{y5{Yu8w=OvBBQERCrWcBj^&y6mu;wdS54g5=$+uz+HQm}uz1rs}d5^K3c! zuG|=(B=DGIi$ppmzAzjWFF3yb$#A+S`iq)Ba#$L&*-8wVDHYb|R%s-r4hdD!QI%t3 zarVM}%$SO4C7i{Bv(RG`-wiiREA{>Q1E%k4AFMw!nH<#O?2%hJq+a9m7f09pq8_>R zZMAD0!$^vCR-+u`-*#gpHT?suPeqDVo3AJ%+m>->wt(R(dG{6OD!^?dPJ3|+KMvMB zc9bd}3eBg`q&M?YDWz&LKNO|(8U&m68KZt`B-%9L5z2O`6+b5 zEriwtWq?97asnOI`KJjRJS%y_yMUVQPXughTwzlIwF}12H#{4XPgpMi%uhUgLXh8t z7|)wT3}WMX18jChpg8@`Q*M0?iRia}r@RAM;P+QJWQ^b8y&v#kt|9z*w(G}9SxM?t zY4`pa6UkZ51R2Lx|C6zhn3MuyG@g2!{TNl()j;(d zJ% z{jaMA|9SHGucFw0{9FFvJx1WoEOG{bNI-WBh-=!2Yh<8Nq>@olRZ}TL9WGEnY_r8A zcQ{;(xgdNH>A3loqQ$uh0}2ruTQ=5Y-UWy*FJ^K$9ZgI=j;~{Nf2`C~5(g?^O{!Pz z_5>+oQYH;4q|}Ev*LxD|5e}LuGqadR5~@?MVJL8$NE%~QnumDIowF!c&SY}AlUbAu z`~_=ev46~_JQi!jJhCWRro+FDF(_|QRFRUTz1{%l)vjfb3I>+#IPQO0E3@d<`BNZQ zK8SlLRt%FEyw3PFHp#`leyBQasBBL)3=cDfG67bDagbs`owA~I9+XBOq!u!@@%Ap}@ zZPp^SUfBtt6ABJ#B)N|i| zp?aPvxCC$X_lEKCO$&RleSnd^ty%{jg)h6gEBj$PYDG_6036wh95K4sl9BryetbhXich*D7#ca@HyN4RHj-5JGJ< zDwqS=0HbO@UFs>##;>CD2}}7Gv-}_x;<#;+^Dy5_raqGdAG&T5{bDig_Rl%WVZAI# z4{>^5XOF?3?(_npQbVRG0~@oDC=AZ}Fc@eXl(^6Er8mVWFK5(;WqSRb6%ZSu>o+v5 zkYVVMuE;{RT>S?ag(N-N5I?*O**eKq8Y05AzGMIVB75joK|#bEZli7*S8$`pMmI;< z)S0+PXRyYumunix9Zz`BRkVL!e|O(>kqSbWb(S)Ks-Ad*{~>fY7(9-zjNtaC7mC4(y&|_X$XSw(tf-hI}(jKM_iP~60R_SBV+}gi( zD;~^NIW)%b9Lrn2NEr<5A;(ZC5s#lrxm@dK8`Qex&}*KF^8v6?dX`vl1B81w5OT(` zaS0){B3;im8xMJ*N&;IhnNccgRx6s^SMP%Gm1tIxleK$CIs+(<6Z<~43Ehl|EFzn1 zB%6gDil~|=fh%d>Av<;yJU1;FPo(!WbG8slChN4Mka%EsJp3=Y^yjVaDeS63-IxOR z5-YSv;oA)3?-n=^#ozDc>c}%8#4_?wt!>ibWAm#lY6#(5oZ z*mo7u@nzU!HuqF^J>Ebjz%J7O(YKr8H-=Y{h!)*PkGzr>YYzH<`dwCxaDm-7+46`d z<055C%K$O{uvS=Yk)AMC$@=;W1;)wg^G|6o>z4907WxY|Vuat7x{EBso>;dUUX0Cs zjoB+FR*8|*aC6Svr;&)y&)p+?ZG2yHgunkb^-4D1` zN}phd&|3-|;-)z?W0H!nu%#y;N8o>)xM72~^Io+8);`ZE*i5;Ewm&1CBy^Yo)2WiW z`Cfh*pJ7gCi*ek7?gUearaoioqWWXzLGCYMiQk20L?I?aaul;AaB(UG;cyJadThws zy7ns20YD%SRyBpB z3mxKkFgs^WWE;vJU8t?%99hx$LB?G(*y z9h?lEo&K3C`7fp7A4pGDwpK)vNAaPfqZ@c6qD;?Uh-}XjvDJW(H&;iq05yNK_Lpwq zPf<@PF?l8aTW;%fE2;QLjafSP4e=xCY;y}#Fr`6%&2hHfH20q87?18dRq_e7%d_%+ zGVBBox9{*nH4Z`#O#D+UybX(wec_iDvi(*pp46LN;D-8V+Wnr%k5&eHKuZ`mOb_fZ zO_EaK$Xu#>36CnkxVQmNmqA%@Jaw5wP*z2=mcnF94wJ5}sEDbf9*>?98&t45{Z<&8 zo;7`vbn!v|M8+I-T8bGbd5cO&6(fkVTkIy3Nkdq>!uCL!c=QP)0JA$UNfkwKzXus* zDnZ0+R0A5_Nif<}vO^#3>?o@zel@JQL^X`R4E4~s*`KBUcUV$!u>OQ}-|q)U_kt}W zz~&eEfWv3H21DXJIm~B)1~rC;&h#mapab=Rv}LVD_?{ghdK@{z&HO3++&5MX`+LaLT*!9ALHVkOMbqR zZAYa74g*)7ihYrea0`mFa%l<7GPLP;QSM6;*hF!XUBaV^)1T<0r2N9qq$a5@A zEvYWZ81m`XkL!E|6B02iZ)N-ec}>#2r6xJ@eMn7cK+uTv;3llAEDRO0(rt>NqZX5N zC7XrGX}oK?|Np7%Jm9hX{{K%%xb00wHrab;-9#aYWW;TgRQ6tR8)bKAXA{aMD|^dM z$;h6GvNL~|&!@USu8%(d|M&8^jmN`zo^xH-xz2UYd5_ojR3_ZoJU#W2*s?T5!!{eP zo^lRX4$pO*q%66YI% z=|e%EG-EoCDL=g}74LmXkb18&Cf{nAI+>){bJn#FpXar_sLB`Akl7Bm_C1s2dgB?o zDOaVtIGzFnO=uZSQG)#uDKj zzbzKN^K6PaA;{Cm0@DC;Em}fyOGwdj%4`?DN;wtFTZ`8J_?wM_I@|g)dzFr5CU_urZrD~|5r@PU z51R+{yOhToTFrEurcJP%ES7f!Lemrj2d^@SIj}}PubWN#tvYc8;v!LK7!4EsBK95O zE$P?WoV#IhRql*{I!!QQrf3o9G-dyfP6M?y zwZ9F-eEmJRhel1<4)T(;UU9Y>F@;f&f8aZM4WZCueMt~QjUX_-jlmQWGTGBT*2<TmY9P^C3I&Q8rzFIS{R71L9I=pPn96j|}Exf@smKGb{5_Y{g+T%U>ve;VN zY>wkVM4ME8M$zlR{>XO}!V)=D8C*X=sl z!(7Is2&HHaGTU!Mp4y#PY1Z!&>|po-hncxskd<)QphCLu6m~Sy+0!V>X(T4hJ@)lb z(sG{Toe~FTA^UY$`xXKB)AFx$5pyY}u?i?J?9eOUlv?#omBtdEOjR3l$6l|t%9ndY z-|fqzPWy!>nni~6t`C$`tB^D$jH*d;OSP(XG;OQ3EUMDtdgIBQ}dx-v3(dpgh;0e;i*!a-A$lGe{1CyHyv z=PjPq8m%_5_b_8!-KCyON|WT&dylQnwJhAtVw^wkk?8k|G{UIn{v}%3kL~=aJC?%k zpGBS-3Wrarp_Lz@xKzkg`fkbD6UMw+=I@5w#$Fo&#hVs)#t<$5eWecQD{TKUz-T(a z>>N(@79cPXh_y9zwyN@9d0g!Dv>=qP^#c}1^PD2He`(%1BH5(L9^AV?pN*b@?5gYg z_{X9XUGbp{5LJ8ISjBLaX>?&%s#mOSJ3QI24y__wLfTqq>qZMOrsyQMyrvTND87BK zqI+_+O@vpRxH$>gJD9Eb#N!6dg3}2GhBu8X_?q+zg zSrOG*uBOz+Z!x@RZrvC5gZC!G$FFRfjr{W6h#vfmFlWk|n#G08(aE07>{rvVtW!CQ zpQa2uJzDD7?xiR+mc1L0e69q!rZ+km>m|+Yn<|9sT)xYyuT*q{WQmsj5!-~uc* z>{w2byE0ksq*gE8pX-MsxR>c1mNrk=mn(KN(xNt_B8${mv?8d=OsbUgLG~6Uf+zL| zZ)+tJDwcP84PR#y^AlaUrnJ=o8wPVA*9um<9Tt}2DA_cjLmVgZo{xFSf~WkJ*%$Ox zCZi2}pTMqX)H>`!w;vAW=J&sQ_;&O2E+{yVfbeqgFt9Gt1lIq5=q!%L_J6&QPDPOh zJX6)Ak|lsopz7=Bv>1^HQ4wDEGg9b&V;J18BW5Wn6Q^RQYvf*gJ=-t_p>;FtF z!>%V>CDTHOkf8Kcd{W%1SJnR4hPq>~!}EntoxRW_Z}RywU*YPKeue%GUER}VzRCX4 zR%2ky^fH1xZ@Px%xg(Eo&9Lc>*KQw*Rnu=8UHD4#h1D%L<2H6qX^o!AjSrzAu;>NL zgDTgfh=vk_ZhQFT3ymqd;q;J6JQearvcKwfkT4 zjfM8^P^l>yVtz7tQSxA^%dzUcm?f)<&hu(?r|WV?Lib5HstiP|{4Xa_@>>XTJ2+*P zd%f)eM1`t!MeIF35`-I-y1#$IpeTQ#KnOAu2B%=5JYT!4&9vM?jjQLusb7*{+aOi4dPFj2 zFDiI3a3k150b?p4V&NPbH`5%|&Dn(+tyC{89AXFkM#koI*{pO4e$OvJzkwd(nBf*7YO^H2$eB$>ukThXsCqekkDc2J&``wfxZa!ko6 z-ZZQ?`C)JX@^7XQbN^BbJRNg@;p|_bvsShaW_GqP8y;CZJD967@COVKp!oUbeWrKf z*w}VF_}sRdQ(MpWZr?eE`-B`JBDNz0s_}x~e4^^3($KG0;~z^1XCtWU5+n&91knz-Be5INqeN6PG<8 zJLL28VG|=Le6eOm%sMiaXV8_Qx|QJ0`Wtllv{@J9N{w-nb=(PufUwD!%Ien4^p9L7 z3R;QcO*$PhPPL7BX6(xxYc48R!>fPzspVhA$@fskq9na*Nah}LDY3)0?-7sArg?Ep zCLJPec`c+qj{ix4czK(ae3V)FV4al}TU+;WsOZE}*;Re}p$F~7E??2j4B8*5&=vLt z!f@C(bzMR%&cD!$Z6RoCr_5ihYMi%~9SP-NKd>&~wC?;aMKr#l74N>3!bc@!F+~-1 zex8fdsJ{`X#+2fU{M)VNP~Gkr6`R-Z9jN@p+Ninh)fp3vGiaD|w>HZ+^Ri_r6p!V- z;CWxIZ)_!{@ip6|KG(mS-I~Siz``5l6D&+D^dW~lK1aXecAkp(3!1S!Ux7T5QEq7O z8?|P3ePx&O+=ChIfim1^{9vaJ+wW0%k6~`&ST|ZOT*?{B#v~uW%@mW{mfjo`mC4(= zFo?$+FM-|_utOLxDzl3c8NMi{_|c8u?ZOO`NKyFk8x;PlGq?&?f>@;TiL|EJWN^0G z3m9+JBo0-XevG60@g$v-k{M&DGoOU6!vuHcYZ(>lh6$&WjTEFAiH_{3*r|3i&gBkm zKG2{9V!)r2$#|3dCeP1)z^Wj0Rm!~Ba4-U=k_=QyN*l<~Ar_K%Ta?0dljv0 zP0fBj0SGNU&5KZyBR6L!OgL6dKmf|6J6KWUFc>Ze{0T)vXgkqU8yGkxEMEt*L09Bkbd#)f-9u&AH7bfrWL?Z1tUkAH5GOP;C9~ zT{WsAeH%+?tQ{mqx@H~Q=1z6r7Uz5I@Mn#p6k`o}>MXrNrVn#u9`qlosRUnH?h?>h z>9oZ6eFzx7@hDvO^2TKS<<|*jJrTN|meTwn%Be$X;JxG-%+C{TX&qc3|HKl*WWvX&^pSIiH@Q`34XGBf;`rbFc zrK-CT?7~2qfKiURw(#pI{Bts`}m$2w$nBVMZtQ$%!>JG*MvDeO`{fx zxRgiOsyPRfu}R(_|UL^aqJ|BMjU5}BDC+>a7~0ZtH*XE(^pD+31>EE6D=v| z{viC=IvCs$m(iar>AQy>e@pj;SB#NT?=i#9hqCkqZ^_5yTaf#D*?pQZYJIi`ArxFW zctos=lF*N9#h3irweAei6PciksM{sxk5Sl0eic5PM^CMu6?m$aCKke^Arxe(E$l!d zmX=DdDhL@MQZRdwwh@(~bsAK&E%ueAy4+lyq<+Z^Uukm2_sCCgh{Rw!YPSIEm2P0Y!t=+G=CmS!Hq6HH z=U#p2P1O^*FV8Pbjx!ZZ9@#fW)`#E(Agr5M!gz=@1L8qg1O+082E~Q zuvE`ho(kfJL(aAC7LDQf6d^R9ZcEZa(c3GzUGEBJMm>50s}w#oD(H&10&(}}ev?Tw zp}6oONPiV0SY~k}rHe6V&BQ`l8X*r?lz6(=!+vFlk?$!@jxixSttbs);>F-pI%V}- zuiF+XVy{f&yzo|srKOUyl!rtAv58b1@qs=WhDCcqX~SR1 ze#kZS9ioom_3Gye6dPG+Kj(J9HFAw@@IEs%-OrU?EOP}XZg`r>T=iMZV(E2?=Zj8l zRZi(g)U85x=e@=*>nXpw9*@Ax-BuWC<;XSBO0c2QyY6ta?4!=LmAxycd&KVT)gVb= z+QkbPYefE+9&vgShKN4NltchOcEn=|vx3Ey&Wa)oYO=-O*a%&0rm)eL^T-y5o+-F`Z2}jp&YeS1s&`pet&TBJbZATE+3xp4 ztgZf*N36u!WVphrolEag>1aamrRCGCYqE}#jEXdb(wNf`8Fnuys)z{_8Py{3&>d}7 zH@joT8T&V^J|?*BKa%_$6i6oIYL00q{CY0z?F-Su48;VCpd!X4@%7=p)S2Qip;rPF z3uIbK7zyh&IWtxMw;qPVb{bPH0gi!g@Q+F8{a4EVkxnK6u&c_sR` z+O7!6f#}-eRn$9V?+>x(Fo__^=8l81EOhS&v#T53=B_Ge!*0$*{P64P(w`!aD##im zY2q75Ug*ozT$FQN^&ji%o!5d?a15aZqvlfkKR(B zy2+;x?CfA|jW>qYe?D<3K|M!;2KdSW(;tznB^jU>{ywl!fO*kh2LZ}g*^^&Xp|@nY zl+_e@jyh2Qb&y|0FQ5nmMR$&el=FdqLIuV+lD~@m{Vl`y#8&gWsH&`*vLaOT7PqP* zl7NCD1giX3)hH+@mE!=+2X+>KJMphN|J__5?a$BSq{N9n)JX|T*nJZ_Gkb?qMZuL3 z{VMraWjf%Zf7wm{Sv9yk*{SkD;PStxkx0hhQlIwdml7@kuY);Y000tv{5~>#YXHV| zWqGKYCY0O3#Q|KfAw5mwGH}a$fD6s=yBG>ehVO}L=&AFTgV~$?OP2-A%VDO&)&oW& z8KCrud&I9J!}k$zS^vd5wM7DEt=AQ8Bm;nVz~?mU0s)8x?ERZsofzqu`2Jo`f>{T{ zlkB&F3uFkKE7Pw=0Y5W*Xa3CkyLF~#6ItiKw&(z7+76s4>nWlKa4k=rDYA8d8`Xb8 zxpuVNrT|zjaMv!Kf>M(I5vu86_VDaBy4pJsngM6c4rDU8cnT**@h9BBNhgmpwD%zW z4M17s`rG0D7c9efnEGF&--?MpZ86}R0hW44!rn21VgD9>2h+d`;7A%8+nKaqiYfou z`M|2sNGg;AME%D@akfS@xW!;$UL>0qxV)#j&Og}yzA-1G2UzeG$sz*ghNoF)%fEtK z2Nn%Q66yIs#8VQYU=CPW6UmY12XoHQ*#zUjT75{Ij4%lIpEnjPM~CEO0#m0`7wjkJ zpW<}jR)IyikhHJjAlm5(`Pp|9ERBW4l}mteXA5P48wl18LJ}9GLBwCr#UGS}z+|v! z36k6{_XqNS-Waf40g^|n1mgYm9{q=S0k~=4Y|uy)w%VB}WNv6M3Y?4-iTa><77Ce& z^ykU`S87slW#HVE$jV5x|JTaS$Ycqw4xH!^S)I1d|5tTqcVcj=F(me~!CBb9$2enT z;xTYL!3lYgKyBl*fd5F(14e-pa3E1d=4YXPrQ-l|z@hs{PM!7HoYR5)U>-PV8p%W4 zKb!aG5Na?R94v=q|FA!s{g2Q&Fbo_PgM{h3oDBm9$$*Jq_j4ps(erHLZ)bEc3hbPV zMA`fN0rlHe7t8`XKq6UskI!Zy-66p&u)i6SB?>=_^+)eBFc|C`g9Oh7p9wz0QwGcg zyG|gPR8RlRJncvUW`a%ZNTy=gpP68TJD3W##UiQp5oc1*w9JC3U>g>a8W|0u{$7ur zVbKC(!S(?p_UZFKVgGC`0Mo&Hf=K#y{GaHjCnW#aAq2z0+e=9Jg{1!hetNU%#x)GU UgpPtD2z>DYYp}SJr5?)v0beu;=l}o! literal 0 HcmV?d00001 diff --git a/lib/junit-4.13.2.jar b/lib/junit-4.13.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..6da55d8b8520dcc03c250a605151cc0d23a45518 GIT binary patch literal 384581 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%0A|RLyRTZ?5*b0Kn~9_w90>zXi(v|D#%u(jz#g2 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 oKveFPto?=7N*A1c2%g| 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

`)ZZo?PM~)f*OI;Nlt*N`a@~;G*&9Se} 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

J{i)CW|Vyp#u)ncg$RUOm9KuH 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Π`%iO}aP>9yumW1a!ct~f>0 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%0ACE@Sts!0Ul*i@JhjHRjv>ao|$rS93MkRRuuj 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 literal 0 HcmV?d00001 diff --git a/lib/junit-platform-runner-1.9.0-M1.jar b/lib/junit-platform-runner-1.9.0-M1.jar new file mode 100644 index 0000000000000000000000000000000000000000..f9a353662f3549ddf4e9cf5053567f928a4e5fbe GIT binary patch literal 16516 zcmb7rbCjh|vTb#-%eHOXUAAr8w(Tz4wr$(CZFCv0``&poznM30*1d7gS?m0fvGdDV z@vY2^*jrWt2p9?A`}gkv004ZyfB!IW0AK(qAw@oFF==7i&oKZ1AOKkjus`Df0RJ{h z_W$dQ^n1kLou&As#e{_v6ltV{6BWm;^XZT_32$M^BINQwA<4+WY(eUb(Kgy{YI3(M1ot{C@`4uiVC(Xt*HfmcIES4@mET z_?<^-`ZQEm?_^%|$fXDx@L~mlKjx=fjO5{A6`LVN)sL=^+~f5a;D)eHWwqf8QKRdK z*wOLty4oLtXz!P7v|C+pd6@{ZWA+4<)+PA2o3?Q=p<^W_t$e>?qeUu@jObHSiu7aC zU0UCZQi!{#>86Ns8V5ZOpI*twA{h~Y+-|x8Il-H2W9OY4v?%rgOQ>=yO6yZP;IUZ( zT2K3;Zk4@)l=j}&Ot*{8UxT}Zo}IFN?P5&(WuCvKNKrw-?vc`6any9Uv2A?>J1_1Z zX~LcFFA=ArS^&&=&-*UB1>OWv(xV;{TQ@hgRtl}F85>FT%Y3>CCnApjo8%%$r&4%U z%sKEo1l3_4AK~SK9~;aPbFaA|Wko!FF(6TKqFks+2a}E@Z{6E2VdXwl0ADrp7CeQZ zHyxIfuA^{>ucRufU9`bDUWzwI6ZfuAZ>nG&#pFV^aY_c1Y<$BMy^P6^ZW46RnhZKN z-Nq>p+XRGE+sV}|##xR`!EeSmeRq)UjO@z;B;X1DlECE1sLABAnzaYTvoE~gqEEPMuWlha?!-QGNp5==AQ`^l#r;?Ka#D=joApB3Q0 zU2)UgV&)2-CWnt_;Q5*rZ7adO!k_w_vo@|GdJmt!M+$(^05S&=z8TDr?wXPlhCLWPvxUP5IY+Qd6aD!%T^)r6hRzND zNDNPD=K5^H&qgCO+jbBO#hfL_R!N9R;JSe5Gy;WPOwd5$8Hf#r-_R`?b`POv^LUDcQ6Dx_%?ZhDzD@ zDgd>-iurNbEwo@mJLbJSw8G1KsSVTK{&wE8ujr66F3u4|`zI1=)t`lZzt_q2?LS2V z@!v$^cL)YG&aL-FojY)QFY` z>H4|-ycnO1Kj18;p^~pNVfpcMkY*|F%>L?_^H`BoE%!+{EW}ysL~`R?GV%FYm@6Wi z=lnqw)%YzOyUK$1`QBtEgV%wkBnprU+N4t$>%ekaaZ5HDi+ql21ZqbZ=jN zf_Dc9g=qQdw4VVUHs<R)V%UfQB?7p3 zi%YwD?nQC}b&o`=3gz@ooDABTC=4oU`zEc&mCl#TuVwLgufR4S)63k{o) zi?lF*Nk|k6Eq7vm0A0>CP_B>NiJ{LbcD&_QWtq3ui>xbkNFKEwy4Tzs&+3(%2SwPX z^Fn%j)t2dO5SFR)p31X`Tb`MVj0X*%(|4Z}I*$ln7;TnNDFQoiQPh6R&&J_KHi zSP^zzYr?)gH5fot&iMHwG^>)1vS15c?uMb221%@pcC}ww08O%HEP=jmX%HUE#{By@ zr9xN|R6U9?ie(O*wN6+a9{jyqSs?1gQro~)fOS)`VLL4LTSFf0%SzS`7Q=WMN3v1T zdu%P^ssbv-yhl_FcP)Zih!wH9ZE^M+Ki7Hcl>UHxZ?c0Lt^jZ+-u?PDz7)dY;mRrq zx)PCG@e!udxykB|c)2IRSkDkdIbPeY@AWVd-A_ftHDW&V7C6pgW z>TzxOH;_~#r!byGA*~nm!q%wu5Pdos2{ zu6t+%LS! z7QqO!+ES6Lzh&C^npN5f4JwB-pfsYxX?1}f3e8c>G$g!ZKZ1U9(6cIoXa~v7?D)jb zYlR8GWCA+w{E}6Z3banYjVOE`j7*|TemT)(71|vhvo&uzM8Vd z4rsA?1L!e}hl|iJFvCD13mg==Y5dMnV8}18`Sm3}iw{4YI@uzy!SC2xUDHe)0Ax$4 zo0%R3&HI?Yby?n~XUtBB)ezS4b{)TBA!baVOqB3#lZ8p)k=Gqx{pb8RrI#qM_ybB#!|JxQM!Jmn>Mm2-RhP9ccx3EQiY+59Nc2?z& zW*+91QCNa*F6QKYkS+1*E4D^FroTWw(8VCpaTA~PN0Edo_q|p?IW1}(yB7G zTUrOFY_@hGigkqfp#1nd%^`P=!?kkgKcxm%$^(*Q3#+Q^ z?-CIS!O1q=BJcfdjGV|6VfKNgG{kE4fuQ=K99O5rAnEN-ShWBK{VD`dzlVg?InY{L zLYX&~Qwk|gmj#=%KUz+!i%ObM(ml?l$c&+r4B_zrto&FkJ9e843``~;>IzqPz zHTHtK27*KUrZ1m(Ev%JKsoi1$Eu`8nW4|MQy%#r}P* zMKh`YUik|^SU5=5a4ebNDqqy%@q{2!*NS;QoJy=~07leGUw|I@V%j-{{e0Xajnp7W zU^Tg=LeZ){(O@{X`KdE0gRT6fWp@E{6~}j3+?mjJAzla8s`H1;5dj>XP^@Tl^bQCR zu$*Ybi5b&jtuFoA+R3&|yJ^|o$Vj}r!6F(7U!nDH2I)d`&7TO(%+D4z!Z<}%`85%5 z3p~%#^uyk;70RYCjk%7Y&hqvUn5!X<3aU_&ISkUm`_C;Z(<}I=KPaN6LpHw6N{JE0 z>KkrEJ34(#+a)uhK<%$-e%Q4-x}{u=9ZK_*YAdDmyVM7F-TI_*Q^}!pgjx^>(vm7H zKNhN!V;SAz(kXy^`IYsigFi3=ee)L`NZjnIP2|jjS~e5f&y&Q)+8HKWfbE=E(>|Ew z71260X`3<_JoQo)3IsjrG1)Fs>CSg>mPj41jl z**VN-8HyS9@r*3;<9is;yx9aNuAHR=N7vcenSZ0N)5lfud7fO96vQE#L5ckV4hM5A zzsAwUq6tIjFNij|x1aV!O(dKEbSG_xwce+UmLSLAD{jHmO|xm9+ki<-`tDU6mce(0 zJHP5i@*;bf7xz za@7jCca0vcYQ#K_(L-U|#Z?V^G&O7#5HrH2W4NfhUDCzcdp5xcx*#iwQ`!{d;l>c+ z1vaU!fa8DNZ)Z3|3WGw+K(K`U6=zeAaH_GKDobZhG>1{A)m(y0=BQ9YCf0`|f%J-5 z7Co(DkJS|SJqPiXcGK0Akg-jqEhEi|sd77lQM( zzieDKDb|ExVrnsX!5AK8qi_MUVA@0pS4M58U!ght?&ZeuMUeV_NVzHTQl}mGL_VJn zv}J^X=GL;Th#ZZ!k#wQy#&EiJ#h41hjjqy}xumd6Rwluk@jTZqYNPxcHy_ag>i4H! zC9h^g)=}9RCpAk6%r&T}*(z!$>7fF8!N9pg7H2qu_r{D@5AmkVOmnRhQq-TGz55C! z>GqHATsWvped4Iz>Y^HcYanw=D_DZ~Qd2m`=GSPGQg{Q_WjByZz3Q&64{^5SH{JJQ z7$$&ANLT}-6BYAaM8g7=mnS`98SHnd^F^3dyE^P3g7ThK<$X_wVdVDfbjzN%-k1t2 z+>wJ#M9fJ9u7bb7N5)$#6=igX%ZAR*g!D%8fojw26RJ-+u1Y#ZkN9)3Z8NNe*{&Pe zU*!yjl{_|@-u83%d%f<1La&N3!UrRf4^{L*WpU zfwh}v)N`yZ%0A`=REh1__i_0%iccCW`Vp_gTrX~N?~89Og6(!LY7(a@!n3mS$ksAS z83{f=@f51u>jJ8qtY1?;n0WRNIve1)12?M>?)8iN(m*(>2*0E_i1zVX0?Q=5tuBi&c zOt?qP^XE0U{*fgMS6V1D_sxd zcm@gU>-qIS9R!+z4C$8)ns^C%tpW-4pHmr_`_exzaLD}2wmsU}bl9wVljn{01jYzD zJ2j{WsX;(&gWnLmHNo+{#f=FD%hF}Y=`W|#X_HH1fN%%yZeORy7tq(brQe@@n8d9p zGt2oAXAG)aj`~i~RjEiBttEsq=OhQIL$juD1PL*q?YAR0V`1&C;H2$f>g*~rG8a6H z-u4E?m`oU?0=k4Pf3}mUsC8WRG7I1XW0r}X*g=?FN6Sg&Xw9_S5;X86* z*V1pozEnWJqz=iTo=X&CraOHf9s8jxjjMIdF#?;!2VIB7pRK>0+CIf|fVriQ8*2^M z6czNyN#Sa#OcoFpESDF9v42uN)S zp$uQ8PhMU(t__uXxZUfuQKyMiNe|TV5{_YQ65IZ zcD!Bk2#W8f-MDZsk-fiV*<-cJWkq5SM<*JChIcetmW@y>amPakmqE)0K`pEt#itMG z>3cY9R$^9uu<$T9e@f-P?c8_=(UlIN=MUNO0M23R^Z0w6jS(p!g9nAvxY1J&fbU{# zXVRx6&=3#>7vZ_!+a4D1qjQ}6E;D@V33tGhgu^6+{y7?Ceg~INiI>)wPN$Q<_9hJU z$}x`0*hUCD`L8D_CBGJzA`I28?QLu?7~P&W*pHJUaDT>Vb;MRXi18RuM+m$2!vs=b ziP1_@6AH_0ZE6bF`-KAAt9mPmmN_^GK10I#uPSNY(T(8T#bt)ihia-!ciy1jxFst+ zs1tib7(!ob=8ti6gsyVyBtCaD=)l%sV$i)p^oLN}!2JPP`Lf!^Bt?mV7guH$F{8O^=H z1Im1+!j{xmUfv&QguV(enYasF+d5yZ_UrNpUhGcKo@|$zAG^5S!i~F6trkOMW;)?N zPP~Be&W77_#oW5BVW_wUJP~MlVszDbWzFoXuglmQOuT14)4DTUQpeWD*L!`Y_a5T9 zsYs|kRmX38f2^A}EI{eFv)x@hP*vr>BuhU^AI>u3Wud#o$jXTH74tX9s)7Nn0ZrK3 z_-Q~2FIT`xt4MLV7@8tMAA;|(i@r3PtF_vhFl;F)UU7c~;YN(#*i62+d-`hyxhHYO z6~%fe;nD_upvu&x`?p7LtVt(X0(F#>*~Fr^l=l`FM--XH1{)?dIxz|C`_RDQ2q}SK z=-%=MJpWe-lPiua*!6c^E}iv174G1F7w)WV44o{EsLia6ZDEVKO z0^Z*OK#?U-HGLxu5+S((IF&Vf*nqz?$IGUMSxg=F0ojs`6Cou*UJRaBJv?cbxol_a z0A$fy<_e!68(-P8E4%A`-%Pb*iAPM7;QyKquO1A+V=BH4%N1&2bRJ!nE)Tb{m!poP zZgEnVkT5NN58{n3CKpJa0XP1n5x3zYX37iO&FJ9|UMVR=bgl}7sRxtKx+4vi==+G3 zvEOxUic9i?$B70gR7ix9gIW%p?G`i+?>n*gUH@PfD~JP1yr^CU3=~+DjdAx6zOFWP zxAM5O>~9K*U1sdq1^i&s5yBRv-92IjYXf78x@ z_?wTpleL-S|H|`EUG>jw|LtjOspn{HV{i4pg7{OU{x=ZzPS(~&_Wvs+>i>u&uJn6x zvVVKR|IVXIHE>-d74%Q-DlrxyaEb50HCWI!?1td-;Ziw)SWGS8W-JAp4?Uw-L{O{c z_4Ns=mEr2YZ4&p_CIQil`J}KDxbWzT{J$n(^n}u)snu89Cfl@cXvO1 zeWi1KjfKeouJoXA%KGwy3o(St_0`bi#k4#P^{4GdgCZNS<%MkU5#u~w%Q-dk=9OE= zFrO>F3k%{Jklmh_>6bv!sAQ6&y7||w`pGAV*^ZEfOwciW4x~vqQew2o-p<#6am<&gZWnUGkUP0i3AqJ8* zl@beNu@fgtnvVkwb;Vd3&1%%pze*5FyjtXwZEY;}DBOZG00d<_g{K=C)?W&&GGwNt;#y)r+VC#zAbEYzNvRvo{~$9lW0?=MWWzz5EWj$v6)vI|dL z(H4)@X)b#RGUOLAOWI4BkK2yMG9{T7daTNVIM#YdPv68~YvTM-)5smsxRS2BJ|SQq z7Adit4~#1T-o9oOF`a7Jkjzcl?Xtswp1cncY}BtlBkNS18weDR0~h{8hTo_{Z^|yI zeq{@tCDq$*)PVybU^fBvq?^T)Rmj#I2|$}XDBu~ZlB9=DxYA$KQr^Bizqqv6z2074 z-fiGwAu~Pox%63;$*o=HQzV~&?r)uio;F^KnvdYmz@Nj#!+OvB3yVJBjGh@+;>5K; zJFVQh+Lej3G&Ovz1;Q~W9O|6uFx@PD{skufkf8eU%-r`_HIa!4F1bc#XmLdbdmKt! zR$QUaU^9G|6t}|m@JNkyq<#+5P&0s4UVy)_LZL?p+EvjgTl|D=J2CTFKwLFqD8P7+ z6`UdAsca*Ad2bS7i(tR<{ds!Sm2!?xgv>lr%oVdgcmu(mfD3o%b>U}T5a;8Yl3XA* zn=eF`URAsu+%jWDgG~wtA%|OPu+}#QlXi==ton<>7Pow9I;=Q5LTiF|@>$cLYdc0X z>vYcQK=6Yuqpqx50;zNbf^NLY@p!0f5Vj+JPrDxo)`@nQ)})TcR@M=~@!+Kcp(&<3 z!!QG*nf#-iMp#2yNaWqElF5K7G-+)O23-!OwAA7EFW<6Ic}I2}qkvE=BnXe>_r4Y#Se-`Piz{_&x-R#fw;9D!%3h6Q%aSqfEe zzNJBCMW?H1enyP+o5($5Atyp882i1*CFIA$M`yT?BKj`y@cq1Ta@8PKN>4!`IXbCr zT%0?EUS(TVq}>1|J>qS735vYM7PG+8vOw$44dqs3L_3K zb&NUX1R~)1nU#*9PX5gG~9 z^qs>3BRt1HeiYHOH_cIdte8`@0Vc2nMHpb!q$Z}w#<$MdtD6))hdJzvvVdiD#@6~N z(@b#Wn9OB3e6w5rD%_>=faW)l1&0PnP(O!J`h5jJm(|5C?cndRxCN`EHG-)wf#nKP z&>vyjwP43xo2?QqB}w^J9V{J?8?^9^x(NPGC-Pohl?`~-sn-U6!)@yAS%~s-cC&ac)DtkImkeV!u);0Wn zKCa{Magn&Y!-?> zKRH-miCMN^4=n3Lq~-Kgn14~beN)hn5H-E399Z6nLlO@9cMb~1|#c1 zw7t7t7=4Lns_p}%uNtIqPnvJH=MuUvHail+kMga14Hl~b7Zov+4>dU{7U*b+7Q`N? zXDVZ1-BWOdfg@CyDK?{;pVxF_Ab(}#Pq74V3vNM~a}fIgK3ZVK390YeWh*;BH|uf* zJjNOxOE@t{nxDoTX%iTD5U%@0Qg?5hJ7ga(B_BncgyA_rO)aWmDi+M2T{wGhnv<=W z`|IJrL;M`Kf6T6ehv3onlvw`*1%L8D!CcJX8B4q7gqHMo8^kM@f0-YFa2Drway#I3Y_sJF!MU+m8eUHt8k&({=G>@M-kFP~2Frcbh} z&X(Hlq-B^RB{(|x$;@He*KD9PW~v;~d|hXgUh1v3>AK0I;4|b_;`cbL-yd<8^kz{8fDINkzhq< zXba?~2_w>YfRgyiz9Ml~DU^a(g~#+0#U>OvN~6Bsh}(5=?&XKZ$)THULv5JFHzdKF zvfc<_o`|k*h=EH(;2ne@%Xv&K(s6YPjvLZ&inyeN(uJv~;=w&a2;I~Zn!(pQ?Pj*j zD%uTDv>+bf5yYAi*Wm0>U?-D&nl@%0DPLVNSyI5EE({3nK&)R!fEb(lQ6#rp3K2Q30 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

6RzMn3lTT4(H?{nvp;Ii=39aop?M79Bg(>V_ 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 literal 0 HcmV?d00001 diff --git a/lib/opentest4j-1.2.0.jar b/lib/opentest4j-1.2.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..d5006361a412f458525afc317aecb067dd093d0a GIT binary patch literal 7653 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 literal 0 HcmV?d00001 diff --git a/src/test/ExampleTest.java b/src/test/ExampleTest.java new file mode 100644 index 0000000..a3cd113 --- /dev/null +++ b/src/test/ExampleTest.java @@ -0,0 +1,17 @@ +package test; + +import mytharena.data.Data; +import mytharena.data.user.Admin; +import org.junit.Test; + +import static org.junit.Assert.assertSame; + +public class ExampleTest { + + @Test + public void defaultAdminCreation() { + Admin admin = new Admin("admin", "admin123", new Data()); + assertSame(admin, admin); + } + +} From d0dcb90d77642c5769af9c0641b479ddbe321840 Mon Sep 17 00:00:00 2001 From: skuzow Date: Mon, 6 Jun 2022 12:51:56 +0200 Subject: [PATCH 10/53] feat: combat gui toggle --- src/mytharena/Arena.java | 70 ++++++++++++++++----------- src/mytharena/command/PlayerMenu.java | 3 +- 2 files changed, 44 insertions(+), 29 deletions(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index d8e47ac..9e15059 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -148,16 +148,25 @@ public void deleteActiveUserMenu() { } } - public void combat(Player player1, Player player2, int bet) { - mythArenaGui.setCombatMode(); - mythArenaGui.setOption(0,null); - mythArenaGui.setOption(1,null); - mythArenaGui.setHealthBar(0,5,5); - mythArenaGui.setHealthBar(1,5,5); - mythArenaGui.setCombatInfo(0,"VS"); - mythArenaGui.setCombatInfo(1, player1.getNickname()); - mythArenaGui.setCombatInfo(2,player2.getNickname()); - mythArenaGui.waitEvent(2); + /** + * Combat Arena Tool + * @param player1 Player player1 + * @param player2 Player player2 + * @param bet int bet + * @param gui boolean gui + */ + public void combat(Player player1, Player player2, int bet, boolean gui) { + if (gui) { + mythArenaGui.setCombatMode(); + mythArenaGui.setOption(0,null); + mythArenaGui.setOption(1,null); + mythArenaGui.setHealthBar(0,5,5); + mythArenaGui.setHealthBar(1,5,5); + mythArenaGui.setCombatInfo(0,"VS"); + mythArenaGui.setCombatInfo(1, player1.getNickname()); + mythArenaGui.setCombatInfo(2,player2.getNickname()); + mythArenaGui.waitEvent(2); + } Character character1 = player1.getCharacter().clone(); Character character2 = player2.getCharacter().clone(); Date date = new Date(); @@ -175,14 +184,16 @@ public void combat(Player player1, Player player2, int bet) { int weaponOffense2 = weaponModifierValues2[0]; int weaponDefense2 = weaponModifierValues2[1]; - // Calculate minions total health - int minionTotalHealth1 = calculateMinionsTotalHealth(character1.getMinionArrayList()); - int minionTotalHealth2 = calculateMinionsTotalHealth(character2.getMinionArrayList()); + // Calculate minions total health + int minionTotalHealth1 = calculateMinionsTotalHealth(character1.getMinionArrayList()); + int minionTotalHealth2 = calculateMinionsTotalHealth(character2.getMinionArrayList()); while (character1.getHealth() > 0 && character2.getHealth() > 0) { - mythArenaGui.setCombatInfo(0,"Round: "+ roundCount); - mythArenaGui.setHealthBar(0,character1.getHealth(),5); - mythArenaGui.setHealthBar(1,character2.getHealth(),5); + if (gui) { + mythArenaGui.setCombatInfo(0,"Round: "+ roundCount); + mythArenaGui.setHealthBar(0,character1.getHealth(),5); + mythArenaGui.setHealthBar(1,character2.getHealth(),5); + } // Calculate character 1 ability, weaknesses and strengths int[] values1 = calculateCharacterModifiers(character1); int abilityOffense1 = values1[0]; @@ -270,7 +281,9 @@ public void combat(Player player1, Player player2, int bet) { } } } - mythArenaGui.waitEvent(1); + if (gui) { + mythArenaGui.waitEvent(1); + } roundCount++; // If the attack did no damage then we save it as 0 in Combat class Round round = new Round(character1.getHealth(),character2.getHealth(),minionTotalHealth1,minionTotalHealth2,(Math.max(character1AttackResult, 0)),(Math.max(character2AttackResult, 0))); @@ -304,8 +317,10 @@ public void combat(Player player1, Player player2, int bet) { winner.setGoldWonInBattle(winner.getGoldWonInBattle() + bet); loser.getCharacter().setGold(loser.getCharacter().getGold() - bet); loser.setGoldLostInBattle(loser.getGoldLostInBattle() + bet); - mythArenaGui.setCombatInfo(0,winner.getNickname() + " wins!"); - }else { + if (gui) { + mythArenaGui.setCombatInfo(0,winner.getNickname() + " wins!"); + } + } else if (gui) { mythArenaGui.setCombatInfo(0,"DRAW!"); } if (player1.isSubscriber()) { @@ -314,20 +329,21 @@ public void combat(Player player1, Player player2, int bet) { if (player2.isSubscriber()) { player2.getNotificationArrayList().add(new CombatResultsNotification("Battle vs " + player2.getNickname() + " results","Click on any of the following rounds below to see details",combat)); } - mythArenaGui.setHealthBar(0,character1.getHealth(),5); - mythArenaGui.setHealthBar(1,character2.getHealth(),5); - mythArenaGui.setCombatInfo(1,null); - mythArenaGui.setCombatInfo(2,null); - mythArenaGui.setOption(1,"Exit"); - mythArenaGui.waitEvent(10); - + if (gui) { + mythArenaGui.setHealthBar(0,character1.getHealth(),5); + mythArenaGui.setHealthBar(1,character2.getHealth(),5); + mythArenaGui.setCombatInfo(1,null); + mythArenaGui.setCombatInfo(2,null); + mythArenaGui.setOption(1,"Exit"); + mythArenaGui.waitEvent(10); + } try { serializeData(); } catch (IOException e) { e.printStackTrace(); } + } - } /** * Checks String str can be converted to integer * @param str String str diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 134eb14..ee84cea 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -169,8 +169,7 @@ public void viewNotifications() { exit = true; } else if (choice == 'B') { // If player accepts. We start combat - - getArena().combat(player,pendingCombatNotification.getChallenger(), pendingCombatNotification.getBet()); + getArena().combat(player, pendingCombatNotification.getChallenger(), pendingCombatNotification.getBet(), true); player.getNotificationArrayList().remove(pendingCombatNotification); try { getArena().serializeData(); From aa8ee2f7ffd74f984c983b05b267d53b81673008 Mon Sep 17 00:00:00 2001 From: gutche Date: Mon, 6 Jun 2022 18:12:32 +0200 Subject: [PATCH 11/53] test: player menu tests --- src/mytharena/command/PlayerMenu.java | 2 +- .../factory/character/Character.java | 19 ++++++---- .../factory/character/vampire/Vampire.java | 8 ++--- src/test/ArenaTest.java | 5 +++ src/test/PlayerMenuTest.java | 36 +++++++++++++++++++ 5 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 src/test/ArenaTest.java create mode 100644 src/test/PlayerMenuTest.java diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index ee84cea..74d4b31 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -190,7 +190,7 @@ public void viewNotifications() { combatResults.add("Winner: " + combatResultsNotification.getCombat().getWinner().getNickname()); combatResults.add("Loser: " + combatResultsNotification.getCombat().getLoser().getNickname()); combatResults.add("Date: " + combatResultsNotification.getCombat().getDate()); - combatResults.add("Player with minions left: " + combatResultsNotification.getCombat().getPlayerWithMinionsLeft().getNickname()); + combatResults.add("Player with minions left: " + (combatResultsNotification.getCombat().getPlayerWithMinionsLeft() == null ? "NONE" : combatResultsNotification.getCombat().getPlayerWithMinionsLeft().getNickname())); combatResults.add(combatResultsNotification.getBody()); for(int i = 1; i <= ((CombatResultsNotification) notification).getCombat().getRounds().size(); i++) { combatResults.add("Round: "+ i); diff --git a/src/mytharena/data/character/factory/character/Character.java b/src/mytharena/data/character/factory/character/Character.java index f71df1c..de7d5e0 100644 --- a/src/mytharena/data/character/factory/character/Character.java +++ b/src/mytharena/data/character/factory/character/Character.java @@ -74,16 +74,21 @@ public Character(Data data) { // Randomly gets 3 armor and 3 weapons ArrayList armorArrayList = new ArrayList<>(); ArrayList weaponArrayList = new ArrayList<>(); - for (int cont = 0; cont < 3; cont++) { - armorArrayList.add(data.getArmorPool().get(rand.nextInt(data.getArmorPool().size()))); - weaponArrayList.add(data.getWeaponPool().get(rand.nextInt(data.getWeaponPool().size()))); + if (data.getWeaponPool().size() > 0 && data.getArmorPool().size() > 0) { + for (int cont = 0; cont < 3; cont++) { + armorArrayList.add(data.getArmorPool().get(rand.nextInt(data.getArmorPool().size()))); + weaponArrayList.add(data.getWeaponPool().get(rand.nextInt(data.getWeaponPool().size()))); + } } this.setInventory(new Inventory(weaponArrayList, armorArrayList)); - // By default, the first weapon/armor in inventory will be equipped - this.setArmor(getInventory().getArmorArrayList().get(0)); ArrayList equippedWeaponArrayList = new ArrayList<>(); - equippedWeaponArrayList.add(getInventory().getWeaponArrayList().get(0)); - this.setEquippedWeaponArrayList(equippedWeaponArrayList); + // By default, the first weapon/armor in inventory will be equipped + if (getInventory().getArmorArrayList().size() > 0 && getInventory().getWeaponArrayList().size() > 0) { + this.setArmor(getInventory().getArmorArrayList().get(0)); + equippedWeaponArrayList.add(getInventory().getWeaponArrayList().get(0)); + this.setEquippedWeaponArrayList(equippedWeaponArrayList); + } + // Get minion count double roll = Math.random(); int minionsCount; diff --git a/src/mytharena/data/character/factory/character/vampire/Vampire.java b/src/mytharena/data/character/factory/character/vampire/Vampire.java index c8c5edc..f1ac9d8 100644 --- a/src/mytharena/data/character/factory/character/vampire/Vampire.java +++ b/src/mytharena/data/character/factory/character/vampire/Vampire.java @@ -31,12 +31,12 @@ public class Vampire extends Character implements Serializable { public Vampire(Data data) { super(data); Random rand = new Random(); - this.age = rand.nextInt(1000)+1; - this.bloodPoints = 0; - super.setAbility(new Discipline(rand.nextInt(3) + 1, rand.nextInt(3) + 1)); + age = rand.nextInt(1000)+1; + bloodPoints = 0; + setAbility(new Discipline(rand.nextInt(3) + 1, rand.nextInt(3) + 1)); ArrayList weaknessArrayList = new ArrayList<>(); weaknessArrayList.add(new Modifier("Luz solar", rand.nextInt(5) + 1)); - super.setFortitudeArrayList(weaknessArrayList); + setWeaknessArrayList(weaknessArrayList); } /** diff --git a/src/test/ArenaTest.java b/src/test/ArenaTest.java new file mode 100644 index 0000000..32a11b0 --- /dev/null +++ b/src/test/ArenaTest.java @@ -0,0 +1,5 @@ +package test; + +public class ArenaTest { + +} diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java new file mode 100644 index 0000000..08cfcf0 --- /dev/null +++ b/src/test/PlayerMenuTest.java @@ -0,0 +1,36 @@ +package test; + +import mytharena.data.Data; +import mytharena.data.character.ability.Discipline; +import mytharena.data.character.factory.character.Character; +import mytharena.data.character.factory.character.vampire.Vampire; +import mytharena.data.character.factory.character.vampire.VampireFactory; +import mytharena.data.user.Player; +import org.junit.Test; + +import static junit.framework.TestCase.*; + +public class PlayerMenuTest { + + @Test + public void testCreateCharacter() { + VampireFactory vampireFactory = new VampireFactory(new Data()); + Character vampire = vampireFactory.createCharacter(); + assertTrue(vampire instanceof Vampire); + assertTrue(vampire.getAbility() instanceof Discipline); + assertEquals(vampire.getWeaknessArrayList().get(0).getName(), "Luz solar"); + assertEquals(((Vampire) vampire).getBloodPoints(), 0); + } + + @Test + public void testDeleteCharacter() { + Player player = new Player("gled","gled",new Data(),"gled"); + VampireFactory vampireFactory = new VampireFactory(new Data()); + Character vampire = vampireFactory.createCharacter(); + player.setCharacter(vampire); + assertNotNull(player.getCharacter()); + player.setCharacter(null); + assertNull(player.getCharacter()); + } + +} From f97aab748c8506de210dda33c3f59c1b6661330d Mon Sep 17 00:00:00 2001 From: skuzow Date: Sat, 2 Jul 2022 23:56:27 +0200 Subject: [PATCH 12/53] docs: proper readme --- README.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 774b28f..bf8166f 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,16 @@ -# myth-arena +# ⚔️ Myth Arena [![license](https://img.shields.io/github/license/skuzow/myth-arena.svg)](https://github.com/skuzow/myth-arena/blob/master/LICENSE) -⚔ Fight arena game where players have their own myth creatures, mp final project. +Fight arena game where players have their own myth creatures, MP final project. -## Collaborators - -- AC Group +## 👤 Collaborators | **Name** | **Github Username** | |:-----------------------------:|:-------------------:| | Alejandro Porras Torrecilla | skuzow | | Gledrian Gutierrez Regala | gutche | -| Ignacio Caniculo Dominguez | nachocaniculo | -| Pablo Antolín Martínez | Pbantolin12 | -## Applied Methodologies +## ♻️ Applied Methodologies -We have applied different methodologies during the project like, SCRUM to organize work with [JIRA](https://myth-arena.atlassian.net/jira/software/projects/MYT/boards/1/roadmap) tool in this case, and about technical aspect, we have been using [gitFlow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) workflow for organizing branches and commits in general. +We have applied different methodologies during the project, SCRUM to organize work with [JIRA](https://myth-arena.atlassian.net/jira/software/projects/MYT/boards/1/roadmap) tool in this case, and about technical aspect, we have been using [gitFlow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) workflow for organizing branches and have standards for commits. From ec03918bfcd8fd60d87f6e58c2e9cc1f5998905d Mon Sep 17 00:00:00 2001 From: gutche Date: Mon, 4 Jul 2022 16:46:51 +0200 Subject: [PATCH 13/53] feat: market --- src/mytharena/command/PlayerMenu.java | 90 +++++++++++++++++++++++---- src/mytharena/data/Data.java | 10 ++- 2 files changed, 86 insertions(+), 14 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 74d4b31..aebdd5a 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -58,10 +58,10 @@ public void execute() { super.getMythArenaGui().setOption(2, "Create character"); super.getMythArenaGui().setOption(3, "Delete character"); super.getMythArenaGui().setOption(4, "Select equipment"); - super.getMythArenaGui().setOption(5, "View notifications"); + super.getMythArenaGui().setOption(5, "Buy/Sell items"); super.getMythArenaGui().setOption(6, "View ranking"); - super.getMythArenaGui().setOption(7, "Log out"); - getMythArenaGui().setOption(8,null); + super.getMythArenaGui().setOption(7, "View notifications"); + getMythArenaGui().setOption(8,"Logout"); getMythArenaGui().setOption(9, null); switch (super.getMythArenaGui().waitEvent(30)) { @@ -70,17 +70,83 @@ public void execute() { case 'C' -> createCharacter(); case 'D' -> deleteCharacter(); case 'E' -> selectEquipment(); - case 'F' -> viewNotifications(); + case 'F' -> viewMarket(); case 'G' -> viewRanking(); - case 'H' -> getArena().setActiveUser(null); + case 'H' -> viewNotifications(); + case 'I' -> getArena().setActiveUser(null); } } } + private void viewMarket() { + boolean exit = false; + while(!exit) { + getMythArenaGui().setListMode(); + getMythArenaGui().setTitle("Welcome to the Market Place"); + getMythArenaGui().setDescription("Select the operation you wish to make."); + getMythArenaGui().setOption(0, "Sell"); + getMythArenaGui().setOption(1, "Buy"); + getMythArenaGui().setOption(2, "Back"); + getMythArenaGui().setOption(3, null); + char option = getMythArenaGui().waitEvent(30); + + if (option == 'A') { + boolean exit2 = false; + while (!exit2) { + char option2 = getMythArenaGui().waitEvent(30); + getMythArenaGui().setTitle("Choose the item you want to sell"); + getMythArenaGui().setOption(0, "Back"); + getMythArenaGui().setOption(1, "Open"); + + if (option2 == 'A') { + exit2 = true; + }else if (option2 == 'B'){ + boolean exit3 = false; + while (!exit3) { + ArrayList list = new ArrayList<>(); + for (Equipment weapon : player.getCharacter().getInventory().getWeaponArrayList()) { + list.add(weapon.getName()); + } + for (Equipment armor : player.getCharacter().getInventory().getArmorArrayList()) { + list.add(armor.getName()); + } + if (!player.getCharacter().getMinionArrayList().isEmpty()) { + list.add("Minion pack"); + } + getMythArenaGui().setList(list); + + char option3 = getMythArenaGui().waitEvent(30); + + if (option3 == 'A') { + exit3 = true; + }else if (option3 == 'B') { + int index = getMythArenaGui().getLastSelectedListIndex(); + if (index != -1) { + if (index < player.getCharacter().getInventory().getWeaponArrayList().size()) { + Equipment weapon = player.getCharacter().getInventory().getWeaponArrayList().get(index); + + } + }else { + getMythArenaGui().setDescription("You must select an item to sell"); + } + } + } + } + } + }else if (option == 'B') { + getMythArenaGui().setTitle("Choose the item you want to buy"); + getMythArenaGui().setOption(0,"Notification settings"); + getMythArenaGui().setOption(1,"Open"); + getMythArenaGui().setOption(2,"Back"); + }else if (option == 'C') { + exit = true; + } + } + } /** * Get gold */ - public void getGold() { + private void getGold() { if (player.getCharacter() == null) { super.getMythArenaGui().setDescription("No character found"); getMythArenaGui().waitEvent(3); @@ -108,7 +174,7 @@ public void getGold() { /** * View Notifications */ - public void viewNotifications() { + private void viewNotifications() { // Checks if you have notification. We need to alert the player, otherwise, said player might think it's bugged. if (player.getNotificationArrayList().size() == 0) { getMythArenaGui().setDescription("You don't have notifications"); @@ -251,7 +317,7 @@ public void viewNotifications() { /** * View Ranking */ - public void viewRanking() { + private void viewRanking() { super.getMythArenaGui().setListMode(); super.getMythArenaGui().setTitle("Ranking"); super.getMythArenaGui().setDescription(null); @@ -293,7 +359,7 @@ public void viewRanking() { /** * Delete character */ - public void deleteCharacter() { + private void deleteCharacter() { // Must have character to be deleted if (player.getCharacter() != null) { boolean exit = false; @@ -329,7 +395,7 @@ public void deleteCharacter() { /** * Create character */ - public void createCharacter() { + private void createCharacter() { getMythArenaGui().setListMode(); getMythArenaGui().setOption(0,null); getMythArenaGui().setOption(1,null); @@ -374,7 +440,7 @@ public void createCharacter() { /** * Challenge user */ - public void challengeUser() { + private void challengeUser() { // Update bans & check if player is still combat banned getArena().updateBans(); if (!getData().getBannedPlayerMap().containsKey(player)) { @@ -466,7 +532,7 @@ public void challengeUser() { /** * Select equipment */ - public void selectEquipment() { + private void selectEquipment() { // Must have character to select equipments if (player.getCharacter() != null) { getMythArenaGui().setListMode(); diff --git a/src/mytharena/data/Data.java b/src/mytharena/data/Data.java index 7084c64..8fdbeca 100644 --- a/src/mytharena/data/Data.java +++ b/src/mytharena/data/Data.java @@ -1,5 +1,6 @@ package mytharena.data; +import mytharena.data.character.factory.minion.Minion; import mytharena.data.character.inventory.equipment.Armor; import mytharena.data.character.inventory.equipment.Weapon; import mytharena.data.combat.Combat; @@ -21,22 +22,27 @@ public class Data implements Serializable { * ArrayList User userArrayList */ private final ArrayList userArrayList = new ArrayList<>(); + /** * HashMap Player Date bannedPlayerMap */ private final HashMap bannedPlayerMap = new HashMap<>(); + /** * ArrayList Combat combatArrayList */ private final ArrayList combatArrayList = new ArrayList<>(); + /** * ArrayList PendingCombat pendingCombatArrayList */ private final ArrayList pendingCombatArrayList = new ArrayList<>(); + /** * ArrayList Weapon weaponPool */ private final ArrayList weaponPool = new ArrayList<>(); + /** * ArrayList Armor armorPool */ @@ -75,7 +81,7 @@ public ArrayList getPendingCombatArrayList() { } /** - * Get ArrayList Weapon weaponPool + * Gets ArrayList Weapon weaponPool * @return ArrayList Weapon weaponPool */ public ArrayList getWeaponPool() { @@ -83,7 +89,7 @@ public ArrayList getWeaponPool() { } /** - * ArrayList Armor armorPool + * Gets ArrayList Armor armorPool * @return ArrayList Armor armorPool */ public ArrayList getArmorPool() { From da1bd35c451675252843146b59a1acc0036d7771 Mon Sep 17 00:00:00 2001 From: gutche Date: Tue, 5 Jul 2022 17:53:00 +0200 Subject: [PATCH 14/53] feat: market pool update --- src/mytharena/command/PlayerMenu.java | 40 ++++++++++++++++--- src/mytharena/data/Data.java | 10 +++++ src/mytharena/data/character/Marketable.java | 5 +++ .../data/character/factory/minion/Minion.java | 4 +- .../inventory/equipment/Equipment.java | 4 +- 5 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 src/mytharena/data/character/Marketable.java diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index aebdd5a..fc0d25b 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -2,10 +2,13 @@ import mytharena.Arena; import mytharena.data.Data; +import mytharena.data.character.Marketable; import mytharena.data.character.factory.character.CharacterFactory; import mytharena.data.character.factory.character.hunter.HunterFactory; import mytharena.data.character.factory.character.vampire.VampireFactory; import mytharena.data.character.factory.character.werewolf.WerewolfFactory; +import mytharena.data.character.factory.minion.Minion; +import mytharena.data.character.inventory.equipment.Armor; import mytharena.data.character.inventory.equipment.Equipment; import mytharena.data.character.inventory.equipment.Weapon; import mytharena.data.combat.Combat; @@ -86,8 +89,8 @@ private void viewMarket() { getMythArenaGui().setDescription("Select the operation you wish to make."); getMythArenaGui().setOption(0, "Sell"); getMythArenaGui().setOption(1, "Buy"); - getMythArenaGui().setOption(2, "Back"); - getMythArenaGui().setOption(3, null); + getMythArenaGui().setOption(2, "Notification settings"); + getMythArenaGui().setOption(3, "Back"); char option = getMythArenaGui().waitEvent(30); if (option == 'A') { @@ -122,9 +125,21 @@ private void viewMarket() { }else if (option3 == 'B') { int index = getMythArenaGui().getLastSelectedListIndex(); if (index != -1) { - if (index < player.getCharacter().getInventory().getWeaponArrayList().size()) { + int weapon_max_index = player.getCharacter().getInventory().getWeaponArrayList().size(); + int armor_max_index = player.getCharacter().getInventory().getArmorArrayList().size(); + if (index < weapon_max_index) { Equipment weapon = player.getCharacter().getInventory().getWeaponArrayList().get(index); - + ArrayList weaponPack = new ArrayList<>(); + weaponPack.add(weapon); + getData().getMarketPool().add(weaponPack); + } else if (index < armor_max_index) { + Equipment armor = player.getCharacter().getInventory().getArmorArrayList().get(index); + ArrayList weaponPack = new ArrayList<>(); + getData().getMarketPool().add(armor); + }else { + ArrayList minionPack = player.getCharacter().getMinionArrayList(); + ArrayList minionPack1 = new ArrayList<>(minionPack); + getData().getMarketPool().add(minionPack1); } }else { getMythArenaGui().setDescription("You must select an item to sell"); @@ -138,8 +153,18 @@ private void viewMarket() { getMythArenaGui().setOption(0,"Notification settings"); getMythArenaGui().setOption(1,"Open"); getMythArenaGui().setOption(2,"Back"); - }else if (option == 'C') { + }else if (option == 'D') { exit = true; + }else if (option == 'C') { + ArrayList list = new ArrayList<>(); + list.add("Type"); + list.add("Rarity"); + list.add("Value"); + list.add("Loyalty"); + list.add("Character type"); + list.add("Price range"); + getMythArenaGui().setList(list); + } } } @@ -310,6 +335,11 @@ private void viewNotifications() { exit = true; } else if (option == 'B') { player.setSubscriber(!player.isSubscriber()); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } } } } diff --git a/src/mytharena/data/Data.java b/src/mytharena/data/Data.java index 8fdbeca..444c04e 100644 --- a/src/mytharena/data/Data.java +++ b/src/mytharena/data/Data.java @@ -1,5 +1,6 @@ package mytharena.data; +import mytharena.data.character.Marketable; import mytharena.data.character.factory.minion.Minion; import mytharena.data.character.inventory.equipment.Armor; import mytharena.data.character.inventory.equipment.Weapon; @@ -48,6 +49,11 @@ public class Data implements Serializable { */ private final ArrayList armorPool = new ArrayList<>(); + /** + * ArrayList Marketable marketPool + */ + private final ArrayList> marketPool = new ArrayList<>(); + /** * Gets ArrayList User userArrayList * @return ArrayList User userArrayList @@ -96,4 +102,8 @@ public ArrayList getArmorPool() { return this.armorPool; } + public ArrayList> getMarketPool() { + return marketPool; + } + } diff --git a/src/mytharena/data/character/Marketable.java b/src/mytharena/data/character/Marketable.java new file mode 100644 index 0000000..ee9b843 --- /dev/null +++ b/src/mytharena/data/character/Marketable.java @@ -0,0 +1,5 @@ +package mytharena.data.character; + +public class Marketable { + +} diff --git a/src/mytharena/data/character/factory/minion/Minion.java b/src/mytharena/data/character/factory/minion/Minion.java index 6fa179e..6a6b11e 100644 --- a/src/mytharena/data/character/factory/minion/Minion.java +++ b/src/mytharena/data/character/factory/minion/Minion.java @@ -1,12 +1,14 @@ package mytharena.data.character.factory.minion; +import mytharena.data.character.Marketable; + import java.io.Serializable; import java.util.Random; /** * Minion abstract class implements Serializable */ -public abstract class Minion implements Serializable { +public abstract class Minion extends Marketable implements Serializable { /** * int health diff --git a/src/mytharena/data/character/inventory/equipment/Equipment.java b/src/mytharena/data/character/inventory/equipment/Equipment.java index a2305f8..8768068 100644 --- a/src/mytharena/data/character/inventory/equipment/Equipment.java +++ b/src/mytharena/data/character/inventory/equipment/Equipment.java @@ -1,11 +1,13 @@ package mytharena.data.character.inventory.equipment; +import mytharena.data.character.Marketable; + import java.io.Serializable; /** * Equipment abstract class implements Serializable */ -public abstract class Equipment implements Serializable { +public abstract class Equipment extends Marketable implements Serializable { /** * String name From e4be37c50a999cdf8abe12fc8983b6b1a47a5fb4 Mon Sep 17 00:00:00 2001 From: skuzow Date: Tue, 5 Jul 2022 21:29:11 +0200 Subject: [PATCH 15/53] feat: market sell system --- src/mytharena/command/PlayerMenu.java | 279 ++++++++++++++----- src/mytharena/data/Data.java | 21 +- src/mytharena/data/character/Marketable.java | 3 + src/mytharena/data/market/Offer.java | 83 ++++++ 4 files changed, 299 insertions(+), 87 deletions(-) create mode 100644 src/mytharena/data/market/Offer.java diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index fc0d25b..d45ab57 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -8,12 +8,12 @@ import mytharena.data.character.factory.character.vampire.VampireFactory; import mytharena.data.character.factory.character.werewolf.WerewolfFactory; import mytharena.data.character.factory.minion.Minion; -import mytharena.data.character.inventory.equipment.Armor; import mytharena.data.character.inventory.equipment.Equipment; import mytharena.data.character.inventory.equipment.Weapon; import mytharena.data.combat.Combat; import mytharena.data.combat.PendingCombat; import mytharena.data.combat.Round; +import mytharena.data.market.Offer; import mytharena.data.notification.CombatResultsNotification; import mytharena.data.notification.GeneralNotification; import mytharena.data.notification.Notification; @@ -64,7 +64,7 @@ public void execute() { super.getMythArenaGui().setOption(5, "Buy/Sell items"); super.getMythArenaGui().setOption(6, "View ranking"); super.getMythArenaGui().setOption(7, "View notifications"); - getMythArenaGui().setOption(8,"Logout"); + getMythArenaGui().setOption(8,"Log-out"); getMythArenaGui().setOption(9, null); switch (super.getMythArenaGui().waitEvent(30)) { @@ -81,93 +81,222 @@ public void execute() { } } + /** + * View Market + */ private void viewMarket() { - boolean exit = false; - while(!exit) { - getMythArenaGui().setListMode(); - getMythArenaGui().setTitle("Welcome to the Market Place"); - getMythArenaGui().setDescription("Select the operation you wish to make."); - getMythArenaGui().setOption(0, "Sell"); - getMythArenaGui().setOption(1, "Buy"); - getMythArenaGui().setOption(2, "Notification settings"); - getMythArenaGui().setOption(3, "Back"); - char option = getMythArenaGui().waitEvent(30); - - if (option == 'A') { - boolean exit2 = false; - while (!exit2) { - char option2 = getMythArenaGui().waitEvent(30); - getMythArenaGui().setTitle("Choose the item you want to sell"); - getMythArenaGui().setOption(0, "Back"); - getMythArenaGui().setOption(1, "Open"); - - if (option2 == 'A') { - exit2 = true; - }else if (option2 == 'B'){ - boolean exit3 = false; - while (!exit3) { - ArrayList list = new ArrayList<>(); - for (Equipment weapon : player.getCharacter().getInventory().getWeaponArrayList()) { - list.add(weapon.getName()); + boolean exitMarket = false; + while(!exitMarket) { + super.getMythArenaGui().setButtonMode(); + super.getMythArenaGui().setTitle("Welcome to the Market Place"); + super.getMythArenaGui().setDescription("Select the operation you wish to make."); + super.getMythArenaGui().setOption(0, null); + super.getMythArenaGui().setOption(1, null); + super.getMythArenaGui().setOption(2, null); + super.getMythArenaGui().setOption(3, null); + super.getMythArenaGui().setOption(4, null); + super.getMythArenaGui().setOption(5, null); + super.getMythArenaGui().setOption(6, "Sell"); + super.getMythArenaGui().setOption(7, "Buy"); + super.getMythArenaGui().setOption(8, "Back"); + super.getMythArenaGui().setOption(9, "Notification settings"); + switch (getMythArenaGui().waitEvent(30)) { + // sell + case 'G' -> { + // exit if no character + if (this.player.getCharacter() == null) { + super.getMythArenaGui().setDescription("You can't sell in the market without a character!"); + super.getMythArenaGui().waitEvent(3); + } else { + // copy lists for modifying inside here + ArrayList armorList = new ArrayList<>(this.player.getCharacter().getInventory().getArmorArrayList()); + ArrayList weaponList = new ArrayList<>(this.player.getCharacter().getInventory().getWeaponArrayList()); + ArrayList minionList = new ArrayList<>(this.player.getCharacter().getMinionArrayList()); + // pack to save in offer after + ArrayList armorPack = new ArrayList<>(); + ArrayList weaponPack = new ArrayList<>(); + ArrayList minionPack = new ArrayList<>(); + int totalPrice = 0; + boolean exitSell = false; + while (!exitSell) { + ArrayList displayList = new ArrayList<>(); + // armors + if (!armorList.isEmpty()) { + for (Equipment armor: armorList) { + displayList.add( + "Armor: " + armor.getName() + + " || AttackModification: " + armor.getAttackModification() + + " || DefenseModification: " + armor.getDefenseModification() + ); + } } - for (Equipment armor : player.getCharacter().getInventory().getArmorArrayList()) { - list.add(armor.getName()); + // weapons + if (!weaponList.isEmpty()) { + for (Equipment weapon: weaponList) { + displayList.add( + "Weapon: " + weapon.getName() + + " || AttackModification: " + weapon.getAttackModification() + + " || DefenseModification: " + weapon.getDefenseModification() + + " || TwoHands: " + ((Weapon) weapon).isTwoHands() + ); + } } - if (!player.getCharacter().getMinionArrayList().isEmpty()) { - list.add("Minion pack"); + // minions + if (!minionList.isEmpty()) { + displayList.add("Minions: " + minionList.size()); } - getMythArenaGui().setList(list); - - char option3 = getMythArenaGui().waitEvent(30); - - if (option3 == 'A') { - exit3 = true; - }else if (option3 == 'B') { - int index = getMythArenaGui().getLastSelectedListIndex(); - if (index != -1) { - int weapon_max_index = player.getCharacter().getInventory().getWeaponArrayList().size(); - int armor_max_index = player.getCharacter().getInventory().getArmorArrayList().size(); - if (index < weapon_max_index) { - Equipment weapon = player.getCharacter().getInventory().getWeaponArrayList().get(index); - ArrayList weaponPack = new ArrayList<>(); - weaponPack.add(weapon); - getData().getMarketPool().add(weaponPack); - } else if (index < armor_max_index) { - Equipment armor = player.getCharacter().getInventory().getArmorArrayList().get(index); - ArrayList weaponPack = new ArrayList<>(); - getData().getMarketPool().add(armor); - }else { - ArrayList minionPack = player.getCharacter().getMinionArrayList(); - ArrayList minionPack1 = new ArrayList<>(minionPack); - getData().getMarketPool().add(minionPack1); + // list itself + super.getMythArenaGui().setListMode(); + super.getMythArenaGui().setTitle("Choose the item you want to sell"); + super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(1, "Select"); + super.getMythArenaGui().setList(displayList); + switch(getMythArenaGui().waitEvent(30)) { + case 'A' -> exitSell = true; + case 'B' -> { + int index = super.getMythArenaGui().getLastSelectedListIndex(); + // if item selected + if (index != -1) { + int price = marketSellPriceSelector(); + if (price != -1) { + totalPrice += price; + int armorMaxIndex = armorList.size(); + int weaponMaxIndex = weaponList.size(); + // armor selected + if (index < armorMaxIndex) { + Equipment armor = armorList.get(index); + armorPack.add(armor); + armorList.remove(armor); + // weapon selected + } else if (index < weaponMaxIndex) { + Equipment weapon = weaponList.get(index); + weaponPack.add(weapon); + weaponList.remove(weapon); + // minion selected + } else { + minionPack = new ArrayList<>(minionList); + minionList = new ArrayList<>(); + } + boolean exitConfirmation = false; + while (!exitConfirmation) { + super.getMythArenaGui().setMessageMode(); + super.getMythArenaGui().setTitle("Confirmation Panel"); + super.getMythArenaGui().setDescription("Do you want to continue choosing items for the offer?"); + super.getMythArenaGui().setOption(0, "Exit saving offer"); + super.getMythArenaGui().setOption(1, "Continue choosing"); + // save offer + switch(super.getMythArenaGui().waitEvent(30)) { + case 'A' -> { + try { + // create offer + ArrayList> itemList = new ArrayList<>(); + // use stuff lists because all of them are updated without items inside offer + if (!armorPack.isEmpty()) { + itemList.add(armorPack); + player.getCharacter().getInventory().setArmorArrayList(armorList); + } + if (!weaponPack.isEmpty()) { + itemList.add(weaponPack); + player.getCharacter().getInventory().setWeaponArrayList(weaponList); + } + if (!minionPack.isEmpty()) { + itemList.add(minionPack); + player.getCharacter().setMinionArrayList(minionList); + } + super.getData().getMarketOffers().add(new Offer(player, totalPrice, itemList)); + super.getArena().serializeData(); + super.getMythArenaGui().setDescription("Offer successfully created!"); + super.getMythArenaGui().waitEvent(3); + exitConfirmation = true; + exitSell = true; + } catch (IOException e) { + e.printStackTrace(); + } + } + case 'B' -> exitConfirmation = true; + } + } + } + // goes back to item list sell + } else { + getMythArenaGui().setDescription("You must select an item to sell!"); } - }else { - getMythArenaGui().setDescription("You must select an item to sell"); } } } } } - }else if (option == 'B') { - getMythArenaGui().setTitle("Choose the item you want to buy"); - getMythArenaGui().setOption(0,"Notification settings"); - getMythArenaGui().setOption(1,"Open"); - getMythArenaGui().setOption(2,"Back"); - }else if (option == 'D') { - exit = true; - }else if (option == 'C') { - ArrayList list = new ArrayList<>(); - list.add("Type"); - list.add("Rarity"); - list.add("Value"); - list.add("Loyalty"); - list.add("Character type"); - list.add("Price range"); - getMythArenaGui().setList(list); + // buy + case 'H' -> { + // TODO: buy + // exit if no character + if (this.player.getCharacter() == null) { + super.getMythArenaGui().setDescription("You can't buy in the market without a character!"); + super.getMythArenaGui().waitEvent(3); + } else { + getMythArenaGui().setTitle("Choose the item you want to buy"); + getMythArenaGui().setOption(0,"Notification settings"); + getMythArenaGui().setOption(1,"Open"); + getMythArenaGui().setOption(2,"Back"); + } + } + // exit + case 'I' -> exitMarket = true; + // notification settings + case 'J' -> { + // TODO: notification settings + ArrayList list = new ArrayList<>(); + list.add("Type"); + list.add("Rarity"); + list.add("Value"); + list.add("Loyalty"); + list.add("Character type"); + list.add("Price range"); + getMythArenaGui().setList(list); + } + } + } + } + /** + * Market Sell Price Selector + * @return int price + */ + private int marketSellPriceSelector() { + super.getMythArenaGui().setFormMode(); + super.getMythArenaGui().setTitle("Sell price selector"); + super.getMythArenaGui().setDescription(null); + super.getMythArenaGui().setField(0, "Type the price you want to sell:"); + super.getMythArenaGui().setField(1, null); + super.getMythArenaGui().setField(2, null); + super.getMythArenaGui().setOption(0, "Cancel"); + super.getMythArenaGui().setOption(1, "Continue"); + boolean exit = false; + while (!exit) { + switch (super.getMythArenaGui().waitEvent(30)) { + case 'A' -> exit = true; + case 'B' -> { + String value = super.getMythArenaGui().getFieldText(0); + if (super.getArena().isInteger(value)) { + int price = Integer.parseInt(value); + if (price > 0) { + super.getMythArenaGui().setDescription("Price successfully saved!"); + super.getMythArenaGui().waitEvent(1); + super.getMythArenaGui().clearFieldText(0); + return price; + } else { + super.getMythArenaGui().setDescription("Price needs to be higher than 0!"); + } + } else { + super.getMythArenaGui().setDescription("Invalid price provided!"); + } + super.getMythArenaGui().waitEvent(3); + } } } + return -1; } + /** * Get gold */ diff --git a/src/mytharena/data/Data.java b/src/mytharena/data/Data.java index 444c04e..44d7ca0 100644 --- a/src/mytharena/data/Data.java +++ b/src/mytharena/data/Data.java @@ -1,11 +1,10 @@ package mytharena.data; -import mytharena.data.character.Marketable; -import mytharena.data.character.factory.minion.Minion; import mytharena.data.character.inventory.equipment.Armor; import mytharena.data.character.inventory.equipment.Weapon; import mytharena.data.combat.Combat; import mytharena.data.combat.PendingCombat; +import mytharena.data.market.Offer; import mytharena.data.user.Player; import mytharena.data.user.User; @@ -23,36 +22,30 @@ public class Data implements Serializable { * ArrayList User userArrayList */ private final ArrayList userArrayList = new ArrayList<>(); - /** * HashMap Player Date bannedPlayerMap */ private final HashMap bannedPlayerMap = new HashMap<>(); - /** * ArrayList Combat combatArrayList */ private final ArrayList combatArrayList = new ArrayList<>(); - /** * ArrayList PendingCombat pendingCombatArrayList */ private final ArrayList pendingCombatArrayList = new ArrayList<>(); - /** * ArrayList Weapon weaponPool */ private final ArrayList weaponPool = new ArrayList<>(); - /** * ArrayList Armor armorPool */ private final ArrayList armorPool = new ArrayList<>(); - /** - * ArrayList Marketable marketPool + * ArrayList Offer marketOffers */ - private final ArrayList> marketPool = new ArrayList<>(); + private final ArrayList marketOffers = new ArrayList<>(); /** * Gets ArrayList User userArrayList @@ -102,8 +95,12 @@ public ArrayList getArmorPool() { return this.armorPool; } - public ArrayList> getMarketPool() { - return marketPool; + /** + * Gets ArrayList Offer marketOffers + * @return ArrayListOffer marketOffers + */ + public ArrayList getMarketOffers() { + return this.marketOffers; } } diff --git a/src/mytharena/data/character/Marketable.java b/src/mytharena/data/character/Marketable.java index ee9b843..56b1c34 100644 --- a/src/mytharena/data/character/Marketable.java +++ b/src/mytharena/data/character/Marketable.java @@ -1,5 +1,8 @@ package mytharena.data.character; +/** + * Marketable class + */ public class Marketable { } diff --git a/src/mytharena/data/market/Offer.java b/src/mytharena/data/market/Offer.java new file mode 100644 index 0000000..97ccf40 --- /dev/null +++ b/src/mytharena/data/market/Offer.java @@ -0,0 +1,83 @@ +package mytharena.data.market; + +import mytharena.data.character.Marketable; +import mytharena.data.user.Player; + +import java.io.Serializable; +import java.util.ArrayList; + +/** + * Offer class implements Serializable + */ +public class Offer implements Serializable { + + /** + * Player buyer + */ + private Player buyer; + /** + * Player seller + */ + private final Player seller; + /** + * int Price + */ + private final int price; + /** + * ArrayList ArrayList Marketable itemList + */ + private final ArrayList> itemList; + + /** + * Offer class constructor + * @param seller Player seller + * @param price int Price + * @param itemList ArrayList ArrayList Marketable itemList + */ + public Offer(Player seller, int price, ArrayList> itemList) { + this.seller = seller; + this.price = price; + this.itemList = itemList; + } + + /** + * Sets Player buyer + * @param buyer Player buyer + */ + public void setBuyer(Player buyer) { + this.buyer = buyer; + } + + /** + * Gets Player buyer + * @return Player buyer + */ + public Player getBuyer() { + return this.buyer; + } + + /** + * Gets Player seller + * @return Player seller + */ + public Player getSeller() { + return this.seller; + } + + /** + * Gets int price + * @return int price + */ + public int getPrice() { + return this.price; + } + + /** + * Gets ArrayList ArrayList Marketable itemList + * @return ArrayList ArrayList Marketable itemList + */ + public ArrayList> getItemList() { + return this.itemList; + } + +} From db1593cb756c910c6e609fa152f3f8abeea045ff Mon Sep 17 00:00:00 2001 From: skuzow Date: Tue, 5 Jul 2022 21:44:32 +0200 Subject: [PATCH 16/53] refactor: separate market functionalities --- src/mytharena/command/PlayerMenu.java | 281 ++++++++++++++------------ 1 file changed, 149 insertions(+), 132 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index d45ab57..5c81a63 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -108,151 +108,144 @@ private void viewMarket() { super.getMythArenaGui().setDescription("You can't sell in the market without a character!"); super.getMythArenaGui().waitEvent(3); } else { - // copy lists for modifying inside here - ArrayList armorList = new ArrayList<>(this.player.getCharacter().getInventory().getArmorArrayList()); - ArrayList weaponList = new ArrayList<>(this.player.getCharacter().getInventory().getWeaponArrayList()); - ArrayList minionList = new ArrayList<>(this.player.getCharacter().getMinionArrayList()); - // pack to save in offer after - ArrayList armorPack = new ArrayList<>(); - ArrayList weaponPack = new ArrayList<>(); - ArrayList minionPack = new ArrayList<>(); - int totalPrice = 0; - boolean exitSell = false; - while (!exitSell) { - ArrayList displayList = new ArrayList<>(); - // armors - if (!armorList.isEmpty()) { - for (Equipment armor: armorList) { - displayList.add( - "Armor: " + armor.getName() + - " || AttackModification: " + armor.getAttackModification() + - " || DefenseModification: " + armor.getDefenseModification() - ); - } - } - // weapons - if (!weaponList.isEmpty()) { - for (Equipment weapon: weaponList) { - displayList.add( - "Weapon: " + weapon.getName() + - " || AttackModification: " + weapon.getAttackModification() + - " || DefenseModification: " + weapon.getDefenseModification() + - " || TwoHands: " + ((Weapon) weapon).isTwoHands() - ); - } - } - // minions - if (!minionList.isEmpty()) { - displayList.add("Minions: " + minionList.size()); - } - // list itself - super.getMythArenaGui().setListMode(); - super.getMythArenaGui().setTitle("Choose the item you want to sell"); - super.getMythArenaGui().setOption(0, "Back"); - super.getMythArenaGui().setOption(1, "Select"); - super.getMythArenaGui().setList(displayList); - switch(getMythArenaGui().waitEvent(30)) { - case 'A' -> exitSell = true; - case 'B' -> { - int index = super.getMythArenaGui().getLastSelectedListIndex(); - // if item selected - if (index != -1) { - int price = marketSellPriceSelector(); - if (price != -1) { - totalPrice += price; - int armorMaxIndex = armorList.size(); - int weaponMaxIndex = weaponList.size(); - // armor selected - if (index < armorMaxIndex) { - Equipment armor = armorList.get(index); - armorPack.add(armor); - armorList.remove(armor); - // weapon selected - } else if (index < weaponMaxIndex) { - Equipment weapon = weaponList.get(index); - weaponPack.add(weapon); - weaponList.remove(weapon); - // minion selected - } else { - minionPack = new ArrayList<>(minionList); - minionList = new ArrayList<>(); - } - boolean exitConfirmation = false; - while (!exitConfirmation) { - super.getMythArenaGui().setMessageMode(); - super.getMythArenaGui().setTitle("Confirmation Panel"); - super.getMythArenaGui().setDescription("Do you want to continue choosing items for the offer?"); - super.getMythArenaGui().setOption(0, "Exit saving offer"); - super.getMythArenaGui().setOption(1, "Continue choosing"); - // save offer - switch(super.getMythArenaGui().waitEvent(30)) { - case 'A' -> { - try { - // create offer - ArrayList> itemList = new ArrayList<>(); - // use stuff lists because all of them are updated without items inside offer - if (!armorPack.isEmpty()) { - itemList.add(armorPack); - player.getCharacter().getInventory().setArmorArrayList(armorList); - } - if (!weaponPack.isEmpty()) { - itemList.add(weaponPack); - player.getCharacter().getInventory().setWeaponArrayList(weaponList); - } - if (!minionPack.isEmpty()) { - itemList.add(minionPack); - player.getCharacter().setMinionArrayList(minionList); - } - super.getData().getMarketOffers().add(new Offer(player, totalPrice, itemList)); - super.getArena().serializeData(); - super.getMythArenaGui().setDescription("Offer successfully created!"); - super.getMythArenaGui().waitEvent(3); - exitConfirmation = true; - exitSell = true; - } catch (IOException e) { - e.printStackTrace(); - } - } - case 'B' -> exitConfirmation = true; - } - } - } - // goes back to item list sell - } else { - getMythArenaGui().setDescription("You must select an item to sell!"); - } - } - } - } + this.sellMarket(); } } // buy case 'H' -> { - // TODO: buy // exit if no character if (this.player.getCharacter() == null) { super.getMythArenaGui().setDescription("You can't buy in the market without a character!"); super.getMythArenaGui().waitEvent(3); } else { - getMythArenaGui().setTitle("Choose the item you want to buy"); - getMythArenaGui().setOption(0,"Notification settings"); - getMythArenaGui().setOption(1,"Open"); - getMythArenaGui().setOption(2,"Back"); + this.buyMarket(); } } // exit case 'I' -> exitMarket = true; // notification settings - case 'J' -> { - // TODO: notification settings - ArrayList list = new ArrayList<>(); - list.add("Type"); - list.add("Rarity"); - list.add("Value"); - list.add("Loyalty"); - list.add("Character type"); - list.add("Price range"); - getMythArenaGui().setList(list); + case 'J' -> this.notificationMarket(); + } + } + } + + /** + * Sell Market + */ + private void sellMarket() { + // copy lists for modifying inside here + ArrayList armorList = new ArrayList<>(this.player.getCharacter().getInventory().getArmorArrayList()); + ArrayList weaponList = new ArrayList<>(this.player.getCharacter().getInventory().getWeaponArrayList()); + ArrayList minionList = new ArrayList<>(this.player.getCharacter().getMinionArrayList()); + // pack to save in offer after + ArrayList armorPack = new ArrayList<>(); + ArrayList weaponPack = new ArrayList<>(); + ArrayList minionPack = new ArrayList<>(); + int totalPrice = 0; + boolean exitSell = false; + while (!exitSell) { + ArrayList displayList = new ArrayList<>(); + // armors + if (!armorList.isEmpty()) { + for (Equipment armor : armorList) { + displayList.add( + "Armor: " + armor.getName() + + " || AttackModification: " + armor.getAttackModification() + + " || DefenseModification: " + armor.getDefenseModification() + ); + } + } + // weapons + if (!weaponList.isEmpty()) { + for (Equipment weapon : weaponList) { + displayList.add( + "Weapon: " + weapon.getName() + + " || AttackModification: " + weapon.getAttackModification() + + " || DefenseModification: " + weapon.getDefenseModification() + + " || TwoHands: " + ((Weapon) weapon).isTwoHands() + ); + } + } + // minions + if (!minionList.isEmpty()) { + displayList.add("Minions: " + minionList.size()); + } + // list itself + super.getMythArenaGui().setListMode(); + super.getMythArenaGui().setTitle("Choose the item you want to sell"); + super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(1, "Select"); + super.getMythArenaGui().setList(displayList); + switch (getMythArenaGui().waitEvent(30)) { + case 'A' -> exitSell = true; + case 'B' -> { + int index = super.getMythArenaGui().getLastSelectedListIndex(); + // if item selected + if (index != -1) { + int price = sellMarketPriceSelector(); + if (price != -1) { + totalPrice += price; + int armorMaxIndex = armorList.size(); + int weaponMaxIndex = weaponList.size(); + // armor selected + if (index < armorMaxIndex) { + Equipment armor = armorList.get(index); + armorPack.add(armor); + armorList.remove(armor); + // weapon selected + } else if (index < weaponMaxIndex) { + Equipment weapon = weaponList.get(index); + weaponPack.add(weapon); + weaponList.remove(weapon); + // minion selected + } else { + minionPack = new ArrayList<>(minionList); + minionList = new ArrayList<>(); + } + boolean exitConfirmation = false; + while (!exitConfirmation) { + super.getMythArenaGui().setMessageMode(); + super.getMythArenaGui().setTitle("Confirmation Panel"); + super.getMythArenaGui().setDescription("Do you want to continue choosing items for the offer?"); + super.getMythArenaGui().setOption(0, "Exit saving offer"); + super.getMythArenaGui().setOption(1, "Continue choosing"); + // save offer + switch (super.getMythArenaGui().waitEvent(30)) { + case 'A' -> { + try { + // create offer + ArrayList> itemList = new ArrayList<>(); + // use stuff lists because all of them are updated without items inside offer + if (!armorPack.isEmpty()) { + itemList.add(armorPack); + player.getCharacter().getInventory().setArmorArrayList(armorList); + } + if (!weaponPack.isEmpty()) { + itemList.add(weaponPack); + player.getCharacter().getInventory().setWeaponArrayList(weaponList); + } + if (!minionPack.isEmpty()) { + itemList.add(minionPack); + player.getCharacter().setMinionArrayList(minionList); + } + super.getData().getMarketOffers().add(new Offer(player, totalPrice, itemList)); + super.getArena().serializeData(); + super.getMythArenaGui().setDescription("Offer successfully created!"); + super.getMythArenaGui().waitEvent(3); + exitConfirmation = true; + exitSell = true; + } catch (IOException e) { + e.printStackTrace(); + } + } + case 'B' -> exitConfirmation = true; + } + } + } + // goes back to item list sell + } else { + getMythArenaGui().setDescription("You must select an item to sell!"); + } } } } @@ -262,7 +255,7 @@ private void viewMarket() { * Market Sell Price Selector * @return int price */ - private int marketSellPriceSelector() { + private int sellMarketPriceSelector() { super.getMythArenaGui().setFormMode(); super.getMythArenaGui().setTitle("Sell price selector"); super.getMythArenaGui().setDescription(null); @@ -297,6 +290,30 @@ private int marketSellPriceSelector() { return -1; } + /** + * Buy Market + */ + private void buyMarket() { + getMythArenaGui().setTitle("Choose the item you want to buy"); + getMythArenaGui().setOption(0,"Notification settings"); + getMythArenaGui().setOption(1,"Open"); + getMythArenaGui().setOption(2,"Back"); + } + + /** + * Notification Market + */ + private void notificationMarket() { + ArrayList list = new ArrayList<>(); + list.add("Type"); + list.add("Rarity"); + list.add("Value"); + list.add("Loyalty"); + list.add("Character type"); + list.add("Price range"); + getMythArenaGui().setList(list); + } + /** * Get gold */ From 326749ce4ad2d6b984fe9f4621f6857df8b75e25 Mon Sep 17 00:00:00 2001 From: gutche Date: Tue, 5 Jul 2022 23:32:26 +0200 Subject: [PATCH 17/53] fix: minor changes --- src/mytharena/command/PlayerMenu.java | 565 +++++++++++++------------- 1 file changed, 290 insertions(+), 275 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 5c81a63..dd0eb24 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -124,7 +124,7 @@ private void viewMarket() { // exit case 'I' -> exitMarket = true; // notification settings - case 'J' -> this.notificationMarket(); + case 'J' -> this.marketNotification(); } } } @@ -182,7 +182,7 @@ private void sellMarket() { int index = super.getMythArenaGui().getLastSelectedListIndex(); // if item selected if (index != -1) { - int price = sellMarketPriceSelector(); + int price = itemPriceCollector(); if (price != -1) { totalPrice += price; int armorMaxIndex = armorList.size(); @@ -205,10 +205,10 @@ private void sellMarket() { boolean exitConfirmation = false; while (!exitConfirmation) { super.getMythArenaGui().setMessageMode(); - super.getMythArenaGui().setTitle("Confirmation Panel"); - super.getMythArenaGui().setDescription("Do you want to continue choosing items for the offer?"); - super.getMythArenaGui().setOption(0, "Exit saving offer"); - super.getMythArenaGui().setOption(1, "Continue choosing"); + super.getMythArenaGui().setTitle(null); + super.getMythArenaGui().setDescription("Do you wish to add more items to your offer?"); + super.getMythArenaGui().setOption(0, "Finish"); + super.getMythArenaGui().setOption(1, "Add more"); // save offer switch (super.getMythArenaGui().waitEvent(30)) { case 'A' -> { @@ -255,11 +255,11 @@ private void sellMarket() { * Market Sell Price Selector * @return int price */ - private int sellMarketPriceSelector() { + private int itemPriceCollector() { super.getMythArenaGui().setFormMode(); - super.getMythArenaGui().setTitle("Sell price selector"); + super.getMythArenaGui().setTitle(null); super.getMythArenaGui().setDescription(null); - super.getMythArenaGui().setField(0, "Type the price you want to sell:"); + super.getMythArenaGui().setField(0, "Name a price for this item:"); super.getMythArenaGui().setField(1, null); super.getMythArenaGui().setField(2, null); super.getMythArenaGui().setOption(0, "Cancel"); @@ -301,9 +301,9 @@ private void buyMarket() { } /** - * Notification Market + * Market notification */ - private void notificationMarket() { + private void marketNotification() { ArrayList list = new ArrayList<>(); list.add("Type"); list.add("Rarity"); @@ -366,125 +366,131 @@ private void viewNotifications() { notificationList.add(notification.getTitle()); } getMythArenaGui().setList(notificationList); - char option = getMythArenaGui().waitEvent(30); // Opens notification at the current list index - if (option == 'D') { - int index = getMythArenaGui().getLastSelectedListIndex(); - // Must select an item from list for button to work - if (index != -1) { - // Display the content of notification on the screen - getMythArenaGui().setTitle("Battle request"); - getMythArenaGui().setDescription("Note: declining a battle request will result in paying 10% of the proposed bet as penalty!"); - Notification notification = player.getNotificationArrayList().get(getMythArenaGui().getLastSelectedListIndex()); - ArrayList notificationContent = new ArrayList<>(); - notificationContent.add(notification.getTitle()); - notificationContent.add(notification.getBody()); - getMythArenaGui().setList(notificationContent); - // If notification is of type PendingCombat then Player must Accept or Decline. - if (notification instanceof PendingCombatNotification pendingCombatNotification) { - getMythArenaGui().setOption(0, "Decline"); - getMythArenaGui().setOption(1, "Accept"); - getMythArenaGui().setOption(2, null); - getMythArenaGui().setOption(3, null); - char choice = getMythArenaGui().waitEvent(30); - if (choice == 'A') { - // If Player declines. We must inform the challenger of this event. Player must pay 10% of the bet - pendingCombatNotification.getChallenger().getNotificationArrayList().add(new GeneralNotification( - "Your challenge request has been declined.", - player.getUsername() + " has declined your challenge, therefore conceding 10% of the bet to you" - )); - int amount = pendingCombatNotification.getBet(); - int pay = (int) (amount * 0.10); - pendingCombatNotification.getChallenger().getCharacter().setGold(pendingCombatNotification.getChallenger().getCharacter().getGold() + pay); - player.getCharacter().setGold(player.getCharacter().getGold() - pay); - player.getNotificationArrayList().remove(pendingCombatNotification); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); - } - exit = true; - } else if (choice == 'B') { - // If player accepts. We start combat - getArena().combat(player, pendingCombatNotification.getChallenger(), pendingCombatNotification.getBet(), true); - player.getNotificationArrayList().remove(pendingCombatNotification); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); - } - exit = true; - } - } else { - getMythArenaGui().setOption(0, null); - getMythArenaGui().setOption(1, null); - getMythArenaGui().setOption(2, "Delete"); - getMythArenaGui().setOption(3, "Close"); - if (notification instanceof CombatResultsNotification combatResultsNotification) { - ArrayList combatResults = new ArrayList<>(); - combatResults.add(combatResultsNotification.getTitle()); - combatResults.add("Bet: " + combatResultsNotification.getCombat().getBet()); - combatResults.add("Winner: " + combatResultsNotification.getCombat().getWinner().getNickname()); - combatResults.add("Loser: " + combatResultsNotification.getCombat().getLoser().getNickname()); - combatResults.add("Date: " + combatResultsNotification.getCombat().getDate()); - combatResults.add("Player with minions left: " + (combatResultsNotification.getCombat().getPlayerWithMinionsLeft() == null ? "NONE" : combatResultsNotification.getCombat().getPlayerWithMinionsLeft().getNickname())); - combatResults.add(combatResultsNotification.getBody()); - for(int i = 1; i <= ((CombatResultsNotification) notification).getCombat().getRounds().size(); i++) { - combatResults.add("Round: "+ i); + switch (getMythArenaGui().waitEvent(30)) { + case 'D' -> { + int index = getMythArenaGui().getLastSelectedListIndex(); + // Must select an item from list for button to work + if (index != -1) { + // Display the content of notification on the screen + getMythArenaGui().setTitle("Battle request"); + getMythArenaGui().setDescription("Note: declining a battle request will result in paying 10% of the proposed bet as penalty!"); + Notification notification = player.getNotificationArrayList().get(getMythArenaGui().getLastSelectedListIndex()); + ArrayList notificationContent = new ArrayList<>(); + notificationContent.add(notification.getTitle()); + notificationContent.add(notification.getBody()); + getMythArenaGui().setList(notificationContent); + // If notification is of type PendingCombat then Player must Accept or Decline. + if (notification instanceof PendingCombatNotification pendingCombatNotification) { + getMythArenaGui().setOption(0, "Decline"); + getMythArenaGui().setOption(1, "Accept"); + getMythArenaGui().setOption(2, null); + getMythArenaGui().setOption(3, null); + switch (getMythArenaGui().waitEvent(30)) { + case 'A' -> { + // If Player declines. We must inform the challenger of this event. Player must pay 10% of the bet + pendingCombatNotification.getChallenger().getNotificationArrayList().add(new GeneralNotification( + "Your challenge request has been declined.", + player.getUsername() + " has declined your challenge, therefore conceding 10% of the bet to you" + )); + int amount = pendingCombatNotification.getBet(); + int pay = (int) (amount * 0.10); + pendingCombatNotification.getChallenger().getCharacter().setGold(pendingCombatNotification.getChallenger().getCharacter().getGold() + pay); + player.getCharacter().setGold(player.getCharacter().getGold() - pay); + player.getNotificationArrayList().remove(pendingCombatNotification); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + exit = true; + } + case 'B' -> { + // If player accepts. We start combat + getArena().combat(player, pendingCombatNotification.getChallenger(), pendingCombatNotification.getBet(), true); + player.getNotificationArrayList().remove(pendingCombatNotification); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + exit = true; + } } - getMythArenaGui().setList(combatResults); - getMythArenaGui().setOption(1,"Open"); - } - // In case the notification is of general type. Player can delete or close this notification. - char choice = getMythArenaGui().waitEvent(30); - if (choice == 'C') { - player.getNotificationArrayList().remove(notification); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); + } else { + getMythArenaGui().setOption(0, null); + getMythArenaGui().setOption(1, null); + getMythArenaGui().setOption(2, "Delete"); + getMythArenaGui().setOption(3, "Close"); + if (notification instanceof CombatResultsNotification combatResultsNotification) { + ArrayList combatResults = new ArrayList<>(); + combatResults.add(combatResultsNotification.getTitle()); + combatResults.add("Bet: " + combatResultsNotification.getCombat().getBet()); + combatResults.add("Winner: " + combatResultsNotification.getCombat().getWinner().getNickname()); + combatResults.add("Loser: " + combatResultsNotification.getCombat().getLoser().getNickname()); + combatResults.add("Date: " + combatResultsNotification.getCombat().getDate()); + combatResults.add("Player with minions left: " + (combatResultsNotification.getCombat().getPlayerWithMinionsLeft() == null ? "NONE" : combatResultsNotification.getCombat().getPlayerWithMinionsLeft().getNickname())); + combatResults.add(combatResultsNotification.getBody()); + for (int i = 1; i <= ((CombatResultsNotification) notification).getCombat().getRounds().size(); i++) { + combatResults.add("Round: " + i); + } + getMythArenaGui().setList(combatResults); + getMythArenaGui().setOption(1, "Open"); } - } else if (choice == 'B') { - boolean close = false; - while (!close) { - CombatResultsNotification combatResultsNotification = (CombatResultsNotification) notification; - int roundIndex = getMythArenaGui().getLastSelectedListIndex(); - if (roundIndex != -1) { - if (roundIndex > 2) { - Round round = combatResultsNotification.getCombat().getRounds().get(roundIndex - 7); - int roundNumber = roundIndex - 6; - ArrayList roundResults = new ArrayList<>(); - roundResults.add("Round: " + roundNumber); - roundResults.add("Player 1 health: " + round.getCharacter1Health()); - roundResults.add("Player 2 health: " + round.getCharacter2Health()); - roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); - roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); - roundResults.add("Player 1 attack result: " + round.getCharacter1AttackResult() + " damage"); - roundResults.add("Player 2 attack result: " + round.getCharacter2AttackResult() + " damage"); - getMythArenaGui().setList(roundResults); + // In case the notification is of general type. Player can delete or close this notification. + switch (getMythArenaGui().waitEvent(30)) { + case 'C' -> { + player.getNotificationArrayList().remove(notification); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); } - getMythArenaGui().setOption(3,"Close"); - if (getMythArenaGui().waitEvent(30) == 'D') { - close = true; + } + case 'B' -> { + boolean close = false; + while (!close) { + CombatResultsNotification combatResultsNotification = (CombatResultsNotification) notification; + int roundIndex = getMythArenaGui().getLastSelectedListIndex(); + if (roundIndex != -1) { + if (roundIndex > 2) { + Round round = combatResultsNotification.getCombat().getRounds().get(roundIndex - 7); + int roundNumber = roundIndex - 6; + ArrayList roundResults = new ArrayList<>(); + roundResults.add("Round: " + roundNumber); + roundResults.add("Player 1 health: " + round.getCharacter1Health()); + roundResults.add("Player 2 health: " + round.getCharacter2Health()); + roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); + roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); + roundResults.add("Player 1 attack result: " + round.getCharacter1AttackResult() + " damage"); + roundResults.add("Player 2 attack result: " + round.getCharacter2AttackResult() + " damage"); + getMythArenaGui().setList(roundResults); + } + getMythArenaGui().setOption(3, "Close"); + if (getMythArenaGui().waitEvent(30) == 'D') { + close = true; + } + } else { + getMythArenaGui().setDescription("Must select a round on the list to open!"); + } } - } else { - getMythArenaGui().setDescription("Must select a round on the list to open!"); } } } + } else { + getMythArenaGui().setDescription("Must select an item on the list to open!"); } - } else { - getMythArenaGui().setDescription("Must select an item on the list to open!"); } - } else if (option == 'C'){ - // Cancels operation - exit = true; - } else if (option == 'B') { - player.setSubscriber(!player.isSubscriber()); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); + case 'C' -> + // Cancels operation + exit = true; + case 'B' -> { + player.setSubscriber(!player.isSubscriber()); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } } } } @@ -548,18 +554,20 @@ private void deleteCharacter() { getMythArenaGui().setOption(1, "Yes, I'm sure :("); char choice = getMythArenaGui().waitEvent(30); // Deletes character - if (choice == 'B') { - player.setCharacter(null); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); + switch (choice) { + case 'B' -> { + player.setCharacter(null); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + getMythArenaGui().setDescription("Character has been deleted"); + exit = true; } - getMythArenaGui().setDescription("Character has been deleted"); - exit = true; - } else if (choice == 'A') { - // Cancels Operation - exit = true; + case 'A' -> + // Cancels Operation + exit = true; } } } else { @@ -587,28 +595,29 @@ private void createCharacter() { characterTypes.add("Werewolf"); getMythArenaGui().setList(characterTypes); char choice = getMythArenaGui().waitEvent(30); - if ( choice == 'D') { - int index = getMythArenaGui().getLastSelectedListIndex(); - if (index != -1) { - CharacterFactory characterFactory = new CharacterFactory(); - switch (index) { - case 0 -> player.setCharacter(characterFactory.createCharacter(new HunterFactory(getData()))); - case 1 -> player.setCharacter(characterFactory.createCharacter(new VampireFactory(getData()))); - case 2 -> player.setCharacter(characterFactory.createCharacter(new WerewolfFactory(getData()))); - } - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); + switch (choice) { + case 'D' -> { + int index = getMythArenaGui().getLastSelectedListIndex(); + if (index != -1) { + CharacterFactory characterFactory = new CharacterFactory(); + switch (index) { + case 0 -> player.setCharacter(characterFactory.createCharacter(new HunterFactory(getData()))); + case 1 -> player.setCharacter(characterFactory.createCharacter(new VampireFactory(getData()))); + case 2 -> player.setCharacter(characterFactory.createCharacter(new WerewolfFactory(getData()))); + } + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + super.getMythArenaGui().setDescription("Character has been created!"); + super.getMythArenaGui().waitEvent(1); + exit = true; + } else { + getMythArenaGui().setDescription("You must select a type before continuing"); } - super.getMythArenaGui().setDescription("Character has been created!"); - super.getMythArenaGui().waitEvent(1); - exit = true; - } else { - getMythArenaGui().setDescription("You must select a type before continuing"); } - } else if (choice == 'C') { - exit = true; + case 'C' -> exit = true; } } } @@ -642,57 +651,57 @@ private void challengeUser() { } } getMythArenaGui().setList(playerNicknameArrayList); - char choice = getMythArenaGui().waitEvent(30); // Challenge player at current list index - if (choice == 'D') { - int index = getMythArenaGui().getLastSelectedListIndex(); - // You can't advance if you didn't pick an item on the list - if (index != -1) { - // Use previous playerArrayList to get proper player with index on the list - Player challengedPlayer = playerArrayList.get(index); - getMythArenaGui().setFormMode(); - getMythArenaGui().setField(1,null); - getMythArenaGui().setField(2,null); - getMythArenaGui().setTitle("Betting Menu"); - getMythArenaGui().setDescription("Type the amount of gold you want to bet"); - getMythArenaGui().setOption(0,"Exit"); - getMythArenaGui().setOption(1,"Bet"); - getMythArenaGui().setField(0, "Bet:"); - char option = getMythArenaGui().waitEvent(30); - // Bet the given amount and make a pending combat to be saved in Arena - if (option == 'B') { - if (getArena().isInteger(getMythArenaGui().getFieldText(0))) { - int amount = Integer.parseInt(getMythArenaGui().getFieldText(0)); - // Bet has to be strictly more than 0. Player must have said amount of gold to bet. - if (amount > 0) { - if ((player.getCharacter().getGold() - amount) >= 0) { - PendingCombat pendingCombat = new PendingCombat(player, challengedPlayer, amount); - selectEquipment(); - getData().getPendingCombatArrayList().add(pendingCombat); - getMythArenaGui().setDescription("Your challenge request has been sent!"); - getMythArenaGui().clearFieldText(0); - getMythArenaGui().waitEvent(1); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); + switch (getMythArenaGui().waitEvent(30)) { + case 'D' -> { + int index = getMythArenaGui().getLastSelectedListIndex(); + // You can't advance if you didn't pick an item on the list + if (index != -1) { + // Use previous playerArrayList to get proper player with index on the list + Player challengedPlayer = playerArrayList.get(index); + getMythArenaGui().setFormMode(); + getMythArenaGui().setField(1, null); + getMythArenaGui().setField(2, null); + getMythArenaGui().setTitle("Betting Menu"); + getMythArenaGui().setDescription("Type the amount of gold you want to bet"); + getMythArenaGui().setOption(0, "Exit"); + getMythArenaGui().setOption(1, "Bet"); + getMythArenaGui().setField(0, "Bet:"); + // Bet the given amount and make a pending combat to be saved in Arena + if (getMythArenaGui().waitEvent(30) == 'B') { + if (getArena().isInteger(getMythArenaGui().getFieldText(0))) { + int amount = Integer.parseInt(getMythArenaGui().getFieldText(0)); + // Bet has to be strictly more than 0. Player must have said amount of gold to bet. + if (amount > 0) { + if ((player.getCharacter().getGold() - amount) >= 0) { + PendingCombat pendingCombat = new PendingCombat(player, challengedPlayer, amount); + selectEquipment(); + getData().getPendingCombatArrayList().add(pendingCombat); + getMythArenaGui().setDescription("Your challenge request has been sent!"); + getMythArenaGui().clearFieldText(0); + getMythArenaGui().waitEvent(1); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + } else { + getMythArenaGui().setDescription("You're betting more gold than you currently have!"); } } else { - getMythArenaGui().setDescription("You're betting more gold than you currently have!"); + getMythArenaGui().setDescription("Invalid amount"); } } else { - getMythArenaGui().setDescription("Invalid amount"); + getMythArenaGui().setDescription("Write numbers only. No spaces or comma"); } - } else { - getMythArenaGui().setDescription("Write numbers only. No spaces or comma"); } + } else { + getMythArenaGui().setDescription("You must select an item in the list to challenge!"); } - } else { - getMythArenaGui().setDescription("You must select an item in the list to challenge!"); } - } else if (choice == 'C') { - // Ends the while loop, thus ending the operation - exit = true; + case 'C' -> + // Ends the while loop, thus ending the operation + exit = true; } } } else { @@ -741,100 +750,106 @@ private void selectEquipment() { freeSlotCount++; } getMythArenaGui().setList(listWeapons); - char choice = getMythArenaGui().waitEvent(30); // Once you click next, you'll have to select your character's armor - if (choice == 'D') { - // You can't continue without equipping a weapon - if (!player.getCharacter().getEquippedWeaponArrayList().isEmpty()) { - getMythArenaGui().setDescription("Select your armor"); - getMythArenaGui().setOption(0,null); - getMythArenaGui().setOption(1, "Equip"); - getMythArenaGui().setOption(2, "Back"); - getMythArenaGui().setOption(3, "Finish"); - boolean isFinished = false; - // Make a loop. In case he selects the same armor, he can stay on this operation - while (!isFinished) { - // List of armors - ArrayList listArmor = new ArrayList<>(); - for (Equipment armor : player.getCharacter().getInventory().getArmorArrayList()) { - listArmor.add(armor.getName()); - } - listArmor.add("----------------------------------------------------------------------------------"); - listArmor.add("Current armor:"); - // Armor currently equipped - listArmor.add(player.getCharacter().getArmor().getName()); - getMythArenaGui().setList(listArmor); - char option = getMythArenaGui().waitEvent(30); - // Once finished, we serialize the data and exit both loops - if (option == 'D') { - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); + switch (getMythArenaGui().waitEvent(30)) { + case 'D': + // You can't continue without equipping a weapon + if (!player.getCharacter().getEquippedWeaponArrayList().isEmpty()) { + getMythArenaGui().setDescription("Select your armor"); + getMythArenaGui().setOption(0, null); + getMythArenaGui().setOption(1, "Equip"); + getMythArenaGui().setOption(2, "Back"); + getMythArenaGui().setOption(3, "Finish"); + boolean isFinished = false; + // Make a loop. In case he selects the same armor, he can stay on this operation + while (!isFinished) { + // List of armors + ArrayList listArmor = new ArrayList<>(); + for (Equipment armor : player.getCharacter().getInventory().getArmorArrayList()) { + listArmor.add(armor.getName()); } - isFinished = true; - exit = true; - } else if (option == 'B') { - // Equip the current item at the list index - int index = getMythArenaGui().getLastSelectedListIndex(); - if (index != -1) { - player.getCharacter().setArmor(player.getCharacter().getInventory().getArmorArrayList().get(index)); + listArmor.add("----------------------------------------------------------------------------------"); + listArmor.add("Current armor:"); + // Armor currently equipped + listArmor.add(player.getCharacter().getArmor().getName()); + getMythArenaGui().setList(listArmor); + // Once finished, we serialize the data and exit both loops + switch (getMythArenaGui().waitEvent(30)) { + case 'D' -> { + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + isFinished = true; + exit = true; + } + case 'B' -> { + // Equip the current item at the list index + int index = getMythArenaGui().getLastSelectedListIndex(); + if (index != -1) { + player.getCharacter().setArmor(player.getCharacter().getInventory().getArmorArrayList().get(index)); + } + } + case 'C' -> + // He can go back to selecting weapon + isFinished = true; } - } else if (option == 'C') { - // He can go back to selecting weapon - isFinished = true; } + } else { + getMythArenaGui().setDescription("You must equip at least one weapon to continue"); + getMythArenaGui().waitEvent(2); } - } else { - getMythArenaGui().setDescription("You must equip at least one weapon to continue"); - getMythArenaGui().waitEvent(2); - } - } else if (choice == 'C') { - // Cancels operation. Goes back to menu - exit = true; - //Equip the weapon at current list index - } else if (choice == 'B') { - if (!player.getCharacter().getEquippedWeaponArrayList().isEmpty()) { - Weapon currentWeapon = (Weapon) player.getCharacter().getEquippedWeaponArrayList().get(0); - // if character has weapon, we must check if he's holding a two-handed weapon. If it is the case, he can't equip any more weapons unless he unequips said weapon. - if (!currentWeapon.isTwoHands()) { - int listIndex = getMythArenaGui().getLastSelectedListIndex(); - if (listIndex < 3 && listIndex != -1) { - Equipment item = player.getCharacter().getInventory().getWeaponArrayList().get(listIndex); - Weapon weapon = (Weapon) item; - // If character has single-handed weapon then he can equip another one-handed weapon. - if (!player.getCharacter().getEquippedWeaponArrayList().contains(weapon)) { - if (!weapon.isTwoHands()) { - int size = player.getCharacter().getEquippedWeaponArrayList().size(); - if (size < 2) { - player.getCharacter().getEquippedWeaponArrayList().add(1, player.getCharacter().getInventory().getWeaponArrayList().get(listIndex)); + break; + case 'C': + // Cancels operation. Goes back to menu + exit = true; + //Equip the weapon at current list index + break; + case 'B': + if (!player.getCharacter().getEquippedWeaponArrayList().isEmpty()) { + Weapon currentWeapon = (Weapon) player.getCharacter().getEquippedWeaponArrayList().get(0); + // if character has weapon, we must check if he's holding a two-handed weapon. If it is the case, he can't equip any more weapons unless he unequips said weapon. + if (!currentWeapon.isTwoHands()) { + int listIndex = getMythArenaGui().getLastSelectedListIndex(); + if (listIndex < 3 && listIndex != -1) { + Equipment item = player.getCharacter().getInventory().getWeaponArrayList().get(listIndex); + Weapon weapon = (Weapon) item; + // If character has single-handed weapon then he can equip another one-handed weapon. + if (!player.getCharacter().getEquippedWeaponArrayList().contains(weapon)) { + if (!weapon.isTwoHands()) { + int size = player.getCharacter().getEquippedWeaponArrayList().size(); + if (size < 2) { + player.getCharacter().getEquippedWeaponArrayList().add(1, player.getCharacter().getInventory().getWeaponArrayList().get(listIndex)); + } else { + player.getCharacter().getEquippedWeaponArrayList().set(1, player.getCharacter().getEquippedWeaponArrayList().get(0)); + player.getCharacter().getEquippedWeaponArrayList().set(0, player.getCharacter().getInventory().getWeaponArrayList().get(listIndex)); + } } else { - player.getCharacter().getEquippedWeaponArrayList().set(1, player.getCharacter().getEquippedWeaponArrayList().get(0)); - player.getCharacter().getEquippedWeaponArrayList().set(0, player.getCharacter().getInventory().getWeaponArrayList().get(listIndex)); + getMythArenaGui().setDescription("You must unequip your weapon to use a two-handed weapon!"); + getMythArenaGui().waitEvent(2); } - } else { - getMythArenaGui().setDescription("You must unequip your weapon to use a two-handed weapon!"); - getMythArenaGui().waitEvent(2); } } + } else { + getMythArenaGui().setDescription("You currently have a two-handed weapon equipped. You can only use two single-handers for dual-wielding"); + getMythArenaGui().waitEvent(5); } } else { - getMythArenaGui().setDescription("You currently have a two-handed weapon equipped. You can only use two single-handers for dual-wielding"); - getMythArenaGui().waitEvent(5); - } - } else { - // If no equipped weapons, we add weapon at index 0 - int listIndex = getMythArenaGui().getLastSelectedListIndex(); - // Has to select a valid Weapon. Anything below index 2 are not on the real list. Must select weapon from list to equip. - if (listIndex < 3 && listIndex != -1) { - Equipment item = player.getCharacter().getInventory().getWeaponArrayList().get(listIndex); - Weapon weapon = (Weapon) item; - player.getCharacter().getEquippedWeaponArrayList().add(weapon); + // If no equipped weapons, we add weapon at index 0 + int listIndex = getMythArenaGui().getLastSelectedListIndex(); + // Has to select a valid Weapon. Anything below index 2 are not on the real list. Must select weapon from list to equip. + if (listIndex < 3 && listIndex != -1) { + Equipment item = player.getCharacter().getInventory().getWeaponArrayList().get(listIndex); + Weapon weapon = (Weapon) item; + player.getCharacter().getEquippedWeaponArrayList().add(weapon); + } } - } - } else if(choice == 'A') { - // Unequip all weapons. Why? I dont know how to do it one by one. It complicates it a lot. - player.getCharacter().getEquippedWeaponArrayList().clear(); + break; + case 'A': + // Unequip all weapons. Why? I dont know how to do it one by one. It complicates it a lot. + player.getCharacter().getEquippedWeaponArrayList().clear(); + break; } } } else { From d665bd879f30050565754b5a3ed7fe6861b3c55b Mon Sep 17 00:00:00 2001 From: skuzow Date: Tue, 5 Jul 2022 23:48:13 +0200 Subject: [PATCH 18/53] fix: sell market index --- src/mytharena/command/PlayerMenu.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 5c81a63..79c7311 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -186,18 +186,19 @@ private void sellMarket() { if (price != -1) { totalPrice += price; int armorMaxIndex = armorList.size(); - int weaponMaxIndex = weaponList.size(); + int weaponMaxIndex = weaponList.size() + armorMaxIndex; // armor selected if (index < armorMaxIndex) { Equipment armor = armorList.get(index); armorPack.add(armor); armorList.remove(armor); - // weapon selected + // weapon selected } else if (index < weaponMaxIndex) { + index -= armorMaxIndex; Equipment weapon = weaponList.get(index); weaponPack.add(weapon); weaponList.remove(weapon); - // minion selected + // minion selected } else { minionPack = new ArrayList<>(minionList); minionList = new ArrayList<>(); @@ -447,6 +448,7 @@ private void viewNotifications() { } else if (choice == 'B') { boolean close = false; while (!close) { + assert notification instanceof CombatResultsNotification; CombatResultsNotification combatResultsNotification = (CombatResultsNotification) notification; int roundIndex = getMythArenaGui().getLastSelectedListIndex(); if (roundIndex != -1) { From 1ea56d4318afb5a8da255d18daf2efff9c1690b8 Mon Sep 17 00:00:00 2001 From: gutche Date: Wed, 6 Jul 2022 14:15:43 +0200 Subject: [PATCH 19/53] feat: buy functionality done --- src/mytharena/command/PlayerMenu.java | 108 ++++++++++++++++++++++++-- 1 file changed, 100 insertions(+), 8 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index dd0eb24..13cd7f5 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -8,6 +8,8 @@ import mytharena.data.character.factory.character.vampire.VampireFactory; import mytharena.data.character.factory.character.werewolf.WerewolfFactory; import mytharena.data.character.factory.minion.Minion; +import mytharena.data.character.factory.minion.demon.Demon; +import mytharena.data.character.inventory.equipment.Armor; import mytharena.data.character.inventory.equipment.Equipment; import mytharena.data.character.inventory.equipment.Weapon; import mytharena.data.combat.Combat; @@ -64,7 +66,7 @@ public void execute() { super.getMythArenaGui().setOption(5, "Buy/Sell items"); super.getMythArenaGui().setOption(6, "View ranking"); super.getMythArenaGui().setOption(7, "View notifications"); - getMythArenaGui().setOption(8,"Log-out"); + getMythArenaGui().setOption(8,"Logout"); getMythArenaGui().setOption(9, null); switch (super.getMythArenaGui().waitEvent(30)) { @@ -182,7 +184,7 @@ private void sellMarket() { int index = super.getMythArenaGui().getLastSelectedListIndex(); // if item selected if (index != -1) { - int price = itemPriceCollector(); + int price = itemPriceGetter(); if (price != -1) { totalPrice += price; int armorMaxIndex = armorList.size(); @@ -252,10 +254,10 @@ private void sellMarket() { } /** - * Market Sell Price Selector + * Item Sell Price Getter * @return int price */ - private int itemPriceCollector() { + private int itemPriceGetter() { super.getMythArenaGui().setFormMode(); super.getMythArenaGui().setTitle(null); super.getMythArenaGui().setDescription(null); @@ -294,10 +296,100 @@ private int itemPriceCollector() { * Buy Market */ private void buyMarket() { - getMythArenaGui().setTitle("Choose the item you want to buy"); - getMythArenaGui().setOption(0,"Notification settings"); - getMythArenaGui().setOption(1,"Open"); - getMythArenaGui().setOption(2,"Back"); + boolean exit = false; + while(!exit) { + getMythArenaGui().setListMode(); + getMythArenaGui().setTitle("Choose the item you want to buy"); + getMythArenaGui().setDescription(null); + getMythArenaGui().setOption(0, "Back"); + getMythArenaGui().setOption(1, "Open"); + ArrayList displayList = new ArrayList<>(); + for (Offer offer : getData().getMarketOffers()) { + displayList.add("Offer price: " + offer.getPrice()); + } + getMythArenaGui().setList(displayList); + + switch (getMythArenaGui().waitEvent(30)) { + // View offer + case 'B' -> { + int index = getMythArenaGui().getLastSelectedListIndex(); + if (index != -1) { + boolean exitOffer = false; + while(!exitOffer) { + // Display contents of offer + Offer offer = getData().getMarketOffers().get(index); + ArrayList offerList = new ArrayList<>(); + for (ArrayList pack : offer.getItemList()) { + for (Marketable item : pack) { + if (item instanceof Weapon weapon) { + offerList.add("Weapon: " + weapon.getName() + + " || AttackModification: " + weapon.getAttackModification() + + " || DefenseModification: " + weapon.getDefenseModification() + + " || TwoHands: " + weapon.isTwoHands()); + } else if (item instanceof Armor armor) { + offerList.add("Armor: " + armor.getName() + + " || AttackModification: " + armor.getAttackModification() + + " || DefenseModification: " + armor.getDefenseModification()); + } else { + Minion minion = (Minion) item; + if (minion instanceof Demon demon) { + ArrayList total = new ArrayList<>(); + displayMinionPack(demon.getMinionArrayList(), total); + for (Minion minion1 : total) { + offerList.add("Minion type: " + minion1.getClass().toString() + + " || Health: " + minion1.getHealth()); + } + } else { + offerList.add("Minion type: " + minion.getClass().toString() + + " || Health: " + minion.getHealth()); + } + } + } + } + getMythArenaGui().setList(offerList); + getMythArenaGui().setOption(0,"Back"); + getMythArenaGui().setOption(1,"Buy"); + + if (getMythArenaGui().waitEvent(30) == 'A') { + exitOffer = true; + }else { + for (ArrayList pack : offer.getItemList()) { + if (pack.get(0) instanceof Weapon) { + + player.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); + }else if (pack.get(0) instanceof Armor) { + player.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); + }else { + player.getCharacter().getMinionArrayList().addAll((ArrayList) pack); + } + } + getData().getMarketOffers().remove(offer); + getMythArenaGui().setDescription("Purchased successfully"); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + }else { + getMythArenaGui().setDescription("You must select an offer to open"); + } + } + // exit buy market + case 'A' -> exit = true; + } + } + } + + private void displayMinionPack(ArrayList minionPack, ArrayList total) { + for (Minion minion : minionPack) { + if (minion instanceof Demon demon) { + displayMinionPack(demon.getMinionArrayList(),total); + }else { + total.add(minion); + } + } } /** From 70129f0ab0386108444453041fa3b6dd9475d4f5 Mon Sep 17 00:00:00 2001 From: gutche Date: Wed, 6 Jul 2022 14:23:35 +0200 Subject: [PATCH 20/53] feat: added purchase history --- src/mytharena/command/PlayerMenu.java | 2 ++ src/mytharena/data/Data.java | 14 +++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 13cd7f5..ad3d0c5 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -364,6 +364,8 @@ private void buyMarket() { } } getData().getMarketOffers().remove(offer); + offer.setBuyer(player); + getData().getPurchasedOffers().add(offer); getMythArenaGui().setDescription("Purchased successfully"); try { getArena().serializeData(); diff --git a/src/mytharena/data/Data.java b/src/mytharena/data/Data.java index 44d7ca0..29f9aeb 100644 --- a/src/mytharena/data/Data.java +++ b/src/mytharena/data/Data.java @@ -47,6 +47,11 @@ public class Data implements Serializable { */ private final ArrayList marketOffers = new ArrayList<>(); + /** + * ArrayList Offer purchasedOffers + */ + private final ArrayList purchasedOffers = new ArrayList<>(); + /** * Gets ArrayList User userArrayList * @return ArrayList User userArrayList @@ -97,10 +102,17 @@ public ArrayList getArmorPool() { /** * Gets ArrayList Offer marketOffers - * @return ArrayListOffer marketOffers + * @return ArrayList Offer marketOffers */ public ArrayList getMarketOffers() { return this.marketOffers; } + /** + * Gets ArrayList Offer purchasedOffers + * @return ArrayList Offer purchasedOffers + */ + public ArrayList getPurchasedOffers() { + return purchasedOffers; + } } From 3e9496d48a808a512a79743eab05998fc58071b9 Mon Sep 17 00:00:00 2001 From: gutche Date: Wed, 6 Jul 2022 14:39:03 +0200 Subject: [PATCH 21/53] fix: minor string changes --- src/mytharena/command/PlayerMenu.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index ad3d0c5..a574ca8 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -175,7 +175,7 @@ private void sellMarket() { // list itself super.getMythArenaGui().setListMode(); super.getMythArenaGui().setTitle("Choose the item you want to sell"); - super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(0, "Cancel"); super.getMythArenaGui().setOption(1, "Select"); super.getMythArenaGui().setList(displayList); switch (getMythArenaGui().waitEvent(30)) { @@ -264,7 +264,7 @@ private int itemPriceGetter() { super.getMythArenaGui().setField(0, "Name a price for this item:"); super.getMythArenaGui().setField(1, null); super.getMythArenaGui().setField(2, null); - super.getMythArenaGui().setOption(0, "Cancel"); + super.getMythArenaGui().setOption(0, "Back"); super.getMythArenaGui().setOption(1, "Continue"); boolean exit = false; while (!exit) { From 5f804636a66859b89ce406f3166ca412ea12d4ff Mon Sep 17 00:00:00 2001 From: gutche Date: Wed, 6 Jul 2022 20:35:00 +0200 Subject: [PATCH 22/53] fix: not taking the buyer's gold --- src/mytharena/Arena.java | 4 +- src/mytharena/command/PlayerMenu.java | 204 ++++++++++++++------------ 2 files changed, 116 insertions(+), 92 deletions(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index 9e15059..59f2bfb 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -158,6 +158,8 @@ public void deleteActiveUserMenu() { public void combat(Player player1, Player player2, int bet, boolean gui) { if (gui) { mythArenaGui.setCombatMode(); + mythArenaGui.setTitle("Combat in progress"); + mythArenaGui.setDescription(null); mythArenaGui.setOption(0,null); mythArenaGui.setOption(1,null); mythArenaGui.setHealthBar(0,5,5); @@ -327,7 +329,7 @@ public void combat(Player player1, Player player2, int bet, boolean gui) { player1.getNotificationArrayList().add(new CombatResultsNotification("Battle vs " + player2.getNickname() + " results","Click on any of the following rounds below to see details",combat)); } if (player2.isSubscriber()) { - player2.getNotificationArrayList().add(new CombatResultsNotification("Battle vs " + player2.getNickname() + " results","Click on any of the following rounds below to see details",combat)); + player2.getNotificationArrayList().add(new CombatResultsNotification("Battle vs " + player1.getNickname() + " results","Click on any of the following rounds below to see details",combat)); } if (gui) { mythArenaGui.setHealthBar(0,character1.getHealth(),5); diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index a574ca8..21ab774 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -353,24 +353,31 @@ private void buyMarket() { if (getMythArenaGui().waitEvent(30) == 'A') { exitOffer = true; }else { - for (ArrayList pack : offer.getItemList()) { - if (pack.get(0) instanceof Weapon) { + if (offer.getPrice() <= player.getCharacter().getGold()) { + for (ArrayList pack : offer.getItemList()) { + if (pack.get(0) instanceof Weapon) { - player.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); - }else if (pack.get(0) instanceof Armor) { - player.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); - }else { - player.getCharacter().getMinionArrayList().addAll((ArrayList) pack); + player.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); + } else if (pack.get(0) instanceof Armor) { + player.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); + } else { + player.getCharacter().getMinionArrayList().addAll((ArrayList) pack); + } } - } - getData().getMarketOffers().remove(offer); - offer.setBuyer(player); - getData().getPurchasedOffers().add(offer); - getMythArenaGui().setDescription("Purchased successfully"); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); + getData().getMarketOffers().remove(offer); + offer.setBuyer(player); + getData().getPurchasedOffers().add(offer); + player.getCharacter().setGold(player.getCharacter().getGold()-offer.getPrice()); + offer.getSeller().getCharacter().setGold(offer.getSeller().getCharacter().getGold()+offer.getPrice()); + getMythArenaGui().setDescription("Purchased successfully"); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + }else { + getMythArenaGui().setDescription("You don't have enough gold!"); + getMythArenaGui().waitEvent(3); } } } @@ -460,6 +467,7 @@ private void viewNotifications() { notificationList.add(notification.getTitle()); } getMythArenaGui().setList(notificationList); + int test = getMythArenaGui().getLastSelectedListIndex(); // Opens notification at the current list index switch (getMythArenaGui().waitEvent(30)) { case 'D' -> { @@ -467,56 +475,57 @@ private void viewNotifications() { // Must select an item from list for button to work if (index != -1) { // Display the content of notification on the screen - getMythArenaGui().setTitle("Battle request"); - getMythArenaGui().setDescription("Note: declining a battle request will result in paying 10% of the proposed bet as penalty!"); Notification notification = player.getNotificationArrayList().get(getMythArenaGui().getLastSelectedListIndex()); ArrayList notificationContent = new ArrayList<>(); notificationContent.add(notification.getTitle()); notificationContent.add(notification.getBody()); getMythArenaGui().setList(notificationContent); - // If notification is of type PendingCombat then Player must Accept or Decline. + // Accept/Decline options added for PendingCombatNotification. if (notification instanceof PendingCombatNotification pendingCombatNotification) { + getMythArenaGui().setTitle("Battle request"); + getMythArenaGui().setDescription("Note: declining a battle request will result in paying 10% of the proposed bet as penalty!"); getMythArenaGui().setOption(0, "Decline"); getMythArenaGui().setOption(1, "Accept"); - getMythArenaGui().setOption(2, null); + getMythArenaGui().setOption(2, "Back"); getMythArenaGui().setOption(3, null); - switch (getMythArenaGui().waitEvent(30)) { - case 'A' -> { - // If Player declines. We must inform the challenger of this event. Player must pay 10% of the bet - pendingCombatNotification.getChallenger().getNotificationArrayList().add(new GeneralNotification( - "Your challenge request has been declined.", - player.getUsername() + " has declined your challenge, therefore conceding 10% of the bet to you" - )); - int amount = pendingCombatNotification.getBet(); - int pay = (int) (amount * 0.10); - pendingCombatNotification.getChallenger().getCharacter().setGold(pendingCombatNotification.getChallenger().getCharacter().getGold() + pay); - player.getCharacter().setGold(player.getCharacter().getGold() - pay); - player.getNotificationArrayList().remove(pendingCombatNotification); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); - } - exit = true; + char c = getMythArenaGui().waitEvent(30); + if (c == 'A') {// If Player declines. We must inform the challenger of this event. Player must pay 10% of the bet + pendingCombatNotification.getChallenger().getNotificationArrayList().add(new GeneralNotification( + "Your challenge request has been declined.", + player.getUsername() + " has declined your challenge, therefore conceding 10% of the bet to you" + )); + int amount = pendingCombatNotification.getBet(); + int pay = (int) (amount * 0.10); + pendingCombatNotification.getChallenger().getCharacter().setGold(pendingCombatNotification.getChallenger().getCharacter().getGold() + pay); + player.getCharacter().setGold(player.getCharacter().getGold() - pay); + player.getNotificationArrayList().remove(pendingCombatNotification); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); } - case 'B' -> { - // If player accepts. We start combat - getArena().combat(player, pendingCombatNotification.getChallenger(), pendingCombatNotification.getBet(), true); - player.getNotificationArrayList().remove(pendingCombatNotification); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); - } - exit = true; + getMythArenaGui().setDescription("Combat declined"); + getMythArenaGui().waitEvent(2); + exit = true; + } else if (c == 'B') {// If player accepts. We start combat + getArena().combat(player, pendingCombatNotification.getChallenger(), pendingCombatNotification.getBet(), true); + player.getNotificationArrayList().remove(pendingCombatNotification); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); } + exit = true; } - } else { - getMythArenaGui().setOption(0, null); - getMythArenaGui().setOption(1, null); - getMythArenaGui().setOption(2, "Delete"); - getMythArenaGui().setOption(3, "Close"); - if (notification instanceof CombatResultsNotification combatResultsNotification) { + } else if (notification instanceof CombatResultsNotification combatResultsNotification){ + boolean exitResult = false; + while (!exitResult) { + getMythArenaGui().setTitle("Battle result"); + getMythArenaGui().setDescription(null); + getMythArenaGui().setOption(0, null); + getMythArenaGui().setOption(1, "Open"); + getMythArenaGui().setOption(2, "Delete"); + getMythArenaGui().setOption(3, "Back"); ArrayList combatResults = new ArrayList<>(); combatResults.add(combatResultsNotification.getTitle()); combatResults.add("Bet: " + combatResultsNotification.getCombat().getBet()); @@ -529,55 +538,68 @@ private void viewNotifications() { combatResults.add("Round: " + i); } getMythArenaGui().setList(combatResults); - getMythArenaGui().setOption(1, "Open"); - } - // In case the notification is of general type. Player can delete or close this notification. - switch (getMythArenaGui().waitEvent(30)) { - case 'C' -> { - player.getNotificationArrayList().remove(notification); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); - } - } - case 'B' -> { - boolean close = false; - while (!close) { - CombatResultsNotification combatResultsNotification = (CombatResultsNotification) notification; - int roundIndex = getMythArenaGui().getLastSelectedListIndex(); + switch (getMythArenaGui().waitEvent(30)) { + case 'B' -> { + int roundIndex = getMythArenaGui().getLastSelectedListIndex()-combatResults.size()+1; if (roundIndex != -1) { - if (roundIndex > 2) { - Round round = combatResultsNotification.getCombat().getRounds().get(roundIndex - 7); - int roundNumber = roundIndex - 6; - ArrayList roundResults = new ArrayList<>(); - roundResults.add("Round: " + roundNumber); - roundResults.add("Player 1 health: " + round.getCharacter1Health()); - roundResults.add("Player 2 health: " + round.getCharacter2Health()); - roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); - roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); - roundResults.add("Player 1 attack result: " + round.getCharacter1AttackResult() + " damage"); - roundResults.add("Player 2 attack result: " + round.getCharacter2AttackResult() + " damage"); - getMythArenaGui().setList(roundResults); - } - getMythArenaGui().setOption(3, "Close"); - if (getMythArenaGui().waitEvent(30) == 'D') { - close = true; - } + if (roundIndex > 6) { + boolean closeRound = false; + while (!closeRound) { + Round round = combatResultsNotification.getCombat().getRounds().get(roundIndex - 7); + int roundNumber = roundIndex - 6; + ArrayList roundResults = new ArrayList<>(); + roundResults.add("Round: " + roundNumber); + roundResults.add("Player 1 health: " + round.getCharacter1Health()); + roundResults.add("Player 2 health: " + round.getCharacter2Health()); + roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); + roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); + roundResults.add("Player 1 attack result: " + round.getCharacter1AttackResult() + " damage"); + roundResults.add("Player 2 attack result: " + round.getCharacter2AttackResult() + " damage"); + getMythArenaGui().setList(roundResults); + getMythArenaGui().setOption(0, null); + getMythArenaGui().setOption(1, null); + getMythArenaGui().setOption(2, null); + getMythArenaGui().setOption(3, "Back"); + + // Exit round + if (getMythArenaGui().waitEvent(30) == 'D') { + closeRound = true; + } + } + } else { + getMythArenaGui().setDescription("You must select a valid round to open!"); + getMythArenaGui().waitEvent(1); + } } else { - getMythArenaGui().setDescription("Must select a round on the list to open!"); + getMythArenaGui().setDescription("You must select a round on the list to open!"); + getMythArenaGui().waitEvent(2); + } + } + // Delete + case 'C' -> { + player.getNotificationArrayList().remove(notification); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); } } + // Exit notification + case 'D' -> exitResult = true; } } + }else { + getMythArenaGui().setDescription("Hi"); } } else { - getMythArenaGui().setDescription("Must select an item on the list to open!"); + getMythArenaGui().setDescription("You must select an item on the list to open!"); + getMythArenaGui().waitEvent(1); } } + // Exit notification list case 'C' -> - // Cancels operation exit = true; + // Subscribe/Unsubscribe case 'B' -> { player.setSubscriber(!player.isSubscriber()); try { From 36e9e2752a0953d1962bec77119e8d043b5c98a4 Mon Sep 17 00:00:00 2001 From: skuzow Date: Wed, 6 Jul 2022 23:58:36 +0200 Subject: [PATCH 23/53] feat: market notification sub basic values --- src/mytharena/command/PlayerMenu.java | 152 +++++++++++++++++++++++--- src/mytharena/data/user/Player.java | 51 +++++++-- 2 files changed, 176 insertions(+), 27 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 29dfa6a..3a2dece 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -3,6 +3,7 @@ import mytharena.Arena; import mytharena.data.Data; import mytharena.data.character.Marketable; +import mytharena.data.character.factory.character.Character; import mytharena.data.character.factory.character.CharacterFactory; import mytharena.data.character.factory.character.hunter.HunterFactory; import mytharena.data.character.factory.character.vampire.VampireFactory; @@ -91,7 +92,7 @@ private void viewMarket() { while(!exitMarket) { super.getMythArenaGui().setButtonMode(); super.getMythArenaGui().setTitle("Welcome to the Market Place"); - super.getMythArenaGui().setDescription("Select the operation you wish to make."); + super.getMythArenaGui().setDescription("Select the operation you wish to make"); super.getMythArenaGui().setOption(0, null); super.getMythArenaGui().setOption(1, null); super.getMythArenaGui().setOption(2, null); @@ -353,11 +354,10 @@ private void buyMarket() { if (getMythArenaGui().waitEvent(30) == 'A') { exitOffer = true; - }else { + } else { if (offer.getPrice() <= player.getCharacter().getGold()) { for (ArrayList pack : offer.getItemList()) { if (pack.get(0) instanceof Weapon) { - player.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); } else if (pack.get(0) instanceof Armor) { player.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); @@ -376,13 +376,13 @@ private void buyMarket() { } catch (IOException e) { e.printStackTrace(); } - }else { + } else { getMythArenaGui().setDescription("You don't have enough gold!"); getMythArenaGui().waitEvent(3); } } } - }else { + } else { getMythArenaGui().setDescription("You must select an offer to open"); } } @@ -395,8 +395,8 @@ private void buyMarket() { private void displayMinionPack(ArrayList minionPack, ArrayList total) { for (Minion minion : minionPack) { if (minion instanceof Demon demon) { - displayMinionPack(demon.getMinionArrayList(),total); - }else { + displayMinionPack(demon.getMinionArrayList(), total); + } else { total.add(minion); } } @@ -406,14 +406,136 @@ private void displayMinionPack(ArrayList minionPack, ArrayList t * Market notification */ private void marketNotification() { - ArrayList list = new ArrayList<>(); - list.add("Type"); - list.add("Rarity"); - list.add("Value"); - list.add("Loyalty"); - list.add("Character type"); - list.add("Price range"); - getMythArenaGui().setList(list); + ArrayList genericDisplayList = new ArrayList<>(); + genericDisplayList.add("Type"); + genericDisplayList.add("Rarity"); + genericDisplayList.add("Value"); + genericDisplayList.add("Loyalty"); + genericDisplayList.add("Character type"); + genericDisplayList.add("Price range"); + boolean exit = false; + while (!exit) { + super.getMythArenaGui().setListMode(); + super.getMythArenaGui().setTitle("Choose a category of subscription"); + super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(1, "Select"); + super.getMythArenaGui().setList(genericDisplayList); + switch (super.getMythArenaGui().waitEvent(30)) { + // exit market notification + case 'A' -> exit = true; + // enter type + case 'B' -> { + int index = super.getMythArenaGui().getLastSelectedListIndex(); + switch (index) { + // no selected + case -1 -> { + super.getMythArenaGui().setDescription("You must select a category to open!"); + super.getMythArenaGui().waitEvent(3); + } + // type + case 0 -> { + ArrayList specificList = new ArrayList<>(); + specificList.add("Armor"); + specificList.add("Weapon"); + specificList.add("Minion"); + modifyMarketNotification(specificList); + } + // rarity + case 1 -> { + ArrayList specificList = new ArrayList<>(); + specificList.add("Legendary"); + specificList.add("Epic"); + specificList.add("Normal"); + modifyMarketNotification(specificList); + } + // value + case 2 -> { + // TODO: insert wanted values & make function + ArrayList specificList = new ArrayList<>(); + specificList.add("ArmorAttackModification"); + specificList.add("ArmorDefenseModification"); + specificList.add("DefenseAttackModification"); + specificList.add("DefenseDefenseModification"); + //modifyMarketNotification(specificList); + } + // loyalty + case 3 -> { + ArrayList specificList = new ArrayList<>(); + specificList.add("Demon"); + specificList.add("Ghoul"); + specificList.add("Human"); + modifyMarketNotification(specificList); + } + // character type + case 4 -> { + ArrayList specificList = new ArrayList<>(); + specificList.add("Hunter"); + specificList.add("Vampire"); + specificList.add("Werewolf"); + modifyMarketNotification(specificList); + } + // price range + case 5 -> { + // TODO: function for offer prince range + } + } + } + } + } + } + + /** + * Modify Market Notification + * @param specificList ArrayList String specificList + */ + private void modifyMarketNotification(ArrayList specificList) { + boolean exit = false; + while (!exit) { + HashSet marketSubscriptionSet = player.getMarketSubscriptionSet(); + ArrayList specificDisplayList = new ArrayList<>(); + // display subscriptions with enable or disabled + for (String subscription : specificList) { + specificDisplayList.add(subscription + + " || Status: " + (marketSubscriptionSet.contains(subscription) ? "Enabled" : "Disabled")); + } + super.getMythArenaGui().setTitle("Choose a type of subscription"); + super.getMythArenaGui().setDescription(null); + super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(1, "Toggle"); + super.getMythArenaGui().setList(specificDisplayList); + switch (super.getMythArenaGui().waitEvent(30)) { + case 'A' -> exit = true; + case 'B' -> { + int index = super.getMythArenaGui().getLastSelectedListIndex(); + if (index != -1) { + String chooseSubscription = specificList.get(index); + // remove item / disable + if (marketSubscriptionSet.contains(chooseSubscription)) { + try { + marketSubscriptionSet.remove(chooseSubscription); + super.getArena().serializeData(); + super.getMythArenaGui().setDescription("Successfully disabled subscription for " + chooseSubscription); + } catch (IOException e) { + e.printStackTrace(); + } + // add item / enable + } else { + try { + marketSubscriptionSet.add(chooseSubscription); + super.getArena().serializeData(); + super.getMythArenaGui().setDescription("Successfully enabled subscription for " + chooseSubscription); + } catch (IOException e) { + e.printStackTrace(); + } + } + super.getMythArenaGui().waitEvent(1); + } else { + super.getMythArenaGui().setDescription("You must select a type to open!"); + super.getMythArenaGui().waitEvent(3); + } + } + } + } } /** diff --git a/src/mytharena/data/user/Player.java b/src/mytharena/data/user/Player.java index 99bca0a..4034e30 100644 --- a/src/mytharena/data/user/Player.java +++ b/src/mytharena/data/user/Player.java @@ -6,6 +6,7 @@ import java.io.Serializable; import java.util.ArrayList; +import java.util.HashSet; /** * Player class extends User implements Serializable @@ -16,22 +17,18 @@ public class Player extends User implements Serializable { * String nickname */ private final String nickname; - /** - * boolean combatNotificationOn + * boolean combatNotification subscriber */ private boolean subscriber; - /** * int goldWonInBattle */ private int goldWonInBattle; - /** * int goldLostInBattle */ private int goldLostInBattle; - /** * Character character */ @@ -40,6 +37,10 @@ public class Player extends User implements Serializable { * ArrayList Notification notificationArrayList */ private final ArrayList notificationArrayList = new ArrayList<>(); + /** + * HashSet String marketSubscriptionSet + */ + private final HashSet marketSubscriptionSet = new HashSet<>(); /** * Player class constructor extends User @@ -50,8 +51,8 @@ public class Player extends User implements Serializable { public Player(String username, String password, Data data, String nickname) { super(username, password, data); this.nickname = nickname; - goldLostInBattle = 0; - goldWonInBattle = 0; + this.goldLostInBattle = 0; + this.goldWonInBattle = 0; } /** @@ -71,7 +72,7 @@ public void setSubscriber(boolean subscriber) { } /** - * Sets int goldWonInBattle + * Sets int goldWonInBattle * @param goldWonInBattle int goldWonInBattle */ public void setGoldWonInBattle(int goldWonInBattle) { @@ -79,7 +80,7 @@ public void setGoldWonInBattle(int goldWonInBattle) { } /** - * Sets int goldLostInBattle + * Sets int goldLostInBattle * @param goldLostInBattle int goldLostInBattle */ public void setGoldLostInBattle(int goldLostInBattle) { @@ -91,8 +92,18 @@ public void setGoldLostInBattle(int goldLostInBattle) { * @return boolean subscriber */ public boolean isSubscriber() { - return subscriber; + return this.subscriber; } + + /** + * Checks if player is subscribed to specific subscription + * @param subscription String subscription + * @return boolean subscribed + */ + public boolean isMarketSubscriber(String subscription) { + return this.marketSubscriptionSet.contains(subscription); + } + /** * Gets String nickname * @return String nickname @@ -109,12 +120,20 @@ public Character getCharacter() { return this.character; } + /** + * Gets int goldWonInBattle + * @return int goldWonInBattle + */ public int getGoldWonInBattle() { - return goldWonInBattle; + return this.goldWonInBattle; } + /** + * Gets int goldLostInBattle + * @return int goldLostInBattle + */ public int getGoldLostInBattle() { - return goldLostInBattle; + return this.goldLostInBattle; } /** @@ -125,4 +144,12 @@ public ArrayList getNotificationArrayList() { return this.notificationArrayList; } + /** + * Gets HashSet String marketSubscriptionSet + * @return HashSet String marketSubscriptionSet + */ + public HashSet getMarketSubscriptionSet() { + return this.marketSubscriptionSet; + } + } From 816f1a55b514f3d732084142898d3369b3d8ddba Mon Sep 17 00:00:00 2001 From: skuzow Date: Fri, 8 Jul 2022 15:23:03 +0200 Subject: [PATCH 24/53] feat: json market subscriptions --- lib/json_simple.jar | Bin 0 -> 14435 bytes src/mytharena/Arena.java | 1 + src/mytharena/command/PlayerMenu.java | 23 ++++++++++------ src/mytharena/data/Data.java | 33 +++++++++++++++++++++-- src/mytharena/data/user/Player.java | 25 +++++++---------- src/resources/market/subscriptions.json | 34 ++++++++++++++++++++++++ 6 files changed, 90 insertions(+), 26 deletions(-) create mode 100644 lib/json_simple.jar create mode 100644 src/resources/market/subscriptions.json diff --git a/lib/json_simple.jar b/lib/json_simple.jar new file mode 100644 index 0000000000000000000000000000000000000000..5f6a04b01ec4e9d0a82b76cb4f93d40e42776e62 GIT binary patch literal 14435 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 P^IH3vZgcp9Q274 { @@ -446,7 +447,7 @@ private void marketNotification() { specificList.add("Legendary"); specificList.add("Epic"); specificList.add("Normal"); - modifyMarketNotification(specificList); + //modifyMarketNotification(specificList); } // value case 2 -> { @@ -454,28 +455,32 @@ private void marketNotification() { ArrayList specificList = new ArrayList<>(); specificList.add("ArmorAttackModification"); specificList.add("ArmorDefenseModification"); - specificList.add("DefenseAttackModification"); - specificList.add("DefenseDefenseModification"); + specificList.add("WeaponAttackModification"); + specificList.add("WeaponDefenseModification"); //modifyMarketNotification(specificList); } // loyalty case 3 -> { + // TODO: function for human minion loyalty number + } + // minion + case 4 -> { ArrayList specificList = new ArrayList<>(); specificList.add("Demon"); specificList.add("Ghoul"); specificList.add("Human"); - modifyMarketNotification(specificList); + //modifyMarketNotification(specificList); } // character type - case 4 -> { + case 5 -> { ArrayList specificList = new ArrayList<>(); specificList.add("Hunter"); specificList.add("Vampire"); specificList.add("Werewolf"); - modifyMarketNotification(specificList); + //modifyMarketNotification(specificList); } // price range - case 5 -> { + case 6 -> { // TODO: function for offer prince range } } @@ -488,6 +493,7 @@ private void marketNotification() { * Modify Market Notification * @param specificList ArrayList String specificList */ + /* private void modifyMarketNotification(ArrayList specificList) { boolean exit = false; while (!exit) { @@ -537,6 +543,7 @@ private void modifyMarketNotification(ArrayList specificList) { } } } + */ /** * Get gold diff --git a/src/mytharena/data/Data.java b/src/mytharena/data/Data.java index 29f9aeb..8af89d9 100644 --- a/src/mytharena/data/Data.java +++ b/src/mytharena/data/Data.java @@ -7,7 +7,11 @@ import mytharena.data.market.Offer; import mytharena.data.user.Player; import mytharena.data.user.User; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import java.io.FileReader; +import java.io.Reader; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; @@ -46,11 +50,27 @@ public class Data implements Serializable { * ArrayList Offer marketOffers */ private final ArrayList marketOffers = new ArrayList<>(); - /** * ArrayList Offer purchasedOffers */ private final ArrayList purchasedOffers = new ArrayList<>(); + /** + * JSONObject defaultMarketSubscriptions + */ + private JSONObject defaultMarketSubscriptions; + + /** + * Data class constructor + */ + public Data() { + // init JSONObject defaultMarketSubscriptions + JSONParser parser = new JSONParser(); + try (Reader reader = new FileReader("./src/resources/market/subscriptions.json")) { + this.defaultMarketSubscriptions = (JSONObject) parser.parse(reader); + } catch (Exception e) { + e.printStackTrace(); + } + } /** * Gets ArrayList User userArrayList @@ -113,6 +133,15 @@ public ArrayList getMarketOffers() { * @return ArrayList Offer purchasedOffers */ public ArrayList getPurchasedOffers() { - return purchasedOffers; + return this.purchasedOffers; + } + + /** + * Gets JSONObject defaultMarketSubscriptions + * @return JSONObject defaultMarketSubscriptions + */ + public JSONObject getDefaultMarketSubscriptions() { + return this.defaultMarketSubscriptions; } + } diff --git a/src/mytharena/data/user/Player.java b/src/mytharena/data/user/Player.java index 4034e30..526e9d5 100644 --- a/src/mytharena/data/user/Player.java +++ b/src/mytharena/data/user/Player.java @@ -3,10 +3,10 @@ import mytharena.data.Data; import mytharena.data.character.factory.character.Character; import mytharena.data.notification.Notification; +import org.json.simple.JSONObject; import java.io.Serializable; import java.util.ArrayList; -import java.util.HashSet; /** * Player class extends User implements Serializable @@ -38,9 +38,9 @@ public class Player extends User implements Serializable { */ private final ArrayList notificationArrayList = new ArrayList<>(); /** - * HashSet String marketSubscriptionSet + * JSONObject marketSubscriptions */ - private final HashSet marketSubscriptionSet = new HashSet<>(); + private final JSONObject marketSubscriptions; /** * Player class constructor extends User @@ -53,6 +53,8 @@ public Player(String username, String password, Data data, String nickname) { this.nickname = nickname; this.goldLostInBattle = 0; this.goldWonInBattle = 0; + // marketSubscriptions init with default values + this.marketSubscriptions = data.getDefaultMarketSubscriptions(); } /** @@ -95,15 +97,6 @@ public boolean isSubscriber() { return this.subscriber; } - /** - * Checks if player is subscribed to specific subscription - * @param subscription String subscription - * @return boolean subscribed - */ - public boolean isMarketSubscriber(String subscription) { - return this.marketSubscriptionSet.contains(subscription); - } - /** * Gets String nickname * @return String nickname @@ -145,11 +138,11 @@ public ArrayList getNotificationArrayList() { } /** - * Gets HashSet String marketSubscriptionSet - * @return HashSet String marketSubscriptionSet + * Gets JSONObject marketSubscriptions + * @return JSONObject marketSubscriptions */ - public HashSet getMarketSubscriptionSet() { - return this.marketSubscriptionSet; + public JSONObject getMarketSubscriptions(String subscription) { + return this.marketSubscriptions; } } diff --git a/src/resources/market/subscriptions.json b/src/resources/market/subscriptions.json new file mode 100644 index 0000000..545d1dc --- /dev/null +++ b/src/resources/market/subscriptions.json @@ -0,0 +1,34 @@ +{ + "Type": { + "Armor": false, + "Weapon": false, + "Minion": false + }, + "Rarity": { + "Legendary": false, + "Epic": false, + "Normal": false + }, + "Value": { + "Armor": { + "AttackModification": -1, + "DefenseModification": -1 + }, + "Weapon": { + "AttackModification": -1, + "DefenseModification": -1 + } + }, + "Loyalty": -1, + "Minion": { + "Demon": false, + "Ghoul": false, + "Human": false + }, + "Character": { + "Hunter": false, + "Vampire": false, + "Werewolf": false + }, + "Price": [0, -1] +} From f207613da4b576835ab50701663592898944d929 Mon Sep 17 00:00:00 2001 From: skuzow Date: Fri, 8 Jul 2022 15:30:59 +0200 Subject: [PATCH 25/53] feat: weapon rarity --- src/mytharena/Arena.java | 10 +++++----- .../character/inventory/equipment/Weapon.java | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index 56e9f13..6d08567 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -76,11 +76,11 @@ public void start() { this.data.getArmorPool().add(new Armor("Blademail", 3, 2)); this.data.getArmorPool().add(new Armor("Cuirass", 0, 3)); // weapon pool - this.data.getWeaponPool().add(new Weapon("Broadsword", 1, 0, false)); - this.data.getWeaponPool().add(new Weapon("Claymore", 1, 1, false)); - this.data.getWeaponPool().add(new Weapon("Katana", 2, 0, false)); - this.data.getWeaponPool().add(new Weapon("Axe", 2, 2, true)); - this.data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false)); + this.data.getWeaponPool().add(new Weapon("Broadsword", 1, 0, false, "Normal")); + this.data.getWeaponPool().add(new Weapon("Claymore", 1, 1, false, "Epic")); + this.data.getWeaponPool().add(new Weapon("Katana", 2, 0, false, "Legendary")); + this.data.getWeaponPool().add(new Weapon("Axe", 2, 2, true, "Normal")); + this.data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); this.serializeData(); } // create commands and insert them into commandMap with respective key diff --git a/src/mytharena/data/character/inventory/equipment/Weapon.java b/src/mytharena/data/character/inventory/equipment/Weapon.java index 67a07a7..c86125b 100644 --- a/src/mytharena/data/character/inventory/equipment/Weapon.java +++ b/src/mytharena/data/character/inventory/equipment/Weapon.java @@ -11,6 +11,10 @@ public class Weapon extends Equipment implements Serializable { * boolean twoHands */ private final boolean twoHands; + /** + * String rarity + */ + private final String rarity; /** * Weapon class constructor extends Equipment @@ -18,10 +22,12 @@ public class Weapon extends Equipment implements Serializable { * @param attackModification int attackModification * @param defenseModification int defenseModification * @param twoHands boolean twoHands + * @param rarity String rarity */ - public Weapon(String name, int attackModification, int defenseModification, boolean twoHands) { + public Weapon(String name, int attackModification, int defenseModification, boolean twoHands, String rarity) { super(name, attackModification, defenseModification); this.twoHands = twoHands; + this.rarity = rarity; } /** @@ -32,4 +38,12 @@ public boolean isTwoHands() { return this.twoHands; } + /** + * Gets String rarity + * @return String rarity + */ + public String getRarity() { + return this.rarity; + } + } From 7112501616d9c6d99e32c1feecc997e97b843c89 Mon Sep 17 00:00:00 2001 From: skuzow Date: Fri, 8 Jul 2022 16:17:19 +0200 Subject: [PATCH 26/53] refactor: bool modify market notification --- src/mytharena/command/PlayerMenu.java | 64 ++++++++++++------------- src/mytharena/data/user/Player.java | 2 +- src/resources/market/subscriptions.json | 20 ++++---- 3 files changed, 42 insertions(+), 44 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index e5fb31f..d48f25a 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -24,6 +24,7 @@ import mytharena.data.user.Player; import mytharena.data.user.User; import mytharena.gui.MythArenaGui; +import org.json.simple.JSONObject; import java.io.IOException; import java.util.*; @@ -409,11 +410,11 @@ private void marketNotification() { ArrayList genericDisplayList = new ArrayList<>(); genericDisplayList.add("Type"); genericDisplayList.add("Rarity"); + genericDisplayList.add("Minion"); + genericDisplayList.add("Character"); genericDisplayList.add("Value"); genericDisplayList.add("Loyalty"); - genericDisplayList.add("Minion"); - genericDisplayList.add("Character type"); - genericDisplayList.add("Price range"); + genericDisplayList.add("Price"); boolean exit = false; while (!exit) { super.getMythArenaGui().setListMode(); @@ -439,7 +440,7 @@ private void marketNotification() { specificList.add("Armor"); specificList.add("Weapon"); specificList.add("Minion"); - //modifyMarketNotification(specificList); + this.boolModifyMarketNotification(genericDisplayList.get(index), specificList); } // rarity case 1 -> { @@ -447,38 +448,36 @@ private void marketNotification() { specificList.add("Legendary"); specificList.add("Epic"); specificList.add("Normal"); - //modifyMarketNotification(specificList); - } - // value - case 2 -> { - // TODO: insert wanted values & make function - ArrayList specificList = new ArrayList<>(); - specificList.add("ArmorAttackModification"); - specificList.add("ArmorDefenseModification"); - specificList.add("WeaponAttackModification"); - specificList.add("WeaponDefenseModification"); - //modifyMarketNotification(specificList); - } - // loyalty - case 3 -> { - // TODO: function for human minion loyalty number + this.boolModifyMarketNotification(genericDisplayList.get(index), specificList); } // minion - case 4 -> { + case 2 -> { ArrayList specificList = new ArrayList<>(); specificList.add("Demon"); specificList.add("Ghoul"); specificList.add("Human"); - //modifyMarketNotification(specificList); + this.boolModifyMarketNotification(genericDisplayList.get(index), specificList); } // character type - case 5 -> { + case 3 -> { ArrayList specificList = new ArrayList<>(); specificList.add("Hunter"); specificList.add("Vampire"); specificList.add("Werewolf"); + this.boolModifyMarketNotification(genericDisplayList.get(index), specificList); + } + // value + case 4 -> { + // TODO: insert wanted values & make function + ArrayList specificList = new ArrayList<>(); + specificList.add("AttackModification"); + specificList.add("DefenseModification"); //modifyMarketNotification(specificList); } + // loyalty + case 5 -> { + // TODO: function for human minion loyalty number + } // price range case 6 -> { // TODO: function for offer prince range @@ -490,19 +489,19 @@ private void marketNotification() { } /** - * Modify Market Notification + * Boolean Modify Market Notification + * @param category String category * @param specificList ArrayList String specificList */ - /* - private void modifyMarketNotification(ArrayList specificList) { + private void boolModifyMarketNotification(String category, ArrayList specificList) { boolean exit = false; while (!exit) { - HashSet marketSubscriptionSet = player.getMarketSubscriptionSet(); + JSONObject playerCategorySubscriptions = player.getMarketSubscriptions(category); ArrayList specificDisplayList = new ArrayList<>(); // display subscriptions with enable or disabled for (String subscription : specificList) { specificDisplayList.add(subscription + - " || Status: " + (marketSubscriptionSet.contains(subscription) ? "Enabled" : "Disabled")); + " || Status: " + ((boolean) playerCategorySubscriptions.get(subscription) ? "Enabled" : "Disabled")); } super.getMythArenaGui().setTitle("Choose a type of subscription"); super.getMythArenaGui().setDescription(null); @@ -515,19 +514,19 @@ private void modifyMarketNotification(ArrayList specificList) { int index = super.getMythArenaGui().getLastSelectedListIndex(); if (index != -1) { String chooseSubscription = specificList.get(index); - // remove item / disable - if (marketSubscriptionSet.contains(chooseSubscription)) { + // disable item + if ((boolean) playerCategorySubscriptions.get(chooseSubscription)) { try { - marketSubscriptionSet.remove(chooseSubscription); + playerCategorySubscriptions.put(chooseSubscription, false); super.getArena().serializeData(); super.getMythArenaGui().setDescription("Successfully disabled subscription for " + chooseSubscription); } catch (IOException e) { e.printStackTrace(); } - // add item / enable + // enable item } else { try { - marketSubscriptionSet.add(chooseSubscription); + playerCategorySubscriptions.put(chooseSubscription, true); super.getArena().serializeData(); super.getMythArenaGui().setDescription("Successfully enabled subscription for " + chooseSubscription); } catch (IOException e) { @@ -543,7 +542,6 @@ private void modifyMarketNotification(ArrayList specificList) { } } } - */ /** * Get gold diff --git a/src/mytharena/data/user/Player.java b/src/mytharena/data/user/Player.java index 526e9d5..56e5833 100644 --- a/src/mytharena/data/user/Player.java +++ b/src/mytharena/data/user/Player.java @@ -142,7 +142,7 @@ public ArrayList getNotificationArrayList() { * @return JSONObject marketSubscriptions */ public JSONObject getMarketSubscriptions(String subscription) { - return this.marketSubscriptions; + return (JSONObject) this.marketSubscriptions.get(subscription); } } diff --git a/src/resources/market/subscriptions.json b/src/resources/market/subscriptions.json index 545d1dc..0e2388d 100644 --- a/src/resources/market/subscriptions.json +++ b/src/resources/market/subscriptions.json @@ -9,6 +9,16 @@ "Epic": false, "Normal": false }, + "Minion": { + "Demon": false, + "Ghoul": false, + "Human": false + }, + "Character": { + "Hunter": false, + "Vampire": false, + "Werewolf": false + }, "Value": { "Armor": { "AttackModification": -1, @@ -20,15 +30,5 @@ } }, "Loyalty": -1, - "Minion": { - "Demon": false, - "Ghoul": false, - "Human": false - }, - "Character": { - "Hunter": false, - "Vampire": false, - "Werewolf": false - }, "Price": [0, -1] } From 9976f458955f6dd02168593a37887c10b8bb7298 Mon Sep 17 00:00:00 2001 From: skuzow Date: Fri, 8 Jul 2022 23:38:22 +0200 Subject: [PATCH 27/53] feat: long modify market notification map --- src/mytharena/command/PlayerMenu.java | 263 ++++++++++++++++++++++++-- src/mytharena/data/user/Player.java | 5 +- 2 files changed, 247 insertions(+), 21 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index d48f25a..4391d36 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -3,7 +3,6 @@ import mytharena.Arena; import mytharena.data.Data; import mytharena.data.character.Marketable; -import mytharena.data.character.factory.character.Character; import mytharena.data.character.factory.character.CharacterFactory; import mytharena.data.character.factory.character.hunter.HunterFactory; import mytharena.data.character.factory.character.vampire.VampireFactory; @@ -24,6 +23,7 @@ import mytharena.data.user.Player; import mytharena.data.user.User; import mytharena.gui.MythArenaGui; +import org.json.simple.JSONArray; import org.json.simple.JSONObject; import java.io.IOException; @@ -326,13 +326,15 @@ private void buyMarket() { for (Marketable item : pack) { if (item instanceof Weapon weapon) { offerList.add("Weapon: " + weapon.getName() + - " || AttackModification: " + weapon.getAttackModification() + - " || DefenseModification: " + weapon.getDefenseModification() + - " || TwoHands: " + weapon.isTwoHands()); + " || AttackModification: " + weapon.getAttackModification() + + " || DefenseModification: " + weapon.getDefenseModification() + + " || TwoHands: " + weapon.isTwoHands() + ); } else if (item instanceof Armor armor) { offerList.add("Armor: " + armor.getName() + - " || AttackModification: " + armor.getAttackModification() + - " || DefenseModification: " + armor.getDefenseModification()); + " || AttackModification: " + armor.getAttackModification() + + " || DefenseModification: " + armor.getDefenseModification() + ); } else { Minion minion = (Minion) item; if (minion instanceof Demon demon) { @@ -340,11 +342,13 @@ private void buyMarket() { displayMinionPack(demon.getMinionArrayList(), total); for (Minion minion1 : total) { offerList.add("Minion type: " + minion1.getClass().toString() + - " || Health: " + minion1.getHealth()); + " || Health: " + minion1.getHealth() + ); } } else { offerList.add("Minion type: " + minion.getClass().toString() + - " || Health: " + minion.getHealth()); + " || Health: " + minion.getHealth() + ); } } } @@ -393,6 +397,11 @@ private void buyMarket() { } } + /** + * Displays minion pack recursive + * @param minionPack ArrayList Minion minionPack + * @param total ArrayList Minion total + */ private void displayMinionPack(ArrayList minionPack, ArrayList total) { for (Minion minion : minionPack) { if (minion instanceof Demon demon) { @@ -472,15 +481,16 @@ private void marketNotification() { ArrayList specificList = new ArrayList<>(); specificList.add("AttackModification"); specificList.add("DefenseModification"); - //modifyMarketNotification(specificList); - } - // loyalty - case 5 -> { - // TODO: function for human minion loyalty number + HashMap> complexMap = new HashMap<>(); + complexMap.put("Armor", specificList); + complexMap.put("Weapon", specificList); + this.longModifyMarketNotificationMap(genericDisplayList.get(index), complexMap); } - // price range - case 6 -> { - // TODO: function for offer prince range + // loyalty, price range + case 5, 6 -> { + // TODO: function for human minion loyalty number <- loyalty + // TODO: function for offer prince range <- price range + //this.intModifyMarketNotification(genericDisplayList.get(index), null); } } } @@ -496,12 +506,13 @@ private void marketNotification() { private void boolModifyMarketNotification(String category, ArrayList specificList) { boolean exit = false; while (!exit) { - JSONObject playerCategorySubscriptions = player.getMarketSubscriptions(category); + JSONObject playerCategorySubscriptions = (JSONObject) player.getMarketSubscriptions().get(category); ArrayList specificDisplayList = new ArrayList<>(); // display subscriptions with enable or disabled for (String subscription : specificList) { specificDisplayList.add(subscription + - " || Status: " + ((boolean) playerCategorySubscriptions.get(subscription) ? "Enabled" : "Disabled")); + " || Status: " + ((boolean) playerCategorySubscriptions.get(subscription) ? "Enabled" : "Disabled") + ); } super.getMythArenaGui().setTitle("Choose a type of subscription"); super.getMythArenaGui().setDescription(null); @@ -543,6 +554,222 @@ private void boolModifyMarketNotification(String category, ArrayList spe } } + /** + * Long Modify Market Notification Map + * @param category String category + * @param complexMap HashMap String ArrayList String + */ + private void longModifyMarketNotificationMap(String category, HashMap> complexMap) { + boolean exitList = false; + while (!exitList) { + JSONObject playerCategorySubscriptions = (JSONObject) player.getMarketSubscriptions().get(category); + ArrayList specificDisplayList; + // display subscriptions + specificDisplayList = this.iterateMap(playerCategorySubscriptions, complexMap); + super.getMythArenaGui().setListMode(); + super.getMythArenaGui().setTitle("Choose a type of subscription"); + super.getMythArenaGui().setDescription(null); + super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(1, "Modify"); + super.getMythArenaGui().setList(specificDisplayList); + switch (super.getMythArenaGui().waitEvent(30)) { + // exit + case 'A' -> exitList = true; + // enter form mode to modify value + case 'B' -> { + int index = super.getMythArenaGui().getLastSelectedListIndex(); + if (index != -1) { + boolean exitField = false; + while (!exitField) { + super.getMythArenaGui().setFormMode(); + super.getMythArenaGui().setTitle("Modify values you want to change"); + super.getMythArenaGui().setDescription("To disable a subscription set it to -1"); + super.getMythArenaGui().setField(0, specificDisplayList.get(index)); + super.getMythArenaGui().setField(1, null); + super.getMythArenaGui().setField(2, null); + switch (super.getMythArenaGui().waitEvent(30)) { + case 'A' -> exitField = true; + case 'B' -> { + String fieldValueString = super.getMythArenaGui().getFieldText(0); + if (super.getArena().isInteger(fieldValueString) && Integer.parseInt(fieldValueString) >= -1) { + long lastValue = this.getValueIterateMap(playerCategorySubscriptions, complexMap, index); + long fieldValue = Long.parseLong(fieldValueString); + try { + this.setValueIterateMap(playerCategorySubscriptions, complexMap, index, fieldValue); + super.getMythArenaGui().clearFieldText(0); + super.getArena().serializeData(); + if (lastValue == -1) { + super.getMythArenaGui().setDescription("Successfully disabled subscription"); + } else { + super.getMythArenaGui().setDescription("Successfully enabled subscription with " + fieldValue + " value"); + } + } catch (IOException e) { + e.printStackTrace(); + } + // update display + specificDisplayList = this.iterateMap(playerCategorySubscriptions, complexMap); + super.getMythArenaGui().waitEvent(1); + } else { + super.getMythArenaGui().setDescription("Invalid value"); + super.getMythArenaGui().clearFieldText(0); + super.getMythArenaGui().waitEvent(3); + } + } + } + } + } else { + super.getMythArenaGui().setDescription("You must select a type to open!"); + super.getMythArenaGui().waitEvent(3); + } + } + } + } + } + + /** + * Iterates map given and generate specificDisplayList with map inside values + * @param playerCategorySubscriptions JSONObject playerCategorySubscriptions + * @param complexMap HashMap String ArrayList String complexMap + * @return specificDisplayList ArrayList String specificDisplayList + */ + private ArrayList iterateMap(JSONObject playerCategorySubscriptions, HashMap> complexMap) { + ArrayList specificDisplayList = new ArrayList<>(); + for (Map.Entry> entry : complexMap.entrySet()) { + String key = entry.getKey(); + JSONObject deepPlayerCategorySubscriptions = (JSONObject) playerCategorySubscriptions.get(key); + for (String subscription : entry.getValue()) { + long subscriptionValue = (long) deepPlayerCategorySubscriptions.get(subscription); + specificDisplayList.add(key + " : " + subscription + + " || Status: " + (subscriptionValue != -1 ? subscriptionValue : "Disabled") + ); + } + } + return specificDisplayList; + } + + /** + * Gets value Iterating given map + * @param playerCategorySubscriptions JSONObject playerCategorySubscriptions + * @param complexMap HashMap String ArrayList String complexMap + * @param index int index + */ + private long getValueIterateMap(JSONObject playerCategorySubscriptions, HashMap> complexMap, int index) { + int cont = 0; + for (Map.Entry> entry : complexMap.entrySet()) { + JSONObject deepPlayerCategorySubscriptions = (JSONObject) playerCategorySubscriptions.get(entry.getKey()); + for (String subscription : entry.getValue()) { + if (cont == index) return (long) deepPlayerCategorySubscriptions.get(subscription); + cont++; + } + } + return -2; + } + + /** + * Sets value Iterating given map + * @param playerCategorySubscriptions JSONObject playerCategorySubscriptions + * @param complexMap HashMap String ArrayList String complexMap + * @param index int index + * @param value long value + */ + private void setValueIterateMap(JSONObject playerCategorySubscriptions, HashMap> complexMap, int index, long value) { + int cont = 0; + for (Map.Entry> entry : complexMap.entrySet()) { + JSONObject deepPlayerCategorySubscriptions = (JSONObject) playerCategorySubscriptions.get(entry.getKey()); + for (String subscription : entry.getValue()) { + if (cont == index) { + deepPlayerCategorySubscriptions.put(subscription, value); + return; + } + cont++; + } + } + } + + /** + * Integer Modify Market Notification + * @param category String category + * @param complexMap HashMap String ArrayList String + */ + /* + private void intModifyMarketNotification(String category, HashMap> complexMap) { + boolean exit = false; + while (!exit) { + ArrayList specificDisplayList = new ArrayList<>(); + // display subscriptions + // map + if (complexMap != null) { + JSONObject playerCategorySubscriptions = (JSONObject) player.getMarketSubscriptions().get(category); + for (Map.Entry> entry : complexMap.entrySet()) { + String key = entry.getKey(); + JSONObject deepPlayerCategorySubscriptions = (JSONObject) playerCategorySubscriptions.get(key); + for (String subscription : entry.getValue()) { + int subscriptionValue = (int) deepPlayerCategorySubscriptions.get(subscription); + specificDisplayList.add(key + " : " + subscription + + " || Status: " + (subscriptionValue != -1 ? subscriptionValue : "Disabled") + ); + } + } + // list + } else if (Objects.equals(category, "Price")) { + JSONArray playerCategorySubscriptions = (JSONArray) player.getMarketSubscriptions().get(category); + Iterator iterator = playerCategorySubscriptions.iterator(); + int contValue = 0; + while (iterator.hasNext()) { + int value = iterator.next(); + String subscriptionValue = value != -1 ? String.valueOf(value) : "Disabled"; + specificDisplayList.add(category + " || Status: " + subscriptionValue + (contValue == 0 ? " min" : " max")); + contValue++; + } + // int + } else { + int playerCategorySubscription = (Integer) player.getMarketSubscriptions().get(category); + specificDisplayList.add(category + + " || Status: " + (playerCategorySubscription != -1 ? String.valueOf(playerCategorySubscription) : "Disabled") + ); + } + // gui + if (specificDisplayList.size() < 4) { + super.getMythArenaGui().setFormMode(); + super.getMythArenaGui().setTitle("Modify values you want to change"); + super.getMythArenaGui().setDescription(null); + super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(1, "Change"); + int contExist = 0; + for (String subscription : specificDisplayList) { + super.getMythArenaGui().setField(contExist, subscription); + contExist++; + } + // null rest + for (int contNull = 0; contNull < 4; contNull++) { + super.getMythArenaGui().setField(contNull, null); + } + switch (super.getMythArenaGui().waitEvent(30)) { + case 'A' -> exit = true; + case 'B' -> { + // get field values + ArrayList fieldValues = new ArrayList<>(); + for (int contField = 0; contField < contExist; contField++) { + String fieldValue = super.getMythArenaGui().getFieldText(contField); + boolean criteria = + if (super.getArena().isInteger(fieldValue) && Integer.parseInt(fieldValue) > 0 && criteria) { + + } else { + super.getMythArenaGui().setDescription("Invalid value for field " + contField); + super.getMythArenaGui().clearFieldText(contField); + super.getMythArenaGui().waitEvent(3); + break; + } + } + } + } + } else { + super.getMythArenaGui().setListMode(); + } + } + } + */ + /** * Get gold */ diff --git a/src/mytharena/data/user/Player.java b/src/mytharena/data/user/Player.java index 56e5833..d43506b 100644 --- a/src/mytharena/data/user/Player.java +++ b/src/mytharena/data/user/Player.java @@ -139,10 +139,9 @@ public ArrayList getNotificationArrayList() { /** * Gets JSONObject marketSubscriptions - * @return JSONObject marketSubscriptions */ - public JSONObject getMarketSubscriptions(String subscription) { - return (JSONObject) this.marketSubscriptions.get(subscription); + public JSONObject getMarketSubscriptions() { + return this.marketSubscriptions; } } From 04064463a090c90a9ac420a9fe1056c0af84a459 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sat, 9 Jul 2022 00:37:19 +0200 Subject: [PATCH 28/53] feat: long modify market notification --- src/mytharena/command/PlayerMenu.java | 115 +++++++++----------------- 1 file changed, 40 insertions(+), 75 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 4391d36..cd0a8cc 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -477,7 +477,6 @@ private void marketNotification() { } // value case 4 -> { - // TODO: insert wanted values & make function ArrayList specificList = new ArrayList<>(); specificList.add("AttackModification"); specificList.add("DefenseModification"); @@ -486,10 +485,11 @@ private void marketNotification() { complexMap.put("Weapon", specificList); this.longModifyMarketNotificationMap(genericDisplayList.get(index), complexMap); } - // loyalty, price range - case 5, 6 -> { - // TODO: function for human minion loyalty number <- loyalty - // TODO: function for offer prince range <- price range + // loyalty + case 5 -> this.longModifyMarketNotification(genericDisplayList.get(index)); + // price range + case 6 -> { + // TODO: function for offer prince range //this.intModifyMarketNotification(genericDisplayList.get(index), null); } } @@ -687,88 +687,53 @@ private void setValueIterateMap(JSONObject playerCategorySubscriptions, HashMap< } /** - * Integer Modify Market Notification + * Long Modify Market Notification * @param category String category - * @param complexMap HashMap String ArrayList String */ - /* - private void intModifyMarketNotification(String category, HashMap> complexMap) { + private void longModifyMarketNotification(String category) { boolean exit = false; while (!exit) { - ArrayList specificDisplayList = new ArrayList<>(); - // display subscriptions - // map - if (complexMap != null) { - JSONObject playerCategorySubscriptions = (JSONObject) player.getMarketSubscriptions().get(category); - for (Map.Entry> entry : complexMap.entrySet()) { - String key = entry.getKey(); - JSONObject deepPlayerCategorySubscriptions = (JSONObject) playerCategorySubscriptions.get(key); - for (String subscription : entry.getValue()) { - int subscriptionValue = (int) deepPlayerCategorySubscriptions.get(subscription); - specificDisplayList.add(key + " : " + subscription + - " || Status: " + (subscriptionValue != -1 ? subscriptionValue : "Disabled") - ); - } - } - // list - } else if (Objects.equals(category, "Price")) { - JSONArray playerCategorySubscriptions = (JSONArray) player.getMarketSubscriptions().get(category); - Iterator iterator = playerCategorySubscriptions.iterator(); - int contValue = 0; - while (iterator.hasNext()) { - int value = iterator.next(); - String subscriptionValue = value != -1 ? String.valueOf(value) : "Disabled"; - specificDisplayList.add(category + " || Status: " + subscriptionValue + (contValue == 0 ? " min" : " max")); - contValue++; - } - // int - } else { - int playerCategorySubscription = (Integer) player.getMarketSubscriptions().get(category); - specificDisplayList.add(category + - " || Status: " + (playerCategorySubscription != -1 ? String.valueOf(playerCategorySubscription) : "Disabled") - ); - } - // gui - if (specificDisplayList.size() < 4) { - super.getMythArenaGui().setFormMode(); - super.getMythArenaGui().setTitle("Modify values you want to change"); - super.getMythArenaGui().setDescription(null); - super.getMythArenaGui().setOption(0, "Back"); - super.getMythArenaGui().setOption(1, "Change"); - int contExist = 0; - for (String subscription : specificDisplayList) { - super.getMythArenaGui().setField(contExist, subscription); - contExist++; - } - // null rest - for (int contNull = 0; contNull < 4; contNull++) { - super.getMythArenaGui().setField(contNull, null); - } - switch (super.getMythArenaGui().waitEvent(30)) { - case 'A' -> exit = true; - case 'B' -> { - // get field values - ArrayList fieldValues = new ArrayList<>(); - for (int contField = 0; contField < contExist; contField++) { - String fieldValue = super.getMythArenaGui().getFieldText(contField); - boolean criteria = - if (super.getArena().isInteger(fieldValue) && Integer.parseInt(fieldValue) > 0 && criteria) { - + JSONObject marketSubscriptions = player.getMarketSubscriptions(); + long subscriptionValue = (Long) marketSubscriptions.get(category); + String subInformation = category + " || Status: " + (subscriptionValue != -1 ? subscriptionValue : "Disabled"); + super.getMythArenaGui().setFormMode(); + super.getMythArenaGui().setTitle("Modify values you want to change"); + super.getMythArenaGui().setDescription("To disable a subscription set it to -1"); + super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(1, "Modify"); + super.getMythArenaGui().setField(0, subInformation); + super.getMythArenaGui().setField(1, null); + super.getMythArenaGui().setField(2, null); + switch (super.getMythArenaGui().waitEvent(30)) { + // exit + case 'A' -> exit = true; + // modify value + case 'B' -> { + String fieldValueString = super.getMythArenaGui().getFieldText(0); + if (super.getArena().isInteger(fieldValueString) && Integer.parseInt(fieldValueString) >= -1) { + long fieldValue = Long.parseLong(fieldValueString); + try { + marketSubscriptions.put(category, fieldValue); + super.getMythArenaGui().clearFieldText(0); + super.getArena().serializeData(); + if (fieldValue == -1) { + super.getMythArenaGui().setDescription("Successfully disabled subscription"); } else { - super.getMythArenaGui().setDescription("Invalid value for field " + contField); - super.getMythArenaGui().clearFieldText(contField); - super.getMythArenaGui().waitEvent(3); - break; + super.getMythArenaGui().setDescription("Successfully enabled subscription with " + fieldValue + " value"); } + } catch (IOException e) { + e.printStackTrace(); } + super.getMythArenaGui().waitEvent(1); + } else { + super.getMythArenaGui().setDescription("Invalid value"); + super.getMythArenaGui().clearFieldText(0); + super.getMythArenaGui().waitEvent(3); } } - } else { - super.getMythArenaGui().setListMode(); } } } - */ /** * Get gold From 6401792011d7f80f5617429c0995a90a2d9f9970 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sat, 9 Jul 2022 01:31:55 +0200 Subject: [PATCH 29/53] feat: long modify market notification list --- src/mytharena/Arena.java | 30 ++++++++++ src/mytharena/command/AdminMenu.java | 38 ++----------- src/mytharena/command/PlayerMenu.java | 80 +++++++++++++++++++++++++-- 3 files changed, 110 insertions(+), 38 deletions(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index 6d08567..43450f4 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -149,6 +149,36 @@ public void deleteActiveUserMenu() { } } + /** + * Serialize multiple elements + * @param notValid StringBuilder notValid + * @param outBounds StringBuilder outBounds + * @param modified StringBuilder modified + * @return boolean exit + */ + public boolean serializeMultiple(StringBuilder notValid, StringBuilder outBounds, StringBuilder modified) { + if (notValid.isEmpty()) { + if (outBounds.isEmpty()) { + try { + this.serializeData(); + this.mythArenaGui.setDescription(modified + "value changed successfully!"); + this.mythArenaGui.clearFieldText(0); + this.mythArenaGui.clearFieldText(1); + this.mythArenaGui.clearFieldText(2); + this.mythArenaGui.waitEvent(1); + return true; + } catch (IOException e) { + e.printStackTrace(); + } + } else { + this.mythArenaGui.setDescription(outBounds + "have values out of bounds!"); + } + } else { + this.mythArenaGui.setDescription(notValid + "have not valid values"); + } + return false; + } + /** * Combat Arena Tool * @param player1 Player player1 diff --git a/src/mytharena/command/AdminMenu.java b/src/mytharena/command/AdminMenu.java index 1b9306f..8abae19 100644 --- a/src/mytharena/command/AdminMenu.java +++ b/src/mytharena/command/AdminMenu.java @@ -590,7 +590,7 @@ private void editVampire(Player selectedPlayer) { notValid.append(value2Info); } } - exit = this.serializeMultiple(notValid, outBounds, modified); + exit = super.getArena().serializeMultiple(notValid, outBounds, modified); } } } @@ -662,7 +662,7 @@ private void editTalent(Player selectedPlayer) { StringBuilder modified = new StringBuilder(); // attackModifier & defenseModifier this.generalAbility(selectedPlayer, value1, value2, notValid, outBounds, modified); - exit = this.serializeMultiple(notValid, outBounds, modified); + exit = super.getArena().serializeMultiple(notValid, outBounds, modified); } } } @@ -707,7 +707,7 @@ private void editDiscipline(Player selectedPlayer) { notValid.append(value3Info); } } - exit = this.serializeMultiple(notValid, outBounds, modified); + exit = super.getArena().serializeMultiple(notValid, outBounds, modified); } } } @@ -752,7 +752,7 @@ private void editGift(Player selectedPlayer) { notValid.append(value3Info); } } - exit = this.serializeMultiple(notValid, outBounds, modified); + exit = super.getArena().serializeMultiple(notValid, outBounds, modified); } } } @@ -921,34 +921,4 @@ private void editPower(Player selectedPlayer) { } } - /** - * Serialize multiple elements - * @param notValid StringBuilder notValid - * @param outBounds StringBuilder outBounds - * @param modified StringBuilder modified - * @return boolean exit - */ - private boolean serializeMultiple(StringBuilder notValid, StringBuilder outBounds, StringBuilder modified) { - if (notValid.isEmpty()) { - if (outBounds.isEmpty()) { - try { - super.getArena().serializeData(); - super.getMythArenaGui().setDescription(modified + "value changed successfully!"); - super.getMythArenaGui().clearFieldText(0); - super.getMythArenaGui().clearFieldText(1); - super.getMythArenaGui().clearFieldText(2); - super.getMythArenaGui().waitEvent(1); - return true; - } catch (IOException e) { - e.printStackTrace(); - } - } else { - super.getMythArenaGui().setDescription(outBounds + "have values out of bounds!"); - } - } else { - super.getMythArenaGui().setDescription(notValid + "have not valid values"); - } - return false; - } - } diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index cd0a8cc..00b8e29 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -488,10 +488,7 @@ private void marketNotification() { // loyalty case 5 -> this.longModifyMarketNotification(genericDisplayList.get(index)); // price range - case 6 -> { - // TODO: function for offer prince range - //this.intModifyMarketNotification(genericDisplayList.get(index), null); - } + case 6 -> this.longModifyMarketNotificationList(genericDisplayList.get(index)); } } } @@ -735,6 +732,81 @@ private void longModifyMarketNotification(String category) { } } + /** + * Long Modify Market Notification List + * @param category String category + */ + private void longModifyMarketNotificationList(String category) { + boolean exit = false; + while (!exit) { + JSONObject marketSubscriptions = player.getMarketSubscriptions(); + JSONArray categoryValues = (JSONArray) marketSubscriptions.get(category); + ArrayList values = new ArrayList<>(); + Iterator iterator = categoryValues.iterator(); + while (iterator.hasNext()) { + Long value = Long.valueOf(String.valueOf(iterator.next())); + values.add(value); + } + // values.get(0) -> minValue + // values.get(1) -> maxValue + super.getMythArenaGui().setFormMode(); + super.getMythArenaGui().setTitle("Modify values you want to change"); + super.getMythArenaGui().setDescription("To disable a subscription, set it min to 0 & max to -1"); + super.getMythArenaGui().setOption(0, "Back"); + super.getMythArenaGui().setOption(1, "Modify"); + super.getMythArenaGui().setField(0, category + " Min || Status: " + (values.get(0) != 0 ? values.get(0) : "Disabled")); + super.getMythArenaGui().setField(1, category + " Max || Status: " + (values.get(1) != -1 ? values.get(1) : "Disabled")); + super.getMythArenaGui().setField(2, null); + switch (super.getMythArenaGui().waitEvent(30)) { + // exit + case 'A' -> exit = true; + // modify values + case 'B' -> { + String fieldMinValueString = super.getMythArenaGui().getFieldText(0); + String fieldMaxValueString = super.getMythArenaGui().getFieldText(1); + StringBuilder notValid = new StringBuilder(); + StringBuilder outBounds = new StringBuilder(); + StringBuilder modified = new StringBuilder(); + JSONArray newValues = categoryValues; + // min value + if (!Objects.equals(fieldMinValueString, "")) { + String minInfo = "PriceMin "; + if (super.getArena().isInteger(fieldMinValueString)) { + if (Integer.parseInt(fieldMinValueString) >= 0) { + newValues.set(0, Long.parseLong(fieldMinValueString)); + modified.append(minInfo); + } else { + outBounds.append(minInfo); + } + } else { + notValid.append(minInfo); + } + } + // max value + if (!Objects.equals(fieldMaxValueString, "")) { + String MaxInfo = "PriceMax "; + if (super.getArena().isInteger(fieldMaxValueString)) { + if (Integer.parseInt(fieldMaxValueString) >= -1) { + newValues.set(1, Long.parseLong(fieldMaxValueString)); + modified.append(MaxInfo); + } else { + outBounds.append(MaxInfo); + } + } else { + notValid.append(MaxInfo); + } + } + // save new values if changed + marketSubscriptions.put(category, newValues); + super.getMythArenaGui().clearFieldText(0); + super.getMythArenaGui().clearFieldText(1); + super.getArena().serializeMultiple(notValid, outBounds, modified); + } + } + super.getMythArenaGui().waitEvent(2); + } + } + /** * Get gold */ From 15dda7ef7f28e4faf73eb8106a62ec0fd508ebd5 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sat, 9 Jul 2022 02:03:08 +0200 Subject: [PATCH 30/53] fix: player independent market subscriptions --- src/mytharena/command/PlayerMenu.java | 1 + src/mytharena/data/Data.java | 29 --------------------------- src/mytharena/data/user/Player.java | 14 ++++++++++--- 3 files changed, 12 insertions(+), 32 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 00b8e29..cedc58a 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -428,6 +428,7 @@ private void marketNotification() { while (!exit) { super.getMythArenaGui().setListMode(); super.getMythArenaGui().setTitle("Choose a category of subscription"); + super.getMythArenaGui().setDescription(null); super.getMythArenaGui().setOption(0, "Back"); super.getMythArenaGui().setOption(1, "Select"); super.getMythArenaGui().setList(genericDisplayList); diff --git a/src/mytharena/data/Data.java b/src/mytharena/data/Data.java index 8af89d9..6def415 100644 --- a/src/mytharena/data/Data.java +++ b/src/mytharena/data/Data.java @@ -7,11 +7,7 @@ import mytharena.data.market.Offer; import mytharena.data.user.Player; import mytharena.data.user.User; -import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; -import java.io.FileReader; -import java.io.Reader; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; @@ -54,23 +50,6 @@ public class Data implements Serializable { * ArrayList Offer purchasedOffers */ private final ArrayList purchasedOffers = new ArrayList<>(); - /** - * JSONObject defaultMarketSubscriptions - */ - private JSONObject defaultMarketSubscriptions; - - /** - * Data class constructor - */ - public Data() { - // init JSONObject defaultMarketSubscriptions - JSONParser parser = new JSONParser(); - try (Reader reader = new FileReader("./src/resources/market/subscriptions.json")) { - this.defaultMarketSubscriptions = (JSONObject) parser.parse(reader); - } catch (Exception e) { - e.printStackTrace(); - } - } /** * Gets ArrayList User userArrayList @@ -136,12 +115,4 @@ public ArrayList getPurchasedOffers() { return this.purchasedOffers; } - /** - * Gets JSONObject defaultMarketSubscriptions - * @return JSONObject defaultMarketSubscriptions - */ - public JSONObject getDefaultMarketSubscriptions() { - return this.defaultMarketSubscriptions; - } - } diff --git a/src/mytharena/data/user/Player.java b/src/mytharena/data/user/Player.java index d43506b..0a86554 100644 --- a/src/mytharena/data/user/Player.java +++ b/src/mytharena/data/user/Player.java @@ -4,7 +4,10 @@ import mytharena.data.character.factory.character.Character; import mytharena.data.notification.Notification; import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import java.io.FileReader; +import java.io.Reader; import java.io.Serializable; import java.util.ArrayList; @@ -40,7 +43,7 @@ public class Player extends User implements Serializable { /** * JSONObject marketSubscriptions */ - private final JSONObject marketSubscriptions; + private JSONObject marketSubscriptions = new JSONObject(); /** * Player class constructor extends User @@ -53,8 +56,13 @@ public Player(String username, String password, Data data, String nickname) { this.nickname = nickname; this.goldLostInBattle = 0; this.goldWonInBattle = 0; - // marketSubscriptions init with default values - this.marketSubscriptions = data.getDefaultMarketSubscriptions(); + // init JSONObject marketSubscriptions with default values json file + JSONParser parser = new JSONParser(); + try (Reader reader = new FileReader("./src/resources/market/subscriptions.json")) { + this.marketSubscriptions = (JSONObject) parser.parse(reader); + } catch (Exception e) { + e.printStackTrace(); + } } /** From 0b46681e3cea2ffdc45b5593ec2a97361b8febe3 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sat, 9 Jul 2022 02:19:42 +0200 Subject: [PATCH 31/53] feat: default market suscriptions generator getter --- src/mytharena/Arena.java | 58 ++++++++++++++--------------- src/mytharena/data/Data.java | 19 ++++++++++ src/mytharena/data/user/Player.java | 7 +--- 3 files changed, 49 insertions(+), 35 deletions(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index 43450f4..ea0e916 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -43,10 +43,6 @@ public class Arena { * Data data */ private Data data; - /** - * String serializablePath - */ - private final String serializablePath = "./src/resources/serializable/data.bin"; /** * HashMap String Command commandMap */ @@ -55,6 +51,10 @@ public class Arena { * User activeUser */ private User activeUser; + /** + * String serializablePath + */ + private final String serializablePath = "./src/resources/serializable/data.bin"; /** * Starts all, and have main loop of the application @@ -179,6 +179,31 @@ public boolean serializeMultiple(StringBuilder notValid, StringBuilder outBounds return false; } + /** + * Sets User activeUser + * @param activeUser User activeUser + */ + public void setActiveUser(User activeUser) { + this.activeUser = activeUser; + } + + /** + * Gets specific Command command in commandMap with String key + * @param key String key + * @return Command command + */ + public Command getCommand(String key) { + return this.commandMap.get(key); + } + + /** + * Gets User activeUser + * @return User activeUser + */ + public User getActiveUser() { + return this.activeUser; + } + /** * Combat Arena Tool * @param player1 Player player1 @@ -501,30 +526,5 @@ private int[] calculateWeaponModifier(Character character) { } return values; } - - /** - * Sets User activeUser - * @param activeUser User activeUser - */ - public void setActiveUser(User activeUser) { - this.activeUser = activeUser; - } - - /** - * Gets specific Command command in commandMap with String key - * @param key String key - * @return Command command - */ - public Command getCommand(String key) { - return this.commandMap.get(key); - } - - /** - * Gets User activeUser - * @return User activeUser - */ - public User getActiveUser() { - return this.activeUser; - } } diff --git a/src/mytharena/data/Data.java b/src/mytharena/data/Data.java index 6def415..a4eb36f 100644 --- a/src/mytharena/data/Data.java +++ b/src/mytharena/data/Data.java @@ -7,7 +7,11 @@ import mytharena.data.market.Offer; import mytharena.data.user.Player; import mytharena.data.user.User; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import java.io.FileReader; +import java.io.Reader; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; @@ -115,4 +119,19 @@ public ArrayList getPurchasedOffers() { return this.purchasedOffers; } + /** + * Gets JSONObject defaultMarketSubscriptions + * @return JSONObject defaultMarketSubscriptions + */ + public JSONObject getDefaultMarketSubscriptions() { + String defaultSubscriptionsPath = "./src/resources/market/subscriptions.json"; + try (Reader reader = new FileReader(defaultSubscriptionsPath)) { + JSONParser parser = new JSONParser(); + return (JSONObject) parser.parse(reader); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + } diff --git a/src/mytharena/data/user/Player.java b/src/mytharena/data/user/Player.java index 0a86554..cc5a627 100644 --- a/src/mytharena/data/user/Player.java +++ b/src/mytharena/data/user/Player.java @@ -57,12 +57,7 @@ public Player(String username, String password, Data data, String nickname) { this.goldLostInBattle = 0; this.goldWonInBattle = 0; // init JSONObject marketSubscriptions with default values json file - JSONParser parser = new JSONParser(); - try (Reader reader = new FileReader("./src/resources/market/subscriptions.json")) { - this.marketSubscriptions = (JSONObject) parser.parse(reader); - } catch (Exception e) { - e.printStackTrace(); - } + this.marketSubscriptions = data.getDefaultMarketSubscriptions(); } /** From 9c89ce22366784b094c898954ce09483289657c2 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sat, 9 Jul 2022 09:54:36 +0200 Subject: [PATCH 32/53] fix: view notifications list index getter --- src/mytharena/command/PlayerMenu.java | 75 ++++++++++++++------------- 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 4391d36..cf9d47b 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -811,9 +811,9 @@ private void viewNotifications() { // Main settings getMythArenaGui().setListMode(); getMythArenaGui().setTitle("Notifications"); - getMythArenaGui().setDescription("You have combat notification " + (player.isSubscriber()? "on" : "off")); + getMythArenaGui().setDescription("You have combat notification " + (player.isSubscriber() ? "on" : "off")); getMythArenaGui().setOption(0, null); - getMythArenaGui().setOption(1, "Turn Combat Notification " + (player.isSubscriber()? "off":"on")); + getMythArenaGui().setOption(1, "Turn Combat Notification " + (player.isSubscriber() ? "off":"on")); getMythArenaGui().setOption(2, "Back"); getMythArenaGui().setOption(3, "Open"); // List of notifications @@ -822,7 +822,6 @@ private void viewNotifications() { notificationList.add(notification.getTitle()); } getMythArenaGui().setList(notificationList); - int test = getMythArenaGui().getLastSelectedListIndex(); // Opens notification at the current list index switch (getMythArenaGui().waitEvent(30)) { case 'D' -> { @@ -872,7 +871,8 @@ private void viewNotifications() { } exit = true; } - } else if (notification instanceof CombatResultsNotification combatResultsNotification){ + // CombatResultsNotification + } else if (notification instanceof CombatResultsNotification combatResultsNotification) { boolean exitResult = false; while (!exitResult) { getMythArenaGui().setTitle("Battle result"); @@ -887,7 +887,10 @@ private void viewNotifications() { combatResults.add("Winner: " + combatResultsNotification.getCombat().getWinner().getNickname()); combatResults.add("Loser: " + combatResultsNotification.getCombat().getLoser().getNickname()); combatResults.add("Date: " + combatResultsNotification.getCombat().getDate()); - combatResults.add("Player with minions left: " + (combatResultsNotification.getCombat().getPlayerWithMinionsLeft() == null ? "NONE" : combatResultsNotification.getCombat().getPlayerWithMinionsLeft().getNickname())); + combatResults.add("Player with minions left: " + ( + combatResultsNotification.getCombat().getPlayerWithMinionsLeft() == null + ? "NONE" : combatResultsNotification.getCombat().getPlayerWithMinionsLeft().getNickname()) + ); combatResults.add(combatResultsNotification.getBody()); for (int i = 1; i <= ((CombatResultsNotification) notification).getCombat().getRounds().size(); i++) { combatResults.add("Round: " + i); @@ -895,41 +898,39 @@ private void viewNotifications() { getMythArenaGui().setList(combatResults); switch (getMythArenaGui().waitEvent(30)) { case 'B' -> { - int roundIndex = getMythArenaGui().getLastSelectedListIndex()-combatResults.size()+1; + int roundIndex = getMythArenaGui().getLastSelectedListIndex(); if (roundIndex != -1) { - if (roundIndex > 6) { - boolean closeRound = false; - while (!closeRound) { - Round round = combatResultsNotification.getCombat().getRounds().get(roundIndex - 7); - int roundNumber = roundIndex - 6; - ArrayList roundResults = new ArrayList<>(); - roundResults.add("Round: " + roundNumber); - roundResults.add("Player 1 health: " + round.getCharacter1Health()); - roundResults.add("Player 2 health: " + round.getCharacter2Health()); - roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); - roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); - roundResults.add("Player 1 attack result: " + round.getCharacter1AttackResult() + " damage"); - roundResults.add("Player 2 attack result: " + round.getCharacter2AttackResult() + " damage"); - getMythArenaGui().setList(roundResults); - getMythArenaGui().setOption(0, null); - getMythArenaGui().setOption(1, null); - getMythArenaGui().setOption(2, null); - getMythArenaGui().setOption(3, "Back"); - - // Exit round - if (getMythArenaGui().waitEvent(30) == 'D') { - closeRound = true; - } + if (roundIndex > 6) { + boolean closeRound = false; + while (!closeRound) { + Round round = combatResultsNotification.getCombat().getRounds().get(roundIndex - 7); + int roundNumber = roundIndex - 6; + ArrayList roundResults = new ArrayList<>(); + roundResults.add("Round: " + roundNumber); + roundResults.add("Player 1 health: " + round.getCharacter1Health()); + roundResults.add("Player 2 health: " + round.getCharacter2Health()); + roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); + roundResults.add("Player 1 minions total health: " + round.getCharacter1MinionTotalHealth()); + roundResults.add("Player 1 attack result: " + round.getCharacter1AttackResult() + " damage"); + roundResults.add("Player 2 attack result: " + round.getCharacter2AttackResult() + " damage"); + getMythArenaGui().setList(roundResults); + getMythArenaGui().setOption(0, null); + getMythArenaGui().setOption(1, null); + getMythArenaGui().setOption(2, null); + getMythArenaGui().setOption(3, "Back"); + // Exit round + if (getMythArenaGui().waitEvent(30) == 'D') { + closeRound = true; } - } else { - getMythArenaGui().setDescription("You must select a valid round to open!"); - getMythArenaGui().waitEvent(1); } + } else { + getMythArenaGui().setDescription("You must select a valid round to open!"); + getMythArenaGui().waitEvent(1); + } } else { getMythArenaGui().setDescription("You must select a round on the list to open!"); getMythArenaGui().waitEvent(2); } - } // Delete case 'C' -> { @@ -944,8 +945,12 @@ private void viewNotifications() { case 'D' -> exitResult = true; } } - }else { - getMythArenaGui().setDescription("Hi"); + // GeneralNotification + } else { + // what's up (~ ̄▽ ̄)~ + // getMythArenaGui().setDescription("Hi"); + getMythArenaGui().setDescription("General Notification Info"); + getMythArenaGui().waitEvent(2); } } else { getMythArenaGui().setDescription("You must select an item on the list to open!"); From 87444d31e37630227cb5e02799ae2bd3da8c7153 Mon Sep 17 00:00:00 2001 From: gutche Date: Sat, 9 Jul 2022 12:44:41 +0200 Subject: [PATCH 33/53] feat: check by value --- src/mytharena/command/PlayerMenu.java | 64 +++++++++++++++++++++++++++ src/mytharena/data/user/Player.java | 6 +++ 2 files changed, 70 insertions(+) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index a94a015..f37966e 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -234,6 +234,13 @@ private void sellMarket() { player.getCharacter().setMinionArrayList(minionList); } super.getData().getMarketOffers().add(new Offer(player, totalPrice, itemList)); + for (User user : getData().getUserArrayList()) { + if (user instanceof Player player) { + if (checkCompatibility(itemList, player)) { + player.notifyPlayer(); + } + } + } super.getArena().serializeData(); super.getMythArenaGui().setDescription("Offer successfully created!"); super.getMythArenaGui().waitEvent(3); @@ -295,6 +302,8 @@ private int itemPriceGetter() { return -1; } + + /** * Buy Market */ @@ -397,6 +406,61 @@ private void buyMarket() { } } + private boolean checkCompatibility(ArrayList> itemList, Player player) { + boolean compatible = false; + int i = 0; + while (!compatible && i < itemList.size()){ + if (itemList.get(i).get(0) instanceof Weapon) { + Map value = (Map) player.getMarketSubscriptions().get("Value"); + Map weaponSub = (Map) value.get("Weapon"); + for (Marketable item : itemList.get(i)) { + Weapon weapon = (Weapon) item; + Long attackLong = (Long) weaponSub.get("AttackModification"); + int attackModification = attackLong.intValue(); + Long defenseLong = (Long) weaponSub.get("DefenseModification"); + int defenseModification = defenseLong.intValue(); + compatible = weapon.getAttackModification() == attackModification; + if (compatible) break; + compatible = weapon.getDefenseModification() == defenseModification; + if (compatible) break; + } + + + } else if (itemList.get(i).get(0) instanceof Armor) { + Map value = (Map) player.getMarketSubscriptions().get("Value"); + Map armorSub = (Map) value.get("Armor"); + for (Marketable item : itemList.get(i)) { + Armor armor = (Armor) item; + Long attackLong = (Long) armorSub.get("AttackModification"); + if (attackLong != null) { + int attackModification = attackLong.intValue(); + compatible = armor.getAttackModification() == attackModification; + if (compatible) break; + } + + Long defenseLong = (Long) armorSub.get("DefenseModification"); + if (defenseLong != null) { + int defenseModification = defenseLong.intValue(); + compatible = armor.getDefenseModification() == defenseModification; + if (compatible) break; + } + + } + }else { + Map minionType = (Map) player.getMarketSubscriptions().get("Minion"); + ArrayList total = new ArrayList<>(); + ArrayList minionArrayList = itemList.get(i); + displayMinionPack((ArrayList) minionArrayList,total); + for (Minion minion : total) { + compatible = (boolean) minionType.get(minion.getClass()); + if (compatible) break; + } + } + i++; + } + return compatible; + } + /** * Displays minion pack recursive * @param minionPack ArrayList Minion minionPack diff --git a/src/mytharena/data/user/Player.java b/src/mytharena/data/user/Player.java index cc5a627..31c3c42 100644 --- a/src/mytharena/data/user/Player.java +++ b/src/mytharena/data/user/Player.java @@ -2,6 +2,7 @@ import mytharena.data.Data; import mytharena.data.character.factory.character.Character; +import mytharena.data.notification.GeneralNotification; import mytharena.data.notification.Notification; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; @@ -147,4 +148,9 @@ public JSONObject getMarketSubscriptions() { return this.marketSubscriptions; } + public void notifyPlayer() { + GeneralNotification notification = new GeneralNotification("An item in your wishlist is available on the market","A new offer has what you are looking for. Go check it out on the market!"); + getNotificationArrayList().add(notification); + } + } From 01fb9071b684af6ec5b202eca92473d098db7b4b Mon Sep 17 00:00:00 2001 From: gutche Date: Sat, 9 Jul 2022 12:55:55 +0200 Subject: [PATCH 34/53] fix: did the same for weapons --- src/mytharena/command/PlayerMenu.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index f37966e..c6f4f6a 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -416,16 +416,19 @@ private boolean checkCompatibility(ArrayList> itemList, Pl for (Marketable item : itemList.get(i)) { Weapon weapon = (Weapon) item; Long attackLong = (Long) weaponSub.get("AttackModification"); - int attackModification = attackLong.intValue(); + if (attackLong != null) { + int attackModification = attackLong.intValue(); + compatible = weapon.getAttackModification() == attackModification; + if (compatible) break; + } + Long defenseLong = (Long) weaponSub.get("DefenseModification"); - int defenseModification = defenseLong.intValue(); - compatible = weapon.getAttackModification() == attackModification; - if (compatible) break; - compatible = weapon.getDefenseModification() == defenseModification; - if (compatible) break; + if (defenseLong != null) { + int defenseModification = defenseLong.intValue(); + compatible = weapon.getDefenseModification() == defenseModification; + if (compatible) break; + } } - - } else if (itemList.get(i).get(0) instanceof Armor) { Map value = (Map) player.getMarketSubscriptions().get("Value"); Map armorSub = (Map) value.get("Armor"); From c3e76498bbffb1328ac714dc634f66f98af43634 Mon Sep 17 00:00:00 2001 From: gutche Date: Sat, 9 Jul 2022 18:41:40 +0200 Subject: [PATCH 35/53] feat: notifyPlayer() fully done --- src/mytharena/Arena.java | 8 +++--- src/mytharena/command/PlayerMenu.java | 26 ++++++++++++++++--- .../character/inventory/equipment/Armor.java | 4 +-- .../inventory/equipment/Equipment.java | 9 ++++++- .../character/inventory/equipment/Weapon.java | 14 +--------- 5 files changed, 37 insertions(+), 24 deletions(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index ea0e916..422cdf8 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -71,10 +71,10 @@ public void start() { // default admin account this.data.getUserArrayList().add(new Admin("admin", "admin123", this.data)); // armor pool - this.data.getArmorPool().add(new Armor("Platemail", 0, 2)); - this.data.getArmorPool().add(new Armor("Chainmail", 0, 1)); - this.data.getArmorPool().add(new Armor("Blademail", 3, 2)); - this.data.getArmorPool().add(new Armor("Cuirass", 0, 3)); + this.data.getArmorPool().add(new Armor("Platemail", 0, 2,"Normal")); + this.data.getArmorPool().add(new Armor("Chainmail", 0, 1,"Normal")); + this.data.getArmorPool().add(new Armor("Blademail", 3, 2,"Epic")); + this.data.getArmorPool().add(new Armor("Cuirass", 0, 3,"Legendary")); // weapon pool this.data.getWeaponPool().add(new Weapon("Broadsword", 1, 0, false, "Normal")); this.data.getWeaponPool().add(new Weapon("Claymore", 1, 1, false, "Epic")); diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index c6f4f6a..ffc3e71 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -428,6 +428,10 @@ private boolean checkCompatibility(ArrayList> itemList, Pl compatible = weapon.getDefenseModification() == defenseModification; if (compatible) break; } + Map raritySub = (Map) player.getMarketSubscriptions().get("Rarity"); + compatible = (boolean) raritySub.get(weapon.getRarity()); + if (compatible) break; + } } else if (itemList.get(i).get(0) instanceof Armor) { Map value = (Map) player.getMarketSubscriptions().get("Value"); @@ -447,7 +451,9 @@ private boolean checkCompatibility(ArrayList> itemList, Pl compatible = armor.getDefenseModification() == defenseModification; if (compatible) break; } - + Map raritySub = (Map) player.getMarketSubscriptions().get("Rarity"); + compatible = (boolean) raritySub.get(armor.getRarity()); + if (compatible) break; } }else { Map minionType = (Map) player.getMarketSubscriptions().get("Minion"); @@ -937,7 +943,6 @@ private void viewNotifications() { Notification notification = player.getNotificationArrayList().get(getMythArenaGui().getLastSelectedListIndex()); ArrayList notificationContent = new ArrayList<>(); notificationContent.add(notification.getTitle()); - notificationContent.add(notification.getBody()); getMythArenaGui().setList(notificationContent); // Accept/Decline options added for PendingCombatNotification. if (notification instanceof PendingCombatNotification pendingCombatNotification) { @@ -1054,8 +1059,21 @@ private void viewNotifications() { } else { // what's up (~ ̄▽ ̄)~ // getMythArenaGui().setDescription("Hi"); - getMythArenaGui().setDescription("General Notification Info"); - getMythArenaGui().waitEvent(2); + boolean exitGeneralNotification = false; + while (!exitGeneralNotification) { + ArrayList display = new ArrayList<>(); + display.add(notification.getBody()); + getMythArenaGui().setList(display); + getMythArenaGui().setDescription("Notification Info"); + getMythArenaGui().setOption(0, null); + getMythArenaGui().setOption(1, null); + getMythArenaGui().setOption(2, null); + getMythArenaGui().setOption(3, "Back"); + + if (getMythArenaGui().waitEvent(30) == 'D') { + exitGeneralNotification = true; + } + } } } else { getMythArenaGui().setDescription("You must select an item on the list to open!"); diff --git a/src/mytharena/data/character/inventory/equipment/Armor.java b/src/mytharena/data/character/inventory/equipment/Armor.java index 42183d6..fb64eab 100644 --- a/src/mytharena/data/character/inventory/equipment/Armor.java +++ b/src/mytharena/data/character/inventory/equipment/Armor.java @@ -13,8 +13,8 @@ public class Armor extends Equipment implements Serializable { * @param attackModification int attackModification * @param defenseModification int defenseModification */ - public Armor(String name, int attackModification, int defenseModification) { - super(name, attackModification, defenseModification); + public Armor(String name, int attackModification, int defenseModification, String rarity) { + super(name, attackModification, defenseModification,rarity); } } diff --git a/src/mytharena/data/character/inventory/equipment/Equipment.java b/src/mytharena/data/character/inventory/equipment/Equipment.java index 8768068..cb5951f 100644 --- a/src/mytharena/data/character/inventory/equipment/Equipment.java +++ b/src/mytharena/data/character/inventory/equipment/Equipment.java @@ -22,16 +22,19 @@ public abstract class Equipment extends Marketable implements Serializable { */ private final int defenseModification; + private final String rarity; + /** * Equipment abstract class constructor * @param name String name * @param attackModification int attackModification * @param defenseModification int defenseModification */ - public Equipment(String name, int attackModification, int defenseModification) { + public Equipment(String name, int attackModification, int defenseModification, String rarity) { this.name = name; this.attackModification = attackModification; this.defenseModification = defenseModification; + this.rarity = rarity; } /** @@ -58,4 +61,8 @@ public int getDefenseModification() { return this.defenseModification; } + public String getRarity() { + return rarity; + } + } diff --git a/src/mytharena/data/character/inventory/equipment/Weapon.java b/src/mytharena/data/character/inventory/equipment/Weapon.java index c86125b..4c76512 100644 --- a/src/mytharena/data/character/inventory/equipment/Weapon.java +++ b/src/mytharena/data/character/inventory/equipment/Weapon.java @@ -11,10 +11,6 @@ public class Weapon extends Equipment implements Serializable { * boolean twoHands */ private final boolean twoHands; - /** - * String rarity - */ - private final String rarity; /** * Weapon class constructor extends Equipment @@ -25,9 +21,8 @@ public class Weapon extends Equipment implements Serializable { * @param rarity String rarity */ public Weapon(String name, int attackModification, int defenseModification, boolean twoHands, String rarity) { - super(name, attackModification, defenseModification); + super(name, attackModification, defenseModification,rarity); this.twoHands = twoHands; - this.rarity = rarity; } /** @@ -38,12 +33,5 @@ public boolean isTwoHands() { return this.twoHands; } - /** - * Gets String rarity - * @return String rarity - */ - public String getRarity() { - return this.rarity; - } } From 7f76c5bc2b1896de7acd44350847192964f29da4 Mon Sep 17 00:00:00 2001 From: gutche Date: Sat, 9 Jul 2022 22:46:13 +0200 Subject: [PATCH 36/53] fix: check compatibility fully done --- src/mytharena/command/PlayerMenu.java | 63 +++++++++++++++++++-------- src/mytharena/data/user/Player.java | 3 -- 2 files changed, 45 insertions(+), 21 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index ffc3e71..975582b 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -25,6 +25,7 @@ import mytharena.gui.MythArenaGui; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; import java.io.IOException; import java.util.*; @@ -233,11 +234,12 @@ private void sellMarket() { itemList.add(minionPack); player.getCharacter().setMinionArrayList(minionList); } - super.getData().getMarketOffers().add(new Offer(player, totalPrice, itemList)); + Offer offer = new Offer(player, totalPrice, itemList); + super.getData().getMarketOffers().add(offer); for (User user : getData().getUserArrayList()) { - if (user instanceof Player player) { - if (checkCompatibility(itemList, player)) { - player.notifyPlayer(); + if (user instanceof Player buyer) { + if (checkCompatibility(offer, buyer)) { + buyer.notifyPlayer(); } } } @@ -350,12 +352,12 @@ private void buyMarket() { ArrayList total = new ArrayList<>(); displayMinionPack(demon.getMinionArrayList(), total); for (Minion minion1 : total) { - offerList.add("Minion type: " + minion1.getClass().toString() + + offerList.add("Minion type: " + minion1.getClass().getSimpleName() + " || Health: " + minion1.getHealth() ); } } else { - offerList.add("Minion type: " + minion.getClass().toString() + + offerList.add("Minion type: " + minion.getClass().getSimpleName() + " || Health: " + minion.getHealth() ); } @@ -406,14 +408,38 @@ private void buyMarket() { } } - private boolean checkCompatibility(ArrayList> itemList, Player player) { + private boolean checkCompatibility(Offer offer, Player player) { boolean compatible = false; - int i = 0; - while (!compatible && i < itemList.size()){ - if (itemList.get(i).get(0) instanceof Weapon) { + for (ArrayList itemList : offer.getItemList()){ + // Check character type + Map characterSub = (Map) player.getMarketSubscriptions().get("Character"); + compatible = (boolean) characterSub.get(offer.getSeller().getCharacter().getClass().getSimpleName()); + if (compatible) break; + + // Check item type + Map typeSub = (Map) player.getMarketSubscriptions().get("Type"); + compatible = (boolean) typeSub.get(itemList.get(0).getClass().getSimpleName()); + if (compatible) break; + + // Check if within price range + + JSONObject priceRangeSub = (JSONObject) player.getMarketSubscriptions().get("Price"); + Iterator x = priceRangeSub.values().iterator(); + JSONArray jsonArray = new JSONArray(); + while (x.hasNext()) { + jsonArray.add(x.next()); + } + Long minLong = (Long) jsonArray.get(0); + Long maxLong = (Long) jsonArray.get(1); + compatible = offer.getPrice() >= minLong.intValue() && offer.getPrice() <= maxLong.intValue(); + if (compatible) break; + + //Checks depending on item type + if (itemList.get(0) instanceof Weapon) { + //Check weapon values Map value = (Map) player.getMarketSubscriptions().get("Value"); Map weaponSub = (Map) value.get("Weapon"); - for (Marketable item : itemList.get(i)) { + for (Marketable item : itemList) { Weapon weapon = (Weapon) item; Long attackLong = (Long) weaponSub.get("AttackModification"); if (attackLong != null) { @@ -428,15 +454,17 @@ private boolean checkCompatibility(ArrayList> itemList, Pl compatible = weapon.getDefenseModification() == defenseModification; if (compatible) break; } + + //Check weapon rarity Map raritySub = (Map) player.getMarketSubscriptions().get("Rarity"); compatible = (boolean) raritySub.get(weapon.getRarity()); if (compatible) break; - } - } else if (itemList.get(i).get(0) instanceof Armor) { + } else if (itemList.get(0) instanceof Armor) { + // Check armor values Map value = (Map) player.getMarketSubscriptions().get("Value"); Map armorSub = (Map) value.get("Armor"); - for (Marketable item : itemList.get(i)) { + for (Marketable item : itemList) { Armor armor = (Armor) item; Long attackLong = (Long) armorSub.get("AttackModification"); if (attackLong != null) { @@ -444,7 +472,6 @@ private boolean checkCompatibility(ArrayList> itemList, Pl compatible = armor.getAttackModification() == attackModification; if (compatible) break; } - Long defenseLong = (Long) armorSub.get("DefenseModification"); if (defenseLong != null) { int defenseModification = defenseLong.intValue(); @@ -456,16 +483,16 @@ private boolean checkCompatibility(ArrayList> itemList, Pl if (compatible) break; } }else { + //Check minion types Map minionType = (Map) player.getMarketSubscriptions().get("Minion"); ArrayList total = new ArrayList<>(); - ArrayList minionArrayList = itemList.get(i); + ArrayList minionArrayList = itemList; displayMinionPack((ArrayList) minionArrayList,total); for (Minion minion : total) { - compatible = (boolean) minionType.get(minion.getClass()); + compatible = (boolean) minionType.get(minion.getClass().getSimpleName()); if (compatible) break; } } - i++; } return compatible; } diff --git a/src/mytharena/data/user/Player.java b/src/mytharena/data/user/Player.java index 31c3c42..34065ab 100644 --- a/src/mytharena/data/user/Player.java +++ b/src/mytharena/data/user/Player.java @@ -5,10 +5,7 @@ import mytharena.data.notification.GeneralNotification; import mytharena.data.notification.Notification; import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; -import java.io.FileReader; -import java.io.Reader; import java.io.Serializable; import java.util.ArrayList; From 10b1c7e627a73d62ec2a2db439cf9d417ebd1714 Mon Sep 17 00:00:00 2001 From: gutche Date: Sat, 9 Jul 2022 23:39:56 +0200 Subject: [PATCH 37/53] fix: buy market not exiting after purchase --- src/mytharena/command/PlayerMenu.java | 60 +++++++++++++++------------ 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 975582b..f9371c9 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -25,7 +25,6 @@ import mytharena.gui.MythArenaGui; import org.json.simple.JSONArray; import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; import java.io.IOException; import java.util.*; @@ -173,7 +172,9 @@ private void sellMarket() { } // minions if (!minionList.isEmpty()) { - displayList.add("Minions: " + minionList.size()); + ArrayList total = new ArrayList<>(); + displayMinionPack(minionList,total); + displayList.add("Minions: " + total.size()); } // list itself super.getMythArenaGui().setListMode(); @@ -372,26 +373,14 @@ private void buyMarket() { exitOffer = true; } else { if (offer.getPrice() <= player.getCharacter().getGold()) { - for (ArrayList pack : offer.getItemList()) { - if (pack.get(0) instanceof Weapon) { - player.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); - } else if (pack.get(0) instanceof Armor) { - player.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); - } else { - player.getCharacter().getMinionArrayList().addAll((ArrayList) pack); - } - } - getData().getMarketOffers().remove(offer); - offer.setBuyer(player); - getData().getPurchasedOffers().add(offer); - player.getCharacter().setGold(player.getCharacter().getGold()-offer.getPrice()); - offer.getSeller().getCharacter().setGold(offer.getSeller().getCharacter().getGold()+offer.getPrice()); + transferItems(offer,player); getMythArenaGui().setDescription("Purchased successfully"); try { getArena().serializeData(); } catch (IOException e) { e.printStackTrace(); } + exitOffer = true; } else { getMythArenaGui().setDescription("You don't have enough gold!"); getMythArenaGui().waitEvent(3); @@ -408,6 +397,23 @@ private void buyMarket() { } } + private void transferItems(Offer offer, Player buyer) { + for (ArrayList pack : offer.getItemList()) { + if (pack.get(0) instanceof Weapon) { + buyer.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); + } else if (pack.get(0) instanceof Armor) { + buyer.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); + } else { + buyer.getCharacter().getMinionArrayList().addAll((ArrayList) pack); + } + } + getData().getMarketOffers().remove(offer); + offer.setBuyer(buyer); + getData().getPurchasedOffers().add(offer); + buyer.getCharacter().setGold(buyer.getCharacter().getGold()-offer.getPrice()); + offer.getSeller().getCharacter().setGold(offer.getSeller().getCharacter().getGold()+offer.getPrice()); + } + private boolean checkCompatibility(Offer offer, Player player) { boolean compatible = false; for (ArrayList itemList : offer.getItemList()){ @@ -418,19 +424,19 @@ private boolean checkCompatibility(Offer offer, Player player) { // Check item type Map typeSub = (Map) player.getMarketSubscriptions().get("Type"); - compatible = (boolean) typeSub.get(itemList.get(0).getClass().getSimpleName()); - if (compatible) break; + if (typeSub.get(itemList.get(0).getClass().getSimpleName()) != null) { + compatible = (boolean) typeSub.get(itemList.get(0).getClass().getSimpleName()); + if (compatible) break; + }else { + compatible = (boolean) typeSub.get("Minion"); + if (compatible) break; + } - // Check if within price range - JSONObject priceRangeSub = (JSONObject) player.getMarketSubscriptions().get("Price"); - Iterator x = priceRangeSub.values().iterator(); - JSONArray jsonArray = new JSONArray(); - while (x.hasNext()) { - jsonArray.add(x.next()); - } - Long minLong = (Long) jsonArray.get(0); - Long maxLong = (Long) jsonArray.get(1); + // Check if within price range + JSONArray priceRangeSub = (JSONArray) player.getMarketSubscriptions().get("Price"); + Long minLong = (Long) priceRangeSub.get(0); + Long maxLong = (Long) priceRangeSub.get(1); compatible = offer.getPrice() >= minLong.intValue() && offer.getPrice() <= maxLong.intValue(); if (compatible) break; From 086c77e7eb6abc211b614b3ba41903f95ead83ac Mon Sep 17 00:00:00 2001 From: gutche Date: Sun, 10 Jul 2022 00:07:52 +0200 Subject: [PATCH 38/53] fix: displayMinionPack not working properly --- src/mytharena/command/PlayerMenu.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index f9371c9..56799b5 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -352,6 +352,7 @@ private void buyMarket() { if (minion instanceof Demon demon) { ArrayList total = new ArrayList<>(); displayMinionPack(demon.getMinionArrayList(), total); + total.add(demon); for (Minion minion1 : total) { offerList.add("Minion type: " + minion1.getClass().getSimpleName() + " || Health: " + minion1.getHealth() @@ -512,6 +513,7 @@ private void displayMinionPack(ArrayList minionPack, ArrayList t for (Minion minion : minionPack) { if (minion instanceof Demon demon) { displayMinionPack(demon.getMinionArrayList(), total); + total.add(demon); } else { total.add(minion); } @@ -1083,6 +1085,7 @@ private void viewNotifications() { } catch (IOException e) { e.printStackTrace(); } + exitResult = true; } // Exit notification case 'D' -> exitResult = true; @@ -1100,10 +1103,18 @@ private void viewNotifications() { getMythArenaGui().setDescription("Notification Info"); getMythArenaGui().setOption(0, null); getMythArenaGui().setOption(1, null); - getMythArenaGui().setOption(2, null); - getMythArenaGui().setOption(3, "Back"); - - if (getMythArenaGui().waitEvent(30) == 'D') { + getMythArenaGui().setOption(2, "Back"); + getMythArenaGui().setOption(3, "Delete"); + char c = getMythArenaGui().waitEvent(30); + if (c == 'C') { + exitGeneralNotification = true; + }else if(c == 'D') { + player.getNotificationArrayList().remove(notification); + try { + getArena().serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } exitGeneralNotification = true; } } From bf65002ad3d693fae1f71dc9575f3eb9b1d6ddfb Mon Sep 17 00:00:00 2001 From: gutche Date: Sun, 10 Jul 2022 00:10:42 +0200 Subject: [PATCH 39/53] fix: not displaying successful purchase after buying --- src/mytharena/command/PlayerMenu.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 56799b5..db14d30 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -376,6 +376,7 @@ private void buyMarket() { if (offer.getPrice() <= player.getCharacter().getGold()) { transferItems(offer,player); getMythArenaGui().setDescription("Purchased successfully"); + getMythArenaGui().waitEvent(2); try { getArena().serializeData(); } catch (IOException e) { From cf25fb16b5c7bbe227ecf900f3d69cc2406f1df2 Mon Sep 17 00:00:00 2001 From: gutche Date: Sun, 10 Jul 2022 00:16:13 +0200 Subject: [PATCH 40/53] feat: update test methods --- src/test/PlayerMenuTest.java | 46 +++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java index 08cfcf0..11e40f4 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerMenuTest.java @@ -5,6 +5,9 @@ import mytharena.data.character.factory.character.Character; import mytharena.data.character.factory.character.vampire.Vampire; import mytharena.data.character.factory.character.vampire.VampireFactory; +import mytharena.data.character.factory.character.werewolf.WerewolfFactory; +import mytharena.data.character.factory.minion.demon.Demon; +import mytharena.data.character.factory.minion.demon.DemonFactory; import mytharena.data.user.Player; import org.junit.Test; @@ -20,17 +23,44 @@ public void testCreateCharacter() { assertTrue(vampire.getAbility() instanceof Discipline); assertEquals(vampire.getWeaknessArrayList().get(0).getName(), "Luz solar"); assertEquals(((Vampire) vampire).getBloodPoints(), 0); + assertEquals(3, vampire.getInventory().getWeaponArrayList().size()); + assertEquals(3, vampire.getInventory().getArmorArrayList().size()); + assertNotNull(vampire.getEquippedWeaponArrayList()); + assertNotNull(vampire.getArmor()); } @Test - public void testDeleteCharacter() { - Player player = new Player("gled","gled",new Data(),"gled"); - VampireFactory vampireFactory = new VampireFactory(new Data()); - Character vampire = vampireFactory.createCharacter(); - player.setCharacter(vampire); - assertNotNull(player.getCharacter()); - player.setCharacter(null); - assertNull(player.getCharacter()); + public void testGetGold() { + WerewolfFactory werewolfFactory = new WerewolfFactory(new Data()); + Character werewolf = werewolfFactory.createCharacter(); + assertEquals(100, werewolf.getGold()); + } + + @Test + public void testCreateMinion() { + DemonFactory demonFactory = new DemonFactory(); + Demon demon = (Demon) demonFactory.createMinion(); + assertTrue(demon.getHealth() < 4); + assertTrue(demon.getMinionArrayList().size() < 4); + } + + @Test + public void testNotifyPlayer() { + + } + + @Test + public void testTransferItems() { + + } + + @Test + public void testDisplayMinionPack() { + } + @Test + public void testCheckCompatability() { + + } } From d853a53f69cd21e9809e0b157680c57fbf70fc38 Mon Sep 17 00:00:00 2001 From: gutche Date: Sun, 10 Jul 2022 01:08:36 +0200 Subject: [PATCH 41/53] feat: undone tests --- src/mytharena/command/PlayerMenu.java | 2 +- src/test/PlayerMenuTest.java | 31 ++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index db14d30..6505ae1 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -399,7 +399,7 @@ private void buyMarket() { } } - private void transferItems(Offer offer, Player buyer) { + public void transferItems(Offer offer, Player buyer) { for (ArrayList pack : offer.getItemList()) { if (pack.get(0) instanceof Weapon) { buyer.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java index 11e40f4..98acd85 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerMenuTest.java @@ -1,6 +1,9 @@ package test; +import mytharena.Arena; +import mytharena.command.PlayerMenu; import mytharena.data.Data; +import mytharena.data.character.Marketable; import mytharena.data.character.ability.Discipline; import mytharena.data.character.factory.character.Character; import mytharena.data.character.factory.character.vampire.Vampire; @@ -8,9 +11,14 @@ import mytharena.data.character.factory.character.werewolf.WerewolfFactory; import mytharena.data.character.factory.minion.demon.Demon; import mytharena.data.character.factory.minion.demon.DemonFactory; +import mytharena.data.character.inventory.equipment.Equipment; +import mytharena.data.market.Offer; import mytharena.data.user.Player; +import mytharena.gui.MythArenaGui; import org.junit.Test; +import java.util.ArrayList; + import static junit.framework.TestCase.*; public class PlayerMenuTest { @@ -46,12 +54,33 @@ public void testCreateMinion() { @Test public void testNotifyPlayer() { - + Player player = new Player("gledrian","gledrian",new Data(),"gledrian"); + assertEquals(0,player.getNotificationArrayList().size()); + player.notifyPlayer(); + player.notifyPlayer(); + player.notifyPlayer(); + assertEquals(3, player.getNotificationArrayList().size()); } @Test public void testTransferItems() { + Arena arena = new Arena(); + Data data = new Data(); + MythArenaGui mythArenaGui = new MythArenaGui(); + PlayerMenu playerMenu = new PlayerMenu(arena, data, mythArenaGui); + Player player1 = new Player("gledrian","gledrian",data, "gledrian"); + VampireFactory vampireFactory = new VampireFactory(new Data()); + Character vampire = vampireFactory.createCharacter(); + player1.setCharacter(vampire); + + Player player2 = new Player("alejandro", "alejandro",data, "alejandro"); + WerewolfFactory werewolfFactory = new WerewolfFactory(new Data()); + Character werewolf = werewolfFactory.createCharacter(); + player2.setCharacter(werewolf); + ArrayList> itemList = new ArrayList<>((ArrayList) player1.getCharacter().getInventory().getWeaponArrayList()); + Offer offer = new Offer(player1,20,itemList); + playerMenu.transferItems(offer, player2); } @Test From 471d0121083775777f1908d454ff3076a078c2b6 Mon Sep 17 00:00:00 2001 From: gutche Date: Sun, 10 Jul 2022 18:19:47 +0200 Subject: [PATCH 42/53] feat: testTransferItems done --- src/test/PlayerMenuTest.java | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java index 98acd85..0983717 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerMenuTest.java @@ -11,7 +11,9 @@ import mytharena.data.character.factory.character.werewolf.WerewolfFactory; import mytharena.data.character.factory.minion.demon.Demon; import mytharena.data.character.factory.minion.demon.DemonFactory; +import mytharena.data.character.inventory.equipment.Armor; import mytharena.data.character.inventory.equipment.Equipment; +import mytharena.data.character.inventory.equipment.Weapon; import mytharena.data.market.Offer; import mytharena.data.user.Player; import mytharena.gui.MythArenaGui; @@ -66,21 +68,41 @@ public void testNotifyPlayer() { public void testTransferItems() { Arena arena = new Arena(); Data data = new Data(); + data.getArmorPool().add(new Armor("Platemail", 0, 2,"Normal")); + data.getArmorPool().add(new Armor("Chainmail", 0, 1,"Normal")); + data.getArmorPool().add(new Armor("Blademail", 3, 2,"Epic")); + data.getArmorPool().add(new Armor("Cuirass", 0, 3,"Legendary")); + // weapon pool + data.getWeaponPool().add(new Weapon("Broadsword", 1, 0, false, "Normal")); + data.getWeaponPool().add(new Weapon("Claymore", 1, 1, false, "Epic")); + data.getWeaponPool().add(new Weapon("Katana", 2, 0, false, "Legendary")); + data.getWeaponPool().add(new Weapon("Axe", 2, 2, true, "Normal")); + data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); MythArenaGui mythArenaGui = new MythArenaGui(); PlayerMenu playerMenu = new PlayerMenu(arena, data, mythArenaGui); Player player1 = new Player("gledrian","gledrian",data, "gledrian"); - VampireFactory vampireFactory = new VampireFactory(new Data()); + VampireFactory vampireFactory = new VampireFactory(data); Character vampire = vampireFactory.createCharacter(); player1.setCharacter(vampire); Player player2 = new Player("alejandro", "alejandro",data, "alejandro"); - WerewolfFactory werewolfFactory = new WerewolfFactory(new Data()); + WerewolfFactory werewolfFactory = new WerewolfFactory(data); Character werewolf = werewolfFactory.createCharacter(); player2.setCharacter(werewolf); - ArrayList> itemList = new ArrayList<>((ArrayList) player1.getCharacter().getInventory().getWeaponArrayList()); + ArrayList weapons = new ArrayList<>(player1.getCharacter().getInventory().getWeaponArrayList()); + ArrayList marketables = new ArrayList<>(weapons); + ArrayList> itemList = new ArrayList<>(); + itemList.add(marketables); + + assertEquals(3, player2.getCharacter().getInventory().getWeaponArrayList().size()); Offer offer = new Offer(player1,20,itemList); + assertNull(offer.getBuyer()); + playerMenu.transferItems(offer, player2); + + assertEquals(player2.getCharacter().getInventory().getWeaponArrayList().size(),6); + assertNotNull(offer.getBuyer()); } @Test From c0f60ce3c08caf43d8235f2d3f3013c6d238e577 Mon Sep 17 00:00:00 2001 From: gutche Date: Sun, 10 Jul 2022 18:39:46 +0200 Subject: [PATCH 43/53] feat: testDisplayMinionPack done --- src/mytharena/command/PlayerMenu.java | 4 ++-- src/test/PlayerMenuTest.java | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 6505ae1..7714c5a 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -416,7 +416,7 @@ public void transferItems(Offer offer, Player buyer) { offer.getSeller().getCharacter().setGold(offer.getSeller().getCharacter().getGold()+offer.getPrice()); } - private boolean checkCompatibility(Offer offer, Player player) { + public boolean checkCompatibility(Offer offer, Player player) { boolean compatible = false; for (ArrayList itemList : offer.getItemList()){ // Check character type @@ -510,7 +510,7 @@ private boolean checkCompatibility(Offer offer, Player player) { * @param minionPack ArrayList Minion minionPack * @param total ArrayList Minion total */ - private void displayMinionPack(ArrayList minionPack, ArrayList total) { + public void displayMinionPack(ArrayList minionPack, ArrayList total) { for (Minion minion : minionPack) { if (minion instanceof Demon demon) { displayMinionPack(demon.getMinionArrayList(), total); diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java index 0983717..2b10e64 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerMenuTest.java @@ -9,8 +9,11 @@ import mytharena.data.character.factory.character.vampire.Vampire; import mytharena.data.character.factory.character.vampire.VampireFactory; import mytharena.data.character.factory.character.werewolf.WerewolfFactory; +import mytharena.data.character.factory.minion.Minion; import mytharena.data.character.factory.minion.demon.Demon; import mytharena.data.character.factory.minion.demon.DemonFactory; +import mytharena.data.character.factory.minion.ghoul.Ghoul; +import mytharena.data.character.factory.minion.human.Human; import mytharena.data.character.inventory.equipment.Armor; import mytharena.data.character.inventory.equipment.Equipment; import mytharena.data.character.inventory.equipment.Weapon; @@ -68,6 +71,8 @@ public void testNotifyPlayer() { public void testTransferItems() { Arena arena = new Arena(); Data data = new Data(); + MythArenaGui mythArenaGui = new MythArenaGui(); + data.getArmorPool().add(new Armor("Platemail", 0, 2,"Normal")); data.getArmorPool().add(new Armor("Chainmail", 0, 1,"Normal")); data.getArmorPool().add(new Armor("Blademail", 3, 2,"Epic")); @@ -78,7 +83,7 @@ public void testTransferItems() { data.getWeaponPool().add(new Weapon("Katana", 2, 0, false, "Legendary")); data.getWeaponPool().add(new Weapon("Axe", 2, 2, true, "Normal")); data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); - MythArenaGui mythArenaGui = new MythArenaGui(); + PlayerMenu playerMenu = new PlayerMenu(arena, data, mythArenaGui); Player player1 = new Player("gledrian","gledrian",data, "gledrian"); VampireFactory vampireFactory = new VampireFactory(data); @@ -107,7 +112,18 @@ public void testTransferItems() { @Test public void testDisplayMinionPack() { - + Arena arena = new Arena(); + Data data = new Data(); + MythArenaGui mythArenaGui = new MythArenaGui(); + PlayerMenu playerMenu = new PlayerMenu(arena,data,mythArenaGui); + + ArrayList minionArrayList = new ArrayList<>(); + ArrayList total = new ArrayList<>(); + minionArrayList.add(new Human()); + minionArrayList.add(new Ghoul()); + minionArrayList.add(new Ghoul()); + playerMenu.displayMinionPack(minionArrayList,total); + assertEquals(3, total.size()); } @Test From 35b76e259c4eeac61660223ca19f104eb35c2c02 Mon Sep 17 00:00:00 2001 From: gutche Date: Sun, 10 Jul 2022 18:51:07 +0200 Subject: [PATCH 44/53] feat: testCheckCompatability done --- src/test/PlayerMenuTest.java | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java index 2b10e64..7b451f8 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerMenuTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import java.util.ArrayList; +import java.util.Map; import static junit.framework.TestCase.*; @@ -74,14 +75,6 @@ public void testTransferItems() { MythArenaGui mythArenaGui = new MythArenaGui(); data.getArmorPool().add(new Armor("Platemail", 0, 2,"Normal")); - data.getArmorPool().add(new Armor("Chainmail", 0, 1,"Normal")); - data.getArmorPool().add(new Armor("Blademail", 3, 2,"Epic")); - data.getArmorPool().add(new Armor("Cuirass", 0, 3,"Legendary")); - // weapon pool - data.getWeaponPool().add(new Weapon("Broadsword", 1, 0, false, "Normal")); - data.getWeaponPool().add(new Weapon("Claymore", 1, 1, false, "Epic")); - data.getWeaponPool().add(new Weapon("Katana", 2, 0, false, "Legendary")); - data.getWeaponPool().add(new Weapon("Axe", 2, 2, true, "Normal")); data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); PlayerMenu playerMenu = new PlayerMenu(arena, data, mythArenaGui); @@ -128,6 +121,33 @@ public void testDisplayMinionPack() { @Test public void testCheckCompatability() { + Arena arena = new Arena(); + Data data = new Data(); + MythArenaGui mythArenaGui = new MythArenaGui(); + PlayerMenu playerMenu = new PlayerMenu(arena, data, mythArenaGui); + + data.getArmorPool().add(new Armor("Cuirass", 0, 3,"Legendary")); + data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); + + Player player1 = new Player("gledrian","gledrian",data, "gledrian"); + VampireFactory vampireFactory = new VampireFactory(data); + Character vampire = vampireFactory.createCharacter(); + player1.setCharacter(vampire); + + Player player2 = new Player("alejandro", "alejandro",data, "alejandro"); + WerewolfFactory werewolfFactory = new WerewolfFactory(data); + Character werewolf = werewolfFactory.createCharacter(); + player2.setCharacter(werewolf); + ArrayList weapons = new ArrayList<>(player1.getCharacter().getInventory().getWeaponArrayList()); + ArrayList marketables = new ArrayList<>(weapons); + ArrayList> itemList = new ArrayList<>(); + itemList.add(marketables); + + Offer offer = new Offer(player1,20,itemList); + assertFalse(playerMenu.checkCompatibility(offer,player2)); + Map typeSub = (Map) player2.getMarketSubscriptions().get("Type"); + typeSub.put("Weapon", true); + assertTrue(playerMenu.checkCompatibility(offer,player2)); } } From da77cfe6015b91c5cfb48fcaf39fbc63c8bb0a64 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 21:48:44 +0200 Subject: [PATCH 45/53] feat: admin validate market offers --- src/mytharena/Arena.java | 36 ++++++++ src/mytharena/command/AdminMenu.java | 113 +++++++++++++++++++++++--- src/mytharena/command/PlayerMenu.java | 33 ++------ src/mytharena/data/Data.java | 12 +++ src/test/ArenaTest.java | 5 -- src/test/PlayerMenuTest.java | 3 +- 6 files changed, 162 insertions(+), 40 deletions(-) delete mode 100644 src/test/ArenaTest.java diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index 422cdf8..590829e 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -2,6 +2,7 @@ import mytharena.command.*; import mytharena.data.Data; +import mytharena.data.character.Marketable; import mytharena.data.character.ability.Discipline; import mytharena.data.character.ability.Gift; import mytharena.data.character.ability.Talent; @@ -12,10 +13,12 @@ import mytharena.data.character.factory.minion.Minion; import mytharena.data.character.factory.minion.demon.Demon; import mytharena.data.character.inventory.equipment.Armor; +import mytharena.data.character.inventory.equipment.Equipment; import mytharena.data.character.inventory.equipment.Weapon; import mytharena.data.character.modifier.Modifier; import mytharena.data.combat.Combat; import mytharena.data.combat.Round; +import mytharena.data.market.Offer; import mytharena.data.notification.CombatResultsNotification; import mytharena.data.user.Admin; import mytharena.data.user.Player; @@ -149,6 +152,39 @@ public void deleteActiveUserMenu() { } } + /** + * Transfer market offer items to buyer or back to seller if offer was denied + * @param offer Offer offer + * @param player Player player => buyer or seller + */ + public void transferMarketOfferItems(Offer offer, Player player) { + try { + for (ArrayList pack : offer.getItemList()) { + if (pack.get(0) instanceof Weapon) { + player.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); + } else if (pack.get(0) instanceof Armor) { + player.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); + } else { + player.getCharacter().getMinionArrayList().addAll((ArrayList) pack); + } + } + // player = buyer + if (player != offer.getSeller()) { + offer.setBuyer(player); + this.data.getPurchasedOffers().add(offer); + player.getCharacter().setGold(player.getCharacter().getGold() - offer.getPrice()); + offer.getSeller().getCharacter().setGold(offer.getSeller().getCharacter().getGold() + offer.getPrice()); + this.data.getMarketOffers().remove(offer); + // player = seller + } else { + this.data.getPendingMarketOffers().remove(offer); + } + this.serializeData(); + } catch (IOException e) { + e.printStackTrace(); + } + } + /** * Serialize multiple elements * @param notValid StringBuilder notValid diff --git a/src/mytharena/command/AdminMenu.java b/src/mytharena/command/AdminMenu.java index 8abae19..9c94740 100644 --- a/src/mytharena/command/AdminMenu.java +++ b/src/mytharena/command/AdminMenu.java @@ -8,6 +8,7 @@ import mytharena.data.character.factory.character.vampire.Vampire; import mytharena.data.character.factory.character.werewolf.Werewolf; import mytharena.data.combat.PendingCombat; +import mytharena.data.market.Offer; import mytharena.data.notification.GeneralNotification; import mytharena.data.notification.PendingCombatNotification; import mytharena.data.user.Admin; @@ -45,8 +46,8 @@ public void execute() { super.getMythArenaGui().setOption(0, "Manage admins"); super.getMythArenaGui().setOption(1, "Manage players"); super.getMythArenaGui().setOption(2, "Validate combats"); - super.getMythArenaGui().setOption(3, "Manage characters"); - super.getMythArenaGui().setOption(4, null); + super.getMythArenaGui().setOption(3, "Validate market offers"); + super.getMythArenaGui().setOption(4, "Manage characters"); super.getMythArenaGui().setOption(5, null); super.getMythArenaGui().setOption(6, null); super.getMythArenaGui().setOption(7, null); @@ -59,8 +60,10 @@ public void execute() { case 'B' -> this.managePlayers(); // validate combats case 'C' -> this.validateCombats(); + // validate market offers + case 'D' -> this.validateMarketOffers(); // manage characters - case 'D' -> this.manageCharacters(); + case 'E' -> this.manageCharacters(); // log out case 'I' -> super.getArena().setActiveUser(null); // delete account @@ -294,15 +297,18 @@ private void validateCombats() { if (selected != -1) { PendingCombat pendingCombat = super.getData().getPendingCombatArrayList().get(selected); try { + super.getData().getPendingCombatArrayList().remove(pendingCombat); + super.getArena().serializeData(); // accepted combat notification for challenged pendingCombat.getChallenged().getNotificationArrayList().add(new PendingCombatNotification( - pendingCombat.getChallenger().getNickname() +" wants to challenge you to a battle", + pendingCombat.getChallenger().getNickname() + " wants to challenge you to a battle", "Gold at stake for this battle: " + pendingCombat.getBet(), pendingCombat.getChallenger(), pendingCombat.getBet() )); - super.getData().getPendingCombatArrayList().remove(pendingCombat); - super.getArena().serializeData(); - super.getMythArenaGui().setDescription("Approved selected combat: " + pendingCombat.getChallenger().getNickname() + " -> " + pendingCombat.getChallenged().getNickname()); + super.getMythArenaGui().setDescription( + "Approved selected combat: " + pendingCombat.getChallenger().getNickname() + + " -> " + pendingCombat.getChallenged().getNickname() + ); } catch (IOException e) { e.printStackTrace(); } @@ -323,6 +329,8 @@ private void validateCombats() { calendar.add(Calendar.DAY_OF_MONTH, 1); Date unBanDate = calendar.getTime(); super.getData().getBannedPlayerMap().put(pendingCombat.getChallenger(), unBanDate); + super.getData().getPendingCombatArrayList().remove(pendingCombat); + super.getArena().serializeData(); // 24h ban notification for challenger pendingCombat.getChallenger().getNotificationArrayList().add(new GeneralNotification( "Your pending combat has been denied", @@ -330,9 +338,10 @@ private void validateCombats() { pendingCombat.getChallenged().getCharacter().getGold() + " gold || " + "As a result you have been banned for 24h, until " + unBanDate )); - super.getData().getPendingCombatArrayList().remove(pendingCombat); - super.getArena().serializeData(); - super.getMythArenaGui().setDescription("Denied selected combat: " + pendingCombat.getChallenger().getNickname() + " -> " + pendingCombat.getChallenged().getNickname()); + super.getMythArenaGui().setDescription( + "Denied selected combat: " + pendingCombat.getChallenger().getNickname() + + " -> " + pendingCombat.getChallenged().getNickname() + ); } catch (IOException e) { e.printStackTrace(); } @@ -347,6 +356,90 @@ private void validateCombats() { } } + /** + * Validate Market Offers + */ + private void validateMarketOffers() { + boolean exit = false; + while (!exit) { + super.getMythArenaGui().setListMode(); + super.getMythArenaGui().setTitle("Market Offer Validator Tool"); + super.getMythArenaGui().setDescription("Select what you want to change"); + super.getMythArenaGui().setOption(0, "Approve selected offer"); + super.getMythArenaGui().setOption(1, "Deny selected offer"); + super.getMythArenaGui().setOption(2, "Back to Admin Menu"); + super.getMythArenaGui().setOption(3, null); + ArrayList pendingMarketOfferInfoArrayList = new ArrayList<>(); + for (Offer pendingMarketOffer : super.getData().getPendingMarketOffers()) { + pendingMarketOfferInfoArrayList.add( + pendingMarketOffer.getSeller().getNickname() + " : " + + pendingMarketOffer.getPrice() + " gold" + ); + } + super.getMythArenaGui().setList(pendingMarketOfferInfoArrayList); + switch (super.getMythArenaGui().waitEvent(30)) { + // approve selected offer + case 'A' -> { + int selected = super.getMythArenaGui().getLastSelectedListIndex(); + if (selected != -1) { + Offer pendingMarketOffer = super.getData().getPendingMarketOffers().get(selected); + try { + super.getData().getMarketOffers().add(pendingMarketOffer); + super.getData().getPendingMarketOffers().remove(pendingMarketOffer); + super.getArena().serializeData(); + pendingMarketOffer.getSeller().getNotificationArrayList().add(new GeneralNotification( + "Your market offer has been approved", + pendingMarketOffer.getSeller().getNickname() + " : " + + pendingMarketOffer.getPrice() + " gold offer" + )); + super.getMythArenaGui().setDescription( + "Approved selected market offer: " + + pendingMarketOffer.getSeller().getNickname() + " : " + + pendingMarketOffer.getPrice() + " gold" + ); + } catch (IOException e) { + e.printStackTrace(); + } + } else { + super.getMythArenaGui().setDescription("Please select one element of the list before continue"); + } + super.getMythArenaGui().waitEvent(1); + } + // deny selected combat + case 'B' -> { + int selected = super.getMythArenaGui().getLastSelectedListIndex(); + if (selected != -1) { + Offer pendingMarketOffer = super.getData().getPendingMarketOffers().get(selected); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + // adds 24h since current date, for unban date + calendar.add(Calendar.DAY_OF_MONTH, 1); + Date unBanDate = calendar.getTime(); + Player seller = pendingMarketOffer.getSeller(); + super.getData().getBannedPlayerMap().put(seller, unBanDate); + // serialize data stuff inside + super.getArena().transferMarketOfferItems(pendingMarketOffer, seller); + // 24h ban notification for seller + pendingMarketOffer.getSeller().getNotificationArrayList().add(new GeneralNotification( + "Your market offer has been denied", + "As a result you have been banned for 24h, until " + unBanDate + )); + super.getMythArenaGui().setDescription( + "Denied selected market offer: " + + pendingMarketOffer.getSeller().getNickname() + " : " + + pendingMarketOffer.getPrice() + " gold" + ); + } else { + super.getMythArenaGui().setDescription("Please select one element of the list before continue"); + } + super.getMythArenaGui().waitEvent(1); + } + // exit validate market offers + case 'C' -> exit = true; + } + } + } + /** * Manage Characters */ diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 7714c5a..202b4a2 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -236,7 +236,8 @@ private void sellMarket() { player.getCharacter().setMinionArrayList(minionList); } Offer offer = new Offer(player, totalPrice, itemList); - super.getData().getMarketOffers().add(offer); + super.getData().getPendingMarketOffers().add(offer); + // notify subscribers for (User user : getData().getUserArrayList()) { if (user instanceof Player buyer) { if (checkCompatibility(offer, buyer)) { @@ -374,14 +375,9 @@ private void buyMarket() { exitOffer = true; } else { if (offer.getPrice() <= player.getCharacter().getGold()) { - transferItems(offer,player); + getArena().transferMarketOfferItems(offer, player); getMythArenaGui().setDescription("Purchased successfully"); getMythArenaGui().waitEvent(2); - try { - getArena().serializeData(); - } catch (IOException e) { - e.printStackTrace(); - } exitOffer = true; } else { getMythArenaGui().setDescription("You don't have enough gold!"); @@ -399,23 +395,12 @@ private void buyMarket() { } } - public void transferItems(Offer offer, Player buyer) { - for (ArrayList pack : offer.getItemList()) { - if (pack.get(0) instanceof Weapon) { - buyer.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); - } else if (pack.get(0) instanceof Armor) { - buyer.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); - } else { - buyer.getCharacter().getMinionArrayList().addAll((ArrayList) pack); - } - } - getData().getMarketOffers().remove(offer); - offer.setBuyer(buyer); - getData().getPurchasedOffers().add(offer); - buyer.getCharacter().setGold(buyer.getCharacter().getGold()-offer.getPrice()); - offer.getSeller().getCharacter().setGold(offer.getSeller().getCharacter().getGold()+offer.getPrice()); - } - + /** + * Checks compatibility between offer and player subscriptions + * @param offer Offer offer + * @param player Player player + * @return boolean compatible + */ public boolean checkCompatibility(Offer offer, Player player) { boolean compatible = false; for (ArrayList itemList : offer.getItemList()){ diff --git a/src/mytharena/data/Data.java b/src/mytharena/data/Data.java index a4eb36f..e83111d 100644 --- a/src/mytharena/data/Data.java +++ b/src/mytharena/data/Data.java @@ -54,6 +54,10 @@ public class Data implements Serializable { * ArrayList Offer purchasedOffers */ private final ArrayList purchasedOffers = new ArrayList<>(); + /** + * ArrayList Offer pendingMarketOffers + */ + private final ArrayList pendingMarketOffers = new ArrayList<>(); /** * Gets ArrayList User userArrayList @@ -119,6 +123,14 @@ public ArrayList getPurchasedOffers() { return this.purchasedOffers; } + /** + * Gets ArrayList Offer pendingMarketOffers + * @return ArrayList Offer pendingMarketOffers + */ + public ArrayList getPendingMarketOffers() { + return this.pendingMarketOffers; + } + /** * Gets JSONObject defaultMarketSubscriptions * @return JSONObject defaultMarketSubscriptions diff --git a/src/test/ArenaTest.java b/src/test/ArenaTest.java deleted file mode 100644 index 32a11b0..0000000 --- a/src/test/ArenaTest.java +++ /dev/null @@ -1,5 +0,0 @@ -package test; - -public class ArenaTest { - -} diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java index 7b451f8..afe1d49 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerMenuTest.java @@ -97,7 +97,7 @@ public void testTransferItems() { Offer offer = new Offer(player1,20,itemList); assertNull(offer.getBuyer()); - playerMenu.transferItems(offer, player2); + arena.transferMarketOfferItems(offer, player2); assertEquals(player2.getCharacter().getInventory().getWeaponArrayList().size(),6); assertNotNull(offer.getBuyer()); @@ -150,4 +150,5 @@ public void testCheckCompatability() { typeSub.put("Weapon", true); assertTrue(playerMenu.checkCompatibility(offer,player2)); } + } From 63b12d571623147bc4b057bd3a6f76143b88e829 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 21:59:10 +0200 Subject: [PATCH 46/53] refactor: remove deny admin validate market offers ban --- src/mytharena/command/AdminMenu.java | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/mytharena/command/AdminMenu.java b/src/mytharena/command/AdminMenu.java index 9c94740..d0363b0 100644 --- a/src/mytharena/command/AdminMenu.java +++ b/src/mytharena/command/AdminMenu.java @@ -384,17 +384,19 @@ private void validateMarketOffers() { if (selected != -1) { Offer pendingMarketOffer = super.getData().getPendingMarketOffers().get(selected); try { + Player seller = pendingMarketOffer.getSeller(); super.getData().getMarketOffers().add(pendingMarketOffer); super.getData().getPendingMarketOffers().remove(pendingMarketOffer); super.getArena().serializeData(); + // notification for seller pendingMarketOffer.getSeller().getNotificationArrayList().add(new GeneralNotification( "Your market offer has been approved", - pendingMarketOffer.getSeller().getNickname() + " : " + + seller.getNickname() + " : " + pendingMarketOffer.getPrice() + " gold offer" )); super.getMythArenaGui().setDescription( "Approved selected market offer: " + - pendingMarketOffer.getSeller().getNickname() + " : " + + seller.getNickname() + " : " + pendingMarketOffer.getPrice() + " gold" ); } catch (IOException e) { @@ -405,28 +407,23 @@ private void validateMarketOffers() { } super.getMythArenaGui().waitEvent(1); } - // deny selected combat + // deny selected offer case 'B' -> { int selected = super.getMythArenaGui().getLastSelectedListIndex(); if (selected != -1) { Offer pendingMarketOffer = super.getData().getPendingMarketOffers().get(selected); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - // adds 24h since current date, for unban date - calendar.add(Calendar.DAY_OF_MONTH, 1); - Date unBanDate = calendar.getTime(); Player seller = pendingMarketOffer.getSeller(); - super.getData().getBannedPlayerMap().put(seller, unBanDate); // serialize data stuff inside super.getArena().transferMarketOfferItems(pendingMarketOffer, seller); - // 24h ban notification for seller + // notification for seller pendingMarketOffer.getSeller().getNotificationArrayList().add(new GeneralNotification( "Your market offer has been denied", - "As a result you have been banned for 24h, until " + unBanDate + seller.getNickname() + " : " + + pendingMarketOffer.getPrice() + " gold offer" )); super.getMythArenaGui().setDescription( "Denied selected market offer: " + - pendingMarketOffer.getSeller().getNickname() + " : " + + seller.getNickname() + " : " + pendingMarketOffer.getPrice() + " gold" ); } else { From 5c09032cd33f447668a1f7e86b61dc8ebce5321d Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 22:38:39 +0200 Subject: [PATCH 47/53] test: fix player menu tests --- src/mytharena/Arena.java | 180 +++++++++++++++++++++----- src/mytharena/MythArena.java | 2 +- src/mytharena/command/AdminMenu.java | 33 +++-- src/mytharena/command/PlayerMenu.java | 130 ++----------------- src/test/PlayerMenuTest.java | 39 +++--- 5 files changed, 199 insertions(+), 185 deletions(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index 590829e..b452be5 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -24,6 +24,7 @@ import mytharena.data.user.Player; import mytharena.data.user.User; import mytharena.gui.MythArenaGui; +import org.json.simple.JSONArray; import java.io.*; import java.text.SimpleDateFormat; @@ -41,7 +42,7 @@ public class Arena { /** * MythArenaGui mythArenaGui */ - private final MythArenaGui mythArenaGui = new MythArenaGui(); + private MythArenaGui mythArenaGui; /** * Data data */ @@ -61,8 +62,9 @@ public class Arena { /** * Starts all, and have main loop of the application + * @param gui boolean gui */ - public void start() { + public void start(boolean gui) { try { // retrieves data if serializable file exists File file = new File(this.serializablePath); @@ -86,15 +88,20 @@ public void start() { this.data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); this.serializeData(); } - // create commands and insert them into commandMap with respective key - this.commandMap.put("AdminMenu", new AdminMenu(this, this.data, this.mythArenaGui)); - this.commandMap.put("StartMenu", new StartMenu(this, this.data, this.mythArenaGui)); - this.commandMap.put("PlayerMenu", new PlayerMenu(this, this.data, this.mythArenaGui)); // update player bans this.updateBans(); - // main loop - while (true) { - this.commandMap.get("StartMenu").execute(); + // gui = true => normal use / gui = true => test use + if (gui) { + // init gui + this.mythArenaGui = new MythArenaGui(); + // create commands and insert them into commandMap with respective key + this.commandMap.put("AdminMenu", new AdminMenu(this, this.data, this.mythArenaGui)); + this.commandMap.put("StartMenu", new StartMenu(this, this.data, this.mythArenaGui)); + this.commandMap.put("PlayerMenu", new PlayerMenu(this, this.data, this.mythArenaGui)); + // main loop + while (true) { + this.commandMap.get("StartMenu").execute(); + } } } catch (Exception e) { e.printStackTrace(); @@ -153,35 +160,140 @@ public void deleteActiveUserMenu() { } /** - * Transfer market offer items to buyer or back to seller if offer was denied + * Transfer market offer items to buyer when buy or back to seller if offer was denied * @param offer Offer offer * @param player Player player => buyer or seller */ public void transferMarketOfferItems(Offer offer, Player player) { - try { - for (ArrayList pack : offer.getItemList()) { - if (pack.get(0) instanceof Weapon) { - player.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); - } else if (pack.get(0) instanceof Armor) { - player.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); - } else { - player.getCharacter().getMinionArrayList().addAll((ArrayList) pack); + for (ArrayList pack : offer.getItemList()) { + if (pack.get(0) instanceof Weapon) { + player.getCharacter().getInventory().getWeaponArrayList().addAll((ArrayList) pack); + } else if (pack.get(0) instanceof Armor) { + player.getCharacter().getInventory().getArmorArrayList().addAll((ArrayList) pack); + } else { + player.getCharacter().getMinionArrayList().addAll((ArrayList) pack); + } + } + // player = buyer + if (player != offer.getSeller()) { + offer.setBuyer(player); + this.data.getPurchasedOffers().add(offer); + player.getCharacter().setGold(player.getCharacter().getGold() - offer.getPrice()); + offer.getSeller().getCharacter().setGold(offer.getSeller().getCharacter().getGold() + offer.getPrice()); + this.data.getMarketOffers().remove(offer); + // player = seller + } else { + this.data.getPendingMarketOffers().remove(offer); + } + } + + /** + * Checks compatibility between offer and player subscriptions + * @param offer Offer offer + * @param player Player player + * @return boolean compatible + */ + public boolean checkCompatibility(Offer offer, Player player) { + boolean compatible = false; + for (ArrayList itemList : offer.getItemList()){ + // Check character type + Map characterSub = (Map) player.getMarketSubscriptions().get("Character"); + compatible = (boolean) characterSub.get(offer.getSeller().getCharacter().getClass().getSimpleName()); + if (compatible) break; + + // Check item type + Map typeSub = (Map) player.getMarketSubscriptions().get("Type"); + if (typeSub.get(itemList.get(0).getClass().getSimpleName()) != null) { + compatible = (boolean) typeSub.get(itemList.get(0).getClass().getSimpleName()); + if (compatible) break; + }else { + compatible = (boolean) typeSub.get("Minion"); + if (compatible) break; + } + + // Check if within price range + JSONArray priceRangeSub = (JSONArray) player.getMarketSubscriptions().get("Price"); + Long minLong = (Long) priceRangeSub.get(0); + Long maxLong = (Long) priceRangeSub.get(1); + compatible = offer.getPrice() >= minLong.intValue() && offer.getPrice() <= maxLong.intValue(); + if (compatible) break; + + //Checks depending on item type + if (itemList.get(0) instanceof Weapon) { + //Check weapon values + Map value = (Map) player.getMarketSubscriptions().get("Value"); + Map weaponSub = (Map) value.get("Weapon"); + for (Marketable item : itemList) { + Weapon weapon = (Weapon) item; + Long attackLong = (Long) weaponSub.get("AttackModification"); + if (attackLong != null) { + int attackModification = attackLong.intValue(); + compatible = weapon.getAttackModification() == attackModification; + if (compatible) break; + } + + Long defenseLong = (Long) weaponSub.get("DefenseModification"); + if (defenseLong != null) { + int defenseModification = defenseLong.intValue(); + compatible = weapon.getDefenseModification() == defenseModification; + if (compatible) break; + } + + //Check weapon rarity + Map raritySub = (Map) player.getMarketSubscriptions().get("Rarity"); + compatible = (boolean) raritySub.get(weapon.getRarity()); + if (compatible) break; + } + } else if (itemList.get(0) instanceof Armor) { + // Check armor values + Map value = (Map) player.getMarketSubscriptions().get("Value"); + Map armorSub = (Map) value.get("Armor"); + for (Marketable item : itemList) { + Armor armor = (Armor) item; + Long attackLong = (Long) armorSub.get("AttackModification"); + if (attackLong != null) { + int attackModification = attackLong.intValue(); + compatible = armor.getAttackModification() == attackModification; + if (compatible) break; + } + Long defenseLong = (Long) armorSub.get("DefenseModification"); + if (defenseLong != null) { + int defenseModification = defenseLong.intValue(); + compatible = armor.getDefenseModification() == defenseModification; + if (compatible) break; + } + Map raritySub = (Map) player.getMarketSubscriptions().get("Rarity"); + compatible = (boolean) raritySub.get(armor.getRarity()); + if (compatible) break; + } + } else { + //Check minion types + Map minionType = (Map) player.getMarketSubscriptions().get("Minion"); + ArrayList total = new ArrayList<>(); + ArrayList minionArrayList = itemList; + displayMinionPack((ArrayList) minionArrayList,total); + for (Minion minion : total) { + compatible = (boolean) minionType.get(minion.getClass().getSimpleName()); + if (compatible) break; } } - // player = buyer - if (player != offer.getSeller()) { - offer.setBuyer(player); - this.data.getPurchasedOffers().add(offer); - player.getCharacter().setGold(player.getCharacter().getGold() - offer.getPrice()); - offer.getSeller().getCharacter().setGold(offer.getSeller().getCharacter().getGold() + offer.getPrice()); - this.data.getMarketOffers().remove(offer); - // player = seller + } + return compatible; + } + + /** + * Displays minion pack recursive + * @param minionPack ArrayList Minion minionPack + * @param total ArrayList Minion total + */ + public void displayMinionPack(ArrayList minionPack, ArrayList total) { + for (Minion minion : minionPack) { + if (minion instanceof Demon demon) { + displayMinionPack(demon.getMinionArrayList(), total); + total.add(demon); } else { - this.data.getPendingMarketOffers().remove(offer); + total.add(minion); } - this.serializeData(); - } catch (IOException e) { - e.printStackTrace(); } } @@ -223,6 +335,14 @@ public void setActiveUser(User activeUser) { this.activeUser = activeUser; } + /** + * Gets Data data + * @return Data data + */ + public Data getData() { + return this.data; + } + /** * Gets specific Command command in commandMap with String key * @param key String key diff --git a/src/mytharena/MythArena.java b/src/mytharena/MythArena.java index 14c6e15..bf1f7cb 100644 --- a/src/mytharena/MythArena.java +++ b/src/mytharena/MythArena.java @@ -11,7 +11,7 @@ public class MythArena { */ public static void main(String[] args) { Arena arena = new Arena(); - arena.start(); + arena.start(true); } } diff --git a/src/mytharena/command/AdminMenu.java b/src/mytharena/command/AdminMenu.java index d0363b0..0195e58 100644 --- a/src/mytharena/command/AdminMenu.java +++ b/src/mytharena/command/AdminMenu.java @@ -412,20 +412,25 @@ private void validateMarketOffers() { int selected = super.getMythArenaGui().getLastSelectedListIndex(); if (selected != -1) { Offer pendingMarketOffer = super.getData().getPendingMarketOffers().get(selected); - Player seller = pendingMarketOffer.getSeller(); - // serialize data stuff inside - super.getArena().transferMarketOfferItems(pendingMarketOffer, seller); - // notification for seller - pendingMarketOffer.getSeller().getNotificationArrayList().add(new GeneralNotification( - "Your market offer has been denied", - seller.getNickname() + " : " + - pendingMarketOffer.getPrice() + " gold offer" - )); - super.getMythArenaGui().setDescription( - "Denied selected market offer: " + - seller.getNickname() + " : " + - pendingMarketOffer.getPrice() + " gold" - ); + try { + Player seller = pendingMarketOffer.getSeller(); + // serialize data stuff inside + super.getArena().transferMarketOfferItems(pendingMarketOffer, seller); + super.getArena().serializeData(); + // notification for seller + pendingMarketOffer.getSeller().getNotificationArrayList().add(new GeneralNotification( + "Your market offer has been denied", + seller.getNickname() + " : " + + pendingMarketOffer.getPrice() + " gold offer" + )); + super.getMythArenaGui().setDescription( + "Denied selected market offer: " + + seller.getNickname() + " : " + + pendingMarketOffer.getPrice() + " gold" + ); + } catch (IOException e) { + e.printStackTrace(); + } } else { super.getMythArenaGui().setDescription("Please select one element of the list before continue"); } diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 202b4a2..044f352 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -173,7 +173,7 @@ private void sellMarket() { // minions if (!minionList.isEmpty()) { ArrayList total = new ArrayList<>(); - displayMinionPack(minionList,total); + getArena().displayMinionPack(minionList,total); displayList.add("Minions: " + total.size()); } // list itself @@ -240,7 +240,7 @@ private void sellMarket() { // notify subscribers for (User user : getData().getUserArrayList()) { if (user instanceof Player buyer) { - if (checkCompatibility(offer, buyer)) { + if (getArena().checkCompatibility(offer, buyer)) { buyer.notifyPlayer(); } } @@ -352,7 +352,7 @@ private void buyMarket() { Minion minion = (Minion) item; if (minion instanceof Demon demon) { ArrayList total = new ArrayList<>(); - displayMinionPack(demon.getMinionArrayList(), total); + getArena().displayMinionPack(demon.getMinionArrayList(), total); total.add(demon); for (Minion minion1 : total) { offerList.add("Minion type: " + minion1.getClass().getSimpleName() + @@ -375,10 +375,15 @@ private void buyMarket() { exitOffer = true; } else { if (offer.getPrice() <= player.getCharacter().getGold()) { - getArena().transferMarketOfferItems(offer, player); - getMythArenaGui().setDescription("Purchased successfully"); - getMythArenaGui().waitEvent(2); - exitOffer = true; + try { + getArena().transferMarketOfferItems(offer, player); + getArena().serializeData(); + getMythArenaGui().setDescription("Purchased successfully"); + getMythArenaGui().waitEvent(2); + exitOffer = true; + } catch (IOException e) { + e.printStackTrace(); + } } else { getMythArenaGui().setDescription("You don't have enough gold!"); getMythArenaGui().waitEvent(3); @@ -395,117 +400,6 @@ private void buyMarket() { } } - /** - * Checks compatibility between offer and player subscriptions - * @param offer Offer offer - * @param player Player player - * @return boolean compatible - */ - public boolean checkCompatibility(Offer offer, Player player) { - boolean compatible = false; - for (ArrayList itemList : offer.getItemList()){ - // Check character type - Map characterSub = (Map) player.getMarketSubscriptions().get("Character"); - compatible = (boolean) characterSub.get(offer.getSeller().getCharacter().getClass().getSimpleName()); - if (compatible) break; - - // Check item type - Map typeSub = (Map) player.getMarketSubscriptions().get("Type"); - if (typeSub.get(itemList.get(0).getClass().getSimpleName()) != null) { - compatible = (boolean) typeSub.get(itemList.get(0).getClass().getSimpleName()); - if (compatible) break; - }else { - compatible = (boolean) typeSub.get("Minion"); - if (compatible) break; - } - - - // Check if within price range - JSONArray priceRangeSub = (JSONArray) player.getMarketSubscriptions().get("Price"); - Long minLong = (Long) priceRangeSub.get(0); - Long maxLong = (Long) priceRangeSub.get(1); - compatible = offer.getPrice() >= minLong.intValue() && offer.getPrice() <= maxLong.intValue(); - if (compatible) break; - - //Checks depending on item type - if (itemList.get(0) instanceof Weapon) { - //Check weapon values - Map value = (Map) player.getMarketSubscriptions().get("Value"); - Map weaponSub = (Map) value.get("Weapon"); - for (Marketable item : itemList) { - Weapon weapon = (Weapon) item; - Long attackLong = (Long) weaponSub.get("AttackModification"); - if (attackLong != null) { - int attackModification = attackLong.intValue(); - compatible = weapon.getAttackModification() == attackModification; - if (compatible) break; - } - - Long defenseLong = (Long) weaponSub.get("DefenseModification"); - if (defenseLong != null) { - int defenseModification = defenseLong.intValue(); - compatible = weapon.getDefenseModification() == defenseModification; - if (compatible) break; - } - - //Check weapon rarity - Map raritySub = (Map) player.getMarketSubscriptions().get("Rarity"); - compatible = (boolean) raritySub.get(weapon.getRarity()); - if (compatible) break; - } - } else if (itemList.get(0) instanceof Armor) { - // Check armor values - Map value = (Map) player.getMarketSubscriptions().get("Value"); - Map armorSub = (Map) value.get("Armor"); - for (Marketable item : itemList) { - Armor armor = (Armor) item; - Long attackLong = (Long) armorSub.get("AttackModification"); - if (attackLong != null) { - int attackModification = attackLong.intValue(); - compatible = armor.getAttackModification() == attackModification; - if (compatible) break; - } - Long defenseLong = (Long) armorSub.get("DefenseModification"); - if (defenseLong != null) { - int defenseModification = defenseLong.intValue(); - compatible = armor.getDefenseModification() == defenseModification; - if (compatible) break; - } - Map raritySub = (Map) player.getMarketSubscriptions().get("Rarity"); - compatible = (boolean) raritySub.get(armor.getRarity()); - if (compatible) break; - } - }else { - //Check minion types - Map minionType = (Map) player.getMarketSubscriptions().get("Minion"); - ArrayList total = new ArrayList<>(); - ArrayList minionArrayList = itemList; - displayMinionPack((ArrayList) minionArrayList,total); - for (Minion minion : total) { - compatible = (boolean) minionType.get(minion.getClass().getSimpleName()); - if (compatible) break; - } - } - } - return compatible; - } - - /** - * Displays minion pack recursive - * @param minionPack ArrayList Minion minionPack - * @param total ArrayList Minion total - */ - public void displayMinionPack(ArrayList minionPack, ArrayList total) { - for (Minion minion : minionPack) { - if (minion instanceof Demon demon) { - displayMinionPack(demon.getMinionArrayList(), total); - total.add(demon); - } else { - total.add(minion); - } - } - } - /** * Market notification */ diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java index afe1d49..434c64a 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerMenuTest.java @@ -19,7 +19,6 @@ import mytharena.data.character.inventory.equipment.Weapon; import mytharena.data.market.Offer; import mytharena.data.user.Player; -import mytharena.gui.MythArenaGui; import org.junit.Test; import java.util.ArrayList; @@ -31,7 +30,11 @@ public class PlayerMenuTest { @Test public void testCreateCharacter() { - VampireFactory vampireFactory = new VampireFactory(new Data()); + Arena arena = new Arena(); + arena.start(false); + Data data = arena.getData(); + + VampireFactory vampireFactory = new VampireFactory(data); Character vampire = vampireFactory.createCharacter(); assertTrue(vampire instanceof Vampire); assertTrue(vampire.getAbility() instanceof Discipline); @@ -71,19 +74,15 @@ public void testNotifyPlayer() { @Test public void testTransferItems() { Arena arena = new Arena(); - Data data = new Data(); - MythArenaGui mythArenaGui = new MythArenaGui(); - - data.getArmorPool().add(new Armor("Platemail", 0, 2,"Normal")); - data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); + arena.start(false); + Data data = arena.getData(); - PlayerMenu playerMenu = new PlayerMenu(arena, data, mythArenaGui); - Player player1 = new Player("gledrian","gledrian",data, "gledrian"); + Player player1 = new Player("gledrian", "gledrian", data, "gledrian"); VampireFactory vampireFactory = new VampireFactory(data); Character vampire = vampireFactory.createCharacter(); player1.setCharacter(vampire); - Player player2 = new Player("alejandro", "alejandro",data, "alejandro"); + Player player2 = new Player("alejandro", "alejandro", data, "alejandro"); WerewolfFactory werewolfFactory = new WerewolfFactory(data); Character werewolf = werewolfFactory.createCharacter(); player2.setCharacter(werewolf); @@ -99,42 +98,38 @@ public void testTransferItems() { arena.transferMarketOfferItems(offer, player2); - assertEquals(player2.getCharacter().getInventory().getWeaponArrayList().size(),6); + assertEquals(player2.getCharacter().getInventory().getWeaponArrayList().size(), 6); assertNotNull(offer.getBuyer()); } @Test public void testDisplayMinionPack() { Arena arena = new Arena(); - Data data = new Data(); - MythArenaGui mythArenaGui = new MythArenaGui(); - PlayerMenu playerMenu = new PlayerMenu(arena,data,mythArenaGui); ArrayList minionArrayList = new ArrayList<>(); ArrayList total = new ArrayList<>(); minionArrayList.add(new Human()); minionArrayList.add(new Ghoul()); minionArrayList.add(new Ghoul()); - playerMenu.displayMinionPack(minionArrayList,total); + arena.displayMinionPack(minionArrayList,total); assertEquals(3, total.size()); } @Test public void testCheckCompatability() { Arena arena = new Arena(); - Data data = new Data(); - MythArenaGui mythArenaGui = new MythArenaGui(); - PlayerMenu playerMenu = new PlayerMenu(arena, data, mythArenaGui); + arena.start(false); + Data data = arena.getData(); data.getArmorPool().add(new Armor("Cuirass", 0, 3,"Legendary")); data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); - Player player1 = new Player("gledrian","gledrian",data, "gledrian"); + Player player1 = new Player("gledrian","gledrian", data, "gledrian"); VampireFactory vampireFactory = new VampireFactory(data); Character vampire = vampireFactory.createCharacter(); player1.setCharacter(vampire); - Player player2 = new Player("alejandro", "alejandro",data, "alejandro"); + Player player2 = new Player("alejandro", "alejandro", data, "alejandro"); WerewolfFactory werewolfFactory = new WerewolfFactory(data); Character werewolf = werewolfFactory.createCharacter(); player2.setCharacter(werewolf); @@ -145,10 +140,10 @@ public void testCheckCompatability() { itemList.add(marketables); Offer offer = new Offer(player1,20,itemList); - assertFalse(playerMenu.checkCompatibility(offer,player2)); + assertFalse(arena.checkCompatibility(offer,player2)); Map typeSub = (Map) player2.getMarketSubscriptions().get("Type"); typeSub.put("Weapon", true); - assertTrue(playerMenu.checkCompatibility(offer,player2)); + assertTrue(arena.checkCompatibility(offer,player2)); } } From a367ada20f70eda1be970a144df771605ed8676e Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 22:42:33 +0200 Subject: [PATCH 48/53] style: fix arena gui toggle comment --- src/mytharena/Arena.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index b452be5..ba71f70 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -90,7 +90,7 @@ public void start(boolean gui) { } // update player bans this.updateBans(); - // gui = true => normal use / gui = true => test use + // gui = true => normal use / gui = false => test use if (gui) { // init gui this.mythArenaGui = new MythArenaGui(); From 06aed1270b440616bdee5492d205dbbcb10aca11 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 22:47:51 +0200 Subject: [PATCH 49/53] test: separate arena tests --- src/test/ArenaTest.java | 101 +++++++++++++++++++++++++++++++++++ src/test/PlayerMenuTest.java | 79 +-------------------------- 2 files changed, 103 insertions(+), 77 deletions(-) create mode 100644 src/test/ArenaTest.java diff --git a/src/test/ArenaTest.java b/src/test/ArenaTest.java new file mode 100644 index 0000000..7cc5245 --- /dev/null +++ b/src/test/ArenaTest.java @@ -0,0 +1,101 @@ +package test; + +import mytharena.Arena; +import mytharena.data.Data; +import mytharena.data.character.Marketable; +import mytharena.data.character.factory.character.Character; +import mytharena.data.character.factory.character.vampire.VampireFactory; +import mytharena.data.character.factory.character.werewolf.WerewolfFactory; +import mytharena.data.character.factory.minion.Minion; +import mytharena.data.character.factory.minion.ghoul.Ghoul; +import mytharena.data.character.factory.minion.human.Human; +import mytharena.data.character.inventory.equipment.Armor; +import mytharena.data.character.inventory.equipment.Equipment; +import mytharena.data.character.inventory.equipment.Weapon; +import mytharena.data.market.Offer; +import mytharena.data.user.Player; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Map; + +import static junit.framework.TestCase.*; + +public class ArenaTest { + + @Test + public void testTransferItems() { + Arena arena = new Arena(); + arena.start(false); + Data data = arena.getData(); + + Player player1 = new Player("gledrian", "gledrian", data, "gledrian"); + VampireFactory vampireFactory = new VampireFactory(data); + Character vampire = vampireFactory.createCharacter(); + player1.setCharacter(vampire); + + Player player2 = new Player("alejandro", "alejandro", data, "alejandro"); + WerewolfFactory werewolfFactory = new WerewolfFactory(data); + Character werewolf = werewolfFactory.createCharacter(); + player2.setCharacter(werewolf); + + ArrayList weapons = new ArrayList<>(player1.getCharacter().getInventory().getWeaponArrayList()); + ArrayList marketables = new ArrayList<>(weapons); + ArrayList> itemList = new ArrayList<>(); + itemList.add(marketables); + + assertEquals(3, player2.getCharacter().getInventory().getWeaponArrayList().size()); + Offer offer = new Offer(player1,20,itemList); + assertNull(offer.getBuyer()); + + arena.transferMarketOfferItems(offer, player2); + + assertEquals(player2.getCharacter().getInventory().getWeaponArrayList().size(), 6); + assertNotNull(offer.getBuyer()); + } + + @Test + public void testCheckCompatability() { + Arena arena = new Arena(); + arena.start(false); + Data data = arena.getData(); + + data.getArmorPool().add(new Armor("Cuirass", 0, 3,"Legendary")); + data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); + + Player player1 = new Player("gledrian","gledrian", data, "gledrian"); + VampireFactory vampireFactory = new VampireFactory(data); + Character vampire = vampireFactory.createCharacter(); + player1.setCharacter(vampire); + + Player player2 = new Player("alejandro", "alejandro", data, "alejandro"); + WerewolfFactory werewolfFactory = new WerewolfFactory(data); + Character werewolf = werewolfFactory.createCharacter(); + player2.setCharacter(werewolf); + + ArrayList weapons = new ArrayList<>(player1.getCharacter().getInventory().getWeaponArrayList()); + ArrayList marketables = new ArrayList<>(weapons); + ArrayList> itemList = new ArrayList<>(); + itemList.add(marketables); + + Offer offer = new Offer(player1,20,itemList); + assertFalse(arena.checkCompatibility(offer,player2)); + Map typeSub = (Map) player2.getMarketSubscriptions().get("Type"); + typeSub.put("Weapon", true); + assertTrue(arena.checkCompatibility(offer,player2)); + } + + @Test + public void testDisplayMinionPack() { + Arena arena = new Arena(); + + ArrayList minionArrayList = new ArrayList<>(); + ArrayList total = new ArrayList<>(); + minionArrayList.add(new Human()); + minionArrayList.add(new Ghoul()); + minionArrayList.add(new Ghoul()); + arena.displayMinionPack(minionArrayList,total); + assertEquals(3, total.size()); + } + +} diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerMenuTest.java index 434c64a..0998172 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerMenuTest.java @@ -63,87 +63,12 @@ public void testCreateMinion() { @Test public void testNotifyPlayer() { - Player player = new Player("gledrian","gledrian",new Data(),"gledrian"); - assertEquals(0,player.getNotificationArrayList().size()); + Player player = new Player("gledrian", "gledrian", new Data(), "gledrian"); + assertEquals(0, player.getNotificationArrayList().size()); player.notifyPlayer(); player.notifyPlayer(); player.notifyPlayer(); assertEquals(3, player.getNotificationArrayList().size()); } - @Test - public void testTransferItems() { - Arena arena = new Arena(); - arena.start(false); - Data data = arena.getData(); - - Player player1 = new Player("gledrian", "gledrian", data, "gledrian"); - VampireFactory vampireFactory = new VampireFactory(data); - Character vampire = vampireFactory.createCharacter(); - player1.setCharacter(vampire); - - Player player2 = new Player("alejandro", "alejandro", data, "alejandro"); - WerewolfFactory werewolfFactory = new WerewolfFactory(data); - Character werewolf = werewolfFactory.createCharacter(); - player2.setCharacter(werewolf); - - ArrayList weapons = new ArrayList<>(player1.getCharacter().getInventory().getWeaponArrayList()); - ArrayList marketables = new ArrayList<>(weapons); - ArrayList> itemList = new ArrayList<>(); - itemList.add(marketables); - - assertEquals(3, player2.getCharacter().getInventory().getWeaponArrayList().size()); - Offer offer = new Offer(player1,20,itemList); - assertNull(offer.getBuyer()); - - arena.transferMarketOfferItems(offer, player2); - - assertEquals(player2.getCharacter().getInventory().getWeaponArrayList().size(), 6); - assertNotNull(offer.getBuyer()); - } - - @Test - public void testDisplayMinionPack() { - Arena arena = new Arena(); - - ArrayList minionArrayList = new ArrayList<>(); - ArrayList total = new ArrayList<>(); - minionArrayList.add(new Human()); - minionArrayList.add(new Ghoul()); - minionArrayList.add(new Ghoul()); - arena.displayMinionPack(minionArrayList,total); - assertEquals(3, total.size()); - } - - @Test - public void testCheckCompatability() { - Arena arena = new Arena(); - arena.start(false); - Data data = arena.getData(); - - data.getArmorPool().add(new Armor("Cuirass", 0, 3,"Legendary")); - data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); - - Player player1 = new Player("gledrian","gledrian", data, "gledrian"); - VampireFactory vampireFactory = new VampireFactory(data); - Character vampire = vampireFactory.createCharacter(); - player1.setCharacter(vampire); - - Player player2 = new Player("alejandro", "alejandro", data, "alejandro"); - WerewolfFactory werewolfFactory = new WerewolfFactory(data); - Character werewolf = werewolfFactory.createCharacter(); - player2.setCharacter(werewolf); - - ArrayList weapons = new ArrayList<>(player1.getCharacter().getInventory().getWeaponArrayList()); - ArrayList marketables = new ArrayList<>(weapons); - ArrayList> itemList = new ArrayList<>(); - itemList.add(marketables); - - Offer offer = new Offer(player1,20,itemList); - assertFalse(arena.checkCompatibility(offer,player2)); - Map typeSub = (Map) player2.getMarketSubscriptions().get("Type"); - typeSub.put("Weapon", true); - assertTrue(arena.checkCompatibility(offer,player2)); - } - } From 2ad16e1b409354fd8d4408cff8dc44a429281740 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 22:48:56 +0200 Subject: [PATCH 50/53] test: rename player menu test to player test --- src/test/{PlayerMenuTest.java => PlayerTest.java} | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) rename src/test/{PlayerMenuTest.java => PlayerTest.java} (80%) diff --git a/src/test/PlayerMenuTest.java b/src/test/PlayerTest.java similarity index 80% rename from src/test/PlayerMenuTest.java rename to src/test/PlayerTest.java index 0998172..01a30e7 100644 --- a/src/test/PlayerMenuTest.java +++ b/src/test/PlayerTest.java @@ -1,32 +1,20 @@ package test; import mytharena.Arena; -import mytharena.command.PlayerMenu; import mytharena.data.Data; -import mytharena.data.character.Marketable; import mytharena.data.character.ability.Discipline; import mytharena.data.character.factory.character.Character; import mytharena.data.character.factory.character.vampire.Vampire; import mytharena.data.character.factory.character.vampire.VampireFactory; import mytharena.data.character.factory.character.werewolf.WerewolfFactory; -import mytharena.data.character.factory.minion.Minion; import mytharena.data.character.factory.minion.demon.Demon; import mytharena.data.character.factory.minion.demon.DemonFactory; -import mytharena.data.character.factory.minion.ghoul.Ghoul; -import mytharena.data.character.factory.minion.human.Human; -import mytharena.data.character.inventory.equipment.Armor; -import mytharena.data.character.inventory.equipment.Equipment; -import mytharena.data.character.inventory.equipment.Weapon; -import mytharena.data.market.Offer; import mytharena.data.user.Player; import org.junit.Test; -import java.util.ArrayList; -import java.util.Map; - import static junit.framework.TestCase.*; -public class PlayerMenuTest { +public class PlayerTest { @Test public void testCreateCharacter() { From 9a9f2831a93432c184a6a628d73749cd30da71fb Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 22:49:35 +0200 Subject: [PATCH 51/53] test: remove example test --- src/test/ExampleTest.java | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 src/test/ExampleTest.java diff --git a/src/test/ExampleTest.java b/src/test/ExampleTest.java deleted file mode 100644 index a3cd113..0000000 --- a/src/test/ExampleTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package test; - -import mytharena.data.Data; -import mytharena.data.user.Admin; -import org.junit.Test; - -import static org.junit.Assert.assertSame; - -public class ExampleTest { - - @Test - public void defaultAdminCreation() { - Admin admin = new Admin("admin", "admin123", new Data()); - assertSame(admin, admin); - } - -} From e105347e502107c9ea6a2d797e4e2d237d2c80e7 Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 22:52:12 +0200 Subject: [PATCH 52/53] test: remove arena test equipment generation --- src/test/ArenaTest.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/test/ArenaTest.java b/src/test/ArenaTest.java index 7cc5245..23e2eb4 100644 --- a/src/test/ArenaTest.java +++ b/src/test/ArenaTest.java @@ -60,9 +60,6 @@ public void testCheckCompatability() { arena.start(false); Data data = arena.getData(); - data.getArmorPool().add(new Armor("Cuirass", 0, 3,"Legendary")); - data.getWeaponPool().add(new Weapon("Rapier", 3, 0, false, "Normal")); - Player player1 = new Player("gledrian","gledrian", data, "gledrian"); VampireFactory vampireFactory = new VampireFactory(data); Character vampire = vampireFactory.createCharacter(); From 2952ba7e661b25fb289ed7c3aa96a28f58acd58e Mon Sep 17 00:00:00 2001 From: skuzow Date: Sun, 10 Jul 2022 23:21:58 +0200 Subject: [PATCH 53/53] test: admin menu validate offer test --- src/mytharena/Arena.java | 31 ++++++++++++++++ src/mytharena/command/PlayerMenu.java | 17 +-------- src/test/AdminTest.java | 52 +++++++++++++++++++++++++++ 3 files changed, 84 insertions(+), 16 deletions(-) create mode 100644 src/test/AdminTest.java diff --git a/src/mytharena/Arena.java b/src/mytharena/Arena.java index ba71f70..f0bf7f5 100644 --- a/src/mytharena/Arena.java +++ b/src/mytharena/Arena.java @@ -159,6 +159,37 @@ public void deleteActiveUserMenu() { } } + /** + * Create market offer + * @param player Player player + * @param totalPrice int totalPrice + * @param armorPack ArrayList Marketable armorPack + * @param weaponPack ArrayList Marketable weaponPack + * @param minionPack ArrayList Marketable minionPack + * @param armorList ArrayList Equipment armorList + * @param weaponList ArrayList Equipment weaponList + * @param minionList ArrayList Minion minionList + * @return Offer offer + */ + public Offer createMarketOffer(Player player, int totalPrice, ArrayList armorPack, ArrayList weaponPack, ArrayList minionPack, ArrayList armorList, ArrayList weaponList, ArrayList minionList) { + // create offer + ArrayList> itemList = new ArrayList<>(); + // use stuff lists because all of them are updated without items inside offer + if (!armorPack.isEmpty()) { + itemList.add(armorPack); + player.getCharacter().getInventory().setArmorArrayList(armorList); + } + if (!weaponPack.isEmpty()) { + itemList.add(weaponPack); + player.getCharacter().getInventory().setWeaponArrayList(weaponList); + } + if (!minionPack.isEmpty()) { + itemList.add(minionPack); + player.getCharacter().setMinionArrayList(minionList); + } + return new Offer(player, totalPrice, itemList); + } + /** * Transfer market offer items to buyer when buy or back to seller if offer was denied * @param offer Offer offer diff --git a/src/mytharena/command/PlayerMenu.java b/src/mytharena/command/PlayerMenu.java index 044f352..9a4300e 100644 --- a/src/mytharena/command/PlayerMenu.java +++ b/src/mytharena/command/PlayerMenu.java @@ -220,22 +220,7 @@ private void sellMarket() { switch (super.getMythArenaGui().waitEvent(30)) { case 'A' -> { try { - // create offer - ArrayList> itemList = new ArrayList<>(); - // use stuff lists because all of them are updated without items inside offer - if (!armorPack.isEmpty()) { - itemList.add(armorPack); - player.getCharacter().getInventory().setArmorArrayList(armorList); - } - if (!weaponPack.isEmpty()) { - itemList.add(weaponPack); - player.getCharacter().getInventory().setWeaponArrayList(weaponList); - } - if (!minionPack.isEmpty()) { - itemList.add(minionPack); - player.getCharacter().setMinionArrayList(minionList); - } - Offer offer = new Offer(player, totalPrice, itemList); + Offer offer = super.getArena().createMarketOffer(player, totalPrice, armorPack, weaponPack, minionPack, armorList, weaponList, minionList); super.getData().getPendingMarketOffers().add(offer); // notify subscribers for (User user : getData().getUserArrayList()) { diff --git a/src/test/AdminTest.java b/src/test/AdminTest.java new file mode 100644 index 0000000..63a7e63 --- /dev/null +++ b/src/test/AdminTest.java @@ -0,0 +1,52 @@ +package test; + +import mytharena.Arena; +import mytharena.data.Data; +import mytharena.data.character.Marketable; +import mytharena.data.character.factory.character.Character; +import mytharena.data.character.factory.character.werewolf.WerewolfFactory; +import mytharena.data.character.factory.minion.Minion; +import mytharena.data.character.inventory.equipment.Equipment; +import mytharena.data.market.Offer; +import mytharena.data.user.Player; +import org.junit.Test; + +import java.util.ArrayList; + +import static junit.framework.TestCase.*; + +public class AdminTest { + + @Test + public void testValidateOffer() { + Arena arena = new Arena(); + arena.start(false); + Data data = arena.getData(); + + Player player = new Player("alejandro", "alejandro", data, "alejandro"); + WerewolfFactory werewolfFactory = new WerewolfFactory(data); + Character werewolf = werewolfFactory.createCharacter(); + player.setCharacter(werewolf); + + ArrayList weapons = player.getCharacter().getInventory().getWeaponArrayList(); + ArrayList weaponPack = new ArrayList<>(weapons); + ArrayList weaponList = new ArrayList<>(); + + ArrayList armorPack = new ArrayList<>(); + ArrayList minionPack = new ArrayList<>(); + + ArrayList armorList = new ArrayList<>(); + ArrayList minionList = new ArrayList<>(); + + assertEquals(3, player.getCharacter().getInventory().getWeaponArrayList().size()); + Offer offer = arena.createMarketOffer(player, 20, + armorPack, weaponPack, minionPack, armorList, weaponList, minionList); + assertNull(offer.getBuyer()); + + arena.transferMarketOfferItems(offer, player); + + assertFalse(data.getPendingMarketOffers().contains(offer)); + assertEquals(player.getCharacter().getInventory().getWeaponArrayList().size(), 3); + } + +}

UGD~&AY9s_klLK*?a1jh!@nGnMZEdD-v+!`TEf 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 literal 0 HcmV?d00001 diff --git a/lib/junit-platform-engine-1.9.0-M1.jar b/lib/junit-platform-engine-1.9.0-M1.jar new file mode 100644 index 0000000000000000000000000000000000000000..60935a7e38cbae35fa68180c47f50ce762e9c2e0 GIT binary patch literal 188148 zcmb@t1#FyKvNh_&%*@Qp%rP^&&CJ+lW@ct)W@aa5W@cuF7-Q$pnVJ8-`}FP{-H~2P z-BL???@wKORjsO3)rvBpU}zvvP*5NsAVPoM|IZ5=1Pnw@OjU?pN?x4ta~uQ&6hu)5 z@~?FuU;njA@!xJn`?KP|Hp>agONooAs4~cjm!v4!6@Eht*^zod91M#oh5ZsK#w=hl z5hTYhzGar=liB~R3>J!%}(MwgtN`{*tM1FzFTq5pZy6{3pGW2pOR4O99Tp9Y$79 z!iTj2%W zOC2jowta*{Wrrr`#r^dOcy2WadnDa$ZmFZ!m;&LFAkfT(K^@HmBjbBc+{}}4W6$b} znmUwn|8j!r!}YuP2RFk0!K5+SQF4pC>_f+m%Z0klHJn7wU z!ONp!+aMe;0vjy5eC-n{UV>}wi27X?TGLWs*^I8O;jhw6B9oxgw0DZm3^(2^LA}!$ zY5iZzYFgNapu+%GJ$*5`LzcnDT;K5U47ndpe>w7@2p$ZURV!Ni0~J+Q%4wFVsN~fS z=18NlrY(|T16fNeUaC2c(h9H(kId>C+K#d!EU+T!mDmuqPHHijQUKGpEM>KVlo0Y~ zxQ7vxB>L(aYUo8E*)vNKuh!)t)9AmsZ6S_$)iW7Bj{3(lF#tcf>3?Aj;;f;4)zsP( zOIcW#99-#tNAN<>UvMT{P3=WJM{z4Uq;pfjheOJwEDFK!;1|@YP}=v zdFY4Hc1d`4gPxY*VwJqR6DFJ=?<7W`-e#iv93B75wBYaM_B2L;(H_~>MTm`CDK1Rf z{x=c0l{MUttM6iqc8ue`E5oaTf>(M7U0v@NKMqu#(kG;OLKy#w37U1ECH;SXC*PO9 zvjpn@V2M8_7}CA~9!R==;`57rc`&vSsWB;Qf}RZmQ{1r0(r7!Bbkz4v9ZdvSMlRM% zR)rV@c*I{$OeG!imNC#NH=1*NiyvZGPCR$KKH)u4rPM5V7LN#X)jgHnypT!OPemp z6j5rkqQwP&-3GlZh;Ek0Ft`*|%}0yppLWt@Y1L`JL5N1=B$jw^cA}`O-`}50pDMFy zle0jd0dPOFo+pHZYXJP$AMtyT0FHfe+^%m&h4fAU;}i~~H&xn}fxw1%(`ogZ8J!Z7 zR`gO`+@CTsWnwEmxF4Wb^Ubsy`BQC<%09NTiKF8RbtjKhstTLMFyw&&@oGQj!duqIjabi= z%tZAf8m;nksx6$*O&&A7)14BbY=3DSc@_!XoK$|AQTS90m&Us$^UnP!qwDtshTjZd@Kh#sUM_bIUIzhN%S^fu@!y*Z8DCd(ckx&zDtXdO zOMfLau&$|K(kytz#PK(vXolI6TiKW8y$kbQWK0_kD)*&1X%dQn^$g~MM6hiqMVPDp?WZ4zTG+$M{DuwluIHldfbnEC_0&Q7lVE0PYEPU(5R! zkh=_Or!~&!2`-Bj0hQ}R&NpEJ8C`qPg=KfwdebMswI*wxB9{yNUKy`rSXLo)U z7PQ3$VKaxAaQ(=mvG&dcFX5FiB9w198jgsOMZgrC>ktn<1nEfyyh7-p)d)S}CB>n? z3MEOOpHoF0znBFXuc=v)49f&s_qV21yPD3+pQoQDf?)RIdRck3T5;d~qFIyaJDo=u*#9HwS6SO{(VA2Qm z<%Sscw5i{>bCepNPM2S0;+)MWiaVX2O&d#8P3OEtaYuDgTkLPIFAE^TFHlWgUa6Sm zk$;TSboO&)?=>yQH%FucjA$>igNQEm6$9_u(M01@8cgel%uE_`D((y9NX$Q%##mP|$U}Og&XqEplh}(dS5WQFVp(+at+vn*;NNQ`q7r!xGOZjNKTXsy;-EbtSd6 zj`u03q|j7b9?=g0cBU>=st5;Qa@tZ2Mxby5aL#MfQn1X9r<}SVLjlzym{4I6jZTa} z8#t?$Dq1nsnaWTr?kAfWElF8(TBfJ@bcJzjieVxFkkxNX6(@y`r;;fAOBZB%>+{3Q z*u)8s=;20=J8%xojFiR#(@P2QBtaz<*9c-+^&vTDS0w`yc9iY8^uedb_K&Xjl%q^r zaO1C->)-_B??%cgH{!ZQw0iB<@M0PRQpS|XQ@rKy4WgD#-nC4exsPKC2k~FLXbv74 ztlKC9_p4q(A|k*YZFq63&Kqi3vJ!)?Pg3jEWHGhvUU!V|T-V zL*~b#PR?44==K^lG)#5oILs*SMMo1A4wW*<_=|0PG0qa3Z~H`PV}G%(7bhsSEvk=t zUle$eXCCoItX8u?Xen?GcU5+T!Ceb;R?&cy&1aDpKX_?ZpIIe7`$iKp6SnzfPELv} z!N_DY*4gD_#vzRj1MXm5=fk1H*(3dW{77D)LJyEW;MNq{d*_$IPp5>@9d1n?%t)!S z@>HTljc0mC$fN@PJD{>J3;K~2^h==RV9Hi+Lke#p+=`{xL7^-@-tGw1B4W?vy58ZG zpoH#`dFQmLNR&vSo=aLSPd3g^%Z`OH=;i(Sf&}dY@M<>PDTma`Wjc#JB7S_#*DX47uPI)>x|2#k`D*L%#O9eyL4j#D`ViBC7aCo=EStK#iI2;2t|x+k$%%XNbYIN2n3;WMR@GB4vut#B$kqw`_p7|6-04a!FO52-p%8;KvaY z1T(LzMiPEI=wdlXi-5z*MzKNsnP}I9a;CkKp~z%KHjmS&+g46U<*ZUpCDl(LgZ747 z89Srxh}W73m5=(yxaDp^%GxQ>nVspv*0#mPXz*yLRvHn&+Ny$wPH5I86l1HVn9oTi z7nMyRQQBCAA6fqfBg6wb4PyIV>5$NyCoKN}r+&(w23D(eCfD`JIT))@W`@aE0K@w> zP&uKPnqbZ{IlUCRXoifjS+a;*JYx4Ub^1dpoBKXvp%k}vPoEoHRN1?>s{i>Yg4%I|X~p}_7guGK zKYFN@j6IdaUGyjP=tM`2s)E5t>!yYK zP04r!;I-NMeo%1G=kpK}eqDwWITVe42z#HQxOa}S=rOhc)ZXfHAm4nC zJR2DB@#OdM%L{)$J8`%fQ~YIRDKH?F%xv$}S-iIPe#W93J9Ogg!s(|IF|#ma#G_p@ zmZ(RfJ7dmC%`dY5Eca+|#&~vVMu$=@kCE%DmEjBarJX28cSmr$xM|~h^c~Gv{w$f9 z@NONw%Go6^ddNn=D`{GQ&OY|ww{c^8??CO@`=fxaPe~5p{8BV9Y!YOdurvzb`Qa|8 z8y+??G~k`lzU;8_bzykMBZwHYH7k*}|E!!y2bDoMB)ShtNZWYC?=@;m5_eyxD^=Ra zWZ%w2uymYl!*+8`W%Y~SV1S2vSRz96#@Zx_78Fh zfW+E_s>F7grS7mfT+JJ@jOR1oX(3ymU*hG!Qf>XIvvRe4Vv$9|RjJMRk_NqJq0TZJ z=@s|#dBbmXY{S8q8I(Z3N?;i9)UoB=fHu)}_R-UxVI$+cPR5UE}fw_HYb5G>9_kJ$uBBkDPdV#{b$rJow>Kz=1dx`qfYwk zy(8WAabA)_{%_B>cCfHPe%=T5#2?;wDczKcuqRzI>AFy{uURN1kJY!H=!~GY243h% zEHc2Gg^gf+6o$cU`PXcQBpGJiVi~RY>1^Bs`S?o$s=&$}uP!cqF5AAe1=D?zagv@M zZTca4aB%z3cNAY8XkuS!Gm@doECp)jtC=juw2C-T!omByx9N#R?Dg;Rzh3;oU9Km{U4Bol zk0PggLTYTH3S=43Q5=!AlAE1-tzKAo>1|-t zkZX;os~RWt;4+SO`h0f1@B}xYLU<=vSIu)is(rN#=CkWbXgTmn(UeAUxv69abzSl^ z{WeJ%7`SJYPooNx8g6+AwuVB?Z{~2U)6Q9STR*|&KC1J^I8o2P%`Pa|7AoP=`uJTs zO+LufOhXU{;@^pIz3N!fI9Eu-eN;}`P@RJ>%u1_rSShXz$32y+obL>E$nTUE;w0}R zIi!tZ_-{E(i1(2>2HI3U)u~@qr~KgQ!D7+&jm65f6H6fPe(dHmZr>znKvbgn^n*D2 z70H>Kl3NriKEf}YUUOhSKhaHgtxxLxO>rWKcZB{T=|O*UR8GwJQROUg?92-UN{Z`T z{)_@12B!EjvH*I=%NluXo>$myR%j#n9*mZBgn~3MUz;l6@aj3`3V7vmHuZCV(%7&H z=eUw-=$w~AD7BO%QpmWbON^qZ;6S)wsqdwDfi$UO#26)sW z_k}TmztJfg=jRDuxq7a|>P^{eq$23>C{VgT#kw({ zHe9SuL4@S)uo)V1*Y`Nas|oJH^?>i-+!&e4DO=@fT^Ko`_>{vG+N z!e<6zc~i~R!=ZNgn+Th^r^t=H>-E}zfq>}c-pt(TPKDKpo5vl}gy-~H8B9)&3-QzB zE2Q9Dq$6M4oyR(kx_i(wiLN(JZ@o|M?19#Xf}`=|ubdY~PnIkCgodOhpUy(+v={kQ zc`zJL3+3%wy0OR&*B`yfA^V#Zpnz&^?|k zYvF6_e(?p@|LY>y2Mc4Q|EQ;pfAr*kuO);1xd=N)bH@Lq69eH&GtZAIp%I?OGlOUhSWNV?14b6*_2$pU_ZtC+p86r6+AsVwn65JLU(r3Z zx^Igyh=ay-)kT$R)@)d+mvOI}I-I4%P~6J#orc?|xseg4v^sWd9u%al za%(I?>J8Qlm{pY}bHOF?K^-y=xc2aS;!SsKh@X`3e2A`A;K40ueE=~AvJZpg(^f)% z;N;Bx+8OuD58706IHd?gy&i?&K!IUD?YNN+{MfcGKvYfZtu~iFlMLe%vCh(xS@&d%+dS`TNgwMwx4OZWn=~yUD!Sx)!|4}HcXj%@16-kOh5HM9| zTYraW#RA44mUQKS7fGYT8nny0)kp??f}2b&jF)DRkDg=J&oomR1ZGY#}YHNbj z8YP&8TDRvW<<06yD*J}qSq5v%biif^o={Zbwr8YvhdAbzWXMqE?2<5LmN6F>Bp*>{ zN!>U;ePruW`Qi=G6}u$8$yBsN^H#8@&`cGoF$t|LTe3k{C@#`9nxi7#K}CK4M?Z*& z^rw;4AOBSY|2rRM{7-=VPZ*bIKzrd1Vf#wBc1L!vMoQv2E+VTIG{%sY(eDziMAWSA z)(^5Z=I|)aw=}CQYhFce0Rp|+@aXyTAM-;nJkyHQ5r|q2!#K(5r?AxswHM4j4Se|;#P(=)ooEBmuo$NZ%S8w z46LNBh*qM*PPL*vs5GOc5LpR#_BP@0a@@BN&lKQueK~AsxNK${icemaa7c-xR?}=+ z@V=`Lp9%-dk5Q0RF&@DJt|HOn2ZURLIftK$CKGoOHgt7a4m`Tcjkh7uaBS+9qcPcdp%-&|kd7Hp8EpZQxNzM6_BfM#VyP z$E>WbsVL>-c*Gl)NDDE2;Ia;trHbfp6r_IwE7mr>HQiDrW4!Q57UO)rDw9Ce=NZ29 zR3#`xIYt;Vts&JQYlk9+C&O{FHm^sD?V%_@D3gXAFJ;@%BD86X!R>=&m~6|0g9gCS zNMESz+FK%vydVu6djMwQswht800YL2gI`Ri#0sH zB1B;gaEaK^!!dJCGEXUE0d;n`mqfl^6RjO5@`~fd-D0&T87kCs`|J$P26nYyDuwp+ zH5OGeWJM*B4<*|UIK#QNg(C*Rh~i?mXR9nX`Q@193w1P7tL2G zoGUuo&o+`DbHXWOV{_Til7Qz7I8Q8`C&%X2%u0|;A@!`Ud7@6)FRuF{orAdW>##~l zi>{^+o(-{S{9LiV0vEZm&4uD+w-+Xwpi(_>KNOmC5rhCOLdudnCbOublAl#>T{15Ns>zT3;9o|jb$XHG&(qjHymU*mv?Yb|cX zm(cgG=L5qD-sl{WqaE2snh^nCv})QS{GZqdM7XEA;^ZO9M!NEQ&x0kGsj|2UYD_9? zT;{ss4wQ8X+2OL}zjQdK8RfCutC{2a;`J%qs(cYdy~E2b^KuIbtjuGUr==ciV6q&2 zU=idvRa?=k{=A5>O7fDv{^~Z%T~4hg%o4qDr2K>5jbALc_y#zy+t>h{Szm(#tkA8| z;tz3Y9-Sa}j{FiHRB`8t)Mu8&6$EC+6;Mqx+raXS$U6i3!F?Nb(C$$5O5>FXG-^g4 zgSnB1$Z34#1e>AkSW{oIyGZt-H}Qt-u*9?0r3Y|r(dqyU+w61elP-x|x|SmjzvKsR z?jYB(JfaO>Xn=D8$)AJvHxO9AS6~h^zu#h>=!@92Ldft!QC8WN#(y?^H9Uv<6z z4Z?LrTo!ZZMmpvl`bO-XTHODFC!p{FX=%bab(^;gi!`k?af{@$kv;e9#e=wzrdOUD zD*r-k)#b@p(DTgFI{7qItJ~iyv-*>zb7ny{DrioK-kz2jcaQ_`2dU1;(jexonE4Vz z+(r?*lm7il@8!cM%+FKtGY9uTErzX~ca+XF2hgKgn8Y6}Kp4Z2aFv@>Bp;x0yZ@d# zlOuRr-b2NeGaRdI7Ed_7NhvUT*4P7$b50|~?7Kn}q5hCDJKMWYruVf&-tkJggvZ$& zozet+#;s+oLBBcm-L?r-9g!FK2<>I(=ntX}1iU_%_9QsQxg_6yLyAs!f+h)TaW2BN zp%u$$;mqFbA_q;hXp`8{tHL%LB8VDlVT{}_po=*G{a!U zI=}jHAHxw#d(WU`Y&x7_w>y5s3Yu$8pG~)gg=8$|2|*; zQ&s&<`YU1wG_y2!aWr(cv;!&{IvU!V{>fdP{*}6_*{Y~Wp!sq@cOV%JX*5(=*wIV6 z$DplO5}}JI+CW*5q^_qjjGJIVHWJ^9Y*_a*&DlWQ=RCtq0Bb?1?4NRhhF%7Wa)!b&jkEfiS<%oeB6!NS5E zt07z3bAhuYtrh;7y2N>`QjLB=?md@nUM7}G(@fJdQ4|g*V>}5v6t`lNV&~X0C@bZ0 zf4!8-BgrK(@IT2SQc}qhy+P5M8B~hm{CTk z<_~?OObEa{Af100q)?r)KC(Du`pNShEWt-1vc> z6OpB^vP@(_ND@yXcrEx77_pS#Ed_u?FcphBpfMVRA_)Sho3Hsisi!@J{de zHcQE%#%raU*`*`cB-mB56**IL+cWP=?0abFC6RnpgE6MplI(TRq}!on%EL}&0)nG} z^v;xmrt5r@_DvSE(CfCM)s|<{42zQ0e2^idZyVF9cguI5IRfMvQC8rQXAnrR$kIHHp^L6p)f-l0B}j zsQ#lv)hCyX#Cu0cGl?IG)7_@$7}$E>lgwd-2bVFW(mCT%2NDW#AUO90>ib)-sQSkKCpsj+2*vKyf3GB4U? zt}ZApzzh4qGq5y3RNP@}8{y1A6vXzz!|0J()GE>9`()>1yqx@mw^@d|g9NmjZfy1L zVpp-FuH=6NMtL!4Um)P=PuUMpNh-*??y)qGEUB2V#*S!Q2Ra-c+W;0`x-DTSjqO*^ zYayccq%YtL_9Q~14F_Z zNoDy5B=0qeUbBz&7pLsL)$E93wOQzu*roT5?SXlP+$QxEteip_x}U;NfBnAqOGXRM zIPufC818bO_JO<9qWFe-pQALu;L#K*9A~Q!uHa^#%a>>@-h?q&)8s5GKZQGU3$;DY zgU|jBJtTAB>)3sOSjc(l8i@~LybR21e0-cDSG|Uf(Vd~X?9Z=bfJVkyalw2)`xo{^ z;_gYx$5ufH7jiyTjR-hQy@F@8Lqxb*GE&m-#xFNS&Yr3V(lLQx{4D`_lJ~4Ux3HeK z*58J}GOmOubCJFvYjp(HHK5Ec5Gn>3G%F|w_7*5XDOloxchw;a1lk3O_F5;7K5Nt@ zyn?RP7=UW4@`k|m1;d}nqcC`161@uk6>t4Q=)GY7)Kz?Ne;056zP9?)nKrg_HFfm( zr%3S6I2#f_Bmb2dDa=pI09;8)>ClMF{Z5$u?hu9KQ$|vf>3Y~p^P<$`EU{H)zslqG zi#OH5rRPAt+`6TCukXU+!^H>a5As<4WUOgr)CbMdl!GYI_LarSj>U%g#2sqf5*f>F z0@eNEJ4G{#=|SaN(bIH=QdVqkL_p}Z=h%#Hs8+ray^a~#Krx|SjJnw8uA9}byf(tn z&mZRHkd|g7Qd0A6Y6RO8J#aZ?vb^kRGvk$(Bw<=*@?0raGA)Hk8s%K5$70YqH?Ox2 zqSuw=bfo272t4pGB<4Z(?ySA$(Eu^pWqXcC(h+Mv#BTJ1>T8U-zJ5YGZ2bZ0GpToA8O9kOpN&3;o^fDn3%#5;-5!ZcoVubG^y6 zov)~f=a3icAStCFok;y+#o!G>D9xvmraZH+^ZAf7vGP1Z=?{BZW&xeeqd#UTM={<3 zxSM*-SX9NHzh4fXr*HOSY+f>T78uI>W><+JttFP?oi3}1ISQlxuDpX=1&;6;4W9)a z(5E6dH~AO^ZD!;me^?kfthBq`?jbTI2cZ3Jg~r}7Nhp!_Rmz~+?9?6IS(z>(ls@<2 z;x6YKB^J$V*3;{)Y(6i^{O52blC$I-D%YDIAhP$z9!x2BQ!&byUVnY-qJiEJFzOKj zx8;uY+0pt4;17&e%^8iIK8B}Sh=0I5oTv8<x{f+2+SOPE-gh```9(3t`>q!Z%5!sTBBt(4U(VlInO@`i#3e?Zo0R?MrBP$Znl_u3R&YC#{qAT39sp zd)nUf0_3lP<2P}Dh%je8_p2g<+bGMc7W)Q%*ee|<(eO^c5IheGLxP>Uh!N}ixHV&K z3J0+AH_BUQjp4FVHt?9MNZ4*5|AO|cpH43NAG^>0t?mClrTaIw|5r+NEl zXst!$vWf>Tc=!7U6}^V0j?(j!|V1U|G#Wwbiu zpkX;J?nl$aUm;THmXpdbT>b1g&t+0NoQq_g0a+9ZLk?M3DrdZsDg|AkS)j|^XjB4%@snQL2clYOyVIj!;NbVc3r&;w=dV~K9Zvj!j zOV~eQRO64T|L;o(j{n5hl}#O7Or4zn3AYrLEg*^z7Qc#xI+E>>RmqZ;Eub8F2RUHV@K-ch&RzVdte3f==_`%FJtV?B;G>pq{qYQ%Jt)Flo08w z&uL*uM-O}VCFT_WN{`PPt!yCKY^vaZ?_T_(+Kh-`Mt7{A{ar6)K3HO|6}AMrh*^4# z`ZU40xjp>VLvNv>wq3ik@q(vAO~-}CD`2F>8Ia`VP1KJDSNBI=zg96>bWX|CbEGh9 z%W}m#r2}lDzTr$@Osxb7Nw{;|a0M6Bw@u_2Uys!bKpwnB6<;zQxA6!H9VT0XOHTxF zrS=w^nU?6_)5qbM6^43C${cS;9Ma%r9ht>A%LvSUC9#zwy=o?fa8Ox_o3g5U>eXtS zz!)fG1f&^_JU!T9CE9Y{b_PBr<;P4o9S`J?&9v$YG*>1##;q@-`P5j9gxKw34;)`o zK{&!$t8f{Wv8?H5Vs zx?}eF58+z-lCz)U4-#ko7K#5G))8|zHFo){oc$kIM|$uZl8;kF#PDfOSxHDppjJDc zRmmzIa&UQw;|E3C@zdy)bR)9ggmnEa=r1Y$u&IEz^*_1`jDs=d)(6Ipc$E!`u(${rTQ8mw=zLWWIF0k+M zeT+n42A}qE0BUPpx~!iukEAY;^^?=Pn_D=BY8+X4$p<+@Hx87STPhpE;(N%e8|DW4 zK3Qs=$gy~jU+^D?#SocK@=5<99lbxKGjnP#dXl(e83~^D1S!IdUc~DnAanP@zFTZZ*`wtHowm^>9m-K zV;z6?P`QwPI%|3|;=-4C*1#`?EW{}_YE@?5kk){6HaK?949z4r>u9Sx?hdv{McF>( z+{p2=Fi7N9n<%A|HR>J2^Aj3Ct(zEO%@rbB%hVjDEQNJRky~-xKK*91?=?@T{QiWOOo+cDI;OuTy8jzk{$CWA^Dl5O zD3l*nDc6^WN3H{5VUa6p^9=8Y{-R+M(eYDGKRr`V7DDqg6>Mes|iZ5iUw>q2_DsSR1 zv6PSj7YV|wdi!>lvDf@rBY4NysS@!M6mn;f!q6z*JVN!zaxCK^d_bdwWPJ6UG2p2K zJoi4qP1HB{Pm`k_i+O~Bllvugcle8yTh%kB;-^iOKBg72UBgvDWWB7s$8u$hPJ|nm zcFLdcV$A5>Y0Y0+q&|m-vQ!I+i$f`8t2= zj#j9T|7Puw|I_%-Z2n@OVb>f_H7E9buPQ=@9MBHPjMhbBA@<9z#qsF;!9asJBfZAl zT|kKzXhb@fzV}Ok?Ne|9zpLOR+@}Ik4Ucf7RA8mKW#sDZ!Yqi`FMo7GFYdkfwrSNs zBd2>sbJdx{h)HWT-#$-XIS`mi2J;r0U!9Lw9pT(fRr;++I6+b7ak(hHu-(E3vZ+$U zq-Gt7b$J*GR=*_0>E3 zf^UW2H^JKqaNdJQr!qg4vJ)T&(s=0Q;w0I#gWh+iY5tS#Uq5Gp!a#ES6~~ zxmzns7}BMuXCEqS<}rdqD@!He2P)jnavATFhkpv6|GMl>Y+3;DYHq0h6y|BjsKBm) z3j@q|lpo{Q4$=63 zk|<7awExpd1KfCeP8X>H+Aa~n9-=URKH-iIg373s#E~E8hfV(s!;+cal!LZZ*j${@ z-jrpiP+osE;$@-{cP5w8jG;z(v4vWXGSq=bv`jjZ!8Ft57Ku*rHfE)Q zI3?|pa*JFU*~xN=dWy5nwBiyNl&LO;^i+C6*}!IQ!4`EHS5^9gw^~t-#qg+uZD>}d zhF8|S4tU=l2uOLBt!krcB^8XnpS>p!zbH?uxoxgC*N9B6g^U{g>87h}CMHA~BuAJ7 zRsGW&apj-?BOac%YN?v3%8+A`^01>_Z=vTb*{07>A2M>ns%f!ZX)WPVx%W204fF>0 zZTn9{xm_^oJS6INn3K7cC`u!OL(9Q#B}PS_MP6?-sxafhgIErSEH+z7JV<10Dlvqdcq*`^n}q>8y+p z$XV2)DtIp(p|&p{M=i{<@#;?z&=B)K56~t@%MDjkZSUu~hk6YUYn~{&w<6u_CHlKq zwg=u-7cQ^>K64t1%GjLDWPQ*jw&{;l(3n-~e(IE)s5H1-6F<94HMXz^H0-4X6n3=& z_upRq1{=p}Oi{BcjCB?oAJgR}>@y4R6WqJK=|sYi`-HoKyNnK4u^%)H;wfEpnMc@w znvvvtux~+4F4AP)V(JR;1PKgr7uqzv-wKj%`LVY$Qyx<@vak#VVeg0~Zole@g0eJs zN{|*cFk+k1TC^udw^kE*lfT}YOVV2C%L~|aBT}!~8@(cm)>5d~Ke%1$QUr)+7wvo$ zBe;k9DipwjKE{#9$Y+<9{YFAC!cq}UnSih-z_jRYH#|X!(NxziZvtOngWY2>v#=q_ zrDbbHT1~T1_wTs~kRvaG)TyuH8of;lb4Hh_SlE(CSA6=6_+;6Kw||b;LZXVu7lo3B z#NJUbi;Ev~DX0GG>H@0T;AD$$HG+V6?h^RSBJX(%Hi;B7HMR}uj)LThtJ5V{o2t1o zT+4!}*H;A;$h^bRqkJ2JXX_QuBG+2es!fO}dtB#HUF-h{y8i{sD4ROD*!)Wg$WhZ)|HCz(2+(lBeY@ovx1o`2qSD3dYPeP%s za79NE;Y3RZa+C)T=FskqPa{A2@|=Urnh%K zpW2?eojyOG@A5#V_j&^e$F%QQKA)C;(zOKFfZ-#Er#~TfpnSnlu zFTSB7@ZYeX>?jV+1)7>kq=9-um?9^xLMB>_<)`9^N9`FH1CkWtom-A6>0to8JLaJ+ z5Y`amQ-HmW+S#Cr=vQCW=*b`6xE)VYJY`s`Mlg&dMF!u*Fv_r-J?B~3GgvswF_!O} z&9S`4kl->Vn>-|}yUtS69Q2f#gYnp->D!Gn$h5OdWX&{KJlD+I%Xjfa7{ntI0X15s zsO>YF0Tu_jz~qpee$8$gR==3NZ+IiGYR+Z1Jmu1)G}|C8H`|>{?WWj)s3N8@xVh2ZZ3*T%42jx~{WM7u zo!{hmuK;Pm{Fu(MYW32a=_joWJ8cxkBzdXhH;$A{c#qG?BH3mi3{`gXr0|Fk_m6J! z+2$(?IyXxkuLzuhn?eb(g%dJWD%}`HzgAzkqQpFaVJApTXWPs8ng_aG&2t3;xWKbo z*~=&M(P4(m{5gRj^|bNsI^WA@_>t+{f`@Vo4_7H9N)#u%Ufwf11Wn}d9FLv2l}?T2iiuw35=jSbRUMCaGe4zrp_oj!#mz84n8j#Qtx zf*u^7cgoH_kustm=)hF?y+?F9>!qqATmlgV?(x!3zbK*6;a~4y5j`BlG>_@dUlf_`V^((y1c&V;r+q#Nl?sz^;8;URxGz*O)%Du zfwR^BOBC(HnNm91%)dKATuRlIz%?pFdhctV)pW|W^(5MCsYp5lAy!#5mmFmreU z`limT15`R+hbEI~OJLk$RqeoA&h7=^>2rjO&QY^J?YUbCPEn+s zKe9!2$W6syt&}aY z|Hf?HJ{&HgRWSwmdH=wcol~qx&MS}f3zqKw`J9bc;Pnkq`!~>k(OVok%VCWlRzL^+ zZjmot*zC5>ll2ExW*n^o@1CT!oU3$WQVDTwIyE zh+o_qLG8YL7aGBEQcKkV9)PiB#Cndtev?Y({MeYLff zT7%02q}I=fE(k^GGrRmuI0OFJQjL7|$}if|)qJqlZrt zhb*!Mg+_!dUWhioq1<4@R6c_~KJ3ew!fvb~9HL0UscBlsMSpoo?~HZ^1G#OL#kHou z)a7c)_&3`{bD*V3be{m+Pfdy0^y_38&?Q zhm@iw@Gq!e_35kSngTMW9xAD0{OAPfDPt9{Ybt9uI zs_egZpb`ot3W_b^@n=TlCYmf>476fN<}}AFJg1&l+k$+YirvGH{4_w5MWzK zuru15BnmFb%C!sH8@SG5kFU{BGdir3$~Q5S^-hm172Tvcs5=2D_y$*5Ch7iXLg^m4 zr1$^f!8ZTOgW3Ln{o4Oqu`E)yblgxv+B|1#wi4RPU@5yN;3IF|5Mc`9vjcNR1eH=I zU5&|vs*%SUQWiU}AQGA56E~7eE6{CMDA;|jJY{}`|Wt*98xr*}0wSYXj zNEuDtq`dZ$&cSJ+s3*?NDH~oT#-MOprww!fl0OH@?@AQPVO;Nh67j^@ zL*qgic|)}^C0F5iE=l<}daK<_G3JgPFUeCD1-zN4k%!0rP6~52-`J|Qegtw`uxX9a zcfRrnanI#6*An$tq)FH#D@qA62iZ!f0|-u7_Tb*)fODgZf?<=CmzgmuCDM<1L^1XX zApSK5-2pfN)RN=nmy=4xSccVV#{4`JByuX- z#MVFkw}bPHLv-~v!yAZwGW7(>Mo@mIqtCL&%!yluqn;VcbMl=_^23qrJ4=#_v1^Ay z&34UVhOx3&Z`1CxuVemai|wWRB^bk)vETPLu*c;oM*uRrYJ+WupTbV_grN}hgf z#V^je+eoUW77bcvA1URKO$bw|wGivN7*lc+Juir1JEh2K1>Zru9WtXe`Eg_Ng%YEj zWTB(R4t))Gkb_Uzc-kL`sO$tRNOgf7QDAm?4QQ$-afY!w92Sg7UTtm%a z%+e`Be%Ghppa|dbIvF`$5-uy7ZC<{_9$$Bzu}#(8?+wz(6K}+OJBp)gLhMQ9Q6B zV~~P|sfW$j_h2sHJme8Y3vpx7xVQOdqdk$&+Xqt`3b|u&v&}|Mh0n z=a^a=1_A)+{8<|J|L$-y{wr1}{rH(e#*T&#=5{|x5h5jbJLCVcHH1a4jn2y28!5newl2#9{z8Ye35mK^n>1>i#spn)q-aaKQrH2; z`l|IYYng(XP_6fK4e;$d9V`44XZec3p+ezc`1fL4kT?6#a6?QBhUgN-TsUD6c+OB9 zqgR;1w*mDdFW=fvlcF9mj2%qbBwVTrP%w}SR9LVg8{QW4trw+rIEnd~pQDAF``eY9 zpj$5CWW>EigK_VyQQ0q#VSN8v!w6K$QRL_1)(%5Z$(hI)E8+x9Tswve|8 zXph@S;}AA(FcvOYHVKu3EfG8Gljpcn6`2M?UF5Zm(Y?s`M&{29X7a1^y*qQ*cCKOH zwO$2a`m(BU!mKJ#VQx;g2iS8L_5BfYkNX|wV>xRO_vU8sF7Qt`L`=tyau@iHN5mC= zjpsUIb?34FI<55gy0WHY%1dnslx2AGc%(dT)2}=LP%luP@kt zj|Kcc{xmA)Kh?PZ#H^xaxg~-4;k*;mI30&!YwPRl!h)-VwJGR-1N!qNJ!Bd>T-2pQ zcX+`!x63(F9JSACB0sTmh@0P93dbqft$$Z#U}MKj3D6F*f#@A=lM5y~4$q0>1JM z9{UQtXR;*D#5oPYlA(>0655+L$gb~I z$tUo7-i`My7bVhcpl*Y@h@_qo6YS0Z$XL2m4?6gJ%Y$bo_%ZcK@2_ zq51!SKmQFqe^kv~F;&rhs);LyEdm zhVKRo(49>VhpFGYuQh>^{?z^!Q(I^I5$G=MUW8tMWdVim03=^)nD;aB756@X6xcExCpW>Ibw=a8$<=QwW~4A(*yTN_QIW&2Lv zI8>|OVXNkL>Aj3d#TrE-)|-K8?QF2R$k2>N5nl?JjJryA#4XJd)Do`JycZ{Q&z1zJK+(}im($p7ALzxYwos3!~sO3t+5o= zX%9Sd*zlF~HfPifCcl2f8G}1Ls?f)~LAfgg0@syV9IUo77;Jb)2h=yfcsmY7V-r&rd$xnR?( zs(@}6wLo*yTJK2a!+v6bI9&|!_+w(I?}IxfUFIjUno6@9qWiyYbva*YTy~=|aKP;5 z@=*q7r#v+1+J2TLB;Zw9A=LEZL%W`}R!qM^fa^ahlSi-c~;A^h0S6lL!$LsLi$UGO7M#Nb-M%!P((drXtT9g)T} z*Ui{Hp2H{26Di4q;F~3Tg)#D-?R60BC2B@!KZSZA_L1pKc_StP=_F;G?X3=uyNYv@ z=m#_f-vbVkq_?tstt=*p;*n0pbx(?T+4EN1#Kx(6Z9x=Zm*w9Ko5~7oMhjMercPXb z<|f6mV99h#hYiM@qtwPS+mqruxfnG=f*8|hZrD1yiW|(URK(`AF_OHjq_q{U-crhh z^quk}1M+Gl*rZ}OWriT^D$X=fx^T4Zj=I+&jAVeUPLt(44O`3+(*gGV&Jm>2%N3cK znpVG@JMGsWCPm_H2iPYqYn_n#V4U;@#!!DjFj1GTku+tiY}FOE9~7K3)toZ@=ECL~ zFJJlVAQB#MwbPm#k+K$|Z@T98H-FD0nIZO+Emru5VJ=1zdF3j^UfTo$^A%B|gB5(U z4Y{b8xidIjM;B_Z?#9oWM}tM=9|FoLm(G@9O>pYw|oG@Hlfcr4dn z_lAS9NC(T99bM04^WrG8eQq}Fn%Ek2ZT`|7 zgS%VbdzB1gx(+$r8IKORDF(w%>DUso$Z`%ZIBjRm(S|zG5T6FV(fwWNAS`L#zj4it- zN$xCmUchqgL74Ku71$>k^vp*sK?~gj*XsP~X5ki-n#pXYR7qH_3wg07hsE@fBCtYA zY$G;Vq6TFf^5#tPdpn}#7uKuDK}_!kJ49#TeIORFXq7Lxz%D}xeP`nLRNoVQXXLks zSb*yR_peFM`2Fd3!1ZUxPk#UsE#J6vAmwvd`%nGVU%H~mJECj{lEI8c!;V;pSfaiV zmwBeM94vg^&EQmf?PxfaldfP<*V_Fu{-pMhq#eI~!dC}-yNNH#W_3PxbU~`~RnZf` zpxVf5-G5QLMbUQNdo|J+fW} zBe|}_zr(tii&?h5>aJ?jN1FI>Fg!EPjd~jHI_t;~*6g6Vb4yP=L2^ZN((p-Y2@&{& zciff(a494EITfZSYzL{GmEy7Oi2Qo#n%E5`xFPC;rM$T)YA@BP29y@b72q~s7GTqe ztzCrEH$d074T6hYapch*LXTwATq5S)*E+0zb7|$}c0e9czR)GK`^B9VRW>#)!IFj0 z8bV$)5lBxW)b%~jFYp;|{toE4JL6^BEl2!D$J22!VZyThB42cK98e<>JvQoxo%94k z%(CQ*9IM4gxxy7$LltQbn{ZS!dDxSO=v#wOS3sd<52hR{i%_ZnkaHaMye^i_pMW;P z4Rjj7p!v54J&+=FcH49pN-Gdj#BguCURIFso1gGoTv|s6_6yr=7Ck^1qjc@3(iWzq z;M^*92tQ9&jzWBXi>4wsAl9W8yohi^m{umBFFBYB^j5Q5;g18TdvJCR((P}%pC4+w zw*mj`YPOF20mchs!kb6DVuq^55Y88xgMGOVNgk5J+On^X@=(+2gVWP@J^SeUPx=IB zZKCX_sbz-nZzP1`e;oq;JKFm{1AvOTC!#Wvk8Qh@80Z2B)gmwiidZ`^5-JpdHlWgi zFhc&WN8)CPIVs}+RdRdeJL=k>B0T+KBJIE+6j9pLCWob-8=|=jpcN&SUOt z?&s-`rXapw;vsL+^T~Oi3-NOsn6{n}d6H8Ko=TO}FCT-_Xfn!S5?%ari zNF7LnN)PbHh_D}Z_q`~c2^+7{`br7LO5~N?O)kJGmhYHY)R*Tpr zo9%-5wK@{YD8c7VdLr<-M1~wE=F46JIU{tRqUwK3vb}(D z%XP4#6GbovH-n)(1&1iC&-t4Lze`j(NOb3%cmF1AKSlV; zh)qC)j`2FFOy+pZorNs3woJ9s7#>Sd9a+D#aT?>~MN452DONrTN7yy9QEWOUbCOL@ z8H6ws{~n-93Et5w$)S$G-Z1${(8B!slaSr2z`(94fX%}wzOj_zzGl0sR<$RyzTpuI;>w`Y(yT`MEx6q&i8{vB(l1x0yqf&5+qzk5 zx0NJH-ahHvB{Z#2PC_M6&fLrdd@Maf6X}={6uqLHkyHmIh{`>%WRYLWj$xe50JZQp zfntpNaAJzO>dd|)-(GNfK~d5%sW_Fb4Tl}N#Svrd9cP|ZH!Wk@_!PsAsX&UUT}BG0 zB#^;6k^n!V^kI97_lsZC;_8+9&J38xvpU5 z`P_DE@6W~S16GhnofeyBQsu4~!k(v*yE^^Wgi>&ck!G%$p2az4RyBH~$G-MQ41|>J z%ZPaXOU*6^3%0|%7@mL396ef0uW^d?vQCN?y}F!Mz+ zdD*OR3?;bwWlV(yoI{UwvIz=dGizBH9eWW!drlcb_-*lxVf}=-e3+$#mqM z1Gq+GZRjOn7&Hu2fGNjP$I064&&^w4dQr@@*~g=Y7`yWzPvj9Gvg^733bg+c&r{%Y z#|RBVre93Pje5&r>_KP*uSTAV2YP(l9SO;Aw zVrv-SPlD-Yf;h9(Mj|r>`oRc^=xw1?ARb%a- zaPEFcOP{1qWNGF|xtQ0lj4=tcjDqRe6o7yer5vpg)W3D{Yb|T-xwE|a8e~7xz<7p^ zU-mEHx(8QYPy~JdaZS9mf!uh1D6Ti;zrixc{|?LlS1|Cu4DbJ&Ve&`u^S>n`=W~_F z$#5@lAG~(xAdXj;AiCqQG!X;{$uQnzbrbQG3?H~}D)ex;=#ZSxf~e;%Wnny$YU%Cs zuIo+58BXu(_t=>ofXTh|D4Y=X8Cwg`c+1dr&k?9+?w%rbn*|qY>kWwhbl*`S+rFI1FwhU_fu7u>yX(U#R7lZ z7CnpwuM4XyP6Si*5FaDD6&cY`cAQp}_+eO$jg%h_Pz3Au+^UCWb;-^^kMhdci#HZo zo?$9Q#8&yC#?XF@mJOnP*xVx#Y6V9#j`*gw89H4yRc+@L0EWVrA zvev+k#x>+jm-=x!xmK+<`O1=brO~iDCI<7;kNdm`(NRa)peR56Ho1#=hw~ zu{fST5;~$)+!H%2&sgJ~?E-3b8!qfymT59u57sg`u5nro#JI5pA;YpW_Ka z#4!{NsAXT^rG{SEAHpgV3=>Px*nkdRvU_e~&6POGqzpwW7s!j^8I$62QR7HUL}cka z9%3EPF;Zhl0Tst7K1PQHn8XBL^v)<(ZStdo>L{D=F+0XsUVYtB&AEihX|^LGO}pi+ zuXOf*KgY(y^|cZKs{e*fAdr)xw~yK`*vVp-=Z)5xOkkB9%r4<}HkwWl^~xRzu=AVi z2>aW#m-Al(2oDmvRltv+BmA#|&i}50{+|Kw|68=<$1K56M)QGzL$R~Qu(D~2E)1uh zCD~X+E6~#r$Q7Xv=PSMCm~aqaZMb0Ytn<0OOSEcgGBm~FeJ{Y;X|N(9$>bOXoi^Ti zcF%rxn0~#l+3^9bji^Zo!=u0_F@&-YA)dIR5X~;@kl2yi5}ddq-@G^@QO(%2r`&Ov za&(@kbR1#S3JD+fY11-iDt~XPIZqz;sT#{&6ageBisw@hkQkK)3ItTKWB$h zFn4U(uC$`Bj2_0tLsCczhh!MGkH^3!wGcgHEjK7NQ8njjtP-`@*bUZ_ z49ZBk%?M-Ep|)P3&?J{KkmzsJ%hqpYbK11VwU2hdnmW<|*D^`N@iX7v~h~*h`0=k%8neD%nbYfRchX-yKcs(n4!gUPxn% z4UrC%W)-%`x7xD_fq-N&_AMd4fbqNK^i(8tgPh7xSm_W39L6v|fC{Xj#kg`08$#pq zxou6~Esi_0mad2pf`Z6S`=*Puz>h$%AG(`SYy4{Aja`T zUPQG%Pe8{(1>L~7Lhu#0CVnht#nQ2Zy)>+_nR?@IQlJG(=cnkA#0r%(vqpIpq@N$D zPw81mZg?B4v&D{4YR5=w?_23F>>O2)biIrLmOtYmE{Jo?57pv4Ea=q17|4PJJ9s-n z@{9qI#7nhYng`0-aZ^ELnkaZs4bC%8k2tocF*0<-i7*uySexp+Dor)6+)Gy{<>W^a z=C+xo49DJ>B3QOel9^2q18D`B7-M18R6E5&R+%I%6Cr18oA4^#T|qPGM>;X&dy?&i z({+7Z+F*$fCqnk>oy<&{($-gOeka6M>aXd>QBK@^{QwKlq=}7wNy21Lw!axao<;a`Kq8ARm z$bA{P-?3`G{Rb5%k8Qb!_78k_=Y>ETPjv@=bEE-2=P?4gdhM2oPND#|o9EC7+*^C0 z&5|=k*c!g-()nswUI#7L0mSVQE{;mD?SN+?9(KN9tu1`T%Dj*Qe#d%eVy_o)lEK}Q zi=(hO($;$M+3(2o5Fc_4Sa@jjEgYh6W9Q4pW9)Kj^*$pl!Y)Gc?o(8SS~>pG1nfuy zSF?Em2O0)la?g=>_5tzqDyNPhGMOoP`|Zp-0|l)?ZO2p>n-U00q;??+#uE_e+3*rI zE^+XWN^Ei!^!o5)tswmC?UDbT)hOCJJNz6X`Dde_cU<33GZZT1+sZ1KVHFLi5puuw z9uR?*2I=>Fp*S9g{ftDZmh)*+A(k5x3>N@wu-&--LM;;K*XL04-Q(vi_%6Z-yar(6 z_)&c+w0j#(vTxOeghgWFoI~Cp*@|@&j{cP1Tsd2bl<~tmef5(`(G!R$jAV**3(4|A z*CwhazK{2tY=Qajb0+B4-j_0#Y?ZfkEczTYMfbmD3^A7XwFw%EI+X7M<3Sx#IHszA z+9PUHvuh+~2`oZ-3&IYJJ%}f44Cpm;-D%m74<^HAo|+WLjgfRnY@a>KLGis~AS6-d zWM2^3y(NKq)f99$)_HgZ|NkdWZZ`j#K|t zJtqBMCln=p)BniEudawI$X~+=%=Kti_;LYa8DIus#6S>1fMw)EU?psI*cRyW>2Xd} z+#7}>jN_A|yG-2X;_Joc87$iK99t_+_8W1)P)UuSWycQ>wr8i$B7uYx^#f(zg)Lj3 zKF{4HzTeMBp+B1OHN6vFAwgvxB0TUdySL6vdOLF>rCW^t6d9OfCB^D;D!Ms0R@|mM zw00P|9JFhx#ytvB&>KS{z1eDIzNR4TKE#`~DG94;3lyy?qqFV0OL<$pcGY@HW`$=6 zIvCePS%seG5Xx2B(qa6)OjCBNzW(j3ZRYus3<}CK+^qeK^ zt_yI|5TYx2`?4bU4CS9XwEvxz9Z!l2!iTkus`-a*D{-* z4a3z=SwI6jky{i`W^QQS5Y1jf&x?y$WS&sQEri(>m@#M#Rdwy=6srqZy&!9RCYLG! zH=`COBRb&#A^d%PE_t@~*6lXQ+yl)Hrdaay*rG^3N+q#~ za}C#o*Ml{cQZZ+^AO=tP0MsIVU^-_v3_}Dx){r3u5AjbIVy|PbG3>BSs+gcvLA zAm0Wf`8QJ5EL~V)VR}3}yIspKvPDbg1vnT)CkR0boRu5(ES1{pgK|Ha6zd8DF>)!L zm2m+PV+TRy^!&kHM2ze~Fh!G7WfjSM?Xf2VsR2c{fmL|ScBtgcVMEvVnBWUeTA`K!0Ng^OZx#guC-S8m< zWY*9JuxQHZn3eRm`od`~X6+wY%_~* z5|0NKf=lwN^>I?e_FRk>w-j5-U53(F9>^76KJm9!=4BbEEs-wn%dZ=IUrg6 z<{0~FI8IOq)!frYnjwZU0fQNdy(3p}XRLRYcTZWufRNB+h)J3rTHXPOL# z(4-1a!RAM(g4aSr)V4iEgiIOAsJs}XW-)7>es7VftkDgBAV@Wzw2u*1s*;iVDT+*x5p3A6n*^B~M`WL+u!``y% zv~U$rM1)w<{R&Jm_VfVgO1iGmVKg~wSEP56oOTQ}4FUa-j3~vE_u$Uo4v@t+heQk{ z6%9dhY7Zf{y_@y_bRzbdZ{{x6tcixOU9N8BhW}s)(cN32@G019dHEBdjq7frcK;+C zk9j-5596KTJ>&xRD7|#F;teSk{m<1B!NFwMAQF{VJo4HK$dEL;NJ5+uT}@ou zU;SvO6?gldssqnApRHbB<^w6jS)FAa)p|o(iZ{K(;mUQBmfqMH=?{KqC>uxG#6m;X z6kBOY4w!>p%0%uxl&w*4F1zkt@%N~!4IDSbM2FI&?h@VOt>5`Q-^PP4T7QLS{?ynV z3&%i=c(3{9F*YW3f&3NsDYM=Cx?o_TCK%J7AZTZ|(hS1z!Q7igKo@B3zt#@B>jLo=o zlALfm*_1Z&!(3hQC*BFA(XXw#^fc`Aeq-hCk~zJ-x_rC z*6$oK8UxL5-Z-q}fTz2LsJWuzMdm0kU<&M|8;XUS3|j6f$LQ~!qxPlE>s@FIkG0f1 ztK%fvJif=i-m6k2SLhr|=_O3*Vo_D8@2joX&m)bV1A6tQU-$A?;|*7XYd6+d)WP+^ z##xrh^|M4poMJ9WyuEyQ#sN-u*R#}Fv_pg~bMg?xG)NMAgAKt7rUJA{1mO;Og(O0G zNYayX!S>is3|Y@{?Pnd1LqD+-yEI<$7`U5I^uMg$oIYW=ukxz3qf45Ayu&{$b#{8!mFK$GnXl!b2Z1bOryt1_-=8ujmqoXE<3b6qQ3@J_7jGt#!VO<2B($b6p z1)K@DT|P~sJ}^IJ)4p~Y^@Z5;eisbOVHiI*cbka&Asutj#;O?scQQKZ@FU@79kV~P z|5L%D?Ez{Ho{Qu$s1(z++nU`*#K$kaOJLt z=#aA3L4W!T(16K^W!XWgwHpg^6ygJGa>Yrr3s^W+Y`&*dLs{Mo9U%ZAV6w_cGR>@R;(VPGfdI**cdWzhk=yVeMp;R@adzr9vsle z`cq`hB#rGVx`MvWPMBzV-;I3%nZ||vAe<=#q^soo3&lBR2G#5c70dYh;ORedjnX`& z?>k>GEk+C=y8c%Iwo2L5=+Sf|LVeJk5wD{NkyomxQV;|XfM zH~p|j}D;& zG90lM5?2PSDAY)`+#4dObV>^XsC{l_NL6ph^>2RT#-}~>8~b1o;C055h1jD$yJi0z zl+w#^eSzO^Bhi7u;e3fa;PITinMAH(iX}YF;YXKV6J1#ka#4Xgos@hiBGoat5d~+S z_zo3jlg1ZuwGX-CFQ5W3$3Q&=n!NR?2M%$k8lA?DKO`~@&>?ySa20U)BU*1QrKc#|rZU3^$~&A#AM6|HU@UN(k6jpO7RD;vH?9JD}MM z%z78#l7a_ft{Yr9OWd?ukgGZK6_NXtn~3qlJJQXG^&Yg5n4h6B z$*e)3asza~iqVg4>ZC@@+U|5=-8p_6hos3>*o13sz_UgfTMwDv_-m=kuB!r#Br%a3 zcixyuiX?&<{Sj@V{uGR|^KEbt5lPO<0GZf4_NFBS+DRW#_IB-Jw&$NLn}BZ*>Cb)y zj(^Rvk^L(h_zwvE4;@eg*F*Y?{Po4nFvdWnk00dMhb*7CH5yiP%`FkCMZbbCx$DXLioK%W$} zIyvK6>k_u^4D$dA7*zTbhvV!hsoTQb^0wloigAPd2-9!i4|KvzMoLb(=yBtwG<>=l z^~;!8TuW$1^5+i-OM1!NVRfin@CN6}K6JotD-LNr)9aoooj3tc205U$IhGF${CC41ild_HTtxY&t#e*?xto9>7)GOO8*^|Gi zDK?XHLq_+rrpc0LkJ_NNfIw|1fzd3~VRMdt@Kfq%s{0RFBifdSk%9TEp12X~4Beom zO9kw)H`KpAUIo|t1j7J*Mk&sZf@!JEIoS`e)v>|aW0Rou4tr6g$7lwo%;nJixtO-Z z99WP5u2l>T){X+K%Pec{O|hWRFBGUaFFl;5N-Z?-U?UD96FIJW2J)! zmPA=8^JX!P*~XWgg)f*+o$#s(xI@IJl(p`n)Z0P^Ci5(Ydg$Qu7PITDBxnj7noga_ zwuW>LuRf%yjO*kT7uQ(W z4#CUU107DCnAh;7lraGH^{z@bPo6hC=!MU+a1cu%ytxN~FL0Lnc=0mn2p&TqwQwt^ ztvI;)poZwK2t=H#5AyXE^2{BvXRYwK1t&6uEe(v=B^q~b)(&2O;Ul$p_VnlFXfIW`Q{i=>eb+x@{ z=UR5Qw_O>oO10hUZi_S>Q4=##pTv+rcj1v_q?~B&^kSekB~GT!AZwWz$w>9|f^o#~ zD0MdES+g~1;gA9KoCkVX8!f*&rCCOSF`F*Zeg~0Sa(2YPK{3nGE8pg8b&=23xi?RB z2%>;wEb2vSf%-%A_B>uYzF=80#E_;79ctuh=VYgnE%l;yQ1D6od*yhG)(b4d2xP-u zMK*eExc5qj@IXUX)xI>1iMhCzr9HwQCbpoFK=5!`%|08VIoiApuwsNt1|xUd_HYuO zky`VP3ogMVC%FMFl)2s&^Ga4wYPT`Oig1=mdWHNus!~%=8aT9U-Te6a!Eht? zgek*mrS-66gj%8KGgAv`ML@E)E*&Hzf=E5D%_Ob<&POod+?cc?lr~<Wnr!UfB9&V^eoLFjBqxX{@kQB4t_9*VCpHlllkNNmGA=xt*kBI$OLi7GwzH z!_={sG3|{7qi5OnBQ&tT`+G27Wu@Y|FrT#xoXYxWi|5VUnurt__)a?h+BB#1D?3(nTuC^QE$lB9Iku?GjEgEBB-+DlnBKD|L z#4~CqPLGSg6koVdhVaup{^y~n!SQM#dXY@mjm@09&Xe!1=>TwP&HIr9wofWOor@ulUdDJg%q$9QIpEh)_*C__}9c8R0eyZ+-vltGh_* zP42}9{R~%K5NK0(Qd3P&_`-upRssqh>?uC+eGVzQ{16n1RRnN``P#Ari9IYtPhaUD z)r6lOdTaVMa8o+No#I$W=#;82*Asp(q9V%GpdH>QFpL&3T|2<*%>0&kEsEd0(kE*9 z)1Q4QGpIh&O&N2r)P+6$`3tt$Sx9F0@gs%k=*$4{6fOKqYSjN*W%v~?@|~sr!6j>E zB^h2xGO{#XX~kaqn!#7wNJSj$ql2<_vRq&jpPSKC~526xxt$2e6i@Qk_gEv zRvA_XA~CV@_>`!U*)ZB$G}D9TPjf-GJ;Wv-DB+fppf8X?ZV0a`45?Zrd(MOLh{B~g zyEn7TE?es_zBBWV{!6Fm`1rBU@EOznEdb|GAcVmxy+TkcV9zl!D83Wk49iL0A=ih$ zs?N|Uhuc@Eu|Q?@t}wlp?_iD=?UQ|A)JSUuD`1gO|=$B%yZ0m z+k!EU;k!>~&_snqdCY4%3r#z(<6qjBibxykWJGuAhr zu|ik;iZu@f1$;s9fRn}SaH%<8mP%ZRvU8y&uUB6)2?60q;c$IBx3CyC#^}6L%(0kS zH7c}!+TcC4mEK>)j);T?SgCRxyAY=kTgCadU%e*=9AoxF*a_v15CCqVl0Rb~+)_Z# z9nFq7JtM*Ns%Ir7NDupO6N6(D0`q58bMk7TX7ODlL5Ja6>Zl4IH9ZJQ^1=te=$Kk| z0y#Z6Whm7m(W?o&sI~?+)+DaDA~cbjya?eDq;DeAv!*i4^-+$(;ZVZdiQzTWf{^qN z54~m!d$%;_6|zj9+w1~wcmm5XU}{$EK>hE(hyAcVv<@S;67l%#av)i72W|-w8-0&& zlG45l3comEfO7Qh{?PG2*4#v5$d^H_N8U4-}uGUVE zzB2C}!oFHc`eq2;W$#MhLRZit+JYb@2{{>l=B+`JJ>3mD&@g0umk$sO(Mb`J3-R(~ z8QM79nsQ=$A(L4r)Z^zM7HRrW&Er4MS4zV52q2#pX#mWFe4Hz!m&X++KC&NOyj_E9 zzFAhZ(4G!A%9%z#-`;!I>qJ1~1WAuu1c6ej7A6dMJPs6|Hiw2jJDHSS?5IIdo<0}% zm`woF;cDIG(8cHOwyysUC$1SY1VN#sWDwq)-++yDL)6Hh;NsJ(Y|1;WY?mEzUnixP zEgW3ys*7PGDHK&|195onKwP^myr-Vd*XQ7Gj39+@B~!>SR;XY6SbE4$x*j9+V8mfU zg!H?9TnuokEXn3hB-0$j6#Qh zQ^RZrh}1#tGUiIA#gkhdASH680YU}okeuqZ54S+`B=q8iyq$k9`@vkDv?R2XnKWvzWfQSbeV)Q3l2(-o3RS`jwmePQ%zQA6Y@7+NPy zD?u{}PV+(?$`^e)2%9P+;-mEq`R;Rp6G#^as$`oasX(SBWkF|a$Q0Fs z%1H?t4CuTRwM=yKquo*j{c~%rOFB&UXbzh>z7vs(-NfW1vElje$f9mD_Wk#<^gK z|Js&m>S?D?zKkvU04Ka$`3QY<>&&))DCMoF-Jv1T!5ZOQQ@GxL?Iq59s@=R+v1h%? z>pW+TmP(Lq?ojE(>Qo(icZ-q}4;=MBa@%B^gr)#}E`I^AJrs5R*>KAv=Fr_}nBr{u zm&-qq>Ns?(VO#qS%S&nKCy`9yuaK=GDC>-I8W%5SNl)<`Qj07YtqveZ>6Uy`bUTbV z{|z1|hpW)Z6MW8#Zz#|$Y;$48ahO6C!v=g!8k!R)F^?_^9=L!4XPDgo4ZV|+{DNuB zB-|{jOim4ngO*7Jm?kqGnbHv|N97g_r-()pVFQGigE;X{4a5t+dc;tRm{)MAmwM_? zeQG3;YV1tK3t+dH$-3?AZr}aUy87SYMu^;9$+f~Xy|EN2Dw%;aRMXl7!CgvEXx;$rxjDRcR{R7Toh%g+N$v1#)6Hjwm28+pf2 z96}6%J(KPUR_Q|ya3LhPFaE(0nYT|?yqs;w#e=WdnKS2$edM0DvNwVLnG(5Y*!F}7 zwqeTLl60`@(G|-BTvyevXI40PgtABf?XPej zt>uUwNpi{(p+QkZP<`F^FvIsBEI6>a*phzV`KUkG_8rcQ#Y2Xw_j=^Vv_4w}ndA{; zTbET#tJWnOFh#l%CcYC^?zKJv`|X^|IkWTViFT~gIjF2{Fq8|}oo(X1k~-#1G|GU^ zNTUrlzlFP5gXQ+SB=2?fr~3X!@t_~7%ty(l4OOr}Zi98b0p+44Dpv>opRFI)Q_t4Wa$l5G8`DD?OM8A5&f-O8L}23+~U;;j1JObw(`8JXp*{UH>e z`=o|U6MXaLLd_TlDZ#8`p;EF!=VOf8zsT$TdwfLJUG*({7jTzO8>fO!&H4?NVv6-y zQc&gDAM3_fb=wkQjhB?Kmws;Ma+=qC1m zYYOX4YCPRZo*ppd+wsHDK1<${@kA-QREnG?&lQBqhKHN_wo98QiIG$C(dLxwyUiXVkPV6mRLTsR)C3ui z*izN@{%=j1p*&&#l6;%xbI_ z4A>cMrXIH9P-0ydq}#?qOU5Y9OZOumH+7VAax1*27ME?3^-yz=C=Cz^bxR`<=x0X0 zo25Qc44*0X7y3m7%fZ4ha8ux}R6w*UBZv*kWT}eG>$&4+r{uIGi`-~bE_M}#)N(CU zR8)mXwY5xmB#;+5pm?3zk)0aeL7D$Ld_aB|Kl+x6|J_yhm=WZul6)Bm_G(_AiM%vz z_$<`y@UrO@>Hp3d^o_Yf1a`xrg*y}uP?}Bj%?8E0YFNknyd!Re(fOj$&(RW=4M9nY z6+j=t;`zh4_W%)Iu3;(^lhij+-EjLnAo$_$FzgF(A0p2ZQS=-X|pS?lK9==aX7X$;fE28pSmB<~HVmr=XDGLvh;^)dkJEgzFN`H@({#Kk69(s?8 z)!NGMBw{jTF5L`!{w0LfXbAn+8>=xF^c;K{h<8N1m&srUt>Z^uII7Ej(f@-daDB$h zlGZ513rn~@&VY0;42(jolB2+3KP+HG$W&Pv^t^^7dX`(Dx;AOgn#2r2=&}Sygw`#r zc_y)EteY~5Ct~q%i}4GQ1vKLAenDRALS~+>Qv1!Xt-MQ3r9MS`0@bL9215^BlqZP> zotUE5OLG9#gWm5_pn*gnFtH6FAF^k{G-;zdF{e~q$0I$iTrp_-n{NYXS_={};@D7f zC>CpJN#f=9cg;Xpa0l8iLTxaIJ-U8By~#+9%wo(qDy6@T*b>^6Opp@Drwo+sIL@!e z$sr9jfPIjwzC#ep#WU(C38t!xS8MlBp@je1k2TN+xyCI+TjNro>saI} zO`v(N=b_YL@Q)tq7g-ija+wwkU%3|6AtaNG0slTNX~>A6c$Oloi7X{=827j_i~*aMLs=xV zv!WoD!ef|RH zKOI`v9v=0qscdurbZVd4OAaykNIfj2s3p06cRZ1#s?A>UMA>Lzf;pvl#2-bc(Bn}u z3pabF760~)UBPf&TD1itu{p79#9BRawbXA-zU1@n@%S?ZIngl`RQYZG#Cc7TcD)xpAb*eYFewOFOjd9eB0Xsj|x4f zMB^3?J`!C1f2l^N4*UUsz6cw%xc~MUMEb9n9LE1e+4#T0dkXvye^bEF(aFKU$VuoQ z1g-2BG3kHl)KsH4e&zqz`T@s(bPI*S_w=+pxVg8RDw9@Zj4I!GHZhUmxZybQIx+F~{Fu23irXJ; z-&ZXn5FA!7K{F-(hs&Yz_8wRiQ}U_8Z5A)z$z; zYRQlOR<>;ENBqSfjVGlEwB?M7^fTdXe;sQ4o{RgAAQ5SCkdcmAM4oOs;B?6v^D}&O zS#G(X?lLKIomjsv&scS0Yo)~gr5yW8GIiq*t%A%y@U^^4(Fy)y%D7$maIKnsft!40k)8=>6|P!47#IVwcG2`-*M^%@`wKx^k3 zXGpR+j5oh1`4(xg3XJZ%7}(_~-wKgb^z|pgA^K^M46pS|q<1kBeY?T}6+&>=BZm3! zrJTJ~2D5Y=!mz#0SGj->GeYPY6}1}!t2Y(vQqV4(mHY$sA46P<(sGkvwpblg%0e8b zNjiI5QSDMFEzD(K?#;$xn5>QZ)IYC6jYfj~=6is+28#(Oy+=4T6uJ0utun}b4jL7o zsHZ66+8Gf&k5@GlNOa^7HaNBi;Xz6EiY5Nq&EB^#TH zY1S@>$UA43b0Lp?!$5D#+fix50A>D*-}Zes*mna0!WL=c9jaNPd7b&|LR+986|UEn z%C(JZQZsc~Nn^RR9}4C$WIIEt;8(l5e^!|~#P;}&KUIN0Zf3gU8uOm3buEcHQ%OYp z^JmQ`W%@btFvA_VtPTuZ=@I`vP#qAp(QDj>CGud{IwvQNFh181(-AyydP0nScOM3D zcsyRn%4#QXf)U|Eie3J)!?>jhXbz0h#_X)!*Sa*-8-+}ApvxuK%M*EOO|eqHA7eVL z*nczMk`2=zrg~}5%(3j&a?|SOrrzlHgo9*@V>v@VteyI@c^sPly`ay(1nDiD`Z|*=C+a@x0 zafvs<(C1t*HD6EURa^a9Oh~LJr3G_1^qTmV5-?Mt8aD98J!2w_URm2Oxl66jv8BRc z4z`i5O&+XA?TW6q`;}O{`_YO2m#rj)z%jYF_P&16Ef9si6 z0O;evjW%n`t&#e|vPBxVDBUILz6*64p0Q0#eZC-MC1UXrL{tb>aJ;rhi)t?@au!9D?1yVwC>9>Hq&1`2Vd4e|2(yVJE(r z%apL<)`bmpKFZ37b%a#;IhjbuuzuejSmY(k$2ikd@Zw zEd+DT-xxj3F0wce*Zy+9?j9~)g5c-t>ql*up2Lmh78kG$Vk{C^nHj^d#z>}kA3vN4 zZF{l&DKm5TR;X=0U3eC6OGv_y#f94jKR`AJITO!YGEpDDSOmVsq+_Uo)fM8Eeqa3? z<#)u{KrJ@g02c_at-r*DINWCg1`8+kY1Mv$AR>pOZag$zM3X)BPHv!X+Yo;5P@}w5OVkh=;%0GPc zR29BYMLyKXk!HfZ5C_)ZaELT{x?+seIC;fC?VmZ@(@KhGyPP$9OGDz97%B<-fdN#W zRnm+S7Hf%vp{6#mtSmf#m4ZNcQb*vqxFb{hSfgbt>%+_aZV~e4waGWM^%f2kCrJ7kaf7cw5Bagh zq(SPy7g{@!$uePCFvRrd8P3w`8)hIMWVN%0s6VD$2nZ;apB;o675?rD%eP*N5E+y+ z86v1%kKZd@k%UF|@rH2>O~0JA2m`pAPj~QZ6COXwIjwfOZ|CU$@mRcV@TakVC1vve zl|%9G1fKu)cK%nf-hVl;Ex$^)|4GZR^`SGsgjFD+2Z1|_lsBoP%Tr@dVfPtotqRo! z294XS!Af2}dcM-H$az&W)44bm?H0Qf&2G*edrtfyiixp*i_73W^v*tXx1~t;{qVe@ z_#OX51^muJ{Yw#9fLZAEo8C^^aD~5%k&D2jJKXpo{OHvW29^hkVl5<*aQ~DrYk92i z*2Ot=PfnGI(ih{)vI?^m{szaI8+MKlaTm0f`Q)zaLk{C@k$cRj6MT zmVCt&ph}XIp+mcp^yfLtz@q7n6FI;@tLZqFP>a{hePm*Zhrpq2MX!P)wKRbHPzyyq z-63h#zD&F+44)K0+@{QwjAe7b=unltf;m)HT;9SICV<5NP|byzx!wrxr||!aG?sT?6=UP4=CjD z5`qXmJAT{a6tvh|j?e~a$e}6v9GZ?Uja%Zdld*swyG7y;r*Ne&$MHI&W-^)7IfSDO z)%WT;x;THrxM?iWXuklC&CYC1r_XaiYd)<0(=lszIk>62S|=+TP{RWs)r(T5lm zZd858<@np!oK$keV0G-e@7u9(*|T!8i*%be5qW&p&EFZ}wB`hB!9v@lih#)x{*#$) z-E=hzK-;Kz&pIhnJ}k0Erjv0=ScCLTZ2aLVfUtJ&NN6en51VkDjBdvG?Z!xmXY^>e zn~tqJ(#fRJI}tH_EbgOD-bG2M47<(3LuLk_>CjhH`ogG3D2&|xoTTymZ&t4qY74vV z;d-MfPslb=5_((lj<;8roqlFdb<&xL&ghW%aKNNJsD#>Eqv8H+XCh;;ENHii&A!a~ z`S{X9o}T0)UORkL-mC5zLr(c+dO087eo-nb5AS+ZGyq}IV(5g<`!4AymjN%zSr=xJP z*-axqIsE&zs<5Y$gLgXZ&*Vdv^R?W0z&Y!bEA2gimi3A|L9cKf=WaPn^aWQK^*y9f zABy>I4oiLa#|HSGWHm$RGe#!#m{$lEB7<5@rar`jtlv6i&2Avfi-JuL)eXN)mA4u7 z)vn2#TgivDCM1vHp$li0XT3-8ga0pnO%n5+ zGeXYGHylr;Z+nPmvbib6xZyEERBXK?`%#FO=rq{3J8YOjmHz&_sJ7Xw21$rW;ZQem{xt3Xs$& zYR+?c&cAL6!-PS!Cye7x@=%}oX4u6%;T1IkKOpOw(2NbS4$Qv_P=AZ0{0OTTx|GRX zKs9j47o4E}uEw_CB#-RHQm~HgTCZInZm_|fwQ~p8Ft+^k{Cj&|1ovl~5>Q_gW!-$7`k2jaCKgszz z-Olw^a9$E+65=%@U+>{eEvTM+Wart{)Zow z|CwRz44i)bQ@#367V3Z9F%nfRzZ}8G-*&=voXUqXT!Kkl)yZ3H@+dXpF!=kZ)9r(l#pf!L5)U!$u+FfTZnxte)fP3XUB(X(>WK7l^Vj z1gESzYL6%b6#z=*Al{_6mD?*E?{Q*y$l6hqor6k0D=F5Bw(lamwC7CFbn>A{T+V2!MnHs(>dO- z7LS-p=b!vvCed=nb4wUb^Dt7?a^*HwV?RT~4K>OIPEiN`(jE$+&k_cx+!kf96Q|r^ zma@{D24WYFVs=^aTr}(|qZn@^t=&%emyrE%%pou0tJk_utDq*&lgR;C>10H{PcASE zP>E59?FaNWe7BAJJ!bf_$j5GO{|DL^RfN0euo(s(6)x8MLUCN_m_jB70zwH+Gkz@b z%woQAttC#THR}~(lVP+azKirC1i|}NkUq1yu;UCp=TW&W8j%u2_s_9v>b8CSgk{o< z6wFA!z0lRVO6(wQ;aZ&>b|?3Gfjjybv$59WXnVX5r{&bX=?MM0eZH1*j7Y0=yOT+f zou!Ynnk(DsdZKoX)Y{rk6j29cI!-v*jq&IeERD|sF|N(G`m7!PQP7p@?b8e{ z#ed*@a~Z2xH16W&?I7iQr>Si&HqA&-MzS@G8(w9TQjh`~)C- zAe#Arj*=&m)bBHcO-^M+;%<*Th8Sn((=b2azVjnfM|j?)5_@j3El1{O9xTd8BkhtV z{bE;o1iq?&|58fkzbJ1+wMYHIlrdG1Gg3zopu{jO=%i>~!Xm}@uv`{vu=9(1ztHRa zoFX@R>{)J^TYL&c#LL2m$J>D*FZe=uSw5;ub2LBL-Bv)&eqoHze%04 zjuM&}8gIK^U3u>}8UjK8JjND+K+tYL?RSWTz_~mODK_+twDpM@V;9p*#IiTAXNrT+ zV09C5YE=!s=NN)7Gs_03>YB`P@0imjpZ6E3^5KsE^Wz=63#DU{5ZLS&7)q)L*9-X; zqs8W$wy@g{rho`gbS)$aKnJ>Y$m9IP2K&xL{-euS-KD+A8EK|vzR~@v?zDk+o28JX z9C&wnk$aV;amx1i&W8BVq{ChUldi54ZBV^|XEvl--$?T9H28eHmMMvqG0*_$qy(N8 zv~AcS&v{!C06xB*=cj;b1TX_kpBfOJQ$nsJp~wl@%x;->IPmq~yvFv}d{1UD*B|Ml zcuMF#dk_Ua{O#<#U<<4qDe@bIQ;pV~TUQ-*ev3-QYr=M$F|Q1ov4NrwFdr+a)iVK{ zZkNeR?fQSyVZY|Ikw<7-$B+%!9<*@^u2VxujAl_*HFQUXK%?p<)HDWo7w^Sp`Dp+Z zKOgux%s(}H#cnQLn&pkeox(Vjb9tkC7P78fp0Z?Owfid^TL*Yc4-^=X&!kQa{;HW0 zxSWkR^~oX3E>Gj|4PW(XW=EYdF{rtF+Ddrt3bU%iyS*pVZA8(^*#yfHYUPo8OZce_ z+JoVXpMX{z^SEiT30<&~y3Q?Wdgt9K@pTJ+8@~h7sj>*{QFT>aq(;Pw>u@?bk^V78 z$7Eb)b2Q%%ROT!4NHUTo%e%gH8eqp0bHk?a0>gnz{?uFPa)m?nW*A8l-KJj0Vw^J1 zr6|6DZ*h-%dG;rEWLe3%2Y560^LK|8^6R(dXux5#*M-b_Vn7QbB6(z)?&7gv*uhSb z^h=I+6R(@&$x2O16h5I0ToyY~;c3sXm_i~=%TL;;%Uj%5ov0Sr=BmHI5BDh?)7ADH z!6hBJM;X7B+*tZ0)B|u5+iAl}$AVwMPgizzdEc~1stt3!Ya-SkNe4g8d4hh? z=0oM;Gpi^udTZIx*=ynSW*Nl7O<*?B`&#@x`C^%zX+(5wMM8@bGmWHiGe@2O&@4KU zu4X6ue3blt94c91et?8p!3r1NN%$*RaUZKy99FWy$kW%f z)W-iz@XwlcqdR*P`$}gg{VVZ|`+qp12%9_n2b1jn-`1;&mgA~0+Q$MrXJuTYYdd8s zuj{lmOuO3X_b@osF$C5%msRIChWi$rGOZ)YR;o5!7|K63dRRvf1_K@#6lgd2#D3=BkI{21uM(6S(GfwjLJ@3Bic_Gu!eHk%mjv@hUg` z$Bj)vO%qMlxxiU#yVeQb(hU+L>ZQbbZr2^@gs6B*zWgk4` zur;WIF(gCSpX9>*7c&@Oj?q5)u~L>>EO+@0zuB`Yu4GBAEhW4x=4d~rhLb>gty^wR zobqp{bHXR^YS#+qjczE8Qfb=3X%c;b*Cg#^SA6S(F$J$G1q|WH>QBEn$c0#_n<0-9 z4GSZ?gPRHLH;On!NoQM0v4*HUV2MA|5Ktr z4x1#_^ra7dU#Z6bb1^p0|5zXXKd$|M>BIlWi)hz`_EMgo=Ql%PiXRRjjjy%^1D7U` z0U-_tB@N8!28pd6BIh&J?Fm>;fq+WXq|+?7)X}m$o#|Jdw!lQ`s?e;^w6gxQP-cC; zQFXt{-YIA4dExE4!DdSyPt-{q$NsqPIq{is+j+R=Nlx$UbV3E9{@eG)A69Zrp1K=~ zQmABwh9D-r*P*`2{r#d{k|9XGQ8}`#bRUZB9zLCSOCY7qTqu}7PPXW6T79Hb>soAf zyP7}g>ar;4wQVa1hFu&bB2WR!(J*x5pxqp08W(Z2G)tX$1~)>4xaLnj zoISECpAjdRMG~=xh;bMec8iCdHbEbmR#aUbDqZ!fzAb~8&olnboizw#J0?CiNZfR^ z)lfnfTu|#M4i3R){CO+^BQOCZci<_*7Y+oGRw$(#_-4=9K;img*9!sV7)-qhJDQtV zV@}o+)Vph(w?e)0i0i<%sM;H3(=6_fpdLSr-IHDKIal!T6U#9@`o^jl+|mHg`$9!= zAZz4FFD9CzH_M4-XpY^rc=x(`qxzd0v*vxB*nTQB2W-t8G-Uc-}EoWPlw#jU~=6{EzD}LV4gsJd&0GQB zG$d3ezC7{)`azPs>Hf11qC8$YHr(hisb@P8h7?&Hn%Ylr%G5#9kY1m_SW)#>EWMF9 zD#=x3YO;INvS0aQ`FHvKV$M8N0x&aBg;Zn`r*HRBV|i&P#BEfCh2Ic*h}iEW>;Qa8 zrKHQX(4Y`pg`_2_^M}bPhr+CH?I zaANE!>A{G#+0l88zz>o(Bk-Mj{jAQAUNJNfC5USa7FVVpg~U>niXEk}sOU(V8{^ z0kQH17U~vOp){2FZVmSF@3s##{ub8ag;OIvszo2{W3}=fI+tkrmN5my7t_~H7IOa; z%z{$pm@E#GhXzG2d5g#mU;u|6nouqpe` zR_Q=BRxVo6nB24h{N!kgQHLHEt$xu!lZ`i)&7j3uyCS`A(BHvw$o^ft%(;igof zQ1_I(qY=m@W9Ea;q|l)2hOcYa`$*=7tV>O3VlD4cPG#w!ElZj>PuhHmVu)<=gREXv z;yg5HA=bq(Wfs)8b=KY+^zElV^A!x<*Qr>3r~nkElZ>OGhCq6RCF6c9K~3ZsB;@)K z{|_e;Eho2al_#q3ZOe%Zd*VFEjU4|~G72bU6-nPR`itt~)IIjpy=y4yI=HHFrM{O9S%N` zpN1Bnk{LRA!Mxy$W1kg(o*E&nNA^OdN86)>-kYMX79ow`=~%#z!8yfG590XxG}?_GT{JKa)J#kc1wH3v48huTPI_tQ9Z;*Ic|8Q#mTrS zZfVHI*9q?|V!GY8E@P`nfKfedB|i=m6Vs`A*apx@m|*F&o*<9B5@?7Yv=mf)CIrB=(8G zj4ImSyRdc2CCtlQ*Cj_B>h|uVd2s6K%IYg}xzn8UrKV zrKMft%uFX>E3o~MNc=W~U6@7{PJc7t`0Sv4E;AY$LoK%K=xB+#dTb(*mQ*D1p&ftH z@(h)k?F*g)5~IMnK)*dN6a{5MKSz`VQRVX!UOT2M4vl@Z&cW5r){hn2$vhWimS7I%X+U}HT?t397 zSXymGmu*-0x0A?}ocWWfdW7#%wcz@e0`EaPcgf5G{+ZmkSWH%B59rIcl(Jg&KaGGg zxjY3xDSNIF;=FZsqNZPgQ~E`Sh$$9y4XG+Ln5y2PK$*URN=a$SQl4qL_ zm;8ukmk#pu<*Pcr1ulYTr@E&ixV1HlE+Od~pa0GmS>YRFsKl>)SYQ6#?6~B`IM!t- z(m*sRx?58xPTC8%UuIyDlLZfK4W7sAg}d0&U=5fQy`}5jP1+7*kz{GVL%53SS(ysD z&$K$XS?G{BO*?^62&^u8Qq^wsnBJd$?Sk?IuHDm#yQ&taK66d1?xZ3IatbNRKoYbY zZRE0!A#1O4KT#P%_v}^UF5|_WW@rjJ-y#oiv8CWNPQM5_JKjqb+_SF#p*6e*DzEbd z9#3>Cn6<0Vt1r~KOQ$xayUNsWF5;xGM_U`lHJh;fwIHh_N{rdX_Ki<8d7`8D!Rg!` zKt*}j1uG^`=#W&p}ZwN2vI27~=;3ybYa2b!P= z)NA6wav^o#gDvfeC;iDk5OHU*Y-uyuYSWwB3pz$YD~i9Qi}@)G$Cq+D`bveX&jc0D zK$vp}(VEOo#M{iE+`WKmS}bW9Sl85FCZK&g8k}+6^tgn2NXpA;w!sZQ(YMeiD z&m!IcpB4nOn&0`(5j+8O=i7_Z55jjy2I48iCl21`E1s9dQ3`s0MRkAJV~H8^ZDMU{ z{!x4AEP8NU5(BFX|KF3mAp2UfLi-D|^6iOx^LM=|gIsdG!q_Qo4Fp9mZxs3-zd!gv z>#$#mu2>|TdjSC0-Q2)alg?jIc0`dbQ%C&_2wZPWrF$^6M`CHaOqy{)=yS}N zOv2Mi8I)>u)(^<6lIdb{t>sKsYAlpmL#(LF>ZW0@{I%J z5F2IW>DO3&3*0Jzy2B%J_Jr(VUQJ82Y1hJLV z43X1gG8b3dg$Tfpyo?Lp|H1B->UUe{8L z4r{cIWn!;}tzh$NjX+ztSkNt^o*RaC_k<0e@3Y(XQKNF$#kWWZg02BIjy$xem5r2~{4=Q`_jo|{^+V#is ze%sOqyP@1U8uo@p=*gwS_=JivCy~CYxvyn^Ax9Zg^l7>18o9t zvpa0eE%!5o``3dk1bwfLn>&h$VqLnwQqMdtMkD064*J`zrw%R){doMl|;(5-2YIzFfqkkBn^)b~Ml^kLV*Ug3?OkON=WD)$RrL zbIG4#kj=5adzS}$r!M}GgX2xx%%+&5M-uC>one(FG?Rlo4mG)Bz6zT{B7&pMpRBe> zIrr2F2UTK8hkP~zGU-}hTPr>wP`yG#4CtMdrU@Uzm_Y@d9V7AnZMOIB@#Y2E^K7y0 zZq&w~Ocq?y7hLj&+Xri0!S715=wHHNdqtdf2p)CJFszoZcAx117@C(0=Fjs+Ge#lu zb;vO4nB{B7*!u%qgS3zBEqN zRbN=dT-$$|-Hdfw9(^d~hXF4-&yUie*R=)NC;czJZ@xXI#2d42eek7+{ zEoxnDW?_Efefw+x7LTvhyJL4>9CK`M$Tgz|a+_b@DXhIF&J0ctI!Dc>pEfsprfx{`W#w>yyBnSP~>)% zc8VGZI(|MKdK!6pzD!*uW{><{_T$s(|)%%x)1zMsNGM5e@@v$4tl*5}x+div!hL;KY65A0JBMAHmED&tA| z89Av5O&mtADQ_{QI@OrGhl0V@dVKM{Q0~=-pYM_2DB0(i8P^fVY*aS)dpZ}dtE+|~ z3X*ft7>Mg-)-89ZKxLc@iT zZp_~%%t_bPVIi(MdDhGnZ}EWBb#5!lF%`2PV%;uie2S$Y{*Xbam5sThE7@&j%akb7 z*?OJU_@#1iIzk=I9zrXZ0nUbe>6x1|KLeAs#%1i-)W^T|uX|6{-Vf_ExHMIY%1#v* zXAN~JYt3GR%vx$d~_G29~(*%il=aAlErtrkLa4yqbx!gL1n+k_Xul0Zr5Eb8bp7iEKy2(*$T+1JyPK{3TZ^@dr zYEZU`F5UA8mU3$*WeWgh{@SQu86Tp3szl81o^yN8YMqAFdLfBC3hgByAb&-Sz~_IA zGbIs=Wmh&h%;le1N++mSp~8&7h+94}FBLmeAyeJ7dMqeWv4AJCspArJ+*pU`+Fc@CSS>>R4uKMpA-}w5nTAsQ)vl<8(&=Lv zkhd@|SM0YQtZ*52)^BR|e=!o16qU$0K~d z@bD`})4u&yH4?MOX0cz|NVlsTGrGT1US0fDPPF%2sBf4iz;{bh zXUAbpv}1dE6!j^AsE`-*;!wq3SH?Q+cV|ME9#x7E5h$13NQybkDr#H~;_pj93;X;&rH}qn zT@BUxO$Vbg%nHae>Y&bZt_*?M;<0&(%f63N*(d(eWxYk$X;$Lex>(Zd_4kSuZ<@8P z`rw&BtTj?N@~V80Qw-uP6|*v5h-u|dFe@H7e?Ww&bYCGfX8fB<&31?GM&Au5<3sAMSGWCVq5DruWg+}W zLiA12-x>E-4)w`{;y)ey#U<0D_UyBbEg&dVV@kFB&hdK%`eJhN;Zy^Uu7pS@c$dym!8wfHn}Yx0D#xhr<|@*hT^ z_c_sG@0Xhl3i01I48i}q4MX0*$kM>fW+SOk@XBV)1w(JuW0*|}Q)^6$l@?jylFT_zjkgvBS6hiXn~ zCNPs&w({6&)d8t$n`yI3=vP{)Ori^!GTxHqy|zk*1Kxl{bV1tLi2G(0!QcpZH>%zX zBsqH{MP@gys%6ew+9uN(u*btY#jI#$TJDl#geJgVPJ?ijW_r#i6Bf?31F;1+h8irK zmW}WnDq3X`&fkV`3|AVlDC%_uC+6x4fJaP1Ok53C6JxnvZT;q)vmh%SF_}zyg317C zuP|{=ldoh$?VEHc4rkW0?V-?8l8R{(Nn{0zhsm7*PVWjf5Vu|j2671BK30VnwV2p9D58C7uv(f9!j zcA=5xT6m@-iOE`h?$!{YfLlzAfvvpL%1l~n@fet+j7Cw?PQSmSNXWH_v{dNiy1Z_` z;vzfZMkmY2!lhk5;%UodldF)&OIEe79IOQ9hIbL46E?s;QGK&gB>qmV(7M`>ETCIm zxN_Pma2`}9Yos`U#RS1gfecBEnw14j;u+bkOKGUyd1_{ z$Q2%2jqV#>o#?1kblyLvsvJ(E?O4QNy=5j@R>@JcG-fT|E-xKGa{z8&Z{p9D z>mF79h*Ab>W~`3%%BEt_S-HZ}Mut3w;Tktm7+8lgG2Bcb+*)|T+Y6(aJr5(2={auW zOia2j9N-o3%j(d)6)sZT+av+G@QNG@aqCNk zK3Rp*oz@aVX_lhLAvgLBu}FzJss<~r_U6N8#_dkTp(jE<;XmyNc1t;H)l`;I4)YkV zGes>S@sMJ65(B{^lzC~}i7j29B@xlvyCz;ub^%YWz^%oK>v$%L+*pDx2`d_%sT3(m0yA9N)De!SDO{C~HIwO_ zDg-KYGCZ&GkrN4`SWSlq9t4S+P&mMSzkEVocX-ZAeooWBs|=K(I4q37b9SWC?UJh- z?Uk|<4c(1^lX4rNbBiWm@=xY`aEUAzxXWVlZzD9a-mgEgT<8N=G2G`$^>qtW&gEfx zV@IwPvT|bMB(wsq*SW}N-E^SVba*7xiBJ=-;l?;zUVvicz36xMnc3vvJc-BdZ$=X~dK~Tf^I=BG{k?%#YV+YwOV&K)y4H1m83MrJ?0DRx+cMo^LRG zfYycXh&8ltzU@>?9`QB-98M*@WNR7)To4P})b#7DQ)GCRDz=39`=MiP>g>x5JnWFsc4RcNPM0y!Ep~``JdP~~*%3$&cJT|WLl7>7gZfEY zcG_H4+?iC#aVb%nP9KpW{N2z=JmPzm;a+L&2nQ8dV;pBY_-3${xwgW*g6h0qRorrf zskz#{3f@DcO*nzh11`3#u;Mams5oCx@$ru-PaR)SMF&u$pR9Yjn2Ha=UgGq3dc_3Z zwJ!|$PMAgY@$KhocJyG+?2wYHq2F7i>p*TKlea+22S664+jl}9n2uet>x)luSn_6L zFJp)tLbmGoY}^neCh|C7DdtwQYCWeS1j-9N`!nvdY8SkX_n7(a*ft{$jKkvWF{-K_ z1_wZX)*&LHHXMOTKOZNFBbT!4=GA**AZDfXYAM#aS-zb+rS@~1T@RtgU}p;(39I8k zZy|!W#oBp;xUw927;PkmTSc6iRP+X|3)8cn3gZbEk_^2!||M4<|b(7r2 z!1T`57Iam~UL206y>;a9KU_bP&wKi>grS;ZL@E$AbYp($K2#Rz zfFGzqM#!ALMk6wkpwcRm6e2k1W+w|_bSgjIFJ=#~IL|@%V^Z2Nv zEq8gkymBd^C^585RFiq`m*gnfxWPPjsLiaCb8G6X)i}$WzTN0m*XWk@thha@OrR0G zw^#q58Z{Qrc1lVrm`0B_)-6MJZcRj0LF#ad=#R7}R^GH~x^eN#f<@c_y;0|Mm*7gk zD^^+Wwf9IhN}<9EvZeLXdGELHjU&-P>ZG}v1BSE)CDe(e9DmCzm*MXB$Iepu4uxXi zZ0~Y`4@Ib0Ya$g9uXgBKmp1$6aCYB#T z&Jtf{QxtSM@I))HB^XGEjoDKHIuc(J!KyyGCHbdsb0u{<3u-N zvPQQ@h>30M_Ny83Jkvi(5%LDDEjTRm0YT%yapZSpwD1;f8jVz5rT5ad_mJlBj^73xF_wWJE}2 zM}%|*{szzcYdkl{J0@w|Mt+3=sIY4lj#{KyQhfmX)bCJNn@T!sQKu2mU*TYwUk!hc zVDC(}craMz6UHBr2*6PFza%2#7`(ZlA^|1{+RXCQZP{R+{2sOOl5TpFG$B;*pBrW~ zYL1aHHN|EuV@+e;WW-fSsxfCD^_NaCM@10tY;zYtxq0 z`6MuEt&iX-v-e(c;v8Y8RXFXO^WW*yQROXcQ1uNpmAUz(c8zRrcFjP^cJNvJWwCak z`tT$bk%vx)Gm-GP{MMjM-AW`xZF6#$Zwe!7loYg0L9KBboZ~ghhZ}jb$;xinBz`_{ zH8Rijk)QpjhYDl2RW=#%jdC`Hy^o?C>*(3Zvkjp7LM)kQ?i)&4OLNvd?eu(`5crES zY6_5Vc~SxLWu#r6v|px?J;iDrM#+Px;N!5s7&L!@V3Ruc3T{N11!4ZB1XJ;%wl~@S2%Xn{@C&Peucqa7}KWJH&^&$Vjkev)SEytV>ros}sfRq~7TnC-l~KXsOuZ~mi0p=8JUG%}Lu3Hn z9uJhHa!oL*(ovbyFsGIA3u+;AJ+41hNcE&CyRDjGQtT{P)Qux*CHcOhEq*cYgrl@( zk6m2FNnxxwQ)t@cqF<++ZhZY@`TB_ca;@C7;)x1BNvfKHjH=5%yS|08Jyw&P9(RBh z(NuBjr?P02&i+71wqCR*VouGm9bx0AJMxOkAA3XO$8&gA3>-M}W5dCkhy^io&T@Z_ z6^R`5`2$J}JYI2MMGa?H$N7z%>EseuULvtkW;y#mi^$6LufN$qBZ4RCC^?ujc%ed6Krz=4H%paA! z?O^pnruTxNt_gTx=m0Ep<$dsZc@6b@`4~{b5sjd8TtkfXk~`@MZTlJJ9x)dxBV+^z z4?$6lfd8l{;W*=eCW@ZLSv4k%qZ6p|9o?&paFrO|6#yZ`2`*xT(_QAi{(+9M32a%@ zx!{WG5^`^H*NZ?;1ebZKXE^D&)29xKk!#L>j8#2dIZNyWNvTaF@GU<)_A zlT(FJ=R$DK48APJz2?~d>5iTx(PewT6sDxw(#r4+)kUJ(knNg&sZCIsM(PLHw$(f~ z0eQ1HN-8#61dwWrGrHNiv966Xpa2%FCo`O1HNpbQZI(QT)cTK_C~>?!?_@xU&MkthUHNHW5?AuWy4 z6_=QFl)O}G)$^AaL5Wz<6;=q+>yN%8Rm`|6}B-K#w=*ux~V4IcbXxH16=l7@j$V8imQ$&NO9Ij}q?%|F~7S`R(qgi{2&L zlQAG2Nuo8jzb?iLN#R+TgBINfHe&cpJ@=l-plz6D;sWq8#88T>LWal~HsSQhI2Jz3 z9^lO^Y3vddkY-T6pT>AWzOG>KmnD_+r*nZusdFJ^D+xd6w4g$24p77^+&oSEnt5@3p=LG)uD=kS) zN8_{R}xkk5F_WrVB5l>!p&!8CsKQI z5pBoW?XS-x#_>ab77?7eFc|`Kr~0Rsrkw811xO4@b#*=4RTQ4YfzYtryrt z)U4C>*a*v(TE@zYE6CJJOpAw*Z5)nciPSu%RGnxiOOM4a`GN1P{jrv*%}18SeT+KK zJ)}e5$Qg)+zIj8YpSHzg_o~&65P|Y0A~w*>;Fjrax7|sZB5_gm<8PS7v7z~Tgrtxt z%ajYNR!C*_$g*yUte%8Z;TeubDQ@70NjDO2sP#!4c|*@F+v``6dG@$P=6F{eT(hpu zsYQyDCaxAdj}VMJXSbKlI{kG>sTbSwoin5fCS)5)uOlI|1l5J*he@|gu`Pccp(tvm z{An6@)!u;LMJlt@I8Zf}H34z|7_~d|;cmbR&`r3;3`CtfEBExV#c4M9)qFbM`rFz| zt|>lsXg$BmeQnJvyE#)Z=1UjFzVCq*MCYtx6wZLWWJ^D3m#NSTt)%p%oyKezb^ua99){4@_!_=(ZXtVhGO3bf7`knIQfwlu2jezYq?HHd%nt{5#l027@aRZ#Q_T=H0=-+%2c)+~9FAiH>sv*BH6 z(%CeNgUALL@#!@s4~=SAw`R`hTdZ+72DP=QtHXfJa7UytQ+z^BbOo?<94e^P0Xj}q($Hrk~YH|K*jTd z-PIFI72vI}8My`DRWcg|yq~qwB^ysA1igBE@t_eJ=uG;CdT--_J+nd7c>PO(N%7YQ z{3#st4|^vU&+g8Ye>H>lObB5$3A2OUh?4>JvgF#C1A5CqVUxW;}}~jq-5vT@kD|MU^!qh5X48%3+7V>r@U$8K|N6tt}ps#LBA%$6@Il4N|B_$@yD*S`q=g0T9Zb}`$}lf~74 zJX!otA*_`BKS5X<=Xr5-KHLya_JCH9pcO3as7Rg4M1`UQ4#92`yFWUNHmYSu-EwpQ zZCgBEJpbwI=11JW7_7fhF+RWhpA7CU8mi{HBxJ+lG^u*+O}^ue4vVX^s~?0PP&?Ru zVFieBlxrBa!Z0FB^)hL}EOM&oZY4z?XulR0GFH^ z9$LB!h#D&Zd=l;|JhPR&NqO39v23PRt+9j8l3AJ6JX}W?VoWjJK66Sy3A-@6{ZW*) zP@{t#&6&ATe8X!U0BTHL8(jpnCS3 z-{JM=Xjm2I`pOpc(1EsiQnnGs9Rc>g4JDhyO+ynsgLg}t>1S|Wm^w=hvGj=(;~oB% z{B}~KE|R}t?%0I)stX}9U&R7Q=*Clj4LMTQVPEKVcC{Be*tA8b9_U@0^Yvd2QeoSW z|82o}Vx=L6S~K;?)3R9a66T<~sZf=x?$eQ}4D*`RNBIXEb+XYB@KfIk9u({KyDNu3 zO)q>WaqbuL^knl9(*n+7m=OqV(g^|6ij8i0xys3zOVqOmtzf`KQ3yI@l=sunuzO&) zdG|%G8I}CBkxnC8v0d?9=b5(HCIFH=J#!Px2l-(rsLyZ_ zdC;X|9iGvgxM*V@P>Q*F$F;L>=Hm6d9~DEc*jLU$!v4H>jqcL1%bTfeCwyU@D%t0+ zF0lf$h?LOBSkHuEg7N!cpri=940Nt|W;~>7t zV*rtz^O>^B1BK;E`i_uTZ zHc-n3`*bpic)WZ8zrMkzh^x*=VBQjH-UDmL!%rQt;x=&RDU8Y`vmS(0dwl@S| zvUYc61y0D}zQny-5`Uc?;2BAF%_So34Zp#V0q9I$1AzUY^Y2ko6r}>=78q;&q^>OS z4*Adic|Sxt@P-rs-b+YD3g80R)N##1AA^nxewykTu$9P11 z!z-nez*h0>R{?kqru{q@L(CS~z+dMSz3owlfe5nIh1oX?t|`9|(pJ6g+F>O+Av6udvu#5GC%P zOza6jJt=}y06b}hDSRdZo5{pVC}{(qf;=Oa%8ERd>fWo6soEKYug}A2@d~p*DPV}s zy6=&n-B%%<7J`Ozz0y$uLXh^0WrF(G&twFMSSWRekL4NCck3bR z#qgI!;?kG&44mA{{aXlGR-4)EFJe{1Kig%+V$DKJ<_4Y|AHbX@H3Jdp!aL7?{&^C+1a|QF&$h6P;wN9iACfsA-DyVddeAFN$EW-Izd5#V zKDM^s5vM=AKY(94KI!TivXWwrF$NBHddV|XHhU{q96vuhSv|eT0RQH~=KCj{KbAyS z0$o65^NmmpB2Obo>^D!AH2KUrvdud+G3BL+4b0H$puGg};EMn%FiNSHKK+{b$$W9y z)TqYoh7Rr<^>?S0Nz*#T3H0slaRkj`OU%yg74zsKiHxsgUqux5CIs2Kw!+gQZO)HG zzgvt}Q>FvklMCdS^{O-Y-Hk#!8TBNbVk%nYPz?xwJAf*Q*5(b?<^mqz*-Jh6+38oN zRSt5|1#ws%ECk(0V=s)}cwojT4w|>bZTm0a*(+88uo!Ga^J-NhW!cdLg0PMBdShl>UIj?RC~ndM`aE(gn?vXpM%GtElfgK3kVw)3}z zyF|0dN-WxFO22fXB2n(tUq>-jcC}F|cS+OgUF?N^qgYkGbghZ?&dZ-qRb+zG!{INT z^A;H>@UgUFN4?C1hp5;7bYsmFHtOfVPR3Buf?(G0C$kPN14!`bEK#D}9Os;Tu6{jI zvgUOp1gt&35Oc6D$J1>(wq00bSqU}B=4tH*ku^G&2Q7)s>9?zFQBGCV5_NEx8Rhih z<7_3DM&f>tpDPMQfTu5Sh0NbnZJMeDO7>BI@oRlEphH+Uvrfq)D5Hz= zGE?qU9|~+0?!IXxho=jR1z@XPw+9a^5uGV2aX9ry?-Gd~>_<^=1#yhi2!^_SC}3uDo@@ovR5^6W3grR@S`1B zFK1A)bAkI^O7}(LmrSumJsU9PH`geF|J@SQ4o0%=dGQvitT$G5bM@J$IYERCM*ky`rmjJzPn`aUwCzi8F#bOFbnMz zOaX?wZ=|ggOkw2m4VrF@pX&$|KStht(=leaPc7g`_TcFYStxj3R zOGaMYAa}dh4^Xz_%cAuD^z4W@KEJ}%eU*p_hDI%X%-k5($pv%N`N1|}e1lRLW4_2LI*pAO2dg%@lhRNY9A37H?;%=2jiQE zlxb!V7>`sIeZbZ51uK2Tnl5S+(15H7IH|mhAc~kUhZ2S&PFWx#Z{Z@snQ^briCK3Q(uX@jsIVzYOeq z1T2x-raXP6{N))5z9^~+23U+(u3g{3d%gC;WcB;r-ejsg&?90>61H{4#b zb?^sG*;^rXU*A_Gd(6tK$jYn0)C`t5EJa%idQk&S;eJ`DY~0huWeOQV+n4hB7(L~o zK&%M%n7OjQ^rs`m$16b3bbzzrBv8Q*13Syt2y|$^;6VILof!IJ$PC*e8ZOy&gaY4D zay@gZ)ydBm$T7Gr90TmMgTC^?mVPfNjghn?!FYbhSd#Q$|H+a5P|0+B5n&sJXE-@m zsR2>;lxU?AJH5jf6Wl%e{gE2B@OiuI33^*_z_ka96|GWr)!{hx|mmd3x$ z#hbCUM3uZ4qBP18?4+alRZZ;8KVjL}C~?Axn=ayY`}@r~?AcZSG+sTuS{da0dF~H! zE9U39crGL4eox@e%I?sT{3%!Lmil|E>nU^lCCho5>*@Abfa3>@14B1rUkDDI9}sMT znRT)vqCCGsT%3!GWm<(@Q00iYB{{Kml5TNHmgJYKFe@DhlxgiaKri=OPF0+{J)n`800AWe8W?41 zT-q{OXtm0lbs*YI!i#?;#VL<&E2p8JVjSQZ5vguV&d`J*?MPBp_%e@+6bj=PuCXyX^f6m&NRsA7P|prUdGZ^o%P3 zHiz(i)9b`s>(yhv6y~s#6X)!4j=Hz)lZ3-cG9^lxXQS_LhH;mH9X}BY>gD)`l;OqH ze~@aMaYLrv=H%1m%bjE!Cg8I;2V%mk2X zI2!(LOt4(KGP;%2;&Cg_v#yZNwG ze~uU4@I-Vx)*!yo@1j5t6$q-Bv)kaj5U&JD<>k?FE6?1swg`uk5VenKLg^<6EgL2qFqo}j`FS+naWYZp=POn^HH0iT2S^jcTClK%Kg+!K>hUXwag}C zpT%nrD_#T)0g3ey4;|8g)b80t+DJp#k0IYH{wkHE70ThV&zqJq2?~^Mgmmffx#C_WNt32g1vC>4W#*Qt?q zRZ9zRN=XEm9>z87la%b6kWi3=P#5g)(&JEBpC0h@@6JQ5))w*>Hn3ZcCtSMgFcm_s z0oh5{nUTjg-~-jl*sLbAx;xUslT(FibBY#fyNIq=e{5ft4Gy8ssWA}oRH7QE?l$4( zbtw;w)y}=5_6C)s|Mm>!|2k{u!_^2;(^Hsh`nD8=wafv@fsYgD!4;%2=z6-yX6Mqs zmswu{R}-PGk?na2@8A8acBBHqE46HBov1U=oviay{`C>eB^#Veqy6LCH=1r`w^Vjl zucP>VrGdV)q6m&qsRiD>O6>s-DB&z!hTqin$Z`$Hj( zbk~MiTQAWeqQ5nv+K<0IFtf-aqP2ByvP^6P(&`c~$~P4hB;%saC(d$gb;N6Zf@B$` z3lSk&BN#5~Rbw=d!TR?%CGVx+^C>XT0^Rkb=&H*jz`Q-Y+yj+*Co)LtC{mkAWR2g^ zwWx%VO=OPWF)2cSBpG*Q${_)EpWAJlRM(4!!yyK##o?sHHTm_l4GD2Y;r2cHu$g%7 zQ_79*!k|!Ll@9Enr@qI`1dlWLmXvFg^-JWdZk$VRut}=eFqvNUMyI~#j7Zz4Vf4|- z@E-HC{M)(EmA~XY4CLGRtiTL%TexPT-!_S21726~PHOJ5Oiu-NYb0GifiD}6LHu8d zXPacW{9&e^DA+F~rY?z(ci6!s(N&z$_>zfs6TQ|R(78t0qrY1HyKxF_v}1+5K# z6zB*$D7K~r?=lk{IEwG?;~P>h{ZcOai<7Tds-t-CTU0A#-*k`o8K8Ydk~a{{{co02+Ig z^uhiNmSX+Kjhgd6bS%r6xmbQT{h!mPN;AwG-2(X6_ZK-@KXQM(19@%mmtW+ycxr3V zl)Kjcq>AjMkfJ=l<>UP)C*0gH)4duWtgAGtl#80RtI+ExbIHQKg(^oZX){=#`)-dI z?CkHqPEAY^q|tiL91~4&Y(M#3T|H%QbG**|m@)u&VEItcn?$V{pVTgf`{ zG1}Kytrce~T=xgy%$R@no?b1!r%i2+r#_h{8DfoyeN&pQXp(FMpI9?%Il%3&gS(DI z9g-v|Jo`$bG`?{Eu@pAJ>Z*Yn_Y2jum`N;`o2GuhS1165($4lQThz2<3a5#!_Aaa$K(S{d@sYPu9Bo*K}YbQ?g8KV3+D1aYUQ)cQpjs{Y)!{)=3`fy@QN~*}cDY zTfoKv=IDJVd-5qB&R1zpQWAe5>V3Qa7HIPK0FE=q8ijfRX@c5pmQfSV-u^ zg`d5Vozd}e8`MN>{&Ul;#fVmPC>oQ}sgieGj;-IYSgbo}6eop6m@fx(etn^~P%BaW zP30$P{)lxB^b69aQB?6y19*!z9O)C$i(v2AnddXZx23L&v~1CkdHQSW!3n<0&Ev^*%>JtD`gR1j3jx!8kqL2A zDwL{P_Xtoujz()Jx~C))hJU6QU%l8cqG*J zG~BGBboZ8PpOnM5+7=@}y2;wh6{G1j|P9d&nQ+BA0j0&7k9<0mY~)`&Zt z=Th&{cVu@E-&!XIQ~$hGTvvgM@kf4+wy6oH2GfNjhh#1*oqCt;1Jz4!xaHcI?eDAS zE{vJ_eG2U#8X&`tG+Xt|;CIhGcjoRe8r63lS3R~1QDqg>4@$-wk2c9?7S{wv)7C`Y zvK~0vbVU!+w?M&&hGnE-FlNY?5{N&8@V8gskIu#Kw7Uwf@h^#dAFS`Q zFil-wxpi}jlcr}Zd90|5jtd=}WfUWG?_BpszTMoHQej*yO6XeG$cXu4UP{fYqo@Y@1q z?hEtp;pn6=x!JdRV&9EmU(}`sI{oPhbaRPc!VhXlz;nbpGS-ORbtS0aj#109@W`_9 zNH)+T=t*GjVQ76LD4@{6c|2^P++dC*Ka!eGR-&CY;fcBb$zKA#B4^tH*A%jHnfId4 zYV)BH^>!!YNBfE1Q*TxdA>i(mS;C$ssykc9@HwQ^wg~ zSVNb*ZOop`ECN0WpUf=gm6B$6J3^Pto9bI9d(NuvP$naf3%X7JaUB@;aPl~;5~gW^ zu9?I&T=+u*dRvL}!nFIM!1wWR&!G9UU0xAg&C-!iRa(uZ9!6r;FY-2gmJ4TUfnNB^ z{Jtv%rMQvDA1Yh)R4ho`kwa?Gi4?veb~oCDImwI8OqE4#*IN3g{a*6ndcpw5&-lg6 z5V%Zd5!YW;LD3F(4U`C()_!r;hS-kOAy3E&jSlzfM?y0Wuhy2Z7e;$VMd!5=c4&jM9qXf(w_6mYZDE?B29QhBi;+WkQkXO_BP#4)=>9JGFIea1%C#QIcPy}NL1Y`VIMZd&f6g|PDtM+9K z7)w&+mFM^+$`y{juz3o)SUCFUXBO*P0$jji9;0{ab|gX^7jE`vjePPwAxGdd=2V*3 zfK%!WVMqJa-E!w(J|oFLtTMm(VKH=2J@ftP5dZjF#`g#4=Wozausw6~^mvK-2KJ-h zU}<{zzod+Ye{*_rd~5E5Pe$(q{3qYhfBcgCZt80LzsIMm>M7uUW(x1uu$dF}?I2r9 zNePE9%dZH>&+R2bN?OtZm4`-^JaB)90qeJ1pCG7yeEVDIyO)=wt=*)&Si*lGA=bsR zh5XH}oOj}KB8%lI)BAYJ_x)(P2W&%#Ed(+iTA6%qlu?&=CuGB|b-kJJ3P03*G`5XG z4_M7i8li3is|5g#reTAA)gHXqy?)F0?Kr=_Zaa3j-EA(S`JD_%-^#l-Skuv`aT3+z zJeaxzI^o-`9O3uH)^wRvhIG5EV~|-b3_|Iejy8+6?p}X0#AeVgsr^hCh`2F33F3(w+ z%^|q&G9j#Z`P9RH2CZ@bA-YCl&I(Q-1UOM%XkbQpuVl_vkFB1|g~oBsHPqLkx7&=J zjk&F$m2=k=gRZJ%Du#wBjc#<(h3K{?yJo@#c^Rav!6z*Gov%C2@wN54@#qWVPKL&aV+$K=Pp2ZiAeP0yUFwv5s3 z$4<;B7+vj?I^X+Q6$Zg59rGC^>>31Fieq`8rjgqnzqF63g=yI=^$PdrSh^=LX{@L3 zIanQTY9}iSI)04YcM1T{a34Sl@S)|ivmuQ^RtdAyhs(~$#(>iWxqSe9V z{c{CTkG-iQi2qIcf%lJ2(XE1HN%YuX<3^XrIOZtAIC+Akzd~*@p50RWNRjv`oMmvu zVZslSte5@0%vSH=YeVpSS>fba7hL?a_9&M!#5qJ<@x8C4s##QT!D$vQOgV=&57^a& zCLcb+6(y4JOj4*wtk!m4Ho4jFH<{vF!>$Nq{|!$eWxNh~K664{{xL_G?>}7i<=kEzOL`)KWP(GPm!dyI^D0_d%U-wwl>~grkl3G zZ2MxsJQT@#Y5GH;0Iq0rK&o=-HO>3$(V$FLAf^j-y78q^DSU89`R<4?7#PYTGSHg# zF0-t3w$<3dWME=UIeoWTk(0m0a#|d1Nr6@}&qj11Ke~^?jQLCpR1E$)o0-gtp%-!K z3|(gpStlyk6HIBYrNe6*NheiqY>Qzty4vzcIfM=mC<`G<=V<^ z%6lj2G&dw;zNitW*QN_euFV5*MUs5*dONE^=|owU;4M+=zE%O&AAW1P5KCmBO_s)U zm0Qd!Y2m7{a-}Or7W#=#Wk-D-1yPlFsr_O^tw)qwOlT@B#|>v!uN4F?4k5U+l7AbV zab$^u&jr_vfn8R`9hg(pr&cwG$3;N8F}*~t15*N#rQ?oI-spUlnIl%Z-O2E{o&-F+ z^wH^r;$Idd27O8+d@MC4_;zkN7+p#m1bzh_#d0+H(Ab zZD9$UZMo*r)nv(GsZ;ZX=^BNBk7Iv1w8nFE5Y ztrZYo_8}|fSH4QiVFy4-4A0>pdFl=_$}1Y3=*Kpp4=`apwAMP#OBdZ6`(+xJPNESU z52bBW?D^4$d}AV{)Q=WHW$I6PFNUD}so9*Aa<&C5o1*eI5(dtbvZRouJz%KiITMs` zqnT)8QPY>Kmywj+pHac<;8OJZ>w1Y!5hRJLro#Hg*d07T@ ze`ixVN2z-P-9*Nsg99R}eaYTw1{R&71*dx!NK`NSjKn7@AJ?{sF?I(B&~RU-IklCi zBon&u*%Iq!;`3|v3Y#{3GV_?G{8%x%)c(HZQ`|@DV&jYvX~E)Qq&8|YREr$m#bwx& z(!Ox8j8iy1ZgZTbm&<0Mdut*WX~w?SSgGF6We5+5@9-WngX3v@*8y@$2iqx4JZG zC@%&XkJWK^jzFEcd8WuN{z0i82m!oqriXay#zB7KuNdHC8!O~p-<^>TK7Rx3R(p$# zh0xEAv+E+U>%U-A8)C*i#lN(UZ4sV9YYStym=6A41I+BYf1(%N@0;7GwBVop1Jv2c zbl0(MP7crWKIo*j3AXm;G>d!S2_ol0aKvyJ3S*E=?s?@4G-7skQTEYI3Rfg$~{MmgRhcys>WjIiQ3hoXJ>irAjS%+a$7iDZa0y$aP z?8pR%Q7ayZNyyI~%sRAeNz2U=IAhUfP75l*2VHeAZ)nCDg&+)M-FHP`4~H6A070u- zAZXbTBZ&7ko3_;^7FG*q-`Jy48RynVokf^*;vVCu0T&sn`5Zb8c{_izEtAm90tb}`PmMv#97kyl` zheGRBy}rlaJQ(_Q*w|?N&Ea8DyJEm$MGO4<87NSy3+c9`=g#xDxujgCrSoxPb{+GZ zQ0Y7Zj(9!d&9V9@7HWHDsdL*Rj^EI;-CEt_#ytEGySI0M)qA991Nu{Rj!>_~;nc=Q zYK2D4`6LZIPMIgyO=`<1gyio?kXOaRq{WW39`VpmbA~ub6N_#BsE}~Q>2A&0Zst&G zZe)DZVp@lyH+#VGb1hzrEM(B}=_wSDVUMiSb_b&!_!D-uOB`>jNafj|g*zlBbC%+H z0q7geaGeyq-?z*e6QLLNnaf}TAN6mQGhyFxJoa<)v6Z9+q(^NM z4DZCu&bTx3@wFi?l2z`AfvhAEG9iqWsihtYX}_FKVP}GD0QZ$1f#FVn%+KHK%TvlTu_6)!dwl*SaN$Z$*ZN zh$no`R4ldVW{igv(gTMBD%JG{;B)k8V>w~B_^MLKHC{`FKqY}jutJj;BT}s(5dK@W7C5SGbSL6uDO&~-3{V=- z#9)2nI2z;(t2$tS#JZR_C-@=UFU2dRHrDWY3>Oex(>aoyE2iT~Rt-iW&!TF*Y7;WQ zau_tR6K=+9&%vGfjb4pu7s9z9MI}Zu^+;i%(Kub-Af_Q}b`JyVh&p*bMswr0&A-0Vp%5B0 zT<-}+Ny)2kO9x=HC=J3)AO#DRlpBX~Q8a*rhB66+AS*Tf{>=LV11O%5lFKo=+B-kP z-Ax%HQj212xZiJl^X5k~@#uD}J0sRgb~gro1E!4Y2a^qb%I&?;Xz$*t@8H?B_;mbf z(Hj2T;q@w!=h7LmykBhEWQ=~p=}(v7y)scvuH4&I9Hl$!!xL6_-l9`$S)fV+wa|mL zwr+}RQZyi)g}Z>aLR{I&SUQQ#{?%IoI!sb4ena^{Rb#Y_-_*lld&cs+fy2+dL^s1! z=Z)3&3?ZBaRx%?yNtkNpg=)ZI@ACbWVsA(ZQ|C_6Kq(}ET95B-GKXJ{_w6CYkLI)n z-NK4odWo$5;=ZHE3Z?Rt9uIAjE`qWLG0dJ9jgALX$rbnf2RRn5F*LyaD%a+xA&*kT zNbam;0$d=cIoJTs2v>e@)x4x4xBV~E)mT!U`lI2zge2k)$YVt7Y0U-tg2>A+--)c* z9>sV`zb%U_>k}`BaNpw|tjXoFa(z$FOoI2q|AHf%hd#aV1*)=CWfTv5G z;E<+^6dpQ&(H+le)6b&YXxUBDp*)(SbXy|(6?v$&Ae=4{2)dIvqThS%VC8;|xx;rBX)OzxpX zHNd8(bn)bV4m`KSrj8V}-8e&iI+#tsh+-ZPR#GCIl}7jJTq5>)ocFgehMzFTwi9rF z$YCqwsHwlXelXzwxv;nH_E&!OxyvcF)E4}~^6nd=yzX;H=z!!Hrwz#as@un%T|Ok~ z{tS=zm{GfaG#}wiLI&Mk#O9mDziU53+!2QOOptLCC{#2ho1$O1>4AHNoHn^4Jv4=y z^<=par7QvUiu>@j)!QTZYMz}5c$YjoGI+?V9HYlPeq0>o>g`hkX!dYwtUPi4<5H%!XWZ%S!OyE9Qg)uc-9fKcIptEQPN zj5+(0r_tTdKW8}Qu0`v`?s+D(J2ED6bK;t5(>H%d#RoK<@C>eDxgoZ1ut%eNUiO0Z zFSggEch4FAIrRem@e=GmHJAJ!Y_eIOTpI1Op;tsk!|+h0mztW|I$|s!)BssnOg6nT zG%*%?e_$p$qwj(?ZIkR4?Tw@R1tV(ugK|F$3box1#dDR1w->=gXzZ zmN3kKa4w$(k21Y+ zs4`0a0NV*6UJ?^14*z|_u6rCmhi1A=RGa#HcdOMdK;*~TY@q$UX02VO7=y_7y%>^H zo@xLIG!4A8_8lKc7~*2Q%1$ZjD1vT@_MQdMG&2(@1kmENFu^7PI8*%Uq%zA-mRp1c zZX|1Ul!OaWWeONssPi|TPf*sA??$i>%QlPT!vVEhH)i7B!L_k1D4UT!eltEB3Du7a z$uZuy9q2`!>j;0prpr->-pn0)m#Z#HBcydJe-B7Pus3N?(4!k8k`pVbWqRD2GI|R` zcgt(Di)ierAm$q?(40?hu_~i`%GCd;I1=#zXq120-Mec9Xllp-qzwzH&JtG#V+~@| zNY9N`K=I`&%G9AAq!40=V-z^g(f7vHHt{qpZqhbp#?!%&5pb+qUs;u;kfC)}DfwJA zO7Dm^@stzN($dXq$ED%Ae%~>&Qrr*?9PXFV@|t7Y1u_|-ejY>ywu)ZOVR#+XKU-dM zPgc*_Vghl%^tSu-75v1H(B!xsqPp7#nS#&no1TPH1%DWaI0h<$cA&KOaZ@MWem-F6 z;Xem=Ghj1{rjdxsNQ6R%o{+EVAksk950So+TH)CgIWAaEl(1E|EO0(5L}AV0*!(SG z@@8z0;tBh-U~H1FX_=WbLeMSoxClrsDfx+FN53^Xwwuy1{kAQSFf zuYpkV4eUe8a|}X~RqR_H|3jWY`QFrT)ObUco7xT*_o)r%%aN_mT*hm-UIt6_Sm8Cn zVNpyjkni~$R15y)<8PRX^L#YsgK8-a&@yliqk<2_I}AXVjT|sdy?e{sG!r1m#T zzdC|$k$SESY|7Qu>K$<(6p%w=B# zImZ=o^*(eA#{M?_J|wEIVizHoKiDGQ>>zy52=3|Ez~2Pwhw#{a3XckrX%2GAbPR|Q zmw&ZurW6a^w70hWL{$C;`Frx{uyD`i$}w2UsFx7#-3Y_4C3UlRmQB$+M#IzgxAyKGDP} z#ASZ!jwqkHs#KL{0m7jfr?RdlKdcmg2U0=T^M&=atuxihl9=94{{S6)Aa&dO1FPABO&L% z`iZO%aX2|Ybw|&C{5`qg7J z2A+A};@5k#KRG}C`oQdvv$KQ}*?%)44nrSUA^0&wm%&4Kema$H2?;1OI~_F)Cdy`5 z2#Fnz^^XiQN(FG})tFrb7q)P-Bk8y5ucOM#aQ9nF_xvx`-YK}UaBCOt*tTukNyoNr z+jg>I+qUg=Y}1m{m?Xfl z2H`t*>~5|lc@3dMHp}|W%D(+ro-FhVcIJC60EU8bhc&qT*Gz`hz2jHcHGAlc_HZ8= zc-8DMVAHNEcDJPccm-IVyQW29Lw4VkF$PODod&jpUkB!i6@X^3GK7&{H0Du8f_wkx zleE*iN#Eql$sfC*(J7Tf@n-@tEHT;Oka%eLCsw*SCEUz%Fan&@7KTdv-+8!DZsEeL zjd^Oz+>k50ecL;{EYkJL%{{jqZ>1a(L*lg*m7C2n4T7y&Q-I+`$Kk@v@dtTr+DSmB zEeoUi-KR*2r<0eXxfPIox6c$0(pSZeFh#trVp=b0f8}925CW-cgi9v$&6wI)Pw7$Y zhIZAi>X^<1g@#0ahG71BrWmD-t+i{-dpyy(bXh^?^ZNiCKxP`Q2e1|&DPGIL215-F zr)$DU6HCJT1s!T{5WK%|t_SBc>0tLmjA?;Vryv0Zqy@RA8k>i;J<-coG7)UUHlAPX zugsl$z0o;bwEj72u;?z*&^b>OXiq%RlwpEgk}hklG1MH7Y05 z^#Z%}1am|hSZ_b{^;^3XBtx3HLpI>08WhcZg*C8<~d#IsO(Hdl{<}k1pk0dfqp+n#a{~x{7=KN?-^t)J> z|823d{dbGi$@2g1quSqS5tDCmGqqE#ys)s)qXffrxC>qMr-F>4ae>$_z>PL|bGs7* zO#qnD#6|SVs^jl<#Qx zcl9?IyY($gt(P=)Q9c6+SqX7)4$Ol$p&A6sN35~*HK3$^r=HRl?1kQcgn=$SX{9=3 zerF2`zq`JK-s)*d=T<{!`E=lOLGg{p*I3|-gRU$LzBM8zurTcow8bl@2_|Y%`-zXtW2Z{@POUjvEL7U~w585yLR2 z>}*LbLO*C&?1ax?r*JsCeYafOmYwi^k(kZbfakhoE*3Q73``nel28weV}Z9Rs+N~D z2nWigb4Dnmg4nl(E*f|&#azE`(E}#@p{Z#ayCZ-jQ4JAonJ?Fq@55*NECEV4O1m4B zPkGD;M;z+^3;|7SuM#r94y`fWr@J@JqV0&(K6Q)nR;nQ}Ce}z$8N9n9{!oufq4Hc3 zlCGS7=O|o{pC|c{$4sws`D`h1b?5}+sRF7K(B8X}*qIxggEEm`DrOjGJm$3P1Ce|y z<*UhPGi5o_6Lu1xuBm{C6gWnqC7qLCnEN);qO@^!wCZG@jDIXqR{!GQcgrPGb``Fp zKPg_A-$i>*PpnfkuZTMR4gq~%fZXlF9o+Xv!EPU{uY(Yan5V=o!5{>`fWYQ@f}Z0^ zTsnl+9I;>*|6qDIk0kgG0YzZknWz5dI%xd)#9LsTvRM5kt zkgJcDmn`k@3**iox3mQ@=`JRofH62#Yz(Lp_+Lu)xL+{C3pk`G)+IM%=&KD)B8O~= zcP$GX#Tdz_i>&;H1~Gk(vJL^10W?R?)Ue5tzd`xXInM57tQHbt4|g|U+CwHq_+^}G zSD%Nsw&{27 zC<0SRmUFYbf(^!1Fp4{ka>I_UGIg>Q!03_&BT3>aW3z1s+kv;aTw$6y;yiGK`Tett z4lDjuV*f5olYd*7r2n=solG6*+~YrISC*eX0(rg5@O|A({S=b;NlKBy^YZ88I~>se&)d!X?vI&+I7TbPL50h1IaI#9^eNiA>Olp6(PhfT_(z zLz9556jp&~>#H$Ac~6LUP#U4iCU;;r6igvTAdzxQ*tf8OkPhmY=A=2qok8JB(TUv` zv9V^NN#@uNh=L7+e4vvMhoi|P+BXGyGsTkBF|;5I6lBr_H*iJJF2nx$aWxjXr{P*w z$h~R;YY@-OtZOblpaQ`fZ5S=lPJak4hV_gQ#bsiFJqx~MRv(pS_1}AVQsJ`s91#JvVM~F*WXi_Ao?1p{c5(N6nZp39o)Q!krgMp!xI&e^dk|06->-Z@}u2{i3-h`3ail+`&_sg znfO@P>3CRXTdwF7Gbgtj<8odPT_K*f*H`HH4kzO7nJu~9UX5omcE+_fwd)DaWg-K#JCqjb8&CNRDQ128?V%8F?21lE}e;{k7PV^usMpRwp-U zK7Qy!V;|yuWvsk?=gzE1#j5wn1{t_WrLiN_1qJlvYGcSuRy3*IKXhQU3io)?)LwFj zZt4?^sk%)E) z*rFoplIo+@JC}44tfl-oMBQ>MhmR(Yyomlk(Dj2|5WElK8r=T?J?{#C?hZ8#rZEB_98!}eHU#&FvYLXg9k0AtXrMj83xXOeHqp30GjJZ1@G7SBloKLYQ4`Se`D|!y%v!Y$$B7$Pg#( zrq+#SNP)CgLBiub5o011y#ywfentX(EEM3hYaBg|GHqAtMT{~q=PUER4q-7{UF1t} z-esCHhN2U-CXO13WFy-50UQ=1GRfl+rn6$Syy&}HRA7VQ2Ld)k3ui;4V^h@v0a61+!^sB=L6-rN zjIOE6Ax&y`VaaM@u=kjB zWq`#S3t7kni-|deIQYu+H#dttjqM@dg?55}aITV!&Oe7JGnWe9INh+3*hcZNS7I4t zR$g*cK1DxKbI=GwkH|U|^(2*~N{!B;qmcKAz79se zeFqZRgA5=It|ywfZ)g95!GaZcwTv4zzB1qHi;|kp0Sk~9HC&(E<)F82*gX<&WswTs zp&Xk`oyApe>5tzk&K+?SsbH}uO3%(gk!%ei^F+IG}a6G@~k>7F{2aZTG@XeVDaliy^ zC=6Wf7HRy9XF3fwZGlf@5?f;!doaNKi}Z11OZ7w>+|D?-(SsEKG$kA5yooJ=O1dV; zFOdFHNhaZ}EgO11?wHa=pgb)^dyh=JT+VS~i{5Ef>GvGxp1=9L-`a0s|ArpXVUY?Y zKti`_(iVb_ktUxxM2%Z#4a(jIOh{Ny*`c^^nzZ~fsSco`_iH5nvraA!XSPM_8e@&@ zNl38iZ@pIgx+iI^z5~hQz)hv_m`_j7qSqPDEKi^|I!|h))4MoZP{+Y`K=laoyv|5$98EQVf+rTqvVTY)|^%RBWs&ofi3=xp0*zS zwJ|1GuT@xM*4RH6SJVS(l zD25Bpk{J1L0+|rjGL!J)034S^T5xq?Lyz_fa?AM4-)!drWj5CrwvVm48<;;C zbnlc>6ic|u@OjkD)O9-6R4H=XJpDYq^2NFnyQwiF+Hj+x*osVs&KSq6x?{Cbmdwz- zB6T}e+l*4XCILVW$k~q_N3&aO+16~~!@5~3xl}Zw61|CY-6$=687+%PZsm@t&QLgn z+eU*d%UM3cB*I78<(6bq`B!}R1g0x2)=K7?yw5U`IFG4IIc@1Nqsa!!js6f40 zf%~`Xo>li(|1fi&>em5qd3LCgq!5>67HGq&uEghJGQ#P0Ny;YT0~Fdxex<1$z={5v zq*{64vT6t*O2?d2l2l%nRGx1oq&F|ei;|hfIfYu450fBU+9Z-dp z<`YU`T(AT_FW)k%gc6pwqQCx8u_0oGSqtNiIyy;$28Y4{rZDQT9Ew8oS##<^KX7Ef zqH9u~1y2za&PXd~g?@#(QCz$XHz`M6&}maC3BajKv?vgVgW<3$ zxMMLQq$(yZEJ-S!EP+A#;R|yNYmeSSj#Q06xPjNkz7=OsH!g6@$=a1Y!(g2*mCs5c z%>`Y^3?nN)xVbv(WA+;znM&mfNF%bHyNOpxMB1FUD32y&*laHqMGr6cJ)rcYq%&KV z8MEycQHCZXI-o=`uDQL1p98R&Eyc&qV5ka!WZBSIm>5aZKcL~kdXCgtw^PZLDvct4rsJZIS(yH^vY$lr;uB04t5Dyw`u=w%u(h2$ zRmHS|-_E&Npqsv8d5rH?u~~Q6iYBcU)SzDboDeyxNHp(}s{#8hxOId4LKP;=6-3y! zik@IyxY{9ewV#+}O&m5uEi!+io1cXr)j zdPwV9%8{bNwrcGPF*?yvR!krsyBe9$RuyE@szu1oae?qZ3Hl&FUJ*y3vWv;piUIGS z8Rtt28Oay0f$N5G8AK|4V~)@W5y(>}DtuI%i>xOxFaYu$5|L+BqJoQN1vZ`HeiDO2 zHpp?LSjBzuIri){V%Ss8?-s*6h3IL6HKBf18C4shGf`peYW3A=WG)LWxeAEe{E#b*A(_KGZU-{3*ml#Do>?)X(ukIDe#Rhp}*k&oGi4BRiQYt)!MrJ-@H* zEWTO_B`3xpryCEbRiP-2c;K7Nu=y=R(&J~NpoHeOA!X!Hl<0`E?ms@&qY+*LE^F`n zxj#!MI!+NP#KTZh?42aF{rX;MZ6YBTx3MTN;<0*gO#dTpZJDlYus}G%H4}1M$ex=4 zCGz~Bfvsv&OY3TdHimecHkK*U+r2!6GbMT@Pj#xe^z49ZrMrZW{*?I%cmp-lMp?IP zi|Enbt!)lT^5>+D$`ufarE1E48QLqBAATPLr(cBrd<#h) zsO+vWY-I!dIhQ1*?@^K=vL^Ln=&xK_o5I?7V}qVT3gt>s3}j=*th>%IIpQ_8WJQLn z5@RQ;bwGr@c8W@+a#5ge%&v@+#8s)qmmKbh-|QVMyLy!W%i>1f@Pm=z%*VH8}FU^g(1}4vu6>W)n=1u-c!}JoA9Qnz1+%8EaMQ$kcUZG%gA>cCC=qM)*gdXO z$0tkLSlS9pOu500h z(4OP=-i8~s0;_jZT$P?RwLWmKU0tgkTtT7wCXj}rp3cC$f({>f1!H}7l;xYk@U4~j zTJJR{Rso;f`7In9tK0bE92+i7@hnWFExoTQL`>lZ@Vp zYkaA~Dn^H!3ALJXJzDv&v4-LJA#3IpZSD-c@y%mQ=J^ZXYSIPMqO`Wu0^9}RZ-9Bp z?wB3tbB1EA^Rr+@GFUZjPNz*y-Mo5(FSk5_c=W|etj!s&kofDOVU0%xK|e?L87e&2 zA>AU65}ct%JDScwa+=(^eu)W+69MIm0H;e={J1U+*bNR{iv#ZzsUhS(67F08yK644 zt8%#{ok?W&06p+fjbJ8m^wA|Pj{n*a zvwt(pao4k&KP6Z-&gs27?!YPFzzOleA$$d1IYr=Si+4!7V{*DvIiZ?uhek^W+TZ4- zk&_OSSLip1HdYRg&|)p#X!jgS;$=q!rD@bvKXt#nSLNm(*uJ+jDPAg$XZ-Zc5ke$Nfypp|%rRGkq4FjQ=(WvTyMV5ct;|0h@lL>YcyLw}8 z#;goq>A&7{BX15NUJF7A_DAjJ{Dl7c$Lt;;+@Ht2qWq!G`xEQGC*Ywb^>HgOqA{MS zbz*Kx8@}-`+Z&WCJvEqbXseC+@8Ipf=i~mb8Nq*nxBpV3*t z-}Aw(`HjU2bggRI*4EYxSC-$HQ``E(mxaOGvZ@kxStdDnhjjyRBfGkOo z#&pz00F+wgl~KxI$td_oD&!Jt>-C(QWkQJAvq)jAZ91Rq1ACJNS(F-7Ge&|19|?R_ zOvsKM8Qgc67ZiVHziMDa#~!^p6=N#c2vjuzH6!tH3Z}dkhpi3Nb4jAyTywTT8a}IX zLA1InKr$*b;HbH;MY zNE8TYl|!gN`q43uhrBY%3T1`(i(o41D@!?$Oc>=C^EnpP>Nkt)!4H6-4<-;6v?-@ah8Qx;uIyjh^OkNtqY<{oSPIkj@~NJ+d3aD`rRerr25tu-esF(y&J6AJ`)*PUB>eVOJI>2}I-7P$&upPpeksQW2f$(h;R-buwZJbj40H%x^!lR<#*L zQ|a6GJZDBeRXd=Dt}*v6ScmQe9YJH2IYCk{2(B!SJl#?Zyc6cGBEa@i#nkbJUdGQl z8I?n{%Y#Nq{dwfyG92UOF63V2h0>Fl*$~^)HfYt-+`i;(IsZ->m}QBA_qHR&R5IuD-sZII+;Q z8+NtQ1Fx2ZvMP%My@sX$gEj4wU13dURYZ*2UuegT3Gu9Y~E4%&_@#^$2F8&ora8QF3B*;v5t zaK+(+5eLH+Acy{)PnzQa(IP*AxE&2+L#2C*C7(+~R5@~0eG?Gr?zF7J?WEV=6?sD$ zY|$|qHVqJ6e5|*UmvILv-`fUGg2poMc7Xg%ea9bY(3B!Iv<)Ah4-C@@N7cUR;I-Y_ zPB~V1W3IoIwcRi6-Yz)kaSS8?f8h800s>sHfbXK5W zL(8HI%^IpVLulWkv`JIC*oB~5K=7-x!_|}3%e2{Zy0TRjSed<4X7p^414lAgM#nC3 zl+E)t>)<4M#s0CFmB-G4TtGavt&LUj9jQHuxM0sg2u@Kw$g~J=QoT8mS$}~s!})Ch z%qKbmn~ywV&1Z#%c6+#htl4S%oPBBWceqN&v|9F3j5XQ0Yeg^p_VsP2eExD|0tVYX zSS#<`TG>g@JaH=og!*ydD6HFuYFpprEA z-g%%UT!deYaMd{x#dq0Au0Yy`!tv0%B;t@J%=OA??x=6ioh&X-cMI)lT# zSxttlI5?kGc^5X2M`ZFRzUj|U+q6K{E0Uj1%=xkgmt6m@=OqDkZyZL|9dU|8l;uS$ z4lrNE-Y)P{iMuq|--1SbF@U?0yi_vO6hEB+O<_=SDms~te7fCQ^ZEQ=ByLREVPTK- zT!I2;VXRm~=vZSKKF^yZrk}e$rf;AKp)RLqerFR4U(rYW$NYH% z9xC&2Uyj&stT8$vPF}#3azZYE*rLyHnrEzc++#V~ew4=wFCpYiAo`>q(hA>p|GQw2 z1Yt_ya|gsrUP{P;dFi z(@ddjn-3OVYnqvwbbom1^4wc^=~{RN!_gjl*ip;ze;P;|I8nw_Sb_>uFhZa3HmZ=C%KBDTr5@Uqnr#G zE*#;4+R>fQ=`luJ+fi4I$?P0zAU$bs!FYvtpVDtSbKs*`2cMJYD>Yw@1@-yq1k*!XH}E$k{aMbqm3xz~k-rs0l?>~tq1?a% zQx;!DB0a4san~3F&X{bVrUd}DnnwZFOLUK(G$RM>GJRLIfc!T0BE!O^KKa~+YUvcB zjd*dNsrhJsz5{o}JDxD2>t#iD6jTlraGKxWdpypH6EVvL8Ow!~WcadtJYiZ?FVF^7 zFDJN1%%z|kDEEXwcjXlPKGx2+>3nacm9Y#gb`~-mzx(K^`^=2d-&G+`Y%*!Jv2z@g zui?X~15!O4W!*kX%N{;CiIub{6uDW$MBJB zy5{GQ_KW2Ho#TwAy~ z@cz!wkOFP3TzR3~;GWFTYHkYR5{0;383gn5pdUqO`S$zFgD2fMW_Ej`Xvp*aT@%>G zWQ1*xur-|i7(cSDdE+(y${TtECPRFo9N~l4W8SjltyMYc(UqcA*f=dG5D}b1;aL8_ zxr5?ikNx7&c`bPevgCb31A8#Yg~q{m*l_*|P<9;J_~ zj`oMXeyR}`YMq_5m~5N0IaD`MHnX&qOeg>`SV*V|6q~stm0itxx$;R< z|I5-x-S!ZqW!bEWymdrcfF6<6!jll zG5%EL$edO@P2>2mCgPB)01Sy4vR9X~_I)X;G zou6E0>F@Pd*tv$ z8t6DO9$;CxF3&7CGoJ%>fkG81AW0nTD`qLmX3j0^nuM~gLkHR=^XYp;3_!K#iw&|O zuPo3Nd_ARK5+8G&nmW^@X3w#5?wVWb*bw{a+EoRkB6Heh^BZ&me&-8hFUqvp-~pR& zP!vuD>QcKI$NglhNl5xh?_fj)o)?>uosz0Ts;mRDIF}3GG!IP1~ohd2K zSM8o2$(ffkr;aOQu!3*0P>a$s+(WhBN1Mwr(t$zUi14}osuREc>|3Nd8rT+yUvS!{**ty8q<6X zjgU2%=vn#cSosyoGzmpfyMHPJ!G)eG&&AQaX8-*C?#Wx& zrPokYAJ*P!Y;jV4-7eF=2qLc8WJ3VwOFFwqYp=rM>;*Y2Ao$kXpQ~ckZhrK-uJUaZ zU*LysFuZ3kF=)*HyuRq-{6NSif5fcZ$)Z$Uah9J`x{KX&>deU1X_nR{Xs2?D`^^Nf za#7pP%q5xgp*Hsv6C+^L36^`(xGd3fFtd98nr|Gjk#jDEn@&75nXMnHB-_=C6>4}2 z(NgXWNtTUye1uQ@h_}{Quy_jeg^*0;Fh|^5i;47lkoqN;;ir#?G6mO}kV~-82z0)g zhP}M8qs)og@=DiyOs|Fbd=W!f&YH&@^I@jZ+GAAd z2y<-N)W5{6yr@;h3*Y>`vDAJ0RLOj>c^5q?b`8{C-FMAXc~pa*SJS6z=3O zm+#85zH2CC#&et-0`lmwR&1sP?t z-dNgR5!}q3HKn;c`b`y^J$qq)Z90E6(s^aQ`)pa7!OYv!g!GF};0|I^yiqSDtZlby z?9i#`?>wV{X6K=DT^ID9p`@FU<>I~B%eUWSV^T21f5;s^{tj0J`Olq=6b{ir8)IzW zoZd8*_rv?(>+iir*|ey7fKR_7<7@fF-seH!#TMNk4S4ficvyTflhNOv6IOBoU(^ak zk1`a!gXv$%BOhYMUO&Cx(<_lx?>B52=1A@XbJ{!k;-fV;Um z`fEYVt2mfJuG^%g%WE14UNhO*+()N|#?`JoGlN&?jPM>YLA|dKl;a+?^$Q`(T%8V-7 zD5w@`|1f1@xAdOECs}mbX`eEgCMtCIdeHa$sefV@jWVplr}RgS&fjz7FNgfUDEcR0 zGk24G4n|C4`PUu?o*`D~D0N0C&Z6?SFStU>Q4!XN!V81&f1nxZ4XRkz_p^?Zl!Obb zFw&rQWStG@LNzp@X{sVpnsV&5&gKNkYiZ+BnlJRoJ8>8e%3LZ#Aq5U~QsnJHgeJ)E z?3)vRkuV>mIZ)kxLaIxNt)hBieH|_@3@>@aJkqHKv}lZsHj(+Tf{BIlrh!`^fSdL_ zP~&Q@=shAue5)GgUnFJV?>+oIhjoU?iN}4``lBuOA0kt7L}_A>)>%PlgqKopo^^&% z4%6-m&cYsEAtKj8kE z71wKmrZ@Qebuz*16U~2AVE$jasT(16V~%eUX!gI=2a5g2aK+x%;UBrarvF$3|9_y0 znyvD8a-1JM5p785f`Zb|3aY|sX=#yprJ!!*Fl-B3LdagbMCo>yCY+ZNlDw}2f_ZtL za+Z|BDNeup;O|Y**0d0?BsJdTl-WzJ_l$Gy>5lX4@r}RVUywf13Fr;X6WOZd4R^Tx zV(QM5%S<({;h025j|n##v_&T+Q9BG;MMoK$7L!z(Qaaq;ep?FbPPM?WzPVcBaCks0 zmf+7OSmB1L-e(o*j@UUWiB->jq|$`gQ=v1Fw4nItGqbaYEthG^68w{w@hBq1s8jCw z!T3tD2=p1oLeph!5zO2&gdg}~RK#m&UKAA+CwIH*23uLVc zrPVgwX-5lDRW?yJ6AY)T<3r@A+V;`f{cz@4C~bwkAVECc2cD~VafPbz#41hE0<3$UmRpOI1-Cgx zXC0@=RwwL9FZ>0LuJ4dxO+(0yfp`i|My5ab!JSr^Tlbk%WmSTVTOM4=K@_m7+OK1* zxfpgzRX4@vNVb^Y2@7W*{4GK3K0@l$+do+Ko<LMK|1C7T2UAf zJ;Z{4tem$EW~KKDzpGZsfj))r%xfbDS)r}dfMCpBjvO)$Eo6O_+J_=p8$4;JvlB+%e+)*j!t%0~gq4OmZW z*;3Q{)UCH2v*e;~=O{AYktr;*1>{a0awc=~3SjHxo9!61f_|jZ0XyR&_vWCR2uc10 z9F8IGNspf)278Qe6lq=YIWz z9zOxoDp>tZ!kPZJBpl)Y^!X@aYG&waL6bBXGO?9K|XRSCN$=ef{r@(g+o1e!Tr6BlJjHSrxOO9%rA>HOP zpMCK?ZG5|Xcu@awSWY@08V)Fr#XNxR!TBWPpta+O{;H3)Ip`Grlnmdl}8LyY%-7*R1BAuMji34aq{FEasP ziqqS)25MP&XKrp5fbN$6qN+TP(_ehcJdz7wb67*VpmFalG0oFI>)72N+uG=KlC-M^ zY!?-3RZg(h_yE^j3*;Si>K(@sm_Yf8zQ`b#&rp*NkH;88 z6$nC;#=1g*_Z6OnDBi7Tw|40Id&41B^U-yBSO%D&!NpD!ZXoSgSV z_gZ1`n6V&4zAKa^%iAgQY>cWQX^{-=baWQ6;bzjW{}zS%RiYG=P*G`Q2UylUz|_6( zx?I`a|DQUT4TK#k(r+D%(7)Be2>r)JY3XEY{7sSb{I4}xqNeSR@{g$71(yXzRIj2| zAw0wu$-sRj`b1zlu;LbuEcWUkjM8zUoW!Y+4#H2MzY*^S1TJ)R^j)d%N5KM8Uo$3W zQj1ZImsaHF&+8wXyS>@I_ow>5KA{azXW2+WM|A3pYQtjj(w{2PcpZB(sd6H(Bo+~V zyRO1aH9kt`>LTdOb{l&)4h>HR;dqf{1pds5Mcn|~7_|x7LOsLI)ojbvF1^ZpxvZQr zkHRXRFCZ#nMS#MMX{}0CW;#`0ji89fok3sZq-E6byXr3w^)ukKGpLptgsNJGjom8; z(Bo~NA#rv=+$CyPb;Q~O0(IFiAdk3BdFrW<=OEd{F$1lc`pLoH$R&wxZORg7uhk~< z5k^@be|x}y0DC#7!&VUoOHMlCb(yFd&pWu8({rcSx4GhuLIuWNDS&aiS6X_A=byG% zSpB(8z|Qzwj?V4 z=+o89wxX^l0ZB^iwtB+hwmU%Yr~s5}@n_YUL$pa?x-N#qZl;^SA2-caDmB>G$?&RF zy1Q--ii_wreYQxp(H1GQlmxO)`SZX?+ex3_92%#jWcc#lGvcdDJyiaL0Y-qA+jbk@ zi5J&w0@v6!%B$VRNV&ln%#(k zsR5hQS36#KwJDP4z-dU_%OUxq90HE)>M3odVPWIpBx_-p?}l{O`WqjbS$f54d>HMb?b6jC_TNrwiA7&+(E#! zX2rX0k{uZnik;qYr@o}7Ie8-1D_Ci3e1zbVIEtyv^30|*9+R+3WQKN+<;Tv{D|jpx z34RWoPH_pG)G~$%)4i02<>AP~2f8CCg>EX*$tTDyPbn>OE=g43TKR)B!<~%O$-x9t=^oc!zLfGp z@X@d+?&FIfZ*YSB*FJ%Nz?o~7*p7*BID_>6FPstmr)1;*Cj6!->)IoK+rlVQYEx>7 zS`WutG4cESe8%fDzBH{52?;YnpOj!)0_J;+BO$9Hh;8@9IBQ^7QlQ??qJ#yp{R(9C zr4z=n__e{J_RxC;X{?`9ilrn^#>8vxp=2{d?o)LXCcz4xa>Dd?>gW5^4z9LTD| zZ+X|C{4%S{=pk%K(Rz&`ZO)oRv_*5*e#*M0FO~kFBM$@n} z%^yqYwjLMeif+f3s6AM#>$ODmoIs={o?D?+D7ZpoYTd5rwOPSRjZyJMPFiCSFd1V{ zM($)k7=b+8rx$jdCs`OC4trEESrDmz)7~v+X=AGJkBP%~^3}h1KPBo=-YBD3exuxK=rEXpK!!3$ zO9pR3KOtppgzMo*rA%?+nV48dwX`Oq)VqvYfMv!6rRpAiHXaG#pd_WY*qgzSqd@{m z`SK+fy97$F7AYRH<~LGJ*V~8VS~fD?V%>Lc(&tC>^m>2{SpEOMXt+5IT7kr`m|WVFc*kWpCJ(wwsC=gpQTBwX5yB#xU4(M$YZ)6B0eHf@&f zXOT=(3RtmtO0kqk*d@3PEAJruw1x)1Kfk%z$ke8^qtJjzBgvqo>9fpf1@(!k{tRb+ z(D7R}f=UZ}?uG$fl}U|YZ;RE7{pXdnzykc13m8#tvQF*CaXNia?RKwT?PCRrN;{f_Z42_RMA90ZR^Z=>Zu+ae)4>f+Jw|}{Rii9 zbDV?kQe4d%`92ZW=KKs|I`a}qxU$OxzjHlL+3zhB;dYgLW0qyDud^X|C>~F=%godW zPrChIvtijZfFSd3u^gad+gdOvU1r{ zX=h0i6AFT8XZT8u!nnKr$cc(j&FCE{zkAGbXJWHUDO4xpP~q=TDeZJn%s$#hv;aU! zQp)2dDkS6ezeF5UCc6G2$(DU%%dy20h9RoKIK@(wobIKn>4; z8Yn`f#^y;vxTERUeWN*Tf4N1(XgNZrm^a~8p2SlV=Pbp#Zw@XtqFJ(&(gCtyDzZRr zXMVyIw*4Qhy<>1?;nud>vF)UjbZpzUZQHi(72CEtM#r{o+fF+9vhh~Eb?Tg5XIFhy zbN!w3$Eten@r-eg`!cxBIP4@ro8IN-tSvTm;%s_f>R7w!Ypo^@?MRBwlkdaY`&Cm6 zJ2<5=P{t_-zjg&Yz$zQeQ>1Vm=gyi4uR|#53TQ_Dn_bD|#Q82;i|C5BH!{p+&zlU~ zo`5G#*_0SivnjveWlE#tJJCYod@Ohto5?|ye^))DpwL?Qs2xwx%4W9m?Zlq{jqR{* zi&;|5UTP|TQ*7L*EL)$DVR-W_{(eRNdZQ?^%7F|$Nve#4fvnBCwZ4V4K3bcb5xhiP(GyToNm$uz_8T3qz+7y3Qz@lthe+gkaFr*^~Q67)y& z%ZmM6=t%phT%#7FZwL(9M^SuXXuf7aX@v%qpT0Vin>F!AJRnEI*nQ(?dG`#9jc%6Y z3l2xNR?@{$$f@eU$y)ynOKUy!b`RU>U#*3V@f#cLd7tbpkPlJPu2WjkZN{-%T<=t3 zy@FXE`&k@$U$`p2MYL90$j9s1c`9_mmo9l^K>&sA4g?^;=Ab>g>u(?bBAWOhx@Jho zp$EkFq#o$V{6bAjuv;#cd)Hp z@i81XnzNcGTa&l|MO^~jdtet%PJ{ce6DJ!>3cL1@qZM$ z1VpVuNa^T|!Dv*gpJMA^Yb%0T0~Em#da@$;l&5WBtnI0+SY(!-5(Nk`D{_3r_(TbB zvjC8jUI9;D00DOZEHZm2aSmx)A||PokaPS@_!P5l$@qvDJ9XJ64F0L8`IVUPu_<@7 zntkXIc0Eq*T$ZpVnme4?C{ujYvIQXQ#HTX={~mw0Ro39N7>lkZg4$u1jCdCK%SKr! zp-ve%QJ&~?dbTZAZkE(^diH+1>;vQDE4Wlh&|Si$WuWl0UZATh6f z7n-v|H{<{>WF5`j{pW0G#rTPZero+QA=Ckd7QF8~yW|Z(;SQh=wh69=f~B;o9Fsc- z{%fm3nAKq=O2IV~xmkLT4b|EVSg0*1pfn?@Yk7L0&eO5c4te&>;UX8@673S)J(QnE zDlbO}a@vSSq!fz|Qa``*Q9}P5_q&ZFJCG}+4b2vIvWEyJny%0I5k2<{feDy2i5u=Z z@7P;G;E%d|0^Tsne#@OVmO*0S1<~OjLY&g`Zsojdr-%F7H;&2bULN@HW!#!IZ0zme zVV|yBQgoK+U49~;sos6g?H3?*46zmA+=jA)&y3({GFdL|96G}*W&+=I#yd3VU9762 zs;ZLCEW;X`gf`aBko(}GjGK?Zqq_;3U@^^s&wiA6s3~8LQ4KP%5Ic&KHo%lG#<0k2 z)N=<%)eAfFAa@Sc4gvcp(cc4mSa^2u{^hu{Qtw&d%AbWsGa%>Tk<#gyE6jNP^%Obx zJ`V*3<+yPe(8e0*M{S{CW*TCQ+pZ?!wCJx)gK61uX0U1bN@CSa}c ztjMQbLRXGv%K_-7vmZFa7~7)#BK2()AXXMmsll@?w*YoLOxk&K=|QyU{Y~l`MW&Gs z_gKMuoDcZ!VKKqqu=x8Z9~NGSe*a*5fc}f@!PqbbF8NLNKt=seW!rxS2mHUdwf|AJ z{qJr|wW`)X!2tk?G(_;EJb|(k_euf*CAw;TYPI4}QT~3B#%A0E0$5Te2U=ar>u0a` zwddxp8~J5L{p7`UDg3w0_O&Y}Cc*FkT1kzliFBu@&!?8>*C&qqVLiT2*d5d^^zY@b zM%x1vr{)sP2t|QrQ|H1o`Nqx)3aEM7Waoa#15_rfG7>2^&n68s?mCB7WQghBy8LGsSw5WoRg%UloNF9gri*r!Az6mO_LzoEtb_6z}X%<-}SI$YAm8 zi%iIFQBfy73JG!AloXnPCxUi|%Oy}*$8gXv_maMOs@tI)GU4yD4Y{niBMO$QP_8}h zQh<9n#5IFJHAHW9Vx=m7JEau&@_zFa*#TT)Z6lrWmC;({y|Xw6V|J2-C{Fx^FjcWO zocBBKp4#Wbu|k?A!;r*0^yl<$r@sIa-43wOiiUF|&)!A7v?2T{llCGvNa)EMn$CX8 z!6ZBJo=8!7nsy7=Y7w4=rjoQ-f^--Ip}z6}iFOG}A?zd+zb(s{j27+8&d5;qW7@0= zfP>WVC&~hN!*7mp#0cF=!*pc(5Q1B~YTgpH5iex5*C)Ngh9XUgleE?07~LaD?+^n= zqnIjX$3*S~fvjBvS;&zDP*y+tZ5Ep16TEF=1SJOLHu`)_Qky;Zv!5V1hGqD9Hz`#b zD2~0V!1iC5e0s2dM&c^C_tjM>9UqiJJaGKe*N)E zy#9(^9#$3CYM``eu!2EcPvR;na!yuCM?Ysu$@=4=EbIT#4DfcIpq) z2IlfjimpWC9b&-Lq+QP_Mo)%XR4z~O!QNc??dH|O&M`v5VmB@-o6N#1`w&w?t_?T3 z{d-hgbNWPnsD7t8y}s-7!GqITMrB{;kjpo^hLEAyB69bqdnCn1 z4LtzuX?|8u>}&oeAB}^YIVb;VBb3``a>ndOO#eq;z8PebJcHPGz|tkL2fgPKZIH|$ z`tEzL1J#UOOv6k7;or!bc!)tDW`sN(-``~F5Wl)0^O1KOgAg66xj}jNoW<`ylxF+S z2pBgc!w0c|c+`QQIp#NwSCqg>`Nc+oP=2aoR4swL$ArJ0u8L@c?CoAknP){0V$6I% z+B_4$(e3XnFv82x?1{6t|LAhI1{#i~-CNZ&#EqSK?V+$l0b7^rWRC%XoU_C4eVQNR z(Cpx^3^Ff?x+hjV8Hf|26Gfj~3Cg4&NhGgAyu1s)Lz?!(k!H*8J{>0WhgzZO*_;0B zH50CdIx2Gv%G0Jt-|XK2b5dUASYn+UsM{&}$*}WE#{I>AL9j-dU7N}Qp_*m453f-T z_lcM-g<1A6tpeq{T<;NcM7x_Kwx^Y`3w9bY*e%w>hyR5Omn0WynfnG0wC(+&Ru`3J z0P&Y@caLplP{@_t;8f;jJ8YXx4)F@mhzt~m4MJ=lU`i-#%!Xu61f7*|5UN$~hoC!* zBU}>mbSIPHbgmccKhyI$K(OYon{%q=zHYQ3r8U|R3F<4jnG~xuF8#_;I)Ti1kLFT0 zeuj7($oNTfny+))Zgb5@>d_(-qPG_g(~9StY&542bZ6;8w1aWU!;E-oO1LFiw0`2l zGNwxxiEz!Xd%ed~x_qix)PjKO9UgmA|4lV2pBID8-G%X9T)#v3N2g$ZBPty7yTgAC z_n#!^zaG8)Q*u1M!8JDjTX>S=CnZ4`P($Q2*UhUn{VXpYL>u0ylr%P`6$Ttk2+g7osU}`G8l8TVZP+o~CvB3Xy3BC8j z;^X3RGu|nOW(bRp1%ws1G@IOk2^q;wK0aN$dd8cc@S>BRqp(iCNyTNu*3A%HN}di6mE!lMg>Nk|B@dYtJY*kM`fX0EtCHoEoA{KPEWkRkn} zmSYrV@MT8@&59^yA0h@8AE$M$W&H3jb>=+NAOC1upA^)nEc*s*(I2=w9N? z9_XY%(L(=Uy~Og!K>?Or5~QO&re@jMV7;nZ=hc5MNS=N->C!x!lN2e&HLGe?K31q$ zed87k>AXA^*L=4#Tf|)1q=@6PdKTC2R!&hZe_(#t!H zoZE z^a-!P3!8B+Sc9zfXIuj}2b!CHHqdJc$qz%N5z&8%*Jxg+@whfFJJPHbsK-yBQH$xX zeqUHR4#k>!xTpJw%(X-TTnb`vmSAI^E1j$b-@_tFlesv6Cn*hnQeS#X%kjB-&wApY z%g0b5eC_$u6(pv8-z;K!6^q1bNH42+z@ReejCps=({JkMK6}t{wD?drXlWdpwL|ql z6HeJ7iX^qaC0->G=ndppY5_);=Z=cQu}WZoN8sE_Zxq>O`%u84IsrXJR4O$g;&g7J z)&0>ka@N#W)m%NcnTKSIbI!p84Z5pm1E7gLvu_9=O4 zI(F>vP_>h0(Y55j>6sM%JP$x_O?cf<@Mn~pvqQgwM{zx&y(+3+MKsuu#6AEXq9`%; zd8Ndl0{|oNiEwa6MBnSGDzazVTUG>m6f-8OJ)rBgjfu;0)|Pfz zMyTCGwoJmw+jBV~x23q~LBU(J%ZQu04^6oZYg&%%(Y(<4%fNoc3c5w3slUD(RqeDD zdwJ#;qy7Ly84-ZJH!*1vy9P&Slnf#O4T@^ciu14)9e;QKxlm&?6;-O#4h}`9b|2-1 z7>nP;T9o3M6`hwL@gu}jgg2z@bou=|!NP8)KFX_OTZI^#H`6ag3VMQjnu{irciwO@ zgr_7r8$TCAy>m`h*z-`LFB$bgc5=sc9QOurK6$@)3|4I}k2i7`lk`exJ9k5Zt2Z=B zG?a88uQFzdY5U1Qr`LFgE6%ou4j8B|Yy^rNxCEv#n%mB!t3NP6cYb9aH%kkxopXqnd&%W(w{l_zu)`H^Gif4hIohZQ0a%*De!!#NXn93=_nY>Lq^t-gEpD->JZ$O z8@)y-v5Q`GY=&Z=Di~;SheI=JhXD{Qaa3{G2jaEzPgK*=qxnyQZI>s`W=FT>d_F>i zXPQB#rD!eU{f7z_3__ctB~qiJ6K8Umvb83{9=N()UFk296c(GHNMK?_6}G9U((7CG z-Xi0a89jTdNmjir_Pq&JpV>Z4IH?MUv}n4H!dUK7Y<&*9DGW6kS}jLCj&)nK#&;)% z6^d>>geOA|5t=WmXxFGSi6G%_+v(!9)#Y4-EH4XQPk%$Pl-ywOs2#8Lb$#M|qeuk z46CHCHu_^3--x%2p*3F)=?sT^5Z_7^zo>D1#-y@z7VN8ZlG2mK=!>+hYE9ZlHKwpf z^A?8vPBwjn3QD&_Fw3Y)%SqSaJbp!bJ z=#vecm@PROVSEuv9DetD-`v&()tP`egvSClCEz$wPYQj7jZ63rZgibYf=Z@=xCXa2{pm?Ag|C60_k!q5Y9YdUP zVGR1)39?i|DXcD`y7)Lfslu44Lm#dq?=VNXN{)CNC^gB~m^2s5qK+>ShkQzU~oaoPD0i+9iO-Q%JQ*gyikb~gM zAZhZE!0#KPS2 zIr`Grg~RkvJk{cieyIyMPVR$H=4lE&vlEfHy?TRCK*H`DRF=Zn4n*F*dJ96VzNiL2 ztw*@((_V_*Iy+cLZ7vpA6SC91wIP4HoTB`FOi}481^tyH`2i+f2&GR7uSDjDG;Wb# zp6}8=qNyaZB+1=P#A3Ebyyu;PYJx&qAY6%PrymdQ0B$w`^Ahy?koxc=z4)D>X?$3+ z#SN{Y`BI1R`a9_1@TzLVkD_0N39Wete>X{9$wYRNS9|<;G7JRYs8{I4eMgBp10&aT zw-K|?Y)*nJ=!btQMWSwg%^PL=5t~X7c7o?k~Z>JOF^Gw@K%teVa`Mz{o zwq)e$3(V)(R}i*e;safb;^(&qTv_sO;%66t?S@ZRp$|0zxrq{uq(IscBf>F1Dw3%r zN}@pWXVB>v#6NChdoMre17Uvrkiq{?gsr7H#S>ZOk_Qnw>esVRirTi0{eWnvNfCqtP<1DM;j0rXJ65Yv6 zQE(JlthXw$n?ny0RkjlDw{KZ|NgS&wdt<^q$O5%spQg9(Ye8kiTwn+`_^pWXiERfN z3WL&?SVR$RDBZ8c2y4fbWyRKum>cKNI%5Aw56?QA4Jo?h(16DIq9{sIxv$eHHcQeI zxM6+I!06i?JFALda{3!U)jBqVBLRs!=Im-FCW6f4e4pL?33ArFEQyeT|0Y{hd4Zs1f4u}_YXUOuwxC;F>?2HMTVcQ{g4x2 znp+73h-lbL@OhT+5{+$~R(H~J^I2;~CXsy`D>M5Z%Q#pgrC=`@gtiIOAKEVM9H|hY zg84*gx-L24zHy5<9f==b?7ZX!ItH$9YLMON%#?jP$7oW?nMx!PS;2EojjL3bVyMby zxCit}oRcYRsHfLy%Bc-@LkT7D6iu$m!ld2h_IBDmrsyi)VD zU^D{hN2(WaJC!2*Vxn#0>R8ybCM?K5jhsBWaSKi{{SF;K5O=;r`{d{BjI zQgerErcAG$ck%DT3)mm)!Ay^vmE2)q9@|Dl0>rgBIO<|gh7O3WIk^MmMlaY$Jp{ZM ztSJ;6XlQWrYK4kURS)D9Gd71O|FGt=YI;lJy*9d|#z826!FKiGY5+YmHW1AJ^_gga zFs}@;rYDTrX9{`ysW-zTblp`{S_|3*E;cBH#-aiW3+$4HAod0Rk8?|&PODP#+iOzw zJ-qn;Zd3f%=hpwM;i@=WSpQF=tJ0spPfb+q%SWQq_WxPiuunJ6H^0M zo@LT78T2(U2QmA9E885?la`>o)$qnu?7RP-j~6%?(0rM~8RWrg3`R#aq!+i0GR9oG z7!pBgVv5(P7M`g|rVEljU@*wjH$YZ`RfUFZbseDJWPlk7?0_|TJynzhS6ZU(~ zw{J6pE$mo(1n71c)WSNkJ>E+eh2%7}B+NJt`9h_#A@nm!^G6Mh-LQS}8Lve%zx> zPT?+8DX2z1IW}1gXNT1GmB0=&zhe8 zslgy|i|V@H-YJ>?=$+#JZ#DS;v4xPW_OBTnd<1OhE~To1RVnKlG37oO9cB@*U_Q7o zuzK;DY=Y2tXutGv!QA`c*7frm-;7$0b>nyquiGQSW4_KNQ=++lFiBO_#9`L;g`MB~ zMZd}j?%gab(0O}Mhu1U0ZmlBW~o2kAHH9~+0Msp0%x zPBE2bfOb%&K#ti?(*dX$MM0m&_LOx|wlqW>Szu2$V8@lBA!kF?Pd$mDl=dAlVkX@syG8+Fq*i*s!cUsI?Co~ zmMO!0M3Sl{6(rir>|DbI>m^llx)DzSZbCLzi_};k!`~5ZbMgyEpwx22sbc65YA~H_ zJfE9PY8E?%vR48~j{ZV>HD2*?FscNj5z@6lsfQM+quvZ|on9xrTB3=}V`~w0+)AGv zy;77pvqB^xTF+)cmz#ti`Ih;Kp|KWsTK*a{;O~;U1k|G!4Qe9!6Ab&WJ&gg(0m(&J zI8<1^ktF5%mo*K*uYe$6_z3oB+Rz+0net&igB9OU2J7sGXu$|7^vZO3Ut91sw3wIJ zoicwTLO@|hl@C~OBhFHsY2p)z3UZ5OM$P~QP^rkn4s3rpoR#Ez#2DfeD#He#I@;ZG zUVzY!?NoYBYDgE!?2q(!px-@ZwQV4^$j#3wsFUXbc=`w1kxwBilfnJUBHNj5l_ztb zY_pX|^FUIaO$8Y56V;UW1}gou-Gfl_5*ikIyk1CAu+Cq5z>2V9OB7)l@nlXO93pPE za8zAUNp+2^fux~bV++^|sOvQ~f7(ZlxzMg1YAJP!`n3Pty-4sJpJ~XoW|5j?ND|>V zKqUgt5th(TBKld&hSG54INZaMQTpU&v_xl04oS^Fn(s3K(=ugkt~}gv3@&CxQl#~w zA*nG)MK!9CQ2D^xR31(YmV3~y0{O_^J+-X$;Dh~6sb{QJC`I#S}OeQXyECqt9@%Phh-BYp24~ZnM81L^N+IGSwBv@EoA^Oi(rzzE)eUWK`+2%R|;29_3j2{nh{L-6#y zkhre&pYy%k69^nIrcsg1+z7s)`m)t&1rpq5Q28TIv_8?+l`e%uxc%rI@Qr$Sq=Rp` zOlydJ`=iFo3h6@j#SP+ksYO4$Ah9`SLPXo2i9~ST>cXawHcv{=e~9`#AZq+1 zmB5hy%UuN@l+?J(EZr#yYxH2<`?NrS5atP#`nityiLnV>0Q~eB1ONgGvZ+S0 za}6?&3!wSTJ9=owY$iSa65#}&1MzhP(-lDX9{_q4o zoaqi@x9$#coifxZ7Rc9Y_JXYUI>PB4V|V+vP4>e-*B&DKU*US@mJ=sE-vRvY|8aIk z{r^uXES!w&TumH3{;TL{`Tz3W{|q?!PRw^U_zwSf{2yY}KgulY?{ELh(mSbs?uH_Q z`XyuD!Mw>^)dUHtOkO8LB|t7NK_i$aFAjuL22ClQXw!aa%63txs8{yl+dX~T-Q&a$ zjnC~ni-7k@8tdjd-AdDL7KMrfH^ z??53NC;cQn-Gk+jzA@S|^eCF4N&&n?s~)}jn=7;Siz$n_TH1N5_|aVUc&f_6q_84> z7M8`bqbbV6iNGjhnqcHLp#p1oR2LWS(Mgr#_`MD`rkhN9j;dmfizJ?kc~ z6;L8(rbBdSUV_A9Rc=8uh|5Ci?>usXO3ukMG|yf6Ht`)kVGAWUcG9Z^OVlKw>Obya zW;@25jb?oi8-12UgCv1E;bpi z6ceLvoa>l8eb0>6sby~F?(g3j^}W7$198E}#uvy(SJlHC4ctvVOe9aPaeq7t=+)Jm zwTABde!C>696mQ0(1ns*B-Z28#RWU6!zP&Gj~```T*v7_8i7KP3>Zi6iG=RML9+_2 zuu$jbn6ei$)5Zk*gc)}R_bb<04=Z}47!)d=`Q=g;Nam`usdTqS7qSn{OgM35OK&SS zcOy>Se)uPSZzn;aFv{+szP5*2-x;JFW5SaM%vl=27$KLEWW_t6(cfF8j3tc8BW;TA#a%8i;`=s6h)HeiWLM6Ps9RHu4p!JUds84uhgF!0 zY=W6&Mw)Y(&*ntYu~Fz*<@h(ZmnF@(uMM+Y}n6 z-@>HA`mC8=Jal_7I@#Y1V+h*KeVeFlZNL|Lf96TTB`p3}3VhocI|?-r11mQ@wU*-~ z_DDFsGuf9kiP8vah{uB@lUbIGAOitfLD#->g<>|oL*mqPmb=?1I-5wh=x6}D4!y@#l36(MaD8ns8#rWD&f_HdAhGC1B^S7UNt6E z2!XNrhLoP)rJ}(lM0_l7h#ZJ9+hKa-iGiyqo>_|I?k4FKxhJYxfQ+F5e2aCp&LlCQJh%1^5?MG25cdqVN+ybBA*juzN(lPLi z7t~wk7a+b}jH<7H@?Op{qR*1QZ|3fuQ+@1d&_o@NquKb;abxnLgk_eGrL=DUu%~HI2@}pW^Vj!U| z1(Y5NY0mJS@g5nR^jgO38)j;`X|-AD(%WRYSfNs$f*9EBQmI)_yV!29sA+|fs@Vb! z_V?P$u6e?EBv`rId$i-4_BiW3_bbcmYMiHZ`09s!eVPIgf+T8EMOpx3!1&~fzP?)@ zq*j2ra0B?niab9Xcz-BfI9Y)LlPQ?suKUbJw133Y?{ zGOa=c^N8?8TkMpsX=L&S*N}Y|DKJ(y>Czl@x-o_Pp2`B`3V*wnW;GaLW+VE#V!sx= zqztY8g(k_oqON?kE02^&$`^LTMZ@-9tQauqv;1}zPi{;YF&ZXO7rccsc8CVB1%2sd zYM&+~OlntH28Jtt6#{N;+O($i9MVxvvY9_?Ie^PjgV;5gWO=#iVXNLpe1O+ zK(*+wXAW;>6g-XHGomFs1)-z+iV+0nFK}63)Bg4R~%V+>}5-qbVfVG}c6CTqm0?+7?N9OQ>C;-;}hO!Y7>I z1cttRJS3W9A3s#9P>+5NO4)Z?4f}(Ofzjw`lp*v$G~jJC)PaOmKQR*C8Csc9yamgE z)67VGO^FR(rEt@B*wbE=;6XWg?;L$j4&Ij$=Tx;f0K1-nayReY@-=^wnJf0+&iBsv5L1%9M2-SO!dB zhLb;wkkV{yp8xRAJToYxUVt)Ntu`ve7hb+IDoP}10X zjRT}ebK8e1DF!1QFUY(ned%-oYUJ+4kyf`ARr<~tO_@l;#STZ4o1|1oK{wSS1D!sp z=;tXD%z>V~e<+Y>9Gz+vZZ$greSxwqJ#%k@R(E&+yAjHyRtC-Dofu#^4{a>wuuy3t zyw>Pli|S2`1sg$fcO~R4SOOa;N5NwYPaev#TUFCU;^M!*uP-UL0&q^`a)R1-69{d8wlK<>j_Yawo*}h&5JH4}`x`&{4S106$S$1sTSgT8$VKLon~SfN z9DZDr&C<-rGk49{$2{(Fddn~6;A5vEBxIgG?h&<0^opr?!{TE=qVlgi<(+d1cE;2e zO;U$`pc65E+gK1d4lPUi=jX{JFLLE?CA=dC!+24f(wdK!j^XUUa?#bDRKK|g7kc;I zTw_j*u!-UwScb^uXFD%P1M=N?=d*7_7v-n)L7GKsQ6YyN>l&1Fq*YtFvysta5KN}A zZHs>#$e$JkNUxn>N(elu){l10=dL~lVYEt}(Ig!6n@USf(EQSJJ7{QH!_0Ck8wD8tT>qxm1qMEe&dpxCf5I&jVWQwEpxg=5qr8fl0#s5A2fRm-PB(fVx*wJAMwtu!C8(bIGr3HIazZ(Eh}EZ&Et>>pI(%8! zB^ArLOgh=-xp;sMGVw0-J8yaa&Up-7mZRnm7DUL0ZgYcuzUIJe+P1e{OL{oiql-cM z_B7vouWNpifc3ic{9ad+d8zFsqtI;y-48fFwHpKvvllXlarznB{(ZAg#QonZVWpsv67?R&kYzYOjg2#CZxXQ&m7SwLAnCey zL3ndNj=_F}bSJ;Sit&vvk-pZ#@m6AI!V56th0d*bLo(SJr9!maT~m9#U{c=jG+z%M zzp$nnX$Ma4!}xC|P;#SsAWFR^1)^w^nJuzz0n*)!ObfkPaYY{mR*}Ci`rY=T7NI%# zvz_nqlOJhIN||#?QR_D%maoX`l)179#k+{>B#4Wc^>BRFnT%%{jznQaH=)u>88%88 z0R8+P9rr27ob?s%P#AtFnf>ZFl4?%bO1!%2JFY%ORhAvdA!{pa>v!&EAHb#Kg}LR0 z>r+g_!*~L``i17&aH)1Pzu*FMq=}JxPUA^J2}5I%w9`)_zSs+TR)X)};bk zag26AU4dL>gR^dAe$&0yYTJq4Q#(#xOabbL1c;NFsnL0Ve=ObCf6`jB2abcPrf|}( zb9X;LwsXU7g<#>XAGUWPX){Dt!m}1Hg>b7Ufd5`P+Js`fCZ_Sr_?6Sgn3bX@HA}_a ze26iR&ZjEBrgr(qM()y}Lx$d<xpQXH~3z!D_btzlXG}a80u>|1l^j8K}x$6~Jc!MlrHqwgNpj!g`ayV+#Ns`=410W#T^)&C#7h|abXwFdwI)a;)&s6i2=L<1<~XtOZb{Q zS1hOeN_M%uzK33JC|9VI5ob#}l#1d7jqS>KJmLZQqeu5uNVICd^?l_TMsy6s_MB}a za^5ou$6nL#h&5|T@0RW(lM1J8PUty%XPZ}XA61|=WP08N?IjkmAh^*NkxYbw@)PDC zW0oJ=K5$OoBbHd)|5O1g{$H*D|J@eQ`ZkD~q_lwzvr_P5V=Qla^k+nz)6qoST?fDa^gOb-_XD{d^M%pFr|CN zanAX!tMZs$bV^Et;+ODwrs8w$b^Qgn_IdPiIXmAf{9!sj&14{u5$KH8A16@e;-xj# z0-+7>*EVc%&(`tB<}jmjaCdIZ2Pk&<@-cNCw~O?dc5+>zOS)SDw^O(B64speOLOwr z75oFfC5nEI3ZsMh-7_`FZfV6Qcw_CdS*O|2w@*XY>|WWl9<*P@m@q0YZ5pK_axWYi z`?r9TrHpS&%Ww9;Q_EObTPM{>+lt7a(Z3F`bShc&5|?*(X+f>Bke2ERcg-}0xTBTh zY7J3EnV5X&OD7i(;JanPa(qT!^J&+RW~E~sp}R8`qwz%VHa zV$>V}`gp(;WifKSZNamxwntqBI;7%31< z{z_%~jt|WaKMP3BHm$0@NaRiK_6R7Zef{Nbt&=5kB?q7} zsPvLCLTg&WCgq7Fh_GwNm!IIo4N$4Yb6hZ$O{Q8sr?rgCQ+?DEXz#k>t(-ac zBz%e{djQo9@-@98LtaWKq6-B=W{}bZ;elq!NE1JeLLr(M+|H-xtwbR%8)9LSYqrAP}Zj>DF-uLb&?id$Ac?^~!zR zuHs&&)MH^e#~tk_qlou2rG#T=PQjR8r;9)H$Ry}xM-5TF9!BkV((IF=fBHRRrtox8 zL2Gm*&R{jCvUW%%maA(VqI{o(lSLNv(E!{hrX7r{k&{l;IjVN;9(cWn@3uvz8AO;J zoR*@KgJKsH8`Vnn9{R>u!&J|{h)89QOWR<1VrksYgJc?x+ChLieNBr|Y#^8NMnnfB zQ^HclpAj=gy?qxp3*KCDCok^)umm&3Eiclwh+(~`4wVg}{FI>~ReL&v!8}J3chrdK zcNK1b2&iN8n(PGZl$A^P{uLw#30l9e2W+5!Pr|A z+IMTb*oiZUDcuk}zj`djBgck(3}U{-#|yLI>QOX&hu5bl8FX2L_<@Vu@)xkrEFep! zvwbh{beR}Kw>UH>&>oE!65ryTWlGFmzK_qrrPDclBqyIfxctDMZj_%2DYyy4YF?9QRe{?m6-xDt zNziv_qoQ90dwREa+VG8|1*W>)98G%D(K6-zHx)PU2xwmvq@&iZtrz3Cy19J#STD*| zk9>>^_>c|A_{7G70S8oQUt}Skp=wq}mv{L)GU+v~?p1_}qkJM6%h=sjQxj_eIvKVnv}z)8%$uu(&lUNgu& zM%t_2w4%A<+*3&0q=;Lxz_A3;{T`h)a>B9LHBB~iWXMr=Q0R$}*JPn0_;^Byu@rx6 z!QM|4ryD{{ulI370!Ntp$_Efn!^RN@4n9DAiq>`)+nj|76{*A3QJ&&?xkG>96+7s4 zgtk#17yA&SeqV_WgA*eJkXC&l3+Rci&fDlyIVZQzn#K0$rR>vW+{qYz7GS{&5Fa`A zX1O;$4;tm{I3Vo?87B4R%u*w!j)iAPJGq8#X zG%V*=5OHT?AU9-(6`)Q*8bi_abjOWnuR{E(iY!aqY7g~{=ZG23nHtVn2`QH7t;0N^ z91rG}E%|tN#V%y^yrS)@5pFj%Y~QXN61J36f-HF%l_G!-#XhN}C1@H{IB0SY(TQy! zGx2m1DA23f7QU)R*308`DKX@nGtEWwGKN*w>UHdxPSYz1RD zCqe=q!l3?L4#IebNF@4vKV;@dm>sg;ELz7nzL(C1xOlDOIt$0>;NNo)n|0=EPNPJs z?xjs*C)Tx2_%_yv(@)i~Soz$w9}hU!U8s-WBuJ{OEES+c!M=|Wen17=vK`YASGrK??E4Y2og|f85w))36RbDRbG!5xj5KKpV@+64$lCmf-gfsE2(5p z{2$i}6D&-}jo`pp?^+)JXSYFt{#v&If#j!-Z?GT4sjTC?W z#vbksukivMu_PPN3pSU1KdRWWetqv{gSXG~n~p6AZ?xdAGk?CAif43}P#Ur>F}rrh z23O;q=4M!1SoP|+!4C2FI$564piqTySR9F6E*TRqE(^c>EAZMt~*_C7_U54IJ)DfX!W zqZ?kBN}5$VBTZd^z!)9O^$3SuQU@nsw(0W$VO!ZEshJs<<8-{lFXhJ%xD|T$#0VB%CH>dw5F;d;TP3d?R76UjOUDbFF3)|j$${j2{_UDVy{Smz>M%XPs46CNM>y8T5@Wpq&N0t$`w6iMs zXWYWdIW97UpMS>pQooI*g6MHB7`4OgU+n0G%Z~1KN3IiN<(%ilbFlY{*P6ovJt#_+pL>O>=@)Fke)=>H?UHxf7iUO+>!Nm8tul3;bLB|udF#e>2C>> zjoF#?FPcv<<(UgbM%IxlrEL2HdDyLl-1kS0|JehEYTG8}yDiSu30X)n08Y(18|OAX zqNyO@V)x)anAf<;A0Pyv^=;Vaa@>)3bGmiVs9~D|z^Z0Iz+K zz(5ylxepw2Z6*855Qf;5BpsfXstv`0>bcu&y#5 zbdOVZL);inbf2>#AN3*|HF+LAyo?q`Lb>#VEy74Ado8V4G@M^xqs$O$&^adM)+tfM zTLkPaf+z&WCblbM_>zmgS+&0Tlc^%Dj|O)B!{jALFCP1Ju#4!ai#&3|JfiC_CT6V= zi;~m*Ldr4U;+isMUPa#Lcs*U0D3@VxniLpg)pnU-%W11%j(Lh`^J&ju*K!%Y6d82H zX|wMfKV;Mpr(M5uWXMQB7xz*mu@sMzXr$)BQ;l&*f0dsmpwhRB+y9yOD6eZ2hxIeB zPhQs~u0%nV^LsLTv3h?o>n1yaD}M`(lVFc0#6cYXl8B=Pj>lKg7R(wa{D~SLo`Unu zC_n6j`?mCsi><_lSoU$h)f4~Kp`}|PfslbK*vvfwXPnqv{Maq~0^e`cm%N$16_*(P zVV17wI*5Z}R8MTXs)l$}CNlm?ElsB~Gd+G7vlT1`UD%IX?~9;@kk)e)c8uhjr5&3S zSs$yq(Ka*~bh&8Xa%`gQ*e^b_DY_%x*3r1o+lfc0&d1x@PG5x{SOEOI@U4JAVTya# z``k6x-{+<^V(_C}Uy^;2XY5^l#C!1)1ufR`ke=XcFj_~azY^lRIFLJhrErjg3CFzn zG|t!^ceF2%vWHmMVpTDeIwJPE<5WHN_^Jn~o#tfgpD7i+sk;Kfz7i4`?$w>}Wu3 z#+7tzbF08fcwCiwcp!(QB!OIc0edZmIU;>)BlvO4GDB2&G0pCMqT?N7z+t`d>*AzL z%r(`3T~BIszGha;F|D@YFl1@RzGh(OmM9|^nS@gg`sbo3aW$KvGSw>$`FHHnAGfHM z?|v`Ota6ud%wYlP@iM|WSyKl%@9%#hJe~bm4JN1`#%<#NhY+3*+6M*eKM|fXMLipE z5tP#TxjBtNB9ZV7+>q5y7#uP%!7j6gwNbVoI+hkt75h?1ablrS&;d8*nEDDT>N6X{ z2h5))aPkjP49b3sui;^e|1w|Hd!SuZAFjN#pV7t^FZMN#JykUELd4?k*b^HOvRl$4 ze05DGBi*eNkj=?2?p^U2lOQqUUuh1~l4akzdZ$-P;oCB{hPQ8Hn*;WQF{%OJm>+zS zSw14j9m?|`PH*5~^JuIXvZ7 zqfQl2`t@@gDGOcLaQI56@@VPXh4is4gQ|`Bw#4npWtvArv1+GP*PxFUD5qv!gMmR` z5gze`3mrXjf@d1!M}YFK*4NMsmfH9#;ypZc^aXhyecypg`8F0>+8_LB&~~qEDca;w zw@s<>qGm4>DkIT?Iyn??t{kdD^l*W^7y!HqkBSTMEYRgE_^Lxrs+KaB+R+kMltEBC z9(uRfxru@fXAa!@MlClol!v$FM8HocC9Wo0Gn64@!~L?lfUmz8GG=DMiiaoz4`%JX zYzmN6dBcTX>lzLV>j2Zk;hRBXbQ0&sA=HK-s67qCjv{)3^1$Pz4dT zyXn}iH?e|6oGKnNTvUC)p(wS@|aAst4MTmr@Zo&+H(ASRwQvJI*VF1Fi` zhqEren_T&P|57}Ocw-5sU3oG@eif+J#3dXq)d>2mVZeT?kFv(;RAQYTdnq$BM9+CO zWMCv0okUc*Pd+YZ{V)bf!49=#>t5~=v+Q)&)s`oa0 z8>st!Kw~9Jm2l^xT)@nBxkj%i4_$NQ>eDJe?weO9{Fgft?L6j4J2p`YKWPtxAVBsR`UM?lwJ?}nb|nxzx4Hjiiv zTaGWzkqNmuqr&o#K%u07AjQ)w_p5JKiA{l32bP=eb~qewGR9pILrLq|2|g}Gk$3Q5 zg7~ZkXppd)CVZaL$=%Gz)yc}pvy@qyb2x4e7EZh6EC1So9MKw8i;2?*6dx7%&Bh{0%poTj z&NEdumEEb|v!eb>j{)Cl2d`~g5G1eKW4$-LsFJh@?K_I<@*3;qz8{T7#bS({$phin~Fo*FgPHc%%8yI?)lK0RmJ zgn*t9)rvRx;YK{YSLI6v*Em#J4T(r;mUfH|WJG}X1It3Q@>1RYN!BlUtq9R+Sn+7e zjf14yCN_I9c>EC9;l!`3L>^{M5u|GaX4_hW()zHOo*H^0#WBIT;xOaN_;l1k=yn?r z{8oWF=vLaVK#+r~1%iThN^Bo+k&Ky1F-D<=O@>gMZUEjKTLagkVZCD(V{!$o^F@$23nsIB2(WV}s(7U8{&X7d_qRY=$>?9##dy~1ek+H( zhgDozq-C60r0rEfaIT4_Sq>jtC!SorVQ;o|>i>z%6-l)^1a3S2jgvg2ia_EgJLtNp zkPQ^0b|SB`Sg%^yfqqI%X*7`>C>R+5IOVkwv|mck&VKN0l-LzQkdmsCXK4MMEE7+ z-O4)mMehNpsi)!8>Y%7Cv^xwq=b}jfh11ghZ}fG5LFb73iH1#^$k!I>AiO`9RC_Oa z1hsWwKE>~fe&p+vP32P$eEBz0VSHDt4qNQ5Z~ss=h~^|?EGzFp8fyqYw=&y zAsL4c$5>-KYj5Mf2u1&aNYtje;e_OK)js;b08drI0dD=sEO52 zO+6teYs2$H&^LT$s}8tb1ZY``{5q;3xX=<)Fv7TC z<#e(~RAAYi9^&=IRGPDykJzU9R|3>RPpCxeFw2avYCXeVQOS}b8iK%61^X(#QX_HK zaOJv8YhYA3KH7S(0L|_xz3IqRAggRDd5> zBx{%QoTEK4)-cyxJq+UA+*iH97Xi4XEJ$a@`X8KgmK?G=5LOt9m+SMPxn##;F zaJvyJ9yEI*VNhe-D+_^I!JBMR8+k%;dnczp^+?a#Fo05)s<53}GW}NX(^#SFW^P!R zI@%D~FqQDqi%=~`t$ri=R)c@+>(qw?a(a^4}%BAw`?W9K&G z?_C>*n;FHBBszPG@h9KOV%e#@Os>O!!0Zs9Z#ZFSL%&qXM)Yd~X2th>qm}@kD`5su zWj9XW$PuU^`Hn`<+(^=|{U}%5UhnRYb}~0bL{>`2d@z1wVO?#}tQm|y`cAPW?ZKk} zZ9T%GK5~;}6IsOW>+WTTi`BD|w#2>=pVQIy3HX2_lGdO*Tbl3nE^7N=&9DiPrp7+` zvqI$^+8e~dG<8Uw5He3^zTCo;X~UXI)p^PX^)p&}V3ldhyG z&<5Nv#JDYw{K5GHOAN6d{?&LryarYI9wlURHh5DV^al>C23~NM8LHJE$rJOfyE}#2 z^K9x`)%yx#0V;hv`CB2!7_#Df=QZs)+spFKPszkT1uR_!5eFKp7Dr&^p+pO!oo+#C zA&7QJ&Ww;>UfaS1%d;jQm8v8h$Lr(`9c&ri`Fn)|c?`{NGF3Nlt3F$MS%uPP+jSoV z9tAsTNp4|HKpoVSPA`*}W`gna!~5)jSFTVT#S)ngJPUP|A21KiJ)XKPTHbkg2L}0Y&XHsdio&^X-K)W zzo&r|d`x{^n+P2Wn%3IRVN?Rrkl#K9Bs!ln%8J_U1V2~vvs;d*|HvQ~?(l>82H}Y( zBGD;js>X|y);h|*HxZp7Jxgny$h6y3We_t+xetDZy+jL9;lBd$f-(6B#`nFdZN?l+ z71vKAGfIecdB>8tEBD)6RkJdi8eh`Icz>!V*a_{^i99%x`-684=4+e3t*kq)c#8IL zTNQZb7-b~y9sC$Y9cjMqqmfGI^tk~+O~rUG^$(YGb%je#bD|#&L#^gwU20Sl!HOV% z^No+Y?!79`GgG47A`i~^oQAxadDghV3tR6}sgQ zK3^HPUOm71MtBqg#U!v1(A8BwZ#5$FD{?dN8~3{-GnC!v;^+W){XRnMX2iEKTpXfK z3=PcAjL*(ko+~NY@O|@APQkC7_nJmO&VE*2541x?rc|sr6}D;_M_=%fAKR6YuZAKv z9vGpYr@X;S;ayhh21`{!jip2z{OURO6a{PL4KLn^u)$#W6*r?)LoM#X*ZJXUfWwhFa5@$|SSQ zVBc(UlrSy0rey_Y>Z_Ei)rtbb_g0kjsx z7DLz2?gtkm{Qy$3i=6+^SNNPtGH{yXSw|ztCP<6hqzci$DTT|mDBExoH2xi>?YqMsI5=wa+Z_zC z8NBK5gw?VRv{?(;nuW6)tdz^V82}Kiy;%oumQA^A;jLH zcM1}r#C8fk{&99Z$7G~L%jLc++_Zr&pvcnU-!ymHuRvoyP{7X_hF%pH-F}VI+5#M3 zq7!0VP~>;!yF19)YAofI#&0CrUYFg2n~Rf6U0V_Ue3NsFY4K!WzrC9?3y`mAXIu}z z78lou*e+6-y2ehMy?yres3VrGz*pU+6Y8Nnk8M_{LVo( z^F_)+-k}nkXpY(KLq+S4Eus>aZMBBorhZ|nW{S#UWS-9lFy}h{<%Me405Q)JkAe|0#*S@t~%t$8Gen`V3q9^BS3C z;i5o)6Ktt;h?ZY1{uW9_dhNgzS}l6EWhHs@x1moCaH&Z_7nepMaVRy+n~_GwaXAK8 zw6qkTVr6NEdjc6Bm&je^Q9#}#Pzcf#$(CSn6%n8IYM8f1LPqRKpDzUTcH6G`)=?(7 zuac#qffbX-zvJQWSrq6qCc-KRh#`@+3Q*VLpBG{o7UdzZeex zZ(R)Y|5q$Y@gMfsI`t7nd{&G$B+8jj_O!90PuUFGlZcuc&4DyFiIB9ay1Ao8$Mf=| zgYi{T{@K?`z9QJZpA389oh_|$g%VK1-MQ|s1ce?}=_lG+-<-idwN&DMj`%G1GX$v( zEv6u$$<$tvMk_)&T{o*>nTHRBYrb$beJW0lh~NHc)h2>kPoa$9{T$p=+{k%Q5jRPm z^7hgyTmU?AE9*r_URW`@E^CugHX2Br^#GCXIE;QC9)rw5 zKXPR;oTJ5H;Pl3hCEPU@x4g0*d8LDf$OqFh?RN9PLKo^IV9fD?$Qt4MYR`M#@h{ks z5~Xu_BJ#>*leooJtx_5SO)6u>=kyMXpb-72&)rLxapR3|ML7 zV;OYn`Wti)^0hK(ZDO_tHe{7>|206;4WU0Se+-a(AL^_Be1KH=Z|*4nzlu^Yb~Ux4 zQ1@~&|JQ|#y1mkjGKT+o^Hf=K!%(EWFIYi22?nI^5S1|+2fGF!BQoSqP9mFZv-=SO zT!7?z&}TC7Ut2XF@lFmIAfuP=`ndWD3&lOGBm)1Ku7txcsXH- z!T@Z8Ku3z1oE5$KTDhb$cCERNY&`a6Ia&xl_nv;IAq_wy?LRQ%}9D! zIwzR4?xmnr-Mq-ko{ZV$zBUSAiEWsq^*gD$-!#Q+@GwuiU31=m`2;YrurjYM%Iz)g zI(#URtZB}dY0G+xiD5sm$f-WybaFi0kA#X+kNipoZ3fte7h53itj6b*-Ynk|pC88R z@!e9tOE85Lxl;d(?6*>et>m!@$r_;8uK{3pO|;Wp1@HO1fRZ=K@Aph^yRjXS5#Hts9ym}OywfIe!yu7&qIb@c@C-e%s%U7b3fNY*hsM#@K1vl zjb}qwJ2F2o9=)Pa&#}CInLR4;eY-`~r#^i9Ow?oV?SA=Xn{W%pxiB zMX8fV=nA|2^To9i21e9?7a!y8E`S~75IKAYy+;aX`CX|g9FB?5!*tXvwpU3>EjMFQM=;^9-e~f3;&#<`rfEnpo z{D_A^)TGJjTob-}_C_f#ImepR0f@^;CoE*_ufiV{4+DF2lDixBVT!Wyw@-ld|Hu>Y zFTT0f#>Xuh#+$>m#Y$y9si^Iv4vBOEI6~340#Px1lC5om>2MyLy{;&?N(bsJ<7(D!5sV6Cn23YVw`cYE4nBL8}IvlHo z10poS{R}N5GwccHgKP4O56r;gPq~_ndz6KRCJJF3D~+sFwZ_1VhS;G1g=q(hPTKf{ zI_OcA0LEFm+Zc5Q6)66BLU}CB<*P${q;5n3dyOEEEYwLEf_dY4%X+1?SI<}9#al%3 zm>p>u9?~7mbTghd8J0AS3cZ4r@POs5G;>Y2oItrKSR0TL4pY8d8HbAkyZOY_m@ZSz zl(Z<2v~BInZGt#Co8lHn&-q;yt64+VG!YGex(;fssC>UyU*QNko+90pXR-hm^0$_` z4Q>THzz%8HsmLA|E~W zOzmFX-deS;r({vg(lJl!bmkKr z9bK;N_HZx;5Zde*me#pzuFe{5aLm_snjl^BWI2&yyx=%-5gKJ^_37iBM^KjR^UA^& z>|I&Hk}X(IZEZm|$x+tL$+m>qQFJaqqy*JD2MPO0@7tnu=u<_;#Dh>ZRaqV@aCG9{-AoO=Bzk`S=M{ ze=1A&_D{3Sta#%a|1Bx4M=Wa^lQCO}dM9{|L(phF)xio?`Z-FNF+8`}7!z>ZZ`b#Y zyS3{QD zyd^-cNbIFPyo+E386m5i5I-o)e6?pX;IICSTDh)3_tBdnkpH(%DF3f4{GUy_PIJTs zUjjprafnDJ-VmIB5l)1ZYS3j{WDzV#eme#2gRv)FpN<0?wI_+oo~ANJuJH!N#jsSJ zvsfwp4TGu3qz{Bh+=={2_>;QG=Kbhk!hm~GB4%;kd6VCB`qzuIftTCM7UECxTfsP@ zuyWxPlc5g46QIub215P1Jz&8iF`k9~zPG|$lO1m~(0KVe*+wI}Wpy=vFO5(m0pTobe=%Sp3Qm}t$1tc?+1tq^5oQ! zq!z{A3On`6E=>APZ5$F6LnA*|b`$aGYpIf(&bsfZCd2%JG!@*Zgw_p zx-S#_;^|@WB?(u^bYZ7*Ekxs?7niaoVUAKsHywmjEaCa z!+8o0HHR%6pfgc1l-?wx!l5u^7BkGI>psbctnQ|-ACP&i)}6szVdd>ve&d}P&>N5w zl|7e@*|PcM@q*fkpwLN`8HwWII@7ae(kOCLtHvKi%I0Y29M7Eg#r62->K6?z&T7}D zCbK^jYY_sjsxH+=>X>D@sU^zCBl?FSvcTxg^YgsRoY!s-JcX;Q{H($0lf3)bU^HS6 zOb^$oWe@e`)-0hPwS?T0@b=nsbZ7S3eED2B-oy2(uU0bFe>h_o8rxZ9(&)(W0K=&$@~)AI1Z$cnt+~2%p+diBNGtwe zFIJ9}bIhjwO4TdLjcgZasg@R4!)oH)P2?N4u08b*XSw0ly3X&*_jPuw{~U(hhNdo~ z%ERv*0gdgJ@$)9lL}xYO^W6_2MR(fMd7DJ1NaOQAePm+}^jrEs_ShJ$ZhPQ&sXxl= z0?f_nVy?m9#!=zeLdTSSoN&ODV&ZNJLCclQLX=+@l&zx4T0<^rx>pgtQ0}q1z=gvO zJ?*85T`$~<=gbsTXTRrmsY6W*>}e+N_P$O*?0U{4?A@ZQ%P-c`9CfS-x6od2sVhRG z(p0>Sk>5{#?AEk+I;_FilL7U64Q#snLwo(jn4jAay?PPR8mlMRWXiDjHMU2I`X5^d zc$ar6hDS-$15ggKdLI{r#!tb<87OOqc*TUhqi=Z$uZWmjK3^WN?;x{eHeG(Yeih86 zhyZ`aN4-ZjIVFvMJxR!KwN7>WP3vtSD4_%k+XN0Qy6dNU=r0)Dm-#`yB7pTWJQgqU z=hm!fFiQ;N8z}u}M3B^BO;lAcPf*A!(_bGpBh}cf9q2F2fjjDUGVB|C_4!ro)t*OR zD2Do&Z)sfsLmVjxKnzzceR1bVx+BF!+$d9BKx-=?ZffuVvp8wuU`e0{`jHWL^v-lJ?=^XZpAPOrrmbL+iiB z)zl@`4_`{)yO=1D#DNCByr_s~WRNLWR9gW~8ca9YLu?w@#e!~`b35*FN!WU?+IrdD zmWZ&?>2V3hFaZz=Ee=%NG)X8q${atsxPAASn0~x}KI8wiCVe3WWdgs=StK6hG*jzx zoM3wxqdRCjZaSl@85%!>n6vDVW276CHg^`)L{@rmoIV&CWvW}#&2_UXs$6d4+nY3p70y;S?U{#K$qrg;OFe0{rMfd5YRBw@-`o*y2 zaI+q*-38X2LuoIec9RybcEQNt%&;}!j(&wKn6O~ilFb`QG+oC=R;?x$9-FFTU;;zk zbW_{XN>b`&PddR^_uWErM0k>6jh~sTKSN@TYIS|?6OV0@z8yK>d|I_#neC(Ohb{7lg4$1(C(?qed%I;MUgVF#uph}a)hdl))Qc=jjYA$Y z#86VD4)j({`U@`OjrfR!PJogQAFSanpwaPANk2a3+I&(k6Q$cn27y7a`~*}r>2=w69~z7jTui^sm%J+k2N`!?mZQmAD_X=OUdut5 zhOn>v{B0EEBtQYAwiculDeCn1%z`iyK)Sv{$x-)+3<8QIx?cqN&4~qr>MVXtV9#QdB3qln?6^CXvb)T;!-1S|FRJf(`Kf{Hw)Px>!<(sNbN6 z=LK%w_affM&<_L_UIng9GI5?>Gr2|CkT$6rvJU>}tqP?|=YmE^i7Y`Qs7z9?eGcCO|w|1AqPssGLw|HFUH$=KCO&D7Yz!P>!6 z&CSWl(dA#RI%S$m|D2{qh~$U}w!TFNLRzMnUz%0vuyu>aW3s?X#eXT-EEBY$J&UsF zWhlNz*LZ<=2UCj3p(Boq&23yG*Qp*+B^aLWIorGEJz!d!J_&gDhcZIs*U4isCb2j9 zaGGuMdrQ}2dRU&{Y4h6>2dGIL4Os;nlXbM(8l`RJx`W7%bn{6zVKi_hb#UMGQ!H|a3hrYmP1758UEQ8>B`XKP3#R#d0I=O}R7HMVqy;6_|! ziyvSUv*ysk@o4c!(P13>k(e{`s}M2FC-ZhW+APc1m^spJkzZD5jA>W`@EAGxLDFVOR6P3<>3Xv#u5<(0~OTQtdJEr#ER zY;ntnscclkFRZ0SAkJo8PhLuivQE-VetBFQE0-(i4YTF>-aLD!%)fA7aa|DjxO03o ze^2J=(%rxVdE06qMtq*{;f+rNqK))! zG15%xbXZw6m2%>Syj&4ThZ#%`k>g6k-H81P{c;unE41OC?l$Xs7-K*bJ5lMrA7Wi# zLQ1<#d_Z^%ThO5JxqfRP@K>fW{M&TVNli&((K%kahdKYgh?6oRv4(31zk&HJm=pSaRq z1dqcUB@sWW!D&Ot$qM$d^LTSJY6Rxaw_Fj>m%vi@_COAYEvD$v-iXzOL5tZ6s59Dc z8=NFg&%`*w9iI!DRZ~ZZy5+Y}zS6#k&maQ}nXk4;lX2c=RWTL_NCUMCJ_H$;jwbqF z$Eh1Rp3_e`oc#ltWd^ha1&4x5l5~M=DER0((|_xC&HP_#4OZ6XE+2`9R@SD*cK@x;^C1!Vt&yP{C>0v<$-QbZq zd-<%O6elr{8Ok8WMHTv44ofgFSKht}WJbXoHj)c7m?Jvtp5)eHyxwU_)H-taf@lL;?%Sg|5gzQ%Tz!xLhg1OD6HbGMTe6cB;yo2|y&U1*BBC$+B z#yGF6&tan)6fzWc(zdN-pL*$v?fv#hCE!rXHdK4ZKhRI;5(W4By_R&ee!jXQ3J@s9 z3uF9E7#fFi?DCty8Yw96`$j%TM0F$BU%$szqGnge$8q5PE$QFjfAzrr!|^E?I~ZG< zn~B6XPbbeqVNCCZ7mbKJ0CDj305vnV|)_sz+nJN4&l zxCXBQo~-dkzL&_Cv25c8_>d--TSN{P?jHLqKO7JC7cPi}!36rrv7v5xX}oE2vMxn_ z)^}t`(p~ZANDJB2oQxEeksS?K7yeS%cBHiqfvZ<15e?9}aCa?5YbprNIF6X3M~$er z6NFnz22KiB;J61?a?~XsBsU#Jizs?`_K_0s zjcgS~a>>oH#!836Zh!l-^dXBpG0j+$^QLjAPIv{uj9P^cM5qqO{f5?#M>(BZ`+aae z9=%KLN)J~S)r0*lp(gTLV|kN_0^|NzlLI!=Yb!O*gO4-ti^>vt22WPqDhtGK6^bzz znr-cC)95Ub28b+{$BlB*M5O`2U13^7#?(!N`_DM$`jw1`>U8&xd+}B$ zdOuA86q$X%@#B9B$N$$hoBzB){ByI(*IZFu(ZtXnV1-@Twh&DNr=*CR$3_zwS_5KO zSrGta#AIc>G3!mlLw1KCfuzp_6I`k1Do#E1#!om@wO1TR5 zb*+C`vOROVUy=%VeOUPrYIQ}Bg^PrxidsoJBCyP*_N4TIhdmm^BMI45eX>$2FZ+T~xxC?RL7o&;Zxc;Ib zcDiv<^l)N#ROR{G;oPgq8?cKZ%pJP*K1eY84PRI8`*s^suncUTt1lWaX)}2*tVA)9 zbWB4*XUY5N3fc|2_oEso@$!2h5TH6_K2joZz1KKK(p-bh=c7$3=hBmSk-p%m|&&~Gl6QW1Mi zcV1s@9Kv)_kKOC7FpWRBw4#4AcDUseHj?ZMoz92FM(eDQmE#p~`|d#|vnjY=YeovL zxv*11(#oU;hrU_M&W#zI*pOIbxeK z3tdwDRTXRC5!G|?tk7*-V6L2h$=3oy0YpVhN;mhebbI{s(tIsC=%c%i>>c`S4z;m5 z8z_8m(~1?VC1HF-91~`%;7&v#XD?)z(VJW(V=(vu9E(5ggAJH5q%l*oT#4#W*hPBj zgk1`6?oN=7Q7lg=#@OwBOI2yyLcR8#0ly^-w_Ap*EOZuoT6#8OD+#i#Yvr<%XD5^c zt_dlWe>)0nLCgl#LVl_vA)cuZY7vQJfRo9J88~eIiMA5{4q8_i)SWHl>6R{hkT``U zTi+pHP@0a+q7xaV{-9nvzp*}D$hz=*${FGJJTC9r2Zl}&=0W;*k{D_W1Z=Nv{~-K= zBK@^dKKbXw+q$?NY0`TC+>~%V>~!>Rb?<~6$|{UvFd5yM)+os({Rx&IHMc*q7jP_C zV@_H<94@o;+5=MG-8a#FWxZ=wn{Ze9l#96u4|=!-+^5b{FcT?3ME zg?EyB+9K{OIMCe(;{xaeafw*X^v;aI@M#Wd@MyY>c&>sYI3sBs#t4aGUOVeTxZ^V` zv8H^_VRAT=$TkB7lej!e4@^eMsRj1IJP5X0d9d9vWH(O!tZOUge)|m}W}Qhf7&_9~ zd^}$r$mq70Ea$R1=!fq`M9eGNSB_IuqCK>CFwlMh*nP(7u*oiW>bZw-=5-qDjDc5Q zhhq)cA7p1mslUizay@0ceXsg0Tvs!7Tw>@m7-VDCO4I>nnL`>S<1fK$|<3^6f> z=kix47IS`y$y-t_j19t69&!?xSg>YI$$d0eeMvG&{ao)ndJFoBz$@n|s%=&)a<7*3 z%nP{1Ib+VxXF0nx7&-M(Z-!w1}~dSt2eQ( zEVeEN7MR%XS$suLc5wH&huUfpF7l_9l^U3c=@`0NRlr~&HRbOaH+xwBI>9^9G~qQw z966yQc>Ge0hEU8s%vLFR zVo)R#r3fTlbz>1}*aNO=J-$XGI)aHPHwa$HNLx4>O_?>2Rwpn8R-JixponG?H;TzA zdBM)x!D`)4db_)v5=~Jx)p#zff6$UtZPslYPDhPr? zjMV0HUzg>-3yb=urt;-P6(g2khl{UHU494DdMX7tX!eZfeox&xI=aW}(QZKErsF`+ zY{kp>%@fyt*s;)nJZU|SqfonsE$)WUJ74Jzv>GYUToO22>U5fihdhg+WqB!j_$-uD zL(5o!V}HRy+juiCBer{O+bebEXZFNeNhUVGHD(j7p!jhns` z!g>;)6}*f>`d-_m7;&NK3S6e6HYo``@!PVIz!zmPs92mtLf+_wW5CQBv{bQa8v61t zj`sWjqPCA51G@5Ue#8b9>0h1MnEG0f^hn5JsC3y3O0UevnA(7yHVtd<`ot7$*hCSb z*IWEv>e?2`-;@A~gxOKMEzb23Gf(&r3zpBDTvs;&1{vLELUW)1!;ZvG4V{=M^~7uv;^pT%MO zZ@4GyMzM`RaoxmwiWa#+!<;C`ggI!U9oqK78bF4A63K|QT`mZZ=>_qxCdBcL_weQe z_F#tpzuJV@{(bp;qK2-8@vaZY0Msz~tU`~&XcZ*=sZR43Mxe53u(DWHQJn!7x3RI| z+M4pwbB^CT;_Gt7JhJpz?Tll_(XG<4tM>=bHZHDsJnqNo`asjc%lMAR`P<#a&IVX| zKQg>K%WCzSiA$B)k^eMnqhX~!J8fyMLqwjI3&G0WcZ6oArr(T*c-#p)xt(%A;W2#& zoNnn2Ox>Xcd)v`^c<-uR7v7=ATdck$793GJys6$vR}pIR9>B=eDVgEEOt4-bh0L)g zYtoPdb<}y6x=B6m7@*~b9*f(ptfP~2!~GXVcqIs{2oSyM9EAz&xe~`EK4MP@O~{wg z7>XDsnG0I8(m+wEf>8l>l?6I>lEtTWW0wz1Dq{$VHA@m4>z4O(?hR5pf4PXljR&Ps{45SO%I?(L}(EG<&{POm?oGKu>$+2>C?NL1UCl z`qrqXY8`m;uOQYU?ZGO8bmhsyZHgyc#d&E=QdavBdfQa@PzyaTeVZ%r)Fil`_&?Fj z1!y(K03+p(-AIjRtkP1DVnH^!;wMH6%iimenPV%TUD96S>@^5f?QST;yMgef)-f1C+*N2Z?k8gPo(OSlT|QH z(e!E@9&4tZaIEENJoWp`&BBdNm=va+gKV!`#LGRYz7NuP1{+)OrxNvJ$`4C^P0EgE ze3I!`VwYEh{C{YB2k%V#tx32$wspt0Z95&?9otsNcWm3XZQHiZjyg%FzdX-5^UXVJ z);Vj=ta<;2YhU}fYgg^6Z!vf`chMufAv#p2#01*Q9^WdKk({!T8fh()c?H-R48_## z+fEtmY1ngju|*EoED?<$?5I*z9q{bzRv8x3Pf4~8MPHrRBz+tB3#gS~Y#BGVm)W^Q z>GIW_}8McPVJqD6>Q9nA|zWmRGIx-SGOlg!~`^@ zEr}y&C9CPGC_Z8R{CdmV-gF3=p;?n%^N+RR&ugq9wvsnubRl&smh18E4&sar$ou70 zI9?{4K8Xvety)!{31n~K9GE-oXLggl2FBytHW<7JWba>Oo3k6w`kr? zTT@}z%XV0vAL_2?-XpWB`iZM582A7}U%+9F|3_4-RD(7vwlJlJ#WkNpD4+1a4C}VP z+vytGXwHz0XL(;M;AS783&43ybMhxh7~AiHB7fZI66{A`H3YBd1~tOF|I=7^2xn(_ zfq*dd?;r({9V1-O1skSzaX%r$asxmQI!KhH}sAd>L-TYiITEiuSd#J#K zG-uO*d7rwft!JN|t7u)(yT*|muUCQx-?KBH1T2ssMNWG;E~(@0Bio&h&j^W^i=8}y zuh#uHKN1aqL5=_x#XkG~My0v!$~>;Q$ZF25;-qLtk|F@Fr5Oug!7-l?y9G_=YEDHg z=6Y{STFp%hO=ixenj`DLa(V7s!5nLQlghG^Xu(n*h5RFn%H{0n!xo&+o_o!FiKxqv zq?m;ci&EY1yEA7!UCfBaw_T&yrOK<+v&Zu4Radh2(nP|E)F>`EmxB<-{_@+jV}urK zAb{$cF-XQ3ZOlbc!LyNz6289ozm^naWO+^7p6(gML; z`c@)4Fx|#I-r;i1ZB;;?$2?N^ifX#45+4O(2FxP+dS9y@%5U(9Y6<5ysu9KmFr`j} zS6x`XrMpn4pdG3ms*O0Ou1u~K7so;dvbC58_SImGi6U}r4xil?X3CQuF)xNEt}s6& zJ0I(&wOm_@`Uy?;dhW4v>&PCUyY!82ckUW$Qy7t)L({KgO(mNdU_3};9Ge0~P!GZE zm}6^`i1z)*{n^iLxl8W9*}m$+MTnEk#x6aOw!E(bQ*)>AM86vJ(G6NXMwzO~1K}2+ z%P=VRq05FoL=I_zojEyqGwya1(N)}EeW3{&4ha*4~RPv|K;B7sK9HV0h zKzYBBs`)j>C91=XSt-?CQR#>-cahAAXjT$uXlsxNGeSXHo{jX1$xBdbPN2;o<-jj0 znm=PBlD&9+iqKWeDCS0~Jdw)Tdm!mu8_i9LM1&hwX%=-LcZv&!aR>akMo{QE!g+;b zHZ7Ko&f+H)ww$(_&Y|_3{N>p98v_;Ca=Sl1kNGnDEtI+eZY>&_<*a34v{X@=!4L!e zw|6KmtMqwRgK2TFQkeiL0PdDEHQ@d7$ABxE$PwJeaR2OCmSXor2tII#Bv)FQWN}D@ z-A$D0Ib4Z^qI7V{w{MIf2hW%{;xy;y+?`adJ^Kyj7UA5neS#JafjwXah(J0Lk?qxwo-SpLYt3~#hsbTh;N04E@zyJkDs?%8& z4uEG}vbEU~AqM<*`IJZLW0k0O`%Yw}gE@OB*zd)=xAv91vKz`5r%SqV* z%iLXCWXPT57ky@(hy3I}sPYPz`Vp%=aSjN-zj{y1B4vYECO_jqv~0o;g<=0ly;g3Q z>z8+Km)#EzZ5C9N=_doKwlqSLzK`2?Jgc5}zMmlp=j-b71YxUd@C3OCuiE2fK)`G#w>#hop=;G;+V)n=g;DCVawuzyB8_{D zNf44kYKG^9Z?&kXTtW)JaqKr z7h<;nJ+aBoe-E-Hb&oZ)ZbNqB8N%Up2Rtjzs?TbE3d|_gbM;303`&HUAsgfTT?6W( zb}uNk8lkd>SsrLzWeO7@EsJ1jb}=uXHo-q_Kq)QwPF_9n8CuyzwHQ8~V-8a! z|HyVmJ?otLc!$d0&zHOqGx!8Yyi7l;M&ATC=ze{dytxxlpUlsnY=XRn{V@>#=Wnq{ zvDJ?ghff<6F0_A#U=078*C_wQFX}c>fSb=vljL}4Zn`(5>v_{_`?~Ff z_xX0F$M+q4m-q*CA7qc8Unu_r%Vzzhr+1Uhxm>3OrQB3Kj>A;tMKOk5Q->po4p zDNS>GenmKP&Vr@%hCNJp6&BD`@*;iR)p_EZwyA7Qi%l?Uy-0yt&%~@iLBcr=Tu8y1 zs)=kEPPk^wLbvU5LfY8<7Y|f4CO;&R9q(fx>xezihD=WUW+A0vXa?Fbb=#sa`P2$R zDAdoUkB5AnafaKX(9jk8&{gvBvder@78Sdv8?eMj+7?@%|+rhd{#@qTWiI>R0E z&$=?25w=N-km0|)!@NhYH}hM`Zo5NCO|c;Gtm@VlFB|8tlsKLbuLW;Wy87)NMIgLp z1Rq%;!3#^Fyeteqlf(s~8gN4k^)}j(1{I*3Hr0w(nu`OWLhRvx{0N36b{utju!oIv z)DM$;!V&=U?yr3bC)dN6Bv~OVQ;;=bF)5>#IrFxSMv7BZ2$9S^qAXTEhJ0KQVHvj1 z#5!hCuW&3&rIu2sSrTT_j}0%9P9juaug<(4EQYxY+APV{l0;Wtt4y34g`JUsyaNpM zrFU1;jihHkdqyzcG*aB`dAjf?(H}+d1Pf4n?)b^nlvPIR0mFP_2(Ri3Yl*Zsi5&xk zNt|x6DoU<^=L;r9d(6kWF}z;qJvdG>kTh5pD;j;GZ3f41LxHZXF31hu6o_F#YB-4HTK9hU)$yg%yLfZ+N<^LcG0G6LD;XSp;QNu`M z>g|5>{vmw{!T0CsYL-Ggi?noypWETd-bmX98AvjoxhEpkw$WZXcFA7D)Ele9iupPq zS!cuTDME8Wmvv5JlAe5UuP7JQ`h!L`UiH#Mm+2R8Hns7nqkw<(0(o)58*^Z zJUsQ$WI!TKQT?K3le6;CWAbM#z3DLPS==#ORTJ2IFXNM8FvyR5;nk23+zb1us09{# zG&pd$$>>{p%v^_2oB{7a%JA5*5>Y1t45k2P{;lGXu^_nEULc zV~{oF*pe)=e7U(%-#mC+@6eT;-CLi0ES1-%4lkoYdAg7h-#F*HC51tbN2mh%-Hw~{ zn`8arn$^7kasFGMS7jmnYND?KFUo}9vUr+<6A)cPb52n(6`VvA-8|Hgf}&Mt;wn!@ zPgRWH-7<@dz3+*p`GgEX7ZC5ZNxW|->kL+Q`CdPyeIB~#VGCYBAYKkKHxQ(7zjBaD zy#5KQ+28RaR0qMqN~H0@!Af=;qJZPp9YCEbm*D>3zoRpp$&5pWP~Q`wdYr;prJy+_|Y%t7ZJakJ?Rt>7izv&PsY zmvxuU@gs)d?&sy`--reZVD2LDiD;A&{#`ql`On+=Kg>P;D|z!j!|!~eWo1B_kbpal z%@tNlTHsUx?zfwi?mzdH)HQBlX|@;GY#Xc-$Oz_lj{699V^GXCDqILz#yV%dZQta~ zFnmejjGQ%;jG}V~G~Rbs2l;ZiP8ZQ9CT|9}voHTli&tCqE_PJBb1o}_O@pk7#K*Zh z>X%skewwl`aw~lrARs4`<^^;&4468qDkmMd+i55;jWl?{ZB%#qRi2ry#yq#~KKDJk zv17QXR24bMM_HJ|Et}Uw9Zpw5gYeWD&zW5lWpMae>giUPqRZfvv&gA_sT(Vc<$<~C z^IWH&>x}pTAornOMlOxZFkCh8(MPTti_YG_?>QX8myKC-wo zz>iQJ((~7HaEz!a4fRuhQ~7T-IP(7&-@@I<+QrGj)#R`16BkD#6VkubOR{#x|Noh+ zwmhmL(g#9^$%adtDp;BOr;t%dL-7_|Sh|)p3LPb!Z4j%zGNitBi_D9Ny!%%K7zzr zI&}7)!2K3$Xg4ERO*VUjx3cky;bAg(a}XQw^B2-FIsE{qe3MEb#b4FyUvb4c4#zA{ z;o}KEW&pEvIDL)!6#!Qhya(*MQZ&9`P?~DC99?kRsMyG(`LrNkYRS+! z)EcG2ylE%pQg_1X#-kwGOU&0S;nTM7bna*P^MZ%5PU#WHddddSaR^@Z$GC0$ZpKL6 zJtNXa!#mG7q425?aGr1?DgtQ5|9G`hkQUjegBU#yx}pnxj$j7dk1&b1ZX8C%qZ9mw zdWCe($vffmfO9*&Ol(WN4Q$QWH=83W@XVIY+`k8;_PV_T8RjkC1^WhrCKu`#sJJHu z^B`x*$wTBBonK-c;S+?pucancYUq;%&<%x?`rnvy`q-05D4S#-p|q-0eK8hNr6-c- z>*M5Al6tB$cZZqK&Nfww3bOW>nH~mmY}$)9TUa~YC>40fmW=kg8(G{5YsODKLfhtN z-TtcgFDH;CPM?fi_P^EOi2pyR_kWCwRchLQ?@Q$9zl9Fa5eL8klP#gr%Tm;|m1KH9 zp{-Ib<*FKm0UT&T8fThAlR%Nrg~(L|;<}p2(h_~n>+H_q`S~`*fEZM(noAwClW9)Z z^YhijT8Qt*?*oP}n0JKHNc}Lx)cNMfr#cG+r=PkRberNv(?mZ1K?oH26Su zYIEMwZ>=c@KAR<0oh`bWbd#<5`<*1Z9$S9Kb{O^QaY#f1+4%rTCW1|6y7@($m6rnt*MJZEV|_pe^*`lf@`Gmg<%!* zRE~{{gDFz^5t@`lh&h8WP5h2U=#GUaB4Ea z);xR|A+_VP<(}1Wg5~5Mw0gORjdGDGwv53Y1x1LG>9qSEF>+F7SH7uTuWf8alKvD! z6{cHl-W$I&x!r1#Qun7}w6~{2LuxB{J5^A_(ZVVO!pz}q38#$mwp(-w>JuH_qIaPp zX%yCEK-d~UPq=J~Gq~|yJvw4aNQ95!mh9eif`mJO@wFojP~2Ec04H#zr6(U&+xin9VXAv zWw)_v|FXG^=lrvsxjXj>j|eo3LXoCCBu=zhMN7lYo(=crvOC6c|2z5j8-%Wgv$&8@ zar~(FsHX=Oxaip%Gtq$^)y?eo@)kp;{$MQCy&CQN0iamLzA z=csJr=xXsfgoyo*u|&nd$?BhoUUlR12n>l2R0=oi6WC$7kfQ14YeF7!|_jopGjRG&} zSO|9+(5H}WIh~1Uu~XTucB@bxPSwdZf?7VOb|(@cqCYEk%xh&{SZmFW?LGDM(69FN0gfh|I^kW!{m=jxkljhjWB9Dmn+U{ zAO?_!M*2KP9hTOlTbqAZOORv26M!zZ>(7a~_ zZU$+%tFwL#iu*Lp=mWScfhY1#K}vKrP(@;?&~h~s7>c;#QLItok=Y)xhUQ9@!V|mG zx3@mPy*Dsg5EJ*#jJJdKGFWyL&dgWHTG^TU0i=Yun_!$}Q~oBElBEHzPEiwuGy|kh z7MKJnjLt>_#PBpo=CPuZcx(DjOUbi%^zKUa`*9}$qSsM=V#T5uTeDsx?2;&(e*Ak&_Qa8x_S*y0J+_tq9CWztuHsW_ul zgZn=)Vb#-iO2U}BJ1!4Qgj=VunY33!b24%K^}}N;aVk&f8tl&?-dy8nB~8$ejr1hI z63KnQxBGSWdIy*i|IzuTNe;3`ZJH2eULu)&jhdGt)7pwT1_toLgRz1wUc2 zAJtXf4#o0bC~B>6`5Y`Cl~`*hT7_pY>aj~-39DoWcP)v3q5m~A#q=CG;(ZDTqCf4K z{f6*=fCqJ(G=TC0psABGDVqpA_|F%oH@6){r$p^u|FoQMmOOXP#SbjOS zU@B-!q8_n=P(?XxFRnnQy0NL#Jn<$*(2pm z3VwU}bJz`dP4H{tw4_UX9d}m}RuBVM^{;l(U6Th0BN!g_Xu1)PIX4ld6$bjd=smG= z9pz_7t9XN64QTAfqV%xjQ$8-^#p0ZY>g|wn=fv7+A6Oi2)JezBmLqWa7g=rBG3#<+ z7*vC7AR@cS`_$R+kTT-c=f<3kF)b*LFy$+$uq}=VM&&t@D8)!gsb9vw=1(<~_m;cW?5>-Z zAUoKM6t9W)!Pd!TMQv4Ob(TnFbxxl1xb4@4&gJ`AJGmY~KN()5nmZ0WmeLb@^hrZ{ z$g1!7Gi~*L!MJ zE@I1iGxB5kCf;3wK)`jqd?zq9JI=iEe#>$)JwB<1fe4Qdv`rD9C?VF%tcChf`s8&N6Ay!kd~Fv6R96pvz$ zJA>hhv5vKb)eCEex~ttgS1P2o(ZUT3Xzd48KM^1Rv;pIoab{O$sh;O+SYrqN3PaI) zQ}B+XkHK?*tva<$i*8=4<9hV~UkCM41;zYhOW^~46sN1Gyuc==TyD`ihUJWl=m)?c z_`IUpF@)C+t9}}+txaSQyR~o+v-U1r#%E zUnAh%o~2G9EZiCf_$>-$3(ge>Y!^O;b}hZo`dp`N@5lFVr_CEir^|9JIVQkF20g@? zi)E>CHC}9%SIm5QXDZ;{I&>&t(gr{&p|Vv=dhsWALu+*UJKvK}UcPB~w!bP6^G{7S z91ALrU6dC5Djdzo@pP^8pg})+`vVgr?ZPM!GiSR73*NJN)GCv3+hkE82N7@ z8gz zHmR`~x~Z`vp%BJaK*s`sV8S?(;bTi!6q5B@q=jd3)CB;Jy6iJXR8xly~u3DFjHo|-~VY^JnE%1d>=9_Nq+LGgT*@_MiVfWWP*@9BCZ+Q?kXgk%gD@0Ts#0#tNSwSN1Nh+f7+ki3 z=-gU4MfC4w(S*s+0r=)?g0Pt~)tVs{(CR38r8Z&qpPS;4Z0Ol-bE~M%VmmZD`AL475D&cZki>Jz4H%5?W4g|K)2o$SCK2&DAOrgq&lf znexos>CUd3KZ4_F%RuuR6+r5*0OHM8S#*507}M+OF!m zAxy)XhFI%O!h@SDhC831DrqIIjV+6gA8H{5pUyeZAV7t~12M>IswQwYZ9aP0%G5`M z9-u)Y!)?LCe7@C^*$tXLnV2cms0Fial4I$K&RFu{%N8o%IW(+DMuE-7h?LuIPg^_m z{cxsNw3L&A_F8(L;=b<93ShfaaT4~J+=84>9{RRodz4J6Rwz&*5@0viB%9LD{X3(<8(R#hFll`BJ0O2qxd zyIHx%L_bs8r%Ya+hL&K_h?TwY6%%{rocnJxXeh2^bL{X^Yh-t=VKW(pi+zd76&|{h zzjz_UHybHYup28a=rti|rQ;!A>b`ufTj`{+na;Ys?+bC}^+)_UDZ64dN#BBW_4e!dt{{$0IFhYGc)cka}RvFnMhpxin_mgmzr6CWgBp$#_7ilf8V`@WS=f=+I0I zQJ`MS4Ef8|H(Nm<(2UJnXM{rK17@0R?+zZPjQ(e9fqBk?1IWxzC|Ws6ocmq9X!*Sb zZ2p3Sh8J+|Wm=lDWaNmZp@efv^~0Za{6l+%(U|t(fP}%Hvv^9*@)d;ciX%Z4$pPPv zR;chw9Dq?emYi3EmquzS<(hrCNSmljw-K-{m2ZfS=}AMl%6nVD9`au4KQ1sr^%!SKBJ(!$x&I~5fI-yrzi*95}SKc3QqCI8R2CH+`!cj&jLK- zO(P`^QcYe&n%-iH6H+@m2AYAa?@YfbYlyn;6qSGJe9<4sIe%e!=PF16IM)DVv5Y4d zWVyzi7o(;w&TVI$5;D`I(gUG~r75jYm49;Frf`42_)e|jbD&r>cqx#DX5yabfQR)2 z_NWf-sFQ}&OL?R9k30R58`-JQ(Jix`bDdWyL2_t#P```e{urA&(79lZHe>i55$&rg zBh-Y}vR`nfxWri&t1$7W`as||=Nn78Gj{a7IZI$wJL~b4E(=<<>7S|t-^5UpLx%{9 zXf}#fLh)}P_ysgS5E(9B^gD$~iL0zpp2SyCPGaKDoQOyThAYwqG2;Txlrs@+iU}up zm#5tZln9#Gk8w3@Ri~)*lt^2xUGG;DqA60JL6t(omGTg95Q{mp5_~PAhqCt4D;e+;}oN_?a&xg>${YW!8f>8=$3@Ms->!&ksMy?5YRk?8_^s^ zWH>It>4*D>s8v!xp8B1;?h|&idg+NZfKX7xkR6U%YC2Jm=N84S-Z3A^G>>I~FfFwcDQ3+-18C9fe?~Pnj_LK62?Sfj4<+uEgEqcX#h4iS|p zJ>%l~`%Sjw={Cz+TQSUbt=jdI;?9nd;srg!3+g-g;AeRBYc=l?S<&a2w#c6Abg)GZsGABTP~P-f<;bQ9)Zx>(R7IZW8qcN` z=qFUUTX`3gFT%K%^5WXo{HRx zGW2dEf@~`e{$zl@KIivavmb}0ALmF~Qv_$ZJvnSKc0{$fGT~7vBfg?cfl1mMN81O7 z2D{kaN5W{p;*zp=Ow-lXQN%5|6lR6nzFCERR9vepSLe6^w9+S-~s zkgpeQeeo3II|!cHY*lt#ih_@0avXC0dW0qJaolED)Ts;E$|rmmU-l4>Zx%l<%*KX_ zmJEz}Z0JVdnaTI{lSFhzc^HrvRyXI6-KC?zkq?~qf|1A(v4=6r)c;8<-ImBdmeXMZ zW2YL9-X31%KfHs5xFCuSEYpD@;#`$BvKy?U1$Q$=+oXz`KjiLJTO(ajsEc)kL+cE% zg#TS((qQ$BVfh2{Dw7LgufY-qkysJ1 zqx4z4GWp^NVjV|V!S=9JVLQ=ZQPE~bA(%zQK#7V6mdMKIi<|vjp!;Tn8g*OYba~41 z50%=k()LqUe)1Qnr}DX(h*)MPt`GWzVhpra)+XTJ~GC9;ycF_28Z?LuG< zjo_a!^%B!B8WJs_+wunlLVWl|b1_T+Z@;=V&-lN9fn^v50>5_RGV4l&&scXFzZ zSQbw;J_6h4ja>NQ;7w5n&!+qQ$bwI?3wE1ep3vgVWuHC18MKgUYT}NwH|R5a23pbmNoIJC9PkYnRrk?;>yk^Sfu7)Uw9fc5-0R5Tr_LJ@8>MZ zvQSzcXv-l}hkT_pAYdr&Xc_=paY-X7?ObTrl1B=0J}^@J8)NUu7RM-s6V!`x;1v}h z`hzPFF!FmBasK(cEySQheRdKM(sFxlB%tX$+UFl?N$!YrFK_Qhn*_It81H(A4*gse|BRkq+jl578t_Mcfh2-Nc>^r({+Ur zD9j}I)l|e-(fq(93dtBC0=K+zX8~tibgc|vmGdxo4 zIm8$6t>LB#22D`v{3cCasDhpXJx5XK_+-&&hIc`|LlIFpQq=B}4e~>fSWhoWZ{4*6 zH<{=6oHprsjNym53wU|MAms8s} zzQHw*;QU8#=h_6Xj|As3S7}>*d&$yKh-+(HZy7&%oTk%QSbqJ?3F!en9jFmf$yExF z7e{}GYjQfzFE>`@E6~ZvKA_6z6UaSF=Nna6!%v4J_VYmrU@j+O5rt!uiGz-vnT^wRwEcsTw&f7ky9Bq>-WlL{K z6~AK0*gQe8zSwOGo3m0ZossGY5W;alb5$DN*smNK9w>mF#WS>&S_3f zYo(DJ0O=5#x5i>)xXfx>v7m|1RIdq>We{Du-!@tM?rpO~X*;Uc-6h<(>*Un6ZNYmkfI#;^Z}GkGq85nCTw#0oF)WN;KO6UX zLQi|e%34a15robT?t7GhDn1}@*|F%^@Vv)JMjVa{vmeFE>mQ4N{bp9 z*1GG8dZ*DZV)69!bk0WRyUhIBEP+q8?2h@wOD)yeuy zeY5bC5X0}pDEOrKCU!U@q*;V7&3KM83)@An%&hAjHxB9(snBQ|-A!Mjk~&^kE)Ooy zgQ5lR@XnD8NEe*wMNagDg__cZC7T#6D$0H-vfUhqfR#hw$=3jR`L9o#lMfQoi{b)^ zbUCb52`RI1bORSVlO0r8s><5k)q%r?`JS3!PEd>WIHh!F#85O6c2Qy@Mg?<&gGg1^ z)G`af12kUkUSkqcbOjaLPYVq#*3NkLZiMqY`o&f2x;{5}&^d9$`9430<-3Ih5zWNU0n>A62|r;5q= zIO`v5`KAq0Q^$K+-lCZCj@D3n>0hqF?!sEJe57H0V_<6Ln&|@8-AqoKEwAlqOCn>= zxH(8PlMpDAgBY+3O=$E`x{a|sObd;QM>nb)J@eAj8F55nWtOE0xLu~2Ss*+9W3B!PA}Z4|YZmDW(s<27O^kXXc+_4k@cTIq-lR$1O2BNF=fv z;0PI)uSf(7H!ShEMcXH>5jF2`w`|=*&zRVEpg;N<%-=EpdV4aRtgt~pwdp@U^S}Q! z)A4_nGV#BVWB=RR^S393-9IzRrqq8cZHOcN$+AIWmwqwNV=k-IghBWPbh1Qpj~@w>-xj> z+4lK*#`nh`&|a)?rXVCWB*nP^HQ=sF_Z zP7Mc}zFeq}N?{VXv2Q+kOOM4ibn5CQq}dVF+_Ph|^wt})8_5%HQj@}w z9=zuXWNRL%gEMi>t}<|uO9wA7I%9sMpyV>K0ir6-gu+c*&yqm>4q&UO=hoU`3}uT) zF$yUQTAo0J`pb2*FDM`}Tx!!~6rzKr6pSmWKUpf(Eo0a_{L()?@XXn>D2A5iLTrOt zE$AVcU*CZypad(Q#&nGN5K*;XhkHmveL&f%UJ3m0vgKuw>^>1=q0ypD!BkSPxn6ab zm;#f<+05E-2B$yq&&T({Ek-=xP;O*C<70Q_$&jn8Iy)s<0@^#({DZpk9z}5rue0={ zqeyi-v-`TiDMk&|ul2PAR1r+yruLX_A@uykVR>U)V4EP!mo3VzgT)C(98nN61*`6a z0cQrT7!?!_C;X3fz3w^A{e-jwGofwv6~1hWgtM?Pzxs8R&QQ;%IeP5doP1oJOtU^mPUj_IuVJqk=WmUmj5g+o;mMl=;5P1v zx>~&TA=&!o?2&*rh^j@)LMtdmQU~Nu12Hg%c3@%GNHGO;LnuH{RNaS1I08a0WUioYj2Jk)-C{^~9SzT?ac$2=}q#Ec|QZ31jba#uj3g z2=@a-q?Ey58q5x_UiAUAE*ho24@zO$2wXLX>O0AfRq5O6Jw-oxdJ#->ZPeDnZ~4ET zo}wQK)%c$zd*dfL`L92e%K!5Z^$+|rqZ%7n%zXHiTA{`y7QJyFRd4yFtvU`qvE zF)3V9q%57X)}`3=+}Tj#hv;tz{xEQYUJ0UVNFkcSeqea8NsiM@Q%sFd&yTlv@Ln2g zvQj2oZ0%cz+3}wiRPPc-6gua^7Gt`pa#4@(DpEAoKgt~y?>SO>1-WKsRv^qGkU+uv%5A#puk6QOFic^6`37>a~+R2sPduW zQ=Tr_5P|r~)A9Dc{(hrMF@17(hjqM;O!p*P+s3PKN2l$(W=WxCVvY}awIqs=r2GKM zt%bwT$-J&u>BvxA4%MGcnRk%x7VT;APE86+y51?hc&-jJPwygt>k{K-*AWsZCtjR2 z@4@=p@PrK9OG~ChALgV`<~DTiH``LA!QKgTAH=|LP87vzp450{*U~O+0+uf z?1F5WTESAGQlMBrN8JPL4zV|mTRzGJdP9I}y1G=I_-XYZ-{wgB04OU>H!uXvOUG^( zI(vWZ;`nbpG^{mEZ2xBsvHx3#BEkQ>hW=Lj|82JU&xxf=1KJ&R1pPyzzN@)$SlG`$ z2uT<&&SZtzjL?;_nQ51BW0Bo#z1Yg44xFY+ql$30k;=xCz{0br&>~$=YU6>Cv=7oI zecL8p@64yrX8oc2hDP?y)YWC8KYD9FX6f>B((6y>^UNR9=e!bff-kk%bn(02SIcn* z{0GJ~2H^(ThIk8c=KQd6q6ZfRi2*SeKmb-)DbO%ToR~-q)>)TeK0a)esYzefm;)i=!;r=X zVzYo|ogK@OG0hhY>Xr(7pqDer3rE2r9<%7MiF69_ITuQVQ4N&$?arUl&p8;Tcn0K= zrwR#8YjvU}fiq(mB8#-4#8|N&E9v_zmx_#Oj7FZ;^}2SkNSK-SH3&TPELPb7X3D`iq#=cI$Zs(u>2};7r0srBs93Hi9P< zDGZV#ms$ge6i6+>sLMxCewjYa+5{ME*IGUeHKOXKV;4m-zWDSR>M4gdFmLbYCoWCg z7WntcxVj@WUxf@{5S0g1|L_IcSp_h*Ls>vdY5$Btiq# zKO>8{CX_{6ULMtma6#i#o_QLaJ((cj=Q%}TXSB}F3;s%+Lw@X3sXo3MG}Xu=yVYMh zEhQX&ZCQ5&;ySxh5PTs@Ba(F!FmUngxNa9W2doNWGr%rKF=^#Alh^9<|9ZF3Ka?*b zPSHGPdUJWPwza*(zq%sNm2IhSGlBrkW8!>(4IENlJ=z9m!diX_*G|VqeMU~48^BZq zGuF@T(5&Fpy?V^oAKkBwzKS!p!qO=pIZ$q7;;tp-s5-n*t7)t08OR zJ6*|So8A=O6oko#@LZ($@p3cLgW@1hGoC#}T=J^SAd|LAAih9=_`I?20Pvs4ZR?d%9A= zmv&5F2coe29QA=5r@50OhRm}#3x(uc)m6WwH zX0dVEjgg1p3Ce*MJIMjU?3ahqLI_$^qM6s=t{9cRdxPb@;U>kw4}O_wD${v|Mt+h? z?DxLZNQZB+^%*3Vl`Kw`w&~)U(?1=u3DyOK4RTzQI%;(ps9U}1hetT&JV{EiL*XLW zVj*y8xl3H0C~D~F3WM70SgL~O^`y}qv8XPSTwu1!p;4l@jh!XgAd-lpJUdxM=bn@{ ze|2qXnnsI;O0($6xM~`iX9l2%VGR6#q`hN&W#N|fTT#WfZB%SjY}>X`F)DU;Y}?$i zZQHg{VI_HUPItez?}t9WdryDb-`8HxT=N-o%<(5?pz>}cg7Yfo1x||vQzeKEiQ772 zK5Uh0+9PCpd+azn?YWXeaH}XfA>k_o1RT6K69J%yac}u6L;5 zoGy>WtnL%%Ngc0#$T@gZ@Qg>?;sphl>>hnuuH+yvjj<|jyw5MAaJwHZkDa!p)6-h9 zl5?Y}omFCPv^BzMdk2TpdMJ(Qhu%Y(2R6^Z;Pczq4+@YiR2gDrzKj1hGSN+?IPVJM zV$Ky&6bZVcKUd8YRru4UdQMd2wXR0I?Bk29kRMf<=IZ`qu^Xcw=qTT7sW zk_za zn9ni&izV-VBO=Qc<9Xv2(&_w^MZu#(@R#M&hY_L(MZWFE{v-IQEc2Swg@H3a>0f{zvW<~w3Oa3VjuDB9g4RlgM`uPog( zw9oQf=`Ka-iqmVWOOgFeHQ^vJ2H05O(jOEDb6dLg{g$iEmjH2f-Y!p{(ruQ}-&BSD zN+i155RaA+oCk8dwA&Can(t$XiPhQ5v@ctoj{WCVhGJx+M#wMF4VdwG_?TvbA<_dc zY~p9oE{W_ekc#pAkgLAfIHc?UMbMb+4rwu;NWPsxG!g=ZmT0(B0s+iDRy3 zr#%QH(y=G?fGd{U^&GLT?HGO1cb`CuMEve|*T0qK+d=&Z>&+*h6gEx$uBe&^>>2M* zf_9vt1ql*Pz~M~Rzb1%(HXJa1biguKT^2=c{j4axl?s9Ljr_fN@F$%vYSJ=l($&Q} z{B?WC?SgmAfj8U}nzEg2L(0cGoLKF^z8Q5@EY1(UpD!6cjQ``Bq*u$}MYF>-k+Qv) z%b(+JadV8tm!Jeu;c+`%en=0r3HR5@uo#@#Y%V=KP*x!}97(IaR2B&U-E-(r?J(7B z{HzOzjLgLEZ(QgPRnH#A2MSzInCrSN4OI?2-GZ&NsbYFm?Ny3dB5_q9m;yU`y-4Ms@OwvwfCF=M)Z>NSnk5 z2_yO95fTh{qH+#<@N$I%oYHxBdO9rx5-?C`mwuVpq9-FYsw=FA=R_?2g%c>*&MLI) z&h6UX2Ruh^zS4eBXnpo{-w;*+nAFUg$25aC<5S1&TGJ+up#2asL5w`63 z_5X2QNradQd;f~wN5}tH*Oh-mDUtMjQwNiwnjhBXld2H#r-fQK!qu88|8OQ~@hC>ms zT6D2#=(^ySfRE<}2@1QVG1))Ox9LMsTggv@>N$iXP>k%=d~Od+&9W?ykHN5mviYm` zy9@q6rxG;US1^;2u3&zF1w!3!c^s%+;&9(}SmCZpbscWKiQ)biF@w7Had@+1c#a{v zJNOOsoCT|E*twj#r=Y<1$bB1g20Z@I4?1OK{U>guO%0POs=MDy9T7h7LCj#pxjPsQ-X`gy$pW3pOUm@A0UtnPVsO)z%-RD4IIacCPbfHpX(q*7! z8xsxIY&N}+QH*%;$}Aij@1T(paDc{?G^YVpm{n>S=bv{^_#ELCPASp8tKQihC4hzM4LpdYC zC4!_jE}%b|0we9BRWG_WOn{ke<13Uy#)Pp5bJirS!>xE~*zhXZ@aov$S)ke3s%gXk zW!Sz;(Zu&9FH(FO>cL%>P!t=)qB!R2qk+BhiAgOO9)OSLu%M|w7AI7Mj5io(8HB9( zN(|aXZ?0g}`H}1oSS_e)&>Q3#BoAc7B{m!VKD;+KNPwmuUfvUy&R*=-xZ{7;n?(NqYX$#2f0A~t_QwA$XS*t1R(}2GSKWp;FqRlM zhdzb8B!+CM6>fiST+edP z|JcED-u{-M{mttcD}Ttr#Aa+bSS|ZF?dEt$&#_Foh}=yy8~6Mr_$$5PK!}`Vf7pyn zTi3@HWjAS-xELE_cu(s_<|NTi0C#+V1w0~Fdi3U3!xI31Pb!j$zkc!aS!A{l|4+x$Pb!= zCdJm`%XlM;Y>c%ES}qm2EYtd`#@od!Jj*1~xC$VWYhe(B@fQE-93+^yhTu%eajsf7 zNm$jefZX2vRr9m^%oWoFXAx>WQ)5G?xRJWGB~O}z+}zd@w(IBqoMm6h@<)u}{&ka( zw}Az3|BO4LO3zPzMgAz?B5d$d;zFDBvxd}y(h!d^f_!d0)njYAnO2zz5>x5;KJ-fN zj$SR*nz*^2EMYeo*LAn8FR=fpzLW$s2T@sz4xPogt;dAB78@ebXQJru9ff}& zwPZhj^Qj^wU;JJ#=yj6p4w%Gn}{XYluSXDy| zt-G4~2%Xjs^~UXjy7n8#23tV~kKoaASuXajNI#qz-!)hZ6kP6^WEMU$^6L@6v{`Lb z%fDlXv`Lv^sEH&{F{_DBu!B)Fu~>lQtsBMpPoA%Y8^X84T?`R?XAu+6+h1e3oQWfF z!**#^0qCUsXbI@8x9WsDG^!$0Q;YI~kJ`hfN&4YV#212Z8He-8vO;ZYF}A3B3XyfA zxmtE%a?ldlw_Jw^nRF}+$1~45d1!cs)!!0Q@SP5=?AvDP7e%;NGVU?9JuX!In;g|DN&_& zzsc3&3uWK{qXwxApO!Aths`lwI-6t|*Asg)@Nw3!zwgY4Js?Y zK3SX5J#Y?X_wt|+QM;@;ATP1)HhAxdR+huV^dThbZ*j{JRRKiNSz!Pp76+gFvoZrB zD6&NBoF@@uoEER?zs2MRycTl{cn9gC-8h zt8{Jq>fH6nUz}mpQy!%2jz08PoGhv_Ho;HOu3?jSL)I;jdigwRy7k{avT07Y8lqbT znqt%>>61mB(@ZMdAD}$h#s{O^C6b=MIUanZ={^l`w+8=0a!bezZt=Gphj&8@vFHrC z^qI`-Umi+z8=j;P2w!txjgdoRSMPF*{s|EGthi-@*eJVz*D8q2plZok`1P0kag)3o za-v^q92QSgc$BwHDdQ1GZr%p|xSg&)5uGly%H~^vOu;bo7s1#~a~O4r*UpI15I3^o zyN#mm1moEri-o*r`YngzUnJD`Fs%)l!+Xk!+?#(Ir*2ih5gC0|beDg**~#_qRrLR8 zzb7?x)p13!d_#h4piVKN*i>n)Z1WZhq5cFCff6qOW9M!R8ykPE!Wo{{x0?%aI>h+p zcHYf-P2XzqdB%9|CaHgbeMSwtQLK|g7yb-e(z%%ExSx9Cy&j&LIQj}rd&BR+Vn;ps zDI&-kE;oQhL0=NT`XIYGz7ld)r9GtH`KbTHmN}daP7XDw+Jq`9~ICbnJJ7Yyj|Q@WhOB^azNL=lRo2$z2`mt=$gU_ zaf%0FCLbxX%Fq$S5AiOUIXn(GU-gWwq@9Z_OyX9Os!g4AH)tB7BOPAakgDq7ZwQ3o zfzdPNq{U}fX^3xaXp&SkRImwMFBjJ7w$o-`GYKV5Pf+A#k)Id!vySE&KT8*k&-N&% zFjoEL!h{f{XfIrXw{1Z_0bXpOsuPl7>zv!2eO&z>b?#0}Mw#rqDp`+{muyAbUErvV z(G*}9vekJI!UDvkJ4ILi;~lsAOhk_tABjG>Q{F0sD8eIu*6xFZ$PC}U$~`z>C`~(+R$FyR%AWC@u&PdeMz*vg1tw#M~KjR zD)R<X}BDWYY6PaIwYpP5cijp&G7^&Dva{1NKQIPhkK)tirNAZ=8R#Y9 z=VXtr>5rs?A-D-jj;SxJ?W`Vz#Kh)|;WjB0VW0AIJ_2Eok~qh8CueOHBPlm+M9}2D zez9X$6X53VS@##zcgdFFwilbZM(MX_IZaK9Zb5k+ zFQ7QIsNmuDV@ZL|-*r-e{f$BwlExgVjSB@Y!%#V(mrWHcbQw{EbFx7PjLLZ>|hc0y}j zpb+xb8!@3Pw=10)6{Dj64YXtE!^A;hb;*E)JOycnw&ty<= zDHRA%6CCjyi)RO2Jz;tv%>gqTL%dZ!dbQ<=7-U7T@k)g;O1J!}kvyyo60O`pYi`5& zYTPJ|MWhPa#TII1va=FIv#?&}b*X;I7x9ZPzc&xL!+UD-t62qgs|4TCo+KI&{)j)Y z=YKeoE%eXigVaplwAx%>>)-yYd?wMkRWQp>a8Y&-VkjR%>xv5ZYgJMxQPL=Ak}-~f zc_>>D_(wkl*z=o3|5_=H{gfC#2>GtpUU{wMN^!hV5QyU(#xRJ%cEx{JeECMK+mpo|~e5%8t8;WfxOV6!wIv%b3Si*}IZ=?|fIOd!GU zC_JjA4W!DM;GiqXPm#&X{o1FgmTX}#{sNJN&ktHolvYq}z}vwF_B~O?|9Yv?&PLEt z-&Ywo#OC;ls-L2l7BCs1WKL1|*2u4yXLHcOW?J@|FUABMcRubFd8jLqu`+5 z*B+j1Agg>|9v{!-FG&MJ-Rn>x37rnbu*=@R!9|7z?~&nLCz6z(3Lv z*|dy{ay9CXIuG|WB{O)pmYC;kO5e`boUCWk;rKa69-f2@02|{m4 z7y1c%0rsbIf>~pJ?`AzcRu_U@ZyH8nU}tr9iE-ee5@9JE;DZAc#HVw{){D7qrS)=ttH3*(1r3A4`A^q6vt)c1DBvd8(QdgqZ2%x_|L2XUq>(KhlzK14VG9;H(t7E*rI<}hpU98Gwth8 z>KpCv4y@A8J=L6par#Yaf^>qeOgykNR>BMeT?Zlzp?IpChmm7~P;}9zX5AJz{l6#t z%wm4jS(98b$Fj1OdfJI#3JLcKW6&XPQ<)RRghTv0%flM89Bn=;DBq?!KY`a-MIvM0 z)3~5qyD%L~z%ROtDiWh_y!{e$|Ii#7C5So84u^E0T4+h8zESsE)LlT@y&0xcZYkS` z^$!>cYJ#{saTFk?mxO;?5ESdqKZJIOEte{}ZZA;$mSF3tie=!5%>9D(1{a+Fu4czN z^|5NXPEa1v+dq3t#%2!+?7_o5MEy6R6wd2(dXZqdxK^$Xt>!EP1fZMx;elbmjsPh+glVyw!y?GIz# z%Ev)U*5NuZ|9~8!FetRVNdyB-ZaBFA;FVNM79!?<*%9vG|CP)j{O=XU|MD397Za&S zuFejW3GF^GumBQen2?bXRrO5mSNTt)T>KqKA@_~LbczzP;bEp55O0-5pl+M-_@j|@ zmyd4sw`|6#S<((p{qW)j?uexkcc%~K+A5$aa$D0c{s^sx6um_)Nz$#2xF@_ly%4~l zaZHo~`yE|yTocN5XoxBq8qe}S2o0%>Z{3<7iO};&szVUA74*Yv_|CjY+1JlPsWz3S zpH?PNcw<~pK7aE7f_DTVBg$r27+)9j|5=jJ`CmS( z|D>b+j}rUjKXM6Fu|It>Oej}n(ru;IgDRw<$yb4!$?JAhvB081)`db@Dm2IXw|JR$ zp7x2jrU()ecNJa*6$JaDEi`{tOLSyWBtZz#4#ggAMKoTd!Rtx8M+x=}W3X3oX8Wz% ztnO>~gpJP}VK-3D;Fzc0KxT+T8k!yQ2eJwO8M)z^O9kfQ)puwX0+gZOc44uHWC_so z2=Hfp3lk%`1hYnYQz9xh=*gX`4X$j}sPE~h4a=8oz!rkI`SYi+Fk?!YfM!+md~0ZP zj$esAq#GN`gDC3dr2&AlwZOK;mIwzkNf93f#R7wDRw4S{Ze`p#A*M+zsI2W~Wf2=8 zO=V|5z)O(nRl4zcodTJm2;Mwe2)@-c9Ea7?jv4)FAR(L59I46|4nU~N_@M!!QV=^4RGMotxo(gkqmc(g8Vy_p zFSIDAX-*QQ95QG#PrHc`ob+O$*eIadjgXr64BGfYLu0R7aS&QVOd+V94k`t`AvMuB ztCplV+r%Q&ycgJ7Kor5w*<>8yK%NdIeZkA%-(tK9LTU*4D$?U%#6%cip;)Uk2vbQ` zNkt?=h76#Dqa8Ghq)t^2TKxS`4Hp#$(9(_M4 zgUFIiu5T1ZPSKG@jyyj^@amn!Hn>44bTM+Y)gA|5atz}khVby=7NEj!~XTY@?=LEudyd6YJE&xJV-|z zha`2{D-(A3OSCJwdpb5`3kOxqHZImayq4F$Q1^o88jj1{TU{yyz=G_wS!|J2Ytw4o zd1Ke`_%P6m5%EjQ1~B?GPpyz+-4R7tj_T_@X4TyxE6zzNHu;rc9 zLy@!;C3M|E(FEuXUeOjJ^tU1+Lnxwyz6Z1XL_lIu9K1TlnH)M>en^GOhi_eIMo16e z)Y6wh3$_LcFoX^fMCW#8u4Xn^iLLes!go$kf~`w#3L~!WQHcBLbVq_OKNLjYC~c}$ z-5a-%85T1MltcJUeOd=EqXA=sjt~MRJFm*AI=1qe!fk}QZlyV^#NISrRpzB~F<1e8 zX17T&VK&h@Sjp$1nI0&lKkRd8N~0IK>=@68ALw8!c_|)OU5_QlEH(x|$S};P<1nsw z{)f4(nn*`A-rd-0`r8J?K^#=|a1zZ{SVjHhy47lj?mG&H{eDl}<@VVv1-ku^Hs`W- z-&X!8)(Ft(cv53b@|pEX#h7rbcn1gFewYWU$dD2qhrn4gK1;XJSOZy3A|~Ul2@M{Y zHh&Cv!=O{Kvq`fRcz$;zDkAuTuaP0=WgD0g>WmyO2+?6{-NKXKyV72n5BD)Da9Hj7HZw4i1@ojRWQo$tvHx+ zaM&)kUUmAYv7Ng!9%Qh4SAmU;Y@AuUlh!2Js}4npv5_Om#>Ka!`&=GTvrC|s*Uu9Lcb0n&W3yDZ(~1jOst~~J?2eC5 zlcC!TnZdnojXdVmyU8oTxbg=>u=)AYdPN&Ba9gqYmbAjP^>4sWDf20Ajt)qZOZ_@Qm)j9R^Zszhn3 zS``<@rR0g?lZaav(O`awgENO7SBe!pq?ie&xG|1P$|quXedG5ckpU%{dRwE`op*G# z^2m$Kb(LOvzYy4M!cRF)_VYy94Xljf1mHbPh(Ph+TfUa@Yl7*%RiE+T{fBf8$Z^XY z5^stQv!ZhsX_f|@#A=4YG+J!NE4ymEP=ziuub0}W{zXlLRN+wRscWEhAVYzr@70}D zICzt)Hi@BjQyDo2tQRA4qgAKMF6j?y7}atWQU1O;x&;?wsygW)ZXK|D=qmk4hZ{!$ z9sFq@FQVp-62u}bn}sL~8I8;k)b>mhf5g!Q{KQ5J*GTH*!D)7R9ouE2I=d^^e&2;9 z8kPOP(4(?v%{no0vyz@RVcPHe@DqlaY6jM^2hQU>yGNSbYu?%`?f zmnVJ#Kf;}6@ps>s6e$AQziJ>qYX1J-Zpw?=_7Cn&=E(&|%;$E;`nZHtbc4j$7=tx^ zCjNYE&A2i}dD<1{jhA^w@{P*5xi9fx5!k1!2%Vp!V~}b{CA5LwLNEo740W7fjJd{_ z{{VTu&6W05Jo}m6fyWn;!_rDu@WK_9d~0VW(p;+sGrc*lI2K-BA{<*#H!V>jvAyuV0#V0Z(E)-*UYO49aNLyNpxGYb3x%`tmf zrYDoBJDu?81ueaSY+DO4->-?ivAo6KIj_HZVFS@I-F;x4=I>CA#!x1JZaWgd0J^;q z8bC4-QM0exY14#nlTC$t2*bX}_6%Xyx8DLGzhlRHiqi<2)X|)+PGCN!XwmUV2B_Xy z)vt%8aepHD3)5}JQjg3s)J_GA7x_ZSvX{fkcG7{LFp}L z@7-^&S!(8fCGRF2jrDT^_%f8`MB;q>1}UIjq$+kRX%y+5Jk#s?3A*b^x8Ezc2YcT& zIWF#)T1)sb^{&9P>g)#CIq!VacYjbTZcMzK58&A}4{I*5X^ldLOE#q*UkmEKiz%ti z%pvBDR(*z@>S2M}*Id>ENp?e*eq)_ZxeXWXxW>jztwMF!PG3?va|5Nx7Ox6e*XvQd z)5qcERe6q(fw{6#cUX2V^^O_kJ?Bon;pmn>dUUA;-Zw<$p!Xv4I`lLG64%e2JV;0} z?H%|a+#c}W;x^)F^R`JV#M2Ehm1CJJ=CW}@3Gt7{ z`zzE)^!h8v)Q#j{HQq}9+s6ApO)XzprOGZ}EZ6^#)T>mrol!Z^K18B8Tru{r(&LpF z^1f#RO)aHs<_xD37S52X&7!gl)El@gX5ai-8lyrImY^q( zi)$lk*z%=oj1=UStsBV>xJD226dmdgwllk&Cm*UY%J5k>mD4sJQbw;a3*T$3(t5~{ z91~v~!|?Y{u=`B~4vbN`x75)K;j(11?`e`mTUag1h|#OylAUSjuEKBTglNx* zh9E9)Dy@R2R4aJ^I;9dGWY{LCmM-ZgoXXaP97o0hPQ%W+s(mch)&N4(o^}+p+qaU) zG(oVib=heIHAKw-k8Y%V25;FC*C(ye1KmLzX0NNg$_ciCisHw9*w z&V+j;de)5!rvUnNt88uHulbN%rJMIp>G((Xg}o1UlL3HR=>8-hl(Ot|d}LOoP{}~l z=tZ*>Eg(U)3Fz zmE>7E=uwIDvp0C!>d_l=nPhoMXVw9&;w-Auzz22dz#=K)V1j}$f@w*rnu73AW2v>`wPEt-M z3`$(@hr78~JQRrSZ7)N--hKCf_&x~|tr@>XwkCgz9sO}ei{o}$DPc~jAWEMho^|Jl z==|fKv6VUEm!WE3^DuO%e|4$_|97YQKj&gv(B5c&IzK<+Voxg2z3Xjn zEmA)U$2jNq(2PscDID|gv7p4khj(_D0F%2Btp;(01gF?#>i=79$UM2xTDOB%(NBf@2*E^;IR23JQJ4ayn(E-(vyYEwx)H zBCRZ640MW8WK>h)h*6kpwy<4ipB#=KtFE+4ii*KZ{e2HDIt$(sbml+5(_6wQ*=qvw zgI_k41019h@I3$-qW~w4FCbkqO7f&4gv3#KTp5CfF}e|tIc^G{ITsd!rl|Fx8B)lK z(ILysT_G9=VjjZGfWq+fCOSZ2DNhvNTw`w=IZQ&dsuVB&TRcb|hPh!=KqUB)1KiJd zs2(yjmeF%y7y*m7R>9T21JW}U+qsx2vrBkSQK~rBxC`B~$I$gm%h1Bho?x8uEAlnM zQZ>9ZmQ`)_w|m7B1OJ{wgU=im@VdIdHa2VIB}UdpHL~A^*mOfE5YiB5bx{iGW8ZkP z>{!7`qwWI6h7NurAFuKi8gLno)>k!X`u?2im;%WYf%_@IlC!du`EH$dtoS*jdZS5St7t0xBS?dm95e0#)eXxRESR5X8ME z3W1U&wx~Cfg{EC{lgo{H%8{;CV$SMBcuRldon>?J@xkSThF6Y_1!H0&Lk}1x5x~tj ze%r#dfd|Al2KR#vj}jr(Stj!agS(6>mzi<$X^EQKCw zs1TVI+hgz*R4ljm3(B?uAbIMf1pz(3;+51r&0nm_bH?+(dBqzJ^eIXkEyHg7#$AOA z^b`*r5~`7;q|e#ftO_M*bW;4C$Ce&>F4aoYp}EuWj8_r%9#?Csp(-atWD5xPjxSj= z+rl`YzX)#LQG;lP-iYCWQU#+(WE`t$99&`SNWx}PX~fuJ*r+n7>ETzVE>lHouo@65 zBD%oj{OzU5)^r5*7Bc>E0~U!cb;<1ldzHe<|FgwvCebuRcTsC>sX<@tAQYTnNRXYr z>G#l2vhv`epJ&~MJEv$k4X$Xz{CKmiYkfi&Q@a^8|no2&1L+D*z zH`Co6wkm5hyJQ4E9nUvtOL86T+~R!^>rbn+6MSz#Fk)3tPZ#2@!<5OoUb z65H5Xr8|p3L~D3#oTU=DKDs+}TM~>-Ezop0L3L~t{p^xk0nVWIyS9C)r3`MIOUTni z4J_R1>GWo7uWbG``?%o5vaVb?(xh4OJN=(EHthJfb9hcgT)Y8K;9bG?sA4<;*T!VV zci0RN9?uLpJ}DLcxkpc8zwC*C!q;;hc8Y3h9)DuhUsK$)3cqa+BclCP*b#qb%5%z1 z)O2+5p{nI8uDTmv<4GvrKj&QP4#t)Qnl6kt{`FXRaJX_bQvA3l(MHk6CjX7%D^(3V9yORtTtOs%C2mS1R&@ zLHS*L^>aq!`Lh91Wl`{Xvc~ZB#spYQ!-T|~Fww+7g#HzpWXnsM&`(o7;zpjGb7{D? z-8?58O2+glTvrjCsiTP1qcl@~*&XhjDaww|@bCGo0XR&y7z)Tu$wD(^f(fIvfi?1K zsf4m3hLv#|&Af36$g;?+Ni-{wSPp?_=NH#_r#A7bI&8W`Cqm^1!iCP^CAgF6b)-AS z_L>~e=h;csG1>#{G8B#JR%q!A7T+hySflCOJ?ssOcgTB*2r)N6V~GXtWEw1*gfOAg zNw3kw+hJ^25*^%WnSqyeU$x*guULaoBSI*hmi`H)ub0@;(M0B|e`;2fRer{l8IUXj zJV^?7i~ow30qX_rdj!1T0}fwdA?Wi5gZ3m!2w-1R9<#)*{|=Bi-4QF#wW=7PCLJPY z3|-^F>2+>qj3l|46Rn;8fh3749UdQB?8qn)ZSq`<-Nt1Z*S#(`T~cUQ&KVnL>c_oY z=)i1aXzB3w1Pqa2daegrg{FkFt3MlsED$yyCauU^TQTGpY{{`13C4Z%NZMfDT*rv? z^m<5b&X8Ok746c6W$E=tU@P}CYoX#ej zsRyGwN~o7Mi?QjKl0+;?m*;xb7NJJE_)<|X;T)dZyfwl@$Wx%&De*$PT{wU5N73VW zOG&!_7@}^B7gTL@YTU+C_0hFnsFl_4x~K7Hq_`A?GZa#|w7aiBA5ED6B%9X(q z%x9_Zs6LS`ded?Zm})QeNsNp^H4s949`EK*SKgHHkD**}tInQ|H%yXQJCi9c`| zdH!2g7G7&LP>+{K4t*N1t34~^YWyNP1cjWY7~m{$K!5&Cii3Sou^5G!r0tp1w>|UV zkf8gV-P~xSNqJjCb;7W{uH>@W0v+=Y{A!d+Z6MmZFmn!sH~Ji($t`ZU%0&8L7GF+J zl7!Qu(8$_hzI9XKc@rS5+P56jbpfI)_Z@$#4C2o{WETG`NC)E|Aa5U=Pw;wW`lLc9 zFHzu)MRTE<6!VHh@|kBM;Ngptmyvb_Ks%n(C1}fdqyfs$@BwoeivUIy={2^jvXO43 zm$z+sx$B!=)4E(M8Fb*ZtrW0UaS>v=*Ac<<8)i?U+#;=if)H$<+$yMlO3g)RcnZ4U zqn2Rtk{{hl0e`V1e~KB|VhQj@xq#%o$;5k($dzk&QeE{DRA_GfQ+k1qiZ;-KLbvaa z>a-}%afDYvs0L+-Tt}MAna+QiE41V-zaUAm zlUT8nno5jE%0k?czf<=ovZwgW^1=Cx(617lu%YYr)s8OWly2G+F)muQV4-xwrDPn+ z%f3QHb+i(OKMz@OXs-;0A^>Z%Q>1IEhd|=4+Us^@)8AK9K_5SY(O#jK!}{B%41UW(pDtKSk+Q>X4^7N65;YZHVU)cZ`UyF%x68X)YH%F4@v~5+-aZ0$^Wd+8diIugie~% zvfn889T;=hBz9KB1={#}mRlDS3inc@5gzKX`-sKd5*QHAH-xb}jaye0$^x+&kI9Qn zn#ig&fx+v2IJ>Iald1)2MzG7ea6dwGP%Gr~D%+006VFa59rXS@%%{48DwmsQ_CWZo zP%?7#plsD8-Y&3Ak27MxN13-u$~Hob=b7aTPl`n1G?1GnUFKWo%VHWL=-STzf~ZMy z9$XyG%M?KunBoav!^Br|nmk>k(1Mkz3toa~Spo6piktxL82!#m4RWL7D{~5=enDAx zLWdK7Tls4@Eiu4cNvHOXBt(>8m~?eANk})Yvd4@)3Ip{>!#atyUS~b1iEP3)db$pI zaPkyq$miQWUDt^b?)HaOWZh!tPQnW`u+~VRUznb_#f3A#%79CAktnZF8TpgEJ92wzN2ead^zPUW=i-0u$ItK_cKHl={Zu^yzxF9iG(! z*{&0@nv-=LE0DFjMTC|4sBI}-=0L09l!_oiGg{MkG3L;V6*AJ zY1*G{rP&iW2lR3bONw^}1*}8mNC|0JwOw3R#_%wP^!K9i9t!cYLENf9*3JG<)|VPz zKsGx|17SvYzVPIjr*zA4u5>N1ZG@~-^Q;1Djh5kE4$gB$nd=x&T6zb=H-v<9QPAHP z*|Y>1fpBVi4!Jz4d){iX$K37ghsqpMjxiuZB;1(&*plqMv(utmIUk*4-6Gy5ytBgMB}>-*rE1d`S?YM*%MF^nT-rdz!Wp;`qWqv}VEIljWZk}F|s z$!qpw$(I52?{ZTWRNJYx;U``}NAu5;PCefJMJILCoWok2*j)nfe{&GOebj;U9Y-u9 zj8y1~Sy=%wyC?c)$y&s}8|5xA6kr2*$FaEa;OOaowU%$xrLjCW0wV>c#p+o$CT~w_ zVbwigs_$4^xU(LNR(7{&=V4cUpO)1I>bdnY$vmDHVt9EUkJ6GW}g%znxb*b-?(3bMuaHT@cGrL$2B*5{HS;1d3~( z16s?QI-4dcX2po-(yqTkA6sN9SO73h*A5MG^(yzaL18+Ye|Dg|GVPsCOe?@}5a{enNN#cK}BnjKw{Xc-y zD%Ev4R6(qdV(~U0UIdXS5UTVNLj%2~FV%oviq4{t_|}QqxV`p*yuLQ{)*tpc6`5tjL`t6dYJx-kq*`}2 zhgzifDHlT2l@xGOH*6t~vpgR)vJ=;L3jhy!-bgIn8u-Q{zA!LDKv-|l0bB2pWZP9{ z32TosM4i5AYE1Kob>bx;X&|N~1+n=-%Q^pR?DYPtDgBhpIe~4AxDIU%@#ZbYgwK{P z#8RoPOIOR>t-@;(Ap>Ao$yQe}{HXdw)AbfFxLS8Emu8P;L{H(9Y$K_24h&?cA9LAS z&`oJq#Ln~Q;Wn^3asiJE^l*ho%SY9jyALW;~_3i2_+6~<_Y=%h)adw+&Lm0-AW)PM- zt&|OHB;BFUMAjYp>lZbVZI@D{@h#Q1ZIu#&iKfa|l=TVQ@XueK@B9a)X}R`^UAM4> zQ_gTzL;<@vkS=Sp>{o063ME4H-jx#U>1Ht4-jr>xD95IsdxRrn6SKI?u z^cTK%j<)`#Cj0N&!JJG@)eUXF$Ws5I%64i(>!2-Te|DQ18e&&NsIZEusH{LNyNik{ zitzS=A<3$EO}3b4m%V0@T?a<9OKQ�cF=ENT}FPE!T>R)zh<2eKf^S!$sR_?IMhSw(J>M*UeVc6Ih5`TFGf(ZEfA?~uO!yW9)aLxUPO z{U^i0l4GQKA!tztri1c2RXE&|fV4oAL~cguKAQ={mH7P9p#pw39B4QidMPrrMQ@n6 z^;w|3wU4s8wDCK8NL5*U22ouyu6=coM@vZWV#P`3$73vp@R$F!N*=sSN_AjGYN|LH z_gD)WR$(f3yCS5`v{5wf-8(ANDk5LHR-(_yE-RmN(e)Sb!pi!fN1BZ8uxF5I2Z25} z@^GV@mRzNGQbDRMqxKd`*p~TEBQ>&52Fk6ae=PwCrY(vu_99q$v+At1vtl$3WU};) z5rptoi{f{2qB%~aB|x~r`NWV^NMp2+L+dt*7C%z-$zgA-oDaY1QlgV-lxZuw*nIe+ z#(s|$^s+I&@FZE3PoBTO0;5sS^)i}1)d}JW$eGbdogS8%sw?|oeue5XXs=!bA0#^? zYhm0s8~{xh6{hYrA)JU%qRmo&cBE{nvq3`;eW`hAhZel@-`F&qSI}~Oy8)4Ez=G9~6zQPkPWd#4*vI_RB!*E=}V|>2ZTmZlWcjVhFNWe~4y>Or01<5ec zZ?VVV;l9?HhJ>s-Ta2+%KGD z$J}6EdUoRyyi-zj=e=)h&!g_Kd30Mc@WiUBK~Y-!P?xbcBzQ&+-${7iFJQ~j?yASY zr>o9fdP8tqVDu*#8BNhCB;?yfr|ybS+8jvx@%+N30CiZ_#HyCOs}57`%8n(pFShJ$ zg#d^-z_A}rT0ab?&xx*u)ZA*SjSr?5c3978={!;GMNxfbiP9M&#-#^fkk@n zIEj*&K`sIlWtsEzNO%8FZ`T1&_4oc|Wbct3viFXV>@8c7>e^Sh_KpbITO@l%c9BBaLNc=} ztEjAy8U9D(o7-2u>HGctKfUDkdUc=ov(9;*^PKZ}4k}lia&}CbLGgr+wZAUkS`Jf4 zp+{=9PThwEH;oI@{Y0+UAg?NrhNs`i92EPa|q`fDk&?Z>OdEEe@7_u2O9M7 z1p@j~UEicc4YFHDX>!L^DV;}=i_CJf^My99cBF2Z1k$1$T)1gAqbLlV?S-up5nuxa+q`?^as#tS{VHWD5#w4jcDydDXw zGFyeW@tW=FnOm~uqKx9SW6>@VmD#T^73C=e#i@GA<0`nI;S%1y{WKrTS*7D6&k5}d zA|;l1d2HtCS?(D~FN69Ro$vNe&`~|LsLV%Ms~m*(Zz2+9-p-kRhb3ov>JgLWP3vww zX8t*g$;WOu4vi7m5?G-<4RYyN6wX1!^pr2K7@DvXMT|seJ;cU>rZgBI`gf4So*0es zP?U!?E3DghG=x(*HV71H$E};C76(T4kWXW`x@l!Nxxc|WqvOas61AP<4;^ySIhUPq z>169Mz9-MmCgicaVW2qM#0HV0^s-6dBxR{xtSV89MSZko*Z5}cH1UkQVy`jU%vhW&@i(+P^>{E+j#vea!Jn9MT>Ii9Rvk_Lc%?ObwGu@SjYRKLV2u?v zaX$)TgppWCKlcbKGIcTHWzl7ua*PkwxC_SGqT3#N&p*|vRm48W%nN#Bb1!|>?{lON z`{&-kl(8wC&ysaqAKCn6N)%b~D6u}Vy<+s1VwKGx_MM+VU0yl1y`qc$x^Z=ScK-A1ae~L8^ASh38((j8jIrPlXNB!7 zhA9y|4rIdoNZ-CA?$|j7&V_wg9w5eI)w|9rNB3FnnNr2DSvav9&drwM$-J5I%Q*g5 zqR(bs2Yrm}4C7EcV_!Ay-1F1p+%~u*8W&`CWQ+G5b*+uR9)&q$M$Y7ETqkp6vJ*Cm z+0GRH?~0<6Yv?8od1TkvjX0l=Q_@UMCfI$ZztO?r93H{mK}J*|CdEuGJ4p6ys@*UB zJbtuTunv;abYCTr@HyFjZ$(2r1{+hdQuaib-~F zGm>(Zew+E;NLLiL`i(gIB5zu}doBBD#j5T|FaB`*LfVn7UVE%c8;XKQNbWW#6L_RW zJdrm)65mIA*%w)8VJmVvv;(c@(*64$_$kDCZworq+ZgpOye9MYJd%<_?Br4FfF;$0 z5(Nn{NG)kL&qqEVS6t`)Ug?~Im(npVmz$EcP2!LQ&K~F^<-lf*Y%`)Ff`kxZ)5r1l z5s0}|jne^3!34o2W7x{~v6=+8(Qj?rCE|R>t_u*!%W2hoC48UG#P1z{Vuo zR~L=ZxdH*%@QOOeJxdMA0FB%7Cq2>woexnk8KCmNt_;^F;4%4ZJi>?)G@#)c|u{_ z$ZrlZBI2vLS_=_JahFYZwGL2n^IIc%+quLOxnjAlPa5daYFD6Qy4^PRFsxE1q=@#e z*mE@DI(HhqM5>If9$TXz4SAvt)hue~(5IHib7%?*6^O3fNsFAeVqzMhZKw?OyGgDn zQ_R!F+kFgX`xMJ3bLqM7h*6$s#|hqBM{ZSISFufaevf96JwQ~mN6<4r!Dp2atl)3+ z(kPrxVzxJ+oV8RkEsw=5j<8g+4_PLwrl_F8` zCzoC$aF(Q`dYgtYH;h)=QcjDqsdw57U0FYU|F<7ogqlv(mpKZjXg4fs z1TUDrOjL?yJMplnwfj*GCPR|V`83|N^{1+DuBZ(iPimGY<qa%oq%a?=UKWy8e#LDWp&sJ%nRX;Ih_LV3JEj3tV(iQqeF4{N9Ifw4 zvqEtogfI2VLa8CXRITnr=(&cyA8>c=5yX0dg$}%yL2zKdgwy}R9$%L%WtvK`o-=sc zf(jE2j?o0KP+FHd-(HhIL2p#YiKo-Xn59i4XacxTd|md zH=&|6>O(_-Ixi}^)PC}w$m_>mpRq=dSU+S=n@JsqplkcTVDYNoif1zNg7FhaLhd-3 z(5Zx{Rh2xPPi-pBS{_JwJNc<6{~pj}1BE7;g3Ju7OnNrUuYIBT34-$I<=C`)%-$la;L;Y;JH9ui?wu8`T(6a% zraj&`3H?NDGGoty={}bqA4m@_%_bdwbmS#+hw0U&Q1Kcp8Pntd_HJGQMbz7v?Ez^J z&w7aY&Q)+3wD(xo2Q$&62bYdNwXIVrR1lx@Px4BxFW-7_l{tMxKGv6&XS@@+dPgj9 zjvLFZSFM1eaY@Vum9;<8g*CW|Jm;9hgL70zVN43XI7Z1PboF9Hm`AzuiE&fz^A6s( zn1n`_$wWn7ut>Q^6{%5o{*;-*lv*vysUt8F-z8%tfeQ@`LCgqFZxISsbcJAJye+F;&prT=3yP7ivT*~agX04)s;!-xd{aU{|RF;Oy*}5}$ zSM@Pa@`GLwz1Az zNe`A@J#%`yIW>VS7Q5@~Y zY6kW3q-$z-KiKSaX?EPS(eEbK;hJ_5d!ui~LZs`YKQvO3ck#ja;Mwz}^2Se}#dGtt zMLf>!dmr~=k+}Z6iDbJ-*Ak*huv&%j<>WMeKg8=7SE!NeJ^U8$*4k^{IR!iA%ib;K zOn#w-J51swtc|+9CDWkUE4|^e%_c)c(0xvfN=>ok`!P1i^N~6my-wp$lPl`2Wmua6 z6LqL#E+sO2oi*HYuib<&^iY!Uh7cs}h^V5>CZijVoJ+wWCwc1MhM2FhNKW$37$>^e z*JKfk&EX``Ksd_%@!^1^poq_;niM?!vRSL?q!T7L8fJOuf&-!Ncfu%!uG5+OJ>g(mA}D&)S$+@4f)XuPEURu`>ae zX~Uc$hL$E$FiT65-TRThIzWNepvG?7t9C(hI&^j43YtoE))PKg@B#uDbk1RDlq?rS z^DES6y3gD?vd*4z-(>-b{YlHBDgi%3u##}D0&Hr;eq$wRdvSJw@7j4|j{7_z7Mdkx zY%yG-UQW%=HKRE!CW03iH=}H>=4vBTP2cY%_VcsHsuuAGANJ;=a<8s9q4>DD)2N~H z40%cR3%yYxEW+FiRBvsxp>@3PCN$AY2?En8)cwOc5$he;>|4f?ou%`YtWoob5=u{o zFt-t`$}sv+H?TKkOw0JtQdmQozyUIY8=J#Jy_RXL8tB8A7vfe-b+fofV)7cCXFOg^ zU%lwi5amS4n}sdapGdzgT5t2-a@L`?j=?|lN$-W6kQ=$lS7TpJ$tD`7iN$iNY20); z&)r~0WWjNV*stY=kiWF5W-8)IUdoe9BA@dzdj_6u!9>XXpWeh#R;Y?d>ui9LX+nlb zqi%aIny3(EGC_s!#;mx;OO@WrAD%4CM;?h`(1pByZk->Y7bjPI?Tl28cT@TMfX+b+ zClijd^NaTWs%P^Ege_B&6CeTNJwvM=^)I!@bR7qS9U*i+x8={v%kc#2W1SFhQ^^yn zW}BfbB5q40^|*b*UHI~JVOiMY@;>wEUObl;?Lquk=TtwutZBbrQ|@s>o57x($7?jm zOW#sHxn1S>C4=#>dkne06BYHH&fTjUf_>;BK9%w1He5ls@JKh`Ok^%A!DPB@)rTf3 zI=DN@-^)SN`2DAYH0pX?>+UTCKo(|t$`*Xnc8IXFTkzkr)UO>+3h+ZA5Tj7ErMQeW zLHCkltbV#b`1HmTBkV=a>~< zL<6yfh)r2ol`I;K#Fgv(k7&826HZXe^7KuHME6=Lclm9lhFR82iOQPt1PVVh!f%=1 zohNyu&Bv=j*zG#-#%9gK4J5hK6X-z%gBcsO!4bGWb zBk?D zM%s6d(uKzE z{rj5UV7EweJfO*@mmEkVIyK{(@j9)_P?rB}<_2B2XAEC}KJ@DQ2hUGc_qDiYv|SdC zKE;Tu#1;OEn^~@Dm~@!;nf3fzT1u3&uH$TZLtW%nnt|-~`N)n(MNYD@)bbr2#uS<~ zZ(`+5#ld?_SKVjAEa_5~<$B>(^9xt@8}eii(j?D2o9|FcqNF~VQaT6W&}xmu$?ws- z^|J2hNY=Ub)!W6f^JF6#Jy(6LToB5zs5RQiuzTrmZj`EqL+Bq zCK_|544TU_9TbKI+*WnJw!XaQvUrVWrE}dadr5WUaZlAv9U}-c z>ZIN`MOmhED5R(`=3*|YM{9C=_LlIL7A5lfD^J}TXP@pZ*W65vewHgrdbB*IN;>}7 zov_~MDA_^ji?2eNaS%TZ;3J8}iJnsb|vzwI>iJp)JrG3d2j)&#yufXkrgahkawP+s@_4!CiR#ak< zT@V*ftjPs4m*}2pSfwN>ep=oneJg`O5~b}NXz>)gWb(WyEiANWmTT9dvej9E3LrMy zADGok9Nwa!`5Da7&d6kM9tJL0kig3?IeFd&>&Oz?+sFkp4Mb)(&f!(^Z+%mnZ4r@k9L4Z1FSxPr z&iqW6VIpA#e_V=5lmeg1tI#RdPdwy^6ihiuqf6E|MHrgNxSDvki0+##TbMc9_*<`_ zkXLi%vQ|A04KCpL+2M5aKQ78dhgQftqIa*A>7+#X@uBr(Um{?RQ>b_hx`M;h&Zev8Up+xGl4G{Px8 zi)A9yejw*#UIx3G!zzE*ih5RR`JlVk0L9Ad6`U{;B%B6l^v#ZShk3H-t41-irrpAg zfv+Z{cVMIwM_z9bVN>YmRX7PW;0bla=F1^oF^@8!2@W{sTKAHELJ(h=vWY9ehg5vy zDD6Tl1e?Q?LVA?P@2riVx;;z1_64?C+iDH#(W51e7jDmF*Kv$AQQc6n)TX8+nKRmS z+&sDKFWEiiq_x0bSPz^5E*{=rG$B^I37iSU_#duS`I^%;>R36G%Mf`o(pn;3xt^<% z^_af=9IbiZ&;~}620f!{m7o_$q&R!MbX+n4SzUc`{ct2>^O!lAAMVQ zoZEGX;3e}co^TXQ778fRjvk7^6nDC#*{JQ+RG-HuJ{K3! zSP-DcxrN>JIEjHc zb|oio1L>^!tCa@R%#1VK?2k^QOeeauu5UQlW=U>&cw{lW?=zv`8pROstt=!}1ACDl z*RDTxF4HSI8C2Yi zO6vAkP~K>MFRvvUK4y1e<*jN&H`!Z$o@gT8o?xstFP-NZwSjI`ES3*lAfR_=ufzDU zN3V-n3Uee``Cq81j|Qng^Dc@%SnF4Lgf+PJw7--~k2j|GLC`!~d;0_bp(HAu8q`vX zkEtgf!rrQyz}#JI(Ma&kKk=&-@<`+L6^aeqorTT!I^B*v#Xzn2+5_7ZR`5ETuR13N z$FT-gL~>P&>4LK12`~!!B^#T>w8#p@wcF*{RFhVRsZ{YlU#ryWJ>l;lZoNgaQyzX@ zmcr8Z$wVNxuI_tg@)*Nnf1J$M97!bR4WH&o9YuX?woS*huyVSbpsd=LQCi;wA!ZSQlZY~-;QE%c4Ik&_R z$Bx?ZYeZEjph>AQv|a9LY%UJ?U^XDG+%=N=(oQPj4Zef2ktvMkEV3V@fxJD)#a?+N zy(@KgoUl`Ag6F2$WrD;|o?`(JjwZ{q@m5uSj^p->EfgKY(bd*nGf4`^g6h-p=Fiwo z+ZevM$K&dgV5;W4z!|DE=@p*8igLQ<#u~FU`WxG4%`r1M0}W;aj2!}{Z*y}}n2s%= zIN9u2leiDa5e|xfS@mP9BTPL2(}z1K?)`c>_y-|J6KZW{`6b}|RoM$u!T_m)G~0I5 zaUnUIu_2lY{J3-)W=>IwkXhxXcr1mc`iBb$)QTaGZ04^#!U(dy)4b$_$}Phs5el(3 zXbNt=De+k>QNny|3%^yqXgDJ}ITn<*(B}$-_pt~O zJ(83&jExDJ#m|G~d3<6Os(e${;)79DR>ZK84^I8eJT=x<8P6n%p3B+OR6c28T#o!1 zeVvj7)!t6Mb7tog<%c}Kyt!4URbpKZW>Gva*Zx{b=l)=x{h_2E`cnCFv5m2$B`BJF zKRS@5{SutNA==KaELJ07P7S#BS;tRjkmMsOWAIEdWzGkNfQjy&LO zI@f6ENk)QR%-!3ok_QF-@X*k!r-jYlCa%9tggsB*-df$ny(Y}g7b-LRK$Rrr6vTGD+SPTOLok1TNtym9hcpi!1bRS<)!zw~NH zSSHa$bCy;lwy^0MY%J0WsG%D1NjC*isc^k~*R%-UJb%>|F)d%*+ZBHJ{({zC0hBDQ zSeE*b@LQzK$k*{(>&X!!%dBYHBScmUwJ*(8FH_AI%vZjB>A2Tv^rGRq4Cw`&2rsk@DWc0RqCw*%u z&Cwq8K0h`WwYF0G6O$N^^*S~*`EXxJ=elkuKaJ(RQ2e&8mF1JIH*n=}ER|y#|hinWX*VDiAwSdvYYS{ak zrmKqZW3;%7BuB6!%A1zTaq~7$uc_Weo{P}pIYZ*CkWiA;K$NY(XUr|3jsfwzzxc_- zvt})@muop%U%W12yWq$Rlu+a3%cjr)Q6ZE;-5bxEa(PBFUSoOpck441r2C_LOk=uH zIEV0h_@{aK73S*S*F+Z=_B(w+?tx)ZUy+y*i`x3bQ`?xI=2Jax&F~DYXNA9@doSPG zN{G*1ZkkIXGkU>ek(N4=I&%$Kdp&-V-el>185N2n_luR|yP1k(l4oxf$ZF#b?Cvc7 zZ${9!`l8m?uIic?N^w~<%rvc)7Wy$97#J*F(unBUrxCLQFDd(*uw%AaCcPA(-)2$Z zUz7iQWSe;+Y1W?vY3vi^)l{m z8drSHqJyOLts(?fy?X9$=PM__@zy~ns<}am!hF~CagjJ#&tH@`<2N|88ESuw0 zGh-ss3UHD1PqZ4pL78ekfqN0nO~A|zb#q)<~H^0GQO|7cHxC;Rl%OIa*Bvjwh{X4 z>Vy!f39ZLA+46PvQ$~}lb~_;py7Cydx7aqr?%XKkLPF}n%4ok)!YGxdrG?wrhaZs0 zHik|eVIM6LhUPP3ncJ|i&D!XZoT|Aw**FqVR`lr9s+fvDnblc_M~qo&ZPd7k5)XJC zhS>PIy*^r4T$MPQ%pJq2w}Uk}K|z|6QcQ?-qIY8%CV$*mq>MA9>$y<74tivI7dv$w zv#J-8NUAmlVXs-2>=sQosiZ%3AAP}5a&u)`)CRuxR&ys*XF}E6vei8oKVz)C2`D^5 z5eUscN|OeuxFMQ$|0BV}9<#wq)1JDTIa9venChM*`D)N5gC3PM=bdRAmCRwww{ zA4Z_@mZcsiH56J4=Q?|YL~kt$!CmAd0^bz+-JNsioY)!tG)6kcX+!H{+O74((gkxg zhtkX^`ec8M@D=1o+3I;>vfrH@>Uhn@JLw1X>Uu#G(JNmC5cI&X;#)n$1A`%Z# zqSni@GK(@Fm&H`n>UbqsG6^(I4bSqOSZL8OJG9jJ-VkhQ6m?DAuryuFg&%M6?VI*0 z$m!FsUmd}+xtZR`UBWpfV-+)%MdAs4nGoF)OMCH!2{dVnO-5Ddp@xR}X>G=S{)|@K zlk`_$FF!fck|b!%@GfI~q^lrdoC**2$uyJCC8PCEx;-o`WmXZXQv7!6zA4qSny4AZY6})Fg%@ zQUo^SYCa?@UFcpfujvUjsP~u%;lQ{?aOhT%w=%cBv|%7PQ8LU7LjLOm!~P#!3GsJ3 zeXEUY4};n`o|u#*NgXTRWFDO^c0aMSx&*!dWeJo_w8hhd%5|frC(DjCFzwVA)i8CT zir0jf&J0RlH%ZN;(H0Sl>v=i#Y+2d!^XC<+8bn@Oe%f@}ybLlP|1c@f2JGNrh6$Bz zwfNIgmgk4MFF^w6nO257eRQyGsjM)P9Y>;UNjo2@msDJG7%8QliMsDMh7ubzvC-sB z#Od6Q1hs2>s!(YhC^oi!%LsDx@kE%mh$syGsERKVelzw+Z)af!QW6&5lv(bLsIY3b zsv5c`TP|*uG1tZ#!+0gt3pJ(QJ5m0e{_1Zgw0vg?4ac~Vvlr>*iFli{?=V-T4;Eyg zR!b-89wY0E9^7D@qpEoB&S3p+k$r>g5xI2Ggy5Wc#a$!3RZpDB_$&M5T4A!3rDfK?rWxw z%${Ey!fACKo6{boFU47(vDeMBwc>q$Ts|t|vD*<&o{>AT24TniK6#HBE$V&P=$7lK zkso(i5m!`$4-CC)Nmdw(@D^r<87qZ znO9O%-c5G2l2#phre-IjRcB55NE5`Mx1~jSPl|M;!UoE1dPr79C2GeV$H+CXt{-de zi^!%DLY1Pt%Zz0dlYHsZ6+}&3?y?Df-lx2!?a`NNPTy!-%?Y2OAki+*}{+*DJFE<^n$Gqs-u z$%0UWSX$AIreNcgsH=<%luGAT77*F^<5C}z3}wcZ=;V(R_vvhUeaWwRZ%RE~{$EUp zf8T`KXF@Ci=MAtN6(45Ec_Shj8bYr5v0Ex@zfg>2r9JXKS$57qHP^nCp%Z2_inPY; zYfs>CnO?(Kd{d0cGv(6!aReJ&GvQ@q_CzidsutwIbHshmVe}eMG!u&3P3tsl*Dtyn zkQL;6{K+Bsl)qM68rNm5ySfYo=^CdCEwa&`mSm(}tG+#)bg;EW7SQ!6h_DA>zx%CMi*H$xG63q^x3#8Px`z!#jMbqVeFuL zr={bhdSpuv>Ve0dNSKy#?nU|26f$(uo#9C9+T&+=k5ma}o)}2F`jm7kWP=j7Leu8e zbtzIi*EoO?ot0R3>oPlUulWc#U(dIQbMi{EqSkzqu`FJqa9Drct*m*Q#{O(=Bb!*YH&?0`Qqoe3unpD z+N?s-Kh)IIT(4yro4f4nvwlS%A5AXaUvZvL%j9&U#HlE$XiWM1*$}ArLJXM zIhd^<^|Io)2RI`Xw~g?y+m^D4j57#{$g%08qSw9bBViWrV^Z#+G6x!jA-@}NQq8AaVyG3U=Y z&I}LPwZs=IF}U5Q@_w96MnD=r81~Es(Y-6@a!SxvDGguIv$txozM@8wp=Y>>s%Sf_ zZ{;VPr-T`*)gB>6{dlwHV;r$%R}^uj%u)X2stk(QVu$LmF@?^NR(n=N_YZ96mqd~; z1l_}d-6f6k%+O0KMyf~Lv>@kNzL~GDC_{b&WvI%`06jf9@}Cd?T>9Dj*@)K8GfR^CV{7LdSTbPkzu+yt!xqM4yAS zP`9m>xc-w;74mpt(FZKo#wqqN9Hs}*wxcWFs|v)LYZ0y(W>S~)&QtCj7tJx$^LbEc zZrZ|3-|0;Tntl=nxZa28@>iUR>K_nxy=M+ho-ej#**~)aws`JBhHEDEyW6vPI0?$9$Ri zRi7*=56uo@-^k`ltYhdAK#wYOafOb38aRfWt^F*$NEk))-sI`%q>e7_yGjBnir3p? zaNZzcD_jx0eOrGNw&-&v_=?`CjDWDPkdH-Gvm%dpOpbb2$H(K7nWuWhxIR69b4)qL z`0_I4Yvlx=pfhtX+PJe?{N8EQB_W<7A2=n2Awd< zmX+36umJrc9|M#(Y0m9Nq{>!eEUHk+ zyQ66^5Go`_ubd>G*m{9HKO8p(^-gc7Bpr9mP97bowlGZ@Z+KCFy)MSLiF64j-Y4PQ zCm}~`+;@`)e`SMQH}F-MEkVFoe}`pL;{6V-O#+_LBIho1o?Ccdo~n#te~h%X=4BAI-`4K01N# zBo{-guytEyBvuWliK&(A9p||MtKx^AEib%p=ud5If4RP@fGsh@4V(zr#@a0r9zi5R zAVNSx18)@}NPr)3+~&*Q2ngs1;CL0>qavdv!J(ik%e4){#m`^0wqjCw3cjlXt~La% z{P#R!;PYQ!Rgq9tkd@KY;#86SnZo&^?W{WRe?>tYBH#0U1Oz!y_Wg^3vVxS1s-_Hw zHOv8OWWs4>{4*WVC}w{bLIi}{ClL_9uRV`CkmzSR`w$RlNDoy6Oq2p~z`Kik9t=_h z1S^=aqooN4)Y=sGHJts7zx)5cD-m9W(PRh+Fgr7_gZgW=gX;F4r}^7AEF7(&4hMb@ zUeY5#fxAdwzh`3!aWIA1Ssh3KUggsJ6ELwhgIb&XjSkI;PlgsiW*y*HJbTzjKnOdK zjugzw24)X+Fp-5?I+)mfufPASpC>5c3*q2y9vt9UTyW%d!6lme$oY-UpUCfTE-yb0 zcTB*yC>RgGWA;2!3Zp#6yloO-;00Eh>IA9(GHu>TfuO_ROn-hS48r`LsKVnDhZ{OsO=^y5k3IEcK= z7hm~H0%fSZgNgO8jqDw4J%b6lgt@2LKWLAqe>7 z4>b4NAQ~pNj-Yn6KgKhAN+P0t^@Yd(&lrE5srn~z%pKy40QU%>)@0JFa= zn~|q_%>c+M7$Dqm`htNsx)0Eoi;0n=0~BU`pr(o^nm7pn`~7$b2#j#l`9%(*e$Zf` z=DyOTx63WKHUW75o+m-#pK0#Bd++CQ@VI%F#~bLv8c^S@|NnSY!Q$xGy7)f2c8|7L zepAZs4S)2zy-Xc{F=0SXwZCWrVXq1VW}xXkkEr6GfbDPIM(nZCULevk5Q%RO1_FY) z>Om;Gg%_D_-P1&5 zmOeo7GJy6eIJ&-<|B>#GvGtE`WIE@&z6{)m0AywG2DUajB+mYVBc~x8GlXk%b*Z+xUA{^0!0~W^px%8u+vg;8+5VqSbFw zlrXdh$2N@|q%0x!_NpMMI%u;0{7O9GB#*@*r<0e%a{^1RXYS|F7#h$--) zHvZ-zV7>=}{SB?uPj}f9$k7RgsuY~+9w#0G#0KJE{{0Z;!GJCtGpoBRtD7JK!^g9N zw8H|zU=9a^wPW6t+daM00LCmuZb-?|0Ujh2@ zc<25u(6^lXJJ2se^wn9~{(9gQXt)RnXMVtdPs3Heha}@-Wa(&Z@>@Qbr|O??4dyLs zVgv+9I5e#KL!qfbjIKb;O#W$TVIEa5kOZzc1s0a@k^6ny@8N-gYofNhx&vw8{w{y< zmg_A`;PQh22OcBh#qVQ$H`D$Y#f171$-qi)Kp=s)(&eGw!%(pPeJiE3V$DNec* zR7@PqVa5leAS=1O5dpJ=0}u%w1#ROuQNC1X4n~Qdux;DDyqy^z0b#c|_2bFi`aKj? zkpG$(e;Kz2Lsc6r3k3lvA25n`-*Nr%WFj9qAUFLHVZTECj`9|_5~X(+gfM^y?+Xba zL;H0e`~&MZoeqjkE+ho3HrM$g~8%2lG8|I~b=? zeMdtO;1~lOfgc6}pPqxV$M5J(+YWj##4c4}nJ*7~qGd*Q5QLqH4b08~9KHNoqJ=Ao zTeAqJwE{5k;hC=dO^O;{XvzViOjWhb8?zrT(1-FV8xw&J_Tw3l=f(6Ba-B zAtm}cJsz;eo0rrzIthYhBA6T%;Y7p~`4cR-)b{|~R?KpVeBd$dKu%dW+(%M}#r)9dPS1j~kl92?Hj1(N^ko+MrzgiJKlTGk1B$Uga~X3z%O6evVS7lhZ`sO0q9H}RICl{^r3yfVN4xEG zNVM;3>Mt!|_V-A0i)Yg{ASSy2CxKsjnzmBuHt}LUmo}(ccj;EA^oy|^Wj*? z`&b}D8dyTBeM9*AYxaL}A4-CN~!B!dp0hE&WJctqhEj#^kBCp<3Gihbc9+O|H>&4QT@iZ zLFhaKYKm5HT!`iUr(Aq<2?em#4ux1k-M%b~4|I^r!afZhz&NddJyST=`U?M3)(*iF zN~Ua$EvT}20HeW=VBwPglBfM$mbHa&eF$je6qrNcb2{dSheQ8)#-KmY67N2wPu>7i z;xNEffwP2L<-f#LfjAhMAF#)TU;Iji6~H2aI-oopw8!KB0(yT%o8+QOB!IAH1cD8` zz?2RD67|O{xj%HBNYx7`;PG!reoifUTK*mM{&>4O{T}UD;1qnU{de$8zZ@?4+X_q8 z4*5Yg5ThFe9630$HisemCC=?GJv5CV*4ALHuK9KS`_Hm~V-0(r;I7}1#T*LCb#_MP zP$P)t-y|A~(W!j`NP-Fg0ti`qp7)0*{@3A|-Bt|0iV!n#Sa*zpZJq=F-+g=k$3xL` zXmQ{X;r_MXo2Eb4EAVYFn!3S=AO*Rs^PY&T7*0|67js=ck3X z>=q%IH}b)c5*$B-pAOB>*X;YRqf7@zZiFe+oZU7uyPGs;;eb~E_Wl(` z7}Qz~2DAK!4k+M-qHoI40v9Ro&l`8W4?{fgfHc4#e6C%Oh75GUAFqZ?I+E$SN-&lit4d~~II8IOg5)nuO3&E27G8~6>sQ*h2 z_t#gV{S|T~Fy$?Q1uXo4Ha>P}ZvN(4U(R;!4@^X)ouvz6;w(@Fd}caI_3wed9De%M zQLrq}=t64XzW0Hj7{FPelSucT2v%9!Z#%Y!P*U6+xg0EjU*6>Hlk1 z_P0X}N@u_p$Zd&1G35*#2PxnP?63E=_8rS#rqM6$K7LWUK?KHtS zMpFe7Hof$>Ti=12zebW@S$#uQn*tNS?(XTrC-O>se+K$v=Ym%X|{XPEh+_xsB5UGwDiTITBz+ zDL4!A%KZ`S_X*)wX)&JPw9Gt6G@R)W5H7$0UX=fLfZtXRzdd61UhocISnSvQmz;bX zv>?OSJ>L9_v}^CRU=nbeDA4^^`1?E9-n*0FD>SRne+747V!O8!J-mNOSp6C5Pq#Gv zJVESjwSERpt5BCe0)%UK|1;X&F5K`t#p|wrj<&x6_qKwD-&s-i_yepxUA}*oYH!b6 z9XK8Gc^(?+Hycg=%){PxshV&+IDq#L4jH)rq@u95yQe-J16$YsV+OvL685+I-nNnO z^F)W=p&9wUB-~A9_J`ZsVh+BVwF7F)hgAF_J5&Db1baKV!HX^#a(G^TbZ_I?U-Z3g zui&?O%tHSS+`-M_einLfzajWN{oIIu!NvX}?`@g`9|X&z{}6091Nfe+{;hw<&%*BQ zB?6zeUX1+@@b?#bZ_f;Pp_}6m4f^*65C16i-ewc<)gG;c{{sKO1^V7spW!ur`}ThT Z{$1lJU>ySXu)!ZKa8@KJ4Xh9l{tuFgzAXR% literal 0 HcmV?d00001 diff --git a/lib/junit-platform-launcher-1.9.0-M1.jar b/lib/junit-platform-launcher-1.9.0-M1.jar new file mode 100644 index 0000000000000000000000000000000000000000..06e01f7cf961a4153557dfe6c93d8170ad4a8e82 GIT binary patch literal 169228 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