1. Для работы со строками можно использовать стандартную утилиту base64:
base64 <строка> - преобразование в формат base64
base64 -d <строка> - преобразование в текст
2. Для выхода их скрипта можно использовать команду exit:
exitЗавершит выполнение скрипта ровно в той точке, в которой была вызвана с кодом 0 (0 означает успешное выполнение)
exit 1Завершит выполнение скрипта ровно в той точке, в которой была вызвана с кодом 1 (любой ненулевой код свидетельствует об ошибке)
Посмотреть код завершения можно сразу после вызова:
$ ./script.sh
+$ echo $? # напечатает код завершения3. Для передачи строки в команды можно использовать каналы (такое вы уже делали на курсе по сетям):
echo Привет | base64Важно: не забудьте дать скрипту права на исполнение (команда chmod +x ./script.sh)
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(<строка>))- преобразование в формат base64 + +
[Text.Encoding]::Utf8.GetString([Convert]::FromBase64String(<строка>))- преобразование в текст + + From 59972363bc6d21c2f3818ae2aa45cf0703797a71 Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 12:34:15 +0200 Subject: [PATCH 28/92] Create README.md --- 07_python1/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 07_python1/README.md diff --git a/07_python1/README.md b/07_python1/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/07_python1/README.md @@ -0,0 +1 @@ + From e2540cd22d05e453f499dd4369f3edf8be0e0d58 Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 12:34:33 +0200 Subject: [PATCH 29/92] Create README.md --- 08_python2/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 08_python2/README.md diff --git a/08_python2/README.md b/08_python2/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/08_python2/README.md @@ -0,0 +1 @@ + From 6631ef5fbff87f298aebfe5fc20ca83ef16a450d Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 12:34:54 +0200 Subject: [PATCH 30/92] Create README.md --- 09_python3/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 09_python3/README.md diff --git a/09_python3/README.md b/09_python3/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/09_python3/README.md @@ -0,0 +1 @@ + From d8c6347b0ce408422af4acd726c23b4f0274ce5b Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 12:35:18 +0200 Subject: [PATCH 31/92] Create README.md --- 10_c/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 10_c/README.md diff --git a/10_c/README.md b/10_c/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/10_c/README.md @@ -0,0 +1 @@ + From dfb550c809008254715c3d6dfe01fc264b4da022 Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 12:35:37 +0200 Subject: [PATCH 32/92] Create README.md --- 11_sd/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 11_sd/README.md diff --git a/11_sd/README.md b/11_sd/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/11_sd/README.md @@ -0,0 +1 @@ + From f2dc7ea9b1c6a656c2416be66be64efbe0d18c5b Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 12:35:53 +0200 Subject: [PATCH 33/92] Create README.md --- 12_reverse/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 12_reverse/README.md diff --git a/12_reverse/README.md b/12_reverse/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/12_reverse/README.md @@ -0,0 +1 @@ + From e266a835ddadda90fad39144b7ef547a18b034d4 Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 12:35:59 +0200 Subject: [PATCH 34/92] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6a4f61f..9310ebb 100644 --- a/README.md +++ b/README.md @@ -18,17 +18,17 @@ 3.2. [x] [Использование командных оболочек 2. PowerShell](06_shell) -3.2. [x] [Системное программирование (язык C) - основы языка](06_c) +3.2. [x] [Язык Python. Основы.](07_python1) -3.3. [x] [Системное программирование (язык C) - типовые конструкции](07_c) +3.3. [x] [Язык Python. Работа с сетью.](08_python2) -3.4. [x] [Системное программирование (язык C) - функции и библиотеки](08_c) +3.4. [x] [Язык Python. Криптография](09_python3) ## Блок 4. Разработка вспомогательных инструментов -4.1. [x] [Программирование на Go - основы языка и типовые конструкции](09_go) +4.1. [x] [Язык С и программные уязвимости](10_c) -4.2. [x] [Программирование на Go - структуры и методы](10_go) +4.2. [x] [Статический и динамический анализ](11_sd) -4.3. [x] [Программирование на Go - внешние библиотеки](11_go) +4.3. [x] [Реверс-инжениринг](12_reverse) From abafccd329eb5dc30d66146c3eb11cfa7a46c644 Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 12:39:45 +0200 Subject: [PATCH 35/92] Update README.md --- 06_shell/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/06_shell/README.md b/06_shell/README.md index eba9c0e..8f3828a 100644 --- a/06_shell/README.md +++ b/06_shell/README.md @@ -48,11 +48,11 @@ **Например:** -**./test.sh \windows** +**./test.ps1 \windows** **c:\windows - dir** -**./test.sh c:\pagefile.sys** +**./test.ps1 c:\pagefile.sys** **c:\pagefile.sys - file** -**user@user:~$ c:\windows1** +**user@user:~$./test.ps1 c:\windows1** **c:\windows1 - not exist** From a9a7c0a39f671f0ddb2b3237e94d2b54013b726f Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 13:00:35 +0200 Subject: [PATCH 36/92] Update README.md --- 07_python1/README.md | 64 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/07_python1/README.md b/07_python1/README.md index 8b13789..b04b84b 100644 --- a/07_python1/README.md +++ b/07_python1/README.md @@ -1 +1,65 @@ +# Домашнее задание к занятию «Язык Python. Основы.» + +В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru/). + +**Важно**: перед отправкой переименуйте ваш скрипт в `script.txt` (система отправки файлов Netology блокирует файлы с расширением `.py`). + + + +## Задание 1 + +Напишите два скрипта, каждый из которых принимает один параметр и: + +- первый - прибавляет к параметру единицу как строку. + + **Например:** + + **./python3 test_1.py 5** + + **51** + +- второй - прибавляет к параметру единицу как число. + + **Например:** + + **./python3 test_2.py 5** + + **6** + + + +## Задание 2 + +Напишите скрипт, который выводит содержимое каталога и подсчитывает в нём количество файлов. + +**Например:** + +**./test_dir.py** +**admin_scripts** +**...** +**Videos** +**Total: 22** + + + +## Задание 3 + +Напишите скрипт, который принимает один параметр и определяет, какой объект передан этим параметром (файл, каталог или не существующий). + +**Например:** + +**./test.py \windows** +**c:\windows - dir** +**./test.py c:\pagefile.sys** +**c:\pagefile.sys - file** +**user@user:~$ c:\windows1** +**c:\windows1 - not exist** + + + +## Задание 4* (необязательное) + +Выведите список простых чисел в диапазоне от 1 до 1000 + + From 97013acc2c8ad2163835e1853ce16c742fc3d7aa Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 13:41:53 +0200 Subject: [PATCH 37/92] Update README.md --- 08_python2/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/08_python2/README.md b/08_python2/README.md index 8b13789..4637658 100644 --- a/08_python2/README.md +++ b/08_python2/README.md @@ -1 +1,20 @@ +# Домашнее задание к занятию «Язык Python. Работа с сетью.» + +В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru/). + +**Важно**: перед отправкой переименуйте ваш скрипт в `script.txt` (система отправки файлов Netology блокирует файлы с расширением `.py`). + + + +## Задание 1 + +Просканируйте с помошью Python ВМ Metasploitable. Определите установленные службы (нужно вывести название и версию службы, номер порта.) + +## Задание 2* (необязательное) + +Данное задание является не обязательным, т.к. может потребоваться дополнительное оборудование. + +Попробуйте повторить сканирование Wi-Fi, приведенное в лекции. + +*Помните, что атаковать чужие устройства, - наказуемое законом дияние. Поэтому, все работы должны проводится на вашем оборудовании или с письменного согласия владельца!* From 8c07057689e68a17eed2186bbd808599aef62dba Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 14:08:30 +0200 Subject: [PATCH 38/92] Update README.md --- 07_python1/README.md | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/07_python1/README.md b/07_python1/README.md index b04b84b..21cba27 100644 --- a/07_python1/README.md +++ b/07_python1/README.md @@ -58,8 +58,42 @@ -## Задание 4* (необязательное) +### Легенда + +Пользователи в нашей компании начали пересылать друг другу некие "секретные" сообщения. Т.к. доступа к средствам криптографии у них нет, для "шифрования" они используют преобразование строк в формат [Base64](https://ru.wikipedia.org/wiki/Base64). + +### Задача + +Написать скрипт, который: + +1. принимает на входе два аргумента. Первый - режим преобразования, второй - строка; +2. если первый параметр равен `crypt` - преобразует второй параметр в строку Base64; +3. если первый параметр равен `decrypt` - преобразует второй параметр в текст; +4. если первый параметр равен любой другой строке - выйти из скрипта с ненулевым кодом возврата и сообщить об этом пользователю; +5. если количество параметров скрипта не равно двум - выйти из скрипта с ненулевым кодом возврата выдать сообщение пользователю и завершить работу. + +Пример работы: + +``` +$ ./script.py crypt test +Encrypting... +dGVzdAo= +$ ./script.py decrypt dGVzdAo= +Decrypting... +test +``` + +Подсказки +Для работы с base64 в языке Python сначала нужно перевести строку в ASCII: + +
text_bytes = text.encode('ascii')
+
+После преобразование из/в base64, нужно выполнить обратное преобразование:
+text_bytes = text.decode('ascii')
+
+Сама конвертация в/из base64 выполняет функциями:
+base64.b64encode(<строка>) и base64.b64decode(<строка>)
+
-Выведите список простых чисел в диапазоне от 1 до 1000
From 1b1b215066983af92031154176851af5e32ab1b5 Mon Sep 17 00:00:00 2001
From: learn7995 <75372384+learn7995@users.noreply.github.com>
Date: Mon, 26 Jul 2021 14:09:18 +0200
Subject: [PATCH 39/92] Update README.md
---
07_python1/README.md | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/07_python1/README.md b/07_python1/README.md
index 21cba27..173df25 100644
--- a/07_python1/README.md
+++ b/07_python1/README.md
@@ -58,6 +58,8 @@
+## Задание 4* (необязательное)
+
### Легенда
Пользователи в нашей компании начали пересылать друг другу некие "секретные" сообщения. Т.к. доступа к средствам криптографии у них нет, для "шифрования" они используют преобразование строк в формат [Base64](https://ru.wikipedia.org/wiki/Base64).
@@ -92,8 +94,4 @@ test
text_bytes = text.decode('ascii')
Сама конвертация в/из base64 выполняет функциями:
-base64.b64encode(<строка>) и base64.b64decode(<строка>)
-
-
-
-
+base64.b64encode(<строка>) и base64.b64decode(<строка>)From b11c266a27228a3dab8128154aa7815dcfebdc5c Mon Sep 17 00:00:00 2001 From: learn7995 <75372384+learn7995@users.noreply.github.com> Date: Mon, 26 Jul 2021 14:10:02 +0200 Subject: [PATCH 40/92] Update README.md --- 07_python1/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/07_python1/README.md b/07_python1/README.md index 173df25..645696e 100644 --- a/07_python1/README.md +++ b/07_python1/README.md @@ -90,7 +90,7 @@ test
text_bytes = text.encode('ascii')
-После преобразование из/в base64, нужно выполнить обратное преобразование:
+После работы с base64, нужно выполнить обратное преобразование:
text_bytes = text.decode('ascii')
Сама конвертация в/из base64 выполняет функциями:
From 6161f3595fe335e05d01c761c2cc649637735c3b Mon Sep 17 00:00:00 2001
From: learn7995 <75372384+learn7995@users.noreply.github.com>
Date: Mon, 26 Jul 2021 14:18:40 +0200
Subject: [PATCH 41/92] Update README.md
---
09_python3/README.md | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/09_python3/README.md b/09_python3/README.md
index 8b13789..56f807b 100644
--- a/09_python3/README.md
+++ b/09_python3/README.md
@@ -1 +1,11 @@
+# Домашнее задание к занятию «Язык Python. Основы.»
+В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru/).
+
+**Важно**: перед отправкой переименуйте ваш скрипт в `script.txt` (система отправки файлов Netology блокирует файлы с расширением `.py`).
+
+
+
+## Задание 1
+
+Реализуйте атаку грубой силой на текст, зашифрованный AES. В качестве пароля возьмите трёхзначное число.
From 2dcbf3b34397c9828f2a6a545c6527c2417e07a3 Mon Sep 17 00:00:00 2001
From: learn7995 <75372384+learn7995@users.noreply.github.com>
Date: Mon, 26 Jul 2021 14:19:34 +0200
Subject: [PATCH 42/92] Delete 09_go directory
---
09_go/README.md | 102 -----------------------
09_go/go-installation.md | 152 ----------------------------------
09_go/goland-installation.md | 133 -----------------------------
09_go/pic/git-bash.png | Bin 10704 -> 0 bytes
09_go/pic/go/linux/step1.png | Bin 180449 -> 0 bytes
09_go/pic/go/linux/step2.png | Bin 159950 -> 0 bytes
09_go/pic/go/mac/step1.png | Bin 180449 -> 0 bytes
09_go/pic/go/mac/step2.png | Bin 159875 -> 0 bytes
09_go/pic/go/mac/step3.png | Bin 145906 -> 0 bytes
09_go/pic/go/mac/step4.png | Bin 187358 -> 0 bytes
09_go/pic/go/mac/step5.png | Bin 241795 -> 0 bytes
09_go/pic/go/mac/step6.png | Bin 161299 -> 0 bytes
09_go/pic/go/mac/step7.png | Bin 171926 -> 0 bytes
09_go/pic/go/win/step1.png | Bin 180449 -> 0 bytes
09_go/pic/go/win/step2.png | Bin 159935 -> 0 bytes
09_go/pic/go/win/step3.png | Bin 167015 -> 0 bytes
09_go/pic/go/win/step4.png | Bin 249142 -> 0 bytes
09_go/pic/go/win/step5.png | Bin 120074 -> 0 bytes
09_go/pic/go/win/step6.png | Bin 130476 -> 0 bytes
09_go/pic/go/win/step7.png | Bin 135899 -> 0 bytes
09_go/pic/go/win/step8.png | Bin 97186 -> 0 bytes
09_go/pic/go/win/step9.png | Bin 88598 -> 0 bytes
09_go/pic/goland-terminal.png | Bin 60131 -> 0 bytes
09_go/pic/goland/step1.png | Bin 305764 -> 0 bytes
09_go/pic/goland/step10.png | Bin 390103 -> 0 bytes
09_go/pic/goland/step11.png | Bin 400889 -> 0 bytes
09_go/pic/goland/step12.png | Bin 387379 -> 0 bytes
09_go/pic/goland/step13.png | Bin 308989 -> 0 bytes
09_go/pic/goland/step14.png | Bin 221977 -> 0 bytes
09_go/pic/goland/step15.png | Bin 525028 -> 0 bytes
09_go/pic/goland/step16.png | Bin 223789 -> 0 bytes
09_go/pic/goland/step17.png | Bin 200581 -> 0 bytes
09_go/pic/goland/step2.png | Bin 288549 -> 0 bytes
09_go/pic/goland/step3.png | Bin 238444 -> 0 bytes
09_go/pic/goland/step4.png | Bin 371797 -> 0 bytes
09_go/pic/goland/step5.png | Bin 258202 -> 0 bytes
09_go/pic/goland/step6.png | Bin 305976 -> 0 bytes
09_go/pic/goland/step7.png | Bin 285616 -> 0 bytes
09_go/pic/goland/step8.png | Bin 305017 -> 0 bytes
09_go/pic/goland/step9.png | Bin 584068 -> 0 bytes
09_go/pic/linux-open-ru.png | Bin 42883 -> 0 bytes
09_go/pic/linux-open.png | Bin 36477 -> 0 bytes
09_go/pic/mac-services.png | Bin 209572 -> 0 bytes
09_go/pic/mac-settings.png | Bin 277081 -> 0 bytes
09_go/pic/mac-terminal.png | Bin 223587 -> 0 bytes
09_go/pic/windows-cmd.png | Bin 10146 -> 0 bytes
09_go/terminal.md | 7 --
47 files changed, 394 deletions(-)
delete mode 100644 09_go/README.md
delete mode 100644 09_go/go-installation.md
delete mode 100644 09_go/goland-installation.md
delete mode 100644 09_go/pic/git-bash.png
delete mode 100644 09_go/pic/go/linux/step1.png
delete mode 100644 09_go/pic/go/linux/step2.png
delete mode 100644 09_go/pic/go/mac/step1.png
delete mode 100644 09_go/pic/go/mac/step2.png
delete mode 100644 09_go/pic/go/mac/step3.png
delete mode 100644 09_go/pic/go/mac/step4.png
delete mode 100644 09_go/pic/go/mac/step5.png
delete mode 100644 09_go/pic/go/mac/step6.png
delete mode 100644 09_go/pic/go/mac/step7.png
delete mode 100644 09_go/pic/go/win/step1.png
delete mode 100644 09_go/pic/go/win/step2.png
delete mode 100644 09_go/pic/go/win/step3.png
delete mode 100644 09_go/pic/go/win/step4.png
delete mode 100644 09_go/pic/go/win/step5.png
delete mode 100644 09_go/pic/go/win/step6.png
delete mode 100644 09_go/pic/go/win/step7.png
delete mode 100644 09_go/pic/go/win/step8.png
delete mode 100644 09_go/pic/go/win/step9.png
delete mode 100644 09_go/pic/goland-terminal.png
delete mode 100644 09_go/pic/goland/step1.png
delete mode 100644 09_go/pic/goland/step10.png
delete mode 100644 09_go/pic/goland/step11.png
delete mode 100644 09_go/pic/goland/step12.png
delete mode 100644 09_go/pic/goland/step13.png
delete mode 100644 09_go/pic/goland/step14.png
delete mode 100644 09_go/pic/goland/step15.png
delete mode 100644 09_go/pic/goland/step16.png
delete mode 100644 09_go/pic/goland/step17.png
delete mode 100644 09_go/pic/goland/step2.png
delete mode 100644 09_go/pic/goland/step3.png
delete mode 100644 09_go/pic/goland/step4.png
delete mode 100644 09_go/pic/goland/step5.png
delete mode 100644 09_go/pic/goland/step6.png
delete mode 100644 09_go/pic/goland/step7.png
delete mode 100644 09_go/pic/goland/step8.png
delete mode 100644 09_go/pic/goland/step9.png
delete mode 100644 09_go/pic/linux-open-ru.png
delete mode 100644 09_go/pic/linux-open.png
delete mode 100644 09_go/pic/mac-services.png
delete mode 100644 09_go/pic/mac-settings.png
delete mode 100644 09_go/pic/mac-terminal.png
delete mode 100644 09_go/pic/windows-cmd.png
delete mode 100644 09_go/terminal.md
diff --git a/09_go/README.md b/09_go/README.md
deleted file mode 100644
index 99a6d2c..0000000
--- a/09_go/README.md
+++ /dev/null
@@ -1,102 +0,0 @@
-# Домашнее задание к занятию «Программирование на Go - основы языка и типовые конструкции»
-
-В качестве результата пришлите ответы на вопросы в личном кабинете студента на сайте [netology.ru](https://netology.ru).
-
-Перед выполнением задачи удостоверьтесь, что вы согласно инструкции установили:
-1. [Компилятор языка Go](go-installation.md)
-1. [GoLand](goland-installation.md)*
-
-Кроме того, ознакомились с тем, [как открывать терминал в GoLand](terminal.md).
-
-**Важно**: GoLand устанавливать не обязательно (но очень желательно), вы можете набирать текст программ в любом текстовом редакторе и запускать из консоли командой: `go run main.go`.
-
-### Установка Go в VM
-
-Для установки в виртуальную машину Linux можно воспользоваться следующей командой:
-```shell
-sudo snap install go --classic
-```
-После чего нужно проверить успешность установки командой `go version`.
-
-## Задача "Syscall"
-
-**Важно**: данную ДЗ нужно выполнять в ОС Linux
-
-### Легенда
-
-В Go есть пакет syscall, который позволяет выполнять системные вызовы.
-
-В этом пакете есть есть функция `Kill` (`man kill`), которая позволяет из вашего процесса посылать сигналы другим процессам.
-
-_&**)5)auaoi(w*FroXti&<03;k zQ$6EB*F?8n`IpGl{NcLyqs$5=b{3bAwwL@RaM*hJ;Ok7H<;6sFc5=3#KkMD9(MmzH z&%WvSh7C6OtR2U7b6N@>wJ+EyIIefm>UvSXvinZ6RWqYTz|j8C^-$kWc6e`kiL@zIVY4~EmK zPUTL+E3uQ$OA>2gbE3M>tBYr=0X97zd6!eGGO$-6!4uE%*KybqC~@g=qoJ6gM>%{V z{QO&@&QAxAB@z>66ZAQR&jrt;)r16W{ yO91q z=%+eOCp%PAZN5PyXb3w`Y#saHAQ48Y&+9e?(V+r-N{!K|@bGYPkN}iDZIOA0 zuZ_tHH3)HW<876s_kd1I+0}M-%%P?%(d1EK9|XVF(ePP3s?6!_ZZ0ZCiFw&zf^vfG zg!~fxe$Fa+#-8-wt1;;EygV-fXC|qR;Kjf3Ooj7Z!N>wI^3qT#y#fUR2EIvb{x!l) zn&-iBe|yLa$)2|geb0T)YPXqD7rifO=i_w1-gl;16KUo@hYAfJDb6|dh28y9$us@+ zrVrVxO&i_Q%(^t!tQPpkuQ@bpHa}>5+11;4!p0&GSwn4hcDdiU$7Z8x<#4*32=c&g zFw({a3~HINEsmro`ViGRn6!Byjb89>X`QRM9h{^N!xQh%)j&d@=+r@)!n!=iVUQC3 zbXhU|Yu#I}4dt$!_Jfe}(9l C0$SQ;CVZ%firc&%TK8wvErZP^) zEXT6ggONs+Xbvr5Q8mxs&07LYuKMP|W|w73?Tk=VS7BnanN3KRciFowTTc$O=QG1> z*5b7ek0W&&YHH1asY01KG#4#I(ur5(QJ4e?s045#YZTtxX$K2y#edSEjfR^3@q!)H zVO-inmA^A|$fA_StSmH?Z4!+ETrZ{@GPTZvJ>zBw4m+lwt84nU&wrnLF23EsSpZF> z%-)Z0x)s}BdI|vtmGUnr0*L> zr8zV0d3>+nb|3E{!;X~GQwKjCDamT}rKKgCZ(i>ugh6%rV)*1ekyu7{7z|75_$LFg zHzqO<0LQHJ5~t*|RS8I)g_Vdjr1<(a@S2qB){Ia;yJWG`>4`|jVefD1NMcBBn7XSw zl74p9vTxcB{l?Fl1d{mE!yP=I#q=zqvlXZ&OlVXg`v<0!_+_2?eIug%hK@s-R+>Xm zn3y?m&bsOg`P}gYm&3@9pjyZgD%`#H_-~Di+b;2Z-daOj*09-xiF1{kp3uii k)5wM}>2JU|13Alw&5)l#gG~06zH4&6=@!pf61KsU#$WX~J zp#7;oFbMA%;>-Q)VBpX(|4@OVk)<}fHR-54pztK@2yOj$mKv`;v2POt`Aj?<->^ zx@Ip#SLb5=IQ(l5gEVN?dMHXtnvv=2>v!JmWnNuf;Y1D0s&j{#?TCQDKmVev@-wRi zjl^QU6$wZg3WR(ay%^HxYpjtVptmGHdzb-_cMRHCS;?-ceSU{PqaArUC7`JH6{EJc zcBM`edhP_Y98@thI!eRLtPsP6YPO?4WS}CpQH1j(48}d^{)Qg~FwzPfdqEwW8m>K( z*Yz?{y=NK(E8XR!#bbmVT^Fa+i^;}NQ#)fG9UYlEI^vAhJCex=gIr{#9m;Ai;(qqT z#7A8jSTQ`_OdRmTNefoT%VTycKP)Ob At-nvw6uB{NqC1n!I;J`Y|R9?U=c!Tx^UM z5k!#{j{8rG@^@bvk&*>NVX{@sEJ({%0=Rhs_FA8Q0%u6jRrap8K4Rcd+uzo*h?O=8 zh r_^s$o1|;5qCwUba;LFqYXf zkX0ADdXf~h7Gp96f730Ob+>DB!*izfveU)%VGvfXaNQC>G<>zHI>mEC3`99MAS`yF z<26jGreaV>7<-(3b`D7_9$Zk@O@DL05-9(bX3sDgXcvWAX^)>Y+c@RE$6}{oXLq%2 zuXw7Z;G;0Nqg-7TY6AYUB}Mlcg%vmcgRONyCS47&1G;&gnKmzf8-~-tLICmZ*l7Nr z`6Ayd(Y3FFquf6EhqpEB{mHv~&mTn`v|Rm!qyC)B1n^sq)2-9YNpGKP9Lk3k3@>ro zi@gpxqDSWwdp$Y-Srbj3K@eWfA@W)TkFl_|IJ7Iso-FNHjzL`Ovn{tl08QA72gbR6 zHbfLl7teE*+L;sged6<#W0q3|LaPofB=o`SM{(yX4g37h6}(Gc3(HFwpl+Y8%n9Ge zxCoLz6yflDqja}uJ%fQd@@Vr-B2+TM!9~8oSkd}HEiD$R=D)%H1OZxSi;6KkAG(@I z0%($EDbhU?yyZ}2Vu7_St)UrRNX 51i0UK^98T9+;e?RM?h*{4^c#krUi4IC1 z1{p77j54y`B#;4_%j`?c>$^lzKxAe1h}{p};;>S7=P$yZp$pJY%hKRBxjmBwAz4;1 zc=geQ!m&zI %+p+(?wjCa+U z;@Joe^rVuErcQ6~bl~HrG?eiyn9=;B?p5xK)rfs0>DH^ksI kstxKy8BC08OLa1|Km#Ay)y^?p?1S8 zGuX*}HzPImrKoy(V*uuFwT53h?%CHW$;S?4-ojjaR?#7*uj;CZ1|`|u2{al}p^;%s z+l!jMw-ZQY!J*^~YC1A}eq_p$l6yO;U7>J`+%^+o5LQ~_DLun^-+w#dQ77&w-|9a{ zFh5X{IgKL%zq}q@r~Nq-E$2#7T4AH%3;}+zRRVdZ79vI47rjU(kHR5G8(5$VeXQ)I zsFWpQeml6$-s+P};qSYA@her>ce`YGVa(TbjDW(A`}}^+o8s2_a&p5~Xf<9-n&L8s z4ZIo44HAM(PFne9h6yH^D>@-)W!s_Q4Glq|xkk!?>+=^uAisqb`=AnHV)4iZ+%BA} zm`ky1aN(AE*A;Z_R6YsBvO{8(4NqBDAlu5^P(%0*5gYuq(A;u}>F?|L_k%4IP_9eS z)AhKs(gAP)_ M7{n^9g4Gig2=?4|m^?Y&MXA|))+fis`KqmrL zb`Cv2bU#xQTGT)3SeT~|>T;fJiVFHEC6g;4!Vw5W4DUsPSn}RQ)=De3SOm4G>pvf_ z-41K>qd5~@8?I2|ugT?;IuH@9x>mk83|`^CdzmD%1@YgNGqAwUeUjZ0a#(>{!bkmc zu!8(ZiFnlSRSnCrkh4nH0kE9C2TJ4Pc0?3={>6Pba8?D@cI7#iD>Q>CevozYQuDug z8z1C(269#c&GxdN8zK+J@tP_FI_w2?@3 vJ@fAH075cF(#G^E$z|>YWJa#{5-b z{qB02P2{9AG Iimqj zCFTSv)}6dFnd;mHTemSHVTc+dRqVIIfNGUdFa;v!yAzq^Du(uxs%RqwDsrgMb$Y*` zUbZm!VIQ0;qPS2Zyz15w*6}Pf1kJ&6Oid&x&$?2<5Aa)n3yeXZCtjVlcjqkp6BcGU zH+g#VZTWQDqxhuHrb(Nk)Bk=d`iy5p_|4CTo9?MI9bSLgHaAKc@rSK0lX1oxnd8L6 z&n|!wejFys?IvvaHo@}__aAt1c=)fGoboGNVodm$nuKA5O0us+;{AvBN7I*!%}CJX zLjWgBj|CF0B@&;K@7H!qy5Oj@sUHFeEpp(CDp<(oJjV&LpfArgygw@!H5WQe3RBEwZvQIbE8a+vaULp9g10RVhPRsHqobQ~kWzlD*3<*g6f;Rk%kU z_FGeN_3QCd>`;u1O}auCEd*8ER8}bHa|*>@jzoTt=#`h;(ZL3B`rgzi7G#&$jJ%s8 z+-;ALw6AZNoGGs<#|e^%0lv~D8c{|8l9z>Kc h{V;9Ej%6=0FX)i25LIw7K#R8wzb?H#$Wh&VgrKRNF>F49<`$UylD{N@V zed-L}UYEdYZczbE$~P@2o0@-jBnSFns}fb_4I4_39!Nw~o!g%rAjLLb%NX^w54L~r z=chGHnVnu&lR_$-OJuR^KT-*--@4^T2EKyKCM&7jNJ69e;#BgYw@6CKPjm)9+GaK9 z%w7ZEzFAN$uffHY(`xS-sFz~ZU=0N+=&|VS^qtH@;2gsoSS8~7i)m-sYbs6G$Q4%4 z*SbQ_0Rb{x7KWNJo!-^iDsogu(rc50=?y5eP2b8$=)RLF-?%2 mAi7kFsS%54HaA {xB@vM~pFX09*>al);S`aK (SXETV*Ak z{e>)oWDJTnT7%hvjnH5*?^gbVKiMBjx5Ugbq3ZaJs_Mr@d-dySua!AYTI;;^LvPC7 zghKx$6B~#osbJt776dm^bU2L*f^NP+#iXQgxv#5$bIIbi!e2u0@upnwtiKdgPOW%% z9$6Q%`|0k+ei%^1ZEH@(ub~zd&5a?&(C%>m=;h_ry5_+Bi|l*66)6TKjq}f(UXSOX zXI_fpvup4aY#DO(^Wuy5`25?`$6P(3OE*?G@?!WSr_Hq@ mfy%ghe^Z*A)%aFp z^q7ZC*O<*OI4(lfE+BnFAM!d3@+~--ivk@d!<7yA*lJ{s;7a*UH`XP8Rfr2u6AS|Q zWOsj%+Hjc1nXHJ|2*%E!H&UGCnXI@{g1Izw<2;0uUqXiMjr-h49^c`%v5F^e6Dc0! zJEv5eZjR+r+r|@)?mCM2Ms&{6vG{G|x@@<{)%*GpE6h6-z_-|D57Xs9K=RTbQ-;|* zX?T>81@0R!T^!|0`KHBjM9m>;(xhJ)#H}|g6Ua3mA39^48rIFneiw!}IufHhmO52l zDkTY*nW8UhO!elA1#XiO`JlP>)ej U;>PP 771p}MG}!zaa- MdQ<8AA2x@UzrvV34X;t>5c7A zz4C)Lr$b6UvM~F3eHHfZMwkR zKn64ehU!;D^XGHb<;yT^*JBa-+10$bWTg3@43rAT`nGj+EZbRPQ;UkAK9S$fJ>LkQ zi3nfHcN{Jy@Nj9(3E9zH>q?XI*cIC(QT12ff3$wkm=cmEM@&5G2Ga8AY;>T8-S_9e zHQV_kktUT^)GF5|Qa;1l57% o<#LUw;vJUH0< zJu@Jg%2P|+-v4#AV=X3x0!OO+0~l;}Ob`Z585~=&xi?}1py`{~SRDfV0~GElC2F{a zYnLo+ZuB01c8V-{>-=X8t3^kjF;ijk+?rm0J$e34Ybw`I@cysMl9b!6kPwts4vBTb zMiALiJ+`8BucS1^q!mw2U#qY|*b{p(m6UGVleD)CH(ZXNrn*2B;WaB>zaRup{VIqw zS4;o*=71$dx$n`EBr-H%O;P`v%#P>~WFs=)V*z*fC9anEw?{0*>3;Sr?0VM!bobZo zK+{d4sH-<_o8qG5hw1C!#;l$Lh~3g}IlUeWtXvT}e*IbSQjb5Di@+z1ACcJb6I3H? zWi6463Zd1N?~9%MUX^F{0xyEr?)(3FA*CG7GS|F@w=Yh!@XN%^p|4)&iYl1(Y!;h) z?XZ$9FHm75HpIf74tV$VP4!nifP}d5ZSo$#TuP2<_2jO+z;#ifID1k@Jz5!jOpID> zv3_kpZ16Up8JpfPLbvNZSi2bolKzAV>rGh+Demn}ciR%)j3nRBMudkm0%II@DgA;- zX$TLxCY5eaa%Wtgc_rJjL8PPF>b2>sotZTqp>71MwDsl~82%TDo AcS?;S5Lh!%flE3~j~hV5g&`1^;{(BffaqCtoupgkh8XPqSS>!ze*By&|o zhy3opj^CJ7Po^3cOTH?clxKb3HQe;t#;o`DiNGhgD1MT+@#(+1+-U c1@w91nwI`jM+kO1!W&IDhlG+>Sbq_O9Uj)_yA_@yAh dl z`tNK5-VHB*{JK8zUt0sduxme->&l&mmS-AD?PoD2t)~aUjST+*x{yi*^Tc||-$eYs zH0AaA*d-Sz==C%O#+-|3aCfHnZM>eiic!0-jG^zz RqyW zU`=UEMwdj3qE%H*ew8ySXDm00NTgMkCnLE2;Xhq47QhUy_4+g6z2xZ<{gi2F q>@p3+e<1aZk{}Z_ ztyCn!S^j9btSEG=-#tL) EcvxA6US5T5O-RO8KELK%73U%% mv>t2<|dv>{a%56jR?|DQLg*xZxJ%PVk%zMNLBv(;RMx22-<^Nt8frtnY zurbEq6(=mcj_scpiu0ciJ#fT)Q+q48(d+jtbn3Bgd@lO*?$l*}_S1hhjRSwYFGRB0 zju>4#9xaL@Ko1jP%Ok9|M0EA$%}^Oi^I@8}K=UaCG6lm{Ia#!bP0g$OR026_2*J)D zFmU9n*l2JvN&_{@XX0SqWe(Zn5shlX2lvt|;Cd*+mt_R%6F#2|khV5n`U40ak1e(C z?j+ATIh&qVV>|B7J2rml z(3PH0?LP%QYl<)_5lzg^)zuoF=2T<=XKYM}3b@nsT=xvFTsJTY3F)-%PFSX3e-iRK zUEv%8GFaJEm_gHCGc5_u{nIEk_Op0C=Sp173*K3SBgkcW^E%l)TxkM4l6iK~n|%!u zka%-W;!#qb%JgIYC_{BOx24H;RoJ_KyONPg;lm2n%6s8ivM}b6V<=Twi__rAzTxLb zsUXaJcU%P@l1UN$j;;ZJ9&af&bV5iDHR2yExGd6Gm&s~`SZe8HTNR`qL+D ;A0 (5V@l;gi-eQZ) zC|Fv%l%w+}QT)=WV8a$ZLjPcW6*v73Bz_XlgbtARP~qSEWTNA@**KZ9N_JRasx@i* z|6ow( xQ2-?IY##Zy)2=hTyhgER zdMV=pSQ`_Wz%!mjC(^hVX2hq+x2j|>$J9IZ7R%*Z7w2u$Z%L+i*Yqjv)5QN1oVnSK zy#wI2Ms6GTSOhY0#(JYpL*`zMA>CT%3uPx1nyi$D+T6h;3QL+8+ylfpGI;;QDMA(n zHdtCIV6lfHlm!oU0H|rwKv!I*I8i?+j+%slVkGnUe_ mM9C)r diff --git a/09_go/pic/go/linux/step1.png b/09_go/pic/go/linux/step1.png deleted file mode 100644 index 01af6ff449bf95adf5949da1a6a930a64eda0f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180449 zcmeFZ2UJtr)+mgE0-~ZKy($U<(gdW1VxdV>P?4@6y@Vbh2@x!GkRrV(9cd!HC89u- zD!nH_fY1X3NFYF7y!RgO@qFI#|6}~)`@i?bI~ilM7klls)}C|CKIh({cl9(*o!~e@ zMMZT=OY^n?71c2~6&1~0y5p297cXikQ&F8{cDQxxuGXzve0M#7whqoVR8*RwZxU(m z$9-c#Vnu{rykH4=7XLk!uj$SyQLn|v{Fjd0483sX{>s;^Ag3FxL0MTMeAQJ{A0MvR zoLxC+4Qg+%fArzqrogeSI$)0?usaz?n(J-?9ZDtdcAunLD&>l~!aGRyR`t= 5cm%?^PWomIq@tLE~T5fdDGP^VI z@lsI@W5Zfnsm|2Dopd%S*K7k`a0-8?N)_^y-A-ggwJrICPdw>TTLm92wQ8P++>A5T zz|-C2%M;E?8oD&2_r5aGT>!pXL3T~A^J!m*7P^vj!Z`iJr~ <+OeHPm3#~=F$nU_jW_RufoIF~#z)C7eomdK975Iw-11jDBSK#mAKOiP zCP+x!Naxb>jqO83o3;db9%rL^`wU4R_2MM vY?9n$Xoo73&->Go$U$GSwmNx{* zSS0g`PP4webkg&5CU %m!ZH`}cw{QGR+b?>BgNJqg)7)2?g`20ZbZeb7YOyNZ&l)Ir z;sOY83%N<%hGB?{Pm!#x51M&X&YZO`m#gv+*~1ua)G1Y6Q*h~t+|C_Iv&Uh6pLpgx zF3z0aD+guG)ZTu1os0I~vtvO=m^2@E(HPzkJL9!ewbN`FmT>pe5v$jyh@UJR*rPOK zYUrk=j>HG4T-dnLt7-PS@eSjhw+9^|4>l@kjW>tR`Q7I6JyAzBj687T1)NZ(e(c?* z 5Ell zx0T=r{K%7HW{Gm^N1Q(NiWf04Z`NFMRuGB)kj>z41VL)1+puD1OwXnCGyDn z`xk91!0S=$RKXcXRbhlK+Z_(qvN M`-fN79>>={ z(b7CSbLNQEjf 4>G0C#Nr!Rdb@-|bimi={; zkc6zc1p_ZpljybErr((s)V36a)hypqvwgZRdE7Q=)H;KWA-uJ({HjhwSF> HTwLvo+L+p4-?R~3hz=KD zjHdr3#aMBngq91;al)F*nu=OTO(RXE9LA>)K1z-zbKTJsWcX$?%dvTS^WG-&rqt%! zuvcL(!)opnpU}5?)qd@bi}0#&;sgKt$AwbPi-d_^j)~Py);HE3)s@$+)9}lF|K9Qa zQm%r iD7C zidtY*(pz;S&%4$|8w2z22j5o}nBM~zmS(xW<0()!Zo1#34n^$QY%8B)KBavs;kbr% zlzK_qg~(J6>J%?s!LCPLN4qYkC`$J@DGy(CFm`-tzfsv VFWwO1tjM=N+!))g-4lia7 z;W$f_#_Xg)UULi3Y#iI$ |8IeZNikSpDey$k3QY^{v&3RT>}8)q3QaHs8pzQH8vo{TYtD z_Lf#?XY%*J=`(Y8=f5wldlc`EY?X_&WpI-Qd%Gmj?x`4aLD77={A>9>`NQ4S-DX%5 ztdp2@;@!kLF&D8ivsJU*Qt#55i3QhQSB6Q233x5IHhdD)K=4ljKlOE9uU#x$WyjXF z;L})}MZP+f4nHZ2My;V*QKUxlW;x*-esmfSNgI?qtaZWgkW%(MAT`802T1|!0jUQ$ zhXRLOWPh^85!)k;&sLB09CbPBNewy n ge$Dkh5)-Z9$KGR@z5M?hoBxx+5Y5qoO%26%QR64fl(Q74%y#gy DGJxUeU@6K52SCHm?{V<$wR?=pI*GC zFB06+@k)IpxzTp1NUL8kJ+oLv9<~`Hv}7n}xMO$bn!z=nr;zy;k0p8P aE zpi_in;?HWrhC2vzM)*vdUE2qCN #Jm zK~FuTSw-EPCwTs4ms6U4a;7Yqa1Hr!>0=Fp0ZU~fXF`t%Y~OH1zl+(Cc_u8C0m|ZP z@ `q=$2?k99_g#sW6ImnT*wSLX9UqW;~`hIYsu3 zq#rsxOnj(f!QS-IhS~GM-20lM{9 Yvq5rk<32;Ida~{9$(};e)8?cEYxdX{f1owen;_ OP zTNwvE{C=#5p@el(yxPp8!D}5 > z?7#}2d*C!X48C>j)~$ HNdlT$)G>4(g zAZb5$+P4>|p5^#a-ENk;!(Ghsx^P`oF+lJ*)j+FFj QV_)+H_PjM>wdCQCdeRhw>55pKbLcSE#7}as4P2Rj>mU&A;x^qnv;IUQ>=A zWBz%jj(tT%OZo2{7%+~cuPx*ayGQ~u(5IVv O8duU@r!)_xW&s!>Ea{ZyL`8R9yWY3V$xy~7nM)&@$msX zp4uuH+*beBaLRv57wx^g+!VycK_HMANJ Egv73;q24^EqvN9sa$NtLMMKq5vrV zqeom)OhWwU+?1h!A6FIbI{4Z+Kf3MULctkj4P{AbSqZ>D2K<+ iw zvQ`XDEk@bgi@y?@HPU?gjMa_HR6z^Sau-`{x@X`qBfb!kXP>OZ*SW!RAiM4fc> 7EKzv1Pxsd4e6zZ*(Jmv;AP z5RS=Fj{D^A`|02Zr~kU(KOf-}{bfF)^1E04&A;!bEQ ^Zq|C%2hShFzVcQ=~p;^ zLaw3vHaB-JWM{knIgXkdckz%Vh`0B#@44SXpywZW-iMbB#Oq3RSRaIY_l_{NGqtLv zB1iRK5c!V 1j3-Z?e@8eRhaT}g4QEU{fEGmgM*N2-FbHg}N0Ds(YEGl7 zt66S Yo;pD|YCACY6L`UUHDyq6@vEHkZ|H~uz8uHV{PY0z*$?1_Z8uve?@k2n zT{GePr-okp^GAsFi9 xHS_5SA zCE0&fITfQc}!*m;Gj zsy6zJgL=b*69DXxwZIyU>lm>8I%T$er>5ExWZo&xu;DWhUd>gz-vjF_`eUxGWGTa` zNfwvq6>xk6Zu&Gl{Ck6i_-9-f=P`7djN96Oc#h``Cr`oiyOQc;w_L%O_j#(P6cgpY z$-tLMH*scbPw{P$YGqwSW#Uv_;_tCzA-evB0?C0CeB6L&K0x9rWk-{i!Hmbzi#~XP zW {bn`=Qf-5_y8wJnok(4Lkpg4vi+8W==KYa@?Rl# zGnk&f{Urj&>%CIR|9b>Kr{hu}x<;BfiN11ZtC=G4VK8F9$Df?ek!He^AP2qQODuj< z)pezhNDbV7;8BTVH0WUZJo(>0Z-g^t@~=F+P5 Aoe#RNe|#8l|2Z{phq$t@%Sq|1UbYbRCZ28eF}<2p zS(mFB*I Mg#{M>IzSGDljR71Qb z^)K7@^Ui`;O7ETQ+_K+u&0S$WqS)oW-?KB#`%8Sp(mwk|k>4|H{0Ta^cBu5vwSH*? z3e(fUi=<8V?)-l8TnbPI7f<~S^1pEV_b&gHfdA(Ro6F$ssB_y)Yk2te{=A+L6I0X5 zLC02?k|B<&A(P6=$`u5UquoEO`&%+{>*f11&xhMo`8gs3?FW|c0drQp8vOd(W`roF zlFE8vfWS{3^=pHc**@nV#!{ DNqpofF zTUS~2?S0jC^E)|5{#fhR$GfjZ>CNr!Gy1DG_~&g`n9o2G&pG_|sg4}|8{}V1FbanM z-sN9K!+$4XPrW|cWh=!ZZedoLd>yJjFgBJ|@=(OpscNX8YA7o=*M_`(SJ7#4an*_E zeRE*+94l|*_2V49_9t&=TSWWwyX22|rCw*zPga2)2I_B1{hmM0$Q7va+jMFtTos}? z4ZQJR)Bk3|e@T$Lf6JY}2+hAm?O%M)|9!Q~AHjw(-Be|MM;DjghegaaRVGdYCQiM5 zeILpG1>DtJTRSq0gHxZ7o8gQWoYax_(#Nyzm1#7^RQIpW>vD$YcV?=PKjrTw|Ef}d zs`$pdPg!c=VMrQunbz!o5HEkn3;v3{ze6N{v9|tpNdJP6|8EXy@Ok^|spY;KGg)1g zi&9xbLo6;;Chn$1Rq7>GETW>Kq_W^KV{Lt)CI0TI(~zqO;#8I7_Yie!K8|hw0Zs?S zNmo>5xo`XaE}jwcKJ)iB_p?toj!|k BQyS zoxhOSAIyDP_`4=MKK8Qq52u0lvWMXBy@vmN-KxJS^8YuA{5v%Jm*DIF%V@M*-LaG| z+mks?o_ywb7r1Tgg&M({*V(@mAqB=ge4BgOWV0F9;PS1eRR%rCAzDJ>QE>?5k_*HL zQVRM4b}W)Vg|L1N1Re5*9v=D+EJx0yz+5R20!fM2pVz&*$VQi@`48Q^UjJfK(Q(NH za``eIpDZaUxmPsjR8m`AGo1A!YccK^!|QoL^)Zo>C-?$fW2TR=5A<*1Igp?2egZmC zN86`^YgU @nLkmU0yQcyJr9HuJETGeH{K}e@EvQ~4GyV-( zVz`fYu^Cuq+Fxk0%ej2 ;j;b$3F+qaoy%4lgub4)W%ne_hnE$_;6pbvj$A&o`*eu zJ{NkL+qH@kcHw^5{Jfd${ 50H;w1WQKa7E-Ym7&?qg_V_echPgk0eMF~icybTVe %=N+i5?RMKd56u~bIK41;*k6>-c|boC}VPRwD(?Gz~vR5-dhEp zzu^7ujlhdE`bT^Z0jN~lK N`YMd zxV0tWn>auhcx9xQbSH)Av%4TP&h)E(k*ifb{R#g$v5w{r2&C^mp79x1Zmo_ixR*`~ ziv`o4k-JE#7&}|;cP?;=E(ekC@L(}e)0-HsQs5U8xvx>hpKdT%UG^4X`2M|AhX1d1 zD1$6lKI88DRH6!4r4XKU87hg`o`q~fV!B-rDa~S4a)=ajfse?;j(N*U6BVlJE HVX#CVp{WZVn{ BL9u;;^6NaZK05a{Zxf*-@fmLC80g^oGtHm{!Guq!dK6S`J-sGhC*#r8SMFBa zx!HfJ44-<+MA=Jc{x#p=6DuR-B5weT;gZ(sxFW*j^{pr4G;~}yDdmfFT#RQ6VpW?^ zA>4|fd|*&^(p*U?CDp3`=Txh&D1|AUzSWYSp7~k@Z!nbar>KJnUfH}y>zhyIT#=en z_H=ac=vP_LGjiQWcPkN)z5Z@ iP2p7=VOD#-H#xEXqd=n0(=L_er4H zW{%)7bb}8rw0yDRaN*t}KESl(vqsJ`%`1HhdqajSLO)3|eTC8BYd&pn(MtAgbsMq% zIV+JyN2&Y5NQF7D7iyAucduJ+j ;7EwaMPGzIyUWAk*ZlNHoKP zM-=**ZtnL!`uu1^zbwM &5JJm3!Ud zw?HZ1^?E#3J0u5IcQW&_HPzvY<9AD(K1Ye2hbf>Z7d>I88wK@K?oON@UIud?eLxX_ zM&7eqsjBDf^U6@3$#Gl|LT;;=fF7IW3lv33LjEjQ-ELAa84O~p!8x=obw$= F^xeMTyrpaTzGo!s@E{&Gmg`*+au+C%PEjKcQS$jKVsoBW8_xXVE4DtkJpbXj2fb z$n#?vL$;#HOjyPEOc!f4GN^7)q2HH}yS;nOwpd$ggxB<5w9PVSxjRzTd1UnJ(Y0hI zQ>(U?q1vf<6SIJarkyDR9M=6C^LHURW*+P5!-S;;`{;Yw3fWC1Ce{)LT-%u0vlNmB zSg&g8s|GfHZ7r>QYZD+6+mSjuhOz}`KBHcJ{cl{RwfxvQ?tO6PYBbFMZ4KQEyz|1l z#Kydt2>OzZ(hkKL!O{h`z3(BYZtwO?W7Ft-BiWg6tjpz1MeOEHU7DU>vufa=HjtgE zwpX=A1n;0hr)|$PVPDG8!H4uU*=#6%XlF^+2{L!}@ydv#T4Dd$Q)QksQ56) }h1A^?ZkjWgj<0DFL>*;S>P6U@Hg0{5U0_!cQJA-2%g^iYR?z4M zNAq*v?D@C&l5jpMPh4KcX*1dRZJsKsmV6~rm zaEguYWX@CIa 3MT?V1g $GMl#ZxLwTa?cbL6fM~AADAX!XM?gvaM-Oi@ruIuIe(F_;`CGlcdMN zW(r-4EsYcz-s$dr|EJ3PB6PQG7_*Vj(#p{Bu%%5mb*9o#FBIRC$_dmQ<}%}T9I~gp zIiUh8epDr#03bn%p$_H|yei7w^2?pRm|VQ|L~S{8>n;r%8Bchis1g%|bD`|-XXb;A z#o)a#|2ez7x1^!)aZFmJCbn|J;Yi2*FN&6)s;J4~tEGNEM7+4{OsU#|npV7Feq|ep z)vM)Yes$}MUL ^+wf0>qNw2S5?y{ zZ=)HS^jpaEGdVM$YcG9W7e79#bM!vZ(C<9luNTQ6E~oNxsv_LKnN|cGdkbe~@?=$8 z9O)^3HPWWTC@=ZLww(9QN|G!{??g8?H&hO}n+7ZJJ^~OUlaej%Vgx!(sKSWC?^F)+u)U7 zKkwJu(WBhQs-N#a1>U>p3bWR@xB2wa0BKGCvOfM|;x0%i7$v{2Jiuy1tEf&mD`)(} z+Un3$>}Jw?+t47p`I)84 g|lmE1FUq&v8sn+^z3NRz(kb z(azCBlvk3|i&@GVOYGGvVtBM+AHbykUF+wGTk0Q%VjSNLJ1#1W?A>h!?U^Vy1z1|5 z^r3Fzi`P|ZWX24dns=hAzcvW(3~_0ejk7jI4%z4A`wSh=Qt2`)9Hv!7nQT>A-(P|S z7%GgsY{YI&?3*YpR&9FjSUA3ffx%7+30uC}{+N3J5PEslY3|ie75qu_%-7sI7LTeM zuRQo@Grn^^t*T|K&=B+L*l !)7CoE4_nfD_(|DNac{jPqwQeq ;weRxF)r|x% zB~&70r -4)GAqZmz479wAc=2$7U!-srN412@P9 zxMu~ee>=s!&tK0BA0>-CRbze@ziE|JayD|3Gkf`E!;H3wK+DI{@(qk#Sp+SwF$)80 z8JaYaAT={km)JTUFpZoETFka?`%X9jUuQ1cmbLVkScCZw!guVDqjs4*H7ErsIDRs+ zmrGH^m9)z%VgYQAwh(sLM7aFBa9_^nXk9nRVq|k}n{#GEFf(eKQ |6m@_()-;$%n6r2lRFFy$ zrhMC( q`;L?m%* r3$-SjlP*2Xz1UA!!WglLf9F>R86=)H}stjuiu?!%uR zR_EC@wg4ct$>EnwG3G!eem!>dS(kCki1g?Km;FV8Ppgu6bf_tdPIv;hd2fS_(UP&r z6|cFx1z;vmKakw&JN(A3g*iVudd8(|Ezx@NBX;Hx%+kh`N@y99URLxLHK{ictqp{; zu~kTQrGzFaU^j`ajO06w?grYO%J)QiP7=hEhkqIba_^7UrD>e*%zz%gd{hrnE4IKJ z41|3Y%x9h^EDC++k@ELa$Sz0FHF!G2H*X45*mj51Vbcr;j%P{)Oni8O+MSB_UO!mW zht<=;@y;ureH(KUkb}K#NxSZ}k#zW#kt8_Z*YP^8_PqPNN;RW(o^~nph};oM`~d7c zSzl!z2gLW(K?5MjDDGCD01K2IyzyWa7` %%Rgr2-E zT$(z}gV8vpR7IHLe+}mk6K$ZKDa|Kg;uv>WDCFa3tg+8K%$UyYy^iHs2ICRa5Ec)k z;f$GF0sRz82x@3y$MO&FQQs#py`jF3^J7MmoV!`dMtXZ_PBQfupKmrQDUrU@nPhY= zxVN5|*$|)*fVC5kuCV}!w4IioX$6vfAP39n2t=(X=%m>peq#rOZ~?AQ79*?GEW=tY zN!i3ATCpfC;C{I;nKnRJEP3RdA%~OI@R9}wNA4g;VKus m-5u`u^(5GoFQp>b z$t2FWnb6YIndh**sM`IlP)QpkYKoMd>3>NXQ7I*`-$FZctH$iS3Uqq*c8y2^WTOY8 zNKj&ijeBbBFB8mpRlL8*OV(X}<7RxgN<37GM$(e~4fkhhQJgqmBy+1%RdJK}S{ +NFEOMpkGsWsZ!I)8+IdN3cXHBme z1ky sjwy@maB<9IK-v4eC*ZTHlvv$GG3~eoIs8bnn|4*lI;%L5Gr;B?%XDq zZkKPBA|lI_uAM HgB(guNo+VKd<#*{0&wA8uWs^#zGXJ5Qm);LQ>EN5L-XuI)-g{m|ZQ z4d!NFi|^OOpUOMTwA9XQYKON<2 7}&VgJ={hYu %YE1VXhgtO zmi>8L%PCp&v%{T`IbDqkm@BPt$sgYW(DxEQaD*)4!!iBnm2gGnO(*wBW(;OvHQYi5 z(_oExUhY2^=ML;R<=&fY*XCVeVuf9z#ne48wcZ^|Uu>+z&L|eH5!=`LF^S6iMeYZF z{g{YDXs#YyMj%5^suH$b1B}AwMTKgS+)|v@qJweJO92PjBA9AR66?lVW-XwUtw~_* zV42LKU$PRFj@x@q+z8Ka$*tJowf8Cm1FkD=Z4lQ5$E}y+i)hdqc-AiXPft0jP*p7X zdw)M?Ptyly;AmWxQ-3F}@(MJCCp95EIxzmQD@|T$zFTWfcRquY;^*=1d{?ACX|$fM zVw4VEt5XX}?}(jU<+8xCPdy*6ThT&wU)Y)NN)2Ci8Lwu})!RI%Yt$0+j;- &!FnesKFU2#58v)rvGVAO4UFFIskqu#Srm;*%h)RXPAkm_am$1(_ zNX$_1aD-r~JEfXxT*vQSb(4pVJ#8j1M%MGvHD08|l3G8r1m2-{MpJZ ZiGkQu&Jd*KXbR1KhBg@8T_qC*Fl3g5v2hHdYBLr 9^Rd0j+?weti{gzs%ihRzWy*p!9MBA?l&a{mRNn(Q3~~9Kdj|Dq*iP z^A#%Y=By>$0XQ0Mn?jFXL74*UFAoL-*=30IPPo!&EDQ&!7l)J0lrsFwd4@B_6M}Hn zzWv9z)fQvT4rd=H0W}5 z$3Djd-Jh?og~W5vN~Ljcn$V~xsUDINwDsmXD4CZ&e-@XRVPprT=5_f{+#jFVWW&%x zsd&vJKah*i{_&a&{~%3wQQ!5Y?emXw|M`ZU74XL!b`edEccx~~7PziA0RnJ_k;G4# z6K8>ShsAQ>g~ZihCI|>|W;w%>jhD0qE%!gzVJoP~S#OZ(Hg !N#mdttEx z6tKkGGiHs^yN6~=ml9>a5wPb3>L`JDmBj1chTo0X=>`C5ItW |B`j$l4!q&sV31uCCH3N0fo&Oz z2onHkt3-t*8@&@{1-`UzxA;mOLLNQLGW*sdDeA6!0)Ym**y(8HYO7cA0 v+w!m_OO9L dycR&GBO%3zMlgQG-rHc`wBhS?BaT{Nf<6936>7C3(zN|4a~mzAbst zr!%Qn5K CqD90yeVJ zKyW(|ey&MdIn5SIP#Z5c&BE`)SVhyNF!0 8 9;vCs@gOCjMTN70(gjgW6i8Em$Nbb8Bl1k1L*v@%(4UL3? zCfO}B@PWR=+eU4OdaI$sNoj&})Lvg%s|NXr!^G~y2tOknh>$3?H$I<9Duc0x4-Huj z0r!n3{81ydd`%ndjVGN=EgFYt$@{sFWF1Ql1fNT|{!ELiSE`=%C+sj!k5V&=N5~ZB zXaL_6lw8IJ7FHInbhn`z{j@9d`kU=^GFgVrJs)&t$VjP2-?=RLs;>C6TY|zj8!Zpb zgN5wqwg%L8>7yD~bHMIwT&oX7p=l?~{xEQ_+Mb)gURU`I-=kt#`Heys5ON?z>nY=H zS~`iS^{xf*bawB`7*`3Cctn&G3}BLP!P?`J%t6RA?qf(Cw#IY^7UaL=!CyWQZh3J} z)O}8V)g80zve9O^+)Mt9?>&etQ^P^g;bWuNmLw4BtRE%FSU<~0nzlJm`xf^g)$mQA z7r-cgbR3({rx-kzuUE=kF+S|d9Re{=v-MMX^LeuxdVzc_e`sbkF{dxF-z404=F9#v zS-73c9}7c_SL3cMt?L_NNDtK4_+C>y@&HD<`;Q)DOG~{J%t1OS(iarQ#$S2Qx2g`O z*cT&I4rdq>T3?MVy5n(Vh*_+och6N@AQtg?*}ApnP=0OqD-siKN7m_VkP&s=J*=#q zn}6v}W`(oENQs2Deezat`Baw?(!0Wv9!|UGqcJR%8QBxCm`j{(GQ=1u`-87)O3@1- z_P0dBO%MBM4c42)h9G-P8{e^O;U$RIJDy!HH|C`*jm;ZC 2Nov2|7}F6 ajTibxV4Uo>(Lb)8K1)fg z4`{i@0cj~23#4ZQ1V*7ELb5pjWumJySbA?5BFvG>6P+-0AMdlYZ?8fc&dRs8C`R{2 z-~j!s`em*yOC=7uNUvm>a+xlFy{b~f^yP~Dnzj*mdN0&2MdtAP!9B|g1qHDNfcoU- z4x9JtDK%2eW+v*;)*0Qe(@a1~z&29Ubu^`#kU68{>5H?A-PM&zPJ3+QruufOTN*2R zxqAM6p7WiWQe*uG PQ8VX38Z z{I+?@H7jOJJxT!}$QrK-3mUw(ndI|re8!Tz0mgjZ5^(e%r#qbMmHBB5#69E-wuM3u zHfEM&HugVKeC*LMHq8rToyq;ys5E&=;9A-iyS4KPKhn(0Eh59>hK!S?u)x@?hai?W z_@f}j6K6cgUC^vRVY^aUF^0QQ{7uCcO$wVcNwgN~ch;4@rwd5C=uQ*D^ly9iEZv`f z>R+kr2OG$ 9rp4Axp_-HJ)i!nkE@6|&WCz#wwHQ3ACgUmO_UHq5!bWz(Kv zb)-+o;o5{-z*%od)L79uIS3`|Je}%yoRWS2J~+rd>9F&u!0Y`JyS m+ z!IKI6Kp3%TaJaRs2^?T11+ U(B8`gSIim{a!wl`kB)VeMC zq%Ey>`#EoPjb(ssCvVlf#B&^{!TRL6DsM(4KS7BHaiEgWCWC{5uln|@xo^CvT*B20 zT0KdbTt{Z^+pa9s3yHz-B^&Qlz~Hnudy<86Cggu-_$54OUM0x-t;c9sZ;w@}`Nb_3 zHhxoMwK$V#>EWKzHJNb}4xp}P_j^dJ=n;<;H1LboO|3p3=i)IMcZ^c@(aA39zqKB( zB+t`KsCCE8q~joVof%4`5Zd)XTAq-X46N{_U5aRm3OuymaS27)k*}opk~B|xZRdyH z#%EtA>Grx$r)JySJaJ!9vEO-J`kU||!G7LLPLySMMVrC0^brqKAHXr`@T9|*kYTR~ z){7wRT88d;V%0lF%F7hyV>~oY*L&_J2wFO~yg&Z}I3{x@6_ktKmM(;PX=tZO@gGA~ zI29iEEuq_G&1J_~`c}$XOaNZfhmla84>V4Y$1jQ}_yH(Z@+fMzqiAgnHG^Jip~p}@ z*)+$hqoN-FYzln)RB-nhIY8jPMycZ9R8ekOvPR?*h2VKnJQlEJ6t|PrDxR?ggC^ac zAl*E?4uCGFA8yKu!7p@k)QFa%4!4ODvoI!Bi@o`SW>6E@bY=A8wFD&yXaYZi-`KXR zZXJmqt&suu-`Q|+Z|*`+Fz;^DxDhle3Dprz_o?2cWI=BU5qUz~q1x7yvB5K$ 2cElGNArS>pgw0s`S*wSw2(-Loa@TC^oT<1QS6RB|?QnQT I^w<@sh;hye$PhdVzj`rRUEJYF{m zzmfIx=#?s8n`@fW70_YhHL`T~D-W4#Iqx<99lRd<1!rD(8`-fe+x8im5fYhtoi&gs zRAJZJDs)8!hWaOcfRwX++T(>{>;iZfZLr j{+lgJQyI36-x*==CmanM^sJY0af zJ&_*D>5)&D%3AHL>kZh*?e!U3>{W2Mb6dkMg&D;hc}iRZ9oy=Vo{i1kn0e1O0v8?Y zZs1d&^!4 4@6G7?n^lmFdf1g6vNB*4pBD10@s$;0N?9@w{nInx%s1aO{{J zwb3wH_t>R)D%+v(NA>V~G_!cynzqz#pm-@VdqqnLy89ac%)ja0?2+B8Zc=cKK43CD z;ygv3XtL8E@VU_(-5vOn;nh_n7tJ%7%#!SvyS8<9Wi2GLugS*28M?N-aZpM87Vhxw zwKO;17|P9CXVsJ?UwpTNxY^0rCeMoIBD*)gZWZJ_=*9P0m)n11aPR3C$H7*kdaW_1 zfc5;{Dx}K$K~L9DfsD4+9 a>J#=1(7)G$4kdHGGWVkNy$7N6+M3{@QXMf$VFA`FZpK4G=;?q^2GSPd0KmF zr{ 3EAspnScX+yX_SzM&!Kr1lb8~M#3W~Z9CEMlsqdhSzQax7$X1LZX zv-dFNr{OB3(Vn(2X0SG#YcPuULj{+fEoR)cL6qg{Bezf4$VKE9`1{IuQu~{$p{QWq zP!w&3&Xb)|du~NBN4vD-r2u_xsoMUC87~3ViW)%<#cDO{?eIb|VqS Q0Gt>nn!5USV2}B?my_<@XTs;4!+**T?_p7Q> zR>qPY5Epi6A1)b}*Sa80T@PJ{dO!`Y!WK%2D3yJiMy~^4tDn&X8zqb%Gu*}rr&e5l z)7OwzkpE0cbgXYYM9Es9EnadlQjPRjY1@Cr_~5BC5k(GDF~+wQr2DDuuk~24?6$!9 zGg& 8D>T@^~ BZiz#H<2G5NBeDjYgnrn@laZ8{DduUoOQcK`)1e@1~v0v%tdbI zo(7}+=6#@Zn HT`kfU#m>xRU|#m5Va0;A zE0HIPycddVT?!m^@9#OVbng-pbvH4gxs=I2WJXY(fDV5qenA*>)j-zKZC$eFEW ybpFvt8%V&ViQ0MT2)3X}#a7z7xUE=C^O}>^|lNx&>Z?1~Q zn1CYI$wI<&MYHI6`c1O!-Z{R+Yu~~j?1&nlk9;6vu!`H3{9vu&{#CSa&Cg}5(mow} zr?RJkPeH8qieugR_Lfi~I{p0ij8BP`8BfdEY%TckBGH7_kM|ERC2A%s7Rk8QKlY^% zyA%SC2&Km$^R7Pjy0 g*RAh;7C5G;6bcXt|SB)By0@^+qc_WSI$_ZnmUf%EYmbl)|r=2dl7)tpqzY}_GX z*RjlGB|88;aY0uJ@*Ev*B)`aZ6pxNh{U;kg-I(bB&M)(#rN25RpkP(UwS0dXO6k7k z2YL -gfpJI{JxcuoaNb~>QtV~B z87ELm#!yN|$9!dOb?~}9@$>?9+zO8waCli(`ec>*qzi1C_%^hbIy5l>zobg4V)kdh z{X#BgjvhS37dc|m;V=4`91in+w+i{IG!mtX$6>aAz~h{-U*KbBXCP3^X!AIOA0UVy zQW%F=+y}cx*9S|i?y2BOnDjDYh+WCjlUa=8Q=p7lo-L1v2t`2-8wUB!3uy5TdUTa- z1R^)s_=H3=cY9(R`eEz|aoh%;7QOQn8T*EnspYj$@^_95^p^R z*_M2!!~vY z*kgSUEL7fFKkb}|+B*+KnLI;3tTq}5zmY?cR8?bNuyhC$rVM$@mTVlS9LDmQF%hqJ z$Om_s9+*s!g_pKsz^e>Q{^iIcuE>APbkp1MPReMO?8&7_MLZX?gSOPtc=whkO3YbV z0>&Gc@l(}71}%BdEr(IRYw#pLRO*~*44U9|zWQj^+=tSBz&$BmWX8j!%T}MuQ(oQz zGcQ~b{?$F*`UU0sgR)Z*uR>&5YR84`F9PP&((~!pYx=_sC<__t;Fem+y-LYVfma+6 z2KFMln}fR_lWCGKIMCvv|7N5~N+^tuJj2QWz=_@yDDBmNvCHqidaE<#b?X3U0AWJV z$ $NNJx|95Zyr9)Q{HN Tulzeqrn&n{OC$3F}IxgosS0 zWZuJoPR!_ =9{FbO=?p+O!8PQ9j zF=&=?%ne}Kumaq4X5Sw#Byf_FN+&R3VNA%|))QxW7DkLZ^C$akjz>|0iKv}XEcMKW z!UqkbsDJU^aF(%Py*Tc_lv0E!^^HKNN~naG1HVquIuh*?O|p3Ssac77upI%abTm98 zgKru*X)Ph+od4sh1A)~?9+3{35-{pd4x5VsJ#s2>4;Xj8S;R)qxA5fNM**M y>nF;**alvia^)Sgg{502Vfym2(da3Ye4eJlwX9h9|G4)5TB;cdVka=Plwkl1;t~n!l0B+Js+YDkTS)VW z-k+WRN&_+bOq@9yMU5#U-6U)5{6vPaZmu&DPoyp7T};ax`m#T<;(uQVc`(L+D8~vd zY3S>SSe9*Qn@xtkF=_3TEa4}@!^MjCOaITG)A9j^h H#W! e^ $YUJ zqMv!UIrC=>+AYWx5S`s#nz69TTKnMXU;ISZPJviB)-(w(ylaFe-!g;*AgZJ|K65Bh zP2I`~2QT{6q2<{wckovmcU{VLjpvhgF={4E9-*8O8#cvUHGU{ly!S&ufSX>-GV_hT z3P1(Jw*1~fN8j}0yZT)x-WB<_ETO %T_~WeCk%HWR? ?rp#xK z6`!8sJ_H25IKs7TNlQT1Dh;cKN(Bo@4Z3*rY+0>YCSLhKzY~kM0Y-Rz6R3!IJMSvr z^4|^*F@_)-?58bFYG0s@M!CJbMwr)|!DEJkZ-%T%>yy1g s+L65S_zkH;a?O&$-H#ui )Z*8^C0-p z;9(}1{`KDk)qX8)v>zcWr|s35po9g4bhQ~R{pc^03_f!AJqc!zW%V!gEk^&lcV?rX zv570*d+Swl^Ae* +&tXC zWZ 9;R0$mb3p*LRS&R9~Ri8lg5B%ObGIw;!nR)qaIhu$_;7ioJORAbEXbBB0#BX z>ofoA)2~s9t^GGB1VjbB6V)8y WB)2CRLrhvrWK})dY0->!M{zo}IDl`QIpdwu(6w1}3Wbz9-bC z!IlB6lmNHn{|xtOm^-w^Xw3rxC0U-{VyS?JS5|aSeoV91vaP1OtGzO08SVJycO+hl z+%n`Qc)oR`D7;;<>-KZwFm=;JvV~W$!^U?hFH~N8@-p|90k+oHyLXrV)`I9wN*m0F zfPLK#D+z9iY}gf%!q6X2u@M1ySLoP-<0J22{Ljg(Hg}f(W~~qoLx8UiB>gr^b&Cl`_%H~nMcl|Ej zRSI$L6ZLtDaE$+Ufxm2R@D9YI{90glF8@XfIqbi={DwM&Pj0>+e(w3VwD@1(_zRJC zxkC25T|eZ)=f6Pom(K;EpV31c;qjA)jLE+V`is BiDB>M9 z1oZyp{C^v_{`I>5S$EC K=1c-rfov;Rp8vZ|Nq|E}6o+hs%%=+)P`-|BB`yebS z8s?N&j!GZ*PZ}|$L8OmT)8*m)!)8L|LGr>TWsOK|slSOye=+gbKk3sBX38YeU*PaJ z56T$mo50fYkMF4dNu$v}iLmS2k-fiR&%XfW|H1SB!SipB_HTah^<&r3bzx(prhtUI z0u! gB5*qbcoGcU2^k#+-GhhD zKHntG%*+UgFa-W1!2e{jS%hx>{_Qupkc^h{3*JBB*O(gO6Moe5UsE*x(a+vPeBw)# zIl?~%4%t5ePPT#C;y 0d)*aO$6|H1(67nkL1@5v(Ao_nKqZL0IH#i#vaF9RI!tJpMKO-9dau0372lfMGQr zY9tm*8dAASVEVYRxe!78+2v(u!ZmFcy2@>8GRWq7d)JG29l@&bl)7Ck@l9YLJ~Dhu z6De^4KpgQ-5DE>5(7J|-mnUL4`OJgu+nzf~Oa%=M4R|5^7W5axFvdb+Bx6NKaXp0m z-g=jmZW0iNRaC%mC?Uazcr@pt$CY& FXaL=b|RyTh__Edsab6LKEVEP5Hdz{%dMxA>xQ6Cp|qq%=bi$2Mez9%$eie#pP#o zGTPgPQ0SEB@UC~{Z0vl|hZPO@1O(kb`h7vv+*!T#drCewZ&MIivi=R&kRa^+39{1x zpWg5Aif{1IY-D7HRkUJNeYJDGz3$=Q3SXXjqaTaXwfrd%)f^?N Iti z`<0L8W}nsIEo!@vf7vfr4Xkz&)WMHA5|XR^gZ-u&k_4DoTNs3d4=RI@ o=A;fIy%ZM_QP90p)G15yJ8luk3s^N7ocZyg*lS=KCa~A~~zwv*DNzcge zDbt{`{U#$LgQ)f;86ArRB`{Ej?;@q*CORjeqmtMCj*dx_k#=acM%zB_#j|!TJ&S49 ztsznboYd9T1=RHSZYO;QqF=h6iDk ~QXeVd|X_PZ?f0vyHyLDRy-r2eGV~VVDY^uPzpVX_pjYF?R z%(|A{p)n*$=H`AVsB$+pmf6-b)C`%&?wmdSn1A)l#=$JF|3_pp0lY{U+{1VdaP-{; zFPnf_=-Otu-d^NJjVNk%yfMyjBQzp1hwEkEFo(5mM}$p4Q)<3VG08-z Rzs3ny>ouQd~m9 zrs+IRBh`F*c6MQ9{3ExE>vuCcd17inq rsD=%au1)5vP4=5wReS;?0#H3)wE5OoH zvrblRkNaGJs5_Nx*j^gBUN{r9vQlLia+_7%SuPn686G~~>2Vu)4> D z?VKu4tQh;Du7rQj#0EdbkaU~WUsV)b2-Q8= zEmU~8Y>^RRU +R0BjDRz;q`yxzDmm!1 40 zAVoJP)L^Q7jgcVQV++UG=y<4+D*cl@;|9uEWNOSDY=er0-wgkBba^m;GcUOTiC$Qf zn_++qi_)0FipztZzyz|7O5Kp^m8z6^@%?t-4@3#mv&!yk%2r_xR)aQog3`%cv#=aE z3w@Rj&+GEYUyU4l3@#_Sv6k|+9;24nIJ>Mq#CzI!mV}908xl0`Ng3W=A2GvaJiAHE zx~{m0@2gNzPPpTauxg*BiBvwPMWs_GG6>v32M0*Ko{F3?OAQXtSxTBLPT*nmS&t*E zRe5=Coh6yYy}4ODR=R0_7!g7gPVCoZ;JPYOOA^ zTV^H{6nNl++-bMw(=JuhapE`N!f({V@*D(1Djd{#g^O?KMICKnLvW9&I)x3Ok;1_z zz(z_&4w%RU;`u)C_wP29&ePMXbj52)w$h*U*gBu@lPB4SQ%%v{1Ax*Sxz^oD;K7Y| zi65ssxKw5jg0oS*1O}!r)+pv0Z}Nw2#7|3_RI;-o3VD+vb~8YeowlFLjw>f}JG=7a zPN Mi@;&6a-KKlhS!7N-tH> z0XIbn8_rg|B_Xrtho=AuHkplurmzFIfnN>&sGb8o1Q`VlsTA4Q2F;T>g9bi vdgJ4=n9RQ}4)SaM$&E BJ3NSt8o1C!EG~>~D0CQIY0CR5Z-Xke;bXrQiwAdVZ1rkUcNz9|@H%TUV9^*pPA2 z3HcnxX%<7KfE%x6&S!40jma=0P<@=4ok1VpAKlpSyA%dorPBlvphz9B){-z>_ hc*^0;@? z|8dldz Co9@OovG_h}7IKXEy3ZieeF@z{&? zwUr|f{$A@(;(B%rNunQ@E7V&kDb6Giy{)V^NsIB0odOhG z7N+|}F0z6^&vaAwpELobVKl2Aul=BAYCxg{9EGa^;!W|sja}i5rf{L>Cz6JZIZ4{g z3+QuQ`oIr)mEP(7&8zf)G;EyBp;|0m*iy{zjh!_(l9F&Ta&0_L)BvNxwcwQ$>xS|| zK<(_>%}QZUQ!C0zn%&tmc!J_7HIK^9gMNV~df%C-8Ru+Jt)~e%PTdsu?o%WFNUPS{ z;#dbXS^(Kpn2MVxM!=ILeae0C7o9dG#uB@m?YVGaVp}dVaJ6UAdmfCpO#|VvIAVsa z2vF3H^s(=*otP?-*MIl*A)nazK0Msflk6rZGgJ_HC|_OQ+Eud(np^s2?qa?0^($4( zN4UTEmv*%{zlL|lp0$4-7 nB?2a4ZBiI z&Zg~8b*l-RNL6krV56gygv4FDmfI?JN0ut+oAiq^2y*_2|Ah>&egze)oJC`W#uA_% zD*KVM$Ezc#CR3Ts{`{leoM)T9L`4oF=m;z3tUW)IPwMO@dvMRHdRv@PD|TO8wR`yM z&lvIFuHlPyjt-t$n|gI<^=4-?US(C~J!u~5&hMSX4$9{t#YMCK|1{Uax=jBRI&m>= ze|oK7U_W8XKlZ!T D<)LQ|t~mx1Z-P2xK4FO-i|W z4HTjLo>#bZO}qUJE{iZbJf8Pd41m#~>?spaYnG~Ec8E5J$Zj1eyiFQf{w-)ESClzi z3!_&KTO)TO)*(^tPP3!-v^%!hxr9J^LZRSzz`1SjLxaI8kV_ICpjEG||DtA1I} z^fqn15G55=(&&&Z7lG$-pG`KuP}47SiY^|IH_C8yG^A*xNZs4JEoB9C2EBJ8i Eh>7j^6gDi$0YY-1fuVwpgsot $|( FlVLH(Zm$nVZJ5ioZo`cGfdGOn9>EMSTDP5wg#0ldYsbF_8 z)w5W+Ucyr%tN~c%2_57G9^<~@jsO{KXaaxRT5a}n9&sx WI0V*b&xBi=2KWNaYqEKBIUX zGZ*glj u56eq2JV_?);<)pH@*l zqa}i(qm!ZQ$}b|a?I4Rn_U-J%W7(uL0C|t)dQ&D;#IvmlD|~r6YM_3=eFY!x{jS{) znCEO~U0U`}peRFWHp?-3a}v~4iSg|k>+9teo`jnuK6$j0uk36(*x>5yV_5SkY2Epl zgu%u*w4%Cl5*W?F_(qs0B}NI;i&deY&fzcaRwVGgt1n^EImCa_EHL0aY#|2m@Vou*82vC}%E*V^bL*+DmSW;JkROxUcLKi#2oZnYN%K)f=^?gFU z^|~$kmcjU0o1sL)OuSx2>JgWcVjxaNB!+Iaw5f=!vhw4KFkojFS0*ctPPq5NCK#Q# z%K|1_TlLYa@p{vDu&hyJk%OF#6Z)V({3#c{2jCWPdwMG=ZjY_jPErOYmK?0v*}cbo z!NewwZT|62LgB+}cyB^SKH&FHlIWIA1ors=IRB4z*0qC0^>n0f>#xq|?|Vy`0o9K? zmSK$~(!d?Z?5YK`UO!d}RuKaCkF(rI&UhzHx>NE47^>4laV_Tq$LLIE&&_jo;@%3_ zKk>iV+f@%l2_SP65b%JJnjEC;fYr(mW +a%Nv2^Lim_SOMkcVjT=+X9n+XH z8^s6hHItZr*nwXUQyR0;6ffU@HNzK?ZGC#Bor{&R!UONQ#3`|Q(@c;kJqCIM;7u`S z(AhQP#a2*IeZ`aHfCaLQR7oVqSqEb>!-|qpr`ZOnjqvtjMioVN3U=y3_QN6Lsxs;h z49w0wS4=#>wFSG`^!j_dXHE{G2}Q@RpR1cVZ%pTUCTp^XF&tsF;qTj=!niu{#cEyJ zXpixC-8!6xVpt3W<$k8W0Uk(57s1IMUrG)}&I-rkjhUg`l kBDz4rdW-${Z-EaxLVm2{DtKWJAJf_LUeFbLy~8N)EI2$ zvNCv(Q!69kD8oMaxhziM=9^l`=Hv%`BICeC+z*SM9|%gxCd)c{pW|WhiCoD)--g(f z!!!o7a3(%d(J&GXe; |{&H>+iU^L_Rel0v?} zCi;i1pqmGs^z=^30ydpG>()AEFQDZz>G|W<+em889FTOQ7Sa#9-Sm-HNC(k-^-tq! zHEicje1m{`qolg7?tyV7J8o+IJsuS6)Abjv!!6_Au7Nx(?p{SE&iJo3y)-mgrq!Fl zje0#^X#Mh?GvxNsixh&Q{Xt_oIh=;B`IYe`cg&VQlz0m1OizW71o|8*xu5O}i7Jn0 z6D!gTNK?MTnyI^>H_{TI_kBpXU3R%YX+WV-^}e%CM~C8G)~&5d0Ll)TM-rWeNYF z-8YrfbNh?SZfX`78yrlrbkLuhl$3z)IVLWCN`l+UwAm^Gb5n!g)})#k5lS4S5Z+UJ zXmQNINo8heZtTmrXwGBV%CgyNW?+4g7u-KY%77r{>8T<#jdQn?ONsq0BY*qNx82^v zX|_#qX$4%&0}=b$iG1bi$hEAvt$FIDdUg_w99rjZwOF)ze5sp_-TX%(saQn87}(KI z;^>a3gDd0b*dkW!D|USYouK{+1~~Rd*zD&$m)}zw`Uhu}F1OV+!XUJ0PtTjzD|V?5 zhEg*3p7!HYq1?&oWa$C?DbX2Gl;fj-r( #4Do+p&VZy#; ){fLJ4Yhh zmU(8IxH;@{!M`Fl7Z7^Ezh&&s6~ghhk*8tS6m%Z1FY5e;VbxhCiAOs{GcPpi$IR`7 z;3~IZf(1TTK{ZD +ztWeCBHAA_I4A%65bu88mn)n9-A$H zM!@LM$kBC>V`=e6DwyKoUu%$09(|W7s(oo^?jl;?3{`yx)r$ zoUq n{MD?EXJbAdTb7E~WIKH-K}Tm<33P5UMFFLhh9_3QF1TB_9Qf{Evj7ZJ zcKWEYPBM~i!!HeQB`x8(Be*t)Qd#tEtZYTri56tnjaW#Ku~A{@LI!B|$h}4dqMYur zN?Lry8>pN$vg`ZFg1#02+t?l{;_@M}{{mFij-d&u{zre)d zlJ+nqvsCPxP-o&^TrV2=rILc0-alFR00Ngn5Av;lgU!@VViBe}HpF8KKD8#|(uk5& zh=fnnAvjYUGMn%2*-cW%FQNAr+G*UCB3UZg|2DgguvQ3oCF0~&WBc5U K9U5{8&$I4n82Al8RZWG%DJ zy7%_KBEwTkocVxHx}uGYx@xGPr$u}a`m>7@J}hl!l1N|HK9|`X^v&C7&^mf6xJ*fN z)bay2Lh5D0%98J=xIvwF#q6*!0XE+LP8g6YWR7siH9t^OW!hfQli!qz=V^QQZUf<- zRRk>U61OKCu&gcL1Z8%@z#v?09 0`WhJ*IOT@^u!O1uuAJcJE;g2m{sLS z*t=ev%s86mN97)eCUtr+YqmGP OCG}F!Uz0nsaCzM`RsyjM4qvWL|^(j{z zPY|;#!;xy7Md&<~-ZMw!e(7Z?{+UQ-Ne~kITwjf*FF9)7yr2xsc933juDod@tG**B zv^i F~f#7RZ{ud!}tBuE&j-VrwIHhB8XP>%mbkyQYXt2n;I89oCyn>T8kp zbb3_PFC*&e{1guIPLQBV@julO7C5S?-dtKH72dl${*B!!W+i@u)S85KAllO>3D6UW z&Yjk&1aS!+ge1sDEAFDlEEEjsXax1laB6qn!{)GvTuBw%K3~~9GCg=m5h|DD13nUP zPdhUBJVB#sjThR|VLEj-K^?Fc2txN75;OC5c4CZ=D;2+9p@eym_AjL-^G*@O#5wrY zSYGn~h%rH>4=@l)Zg=J;>qDSjQQ?~KGg(Wlaq=J@`Eu80PX1AOUUlw+*zGy#SM|4$ z$*s*-vP&ISC?m~>oYd*hwPZCalb=q<8jDZ#NhV$jaHqj1QZ>`i20M@$MK`8HrlGM| zdC86me9th(mLN?lmaR)(*rT7vym!;&J^0%74{PzdxzWH(Uff=GzG9z7BM(bc-UCTt zbxI6of@S|bBwA`8$3Hi@RzEf9m!W&t!?un6JUxBETtARn0q=Bc--)pLK;ywh&oblc z8{>NjSlzx}%B#|8nk=BzuVHp1#zQw8H%Hb?7Ew0raibMdJ*%YS29c#9uxH>%%6qn@ z-rnwDY3e&Tn|%<$hQn^DgKmEB*%cyE?>%jD)*A>Af|Zpc?zHR=bh @n+MG&VTT3%`msCMA%xh1P$ zwkC98&m@##S&3h5Gfml3K`$P{b9O5 <5Y@?jyeTRpI=pu*p}X0RZt=XPKR z5wx6)m_aZQ99l%@U4Xyb?-G^hTyRjNJl(Exw{Y9F=7HP!TtccvGv;h{>P-{oq_|X= zUkdoWSglt<%@c>nV>h} #>v#cyV*^c2V3yVw$lbFh3$FdZTcF67};i9?kLYmmmG>2PE- zox@MWGhzr^<_%+~xox}Z*YM`UNU1GHW>uxTrOumy@F!7bCZ}p(6-mqTnJcEPkT@?n zU_T06UhxC0Bb5wK$rj`=-xCp2_ ytXFsJwFNrfSkHW> z3@m)CczZLJ4Qnmvtx>t!P;p;kxKzeLpv%J(a!kNa4Ekt=#v_w3ilei`9VkwZebt8v z#v%FHZo##PSixNt8R0m%Bfhc)u|>bPLgVASD>*?kBo(zbcHE{uMpwD~3A-x^{ovST z73`C>kaTk4qGs0kP?cv3A$X~HL{KZyGDh4_WUg*(;)HYcPHDYY=x)lGg34LNyWPoB z=i2%3swoXdr8^eOtM!6jX^aVOa>4BBafKBAzTc%L*nD2o9|rTFN1krZdTuoU52cJ{ z;9YacFkOwL$gMX0wl*59O_O@bd}rQ3GG_TZZZ^u=I?am2hYa5R87+uw5!sz9??J1m z Ly7bdW(e{$R+wHSfR_97|!(99vIn>kQ+s+ZaDVSFJTuu0% zfvAFGZ({pu`BK+~yT&2V `RqhFkJURg5IV+Jzo0~NHj-@n|1Ip>Z-#_zZ4ZSmCUk1poO~mbe5Ia<3d6E@$*V- zAWt~BoE<)@+2=KrH+Zmd50}Z?0JSkxVTDj7 tKm&|4`+WoN-D?Y-8(q4@%a(F)R@XpUAGRPw{aCbx$j^V$@ zmuC0=iiJ8mogSt0O;L_Ee6njDSlIBLO4Z_QQm?Y%`}!%;zP;o8$^lpFqG@lYb>Gh% zVfV;061J(B;N-x*;1$)YJFBA4&-Kh+??4B#ONU;hWOE4WpZ0zqln|#2ja!$J3~3>S zfnl4FU`k)2@|e;Q~E>b8o9InC0A2QFMbf)WeQQY-0(5Jkl=0|4A#UeSAaw0P*r z0K$8}c!!M{19bd6rPx ;5=K^YB#ZjCY2s$%9ruh$1oqv?KJK_w{JLE6PevGghEi zY?mV)9`e(CX}{T1cK&Wg=%By$GwJz?xGM9l8){8nAg05>r{ KxjG2XCZe-#> zvd5!=>EE&~)BtG(yW7XXL7&9taqY_o-#)hw(u sRm=`MeW|$jkLq`YO9k zYH=jt26LD>6k_N|y{l43%|70|5IF5D=tDf3*Wqm9J6AL&U#I6V(fbwCTrg;H%{0*< zaIRN@@mj-<$jWZA8!C6xBqR6$f~3Vwj_dA|$z{c1hEjs%`{UuNdZQQ}uX7_Z)U9L- z)XVIavB6|T@iQ^8szYVTdebP}W5_d+4YhEdQmx?wedK&8JW{WG*&?8@$t4$q%k@?| zMp;oBxQ{sJ20m*E15=c3j{}z2vka7DToDDc2+mKLSQ-gTPfxUVpR=$h_LXBKiFtGQ zX5wQTNEJ6G ;})C^I_PbCTq)mXQ7KX^He$jKKhjRk2*Ch uQ$M?;#D}GtIeZL+(6FzbU;ZE)wFoFVHUh}T%f-+Gu?k>8d0yU{CUll z@3$JIsWqK_HtspVs~w*xVmc8e^N!M~BZg865TU)oHtm98 9;-L(HzhY zQ&3Q_a){Oxn>>-MUa!GMP9=1*Yl{wNtkZKFxj1EJ!s(+UXy1<8C^lW6NH6LmOSwfE z>bNcqIiRZ8ZzI3E<|=5qc}J*2cCF6t9JaTP*@4%Hr}vXrm3vW12cfzsD`{KnX+iDI zFtJGsu6qRlXMl3O;zDTo1ta@Q^?XJ3I}l5nyu5dX{VXb(P*wRm;Bq5)o$J=%wpCgQ zZwv{9V0$M>8YwG;)?;ncJv5_7q$g_d<_n)rk^&I6fz2MWOdep^gsnUAj%|59Nz?>$ zPcF)N8-jgJy@4e7e*11hH~4N9&~`3f?&)+VM+8v6tJ;i_sL-)P2%VGYX4ZC|Ot3vM zUbAPRtdpzv8~l+MQfaj8d` iqC2xTe|sbDaFyvS-F1L*;`vKTQwKkKatlVQ42t?O3 *C^LICp91`u7wbvbeIG7xx1F!zmMFskq;-7owmhCd% z!-BwA&T(A=vxv%jkJu_XQ>9OFNgzq$-oDzppEVW2Ui9wR(|xC`<@nc AATS*;9Kw-ya;N1x@$Bt@{_@qdBzPL}b&wiQ zNiFWq2^?PVepPhXWpe1FtV#XHV%=NJ7sNKvhKxuP_r2Y-R|0Z^=38 z=5RKCP|FEDc765qoQStJaUX7cayB0 (nWKE5{&=9>;xoliizf z8NU?h0!{7ogoq>QGQ>SY7>Uc3IX_(9zJ$FP)=?fXmz`s_rr?)NYH)zEDe$I|9kr(O zS;*H~Z(}5oAWMxdbDbVg9V@=SZz09+QPdHs+O0p5iBDLTDv4w9`{H*0m_*9|m}p5c zm}zY}`cMQAk#MyZMQ4z>I69VDU7fR_qE1}=@|~I>A)T*wRACdSMKcLG5eCxhF3io9 zkIwbUYgFUlSd@LQ{3z6Z3tr`R)K1*Uw~zqLUK-6e#q1i&D^G- a#IC|zw1LxyKLIJt41^7WkaI?-k8{Vqv+CyltqDi zym;8&TD_;V)_|$fFRv`&QgmW#d~rom6RJlp>kJFrWp`_=8klI`Sz&)}d%o&-=sFJ+ zhLuN!YiO{m riyfFlqMd1!iG$PuV0%Oc65% zq+D8uT D=JG5qMYgPE1GHyMJ zavZi^4ZR+;(#aK)Xiph9!JNc*Sm@-$bx%9LohJ(nO`74sNKFl$2_tH+k5*dxRdKFr zfL$bVc{ZW9gSbcFlx5uNHBEZd3Mq;pS7Tgoc1&;kSKWSd2upv#6_m#B5 2jQ3l`y$vpPNJ5Y~4NM+Y}fLD(hyv+uugjru?AtP^6{Wh4|=vQt)f(+gjw=8ctA2 z(EMEmStBjKNWjzgF}@31LQ*XLEZ( z&jW=Nac4*~*Ul25YUnnIZc`xr=Dh$0(CsY@vclb^1f{DVi~47@nFkvph&w;?Rf|pz zH(Vu|rH}h#B@xu;Z!qKl!@(p&O3sw^o5c%zS>NVOhmGSsf0(Zn-~F7AW~_bl==$J% zpGD}7JX7Hho~&VDMn6yRRQRcUeooTk1ygxD0e{+c6LO~KgY3(a-{_B-$319!tKl<- z{ZvKLTb)R>p*Ye_6nGz^N$d4&yB>MwZ$m@)Y{R+%UQ$*rNF_e5A2AVm?vnjl${6;1 zWe{beb} ;s7F+e}|RcZ&T`!nL#d%|&tc`%kOwxAtg8SXZ57 zmwfFPQkT=CSG2aP;LzZJj^WNA7E>Xt7&_Uz8wdM=*so$d!r$G=zl>4`w&jjq;pgBL z`?!HR!0oTU(#|S{W!Y0zjjk0npOiHW?Tct{l^LHfG)1BV9nbS)Cfr|vL?%NfJ@4hp zkhs5ftvK6u;zY9WyKn{twAb&YHw9m*wOA<$AoE>8#!rV$N6y1??FE|2G;HuH??JjH zAPx?WvhNk8gFIMoK0s^v1Zo*oS`^A4tpm*RaL2!YC9iN;?(tF}eQ~kEw9HZ}EH6O` z{B7Qw;APlP=t)_}H>3vSEDC&>2neQHBZXX{Qzhh6V_Q&fLQVfrn4U9H2-oA)tMDG) z?baESitxK?%DYr!N%o85x9^7143 z>EOoWcM>C#g=qTT<`HcI&T0N-9NsopkLGan!=~rECPZ&txYC z-o2|704?o~?&EqmTAI 0;h`sF~kJ@UD$K!CDCYq~s=^dgV6J)-Ek2$7THAz9vfuk>hj!G`yllGhp- zp4W~ZM(o6@^gQZSQ{{sYZO3Ek$Bo78x|d1^Nxc2DQbAmfzJ_&Vv=h)U_k>tl%l4ip z*Ws^7h2z8M&)H-vhrgl1!EIduOBHBa&k^q>*nVE-@Qmi`Up#{u09v!#tpt#Wc=kZB ze?HzAiDd{?`z>k`IJR@Hpvmj|)<6qVh%l{vidYl4;B*;tEVqIU@`Qmr#KPk#Qe0hw!){Lb5;>M_5%D&j;iEhB)|WX;G? z?CKMi@5JK9YA}sAcV}=<48VReCrezl$Lp~+(IuZ1u}CTKM#%9Kt{eQ+G)(f#x22zz zTb`Q&z9j204ia2N1Qic3+GH@zOFM~&-|rBxI?P-fwgHQlrl&|bp4rue;%wFmI-fS4 zx=$`s4AU>~Zl($?WiD;C`lEIjnCBNjExN}Dl5GU%&&6TjCRO{A`MG&{-se^-Yg6$} zf`{|W-Eadg6S>x$w|?(pxGQzoRBuARh@|3?8s6o0D X_JY2lrq63uj9&VcVfNzN~YaRXg41I&S-wPIP=Jt5K2?wJ%=T`N(zrvO* zI0e6kQ#mWU%_G8K us1v%{4=syp_#+FYwNdeI824imOjCX-pPfwcO zmNv^SFGDft9ab>gwZp#XrN4^Ua15h(*4M%$9t0i|8<`mZMjdLE*V3W9-sgEu_~tcH zC`swuskSGINj|WrhcGK{6DgWOd2Ow770InieIN+q?8^<9ugiOTkx;#kkM!jvlOLCo ziOj^7TM9L*+$niAI@_zng63#V=N~xjjVH2DmDI*9tHjO@$IGJFjSsi*usetj)H~1! zuqtKV8t0FF<@tPS-NlI&@v5hYJkqWah3dKeE*!kJ(=AgwE50*HwmB9?_Dcu~Q3Hm@ z!>FQz(#>LQ%(;-f2^JV|gL=UyHlwK*8fe)vW&%~;o7tqH9zAv7=7`iIl_17&s&`j4 zP)hbe=e!I~6JD~chSkG1M+D2R P2%}xQUw@ z08||o>u&MoImA?uDPbcc@|M0Y3#y`5!DW`JEP~9nX+pgX3vA6gTU%VLmINAFq?E`p z;bLGUh{dSqC}1D_{$RPY*iznxd~o0 ^8_ zU0f+j8(~VLSHcaH-K8yu@kCjK-~SP6L_iE}UiFG=oH8$Gq6e<$c0QWT{aa^P=W6EA z`;55vF4Kkiufz#?hyBxpLZ0kf0 iEAF9%24J z_TDlo&S1;;4i+@HG{J(q2d5#p1PSi$?(Xgo0t9#W;O^2`a0~A4+W76v`_7s(=bo9l zU+-G? 2>4k*X#~l><0Gf)xpHX z_yLh9or*d^(e=v4CMIN*JQ`YJzb55hAzoM$Q;SNwj6X=zQ?hZ-kwxieB;F4*j?FfC zlAu4)E+4Jlz{apeMPwc4TFR(lIgdpbHhni=sOkLNFj}`T`_EUtO!Q+wb<+s8U;z zq4Re4Yp&~o1~~Z?7g!@RrAI!5MYh;^e4(L!o>oZP3$Uoi!Sih*>4U2#Z8apn!+u}2 z7=GUQ3PqJ+*>e7~qP-$`tNAhlaXlng#D0Nfpi3o`l%nmO-LrdUV Zd^l4aZs%0DVwF}vRW>Gspr!A_%==IZ<*KbQ}4wbE; zOWj#Ccq4Wj#Vhj(OfKfy7yqRfg!Q0kM=uN$qfCU)a5?N|9F1Nr{jFw(LW*n{opyN* zcYPeZB$t_iw|)&Vqv!ayni5)h=W$!@#VCk{-e>I@#g&sOMHfCV6sPDXa4cy?&1Czb zW9;m(ql=&DB-p-nb{Yp<5Cx3qkSR|R_h6<&TPcz?ZX?BVLE}*qi-O1dQvAwXGYmA- z!IuJmVn@LxyyzXC>$si!8s#{KSP2PB*<~aKrc7a!O~qv1Xg!*4h!6=u^i|sOVO~_) zCYKxVC$kAg0gia$KU~&?Kij`k*Y$}YuP4YJRM>XEG83RHriGyIaVRuk86Jw6#o?G~ zLhlEkJ4bFtKl{9m8i+@k8Eng^n)%Z!_u5wUKW(Z&mWQi&(WX?I&*@x|DHSXLUt)1) z^>l|<0;;TnWGA|ia|Y&Xs0KBwQ|E#4xy73NFIGzDIG3wyb_ f zhfw%aLG;e*5WGIw(Yg}^wC62kbWoC%7+vYM?50;ZC{p;H*zhYZRq1}svv{@9#)exb zv$q#J>xLmFXstXWM=uOv4|cJI7mD=cyJt$hS55eNT9IpI%%~aL%;F?LxgBUZH3zf# z^Uqww^+JX1Nmi+&E}finf#rfGzeb_*gylyLWV`SuNEMd0STkC5j*F?qE(RShQb7d; z>m=tACT)n!3gB@>qTP