From 88afc80089a5eeb11521ade5dfd062713a49b732 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Mon, 10 Mar 2025 16:50:57 +0100
Subject: [PATCH 01/36] Nouveau fichier .shp pour le test de import_shapefile()

---
 R/import_shapefile.R                   |   2 +-
 inst/GARE.AVL                          | 169 +++++++++++++++++++++++++
 inst/GARE.DBF                          | Bin 0 -> 33113 bytes
 inst/GARE.LYR                          | Bin 0 -> 12288 bytes
 inst/GARE.PRJ                          |   1 +
 inst/GARE.SHP                          | Bin 0 -> 18244 bytes
 inst/GARE.SHX                          | Bin 0 -> 5284 bytes
 tests/testthat/test-import_shapefile.R |  16 ++-
 8 files changed, 183 insertions(+), 5 deletions(-)
 create mode 100644 inst/GARE.AVL
 create mode 100644 inst/GARE.DBF
 create mode 100644 inst/GARE.LYR
 create mode 100644 inst/GARE.PRJ
 create mode 100644 inst/GARE.SHP
 create mode 100644 inst/GARE.SHX

diff --git a/R/import_shapefile.R b/R/import_shapefile.R
index 9445ad0..512823a 100644
--- a/R/import_shapefile.R
+++ b/R/import_shapefile.R
@@ -17,7 +17,7 @@
 #' @examples
 #' \dontrun{
 #' # Importer le fichier shapefile dans un dataframe
-#' chef_lieu <- import_shapefile(system.file("CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shp", package = "collectr"),2154)
+#' gare <- import_shapefile(system.file("GARE.shp", package = "collectr"),2154)
 #' }
 import_shapefile <- function(filepath, crs) {
   # Vérifier si le fichier Shapefile existe
diff --git a/inst/GARE.AVL b/inst/GARE.AVL
new file mode 100644
index 0000000..927d97c
--- /dev/null
+++ b/inst/GARE.AVL
@@ -0,0 +1,169 @@
+/3.0
+(ODB.1
+	FirstRootClassName:	"Legend"
+	Roots:	2
+	Version:	30
+)
+
+(Legend.2
+	LegType:	0x01
+	ClassType:	0x03
+	Symbols:	3
+	Class:	22
+	StdDevs:	1.00000000000000
+	NullSym:	23
+	NullValues:	30
+	StatValues:	31
+	Precision:	-3
+)
+
+(SymList.3
+	Child:	4
+)
+
+(CMkSym.4
+	Color:	5
+	Symbols:	6
+	BgColor:	21
+	Size:	4.00000000000000
+)
+
+(TClr.5
+	Red:	0xa5a5
+	Green:	0xa5a5
+	Blue:	0xa5a5
+)
+
+(SymList.6
+	Child:	7
+	Child:	14
+)
+
+(BMkSym.7
+	Color:	8
+	BgColor:	9
+	Font:	10
+	Size:	4.00000000000000
+	Pattern:	37
+	Angle:	360.00000000000000
+)
+
+(TClr.8
+	Red:	0xa5a5
+	Green:	0xa5a5
+	Blue:	0xa5a5
+)
+
+(TClr.9
+	Name:	"Transparent"
+)
+
+(NFont.10
+	Family:	11
+	Name:	12
+	Style:	13
+	Weight:	1
+	Wideness:	1
+)
+
+(AVStr.11
+	S:	"ESRI Geometric Symbols"
+)
+
+(AVStr.12
+	S:	"ESRI Geometric Symbols"
+)
+
+(AVStr.13
+	S:	"Normal"
+)
+
+(BMkSym.14
+	Color:	15
+	ColorLock:	1
+	BgColor:	16
+	Font:	17
+	Size:	4.00000000000000
+	Pattern:	85
+	Angle:	360.00000000000000
+)
+
+(TClr.15
+)
+
+(TClr.16
+	Name:	"Transparent"
+)
+
+(NFont.17
+	Family:	18
+	Name:	19
+	Style:	20
+	Weight:	1
+	Wideness:	1
+)
+
+(AVStr.18
+	S:	"ESRI Geometric Symbols"
+)
+
+(AVStr.19
+	S:	"ESRI Geometric Symbols"
+)
+
+(AVStr.20
+	S:	"Normal"
+)
+
+(TClr.21
+	Name:	"Transparent"
+)
+
+(LClass.22
+	IsText:	1
+	Precision:	-3
+)
+
+(BMkSym.23
+	Color:	24
+	BgColor:	25
+	Font:	26
+	Size:	8.00000000000000
+	Pattern:	35
+	Angle:	360.00000000000000
+)
+
+(TClr.24
+	Name:	"Transparent"
+)
+
+(TClr.25
+	Name:	"Transparent"
+)
+
+(NFont.26
+	Family:	27
+	Name:	28
+	Style:	29
+	Weight:	1
+	Wideness:	1
+)
+
+(AVStr.27
+	S:	"ESRI Geometric Symbols"
+)
+
+(AVStr.28
+	S:	"ESRI Geometric Symbols"
+)
+
+(AVStr.29
+	S:	"Normal"
+)
+
+(NameDict.30
+)
+
+(NameDict.31
+)
+
diff --git a/inst/GARE.DBF b/inst/GARE.DBF
new file mode 100644
index 0000000000000000000000000000000000000000..f5265ff5d900cee723c36a5841ed914868a7a603
GIT binary patch
literal 33113
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

literal 0
HcmV?d00001

diff --git a/inst/GARE.LYR b/inst/GARE.LYR
new file mode 100644
index 0000000000000000000000000000000000000000..bbdc17691e16d7cf6aaea87d15f642ea556edfb2
GIT binary patch
literal 12288
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
Js-A&?0RXqpL-+sy

literal 0
HcmV?d00001

diff --git a/inst/GARE.PRJ b/inst/GARE.PRJ
new file mode 100644
index 0000000..56757fc
--- /dev/null
+++ b/inst/GARE.PRJ
@@ -0,0 +1 @@
+PROJCS["RGF93_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",44.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/inst/GARE.SHP b/inst/GARE.SHP
new file mode 100644
index 0000000000000000000000000000000000000000..33a5643274a0b285cfc06c5d1a452a9e4a33bcba
GIT binary patch
literal 18244
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

literal 0
HcmV?d00001

diff --git a/inst/GARE.SHX b/inst/GARE.SHX
new file mode 100644
index 0000000000000000000000000000000000000000..8306749da276180541df2cf2752165cbe35648df
GIT binary patch
literal 5284
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
F9{|(Ajk^E<

literal 0
HcmV?d00001

diff --git a/tests/testthat/test-import_shapefile.R b/tests/testthat/test-import_shapefile.R
index 3f01534..fdd8973 100644
--- a/tests/testthat/test-import_shapefile.R
+++ b/tests/testthat/test-import_shapefile.R
@@ -1,10 +1,18 @@
 test_that("import_shapefile works", {
 
-  chef_lieu <- import_shapefile(system.file("CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shp", package = "collectr"),2154)
-  expect_s3_class(chef_lieu, "sf")
-  expect_true("the_geom" %in% colnames(chef_lieu))
-  expect_equal(nrow(chef_lieu), 2573)
+  # Import du fichier Shapefile
+  gare <- import_shapefile(system.file("GARE.shp", package = "collectr"),2154)
 
+  # Vérification de la présence d'un objet sf
+  expect_s3_class(gare, "sf")
+
+  # Vérification que le champs the_geom a été créé
+  expect_true("the_geom" %in% colnames(gare))
+
+  # Vérification que le nombre d'enregistrements correspond
+  expect_equal(nrow(gare), 648)
+
+  # Vérification de l'affichage d'un message d'erreur en cas d'absence du fichier
   expect_error(
     object = import_shapefile(system.file("DEPARTEMENT.shp", package = "collectr"),2154),
     regexp = "Le fichier Shapefile n\'existe pas."
-- 
GitLab


From 247a91cd232373f1073426cc82cf04cf8cdfd232 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Mon, 10 Mar 2025 16:51:55 +0100
Subject: [PATCH 02/36] Modification du format de eval

---
 vignettes/database-utils.Rmd | 40 +++++++++---------------------------
 vignettes/utils.Rmd          | 36 ++++++++++++--------------------
 vignettes/write-data.Rmd     | 24 +++-------------------
 3 files changed, 26 insertions(+), 74 deletions(-)

diff --git a/vignettes/database-utils.Rmd b/vignettes/database-utils.Rmd
index 3cd9840..215c68e 100644
--- a/vignettes/database-utils.Rmd
+++ b/vignettes/database-utils.Rmd
@@ -25,9 +25,7 @@ ainsi que la gestion des exemples.
 
 ## Création d'un schéma dans une base de données PostgreSQL
 
-```{r  examples-create_schema}
-#| eval: no
-
+```{r  examples-create_schema, eval=FALSE}
 #' \dontrun{
 # Créer un schéma dans la base spécifiée
 create_schema(host = "localhost",
@@ -40,9 +38,7 @@ create_schema(host = "localhost",
 
 ## Création d'une table de test dans une base de données PostgreSQL
 
-```{r examples-create_dummy}
-#| eval: no
-
+```{r examples-create_dummy, eval=FALSE}
 #' \dontrun{
 # Création d'une table dummy dans le schéma public de la base collectr
 collectr::create_dummy(host = "localhost",
@@ -57,24 +53,18 @@ collectr::create_dummy(host = "localhost",
 
 ## Fermeture de toutes les connexions ouvertes à la base de données PostgreSQL
 
-```{r examples-close_all_connections}
-#| eval: no
-
+```{r examples-close_all_connections, eval=FALSE}
 #' \dontrun{
 # Fermer toutes les connexions ouvertes
 close_all_connections()
 #' }
 ```
 
-
-
 # Vérification de l'existence des objets en base
 
 ## Vérification de l'existence d'un schéma dans une base spécifique
 
-```{r examples-schema_exists}
-#| eval: no
-
+```{r examples-schema_exists, eval=FALSE}
 #' \dontrun{
 schema_exists(host = "localhost",
               database = "collectr", 
@@ -83,12 +73,9 @@ schema_exists(host = "localhost",
 #' }
 ```
 
-
 ## Vérification de l'existence d'une table dans un schéma spécifique
 
-```{r examples-table_exists}
-#| eval: no
-
+```{r examples-table_exists, eval=FALSE}
 #' \dontrun{
 table_exists(host = "localhost",
              database = "collectr", 
@@ -103,9 +90,7 @@ table_exists(host = "localhost",
 
 ## Vérification de la correspondance de structure entre un dataframe et une table cible
 
-```{r examples-check_structure_table}
-#| eval: no
-
+```{r examples-check_structure_table, eval=FALSE}
 #' \dontrun{
 # Création d'un dataframe à partir d'un fichier XLSX
 data_ars_2022 <- import_xlsx(
@@ -124,9 +109,7 @@ check_structure_table(database = "si_eau",
 
 ## Modification du type d'une colonne dans une table PostgreSQL.
 
-```{r examples-modify_column_type}
-#| eval: no
-
+```{r examples-modify_column_type, eval=FALSE}
 #' \dontrun{
 # Création d'une table dummy dans le schéma public de la base collectr
 create_dummy(host = "localhost",
@@ -145,12 +128,10 @@ modify_column_type(host = "localhost",
 #' }
 ```
 
-
 ## Renommage d'un champ dans une table PostgreSQL
 
-```{r example-rename_field}
-#| eval: no
-
+```{r example-rename_field, eval=FALSE}
+#' \dontrun{
 # Créer une table dummy dans le schéma public de la base collectr
 create_dummy(host = "localhost",
              database = "collectr", 
@@ -166,7 +147,6 @@ rename_field(host = "localhost",
              old_field = "unique_id", 
              new_field = "unique_id", 
              role = "runner")
+#' }
 ```
 
-
-
diff --git a/vignettes/utils.Rmd b/vignettes/utils.Rmd
index d4a8055..091ca2c 100644
--- a/vignettes/utils.Rmd
+++ b/vignettes/utils.Rmd
@@ -18,9 +18,6 @@ knitr::opts_chunk$set(
 library(collectr)
 ```
 
-
-
-
 Fonctions pour faciliter le chargement de fichiers ou la consolidations des
 données attributaires.
 
@@ -28,9 +25,7 @@ données attributaires.
 
 ## Formatage du chemin d'accès au fichier pour Windows
 
-```{r examples-format_filepath}
-#| eval: no
-
+```{r examples-format_filepath, eval=FALSE}
 # Chemin de fichier avec des barres obliques inverses
 input_filepath <- "C:\\Users\\VotreNom\\Documents\\mon_fichier.xlsx"
 
@@ -41,15 +36,11 @@ formatted_filepath <- format_filepath(input_filepath)
 print(formatted_filepath)
 ```
 
-
-
 # Chaînes de caractères
 
 ## Remplacement des caractères spéciaux dans une chaîne de caractères
 
-```{r examples-remove_special_chars}
-#| eval: no
-
+```{r examples-remove_special_chars, eval=FALSE}
 # Chaîne de caractères avec des caractères spéciaux et accentués
 input_string <- "G\u00e2teau \u00e0 la cr\u00e8me renvers\u00e9e"
 
@@ -61,15 +52,11 @@ cat("Cha\u00eene d\'entr\u00e9e :", input_string, "\n")
 cat("Cha\u00eene nettoy\u00e9e :", cleaned_string, "\n")
 ```
 
-
-
 # Dataframes
 
 ## Formatage des noms des colonnes
 
-```{r examples-format_colnames}
-#| eval: no
-
+```{r examples-format_colnames, eval=FALSE}
 # Exemple de colonnes au format camel case
 original_colnames <- c("nomClient", "Code Postal", "DateDerniereCommande")
 
@@ -82,9 +69,7 @@ print(formatted_colnames)
 
 ## Correction des noms de colonnes
 
-```{r example-fix_encoding_variable}
-#| eval: no
-
+```{r example-fix_encoding_variable, eval=FALSE}
 #' \dontrun{
 # Utilisation de la fonction fix_encoding_variable()
 nitrate_analyse_esu_2023 <- fix_encoding_variable(nitrate_analyse_esu_2023, 
@@ -95,16 +80,21 @@ head(nitrate_analyse_esu_2023$libelle_station)
 #' }
 ```
 
-
 ## Calcul du taux de complétion d'une variable
 
-```{r example-get_variable_completion_rate}
+```{r example-get_variable_completion_rate, eval=FALSE}
+#' \dontrun{
+# Création d'un dataframe pour l'exemple
 df <- data.frame(
   var1 = c(1, 2, NA, 4, 5),
   var2 = c(NA, NA, NA, 3, 4)
 )
-get_variable_completion_rate(df, "var1") # Retourne 80
-get_variable_completion_rate(df, "var2") # Retourne 40
+
+# Retourne 80
+get_variable_completion_rate(df, "var1")
+# Retourne 40
+get_variable_completion_rate(df, "var2")
+#' }
 ```
 
 
diff --git a/vignettes/write-data.Rmd b/vignettes/write-data.Rmd
index ee3b051..fc81166 100644
--- a/vignettes/write-data.Rmd
+++ b/vignettes/write-data.Rmd
@@ -18,23 +18,14 @@ knitr::opts_chunk$set(
 library(collectr)
 ```
 
-
-
-
 Fonctions pour manipuler les données d'un dataframe avant de les importer dans
 une base PostgreSQL.
 
-
-
-
-
 # Écriture en base
 
 ## Archivage d'une table dans une base PostgreSQL 
 
-```{r examples-archive_table}
-#| eval: no
-
+```{r examples-archive_table, eval=FALSE}
 #' \dontrun{
 # Création une table dummy dans le schéma public de la base collectr
 create_dummy(host = "localhost",
@@ -64,12 +55,9 @@ archive_table(host = "localhost",
 #' }
 ```
 
-
 ## Ajout des données d'un dataframe à une table existante
 
-```{r examples-insert_into_table}
-#| eval: no
-
+```{r examples-insert_into_table, eval=FALSE}
 #' \dontrun{
 # Création d'un dataframe à partir d'un fichier XLSX
 data_ars_2022 <- collectr::import_xlsx(
@@ -91,12 +79,9 @@ insert_into_table(database = "si_eau",
 #' }
 ```
 
-
 ## Import et fusion des données de tables PostgreSQL
 
-```{r examples-import_and_merge_tables}
-#| eval: no
-
+```{r examples-import_and_merge_tables, eval=FALSE}
 #' \dontrun{
 # Utilisation de la fonction import_and_merge_tables()
 import_and_merge_tables(database = "si_eau",
@@ -108,7 +93,6 @@ import_and_merge_tables(database = "si_eau",
 #' }
 ```
 
-
 ## Mise à jour d'une table PostgreSQL à partir d'un dataframe
 
 **@todo**
@@ -116,5 +100,3 @@ import_and_merge_tables(database = "si_eau",
 ## Mise à jour ou insertion dans une table PostgreSQL à partir d'un dataframe
 
 **@todo**
-
-
-- 
GitLab


From 8f0d6486e0726cca31f0eee8fe4dbe76ec3c152f Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Mon, 10 Mar 2025 16:52:07 +0100
Subject: [PATCH 03/36] Modification du format de eval + nouveau fichier .shp
 pour le test de import_shapefile()

---
 vignettes/import-data.Rmd | 33 ++++++++-------------------------
 1 file changed, 8 insertions(+), 25 deletions(-)

diff --git a/vignettes/import-data.Rmd b/vignettes/import-data.Rmd
index 436f9dc..f7d161b 100644
--- a/vignettes/import-data.Rmd
+++ b/vignettes/import-data.Rmd
@@ -18,18 +18,13 @@ knitr::opts_chunk$set(
 library(collectr)
 ```
 
-
-
-
 Fonctions pour charger des données au format fichier dans un dataframe.
 
 # Fichiers avec des géométries
 
 ## Téléchargement et extraction d'un fichier .ZIP à partir d'un flux WFS
 
-```{r example-download_and_extract_wfs}
-#| eval: no
-
+```{r example-download_and_extract_wfs, eval=FALSE}
 #' \dontrun{
 # Exemple d'URL de téléchargement d'un fichier Shapefile zippé
 url_wfs <- paste0(
@@ -49,9 +44,7 @@ shapefile_path <- download_and_extract_wfs(url_wfs, "shp")
 
 ## Import d'un fichier GPKG (Geopackage)
 
-```{r examples-import_geopackage}
-#| eval: no
-
+```{r examples-import_geopackage, eval=FALSE}
 #' \dontrun{
 # Utilisation de la fonction import_geopackage()
 aerodrome <- import_geopackage(system.file("aerodrome.gpkg", package = "collectr"))
@@ -60,12 +53,10 @@ aerodrome <- import_geopackage(system.file("aerodrome.gpkg", package = "collectr
 
 ## Import d'un fichier SHP (Shapefile)
 
-```{r examples-import_shp}
-#| eval: no
-
+```{r examples-import_shp, eval=FALSE}
 #' \dontrun{
 # Importer le fichier shapefile dans un dataframe
-chef_lieu <- import_shapefile(system.file("CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shp", package = "collectr"),2154)
+gare <- import_shapefile(system.file("GARE.shp", package = "collectr"),2154)
 #' }
 ```
 
@@ -73,9 +64,7 @@ chef_lieu <- import_shapefile(system.file("CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.
 
 ## Import de données au format XLSX
 
-```{r examples-import_xlsx}
-#| eval: no
-
+```{r examples-import_xlsx, eval=FALSE}
 # Utilisation de la fonction import_xlsx()
 data_ars_2022 <- import_xlsx(
   filepath = "C:\\TEMP\\Nitrates_2022.xlsx",
@@ -84,20 +73,14 @@ data_ars_2022 <- import_xlsx(
 
 ```
 
-
-
 ## Import de données au format XLS
 
-Todo
-
+**@todo**
 
 ## Import de données au format CSV
 
-Todo
-
+**@todo**
 
 ## Import de données au format JSON
 
-Todo
-
-
+**@todo**
-- 
GitLab


From ca1ca5f99a87021f82a24fe1804eedb2b06d4dc6 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Tue, 11 Mar 2025 13:52:16 +0100
Subject: [PATCH 04/36] Suppression du dataset

---
 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.cpg |   1 -
 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.dbf | Bin 447864 -> 0 bytes
 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.prj |   1 -
 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shp | Bin 72144 -> 0 bytes
 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shx | Bin 20684 -> 0 bytes
 5 files changed, 2 deletions(-)
 delete mode 100644 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.cpg
 delete mode 100644 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.dbf
 delete mode 100644 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.prj
 delete mode 100644 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shp
 delete mode 100644 inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shx

diff --git a/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.cpg b/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.cpg
deleted file mode 100644
index 3ad133c..0000000
--- a/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.cpg
+++ /dev/null
@@ -1 +0,0 @@
-UTF-8
\ No newline at end of file
diff --git a/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.dbf b/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.dbf
deleted file mode 100644
index 38b668cdb6d6d4e200bbc3feb7f4107f166c0174..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 447864
zcmZRsW@YB(VqjRvu#N#6@N|KTI)hjeAOZ>d`TN3nVEGCd4@!Hw#5+4e%mB-y>-Y2v
zc6Eg)0n4*O^}#4!h2YR2H%I3XPXjP8GBPkTG%&R^weU^MEXqt(NJ&-5NmOvo&&@5(
zOI2_zF3wNRJiHPt9#C|6WnyWC0(F72zprn+W4sI4IR-{X1_lPE1{S6k=H|xcrZ`+{
zW<c1rZuxm7iJ5t+y2bgW#k#&=UV3R}PELLv1s=faT1yj4b8|xrOB}8>wIuA?u*}rb
z3SHmC%;NmKVhY@csuiniEsPD#%}p%LF<onHU~Fb&VvN<bE{9j<9A24T3Qh~^j(N!?
z`DK|oIjN`?QpCgRS`#A+LlXl-LtL&kCG6T%h2X@@yb@ja)cm6K)MDKfb;r`Y#7c_X
zs-S??wdO{qh9;)wSW*HgY>f?!h;gl7er0M=v942oa$-8Q!WXM+O$`kVO-wLynSqg^
zxq+dH1&(x!k`huC0#YlBGIMeglXX)|bbY}r3PTn%Y|Twg%`J@0K#9``y-YALGBmR^
zF|;%@BqnT~6RYw|a}KYdULM2gS_>l+18ijiI3?gH!O+4Ml5U+Vi*!>;b%XNrl2eOl
zlWxsS3_$7D04<k+!q&{l(!v~j?SR#_UZpvisd>67sk+WZsksHkl%-(IbZca8W^Q3_
zWMX2BUM3hA8Je1ynpzT5f~6`rr{<*;fl6J9Q!By%OxGHiSeluFQi7!sX4smVn1U)_
zV$v-nCHN$k7NzEu=%%C=>pC4?R6<!@fz`FfW~QL9#hS~E%ndEgh<B}HZem^vI3eWc
zP+Hnz<}w2Va7r*VGBGwY!3bL;6B8qIT&)_kbQ_kKlUkaYgNQ~durR~c*uc!#)X)eN
z<!G)oGBPkWFg7<dG9e~xofC`l@+l8a6hC6R*2vt<($vtxzz|FAU}9!yW@%=Oy;Xx2
zwmyjp?xlxU7Uh@bq)=88ARLV8S_2bHa|0tIb7KRHbZcN{Zed_)VN6ub>z-ItlwV9?
zk%e$5n1$(DBXctg3v&|#Lj&|Sn1PY8siA>^rI|S~DFIR@c;%O7f{R;F-Ai%0z~)+W
z0~2#|OCvMP^47%6(A3DnlBhPAZ+>Y}R(>fsOsGX*bFCSu4Q6U+Y=)W33`~qHO$>=j
z3C@W*Wtn-YCDd{$$Q&H5H8C_bFhWlWMn(pP7Dgt9#HCx`{Ji4)9BQ^{aFn-}mS$#_
zhQ{c*4AhG>Ft;!@Bq}91C+1}qQ=C#kA&S75VQXM&U}j`sYG7cA#kGd!2A0MKMD%n@
z6?{{R^D=XE0}@M$sODy@t~D{VFf=hSGDb_c1_qV}2Igj_W<-^@zKKPtd3mW+O$wN<
z1=YMJhKA-whFE$!W(G#)CKg1c1V{<yl%JQETB4hpr|X=Nm|IYsSXzXLSdv+ot~D?<
zFgG(ZFf}yBY=apYnHZW{ni5ssg6gvTypq(S%v4>c{L-BK(!A8n3X&a&q5;#jpmu@@
zDC=8Vpr-^QBU57|OJf6~!qzz>H7~I=1;sW>Ihd|BFtIeUG&V9ZG{oXs0}D$NBLkws
z);Te+ggSjkgdZ_o3kq9P10xdyj2^myk&%&wfu)Hl5p6Ja*UGZYqC~3J4cN+CuxmkK
zYmV73GchqVHnA|lJ`RS~1_S4^R9)XhP{IZE%Q7<4^AeL00YwH2Gi(h^EDg*Ij7&^S
zu+(K{1}5evhD4QM!Qep}GMt1*3l`U!8km7xYifcKwuXiV1}0|421L0ws5I&D%H;gg
zq7u;XhfiWIl!wPL1f{UL*4W70z{1!Zy$uGgc`eLMEr?19-iejPsYS&}sYU4oT|uk@
ztgbaPGcmI;G{Y!w4Gk?ogHGl|)V!$*L7BxR`8kQSuglCVEeuQzjWAP!fuVu1p#gE@
z32uqRh8XecFvAv9^BNi%8X97Zet>$Bpa!D_api4BY8my~GY}tPy4Jwdz{JAb)WFaf
zqla!_WNc()Voc0<g1T#QVQFSkW-28E_Yfx{kyu=7VqpQQU=2($(yft!k(s5Xr6CdN
zR^7i8JTR`Clc?(i8VL)@FD=Rg4VxobPBIglYb}k8%?(XVFvb`S3=Pao%uUUR8xal4
zFD)*nur@&V4yJ33%*_oAEiKFqjWF5?28N(!jfnvfHE*hdTWV%8Xo^I)xU@*uv-t3e
zBFaY<FkNeGXklq?Zf<O7h>;QuEG>;KjLpo6DsRCxuP$svRNb+tAd#ZkCr~(Jx)zkj
zj7&_hmA3|l#+C+V78XR+Wf0f8rxxWVLPiuq5_57=%Tn`FQbCE?ClSO5ODxUJ&m+3+
zgT=L`pphCw6H^QHGQr5mz{uRf+z?02i!>Jr@0EpQ9A24}Seiq$dq5$G8)J2?fr+uH
zfw2*KN`Sf6kf@XpkXV$No=3F~B-jgBTx()sYHn$2U~GxrPB1XAFts$Wuq3YLg`@=d
zXmhEqZ+=M$g)<LWU2AD>3F<&#Z82IJS(+0ur=#vzl%ASblAouWlUl4BmY9=scqQfi
zUo5UQH83%@G`BP`#O$G)7+aben-Ehwz~&-@Gjk8Gq_`{qCj$j+eFspPU~Xz=Xkv;!
z`T-hGFfli?G$LY7r&Ph^@XF%UA}VDssB^J|t%-%Xk+GqP5k@WpbtnuBObm>$mtaU`
zLaKsGW==lT3Mx|ATx)4*WN2Y&h}m~AurxHVG_fGA&l^;lLxp(}RIg%nEhHhBppVrU
zKwV2*-@z%hC@&LK-xllUq*7@(44Z2$EDX#HO$^Mir(4iuFY#mJ&KZeCpi&_vRW~5D
zD4D|I7n^HA#et!TDaH&Gs5NeEX=G%Iy>>uKw~+FSs+}BglEC6xQv-0{*1!;>r(<Mb
zX=G+>WP-g7hUD5*1*aTPMFtwJ^DoJuyzvEgE7lUs)WFcp*uv5PV?4pYz`(-H!q|kE
zQ9Jd+oh3!7RZv@~MPY`mk-3?fnWcfDp(%Q+#sC_&I9fGmV>RFr(6U4dS1F<T6VtVz
z+QGow!qUJTqcskiP6c%;u%}xz*ZL+FC1)gN7VA2tmQbrQ!{%B`V+#`tOCuAEnim?j
z#EmTZfo6HBT;gJPtr5tzm@}u~+-GKNMAQsaSY}QRXc>@mY7ym&m7oa%t80xwBTHCT
z0T~z?8=9LDm&^P!^U|r?NWjsmu`~eBK$)P=?is*bi@lwImTuA7x9ZezK8~<8Ftfzc
zs)4xH)RZXK`jw{U<WSzEg{A=rh0V1VmWGyQmWC!6C76MUv5~Q*xgqx20WECZGmA*+
zAVQo&fW+onOJg%53kxFyEUvXMGq5x@B5tKhaz<iWT1I|paVmI7Au7L!;!!57t_6)Z
zo0}M8w!thwivdiDsU6fEi%RnI(&>>B%uOr|Kx1C$Gf)N=pw$$(S~X}X0ki@)H4l__
zL9GQR(CT6W@l046YuFlrhVqRuR|XnbTACYJnp+T+ZUa(5O+~^kAVmdM*BTla7#Nvi
ztiLsYxYojmsG2t{v9u!j@XDgYD@kz=ezjO#3mO0i4c?)r1Vhl+xPhfPaih)od6_vG
ziOHbFU^$79#n|b2lr<hPT?-x?H#IagzzkbM14~O&Q&S5f#uHK%JQ7Pwa`Q{mQz`5(
zAcr=lYYj{+O^iV$7{+P}1DI=xNVn=9iABZK8vuhk8LMjzP0TDTj4(&?A+9wuCTeUv
z4?I@}wT4O*R@a)D8d+Ev8>5dbL3%)-_4>s0B3<%}^75(NuEFYBV@oqrb3=>~QLt-G
zjm(HC6VwlP<|I;FccDiKrfWgD%)rdR!VudmiGiV^v5^5$C0Nkmm7sYNYIPgH4##w@
zfr*8gp`n418D@*o$iUFR!otj)sMff9W?5oUPGTlC`{~$RYiVX?Y+!7Nxe5s4T5}Vk
z%G<Ea63Q2fgF_TSV0Epbg_(h|F_yI-2F3=a7RJUzmAAo(IjMOi8Hv<ffs56(Mh50)
z=GfMan;4s#7@HasF(Rt&pH9VE0T#O0Tx(%rU}9=+ikT8XN!q~DjJQ^fQ)W?iYF>F_
z4iy&yVRfygiMg4%fr%k{I|0(FF*hfwrvvNrrsnAe6eU)IM;l>bL@tfhwdUrA21XVb
zyNcj#Fe2)*R0a1OsxP&}wyVg*(!|irz{uDH*H{g4C75qwPG)j`5rwTT)L6h4ww8uQ
z#-Onp^ppTv(Q0mHY(dOCueu{>Em&R&xJwq2kx$v4J(!!ZxYpFb%p5evXn;AgWDK4y
z!!dq~*3$_{Eh<VarEn=A%$ZOci)&3R%`FTqER8HN`n*QQ28PB428Kk{4$c{=^r?9*
z4NWX84Y7u;k%5r~ajV>&GY+rHOVxEO%FCzaJg<qRsfC4wC6>N}k%5J|fq^M;C74fQ
zN-6C}n?d8ZW=0m4MwoMv5Z9Uz7q+1CHWM_+2wF`+rF@1p-I{{737D8;<}z^DnwS&0
zqBSu$DYZ16nww6sy4Kjl5;QiBK1%{#Yi9|{X2kRzLNZb_bHD{ySYjTPN?k0jH8n5=
z&61d4)@4Qp7N*9AMDEiGODswS4LH-heQRQ73R)G6F%D(~YKvPKn-Q53GO6AS!xFZj
zr3q%B5)8c;2~G*7phg4{DWO=wF{voEgqk6XW4_G9%*5EjzyQ7GH821zy#j6R#_C#>
z**(a}xL0X0r0(^}&!oZvD{QSAQ&4SX0-7MjXfc{v7+IPa6IquPB^HA-Sx{<aadCcW
z6=j1;;JOzxC4gu5EI^%G^fJM~z{t$N(9Dv!8Gq;eqTIxy#JuE;RPc}}HO82*yVl&y
zz|atLHHCqZnVE^DC63h;XssI1I2gF4kgDsGpIbncT_reN3!0g>z?|_nHZ(P{Ffb&d
zUzVy6Tv`I!&I^t~Y7y97YXRCUZHUnZGcYhUHZ(D{B(l#7I*|anGSDY6sR*<Rlftx%
z)wSjZ1_tIvrWo^Opt(p>BMVcaT<eryT9QcRp*tL|H8!xovOB}T95jt?O6=afV$fca
zeDJPF=fvU?Dipq$t_AHmH8VFh#<GhOv{1|xv`-Fed5e<E)ICy5)2TWJ21@%_T?-lo
zGc>}sL)Oy5*vtaQidHPOgKuI{NoF3n)b%e)Ev0z7EEd;-)_z!6SQ?w6*Sw&*%n)3J
z5f0l_h2Z?sWYGK*HS1nX*Mjy+8=0C|Vi|2VFfua&?K>lC^aFH84QMAxW-2B7-$3z?
zz?iNDuWhz8H8wQGXoDG;8kriInpzSy`VkD?&P(e)FR11Pt+_P8?CBVo8yH%e8=DYS
zI|OCsrKjek<QJtO!iG{7_OP`yFf%tXKwm9vU|?=(W@un$N>uw6loArt^D4o4%)KbT
zm<s&|OxGHjn;RIKn;RNqnM1cQHa9adB(5$COU=nCrAj*y5hGY#YiM9<VQOTFk#3C)
zj4h1~P0Waz@psRsaz%!9r3xsQS(uv|8DW`~Ha0dhH8UmY1elB>&|atl>a4fJ7Pe-V
z<_2b#hFIEQmKH{!O<P3G>9~M;kyX^3lg8H50i|053s9RIV?4poz}(W<!jza@oT&<+
zTvl9KRF+Eob_PTO#lgZ1TTn_cvoJL<#<DWd*u>nN$X=v^b5UwB?RU+C!q&*l+{_Sj
z2Z0gz+z(UY%G;2l)Z*lf)VxyADL|m(tZ;-EDZ-dx3pz=|z|_bLOV~p8ml+Z>b6Tnp
zke^qQL65U3ER0NzEHQV@8$euZY(P{A=98bCn^=^YsOywkR79m+aoEGw$im3d&<LZv
zH8e0a2A^L-xDBT6SX4#f#t|$@1iNd^O^q!K3^95-1_tIPX2zywM70wj;~xQudC5hI
z)H(<TyKBu1jV(+t)_xcnnVVP|fo6LMhi$3?v~vR*OK{0AqRw(`OxJ==(y%lH^>om~
z7CH`QOib9SJC-J8rh;}!yA~Iu78g@zUoTeInpm0}8yjHEN`rQ685x=w5w|ZgAhD>7
z%1iCAkAs<87#SEES)hll0d$2GadlZhQDO?Xrvpk0VbqyQ#|T>^Lkn{=Q_!wRjI$}g
zDZ$dx634k8D80y_!z*+1^FUKj6b^WxlnfZI1)U>mX#m<akI~bCyB2$Si{e_R#G;~1
zs;^qY;abq>hbiV5qlK}BiK!)V^SnN#nI%+R7KpWd3#xfd42(?;%`n<v1|Zj(Sy&RW
zdM#DKB|o<y6Eu4YI^obcBQ-aZ@+C}|VGDMx8Tf21^wDNR(2;DWhQzEEE>#FfEy*m=
z^-V2Grrz2>?5?#iF}5_pGR6q1kS$Csh+4DcR+L(tm#Pao?NT==H8YnQqac{B1&xDQ
z7=c0%$Gn3Hach<!HE&2pX%Q8Y0JLPlbS)?)n46gx8DX|>4b04qEX<4yh-)Wg=A}?&
zc?#5}APT!{Ei6n7jIoR-SXfwq_Mu}h!BEB+Qx)9uOVh!w1rI1VWgcEpM)9-`cGp@O
zniv{jo^@$pW@%w+XhO`1Td4}p`FSNpRIYllyVk<e1a$Z{TA5&EWMpgz+P6Ve3FZV^
z6-dpB3`=<na*vU@iJ^goff>dsAjtU%#+F2_{qO;8AV{O``H|>hYh(;wacOF9Y>2UD
z$p|zeVq#%N%<kh<1)s#s^gQYgCtz=bfp!xb8yca{>A+n}^!RP@;oU{lC}%<C0SKdq
zE%<bFV@uFf6UKRrFxMIrHCE#U*(ndQglZV8Yt0M|O^po<(MR&(t|e*)3Q{|Gr6xk=
z9bAjbD9>_OU2AG)Vrp!JaY_l?wM5mtVArPV2A5V*ZRrR0bZZW3j~ij^@rS#XsL^K7
zx&EMTLqH<+4#CA5wkAfP-UG%MBiyw_)n%Y13Dll2!{S;K3sW=DED81<1mGh!i0PpR
zCl(bYR#EqO9Zc7PS~V7?CZMCb(dshr4gwQ1BQv7vGVmB<Y93XO1H$TBO9LYlGXo2Z
zzJrmGg|UH|32{3Jz`0D<H<6m%9UQI&g)Qb@X#>#7t;U8pW=_%DV2MTPrSxdkSQ?m^
zm>FQ1C4q!3QD*@aD+HD%mK3Gx2IZHQfUZm^)%BrxBMgqPwJ<R=!aSK1a?X;eIZ^30
zC^L!bOR=%L7If;Op%MC6jggVLnTd(1p#@QW2dDhvWL>AjEAtYIQb5Dw#graQfu+R=
zZYP+Tf%kS}tgA7y1n=g>v3Cz;^uxV0wUQcZs!*F4m|<&RVqt1wXku=NW&9R=;+83K
zCl>`}rk0lE7lDq**9}U{OQA+hf$3V%j6dj*1VfB-n?XAWj4g~!ag2kZl?lPAMP-mP
zRZzo+5*}99T9}%ffR>J<*ACEJM%;)fq`U>4>QB8EE>_oC8k(6{7#d^L4hEKH#ummz
z-a!zMlV6%%nwpnbOuY?!SY2ywW?^K6ZB7U5S_2~IbQ1H@sp(Qs3c}%9OCuvg1B@|7
zXw6H^I2h~<E0@I5JnG$~g4MN_2F9Sq3ua0%G&D3bH6Ui*0p?n8-ytPc*C!Ktj1ee^
z$i~=RYh-9*X@q$mqXF2phNO&xf$n@s%>x}XT||YWT5-76#Kh9b9KFvAzk`6N*0^te
zX$fQp0qB-3=ZwU>lGI$#PI|IK7T1iwxrMo<p#|pX2k5FW6LSlqTnj#3hsr|=m|+V#
zZ`{xrbR059%?l}SO)QOx={ta2n*=`BPS-i(@S>8`M9ObZz;rFRE;BH(FfhglTSH?5
zV^h!>3WQw?KatS`bbMqU1+kB;71OoGMutX4CZ-0)80*16`^!u$P0fjF-$HK$3r@@}
zhAb0x%Fj#7FD|BNtO?V#pp;-@X=-4Kx%=4A$kN2z*p#@DeE0m)qBPJgHPl-eh;2N<
z#M02z$kYJKt|FLgiE7_M+6h7Vxdj=C)LIsXC2UPBjY0Q2n3|yHGDu1QZA>PdZb5VC
zpevQAyK^3kYfTM6i@re3L-aNnB$rv>XpN({7{NE$IUnAVn+lpS11(`f&M;)LvAEX6
z(%jJ8)WF0Py-WbloSGY361OkXIlq*uqoE-0VR5agftjVTiJ5^p`WPc<QzWPaBj&^{
zb;rDP$d!h=iKV&$If+!6hQi`n(CP#u(DoOMHkhH2G3XdfQ{u-Mbpt??{#2VW!{S;{
zQEOsqV2b734@m7`M#R`Symko6r{Wk0rfWg9gBhrHz&OhtmTpama4o1zC@x9O$x8$s
ze4AHNln83#fYKf%7}K?&)6oqKP0S3i%%OwVjhmQ}kP?DRa|$w(DIXPw_z}~!pmqW%
z9T;I*#|R!-GBqcz4VIsqN!{^KY%N9u6AKGawQGQJV}b#sr$h99-sHqw-4u2I(xPN)
z-3Emjw%}V-OiauSG0#tcx|X=p9()pW6H7A7GO3jcKxqN1Yt2Cisu*HfsRB;7#>CA<
zg4(yaG#?QKtxqtuG&MHBbS<>zC8fL#PAn};EiKaZ0iBATLunO(8MdHYW@Kh+V2a(f
zpj~}L^&P?zOH+z6bHR64fnt#w7`tmhZ2>dPorZ=6=H>=w=ESU70^cSK*=R@&XF|=u
z;aU?@(1tjSHkgs6sj;agarc*j=Fm%1^YRa`hFV1h3cG79Ow0_8FmCz)?KuVQDl#Uj
zymbLxEPc4MERl-ayD?o0TIFtGU}}tI?FVFchAEL}v}R^eW5^aIMlf9qsvRs%OhLCT
zqNfDVNS=X(32}Q)eN(Gasd;J<$k~{#1(gXF=Ad(9(dQiuK+BpzlY2z96Pz<ri<0t7
zi_&%dlS`<S-!NSZy73k?F@|N`xRH^$xv43UJ7k?wD~k@VNJ-W8D$S)`&1-CIW@2e<
zW{NG{8X1~d7?==u?niKHMQSDZ1_GyiY8?`W8MdI5U}|D&Vrqbq62Pl2&52xB6O><?
zS5lRlmyw#83rcg;z}Q`DX<}w>g0T`Cd``BBr2%pGmpLVtrho_SsJIFjyK7C&O-&7q
zG5TeYU7V)GoPVqC2)m8KFCR32>XMjCg~k|m*P0la8XI7y1S11;Q!@i|V$Ql$4^2uf
zN=(k6M*Jhpz;vyFiKU^rv6;DvC3?CAjn$YMnwS$e0~L^8nwgUW%4eW6L^G+f%pHqs
zK?8QiW|r7?$U@G<ChD|a|I(s-DxV33t)~Mj6D&dJHe<FJ4Gb*|%s`<|cpOaKu?#d-
zhKNL}urR|G>{`&?Jwx<SI|Hz5%?%8Qs>_@};~rGrLV(S+<^~4FpmY5(_dtP1KP-sr
zp*trQ6_%zZl~Qje5?e|DwZY5{OhE_pqPJ>b^A1F<rhts!23O`5WaQIyf0?DB5olH#
zV+IN|U1nlvW<<n_R&|fcRH|<!!9F%_3aWQ8*V=(5_biPpEsTg-YX@qB6;Wd%2PuDI
zPq&5^=0*k<7;Ey449qOd49!i6>P0$(Zn@1(0!{EC*+&@@)3x9>n3=f|=GklDQ9DrJ
z5|I*86#`O=N~kkxi|`?)YeA!SrluAKW=7~?3tGo$VhGyGNw~aCRR}q}vLrP<Bb90m
zFkGvEOf8K}L5JI+mkFQ~U`$Lbi935OD7A{}TedL67F0W!nVOoLVy?9Vxfax6BPy3U
zCFUe%mZcVhb{jgCmQdwDKCG@aH!v}<FfhS5?E#$2Kx-F>NeN+zRgkmSbPI|OuPD|H
zP6RDnp=^x}rfUsACmb4^7-N=Tpj-ypY-oYKOh8%>2D*VDGrcr5B{P-ssc1wd!&cs!
z8i1}=GBUt8*ACQTG&iucz;Ra*+I*RBKJ|~+!4kHh0XuWh`UEVk8qn>QM4c_1ssLKC
zmYPRd%p(OWn2G6H@E(6lbI@c7dYJ&(OJYXM8Lgn*845x9$r-67B~<9*fZd9%RReOZ
zu@T6%7-4H<Yyi59lbD_kXjf5b30>COSz3Trs$ib81a&Quvn1e^G|Blz1=LFo*i(Xu
zg*oVoQ1p}l8XGe(BJzF*NQ=?;@XD0LB5EBpjp<rYf;F`;w=}ZAEN_iXK#MMkTjlPQ
zn4U+6(|SP-aZ__k1B}(ekQG+O#>C8=rYbmr`@Dx&>iXmtrBbIV!&2UY!xnVAC6+t3
zK>KD*42W}WNM=qBl@HRu;#yFdU}|b^X^ds8#=_Xh*xZ=7^B6(PCyGF~g6TTt=jBm4
zn*%ArFw-sQ`V>P$3o}DA^wAFkBO?<_b0ZVtW}ti%bE%a8AWp^FVg!Y)g_(tcDP{=<
zYT6o^7!Y|PK~8>Y-r<$`rA4|S)VhHWGi*VJ;aeIRSsG!UGHn1}e``qGED87oZ)$eW
zv4$;Zp4ZgS$jHzPW2FkjwFbnk5%p0AEwjrkNlXVF%~_OAjrtc`*jic`S{NA_SYVEb
zT9_M}84!5~fnR=QBDHU3#pYTIOG`^rGi<Zc;FMrM+)d3si3)C@b9F%brQz9xLIzgX
zni-lK85v-#urh$A1T*ZdakTa=q~>+cFFm|6k6M@CVt1`6=pH+ao0UL)2Lp2pB2St2
zNlZ#CF3C(u)%7hcN~BJ9!{S;~0~13-6VL%W=&c$^*cuWuD-ByW?hc+e1uwQsrF<_k
z7T20s8XAFi5MbFg56)#ot^x`y&7|_(me^Y31}2sUMn<M)h8E~07`R^sy5E6_HKOW{
zMM;_IdGzQ-g3iA+G{7?23=Uf};zpa@b3nVbk|`_&P_<)C3C6~Tre+2hw+R~<n41}z
z8CViC?~tnCb9iM2wI|WBx)wADW`ucH5qKQT$jpMcewlB6aUQMLgBcl_7#f?K85^1z
zVeTq2G&Hv~wJ;&>WKN$%1?P;!g4CRxR9(m9461Z@u!XIKnYo39sR8C4TadX(V`9d}
zVI^1q<bWN}9S{DL9}<S{T4>lBm>L^l-Y^as$+sY;4W{l7I}}PcCs7xC(he1xHR!H2
zFfcH&urx3-H8955hYlLaH#0Fbw<M+n^GF3v>Ck)z3Uo`LrGcq|5#|^pENqDy5p~H-
zFU`rJ(xMM&L53x4O%03;%s_`XWA4~80d;jOiJ3!BRd6awgiPw_dL*WoQXv`OYK@zL
zE+8<#yq5$Tw#1Etf!koIy3R%UnHAJ>FqW`2u{1R`G&L|W!)T2|Tx(9ujR~a+VMT{m
zmQcKx8=3^56n58|fOhC%+4*8<Xl4SMnI>jzJS0CakGiQAN2|shbVjQg=DtX9*cuRd
zDwJ=2QfhJ`G*GBSVGUa|BXd&&Y@;9M2Ihw52E?6V<&&rolwVo_9u%dLW3i0YfLe^8
z(RxD@^cJIm0ob*M#GVC&sCmIT4m3{!T8m48)3JrEg{7sriHQN0{SKfVTZZPu?ASu=
zcSy|4OQY6RjM!XjX>0+i%do7lGB7hSwJ;#=eg|lH!e{(-Q&NjTD{Lsav<ACtLAx_d
zF;De}ti(1ZZmpeDQEGBYekoP!UTm(lumJ5bHZaGScQ7;nU5;%`+zE$Xi8-JX!YD|k
zm|C&A7PME|($EZJY#b7{7R2q4MXXxWO;LBvp~_WTSY2yoVF+r2Vbo;?CZHRajEOrP
z9dybxWqUS>30u(VI-sd%V-w7kD&SQ>#>CC(gr(-Cr{+_4dJkLJTAEpcYF;cS&qKqO
zsMQpZG6C9mNJ-TV$Vn{*ou_~qV#JGJx)v0+CZM}l4J^>cYK)8wj153tUZPGj^GVFh
zIJ}bL4H+n2!R}hnN$yzcGEkXd3_ALdm{tuWY+-vzQc`u@at^Pgu$hbLTJX*n6BA2g
zLyXmH1{S842Bt>DjEJf`=0R59qJ#~l9IUPdol;_HfMwpn!qmdd$dI@lvQ9;b(93C{
z`!pyHSsX1!GeaZL5@yVvjydQO0z=~VJ3vwb^hO;}t?QIpoS016rYLM-YheaDUdIgc
zEO!G#W6<<3aV3~jYGP>)?MLlQK(}%mnqV3I0Oc|xQ)6SIc5(Wq=1~3Ud2C^8X$m^+
z!4UJrEs$#sj7*5RR~ocF0d)L;Zi>2NUKX`xP_eq!$jsEl(hy@^je&usp@F4|1#zcG
zhGnJ}7w2bE_4*&It_7VjZDNkui-fwCnEM@46#|M<i*qQ;R2T&wR@WLE8W@_GVyp}_
z0F}3(-Q7ghya7d^RqhlWMM0cv%}tC=ER9Uj*D=CU0#V~&uEixqRKF1&YuJMK#~PVp
zmbaiAYAnr(TYnppUsRG>mYAa(Seja#N1fsUi)&3myNnG@%q%hc4u%E>CMHJ4*jHjB
zt+fNKuL7N4RtB1XqT(qESY2yqU}0)*jAhj&=w=cNBjQHw!V*i9GeDzDRJxM{l!&po
z7Id(VF=*2kMoIvcx5fs>#Le!7fVUKZ?4TaT>RJ;sOA||DjFXTdH`$pQ5O=2`=$wcA
zQpg@o@HVrs%yddG<izS)GjmfDOC!v)fDAyn%)*Sg({+3ji;L+o17%?jI%C=x^L9({
z4U8rRrbLY7!)8f*Gm|q?bHF1Xj(I7GnUsYt*041-vNSU^!L^^)gqX7_)DL$SWP(<&
z>E@*B2B)T%Qf1K+7T1DC@<Hb|W0qi$y3D|mg!Kua8$T*R(>kDQrYXJ*8;ff}Cl`To
z8OABo&|GF{M3igkv@#Ghhi+zKiS4c;3sVbA15;vhS*e11>EV?rsd<@HI2H_E1Y!+a
zBMVDV0Aq~bg34RaVn(8R=wXSaIf;2GRBbF^b*-_bk%^@-=9(ptYeD<ziJC71m0%Qh
z$l+lMW8iQtWOF3i=m%(k5p-t)ajhC(@MV!Xsk&}OsijmIv%}HnH83_ZG%?0l`(XeI
zTSHSbGosqJ&KZeipo9IX*&xRnwkBqvQ~0pE7BoVJy$y!4!b;t-v@Er#n94~3n`<r1
zEx=_0)>e(7sTncz4yg+6pmUH*QmJ>4JFb~ib4x=|nSe2VYh+*q+B0cFTzOjr+B^Vm
z;eu}_aRF`Gfn^smY3yMO>X%_T6C0FnO+Xu@h#9qWDxz+<f;@=LwU(x!LkSEpN1MT|
z8Z!%G`emsKVUT_U=wN^U(qvlQ912=ZVQLOqbcwOH*${N5im@3nqju`91*t_viPSnc
z0Ti&f(yfuHg_)rtmNTqOOh9LQ8xwUKg>Pa}abjL7Rfj*YrUY|i6C)EN%r&BryEx4(
zh$?U0Gm8_!tuN>N(iDpC{ec87R@WL^7#f)yVL8>`z`)4J*qpdi{e2QaJJG2-q=416
z=AZ?*SoZis!<M-At$R^oUUCL?cb#H&t&yRDk+~7Z`3VL_78V9(CPt>%&jLajPk@Xy
zdt~NN?Nm-sTEOC3Qv*;h$IKY>baYtQ5;cAcaWClF$UIPQ$GtR@@&$KTTx()!VgOoC
zfw@N12wWx*b&^J^f^TL{Mq)B({I)bHwFtB?4iq|+VXUq-GBh_bF*3)fc?~Qr%)p0i
z5L1^y!qzFVG>2OIwXnAsEzAu-hguq7%s@d>g1G?^t#Nfnstt%EMF+O9wXifb12tbT
zdOAiX#^6I$u;((=7NbXgX--mVGITR<PO2{G0(aez42l{L*j;O8X=ILVRvJ|Ef>z}d
zlM=vt{PWUNi^0Q6!HG#ZluuD(bFHPJsi~QvA?B<!Bqf*;*J5<e&r3PH65LqyETPg6
z6S`~7P0fu>%q>if%(3p+GP5u<vm|D<u)1S$ab|iRb*nP$E38aR&CJaVu#~q(VAm3N
z&XRk6X>vwlX#tg*2;jVi9=4$Mx0XgGCZNUG7$uky#I=S*wZYtrQmGxZ*u&NswEEr{
z%PvkM3quP7BG0-EOQqrvJ~(7?mA57)CT7N1#u!bF3@uFzi94?*q$sn1%8P}uhpmaZ
zxrw0>#(oFTt|D`DGjklbsGziJKodE|RL*1A!`2eCtj5R;bI+-ffw{Snkr8nvSV(?p
z5w#O8_FQIUXau?*4r62qvTL4{{bd1(MJd!f%L>!ApgpH%CZL_&81rS2KCdM)Ynws$
zoaU9J<|Sr=>j(d$JZcQvV7eBxuExUB%+L_ax^V+@BU58TV<Tc}UPv3vxv~Is$P(De
zF8QUPfQII8awu%BwE&&?V`PN6M%2K-(A?O7sQtX^hdYx?Q*)?1iH^;+mL?|V=Gbap
zLql_Ob5j%IcF2Nub|)6)P<5R<R@WL^nwpy%VXpl!GBGwYF*7BuhYlVQO{eZQD6FnE
zwKM^3A;8wYH8wLbHYaMn%sC@5Co_+_*V$opt%b2AXptyJnE+}rnwpssH_r>sWvRN3
zpo^dqi>Y%oHg?yVm>ZfJVmWWz7}Om$Ant4m@TgrHcu;{Fg%`L8!RlJj8B3NXnB!oO
zlj6*Xxml@HAt*JOdes8ht=MZ`P-$yofu-*NajhwFyW!jtOLajDSyL;i*TTgXwif25
zMkW>pnEP}LKzHd_nh|&Qnr~`R8C4FrgoZ1K!sc4g-V6gH6LX9nIwWk(h+D_#n^+7w
zCBG;cyqknNXVzeGt*L>Lv9XDTfhEQ)3B<Lg#PuEA^7Bd(DVyL21t$u|;#w0+3sca|
zN|<Z%4Gaw}EsRZx+g}E{xvV%b9dd0Mik;+hu(;OLz}U>h#K_PPW0kvsg^{I!nF%qo
z(y0ngnZ?DRBUQ+E8>UVyt~IeVHMBG}#I{%3!pO+X+|q=Iv6@r`-^8N4#60Safq~qP
z&9xSm<`!m_SkA;Y0K3+ZxS3O5P&=G@g%`-N*!yLMCWau_qOZv}FaV!_Ye`%?0bKLy
zx@4wgrWWZIgYJh5$}CGQqNobS5w_-LmWJ3?s+fV!&nIS#F;&5(D8G`LGt!{I#pYT|
z6LV8jBSS3f6F@5i%}or5nmP5!2hB@UcW?=tYb`8I3=AxcFz%X%r3B*60)nK3;QS&g
zZqUHyT1zu?12an_%sabb>6WOGCFhL9Vo-To35r50VQj9ourxL_voye583;P-(!|u1
zxL%}FesM8)MQdt_u2WHFVjdMvNyp+^P|XWE>(U%^e;Fv<nwk=~Cf_;Z@XCzCD`~$9
z$jBIU`YmQ%2D**H5VWb6m>#-MB6w{=UTSGss%~Ow1!#RuF@^00EMaS6VPS4&YGj1j
z27|cPh?sjxU?<O0w~vn1wdNKErbY&s;|WmL61RiEDKoW*!l1;+o7h}yX=r9)YGi<U
zHU-qRrbLa^_$21$mt>@ZR#P~EwsTUWY{2GP3v&ZQQzIkH79+&9CdNe74qzuzt^WuK
zW^AstG%+wXHNv(}2UI4Qn-h1cKPV?sBRnDQgpgQWYiw=_s>?7&KMYJQj4aIzh%3Qd
z@^f<&i%O`n?iS)!Tzy_cQv*Xo%vC_3lwf3LLd?3FRE2=VQqY;$sl~dErRh{UNC8XO
zf;L5h?$g06!3+${P0WmqEQy-&_eoT6I=rYPGga3mvn;ciDq)PpwI&vpCZLn5j4<1`
zCI*(4rpCm$wp1Y?KeLKThnT?<0@l{Jg@u6;=q5`n^JU;0YKZIe`X=U4?RG$zbFqc3
zrKy>zsfjV>O?IGmq_Ke|apMU-i3+~pgHNegis5jrnX#oY#;6_mG&2iJOXBW1g|u%2
z67xzDa}KYh&a^b9Ye9RZEzM2Lj4)3wGB7hYHny-dC2BpGZ)#;p2DPqKf+ht_*MjbW
zGBgBT{)5qCgu0fv^TC2sEA#TH+d;>g%RuA!<|amF78vtoCT50amZp}bpn57ZRUsu+
zAtzD6IX^eIG%r;FW$j05v4Ve24i$&Mz@dvZY)wrq%uS38Fve;?W8-F^^UR2Ft%7rY
z9_YCF%)F9RUFZCq{M;nUvl}+oT3CR#b{kk=xE6BWxG`~OQ-IdmWu{W`3Tzx}L@g`~
zP0fuBF=zY@4U7zp%!nErPgMxcFDOU_ty}X*q}shN*uxfd5UVj}Psb2cm6=))w?o!B
zKc^@kyhs!j$|;m50~}#%X<%exVPR;9StgiRm>F1_84=Y^2+qt)FUl;Y&H<v}JcgqU
z23iniZeoTpHV#e+mgdB@!GbbVQ_3?lsG4xGrUXk1b2AGg%pN-A%s>-MqDDlWGY&5*
zNlh%(b<fYE#=Xa&;Kg(;=%x>2b5mmjEIl1VLo;)8Q^IRM)IAbQN~nG-367LtYH4C>
zYJ_nr6lkT2p@E6H5%!TKl$9!wRsv)qGLvdsN-)FLz!Y>X0%#Es#+rNs3(y803*y#;
zIp>!a7pE3c@y2fKVQXn*X=w-=twFDOLGuov)2)bV)i@WG9$uN1Uz$Um$tO^<#okUZ
zF*5<V7QGh<N(lxgrY6L#s|m=-FHK6M?)em0Qi6%4v9XDfkrBrFTexe9DiZ=g`yHrz
z{4KVy1s!e(y6+Zqtj5^b!qm(d*X@=_xlG+LJwK01`})C207_sBTMIJ-Q_x|1nCB;e
zx;lpDX2i4@6~ODkQd9Da!7G4*Q!}ZsY6+`rEzH5|!O&d`NeSjA#GQof1X{gDrEvsk
z&|*&spaz(^p#k<>M(iw!ZzA}12be`vp|OOmse!4XF=(F-`m8iOY>C)um<l@Huq=`G
ztAI=m%s}@}7-H;|hP#%iGQlae2s}6r8WIi4FU_UKwYONq*22KZ$Q-ks0CTOOF)=+I
zr~J~K#475ZGmX`?rbgzVD>87U1Y%CoQ1>q`1}(LtN^*r8g59;ohDN3)7^gkJ!<MKL
z%qLO7D>XN<k}91BsC%)x7PQ3O#K;i6RReb|k?A(EG&eu51azW*z~Plend$iy-&us!
zwWcP9MkWRrV~lXu649zrcPy>Q&(n2DEiNvlUb6<PYfVf{K}{|6wRSMq8WA;1;#``P
zMcq7xwZ&*^U}j-xWP*7LAI!DH&76YU<EgriIc3zl>jP`pnwuDdmV=`AdEu@lDwhQ$
z7A5DGQunrb?5+isV8%FenF&!T!Ko;<gbu5KObtwpEse}E#}mL|YidB`uA%_YsZhFJ
z`4lZpftFk_3QO3USXvkv8=0G68*Mf-0J)Z^l;93J;SgN+!tA1)#^PF219M|@(4JHD
zQ9F3p5;0Z-S~s3gy`l^1QLL^tHMBG`H!{Rp^O~9)6EiEV?pO+1tVD$tIMktF3ae{P
zEKQ9p4KQx4f`qNP8FA;|`Xpvj_c&SXqjsS37M#y;gsqu5QEf2a!z&Z1wgDX+vbbso
zLnC7gBaEGf(6F^2E^K`>53fk4@`5m|DZ$*#!r0On<77^-Yt4-<i7Rh|GV}AmXIJ?o
z=A}@{)mU9?W@KpsI@1zutOo8{qDrvf{L&QaoV^E42Ds9#i6v;T24jU4%(cX=PXP6K
zK{rOGfx9}?xq=UC*qWFcnwS`1oE`~rt+^#J;|c2irOAb*R7wEwz{ToXQwviQL(KgS
z5Z785;~2k1oi9^xD#`@8Hz}2hqf1y_Yhq|*3L2KdmToO9%nY!P-=es-RKcf|Ix{2i
zfW?(=%?%CBjSS7P_H@iGj4g=Tr{j}Zl0ns@9&owV%*@o(zzAbE95f{mIq%?`SVZ;B
z(pXc1nW2TLfsrNF*0{Na32}3gE~Uw-bXc<lY7-iP?$g1Tl{PRnF)}qVvm~lD9-Nw&
znUh0@6J-rdEiBB8Ows4dU@3vPbQ_eKo0*eS2_6si$*-cyatiDz0d&O{=6Q^8*Ame~
zhn^lu<*n#gU29@yW@=!Hb+5F6xrK=(QLYV0ElQ?Kx-~I1F*Pv8+@}LNug1dC7{^T?
zNF({skky5r%b5e}N#v9kr|PDb==vO9S&&#nUc$f{w#F8wMkZM2dCe@0LESd2V~i-S
zbt}pTZ$5^kThK{n$fZ2FY%H!dv9vTXvM@6=z&es|VPQ_p=m%)^8fXj*bgu*G1S9IS
z7_hk3)WF=t(A>ZTW3@0emzf$8RhNOsYILDz7lDTEJix;thgVau1^}yT&CJX}d$zFl
zc`eLMiCMFx?wFI4npX}!e~sLD$JB?_wV>kG+yG-05G-tsh?;kBDy8<xYdHF4CPv1l
zpesGFwZTB=tq{?7C{^&uFD=S1t<ZHkyfPUy)klp(<FJISiKV5PnTe$#meb5Y7ugx%
zI*$>hOz=re%Fiq=1}_NHg(P9fRS%faOM(a%*MiO)H?sguKjR8pqH>u}qC!A^Zf<H3
z6$kUNy4K7TbQLzn+GcpVC2Ax;C_fi;?kNc&M_4IV*P2+Em>QTE<7kbW5;L-tst}x-
zUPRp%7>-<K20HZ=^8^@J*b;fdVSW*4-8kU@BS8h$ur)WZ1T7v%Z!v;qC@sy6%!z3y
z_#|c|R;EJp7bsECY~8q}rLh4hmtmciHn%V}CZYsORR~Kh$^)GfN4<MKaHIrdV*}7R
z`RJ}SFfy_<v9vV8vGWC`1akv5v#31QjMcR!mKMf_paBr{RqpU~OGKGast}S2s&=V6
zO@cMunt<-zGquFp2D3CGYODs<!gb6`DLTATH>4;vvno|LEI*T?#u!%Dnt?8OFvN9x
zyD4#FjLsQ}xdkPurQmyNic5=hof1JcFh$e8SY2ywXbHOH0ZY0y0hI|jZox)Lw;_p{
z#d%ac1sPP(VRfyck(q^oxe5BrsezHPp`od%5snjJP+SXX8aQWw*0kmqWPp|p7wfv`
z7g09;jK#H}Y;OcQr35`}VY$qNs1{>LMt*5xQ8HDlGc2w(H83#&o$8MfwlLQccbb`3
zDfp@n=y*aVRrb$gb*-t9k%^_D8G6_n7+9Jcn3x*lxZeRKCHN$Q7leV1#RerfDq$?H
zHL<j`Ffg<<!gQ^XiJ_U1p`jV}@)pUp>XC<6lof#zt1e{GFqI~!vAfp91RR8D?OS-*
zVsGCfxfWL1x*T3vl}g3^$2eSTYG{eOyd~}|An2)36x9ak2?&d8O%2QqKqt>z;A-Cz
zGw%Spvpci6I5Al_urxD|S|tNk*P2<Hn1HTCM@tFdGQrZwlDN4@7b@Rf1`21at_9Tq
zrUn?NJ%C+nPTaghsseaFZ+@PxdwvGhHo#zat$_vTauW2`INY^Fj5ez~<|bw4<m8t^
z3kB-jPJ-37CT1YlVxL0?g)LEanM;1@;gz7fX~2g9QDgNjj`ppY3FzKEj9F;|BNIb&
zOH)H)PVfeuYL|6*WfgU=V8j}>2F8{q7KR2mW=YJ5J5$9sv5Kl~1f03d#Ms=#($Es?
zs2wOJ5HmJjtPqr6oS9k#S%~eEPnCuO*043RFgLNpJW~ap%dppFD07ji3SNmtR1aLN
zt~ECU-SlCGzV^cad`gL#IgY&~C^c_*VoD}x%_S)QsE4t-)&O+whY7}6K=807V$D*j
z0_dL8wEUtH(1d?jB53A}qD~Ij%UE4&ZUm~!aLo8ym=SaCN2-Efeq~}F1>@jg=b;f;
zU2AM?X<})Fv7*%gbRvPFfd!8JWhg1ZsVK3O3J25>cCCq}g@uu+kpaejURX*X?q(%u
z&kS-#E1Iq3a<PUj=*|Q)%yU0rt|ewp2Xtd(QGQ`*DtIA~V^K0y*4<%st(lpbiJ2kB
zy?bESg0^!JQ{F1Lm!=jaXHa)G602*?EzB(}4KeP{0J|1+>k?7z1V~D7r|Q{7SY2xd
zI-LS@A3EH%M1?KHwa%$Uc~lt;1t)dvt~IhSF*7p7)lM)as=W10%t^{GrOr%0*r~Wy
zs+gFAPUghC5zN5C%)-Ld2*;`ZC?!}hXo7@3BchgO#->Iln76Wm%UdH89BY;^U0X!$
zx)*CoFfs*AqMM_Se!$W#F=I9Aj*zVxj-^RO)Z0gZ)wL!DrY05!*!M-6TbL2EGO$#^
zHy?DWFz9&0fXqBy-~6J?!z(B)bg{bD)Z7qs>M44^%m6e_V{T+>f&B(Xl$79>lUiB?
zS)AZVm8LB?qhWQefu)71si7r~k$iLF&dCRtV5z#Ud6~IXTb7U2wdSUvo({$h<Ir?#
zZbH<Y4%oH2K8dA8sgPwAAw`E*lu<TxgVnVrW=19!nD>&vT}wjk;FO=2ms$ck5*gI5
zOaxD>gCmtJ0;_AyOifHI42?0<t%0$np|OD__L>(Z-8vVg(q})fseyrknW+)x-Ei=*
zC891vtg8WqX<2F!RodlP!`2jZl!hVpeLChA=ER*`<eXoWn@QyrVOU*jZft3aWwkK0
z1T({Nf;UP^2+B;)qkiuJt7{F63_*uj;b_&E<Cr-`>7lDTQnzIb$&^@KYieL(YG{CQ
zF9|H&5_jG>c$Is8I#u_+V0En-*tO>9^JQ??VlNX=!ZuYQB(bytysV~J*SEBUI>Y%`
zU2AS(0UDb_A6Ww5&ueaGNw^JGst{0`SyBw{lldNAQAJsu07(TP5{qk1EG-N{Ek=yf
zb>Lx3R9zMTzUTwgW~AC+Gxk0Hrk0?S@(t1F&|zf)QS)V~xdoX;ki%J>sIdhd6tvh~
zYhY;r8qCMhzBR`&ev6iF1Bwz$OEU7QS~Oru3800-pw_qndM-0CFf%hVGsksT5lVRr
z+DdeICAGUcSY2ymY63d-6n%^lo^FY#dDRbh7GzSl3yG^2X>MTxI>8%PN+5238Th7;
z^wQ$YRPgPVKGf*%U=3SSQ&UqTQylxtEQma#72Lip)^$(KFV3Z531(_w3OXI#1oH$K
zP@mVx%+vsT`xYhLg4VdFR)UUR1D$@FO4C_sOVFvO78oU%p^>45p@9jGbu}oi^~tZG
zekQ|Kf`MlIElf>~4KVhSfWy|@%nW-jLvgKhMq*KJK4^^<rTtuRK?^0Yq+8JXTLV)g
zLoBs}fsq-g=EdGlKyj@LsE3oANZFMGP&Xndtgf{%2e}qw#};^O+}OYr$H|;Xu2pv}
zE(WLCVqMq7(h7ui6tb|p*1{5WA0S4$1*HUIL!#C!1r+6%rRF7PfX+^UOquznmQsAG
z85Y-?8W?~E7)=b(#}f>UOwA3=j7)HxaEKJPsS2QR+r&~(T?U%rqcBL}+OfFS#L^fv
z`eB4w^FqVcl8CVy-_+7Fsx}e8F2>?o(3VJJQzK&|^!6>J=C!miAYv|3-LWJi6V$-f
z%~7Y)rF+<GUK2}W&|UKe7^gx(T8!of#PlLTXZok-QM<^+5w@0~79)DA#=zJJw8qN9
z6nogBq+9Ts%bd)Tl2p(V1#p`I9G8?4SY2yqY+!C+XoT)sSV|z~lxff&Ezl*h)SdLl
z>RNLXGc!X&Qw-M{7?@dt4&EWSdM#A}9GbeGpkkM@;6%}l)wKqOW}s#mX3YyZ>(UbY
z?qk%HkYALSN$q5dwVePuh}G285aaw?cuK(DPC)DFfLn~Z&P9h;7G&n>dM4$AOJB;a
z!NnT3=9ZRb2BsMIp~GB@<77@0*Or2haV|}#e3l<MDPVQ2nSrU90j{}7OAF#=r9tZx
za;Uoq2wO@pHLx%=F|{zjnG%e!=Q5PA1+NUG&t7R`6LVA00sd$!13_ao78b^aI8G!$
z$z@@nTV8S!bzSmHsd!pG)|6miVg@>L3%yK$r(5hj9h9(Dcg#zMOzHUMQ}4()tgbaP
zH8eHHbvA{ig%S3;48^snp!u?r{7PN7oWwj(Q;aIv4XbNS%q>mLO)SvIZw)}3e9a9F
zaLh`hqy$L$1-g3=wB6J<u_!r%3e_4G*MfRFCKeVZMwsneBU4ioBXgo=r4O%!m9WS~
z5QS`PuC*{XG&M0b#=hs&($W&g&7mk^>qPCtU%>vv;#yM!O9LYV3j<U1o(?#dSz21+
z*w2gNT3^tfBG4o+6<3I2T_b90U}0%!V1aqR1KhR5^c@m2^OA~Ei>Z4jI`*(NGzQ(L
zV}@4Vf?R88U~Fn>OnBG4Z(>nyYB9y#MsWNi2<)ykF*G&8JSQLIS_4o@Fe2>QfTGM?
zYTx*RD<y!oY#C$U`2un+_BI$wy7kG-OQzQ77oo5<H#0CX#OU+F!j^EKSKTouDKo#A
zil+cUT#O?nm>ZbjID5^~($bP(N&wCBQhjq7_CBwvfrYt|feDtLj*)?xp@A{3HKHgf
zA*3ijvp5;FeUHYYcA)as)YQlX>smXoYq7TzP+SXY-6n&_8L2r2f;}aGE-y2{xT^?!
z`w!^)4D97CTC2u66?Eqwczc->hzUt~l#!UOH8uhrd1`KHfN>WmD3=);7#QI=TNov5
zA*~w7x<Js%k04OpM)A}GrfWfW5P;7S#aL?xb1jauDNtPNoL`iZN#;2(xWga2YeADF
zhGyvVWiZ#`xOWf5wV-|7`I*I_i3hiQD$P3JsvRuNjZDo9u-Ci>M#e;pjf2*wlonCv
zjx|JBV-H(nOCwVgj8QvC*n)1pBwX``WfoDr4~Z*mO-;;kj3*cxnB%&=9XTZwD}Y*x
zsd>~mngkKF*n8-fW|rolEksz`VCH7T^c{Rb>uS;xseF<s_LN|1Zf;<Vb*&vJY;ml*
zL=Ia8pVZ8f)S_Z4AFqSmwI-mca*P{lAnDf7fSA66b4FrmZYs48{=n{9Gtlum=GaE^
z4Glou3c|U}Co#P!u{0-<nymyJxy;hU*x1Mr<Gx6E*kWI)f|3&4K^GN)s$Qf#LOBy_
z*jktx8d(_P3R^=1BFbCmjKsW>!&`ExGUx&KCRW#4nj0H~t~142CKwvx*t>@kw!ZmA
zWr<X)!(h(E;aYQJOJj^XwxB7&5XTG@l55o+^GfoI3aA^fxLV^z1_s8K23S{E85$T`
zSQ62`^+{B4F3m}V1qzjDtYK?mX<`Bz|G=ISh*-Urs^FKJN8Ukuc>RUdwU!p3laMh^
z+=8YAOB^@UAf*J*oK8_HXyqDS%So2R?pjk5V@p%a-5CbvmS%>A2E^@}_f4eoKn?bE
zYhr0?YHDt1WPv`~Y+z&zS~_ZsWA7eXPY2R_fE;0_n{#+Yv92%09UjcEH8M9hFf%l_
z#C9J#$h9U0=Ge<ybl2wR7EopRHBx%P;aX#JOROVHM&=fl1~}F+qPsQ`d<`e)7~E9Q
zh%+@-Gh({dz{Jwj#KP3T6mu1jfu(^l=+HZ&=5#=3Q>5lmcPtF6YYh!84b2QNPU|&*
z+;eJ9T-btV(KFNY@~PNbz;rF>eqKWpBXdI&^jT>G19LM=3!E!e&{Bd^W?pfA9_XA?
z|Dr<B*)>!c20?Qz=(Z|LkgH4$4KR0hLrO4Q?F2N}Ldt|lsvb3s-L)15=7uJiDFJk}
zm63tD1@=)pG}nUa-i*WoP^qO0n(FhZq`a+*-L>YRW2Q0ICm0x*8Jn3Inc|owL36EB
zYEcz<A!9K0&PT`YS~F7vBLj@Rdj_DX6H_BoL+m5@Xs(5%1jk%z_9U^p*4)6r(#RBj
ztj565z}(Q%%$(R04)aRD=RzTs?vygoTx(=tU}SD)4%)AUW!JnRctN?jF%k2;so(*H
z<Q&jx?$kL?1>{pS*TTvKBSSMo6O6e?@M#aA;a#k~NVJp?Qd&i|J$oRRf-stEAz^D~
zX=rF>jByGdC?yz}n;9EpZ;hk57Lsm*Gjmg^x9k$#wV)MW#^z=whGxbXbCCuHpcDNq
z4b6!fZ4OARr1o$EmXReRb8|yOGYd0A%oZcmwK!I<p@l7IJq0NCsEN_T7L?1(At%pc
zX^mSLfewc;B&v3B&QAxmYN_d1EMaS4Vrgb<W^8JJt*2vZX<}rIV+IN>Y{6?15;KcI
zr<6ERX^k^x*cyQD*fKIOGBHK(I~W-mKwOJ`tOm`skX+`JnwNig9kp8JSX~P$y$p@9
z-DwDMEm7sIZ)#-`Xz@7Ztph}2!s=RcW6;bg#@Y{f*b-HO`KBh8=1_I#9*$8vQ*#3Y
zV?%6bs+fXKr6*>MDC`_Q-^9|Q%w+JgR=51p^wc7XR*z#1TMHu#b4w#^XRkqAOG3JZ
zyB5^x1#N;z&7<G~5FD;GFf%m4wok{@(%j6DxVp^k@JcF=-r`6JCWa<vCRp#-f`l#h
z^$93tLa9O!DB`JA7(g=`_OLayG&IF}rV2Q0i93<N{qTwusvI5)bt#C#;#w06Qwwu5
z&~0{@qjsj2rlw{lM3rDpMWs}pf5MRxK!>A)_M&5Rt)+>P5m9{ypF{=U{L+#{YTmDe
zC2T=;u9=y!5w?@(K`Frm$JjVZx`nJ`1T6?l1>MbB1d2z>F&5XFSXzSi^I|>A9h}Q>
z%%P*XHY^|19513~Rferq16nO?4n98;S4to%-8$#z<mV<qcS5<OmR9H<?o7|gET&}F
zA(pT;HLx%;HZ{W1(*YggYi?vl`25>c1<(qs43HB&5_57g!An}H5X@LzYiwa*VPJx-
z#b^fFV@6CbQr!`BwL?i2b*E0TxYooHv;xS&0PFe$17kxXN1H(_6p}L%se0!c7T1~@
zm>C-zni*l=0|jy|QR&t<F((n60w^yE;3i;ot+|DPp_vi(^|wZ#MbE_a(8EBNtx<W~
zJXY758k&I01gz_CjSWpqh-=@L7EyPo8T%}Wse!4fv7xCUw!VXzfw7?}aqR>@&=L8G
zMd_uf#k#(r`(G$tUxlOQH8%#i7TfAIh--;!-yU9Bc6en`Vlrsm6673jiieo6rUVmH
zOG6_gjD0!=h6bi4hM-ARV$y9;eje4Av|_pzGy`R6WMOE8vGWD$T61%v#uI|_OLGse
zOwXs@xDvLM0CKH`sfD4DF~+<DXw=Tk!q9@K`LdAIqM}q?=bXd>TAup>cCCelp%KO!
zQ3E4mb4$>qDp9V5j3@YHf~sGi#I)4BM9P<u<46hS7KTP<=p&*=M&_m_=EfE{)_$P1
z!63KTB_$?jzzcVZ8JMmGjVzg3npqfOsd+)yQ5YB+5H-6OP?VULPUZD>=&m&~HU!;^
z06wJzeV>kz5!AIr)x40D0107=0~Klj4%b?m8kv}4TVZ7YI(eR`@mrrn1-G31<kXxT
z@cBhh`zWK(U29-q06G)O$O1HAkJcJD04)^;Wi{-3PSMh>b4F@zCg^sW;?g4B;KZVm
z49b_;U~#R9r8(#dO9RaNA`L7|EiBC~h`U+I{qRc4ore|`SY2xXx|hVz1nUVfCgvu@
zjW+w`mlUPyx+La;4(!zpPRz^9$)L2UfW@_-GgT~%OpLLvSuz0KFiupN0BVgFWrEh_
zr=W!p`CP271+~Nt4KZd(;AH|)EyjRM&=sN7T@!}xT1W|IXkcn&jCGZ}frYuLIdNf|
zSe#l$%|kzMwQoTS?JSHiZVojtFgGwaG&dw}{1$X><k88cWz-xCLl0X60|OHaOCw_w
z69Yr^TxMWkX<=k!V1Q$7Gg=7-sU6%?i*ge)LD#OiCYR(>I^>AmwPxm^-O}hi9Rnj{
z10&FCS7K8_QeshJX^O7z;gz618Ws9In63rQN?U*~sKRXD8XH@fni&&y9;0)9X-<A#
zdMbG53uH{Zg!1AS)3pXB7G?$phUVDMrU32c#j$H1X=R|gXGunWQGQ9Wu76HO;^Fm4
zR9I63D)+Fu*3`_x%)|)WT%;+eK~Bu59cWE!Q6lxu?gqIPd*8v#!q@_IEh~Df27JGR
znT0WN?ORAL11-eO1Ld+*U7y6{#GG7+wPcc*VGHUzSb};w7=2#Qu^*P^rl!QL0tzlI
zqQlrYD3_TS8=4too(g4PW@%w;X<<lInc$w9mtUHhlS66S067}4g{_&nu{mh%2gYf=
z29}oQ29`vfiJhw8lvtIYoRJDS5-KdUIERvfTd0%KU2AS?3ThI9)+}MP#tjTi3=K_;
zjfojq0^L=VlS=DRJBVw|j10{TFwd|uurN0?GcYFdMzEs%%!<UkGU}}c!z>dZt~EC|
zH8a3+3Lj`4i>W1!eL7fcUa!&|&=H3zsk)#OW>Y}>4Jk+wXej}-X35;l+{nnt#01;<
zw?<}`mKH`t%teAuDWU%U3^dmof%|3VCI&_(24?8xEo7Cuff0_AG?41DR0Ws((wxN1
zD#|NcX#RpwSY2yrYy`SS1%0g@$h8LMpf#<8NA1-8K}U-pUQMNmGKgcb_Z`d)%}p&Z
z$Hol|3{A`ojm!;*nu`p|FD(Hr5QSPq6$(q(npheb8yK0IV!ML?GP_4ax&<A$M$Pq>
z5YJ+9Eoi>X(8$!p7(Lw@7#SH^7+4w*Gjpo$n4FxSL+!&qu(;O5(%2ld^d7UP19GjQ
zp}9FxqaVSER6ZIVd%w)Y(!j#d!qOO{1T!!&F*Pu@G&3Zs&+Ai4t$P<CsQ^S`4O>Id
z4i_UVr}`TiSr{4`8)HwmNF^BftV`+~jSq4p9Aj~<sez%nk%gt9DS9swbm$>y9Wilj
zFrUo4^dc&^6wq7?s>>`v=QEoc7?~TPjoQInYedw%gKuJ9aSm;32dHb!K{KbAqs_)f
zCZMn-ZtaKD;gwa?Y}<m81CFq@1g*Ko*fkGxEm8AjklWTkyE7b<^Qm;Z5)Rjz8yJ~l
zwi95kC93Zblv+ylgG#Ww*4*6G&;(~L!_lfiYcYaGmS|i%z|yUyxuJmxu3TnJ)JVQ_
zX-<9>D6vryV-H(169Yr6v(lh7OGXyh%UiUt1<gC87L^=csq0pBcolVKQPErrYTuez
zfYyD0j<rN9!3;n>NDB)SL!xpSWIVySlA3Kstgf{*HnuP`GDPq5g4(wxCMM>@+*$?d
z^X4RF()|1c(Ec)W17iyVj5}nFj4TZ;EX_=Cocn>A5{ea^@{3ZS9dw^m>ZD*SVGCL}
zZf0O<fN_3;fq{jorGc>pap&YiQi6MGeo=ZV=#b%JUH3$g^C`)6SX^sjX=q_!0-E$k
zOSj;a*p?<n#LekIT<e@slv!MoUyuR59NjB1D?cZd{4r-Nt~E8VFflPRG{(3^1++fF
z*v!I|n9+|^1((F4JQ~-$;C(vghK3fP1JcoZkx<tfn-Mk7>r`4?44yO94am<dNiCzs
zUCo$b3*Px+WMOWA?VeK$a{~ht;>K#gDIrxCx||U_M(&fJnU_x8bPGBa$_UhVz}T?`
zD#6SR49#$yy@pyQD1g?tr_!SYGq*4?GBGkmFK<CT9djcyLmcTAsqX+<eVdb+m!6SI
z+2}HQJYc2-15?l>l$nt!W-bFyNm!Z?o_9!9h$=0qO3h2jFG@qVkrF-@*Me@mH8nFg
z#ZumaCQv|!5?~#xK?+-S$FkJCjMPl(hAie7BWQNd($dh(%-p~bqf9U`H8Zg=Gcw2C
z=S6ZYY$r)TehxT$`KD5*wSXmTO$`hz4NWagF>;v!#I+`bZ?aSO0F5c-=B5_w`hf1w
zpd|K@^<sCenT4sPktO<$EvRcvaoh-o61F~|drpxpq6!<UYYk1!O)ZTv_w#~hNzBX)
zvA4!iTnoP4GBZ7oO4E8!zhZZ-Ip~;HGxT1hfq|)|fgx!8kx(v6Rq#uN9EJ`#L&GIA
zwSXEc6|lG#bmxnSxtR$T*Mj$<8xxbu+!Bk@^Qd`k1~_!FxE6HNhXH859DS`Fbl1GG
z1@`e<l#~#bUwU{oJx(qHo!bm*C1AA1L1Q?egTrvFSweEHx<_JBF4fQU$6DT+f`*z+
zjf{*j(ybwAFTJ^eIZ<seaH~c)II*-WwUj!gEe_X$mI_;9StAO)zYNEI2c)nC-G-hA
z%V&wDy3{yN1(a~HrduOZGtm8InB}dRxuv0jAu%`9_<~k{rI%9BPXM_N9b<7VXjhTB
zg}DKi+QGue(#X_+m@>g5wJ4WPr|=mX8=9FLVp|z#Y;FqLxk0$R4NA?Vk84dVElf<!
z%#AVbJ_haa2f5aah!QL~Iiox=iMqRVu;wxoOAAW_Gjq&QJGg7HkJX^$GLQTWYC9Fz
zEQuxP<}V}68^H`LjLl8WOo=(w-#4?QI5~q3t#MNWL(m|YktN1_8T77s9QR72gsoFf
zVqS6vm8TuB&77K8T9{dy8W~_&O<`$aWN2xI<9sj_*SZ&FQuok#aAAg}1T!@-G&3<Y
zF*d?jYiD3-VP;{D>%1Bi*E;8yQem$i*ojC47T20sS{NIfS{PtErNq+66tra$YYB$d
zLwC+etfKMQIB5LV6nvV7C6<-g&~^fGE3BM~KobwTpyN-Ai>b6K8%x-Na+!&_rGY8>
zNIrP=nu&=Sj&qh!Q$oh!mAR?ZxkDI{6tKJ2z|7R#&={l73tARvVrhco4p|h}`sAnQ
zRYE!rpwOk#VTV{<3u=m67-5|I0S;SJP+t;jx<zrVTYhOy6?HphIBN%U0|N^~%rmS&
zVQXed)XAJ-nK?;Ry0RUS5U`cErUr%<Cg$cQmKft;hK44lrl!U?ZdO7HTlK@8#Z*tU
zIK$T1!ra8r5X=5DOCtj#L&B|bb=Ts8#G<17JkT|EPKOtjQ0aUqEa}$7(gHNMXMlP8
zkD;NZ5onYjdrt>BY#obB@~OS}7Dw1xSehFffadqm<{b<mcgULJxW5e9wH}E@>5xVO
zcpS_*gE|E+wy?D@1>bIIj8XF%f!bzf7C6@ABe@ndYFCt;nVerr-31`nTx)3wx?{`4
z3}ZY2<XTG$BOLR*D6aKM%*&%-!6H&QfXu|=T2li917lNcJ7kRvj4UjSjd857LUC<S
zesMnJMljGheAK$a47+PVC-<9R)@7i3PC;keVPBts<XUzAqFk6`OOvR#Tm_43O)M?V
zK{qvHoLmGtJHgV>(1@5GI_SPg&@dSI;7I2T&?Gt)&eXu-T2n)CN-)LT&kGJ)Lla_J
z<6((8DXF0T164B`HrE;$n3#ZWvcpm)7=zB|!!ZMeloC=E-1AF|sD61nwwl+((h_tV
zI+mT?;IK6^F(6{J*(VWnJxyXB^>)I6$_6Z93re@<rbbxi%V4f0Vmtxb76<L%^i3?H
z)-hpNU29=sU}|Jwj?qqlxYm-G`+0pq+n;jCpDhQ4Bqql0T4N(qBV&y9w~#Wy*npV6
z1H4S2YUpBdt*L>L87P+-qpxFxxfVyi3?-KZ<saSxu6RMMFz3TtsIXlNd#lFOz`z`I
z4-}Tw!Uo2chQ@}(%;^LtmO>m03frLkbn2W#k0WdiOpQ!1XHG%s*2v75sGC0WON&6e
zx>JjF!xD3JQ`B9H^YU{ktst<v7BpFIWN3<|Rby;vWM+zEk3ULE@X9YLEKSX$@_+&s
z*Mdqg(AYR;4;>V?pz}+JD8WFR3v=_S-HpWVTF_ndh8TOL!MV)D#Ly7?T04}mbt=lw
z11DU}Vu%6}tgf}NGzOKoSjz+x6GJm1TnpOQomyN><vSj*xE6HRyea6ed5k_UC?%Mf
z7~)uyj}*4*jzxLUum$&Y919ZjsL{s7;#w0+OG|T8BLj?+IiV@R$beuk5_B6yPEKM`
zu`XoR40K*A=-7um3Q_?`D;C#+M`J+k8Z0Tn#N5yT*WNv(uuWBP$~n9;9n`=DSwc08
z-L;k`1||j=XI+BMAU8ELFvqdK4Ar%u8x2c}^3&45Ng+6~h#LFRvA7mAUj{l=9CH_^
zkpXCzoVf+To=&QQdr@X;F?ElB!Cv#4SXvlZn3)@5p0fmVEx|HD-8Ct-2;^4X@S~H9
zN~m^X4VJJqH88dS&F&du%#s*^XHQHmh{$D5pv`d9yHFaM^0B(s(8$!()W8B`4jtlJ
zGaUQNkkT!9$7y0F)$0c=t_3anvM>d$sX!lDg1Hv^IZH^cO;rFLz?hd`ngUvRTb7tt
zq6@m5vx?I3B`mHrH82Dn>2HXood8Y=W;o8KKyhtwY7w-}2#rLlP&iy`Y-(zPGbIo+
zvgDhemr|5U?Un)-*MjDGL4(Q|`yC9xDZvca8d21+El5nE_MKHYW~D7bod+yq<6zgC
z8<-N&Lr0`r&@CS{T>D{SX$iWa9rL^zNZ6ViTM#ja9-f~`_3{fx*jiYE<`*n5W}qNp
zYhpmKc1TrlDy>K@Dy8C8I^bN2CEc1D7#f4hTg*FOAg(pVanlD%x(&;OF0j%q&MyUB
z&RVPs?)g&IGsEgy&>{IC_hKz?iMlyd0n$=*f}D~MI@muv|L|&xPujuaTF`1?LsL@|
z%vG0=ur)I!qUQBU%uOsx&Pb)2Lvf`9P%bktH8sLAvSes(Y;Iy<f_+~kN=gVxEJ{DT
z5^Mz(39MlYnr<{RGQ(_*8yT6Hn_1wv=>y5N>i&=df!a$Hu({UM!o=JHbeT9tx-~K}
zH!-m!a`Yo7HHE4NU1D$Ff?ABm#)gKND^;N9Hsd&P3n^^Dqs^7NIqDvVw-jWSQ0<ya
zY+-9@X>4d=V2n8z32`m16A4gU8&sN`m|2`h<$au3Tx)7zXk=_*U}k~YLpL(9G&eFQ
zW(LYHF}I*tH?dR~G_XLme1_e%hQ<~KrWTm<4iMK8Gp7S`WNsp8ER32X&RAV*1nQb$
z?&mdtrUYVEuLb9q7UWQU>J+<c%?vF-hXdj&6A0E0>W)R}r6sy9sl~;ml-0GUi3qD}
z4GheU4Gj!2`(==nK+Jf8TTyCBNosC>4pleKV|A^OnURHoG3LE{(3D_7uzjoUn4SmT
z2}jL<#Z}%Kf!0hIVBFqrU}R)wYGG)I<1S8=5-b380|B)w2duMu7N(Y#7G{Q+>uQXQ
z%?*u>OpS>cs|iX?0<8^9rS5@@SW|+bnVALXgdL1rW^80)Xkmflym6GU4NlFW{%``e
zur)O>1Z_Sx$Flar*wWa<(h|qLBq**8Po&Pyb0W$FBhbai7MQ0;8krcHTbddYUa6w)
zSXx2lW7ojW#-0*POiU~cFxNI4nSe*ei7COtQj5}4i@>9yE}3Q2T2F!9wV**pBaGW9
z42%uT%`7Y}3E$bBs^C*vO#Oq4u%}xC&_zYYn0Ij+8Jk!VIj0kpUj(}0l=kH<XtWu0
z_c4~WA5hm~FTv1O3q$&mzKKP}iKWz<OvjQEKx^%cK{qvHtiOe&TO#^p5VwNn_)3bX
zx6%r$Yb{MIK&L%mwi8TDO~HLO!Yf*XGLti?f5kX9*IIyXh68Pc#i$)Xj<ql(W))CS
zeqKoimFM=bjx2%pN`np^$8su^rKz!jr5WKKy1IX9Rc203rEVB?uWH5;wxIP17NFZL
zF~`9`$7mQDS`uvErh@j&=TQBKRvaamxuvO*F_yXv>{=rnXSAZ!yg`X&sd;&+Y5932
ziJ4Se(TF{4%|L5EFkNd5+Q(^VWJtukLqK9qYGo1a&!zzF@i#XHosN!?5{wOv49pD7
z2=9hdcPvfHOwXh8eF?a7nUNXj4n~amGGil9d)%1ttyQH8zNw(W1YMURs=63^N&sDg
zjb(+Ev5~QfsilDl5h=krvA85PCyU}cX~0b{IDy@@pv{j4CK$DYv9XbXnTe4Z5hMAK
zx-2-qh)O4eK^%<5wV-v3rWU4H?$a?gu{1O^#&yFuN}1rCkyu=um`=6Q0H<qB4Gav8
z4a^NN&IdCvHZ?Q0Ff%tNxC%(!13I+_TDumMnVwIjemb_W1s$FMTB?FxCV)0b8G)MV
zM5Kg(qWm(tv=c!6G9x2%6La)YJ0l|lBXiJR2qM~Gpm8v&AD@7uE(1-G7-QrzxN8Zf
zgj9vF)GBHpw}or;!w__dikUHb`xfq6B1$k&*rw-~WKi!`B~U)Yl5Rn(fItU^V!PcE
zk`f4~+hPT$%*3J;DtC0Sr36q3W(jgK`f6c#*kbSLpqF4diJ)n8sxA)19=4z>yD|4b
z!Cg!6yc&4T>vVK-X&UuH7^`bRr_~r3W1h@uWMFJ)Vqk>h_I8x81+8sPO;4oKx?511
z1!1hNwXifZH#arFp35vu2=6aTRq#tpE1~+;aM;qVsez@jnW=#>#_S$EB@oef0Nr;B
zTDwTiTcEJE7{TLmrUphBD^)<}gBe&_TH-i+4Jjq4yA~%WmZnj49|_KsU}<RxIs+Y}
z<^{FIEiEmHSr6u%Uz7s677k<w^)S|SYiR^J^9N&%C@gGo+`ESywvKrzsbz_I)Y_E+
z^Dhq98X8y_V61J1xz-Z<nb=6KO;vzh5Sf=+nx>lrx(wYnzqGi7!d0VKU26dv|G?bY
z4RS5`3NwP`t@`24q{AzzKKOyXOt3Hm-B5$A<~0Mk){ux+4W#c7kXV|dn*usGu(YTo
zpYnu(HEb<SOu_fJqm3-V!WPGw*eEFh;##lL;u4T+oer<eNzF@7ETV8r6js+7T7r5s
z7`IWtT}v<}q$>F2mlkAFdpH4GN&wy7Ze(a=h^@s4NeKjJ_dqMGa&oBJpaB;PSi{!R
z!qCvf5NnwLO1H$!p$C>`<|R{gECJ+P?5;I5H#9KDm?eRw1j2izA!o0FPU3@<UhYMp
zTA1>%#^G8^BSRC6c?Xzl4T)$c1Z1YC7J=rZsn=Y@)zh&wHZd|b#OYcbC(oml3BLJ7
z)ZS8r)3t`6fkYE5eFtzZBj#jI=ZwTEs&6X7RwkGlSeh9cfl6E)<t;J$BEu4MQu9iv
zeJBC;bZca4WQw`229|Dd+^2(*5_~cbuP7^`_V@=@*McU{O^q@3MZ#Q5%u4K#{L-Sl
z)D$Y8=8o01mf$;IF!rItT}wn8%pElAK=rv(?5;Hj-Ts4l8-)>QxuAiOF)<@ciMdJn
zr5RLqFAmpQfL3^5FB1$62)D)|d!WiFuMR*J7!t<nS_^YSBMSo@C77WhF|#C~k)^cM
zA}UWkV0EpfxrvdfF~*(UkaTNkNX)u%-^5JF`Q633h^udrLWw*kcGnt#QUb=wMKIUm
zILjTS1OwF$sW}v16^iC5?5;I40o4xZb2@O>647_?%`ZyM0Ij@4vyU<^cGrT2k4!Lj
z&BI+wc#Kg2dafO8E|M}w!gb?tt&x!_uG`iOEzF5=ZGLH0K4dvIXrVi32NV@Honm*b
zg}I5TfeHFKqVTXKqVE7|(L!!Y&<)E3&G=HKG{f#%Q%fULBaCzHpsuwbypFL{0W`))
zai<ZU0$>cRuC=hRFaa%^z}f~gv>?37UEQ%XCoi!QeEdrQ=wy`)>a145?pjL&Q$quc
z6As~FOH9q154u5?svQSht#J!WBU3|TjP+np*IE)jQ$^h|3AB1GH#M&Wx?9>SHIdSd
z(l}jfVPp)tunucVFgC?;pAJgx;8b*YWeIGVif&G-u5W&64#kag>?y&_$kf;X$H<bg
zDKVpV!HK11iRr1jzKPU4AsvfrO)N~!jX@`ApwFR0Qi8FmCBby7?wFUJL)8`IkWvAQ
zYfTM6$MqUv-pUGhEfKSO&P9h;QfCYS;!X&O-L-~Brbf7W=*Fg&1nV+&$I>d;Zn)Gu
zUB{wyDhx2<&SeIspc{H|<T7GbuX&Xw9bQT84YJsK=oaRn18XquC4r{|V#aEUQmeqL
zZ>f0764p5#&<qr4g_QyJc7m~~B@rW{pqe)|H?^pYst2E9Pq!AJGq*5qw}gi+5qnO3
zON)zBsk{aVN7!0ef|h=mV4Hz5G%z+JT$h1Pp3emx$(WOq3T`Y=Y5Otuur;s%oji}e
z2MQXtW(GuzCqPm{ei3zNO0c`u*xb~}6k`Vg+_eO2hty&P&;em3bZOOC8kv}y8XMxs
zWkj6zkgDK*cx4`B!xm)wv2%W23gvrHv4*XMsj;c4kpcG64`VZ8)`)^;NeUpxM^ft$
zQCziyrJ<Rrsj&ghTt=`iOH~NSOf4#+_JUUIwS%Pr==4a8eUb2VOWaD8l6=s`KY7#~
zQ^1}QKxZ5pVywS~yOxN$%&929v?PPtd(5!A7PMN}zykd=Gq`JssLPy+z$aKyxut;J
zwWgp`q0DiWx5S)l=aE=i0y*{rG6&^UlwSr)7?749xg-|Xg7)}ZfEx<f+h9bUsS=bA
z8?;N!({;+p&!kGxi^a93pqk9o)Wig5*b;1wgKk5o{u&@$?F0*BQ&VG%dr4sFmY6wo
z-^8M%{1WP%!iY#WSi{!R2;^F<_nd-SHN?zCLT3CO)AK;*08#BQ4Xm!UFf|38O@Tcn
zn3xkY7a5$IQ%0v1t%jE7rk18=I9*F{{1(zLqjK?utLC*Zw=@NvwuH4zFtH%!j;-L-
zJn9eHVXt{X1EQuTIBEwI3t~>!3C_<2AD}?39g&cnhCSVynVXuL;204#u^{H8I1kYI
zw^X{-0pd~+iNm#^+5tzu%*2AIaj=}!B08m8OH<Hzf+_ZqB@+w6r%bCK?kvizN(Jp7
z01c9-P%AxP4O{RIV?&HH10l78i3Q>NB2yKd^Fdo=lT*Q`X;7&TiK{L%H#0Rg#L+J^
zv9KhfhaLtxXe%dCHz2hnlX^88_OLZH03BzBWxs=&p@9hzqs^%b!Kr!BDIHMmpccmJ
zTJXikCOF2%O)QD&p$8|H<>x_9d;m>BQRPr5?B%Vwv5~2%i8=N@uZbn$6An`qoWPqn
zsn$S%Mh@1nwKM^paENhcAT*a*64U2(E=nyuyc%i=)hMj4wJ^5;<uV*4m?h!Ub<{l)
zOG@(dk~0o3qUu_A?5;Hfb<8mKp~J$~gou$PkHj3%Rn5?DPJU?)RnD8n>RL-PV^eb@
zjC1WEt~IqZBG?8?RdC5HE>5IQ_Xa5)VRx;esfDQlwjEn$h6bjVMg)60pj%Wj^GbBX
zKua(4N^}ECD{~V|(~2l{KX%tzn1Oa0Vjrt9CF)fFfc(<rjMSp^QtC{ZLc<rUYb{L7
z%uJ2VaJrU=y38jrBa`agGVJB8g$ei?73^h#sU<PF%)RvR%3R1GBQ#v7L17JBOABKQ
z17nOk4Pm*AnDc6!6LSlwnh3z2#qL@oGYdn^J*RNj5|PV5XLeKl0!Hj90d#B%XwDyN
zzs%IqgorUlpZvUZ@K6#}j}62gwic!q1}2tRc5H!5Fk)`93r_?!6u{9(MFOj9Ei5f8
z3@k9t2ZN;qVs2%1%P%bhtxm{E)pbgw$`}~P(^y>#+6-r4gl&f`IBd;`NVm|jn!J?!
z<P2){b8z$>EJ2&lO>nHWGqogU*Su3Is8s{nV5XasTCD4PcxB$<l_f>A*;Qm|ZeW08
z{jI4b;qwz<HLq7`PG%|<R;Ykd0SIGF2^OYi<_0D>>N0aPQ-Uc${cvYVQGR9#e3}Gg
z6%{a6*IJrdm>U=wVV{9AHzTG@04=Vg_Fg!w=@zt4$JE@|0OS5Lc$q+WE)p~qnGPDc
zr^*sLc&y+ETVrzrV;rq<bD~b`b<T%gPy@G#8Vu~NH8wOiFvK{m7ZSGSW@bdJWArY~
z$Vttk%T3J|ploJjif#PX7<6qM5h=l`v?#S0y!Zoj^cuCQ2aK>aGd4FdF$M3~!oFJA
z+>G!!qUxSSxy2=^CDc6e6qJ%MTx(zex+}rb%-qNb-L(b=1_l;JhUPfd<fENt7Ls3F
zLhUvq7T1CXXpM}_%`n#A!d#2vR46ppLhIh##Jm*Ul+<Ef@O)pfZU|_$n%tCu&9#<h
zMrKClrWkwtp{~VsZZn!|oip=Fim1{r2c-cB#_C$|X*GrzE39CyHO1aTM{})DqC!x9
zX)$C<5@H#}BsSMtSeO_XVY{E#0933Q7?@!1MWVSjEHy8+v;y3w2~JGP$<HG<`jPyI
z&9#=MCgz~qgwabd0|NsSb5Ls%d*1=gwQl*Ppo5T0E0AoXl!@tDBXe^D6BBa_%<>lM
zS_@<BYd_Fj8<d|6y1|U9lMmQjYi4O|Y;IwStpo#wtp$!VtWaEAs^FZFT1@S&k=R^o
zZeU_$ZefVg8aFU7Ff}$b!L|Mt#kHvle)-VBW=f+UNk2B%nweRe8<-nnv~LXz49v_d
z4J~n;`+??K-~1fNLKR(i&{;5vRY<my%fxi8fr+JssiBdXp#{dN{sso-CT7OQI7UBE
zTwAITK=CSZOg~|Dt*NoGu?6M|D+7pYO>m6lqqr6{2bG%(+AWP~C;1|nt~CPPiC}JQ
zVTiHc0p?m9cfO#xHXt*vn3}7rKz_vTS~Ck!*rJcx!CZ@D<`m7fkamJoY7rGD({Z@g
z%-90+yc(!$O^K_^Ag=Yu%t_3o#zkwOpv5u{21*HLrp6Y=mgwWRP}ky`-9rmo(9THE
zxfDKB+;@r@wxBY>*xVSj*AQ*g&cMLX$kf=#0>``qnrq#QQj4iwEMU6U$lT1*(%jtG
z&<IBfW{Kmp2Q=4)9bTE2Uz`k%L2410t_4lx8d?}zm}1@`3n{@YajXJDbFFhmVqQsV
z4rug_T8_n)Zb6r4VDx!m>6W-$20FXw@Ji|)RDvyREkK8eS{NE($z>Ks#s(HR#=+3S
z)}88S`ePrf0S(z1TN+`k{Qz|$%`A*faEyqexi$c_N;ET(s@+~}VQUH6U1n&Eai$8?
zwPrX*o6%hBlbDxWM8(nzl=v}SYh-Q)I#1Tn2xBES%(do3^>my-jRer~KdInBkg&v@
z;?$x{%0}|AyVeY}UkhU#%)r3F5_I@Hj{AAh!Zsi=haU61CYFYv2^}MI%<|UI(9q1(
z5XbriG}l6EUZ2F=q|~Ak@Q8v>YT4nH6b*=AhOL2#rMbD8iKP+7idF*yh-(e8uf#@k
ztxIBV0eE3PI3f7tQ=_$j)wQ4l9V`toc4xp`YfMz1*Eu6GnezP@puB~^n63rYyr9cn
z49w71xr1B_x*rP1-N$HQ8<v=pmYD|**s#Q${L*47OzmL0*1*)j$i&Fl(iHQ)NJy&&
z*PVu#u1&3?#wK1w&|;~14NNRe4b07rvGsJoZ7>rY>uS(k8&FzYOx<yOtaX{GfuV(&
zxv>$(`3cY#qX~|6<7lpR0&UzZquSMF;1I@43C4yNmgZ*W##qk8hNJ`&948l{xVBV*
zYKs@a?t~CnTx(=(Y+?a&EoQ66(9qJt*civ@ktnWBRd7knqf?n+U}$1wfO$6@ENqD?
zZy~jVe<f|_B0-~eMi%DAMrN3OUPvy(aVivg*yfie(<zr(fUX2XU!MRfZ!Im1O^9oa
zL&6p^)2o}4s2g^8RSBh?U(9q1?(-U(7#U&gIfa%9xc2y?ge_>MH!+DyhoVEW7}gyG
zpp;;2Vs31RaS9*QwI(>$ETOnI6?*bVPH7PpJHD7<YhYqwX=G_`Y>Z`O37l@taGV8%
z=33BrLV9XWPGTDMZcV`ETF`i?xv?R}*}?_}hL#4#mS#B4R6%hqsJtyLN{61K;R8AX
zl?uBxu)5a5)XWUa3M&Ih31&u2?U1VAoLXF*N{y)zc&f!(^O{(inj4xM8<=4!6F_4%
zW;kvWMhRQk>JRtKqI?REIwj;<BU58@V<XJ_bf95N+}Jpz1anU<%1zA70~KM;8KCpn
zC|cZzH6@sv8G&4jzHS_r5^&u9gA%sthdT>Wi>TcQ!|Ga7LnBb_fWx)s7DUy&ZlJS6
zsaSe}5(K7eLFKIx$hFvdI-qoGLEJbPBqjJJmKJ3ur-Ft?gYru<Qi~|cc-UQQU;=6<
zVCm_AU29BK*n-Awb5cQT8L3cofdUq5T?QIsw6HWcHpDnx2byjzOo*C`49<t1<6f*A
zoLH0snT>+lN-l*Nwg#X>=Rvs)%M28_F0(MhzETAxm!&E=6(#0Ud0+`^zs$lCloAZE
zjM_n5i{k_s6xV`gPN}@v0c%PC_jHWSjWPG3gKn-dG&eIb#lGJG#kHvlUWr9{nN%JX
z#Y_nx*IJsISsEH(&iES|TN;>Im=l!}JW@-GN>V|~TFFhNnEEhX3re@f=7uK57&{F?
zVGDAt1yQaIODs*H>R~llQ-Xnsg_()5p@}&**P4Uwfx@wO4=p7)rRIQkaq9Y%mSh}W
zS(TYuiWyd<ieQE<X#Ca!JR*vvUj}lm8IChr(Op|~cx4_{X3i0Q!tPo#(0xT%Rsk7W
z7?_!v;kXA1&9%-MiDlG2Y8r=Y%?%6<EHTG#jf{<qObm%D6MQpsGOMUNrGve^HMg`h
zvNXgvC*J^cP_L1RA&!;UXkqJ<pRDVeUYePgS_JJugk&6E2|g%{>?uFYumz3U8JQVb
zVw;OJ0;dGx#>Rc}lQXE2wGhb`OW1;PnVFe^p%Iog7-*=}&;-Z%2`FK!ez>!+G_|xS
zr3l=xN!9g8%*@M!u#v1Mk%=X2O%069EKETQ)i7qIA+9B+7YVxSBeA$RHNBLYNBd)O
ztqEul-xSoV!E~*urI8t~J*OyPo2n2{lvqNIl|RVAkLg-tBSRxIV`EDb6U_Flk(rUH
zp%ISr#?f30X^jUb<`z@$)GbWcg4(xc=BCC*7&~MQ48X1>YRwX?&+A`$cy%6l{wXXm
zhvLPIn63r2YAg&*jg7Fh#v!i7v9=j4Y{7TbfR<zDB<i~57ad+jg&AK=*MjDBOw3G;
z4X~_UgSZyQDt9#3LQ;ZrMp0&QNq#{_s%}cDu1_gtv(z|T3rYzFSn4uRx-~H*s(lMO
zxj7}jG?fZL3eRYmt~D^RG&D6gH8#MwMFpB}P0Y=)-qeg1wm$ip>3N4&f+x&;6DvWd
zA;WDYmx1Y8P)aZ`Gc`6e#%zOuQ-TR`?OS({`yiVLKu7#nQDJfqdtC<FHE(QafVn0g
z>{?S|=F8L_tEfF~inTQk3R@FnQ)2@|OxGG4nwnTxm=iV68%FI$0xs8@fi8kF!7_6S
z4qFo(=Yyf8+o00SoSefeLFWp)7bTXZ=1{t=8>?$U+c(WEOpOgO_VYq>nW+I$V>OTx
z%q_o&iiHC9Tn0Lh(Z~>Ub`Ko3ro^rNfVkEdbc;Lqo-Maj%C8c|;aYHAhS@_mGBY!=
zv?OMIg1Se3aY-hXyJgtR1T%9B14BcMTLKLXAgyuYR#^Gu=N9BqIj3O_TQhS*14AP$
zb2>(rmX?;r#I?adb2>$t>4~M(8_35Vw&s?GMrKBam@P(d31*7p)+)3zAuKhql*$)1
zV{t8bzRc9f%oxi&FW9xX_Lrf#7Sv~~%FM~3W@5me5-bc1K;18lzJsx$xjAU<0x|7`
zu*{;&)KXA!3qHMw+@=AFKJ2bFGcmw&Bbb4Kv9Xz{nK^OmZy_ZZcm)V(Ihbx(Voq|-
z;gujSkiB&Wt7|O`j6i*K%oZbPC54GOalJ^0YrPUdyLF1ey$8o4P@9~Rtx(upYYy5p
zVu>}EnV6b@c5@Mv5<-d+Qz%+khmr;$92~ASG6P+jfSGPBEsRYKi5toHNi0ju(M?fz
zEG+`9zl2yvA&JekW@ex@R)!dRr40;>L9R6>Zk`vC5_}R%iy-GH6ze)AQd;-oaILX{
zxe=CmUXW|e42hdBbIMFD%A;}{7prSQw+R~?7@?nLW?*1q06NE)xSkFz_I6{s7Su1Z
z1TCS#I7igLz{C(V!cW{j9l!j%M9|zGHF`L(<c`&~=9ZR*W=1BMC76j3=xPGub{e{*
z78hqG!t9|Ajm@<d7G{>lmWEh%zL*#p8W|fB*S-aheq@5iXFw;#f!evCV^$~&X-wCG
zM?{T5W8;|ZTN7ggLql`oS~c#e#U)hEWY}9Z<`$NqK?Q8CwKO$0A+o&9FQT?%ak$nD
zbYmoz^47!{>{{&SexS9%f>R4hKm%auRIJc2Q-XnsrLlprnW2dpmJ-a+)Cg3F5mWO*
zY6suMyfRQz%qc%PF`cqRi=)qLVP;}(XkvzC^%^*A&54<nhK-22q~>LU+BCZ0D-`ll
zDOy&8H6>V@m>8NF8e^P)YhVC!t%(7VBcl1GC8<S}?Z!Ya_pqh}Q$tfTLu~B?kZVEh
z9b!^~6Le=cHM1I4*BY2xf({JDQac!fX4i>ZVda~jmzS7{9y*lqvAWg}wE5Tw%W7d0
zQv+iQQzBQYB!W&2gs%cB)pa?%vN)BpksGY8HLx%-Gc+;6Tww)rt)-bEQR`|zrvZVt
zbW?G+4p!G%7#Nuu8erK~WMXPyZfJ_*E>5)a)+Z5i2P0*1kE$E1YeC0U8DgHZWMBYw
zEzx0{oN;&+HA@Aot~D~V0EI1<nim|lIL^963)`Ul(p1opC~D|X#>4JfV^Dc(iaEvz
z3R_DH9QT)@xK`aUuLLylK;3ojSY2ywU<kVI8gp#i#LN`5SeU4GLP*i!l^Il>(ZRO<
z7PQLU(#!-jeTvcNH8HcWG&Ch<eS*4waWOUP1xO0Q8nz}T7RI3F3#Mz$EzAu}42W8@
z<dT_^nwOE9nG3OqDkL`7T38ram{}N@V~#PJ8W~y|o0<?cUj}J|IhJM8bR-`%#%O46
zVrXQ5xe^=VT4H*U>W)R!?n2^dF<Kg#7@8OwVA&ySVqs=rX-eF9f=7NvVo4Qs69d+i
zU}k9o8cD=#)j-3Rh<RRhf9l_yfvrpcrvwWV&|X-KTxM!$VPt^oq&SrFHdVnVF)6XQ
zBr_!y)SStqZ0;PEMX`mgrJ0GDg`uG#`U!^y2GFo2s!V|9vh>Uxm|c|9SY2yqY-D0+
zh-LK}$h9Vh#PuD*Qj6#?B5Gh_VPRroVrYb;1T!%tZZ(B(YHm_deohV*yS!NYWfqp8
zo|z$*79%8V&4|clpfyXNqclp(QbEHtlqUkP30PBtfdy!M4&x32P`WiWvLN!rEznuW
zsr2aSfC>adBP{C}K?}+ajB(uAjaDW&C6*SJ(&1b?3o|ndLlbPP+)a(lP0h`Wh+3cE
zmkOHluY{bG?~<8Cja6Y7DZ$9d(!|`z*vQZX%X%<V&@sNI#EdqVD!65)rs;w%6{h0u
z7Yx@L7?@a?TUeM_8X9A%%S?^T4b6zz#R)!f3p^B>SW3N-Fl?>`9fWKGI{X8(E(5z3
z$7#K2={6+4C@r4~YsJBZ0hGYzS_?B{BNIzwQ!Fh;uxp8%@dpolrGQ54auPwe!<8Oh
zLFoortmUnxskyO<rLj3?zYLUa4b5@f%8C}YzKKQP1!2%&p$dgHY%MJeO)L#D?u#@q
zfVh^pk$gxy!8fs}Br^}RDv%nx=&`xh5_I8&CARYuOfA7{LWn5A)E!Gpic(9ceE1rs
zYeBo=jE&9B3@~m9goQ0}t#L@$`W#-Fo>~N+l%_)9VsovTr4eYEl_lml7$hYSw>!fx
zzY=ukUQVJeXgOGZB^5Fm)?8*`X=ZF<X@q4i66#u_#uNN1^E0V^Su<wX8kks`fWsDB
z8w^x}nd7)I0j*4MPo?%OFZP~}rHLu1Ou%xsu&J4eg_#kK+uPAx>zrSjlA4_gI;Ryp
z=|F`^609k~5_FxsrJ*V2$dajriKU4FF{hrUDuC{zNKGuwq2h1?7S|e?o0*##7#SL4
zYt?{DFrwDlIhLlSQMtW{EhT_UFpz_>oNEUyZ;9$VIDu9RQ@Oy!mdh;6%`ME$3@~m4
zGcbU-)*Sm;?r7=ODYYn<+83^2bFHPJxrw<Mwq2Z1*AlU!6?7YCekpixN!PJ7DYYnx
z8mAp%ajmI=u@T6%SoS-BU293qsGU04i4fQ3B<g~$*GWvLcu*gUYe83og3~SLNWPhY
zktt~B88Neapo_(G53i)^L^@X2nwf!i>0sHX192@er}e_-d3_JB%1s3=4-84oqr7R3
z&9#=MMiwR}h8DQOmblqHw<7Q<)1cl?P%4#nLt%5Rg}J4P325>eqo)H2TjEAPoDz$Y
zQj;^NGh7F4%VT$~k%5VcfdOV4%*?>j1hfo~m~<OZl$uMGjr~xUf+!5vLVD<iMuw(X
z_UV`z8(SD!8W3?Fqq+yE*a9v7$jPL55e3MhV2t5f1JEiU3uDl_FU++cW@aX4pbJZg
z2-{)>@S>$u&~o9TVqFL)u{5`|2y8ET1g2|2=h~TpHb$CZj^CP@Sy~di(-7QuNY!;N
z%FnC-HOTW)bVESLv61Iah%PLyHL*0bG&3|Y#ki};zyNe)r;#B^w^4wmBq^>HAa2Fh
zssZhqH#adhHa5pnf|*+ySQ59ws#w9bxHz#Wg_6a=Fh{~^tYK?nVQFk`h-C%}nr?|2
z$@fWA2*}UPO)W~ygq(XCe0W6}h2tOCTx($gy6M^w%PJr<b7Nx*OJkz?WdTK*dFj-h
zl*ZB;2hHh#T46?pn4@-PmY^f_iQ6?Fl95X73lp%o7Cb9$Y+`6+ip90yuqAFTGA}PR
zxf0Yu0BtlQdlf!B$$}Z!Q-X!LxrqUm)ob7~!I-#qLU3YEW_liVk0ik6T1#UC(7gy)
zR<wdsg0T^CD^>DKi>TUM#4*onVF6m7V1RLdnSp`1fuW_jp(#;iLe$a8NvTD}RK2(g
zOW2wk7#SLvnVVucQ5JNihPeST`*}+hz%52d*+reBdU1uVxv{y4r7@P(YY^8O5HZG>
zs^AN16ckf&%RCO(T3Q$xnV1-0ISCo;T0=vk?kWPe6Lf=1a|$3QZWZhLB<4{#mx?7N
zfX2bhO-u|eF>79kYl+KcVMUo#>M?)|FED}4wHB5}CMG6ESauLVT}#wT70`L()E>&m
z=33C@NhVm!TXO?*b4v?i#&1g%d{c|_GIMlYN{bTnsI}P;n`=SCh=!nUBu2js>RJ-g
zEn?mQ>U#fD3Jzbw;#yM!69W@N(8W2}Tx(%uWJ%OGm~(z<PFW%qCn9l`31$|cWk42~
zy+}yd5;GSG8&B{`O@thz0dDP<Q2(A&&@t{7pzEG6Pb4rmFb7r3MAc=G5)8D5Bo(|@
z+9$J&;&p;pQUd6le9)SFEF+@kW`<@47R0p}19Ctcbt-h7K&Sgtsgl6%S_^X{BSTBf
z)obQv7RHvw#GNP`kW*Sl<)Lxx?OSs*LnA{IEIYf+%}vaWO^DgWsqUHwJ`pNCk+K~Q
z;7S2bU=3Sy&|HWSmJ<ogL7U+Wh--s66{S+Sb&I{vYiVI>VQ6T8We(lK(A>g;sFO56
ztJjK?6O$6Dy15%$*jiW`nVXnlxf{+9bl!uhfhiF+Z>d69W@=`Ru2W)ZI`!7!VsWjh
zfswHVXvQBimsuDYf%l^lF|wo(ke^qg8&U*1^R|>K2ddzz9SqEk%`CBmt$~G+3Fx9z
zqT08R^47mJH4oI4^q|T)l32pl#KOYT7*z9O)@2q(rUqsv#EmCFTnjr}I3-mVbf7{y
zcs!&Mp2<mMU~w&|od8<0gk|-bg^{I!nGrF&IMw~rQz;ou#O@8Ot~D|-H#IcD(nANk
zmdFzheez4o@~OD%1>}A#t~Id)9S&w_Y>e4=urM+*H!(0FYIe^jQ6Vg~sECSV&DhFY
z(9Ef&g@vgxmQgzkV<TfTL*n-CIi=<$78g@@suweCL9R71wg62`W3+Fft|ek5A5=S(
zC6*RbcRdAG*BTlcSeO}N8U3&@Ha9dR@^qb$qSV}^9NLF1s4;GAYK&zSkcF{@iG?vy
zts2Kt>Mq9zWisq-FiT5QGjnWbSXr1@TACXWxAp^4-a=}JMBSkL(!;AM&T`mN0=N+i
zI(!W?-I^L2SQ=RnSC^$`=HyU!h!IQJf<~LoOic`pFz0y<4a^NeS7a0AT6a*-TsJH+
ziNeu)a1wwLm|+WA(Q067Xk>`xG&69SU_{)mBA-MB=ZwSx(3v0LO1B8KdKhXexfG^r
zjm*sr4M8OsmJ_@!Kq<kTxP6gfsikG9RGrbmRy%<9p<9A>6`5mcF`60~nOP85JA|d?
zrKIMN8;aQVVGCO`b4znj35KN&W@=$#Y)Rbtx6b*cC8b5w4P8vvg3b{&F*C6=#B%nU
zg(+yKFL5csIU^Nxn{XyIn_^g9Yhhw+VrhV7L=@^;qUIgki$LdgQ+L-XR@Z_Ss$gAf
z2XQSi>&Dd`^HQjHQvxg%V|A@5_$E6nr$<6uOWeuxZuxm7iJ5t+y1tn?)Y$6)axqrd
z8k&F(t-*4O3e>eEjEK6Y<`<=>7E@^{Hdfb~8-s3Ow7^`GZ((X-YH4Ol#Ok$F1yDCE
zjjE?HVlQtkER8KqERC?NRIxC%Ftf0*B+9ieMN}TV#nD5zFf%eW0UgALrB!2LW<lh=
z(mt8go{7XBwwB=C8HQMH4z)0~FbC~JBs}^7y9X*o-II!r#+q&o49rX{4Y2Iffx4E6
zlu)WbpS}b5o>TD77tFQI7N!;!Mnv9U25F54WMt+fr52TdmfZPLyuk=-*n-aX01YZ*
zOScx5rbM>J!RLMiCzg~J<w0){rFgy<n`<pBLA$byv7D0+3R_E4;%;Dsge`oQ#5b|D
ztSGgFvL+-p*IJrcfXZ7-tmUnRr5SPayw3SlKPV1sPsb8;%95p_0p^^Jg()c9Nmvh-
zs_UMbn+vMTKn(|qCsMJ6t%bR%iHRk)yN^MxH8mpUtV{UJX=)zml*^pME2*)X5u0m4
zop4ZHhOJDnG%zqDZdZ|0KGiP{#hwxj4M6Q%Y@>FjmIkIq1|+m<VDr4GpxfaBauSm%
z3Sz8b3tH7`X^gGKXaU;aNnD@TEipGUCx`5TWl#eV17mZog{8Tnp@|We8)_^}Ee#DV
ziM;(Mv6SlDim<uX($Lb##L@uEY6=U`2{0xWMD=vg%3CVzg~QdVF$9%iSWZH=FgFD4
z=_6(xW3hr8xE+oWo0JG(hArsic{2l3GXrcX0pwaDPe%_dP0h(mElsAxb?ACAT?<-&
zYi4X}W{7Q;#KPFnz>Juai&7Q*QlT4Pat^O3*7Z3$8N4kW-G0*en63qljawL47?@(2
z=LPi~42(>P8ntsuETK!8U}*>nS_31@HKG<47Urfz&hz?$cfEjj>W~(IcvNEzTSFsL
zOVBlNm@P)IYl*q3S>3g`B)>E{gVrNUpfN@x14~0ABP^qK78Vx9X2k46SN8{<yp~x^
zQPqVJ%9vpby0r?l2*?o2S(g?N*AkU(A(yb`f$t@8&Mc;iyRo^}!qUvh1naqWP}dSM
z<DaSkT49x#N4>KXKmm=-wU(yFmL`S<W?0%_;IJj`ZaC0=4(XJ26+jL|!I-WEuNyZo
zF~oLzJ1A^TEKG@--E+=JO-qB_2L|3nl9!xcT13%?Sxna&facK63{4ENoNEVhEpa=x
zd=9TnPApBKYBs~-S`*N%Uxp^e*lJ!#i;;-&gw$dM-~3YW+B#jxb|{o6C6j~IwZ@i)
zh9)LBT}#So4_>7?nUK{VZi%JIl#YyIcdeO$p^2FRmOd{yY>7LM5j<a(oROGY09vU6
z+p$GvphC4_buIX4VPh;OZdq7@j>#u(MARq0G_|;dx~uK5y4J+f#Mm6$`L`C9=9cC}
z-el(lI<T91i>tt)i|JZW31(<!Y>I6!3FxYMOH<-{IzEY@-MrMD=*4s`sOB{=GBh(Z
z$J}XXX<%YtZcNNx=~M;Kc{PbeDd3vdDHF7X9vnOr5tyz8ZF?~?105oa*{T7ZVFg;w
zM0or*RRO%2J1?c^@Ji6|M{<5%I^~1qn63p)keC@6niyg^trz54&|*8nu2nzWS(0B`
zM%@lN_R$Yx&|L#YSn4vUYl&#plqv+JCYR<=^J+^R^A46q7NF?Ha+4j%wdRJzv})A-
z^HNgNpi^cPrB!6j*iwRpnJK6)!!qvxaV;_HY9KREiMiBG3RqlgYG7<>Y6#kij?vSx
zG&Ha@u^?_Gwlnw?<dl4B&h%n&t%;>6=<**!EUPI%?FTb6Lt<Jr3So(*Nr@?xwhWNd
z0gka66H^026LTzmUQ1(3V^GVNaG3zQYd)Xahwx!96AX<lL5H+rsU1Km!Q7Il);RLI
z8rQsZ(8(V;l<wETni336LET6!=hax68Cw`x61N@<((1|q-HM)?hZ><|^DtctK3&J$
z$jHDLbEOK%wZ;a-+<jcC;GSPvMBR0PIMS_|p_vir<XFry!OYmg*nqh67@;GgiOHoU
zp!t4ZY8(=U8Mfe>*TBfg*Z}iH0!Y}Bwh}w1jA{u1doD9KGB+|Z!ZKe5cC8^XXH%pq
zIA!K#Qgt{KN6l*iNeNiiCqP_FT)!+JC%-f?ovMeFU<q4rE;BO%C0y+3){vN0K(PH~
z?xoaA2iS9&g_)57C?()16AUeg8Oc}hNz6@3%*mnoc!GtgIcUNW%YI&PN-!Yi<oQ$u
z@cy#I9ID;~g{@4mFf%m;?JvVzlW%EmU}9=)PSn20u++T7qT)oVu4KgKT1!JSQ$tWA
z7c<?OTbP)b6E~9Ydw3CblL3x0!O|Smi8M07oI|&?FfuT-ATA}qXGsc*K+`0_hgVWQ
zPL4HfO+fcM7-O07w*>7eGBze^o;RShBp<v$#R;@Ok~%E~tgbZ#wPQ_<FwbZOyVjDF
z63h{FJ_TrxtgdrWVlH_5G}&z$Y$X_|yfp&#%dnhq2y(53Au;m~sR}-sWfbg+#_lC-
zVQXP-U}<P#jAd;z*tO=wrP~nDY#C^tA3U%?`6+QA_hY&id@7VF=t3|oC76Ygp`{sd
ztAN}xQz2J8=sHoY<%sE815?mi3PTekEaxnN!q(E9xU(soGcuDiQj_wjIlqU+wI-Iv
zp!<lh?KA|t)`Gaz6ao3A#l@A>O$u0DYia=6hmPeeAgF7JYA1jX)zNh;&86a~C|1`R
zgVuhSV>@{slx{7EyS+UmzqBYXHHq?r0zugeiZNXaF2M{9P0TU-4zT^a#PoTK6&!PN
zQcLM@;+BPxg$d~LP|S7$C~Pf_iE*t$a4P5?VQ?M;ExDvhjfNSvpnW=^u^KZhw^3MH
z7=tcFC(5<HiRpP%&SY5n4xl|yCKiUE&4yUQ*4V(n*np@OV-V=xy+q3AAE8MWOksvC
zsCF<n0bPQPrSD*AY+-Cl+-VP9iDmgYG@s`Mr37OW6AJ@#EG<TeYl&)ufyWb4b)EBb
z@^h0?byHGx15zs~+-rszwxC;742?l)0n5At$hBr>M6FK%?I1`hDy2?S5u6UNwZT9;
zwm_RT4Gplg6F{ytH706A6tw#|Gbbk%bPWO2GKwk8um!CLGc-4`z;>UGCD^sZ+)x8r
zSCg1T)$3`n_H@9mH8rs?z;dn~)V0K?TkusMsimNU@~Mz)v6o<G<_0Df*jBGWTuaQo
zB%r<0;3;W}V;|W794WyNR3_jm!7PYMx6T=f#l@*bi7AIyP^}!pbS<a^Gch-@Fu>d)
zYXAvb3!>^Wr_`LX)GCUP|3MB~tSQ0L!W5KlvFt+!yVi`j)6AR_)ARCkigj~Rsd39Z
z#L?Ko*3uM|Zn5p`hPc+0sP(sQMTwck#hH1jC7_zYC%=jc7d&8dt%Zdts4g?ZQJ0yS
z5tS0ab(t>w4%t-Qu++Sg#2kvIq;R;_%*4VFTb~zH-kK424-~|;@V$Gfx;}?jmK|Q1
zMahZ<Y_7EgEmgF@c4Go0C72UcCO};4n3r;RWj^@GE$5unqV&?#TnhH{VR0?!<atvQ
z3qvd?Zb4j2)VlFvg|N(YsvcW}wJrnQ^kE5V)nGYC6yjRq=F1>q8<d|5ZhyJt=Oj|z
zz`+u>CKl#K7NEKebA=V;tOs+V+F(AJRh5u(hk7KYYeB7X3qu1V6Rau0+`y8^S!wWU
zwNi?gE~0o9hilCZjEu3i7(uQjW>-<FLU1X)!q(Ejz{niS4K?7DU|~kYN|jUv_tc`i
zOzH+L_L|qk)Y8<@49ogkOH0t1Dh9-qV8sglIk}XNhNC0|EUpFZATY2rvotipSd$ML
z{QxBqqQVwjCZy^*XB1@?mt<1sfOO1s3u=Rzf^JsA9AkvKmbg`yPSn4?3`^L8F03*F
z?dQb|TLW;qH6yNH<_lV02Og?HjZI2;m|+Vl!7NP-K&Nh@kA6VImbkl$oHJ6(K%2Wk
z>sf>HOVg<_DT(P?(C%YH&^Q?8t*lVj64_z|xsZyxx<PS*)wPD8(;f^>FxDqPU293y
z`C#B&rt6WJlbBhQ3R+J=g&k(tTx(%&2HJCqdDbPwwI;;%9Rl)86Z5FNkrTUX%|TfW
z^F}bJYl%5qI90*D2y_yoZjQRg;VlK3B~+R4#pYT|LvwQz&@JuQa+#r#DRJ{<pz|0h
z-fj#^tVkHEYmE#*XH%G9%teC2*2u)1xb+E;bQ@Tjng_aq5xgbNDK)XQD765Tkdd4~
z0u!riP0T=pVVI}ufL&{9Ox!7aE{Ua}t0<`2YQ*MR3o~QTNg9}YPGPPkYP8v@C=+zm
zM@a@X3R-CRV{<L&N<$M%15=DKMv!ZbEsTg+by=zqmY+%8Z7(=_Iu;h76A6qlSGj{+
zYh-3X+*plI>EV^&=@HP06jVA!5^LBR7+QkvImMpKEG&sTtrs<yrRIT#7AW0qhRwC$
zvpqlupJFS)j17#58~yMr1)YCeTw0{-lUPa7m<Ke`;z|i-7NFVzbKN*7B^VnR6E~g!
zTO&%%qeQWWt+}P4iKPMN{bf+sS`bwxfaV?2!26!S$J$Y)qQK%>Qv>jc1V)(aY9OvP
zA?^$-=M2!GS6*tdZgGAoXsA)whvL0)SX^sjX$C%B#|&dm2kcryQzB=jiw>{M&CjD~
zXCWfRLRi>bYhht#2D(=oV~i2vT1#`H#u&p=i_$@NYEf-q97is*G&Tg?OM*Ef3U;lL
z0dZ|Gzx<M-R9%-u(8!WHXg)pf@N!Cv25ez#X$(4D#|U#xKGe0AM9t~=rh+pTsG}2>
znVg?nLWLR_t82}{wFCB^j<K;3as9I3#L}Gf!z-!Uz{ToX19MXoOJf{i3%aP2nEeir
zx-1|wwWtVk9(GP<ZX#vdd9n7;EzCjp@M75)2~G*1o85_Vty6wU6{wv+`N>s~@&H6)
z3tJ0wb4$?qU>G~Q!LBtmB(5%lgsl&#{hbG%D9K6G4afnVA_%gVJdEA7rr=Ydu(oQ9
zO$~`#z2;PuPwhqSSW|+fnK|ezAk4ia(6A-$)Ke$WS(j8?T?L8_%&-N`N*jS(i@E+5
z;#w0EV#XL1ob&Taz-1W78Y*E-*MjC9%s_W`8{kL@re?&sHY1fT_m^3knuAA{u-Ck%
zrbMm%C<dM6o}7_dR1DrDOPw|@wy?D@1D$ngY=%8-K}*62mtg81pyO$%oNTe=GElk&
z*JYS{{K4tg!pMlI_N`B59^?vHU8nrg5=vVLkc5vdY%M_-yI2~U;|g0NqS^@|ptWFB
z&SqF$Yia^IkI@8c`_{z7khrzYklF!unwh#|5fw)8u)5a34Af4*zUtD%gsA<zsR{v!
zMTeIsf^Li~)(yzaqe?Rut80xxtr{cD**#FYH8C?ZBB})QJ-m`Si4~G$!6Y`<T3CWz
zi+R5T#I=^hjMacv0p+EnQn{;x)wO1zRt=W*31HV+7!fy1;+#R{EQX_}V_^=;Wd@cQ
zYnDK+H8V9Jt}b&+tW4ESQFqMC%BR};W^7?=X<-Ped9kNkGgC|AR=GRnmlmbxrIw~q
zv5|}2wWgp`_%KhI28XRVkv()s3FZSjbe!^q3E(`2W7VZ0XfDzi^8^^MYc0);iJH@K
z&PXf;Wio1}2CQLgWC&_8T43or7#bKGSP*yahkI#iWl3tWZfc3HPhwJHaS0WMbFsMA
z)WF!x%+Syf^A>DF149F2Lj&UO=MBm)Eu;1gW|*!8?I18THZ(Lg!q_!$XkcPwVN7IQ
z7M559n(3uV9R^LdSjq%rBSRx20}C@OC(43dYhpy)Y6_>E#9}I6P=m#_1}2tfMy3{K
z2F4hxfWWRbGbC;<(m5kFFEu%Xs!d$XlmNQl!NA<Y%m7=u1+~CPIuqL`zq9}rkCfAx
zt_7|A03T?Hxkl6wG{0_YPFzZWl($ZaMM;TN8y3atT0=u~3v)wbEd4SQOLG%*BFDxv
zi!zg_d@%_&*P2;?ZUZ#LR^FOenp;?!6SZT@H?b(0+V}rpcdfChv9XaEmQ_He#^%Nr
z#Es<pCFYgnQ}+s4EM)@d#4U3RV+$j5EOi;Eys$JO>Q+|BoK9k?Zc1vgZa~rDl~gEs
zv4^dx3Fv4$EWJoj*jf@dvJ?zzic`Ub$R!DO*P5FcTbN**IW;pjvot5JRRfuKNT%w!
zP?)X-)eZ(GrUqu%Mw`uy%?(WriCQBHDZyZU-c-o_;yIM<F2U+ra|<(515<446U<CZ
zjSY#pYhK+kFP*Bv3QiE%Tnjo=+|<Cp086XJ%*52hjJP$TVX4K%)OIg6*IF8ZQv$Yj
zf|-e_sR40)UeL^GVjgv?2du6&0o@R4jCs=s=-gIQQv>40!9cDp%PgYmm;!d!ni-iI
z7-OCk2XU>LIZ-_w(3ydtE4o1wW}xC0obV_lu)5aN%p7$4DwY<bnTe^Hxe+ldT8kB&
zGY+pTqUL-*j$WjZsimobA-44iW+tYfwF`vDZ&MX~K_?PW7?$YTv4yRLg|RVc(*w3L
z!PMBC$P)=5<!x|fZb3$V5$K#&&@vF`e2Q)s#&j+COl%_ybF6JJGYbPlL*nLnA+8Nb
zEJ~ruMZ(}<#^G8+3(!G^nCoiH4M8_65tD8eoJxy}ON(e;f`QIEH8nRdG{7<r1}blf
zy`MKx!MP|uvqIOgtSB)rIfELFN6fGV^=2$VbpYlmC9o2VsCI&LVo@G-ckW>?6F^Hp
zObraNjVzfPnOK?;H&z2lw~nPrnR%eK!U2h8iJ6ohV}vzqK{s8S8et1t3nL3t6JpM_
zOD$Fi$}h<;Euv}*7prT{L3a=sV|A^WIq0B#V#-_RjKs_ea89Nkfz`Dp7A6*^1}0c~
zIu>T;mPW*#1q8b#keY#u)wRZE78a&h?u#@u09~hJLEP<@PM`%#Wr?K~kcL8LYANLl
z^s&0u+!WLZ!#t4y>{?TE;^xpHxeRf8d$Dd<Vkw151B+`-4Gj!H2?6s&S<qF&rsjsk
zj3=mvQuzXGaN@^wEofxP%*@=<7~8yqr4h)rM3uK8pymPS=nqi)AP02GWqKZ^ja?kB
zwJ^6d#yqzf7Pdsyya7d-pylk;%w$+cKg<ox%*`#0u&f(5Gyt7zN7SBEg^<)DI_xh4
zt^KgHG_WwiykXqX(7?dd(2Te>OJPOS-^PiV5<spsHZ-s>!93v*;#v#hMw>%Yi;D6g
z*OEA97SnDwoTag$1t@GWcNG~L7?^?XCm^OSgOp&<(GMrkW!Pn<so<PVK7lQ4EzFF;
zlc$*DU?A687!z~b8t8V*#4_5q!9XP#=-_KCJ7f(F4b4mp3@wQoV}yh)Qcou*6?6nW
zMSBUbg{`Fls26E!irE?myVl5*s1nQtH2*}8ora*p*9;8JFnj1A*BY7;bGER$$KjPl
zsd?$8(8KM>Ppil}F~io_(8AKf*wnxXOB)R0TH@9x1cTg}o=4+dMIhIL?inyO$5JL3
znwc1y5i@hD?wFUC3Qh;$#cRIQxn~@E*n-Atu$=n=&Si$go}^I<Ip7dECMjiOx)xMB
z7@3$Fm}1!%2}udW&60pd?b1P`2~=C1fV~%KX>1A_tHHA86zW={R<F6|B!bq6(m36M
zPTVpAjeBC=ZV62Z#I$cy6`a7QxPy}}r3nD8A6rVWumGo9V=Q$UIF}K3zXPOp@HxCi
zH$~l_N@*C=wV+j(#zv-~13EEAmLMsCxS7*{{GyU1%7+l(;R<44cde17sey?h<~l~O
zYt0RbISZ&*At1G=u#~zdC}6r4wA~ccK{vL<oRx;SmdLU3#NrZ2i3<u9>R_y{H8QsZ
z&6nY*dCiHsMa2<*b|iHi3N{6sYb`9z4L~zcn0rnkVN2X?6k&;wyEwttP>I0iT1#V7
z@LVL0n%9DuQ~lLLAvKw<Um_I)8LMl}EI_j)hB(63g1B=;z4DVlYXhkist{waxYiW3
zLDtm32=f#^NbO)@LPTArez-HaG$)73*$k^|!E=$=R<D86tpzbVw$%M|^Yg$J8R&H3
zp!{@-`(&Wd#o=00Qv+jMtr`nrT8yCc6ArJ0IM*YQI&Q_@s<E&zHUVus#a@D$8W6LZ
zLfs=3wBaGOQr9`Zgi8AdaJtsQ)W`_SidI8IGgC7Q;#xJJbMh;xxb_xDN-(iBHUaI}
z!aRB2(9qb#z|4f09R%wBkP-}J2lX(PbZY{-3ee2Z*a%BXFg7tTH?$;bO+IMH7IkOK
zaHRw@6Ei~tY&~?4YmJDzITSR9o|=@HLXCMcSnOa8TTr=bXo{^hZfs&`WM)dljK8{T
z1=U9wv4<__04p;?Lu|E!v9X1b8F3?`K8XrJ`N<inx-O|jpjl~H_)tP)hAn8dusP_?
z7tHg)K)KA&$jpMMktN98$8=bqU}g$Rx0v^#gIsHFO4O(w>^_~~#GJCk6l(2wzzkc^
z`Cyh7pre*dF?%}3Cgv6vW<<0TQWe4ylZsMxLo%x<IouL0*<f+4Dd>1LLn9*#Y_2so
zw=f}YR}rKa8C;rEkeQqcnllSaEu!>dJ1nj>u{5+au`o5lJV(^f(8Sc#(A<QGy?g5Z
zrPM#x4*M*Lp@F4^sUen=;tWkKjSUTmJ3j#&wyC;qIr&AYdC8QHibIkFwy?D@H!`#^
zHNw{CH3Ow*;^rd3wL@-VX%TqXE-W#R3R4f*Tx$us?$*Er%Q{9wGgBjT0}G;Z88~cp
zLCYDzi8hlOwJ@e@K_mGl2Il6*mY8dn49!f94K0ajjf3vuEG;gEw8%k=*dS3!A&Kc)
z(27<=12aP-9IiDoA+C0Cr&piX+{DPt5ZekXP}mxo5VyzQJtw~y)XQ-LRlHO<vl$dE
zSi{!P(Adn-&=O0Z*US_&L`FobCRM>XzqBloN_$N~E(Kxit~IkX1GyNpE;BbbH#H$<
z-a-9vXF+B$RR?cz?TfUuFf%td#JuUl(9qo6(!i3K7GtVHP=09zl{@HIY6oyG1FfdO
zHY;szX<}eV)EJ{eaAHm-m8W#Dy4J$n+z3?jVkyDEt|e}@Fr>UiI>8$>5s{dgPRRyT
z%ybJXZ!HZ#bs6Sf5<_!KQwtNKdOF1l&N-k3p%kyB0p%_j#&j)cWuU3Cg{grVmaw%j
zF*hgb<RW#)q@qkJ-aY_vFQ#k3XSAAuhD5QHU=}9k76!zfVFil#-25VHb|SH*ThOGb
zfq|)kg#~&EW@KV!2--_RM2j(1A+R*HxR}cM3^Qy&d-u#Njm%B3?AS7d<T9da2cJX*
z_tMJzJje+ZkeH;D#B?oaZL@)qg{dLtt*oHh*uuz&xH}EOWkRa1Z(>m<bsD!gY6nZ`
z#uqGOHI_!^W+udq<bz$S8<v@uoSIhxzLUZ&zo>+=1y`713+hE0TNs!aV%g&lT25|Y
zM%=D>h-;x|SotKDQKPSp&9#=s2Il5wW?04;L9R6?x_w)enM&!xMYM#D=~`n0Gh-u5
zBO@&LI~YP;OVmo0fSg3o(vQ6SQmP!(3wAel*BTob85v?(O#yPPg@GBdyEy4Ghi++N
zX<=$$gk|-bk%hUDi79dC-})rxrRSFxQT2je%&-O3ycXt0Muu2UDKWA%vM{$aASxv|
zXB=KpRz%%4BUaa%S%7vBVBSGs2yrcO^Sq#y*r|Ecy}uo+YYmOfKzrUWTQx?Orp88=
z#EpYNU7HCmYJEV5DNtD0VyzuO>k}+My+|x0OU4Gqrk2LUtzHYxFD*(*ElbP+JC_Pa
zqhoa~===mT&@N6aBcc%3l5>`OKx#>533&PpTojQ>V5S66c?+5^Gr=;(2z4z{ZLolx
z#N<lwVX_o<7?6C1=~@F5OAABL+7B%A4q(@s7!b4eLm@0PC7;@J{@7e=VQB$cO@U<<
z5X7}a?R-&i&ZlzY7Hhf%E&nkCmtdGHRUob<Za=S6CZ#Lzk&*zEi8XA^Ky{gcDGt|K
z5VJ-UHt*n-nh4$k<(ywch4o8VT?@Kw9<)FZy{BUc4qKvT{7V&_Gg8xvQmM3H98cI<
znj0FL8W>{P?*MfzQ8ll7X=Y9mXjN+t^{$-99=1kCpc#M6Jx~zWni4hI?3`Fq1q~9a
zQJAg;m$%^2am>*Vh---&{ZMdEETh_8-7xQBajlV|5ojGFmb*Bi>6W<mZBSxaY93W@
z?8Y|F3tHQ34w{q3IPJm6$iUFt+``b1s57yBK<iVeF*O1USghqOXr9;9$j}nYt*p?n
zC9cJYd?t3OZb*J<at6iQA23q_X#K4*coh)l$Py&o5;yPQlV3&k>H({3%|UArj4Uw6
z6QHgos!RyVFHK9Ma^;K7wU!2^=AccSI9zLKK*Y#Wse*56ab9MQu48UuUJ6puqlk&=
zT5$UoloBxShJ&PAOX6~w2Y9-SBFAB9#&j(x-5MEyRtDmz9W04!CxjHG=HyU$ngr9e
zpb`u;5N3wuBxG>9wKOK8=7pt%q*BU8zEFb~)3u;;mOv+`7-QMv4|c5uaW{QH#=#DE
zCKZ8>FiHVk&FYk&mzG~#O#X3fn65Q2u{1R?F*Pv3auPD=QW6701EThvg4TnTCFZ5j
zHf%xZ7PPC#09Oe{<ft8ZyIxv;UI}H#x1%HltYK?tYG`U;fMqWUI3-w`5EZtNlz=n?
z<&>X6X?20swV=fm1}0eMBB8D&s-56odU$2V;gw0L6y7_49JrXS1(yk+oiA8U;e)uA
zxKsGRb2^DdpbNHA^K{*d5~*;dEEd-qm>GlH30Q7h1LraWB4<wXK`XJTna8lU7(r)U
z8iRIhVQtlzfi@r$vqKitF9RQ;LB)GtFvHfs#KH_zCKzJ0Zw){-FUYk-t!RbhGT+SP
zj8yQ|$Dr#Sz!zyCCqxq2n63rY4&XhfMp$cJGXp~dBF4sHb(wBhW_mu=?$p6_Eoh&P
zIp_>4%(cx%1_l-eW){S?#(hfj5-UgyJ3`8_y4J+l+}O|<b9T=NbmWc&ktc5X<d+uZ
zmsaR{<fo+Orc&o{POPp4ZG15{G{xBYVg%Z^VQ6Gb+!$kGQ9&x`G<QM)MuI$6*BY3c
z7@HYl-ed=LEivmDp(9JFy3U7JCTCJ>`~$0N%?&}W#T;!mGB7f;v@{@Y2SGq;Q8IW3
zfg^QpWCcY5R@a&unHZX2IX}V3zzB4981bj@6@%~Gquv%-tgbaPGdDFdHo@qZL0xM^
z)Jkm7c`uNw%Rpx>QD;36R@Z_T0hwZ+#|U*Tu`8@V4H{kFMCv#cln}73{V=gKGB-Ch
zGQq6Nj6f5VmgdBbC%7e+r55Fbj^YGue{o7JDx$oTh8eb?y3EYL*vtTP2Fl35*wWCz
zjHo-i6@2pZ(jhaE;03rjiMl?Zb~#1O98A}O`VPiMrbbxic|oo<HZUb_$CguKPHJ&3
z=-R!~BG3vDDl8Vpni4F`&5TWr3^31a2D{dfxb<KP?)iC%nR(Q`z8xcM&5X@WOiWEp
zjf^l`HAV&|=7yH0#GQW&>P1o^se*GCjKFZM0Vv&C7#Uj{VBSz;WMFD(X<<RiTx57+
zUP@7BPEM+BP$K0Q?_s(YbPcD4vALNU=IuX524)5ZM&_nO^~*r#gC&+yZ3qk;yjWdp
zY+!0^X@I#;$H>6U!qn27xYHv+{W2;KF=EYSmWHOF<rLUjjAj;QhUUbz!61DH*lA|P
zrA4~IiA5CNEsPnq#-J;!49$&<FxT1{ftKo<n-h0}H^jBjlZ#S7=QigSP*m7r9mzK^
zu{1O@G&VEB91%4FEweB*BQBSLcV`rVE;udL^{3L|TbN-BTE_@FB;N@0&Tb<^V{=0j
zQ{vjUPKh}=sZ^eW!s=QRBSTXQ10#&n9*hi4jZDl8h&#dC=kUt(Qt(0fpy5U5)S_g{
zPVWX43RqohWMX7wVuU&44_eV?YHC8<xgWmydBv$zzSR(`YYoiJjX*b$pwCJh8JZbe
z7#I?>^99~R2VZVk1PT}`U~I0n03EAkVuCFtn3)<|8WDGTq+fnkVh;F%8t0t+5^CJZ
zifv>Gw3@=uz{ted5VP-KXl7<)X<<pk=m)eHsS8=3pzc~(M2&h4Gi*U~krrk~CfHiz
zh89NV28P7!nom`5$<HkSk0gPcx1a;KXwe!sFtM;SHZirpa{jH65okR*k#`U{)8)QM
z(CRf)V{;=cBl#fLTAEl`64i@z&M!?VN=;5pq+~k=TF%6p5-beOjVuf?cN&5w(GASZ
ziQBOSyE_AXDOgIXu5$)x%PgApByurb3(94t79bL1jM2ylw8P(om@&pw1vk)kE${}j
z{2XenbI0OZP*htOSr}redBLtF>I9fn1<;+Apam6F8xF<VssW{2GfOiA1I&|)K=(tL
zm>Cnd=M;2*S%q%S;T6TY&N-<?Wz<-YjTyF}63o)l$kY(aSdEdPnT3Hdk*)E>yyVPO
z>drl2x)xM|feyqr#=MKu$jHzVG=V}?nE+|uhGdjd>o@{jDZ#=J)R)B4cQ7(CF|;J|
zW+mtRBI+J*h|9I0qk7G;+{y~-wSzA7CTf<%si-s$bk-@Q{RQMg4l^Zy(yfKDk%fU7
z=GeFqc<mK2ZLm}Y=t^wx5N=p%1yy!#VY(JH17&1vWNw6c(}$6fktN8zM6JJdN=+=y
z1+P{?4jszaSX^srU}j)wWNu)BvC7@Z$jHLT)Qq?i%qKIwl=eGcK)Z@S8{)8>1!QDo
z0@`mx%;`F?7GpqSUP)q3CHT@v%2P0wur;wXGqW%<F~KsjWMpD#Ze(UiR0-w_x<ds#
zXa{aG2IuGIQoPR$n`<q=yB|$4Z&3j)9ksMHCvNRWKx$D@YH2aWE<{f0SX^srU}$D&
zVTo=07E~sf7!bFv#y3Bwfbx^^k==^5r(<GiXkuY(iEWm|$jrjb%!1f+mP#SVnW0)p
z5f4k)npjwvTbi3;ZG(YaYiU5#T%=Qeak6euetIh8C=I95<P3_tI#^w6X<%V)hGoXz
z$jHRh*u<E)ewlk|W_n&GIGa%vp2(UpT?^iQY-C_$jCpRe5jZ7S60`eQ-LbT=G?fmu
zgNdb)iJ7^X0p=ZBFxL{bMijKlJ@@cRss=7**n(;YGc$8DEH{F|Tua2tz*L2heE6}E
z-~!i`3cX2euC+8YvNSg{!`62I=Q3j=MnBX&^Gb>mDc<yioM^GO7(v@I3{1?;j4^Ne
zfQGFxQLP&H94coq9ImynGzX;wEThekTt>`Um#}t1U}<U|Xh~RNsV=BULklZXxmZ(z
zfsuu|nHlEFKxo*S5>?)Y<U@}?2KCaNGZG6xO><J6ho&B@Ye5ZiGjq)SWiZzgRVD<a
z=23gGF!nheQ&6Hc!I{g5yZy&06P(Au<$*7Cj&jH9S_@0iR(=D_UGvbeH6yBD=8{^J
zoI&LYGb||q)D$;1H#5RK!wTwJ;?~tT6@ky`1zq5dmiox&VsWjBrKyFvxtSr(y3Cx2
z^|z%8ZWOJ##_l6*uC=f<H8IC_!#FH#iAV|RuEiz!rO-pMbq{wYgXW_s?&@H5t+}PC
zxtS5>idLv=iCd`xUWrZRjE2><7G@UaW(Jri62M$bM9rJ3;FMaF2i+<SS}RPI4JFuI
zYiVQ(YJ*u|tiLq^Ee|p^C9bFAoS2(W)y)oAYhLiIw2_&qA(j~^BXbKwb8}*H88~c9
zGE(y(XT?#eFNrN|Ei4Tzjm!<OwZ_fCw_XxaCcxSWhdWC$L6^UPtKZD@{B(*I17UZq
zp|QE8kqO4WNF&gQxrqgF;|am}nN{TP8X>j>1Ffquv@`-OR>7D#HL@@^Ff%bCDwjdV
zZ+#L=i$Leq_~hs0Qa<~DC2T=gJD8i8VYv_8$jIEn!h*>26Py$CN~m_UAvCD5xYoqd
z(A>hv9Lw%wBXHQ7S`d|PofC7)GO2hzE6BlET??8wH8a3cI~W@n85kIv6V<-;P0R$3
zeo!-fvAWj4)YQb(&=PZ28su6dW8y|Xd_h;Src$-bi=$OzXaI68=GqUiYt4*^YK{9O
zCKcru(|pv<#M0Q*(8SaL^OR{LkZTQ$i91~<pr|x2pW?A3P-;bBtSQ0Bz}Ujl*brNJ
z3o5}ZiAuMid56Tj)MC)?7w5!Ms)RCD*BTgEnwS}4SxsSVVrgPxNZkH1=vq6fRuEWR
zYieL<YHDt2h^19yY+z|j>>aYf`K5FyZ$alVnwgq|t_sAc%Zv>TEzC@bJNE-zm!;}D
z<|LL@QC^Ed(k_;;HL)}>F)_i~8aFnvFgCR?BWm6O>{?yu*=vUvfYvAE7C<Z|o5b!~
zW6)ikSWY-JHZ(E>tsf<3e;LHJE~$B$#o%7Le<|fhH)D6L38+lKGFD>@x?k4PoTzay
z-+a(A?2<(4>?eXm2c~O5>DC;S%gixn_du=%T|z)OY)ciKia>XL=z=;tiA7XeG>pTw
zX6BX#SauZ|8ycA!851=k3fi5c3rP*WhgYUh$HCZKYi4d@VrXWJd1jyyBy5S>4Hr;K
z#Z4rTgn*@;08R;(=9WfS`ejhp5;2}os^FAbO8ND{P*=hzY+-9|U;;`BSk{PwU29Ct
zc!K)j&JyY$pn&OG&|VVIS@?#AnClZjt~IhG=B{~oE-TJ2E!K4`N>9zB!mT<uTx$Z#
zWw=~R%vnI{p*hLa+iQwDC4g398yJ9Y!N%!YqIx>M&~^fJj~P`$7hBj`8bMk$m@P&~
zN+53h);F=ZIFTAhox%bZ>sSpaY|V|#EwSA104~9dEQuRga>@s-8b7=eTIdEOmgXSY
zOCA$z*qVS(w8Xqa7V27J$^__GO{%U_PGVk4CPgDO2%llP7IXrPi2-P=21_r})X>1#
zn3y)0x?^T~ejb&Ny2MgDfLv>AX>MtNWljf_ZjFtJ8?_4n9SukMrU692VokT8y3EiJ
zbbCAYTxM)c%)KP)up(ABNBwYTdQK))I=|Rcf|-H2C6@bn!Rgl6*n+4XTfT`^nV@SO
zAgx=c!z+vODL#J-)3u<mH3gLkSjNU7DZ!GcIrM<U%&Npn(48b9`P4f41G{TMVQYwa
z(+4zciCb3_k_x((gqo*~V_O9T%4KFopoNzhcNKwMYhqwV#2Hqp3eH7`S3=VQN=~7K
zgFS3bjm<5woQ@82EfFn7XnCs(+FO)b1lm`WlL*=;TarmhXyb6LiMgc_mYs&6bZcTn
z+#1o4M9|o{u5V&#4%I4P?5;I80i^`YIUR^=iMee}-9NL4(vyEM(+qak8kw708e*A4
zhq#uwaWF`q%qzb%GY^yyd=rcED85=4yKBusvm{vNbil4PBdSa&R&dP8NiC)75ms1g
zUQip%40KMn0md1vkX&X?+&TG9RJ?ltmL_n7tr4j2fVr2%7&N|bMBHj&=fn(Z9IXU%
zD451{EqFbc0ce&4%h<TNk-3Q>ar+&dGZKr6s8$+)9g96B7+D%xm|>fXG&Z-iG$3+c
zq+fnwW=;lmCv~uet);PvxgoYw{f)q`H6`ZU4|T^<(3yd$x?!nBIaG5p7T1~@faj#K
zwZTjbjVz4Ji79VW6?_uQ5{pZyo7J$m*2Kch(8AEv086XJ#K_dplE^Z_8MOY3;?*9I
z^a>-fxz^Im%*@c#z!<YGGXYIVm=M=@a0U(6Qggc&j=qDLg|V@*k%2j831(tsX=-9j
z+*y}CiAjk?MWFULEMzFBv4yRLg@K_lXmb|Eyn~6cDF~4;k`Fpr2YiG#Xo)_>4F^ou
zf_B4!wq==M*-HX)s<A0CZ7}uFqWn_b)Dm6iBG6(ADy3gc*MfFL8e5ndVp|z#Vr*$@
zWMoQ2`&QktEHkwzFQ2-{Vq<ZwiG`Vok+})BJ^m&phQ=lq#I2_ANleNItsSRk8HUZZ
zmWCFVMkYpvnDY*xgSbpgh-!l=Kw6B@vnh&8i*%_lse{$E29^dEmd2R(N*h7KmY8%4
z>*;`x76!F%ol<kkD8A1Oi)&2{j4jQKOpLMYhJ(1)l=w0sRoAsNCov~8RX0W5wKA8|
zL$NVk3tB2{X<%exf_Xy?G;E2<Ww5aID$U7E&7+Q6vGveFt_7X;V1ju=jS(o#8dwl_
zD{ELLm5=ntT9<*($u}}JFvD^xl!=+4sgVV7H-fq4mloyamx8t*Q(lQdO~6bEpp%PC
zK&={cEbRm{LsK(T3!>J81*8^HsZM}86>Hdn&a1IB1s~XpS@VKiYevi&t?K?opsTv6
zb>Iio!C1rA)Wp&dw6q4BYt76oiOFT^j>QG3MOpdOJyZqLwV+&PU}#`&V2Ii01>b3C
zVo21QB}nbyRa#8NRwJfsLHl_PO$<#9Eip&!pspn<-6BrmgGM72D6FovGyz>qf_Y~*
z<i1D~V&>3O6~aJkn@d0|S;G>+?J%0S7Sv+2G&D0d!Ll+C61K$cDss+9%ssp^kxH{U
z5U*l}E!ee2X2u5QIPT&k>RdZ@N6?Nf&~|CaNPbv;4iy}Z)wSTGO$`jOmbYe>ro^=q
z{1Qt_64NOjsDlJ5l*Du`sCF<l0_{Y{<yvCyd{IB#S(aHuUAJOuCxAwlj4jPg42>{n
z_rU4a%z%Uv%r~(p8N6i4IlnZuIFG`f8D`jmR$`kN8=GR=D-CfiaVN?;fyeBqdYLfx
zaWG>eGZRCc>DG+6TUp(TzzcA}yGfwQj$#TkY(e9<pj|pfm^UUs%3CwyMwTFT8EmIv
zN@}sLXECJ{shF+>r36DmBXctYT<O+=h(0f@H4Yh1$N`Vul~8>819sOMm>Zd!;%X<D
z5jS({m7iBwnp%`vQVi;r`DB(++ReeyVzjWZv@kL^#=LC}ni7aR;m{{BFD13$@JebP
zqJSB;pqoA{42{f<%`nHtA!PzFb2{pWI}0+Yy*vSXnP6sNX#~3I6l?p|(#(>SKCf?L
zQF>`=QD#Xh=s;wD&}~rU7Y*3L7PP(0$lTNnNBh>ylBhMJkTL<1%RnW9M`C3vrClGa
zuC)XWEtz6jy#`JR=EU5rl&TPtkxKRJ*08zO($o@Ef??jf2gzmT#O=-iZRFMsN(FU$
zOQ?_tz{v-zYr&^N;l90{xY<4T{L+#V$m$QUP1GQ;y4KX##K_#p5=WU}PTZ-d&WT0E
znN+^u0jq0GEX|C}4YAETm>HT`5_$eDcy~r-UMi@s6P#Z}g}MQIi_y~D!W48W6y`cc
z6Ej0|0|Vmb9l}zpsNzE86of5oEiBB8%?(Vkti%Sp*3gKkoiFZ1sioB20fi%MjSY;<
z4UDktB{4NOwJ^0H?!0m53@Th~iX5<5+X<i*R-jctm}g>x4vz%gz)0L)5}(BM#G;f`
zUDrIS92W?7H)cuzjn$Z17+PYUNMK}OU|?=!W<lIJ`M#N{IXP50aSiNHFoEe>(A~#I
zCgujl7^g=X85kH@m>HN7*S>WsN-cryn$J=92elSJXS!2#suecZT9}!c8=7DXThRJO
z(0(JryE9T1f-`e+z=ztogRWvsEuzMKA6Q%qzI@Tl&;(=V6m&$ZiHW%}abX*lnV3Xj
z7Z)7+$OKl`ni?A$S(sp~s{!RQ6H9Xw;#Lbg<(C#w^<WCDWrBgJfvJg+sS)-v!PLOQ
zf|%75sR{vUiD_x6c^Ua25;=e<U}Ftib5mn8b7PE~K0sk>W@2GsK}_vXtN<GL$e_4M
zi{dv-*MdjwKo>z_)MX&onwuF}5ZAtiw8lL$a}qO)Qo$X`{L-96$~K{5bFI07rJ02(
z=G_?(*BYA>cbXZ*wcxo(l<=X1gXvlWQv=Y+^Pt^^X#Fy{Yl&FftnQdult_(23&nF-
zU29=%Y-nPDadRltwH5|M^vl#8Gb_M71`2O<KyfU#J}>A*0%Jo10|WFHBiyybg)QZW
zMWQ+tR|#ffYHV(7fVI2@wQ7i&FG~d#3F)-29l+yYrbZS<7&E8fum#<MP1LR;NG^ly
zIZaV_EG@~%FU1Hf5(O~REy%S-#zvsDi!GN~m{=GPwI)9(zpym5BoTDOLkg9SRKb#N
zK`ll@6GKB|jJr6&VQXPd)LHK8jyXBtYoBy|Ayes8IrITX*cyTA0Q5dD+_glE<d-T0
zlx7xFyJLpcwdUY6RWRmsAg;AAAZFAqRUs%fw=^$3pYm;5NNF3>wV-{GMuw(lh8W`s
z5Z77~wJ$PNAt1Bp@JjFmNpLFYLQW)0$!21@7L?0OL9-+nb2?zxS{fS|5mDZzDuiWH
z_0S@)53#z|(#*`%+#F*+FUYkPMutYj&7210=anRb*EfR$IHa_Q@=bBrTx)J%U}k1%
zh;i<Rk&%Isk)er^2~lC|T$)*&nMlRyew=lgrGbGV=1FlN*P2;cniH4Hz_mlFu4i6e
zesXGFGF6IPY+-9=ZUH)F8e4g53OdHun5eoeAm`}hQph}{PbQU4|G;#ufr*8wxrLFD
z5w=#1k&&r6QR4~f{&`i2R31&hI<f>h9UZiu!VG<<A;<#;#%4yuomb<WSPJSyf_EC0
zrRJ4TBY3fdt*L<-=t3exjI$}=t|e-g#H+NZu#~#pGA!)`P~XAK)X>Bj<1{mfYeCH&
zVn#olGct>)wsinp+G0%!CYEN#h9(x6=j0n18JK{MwIilXP<Je?qOi*dbs;i^JtdeJ
zTbLSP+;eIKy3^3a$e0+{f?DICVJ|wAw-zSG2F8XM>u=$%C87<Ms^FAZnv(~f(xcvP
zD6C;?3R=!;fN@hZ+_gll2Ls)6S_(cs(kZbhDW58%xL93lY-|F$WD9*IHrTbMre?&o
z6I}93t0)`mKu)m`Hdfb~n4214x%~&`TH@9$IVD!5f>JJ}v!xJsLP)HxH8(Lbu)vWL
zKu6LOGY+QUmzY^a?aB<RYmF^It#OR=6To2$J{Xsn@)p!$%r7dYY9}3wYfUT-jm=FB
zOfXI}gSyt3lpO@l`FX|EJ8KDxYe8e<pf#cxGf+_1nh-ZD4Q?^&x~Jx4rdH{usQc$o
zq3FfpS`$l9M-g<>59W9RsKsbP-0C$y&{=j=u6nV#*22`>z{J83+o&DHwM3P-VW~wW
zrPM4Cu=gEIEG!HyObyL2?uLV>1marbiN(d4dDL|-*08lOH8Qp^vc%H9g@i3pBTLTt
zIXP55ZX8>S(Ztfy!qC**5M#A4JZy<ty%v&@n4hPclUl4BmS0Szm91F9*3<yBuGzu_
zV`U)NwU(fogP8Ibc1vJ76*v21b*+W5g|VrD8P;}!rHK(KYw`mUOF-+#Ar&XZBzD&t
z8JQay8=$YmhJ`J0bLgO*-PFEr4ZCYi3@t1TEYR13!CgzlyaR02rEg+sQD$-~c(}$T
zu_!%1vxtI`1stw5GP5+oSYZWsEfFPHse*GxYB5z8<YO;yO${uJ%nU3HG1iE}T}xD%
z;G17sMb#z^Zr7R{SQuj)zcsbAG%+G>rAkO*P7WyEsaZc@PYFgQ<|alM_m{!K){v;$
z0d%4)==g4m3j!nqu)EgS6m+TsmXUlj10!=2;`Z)2XB=Lcn_5%}&R|Z7RN1?Q)wQ6p
zB@080yEBZ83?Qy0s#W7&l$e)7<r~bfyVlUiz`_vYUJ|ftL364^m0+OqHkYbro?;!V
zF*Pu^G&D3bu)vxUj15hQIVT@_J{Vm_n?Z*<7+~w^m>GavOI+CIgI2jyvqZoVwkGBV
zhDHV$_dvl?0&zEt`y?tjB^H-trldj!MGvnkETy0t1D6a~)2)e_v7wQH5&EtosB4W$
zS&0pu=PlI@phj;UyK7C14b6?rv9!iPDS@c-6H*oYQcKGYucX$AcHp4J)*3f80L_z|
z8e-hf3k_Q$_m}zPmnJ0^rBdZobckDVq+3%n(0*QQEk-i~6H^mncF3kG_#WO3KE({Q
zLNJlC3qD|u#U8dM#-NEYY$Ku&*Ag*b20H&XF$vVqDK0Gn&7;F@q=bPz-5QyI+63r3
zWWg!H#MFeCy?dz&;9g|j;gyt@1IWI^>RNL%kZVn_w8p_<YerPf>jdhd=TPs|B9N=G
zyVlgu$i%=1r)!C-9efjWQgic*O2Dle=X}u7HC2>`GgjA{fDZjI#5NZRD#1()iRe3|
zDg-3v<R((LD#M=3%uG!|XINn^Z%xcih`Wn3H?1fYyv-1_g}^y6w}1)-1NN}BG%+&A
z+!qPSWuT#GV#X7wax4ibu_9rtt~E0-H!?B6IKdm{T4MH`symie<mc(SfR5*+-q;;>
z*BTicfktdFM?}pGOh5;{6AoK-$I_(KviwR)^A%FS;_5}38X1B%JYa3#nwlFM8xeMG
zs)BoIW<gPYURf#?*8yP-TN7hLBTF1DMv!ZXDifTFGSl<&(-ZS_19GUfA04Y}jm=Gs
zEOE3LL9QjL&kGsJ56L*Z5_EubDpiiu!0uX81JI@NSZfE6Yl$2E0CmqnYnrLptikG9
z6Eg#2Q_S<m!DWJ}xiN9~oI=9Z2|Nmxny2fWpHBJFHP~HiY-DU|gl)}|nSrUfu^Cab
z(xB0g{8H+kS%cNJ76zcOwZz)fF*P?P?ku2y!z<HELFY$OaXmIx*P0rdgSxgjN-z`R
z_C-3S!WPyf>IUUgXNeVd*P2)wo8v4KOo=;@AS}O(%ByN{^mNQXyBbWetqcUETT^20
zK2~=u%}Y(Bcri0-RfeMtW^7_)VSs%c%+%bJxO45Gr_?}>RB@xuU@q2_U}kJ+Y-VJH
zWtIdKwkE{vAb_5(Q<|9rZjC#ZQ8IuJ4`HmXH8wQ@t;fdUS|azM2PEbsrW8>(Ens!6
znS}{xE)qwXU~Wv*Y6?j0;8R+VnM{pg8gTexcde0$v84&F^48p#gmyyk;gw0C(Xdpi
zl)6}5Yi@2~Y+-_NHU+fiwIJ>mY~TE%RO+5|iK7HFH8V7}G{!i?3hY{QV@qPfR^73v
zBqKi$v{ff4wS-!(#u~OJ29_q+cNKx|7`8MfvJIA;0lF@dij8q><t^wIY%>!R0}HHu
zUUOqh;`aDMa+z;pQ8B2~>jm0WLUFeTYuK6^7?_wCTA-g-14{|Soy-}QSd^GT<+>NU
zYt76+10Yy-Y=Kh(G50{FD){E-Wag!orh$tdDiPRSYiVp^h-3T~loE(ax6T=$rGem@
z%sG=vqqtaI3p&xk(7+Vy7^698$qg}mUXQ~olMb&;E=nz<-fS;c*P0s{ni?2k+zkgy
zx5V^x)cs4V@=H^TK)0xXx5`pu**LZ`!PLOa+``1r5aZ4lm}`k?F~Zg-c%&93<xnkf
zv4*V)Xt|vs#`(7}*AjDoS*ikPM6@^~wJ3>-<pNgMf|lf)8e(rJm>XM~5;gh(DQ{ge
zQ!+ufsDO6IWu{U(HI2o!phHB>Kyy%7#}h!VC8|~9oB<lZt)k|@5{`6h3|dEpGnWx}
zpH5h2UNW_h%EuD6pjl~SV@p%)GpC^D84+Qt?q5W`<38YZ3s%>f7@C?I7-QVZ3dv;_
zro^rNfTUaB#ANWU`P4kn%{r7Wxx?yOb0Z5AOJf79qaUD?cZj-K$v3}}Y9$veaIw1<
zbWT3z3Er@<C8m9w3R+>6o0*eCm0AI>YfUVTOe_ts?cy{uFt;FTJOQ*XGJ`66cwsID
z(Ky1^1T<QMy$xnzO585akbKZ^b0)Z16GqVrJCHje7^`c|OiV!wfpDc;;!f)g&Mz%W
z0qrG$SVR>Pt7}1P!3<2Xud6Y)FePq86jCMxSLT!@W`YiLcg)M8c-uTy*P2@zm{?-n
zhYm`&X2i_yr7FPB2Xikyyt0ToLkd`3Yhq{)+Vp^BMJvR$M9t|qC6=aBwLri*17%`r
zVrgKA%eBPRyrl}Ddrni+i}I;C)r&Q3%?(UUEDS8s?|gxlx8^29^mIxUoN`htbE$Kk
zG(3l5b*-7Pk%@(Y5%wOsg*h>O2Uu&|4RlvvVh(6-CoDCuB$2X~Iab#igLh|`VjZ<J
zw<PLJl~RSE{AB3$v5t8uMbt^bSY2ysX#zTt0DIV4S`fF&9eh$;PJStM+zCkxSY2yw
zW^QI^fNfV1=-NvQ;?7iY&d*DM9-!b+nn|5S*;rj`W^7<)h;=14*tNv1$p_7sWq_^&
z%cH{PCrHp@?>m?pnwo*O?qZwqH@CDfB5HQeJ)^QLHHT`)ses*!HEhj|j7=?#Fzz%2
zmtYp=M6R_9pwGS1rUoYF7G{RVMp(;R3v(jd2|oFyDXDp7ppyeB9$N$lEY7;j($EZa
z8W6UW0CFu+^9})}C5d_Isl~dW4U)QtJClo23n*<ZU`+|8rj}-g#@PG3AlDMr)A31E
z2u>_5OH8NY6=qmnYi43%W@v(atj5CJ)SL*{s(a?8XQbxBqL4~7R@Z_qkTo*FxS<A?
z%gl*L3F@wSg`gWwLF+DkGbz8}6yja%t~D_SO+{iI5e0=UQR^7pa;Ut-9cL~xH#ajj
z#94xw5zz)qRRHap&#Tl;EY%H2ElSRyO1Xd~Y)vc;%#6$ojf}C*JAiT-5n)@Z5S&;5
zi9RZlSX>M0K$?Ma87|kF6R}3LRKY1fvlz7NI5RJuYE>^**P5D}n1L<@!%^Ov6Oj@?
zcNHZjXMl#rJrYZ)<y@?;H8(T?9jk)1eQRNEO5Cm@r=n8O7W5KoxfGP3u)5a3)WXcd
z0Q)>I$hAbI+f)UQ{G5`i^2`iMN0>pbgkh|%H8nFbv%q>@jhO++wM3-bR0a3c%;Iv;
zaSv2<E>_nX8JnA#8)7^6!_2_K!j!lbR!)gk`K6$CLUAd0X2&N#lVW#cb*-tfxw(;n
z5%$`_!pwlElmOd(teaA*OAVKTQUg}kni-m!8yVoNc`b+-8&6dT&&*3tEh^4P&7@vy
z0jq04NA;SU;%I|e5P2I#P$_uy7CgpC)37x)v@ka^!no-J(yFl_@~$GEL<P5^)Z)Cv
zO32=0&_2nO{8EYzJ;WNeCg$emMp(~Y1LZPv;!d6q$;hPBc{LWG=*D&;0mQXLjoLYb
z7KnltQiOquF;E_%9Agbzb7KoLO9PC1NuVjg+=!_17BYV8o?4U(8ovb>W9p7YNkyr}
zIb^rTu)5a7+}O<02>XsL3k!4NM)D!9bp#E8<mZ6e3$P-Mf*{7~T2oUKGfP8rtZVHo
zEX;{nBdYG0laxy3Q$KL5u(B|)FgM1r=M>~xB2t37V_sfrawP@fh)pZjur)C>GdIEG
zTB7FALo)J<QuB&+-E*jSl?ry(g02@g!ahp^3R@!Dx1jY2MLE<?3)o$2VrC8sU#zWh
z3v**4b{Zl^n-lX6F9&raK>f7jjKo|@`af7*Yi4O`4qBFv!?nbn#~7SiRF+7c<>K%p
zjNP?n7NF5_Tx9~WYwdC}^NPU-)`VoF7Ufc7!3tK_nwuG$gYHbg6}Ci;i25F0l$;N~
zITW-{hdL*KV0En-=(06KQ|x_S3v=RD28N^-<%0GVQDxyRG%a9pt%)V5KVxiUiPg21
zMwVtov=h`Fi*i%*N>WS7uV$exM5eH~7BqfqVrGhC1`6a_BFbCPZa8Y635BCBGch#-
zopp(IE)wKgqWTU_pd~<%ZJeMcO;{$`Z5c%9Vhvj}0|N_F14FE30?4&Q)eewWjav?=
zMk~<;-3|vDy+PPa4hySmjZIB0OpP$^h6A@4L9QjLc5qHDDyH_ir&wKU0&0L6U>|L^
zG_o`&s?Y0`2rF*EEOLSpLl0Khg4TRl7+~K^0&*=8xeQkGf(G+bODP^mfVvy2Yt76I
zEzFECZ&m`GR|9e_Q7IvyD8DQ<FF6A=?NAKv`GW4nhFVJ|h1IpDCI%K3#%5U8)qq?}
zR4#+<FC)`oShZnwt+}D8g&FQL!Gf5SP^{ouT%1@`Le0e#*k(>mEDa1yEldq8u+HvT
z8d(x|vl65P^Gz%&$pmlGpvJ~|tYK?mU}6qRyVzPaAlDLACios+Sq14efD^4}aWUxp
zEvyktv>;a3np>J!m>Xa_kI~Ek<XR$f8R*=P%)C@8PnltLt(mbIr~tz{#%O75K-|qr
zzWJbmu+$>RW}Se<qSO?M(=c||8k$*{8k*utx5VA7<Xn_kM&%={u;nsS19MXo3rj=n
zGf<Ys1{Or6Tc^V-^A4{BojI?YTA~X&e=7-e{|iO?(XoWBiG`_!fq|(3w!1UT3_z|W
zVmu+WSiv(dEx)uVkD6zH;Bc*(0ch6)jxvF`o0>xsGxO4^Jp6&hwWbE9=9U(gCfLru
z1(ykyMAc=G@)mNNFl-1+*N?JoMp#{IW^QU>X>5!wmw_&I$8lGYV{vhQawh2TpA^tZ
zKqV!V?{7dah_SlX($vhz)DYu-2Ll5`a|1IIQ=)Sjt=Ekk8<`kc8W@;?#_TZW9SjT&
zOf1b!4T(G*y|lO(T$kxO<)@`lCjny#TN4X23kwT#1FR<(85$TE8Dg)?P*Q?BXe)PV
zdLDJxC}44|sez?AXucoY8c{>={beNNGMCIM&^{fX)XJjNJc@@vFkK7U(`{~HWNc`G
z-itIa0^L(&Vq!{EpEoEoH$N{Wm8zFDW4ac!2;0QS$k-60HEv*NU~Xt>W^O=C`&J<!
zCo!{%9_Ni)ni?3IVa}Hs7#LW9jvU4@<ByVVK|P1E{LErXSAe0GVOYb~(!ki*(g5RB
zf6xU+hGr&~#NG4(o_H#w#wm;l7h}2>e8-k4Xm<ws`dhebiAcAl3IRE(#l@M$y1t3Y
zR9k|J>00n@!j_=TFX(GOAg(nvByP1Zq~?X)917t<M{W>-MIsBUYYmMIO)QNtc6P&D
zi(`EPQo04*V^;}XhwYS~mq*d$E|QP1xYpFb$kfo>67!x@kZUb1jLmVJBZ}nORM4vN
z49Ja!poRmIg%mNdxYoqd($oZWvK{*Pt$~4|k*P802z_F9AA`pj^Gc|4-UrN!SX~Qh
z(HI*TqmPKfTua=kr{FT7q=X9NpfI;$j^7#?8yXrIf#w~IF;=R;T}xEW8v;5)l*)6b
z=wS<Wt%<p@5ypOAsB4Klxd^n%9dx393L<DIW}&;*z`(%7(iC*?fFZ`I{&3e4HK*g3
zNT-vFj4jN~jSVf(#}i<#C9b>;NG-`M(RDsLnQG&qnCaF4)Y}DJ`(<osiO~jwlnEwA
zM6_zu9W&EQQ<HKM^Qg3#6`YDNQv&D~Y;*Aayy*KPp<zqpZa7f7O$4<Xsko34)3pXB
zmL|pq=Ej(N{9&#o?nDCL{Pa93Z`i^%R%2pmZeV7P<^D3LYb}UL39ylT(Ct4J;6X<B
zQpz{XVur1exw(N6s072f`xxe0;%23N67!04Qj_vai_&#LsY2H|H7}FGaXU=c8kkrb
znizqOio=m^Es42VN!<f9&6`8n<~MN8LMAX>3+j-Wo0uCLVw`#k4O>fM`n;gfEXvQL
zX4QaeO}?RpskyPCIr><Qfq|j1p}CnQajPyNEn2VC#5~Y8!;t*a;v9+x@G!&Hz{JAR
z$jr<Vb1u@rz{teN*pSE*4ny)wi*gdd6TQfhNf8^1Ye8e7=Aec7n0*JZYfXq-YZq9W
z3c8Gws?NpXT4T^{Yv|{G7#M(0#WljQ3J9e&4o(NDy1}JYiIfj|z~cj}YYhyH%uGx$
zW=TN828L#q#GNwjTv}36T9gR4i5d(nt~IeVGBP!`G{m_52jp5q19JmnRtBajfVP!o
z<d;@Z!<8^Iu({U4(#*iv(gaK2!3Z=`YHUPQYaE;wbfL3*DXF^7`FRwd?2hhQBO?<-
zV{<b@Q2z_F4F+*7abX*lnVVQdy`cnf@ZxYSsJDovyoI=yxO4I$Ve5Q&WnL<kc1mMy
z--2$kvotj}!kBjerCTFYLlX-kcEdq-Y?Y>_l~VIqZ1k`-FaWi0O)O1~4RNJgQ)0##
z)g5yS@-x%(s5YpCH6?)iWhN%Zrp5*am^H7F8EDYXh=_5pR0a2<{NfyH4t-#6Czx0o
z8Cn_`8e*(yH83!;w6p|G^b#}r;agginwdjk6A>Ju2m(DNn46lKTNs0PJ7BD^GB7YU
zwlFs_Hz8&&QX#N3wWK7qB%g{M9qfGvW6())CKxAa7#J9v7#bLvm=Mv6g!LUDZ7_Am
zq7?A_4uwID9=4!dW^Q0$3TlI)ud4yM*3`tvn3$6^V6OE|%uOw#TJYj<ts&?pJIq{W
zY+`9-W`v{ffYPe*$xqIpZg~Joy_l{wFf}wVFf}*C+~aRxU<?`%H6U&zA5uH`fKGJJ
zgRBhn%`XDYrc#g^FkK5SZw){-FP4-5a;>4I5!NyRC2S#Xg{0b4-GKbkqT~$9?*hVf
zt$~S!siisSJ_^kCtqG{3V}N6aEQ)Kx5~<tz0;L12HLt0Gp}Dbzr3sc^q=}KKfsqNZ
zr}gHQB&O#jf;PQ`q~;dnP+>|PYuH+t8yQ;~n_$lAm>8QI7#bT8)nW`uEK99~1PRqh
zOxJ>X=%7hyY<&k4&|!?0#MQizl<Sw7oS&0e3|@chlbA{MTxMWmVPRomW@v)3n!>=q
z1avr`DRE~3fp1$Y%1_Qn)h*61E!OoZrM$6=8MdGvx`CmYA?BV_kZaA2%nWg)Ta;Yp
zlv<Pyu6n7K3P1*7ajmI=fw_^Hks-#tdj<w3W~QLir->RH4^GWZEuw1w9BY|iVqsxy
zZenPJWu6!0S~Cmc&dGPqFD)r8g6!a=-JVm>Jg=pR38-_6w!#V&wxCsQ#GUp4$z_K-
zOEN*rC_qPfQ-0Y8mXu&(VP<J&Y-)sM6_AOAnSrGVj?>Ig(rtKVPH{$JX)$%qa0jJX
z5XRzKQ_wmDGjmg8%n?zrYt3-1x<qkpP-<ogwfD?pPq&s9W`<^<Guts!0w`?F42W0-
z<eih6nU_|Sn3tWJN4?G6Si%;xT*Ac6+{gr1*y6Z36eVoKk510Xp{7GY2?2ZG!NSbk
z%-qxjbM(X1$kfQp#Eht(4kVZP<X3`@7EUb&trE>GprEw~axRvzH8n6Z0i9A}h}lj6
zxz@shxceQ#KnHVDxuJl?wV*j2Q!_(TjGLMb3`~v8P0h`S8Ba)6a4yQs&CkiFbYcV)
zq;QPkS|cM%6LTXIBSUOs<EAF&hK9yCa+%BFl{ugre?VghDWLI$QYxL`4tFf}bZcT@
zX>4g^hS@Izxz@;lxY{8swJ150y2H2FU29}$W^9Qymzf%YX8wp8t8pvJ&rE^b6Nm^L
z3RxH_0W>RZW@%t-iLC@PH8nCfG&3dQ#H~~X(E2rMCj~67HL)}|u{6PQ7Lb7f*tO=w
zjpT!7%s|&xQFDS1i)%qWbaN9dClbJ1OI+W<IX^e42$bU}jD2M7SX>JVSW^>ALj#Pu
z%*fQz(8$sh#|eihb(v41f^$Y<0cdZeZouJ{$r*{IRG62<;#$x>ALd3ThK3mPWuVy;
zBTHi(>&DSauz=Fa+{C<eiq8`!7`C80woHsM+6mx&ktXIQM4sE6n3-3i>sXqTNWIZ<
ztYK?rYGh<$jB)ZjXfV&j!pz75`xqliN^k?+9_yP}lv0_TjT}0Zv9Y?=z}Ujn(g@>B
z6_{&@8CjybL&4s}?phO5Q%hrPH`ExKgNkCJMnAwiGBQCc6hOTkmrQE37%*K6>X#Xq
z7?~MhnTs?9jqu~zhmMjGg7Qm2<pG5)L~wv25tyzu0Ij+-HaEjOXUV|8%)rRh*o3&*
zJ;-Ujpc8OGV;`V%8U2fLQz;wF!{%BGb92x>bc`~=z`)GZ($d@n$GLVWVH<XMB~@?D
zfCMlW*MfSHrlzK*7`L|@7?_!vm>C#a5Y<j_%Ph&v$xNl{<#1SB3p#4t$k@Wr%oL*+
zX=Y|-W^RO|yhRDy;QZ2@#LT?p{8H-8I^gK@TAEpy8ku06+YAa@kZW<wK%uzSH!(S%
z+HS?_TF^>tb5kQDEbAB{VQYrHhmKbBIu+%Ylu+Yn5=fE-lUP%Nv7w=<k%2kp+GdDr
zEwJ}_QNq?azlhq?rnqKKEiElgjSR7j+L@VITACXZb(&eRf^Yue)kV||T&!VhW@&6{
zX@X@|+RPj@>O{;)zPe*kVqOZhx5Hs|E$9d<(Ctc?Wr8_q-4fyb4zQU>*f>7u9JZuX
z%D2Q}b*+VknT5F_#tDZ8prxb67MAAN+hAz9%(*BrPuD%QtcVJ8Ip8dYE8QAe7@325
z=~%+n!obpkm^Gs6jzw9ZwO~|TvV^6F4r<j{n3)(D7+{WrnVDM}8krC`o&XsK^UX}o
zNX>yPY4uGlN-m{nw+6P902=ACz;ds&fq|K&g^7iU0a5b~K8XqehgTMr7E^J52BvF4
zI}J^Y49$#8v4pLqg{cXV<6uGgrMZc)6BK;%OOvQD^N-!N#-J%EjJt{q49pD-EI`M@
zV4aml%VoYWr^2!b6=)o;wKOy{GQ=DQGdD1_1Pw!DbuCI=7L=KqLcK9@m`5>P3)&55
zYyld{$4m*JtFcW?aP-hoU0a$<?E_k|mtdv_28ITpgYB@n7E}xqGhe3em`A;<V_`vy
zr33@*-ZnD^-64xDC74@+_EBR^325mSQiA!Hrh-;t7wbBu7AGcC+G@a-5-dPB6`7b}
z*+F1#WMmBT2{En>N-ZwV2OVsu?wFKBr4bNpuC+7=b!beDF-DdQAg(2DU5!&>az-Y2
zp0|i<Jzq@Mg4Weo7?>Gg+q(yLttpY?xA~dH#g(9yAC#X921~fuU2ARxI?xPrUnIn}
zIQqOO=~n%4XI?6#s{?Xya4JQolMryNp_zdZmUaTzwPrZhC!o64Be5t2mJmRLHDRe0
zl<)G!5w<2~2F3<B!q%L)`*gsEHiJexz)hOujMTEC)Y44KZkfj6T1(KV48{s8BU2O5
z;UzduI7F!(JW2}+5-AT%SQ3EJn65PdZ}0~#tHBbs#%8AG<~ZidkX)<ok(iR72QCnF
za}KX4*7ZpQjgA)=Q#i7Z#kD4u7M4b)rbb2>Bl!mAVAmRAA7eyyZE0?PUI|s5ioNCq
zodslJYHEaKCAPV#sUhg@8mzSgl50~Hyi<$7=N3_xPN4|^PGJpOP%j+I?Un`x=BB2W
zrnpWsLvd|TelBRSFx(#MFtEAS!qn2xz|;`SUTJev3qu1lOQQM?kaj{?Vh%N$;ZV<F
zx)!w4(9p=-z{DJL)DE<{3^ZenH6@^wx1gItb8=FPiXlta5Ci2<d&#5FTnjy22YijV
zG3NRNb92yGGmf<%Xs&h2FHK83ypn1=GeG`BbFC40CAOh~p#_#RS`7?9t_4l|5fipf
z;QgB^sk&4=Fdx&k;P$Nn=*|}`DZ$dr0JKV!7}o}aZs1JMqw4AptgbZ!-Cu@z4;1JC
z7z5CaCD_Lp(NY2=mm&5*g{4y7a>VLdLt_&YGb1dy%)$udTH<aK4yJ5E1e8oMFs5rk
z?OOwL6EkeB8i;FgthGZ6+pxr(qWsddOlq#o$8@cMiG{g|sfn2}#$B9{lwfXPjD3|m
znrodB(-TWTZAH*_PAZ+4kLg;_IG819L<Y-vf`yThxuGd>`_MxYi%LKZaVlP{gr(1G
zY;I{`Vgwpm!fe$*T#I8(K3dp9Tua3+B-U09*tNzW*JAE>umDZ1n-Z7HLNcg7y@#0+
zK;^B0iJ7GlmNoex*IF18cTT=@Mq+MKQECZQ7JYyM7Himo+6k7H7N!PRX8bLTOw5eT
zi0MUwP7N$ANClmMOVbfi&^VZhk)a8ev)2qPj7-eU42jES;MyS-v_&?(G_@$RBo(xI
zJ}i@>b|lu6U}|h(XkuoF(JzC#)|iNS-ckkM)Z)C%99^fx<Q%H)(!k<cQv(wNV?z@Y
ztR<L<g`ov;w^oIKc03g)=2EeFi=_kuolRkEU}$1yi7jj`3@nXIiD``&D>#;xq~;XE
z&fQ9^%B1{&f2?5(I=;vR^Sp6TU1niqVnWQ!DLB>YLQWC&IlM9{vx*w$x?^#ziKV5n
zsiBD}#(j|>*II(^pvT_lMXMd$GxI^0vO>!q>QGo*3*MAvYG{OIcF)4d5_FI#_S1S%
zdXawlMY$9X9$@hxR@WMWZV|^kQ5F)mpwUudTI0Tn;E^QoSv8JSYLjDet%;?vg|Vq2
zw*6(`ur(!a&uLhGW<gOZb$9S#aV;n%SeP1`nPO=t7@M0K<JzZ#loHe(b4pS{w?(E<
zZF4L*U0`u7XupFgXl@^~&ualbTEP_i+7BexrYiVlrlzD86{n^qB_?NpZK4K&)wLFu
zW@hHbSVr<et~D{V#GcDg%7jvdfc(rN&}y*KBHggmoSf23ie`8re#LaHk-51cXd$Da
zIkvF10BwRI!nNR54b}G_V|T3~X!{VBJ^mKPAlDLiwlI~3XCQ$JC2_bGbYlXR9a|9B
z;#m8Ek`huCoWbMbsd>82`K8nfWUQ_=Ff{|+xQV5wV`^k%W@(H)m!Y{9Qul&)OBa_G
zf!v&0oJZk88*HvMvoJ9-#&RDz=-wI&P)m}Cb3aNId=ra6C(YA#=ZgWT4Q6g+VrhtR
zvl7^~rUn)!*mq~3lwe+^xpZ66YHVy`X=sMIdd<Sr!qm`&m|1D?-EfIiKI#&C`xdk|
z!O{@RiLxNq8XFL|``EdZ!bA!!2aqYubPGD`(ioH+u=R9IEliEgh-)YKrc(U?7#v}1
z2%1H=#GVq2%}j_Y6WsEP(kY$cM-EpI8*A8tiZ4q;6D+M7Qwvj5Lt=W7(2@My{LJD+
z>fN`7&9xR5hK8V1rm^(POf5{!iMoq36?6hj5mkrrv5tNifbP=)o!g9YFA1asvoJOx
zvYh~)LNCtG12@Qh5-Tasb=bnz(%cl3%do5wwJ^0XGcz(JZXIJrY98eFW9N*-ymYDz
z<6?EK0VtOlSYpmQfLsfj;UlJ}<D7ALRbFaFX-P?{Zb;GL6=k4ZvZZ;6r8(rc(6PAI
z)WFyblpHYbAONQXP!UGdyaQ-ATo&jwMo=pOw8@_e<6&4_3pzo^1aveM=DHdSQw#9k
zZo*+(st}Tq4?Y(PRPs;@V|A^msildfu?f~P0pwcj?F6iCF!xk&u?s%;BRI97L^muy
zll)Q`i)&2{j17%UER8U369%UQOH)G}d-u>>3vP|4CYI)<mZpJAh2X@Zk_^g{1Ey<1
zXR25ln^+oP?16&0mbmd-Nc$FgGCpVmA}lkN!i6f>YhH6xP<e}GH=Kp31!!9&2`M4C
zG^ZdlnX(W?q<YM-1r@cR63o~LYc8`iH6pH^5R_k9OzkTevAWj40CZyl#tn>+lmOah
zLbyyw1#LMkDk(~(>N$MaU29=vVrhUQmsyw-w-VbazqATmmmwmOViq>nT9|`fYl69E
z$-)$L35Xdnqs<CVMM$@{mzHE?Qr=9!n#(NAKnEEbVA)>=a;>S6ArZYu(CLw-Wr>-2
z<QJ}3Vgg&(T3Q%^TH_dZ8iLZTrGcptG40z@1<<Y6pnL4FSW31KHrHC1f%eT~-Zc+#
zEwLxcLdsjmycE!ASW2pHP9kVFin4R)vANdL%o1ECm|*NB0j*{-GB6=(4&5)mG7+?X
zEm0SA4-mzdDuLqzn`<pBK<xx0jC=RMVQXk)K-|gmKKZ4oMN}A91UnN-U~{ddk+F%1
zr6HD`hTyO@HYTby?hZO$iE68wA<o6-S_^X%L(qZlm}~Ma%*;%TEQnbnig|;qZ(<R}
z$pMRNO+m*oni`p4SuG6O$z^Uq%=%mP$THA&II5OkSa)%nSQ?m`m>HU4+|+Df0Cp{|
zb&O~&Mz<nRPlvim0ZZ6|?sqUTGsHSJZf0R_VMyf8?wrKTqSUnf(sa;$!jN=FDT&p!
zh6a{qhK4v&f`y?mQT;MVdFz~Cln1&T4s>U?PhwsQWk~~@Yb`86X9gN$n|Cm?urM$p
z?nK$3{JgZ(()84##7s(q6s{kuYt0Re%?yoAv5bwIfyQwRiEE9QCW9_G4NlD~NzJ3u
z9dVeh1?`3dB?DsvEUj^nYt4zdF+tt2G$)_BSq$sQl99QYnW?3LrGXKaF-9{B&<=I%
zEk=~Fad4_l)%D3N1D`1jk4wrJm|+WAS7TrR>X~6_Czu<W8JHLnmCJndON&eLGmCVC
zQgci5((|dYf*h-B4U7y-%?z=%Zy~NFYW&tGF)zQA%9H+>t_7{SG_^1V9nFc+1~V}=
zH!?FOZe5K}Vp3@)^zu;3;vb<K)3pYs1_l;}W=1C1<{~YOL8nR**LOHNxim8;he|6G
zATGvqEok+cg^>m5h+&Md1?}`TFehf$e5yhS==7IL$o>rH{JausI2(s+4J{1JG4J9u
z0G%~!Y-&Nox*B!=(&UUpiVq2d1Sy=v=2|lgOVFWE=2-f?78VvJhQyqopdOl>0jd|M
zyRit<wV-=W%|W+aV>#gv6t*Tru2gZ)FQvv&&G2vqF)&>Vs>=+_4J@(URRnP@aWnqG
zsktBvsEV<>*3iJf(g@4RMPS!j5I6b(uFZ6P@=FUq%PrlCGLtAjX$jM{p!K&#pp}6J
zSZZESy0tLJUh|@~#?>853riC-A$!cI7QWbAYXLf}*92=j0qk1hZo!6xEo^K&HBZ;E
zG@a6sQEaZYG%ztYG%>|C+6-|mQGH&}EJ+z<%WW~@1gmR}4GaxUOiXc<U>3yP#pw*5
zbxH=^X$aa!K!uRS(Tg-RG%++WGQcv=3kq9H9A^uoq+95zDrjq)i*<eSDVeIq8n)(!
zpj>8%Wp)qZS|U;cd~LIPYEdrLHlJd3t%ZTPp^1qRj+9_Y-0ha2{oKV=TZ0Wr!dP8v
z23m$~fNf+69Ja)@#=|mGODl9icUMs@*<u}SwglZ9YGRHnmsuJSGsXyBiJbv)abf{A
z2F9`W%Rnnt3@r>nE8VfQ7%eP7^M1t4l7LFE)XW^p7mGs@0hq*^5<tyy6B8_FSb=L^
zOB`pfp_K^%MTb`=mR3Mlxd$I!nUq)zI@cX+Etv#1*IHN@SsI#{V!2NT>RKYogj5CJ
z)Y6<B%7$hz{DjrDpgXHfOpLIMh=Ow&ar<<9GfPS+Z^xiI7@KP?%`MFgO-!(yJP!(6
zGa^qt1>J&8)dN~_<T49O(26<(Q|xUpGZW(4w|@C0MX9<jiMiknI-nE6iYcBk!y2|0
zW}uxf*me+r?f@|%t_|i4zAlpHtK32NN?U+h3OK^njJPr(B)=#nzm!_H%tO*I*041I
zU7})UiDirt6t?C#PA)<#!65D1fK1TD4ygCwn+WQ%Q+8MhR@WL?m>8OvVcWY0b}cbu
zjL<fit{12)2|5i(mu9Xt2Blk5ET>0;$^=Uj;`T+lr52SX7M4=A#Kju6powP_BP{2L
zf?aEANW|zzszO*|X-aAiMa@}AVnrgcx)yZBrHMKA+QAZZe+}Vwg1Tc~W)=7(AlPak
zBumL=V!9SI+6<aqFu+#xTAG9I3B<mR5oNU5IkC7nF)6i(Y=>dhi0N9;XtTMwnTeqp
zmYUbn!ob)J$2m(Vt_8Qiic5-0lMAuhOP(MW*P4RP1~fA<!8Y$;X<=YuNYq@U2k1U=
zU8kb_(nN|o=5ViJx)wCDWMXD$j%|mmrGbH&ktL3sLs7!kCp9mnD3vaE5LlX;nVA@4
zY1M#S3)%>QHJ72d);+(piqf$Tc#y&wm|+V#6B~4K2Da1D!LBti$3E|X<XZ3vtyEjH
z26rs>ewl^2iJ6H3memxXqtPwRh&x-@3p9?Om`>G}0@koKF##P=WR5wz2O4uSFt#La
zE)smIKeU|?l30|QR{~nXga{}ySlC=^VFp@DVP<NI(TfDTmZ;OwOBDigQj3c-i*?;W
zH`P$Gpc%<m*j#IA3_1td6w8Px#I+XK(=A#X%(=8Exe~mT)t~Z3A5a%#b*+h|xuFTR
z`*c9A1&!xnEfdgPn_8S#sS6sh(e+5oNy;xJf4Ml+t=LBGK;^BWnW2dxmeCKeYfTM_
z+T$ORUs{xxT1wTr7hBj`fHsVnm}A*N0Cg=<J#<KG96D&Hn^LOlT$GtlVfw}DS~C;S
zK6DH0xy;ZUM|q2u5+JTcoCOq|n3F^4O>tOVYhh$&XkvzC#vdHE<~a8Fqq!E;t^rT*
z!BZXO3~a8oGz5>0W0^yTxYm-W*0^&bweMfVmdik+c4nX*P{x=oMyP9v%4N`#G#pE-
z@=Mbw4_2@VSi{!b%oKEz24<fZ>{?6W`n*1g3hqUTWvNA()N9>fbFGEBrLm!jF_xKA
zh--<v2g)NcH<9u)w!lFOC$PEJ(%jI<(8SmXbEOK%wMK@9*n2uCxlG+LFFhZ8d?ef|
zDljlz3$7hNqs>@W20~m*!g)2I1;QnndAcqX4}pRGis@R=%qjRx6)b!FA+9B6C3dQU
zQ)y9Zu`cMY7f@M7oyAsITnpN<Wo&3-h-C%}>RO`KEIB9U7J#;*g9C+11QyqVc5H#>
z_ppp7KwOJs{Vhtm1?@i0$pI}|qLM?w#$a(R=xjqnL(rwnSlhQohGs<MGVu8cIr(`M
zAA=2cC5*u0TF^ynCZJQHFi(2`g{_$-aV3~bVqRH(DQGFaTWV1ebynPAb*+gpXziLI
z_PWfB$T=NQ-U1zZTSmnpTx_njFf%nVG%>+)vl1k1iJIM00PoauD*`PQrcQx?Yu>>O
zv@XyL%Sb-NwZzTo1m%||Q+tUOwy?D{Ff%kXF~u^w2Xd{sp*az)8t7;<c*Z|7Ro5pG
zeAX~5w~$L?bFGDii81IjGt7Ahh--=Kp$8O!w!=|lg&o3g*j#IAYz&%<#By#k*tJH)
z%=oK2CKr}c`QA`$?OSj=!Q9Zq0LvI7#I?kXF{Ua6<Rnt*giCy33vw-Jg_WrR_I{bU
zkr9zKFF2`EbwmMMO0cj1r37sEK!L&*G&Vxacmkvs2_0F=Nz?^zkfm_`ADe3}jSN8R
zYOt)yw=^`cG$HB~KG4qYRM3%u`N=dLZ8k8m1Rc6)Vuod9AjGxAjDDml_#`R><%6;s
zBH2;Q!Wy<_CI*Hk*zPohxR$td>jWAHqu70@24Hiog}DJ}o)=r+0h|(u+kNbtm{|;J
zgMpS*fZ8@*`K3iE6rKTs)wSRiR>l@sY6q}uiQ5eqlwS&J;8L|CiPg1cCg7SEO9=*c
zttnBXA7P2b#ni3Iu+<Krc?ZyH3UedO^AjNH)|{9XRti3cS5kIt25OQ8^RR}kg@L6Z
zsEv!+cL0YiG543HDufh)j{L|?EdrfJ;11fz2eyzR0;_AmYwgUjjedY#i{pM?w0;?i
zYXeeCGHEi}3|i$5Dih4H%=1E00&#Z`Kx#3nHN?Sjf;DW-4a^KpOfhf41}%Lz0$qDa
zOwAjX51N9aZa%~2T1yjCV?z^jEaxX!8iFn<AZoO^Si!$Ei7w*_2F9R%8J0Domd1t#
zpk0W>gsn4ZAt257=@^(A7+ZqsGHj#G5Z4kl@8AczJtwCURE@di7ad+jg-nKh=F|kV
zj?u&n%UmSbwZ!Ez(1`>^RJvOWoW*eTc`c1Vr}bjHVH}(iEQuRq1kXSvLg)9WbcZOG
zTxM!uY-(v}Vven+0}5M9qQ-Cii>R=71Qw<+8r`)<#wLd5riP#$1XxZfu{1U`HZmk`
zWgw*Q0Nb6BlB(;Rky=dQ2`lKX1>H+xW?^D(Y-)sMU5%x&1?cEC?Ck`k^$F0?1YOtS
zlEW(sC_JtR7O>dUt*L>bk)@%TF}C)tu_dT*BWlLq7j)Sgl1<cLVumef1`2#SI<~QK
zuxrhTa;<X)m5)Kj9=0Zypu<8<3{A0&h=N>eWN1mab^x8JlAJ;1Nonlmtr2K0(%2l!
ze3^-%CFl}*!mdqKaL&oh1J9fmQ*THCTS~BigsmBt87NZ=3!JMiQF9se+ysbIgER9$
z7kE>gbg{VB)WFaj<R~n=iY(2HEsPC_xpxoL8b7=;ojMawa9?6^E$Bcf10y42Z0Q!{
zS|Ue8eG>CBi<1+n(LBKCT2lj4b7LbTLjx?i4D4D<?By+5-@!MvIET9XW3l%lEzArp
zjf@PjoQ`g3W@cewWJ1)aozLNwRn!extgbaRFg7tVwlu<W9;2l>=!8QfqI&4yktNEv
zLc&u4h=DcT8k(7dPSU{ALpQfDF)=6R98q=uqRjL>@N!|N(h_Q=2&}F(GBh$XG{)A8
z1iRLhh}t1l!Ts>c+(b&Y6@mg24P$k!nW3qfp&_<aKo&-z;*F@jgKuI{F1RB}mGe#^
z&c^CmV^B&k!Zv;jx@611n5c9MX)$_af)CjN^>^G4uPjO|N`cr*9*OB%(Ag9gW@e!6
zaF}B?7Dk2^29`vHE$GYyYEP43x)yvR7-+^H%juDpAlI4`x1!ZOu_zgQ<hX8dDrnG|
z8Vf-%T??KiF*Y>8T7p>^8Csg*xG@2#ouKYooD5z}QCwQ2>y`*P1%?X4Hkht8Ff}kT
zH2|G~j-@UGxz@sfsM-NEE3NC4T2w-v0XuL)$KqNO3()d46B8_FVq01m85tND6XjY+
zE^|rE%Pa=%(SeVXgRLc#!0K8v6VNyqw)U-sv4MdRal49~sC}Rcj=qD1C1?+nfjO4;
zEy%UTIQF3<rCZQ0o#Omb>JHiAaIK}KxrL#LIhI>lL46<tO9P_LtAV5h$Mif3XGV|{
z4YrhEX<=k)U}T1^hYr4KhuE`#$`W&Q9ZS-wxLF6AYc0%;O-(Eeu$;_k33e@UtAGNE
zGV_W{53kJ1&!Ixu1qorSuC*{VH?c6pvd16nS~KG2&><-Sws)^o7d$RT;l+X2Tx)4+
z334sAUL+`N%}j|JPY5gpHODF22MGyL1c}wPCWfY<u*EVWYH4m@X-3@YHAvWoWMn2K
zQe!zj*vaUwH8(Xiw=gy}HZU^7JbB*Gz`)4B$e6gBLqR<qYTrkJ?ppAuou#3LiKQWC
zc?)$dQ8(Es_~jp7os&bw#bCI~TO$KA6H6n^xk#96iAuLlsfnd!iKXBeq!xi0w%`-I
z%}gu}Flz^>Yl%#^ptD~<JL0J2R9s<eU;>)rGsc*ehPc**xH)vtX=dQni&QIZvG&kS
zEKN;}L8tm-tYZYZ*3i_9xKp7(EyjZU9IB3hU`+`oW}wqOFh`rAt|e{{R8V444s?=)
zDz|)q5)?MqT3DKc?sqW77*Bw@){^*@fx57H2T&)1az|rxt)+np=*9%hGXr6+C8jlA
ztN=Se0dm`XKw@!mVp(DyMWcAwTx(%&WC}X67i+o&?JXd}wd#&#po{E4(MLs$&9#=M
zrl1lG^Hx?+*n(!vh$?R(HLr6~YH>j(<dPcS{7ec@ZpP|bL&zCA7$f-**P7ty^P-K2
zLR{;USPI&|3BKtAa!o5GL5<b5#zvrYi+P7E*tNu-Hx6+vY&RSzm(eC{EkM^aTN+`G
zgMnRZYG_W>ntX_BoimCui%aqgGQdaAJLi`cP_oSkYuFlr?kY0EJUtTPS`!?5{IRA4
z-^}EU)Ev+u!=M|B$|zi3fz7oR=BB15md2Q;OoLr(VMN>x0_Tjx(v+h7JkWVtzKNw&
z85_m!T1(K~85YLqqjn(InwXjrGlve^OHxz<Zr|!U6=f#oQ8cy)%bD0*YYEyaZE0wU
zajqTMwPvOkB-CX=hgarSQZ0C~xz@tM2-K><yvYvcS|VzPR0TKCzP-fCR9)Z0i$H0Y
z8s}MIajmI=k+G?Xr6K0|31HWn7@89``r(tP;Fe!p3_fKk1e_#b@ku_7#kHVL4)_iN
zj9w(zwPu#Y%u2&nC<G^#mZg>!fer%#ALX8#Pf1Gwt82{+j7%(zF~<|YuC+8bB_bu1
zDg=~f7N?fzy5v*wIy-ExwJ@^)w-~X8t*NCMF{hq_#_e(v^RlRWLKs%pnp=SGe8HS0
z0fnupr6n;Z7pWiaOwLHnrE)tAn`<o%L3eB!V(#n)xz-GH3N<n76WofZf4wC(*IJmF
zo0*sxVej*rnOYKedZaVxkZJHj3d;Kouu=r8Yt1b|_wJct?dh1An-I6w4%9BFqOe^6
zb0v(%>RK}kOVA<(taTa4wM4bXT@J6zORWOkgPmUr+9|8+Q<_5Q9&c=}wKT8<-B5#h
ze;GL4nw#Pn$wz5}se>*l0y!2IEL5Sfy4Kv>9CRTk)|6mwWK7ihTLtHw)HEs%e1Lt6
z)wM?Epu3MT*VTZ+*4)gJxZN2(i3;H3D4=cI0?@pqu48FZ5e0K6SX>L5a{y%}%w6-K
zgS|l)aABYEN14-s^c-Mw(kZ3j!&SiHLkWS^wFVXj7NCp2u(WS2EiKK6yO+d0u`CgE
z-wP$KL)VMNwV=yxP0UOUF?YTg8W<TGn3)nc#^{t!k9$cBOe`!dEldmyOfdH8fLv>2
zY(iX%(JwPKCABE2s5ChnJ&4HWV+~t#3u7}2BW&$kBSRxobK>@#hJjA%EiBEX;&d7I
z_N}q0nYo!c<|=n^*qU1sw;RqoGc~WIDkC+Miii7S4O<HnLo*9Q%o!-KYb^|j8xal8
zOwZ3LroC$|EX>W#KsS(JmI-DipzF7=mtZJ$8K}>jOy%>tag2?d8JL?I7-7zw8XA}y
z8-lK{A*RI$DRG?>3yKmmi$OgdryPp+6JVwUBT%@4&fvp5)gR<qGfQ)GB6>Qh3LzPp
z)Ls~fC6|F(+o09#hS)~!OpVQrEs5E?r|w^rmzWGXZk+7m3X4YUVQXe-Y=J!`m>3va
z;F#S*sd=3<5{p51Yf;cBAj-AiRX~;&pnIz@bD61$g_(f?QMnA9Zc}yLQ*(2vcB(99
z*n)N+n}YA5!8q05(7?>t+|bmBDA$5}I#ezeu)5Y9bQOgmwvi<>6I0LvEW%}ix?@p#
zK6M5bkx~R!*P5D{m>OU?QP$AF%mj4jEm7+j!8LDkMkb}_tsyxUOPOF`Vrd4tfWXWc
zORL7r0(9yrQT;M-y48h^<mae6W~PI-9#Yh7z#6tj#-R2s<_R!{2Iipk3B=8uI_2l(
z(SFq>XdR;o=vFn%b>oHx=EjC*=ERNKfqLl4R9t%tN)ec03#!XZ&5TVAu#GH%U293y
zh$ti__^NxP7L`$J+XHsjnplDst6&*VFgG@|G$!t@c{fmzP?Qha;tvWIs$gucH8(IY
zH#aac!LmNV+}Oy#h`7BZ;1jo~aWx>4KQUbkI?c?)z}OUPPsiNS*uvC=xZN4~c_qmi
zi6zuZ1t3Rbb*-7Hsi}c6<_U*}2IiK=mWGBzxVBUwEHNkL@XBN=o*0OueQRuCU<%sY
zjoD7HFtRW;CT@KKxaOtuU=7x=1??CyG_b_dP5`;qgoIX&u2*Uz_)PztL|rQELB{G@
z6BE!uqS)pl!LB8)Oz_D}&r79wnE+aoZ((R=h;==fg{hH&IdS7)zK2)lW#)hb7nDJ$
zg0Y3Ig(WC#vCc|^T}#|bY;f(6s_R^opIHGOBB#QE$k<(L3A&%x980SP>{{aPFAGXc
z%1=qmqsnYFEMl;^*3!t>!pzXv1Y0fxr3B*6zXi=j7Nr*FfhJEAOLalhd=#Hygw?es
zpnW=qm^-@-K}|EzC8&g3<EaWxMW7=Ibe$55im0~q63w-sqbESe%Y&AG7-Q_tFf_2R
zG_x?qadRk2FA}`cE|uDw_t0ExWME)mY5*#0O$?2(v}!C3K>O3N_Z?7N3(jM@0Y#aq
z#U-F4V4PA*@+rSt2a9V>EG-QTEzAwgv9xL|4NT1ph}#Y4lu3<!M6mn?p|QHw*u>b>
zzyNcHENIz+3FtUfV$v;mUt}J|lTHw4LP@NywFEU^j4*f2!(2<$nk7)m1#OLlT0|8J
zi)&2{3{8#AEe)})W3)6fH8(IPYBwBcZF5d$YAIwHqZ8;Njnd2_%I5d5yVk(m9NP`!
zh6a{qmKJ8jrCV?hJw366n$0jw*MfSHpwk{q3^8g4Xi6|4s)rtuT2w~0Ath)!!gMX@
zLTO7-vm4ud86+hTaffWG0;qkPRFq#@LbbX9Yik^Ik_IRxVBV}`XaI37QGH&&{LCUy
zx`hS{RVXZB3v#W2xuu~cmX#_H*Ai7GfLvPwx(<vg?t~bE-L)nbAlG89wKFs@Ffld2
zG5Ud2mw`?j2iFZnkQ>IGGC_-Q(;-$;Kw@{Tk)f%%0p_Wvh9K9P6SoiDF*hkEld|<x
znBKzTTF~YJ69WqaEIl1V0|Qed6Jl0ar4}nV=HyWOR28hQH8BOd7PAdzXkcJwfook2
zQc6fw@JlVG#!^7E;Kkxv(9o?B=*S<8U7VnlU}kB6V=oDkYt{XWa;dze2JCJut~If=
zFb7>DYl6A<!_dIM+`zyDdwGlE+N%6g$Z3H=sRh)VOULe7GthBLSVly_t~D_yqJ8U|
zUs{q$y$zAzki}6ufHoMLW4STG(9qD>(8wIeSPfFxg4YF7d2boW!Pvsq!qmdp(A)&e
z&KHPliRtM$XCxM-P`jCcecr*+(%8@(+sKlkp{a$DnF&!X#xOed9V{$O4GqmqFweR)
z1PhyzvO^YnpH5DyuE*h(NvTB?ZPURXwnmmlrUs^1*55*0Yl(e!4<+3~dXYYdS5kAU
zG<Mfo8kv}ay1p1AqF~pW5jPhJy05AzpQ?_<=33C*8KC8VW|%#6h--<P@pl4EIe?os
zpxjIyjIB(tG`9fFMPi=J2}!pW#GELr?pT_VO7+W%u(;L~w8hvIw9yz#O0Wc7z=*we
zKv}6$s^FZFT9!zyLx7-BgT=Kb-~-Ey46yWhK|^__MD9Ze-OZc}9>axNMFk3*Yc0*d
zcP3yNS%SEhm=j>s9m`US@=}W-{d3m}>a0<~;#$z|3?nl`11$5rAlI518xz$pgOp*A
zGkZZt0R?434uYX1h_SfV!~%3tilK=K=DtX%Yl&I~6kJ+VM%C#joO`7$Kv#X3V`+^W
zn;4jx5p`Elu>$CL2hd&8RBSEa2wTvlFBUk$mdHE1At}MJ6ja^Pa^Atx)WFir&=||g
zKu}6BHzMvVpb&7lQum-%Y+-9@VF0><5z8zI#I?k=YLM@mFVzjoPtKrd*#|gtVsotp
zXho|bmQzm+p{~W=(?O{nKqE_sSLLOq<d;(8pmDHUvGyHIEX^%IchneQ>6aOs7?>Lo
zbDEjDe{SyKl@uPK0(B#T!V<Qo2FB)wpmXgoNAe+IOVr9h@alWe7DH;)3?MgScde<p
z8EE}IW;?;y#L&o$xDnCd!z<H^GE;Tk@~LpuEy$_3%3E_2&`EJv#uyF3t~Dc~Rg<dV
zM(t#P-L;_8BSGmFTl?17+}y&LxLIkx%+%5xa6y}+?pRuqSxng=J~(tSQ-YDXxglu8
z*%0%*aYI9pYfTJ^YA5*S7v+L4`vBWR9Rky}1|}93<`x#FSZ=&EGB7taGcYG^mc%Df
zAv`gMirWXUrv%XQDpNCaQ$x(rW<ygGV?zrZCvzh8BGvs5ucq$GTS(ks3tLM|BU4k*
z@)^uB!PLYUv<V99>>iS9Qx$wla}Tcs_sT$}n14}TekK(rcd)n?G{$IYYKm>wyrHQD
zXmub_Bl)0}Dv<MPbc3n2q!Hb<kW-<|Kn(@VyNW<VHHHS}I7aQzYTl6i(yGK{NDNYo
zM0c%$0ccC4g@vJ+F)r5<b*`QI;m)E&a7v(-OF`yfb*-rpC~Prrw*-Z)rHLtVC&fAC
zm*(WBQ+O;1$cac8n`<pBEDbD74U947BEhaTGsdwdA1x*LsQXj9ql0a%#>B$h+{D7v
z5L?Y_3R=2=V`K@XOaS*BK=%%Sj{TtY;1_u4VhLN&(gY*W;v_8dWu}(K1{Q?p9a0s1
zQj3eJx!w}uU@WdRv9vU?v@kWqvO^ZMsLkBKl89B8sR{u_hgX*5m*_%6Ik>bcF^|$z
zjK#I42F8Y<1+ADj-WnR3nHn3I5Vu1X>`L9R%;b`M@bL*jhgat1LxPBG5{qk1EX+YG
ztV~QXSFb@_OWf);P}mmaQ|&lxun)1j)(CVaHkKU(VAq-(5Y@i*1GT~OQmER>#p+r!
z(CCM;A(ru5GtezYhD5p6H@`F|GdY!#gEPS4iA-Q~t);2CrJ11-mK|H5ur)Fy?(Pi8
z3aiXiYF-Y9&9xSwir3Hp%PMz>Yl%BaBPcO1B|k4OF%vm(C}d-GEohCJp)uzDyx=my
z(2}@wM12!;4zDapOrr2YOBDZMbFHN*sLyL;f@Rds%+%P(khl^Iw5BRQC$*%6#-nzY
zpl-OKfhm?zJCJKl4Tu=4QFqKsPR-1tLJJ%@aIuE1g{d)UJONA1Yi@3CW=Y)oThLm&
z#LRT69?gmAT5zA&0CcM%mXRe(kSuXKyL}RilBst~5hR2$U29-sX=GtwU}9*1rNw9o
z+L=sT*gB`?<djk~i{a|?nwwji85@{k*1Sfbfd+HpPTUG9$}B9U@{}3Yur)C<Ha9cJ
zax$lpfhlMKE>UynkXDUfW^#T`B6P1b$oVCdjF4h=t+|<{xtST3({+ptER0P}af~sd
zw8niCbEtDoHzdJANi41fO+$iu=vYpVG%~O>u(Tv*mPGw<XBlWHpSqj(FkK7U*==NC
zZiMZeB_jh%V>4W*Oe2M@x?@fvRfg%HVG5%#T??A(HwB&Mj=7@M(8$2j)Y#Yzd+mVa
z+Ej(0)U=|+JZcwV*j;O4X=G}G<wOFgYq8Jnp}5vLzceQ?4{~RfPi7UBx@cHj3tA6m
zWMpcHtpqc)Ff=g1al#>rYhChli&AqdbrVY~sB=^eI5A*xt*L>5xuL14A(qi*Bamy&
zi0Si&r52TxR#E$K3M{TQv9z=_G&MEFasrGIXpy^-8TRrPC2YeILGxp&#l@+h^Q($=
zof1JzZ~#$2V0Ep9rG=4&u_b03%*fc>oVb(XQWb(SlM|`E_yenJ4Gj&<%}lY?4i@GH
zmgdCFmz65`rWS*C!}%9bai9^aYe9`d17j>F5*UFt#8{dVHTn^jSw!t*i+vo-!qD8*
zz{~`5MXQk|=-x|W?&5@pZOGv*WmK5Wfh2Y;VGCLq4%*L)WhJ(erHO^9F^(0jXk(1v
zR!yp|Z(>n;X=+hsNh)|Y$}O>!f>B*8t~If+FflbZGsC>e&d|ux)ClKYMc7=c>tC7*
z+aU{D76b_*vPo>NwX`q*U8sX)H=L2Bsj;aAaku~YWR@jTdjJ>HwctCpK!b@`PLG7R
z7RNe9tYPbtnUa}W1X;OsxHCDwl%m}*I9v<bbBg6`VUTOh3~|&BXs&h6&r3<A$Ndgw
zmY}=gu#AWrS(+IbnHghWBZ}r)m(1c~>Ym1keKm!JCAfWyW&N#@r5R`xnyC3Q=OU0>
zON(@U@-vIb&R3`!F;fEQ##>`kb0b3o%wD9ifsvuH0deQrh2@u)6~V4dppt{Jy4J|d
z2(%srvvx2xFfuYRF(7Jx8F=&~iAoJyXb@v{t*NE4xsj0p=2(p}=z?rqeFwC33$7h>
zz4D7_Jq~7JVgNeL9dpzU;#zZ}+6g|1pbc@5BQ8_(biGQcu*?~2*cus_f;O4q3R@gI
z2++dTIpgrkqSU<P!z)3%kAw0{i;F29)yL*q3(y_B2H5sWgTvN@xO4K|Qj3ZpbLh}S
zM+FL-Yb`AdLH7h=*)<P#tp!nQKZ-%=Ah!TKO5>AXTv$qth8R}Yg0_$u7-Cs}3wEs~
zaVrBsGf>I-MM>0LjE&8;7M7qhRZOsq)j(ZK%qpN_g|O60Di1beYmJ*47+Hc&fWfj7
z8|qpjW}wtPQcFQKFBK9ik`Y+L*38n<6zj=F5Z4m3dJS~mcz$7NYTn_M6t%yRoQiAw
z*1*gRba6N4XfxEc*vng#9y+9M2rVk6X0pYe5)4cXLF2TTbCJdd#%2bF#GEpns^FAb
zS_L`HOgFJqHz0=^dmpf+1WOap(hmbHd-ou&CGLz?Na#ZMK&7M>>w>m=7f_b(FkK7k
zI~bXp8kl0~p&J{R7@8TFVIQ?asms7KP^gKH3Or2Lf==NxH#9Rbz_Me@*ucUZbc`?I
z)oTGo`K5`}Sg?lTM=Y*2H83<bGqNzo(&sfcurxHqRr8|cGT+R!#B?g|?uR%Ut7{EF
z7w;Kk8NY?N7RPE~6xTW@79>$UXt9+Epz&K%GZQRl3mX|27#bQI6M3(6YH=~`TQx@J
zW@Z+a21bUMX9j{?Yiwak+^jUXOi0!BFV0P*bny=)8DOm)z_TQV=0?T_7(E>$0|O&N
zOLO8zmICs@ZQJ6~B2fF5I$cRD>DI&&bVQhu5$35-AlDk1n3xjNs!>4hJGdv7rqir;
z0F?(u24=?S>u-$=K%ELR6C%pnRE41Y(wv;bE2+_}#gh_1S4A3`nj0BmuCOvPFaQmW
z<0unQY6sYTIzgG~`MIf}1!2Whm@UDY5=;y&&5eu=F~$>&3=9n{j7-dkO9`n}@Gzkk
z1Jkvjb3~2Ij17$}vANd5$kYPIidK~J)*W<uRZ?Pd1}KX;B^H+?r54fT+z%5_*TKx(
z&>W);W@KOpaxIQ~_fTBxmzq%yIw-$Lx1i|oielaHqmzqDGAIpW%&;{8?b9(a1D(c-
znahmK42{fjjO3%Z)+w_nCp8ZgxRkmOSwB|Sg6=mqH^4mA-^joSbZ94zy(CDk1@|0s
zsd%+G)X7*}Yhr0>ZfOFVgu)iKrlw}ZogN7~!wNLTK+V;5*j#I2X<%+*Xn;9>3kq9M
zy^MWC6e(;|6`V?wGpIfRg|$^<VQOh?YGh!6C6^hQnVVVQC~r|*3vMNVCUi=m7jfn!
z>IS7!x?C7r*jieefDh5Z>00bPbQITuP6q>}0qRboV{xr1=zJnmBU3CV#TkIY){>YR
zf9L$1{M@9}O2|1&&Kdcc#i^wfpEQicwI-I97Urf#hM1@Ig3_&}xg~KUq9OUEX=z2!
zUT;pKt}_)DU}ANxsfCHTnK|ZNMPS!j7~$B5j*=2Wit_W4GxDjt5elnoEiH^qjZCoB
zyhdi078b;{6F`Tv78fVxfl4uIHN>#G*22)-(8LIHmc+=w$lSod*a&+rLu-SDWMo43
zY(a~5Dp1&5Yhe!BhHi#=R}s{;W<=b@sqR62x8j&Dv#_u<G%>~;V>B`_vM@8V#4)mj
zl5RmWI>m|9ozcPWT1!h4V^bq6CwPNgYhi4RV+R3-YjeOW$ElD2;6`9e36_>7h9K8s
z>FF3*SQr}{6RdgF9m|RmGpU-vz%It(T2li<3qw;Q1FW?J$h9Wea~Vq5y5-~-<x#r;
z!`4m!4c%Ir8W|a2>^U_uFtRkZG`GOM!V0ZS0M)&zc_l?u*}e%5S#0SR)YCDwFg7#7
zTvuacU~FItI<S}UsGWOeZc<Td31x>sLEVU;u%rYNP~~7|ZiwalTLWVQOEX;ayeKKb
z7rGWqHz$=Eon5GdvAWjMz|zRV2y<7FkpcKje<DtgbS*9hwP;d{bp!JAsCP^&R@Z_K
zF*L$*GAGovM%d>a(9&%{QDO<T`{-C*Yh-9*YGi_K91I+`#zeSQ-6OH6C^I>~l*04N
zph*BqVRfyknUSdx&Xiz`qXa_>Tktdkm7R;twHBakW`t$G11Kec5A!8dCaC+TWR@jT
z-1vruD1yS~T1!haOH(6b%=Nb**Mg2XB%*e3&M!*OEXt#DLjk*MEzL}g3^8|Xfm~~1
zg6ni0loHH6HLs|&fXc-!wz|y3($d(()W`^158cGf)Wp<?xVkJAI%Nv!nmHxrQ@$e#
zGi*U)<HqLZX6Bgt&<#Mhmsy(P7_~#oWxkmuC8;?XiKWHVySEC{wV*xzrbZygVyvry
zy4HxO(PsC|ymTsGz=%C17@8S_YF;cOq9*2smL#1X3BO|tG|=c+l#@tNzY=TMf;tYC
zCYa~i85x*am|B{f6SW=;>1+yc|GWrvK`){(B8!F9wI(K(=0;dffPtQ=f}>xCQYJ*@
z=j3GOrBg4-f_;b8wV?Yb%uTVCx8M_CaGb)2<XUyl+$3tJS&(zFxz@te!qUv#2y+z>
zG;DF)FplI}@I4>7xv4o+9&X0sT2li<L(otS=GkjT2IgiahK9tnYC!j#7A0pKUYV0x
zkWaNr0@Jmi^40=;6BNeo3?tCyPIFV@?vQoPEKa55#%oZ_qhn0h8XKE|&NH(##5`}@
z$iM=0$TW_<duX)-xL=l=O0A{0V25M67Ic4^v4w@D3AUaN$hBrhM9r6l6hQ`-C@NsV
zZbT56t_6p!CFph~EThd3*J5vjp@pqWW->J$3U)H4Ye8$9EkR>T*!pD_7G{<PIOcTF
zTpI?uV~esyKVTOk6PT_wHa0UgFtD&R!Q8QBWB_(8aVHmnPKZm*1MTFb-g03~*MgcZ
zW=0m4hUQq-CxBf`-1=L0(9N4PZ;gY~t*M2jp(REe3=+162H3~J&{BeLeoksJbq<n+
zCkCuxYhi9|VQFNBu`&?kT1#^xdy$ZokPixBswD+%uC+9^1cfc;$(%+8mPRJVrZ~=R
zMyYwjGE2bQ2l7jcb)AY1udD){IZbh%!{S;~149!dBMTGE)oU=<VowPuu60SwEyx7j
zN&?=e<&<-HWf>L9Gc2w(v9vHVGXkx~#+>H`hb@lX87QvxP0Y+I0iA^mPjl2@U~#Rf
zfq|uwk%bZF9w<=Qni=Ej^P=Ulu>73#BI<5K$KKO11DCg$YwaMeH7Bx6pi8R;+y*nT
zFfhej(F)qwZD3+d%;`Gn9+jzi;Bh6;QWf{2#Jm(LBn2!f!Nk(U)X2iX1oH$Kuxl+$
zEQn~;sQc$;9$pD{E)`q}GXk4yL2UsG12ZhMdxnO_mS!e6N-(r^i!tZ#pG@I>VAw|T
zLF>Ux3@j{-G4IYWGBh+ZH!?H89=0fDLQrCEK|WPagaU;xwy?Fdv;=KK$2|7~>{??B
z;#R7JC6-p`rlgi7=9TEWB<AMimll95qzGfW7PJ!E6a+B$oPu3zPSmb>pUiwpHtyo^
z6Q*koK;^Bmsi~1AW*ZEY63k5rpBbp`SelcUpIHpqYf8P-39z`<#L^U0ei>k{atDR2
z1!#E?q0#141^3LNe8^lR#KoYg9p}SaC_Ewxt7|Pl=e!tUOSeXb7Dnd8?KE`GNTmAK
z7p$%|H!wCgGBCsJp&Np3*s?GrYK#%I9;~>SipLRPUE2)WL11cZWMW{9IV%luEpg+w
zkn%RTG^ZdlIaN0Wynh~aPb-cLM3gYrur)I^2i^LD)3rp6F@|NPmR5jPgi-25B!6Ia
zt%b3Pk%=kh-aR8w*qRv-w;RqmwJ4d|SD0aSE$D7469Y?ZVQT_9y@ZI_z0_g__oBqo
z9I9S@jJ3sRVPRopWP)WsuMub?3FvGXtR)y)J0YO7vM4n#GnJY{OIX9!z{u3d#2Cwr
zzo9AUm}wk+2Q=40a+z~xQ6W;oqmYT|TF_*prHPS=G3MPFMiAE$bEXPtL^Ln4w1~Rr
zJ>YOHC?#OtqGAL(J<`$$$BaL=uuatsPE5+oOVxGCFUq4ZV6m6CpmXvKjX-k`7`;eC
zGczMlACs7L>yucPS_$2%L%BO4CSVU+b5kP|BW$&UnWdq*C2_kmobz+2&?kqu5=LTo
zEvQT|G{PKNG6cJpxVp@}=<tdvs*Tb>+>7a20}~5N0|QVAhNZ=5ZeVC)PI#6?-7z;Q
zA9VXq4t0+>#Nt|00|Ns~b29_X^An5=L9VqlAmZE)b^oHA%*6Ck>TcgdcP;efd1E6J
zW6Yi1AlI6h8sk_GhSD$dNmKw&Jb+hX`{m~)Qsqohbk{;|Z#T3wvM|BczO}S8urMcX
zRvNTxJ}<wF;xiK<DHcLvajl7^iG_i&r3seZ8HSdY29_4Y?S=!7c%<r5<7zF4Q?Zt}
z;I(#!#+KN2Y#A9C7?_*jSc#2RJAe{Gen}BkH<Vz8EvV0HZf<5^hS`fWG%z=`G&3jW
zlxcNGNUsbYEL34&b*;IHsiBzx=IJ^{Mg|6!hL#3ItyFOXo#jsD%jU7W*1*)r!VvRR
ze<LFULnBioOCrW<0urgZI20N)n65Pd?RPLUH8sIp(F!`b#N5mT$1N&o>DDJR6?Bdn
z#iRF7hk_|=uC=hVG&Qp{#8TcG8JHQE8{(MVLn&{AK_}m)=TUiM5f;~iZcG5(`hsOW
zm=P$O84-6Ig%@?VI^YOfPzeS)pw$rbJVqn1YfTJ@>6byOGMb+cW^7<)Y+?ec%P?1B
zLtIPL4dV)+)k>M^dC>7CaL`apU`Yuk7Uo8lMiz!xdgx%+ni9A6!zmHuR_b2YjLo%{
zM&>3)7FbSufTRRd6C(DKq$+^+XHa_=0XElKSeP3afwsb8^mHI$OWa64sOC-0OD!z}
z_02N#N_3$IPE(Q`u({UK&=TAR!#Eus7Pds?vLNW$YmlBgX#YcM9;G*FV0A6%{#XlR
zEHkH|^X`akF@o1NgD#xcO)UZ4bLyOt2stb)AU`*k%s~+>t~E6<HZ?OcF~DAe8Ce<_
z5*4;?)ZXBatHo$;W^80=WRA52Gd8fmamqAW%?nNesk)#|aTVaHX~)beGJ_PJ)UkxE
z31}I%k-4c6)^uxZU|~sI*yfiO<))TUZ|NGYu(dEWGBP*9a@qqZL7SLc5><kM#>R8=
z^Gd+GNvPB_!wg$+Yuwb#z`zu<hi+tGVPa}ZLQ2pDogrC}2|lJZC^I=D736++#FEUw
zbS=2%1+7D{#9R+%WN2n#K-4^MszO*Q=pd+6&_#A0iIvpZ$BF4$P}rIpnVOhlS!-ux
zXlZO}VoB8MHE=G|bu28+%z=b$KqAG<*)UxTTD@jqU}SEJdGfpw*tO>7*!vD>WkLYx
z%)r#5VsKfTm|KuYg`3x~xYpFb*wWm{+{6@12?h#VTsMNDxfT+((6fc9a^4oUIdsry
zv$>^_xha-C{zgV7hNeV~ETt;=W+rDOmZq0dbKnk3*qT^c7#W&c7@A>@F@jucN#tFe
zPN0qQlobIOWd^2eL45}UGtm4f=IS-DYb}Xu-?|m07U!kv=BPV@?tUpdyow43NMd!Z
zxuvO*xsf?G*MjcoByN3z6J$A94rrr8aB6NTHRg7(yVlIe2z2KrX8YF2%p8;ni5bav
z%P%^-3f%f~%g>?GWC^BgL2E=UKs7J6@)qn`;`$EmrI{tPUpEfgr(<GjWNwUQ6_63w
zwZzrD0f~8_<8?}@af>i4yI~Dm3v&}Aa}z8xP)0_UAopTl$B0(m`XnkiB^DKdt6qQ5
z2`exwDWI{r*3#U>(8%1t1WP-?*vP`d635*cXs&fC$}CHz^1ZB>t_9T&re=ng*!H0t
z85@Ca6(y?Xh16wEiB*|7;N=ORBVh6=yaWc*wFaQEaSKCBL(H?>jlixoG{k;G4O-ax
zCKe@w+6W=}R4Kf`=?Bxb;IOqcw8S=F263%9QLS-k*n%z+F41)?OU%hHt)jHuh{Lt!
zps>ZbYaTTFYX-WogqZR+I5jUhH7_w)H=wi<v{1z@zZ6udQ8Yq|=~_^0+|<a(#1!+!
zTO-iSI_Ne9!mcd^9ow9jPHA9*;~zm_x)!wa#n8;i#1PBu9@Mo&mtgss&}nJi6m>_+
zx13^K`(bHdZUNecj@||{0u44>SeO&H!U}e$2dJy#oLE|c2qE%WSi;uSz|_Lf+zjgs
zl!>{er2&rlGL*4#XV8EQ=vV^sorXmx7T20sT3A|IU?0hcxEA}I4vK3bB|=zcUS28{
zcWq&Ft%aF^kp<{rf6O+Rsez>>k?Y1oic+aO|Aeil0~%B^G6L<`!qUDqH8wOPa_0-^
zP>R&bqQp{aEEtET3anvkVQFY&VvJ?&hY`rNra1PTqSa+i`Nip_hgTLQ7NvlSTTs<T
z@seCDt~E6<Ha0Z^T_25}5)46i6&YC&v&uacbn2;7VpTp>i(D+OHL)}`G%+<Wz_PX(
zbRe4{uKOZUa#>J*QffwiZZ37J2du8OFf=nXF~xMPA^3E33*v65@kvzhP0UM9&B+0u
zFbp0P1>Ix?O@d@mSY2ysYG7($WPx5g7(iT0<VkTpi3&lWD|K|KHVTHVOaP688C#ed
zm|)o#X=G{%T4zC2`_>(_$uO}fB?+{C+_?yJO&rCG0I-Cuse!SPC8&pvWkl2rG%8|B
zuy#;)EGkM&%AwP#P!^!Y!kFic8yT8fniv}6*yE2@g88WXm!{BsUnKaNSR+Fd6KwMi
z=AZ-3h`R+FQujLNBxV+YT3|)VRG3f4ObOtTCD5oH=51?6p!4&MEr>f^2jW_v#L}YF
zyb^GU;G3A2pGnbP9Zc66m{?etf>vE(IXx0Qs%uEh=!d#v3H7>T@X`*OYc0)<L2L4{
ztOqkPH@5&?BTKmNkg5Rc*-&>KHntKBbW^hdXk^I@%V@K?g`t@dj#K#1av5kJCul!!
zUMBTUFv1qL7UrggM&{Ud9~*%?6*yL1qPZ3nw#A^1Ls)7BwXXZX?po0P79%WYQy7_p
zt}!C6RpXpl2Ci}`>g2*xEQEp0wV;cSjm!<P?3D)1ml>K6w{F}gQNb@2vTIA%J+X)?
ztMf5k3#xfR_b-~5Vi`}cFto6=AZ|^*Q%-7WQKc@VAPcU{Ey&0(%B1i_7);k1m{@|A
zhg)DfaSL>#hM9>05xa^?6`b-*bINGGpBGd+SX!8vVcS(?3_5q%lE|}wknS&o1n}X`
zl1$2uZpI8-(0*QXb8|}rb1W&r(!|Wv%+efdd5h8-4@u3;$w`DI1gF%z{KM-gKL`fX
zwV;)O=B6g5##m0*F|sr<GdI9d-XghH-Ls17>+wOQ0v6Yr8W@1~;}~LV)mWNXTH;!3
zhveE+1z6bTr0TjSmZngtz{TQP&{^)FK|3rrCKy3ni+vmn#kG)>8UX6^mR0H=?kp%u
zrNZD67T1~@7+aW_m>OAPO}C)1#a<>LxmMjV2Q=LeKC&59oq<+XBvYY7iPg0RX6E2d
zFM1E%$jH(ZbomeVT!vEfs=HR^WKwriB-WKGpcyD5V<QtoGt6~0pc2f`h`1Rj<Xcoi
zGBS&(vEdLiY(XU$Xq%ydIYyt?2<%#8;!cGExi-Hvg`(Css2o7Xn63rQl9*eVTVh)e
z26C;DC2^-hfm{n)utu$70jq0`jX<u&T7sEbS{e~|<85#<XrUc)$WYG4bS?OF9nc&e
zw$&7%%g~L9JHyH;C$ku|D3Ch);2=K5bS<b=V`2#!$;TW|Fa}*)Wl2h(*D<doAGCKb
zMcuJ9DYb~g={>BjHM0cG-eB3;4NA8r2E?sx2Bq8l(!`<^DwMO3kj2(71C<Fz#-Ln=
zd3q$owZyGi0?$g9fQFZ-=UmLN1-aJL(A?4h%icX>1JL{wjvH!FYKK$>A1cf}!on0r
zW4ab}?uW5~sgaQ-mfFF<(9Fyn#~oWpHE*hddnstuIK{(sFlRz(EUpFZcQ6L+)WO`@
zZERo!x-kKJI{__h{Sx!iAvb40t)c>j#kHXGYCvn(j4;<HfLv>6Xh6gqy1IW+S!!ab
zt`q3=(Bj0>GO8qAY_7GiG&V2+9fge1ssXvy$dtIfd(NP0m$D;SF=7LoYc0({dv*;C
zu%%njQTav$+qdej;60~QTB(F^G*;JIn3@=x8Dd%647y<)bipOzepzs8K}lMEUJ5nG
zKCqRy2B13#3@t3N?V1O<*3cNo=m$!f5R_j<^^qD}t_9!uf@Kwuv4Jt@f)!&zVXN*~
zl$#3Mq61!v?S6PsNoF3U?HnvA0o2nmFtRW(#3&OC3=Iv<Oe`&lD#1WAP^q~|MW6%i
zz=O>``FZK!>xIcL9<aLB!q~{f(#QaFp4Zp_v^&`ldrt=?B|v(SpnXt@nR%eaK+wQN
z<QQ^TSX~R+VQgWHIRga_TT=t#R#Sk(HZwghk<yE`ki3P(wI&v3MiwTPhL|-kXb-2c
zkuj0&ghU1KQAMCBl1wVipkj5cg@J{+F}5>Rj13J<O^t}zhYnf=mPhqYFBaE=&SNwO
zT~UL1a*?Hxk*T32j#E!j(k-ZU3+t8nBo?KoQf1E}cGnu2fJW`Gv}z13EDSA(X@j|d
zd*qNK@_j+4d8blg$r83TOQr@!Mxd>GSk~Wyh8ZjjaNP8P61H@^5e(#76AJ@#Gc0`v
zBNIalTr>VCt_7`e2b~2(`6wt-k$^pH4b3b;l><iYU}S7$ZfQp3yaV_|g5-?ET*{BL
zgF6^Yx;3#hGc*C6e~U3+209JI*wDlXd+mVM8uv+5aL-9hPNn7nJJ?)nVQy+}YJlyW
zC1VqFbI?_iSlbC`t_=nqiA~)m7?zX(>O~qGnwyznISJX=#2hpSOw@{2r_y5Rgig@m
zmATXzD#sSK;1gQS4YBofOe~B|aqToj&Sk|4UZuH|wz%NQ70$rsS_{yoBGBz{m^~d6
zOA}*b3+!z$WY;SA=9lJB<ro#XOF;}Qt_9sSZ)t96Xo01tV`6CnI@TX+x<zp<qz&d+
zngrQf=9E~Pl$oAK>GT;E*P2*@R$*HjVXm+;G6uQU)R<sv96a`s1iHzN{I)D8EYUF*
z*Mf=zP}pLbIfc5Gs6D4)pxtnJsnGK-oxweIblXYgV{t8LlF8EC65H8pP}gGb^P-nv
zpp<)fMOhIQH<)2{t%aqzxur3dGgY9j#h%O1T<erylw1hz;y7j&l_i$uP@xjW;#yEH
z1C23a>qVLx8W<W8a}si@0(g`LJO@Q;eB)M+#kHVX7c|C*WkoA!MAXp89Q*1ujIhlt
zE=~n^BB@rR;c%^yIcNzWW_fFBXaKsS0BZ?`=GqX@dIZV~EtG)9=2}n<U~XxQZT!~M
z*wnxh#~rdL<*j>ZW>RWVZfY?#7Xe{uCxDiR8kvGlvBJ{6H8(UiGBw7Y%TQeF1U}B6
zI;{gl@L~yDQv*XYa|_V5kmxDFz}VQr+{D6^h_lzgYn$CbMegAh)SKYLbS-G@hncyt
zg&~$b{>GNZCYHGNoFav-x<`I;VQD7hcyvV2P|U(~Ehr_J8G}woNAEir85x*bniv^d
z5>+OEW=V<;ugs_BIeb`MYie#}faSDauxl+%jEFgf51bM}tD1FFN_7KDGpTdKC05s3
z7@3+H7#X9t!NB`;Ow5T|vjlc6Xb42tDJL<H!YzC76ol2aW=3X4po4DFav9jQ=Ej!9
z&GRCUe>f!;7pLm_Qhd5BR@a(??x!)pxOWfYT1yM!&RzrcA`_D{bEtVfCsx;*7#NtE
z8DQLB26nBbk);Ju{W8!PBX}mVD6ujX+`0))&CH{$y^Gbg;M?0xFm7*$yOyXm`5@Qk
zmt>^sIwof%7Ex!j4p!Hin44Lc8e*LG0CKINfq@Z@UGqrgEjW)M9kf(jTBI8Wy4a4w
z!Cb7awKTLaGBm@u{RiS&Lkk>jFm%^CLryA!XJ{%gu)5a5!US~OCHe|0h-*zPi5ay6
zl?XZ1I!XoZPpqy54JeozV2s*<Rx+7`Ph=#f#psi$5RzDw0-lG0TSp-S&9%lxCPtQ^
z(>E<ljj)_DZDMF>XklrJy%&j+5}Y$Yt3j!~x*5&2po2m|jVx1BQ$s_HQ9C0OLn8~&
zSp~#|ZSdihMVYBZRO>f@q6MpKEsa4X0+!Y|=n^PnqE3oacg)Mnr*f|hV=fYw5=_Ah
zMbT<r10xe-GeaXoVrEXEr}gHSlu%Y5fI<|3v4kzCHEwEQX=0AvssX#!#LSeq)oY;J
zC`wXuz_plfX;C5-I_TJXIwqE8#ukRA2AC($8<-fInj4tlnA1V)Mf#{8?kvd6ORNN4
zR^*(YON~Ir61FCmh9>4_pqVlBlwe?DY5<;_A|{vlBr13$mX@UI!Va`UL@3!TtgbaS
zH!w3a!e}QL7@3$Df(D$48d-7z&p~C7?J{f{vAWjG7<73%=J~e<rbdRACWgeFjt;8L
z@^kWYlc<=@u({U4!otAB&;ZNLN+u>oW)_w>PKraR9enaj3#dMEiY=Fc?vOPzG{tt$
zsfme+p}8TBG6BW4e)%Oush}H`Qgu_*{i$(k5h!I~30qSGLrXIYGi;}xnwXfG8yeu)
z4Tt1f$W9U}FId9065G-clo&8i+%hn;v@kX|up}y%fzmB(UK(@)YDPZgdpfa%t%;=(
z=+I_EjGhjtOt3Hk4df70g1P0FCMOnAxAMj6T0;{PP;x*Y{V*^v2c5BDMD*x~PhwsQ
zq)X;fba)FDR#aeht+9cLp^336=DHda6H5yN3mh|0Xmy!W5$JFwT8Ay@1Q=sO@HMjN
zbs6aT4+|q>BO*qY)IIV`Q;VtVR*W_nxP5DBU<euv!#u;vz}(2l*vtaQnkBTbMc%sy
zT8B-IBkr)K1XIwp=O(6@Yd=8A+1L`toi9iwSgJx$esM8fN-)sMKr;(7BW!&KQ$tWK
zhkg7O$+haP#U(|DSEhpZoH}PDmV$0Fqe2agC2T=!Ka4Fv$EskaTT?SjGgD&56Pz<r
zbEz}y1ggVe7^`ayjV(+}4J@&g31)_7mPC%<LS}kFhm*kUqMXL!TF^YXr6Fh~6=v9i
zTx&wid5oZY0y7dzpeqytiZaWn(Rsk)T2ljK14}bw11!7YOhB$RC9ZY=)wa1*+Or3X
z6)dhbu`o9@Ha9WEJom#0>{>J8Mnv5+K}%Jrd!Y_?*IIza#xd`AfV$QK`;0$Yc?(Im
z0gw|fQ%ZGxsW5kj&9#<>pmRh`F;`teTx(9;X%CQl_rL><Rj`<(l*Z~>BO@cwJQT)m
zI0JJ_GXrx2VsaUHOcZ=zFKy?`KsPWNn3{nm9ns4K0}CTV10!P``+3n)0&@Ena{ppV
zKBe<~Si{!b+{DZh%juB@7Dgr(h89H6K*9Rvx{$8Adr>Kc^%+*z8d?|{niyiX6QHg&
zBz7bpbP+man32*13)PRswWbE3b{449i<uHYeM@s9$7&K4AlJ=<R@6Xkqm;sQt&zEz
znVF%nsUhYmB?cCzhK2?PIND&C={6YTP|)sU=lpcgslAjs7F!P;R6AH2n;K)DS7Tsd
zYGGtzW<u<$OVD*iR2>}08n))3Mx!C-PD7AuElmw^tQ*G++kpJi!>cJijuR<HFkK5O
z!OTF%z+mY+SeSyw@rk>=9dzPWY945RKlMsnY_7GiFfjym(=pb5fWy|@0>|hFX4txb
zuCmLc;yej9*IF7F7@JrcVy*`>umGJ8W=z~EC7|^Q`5B2+ZPs9St)Za_w$pk+t~E3<
zGa;hS3$A(LwF77_k{ai4VRtQPK?;^#^9B}X78ao8*u;$0fNI{vqCC*~9~9PLh-`-4
zwMK?!*v=aVyVlU$l-LpsywnnMXE&s6UX)1Lp-Wg@Yi?+2U}R{5*#@%!oe*SVfqixl
zGnc_rf^%X~J|cw3XJK`%g_)758J6=H4ZyB7CGJKrP)dM}F}f!vr{++)I04s)sFArb
z$h8<Hn30K@xv_}>j=lrZctWaz4`>l1`GJT-Czh}UZ6Gr+0bK!y*{ZRyurRSO$3FUj
zB_$N)mljZC<_YF_tgbaSvotg@!o2Cjz`_Ew?}hk1{;-q~Sw@}11F^W)#M02*4Aj2G
zI6uL_(!j*rz{G&qbu~_zRJe--7Oo%~t7{D`%?(Wq%rQpo3_u4Co0;KQO@Wyb!V;4U
zOR2f_1*>b#EI{R#5tbQ$bI3vYSZfEATm~9Z%1ET%iFTln#X5cq+Pi0JXliJPzETBr
zZLfuenE{R!t>|H^?vYxQn^{7|Mh({1IOytQ(99{8bZcQ`Xkl(hY`TT7Xw~&dEK1Bv
zhXfD>B({_Qssjv7j4)5(GqAKYwlFp|C1D1t3Vi=SKx!qWopZ1svAfpT*u=sBv*raY
z1_O;J5bIh**rufFQseeDtgf}NG&iv{#8@M00ClYe(XAR-c?%g6gWkOd4khvktgbaP
zGd00>QXIs!COFPdz|3Wbx0HZ-y+xVe<UobM#pYVj`Q0X#hNc+p1dwYDjZBHJdBHOd
ziIknoiX01AU29}vW@2ezfl-1PnSvJPnj2zIw<zT;B<^A3p{csgiKR)DUx<yxwV+mw
zk%_qx##%dYx-~R4!_fvqPYH<%pl!0n;PMu{7U*zC8HFVS7T20snwo>c7IWtdC?yz~
z8Q{447}K?&OU7wE4rXF$Xk-TJp<~SHfLv>AU`*VpP{^%ukJ6kRYD__34_jk%P?><y
zssX#!*vJI?UJ}f(h4*xV@=J@0LA?j$EJFqxn`<pB%`8B!#i)6~t~E6zIwgc97J=4Y
zlHn{ITClm+(%9VC#L^h^L|KSyO^6;(2nLOPfG!{i%gmt40!-|#H3qrX2ulfO0y-uL
z$A~CO3Fe%bn_sHyn^}>n8(f-^SWJy|fjC->#ujE~CRq0AK*H9PxZ8g~tA+DRi$EJs
zsdh0K*02RFVg#*fMejv|Tx()vW=w30(K){;uN1tC07p6`RT!IVEzCe=f+6PpWnkBu
znUX&Gky5Jbo|<=f6{YC`yK6z^tpVl<halIQ8JimtJ8I`unne5YTT2U5OVDx17`Y7W
zT2liYI}I_*ThPvV=w%e7#yNKN*uvJ*%m{SMA?8Rv*tHfWM3349<Y$(omSs|JycwHo
zEzHc#K_@a|smshvOhGHfu=aT|!!`(X{9;Z{s;*ytQ7&k081@h&UKE>aEsadfL3d|h
z)@6nU1}0|aIOcRv%3JVS;i8m$DqVF8^$<4KT9{gzfu?jZ!q&*t+|bO(7{}}$ifcg|
z;lO1Vbk{tn@d&k&0t%aJEiFwAO-)TPXZH*ZjZF+p&CG~y)#R5JQFE~{_VENG(B?8M
zH`#$)3%d7(*wJR_b)1f+Wku9k8-_J(jV(Z{+%Zon0lC(~*n;RWMmO*(chD3G<(mw_
z=?C4lpwr4MjLj`AOpP&bQ86?$F$EpmOw>vhA9csf^wP|nocug+KZhC)#_n2B02*Mf
z$u~4KGc`6eHYDm^X`e&|#EMqeQVM%y;Go5kZoxYUj4*pTAlDih5_i9YPohFVehFwi
zR5!6yHy{;sp&`Uh@=5ftH83zR0j;_>Gc-2FsChwG6&abD;J6VCr38cY&;v_T^GZPH
z+JP?V4Jpc}bYcgaYe84*nSidFM{hA2Sy&i=4r;{SV#MNF(B0ChIiTJ{5cDPu^1~IR
z6N_t2K`X9}K+Es3xYokZ(h|oVTPUst-_x9530g`4+Imc-JMFN$*22Wp$jAW8NpS{d
zW~N4_M2BraMrKY@YEcPzGkShr324tw5e3JFVRfyMp{0eX5tb7PK<C=w?4cutZK*;?
zYHk5FclU$R0oHz*iKV51Dd;2(%yxpMsey&Lr4jZL49T^r3cjh8If;1?JE%uu4O>HF
zBNKCM=j20Oi@kP0aV>a7U|woz8F(<%_wdRp8jaPM8W@<FnV1`6nbWZ}GcW_?KdkLr
z6xV__$0lY{bqgo1d0tBc3nL3-EN8icmNA+b;8>H7;@YrG&^U8mVi{z2hErw=HIB%}
zk`h2CdzgVb30TstnTfHXff>Q^Tj(akJWBhx=qVnnYc0$zOpUOe4+c6g5VZf8a7yqw
zyfQDdDz%il^LtoaYYN)NZ)#+O<z8t^a}!fD3q$PfTa=U#l3xmHeB~tSf>wPbQfa;y
zyK6xgT$*CJPY3E+?0p9$*Mio#gM*eTxAG#=0~XhsSXzR&?ipe9B8?3Uj10|;am<n+
zxfWF378lc{OaLtlG_^1@#5{Y=*ucQT#J~i{d>M*seGaco&Mz&ZayG*fwxCVjhM;t7
zh~BC(2F;UL7~xnMh~nBHdb!rb(gJiQuL<UU2as!xjE!-e<&NT7@F}9Y&WXh()R>Ki
zrCjV`YXQ3X9J8kbaxG{E82h>!6xV{+1r`@mZQUBgy;xjpVrgM+W@2c7dDf+|p^2H1
zsUeP0I~3PCmnIceLJsQ<&d;R6WIx!sSX>KgCm5O=7+PYcTSF5wV`CE>d-qUXn*o|3
zDM`(v&Oid#tyo)(pi}rv%nb~UvAEXU%-Go6fQZ@wloC>lAy@N4t)c>jC2T>5wHufk
zU|FAFY-kBukBMVHFIw1wj+%!LCO9QhWxF(X*MfGIVmbH2*vQDtz|;~)4;{(1pgo)^
zsX2+I;4&9H_~BoYkw|e97n^G>%s>as8)2@*hPjqt&6}zKDsM9~!H%Uu3V<1b&9#=6
zrsk%m*veZYP@*-(ae5?D*rqBt6(we5Cc|u@7LCQVpzFFpopck7_N}pzv89ojxd{>F
zZ9rmCdS0b&P-<~8bruDJJ&e`0pmRAbj4@A?H8wIeFfcGB=1djHSPl3LWYFM8aAFQM
zj;_J#TJX{}EUPY!jV#P8P0Wn3@6$m^3BHM$c}bwFuc;WaILccCLlXlFBg~UDjExP9
z%s>f+aNhxR(_UGAW)ZkN2u>`b#;tp}Tx)J_XkdW3!phj##L&pn6vxe>C}9gp3D9*l
zhZpF&=a*99;7jZ&!NkDAz#Mb0w6U?Nk)gQ(j+5e0TpN~HS^>T?qlg+aPv9(uy@w9U
zNuXI0%)2v;jV+AL3=DDHbBf|x-^7xV;*!K1dh{YK&CSe>EHHaIpdBX0ro@cj`X!c8
z@dRZ2VQXw?U~Y)H>JoHVuZ4*rj(bT^!q%k-bR`M3s|PIU)&#V~*3i@d^A>DlQ)3H5
zLvs^?qaUdXAsLm_O$6ZJ#o}7fM6Q9kF_xP{jZMvrL6g7)Ta4=d(5Z7O4}@WHE$9Sq
z3sX~LON^D+#-?UwW~QdZge_$6F}2U1$KqO30|Qe7QzKI>JsndE3sVadV)l}NmSHD>
z2JWaDx>#ImVrgJ%Y-VJF(RToyaA;s*PULB3A(^0~S(B(VX9`ZX*yhVj4UCPALDy%X
zpS@;eWMph?X<%xJy$y!8KEWlwG_jN#N0UGt3MMhb7Iee7shO!MmJ$qnX_cXc0a0t4
z-Eu&O+T|ufZVJ@(0PQ*iTS)<d=~~b(PEcb2%lQeQ&AcXNM#S8^m#P3B%g;KzvbdCb
zNf*<#Mxc5OR5xJU2xeqt06ycLm>X|FQ_@tK+C_;89IiDpG&3+jpE(8RGSK<A*ynW6
z(yecPQECae!RSM^;SWsLf{p<)H!?RjHpI+j24)847AC}mEi@&hWTuva?}iJ=KfEf3
z;+6we*P5AIni`lHqt8Wx$^;Wb(AnNtTjOY98<d$um35)WNdeupM#d(F<|Y>A2BwCX
zV~hp{pv6HJMnshf;P!Z`u2W)B5@cS-9keQlvW^eBYe6&qmL}##M&_oNcg;igoEj3h
zPbWAtub3KV)ZhzS0|QW*U|?xriFqq4D3^hj+Y!@ZbV|&lwo|e99ZW3E%uNg|G5cj8
z*BXE>D<Y~c3jocTdmLT~nnOnpA4=F*Qi7?0iKT_9feFTpKiIV<rY6MgL-#68&(8yw
z2R@0(RH`7byVlUa$jAV*r(<AfXlY?=Vt{=-0j*2`=Q7=Z#8U9ukFdilt0-TTkLg;_
zNi~+1CPrBHlE7Sxy)};FT6M?V%zSEGUWbx!u)5aLz`(@FzyPBcX=G?>VPI)uj=iUY
z;@VUN7tn%yn$JLi+F%xzX2ymXJ72&zCYYNUSrAq8dL@>E4!?D#=AsJBur)9>Ffp{W
z03CpfK3`^FX=Y|&Zh&JC6k6E&CW5-XmAXzvnN`%9e8A#b6ALqAkZVoQ+X)5+riNyw
zhNfoNR{^29)+giemV(R@s_v4-bS>z-8gp|4LnDkGvfvWT($W$~N<bM;2m%c!P&w7&
z7`3x7HZTCKt-(kMMwX!Yej^e}FzT!lh7}B$VGEjdwlFaOEeu9;EjVn=EsTlVRRk$-
zy%KXNZYRRriX&`Ij7>~Ij>dGYv4OFfF^<&~Xz4a2qqL|JwC$LRQzcl!*3`h<)ZEa-
z4D+0P(BQ3+i8*mKFC=VXci9!|x)<eByoL#jYfUW7O+e>DVeE?prvy`TbE0~Y#R`sP
zsgRuxRB9w(Z-bc{m|K9Z|G``jW?*g%S|~=`9;mR?%A(A?V%?C8(p2i~GsKZ@jm#{K
zL3g5Krdv?I%nZjV(`e~7IKQ+wIkmDVk&45jSW<$ifw{R6XyyiERvNU9$-vA6$JjWU
zYn>CTGIMgM=~irE3u-4ASelp_V4N}yO1FjvrbMi|RCmlfys{`UPZzX>kBV13U=3Rf
z6AREp6UNSNBhbDxa}yjpWRdDJb<dm(>aP&R7PbbUz0xLTrbd{zQGibHHZ`%ZB&rPt
zDZv7Y^0QJ)pogD2=jVae*^pl$V}>oL7iny4Xols!NRVqyEKG2$zeP*8pwrAid!W)l
zCwZ6VQ04j`9IiDqG&90nBMLg}($K)nl&HOXPN11G%7zaRRW6i;&9$IaD&~d;n5)-d
zt|clZIOn7m<x;+Y0_si(g~PRG=Ab<}*veZA3v(h*dq`9W%gjqHrRFLtOxGHi8kk#}
zf^HhXm?Z&+t)T&q9Rz6UHY~FQw#Ldir!<cWv%FZ#1QScpLTp1*%+q?ot~D?rb|gQq
z3VbJtUt&pSejZi&5Lm+2#M02x!rai%0%M;J=x{zGGedJC*404DFR#=@&;W>TKv5=D
zF0;epT2n&<12c0&6JyMjU~FOuaxL~U0jYLKRR{)c?oU3v60+RR_wb@*Y7`IHTx(!t
zYHSW#|ACgv3=Axc%}p&$aIC*YPq(1Dw<x`oid_dRGf<$h8qkph#>VI=0X*+uZed8=
z8CH<A;G9vESzMA&r8!^Bum!u;%-F;TOAp=1!q@=RuOK`&UaAlPxwQ&XP*RD+?piYw
zV+&)<GqFKeg_#+fn_=Hef|3%{9ZO4!5~)29hUr>R_tDG{bWlD<`xd;@(7=MYaWKDB
z(5A>r@T?A%HX33{w+5gE`G#hO#uzhD24L43TH@HTg%Y-@3cmSy$)MZjskhG%N9|x?
zVrgb*gjwD~U28(r=m+HVwM@vwDb3QYfr+KL5y-We_mY5)&$j?wT0%INr7F1O=TN#0
z62p&J)2$h3Nxp$8X1WFKcQ7@xBqEoUD!7$q=A@F}@WyZ{NC2B_Ee(u8r#+ZpojC<<
z;UQvdJXOJ~v<$Qx5_Ef6NNQ0DRVID0xE8eV!_w5i2>W?82B1}~#H0l0jKr$LD|J0m
z^Qd;D3idL=%-8^Q;+6$w&1(v}Zko7L{hc!si$DzpNS)@IlarYWS=H!Rnv|GF-nvFC
zVQXS(Y6d!6*c`*Pps76*3nOFfts1lv%%?Py%D188D8WojK<9o~V2+Jj7?_$Gnc>(C
zhvwR_%;c2R;^KVjje=owEvV0HU}0csY>Y9dV_;}xYHVbJ<0K6<*MbffruHN{mXu&>
zU}#}!Zft;=%OI{LYRwX8?MG=Uc#RdP=%EtEbgdC+$kV_aw3iGcmqEgoxE?wrcY%8k
zDXF?nptWHXUkiolT4O^COVGHd5tjQRA+9wcqIO6HUqFzUnU@MGaH)00IHqesg_p6h
zxiOYgPa!L;%!nJmg@i3^oqMq^_~-`;vm6%Jni?1xSeP1^VuUTI?_g$PVM*j_ip0#k
z5?$ZKBG3T}R7wk2U29@$VQy?>ihhDOXhamWG7!h^43sjVR3RiIm9oRdvE)pwt~CeU
zqGEz&#^1u!!qmWmxVp@#D3co9TogBBajl7kIrtPl%zZkL5{$?ZQPA3t#N5QRqSQ+8
zp5B7Q;$%vPKrmekDih3&%#Do<Fm}Eem|IwwnVS%Erb?*-<WxiIHW@Kp3tFdQWCpql
z3TulIG-^jw2?m-&ucFH67a}oWajmI=v5Bd<p^-WI>NNu+P-$UeM#^}CV|rd9<a8a^
zBFdY%SX^sj3BC0N-L>#Cfv7f^Uw-o8m55-W3JZ&CO%2SAKy#58YnBWQ4J}N}O)ZHj
z!PFh|O7cO+Cs0@)pn4LEYfUUc`(r_?$I;sf;6AUp5pkzNIhBG|f)!CUe6hL~wB8Oh
zzkudicuK%NB8pNwq$+^UGs`cf^u$|&VQXq&2HNFsg1Mg;9JWTr#M})B8d=H!jn<%A
zM<EYu*cuy~nHd^jtiLrd1f2(BYJy`OBU;!x=jY_-B^IUVI_DRG69t7X1!>3PT2ljK
zLqjt|EIVXD>l2JkEpY5FLvt<YU}4a<trTh<V1<3g-^9Wad~X$&eUYYSrj`~)IA%`K
zT<emUNA)5MOW1;TXMn;MTZ_>QJS&a8yhR$xS9dHb$}a}pD4mmEM8&oZ7T21BF8MJt
z!7{rCI{d}d)C|Y|GPJOD&d)0;0w0J?y&@OWwV+lF=;BaA6ZDaM14Bb&W6*E{5v$kK
zJyP@1^QpaH7}K>Th9>6V6|GoCKR~WEB(i-Qke{2IT9jF$>y=oVLZ#LXrfWgt3Fe?X
z7_r<z0CKI7F^;u%Xel8ezceQ$zqE*&>lARf*3ihv2+J*jplyAYro^pJ2uMpUDakC(
zNX^Uz6_r%Mn65Pdog{5(W^RmedL*poCGKvx5YR2yC8<T!bT1ayf<{D*L3`sdTjQ2S
zhK82rM6CiURtU&UEJ~qXc>szWOxJ?$>^3qrwlu+Z+nSlFrI`ti-N$I@7IeN+dSX$2
zX%6*zJD9EojeZ!KfM!Y1!`8qEw3yro*SQ}ku2pv}E>0~fOU%)A&d;UVIjvY-Yi?>}
zY-xmfqO1Wpmk~K4>Xe$1lbT1>OolNw4mvc&(#+h{%-jIuR48yRvox~AG2@RCwy6q!
z`6WfEx-N;i;FIm#ixSIH^O7?ttA??Jt*L>9p_#dvi8=acGkBG|rHK)7CwMz2mZqd8
zr6z+8kaSKgtpMc`N-=iVni!ayVc8dHWN2mqJ~|!iED2JpCRM>XzqF*Zh?=wgAfIA&
zt)Za>XkiWdIGBNv31~zQ*Vs6UYlBiN^D<MZa!3uxnNW<ywV<qIW?*87aW(}w-I^K@
zc>`lWVls87q_MZgO%2QpjE&4qOwi|aV6Me+;ud-?ODrx<%uAtaYQPe<rl3<(jLc0i
z?{_e;G&VG_uq1BXxLayzdTDA=eojtmF?iZPIJFeShDIt`6uN7{I}J?@KsVW8tY|fW
zxt56bEodE3QEqBpNj~*zGRzq$h-(cE3_;fyqKzjQ7?>EE8W~vPI28&dC6p?-Q|rPE
zq*y=?TkyU}b4wFL6U?241_qXf29}`VU92S-ifdC9AoC7knd$jOx+$r}x}cL!Q;Skd
zC~4<lbFGCLXr+%C#@Q60Tn3sv#gT4NN-)rQHEH>!R4&4>xE6Hwnu(za=K2I9BLmRx
z3?mbw_Luo278g^gg9A?sSY2ysY+z_&j4?|BO$p}2q+3`@0MG8_r0P25B<4}RI3J5^
zO)ShzEDTLdEivjc1540eBLm`2^$#kgOW2xN8kvL7n8#SDVqginCD7EEsFVP`484e&
z2R>j8TMJ7gLlZ0``QW=a4b9DoTB+ikUs^=Xv%x@#7prT{4NVM93^C7C0lU`Bl9>6j
zQU%}C;=IfpU8mH%{7focRfN3+GY8!qYJ#zM&j9LL1ESWALtX2f13IlFF}Hw{auyV>
zAdD?+Elofv0b4H;bSta5p%D=~yWwH$oLE|1O!;0dkXtcpUT|GzVqs=zVuCr^49R6?
z#PxKXGZJ$PK!><HQLo#JHEcoWa+(-ou3j@RH!wFhCvvBuOJZ(8W-1jX$soZBCb7BJ
z!rTy4CSZ&wfNEX?b4wymfPt-EE6y)1)^*HF0j;b6TS)<d#kHmeW~LTqhDO-VR51g&
zmYChgr3&t)hgX7*3(QFbo#lUcT^<!qm&NW{Lt`^TLrW}uUa)Hoh{$EAcg?4$Qzvk-
zyVe3Ur-RM4rk0>foQZ0UgGQE$Q<ICRx$+XLYmF=n%?yn&Y6tLm0?4&Qt-p22&rK`J
zr|xm?SY2yuX<`OyDPZ;;j4e&gEQvd3DL9or>&7k3j6emhIr_W<tW3bs8b|9pxaXJB
zWBskEfw=)_2Fen1WuOIkL=?xl&1kL-23_}(lS9=8IhK@QVrgy(Iv))C?qkqtW<-?<
zPKoJx`Jmo;N~&&-x_=SPN-*%caTAPF{UIsA!kD;`{9w>ZFxrQ$Dd<!OQv*}%BTMEM
zrp83IZy|kNa8C!+<#kHTEKba$sK<-7RRdc4VFWs~27M0{IBYE}%yHbEftGHaN|Q6F
znrLy2gP9tEt^~u_rvr1X5mB{+TYgb`YBBhD9akz1-(qWxn;Mvz8<?9JVH<5WGXNdM
zMO14Xk`nw&Q}c9F)E!GoQmZIv&Oo(dDHA|R*1*Wz6l3NT9JV0W5>+NZT<e#aoS%~j
znog&NgR#2S%+ws@TJ*JcFxQ$8l@h=+4xlA$RA_ragBE*AFt;=_GB>nDpMiqAmZ%=O
zJLsVNWa>`&V+~tV6AL5I(RS$V1Y<)ZQ_#2*_BBgL<6!EJ;FUD=*k1-ZM%u*OzyRaq
zA_HUaGGYrHH-{p*7Bv4<ln=cz!3%V!G<C`{tYK?lY-(;`jJd+f$kM{V3^WCdbwm`!
zwSlFXB_*l!8Dq3CGdD27-0xrvI$y(ri1QOt75qRKR)MZK%>i9v2k!sofZPwuFXYi!
z!`2Wq6=`gNUY8jdnV5j2jIo~?h!VDLMX4nv)SfQGUM3itgYJeiL~q|37#kUx7@Aq&
zI28)TwV-}ZVo^?h31s^*l>!%g*cuv{8yK5nv~P_KjSN8Nfe;b4AlDYBmZno@w>&J}
zV0W!CXg>)?-vJi3rr7H;l(6+lO-swqqsoC4FsEW~)qu`zHa0gfHZVXdZ;cE<1%;V8
zaVHmnW*$Iex70cL7UE<qVGG*D391B4Fh-k=OpHxULH7p|F2Q{AOH+$;saWZPor~4A
z7NB!jjWEt_HZU?YH8Hm|#&H%9N=k4}Ovx{$_#P6l6Ojlkt~E6<urxI?!MtJI$jHFR
z%+k_=sN36%6<jN;GE<8|gG(Wam5Ir^!I?#rF381nEok+cg{6^+A?AJP1{Q|q78Zs$
zav56RAq;dRD|HVp!dBjzSehFeo0u76&PqeiS;A4?qPZ5F%c#7N5i@K-tJf?+=PY5K
zC<}8f_7$yYu7$M5gA+^3QcH_KS3QI!=Hwh+Nm0hb>RKa1(DhVUS~Z~a6U>M@%N;hm
z2Rld9C%+VYO$lX51Dk6t%)yswVVtP~9<>9l0wStk=9ZIKnx03Q>yU~AFcXVwO${u-
z!*-aviojFSre?&gx`d<z*tvGPRN3B(#kD4uX5i5T+@l}ZYhJAB)+aF+v`GUrTjG;g
zQbOSoomgCJYG7<?Xkv*uersR|o+cr3mIQR8P6b7I3LN<;1g2|2<*l)qp_vipxgRjs
zV(*usg{^yjUP>y(dty->i>15;yVk_e%n)<6u%Usak*T?X8Bw_moNiNfgA!9x(?JeL
zwU;~|wy-rfFgG;EmJ*CW*Ql5n5LcJ^W)>GybxRS}79(h{w7G$~r6I;xjRDxTplvZ&
z+hAxZ!8frKbbdleMt*5x5tZ)c#2&V0mLS(+v>3rRCYTtR6E#cXo0wUZO1*;~z)1(w
zwFV}j%STMjv7HKKVPt7&VMg3qJD<dY#Jqf}9%hCmmw}c98ygxL85*IFgMm)Tw=^=c
zG$yLN4N6T0&65=Cg0>fxW#$!@Qa;LrC2T>vIE@XBFy|scM}C0r^EM>PwN9l~shLzh
zx(JJFO)O0eLA_hdoi9el<{;M+ceb!kVp(cYUIta`2W+mj04?@0GBiS;=LN0(Ffaq1
zi%m?K06N2p_9YnT?hF${Lvtf6eFu<B%}t3*x8U12^A0a6p<?J_3tLOj<es?!MoIvW
z-x?bl<G9@tt-J--WxDQ=Lm5H6Ghgt4F6aa~vX|IkajmI=k-4#<xiO||jg3I9bPM8E
zss!X5UYSeH33SZ54C)@xX>f)ZvwNWZWuUGwvFjKWob!`24zHkmLpQi)01;Ti*2L1-
z!V<KL6JxB#$iT?R)ZD^^sD4>U5omCUx;IN>aV_ZZZc7706O1wewnmh=To#;KP@)@_
zO6l|?C`jQLt82~8EJ16V(Z_G0t~Dm^HVWtbyp+Q$!7Il7@-vH46HDQilFh*CT4M_%
zL(oMv=%aR!^|!{RM73%lWdiiZ$l}r>U6)LXFAl`&S~Jj!Rx^z8TWHuC857la2+O2m
z_JYO+R@a)Fm>PnPY{wq9M#SVYbw}`B6reEmPoZop5!9t13ae|)ObiW83^2}Z2Ax-9
zVrgb+NmSUn=a+(eW#E+Sn@W`x<XBy64mw>2>-`Rfput_@PTT^g+f-d&P=Tv^xHCN`
zlk#(WvAfpP47@oKGbI>;E}|#qlxg+Don_SA(+x@o*j7`3PDeK}F*P>8ST_zz38n@X
z2E?sYamz0P?LMYrn+BI_L9<Lo*v<?zG&is$sxDJ^%q%KPq~;DzQ0QW&1Y=Ok7Ib5s
z0s0)efq{j&p_zd(ajhC~y47_Doq|iXxgB)Znwy%MTNs<0n3`ek;)IvCM2&tpfo}gP
z%BRkBG$>#(+h9hZTdoa^P0S2U42;pk7L;zyEe(j=haQv<I-`{iBcf&|=Ag6OF?u@S
z8^%qIh&vM-G#gozO5L=Jo)SRo#x2ZDjX?|D(f95dKwL{?*h12+Z(>PCX;CKR@FE{j
z>joOBWKq~$YiR~Ls@vEAedh}(nOItw856f!7&J>#P;_`DHQHV<uVHtsrMZcv0mkSD
zDBYTZ4qqdx4d$C)R8mCYtO(4NFdEafpxVL06tr3xeGVPuS~GJKb7F411+7&<-Ye}?
zl$n@!csYgb8%)=N&iybqH8;k*=M>~xbI`$1M6F|V&PYwub;>U-$<L$4@=$Q_V!9SI
zA_`j6YJky;1iKb=cMTE!GIhty3ecWzmrQEyBLO)V)3u;G2n@}P%nS_BM?}G{wKOm$
zrd5-w5Rj7(I;E8=JsglrK^W7upwrQfOpGiIEwP+t2C9*biP@)<ssK8rBquSyG&K)o
z4|OmO*P0tyV&0+x3tOV*&_O47mn4D?<^_$@I2EOqB&JiGezCjO#KPFr5aT>XxNC_j
z!C<vRQ8MTxQCjVb1f>K63u9Bv`7)SmiEH0NT<ejUlbBfqKJWp28FE@tBIt5#G7|>Y
zur)Wa1dW4XD{sNA8tiM9&_?ZoGK-UQsM;3C(HgffHZ(TEyiW%fw#1w_4nBJ=KMyox
z8jxB<m5Vd5wirPv!O+6U!T{rbUbt(CC~s30oDxgZsoJ>3<yv#lRl?ZY380i<NmNR3
z%gL;wazel|rvsWf1)XVWXpTOo0}orGW=ZI?cMp^jER2mU4K1;Zh=OVdBJYs(Ni0ju
zD~2p%gp?1?IiO=!$Se-P+Azxm1JEgamd2Jw80U?H!qx(`v5%-$jnm;p>7YAb5_Q2v
z7uYsR39PO)Gqf}?G{9K11a~b_=@z^!G$o%ZBT6t|Vs)*#p#|vdMJy@72(-PExDinw
zP@lK5D3h9ttgyS*+}Oa-2;+WUcn_VZHTjUV8k|~|TBPfom{XRRLir)|SX~R=eQaim
z-iw5~*4T)s^4145hYnr`mYGAXIt{C9O^wV9O^h+lZHBp)xO4J-skcQMmTa+<x1gOk
z=H`YbCZ_1)2{6~<SR;zoPVmVrODv-5`7hYo2?i#XX2zC=CdTGi`VNqDKZtKJrs{g+
z=j9iH4xk5ZG7Cs8qG;(m)|3Fcq20t3V`U&bY>BGNz_~0{*Db#i)Eozm+@ym~Xr!d=
zfYr68mS%<~rr36Dfx{NZ4g!>vP^#c`cx7Itu2X(;Vmj5D3s_tWx*N{Y(8RzDM@ld@
zG$v-oKPaEVZH4f>g<xQDt*L>zsi~ofsR@==4Jd4liCN{Y?pX}Jp9VCkL!~JatSv@R
znP6lJD#6g_B0=kFjLZ#9i94^xIX@>SKM%aw5VZLvpeQw$;)OLBVQXY$X#zS%)DX)Y
zI(Xf<nVBh3ts2m|N|`D7pqp9qC>&6NCj|`G8W@0f8d@5fm|(2Q2eoQUEX|FHyJIV`
zG_|Cp2(pq9JZBc130g@3x0xIUR@WMv8iOyKN1K6yjo%VC`T=f(mE?nO1tZ60*z{m=
zt%;?viK&UDff<&u8Y4qX(8L5WWdf*#%}J#04l@kb8W~!co0*yz8X94oQUb3Xh}y;J
zlzDh1Wa>1q^zh0O7!O;J5iN${T2Q(*0iUykb)Fa8izI5E7c@4WlbKoyPO~ogMJf3-
z8d(CBx0VK&I|x8$xf_`q5O+o^xPOzISaf)0at5V$X21d;Gi*WQx5lRC=BC(M<A&y@
zMux=AN{6N9rKEz+$p?>s<Y$)TQ@;2E)3pYm;=tGf+ik*z21bTP=ElT~)ubvor55Ft
zgBs#g?3rP8Eoj-eg#p&`)*Q5=m8ce@FX%2MSQJu;#&j(xC4jEzHN<vqGiW@)*pjF+
z0dziC^5HF1-D8H$wPxnvBVaIhaT*v|T3T8f6LS_2_;elL{E`yzV5oZ{sN|)*;fU^9
z=&ZD{k(m*eGptOEEloj9Nn&aT_td=9;v5RMW1yuVbk~ArPAyFgEzArJF~({P44|$h
zqJ69Gk(iU3N%7D<F|IYVFflVU!q~-WU|?!wYHVmi-0U8>r=tr#?E&1#1r3p-Sxzz+
zYuK7v8i0>8LvPi9!`95wkf^%MC%=?F_d6Jw8Jigz8Dr_8n}Mczi8>u!0W{BBMdbn)
zOW1-|T^gEM7-7`B;QeLhW=6!8V0mfzIjK}#=Z?j-CKjN3L(L2gu!Sw??hF&`DFJDR
zth#?uW*M~_2S}+Ki)&2{EX@oo49pCT(9^Avk-3G5rGX_;br~d=A+5xA&ZjuAvAEX6
O(!|Kr(9GD#ND2VEK21~r

diff --git a/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.prj b/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.prj
deleted file mode 100644
index 56757fc..0000000
--- a/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.prj
+++ /dev/null
@@ -1 +0,0 @@
-PROJCS["RGF93_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",44.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shp b/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shp
deleted file mode 100644
index b5b0a31b558130b3830d78d3ffd06c5078771388..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 72144
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

diff --git a/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shx b/inst/CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shx
deleted file mode 100644
index ab1a0d14f1cdcbf9de29b1f3a8f4dfc1b1ddffa7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20684
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

-- 
GitLab


From 7e29c4523db9f4afe689c746d9e7bded60801066 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Tue, 11 Mar 2025 14:01:50 +0100
Subject: [PATCH 05/36] Modification de l'extension du fichier

---
 tests/testthat/test-import_shapefile.R | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/testthat/test-import_shapefile.R b/tests/testthat/test-import_shapefile.R
index fdd8973..b13b494 100644
--- a/tests/testthat/test-import_shapefile.R
+++ b/tests/testthat/test-import_shapefile.R
@@ -1,7 +1,7 @@
 test_that("import_shapefile works", {
 
   # Import du fichier Shapefile
-  gare <- import_shapefile(system.file("GARE.shp", package = "collectr"),2154)
+  gare <- import_shapefile(system.file("GARE.SHP", package = "collectr"),2154)
 
   # Vérification de la présence d'un objet sf
   expect_s3_class(gare, "sf")
@@ -14,7 +14,7 @@ test_that("import_shapefile works", {
 
   # Vérification de l'affichage d'un message d'erreur en cas d'absence du fichier
   expect_error(
-    object = import_shapefile(system.file("DEPARTEMENT.shp", package = "collectr"),2154),
+    object = import_shapefile(system.file("DEPARTEMENT.SHP", package = "collectr"),2154),
     regexp = "Le fichier Shapefile n\'existe pas."
   )
 })
-- 
GitLab


From 928ad7368a481a92d4279711793cca3182eb3ef2 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Tue, 11 Mar 2025 16:46:28 +0100
Subject: [PATCH 06/36] Ajout des tests pour download_and_extract_wfs()

---
 dev/0-dev_history.Rmd                         |  2 ++
 .../testthat/test-download_and_extract_wfs.R  | 26 +++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 tests/testthat/test-download_and_extract_wfs.R

diff --git a/dev/0-dev_history.Rmd b/dev/0-dev_history.Rmd
index a823622..d5bbeb1 100644
--- a/dev/0-dev_history.Rmd
+++ b/dev/0-dev_history.Rmd
@@ -78,6 +78,7 @@ usethis::use_r("archive_table")
 usethis::use_r("close_all_connections")
 usethis::use_r("create_dummy")
 usethis::use_r("create_schema")
+usethis::use_r("download_and_extract_wfs")
 usethis::use_r("format_colnames")
 usethis::use_r("format_filepath")
 usethis::use_r("get_variable_completion_rate")
@@ -96,6 +97,7 @@ usethis::use_test("archive_table")
 usethis::use_test("close_all_connections")
 usethis::use_test("create_dummy")
 usethis::use_test("create_schema")
+usethis::use_test("download_and_extract_wfs")
 usethis::use_test("format_colnames")
 usethis::use_test("format_filepath")
 usethis::use_test("get_variable_completion_rate")
diff --git a/tests/testthat/test-download_and_extract_wfs.R b/tests/testthat/test-download_and_extract_wfs.R
new file mode 100644
index 0000000..ae9a45b
--- /dev/null
+++ b/tests/testthat/test-download_and_extract_wfs.R
@@ -0,0 +1,26 @@
+test_that("download_and_extract_wfs works", {
+
+  url_wfs <- paste0(
+    "https://services.sandre.eaufrance.fr/geo/obs?",
+    "SERVICE=WFS&",
+    "VERSION=2.0.0&",
+    "REQUEST=GetFeature&",
+    "typename=ObstEcoul_GUF&",
+    "SRSNAME=EPSG:4326&",
+    "OUTPUTFORMAT=SHAPEZIP"
+  )
+
+  # Appel de la fonction avec une extension valide
+  result <- download_and_extract_wfs(url_wfs, "shp")
+
+  # Vérification que le fichier extrait existe bien
+  expect_true(file.exists(result))
+
+  # Vérification que l'extension du fichier est correcte
+  expect_match(result, "\\.shp$")
+
+  # Vérification qu'une erreur est levée
+  expect_error(object = download_and_extract_wfs(url_wfs, "gpkg"),
+               regexp = "Le fichier avec l\'extension gpkg n\'a pas \u00e9t\u00e9 trouv\u00e9 dans le dossier temporaire.")
+
+})
-- 
GitLab


From 1ccf2f5df95a3681a3d29e044c6901baffd78f86 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Tue, 11 Mar 2025 17:07:43 +0100
Subject: [PATCH 07/36] =?UTF-8?q?Cr=C3=A9ation=20des=20tests=20pour=20impo?=
 =?UTF-8?q?rt=5Fgeopackage=20()?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 dev/0-dev_history.Rmd                   |  2 ++
 tests/testthat/test-import_geopackage.R | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 tests/testthat/test-import_geopackage.R

diff --git a/dev/0-dev_history.Rmd b/dev/0-dev_history.Rmd
index d5bbeb1..ca0023d 100644
--- a/dev/0-dev_history.Rmd
+++ b/dev/0-dev_history.Rmd
@@ -82,6 +82,7 @@ usethis::use_r("download_and_extract_wfs")
 usethis::use_r("format_colnames")
 usethis::use_r("format_filepath")
 usethis::use_r("get_variable_completion_rate")
+usethis::use_r("import_geopackage")
 usethis::use_r("import_shapefile")
 usethis::use_r("modify_column_type")
 usethis::use_r("remove_special_chars")
@@ -101,6 +102,7 @@ usethis::use_test("download_and_extract_wfs")
 usethis::use_test("format_colnames")
 usethis::use_test("format_filepath")
 usethis::use_test("get_variable_completion_rate")
+usethis::use_test("import_geopackage")
 usethis::use_test("import_shapefile")
 usethis::use_test("modify_column_type")
 usethis::use_test("remove_special_chars")
diff --git a/tests/testthat/test-import_geopackage.R b/tests/testthat/test-import_geopackage.R
new file mode 100644
index 0000000..20f6aab
--- /dev/null
+++ b/tests/testthat/test-import_geopackage.R
@@ -0,0 +1,19 @@
+test_that("import_geopackage works", {
+  # Import du fichier Shapefile
+  aerodrome <- import_geopackage(system.file("aerodrome.gpkg", package = "collectr"))
+
+  # Vérification de la présence d'un objet sf
+  expect_s3_class(aerodrome, "sf")
+
+  # Vérification que le champs the_geom a été créé
+  expect_true("the_geom" %in% colnames(aerodrome))
+
+  # Vérification que le nombre d'enregistrements correspond
+  expect_equal(nrow(aerodrome), 1239)
+
+  # Vérification de l'affichage d'un message d'erreur en cas d'absence du fichier
+  expect_error(
+    object = import_geopackage(system.file("routes.gpkg", package = "collectr")),
+    regexp = "Le fichier Geopackage n\'existe pas."
+  )
+})
-- 
GitLab


From 2a6bbfe15cb1059aaa7304bed9c2b45e99d29a92 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Tue, 11 Mar 2025 17:08:18 +0100
Subject: [PATCH 08/36] =?UTF-8?q?Modification=20de=20la=20fonction=20suite?=
 =?UTF-8?q?=20aux=20tests=20:=20abandon=20de=20la=20transformation=20du=20?=
 =?UTF-8?q?r=C3=A9sultat=20en=20dataframe=20et=20modification=20du=20renom?=
 =?UTF-8?q?mage=20en=20the=5Fgeom?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 R/import_geopackage.R | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/R/import_geopackage.R b/R/import_geopackage.R
index f037145..9de42a8 100644
--- a/R/import_geopackage.R
+++ b/R/import_geopackage.R
@@ -28,17 +28,17 @@ import_geopackage <- function(filepath) {
   donnees_sf <- sf::st_read(filepath)
 
   # Convertir les données spatiales en un dataframe
-  donnees_dataframe <- as.data.frame(donnees_sf)
+  # donnees_sf <- as.data.frame(donnees_sf)
 
   # Formater les noms des colonnes
-  colnames(donnees_dataframe) <- format_colnames(colnames(donnees_dataframe))
+  colnames(donnees_sf) <- format_colnames(colnames(donnees_sf))
 
-  # Renommer la colonne de géométrie en "the_geom" si elle est nommée "geometry" ou "geom"
-  if ("geometry" %in% colnames(donnees_dataframe)) {
-    colnames(donnees_dataframe)[colnames(donnees_dataframe) == "geometry"] <- "the_geom"
-  } else if ("geom" %in% colnames(donnees_dataframe)) {
-    colnames(donnees_dataframe)[colnames(donnees_dataframe) == "geom"] <- "the_geom"
+  # Renommer la colonne de géométrie en "the_geom" si nécessaire
+  nom_geom <- attr(donnees_sf, "sf_column")  # Trouver la colonne de géométrie
+  if (!is.null(nom_geom) && nom_geom %in% colnames(donnees_sf)) {
+    colnames(donnees_sf)[colnames(donnees_sf) == nom_geom] <- "the_geom"
+    sf::st_geometry(donnees_sf) <- "the_geom"  # Mise à jour du slot sf
   }
 
-  return(donnees_dataframe)
+  return(donnees_sf)
 }
-- 
GitLab


From 51d155ffc83e190edb25f639c5e080d1c7bf81e7 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Tue, 11 Mar 2025 17:20:33 +0100
Subject: [PATCH 09/36] Modification du renommage en the_geom

---
 R/import_shapefile.R | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/R/import_shapefile.R b/R/import_shapefile.R
index 512823a..d6553aa 100644
--- a/R/import_shapefile.R
+++ b/R/import_shapefile.R
@@ -31,11 +31,11 @@ import_shapefile <- function(filepath, crs) {
   # Formater les noms des colonnes
   colnames(donnees_sf) <- format_colnames(colnames(donnees_sf))
 
-  # Renommer la colonne de géométrie en "the_geom" si elle est nommée "geometry" ou "geom"
-  if ("geometry" %in% colnames(donnees_sf)) {
-    colnames(donnees_sf)[colnames(donnees_sf) == "geometry"] <- "the_geom"
-  } else if ("geom" %in% colnames(donnees_sf)) {
-    colnames(donnees_sf)[colnames(donnees_sf) == "geom"] <- "the_geom"
+  # Renommer la colonne de géométrie en "the_geom" si nécessaire
+  nom_geom <- attr(donnees_sf, "sf_column")  # Trouver la colonne de géométrie
+  if (!is.null(nom_geom) && nom_geom %in% colnames(donnees_sf)) {
+    colnames(donnees_sf)[colnames(donnees_sf) == nom_geom] <- "the_geom"
+    sf::st_geometry(donnees_sf) <- "the_geom"  # Mise à jour du slot sf
   }
 
   # Configurer l'attribut sf sur the_geom
-- 
GitLab


From 47f582533a8c8cd237ad101d9c1975deef1cf791 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 09:21:40 +0100
Subject: [PATCH 10/36] =?UTF-8?q?Correction=20du=20bug=20de=20non=20rempla?=
 =?UTF-8?q?cement=20des=20caract=C3=A8res=20accentu=C3=A9s=20+=20d=C3=A9co?=
 =?UTF-8?q?mposition=20en=20plusieurs=20=C3=A9tapes?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 R/format_colnames.R | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/R/format_colnames.R b/R/format_colnames.R
index 7911623..7a22ec8 100644
--- a/R/format_colnames.R
+++ b/R/format_colnames.R
@@ -1,9 +1,9 @@
 
 #' Formate les noms des colonnes
 #'
-#' @description Cette fonction formate les noms des colonnes d'un dataframe en 
-#' remplaçant les caractères spéciaux par des chaînes vides, en mettant les noms 
-#' en minuscules et en ajoutant des underscores avant les majuscules 
+#' @description Cette fonction formate les noms des colonnes d'un dataframe en
+#' remplaçant les caractères spéciaux par des chaînes vides, en mettant les noms
+#' en minuscules et en ajoutant des underscores avant les majuscules
 #' (sauf au début du nom).
 #'
 #' @param colnames Vecteur contenant les noms des colonnes à formater.
@@ -23,8 +23,14 @@ format_colnames <- function(colnames) {
   # Ajouter des underscores avant les majuscules (sauf au début du nom)
   colnames <- gsub("([[:lower:]]|\\s)([[:upper:]])", "\\1_\\2", colnames)
 
-  # Remplacer les caractères spéciaux et mettre en minuscules
-  colnames <- gsub("[^[:alnum:]_]", "", tolower(colnames))
+  # Remplacer les accents par leurs équivalents sans accent
+  colnames <- iconv(colnames, from = "UTF-8", to = "ASCII//TRANSLIT")
+
+  # Remplacer les caractères spéciaux (hors underscores et alphanumériques)
+  colnames <- gsub("[^[:alnum:]_]", "", colnames)
+
+  # Mettre en minuscules
+  colnames <- tolower(colnames)
 
   return(colnames)
 }
-- 
GitLab


From 12b48c8aa0597a61bab674954276a51397d75fc2 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 09:23:19 +0100
Subject: [PATCH 11/36] =?UTF-8?q?Ajout=20de=20import=5Fxlsx()=20et=20d?=
 =?UTF-8?q?=C3=A9composition=20en=20plusieurs=20chuncks=20des=20commandes?=
 =?UTF-8?q?=20r=C3=A9currentes?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 dev/0-dev_history.Rmd | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/dev/0-dev_history.Rmd b/dev/0-dev_history.Rmd
index ca0023d..7937e26 100644
--- a/dev/0-dev_history.Rmd
+++ b/dev/0-dev_history.Rmd
@@ -84,6 +84,7 @@ usethis::use_r("format_filepath")
 usethis::use_r("get_variable_completion_rate")
 usethis::use_r("import_geopackage")
 usethis::use_r("import_shapefile")
+usethis::use_r("import_xlsx")
 usethis::use_r("modify_column_type")
 usethis::use_r("remove_special_chars")
 usethis::use_r("rename_field")
@@ -104,6 +105,7 @@ usethis::use_test("format_filepath")
 usethis::use_test("get_variable_completion_rate")
 usethis::use_test("import_geopackage")
 usethis::use_test("import_shapefile")
+usethis::use_test("import_xlsx")
 usethis::use_test("modify_column_type")
 usethis::use_test("remove_special_chars")
 usethis::use_test("rename_field")
@@ -116,18 +118,21 @@ usethis::use_test("table_exists")
 ```{r}
 # Simulate package installation
 pkgload::load_all()
+```
 
+```{r}
 # Generate documentation and deal with dependencies
 attachment::att_amend_desc()
+```
 
+```{r}
 # Add variables in globals.R
 checkhelper::print_globals()
+```
 
+```{r}
 # Check the package
 devtools::check()
-
-# Manually add dependances
-usethis::use_package("mockery")
 ```
 
 # Share the package
-- 
GitLab


From c2914472b9654444cab002472b962021c3b21ba6 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 09:24:44 +0100
Subject: [PATCH 12/36] Modification de l'exemple

---
 R/download_and_extract_wfs.R    | 18 +++++++++---------
 man/download_and_extract_wfs.Rd |  2 +-
 man/import_shapefile.Rd         |  2 +-
 man/import_xlsx.Rd              |  7 +++----
 4 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/R/download_and_extract_wfs.R b/R/download_and_extract_wfs.R
index 7235a23..7b2d51f 100644
--- a/R/download_and_extract_wfs.R
+++ b/R/download_and_extract_wfs.R
@@ -1,18 +1,18 @@
 
-#' Télécharge et extrait un fichier compressé à partir de l'URL d'un flux WFS 
+#' Télécharge et extrait un fichier compressé à partir de l'URL d'un flux WFS
 #' (Web Feature Service)
 #'
-#' @description Cette fonction télécharge un fichier zippé à partir de l'URL 
-#' d'un flux WFS (Web Feature Service), le décompresse dans un dossier 
-#' temporaire et renvoie le chemin vers le fichier extrait avec l'extension 
+#' @description Cette fonction télécharge un fichier zippé à partir de l'URL
+#' d'un flux WFS (Web Feature Service), le décompresse dans un dossier
+#' temporaire et renvoie le chemin vers le fichier extrait avec l'extension
 #' spécifiée.
 #'
 #' @param url L'URL du fichier compressé à télécharger.
-#' @param file_extension L'extension du fichier à extraire du fichier compressé 
+#' @param file_extension L'extension du fichier à extraire du fichier compressé
 #' (par exemple, "shp", "gpkg", "csv", etc.).
 #' @return Le chemin vers le fichier extrait avec l'extension spécifiée.
 #' @importFrom utils download.file unzip
-#' 
+#'
 #' @export
 #' @examples
 #' \dontrun{
@@ -22,7 +22,7 @@
 #'   "SERVICE=WFS&",
 #'   "VERSION=2.0.0&",
 #'   "REQUEST=GetFeature&",
-#'   "typename=BassinDCE&",
+#'   "typename=ObstEcoul_GUF&",
 #'   "SRSNAME=EPSG:4326&",
 #'   "OUTPUTFORMAT=SHAPEZIP"
 #' )
@@ -44,11 +44,11 @@ download_and_extract_wfs <- function(url, file_extension) {
   # Trouver le chemin vers le fichier extrait avec l'extension spécifiée
   extracted_files <- list.files(temp_dir, full.names = TRUE, recursive = TRUE)
   file_path <- extracted_files[grep(paste0("\\.", file_extension, "$"), extracted_files)]
-  
+
   # Vérifier si le fichier a été trouvé
   if (length(file_path) == 0) {
     stop(paste("Le fichier avec l\'extension", file_extension, "n\'a pas \u00e9t\u00e9 trouv\u00e9 dans le dossier temporaire."))
   }
-  
+
   return(file_path)
 }
diff --git a/man/download_and_extract_wfs.Rd b/man/download_and_extract_wfs.Rd
index 23153f1..a004d06 100644
--- a/man/download_and_extract_wfs.Rd
+++ b/man/download_and_extract_wfs.Rd
@@ -30,7 +30,7 @@ url_wfs <- paste0(
   "SERVICE=WFS&",
   "VERSION=2.0.0&",
   "REQUEST=GetFeature&",
-  "typename=BassinDCE&",
+  "typename=ObstEcoul_GUF&",
   "SRSNAME=EPSG:4326&",
   "OUTPUTFORMAT=SHAPEZIP"
 )
diff --git a/man/import_shapefile.Rd b/man/import_shapefile.Rd
index 7d70b86..37901a5 100644
--- a/man/import_shapefile.Rd
+++ b/man/import_shapefile.Rd
@@ -24,6 +24,6 @@ si elle existe.
 \examples{
 \dontrun{
 # Importer le fichier shapefile dans un dataframe
-chef_lieu <- import_shapefile(system.file("CHFLIEU_COMMUNE_ASSOCIEE_OU_DELEGUEE.shp", package = "collectr"),2154)
+gare <- import_shapefile(system.file("GARE.shp", package = "collectr"),2154)
 }
 }
diff --git a/man/import_xlsx.Rd b/man/import_xlsx.Rd
index 81bdde3..fb1ea3e 100644
--- a/man/import_xlsx.Rd
+++ b/man/import_xlsx.Rd
@@ -22,9 +22,8 @@ dataframe en supprimant les caractères spéciaux des noms de colonnes.
 }
 \examples{
 # Utilisation de la fonction import_xlsx()
-data_ars_2022 <- import_xlsx(
-  filepath = "C:\\\\TEMP\\\\Nitrates_2022.xlsx",
-  sheet = 1,
-  row = 1)
+plans_eau_usage <- import_xlsx(system.file("plans_eau_usage.xlsx",
+                                          package = "collectr"),
+                              sheet = 1, row = 0)
 
 }
-- 
GitLab


From ff07b2797b4d7f55f3eda3b5cdb88ce16d583d6b Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 09:25:10 +0100
Subject: [PATCH 13/36] Modification du fichier d'exemple + ajout de
 format_colnames()

---
 R/import_xlsx.R | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/R/import_xlsx.R b/R/import_xlsx.R
index 35d983a..fe58a00 100644
--- a/R/import_xlsx.R
+++ b/R/import_xlsx.R
@@ -1,7 +1,7 @@
 
 #' Importe un fichier XLSX dans un dataframe
 #'
-#' @description Cette fonction importe un fichier au format XLSX dans un 
+#' @description Cette fonction importe un fichier au format XLSX dans un
 #' dataframe en supprimant les caractères spéciaux des noms de colonnes.
 #'
 #' @return Un dataframe correspondant au contenu du fichier.
@@ -9,14 +9,13 @@
 #' @param sheet Numéro de l'onglet à importer.
 #' @param row Numéro de la ligne de début de lecture.
 #' @importFrom readxl read_xlsx
-#' 
+#'
 #' @export
 #' @examples
 #' # Utilisation de la fonction import_xlsx()
-#' data_ars_2022 <- import_xlsx(
-#'   filepath = "C:\\TEMP\\Nitrates_2022.xlsx",
-#'   sheet = 1,
-#'   row = 1)
+#' plans_eau_usage <- import_xlsx(system.file("plans_eau_usage.xlsx",
+#'                                           package = "collectr"),
+#'                               sheet = 1, row = 0)
 #'
 import_xlsx <- function(filepath, sheet, row) {
 
@@ -30,8 +29,8 @@ import_xlsx <- function(filepath, sheet, row) {
     # Déclarer la première ligne comme nom de variable
     col_names = TRUE
   )
-  
-  colnames(data) <- collectr::remove_special_chars(colnames(data))
+
+  colnames(data) <- collectr::format_colnames(colnames(data))
 
   return(data)
 }
-- 
GitLab


From 3109eda5ce690e0d4f2b37bbbe907d62fb6b26af Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 09:25:51 +0100
Subject: [PATCH 14/36] Ajout du fichier pour exemple et test

---
 inst/plans_eau_usage.xlsx | Bin 0 -> 5717 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 inst/plans_eau_usage.xlsx

diff --git a/inst/plans_eau_usage.xlsx b/inst/plans_eau_usage.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..04a25cb32378b7263e566b28d00dfe6f9fbd784c
GIT binary patch
literal 5717
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

literal 0
HcmV?d00001

-- 
GitLab


From 05971c3046cb1bc27b0c137b4ec79962a29f8b5f Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 09:26:03 +0100
Subject: [PATCH 15/36] =?UTF-8?q?Cr=C3=A9ation=20des=20tests?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 tests/testthat/test-import_xlsx.R | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 tests/testthat/test-import_xlsx.R

diff --git a/tests/testthat/test-import_xlsx.R b/tests/testthat/test-import_xlsx.R
new file mode 100644
index 0000000..5cbedb0
--- /dev/null
+++ b/tests/testthat/test-import_xlsx.R
@@ -0,0 +1,18 @@
+test_that("import_xlsx works", {
+
+  result <- import_xlsx(system.file("plans_eau_usage.xlsx",
+                                          package = "collectr"),
+                              sheet = 1, row = 0)
+
+  # Vérifier que la sortie est un dataframe
+  expect_s3_class(result, "data.frame")
+
+  # Vérifier le nombre de lignes
+  expect_equal(nrow(result), 13)
+
+  # Vérifier le nombre de colonnes
+  expect_equal(ncol(result), 3)
+
+  # Vérifier qu'il n'y a plus de caractères spéciaux
+  expect_true(!any(grepl("[^A-Za-z0-9_]", colnames(result))))
+})
-- 
GitLab


From 69089808e1cea7ce86d01e34f90f3b4e1fef30cb Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 09:26:27 +0100
Subject: [PATCH 16/36] Modification d'exemples + harmonisation de la doc

---
 vignettes/import-data.Rmd | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/vignettes/import-data.Rmd b/vignettes/import-data.Rmd
index f7d161b..1353589 100644
--- a/vignettes/import-data.Rmd
+++ b/vignettes/import-data.Rmd
@@ -32,7 +32,7 @@ url_wfs <- paste0(
   "SERVICE=WFS&",
   "VERSION=2.0.0&",
   "REQUEST=GetFeature&",
-  "typename=BassinDCE&",
+  "typename=ObstEcoul_GUF&",
   "SRSNAME=EPSG:4326&",
   "OUTPUTFORMAT=SHAPEZIP"
 )
@@ -46,7 +46,7 @@ shapefile_path <- download_and_extract_wfs(url_wfs, "shp")
 
 ```{r examples-import_geopackage, eval=FALSE}
 #' \dontrun{
-# Utilisation de la fonction import_geopackage()
+# Importer le fichier GeoPackage dans un dataframe
 aerodrome <- import_geopackage(system.file("aerodrome.gpkg", package = "collectr"))
 #' }
 ```
@@ -55,7 +55,7 @@ aerodrome <- import_geopackage(system.file("aerodrome.gpkg", package = "collectr
 
 ```{r examples-import_shp, eval=FALSE}
 #' \dontrun{
-# Importer le fichier shapefile dans un dataframe
+# Importer le fichier Shapefile dans un dataframe
 gare <- import_shapefile(system.file("GARE.shp", package = "collectr"),2154)
 #' }
 ```
@@ -65,12 +65,12 @@ gare <- import_shapefile(system.file("GARE.shp", package = "collectr"),2154)
 ## Import de données au format XLSX
 
 ```{r examples-import_xlsx, eval=FALSE}
-# Utilisation de la fonction import_xlsx()
-data_ars_2022 <- import_xlsx(
-  filepath = "C:\\TEMP\\Nitrates_2022.xlsx",
-  sheet = 1,
-  row = 1)
-
+#' \dontrun{
+# Importer le fichier XLSX dans un dataframe
+plans_eau_usage <- import_xlsx(system.file("plans_eau_usage.xlsx", 
+                                           package = "collectr"), 
+                               sheet = 1, row = 0)
+#' }
 ```
 
 ## Import de données au format XLS
-- 
GitLab


From 1d80c4b6ddbeca93665418d4a175972e0267990f Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 10:16:42 +0100
Subject: [PATCH 17/36] Commentaires

---
 R/table_exists.R | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/R/table_exists.R b/R/table_exists.R
index 9d6126e..add84c2 100644
--- a/R/table_exists.R
+++ b/R/table_exists.R
@@ -35,11 +35,15 @@ table_exists <- function(host, database, schema, table, role) {
     stop("La connexion fournie n\'est pas une connexion PostgreSQL valide.")
   }
 
+  # Lister les tables du schéma spécifié
   tables <- datalibaba::list_tables(connexion, schema = schema, db = database)
+
+  # Vérifier la présence de la table spécifiée parmi celles du schéma
   table_exists <- table %in% tables
 
   # Fermer la connexion à la base de données
   DBI::dbDisconnect(connexion)
 
+  # Retourner TRUE si la table existe
   return(table_exists)
 }
-- 
GitLab


From 67eb5aadd7edcb8bc30af7f26aceabb1ee353d07 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 10:17:02 +0100
Subject: [PATCH 18/36] =?UTF-8?q?Ajout=20de=20la=20fermeture=20de=20la=20c?=
 =?UTF-8?q?onnexion=20=C3=A0=20la=20base=20de=20donn=C3=A9es?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 R/archive_table.R         | 3 +++
 R/check_structure_table.R | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/R/archive_table.R b/R/archive_table.R
index d94b3f8..36ad48a 100644
--- a/R/archive_table.R
+++ b/R/archive_table.R
@@ -82,6 +82,9 @@ archive_table <- function(host, database, schema, new_schema = NULL, table, role
                                         db_dest = database,
                                         user = role)
 
+  # Fermer la connexion à la base de données
+  DBI::dbDisconnect(connexion)
+
   # Retourner le nom de la nouvelle table archivée
   return(new_table)
 }
diff --git a/R/check_structure_table.R b/R/check_structure_table.R
index 7aeae79..1889e17 100644
--- a/R/check_structure_table.R
+++ b/R/check_structure_table.R
@@ -72,5 +72,9 @@ check_structure_table <- function(host, database, schema, table, dataframe, role
     return(FALSE)
   }
 
+  # Fermer la connexion à la base de données
+  DBI::dbDisconnect(connexion)
+
+  # Retourner TRUE si les attributs correspondent
   return(TRUE)
 }
-- 
GitLab


From 87180bbf353e32609490bede3e015190039789ef Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 14:31:40 +0100
Subject: [PATCH 19/36] =?UTF-8?q?Ajout=20d'un=20param=C3=A8tre=20pk=20pour?=
 =?UTF-8?q?=20les=20tests?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 R/create_dummy.R | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/R/create_dummy.R b/R/create_dummy.R
index b336040..faa2ec5 100644
--- a/R/create_dummy.R
+++ b/R/create_dummy.R
@@ -8,6 +8,7 @@
 #' @param database Nom de la base de données PostgreSQL.
 #' @param schema Nom du schéma dans lequel créer la table.
 #' @param table Nom de la table à créer.
+#' @param pk Clé primaire de la table à créer. NULL par défaut.
 #' @param role Nom du rôle (utilisateur) pour se connecter à la base de données.
 #'
 #' @return Un message indiquant si la table a été créée avec succès.
@@ -27,7 +28,7 @@
 #'              table = "dummy",
 #'              role = "runner")
 #' }
-create_dummy <- function(host, database, schema, table, role) {
+create_dummy <- function(host, database, schema, table, pk = NULL, role) {
   # Se connecter à la base de données PostgreSQL
   connexion <- datalibaba::connect_to_db(server = host,
                                          db = database,
@@ -52,6 +53,7 @@ create_dummy <- function(host, database, schema, table, role) {
                           table = table,
                           schema = schema,
                           db = database,
+                          pk = pk,
                           overwrite = TRUE,
                           user = role,
                           server = host)
-- 
GitLab


From 4d1d3399fd57de05616c64f82a8dbe7ecc37567a Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 14:31:53 +0100
Subject: [PATCH 20/36] Ajout de check_structure_table()

---
 dev/0-dev_history.Rmd | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/dev/0-dev_history.Rmd b/dev/0-dev_history.Rmd
index 7937e26..e545891 100644
--- a/dev/0-dev_history.Rmd
+++ b/dev/0-dev_history.Rmd
@@ -75,6 +75,7 @@ gitlabr::use_gitlab_ci(type = "check-coverage-pkgdown")
 ## Fonctions
 ```{r, eval=FALSE}
 usethis::use_r("archive_table")
+usethis::use_r("check_structure_table")
 usethis::use_r("close_all_connections")
 usethis::use_r("create_dummy")
 usethis::use_r("create_schema")
@@ -96,6 +97,7 @@ usethis::use_r("table_exists")
 
 ```{r, eval=FALSE}
 usethis::use_test("archive_table")
+usethis::use_test("check_structure_table")
 usethis::use_test("close_all_connections")
 usethis::use_test("create_dummy")
 usethis::use_test("create_schema")
-- 
GitLab


From 0c0e6965fd4d5810bb03a1b58d5455f759ccd368 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 14:32:04 +0100
Subject: [PATCH 21/36] =?UTF-8?q?Cr=C3=A9ation=20des=20tests?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 tests/testthat/test-check_structure_table.R | 64 +++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 tests/testthat/test-check_structure_table.R

diff --git a/tests/testthat/test-check_structure_table.R b/tests/testthat/test-check_structure_table.R
new file mode 100644
index 0000000..234f1f7
--- /dev/null
+++ b/tests/testthat/test-check_structure_table.R
@@ -0,0 +1,64 @@
+test_that("check_structure_table works", {
+
+  Sys.setenv(user_runner="runner")
+  Sys.setenv(pwd_runner=Sys.getenv("BDD_RUNNER_PWD"))
+
+  # Création d'un dataframe de test
+  test <- data.frame(
+    id = 1:5,
+    name = c("Alice", "Bob", "Charlie", "David", "Eve"),
+    birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
+    value = rnorm(5)
+  )
+
+  # Création d'une table de test en base avec id en clé primaire
+  create_dummy(host = "localhost",
+               database = "collectr",
+               schema = "public",
+               table = "dummy",
+               pk = "id",
+               role = "runner")
+
+  expect_true(check_structure_table(
+    "localhost", "collectr", "public", "dummy", test, "runner"))
+
+  # Création d'une table de test en base sans clé primaire indiquée
+  create_dummy(host = "localhost",
+               database = "collectr",
+               schema = "public",
+               table = "dummy",
+               role = "runner")
+
+  expect_false(check_structure_table(
+    "localhost", "collectr", "public", "dummy", test, "runner"))
+
+  # Création d'un dataframe avec une colonne en trop
+  test_extra_col <- data.frame(
+    id = integer(),
+    name = character(),
+    birthdate = as.Date(character()),
+    value = numeric(),
+    extra_col = character()
+  )
+
+  expect_false(check_structure_table(
+    "localhost", "collectr", "public", "dummy", test_extra_col, "runner"))
+
+})
+
+test_that("check_structure_table fails", {
+
+  Sys.setenv(user_runner="runner")
+  Sys.setenv(pwd_runner=Sys.getenv("BDD_RUNNER_PWD"))
+
+  skip_on_ci()
+  # Vérification qu'une erreur est retournée en cas d'absence de la table à archiver
+  expect_error(
+    check_structure_table(
+      host = "localhost", database = "collectr", schema = "public",
+      table = "ghost", role = "runner"),
+    regexp = "La table sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es."
+  )
+
+})
+
-- 
GitLab


From 16995f15462cdfa69e6733f1af25b732fcb33d6b Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 14:32:26 +0100
Subject: [PATCH 22/36] =?UTF-8?q?Modification=20de=20l'exemple=20+=20ajout?=
 =?UTF-8?q?=20du=20param=C3=A8tre=20host?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 R/check_structure_table.R | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/R/check_structure_table.R b/R/check_structure_table.R
index 1889e17..95e56f2 100644
--- a/R/check_structure_table.R
+++ b/R/check_structure_table.R
@@ -22,17 +22,26 @@
 #' @export
 #' @examples
 #' \dontrun{
-#' # Création d'un dataframe à partir d'un fichier XLSX
-#' data_ars_2022 <- import_xlsx(
-#'   filepath = system.file("Nitrates_2022.xlsx", package = "collectr"),
-#'   sheet = 1,
-#'   row = 2)
+#' # Création d'un dataframe de test
+#' test <- data.frame(
+#'    id = 1:5,
+#'    name = c("Alice", "Bob", "Charlie", "David", "Eve"),
+#'    birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
+#'    value = rnorm(5)
+#' )
+#' # Création d'une table de test en base
+#' create_dummy(host = "localhost",
+#'              database = "collectr",
+#'              schema = "public",
+#'              table = "dummy",
+#'              role = "runner")
 #' # Utilisation de la fonction check_structure_table()
-#' check_structure_table(database = "si_eau",
-#'                       schema = "nitrates",
-#'                       table = "nitrate_data_analyse_ars_test",
-#'                       dataframe = data_ars_2022,
-#'                       role = "admin")
+#' check_structure_table(host = "localhost",
+#'                       database = "collectr",
+#'                       schema = "public",
+#'                       table = "dummy",
+#'                       dataframe = test,
+#'                       role = "runner")
 #' }
 check_structure_table <- function(host, database, schema, table, dataframe, role) {
   # Se connecter à la base de données PostgreSQL
@@ -42,7 +51,8 @@ check_structure_table <- function(host, database, schema, table, dataframe, role
                                          ecoSQL = FALSE)
 
   # Vérifier si la table existe dans la base de données
-  if (!table_exists(database = database, schema = schema, table = table, role = role)) {
+  if (!table_exists(host = host, database = database, schema = schema,
+                    table = table, role = role)) {
     stop("La table sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es.")
   }
 
-- 
GitLab


From 6dbf64561cba26a7fcd966b3e9a674ea0ec44224 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 14:33:00 +0100
Subject: [PATCH 23/36] =?UTF-8?q?Modification=20de=20l'exemple=20+=20ajout?=
 =?UTF-8?q?=20du=20param=C3=A8tre=20host=20pour=20check=5Fstructure=5Ftabl?=
 =?UTF-8?q?e()?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 vignettes/database-utils.Rmd | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/vignettes/database-utils.Rmd b/vignettes/database-utils.Rmd
index 215c68e..7f177bf 100644
--- a/vignettes/database-utils.Rmd
+++ b/vignettes/database-utils.Rmd
@@ -92,17 +92,26 @@ table_exists(host = "localhost",
 
 ```{r examples-check_structure_table, eval=FALSE}
 #' \dontrun{
-# Création d'un dataframe à partir d'un fichier XLSX
-data_ars_2022 <- import_xlsx(
-  filepath = "C:\\TEMP\\Nitrates_2022.xlsx",
-  sheet = 1,
-  row = 2)
+# Création d'un dataframe de test
+test <- data.frame(
+  id = 1:5,
+  name = c("Alice", "Bob", "Charlie", "David", "Eve"),
+  birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
+  value = rnorm(5)
+)
+# Création d'une table de test en base
+create_dummy(host = "localhost",
+             database = "collectr",
+             schema = "public",
+             table = "dummy",
+             role = "runner")
 # Utilisation de la fonction check_structure_table()
-check_structure_table(database = "si_eau", 
-                      schema = "nitrates", 
-                      table = "nitrate_data_analyse_ars_test", 
-                      dataframe = data_ars_2022,
-                      role = "admin")
+check_structure_table(host = "localhost",
+                      database = "collectr",
+                      schema = "public",
+                      table = "dummy",
+                      dataframe = test,
+                      role = "runner")
 #' }
 ```
 
-- 
GitLab


From f85a97967d7df31b649ad2ff84e4438e55e9bada Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 14:40:18 +0100
Subject: [PATCH 24/36] =?UTF-8?q?Modification=20de=20l'exemple=20+=20ajout?=
 =?UTF-8?q?=20du=20param=C3=A8tre=20host?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 man/check_structure_table.Rd | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/man/check_structure_table.Rd b/man/check_structure_table.Rd
index 045b68f..3083713 100644
--- a/man/check_structure_table.Rd
+++ b/man/check_structure_table.Rd
@@ -30,16 +30,25 @@ dataframe source et celle d'une table cible dans la base de données
 }
 \examples{
 \dontrun{
-# Création d'un dataframe à partir d'un fichier XLSX
-data_ars_2022 <- import_xlsx(
-  filepath = system.file("Nitrates_2022.xlsx", package = "collectr"),
-  sheet = 1,
-  row = 2)
+# Création d'un dataframe de test
+test <- data.frame(
+   id = 1:5,
+   name = c("Alice", "Bob", "Charlie", "David", "Eve"),
+   birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
+   value = rnorm(5)
+)
+# Création d'une table de test en base
+create_dummy(host = "localhost",
+             database = "collectr",
+             schema = "public",
+             table = "dummy",
+             role = "runner")
 # Utilisation de la fonction check_structure_table()
-check_structure_table(database = "si_eau",
-                      schema = "nitrates",
-                      table = "nitrate_data_analyse_ars_test",
-                      dataframe = data_ars_2022,
-                      role = "admin")
+check_structure_table(host = "localhost",
+                      database = "collectr",
+                      schema = "public",
+                      table = "dummy",
+                      dataframe = test,
+                      role = "runner")
 }
 }
-- 
GitLab


From f9fa860eea31c98ccfe14e6604a7bb4474af3686 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 14:40:35 +0100
Subject: [PATCH 25/36] =?UTF-8?q?Ajout=20du=20param=C3=A8tre=20pk?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 man/create_dummy.Rd | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/man/create_dummy.Rd b/man/create_dummy.Rd
index cc69028..20c3bcd 100644
--- a/man/create_dummy.Rd
+++ b/man/create_dummy.Rd
@@ -4,7 +4,7 @@
 \alias{create_dummy}
 \title{Crée une table de test dans une base de données PostgreSQL}
 \usage{
-create_dummy(host, database, schema, table, role)
+create_dummy(host, database, schema, table, pk = NULL, role)
 }
 \arguments{
 \item{host}{Hôte de la base de données PostgreSQL.}
@@ -15,6 +15,8 @@ create_dummy(host, database, schema, table, role)
 
 \item{table}{Nom de la table à créer.}
 
+\item{pk}{Clé primaire de la table à créer. NULL par défaut.}
+
 \item{role}{Nom du rôle (utilisateur) pour se connecter à la base de données.}
 }
 \value{
-- 
GitLab


From f668a4fb6be0a810fd87156c7e16b5f20a4f26ae Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 17:48:12 +0100
Subject: [PATCH 26/36] =?UTF-8?q?Cr=C3=A9ation=20des=20tests=20pour=20impo?=
 =?UTF-8?q?rt=5Fand=5Fmerge=5Ftables()?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 dev/0-dev_history.Rmd                         |  2 +
 tests/testthat/test-import_and_merge_tables.R | 86 +++++++++++++++++++
 2 files changed, 88 insertions(+)
 create mode 100644 tests/testthat/test-import_and_merge_tables.R

diff --git a/dev/0-dev_history.Rmd b/dev/0-dev_history.Rmd
index e545891..9309763 100644
--- a/dev/0-dev_history.Rmd
+++ b/dev/0-dev_history.Rmd
@@ -83,6 +83,7 @@ usethis::use_r("download_and_extract_wfs")
 usethis::use_r("format_colnames")
 usethis::use_r("format_filepath")
 usethis::use_r("get_variable_completion_rate")
+usethis::use_r("import_and_merge_tables")
 usethis::use_r("import_geopackage")
 usethis::use_r("import_shapefile")
 usethis::use_r("import_xlsx")
@@ -105,6 +106,7 @@ usethis::use_test("download_and_extract_wfs")
 usethis::use_test("format_colnames")
 usethis::use_test("format_filepath")
 usethis::use_test("get_variable_completion_rate")
+usethis::use_test("import_and_merge_tables")
 usethis::use_test("import_geopackage")
 usethis::use_test("import_shapefile")
 usethis::use_test("import_xlsx")
diff --git a/tests/testthat/test-import_and_merge_tables.R b/tests/testthat/test-import_and_merge_tables.R
new file mode 100644
index 0000000..abf663e
--- /dev/null
+++ b/tests/testthat/test-import_and_merge_tables.R
@@ -0,0 +1,86 @@
+test_that("import_and_merge_tables works", {
+
+  Sys.setenv(user_runner="runner")
+  Sys.setenv(pwd_runner=Sys.getenv("BDD_RUNNER_PWD"))
+
+  # Créer une table source dans le schéma public de la base collectr
+  create_dummy(host = "localhost",
+               database = "collectr",
+               schema = "public",
+               table = "source",
+               pk = "id",
+               role = "runner")
+  # Créer une table target dans le schéma public de la base collectr
+  create_dummy(host = "localhost",
+               database = "collectr",
+               schema = "public",
+               table = "target",
+               pk = "id",
+               id_range = "6:10",
+               role = "runner")
+
+  expect_true(import_and_merge_tables(
+    host = "localhost",
+    database = "collectr",
+    source_table = "source",
+    source_schema = "public",
+    target_table = "target",
+    target_schema = "public",
+    role = "runner"
+  ))
+})
+
+test_that("import_and_merge_tables fails", {
+
+  Sys.setenv(user_runner="runner")
+  Sys.setenv(pwd_runner=Sys.getenv("BDD_RUNNER_PWD"))
+
+  # Créer une table source dans le schéma public de la base collectr
+  create_dummy(host = "localhost",
+               database = "collectr",
+               schema = "public",
+               table = "source",
+               pk = "id",
+               role = "runner")
+  # Créer une table target dans le schéma public de la base collectr
+  create_dummy(host = "localhost",
+               database = "collectr",
+               schema = "public",
+               table = "target",
+               pk = "id",
+               id_range = "6:10",
+               role = "runner")
+
+  expect_error(import_and_merge_tables(
+    host = "localhost",
+    database = "collectr",
+    source_table = "ghost",
+    source_schema = "public",
+    target_table = "target",
+    target_schema = "public",
+    role = "runner"
+  ), "La table source sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es.")
+
+  expect_error(import_and_merge_tables(
+    host = "localhost",
+    database = "collectr",
+    source_table = "source",
+    source_schema = "public",
+    target_table = "ghost",
+    target_schema = "public",
+    role = "runner"
+  ), "La table cible sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es.")
+
+  skip_on_ci()
+  mockery::stub(import_and_merge_tables, "datalibaba::connect_to_db", function(...) "InvalidConnection")
+
+  expect_error(import_and_merge_tables(
+    host = "localhost",
+    database = "collectr",
+    source_table = "source",
+    source_schema = "public",
+    target_table = "target",
+    target_schema = "public",
+    role = "runner"
+  ), "La connexion fournie n\'est pas une connexion PostgreSQL valide.")
+})
-- 
GitLab


From 87923e2f962f909d5e88e814075ee53a61630bbd Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 17:49:01 +0100
Subject: [PATCH 27/36] =?UTF-8?q?Ajout=20du=20param=C3=A8tre=20host=20et?=
 =?UTF-8?q?=20modification=20de=20l'exemple=20pour=20import=5Fand=5Fmerge?=
 =?UTF-8?q?=5Ftables()?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 R/import_and_merge_tables.R    | 71 ++++++++++++++++++++++------------
 man/import_and_merge_tables.Rd | 31 ++++++++++++---
 vignettes/write-data.Rmd       | 28 +++++++++++---
 3 files changed, 93 insertions(+), 37 deletions(-)

diff --git a/R/import_and_merge_tables.R b/R/import_and_merge_tables.R
index 93d4d1c..ac35de3 100644
--- a/R/import_and_merge_tables.R
+++ b/R/import_and_merge_tables.R
@@ -1,19 +1,20 @@
 
 #' Importe et fusionne les données de tables PostgreSQL
 #'
-#' @description Cette fonction permet d'importer les données d'une table 
-#' PostgreSQL dans une autre table en supprimant les champs absents dans l'une 
+#' @description Cette fonction permet d'importer les données d'une table
+#' PostgreSQL dans une autre table en supprimant les champs absents dans l'une
 #' ou l'autre des tables.
 #'
+#' @param host Hôte de la base de données PostgreSQL.
 #' @param database Nom de la base de données.
-#' @param source_table Le nom de la table source à partir de laquelle importer 
+#' @param source_table Le nom de la table source à partir de laquelle importer
 #' les données.
 #' @param source_schema Le schéma de la table source.
 #' @param target_table Le nom de la table cible où les données seront fusionnées.
 #' @param target_schema Le schéma de la table cible.
 #' @param role Le rôle du propriétaire de la table.
 #'
-#' @return TRUE si l'importation et la fusion des données se sont déroulées 
+#' @return TRUE si l'importation et la fusion des données se sont déroulées
 #' avec succès.
 #'
 #' @importFrom datalibaba connect_to_db
@@ -22,59 +23,79 @@
 #' @export
 #' @examples
 #' \dontrun{
+#' # Créer une table dummy dans le schéma collectr de la base production
+#' create_dummy(host = "localhost",
+#'              database = "collectr",
+#'              schema = "public",
+#'              table = "source",
+#'              pk = "id",
+#'              role = "runner")
+#' # Créer une table dummy dans le schéma collectr de la base production
+#' create_dummy(host = "localhost",
+#'              database = "collectr",
+#'              schema = "public",
+#'              table = "target",
+#'              pk = "id",
+#'              id_range = "6:10",
+#'              role = "runner")
 #' # Utilisation de la fonction import_and_merge_tables()
-#' import_and_merge_tables(database = "si_eau",
-#'                         source_table = "nitrate_data_analyse_ars_2023",
-#'                         source_schema = "nitrates",
-#'                         target_table = "nitrate_data_analyse_ars_test",
-#'                         target_schema = "nitrates",
-#'                         role = "admin")
+#' import_and_merge_tables(host = "localhost",
+#'                         database = "collectr",
+#'                         source_table = "source",
+#'                         source_schema = "public",
+#'                         target_table = "target",
+#'                         target_schema = "public",
+#'                         role = "runner")
 #' }
-import_and_merge_tables <- function(database, source_table, source_schema, 
+import_and_merge_tables <- function(host, database, source_table, source_schema,
                                     target_table, target_schema, role) {
   # Se connecter à la base de données PostgreSQL
-  connexion <- datalibaba::connect_to_db(db = database, 
-                                         user = role, 
+  connexion <- datalibaba::connect_to_db(db = database,
+                                         user = role,
+                                         server = host,
                                          ecoSQL = FALSE)
-  
+
   # Vérifier si la connexion est une connexion PostgreSQL valide
   if (!inherits(connexion, "PostgreSQLConnection")) {
     stop("La connexion fournie n\'est pas une connexion PostgreSQL valide.")
   }
   # Vérifier si les tables source et cible existent dans les schémas respectifs
-  if (!table_exists(database = database, schema = source_schema, table = source_table, role = role)) {
+  if (!table_exists(host = host, database = database, schema = source_schema,
+                    table = source_table, role = role)) {
     stop("La table source sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es.")
   }
-  if (!table_exists(database = database, schema = target_schema, table =  target_table, role = role)) {
+  if (!table_exists(host = host, database = database, schema = target_schema,
+                    table =  target_table, role = role)) {
     stop("La table cible sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es.")
   }
 
   # Obtenir la liste des colonnes communes entre la table source et la table cible
   existing_source_result <- DBI::dbGetQuery(
-    connexion, 
-    paste0("SELECT column_name FROM information_schema.columns 
-           WHERE table_schema = '", source_schema,"' 
+    connexion,
+    paste0("SELECT column_name FROM information_schema.columns
+           WHERE table_schema = '", source_schema,"'
            AND table_name = '", source_table, "';"))
   existing_target_result <- DBI::dbGetQuery(
-    connexion, 
-    paste0("SELECT column_name FROM information_schema.columns 
-           WHERE table_schema = '", target_schema,"' 
+    connexion,
+    paste0("SELECT column_name FROM information_schema.columns
+           WHERE table_schema = '", target_schema,"'
            AND table_name = '", target_table, "';"))
   source_columns <- existing_source_result$column_name
   target_columns <- existing_target_result$column_name
   common_columns <- intersect(source_columns, target_columns)
-  
+
   # Générer la requête d'insertion en sélectionnant uniquement les colonnes communes
   insert_query <- paste0("INSERT INTO ", target_schema, ".", target_table, " (",
                         paste(common_columns, collapse = ", "), ")",
                         " SELECT ", paste(common_columns, collapse = ", "),
                         " FROM ", source_schema, ".", source_table)
-  
+
   # Insérer les données dans la table cible
   DBI::dbExecute(connexion, insert_query)
 
   # Fermer la connexion à la base de données
   DBI::dbDisconnect(connexion)
-  
+
+  # Retourner TRUE en cas de succès
   return(TRUE)
 }
diff --git a/man/import_and_merge_tables.Rd b/man/import_and_merge_tables.Rd
index 1c32409..274bad8 100644
--- a/man/import_and_merge_tables.Rd
+++ b/man/import_and_merge_tables.Rd
@@ -5,6 +5,7 @@
 \title{Importe et fusionne les données de tables PostgreSQL}
 \usage{
 import_and_merge_tables(
+  host,
   database,
   source_table,
   source_schema,
@@ -14,6 +15,8 @@ import_and_merge_tables(
 )
 }
 \arguments{
+\item{host}{Hôte de la base de données PostgreSQL.}
+
 \item{database}{Nom de la base de données.}
 
 \item{source_table}{Le nom de la table source à partir de laquelle importer
@@ -38,12 +41,28 @@ ou l'autre des tables.
 }
 \examples{
 \dontrun{
+# Créer une table dummy dans le schéma collectr de la base production
+create_dummy(host = "localhost",
+             database = "collectr",
+             schema = "public",
+             table = "source",
+             pk = "id",
+             role = "runner")
+# Créer une table dummy dans le schéma collectr de la base production
+create_dummy(host = "localhost",
+             database = "collectr",
+             schema = "public",
+             table = "target",
+             pk = "id",
+             id_range = "6:10",
+             role = "runner")
 # Utilisation de la fonction import_and_merge_tables()
-import_and_merge_tables(database = "si_eau",
-                        source_table = "nitrate_data_analyse_ars_2023",
-                        source_schema = "nitrates",
-                        target_table = "nitrate_data_analyse_ars_test",
-                        target_schema = "nitrates",
-                        role = "admin")
+import_and_merge_tables(host = "localhost",
+                        database = "collectr",
+                        source_table = "source",
+                        source_schema = "public",
+                        target_table = "target",
+                        target_schema = "public",
+                        role = "runner")
 }
 }
diff --git a/vignettes/write-data.Rmd b/vignettes/write-data.Rmd
index fc81166..3dc8cae 100644
--- a/vignettes/write-data.Rmd
+++ b/vignettes/write-data.Rmd
@@ -83,13 +83,29 @@ insert_into_table(database = "si_eau",
 
 ```{r examples-import_and_merge_tables, eval=FALSE}
 #' \dontrun{
+# Créer une table source dans le schéma public de la base collectr
+create_dummy(host = "localhost",
+             database = "collectr",
+             schema = "public",
+             table = "source",
+             pk = "id",
+             role = "runner")
+# Créer une table target dans le schéma public de la base collectr
+create_dummy(host = "localhost",
+             database = "collectr",
+             schema = "public",
+             table = "target",
+             pk = "id",
+             id_range = "6:10",
+             role = "runner")
 # Utilisation de la fonction import_and_merge_tables()
-import_and_merge_tables(database = "si_eau",
-                        source_table = "nitrate_data_analyse_ars_2023",
-                        source_schema = "nitrates",
-                        target_table = "nitrate_data_analyse_ars_test",
-                        target_schema = "nitrates",
-                        role = "admin")
+import_and_merge_tables(host = "localhost",
+                        database = "collectr",
+                        source_table = "source",
+                        source_schema = "public",
+                        target_table = "target",
+                        target_schema = "public",
+                        role = "runner")
 #' }
 ```
 
-- 
GitLab


From aa9b8c184012203e36eb17d2822ca10f74101225 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Wed, 12 Mar 2025 17:49:35 +0100
Subject: [PATCH 28/36] =?UTF-8?q?Ajout=20d'un=20param=C3=A8tre=20id=5Frang?=
 =?UTF-8?q?e=20et=20modification=20de=20l'exemple=20pour=20create=5Fdummy(?=
 =?UTF-8?q?)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 R/create_dummy.R             | 11 +++++++++--
 man/create_dummy.Rd          |  6 +++++-
 vignettes/database-utils.Rmd | 12 +++++++-----
 3 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/R/create_dummy.R b/R/create_dummy.R
index faa2ec5..1fe3b81 100644
--- a/R/create_dummy.R
+++ b/R/create_dummy.R
@@ -9,6 +9,7 @@
 #' @param schema Nom du schéma dans lequel créer la table.
 #' @param table Nom de la table à créer.
 #' @param pk Clé primaire de la table à créer. NULL par défaut.
+#' @param id_range Plage de 5 valeurs de l'identifiant id. 1:5 par défaut.
 #' @param role Nom du rôle (utilisateur) pour se connecter à la base de données.
 #'
 #' @return Un message indiquant si la table a été créée avec succès.
@@ -26,9 +27,12 @@
 #'              database = "collectr",
 #'              schema = "public",
 #'              table = "dummy",
+#'              pk = NULL,
+#'              id_range = "1:5"
 #'              role = "runner")
 #' }
-create_dummy <- function(host, database, schema, table, pk = NULL, role) {
+create_dummy <- function(host, database, schema, table, pk = NULL,
+                         id_range = "1:5", role) {
   # Se connecter à la base de données PostgreSQL
   connexion <- datalibaba::connect_to_db(server = host,
                                          db = database,
@@ -40,9 +44,12 @@ create_dummy <- function(host, database, schema, table, pk = NULL, role) {
     stop("La connexion fournie n\'est pas une connexion PostgreSQL valide.")
   }
 
+  # Générer dynamiquement la plage d'ID
+  id_values <- eval(parse(text = id_range))
+
   # Créer un dataframe fictif
   df <- data.frame(
-    id = 1:5,
+    id = id_values,
     name = c("Alice", "Bob", "Charlie", "David", "Eve"),
     birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
     value = rnorm(5)
diff --git a/man/create_dummy.Rd b/man/create_dummy.Rd
index 20c3bcd..0fb84ed 100644
--- a/man/create_dummy.Rd
+++ b/man/create_dummy.Rd
@@ -4,7 +4,7 @@
 \alias{create_dummy}
 \title{Crée une table de test dans une base de données PostgreSQL}
 \usage{
-create_dummy(host, database, schema, table, pk = NULL, role)
+create_dummy(host, database, schema, table, pk = NULL, id_range = "1:5", role)
 }
 \arguments{
 \item{host}{Hôte de la base de données PostgreSQL.}
@@ -17,6 +17,8 @@ create_dummy(host, database, schema, table, pk = NULL, role)
 
 \item{pk}{Clé primaire de la table à créer. NULL par défaut.}
 
+\item{id_range}{Plage de 5 valeurs de l'identifiant id. 1:5 par défaut.}
+
 \item{role}{Nom du rôle (utilisateur) pour se connecter à la base de données.}
 }
 \value{
@@ -33,6 +35,8 @@ create_dummy(host = "localhost",
              database = "collectr",
              schema = "public",
              table = "dummy",
+             pk = NULL,
+             id_range = "1:5"
              role = "runner")
 }
 }
diff --git a/vignettes/database-utils.Rmd b/vignettes/database-utils.Rmd
index 7f177bf..72bf055 100644
--- a/vignettes/database-utils.Rmd
+++ b/vignettes/database-utils.Rmd
@@ -41,11 +41,13 @@ create_schema(host = "localhost",
 ```{r examples-create_dummy, eval=FALSE}
 #' \dontrun{
 # Création d'une table dummy dans le schéma public de la base collectr
-collectr::create_dummy(host = "localhost",
-                       database = "collectr", 
-                       schema = "public", 
-                       table = "dummy", 
-                       role = "runner")
+create_dummy(host = "localhost",
+             database = "collectr", 
+             schema = "public", 
+             table = "dummy",
+             pk = "id",
+             id_range = "1:5",
+             role = "runner")
 #' }
 ```
 
-- 
GitLab


From 5631b0be5849d2fcf89ebb76198473e84336d4ee Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Thu, 13 Mar 2025 15:06:34 +0100
Subject: [PATCH 29/36] Typo

---
 R/create_dummy.R | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/R/create_dummy.R b/R/create_dummy.R
index 1fe3b81..2284c51 100644
--- a/R/create_dummy.R
+++ b/R/create_dummy.R
@@ -28,7 +28,7 @@
 #'              schema = "public",
 #'              table = "dummy",
 #'              pk = NULL,
-#'              id_range = "1:5"
+#'              id_range = "1:5",
 #'              role = "runner")
 #' }
 create_dummy <- function(host, database, schema, table, pk = NULL,
-- 
GitLab


From e7eb92e496ca44b856267b1b37b85b6db20bb387 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Thu, 13 Mar 2025 15:06:46 +0100
Subject: [PATCH 30/36] Doc

---
 R/import_and_merge_tables.R | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/R/import_and_merge_tables.R b/R/import_and_merge_tables.R
index ac35de3..f7133b7 100644
--- a/R/import_and_merge_tables.R
+++ b/R/import_and_merge_tables.R
@@ -23,14 +23,14 @@
 #' @export
 #' @examples
 #' \dontrun{
-#' # Créer une table dummy dans le schéma collectr de la base production
+#' # Créer une table source dans le schéma public de la base collectr
 #' create_dummy(host = "localhost",
 #'              database = "collectr",
 #'              schema = "public",
 #'              table = "source",
 #'              pk = "id",
 #'              role = "runner")
-#' # Créer une table dummy dans le schéma collectr de la base production
+#' # Créer une table target dans le schéma public de la base collectr
 #' create_dummy(host = "localhost",
 #'              database = "collectr",
 #'              schema = "public",
-- 
GitLab


From c30f15a14326321ea9cd87a54189276d8455d200 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Thu, 13 Mar 2025 15:07:32 +0100
Subject: [PATCH 31/36] =?UTF-8?q?Ajout=20du=20param=C3=A8tre=20host=20et?=
 =?UTF-8?q?=20modification=20de=20l'exemple?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 R/insert_into_table.R | 72 ++++++++++++++++++++++++-------------------
 1 file changed, 40 insertions(+), 32 deletions(-)

diff --git a/R/insert_into_table.R b/R/insert_into_table.R
index 9083407..1e3b040 100644
--- a/R/insert_into_table.R
+++ b/R/insert_into_table.R
@@ -1,19 +1,20 @@
 
 #' Insère un dataframe dans une table existante
 #'
-#' @description Fonction pour insérer les données d'un dataframe dans une table 
-#' existante d'une base de données PostgreSQL, en vérifiant la correspondance 
-#' de la structure entre le dataframe et la table. Si la correspondance est 
+#' @description Fonction pour insérer les données d'un dataframe dans une table
+#' existante d'une base de données PostgreSQL, en vérifiant la correspondance
+#' de la structure entre le dataframe et la table. Si la correspondance est
 #' vérifiée, les données sont insérées dans la table. Si la correspondance
 #' n'est pas vérifiée les différences de strcture entre le dataframe et la table
 #' sont listées.
 #'
+#' @param host Hôte de la base de données PostgreSQL.
 #' @param database Nom de la base de données.
 #' @param schema Le schéma de la table dans la base de données.
 #' @param table Le nom de la table existante dans la base de données.
 #' @param dataframe Le dataframe contenant les données à insérer.
 #' @param role Le rôle du propriétaire de la table.
-#' 
+#'
 #' @return Le nombre de lignes insérées dans la table en base.
 #'
 #' @importFrom datalibaba connect_to_db
@@ -23,54 +24,61 @@
 #' @export
 #' @examples
 #' \dontrun{
-#' # Création d'un dataframe à partir d'un fichier XLSX
-#' data_ars_2022 <- collectr::import_xlsx(
-#'   filepath = "C:\\TEMP\\Nitrates_2022.xlsx",
-#'   sheet = 1,
-#'   row = 1)
-#'
-#' # Ajout d'un champs de géométrie
-#' data_ars_2022 <- data_ars_2022 |>
-#'   dplyr::select(-coord_x,-coord_y) |>
-#'   dplyr::mutate(eligible_ades = rep(NA, dplyr::n()))
-#'
+#' # Créer une dataframe source
+#' source <- data.frame(
+#'   id = 6:10,
+#'   name = c("Alice", "Bob", "Charlie", "David", "Eve"),
+#'   birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
+#'   value = rnorm(5)
+#' )
+#' # Créer une table target dans le schéma public de la base collectr
+#' create_dummy(host = "localhost",
+#'              database = "collectr",
+#'              schema = "public",
+#'              table = "target",
+#'              pk = "id",
+#'              id_range = "1:5",
+#'              role = "runner")
 #' # Utilisation de la fonction insert_into_table()
-#' insert_into_table(database = "si_eau",
-#'                   schema = "nitrates",
-#'                   table = "nitrate_data_analyse_ars_test",
-#'                   dataframe = data_ars_2022,
-#'                   role = "admin")
+#' insert_into_table(host = "localhost",
+#'                   database = "collectr",
+#'                   schema = "public",
+#'                   table = "target",
+#'                   dataframe = source,
+#'                   role = "runner")
 #' }
-insert_into_table <- function(database, schema, table, dataframe, role) {
+insert_into_table <- function(host, database, schema, table, dataframe, role) {
   # Se connecter à la base de données PostgreSQL
-  connexion <- datalibaba::connect_to_db(db = database, 
-                                         user = role, 
+  connexion <- datalibaba::connect_to_db(server = host,
+                                         db = database,
+                                         user = role,
                                          ecoSQL = FALSE)
-  
+
   # Vérifier si la table existe dans la base de données
-  if (!table_exists(database = database, schema = schema, table = table, role = role)) {
+  if (!table_exists(host = host, database = database, schema = schema,
+                    table = table, role = role)) {
     stop("La table sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es.")
   }
 
-  # Vérifier si les attributs correspondent 
-  if (!check_structure_table(database = database, schema = schema, 
-                             table = table, dataframe = dataframe, 
+  # Vérifier si les attributs correspondent
+  if (!check_structure_table(host = host, database = database, schema = schema,
+                             table = table, dataframe = dataframe,
                              role = role)) {
     return(FALSE)
   }
 
   # Utiliser sqlAppendTable pour préparer la requête d'insertion
   insert_query <- DBI::sqlAppendTable(connexion,
-                                    DBI::Id(schema = schema, table = table),
-                                    dataframe,
-                                    row.names = FALSE)
+                                      DBI::Id(schema = schema, table = table),
+                                      dataframe,
+                                      row.names = FALSE)
 
   # Exécuter la requête d'insertion
   result <- DBI::dbExecute(connexion, insert_query)
 
   # Se déconnecter de la base de données
   DBI::dbDisconnect(connexion)
-  
+
   # Renvoyer le nombre de lignes insérées
   return(result)
 }
-- 
GitLab


From 9ba59a906d289cb2b81b291806a0b63c07662654 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Thu, 13 Mar 2025 15:07:54 +0100
Subject: [PATCH 32/36] =?UTF-8?q?Ajout=20du=20param=C3=A8tre=20host=20et?=
 =?UTF-8?q?=20modification=20de=20l'exemple=20pour=20insert=5Finto=5Ftable?=
 =?UTF-8?q?()?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 vignettes/write-data.Rmd | 39 ++++++++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 17 deletions(-)

diff --git a/vignettes/write-data.Rmd b/vignettes/write-data.Rmd
index 3dc8cae..bc38cf7 100644
--- a/vignettes/write-data.Rmd
+++ b/vignettes/write-data.Rmd
@@ -59,23 +59,28 @@ archive_table(host = "localhost",
 
 ```{r examples-insert_into_table, eval=FALSE}
 #' \dontrun{
-# Création d'un dataframe à partir d'un fichier XLSX
-data_ars_2022 <- collectr::import_xlsx(
-  filepath = "C:\\TEMP\\Nitrates_2022.xlsx",
-  sheet = 1,
-  row = 1)
-
-# Ajout d'un champs de géométrie
-data_ars_2022 <- data_ars_2022 |>
-  dplyr::select(-coord_x,-coord_y) |>
-  dplyr::mutate(eligible_ades = rep(NA, dplyr::n()))
-
-# Utilisation de la fonction insert_into_table()
-insert_into_table(database = "si_eau",
-                  schema = "nitrates",
-                  table = "nitrate_data_analyse_ars_test",
-                  dataframe = data_ars_2022,
-                  role = "admin")
+# Créer une dataframe source
+ source <- data.frame(
+   id = 6:10,
+   name = c("Alice", "Bob", "Charlie", "David", "Eve"),
+   birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
+   value = rnorm(5)
+ )
+ # Créer une table target dans le schéma public de la base collectr
+ create_dummy(host = "localhost",
+              database = "collectr",
+              schema = "public",
+              table = "target",
+              pk = "id",
+              id_range = "1:5",
+              role = "runner")
+ # Utilisation de la fonction insert_into_table()
+ insert_into_table(host = "localhost",
+                   database = "collectr",
+                   schema = "public",
+                   table = "target",
+                   dataframe = source,
+                   role = "runner")
 #' }
 ```
 
-- 
GitLab


From fb7cc1275d2726c9bb86da68a82afb8122fa65c7 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Thu, 13 Mar 2025 15:08:06 +0100
Subject: [PATCH 33/36] Doc

---
 man/import_and_merge_tables.Rd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/man/import_and_merge_tables.Rd b/man/import_and_merge_tables.Rd
index 274bad8..36abe6c 100644
--- a/man/import_and_merge_tables.Rd
+++ b/man/import_and_merge_tables.Rd
@@ -41,14 +41,14 @@ ou l'autre des tables.
 }
 \examples{
 \dontrun{
-# Créer une table dummy dans le schéma collectr de la base production
+# Créer une table source dans le schéma public de la base collectr
 create_dummy(host = "localhost",
              database = "collectr",
              schema = "public",
              table = "source",
              pk = "id",
              role = "runner")
-# Créer une table dummy dans le schéma collectr de la base production
+# Créer une table target dans le schéma public de la base collectr
 create_dummy(host = "localhost",
              database = "collectr",
              schema = "public",
-- 
GitLab


From 9f5733f915e16aaf65cde87b55f92509a30352da Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Thu, 13 Mar 2025 15:08:16 +0100
Subject: [PATCH 34/36] Typo

---
 man/create_dummy.Rd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/man/create_dummy.Rd b/man/create_dummy.Rd
index 0fb84ed..c9d0d8d 100644
--- a/man/create_dummy.Rd
+++ b/man/create_dummy.Rd
@@ -36,7 +36,7 @@ create_dummy(host = "localhost",
              schema = "public",
              table = "dummy",
              pk = NULL,
-             id_range = "1:5"
+             id_range = "1:5",
              role = "runner")
 }
 }
-- 
GitLab


From 056ac042c54be7e45e1d80003f51843e8d63dee7 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Thu, 13 Mar 2025 15:08:43 +0100
Subject: [PATCH 35/36] =?UTF-8?q?Ajout=20du=20param=C3=A8tre=20host=20et?=
 =?UTF-8?q?=20modification=20de=20l'exemple?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 man/insert_into_table.Rd | 41 +++++++++++++++++++++++-----------------
 1 file changed, 24 insertions(+), 17 deletions(-)

diff --git a/man/insert_into_table.Rd b/man/insert_into_table.Rd
index 1a1e7b1..9237157 100644
--- a/man/insert_into_table.Rd
+++ b/man/insert_into_table.Rd
@@ -4,9 +4,11 @@
 \alias{insert_into_table}
 \title{Insère un dataframe dans une table existante}
 \usage{
-insert_into_table(database, schema, table, dataframe, role)
+insert_into_table(host, database, schema, table, dataframe, role)
 }
 \arguments{
+\item{host}{Hôte de la base de données PostgreSQL.}
+
 \item{database}{Nom de la base de données.}
 
 \item{schema}{Le schéma de la table dans la base de données.}
@@ -30,22 +32,27 @@ sont listées.
 }
 \examples{
 \dontrun{
-# Création d'un dataframe à partir d'un fichier XLSX
-data_ars_2022 <- collectr::import_xlsx(
-  filepath = "C:\\\\TEMP\\\\Nitrates_2022.xlsx",
-  sheet = 1,
-  row = 1)
-
-# Ajout d'un champs de géométrie
-data_ars_2022 <- data_ars_2022 |>
-  dplyr::select(-coord_x,-coord_y) |>
-  dplyr::mutate(eligible_ades = rep(NA, dplyr::n()))
-
+# Créer une dataframe source
+source <- data.frame(
+  id = 6:10,
+  name = c("Alice", "Bob", "Charlie", "David", "Eve"),
+  birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
+  value = rnorm(5)
+)
+# Créer une table target dans le schéma public de la base collectr
+create_dummy(host = "localhost",
+             database = "collectr",
+             schema = "public",
+             table = "target",
+             pk = "id",
+             id_range = "1:5",
+             role = "runner")
 # Utilisation de la fonction insert_into_table()
-insert_into_table(database = "si_eau",
-                  schema = "nitrates",
-                  table = "nitrate_data_analyse_ars_test",
-                  dataframe = data_ars_2022,
-                  role = "admin")
+insert_into_table(host = "localhost",
+                  database = "collectr",
+                  schema = "public",
+                  table = "target",
+                  dataframe = source,
+                  role = "runner")
 }
 }
-- 
GitLab


From 729cee9e1e97d9feae14f4f30b367e49577a18dd Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Thu, 13 Mar 2025 15:09:02 +0100
Subject: [PATCH 36/36] =?UTF-8?q?Cr=C3=A9ation=20des=20tests=20pour=20inse?=
 =?UTF-8?q?rt=5Finto=5Ftable()?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 dev/0-dev_history.Rmd                   |  2 ++
 tests/testthat/test-insert_into_table.R | 47 +++++++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 tests/testthat/test-insert_into_table.R

diff --git a/dev/0-dev_history.Rmd b/dev/0-dev_history.Rmd
index 9309763..fdccdc3 100644
--- a/dev/0-dev_history.Rmd
+++ b/dev/0-dev_history.Rmd
@@ -87,6 +87,7 @@ usethis::use_r("import_and_merge_tables")
 usethis::use_r("import_geopackage")
 usethis::use_r("import_shapefile")
 usethis::use_r("import_xlsx")
+usethis::use_r("insert_into_table")
 usethis::use_r("modify_column_type")
 usethis::use_r("remove_special_chars")
 usethis::use_r("rename_field")
@@ -110,6 +111,7 @@ usethis::use_test("import_and_merge_tables")
 usethis::use_test("import_geopackage")
 usethis::use_test("import_shapefile")
 usethis::use_test("import_xlsx")
+usethis::use_test("insert_into_table")
 usethis::use_test("modify_column_type")
 usethis::use_test("remove_special_chars")
 usethis::use_test("rename_field")
diff --git a/tests/testthat/test-insert_into_table.R b/tests/testthat/test-insert_into_table.R
new file mode 100644
index 0000000..43f037c
--- /dev/null
+++ b/tests/testthat/test-insert_into_table.R
@@ -0,0 +1,47 @@
+test_that("insert_into_table works", {
+
+  Sys.setenv(user_runner="runner")
+  Sys.setenv(pwd_runner=Sys.getenv("BDD_RUNNER_PWD"))
+
+  # Création d'un dataframe fictif
+  source <- data.frame(
+    id = 6:10,
+    name = c("Alice", "Bob", "Charlie", "David", "Eve"),
+    birthdate = c("1990-01-15", "1985-06-22", "1992-09-10", "1988-03-05", "1995-12-30"),
+    value = rnorm(5)
+  )
+  # Créer une table target dans le schéma public de la base collectr
+  create_dummy(host = "localhost",
+               database = "collectr",
+               schema = "public",
+               table = "target",
+               pk = "id",
+               id_range = "1:5",
+               role = "runner")
+
+  expect_equal(object = insert_into_table(host = "localhost", database = "collectr",
+                                          schema = "public", table = "target",
+                                          dataframe = source, role = "runner"),
+               expected = 5)
+
+  expect_error(object = insert_into_table(host = "localhost", database = "collectr",
+                                          schema = "public", table = "ghost",
+                                          dataframe = source, role = "runner"),
+               regexp = "La table sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es.")
+
+  # Création d'un dataframe avec une structure différente de la table
+  df <- data.frame(id = 1:5, name = letters[1:5], value = rnorm(5))
+
+  # Créer une table target dans le schéma public de la base collectr
+  create_dummy(host = "localhost",
+               database = "collectr",
+               schema = "public",
+               table = "target",
+               pk = "id",
+               id_range = "1:5",
+               role = "runner")
+
+  expect_false(insert_into_table(host = "localhost", database = "collectr",
+                                 schema = "public", table = "target",
+                                 dataframe = df, role = "runner"))
+})
-- 
GitLab