From 25449730ddf0b976df464e0355b389092f26c3a8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 20 Aug 2020 14:17:05 +0200 Subject: [PATCH 01/39] upgrade to v.12.1.0 --- README.md | 2 +- README_fr.md | 2 +- conf/app.src | 4 ++-- conf/nginx.conf | 2 ++ manifest.json | 2 +- scripts/_common.sh | 2 +- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1d09434..e671920 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. -**Shipped version:** 12.0.1 +**Shipped version:** 12.1.0 ## Screenshots diff --git a/README_fr.md b/README_fr.md index de5db96..6fb239a 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Droppy est un serveur de stockage de fichiers auto-hébergé avec une interface Web et des capacités pour éditer des fichiers et afficher des médias directement dans le navigateur. -**Version incluse :** 12.0.1 +**Version incluse :** 12.1.0 ## Captures d'écran diff --git a/conf/app.src b/conf/app.src index 78ae3a0..0e454c6 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/silverwind/droppy/archive/12.0.1.tar.gz -SOURCE_SUM=0491b84b3e82b51d48285ad45eba10314ae68817bd2e4b1bb12e505977188e02 +SOURCE_URL=https://github.com/silverwind/droppy/archive/12.1.0.tar.gz +SOURCE_SUM=0213a637bdd57f84860b018316623d17c47b50e96eb4d3325a697911f2ce4eca SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/conf/nginx.conf b/conf/nginx.conf index e68d709..d8f3bee 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -21,6 +21,8 @@ location ^~ __PATH__/ { proxy_connect_timeout 7200; proxy_read_timeout 7200; proxy_send_timeout 7200; + client_body_timeout 7200; + client_header_timeout 7200; client_max_body_size 0; # Include SSOWAT user panel. diff --git a/manifest.json b/manifest.json index be66f46..dd7f8cb 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.0.1~ynh1", + "version": "12.1.0~ynh1", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { diff --git a/scripts/_common.sh b/scripts/_common.sh index ac79128..7912aa4 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,7 @@ # COMMON VARIABLES #================================================= -nodejs_version=12 +nodejs_version=14 #================================================= # PERSONAL HELPERS From 4cc9619b5f9cd2ebb10c85bfa68e2c400877de1c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 20 Aug 2020 14:23:55 +0200 Subject: [PATCH 02/39] Update nginx.conf --- conf/nginx.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index d8f3bee..e68d709 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -21,8 +21,6 @@ location ^~ __PATH__/ { proxy_connect_timeout 7200; proxy_read_timeout 7200; proxy_send_timeout 7200; - client_body_timeout 7200; - client_header_timeout 7200; client_max_body_size 0; # Include SSOWAT user panel. From 675dbbbdbf4724caa7681f1885db7fb15cd6de6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Wed, 26 Aug 2020 21:02:49 +0200 Subject: [PATCH 03/39] Upgrade to 12.2.0 (#3) * Upgrade to 12.2.0 --- README.md | 2 +- README_fr.md | 2 +- conf/app.src | 4 ++-- manifest.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e671920..71388c2 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. -**Shipped version:** 12.1.0 +**Shipped version:** 12.2.0 ## Screenshots diff --git a/README_fr.md b/README_fr.md index 6fb239a..3ef3d05 100644 --- a/README_fr.md +++ b/README_fr.md @@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install Droppy est un serveur de stockage de fichiers auto-hébergé avec une interface Web et des capacités pour éditer des fichiers et afficher des médias directement dans le navigateur. -**Version incluse :** 12.1.0 +**Version incluse :** 12.2.0 ## Captures d'écran diff --git a/conf/app.src b/conf/app.src index 0e454c6..ae7e903 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/silverwind/droppy/archive/12.1.0.tar.gz -SOURCE_SUM=0213a637bdd57f84860b018316623d17c47b50e96eb4d3325a697911f2ce4eca +SOURCE_URL=https://github.com/silverwind/droppy/archive/12.2.0.tar.gz +SOURCE_SUM=6bdb9f9e629d942c81b4228ba3b49749ddf5e2b7e3c484540adb4196c43efc44 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/manifest.json b/manifest.json index dd7f8cb..e71e4ac 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.1.0~ynh1", + "version": "12.2.0~ynh1", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { From e220700eedc5903215cd958f90817463213001f6 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 4 Sep 2020 17:24:11 +0200 Subject: [PATCH 04/39] Add maintainer --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index e71e4ac..bc11251 100644 --- a/manifest.json +++ b/manifest.json @@ -10,7 +10,7 @@ "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { - "name": "" + "name": "eric_G" }, "requirements": { "yunohost": ">= 3.8.1" From 8549674540de7e881d7a94cac552facb3064d6f7 Mon Sep 17 00:00:00 2001 From: Rasmus MK <71251695+rasmus-mk@users.noreply.github.com> Date: Wed, 16 Sep 2020 22:28:28 +0200 Subject: [PATCH 05/39] Fix issue #5 (#6) Explicity set the correct owner and group for the data dir during backup restore Co-authored-by: Rasmus Mattsson Kallio --- scripts/restore | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/restore b/scripts/restore index 873b5d8..13dfe47 100644 --- a/scripts/restore +++ b/scripts/restore @@ -96,6 +96,7 @@ systemctl enable $app.service #================================================= ynh_restore_file "/home/yunohost.app/$app" +chown -R "$app:$app" "/home/yunohost.app/$app" #================================================= # INTEGRATE SERVICE IN YUNOHOST From 022d2cd6bbaca2d9fff7fa27173305bf90984ef3 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 16 Sep 2020 22:29:27 +0200 Subject: [PATCH 06/39] Version bump --- issue_template.md | 8 ++++---- manifest.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/issue_template.md b/issue_template.md index d2236f2..5bf8a81 100644 --- a/issue_template.md +++ b/issue_template.md @@ -7,8 +7,8 @@ about: Create a report to help us debug, it would be nice to fill the template a **How to post a meaningful bug report** 1. *Read this whole template first.* 2. *Determine if you are on the right place:* - - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change url...), you are on the right place!* - - *Otherwise, the issue may be due to HedgeDoc itself. Refer to its documentation or repository for help.* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to Droppy itself. Refer to its documentation or repository for help.* - *If you have a doubt, post here, we will figure it out together.* 3. *Delete the italic comments as you write over them below, and remove this guide.* --- @@ -34,8 +34,8 @@ about: Create a report to help us debug, it would be nice to fill the template a - *If you used the webadmin, please perform the equivalent command from the CLI first.* - *If the error occurs in your browser, explain what you did:* 1. *Go to '...'* - 2. *Click on '....'* - 3. *Scroll down to '....'* + 2. *Click on '...'* + 3. *Scroll down to '...'* 4. *See error* **Expected behavior** diff --git a/manifest.json b/manifest.json index bc11251..6a2b82e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh1", + "version": "12.2.0~ynh2", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { From 67b2eb5a155bd0ae833bd5c274e2016f06ed2926 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 4 Dec 2020 11:38:13 +0100 Subject: [PATCH 07/39] Fix linter warnings --- check_process | 2 -- manifest.json | 2 +- scripts/install | 2 +- scripts/restore | 6 +++--- scripts/upgrade | 2 +- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/check_process b/check_process index 6b14be7..7e9587d 100644 --- a/check_process +++ b/check_process @@ -17,8 +17,6 @@ multi_instance=0 port_already_use=0 change_url=1 -;;; Levels - Level 5=auto ;;; Options Email= Notification=none diff --git a/manifest.json b/manifest.json index 6a2b82e..5ddb1eb 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh2", + "version": "12.2.0~ynh3", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { diff --git a/scripts/install b/scripts/install index dd84c0e..abcd2d4 100644 --- a/scripts/install +++ b/scripts/install @@ -160,7 +160,7 @@ chmod 755 $final_path #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 -yunohost service add $app --description "Self-hosted file storage server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Self-hosted file storage server" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/restore b/scripts/restore index 13dfe47..68514d2 100644 --- a/scripts/restore +++ b/scripts/restore @@ -89,21 +89,21 @@ ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version ynh_script_progression --message="Restoring the systemd configuration..." --weight=3 ynh_restore_file --origin_path="/etc/systemd/system/$app.service" -systemctl enable $app.service +systemctl enable $app.service --quiet #================================================= # RESTORE VARIOUS FILES #================================================= ynh_restore_file "/home/yunohost.app/$app" -chown -R "$app:$app" "/home/yunohost.app/$app" +chown -R $app:$app "/home/yunohost.app/$app" #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=2 -yunohost service add $app --description "Self-hosted file storage server" --log "/var/log/$app/$app.log" +yunohost service add $app --description="Self-hosted file storage server" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE diff --git a/scripts/upgrade b/scripts/upgrade index 308860d..119d625 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -165,7 +165,7 @@ chmod 755 $final_path #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=2 -yunohost service add $app --description "Self-hosted file storage server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Self-hosted file storage server" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE From 9eb2db4b3b8deb28c924290889ed1396c9e12438 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 11 Dec 2020 09:08:53 +0100 Subject: [PATCH 08/39] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 5ddb1eb..582bd57 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh3", + "version": "12.2.0~ynh4", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { From 181f0d37ca30585262a35410ad9ecffb168f2bdf Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 11 Dec 2020 09:10:08 +0100 Subject: [PATCH 09/39] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 582bd57..5ddb1eb 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh4", + "version": "12.2.0~ynh3", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { From 75ab17375d035a07a75db9ccf9a48a6b4e73682b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 19 Dec 2020 23:00:58 +0100 Subject: [PATCH 10/39] Set badge in SVG --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71388c2..7c1b4ac 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Droppy for YunoHost [![Integration level](https://dash.yunohost.org/integration/droppy.svg)](https://dash.yunohost.org/appci/app/droppy) ![](https://ci-apps.yunohost.org/ci/badges/droppy.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/droppy.maintain.svg) -[![Install Droppy with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=droppy) +[![Install Droppy with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=droppy) *[Lire ce readme en français.](./README_fr.md)* From 3e7241f29b4130c54f28a431c92b005f0c0fc56f Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 9 Jan 2021 22:36:52 +0100 Subject: [PATCH 11/39] Finding an available port --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index abcd2d4..135c887 100644 --- a/scripts/install +++ b/scripts/install @@ -54,7 +54,7 @@ ynh_app_setting_set --app=$app --key=is_public --value=$is_public #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Configuring firewall..." --weight=2 +ynh_script_progression --message="Finding an available port..." --weight=2 # Find an available port port=$(ynh_find_port --port=8989) From 303967d9cb9e4473a8a84322b664189056658530 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 11 Jan 2021 08:55:34 +0100 Subject: [PATCH 12/39] Small fixes --- README_fr.md | 2 +- manifest.json | 2 +- scripts/install | 4 ++-- scripts/restore | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README_fr.md b/README_fr.md index 3ef3d05..c458d16 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,7 +1,7 @@ # Droppy pour YunoHost [![Niveau d'intégration](https://dash.yunohost.org/integration/droppy.svg)](https://dash.yunohost.org/appci/app/droppy) ![](https://ci-apps.yunohost.org/ci/badges/droppy.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/droppy.maintain.svg) -[![Installer Droppy avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=droppy) +[![Installer Droppy avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=droppy) *[Read this readme in english.](./README.md)* diff --git a/manifest.json b/manifest.json index 5ddb1eb..582bd57 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh3", + "version": "12.2.0~ynh4", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { diff --git a/scripts/install b/scripts/install index 135c887..f41b993 100644 --- a/scripts/install +++ b/scripts/install @@ -120,7 +120,7 @@ mkdir -p $data_path mkdir -p $final_path/config # Give permission to the datadir -chown -R $app:$app "$data_path" +chown -R $app: "$data_path" #================================================= # SETUP SYSTEMD @@ -152,7 +152,7 @@ ynh_store_file_checksum --file="$final_path/config/config.json" ynh_script_progression --message="Securing files and directories..." --weight=1 # Set permissions to app files -chown -R $app:$app $final_path +chown -R $app: $final_path chmod 755 $final_path #================================================= diff --git a/scripts/restore b/scripts/restore index 68514d2..31c881f 100644 --- a/scripts/restore +++ b/scripts/restore @@ -96,7 +96,7 @@ systemctl enable $app.service --quiet #================================================= ynh_restore_file "/home/yunohost.app/$app" -chown -R $app:$app "/home/yunohost.app/$app" +chown -R $app: "/home/yunohost.app/$app" #================================================= # INTEGRATE SERVICE IN YUNOHOST From 6d703ff8689bb83164df7384471bb1f435b15afd Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 7 Feb 2021 14:24:15 +0100 Subject: [PATCH 13/39] Small fix --- pull_request_template.md | 4 +--- scripts/install | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pull_request_template.md b/pull_request_template.md index 41449cd..6c28fc5 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -13,6 +13,4 @@ ## Package_check results --- -*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results* - -[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/droppy_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/droppy_ynh%20PR-NUM-%20(USERNAME)/) +* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* diff --git a/scripts/install b/scripts/install index f41b993..48e8cb7 100644 --- a/scripts/install +++ b/scripts/install @@ -173,12 +173,12 @@ ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --l #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Configuring SSOwat..." --weight=1 +ynh_script_progression --message="Configuring permissions..." --weight=1 # Make app public if necessary or protect it if [ $is_public -eq 1 ] then - ynh_permission_update --permission "main" --add "visitors" + ynh_permission_update --permission="main" --add="visitors" fi #================================================= From f342304df25df1f2e732dbdf42b9b5b27e631999 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 7 Mar 2021 21:03:11 +0100 Subject: [PATCH 14/39] Cleaning up --- README.md | 1 - README_fr.md | 1 - manifest.json | 2 +- scripts/install | 1 - scripts/upgrade | 21 ++++++++++++++++----- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7c1b4ac..3740e0b 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ Shared files are stored in the following directory: `/home/yunohost.app/droppy/f ## Documentation * Official documentation: https://github.com/silverwind/droppy - * YunoHost documentation: ## YunoHost specific features diff --git a/README_fr.md b/README_fr.md index c458d16..e9c58fc 100644 --- a/README_fr.md +++ b/README_fr.md @@ -26,7 +26,6 @@ Les fichiers partagés sont stockés dans le répertoire suivant : `/home/yunoho ## Documentation * Documentation officielle : https://github.com/silverwind/droppy - * Documentation YunoHost : ## Caractéristiques spécifiques YunoHost diff --git a/manifest.json b/manifest.json index 582bd57..9476910 100644 --- a/manifest.json +++ b/manifest.json @@ -13,7 +13,7 @@ "name": "eric_G" }, "requirements": { - "yunohost": ">= 3.8.1" + "yunohost": ">= 4.1.7" }, "multi_instance": false, "services": [ diff --git a/scripts/install b/scripts/install index 48e8cb7..0ed62e5 100644 --- a/scripts/install +++ b/scripts/install @@ -47,7 +47,6 @@ ynh_script_progression --message="Storing installation settings..." --weight=2 ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=is_public --value=$is_public #================================================= # STANDARD MODIFICATIONS diff --git a/scripts/upgrade b/scripts/upgrade index 119d625..e426619 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -18,7 +18,6 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) -is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) port=$(ynh_app_setting_get --app=$app --key=port) @@ -29,10 +28,22 @@ ynh_script_progression --message="Checking version..." --weight=1 upgrade_type=$(ynh_check_app_version_changed) +#================================================= +# ENSURE DOWNWARD COMPATIBILITY +#================================================= +ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 + +# Cleaning legacy permissions +if ynh_legacy_permissions_exists; then + ynh_legacy_permissions_delete_all + + ynh_app_setting_delete --app=$app --key=is_public +fi + #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=40 +ynh_script_progression --message="Backing up $app before upgrading (may take a while)..." --weight=2 # Backup the current version of the app ynh_backup_before_upgrade @@ -48,9 +59,9 @@ ynh_abort_if_errors #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." --weight=1 +ynh_script_progression --message="Stopping a systemd service..." --weight=9 -ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" +ynh_systemd_action --service_name=$app --action=stop --log_path=systemd #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -172,7 +183,7 @@ yunohost service add $app --description="Self-hosted file storage server" --log= #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=40 -ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="Ready for requests!" +ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Ready for requests!" #================================================= # RELOAD NGINX From 26358e3b48f34d1fa1eca3e85719c3fc9db0b9ae Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 15 Mar 2021 09:02:44 +0100 Subject: [PATCH 15/39] Update manifest.json --- manifest.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/manifest.json b/manifest.json index 9476910..62ac2f4 100644 --- a/manifest.json +++ b/manifest.json @@ -24,29 +24,17 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain name for Droppy", - "fr": "Choisissez un nom de domaine pour Droppy" - }, "example": "domain.org" }, { "name": "path", "type": "path", - "ask": { - "en": "Choose a path for Droppy", - "fr": "Choisissez un chemin pour Droppy" - }, "example": "/droppy", "default": "/droppy" }, { "name": "is_public", "type": "boolean", - "ask": { - "en": "Is it a public site?", - "fr": "Est-ce un site public ?" - }, "help": { "en": "If enabled, Droppy will be accessible by people who do not have an account. This can be changed later via the webadmin.", "fr": "Si cette case est cochée, Droppy sera accessible aux personnes n’ayant pas de compte. Vous pourrez changer ceci plus tard via la webadmin." From d282908b54f30491643f4b18144227deb9bc8983 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 15 Mar 2021 10:06:33 +0100 Subject: [PATCH 16/39] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 62ac2f4..2576980 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh4", + "version": "12.2.0~ynh5", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { From 50d52bb9e7422d97eab67ffcf040af07498cbfb2 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 23 Mar 2021 17:53:50 +0100 Subject: [PATCH 17/39] Protect config file --- scripts/install | 14 +++++--------- scripts/restore | 19 ++++++++++--------- scripts/upgrade | 27 ++++++++++----------------- 3 files changed, 25 insertions(+), 35 deletions(-) diff --git a/scripts/install b/scripts/install index 0ed62e5..99536a1 100644 --- a/scripts/install +++ b/scripts/install @@ -45,8 +45,8 @@ ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url #================================================= ynh_script_progression --message="Storing installation settings..." --weight=2 -ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=path --value=$path_url +ynh_app_setting_set --app=$app --key=domain --value=$domain +ynh_app_setting_set --app=$app --key=path --value=$path_url #================================================= # STANDARD MODIFICATIONS @@ -136,12 +136,7 @@ ynh_add_systemd_config #================================================= ynh_script_progression --message="Modifying a config file..." --weight=1 -cp ../conf/config.json.example "$final_path/config/config.json" - -# Main config File -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$final_path/config/config.json" - -ynh_store_file_checksum --file="$final_path/config/config.json" +ynh_add_config --template="../conf/config.json.example" --destination="$final_path/config/config.json" #================================================= # GENERIC FINALIZATION @@ -153,6 +148,7 @@ ynh_script_progression --message="Securing files and directories..." --weight=1 # Set permissions to app files chown -R $app: $final_path chmod 755 $final_path +chmod 600 $final_path/config/config.json #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -167,7 +163,7 @@ yunohost service add $app --description="Self-hosted file storage server" --log= ynh_script_progression --message="Starting a systemd service..." --weight=40 # Start a systemd service -ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="Ready for requests!" +ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Ready for requests!" #================================================= # SETUP SSOWAT diff --git a/scripts/restore b/scripts/restore index 31c881f..5276b01 100644 --- a/scripts/restore +++ b/scripts/restore @@ -49,20 +49,20 @@ ynh_script_progression --message="Restoring the NGINX configuration..." ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# RESTORE THE APP MAIN DIR -#================================================= -ynh_script_progression --message="Restoring $app main directory..." --weight=20 - -ynh_restore_file --origin_path="$final_path" - #================================================= # RECREATE THE DEDICATED USER #================================================= ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 # Create the dedicated user (if not existing) -ynh_system_user_create --username=$app +ynh_system_user_create --username=$app --home_dir=$final_path + +#================================================= +# RESTORE THE APP MAIN DIR +#================================================= +ynh_script_progression --message="Restoring $app main directory..." --weight=20 + +ynh_restore_file --origin_path="$final_path" #================================================= # RESTORE USER RIGHTS @@ -97,6 +97,7 @@ systemctl enable $app.service --quiet ynh_restore_file "/home/yunohost.app/$app" chown -R $app: "/home/yunohost.app/$app" +chmod 600 $final_path/config/config.json #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -110,7 +111,7 @@ yunohost service add $app --description="Self-hosted file storage server" --log= #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=40 -ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="Ready for requests!" +ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Ready for requests!" #================================================= # GENERIC FINALIZATION diff --git a/scripts/upgrade b/scripts/upgrade index e426619..66866c6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -63,6 +63,14 @@ ynh_script_progression --message="Stopping a systemd service..." --weight=9 ynh_systemd_action --service_name=$app --action=stop --log_path=systemd +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 + +# Create a dedicated user (if not existing) +ynh_system_user_create --username=$app --home_dir=$final_path + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -94,14 +102,6 @@ ynh_script_progression --message="Upgrading dependencies..." --weight=2 # Install Nodejs ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 - -# Create a dedicated user (if not existing) -ynh_system_user_create --username=$app - #================================================= # SPECIFIC UPGRADE #============================================== @@ -139,15 +139,7 @@ chown -R $app:$app "$data_path" #================================================= ynh_script_progression --message="Modifying a config file..." --weight=2 -ynh_backup_if_checksum_is_different --file="$final_path/config/config.json" - -cp ../conf/config.json.example "$final_path/config/config.json" - -# Main config File -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$final_path/config/config.json" - -# Recalculate and store the checksum of the file for the next upgrade. -ynh_store_file_checksum --file="$final_path/config/config.json" +ynh_add_config --template="../conf/config.json.example" --destination="$final_path/config/config.json" #================================================= # SETUP SYSTEMD @@ -170,6 +162,7 @@ ynh_script_progression --message="Securing files and directories..." --weight=2 # Set permissions on app files chown -R $app:$app $final_path chmod 755 $final_path +chmod 600 $final_path/config/config.json #================================================= # INTEGRATE SERVICE IN YUNOHOST From a204a7e654b37388dcb653554266363e749aeaa2 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 23 Mar 2021 17:56:06 +0100 Subject: [PATCH 18/39] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 2576980..8b8fc4c 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh5", + "version": "12.2.0~ynh6", "url": "https://github.com/silverwind/droppy", "license": "BSD-2-Clause", "maintainer": { From 644c11c821ee12356d117700b9e61ed8a0e9fa2c Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 11 May 2021 07:26:18 +0200 Subject: [PATCH 19/39] [autopatch] Update issue and PR templates (#13) Co-authored-by: Yunohost-Bot <> --- issue_template.md | 46 ---------------------------------------- pull_request_template.md | 16 -------------- 2 files changed, 62 deletions(-) delete mode 100644 issue_template.md delete mode 100644 pull_request_template.md diff --git a/issue_template.md b/issue_template.md deleted file mode 100644 index 5bf8a81..0000000 --- a/issue_template.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -name: Bug report -about: Create a report to help us debug, it would be nice to fill the template as much as you can to help us, help you and help us all. - ---- - -**How to post a meaningful bug report** -1. *Read this whole template first.* -2. *Determine if you are on the right place:* - - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* - - *Otherwise, the issue may be due to Droppy itself. Refer to its documentation or repository for help.* - - *If you have a doubt, post here, we will figure it out together.* -3. *Delete the italic comments as you write over them below, and remove this guide.* ---- - -**Describe the bug** -*A clear and concise description of what the bug is.* - -**Versions** -- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* -- YunoHost version: x.x.x -- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* -- Are you in a special context or did you perform some particular tweaking on your YunoHost instance ?: *no / yes* - - If yes, please explain: -- Using, or trying to install package version/branch: -- If upgrading, current package version: *can be found in the admin, or with `yunohost app info droppy`* - -**To Reproduce** -*Steps to reproduce the behavior.* -- *If you performed a command from the CLI, the command itself is enough. For example:* - ```sh - sudo yunohost app install droppy - ``` -- *If you used the webadmin, please perform the equivalent command from the CLI first.* -- *If the error occurs in your browser, explain what you did:* - 1. *Go to '...'* - 2. *Click on '...'* - 3. *Scroll down to '...'* - 4. *See error* - -**Expected behavior** -*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* - -**Logs** -*After a failed command, YunoHost makes the log available to you, but also to others, thanks to `yunohost log display [log name] --share`. The actual command, with the correct log name, is displayed at the end of the failed attempt in the CLI. Execute it and copy here the share link it outputs.* -*If applicable and useful, add screenshots to help explain your problem.* diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index 6c28fc5..0000000 --- a/pull_request_template.md +++ /dev/null @@ -1,16 +0,0 @@ -## Problem -- *Description of why you made this PR* - -## Solution -- *And how do you fix that problem* - -## PR Status -- [ ] Code finished. -- [ ] Tested with Package_check. -- [ ] Fix or enhancement tested. -- [ ] Upgrade from last version tested. -- [ ] Can be reviewed and tested. - -## Package_check results ---- -* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* From a78a536caf689ce883934e599fdad7ee692d2f7b Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 11 May 2021 16:17:43 +0200 Subject: [PATCH 20/39] Add templates --- .github/ISSUE_TEMPLATE.md | 55 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++++++++++ 2 files changed, 71 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) From 6a603f7a3a8083932ede51dd5730da979eea1376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sun, 7 Nov 2021 11:33:03 +0100 Subject: [PATCH 21/39] fix (#16) --- README.md | 44 ++++++++----------- README_fr.md | 45 ++++++++----------- check_process | 9 ++-- conf/app.src | 1 - doc/DESCRITION.md | 1 + doc/DESCRITION_fr.md | 1 + doc/DISCLAIMER.md | 5 +++ doc/DISCLAIMER_fr.md | 4 ++ doc/screenshots/screenshot.png | Bin 0 -> 267519 bytes manifest.json | 9 ++-- scripts/backup | 15 +++++-- scripts/install | 53 +++++++++++++---------- scripts/remove | 11 +++-- scripts/restore | 38 +++++++++------- scripts/upgrade | 77 ++++++++++++++------------------- 15 files changed, 160 insertions(+), 153 deletions(-) create mode 100644 doc/DESCRITION.md create mode 100644 doc/DESCRITION_fr.md create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md create mode 100644 doc/screenshots/screenshot.png diff --git a/README.md b/README.md index 3740e0b..c97ea29 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + + # Droppy for YunoHost [![Integration level](https://dash.yunohost.org/integration/droppy.svg)](https://dash.yunohost.org/appci/app/droppy) ![](https://ci-apps.yunohost.org/ci/badges/droppy.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/droppy.maintain.svg) @@ -5,47 +10,34 @@ *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Droppy quickly and simply on a YunoHost server. +> *This package allows you to install Droppy quickly and simply on a YunoHost server. If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -Droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. +Self-hosted file storage server + +**Shipped version:** 12.2.0~ynh6 + -**Shipped version:** 12.2.0 ## Screenshots -![](https://i.imgur.com/Ziv79rJ.png) +![](./doc/screenshots/screenshot.png) + +## Disclaimers / important information ## Configuration How to configure this app: a JSON configuration file with SSH. `/var/www/droppy/config/config.json`. Shared files are stored in the following directory: `/home/yunohost.app/droppy/files` -## Documentation - * Official documentation: https://github.com/silverwind/droppy +## Documentation and resources -## YunoHost specific features - -#### Multi-user support - -* Is LDAP supported? **No** -* Can the app be used by multiple users? **Yes** - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/droppy%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/droppy/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/droppy%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/droppy/) - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/droppy_ynh/issues - * Upstream app repository: https://github.com/silverwind/droppy - * YunoHost website: https://yunohost.org/ - ---- +* Upstream app code repository: https://github.com/silverwind/droppy +* YunoHost documentation for this app: https://yunohost.org/app_droppy +* Report a bug: https://github.com/YunoHost-Apps/droppy_ynh/issues ## Developer info @@ -57,3 +49,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/droppy_ynh/tree/testi or sudo yunohost app upgrade droppy -u https://github.com/YunoHost-Apps/droppy_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index e9c58fc..3702e1a 100644 --- a/README_fr.md +++ b/README_fr.md @@ -3,49 +3,36 @@ [![Niveau d'intégration](https://dash.yunohost.org/integration/droppy.svg)](https://dash.yunohost.org/appci/app/droppy) ![](https://ci-apps.yunohost.org/ci/badges/droppy.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/droppy.maintain.svg) [![Installer Droppy avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=droppy) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Droppy rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +> *Ce package vous permet d'installer Droppy rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* ## Vue d'ensemble -Droppy est un serveur de stockage de fichiers auto-hébergé avec une interface Web et des capacités pour éditer des fichiers et afficher des médias directement dans le navigateur. +Serveur de stockage de fichiers auto-hébergé + +**Version incluse :** 12.2.0~ynh6 + -**Version incluse :** 12.2.0 ## Captures d'écran -![](https://i.imgur.com/Ziv79rJ.png) +![](./doc/screenshots/screenshot.png) + +## Avertissements / informations importantes ## Configuration Comment configurer cette application : un fichier de configuration `/var/www/droppy/config/config.json` en SSH. Les fichiers partagés sont stockés dans le répertoire suivant : `/home/yunohost.app/droppy/files/` -## Documentation +## Documentations et ressources - * Documentation officielle : https://github.com/silverwind/droppy - -## Caractéristiques spécifiques YunoHost - -#### Support multi-utilisateur - -* L'authentification LDAP est-elle prise en charge ? **Non** -* L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/droppy%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/droppy/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/droppy%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/droppy/) - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/droppy_ynh/issues - * Dépôt de l'application principale : https://github.com/silverwind/droppy - * Site web YunoHost : https://yunohost.org/ - ---- +* Dépôt de code officiel de l'app : https://github.com/silverwind/droppy +* Documentation YunoHost pour cette app : https://yunohost.org/app_droppy +* Signaler un bug : https://github.com/YunoHost-Apps/droppy_ynh/issues ## Informations pour les développeurs @@ -57,3 +44,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/droppy_ynh/tree/testi ou sudo yunohost app upgrade droppy -u https://github.com/YunoHost-Apps/droppy_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process index 7e9587d..2bf53ff 100644 --- a/check_process +++ b/check_process @@ -1,9 +1,9 @@ ;; Test complet ; Manifest - domain="domain.tld" (DOMAIN) - path="/path" (PATH) - admin="john" (USER) - is_public=1 (PUBLIC|public=1|private=0) + domain="domain.tld" + path="/path" + admin="john" + is_public=1 ; Checks pkg_linter=1 setup_sub_dir=1 @@ -15,7 +15,6 @@ #upgrade=1 from_commit=CommitHash backup_restore=1 multi_instance=0 - port_already_use=0 change_url=1 ;;; Options Email= diff --git a/conf/app.src b/conf/app.src index ae7e903..188f1b5 100644 --- a/conf/app.src +++ b/conf/app.src @@ -3,4 +3,3 @@ SOURCE_SUM=6bdb9f9e629d942c81b4228ba3b49749ddf5e2b7e3c484540adb4196c43efc44 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true -SOURCE_FILENAME= diff --git a/doc/DESCRITION.md b/doc/DESCRITION.md new file mode 100644 index 0000000..f75cea7 --- /dev/null +++ b/doc/DESCRITION.md @@ -0,0 +1 @@ +Droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. diff --git a/doc/DESCRITION_fr.md b/doc/DESCRITION_fr.md new file mode 100644 index 0000000..b2dc61d --- /dev/null +++ b/doc/DESCRITION_fr.md @@ -0,0 +1 @@ +Droppy est un serveur de stockage de fichiers auto-hébergé avec une interface Web et des capacités pour éditer des fichiers et afficher des médias directement dans le navigateur. diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..fa87030 --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,5 @@ +## Configuration + +How to configure this app: a JSON configuration file with SSH. `/var/www/droppy/config/config.json`. +Shared files are stored in the following directory: `/home/yunohost.app/droppy/files` + diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..9dc803c --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,4 @@ +## Configuration + +Comment configurer cette application : un fichier de configuration `/var/www/droppy/config/config.json` en SSH. +Les fichiers partagés sont stockés dans le répertoire suivant : `/home/yunohost.app/droppy/files/` diff --git a/doc/screenshots/screenshot.png b/doc/screenshots/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ba4dc9ac90cb5ff8a43d75aacc3f88318c2d4fec GIT binary patch literal 267519 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

Qxc_QvckD9y@_eEZEGVSI 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

gNUxwfc3lZv4TKgH-lGwv*5kV!V!HeqAD`) zE7{)xH_`XCUj~jk4NljO6z&^bsRHYEW_$c(a7?)UPx|>^9#!4C8TS-mnnHk=%vrFd zUGz-jeDuu~d74@R&W~&k3?E|nNUr~g<(BZQXouM79(_1sh6GGYr1ol0GM|!)B=r-GA}vqDNqNs8Y7-f3}cD(?~ln z|H#G*6!4=2MSy2YMenc?jv}4_T)EC*17zXZ)*C)V?MG>2?D~T${7+xjRJ^jeKWc=2 z@X-?|H_821G-e@HeI*}}7swLo&D$u=c}JY}El>9f^fpp!9gk!v8xZMv3CYE zH6#vbbc=|taqC7@xY^vqk@Wzk?B&KdNe2=+uZZ$wE1m88%!%%2fU zUUJRF-;1$*cgs-AlI5W?ZYxN1G$TzJ=D?i2@@1>U4t4BGjuJvClgsxK**ys!1EETk z4I&3BQXcQHLr^GGM2ja0TtIa(wWw- zNN!-4bWWiD3i0%jOA6Q!!e!utZ`jLm{uRkj`q%XAOMJpNMZLl&NuvX1rnXZ*$RzaV|1=K0D6n%Qi`YIeqaGD1tdCRM{e??VC;w9i-k)uFHFJ` z4Rn0@QTcJ_OX?FoWPsZuk032}2PcAV}4Ds5n2gYvYjQ{EYHm8uA@mMGF{pZHVT8*CYY79o24tvHJF%z?ye0XM|504({|zr)x4L9{Ksc3*>N;eB~@|e?y}rGMEAwRFo)2UUnO-DoGrTyS^M77&3qk`%C_tfT$X6y!iQrT0jK0J$>2vY-(MI_4A=3Zj9rB`- zPjIDxMo(q4+y8uN8jx`g4Z0;2NUhPr+RIZ#rns6wuJQi+%ZiCfXh zj@;fZU;>!HI*}v?E2spsm-Hy(VvsZ|#q$hc&h*lLcKmzAVK1WCQGDWFsNvQGy@ciX zqC$!N2~y|wI?-f~R`;e9M{Ec4ZAp%RO)Gk{yTPJl_O)U`Uj<_CZiJzNe~_LbQ_8iw zPbm{r{7z43wg-L(Qlsyw)CB{fT+;UXWZy3^v-#_B64wtS_-mQys`=lbl`()u!ZrC4 zz7)Q96w_JRBqi;lT7hZ(TloW1m#$#?$)8~6?*h9s-`rGZjoPfg(Sct7>@jI+aO>7x zZl5I*5Xldnsv(9&9y{`bqGf#$F&mYPB)oVfOl5#41KxU(sP&e~ z0abE3HVH8J6^WX9xHE2}{&>4C(Clf15}C(4$UM2Y!|4tQ2T`vRazp$G0W3r3O#`{c za0je))a+FC*flOgHkEJe|?qf?A95WOmBd& zJ__%L7NZE}AgA)_LWjD6uWWhM<`+??t|odI^n@rRq?|hT`#$Jq&FTEd5|3nEd|!p~ z$TV9d&;4Y^CUtWnj;c3&&#*XsP0*2pLww!0$OjBNIfIuIb*Zx@ej5 zvk0<c~NNFKX!Q?M9VE~(N-?f$c#w0D>{v_+&Vc4 zrW8cCKYp+Vr}Ty+PCiMTR;oN5bpQypt~*3&?{ErqXqzaM5GT1Nik%RPvi?&!eLKx) z!!bLr$j^X2X&wPlDK#K$M*!d$1xsWD=lKv>EK#72*v;gK=hw^#{Sn{TAfritZ~r-C z2CK0|(1nzbDUdV%#Ytib2Z8ND_Y1VHcN=UH?Co%oo_RJ+lr@Nd{C}cqP-^CXCqeut zsDPC*;dvbd= zzUBIqhUYUc1)C!MUBmC4q$!mcLZDF(g^;68B=GD+n9oFYHaq6TnVOIkY3aZBF4J$M zd*h)v6WKq9ju3CcW=Je#ORJiXiN7(*jj1TuxciPxvw2ncF1U{V^G`Sq4Kb#BhKl^a za*wgFh)wLvIh0aZI7A;|v)p8W_Zjl~- zcAMzo0?E z|4sdJWmLTXljpf8WFL|B_5zvrH1Q$l7O6d93y=2WU33A#0V)_+>*f7GR1n(K?FV7NMTQsJ$af7 zBg`El0f}p}CjSUU!k$1HsH5lLho7Gsgxc zzfdD~11#ARW|#~-IM4!QPLc_&-YlTTep{b@E%4NE_rBP8YH-DwQLB2S((&?J@q&XN zv7rL*=6;hVTV1ln=Y#8tnX3kt+3_mew+ezi?1C(Y4QmncH+I7P#nnh>8Nq|?F+eoo z&zz1vnhCqUYP+1KW(dQdxJeO`1=RdzBu|oZBO>Fn@&WlavL;S z% zLEQ|5t`c)x%MZLI8amzcqTB3b5xfM=`!! zjafI6!F685u=nXvi>p?gzR2b`x+#Nja!Q@3 z=d%h*q=q{lXQEHqByc1!+NjpQn9qg}Zwf>VffRp`Ie!7^zd!wL%MHObfrnT_a2?y< z)CC|z#neMDMuy)>fivpPa9$+Y#$E5%;Stn~z zByn&x%J+Tn%`#KxlF1%xCODUi*=oF7YjbMexp%gjHMLIsJa1{}N# zdGy=(V#Vga(Hw#@Upi%6JmjCa9N7fvk3}64>BL(v%#W{_wruKJXo6J8xID7)N^R&pTuKWYljjsQ*nhNW}ss%^tErg z*xi7H=|?iW463;cACf4~a?D{x20EqtsY1wkN8baGI2hZaOdLVkQxrpsDY^B2RnpIePT zfCM)&xQ^UPN3c`9N-rQ-443Za4=Df%EdzmR*eA)tAFW$Zg}^o0%|OXJL>9y$(Pt?A zv|q1+IO=o>R~OhUV9M`ms;0^HfEq3|kZ?2Q+=U#`@PW!xydDgGM;5*ge= zIh53hl~hlP`;3Dyn1Nb^PyXF2iYKw#H#p$DH_pG_J&^qO{BhWIx?Qb~+M7y{tQK{1fp}{%NL$9E^UqKD=iN1a(C!bXKb3X zeGOE(cL{1dvs>R&;UT<0Y*anA`n7j>>~m6+*G7-wStGmPgzR-H2eom60^WECI}+My zaNC;p%LKl$R)z}Mt;kIRnzIvx4(#p!MNUF-`Qk+-ru<4QHarKt6A0;|E~GpZ1WI8N zYZVZ#zU6@1BrAXAbl#sD4TdiEO4G+pLU8UuISK291wKbdw2+Tt|H6t%A}H88RdIoc z40X_*8EN{b`{op>#8oB7hO|VL5gA^Oc)r{W8uNmGOA6$|x6(5m4>q)lILa`Mf!&wC zbYbe2+ad<>Ip z?2!{to@NQuE8iTEQQ%cTAO7 zq>}(p{=#VL2()?pZTQUq2~6zlL{t$2KqCI-B%^4|4eA%d=4svF-i9r(RzptU6%5bT z=7A1it9+B0CMKIek6~$YXpu`?uD_YWu-{P7nJffItwSRixIjH@>|LXcY9rn08;SPP z9OhrfNwvIRn#uN(5@4IHv?Rzd6hQ~Xm)hswmu@U1@9*@Sw7`z?wG9ab;hHGUatq9&d%S-xIOu%h&m}+JK?m}7*1u{2_+jReKuZCj^sg zxUv^bbHnRdceiwr$gD%KcfVys-kr5Dma%L#z+i@S6VyH#x;w&BMvu7tJv&YtDM80g z-9S@40>eLT9NNZ`@s*Ii-cOm8xtP5Uk}9abe*M&HEr&DnGyL(C?bp$umRj2xUfLYh z5S+YXrl>a9jdVigbqFmKI!?jkvXeXX!r1EOpRNyt)9=4MOm+C%&eVIPHm{ESw;TwO zz$&y-#2ol%b~~pqMlf}6ILX!ji+SwN2b%pep3^9Q_rZ&NB^Zfih1F7x++t%IOHEv4 zlbP=0VoXK@>1?`o=BwFix5s<(u(J6vO^J8myUTq44&8Yzn#6mcn`>KdIN;$Y+j~2b zs@S#3H0h@Z53gBke{1Z~Zn07VCIQvlLpl=TrW37Bg+qkDzLirdbQuxhEO+MsJE;#Ku1B#1!)g zBaN!c$#pwDo%_3fRO~YyFy()k`bLmffX*-fN=3!XXV4^eC0ChOpL;K~k3HxA zP3Tu%sy8F(DW>KBPRQbO;mJer49SB$2ppqLm{0(atACMmZ!}!L`UbE9AEIR|Y!3B$ z(${4id559WKglnncQdmMA(mVy9r+_XBr|ig*xmHeyPFNQHvAysc}u7)(eC^&)`fqV z*{qu0ds-vxS05na9OrMCJuXkXQ*#1-T4$n36Hp~E6TmZ?8h4tAqGkO__DKgMtBD4C z=Mkd7jl}THqa||2h}cW3Dly=J(5Smo#*2y=v0;-ZfhBLgGqh7ad#?ZKoBRvfTU7<4 zo$?xTg)gr+dC1Imnt{piO>oI$YJ()t7-|BBx+i_N1~n3beoHwty)>6Ke-LRaUHCb| zhkK`OgSPQ0sqE}Ex{xo!9HReULgD){N#y|cc*0hik!f~0z43rY)i*m+?fEuWJrnxQi_0B8d<5*i1{y6K!|Hyk#67@8H%GpuL{|{H+0S#yO{QvA) z?5eAGRxcq+5F}V4(Mu#+^bkak-mOlEh=|^zMUNVyt_VrA=sheFz4xg9<$d4p@0|ZR zIA?M0bDx>d%$>RS&V2siCCGqSfV|SCkh3#sdQ}k1*r9j0NTW)xv#7XdF2pb^p0xGU zUQ(M6FZB=P+g+uX)6I)S*Gg{pNU7Ks>5dsh|I_}S2tqN1NT)_I|3go31IFb894P>s z+JFm>*Sk}o^YNInT6_|v{lqP@dvHfC`6=Y>tXvz z`O@N<{1F%WL}GA<=SPU!Q;`KyS+wt?kYC~rqry(q%*@Zgq)N<>=nP!gnCI;lskF3T zQd`VO@cqMm5M*}7llKPLKfY!FFjN-$Oj=xeS!T)O<@xR&+GpT9`?KVN%Mapn3v&J8 zaW(gb6zqv=TC4u>-z`a-R1g|`AN8b>Jdjhkah2ctfl5y4J&$YF3tDI=XnX&E;L-@* zp`^VF)|a{{#tp?V3YIW{x#DteA8aSY3k`+pzqL}uZhJ7`eZ2SS_MU2^y+!4gdhz=A z1OD;4BHi-GJA>*2|3a*f7Tl>)-#jJZxZ|+-FU;c2nxG^(n&POULz?Jw|CUl`s6yFG z&%fjJB5)$c6#d5q>J&MdYx1&Ddd)fD<70}Dzx zWZX=b#1GFox|x;a@_Mx2tH02gl_NE;BUF?;xuJG^rL!uYx=z5&D_PIGm}Ps)z9%i| z7TB0$;R-H-qHV(u3JE6&SsrS=UYxi1OAg%#v6Mleoo_2g|sEX zQBG{XpAX-;o`)Xm@$Se16&Xf&CGhOEc;Lz4$1SH3V=QDU=pYNn-@=?C1M51$+w*~V zESo|XOf%AVZvo-`2IN~=qUtyDo;ur3eGznj<+-kZD~N5Vfoh3FcZsQUQoU4Y)2p;;OQxdWusZ{|3gAt}VR?T0!tcd(+Yy41Ig6se9-3H)yamwpl>(i@2Q& zHPu@^z8MvYU1BSIlSd&wFpme4;Znjjq$SiPYnu!4DCH}w@OlH|@&%q9cBfmkC6S{v z?N__!`aWOh)&$tjO19W-zQ9WshdyTXf66eE2eiRY>9$88+3vuu1UIm#q}>v6$}K0} z{G&2Fn3W1@77L^i@n}f<&hT%KA?j<6*BLeAy|HxOfN_5asd;Cw*O( z>`&F&8T;{4OCa(|AQQV_Zl|d>4rJEfmES#9^DibMY5n*B8F2G$0w;4urc8-~8LkeR9GD!`9|9kE1+tdy^p7XS-UeEyY^ zpB^37#osSrUY?TO7XOZ~d*1pp3#I91joLC<8c*U>!}GYm(;bO@+uq+PiQoe61pgd%laxlznuL=v57=a2ZZ(|AJl?sZ82gv6HaM(UhI6?9 zrwYH{)^gYehjSq$=5l{z?|{}BI{p;x*fOSbu-VhB0X!f>ZM^ZdHhD~?_QsrOKEJw- z>$C(*zmkmCW_217zJ(fle+A4&g=?=F@^s~D>OUs$@3}I{MKvKl;4^-UV^BvddUg^LK6Vo%fg4x{NBa7+ zgZ9U7Pu~ZM4T95efoUr<>E1!Iiq4+qO@_RKqhCV&hRF(n7%4~$JqPC2J~02vAYsmj zhzAhBJL;Rxb)^hELt#iDW=ev6P4|cjiDuO=|JA{p!`JOB5k`=wOsG4)0J||8o&HBN zK{UHM>ZeGlI%29qt0$R!cNiitPjQ31x|A=`vHefnh>DT=s(A0XyX|={CrJI##+6M~ zbJCjP_WTW;CN)h2-EREYm~-LL3&JYH5Sl%@e!^u1M=`bCi(Ok~AjowG?^DprJ=dA2 z|2X_%JojV2w@w)S1BAGj2B@AHo9ae`q)tjB!SEtGI7-LQv$NcD=yC+R(yN7-<(|L& z8`vKhL5>;))f)l@aGhumun@p)Lt|yZlx0_v>-tNa_w~B(qvvRSx|HD>XitTdkK2T+ zayH>d!)wq8v_%3&nI=CR3kQko`5+iaIxkzh)7w}{lld_}X271?zcSnDC;+G*tU=;j zA86^9IpDN&Kz*>K*xLON-U`};DYQNj0xMfe6haH+7%3 z1n&)qM{vv3rytI99(Gj;bhj+X7`z4>S+s)2CngPQ4(mmUFD zBi?jkF-U^RCj_GwNRW*%9HfN367lK)XgT%_aL1}=2tjLr8zY9mU>c4m5eq|9O)E zhHC^<-)?Z5?^Nb`nX9QyK11|4^~bFfV@CgACxNb2so8Ih*fYFrm@Kvdjed^BjNg4_ zbnWO>#DsMgriZ}I(_3=^tvK7GhlfrC7mn;G%ndB#dm==CaEEn%P7uno6a(nu%6%q9 zm}(CIt^mWR5O@-S2Ld}wO*qM${n(mjuOKNjhwzc-mXa8}ZmX@co-w%AyC35XjSF90T+0~~ zhNsx=t=C^32mUK#7VzQ+DNM(2b18rqw{dMT(E(1)%?gBA7FXC%Ce9$psc9Bhc}$}w z@=X1)JR!6FU%PIW25p|+*10i+5DKYJfcRb0F=0VqNnUdZJmnSoJ^O+qz==xeU^ezz z%A6HUrzZZWMTWr$^K(Y{oZ1BwAd?U<5raRUoj?i zq==_ipjf63FoV)U&I5uzhM`=0oYepG#IFuXhc3Nn88yHLb5hMu$~7)WiO^}ij-cdf zXN5kE;aAx(JQ8A@zZT@)Y55%UIn9v^`i?I%^uHvG=jWxU%xc{hTjzXx9px#b_5KyR zI6d-{*N1`KmD(p4nLysz)Wn5)+w2D9FV<iVge83xF5G}>6gg`oMu^dZEF7P<`k@e4(l+}O1!mz=@nN<_S z2mF10=rSRr&x_mDAIWM4w$z?@&NINcrYTNGx0k5e&Bt{Nz1`@Rwh}jN(ks8rM+4EG zzw%qIT;nzX??s|Mq{r?@J5txz?y>;0VNHEdrK_Pxy1(tRaqm zQ1bvMKN+|}S$Qnv@h%`4u=ZU{)jmTtTmBPUf^hE3(NzvB1>9R7T!})O40}@_tm)zg zSz;Z0x>+BDffz&n2q2B69=n*tF0FT1f~TyV(o=njuz&wVcIHEZ2uBs+u;Lx@0qsxU zyU^eVHT`(6p@yHo%1CClt=rt5m-N8^zpg^JU0gA^@7q1;Y7wrU| zxjQ`r_Iukb3+zmA(HDv^mOL%Y^uBtXi|q3SNklzUNvtPJP0RYLtAK^lx;E6sitivTe_v3Pd}dtT$5L4n*@)d!#X$DB#*J`2 z{r)}?MsJ*LQ<(^Z0)r2ETC+uUy6?@vV`d^73tQ+WSnd3{xg!Q~>ZLwuf}k<6 z4dk|q7#%*50$+137{`lRb&;|XE1&zi@z%P?%ZS@bRFE1Iep~I^^jFHKkLw`!&!F!Fe8s&A9Ejb%>L2{j&E#u2NThZrcPx%d zd8?M8Z@?US_?@f;Aj1Y_*e{{rH+XS-Cb5Z0b=O-7+kxcvB%p2xa=L`GWrBXQ8oytI zw^GibU5C32WhHs!SgS~_K4(GSS?5}XsQmpwZ>+sDs#3-!FU=Vnmtt2NGl&H^P8x;H zz-RtR_%D@(s-VBUT8VpvHzC#7TLRXJZa9qFwk&s3N-id?Dni@SXg8+kS7h zt(U1tmCY~%OAxols5_AW&Y$aHh2Sy!K)J3g?7z3a=!k%fVa^Kjri8 z_68OauOhLfbk6dGk9y(vS551UB8*CXqDu2fgB@Zb8=F$gqjUtOSiWcytbU5RnlA?O zKxh)j>ttWk6=*)c=IFb8Yv#s~oa;h4Z5!1ZhP`3{^^u4UjXbYfx?e_GjS!&>pRK8t z$u%u1+v{w({cxr~&t*34v3-#%xx4*r+FS1H&_DuPf;a(`J5w@x%1igJEw^0`To|`Z zYH-Y7JynP*m}Naf*l9`#9>x@mP)JBKK*H@2!e;fV12w82+?1uP)~1`0mzUGNo>D&? zR;2JmczP}DQYe-G+#!%i_x@cehEv};-+Evxh;5s^Yfn&tcO=iwia!9a?IbX{HQxy# z{S33#fzdIMy2+7@yk-Ao8&}FUM*h&^%}4WF*QHQxYTHTR(9t#g&q{;q+wuo2v4#z) zzu#4l(TL1n70@KgZy%AGjRd$DlnF?i(`+x)e(>e}<@ctiE)h(`YI#0{W@ev0p71nT zy<39O?E>w-`jWR$z17K$Nu1f=q?Z%U6Y8r9?{`n-#MT)hgHy6=VV13%_i=qzyC+1~ zns8TIN%0x$C4Zc5Y*)mPaby3ff-<<1)NIJ-eD&3bZXz^k;^~VKeH@DJDewz_Qn#0A zC=&rs?^Nbn?~XDp*HnVfHr%)TnlJX#^)GajQ=eX z-EvOFZ02v+TEKKgKIQ!SH3t6~-I6M+LYJU>GUO5*EUNAvc5SI6QZlLk)&&)S#@jE} z6mM;p5{}pY%I!H7P`&KXoNedW+T51rH~)H7FU22*al&zK6l?bU3_AXM0-D@zNfxnZ z3>$uqScBWY)P}}Y@@huAvvZ@WU$?2Y!*Zx3@kYu;3oU{`fAY za*IY{GDmSk6I=0xg4~jG#d98a^i7Y1+^CSfgQMSSvh^U}vz7lGAICY-)ALx8e0Z&W z;YPsH)dV$`TYDQ=P6GUcK;whn4!9B<4kS)aUuvF9nom_HH5i2`hsh&n>LkALj~5R5 z^>VS4!<|+B6vVQdvxlguoYYLe`KM~H#u$An*NmWt)&|CdytZz}JzJ3#2DTNr1Y)H%q=7I?bTU2eQxlV%x{pGaw}I@14F|7(J3YA(acCoDhJ z^i3G%Ud&Br9==4$mT0N(#+cvWwEh32Y7IO)`S~dbNhdS+VQb@EfUzvU>Sg{~W17K? zi~rFK^ee;J@yl7sD`ZogXfmPKI_c5TTmZ{Mn+9Z#gKzBT--Wp52{~UvXf)QBKjb24 z#AtKgmEzFb82+|Tq!7@V(dO9d_3L_s!(w~mU&v0TAuBF4WpfCQGzq{KE9T}Wnij3~ zP1+5n=zmoxXF=mEiy^|~8l#gmfq(~;p^G=`Y2Q7?9W}c3-Qo$IJHcwB$B`(9mbW&H zjI%L>kJM#jW@n&{No6!(Px<>oR+qu<@;_?SaQ=cjttv0-M;qh_WRiv+AnX8|g3B-5 zQMmfXGoBFxLPOy%QcYXW^Y-+ThAu|BZYtfhuBX!ZZ-gATv&*tMB* z6)>MUWK{cJsYyaMJ6W1=S4>q>-J&M7PWm5LBioMNKQ(V=#^AMmBSv$l1T}`OwC3Su zcc1>@v!bEL&jBE zXPgVgdd7Nzm)?uPJrXzAU$+2IM-5ZyWqX?kMKIqR#!aYb?m?_Ama@r3gqa z-xJ=R;-*KjIG;^@+0P0M`cd7~(T+Bw**>cKc$9G^S&8?T@N?!OQwMQ|%8TDV1K8`i zQ{IZxD?(7#Z$(<=}sMAWL@GI48=d8NnYvct{h%T6= zoY!rB>kv9kD!C+&4R-bRjM$ohS$b}_|LZa|mSs=pZgkGtz6wn){8<19B-VB@yp#BV zC@reiAOCCP=_WOK$XML#^n~T(;HS@{q7J?!15$RqP0jSAf(yCVrLfuQBq0?O`==YD zIdg07UY}0{UxFmMZg@-Le}%O$ZO*jLcxqrVgbBU4cYNB5XAN?)zcJkqsDZl-a+vp8 zR!;Dv?P&NB*F<)Nr!BTHlTfFlcw<5SE?)8ZnXBqpL|f}T;27@TI$~33M+}v2 zGCDun*dF@x?rh~MssDom33w(I6uB2C{&NX@c>guL%Ts1;!t3OHV!UyuJ_7>s?#(ORN!v%aEUrJ$}447O(?jES?^(<)3EE{J8kI|&? zVv6bO&pSU(cfM)=XIbft!E6KD}5SFg*9u~|gXTO{5r zge}Wj4<#I){@9PE#WmYiQ7own3|B0%At7X{XIT<9J@@=yLlreb zx3}CL(kzcZ91gtt-Gyp!BB58~1{q$#7)N>Bk}=MLdC5qb!=uc_+E2>rL8Wpn{#~xq zhj(%N9wvG4^2vSBOlDdMApLo{uuL(m^xtAYpN90IMWwDwz^`VBq48ZhoRT05dtog~ z|0-;DHG#(=Pkn@M#L;I2EU$&ICwy$ng31S18ijg+4ufcrMxpSth4d{(7TL@SU`^_MzFP4)wA}!HlI;%PEC%^F~+o}=!5i~ zdbN^2xW4zBM%8>Zu1E_wf_G&{L8TCcB5G$!^{DllMSxHlZU8maMF#_n+h!Qz89=%% z_w}obUdpk1Fnl|vm!;3F9#LydBDiGuMbtC#HA^xJEp-Vc8@BRI9zMps9#x?q-b086 z%>+$+v_LlpG+bU26qqOlk8{K^3j)3DsN23cHJvNPVmc5;hEbS^*E2y3*?3~Uoy6iR z&Eud(vd+3@MY=kzW`1g|U$`G-f)4nxlf_PtKKL)(nFkm;7rgqsJx{J+4I&+71q?18 zQXVhLqv;dyqMuov)eqvTj7aJ<^d-lilw!^jEgiUasf`u;e(Ppn%u`u231J+`rg((WvI{?2W0rs;M{OWjBhuL9%_EUtcWH4s73@`i zINL~j(i-!JlYc&J3l`U1rMfxvn@PmBjK^qbE=TkqDQHnBjDglaB1m$IF6U=2!%y#c zDmZVev~bAiqtGq2)%IiOZ8sKM{P)P)MBoY!06n~8CQHM3$89>Kq4MMIA1wCF;2ug3 zr?-ws^(e1-v%MG3Ba`o_)r371ZfaFo(PFY7`}>JK87ko1X>cMJ(V_T>OJbaZV)&~b zBvbw8rw>L6D6h|{=-8WT*&wUUD&Z=S)GupMRVXTO!b4miEd4LCKo z2Hrh6Nh)Za4cJ>A$la2ShNs75+AS^#1}q+al=WK}xet@^Ng4Ed?;2Z2Rd<41pBd0O zI^4YTi;e}pKLUeXT()e&R{nh-H>;shUD7%k7)TXfZ=DG_lq5}7~CR0GSc7Pf1YwmnA{JJ zp#axACZdh+_Eqz%Ae(I7LzZDQMj1$dj39Shyec&BYlMu_6|VVJ;3>FcicePLfTzAC zHk$2q%b7=%h5|>eh8tU&f$=jXr>8&JRmO!Cw3G4=*Zgbr7d`OLHcx&Gx!-|xu-yC|4nn=b5@Xk z=J(M6?iP~7k|nOG=x>}gD?6SSn4B8YPn=a{4;@v(LW;Fd$LV$pdFbWaa=K<#S$#_O ztn>k0KK)W!%T!5GJd<|~B$JK@d3~Z3AAeDTAU2Cju)fynuW1`j)+(sXirNwiGp8Ft zktf}LD9V#7^Hr#T%K6dJ@I6whLh%SMvnIwvm1>ZJh7WC+gZqLoQag4gsr6RZ@c^CBAuAUauc1b$coX*Di z{m1L0wX`H?Vi2N=;EP$tBL(2o1%sMr^X_k$(}N5A8RU}MueS>$8`IwLj-uqAmDQhp zEJZeiii?1r-99<%afL?L^-wI!R&NlNGU?gbH>y563R91Up@O2?C0jhmyi0N>8yqB| z2+R;~gHf=4if<`5C@|IUkR=`ds2u+7EAJO&W*+=K4S8bN+y!XeBGPGZMa}qX_Hz2T{rWOi3v95G&xqUKNbBfvjv%_TU4oAHw zW&CU>2lnXdH9eBJPu$kI+&ypduLWL!0#@?dF!@R4tbnPnGo#}-lQ7GS*k?YTm69Ct z>-Ut7zBZbD9|~hNn-}P(yIIPQ{PMT>scsmmy-h3g^os$+wR><9E&4=ngb(~&OdSBF zJ`)bc$AocrfPJ36sn+8{Uxx^!Ryyf9E(#!{5aEy@-5JNEoWZ{mpsDGDi-K{ZlyB91Q?8fadX zL;81)RjwjHOkdeNpGPo0PajOWfcpssKA>po%-;F7I$4@k?LbI-^s7E7)_yI z1^T#cAru!Vf~Q}@@$$rRS^eXm3s2wk`)5gmAKU|#fllcQxBWa;Z0iSbAz`TJH#H=f zXoW(2qjOxQmf7dEsFD)$$p^N6>h%|fV&-6WI!?rWsvS_xpKiguo{ zoyOj3&#a0PO0U)8kQ(2yfR<064sZGqXGDA<9hG_DdelarZ~a&v_m5toP6n=vo;&q2 zJgZ{m5$X0SijJ#4=I{2xYB9T)G$FxH+(||K>cRBGENRBpi?}ChsPqxeup`T{Dr0v+ zaz6<3@x!0ssJ4at%WHR#e2MS%3~7PdZ_Eb1N^d=fQ~teqLKNeYGW|-wCyZ6cs)u-s z5_IfEwbCz9$gj-(6d;fFR~*sR0anHHI3buvKOC(4z86Q?JiS?=NmR}15WJ{Jqa%j^ zTv^nbNbZg5LWMw*f>HW!1-?#I89Ud;A^qVozoarwm`;!}?h&7}*!sn1{>Y<0Upx66 z$N=2gNfj4yUQSxh24pQ)n0B9U9iEhc<4VqVm)O;_`pC!Ib2X4ia2!ktXlXlnN(A;F z++yd`UU^~5>ca)X9+pAmNtwa^xzu z10Iir{70IbPun)>2OATDfILzt^5pa)HP6~;J9gLwvCPcue!#D_wRUe5pAy9LxzflT zl~ht5ZVleBSZrUkp7*Ad@e>raXK0*A020;!?kXule8t?{xvIc_mPZI;rS+gqH5!V{ zfY!0zZdJ8z^WJ#p9zKRLFV@RsNO{~QJ@UCXXEB!1-`<;^(ktgMtR6Gv_tiT3(LeT)>hfcOl4PEG#Dpf%uu zc<|~#@B3#|D(5%O)*5Hu6d}G{Ej*iB)?^?FRcB|cNuz+!=c7y(7BiM)Pq{7Nhy|s? zbSqlCyS22gcgnDr5(z+c-}}G#h_brek_r2^c1RWUOLj74uPyCe0(~{<*YaaCkq1k( z9oTIw4>^Q~fXF9CSD5=eg#b^H*-5dlZ&EFbzaKxgCoGT`)MhO)jsH``aKtCjp^p6# zaz+H(npdd?hK;#$D*Vu0o;rB_SVcIB;DInvfWPSDjoh9b$-gK=GyUziFau|cE@kB? z@*5r{uJhjcnHVXAtfTXT2SC!rKa0XH7YF^Np@FFp@D!-PGWA`eO5P}Ep77uJ@ICIs zuPMeV+Qc1|nQaeiiWlapps_8)f<}|)eeb?6npvO(eW52vfQ{Pjxgg)$T7M#@U1W}M zcx{d=73lW-#Ngw1uvi`9L6c7%KN0Z(5Rj2$5HVQw&Y^gtL_J)qkPedI)=wo~FFU$o zpN6#q0DJ(N$~uxW>4afI!cijEAy^0O=})v7wexE+j2UtcQ+7iD%)U~O^*P<=oFM(9 zq))lbiodmB91tR3xG)8q5Qn@i_;!Go)?%Jg0(!s$iI5lI;OWfMX?ky4`)$DLB_O;^ z$CBN_u@73;_=}D=AI+*IMd!<83+;rKsVhCDLd6)l$9eojZjVfw-eNT)0Az=%w|6!t zO)bfB5eQEh_U7w1dVvo(!6f*WATI(It?-Xh5}X_;y+XjBk_DCY5l8f!>$?DXHqsVF zm>7??8XWX848JtdFNshYw0XXQhmwoY%Nf)k%>gQ?qp~Lv{*)mA08T`I) zu!=H>{dG+4OdK2utXt60lA-no*nsxh%Wce+o6$Wb9QbhF;W4~0mAinYa>RNV<0i#M zR&gYPOfkmj&-h&`fT!X)I209@?fB3ktN5Fwt0V|ZfH&|4%z`dIK?wB}4CBWKk#f`* zzj?$PY2@DTC$W5Lx8>6-0Y%0fmB}#%1GvsmDiq3Wty=4qB>0X*Hjg}-yv8+F_JChB zpk_Ju1YzT7+HnCx|2VqI^CIW?I2{E{U@=^?ce>xJ3h73|$xv%Jqo`;Yk_hNzjv*Ps zV-ozy)W?nV~wD1pZ=a)#qUK&ol^PY@$cN;_?10E=0pn6a+yWShi>#;8%XvK z*90$N2l`j1Iv_D_oJ8imxl4p_Z)eE?re^alv(f35tvdvFg5CEU3#2De%R7g2si5gNv-|(>gC2Y<@I!iZ;0viijKxbQT}mOuV=McT zNl)f<^nRYgL4|ZsSklsx{pH9C`3aX^r+OByKV}Kr4ZtfuaP7Xubg(Tn3FJ&_W z*~o1J2nFC4-M66oz^W9gkn5qRAncDCI(9Tu=%vyW3OLPy@L)p?7X8@=sC3P1$VDT> zVR=8D(3T*jEJHmO;I8B6%U>RW)|sFfA8f|ZEh3N3)z8F56#SMS@KP*Rg_$VEjmi&% zLg2Q3lr;$OJpo&=Xb~)~2%5>f(Q^Wj?uW^sjCVk}`l{ii!}vlv6o~c_>z|SY1s|o9 z?$GAbv3TJ**VzdaTm~4O0;hS2cX1-SewQ2hBe9?Z9}nZ7Fh2`%Sue=~QOa7aE54Rl zH9!&{fFfGCX$d%HU879!pN>@n`-!>xbMDB1Ce7IA$<)Mo~ ztV7h7R)D%u3sF42MdX6LXsW9@J%InJ{!K9%h`VxB7|QiljXOw4ZXB$RL`=qrAmU=i zo|#$s3%x;auCYX6J019;!=)K+h9iI6&86+i7PDU8W`z`{?>XvYh?t!ApOLV9w+NhA zvTHQXqH45j_0=T2Fo$fn|FYi3Qf|wm^AGp|IWrqNT4_R&&nZPemr+|Q2BfCBAm6{%yo(Oba;g4k2V_Q!9pL4%`I zPg{Mu?XbAE3Je^~H*LARuLxYN`W39l2hoBp$Dq-IuXt=FCzxL;j#-I`_rCUmJu08j zuGyyczbFt%fQMur1x+%&C6zbyuKSUYF-iG1`v)4|NnAbLJt%!|V<6HZKN*)FCTF@w z<+RzNDrvf|QHC>KTO~u}djWaXvBLqZRcGT9C2h8!r2qlN+^@C}Dea4JR3;>QVPGuV z@(HlZk>JdP+|4z?&wHV`)P3>K$^-)q9nVUg|2Ro4--lq{%Hx`?>nziQ%}Gpf!tXo> zJz!+k*DAPgUTQyPC(5Er$Wq1ZXJ5zzM-|rptb&8#I46| z@b_ePvgKnA1@4zsFVWSopb*-hKOiJGDm~v#_bELn>3|h}L)aVy)%+y||Gv)I##kdm zk)M<<93IZMHeZa6KoFFsYgcRgsUbVy4iVaX;S;r9!HUKnsg;?lQ8Oey8ygRV%&|56 zdBsXmI4N2C=m|cZ1IXq1E}yT_Ersl@(N}*ly$#9;*&p~%CD_~h65sJ21{I0S>A>fid(KMELk)_oMsD)0-VRC^w{Cl7jfKxGH`tHj^x;$7Txt3sYezRY=u>n= z8{5)1{!)i0(7cXbqiCYN+G@gFkoU|2zUM7XcnX8ro)$+}^o@5xl;cd~NUdM5Na54Q zXZ%Q;S~#-s*NMAk0KZ-EnX_Bd`hSkACda9*M~FB!z~{Cn4un(qDKYJ|7urzMcX4c* zjHOL)#Ep`2i~q&<9cF>~@MmqDqwf<`Vjkb?jC3Gt!R5y=xbfNAWjrwt_X+1MyQ$0Act}9m6Av{ z28%K#D-BI^(9M@dmw8l@MX7Tb6YV3Ko1dO_^>K5Nc_k?4zs{PSRm7)1J`L6ctv09w zINPq)?#a zc+I(AD}Tj7MCh@LnZP^#0uW7>orHz<%Uz{yDCAW>CJvweMo{_(xzThm8OuvSitU-S zcJ1lMcL5znm0Q2Q%x{$DcqX5M-f$ee4ezrn8uPMd*0rNv@cZXV0iRquaF-D;2KA)i zSD?_vxrFp=l$p;`;|hR>iIxe2op52FtatTf=`0u@OCeoEnk8pV8qJ{lA~2>wWVZifQW3E#U&eU-z>x*8Ve1Z zBvMql`6C5t{Zc6nxBBUTLsr#|pLa*!#chcW~48It8we6tl@i zgOM{>Yx;M*w`QKk1!SaL80JUl2HNR4r#!hxNvVAj@iI$LH0Wgcg`Wu%u7@4W*Mo1j z>t^5kJENob@5nRIR4+gD?5oz#G5LyneXhp?=@k_^pX;r1KD+8_T%jH;%a0qugSh~3 zoF^~BM4_7B^!YM;Rq&!`zA{FeXhoZN1{aTSmR6R}u$o(UELj{l6_>@}X}lx*r>iq% zZ~-Wi2V>5tRk3h<6y5B4>5vPZKlZMDvY~ur*!Pkuq_9X!D=irk1qAnV3DoEqDX>I- zf+ZxuU(@q*OxN6}yw^S3>u2q;HG0@79Wg5MMo-0m&41e3x^L>EwbM_+;3XC0&o`Oj zW_xApzbDM(gt#FCS;4vWEHLz#iJ^hFL)b;;0y)&xW;&xVg}^MtlgFJix7OU-?z6(9 zDufvI{SeQF6e4|w1WIXIcDmn1+S2T~FW!rP(rS8g=@xnGpcD3;-2QVGNn=J7MCmQe zl4wN;bdYu{sHRep0LvZ{ZfK{NXKZtm$A zu9;a!b*^zI?a7QgS*E51HHX2_{XdJ2F=nmaEzEVG0I#29XS+XE?i}{5ybfgIL$T<@>>@ zj0VM1HAz}}{Oqk+?`a$Ba9ToR6$IalkWK^d-7-;^K$fal{&N27J*^_R68`3qzLr7g z6Y(gNp&HwE``|sua$R|z@R-y~H0F$qAv@cIe4925MIe=lo_bTV@`6DDde=z~VPbag zaV1EDWk+5oxSj?nluwfm#89~P@e2m>LEMWyDccss1LV)WAbVyZxNVhC+gw-!DJgP0 z@D(4H%n76(aQlVm^NX|{ufWrV?o-Dm4j_<_Kj89pwd_nRnFNRjqItyQ01JYmPb{(B z10EfpIaYh4j&8mmA>8{6Mbo&AWZ2!FDtiGQauj#MGC!THN^5T4;+V1i(Ap}if&y<4 zC<&R|jmm1mZMzE}en1hp(jj|hh*qs9bhZW6w~%E4WFb9Xgxw+Sa`F4hyg^Ew&7KVv zp|drmQF?1nv!dhAdl-)gABV^AJelo8wDTq3U}a0av1wR5_u)WEmLxtN@g}^J43SF) zN>@U)DnnN0&`0P+$A-3RJIk*ggr$3ekDmLxM~`wB#ICgOrN^npc}FTi>n zCvH3O^{-RsLfES7LWjA{3kAReVzof{2O2Q>c6blsW6^k^299?b@h1V*6M}1e-pd3A zdT-zwyC<@tguyQXljun^SKm8F5KoQ3%ii{n8nbll+qi1kv(qNBLH~$KA%GzEC_t1R zw$HLu^|I(7s0Z~o;)99gQ}E-1hQU%BJh+>*g|M0Gmk!(8a4W7Em)u*+e~oWM|C*%6 z(S0st_G}t8U~QuL3_X}(^&%kwqFbCVk7zEt_w$S<*qt0jtE+@KDdXyL6ale?J!HrZ z;lVaNRYnOjJA^<%(`He(E96+$i^qY3f^B&!2F5ihR7HtA`d}Wi(s_7N30rKtHn^`W z5a|rS?_SGallw%@gJ-uFc3uL%H=Xr6=HV!Lt-z|I&_&dTNYGXN-7Og6Pw@#O*tyj^ z1X?&kcpwSEq#L;H^Ny?`%z4F-hqTx55yB|a^USlIwgslb^#==btQh*Z+CQ+V4VM z*P03|CAB&DY|)ie%g@9*`0P%EJfgKBI5;l**4@%fMjo<6@2rQ(==#`ay>yPt+8V2S zfQU!)IATCfPVv<690{k6BsNoA^1Tx`WK9Q6Cl*ynr&*6<_>M6eE+8%$2-eSh~P77NS75s4|N3i56FIbPy5hjiduWL=KeWs#UGr+c3THq;D zD>3svSgd$hvifk7PHIw4I<1}o#eYGuz0xe;grl;|K!V+b4ntF|HWna5L)&V_e;s?ucw(!g)Q~wOEAjf%CJz?Ty@B!XeK>%lse{mG z76ZS-N5>``-JE{ioMrzmacU&=j#$ciTiK~?i63bG`HcQJp*gP0jm<W~!}Lgj^!pPAM_-S3 z^^{Knk-SkCy}Ia{orN4gKF zP+2oSD6_aE$GWVF6_jip#u{INvNI2zQP+YV)VFT zQg4{4Q15Ageox%@s!`edFtYvkf{(mDv3P;@0rd#`xUP~hXFZ;!L|0dGltjR5!qNCV z_HX?m)-o!k*jge493|!y5(*(>d54O;e# zJ$mE8L!-gX^&MmKCMWSG!GmUO8?bq*d(JWW00as_6tk*A>a(0&Pu5y47Cml`fgE(E zX71Ac>$ek8dg*}uv4gV?4r*8Wn0Og|46%`h!a|uhR^7j_>ahW=8;Dy7mJ@!hlaw}B zV{M)%4uy$Sph$hhGtxSa!y+@4q{8^f=jHFL3*TA32fiwoin)-lLHiY?M#D{fV&ZM| zRF}Ty_-f^R68cQ`HUc8b|7CMDDtq=mEH&@t>9d^7`Jw2BjR@@i>h}gi$uiFd0!0OFqTw>Zk1r(&tiH1^pAI-sL#nxGXK|;| zf&7Pl_nSD5 z4XC__6%KH;Ge22}zpt2l#os)A7XgkBx*hJ&e>weOrjU3h!mIl5*V??R0?@H^$Ij+b z#$U1~v4A4klQ>lqm#$<~qJ1x_0BrFPegv+h5NnfW1Bdd50Zv0VqQ`#m=RX{gtN480 zCR~1cM)@gd`7s;nKT}qMz#Cp`2R9>b5U+#FnSlh{ICgC7XR^JoC%@;Yhe<_f?-J4w zzZ1sT*syrdV6wH!$_o?a1VrJuNfiV^=Vyn{qr7s+vmmw0$oGlbqZmeNh<}sQ3YC)= zIGyRqhu7sOxj-+?TQ7CjA|hCr=KWITLOKrOP~o_hR@k6XJqa(h>=E{c+Iv&C7MU5p{hsBv5Bk#L*E-Jg|Ru zW|aCICa0o`&V`(~>^)Qhcxj$Y$2AQZXb_ZF)W46Z!v-Oo+MdJ36`)ijcFFr;c_~Uj zu`2YO_j`w8yEqhri6maGZlyS3Btvf(|39j}JCN%C`~P*Xi+k<8$F(Ax?0E^1ot+se zCA+e7T|{<8HdjVOR`$H8$X+4y+LgUGzpMA>^ZtB)f1+N`=NZp)&hwn}JP#x1he|`n zzi-clkuY*##J6Kd#k1T$Y1!C)PlKlM{IaImnzSPAiidhKL7_9|P15Jj`iVPuH~ul( z9w1F+yqdioZ4qgz8SoIgy%3D_WY-A*bCYC`PP-Dy2dktyaWx>-%>b*=*Y{{q4>Oa~ z6GeW^vsq2Ss;;k?iZ?Ja6D6w2dI@z`4f!cbS^=x&6FaA4b`I1Z}W{q2ri( zTqx|$n~9*=rmr*sxrM-zd9k$aV)@M*uhvDHFEeNRzla z{NpF9-~7`m(RsM+zUfWiJzZ?snI(l&4e@v?uYX|uxkx$d1PLdkR{MDZ_HM&85e)4g ziYeWzUL9eKC2#yH%OzE-O=xj?Ciz%$B((lh)C||O8llp;#SemH2sq1uXiKSsg|jA{ zTOq?oBs3+%G3$Bph};CRf!_p@8nWUfA#4DkthY!8R~`0xMmDDi*%d|t_y808C( zPy=iqfNCM2PH&K~E;V2^dz3Bp2rNNVE|R5IT=+$ifM8qv8{pWfXJ{Qh1p1M+Z*$00n>Uun9)*v{*^Kz49JrTIA86OumHV5xWC#sUwcd%RRS%!sO9tl%XAytvOa4yJz{5}V2UQF~$OK71uT2Fm(jxkNoC4H;7Y%V0S?715hxnw ztt{rqoL$HgX}sO0?>gvB>kd$L1N(F)h z^M};i0C$&ZP{H`W%jgp#$AKVE)~AavT13H44wQ&@FQ4G~jr|0`qLnHhoVvEXnVRD3sHBe7n zaLOvnNa4aPZ4Lbm3l_~0!&FFbFw8~3Ka zD^sRt=U%vNg%5k$TxEZp%)A)hulWt7+a8n^phyJZM}=gge%SfLCFBXrr-y(6vZE9Z zEGi}SataSoi4HxLd2JI9T?z^pUuuHGrkfCJeTz4cgGB&DMG80Ja81G&)vqW7DxG$- z;V{QX#VQUctV^>PTXF+6Wh5*j(D{>XmrWex%5@)3%wpQ%2hP_4cfre_g11=X7473? zKO}}5>PXOiqV#nLT$WQ28?hS{e8lo`r}J8O(HjAX^Hb2zc^@^WY4J&n=SaDo-p18$%7SRHV}hET{iXVU_S(rE#6|g_tM4ytU!Y*y7sG<=+O%h zE@&eh?r0Hk6?p&{`OlH7mIecAzJj0?$RfAu3`b%*9v_7J%%C(c535G;OZt8~zM$FUxPo!MB4e`&nfc^CJ9js$Bvg8=SiOiOh_u*sxl z9wM7wOyJ!9+3Xu=!5?a11Ah?Ss{`;Yg}r$n5qNeHJ>pimzjUJ(R1xI z*>-V0&*Mnk34c*EF6_hquKD}0I$fA2n7^OinL%KtvLKW$fYjNrlP&#Wd#OI{f}fm3 zQl<*Bp#JG8zY8gn6wDJrirU7l_ADWuvVa=e_->G`L!d#bVxv4ryf&}1pQYvX3Ypg3C#Z(>ljSOG&lKa4x z#8XN@U-^};$o&hmQSYA^uOH1rHWc7JRcTO?2*gZRR2JxKffSDg2TZ0ZU08eg2c3r~ zDCaf}phj$-gSY?STWv4SX5nsH#v*ncN19~78KD416=Q>uy9m6OjF_@{)aGUj9U*3D zZshvXnKzbPdnzmVBJBh5^u|hO=j&6eWC^N94bD^#2 z=N)hZ5xb~w>NwOhh)SSWsr2QF(##ZdHvKs9QPiN{*)lE41fDzvzG(*RezBG0=8!>) zv@`MoxItA?Rgve)Sn)L0TfAL2lX&zwIwaPeQWu#|Cy&st;z_}HyFZn4?&DeP(9Kvz+}~Gn zjd(Y9#E-YkG_>k4LtLRI2vZW!YZ@3W%EI%-=j`bWbL_h70_WVk`EsRK=KAvN>m~(1 z5)v?tEf;W_pj!TOl|8_3dtKlrcho*-({I^T z(qDth+<}%Pqy1sY3Uk#`*R9%XTA$cp27>6LgUqI9W_P^+_B;M~Fhm@_E!jYT?xOxR zB%lN7wZ`1G(*lTEqvYi-?zu6C2acsj5#lE)4j+xFZM^+T`MnPW`K8Fu9$?yN3X1sT z^~}eX`sBtWGTm>u6_i=sB-JjX^!34-h+C~s?eruZT zar>2aAA_)&i{~+6>DI?TDpR^d2sal`(W;9084f^fa*;1-1~QML=+u6{|Gw^cilr#C z!Bby7ukNu8e^|mco!<%wA{&Dw9NpFS0zZD2p7Xx%yE4I>kkOib@!;l6)%wB3=nsq* zLXY0a9m^PJ@Pt;!=)_YsM%4k8PSUshBx&2?&&zWrk`eyF4WPy+A*qFE!q=P_)p(zn z5K<;Pnu_21?2b)n>hhsD!5c<&9g-Yxpirt`h4ePzhDKjF3rJnR&n_fNDij-i0fp5( zZkbmO{^PH$;ZGp}7LA4>$Wh+4C>v)y2rk&p3ef|v;|oZk;Sfyb8A}1_1k)3&4bXaD z1YST&)M`SlBMfpFXD0g<^&&$HP`$90xUlxcjl^*SXU}`60)Cf;i~2 zpa+M?Gh)z?;=YZM(T7B?_l0g9v@80JT8eL|Rr^qva{_gdfgd*_qI~#06JQvJhlVzP zGTI5;^5ld57|KJ;wTqzQkKy+BWwaJ-nak62Qw<3-MueOCha|J$N;yytvvbJ_s#@6B+W=9M4TTn5Xea^!Ro@c?}htWri1>2IYJ#CAb z3G5If_0wa&RO_>?USH=up7u7a@WOwh6!X?2`o^PowEj`Y9!g-yEBv?AScQWIGd*`k zX5i>LRRJk{+6%l^J>o6CAP&nv1VgZbQs(9Q_8hg`Dq|`IH>4MlZu6)yd*hjhjvqet&wZ4^~k?j1B!jHtlx+DxvI70;TN5)jitHe3cJC$*nV&x!nmwiX zApL?WZVF`!%rQY@@8EzVowzxAd1VF~0DTpy8vX5@Pdmaqh*j&&{iuAGve%HL$3~Vr z_R_bwEv=n#+Z`Vbuea5HvjI#syx526JK^EKNQFGcqeR|DhAj^pYcM3~iuMxl?mavp zkuuM_VyuEn5-`Q~1j|l`WM+<{Mivds{Kie+X~5~hSWZ8^n)_vGWRr623Ku5W$cr+4 zjfEREsQUzA#luX4dYEoE1iMc>nU%x^_`VpHbtv``wp1Ost`C0x2j=ogOlFNcENhmS zOg2993Ek3tVWVpZ%CBY$AKEEHj>gR&c|j8!ae6>gmHw#@s#$clMFU%|0U@)5gC~Hi z>H5mp6e^_0F=SfG08COsPgy*2#okP`7eTyt3rQJWBW`db(Rzj+Vt9*&>>6z5YyaWN z>fj17r{)XxmR@c5irsb=NM{LT3qdB}7^1p`tFu87ng~xkn^*wysDLzB{H|Q1!FPqS zLGHowcqj$zo9`ov$W=$5UOg?Et@#^V>r&a(T5MiLj>B9@S#OaJ#$FueB%r=_LogIG zY*GO#!K*tB`W2=+K=qUuaYjn=P=+elGA$%5Cg?90wE#V;^fG|u6HY-Rk)?dHnQ55j zz(6+CShKa`75mccJkKT@tJR}0mdx4~U;=vNDc7)!kbJG8b5A={!p&c#nLob%Bxuv1 zQXUKTa@Ue5gLxS9YIApEX=9y<6%Ia#vzDkV zu8#>Lj9G#rL>eiRqImg@m`kh6gw;OOCYsbdT*#ZApu#XaSG8W_1hvXj`vzMvuT{1V zo#4KR`+@<=3xWl_;d3pzf}o`B(yOJ)-a%M#_$Ut4_q4Pzrc;@7+Rn17(alsoTXMC6 ztLuC|6`l;7_Jx4ByN$wkL0(T!e}~+My`wt5Om9onuS3GnxR1O;8v$fX;<-Yj!6D)o zv{(BdeS>y5Yv1V@YD9i=j3g?~CWF_MP(6M)G*NX+%CJ?_V-TKoB5HY2V$=U~sblmD z((|Wo=Wi2^T+7$QSEPm^V12vbZx_nx;r*@{$1{Pem5OJm3fX5~v{q8W z#pFye_g#;8L_$8LPH}9o(zRcMDWwaNYu@qGoHZe>Pg!fg!054`AZg z#~X6^m#G6{7uJ(gR;j=f*X!jri0FL`{?ktt#uZ}xH<%xnT`NpbN8DK?u%vkL`oqp&x>XHuPXJhU$S^U%>91_RwOnzz^)A&@AJAL!&gE~To(I5Pi*kY-1(gqS zkyOrJ`>)hd4~8W-6GDTI>u#qEk^1IKb%p0|6$l6@9?>%2mX3Yws^o(#EfJ!5<`h=1SmS6ctIg=PYKWCLsC>LQSFmLDXMa9g zX@v*0 z3Ow_sn)2V!3qoNJHZpQx;7@+RkYSg<8f$(HCvm$klliap!HvOY56&zVqk_(VB$2ao z9i1@E`moE`a+dOMuE`YHUH!D}a;Sf7xX^&))aoW8&f z`Mzut?kM-7aN}wH+TQ)itGZeo^Bmt@?ZKV#f+-ODG& zm^g`aIm~QOK@0+4A#p)KG;jkcFuQW4;b7yy3pT`E@Jljou>!FBJLM3!JtrVnWO^=a z4Z)lytQgEKS!j`ieCM6vZO>zNiL1eDsS;N1gNy+@nTglmjht z7&fmQ9%l|r1d(0VIf@bcXmcuBdMw_NN)E=LuPJ{e_7s2uCz`@ADF*pmyT~VIK{phocWV@V}FG_pB!o9dYzKU@97$D zf`O~I#7jPvwcQlM$7b${;Xu#Bn*u8&v{({T&n^-;Tfv?C!>il&xtpEh@}S3EPzv=$ zFlxB{)`v#O8E{hCCb#t{tTO^iv5n&*34|^?)js4(Xu(uZSwlppX4=?WS$<6l3c$S` z_YYCZNVDuF+-81pwGX;Eb#l_!gqCnfley%XIa|#|@R5Tef101+sv`({-9@o6L&GlH#HFqc<-@x0 zNy0FPYuJuJ9%LG<&6PcJQ|V2CfsGh+EhYnR&nyCt@K3jz*dgxSehqL>1*L^yZ?RFX zaHFKWj(ICUC#Eh~dDu`u`OWGM7XVxxe4xs46xXzS9Fy~M{^(1Epykm!i$@X?RLs}A zI5^K_5~#sd_?)z4CjR4ml3M_i?BUt-2Q{CylPU)JPj$wt#*~*G z;_e5Yu03Q9rfl56uNmvP3ncXiRjj+UoDm;w3>|O!ou2M}|84s=CnrbX_oh+g&_&~) zJbnKaN=8S2w}TQhF%&iawAC9f9+bkzHK;5D(Od3FEe!(ag6- zFD_9q7X_-d0eLKijoeh_Jo^rTG>gtKr1o5_%C%>TdpgZj_ytDKMsrW9 zXfLz;egl`U_X7yJ-YjbJ1}!RAFEe+xy|AmHn4cCI21J%pBYE?tQ(hXb<>-?uv*vkB zGn%|TvTmQjy(uQU;5j%oJX5j&zlLUWSH5W4VJO?vX_jXTKq653Pq;E!@i_S$&?eCs zXmzIDLnXV(?k@0FiEyxB#%0Op794=DdZBfBq27G|DR}Gfc64xdA3sn<1i{X-Wb{z& zeT=hEe!-iEfP)R7l~ak)GWx!0JAE-2Xfy))5(3Acf((_>vjjF5g0`B@`-nFND_{fu zNnmeVdG@OI>=GCiW1Bo25TJ5Ts?*CI?fd$`oAFpiYxNsUHmpDzlUo{XE6=k#edA zw@vuMSiW3S-P-#_B=J@ty4D8T`p<9)6GzHo?AZ3yASUelsq9w6Y^ zo57~Ia?y-->&FTAK@w8Y1O$4){pgknr}#1~-WqBU*=$IJi_KMluXW{{Q&5}=(e(uR zj~@~$Q&a=h=7ct1f$==0DMkf?R%$YH2ICWIe%)UvpOTOWiwllL8cyavxi!V#KfWJR zOEG!%0%jg$g2%IqrU}wWh!& z!l-NS7ME7U+ps*gJ3S4#vj$PsP`{!bAiOu-&W3T^o!vj6my%iEjN&5ge+8tLQNV9QD2e)VBB|hb>hWT?fH7MR zitE?&LXi+OMY{blZeD*KB||W!VEW}jCjk_sDb4Z8orHu0`Ppx4V*rxu2}Rqz!GdM1 z#6sl4;tETKpDs-pb-e->cRe(6mj_4->I^N?)`<~?Z;ebr41v0qmtYq7w+3U;#^#mrx)*=d?Tv$7D(;F)i{!^UOzI07o3t&EUEdtm1E@e>GAJ}9D)8f> z1(8$N>*2o*I|%!%}v16+6V!ql`zZl$H92ert( z@Cms1x$XG=NU(JToUE6h$(A`5%vD1St^&kWN+iB8fXRKgj|SY+o}UH6z%z6aYNLuM zH%WqS*vAcx9xQ>qkM|#eC11J|RI=fHj(Tf1qXWFyn(3E6-#cah2w!V! z_EypVbX@=&aRl$gCfb7H!dztQUye2YW^QJZtoJzBaNPbGNcRj@+d^n?*T9WYp?C12 z<+J?7B3WQg1|#?k4oN72#J@?wMP4dM?k*ygAGY^C%%h`kfa5FKB3F_;$*=-e%~bI| zf6v}*UPiW<`;OX`FG!{$F$X4}n}7-kF#g>uEvxGyg>{dDw37BUSU#3g#9MaaQ>L>e zDk9Bp!?i9m`4%JWVyc4z)k$mGkJd*rw$mCzbGKaj|cqd?I` z!kW^kA-nCK=oW+U%sZqiiLUM?eSZ$D(w}9hVGrln9SYyMybvxopjMvI_DEGR3)K9& zo+233u@c;a&LFYgNsQh$ei$B4d#3Kf0b&FCLFLtEqV-RaXVpBLc~ zxoESyRpM>A(*LM)S6VyeG*ncr$;}8%2wi^KVJXkKOhzpPLDNv@T}#^;zeC?B0v1)m zrBg#ckQ6M%>x~EaXvhwH=WPdzX6}m->i$^$@BK8-ES5@nnzFmLOm@1fj+0`>9@k5^Jq6JpQ`C?yJ_*LJ!Y-peSgh%WX>z;*-ZNBo#CHwc!>YUb& zd))~>$aHfI9uL%FJ_+%-^RBT+x8INLaOUxOdi47=O_l&>u`Ja^%LpITEXl{qU?t96 zQZ7etZ{h3yFE}Dd$No|-2A8S>8Y`8&G*&}iZuhGi-jMavYRj{)M>qV~7_k&S6n+%$ zc(&Ec&JkWS4 zc9#E%Yt2P3*T3(xJL3{Z5pVn+ylvQ|u_(+-z7=#QLyTtT;hyXtR}Gq*?Dr{DBfehp zyr-hyy-Q+E{+%!`{ES$|16F6n)%q>&DqNzYB)JPrHZ>7QbE@D=tsnFR;rOXhW&$al z4QrmPybrP(WA6 zREDc)6a$q*;b8IxcKD%t?142>myA~{#c(r}0a8Nm5To{>5u0P|S*2~s^K$`huqXGQ zKXP!C%D|_niF-7|%PjRKU>eu->i8vDVRugaE7L8CinSXDYc4B$;I-a&+ReI(3Z^ts z!A2Bicz%lhK$PQ<{-(h7Yx>n1oZ4%NEUl8h2`c!5_xcl6OS&m#Uq`8Jl-0{pcSPA9veZ|rJm-JR1>`Sm-`$I|}yMK4eK@8sr zvWx<9SMq3Twa+Ni>lN_^WtTPDemwhD3f9RWN!_Y@NiiA>o34}gSk`1sqN;dLQ{*f{ zE_oG6as7f4Kr`2^#+H;>pF0D+V)bZPf!$ zJfNfXvB8GQ_r(k})Sxuq`LyR~16S16{06FueRJHs6JasH3J2|VVoI8X=bV|ye8b9` zW!>z*ku7eQbWp?{q>C(hebsUQ6*FA9amzeOt+oyU62kpLahMJ}^nVb_-l)+!IDsy0 z`AqpeqiG8YZCP5%=*n(3F-Wu-*3~R;r4#BY9U1lCoxU%^ZiUxvjoLW>%g1Nd!?GMtpZsXzwE}hUkM16YG(+OC{}V%KTD;Vi^2(IUnHl=0X}3JC2jM9Wm5z_tk?&uGHf)C`y1A8Z{{q9tK-XlqIH+c^`_4m_UX=UM zw_G+%v86ijKExFN5nE|KFU&35F*ValUHB;Ci+8v4OxYhJ=%3Hex4zV_5(Gcw<1YU* z234}YbMhMoxw8)emtP&~66(seVA(d6fkw)D{Zau%;v+15>b7hA_e zyGp(4K$^bAfn*Mn{W>7VSgnslbAM|@vts0l{g*qgUVyGV_=ErThBo+iON&h28`Eru z#DeAhyp$=76H-1vZY|rmo)Z@*pEY& z$}zxZB?V?t6)vd_JL~998@JVidXVVqb z?1sgg!k(?X2w1Jg{8wnth%i~lEi=-!Nzkfy`vM9dA`}j{^%RPSiUoH+WojT*nS*n_-9|>{K`!GjZf*=Oo%T{bow{<2 ztQ_V6404}9Mr)fFJ|v*p*;)3IGO*{%q(5T|GuKvHwiYHmi3R^&L998PU?}Dw9K-@4 zHmfO|7sDq<$0z=T{k@3dDfd^-`p=Y!Rz3InjkUm{X5V8m&U9g^dL^mHZT)u*$)c*q z=1{l2i6OBw`G+c7etwZkJ7UM9V=36jk*C-GWO{Rn&lHF6Dq#tBj)y@?dp@4RA=~@a z+Rzq#I64g558vu|D_t}Rj6BBUKnq@KC8#2aN_z)9U!&J8uTGLK>MP7WD5Bj~A|^=$ z6t#7_A$my|Q2qTlP64Uq?KM2LV+5YR!G9eGPH7-b@tHsB>m3U1}l$#2%nZZ9TFWG z!$!ORK?4VTPN3YF+W4_Cgq;qulRX&pWw~Wu(FJ@KA!+AYRZpsU>P$;rKzXhb2bDOM zAQls$gWheyc`j52x6@BN87BKn_B-qipl|^w=7u%+=i-^!AeHFHonkScd^+hX15!d! ztPVVePi5<%Sg1Xl7g>sbh3rPILdOb)I0-sbO?{W}-BbWilSVirJ?^EHbAQEpu9?Tp zKHl#dai+1BD!?25RoTmpufJJZ*Q4Y)8LXx}+UoZm*;r{rIPbb&SypNQ=F zPiJfJw%y}e1?$^9zk(x}*p~T|5K_L*Fd0m$U@GSPq*jgOpe^e zm6bwZqWR11W=C9?dDu8*;oqp992YdCfC~IH9?Dq-^4=n+4%imL9nLigl_&;BiKC~) z1Dnx4sfdEb2c2TRnz2PbuyKFSg-7*=edXBq!iAn z&@xB>FJwwy{-}WQ@qJ}mo#Edgzg1QQDwGXxW$tZb>Q-ibJg@9T* z4qE1CyW@fsMhR}CO`PcN;Wd7c!kTJBn~$!pdCybP>VPNBmXbWUgBw5m_o`O>f;eUN!%h4#YGxW{+y=omW}KEEV?`bJ;eJ`8J(DN9j?qv5twVPtx&xEQt{e zg6w$IcM`1vNpyZXEfo=gDQY0CI=J+~*F1TO2!O^cr{UA#?)I%O-@eNW0y#b`WtjtCTUYZ3v=y{!~3e~gyGlHXO``dV{koQEOgY9OzP92exi zEV8H*)2`bWG;EdPfHQ`31U|9w%ZNXeuXaZ+58FQ27MBx#9v1;35jCE zY`a&+w<{$r3($yUQ*F%5n?-?`~JAkRs3eyAL}$-9Nl(pula6G zE{^bgUvl*GI9sZ%mDjCWz&!QlmXMqXr1n_|T8VJ$hBvN(uLH+fgCCWklATdcl<$?R zS(9pg4@|Ab9YGOl;C50Ot7(u=^WbqmdyCvSIO-}*rD6ufjgH;thV)K%&K-qo$ExrZ z4c&V>P?_DeGs>07cKmbL&>y+f zGWrPC4TLB)@)gvzd@X9r)=BRL#|N&)SQ>nm6o4B9@g0NXfW*QWKG#&!pfC@gT?ftB zgNZJV1pD!R2P5Z?XWkV}VtlW~v*JC*tMtlSd<=e6tvPV=_egT9tg>Ow6)i4V-x8?N zZ1Ml*nODM{$T^1OI|OZ?HT?c(DYbx)cm~zVUUHVtN!qaJ5!E>YEjux$iqHxCyrEs~ zh3 z0%UO-fotch3o^ehe17oR;h+h6gBVJ2?Pj09-KhHS;d=!r%u6t_e!?XWiY?+--q#2Q zi-vb>sP!8ITx4Q+M~bLqe6!frSa=3CGOS@hp~l~g7}4t$R^7#hxE%#?3MFf%Lw;y2 zl2F*M8DWJ8^3K7FwaDIoBi*HP@A*SLeTR`)gbgDzJf%c^Mtpo|0VCsm+hX<^^pS}$ zgm9#%m;psYRCf~wPN0YV*C*l3c;?inn$C>q?z6 zE=BR!XwTj1t7Aqsl=3KxM>77gfEF)M=F+M5>|=sZ_!yx+)M7OgRkeM zc-8HCf{%7H5lEx_*G~JjHFCkH9-cECe-)KV#Z76j_!b-HMTXpsOMEJ%+zjIX^2+0a zIhJoQkKr)9og=@kN*B4Mat(HGo9fS+$|4bs!4T1kL5_zo8IeU%0U5qw5fs9!C z|9{~eSXrD_8G2Uf_G&sXZ3p*EO0i~)_f}0LZ0q@ANhlYRIU7?k-rL?4*!2x*jb*BP zCdu~jZVAA(!$DLOCW-y@lE%g**Lx-q(8 zEf(tT{x2ww4-B-5oQv3>bqb`ma~G!cOFtG5Ss9=q=q58*bTStf@y=m+qfv#Kebq>_ zNLK4-!I8vN7cQVK<<*g3N7yCEiv$9|!5SHG8Ao++YS(PO-hat`kK_P4EbxZ9%cyr} z=OFL(zeQQJD_Z{7AWSSPpOH^(ekP26aceaV=!Sr;v9TxjsXwevs`mb{+r=khIY=+E za`C#lipt!&hHgtn+h0t*km4sN5bNb0MGO}XFQyRFH zS(!%eA8T`W8=uY870V5;m-u`CEr3lxuv1iJz5iq<5+S%JQ8|J@_Jxn6PoSYY5mm^p z;hgo-`?g)FZv}W{jznTv{tJPczjE=&_K~vg^=$6DTHj6hGx%m0tW0G8$ta|vd5AWC zIkj8|T>iNMuXE$7oHq`hF%h)+Jhpfz)c8ZwFhP^1&>m7Q+6s<-(zB*{c6sAsBS80; z_DvPmk7NCfNfT8WhYchj7KFWRwt$;9L0zoCFljHiK_dBBEkg z-96M@n5Sb3Whx$&r+n~baygz5f{f~Cl68D zBDU9>xc<%>VQ78K80v)=e-d{!?*B8l`8J?u4{Y26x-5~>CdgJ_uSa0@MfZ$6MP`MQ zcX;c8vMiASMMuj*)@v|^2;Jz{BzG_mj@uHaOMC=3{~6*BHKoD&Y=Ckvt_EXlDZnzB zkRck#(~^#7LEUc=2}E$Z5h*L$JG?YX-`<)#9*T?HC-Dl9C-B!yK3*7oB%Jugis97w7skcY=i05q&TM zvHG%&4}CfOfT-_7|5oGw>7XHC+x|d_QuD8T#v%GQF$VrOZAG3prCc-+`u+u%u)BF# z_``dxk`pWW3}|VpIPm=$^d89Yf(6wxA!Ww-P~ZBRqg-e{31H=JlkG^}Yuj0CcupAb zV=79_h%aR--(Aj-WqoWrjh%V-?`jyRFe|?F z-ZZhZ^bG(v#bf#4`TU`D3;$cfmw3$`PI~@iOtfPvT5}SbvgUIvuOGiY5Hzh^|IQ;H zm2;ZDK6(Sx%yFe^1CWMYQ`-~fd=FJgmx7U>buf|csgYApkk{)Es%g{lq1{eNKzr00f~ot z3+*i(i(Z{XS)PE=86C94)d%Br%Km^7YHaVD^0Mqiio`6O+k<+wM;UG z|NIS{aP~iBnc$UmFlrvLmJ)%25GRC6c7W@z7XSDpob3a_gjZWW9%)qm1R7uA4XDCx zhBE_CPL|V1_#M`0*czes{_?E&iXvYrp5-!^Ax7VSu+b}~@%7SZ5t6S{$oTAF_zoiL z`yW9)2FPyC-nMI{^f94iaIuxzpH=MC#+ff9g!zPgF77jTyrm2vN!)i62MRpbWE>LP zX<_&W%l+JC?vW;ZCv@#BK#C~8xU)*V!xA~UG;;7$tMlZ8{cYS#qBrn1k3UyOR6(%S zj}C{;^iWxg$-Qrkw(SJv4b<%YyAb_;R^z4gkJTr@OdH6FNK|Gsak?FtQZXl_@ObWr zmfBq8T(7$?jf29VtytIUTQGXJl&;sUO7!93NbjTm7|a9J>nT?*p`EIj0eS8b|F~eD zfTag$>>>$hD*RW;#|MH$zHQ@v9fLX%r8Ftc4+56#nmA74^Mlpx2F1S!}yfB+gz&T_1WkHS5F5RxH(b4M{V{}#2 zJ60a%$|CY{zN`5>Aisasz`iFeQ_g^SH{oq{SN~6sJy|j5q1^H3`;KDywwZp6kCW zP|#r$wcx#LA=5SgW05FopF;FS110G+vn-J0NMVHn6@)ZSE~z6Y$)sMZRBZ0u%nJEh zsqarF|D{qF%OYp_GUJ!bhoBMWVA3mxsvzFlr9JQm#Paf<$PXY~;4?D&p!$CbMZZ5Q z(Tut0K0HEN#Tx!X#%7-YyYl(M51RY+lQT6r8o$}PP)#l*zm_sbeQ9;KkWaDjdUC4a zREE$lN9xz2LmMir;nheqpZln3-;i(eroA6re&GyE@7d(&zqZ9{BuMmFjqoEVVm2V> zfJuUB;N54W(cV#;Y;v_QBtOtR8(BMlgVx#g?YErp8@@OrAFgELBh9N*zD9-6XD;s<21P3~aX& zAbxh&uRXbmLlA4FbdIQ?fBw<*R`}zepPlbuq1uI7>C%$Ah=ci=MVjk*);2M1pXsbA z(G*uv-_cvx%W2WRWU>ZuC9DZ0@nrUUpr$yDkDI9+0+KvoXcbG z&_*_JjtZ*mWCpsyO*WgQeW%K*Q3Y*vF~T>AnuAtYg_zi{{{Pl3>b*1Yg(%(@!{R>` z8w%6~t_O*L8!tW}=!|4<5orWpI_IJ{quF>hKuzUtv9ZQth>{u2G<+j~53OA%Wevst zf_&k4m78d+AIABW+#t5t92qVF)cHvPn{>&Y!kf)Tb9bKK+wJ5u&LLOyTSWWp4>)MbMlf*8@n{5E zi;EZe_BbM>`N+bqgZ6%3rNpuQ*T${!y`_F00Bo*j@&vyBl=2eLht`-gDJ-ak_?2Mm zO}${CR7O6BEkUSMo&J&3sIM~%j}kmsB`YA|NqXrc>r^c>#i$SoBEM3|&!;fhM5GfOJ=Xz~$_3@v2lybnRsYF}#U5c`9fN z#CF1nn66I!P!-kfg{909Ipe|~sHs=zu2|{)CaaK_aYLJ;E_D6X9v`toeW{WP(b7Nl zD+AQbL%Vtcbj;sd#ug9kIeT!cSCBbj8yn{Oaxi&4DTP1GG>!cv~cR zxV)5{{F#*K^>Bdb8cZ13PAgqtbd;QW&E-LfBC7|TQs+~+J&nlngP&f=E(y!7??ut& z)(5ywhbw)XmlAzDSR*%n^ziCuTinGIQO{p zrkHcePf6JXFMFp4zG#k$-Ac{(*FL|ChrdV&kWGU8S43k#C}G(Q!MAUJ>sLpq5XC4& zpVTBKx{SI9M2gr%ZQM0_fT7%0iEr(0#bcwMtawJ+@4LY4XD9aOc%9+(w}%Byf;@2l z0-L~j!_t51tJ(t#pme<&5(M)`u35`p38#$Qo6xu61XjZ>DP37}CCLHsg%k4i3K+*upnYn)(*RLU` z_u z!}LhWRx(TcBt5J6K@%iliy0Do_W;_V?0NFNR+>R;+<|s$q3)%>TO~_F!T1$ zJPq5>TgIXJw1Tdq=SC3R;phL`r^jW0x=@EF<-kaT znGUvquH-}N@;KH@*OjQ4Mw;2zW45i$zQ10NDSk@rAE{+Pc8o2z?Vmz&ZynCq5H>ut z#m(-_@>mM{@b);2BJ_jFpRrbk6f#X<&SoSy=pAv-ic1^5CnKij?k zwXl(<-`ba5pIgv-$$G$L=dI)muL^}ODc+J^TAqJ$yrk9BLdTAK*NtfY18-aR%g;P$1NWKvXj&c+krhTjIb;yTPDj{FyPJ zIEY}D?03jCGRiVwodh{3n;44HuHTI5c}}i|)vK2He^k9?Sd?8CHas&7Fm#9H&`3y^ z)PNumDVjjsFwRaIpMg6;M3%PVBMu@{TS_Oz`Xo z!nhon5VDivkVbX%sU!C48^&6v(f&}Z$rOh}E`D{fqsPj15Ga%6fDHj`;RCYc%3ckH zMKLbna?Qs+g{GbghA!_vLzfM=qnC#cCec=SxHH}q0Q?wzGat|nyqvzGVOi3Y*n9-| zv-r}29ke?+_4g51hE0W8eqRm~K8O9g++HP~=xdcG+YJejK#*;=;OhVU`E)N#BrAcK zpEN;(BO_oKacDR#HBTt(d3&OH@;rr8W`C$%#z=;n&$+aq(#;o;SU(cIbAeMha6yU! z%x3_|A_@Zk%Jn6>U{dU}(F54Jm7y)pjG$DnihM}ObpYBk9xfb;HuPMNuM_=oF9`@? z)QHpQp2OSs7iO8N+ga7Y7iQ9P@s13~CG5{A7HtOUl3$3STa@016ThEnt|ub2Imsq? zAE}Tn$MzrP^2*gJ_RuE7F*VH30I#cbiw~X+bmyc*{_EpDLG?pT9lnbMUF^qx zc7~;dp(P_!W*{B`i2+AI&@YO2%Vec(M)67Fc$?+J4{wr9bb^x zMW3GTMHmexINmdQzlkWoi=bYQJKnegv}G&EMzowm0K*TF{kszwAD!g2RGF0e zT`%~1;rIM3fh`k_Ly7!S>Po90JXN1^)-hyMIb=whJPbd%*cxW%?+WXrF z!Ld41-Te5mUqg0DQ@`wo1Ky_FnsQ%>^;51ty%JrV?1_J!Oh_41zuSCeiB~Xdx*%$B z8ToU)j}5aC$M?OvqR(1E3$K_SF1efD5JBD4s#>RW@k{#%N^Wr{vKdz|Zt#b@P=~}W zCo%!R-DQ5YiovVNyRM&hl3_a~pL0{xvrC#Dw$1(Q0SUUiD=ojs*mPTuMMb>5T-!g4 z*>rD($!zHJ*kisx@oW}TuYuhI*i@)B^jqr6E08h+Wbx;gN%Jp{w~F|fFZ zQjd$=<%%lcFzQM%*qDtSDmLVs1DKRWu{D5!0kbh*r`4!9vt~d`8`>k2BBfgM9v#IP zAL%bFefzSlfvIbor$*%?jKAFhfu6as+;+`#9j`8dJ$xl2J^dTHAhj4;0e$yRAHex( zRXTwt`~3BU`m59a^xxFL%QOuP2f5hkcoXbu%rJVB>Se7P%Ma3D&q$xbRo47^0^FY0 zvo01rdJ3-km01(+{}&PVJ_*!hMQzmO)SsWPY%Hfa0lE%Yk)~iVSd7a* zgk>&rAkyYyiXN60h|^Sj!nL0Y(SeyFrYPcw^~((;v9uZd>Ui`fl3 z6Jk_enK)Nk5o)*}OE`ML=$kX1M;UlX_W zvB{dkD5(+LY=viKWmqShsBNl0x>x3Zo3z3Z5=j2TYKSno`Toh==kPOh#C$%%OUqb^ zHTU~5X%#B*I^8Ge7~ofzf9w|@S$XA{1GuQ4fc^o=G+3zD%3O(b8C$i$M(;rRSV>$WI|B7YA{*Z6v0 z|5F&q>Y0^{lypxNbkpehqYLj^B&hh+$p1%FFAfIbyBXW0N=72)wx2ttakzQOj6 z>LxxtE%YU8HCKJ~EIr_L33%x0Koq$15(h5)nBOt4l*m!V%3cw>MTvQK54%s_7>Id# zp+Jpr|Jy^kH{HXVqr%B5mpG3*;Uap6XtB=Efl+Ujm^6wC9-Lwnl7kvaKVf=CU(ZIq zt&u~>^hTtHq1QQ#+Eazs_)M-_A2B?cwLCP5mXSK2Jz-=1BJyqNFb40md!4oe9slY^ zM)f}IMo_IQ>MLLFrIPslt5J*tz$blR_itd!XkzCaR4aaRM>CTLSt$)e*8Zhqb^yCS zWu@SK)5mtn8IeZB7%TenY34+rv8s0cKb?;MY*0IOQDnF?1dPw2_^3P4FUG5nP>Hk; zQdf&mm*{qzwa#Q5p0*JOUqnYOz+WU-x2*W<9GKrT3TCRKXOvJSo|q#=+>ApvRoX~1 zU}i4zDQ!3kaI__7BFe&|3 z2h5=SK;cpHLgh1zO^)wB%6pzr5rA%Y|1xYm5#p0h{U}Hx!gIrYw!GHz2gBbU&M2;v z6{jIn0Vz#hZ>hnBaq=Dm!SnvvKggt93!iDsVEds|0aGn95rI2idQ!Kh4iB5MYi)f^ zx&rAN-=9(I*7v7KQIwFq#4J>?t0x0_kq0Zxg2#_pok%BElyZmP9YYzDX2${xe$Txl zQ|VXcs_oyCAW`|qktS8Qg%MS$r!kzb{6po#-^Zj7E^RNERp~qr9&8H-SPzECC)O*N zpErG{#q}QfYW-VD>hTR+-HM4VeRV?-7^N>NpdEz3R<=6NMC* zbeLWlksug|et)^voa&}AufsE>1*8y5^#*&;SJCK&&;I>~C5d|f&$s;NDFX2hH4SRn z)4j@!6gBFhQQ^m2lu3(WxUiNZfK-L(%rt@v#4Q1o4IuXNQlv~!~L zt+qvEYbP^63}UStV@>beg65*@E|J@-dO-T-dTrvlXk3&<{?O2*1v^XRtubVLdh)3B zO#aXw2r0aw9LJ_em<~eW;>avpO9xf}Ow~NLZapY^)qdEJBmAoOVyVG;eMnDKQ3V~v^@HvrDGuP%Vzd-8DF~e+?)g6 zTk5%Aja$)}g=+yCttV>vjR5b)i)LvKd4M&T>>uq(}Fw`ei%ie$e8V@MA9Zd||u(Jz~ zB@NZ!t~sVeRRN58zuMWM$C{fX&MbVQ6l*_q;183uNxcMYch&9r;eV===GBRUGn^V(XyAMz4Pdfg_+Kxhw$mK#LivN3M$dFf`)n*5Kxhh9l0z9nVXMf#UDP{T2N1uZ-TUfw$_|SGvk|cvZY|Gl7m$Nok$#pt=Vd3lV#qyk9 z-C+Zx+z`E$5SSSbQ+14N&S%fi!Dqap8{dSlHju?NDQLzfm9VlHLx+}Ey5$Ya6(1`( zk#5fRu`G^<8I}!_7Dk^#zxj03u99SYV~ln(k2sYIELlab#`Xr{;aF^Km-0{LpB#uhCQ0lqj$^dl_lxnw5=;3h-N$5=whXL>eho(L@w?ApQ;09M@nb|Jvm<_grCv+8oPei#!IjWcljg z3plB8TF+lCdg~jG$*MouTg$*bteUv#ylXafxmQGqKkSr^Ag~nA-^1zpJp!CwcxQb5QB4G7CtlVm31UNmDu-$7a>4G zDID3JjQa}!wEepkt)0r!FIk8tTrv7_@h#DgLSARHp#>JVelz(u<++AB3Nl_*-;ht% zpq%Db$sy{&EUTrqsO_zi_DO8gkiHHZG^)|iT#w>p4)}2z9baFNPTrUH_^;?tuzD+l zq@qK?yf+CVEloWs*FK0Lma*E@@AV(e!oDa|H89zucS+^BBuOcCJQ!gP=4joc%R=;? zZ*MXQu&+u|U|DXpH5s8IUawI;qR;s~s+u3K#^82wO;end5RBC+p=x4DfApN-^`( ze8GLPV|*@ptqs{+^Awt%Np}E6gO3>$O9st{4jIvqI8|F`x$uK8;S}Ti@*X1R%1Dxp)6b=b$Yn#`#`kTUs zpf&U7R`1KAtxdZ06v1g|)Tua5>(RQSbj(6w<>9T4t&L;5wZ06Fr?gyTqSnb4u-7ocG)_2U6W0zZoq6RKm)sZy2FPt1>^d$@M37Hn#{^Md_t|*pWVFU;s z0Ao-0_8;4bLb@80vCZh2RQ;$^gC&87G4FMykVG_lQApvBqCCv?wpFrnB1 z@m~wHI_M?-NGeDYuh~0uoY8+bY5PiJ_bSa+kD~j($TSMISAw3~7-g;9#S3N-l(vsB z=a~hQEgKZr;=3u+A`pt7BN;R!GxPqMDCBxEA8`8KGL+fcWW&j-^@Wbqdlp)f!E(1* zp$qR-_qsHUt)vC*M|iSOlzpS)LXPm}_`e`2Xy}SYJw!2(G9;PcsjK1kKX^6H@c_`_ zVdxD!XS;iD7xb25*s4Bj^i}yr#}9Tc7O2Ln=fVQia-WLjE=P9=cHeL;D~OtyG@EX` zVCj?atN0(r4BGDEbnsio<|ofF2vzU?g@tL!06#PVPUTnQ^h}?%JP-QwiVn}{Z(1Js zH_u?J=Zj3R<)pd8M8+7&E|+@-T`P3=ps30M0}<8Dm36M+GBVJhhqFvawf0yy6>8Lt>1H= zsNgyc2TS{qF*u3CZwpPq^uKMQqXx*YM3T;pH%bE9$e8+nAE^t>ER!}U609Z6o{Hdf z;cXsT@jde<-_*}LcN8BKY!|{>S2orCMzWI0B`&jFHDxqm#5eli-HsNrnG!Yb%DET9 zV*gNVhg#5i_}5FyZQ_}C6W^} z->iFCn_TMkpM%55j@ABgkwRitWO_!?!GTZv#JLiq86AFe*?qv#x9Nk>0Y>IfKdWi54_eY@A{;tCBzXO{J1@>V5MK3A|S3A zpRd?C2cSjtM9%(dJPPA!-#z7a_s;K|Ub=w376>^Vv=~y+F<0H&7WCt84)34B!vjJ8(q@XZ5o$Rh@ca^Uj?ShKBGA$4*v z3k@48(&ZqTnX*m?Qo1uLvExu927?PI#Xfsa!}r?f`~{=?aYUj6fS6O-m6T>R9MsDV zGsB04LGz2#;u&+7x{KHW->22z(yaCUE>aO&GE$eV5@Sm*dMNKdeNLA*? zd>Ph74)m3@yQlgl3qgG^`@+{9a;3|Bx#iP#8Uv2RUiw^ujH=89fNE8sb@w&(e45=l zTuGq79Vw)ZCb}}^toEA^ya#d>-$YML*AZYXj8B4>@!W-%?98x=K3d`8CC~hILxczI z%n{xpXO4<~seDiOeXOw2O3nF(;5~nC#rre|It@ciHDQYgI1eGKvDwaArUI1eX@b>L zx?KkT9#iu{--!c0QJnR=)$7+tPQcdo4w^}(Bbmthm!$`h&L2Y3+&rD5J+JjhZlu4T z<3DO?hk0Y)6q8H_bd2wlg7_!>sHQ^1>MqWdtOA05nO_WBhM3BZSg;kbgW1UtoeuuF zG}nt%NFo(OYcQ#+TlTZT*EeZ)i^03`bIKk+Jv8t9N?%^Cqh~3i5ypU!E}EVO4vr#e zieTTBRkUJUQvh}M1NDjJ7LO_BSKdr%z-A9m`~!x9nQTq49Qsx*u)+wjdf?g#-{`XUAHe!2|a9t}b z+Hx#QQm-1FFgHmNaS~-=X4I3#Js{a|V(YWuxP?g^W%OZB1i|;Tl(la&=BWd@Eo-Y7dml56>#0aB2pI3K27y%Z6$KyVG*nHAU)_jjk zX-g!)aAqjU`A+w$Tbs*)z1_WN(^U_)1q3+U7BBp8`a$zkIxaCnjH&h{Ol&R)V3&dJ z)OIF?PCXc&>jBL3m!sa8bBE>?>^fx)9Rt0zU(1i$y~JLg(@(N2DvTA}8+eT-)s+uWotzs67& zQ~$_qhbFi%EEo2P3Y2hOi1T%zKr>+RiG|^lPiR&Q>cc|65I0^BDMIWRh=bZ@DEX4d zdYRMdu;)~Y^`6$@jbG{AS1e*8IaO`0Ld~N~K!%N<3b`HvvPP+eDUTq|VD3o+0Fknz z5<=d)j$%xuQZ$<}bF*~=9#Z)tjPVf(biW&VjI=M z4`vF*c>!EcVkXp;%LJe@&Rw9HY!{RK&jgeAun!h<)r0^n!W{eA2dLjJoFl;iT=X(K$G z8Ul&#Z!Qh-kW$z46@F~a{%^j~ft1<7voq*f@;Jt&#d+Mw9E>^j&y|wb=t=p+Zy3yD z9+Jn<1~c@BaYoLs5?--tfal@}g(RU!=`zt#CIFDfk+|RJc0bR=9z%FuoX?W%LO#9; z3|N|nc?A>(Rx7=dCfVG{AzAJ>XQ9m{3Z3^Eke{eWLG?fT5H` zsi|oTLAE_U@#)w<>=&bFr((8&7k$L@aVA);o7O}ajS4VO1%!AwsJ&=7ni-}T6XnbK z;bk``{a4o&b>|ryJ@>9*pb?0(I z_q$!-2|Ed{mU=OV#%~3ySr;YE@bk@R?e@*`oQ-}>z^+8p5?5bS)96*%PvL*~EeAZ-$CW`}QI`Na$fM)tbXW>K&V|&(y6Ob1_ zQHiRcmZ{>}w~#lKpoFu*!RbLPY4G8GWEx;G630~$l)2GSda}fJ9ZP&@*@0O$XTg(G zx}ivl%FEn67Za!_6TUM|y(--%hT(<+(A0aa7VnhV8W#L?IGK<}?GqUgxGpIwR1I@{ z<-=~IvAaocHm({ie?7fZQscuHfgjSz^Obr7xs3^lIwGX7DFCo)aJgz%TJg~2<4aOl zqYaopL7wYIgnY#eJWu+$fH+D1D9at8>zYx$0NN1rS1kHq#lDWside_~#j24tG4)7L zqO%VRiYWWrm|o?^rL6IuL!(gEPBuOt61N^Lv=?|{P1Apc&z69so436|Gh~?;`8?2s zhBJVa?;~->2t)ZBwn2sWdp9pg?^pOw#T__ESlNn&+~RKiqiS?#Ed_(IXzWXQZ#kOj~F zs-99wPM#gn`)t3T6&QXCRP%NdY*`U-9}{X1iUJcV8p9r2kiwpx=D%xrmLys&f^Yi8 zA?F&Wak(=t*-qdbq1YM+pfTM+HhKHPWDDN`u0}|Rg`>EcNAXl2(+yWY0#?ZZn0ifJ z6^IL9U=K^?%D8!NPBzMTmDM3+>o^y$1!3S^YL+{->V_u~4~?RQ^^=V+R{nLqoWDvT zcd$OOr=HYq44_AsoxA}KS7P!$K1#y^e1^MkpwbpU;;;6Q zfLUBPJK{1bcRzM6DTJ|#kgecW8H^94GQa2|fl*vh6ohi$JFbv&E}pgB(f(iuL(Oz& z;HrzMgK0Dj+_q$wp=KD*WJDqeoGHL#xA3Px5D!Mz)#EqpB>_4G?@sNW3YXh_zh#&$ z(&&GN8BgBo6-Uu|kSKdIBjtun|B%N<#>ezpSTk3{79&PXqfncQ;m2n5Fxc9WT=}&5 z|G1vqkK2LTgS!quQJV>4xV*jvK$xLI^8m~#2j)j8yJE+ko6lS=j4QFLM^)(vuU06>FkYN_#o0)j`DG`e8-2_ zxNM`o=fIAd-ys)y19^GbU$= zybd^}o4x8dr})#UUiv6B0-??KMiy~7#>qx?Z_6YP?|QZ9&r-fga2(&MD(l=hXx|`*<>QL91b^TgT&oR8{Ne2L zk>FqM{>?61;oGWfLtd55UJ~jdK^0gWOgxu)(l>U7!QI^9QT0<%%b!_@xsqj50_-k^ zQz%oJ2YT}F%2awiCsjsXTaHf4Qx@)(#Dj;6`=_6Q?J<#L6$B_A6|5{KIF94TMj-3DBVZ4M z#9m#rQ28M<16(V)jt}GpkxJ&{P7(9}&h7K9g*M(eFkq7Qf7yZ7Fos>-eH;qz#b#%i z(VyO-CK3U|gLRvF$a7;L%AY2P4s(JF!AVCGTe*w~Kzi_jrV2os+VmKszE$=-;HTzH zVFamtE*A(UA6Bq{bs%{{U|e?olPtRKwC_M$3Dm@)`SR?f_;B>HR0ho7ujhYJLvlJC zvKC?p=z9#051S9Y-Nr*)>16hHN%JE}v<()Uv!k6&@mnCXg8gE2vFu5GzeHu+%qp!D zwUlMmFn2?ooCm_CfTfT$Px4?n_@k%OZuKrkza=$Nr65~Vc z7*E84OxCGE!FO#wKWkf#c)NjX-hr*PwrWY-@rB5c`&urp>Ah+AR>LNC_B{(NYzH7( zNE&-m<|`;c4^=Pe(SbJo@M9LpW*lxTRuGxx>{A!O-8>nW03#&}U3M)>(P;%8+crf+ zrkIAMzo0%sntFnI@5bSg_st37bT0d}fwg+wc{uP6EbBX^Ke7k_-?{Pc zFFx)I&r0I&BJ&1f=^NO}I}anj-w5DUU!YoYu3*o|K1n-CvPV8;?AhJgiu z=R|rMO3j7&Uieuc(jjkH+wtK0;LLvQ)>2&4o|%yrmj8FSjkGUZ?pB@BO5TVV_h|de zO^trM5MS)#nN8;CvVj)q5J;#w9!Uz5c@B`u)k{z>-iKK z9b&H~1)idbiqoUNG?AvJ`~B)*7d!j=H0qEk>z6%fZylQtLsaIGVs(tX@)ao%-`wLh zWT;Fshsl7U^)Dv9Q~jpCKJBdbxtc24;Ou-*x)1^I@tqkWbMP1 zcG6P|OI6tlw$rPg<12Vsqgf2%JvYnd-4pdYt`cgDbx+^q04+2KW5y1jOXvqznwGgG zG&LZkP|@b*T8;4X^&#UzfDSW4D+PTRrvVY89w9&bWCHz!Kr?~_Y$QOVOeQo#(+e{7 z=P;0RY$csj;opxYRlK&rU5}j*Wjsf8jlEdBO>>!_wONE_EB7<0n3nf5xq%8z3V_OY zCw5XTKPgaBxIA1PgvZ-ntN}5F4WOB`r+w07ARRu+q&F)3po(HRH`+6s?J)V7YK@ET z)-%J^sCLPL@8+j$is4&U!I~flZ3zXc!IU7YX7P6Ya(7A~9iu2{l&tuCn-cx{35KPP zw=^jn&BG67n6?u)?1L1xe2sSgyLuQG&8-l!5=8^VxAV(r0$l*) zJ!3^$f|@@09CXO}ya?8U7QS7>=6WL6s(|2}x=A`+$%n1Y#Oizj#9w!Mw5ys{bmIs< zgVrtlBz_?ggZJ5eNWLxTrD~NtpjY0#DID;Ld7nx?nZo~zS~GjN z_aOGFKs|-!kS?#OP~t?Ph8+D(2NHsSUszqm}fyRUsVfiBR()!s-2;?hy*ikZBOd^VoP!L3i z6C5}e3!t$UMfh@SG*uF~;=dtlM9(WqVyf@mn=y#X)K4~{=C2dK%(4_(R%HI>^ot$i)Q9djp4ozm#jC!@7SD3 zd9vz^<(J)vi(vrsGKez32IBiEGcK;XA{?pp<=|eCtr(s(T8^k*u)vKihVdrQY@vxE zNqhUCDK(&;7f-b62Z>={9ASGa=n~kD_eOZdZ?f|kQTR2;(iyCE5DpAmWm;^+<~PTM zJj&mVAaKQ{7I7&y|KoK;&Y#69OVllAuJYOmTlFc#mtzRZybLsfLVpNVG`Cqty4@WL zFJcVpei>b*bN=TPehnmAt|z&DJ#iKnpW+p9kVTkQ7DjNJvEhX7F|3ut04cl83sFmx zAb+hk@CT6lpDX>xY}l(`lOMPu&pvZ{*m@B{*ap#?4_EZX${q=v$#2AQ%!g=M z+J~R;^$#v?gx~*+yFgJu)%eCisu`L?z4e-k4CrW2ib}Ho{iz^tg#l%7lKxb`U7{UZ z3w=mLFWKRMo>d+lQq<6o*)zS-U3@L3rr0ZHs$GwaSEL`vfcQ{^*D_xaqEKt5u{ZZ< zxFlbBe^L>Bnerq7X?A|0NCMIT*ZT1-U?|g~E4Rq!jx#c!=gid^Ovm+cXkE|;@`Jd~ z%t+7EFU~I{MkTLT?%Qw<{;ZN(bYa(4u=VD$hp9OUkmmjhJa>UFw~LOUgkB*4?v}5d z@s2Me+(%gV$~AD~ZoEQEsvErBWNaMCbtc+lVF$nt`Gb2A&=ww02oSdyGTD2MMy25r zT2_?%p{y=FLfK8gEIE`=Za1Os{WLWU94OwAonCv4R| z`eHCy=m+s~>vJtA%vF>b03_GO@Owxm9KtLRLGzwP`RI{@DuGcd^+>iNiRUOSw z@D9Mt!bQkuw--;nbmi+H3e8ja>R4M&&G_=k5R@%;yNMy9NeLkdpBl#6(Ci7lVS)ty zkj}kkuzqiJpX#xA{O{pcZfoh6rg4b00l+eZw~W>rtYylI`1xMn@=nD4>{gkCKLrPV zIS7Fd-2%YR(fcSJUfb4IAx<$GV_ov~c8kM~0EGdmbv_B&TsK{Vy=r z6gC9x?-3h^qk;V-L;`Y|*)^8=;0R7i+ijN&elw8)<~PSEUh)4XB*El#Xu^zGN(U#& z>p$+}uZuvmqusAq>-X9BdDWM&P9lRhUSA-DdOo=#Zpw^J@P7M2-$w@w z`>xbTw_G2$w8>Ut;Vk0XCI|2X7|Ak!$U`|zf2#t9B1{~d!X5~aOTQ&8Ey`a(5sPAE63Yc z7Do6qTrI%q`$wd()Wip;+km9*j@z4{_=|a*d&MLP#x@>c89-Lr9N#=QIDFj<2J&q$ z2-73YjSu*=IxWMA4drbx5E zbPG(~YrQ;&TDzJ^Tw}>hk;_{ja6^n5j@I(Q;#im2madZEs^hL^>fB0%6^m_GA+X0S zvp0nHfnkl$JJe`Z+6Ngz45h!(dZJ2fQ6Q5#5Ca_TYIj(|48}U_CkP>&QXZSZd?hv5 zguXj%NQ$2LTH20y?%z5LWH}ttBK4svoKdd zYd-pR)f}7@+|jm8E#4D@L&FhzsO`EMb*owM_L08eeNfPYGZ{&@9MYiNf{GPIhG5)h z;KN$dK$p*`x{mBG(eKw+9=il}%*C%de^vl-p5zF;g?%(-e_s1o6Dy%Coc%S~WJ!#X z3JIlc#G|5uQLAk*=f}%v_XRqE4`1I-Y@|NDi`Q^{1uAhV+eB~67SuMCK1pF|)S4r| zioqoa7e;}9O5uzTxyzy8C5`SUN+_J=nt@ng;N7YjTsXaaet!cV1m0k7!L$KP7CcEq z6(aS;_=E+ilUgP|G_+|Gl3G44Zl`}MCjD3il4fr`agc;tmnEToJyv|`gH$8SWW7AO zgA`u-dYuWlA}2|OU!ns1@UgZEMuFFt8(<>V!bBf2vM@2(2l=EWcTme6wJA~071i?H zpaE2mTt1N*pp`0j6e>GwU9s*GBq(L!urpQog%k>YLPV3%{t@`;d&2-4G~ z`>1u2iHD+pB*Gbp0(xHH+Vm^Bz*`Rxhb!_0sW2&Q^nq~Ixd>cquxRRDqDrB<$xBJD zoA7on`CI<8n&2D`1d+nJ>)@M@8`SkYNjbgabovK*D4bjrjx};!2%+^blyDi)g@x7@ z`cHTYI6fuG_nt^)SzZlQQg5Rwk^C|Di@mw+U#bAndeVN*x(sy_XWqjn@_ zlRBx6$B$FQ5W51_SO#mr!6P>CLQpWf#IpFY`{DS2EQc$IV}@03m9>OE9ECRm5Ukho zguh@5&3#=y!Hg_gOfUZvdP(Mi$g|5VozL3-y~eXi?*8#^mv!yBQs-kiv*bU*lMRF8 z!LBG#{%im-MQc`8ti>q(G!^_yusKm0^*X%hwTyyp$E^K3xT|Hr>?9%1_ahEw*ZGCp39xmTE?Fjl zpd9++IoLJ{BEKhvWRR?F;P)+Ge(e@II5^>!yVv<8s#hxj8lf+}uCKen} z$ej8YF+Q?fY~-SAW?CJQtR6s6zfoioKb)ST{D;QHVN2f0)YLOqTs2)IdcyR#6OZEuW@(ATv$valrpA>$absEUe6@W z?nK2sM|t@Dn36VLdQY(bV?hQ9`+wxD{|u)z#o~~BrRRcg5m@y{3_l>&KqOe8lR%!h zn${Z|^UacmYktArBK1qJ2HUG|@lKDYMv-mC8)ARSzP}?1G@9;7m+s|xx5|bc?fu(B z?@AWUn`jBv{-KXVlOk2}ya8Xjks>8MWLwbG>&j$fSVyV<6IcaD=LuX2!}m{^M&?J- z(B9l{9s8L+yO%!ecYpB<&wLL0(+uolEliBFogu+jR|DNkZ{cL|aXZ-|XMeu@Ui6~P z2;RF0X=@Z1(wk{HJtYSAuL`jc%ZbqdM=?Q-U9FK*{aE)6rRYjb$seN0H-RUDJ$_JS zX^e`Z%q(q-!wJrlkk4;6dyBeQ1P^oimQYl41Wxxe^kZk&eM}^IwlW46-)%v)?FaGa zT&)K$M9gBFkl9}(8rXtXy4nw3umIvww|k%TL6kxu>jDJ)di&>!GFU1u59NrqrX0IC zrksm7{I`odfcD@&2q$3aE#M!SbOHH$W}k!Y zdZ%6I6Wl4LiuT{)d~9<0tnsY&evgH?@T?_rY7&b|pfZX1@X|?$X{kfql>tIpgItvv z3nYtblY35#pe8ujQGkM%%LVVA1g^Nqa6oQeCyGQ1M5t@`a8PYO4u(sv$3MN#3krD*NTH0Jy7VYOcgg*pBQ8v? zGxI{-L2VbA_$s~Rj`Jy*dGDXXd;Jy$BOJ(p?oxNz1LvU#lYXPRnjz_+OH$tIx z5a(^s`W+O&r#`|z-1QrCI9cm~xGO63!25*i_^y}%`F3C$#EPbp0Z!bfrs;}QaF?vY zVic(6Mdus&r?#JX{HFN**rff4Xf)E%Sio^dMVmH8bK8aG=uNluM;L2UY6E+7aVC|X zY9+FydEbwqLeFnIkJHEuqzR;!2iJ7gN}!h6$Hu{Ap=_2n%N#_D`XRrt3e)Fyr7LbP<7G@;=WlA!A~zDRf!pu<#A?|zpRLDP=Oe?O%7F2myt_~!$-VgqK5ab z5#Y*`!OQv@Q3Sxz5rNcs=Cn+iX-GmlLBn`shRt@4@5aC^)ws_gHGA>0=F9plo7omq zcV$+O#4}Py(^*@{N0D>`=Ucgx(^Ez-7&HfN5DX;0(LMWm*s}Y(+j%#0bL}h+BK=2CLRrZk;U?_Nnsb zKE+Zj0nAUvy#ls0SbXFM8pgD?>1i#gG6}Q@j7<>gVB=h-@u-^kRO>btHK0tW%(1Tq z(-ybChr2X}JKv0?=K9SBUZ|(NbG2R$S1W-ac}J>^q`-`sm=GkJ#C4#V3Y>ABLHqHPRXC_iEBQ( zWK~F?>p2N+pPmG#8LO0^V5KF7;426azUK6)_{EGl-;7s^B6){17e^=2o2z&iUbZ?jt+)zZupr1kvN}t?|zexVOD`d zx-ah@4N3QgW+%QUycxW`PtpzM!;4q4cD2Hpy6=iJLz5b;qz2->^gQti`a@MQ&56-n zxzXM6segZDDgKCCRceig6Np(j3-=4%c;z*-%<%Dqhr1TIvU~JpsFuLH>+@ls&q`g6 z_&!&ah5t|`fL?iNwZa%-X9^N4wWdHY3Ade_3be^RBiI_3&C z^EVs#AURf&Zqgg&3cO5#ya{rNuPn?MkBHqXR_QR|6qag;m?XdPoqDpf9JMq<@XI4xdWD})1+kCe%*h6^Odu)wUv0(_ap!7`k)SDa!)yczf6x*h>gXp32A*Y@BO_=T?M1(v_y7RawBk z*pN|~$8IrB`R^*t29Uk9#dU@|WAs`+fk5Zy)77$F2p*O`gkrzs)8o8?flI)Y^` z1CT=qh{CY(9{Q*9DS47PC6-lThb8`BQ!}xIS==;zpCUG|7kCjl74XsXH0G(7fUos& z>R;t?`dEe~r0r69RYiXJROxsbCko&@?+Sw?apgXcnw%rnUv`r6XI2qeJ-*X^rHQO~ zWR0O>_&JDkHeC1_t*ze`^re+D>E)oP(ErEORmU~mz3pub*vK(Z8b+rGNaqLv=}-YB zrUD`$DJ3;Vr<8!wT@n(4H{r$;4e9rg8eP4H-b6*!8WD%PN z1p6wn2k`C^PG0S&fO?Ojynf7PeV=fI@&Xt^Y9bR~q}z(^RaB>xR!qIPe*WMlO#~3a zueM2_TT_BrKym&Sq@9@w>nuah-?;KSyR($Uk|O|JL@{Nw{32?fjTsmwaE^ z9LZs`ngW?@KUjn_nk}+LlsEbgJoo!aboxmX#RqrDmHF|;fTeiGMF=j; zzddGS_#d1UoeOUnV-L$JRT!+#Hm=fsR3aMkTp~&CNgzO(hVK#sgw=cv=9JLg)!2tPYoW1bQlgd;ceV)#;Qmt(h|ul z+WJ8->cw$|PxCunke6LOtmt|Q=`)|$STiT6(~C{{o6K&cj6fr0?6OETk?+c}xCYuS z9w2?coZB;R5uzrzlRa)Yq7*4JCS$``QOj^R^`UPOQ)ISUg!HSAhT`sPa_bLMzVmuPr;%Dyx=$LAQ}ymbUb;Q1VKZ!9{Ru--%q!4Jl#^rim1w-0D>Gr z%6AAx`vyoR;uDeFog^sEWbn;{eLudz-|QB8lf)+Jeg_I@vvaq9W%M!NJ;?~(?oAhi z;?x-rmSrRSs-E?K=!m(WeSmn|-hT}gC&Ee}hw$BnD@7|f=~xUeo(4DXkWEwQed{6a z5F+t&?CGau8hs471Hb@&#J*)m0@Qqn^rH){pZ(C6?|bQlzY*&)VBQc00S#H-9|!-hf(tm4PF8nPk3@$$>{h zmhFjG+urS}JO$5!BtYMnpUUHH+rt4**Yugpjsw{`Ob0Q zPhPtNf!#(sfhd)`TcUmMNwnXApRp%~R||W+OsaTD)wEI9xcEL{A9q^tsof9D750zE zn=Q#CJZk{b?IRSt9+c)+12`FIW@)7V?l;C5-~|vX5__4v7=>h~uHLM_f=fWDg~*>D zy<0WCN-$ifJNZd%QgitILcQu)b{rv&H%2d$W_E|XAn^$f))48X4@V}$Yu+%uE}|e{ z#9u4K7?x)5jVd`LqCs)Q<_T_b$Unemh;Z)t7NN16w=UJ|A6Bx#;i6NzToN!)jgoL3 zs|HF!DiTfj7e)~mF#3~H_ZMjWGM;%nX}K)2a($LBYDGd=4ZHtojT$*|dZG!jB8p?h z&NUr^n%e1bDl(YE*AKjJ>oeTCl-qRR?%9#tu9=E6_1V;w@6Zod$S~IK3zN-7cs@Wo z0#o_b)}y$vM#;9^7gyNd%Cx~5fl@VYq@px=c$fYD6h(ymCJ7z)a8KTK4$S9W%irXkO~gqBQlNWnH}9xO!wj2hR|Mo{J;!^fX15jXqf!3 zN^ZHmjsBier7vS;lH-5=JgxXhUh9pQWD6_nj(L5~*v?aAn$qwdilBQbWW?$uGP;8Y z_;ikTDDXvtihlW%ZtmgJ+0i^1h>W=Jq8SwQA|@LjG1LdXigU8ymZAig7~@=Mkq!iI zhuf>G^QI@2lS~S0(cY((R4rM&&-x_cFMZy4x!~a6?{uXhLw}h>KNtfe7UvoSJeZI` z_OhlApA-$Oi@qiFeMylaB{QGhLwG&&^c$ zG||e&b@!z z2xc)A(&5f#IY}63r*h=urw;f)JJs2e9z?o$T~7+yX&bQZxayn?qpp9ZzLI z{T3ZG`Bgk3p9Mmd^4_;@D&~uCc(#^5aU)+5{K5CKbJFY9c z46~_!Hag!FzcAFUtDuR=aKDkj#`o1#yVl;;thXj6E4#U|)(eD*sJ-y7Hu&(~tp1^2 zFFCd1nK?dbqf50Zj@8`UTx9j3e%3Wb2=r@z#4#Q8D(V)7q3vmRIk_nASUnD}h{OIU zm|*dFD#IdxE~6$B(eUF>i-D784l@h?-9Ht3N9FZRs|}qk0_7j=6j|ogi&P7 zl}rI~ekX4wWN=o0w;^%5i&07M>>#Y=CLBz;Wo4;?1WG9lpD@FmB~wJ;<5|ZG5YWlH zlI{}xr+qYf87Yhoc-0cvHAHt z5_)z;9v1AYg_Q0S2V+x&xVnP(@893ggKHOFBq+TUq3|1M7<%F<%7#1Oq)Bmq5f+FK z$-hCCK$+S03XYgAaqkKzU$CqE5Af00!U;Z;(wqe@*?JK`pr`Yd3~|;I>jsFP)M%-4 zpYj{t^C-j4H_kWa@-FX&X9?9}rkDpG|a&q1ox@RG9 zXVf^x*icYvLR`cKa}i1^X~n_ODniq8XVw>gb0^@t>tsF!BL-PpaF5b~wHM@e{%vM! zxwsm)?|sE(D_BSj>V?p~Fw^h4i~08%ik;`q=t~2B%GM7{#PUX0hCN8-I$jW`iX^;? zgVKq+9LK?*yC+(ZQ4~7v4Agpy=G0P#q$>Z`I@|T1lJ=<;@V@pl_L0DXw!>O<_xDw& z?$eHtFlbw4bPJ!P#BbUkl%*I#g;wnm;F9mMEb2 zFquKwi})LD=a==Kv0Kjf0FK*qOI>~0an}$8s+DgD+L>i56{)JVDg8z3n-ut68tQ8Ha7 zM=V@et^I@ZPy_c)o>~MvW5Yh+{>kYIU5s{e_#GWKhuB+d?GsA&)-VLsG^@0vp*u+HBPYU?_d|p=lmvPby2l(#w2GK z5u~Sq{`@NmxZhmDUW8R-Cs$M;IG{p>BS|VU(&FXXea#P{-1*{99tk>QocgD&J3K_% z2Igcux?66AgqS&k%XI2ob0Sk5BQMrH4OVmhOe5^^Ax45~eN*&bG2_Dh)^UdUxdOD` z$}>4S?aYxBA#3l5s6Tb#q>~bTTdZBiuNu=2&*R*kR?#VqFlGwDcQd*1pcy5ANxe6`FvsP6&MKRIN0AjbJ4<%R(vE@Ln&OYN&(Z#hw||G2vk_z z30gj{_&KNUNyWX9f_41C6`t61eZe>Ty+U-G41NO!5hiJrg-7p5<*7D(7Xh(tqsm@| z5l2ns6LmL+vEfTx9LmX`gVe^ZC_hXTON&zj8P$8}Hi{ViSoH{|0I?5#^x5}Mw(VAw zKPi0pwA3pg7oT_1T`vQu27Yn!TH`_5>YFBjoHenPk@lNP_=0H2MR9PKdY3s^CaGq# zK1`>0K}An;-`AeBByHooVr;Ioaq>psq*W*y9y)+(E~L+3s%1ahnG2bEi{#J||I4iTir!wC^x51lzBGte~8$?8X;l#Uam+ z+H_8$B{tG60j?(-B_4iyhi{Mj)?YEB02+^pYvMG6jLbbx43nR}GkZF)#wJxlwk&cB zwLHd%ngtQ53dqXpS>o=CT=3T`HDYDWr1DOwzD@1hJI-y(7CYE ziGLhuk&XmU3*y9&5jA!fDzwD2#0)f3&pu$J=z*bYCdN7X0`$>kgXiXnUve5J6@gAa zxTa|~pRgi^!?uj^W#B3Xusq1wtv#zR1U$X|`b_w9(Q^hH8?93V3!XEtuT{WP>-2bvoNdv z=qt*On~VZRNiK5)zeHKZcmCxcU`ryxdA-b%#3WfJKkbVuhr~8h=}?_ieyW@s$N=d z3{^PX#--TrfQg;f?@I|X05wXZ&09~n=W5gf=eYZC)i!h}ndDD0baih`6NnUi&{jrW zY2RXi2)1kThrjboPi{}Rlr^p;R^YF5^t{v?+>s&B_I&G9`>N9Q<@38aEu?q>D=B(* zeT`a`{?D)D(CP3wM<2V?i{vh>H+zQHRpRbP1;}Xo`>gjbN9=vEX~mRSYmhLfiUF&z z@f-m|k^<3?HHou?fo6U4!+%#!1u_O&AOWL7aYciMz|@!AA+`;`2ApsFPbmx1xk1vQ z9fO}Y&HRNnww3e}2+W7<^CHA{KZx2u84QSYz_MhGJ_JuL~68JILGv_T;LX^0bimq-Dn zCf<%xKz$t|{%0F#(FCmo5p8MdAPXUYw_mJ0!t&ZxbXo7@P4K{7YLdc?jVQ4kwaA0z zn=Vy5hbGWiRABJvqlE}~IN&x$KHgHWd*Y4XpMTSb&q%%KZmf z9Z;t*f=9a5R>r^)cvXexCQ$qCYi^ESaRPHzTko#VCzl(f*DC-BI}**0U&0n}pyw(* zhJ{aYFD61j&R0g8!qL^FmYm@Ny2m6qmL!vOUxmuA+iTfi7|RtUZ=pq?Kx=}N%m9*my591+xDX){6o z-Slx>9B2`>9NQthA4FnXqirv#&>^NN@i|!Tj?#-~Uqz#N9>xTMt_QPP9ZBYW1&WKR zI8Fv@Hx0yh8b+~SF*Spja4AX@7i`TdgGi8xeIl9|H7l8T=_wOoo0)tp3KjW|bOd5@ zh6jw2`zjKkJKG|!DLGRP(IKS&z~2<%_q_l)O3Qb^tViI@-&a%4V^X3470N!eRB}HL zPeeME%^uWcg~$&YsKbnjJDjTs{D!&E%c7tR%a>G0wfz_*oYrfBGtPnYo5Xis?$~LZ zYWzKz^=IM^YXw__+}vK`(CQzTNiO0jD|&nk5p{kA(C%vBx`j0%o(402 zc;hhb=HV&kyuxo#elz3CwSZsGt_ebC$wPjqn1WJE8Dbw0O)$#`kVQk0G_0h+NaMkt z4gw6G_cS$Io`|S8Av@$nG^5f((T3(~~dQVoC&{Xc3TrZ}`wLc#s{Gu(rM&#QnDMa=~iH zZL(=;v^3}}@usQF>puzA6i_-XqvsD}>7l(H;s%0{&M=!c&f{~C=U zAxaiBa)fj%p$rFM;JnKODqnxX1&(PhVv*|ev38a?ooJwi8DP}CPue7&=B;$h>-g?6 zJwx~;*=?H|Zzt>ujj+zhc6`8~INFRd{K$mh6H6%JZ$ zf;pS$L*O33eK>Mr=7)AZ2T%)8;c(~|U5@PtCFKrM;aw4%Ac-c0Hjp0d!;Cuc#_@Fw zxPp9b;KBx`}L~Pm%lavE=UK=2br}(+b4r}N%y9z#d|N!0h1GfQc0eDufEzQ zc&F`{jyRaDbI8mpK-2)Fd6NyPYCJxJnLXyz9}EFQIbDQUv*BZeC(6)Ox>Uqif(TIX zYAy{DPbepBfHweayl*FgjvR`wP~zHg*^_u5;jg7Uf*cj05AQpO3g5d%y63spguX_h z(=bgJ9OLpNg5BXZN#_ujdV#j^8*fVc+&wYpqdza1Pk96m3nLyfgwa{a2GqF$R3`4Z zIz+AL!e9e3ppkTf5p^Um74SovdZ7msK|Nw=w7&H)d0Y@8SNjOHtj8+nb#==MZy~u8 zEeZp~Z{An=6cuXn!qnU+0anR2{qaIi?qMcx_R4_5%dv3*d1qAE_l^~Qw3{E!obWaP zjU+_erXob0e7_y!Hd*CBQ=V;vdkz?ij zss~z{RQ=a-JMV2UL0DtpiAY3q*TV?Nt9&EiLAgXKABk+CuuoZpG*Dx%>~m7-P=cG0 z*$KN*CoVRS?-vu+0+hMJp2GpSF$G{hq{sp64baxzwzk<7S9o#9P4W5W^!2L&#H`o> zc{;g1(Q-B}9h!T1=196!4e!#Uyo03*bGa*RAvVOKjvo zM}Xoyv$PA$<38?J)qwuk@LbE2_N=8}emTJTuwLU1zN;7!|UewIHo0{X_20q3@tNiA5IMG@8G)vbpq+5{QceJbOI5SjfJ!8?O`Np?jViw&iR~4~L=!l8toTo;7rW4D^b?-fD_z~7Q9AJ2 zIC(dQg*b{RIZ5oU{Gr>;?FsxL;D#oAn^GP8Y3>S!I9?zQsd*z^CAPxNB|pxckxtJ$ zwr2CkV-Wlerhw@Cy0ck5jewT-y9N-@&=_%Gvw=GnK$zHHa*M}gOETKM26=6Ct1bnf zk0GKwBd32)24#%lc^Df$fzKt0<3iE+OJf9;w*iefBJU*O1 zjr-K30vowD<;X~fTjTD?AS5H#099G;FfZ0P&C^>|uy=O%n(9oBAOj#k@<xrC*2t~q%7iaZ(V*Siujyxj|=Y~N()pGdm)DHvCK`^o;Mk~T&llP}r^ zJJ8@x_#4)qHxgG-pE(8n%Z1*NN%*}8Nb7qQ&W9U31^tN*gC#tci={OD6-*Y{w3TaZ z>>9i7WAxG@3n$Mf*|aMCobMCuZj~#Lhcq|wvK=ul6@Ny;Yu5Jwug@{Ipjxi$v6(I%`;mUIl492Id`Cmi#_nW!=vcweoHSg|UPL*h=s2j?LF#GV5`(;D}bI2#0 zx*z6_7$+FnHRc0AgG!XRvom>wbUAPD8;Zp0Cn?_{8f-Mw#(Yun)w|Jq=0d(Lfh)iv zZpHlNTzGV$7|Tz9wr7`wKN1ND0YLo>AgZvfW&0`0*V&>;EbzmcbBK`7U9Wa`^4k4D zXOk^+-0>TIv;tmI)PT4;90`o}H?)a%{_=pn0`I6`<$!S& zH+2GL$c=vz6c;5eWxt!%V6A`0 zgCchUx{d^o{+VPVq6T8+Q%kPRDvNug5BT1~CYwbGotBb@Zl$s_s+M#PLjy(gE1KMvfuX27p22zCI~db#rz z;qY7`otd@+R(>9Gb>ROPKs z{;%@20=N0P*L?64F{0Y*KGfXr2Ivc=M)z%`p8b1NlMc4a6GXB(lZnoYng57@HpYw+ z#hQ42^hqeBFsJhy6Keh$4Fg-`?7X=>XO8r>3Q9UQC&vB$t09%96mx8HA4KT*eGh@I z0ZB~YuNwI-2HGC2p*F3cK&ueBK#KVbF~iAF?b;ADTTJwZ;L{Ge2W|HC2Z>EI6ors+ z+{EJ>V8dk@#howvd~#Po5tTFb-H_;PM(~az`sZ<9!ID0?Z$Ur|Z10a40rSA|Fbc<hRh$_DxRwo5K77cmDq^N7^;7N_P}DaF({4PCfNAKe)ZE!tOi&Y7;kPui5K&&ILt!7rxOf znp*Y??`Vzj>CUp`hbD z!bf}5CRFQ5kLlT9(WXKIx~a1V_WT#x;+Kp-k^k-FtDDZdlzG?`TJ%Ae54+>0>g*#k@`se+eM}VaE@mreE`|1BLjidDG7-!#Ab1b^{(R z&t2}SE)&Y#O9oVu0ktc@#g0_C=)dzLf>wj7LeI+X(~q3IIFlWhmRo&diP)W#2G6jc z593oyD##y>k@yZ|nP^S(oyWSlJvtDq_{k8yZ~n6&lm)=iDQc>z77#4y%g-FRdOWg| z@t8=-qaol1SiRjqMvy9ANDoBO2p`>fz=NJIt2`KhL*!pPOuGKG=nc|yNx=?l4nc}d zaG5@uE9m08<-{v=Hvjum{Ej}lGMOveD;BU(4(4qQM|~!`kbLJL@O!_i<-!*Ly^%KK zjfF1(df)c%0Q^V(>}RxnI(N@$>4YIib>J8Ksb8{k`kn1a4NPPC(J2FOq9h>;dZ73@ z#bgFhC{GgW2iZBLnPvj;lTxNY(R)qaISDsWZiysM-Z&)9fvV+5v7qw_J-J0aJFK6b z3^+HmQuFtL+_+B%i4@qeg)FX3+K&Ll06C-W$s0JFhro2$yI?r~3NY9W z|8?PSpuod=ace+_clGw^;ovJKlB5%v#Vuh8q5b!#FC;Yt9Op%oSqF~u&_sXr@Axp5 zwPv(hlb4Lv6B#z@O39J+C9Hh+e{;hcyVf zg!T$Zkw*DbS*xgaMpUgbPun)U|$e^g@NcBoN{cS@?|QB+Qkw%0q4!vwR|&z0K52GqeK^X zEZPT&R=<|j9sHFyJWQKN(t%9X0L%PwiC;|vWlf3cLh9dqo4(I){J!|zCfjf6FAaH} znHeO=?#L;p)71nH`h&S7fFKDOkg|;P(d=k_5&2Niwvg@%FXm0HOcLG#p|Fe`AjpFcTN1)DgxreY zS?ixQde+wieGECWi)K_Fc1BUAe9Xwnrq!jn!*L zI7K?PO8JHS4%pi0kD5sUyAqo=cD;-3@!>*-{QsiV;#ffyd?-oZtAR}^OF+4qjPuYX zpxLGJ5rRh+UqKZnilF|P$A5y+&o_Db%FsQ3_S-Vpk$ffbxlDiBu92v+@&S3055Jr4 z972F5UYyEbL2>qI027tIFL|50+9s>d;~i0PvfwR82pewvjecoVMO7=ppOprucUylT zh*k2Y9*Zg^hCSSPZ^I+=RrkB~&!r8v=8wJV$HbnTaJ5FiI83F(i9s|u&{F4XDPY8G zn+EtzTE=Vx%+m5P0vQ$F9kZ#D%6!~u1Q&@ulrNgDaT=Bs!BZZ72qC zRu&c7~bMfc~EDVkAP<+vwHvC#E+04GL)j0}n_dVtbk777J35QRqVfrN*?xcI0; z)^E)|KJU&sL?VLxHS}52i-N@*uTe}Z9$bKsFggDHaxl?J0Uzp(*H8rIUVt@mgG@oY zI?zP{MB7{U&5-YN@%PnYoC_C#AO@gtljX7X6|{&|DH*70h3hv9pYd=|DHQ<5H93B| z9R=<%6p`mdTJi%kW2xTk;e8T3x#mqwHK3gda)0b(KnV3-`jp^YGUQJz%xX!N<|70V zsWke@5ex&baG;g(>8)J`r=z`mju1fgMljs@VGK%`P;QlA$QLn9h18XzLjNE>g&;_= z0h<>(hu@JJ_m3pD7Q_cDAlMYg8Kpg{`MXJw!Fsk40awJ!%y4fjTak>N*lMCU*DZ1n zK2`aU+A`*EH2~FD4bqD`q3SSyUIttK17j%Bod6XW#u#K3^FQ<6fFKRgPiZNin*mBU z6XUUrd1p=}Ys?&88uow(CZyro8nWEk#E6Di*!94xyM8Ljg5YVHkWgHk94FxAG<(UX zD}kJ$U;?1jDghPxwrUajMa%ZrzSub0aVZG)3UJ~)2rrQ+a6f{V6kGUY%o2t!awh^C zVfTs8Dw&9YFx|PygE(4oNme=RetIBfSoYSQUtWRQNZ~ua~(tk%x9EW5>#9Tedc~JNjOfW&&Sq~ zA9cR8GU-A_RJ{-t4@XS5_v`_~&dN*xM4o5Y)*vn$vGIT;PXwTja>;*?I706IF^~TW z-nlAN6232~+7>20n4=P=aoQ*Tg0V?K9ze}sRg=c?05*u46?cktQx=zJnspDRTBI_R`w+ zwYp|L0|*cVh!AxgqraS9sJ^cATiLleM*QW=u;#EJaQ323iy{AKB|chCcXoyR7S746 zIA!hZh^#YNRtS=FULU4QraHB0aWu{Ay&W+7pZ3^4&^o%^AaTuaJ9(A2zr)JIYR7Au zDZiXFum)u)=P+>1Z9qn}Fh6pQLCY^30wBzJO+9r)o?sWxv~CPXDS+2p(Zf=avgVze_Y zOjnICrFiF|S?_Sb&iW#{cTM-WZGvrc_3Qb@#n~L_oU4~^^fD=J3J4Nfjm^?%c%Er|LaQ!8p$+4I zxrZs#)k@6yvID1LL+`RlJr5+EcK@1aruTAI?ZqYe@Y`F{-D~ol0dc5EzYB?NgFBF5 zy=fszo*%_!*Umk{u!%f+=iZmADm+gNLNBrdTv&eOtmyz(a@EB&Jr#C-dX6?EnVVcQ zRUKZ+Reu40rf9ND2Y<#mOn1;hBQHcBa)-r@xq7KDPxPO7oEP7cyvHfZU3fF_4eWF_L<+4#S~+|d4#U%{0y~QDNRH5pv$0ijUFn}ici-oDDWybCGHmj^@n!j ziYbxCN0d+9oF_=p^&isMT`(bVM9>t#!cN@rZ)Cp8iQCr&J#nXo_`O>Pw0QD4@6>G> zFfuK_M)0Y4A8K*GBecl;HKW8Q#Gx)2`s?Pe= zaIaqe%8h|G|J_^ddA5J)VyS5)0>xlx2Un)>|Azh9sC52-)XYen31UC?03|nr4pAzQ z&-oFo8@?zLo;pv=W}j;BSYBqmil-qyCKngJGRVeN5z|j6vsU^q$?L3vGYnmNj(@#@ zZ=#DwSY0>`7(xFKal0X{r(TwD)rbN}qYXC$gsp@sWqkN@d-#dC+ZrF&&CRb#aW>EL zQp=w90L=?O8R}Y$(H%eSxqvYgcu#`~pGJif!LmO8&33GEDzU*@Rk0XA`VMOPDl>}H ztM=`1oA10>(k5akr{kWDhdafDtjIu=S;f1AO;SqKgNrnTBMb0CaJn$K27AgfaK}yU=r=iIs>dUCcbvt)>9`3l-gS@~ui#I@aRle|A0`C725$Bh zyO8MG9g& zS71i*@*bIn?NjNnR@{4!f7Y+WM}dlxDvr5l|2Hq?k&rD6Y6yt!X}%Zv)P+2IgR?Yj z&uH|g`Yl^s*2z&S5lK7&F{vThd?r(Ka+8gB=HchLvZ4z4gF>Q7tGPbZZ;rN`pb;V< z%cW&)Q?7bX8e41G&Ny>8lSmLqAEG zDD885M);4pK~C3gzera<6S;0f%5r5dKFZrlUOF7tDm5ahQV&C$4^DdPF0(MuHoVip z7<+!2JmCjA1R-6M(D#kmdH4Uif=U=yIywrlPN+OWilU~AOV(R0J)L_bcER9$|I661 z*T&xN^YM$LFI3hK#|SI7--V$$<^m+!$tMxSUMiX6g3{Qf^moDExng`cY9?Nad6k>I z&d9iS^mAP-6;J;AB*^6sP~)m=cv8|@_ueY9#11x)weH_YJMox-V4O$^nahLqi~rY2 zcnl@s39Rk3Q3yLr928#j+?{%r_gHmaX}2Z6=~&+{;OqIzv6UWqx5SmL%GC^=m3}1b zbHBBzL_>WA%r5GT@b}l@piEyJEzLmCl1^XE5-t&8Ay=F==4~UY<1jq(kletg?ukTG zM4RaYZ<(}L7tHmT5*Up?AWNq1UWQCv8=&3cK$$7<4Z(b^81O?&Nvk%^(qQ*I{d1w7 zUQchh6GmjbSjUxecog;6gRpUHxdTj2+7X(sE9m{hQvrTs? zeZ}AcIdn5~<2r%p^$kL@3{L~XY3m{UjjE43Q%iq{;OIm~mkW4JCBZqu#%EZN8PFYq zH-VgknE4jrmjgG_R{e@PG_Os_t(Lfb(D#Zw^0H8raa;Ia7QSc6?>RQi{k6|Cw6mb! z`LJcCu=Kf?T4%=XkWpe!>(km%Zp6$!Ik*;fk^z<5J0ev2P^^x&dwr8D{0_umpw4P` z#?imO%bR;s*sW6J(!nu+kQiXy{K<*7^?cDm{h5%qV?)LLht6k=6O%`yE6-gy{*ld* zQ=pt>JY}2$aVvqBWs3Z+q{|jF-Mp)On{{v1<5xA$QmC2qvIY{aizF-^vp-*dNrIIy zrl7Ip0o>xqEsvB39=su`D6N<@o04nMnQl`!LxNdZ6}j~gkY4+{h+eF{*v**n1(M-q z!PEId&b(`j5lw_V-i&kpk1kP|1D2GGP9x<9{KmHqB*m_WZIJszpWEW6Y2mr%o;eFFZw}R)-DM{%d(Y5q#nEf zN(M|EZGRV_4{4v!0DR!x$ciWKtx*^U2YSKLRk5YFl1Ek=C+M8g5Wareoo!PpC#o#i z2cYylh<CorX%%N&wF$fZ}_= z+}KJ*`R`9DPh$Q-@@xbkMPLX`Oc=PiykWfuT=o%>-M}8`4+rYZsyH+JAyZvUWxSH& z_TdhYn}Yz1kSro&69frA1n)6p7nS<4s&I5g#e4o2-KK(-@1V<-zs`;|z<7KohSuhS zU*B))Y^Dy-TqXc5ZT-*m%z+v{Kn@Zw92>UFLJRA48gjikgS-nrJ4QTHpnZGH#VYv0 z1%eO=NLm9hX`45d`OVYEzcPtfz#3!NgfTL+q4~&xf2&x>NFm(tkTTnZtV;kC7ftqJ zRD-g*brJaNDGQc_YvD~^vkn@JMjUJ&918&|PNRxbN3jsR#vmQub5NKi8!sqj@A}FAT5n6^ttboi7DGJWG< zWKNpSd5#qSK}@?OJJ?y=SH*t_*Z?j-#1U?wzk;fMssoe{zNULRT_TF} zyv_fss?8Xo2zKZ20SmUX5rpAF`4KPNd~#iz|D`%KUOTakjks|fdT$XUC3dHs9Ztl8 zB!3*Jk|>XEAbx-o@@{2hK}OR;k$Q^NtF{UemBJAl^AD^S2N zkA^!8H1HBY8;;n-=Jm;Pp`LEc{sSqGU^IE?Me`@GXSh%qYtIzpat@uI`NR`D|A%?J zM1g`SyCuo@emKvR=OMgK4ZM@!=1-J|Bet?IY%;(WY$z#JgK&0QqxEANlKo9i$RC_D+ZyM81<;4h3+nA2Yvx>@&W3%CE_v?{|D1mQ z3m%BnrzxbI=R*23k7^pKUI2o>yqH6WE#hG#fNFWUFcI7X&Dfzsm-TV(ug~x>4CJ1Yk>6lKR#!3P)33OwG zYk*0eksD5Ki(HtSjU}`+KFQ#LgGh<380kLO4T0s@`6;cM>DsjYa@VUfX$fX;{Pi{; z`t8grfo*}nOx9Q>wBx1PfG&1=5@?pW{PHkqvF(A6JQVx&Kls_D$WAJKVs-7Hm^zyy z&H{WRu^Pv=IN31ZK76gP|GgH5+Kz|g^Go0D@MJGPY<1P@ap8nvcm_^-B`*xB+s}wz z@gas=F>f#ZV1+OJbs>1cHEYTb+7wB#PkI7^{6*1kXhg=smh5{JZqZZu)lkKly{vlNi1EpXp0X<_|0apfqX;izZb zHT{8lV*2#tPa!uNBXG7PFC}K~4GBI*+h%E7VU!|C=CT1f~B~w8Y;iHQ<&$ z99?wR?H-XD16^>Sn0gE*=oaD;!K30tjx-J*VZW5BxTcxtuPUxTf(1s~CvuBTQgyhS zcw0sW5H@*?W<})z1OH5x7lO6vB(UANtjeFH;1dE3AExF@XJdrZKDiL0Y)_LBY@b&l zUm{3vl+3va$jA&yhnRHu7=1<8J?LSZ=VUQ_!WSz4_r3&KL7=Gw?Oi|Mzr$sLn>GOK zBwkR;Y1eMXhuy~N>3~NNgGb3NozlEQuQKi==jKlIf`i^iY5pv|CX#>e8jg1h+unia zX|w*-nl!5ZcU)d2K8RHv0yv^a@aVsZ-lUv{6JJ4h8SJ3E^$#Q%#dV+G&kDvi$LsgS zRN~erhjN7w5|Vv}Bc4N&+s2DK$$hw7`82W5;{KQ#Rr}VCUES!F{e_x` z?^UNY4fJOl_~7L*a0lh+?I)~1^5MKxO5rKWtVbY7WH#o*RG05#M_<~fgK)_q)G;@n6-;Sav(%4 zL51!&`JAp9R!Om}#)2kFAM}Jq3D(Fy>SZpm$1vr@LPO^A9ICo=)mo(HsFm0?z!6Aj zZYQ=@c4NTkzoBt_c%>$3m++xB3M=t zH>RC9~*tOABV|)@l<9&%$n?r`W?yovrB|1|GXOtVBJOO(Lt9PPY<$ zuiQZ}xQOpg@~N}y@8q-DZOMuVU7yntuGYHrvR(J`JDu9-oI1O`w|~5moRSi7AfvoF zKO4oM)R*StL3P!0to~2MQYP#8QEuv{k-Cn@7ph*1<KXZRN?rs{cBE)bOJ=3Qkrz z%OM99zz=%`1$RZCtRKlX8*@?%_+GeH(stcm&AGA(HKQUl&INYeKJ|KSaYOdfDb`Y0 zzUO_xjtq~U9WhnvH=kuOYwk~m0$xsHkPOGFaS%A}J4`H;`Wfq0WN$#xQQK_izA@u# zZ{>B$_wi>N)yK#Eti3*?Q*9}HeG!S^eOk)_C>azRRn@=+l=AJF8T>K|sJrK+Ql&K( zvL16h0F8t@C%%;!u^g8PnOJzT+`G>dBp>;S4=*S zyq8}4?VbTo6(`{OhuKW__lc^cz@ssX%ou5BF*noBJCy^THCC9>LS#`6GXb^o} zy_MC>Ej645p!W(-yz~MAL5lxbc>SP$4kSgr&@`TSAQ(}{er6Xna^uD zY%Itw54}Kf+!Kt|^__0!@I?2gXAk~H3Xj~Q)KxO6<7=Vz>`5M(?fUsc%KDjNX}kDw zUIW;=v^POJ%Ca@gP%6*m!hN+*eq!xa&Z_}!c*jj?CA~B-X!1{}tB7$!_}P%O;EGyu zotp}mpEJsffCeMIz*|=qFUu;MVQ9CQdFueTKXc|zA^YSwF_0S2ISp{5886zY&nlXIM1PGS#3v(5sLU=Z2WIm2=Q^+DxxBc* zd(g+|xOa4D{<%U4xf$9t1Lm4*?#Hiz=cvqCFF8l8Gn2hvpVzinFkSwE^puy$p2T0gnL$Blc#RX0Vnnm>oa)zo#7Q!{ZJ z4ZU^={hKSk(X>I3_FSN%pp&`P2#or#=AO-RQpEO-Xppeu>63Kqv-&ZEkodF}9{C=P z@zS51#yP*MZ(WW)%Kv4ctzwh%y0~=UaE;61mqXWgo=-gTJTZO0WnHPs0kwcwR1>m6MZCNly&|o>A?y3?wU<=%H3;~i#B2=nO##J*9^0V?qsrv8F!HVuu_f zth#bU#~VLLD$grZ-;5qN*1w1j9iM=v&K1UH_gbtT_=>3l?3U(Z`dTD^FIf=LO9c*2d^1r7X|h%!fX)={&P&rmm;5=nGP2( z#t3m@EweR@T8O93@?2g1T)=87dp-7jT-bsfb&1`rgt#7~fdG>pBowu-l)5+V7L(=7 zjPAKbF)J@Q=bGeYr(17-*zHmqTmatrh*k1z+&6X%bq40krDQNG3O}bKTBT%c?;Is0 zvq9jJnd;9;*lB=m-{6TkZikyHJRHtuqSp{W@{|>ZZ;otDs59iiK=SI1?|klzyA|`@ zp8?QB=K8;hdOU2URr|SFf}Vc>9g3c)?yep>`v>5gMq_*IzVuRQb)8<_^84N!UjoYp zKYk^1nLw4M7W>>e=@Zl6gXRyc^FC{synh&gj${m?YT+;=TroZMb^+UmbEtk>@{^tK z&ln+zZBYxPyxXV?!G~TikwA6y!T{m%(#NkIvip7P zOK}W^Mr5NJiwJ7kxVRDoK|UtvYP%z~JIw>g8(XBl-nY(yyAJuDzF+f}H)|tGHAe#i zHJ=f>Yw2$Iam;tv#|dwk3xWDD>f7LZp0$d{_{FOHwn?fDcI$=8jr&jvsH zave?srSV3GwT!}P4I+&;-s?C=*!2*5XuL~k27B{vX9S&jkbu60pPzmGU0w!P?8rbU zVHHOfgA~qELX`ToF;6VsYgXFMmITP=V7`&Ms~T(nM>AK#x(m^!((|45Hfd@AKHRi- zL{(lLrN!kjTq51HNgTGv9O){AuGg~CJOCFdo&S8pupHL+HFi0>;OlLMLZzE9I259+ zMXM=E3C1%gk~M4`f4;#2H!*WYUzuzzqA>XK^fR+~m*Pv3wP_HHdsg;^?P8hCxfTBU?cx5JdAR&%++ezX z`kTGy&o7_xk)3ORcN-uwLPVo`=8uiY8rYQvv4jny|N2Txci&)E5*c=XkJ0^E-9P$( zVE*cZACw2#-_5-NLqC_$g869+>Fk<8kmK)xrC3q~)$6s_;0R$oJa1HjZkL1KT^phm zv*2)%5+}6zi(m>%4o^z`3B>f`bZ~n%8A$QYTVLsu+|Pypb7~$iNW<9dO*>kV#nT~~;JV_s&;4G!|*CyV(6 zqgGlTh8AuGNrv#0CCxvYf*f>`R{hMspcOCH9|^yCB$=o;Lc zT(D|wJdk?*0HS2K+f}Il*BziOn#7UzK=DIlKLepKv3JMGA8+_q`oeB4URWRgq9#t_ z^tKxqf`_{t-ZKWwdm-gUpE+Zy0P?X^Zgj*Au)x(7Tu3kld~}q^aKmMmh>*RVr4p1& z$il4h{t^S2=b`tX8>;lrr`*Mx}2;^ELS zG{9Z;Z><#R6fXG=2-_7>2TQA;{u>X+`msc6(CxB7qh!cF4~MOM?!6)Ays*$FyI=Hdi1ChdVPFR>LfdP#*Kw_ zC{x^_a(3s`{ZR%lKkZ=6uiVwq-u>%K#>&@xSmbEXaGaDDRz?Sf+PE=|=8p@uur}TK zaxtZ~B!Xna{<9AOA!~9)te07P#;BjdMp$nTA{9Oby;oom=K0&*n-|{UFDZQ}?BD8X zye1Q)=CZ7i&0AAAf5JsN@#R${v3Lu+hGpui08(;!V;bAT@#sig9^?=ma!l}Y`DXKD zT^*#Am@=BD4xU7-0x!LuKCJ>3<_UZ`{fXjlvtz0ab3-TTf$TsffwNQ(k}p3WTqFXl z2Y(Vrr-Yaeyrm&yeNRFRhSoy3vGGt)6I$x-DddC>CdJ~n4h=z((lp2c&y4i*Ya-Om z(`H0ORTcT4lYx)p1r%O)Fj9y?=jZtSv8($yO-kT20`nXQqhS4=fR#c#5NTrBeRKmu zfR8kTr}e9Z@)qg%cZeBgbOOp(OXu~8FZEKk4$qo|u6k$z zMuyaEcn+_2HD}En5u54s7Hh0TydKr#TN&9{`j%H_zMcE@?xr@rovP5m{OKE>Ecog* z0a}&}S0L1RiTb%?=tu0jHDbj+yfSEw6)*9+eRGo_>_BE~jihlxL?)sDDTgNy+h{D#xH z4Tj)!g8pgy6rCTJ7$lEWqV`HDvU23n}@YXlhpV+#CwJ3=L)CVEz0_-}=+EFiP z9yqZ7kixf6aB9nIE!~31`bNDh>jTdQpp6Os9o>0?FYsKgfFF8rx0n&HS}R^3(wFvk zfiWm%v!W&9sZ5C018|=}@Yd@@7!p<1!@x-BqcI}s53iW!D*L1Zw{C1tD<;Lz;>VzX zOH+E(;Gb+F#;Fmtpkk>hhWB)6UqK)yQ$mFfm1h8QC}wbHjQc7y{RwEB5xaDnBne}R zj3k6ZS!+XLW(ey(jph8OL@9jl%9%tD`ap?G9(K0V!EsP*x`(sOp6NZcrn+M3-cq5t zlzp@IcougBF~DCVTaIza7F56YVlS5}1^t%4_N^+KG>I1XG_D+x6HrVosk(Tu&#w6TKIWaU zv9!ow0LAh1Bc}hYtMNU!{K0re5Tm}L-4)|Z^6lR0%dC+0owCxJemykSh8L%k155)0 z7xJ&zLGqw_8eS|Br*s?s+(M2P|6SsymzVylULV7>t+W$^W&*v9MQh_OzObD|KMo^?M|1(idhM-<$%~!z2mv*Efci*Fr`?e z3u#D8L&?fZC+f!ors-h_XZ*2*5?B3`kTobWiKfklSUo4>D9Gr;$;J1W>$J#0eG(pS z2o0?A8Qb=+Q7E!b21HS8o4i0Yfp=oZkVqg5k}rnCuLMpJ&S{_~#3*VkLFKe<$d{86 z?hcRr#nk6{yt$*DE$O@Xgf;9^QuH0k6(G z58#av-TrgHq+bW!d6A61t_6Tj*34&qzN4NAd?u%~$4P=^LE;rrO2XV4^$5NCn8v5c zm(vJ~1EY!^iIjRM?+;}DtRVUZ^9!}3aH|cjxYO3DiesLkVPnm2ut-jY_296wP3F7! zA3yJ$`*kj5c-t+&_Fk%bZ>b*LL&hQFdo^iJw?`l96ISaI4i6L9rjSAV=~-nsIYn3* zE?nl0<(seA%k@bejSjlY}R#x;;2c5P1pu>18HKg36w5{!4_M z#8W?c5vW7_2(+yZ_$`zwFFWN+wD{D7dp=yItE>35Iq4%KS7nYQAx`+0%C8jphIIM?XV69hK3 zSY>sj%jMq>^%F69zgu@Z=S)BrJ#>U-Jq95&pOlMoqU^@mhg1lA=;%XzK0Tk@FD&!Z zvwr5JdzZ^KP6NLamWWXNrTolyor24;$sAigGvwIsn{7mk}^h87z)M^C^?ZjzRV|; zDKF(&dFjL1cJPsaKJqzkj2-LtTd#iRAEL5co)%1C z!ci+%La4k80YRipG(~}hE&(IQtxtpDlVo!=h4+q19zR(Ye%wGYl33;mXB`{*HpHrJ zia(tFON5z$AgMh7D#5p~n*XzoKa?pbW>p6DDZ&}1Gt7ODg6OUUwp3JVA;z#diRwdW z+~e`bZ$lB()mVeUNCuw{-D zEW&E`%Px?Jyz5n_q5*O@$v#gZ#oyTdLg}-Mr(SjtCC?qu_S)xd*xtzOJ97eFZQ_r# zvI1)rb{E&uP&YE!eg{n}YACo6HmeY~@l5FLFg)I7!iH+o?_erBvC-cNtFX=uBPga2PTVx4rARzh zc##}+C!~TsN9K*P zoWCKz@%(*w$Ju;^*FuLR;qEW>?xER>K1Qxz2O;r!Ti{*s{o5MKO+SI)}T9tI}>#+5u^m}dkSLGm2@#ETENzWJ$L32Ea0}Ck9ofq-;m`?-GVu|y@fW z-0fRrUHdkp1Sf^BfD8d8`t{a`q9}Dt(C$%uK8GZn1o7i+QFicmF>WQsdzgBH8)$4O zP!U)g-E)70bN?u07fI8muyv)tU6Ts;$kkyX`}H4E@fn``;+X|mT$xSm<;oD1Nxj{T z>ElC}Ke9GvP z<04|7!EI-PN1JUqrAnPAsX7#Igr)lI%N{ZWIvTC{-zkFro z+4^Lay(`b!hP_9CYU=5a40fAmS-DjtvSZ#JCXE3<+k5O?g=ZIt`#szmK4~Jp?1;k7 z&yTj|Rb#)w;6yq6BO)J6>zEQ_^@FW#CStp;4t}JQ*c$%+=;ps#kq*f!#woD79szOw znex!)6ibe#>8ZayKr>ij^Ct-edyv__R_8H`MfI-02V?T2THduirbZxrccxy}X_N*viAhyn7`64_nK?P1=&vV}`^rzCL!&}%G%NyR zwf0JlP_UWBTH|S$GkjTob^i-lCXXk9pIrOi5ZO>nS9KY?vH@4vX`{5T%A`QFPw>@w z@izq-VO#onnPi6xVH@~?E_VVv-vxgpQ<_8>9AdUO{4P(Nv4qWJQOUU36`)KE*6`l% zIRedi^Jb%USL(R?a?iR!XQ|uW{ctE&^xkyiUXw{+5W|HOXw8|H47}S@?xq%GL%DG9 zbMdFXD{SIe^4CC`8S(xFi_iz68=&|h3sH;?bEe)m!*MHZ#!_tt9~QmE6CtCi*?$9< z5x)Z?r+Qq#u*B}b4dxWUiC%?TK*l&%0#mRG?gs6kt0<+3P;=U5p$_ao5>Sca(wMq&CNSnJ(=XEj&Ra+l3^)swHHMTj1qKJTMe z=NsW4{w45@;MA~E8__hN^z|+sMd0`FR6xft-+B#(w!e{APBvdg{8J7XLhU?#N9-Bx z^&!Bn>-q7_+t}7=N3QtbTxH6}5WrY%U-_xc`=}S3QjMsWOkdLZwpxg%j7g}rwy zcl&(jMO^RPY+7!ALyewpDB|RA;$1Y&Y^wwU81o7;ocx)y_Q5Y5ZGEAwPq2qXTE&zK z$TMP)2Jsw30?&kS;OaSk7tYvswcdN08R4kAE?ibExc|e05v*j0-rpzYJAHXnb#hXM z3A!j!emCozPf_^B``4}HTh?(!L55mwSFdXQX3J@Ot=F=X@4E9|7Yp94`jT{UmI6WI zqX?lF^J|HP%VE>?Dlg&+mlCI-W0HTey*++z7ru%+x;=Oe;4hU${|3Wenc|_CKQ~%x zk9P2TNCcp$tcC7>nFTpXwKt{Eil2*pXdKPLcrE0c;WID$P+jo(>0aL>b(IPPBPFjQ z$!oc{KbeqkfVRLK@vb&^zHb2?!$6>-GmGUlCG5!FY9dL0JCWN;cFPkSefVBc-bZsk z(GR$A*?j#iLM=`yIL?u}n*YtGe)&Xl3+sd$DmWrv+g3d~mC+-FwQK^`qOrZkq=U>&;K!VxGwr)0tXuzUVbY|V^z#=+r1H?rK_ zR~J<6+-!s>NqHlDj$A+Uy_pspBhcJQXk1A2iC>zAmZcU&Ii;-OyQO}!Ba+en=PbX! zeY`8pz;3Pc#FkauUX(e@Z|L407yZ!#H9X$clLzu)7obM0Y341&sD==SKt@ zpQ+t4E&a$xbQ%fT9k@fy_CN&E-s(j)f6;CQtXpB%F0x|R^}hx6GD_D5f2@B<8S7%v z*E;oKx(>;`&`SG2?BJbM?xB>}z%y*S{=fy+=D=%smBsbm!Ckq8{-?mTZC7gAx&kv* zc(;a41FJa=x{l^tFGjJcMMUh?&^!y|a7>=CsWcty*K}JhIesS$^Lw8@zWn?@aVMm7 z%$jaRh&%Y%j()DlK#=X^c*%a-_Y6vD|1%Tae-mml>SjxDIrZH%eYicxW(~YL_$UW5 z8ZNCv0tX(XyN6T4h;=!oFlW|_M*AU#oZ!wch7x<(B;j1NT1}hPAcN-&G~^@b$U9E3 z*Tpwx15_1j>px7P4IxXyqhkqp?9Hh}coemdll@Sf49CeKBm&{yj-N2Lgs27USR(Q@_Jy1cR%~vjjMczf zmq0Zai{7_L9+q9_<)*HeF5O(?F#@jspq~@@?5L72Ob_Ch&e>#}j_)DjjCN#`LWJ1y zg{xSLnBb0OBOpx!nn@T{;o$`PP=CNBLG|-@xyDX#-<@gUpD($fIdv3Fh6PC((7mFGHtW@q4xK zUx3Q3vO%&ORzpI5+tg;%As3ANSJS(EM*ZYhHRmAD7;ZHo%P2G9_`Pqt%RTp%qAL(o zxKhaW@9BAm(^tpM&4G%IN?1k>;ysbZayNL+byILQRH=J;!O>%`uY^ zq`iK5G~>*wbOAfo`A-$>N(J)LGXl#=OGC~4!VOh4l=95FlEPyw&6*sj*U)25^_p01 zh*NSL>$*z43AemR0e=`&YsT~wN$HhgLJ3i-5 z2x>icyTJ`bnD~PNoCub>tZ|eEGwI5lY*W^N#57`?&Hrr5I>F3Z8#m#Rs*=J!o^^;J zsZaKUdkHx`5xM<_Vs0VJnFkbdd@c_)Xxq9$eMd2;eExp_YKGGJ6w%{2OLND2%(aeO z`}nUs6VT4rPjcmT`0;}0IBr%zNxN3*V=iI+5Q|_MUxvA6(x^(hHc7)tzI(|Rvb*J$ z#3{gXqCKb5l>~|+nja$qLiK049c>gUsFuZcve8%`#C~W~j8^J8N7L`tv-m-P;eapy zrVBynZyO)+nT4yfSKbzbgoRcSEj;})sB{?~B;8yZXYyfJO+m3=5T07KwcLhsl5TrB z?Y7;9Gt!a{E&ifyA5Xz-1o9CI_SK&aYNl?%Q=~eFeEMAThD`jyrh54O9GcOgucXhS zo;fmD&;QqE_zrKSF`zmRP>J9Oa+9C4DVHp^derLaIXO9R(j4b`yT`ogi9f-WMcAI9yekhN0=413 z^^}mBf=aS7O&@|%B)A4D_rQA}@G+P~HEw@9F7Ni-HBq>}$Ya1R`@NKdKZuZ4w9OfL zVzP3V8<5^mqD2WF!l(K;_)fpP13bj;B!#)y~Z4`(mjKbDG(c zkQtl%t_qWR7YfI@uaB6S7J(j;g3J_O)GG~)r2EA|4d@rWvfc#+%w*iT`e}3IC%&mt z$5Y*0TUpGvXU{J|Ojm1JXi03QS(Eyj*fM25qRIK{& z(|7a&UoiQQ+bc_+qOk^cS~+89?AKuE4|c=^_6Zf-2|?ZamO`vHRsybW0?Lv{ufoyp zIBN5mbR*m&4Nl+8=jf9OqA7y4le#NzG@x{vA}Pu2;{Ibtf6#|Evd2`I(B174VyMQC z;Hgsd$7D1iJev1eJ#(Xps8|Ris3=SScvOXM>m+R-B}EUCF=l~xzUAv^dC=xEuEG<2 zhz>Vw&%M2WfiEjH=-rr;{4Gc2(K^T);tIFCUOZL8#NTkL&PtPKi(w`a{(*V=jX zc-bt}z>Nyy7kqu)pSk<#`iMq-Wi1it2|@cec0}0&d>Xt@Pi``kHff^ueL^TQ;wt>(#ds0IoVYa+-(S(HP2ROie-2TQ zI}kQ`bW%6Ip!}k*IzRTOdhr$ltvnJ0tt@!L$m7-hvVD50-tCHK{UmIUWE5}*fVvY(Lp6-CY%OWAO&0Aeips6$>)3Dz?MY>nNqRq- zBua`{*(f7sq)Qkh$nlIC$i%8BwIx2k5kE!{DUNM{b&%NU>st2eJ>pN^**Hvm+)eb= zXKqwQJXQU9X{G?}QW)^zJ1YX1U$_@(?XlEOTAz|4i)Ot|Vre)hdzTOcNVL5?dCT{M z6*0=>rE+Q*ka?(K_L8}zMvFx zLU9*-&gBKe-5}OzeM2zi6qgb^_-Gy97^FtXo&G9_*A0>Jt3}j%Z_ut^e?wOF_O)dV z$jb8jxSt9Nw88t5L`2UQNNh*;5LLdVmDO7m8X!F=j-;>+%Cn-?o4xy-F4qX+0}@hU z7A=ZZJ`rt!k!`mpwp9&HSyzb57S{8zpg(L8wteb|DuV5Y(5qby_;!~HOqgEH4oh>| zdJgazDCOUN0~NHBhlzK5fkBW?KR{g1y>#1pMjo}8R#PrnrmAQt+CXF9+z?+^aU55P z(8*`-3cDqecYFW+>OGA{8L_=~Uc;*s2!BOqxz#(VGX7rNvjjKz-$i{QO%Jra=Kr$P z)??-BHzgQOkyC^CGLq3C{0@~5y%+?!NJ#f#=domk%f6(@BlV4^CupHhQwVnA!kp~- zz1F&*eLk56QWpt!eZIxH7nqTh=5Yea=XG15D2N=V*F&DdR`Q;F{&bj|25?oTBlC2p<;psKMPyep+^gE1EFxYCNXs<8}($^8JV$dna8DgX>4i8Dm7O_`X zK?!6C!}ZH0Ri}ws$iCW9B3#| zM1`t!T2Q06GK*B(ZVyATS0%9)x#6SyD^M3Y(Ar4lxQoY~-6v3}^?LQ-=nK_FS|MWlzVEDQH7%pJ-z$^P zD&-&}F?O7NU{(I+cHITN&pQnxtb*|>P)l=8^6R*qCR?Yl*%+dFub!tfMban))-ZZ! zglKMidBOc1Z}Y#<)z?tJKD4!~%o|410NEc5=(R)4FS*m^PUMa=WFlQa(0x`J-9jbE z%>Rgo;wgK)I9VoFE*Ay(;_xH(zPlsjD!{0WD||x_xu5xLJ_MJ3{pAWRxJWSC0c5)U zkYnjw@3-7msynd^QT*mPM)w+RC&Z6K5J+ zdn%lyJWw5C?RY8ueJ+Lr0|AFM^(pHmVIS=N=y0Jqeo0rzaAd?|^ z&p$HXdV3MyADsGZ2LypXm-ZB<1^Lx5?~~VX4j6Fk^UQ%eP;dCUb(;x(-OeyBJ4Yf6mgLm;X^r#VW*k6-l8^3|%9kqKvTDue$VSgD`;te*7Vg@X`4_ z|1#irXQ&Q{Kt)r&s{8m-u+mUlYCxhy7)QE8Ho@w7gS)bY$W0k~r@Aydv~{xKQRq4+ z{{W8j4-g0mp;y{~;?~w2B3)HNNLk}bF8u|-C4NEweK;pum=-shs+!2)qownV#M+qa zquxUcz1^wKasIJd`Kk|o&jEFr)U-q!m#b|iA4Oy=Q0`A`|3R)4L8loEhgVP_{WR{L2C&}hdb%nVIc40t|WEt zmpqFp0n~xkhTw-`ExE3wsu^)4(b>F}EuY%&^|t4{ljQIyk9q2I%=ri6987Ht*~&sx zT*O}%mhJYQ{==xL9b$bQ*-tPJI){BmuSeCCgKaCJWmiKW_ggc*ZBkFHCnPr*;LJnf z4bA-a#C>mflKNaD9?lapzFW-Gyz3=qVtGh=zW8D7*__L;%jp84y{2s#s>%^)e`Rt#gQ%H`mZs! zqL6J?3vS^+5TVpf?Nn|~h{>49f5b08y()8#5xsSb`G2yzQ)0sIduc3CG;Hp(mI$n= zS_f)JZD@y;lKd8L6>riDT^0F}by~oh*5tLV+a=l7uv0BL^fg1ky8d6P5do!Xy4}|r z&D4_c{?IG`dvFsGOmT9J{Ik-UXM_>lHYMI#_z2*Rg9;0byg?~g^#Fog?z^1ot(~sV z`d!XW`=~kuxZY;C(l@lYK}c+xH5Xb_zAq0;@tkap;Q#b5y3W%I>6(_fct~t-iONA` zESz9Y%YX5%6TC|0SBg4s=H*f)!F>wWxPM$)$8?JF$IyeU>R`RZruZ2)BK)B(NC~@; z#g@Cz_(KBZWGAPHtGe$ty{4MGVqkXbx%uu=@HG+xr5s3C%1#Auh`$AgK|6iSXhwSSbq6f+ietc^`J=4DTQl{`W2VhUf|dXY3u@dc zFZej*ft7TNI~oqIXuIakC9qq3V66ZZE!$T?X@XI=IasUkcb(S;M`m4~fY>L>*ieML zV4s209R+1 zcv!efvK6^Nku;>qv2UcgP8LQ+%CCmlXaW*RUpNb506xk83Y~xnBwbp2Azg94ytYg6 z$>9|!qfd4JaagOSo8upuxA;)`50bHqc$vvpKk9*p0|tabyiq+?P}T=+jRA=F<#b@n zPkn(XakH6bhTX2&(Jwx78P1cG21-%rk5eQGjuF?Wxz@%~H3SwZIeHP(y4bn7A639~ zIO6O305SEiZxzrdv+)-@6cpZ!=(YW_0+t3fm9zF*%0X%kXW~Ct&ey_@&$@qJwGcin zh)DrFy6p!0mg|i}^MrWXpK4Lt@&foN6mwxfVmTK=C%Ru6jsQ`FIRDv;kdV(jYd2aQ zGziebz&v(fXknNB)b*Lft78x0-Borq5Os6Gr9b(R7p*YysumswN^42QaLkDOEM_0Q~i34O)HsErS*mn^Qxe@qYYgcPP+M%KJsNkrF)UMeRVi^P>t~S$h~< zC^wClL;;MFy5ypOSmUvQbMEBIyLUPzKs$}(W<=^O1PMubj}}b@teJ|8u-%kA;US%x zb}O>R$JiKgWq>Pnb^Vnz7ka4}3R{%q*w#b8VS!lu`kSD0-_ji6RMz77ZG4p{@3l3 zunR!Veu7yK+mnx=t_qA)IKIUv$Uc4f@LdQ{!zD^-mX_kH(nk^ zus`PTyCQ-o0+$!{JJ)boSq_~SYf+bsArA>qXnf2I?>6PeFcrN#C@3M16%PnH9icMj z{H?Fwyp*|XY?4~J-hERG`=LIEDjBVfQ8`q~SnaKaR&P#+4Iuux%(*Jq16Pzc zZPXWWr$y9d>ykaRF$cmJx+(;2a-r$<{g6#_BKT&f7M7502yP4~ak$4h@6iv@$m|UR ze!=7)p8~%g-evJB*p-iYPE|(CTt=G8+-~?Pqx-g=c>t=H^t{nD631} zvpEn3V>(i#r-Dm-N4;SA%r;M=?mm3Y##87p6q#>6m?>m~)uj{JZOf$kAwWozua$Mp zO^tbv2&selHh3aj;+rLWN9{=IyKUn~+!?;0pJ;o!AM6M9@D%34CEI@|c-U)OS{4p3 zGdJcd;GEAr2x6A9B&g3Xqxy{_w4Q1uv1qX@s~!2cc}QThruL90|5|TX2T@YJf0ZCm z00`VP!AAyfT2~Xf5%wGlYtsIB(S7cnOde9c&OnFy<#f7Psku8|SjgPeYYg})IIY$t zAKZ{IV{IjK^|@2u8upssgn*c;Ekjb!FH|RjSdP< zWb&1G4jY763TfR2n%*-!O8QD%Wq$94ITDm^6M0ZyGHoFXj^?Q$NWSYxY_6nZz=(d~ z1qX}O5cD0pUNqXR-zFRR0_bxiWjJ8wwO#N z@uo0{brU1^K{N>^0)ZLxo1UY}N)}HNsrc+fgk<6?#~gzR;Tz5QqD2fyk`h0?P3Z)= z+^>mVVy}|>ywIe!;05=sE%a0B;I127Yr6B!wJPsQbcA|juTp_$MHwN))1927Ph4(2 z3qB8%z9Jn6BpX5#d5eY*Q+>csjdJoc?Odf5$-c=dCRBcff=be_vNJ4sf zvei_0?|XA#es%LrsK)*`C@fE)F{u4GP<2N^8G4~%E=JvDXDbnBH_5Ct^MyD$-+SXd zXb-dl|AS=@c|l^X22eSWp6o`>X%czG1Gdwh4V@N>C^w70dpDO%ZgvUO!KE|@sQL^? z-r2nh{%XvPG2=?7Vt`|XudRqHp{}1yZk({x(v+MbH9sOM+Kfc`BliUEjS$Nyt3YK; zc?)u{w@}PEDj>k2hQILBeKkmF;md@}=83tewiHf~x9Gz#Oe){q<{ln&I$a{3W4A^dq%u z0;W?A|J4g-ZHo52NtklT&*}cJmB$R9yf#ROBUJbJRjc1Lj}luqn6={x4po&P^n3cp z0R!EW-TfVtUb9a=>+ZVnXX&gw)f+x=w9Zq2d*9fUlcF?a=6kCUS?j3nL;^O%g+6tL zL_WP?R5 z>u$;t^UK^!6JMOEO!=~Z^G8ccWIVsH_GN50eB){24e}??8TMw4D;(ouNvnR2=CM)6 z_=kv6Nm@#PzNd|m2A6$uns0X!;x)L^^nq&1?Y{1N1YD~LMi-)t3Ji$_maMQav?Q&L zAu1r88asaU_!md{<;KRPOK77b6xEbTgS(Y}3v}_FyGyIWz7o=v4BM@bK9-=%gWxH` zPsVzVxwZ^BD$0=HxnEIKTFPZ*RANMoBnQc`r6(Nwr-@X)GPrio$M26`tQk znm$C?09vNMOZ6EodrPSYaHGVX-ax-UZDKn(4619Hdj{SVFoO+x<^s1LY7I7&lNBe! zgUHF-5pX=Cw4Mb?hXfdMVw8Cb*huQ2^HLuodOlQdoC2rH(1YXzv}IvbtVUphf>i+G zk=wQWIy0xR=YSJ7Wybaj@5PpMF2~0*h9mKU^SzP}JFl*Mp8uo&!+@hmNbCtZCgr{` z7gL43@H-FkZ_HO6RUVes5>%>?_}Jc>rxZx54Si>9SI7INvYPj;-eW6CN3-ByAP%)j zneoCj` zd8=4b3L+h(cv^4;)YvDSzy>@wsXb_?8w#hn#w!fLl#9#8+7Hu-Q6r;Il88AAWl?WZlEcmB30rPfQ)l@#RCeg`bQ`_ za5+K#K=CFxH74oC?|J8nx>ta$HVG<+KVk0*FOD$Cz8KFZb}cv#*q`6f06xBhoXb;p zExG(42x!5B+n6E&8?QiwrY=tc=nYbUkv;Jk#4CJ;?)`3#h^E2A1_(iski%e7;#sNC ziBIO3Y5hm~eYw6aN2LU&O$^L$I`Xg6@^GVd5J~~4;L13Iv5n#_wD2A9k$DrFL0K50 z_>P5bVI}hH4I2y`rO@*|`+6{%jq~~sNZKBV15$eTD+Fz^k3WNh)_=s_{xwfXkCu`U znF7_X3EeiI8GqJm2=GJbGzsCnffq)H5rqpTu;pYt|ozBCwJ@*U2!?B zCohYq4Mjvc140-hDu8Um11p+nkD54qcg2fgN?cpD*FjS$2=8XuDCWr`e}9!!0Yo^F z7D~v2rJTM%c%468DJ1G&gYcQrqxH%810ZlOupJX>maZaNJ{Hn6HhnouiLN=`KbUPe-O-0e@B-=f+29lE40}f4vw7BFdi7lcH>F#*k(@dE&_X}4bcvE{WM+I;yM^BUVoQN3Da*$* zkbQ7R3o|_kKnQSi%B0+^?>7Pm(r0I=Q~e&<0hjEHM=>#Oq3dHM`dbnB@NK^|u4k>?QM;^*0&d+a@t0K>J<(|Ld%wyQ zHV7fuz&y61T`pCHZuNREe~?w{Z*1wewwqhBLwaOzY#wZ%sY>#i^th(tzFTG=(B9=4%kE*W@i#lrB z-dz^hrBhN^8U!g7kX#xB>5}g5PFWU_ZlqI50Y$n)Qb`2_$t9Fd>HHRbp7(p->*5dg z_s5AjGjnF#n3Ke3GX;NG|TF~&~{qwB?yT~P)L{~Nps}riewel-D0eHq(ArL zpsUI9?WLz8&8_y{1?=8_>n9(aPXc#3TLU_U;+218kREY)f2r!vsSV= zVOKWD&k?-U{j4E!R${+hE2EYA19|uvyf!nNmH)&?H~E+mF;F$I>I0HJoxLm|a z^l%17m(QdlL}!T+MS~4Wa>z zkbWx>J(b%YJX9F32y}lg`Xn#d#mE%&;@t*C<}BkCC;jx1scU$OEObQi6}>(LZF`L* zUHLSP<20&c2lv1B3j<4o7T)0^H<7vQ znm->F1EA~5^?Lwt5VHn@DIO@IFrormG;qO4y8}&gaF@cM{s+wZ;SApXv-Ip`b9^qo zxcdy6&4#Hpms&cTp)6tCJ1~E%ru$rq_bdDC8d#zL6W;kRvq6y4JnhSfs)527W`LwA zgHg>xV)oB27H>Y(_KW#pxI<`yC1JbUVySJ~S+01kf->99#6rtjtx*V0DE( zvrH?tt$C+W^x+pJCDC-@?`iKr`2h5JkI~-k7zUkA_ra@X$%~2xk|SEKwN)YeIN!j} zw2?2K;6bxF&@A^v;|~l`oFnU>YA9I7NMn+(l7`cLJ(x>3_B&}9_IDj$E-1Oa6CYFi zAAy%ny(8{4quEutJ>?OLn>45+8S|Q+6u#wwRM9NuUI65G=acl&fyLf!A1Tg}x)^O- zzlCR*!4`ni{G%0a^qb0&doujCap|m-p=9%G=J^RvBEJ)<%Wf6IWU}u9D#jT~ZiDK{ zx;X<`P%GA%9Ax|5xsrSvSa2J|4i{~xWXNOixrJ%p3fp&ApNo#*Ew^oFEl~5qPvH(f z5FYWc-01{1+hfK+5&Hrn$FW;=Y#|voy>A^1=Cj*?VOwVRw2bGjjRI2S_-5A2PJ+Ur zxgE!j&rEBU#TfXeOVRWW!|bJ9>?-)yNI_fvb5@AGK2RvQG7nW8gkmrHn?{f$=U5Zk z_;x@lpXWDjcVGAK0fD~>Y~=s;%jC~_*YEdR$rJno^;ouwTh`evKn`EsfjJf?=ohg? zcxihkSl2R@_}reje?#ECQDtwPOd&Y1+U`dmhbfM$b;|I7!PGv65fPAw?CM$$GW7Fm z1$7B^p20>Z<9AxmC}~Z>3r2OLUtIK`jT{C0bg!Hu5a=_w>mwjfR=_nnp=6k@y6wKj zAPg4;Df}IPv{Pk5wbzC9Kfse3qOl%)&w{i z9z~EbA^=zG#Sl{?iI9ssp-b)Gl3IELRr>~+5I)7XEi`mIU=iicmb|?t!d)^+9RNWY zA+65U)45_mZA>@{X(ifDhq>syLQp(k>u6tCYjZoHv)AR5^s!~tx(k?Ov8(gyWeO8bjxA{n>s-1`oMAj#Jh_l!l%zaOfdEUXLOLVje1*Z zCs6bh%ixb&GWE88sNagGgX=}{YB7Nv8IM@CoiaMEMJq}zIK#*_JUpNbz;$hM_sLWc z%Fl#&dkF)azD_<6KlNH>--AA1UF_=SJ3**H^pVdnWy4^>&<44;B=;`(+Al3LUfq2P? z335#)Ih`ivx6NtQ2be}0w)Q3Zy48wRjgcMW;OWIwSiBo+jGW{%uDijKp*i&ELdVDv zMYo)HztL#z)?n9oOcW6)K^N#;hvC_$&ljyeO`y3^ZxhyEw;NJlpP@o?qqFZ-`?#r} z;d3S>UmQ3*>l}9+4~rck`d6y#;AaUN0D5nEfYPn*otUSe-;F$x3gsp%;o8(I7y==O z-yvc2Dku{9?on7j302RTUY|L4+M7^Rc=15E7MpE`m$C;l?QVofseEt~0g(e>+`{zr z{~9L#W5UbledNaBwc&QCN-xCWNRm)Ntf`xspCZ%kyH3+2d`5B=zPe986zzwI9xhc^ z7>gh&nxjdhEqjFj(rtIx)Bf-H!tz-LRDk0ujcws%xt;ND8@KhUrY7Rer{aws;L$eT zwo~!xC&;;$F}6T}vX@W>E#0z(!+lc=&wJEBUEbK3Q<85f5f1mQ2YQ8=msse?7RtqY z;&r_=<~C)T6&C8jGzu&3Q68cTo1234t^Htnao?haSDnK5Ry{9U8h>4Y3;MBLB%Uwr zloO+hcSscq(LxN6t`f$KadzP^CcJJ%r*Od=2RstDM`Hx+J$4RKoW$4UhYi=`>3o z{Im$<%BPB^arVyZ`|`9eL+Go0%yxtTdZ*jp<%?<}ko35E*5-Q~HD|0%Lo`iC9|71t z4k6iJsaJ)4LfhFczT_@!0-6^VEEHKV68`)6dOSpKY=_~$xzNk=KjS8a5E4X3F}UOE zeA|cKF&33^ewv8FR*3G$9^-8j_YHJ)Z5qL5*5M`v{helW?|6WNBvr7H0dCcrTR*l0 zZI5e{T?<={{|qp9x(qX^z}L9=9y0@pf((@X3FqKL%n2 z1;#YSb7}iK`3)Eqj$%<5E;?kDn6D2aU_YD#y!kn~6Io$j?n|7NR~P)wTJYVs@6}#vmx3Sw`R8 zqO?o}SH4yI1T6tQut0k>D;yhVS38eR1*& z4e1aX>Ktl}&&Zz4Jy6RpWt6Q&250Yy^xO2eWT<4Zyh)0Uwe4FOyb5e}YZq%DQkUyw z>=sBUnex4G<$+B}!auBSV8Vu`QE|}DcYYG5r5-2`#KceI>E}^@WO($DM0zq1cFll* zF5!s8lZzjHpzB=H}>Z}Xvj9>M;k4=V|qlF%lYB*UdWo)NL=*-uX0?&R0f=x03k3pG%1W5ZaEHZ?&fbRjg z_Rfu@z0Ow!wAWYn+_D2U2m_;TTI$_)W(ER7B;rc1iRh_sN2CM7p-BLld_bT&c<^J4 zPmC$W`xQ!$IvcalmFv-9ksSQ9BP><=ZA^Y0Y?Hv7!AH<^iks>epk~aq+c~8gEJp;} z$kAu+9&7Ta7~&Qfilym@nP$izDX!pyO?5&bO+0}HvV6rQtM`1K2ON|I|53Gjt_4bX zx8&pn&IGLfip|w!khPyc!D)NVpkNQb;u>ef;Oqbibc=}RM|RYaPLfdpMMK{h&_&w zA4Om@(y3`KBwGpMqEe{f-I{a}81hNp%7CPSp@-p9cillO2gnW|d3)r;b#i%qpX7=I z_jWe}KM8Pjnh?XTvDfSKvcr$i0i!!~%H%eeLy$AIY2y`~PRan2M8@E(46Qp7T~}?L z4qKQtlG^Bi1e0Z*9C1Z3H0(+g;-IU86)r~pQZPw({{;0{l<@uItb4qdO29K7?hZzv zH)5Zkm^Qd~dW8-|!>^c+v64%oCj)hk_wk3qtc|S@GYBr|WwwA-D1mDhzie9JeK!LT zD@#FCpr`^10dKe+@WEJvMvtTG(0flp><6jS-wfNv-0XM?qk6Go3lzLE^V?7-CSu=> z)5)fc;Ytyl;J%2@{RxH2=Jl;Fxb?WNX_cuZ=5ddH0yC{MZ)kbZbTpJyA^6On4}HHA zhTDg}nzX^N^|@sBzuIV;?zjxgx4G)Z+oxs?nMze@!rI4TL%MhhI-ll-%5sBvK8gSt zEl~9~(X#p&PgCgdleg!*&CIemjsW(T?@u+qllF*r&0Am76n}bFheuDGFbFo)!Yl!+ z#j8FxBjg)AjsW|xjSga(zCo8NXPY;Z=zwG(SIy|!z|C2MmCAaigcAj&f>lcA4`>+;M*)Cye7(4C{TKe|0Fc8aKC-zWZ4>^HplH6M)gSvCy*Eev%*?ZG9d8a~ zDV3FMb`A4Tv^DwYB(9O$!sY|HuVBnB%h~&K`Ep^*uPS_N8GDZWpbu(|CMs0FWFC)& zRT$?<@ao#yrjQ6tVi z8Txia$hKuPNbmx?v$Xa3EI6;!aO>^Q&*9C`*U@_W>Qy$Fu=$YpNemY!hTWv*?I}F@ z0mJ<~F5Ifrw6$GN3K`x*(?Rz@WV)dDUBl{IyVVPbW;o2t4IBVMo;HLbG&^;SEZx#a z{lrfa2?7HcW!)rD=S&k^iwVNWgl!Y`BQf~u!f<_4xKiQw26>uNKp{Rm;2loqJ^^@9 z%(CfAdJCIK*o!Zt%xZ)%kfW(cN2tTh%n!^XqM>@{@Mrr^!1-FIQ(5tx%|QA*7%BmZ z9<0Mi^7esQ-gW_mNs@6S+P!g6$yI(Xkeu0Ab1(P?!)lUS)OraOEuAqxDF!7|z8rws z=ns>?;82FnO3P3$vZuRI`!7){I*SUu-`*|z`7h~3C*yKdPzsp#`rkjmaL0jHo9_X~rZVpz%lq-SKpOQ~hzO4jX!1Pwv*09HFG7OR2&H@S>T^ z#~3Syw>k%$cxeViB8b&P*m$-RS~GHgs>2DTkBZL|$XGtR6MyKGuU5L?UZpnj&0-p8 zNO4*|oS?GM!UD2;!EzxeZe}1R9aa^alq-do6rT7ONWuc|>xj4P58ZLjjph*4mgmL4 zq*aK70{Cz(=P+uzLZ|4_^}`8I0Ze7k0YEMbBo~5B6iD*UT4u8K9+G`hzRWVO+0>;fiIM3ue5B7aj_I=+N&V5;pZ8dtCEM-XwMXc6wsL?$nbZbTC&t!XfU6fyum>uR@HRGdz0w?m z81dlGdmlZ7M&hTGWtLv=mo_|zV*DO&4Df9^MFmz9_nj$`9_@jCUr6MJ^UNahx-lC6 z;IJ$Tiz1{~7X57Zc!9b%9KeshK%fGM7@=L8vD_a7ZrIz)pfcm2}&=bw!XcyCw}r5AxK6kQYS92sMMxF5O>0 z&z|L_pMqRygF#_p;6x+vgW>Init5B_&QQHrgC<)C*o8PH1W~hJYG=7AnWA4R%?1d< z&9FgJ!vLc=LkcM+b*D&G(@f+{*U&!xt*eHGhgR~A4hdolhLTQ!9g|4aA5i1$GSvZ( z=SORSG7MlC`UP<>R*GL$SIHNQvzl;#XN)2a#Mg+W1sXyKdLRH>2cY*EQ*8sDyJ)Hl z>JLVJbtreIe%}bx&65YXpGVK3*5DX{w((uDaWYJdk_-5p+}16(0-!E$2* z`zs9u1x=&H4$Dm73}1 z6gZ3hsmFI%jTSzvm(wq)#70Gf5+jN*scK=OUWjlfgVFZITmZ*zsf$+)`tk_NE5I8o zu%$MVJMH36dRUoen`wYnPgi;{LEIm3tW0DnzR<@C0b8>2MKs$o?jLk2bI~W!2>6(- z0hmFYQoWp^K-~ac4^v6#$$QQf45b=am7Zkf z@%|Bz{iiQRz9yPi#1Ei}16oo@_zB-5AR1c4O||^5$2kUk_=?k6L@q{p`_vn_)jMeu z6TDW?)(s{@WX9^g@dM=GbfUS!F(n_fjWKvUmL+OrpMf~@F=|_|*%1P*NFe#j-n~t7 zYU*qQEXl>@7@OiU1Wmi~ED00a9nGqs<|}ua{0K!k2BPqsD^iRHx#biC4>hP(nk&;j_I`Ky#PMozAme1hNNUZtBJ0lNUARTCtJ z^%|7$fcP6TpuCI&W$OT#RAU}+RFi!TM4ktj6>sYO_3^&%v0Zx?pn_b0=VxVXt~Rb$ zB7{5lS@X9wLB@R2?O43!)Eg3F*$lS4mLo*1qaVM?bwZ#E3m5g`iZJ)M{@Qga7Wr@W zTE4F=M3xAf2{lWqHRg2f}m*+A1TF@6^j(*mkYCkkRj~MU>r@74NMT^%J*E8pP1WMr}NyV zEcxh2squj6P~01s1t9yj*7KrtR$2j3skiuJdq&`A=a3ReE&y_)%j0RaeTh4G=T`Wj zxtqX3P+kZ>_3g~5AHaRCt0WNT!#U|;OJVVbs{E$5x_+CF}}m;4a!+q z*rd~m&FobPB(b&tX)PiQ@5Sw*D!sZP5<;}+%x zZXLxm*AXaMv+I5$oX|!tQhEy$ZAhTUoW!mzpMnVDL_CHA3E1}s@>!4E%^4q%D*Bc} z8yA0R(2S8QAmLnMkD5oZ@Gn)MXC?hc>u9^!ujMekF)=bjSv{ik9H{XD`j{ZF<0V}) zZ<3V=0l9iz9d1RB3hU4B0@QjW34at#CMW`+F1rmZFZDcRK(RWpT zPioS23R57wB5p2x14Fex#={dpjzkY?%n7^Z+VUmdvdEGsWT4AW+^mwLjJC%Bb57pX zMQU!WaM6giE2GZPznktO$j#Rg;1$MCYGOq8ffWjU@Z){02VJ0y?-zN-OT{lO_-r>M zKYCr7FLqiwpKaklFR8gGUezjZ1|^iU#g--LyNP>>c=h4cG-@hE(aBUc@Fgp~An9!3 zHWb-VKbF*GEF|Z41Zq0$zENY9E~rr_^%RW8dOYyyg>UH@GsjR2=f#It?J7cS>5m;A z=$`asjE0CEDo9`#wswz7rXj4?h+C{H+(;{oX-qE`#3K(&)}(IH^_JWN!ok}!exX*V zCHYd_;TtO+tld12;-4RQ;7^e*Q%D6(%Et`$T*0IftYL;-1y^hw$je!c zbsF~0+EbRy=b<$-hy1=4p!7 ztYw$d%h3mpBQzV)@`!`ennCAKv|j#Zp&Z7F>L7OnS?etg!gU7EeEPsZ{$H3|Yb(@P5{He@-TlM%uxpP_idK%3;lNGIs+B|e!I|o1dtQzj>X@5v!th;ei0mgnD zxK>vp9>|7<`k6mA7|K5#+kztfmyW*hmY4Ho^UVX{uOW8k@JeJ$n=CUxEQ2a3mG-=Oa*6Ot6jW{_fe0UkxzTQF_eqy|K`fuJD!782HW6wxJXa7p3GPn#~-@09d+A zelo^sBZQf>AfW+;LBtXwICq@0(Zuc+yHv6*o1IuH0n+6}v^WY__of~{KQ2w7IPq^S z?owstq73Q3$oi%9PtL6CVpwL!bx&SGQxWt^=;;O^XIC!QhR{LODUSh9b{rzd8eDze z()3C|?=doYg?IE>K%bV9uu{^5zVo?@a--WNEb9X|+4!+;@#mLoxbDXY||E3K9x?M0xTfm}-L+#Md z7d3RfB|d7$)my+a{L+$;4<2>LdFA`%C)LBGxKf$q>AJ*k4 z)zlk}Zo=??p4hWlA?Mudc>W%VAmdCQ(=={d=>t*^{vBZ@fP+9pAuga7iAJuRJaB;j z-X?6gq0h&q(ar$Q*yZ~xT*Z;Ib;0hCqNwpT2eo-=j-7RC_G6*ydbC2K$IXj01~v-s z0J&EF9ktyVFGCI}!Ux!WEl-bn@e#;O%Im2w(j>~cpi{yMGa!;jmpYwBlS4foEI3iy zNv2RYM|!sOU)Y!gk@#`mL*6wTLVWZgB!e7bb@lg5jElMJ3k$E|X@3xG8EE)RbU%YG z6cr+U4>)=9>MNrF!$PfOZ^axW_P)o%O0UWbaWCqYS+#D{x55*36Rd8{Dw>mMbwY2t zW5h>zh;q*HJC*wTC5#!J>pIW^I9s6`+wmb~Sw!#x<}OV4##JmYEc&hb%3eHoY`!my ziCDx=a);(B^#$TnW{+(Y%E4sSl=-mS>FWO^D zJf+Spz~%+zI&B}hST!a-6B5}{v#R86sfU&+Beg2T|i{q0C$Cnd<&yz|1 zoiU*#PDU2`?O+khBldOrTlLXQFLW3a6^O}~-xVNVzbkCXq>H@muwIA>=L)yjErfAh zz0PjiGMephm#5{$yq?_ECFiv-+uv&ADt#_i?ota8k4GSg|KS5e_0rKuPg_0}0`E zK;V56Bnb%cEnC+fNX-V34tTZWB7{3FQq)EAhN@$t=vi6u>NCNxvB*(^4=v1>POL6V z!tMpJH^eB-2|-kJVSVmN_KX6$MFf}v8F{bsk6*AZ)e1dS0gk*)Hg%^;7n#R#UcWS3 zcWEYi45JQc$Z>n!e9Dy+X*Cbvf;6J4K+gr;_=l#(yzjb zzbsiFxIk}`{&qTfCTM$H7D^C8bV?_HeJC! zlCeaK7n`+I(-_|eWqBOf-7?chatU(U%A1C6Ycs=uP@U(zPoS%3wQJw`y z(Lb_MbnZ3(r#rd!c9-3`uk<_DxHT?W!eUJXI@I!PU;DmiHYo?B(vJ8;^v$Iy2Hia7 z>K-`NW!f24W|sRs($9bT5ZPM!d+b%AYB?l<0j(WX_Q*&+-dV|0xJI}AnblY0Hoh-w zRCSsevB66FY3NAoOo`>a77saHZ!;4FDS3HO4vZA1YK+F9hcNnTU!fyEOm2$54MEy}5vDfJ|)wB@IYoawD=b!Thj(=xEmgx6R+~P+2?K z=6#lESVJe(!z0EPd5_J=!mYkB%D1d2Yh@#f6_@zeiT}Er5Z1e{3S%H~KE3v9zSWh= z!R?%Sf13|jTUjKzVnIs)jx0aeGo1|ws%!fkz?d93Q^Q~1J_wC#vB>gx zvhyP6*l#@Zo8hctP=nr(E*iox6>?ix4MVNC=-mK>GA_-ypWy}i-4FuCS zuM@n>l;AEkuvTk4Un6}smXz>#yf_oUa;E`5lzHbtjc<6T%Wr6M83Dgy{5nhG7X>{2 zw@Q}W@0?wW1s>VCqLrT!5ce=y;P`y$R}fv6Xx$SM*&oJbP{(98ObucJ`8JL>+{>V- zgS1Jryk*DT<>BzH`GgBG)*MYbn^I0@~qJWSIJsK>BVs@?L%ZlLtl}tYpPLKK~*~ z@_+ga7bn~X2Ksta>{ILj%f{oknO#~PgGm-Q?8i`F<#wKF|MVQTH$>#In(uIu6%L!% zhyUzqXL{e{lQ7|LFl$||Lwu%mC#i~5(`wvC3bX+{0FA2J0kTYHHGZ{?vjIB#7~^9L89Lecd~2mr`K^91 zLuMN+#lFxT$7v*ZZvrfI=bg|NR|}A#kC+*gu)9~qVtmVR^RUb0&i^tuQs44|^!tJ0 znt+QY6^Uxi6TgA|!{KlvIVpHZ_5mBks-eEwY1oH;@jbjhmCCEQwp8wiJWL@`C)qKA z3ePL`kNu*bJOM7qqusgbFjyCy&)#WfNa$}2Xx^_$?Nt5$E-Qpo8Mm{Y{xuse91J(P zzG+vvy$9GSB2G3c5>JUB!&~Gmn;l+% zij%YxOXB_EQ7eR z{xh;gOw>Z*qN%hQLAaT~YSWyi$eW-4%gBoR0n1Z(HbYp67Uwl>Cuh1PY|ZeY@^p(0 zEdWSah`%adSqb{>y8yA=qx$^GDYE;y+N_U9$bld}$>IhB7>%<5+) z-s4In%z+6#I~fHLIU$4zeZ~LxnvHb-d>K0&l5EkGn3M8i0k7(C*CFyn4h8ie&R5{H zip(TAfOLZn=e)0a^=A7kf}xHFNmRwEf5cr{KQJmJG5?zr+UeVHfh#cz8r*kB1^<`p z?UzUnI_5%UVZzmL-bH@%G4WBjthJf{t#XF?r2R)nZTm%1!Z@dKp`f>{lDSk_3b_3B zP-*s#QPFg7F)Kp!KO+0WozOjh|8)oLiBA%x^S#?t6c5_dg3xGk!9LEx@_^U8{)hXA z0bDsr@4L&k-tT>{clTbX-jebTCtc+s$=ry`5y_U8jMU}iShJs}39cp8gWh>+ZBj?N z*)hUy9Zb~ym*GLdHUF~=s60q##kgLN3Qw;%G%)6eX$Ddc46FE}Gkl0o=3+q=guG*MzVxK)_ow@XgnGYk=uQG4o!uv{BEZJ~_)*ja zzux7w2^r!kk_@!p&FLjlOgmfZlyo8+Xvu{0L_{SZRZ7u-c(Xt)>Eh`O(ZPK+qBi}y z-C?US3vUqL7xcCuF)fm{(B}lh8w5)xu)CyUNLB%7T@wtEjdD@BGfLSO&e601gk!hC zyRDC?x0oE0FlQWh2tIvMOian8`r6Y{s6f?qn}u@1ZnUpDkAD42LJ0H9q-yF8iXjFL zZTH5Z)ZtB|sqp+@6WvK{R2mcG41E+8*)@Rk#(GI_g7j>-LQV=fiYA}+8Xtg4a#P>& zeRo1q^3U*0XHn-8ub$>&Iab{MC7_LFKC=f>hOz$NXO|{Pzp!609C>X%-)WuM%DG6I ze~UHv^RD~5X2yW##I$rbSs!%@K^y`N|KKpVlTb>Suy`}19q;OfyGlMbqkCXV@IZ?B zTV&hROp>-b4tewBqb7poXJsEhteXTezCgcKM*oRPnt@$aG&={$gOc%jAo>50KwJ~S zCT%#BtRXS@F$`An0)J`+5T4yq+^;E3@b-j%m8y_fS$QrjCi0O*;Jrwm4h)JB#-o5n(|t58U(` zwx6yF4?@aT$m6!sVC zBZMSn0rP6S)yRz};tA|%Uhf}x2!-N)5va=KBztq!^!{U~QW3u`;w1U2BX6>G9ix+N zp}|K1t^~goUZgR<=I5Rav6!^WlQlXfG5m+}qK5nqLA`gfx^j_S39iNSb^ZtRV#wSj zqS>j0fBRVg68-$U%&&Vd{&Q(x>+p&^0q@Z3P;WAi;qqDNN5Shm_E$1jg#?rTstYq9 zYisK~yYFV*B2K~Le_C{;Zcc+eOw%r3qR$4I5yY2}ifIC4gnIB%ry;+bR%um%zh2N@ zE)`D$pO!p&1&e$(lHmUKFdK4E=-br%59~yhH|zDu#YJ5HyU~1WdADD4Y{3%w zw+^!oyB8{;sxS26!+Q=m{o*&3b3i29fcHdp#M!H-Nr(27{Ecd6BUz!V+7T$CAX`Mn zNE7T=QM!kb)!#J+v9OC_uz&y9TN1eHUYhsgGJ`dD%Hf$2`dQ0@lPWkMA^|Gd7=q*f zfaq0PxEAw1524BfX}}MO&)8J{oA>D>YH5hU@A(;~J<2}XVj2dC97{4{2bU0zu|88{ zGG>MF=(ap0&JS{LA|H#2R=U`sk$eHDAEpJl#*IDxqkY4B)ttI7EYf>gvn&AN7$mvJ zqm&~SVHgJ1$Xudz_soe7mHNT;Ra%Oy@&`JW#7Q;ho2*;$Q2LZzDxBg29K5q2gWfAgh z*0l2MJgvCwj3K=~M=+1-Hel5`p?!CXHrP0r(+lDJiKuCCh#RvfN6qUsn&9;WH%D?* zo+&G7y5fThHRU#FZJ=yRRwK0he?f4dax${zD{8OiH zlvwg+3*u(a*Q*>H5f6nCeK0-<3iefkgP6#neIVBprogHYK;RS_%Z3SwshdHfR>sq` z#{ei1M<6d%=<}mUU^hVEjLm^yC8D^caIu}3Oz^YGLtO~@g#^L*JJ*KWANXML-!>O3 z;s-myAq`zk+i%k)L*QaO&m}cXo+BwUel>467fP!b*Oi|}C`pYVR0W0uz9f1yGFNAC z{>GC~>-p>2^Vxhk0q4POYA@Gsh&V=X#ea*CBTmPH)q>K-Zo|@yD#2un%IGC{d1(NO z0o;SKcSC_P%ggd-04Bs98jHhK2CiMN3F1CxIc;M@l@X#)dq=?Y799|zGakYV(sRbN zbmHDjEx^L5Yiin{da&iEMlU z6NawA+!iihh5G7mif-N}`GL$2KG8H)jaqqs+@tfCiTjT&?t9}{K6N>uh5Z1auggiS zpTMr-l8l2zZg2K(HaBG82ZG>HT|#FCM9H%EEaKo1KA|6+_iJeo67qC&#asRT;`1Ox z9h(E$W+1GHJvu^|ehjrbjV&`$)Lh5;GX6pe!CqY~?kX6l7X<&lD>J73^DX&z+-Zs& z!qSv_q;cXS=Y+;eqQ?jIvcNRM?+%;T6iFA*VCH26~2(zyw*SRM`zPD_Y7a|Qgt%1 zBIAid;@u-ilBMB{igR$nPcwY>aRJ(&IOa$(}9!+qLh_i?MyZ%Q0Doe)k6 zSHs}se}2#(i3B))cmd!p!?;QTY|AWuydpYkIt@91NZcVuz8u=O{g$?4&7{vES%LHmJ4MU3R*7c#Eln-yx>kfG3$_A1u7P!r-EPgR)nV=+yQ)<{=KcSDm|){bYmaHK#kE1;g$r1hPyob;Nkw( zcO%Jb=f86JOy(LeA90i=2$`bCgJvQ zeEJ=^Md0hAs_-FDNIhZe&I%lWl^W{hL;tG%*8sL9lsMt90FhF+;dYDU0`O95f*m$A zpe29fJ1)qQ+BV?)AxjS(%e_Rz!BHgTnoOYW43Hu(k(Qw@aZ=SOfVnZV)Ec}x{ zm02?%h^!F!Z-5gGr-r}@n1K?sK$*0LJoN^7da|ddH}Te3s$eo6lI<2Z&RiaAq)m+7 z7le8ufJ&;fI-0+LLoEjyr~A=@KA&h=5SFh2gLAw;Nl+}GV{}kI1jglYOGQ2`c3cWo zKKMi!*Vx>zHX|7bX9+_v3ehuD%4}|pVGq#Ofs8D>pXnKdknYui?0vbl9m4|lJ$0up z5$g_&2r$hec2$EbJ>*`L1+3bTs%0W4q)8z_a1>mY8;d+Umw|0RPse2}jz zv7L$QY5zZSTkr527kD1#M|6b9%K^Pibu!(5{^k24-YV@<&SJT!3Y^eao5m0Nh@&)0 zJ=7{WdzpQ;mMt=YmzR$QtdL64vPqBrp^C9f9%w7D0V5bXRi6X*=>66@@M8hFez)O9 zE4AV$p&X?9*^81kG{iD4lF!MY3Vx2S;I9)~!|Q3Zg704f*l=>6s2z1jtJO6#?ts(; z4}kfWo+QWjiSxy=W>BH{k?9NA&+?UYQ5d!`hH0PZJO&N1d!O-w;6=6MM^Q9QXO;CJ zwy4Unsr6^%`eqO13!2qT%7>&9SlVWA*a8CRmHFWSU3MTi{{r!WznRc9aD4__DCI|= zIhioIc3vc5A3jfC-XeN~#JSE>4yqk)O`3$|8DI{z&5K!@c0Agwp8%Q<84Q_|)pu(* zqbXjAr=E;0Ol3VEmd7-aSHku}S2rRPmt}BDhp-LBvX;QBz<;3$1N$DvG!&i->@)fE z3DC2`6NvKi{(ZgpDH+q~Y7e^mqIEmqe*SDH85DN^P9S=kbNKH&PQ=w%6x}i~?;H2* z*)g8}il1j~rDYY*H-8_{%(0f@O1#c-hLBO-!(hORiy0RmVJZUB!4X zd5-dwo&Ie?)b>Vatf!XzM+vnutf;thAD2^+%G={c%Ssx}Da0ERRo0e#X&Uqu&WYY@ z9cA+a$PwL_0P7HVLr6ibfDVg3RV6D#s4PyQ!o9#;pyed1so<)Xf=|72bv?OpqDkR|(G3dV8;h48p+crin zKfzlP^=D8aw~pCe=imjg*g%+Ons_4(n#2|5nkW``2?kDI!l9l%qKs-lN^OALx_k_P zTTVP*V;RHn)3V}P#u)&)o4<>%psc?{5R>TO+1ofVjebNM#shAGlxs7ZYRyl)_-Guz zhvEIoGM^lU!-4>4(I)_C=dpRkO93&HreHNSW(QVrc(>|q4|Qtx)LlFUs&b-P05pGh zs+t)^KXLz&LtJdexyQA^T1za-m`iWBDuIK?+6&WIB1_9Tm2__b<*)>D^AJZJtmUW6 z%Y9`iUNyp(r}_)_b_5QSg)MRdw9m}2Up?Bp-B-&cQM(dDibY91IRcA%7%;=-PSP0ud@5RG=cl*3Uy2n0GFr~K{T-X zfi{G&^lMJPdw2mMf~oJmm2@^-SBrk^ZG^r7Fmkw&yj1QvxU`@Wp%I-(2#CR@g;M5; z+G5v4z`<1RiHYW`F$Y127-s}&<((Owm}=3(0R(%Y&N%6V@92iC8*zqXCV7D~YJmVY zQ57VdNkYX z(rm+S5NvJ!R??LNxXgmQCd~sJf?MRI!5lzq@w_PT01;^Z1$YK8oI`ydNDiW>lzOK1 zfU|3UcQkF*ckWuUkcnRO`+Hqmp};R{h0}1i3az$+n4JM^_Dkl}IcUfS5UU)7?md#W zg5-7M^*g39?au0ir-$TU4h_x#Afj&nh6OkCN6wfNrH||#8Q*tmm-0Jf8qV9a3wu)K z@QE%niob%tOu2;f_bl9r55gtR(_#!I>7B%82FRZRGkU?c^ms@T`wG`K96Gp#-?KLF zQ%U&XMvlS>647V_gXfBbqrG&BF=qI1-odI#uLB}$6w-N77EH1K+b6aSI(uWp3>SSE zV9flKl8X3)+La;OQ>+%LoaL+_7tuV1@TGP^v#O#I*52`U!K{vHkw1$<_Uv(^`l-Lv z*BWvnCIvWu!EnYBiit~L@MQNgGB+}P&;v5H-Z%9y^{)&gpYQO41zl{se+*mOVSG8n zQ`|oOGtxh5eA;p{U9vxlWPz zk&ce~+J^zYm+{gQv1cf$mF@OwZk4CVmL^GAJ;-L0Z@Zl~+dY;Kd)jRJmHAXePWa{C z64R8%Vtsw&-*A$`zJ>`~6w=4=ThEwod+I)s_JRyo(LZjisxrz8$;nAR`yHyp-jTls zSRRt8Y{50tBV`o|pLRRjrU_Af2=u`|qq5{Axo9(Y7ph#L$LgHe53kY^HVTuAc2W+Ro=~U10bmef!!gT7p<5_Y9_j6Tgiw$6kqhbs zscA7nUQ-+_d}Huads1ktFYd}L&F&J~^Tt_T&W}+Kg-<0kQTz+zo=6PoVDZZ%4VfTU zeJ#z1hm+*5b$hBmJa~j-Oj@Z!R8*%et`Z|%9@t9nh}z6WnDtT|&@lQ=cG(h)MBq01 z*U;NWV!BhncMY*?;&OgsX+-PkDEk6YO8Il8NT16FfSzM_igF@j3A=cfcS2k zMF`2t;@4+{(s^9KK}J`%yw6D<+-pi0Ey7E3c|j#*rRrE|TD#LMhx(L$Cpi=z%$74+ zVY?%{H9zFVviuYMU$E6-$xs&sq#rsg*zE-0D z3B^Bk0t^N6=|)T(zqJ+PHIxCB`OkVJXuBz<_))SRB5@=4C;5Sq0Brn0GOH!e`|}jC z$3Onnx}J2Mahr-mGC?N@lw11s?eLiokkbcEi8fT^ z+l}p9^OKb=VE5dhvHJb&3(2D|N&MU{TGN=vEIi&GQbS*>{T=?LznQQD=7gJPF1(1F z0J0<<#2*Rdhpggb(}dUjSatt{01PErM4Y>=U(gcisL3Ve;s~%R4o6s1PmH7H1_8o#|dcK zNF4mHUPc;q8nxqN9jg8YI9>fMNoFup-h$@tkI}-eX}^;2HUdN&)+r$|z}eg<E8&Tc19&6uKBtVZq`l91EBHvd#1%8)C`41U=l`rjzf9opFN7L@SvH+B%s?VX1( zWrdP}5{?$HP(5hYSoT)g7hn_hrth-HVT69@jQ&sa&QIC0h9BVlk$}o7&V&%6P)^?v zLr&V-&l&;$m9ZZo%=`8*^2`Y5e>JKq_4ZsMqElKQbW*+Zb4_;lsbmZvsqely@$A;P zI?Ox9u}n3v6Hz>hl;OdquYU8NQXcbONEbJX&Y`mlks7M&_&;)> zK&0Q&(8d8|jKnl8O@{|*SH&%*?i<#5-#24@K>4)5wQ5{!h<4O-%421ze}VkzSH*i- z+G$@sqTaRs%gUc85FvtSF_=I^Qm(yyf1!}m6_F|;@Y_#VqO?HD?9;DwU#sC(_en&5 za)7k0*=S~S2R~2F=H_TsKS*Zk#}?p>3beg<$a|!&;}Y;M{ZK=u019n@78I^|4S?~F z?XiEcn|YJLWtv1)(A5MmYM+Be94F!raU+6TJ2i^x9e>R`9Ea3r|F5g>4r;3D{=W%< zB$Uvrl+e2Z3P=%xbOZqlf`%eZQMy!Vp$O7JdPf04q$&zhB=nA<2~vX~(g{sE`Q`C_ zpZ7cSyR(1XxpU{t&iU-wvwP0&`Itd$tHm3&6Wj^K2w`>O={}oHy0ja$320jf%=1p6$>I2iiUfFFhF?rMlY3jAV`WFRO3< zBTX+s8T!6?xEQy#?Sx?><<7FPspx&AY~QJih;igue1ufMiiQs)%27-VCp z8yFkQIZ-E^_pq`Q3#6}y7LARS@3{KAhTU(0#o$$imTTH5dzzUkPaDQ9GX}P|Dj=#k z$IA^5j|^2+JXc3qw*+AqD*|P2626l$eb2OixDo6<39*(&Bx|$woY9VL4UsN4j?ELY9~T2cs0NL7w+*-wjwboPDF@f$WLGM$+Gv@&2_N6;lHk>b#4iWr0^?WZkKq|v3g!Z3FEz`=M zbVK=Mhm8&%YLSTe6|LCoU_E^3&9tf%jGxNWCA|B=Q!HZiJRARdtdar3$Dc_$x$Ok5 z&K!iY-n&%jkE-JdctDQ=Lc?McIeKRMT(JxHB-zG~vy&haMuMUK3ec0}jrNB4S9g_>pht*06# z$ok)}7>M>OB>QAS^85W+I+h=dVBCxF-hEp+7<*u@43=vd^!hQKPTyO&ZRrc|kn}4+ePu~P(s}8|t_~>oZr4E37a&bLx+7L##1*?UX)Cme=G)$3Y^*ljV~fqTuJ&0`OOQAl%rDeM#{`zS0Es6{Dl%@G5bP+RP*sB`Py-KWyp1B}0C^G$l5xkP<= z)x_M+JoxTXwNM4P%5x_!)Kac+%f6zq62c~z3Bl?z+Bz<6WjBwwof~G7aSDsbS27(e zh4w&_0!T4(sXj=KSH4qo5;@X#wsW{st2kvM=v0YvKPLp=bUSSXa@4sxXbwYeJOMLf zB*CTzE1@Ir@AXossRI@^q-#6GZYVh%%MuL3dWb_xPZRJA<-myT+-eJ!q({4Dp7XIXTq8|Qhzd)E3t~HY zj8lr;Hng~*N-25^Nn!(g&Vb2H!1V23%;wjl>ssm;855^1!7n>LW(g?(J7Rvm68@rc zjK2&+y?bVivy`JJmBj;HbOF;hvbZatb}fVa8(61*lt4z} zHBTad?12mv1h2ZIb`$Ix1AwJwC`%d{PEiL0^66>$@04k&&D?^>vG45sB(RUwZnE|- zhveyxkP;xDXibxak3nT`*COKz3Dti`09(4Vcka@e4lwBL2RqZffjt~L;fKFAnhq~?{CO#K$+`Fa2leB=UV>M|6O>l>P!{)5p<~oGQhh!r zU2R*E!kvHLb#AVC+l5IT6D`_~#cK?Hyi27xJMRFw-|uY2|m*M42$Re6;3=>{wKO zpe^;e6EafRa9_oTwgxt_L7z`f1XNB?Pi`IIBl>jCUJ*dyF6`r>i0x6z*u+xL*k@9;B%%*Mp3oDG6Lz?-@UoW@jJTcszb@% zpuO_12xt*r{N@ed4YiA(31~tzC%G6K;T(-lB8XFwYInJ`#q*f3tF|KGwwQbdjPFVo zxJn?)2_3VeihrALF8sjG0E6%SIe3(nT&F1ynl)nz>GsUp?Ir~cnbNjz=29i?Hhc;| zfgl{+(AU)+(=B@bIKIb6`34vsQe9aylFw9+?`#aZ2pn(`7Afr)qewMQE>BW6JbA$sRkggZlX>;AY6(#@Otuz&toG3$p}>g`QuQj()g&vK zv}+RjQn{dqi9fE52KI-Gtd`!VzCr+S=EG=O3KQj~(Tf;-z zf>n`x)ta~XOyln@a1lQm6{^WWZ>u4(uuv-=3rWR(koc@vPqoFxRO_M zmYJdI*7_g<#&Ev1VW&^rzI1_~jc*>$C>T8CUU0s5MxW_(UGNJ3x5E-l-MCRtj1 z?sf9?Ev0rr!1nHD67VJndI>MnGt;6SA!7p<_17^w_Su7{&waumVh&^lF`3IRa~vm! zgp1p{iulj)R2zkb1kc~L4@QY zj$s5}vJg;0?3Z&F`ppA2NTESEFeU(gZpde}B@V*}Fso5-K1WN^ z#2Cdry$r)mX(m*f&r-4%el~zIuU_Lq?mfQ)6~Gunk(i*Wwb_HYQUolI>wLDM@|B`d zSB@?R+lU$_+WV%mLZu|wBjzQGd|nmUVUm$`q&c6ap0%71!bLZAwxgT-Y@G0s1yuM3 zA)*OEGcBXYyrz!kwGxAYub-5)*wP)W>S$~gFUDW04Lf^CgA4>&ro~`9cUY@-5w752VAEAt zD)H5C`hCznkUf-T@5OyAwR$Hz_5*<$`c$D`Jm(}?O0I`{OwchtNP5T^#O`EY81|x6 zZ~PJ3?v-6Y%R8+mp{+3CgnQc?mCY1s1z)1#DB1G?B_dFWr81l_-H6Rir5Ne$*$p@yi z)#-lj`#u_TD++6}ik^*n-RDHgn8qMf&`m?*!3@}vP}2Yqc%t8~6u|}#Ou>Ote-mDy zr@!vTMi;Zq)S9&@YK^uiVG^sr?0M1EmcMltM=6&likPdWx7>_fiOx_^;V7lpFU?+s zi_kE1O^Do06~s=3fi0&9sQ+r49#@TA20Ju)hiPp>;OeKy`)aF~VNwi(yWT;l1VT{y z$-=_MFMUL7_C2ThCl+q*;Wrto}* zR6Rjx&krm_M3p!e^O6{{fz%f^w>#=DR7OYch{<6;2RxRym_t`;_AmVAfmvz7Uwdn! zCHfD69}ij8Zo*|V)99*7GaQGjb5H=+qu>%xzAj~CF zixsr)0<+rHicyqODyHA_#AzEbpN@iBF!)wJwhU-Z@8QNu?~dqqU~u~{5J=>IfWSAO zy~MVhfPMBg1TY$?dlGkSpHhH|-lVe(0z0=&=UAlQ%ahhtCyF?8tVTYB4yFu8 zcIem@Ag<(|l~$55pk_RC9-ScBCJH!BA#MY-4R zT2CVIihrabH9fxPo3x}!jFyU62M>D$ivNY`-*)$HxF!Dqi8+)dni-;J2Dv3*>6@v^u;TV)2w;|l{SMZB*&ogXapL7rmpw-*H+ z^S~0HGzNJY9n)9Q}GWGk`1n^| z+faD-@oTaW{Z;I3J$l?yj-kj^$P(}JDl!;YaQ?>xx?ypoORyGTkbZHnLhip-fJB0> z{9^^^hyz>Wi@dP*vG5=4C_aMRRE=~faO*S1Z%S!CksjntRoS7$Ry~V6^xr===1SQ2 zonyexQd_+zbI1B!<63{`J=n1^(sBE>>o!w?@ICRW&@DCC#3KgcO;g^Rr@Hp4(9THv zQNDLp_{nB-Q?=AXc5n(qb;zy3+r6D2;dAb(t3EBA@UCDjpDeQ!w=bO^OLUWdqT<%a`oFAN*^esl2T}SY>b|o&S#-+ zUVX-tO;sWa?jd8dA*{Pvq;z`vNtjZVNMnY3qjOV*su@B9ASDg| zSOOov&N|pafgF^*Mr4^MB?wU95}2t0-^7H!sR)>40Qm=ZA&I~ad6eZs+z58e#vGFP zir|!9I4p~y0V}$xW9xbA8hnc?$plFbBb$10EfJuA9+o3Sj?X?;AUu3)(RA-yF0$)&PJ*B>IXcheI<%>i|-0B4PHCC4@tfy?xWK}$!E8K zc~6n$h9$uPa^kBmggdfI<#q`9)~m@;vVBS;#Ft&xsUU4`+j!3pEu}S1 z-zFFuE&IaRn7DVNA9CE*duYlkQ+l*28)x;Mx7*%(>f(hy&SXta!yA+Tp-+)nq;S8%S z>%d0e$hNsYS18Z&(_f*hQN$NL@yutk9N?h_`Efw5)b48Dhpum}$jIhFtusjtX$+y93L^`jD}>>n6hF(3maTsG)0`ZKwV9!q>{L zNqbV<3I#)A(}oR$9j$_kgzGWjhe7>C^Ol@;eW9_SOs8iyn+UqAt2 z@A#9`iQzG06T4o|RjDle&&Q0bfY*d;2_wjff&S`*z$&(hwkWrD>l}leCyuVT(cnEI zA#~q_r^)rx90-$vdPMIr#xIIXZQvOBF94e};>cAhv z-{vv~$V^SX@ZqjV8GDNy6&iV(^%g^CIE|O<)3m3>yx7tMAihR3m#}-hk99&gi>eaM1GVxSe8AFV76lO>=TZ9XAf@xTPos zsa8R<(V=Z2aPZY!cN*$wba7=*07u`xg-smsLD)$Ssd$GT)w@?3p(8N1quY@3gA}`o zfmP|F@0wX5hXdF3gM3B9?i|^Lq7YMv3W~EB|a%BxAcr_My71Q{@XU zM?}ffJlfaU>lb7TIUfOL)qAPK!@OUYHWPsR6*u@Xqlt_VMY8U2^06DNg|BPkAEHM` zl@@XA-G3Che^XROwxFEto+Z6${AFoP+(@uqkq6F?h_OPsCep_ozqsjA9|k?mOO@xvJUg4? zo8D4}n1f3$V;mr9COjH-Ww!rP6KEPdNQ(14}bWh%^5bqWk)LqRenax{Q*wO)@7G|Dl#) z0V8L8ZE#rOlkUx|#{`KePsy(Eb73(P4|_(_*Q3X&ysqwIGSOwR=(G91z=#qb30^Q< zq1s008h>GWB({y?>UVt1k#1EULrZT1OHVipUWX6XWEdMYdHh_@{&->W#7V zCA5XSgR1_U%>W2Bs6YtjZ+6!u4%ubhas@on;tx@#I`n`|JmY|r(ZVPotn4i%mYp8Y z7eu)a7xvdr|Iwlul5m(uRMi3|?_LT===ia;Qr1~h5{`)xm^*btpvU{MyMIW|(UxQg zW0qKPcNRkWd*It3NT$%qFUh7rm#mGYlI7Q++n!l$16>?}=|gwv@7&`tDON{uWmAA= zX8wnH|5mxPf)cS7cHk!jlarHwPh@IYTwN;C90ECiwSb8yymT=kUI3ScHx94jH&>TZ z{`OTMKIB5*aI=HfdDnM#MeLAKxJ>eE38S9pzjXMPTZlAvBI;lA1=pBk{qgWDR2We* zCx?u>;59YryIH<_J19;KXmGH48%n&;YZSgi>*rm@s6egxa3ayBkhb-M9YU1kqkM0RXK#qGu^71&sNGQGktpi<$y5|HYZHu zO06xl%IX|+cLkUFfZS;5ZB^OsEdp$DFa4)H9m?zo?9p*Is zDkV~^?a=AE5OMV2)_MVXhsej31$)rp+BKpG2KXZrHzOustxshYd|Cj!(TkZAvfVL^ zx&azR0|N$==ZO9cFw9DRK^q*dQTfvw_{M}9joh9J(?9RA%QUU>P3f;iU@w!?VFNqk zA=L06QtjU=gNK%mv_Tq0Y|RGUi+LGebe(ziqNJa+-N3Dr`ft8;$?DQQfLKNLvR*nc zD`5)M*m$P-P=WIMTW#z#2vXHB&6OVV&#T7FUkR3TeW|g{cxRad$#{$}B^!3L)7f(u zW*WeA(ld7y?UWXzOdj)BR8O#!{$d;Za&A`gmX`1N?IQ z&tQ6OEL(VMPgx?BT0*cfzVpp&y=PB$IgwaDwYl^ZJl&UL>Qkrlvb3(* z5Aq@Pi~Fw2e*6}>e!!J$w=HiJo%=pLgt^Gm;QMZp0tX(?H_~cHw#tHjyZrVePk1A; zO6Kr@Xn_MRiuu@*iCFici4}Gg(^cojO#6{{RxN$P{2YL$ln|3WujgFaJimXRuY6){ z@zX{!X&UqB)c)EUKWx4vWd8WPAChNX5%e_Uy?j{^lV$+7(`ufXPY|9zcd}f=_`-I8 zH+)=E&`7XcRnUlEv+$eAnlvgU^>i z?o+eBFs)^JSCHfu7Pq^Z9VjyhX^ij4txRAxOZ>NS1&@6OY4k6Lra^+Ku7?DRwqAmJ zMSENGahNcO-42nvAPikh696P2%h#a`vW#QBrjVG+cSZ-wI)}ktHi6}x>_6-I{1(Oa zOl&p(ZJrR5U(BdNx`9iBZ%74-CK$MNaNF57UIj2^bFVDNwx}j5-!Mtnr|;$O#4G-R@86~feqU^IT3_U+7|Q2gF>t4@l~R4vUB(F^%56xf)Ix)`T&82h z3nboN%=CKI`pepaC)Lt&g%|DH>X#&ZxlW8B=c=Ag=T z9e^~X?M>Un`JSm~Raa07&FV@C&g-}eu*k&W%oD<>V(#?b;Y;=N{h=RJmm!myJtbo& m`1RZXF~Pbx=KcREL-nT51uD{sBM*S|=xW~7sJLzw^8Wz6I(uCJ literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json index 8b8fc4c..40bfec7 100644 --- a/manifest.json +++ b/manifest.json @@ -8,12 +8,16 @@ }, "version": "12.2.0~ynh6", "url": "https://github.com/silverwind/droppy", + "upstream": { + "license": "BSD-2-Clause", + "code": "https://github.com/silverwind/droppy" + }, "license": "BSD-2-Clause", "maintainer": { "name": "eric_G" }, "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.2.8" }, "multi_instance": false, "services": [ @@ -23,8 +27,7 @@ "install" : [ { "name": "domain", - "type": "domain", - "example": "domain.org" + "type": "domain" }, { "name": "path", diff --git a/scripts/backup b/scripts/backup index 43b5bd2..1724afa 100644 --- a/scripts/backup +++ b/scripts/backup @@ -28,6 +28,7 @@ app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) +data_path=$(ynh_app_setting_get --app=$app --key=data_path) #================================================= # DECLARE DATA AND CONF FILES TO BACKUP @@ -47,12 +48,18 @@ ynh_backup --src_path="$final_path" ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= -# SPECIFIC BACKUP -#================================================= -# BACKUP DATADIR DIRECTORY +# BACKUP THE DATA DIR #================================================= -ynh_backup --src_path="/home/yunohost.app/$app" +ynh_backup --src_path="$data_path" --is_big + +#================================================= +# SPECIFIC BACKUP +#================================================= +# BACKUP LOGROTATE +#================================================= + +ynh_backup --src_path="/etc/logrotate.d/$app" #================================================= # BACKUP SYSTEMD diff --git a/scripts/install b/scripts/install index 99536a1..09e6121 100644 --- a/scripts/install +++ b/scripts/install @@ -67,6 +67,14 @@ ynh_script_progression --message="Installing dependencies..." --weight=2 # Install Nodejs ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Configuring system user..." --weight=1 + +# Create a system user +ynh_system_user_create --username=$app --home_dir=$final_path + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -84,14 +92,6 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=3 # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Configuring system user..." --weight=1 - -# Create a system user -ynh_system_user_create --username=$app --home_dir=$final_path - #================================================= # SPECIFIC SETUP #============================================== @@ -99,10 +99,10 @@ ynh_system_user_create --username=$app --home_dir=$final_path #============================================== ynh_script_progression --message="Building $app... (this will take some time and resources!)" --weight=26 -pushd "$final_path" || ynh_die +pushd "$final_path" ynh_use_nodejs ynh_exec_warn_less ynh_npm install -popd || ynh_die +popd #================================================= # CREATE DIRECTORY FOR DATA AND CONFIG @@ -110,24 +110,23 @@ popd || ynh_die ynh_script_progression --message="Creating the data directory..." --weight=1 # Define app's data directory -data_path="/home/yunohost.app/${app}" +data_path=/home/yunohost.app/$app +ynh_app_setting_set --app=$app --key=data_path --value=$data_path # Create datadir folder mkdir -p $data_path -# Create config folder -mkdir -p $final_path/config - # Give permission to the datadir -chown -R $app: "$data_path" +chmod 750 "$data_path" +chmod -R o-rwx "$data_path" +chown -R $app:www-data "$data_path" #================================================= # SETUP SYSTEMD #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 -ynh_replace_string --match_string="__ENV_PATH__" --replace_string="$PATH" --target_file="../conf/systemd.service" -ynh_replace_string --match_string="__YNH_NPM__" --replace_string="$ynh_npm" --target_file="../conf/systemd.service" +ynh_replace_string --match_string="__ENV_PATH__" --replace_string="$PATH" --target_file="../conf/systemd.service" ynh_add_systemd_config @@ -136,19 +135,27 @@ ynh_add_systemd_config #================================================= ynh_script_progression --message="Modifying a config file..." --weight=1 +# Create config folder +mkdir -p $final_path/config + ynh_add_config --template="../conf/config.json.example" --destination="$final_path/config/config.json" +chmod 600 "$final_path/config/config.json" +chown $app:$app "$final_path/config/config.json" + +chmod 755 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app: "$final_path" + #================================================= # GENERIC FINALIZATION #================================================= -# SECURE FILES AND DIRECTORIES +# SETUP LOGROTATE #================================================= -ynh_script_progression --message="Securing files and directories..." --weight=1 +ynh_script_progression --message="Configuring log rotation..." --weight=1 -# Set permissions to app files -chown -R $app: $final_path -chmod 755 $final_path -chmod 600 $final_path/config/config.json +# Use logrotate to manage application logfile(s) +ynh_use_logrotate #================================================= # INTEGRATE SERVICE IN YUNOHOST diff --git a/scripts/remove b/scripts/remove index 92f6166..7856701 100644 --- a/scripts/remove +++ b/scripts/remove @@ -19,6 +19,7 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) port=$(ynh_app_setting_get --app=$app --key=port) final_path=$(ynh_app_setting_get --app=$app --key=final_path) +data_path=$(ynh_app_setting_get --app=$app --key=data_path) #================================================= # STANDARD REMOVE @@ -56,11 +57,15 @@ ynh_script_progression --message="Removing app main directory..." --weight=6 ynh_secure_remove --file="$final_path" #================================================= -# REMOVE DATADIR DIRECTORY +# REMOVE DATA DIR #================================================= -ynh_secure_remove --file="/home/yunohost.app/$app" - +# Remove the data directory if --purge option is used +if [ "${YNH_APP_PURGE:-0}" -eq 1 ] +then + ynh_script_progression --message="Removing app data directory..." --weight=1 + ynh_secure_remove --file="$data_path" +fi #================================================= # REMOVE NGINX CONFIGURATION #================================================= diff --git a/scripts/restore b/scripts/restore index 5276b01..beb1e78 100644 --- a/scripts/restore +++ b/scripts/restore @@ -29,14 +29,13 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) +data_path=$(ynh_app_setting_get --app=$app --key=data_path) #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= ynh_script_progression --message="Validating restoration parameters..." --weight=2 -ynh_webpath_available --domain=$domain --path_url=$path_url \ - || ynh_die --message="Path not available: ${domain}${path_url}" test ! -d $final_path \ || ynh_die --message="There is already a directory: $final_path " @@ -64,15 +63,6 @@ ynh_script_progression --message="Restoring $app main directory..." --weight=20 ynh_restore_file --origin_path="$final_path" -#================================================= -# RESTORE USER RIGHTS -#================================================= -ynh_script_progression --message="Restoring user rights..." - -# Restore permissions on app files -chown -R $app:$app $final_path -chmod 755 $final_path - #================================================= # SPECIFIC RESTORATION #================================================= @@ -92,12 +82,28 @@ ynh_restore_file --origin_path="/etc/systemd/system/$app.service" systemctl enable $app.service --quiet #================================================= -# RESTORE VARIOUS FILES +# RESTORE THE DATA DIRECTORY #================================================= +ynh_script_progression --message="Restoring the data directory..." --weight=1 -ynh_restore_file "/home/yunohost.app/$app" -chown -R $app: "/home/yunohost.app/$app" -chmod 600 $final_path/config/config.json +ynh_restore_file --origin_path="$data_path" --not_mandatory + +mkdir -p $data_path + +chmod 750 "$data_path" +chmod -R o-rwx "$data_path" +chown -R $app:www-data "$data_path" + +chmod 755 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app: "$final_path" + +#================================================= +# RESTORE THE LOGROTATE CONFIGURATION +#================================================= +ynh_script_progression --message="Restoring the logrotate configuration..." --weight=1 + +ynh_restore_file --origin_path="/etc/logrotate.d/$app" #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -109,7 +115,7 @@ yunohost service add $app --description="Self-hosted file storage server" --log= #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --weight=40 +ynh_script_progression --message="Starting a systemd service..." --weight=20 ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Ready for requests!" diff --git a/scripts/upgrade b/scripts/upgrade index 66866c6..0d64e3e 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -24,22 +24,9 @@ port=$(ynh_app_setting_get --app=$app --key=port) #================================================= # CHECK VERSION #================================================= -ynh_script_progression --message="Checking version..." --weight=1 upgrade_type=$(ynh_check_app_version_changed) -#================================================= -# ENSURE DOWNWARD COMPATIBILITY -#================================================= -ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 - -# Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi - #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= @@ -54,6 +41,18 @@ ynh_clean_setup () { # Exit if an error occurs during the execution of the script ynh_abort_if_errors +#================================================= +# ENSURE DOWNWARD COMPATIBILITY +#================================================= +ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 + +# Cleaning legacy permissions +if ynh_legacy_permissions_exists; then + ynh_legacy_permissions_delete_all + + ynh_app_setting_delete --app=$app --key=is_public +fi + #================================================= # STANDARD UPGRADE STEPS #================================================= @@ -80,10 +79,10 @@ then ynh_script_progression --message="Upgrading source files..." --weight=10 # Remove the app directory securely - ynh_secure_remove --file=$final_path + #ynh_secure_remove --file=$final_path # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir=$final_path + ynh_setup_source --dest_dir=$final_path --keep="$final_path/config/config.json" fi #================================================= @@ -107,47 +106,37 @@ ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version #============================================== # INSTALL DROPPY #============================================== + if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Building $app... (this will take some time and resources!)" --weight=25 - pushd "$final_path" || ynh_die + pushd "$final_path" ynh_use_nodejs ynh_exec_warn_less ynh_npm install - popd || ynh_die + popd fi -#================================================= -# CREATE DIRECTORY FOR DATA AND CONFIG -#================================================= -ynh_script_progression --message="Creating the data directory..." --weight=1 - -# Define app's data directory -data_path="/home/yunohost.app/${app}" - -# Create datadir folder -mkdir -p $data_path - -# Create config folder -mkdir -p $final_path/config - -# Give permission to the datadir -chown -R $app:$app "$data_path" - #================================================= # MODIFY A CONFIG FILE #================================================= -ynh_script_progression --message="Modifying a config file..." --weight=2 +#ynh_script_progression --message="Modifying a config file..." --weight=2 -ynh_add_config --template="../conf/config.json.example" --destination="$final_path/config/config.json" +# ynh_add_config --template="../conf/config.json.example" --destination="$final_path/config/config.json" + +# chmod 600 "$final_path/config/config.json" +# chown $app:$app "$final_path/config/config.json" + +chmod 755 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app: "$final_path" #================================================= # SETUP SYSTEMD #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=2 -ynh_replace_string --match_string="__ENV_PATH__" --replace_string="$PATH" --target_file="../conf/systemd.service" -ynh_replace_string --match_string="__YNH_NPM__" --replace_string="$ynh_npm" --target_file="../conf/systemd.service" +ynh_replace_string --match_string="__ENV_PATH__" --replace_string="$PATH" --target_file="../conf/systemd.service" # Create a dedicated systemd config ynh_add_systemd_config @@ -155,14 +144,12 @@ ynh_add_systemd_config #================================================= # GENERIC FINALIZATION #================================================= -# SECURE FILES AND DIRECTORIES +# SETUP LOGROTATE #================================================= -ynh_script_progression --message="Securing files and directories..." --weight=2 +ynh_script_progression --message="Upgrading logrotate configuration..." --weight=1 -# Set permissions on app files -chown -R $app:$app $final_path -chmod 755 $final_path -chmod 600 $final_path/config/config.json +# Use logrotate to manage app-specific logfile(s) +ynh_use_logrotate --non-append #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -174,7 +161,7 @@ yunohost service add $app --description="Self-hosted file storage server" --log= #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --weight=40 +ynh_script_progression --message="Starting a systemd service..." --weight=20 ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Ready for requests!" From 3a9a0701b6bc9b7b0f606136813ebd76cf3ec8a8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 7 Nov 2021 11:34:52 +0100 Subject: [PATCH 22/39] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 40bfec7..6f89da9 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh6", + "version": "12.2.0~ynh7", "url": "https://github.com/silverwind/droppy", "upstream": { "license": "BSD-2-Clause", From 8d1ce8a7b3578d61b2c5fb9120c6291258ff2c7e Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sun, 7 Nov 2021 10:34:57 +0000 Subject: [PATCH 23/39] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c97ea29..4cdc150 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted file storage server -**Shipped version:** 12.2.0~ynh6 +**Shipped version:** 12.2.0~ynh7 diff --git a/README_fr.md b/README_fr.md index 3702e1a..628000d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Serveur de stockage de fichiers auto-hébergé -**Version incluse :** 12.2.0~ynh6 +**Version incluse :** 12.2.0~ynh7 From 33331fd1cd9285799e586187f891b91de4ba2485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sun, 7 Nov 2021 14:59:14 +0100 Subject: [PATCH 24/39] Update scripts/install Co-authored-by: tituspijean --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 09e6121..9802cfd 100644 --- a/scripts/install +++ b/scripts/install @@ -101,7 +101,7 @@ ynh_script_progression --message="Building $app... (this will take some time and pushd "$final_path" ynh_use_nodejs - ynh_exec_warn_less ynh_npm install + ynh_exec_warn_less $ynh_npm install popd #================================================= From 30bec82760c0c32f9aa7f782676aa644cc6d01f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sun, 7 Nov 2021 15:06:37 +0100 Subject: [PATCH 25/39] Update scripts/upgrade Co-authored-by: tituspijean --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 0d64e3e..dc4abe5 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -113,7 +113,7 @@ then pushd "$final_path" ynh_use_nodejs - ynh_exec_warn_less ynh_npm install + ynh_exec_warn_less $ynh_npm install popd fi From b3a6efa7310af0fc952db02dbb2735d8a3841d61 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 7 Nov 2021 15:10:02 +0100 Subject: [PATCH 26/39] Update upgrade --- scripts/upgrade | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index dc4abe5..8d35abc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -78,9 +78,6 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=10 - # Remove the app directory securely - #ynh_secure_remove --file=$final_path - # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir=$final_path --keep="$final_path/config/config.json" fi @@ -117,16 +114,6 @@ then popd fi -#================================================= -# MODIFY A CONFIG FILE -#================================================= -#ynh_script_progression --message="Modifying a config file..." --weight=2 - -# ynh_add_config --template="../conf/config.json.example" --destination="$final_path/config/config.json" - -# chmod 600 "$final_path/config/config.json" -# chown $app:$app "$final_path/config/config.json" - chmod 755 "$final_path" chmod -R o-rwx "$final_path" chown -R $app: "$final_path" From 88cc0cf679cd6d7adcdd5c2e897f0dcb315443e3 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 7 Nov 2021 15:13:54 +0100 Subject: [PATCH 27/39] Update check_process --- check_process | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/check_process b/check_process index 2bf53ff..7b095d0 100644 --- a/check_process +++ b/check_process @@ -12,7 +12,7 @@ setup_private=1 setup_public=1 upgrade=1 - #upgrade=1 from_commit=CommitHash + #upgrade=1 from_commit=cf621e81a3df37b77cdc97a305e10dfb27631c6a backup_restore=1 multi_instance=0 change_url=1 @@ -20,6 +20,6 @@ Email= Notification=none ;;; Upgrade options - ; commit=CommitHash - name=Name and date of the commit. + ; commit=cf621e81a3df37b77cdc97a305e10dfb27631c6a + name=Testing (#12) manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=666& From d3cad5ce6376c54273cbcc5ac144ca42f46f836d Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 7 Nov 2021 21:56:21 +0100 Subject: [PATCH 28/39] Update check_process --- check_process | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_process b/check_process index 7b095d0..d43554c 100644 --- a/check_process +++ b/check_process @@ -12,7 +12,7 @@ setup_private=1 setup_public=1 upgrade=1 - #upgrade=1 from_commit=cf621e81a3df37b77cdc97a305e10dfb27631c6a + upgrade=1 from_commit=cf621e81a3df37b77cdc97a305e10dfb27631c6a backup_restore=1 multi_instance=0 change_url=1 From 06b9013e4bb71fad969126d754e3b07818c5e740 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 17 Nov 2021 15:40:11 +0100 Subject: [PATCH 29/39] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 6f89da9..edb0475 100644 --- a/manifest.json +++ b/manifest.json @@ -17,7 +17,7 @@ "name": "eric_G" }, "requirements": { - "yunohost": ">= 4.2.8" + "yunohost": ">= 4.3.0" }, "multi_instance": false, "services": [ From ba7de2a18fe229abf7bb7bd90144234a0b687f47 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 26 Nov 2021 22:02:16 +0100 Subject: [PATCH 30/39] Update check_process --- check_process | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check_process b/check_process index d43554c..7b095d0 100644 --- a/check_process +++ b/check_process @@ -12,7 +12,7 @@ setup_private=1 setup_public=1 upgrade=1 - upgrade=1 from_commit=cf621e81a3df37b77cdc97a305e10dfb27631c6a + #upgrade=1 from_commit=cf621e81a3df37b77cdc97a305e10dfb27631c6a backup_restore=1 multi_instance=0 change_url=1 From 976f37cf3981d393f136d7626c5793136d8190a9 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 26 Nov 2021 22:03:12 +0100 Subject: [PATCH 31/39] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index edb0475..69ede8a 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh7", + "version": "12.2.0~ynh8", "url": "https://github.com/silverwind/droppy", "upstream": { "license": "BSD-2-Clause", From 14edc610bdc8da69277785bfcb7f145c73707b37 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Fri, 26 Nov 2021 21:03:18 +0000 Subject: [PATCH 32/39] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4cdc150..e1d1c07 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Self-hosted file storage server -**Shipped version:** 12.2.0~ynh7 +**Shipped version:** 12.2.0~ynh8 diff --git a/README_fr.md b/README_fr.md index 628000d..937952e 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Serveur de stockage de fichiers auto-hébergé -**Version incluse :** 12.2.0~ynh7 +**Version incluse :** 12.2.0~ynh8 From 698cf9276b8716916d54f42cf5e5024b39f79fa0 Mon Sep 17 00:00:00 2001 From: tituspijean Date: Mon, 17 Jan 2022 14:58:50 +0100 Subject: [PATCH 33/39] Enhance README (#19) * Rename DESCRITION.md to DESCRIPTION.md Co-authored-by: Yunohost-Bot <> --- README.md | 5 ++++- README_fr.md | 5 ++++- doc/{DESCRITION.md => DESCRIPTION.md} | 0 doc/{DESCRITION_fr.md => DESCRIPTION_fr.md} | 0 doc/DISCLAIMER.md | 2 ++ doc/DISCLAIMER_fr.md | 2 ++ 6 files changed, 12 insertions(+), 2 deletions(-) rename doc/{DESCRITION.md => DESCRIPTION.md} (100%) rename doc/{DESCRITION_fr.md => DESCRIPTION_fr.md} (100%) diff --git a/README.md b/README.md index e1d1c07..a7d0fb1 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,8 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in ## Overview -Self-hosted file storage server +Droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. + **Shipped version:** 12.2.0~ynh8 @@ -27,6 +28,8 @@ Self-hosted file storage server ## Disclaimers / important information +Development of Droppy has been abandoned by its author, and its repository has been archived. Expect no future updates nor security fixes. + ## Configuration How to configure this app: a JSON configuration file with SSH. `/var/www/droppy/config/config.json`. diff --git a/README_fr.md b/README_fr.md index 937952e..069620c 100644 --- a/README_fr.md +++ b/README_fr.md @@ -11,7 +11,8 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour ## Vue d'ensemble -Serveur de stockage de fichiers auto-hébergé +Droppy est un serveur de stockage de fichiers auto-hébergé avec une interface Web et des capacités pour éditer des fichiers et afficher des médias directement dans le navigateur. + **Version incluse :** 12.2.0~ynh8 @@ -23,6 +24,8 @@ Serveur de stockage de fichiers auto-hébergé ## Avertissements / informations importantes +Le développement de Droppy a été abandonné par son auteur, et son dépôt de code a été archivé. N'attendez pas de future mise à jour, ni correctifs de sécurité. + ## Configuration Comment configurer cette application : un fichier de configuration `/var/www/droppy/config/config.json` en SSH. diff --git a/doc/DESCRITION.md b/doc/DESCRIPTION.md similarity index 100% rename from doc/DESCRITION.md rename to doc/DESCRIPTION.md diff --git a/doc/DESCRITION_fr.md b/doc/DESCRIPTION_fr.md similarity index 100% rename from doc/DESCRITION_fr.md rename to doc/DESCRIPTION_fr.md diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index fa87030..63abffc 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,3 +1,5 @@ +Development of Droppy has been abandoned by its author, and its repository has been archived. Expect no future updates nor security fixes. + ## Configuration How to configure this app: a JSON configuration file with SSH. `/var/www/droppy/config/config.json`. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 9dc803c..901b64d 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,3 +1,5 @@ +Le développement de Droppy a été abandonné par son auteur, et son dépôt de code a été archivé. N'attendez pas de future mise à jour, ni correctifs de sécurité. + ## Configuration Comment configurer cette application : un fichier de configuration `/var/www/droppy/config/config.json` en SSH. From 1b37e6af148afe8884b6a5536a643f1deef00a05 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Mon, 17 Jan 2022 14:00:29 +0000 Subject: [PATCH 34/39] Auto-update README --- README.md | 1 + README_fr.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 2b62016..a7d0fb1 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. + **Shipped version:** 12.2.0~ynh8 diff --git a/README_fr.md b/README_fr.md index 5c59340..069620c 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,6 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Droppy est un serveur de stockage de fichiers auto-hébergé avec une interface Web et des capacités pour éditer des fichiers et afficher des médias directement dans le navigateur. + **Version incluse :** 12.2.0~ynh8 From 12f64766f9cc3b1f36697775734901b805f542e1 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 17 Jan 2022 15:02:28 +0100 Subject: [PATCH 35/39] bump version --- manifest.json | 2 +- scripts/restore | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/manifest.json b/manifest.json index 69ede8a..a4b990e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh8", + "version": "12.2.0~ynh9", "url": "https://github.com/silverwind/droppy", "upstream": { "license": "BSD-2-Clause", diff --git a/scripts/restore b/scripts/restore index beb1e78..04845f2 100644 --- a/scripts/restore +++ b/scripts/restore @@ -36,8 +36,7 @@ data_path=$(ynh_app_setting_get --app=$app --key=data_path) #================================================= ynh_script_progression --message="Validating restoration parameters..." --weight=2 -test ! -d $final_path \ - || ynh_die --message="There is already a directory: $final_path " +test ! -d $final_path || ynh_die --message="There is already a directory: $final_path " #================================================= # STANDARD RESTORATION STEPS From 141f42e1b57d1f5e2f848ec15c96aa25507e9687 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Mon, 17 Jan 2022 14:02:44 +0000 Subject: [PATCH 36/39] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a7d0fb1..0c7e49e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. -**Shipped version:** 12.2.0~ynh8 +**Shipped version:** 12.2.0~ynh9 diff --git a/README_fr.md b/README_fr.md index 069620c..4868bcd 100644 --- a/README_fr.md +++ b/README_fr.md @@ -14,7 +14,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Droppy est un serveur de stockage de fichiers auto-hébergé avec une interface Web et des capacités pour éditer des fichiers et afficher des médias directement dans le navigateur. -**Version incluse :** 12.2.0~ynh8 +**Version incluse :** 12.2.0~ynh9 From da8a062f2c51095409d829a651bca85d2e74e513 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 22 Apr 2022 10:27:55 +0200 Subject: [PATCH 37/39] Fix --- conf/nginx.conf | 3 ++- scripts/install | 3 +-- scripts/upgrade | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index e68d709..d50d905 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,4 +1,5 @@ -location ^~ __PATH__/ { +#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; +location __PATH__/ { proxy_pass http://127.0.0.1:__PORT__/; proxy_redirect off; diff --git a/scripts/install b/scripts/install index 9802cfd..e3eb573 100644 --- a/scripts/install +++ b/scripts/install @@ -126,8 +126,7 @@ chown -R $app:www-data "$data_path" #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 -ynh_replace_string --match_string="__ENV_PATH__" --replace_string="$PATH" --target_file="../conf/systemd.service" - +env_path="$PATH" ynh_add_systemd_config #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 8d35abc..546d263 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -123,8 +123,7 @@ chown -R $app: "$final_path" #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=2 -ynh_replace_string --match_string="__ENV_PATH__" --replace_string="$PATH" --target_file="../conf/systemd.service" - +env_path="$PATH" # Create a dedicated systemd config ynh_add_systemd_config From 6c3afc2a3ba5b9b8bb0d1c1e2a4f6f6f623c6d58 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 22 Apr 2022 10:28:07 +0200 Subject: [PATCH 38/39] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index a4b990e..e96fb1f 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Self-hosted file storage server", "fr": "Serveur de stockage de fichiers auto-hébergé" }, - "version": "12.2.0~ynh9", + "version": "12.2.0~ynh10", "url": "https://github.com/silverwind/droppy", "upstream": { "license": "BSD-2-Clause", From 1449f4480c0d171032c58cc559688d5eab4112a1 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Fri, 22 Apr 2022 08:28:12 +0000 Subject: [PATCH 39/39] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0c7e49e..9cdfeac 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Droppy is a self-hosted file storage server with a web interface and capabilities to edit files and view media directly in the browser. -**Shipped version:** 12.2.0~ynh9 +**Shipped version:** 12.2.0~ynh10 diff --git a/README_fr.md b/README_fr.md index 4868bcd..598c79d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -14,7 +14,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Droppy est un serveur de stockage de fichiers auto-hébergé avec une interface Web et des capacités pour éditer des fichiers et afficher des médias directement dans le navigateur. -**Version incluse :** 12.2.0~ynh9 +**Version incluse :** 12.2.0~ynh10