From 5a4fd5a88c8212288f7e278de82baa13bfc2d0de Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Thu, 15 Aug 2019 11:17:36 +0200
Subject: [PATCH 01/14] Create project
---
project | 1 +
1 file changed, 1 insertion(+)
create mode 100644 project
diff --git a/project b/project
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/project
@@ -0,0 +1 @@
+
From ff2e0b0a6155f9bc72360147d7244fb6e50245c2 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Thu, 15 Aug 2019 11:18:00 +0200
Subject: [PATCH 02/14] Delete project
---
project | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 project
diff --git a/project b/project
deleted file mode 100644
index 8b13789..0000000
--- a/project
+++ /dev/null
@@ -1 +0,0 @@
-
From 63212f724741298ffb271af6d5949184e7065f71 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:45:35 +0200
Subject: [PATCH 03/14] Delete README.md
---
week-2/debug-basic-crud/README.md | 27 ---------------------------
1 file changed, 27 deletions(-)
delete mode 100644 week-2/debug-basic-crud/README.md
diff --git a/week-2/debug-basic-crud/README.md b/week-2/debug-basic-crud/README.md
deleted file mode 100644
index 904ab08..0000000
--- a/week-2/debug-basic-crud/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Beginner Modeling User Stories
-
-## Debug Me!
-
-There are 2 mistakes in each file, including index.html. Find them all and fix them.
-
-(try to do this as few peeks at to-study-crud-1 as possible! It's ok to study it as long as you need before beginning, but avoid checking it once you begin to debug)
-
-### Project Setup
-
-Create an empty HTML file with header, body, ...
-
-### User Stories
-
-| _a user can ..._ | data | handler (top) | handler (middle) | handler (bottom) | html | listener |
-| --- | --- | --- | --- | --- | --- | --- |
-| _... view all cities_ | ```cities``` object of city objects. ```next_id``` variable | (no user input) | read all entries of the __cities__ object into an array | clear output div, render the array of entries into a __ul__, append __ul__ to output div | button & script | connect the __view\_all__ handler to the new button |
-| _... view one city_ | (no changes) | read id from user input and cast to number | read city from the cities object by id | clear output div, render country details to output div | input, button & script | connect the __view\_one__ handler to the new button |
-| _... add a city_ | (no changes) | read all user input, cast population to a number | build new city object, store it in cities object with | clear output div, render country details to output div | 3 inputs, button & script | connect the __create\_city__ handler to the new button |
-| _... update a city's population_ | (no changes) | read all user input, cast it to numbers | read their chosen city from the cities object, update it's population property, save changes to cities | clear output div, display the city's old and new populations | 2 inputs, button & script | connect the __update\_city__ handler to the new button |
-| _... remove a city_ | (no changes) | read id from user input and cast to number | remove the city | clear output div, let the user know which city was deleted | input, button & script | connect the _remove\_city_ handler to the new button |
-
-
-
-___
-___
-###
From a313a4aa1c934c8dd4b072e2444f812202ef7496 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:45:46 +0200
Subject: [PATCH 04/14] Delete create.js
---
week-2/debug-basic-crud/create.js | 51 -------------------------------
1 file changed, 51 deletions(-)
delete mode 100644 week-2/debug-basic-crud/create.js
diff --git a/week-2/debug-basic-crud/create.js b/week-2/debug-basic-crud/create.js
deleted file mode 100644
index 9d9271b..0000000
--- a/week-2/debug-basic-crud/create.js
+++ /dev/null
@@ -1,51 +0,0 @@
-function add_city_handler() {
- // read user input
- const name_field = document.getElementById("city-name");
- const city_name = name_field.value;
-
- const country_field = document.getElementById("city-country");
- const city_country = country_field.value;
-
- const population_field = document.getElementById("city-population");
- const city_population_str = population_field.value;
- const city_population = Number(city_population_str);
-
- // perform core logic
- const new_city = {
- name: city_name,
- country: city_country,
- population: city_population
- }
- cities[next_id] = new_city;
- next_id++;
-
- // show results to user
- const display_zone = document.getElementById("display-zone");
- while(display_zone.firstChild){
- display_zone.removeChild(display_zone.firstChild);
- }
-
- const name_p = document.createElement("p");
- name_p.innerHTML = "NAME:
"+new_city.name;
-
- const country_p = document.createElement("p");
- country_p.innerHTML = "COUNTRY:
"+new_city.country;
-
- const pop_p = document.createElement("p");
- pop_p.innerHTML = "POPULATION:
"+new_city.population;
-
- const id_p = document.createElement("p");
- id_p.innerHTML = "DB ID:
"+new_city.id;
-
- display_zone.appendChild(name_p);
- display_zone.appendChild(country_p);
- display_zone.appendChild(pop_p);
- display_zone.appendChild(id_p);
-
-
- console.log("you created "+new_city.name);
-
-}
-
-const add_city_button = document.getElementById("delete-city");
-add_city_button.addEventListener("click", add_city_handler);
\ No newline at end of file
From 6f4da210cba554d04b1c28d5eb5927989c0ebecb Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:45:55 +0200
Subject: [PATCH 05/14] Delete data.js
---
week-2/debug-basic-crud/data.js | 2 --
1 file changed, 2 deletions(-)
delete mode 100644 week-2/debug-basic-crud/data.js
diff --git a/week-2/debug-basic-crud/data.js b/week-2/debug-basic-crud/data.js
deleted file mode 100644
index d65d328..0000000
--- a/week-2/debug-basic-crud/data.js
+++ /dev/null
@@ -1,2 +0,0 @@
-const cities = [];
-let next_id = 0000;
\ No newline at end of file
From 39acc7020022c2fab88bdd58d1a864ff692739a7 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:46:04 +0200
Subject: [PATCH 06/14] Delete delete.js
---
week-2/debug-basic-crud/delete.js | 27 ---------------------------
1 file changed, 27 deletions(-)
delete mode 100644 week-2/debug-basic-crud/delete.js
diff --git a/week-2/debug-basic-crud/delete.js b/week-2/debug-basic-crud/delete.js
deleted file mode 100644
index 631cd27..0000000
--- a/week-2/debug-basic-crud/delete.js
+++ /dev/null
@@ -1,27 +0,0 @@
-function delete_city_handler() {
- // read user input
- const user_input_field = document.getElementById("city-to-delete");
- const id_string = user_input_field.value;
- const id_to_delete = Number(id_string);
-
- // perform core logic
- const deleted_entry = delete cities[id_to_delete];
-
- // show results to user
- const display_zone = document.getElementById("display-zone");
- while(display_zone.firstChild){
- display_zone.removeChild(display_zone.firstChild);
- }
-
- const message_p = document.createElement("p");
- message_p.innerHTML = "you just deleted "+deleted_entry.name;
-
-
- display_zone.appendChild(message_p);
-
- console.log("you just deleted "+deleted_entry.name);
-
-}
-
-const delete_city_button = document.getElementById("create-city");
-delete_city_button.addEventListener("click", delete_city_handler);
\ No newline at end of file
From fd01ac93d300384d7d9ab28efee4ea890b247c5d Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:46:13 +0200
Subject: [PATCH 07/14] Delete index.html
---
week-2/debug-basic-crud/index.html | 51 ------------------------------
1 file changed, 51 deletions(-)
delete mode 100644 week-2/debug-basic-crud/index.html
diff --git a/week-2/debug-basic-crud/index.html b/week-2/debug-basic-crud/index.html
deleted file mode 100644
index 1e14881..0000000
--- a/week-2/debug-basic-crud/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- cities
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
From 48be0daafee7d91b191e183d20386118c6640cca Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:46:21 +0200
Subject: [PATCH 08/14] Delete read-all.js
---
week-2/debug-basic-crud/read-all.js | 32 -----------------------------
1 file changed, 32 deletions(-)
delete mode 100644 week-2/debug-basic-crud/read-all.js
diff --git a/week-2/debug-basic-crud/read-all.js b/week-2/debug-basic-crud/read-all.js
deleted file mode 100644
index 28578d1..0000000
--- a/week-2/debug-basic-crud/read-all.js
+++ /dev/null
@@ -1,32 +0,0 @@
-function view_all_handler() {
- // read user input
- // no user input
-
- // perform core logic
- const cities_entries = [];
- for (let key in cities) {
- cities.push(cities[key]);
- }
-
- // show results to user
- const display_zone = document.getElementById("display-zone");
- while(display_zone.firstChild){
- display_zone.removeChild(display_zone.firstChild);
- }
-
- const cities_ul = document.createElement("ul");
- for (let city of cities_entries) {
- const next_li = document.createElement("li");
- citis_ul.innerHTML = city.id+": "+city.name;
- cities_ul.appendChild(next_li);
- }
-
- display_zone.appendChild(cities_ul);
-
-
- console.log("you viewed all citites");
-
-}
-
-const view_all_button = document.getElementById("view-all-cities");
-view_all_button.addEventListener("click", view_all_handler);
\ No newline at end of file
From 8468b015a85bcd2f07ef6cf0a76034ea7e4fdc68 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:46:29 +0200
Subject: [PATCH 09/14] Delete read-one.js
---
week-2/debug-basic-crud/read-one.js | 39 -----------------------------
1 file changed, 39 deletions(-)
delete mode 100644 week-2/debug-basic-crud/read-one.js
diff --git a/week-2/debug-basic-crud/read-one.js b/week-2/debug-basic-crud/read-one.js
deleted file mode 100644
index 6dd462b..0000000
--- a/week-2/debug-basic-crud/read-one.js
+++ /dev/null
@@ -1,39 +0,0 @@
-function view_city_handler() {
- // read user input
- const id_field = document.getElementById("city-to-view");
- const string_id = id_field.value;
- const city_id = Number(string_id);
-
- // perform core logic
- const city = cities[city_id];
-
- // show results to user
- const display_zone = document.getElementById("display-zone");
- while(display_zone.firstChild){
- display_zone.removeChild(display_zone.firstChild);
- }
-
- const name_p = document.createElement("p");
- name_p.inerHTML = "NAME:
"+city;
-
- const country_p = document.createElement("p");
- country_p.inerHTML = "COUNTRY:
"+city;
-
- const pop_p = document.createElement("p");
- pop_p.inerHTML = "POPULATION:
"+city;
-
- const id_p = document.createElement("p");
- id_p.inerHTML = "DB ID:
"+city;
-
- display_zone.appendChild(name_p);
- display_zone.appendChild(country_p);
- display_zone.appendChild(pop_p);
- display_zone.appendChild(id_p);
-
-
- console.log("you viewed "+city.name);
-
-}
-
-const view_city_button = document.getElementById("view-one-city");
-view_city_button.addEventListener("click", view_city_handler);
\ No newline at end of file
From 7e3490d5b209da68ea94994d905a8bf699a1c291 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:46:37 +0200
Subject: [PATCH 10/14] Delete update.js
---
week-2/debug-basic-crud/update.js | 43 -------------------------------
1 file changed, 43 deletions(-)
delete mode 100644 week-2/debug-basic-crud/update.js
diff --git a/week-2/debug-basic-crud/update.js b/week-2/debug-basic-crud/update.js
deleted file mode 100644
index fa35e73..0000000
--- a/week-2/debug-basic-crud/update.js
+++ /dev/null
@@ -1,43 +0,0 @@
-function update_city_handler() {
- // read user input
- const id_field = document.getElementById("id-to-update");
- const id_string = id_field.value;
- const id_to_update = Number(id_string);
-
- const pop_field = document.getElementById("new-population");
- const pop_string = pop_field.value;
- const new_population = Number(pop_string);
-
-
- // perform core logic
-
- const old_pop = cities[id_to_update].population;
-
- cities[id_to_update].population = new_population;
-
- const city = cities[id_to_update];
-
- // show results to user
- while(display_zone.firstChild){
- display_zone.removeChild(display_zone.firstChild);
- }
-
- const name_p = document.createElement(p);
- name_p.innerHTML = "NAME:
"+city.name;
-
- const old_pop_p = document.createElement(p);
- old_pop_p.innerHTML = "OLD POP:
"+old_pop;
-
- const new_pop_p = document.createElement(p);
- new_pop_p.innerHTML = "NEW POP:
"+new_population;
-
- display_zone.appendChild(name_p);
- display_zone.appendChild(old_pop_p);
- display_zone.appendChild(new_pop_p);
-
- console.log("you updated "+city.name);
-
-}
-
-const update_city_button = document.getElementById("update-city");
-update_city_button.addEventListener("click", update_city_handler);
From 17163110eadc2353ed025d702cfde9cbe123d4f6 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:47:01 +0200
Subject: [PATCH 11/14] Add files via upload
---
week-2/debug-basic-crud/README.md | 27 +++++++++++++++
week-2/debug-basic-crud/create.js | 53 +++++++++++++++++++++++++++++
week-2/debug-basic-crud/data.js | 2 ++
week-2/debug-basic-crud/delete.js | 29 ++++++++++++++++
week-2/debug-basic-crud/index.html | 51 +++++++++++++++++++++++++++
week-2/debug-basic-crud/read-all.js | 32 +++++++++++++++++
week-2/debug-basic-crud/read-one.js | 39 +++++++++++++++++++++
week-2/debug-basic-crud/update.js | 44 ++++++++++++++++++++++++
8 files changed, 277 insertions(+)
create mode 100644 week-2/debug-basic-crud/README.md
create mode 100644 week-2/debug-basic-crud/create.js
create mode 100644 week-2/debug-basic-crud/data.js
create mode 100644 week-2/debug-basic-crud/delete.js
create mode 100644 week-2/debug-basic-crud/index.html
create mode 100644 week-2/debug-basic-crud/read-all.js
create mode 100644 week-2/debug-basic-crud/read-one.js
create mode 100644 week-2/debug-basic-crud/update.js
diff --git a/week-2/debug-basic-crud/README.md b/week-2/debug-basic-crud/README.md
new file mode 100644
index 0000000..904ab08
--- /dev/null
+++ b/week-2/debug-basic-crud/README.md
@@ -0,0 +1,27 @@
+# Beginner Modeling User Stories
+
+## Debug Me!
+
+There are 2 mistakes in each file, including index.html. Find them all and fix them.
+
+(try to do this as few peeks at to-study-crud-1 as possible! It's ok to study it as long as you need before beginning, but avoid checking it once you begin to debug)
+
+### Project Setup
+
+Create an empty HTML file with header, body, ...
+
+### User Stories
+
+| _a user can ..._ | data | handler (top) | handler (middle) | handler (bottom) | html | listener |
+| --- | --- | --- | --- | --- | --- | --- |
+| _... view all cities_ | ```cities``` object of city objects. ```next_id``` variable | (no user input) | read all entries of the __cities__ object into an array | clear output div, render the array of entries into a __ul__, append __ul__ to output div | button & script | connect the __view\_all__ handler to the new button |
+| _... view one city_ | (no changes) | read id from user input and cast to number | read city from the cities object by id | clear output div, render country details to output div | input, button & script | connect the __view\_one__ handler to the new button |
+| _... add a city_ | (no changes) | read all user input, cast population to a number | build new city object, store it in cities object with | clear output div, render country details to output div | 3 inputs, button & script | connect the __create\_city__ handler to the new button |
+| _... update a city's population_ | (no changes) | read all user input, cast it to numbers | read their chosen city from the cities object, update it's population property, save changes to cities | clear output div, display the city's old and new populations | 2 inputs, button & script | connect the __update\_city__ handler to the new button |
+| _... remove a city_ | (no changes) | read id from user input and cast to number | remove the city | clear output div, let the user know which city was deleted | input, button & script | connect the _remove\_city_ handler to the new button |
+
+
+
+___
+___
+###
diff --git a/week-2/debug-basic-crud/create.js b/week-2/debug-basic-crud/create.js
new file mode 100644
index 0000000..9248a3c
--- /dev/null
+++ b/week-2/debug-basic-crud/create.js
@@ -0,0 +1,53 @@
+function add_city_handler() {
+ // read user input
+ const name_field = document.getElementById('city-name');
+ const city_name = name_field.value;
+
+ const country_field = document.getElementById('city-country');
+ const city_country = country_field.value;
+
+ const population_field = document.getElementById('city-population');
+ const city_population_str = population_field.value;
+ const city_population = Number(city_population_str);
+
+ // perform core logic
+ const new_city = {
+ name: city_name,
+ country: city_country,
+ population: city_population,
+ id: next_id,
+ };
+ cities[next_id] = new_city;
+ next_id++;
+
+ // show results to user
+ const display_zone = document.getElementById('display-zone');
+
+ var child = display_zone.lastElementChild;
+ while (child) {
+ display_zone.removeChild(child);
+ child = display_zone.lastElementChild;
+ }
+
+ const name_p = document.createElement('p');
+ name_p.innerHTML = 'NAME:
' + new_city.name;
+
+ const country_p = document.createElement('p');
+ country_p.innerHTML = 'COUNTRY:
' + new_city.country;
+
+ const pop_p = document.createElement('p');
+ pop_p.innerHTML = 'POPULATION:
' + new_city.population;
+
+ const id_p = document.createElement('p');
+ id_p.innerHTML = 'DB ID:
' + new_city.id;
+
+ display_zone.appendChild(name_p);
+ display_zone.appendChild(country_p);
+ display_zone.appendChild(pop_p);
+ display_zone.appendChild(id_p);
+
+ console.log('you created ' + new_city.name);
+}
+
+const add_city_button = document.getElementById('create-city');
+add_city_button.addEventListener('click', add_city_handler);
diff --git a/week-2/debug-basic-crud/data.js b/week-2/debug-basic-crud/data.js
new file mode 100644
index 0000000..d65d328
--- /dev/null
+++ b/week-2/debug-basic-crud/data.js
@@ -0,0 +1,2 @@
+const cities = [];
+let next_id = 0000;
\ No newline at end of file
diff --git a/week-2/debug-basic-crud/delete.js b/week-2/debug-basic-crud/delete.js
new file mode 100644
index 0000000..296d236
--- /dev/null
+++ b/week-2/debug-basic-crud/delete.js
@@ -0,0 +1,29 @@
+function delete_city_handler() {
+ // read user input
+ const user_input_field = document.getElementById('city-to-delete');
+ const id_string = user_input_field.value;
+ const id_to_delete = Number(id_string);
+
+ // perform core logic
+ const deleted_entry = cities[id_to_delete];
+
+ // show results to user
+ const display_zone = document.getElementById('display-zone');
+ var child = display_zone.lastElementChild;
+ while (child) {
+ display_zone.removeChild(child);
+ child = display_zone.lastElementChild;
+ }
+
+ const message_p = document.createElement('p');
+ message_p.innerHTML = 'you just deleted ' + deleted_entry.name;
+
+ display_zone.appendChild(message_p);
+
+ console.log('you just deleted ' + deleted_entry.name);
+
+ delete cities[id_to_delete];
+}
+
+const delete_city_button = document.getElementById('delete-city');
+delete_city_button.addEventListener('click', delete_city_handler);
diff --git a/week-2/debug-basic-crud/index.html b/week-2/debug-basic-crud/index.html
new file mode 100644
index 0000000..fbc54c5
--- /dev/null
+++ b/week-2/debug-basic-crud/index.html
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ cities
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/week-2/debug-basic-crud/read-all.js b/week-2/debug-basic-crud/read-all.js
new file mode 100644
index 0000000..a10025f
--- /dev/null
+++ b/week-2/debug-basic-crud/read-all.js
@@ -0,0 +1,32 @@
+function view_all_handler() {
+ // read user input
+ // no user input
+
+ // perform core logic
+ const cities_entries = [];
+ for (let key in cities) {
+ cities_entries.push(cities[key]);
+ }
+ console.log(cities_entries);
+ // show results to user
+ const display_zone = document.getElementById('display-zone');
+ var child = display_zone.lastElementChild;
+ while (child) {
+ display_zone.removeChild(child);
+ child = display_zone.lastElementChild;
+ }
+
+ const cities_ul = document.createElement('ul');
+ for (let city of cities_entries) {
+ const next_li = document.createElement('li');
+ next_li.innerHTML = city.id + ': ' + city.name;
+ cities_ul.appendChild(next_li);
+ }
+
+ display_zone.appendChild(cities_ul);
+
+ console.log('you viewed all cities');
+}
+
+const view_all_button = document.getElementById('view-all-cities');
+view_all_button.addEventListener('click', view_all_handler);
diff --git a/week-2/debug-basic-crud/read-one.js b/week-2/debug-basic-crud/read-one.js
new file mode 100644
index 0000000..3dd3d01
--- /dev/null
+++ b/week-2/debug-basic-crud/read-one.js
@@ -0,0 +1,39 @@
+function view_city_handler() {
+ // read user input
+ const id_field = document.getElementById('view-city');
+ const string_id = id_field.value;
+ const city_id = Number(string_id);
+
+ // perform core logic
+ const city = cities[city_id];
+
+ // show results to user
+ const display_zone = document.getElementById('display-zone');
+ var child = display_zone.lastElementChild;
+ while (child) {
+ display_zone.removeChild(child);
+ child = display_zone.lastElementChild;
+ }
+
+ const name_p = document.createElement('p');
+ name_p.innerHTML = 'NAME:
' + city.name;
+
+ const country_p = document.createElement('p');
+ country_p.innerHTML = 'COUNTRY:
' + city.country;
+
+ const pop_p = document.createElement('p');
+ pop_p.innerHTML = 'POPULATION:
' + city.population;
+
+ const id_p = document.createElement('p');
+ id_p.innerHTML = 'DB ID:
' + city.id;
+
+ display_zone.appendChild(name_p);
+ display_zone.appendChild(country_p);
+ display_zone.appendChild(pop_p);
+ display_zone.appendChild(id_p);
+
+ console.log('you viewed ' + city.name);
+}
+
+const view_city_button = document.getElementById('view-one-city');
+view_city_button.addEventListener('click', view_city_handler);
diff --git a/week-2/debug-basic-crud/update.js b/week-2/debug-basic-crud/update.js
new file mode 100644
index 0000000..261082c
--- /dev/null
+++ b/week-2/debug-basic-crud/update.js
@@ -0,0 +1,44 @@
+function update_city_handler() {
+ // read user input
+ const id_field = document.getElementById('id-to-update');
+ const id_string = id_field.value;
+ const id_to_update = Number(id_string);
+
+ const pop_field = document.getElementById('new-population');
+ const pop_string = pop_field.value;
+ const new_population = Number(pop_string);
+
+ // perform core logic
+
+ const old_pop = cities[id_to_update].population;
+
+ cities[id_to_update].population = new_population;
+
+ const city = cities[id_to_update];
+
+ // show results to user
+ const display_zone = document.getElementById('display-zone');
+ var child = display_zone.lastElementChild;
+ while (child) {
+ display_zone.removeChild(child);
+ child = display_zone.lastElementChild;
+ }
+
+ const name_p = document.createElement('p');
+ name_p.innerHTML = 'NAME:
' + city.name;
+
+ const old_pop_p = document.createElement('p');
+ old_pop_p.innerHTML = 'OLD POP:
' + old_pop;
+
+ const new_pop_p = document.createElement('p');
+ new_pop_p.innerHTML = 'NEW POP:
' + new_population;
+
+ display_zone.appendChild(name_p);
+ display_zone.appendChild(old_pop_p);
+ display_zone.appendChild(new_pop_p);
+
+ console.log('you updated ' + city.name);
+}
+
+const update_city_button = document.getElementById('update-city');
+update_city_button.addEventListener('click', update_city_handler);
From ed3bddfe1e15de3e9137d7998955150d18fbd99f Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:48:20 +0200
Subject: [PATCH 12/14] Update README.md
---
week-2/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/week-2/README.md b/week-2/README.md
index 9707f5d..30d446b 100644
--- a/week-2/README.md
+++ b/week-2/README.md
@@ -2,8 +2,8 @@
| :mortar_board: | your emoji | your comments | coach emoji | coach comments |
| --- | --- | --- | --- | --- |
-| :egg: __[debug: basic crud](./debug-basic-crud)__ | | | | |
-| :egg: __[event loop: 3 & 4](../exercises-event-loop)__ | | | | |
+| :egg: __[debug: basic crud](./debug-basic-crud)__ | :egg:| | | |
+| :egg: __[event loop: 3 & 4](../exercises-event-loop)__ | :egg:| | | |
| :hatching_chick: __[debug: API fetches](./debug-api-fetches)__ | | | | |
| :hatching_chick: __[closure: 2 & 3](../exercises-closure)__ | | | | |
| :hatched_chick: __[implement SearchableModel](./searchable-model)__ | | | | |
From 5e6f13245a8ff5ba7f62aa2b04c8f13865873f41 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:50:02 +0200
Subject: [PATCH 13/14] Update index.html
---
exercises-event-loop/index.html | 678 ++++++++++++++++++--------------
1 file changed, 392 insertions(+), 286 deletions(-)
diff --git a/exercises-event-loop/index.html b/exercises-event-loop/index.html
index c1c21b4..9a3de39 100644
--- a/exercises-event-loop/index.html
+++ b/exercises-event-loop/index.html
@@ -1,18 +1,16 @@
-
+
-
+
-
+
-
-
- Event Loop Exercises
+ Event Loop Exercises
the smoothest workflow for these exercises will either be either:
@@ -20,395 +18,503 @@ Event Loop Exercises
edit this file in your text editor and check your solutions in the browser
-
- write your solutions here and paste them into this file
+ write your solutions
+ here and paste them into
+ this file
-
-
+
+
-
exercise 1
+
exercise 1
all mixed up
-
+
exercise 2
-
+
values on arrival or on departure?
-
-
+
+
exercise 3
-
+
arguments to callbacks
-
-
+
-
+
exercise 5
-
+
arguments to callbacks & modifying global variables
-
-
+
-
+
-
-
+
exercise 8
-
- var, let, const in for loops
- this is tricky, check it on pytut
+
+ var, let, const in for loops
+ this is tricky, check it
+
+ on pytut
-
-
-
+
-
-
\ No newline at end of file
+
From 1d1a9ddf6d10e64887a3692bc00dfa62b0d054e6 Mon Sep 17 00:00:00 2001
From: saliha54 <51030929+saliha54@users.noreply.github.com>
Date: Sun, 18 Aug 2019 10:51:59 +0200
Subject: [PATCH 14/14] Add files via upload
---
project/2.jpg | Bin 0 -> 2170704 bytes
project/index.css | 75 ++++++++++++++++++++++++++++++++++++++++
project/index.html | 16 +++++++++
project/index.js | 83 +++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 174 insertions(+)
create mode 100644 project/2.jpg
create mode 100644 project/index.css
create mode 100644 project/index.html
create mode 100644 project/index.js
diff --git a/project/2.jpg b/project/2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0427bc2a47ff226b7b0574246b458085bd18ee5e
GIT binary patch
literal 2170704
zcmbrl1ymf**67q(BQ${-Q5!)KybI%NBqwFD)kxfIuKX7IpwHJLtM{l9DE>>MGK5
zic+u$06>>jv~zX=V*`Mbvj|_Hg}2egR{A
zbBBKz4F3;9VG6>S_#d|U7qk9Xnt!p_KWypbYza&AkIt@^PL}`hHyB5Hd0N33P7%ft
zUUpXAFkXN$t)r)t9gOc_jPGP+<_-Yx=>Nz)tSoF{%n4(3sHVCkjNbwPGP=!wu=#(m
zht+$So&X@};_3snv$6G{VzgkQ;(|Z~sbsCZ9j!b(*i_9d9L%7WRFW=Eu4c|Y0PwH>
z{7)_b_aEC*!Hmq$1>xss<7S7M|G&fkH1fYw{mf0OHku%V-M#04odt+NS^G{}BGuUTi%)T!lC|yuH2I?W`==
z|1s!)hyULM|DE!G4F6Fc`#;U_r1rSOKgFHUis#-N3%!FmOCL
z16%~I0k?tsz~kUW@D}(d_!{-u#a$qh=@pt$bcw-D2u3vXpiWJ7>k&TSdaJ>
zaTakG@fryUi3EuSNf=25$qdN@DFP`IsRpSRX%1;0=?)nUnG%^BSsGa%*%>(mISsiA
zxd(X;`4IUp3N{KIiV%tliY1B<$|sZ(lrEHMlzo)Hs5qz$sKTh4sP?GAs2QkrsDr5M
zsDIGV&|afK(A3cE&_1ALpf#Y4plzewqvN78qf4S2qI;spqnD$9MPEVxgMooTk0FMk
zkKut4k5P#+fbj$44igWP9a9d|5;F)h8?y~_4)Yuf1&a<#9LpHX7b^{`8EYEr6dMJb
z9$OOI3_B1z8@m&G3Hurc4~Gj!1;+^|7N-hl6z2#R36~yM3fB@h47V6}0CyJ;4vz*;
z63+rJ6t4tt5N{tJ5uX8H4&NR>2EP`63jcxtmw=Z*o8Ub`HbFPR79kuVJ)s<-BjG2)
zCc^K84@4A1;zU+NQABk_b40hqWW-{`R>aZ7^~8(B4H~0%%p0h
z-lTb?gQTZq_+)R$EXbnCn#fkk!Q{;3>g0ap#pDy@*A%ZPWGGxIGARZqPG1qe5_@I;
zD&Yj)PG+yyw-Xh^1A-@
z1`R5WAdNLm3Qa%F1uZ4560JXNHSH=L3Y{RGEnPa@Fx@RZ1HBIYNBVa9BL-pyIR;;b
zYKC=23`S8#H^w5y1tvr$K_&;LT&5XjFf$*sEps;WGz*x8pT&+Pmt~d}ffd5)%v!{{
z#D>l$&gR8d&9==>$gap9!rsn)&Oyte&ymP6%<;_0$LYvf!nwwU%O%eh!qvrf$<54d
z!JW;$z=Odf%@f4a!SkD!h1ZHVk9V05k57s3BVRw?6TbjIl)sMuSb$c*R3JxSNf2L9
zRWMd?1cCsOfCNFlK<dnzxhPPI4OWy7ZzZNzVE)?Dpp%O6_
zDG=Ebr4}_4EfU=kqY<+dD-$~uXA-v;uMt0&;FN$$v`XAc3P}b?etie`PUcrER3Er7vXoWc*~l$|A@r$R^4z$x+Bz$W_W+$P35^$bVBnSI|(%QrJ;s
zR)i{cDS?&bm6Da#mFbk7mD^PS6*-k;l?_z}RX5eoYKUs8YT0TB>Rjsn>cbj%8YUW5
z8aJ8}nx8b+v>3HKwfeQOv<2l}>=#J}=>e=aa=p*TC>zCH)1e)Z!~I5YV2s-ZGvTDX3}hmV5(zUW%_8QVpe2!Z7ye?V}4;FX_0R6
z(^AYb#q!un*ec2D&|26!$@<7f*e2QL*jCgw&Gytz(k{#Hx4o==zWuF(ibJ`>i=&QX
zy%VyNsZ*yjuCs&lHu>Qr#|~3eYllkh_t4hX+2)nVRrq^bGgh
z_7d^R_PX=d_HKTU^WORWgb%Y%l+U5Bv~Q^&yq|?%zdyBqu>W>|ctBwwD9}8xKZqtM
zENK6O%!i6#)L@6;$q>$vq>!snozSi@im(r1yWuk7)e)Ex(1@jvZ$9Qn!bjRgPDSxV
zWkx+mTSkw?aK@y?JjPnYj>U1sWyHP2TgOj*;{TMFfSBN%@I6s9u_6g4$v0^?St+?K
zg(@XFD@q3d(Q-8Byb6pEvOHM0ZYjhi^
z&8O|6-L`$JL$71DQ@*pm>rGedXZFwKU#P!icN27f>Ot)Z>v`$*?Y;i$`t`KWrf;|3
zq_>7jvP@!{SP;gK(+LZh8yf@AID{NrsCd=ssce3PwH{8Mey
z0@EEckeRO8x3fKSqH}%o@8*XV11aa{Sm>b3fJ?ZZ04
zdh`bNM%oYZA4Qu?oAq1#Tix65wkLKpcGh++c7N`>+8^9bg=!9a0`v9&sOiIhH=2
zIWaid|LOYk?`gyt&RNbm<9W+3v0oDxx)=Mup}$`)WB-u+DZk>q>c3XK{&C}U^Y=FT
zj^wW5UhsbSLFeJ{ulFO;W5yHHQ`fV?^ZJX^%gf6e5C(w3U^rNShlfM>Cm_KdV2DVl
zNXW1Q6$=#&752fx#KFXXeTngKaPWx9iHV5GUsF=PW?^Cx6jT8HpI+eQD}aNH)j^a3
z2YL;FaX@f5pqFnjHv)hIz;OQzcK)9L2MOje!629-Fy{#i0D*Df
zaH+Y(;Sum&t8tql;!C*Es0Sw&A`zH3^3Y255o$nrEkd^6CCwJStODq8u#4ls;Q*q*
z-6j#dt|#fA&KuOm_brAq?Wnvfl}kIQOCN6qC7;b5OnCbCoBNU5p^+Xu8fRxBPRKj4
zRC8N@jrBCL&JvVL=o3tKo7rNN4wqw%GjGj72e?vTN?$}r~5FM~8w4HpXK>ipX{tR;0Y=(@hkiaQ*5en$_?
zuJrUUXupKdx>?YmuX+K53oAxi`h`gyb?qioe}zwqiU~VzTF3u7ybovJJ6%@t;65xO
z2t9R}7idX057?ZkQ1aR!ppPcTZtpSjjU|H|Z)h}6D{tyn7>1llGI(Diq39%#h@Vh`Y@cQyRN3yS)#!gfh312wLcB#ANL8D6&0A@o7>Yy2D9!MGlc$zUXD#
zeD;w>jkvEj+Y5lhLKRh?yMOC9NxWJ~8TnEq{
z1Xg=}4Fdh^)Hj)klew;Lnm?jyXYyq2vf8`PzEm&a-J@UVF^F5mnrWX8Dm!MgTtJsK
zW4zdmO)`d1LrC0_(AM~f(T%(dn-JIIl+?|+3@KXp-^)`bLa6t{+mxby4}3l%fP9}g
zx9&~fJx1Af2wxHE%=msreQ#gOTyQmRUChp!=F-(g*ZZaYh;#z=x~ML=jgK+Af>(;M
zB)P$KL;m}wMC}Q^5x7x%JIU+lL*=27cSU^$zt8EI-}e1zS<48S67Q&OSIZd6=)?kn
z0mm$QYO3gPb4H`qlC?1TbQ>W-tqvi(CxRU!`>x)*OI5MaCNkb_k<&`#&y$^xy8-91
zPn3J?u9fm!-cprJ&Nt0E5?fdOK42H)IG^o}^`9B5_dFkect+R7ES6fgO*HL9^t*)o
zfyCUIL8kUy|9<@#dK-(%`={*FE{@RZjNl?OmHtmFq6+-Mdg-uR-{3~iVQS5D$29RT
z@>Iuk`b7NhO^DM^4gOc>$A9?1J=J_m2RIzpcz@{)@0hVuO4h>$u^vP9QE=ru%oTTSbQLt;07(<#o&
zPExOfwT1rzz#~rirg+|4HisN0XK;`k-?S4X$r;Hc6lg9P-x7#BZ1#W)MTyezx!p?>
zD>*LiCCU-jm1tX=J;=3C>MezqzUX+1ooX*6oAMX;6IdvBKAA2RCK!u_G8!4MpzO3f
zQLK(blON^fXy^T-b32=p-yuGYlqi46g>TL)U`fTMVJ7Ph9K5w`p7#6BkM|R0KqWa3
zR57ohr6*4s99cwy;(bU4saxhi9z8@EtuqSdBhn%Vg3tcA#wDCrWNL(N^pFB>J
zQcH81Ugq6q(;a!~WR8E5A_
z=l4-+h!A%lpaf}h#N>o-X_&dIGC+O6ct;tl{WO*nB+g&9QNsEX)d)m^%Dd0Od7g0H~vRMtG)DRy7O%HHWHRjF;hptBP)A`ZvE2
zpO_JcGoW{c+rtzUUXgLEFU9t2V+%2@m1*XOjSzXz%?n`305D>@C?SxjMk7v{L2{yF
zYjEA)OkkOcOY_q=HiRQl!Le+)MO}V-7!Gzz4P{&z_8A#$Fr#5XCM2B5@p43t(6+QP
z?~AQz`(WBYYh?vYooY3f#MZQYMK_oy5X9vw7%SlTLV~H==$48N3>VlQcG-U5e?_ed
zV#hT?2aH_{oIsMEv^eRS-
z-iQq1Wwua8o{z-K64r_;RE9M+oevail9F@GBNH)G*F~HY|nQY!@vYF>N#_-aVrx*fGn|`SWTgBCIuEJ-D2YE
zD(RIGd>?{tIpC8R7wevU+J7Hv3i_g1Y8~l#YI-EmXtXRw)a1BC!Er-LWsh;|_RUAf
zAj^VT4khd@xSF|BtnzLYvD7Q>{bBcD<^#hHDV;@(?HWec61`$H=gQOJj3OfLkY##vrFr>6+Vk8LxfaEJNMAFcWcFxB_=RWPaLz_r(2`=fthJ>B|M@fMgEYbf0~7~$7>9K0H%A@7V5Vo4V}lGA9XxXh^OCga?{Yh|Llc8<{8$iq=B(|ALPbefO1
zLtgUCbE4cIWYeaMl0AR(XwCXuy}NDCu3z#HaXP&BkpC${=rFD5bFzp=pKFd6Q*_A8
zXx{M3C-W~VWLGRlR@3{U5`RHYd5K~AX6HUwWp_wT{)m)s=iIlmC;wP6ZVjACtS%Yk
zL#{WU^e^5rDGOdgrn1yz4vDOSn*FG|`381g9e#ZQnwhD3k!p^iJQOKUaxh7Ua8!%94|_48b{BcX(=C6Y6)1K8xR|fAlknLl-z^9AHs=$=
zU43j>UfdE=)0N5ok9Q|*`B+}_4UtaAe)*@CDZA8PrHi(nD@#z)Y?c!;&
zg>KNj;hHlcsd9?_C^;HoGPr>}oGLZSW%90?BKb52s`#d`DK#AH-2c&_x9e4#ii>P>
z>ezQ?JRMc~Pu>^$$x8Z8Gm{5|J=Fm=Xn`~tYN0NBq
z4GE^BRUmZ`XII1qJmaW{?hM@lk~nK^P;IJZudEN}?}i+6C8WQrsrCGL;t@8l%Yd-CN4nY>
zHI?kG%37ZlmDq4Rf-(av#8N7Ga={gZkf5?pvYFB`%D8s6kSX&+E_b6K&Xf}|LALr+
zZNqsVmR})N2kcP`^di(3F7rmlK*=#b&Bo&RW^oK-{Cv{MI^BFdZx*i2bGXb!l-fwj
z-paIDOn%wsoLgsUwrlV0^xZgE@4cFT$sAcPZxG3+BKM-o%qp%lr+#k2gm(VV8<)`f
z<7Y{{Py2WzS{Z&K87B`RRgQ|*`-p=YGV|GD;qo1x4%+W{(KnN7~Gvor}T@Pq=i{
z@@I7(MS_(IeTu}m+fv&bMjcTd@-(=MuMSq}0+Y}dmFR0Z@mmi|JdQS~`H#m)y=Y$B
z%cst)1-yP(q`|XxPo2n2lj9V@`Y27mzDPV~VbDOvl1(lrV@!05;m9&DcfgD^aHO*TOYy`C9mBw3WX?~)y}w)#G%CpJeeEfX>GXak
zlXqLI#aW@*Zy6Z5jp!~clGL-D7Lt|wd(I(pqEe#2A5gteja3)fv1@AE@qfGkPgG$H
zkQ|orZ7zGtqWsy6T`?sSYt3W2ve+w29xT~3_5v1Job1^4$W6ttW=J}!{xGAy^0#Rk
z7wK%3#Ofkyn~NN0>E4um=OUE?w|ULfna=@S#Ar&CjJ=$dNBJd-evO3c$1oD{K3a(R
zv7FE{Pjwo*m7uItw6QTNUopJ-9^LwcfJw{IPQ7gr{ej1d>^oEJNy3;=Sevbqfm}uy
z6U*pprlmVn5}{k1a{=@P&2;@xX?#CX^Ii{U}{N3yW!IlLon-rr5H
zsxeZVrx)M?p)GERCfm-soo@2{-bCE}n^hnl=M#6XNzN{`QTH$Vtq$7*nX#{=*^u7z
z$n`_iT^3il!1SH9hz8%C1U|x40pjoruv$#Rc#-oOtu&mJh{h6nI#=RF0Df6k&0~YFX?7{X0Nm^Xe4(
z2ggw{h(Tg$hqzJWfr-qWT9T`kwEe3G;$xu)6O~`U>goP5u{qiaMhS^Zi|ePqLqXq+
z&jwJX24{#*(62~drzRF-KQKeio-LvxcuJa>XtNy$8)u4Q`wN8z=9sw}<4U^>cs@)&
zC&q*-EXbD56F8f>js$%((`WhZVX=>9E&cRHBxDr1+>7M}DB_u8InI^gV8vaCC2rTA
z)qa$8ir9$OVK=p;weZ?9d~;!
zrrq3~@*iLnp5W<9Sn<75{9bUc2zW88LJxYkReNPegR_qA<)JQVOw1}jPsf%pYx||q
ztkth^1{qH~h$vBp_@3R<9}&;%W_Kw;RJ`)=ErOU*UO2U
zUjW?rFC}rP+(qR`1oo0Y^H&*sGTwj0*LeZLlw4_i@{4*BesVR0Wc@vCvl$b-_Ek1$
z${`XeSCkxHuH?;9y0m$^wR;G3y$+zK?y5^La*H?nFl@cF=BTYJJ8W!`Un0c(ARtMN
zel{D;_@F0$dxiHa9EY@<=Z%5^+ItN-*Uym|{85W|oW+MIOKp1L&rz4P5ti+8T*-Bu
z74pxqS0iK36(+~~cSYP>3$J|yVk-{$#df8o6|MrB$=-aOCV2=SQf8u+V^i55je5>)
z{E64h`P03qAej<<;Jf7=&-klz74@f54>?H#hxs$1>T8bqPq*~%w_}<
z?wp4gUdkb{^*2i4@auby$=V;TpERfn<7$9k`oxd~n`
zvK8w*|4bw>u7l2I*)LG86|+4KFe);^9vVnO$Z_`&-L2j4is
zDzRiILQ%^{SX@PI?C_zVN9mVug<|C~&kI0#S7Q~xwQe1xxJxP#xmYge}I!w!ZuYNSz(H(&0#V8=^5Ck+l7Cy?;M!b}B7LTXdhiH#FVCBFJ+m
zdGs5Ldvv|J#2ON4K`F6I(RYG4+>d(C8#yP})rIv$N>spnP;s{68|pT{j6GU)e6fnl
zydkA9+M-!xSZe-MDu4e#aAk?5DLoh+vCH|u+{xsG!N!R@=gcIh^V63LVq^NNwD;F|
z!q&G;`zo-yx@Kk(c8({SWiv^cUmeDHg?U$@s#_#a^k*pMm%a{xr-qO7d4;4O*@ILX
z9;6Kfhu=OjkpF%NkP5fsKbhaMhxM}IHI59jwV5F0ICd_1jPrKxG4v;v_+L1Ku^(EO
z^dR{A6#lwrNkt5#59a7sIkiJ3G8IW^`%W_9ePQYr$G^#&?>=5S}z3vNeb=t*?es?!~~epv=<9-sK-CC)Bb@du+Pp{1s0gmk+4wExjMA4
zv*s+NQ)h@7;^gd;`bsm9I=^-s(!p|bPBqye-+rfToYBCh%u{|rto5Ui!)y7`tBRfD
z8L_r?C{cYf!?d%GAa>}LkusNI&+?u`_YXL-o_wG!fU_vu%HdJ-p>Mpox1qsB)xXYU
zIYPPevG~y2zZV_3tZ#h01wDS%f{S-ODS7jF5w#sQThKYSRWSwgByDQia(S2N#Kn2%
z8do*fB3C*(
zwaIbi1Zh4l_A+yy-1tRurS<}#;A(J?Yst3-*`WS;0TOoeT|av|9y47(OJpmAv6GgL
z_Qj+Z3=rwu4+a@0rX9MPkHAIeF8J7y7yO!aQTd(YJHg)RU-TRmz%#i8x?EA9nSHga
zf08zv-*4vQjy{di*+c~S-N+@bb@7=iP~lUAMBBjPmu<**sQ$LNCYm#JF1JKLkUlYYpgYcWSy
z|I%H^8N{4RIZ2aEMrHiB``Hqnp0#Jit)VOjbQl?v3o6Z8_q)pCp^x06ZncoJqe^(
z@K$ee0*l&zLv>MqtFKLSI_)`3P1EDYi@k|V3y;Yxv2_sX6@
zJ;hmnM-fQ$@Cizywz;w`RCXXwD=~pMbVJ-FodtRBtaB0KaweM6(=R|Cb-%%k<~n&+
zWx$P9X!TVHOekrsXc*HD;>tYu(O}eGm5c$40u>I_R_O
z%)L<=7Kzf%$sd(HV`G!GGwDkyL*ugqd5$3R-Q{G$^g-7bq30sE2(_C-HG3R(Qx10#
zLTJN-=}GLzRRt#1wkN&U$B>|uU6-qK(@X_F%6LrXv;($QJ%4GYue9FKpFN1vKa=YzAJXX8-Sr<^>gH0r&_pDx#7
zSM7XvqRMlnaYCA3w#O7H$G#XN_cJM`Qo!zpJFhs}r&sAsfDK7qeFK|g{e7RLm1y1@
z&GV&GYcT^d(egQHk^6lCTP(PS_Ucz{#dBM8D#27SOT5W#bdl#D)P{SjN04j{>LFR2
zz&K}z26-@tT;vQ?iz`kItel$l8a8NmWvpg50rgw64NuTl%f*#t%UTT%bLx5O$KG2U8c<$=JkScy9O|6?dw)cBOT=s?KFM7=
z`+Zx7x7=zuNxyT9rxlY
z8)6chS?!rt#9Y|A(FM_48gDC}B)zV1%NHP$N!M$M)q0nK;1F{40(6A_{vE)TFYVP<
z$Z8YmJw8MKDv2Ibp}gm;ZP`1*o~wDEhw?d!b~H}Abj^z|4@a?NdOq80H&fOzuNrj<
zckOvMoAE=?=P?@EyfYEi-ubH~6;(Bv37dOGB0@IF+g^#fl$dF}q?`GUA_?W=9Mchu
z@F2k~e|qs)+pJAfB2h8o_Qg5FQYop{0c7Q<=!C`SVmdm;#ZcZ8Hk$M@X<=>xngm(x
zYRL5gm#YBr4ik7#PziwgUm70&tLdulvGo$1MgShH*
zJjZc9Qn%udRMTVc29j4*x(XF8Mo1o5uHy5fmou#<@U(5*=1H4#4qR<24s{)wiq6Kh
zx}#PmUjR2Ak*JO8V@9+5*+uffc4?Gh!_sd5Ym}cnpBKzMuc9S|V*L5(_7q;noaPN#
zWNpK-S@vEFPFZ~Ky(PaT=W;6T`>54^5&OU(cy@&6F;4Vdmm@$u{sjmsF-vmMZEb3O
zYW#fbk<4*ae0(uHgRiJpvaoY4fI^?`yfT;vu|&Njci@tV$_$;$XPh`x>ge$iY@#%$
z4={-xpLhX=D4jCslK2ql`m0YxqPJUi2J5alW(x0j4Eap&H
zbIrb*%90pH)wGzdvO~LkbkYMgb2Ro*hT0k$DaiuLj`uJ&6d$Jbm6VLXb8!jevZ!ga)$DqROVTE|csQ6|{oM5*kVT2{9Z
zXm{Hsz4uUR-Pf62YqHf>^eNR5Jy}{u6)(Z}!QDZS5#qrilooonbp!9;D$i4*P-bMZ
z9L+hJH?DnFaY;~=0QwTz?=IDbJ_c$lz6_sO!yhV%F6Ab*L^X_C5EM!jDkg|p^H
z62XojoV<}4gorc8Z894CN!%4^UjV`CR~LWf-Eq*oNw$JZ@9t{5soOa&u_Cg}
zd{WmtKAYFqp%v-yejkr9iLFAfjj!cZNo#vQLhWAc$9wKON>2G0=BLaicZ1$O>x6G_
zVEtP*YxT3*IeWmDYgv2Z&fAF@y1Ld*Z0KR7Tf~vsOeG5(yHzDWF)?*Tkv?|Eco0Ka
z8uGgz*_D4kXNp+ZH4-woykR$35$E0X^pseC0jNYCzRwxPcoLuA@m<$@;2C@w3Su;{
zq-w?>wJ-Db
zu(CW4&P-UqsITd|I_FEm2j%teIhxL@gO}%|jb|i3*3m-@u!eZJ)`1FM@HXx4eQ{?AUo3i|cJ!xferqXb$9+dtsvW6Z$!u2!m3S
z5Y)zsBfU`(n-OtH)2pa~^vBW{fT)Oah$-2SwTi;Ow+)f$O&PzMMs##Ke1~Fe5!soy
zg>`uUmG9ezo(|(Mp1AXQI>X%Ful#PUR-@8fn*|1J#wpE{F>QUS7E}}QCTUE6YU7>9
z9(z9copB^5nX9c3-|jFg_ab#3qPqtEW^>?EbIqI6`
zYo>n_0zgJy7Hs+08V8@f%4hUF858MVVK2Y_@`U}kQ;sN}qBn&v>i=->h)jK9<%Y`D
zB*Hlzd~JF)8AzGO$a4to<#{O(n$=>JWj|?*68yMk{=3Qf_mC%z)}kCgRKp+mF`h
zL;?}j5-$5`j28e~6XGGO)h)C;!$+yk*T+t0TGQ1s6dXHWljdOjcff?-ptykd1-KcD
z#eYwe?B8gtWE8NaRw<@T(9~H@*Qd$uSdi7D314hp{&NK(I-k4t*{ZS2&wNXQk2zx8
zBIi5r8fd32MO8TvBc#0K%Q4y87$v_!L!(|jqA~psYi-PU^ViWiKgr&B9eomG-%MgF
zbt=)U%Tf;M;z^qFU~g>B^{)QG>`*T{z+1vrHZ!1YQ?IdxohUtX1Z}QqKOI+HI
zexR5douU8)d(BlZI7u7e2fqt_CQVX6$lUQtq@_))mIs_LwUL=@T!gp@mCAS1B*y6?
zv-0-$%7~zrJ4+%#)LQo`UY&w)UOWszODx@LOV&MQq40tCl5^;mo0#EIJbMve^J_Yk
zJ~zQ{F~t-(K7pg7%hFez07qo#z<`tX(R_6nuDiXmT_=vhW`x=|}zW@(tn-||g
z%xwh9*%ZQ!$f#>TbQelIn;hLA$djNR7v^>ihbhgD7V8+nPW}O@OcI@x)wCuTF`+R5
zK;$l>1&Qg*z^Bx785I*AA&c3%z=sTp=@huU7gB2|qGUt>ftf-5p#i*g
zwL;C@oWm0a2Dt_Q%`X;P`N~LusLET)#4dB9k`ZwcCNyB}_5t0XWN<1FTwy~XCPw0B
zCTaW-v4+wg%8C~>q^NydVi%jVA9o+FY^9O;wSrr?mjpCKLI~yTzs88YagGQBhDVT}
zrI%*FUsKYNoxA4?v-^Ao9m!6Z3V)N8nHth__k^@$xsC69lyLm8($gdn>_G0+#k-w$
zWfp?ODG;|!D?F`WANz}9hNedQ0^{N`yIO}{vvY=Hfw%upD$1o@nA6c2W*CFC>a-L!
z$~?%ya`1?^l6KAtn*wUt;`z=|lu11`n{&@w!EAF84yCZed_xvRtqf0Y-iG7uAo9{s35(D1l{#8&)H3;r{Tt62w*
zHSAtBEl=bmKXv|XdAYWeMO6Kv+LRm;$oO$}1-r7ILXLj5q*)T`+>!apHdz-qt%JPw
z07T05bDm6!@B#hGSCW3W&C9)MIiC63z{E0*i0y8CrEpx_5Q9Ejh@qtf%j?{f*UmIfCZ|
z>m)z#9C(NbKD^nD+80uK)jU`JT*ouk(SJXmc?t8w-Vkmezj-@d{6_P7c{=B=eU;Ka
zF)-4-;Io6-{vR_Reb*l{D*;Fg-Q`G3YKMZY8`f#>Nxyg#7`61tJq%H}Uq{nVT~uEu
zEkpwmNGSfrRlQpeE@i$~v|B&kZ60Um&@*}c46(%@{yXe`Yh8QSx>nfvlRraI%dsp-
zn}(IP!^|!CxB{s{^cUvN%;#L}iKw
zPSC8ING(krx*_z@10P*|^%RT@r&cHE$mVsGNT1^`5Dt~qQVgpmMZf=88Z8^#QVTIw
zN~XJ&+7URc4UW(MVjL!fcEPBhmQUiAa>b^6aA#f4Xm{Vea%kw@-194wWXqGc>4)U8
ztf>y)-85vUJ4aG4aiY%Rw{KdEp3vzyYZtlxN}lDH*=oBuW>mLzzB_u=IsTwOQa;K(
zZxgdRK1(^=F_em4)*OC!&-n6oqJ~L&*xVcI1+blX&YZR#_xNTsdLA{>P+Zz6qBjaH
zcl)*r%|!30!0s61`!c7{X1-6=Th_T?6=$;*HcVptTPtj04V^`O^`T;yvSpO4Bz6Ad>I2Y0BT27kz
zn8*t@h0?(!|KaXNz(XQPNumxxbAr<0hHNZ$ZF*t?_i>H@n$xt3ll}s5xy6wz?A$R$
zF%Eou0p4*X<<5rk?sL)YPr&2A-?rEsTN)(M6Uoe({}2!A*C%3;jr5ZAt}*D^O>6*n#Byr!4ZZpc
zFlI|~a*XO5I*~a94}0WTF&XxbrYXmjGd*#ZWm*%w0P}>S@AWcFb23TQACA$jc*YkL
zs@n`Ad}Ih7`nQHfuW8%udge=@n^-wKLj=S&CBjnNUeAB6^{(d8OVUyEMT&GSC%C!p
z+GyTZvoW+g`fzLmsdY_s)}7Q!s8IL+wQ4>I-A?WqWnPlqU;4xQuT`<<29xJruRY
z*3t7LHHNRkr@WoUofF>e>x3!5E#fSi=dAi6jltgaG1(>^)73ET$82?DPpIEP0q=v}
z2%zKcHwBhwW?r&HRs&0TSoRd8ShzK7_l-
z5;0$X{EfnM5($k1H#rS$CpZd38}EXzQc2W%8&lA%-R^H9BkYn@HKOIKZASK=cuLfN
z7I;}n=M|%mrk6ym_?6`3?@pgg(V>-5obR|NT{_WjYx0oy$o)3T=z_o|gdT*X_dop|
zrSCH98$T#Pdw|YU$K=|)%~izi#Sfo5BQ;+)Bsg21o|oS4a=n)_oU#uB|W
zW4nu8ucO$`Iz&t02uv91fNl<-?i$fhL5*-=<6g>s#A0P)wvv4bLTJckd|k%A*#I@}
zp1Yh~_tBWzBK4fj{9{Oc0AHXawzaE>QEY7EARUpU4)w|?^Kry>wap6vQ6hD-GLV8*
zj3m(x#IW@-)am5lesHb$chad>=Act6f6d_|P1O@6W8~69fH*cCGoOX0g`RkZIpg@8
zx%)ATk%!hDeC6?xzh*i8E*r;r&9|kycw?L6Rl14M^n#%It67&>z<_UXXoD@CbpliM
z3HxJ({L1#Lwjg4xh&a`pK(b$*Q;sL7g)N59HG5KBioVHCWp@y^P}^!(E}x0@DpOMR
z+VUktcEb-I;nUbFfw@gIn&jHG*9OGc3>Mr3+!?U_f^{SsPW5Mk!Q=8WxKgU$UjVxo
z;G=~ZT*_N0swmZ9Op5JnID;H>K`0Y!x@VT>Bz~Uqi3)>LrOjp@564DzB8E`i3s1>g
zrG@)Laf$wO&NYUWXz_x9R5=mZ9NINJ^}BeM5z9DTH&5ahpp(4(O4{gPH=#nz$%?aa
z=xp2pE=^oiv4ZUFAHY3t`V1O-9UECYgd8C?v!5gN9hzYf~r-r^2@bD5_8*-m)Ef5=zS5MrH3;#PaS5*$)^!t+SWvHk=vAx)F*s+iiS
zf3r0j^Wm$RTI$CnWdW5?(I+1CF_r>1TZO!mMPlQxpCYL&%gG9gndOM{XXWC*9I|)C
za+cM^sXJ;lC&J!ZLAN%)2Qikc66x%4RpT^cWi)sMT{=9HJaKNY?&zg6#aM%4Z7bUi
z$;-ZG4KrLxcq$y#(e6Xe7ePz`=iq}k`?#FR8}JA0jk(KBB(*(y`DMAY7|oCg{sCmVpJ0KEfOt+;G*YVzz0MequpjZ7_UarOCn`R)onM-8%z1hrEv6hq
z8MAq0RJhj7K=E0M=O~!}47Tx^zX+OQ`wR08G`vglU{#*T$y1@=W0-ad_a{SGqlWDp
zvgEeyp9}^G<9g_;v?8`0YbxCJ{0~e!;E8WTU);XJzOg24P@csfsbK50
z(&1eE){SoJ5NkfKB8Tyq;sL5o@5tn6xJyy9d(X%!BtJx)#|Dxf7SiB=2IU{^g2Tn-Yk0#VCF?
zjs5uxaB0mldP0Qq#Qj%>;OlPhXH-C5&eqQ5%AB-$g2Vs#Nz~Rslqr0SdQijpo_kCv
z$9(fX$fE1y5kBcRK2N`C2OIw@*%QwzH(2NNPUUD+Z8YYQp4ezPCv81jONP0*9=0&4
zrdkZyGc?dqtW9SgI6@T)0xW+p<>54?MrLU_zUfmh3dyjZU~~BNi1wXf6}sED92hA}
zoxe|Z71Ti=seJl1XDh`7E{()Bt-kfEwba>gY7R|{Ddj3xUBdy^eI){ei?&Kje{c~?o>-iOx)
zMG7I-iPJ-53_{W+bX|+QV*QH))aeUJ@z=8-3TP{^@
zc)D9fWp3s_+to(h+aHGsW-7?5iWj(;5ee-5722;@4_%Jy7u@xa(K7o;S{dl19UjbX
zCYpi@%ZO|BOU$=$Qe&$YiJCOlo-tjQr)#h$Lzz(&u3|OB{sxgY7`s}5bovQeP^3rl
zhd!Uh*YO>YAbX;k4|97y6+*+cXx_2eFWedi4r?U_7RQQYwWEfdXA<#NCGqu5F62|7
z+bp6+yw`+!cKJ@RbdbfVWq!_u<_md4E_Zhz2EWlh9Z+2H9B;5EHhI)o^0uqQ$76r^
zrK(e%p?;~T)3*5rD<+nSovrKz=o|WxD$EU;Opd(_U%$q%tXf4~DbqA<>E^CYdI5@g
z9=<9Ti{2vtunN-2sAQ3(N#3WZW2F&OnXBn@sWE?!_9msnzsD);jai-ebsu{*-=QrV
zlyj)%)1|mh%6D@3hsawy8BIp^yCb~;oazEoE6GCpMvImo1Fr#*uyQh!k)G2*R74PV
z584k`XG!Y(1HwV+-WhJr@f0SQLwApsE~&5NT-(#{p8KU_!qVymKt&}&nb4=ntHdSH
zT&_tN6@X8**LnfORhGGUL>1Y|iFOAc3|cyF8-B133-qaxDqD
z$t1_qvd%x;z6Je3|Ijs0B9bm8@Rk{WSf>~E_UZm!Mk#&=ag)MpxvrSQ78S~8ANZ4c
zrpeIT>b)ZhNX262cOo`7!&1wp2lfEgwEnpJuJBpS6GZF#=$j=eDZ#S6&chpvlAUtp
zoNfg4Yu?bS#SUY^a<7nS1{CRx#SNIApXA2mi}nKJ21s@~crJ1NF8~)o=)MRz#oKni
z-HTlMqxKFEIWIAW7wxW#P3TR#8FHd#W}OErIb|%_S5OWua*C6ABP)Cgl|3dGnB|@d
zI89~ad(cyhdSsUoPyWpP3!g~-WPU{4g_*sOr^9;o9z?#yoGTdVs
zSKAlmjcVsC(Ap+I1vtsc*~6`!5;?LHGj}aAGR*fpK)!|Oj+s-oCb__66=gV?d9O-b
z3Aayumk7!sPSI6$7#O%!I;FH!2-9mE65`Hloci{d&oX9Dq_5~&w?r2fxepwi?kY*?
z?Yd_eGyMlEe8>s6R#CqxBCIGTl}TBjqP@`>^ic>j;p(}#dTuu+DS7^3u%eE!7U>&CZ~=|dwYkC{Og@jNHqfqnW3=aARE5e`{+eJq
zQIg~fk2<#h0LU&soNP3^!HZu>K3}vXYJ-Gh_tP1iP~XyK3;w=mm}o{+-bRAZIM8-68mJbmo9P
zHe9V#Yjw&SRWld#{V|mP07%8!pjLVdg!$Mki)gz~{5u=}00Wol%Fj{Hf1*Ms0gom0
z9F-?7S3|uc5ekkEWEr^3fBCwEN=?CN+Xm1FV8O8q_%
zd321NJUfY3=_>jsSQ5US8gbO3)mwZS&Ss8anmS||{{R6fFLU%%rQ~VCyMARSna_X9VCDY+6F!*&IU^@8QNkbb{{T6U{eRq0YF3jSIb=|L-+)ii
zO!pOiE22$_0*qX^;KJ9`3!Nrb&SZ>k+y;-?qAn>##BSnib#6H>KC_?GD|w^V1eFCT
zDJZucfmL*kx#DQJ)kwx>fFomSJ2M+h?b=~KMO#3zi-gW!MNryvV>5&@<}%1pI=V^@
z+Kj2xPBo8)X^31Z0;OA19fdW!KxQL1nfZYjmG96*A-rFttmOpuz`g
zl5BlcbweZ8^da`h5{GT|(#eV!t9uDATRk&G0yX^hOK+0O^F4B!Yal
z0Z0e`06->21{h^=s$n(f<&adHly+Q%g;kP~jDVf{i9+*Bdacad=?i9moW%E**c~?a
z511KfD(VY#luhZS6#oFp!|wv;`VJhUg1(=oS$svPnWa50D(Q{M5QOLYJtHC~P>F?+
zQ;Rw7w@90HNawue>5)ZJms@mkA6+|ycZV;bjGQwEq_vu_XLi!1d>lo`)HSlG#eNc-
zv2HqFBDagrw9J3{24VE%WQnBBDJ`#&44qpJS!MKkqBH*hqAus=2+rW5?aQ9JIQ>et3PcGiG`vv>6)r37YH8A|wWRN}7V(uiETaD>0u@pPMvHZ~1~u
z!~X!+NEx60B$0Jl2VC%jA(FTaO;b%-mo>?$#oJ$(+easTJkM8HiBUhNCetiu)2I0k
zYoA#oDzPm_b87bNmpG}9`WV^dmq@RsaiXY?Oy|wT*6zP(RkpJ>z=rl!oUxfBOnSd5
zu8vED$1O%|*w!h=+i&}uVp(48@f*3c&oRo}I+ybk?b%P#hrVZ&i
zvQ@YJ{YMBVIDEyp#k+}~7o{h3+H~FU49qXpEyAT&NzRU;kZP@noSdfWBBuj~=qQ;r
z0YuG~6(>;`6j7J1VGDwuy4DHJ$^NdnMLm`7sLt7{lNI$yHVd9lS!o2`l#}b9(8zd!
z>t5&zho~Xp-c38EWXTBCY2+>jr$9~s&S1vO`6DL&T>XW%1TGEKwnaJ8%*`e>sn8EB
zBQ&1nw0<#H7)|uSgBb=)EgD-^25G92Q5w0kV5-@
zPHUN?6WYFsJu!71*tkNB!y!7?NZ#(SqOv@xa#cBSt%TqdQ}zOeTf2Bt7QtFZLRwvD
zs~&M4MigH&fm-{$HZLqgM1*&hof3O=}6gn0%0Rh+EWOUO--}>z>YH*ZjwWNvXEooN2hX
z_|xqQhA#;`U30lTK3`a?427CGJiB)D=kXOG4{en_%kLPn3HziGb}40W)Md7Hj_~6r
zCqgo0QB?a23xe~zI4%pF>$e{Wa|KQnuae3;@P;XkywxW>`D(pTYQxC_Dc(P
z@ONEZ4Afs)E-8ALIxbNRO4h~nPvtgwW~83Ly-WLwruZrK
zK`VII{{VQRnb?KXlH)Z$hM^fc2OKKh@)Rz2y$oX*D^l83saV({
zaI-jnhvOy1Aqqla2UlLDwU-&(s_d!FwQr!D7~hB&7X`Un{J_7dMAOI#!E<6&Cuimi
zleXENwbG!Q(FNqs4qdhX0GNRct$dzZ`DO1%I=|`!tiQT8=Rb$w3Nl=-gK?YX60f<8
z_J0{wh1++J;(sXIS{UCi>euKM3lq)U`JSSKFHCvsk8K89j;EHFI1a
z@?2q6Y=Z0GU*k1SZZ$wc3EhxkCbeg7e(u<(_&Nr{7hzJquTWRITD=K>;2k+8uG`?J
z2*aUIw*}W5v`@PU!nM*Bu4~VeyA?$lIxcDpjH*$OXiJjOsXHn}(Q>J0)3@9#ri+Z@E)c7Xo=N`DQYZcx+4nQv5areca$FLkO}n(k
zPavyoo=J_av0k2l<2^~CT0UBZS4H8zyTPY(k}hG=Tq5FQQ|vHS%hUxGjf4nOVwk@U
z!Blhw%`sE)g&s_;uAPn9_60+iSlDM3>MFNu=#2)X^MwnTSK|$t%hXnqUV*ci+7|*@
z&yx~z(k-;OLQKqSGv2Hi0+W(SM}S%qFH+dR3NWOVlrK^OzHzhli!LC@1)TN@oWUlM
zOt@fl<{Jx*MI@0)2{T8CE1)ar6sJilD8RbL>=ZRJ+W-Kp2+GBNAS&HsU=t)|V*pr8
zU_R&Qg1rK_j_$^63UZ}H761g4sDgb*BaL(o*htFAF4$WOhC<0IbU--lGO%G#hV@{^
zG-SoG1MU?V(78&)%)vm40ms-QmLLEq#)xJH2SOEz2Oner13GgCQKAN*+hR%vN;Wz%
zqm31WAaXeD7a6|y2v^89dBY$qZ07c|2SBI~06!6a-|XYCO%D5b&xw?KDw1!E&C4pOm(d$C&r0_7SRDNxvFFf3qMItX@ikvQ(L
zVRCX2y<=^PfKifMI}I_`#?U6cK)4jsbx5}~+h|n-ckBgvkk(sdD!XLFX7`6*w~HKrPFbJ`YWp9em008CgEkjKMA0tOeIgJ+S1
zlcvy6+1R=UY+$j3xprxU#oS>{41lfUVLCo?a+5aWf>&~+5DhUyVKVg6PwZl9(rh8?
z3d|XzvPW>??oRCmVOVb+lkJq*s|#{hdvr1x@&y4190f@>+fI$nRr_Z+LW3Z@n?kUS
z@l?P3-$N0QcSod5%)(&GHfW5rq`E~=`fAJ&hI(Q(Xk~`Cpq3lV(P{9_k(;>K*i3eC
z$SxUkbeE{p6{RI-JCuCE^z8Z!&2;(!1jH5o9`h}aSTuHS5
z08Di873JwM^s*f!wbD134wy8QdLFY*O}8tM{{Z0`b1<4K2xs|)WT`7pgH$CbG?M(d
z{m}2CiA`hvh|WyQyQYFU!inWO*JgV-%xlv?8D$tNa@aUY+>?zoY)3wGFAjvBCTqy`4<=En#GO9RG5oXn8t|}6DcsJ-
z*zU`KO9~i
zbfIe#P1l5x{JhtcVO?HzeM9J9G#
zc&*j|h
z_-Z}vl|jZIE-w^iwI#{#FnW|+FHx&s1Fe@~znE3RyFU4@sd;C2#laBE1lI|bSY#3F
z{y_`O&fvbE4BL;-)fE#>KF%%+t}foQtMM)rxMzY^cY4`wh#hkkHMNwI+m+&1)Y^e13az`vwqa@eq*wvmAX*5^*GE{Sf
z`=V=ORbS1L5SqcbCYVf5F)50DotHT
zWf7v2AMqt(#_b3-Ds5<>WQSa@(k9>HG4$rl45MX7B-3`beGU3+=-e%ttr=S~{{Xz=
z5HhJnQ{*9-0c`M?oXK0a_Exy)PRcg?!4}3g#QH+7#6gcETp8;NbpHUn#cXAXB7}8T}N(qZ@^@{pFHdCdPU~vx4ahfBeKLHqvPve@1#i
zjF_#ab8amoGn=N0Ntr6W1|jrRXJ^?hAac)I`d?-${{VeKatAM=luz_as96#se@}JF
z8xJ2>NV?_}cur|$UEx*&rqXV#VItYma{U?G8EytkCn|LYq#{|nx}htqrFpiBV=D>E
zJtY+#IR5~;(la@&TYALY{Ns8u3Xjo2X^P67+Nj6$hR-bW3TDHU`@axQA55d0HDNu)
zxi@taj{L%|Q<%(|PH)qgWo2+JH81a`DUs?4G75o~GyedXPRzxnKxLIlwEqC-=*4Fy
zMgj*{FpSD}nrzE5{jn@x;Tc(pP806)7NXw>9J(FvyWtpye6r0UKTEtDjIy~#koqGY
zp~g*8;XT(Z=RC7B3`}R3Q`MT2me}Ua5(MWpDRhoMOsY7sbs2!ZkCd?zYEf3XF+rAn
z87cs`IpqqdRIRE@c4D6hwlC@YLJnWTTa6i|kx4Y-W7K8~>hXlvO#MOnE=H*h=`%G{
zw~p(B7W0|6_62Usuqyum(4ZpX{{XZZv(jR}5L~NpwtYErg&5e3lS<^IGJ#hq%w=ov
zoG~GOV&`falB1G0oY_PtU##LMmM{seF-!jdKTOZ@4P`%woaMBsM#V;3G%n+78O%9)
zOjimjmrzYmrSbfx+I=!jnTO^2GVM9rr!c=%i_|4S#43;c1neDG;R~OHwp6R`pF*eU
z+&Vs%2#=^HSP9mt53lnA0DuD~nn566_4N{C#vkf>-RPD?ry!4G*KM4SN
zBR2P|477sTIDI~#{{Vd+kop!#?$RRFX~&d4n!afqRxaFnjC~YK>CLp0RYQHoow$u)
z$|?DT>^Uz!;0C91ukL*h%Rl$T!v2i(n9CWM>nMHhpM99Da>Xd+LujZCAF$y)H1xOr
z3NL3fUo_(eL!>L9QKmAqo~^t69H!5RR2a`rDlY_QBanI>E&*`Yn
z&zKn?QykJ!rs<)KRU1bth;9=Mlc>c7rDK%TWok9_KIKr&&?YX}p#<_*7W~gLgO*4r?;nfooZ9>=o03Q&OVrfb=?0Xkg$sG6X+F_Y@8Rf*I
zMwO~vF3jgSt#=?OZ`_N?(Adc)ty(x!t4+a{=Pba<)tKhI;WtAeiY`tm+ikRFL332)
zZ!d^S>4-S{G)>7kb-n)p(8e>TqSAOOIdz!NxWtxcr~Sm7
zgGuf))MuTvQEjL6BzEIJ!ZPJ042oT|9cLjd
znalqGqzqLDs@pOD01=RdLaGl)MQR(g$%+mU{{VP0S3@Hz4={f5ev>ir1Wap{*JuDu
zLpPRM$$f5eFtJRmZ2-ztRzJ!9jQ;=#7^0IkRT85hp|zM@14Tf|Q|OrZpkn$!0(3e6tbp98OXV!W*)U
z^vJZuZuoQ{&AJRgNIDhnp1SP{#s|EN@7brN~8`by>nBzpjMK>tAh}(j$QWK&^K0xCe22+*Q@N!%!%q#x@U-ylJGn@wt*~T=^KkzcR
z^F2cTjMMN8%uuLQskAHf&M~LxFwf%~AO3;Fg69pW;J{=n+nnXL-k6rMulJB%Mygi!
zeHdFjEC7em)h(eUWy~yxk7Y*yiFYgzE_p=JP1fnF
zYU<3?xJIa$na0jfwqt*!6%W`dZEc}1q_#QSgh_s%rV-jzW}ML!wa;*IjS0x7Clt^v
zeI{$B>6T>6Yhe@vr7lpZOG8mxKF9o~W0UO|^h8qs0Qvxtz1P`^vr{RWW91oV;iyYj
z)#Di*j5!>WljLQ7GmEJ6Dloq>NWM?hm1pf-;J?)IMy_RD5F$w&JAjoiv|3iQOQl!eXGWszW`&ZBfCVFT@jE
zWMlq6D9dyO7h)DYO}f}yEB^pMeHBxeaLKbErTT)!9j^HoktaG#D4^q>ews|UUAlv6
zz?G+^E056X{+Ldlp--=zHdxfy)KXk;q&N!-53{$jL#1A`c;W!h(G&3~a#f{dL_
zI{GUXtW~=64uyR{55ncE
zf5)RX+ovv)I>-K>(Hee(4EiehLrhLcw5~V%w`Le+Z2U$UlwZmkRt)6S?GJ+`)NqDj
zcHuI=rWD4R0VhhrglCa{mt!Wj^$KVHV8&ONSJN86H0E)Wl8bKmw{|i^Zg@q)x$ZgS
zEI7&1Y3#-B`Hp|4aLe@OI4?Nj6$o0?pZH>KXB=|LN2)z13wbh#jOxavCHoA)^BK={
z#mYuSsd9pQU&^;@{(>1pCdva`NLNj{W9;Pt*8INp{7vKSMlQdd?8fGdt#UuBqnER-*K|a_%B6!e3w*&(K-=
zBVAUYA@^mpxa6*ZmInyBPk*ImZd%E2=MzqE(-3C=0FY$&`iCjoN`yOlmF*r3^iy<9
zJzI`n!Y^#{(VS6Jl{m4>@a^ju+0i<@eFq<=zM*x;^ie&-Cl|FLiKxb|pG@QP6WrbdGDYq^WPNOMG>8=hD*~+LO&Svr2zwVTN
z*o&1<#}H*26x~+sf0T2e;_(h}x+2$Tx2KLJNodNs(<}#xk{AzrUcO)H#9*
zu>|WwX1u_|Bdx;Ak3`%d7U?#U{SM1t=rfjIj9=1nTzaA|OJu`N<))4eUx#l<{{W%2
zLXmB%fpL^HhB;jef9c9q*xP^U5pSq&r%{Rs5VZP9Qj54F#2ewJ44F20x|9}v@-tyOiV{UQE=Wdn=*+=X13#R
zb@Vpf8KN%|v6nm{ziC_c%`#ANlw!Hz94G0oDb8kQsC^$!Y_U1eNtXzFjvq!g}7;;xcQ_7p&N=w=h1x~2^LWywC-AvBbliI~?b
zRTfdv^f#j^H~9_`TmTu3SN7O4S@RA06U+#ByhCnu?q+kBNBbrtaaJ!_rIe+xV3HoO~qm|8H2*1c|b46DC
zw2pAdXJqP%fGcl2S{Y8wNwyxPkm=%ZQ50rzgjhrVyL)0!g
zj1V-^m83U33{YmgnRghOO_r(kw@Bqr;u#I%=%OKCi*O1p@Qn&;End&)t33k$0OAv`
zt1z;MIsT46@QBFxMyB0=MSDftp`~iJ*U$miV<;)m`NNIO{Wboa+k@uXW;;wuqD9k8xkKX2+p1ZNbb*UuPFjo6r}2nf8gQgO
ziuXhd4&~dkmGdTJP0yHG<(K`$vMD>J?{>fFW=VXa;k@TqrTzj?E=uD^3MVX}bFQtS
z=_A}yQCtMYFEPY?>-`>*%KiNc`Ap7_pgl4MZOl*)@nYzo%45=VfV+MY+M!C?O(TT;
zJB)oR@a+aJLoRrNGs-E+>eye?C~cXElrD0QfSqh9vf~v>-y^f%=*0V?Tb(C4%r1BXTNv_5IXan`PG=k3y*#G{=lPBqsV{*Fa%nX7XC`MjH|d;V
zOG;VcC0Ef*3QmE~7Uf*G&(WKclszJ$MRtcfKIQZguPE5ZQj#%bn^TW#@9hp_A!y->
zu5n(SCpqWcv|AUeOumn{GBKeZLzI*5FHA&S>M+J#`hUzXW>bXKUAcHh+BuWSlS_{;
zxQd7S{+?&xI1jlvPauE4O24o%t&=f9B$BT%NVrYt^E@?|eSf+h5FwW|s+4k&+pQ9zg*(9A&
zfvH>7!|&)BDyA+Pds&p`#(p78pNNo)VzSCAPFlA@y&)f}Gjr*L{YN-Y!X8J#i*LRA
zM;kMSTbs;hpVLoJs&ZCie9MLJY)#Tjo9pchxs*@S7!J4kJJXHI#^U)|&+=yUJKjs7
zV<8HCVW=2HGJ6H&*<7|cxZIRi#2=q%wl0a&)H7hMf#Z+G8X8(0q`qChqcHWD?<QW*m5nQK1{Tv&TyYuEZ{uj2T_)?15Qp;={fzoAnVU8n^70R%Hfq4@Zr5`&Vbjlc1@+7~?I&NIjs%>47Y
zdYpNPtvc%)bEuYZ@eS_z!)F3HxbP|Sqt-SV!hoCsoi!BK05s;?NFff3!8y$^`t
zxI&%7eYM!=VoQRV!I~``J?r=TuY20T=%NTnrhrZ;#{DiiC5@~OUoa#bxQ!yU
zXjJXO%VBbKa~a?j38ER>pX&FQp^R;s63?u+l7mf)hNn7;JH_>mgjSs{Mr^q_(#GSK
z$+ExMufYLJoAg@@9!P1GF^`fch7EL0S2X+rwBXCA$z8oWn;
zA-?t3Wt_lz>&XrCV;OJc6uju7cOf=2m}oP?X-j^ELJPM=n&|I32H2r=MLQXAf^(sC
zMcF&SvqgC)vJ2)c&an=F43@+SkxmyQ`KtClr!a
zRjA$B;pPxB<{gQKoa-vZ+*0Xkf6zfaD>JglLgtt_qpEf>$u`n_6)zNv9PE?1_9j7#
z#jblYb2PSl|d`z{&)_-;%SuR<88ZOe^lifOsR8R8CP>P_k9(LgXmgl
zPj{%ho52>_s|}wFG~k5z?lRra08@k$r?W%bmqL*CTh8kHkC0Lki-wh*jOCR+4}$#<
z{1uX;7mJ4EvT$CS*aUI3+f6(AU}T*rr?FJ-O>UI!{bs>XW!0t{aGx^2S%rPU74EgOJ-QYTTHwuGo>*ewzdJao!F^yxZF9I1RN54U(8p1-YvqM&@^Vj@Df36k
z1%xItaBeA}FwHuP*ck=G30k+@2j}whiiOBtnz9XryP3iVCq%pU{ovabu83>}v72Gh
z`N?SUhSuqdZ+61EFG6|ywhf}S_~G4(*uGE12tk_*$uElzGNM~+xm+@RVB72KbpZV9
zyFKA?b3$P~l6H1F|5;CzuRFbOe4aF}joZf~N{S9pF~TZT+A^bZivy
zOY3gY7D&FuO`3W4%vW|*ICcKaRcnW!W;#le23Ff`lNi*40_9_C>m49cC1!o%tFLiW
z;aIJUppB%PNC?J*c%`qZLv|VN^MN^wlxRS@%B!qY@)k)(g+s`srbeLnhR_Q#8n+)rd2o+*1Ka9
zsDRK;=UKpDoZxaq!C^Ur1$Si7wA%@>OkDsqkn1omGPaN@3xL2g-GW}mhDH8F00WJF0(+mL2Ee#-7!0FC6Tf-L
z!vSNvY=d9|mKO_1hCpBe8CfMALdF>0D_}p7Z4RISSTdD{bDRPLYZey0o1)qn0Wi}B
zQnDrk1%+gkXlzn$o1ungV9jKVsBo&r&?;qB(Xcl4mXXNgI8Z9EtWK8rME4{1HsQ$Q
zICKKTaj5DH7QYZ&IT&Cis$3xja5x-ojLFe)8%KoTafhUBYbUw-85r4`z*q1M1~QAtfM=@IR5}NIn7NryB`UBP-a=>GaRw;99cP(;l(3s
z+APmjQmc)e@{>dK$L#{(s*9a%YR6)e*=wZvS4Avm+A_Xxh()t2@WeuNYSk@qZ|y(&
zDWB0uL|riZMi-NL4GSjxQv2x@eKV-#-sapYioVFzvcIP`U?Und#%fJ29j3o@bNv);
zF$fF#7T%+4g^U|N(jmG{nv;v#X~ixRHyj^>vl_$dPiEbUp^2dLPQ~yA&55sk53M^1
z!mDNujE9x=KQ4J??Zx~>dWVtitg?psRi=Fp*bWA@Ei23_Qsd*12;B%pQ`VU6o
z*t$0zZ%Fas7%E4?{{WPEIeeUwoVRCugvyaKu3;W-Q1jHsJW@#c{!CJfsy8s1Rc4wK
z8}DP3&V2ACRBmetyz2AftAWxxPwfiBPjlalZ&7r4s&tKsDVQOM)+1;MC!1$8y_~$-Z^3pMEf!{kn+NME?
zgpN;{>3Z%;JHAgz>3_*{__Kp@_{93Z-t_Wkf!{bDF14ob?GK#zHy^Id=WO+?4;-xt
zh3XULcq=?#sCq<~#!Bm-(e|I?{{YP)}h8X;hOmFGDA@qq{Y4!m?|xtnJ!x=I=F3pV*(4NaV<+RCHnGHt92@aV!fhx-E5e
zpFi>b4$KBAsXm^?+nwkgbBu6x@ip3>!=>W+e#4eW_{mdTBT9Nx?RJlvu4FR0HuReg
zEr9xPuXH~}8k9iSv*`18cn?jD>Wp97vrf0m=x6Asamjh*_6YulP&Yo{+8DB?*XxuY
zFz$hOByqV(K`BLcSs$k@B(kUIIKmX=GR9H<;)Y8qa8i3DVmUJhNy^+d?TO9>iHu#P
z!U!|O6a;>XjQV0h$+}6qFt$QwS^ogeCcOUuIBg?Bp_=1QclI{1QV*sloYhc%{jk7
z#p0J7g1YkU6%V65VN&c@zbMK&YxipQD$XmQKSOA!!2*9Sn*RVO;q9(7L|xG7
z{{V4`!%nD{gtUnG&o
zKH&Mk05V-YAuTPVXEf@JiEi(O%LaMAF*WBguv*#FQJ*G7sb04M#WBgZc1IYV=vPYO4>BW;J*=T=F|E(eJr^ed?2{~BNC0h#{z5p3Z|NJcO}Ws
z_(FajlZ@bI83s-X)iHL{cBy@t`=cEKq3RouBCF;D%hG=`A8Rafm?9Kn)^oFl+Hc{y@
zA4v)L$$pI7@eRxLZ6%8?L?XhPx-L1FH*2Obj5GAn(qaaFpUPcQY_{8W*fn+T+%nxz
z3!Nqi(A5Yw-!1ZHHEX5Ibt3s~9j%qo$|&vX|$O^u3FpqA`CQ5`mZ
zo!d$FFn{ogc|S&+ZM7wI`#>}F=ct`|XHm{yO+w8um8+q?k&DhQfvc`%NPZ^uD_eaH
zw@Je0ZrD`+_WJ*3MJeU6f%nbhk=n{rPa*SQ|!A)l>XH7lT;Ct
z+)Hq69WfUvSnPAF-%@=XtIzU{hQ%CgXA6A=JuibqA(cCl9dqfA@EC!Xc)COADAfzr
z?cEqE*eQM!FkJM-8u7N3rEH~Q*OTTIPe|OQHDluV`$MvSx}UZ(=21&$OqT
zFN?PNA2vd~rVd-J(sT5J<73i&v45whq~>PdR7LO12jn?idfo6*uop9r(V8qdYyi-?
zUrU5%cH=&&7-xsTIH9nOxi6tP$A84deiMby!a$=quEr}oGVU{%{sR|X+Cgn&I4r5l3R5SVI&?oNhvy`6b_Cf!YkDioH>Ap
z8OlG4pgCkXfn&_G(iK3%7g3viBu<4&GL)XiCN*NK9k+1@MoUv@#l{6@1(w+wlK%Gp
z0LfnCBBQe)T>T)AQbux^+m=QyQf59FkOtEWLqJSOHAzQ=Hi2v3n90xPC>FO&b;wtj
z@CmqN<2VvApxma@Y4BxvgE5mEa+VKC2g((h0>~8@T>M6S&?sWvr}Pw<8wetu9lTzaBXHlQ{3yg)3r79We0fL#gF-;XGNwJd@!n<&SDwDI%pqeo$
zO2Pb-4@ki(2>5~u_Cd77*k<9xBBaze8xUf3Y48wXA6P)db*5$jP!*3L=!1GZM&gkD;Jp0
z=&E##u~$bu+eMgF&Y{0CWkOogbl3So781@G#(cu^5YLuc>d}e^$`gQpz)s@jD=k7W
z>vM^lbPe8c==|jhl1r`nV(9AFAMgA}D$Z5-vP3nJ_A5>`!ws{_Fa8lR{{XN1gZ}_u
z_lzpeKjaZCmc}!{8;eFs!rsqy*~-7*5%REOH-Qimg|@GQG(&8JPsDQD9L6UKi{M<|
zsI!Xxo}U)+L;C$fX8@3fnvTlo;?1LIxopC-K9d&f+;Yx35OL)IN2YONmm%t=?MP-^T;-Y!!HhoY}|3VUTJ<4gEEf04xExG8Owb)OXyDB
z#|dVS`?nnKb#)0Y5YqWGPD)CV$&90DtCf7G6|AC*aQ^^$gL6^j&;G3U;wK)1hv=Ny
zS4qv8{bOgmfi-{r%4z=ql6}8qMb4q$O6NVnR3i^jDva~g>F|WJK68{McIT+a(ducN
zeNo8~(Um03+FYA;clmzVKcv9lroFQ1B)LSrAzq_Aq_NX{F_$Tb+5J(Pe#w?j6!QiH
zRGXB9Zk;j}M~Gt~;S)Gi987s>U8|#&%Cdd{Wj{%Y=E`Rw5(Z7~o3juyz2*VGO)R9e
zi6>Ey`AE$_l*P)4sjabZcQM(W7fTka4E&dY`*hvAUu2Gfvca3NN06CBN
zL+3a<#TAtmY<1{^?B_hWj&|z$YS|f++^B8JvPikYt8zmmB;?q-yh2pkhy4{-l*3^z
zpi?SwlihS>%aPCM`aYIskhWC;jQqhVI%ztvnu?U0j~v8Rx`+Olu6eVZ*l?ral;jt+
zP3c>%#4kC@^kI#mUK~Y4$O2GrzqRavvz%jLK%WE?KTFEhw-0`x7<{TLrJg
z6m%BQFr3v&$94RsbH-VE&Ob{jGPY6P7fZAq#?{Mi*@5*#=McR4q;knF^W-5RJ+8Sp
z+pc3~%6?-#AMY2}nR$wgw@hS~g|{;0oa?V~%ATLVB6;%}TKpYkqH1nbmHzujttBXK+5tqArzw*aUaF*@T
z5%Z7rZWSfh^ybb~c16uQbgjOOex8`*1+Vc6+m>BJZPT-96BQlZ>AE>dpZe}N`i4(7
zP|vnNGe-8)c4PGQM=XWfp>&OBjN=9KC2oM47d7&&JJU)2pJxigZ&Gx}!c(-8Sat#IlU4qjqLR1TN&ljZ7=&q2X&l|G{jUqCTn
zwi{U~N-nFE6JJO$b1lm-nk&o}Ii+@1SXIU}+xliNM%ReW(NkSu%07q(?jahbR`^LI
z&KBynQw`aJ^xTaxB-~tOWocOWS7#-zpP1&nzcIpD8&OLWSJ($9Kw^z2OL)3ymFjJD
zk7j7q`hLKMeG{Ug(VkqZ%1v$Xg~dfVtxtOAbB?I*p`9}XuOfvm5ZqMdcN0!6aZr`N
zmrdFRT^aPQtit~Q`KjD<$Sx{^q}y)a`C>AD@W|EW&AL%IrhXL-o8ZreHD9xpIfQ)+
z>5k#GPflI~8+QWbWy^_MD~k!^<&uJyP5?br{H?c~ZP=w-H&OM!l=4b8lp=-#@HY}7Rw<2|MJxL>i5
zImH!x!MFX^@`_t9T+7RZ0TsAf3aqGP^^
zM|TXysIG94DO3?9_$+qLQ3=MNU{|l5^UUCqj#gr`!YQj^iCIyetr^MzeqUIPndJIFp0T9xco
z@`|sjEi-ecrb1Y_kZxJFu00P|(I2KCr|3D&nfzu|HFTVAc!gKbQ2sHct#9?XFC@iW
z>K%6_F)<9e#)JOY##GbUxx&S0SNiFMl%Q|r#3-prm$V8
z0HtmIhp+8z#V5;bWfP85IRI`!k-n-h%6|}i+d>&>Hj*9mLan=mN9m;GzszvA;S%FR
zr6$s9Bf9D{lW~ian+&tVY!WJJO*=`@)UtGXOn#1@pt%6KQ4LC4B;{Z-jXI7CtYjX`
zbaVqPTTvsy!X*>*^^>noKkqQI+OhcMN-MLTv95BI}05GUdyYk@4u-H2vg=Oy@NDT|Nn#+b4;;@Vq(
zwe)gg;>|6zn724bPx2Y}jQ;>^pHdJlM9G#|?^26z{n1;+bWbJ9Gt2bWVVSb{N^Vi;
zCS>C%Qa&-h&R$g*MbqE3V#Xq3?bqIo{{ZNUTK@nDe&^^;PaZABQ+Lg=m*-w$Ub3C+
zCi*-Cf_u^tnY)T_lPqO(6wXx!K9#qu&fS9yu5y;QD756M+NV$SEwiFIw+QR>j$&cF
zR44e27}EMVxzx2&S3%S3VHiJ|C~X#JevhhbQh>x)+oitwa9936wKvQ
zn#Fg8rY=0N4S=hEkgAA7CybAT#KBJOs})@W;X2sin*ts<7XJVleS-2iCbd(1
z4Yx*lgz|dDPu092x-v)|G3}9lR1?S*^@SC)HgNAU7MRr?JUR*&_Qg&818b}&os<(4
zwy+_0CY>4bX&GnKO;PzOhrCVzx7qE-_0=YRZh;jBITAnNl6yW1vZ=
z0He6aCyl0xK8SvR74$kkPy9f?Za+qqEOfq5{{Z}txY?yCyy$cw3=mbVJMZ3S8H1E!3_WYiIJ3
z;`xbcv%}2jpUvt8&rQ-(n7Bb&oo0Aol6tFr*Rvq${F`DWiQT@#dh+8kT(@taR55gB)4k>mgzH|G
zdE8~og;0GOPw4X3{1qB%l6r28(AOrmrQ0+#Gg`MZC*%fLv0NRV<;$7Mp$~V$Iup-1
zvzX5rEACAd-p;>^}%#WG)@cd#eTB2r4;K!QJ-(5ZN@I
znceuqQs<6#`D0OH7Gb9e{{USfi(TBkaQx%rl}V(4d?qU$atO|vC}%9G6I)o3x6y93
zZ|^Q_6$n0j-`Wx|dTs2G`AXZRh?e0Z^L#(zrV(=NgVA_P;&0SEp{+
zP7J~=HnMkvH|+yzNjuxIQ-!2Empc5v;u^FfYfV_po#Mj#A$n3u;W_gzbP9dAY)(xz
zv-;@`c`n*)bdp>*+lZq9VF`Y;!
z22UgtMBvMI`oZ&L7L`ZuE)8TE1?6=WgZXZ$)!1gEJb!4p$9?ZYtE
zF_7QZ6MF5_KECjN{h=vG{05{xK%tZMjf6EF0axqG;0I7o8fm6MJDb7`p>XTICY&Upsi(84Ugo^TsuH{=lYOhQd6JCYNBP70E0!_c_9O?8+Mo
zy=`~ZlKMKv`^&Ie2u+gpg5b&T*bli4jumt4LSSlZh68PKg)=>t&tTcYwdM$C*^|r$
zO@Dx;lj)LDqFJ(qimvL@L#rCOuIG9d>)GA}At73NF#VvfMEt;o$=(ZtGI3>U1}~jh
zPbT*S?h3E}05O~P!F;whc`ruK?8R@-<%ZSz#ZKJ!iHxYEg)<{EZwdzYfqsR$u=VVn
z04k3giC1i{VrZ-dLXLE3A+|E>GVG^x$1pEP7<^$Uk8BpIrG|E`Y
z_v{Exh9+WM^p~S_tW@Fn$!Fji&R|bE!c1J9CdGOpDsUS$^#=A)Fv`?Rat
zT_JJ?XB7_|#{U2SQR6ASngmqEQCR9a1gsRxY&}50`9rJ;#?_IrUa;OgL^**i(q(p#
zPTU0y7Ft9b-HOy30a}9bK1cx%SlNo0H?6in6|ik#S$~NIY%*ikHggz3W+?F)G4qRc
z7|PiUinua)0s{zSQp|vu%7n^R1{ez(NXEwt5wLlSVL94rfs|}O^@YPD0w*W}aAPYM
z_?h{~h^%Mc0F>>eL8Lo)kSH!OqRGeH8YO}g85dvOLPuAo8gmVS
z%2qBd$A)qdI54YD*_z6P#tOJL05T8;PLpBd=D-4C%E!Ha%{z3)YzP1r&`?|0-&un&
zpNPRHwMXcBKxXEhBBwF1BZ_>YLVBzx=rCphMP+ImAIis^YoO$D`ATedz0;x76Au7e
zIT4~fmn)zcbB8RO)Kn$zTHwj!H>T
z!Mbo2Zj9i(nF^Fg%)*v8*{0&$Yvk!RzO3ZNfAfuBgvZlgQH8RA
zTeDmxQ%+A~m(fR1N{S9OkHWg0+en*M(y@)Q~EA-X$GUryD;gLNq;lR2(KvPymkh_T>k&4SH%#oA?FJ8M2<;P|#d
zm8(1$drt$$bzaYG^VuTPwz)Z8W_2ubNpgKb!T6Hrm!R}+9mQAn51jZv610oE>(f0O
z1I8$4{X?mT$&3_q%WtFR-lO6vxu*l%@SH^4ql%sx4%4m~h3(HDi({z9QK{Yd4@2qx
zGs_rBuYuydR`Dq${%6|$(Z97v4dIM(km~5>TR%O$qkm{FCC1+BoP7Jo`%cVT9pE}c
z-g@YHIJ|XuwrKGgJp=l@s$NUiTq@Y?c<#}?tgc(mxc(%`nzm0+NzBRSPI7W@c6ac2
zSaC&05K&*D(|BAGEJK;4BBlnxAO`)jNbP}eR$(5UW(c2w8LFda
zjp~{FY_XgrNpyXY4kY+9oOjL@i(;=yuG#n~K6vc^0BF$LH+P<^!0~IF6L#ecJg=$x
zJw{tm_V42#%pv3`RQLKlk`F?W?-#O9Oxj_4>Bij)Jo^cYKEL34x|AZEimWqzoQAI#g&X#J&zeUGX3g{l
z!FfL=R~P>Plyj)$%)d{F7eqhGW1^n{5+i>f*e_BdXsp4XOo){UoVJQ;{{H}Ba;)3N
z%k=dU&@F7s;)r~i1eHaPFIJn}_JTI8mdZ#X``wF3GX)XSbC;GTB5%TN%GUA%p9aHGoN&2Re$IdRe+_sR3Ak>11kDx^oST9
zKw~41(OmX}Cstz<%edst{{S!%l>sK|Tko}qgz5$`%O_MQ>M=3qWj~CRUlnH$yBj^3
zo9iWJoK8PYeL)!~l||F!tA62soWmKAC@Vd}8w8Gap^UeMdLK8R0rLOv*!DA2pM-)1Q37f9CqFrL#h
zg%E8+h0ASE`&VT5DY$d>NIqdpoQRO7+G#g-X6VX<{HG1Mg3>SDWj`q*%2|+4{{Tnn
zE)lY`Z7BV&PD}9wzM70oTF8*OPLfnKPQl3Em>9{)d5D+Ffs;~;lXXe6htkRJ`bJd_
zkuw@eV`-+z3Ac8|Z!>QpMP>u=FP#Pj)Uo5Qb@!moA8?C-4&m?mFU=XCI6hR>v2ov5*qhKAKq
z#=6RXo2ZoLzoNavDJ}zpcTL=weFHb`GGT1UXCApqTP8LT@Pz1&(>o!Xah0#_R6)^A
zx~=>D4O>3QhA*gZlpjqK$^vGYe4?WFeH^^AjJ+o)<&IM@`eRjHMZ`9af0RFj;5~rR
zsVhzW8LO@%Sjo<0)5-Mz0FdUeSnN}78a}tJDa*yf!
zL~tryV*daWRw?RtT#dQPIYE@j!#|A8yrPY;Q&M#9jyEA8yABd=T25pe2hB>@_(Q`%
z&3S%OUr^kiWLcsTrkxGB)H5M3$UgRB8sU=pWl;YBkNE_zHq$@I02<(~zeXVe*8czy
zs`J$$+hv!ijgtyn+A+UyPPu(PqZRdm2W>9*9o8T4iOztp#AY_rT&gg0TPL*QwV8%&
z!Adj~T$MfyGty@1iI^xP+MKEV6!p{@q;a=FlBm;9wM-e}h=26V&X2M&Y^r1;ty{XY
z5F5XC;%JPIh*;=whS6Ee%s8%p2qj19^pIkf$@aytZO^Ch7((vP=v;n`z_rmb6$weZ
zk72OpE`yiS$bAKmQq#`Mp_{|z6*ct-sErX#zGJxPRx%S1a;v1F(R9-@wsjl;WT81`
zAx9Yr7<2suCYu?aA?X&%=m<__q+YL;P|d>rZKD><<{<)tQPrlmvn+>%;2x-)X)BU9
zyJIc{=SiD~0+P}k=c!fM#bcr$@BBt92Ut*zEqAfkIis8z~HT%@hH*_LU7{{Y-!jOjR%fz-9S
zd>pAW^KKjcP$zEU5uvr@3v-}VAkBm=wN11aJVsgc7?4xqAy(<8H%wC?3$8-`Vgo5$
zSH&y(R2#Dd+0-gum}5Oe5v|i`#O7w*A-KV1sM~GsXK1-I#4(T*L=HyohEOiB4W*|-
z*a4h^gBID!agR?%bA_>Nh|-XRla#FmxKA*-(Wgm
zIGm{<5mb`sE1uJvJHr*{rbZzc1sK>aTQ#c2GwFowQmP5Mf8KI2bN>KR)++2>q;NTB
z+xX1N5}*7(If~~Z{{Rs#<<%~~Vt!HI`u_m9SLhVBWEv@CP-#BLTdvpO6E9BVG=7-T
z^bKF>j$aWI6riNiTL`&Gx?}$U5w_#i@&&m5>@zcSe4~y*cJqs$i=`j%iRd|Zxs3jbw(jtP`^t;4e7LXLW+&nm8t5>};{%>De5r)BgZ^zSzCySZDNUQW|18a*N?B{{SKx>N#A?
z{_(S}6BTY#9|g6Dnv#^1dHM^K=9Y1FL-cx%EDxqt2GtqVowVNuXZQ@VIebwRx#aao
z&ACR|aWkgn9hWCNbNxP|RjhM7JB~X-uv&|f`0!QM;sN%c8fA+nOaMKt;Q4KZ`MMP%ZULTK9}Bs75U}
zT(-^(jB6h_6K^WFQEGa64iMF@qiN7lT*bz?L}WAN6}#mFP*wQJf5S5cz-oOWt=E*q
zB>+>Pqws0z*kuPSKhgRQJ5ExM=*u9a9v!8t=;O5K=1O5*cO|sPrXU3hd@;F&T(9LD
zdS(e&loaGq}%(~SQBMP8FajhQ6`qN|~wOy|^aw>f4R6v#@~
zkj=C>MyDA|PN><*nLcADHZQ}p;5{*NO-fr*=^UvA`ht^|{kert8XXC5`{@|-47#KhfAJY9ssQP7jA;h{05;^(hwbuZKTIRt)K?GpeW(-D0Q`ce
z)sNz+7rayl&3w8+X{XXR8`{2rc;wntVQ~6r^qJ3HR?apvjh^vQdYV!ip;6+fRIPM`
z*fosm4V${gD+o74B2EVj-k+BizJRe
z!d#@(oiNlcF|;n<;WPgLaOTYWP7L~09qbBHx)m&HH%(XDbdEnyt8nk7joT7vu5sP?
z2D2n8>H;ftNX|(&yi(?wkERvw+-6kQlOToohHoQfMe0la%*-G^f7vC={{Ru6?~MIK
zXgE%-R>3yYw{U)NxA;bWg2|?Bw#Cj0fx~}!)^lR0j$FdO-}r-+R?VwoWaWBkMJ{57
zRbJqpeWT#W{+}FROSdl3X^fLwZ+FSY89rk>H*^cRmo8G4{U4_=)YN%qXe~*&{{U|U
zz34OPr)kcPqmUbP$e`MiYOUFts-KL*8DDw}WCm=Qy(5>(KbOVwE9iwoZNq4~wL;}n
zFG&=luGe&Nxzci5JYVWC%*QXy;3lDUB`?c>o9f)my=0MK+VlEOUq|VdX!K_t4KY%D
z8K)`9+mVQPWz;on)A5Li+PpwccSG?f7TSF@E7B|IT{()V&MAzmd4AH1;$!P;`yYL;UR4G9GJheSh_zD+CH8C0Bjp3hb>nTV*Mo+
z=Pcbj%tAA&pyey*9WAt)Gd4n;!|9LwB+iNnm*S9I6(zvv$vx%S$$w27vyAmbQsqc5
zE>a{E9Vo7hF@6)9Gv<|IeO?j2@wZRNHZq|SN$T5XAmqw+^pwKh$rAlPO?z^Z5?4w!
zWo5@u{F85`_Kd^T_6{syF)T91RrL7Bh;wm_lTJ1Exf}HOjC~dKn4J1d8Q(3Mb*XT0
zx>SaAoIJqW>5$B?YA+V3$xBxQ9rXVIc*~GB&oMbi(7zVZHAB;F$)(J!#OG1MOZqAG
z7~i;R;ZD$}I|W6~Tv~iFs+~E6&nyPBCn#Ujk_!P&nq#u9w7$809DZY+yp?_fpV13V
zrXv2H?04jo5}~HlmiI<>$0kvm_x=Mce^=xNSGqqrn9)gU-qNdG39J7ALzEXU)Bf+w
zb7bc1(hsDMu%iU`<#Ziq3cep%$7^#1$~Q26ZiGf_<$EOBA6r=#eK7`q`=}9<^!i48
z!c{I1=O-lYO~1CmjH591*IrfT69#?|**5q{*8wT~uUE(a0HM?TrzS4E-Y)?+t|NY$
z`hk)k8L4VcJ2R6$n8!4CEI&kd%q7aM-3K2@ahqHPO6{&vl3jj>Y|AadyX_febB=!i
zTa0b^N=$3JX)ljoW-FNLzQm3w-V9wrvc2fhiZaowlZ;>DT}KvMgG^0yoY%ko)E60A
zv2#+rEi1IsYWNxYXDqO1&SDvJ9H@`!qi4us8<`-c{w!=F)Z=J&d2a9=Cp?D>lbnh!
zczOiN3Yu!{(;2C8DmX=dIM1i)Z%L1sJL#hChO`aYbyLgqm>#&0e`DM@~gTYY18<`JF)
zmbd`W+%4TCHgnD|>16u4126mxvt>RaN_QF?B>qxTG5-Jw{G%6Gxvq@8M<{KkT_B~h
zWx~|ys$=0gMgEV);1_aKjmz|ZyrKHFq_uEnD^IkyG6=57c6=w
zUeQu@!z;<_FvesRkt?*S%`wW>DC(B$k+f61;qNrctAk-xbz~K~*fEuKT$|fZ$NvB=
zlrO^*7VQg#b2CsTm`ydt>w(|JLCzDec{fPQ#Zbsicf;$ZXZS+liYgsuo!dy{l1YaM
z$=w*}7SGHU{{SI{O5q!zQgZn4-vu!AoR=@rxJv8Wu;vSPY{fn$MSx{g~R(W%*J!XGFOzt0we8<^o)gdi~SXC9g@7c18#*yTTkfXzF6pZWGm>S
zsBTZu>HvH=OX(ylm}XL_=C~OJI~k{B`(P_R<1vxXXh5}Mu6TmFwvD2lqL=9kHQE;_
z&f=S+iO)QYt$$=#A!&4*MFO^e#K)v>%s`X>0I_*IpzF*ZMCseOWd54xP%v&zk^#nq
z9HsP9FXjuA+C-=akuE~q<(N|rbDKk`OKa}NJZ2+d^pVv&`Lbn*0
zPO(d1=*p~HlHsJU=@}R={v#+PrDTotgLYt-q!~v};c|@vxg(aA{+BGm_ng1nakwuL
zI=)chI=zI=#t^%@DxOsl&(t~JMPi;nJcqUQ6q5afNw?-5KgwpRe@{=OJZ4;C{FnXpxS
z*!T`nrnWDpQM*=ZNshgYz>p;hXW2+xjTC<-|XW*rFN<~
z&J|136NSSop^+}!cw+t&aa9|nwpGBpl>I;C47E@>d7I13A=&1kxZd<-$eeMxUAwCL
zLcJ#srrmkEN;6U|ld9ypLyTz4nIw~S{{Sk<;A0V%BuKSLuq)!{0{GyXMa^_uxQYRo=YHrk2Ln^;s~ui&}ZQ#0ih&!;6a9NMR_7f$Y&
zj*6s_%gVJ${{H~Grg8ci)8jZ?`eQ%H3~k$T>NxBYR;Jsjd{<_1AHpiE^_0s#NbV+|
z({C)ckA(TyN0A-e{{Xk|>7bh`%1Bo^L-f_sOY-d-ja`^LnKsjGC0@|E4ci0LB3klN
z8^`-G1(^yt%TRZe2NkjKA*8Fhu1UJ714NW&Z%oG8sNY6Eks}b{8yms?0fZ
z#usjy;7r-n6Ni9xbV8e1j88Z%xXD`JR!etppZh|-P-b&A)+@XVw9bBPP7C!e7|WCj
zgv`;_VsNZy2_O>7r*0Pr$&EeW@l5oVDQ&CtHnCg7U}q#^Ar6qu~bfbhRzIzz@d`}L+}*k
zd@@TP$)x$>LHjTjoBse%6LbFna5|5=-u8cdoUPe{^w;Aw&%(0Zsa&q+owE31*3@N7
zCp|_4C!mQOQ2@z&93)OiVQAIsO2)`{``)
zmFfL~PsRJDOEuQJjPcfLl9Z<(mfu9hjw=(?s8SaBvB+zgIrA3Foqi%&p?JH`j(Rzl
zJp)n9*K;2?ue;wk3S$|EU2}5ihxM2@Ikej74H~&cNJm^9L?_*|`J!s|=7(Q(b6=Ls
zhSG4l#LiCE??23Go`yEcr;J^H6DH1+Hn!^LRMP`YTWe1N39njBO>@(@REe&9_cD%N
zruxRR3~KJa-1P0~_XeB1bnka-IymPUI*KwnT(Ps7^k&p3{UJ!sy!R-Dwp(Y6RxJ!}P5i;ODE|QPm2jUk
zPdKbw^&NKH=LIjj$W`vw(2s5QOWmf2auznj?WQ=bjQ*+&ThR;Cf>%K-5WVg4$HyM7
zz}Kc)Xl|T0>Ou^;Y;5t&g_+r8JH~v5uL-2Y^7(fQ^(MYcGu*aTNMVAOzJA8TG^KSA
zenruGxHFgX3iswgiI+vbTLmKK#5?wanF`+Pxhors5{*|v9GaG-#`~h$y5+OH^a`8V
z3p4)!sl2Mkbt`nu>nlLuH_Twa{`W+2Kgjq
zWmxQ5@1|QP%k&b%p6c#%E;Fw=RfIKs?C|_#xJj>C5ldk?^8m#q?X;CqStO+;y(hy7
z&rXFWJoOkW2>m>Xugofix!%!SC}%IMA9CGxezM>=Vx;MlBwo~sbviCW3-cB=@2@57
zjAo_HfvBr8yv&R4#W8;yc+DRzM1(ZiE)v?A{{V1RhHF;l7tvbX54$CyYGrWW4)Ai%
zEm8v{Q;Lg0Iq9YwC}%KJ*VL@=8$6jOpZtQo(U$46pOyqwX^|xwO?`@-Ce~?WoEP2=
zqob@;-o-OM@>RiVvpxEQ;}pB4(h#De+DIohbZq6VVy9xo6Hc*I@-xxQ2jtJ-805NT
zIPBRhAzJggiNJ03!G6B*Ckoh_Itgf@dHTi8YM^7XNNsDmM4TFsW>HU@Cd!})n))5E
z4{!EF_ehnCWx6M^ec-E=f72?V@Y$R#>Q!Zwd4u(+@>7POoAl^{a(95o*JgT`g;2P6
z&6ugdb6IZ`UqH%pU)(kmWxt%2lUPm&n$ruzVFkg7pFv*SS3+TtUY&=cgD%Zvv2reHXEGN}BGvSCxCu@`!D9JZunJnhHjh(sW
z6@N~R@E;g0I+>d$MC6hhjEt^Hqv4YGmCe<_Cp}6$V`jQC3yd6jBYPwhx#ZUYQ(bwA
zpKjf7CEw`pEv&do>OkdB-*=dJtCkrjIV#~1!<^>3T~QU%8*k%Vgv6GRtgC^02G1h{yCq%CwLDLkoAUGLD
z&VGVfj{$i5B%@^GtDwrvlP5%sXbfC31pG-ESQC^0GL?w{Cny;h(9du7V%d`nGA>fE
zqZ$AJ3m;^RtPEQ+1j*1qVP-d+fsAZ`aaqXYykuo$2tecjMJ-990mtSXEF65%Z44F%
zJ%s#7kU|D~!B+y{F^!iYwSc9Kpk!l2hy(y8E>WV}0DwR!8#$H$1~wHbQ4Gvyr~(iQ
z(&da7GMEa0R?e_xDlQLAjo4sV*gyx1_BUU=f}<)14{8D1#F^N^l8uI#-Que-
zW*NoCR9>OC0^d+<$U9IF(o9Ws21AjBg(%S*8L%Ng7<}ey7a+i80>GL_!b#o4CNhCt
z-l3C&?YSOh*YpbbH^SF|R8b*{&x-w0I|5<_Ei%^5?S?-h5y+B{Cm+twrRmmo-W@$U;OZ#lv1g$0-YUHt
z`t!G@dG-Y>
zXT}$YTcP_#Tsr3%?Q1aW@H*z31$e#_oU8kKIG%5)MhjHA`aYZDUAwf6S64@vc;9IK
zr9Rt~r&l?y+b$jt#(QZ)9SP^3n0e0?525&PA7s{*LEm_M!46s6
zcn2At9h$E0z|DbVjX2oPAIs0-WO<>_(e=&;7WgeHj{axZJLEX4A*Hc5Ieid33j@bJ
z?S8qfXMEsqdwI6!TR$1&{ZG*N)zh{9QTD&%Kg=;?gdAnMJ*NVS*IeD4?Wn>s$F3io
z=zJd(xMZHoo!@}>gA43B#Tbt9ZV<8NoG@$!EitZo4CYRWp3^owgWB
z&*c6wPr|WG`3`n(A6)7(J2<^jxT|NMW1(KJ-JM?*!IwMHpVl6Oi^5ROc8foZ>R7v*
z%-Iy7iP7miKOy9dX`VsFa4hEd78ma8@$n
zwLhF+tcNl#zZs|ZTbWSQ^K%@t&g6*p%%sLi==S@kW3EnHhe6#@+($2_qPSD^7S$6D
zNlCrJ6aN6f#l@3ORBhaIB1@zK&n5BN*V?m})0zr1bH&sj*V;JxyafRnIPk{TF<&Xd
z8+=0{zcFEIb7?j)aG5J8h|iqN+15%fdR$WAbeYX1`aX%qH3iD@oR;e1&XAmGHZECI
zoK~y84mD@Y7XJVdpHzPUj$T5Nv2CTw*ru^&Coy+Ai%6L>E2k@=w*J6&^@
z&;E$0FF2MCn=^(YQ;ekT3}>VnmH@@k0%l#5%ZzNi({R;rcls&0;S&!Cz0=AcM&*|%
z(1~Vkrp{USL}fJQh?{eUV3h%5>N$D~6RqmCvid0f3XC~ox_{m;^tF4Iar!Rw7eRZ!c-ntTCVqwTs@h}!
z0HR}XtAQgkae!wtJGF)upZ!KMei9}Qi-MM>ze$`I39oAd=w#!XCl%#0Ipm}@3uy_x
zFj{tBLl&}W`h)c4r|2;W)KXSd=9-LDXu-<=0Mj3~E1($8nGK9=$t={a=*7dskiIwnHIBIg=ZqdfyNTyJ7x#H<3
zpr}IZ4AWGUVrG*t^zJ#tU(rWK(dK!op*4+}n?kqm4kDzb6;F2f2zpGdm4fFw1zffW
z5SogM)$#1jy0;WIA4E3pCTPp0Xttg33euZg9Dm|vna(TAxW&&2X%yzP@52>yDBGSP
zE37U50O~Ny3C*iU7wa=`!elOG3NoN{MI@UTD`ry@nD3@Fl2M}dERCrCOMy@u^BLZu)FKaO&+IxCKu9-CBKr^2MBOZ8vu1__ZDf6Sj+K_<13!iHT3>){{VG8oM!axsO{j`bo6q`~&mW4o-()
zoUZjI{{TjA#Nz`jWnpu~RAXbMkvT7wrNc7>Qai4Z3(PEtOB``hJL2(=ikDnX9C-;ak$6x#2mS
zHkg@XRGLoRga>@56P3@fLTwb2VF(2sMV7CmaXHma
z<0l3%7PSRxDZ4rCl|CUoV-z-u%LhfJzWpHwIQ=!4kX$UZ*Kc9K$@3y7a9bg6Ql^mX
zk_()pF{-S_2phG-6CmG|<>@hR{{TV(rN7$k8UFz39JB8@^&IWz7ciCdgdF*X7H9N~
zV8@Ts8E{i4Mq%-n!mKAp)AY7bRzOtlR8~n#b*q1|Hu8k0F_yzHK{$S>&*`|5$OQhMKP`-nl1rmil&R<1+ClSodaQm_nTQ+f